[med-svn] [openmolar] 02/02: Imported Upstream version 0.5.0~10
Dmitry Smirnov
onlyjob at moszumanska.debian.org
Tue Mar 18 07:55:00 UTC 2014
This is an automated email from the git hooks/post-receive script.
onlyjob pushed a commit to branch upstream
in repository openmolar.
commit d034fbf (upstream)
Author: Dmitry Smirnov <onlyjob at member.fsf.org>
Date: Tue Mar 18 07:51:07 2014
Imported Upstream version 0.5.0~10
---
.gitignore | 7 +
COPYING | 191 +
INSTALL.txt | 52 +
MANIFEST.in | 9 +
README | 1 +
README.md | 6 +
TODO.txt | 125 +
bin/openmolar.desktop | 12 +
bin/openmolar.svg | 350 +
build_scripts/Makefile | 199 +
build_scripts/deb_maker.py | 158 +
.../debian_packaging/dh_python2/debian/changelog | 543 +
.../debian_packaging/dh_python2/debian/compat | 1 +
.../debian_packaging/dh_python2/debian/control | 18 +
.../debian_packaging/dh_python2/debian/copyright | 40 +
.../debian_packaging/dh_python2/debian/docs | 1 +
.../debian_packaging/dh_python2/debian/rules | 3 +
.../dh_python2/debian/source/format | 1 +
.../debian_packaging/py_central/debian/changelog | 555 +
.../debian_packaging/py_central/debian/compat | 1 +
.../debian_packaging/py_central/debian/control | 19 +
.../debian_packaging/py_central/debian/copyright | 40 +
.../debian_packaging/py_central/debian/docs | 1 +
.../debian_packaging/py_central/debian/files | 1 +
.../debian_packaging/py_central/debian/pycompat | 1 +
.../debian_packaging/py_central/debian/rules | 8 +
build_scripts/get_git_branch.py | 36 +
build_scripts/get_version.py | 13 +
build_scripts/version_name.py | 42 +
openmolar | 12 +
openmolar.spec | 41 +
setup.py | 98 +
src/openmolar/GPLv3.txt | 191 +
src/openmolar/__init__.py | 65 +
src/openmolar/backports/__init__.py | 1 +
src/openmolar/backports/ordered_dict.py | 93 +
src/openmolar/backports/printed_form.py | 163 +
src/openmolar/connect.py | 189 +
src/openmolar/createdemodatabase.py | 73 +
src/openmolar/dbtools/__init__.py | 0
src/openmolar/dbtools/accounts.py | 36 +
src/openmolar/dbtools/appointments.py | 1645 +
src/openmolar/dbtools/appt_prefs.py | 127 +
src/openmolar/dbtools/brief_patient.py | 98 +
src/openmolar/dbtools/calldurr.py | 33 +
src/openmolar/dbtools/cashbook.py | 233 +
src/openmolar/dbtools/courseHistory.py | 236 +
src/openmolar/dbtools/day_class.py | 22 +
src/openmolar/dbtools/daybook.py | 179 +
src/openmolar/dbtools/daybookHistory.py | 92 +
src/openmolar/dbtools/db_notes.py | 32 +
src/openmolar/dbtools/db_patients.py | 32 +
src/openmolar/dbtools/db_settings.py | 77 +
src/openmolar/dbtools/distinct_statuses.py | 36 +
src/openmolar/dbtools/docsimported.py | 95 +
src/openmolar/dbtools/docsprinted.py | 61 +
src/openmolar/dbtools/est_logger.py | 133 +
src/openmolar/dbtools/estimate_synopsis.py | 81 +
src/openmolar/dbtools/estimatesHistory.py | 98 +
src/openmolar/dbtools/extend_books.py | 48 +
src/openmolar/dbtools/feescales.py | 205 +
src/openmolar/dbtools/forum.py | 150 +
src/openmolar/dbtools/memos.py | 153 +
src/openmolar/dbtools/nhs_claims.py | 70 +
src/openmolar/dbtools/patient_class.py | 930 +
src/openmolar/dbtools/patient_write_changes.py | 369 +
src/openmolar/dbtools/paymentHistory.py | 169 +
src/openmolar/dbtools/phrasebook.py | 126 +
src/openmolar/dbtools/plan_data.py | 69 +
src/openmolar/dbtools/queries.py | 27 +
src/openmolar/dbtools/recall.py | 161 +
src/openmolar/dbtools/schema_version.py | 76 +
src/openmolar/dbtools/search.py | 107 +
src/openmolar/dbtools/treatment_course.py | 365 +
src/openmolar/dbtools/updateMH.py | 58 +
src/openmolar/dbtools/writeNewCourse.py | 33 +
src/openmolar/dbtools/writeNewPatient.py | 62 +
src/openmolar/firstRun.py | 440 +
src/openmolar/html/firstrun/firstrun0.png | Bin 0 -> 8432 bytes
src/openmolar/html/firstrun/firstrun1.png | Bin 0 -> 8655 bytes
src/openmolar/html/firstrun/firstrun2.png | Bin 0 -> 7369 bytes
src/openmolar/html/firstrun/firstrun3.png | Bin 0 -> 10695 bytes
src/openmolar/html/firstrun/firstrun5.png | Bin 0 -> 8572 bytes
src/openmolar/html/firstrun/firstrun6.png | Bin 0 -> 9962 bytes
src/openmolar/html/firstrun/firstrun7.png | Bin 0 -> 14033 bytes
src/openmolar/html/firstrun/firstrun8.png | Bin 0 -> 14834 bytes
src/openmolar/html/firstrun/index.html | 58 +
.../html/images/Screenshot-Patient Finder.png | Bin 0 -> 16656 bytes
src/openmolar/html/images/Screenshot.png | Bin 0 -> 171853 bytes
src/openmolar/html/images/altered_db.png | Bin 0 -> 21234 bytes
.../html/images/appointment_diff_dent.png | Bin 0 -> 5819 bytes
src/openmolar/html/images/appt_ov.png | Bin 0 -> 33142 bytes
src/openmolar/html/images/appts.png | Bin 0 -> 47892 bytes
.../html/images/complete_tooth_treatment.png | Bin 0 -> 10276 bytes
src/openmolar/html/images/complete_treatment.png | Bin 0 -> 12348 bytes
src/openmolar/html/images/confirm_appt.png | Bin 0 -> 6674 bytes
src/openmolar/html/images/cpitn.png | Bin 0 -> 4466 bytes
src/openmolar/html/images/crown_choice.png | Bin 0 -> 6975 bytes
.../html/images/dayllis_printing_wiizard.png | Bin 0 -> 19869 bytes
src/openmolar/html/images/edit_patient_details.png | Bin 0 -> 34019 bytes
src/openmolar/html/images/enter_appointment.png | Bin 0 -> 20919 bytes
src/openmolar/html/images/estimates_plan.png | Bin 0 -> 105027 bytes
src/openmolar/html/images/exam_wizard.png | Bin 0 -> 18296 bytes
src/openmolar/html/images/exit_record.png | Bin 0 -> 10378 bytes
src/openmolar/html/images/feescales.png | Bin 0 -> 116392 bytes
src/openmolar/html/images/find.png | Bin 0 -> 16655 bytes
src/openmolar/html/images/hygenist_wizard.png | Bin 0 -> 13746 bytes
src/openmolar/html/images/letter_review.png | Bin 0 -> 118033 bytes
src/openmolar/html/images/letter_text_entry.png | Bin 0 -> 19210 bytes
src/openmolar/html/images/make_appointment.png | Bin 0 -> 28420 bytes
src/openmolar/html/images/make_appointment_any.png | Bin 0 -> 30942 bytes
src/openmolar/html/images/newPt.png | Bin 0 -> 30476 bytes
src/openmolar/html/images/newlogo.png | Bin 0 -> 71116 bytes
src/openmolar/html/images/notes.png | Bin 0 -> 142366 bytes
src/openmolar/html/images/perio_charts.png | Bin 0 -> 46643 bytes
src/openmolar/html/images/place_appointment.png | Bin 0 -> 9937 bytes
src/openmolar/html/images/plan_treament.png | Bin 0 -> 15184 bytes
src/openmolar/html/images/plan_treatment.png | Bin 0 -> 17421 bytes
src/openmolar/html/images/reception.png | Bin 0 -> 107646 bytes
.../html/images/reception_welcome_screen.png | Bin 0 -> 24671 bytes
src/openmolar/html/images/startscreen.png | Bin 0 -> 9801 bytes
src/openmolar/html/images/surgery_welcome.png | Bin 0 -> 31443 bytes
.../images/thumbs/Screenshot-Patient Finder.png | Bin 0 -> 16324 bytes
src/openmolar/html/images/thumbs/Screenshot.png | Bin 0 -> 25066 bytes
src/openmolar/html/images/thumbs/altered_db.png | Bin 0 -> 23820 bytes
.../html/images/thumbs/appointment_diff_dent.png | Bin 0 -> 7151 bytes
src/openmolar/html/images/thumbs/appt_ov.png | Bin 0 -> 24423 bytes
src/openmolar/html/images/thumbs/appts.png | Bin 0 -> 23867 bytes
.../images/thumbs/complete_tooth_treatment.png | Bin 0 -> 12623 bytes
.../html/images/thumbs/complete_treatment.png | Bin 0 -> 14804 bytes
src/openmolar/html/images/thumbs/confirm_appt.png | Bin 0 -> 5835 bytes
src/openmolar/html/images/thumbs/cpitn.png | Bin 0 -> 6372 bytes
src/openmolar/html/images/thumbs/crown_choice.png | Bin 0 -> 6975 bytes
.../images/thumbs/dayllis_printing_wiizard.png | Bin 0 -> 15202 bytes
.../html/images/thumbs/edit_patient_details.png | Bin 0 -> 15131 bytes
.../html/images/thumbs/enter_appointment.png | Bin 0 -> 8479 bytes
.../html/images/thumbs/estimates_plan.png | Bin 0 -> 12609 bytes
src/openmolar/html/images/thumbs/exam_wizard.png | Bin 0 -> 15716 bytes
src/openmolar/html/images/thumbs/exit_record.png | Bin 0 -> 10147 bytes
src/openmolar/html/images/thumbs/feescales.png | Bin 0 -> 12000 bytes
src/openmolar/html/images/thumbs/find.png | Bin 0 -> 16296 bytes
.../html/images/thumbs/hygenist_wizard.png | Bin 0 -> 20093 bytes
src/openmolar/html/images/thumbs/letter_review.png | Bin 0 -> 12408 bytes
.../html/images/thumbs/letter_text_entry.png | Bin 0 -> 5585 bytes
.../html/images/thumbs/make_appointment.png | Bin 0 -> 15873 bytes
.../html/images/thumbs/make_appointment_any.png | Bin 0 -> 20575 bytes
src/openmolar/html/images/thumbs/newPt.png | Bin 0 -> 13821 bytes
src/openmolar/html/images/thumbs/newlogo.png | Bin 0 -> 17370 bytes
src/openmolar/html/images/thumbs/notes.png | Bin 0 -> 18490 bytes
src/openmolar/html/images/thumbs/perio_charts.png | Bin 0 -> 27081 bytes
.../html/images/thumbs/place_appointment.png | Bin 0 -> 9694 bytes
src/openmolar/html/images/thumbs/plan_treament.png | Bin 0 -> 9584 bytes
.../html/images/thumbs/plan_treatment.png | Bin 0 -> 10535 bytes
src/openmolar/html/images/thumbs/reception.png | Bin 0 -> 12647 bytes
.../images/thumbs/reception_welcome_screen.png | Bin 0 -> 9852 bytes
src/openmolar/html/images/thumbs/startscreen.png | Bin 0 -> 14540 bytes
.../html/images/thumbs/surgery_welcome.png | Bin 0 -> 12991 bytes
.../html/images/thumbs/toothplan_screen.png | Bin 0 -> 21155 bytes
.../html/images/thumbs/treatment_plan_page.png | Bin 0 -> 14986 bytes
src/openmolar/html/images/thumbs/whats_changed.png | Bin 0 -> 10969 bytes
src/openmolar/html/images/toothplan_screen.png | Bin 0 -> 49455 bytes
src/openmolar/html/images/treatment_plan_page.png | Bin 0 -> 35991 bytes
src/openmolar/html/images/whats_changed.png | Bin 0 -> 12281 bytes
src/openmolar/html/index.html | 359 +
src/openmolar/html/omstyle.css | 65 +
src/openmolar/locale/af.po | 3728 ++
src/openmolar/locale/da.po | 6182 +++
src/openmolar/locale/de.po | 6472 +++
src/openmolar/locale/el.po | 6232 +++
src/openmolar/locale/en_AU.po | 6002 +++
src/openmolar/locale/en_GB.po | 6535 +++
src/openmolar/locale/es.po | 6456 +++
src/openmolar/locale/fr.po | 6681 ++++
src/openmolar/locale/hu.po | 6406 +++
src/openmolar/locale/id.po | 6000 +++
src/openmolar/locale/it.po | 6219 +++
src/openmolar/locale/messages.pot | 7218 ++++
src/openmolar/locale/oc.po | 6010 +++
src/openmolar/locale/pl.po | 6184 +++
src/openmolar/locale/pt.po | 6299 +++
src/openmolar/locale/ro.po | 6182 +++
src/openmolar/locale/sk.po | 3855 ++
src/openmolar/locale/tr.po | 6393 +++
src/openmolar/locale/update_messages.py | 37 +
src/openmolar/main.py | 391 +
src/openmolar/ptModules/__init__.py | 0
src/openmolar/ptModules/debug_html.py | 74 +
src/openmolar/ptModules/dec_perm.py | 54 +
src/openmolar/ptModules/estimates.py | 283 +
src/openmolar/ptModules/formatted_notes.py | 253 +
src/openmolar/ptModules/hidden_notes.py | 34 +
src/openmolar/ptModules/nhsDetails.py | 49 +
src/openmolar/ptModules/notes.py | 433 +
src/openmolar/ptModules/patientDetails.py | 164 +
src/openmolar/ptModules/perio.py | 52 +
src/openmolar/ptModules/plan.py | 170 +
src/openmolar/ptModules/planDetails.py | 49 +
src/openmolar/ptModules/reception_summary.py | 80 +
src/openmolar/ptModules/referral.py | 86 +
src/openmolar/ptModules/standardletter.py | 41 +
src/openmolar/ptModules/tooth_history.py | 43 +
src/openmolar/qt-designer/activeDentStartFinish.ui | 89 +
src/openmolar/qt-designer/addTreatment.ui | 115 +
src/openmolar/qt-designer/appointment_length.ui | 137 +
src/openmolar/qt-designer/apptOpenDay.ui | 307 +
src/openmolar/qt-designer/apptTools.ui | 100 +
src/openmolar/qt-designer/apptWizard.ui | 103 +
src/openmolar/qt-designer/apptWizardItem.ui | 69 +
src/openmolar/qt-designer/aslotEdit.ui | 245 +
src/openmolar/qt-designer/blockSlot.ui | 342 +
src/openmolar/qt-designer/block_wizard.ui | 270 +
src/openmolar/qt-designer/bridge_denture.ui | 242 +
src/openmolar/qt-designer/bulkmail_options.ui | 179 +
src/openmolar/qt-designer/chooseDocument.ui | 284 +
src/openmolar/qt-designer/choose_clinicians.ui | 77 +
src/openmolar/qt-designer/choose_language.ui | 165 +
src/openmolar/qt-designer/choose_tooth.ui | 93 +
src/openmolar/qt-designer/codeChecker.ui | 141 +
src/openmolar/qt-designer/completionDate.ui | 157 +
src/openmolar/qt-designer/customTreatment.ui | 151 +
src/openmolar/qt-designer/daylist_print.ui | 203 +
src/openmolar/qt-designer/diary_widget.ui | 953 +
src/openmolar/qt-designer/editmemos.ui | 123 +
src/openmolar/qt-designer/enter_letter_text.ui | 80 +
src/openmolar/qt-designer/exam_wizard.ui | 171 +
src/openmolar/qt-designer/finalise_appt_time.ui | 148 +
src/openmolar/qt-designer/forumPost.ui | 162 +
src/openmolar/qt-designer/hygenist_wizard.ui | 233 +
src/openmolar/qt-designer/initialise.ui | 890 +
src/openmolar/qt-designer/main.ui | 5278 +++
src/openmolar/qt-designer/medhist.ui | 362 +
src/openmolar/qt-designer/memo_item.ui | 62 +
src/openmolar/qt-designer/newBPE.ui | 309 +
src/openmolar/qt-designer/newCourse.ui | 146 +
src/openmolar/qt-designer/newSetup.ui | 706 +
src/openmolar/qt-designer/om_pyuic4.py | 131 +
src/openmolar/qt-designer/ortho_ref_wizard.ui | 406 +
src/openmolar/qt-designer/patient_diary.ui | 270 +
src/openmolar/qt-designer/patient_finder.ui | 319 +
src/openmolar/qt-designer/payments.ui | 419 +
src/openmolar/qt-designer/permissions.ui | 88 +
src/openmolar/qt-designer/quick_daylist_print.ui | 105 +
src/openmolar/qt-designer/record_tools.ui | 1053 +
src/openmolar/qt-designer/saveDiscardCancel.ui | 122 +
src/openmolar/qt-designer/saveMemo.ui | 152 +
src/openmolar/qt-designer/select_patient.ui | 73 +
src/openmolar/qt-designer/showMemo.ui | 107 +
src/openmolar/qt-designer/specify_appointment.ui | 420 +
src/openmolar/qt-designer/staff_diary.ui | 212 +
src/openmolar/qt-designer/startscreen.ui | 301 +
src/openmolar/qt-designer/surgeryNumber.ui | 135 +
src/openmolar/qt-designer/toothPerioProps.ui | 330 +
src/openmolar/qt-designer/toothProps.ui | 548 +
src/openmolar/qt-designer/toothprops_full_edit.ui | 143 +
src/openmolar/qt-designer/treatmentItemWidget.ui | 56 +
src/openmolar/qt4gui/__init__.py | 0
.../qt4gui/appointment_gui_modules/__init__.py | 2 +
.../clinician_select_model.py | 119 +
.../appointment_gui_modules/draggable_list.py | 73 +
.../qt4gui/appointment_gui_modules/list_models.py | 209 +
.../appointment_gui_modules/pt_diary_treemodel.py | 361 +
src/openmolar/qt4gui/charts/__init__.py | 0
src/openmolar/qt4gui/charts/charts_gui.py | 310 +
src/openmolar/qt4gui/colours.py | 86 +
.../compiled_uis/Ui_activeDentStartFinish.py | 65 +
.../qt4gui/compiled_uis/Ui_addTreatment.py | 74 +
.../qt4gui/compiled_uis/Ui_appointment_length.py | 79 +
.../qt4gui/compiled_uis/Ui_apptOpenDay.py | 180 +
src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py | 89 +
src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py | 70 +
.../qt4gui/compiled_uis/Ui_apptWizardItem.py | 64 +
src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py | 119 +
src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py | 174 +
.../qt4gui/compiled_uis/Ui_block_wizard.py | 128 +
.../qt4gui/compiled_uis/Ui_bridge_denture.py | 148 +
.../qt4gui/compiled_uis/Ui_bulkmail_options.py | 108 +
.../qt4gui/compiled_uis/Ui_chooseDocument.py | 155 +
.../qt4gui/compiled_uis/Ui_choose_clinicians.py | 56 +
.../qt4gui/compiled_uis/Ui_choose_language.py | 92 +
.../qt4gui/compiled_uis/Ui_choose_tooth.py | 62 +
.../qt4gui/compiled_uis/Ui_codeChecker.py | 111 +
.../qt4gui/compiled_uis/Ui_completionDate.py | 87 +
.../qt4gui/compiled_uis/Ui_customTreatment.py | 87 +
.../qt4gui/compiled_uis/Ui_daylist_print.py | 128 +
.../qt4gui/compiled_uis/Ui_diary_widget.py | 490 +
src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py | 81 +
.../qt4gui/compiled_uis/Ui_enter_letter_text.py | 59 +
.../qt4gui/compiled_uis/Ui_exam_wizard.py | 102 +
.../qt4gui/compiled_uis/Ui_finalise_appt_time.py | 90 +
src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py | 104 +
.../qt4gui/compiled_uis/Ui_hygenist_wizard.py | 113 +
src/openmolar/qt4gui/compiled_uis/Ui_initialise.py | 596 +
src/openmolar/qt4gui/compiled_uis/Ui_main.py | 2615 ++
src/openmolar/qt4gui/compiled_uis/Ui_medhist.py | 194 +
src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py | 60 +
src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py | 161 +
src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py | 88 +
src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py | 344 +
.../qt4gui/compiled_uis/Ui_ortho_ref_wizard.py | 218 +
.../qt4gui/compiled_uis/Ui_patient_diary.py | 172 +
.../qt4gui/compiled_uis/Ui_patient_finder.py | 173 +
src/openmolar/qt4gui/compiled_uis/Ui_payments.py | 205 +
.../qt4gui/compiled_uis/Ui_permissions.py | 62 +
.../qt4gui/compiled_uis/Ui_quick_daylist_print.py | 73 +
.../qt4gui/compiled_uis/Ui_record_tools.py | 592 +
.../qt4gui/compiled_uis/Ui_saveDiscardCancel.py | 82 +
src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py | 104 +
.../qt4gui/compiled_uis/Ui_select_patient.py | 57 +
src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py | 71 +
.../qt4gui/compiled_uis/Ui_specify_appointment.py | 193 +
.../qt4gui/compiled_uis/Ui_staff_diary.py | 162 +
.../qt4gui/compiled_uis/Ui_startscreen.py | 159 +
.../qt4gui/compiled_uis/Ui_surgeryNumber.py | 79 +
.../qt4gui/compiled_uis/Ui_toothPerioProps.py | 163 +
src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py | 240 +
.../qt4gui/compiled_uis/Ui_toothprops_full_edit.py | 87 +
.../qt4gui/compiled_uis/Ui_treatmentItemWidget.py | 59 +
src/openmolar/qt4gui/compiled_uis/__init__.py | 0
src/openmolar/qt4gui/contract_gui_module.py | 112 +
src/openmolar/qt4gui/customwidgets/__init__.py | 0
.../customwidgets/appointment_overviewwidget.py | 740 +
.../qt4gui/customwidgets/appointmentwidget.py | 1105 +
src/openmolar/qt4gui/customwidgets/aptOVcontrol.py | 82 +
src/openmolar/qt4gui/customwidgets/calendars.py | 935 +
src/openmolar/qt4gui/customwidgets/chainLabel.py | 51 +
src/openmolar/qt4gui/customwidgets/chartwidget.py | 1176 +
.../qt4gui/customwidgets/confirming_check_box.py | 64 +
.../qt4gui/customwidgets/currency_label.py | 62 +
.../qt4gui/customwidgets/dent_hyg_selector.py | 122 +
.../qt4gui/customwidgets/diary_view_controller.py | 119 +
.../qt4gui/customwidgets/estimate_item_widget.py | 491 +
.../qt4gui/customwidgets/estimate_widget.py | 527 +
.../qt4gui/customwidgets/fiveminutetimeedit.py | 46 +
.../qt4gui/customwidgets/money_line_edit.py | 123 +
.../qt4gui/customwidgets/notification_widget.py | 143 +
.../qt4gui/customwidgets/perioChartWidget.py | 157 +
.../qt4gui/customwidgets/perioToothProps.py | 229 +
src/openmolar/qt4gui/customwidgets/resources_rc.py | 21330 ++++++++++
.../qt4gui/customwidgets/schedule_control.py | 532 +
.../qt4gui/customwidgets/simple_chartwidget.py | 274 +
.../qt4gui/customwidgets/static_control_panel.py | 127 +
src/openmolar/qt4gui/customwidgets/toothProps.py | 851 +
.../qt4gui/customwidgets/upper_case_line_edit.py | 46 +
src/openmolar/qt4gui/dialogs/__init__.py | 0
.../qt4gui/dialogs/add_treatment_dialog.py | 100 +
.../qt4gui/dialogs/address_match_dialog.py | 177 +
.../qt4gui/dialogs/advanced_tx_planning_dialog.py | 329 +
src/openmolar/qt4gui/dialogs/alterAday.py | 244 +
.../qt4gui/dialogs/alter_cashbook_dialog.py | 174 +
.../qt4gui/dialogs/alter_denture_dialog.py | 476 +
src/openmolar/qt4gui/dialogs/alter_todays_notes.py | 166 +
.../qt4gui/dialogs/appointment_card_dialog.py | 125 +
src/openmolar/qt4gui/dialogs/apptOpenDay.py | 208 +
src/openmolar/qt4gui/dialogs/appt_mode_dialog.py | 93 +
src/openmolar/qt4gui/dialogs/appt_prefs_dialog.py | 223 +
src/openmolar/qt4gui/dialogs/appt_wizard_dialog.py | 103 +
.../qt4gui/dialogs/assistant_select_dialog.py | 63 +
.../qt4gui/dialogs/auto_address_dialog.py | 167 +
src/openmolar/qt4gui/dialogs/base_dialogs.py | 214 +
.../qt4gui/dialogs/begin_make_appt_dialog.py | 211 +
src/openmolar/qt4gui/dialogs/block_wizard.py | 118 +
src/openmolar/qt4gui/dialogs/blockslot.py | 183 +
src/openmolar/qt4gui/dialogs/bridge_denture.py | 121 +
src/openmolar/qt4gui/dialogs/bridge_dialog.py | 97 +
.../qt4gui/dialogs/chart_tx_choice_dialog.py | 149 +
src/openmolar/qt4gui/dialogs/child_smile_dialog.py | 188 +
src/openmolar/qt4gui/dialogs/choose_clinicians.py | 25 +
.../qt4gui/dialogs/choose_tooth_dialog.py | 33 +
.../qt4gui/dialogs/clinician_select_dialog.py | 83 +
.../qt4gui/dialogs/complete_treatment_dialog.py | 269 +
.../qt4gui/dialogs/crown_choice_dialog.py | 118 +
src/openmolar/qt4gui/dialogs/denture_dialog.py | 92 +
.../qt4gui/dialogs/duplicate_receipt_dialog.py | 199 +
src/openmolar/qt4gui/dialogs/exam_wizard.py | 190 +
.../qt4gui/dialogs/family_manage_dialog.py | 423 +
src/openmolar/qt4gui/dialogs/finalise_appt_time.py | 62 +
.../qt4gui/dialogs/find_patient_dialog.py | 147 +
src/openmolar/qt4gui/dialogs/gp17_printdialog.py | 212 +
src/openmolar/qt4gui/dialogs/hygTreatWizard.py | 142 +
.../qt4gui/dialogs/implant_choice_dialog.py | 101 +
src/openmolar/qt4gui/dialogs/medNotes.py | 106 +
src/openmolar/qt4gui/dialogs/newBPE.py | 43 +
src/openmolar/qt4gui/dialogs/newCourse.py | 65 +
src/openmolar/qt4gui/dialogs/new_bridge_dialog.py | 303 +
src/openmolar/qt4gui/dialogs/new_denture_dialog.py | 414 +
.../qt4gui/dialogs/nhs_forms_config_dialog.py | 140 +
src/openmolar/qt4gui/dialogs/payment_dialog.py | 317 +
src/openmolar/qt4gui/dialogs/permissions.py | 44 +
.../qt4gui/dialogs/print_record_dialog.py | 81 +
src/openmolar/qt4gui/dialogs/recall_dialog.py | 104 +
src/openmolar/qt4gui/dialogs/saveDiscardCancel.py | 98 +
src/openmolar/qt4gui/dialogs/saveMemo.py | 58 +
src/openmolar/qt4gui/dialogs/select_language.py | 111 +
src/openmolar/qt4gui/dialogs/toothprop_fulledit.py | 150 +
src/openmolar/qt4gui/diary_widget.py | 1783 +
src/openmolar/qt4gui/fees/__init__.py | 0
src/openmolar/qt4gui/fees/cashbook_module.py | 64 +
src/openmolar/qt4gui/fees/course_module.py | 224 +
src/openmolar/qt4gui/fees/daybook_module.py | 125 +
src/openmolar/qt4gui/fees/fee_table_model.py | 290 +
src/openmolar/qt4gui/fees/fees_module.py | 450 +
src/openmolar/qt4gui/fees/feescale_tester.py | 169 +
src/openmolar/qt4gui/fees/manipulate_plan.py | 1193 +
src/openmolar/qt4gui/fees/treatment_list_models.py | 99 +
src/openmolar/qt4gui/feescale_editor/__init__.py | 1 +
.../feescale_editor/feescale_choice_dialog.py | 69 +
.../feescale_compare_items_dockwidget.py | 87 +
.../qt4gui/feescale_editor/feescale_diff_dialog.py | 270 +
.../qt4gui/feescale_editor/feescale_editor.py | 777 +
.../feescale_editor/feescale_input_dialogs.py | 190 +
.../qt4gui/feescale_editor/feescale_list_model.py | 62 +
.../qt4gui/feescale_editor/feescale_parser.py | 352 +
.../qt4gui/feescale_editor/feescale_xml_editor.py | 112 +
src/openmolar/qt4gui/forum_gui_module.py | 249 +
src/openmolar/qt4gui/maingui.py | 3341 ++
src/openmolar/qt4gui/new_patient_gui.py | 134 +
src/openmolar/qt4gui/phrasebook/__init__.py | 0
.../qt4gui/phrasebook/phrasebook_dialog.py | 130 +
.../qt4gui/phrasebook/phrasebook_editor.py | 407 +
.../qt4gui/phrasebook/phrasebook_model.py | 79 +
src/openmolar/qt4gui/printing/__init__.py | 0
src/openmolar/qt4gui/printing/accountPrint.py | 148 +
src/openmolar/qt4gui/printing/apptcardPrint.py | 99 +
src/openmolar/qt4gui/printing/bookprint.py | 31 +
src/openmolar/qt4gui/printing/bulk_mail.py | 596 +
src/openmolar/qt4gui/printing/chartPrint.py | 53 +
src/openmolar/qt4gui/printing/daylistprint.py | 123 +
src/openmolar/qt4gui/printing/estimatePrint.py | 165 +
src/openmolar/qt4gui/printing/gp17/__init__.py | 3 +
src/openmolar/qt4gui/printing/gp17/gp17_back.py | 129 +
src/openmolar/qt4gui/printing/gp17/gp17_config.py | 156 +
src/openmolar/qt4gui/printing/gp17/gp17_data.py | 597 +
src/openmolar/qt4gui/printing/gp17/gp17_front.py | 512 +
src/openmolar/qt4gui/printing/gp17/gp17_printer.py | 98 +
src/openmolar/qt4gui/printing/gp17/gp17v1_back.py | 140 +
src/openmolar/qt4gui/printing/gp17/gp17v1_front.py | 465 +
src/openmolar/qt4gui/printing/letterprint.py | 33 +
src/openmolar/qt4gui/printing/mh_print.py | 355 +
src/openmolar/qt4gui/printing/multiDayListPrint.py | 141 +
src/openmolar/qt4gui/printing/om_printing.py | 551 +
src/openmolar/qt4gui/printing/recallprint.py | 107 +
src/openmolar/qt4gui/printing/receiptPrint.py | 158 +
src/openmolar/qt4gui/pt_diary_widget.py | 664 +
src/openmolar/qt4gui/resources_rc.py | 39763 +++++++++++++++++++
src/openmolar/qt4gui/schema_updater.py | 266 +
src/openmolar/qt4gui/tools/__init__.py | 0
src/openmolar/qt4gui/tools/apptTools.py | 131 +
src/openmolar/qt4gui/tools/new_setup.py | 431 +
src/openmolar/qt4gui/tools/recordtools.py | 362 +
.../resources/Dental_Information_Guide_2008_v4.pdf | Bin 0 -> 203670 bytes
.../resources/Dental_Information_Guide_2009.pdf | Bin 0 -> 144403 bytes
src/openmolar/resources/Makefile | 4 +
src/openmolar/resources/appointment_shortcuts.xml | 80 +
src/openmolar/resources/appt_ov.png | Bin 0 -> 44812 bytes
src/openmolar/resources/demodump.sql | 1306 +
.../resources/feescales/example_feescale.xml | 233 +
.../resources/feescales/feescale_schema.xsd | 209 +
src/openmolar/resources/gp17-1/back.png | Bin 0 -> 107175 bytes
src/openmolar/resources/gp17-1/front.png | Bin 0 -> 92706 bytes
src/openmolar/resources/gp17/back.jpg | Bin 0 -> 650606 bytes
src/openmolar/resources/gp17/front.jpg | Bin 0 -> 647917 bytes
src/openmolar/resources/guidance-issue-2-v17.pdf | Bin 0 -> 2086685 bytes
src/openmolar/resources/hdp.png | Bin 0 -> 23276 bytes
src/openmolar/resources/hdp_small.png | Bin 0 -> 17216 bytes
src/openmolar/resources/icons/Speaker_Icon.svg | 30 +
src/openmolar/resources/icons/action.png | Bin 0 -> 2497 bytes
src/openmolar/resources/icons/add_user.png | Bin 0 -> 1809 bytes
src/openmolar/resources/icons/agt_back.png | Bin 0 -> 1595 bytes
src/openmolar/resources/icons/agt_family.png | Bin 0 -> 2107 bytes
src/openmolar/resources/icons/agt_forward.png | Bin 0 -> 1596 bytes
src/openmolar/resources/icons/agt_home.png | Bin 0 -> 2196 bytes
src/openmolar/resources/icons/agt_reload.png | Bin 0 -> 2013 bytes
src/openmolar/resources/icons/alert.png | Bin 0 -> 3080 bytes
src/openmolar/resources/icons/back.png | Bin 0 -> 1595 bytes
src/openmolar/resources/icons/button_ok.png | Bin 0 -> 1393 bytes
src/openmolar/resources/icons/chain-broken.png | Bin 0 -> 325 bytes
src/openmolar/resources/icons/chain.png | Bin 0 -> 302 bytes
src/openmolar/resources/icons/contract.svg | 96 +
src/openmolar/resources/icons/database.png | Bin 0 -> 8206 bytes
src/openmolar/resources/icons/down.jpg | Bin 0 -> 4318 bytes
src/openmolar/resources/icons/down.png | Bin 0 -> 1635 bytes
src/openmolar/resources/icons/eraser.png | Bin 0 -> 2047 bytes
src/openmolar/resources/icons/exit.png | Bin 0 -> 1915 bytes
src/openmolar/resources/icons/expand.png | Bin 0 -> 6439 bytes
src/openmolar/resources/icons/expand.svg | 96 +
src/openmolar/resources/icons/gohome.png | Bin 0 -> 2346 bytes
src/openmolar/resources/icons/home.png | Bin 0 -> 3752 bytes
src/openmolar/resources/icons/kaddressbook.png | Bin 0 -> 3966 bytes
src/openmolar/resources/icons/karm.png | Bin 0 -> 4051 bytes
src/openmolar/resources/icons/kdmconfig.png | Bin 0 -> 4165 bytes
src/openmolar/resources/icons/kfm.png | Bin 0 -> 3443 bytes
src/openmolar/resources/icons/kfm_home.png | Bin 0 -> 4411 bytes
src/openmolar/resources/icons/logo.png | Bin 0 -> 5002 bytes
src/openmolar/resources/icons/lower_implant.svg | 92 +
src/openmolar/resources/icons/mail_new.png | Bin 0 -> 697 bytes
src/openmolar/resources/icons/memos.png | Bin 0 -> 2327 bytes
src/openmolar/resources/icons/month.png | Bin 0 -> 629 bytes
src/openmolar/resources/icons/number1.png | Bin 0 -> 72460 bytes
src/openmolar/resources/icons/pencil.png | Bin 0 -> 16354 bytes
src/openmolar/resources/icons/ps.png | Bin 0 -> 1633 bytes
src/openmolar/resources/icons/save_all.png | Bin 0 -> 1317 bytes
src/openmolar/resources/icons/schedule.png | Bin 0 -> 6807 bytes
src/openmolar/resources/icons/schedule_active.png | Bin 0 -> 6473 bytes
src/openmolar/resources/icons/search.png | Bin 0 -> 1567 bytes
src/openmolar/resources/icons/separate.png | Bin 0 -> 2169 bytes
src/openmolar/resources/icons/txt.png | Bin 0 -> 6020 bytes
src/openmolar/resources/icons/upper_implant.svg | 92 +
src/openmolar/resources/icons/vcalendar.png | Bin 0 -> 5180 bytes
src/openmolar/resources/icons/vcard.png | Bin 0 -> 4698 bytes
src/openmolar/resources/icons/warning.png | Bin 0 -> 1931 bytes
src/openmolar/resources/icons/widelogo.png | Bin 0 -> 25423 bytes
src/openmolar/resources/icons/wikipedia.png | Bin 0 -> 17523 bytes
.../resources/information-guide-2012-final.pdf | Bin 0 -> 142017 bytes
.../resources/information_guide_2010_v2.pdf | Bin 0 -> 169209 bytes
src/openmolar/resources/logo.png | Bin 0 -> 13118 bytes
src/openmolar/resources/logo1.png | Bin 0 -> 25423 bytes
src/openmolar/resources/newlogo.png | Bin 0 -> 71116 bytes
src/openmolar/resources/newlogo_launchpadSize.png | Bin 0 -> 20918 bytes
src/openmolar/resources/nhs_scot.png | Bin 0 -> 7190 bytes
src/openmolar/resources/openmolar.svg | 350 +
src/openmolar/resources/phrasebook/phrasebook.xsd | 25 +
src/openmolar/resources/private.png | Bin 0 -> 3579 bytes
src/openmolar/resources/referral_data.xml | 136 +
src/openmolar/resources/resources.qrc | 55 +
src/openmolar/resources/scotNHSremuneration08.pdf | Bin 0 -> 433371 bytes
src/openmolar/resources/scotNHSremuneration09.pdf | Bin 0 -> 3459955 bytes
src/openmolar/resources/scotNHSremuneration10.pdf | Bin 0 -> 1032670 bytes
src/openmolar/resources/scotNHSremuneration12.pdf | Bin 0 -> 1338672 bytes
src/openmolar/resources/scotNHSremuneration13.pdf | Bin 0 -> 1477732 bytes
src/openmolar/resources/ssi_20100208_en.pdf | Bin 0 -> 369039 bytes
src/openmolar/resources/style.css | 51 +
src/openmolar/resources/teeth/ll1.png | Bin 0 -> 8518 bytes
src/openmolar/resources/teeth/ll2.png | Bin 0 -> 8497 bytes
src/openmolar/resources/teeth/ll3.png | Bin 0 -> 10901 bytes
src/openmolar/resources/teeth/ll4.png | Bin 0 -> 10541 bytes
src/openmolar/resources/teeth/ll5.png | Bin 0 -> 10463 bytes
src/openmolar/resources/teeth/ll6.png | Bin 0 -> 17811 bytes
src/openmolar/resources/teeth/ll7.png | Bin 0 -> 17849 bytes
src/openmolar/resources/teeth/ll8.png | Bin 0 -> 16026 bytes
src/openmolar/resources/teeth/lr1.png | Bin 0 -> 8497 bytes
src/openmolar/resources/teeth/lr2.png | Bin 0 -> 8470 bytes
src/openmolar/resources/teeth/lr3.png | Bin 0 -> 10919 bytes
src/openmolar/resources/teeth/lr4.png | Bin 0 -> 10559 bytes
src/openmolar/resources/teeth/lr5.png | Bin 0 -> 10471 bytes
src/openmolar/resources/teeth/lr6.png | Bin 0 -> 17641 bytes
src/openmolar/resources/teeth/lr7.png | Bin 0 -> 17745 bytes
src/openmolar/resources/teeth/lr8.png | Bin 0 -> 15947 bytes
src/openmolar/resources/teeth/ul1.png | Bin 0 -> 12585 bytes
src/openmolar/resources/teeth/ul2.png | Bin 0 -> 10153 bytes
src/openmolar/resources/teeth/ul3.png | Bin 0 -> 12023 bytes
src/openmolar/resources/teeth/ul4.png | Bin 0 -> 12239 bytes
src/openmolar/resources/teeth/ul5.png | Bin 0 -> 9865 bytes
src/openmolar/resources/teeth/ul6.png | Bin 0 -> 22157 bytes
src/openmolar/resources/teeth/ul7.png | Bin 0 -> 14174 bytes
src/openmolar/resources/teeth/ul8.png | Bin 0 -> 11855 bytes
src/openmolar/resources/teeth/ur1.png | Bin 0 -> 12598 bytes
src/openmolar/resources/teeth/ur2.png | Bin 0 -> 10211 bytes
src/openmolar/resources/teeth/ur3.png | Bin 0 -> 12022 bytes
src/openmolar/resources/teeth/ur4.png | Bin 0 -> 12242 bytes
src/openmolar/resources/teeth/ur5.png | Bin 0 -> 9901 bytes
src/openmolar/resources/teeth/ur6.png | Bin 0 -> 22086 bytes
src/openmolar/resources/teeth/ur7.png | Bin 0 -> 14192 bytes
src/openmolar/resources/teeth/ur8.png | Bin 0 -> 11902 bytes
src/openmolar/resources/user_manual/index.html | 41 +
src/openmolar/resources/user_manual/styles.css | 3 +
.../resources/user_manual/treatment-planning.html | 125 +
src/openmolar/schema_upgrades/__init__.py | 1 +
.../schema_upgrades/formatted_notes1_9.py | 84 +
src/openmolar/schema_upgrades/schema1_0to1_1.py | 211 +
src/openmolar/schema_upgrades/schema1_1to1_2.py | 140 +
src/openmolar/schema_upgrades/schema1_2to1_3.py | 115 +
src/openmolar/schema_upgrades/schema1_3to1_4.py | 369 +
src/openmolar/schema_upgrades/schema1_4to1_5.py | 166 +
src/openmolar/schema_upgrades/schema1_5to1_6.py | 234 +
src/openmolar/schema_upgrades/schema1_6to1_7.py | 375 +
src/openmolar/schema_upgrades/schema1_7to1_8.py | 194 +
src/openmolar/schema_upgrades/schema1_8to1_9.py | 150 +
src/openmolar/schema_upgrades/schema1_9to2_0.py | 156 +
src/openmolar/schema_upgrades/schema2_0to2_1.py | 324 +
src/openmolar/schema_upgrades/schema2_1to2_2.py | 324 +
src/openmolar/schema_upgrades/schema2_2to2_3.py | 207 +
src/openmolar/schema_upgrades/schema2_3to2_4.py | 148 +
src/openmolar/settings/__init__.py | 1 +
src/openmolar/settings/allowed.py | 112 +
src/openmolar/settings/appointment_shortcuts.py | 67 +
src/openmolar/settings/fee_tables.py | 914 +
src/openmolar/settings/images.py | 33 +
src/openmolar/settings/localsettings.py | 864 +
src/openmolar/settings/utilities.py | 42 +
src/openmolar/settings/version.py | 34 +
src/standalone_chart/lib_om_chart/__init__.py | 0
src/standalone_chart/lib_om_chart/chart_colours.py | 27 +
src/standalone_chart/lib_om_chart/chart_widget.py | 904 +
src/standalone_chart/lib_om_chart/config.py | 80 +
src/standalone_chart/lib_om_chart/config_dialog.py | 152 +
src/standalone_chart/lib_om_chart/connect.py | 74 +
src/standalone_chart/lib_om_chart/main_window.py | 417 +
src/standalone_chart/lib_om_chart/patient.py | 126 +
.../lib_om_chart/restorable_app.py | 51 +
src/standalone_chart/om_chart.py | 231 +
src/tests/appt_drag_test.py | 129 +
601 files changed, 256836 insertions(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a17020c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*.pyc
+*~
+tmp/*
+builds/*
+dist/*
+MANIFEST
+local_branches/
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..131e828
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,191 @@
+
+
+GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it [...]
+
+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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If [...]
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+TERMS AND CONDITIONS
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominen [...]
+1. Source Code.
+
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window syst [...]
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes int [...]
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+2. Basic Permissions.
+
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you mus [...]
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+4. Conveying Verbatim Copies.
+
+You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+5. Conveying Modified Source Versions.
+
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ * a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+ * b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+ * c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+ * d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregat [...]
+6. Conveying Non-Source Forms.
+
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ * a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+ * b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software inte [...]
+ * c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+ * d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying f [...]
+ * e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the [...]
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neithe [...]
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+7. Additional Terms.
+
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License [...]
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ * a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+ * b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+ * c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+ * d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+ * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+ * f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license [...]
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+8. Termination.
+
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you in [...]
+10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source o [...]
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+11. Patents.
+
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a [...]
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent w [...]
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and un [...]
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+12. No Surrender of Others' Freedom.
+
+If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to [...]
+13. Use with the GNU Affero General Public License.
+
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination [...]
+14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+15. Disclaimer of Warranty.
+
+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 C [...]
+16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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 WIT [...]
+17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
diff --git a/INSTALL.txt b/INSTALL.txt
new file mode 100644
index 0000000..514844d
--- /dev/null
+++ b/INSTALL.txt
@@ -0,0 +1,52 @@
+To get openMolar running from the git repo, please follow these instructions
+
+
+I will give instructions tested debian jessie
+
+####INSTALL INSTRUCTIONS#####
+
+----------------------------------------------------------------------------------------------------------------
+##CLIENT MACHINE##
+ensure depenencies are met on the client machine
+~$sudo apt-get install python-mysqldb python-qt4
+
+that's it!
+
+----------------------------------------------------------------------------------------------------------------
+
+##SERVER MACHINE##
+ensure dependencies are met on the server machine (which will probably be the same machine as your client for testing purposes, providing a service on "localhost")
+~$sudo apt-get install mysql-server
+
+MAKE A CAREFUL NOTE OF THE PASSWORD YOU SET UP FOR THE ROOT MYSQL-USER. YOU CANNOT CREATE A DATABASE WITHOUT THIS.
+
+----------------------------------------------------------------------------------------------------------------
+
+
+You are ready to try openmolar (you can do this without installing ANYTHING)
+
+cd into the src directory and type
+./main.py
+
+on first run of openMolar, you set a password for the app, you are given an opportunity to install a test database.
+
+
+NB - The test database is currently very limited with only 1 patient. (serial no 1)
+But The app will not run without it!
+
+
+the test database has one operator - "user". So when prompted, enter the system password you just set up, and put "user" into the user1 field.
+
+
+if you wish to re-initiate your settings at any point, delete the file ~/.openmolar/openmolar.conf, or edit this file (with care)
+
+
+when you are ready to install, type
+
+python setup.py install
+
+
+regards
+
+Neil Wallace <neil at openmolar.com>
+Updated 24th Oct 2013
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..290ca5a
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,9 @@
+include COPYING MANIFEST MANIFEST.in README openmolar
+recursive-include bin *.svg *.desktop
+recursive-include src/openmolar/schema_upgrades *.py
+recursive-include src/openmolar/dbtools *.py
+recursive-include src/openmolar/ptModules *.py
+recursive-include src/openmolar/qt4gui *.py
+recursive-include src/openmolar/resources *.xml *.png *.pdf *.css *.sql *.svg
+recursive-include src/openmolar/settings *.py
+recursive-include src/openmolar/locale *.po *.pot
diff --git a/README b/README
new file mode 120000
index 0000000..42061c0
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+README.md
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..84379c5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,6 @@
+openmolar1
+==========
+
+Dental Practice Management Software.
+
+see www.openmolar.com for description
diff --git a/TODO.txt b/TODO.txt
new file mode 100644
index 0000000..6edce6b
--- /dev/null
+++ b/TODO.txt
@@ -0,0 +1,125 @@
+0.5.00
+ Issues and code now tracked on github.
+ This release is imminent, barring a few release blocking bugs.
+
+0.4.10
+ TODO incisal angles, max per tooth, extraction visits, special tray,
+ 1st in arch, partial dentures(n teeth)
+ tidy up addition from feescale.
+ much of this work will be on the database itself,
+ but the codebase will also need tweaking
+
+ estimates.recalculate_estimate needs to be rewritten
+ undoing multiple identical items is problematic (hence the
+ "just checking" placeholder currently in use.)
+
+0.4.09
+ as a result of 0.4.08 - the deepcopying of the patient class finally
+ bit me in the bum (deepcopy does not work with compiled regexes.)
+ this version is radically more efficient in the way a snapshot is taken.
+ BUGFIX - when completing chart tx by double clicking on the plan chart the
+ treatment lineEntry box is updated.
+
+0.4.08
+ new feescale logic. An attempt to tighten up on NHS regulations.
+
+0.4.07
+ print new gp17-1 for courses started after 1st July 2013
+
+0.4.06
+ pt refund addeed to payment dialog functionality
+
+0.4.05
+ ordereddict backports method fix (phrasebook was out of order!)
+
+0.4.04
+ GP17 date issue fixed
+
+0.4.03
+ GP17 form
+ printing badly from some stations.
+
+
+0.4.02
+ BUGFIXES.
+ FindPatientDialog throwing an exception when called via diary widget
+ pt_diary update is unnecessary (and fails) if no patient is loaded
+ fixed print dialog parent when printing gp17
+
+ NEW FUNCTIONALITY
+ when synching addresses, it is not always obvious which is the best one
+ NHS form printing - should now always raise print dialog to
+ allow printer choice.
+ Phrasebook - allow subheadings and spacers
+ opalite cr recognition by feescales - ordered dict issue??
+
+0.4.0
+ reception front page better html
+ Tidied up recall bulk mail
+
+0.3.9
+ NEW FUNCTIONALITY
+ Ability to print out a personalised MH form from record card
+
+ UNDECIDED (not yet implemented
+ Ability to print out a personalised MH form for all patients
+ attending today. Suggest alphabetical order?
+
+0.3.8
+ NEW FUNCTIONALITY
+ MRS or MISS when entering patient details should toggle sex
+ Alert the user (not just via terminal) if a feescale doesnt parse!
+ Add a patient to a known family set.
+ Allow easy change of address to the stored value
+ (not just for new patients)
+
+0.3.7
+ NEW FUNCTIONALITY
+ allow modification of todays cashbook entries
+ (+ more advanced edits for supervisors)
+
+
+0.3.6
+ BUGS FIXED
+ hidden notes is not working when user deletes (
+ as opposed to uncompletes using the check box) treatments.
+
+ dialog that pops up for multiple items on the estimate will now
+ self close if it is no longer required (prevents an index error)
+
+0.3.5 (bzr 810)
+ BUGS FIXED
+ possible to create 2 open course on one day.
+ this can be fixed with SQL, however, the client needs to give
+ appropriate messages.
+
+ advanced record tools fails to parse hidden notes.
+
+
+0.3.4 (bzr 807)
+ BUGS FIXED.
+ save new patient -> "patient already loaded"
+
+ pt diary not collapsing past appointments
+
+0.3.3 (bzr 805)
+ BUG FIXES.
+ patient records do not "reload" when clicking on current patient
+ in the appointment book, hence save dialog comes up.
+ (fixed with 801)
+
+ bulk mailer needs to use appt_prefs!
+ fixed with 802
+
+ recall changes when doing an exam should inform the user more.
+ done with 805
+
+
+
+0.3.2 BUG FIXES.
+ entering notes mode of diary doesnt show notes widget
+ fixed with 799
+ diary widget "advise" function is a problem on older Qts (lucid)
+ fixed with 799
+ user not informed if recall is set to "do not recall"
+ fixed with 799
diff --git a/bin/openmolar.desktop b/bin/openmolar.desktop
new file mode 100755
index 0000000..05a2835
--- /dev/null
+++ b/bin/openmolar.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Name=OpenMolar
+GenericName=Dental Practice Management Suite
+Comment=Dental Practice Management Software
+Exec=openmolar
+Icon=openmolar
+Terminal=false
+Type=Application
+MimeType=application/x-openmolar;
+Categories=Office;
+Name[en_GB]=OpenMolar
diff --git a/bin/openmolar.svg b/bin/openmolar.svg
new file mode 100644
index 0000000..774229d
--- /dev/null
+++ b/bin/openmolar.svg
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg3126"
+ version="1.1"
+ inkscape:version="0.47pre1 r21720"
+ sodipodi:docname="New document 6"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3128">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3134" />
+ <inkscape:perspective
+ id="perspective3070"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <pattern
+ inkscape:stockid="Stripes 1:1"
+ id="Strips1_1"
+ patternTransform="matrix(20.470626,35.456163,-35.456163,20.470626,0,0)"
+ height="1"
+ width="2"
+ patternUnits="userSpaceOnUse"
+ inkscape:collect="always">
+ <rect
+ id="rect5098"
+ height="2"
+ width="1"
+ y="-0.5"
+ x="0"
+ style="fill:black;stroke:none" />
+ </pattern>
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter5854">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.7600865"
+ id="feGaussianBlur5856" />
+ </filter>
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter4374">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="4.1901708"
+ id="feGaussianBlur4376" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="375"
+ inkscape:cy="987.57463"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="919"
+ inkscape:window-height="593"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata3131">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g6035"
+ transform="matrix(1.7250419,0,0,2.3129065,-4157.5301,-6157.9579)">
+ <g
+ id="g5898">
+ <path
+ sodipodi:type="arc"
+ style="fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3639"
+ sodipodi:cx="-2672"
+ sodipodi:cy="-659.63782"
+ sodipodi:rx="880"
+ sodipodi:ry="880"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ transform="matrix(0.1688925,0.108001,-0.108001,0.1688925,2976.8052,3315.8586)" />
+ <path
+ transform="matrix(0.145597,0.09310429,-0.09310429,0.145597,2924.3862,3260.6879)"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ sodipodi:ry="880"
+ sodipodi:rx="880"
+ sodipodi:cy="-659.63782"
+ sodipodi:cx="-2672"
+ id="path3641"
+ style="fill:#818181;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.18399999;fill:url(#Strips1_1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5854);enable-background:accumulate"
+ id="path5814"
+ sodipodi:cx="-2672"
+ sodipodi:cy="-659.63782"
+ sodipodi:rx="880"
+ sodipodi:ry="880"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ transform="matrix(0.1496098,0.08650895,-0.08650895,0.1496098,2939.459,3245.7122)" />
+ </g>
+ <g
+ transform="matrix(1.1144857,0,0,1.1144857,-317.93496,-875.71638)"
+ id="g5858">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4374)"
+ d="m 2641.8438,3199.1562 c -20.0837,-0.074 -23.4607,12.7865 -35.9688,12.9688 -13.802,0.201 -17.3376,-14.8211 -42.5,-10.75 -18.1792,5.8889 -23.5853,18.3708 -24.625,33.125 -0.1686,0.032 -0.3297,0.059 -0.5,0.094 l -1.125,11.6562 c 0.4981,-0.1973 1.0399,-0.3741 1.5625,-0.5312 0.4984,13.1107 2.5791,27.0521 1.3125,39.25 -0.1338,0.038 -0.273,0.054 -0.4062,0.094 -9.682,2.8471 -15.037,13.3967 -19.1876,22.75 -0.7433,0.9281 -1.4717,1.9112 -2.1562,2.9687 -1.0331,0.2307 -2.0529,0.4559 -3.4 [...]
+ id="path4234" />
+ <g
+ id="g4156"
+ transform="translate(0,1094)">
+ <g
+ id="g4158">
+ <path
+ style="fill:#ececec;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2539.8787,2178.1122 c 3.7274,-30.3738 -14.9007,-72.3107 23.5,-84.75 25.1624,-4.071 28.698,10.951 42.5,10.75 13.802,-0.201 16.4651,-15.8373 42.75,-12.5 33.4961,5.989 26.5162,59.4556 8.5,81.5 l -44.25,18.5 -17.25,25.25 -17.75,-4 -25.75,-30.25 -12.25,-4.5 z"
+ id="path4160"
+ sodipodi:nodetypes="cczccccccc" />
+ <path
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2523.8787,2229.3622 c -1.3223,29.2179 -13.0758,49.3087 5,95.5 l 17.5,46 c 15.4773,15.2139 7.8286,31.4171 19,48.5 l 16,24 c 3.7476,-25.5453 23.0907,-27.6973 41,-32 l 24.5,-8.5 c 16.0422,-15.0949 36.6382,-10.4565 56.5,-9 15.5197,1.9583 30.8793,4.1432 62,-16 6.978,-6.6667 12.1065,-13.3333 34.5,-20 9.8528,-2.412 13.1945,-15.6759 19.5,-24 -23.0979,-22.1104 -48.0898,-26.4754 -74.567,-24.2054 -32.0864,2.7509 -55.2646,-21.3658 -74.933,-59.2946 l -15,-40.5 -36.5,14.5 c 0,0 -19 [...]
+ id="path4162"
+ sodipodi:nodetypes="cccccccccccscccscccc" />
+ <path
+ style="fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2541.9184,2306.1881 c 7.4823,1.9127 17.7228,-12.1935 18.3536,-25.8058 16.1926,-1.1087 32.3853,-0.8766 48.5779,1.3119 -8.1647,6.7221 -15.4992,13.6435 8.95,28.193 0.408,1.6502 5.4085,-5.2596 5.7737,-2.2825 2.1327,17.3854 5.8755,61.7096 19.4708,81.8037 -7.2833,9.0408 -14.8564,17.6469 -32.5783,11.0297 -18.3785,-33.8823 -22.967,-57.1187 -30.3194,-59.953 -12.1989,-4.7026 -30.7319,18.401 -41.4306,57.8548 -11.8304,7.9247 -21.0224,5.2958 -29.5477,0 0.3877,-24.5968 14.7966,-77. [...]
+ id="path4164"
+ sodipodi:nodetypes="ccccsccsccc" />
+ <path
+ style="fill:#494949;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2509.2537,2397.4873 c 6.5523,4.488 15.256,8.5382 29.125,0.75 l -4.75,44.125 c -4.6752,11.4731 -16.5976,25.3715 -23.5,1.75 l -0.875,-46.625 z"
+ id="path4166"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4168"
+ d="m 2610.355,2400.0788 c 6.1912,3.4797 24.6691,3.943 32.5351,-10.8602 7.354,13.3653 14.1744,27.2288 16.6018,45.1923 2.4377,11.7257 0.1458,28.6081 -19.5333,15.4109 -14.2129,-10.8506 -20.7103,-32.0083 -29.6036,-49.743 z"
+ style="fill:#494949;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#2d5886;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2506.3399,2212.0173 c 3.277,-3.0171 7.2664,-5.3244 10.5789,-7.0083 9.3676,-16.8578 26.3457,-18.7022 34.8286,-19.2734 20.3286,2.1182 21.4593,13.8354 28.8236,22.4357 l 18.7535,0.664 c 9.6808,-12.5204 23.9905,-19.4862 40.7263,-23.5407 -1.1932,0.3703 20.9865,-4.6575 31.6469,2.8101 5.855,6.1153 16.1022,9.9271 9.3764,25.9192 4.6407,6.3564 7.0637,16.5789 8.9342,25.7128 -0.1461,13.9437 -18.0437,25.9908 -21.7174,30.5647 -1.8783,2.3385 -16.9116,-8.318 -20.1931,-25.374 l 1.4802, [...]
+ id="path4170"
+ sodipodi:nodetypes="cccccccccscccccccccccc" />
+ <path
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2593.5124,2209.2192 7.6014,0.1768 c 9.4666,-8.6891 16.2505,-26.1653 65.3859,-23.1881 5.802,1.9762 6.4296,1.1267 9.5637,5.7708 -4.5279,-10.205 -4.1722,-15.3107 -21.7058,-19.1629 -17.5336,-3.8523 -38.1209,1.006 -60.8452,36.4034 z"
+ id="path4172"
+ sodipodi:nodetypes="cccczc" />
+ <path
+ sodipodi:nodetypes="cccczc"
+ id="path4174"
+ d="m 2587.5634,2208.9692 -6.3514,-0.3232 c -9.4666,-8.6891 -22.0715,-27.597 -50.5109,-16.1881 -5.802,1.9762 -9.4296,7.8767 -12.5637,12.5208 4.5279,-10.205 9.9279,-24.523 21.4558,-27.9129 11.5978,-3.4105 25.2459,-3.494 47.9702,31.9034 z"
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2556.1911,2270.7071 c 16.7371,-1.6921 30.4354,-6.0974 59.6926,3.3891 l -7.3667,8.4549 c -20.1874,-2.7115 -36.4488,-2.3857 -53.033,-1.9445 l 0.7071,-9.8995 z"
+ id="path4176"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path4178"
+ d="m 2631.3114,2299.2237 c -0.1953,5.7217 -8.1898,9.1815 -11.9853,11.753 -9.3354,-6.2493 -21.7435,-12.9102 -18.2028,-21.7947 -0.2011,-2.9883 11.1749,-19.6518 20.185,-13.4571 9.2576,-16.0487 18.0256,-25.2437 26.6201,-32.0091 3.1012,12.8645 10.4365,23.9126 19.6651,26.4077 -9.2677,11.671 -21.7094,16.7782 -35.575,24.8575 l -0.7071,4.2427 z"
+ style="fill:#494949;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#494949;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2536.392,2297.2237 c 0.1953,5.7217 4.6898,7.6815 8.4853,10.253 9.3354,-6.2493 18.9935,-11.0352 15.4528,-32.9197 -4.4239,-1.9883 -5.9249,-3.7768 -13.685,-2.0821 -5.7063,-8.0946 -15.8179,-29.5333 -26.9585,-29.9636 -3.1012,12.8645 -9.5981,19.8671 -18.8267,22.3622 4.5177,13.421 20.9594,20.0282 34.825,28.1075 l 0.7071,4.2427 z"
+ id="path4180"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+ <path
+ style="opacity:0.06796115;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2795.5,2356.2372 c -18.0615,-11.697 -39.6116,-27.2741 -67,-27.875 -10.0422,-0.2148 -35.0554,-8.0795 -46.5,-21.75 -11.3423,-13.5482 -14.5189,-25.7418 -21.7428,-34.0067 -8.3125,-9.5104 -14.2572,1.2567 -14.2572,1.2567 0,0 12.4184,28.4297 20,37.5 7.5816,9.0703 17.6246,16.8472 28.5,22.5 10.8754,5.6528 29.9486,7.3862 43.75,14.25 14.1019,7.0132 31.625,23.625 31.625,23.625 l 25.625,-15.5 z"
+ id="path4182"
+ sodipodi:nodetypes="cszsczzzcc" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2538.246,2126.5858 c 8.8611,-1.8293 15.4377,0.1127 22.2259,-3.482 6.7882,-3.5947 10.5837,-4.5864 16.2612,-5.1489 12.9387,-1.2818 13.032,7.9325 24.4127,6.9206 11.7316,-1.0431 8.6103,-3.6296 15.0391,-5.3621 8.3693,-2.2555 19.3865,-2.1055 28.7907,4.9042 8.6484,2.9954 17.977,1.9942 28.2022,5.6399 l -0.4005,10.5902 c -12.5619,-4.0676 -22.2874,-5.2353 -29.2388,-0.6117 -23.6249,15.7136 -35.9199,-0.5811 -42.9377,-1.0848 -7.0178,-0.5037 -8.3854,2.4178 -14.1295,4.431 -7.7984,2.73 [...]
+ id="path4184"
+ sodipodi:nodetypes="czszscccszsccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2540.4822,2223.4097 c -3.7936,11.2869 -7.413,15.4055 -12.6483,16.6884 -5.2353,1.283 -11.1775,-0.819 -16.7187,-4.2812 -4.088,-2.1395 -5.1969,-1.6723 -1.75,2.7812 5.9227,3.7006 12.6812,6.2973 19.25,4.6876 6.5687,-1.6098 12.4124,-7.4613 16.4062,-19.3438 2.4089,-14.1447 -1.8669,-5.7947 -4.5392,-0.5322 z"
+ id="path4186"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2530.0526,2202.3837 c -6.2822,-1.1945 -8.0065,-0.4181 -15.2088,1.1475 l 1.375,4.25 c 6.7294,-1.7001 8.0204,-2.5525 13.8338,-5.3975 z"
+ id="path4188"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path4190"
+ d="m 2672.5976,2202.3406 c 0.8769,6.3344 2.9594,6.6592 6.7457,12.9828 l 3.5872,-2.6617 c -3.7625,-5.8325 -5.7785,-5.7225 -10.3329,-10.3211 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2537.0992,2236.4124 8.1317,-16.0867 c 5.6821,10.1941 7.7209,28.5945 9.1923,48.6137 l -7.071,1.9445 -10.253,-34.4715 z"
+ id="path4192"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4194"
+ d="m 2643.6955,2226.8664 -2.2982,-9.1924 c -12.2228,8.4263 -25.3986,33.7211 -26.87,53.7403 l 4.2426,1.5909 24.9256,-46.1388 z"
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.34951459;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2652.7113,2264.6966 c 2.4001,2.8974 5.5174,6.8302 8.8388,7.4246 -9.7817,11.0494 -18.8562,13.1267 -28.6378,19.0919 l -6.0104,-6.7176 c 9.5316,-5.9806 19.0406,-11.9763 25.8094,-19.7989 z"
+ id="path4196"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4198"
+ d="m 2519.6868,2252.8525 c 1.3394,-2.8478 1.7167,-3.9532 2.1213,-6.7175 7.0663,3.639 14.1697,14.4703 22.8926,28.9914 l -3.7123,6.8058 c -6.2015,-14.9962 -19.2316,-24.0855 -21.3016,-29.0797 z"
+ style="opacity:0.34951459;fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.12135919;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 2543.3749,2280.96 c 1.3394,-2.8478 1.8051,-2.9809 2.2097,-5.7452 4.945,-0.7804 5.9571,-0.7629 10.0423,0.034 l 2.3321,4.9156 c -4.0801,-0.6772 -10.216,-0.1322 -14.5841,0.7956 z"
+ id="path4200"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:0.12135919;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 2617.4887,2276.956 c 1.287,-0.1352 2.9851,1.0608 4.5075,2.5733 -6.2745,0.4459 -12.051,5.8606 -15.3802,13.6109 -2.762,0.8053 -3.6293,-0.4194 -3.0932,-3.1478 3.7021,-7.263 7.9133,-12.5901 13.9659,-13.0364 z"
+ id="path4202"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2652.7065,2230.0846 c -4.6152,4.4265 -3.6564,6.3035 -6.5559,13.0797 l 4.26,1.3433 c 2.5158,-6.4688 1.2439,-8.0368 2.2959,-14.423 z"
+ id="path4204"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.06796115;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2727.5303,2392.8345 c 1.963,-0.8179 -28.6977,-26.1678 -51.2218,-39.3154 -22.5241,-13.1477 -40.8085,-69.6569 -40.8085,-69.6569 l -4,9 c 14.2361,34.2439 17.9411,53.136 27.875,63.25 9.7556,9.9325 30.1841,22.1453 37.1345,36.7197 l 31.0208,0 z"
+ id="path4206"
+ sodipodi:nodetypes="czcczcc" />
+ <path
+ style="opacity:0.10679614;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2596.5,2419.1122 c -2.5135,1.6569 -17.7135,-13.5231 -18.0806,-29.853 -0.503,-22.3785 -18.155,-29.5478 -23.3477,-29.1145 l -6.5717,10.2175 c 4.1717,6.8193 9.9682,14.5003 12.375,32.375 2.4068,17.8747 13.6875,28.5972 19,35.875 2.978,-8.0918 11.8083,-14.8055 16.625,-19.5 z"
+ id="path4208"
+ sodipodi:nodetypes="cscczcc" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ id="path4210"
+ sodipodi:cx="2577.875"
+ sodipodi:cy="2131.3623"
+ sodipodi:rx="9.125"
+ sodipodi:ry="4"
+ d="m 2587,2131.3623 c 0,2.2091 -4.0854,4 -9.125,4 -5.0396,0 -9.125,-1.7909 -9.125,-4 0,-2.2091 4.0854,-4 9.125,-4 5.0396,0 9.125,1.7909 9.125,4 z"
+ transform="matrix(1.3287671,0,0,1.3287671,-849.02055,-700.47186)" />
+ <path
+ transform="matrix(1.3287671,0,0,1.3287671,-800.77055,-699.97186)"
+ d="m 2587,2131.3623 c 0,2.2091 -4.0854,4 -9.125,4 -5.0396,0 -9.125,-1.7909 -9.125,-4 0,-2.2091 4.0854,-4 9.125,-4 5.0396,0 9.125,1.7909 9.125,4 z"
+ sodipodi:ry="4"
+ sodipodi:rx="9.125"
+ sodipodi:cy="2131.3623"
+ sodipodi:cx="2577.875"
+ id="path4212"
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 2573.2009,2224.1897 c -6.1545,0.2269 -11.2961,5.0876 -11.7037,11.3614 -0.4347,6.6922 4.6694,12.5008 11.3614,12.9357 6.6921,0.4347 12.5236,-4.6694 12.9586,-11.3614 0.4349,-6.6924 -4.6695,-12.5009 -11.3616,-12.9357 -0.4182,-0.027 -0.8444,-0.015 -1.2547,0 z m 0.2052,5.8176 c 0.2152,-0.01 0.4421,-0.014 0.6616,0 3.5147,0.2283 6.1602,3.2383 5.9317,6.753 -0.2284,3.5145 -3.2383,6.1599 -6.753,5.9318 -3.5145,-0.2286 -6.16,-3.2385 -5.9316,-6.7531 0.214,-3.2951 2.8642,-5.8169 6.091 [...]
+ id="path4214" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 2597.0642,2226.0438 c -3.652,-0.4679 -7.0145,1.9956 -7.7595,5.5434 -3e-4,0 -4e-4,0 -9e-4,0.01 -0.048,0.1181 -0.08,0.2423 -0.094,0.369 l -1.8347,14.3181 c -0.098,0.7741 0.4491,1.4815 1.223,1.5822 l 2.5791,0.3305 c 0.774,0.098 1.4815,-0.4491 1.582,-1.2228 l 1.8044,-14.0818 c 0.015,-0.052 0.027,-0.1042 0.036,-0.1573 0.1554,-0.8392 0.9129,-1.4078 1.7745,-1.2973 0.8616,0.1104 1.4511,0.8516 1.3902,1.7028 0,0.031 0,0.062 0,0.094 l -0.549,4.2847 c -0.098,0.7741 0.449,1.4815 1.2 [...]
+ id="path4216" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;stroke:none"
+ d="m 2564.1265,2251.2752 c 0,0 11.4139,-0.4199 22.564,0.1662 11.2231,0.5899 22.8569,3.3891 22.8569,3.3891 l -0.1642,3.7909 c 0,0 -12.0884,-2.4896 -22.857,-3.3891 -10.6958,-0.8935 -22.5639,-0.166 -22.5639,-0.166 l 0.1642,-3.7911 z"
+ id="path4218"
+ sodipodi:nodetypes="czcczcc" />
+ <path
+ sodipodi:nodetypes="czcczcc"
+ id="path4220"
+ d="m 2564.1265,2217.8745 c 0,0 11.4139,-0.4199 22.564,0.1662 11.2231,0.5898 27.8377,3.975 27.8377,3.975 l -0.1642,3.7909 c 0,0 -17.0692,-3.0755 -27.8378,-3.975 -10.6958,-0.8935 -22.5639,-0.1661 -22.5639,-0.1661 l 0.1642,-3.791 z"
+ style="fill:#c4d7ec;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2535.0008,2403.2226 c -1.7874,1.041 -4.3247,2.0821 -6.8121,2.4231 l -2.7652,44.2689 c 2.2284,-1.8992 4.1354,-5.084 5.6568,-9.8111 l 3.9205,-36.8809 z"
+ id="path4222"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4224"
+ d="m 2616.2059,2404.8808 c 2.0456,0.3062 4.1693,0.3352 6.6065,-0.2679 l 23.2715,44.7041 c -2.7728,-0.9404 -8.9926,-6.5531 -12.1543,-10.3824 -7.0851,-10.1819 -10.3415,-17.2863 -17.7237,-34.0538 z"
+ style="opacity:0.22330095;fill:#ffffff;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.40291263;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2531.875,2185.7372 c 4.4164,-3.5477 6.923,-5.9689 15.75,-7 9.2965,-0.5465 12.5182,4.9818 18.25,8 -10.4027,-6.487 -22.433,-7.204 -34,-1 z"
+ id="path4226"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path4228"
+ d="m 2605.7694,2198.1588 c 2.6147,-5.0254 15.0716,-15.1451 22.7368,-19.6422 8.29,-4.2425 9.7522,-1.3627 16.2141,-0.9071 -12.134,-1.7507 -30.8598,10.2139 -38.9509,20.5493 z"
+ style="opacity:0.30582521;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ </g>
+ <path
+ style="opacity:0.20873784;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 394.48868,233.49091 c 21.58475,-69.65341 29.82045,-118.46013 18.29682,-180.310948 0.50597,-1.582722 7.8398,5.999208 12.13465,25.24977 4.45957,19.9879 6.99659,42.799178 3.41764,71.243298 -3.57894,28.44413 -14.82191,65.97033 -23.28427,81.05072 -6.19876,11.04645 -10.56484,2.76716 -10.56484,2.76716 z"
+ id="path6097"
+ sodipodi:nodetypes="ccszsc" />
+ <path
+ sodipodi:nodetypes="csccc"
+ id="path6099"
+ d="m 368.79453,801.30947 c 0.31361,-8.27281 10.34007,-5.27713 6.94656,-12.73833 -20.40707,-44.86785 -34.52223,-164.34659 -39.10307,-205.92779 -4.45958,19.98791 -9.58416,1.16686 -20.66808,-0.4568 2.18011,11.53816 18.31823,177.87338 52.82459,219.12292 z"
+ style="opacity:0.20873784;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+</svg>
diff --git a/build_scripts/Makefile b/build_scripts/Makefile
new file mode 100755
index 0000000..4ddc819
--- /dev/null
+++ b/build_scripts/Makefile
@@ -0,0 +1,199 @@
+define USEAGE
+This is the build script for openmolar packages and tarballs.
+
+USAGE
+ make [options] target
+
+OPTIONS
+ DIST (the target distribution - eg. unstable, testing, lucid etc.)
+ default=unstable
+ allowed values - anything..
+ but if building a deb, have a pbuilder environment with this name
+ NEW_CHANGELOG (run a gui to modify the changelog)
+ default=true
+
+TARGETS
+ tarball
+ deb_src
+ deb_binary
+ all_tarballs
+ all_deb_srcs
+ all_deb_binaries
+
+EXAMPLES are available.
+ make examples
+endef
+
+define EXAMPLES
+EXAMPLES
+make tarball
+ create a tarball
+
+make changelog
+ update the changelog in the template debian directory
+
+make deb DIST=stable
+ debian packages for debian stable (squeeze)
+make deb DIST=precise
+ create a debian binary package for ubuntu precise (12.04).
+make debs
+ makes debian package for all distributions and architectures
+
+endef
+
+export USEAGE
+export EXAMPLES
+
+ifeq ($(DIST), )
+ DIST=unstable
+endif
+
+ifeq ($(NEW_CHANGELOG), )
+ NEW_CHANGELOG=true
+endif
+
+PACKAGE=openmolar
+
+CURRENT_MAKEFILE_LIST := $(MAKEFILE_LIST)
+BUILD_SCRIPTS_DIR := $(abspath $(dir $(firstword $(CURRENT_MAKEFILE_LIST))))/
+HEAD = $(shell $(BUILD_SCRIPTS_DIR)get_git_branch.py)/
+BUILDS_DIR=$(HEAD)builds/
+
+DIST_DIR=$(HEAD)dist/
+
+VERSION=`$(BUILD_SCRIPTS_DIR)get_version.py`
+
+TARBALL = $(PACKAGE)-$(VERSION).tar.gz
+TARBALL_DIR=$(HEAD)builds/tarballs/
+
+TMP_DIR=$(HEAD)tmp/
+
+################### Debian Packaging Stuff ####################################
+# #
+DEB_CONF_DIR=$(BUILD_SCRIPTS_DIR)debian_packaging/dh_python2/debian/
+DEB_BUILDS_DIR=$(BUILDS_DIR)debs/$(DIST)/
+
+DEBDISTS = unstable testing stable oldstable saucy raring quantal precise
+
+CHANGELOG=$(DEB_BUILDS_DIR)$(shell ls -t $(DEB_BUILDS_DIR) | grep changes | head -n1)
+
+# #
+################## Debian packaging ends #####################################
+
+
+.phony:
+ make help
+
+help:
+ @echo "$$USEAGE"
+
+examples:
+ @echo "$$EXAMPLES"
+
+clean_tmp:
+ mkdir -p $(TMP_DIR)
+ rm -rf $(TMP_DIR)*
+
+tarball:
+ echo "making tarball (using setup.py sdist)"
+ make clean_tmp
+ cd $(HEAD) ;\
+ python setup.py sdist ;\
+ echo "tarball created!"
+ mkdir -p $(TARBALL_DIR)
+ echo "moving tarball to $(TARBALL_DIR)"
+ cp -av $(DIST_DIR)$(TARBALL) $(TARBALL_DIR);
+ @echo "tarball is located $(TARBALL_DIR)$(TARBALL)"
+
+ @if [ -e "$(TARBALL_DIR)$(TARBALL)" ]; then echo "SUCCESS!"; fi
+
+sign_tarball:
+ cd $(TARBALL_DIR) ;\
+ gpg --armor --sign --detach-sig -u rowinggolfer at googlemail.com $(TARBALL) ;\
+ md5sum $(TARBALL) | sed "s/ .*//" > $(PACKAGE)-$(VERSION)_md5.txt
+
+
+changelog:
+ # call my changelog gui
+ @echo $(BUILD_SCRIPTS_DIR)deb_maker.py -s$(TARBALL_DIR) -d$(DEB_CONF_DIR)
+ $(BUILD_SCRIPTS_DIR)deb_maker.py -p$(PACKAGE) -s$(TARBALL_DIR) -d$(DEB_CONF_DIR)
+
+deb:
+ @if [ ! -e "$(TARBALL_DIR)$(TARBALL)" ]; then make tarball; fi
+
+ make clean_tmp
+
+ @echo "Making debian packages target distro = $(DIST)"
+
+ @if [ "$(NEW_CHANGELOG)" = 'true' ]; then make changelog; fi
+
+ cp -av $(TARBALL_DIR)$(TARBALL) $(TMP_DIR)
+
+ cd $(TMP_DIR) ;\
+ tar -zxf $(TARBALL); \
+ mv $(TARBALL) `python $(BUILD_SCRIPTS_DIR)version_name.py $(DEB_CONF_DIR)`.orig.tar.gz
+
+ cd $(TMP_DIR)$(PACKAGE)-$(VERSION) ; \
+ cp -av $(DEB_CONF_DIR) . ;\
+ echo "modding changelog" ;\
+ sed -i s/__DIST__/$(DIST)/g debian/changelog ;\
+ sudo pdebuild --buildresult $(DEB_BUILDS_DIR) --pbuilderroot "sudo DIST=$(DIST)"
+
+debsign:
+ debsign $(DEB_BUILDS_DIR)*$(VERSION)*.changes -kF230408E
+
+debsigns:
+ #make debsign DIST=<unstable|testing|stable|raring|quantal|precise|lucid>
+
+ $(foreach dist,$(DEBDISTS), \
+ make debsign DIST=$(dist) ;\
+ )
+
+notes:
+ #pdebuild --architecture <i386|amd64> --buildresult /tmp --pbuilderroot "sudo DIST=<unstable|stable|testing|raring|quantal|precise|lucid> ARCH=<i386|amd64>"
+
+debs:
+ @echo "making all debian based packages.. first we need to update the changelogs for the 2 build systems"
+ make changelog
+
+ $(foreach dist,$(DEBDISTS), \
+ make deb DIST=$(dist) NEW_CHANGELOG=False;\
+ )
+
+pushdeb:
+ cd ~/www/repos/apt/debian ;\
+ reprepro include $(DIST) $(CHANGELOG) ; \
+ #reprepro export
+
+pushdebs:
+ @echo "updating the local repo"
+ $(foreach dist,$(DEBDISTS), \
+ make DIST=$(dist) pushdeb; \
+ )
+ cd ~/www/repos/apt/debian ;\
+ reprepro export
+
+update_pbuilder:
+ $(foreach dist, $(DEBDISTS), \
+ sudo DIST=${dist} ARCH=amd64 pbuilder --update --architecture amd64 \
+ --distribution ${dist} --http-proxy http://localhost:3142 ; \
+ )
+
+create_pbuilder:
+ $(foreach dist, $(DEBDISTS), \
+ sudo DIST=${dist} ARCH=amd64 pbuilder --create --architecture amd64 \
+ --distribution ${dist} --http-proxy http://localhost:3142 ; \
+ )
+
+test:
+ @echo chosen package $(PACKAGE)
+ @echo targetting distro $(DIST)
+ @if [ $(NEW_CHANGELOG) = 'true' ]; then \
+ echo changelog WILL be updated; \
+ fi
+ @echo debconfdir = $(DEB_CONF_DIR)
+ @echo Head = $(HEAD)
+ @echo Dist = $(DIST)
+ @echo DEB_BUILDS_DIR = $(DEB_BUILDS_DIR)
+ @echo changelog = $(CHANGELOG)
+
diff --git a/build_scripts/deb_maker.py b/build_scripts/deb_maker.py
new file mode 100755
index 0000000..80920ef
--- /dev/null
+++ b/build_scripts/deb_maker.py
@@ -0,0 +1,158 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+this script parses a debian directory, and updates the changelog
+command line args determine the behaviour.
+--auto = just alter the changelog with defaults (eg for nightly builds)
+'''
+
+import commands
+import logging
+import optparse
+import os
+import re
+import sys
+
+from PyQt4 import QtGui, QtCore
+
+class DebMakerGui(QtGui.QDialog):
+ def __init__(self, changelog, sources, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setWindowTitle("Deb Maker")
+
+ label1 = QtGui.QLabel("available sources")
+ self.list_widget = QtGui.QListWidget()
+ self.list_widget.setMaximumHeight(120)
+ for tarball in sources:
+ self.list_widget.addItem(tarball)
+ self.list_widget.setCurrentRow(0)
+
+ label2 = QtGui.QLabel("changelog")
+ self.text_edit = QtGui.QTextEdit()
+ self.text_edit.setText(changelog)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QGridLayout(frame)
+ layout.addWidget(label1, 0,0)
+ layout.addWidget(self.list_widget, 0,1)
+ layout.addWidget(label2, 1,0)
+ layout.addWidget(self.text_edit, 1,1)
+
+ butbox = QtGui.QDialogButtonBox(self)
+ butbox.setStandardButtons(butbox.Ok|butbox.Cancel)
+
+ butbox.accepted.connect(self.accept)
+ butbox.rejected.connect(self.reject)
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(frame)
+ layout.addWidget(butbox)
+
+ def sizeHint(self):
+ return QtCore.QSize(600,400)
+
+ @property
+ def changelog(self):
+ return self.text_edit.toPlainText()
+
+class Parser(optparse.OptionParser):
+ def __init__(self):
+ optparse.OptionParser.__init__(self,
+ prog="deb_maker",
+ version="0.1")
+
+ option = self.add_option("-a", "--auto",
+ dest = "auto",
+ action="store_true", default=False,
+ help = "perform default actions with no user input"
+ )
+
+ option = self.add_option("-d", "--directory",
+ dest="deb_dir",
+ help = "debian directory (ie. where your changelog lives)"
+ )
+
+ option = self.add_option("-s", "--sources",
+ dest="sources_dir",
+ help = "sources directory (ie. where your *.tar.gz *.dsc files are)"
+ )
+
+ option = self.add_option("-p", "--package-name",
+ dest="package",
+ help = "package name (eg. openmolar-common)"
+ )
+
+def raise_gui(changelog, sources):
+ app = QtGui.QApplication(sys.argv)
+ dl = DebMakerGui(changelog, sources)
+ result = dl.exec_()
+ return result, dl.changelog
+
+def new_changelog(package, version, author, package_no=0, dist="__DIST__", urgency="low"):
+ return '''%s (%s-%d~%s0) %s; urgency=%s
+
+ * {COMMENTS}
+
+ -- %s %s
+'''% (package, version, package_no, dist, dist, urgency, author, commands.getoutput("date -R"))
+
+def main():
+ parser = Parser()
+ options, args = parser.parse_args()
+
+ f = open(os.path.join(options.deb_dir, "changelog"))
+ changelog = f.read()
+ f.close()
+
+ tarballs = []
+ print "looking in %s"% options.sources_dir
+ for file_ in os.listdir(options.sources_dir):
+ if re.match("%s-(.*)\.tar\.gz$"% options.package, file_) :
+ tarballs.append(file_)
+ tarballs = sorted(tarballs, reverse=True)
+
+ chosen = tarballs[0]
+ version = re.match(
+ "%s-(.*)\.tar\.gz$"% options.package, chosen).groups()[0]
+
+ new_changes = new_changelog(options.package, version,
+ "Neil Wallace <rowinggolfer at googlemail.com>", 0)
+
+ changelog = "%s\n\n%s"% (new_changes, changelog)
+
+ if not options.auto:
+ result, changelog = raise_gui(changelog, tarballs)
+ if not result:
+ sys.exit("User aborted the changelog gui")
+ else:
+ comments = changelog.replace("{COMMENTS}", "auto build", 1)
+
+ f = open(os.path.join(options.deb_dir, "changelog"), "w")
+ f.write(changelog)
+ f.close()
+
+ logging.info("succesfully written new changelog")
+
+if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
+ main()
diff --git a/build_scripts/debian_packaging/dh_python2/debian/changelog b/build_scripts/debian_packaging/dh_python2/debian/changelog
new file mode 100644
index 0000000..888ca75
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/changelog
@@ -0,0 +1,543 @@
+openmolar (0.5.0-beta09-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 06 Dec 2013 15:17:21 +0000
+
+
+openmolar (0.5.0-beta08-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 06 Dec 2013 12:26:23 +0000
+
+
+openmolar (0.5.0-beta07-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 04 Dec 2013 22:43:41 +0000
+
+
+openmolar (0.5.0-beta06-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 02 Dec 2013 23:36:42 +0000
+
+
+openmolar (0.5.0-beta05-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream (fixes #74 and #73)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 02 Dec 2013 09:53:32 +0000
+
+
+openmolar (0.5.0-beta04-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 02 Dec 2013 00:24:34 +0000
+
+
+openmolar (0.5.0-beta03-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 29 Nov 2013 09:48:56 +0000
+
+
+openmolar (0.5.0-beta02-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 29 Nov 2013 08:59:59 +0000
+
+
+openmolar (0.5.0-beta01-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 28 Nov 2013 22:49:57 +0000
+
+
+openmolar (0.5.0-alpha9-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 27 Nov 2013 02:43:03 +0000
+
+
+openmolar (0.5.0-alpha8-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream Release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Nov 2013 09:28:00 +0000
+
+
+openmolar (0.5.0-alpha7-0~__DIST__0) __DIST__; urgency=low
+
+ * New Upstream Release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Nov 2013 23:48:19 +0000
+
+
+openmolar (0.5.0-alpha5-0~__DIST__0) __DIST__; urgency=low
+
+ * New upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Nov 2013 16:07:26 +0000
+
+
+openmolar (0.5.0-alpha4-0~__DIST__0) __DIST__; urgency=low
+
+ * New upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Nov 2013 12:30:00 +0000
+
+
+openmolar (0.5.0-alpha3-0~__DIST__0) __DIST__; urgency=low
+
+ * Upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Nov 2013 11:07:08 +0000
+
+
+openmolar (0.5.0-alpha2-0~__DIST__0) __DIST__; urgency=low
+
+ * New upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 24 Nov 2013 19:50:46 +0000
+
+
+openmolar (0.5.0-alpha1-1~__DIST__0) __DIST__; urgency=low
+
+ * modded control to include new dependency on python-qscintilla2
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 24 Nov 2013 18:51:46 +0000
+
+
+openmolar (0.5.0-alpha1-0~__DIST__0) __DIST__; urgency=low
+
+ * New upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 24 Nov 2013 14:20:23 +0000
+
+openmolar (0.4.09+bzr0843-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Jun 2013 12:50:23 +0100
+
+
+openmolar (0.4.09+bzr0842-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream bugfix
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Jun 2013 10:30:30 +0100
+
+
+openmolar (0.4.09+bzr0840-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 27 Jun 2013 00:03:09 +0100
+
+
+openmolar (0.4.07+bzr0839-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 26 Jun 2013 10:55:33 +0100
+
+
+openmolar (0.4.07+bzr0837-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 24 Jun 2013 16:14:40 +0100
+
+
+openmolar (0.4.06+bzr0836-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 24 Jun 2013 10:00:49 +0100
+
+
+openmolar (0.4.06+bzr0833-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 13 Jun 2013 22:29:30 +0100
+
+
+openmolar (0.4.06+bzr0832-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 13 Jun 2013 15:21:47 +0100
+
+
+openmolar (0.4.05+bzr0832-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 10 Jun 2013 13:41:09 +0100
+
+
+openmolar (0.4.04+bzr0831-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 10 Jun 2013 10:06:54 +0100
+
+
+openmolar (0.4.03+bzr0830-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 07 Jun 2013 12:45:53 +0100
+
+
+openmolar (0.4.02+bzr0829-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 04 Jun 2013 18:01:24 +0100
+
+
+openmolar (0.4.01+bzr0828-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 27 May 2013 22:07:08 +0100
+
+
+openmolar (0.4.0+bzr0827-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 27 May 2013 16:13:31 +0100
+
+
+openmolar (0.3.9+bzr0825-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 24 May 2013 10:50:59 +0100
+
+
+openmolar (0.3.9+bzr0824-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 23 May 2013 11:30:51 +0100
+
+
+openmolar (0.3.8+bzr0822-0~__DIST__0) __DIST__; urgency=low
+
+ * reinstated address search when no relatives linked
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 23:17:37 +0100
+
+
+openmolar (0.3.8+bzr0820-0~__DIST__0) __DIST__; urgency=low
+
+ * bugfix for 0.3.8
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 15:23:34 +0100
+
+
+openmolar (0.3.8+bzr0819-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 11:23:56 +0100
+
+
+openmolar (0.3.7+bzr0818-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 11 May 2013 00:09:39 +0100
+
+
+openmolar (0.3.7+bzr0816-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 30 Apr 2013 18:19:43 +0100
+
+
+openmolar (0.3.7+bzr0815-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 30 Apr 2013 16:44:16 +0100
+
+
+openmolar (0.3.6+bzr0814-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 23:01:17 +0100
+
+
+openmolar (0.3.5+bzr0813-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 00:28:05 +0100
+
+
+openmolar (0.3.5+bzr0812-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 00:01:28 +0100
+
+
+openmolar (0.3.4+bzr0807-1~__DIST__0) __DIST__; urgency=low
+
+ * rebuild
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 17 Apr 2013 21:16:10 +0100
+
+
+openmolar (0.3.4+bzr0807-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 17 Apr 2013 21:00:13 +0100
+
+
+openmolar (0.3.3+bzr0805-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 04 Mar 2013 11:09:10 +0000
+
+
+openmolar (0.3.2+bzr0804-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 01 Mar 2013 13:35:31 +0000
+
+
+openmolar (0.3.2+bzr0802-1~__DIST__0) __DIST__; urgency=low
+
+ * upstream tweaks
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 28 Feb 2013 23:20:39 +0000
+
+
+openmolar (0.3.2+bzr0799-0~__DIST__0) __DIST__; urgency=low
+
+ * bug fixes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 04 Feb 2013 12:24:01 +0000
+
+
+openmolar (0.3.2+bzr0798-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release (invokes a schema change)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 02 Feb 2013 21:39:33 +0000
+
+
+openmolar (0.3.1+bzr0776-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 28 Oct 2012 19:59:40 +0000
+
+
+openmolar (0.3.1+bzr0775-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 26 Oct 2012 01:32:11 +0100
+
+
+openmolar (0.3.1+bzr0774-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 26 Oct 2012 00:21:25 +0100
+
+
+openmolar (0.3.0+bzr0773-0~__DIST__0) __DIST__; urgency=low
+
+ * python2.6 fix (cursor.executemany is broken?)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 23 Oct 2012 14:31:05 +0100
+
+
+openmolar (0.3.0+bzr0772-0~__DIST__0) __DIST__; urgency=low
+
+ * ability to edit today's notes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 22 Oct 2012 18:39:15 +0100
+
+
+openmolar (0.3.0+bzr0771-0~__DIST__0) __DIST__; urgency=low
+
+ * re-introduced system dat into the formatted notes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 22 Oct 2012 10:29:18 +0100
+
+
+openmolar (0.3.0+bzr0770-0~__DIST__0) __DIST__; urgency=low
+
+ * ui tweaks
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 20 Oct 2012 01:50:56 +0100
+
+
+openmolar (0.2.3+bzr0769-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream tweak
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 19 Oct 2012 17:52:37 +0100
+
+
+openmolar (0.2.3+bzr0768-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version with a significant schema change
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 19 Oct 2012 17:36:59 +0100
+
+
+openmolar (0.2.2+bzr0766-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 03 Oct 2012 23:04:56 +0100
+
+
+openmolar (0.2.2+bzr0765-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Sep 2012 12:32:00 +0100
+
+
+openmolar (0.2.2+bzr0763-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 19 Sep 2012 22:54:16 +0100
+
+
+openmolar (0.2.2+bzr0762-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 05 Aug 2012 09:44:33 +0100
+
+
+openmolar (0.2.2+bzr0761-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 05 Aug 2012 00:33:21 +0100
+
+
+openmolar (0.2.2+bzr0760-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 04 Aug 2012 23:29:27 +0100
+
+
+openmolar (0.2.1+bzr0755-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 755)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 17:43:01 +0100
+
+
+openmolar (0.2.1+bzr0754-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 754)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 15:17:35 +0100
+
+
+openmolar (0.2.1+bzr0753-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 753)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 12:37:38 +0100
+
+
+openmolar (0.2.1+bzr0752-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 752)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 11:30:55 +0100
+
+
+openmolar (0.2.1+bzr0751-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 751)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Jun 2012 23:21:24 +0100
+
+
+openmolar (0.2.1+bzr0750-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 750)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Jun 2012 10:04:33 +0100
+
+
+openmolar (0.2.1+bzr0749-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (ability to specify dentist for recall)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 21 Jun 2012 18:27:55 +0100
+
+
+openmolar (0.2.1+bzr0748-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (uses **kwargs for connection, thus avoiding passing a blank dict in for ssl_settings)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 19 Jun 2012 23:37:07 +0100
+
+
+openmolar (0.2.1+bzr0746-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (fixes the translation problem)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 08 Jun 2012 13:36:36 +0100
+
+
+openmolar (0.2.1+bzr0745-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 08 Jun 2012 09:34:30 +0100
+
+
+openmolar (0.2.1+bzr0744-2~__DIST__2) __DIST__; urgency=low
+
+ * new build script envoking pbuilder
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 06 Jun 2012 13:56:37 +0100
+
+
+openmolar (0.2.1+bzr0744-1~__DIST__1) __DIST__; urgency=low
+
+ * trial build with new pbuilder environment
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 06 Jun 2012 10:46:47 +0100
+
+
+openmolar (0.2.1+bzr0744-0~__DIST__0) __DIST__; urgency=low
+
+ * trial build
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 01 Jun 2012 15:30:44 +0100
diff --git a/build_scripts/debian_packaging/dh_python2/debian/compat b/build_scripts/debian_packaging/dh_python2/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/build_scripts/debian_packaging/dh_python2/debian/control b/build_scripts/debian_packaging/dh_python2/debian/control
new file mode 100644
index 0000000..502f4bd
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/control
@@ -0,0 +1,18 @@
+Source: openmolar
+Section: misc
+Priority: extra
+Maintainer: Neil Wallace <rowinggolfer at googlemail.com>
+Build-Depends: python, debhelper (>= 7)
+Homepage: http://www.openmolar.com
+Vcs-browser: https://code.launchpad.net/openmolar
+Standards-Version: 3.9.3
+
+Package: openmolar-orig
+Architecture: all
+Depends: ${misc:Depends}, ${python:Depends}, python-qt4 (>=4.4.0), python-mysqldb, xdg-utils, python-qscintilla2
+Replaces: openmolar
+XB-Python-Version: ${python:Versions}
+Description: Dental Practice Management Software
+ see https://launchpad.net/openmolar for project description and links
+ .
+ irc channel (for devs and users) is #openmolar on freenode.net
diff --git a/build_scripts/debian_packaging/dh_python2/debian/copyright b/build_scripts/debian_packaging/dh_python2/debian/copyright
new file mode 100644
index 0000000..8254a6c
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/copyright
@@ -0,0 +1,40 @@
+This package was debianized by:
+
+ Neil Wallace <rowinggolfer at googlemail.com> on Tues, 5 Dec 2011 13:20:09 +0000
+
+It was downloaded from:
+
+ http://www.openmolar.com
+
+Upstream Author(s):
+
+ Neil Wallace (rowinggolfer)
+
+Copyright:
+
+ Copyright (C) 2009-2011 Neil Wallace
+
+License:
+
+ This package 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 3 of the License, or
+ (at your option) any later version.
+
+ This package 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 package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
+The Debian packaging is:
+
+ Copyright C) 2009-2011, Neil Wallace <rowinggolfer at googlemail.com>
+
+and is licensed under the GPL, see above.
diff --git a/build_scripts/debian_packaging/dh_python2/debian/docs b/build_scripts/debian_packaging/dh_python2/debian/docs
new file mode 100644
index 0000000..e845566
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/docs
@@ -0,0 +1 @@
+README
diff --git a/build_scripts/debian_packaging/dh_python2/debian/rules b/build_scripts/debian_packaging/dh_python2/debian/rules
new file mode 100755
index 0000000..dec3f11
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/rules
@@ -0,0 +1,3 @@
+#!/usr/bin/make -f
+%:
+ dh $@ --buildsystem=python_distutils --with=python2
diff --git a/build_scripts/debian_packaging/dh_python2/debian/source/format b/build_scripts/debian_packaging/dh_python2/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/build_scripts/debian_packaging/dh_python2/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/build_scripts/debian_packaging/py_central/debian/changelog b/build_scripts/debian_packaging/py_central/debian/changelog
new file mode 100644
index 0000000..6b618b1
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/changelog
@@ -0,0 +1,555 @@
+openmolar (0.4.09+bzr0843-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Jun 2013 12:50:09 +0100
+
+
+openmolar (0.4.09+bzr0842-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream bugfix
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Jun 2013 10:30:07 +0100
+
+
+openmolar (0.4.09+bzr0840-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 27 Jun 2013 00:02:55 +0100
+
+
+openmolar (0.4.07+bzr0839-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 26 Jun 2013 10:55:19 +0100
+
+
+openmolar (0.4.07+bzr0837-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 24 Jun 2013 16:14:26 +0100
+
+
+openmolar (0.4.06+bzr0836-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 24 Jun 2013 10:00:12 +0100
+
+
+openmolar (0.4.06+bzr0833-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 13 Jun 2013 22:29:04 +0100
+
+
+openmolar (0.4.06+bzr0832-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 13 Jun 2013 15:21:27 +0100
+
+
+openmolar (0.4.05+bzr0832-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 10 Jun 2013 13:40:57 +0100
+
+
+openmolar (0.4.04+bzr0831-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 10 Jun 2013 10:06:41 +0100
+
+
+openmolar (0.4.03+bzr0830-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 07 Jun 2013 12:45:39 +0100
+
+
+openmolar (0.4.02+bzr0829-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 04 Jun 2013 18:01:09 +0100
+
+
+openmolar (0.4.01+bzr0828-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 27 May 2013 22:06:47 +0100
+
+
+openmolar (0.4.0+bzr0827-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 27 May 2013 16:13:13 +0100
+
+
+openmolar (0.3.9+bzr0825-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream changes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 24 May 2013 10:50:41 +0100
+
+
+openmolar (0.3.9+bzr0824-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 23 May 2013 11:30:36 +0100
+
+
+openmolar (0.3.8+bzr0822-0~__DIST__0) __DIST__; urgency=low
+
+ * reinstated address search when no relatives linked
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 23:17:09 +0100
+
+
+openmolar (0.3.8+bzr0820-0~__DIST__0) __DIST__; urgency=low
+
+ * bugfix for 0.3.8
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 15:19:56 +0100
+
+
+openmolar (0.3.8+bzr0819-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 21 May 2013 11:23:42 +0100
+
+
+openmolar (0.3.7+bzr0818-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 11 May 2013 00:09:22 +0100
+
+
+openmolar (0.3.7+bzr0816-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 30 Apr 2013 18:19:29 +0100
+
+
+openmolar (0.3.7+bzr0815-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 30 Apr 2013 16:41:13 +0100
+
+
+openmolar (0.3.6+bzr0814-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 23:01:03 +0100
+
+
+openmolar (0.3.5+bzr0813-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 00:27:49 +0100
+
+
+openmolar (0.3.5+bzr0812-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 25 Apr 2013 00:01:09 +0100
+
+
+openmolar (0.3.4+bzr0807-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 17 Apr 2013 20:59:59 +0100
+
+
+openmolar (0.3.3+bzr0805-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 04 Mar 2013 11:08:52 +0000
+
+
+openmolar (0.3.2+bzr0804-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 01 Mar 2013 13:34:46 +0000
+
+
+openmolar (0.3.2+bzr0802-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 28 Feb 2013 23:32:10 +0000
+
+
+openmolar (0.3.2+bzr0799-0~__DIST__0) __DIST__; urgency=low
+
+ * bug fixes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 04 Feb 2013 12:23:50 +0000
+
+
+openmolar (0.3.2+bzr0798-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release (invokes a schema change)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 02 Feb 2013 21:39:01 +0000
+
+
+openmolar (0.3.1+bzr0776-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 28 Oct 2012 19:59:14 +0000
+
+
+openmolar (0.3.1+bzr0775-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 26 Oct 2012 01:31:51 +0100
+
+
+openmolar (0.3.1+bzr0774-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream release
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 26 Oct 2012 00:21:08 +0100
+
+
+openmolar (0.3.0+bzr0773-0~__DIST__0) __DIST__; urgency=low
+
+ * patched for python2.6
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 23 Oct 2012 14:25:30 +0100
+
+
+openmolar (0.3.0+bzr0772-0~__DIST__0) __DIST__; urgency=low
+
+ * ability to edit today's notes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 22 Oct 2012 18:38:53 +0100
+
+
+openmolar (0.3.0+bzr0771-0~__DIST__0) __DIST__; urgency=low
+
+ * re-introduced system date into the new formatted_notes
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 22 Oct 2012 10:28:49 +0100
+
+
+openmolar (0.3.0+bzr0770-0~__DIST__0) __DIST__; urgency=low
+
+ * ui tweaks
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 20 Oct 2012 01:50:13 +0100
+
+
+openmolar (0.2.3+bzr0769-0~__DIST__0) __DIST__; urgency=low
+
+ * upstream tweak
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 19 Oct 2012 17:52:14 +0100
+
+
+openmolar (0.2.3+bzr0768-0~__DIST__0) __DIST__; urgency=low
+
+ * New upstream version with a significant schema change
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 19 Oct 2012 17:36:08 +0100
+
+
+openmolar (0.2.2+bzr0766-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 03 Oct 2012 23:04:44 +0100
+
+
+openmolar (0.2.2+bzr0765-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 28 Sep 2012 12:31:40 +0100
+
+
+openmolar (0.2.2+bzr0763-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 19 Sep 2012 22:53:58 +0100
+
+
+openmolar (0.2.2+bzr0762-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 05 Aug 2012 09:44:22 +0100
+
+
+openmolar (0.2.2+bzr0761-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 05 Aug 2012 00:33:09 +0100
+
+
+openmolar (0.2.2+bzr0760-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sat, 04 Aug 2012 23:29:13 +0100
+
+
+openmolar (0.2.1+bzr0755-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 755)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 17:42:46 +0100
+
+
+openmolar (0.2.1+bzr0754-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 754)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 15:17:18 +0100
+
+
+openmolar (0.2.1+bzr0753-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 753)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 12:37:18 +0100
+
+
+openmolar (0.2.1+bzr0752-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 752)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 26 Jun 2012 11:30:31 +0100
+
+
+openmolar (0.2.1+bzr0751-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 751)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Jun 2012 23:21:04 +0100
+
+
+openmolar (0.2.1+bzr0750-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (bzr 750)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 25 Jun 2012 10:04:06 +0100
+
+
+openmolar (0.2.1+bzr0749-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (ability to specify dentist for recall)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 21 Jun 2012 18:27:16 +0100
+
+
+openmolar (0.2.1+bzr0748-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (uses **kwargs for connection, thus avoiding passing a blank dict in for ssl_settings)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 19 Jun 2012 23:36:24 +0100
+
+
+openmolar (0.2.1+bzr0746-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version (fixes the translation problem)
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 08 Jun 2012 13:36:06 +0100
+
+
+openmolar (0.2.1+bzr0745-0~__DIST__0) __DIST__; urgency=low
+
+ * new upstream version
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 08 Jun 2012 09:34:02 +0100
+
+
+openmolar (0.2.1+bzr0744-1~__DIST__1) __DIST__; urgency=low
+
+ * new lucid build using a local pbuilder
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 06 Jun 2012 14:04:15 +0100
+
+
+openmolar (0.2.1+bzr0744-0~__DIST__0) __DIST__; urgency=low
+
+ * trial build
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 01 Jun 2012 14:06:38 +0100
+
+
+openmolar (0.2.0-8~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 722 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 19 Aug 2010 07:54:04 +0100
+
+openmolar (0.2.0-7~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 715 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 07 June 2010 11:55:40 +0100
+
+openmolar (0.2.0-6~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 715 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Mon, 07 June 2010 11:55:40 +0100
+
+openmolar (0.2.0-5~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 713 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 06 June 2010 10:25:39 +0100
+
+openmolar (0.2.0-4~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 711 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 03 June 2010 20:37:03 +0100
+
+openmolar (0.2.0-3~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 710 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 01 June 2010 22:36:29 +0100
+
+openmolar (0.2.0-2~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 707 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 01 June 2010 01:23:12 +0100
+
+openmolar (0.2.0-1~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 707 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 01 June 2010 01:23:12 +0100
+
+openmolar (0.2.0-0~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 707 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 01 June 2010 01:23:12 +0100
+
+openmolar (0.1.9-17~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 639 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 24 Mar 2010 13:27:53 +0000
+
+openmolar (0.1.9-16~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 637 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 24 Mar 2010 11:44:04 +0000
+
+openmolar (0.1.9-15~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 635 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 23 Mar 2010 14:19:28 +0000
+
+openmolar (0.1.9-14~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 635 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 23 Mar 2010 14:19:28 +0000
+
+openmolar (0.1.9-13~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 631 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 23 Mar 2010 01:12:50 +0000
+
+openmolar (0.1.9-12~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 604 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 02 Mar 2010 15:00:37 +0000
+
+openmolar (0.1.9-11~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 604 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 02 Mar 2010 15:00:37 +0000
+
+openmolar (0.1.9-10~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 604 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 02 Mar 2010 15:00:37 +0000
+
+openmolar (0.1.9-9~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 600 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 28 Feb 2010 11:10:34 +0000
+
+openmolar (0.1.9-8~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 600 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 28 Feb 2010 11:10:34 +0000
+
+openmolar (0.1.9-7~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 600 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Sun, 28 Feb 2010 11:10:34 +0000
+
+openmolar (0.1.9-6~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 597 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Fri, 26 Feb 2010 02:12:25 +0000
+
+openmolar (0.1.9-5~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 589 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 17 Feb 2010 03:10:27 +0000
+
+openmolar (0.1.9-4~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 589 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Wed, 17 Feb 2010 03:10:27 +0000
+
+openmolar (0.1.9-3~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 580 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Thu, 11 Feb 2010 13:22:02 +0000
+
+openmolar (0.1.9-2~__DIST__1) __DIST__; urgency=low
+
+ * as per bzr version 575 see https://launchpad.net/openmolar for details
+
+ -- Neil Wallace <rowinggolfer at googlemail.com> Tue, 09 Feb 2010 12:23:19 +0000
diff --git a/build_scripts/debian_packaging/py_central/debian/compat b/build_scripts/debian_packaging/py_central/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/build_scripts/debian_packaging/py_central/debian/control b/build_scripts/debian_packaging/py_central/debian/control
new file mode 100644
index 0000000..d84b85d
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/control
@@ -0,0 +1,19 @@
+Source: openmolar
+Section: misc
+Priority: extra
+Maintainer: Neil Wallace <rowinggolfer at googlemail.com>
+Build-Depends: cdbs (>=0.4.49), debhelper (>= 5), python-central (>=0.5.6), python
+XS-Python-Version: >=2.5
+Standards-Version: 3.8.0
+Homepage: https://launchpad.net/openmolar
+
+Package: openmolar-orig
+Architecture: all
+Depends: ${misc:Depends}, ${python:Depends}, python-qt4 (>=4.4.0), python-mysqldb, xdg-utils
+Replaces: openmolar
+XB-Python-Version: ${python:Versions}
+Description: Dental Practice Management Software
+ see https://launchpad.net/openmolar for project description and links
+ .
+ irc channel (for devs and users) is #openmolar on freenode.net
+
diff --git a/build_scripts/debian_packaging/py_central/debian/copyright b/build_scripts/debian_packaging/py_central/debian/copyright
new file mode 100644
index 0000000..c971a8e
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/copyright
@@ -0,0 +1,40 @@
+This package was debianized by:
+
+ Neil Wallace <rowinggolfer at googlemail.com> on Tues, 1 Jun 2010 01:20:09 +0100
+
+It was downloaded from:
+
+ https://launchpad.net/openmolar
+
+Upstream Author(s):
+
+ Neil Wallace (rowinggolfer)
+
+Copyright:
+
+ Copyright (C) 2009 Neil Wallace
+
+License:
+
+ This package 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 3 of the License, or
+ (at your option) any later version.
+
+ This package 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 package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
+The Debian packaging is:
+
+ Copyright C) 2009, Neil Wallace <rowinggolfer at googlemail.com>
+
+and is licensed under the GPL, see above.
diff --git a/build_scripts/debian_packaging/py_central/debian/docs b/build_scripts/debian_packaging/py_central/debian/docs
new file mode 100644
index 0000000..e845566
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/docs
@@ -0,0 +1 @@
+README
diff --git a/build_scripts/debian_packaging/py_central/debian/files b/build_scripts/debian_packaging/py_central/debian/files
new file mode 100644
index 0000000..f806733
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/files
@@ -0,0 +1 @@
+<openmolar-orig>.deb misc extra
diff --git a/build_scripts/debian_packaging/py_central/debian/pycompat b/build_scripts/debian_packaging/py_central/debian/pycompat
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/pycompat
@@ -0,0 +1 @@
+2
diff --git a/build_scripts/debian_packaging/py_central/debian/rules b/build_scripts/debian_packaging/py_central/debian/rules
new file mode 100755
index 0000000..528517d
--- /dev/null
+++ b/build_scripts/debian_packaging/py_central/debian/rules
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+
+DEB_PYTHON_SYSTEM=pycentral
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+
+# Add here any variable or target overrides you need.
diff --git a/build_scripts/get_git_branch.py b/build_scripts/get_git_branch.py
new file mode 100755
index 0000000..53579c8
--- /dev/null
+++ b/build_scripts/get_git_branch.py
@@ -0,0 +1,36 @@
+#! /usr/bin/python
+'''
+usage is:
+ 'get_git_branch.py' to return the repo working directory
+ 'get_git_branch.py main' to return path to the maingui.py file
+ 'get_git_branch.py module' to return the path which contains the openmolar modules"
+'''
+import git
+import os
+import sys
+
+userdir = os.path.expanduser("~")
+
+file_path = os.path.abspath(os.curdir)
+
+if not file_path.startswith(userdir):
+ sys.exit("command not run from a subdirectory of %s"% userdir)
+
+try:
+ repo = git.Repo(file_path)
+except git.InvalidGitRepositoryError:
+ sys.exit(1)
+
+module_path = os.path.join(repo.working_dir, "src")
+main_path = os.path.join(module_path, "openmolar", "qt4gui", "maingui.py")
+
+if "help" in sys.argv or "--help" in sys.argv:
+ print (__doc__)
+elif "module" in sys.argv:
+ print (module_path)
+elif "main" in sys.argv:
+ print (main_path)
+else:
+ print (repo.working_dir)
+
+sys.exit(0)
diff --git a/build_scripts/get_version.py b/build_scripts/get_version.py
new file mode 100755
index 0000000..b68715c
--- /dev/null
+++ b/build_scripts/get_version.py
@@ -0,0 +1,13 @@
+#! /usr/bin/env python
+
+import os
+import sys
+
+base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+sys.path.insert(0, os.path.join(base_dir, "src"))
+
+from openmolar.settings.version import VERSION
+
+if __name__ == "__main__":
+ print (VERSION)
diff --git a/build_scripts/version_name.py b/build_scripts/version_name.py
new file mode 100755
index 0000000..e84ea15
--- /dev/null
+++ b/build_scripts/version_name.py
@@ -0,0 +1,42 @@
+#! /usr/bin/env python
+
+'''
+read a changelog, and get the package name
+
+parses a changelog with this 1st line
+"openmolar-namespace (2.0.5+hg007-2~unstable0) unstable; urgency=low"
+
+usage python version_name.py [DEBFOLDER]
+
+output is "openmolar-namespace_2.0.5+hg007"
+'''
+
+
+import os
+import re
+import sys
+
+try:
+ debian_directory = sys.argv[1]
+except IndexError:
+ sys.exit("version_name script called with no arguments")
+
+if not os.path.isdir(debian_directory):
+ sys.exit("'%s' is not a directory"% debian_directory)
+
+filepath = os.path.join(debian_directory, "changelog")
+
+try:
+ f = open(filepath)
+ data = f.read()
+ f.close()
+
+ matches = re.match("(.*) \((.*)-", data).groups()
+
+ debname = "%s_%s"% (matches[0], matches[1])
+
+ print (debname)
+
+except:
+ sys.exit("unable to parse changelog %s"% filepath)
+
diff --git a/openmolar b/openmolar
new file mode 100755
index 0000000..17420dc
--- /dev/null
+++ b/openmolar
@@ -0,0 +1,12 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+from openmolar import main
+
+main.run()
diff --git a/openmolar.spec b/openmolar.spec
new file mode 100644
index 0000000..79701cc
--- /dev/null
+++ b/openmolar.spec
@@ -0,0 +1,41 @@
+%define name openmolar
+%define version 0.1.9
+%define unmangled_version 0.1.9
+%define release 1
+
+Summary: Open Source Dental Practice Management Software
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Source0: %{name}-%{unmangled_version}.tar.gz
+License: GPL v3
+Group: Office
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+Prefix: %{_prefix}
+BuildArch: noarch
+BuildRequires: python-devel, -post-build-checks
+Requires: PyQt4, MySQL-python
+Vendor: Neil Wallace <rowinggolfer at googlemail.com>
+Url: https://launchpad.net/openmolar
+
+%description
+Dental Practice Management Suite, using a Mysql database server to maintain patient records, accounts, and correspondence.
+
+%prep
+%setup -n %{name}-%{unmangled_version}
+
+%build
+python setup.py build
+
+%install
+python setup.py install --prefix=/usr --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f INSTALLED_FILES
+%defattr(-,root,root)
+
+%changelog
+* Sun Feb 7 2010 rowinggolfer at googlemail.com
+- packaged openmolar version 0.1.9
diff --git a/setup.py b/setup.py
new file mode 100755
index 0000000..e4c3ad5
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+from distutils.command.install_data import install_data
+from distutils.core import setup
+from distutils.dep_util import newer
+from distutils.log import info
+
+import glob
+import os
+import re
+import sys
+
+
+OM_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), "src")
+sys.path.insert(0, OM_PATH)
+# quieten down the logger!
+sys.argv.append("-q")
+from openmolar.settings.localsettings import VERSION
+
+class InstallData(install_data):
+ def run(self):
+ self.data_files.extend(self._compile_po_files())
+ install_data.run(self)
+
+ def _compile_po_files(self):
+ print "COMPILING PO FILES"
+ i18nfiles = []
+ if not os.path.isdir("src/openmolar/locale/"):
+ print "WARNING - language files are missing!"
+ for po in glob.glob("src/openmolar/locale/*.po"):
+ directory, file = os.path.split(po)
+ lang = file.replace(".po","")
+ mo = os.path.join(directory, lang)
+ try:
+ os.mkdir(mo)
+ except OSError:
+ pass
+ mo = os.path.join(mo, "openmolar.mo")
+ if not os.path.exists(mo) or newer(po, mo):
+ cmd = 'msgfmt -o %s %s' % (mo, po)
+ info ('compiling %s -> %s' % (po, mo))
+ if os.system(cmd) != 0:
+ info('Error while running msgfmt on %s'% po)
+
+ destdir = os.path.join ("/usr","share", "locale", lang,
+ "LC_MESSAGES")
+
+ i18nfiles.append((destdir, [mo]))
+ return i18nfiles
+
+if os.path.isfile("MANIFEST"):
+ os.unlink("MANIFEST")
+
+setup(
+ name = 'openmolar',
+ version = VERSION,
+ description = 'Open Source Dental Practice Management Software',
+ author = 'Neil Wallace',
+ author_email = 'rowinggolfer at googlemail.com',
+ url = 'https://launchpad.net/openmolar',
+ license = 'GPL v3',
+ package_dir = {'openmolar' : 'src/openmolar'},
+ packages = ['openmolar',
+ 'openmolar.backports',
+ 'openmolar.dbtools',
+ 'openmolar.schema_upgrades',
+ 'openmolar.qt4gui',
+ 'openmolar.qt4gui.dialogs',
+ 'openmolar.qt4gui.appointment_gui_modules',
+ 'openmolar.qt4gui.charts',
+ 'openmolar.qt4gui.compiled_uis',
+ 'openmolar.qt4gui.customwidgets',
+ 'openmolar.qt4gui.dialogs',
+ 'openmolar.qt4gui.fees',
+ 'openmolar.qt4gui.feescale_editor',
+ 'openmolar.qt4gui.phrasebook',
+ 'openmolar.qt4gui.printing',
+ 'openmolar.qt4gui.printing.gp17',
+ 'openmolar.qt4gui.tools',
+ 'openmolar.settings',
+ 'openmolar.ptModules'],
+ package_data = {'openmolar' : ['resources/icons/*.*',
+ 'resources/teeth/*.png',
+ 'resources/gp17/*.jpg',
+ 'resources/gp17-1/*.png',
+ 'resources/feescales/*.xml',
+ 'resources/feescales/*.xsd',
+ 'resources/phrasebook/*.*',
+ 'resources/*.*',
+ 'html/*.*',
+ 'html/images/*.*',
+ 'html/firstrun/*.*',] },
+ data_files = [
+ ('/usr/share/icons/hicolor/scalable/apps', ['bin/openmolar.svg']),
+ ('/usr/share/applications', ['bin/openmolar.desktop']),],
+ cmdclass = {'install_data': InstallData},
+ scripts = ['openmolar'],
+ )
diff --git a/src/openmolar/GPLv3.txt b/src/openmolar/GPLv3.txt
new file mode 100644
index 0000000..131e828
--- /dev/null
+++ b/src/openmolar/GPLv3.txt
@@ -0,0 +1,191 @@
+
+
+GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it [...]
+
+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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If [...]
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+TERMS AND CONDITIONS
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominen [...]
+1. Source Code.
+
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window syst [...]
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes int [...]
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+2. Basic Permissions.
+
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you mus [...]
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+4. Conveying Verbatim Copies.
+
+You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+5. Conveying Modified Source Versions.
+
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ * a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+ * b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+ * c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+ * d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregat [...]
+6. Conveying Non-Source Forms.
+
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ * a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+ * b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software inte [...]
+ * c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+ * d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying f [...]
+ * e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the [...]
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neithe [...]
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+7. Additional Terms.
+
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License [...]
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ * a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+ * b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+ * c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+ * d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+ * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+ * f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license [...]
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+8. Termination.
+
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you in [...]
+10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source o [...]
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+11. Patents.
+
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a [...]
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent w [...]
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and un [...]
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+12. No Surrender of Others' Freedom.
+
+If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to [...]
+13. Use with the GNU Affero General Public License.
+
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination [...]
+14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+15. Disclaimer of Warranty.
+
+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 C [...]
+16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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 WIT [...]
+17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
diff --git a/src/openmolar/__init__.py b/src/openmolar/__init__.py
new file mode 100755
index 0000000..3eda4a5
--- /dev/null
+++ b/src/openmolar/__init__.py
@@ -0,0 +1,65 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import os
+import sys
+import logging
+import gettext
+
+if "neil" in os.path.expanduser("~"):
+ FORMAT = \
+ '%(levelname)s {%(filename)s:%(lineno)d} %(funcName)s - %(message)s'
+else:
+ FORMAT = '%(levelname)s - %(message)s'
+
+stream_handler = logging.StreamHandler()
+formatter = logging.Formatter(FORMAT)
+stream_handler.setFormatter(formatter)
+#logging.basicConfig(level = logging.INFO, format=FORMAT)
+
+LOGGER = logging.getLogger("openmolar")
+LOGGER.addHandler(stream_handler)
+
+if "-q" in sys.argv:
+ LOGGER.setLevel(logging.WARNING)
+elif "-v" in sys.argv:
+ LOGGER.setLevel(logging.DEBUG)
+else:
+ LOGGER.setLevel(logging.INFO)
+
+LOGGER.debug("running openmolar base module = %s"% os.path.dirname(__file__))
+
+lang = os.environ.get("LANG")
+if lang:
+ try:
+ LOGGER.debug("trying to install your environment language", lang)
+ lang1 = gettext.translation('openmolar', languages=[lang,])
+ lang1.install(unicode=True)
+ except IOError:
+ LOGGER.warning("%s not found, using default"% lang)
+ gettext.install('openmolar', unicode=True)
+else:
+ #-- on windows.. os.environ.get("LANG") is None
+ LOGGER("no language environment found")
+ gettext.install('openmolar', unicode=True)
+
+
diff --git a/src/openmolar/backports/__init__.py b/src/openmolar/backports/__init__.py
new file mode 100644
index 0000000..72c1670
--- /dev/null
+++ b/src/openmolar/backports/__init__.py
@@ -0,0 +1 @@
+from ordered_dict import OrderedDict
\ No newline at end of file
diff --git a/src/openmolar/backports/ordered_dict.py b/src/openmolar/backports/ordered_dict.py
new file mode 100644
index 0000000..5b3b199
--- /dev/null
+++ b/src/openmolar/backports/ordered_dict.py
@@ -0,0 +1,93 @@
+#! /usr/bin/env python
+'''
+Ordered Dict came in python 2.7 and 3.1
+
+taken from http://code.activestate.com/recipes/576669/
+'''
+
+from collections import MutableMapping
+
+class OrderedDict(dict, MutableMapping):
+
+ # Methods with direct access to underlying attributes
+
+ def __init__(self, *args, **kwds):
+ if len(args) > 1:
+ raise TypeError('expected at 1 argument, got %d', len(args))
+ if not hasattr(self, '_keys'):
+ self._keys = []
+ self.update(*args, **kwds)
+
+ def clear(self):
+ del self._keys[:]
+ dict.clear(self)
+
+ def __setitem__(self, key, value):
+ if key not in self:
+ self._keys.append(key)
+ dict.__setitem__(self, key, value)
+
+ def __delitem__(self, key):
+ dict.__delitem__(self, key)
+ self._keys.remove(key)
+
+ def __iter__(self):
+ return iter(self._keys)
+
+ def __reversed__(self):
+ return reversed(self._keys)
+
+ def popitem(self):
+ if not self:
+ raise KeyError
+ key = self._keys.pop()
+ value = dict.pop(self, key)
+ return key, value
+
+ def __reduce__(self):
+ items = [[k, self[k]] for k in self]
+ inst_dict = vars(self).copy()
+ inst_dict.pop('_keys', None)
+ return (self.__class__, (items,), inst_dict)
+
+ # Methods with indirect access via the above methods
+
+ setdefault = MutableMapping.setdefault
+ update = MutableMapping.update
+ pop = MutableMapping.pop
+ keys = MutableMapping.keys
+ values = MutableMapping.values
+ items = MutableMapping.items
+
+ def __repr__(self):
+ pairs = ', '.join(map('%r: %r'.__mod__, self.items()))
+ return '%s({%s})' % (self.__class__.__name__, pairs)
+
+ def copy(self):
+ return self.__class__(self)
+
+ @classmethod
+ def fromkeys(cls, iterable, value=None):
+ d = cls()
+ for key in iterable:
+ d[key] = value
+ return d
+
+ def iteritems(self):
+ for key in self.keys():
+ yield(key, self[key])
+
+if __name__ == "__main__":
+ d = OrderedDict()
+ d[1] = "neil"
+ d[4] = "fraser"
+ d[2] = "bea"
+ d[3] = "iona"
+
+ print d.keys()
+
+ for key, value in d.iteritems():
+ print key, value
+
+ for value in d.itervalues():
+ print value
diff --git a/src/openmolar/backports/printed_form.py b/src/openmolar/backports/printed_form.py
new file mode 100644
index 0000000..8f80e52
--- /dev/null
+++ b/src/openmolar/backports/printed_form.py
@@ -0,0 +1,163 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing on an A4 Sheet
+'''
+
+from __future__ import division
+import logging
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+class PrintedForm(object):
+ '''
+ a class to set up and print an a4 form
+ '''
+ testing_mode = False
+ print_background = False
+
+ rects = {}
+ off_set = QtCore.QPoint(0,0)
+ scale_x = 1
+ scale_y = 1
+
+ def __init__(self):
+
+ self.printer = QtGui.QPrinter()
+ self.pdfprinter = QtGui.QPrinter()
+ self.pdfprinter.setPrinterName("PDF PRINTER")
+ self.pdfprinter.setOutputFormat(QtGui.QPrinter.PdfFormat)
+ self.pdfprinter.setOutputFileName(localsettings.TEMP_PDF)
+
+ self.chosen_printer = self.printer
+
+ for printer in (self.printer, self.pdfprinter):
+ printer.setPageSize(QtGui.QPrinter.A4)
+ printer.setFullPage(True)
+ printer.setResolution(96)
+
+ def set_testing_mode(self, mode):
+ self.testing_mode = mode
+
+ def set_background_mode(self, mode):
+ self.print_background = mode
+
+ def set_offset(self, x, y):
+ '''
+ offsets all printing by x,y
+ '''
+ self.off_set = QtCore.QPointF(x,y)
+
+ def set_scaling(self, scale_x, scale_y):
+ '''
+ offsets all printing by x,y
+ '''
+ self.scale_x = scale_x
+ self.scale_y = scale_y
+
+ def controlled_print(self):
+ '''
+ raise a dialog before printing
+ '''
+ dl = QtGui.QPrintDialog(self.printer)
+ if dl.exec_():
+ self.chosen_printer = self.printer
+ self.print_()
+ self.set_background_mode(False)
+ self.set_testing_mode(True)
+ self.chosen_printer = self.pdfprinter
+ self.print_()
+
+ return True
+
+ @property
+ def BACKGROUND_IMAGE(self):
+ '''
+ overwrite this image when subclassing.
+ '''
+ LOGGER.error("No pixmap set")
+ return QtGui.QPixmap()
+
+ def print_(self, painter=None):
+ '''
+ print the background and any rects if in testing_mode
+
+ note - this functions return the active painter so that classes which
+ inherit from PrintedForm can finalise the printing.
+ '''
+ LOGGER.info("printing to %s"% self.chosen_printer.printerName())
+ if painter is None:
+ painter = QtGui.QPainter(self.chosen_printer)
+
+ if self.print_background:
+ pm = self.BACKGROUND_IMAGE
+ if not pm.isNull():
+ painter.save()
+ painter.translate(
+ -self.printer.pageRect().x(),
+ -self.printer.pageRect().y()
+ )
+ painter.drawPixmap(self.printer.paperRect(), pm, pm.rect())
+ painter.restore()
+
+ else:
+ LOGGER.warning("background image is null")
+
+ painter.translate(self.off_set)
+ LOGGER.info("translating form by %s"% self.off_set)
+ painter.scale(self.scale_x, self.scale_y)
+ LOGGER.info("scaling output by %s x %s"% (self.scale_x, self.scale_y))
+
+ if self.testing_mode: #outline the boxes
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ painter.setBrush(QtGui.QBrush(QtCore.Qt.black))
+ painter.drawRect(0,0,20,5)
+ painter.drawRect(0,0,5,20)
+ painter.restore()
+
+ # put down a marker at position 0 (for alignment purposes)
+
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ for rect in self.rects.values():
+ painter.drawRect(rect)
+ painter.restore()
+
+ return painter
+
+if __name__ == "__main__":
+ import os
+ os.chdir(os.path.expanduser("~")) # for print to file
+
+ app = QtGui.QApplication([])
+ form = PrintedForm()
+ form.testing_mode = True
+
+ form.rects = {"test":QtCore.QRect(100,100,100,100)}
+
+ form.controlled_print()
+
diff --git a/src/openmolar/connect.py b/src/openmolar/connect.py
new file mode 100755
index 0000000..4b3f1f6
--- /dev/null
+++ b/src/openmolar/connect.py
@@ -0,0 +1,189 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009-2013 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+
+'''this module has one purpose... provide a connection to the mysqldatabase
+using 3rd party MySQLdb module'''
+
+import base64
+import logging
+import sys
+import time
+import subprocess
+from xml.dom import minidom
+
+import MySQLdb
+
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+
+mainconnection = None
+
+LOGGER.debug("parsing the global settings file")
+dom = minidom.parse(localsettings.cflocation)
+
+settingsversion = dom.getElementsByTagName("version")[0].firstChild.data
+sysPassword = dom.getElementsByTagName("system_password")[0].firstChild.data
+
+xmlnode = dom.getElementsByTagName("server")[localsettings.chosenserver]
+command_nodes = xmlnode.getElementsByTagName("command")
+for command_node in command_nodes:
+ LOGGER.info("commands found in conf file!")
+ commands = command_node.getElementsByTagName("str")
+ command_list = []
+ for command in commands:
+ command_list.append(command.firstChild.data)
+ if command_list:
+ LOGGER.info("executing"% str(command_list))
+ subprocess.Popen(command_list)
+
+myHost = xmlnode.getElementsByTagName("location")[0].firstChild.data
+myPort = int(xmlnode.getElementsByTagName("port")[0].firstChild.data)
+sslnode = xmlnode.getElementsByTagName("ssl")
+
+xmlnode = dom.getElementsByTagName("database")[localsettings.chosenserver]
+myUser = xmlnode.getElementsByTagName("user")[0].firstChild.data
+myPassword = xmlnode.getElementsByTagName("password")[0].firstChild.data
+if settingsversion == "1.1":
+ myPassword = base64.b64decode(myPassword)
+
+myDb = xmlnode.getElementsByTagName("dbname")[0].firstChild.data
+
+def database_name():
+ return "%s %s:%s"% (myDb, myHost, myPort)
+
+kwargs = {
+ "host":myHost,
+ "port":myPort,
+ "user":myUser,
+ "passwd":myPassword,
+ "db":myDb,
+ "use_unicode":True,
+ "charset":"utf8"
+ }
+
+if sslnode and sslnode[0].firstChild.data=="True":
+ #-- to enable ssl... add <ssl>True</ssl> to the conf file
+ LOGGER.debug("using ssl")
+ #-- note, dictionary could have up to 5 params.
+ #-- ca, cert, key, capath and cipher
+ #-- however, IIUC, just using ca will encrypt the data
+ kwargs["ssl_settings"] = {'ca': '/etc/mysql/ca-cert.pem'}
+else:
+ LOGGER.warning("not using ssl (you really should!)")
+
+dom.unlink()
+
+GeneralError = MySQLdb.Error
+ProgrammingError = MySQLdb.ProgrammingError
+IntegrityError = MySQLdb.IntegrityError
+OperationalError = MySQLdb.OperationalError
+
+class omSQLresult(object):
+ '''
+ a class used in returning the result of sql queries
+ '''
+ def __init__(self):
+ self.message = ""
+ self.number = 0
+ self.result = False
+
+ def __nonzero__(self):
+ '''
+ used in case the class is used thus
+ if omSQLresult:
+ '''
+ return self.result
+
+ def setMessage(self, arg):
+ '''
+ set the message associated with the result
+ '''
+ self.message = arg
+
+ def getMessage(self):
+ '''
+ get the message associated with the result
+ '''
+ return self.message
+
+ def setNumber(self, arg):
+ '''
+ set the number of rows grabbed by the result
+ '''
+ self.number = arg
+
+ def getNumber(self):
+ '''
+ get the number of rows grabbed by the result
+ '''
+ return self.number
+
+def connect():
+ '''
+ returns a MySQLdb object, connected to the database specified in the
+ settings file
+ '''
+ global mainconnection
+ attempts = 0
+ while attempts < 30:
+ try:
+ if not (mainconnection and mainconnection.open):
+ LOGGER.info("New database connection needed")
+ LOGGER.debug(
+ "connecting to %s on %s port %s"% (myDb, myHost, myPort))
+
+ mainconnection = MySQLdb.connect(**kwargs)
+ mainconnection.autocommit(True)
+ else:
+ mainconnection.commit()
+
+ return mainconnection
+ except MySQLdb.Error as exc:
+ LOGGER.error("unable to connect to Mysql database")
+ LOGGER.info("will attempt re-connect in 2 seconds...")
+ mainconnection = None
+ time.sleep(2)
+ attempts += 1
+
+ raise exc
+
+if __name__ == "__main__":
+ import time
+ from openmolar.settings import localsettings
+ localsettings.initiate()
+
+ LOGGER.setLevel(logging.DEBUG)
+
+ LOGGER.debug("using conffile - %s"% localsettings.cflocation)
+ for i in range(1, 11):
+ try:
+ LOGGER.debug("connecting....")
+ dbc = connect()
+ LOGGER.info(dbc.info())
+ LOGGER.debug('ok... we can make Mysql connections!!')
+ LOGGER.debug(" loop no %d "% i)
+ if i == 2:
+ #close the db... let's check it reconnects
+ dbc.close()
+ if i == 4:
+ #make a slightly bad query... let's check we get a warning
+ c = dbc.cursor()
+ c.execute(
+ 'update patients set dob="196912091" where serialno=4')
+ c.close()
+ except Exception as exc:
+ LOGGER.exception("exception caught?")
+
+ time.sleep(5)
+
+ dbc.close()
diff --git a/src/openmolar/createdemodatabase.py b/src/openmolar/createdemodatabase.py
new file mode 100644
index 0000000..3c2b9ef
--- /dev/null
+++ b/src/openmolar/createdemodatabase.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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
+# version 3 of the License, or (at your option) any later version. It is
+# provided for educational purposes and 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.
+
+'''
+this module takes the demo dump and creates a database from it with the
+correct user permissions.
+'''
+
+import MySQLdb
+import os
+from openmolar.settings import localsettings
+
+def create_database(myhost, myport, myuser, mypassword, databaseName,
+rootMySQLpassword):
+ #-- connect as mysqlroot to create the database
+
+ db = MySQLdb.connect(
+ host = myhost, port=myport, user="root", passwd=rootMySQLpassword)
+
+ cursor = db.cursor()
+ try:
+ print "deleting any existing openmolar_demo database....",
+ print cursor.execute("DROP DATABASE IF EXISTS %s"% databaseName)
+ except:
+ print "non found... skipping"
+ pass
+ print "creating database...",
+ print cursor.execute("CREATE DATABASE %s"% databaseName)
+
+ #-- note for production deployments, only grant
+ #-- select,insert,update,delete privileges
+ query = 'GRANT ALL PRIVILEGES ON %s.* TO %s@%s IDENTIFIED BY "%s"'% (
+ databaseName, myuser, myhost, mypassword)
+ print "setting privileges for '%s'"% myuser
+ cursor.execute(query)
+ cursor.close()
+ db.commit()
+ db.close()
+ print "db created sucessfully"
+ return True
+
+def loadTables(myhost, myport, myuser, mypassword, databaseName):
+ wkdir = localsettings.determine_path()
+ f = open(os.path.join(wkdir,"resources","demodump.sql"),"r")
+ dumpString = f.read()
+ f.close()
+ print myhost, myport, myuser, databaseName, mypassword
+ db = MySQLdb.connect(host = myhost, port = myport,
+ user = myuser, db = databaseName, passwd = mypassword)
+
+ cursor = db.cursor()
+ cursor.execute(dumpString)
+ cursor.close()
+ db.commit()
+ db.close()
+ return True
+
+if __name__ == "__main__":
+ rootpass = raw_input("please enter your MySQL root users password :")
+ if create_database("localhost", 3306, "OMuser", "password",
+ "openmolar_demo", rootpass):
+ print "New database created sucessfully"
+
+ loadTables("localhost", 3306, "OMuser", "password", "openmolar_demo")
diff --git a/src/openmolar/dbtools/__init__.py b/src/openmolar/dbtools/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/dbtools/accounts.py b/src/openmolar/dbtools/accounts.py
new file mode 100644
index 0000000..d83c642
--- /dev/null
+++ b/src/openmolar/dbtools/accounts.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+'''
+module to retrieve a list of patients who owe money
+'''
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+def details():
+ '''
+ get all patients owing money where the debt has not been written off
+ '''
+ db = connect()
+ cursor = db.cursor()
+ query = '''select dnt1,serialno ,cset, fname,sname,dob,memo,pd4,billdate,
+ billtype,billct,courseno0,
+ (money0 + money1 + money9 + money10 - money2 - money3 - money8) as fees
+ from patients where
+ (money0 + money1 + money9 + money10 - money2 - money3 - money8) > 0
+ order by pd4 desc'''
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+ #db.close()
+ return rows
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ print details()
diff --git a/src/openmolar/dbtools/appointments.py b/src/openmolar/dbtools/appointments.py
new file mode 100755
index 0000000..3e4bf16
--- /dev/null
+++ b/src/openmolar/dbtools/appointments.py
@@ -0,0 +1,1645 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+import datetime
+import logging
+
+from openmolar.settings import localsettings
+from openmolar.connect import (connect,
+ omSQLresult, ProgrammingError, OperationalError)
+
+LOGGER = logging.getLogger("openmolar")
+
+class FreeSlot(object):
+ '''
+ a custom data object to represent a slot
+ (ie. a free space in dentists book)
+ '''
+ is_slot = True
+ def __init__(self, date_time=None, dent=0, length=0):
+ self.dent = dent
+ self.date_time = date_time
+ self.length = length
+
+ def date(self):
+ return self.date_time.date()
+
+ @property
+ def day_no(self):
+ return self.date().isoweekday()
+
+ def time(self):
+ return self.date_time.time()
+
+ @property
+ def finish_time(self):
+ return self.date_time + datetime.timedelta(minutes=self.length)
+
+ @property
+ def mpm(self):
+ return localsettings.pyTimeToMinutesPastMidnight(self.time())
+
+ @property
+ def mpm_end(self):
+ return self.mpm + self.length
+
+ def __lt__(self, other):
+ return self.date_time < other.date_time
+ def __le__(self, other):
+ return self.date_time <= other.date_time
+ def __eq__(self, other):
+ try:
+ return self.__dict__ == other.__dict__
+ except AttributeError:
+ return False
+ def __ne__(self, other):
+ return self.__dict__ != other.__dict__
+ def __gt__(self, other):
+ return self.date_time > other.date_time
+ def __ge__(self, other):
+ return self.date_time >= other.date_time
+
+ def __repr__(self):
+ return "%s , dent %s, %s mins SLOT"% (self.date_time, self.dent,
+ self.length)
+
+
+ def wait_time(self, appt1_length, appt2_length, slot):
+ '''
+ how long would a patient be kept waiting?
+ this is a complex bit of logic!!!!
+ '''
+
+ #step one get appointment bounds
+
+ appt1_earliest_start = self.date_time
+ appt1_latest_start = \
+ self.finish_time - datetime.timedelta(minutes=appt1_length)
+ appt1_earliest_finish = \
+ self.date_time + datetime.timedelta(minutes=appt1_length)
+ appt1_latest_finish = self.finish_time
+
+ appt2_earliest_start = slot.date_time
+ appt2_latest_start = \
+ slot.finish_time - datetime.timedelta(minutes=appt2_length)
+ appt2_earliest_finish = \
+ slot.date_time + datetime.timedelta(minutes=appt2_length)
+ appt2_latest_finish = slot.finish_time
+
+ #step two - calcuate wait times.
+ # appt1 first
+ max_wait = appt2_latest_start - appt1_earliest_finish
+ min_wait = appt2_earliest_start - appt1_latest_finish
+
+ waiting_time = None
+ if min_wait.days == 0:
+ waiting_time = min_wait.seconds//60
+ else: # minimum wait is negative!!
+ if max_wait.days == 0:
+ waiting_time = 0
+
+ #if waiting_time == 0:
+ # return waiting_time
+
+ # appt2 first
+ max_wait = appt1_latest_start - appt2_earliest_finish
+ min_wait = appt1_earliest_start - appt2_latest_finish
+
+ other_waiting_time = None
+ if min_wait.days == 0:
+ other_waiting_time = min_wait.seconds//60
+ else: # minimum wait is negative!!
+ if max_wait.days == 0:
+ other_waiting_time = 0
+
+ #print "EARLIEST APPT 1 ", appt1_earliest_start, appt1_earliest_finish
+ #print "LATEST APPT 1 ", appt1_latest_start, appt1_latest_finish
+ #print "EARLIEST APPT 2 ", appt2_earliest_start, appt2_earliest_finish
+ #print "LATEST APPT 2 ", appt2_latest_start, appt2_latest_finish
+ #print "MIN WAIT ", min_wait
+ #print "MAX WAIT ", max_wait
+ #print "WAITING TIME IF APPT1 first = %s MINUTES"% waiting_time
+ #print "WAITING TIME IF APPT2 first = %s MINUTES"% other_waiting_time
+
+ if waiting_time == other_waiting_time:
+ # print "waiting_time == other_waiting_time"
+ return waiting_time
+ elif waiting_time is None:
+ # print "waiting_time is None"
+ return other_waiting_time
+ elif other_waiting_time is None:
+ # print "other_waiting_time is None"
+ return waiting_time
+ elif waiting_time < other_waiting_time:
+ # print "waiting_time < other_waiting_time"
+ return waiting_time
+ else:
+ # print "else"
+ return other_waiting_time
+
+
+ def best_joint(self, appt1_length, appt2_length, slots):
+ '''
+ the idea here is a list of slots is checked and the best one returned
+ along with the amount of time the patient would be waiting
+ returns a tuple (best_slot, wait)
+ '''
+ chosen_slot = None
+ chosen_wait = 60*24 # number of minutes in a day!
+ for slot in slots:
+ wait = self.wait_time(appt1_length, appt2_length, slot)
+
+ if wait is not None and wait < chosen_wait:
+ chosen_wait = wait
+ chosen_slot = slot
+
+ return (chosen_slot, chosen_wait)
+
+class AgendaAppointment(FreeSlot):
+ text = ""
+ is_slot = False
+ def __repr__(self):
+ return "%s , dent %s, %s mins %s"% (self.date_time, self.dent,
+ self.length, self.text)
+
+class WeekViewAppointment(object):
+ '''
+ a custom data object to contain data relevant to the painting of
+ the appointment_overviewwidget
+ '''
+ mpm = 0
+ length = 0
+ serialno = 0
+ isBlock = False
+ name = ""
+ isEmergency = False
+ cset = ""
+ trt = ""
+
+ @property
+ def end_mpm(self):
+ return self.mpm + self.length
+
+ def __lt__(self, other):
+ return self.mpm < other.mpm
+ def __le__(self, other):
+ return self.mpm <= other.mpm
+ def __eq__(self, other):
+ return self.mpm == other.mpm
+ def __ne__(self, other):
+ return self.mpm != other.mpm
+ def __gt__(self, other):
+ return self.mpm > other.mpm
+ def __ge__(self, other):
+ return self.mpm >= other.mpm
+
+ def __repr__(self):
+ return "WeekViewAppointment.%s %s %d mins past midnight for %d mins"% (
+ self.name, self.cset, self.mpm, self.length)
+
+class APR_Appointment(object):
+ '''
+ a class to hold data about a patient's appointment
+ '''
+ def __init__(self):
+ self.serialno = 0
+ self.aprix = 0
+ self.dent = 0
+ self.name = ""
+ self.date = None
+ self.cset = ""
+ self.atime = 0
+ self.length = 0
+ self.today = False
+ self.past = False
+ self.future = False
+
+ self.memo = ""
+ self.trt1 = ""
+ self.trt2 = ""
+ self.trt3 = ""
+ self.datespec = ""
+ self.flag = 1
+
+ @property
+ def dent_inits(self):
+ return localsettings.apptix_reverse.get(self.dent,"?")
+
+ @property
+ def readableDate(self):
+ #return localsettings.readableDate(self.date)
+ return localsettings.formatDate(self.date)
+
+ @property
+ def readableTime(self):
+ return localsettings.wystimeToHumanTime(self.atime)
+
+ @property
+ def treatment(self):
+ return "%s %s %s"% (self.trt1, self.trt2, self.trt3)
+
+ @property
+ def unscheduled(self):
+ return self.date is None
+
+ def past_or_present(self):
+ '''
+ perform logic to decide if past/present future
+ '''
+ today = localsettings.currentDay()
+ if not self.unscheduled:
+ self.today = self.date == today
+ self.past = self.date < today
+ if self.today:
+ self.future = self.atime > localsettings.int_timestamp()
+ else:
+ self.future = self.date > today
+
+ @property
+ def html(self):
+ return "%s %s with %s for %s"% (self.readableTime,
+ self.readableDate, self.dent_inits, self.treatment)
+
+ def __repr__(self):
+ return "serialno=%s %s scheduled=%s dent=%s trt=%s length= %s ix=%s"%(
+ self.serialno, self.date, not self.unscheduled, self.dent_inits,
+ self.trt1, self.length, self.aprix)
+
+ def __cmp__(self, other):
+ eq = type(self) == type(other)
+ if eq:
+ for key in self.__dict__.keys():
+ if self.__dict__[key] != other.__dict__[key]:
+ eq = False
+ break
+ if eq:
+ return 0
+ else:
+ return 1
+
+class DaySummary(object):
+ '''
+ a data structure to hold just summary data for a day
+ '''
+ def __init__(self):
+ self.date = datetime.date(1900,1,1)
+ self.earliest_start = 2359
+ self.latest_end = 0
+ self.workingDents = ()
+ self.inOffice = {}
+ self.memo = "today"
+ self.memos = {}
+ self.appointments = ()
+
+ def setDate(self, date):
+ '''
+ update the class with data for date
+ '''
+ self.date = date
+ workingDents = []
+ self.inOffice = {}
+ self.memos = {}
+ self.startTimes = {}
+ self.endTimes = {}
+ self.earliest_start = 2359
+ self.latest_end = 0
+ self.memo = "%s %s"% (localsettings.readableDate(date), self.header())
+
+ for dent in getWorkingDents(self.date):
+ self.memos[dent.ix] = dent.memo
+ self.startTimes[dent.ix] = dent.start
+ self.endTimes[dent.ix] = dent.end
+ self.inOffice[dent.ix] = dent.flag
+ if dent.flag != 0:
+ workingDents.append(dent.ix)
+ if dent.start < self.earliest_start:
+ self.earliest_start = dent.start
+ if dent.end > self.latest_end:
+ self.latest_end = dent.end
+ self.workingDents = tuple(workingDents)
+
+class DayAppointmentData(DaySummary):
+ '''
+ a data structure to hold all data for a day
+ '''
+ appointments = ()
+ workingDents = ()
+
+ def __init__(self):
+ DaySummary.__init__(self)
+
+ def header(self):
+ '''
+ get any text from the calendar table + memo for dentist 0
+ '''
+ retarg = ""
+ bh = getBankHol(self.date)
+ if bh != "":
+ retarg += " <i>'%s'</i>"% bh
+ gm = getGlobalMemo(self.date)
+ if gm != "":
+ retarg += " - %s"% gm
+ return retarg
+
+ def getMemo(self, dent):
+ '''
+ return the memo for the dent, or "" if there is none
+ '''
+ try:
+ return self.memos[dent]
+ except KeyError:
+ return ""
+
+ def getStart(self, dent):
+ '''
+ return the memo for the dent, or "" if there is none
+ '''
+ try:
+ return self.startTimes[dent]
+ except KeyError:
+ return 1200
+
+ def getEnd(self, dent):
+ '''
+ return the memo for the dent, or "" if there is none
+ '''
+ try:
+ return self.endTimes[dent]
+ except KeyError:
+ return 1200
+
+ def getAppointments(self, dents="ALL"):
+ '''
+ get the appointments for the date.
+ '''
+ working_dents = []
+ for dent in localsettings.activedents + localsettings.activehygs:
+ apptix = localsettings.apptix[dent]
+ if dents=="ALL" or apptix in dents:
+ working_dents.append(apptix)
+
+ if dents != "ALL":
+ for dent in working_dents[:]:
+ if not dent in dents:
+ working_dents.remove(dent)
+
+ self.workingDents = tuple(working_dents)
+ self.appointments = allAppointmentData(self.date, self.workingDents)
+
+ def dentAppointments(self, dent):
+ '''
+ return only appointments for the specified dent
+ '''
+ retList = []
+ for app in self.appointments:
+ if app[0] == dent:
+ yield app
+
+ def slots(self, minlength, ignore_emergency=False, dents=None):
+ '''
+ return slots for this day
+ '''
+ slotlist = []
+ if dents == None:
+ dents = self.workingDents
+
+ for dent in dents:
+ if self.inOffice.get(dent, False):
+ appt_times_list = []
+ for app in self.dentAppointments(dent):
+ if (not ignore_emergency or
+ not(app[4] == 0 and app[3].lower() == "emergency")
+ ):
+ appt_times_list.append((app[1], app[2]))
+ if appt_times_list:
+ slotlist += slots(self.date, dent, self.getStart(dent),
+ appt_times_list, self.getEnd(dent))
+
+ return getLengthySlots(slotlist, minlength)
+
+class DentistDay():
+ '''
+ a small class to store data about a dentist's day
+ '''
+ start = 830
+ end = 1800
+ flag = False
+ memo = ""
+
+ def __init__(self, apptix=0):
+ self.date = datetime.date.today()
+ self.ix = apptix
+ self.initials = localsettings.apptix_reverse.get(apptix,"???")
+ #a boolean showing if day is in use? (stored as a tiny int though)
+
+ def __repr__(self):
+ retarg = "DentistDay %s %s %s %s - %s '%s'"% (
+ self.initials, "IN" if self.flag else "FALSE",
+ self.date, self.start, self.end, self.memo)
+ return retarg
+
+ def length(self):
+ '''
+ return the length of the working day (in minutes)
+ '''
+ time1 = localsettings.minutesPastMidnight(self.start)
+ time2 = localsettings.minutesPastMidnight(self.end)
+ return time2-time1
+
+ @property
+ def start_mpm(self):
+ return localsettings.minutesPastMidnight(self.start)
+
+ @property
+ def end_mpm(self):
+ return localsettings.minutesPastMidnight(self.end)
+
+
+class PrintableAppointment():
+ '''
+ a class to store data used when printing a daylist
+ '''
+ def __init__(self):
+ self.start = 0
+ self.end = 0
+ self.name = ""
+ self.serialno = 0
+ self.treat = ""
+ self.note = ""
+ self.cset = ""
+
+ def getStart(self):
+ '''
+ returns the day start in format set by localsettings Human Time
+ '''
+ return localsettings.wystimeToHumanTime(self.start)
+
+ def setName(self, arg1, arg2):
+ '''
+ sets the name to be displayed on the daylist
+ example
+ arg1="LUNCH"
+ arg2="Wallace N"
+ '''
+ name = arg2
+ if name == None:
+ name = arg1
+ if name != None and self.serialno != 0:
+ name = name.title()
+ if name != None:
+ self.name = name
+
+ def setSerialno(self, arg):
+ '''
+ set serialno
+ '''
+ if arg != None:
+ self.serialno = arg
+
+ def setTreat(self, arg):
+ '''
+ set what is planned for the appointment
+ '''
+ if arg != None:
+ self.treat = arg.strip()
+
+ def setCset(self, arg):
+ '''
+ cset is the TYPE of patient (P,N,I....)
+ '''
+ if arg != None:
+ self.cset = arg
+
+ def length(self):
+ '''
+ returns the appointment length (in minutes)
+ '''
+ time1 = localsettings.minutesPastMidnight(self.start)
+ time2 = localsettings.minutesPastMidnight(self.end)
+ return time2-time1
+
+ def __repr__(self):
+ return "%s %s %s %s %s %s %s %s"% (self.start, self.end, self.name,
+ self.serialno, self.treat, self.note, self.cset, self.length())
+
+
+class AgendaData(object):
+
+ def __init__(self):
+ self._items = []
+ self._active_slot = None
+
+ def add_appointment(self, adate, appt):
+
+ dent = appt[0]
+ date_time = datetime.datetime.combine(adate,
+ localsettings.wystimeToPyTime(appt[1]))
+
+ length = (localsettings.minutesPastMidnight(appt[2]) -
+ localsettings.minutesPastMidnight(appt[1]))
+ ag_appt = AgendaAppointment(date_time, dent, length)
+ ag_appt.text = "%s %s %s %s %s %s"% appt[3:9]
+ self._items.append(ag_appt)
+
+ def add_slot(self, slot):
+ self._items.append(slot)
+
+ def items(self, start=None, finish=None):
+ for item in sorted(self._items):
+ yield item
+
+ def set_active_slot(self, slot):
+ self._active_slot = slot
+
+ def to_html(self):
+ text = '''<html><head><link rel="stylesheet"
+ href="%s" type="text/css"></head>
+ <body><ul>'''% localsettings.stylesheet
+ for item in self.items(self):
+ if self._active_slot and item == self._active_slot:
+ text += '<li class="active_slot">%s</li>'% item
+ elif item.is_slot:
+ text += '<li class="slot">%s</li>'% item
+ else:
+ text += "<li>%s</li>"% item
+ return text + "</ul></body></html>"
+
+
+def slots(adate, apptix, start, apdata, fin):
+ '''
+ takes data like 830 ((830, 845), (900, 915), (1115, 1130), (1300, 1400),
+ (1400, 1420), (1600, 1630)) 1800
+ and returns a tuple of results like (FreeSlot, FreeSlot, ....)
+ '''
+ #--slotlength is required appt length, in minutes
+
+ #-- modified this on 18_11_2009, for the situation when a clinician's day
+ #-- start may be later than any first appointment in that book
+ #-- this facilitates having lunch etc.. already in place for a non used
+ #-- day.
+ aptstart = localsettings.minutesPastMidnight(start)
+ dayfin = localsettings.minutesPastMidnight(fin)
+ if dayfin <= aptstart:
+ return ()
+ results = []
+ for ap in apdata:
+ sMin = localsettings.minutesPastMidnight(ap[0])
+ fMin = localsettings.minutesPastMidnight(ap[1])
+ slength = sMin-aptstart
+ if slength > 0:
+ date_time = datetime.datetime.combine(adate,
+ localsettings.minutesPastMidnightToPyTime(aptstart))
+
+ slot = FreeSlot(date_time, apptix, slength)
+ results.append(slot)
+
+ if fMin > aptstart:
+ aptstart = fMin
+ if aptstart >= dayfin:
+ break
+
+ slength = dayfin-aptstart
+ if slength > 0:
+ date_time = datetime.datetime.combine(adate,
+ localsettings.minutesPastMidnightToPyTime(aptstart))
+
+ slot = FreeSlot(date_time, apptix, slength)
+ results.append(slot)
+
+ return results
+
+def getLengthySlots(slots, length):
+ '''
+ sort through the list of slots, and filter out those with inadequate length
+ '''
+ retlist = []
+ now = datetime.datetime.now()
+ for slot in slots:
+ if slot.length >= length and slot.finish_time > now:
+ retlist.append(slot)
+ return retlist
+
+
+def updateAday(uddate, arg):
+ '''
+ takes an instance of the workingDay class
+ and updates the database
+ returns an omSQLresult
+ '''
+ db = connect()
+ cursor = db.cursor()
+ result = omSQLresult()
+ query = '''insert into aday (memo, adate, apptix, start, end, flag)
+ values (%s,%s, %s, %s, %s, %s)
+ on duplicate key
+ update memo=%s, adate=%s, apptix=%s, start=%s, end=%s, flag=%s'''
+
+ values = (arg.memo, uddate, arg.apptix, arg.sqlStart(), arg.sqlFinish(),
+ arg.active)*2
+
+ result.setNumber(cursor.execute(query, values))
+
+ if result:
+ db.commit()
+ return result
+
+def alterDay(arg):
+ '''
+ takes a DentistDay object tries to change the aday table
+ returns an omSQLresult
+ '''
+ #-- this method is called from the apptOpenDay Dialog, which is deprecated!!
+ print "DEPRECATED FUNCTION CALLED alterDay"
+ db = connect()
+ cursor = db.cursor()
+ result = omSQLresult()
+ query = 'SELECT flag FROM aday WHERE adate="%s" and apptix=%d'% (
+ arg.date, arg.apptix)
+
+ if cursor.execute(query):
+ #-- dentists diary includes this date
+ query = '''update aday set start=%s,end=%s,flag=%s, memo=%s
+ where adate=%s and apptix=%s'''
+ values = (arg.start, arg.end, arg.flag, arg.memo, arg.date,
+ arg.ix)
+
+ result.setNumber(cursor.execute(query,values))
+
+ if result.getNumber() == 1:
+ result.setMessage("Date sucessfully modified")
+ else:
+ result.setMessage(
+ "No changes applied - the values you supplied " + \
+ "are the same as the existing.")
+
+ db.commit()
+
+ else:
+ result.setMessage("The date you have tried to modify is " + \
+ "beyond the dates opened for dentist %s"%(
+ localsettings.ops.get(arg.ix),))
+
+ return result
+
+def todays_patients(dents):
+ '''
+ get todays patients for dents supplied as a tuple such as (4,5)
+ or (0,) for all
+ used to populate the combobox on the front page
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ if 0 in dents:
+ cond=""
+ values = (localsettings.currentDay(),)
+ else:
+ cond = "and (" + "apptix=%s or " * (len(dents)-1) + "apptix=%s )"
+ values = (localsettings.currentDay(),) + dents
+
+ query = 'SELECT serialno,name FROM aslot WHERE adate=%s ' + cond + \
+ ' and serialno!=0 ORDER BY name'
+
+ cursor.execute(query, values)
+ rows = cursor.fetchall()
+ cursor.close()
+ return rows
+
+
+def getWorkingDents(adate, dents=(0,), include_non_working=True):
+ '''
+ dentists are part time, or take holidays...this proc takes a date,
+ and optionally a tuple of dents
+ then checks to see if they are flagged as off that day
+ '''
+ db = connect()
+ cursor = db.cursor()
+ if 0 in dents:
+ cond = "AND apptix != 0 "
+ values = (adate,)
+ else:
+ cond = "and (" + "apptix=%s or " * (len(dents)-1) + "apptix=%s ) "
+ values = (adate,) + dents
+
+ if not include_non_working:
+ cond += " AND (flag=1 or flag=2)"
+
+ query = 'SELECT apptix,start,end,memo,flag FROM aday WHERE adate=%s ' \
+ + cond
+
+ cursor.execute(query, values)
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ ##originally I just return the rows here...
+ for apptix, start, end, memo, flag in rows:
+ d_day = DentistDay(apptix)
+ d_day.start = start
+ d_day.end = end
+ d_day.memo = memo
+ d_day.flag = bool(flag)
+ yield d_day
+
+
+def getAllClinicians(adate):
+ '''
+ returns a list of all active clinical books.
+ '''
+ wds = list(getWorkingDents(adate))
+ start = DentistDay.start
+ end = DentistDay.end
+ for wd in wds:
+ if start < wd.start:
+ start = wd.start
+ if end > wd.end:
+ end = wd.end
+
+ for dent in localsettings.activedent_ixs + localsettings.activehyg_ixs:
+ found = False
+ for wd in wds:
+ found = wd.ix == dent
+ if found:
+ yield wd
+ break
+ if not found:
+ d_day = DentistDay(dent)
+ yield d_day
+
+
+def getDayInfo(startdate, enddate, dents=() ):
+ '''
+ get any day memo's for a range of dents and tuple of dentists
+ if month = 0, return all memos for the given year
+ useage is getDayInfo(pydate,pydate,(1,4))
+ start date is inclusive, enddate not so
+ '''
+ dents = (0,) + dents
+
+ cond = "and (" + "apptix=%s or " * (len(dents)-1) + "apptix=%s ) "
+
+ query = '''SELECT adate, apptix, start, end, memo, flag FROM aday
+ WHERE adate>=%s AND adate<%s ''' + cond
+
+ values = (startdate, enddate) + dents
+
+ db = connect()
+ cursor = db.cursor()
+
+ cursor.execute(query, values)
+
+ rows = cursor.fetchall()
+ cursor.close()
+ data = {}
+ for adate, apptix, start, end, memo, flag in rows:
+ key = "%d%02d"% (adate.month, adate.day)
+ dent = DentistDay(apptix)
+ dent.start = start
+ dent.end = end
+ dent.memo = memo
+ dent.flag = bool(flag)
+ if data.has_key(key):
+ data[key].append(dent)
+ else:
+ data[key] = [dent]
+
+ return data
+
+def getBankHol(adate):
+ '''
+ get Bank Hol for one specific date
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ query = '''SELECT memo FROM calendar WHERE adate=%s'''
+ retarg = ""
+
+ try:
+ cursor.execute(query, (adate, ))
+
+ rows = cursor.fetchall()
+ cursor.close()
+ for row in rows:
+ retarg += "%s "% row
+ except ProgrammingError, e:
+ #in case their is no bank holiday table.
+ retarg = "couldn't get Bank Holiday details"
+ return retarg
+
+def getGlobalMemo(date):
+ '''
+ get global memo for one specific date
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ query = '''SELECT memo FROM aday WHERE adate=%s and apptix=0'''
+
+ cursor.execute(query, (date, ))
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ retarg = ""
+ for row in rows:
+ retarg += "%s "% row
+ return retarg
+
+def getBankHols(startdate, enddate):
+ '''
+ useage is getBankHols(pydate,pydate)
+ start date is inclusive, enddate not so
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ query = '''SELECT adate, memo FROM calendar WHERE memo!="" AND
+ adate>=%s AND adate<%s'''
+
+ data = {}
+ try:
+ cursor.execute(query, (startdate, enddate))
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ for row in rows:
+ key = "%d%02d"% (row[0].month, row[0].day)
+ data[key] = row[1]
+ except ProgrammingError, e:
+ print "couldn't get Bank Holiday details"
+ return data
+
+def setMemos(adate, memos):
+ '''
+ updates the aday table with memos
+ useage is setMemos(pydate, ((4, "NW not working"),(5, "BW is")))
+ '''
+ print "setting memos", memos
+ db = connect()
+ cursor = db.cursor()
+ query = '''insert into aday (memo, adate, apptix, start, end)
+ values (%s,%s, %s, %s, %s)
+ on duplicate key update memo=%s'''
+
+ start = localsettings.pyTimetoWystime(localsettings.earliestStart)
+ end = localsettings.pyTimetoWystime(localsettings.latestFinish)
+ for apptix, memo in memos:
+ values = (memo, adate, apptix, start, end, memo)
+ cursor.execute(query, values)
+ cursor.close()
+
+def get_appt_note(sno, adate, atime, dentist):
+ db = connect()
+ cursor = db.cursor()
+ query = '''select note from aslot
+ where serialno=%s and adate=%s and apptix=%s and start=%s'''
+ values = (sno, adate, dentist, atime)
+ cursor.execute(query, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ if not len(rows) == 1:
+ return ("", False)
+ note = rows[0][0]
+ return (note, True)
+
+def set_appt_note(sno, adate, atime, dentist, note):
+ db = connect()
+ cursor = db.cursor()
+ query = '''update aslot set note=%s
+ where serialno=%s and adate=%s and apptix=%s and start=%s'''
+ values = (note, sno, adate, dentist, atime)
+ cursor.execute(query, values)
+ query = '''update apr set note=%s
+ where serialno=%s and adate=%s and practix=%s and atime=%s'''
+ cursor.execute(query, values)
+ cursor.close()
+ db.commit()
+
+def setPubHol(adate, arg):
+ '''
+ updates the aday table with memos
+ useage is pubHol(pydate, "Christmas Day")
+ '''
+ print "updating pubHol", arg
+ db = connect()
+ cursor = db.cursor()
+ if arg == "":
+ query = 'delete from calendar where adate = %s'
+ values = (adate,)
+ else:
+ query = '''insert into calendar (adate, memo) values (%s,%s)
+ on duplicate key update memo=%s'''
+ values = (adate, arg, arg)
+ cursor.execute(query, values)
+ cursor.close()
+
+
+def allAppointmentData(adate, dents=()):
+ '''
+ this gets appointment data for a specifc date and dents
+ 2nd arg will frequently be provided by getWorkingDents(adate)
+ '''
+ if dents == ():
+ cond = ""
+ else:
+ cond = "and (" + "apptix=%s or " * (len(dents)-1) + "apptix=%s ) "
+
+ db = connect()
+ cursor = db.cursor()
+ query = '''select apptix,start,end,name,serialno,code0,
+ code1,code2,note,flag0,flag1,flag2,flag3, timestamp from aslot
+ where adate=%s'''
+ query += " %s order by apptix, start"% cond
+ cursor.execute(query, (adate,)+dents)
+
+ data = cursor.fetchall()
+ cursor.close()
+
+ return data
+
+def convertResults(results):
+ '''
+ changes
+ (830, 845) OR
+ (830, 845, serialno, "exam") or
+ (1300,1400, "LUNCH")
+ to and WeekViewAppointment object
+ '''
+ aptlist = []
+ for start, end, serialno, name, cset, trt in results:
+ aow = WeekViewAppointment()
+ aow.mpm = localsettings.minutesPastMidnight(start)
+ aow.length = localsettings.minutesPastMidnight(end) - aow.mpm
+ aow.serialno = serialno
+ aow.cset = cset
+ aow.name = name
+ aow.isBlock = (cset == "block")
+ aow.isEmergency = (aow.isBlock and
+ aow.name.lower() == _("emergency").lower())
+ aow.trt = trt.strip(" ")
+ aptlist.append(aow)
+
+ return tuple(aptlist)
+
+def printableDaylistData(adate, dent):
+ '''
+ gets start,finish and booked appointments for this date
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ query = '''SELECT start,end,memo FROM aday
+ WHERE adate=%s and apptix=%s and (flag=1 or flag=2)'''
+ values = (adate, dent)
+ cursor.execute(query, values)
+
+ daydata = cursor.fetchall()
+ retlist = []
+
+ if daydata != ():
+ #--dentist is working!!
+ #--add any memo
+ retlist.append(daydata[0][2])
+ dayend=daydata[0][1]
+ #--now get data for those days so that we can find slots within
+ query = '''SELECT start,end,name,
+ concat(patients.title," ",patients.fname," ",patients.sname),
+ patients.serialno,concat(code0," ",code1," ",code2),note,patients.cset
+ FROM patients right join aslot on patients.serialno=aslot.serialno
+ WHERE adate = %s and apptix = %s order by start'''
+ cursor.execute(query,values)
+
+ results = cursor.fetchall()
+
+ current_apttime = daydata[0][0]
+ if results:
+ for row in results:
+ pa = PrintableAppointment()
+ pa.start = row[0]
+ pa.end = row[1]
+ pa.setSerialno(row[4]) #--do this BEFORE setting name
+ pa.setName(row[2], row[3])
+ pa.setTreat(row[5])
+ pa.note = row[6]
+ pa.setCset(row[7])
+ if current_apttime < pa.start:
+ #--either a gap or a double appointment
+ extra = PrintableAppointment()
+ extra.start = current_apttime
+ extra.end = pa.start #for length calc
+ retlist.append(extra)
+ retlist.append(pa)
+ if current_apttime < pa.end:
+ current_apttime = pa.end
+ if pa.end < dayend:
+ last_pa = PrintableAppointment()
+ last_pa.start = pa.end
+ last_pa.end = dayend
+ retlist.append(last_pa)
+
+ cursor.close()
+ #db.close()
+ return retlist
+
+def day_summary(adate, dent):
+ '''
+ gets start,finish and booked appointments for this date
+ returned as (start,fin,appts)
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ #--fist get start date and end date
+ query = '''SELECT start, end FROM aday
+ WHERE adate=%s and (flag=1 or flag=2) and apptix=%s'''
+ values = (adate, dent)
+ cursor.execute(query, values)
+
+ daydata = cursor.fetchall()
+ retarg = ()
+ #--now get data for those days so that we can find slots within
+ if daydata != ():
+ query = ('SELECT start, end, serialno, name, char(flag1), '
+ 'concat(code0, " ", code1," ", code2) FROM aslot '
+ 'WHERE adate = %s and apptix = %s AND flag0!=-128 '
+ 'ORDER BY start')
+ cursor.execute(query, values)
+ results = cursor.fetchall()
+ retarg = convertResults(results)
+ cursor.close()
+ return retarg
+
+def getBlocks(adate, dent):
+ '''
+ get emergencies and blocked bits for date,dent
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ query = ('SELECT start, end FROM aday '
+ 'WHERE adate=%s and apptix=%s AND (flag=1 OR flag=2)')
+
+ values = (adate, dent)
+ cursor.execute(query, values)
+
+ retarg = cursor.fetchall()
+
+ query = ""
+ if retarg != ():
+ query = ('SELECT start, end, 0, name, "block", "" FROM aslot '
+ 'WHERE adate=%s and apptix=%s AND flag0=-128 and name!="LUNCH" '
+ 'ORDER BY start')
+ cursor.execute(query, values)
+ results = cursor.fetchall()
+ retarg = convertResults(results)
+ cursor.close()
+
+ return retarg
+
+def getLunch(gbdate, dent):
+ '''
+ get lunchtime for date,dent
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ values = (gbdate, dent)
+
+ query = '''SELECT start, end, 0, "Lunch", "block" , "" FROM aslot
+ WHERE adate = %s and apptix = %s AND name="LUNCH" '''
+
+ cursor.execute(query, values)
+
+ results = cursor.fetchall()
+ cursor.close()
+
+ return convertResults(results)
+
+def clearEms(cedate):
+ '''
+ a convenience function to remove all EMERGENCY apointments
+ on day cedate
+ '''
+ db = connect()
+ cursor = db.cursor()
+ number = 0
+ try:
+ query = \
+ 'delete from aslot WHERE adate=%s and flag0=%s and name like %s'
+ values = (cedate, -128, "%Emergency%")
+ number = cursor.execute(query, values)
+ db.commit()
+ except Exception, ex:
+ print "exception in appointments module, clearEms"
+ print ex
+
+ cursor.close()
+ #db.close()
+ return number
+
+
+def get_pts_appts(pt, printing=False):
+ '''
+ gets appointments from the apr table which stores appointments from
+ patients perspective (including appts which have yet to be scheduled)
+ '''
+ sno = pt.serialno
+ name = pt.fname + " " + pt.sname
+ db = connect()
+ cursor = db.cursor()
+
+ query = '''SELECT serialno, aprix, practix, code0, code1, code2, note,
+ adate, atime, length, datespec FROM apr WHERE serialno=%s '''
+
+ if printing:
+ query += "and adate>=date(NOW())"
+
+
+ #why is aprix added to the sort here? concat of NULL and NULL led to
+ #occasional irregularities
+
+ query += 'order by concat(adate, lpad(atime,4,0)), aprix'
+
+ ## - table also contains flag0,flag1,flag2,flag3,flag4,
+
+ cursor.execute(query, sno)
+
+ rows = cursor.fetchall()
+ #return rows
+ data = []
+ cursor.close()
+ for row in rows:
+ appt = APR_Appointment()
+ appt.serialno = row[0]
+ appt.aprix = row[1]
+ appt.name = name
+ appt.cset = pt.cset
+ appt.dent = row[2]
+ appt.date = row[7]
+ appt.atime = row[8]
+ appt.length = row[9]
+ appt.memo = row[6]
+ appt.trt1 = row[3]
+ appt.trt2 = row[4]
+ appt.trt3 = row[5]
+ appt.datespec = row[10]
+ appt.past_or_present()
+ data.append(appt)
+
+ return data
+
+def has_unscheduled(serialno):
+ '''
+ return a boolean as to whether the patient has unscheduled appointments
+ '''
+ db = connect()
+ cursor = db.cursor()
+ query = "select count(*) from apr where serialno=%s and adate is NULL"
+ cursor.execute(query, (serialno,))
+ rows = cursor.fetchall()
+ cursor.close()
+ result = rows[0][0] != 0
+ LOGGER.debug ("appointments.has_unscheduled is returning %s"% result)
+ return result
+
+def add_pt_appt(serialno, practix, length, code0, aprix=-1, code1="", code2="",
+ note="", datespec="", ctype="P", flag0=1, flag2=0, flag3=0, flag4=0):
+ '''
+ modifies the apr table (patients diary) by adding an appt
+ '''
+ #--if the patients course type isn't present,
+ #--we will have issues later
+ if ctype == "" or ctype == None:
+ flag1 = 32
+ else:
+ flag1 = ord(ctype[0])
+ if code0 == None:
+ code0 = ""
+ if code1 == None:
+ code1 = ""
+ if code2 == None:
+ code2 = ""
+ if note == None:
+ note = ""
+ if datespec == None:
+ datespec = ""
+
+ db = connect()
+ cursor = db.cursor()
+ try:
+ if aprix == -1:
+ #--this means put the appointment at the end
+ fullquery = 'SELECT max(aprix) FROM apr WHERE serialno=%d'% serialno
+ cursor.execute(fullquery)
+
+ data = cursor.fetchall()
+ currentMax = data[0][0]
+ if currentMax:
+ aprix = currentMax+1
+ else:
+ aprix = 1
+
+ query = '''INSERT INTO apr (serialno,aprix,practix,code0,code1,code2,
+ note,length,flag0,flag1,flag2,flag3,flag4,datespec)
+ VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''
+
+ values = (serialno, aprix, practix, code0, code1, code2, note, length,
+ flag0, flag1, flag2, flag3, flag4, datespec)
+
+ cursor.execute(query, values)
+
+ db.commit()
+ result = aprix
+ except Exception, ex:
+ print "exception in appointments.add_pt_appt ", ex
+ result = False
+ cursor.close()
+ #db.close()
+ return result
+
+def modify_pt_appt(aprix, serialno, practix, length, code0, code1="",
+code2="", note="", datespec="", flag1=80, flag0=1, flag2=0, flag3=0, flag4=0):
+ '''
+ modifies the apr table by updating an existing appt
+ '''
+ db = connect()
+ cursor = db.cursor()
+ changes = '''practix=%d,code0="%s",code1="%s",code2="%s",note="%s",
+ length=%d,flag0=%d,flag1=%d,flag2=%d,flag3=%d,flag4=%d,datespec="%s"'''% (
+ practix,code0,code1,code2,note,length,flag0,flag1,flag2,flag3,
+ flag4,datespec)
+
+ fullquery = 'update apr set %s where serialno=%d and aprix=%d'% (
+ changes,serialno,aprix)
+
+ result = True
+ try:
+ cursor.execute(fullquery)
+ db.commit()
+ except Exception, ex:
+ print "exception in appointments.modify_pt_appt ", ex
+ result = False
+ cursor.close()
+ #db.close()
+ return result
+
+def pt_appt_made(serialno, aprix, date, time, dent):
+ '''
+ modifies the apr table, finding the unscheduled version and
+ putting scheduled data in
+ '''
+ db = connect()
+ cursor = db.cursor()
+ result = True
+ try:
+ fullquery = '''UPDATE apr SET adate="%s" ,atime=%d, practix=%d
+ WHERE serialno=%d AND aprix=%d'''% (date, time, dent, serialno, aprix)
+ cursor.execute(fullquery)
+
+ db.commit()
+ except Exception, ex:
+ print "exception in appointments.pt_appt_made ", ex
+ result = False
+ cursor.close()
+ #db.close()
+ return result
+
+def make_appt(make_date, apptix, start, end, name, serialno, code0, code1,
+code2, note, flag0, flag1, flag2, flag3):
+ '''
+ this makes an appointment in the aslot table
+ a trigger in the mysql database checks to see if the appointment
+ clashes with any already made (useful in multi client setups!)
+ '''
+
+ db = connect()
+ cursor = db.cursor()
+ query = '''INSERT INTO aslot (adate,apptix,start,end,name,serialno,
+ code0,code1,code2,note,flag0,flag1,flag2,flag3)
+ VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''
+
+ values = (make_date, apptix, start, end, name, serialno, code0,
+ code1, code2, note, flag0, flag1, flag2, flag3)
+
+ result = False
+ try:
+ result = cursor.execute(query, values)
+ except OperationalError as exc:
+ LOGGER.exception("couldn't insert into aslot %s %s %s serialno %d"% (
+ make_date,apptix,start,serialno))
+
+ cursor.close()
+ return result
+
+
+def cancel_emergency_slot(a_date, apptix, a_start, a_end):
+ '''
+ cancel any emergency slots which fall within this appointment
+ '''
+ db = connect()
+ cursor = db.cursor()
+ query = '''delete from aslot
+ where adate=%s and apptix=%s and name="emergency"
+ and start>=%s and start<=%s
+ '''
+
+ values = (a_date, apptix, a_start, a_end)
+
+ rows = cursor.execute(query, values)
+ LOGGER.warning("deleted %d emergency slots"% rows)
+
+ cursor.close()
+ return rows>0
+
+def fill_appt(bldate, apptix, start, end, bl_start, bl_end, reason, pt):
+ '''
+ this is the procedure called when making an appointment via clicking on a
+ free slot in a DAY view.
+ '''
+ #- 1st check the block is free
+ slots = future_slots(bldate, bldate, (apptix,))
+
+ date_time = datetime.datetime.combine(bldate,start)
+
+ block_length = (localsettings.pyTimeToMinutesPastMidnight(end) -
+ localsettings.pyTimeToMinutesPastMidnight(start))
+
+ this_slot = FreeSlot(date_time, apptix, block_length)
+
+ #-- check block still available!!
+ found = False
+ for slot in slots:
+ if slot == this_slot:
+ found = True
+ break
+ if not found:
+ return False
+
+ name = "%s %s *"% (pt.fname, pt.sname)
+ try:
+ cset = ord(pt.cset[0])
+ except:
+ cset = 0
+
+ make_appt(bldate, apptix, localsettings.pyTimetoWystime(bl_start),
+ localsettings.pyTimetoWystime(bl_end), name,
+ pt.serialno, reason, "", "", "", 1, cset, 0, 0)
+
+ block_length = (localsettings.pyTimeToMinutesPastMidnight(bl_end) -
+ localsettings.pyTimeToMinutesPastMidnight(bl_start))
+ aprix = add_pt_appt(pt.serialno, apptix, block_length, reason)
+
+ print "adjust pt diary"
+ return pt_appt_made(pt.serialno, aprix,
+ bldate, localsettings.pyTimetoWystime(bl_start), apptix)
+
+def block_appt(bldate, apptix, start, end, bl_start, bl_end, reason):
+ '''
+ put a block in the book, with text set as reason
+ '''
+ #- 1st check the block is free
+ slots = future_slots(bldate, bldate, (apptix,))
+
+ date_time = datetime.datetime.combine(bldate,start)
+
+ block_length = (localsettings.pyTimeToMinutesPastMidnight(end) -
+ localsettings.pyTimeToMinutesPastMidnight(start))
+
+ this_slot = FreeSlot(date_time, apptix, block_length)
+ #-- check block still available!!
+ found = False
+ for slot in slots:
+ if slot == this_slot:
+ found = True
+ break
+ if not found:
+ return False
+
+ db = connect()
+ cursor = db.cursor()
+ query = '''INSERT INTO aslot (adate, apptix, start, end, name, serialno,
+ code0, code1, code2, note, flag0, flag1, flag2, flag3)
+ VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''
+
+ values = (bldate, apptix, localsettings.pyTimetoWystime(bl_start),
+ localsettings.pyTimetoWystime(bl_end), reason, 0, "", "", "", "",
+ -128, 0, 0, 0)
+
+ if cursor.execute(query, values):
+ #-- insert call.. so this will always be true unless we have key
+ #-- value errors?
+ db.commit()
+ result = True
+ else:
+ print "couldn't insert into aslot %s %s %s"% (
+ bldate,apptix,start)
+ result = False
+ cursor.close()
+ #db.close()
+ return result
+
+def modify_aslot_appt(moddate, apptix, start, serialno, code0, code1, code2,
+note, flag1, flag0, flag2, flag3):
+ '''
+ this modifies an appointment in the aslot table
+ '''
+ db = connect()
+ cursor = db.cursor()
+ changes = '''code0="%s",code1="%s",code2="%s",note="%s",flag0=%d,
+ flag1=%d,flag2=%d,flag3=%d'''% (
+ code0,code1,code2,note,flag0,flag1,flag2,flag3)
+
+ query = '''update aslot set %s where adate=%%s and apptix=%%s
+ and start=%%s and serialno=%%s'''% changes
+ values = (moddate, apptix, start, serialno)
+
+ try:
+ cursor.execute(query, values)
+ db.commit()
+ result = True
+ except Exception, ex:
+ print "exception in appointments.modify_aslot_appt ", ex
+ print "couldn't modify aslot %s %s %s serialno %d"% (
+ moddate, apptix, start, serialno)
+
+ result = False
+ cursor.close()
+ #db.close()
+ return result
+
+def delete_appt_from_apr(appt):
+ '''
+ this deletes an appointment from the apr table
+ '''
+ db = connect()
+ cursor = db.cursor()
+ result = False
+ query = '''DELETE FROM apr WHERE serialno=%s AND practix=%s '''
+ values = [appt.serialno, appt.dent]
+ if appt.aprix != "UNKNOWN":
+ query += 'AND aprix=%s'
+ values.append(appt.aprix)
+ else:
+ if appt.date == None:
+ query += ' and adate is NULL'
+ else:
+ query += ' and adate =%s'
+ values.append(appt.date)
+ if appt.atime == None:
+ query += ' and atime is NULL'
+ else:
+ query += ' and atime =%s'
+ values.append(appt.atime)
+
+ try:
+ result = cursor.execute(query, tuple(values))
+ db.commit()
+ except Exception, ex:
+ print "exception in appointments.delete_appt_from_apr ", ex
+ cursor.close()
+
+ return result
+
+def made_appt_to_proposed(appt):
+ '''
+ modifies the apr table, when an appointment has been postponed,
+ but not totally cancelled
+ '''
+ db = connect()
+ cursor = db.cursor()
+ result = False
+ if appt.aprix == "UNKNOWN":
+ query = '''select aprix from apr WHERE serialno=%s AND
+ adate=%s and practix=%s and atime=%s '''
+ values = (appt.serialno, appt.date, appt.dent, appt.atime)
+ if not cursor.execute(query, values):
+ LOGGER.warning("unable to get aprix from apr for %s"% appt)
+ return False
+ appt.aprix = cursor.fetchone()[0]
+
+ query = '''UPDATE apr SET adate=NULL, atime=NULL
+ WHERE serialno=%s AND aprix=%s'''
+
+ values = (appt.serialno, appt.aprix)
+
+ try:
+ result = cursor.execute(query, values)
+ db.commit()
+ except Exception as ex:
+ LOGGER.exception("appointments.made_appt_to_proposed")
+ cursor.close()
+
+ return True
+
+
+def delete_appt_from_aslot(appt):
+ #--delete from the appointment book proper
+ result = True
+ db = connect()
+ cursor = db.cursor()
+ result = False
+ try:
+ query = '''DELETE FROM aslot WHERE adate=%s AND serialno=%s
+ AND apptix=%s AND start=%s'''
+ values = (appt.date, appt.serialno, appt.dent, appt.atime)
+ if cursor.execute(query, values):
+ result = True
+ except Exception as ex:
+ LOGGER.exception("appointments.delete_appt_from_aslot")
+ cursor.close()
+
+ return result
+
+
+def future_slots(startdate, enddate, dents, override_emergencies=False):
+ '''
+ get a list of possible appointment positions
+ (between startdate and enddate) that can be offered to the patient
+ '''
+ if dents == ():
+ return ()
+
+ db = connect()
+ cursor = db.cursor()
+ values = [startdate, enddate]
+
+ mystr = " and ("
+ for dent in dents:
+ mystr += "apptix=%s or "
+ values.append(dent)
+ mystr = mystr[0:mystr.rindex(" or")]+")"
+
+ if override_emergencies:
+ emer_sql = ' and name!="emergency" '
+ else:
+ emer_sql = ""
+
+ fullquery = '''SELECT adate, apptix, start, end FROM aday
+ WHERE adate>=%%s AND adate<=%%s AND (flag=1 OR flag= 2) %s
+ ORDER BY adate'''% mystr
+
+ cursor.execute(fullquery, values)
+
+ possible_days = cursor.fetchall()
+ #--get days when a suitable appointment is possible
+ query = ""
+ slotlist = []
+ #--now get data for those days so that we can find slots within
+ for day in possible_days:
+ adate, apptix, daystart, dayfin = day
+ values = (adate, apptix)
+ query = '''select start, end from aslot
+ where adate = %%s and apptix = %%s and flag0!=72 %s order by start
+ '''% emer_sql
+
+ #--flag0!=72 necessary to avoid zero length apps like pain/double/fam
+ cursor.execute(query, values)
+
+ results = cursor.fetchall()
+ slotlist += slots(
+ adate, apptix, daystart, results, dayfin)
+
+ cursor.close()
+ #db.close()
+ return slotlist
+
+if __name__ == "__main__":
+ '''
+ test procedures......
+ '''
+
+ class duckPt(object):
+ def __init__(self):
+ self.serialno = 1
+ self.sname = "Neil"
+ self.fname = "Wallace"
+ self.cset = "P"
+
+ localsettings.initiate()
+
+ testdate = datetime.date(2013,01,25)
+
+ d_a_d = DayAppointmentData()
+ d_a_d.setDate(testdate)
+ d_a_d.getAppointments((4,))
+ print "RESULTS"
+ print "\tWORKING DENTS:\n\t%s"% str(d_a_d.workingDents)
+ print "\tAPPOINTMENTS:"
+ for appt in d_a_d.appointments:
+ print "\t\t%s"% str(appt)
+ print "\tSLOTS:"
+ for slot in d_a_d.slots(30):
+ print "\t\t%s"% slot
+ print "\tSLOTS (ignoring emergencies):"
+ for slot in d_a_d.slots(15, ignore_emergency=True):
+ print "\t\t%s"% slot
+ cancel_emergency_slot(testdate, 4, 1130, 1210)
+
diff --git a/src/openmolar/dbtools/appt_prefs.py b/src/openmolar/dbtools/appt_prefs.py
new file mode 100644
index 0000000..695d65d
--- /dev/null
+++ b/src/openmolar/dbtools/appt_prefs.py
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+from PyQt4.QtCore import QDate
+
+LOGGER = logging.getLogger("openmolar")
+
+#NOTE - the appt_prefs table has unused columns at this point!
+
+QUERY = '''SELECT recall_active, recdent_period, recdent,
+rechyg_period, rechyg, recall_method, note
+from appt_prefs where serialno = %s'''
+
+UPDATE_QUERY = '''replace into appt_prefs
+ (serialno, recall_active, recdent_period, recdent,
+ rechyg_period, rechyg, recall_method, note)
+ values (%s,%s,%s,%s,%s,%s,%s,%s)
+ '''
+
+
+class ApptPrefs(object):
+ '''
+ has a tiny percentage of the footprint (and loading time) of the
+ main patient class
+ '''
+ recall_active = False
+ note = ""
+ def __init__(self, serialno):
+ '''
+ initiate the class with default variables, then load from database
+ '''
+ self.serialno = serialno
+ self.recdent_period = None
+ self.recdent = None
+ self.rechyg_period = None
+ self.rechyg = None
+ self.recall_method = None
+ self.note = ""
+ self.recall_active = False
+
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (self.serialno,))
+ row = cursor.fetchone()
+
+ if not row:
+ return
+
+ (self.recall_active, self.recdent_period, self.recdent ,
+ self.rechyg_period, self.rechyg,
+ self.recall_method, self.note) = row
+
+ if self.note is None:
+ self.note = ""
+ if self.recall_active is None:
+ self.recall_active = False
+
+ def update_recdent(self):
+ if not self.recall_active:
+ return
+ self.recdent = self.new_recdent
+
+ @property
+ def new_recdent(self):
+ if self.recdent_period is None:
+ self.recdent_period = 6
+ return QDate.currentDate().addMonths(self.recdent_period).toPyDate()
+
+ def commit_changes(self):
+ LOGGER.debug("ApptPrefs committing changes")
+ values = (
+ self.serialno,
+ self.recall_active,
+ self.recdent_period, self.recdent ,
+ self.rechyg_period, self.rechyg,
+ self.recall_method,
+ self.note
+ )
+
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(UPDATE_QUERY, values)
+ cursor.close()
+
+ def __repr__(self):
+ return self.__str__()
+
+ def __str__(self):
+ return "%s %s %s %s %s %s %s %s"% (self.serialno,
+ self.recdent_period,
+ self.recdent,
+ self.rechyg_period,
+ self.rechyg,
+ self.recall_method,
+ self.note,
+ self.recall_active)
+
+ def __eq__(self, other):
+ return str(self)== str(other)
+
+ def __ne__(self, other):
+ return str(self)!= str(other)
+
+if __name__ =="__main__":
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=11956
+
+ prefs = ApptPrefs(serialno)
+ for att in prefs.__dict__.keys():
+ print att, prefs.__dict__[att]
+
+ prefs2 = ApptPrefs(serialno)
+
+ print prefs == prefs2
+ print prefs != prefs2
diff --git a/src/openmolar/dbtools/brief_patient.py b/src/openmolar/dbtools/brief_patient.py
new file mode 100644
index 0000000..9abb193
--- /dev/null
+++ b/src/openmolar/dbtools/brief_patient.py
@@ -0,0 +1,98 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+from openmolar.dbtools.appt_prefs import ApptPrefs
+
+LOGGER = logging.getLogger("openmolar")
+
+QUERY = '''SELECT title, fname, sname, dob, cset, dnt1, dnt2
+from patients where serialno = %s'''
+
+class BriefPatient(object):
+ '''
+ has a tiny percentage of the footprint (and loading time) of the
+ main patient class
+ '''
+ sno = 0
+ fname = ""
+ sname = ""
+ dob = None
+ cset = ""
+ dnt1 = None
+ dnt2 = None
+ _appt_memo = None
+ _appt_prefs = None
+
+ def __init__(self, sno):
+ '''
+ initiate the class with default variables, then load from database
+ '''
+ if sno <= 0:
+ raise localsettings.PatientNotFoundError
+
+ self.serialno = sno
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (sno,))
+ row = cursor.fetchone()
+
+ if not row:
+ raise localsettings.PatientNotFoundError
+
+ self.title, self.fname, self.sname, \
+ self.dob, self.cset, self.dnt1, self.dnt2 = row
+
+ @property
+ def name_id(self):
+ return u"%s %s %s - %s"% (
+ self.title, self.fname, self.sname, self.serialno)
+
+ @property
+ def appt_memo(self):
+ if self._appt_memo is None:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select note from appt_prefs where serialno=%s'
+ if cursor.execute(query, self.serialno):
+ self._appt_memo = cursor.fetchone()[0]
+ cursor.close()
+ if self._appt_memo is None:
+ self._appt_memo = ""
+
+ return self._appt_memo
+
+ def set_appt_memo(self, memo):
+ LOGGER.debug("BriefPatient.set_appt_memo(%s"% memo)
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'replace into appt_prefs (serialno, note) values (%s, %s)'
+ cursor.execute(query, (self.serialno, memo))
+ cursor.close()
+
+ @property
+ def appt_prefs(self):
+ if self._appt_prefs is None:
+ self._appt_prefs = ApptPrefs(self.serialno)
+ return self._appt_prefs
+
+
+
+if __name__ =="__main__":
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=11956
+
+ pt = BriefPatient(serialno)
+ for att in pt.__dict__.keys():
+ print att, pt.__dict__[att]
diff --git a/src/openmolar/dbtools/calldurr.py b/src/openmolar/dbtools/calldurr.py
new file mode 100644
index 0000000..febc395
--- /dev/null
+++ b/src/openmolar/dbtools/calldurr.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+'''
+update a simple table which stores which records are in use
+'''
+
+from openmolar import connect
+
+def commit(serialno, surgeryno):
+ '''
+ sets a copy of the riu table
+ '''
+ db = connect.connect()
+ query = "update calldurr set serialno=%s where stn=%s"
+ values = (serialno, surgeryno)
+ cursor = db.cursor()
+
+ result = cursor.execute(query, values)
+ if result:
+ db.commit()
+
+ cursor.close()
+ #db.close()
+ return result
+
+if __name__ == "__main__":
+ print commit(24, 1)
diff --git a/src/openmolar/dbtools/cashbook.py b/src/openmolar/dbtools/cashbook.py
new file mode 100644
index 0000000..0204538
--- /dev/null
+++ b/src/openmolar/dbtools/cashbook.py
@@ -0,0 +1,233 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+This modules provides functions that read and write to the cashbook
+table of the database
+'''
+
+from __future__ import division
+
+import logging
+import functools
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+LOGGER = logging.getLogger("openmolar")
+
+# this variable allows HISTORIC cashbook entries to be altered (by supervisor)
+full_edit = False
+
+def viewitems(obj):
+ '''
+ provides 2.7 functionality for 2.6 and under
+ '''
+ for key in obj.keys():
+ yield (key, obj[key])
+
+
+class CashBookCodesDict(dict):
+ '''
+ A dictionary of cashbookCodes called at module initialisation
+ '''
+ def __init__(self):
+ dict.__init__(self)
+ self.get_values()
+ try:
+ self.viewitems
+ except AttributeError: #patched for python <2.7
+ self.viewitems = functools.partial(viewitems, self)
+
+ def get_values(self):
+ db = connect()
+ cursor = db.cursor()
+ try:
+ query = "select code,descr from cbcodes where flag>1"
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ for row in rows:
+ self[int(row[0])] = row[1]
+ LOGGER.debug("cashbook codes loaded sucessfully")
+ except Exception as exc:
+ LOGGER.exception("error loading cashbook codes")
+ finally:
+ cursor.close()
+
+
+def paymenttaken(sno, name, dent, csetyp, cash, cheque, card,
+sundry_cash, sundry_cheque, sundry_card, hdp, other, refund):
+ '''
+ called when a payment has been taken at the desk
+ '''
+ if csetyp[:1] == "N":
+ codes = (1, 3, 5, 14, 15, 17, 21, 24, 125)
+ else:
+ codes = (2, 4, 6, 14, 15, 17, 21, 24, 125)
+ queries = []
+ for i, amount in enumerate(
+ (cash, cheque, card, sundry_cash,
+ sundry_cheque, sundry_card, hdp, other, refund)
+ ):
+ if amount != 0:
+ queries.append('''
+ insert into cashbook set cbdate = date(NOW()),
+ ref="%06d", linkid=0, descr="%s", code=%d, dntid=%d, amt=%d
+ '''%(sno, name, codes[i], dent, amount))
+ if queries != []:
+ db = connect()
+ cursor = db.cursor()
+ dbOK = True
+ for query in queries:
+ dbOK = dbOK and cursor.execute(query)
+ db.commit()
+ cursor.close()
+ #db.close()
+ return dbOK
+
+def details(dent, startdate, enddate,
+treatment_only=False, sundries_only=False):
+ '''
+ retrns an html version of the cashbook table
+ '''
+
+ db = connect()
+ cursor = db.cursor()
+
+ #note - len(headers) is used writing out the html
+ headers = ("cbdate", "Serial NO", "Dentist", "Patient", "code", "cash",
+ "cheque", "card", "unknown", "amt")
+
+ if full_edit or (startdate.toPyDate() <=
+ localsettings.currentDay() <= enddate.toPyDate()):
+ headers += ("edit",)
+
+ if dent == "*ALL*":
+ cond1 = ""
+ dentist = "All Dentists"
+ else:
+ dentist = localsettings.ops_reverse[str(dent)]
+ cond1 = 'dntid="%s" and '% dentist
+
+ restriction_header = ""
+ if treatment_only:
+ cond1 += "(code < 10 or code > 123) and "
+ restriction_header = "TREATMENT ONLY"
+ elif sundries_only:
+ cond1 += "code >=14 and code <= 18 and "
+ restriction_header = "SUNDRIES ONLY"
+ else:
+ restriction_header = "ALL PAYMENTS"
+
+
+ #-- note - mysqldb doesn't play nice with DATE_FORMAT
+ #-- hence the string is formatted entirely using python formatting
+ query = '''select
+ DATE_FORMAT(cbdate, '%s'), ref, dntid, descr, code, amt, cbdate, id
+ from cashbook where %s cbdate>='%s' and cbdate<='%s'
+ order by cbdate'''%(
+ localsettings.OM_DATE_FORMAT, cond1,
+ startdate.toPyDate(), enddate.toPyDate())
+
+ cursor.execute(query)
+
+ rows = cursor.fetchall()
+
+ retarg = "<h3>Cashbook - "
+ retarg += "%s - %s - %s (inclusive) - %s</h3>"% (dentist,
+ localsettings.formatDate(startdate.toPyDate()),
+ localsettings.formatDate(enddate.toPyDate()),
+ restriction_header)
+
+ retarg += '<table width="100%" border="1"> <tr>'
+ for header in headers:
+ retarg += "<th>%s</th>"% header
+ retarg += '</tr>'
+ odd = True
+ total, cashTOT, chequeTOT, cardTOT, otherTOT = 0, 0, 0, 0, 0
+ for row in rows:
+ if odd:
+ retarg += '<tr bgcolor="#eeeeee">'
+ odd = False
+ else:
+ retarg += '<tr>'
+ odd = True
+
+ #-- a row is (date,sno,dnt,patient,code,amount)
+
+ retarg += '<td>%s</td><td>%s</td>'% (row[0], row[1])
+ retarg += '<td>%s</td>'% localsettings.ops.get(row[2])
+ retarg += '<td>%s</td>'% row[3]
+ CODE = cashbookCodesDict.get(row[4])
+ retarg += '<td>%s</td>'% CODE
+ amt = row[5]
+ amt_str = localsettings.formatMoney(amt)
+
+ if "CASH" in CODE:
+ retarg += '<td align="right">%s</td>'% amt_str
+ cashTOT += amt
+ retarg += "<td> </td>" * 3
+ elif "CHEQUE" in CODE:
+ retarg += '<td> </td><td align="right">%s</td>'% amt_str
+ chequeTOT += amt
+ retarg += "<td> </td>" * 2
+ elif "CARD" in CODE:
+ retarg += "<td> </td>" * 2
+ retarg += '<td align="right">%s</td>'% amt_str
+ cardTOT += amt
+ retarg += "<td> </td>"
+ else:
+ retarg += "<td> </td>" * 3
+ retarg += '<td align="right">%s</td>'% amt_str
+ otherTOT += amt
+
+ retarg += '<td align="right">%s</td>'% amt_str
+ if len(headers) == 11:
+ if full_edit or row[6] == localsettings.currentDay():
+ retarg += '''<td align="center">
+ <a href="edit_%s">edit</a></td>'''% row[7]
+ else:
+ retarg += '<td align="center">n/a</a>'
+ retarg += '</tr>\n'
+ total += amt
+
+ sum_text = "= %s + %s + %s + %s"% (
+ localsettings.pence_to_pounds(cashTOT),
+ localsettings.pence_to_pounds(chequeTOT),
+ localsettings.pence_to_pounds(cardTOT),
+ localsettings.pence_to_pounds(otherTOT)
+ )
+
+ retarg += '''<tr><td colspan="4">%s</td>
+ <td><b>TOTAL</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td></tr>'''% (
+ sum_text.replace("+ -", "- "),
+ localsettings.formatMoney(cashTOT),
+ localsettings.formatMoney(chequeTOT),
+ localsettings.formatMoney(cardTOT),
+ localsettings.formatMoney(otherTOT),
+ localsettings.formatMoney(total))
+
+ retarg += '</table>'
+ cursor.close()
+ #db.close()
+ return retarg
+
+#--initiate the cashbook dictionary on module import
+cashbookCodesDict = CashBookCodesDict()
+
+if __name__ == "__main__":
+ from PyQt4.QtCore import QDate
+
+ localsettings.initiate()
+ print cashbookCodesDict
+ print cashbookCodesDict.viewitems()
\ No newline at end of file
diff --git a/src/openmolar/dbtools/courseHistory.py b/src/openmolar/dbtools/courseHistory.py
new file mode 100644
index 0000000..b4b55ec
--- /dev/null
+++ b/src/openmolar/dbtools/courseHistory.py
@@ -0,0 +1,236 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+a module to search for previous course items
+'''
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.dbtools.treatment_course import CURRTRT_ATTS
+from openmolar.dbtools import estimatesHistory
+
+uppers = ('ur8', 'ur7', 'ur6', 'ur5', 'ur4', 'ur3', 'ur2', 'ur1',
+'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8')
+lowers = ('lr8', 'lr7', 'lr6', 'lr5', 'lr4', 'lr3', 'lr2', 'lr1',
+'ll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8')
+
+class txCourse():
+ '''
+ a custom class to hold the data within a currtrtmt row of the database
+ '''
+ def __init__(self, vals):
+ i = 0
+ for att in CURRTRT_ATTS:
+ val = vals[i]
+ self.__dict__[att] = val
+ i += 1
+
+ def toHtml(self):
+ '''
+ returns an HTML representation of itself
+ '''
+
+ retarg = '''<table width = "100%%" border = "2">
+ <tr><th colspan = "3" bgcolor = "yellow">CourseNo %s</th>
+ <//tr>'''% self.courseno
+
+ headers = [("Acceptance Date", self.accd),
+ ("Completion Date", self.cmpd)]
+
+ for header in headers:
+ retarg +='<tr><th colspan = "2">%s</th><td>%s</td></tr>\n'% header
+
+ #-plan row.
+ for planned in ("pl", "cmp"):
+ rows = []
+
+ if planned == "pl":
+ bgcolor = ' bgcolor = "#eeeeee"'
+ header = "PLANNED / INCOMPLETE"
+ else:
+ bgcolor = ' bgcolor = "#ddeeee"'
+ header = "COMPLETED"
+ if self.examt !="":
+ exam_details = self.examt
+ if self.examd and self.examd != self.accd:
+ exam_details += " dated - %s"% self.examd
+ cells = "<th%s>%s</th><td%s>%s</td>"% (bgcolor,
+ _("Exam"), bgcolor, exam_details)
+ rows.append(cells)
+
+ for att, con_att in (
+ ("perio",_("perio")),
+ ("xray",_('xray')),
+ ("anaes",_('anaes')),
+ ("other",_('other')),
+ ("custom",_("custom"))
+ ):
+ if self.__dict__[att+planned] != "":
+ cells = "<th%s>%s</th><td%s>%s</td>"% (bgcolor,
+ con_att, bgcolor, self.__dict__[att+planned])
+ rows.append(cells)
+
+ dentureWork = ""
+ for att in ('ndu', 'ndl', 'odu', 'odl'):
+ val = self.__dict__[att+planned]
+ if val != "":
+ dentureWork += "%s - '%s' "% (att, val)
+ if dentureWork != "":
+ cells = "<th%s>%s</th><td%s>%s</td>"% (
+ bgcolor, _("Denture Work"), bgcolor, dentureWork)
+
+ rows.append(cells)
+
+ showChart = False
+ cells = '''<th%s>Chart</th><td>
+ <table width = "100%%" border = "1"><tr>'''% bgcolor
+
+ for att in uppers:
+ work = self.__dict__[att+planned]
+ cells += '<td align = "center"%s>%s</td>'% (
+ bgcolor, work)
+ showChart = showChart or work !=""
+
+ cells += "</tr><tr>"
+ for att in uppers:
+ cells += '<td align = "center"%s>%s</td>'% (
+ bgcolor, att.upper())
+
+ cells += "</tr><tr>"
+ for att in lowers:
+ cells += '<td align = "center"%s>%s</td>'% (
+ bgcolor, att.upper())
+
+ cells += "</tr><tr>"
+ for att in lowers:
+ work = self.__dict__[att+planned]
+ cells += '<td align = "center"%s>%s</td>'% (
+ bgcolor, work)
+ showChart = showChart or work !=""
+
+ cells += "</tr></table></td>"
+
+ if showChart:
+ rows.append(cells)
+
+ row_span = len(rows)
+
+ if rows != []:
+ retarg += '<tr><th rowspan = "%s"%s>%s</th>'% (
+ row_span, bgcolor,header)
+ for row in rows:
+ if row == rows[0]:
+ retarg += "%s</tr>\n"% row
+ else:
+ retarg += "<tr>%s</tr>\n"% row
+
+ retarg += '</table>\n'
+ return retarg
+
+
+def details(sno):
+ '''
+ returns an html page showing pt's Treatment History
+ '''
+ db = connect()
+ cursor = db.cursor()
+ fields = CURRTRT_ATTS
+ query = ""
+
+ for field in fields:
+ if field in ('examd', 'accd', 'cmpd'):
+ query += 'DATE_FORMAT(%s, "%s"),'% (
+ field, localsettings.OM_DATE_FORMAT)
+
+ else:
+ query += field+","
+
+ query = query.strip(",")
+
+ cursor.execute('''SELECT %s from currtrtmt2 where serialno = %d
+ order by courseno desc'''% (query, sno))
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ courses = []
+ for row in rows:
+ course = txCourse(row)
+ courses.append(course)
+
+ claimNo = len(courses)
+ retarg = "<h2>Past Courses of Treatment - %d rows found</h2>"% claimNo
+
+ for course in courses:
+ retarg += course.toHtml()
+ retarg += "<br /><hr /><br />"
+ #db.close()
+ return retarg
+
+def all_details(sno):
+ '''
+ returns an html page showing pt's Treatment History
+ '''
+ db = connect()
+ cursor = db.cursor()
+ fields = CURRTRT_ATTS
+ query = ""
+
+ for field in fields:
+ if field in ('examd', 'accd', 'cmpd'):
+ query += 'DATE_FORMAT(%s, "%s"),'% (
+ field, localsettings.OM_DATE_FORMAT)
+
+ else:
+ query += field + ","
+
+ query = query.strip(",")
+
+ cursor.execute('''SELECT %s from currtrtmt2 where serialno = %d
+ order by courseno desc'''% (query, sno))
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ courses = []
+ for row in rows:
+ course = txCourse(row)
+ courses.append(course)
+
+ claimNo = len(courses)
+ retarg = "<h2>Past Courses of Treatment - %d rows found</h2>"% claimNo
+
+ estimatesList = estimatesHistory.getEsts(sno)
+
+ for course in courses:
+ retarg += course.toHtml()
+ estTableStarted = False
+ for est in estimatesList:
+ if est.courseno == course.courseno:
+ if not estTableStarted:
+ retarg+='''<h3>Estimate for course number %d</h3>
+ <table width="100%%" border="1">'''% est.courseno
+ estTableStarted = True
+ retarg += est.htmlHeader()
+ retarg += est.toHtmlRow()
+
+ if estTableStarted:
+ retarg += '</table>\n'
+ else:
+ retarg += "no estimate found for courseno %d"% course.courseno
+ retarg += "<br /><hr /><br />"
+ #db.close()
+ return retarg
+
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ print'<html><body>'
+ print details(17322)
+ print "</body></html>"
diff --git a/src/openmolar/dbtools/day_class.py b/src/openmolar/dbtools/day_class.py
new file mode 100644
index 0000000..8ee743e
--- /dev/null
+++ b/src/openmolar/dbtools/day_class.py
@@ -0,0 +1,22 @@
+1# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''unused module'''
+
+import MySQLdb,datetime
+from openmolar.connect import connect
+from openmolar.settings import localsettings
+
+class day():
+ def init(self,adate,starttime="",endtime=""):
+ self.date=adate
+ self.starttime=starttime
+ self.endtime=endtime
+
+
+if __name__ == "__main__":
+ d=day(datetime.date(1969,12,9),"08:30","18:00")
\ No newline at end of file
diff --git a/src/openmolar/dbtools/daybook.py b/src/openmolar/dbtools/daybook.py
new file mode 100644
index 0000000..235c89d
--- /dev/null
+++ b/src/openmolar/dbtools/daybook.py
@@ -0,0 +1,179 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+this module provides read/write tools for the daybook database table
+'''
+
+import logging
+
+from PyQt4.QtCore import QDate
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+LOGGER = logging.getLogger("openmolar")
+
+QUERY = '''insert into daybook
+(date, serialno, coursetype, dntid, trtid, diagn, perio, anaes,
+misc,ndu,ndl,odu,odl,other,chart,feesa,feesb,feesc)
+values (DATE(NOW()),%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'''
+
+HASH_QUERY = 'insert into daybook_link (daybook_id, tx_hash) values (%s, %s)'
+
+
+def add(sno, cset, dent, trtid, t_dict, fee, ptfee, tx_hashes):
+ '''
+ add a row to the daybook table
+ '''
+ db = connect()
+ cursor = db.cursor()
+
+ values = (sno, cset, dent, trtid, t_dict["diagn"], t_dict["perio"],
+ t_dict["anaes"], t_dict["misc"], t_dict["ndu"], t_dict["ndl"],
+ t_dict["odu"], t_dict["odl"], t_dict["other"], t_dict["chart"],
+ fee, ptfee, 0)
+
+ LOGGER.debug('updating daybook with the following values: '
+ '%s %s %s %s %s %s %s %s'% (
+ sno, cset, dent, trtid, t_dict, fee, ptfee, 0))
+
+ cursor.execute(QUERY, values)
+
+ daybook_id = db.insert_id()
+
+ for tx_hash in tx_hashes:
+ LOGGER.debug("%s %s %s"% (HASH_QUERY, daybook_id, tx_hash))
+ cursor.execute(HASH_QUERY, (daybook_id, tx_hash))
+
+ cursor.close()
+
+def details(regdent, trtdent, startdate, enddate):
+ '''
+ returns an html table, for regdent, trtdent,startdate,enddate
+ '''
+ cond1,cond2= "",""
+ try:
+ if regdent != "*ALL*":
+ cond1 = 'dntid=%s and'% localsettings.ops_reverse[regdent]
+ if trtdent != "*ALL*":
+ cond2 = 'trtid=%s and'% localsettings.ops_reverse[trtdent]
+ except KeyError:
+ print "Key Error - %s or %s unregconised"% (regdent, trtdent)
+ return '<html><body>%s</body></html>'% _(
+ "Error - unrecognised practioner- sorry")
+
+ total, nettotal = 0, 0
+
+ iterDate = QDate(startdate.year(), startdate.month(), 1)
+
+ db = connect()
+ cursor = db.cursor()
+ retarg = '''<html><body>
+ <h3>Patients of %s treated by %s between %s and %s (inclusive)</h3>'''% (
+ regdent, trtdent,
+ localsettings.formatDate(startdate.toPyDate()),
+ localsettings.formatDate(enddate.toPyDate()))
+
+ retarg += '''<table width="100%" border="1"><tr><th>DATE</th>
+ <th>Dents</th><th>Serial Number</th><th>Name</th>
+ <th>Pt Type</th><th>Treatment</th><th>Gross Fee</th><th>Net Fee</th>'''
+
+ while enddate >= iterDate:
+ monthtotal, monthnettotal = 0,0
+
+ if startdate > iterDate:
+ queryStartDate = startdate
+ else:
+ queryStartDate = iterDate
+
+ queryEndDate = iterDate.addMonths(1).addDays(-1)
+ if enddate < queryEndDate:
+ queryEndDate = enddate
+
+ #-- note - mysqldb doesn't play nice with DATE_FORMAT
+ #-- hence the string is formatted entirely using python formatting
+ query = '''select DATE_FORMAT(date,'%s'), serialno, coursetype, dntid,
+ trtid, diagn, perio, anaes, misc, ndu, ndl, odu, odl, other, chart,
+ feesa, feesb, feesc, id from daybook
+ where %s %s date >= '%s' and date <= '%s' order by date'''%(
+ localsettings.OM_DATE_FORMAT, cond1, cond2,
+ queryStartDate.toPyDate(), queryEndDate.toPyDate())
+
+ cursor.execute(query)
+
+ rows = cursor.fetchall()
+
+ odd = True
+ for row in rows:
+ if odd:
+ retarg += '<tr bgcolor="#eeeeee">'
+ odd = False
+ else:
+ retarg += '<tr>'
+ odd = True
+ retarg += "<td>'%s' %s</td>"% (row[18], row[0])
+ try:
+ retarg += '<td> %s / '% localsettings.ops[row[3]]
+ except KeyError:
+ retarg += "<td>?? / "
+ try:
+ retarg += localsettings.ops[row[4]]
+ except KeyError:
+ retarg += "??"
+
+ retarg += '</td><td>%s</td>'% row[1]
+
+ cursor.execute(
+ 'select fname,sname from patients where serialno=%s'% row[1])
+
+ names = cursor.fetchall()
+ if names != ():
+ name = names[0]
+ retarg += '<td>%s %s</td>'% (name[0].title(),name[1].title())
+ else:
+ retarg += "<td>NOT FOUND</td>"
+ retarg += '<td>%s</td>'% row[2]
+
+ tx = ""
+ for item in (5, 6, 7, 8, 9, 10, 11, 12, 13, 14):
+ if row[item] != None and row[item] != "":
+ tx += "%s "% row[item]
+
+ retarg += '''<td>%s</td><td align="right">%s</td>
+ <td align="right">%s</td></tr>'''% (tx.strip("%s "% chr(0)),
+ localsettings.formatMoney(row[15]),
+ localsettings.formatMoney(row[16]))
+
+ total += int(row[15])
+ monthtotal += int(row[15])
+
+ nettotal += int(row[16])
+ monthnettotal += int(row[16])
+ retarg += '''<tr><td colspan="5"></td><td><b>%s TOTAL</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td></tr>'''% (
+ localsettings.monthName(iterDate.toPyDate()),
+ localsettings.formatMoney(monthtotal),
+ localsettings.formatMoney(monthnettotal))
+ iterDate = iterDate.addMonths(1)
+ cursor.close()
+ #db.close()
+
+ retarg += '''<tr><td colspan="5"></td><td><b>GRAND TOTAL</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td></tr></table></body></html>'''% (
+ localsettings.formatMoney(total), localsettings.formatMoney(nettotal))
+
+ return retarg
+
+if __name__ == "__main__":
+ localsettings.initiate()
+
+ for combo in (("*ALL*", "NW"), ("NW", "AH"), ("NW", "NW")):
+ r = details(combo[0], combo[1], QDate(2008,10,31), QDate(2008,11,11))
diff --git a/src/openmolar/dbtools/daybookHistory.py b/src/openmolar/dbtools/daybookHistory.py
new file mode 100644
index 0000000..739893b
--- /dev/null
+++ b/src/openmolar/dbtools/daybookHistory.py
@@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+from __future__ import division
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+def details(sno):
+ '''
+ returns an html page showing pt's Treatment History
+ '''
+ db=connect()
+ cursor=db.cursor()
+
+ query = '''select DATE_FORMAT(date,'%s'), coursetype,
+ dntid, trtid, concat(diagn,perio,anaes,misc,ndu,ndl,odu,odl),
+ other,chart,feesa,feesb from daybook
+ where serialno = %s order by date desc, id desc'''% (
+ localsettings.OM_DATE_FORMAT, sno)
+
+
+ ## can't use the preffered query, values
+ ## here as the dateformat of %d/%m/%Y stuffs it up!
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ claimNo=len(rows)
+ retarg="<h2>Past Treatments - %d rows found</h2>"%claimNo
+ if claimNo==0:
+ return retarg
+ headers = ("Date","Csetype","Dentist","Clinician",
+ "Treatment","Chart","Fee","PtCharge")
+
+ retarg+='<table width="100%" border="1"><tr>'
+ for header in headers:
+ retarg+="<th>%s</th>"%header
+ retarg+='</tr>'
+
+ odd=True
+ fee_total,ptfee_total=0,0
+ for row in rows:
+ if odd:
+ retarg+='<tr bgcolor="#eeeeee">'
+ odd=False
+ else:
+ retarg+='<tr>'
+ odd=True
+
+ retarg+='<td>%s</td><td>%s</td>'%(row[0],row[1])
+ retarg+='<td>%s</td><td>%s</td>'%(
+ localsettings.ops.get(row[2]),localsettings.ops.get(row[3]))
+ treatment=row[4]
+ if row[5]!=None:
+ #-- the "other" column allows nulls, which stuffs up the sql concat
+ treatment+=row[5]
+ retarg+='<td>%s</td>'%treatment
+ treatment=row[6]
+ retarg+='<td>%s</td>'%treatment.strip("\x00")
+
+ fee = row[7]
+ retarg += '<td align="right">%s</td>'% (
+ localsettings.formatMoney(fee))
+
+ ptfee = row[8]
+ retarg += '<td align="right">%s</td>'% (
+ localsettings.formatMoney(ptfee))
+
+ fee_total += fee
+ ptfee_total += ptfee
+ retarg+='</tr>\n'
+
+ retarg+='''<tr><td colspan="5"></td>
+ <td><b>TOTALS</b></td><td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td></tr>'''% (
+ localsettings.formatMoney(fee_total),
+ localsettings.formatMoney(ptfee_total))
+
+ retarg += '</table>'
+
+ return retarg
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ print'<html><body>'
+ print details(17322)
+ print "</body></html>"
diff --git a/src/openmolar/dbtools/db_notes.py b/src/openmolar/dbtools/db_notes.py
new file mode 100644
index 0000000..f912f02
--- /dev/null
+++ b/src/openmolar/dbtools/db_notes.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+'''
+module to retrieve from the new formatted_notes table
+'''
+
+from openmolar.connect import connect
+
+def notes(serialno, today_only=False):
+ query = '''SELECT ndate, op1, op2, ntype, note
+ from formatted_notes where serialno = %s and ndate = DATE(NOW())
+ order by ndate, ix'''
+
+ if not today_only:
+ query = query.replace("and ndate = DATE(NOW())", "")
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(query, (serialno,))
+
+ results = cursor.fetchall()
+ cursor.close()
+ return results
+
+if __name__ == "__main__":
+ print notes(1)
diff --git a/src/openmolar/dbtools/db_patients.py b/src/openmolar/dbtools/db_patients.py
new file mode 100644
index 0000000..302ffef
--- /dev/null
+++ b/src/openmolar/dbtools/db_patients.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+'''
+module to retrieve from the patients table
+note - PatientClass itself does most of this
+'''
+
+from openmolar.connect import connect
+from openmolar.settings.localsettings import PatientNotFoundError
+
+def name(serialno):
+ query = 'SELECT title, fname, sname from patients where serialno = %s'
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(query, (serialno,))
+
+ result = cursor.fetchone()
+ cursor.close()
+ if not result:
+ raise PatientNotFoundError, "Serialno %s not found in database"
+ title, fname, sname = result
+ return "%s %s %s (%s)"% (title, fname, sname, serialno)
+
+if __name__ == "__main__":
+ print name(41)
diff --git a/src/openmolar/dbtools/db_settings.py b/src/openmolar/dbtools/db_settings.py
new file mode 100644
index 0000000..0ee1459
--- /dev/null
+++ b/src/openmolar/dbtools/db_settings.py
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''
+this module reads and write to the settings table of the database
+'''
+
+from openmolar import connect
+
+def getData(value):
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select data from settings where value = %s'
+ cursor.execute(query, value)
+ rows = cursor.fetchall()
+ cursor.close()
+ return rows
+ except connect.ProgrammingError:
+ return ()
+
+def insertData(value, data, user):
+ '''
+ insert a setting (leaving old values behind)
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''insert into settings (value,data,modified_by,time_stamp)
+ values (%s, %s, %s, NOW())'''
+ values = (value, data, user)
+
+ print "saving setting (%s, %s) to settings table"% (value, data)
+ cursor.execute(query, values)
+ db.commit()
+ return True
+
+def updateData(value, data, user):
+ '''
+ update a setting
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''update settings set data = %s, modified_by = %s,
+ time_stamp = NOW() where value=%s'''
+ values = (data, user, value)
+
+ print "updating setting (%s, %s) to settings table"% (value, data)
+ if not cursor.execute(query, values):
+ return insertData(value, data, user)
+ else:
+ db.commit()
+ return True
+
+def getWikiUrl():
+ '''
+ the database may know of the url (presumably an internally facing ip)
+ for the practice wiki??
+ '''
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select data from settings where value = "wikiurl"'
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ except connect.ProgrammingError, ex:
+ print "no wikiurl loaded as there is no settings table??"
+ if rows:
+ return rows[-1][0]
+ else:
+ return "http://openmolar.wikidot.com/"
+
+if __name__ == "__main__":
+ print getData("enddate")
\ No newline at end of file
diff --git a/src/openmolar/dbtools/distinct_statuses.py b/src/openmolar/dbtools/distinct_statuses.py
new file mode 100644
index 0000000..69a5d48
--- /dev/null
+++ b/src/openmolar/dbtools/distinct_statuses.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+from openmolar import connect
+
+LOGGER = logging.getLogger("openmolar")
+
+QUERY = "select distinct status from patients"
+
+class DistinctStatuses(object):
+ _distinct_statuses = None
+ @property
+ def DISTINCT_STATUSES(self):
+ if self._distinct_statuses is None:
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ self._distinct_statuses = []
+ for row in sorted(rows):
+ if row[0] not in (None, "BAD DEBT"):
+ self._distinct_statuses.append(row[0])
+
+ return self._distinct_statuses
+
+if __name__ =="__main__":
+ ds = DistinctStatuses()
+ print ds.DISTINCT_STATUSES
\ No newline at end of file
diff --git a/src/openmolar/dbtools/docsimported.py b/src/openmolar/dbtools/docsimported.py
new file mode 100644
index 0000000..3e8e982
--- /dev/null
+++ b/src/openmolar/dbtools/docsimported.py
@@ -0,0 +1,95 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import os
+import mimetypes
+import datetime
+from openmolar import connect
+from openmolar.settings import localsettings
+
+def getData(ix):
+ '''
+ gets the binary data for the file from the database,
+ along with the version number
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''select filedata from docsimporteddata where masterid=%s'''%ix
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+ if rows:
+ return rows
+ else:
+ return (("no data found",),)
+
+def storedDocs(sno):
+ '''
+ find previously printed docs related to the serialno given as the argument
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''select DATE_FORMAT(filedate,'%s'), name, size, datatype, ix
+ from docsimported where serialno=%s order by ix DESC '''%(
+ localsettings.OM_DATE_FORMAT, sno)
+
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+ docs = []
+ for fdate, fname, fsize, typ, ix in rows:
+ docs.append([fdate, fname, sizeof_fmt(fsize), typ, str(ix)])
+ return docs
+
+def chunks_from_file(filepath, chunksize = 57344):
+ '''
+ a generator to break a file into chunks
+ '''
+ f = open(filepath, "rb")
+ while True:
+ chunk = f.read(chunksize)
+ if chunk:
+ yield chunk
+ else:
+ break
+ f.close()
+
+def sizeof_fmt(num):
+ for x in ['bytes','KB','MB','GB','TB']:
+ if num < 1024.0:
+ return "%3.1f%s" % (num, x)
+ num /= 1024.0
+
+def add(sno, filepath):
+ '''
+ add a binary file to the database (broken into chunks)
+ '''
+ st = os.stat(filepath)
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''insert into docsimported
+ (serialno, datatype, name, size, filedate) values (%s, %s, %s, %s, %s)'''
+ file_type = mimetypes.guess_type(filepath)[0]
+ if file_type == None:
+ file_type = "unknown"
+ values = (sno, file_type, os.path.basename(filepath), st.st_size,
+ datetime.datetime.fromtimestamp (st.st_mtime))
+
+ cursor.execute(query, values)
+ fileid = db.insert_id()
+ query = 'INSERT INTO docsimporteddata (masterid, filedata) VALUES (%s, %s)'
+ for data in chunks_from_file(filepath):
+ values = (fileid, data)
+ cursor.execute(query, values)
+ print "added doc to importeddocs table"
+ db.commit()
+ cursor.close()
+
+if __name__ == "__main__":
+ #- test function
+ data = getData(1)
+ print data
diff --git a/src/openmolar/dbtools/docsprinted.py b/src/openmolar/dbtools/docsprinted.py
new file mode 100644
index 0000000..2566cda
--- /dev/null
+++ b/src/openmolar/dbtools/docsprinted.py
@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+def getData(ix):
+ '''
+ gets the binary data for the file from the database,
+ along with the version number
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query='''select data, docversion from newdocsprinted where ix=%d'''%ix
+ cursor.execute(query)
+ rows = cursor.fetchone()
+ cursor.close()
+ return rows
+
+def previousDocs(sno):
+ '''
+ find previously printed docs related to the serialno given as the argument
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query='''select DATE_FORMAT(printdate,'%s'),docname,docversion,ix
+ from newdocsprinted where serialno=%s order by ix DESC '''%(
+ localsettings.OM_DATE_FORMAT, sno)
+
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+ #db.close()
+ return rows
+
+def add(sno, docname, object, version=1):
+ '''
+ add a note in the database of stuff which has been printed
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''INSERT INTO newdocsprinted
+(serialno,printdate,docname,docversion,data)
+VALUES (%s, date(NOW()), %s, %s, %s)'''
+ values = (sno, docname, version, object)
+ print "adding letter to newdocsprinted table"
+ cursor.execute(query, values)
+ db.commit()
+ cursor.close()
+
+if __name__ == "__main__":
+ #- test function
+ data, version= getData(80982)
+ print data,version
+
+
diff --git a/src/openmolar/dbtools/est_logger.py b/src/openmolar/dbtools/est_logger.py
new file mode 100644
index 0000000..bc84334
--- /dev/null
+++ b/src/openmolar/dbtools/est_logger.py
@@ -0,0 +1,133 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+this module provides read/write tools for the est_logger database table
+'''
+
+import logging
+
+from PyQt4.QtCore import QDate
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+LOGGER = logging.getLogger("openmolar")
+
+SELECT_QUERY = ('select est_data from est_logger '
+'where courseno=%s order by ix desc limit 1')
+
+INSERT_QUERY = ('insert into est_logger '
+'(courseno, est_data, operator) values (%s,%s,%s)')
+
+HISTORY_QUERY = ('select est_data, operator, time_stamp '
+'from est_logger where courseno=%s')
+
+class EstLogger(object):
+ def __init__(self, courseno):
+ self.courseno = courseno
+ self.est_data = ""
+ self.get_data()
+
+ def get_data(self):
+ db = connect()
+ cursor = db.cursor()
+ LOGGER.debug(
+ 'getting last estimate text from est_logger for courseno %s' % (
+ self.courseno))
+
+ cursor.execute(SELECT_QUERY, (self.courseno,))
+
+ try:
+ self.est_data = cursor.fetchone()[0]
+ except TypeError:
+ pass
+
+ cursor.close()
+
+ def add_row(self, courseno, est_data):
+ '''
+ add a row to the daybook table, and save state.
+ '''
+ if self._write_needed(courseno, est_data):
+ db = connect()
+ cursor = db.cursor()
+
+ LOGGER.debug('updating est_logger for courseno %s' % courseno)
+
+ values = (courseno, est_data, localsettings.operator)
+ cursor.execute(INSERT_QUERY, values)
+
+ cursor.close()
+ self.courseno = courseno
+ self.est_data = est_data
+ else:
+ LOGGER.debug("est_logger up to date")
+
+ def _write_needed(self, courseno, est_data):
+ return courseno != courseno or est_data != self.est_data
+
+def html_history(courseno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(HISTORY_QUERY, (courseno,))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ if not rows:
+ return u'''
+ <html>
+ <body>
+ <h1>%s %s</h1>
+ </body>
+ </html>'''% (_("No estimate history found for course"), courseno)
+
+ html = u'''<html>
+ <body>
+ <h1>%s</h1>
+ <table width = '100%%' border="1">
+ '''% _("Current Estimate Version History")
+
+ html += u'''<tr>
+ <th>%s</th>
+ <th>%s</th>
+ </tr>''' % (
+ _("Estimate"),
+ _("Author")
+ )
+
+ for est_data, author, time_stamp in rows:
+ lines = est_data.split("||\n")
+ formatted_est = '''<table width="100%%" border="1">
+ <tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th>
+ <th>%s</th><th>%s</th></tr>'''%(
+ _("No."), _("Itemcode"), _("Description"), "CseTyp", _("Feescale"),
+ _("Dentist"), _("Fee"), _("Charge"))
+ for line in lines:
+ formatted_est += "<tr>"
+ for i, field in enumerate(line.split(" || ")):
+ align = 'align="center"' if i < 6 else 'align="right"'
+ formatted_est += "<td %s>%s</td>"% (align, field)
+ formatted_est += "</tr>"
+ html += u'''<tr>
+ <td>%s</table></td>
+ <td>%s<br />%s</td>
+ </tr>
+ ''' % (
+ formatted_est, author, time_stamp)
+
+ return html + "</table></body></html>"
+
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ LOGGER.setLevel(logging.DEBUG)
+ est_logger = EstLogger(1)
+ est_logger.add_row(1, "test_data")
+
+ print html_history(1)
\ No newline at end of file
diff --git a/src/openmolar/dbtools/estimate_synopsis.py b/src/openmolar/dbtools/estimate_synopsis.py
new file mode 100644
index 0000000..4372c65
--- /dev/null
+++ b/src/openmolar/dbtools/estimate_synopsis.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+QUERY = '''SELECT description, ptfee, est_link2.completed
+from newestimates right join est_link2 on newestimates.ix = est_link2.est_id
+where courseno = %s order by itemcode, description'''
+
+def html(courseno):
+ values = (courseno,)
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ est_count = len(rows)
+
+ if est_count == 0:
+ return "<h2>No Estimate Found</h2>"
+
+ completed, planned = [], []
+ for description, fee, comp in rows:
+ if comp:
+ completed.append((description, fee, localsettings.formatMoney(fee)))
+ else:
+ planned.append((description, fee, localsettings.formatMoney(fee)))
+
+ n_rows = len(planned)
+ if len(completed) > n_rows:
+ n_rows = len(completed)
+
+ html_ = '''
+ <table>
+ <tr>
+ <th colspan="2">Planned</th>
+ <th> </th>
+ <th colspan="2">Completed</th>
+ </tr>
+ '''
+ c_tot, p_tot = 0, 0
+ for i in range(n_rows):
+ try:
+ c_desc, fee, c_fee = completed[i]
+ c_tot += fee
+ except IndexError:
+ c_desc, c_fee = "", ""
+ try:
+ p_desc, fee, p_fee = planned[i]
+ p_tot += fee
+ except IndexError:
+ p_desc, p_fee = "", ""
+
+ html_ += '''<tr>
+ <td width= '30%%'>%s</td>
+ <td width= '20%%' align='right'>%s</td>
+ <td />
+ <td width= '30%%'>%s</td>
+ <td width= '20%%' align='right'>%s</td>
+ </tr>'''% (
+ p_desc, p_fee, c_desc, c_fee)
+
+ html_ += '''<tr>
+ <td colspan="2" align='right'><b>%s</b></td>
+ <td />
+ <td colspan="2" align='right'><b>%s</b></td>
+ </tr>'''% (
+ localsettings.formatMoney(p_tot), localsettings.formatMoney(c_tot))
+
+ return html_ + "</table><br />"
+
+
+if __name__ == "__main__":
+ print html(41146).encode("ascii", "replace")
diff --git a/src/openmolar/dbtools/estimatesHistory.py b/src/openmolar/dbtools/estimatesHistory.py
new file mode 100644
index 0000000..be5505a
--- /dev/null
+++ b/src/openmolar/dbtools/estimatesHistory.py
@@ -0,0 +1,98 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.ptModules.estimates import Estimate, TXHash
+
+QUERY = '''SELECT newestimates.ix, number, itemcode, description,
+fee, ptfee, feescale, csetype, dent, est_link2.completed, tx_hash, courseno
+from newestimates right join est_link2 on newestimates.ix = est_link2.est_id
+where serialno=%s order by courseno desc, itemcode, ix'''
+
+def getEsts(sno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (sno,))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ estimates = []
+
+ for row in rows:
+ hash_ = row[10]
+ completed = bool(row[9])
+
+ tx_hash = TXHash(hash_, completed)
+
+ ix = row[0]
+
+ found = False
+ #use existing est if one relates to multiple treatments
+ for existing_est in estimates:
+ if existing_est.ix == ix:
+ existing_est.tx_hashes.append(tx_hash)
+ found = True
+ break
+ if found:
+ continue
+
+ #initiate a custom data class
+ est = Estimate()
+
+ est.ix = ix
+ est.courseno = row[11]
+ est.number = row[1]
+ est.itemcode = row[2]
+ est.description = row[3]
+ est.fee = row[4]
+ est.ptfee = row[5]
+ est.feescale = row[6]
+ est.csetype = row[7]
+ est.dent = row[8]
+
+ #est.category = "TODO"
+ #est.type_ = "TODO"
+
+ est.tx_hashes = [tx_hash]
+ estimates.append(est)
+
+ cursor.close()
+
+ return estimates
+
+def details(sno):
+ '''
+ returns an html page showing pt's old estimates
+ '''
+ estimatesList = getEsts(sno)
+ claimNo = len(estimatesList)
+ retarg = "<h2>Past Estimates - %d rows found</h2>"% claimNo
+ if claimNo == 0:
+ return retarg
+ courseno = -1
+ firstRow = True
+ for est in estimatesList:
+ if est.courseno != courseno:
+ if not firstRow:
+ retarg+="</table>"
+ firstRow = False
+ retarg += '''</table><h3>Estimate for course number %d</h3>
+ <table width="100%%" border="1">'''% est.courseno
+ retarg += est.htmlHeader()
+ courseno = est.courseno
+ retarg += est.toHtmlRow()
+ retarg += '</table>\n'
+
+ return retarg
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ print'<html><body>'
+ print details(707).encode("ascii", "replace")
+ print "</body></html>"
diff --git a/src/openmolar/dbtools/extend_books.py b/src/openmolar/dbtools/extend_books.py
new file mode 100644
index 0000000..2f45433
--- /dev/null
+++ b/src/openmolar/dbtools/extend_books.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+import datetime
+from openmolar.connect import connect, IntegrityError
+from openmolar.settings import localsettings
+
+def extend(dents, startdate, enddate):
+ '''
+ inserts new days into the aday table for dents
+ this is like buying next year's diary
+ '''
+
+ delta = datetime.timedelta(days=1)
+ query = '''insert into aday (adate, apptix, start, end, flag, memo)
+values (%s, %s, %s, %s, %s, %s)'''
+
+ db = connect()
+ cursor = db.cursor()
+
+ for dent in dents:
+ curdate = startdate
+ while curdate <= enddate:
+ values = (curdate, dent, 0, 0, 0, "")
+ try:
+ if cursor.execute(query, values):
+ print "successfully added %s for dent %s"% (curdate, dent)
+ except IntegrityError:
+ print "%s already present for dent %s"% (curdate, dent)
+ curdate+=delta
+
+ cursor.close()
+ db.commit()
+ return True
+
+
+if __name__ == "__main__":
+
+ #-- test procedures......
+
+ startdate = datetime.date(2010,1,1)
+ enddate = datetime.date(2010,2,1)
+ extend((4,5,6,7,13,14),startdate, enddate)
diff --git a/src/openmolar/dbtools/feescales.py b/src/openmolar/dbtools/feescales.py
new file mode 100644
index 0000000..8c589aa
--- /dev/null
+++ b/src/openmolar/dbtools/feescales.py
@@ -0,0 +1,205 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import os
+import re
+import shutil
+
+from collections import namedtuple
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+def write_readme():
+ LOGGER.info("creating directory %s"% FEESCALE_DIR)
+ os.makedirs(FEESCALE_DIR)
+ f = open(os.path.join(FEESCALE_DIR, "README.txt"), "w")
+ f.write('''
+This folder is created by openmolar to store xml copies of the feescales in
+your database (see feescales table).
+Filenames herein are IMPORTANT!
+feescale1.xml relates to the xml stored in row 1 of that table
+feescale2.xml relates to the xml stored in row 2 of that table
+
+whilst you are free to edit these files using an editor of your choice,
+validation against feescale_schema.xsd is highly recommended.
+
+note - openmolar has a build in application for doing this.
+ ''')
+ f.close()
+
+
+FEESCALE_DIR = os.path.join(localsettings.localFileDirectory, "feescales")
+if not os.path.exists(FEESCALE_DIR):
+ write_readme()
+
+QUERY = 'select ix, xml_data from feescales'
+
+SPECIFIC_QUERY = 'select xml_data from feescales where ix=%s'
+
+UPDATE_QUERY = "update feescales set xml_data = %s where ix = %s"
+
+NEW_FEESCALE_QUERY = "insert into feescales (xml_data) values(%s)"
+
+class FeescaleHandler(object):
+
+ def get_feescale_from_database(self, ix):
+ '''
+ connects and gets the xml_data associated with ix
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(SPECIFIC_QUERY, (ix,))
+ row = cursor.fetchone()
+ cursor.close()
+ if row:
+ return row[0]
+ return ""
+
+ def get_feescales_from_database(self,
+ in_use_only=True, priority_order=True):
+ '''
+ connects and get the data from feetable_key
+ '''
+ query = QUERY
+ if in_use_only:
+ query += ' where in_use = True'
+ if priority_order:
+ query += ' order by priority desc'
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+ LOGGER.debug("%d feescales retrieved"% len(rows))
+ return rows
+
+ def save_file(self, ix, xml_data):
+ file_path = self.index_to_local_filepath(ix)
+ LOGGER.debug("writing %s"% file_path)
+ f = open(file_path, "w")
+ f.write(xml_data)
+ f.close()
+
+ def _xml_data_and_filepaths(self):
+ for ix, xml_data in self.get_feescales_from_database(False):
+ xml_file = namedtuple("XmlFile", ("data", "filepath"))
+ xml_file.data = xml_data
+ xml_file.filepath = self.index_to_local_filepath(ix)
+
+ yield xml_file
+
+ #self.save_file(ix, xml_data)
+ #LOGGER.info("feescales data written to local filesystem")
+
+ def non_existant_and_modified_local_files(self):
+ '''
+ returns 2 lists
+ [local files which have been created]
+ [local files which differ from stored data]
+ '''
+ unwritten, modified = [], []
+ for xml_file in self._xml_data_and_filepaths():
+ if not os.path.isfile(xml_file.filepath):
+ unwritten.append(xml_file)
+ else:
+ f = open(xml_file.filepath, "r")
+ if f.read().strip() != xml_file.data.strip():
+ modified.append(xml_file)
+ f.close()
+ return unwritten, modified
+
+ def index_to_local_filepath(self, ix):
+ return os.path.join(FEESCALE_DIR, "feescale_%d.xml"% ix)
+
+ @property
+ def local_files(self):
+ for file_ in sorted(os.listdir(FEESCALE_DIR)):
+ m = re.match(".*(\d+)\.xml$", file_)
+ if m:
+ ix = int(m.groups()[0])
+ yield ix, os.path.join(FEESCALE_DIR, file_)
+
+ def update_db_all(self):
+ '''
+ apply all local file changes to the database.
+ '''
+ message = ""
+ for ix, filepath in self.local_files:
+ message += self.update_db(ix)
+
+ return message
+
+ def update_db(self, ix):
+ message = ""
+ filepath = self.index_to_local_filepath(ix)
+ LOGGER.debug("updating database ix %s"% ix)
+ if not os.path.isfile(filepath):
+ message = "FATAL %s does not exist!"% filepath
+ else:
+ db = connect.connect()
+ cursor = db.cursor()
+
+ f = open(filepath)
+ data = f.read()
+ f.close()
+
+ values = (data, ix)
+ result = cursor.execute(UPDATE_QUERY, values)
+
+ r_message = "commiting feescale '%s' to database."% filepath
+ message = "updating feescale %d result = %s\n"% (
+ ix, "OK" if result else "No Change applied")
+
+ db.close()
+ LOGGER.info(r_message + " " + message)
+
+ return message
+
+ def save_xml(self, ix, xml):
+ file_path = self.index_to_local_filepath(ix)
+ LOGGER.info("saving %s"% file_path)
+
+ LOGGER.debug("creating backup")
+ try:
+ shutil.copy(file_path, file_path+"~")
+ except IOError:
+ LOGGER.warning("no backup file created")
+
+ f = open(file_path, "w")
+ f.write(xml)
+ f.close()
+ return True
+
+
+feescale_handler = FeescaleHandler()
+
+if __name__ == "__main__":
+ logging.basicConfig()
+ LOGGER.setLevel(logging.DEBUG)
+
+ fh = FeescaleHandler()
+ fh.get_feescales_from_database()
+ print fh.non_existant_and_modified_local_files()
diff --git a/src/openmolar/dbtools/forum.py b/src/openmolar/dbtools/forum.py
new file mode 100644
index 0000000..61ea9fc
--- /dev/null
+++ b/src/openmolar/dbtools/forum.py
@@ -0,0 +1,150 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+import sys
+from openmolar import connect
+from openmolar.settings import localsettings
+
+headers=[_("Subject"),"db_index",_("From"), _("To"),
+_("Date"),_("Message"), _("Message")] #, "parent"]
+
+HIGHESTID = 0
+
+class post():
+ def __init__(self):
+ self.ix=None
+ self.parent_ix=None
+ self.inits=""
+ self.recipient=None
+ self.date=None
+ self.topic=""
+ self.comment=""
+ self.briefcomment=""
+ self.open=True
+
+def commitPost(post):
+ #use a different connection for forum, as it runs in a separate thread
+
+ db = connect.connect()
+ cursor = db.cursor()
+ columns = "parent_ix,inits,recipient,fdate,topic,comment"
+
+ values = (post.parent_ix, post.inits, post.recipient,
+ post.topic, post.comment.replace("\n"," "))
+
+ query = \
+ "insert into forum (%s) VALUES (%%s,%%s,%%s,NOW(),%%s,%%s)"% columns
+
+ cursor.execute(query, values)
+ db.commit()
+
+def deletePost(ix):
+ db=connect.connect()
+ cursor=db.cursor()
+ query = "update forum set open=False where ix=%s"
+ cursor.execute(query, (ix,))
+ db.commit()
+ cursor.close()
+
+def setParent(ix, parent_ix):
+ db = connect.connect()
+ cursor = db.cursor()
+ query = "update forum set parent_ix=%s where ix=%s"
+ cursor.execute(query, (parent_ix, ix))
+ db.commit()
+ cursor.close()
+
+def newPosts():
+ result = False
+ try:
+ users = localsettings.operator.split("/")
+ if users == []:
+ return
+ db=connect.connect()
+ cursor=db.cursor()
+ query='''select max(ix) from forum'''
+ cursor.execute(query)
+ row = cursor.fetchone()
+ query="select max(id) from forumread where"
+ for user in users:
+ query += " op='%s' or"% user
+ cursor.execute(query.strip("or"))
+ row2 = cursor.fetchone()
+
+ cursor.close()
+ result = row[0] > row2[0]
+ except connect.ProgrammingError, e:
+ print e
+ return result
+
+def updateReadHistory():
+ users = localsettings.operator.split("/")
+ #print "updating forumread for new posts for ", users
+ if users == []:
+ return
+ db=connect.connect()
+ cursor=db.cursor()
+ query="insert into forumread set id=%s, op=%s, readdate=NOW()"
+ for user in users:
+ values = (HIGHESTID, user)
+ cursor.execute(query, values)
+
+ cursor.close()
+
+
+def getPosts(user=None, include_closed=False):
+ '''
+ gets all active rows from a forum table
+ '''
+ global HIGHESTID
+ filter = ""
+ if not include_closed:
+ filter += ' open '
+ if user:
+ if filter == "":
+ filter += "and"
+ filter += ' recipient = ' + user
+ if filter != "":
+ filter = "where " + filter
+ db = connect.connect()
+ cursor = db.cursor()
+ query = ('SELECT ix, parent_ix, topic, inits, fdate, recipient, comment '
+ 'FROM forum %s ORDER BY parent_ix, ix' % filter)
+
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ retarg = []
+ update = False
+ for row in rows:
+ newpost = post()
+ newpost.ix = row[0]
+ if newpost.ix > HIGHESTID:
+ HIGHESTID = newpost.ix
+ update = True
+ newpost.parent_ix = row[1]
+ newpost.topic = row[2]
+ newpost.inits = row[3]
+ newpost.date = row[4]
+ newpost.recipient = row[5]
+ newpost.comment = row[6]
+ newpost.briefcomment = row[6][:40]
+ if newpost.comment != newpost.briefcomment:
+ newpost.briefcomment += "...."
+ retarg.append(newpost)
+
+ if update:
+ updateReadHistory()
+ return retarg
+
+if __name__ == "__main__":
+ posts = getPosts()
+ for post in posts:
+ print post.parent_ix, post.ix, post.topic
+
\ No newline at end of file
diff --git a/src/openmolar/dbtools/memos.py b/src/openmolar/dbtools/memos.py
new file mode 100644
index 0000000..9c3b1ef
--- /dev/null
+++ b/src/openmolar/dbtools/memos.py
@@ -0,0 +1,153 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009-2013 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from openmolar.connect import connect
+from openmolar.settings import localsettings
+
+QUERY = '''SELECT ix, serialno, author, type, mdate, message FROM ptmemos
+WHERE serialno = %s and open = 1 AND
+(expiredate is NULL or expiredate >= curdate()) AND (type = %s OR type = "all")
+order by ix'''
+
+QUERY_ALL = '''SELECT ix, serialno, author, type, mdate, message,
+open, expiredate FROM ptmemos WHERE serialno = %s order by ix'''
+
+INSERT_QUERY = '''INSERT into ptmemos
+(serialno, author, type, mdate, expiredate, message, open)
+VALUES (%s, %s, %s, NOW(), %s, %s, %s)'''
+
+DELETE_QUERY = "update ptmemos set open = 0 where ix=%s"
+
+
+class Memo(object):
+ def __init__(self):
+ self.ix = None
+ self.serialno = 0
+ self.author = ""
+ self.type = ""
+ self.mdate = None
+ self.expire = None
+ self.message = None
+ self.open = False
+
+ def setMessage(self, arg):
+ self.message = arg
+
+def get_memos(serialno):
+
+ db = connect()
+
+ if localsettings.station == "surgery":
+ values = (serialno, "surg")
+ elif localsettings.station == "reception":
+ values = (serialno, "rec")
+ else:
+ values = (serialno, "all")
+
+ cursor = db.cursor()
+ cursor.execute(QUERY, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ for row in rows:
+ memo = Memo()
+ memo.ix = row[0]
+ memo.serialno = row[1]
+ memo.author = row[2]
+ memo.type = row[3]
+ memo.mdate = row[4]
+ memo.setMessage(row[5])
+ memo.open = True
+
+ yield memo
+
+def deleteMemo(ix):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(DELETE_QUERY, (ix,))
+ cursor.close()
+ db.commit()
+
+def saveMemo(serialno, author, type, expire, message, open):
+ '''
+ put a memo into the database
+ '''
+ db = connect()
+
+ values = (serialno, author, type, expire, message, open)
+
+ cursor = db.cursor()
+ result = cursor.execute(INSERT_QUERY, values)
+ db.commit()
+ cursor.close()
+
+ return result
+
+def html_history(serialno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY_ALL, (serialno,))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ if not rows:
+ return u'''
+ <html>
+ <body>
+ <h1>%s</h1>
+ </body>
+ </html>'''% _("No memo history found")
+
+ html = u'''<html>
+ <body>
+ <h1>%s</h1>
+ <table width = '100%%' border="1">
+ '''% _("Memo History")
+
+ html += u'''<tr>
+ <th>%s</th>
+ <th>%s</th>
+ <th>%s</th>
+ <th>%s</th>
+ <th>%s</th>
+ <th>%s</th>
+ </tr>''' % (
+ _("Author"),
+ _("Location"),
+ _("Date"),
+ _("Expires"),
+ _("Deleted?"),
+ _("Message"))
+
+ for row in rows:
+ ix = row[0]
+ serialno = row[1]
+ author = row[2]
+ type = row[3]
+ mdate = row[4]
+ message = row[5]
+ open_ = row[6]
+ expiry_date = row[7]
+ html += u'''<tr>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ </tr>''' % (
+ author,
+ type,
+ localsettings.formatDate(mdate),
+ localsettings.formatDate(expiry_date),
+ _("Yes") if not open_ else _("No"),
+ message)
+
+ return html + "</table></body></html>"
+
+if __name__ == "__main__":
+ print html_history(11956)
diff --git a/src/openmolar/dbtools/nhs_claims.py b/src/openmolar/dbtools/nhs_claims.py
new file mode 100644
index 0000000..ebdce38
--- /dev/null
+++ b/src/openmolar/dbtools/nhs_claims.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+'''
+module for getting/setting information from the claims table
+'''
+
+from openmolar.connect import connect
+
+def details(sno):
+ '''returns an html set showing pt name etc...'''
+
+ headers = 'courseno,serialno,dntix,proddate,startdate,cmpldate,regdate,'
+ headers += 'authdate,dob,sname,fname,addr1,addr2,addr3,pcde,nhsno,'
+ headers += 'prevsname,exempttext,i0,i1,i2,i3,i4,f0,f1,f2,f3,f4,f5,f6,f7,'
+ headers += 'f8,f9,submstatus,submcount,submno,archdate,'
+ headers += 'town,county,regtype' #claimdata,trtdata,
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(
+ 'select %s from claims where serialno=%d order by proddate DESC'%(
+ headers,sno))
+
+ rows = cursor.fetchall()
+ cursor.close()
+
+ claimNo = len(rows)
+ retarg = "<h3>NHS Claims - %d found</h3>"% claimNo
+ if claimNo == 0:
+ return retarg
+ retarg += '<table border="1">'
+
+ retarg += '<tr><td>-</td>'
+ for i2 in range(len(rows)):
+ bgcolor = ""
+ if i2 % 2 == 0:
+ bgcolor = ' bgcolor="#eeffff"'
+ retarg += '<td%s>Claim %s</td>'% (bgcolor, i2+1)
+ retarg += '</tr>'
+
+ headerArray = headers.split(",")
+ for i in range(len(headerArray)):
+ retarg += "<tr>"
+ retarg += "<th>%s</th>"% headerArray[i]
+ for i2 in range(len(rows)):
+ bgcolor = ""
+ if i2 % 2 == 0:
+ bgcolor = ' bgcolor="#eeffff"'
+ val = rows[i2][i]
+ if not val:
+ val = "-"
+ retarg += '<td%s>%s</td>'% (bgcolor, val)
+
+ retarg += '</tr>\n'
+
+ retarg += '</table>'
+ #db.close()
+
+ return retarg
+
+if __name__ == "__main__":
+ print '<html><body>'
+ print details(17322)
+ print "</body></html>"
diff --git a/src/openmolar/dbtools/patient_class.py b/src/openmolar/dbtools/patient_class.py
new file mode 100644
index 0000000..407fe0c
--- /dev/null
+++ b/src/openmolar/dbtools/patient_class.py
@@ -0,0 +1,930 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from copy import deepcopy
+import datetime
+import logging
+import re
+import sys
+
+from openmolar import connect
+from openmolar.ptModules import perio, dec_perm, estimates, notes, formatted_notes
+from openmolar.settings import localsettings
+
+from openmolar.dbtools.appt_prefs import ApptPrefs
+from openmolar.dbtools.treatment_course import TreatmentCourse
+from openmolar.dbtools.plan_data import PlanData
+from openmolar.dbtools.est_logger import EstLogger
+
+from openmolar.dbtools.queries import ESTS_QUERY, PATIENT_QUERY
+
+LOGGER = logging.getLogger("openmolar")
+
+dateFields = ("dob", "pd0", "pd1", "pd2", "pd3", "pd4", "pd5", "pd6",
+"pd7", "pd8", "pd9", "pd10", "pd11", "pd12", "pd13", "pd14", "cnfd",
+"recd", "billdate", "enrolled", "initaccept", "lastreaccept", "lastclaim",
+"expiry", "transfer", "chartdate", "accd", "cmpd", "examd", "bpedate")
+
+nullDate = None
+
+patientTableAtts = (
+'pf0','pf1','pf2','pf3','pf4','pf5','pf6','pf7','pf8','pf9','pf10','pf11',
+'pf12','pf14','pf15','pf16','pf17','pf18','pf19',
+'money0','money1','money2','money3','money4','money5','money6','money7',
+'money8','money9','money10',
+'pd0','pd1','pd2','pd3','pd4','pd5','pd6','pd7','pd8','pd9','pd10','pd11',
+'pd12','pd13','pd14',
+'sname','fname','title','sex','dob', 'addr1','addr2','addr3','pcde','tel1',
+'tel2','occup',
+'nhsno','cnfd','psn','cset','dnt1','dnt2','courseno0','courseno1',
+'ur8st','ur7st','ur6st','ur5st','ur4st','ur3st','ur2st','ur1st',
+'ul1st','ul2st','ul3st','ul4st','ul5st','ul6st','ul7st','ul8st',
+'ll8st','ll7st','ll6st','ll5st','ll4st','ll3st','ll2st','ll1st',
+'lr1st','lr2st','lr3st','lr4st','lr5st','lr6st','lr7st','lr8st',
+'dent0','dent1','dent2','dent3',
+'dmask','minstart','maxend','billdate','billct',
+'billtype','pf20','money11','pf13','familyno','memo',
+'town','county','mobile','fax','email1','email2','status','source',
+'enrolled','archived',
+'initaccept','lastreaccept','lastclaim','expiry','cstatus','transfer',
+'pstatus','courseno2')
+
+exemptionTableAtts = ('exemption','exempttext')
+
+patientTableVals=(
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,
+nullDate, nullDate, nullDate, nullDate, nullDate, nullDate, nullDate,
+nullDate, nullDate, nullDate, nullDate, nullDate, nullDate, nullDate,nullDate,
+'','','','',nullDate,'','', '','', '','', '',
+'',nullDate, '','',0,0,0,0,
+'','', '','', '','', '','',
+'','', '','', '','', '','',
+'','', '','', '','', '','',
+'','', '','', '','', '','',
+0,0,0,0,
+'YYYYYYY',0,0,nullDate,0,None,
+0,0,0,0,'','',
+'','','','','','','','',
+nullDate,0,
+nullDate,nullDate,nullDate,nullDate,0,nullDate,
+0,0)
+
+bpeTableAtts=('bpedate','bpe')
+bpeTableVals=(nullDate,'',())
+
+perioTableAtts=('chartdate','bpe','chartdata','flag')
+
+mnhistTableAtts=('chgdate','ix','note')
+
+notesTableAtts=('lineno','line')
+
+mouth= ['ul8','ul7','ul6','ul5','ul4','ul3','ul2','ul1',
+'ur1','ur2','ur3','ur4','ur5','ur6','ur7','ur8',
+'lr8','lr7','lr6','lr5','lr4','lr3','lr2','lr1',
+'ll1','ll2','ll3','ll4','ll5','ll6','ll7','ll8']
+
+decidmouth= ['***','***','***','ulE','ulD','ulC','ulB','ulA',
+'urA','urB','urC','urD','urE','***','***','***',
+'***','***','***','lrE','lrD','lrC','lrB','lrA',
+'llA','llB','llC','llD','llE','***','***','***']
+
+clinical_memos = ("synopsis",)
+
+class patient(object):
+ def __init__(self, sno):
+ '''
+ initiate the class with default variables, then load from database
+ '''
+ self.serialno = sno
+ self.dbstate = None
+
+ self.load_warnings = []
+
+ ## patient table atts
+ self.courseno0 = None
+ self.pf0 = 0
+ self.pf1 = 0
+ self.pf2 = 0
+ self.pf3 = 0
+ self.pf4 = 0
+ self.pf5 = 0
+ self.pf6 = 0
+ self.pf7 = 0
+ self.pf8 = 0
+ self.pf9 = 0
+ self.pf10 = 0
+ self.pf11 = 0
+ self.pf12 = 0
+ self.pf14 = 0
+ self.pf15 = 0
+ self.pf16 = 0
+ self.pf17 = 0
+ self.pf18 = 0
+ self.pf19 = 0
+ self.money0 = 0
+ self.money1 = 0
+ self.money2 = 0
+ self.money3 = 0
+ self.money4 = 0
+ self.money5 = 0
+ self.money6 = 0
+ self.money7 = 0
+ self.money8 = 0
+ self.money9 = 0
+ self.money10 = 0
+ self.pd0 = None
+ self.pd1 = None
+ self.pd2 = None
+ self.pd3 = None
+ self.pd4 = None
+ self.pd5 = None
+ self.pd6 = None
+ self.pd7 = None
+ self.pd8 = None
+ self.pd9 = None
+ self.pd10 = None
+ self.pd11 = None
+ self.pd12 = None
+ self.pd13 = None
+ self.pd14 = None
+ self.sname = ''
+ self.fname = ''
+ self.title = ''
+ self.sex = ''
+ self.dob = None
+ self.addr1 = ''
+ self.addr2 = ''
+ self.addr3 = ''
+ self.pcde = ''
+ self.tel1 = ''
+ self.tel2 = ''
+ self.occup = ''
+ self.nhsno = ''
+ self.cnfd = None
+ self.psn = ''
+ self.cset = ''
+ self.dnt1 = 0
+ self.dnt2 = 0
+ self.courseno1 = 0
+ self.ur8st = ''
+ self.ur7st = ''
+ self.ur6st = ''
+ self.ur5st = ''
+ self.ur4st = ''
+ self.ur3st = ''
+ self.ur2st = ''
+ self.ur1st = ''
+ self.ul1st = ''
+ self.ul2st = ''
+ self.ul3st = ''
+ self.ul4st = ''
+ self.ul5st = ''
+ self.ul6st = ''
+ self.ul7st = ''
+ self.ul8st = ''
+ self.ll8st = ''
+ self.ll7st = ''
+ self.ll6st = ''
+ self.ll5st = ''
+ self.ll4st = ''
+ self.ll3st = ''
+ self.ll2st = ''
+ self.ll1st = ''
+ self.lr1st = ''
+ self.lr2st = ''
+ self.lr3st = ''
+ self.lr4st = ''
+ self.lr5st = ''
+ self.lr6st = ''
+ self.lr7st = ''
+ self.lr8st = ''
+ self.dent0 = 0
+ self.dent1 = 0
+ self.dent2 = 0
+ self.dent3 = 0
+ self.dmask = "YYYYYYY"
+ self.minstart = 0
+ self.maxend = 0
+ self.billdate = None
+ self.billct = 0
+ self.billtype = None
+ self.pf20 = 0
+ self.money11 = 0
+ self.pf13 = 0
+ self.familyno = 0
+ self.memo = ''
+ self.town = ''
+ self.county = ''
+ self.mobile = ''
+ self.fax = ''
+ self.email1 = ''
+ self.email2 = ''
+ self.status = ''
+ self.source = ''
+ self.enrolled = ''
+ self.archived = None
+ self.initaccept = 0
+ self.lastreaccept = None
+ self.lastclaim = None
+ self.expiry = None
+ self.cstatus = None
+ self.transfer = 0
+ self.pstatus = None
+ self.courseno2 = 0
+
+ ######TABLE 'mnhist'#######
+ self.chgdate = nullDate # date YES None
+ self.ix = 0 #tinyint(3) unsigned YES None
+ self.note = '' #varchar(60) YES None
+
+ self.estimates = []
+
+ ##from userdata
+ self.plandata = PlanData(self.serialno)
+
+ ###NEIL'S STUFF####
+ self.exemption = ""
+ self.exempttext = ""
+ self.perioData = {}
+ self.bpe = []
+ self.bpedate = nullDate
+ self.chartdate = nullDate
+ self.notes_dict = {}
+ self.MH = ()
+ self.MEDALERT = False
+ self.HIDDENNOTES = []
+ self.chartgrid = {}
+ self._fee_table = None
+ self.synopsis = ""
+ self._n_family_members = None
+ self._dayBookHistory = None
+ self.treatment_course = None
+ self.est_logger = None
+
+ if self.serialno == 0:
+ return
+
+ ######################################
+ ## now load stuff from the database ##
+ ######################################
+ db = connect.connect()
+ cursor = db.cursor()
+
+ self.getSynopsis()
+
+ cursor.execute(PATIENT_QUERY, (self.serialno,))
+ values= cursor.fetchall()
+
+ if values == ():
+ raise localsettings.PatientNotFoundError
+
+ for i, att in enumerate(patientTableAtts):
+ value = values[0][i]
+ if value is not None:
+ self.__dict__[att] = value
+
+ query = '''select exemption, exempttext from exemptions
+ where serialno=%s'''
+ cursor.execute(query, self.serialno)
+
+ values = cursor.fetchall()
+
+ for value in values:
+ self.exemption, self.exempttext = value
+
+ query = '''select bpedate, bpe from bpe where serialno=%s
+ order by bpedate'''
+ cursor.execute(query, self.serialno)
+
+ values = cursor.fetchall()
+
+ for value in values:
+ self.bpe.append(value)
+
+ if self.courseno0 != 0:
+ self.getEsts()
+
+ self.treatment_course = TreatmentCourse(
+ self.serialno, self.courseno0)
+
+ self.getNotesTuple()
+
+ query = 'select chartdate,chartdata from perio where serialno=%s'
+ cursor.execute(query, self.serialno)
+ perioData=cursor.fetchall()
+
+ for data in perioData:
+ self.perioData[localsettings.formatDate(data[0])] = (
+ perio.get_perioData(data[1]))
+ #--perioData is
+ #--a dictionary (keys=dates) of dictionaries with keys
+ #--like "ur8" and containing 7 tuples of data
+
+ query = 'select drnm,adrtel,curmed,oldmed,allerg,heart,lungs,'+\
+ 'liver,kidney,bleed,anaes,other,alert,chkdate from mednotes'+\
+ ' where serialno=%s'
+ cursor.execute(query, (self.serialno,))
+
+ self.MH=cursor.fetchone()
+ if self.MH!=None:
+ self.MEDALERT=self.MH[12]
+
+ cursor.close()
+ #db.close()
+
+ #-- load from plandata
+ self.plandata.getFromDB()
+
+ self.appt_prefs = ApptPrefs(self.serialno)
+
+ self.updateChartgrid()
+
+ self.take_snapshot()
+
+
+ @property
+ def appt_memo(self):
+ return self.appt_prefs.note
+
+ def set_appt_memo(self, memo):
+ self.appt_prefs.note = memo
+
+ @property
+ def recall_active(self):
+ return self.appt_prefs.recall_active
+
+ @property
+ def recd(self):
+ return self.appt_prefs.recdent
+
+ @property
+ def dayBookHistory(self):
+ if self._dayBookHistory is None:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select date, trtid, chart from daybook where serialno=%s'
+ cursor.execute(query, self.serialno)
+ self._dayBookHistory=cursor.fetchall()
+ cursor.close()
+ return self._dayBookHistory
+
+ def __repr__(self):
+ return "'Patient_class instance - serialno %d'"% self.serialno
+
+ @property
+ def address(self):
+ '''
+ a printable address
+ '''
+ address = ""
+ for line in (self.addr1, self.addr2, self.addr3,
+ self.town, self.county, self.pcde):
+ if line.strip(" ") != "":
+ address += "%s\n"% line.strip(" ")
+ return address
+
+ def getAge(self, on_date=None):
+ '''
+ return the age in form (year(int), months(int), isToday(bool))
+ '''
+ if on_date is None:
+ #use today
+ on_date = localsettings.currentDay()
+
+ day = self.dob.day
+ try:
+ nextbirthday = datetime.date(on_date.year, self.dob.month,
+ self.dob.day)
+ except ValueError:
+ #catch leap years!!
+ nextbirthday = datetime.date(on_date.year, self.dob.month,
+ self.dob.day-1)
+
+ ageYears = on_date.year - self.dob.year
+
+ if nextbirthday > on_date:
+ ageYears -= 1
+ months = (12 - self.dob.month) + on_date.month
+ else:
+ months = on_date.month - self.dob.month
+ if self.dob.day > on_date.day:
+ months -= 1
+
+ isToday = nextbirthday == localsettings.currentDay()
+
+ return (ageYears, months, isToday)
+
+ @property
+ def ageYears(self):
+ return self.getAge()[0]
+
+ @property
+ def age_course_start(self):
+ '''
+ returns a tuple (year, months) for the patient at accd
+ '''
+ return self.getAge(self.treatment_course.accd)[:2]
+
+ @property
+ def under_6(self):
+ '''
+ returns a bool "is patient under 6?".
+ '''
+ return self.ageYears < 6
+
+ @property
+ def under_18(self):
+ '''
+ returns a bool "is patient under 18?".
+ '''
+ return self.ageYears < 18
+
+ def forget_fee_table(self):
+ self._fee_table = None
+
+ @property
+ def fee_table(self):
+ '''
+ logic to determine which feeTable should be used for standard items
+ '''
+ if self._fee_table is None:
+ if self.treatment_course.accd is None:
+ cse_accd = localsettings.currentDay()
+ else:
+ cse_accd = self.treatment_course.accd
+ for table in localsettings.FEETABLES.tables.values():
+ LOGGER.debug(
+ "checking feescale %s to see if suitable a feetable"% (
+ table))
+
+ start, end = table.startDate, table.endDate
+ LOGGER.debug("categories, start, end = %s, %s, %s"% (
+ table.categories, start, end))
+ if end is None:
+ end = localsettings.currentDay()
+
+ if self.cset in table.categories and start <= cse_accd <=end:
+ self._fee_table = table
+
+ if self._fee_table is None:
+ #-- no matching table found, use the default.
+ LOGGER.warning("NO SUITABLE FEETABLE FOUND, RETURNING DEFAULT")
+ self._fee_table = localsettings.FEETABLES.default_table
+
+ return self._fee_table
+
+ def getEsts(self):
+ '''
+ get estimate data
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+
+ cursor.execute(ESTS_QUERY, (self.serialno, self.courseno0))
+
+ rows = cursor.fetchall()
+ self.estimates = []
+
+ for row in rows:
+ hash_ = row[10]
+ completed = bool(row[9])
+
+ tx_hash = estimates.TXHash(hash_, completed)
+
+ ix = row[0]
+
+ found = False
+ #use existing est if one relates to multiple treatments
+ for existing_est in self.estimates:
+ if existing_est.ix == ix:
+ existing_est.tx_hashes.append(tx_hash)
+ found = True
+ break
+ if found:
+ continue
+
+ #initiate a custom data class
+ est = estimates.Estimate()
+
+ est.ix = ix
+ est.number = row[1]
+ est.itemcode = row[2]
+ est.description = row[3]
+ est.fee = row[4]
+ est.ptfee = row[5]
+ est.feescale = row[6]
+ est.csetype = row[7]
+ est.dent = row[8]
+
+ est.tx_hashes = [tx_hash]
+ self.estimates.append(est)
+
+ cursor.close()
+
+ self.est_logger = EstLogger(self.courseno0)
+
+ def getSynopsis(self):
+ db = connect.connect()
+ cursor = db.cursor()
+ fields = clinical_memos
+ query=""
+ for field in fields:
+ query += field+","
+ query=query.strip(",")
+ try:
+ if cursor.execute(
+ 'SELECT %s from clinical_memos where serialno=%d'% ( query,
+ self.serialno)):
+ self.synopsis = cursor.fetchall()[-1][0]
+ except connect.OperationalError, e:
+ 'necessary because the column is missing is db schema 1.4'
+ print "WARNING -", e
+
+ @property
+ def underTreatment(self):
+ return (self.treatment_course is not None and
+ self.treatment_course.underTreatment)
+
+ @property
+ def max_tx_courseno(self):
+ return self.treatment_course.max_tx_courseno
+
+ @property
+ def newer_course_found(self):
+ return self.treatment_course.newer_course_found
+
+ def getNotesTuple(self):
+ '''
+ connect and poll the formatted_notes table
+ '''
+ self.notes_dict = formatted_notes.get_notes_dict(self.serialno)
+
+ def flipDec_Perm(self, tooth):
+ '''
+ switches a deciduous tooth to a permanent one,
+ and viceVersa pass a variable like "ur5"
+ '''
+ quadrant=tooth[:2]
+ pos=int(tooth[2])-1 # will be 0-7
+ if quadrant=="ul":
+ var=self.dent1
+ pos=7-pos
+ elif quadrant=="ur":
+ var=self.dent0
+ elif quadrant=="ll":
+ var=self.dent2
+ else: #lr
+ var=self.dent3
+ pos=7-pos
+ existing=dec_perm.fromSignedByte(var)
+ if existing[pos]=="1":
+ existing=existing[:pos]+"0"+existing[pos+1:]
+ else:
+ existing=existing[:pos]+"1"+existing[pos+1:]
+ if quadrant=="ul":
+ self.dent1=dec_perm.toSignedByte(existing)
+ elif quadrant=="ur":
+ self.dent0=dec_perm.toSignedByte(existing)
+ elif quadrant=="ll":
+ self.dent2=dec_perm.toSignedByte(existing)
+ else: #lr
+ self.dent3=dec_perm.toSignedByte(existing)
+ self.updateChartgrid()
+
+ def updateChartgrid(self):
+ grid=""
+ for quad in (self.dent1,self.dent0,self.dent3,self.dent2):
+ grid+=dec_perm.fromSignedByte(quad)
+ for pos in mouth:
+ if grid[mouth.index(pos)]=="0":
+ self.chartgrid[pos]=pos
+ else:
+ self.chartgrid[pos]=decidmouth[mouth.index(pos)]
+
+ def apply_fees(self):
+ if "N" in self.cset:
+ self.money0 = self.dbstate.money0 + self.fees_accrued
+ else:
+ self.money1 = self.dbstate.money1 + self.fees_accrued
+
+ @property
+ def fees(self):
+ return int(self.money0 + self.money1 + self.money9 + self.money10 +
+ self.money11 - self.money2 - self.money3 - self.money8)
+
+ @property
+ def fees_accrued(self):
+ old_estimate_charges = 0
+ if self.courseno0 == self.dbstate.courseno0:
+ old_estimate_charges = self.dbstate.estimate_charges
+
+ accrued_fees = self.estimate_charges - old_estimate_charges
+ LOGGER.debug("fees_accrued = (new-existing) = %d - %d = %d"%(
+ self.estimate_charges,
+ old_estimate_charges,
+ accrued_fees)
+ )
+ return accrued_fees
+
+ @property
+ def estimate_charges(self):
+ charges = 0
+ for est in self.estimates:
+ if est.completed == 2:
+ charges += est.ptfee
+ elif est.completed == 1:
+ charges += est.interim_pt_fee
+ return charges
+
+ @property
+ def est_logger_text(self):
+ '''
+ a summary of the estimate for use in the est_logger_table
+ est_logger is unconcerned whether treatment is completed etc..
+ '''
+ text = ""
+ total, p_total = 0, 0
+ for estimate in sorted(self.estimates):
+ text += estimate.log_text
+ total += estimate.fee
+ p_total += estimate.ptfee
+ text += "TOTAL || || || || || || %s || %s"% (total, p_total)
+ return text
+
+ def resetAllMonies(self):
+ '''
+ zero's everything except money11 (bad debt)
+ '''
+ self.money0 = 0
+ self.money1 = 0
+ self.money9 = 0
+ self.money10 = 0
+ self.money2 = 0
+ self.money3 = 0
+ self.money8 = 0
+
+ @property
+ def nhs_claims(self):
+ claims = []
+ for est in self.estimates:
+ if est.csetype == "N" and est.completed == 2:
+ #yield est
+ claims.append(est)
+ return claims
+
+ def addHiddenNote(self, ntype, note="", attempt_delete=False):
+ '''
+ re-written for schema 1.9
+ '''
+ LOGGER.info(
+ "patient.addHiddenNote(ntype='%s',note='%s', attempt_delete='%s'"% (
+ ntype, note, attempt_delete))
+
+ HN = ()
+ if ntype=="payment":
+ HN=("RECEIVED: ", note)
+ elif ntype=="printed":
+ HN=("PRINTED: ", note)
+ elif ntype=="exam":
+ HN=("TC: EXAM", note)
+ elif ntype=="chart_treatment":
+ HN=("TC:", note)
+ elif ntype=="perio_treatment":
+ HN=("TC: PERIO", note)
+ elif ntype=="xray_treatment":
+ HN=("TC: XRAY", note)
+ elif ntype=="treatment":
+ HN=("TC: OTHER", note)
+ elif ntype=="mednotes": #other treatment
+ HN=("UPDATED:Medical Notes", note)
+ elif ntype=="close_course":
+ HN=("COURSE CLOSED", "="*10)
+ elif ntype=="open_course":
+ HN=("COURSE OPENED", "= "*5)
+ elif ntype=="resume_course":
+ HN=("COURSE RE-OPENED", "= "*5)
+ elif ntype=="fee":
+ HN=("INTERIM: ", note)
+
+ if not HN:
+ print "unable to add Hidden Note notetype '%s' not found"% ntype
+ return
+
+ reversing_note = ("UNCOMPLETED", "{%s}"% note)
+
+ if attempt_delete:
+ try:
+ self.HIDDENNOTES.remove(HN)
+ except ValueError:
+ self.HIDDENNOTES.append(reversing_note)
+ else:
+ try:
+ self.HIDDENNOTES.remove(reversing_note)
+ except ValueError:
+ self.HIDDENNOTES.append(HN)
+
+ def clearHiddenNotes(self):
+ self.HIDDENNOTES=[]
+
+ def updateBilling(self,tone):
+ self.billdate = localsettings.currentDay()
+ self.billct += 1
+ self.billtype = tone
+
+ def treatmentOutstanding(self):
+ return (self.treatment_course and
+ self.treatment_course.has_treatment_outstanding)
+
+ def checkExemption(self):
+ if (self.exemption == "S" and
+ self.getAge(self.treatment_course.accd)[0] > 19):
+ self.exemption = ""
+ self.load_warnings.append(_("Student Exemption removed"))
+ else:
+ return True
+
+ @property
+ def name_id(self):
+ return u"%s - %s"% (
+ self.name, self.serialno)
+
+ @property
+ def name(self):
+ return u"%s %s %s"% (
+ self.title, self.fname, self.sname)
+
+ @property
+ def n_family_members(self):
+ if self._n_family_members is None:
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute("select count(*) from patients where familyno=%s",
+ (self.familyno,))
+ self._n_family_members = cursor.fetchone()[0]
+
+ return self._n_family_members
+
+ @property
+ def under_capitation(self):
+ if self.cset != "N":
+ return False
+ years, months = self.age_course_start
+
+ return years < 17 or ( years == 17 and months < 11)
+
+ def new_tx_course(self, new_courseno):
+ self.courseno0 = new_courseno
+ self.treatment_course = TreatmentCourse(self.serialno, new_courseno)
+
+ @property
+ def COPIED_ATTRIBUTES(self):
+ '''
+ these are what is copied over into pt.dbstate
+ '''
+ return (patientTableAtts +
+ exemptionTableAtts + bpeTableAtts + mnhistTableAtts +
+ perioTableAtts + clinical_memos + (
+ "fees", "estimate_charges", "serialno", "estimates",
+ "appt_prefs", "treatment_course", "chartgrid"))
+
+ @property
+ def USER_CHANGEABLE_ATTRIBUTES(self):
+ '''
+ the attributes, common to pt and the object copy pt.db_state
+ which is generated during take_snapshot
+ used to determine whether the patient has been edited.
+ '''
+ for att in self.COPIED_ATTRIBUTES:
+ #if att not in ("treatment_course", "estimates", "chartgrid"):
+ yield att
+
+ @property
+ def changes(self):
+ changes = []
+ for att in self.USER_CHANGEABLE_ATTRIBUTES:
+ new_value = self.__dict__.get(att, "")
+ db_value = self.dbstate.__dict__.get(att, "")
+ if new_value != db_value:
+ message = "Altered pt.%s"% att.ljust(20)
+ if att not in ("treatment_course", "estimates"):
+ message += (
+ " ORIG = '%s' NEW = '%s'"% (db_value, new_value))
+ LOGGER.debug(message)
+ changes.append(att)
+ return changes
+
+ def take_snapshot(self):
+ # create a snapshot of this class, copying all attributes that the
+ # user can change
+ memo = {}
+ cls = self.__class__
+ snapshot = cls.__new__(cls)
+ memo[id(self)] = snapshot
+ for att, v in self.__dict__.items():
+ if att in self.COPIED_ATTRIBUTES:
+ setattr(snapshot, att, deepcopy(v, memo))
+ self.dbstate = snapshot
+
+ LOGGER.debug("snapshot of %s taken"% self)
+
+ @property
+ def course_dentist(self):
+ '''
+ returns the course dentist for NHS and private courses, but the
+ contracted dentist otherwise.
+ this is used in the daybook for "work done for lists".
+ '''
+ if self.cset == "I":
+ return self.dnt1
+ if self.dnt2 not in (0, None):
+ return self.dnt2
+ return self.dnt1
+
+ @property
+ def has_new_course(self):
+ if self.treatment_course and self.dbstate.treatment_course is None:
+ return True
+ return (self.treatment_course.courseno !=
+ self.dbstate.treatment_course.courseno)
+
+ @property
+ def tx_hash_tups(self):
+ '''
+ a list of unique hashes of all treatment on the current treatment plan
+ returns a tuple (unique hash, attribute, treatment)
+ '''
+ for hash_, att, tx in self.treatment_course._get_tx_hashes():
+ if re.match("[ul][lr][1-8]", att):
+ att = self.chartgrid.get(att)
+ yield hash_, att, tx
+
+ @property
+ def completed_tx_hash_tups(self):
+ for hash_, att, tx in self.treatment_course.completed_tx_hash_tups:
+ if re.match("[ul][lr][1-8]", att):
+ att = self.chartgrid.get(att)
+ yield hash_, att, tx
+
+ @property
+ def completed_tx_hashes(self):
+ return list(self.treatment_course.completed_tx_hashes)
+
+ @property
+ def planned_tx_hash_tups(self):
+ return self.treatment_course.planned_tx_hash_tups
+
+ @property
+ def has_planned_perio_txs(self):
+ for hash_, att, tx in self.planned_tx_hash_tups:
+ if att == "perio":
+ return True
+ return False
+
+ def get_tx_from_hash(self, hash_):
+ return self.treatment_course.get_tx_from_hash(hash_)
+
+ def ests_from_hash(self, hash_):
+ '''
+ return all estimate items associated with a unique tx_hash
+ '''
+ for est in self.estimates:
+ for tx_hash in est.tx_hashes:
+ if tx_hash == hash_:
+ yield est
+
+
+if __name__ =="__main__":
+ '''testing stuff'''
+ try:
+ serialno = int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno = 1
+
+ LOGGER.setLevel(logging.DEBUG)
+
+ if "-v" in sys.argv:
+ verbose = True
+ else:
+ verbose = False
+
+ pt = patient(serialno)
+ if verbose:
+ for att in sorted(pt.__dict__.keys()):
+ print "%s '%s'"% (att.ljust(20), pt.__dict__[att])
+
+ localsettings.loadFeeTables()
+ pt.fee_table
+
+ pt.take_snapshot()
+ print list(pt.tx_hash_tups)
+
+ print pt.treatment_course
+ print pt.ageYears
+ print pt.age_course_start
+ print pt.under_capitation
\ No newline at end of file
diff --git a/src/openmolar/dbtools/patient_write_changes.py b/src/openmolar/dbtools/patient_write_changes.py
new file mode 100644
index 0000000..af0c216
--- /dev/null
+++ b/src/openmolar/dbtools/patient_write_changes.py
@@ -0,0 +1,369 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+import sys
+import types
+
+import MySQLdb
+
+from openmolar.connect import connect
+from openmolar.settings import localsettings
+from openmolar.dbtools import patient_class
+from openmolar.dbtools.treatment_course import CURRTRT_ATTS
+
+LOGGER = logging.getLogger("openmolar")
+
+BPE_INS_QUERY = '''insert into bpe (serialno, bpedate, bpe)
+values (%s, %s, %s) on duplicate key update bpe=%s'''
+
+EXMPT_INS_QUERY = ('insert into exemptions '
+'(serialno, exemption, exempttext, datestamp) '
+'values (%s,%s,%s, NOW())')
+
+ESTS_INS_QUERY = ('insert into newestimates (serialno, '
+'courseno, number, itemcode, description, fee, ptfee, feescale, '
+'csetype, dent, modified_by, time_stamp) values '
+'(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())')
+
+EST_LINK_INS_QUERY = (
+'insert into est_link2 (est_id, tx_hash, completed) values (%s, %s, %s)')
+
+EST_DEL_QUERY = "delete from newestimates where ix=%s"
+EST_LINK_DEL_QUERY = "delete from est_link2 where est_id=%s"
+
+SYNOPSIS_INS_QUERY = '''
+insert into clinical_memos (serialno, synopsis, author, datestamp)
+values (%s, %s, %s, NOW())'''
+
+def all_changes(pt, changes):
+ LOGGER.debug("writing_changes to patient")
+ if changes == []:
+ LOGGER.warning(
+ "write changes called, but no changes for patient %d!"% (
+ pt.serialno)
+ )
+ return True
+ else:
+
+ #set up some booleans to prevent multiple updates of the same data
+ #example exemption AND exemption text have changed..
+ exemptionsHandled = False
+
+ if pt.HIDDENNOTES != []:
+ #-- hidden notes is
+ #-- treatment codes... money, printing etc..
+ LOGGER.debug("saving hiddennotes")
+ toNotes(pt.serialno, pt.HIDDENNOTES)
+ pt.clearHiddenNotes()
+
+ sqlcommands = {}
+ estimate_commands = {}
+ patchanges, patvalues = "", []
+ trtchanges, trtvalues = "", []
+ for change in changes:
+ if change == "courseno":
+ pass #these values should never get munged.
+
+ elif change in ("money0, money1"):
+ diff = pt.__dict__[change] - pt.dbstate.__dict__[change]
+ patvalues.append (diff)
+ patchanges += '%s = %s + %%s,'% (change, change)
+
+ elif change in patient_class.patientTableAtts:
+ patvalues.append(pt.__dict__[change])
+ patchanges += '%s = %%s,'% change
+
+ elif (change in patient_class.exemptionTableAtts and
+ not exemptionsHandled):
+ values = (pt.serialno, pt.exemption, pt.exempttext)
+ sqlcommands['exemptions'] = ((EXMPT_INS_QUERY, values),)
+ exemptionsHandled = True
+
+ elif change == "bpe":
+ values = ( pt.serialno,
+ pt.bpe[-1][0],
+ pt.bpe[-1][1],
+ pt.bpe[-1][1]
+ )
+ sqlcommands['bpe'] =((BPE_INS_QUERY, values),)
+
+ elif change == "synopsis":
+ values = (pt.serialno, pt.synopsis,
+ localsettings.operator)
+
+ sqlcommands['clinical_memos']= ((SYNOPSIS_INS_QUERY, values),)
+
+ elif change == "estimates":
+ estimate_commands["insertions"] = []
+ estimate_commands["updates"] = []
+ sqlcommands["estimate_deletions"] = []
+
+ oldEstDict = {}
+
+ for est in pt.dbstate.estimates:
+ #-- generate a dictionary with the
+ #-- autogenerated db indexas key
+ if est.ix != None:
+ oldEstDict[est.ix] = est
+
+ for est in pt.estimates:
+ if est.ix == None: #--new item
+ values = (pt.serialno, pt.courseno0, est.number,
+ est.itemcode, est.description,
+ est.fee, est.ptfee, est.feescale, est.csetype,
+ est.dent, localsettings.operator)
+
+ estimate_commands["insertions"].append(
+ (ESTS_INS_QUERY, values, est.tx_hashes)
+ )
+
+ #for tx_hash in est.tx_hashes:
+ # values = (tx_hash,)
+ # sqlcommands["estimate_insertions"].append(
+ # (EST_LINK_INS_QUERY, values)
+ # )
+
+ elif est.ix in oldEstDict.keys():
+ oldEst = oldEstDict[est.ix]
+
+ if str(oldEst) != str(est):
+ #-- have to use the str because est class does not
+ #-- have a _eq_ property ??
+ query = 'update newestimates set '
+ values = []
+ if oldEst.number != est.number:
+ query += "number=%s,"
+ values.append(est.number)
+ if oldEst.itemcode != est.itemcode:
+ query += 'itemcode=%s,'
+ values.append(est.itemcode)
+ if oldEst.description != est.description:
+ query += 'description=%s,'
+ values.append(est.description)
+ if oldEst.fee != est.fee:
+ query += 'fee=%s,'
+ values.append(est.fee)
+ if oldEst.ptfee != est.ptfee:
+ query += "ptfee=%s,"
+ values.append(est.ptfee)
+ if oldEst.feescale != est.feescale:
+ query += 'feescale=%s,'
+ values.append(pt.feescale)
+ if oldEst.csetype != est.csetype:
+ query += 'csetype=%s,'
+ values.append(est.csetype)
+ if oldEst.dent != est.dent:
+ query += 'dent=%d,'
+ values.append(est.dent)
+
+ #obsolete code.. completed is now in tx_hash!
+ #if oldEst.completed != est.completed:
+ # query += 'completed=%s,'
+ # values.append(est.completed)
+
+ query += ('modified_by = %s, '
+ 'time_stamp = NOW() where ix = %s')
+
+ values.append(localsettings.operator)
+ values.append(est.ix)
+
+ estimate_commands["updates"].append(
+ (query, tuple(values), est))
+
+ oldEstDict.pop(est.ix)
+ #-- all that is left in oldEstDict now are items which
+ #-- have been removed.
+ #-- so remove from database also.
+ for ix in oldEstDict.keys():
+ #--removed
+ values = (ix,)
+ deletions = sqlcommands["estimate_deletions"]
+ deletions.append((EST_DEL_QUERY, values))
+ deletions.append((EST_LINK_DEL_QUERY, values))
+
+ elif change == "treatment_course": #patient.CURRTRT_ATTS:
+ for trt_att in CURRTRT_ATTS:
+ value = pt.treatment_course.__dict__[trt_att]
+ existing = pt.dbstate.treatment_course.__dict__[trt_att]
+ if pt.has_new_course or value != existing:
+ trtchanges += '%s = %%s ,'% trt_att
+ trtvalues.append(value)
+
+ elif change == "appt_prefs":
+ pt.appt_prefs.commit_changes()
+
+
+ result = True
+ if patchanges != "":
+ patvalues.append(pt.serialno)
+ values = tuple(patvalues)
+
+ query = "update patients SET %s where serialno=%%s"% patchanges.strip(",")
+
+ sqlcommands['patients'] = ((query, values),)
+
+ if trtchanges != "":
+ trtvalues.append(pt.serialno)
+ trtvalues.append(pt.treatment_course.courseno)
+ values = tuple(trtvalues)
+
+ query = ('update currtrtmt2 SET '
+ '%s where serialno=%%s and courseno=%%s'%( trtchanges.strip(",")))
+ sqlcommands['currtrtmt'] = ((query, values),)
+
+ if sqlcommands != {} or estimate_commands != {}:
+ db = connect()
+ cursor = db.cursor()
+ tables = sqlcommands.keys()
+ for table in tables:
+ for query, values in sqlcommands[table]:
+ try:
+ LOGGER.debug(query)
+ LOGGER.debug(values)
+ cursor.execute(query, values)
+ except Exception as exc:
+ LOGGER.exception("error executing query %s"% query)
+ result = False
+
+ insert_commands = estimate_commands.get("insertions", [])
+ for query, values, tx_hashes in insert_commands:
+ try:
+ cursor.execute(query, values)
+ ix = cursor.lastrowid
+ try:
+ for tx_hash in tx_hashes:
+ vals = (ix, tx_hash.hash, tx_hash.completed)
+ cursor.execute(EST_LINK_INS_QUERY, vals)
+ except Exception as exc:
+ LOGGER.exception("error executing query\n %s\n %s"% (
+ EST_LINK_INS_QUERY, vals))
+ result = False
+ except Exception as exc:
+ LOGGER.exception("error executing query\n %s\n %s"% (
+ query, str(values)))
+ result = False
+
+ update_commands = estimate_commands.get("updates", [])
+ for query, values, estimate in update_commands:
+ try:
+ cursor.execute(query, values)
+ cursor.execute(EST_LINK_DEL_QUERY, (estimate.ix,))
+ for tx_hash in estimate.tx_hashes:
+ cursor.execute(EST_LINK_INS_QUERY,
+ (estimate.ix, tx_hash.hash, tx_hash.completed)
+ )
+ except Exception as exc:
+ LOGGER.exception("error updating estimate %s"% estimate)
+ result = False
+
+ cursor.close()
+ db.commit()
+
+ return result
+
+def toNotes(serialno, newnotes):
+ '''
+ new code with schema 1.9
+ '''
+ LOGGER.debug("write changes - toNotes for patient %d"% serialno)
+
+ #database version stores max line length of 80chars
+
+ query = '''insert into formatted_notes
+ (serialno, ndate, op1, op2, ntype, note)
+ VALUES (%s, DATE(NOW()), %s, %s, %s, %s)
+ '''
+ notetuplets = []
+
+ tstamp = localsettings.currentTime().strftime("%d/%m/%Y %T")
+ notetuplets.append(
+ ("opened", "System date - %s"% tstamp))
+ for ntype, note in newnotes:
+ while len(note)>79:
+ if " " in note[:79]:
+ pos = note[:79].rindex(" ")
+ #--try to split nicely
+ elif "," in note[:79]:
+ pos = note[:79].rindex(",")
+ #--try to split nicely
+ else:
+ pos = 79
+ #--ok, no option (unlikely to happen though)
+ notetuplets.append((ntype, note[:pos]))
+ note = note[pos+1:]
+
+ notetuplets.append((ntype, note+"\n"))
+ notetuplets.append(
+ ("closed", "%s %s"% (localsettings.operator,tstamp)))
+
+ values = []
+ ops = localsettings.operator.split("/")
+ op1 = ops[0]
+ try:
+ op2 = ops[1]
+ except IndexError:
+ op2 = None
+ for ntype, noteline in notetuplets:
+ values.append((serialno, op1, op2, ntype, noteline))
+
+ rows = 0
+ if values:
+ db=connect()
+ cursor = db.cursor()
+
+ #this (superior code?) didn't work on older MySQLdb versions.
+ #rows = cursor.executemany(query, tuple(values))
+ for value in values:
+ rows += cursor.execute(query, value)
+
+ cursor.close()
+ db.commit()
+
+ return rows > 0
+
+def discreet_changes(pt_changed,changes):
+ '''
+ this updates only the selected atts
+ (usually called by automated proc such as recalls...
+ and accounts) only updates the patients table
+ '''
+ LOGGER.debug("write changes - discreet changes")
+
+ sqlcond = ""
+ for change in changes:
+ value = pt_changed.__dict__[change]
+ LOGGER.debug("discreet change %s %s"% (change, type(value)))
+ if change in patient_class.dateFields:
+ if value != "" and value != None:
+ sqlcond += '%s="%s" ,'%(change, value)
+ elif value == None:
+ sqlcond += '%s=NULL ,'% change
+ elif type(value) in (types.IntType,types.LongType):
+ sqlcond += '%s=%s ,'% (change,value)
+ else:
+ sqlcond += '%s="%s" ,'% (change,value)
+
+ sqlcommand= "update patients SET %s where serialno=%%s"%(
+ sqlcond.strip(","))
+
+ LOGGER.debug("%s (%s,)"% (sqlcommand, pt_changed.serialno))
+
+ result=True
+ if sqlcond != "":
+ db=connect()
+ cursor = db.cursor()
+ try:
+ cursor.execute(sqlcommand, (pt_changed.serialno,))
+ db.commit()
+ except Exception,e:
+ LOGGER.exception("unable to write discreet changes")
+ result=False
+ cursor.close()
+ return result
+
diff --git a/src/openmolar/dbtools/paymentHistory.py b/src/openmolar/dbtools/paymentHistory.py
new file mode 100644
index 0000000..daa798d
--- /dev/null
+++ b/src/openmolar/dbtools/paymentHistory.py
@@ -0,0 +1,169 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+from __future__ import division
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.dbtools.cashbook import cashbookCodesDict
+
+HEADERS = (
+ _("Date"),
+ _("Dentist"),
+ _("Patient"),
+ _("Code"),
+ _("Cash"),
+ _("Cheque"),
+ _("Card"),
+ _("Unknown"),
+ _("Amount")
+ )
+
+QUERY = '''
+select DATE_FORMAT(cbdate, %s), dntid, descr, code, amt
+from cashbook where ref=%s order by cbdate desc
+'''
+
+SUMMARY_QUERY = '''
+select DATE_FORMAT(cbdate, %s), dntid, code, amt
+from cashbook where ref=%s and (code<10 or code>123)
+and cbdate >= %s order by cbdate
+'''
+
+def summary_details(sno, start_date):
+ values = (localsettings.OM_DATE_FORMAT, "%06d"% sno, start_date)
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(SUMMARY_QUERY, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ claimNo = len(rows)
+
+ if claimNo==0:
+ return "No Payments Found"
+
+ retarg = '<table width="100%" border="1">'
+ retarg += '<tr class="table_header">'
+ for header in HEADERS[:3] + HEADERS[8:]:
+ retarg += "<th>%s</th>"% header
+ retarg += '</tr>'
+
+ total = 0
+ for i, row in enumerate(rows):
+ if i %2 == 0:
+ retarg+='<tr bgcolor="#eeeeee">'
+ else:
+ retarg+='<tr>'
+
+ #-- a row is (date,sno,dnt,patient,code,amount)
+
+ retarg += '<td>%s</td>'% (row[0])
+ retarg += '<td>%s</td>'% localsettings.ops.get(row[1])
+ CODE = cashbookCodesDict.get(row[2], "UNKNOWN")
+ retarg += '<td>%s</td>'% CODE
+ amt = row[3]
+
+ retarg += '<td align="right">%s</td>'% localsettings.formatMoney(amt)
+
+ retarg += '</tr>\n'
+ total += amt
+
+ retarg += '''<tr class="table_header">
+ <td colspan="3" align="right"><b>TOTAL</b></td>
+ <td align="right"><b>%s</b></td></tr>'''% (
+ localsettings.formatMoney(total))
+
+ retarg += '</table>'
+
+ return retarg
+
+def details(sno):
+ '''
+ returns an html page showing pt's payment History
+ '''
+ values = (localsettings.OM_DATE_FORMAT, "%06d"% sno)
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ claimNo = len(rows)
+
+ if claimNo==0:
+ return "<h2>No Payments Found</h2>"
+
+ retarg = '<html><body><table width="100%" border="1">'
+ retarg += '<tr>'
+ for header in HEADERS:
+ retarg += "<th>%s</th>"% header
+ retarg += '</tr>'
+ odd = True
+ total, cashTOT, chequeTOT, cardTOT, otherTOT = 0, 0, 0, 0, 0
+ for row in rows:
+ if odd:
+ retarg+='<tr bgcolor="#eeeeee">'
+ odd = False
+ else:
+ retarg+='<tr>'
+ odd = True
+
+ #-- a row is (date,sno,dnt,patient,code,amount)
+
+ retarg += '<td>%s</td>'%(row[0])
+ retarg += '<td>%s</td>'%localsettings.ops.get(row[1])
+ retarg += '<td>%s</td>'%row[2]
+ CODE = cashbookCodesDict.get(row[3], "UNKNOWN")
+ retarg += '<td>%s</td>'%CODE
+ amt = row[4]
+ amt_str = localsettings.formatMoney(amt)
+ if "CASH" in CODE:
+ retarg += '<td align="right">%s</td>'% amt_str
+ cashTOT += amt
+ retarg += "<td> </td>"*3
+ elif "CHEQUE" in CODE:
+ retarg += '<td> </td><td align="right">%s</td>'% amt_str
+ chequeTOT += amt
+ retarg += "<td> </td>"*2
+ elif "CARD" in CODE:
+ retarg += "<td> </td>"*2
+ retarg += '<td align="right">%s</td>'% amt_str
+ cardTOT += amt
+ retarg += "<td> </td>"
+ else:
+ retarg += "<td> </td>"*3
+ retarg += '<td align="right">%s</td>'% amt_str
+ otherTOT += amt
+
+ retarg += '<td align="right">%s</td>'% amt_str
+
+ retarg += '</tr>\n'
+ total += amt
+
+ retarg += '''<tr><td colspan="3"></td>
+ <td><b>TOTAL</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td>
+ <td align="right"><b>%s</b></td></tr>'''% (
+ localsettings.formatMoney(cashTOT),
+ localsettings.formatMoney(chequeTOT),
+ localsettings.formatMoney(cardTOT),
+ localsettings.formatMoney(otherTOT),
+ localsettings.formatMoney(total))
+
+ retarg += '</table></body></html>'
+
+ return retarg
+
+if __name__ == "__main__":
+ from datetime import date
+ print summary_details(1, date(2000,1,1)).encode("ascii", "replace")
+
\ No newline at end of file
diff --git a/src/openmolar/dbtools/phrasebook.py b/src/openmolar/dbtools/phrasebook.py
new file mode 100644
index 0000000..3fc481d
--- /dev/null
+++ b/src/openmolar/dbtools/phrasebook.py
@@ -0,0 +1,126 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+import datetime
+import logging
+
+from openmolar.connect import connect
+
+CHECK_INTERVAL = 300 #update phrasebook every 5 minutes
+
+BLANK_PHRASEBOOK = '''<?xml version="1.0" ?>
+ <phrasebook>
+ <section>
+ <header>Example</header>
+ <phrase>An Example Phrase!</phrase>
+ <phrase>Another Phrase</phrase>
+ </section>
+ <section>
+ <header>Perio</header>
+ <phrase>An Example Phrase!</phrase>
+ </section>
+ </phrasebook>'''
+
+ALL_BOOKS_QUERY = "select distinct clinician_id from phrasebook"
+
+QUERY = "select phrases from phrasebook where clinician_id=%s"
+
+UPDATE_QUERY = "update phrasebook set phrases = %s where clinician_id = %s"
+INSERT_QUERY = "insert into phrasebook (phrases, clinician_id) values(%s, %s)"
+
+LOGGER = logging.getLogger("openmolar")
+
+class Phrasebooks(object):
+ _books = {}
+
+ @property
+ def global_phrasebook(self):
+ return self.book(0)
+
+ def book(self, index):
+ book = self._books.get(index, None)
+ if book is None:
+ book = Phrasebook(index)
+ self._books[index] = book
+ return book
+
+ def has_book(self, index):
+ return self._books.has_key(index)
+
+ def has_phrasebook(self, index):
+ return self.book(index).has_data
+
+ def get_all_books(self):
+ self._books = {} #forget any loaded books
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(ALL_BOOKS_QUERY)
+ rows = cursor.fetchall()
+ ixs = []
+ for row in rows:
+ ixs.append(row[0])
+ cursor.close()
+ for ix in ixs:
+ yield self.book(ix)
+
+ def update_database(self, xml, clinician_id):
+ db = connect()
+ cursor = db.cursor()
+ result = cursor.execute(UPDATE_QUERY, (xml, clinician_id))
+ cursor.close()
+ self._books = {} #forget any loaded books
+ return result
+
+ def create_book(self, clinician_id):
+ db = connect()
+ cursor = db.cursor()
+ result = cursor.execute(INSERT_QUERY, (BLANK_PHRASEBOOK, clinician_id))
+ cursor.close()
+ self._books = {} #forget any loaded books
+ return result
+
+
+class Phrasebook(object):
+ _xml = None
+ _time = datetime.datetime.now()
+
+ def __init__(self, ix):
+ self.ix = ix
+
+ @property
+ def loaded(self):
+ return self._xml is not None
+
+ @property
+ def refresh_needed(self):
+ now = datetime.datetime.now()
+ return now - self._time > datetime.timedelta(0, CHECK_INTERVAL)
+
+ @property
+ def xml(self):
+ if not self.loaded or self.refresh_needed:
+ LOGGER.info("(re)loading phrasebook %s from database"% self.ix)
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (self.ix,))
+ rows = cursor.fetchone()
+ self._xml = rows[0] if rows else BLANK_PHRASEBOOK
+ cursor.close()
+ self._time = datetime.datetime.now()
+ return self._xml
+
+ @property
+ def has_data(self):
+ return self.xml != BLANK_PHRASEBOOK
+
+PHRASEBOOKS = Phrasebooks()
+
+
+if __name__ == "__main__":
+ print PHRASEBOOKS.global_phrasebook
+ print PHRASEBOOKS.book(1)
\ No newline at end of file
diff --git a/src/openmolar/dbtools/plan_data.py b/src/openmolar/dbtools/plan_data.py
new file mode 100644
index 0000000..1fc23ff
--- /dev/null
+++ b/src/openmolar/dbtools/plan_data.py
@@ -0,0 +1,69 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+planDBAtts=("serialno", "plantype","band", "grosschg","discount","netchg",
+"catcode", "planjoin","regno")
+
+class PlanData(object):
+ '''
+ a custom class to hold data about the patient's maintenance plan
+ '''
+ def __init__(self, sno):
+ self.serialno = sno
+ self.plantype = None
+ self.band = None
+ self.grosschg = 0
+ self.discount = 0
+ self.netchg = 0
+ self.catcode = None
+ self.planjoin = None
+ self.regno = None
+ #-- a variable to indicate if getFromDbhas been run
+ self.retrieved=False
+
+ def __repr__(self):
+ return "%d,%s,%s,%s,%s,%s,%s,%s,%s"%(
+ self.serialno, self.plantype, self.band, self.grosschg, self.discount,
+ self.netchg, self.catcode, self.planjoin,self.regno)
+
+ def getFromDB(self):
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+
+ query='''SELECT %s,%s,%s,%s,%s,%s,%s,%s from plandata
+ where serialno=%s'''%(planDBAtts[1:]+(self.serialno,))
+ cursor.execute(query)
+ row=cursor.fetchone()
+ cursor.close()
+ i = 1
+ if row:
+ for val in row:
+ if val:
+ att=planDBAtts[i]
+ if att=="planjoin":
+ self.planjoin=localsettings.formatDate(val)
+ else:
+ self.__dict__[att]=val
+ i += 1
+ self.retrieved = True
+ except Exception as exc:
+ LOGGER.exception("error loading from plandata")
+
+if __name__ =="__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ pd = PlanData(1)
+ pd.getFromDB()
+ print pd
\ No newline at end of file
diff --git a/src/openmolar/dbtools/queries.py b/src/openmolar/dbtools/queries.py
new file mode 100644
index 0000000..8ece442
--- /dev/null
+++ b/src/openmolar/dbtools/queries.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+ESTS_QUERY = '''SELECT newestimates.ix, number, itemcode, description,
+fee, ptfee, feescale, csetype, dent, est_link2.completed, tx_hash
+from newestimates right join est_link2 on newestimates.ix = est_link2.est_id
+where serialno=%s and courseno=%s order by itemcode, ix'''
+
+PATIENT_QUERY = '''SELECT pf0, pf1, pf2, pf3, pf4, pf5, pf6, pf7, pf8, pf9,
+pf10, pf11, pf12, pf14, pf15, pf16, pf17, pf18, pf19, money0, money1, money2,
+money3, money4, money5, money6, money7, money8, money9, money10,
+pd0, pd1, pd2, pd3, pd4, pd5, pd6, pd7, pd8, pd9, pd10, pd11, pd12, pd13,
+pd14, sname, fname, title, sex, dob, addr1, addr2, addr3, pcde, tel1, tel2,
+occup, nhsno, cnfd, psn, cset, dnt1, dnt2, courseno0, courseno1,
+ur8st, ur7st, ur6st, ur5st, ur4st, ur3st, ur2st, ur1st, ul1st, ul2st, ul3st,
+ul4st, ul5st, ul6st, ul7st, ul8st, ll8st, ll7st, ll6st, ll5st, ll4st, ll3st,
+ll2st, ll1st, lr1st, lr2st, lr3st, lr4st, lr5st, lr6st, lr7st, lr8st, dent0,
+dent1, dent2, dent3, dmask, minstart, maxend, billdate, billct, billtype,
+pf20, money11, pf13, familyno, memo, town, county, mobile, fax, email1,
+email2, status, source, enrolled, archived, initaccept, lastreaccept,
+lastclaim, expiry, cstatus, transfer, pstatus, courseno2
+from patients where serialno = %s'''
diff --git a/src/openmolar/dbtools/recall.py b/src/openmolar/dbtools/recall.py
new file mode 100644
index 0000000..12b1b37
--- /dev/null
+++ b/src/openmolar/dbtools/recall.py
@@ -0,0 +1,161 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import sys
+import types
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from datetime import date
+
+HEADERS = (
+_("Letter No"), _("Serial No"), _("Title"), _("First Name"), _("Surname"),
+_("Age"),
+_("Address") + " 1",_("Address")+" 2",_("Address")+" 3", _("Town"),
+_("County"), _("PostCode"), _("Dentist"), _("Family No"),_("Recall Date"))
+
+class RecalledPatient(object):
+ '''
+ a data object to store a recalled patient's details
+ '''
+ def __init__(self, letterno, row):
+ self.letterno = letterno
+ self.grouped = False
+ self.serialno = row[0]
+ self.title = row[1].title()
+ self.fname = row[2].title()
+ self.sname = row[3].title()
+ self.dnt1 = localsettings.ops.get(row[4],"??")
+ if row[5] == 0:
+ self.familyno = None
+ else:
+ self.familyno = row[5]
+ self._dob = row[6]
+ self.addr1 = row[7].strip()
+
+ self.addr2 = row[8] if row[8] != None else ""
+ self.addr3 = row[9] if row[9] != None else ""
+ self.town = row[10] if row[10] != None else ""
+ self.county = row[11] if row[11] != None else ""
+ self.pcde = row[12] if row[12] != None else ""
+ self.recd = row[13]
+
+ def __getitem__(self, pos):
+ if pos == 0:
+ return self.letterno
+ elif pos == 1:
+ return self.serialno
+ elif pos == 2:
+ return self.title
+ elif pos == 3:
+ return self.fname
+ elif pos == 4:
+ return self.sname
+ elif pos == 5:
+ return self.age
+ elif pos == 6:
+ return self.addr1
+ elif pos == 7:
+ return self.addr2
+ elif pos == 8:
+ return self.addr3
+ elif pos == 9:
+ return self.town
+ elif pos == 10:
+ return self.county
+ elif pos == 11:
+ return self.pcde
+ elif pos == 14:
+ return self.recd
+ elif pos == 12:
+ return self.dnt1
+ elif pos == 13:
+ return self.familyno
+
+ else:
+ raise IndexError
+
+ @property
+ def age(self):
+ '''
+ return the age in string form
+ '''
+
+ today = localsettings.currentDay()
+ try:
+ nextbirthday = date(today.year, self._dob.month, self._dob.day)
+ except ValueError:#leap year!
+ nextbirthday = date(today.year, self._dob.month, self._dob.day-1)
+ ageYears = today.year - self._dob.year
+ if nextbirthday > today:
+ ageYears -= 1
+ return ageYears
+
+ def __len__(self):
+ return 15
+
+ def __cmp__(self, other):
+ '''
+ allow comparison based on family number and address line 1
+ '''
+ if type(self) != type(other) or self.familyno in (None, 0):
+ return cmp(0, 1)
+ else:
+ return cmp(
+ (self.familyno, self.addr1),
+ (other.familyno, other.addr1)
+ )
+
+ def __repr__(self):
+ '''
+ represent the object
+ '''
+ return "%s %s %s"% (self.serialno, self.sname, self.fname)
+
+def getpatients(conditions="", values=()):
+ '''
+ returns patients with a recall between the two dates
+ '''
+ assert type(conditions) == types.StringType, "conditions must be a string"
+ assert type(values) == types.TupleType, "values must be a tuple"
+ query = '''
+ select patients.serialno, title, fname, sname, dnt1, familyno, dob,
+ addr1, addr2, addr3, town, county, pcde, recdent
+ from patients join appt_prefs on patients.serialno = appt_prefs.serialno
+ where CONDITIONS and status != "DECEASED"
+ order by familyno DESC, addr1, dob, fname, sname'''
+
+ query = query.replace("CONDITIONS", conditions)
+
+ db = connect()
+ cursor = db.cursor()
+
+ cursor.execute(query, values)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ patients = []
+ letterno = 1
+ patient = None
+ for row in rows:
+ prev_patient = patient
+ patient = RecalledPatient(letterno, row)
+ if patient == prev_patient:
+ letterno -= 1
+ patient.letterno = letterno
+ patient.grouped = True
+ patients[-1].grouped = True
+ letterno += 1
+ patients.append(patient)
+
+ return patients
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ conditions = "recd>=%s and recd<=%s and dnt1=%s"
+ values = date(2012,7,1), date(2012,7,31), 6
+ patients = getpatients(conditions, values)
+ print patients
diff --git a/src/openmolar/dbtools/schema_version.py b/src/openmolar/dbtools/schema_version.py
new file mode 100644
index 0000000..997cc18
--- /dev/null
+++ b/src/openmolar/dbtools/schema_version.py
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import logging
+from openmolar import connect
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+def getVersion():
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select data from settings where value = "Schema_Version"'
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ except connect.ProgrammingError, ex:
+ LOGGER.warning("no settings table! %s"% ex)
+ LOGGER.warning("schema assumed to be 1.0")
+ return "1.0"
+
+ version = ""
+ for row in rows:
+ data = row[0]
+ if data > version:
+ version = data
+ localsettings.DB_SCHEMA_VERSION = version
+ return version
+
+def clientCompatibility(client_schema):
+ rows = ()
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+ query = 'select data from settings where value = "compatible_clients"'
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ except connect.ProgrammingError, ex:
+ LOGGER.exception("client_schema not found")
+ for row in rows:
+ if row[0] == client_schema:
+ return True
+
+def update(schemas, user):
+ '''
+ updates the schema version,
+ pass a list of compatible clients version and a user
+ eg. updateSchemaVersion (("1.1","1.2"), "admin script")
+ the first in the list is the minimum allowed,
+ the last is the current schema
+ '''
+ latest_schema = schemas[-1]
+ db = connect.connect()
+ cursor = db.cursor()
+ query = '''insert into settings (value,data,modified_by,time_stamp)
+ values (%s, %s, %s, NOW())'''
+ values = ("Schema_Version", latest_schema, user)
+
+ LOGGER.info("making the db aware of it's schema version")
+ cursor.execute(query, values)
+
+ LOGGER.info("disabling old clients")
+ query = '''delete from settings where value = "compatible_clients"'''
+ cursor.execute(query)
+ db.commit()
+ for schema in schemas:
+ query = '''insert into settings (value, data, modified_by, time_stamp)
+ values ("compatible_clients", %s, 'Update script', NOW())'''
+ values = (schema,)
+ cursor.execute(query, values)
+ db.commit()
+ return True
diff --git a/src/openmolar/dbtools/search.py b/src/openmolar/dbtools/search.py
new file mode 100644
index 0000000..c2336df
--- /dev/null
+++ b/src/openmolar/dbtools/search.py
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''this script connects to the database and performs searches'''
+
+import datetime
+import sys
+from openmolar.connect import connect
+from openmolar.settings import localsettings
+
+def getcandidates(dob, addr, tel, sname, similar_sname, fname,
+similar_fname, pcde):
+ '''
+ this searches the database for patients matching the given fields
+ '''
+ query = ''
+ values = []
+ if addr != '':
+ query += '(ADDR1 like %s or ADDR2 like %s) and '
+ values.append("%" + addr + "%")
+ values.append("%" + addr + "%")
+ if tel != '':
+ query += 'tel1 like %s and '
+ values.append("%" + tel + "%")
+ if dob != datetime.date(1900,1,1):
+ query += 'dob = %s and '
+ values.append(dob)
+ if pcde != '':
+ query += 'pcde like %s and '
+ values.append("%" + pcde + "%")
+ if sname != '':
+ if similar_sname:
+ query += 'sname sounds like %s and '
+ values.append(sname)
+ else:
+ sname += "%"
+ if "'" in sname:
+ query += '(sname like %s or sname like %s) and '
+ values.append(sname)
+ values.append(sname.replace("'",""))
+ elif sname[:1] == "o":
+ query += '(sname like %s or sname like %s) and '
+ values.append(sname)
+ values.append("o'" + sname[1:])
+ elif sname[:2] == "mc":
+ query += '(sname like %s or sname like %s) and '
+ values.append(sname)
+ values.append(sname.replace("mc","mac"))
+ elif sname[:3] == "mac":
+ query += '(sname like %s or sname like %s) and '
+ values.append(sname)
+ values.append(sname.replace("mac","mc"))
+ else:
+ query += 'sname like %s and '
+ values.append(sname)
+
+ if fname != '':
+ if similar_fname:
+ query += 'fname sounds like %s and '
+ values.append(fname)
+ else:
+ query += 'fname like %s and '
+ values.append(fname + "%")
+
+ if query != '':
+ fields = '''serialno, sname, fname, dob, addr1, addr2, pcde, tel1,
+ tel2, mobile'''
+
+ query = "select %s from patients where %s order by sname, fname"% (
+ fields, query[0 : query.rindex("and")])
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(query,tuple(values))
+ results = cursor.fetchall()
+ cursor.close()
+
+ return results
+ else:
+ return ()
+
+def getcandidates_from_serialnos(list_of_snos):
+ query=""
+ for sno in list_of_snos:
+ query+="serialno=%d or "%sno
+ if query!='':
+ fields='serialno,sname,fname,dob, addr1,addr2,pcde,tel1,tel2,mobile'
+ query="select %s from patients where %s order by sname,fname"%(
+ fields,query[:query.rindex("or")])
+
+ db=connect()
+ cursor = db.cursor()
+ cursor.execute(query)
+ results = cursor.fetchall()
+ cursor.close()
+ #db.close()
+ return results
+ else:
+ return()
+
+if __name__=='__main__':
+ print getcandidates(datetime.date(1900,1,1),"","","smit","","","","")
+ #print getcandidates_from_serialnos((1,2,3,4))
\ No newline at end of file
diff --git a/src/openmolar/dbtools/treatment_course.py b/src/openmolar/dbtools/treatment_course.py
new file mode 100644
index 0000000..dab6bb8
--- /dev/null
+++ b/src/openmolar/dbtools/treatment_course.py
@@ -0,0 +1,365 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from copy import deepcopy
+import logging
+import re
+
+from openmolar import connect
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+CURRTRT_NON_TOOTH_ATTS = ('xray', 'perio', 'anaes',
+'other', 'ndu', 'ndl', 'odu', 'odl', 'custom')
+
+CURRTRT_ROOT_ATTS = CURRTRT_NON_TOOTH_ATTS + (
+'ur8', 'ur7', 'ur6', 'ur5', 'ur4', 'ur3', 'ur2', 'ur1', 'ul1',
+'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8', 'll8', 'll7', 'll6', 'll5',
+'ll4', 'll3', 'll2', 'll1', 'lr1', 'lr2', 'lr3', 'lr4', 'lr5', 'lr6', 'lr7',
+'lr8')
+
+CURRTRT_ATTS=('courseno','xraypl','periopl','anaespl','otherpl',
+'ndupl','ndlpl','odupl','odlpl',"custompl",
+'xraycmp','periocmp','anaescmp','othercmp','nducmp','ndlcmp',
+'oducmp','odlcmp',"customcmp",'ur8pl','ur7pl',
+'ur6pl','ur5pl','ur4pl','ur3pl','ur2pl','ur1pl','ul1pl','ul2pl','ul3pl',
+'ul4pl','ul5pl','ul6pl','ul7pl',
+'ul8pl','ll8pl','ll7pl','ll6pl','ll5pl','ll4pl','ll3pl','ll2pl','ll1pl',
+'lr1pl','lr2pl','lr3pl','lr4pl',
+'lr5pl','lr6pl','lr7pl','lr8pl','ur8cmp','ur7cmp','ur6cmp','ur5cmp',
+'ur4cmp','ur3cmp','ur2cmp','ur1cmp',
+'ul1cmp','ul2cmp','ul3cmp','ul4cmp','ul5cmp','ul6cmp','ul7cmp','ul8cmp',
+'ll8cmp','ll7cmp','ll6cmp','ll5cmp',
+'ll4cmp','ll3cmp','ll2cmp','ll1cmp','lr1cmp','lr2cmp','lr3cmp','lr4cmp',
+'lr5cmp','lr6cmp','lr7cmp','lr8cmp',
+'examt','examd','accd','cmpd')
+
+QUERY = "SELECT "
+for field in CURRTRT_ATTS:
+ QUERY += "%s, "% field
+QUERY = QUERY.rstrip(", ")
+QUERY += " from currtrtmt2 where serialno=%s and courseno=%s"
+
+
+class TreatmentCourse(object):
+ def __init__(self, sno, courseno):
+ '''
+ initiate the class with default variables, then load from database
+ '''
+ self.dbstate = None
+ self.serialno = sno
+ self.courseno = courseno
+ self.xraypl = ''
+ self.periopl = ''
+ self.anaespl = ''
+ self.otherpl = ''
+ self.ndupl = ''
+ self.ndlpl = ''
+ self.odupl = ''
+ self.odlpl = ''
+ self.custompl = ''
+ self.xraycmp = ''
+ self.periocmp = ''
+ self.anaescmp = ''
+ self.othercmp = ''
+ self.nducmp = ''
+ self.ndlcmp = ''
+ self.oducmp = ''
+ self.odlcmp = ''
+ self.customcmp = ''
+ self.ur8pl = ''
+ self.ur7pl = ''
+ self.ur6pl = ''
+ self.ur5pl = ''
+ self.ur4pl = ''
+ self.ur3pl = ''
+ self.ur2pl = ''
+ self.ur1pl = ''
+ self.ul1pl = ''
+ self.ul2pl = ''
+ self.ul3pl = ''
+ self.ul4pl = ''
+ self.ul5pl = ''
+ self.ul6pl = ''
+ self.ul7pl = ''
+ self.ul8pl = ''
+ self.ll8pl = ''
+ self.ll7pl = ''
+ self.ll6pl = ''
+ self.ll5pl = ''
+ self.ll4pl = ''
+ self.ll3pl = ''
+ self.ll2pl = ''
+ self.ll1pl = ''
+ self.lr1pl = ''
+ self.lr2pl = ''
+ self.lr3pl = ''
+ self.lr4pl = ''
+ self.lr5pl = ''
+ self.lr6pl = ''
+ self.lr7pl = ''
+ self.lr8pl = ''
+ self.ur8cmp = ''
+ self.ur7cmp = ''
+ self.ur6cmp = ''
+ self.ur5cmp = ''
+ self.ur4cmp = ''
+ self.ur3cmp = ''
+ self.ur2cmp = ''
+ self.ur1cmp = ''
+ self.ul1cmp = ''
+ self.ul2cmp = ''
+ self.ul3cmp = ''
+ self.ul4cmp = ''
+ self.ul5cmp = ''
+ self.ul6cmp = ''
+ self.ul7cmp = ''
+ self.ul8cmp = ''
+ self.ll8cmp = ''
+ self.ll7cmp = ''
+ self.ll6cmp = ''
+ self.ll5cmp = ''
+ self.ll4cmp = ''
+ self.ll3cmp = ''
+ self.ll2cmp = ''
+ self.ll1cmp = ''
+ self.lr1cmp = ''
+ self.lr2cmp = ''
+ self.lr3cmp = ''
+ self.lr4cmp = ''
+ self.lr5cmp = ''
+ self.lr6cmp = ''
+ self.lr7cmp = ''
+ self.lr8cmp = ''
+ self.examt = ''
+ self.examd = ''
+ self.accd = None
+ self.cmpd = None
+
+ if self.courseno == 0:
+ return
+
+ db = connect.connect()
+ cursor = db.cursor()
+ self.getCurrtrt()
+ cursor.close()
+
+ def __repr__(self):
+ message = "TreatmentCourse for patient %s courseno %s\n"% (
+ self.serialno, self.courseno)
+
+ for att in CURRTRT_ATTS:
+ value = self.__dict__.get(att, "")
+ if value != "":
+ message += " %s,%s\n"% (att, value)
+ return message
+
+ def __cmp__(self, other):
+ return cmp(unicode(self), unicode(other))
+
+ def _non_tooth_items(self, suffix="pl"):
+ for att in CURRTRT_NON_TOOTH_ATTS:
+ value = self.__dict__.get(att+suffix, "")
+ if value != "":
+ txs = value.split(" ")
+ for tx in set(txs):
+ if tx != "":
+ n = txs.count(tx)
+ if n != 1:
+ tx = "%d%s"% (n, tx)
+ yield att, tx
+
+ @property
+ def non_tooth_plan_items(self):
+ return list(self._non_tooth_items("pl"))
+
+ @property
+ def non_tooth_cmp_items(self):
+ items = []
+ if self.examt != "" and self.examd:
+ items.append(("exam", self.examt))
+ return items + list(self._non_tooth_items("cmp"))
+
+ def getCurrtrt(self):
+ db = connect.connect()
+ cursor = db.cursor()
+
+ cursor.execute(QUERY, (self.serialno, self.courseno))
+
+ for value in cursor.fetchall():
+ for i, field in enumerate(CURRTRT_ATTS):
+ self.__dict__[field] = value[i]
+ #LOGGER.debug("getCurrtrt '%s' = '%s'"% (field, value[i]))
+ cursor.close()
+
+ @property
+ def underTreatment(self):
+ return (not self.accd in ("", None) and self.cmpd in ("", None))
+
+ @property
+ def max_tx_courseno(self):
+ db = connect.connect()
+ cursor = db.cursor()
+ if cursor.execute(
+ "select max(courseno) from currtrtmt2 where serialno=%s",
+ (self.serialno,)):
+ cno = cursor.fetchone()[0]
+ else:
+ cno = 0
+ cursor.close()
+ return cno
+
+ @property
+ def newer_course_found(self):
+ return self.max_tx_courseno > self.courseno
+
+ @property
+ def has_exam(self):
+ return self.examt != "" and self.examd
+
+ def setAccd(self, accd):
+ '''
+ set the acceptance date (with a pydate)
+ '''
+ if accd is None:
+ accd = localsettings.currentDay()
+ self.accd = accd
+
+ def setCmpd(self, cmpd):
+ '''
+ set the completion date (with a pydate)
+ '''
+ self.cmpd = cmpd
+
+ @property
+ def has_treatment_outstanding(self):
+ for att in CURRTRT_ATTS:
+ if att[-2:] == "pl":
+ if self.__dict__[att].strip(" ") != "":
+ return True
+ return False
+
+ @property
+ def tx_hashes(self):
+ return self._get_tx_hashes()
+
+ @property
+ def completed_tx_hash_tups(self):
+ return self._get_tx_hashes(True)
+
+ @property
+ def completed_tx_hashes(self):
+ for hash_, att, tx in self._get_tx_hashes(True):
+ yield hash_
+
+ @property
+ def planned_tx_hash_tups(self):
+ for tup in self._get_tx_hashes():
+ if not tup in self.completed_tx_hash_tups:
+ yield tup
+
+ def _get_tx_hashes(self, completed_only=False):
+ '''
+ returns a tuple (unique hash, attribute, treatment)
+ hashes will be unique as multiple identical items are indexed
+ eg. eg "perio SP AC SP " is hashed as follows
+ "%sperio1SP"% courseno
+ "%sperio2SP"% courseno
+ "%sperio1AC"% courseno
+ '''
+ if self.examt != "":
+ hash_ = localsettings.hash_func(
+ "%sexam1%s"% (self.courseno, self.examt))
+ yield (hash_, "exam", self.examt+" ")
+
+ for att in CURRTRT_ROOT_ATTS:
+ treats = self.__dict__[att+"cmp"]
+ if not completed_only:
+ treats += " " + self.__dict__[att+"pl"]
+ treat_list = sorted(treats.split(" "))
+ prev_tx, count = None, 1
+
+ for tx in treat_list:
+ if tx == "":
+ continue
+ if tx != prev_tx:
+ count = 1
+ prev_tx = tx
+ else:
+ count += 1
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (self.courseno, att, count, tx))
+ yield (hash_, att, tx+" ")
+
+ def get_tx_from_hash(self, hash_):
+ '''
+ example
+ imput a hash 039480284098
+ get back ("ur1", "M")
+ '''
+ for tx_hash in self.tx_hashes:
+ if tx_hash[0] == hash_:
+ return tx_hash[1], tx_hash[2]
+ LOGGER.warning("couldn't find treatment %s"% hash_)
+ LOGGER.debug("listing existing hashes")
+ for tx_hash in self.tx_hashes:
+ LOGGER.debug(tx_hash)
+ return None, None
+
+ def pl_txs(self, att):
+ '''
+ returns the list of treatments currently planned for this attribute.
+ eg pl_txs("ul8") may return ["O", "B,CO"]
+ '''
+ txs = self.__dict__["%spl"%att].split(" ")
+ while "" in txs:
+ txs.remove("")
+ return txs
+
+ def cmp_txs(self, att):
+ '''
+ returns the list of treatments currently planned for this attribute.
+ eg cmp_txs("ul8") may return ["O", "B,CO"]
+ '''
+ txs = self.__dict__["%scmp"%att].split(" ")
+ while "" in txs:
+ txs.remove("")
+ return txs
+
+ def all_txs(self, att):
+ '''
+ returns the list of treatments currently associated with an attribute.
+ eg all_txs("ul8") may return ["O", "B,CO"]
+ '''
+ return self.cmp_txs(att) + self.pl_txs(att)
+
+if __name__ =="__main__":
+ '''
+ testing stuff
+ '''
+
+ TEST_SNO = 11956
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute("select courseno0 from patients where serialno = %s",
+ (TEST_SNO,))
+ courseno = cursor.fetchone()[0]
+ cursor.close()
+
+ tc = TreatmentCourse(TEST_SNO, 0)
+ print tc
+ print tc.underTreatment
+
+ tc = TreatmentCourse(TEST_SNO, courseno)
+ print tc
+
+ print tc.non_tooth_plan_items
+ print tc.non_tooth_cmp_items
+ print tc.all_txs("ur5")
+
diff --git a/src/openmolar/dbtools/updateMH.py b/src/openmolar/dbtools/updateMH.py
new file mode 100644
index 0000000..7093247
--- /dev/null
+++ b/src/openmolar/dbtools/updateMH.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import MySQLdb,sys
+from openmolar.connect import connect
+from openmolar.settings import localsettings
+
+def write(sno,data):
+ db=connect()
+ cursor = db.cursor()
+
+ result=True
+ query='insert into mednotes (serialno,drnm,adrtel,curmed,oldmed,allerg,heart,lungs,liver,kidney,bleed,anaes,other,alert'
+ dateToWrite = data[13]
+ if dateToWrite==None:
+ query+=") values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
+ values=(int(sno),)+data[:13]
+ else:
+ query+=",chkdate) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
+ values=(int(sno),)+data[:13]+(dateToWrite,)
+ print values
+ try:
+ cursor.execute("delete from mednotes where serialno=%d"%sno)
+ cursor.execute(query,values)
+ except Exception,e:
+ print e
+ result=False
+ db.commit()
+ cursor.close()
+ #db.close()
+
+ return result
+
+def writeHist(sno,data):
+ db=connect()
+ cursor = db.cursor()
+
+ for ix, note in data:
+ query = '''insert into mnhist (serialno,chgdate,ix,note)
+ values (%s, NOW(), %s, %s)'''
+ values = (sno, ix, note)
+ cursor.execute(query, values)
+ db.commit()
+ cursor.close()
+ #db.close()
+
+ return True
+
+if __name__ == "__main__":
+ import datetime
+ newdata=("doctor","address","curmeds","pastmeds","allergies","heart","lungs","liver","bleeding","Kidneys",
+ "ops","other",True,datetime.date.today())
+ write(11956,newdata)
+ writeHist(11956,((140,"new doctor"),))
diff --git a/src/openmolar/dbtools/writeNewCourse.py b/src/openmolar/dbtools/writeNewCourse.py
new file mode 100644
index 0000000..90bed26
--- /dev/null
+++ b/src/openmolar/dbtools/writeNewCourse.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+from openmolar.connect import connect
+
+INS_QUERY = 'insert into currtrtmt2 (serialno, accd) values (%s, %s)'
+
+DEL_QUERY = 'delete from currtrtmt2 where serialno = %s and courseno = %s'
+
+def write(serialno, accd):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(INS_QUERY, (serialno, accd))
+ cno = db.insert_id()
+ cursor.close()
+
+ return cno
+
+def delete(serialno, courseno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(DEL_QUERY, (serialno, courseno))
+ cno = db.insert_id()
+ cursor.close()
+
+
+if __name__ == "__main__":
+ print "started course %d"% write(31720, "20081225")
diff --git a/src/openmolar/dbtools/writeNewPatient.py b/src/openmolar/dbtools/writeNewPatient.py
new file mode 100644
index 0000000..c2b60a9
--- /dev/null
+++ b/src/openmolar/dbtools/writeNewPatient.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import MySQLdb
+from openmolar import connect
+from openmolar.dbtools import patient_class
+from openmolar.settings import localsettings
+
+def commit(pt):
+ sqlcond=""
+ values = []
+ for attr in patient_class.patientTableAtts:
+ value = pt.__dict__[attr]
+ if value:
+ sqlcond += '%s = %%s,'% attr
+ values.append(value)
+
+ sqlcommand= "insert into patients SET %s serialno=%%s"%sqlcond
+
+ query = "select max(serialno) from patients"
+
+ Attempts = 0
+ while True:
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(query)
+ currentMax=cursor.fetchone()[0]
+
+ if currentMax:
+ newSerialno = currentMax+1
+ else:
+ newSerialno = 1
+ try:
+ cursor.execute(sqlcommand, tuple(values + [newSerialno]))
+ cursor.close()
+ db.commit()
+ break
+
+ except connect.IntegrityError, e:
+ print "error saving new patient, will retry with new serialno"
+ print e
+ newSerialno = -1
+
+ Attempts += 1
+ if Attemps > 20:
+ break
+ #db.close()
+ return newSerialno
+
+if __name__ == "__main__":
+ global pt
+ from openmolar.dbtools import patient_class
+ import copy
+ pt= patient_class.patient(0)
+ pt.fname="Norman"
+ pt.sname="Wisdom"
+ #ok - so a trivial change has been made - now write to the database
+ print commit(pt)
diff --git a/src/openmolar/firstRun.py b/src/openmolar/firstRun.py
new file mode 100755
index 0000000..d078122
--- /dev/null
+++ b/src/openmolar/firstRun.py
@@ -0,0 +1,440 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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
+# version 3 of the License, or (at your option) any later version. It is
+# provided for educational purposes and 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.
+
+'''
+this module is only called if a settings file isn't found
+'''
+
+import sys
+import os
+import hashlib
+import base64
+import MySQLdb
+from PyQt4 import QtGui, QtCore
+from xml.dom import minidom
+
+from openmolar.qt4gui.compiled_uis import Ui_newSetup
+from openmolar.settings import localsettings
+
+blankXML = '''<?xml version="1.1" ?>
+<settings>
+<system_password> </system_password>
+<connection name="existing_database">
+ <version>1.1</version>
+ <server>
+ <location> </location>
+ <port> </port>
+ </server>
+ <database>
+ <dbname> </dbname>
+ <user> </user>
+ <password> </password>
+ </database>
+</connection>
+</settings>'''
+
+
+class newsetup(QtGui.QDialog, Ui_newSetup.Ui_Dialog):
+ '''
+ a new setup - creates and saves a config file
+ creates a database if required
+ loads a demo set of data.
+ '''
+
+ def __init__(self, parent=None):
+ super(newsetup, self).__init__(parent)
+ self.setupUi(self)
+ self.stackedWidget.setCurrentIndex(0)
+ self.PASSWORD = ""
+ self.HOST = ""
+ self.PORT = 3306
+ self.DB = ""
+ self.MysqlPassword = ""
+ self.MysqlUser = ""
+ self.rootpass = ""
+ self.signals()
+ self.back_pushButton.hide()
+ self.groupBox.setEnabled(False)
+ self.specificLabel()
+
+ def specificLabel(self):
+ '''
+ offer customised advice depending on the OS
+ '''
+ if "win" in sys.platform:
+ advice = _("If you ever need to run this again, ")
+ advice += _("delete the openmolar.conf file in ")
+ advice += "C:\\Program Files\\openmolar\\"
+ else:
+ advice = _("If you ever need to run this wizard again, ") +\
+ "(" + _("Eg. if your server location changes, ") +\
+ _("or you require a new password")+")"
+ advice += "<br>"+ _("type") + " 'openmolar firstrun' "
+ advice += _("on the command line, or delete the file")
+ advice += "<br />"+"~/.openmolar/openmolar.conf" +"<br />"*2
+ advice += _(
+ "For a more secure setup, you should move this file to")
+ advice += "/etc/openmolar/openmolar.conf"
+
+ self.sysAdvice_label.setText(advice)
+
+ def signals(self):
+ self.connect(self.go_pushButton, QtCore.SIGNAL("clicked()"), self.next)
+
+ self.connect(self.back_pushButton,
+ QtCore.SIGNAL("clicked()"), self.back)
+
+ self.connect(self.rootPassword_checkBox, QtCore.SIGNAL(
+ "stateChanged(int)"), self.rootechomode)
+
+ self.connect(self.mainpassword_checkBox, QtCore.SIGNAL(
+ "stateChanged(int)"), self.echomode)
+
+ self.connect(self.dbpassword_checkBox, QtCore.SIGNAL(
+ "stateChanged(int)"), self.dbechomode)
+
+ self.connect(self.existingDB_radioButton, QtCore.SIGNAL(
+ "toggled(bool)"),self.demo_or_existing)
+
+ self.connect(self.testDB_pushButton,
+ QtCore.SIGNAL("clicked()"), self.testConnection)
+
+ self.connect(self.stackedWidget,
+ QtCore.SIGNAL("currentChanged (int)"), self.title_label_update)
+
+ for le in (self.rootPassword_lineEdit,
+ self.user_lineEdit,
+ self.password_lineEdit,
+ self.main_password_lineEdit,
+ self.repeat_password_lineEdit,
+ self.host_lineEdit,
+ self.port_lineEdit):
+ self.connect(le,
+ QtCore.SIGNAL("returnPressed()"), self.next)
+
+ def advise(self, message, warning = False):
+ '''
+ throws up a message box
+ '''
+ if warning:
+ QtGui.QMessageBox.warning(self, _("Error"), message)
+ else:
+ QtGui.QMessageBox.information(self, _("Advisory"),
+ message)
+
+ def next(self):
+ '''
+ time to move on to the next screen
+ assuming all is well
+ '''
+ i = self.stackedWidget.currentIndex()
+
+ if i == 0:
+ self.stackedWidget.setCurrentIndex(1)
+ self.main_password_lineEdit.setFocus()
+ self.back_pushButton.show()
+
+ elif i == 1:
+ p1 = self.main_password_lineEdit.text()
+ p2 = self.repeat_password_lineEdit.text()
+ if p1 != p2:
+ self.advise(_("Passwords don't match!"))
+ else:
+ self.PASSWORD = self.main_password_lineEdit.text()
+ self.stackedWidget.setCurrentIndex(2)
+
+ elif i == 2:
+ self.stackedWidget.setCurrentIndex(3)
+
+ elif i == 3:
+ if self.createDemo_radioButton.isChecked():
+ self.stackedWidget.setCurrentIndex(5)
+ self.rootPassword_lineEdit.setFocus()
+ else:
+ self.stackedWidget.setCurrentIndex(4)
+ self.go_pushButton.setFocus()
+
+ elif i == 4:
+ self.finish()
+ if self.checkBox.isChecked():
+ self.accept()
+ else:
+ self.reject()
+
+ elif i == 5:
+ self.snapshot()
+ result=QtGui.QMessageBox.question(self,
+ _("Create Database"),
+ _("Create Demo Database now with the following settings?") +
+ '''<br><ul><li>host - %s </li><li>port - %s</li>
+ <li>database name - %s</li>
+ <li>username - %s</li><li>password - (hidden)</li>'''% (
+ self.HOST,self.PORT,self.DB,self.MysqlUser),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+
+ if result == QtGui.QMessageBox.Yes:
+ self.stackedWidget.setCurrentIndex(6)
+ if self.createDemoDatabase():
+ self.advise(_("Database Created Sucessfully"))
+ self.stackedWidget.setCurrentIndex(4)
+ self.testDB_pushButton.setEnabled(True)
+ return
+ else:
+ self.stackedWidget.setCurrentIndex(3)
+
+ self.advise(_("Database NOT Created"))
+ self.stackedWidget.setCurrentIndex(4)
+
+ def back(self):
+ '''
+ time to move on to the next screen
+ assuming all is well
+ '''
+ i = self.stackedWidget.currentIndex()
+
+ if i == 1:
+ self.back_pushButton.hide()
+ elif i == 5:
+ i -= 1
+ self.stackedWidget.setCurrentIndex(i-1)
+
+ def title_label_update(self, i):
+ '''
+ updates the header label when the stacked widget changes
+ '''
+ message = (
+ _("Welcome to the openMolar settings wizard."),
+ _("Set the application Password"),
+ _("Server Location"),
+ _("Database Settings"),
+ _("Save settings and exit"),
+ _("Create a demo database"),
+ _("Creating Database"))[i]
+
+ self.title_label.setText(message)
+
+ def snapshot(self):
+ '''
+ grab the current settings
+ '''
+ if self.createDemo_radioButton.isChecked():
+ self.DB = "openmolar_demo"
+ else:
+ self.DB = unicode(self.database_lineEdit.text())
+ self.HOST = unicode(self.host_lineEdit.text())
+ self.PORT = int(self.port_lineEdit.text())
+ self.MysqlUser = unicode(self.user_lineEdit.text())
+ self.MysqlPassword = unicode(self.password_lineEdit.text())
+ self.rootpass = unicode(self.rootPassword_lineEdit.text())
+
+ def demo_or_existing(self, checked):
+ '''
+ user is choosing between demo or existing db
+ '''
+
+ self.groupBox.setEnabled(checked)
+
+ if checked:
+ self.database_lineEdit.setFocus()
+ self.database_lineEdit.selectAll()
+
+ def testConnection(self):
+ '''
+ tries to connect to a mysql database with the settings
+ '''
+ self.snapshot()
+ result = False
+ try:
+
+ print "attempting to connect to mysql server on %s port %s..."% (
+ self.HOST, self.PORT)
+ db = MySQLdb.connect(host = self.HOST,
+ port = self.PORT, db = self.DB,
+ passwd = self.MysqlPassword, user = self.MysqlUser)
+
+ result = db.open
+ db.close()
+
+ except Exception,e:
+ print e
+ self.advise(_("The connection attempt threw an exception")
+ + "<hr>%s"% e, True)
+ return
+
+ if result:
+ QtGui.QMessageBox.information(None,
+ _("Success!"),
+ _("The %s database accepted the connection.")% self.DB)
+
+ else:
+ self.advise(_('''The connection attempt failed,
+please recheck your settings'''), True)
+ print "Connection failed!"
+
+ def createDemoDatabase(self):
+ self.progressBar.setValue(0)
+ self.snapshot()
+ PB_LIMIT = 50
+ def updatePB():
+ val = self.progressBar.value()
+ if val < PB_LIMIT:
+ self.progressBar.setValue(val+5)
+ self.progressBar.update()
+
+ self.timer1 = QtCore.QTimer()
+ self.timer1.start(10) # 1/100thsecond
+ self.connect(self.timer1, QtCore.SIGNAL("timeout()"),
+ updatePB)
+
+ try:
+ from openmolar import createdemodatabase
+ self.progressBar.setValue(10)
+ if createdemodatabase.create_database(self.HOST, self.PORT,
+ self.MysqlUser, self.MysqlPassword, self.DB, self.rootpass):
+ print 'New database created sucessfully.'
+ else:
+ print "error creating database"
+ raise IOError ("error creating database")
+ self.progressBar.setValue(50)
+ PB_LIMIT = 90
+ print 'attempting to loadtables....',
+ if createdemodatabase.loadTables(self.HOST, self.PORT,
+ self.MysqlUser, self.MysqlPassword, self.DB):
+ print "successfully loaded tables"
+ else:
+ print "error loading tables"
+ raise IOError ("error loading tables")
+ self.progressBar.setValue(100)
+
+ return True
+
+ except Exception, e:
+ print "error in creatDemoDB", e
+ self.advise( _("Error Creating Database") +"<hr>%s"% e,2)
+
+ def echomode(self, arg):
+ '''
+ toggle the echo mode of the password input boxes
+ '''
+ if arg == 0:
+ self.main_password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.repeat_password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ else:
+ self.main_password_lineEdit.setEchoMode(QtGui.QLineEdit.Normal)
+ self.repeat_password_lineEdit.setEchoMode(QtGui.QLineEdit.Normal)
+
+ def rootechomode(self, arg):
+ if arg == 0:
+ self.rootPassword_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ else:
+ self.rootPassword_lineEdit.setEchoMode(QtGui.QLineEdit.Normal)
+
+ def dbechomode(self, arg):
+ if arg == 0:
+ self.password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ else:
+ self.password_lineEdit.setEchoMode(QtGui.QLineEdit.Normal)
+
+ def finish(self):
+ self.snapshot()
+ result = False
+ try:
+ dom = minidom.parseString(blankXML)
+ #-- hash the password and save it
+ PSWORD = hashlib.md5(hashlib.sha1(
+ str("diqug_ADD_SALT_3i2some"+self.PASSWORD)).hexdigest()
+ ).hexdigest()
+
+ dom.getElementsByTagName(
+ "system_password")[0].firstChild.replaceWholeText(PSWORD)
+
+ #-- server settings
+ xmlnode = dom.getElementsByTagName("server")[0]
+ #--save the location
+ xmlnode.getElementsByTagName(
+ "location")[0].firstChild.replaceWholeText(self.HOST)
+
+ #--port
+ xmlnode.getElementsByTagName(
+ "port")[0].firstChild.replaceWholeText(str(self.PORT))
+
+ #-- database settings
+ xmlnode = dom.getElementsByTagName("database")[0]
+
+ #--user
+ xmlnode.getElementsByTagName(
+ "user")[0].firstChild.replaceWholeText(self.MysqlUser)
+
+ xmlnode.getElementsByTagName(
+ "password")[0].firstChild.replaceWholeText(
+ base64.b64encode(self.MysqlPassword))
+
+ xmlnode.getElementsByTagName(
+ "dbname")[0].firstChild.replaceWholeText(self.DB)
+
+ settingsDir = os.path.dirname(localsettings.global_cflocation)
+
+ sucessful_save = False
+
+ try:
+ if not os.path.exists(settingsDir):
+ print 'putting a global settings file in', settingsDir,
+ os.mkdir(settingsDir)
+ print '...ok'
+ print 'writing settings to', localsettings.global_cflocation,
+ f = open(localsettings.global_cflocation,"w")
+ f.write(dom.toxml())
+ f.close()
+ print '...ok'
+ localsettings.cflocation = localsettings.global_cflocation
+ sucessful_save = True
+ except OSError:
+ pass
+ except IOError:
+ pass
+
+ if not sucessful_save:
+ print 'unable to write to %s...'%settingsDir,
+ print ' we need root privileges for that'
+
+ print "will resort to putting settings into a local file",
+ print localsettings.cflocation
+
+ settingsDir = os.path.dirname(localsettings.cflocation)
+
+ if not os.path.exists(settingsDir):
+ os.mkdir(settingsDir)
+
+ print 'putting a local settings file in', settingsDir,
+
+ f = open(localsettings.cflocation,"w")
+ f.write(dom.toxml())
+ f.close()
+ print '...ok'
+ localsettings.cflocation = localsettings.cflocation
+
+ self.accept()
+
+ except Exception, e:
+ print "error saving settings", e
+ QtGui.QMessageBox.warning(self, _("FAILURE"), str(e))
+
+
+def run():
+ dl = newsetup()
+ return dl.exec_()
+
+
+if __name__ == "__main__":
+ app = QtGui.QApplication(sys.argv)
+ run()
diff --git a/src/openmolar/html/firstrun/firstrun0.png b/src/openmolar/html/firstrun/firstrun0.png
new file mode 100644
index 0000000..27226df
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun0.png differ
diff --git a/src/openmolar/html/firstrun/firstrun1.png b/src/openmolar/html/firstrun/firstrun1.png
new file mode 100644
index 0000000..85461a7
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun1.png differ
diff --git a/src/openmolar/html/firstrun/firstrun2.png b/src/openmolar/html/firstrun/firstrun2.png
new file mode 100644
index 0000000..cfd0f62
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun2.png differ
diff --git a/src/openmolar/html/firstrun/firstrun3.png b/src/openmolar/html/firstrun/firstrun3.png
new file mode 100644
index 0000000..67c5377
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun3.png differ
diff --git a/src/openmolar/html/firstrun/firstrun5.png b/src/openmolar/html/firstrun/firstrun5.png
new file mode 100644
index 0000000..4e3c77a
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun5.png differ
diff --git a/src/openmolar/html/firstrun/firstrun6.png b/src/openmolar/html/firstrun/firstrun6.png
new file mode 100644
index 0000000..3832bba
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun6.png differ
diff --git a/src/openmolar/html/firstrun/firstrun7.png b/src/openmolar/html/firstrun/firstrun7.png
new file mode 100644
index 0000000..4965e37
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun7.png differ
diff --git a/src/openmolar/html/firstrun/firstrun8.png b/src/openmolar/html/firstrun/firstrun8.png
new file mode 100644
index 0000000..84016dd
Binary files /dev/null and b/src/openmolar/html/firstrun/firstrun8.png differ
diff --git a/src/openmolar/html/firstrun/index.html b/src/openmolar/html/firstrun/index.html
new file mode 100644
index 0000000..bea8903
--- /dev/null
+++ b/src/openmolar/html/firstrun/index.html
@@ -0,0 +1,58 @@
+<html>
+<body>
+<img src="../images/thumbs/newlogo.png" align="left" />
+<h1>openMolar</h1>
+<h3>Open Source Dental Practice Management Software.</h3>
+
+Written by Neil Wallace B.Ch.D., The Academy Dental Practice, 19 Union Street, Inverness.
+<a href="http://www.academydental.com">Practice Website</a>
+<br />
+<br />
+
+Page updated Monday 4th May 2009.
+<br />
+<br clear="all" />
+
+<table border="1">
+<tr>
+ <td>I've changed the way openmolar saves it's settings, and made it easier to install a demo database.</td>
+ <td><img src="firstrun0.png" /></td>
+</tr>
+<tr>
+ <td>Hopefully this is intuitive?</td>
+ <td><img src="firstrun1.png" /></td>
+
+</tr>
+<tr>
+ <td>rinse and repeat to catch those typing errors</td>
+ <td><img src="firstrun2.png" /></td>
+
+</tr>
+<tr>
+ <td>default server and port?<br />a common networking solution would be to have a server at 192.168.0.2</td>
+ <td><img src="firstrun3.png" /></td>
+
+</tr>
+<tr>
+ <td>an option to create a demo database.</td>
+ <td><img src="firstrun5.png" /></td>
+
+</tr>
+<tr>
+ <td>to create a demo database you need to know the pass root mysql password</td>
+ <td><img src="firstrun6.png" /></td>
+
+</tr>
+<tr>
+ <td>this page is skipped for 'demo' users</td>
+ <td><img src="firstrun7.png" /></td>
+
+</tr>
+<tr>
+ <td>all set - this saves your settings to /etc/openmolar/openmolar.conf on linux or C:\\Program Files\openmolar\openmolar.conf on windows.</td>
+ <td><img src="firstrun8.png" /></td>
+
+</tr>
+</table>
+</body>
+</html>
diff --git a/src/openmolar/html/images/Screenshot-Patient Finder.png b/src/openmolar/html/images/Screenshot-Patient Finder.png
new file mode 100644
index 0000000..f3737cc
Binary files /dev/null and b/src/openmolar/html/images/Screenshot-Patient Finder.png differ
diff --git a/src/openmolar/html/images/Screenshot.png b/src/openmolar/html/images/Screenshot.png
new file mode 100644
index 0000000..1113014
Binary files /dev/null and b/src/openmolar/html/images/Screenshot.png differ
diff --git a/src/openmolar/html/images/altered_db.png b/src/openmolar/html/images/altered_db.png
new file mode 100644
index 0000000..6c22787
Binary files /dev/null and b/src/openmolar/html/images/altered_db.png differ
diff --git a/src/openmolar/html/images/appointment_diff_dent.png b/src/openmolar/html/images/appointment_diff_dent.png
new file mode 100644
index 0000000..38e3f76
Binary files /dev/null and b/src/openmolar/html/images/appointment_diff_dent.png differ
diff --git a/src/openmolar/html/images/appt_ov.png b/src/openmolar/html/images/appt_ov.png
new file mode 100644
index 0000000..02db507
Binary files /dev/null and b/src/openmolar/html/images/appt_ov.png differ
diff --git a/src/openmolar/html/images/appts.png b/src/openmolar/html/images/appts.png
new file mode 100644
index 0000000..36c5ca9
Binary files /dev/null and b/src/openmolar/html/images/appts.png differ
diff --git a/src/openmolar/html/images/complete_tooth_treatment.png b/src/openmolar/html/images/complete_tooth_treatment.png
new file mode 100644
index 0000000..dad4410
Binary files /dev/null and b/src/openmolar/html/images/complete_tooth_treatment.png differ
diff --git a/src/openmolar/html/images/complete_treatment.png b/src/openmolar/html/images/complete_treatment.png
new file mode 100644
index 0000000..ff6bbd0
Binary files /dev/null and b/src/openmolar/html/images/complete_treatment.png differ
diff --git a/src/openmolar/html/images/confirm_appt.png b/src/openmolar/html/images/confirm_appt.png
new file mode 100644
index 0000000..26d4b3d
Binary files /dev/null and b/src/openmolar/html/images/confirm_appt.png differ
diff --git a/src/openmolar/html/images/cpitn.png b/src/openmolar/html/images/cpitn.png
new file mode 100644
index 0000000..09402bc
Binary files /dev/null and b/src/openmolar/html/images/cpitn.png differ
diff --git a/src/openmolar/html/images/crown_choice.png b/src/openmolar/html/images/crown_choice.png
new file mode 100644
index 0000000..cdcbc79
Binary files /dev/null and b/src/openmolar/html/images/crown_choice.png differ
diff --git a/src/openmolar/html/images/dayllis_printing_wiizard.png b/src/openmolar/html/images/dayllis_printing_wiizard.png
new file mode 100644
index 0000000..5704178
Binary files /dev/null and b/src/openmolar/html/images/dayllis_printing_wiizard.png differ
diff --git a/src/openmolar/html/images/edit_patient_details.png b/src/openmolar/html/images/edit_patient_details.png
new file mode 100644
index 0000000..8e46b93
Binary files /dev/null and b/src/openmolar/html/images/edit_patient_details.png differ
diff --git a/src/openmolar/html/images/enter_appointment.png b/src/openmolar/html/images/enter_appointment.png
new file mode 100644
index 0000000..ec6dd5a
Binary files /dev/null and b/src/openmolar/html/images/enter_appointment.png differ
diff --git a/src/openmolar/html/images/estimates_plan.png b/src/openmolar/html/images/estimates_plan.png
new file mode 100644
index 0000000..c4bb624
Binary files /dev/null and b/src/openmolar/html/images/estimates_plan.png differ
diff --git a/src/openmolar/html/images/exam_wizard.png b/src/openmolar/html/images/exam_wizard.png
new file mode 100644
index 0000000..f9c2178
Binary files /dev/null and b/src/openmolar/html/images/exam_wizard.png differ
diff --git a/src/openmolar/html/images/exit_record.png b/src/openmolar/html/images/exit_record.png
new file mode 100644
index 0000000..f7fd23b
Binary files /dev/null and b/src/openmolar/html/images/exit_record.png differ
diff --git a/src/openmolar/html/images/feescales.png b/src/openmolar/html/images/feescales.png
new file mode 100644
index 0000000..bcfa4ef
Binary files /dev/null and b/src/openmolar/html/images/feescales.png differ
diff --git a/src/openmolar/html/images/find.png b/src/openmolar/html/images/find.png
new file mode 100644
index 0000000..a743989
Binary files /dev/null and b/src/openmolar/html/images/find.png differ
diff --git a/src/openmolar/html/images/hygenist_wizard.png b/src/openmolar/html/images/hygenist_wizard.png
new file mode 100644
index 0000000..b12f2e5
Binary files /dev/null and b/src/openmolar/html/images/hygenist_wizard.png differ
diff --git a/src/openmolar/html/images/letter_review.png b/src/openmolar/html/images/letter_review.png
new file mode 100644
index 0000000..8e0054c
Binary files /dev/null and b/src/openmolar/html/images/letter_review.png differ
diff --git a/src/openmolar/html/images/letter_text_entry.png b/src/openmolar/html/images/letter_text_entry.png
new file mode 100644
index 0000000..c244464
Binary files /dev/null and b/src/openmolar/html/images/letter_text_entry.png differ
diff --git a/src/openmolar/html/images/make_appointment.png b/src/openmolar/html/images/make_appointment.png
new file mode 100644
index 0000000..9e9db9a
Binary files /dev/null and b/src/openmolar/html/images/make_appointment.png differ
diff --git a/src/openmolar/html/images/make_appointment_any.png b/src/openmolar/html/images/make_appointment_any.png
new file mode 100644
index 0000000..6901235
Binary files /dev/null and b/src/openmolar/html/images/make_appointment_any.png differ
diff --git a/src/openmolar/html/images/newPt.png b/src/openmolar/html/images/newPt.png
new file mode 100644
index 0000000..4129b2d
Binary files /dev/null and b/src/openmolar/html/images/newPt.png differ
diff --git a/src/openmolar/html/images/newlogo.png b/src/openmolar/html/images/newlogo.png
new file mode 100644
index 0000000..b1536a6
Binary files /dev/null and b/src/openmolar/html/images/newlogo.png differ
diff --git a/src/openmolar/html/images/notes.png b/src/openmolar/html/images/notes.png
new file mode 100644
index 0000000..d64c141
Binary files /dev/null and b/src/openmolar/html/images/notes.png differ
diff --git a/src/openmolar/html/images/perio_charts.png b/src/openmolar/html/images/perio_charts.png
new file mode 100644
index 0000000..495a9a6
Binary files /dev/null and b/src/openmolar/html/images/perio_charts.png differ
diff --git a/src/openmolar/html/images/place_appointment.png b/src/openmolar/html/images/place_appointment.png
new file mode 100644
index 0000000..5b4de4b
Binary files /dev/null and b/src/openmolar/html/images/place_appointment.png differ
diff --git a/src/openmolar/html/images/plan_treament.png b/src/openmolar/html/images/plan_treament.png
new file mode 100644
index 0000000..52006e6
Binary files /dev/null and b/src/openmolar/html/images/plan_treament.png differ
diff --git a/src/openmolar/html/images/plan_treatment.png b/src/openmolar/html/images/plan_treatment.png
new file mode 100644
index 0000000..83a42be
Binary files /dev/null and b/src/openmolar/html/images/plan_treatment.png differ
diff --git a/src/openmolar/html/images/reception.png b/src/openmolar/html/images/reception.png
new file mode 100644
index 0000000..402ca0c
Binary files /dev/null and b/src/openmolar/html/images/reception.png differ
diff --git a/src/openmolar/html/images/reception_welcome_screen.png b/src/openmolar/html/images/reception_welcome_screen.png
new file mode 100644
index 0000000..7bfb63c
Binary files /dev/null and b/src/openmolar/html/images/reception_welcome_screen.png differ
diff --git a/src/openmolar/html/images/startscreen.png b/src/openmolar/html/images/startscreen.png
new file mode 100644
index 0000000..e927cd8
Binary files /dev/null and b/src/openmolar/html/images/startscreen.png differ
diff --git a/src/openmolar/html/images/surgery_welcome.png b/src/openmolar/html/images/surgery_welcome.png
new file mode 100644
index 0000000..dbab0c4
Binary files /dev/null and b/src/openmolar/html/images/surgery_welcome.png differ
diff --git a/src/openmolar/html/images/thumbs/Screenshot-Patient Finder.png b/src/openmolar/html/images/thumbs/Screenshot-Patient Finder.png
new file mode 100644
index 0000000..cccc568
Binary files /dev/null and b/src/openmolar/html/images/thumbs/Screenshot-Patient Finder.png differ
diff --git a/src/openmolar/html/images/thumbs/Screenshot.png b/src/openmolar/html/images/thumbs/Screenshot.png
new file mode 100644
index 0000000..b2ab494
Binary files /dev/null and b/src/openmolar/html/images/thumbs/Screenshot.png differ
diff --git a/src/openmolar/html/images/thumbs/altered_db.png b/src/openmolar/html/images/thumbs/altered_db.png
new file mode 100644
index 0000000..b984cfb
Binary files /dev/null and b/src/openmolar/html/images/thumbs/altered_db.png differ
diff --git a/src/openmolar/html/images/thumbs/appointment_diff_dent.png b/src/openmolar/html/images/thumbs/appointment_diff_dent.png
new file mode 100644
index 0000000..acd5604
Binary files /dev/null and b/src/openmolar/html/images/thumbs/appointment_diff_dent.png differ
diff --git a/src/openmolar/html/images/thumbs/appt_ov.png b/src/openmolar/html/images/thumbs/appt_ov.png
new file mode 100644
index 0000000..ec08794
Binary files /dev/null and b/src/openmolar/html/images/thumbs/appt_ov.png differ
diff --git a/src/openmolar/html/images/thumbs/appts.png b/src/openmolar/html/images/thumbs/appts.png
new file mode 100644
index 0000000..fe55db6
Binary files /dev/null and b/src/openmolar/html/images/thumbs/appts.png differ
diff --git a/src/openmolar/html/images/thumbs/complete_tooth_treatment.png b/src/openmolar/html/images/thumbs/complete_tooth_treatment.png
new file mode 100644
index 0000000..a26b63e
Binary files /dev/null and b/src/openmolar/html/images/thumbs/complete_tooth_treatment.png differ
diff --git a/src/openmolar/html/images/thumbs/complete_treatment.png b/src/openmolar/html/images/thumbs/complete_treatment.png
new file mode 100644
index 0000000..467fd37
Binary files /dev/null and b/src/openmolar/html/images/thumbs/complete_treatment.png differ
diff --git a/src/openmolar/html/images/thumbs/confirm_appt.png b/src/openmolar/html/images/thumbs/confirm_appt.png
new file mode 100644
index 0000000..5665e5b
Binary files /dev/null and b/src/openmolar/html/images/thumbs/confirm_appt.png differ
diff --git a/src/openmolar/html/images/thumbs/cpitn.png b/src/openmolar/html/images/thumbs/cpitn.png
new file mode 100644
index 0000000..84d9593
Binary files /dev/null and b/src/openmolar/html/images/thumbs/cpitn.png differ
diff --git a/src/openmolar/html/images/thumbs/crown_choice.png b/src/openmolar/html/images/thumbs/crown_choice.png
new file mode 100644
index 0000000..cdcbc79
Binary files /dev/null and b/src/openmolar/html/images/thumbs/crown_choice.png differ
diff --git a/src/openmolar/html/images/thumbs/dayllis_printing_wiizard.png b/src/openmolar/html/images/thumbs/dayllis_printing_wiizard.png
new file mode 100644
index 0000000..2b547c2
Binary files /dev/null and b/src/openmolar/html/images/thumbs/dayllis_printing_wiizard.png differ
diff --git a/src/openmolar/html/images/thumbs/edit_patient_details.png b/src/openmolar/html/images/thumbs/edit_patient_details.png
new file mode 100644
index 0000000..539fd43
Binary files /dev/null and b/src/openmolar/html/images/thumbs/edit_patient_details.png differ
diff --git a/src/openmolar/html/images/thumbs/enter_appointment.png b/src/openmolar/html/images/thumbs/enter_appointment.png
new file mode 100644
index 0000000..6dfd95e
Binary files /dev/null and b/src/openmolar/html/images/thumbs/enter_appointment.png differ
diff --git a/src/openmolar/html/images/thumbs/estimates_plan.png b/src/openmolar/html/images/thumbs/estimates_plan.png
new file mode 100644
index 0000000..145ba06
Binary files /dev/null and b/src/openmolar/html/images/thumbs/estimates_plan.png differ
diff --git a/src/openmolar/html/images/thumbs/exam_wizard.png b/src/openmolar/html/images/thumbs/exam_wizard.png
new file mode 100644
index 0000000..4522752
Binary files /dev/null and b/src/openmolar/html/images/thumbs/exam_wizard.png differ
diff --git a/src/openmolar/html/images/thumbs/exit_record.png b/src/openmolar/html/images/thumbs/exit_record.png
new file mode 100644
index 0000000..00d92b3
Binary files /dev/null and b/src/openmolar/html/images/thumbs/exit_record.png differ
diff --git a/src/openmolar/html/images/thumbs/feescales.png b/src/openmolar/html/images/thumbs/feescales.png
new file mode 100644
index 0000000..1623890
Binary files /dev/null and b/src/openmolar/html/images/thumbs/feescales.png differ
diff --git a/src/openmolar/html/images/thumbs/find.png b/src/openmolar/html/images/thumbs/find.png
new file mode 100644
index 0000000..47807d6
Binary files /dev/null and b/src/openmolar/html/images/thumbs/find.png differ
diff --git a/src/openmolar/html/images/thumbs/hygenist_wizard.png b/src/openmolar/html/images/thumbs/hygenist_wizard.png
new file mode 100644
index 0000000..cfeb1aa
Binary files /dev/null and b/src/openmolar/html/images/thumbs/hygenist_wizard.png differ
diff --git a/src/openmolar/html/images/thumbs/letter_review.png b/src/openmolar/html/images/thumbs/letter_review.png
new file mode 100644
index 0000000..1bee725
Binary files /dev/null and b/src/openmolar/html/images/thumbs/letter_review.png differ
diff --git a/src/openmolar/html/images/thumbs/letter_text_entry.png b/src/openmolar/html/images/thumbs/letter_text_entry.png
new file mode 100644
index 0000000..67feecd
Binary files /dev/null and b/src/openmolar/html/images/thumbs/letter_text_entry.png differ
diff --git a/src/openmolar/html/images/thumbs/make_appointment.png b/src/openmolar/html/images/thumbs/make_appointment.png
new file mode 100644
index 0000000..52424be
Binary files /dev/null and b/src/openmolar/html/images/thumbs/make_appointment.png differ
diff --git a/src/openmolar/html/images/thumbs/make_appointment_any.png b/src/openmolar/html/images/thumbs/make_appointment_any.png
new file mode 100644
index 0000000..8a8fb53
Binary files /dev/null and b/src/openmolar/html/images/thumbs/make_appointment_any.png differ
diff --git a/src/openmolar/html/images/thumbs/newPt.png b/src/openmolar/html/images/thumbs/newPt.png
new file mode 100644
index 0000000..973fc52
Binary files /dev/null and b/src/openmolar/html/images/thumbs/newPt.png differ
diff --git a/src/openmolar/html/images/thumbs/newlogo.png b/src/openmolar/html/images/thumbs/newlogo.png
new file mode 100644
index 0000000..b5e599b
Binary files /dev/null and b/src/openmolar/html/images/thumbs/newlogo.png differ
diff --git a/src/openmolar/html/images/thumbs/notes.png b/src/openmolar/html/images/thumbs/notes.png
new file mode 100644
index 0000000..866ee4c
Binary files /dev/null and b/src/openmolar/html/images/thumbs/notes.png differ
diff --git a/src/openmolar/html/images/thumbs/perio_charts.png b/src/openmolar/html/images/thumbs/perio_charts.png
new file mode 100644
index 0000000..4d06324
Binary files /dev/null and b/src/openmolar/html/images/thumbs/perio_charts.png differ
diff --git a/src/openmolar/html/images/thumbs/place_appointment.png b/src/openmolar/html/images/thumbs/place_appointment.png
new file mode 100644
index 0000000..e4b31ee
Binary files /dev/null and b/src/openmolar/html/images/thumbs/place_appointment.png differ
diff --git a/src/openmolar/html/images/thumbs/plan_treament.png b/src/openmolar/html/images/thumbs/plan_treament.png
new file mode 100644
index 0000000..2aad110
Binary files /dev/null and b/src/openmolar/html/images/thumbs/plan_treament.png differ
diff --git a/src/openmolar/html/images/thumbs/plan_treatment.png b/src/openmolar/html/images/thumbs/plan_treatment.png
new file mode 100644
index 0000000..5eae4b0
Binary files /dev/null and b/src/openmolar/html/images/thumbs/plan_treatment.png differ
diff --git a/src/openmolar/html/images/thumbs/reception.png b/src/openmolar/html/images/thumbs/reception.png
new file mode 100644
index 0000000..7f73c2a
Binary files /dev/null and b/src/openmolar/html/images/thumbs/reception.png differ
diff --git a/src/openmolar/html/images/thumbs/reception_welcome_screen.png b/src/openmolar/html/images/thumbs/reception_welcome_screen.png
new file mode 100644
index 0000000..481bf29
Binary files /dev/null and b/src/openmolar/html/images/thumbs/reception_welcome_screen.png differ
diff --git a/src/openmolar/html/images/thumbs/startscreen.png b/src/openmolar/html/images/thumbs/startscreen.png
new file mode 100644
index 0000000..e5aaca8
Binary files /dev/null and b/src/openmolar/html/images/thumbs/startscreen.png differ
diff --git a/src/openmolar/html/images/thumbs/surgery_welcome.png b/src/openmolar/html/images/thumbs/surgery_welcome.png
new file mode 100644
index 0000000..9520abf
Binary files /dev/null and b/src/openmolar/html/images/thumbs/surgery_welcome.png differ
diff --git a/src/openmolar/html/images/thumbs/toothplan_screen.png b/src/openmolar/html/images/thumbs/toothplan_screen.png
new file mode 100644
index 0000000..617d4d5
Binary files /dev/null and b/src/openmolar/html/images/thumbs/toothplan_screen.png differ
diff --git a/src/openmolar/html/images/thumbs/treatment_plan_page.png b/src/openmolar/html/images/thumbs/treatment_plan_page.png
new file mode 100644
index 0000000..2eb97e8
Binary files /dev/null and b/src/openmolar/html/images/thumbs/treatment_plan_page.png differ
diff --git a/src/openmolar/html/images/thumbs/whats_changed.png b/src/openmolar/html/images/thumbs/whats_changed.png
new file mode 100644
index 0000000..e763bfa
Binary files /dev/null and b/src/openmolar/html/images/thumbs/whats_changed.png differ
diff --git a/src/openmolar/html/images/toothplan_screen.png b/src/openmolar/html/images/toothplan_screen.png
new file mode 100644
index 0000000..63f7c9e
Binary files /dev/null and b/src/openmolar/html/images/toothplan_screen.png differ
diff --git a/src/openmolar/html/images/treatment_plan_page.png b/src/openmolar/html/images/treatment_plan_page.png
new file mode 100644
index 0000000..423e8cb
Binary files /dev/null and b/src/openmolar/html/images/treatment_plan_page.png differ
diff --git a/src/openmolar/html/images/whats_changed.png b/src/openmolar/html/images/whats_changed.png
new file mode 100644
index 0000000..c52f2dd
Binary files /dev/null and b/src/openmolar/html/images/whats_changed.png differ
diff --git a/src/openmolar/html/index.html b/src/openmolar/html/index.html
new file mode 100644
index 0000000..163c576
--- /dev/null
+++ b/src/openmolar/html/index.html
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>openMolar Dental Practice Management Software</title>
+ <meta http-equiv="content-type"
+ content="text/html;charset=utf-8" />
+ <meta http-equiv="Content-Style-Type" content="text/css" />
+ <link rel="stylesheet" title="openMolar Style" type="text/css" href="omstyle.css" />
+ </head>
+ <body>
+ <h1 class = "header">
+ openMolar
+ </h1>
+ <h3 class = "header">
+ Open Source Dental Practice Management Software.
+ </h3>
+ <p class = "header">
+ Written by Neil Wallace B.Ch.D., <a href="http://www.academydental.com">The Academy Dental Practice</a>, 19 Union Street, Inverness.
+ </p>
+ <div id="txt">
+ <table summary="openMolar Features">
+ <caption>
+ Images link to larger sized versions.
+ </caption>
+ <tr>
+ <td>
+ <a href="images/newlogo.png"><img src="images/thumbs/newlogo.png" alt="New openMolar Logo Image" title="openMolar logo"/></a>
+ </td>
+ <td>
+ Our Logo!
+ <br />
+ Kindly provided by <a href="http://rfquerin.org">Richard Querin</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="images/feescales.png"><img src="images/thumbs/feescales.png" alt="feescales Image" title="openMolar feescales"/></a>
+ </td>
+ <td>
+ New (2nd June 2009) searchable and intuitive feescale functionality
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/letter_review.png"><img src="images/thumbs/letter_review.png" alt="New openMolar Letter Review" title="openMolar letters"/></a>
+ </td>
+ <td>
+ New policy (2nd June 2009) - important docs are stored into the database as PDFs. retrievable and reprintable from any station. Viewed here using evince. Windows versions fire up whatever preferred application is (acrobat reader etc..) .
+ Other docs are stored in an re-editable manner.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/estimates_plan.png"><img src="images/thumbs/estimates_plan.png" alt="New openMolar Estimates Page" title="openMolar estimates"/></a>
+ </td><td>
+ new (2nd June 2009) widgets for the estimates/plan page
+ </td>
+ </tr>
+
+
+
+
+ <tr>
+ <td>
+ <a href="images/startscreen.png"><img src="images/thumbs/startscreen.png" alt="openMolar Login Screen Image" title="openMolar Login Screen"/></a>
+ </td>
+ <td>
+ The start screen prevents unauthorised access to the program, and allows the user to choose between 'surgery' or 'reception' settings
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/surgery_welcome.png"><img src="images/thumbs/surgery_welcome.png" alt="openMolar default screen for a 'surgery machine'." title="openMolar Welcome Screen"/></a>
+ </td>
+ <td>
+ This is the default screen for a 'surgery machine'.
+ <br />
+ The goal here is to provide the majority of information required for a clinitian to quickly get the most important information.
+ <br/>
+ What teeth/restorations are present, when were the last x-rays taken, the last few notes, a CPITN score, and a synopsis of any outstanding treatment.
+ <br />
+ Also there are launchers for wizards for the most common treatment procedures.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/exam_wizard.png"><img src="images/thumbs/exam_wizard.png" alt="openMolar Exam Wizard image." title="openMolar Exam Wizard Screen"/></a>
+ </td>
+ <td>
+ For instance, an exam wizard is provided from this page.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/reception_welcome_screen.png"><img src="images/thumbs/reception_welcome_screen.png" alt="openMolar Reception Screen." title="openMolar Reception Screen"/></a>
+ </td>
+ <td>
+ The default 'reception' screen. Same philosophy as above.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/find.png"><img src="images/thumbs/find.png" alt="openMolar Search Screen image." title="openMolar Search Screen"/></a>
+ </td>
+ <td>
+ Search for a patient by Serialno (the quickest method, if known), or by ANY combination of surname, forename, telephone, address, or postcode.
+ <br />
+ MySQL's soundex function can be leveraged via checkbox for surname or forename (useful for those times when talking to a patient over a bad phone line).
+ <br />
+ 'Repeat last search' repopulates your fields with the last search.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/edit_patient_details.png"><img src="images/thumbs/edit_patient_details.png" alt="openMolar Edit Patient Details image." title="openMolar Edit Patient Details"/></a>
+ </td>
+ <td>
+ Update the patient's contact details.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/perio_charts.png"><img src="images/thumbs/perio_charts.png" alt="openMolar Patient Periodontal Charts image." title="openMolar Edit Patient Periodontal Charts Details"/></a>
+ </td>
+ <td>
+ A very comprehensive set of periodontal charts.
+ <br />
+ The current database schema for this is a little eccentric to say the least.
+ <br />
+ Openmolar was started due to disatisfaction with a commercial supplier.
+ <br />
+ Presently I have done no more than decode the way they were managing this data.
+ <br />
+ Fixing these issues is a low priority for me.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/toothplan_screen.png"><img src="images/thumbs/toothplan_screen.png" alt="openMolar Patient Tooth Charting image." title="openMolar Tooth Charting Details"/></a>
+ </td>
+ <td>
+ Top row - current chart
+ <br />
+ Middle row - treatment plan
+ <br />
+ Bottom row - completed tretment
+ <br />
+ An intuitive notation wizard - some work to do to get items identified and priced.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/treatment_plan_page.png"><img src="images/thumbs/treatment_plan_page.png" alt="openMolar Patient Treatment Planning image." title="openMolar Treatment Planning Details"/></a>
+ </td>
+ <td>
+ Treatment Plan Page for all non-tooth specific items.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/plan_treament.png"><img src="images/thumbs/plan_treament.png" alt="openMolar Adding Treatment Plan Details image." title="openMolar Adding Treatment Plan Details"/></a>
+ </td>
+ <td>
+ The dialogue for adding treatment items to a treatment plan.
+ <br />
+ Items are costed at this time.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/notes.png"><img src="images/thumbs/notes.png" alt="openMolar Clinical Notes image." title="openMolar Clinical Notes Details"/></a>
+ </td>
+ <td>
+ Clinical notes with an option of verbosity levels.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/reception.png"><img src="images/thumbs/reception.png" alt="openMolar Clinical Notes Reception image." title="openMolar Clinical Notes Reception Details"/></a>
+ </td>
+ <td>
+ The reception page with this same patient loaded.
+ <br />
+ Print an estimate, make an appointment, take payment, print a receipt or NHS form etc.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/enter_appointment.png"><img src="images/thumbs/enter_appointment.png" alt="openMolar Appointment image." title="openMolar Appointment Details"/></a>
+ </td>
+ <td>
+ The dialog for entering an appointment.
+ <br />
+ Three treatment items can be added (for backwards compatibility reasons)
+ <br />
+ Also a memo.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/make_appointment.png"><img src="images/thumbs/make_appointment.png" alt="openMolar Appointments Schedule image." title="openMolar Appointments Schedule Details"/></a>
+ </td>
+ <td>
+ When "scheduling" an appointment, the available slots with the chosen dentist are presented graphically.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/make_appointment_any.png"><img src="images/thumbs/make_appointment_any.png" alt="openMolar Other Possible Appointments image." title="openMolar Other Possible Appointment Details"/></a>
+ </td>
+ <td>
+ If you want to check whether more suitable appointments are available with other practitioners, a simply check the relevant box and you have those options also.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/appointment_diff_dent.png"><img src="images/thumbs/appointment_diff_dent.png" alt="openMolar Different Dentist Appointments image." title="openMolar Different Dentist Appointment Details"/></a>
+ </td>
+ <td>
+ If you choose an appointment with a different dentist, you are prompted for confirmation.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/place_appointment.png"><img src="images/thumbs/place_appointment.png" alt="openMolar Graphical Display Appointments image." title="openMolar Graphical Display Appointment Details"/></a>
+ </td>
+ <td>
+ You schedule appointments graphically.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/letter_text_entry.png"><img src="images/thumbs/letter_text_entry.png" alt="openMolar Letter Editor image." title="openMolar Letter Editor Details"/></a>
+ </td>
+ <td>
+ A simple but powerful HTML editor for really quick and easy correspondence.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/complete_tooth_treatment.png"><img src="images/thumbs/complete_tooth_treatment.png" alt="openMolar Edit Tooth Treatment image." title="openMolar Edit Tooth Treatment Details"/></a>
+ </td>
+ <td>
+ When completing treatment on a tooth, you are presented with this type of dialog.
+ <br />
+ This is necessary if only part of a tooth's treatment is completed, or fees adjusted.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/complete_treatment.png"><img src="images/thumbs/complete_treatment.png" alt="openMolar Complete Treatment image." title="openMolar Complete Treatment Details"/></a>
+ </td>
+ <td>
+ Treatment can be completed "on mass" over on the treatment plan page.
+ <br />
+ You are presented with the same dialog as for the previous case. The aim is for a consistent UI (User Interface).
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/crown_choice.png"><img src="images/thumbs/crown_choice.png" alt="openMolar Crown Treatment image." title="openMolar Crown Treatment Details"/></a>
+ </td>
+ <td>
+ A dialog presented when entering a crown. Hopefully this is self-explanatory?
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/exit_record.png"><img src="images/thumbs/exit_record.png" alt="openMolar Exit image." title="openMolar Exit Screen"/></a>
+ </td>
+ <td>
+ Is it safe to quit?
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/whats_changed.png"><img src="images/thumbs/whats_changed.png" alt="openMolar Changes image." title="openMolar Changes Screen"/></a>
+ </td>
+ <td>
+ What's changed?
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/altered_db.png"><img src="images/thumbs/altered_db.png" alt="openMolar Database Changes image." title="openMolar Database Changes Screen"/></a>
+ </td>
+ <td>
+ We changed a few things on this patient record!
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/hygenist_wizard.png"><img src="images/thumbs/hygenist_wizard.png" alt="openMolar Hygienist Wizard image." title="openMolar Hygienist Wizard Screen"/></a>
+ </td>
+ <td>
+ Hygienists get their own little wizard!
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/cpitn.png"><img src="images/thumbs/cpitn.png" alt="openMolar Perio Exam image." title="openMolar Perio Exam Screen"/></a>
+ </td>
+ <td>
+ CPITN scores (Basic Periodontal Examination).
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/newPt.png"><img src="images/thumbs/newPt.png" alt="openMolar Entering a New Patient image." title="openMolar Entering a New Patient Screen"/></a>
+ </td>
+ <td>
+ Entering a new patient (linux fans may recognise this fella!)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/dayllis_printing_wiizard.png"><img src="images/thumbs/dayllis_printing_wiizard.png" alt="openMolar Daylists image." title="openMolar Daylists Screen"/></a>
+ </td>
+ <td>
+ Quickly print a variety of daylist formats.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/appt_ov.png"><img src="images/thumbs/appt_ov.png" alt="openMolar Appointments Overview image." title="openMolar Appointments Overview Screen"/></a>
+ </td>
+ <td>
+ Openmolar helps me keep my practice running efficiently.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/appts.png"><img src="images/thumbs/appts.png" alt="openMolar Appointments image." title="openMolar Appointments Screen"/></a>
+ </td>
+ <td>
+ With beautiful custom qt4 widgets.
+ <br />
+ What's good enough for skype, KDE4 and google earth is good enough for me.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="images/confirm_appt.png"><img src="images/thumbs/confirm_appt.png" alt="openMolar Confirm Appointments image." title="openMolar Confirm Appointments Screen"/></a>
+ </td>
+ <td>
+ Final step
+ </td>
+ </tr>
+ </table>
+</div>
+ <p class="footer">
+ Images taken of the openmolar alpha 0.0.6 on gnome 2.24.1 using open source version of qt 4.4.3. <img src="images/Screenshot.png" alt="openMolar 0.0.6" title="openMolar alpha 0.0.6 on gnome 2.24.1 using open source version of qt 4.4.3"/>
+ </p>
+ </body>
+</html>
diff --git a/src/openmolar/html/omstyle.css b/src/openmolar/html/omstyle.css
new file mode 100644
index 0000000..a176ced
--- /dev/null
+++ b/src/openmolar/html/omstyle.css
@@ -0,0 +1,65 @@
+h1.header {
+color : black;
+font-family : serif;
+font-style : normal;
+font-weight : bold;
+text-align : center;
+}
+h3.header {
+color : black;
+font-family : serif;
+font-style : normal;
+font-weight : bold;
+text-align : center;
+}
+p.header
+{
+color : black;
+font-family : serif;
+font-style : normal;
+font-weight : bold;
+text-align : center;
+}
+p.footer
+{
+color : blue;
+font-family : serif;
+font-style : normal;
+font-weight : bold;
+text-align : center;
+}
+
+#txt img {
+border : 2px solid #ffd0a0;
+}
+#txt img:hover {
+border : 2px solid red;
+}
+
+table {
+width : 100%;
+table-layout : auto;
+border-spacing : 0;
+border : 0;
+}
+caption {
+background-color : yellow;
+color : red;
+font-weight : bold;
+border-spacing : 0;
+border : 1px solid black;
+}
+tr {
+background-color : #ffc;
+color : blue;
+border : 0;
+border-spacing : 1px;
+text-align : center;
+}
+td {
+background-color : #ffc;
+color : black;
+border : 1px solid black;
+border-spacing : 0;
+text-align : center;
+}
diff --git a/src/openmolar/locale/af.po b/src/openmolar/locale/af.po
new file mode 100644
index 0000000..280d4d1
--- /dev/null
+++ b/src/openmolar/locale/af.po
@@ -0,0 +1,3728 @@
+# Afrikaans translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-10-29 00:36+0000\n"
+"PO-Revision-Date: 2009-10-29 01:09+0000\n"
+"Last-Translator: Neil Wallace <rowinggolfer at googlemail.com>\n"
+"Language-Team: Afrikaans <af at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-10-29 08:29+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:97
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:98
+msgid "The %s accepted the connection %s."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:328
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:132
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:187
+msgid "Please re-enter this password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:208
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1598
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:209
+msgid "Passwords did not match, please try again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:210
+msgid ""
+"Please enter a password to\n"
+"prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:68
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:63
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:69
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update openMolar ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:121
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application ,<br />\n"
+"We need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<br />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:259
+msgid "First Run"
+msgstr "Eerste hardloop"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:147
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:148
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:229
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:222
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:225
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:177
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:179
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:182
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:185
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:109
+msgid "<H4>Previous Course</H4>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:111
+msgid "Start %s<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:113
+msgid "End %s<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:122
+msgid "%sNo treatment</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:124
+msgid "%s<h4>PLAN</h4>%s<hr /><h4>COMPLETED</h4>%s</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoItem.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoitem.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:56
+msgid "Form"
+msgstr "Vorm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Keuseblokkie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:72
+msgid "Plan Treatment"
+msgstr "Behandelings plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:73
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+"Plaas die volgende behandelings item by die huidige behandelings plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:74
+msgid "Total Fee for these Items"
+msgstr "Total bedrag vir die items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:75
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:76
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:99
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2787
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:47
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:354
+msgid "£"
+msgstr "R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Selekteer Afspraak Lengte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Ure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Open 'n Dag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:70
+msgid "Clinician"
+msgstr "Klinikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Datum om oop te maak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Dag Memorandum - opsioneel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Dag Begin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Oggend Ongevalle Tyd Spasie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:71
+msgid "Start"
+msgstr "Begin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:72
+msgid "Finish"
+msgstr "Voltooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:72
+msgid "Lunch"
+msgstr "Middag ete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Middag Ongevalle Tyd Spasie "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Dag Voltooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:57
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2841
+msgid "Appointment Tools"
+msgstr "Afspraak Nutgoed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:58
+msgid "Extend Books"
+msgstr "Verleng Boeke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:59
+msgid "Remove old weeks"
+msgstr "Verwyder ou weke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:60
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Redigeer Standaard Werks Weke vir Klinikuste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+msgid "Open A Day"
+msgstr "Maak 'n dag oop"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2833
+msgid "&Quit"
+msgstr "&Stop"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Afspraak Towennaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+"Plaas 'n kombinasie van voorgestelde afsprake op die pasient se dagboek."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoItem.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoitem.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:47
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:46
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:57
+msgid "TextLabel"
+msgstr "Woord Etiket"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Voeg by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:69
+msgid "Clinicians - DATE"
+msgstr "Klinikuste - Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:73
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2596
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2755
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:46
+msgid "Memo"
+msgstr "Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:86
+msgid "Confirm"
+msgstr "Bevestig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:64
+msgid "Block this Slot?"
+msgstr "Sluit hierdie Spasie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:65
+msgid "Block Start"
+msgstr "Sluit Begin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:66
+msgid "Bock End"
+msgstr "Sluit Eindig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:67
+msgid "Text to apply"
+msgstr "Woorde om aan te wend"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:68
+msgid "//Blocked//"
+msgstr "//Gesluit//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:69
+msgid "Emergency"
+msgstr "Ongevalle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:70
+msgid "Reserved Clinical Time"
+msgstr "Reserveer Kliniese Tyd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:71
+msgid "Out of Office"
+msgstr "Nie op kantoor nie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Brug - Gebit Invoer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porselein / Eldelmetaal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lawa (of alle keramiek)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Harpuis Behoue"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Brug"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Boonste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Volle (co-chroom)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Gedeeltelike (co-chroom)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+msgid "Other"
+msgstr "Ander"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Laer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Gebit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Verander databasis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:273
+msgid "Host"
+msgstr "Gasheer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:274
+msgid "localhost"
+msgstr "Plaaslike Gasheer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:284
+msgid "User"
+msgstr "Gebruiker"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "gebruiker"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Password"
+msgstr "Wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:288
+msgid "display password"
+msgstr "vertoon wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Databasis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:283
+msgid "openmolar_demo"
+msgstr "openmolar_demonstrasie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:287
+msgid "password"
+msgstr "wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Kies 'n Dokument"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Kies 'n dokument om te vertoon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "NHS Skedule van Betaling April 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "NHS \"Informasie Gids\" 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "NHS Skedule van Betalings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "NHS \"Informasie Gids\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialoog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:43
+msgid "Choose from the following available languages"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:44
+msgid ""
+"Note - if your preferred language is not available, please visit "
+"https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:95
+msgid "Complete Treatment"
+msgstr "Voltooi Behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:96
+msgid "Complete this Treatment with the following Criteria?"
+msgstr "Voltooi hierdie behandeling met die volgende kriteria?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:97
+msgid "Treating Dentist/Hygenist"
+msgstr "Behandelend Tandarts/Higienist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:98
+msgid "Gross Fee"
+msgstr "Bruto Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:100
+msgid "Patient Charge"
+msgstr "Pasient Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:60
+msgid "Completion Date"
+msgstr "Voltooi Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:61
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"U het geen toekomstige behandeling vir die pasient, maar die pasient word "
+"gesien as \"onder behandeling\"."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "Suggested completion Date"
+msgstr "Voorgestelde voltooi Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Gebruik hierdie Datum "
+"nou?<br />(course can be re-opened later if necessary)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Watter Tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr "Druk 'n GP17 vorm met die tandarts se kontak nommer? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Vorige Kursus (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Nuwe Kursus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Kies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+msgid "Gold"
+msgstr "Goud"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Harpuis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Tydelike"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lawa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Fort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+msgid "Bonded"
+msgstr "Geheg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Kanselleer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:80
+msgid "Custom Item"
+msgstr "Doelgeboude Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:81
+msgid "Number of Items"
+msgstr "Aantal Items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+msgid "Description"
+msgstr "Beskrywing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:83
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+msgid "Fee"
+msgstr "Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:84
+msgid "Patient Fee"
+msgstr "Pasient Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Dag Lys Druk Towenaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr "Spesifiseer Datums en Praktisyns vir die Dag Lys Druk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2768
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2775
+msgid "Start Date"
+msgstr "Begin Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2769
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2776
+msgid "End Date"
+msgstr "Einde Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "Alle Praktisyns on Een Bladsy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Een Praktisyn per Bladsy - Minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Een Praktisyn per Bladsy - Volledige Bladsy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Redigeer Memo's"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Vrydag, 25st Desember 2009</p>\n"
+"<p align=\"center\">Kersdag</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Globale Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Klinikus Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:36
+msgid "Norman - Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:37
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Tik asseblief u woorde hier.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:132
+msgid "No."
+msgstr "Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:133
+msgid "Code"
+msgstr "Kode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:124
+msgid "Type"
+msgstr "Tipe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+msgid "Pt Fee"
+msgstr "Pasient Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "Expand All"
+msgstr "Ontvou Alles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Verdeel Itens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2811
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+msgid "code"
+msgstr "kode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "small xrays"
+msgstr "klein x-strale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2694
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2723
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Voltooid"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:119
+msgid "Exam Wizard"
+msgstr "Ondersoek Towenaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+msgid "Standard"
+msgstr "Standaard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+msgid "Extensive"
+msgstr "Ekstensief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Full Case Assessment"
+msgstr "Volle Geval Ondersoek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Date"
+msgstr "Ondersoek Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Dentist"
+msgstr "Tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2690
+msgid "Notes"
+msgstr "Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "nil"
+msgstr "nul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Broken Tooth"
+msgstr "Gebreekte Tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Pain"
+msgstr "Pyn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Denture Problems"
+msgstr "Gebit Probleme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Sensitive Teeth"
+msgstr "Sensitiewe Tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Soft Tissues Checked"
+msgstr "Sagte weefsel Nagegaan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:135
+msgid "OHI given"
+msgstr "OHI gegee"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Palpated for upper canines - NAD"
+msgstr "Betas vir oogtande - NAD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:60
+msgid "FeeAdjuster"
+msgstr "Fooi Verandering"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2825
+msgid "&File"
+msgstr "&Lêer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:62
+msgid "&About"
+msgstr "&Omtrent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:63
+msgid "&Save Changes"
+msgstr "&Stoor Veranderinge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:65
+msgid "Help"
+msgstr "Help"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:66
+msgid "&Version"
+msgstr "&Weergawe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Afspraak Tyd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Spasie Voor Afspraak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Spasie na Afspraak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:62
+msgid "Forum Input"
+msgstr "Forum Invoer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:63
+msgid "Table"
+msgstr "Tabel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:64
+msgid "General Topic"
+msgstr "Algemene Onderwerp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:65
+msgid "OpenMolar or Computer related Topic"
+msgstr "OpenMolar of Rekenaar verwante Onderwerp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:66
+msgid "Topic"
+msgstr "Onderwerp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:67
+msgid "Who Are You?"
+msgstr "Wie is jy?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:68
+msgid "Comment"
+msgstr "Kommentaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:123
+msgid "Hygenist Wizard"
+msgstr "Hegienist Towenaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:125
+msgid "Scale and Polish"
+msgstr "Skraap en Poleer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:126
+msgid "Extensive Scaling"
+msgstr "Ekstensiewe Skraping"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:127
+msgid "Part 1 of 2 visit treatment"
+msgstr "Deel 1 van 2 besoek behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:128
+msgid "Part 2 of 2 visit treatment"
+msgstr "Deel 2 van besoek behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:129
+msgid "Dentist/Hygenist"
+msgstr "Tandarts/Hegienist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:130
+msgid "Standard Fee"
+msgstr "Standaard Fooi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:132
+msgid "Charge to Patient"
+msgstr "Verander na Pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2552
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - Jou tande databasis program"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2553
+msgid "Exit the Current Patient Record."
+msgstr "Verlaat die Huidige Pasient Rekord."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2554
+msgid "Esc"
+msgstr "Esc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2555
+msgid "Add a New Patient to the database."
+msgstr "Voeg 'n nuwe Pasient by die databasis."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2556
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2802
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2817
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2821
+msgid "Click on this Button to search for in patient in your database."
+msgstr "Druk op die Knoppie om te soek vir die pasient in die databasis."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2803
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2818
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2822
+msgid "Find"
+msgstr "Soek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2558
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2804
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2819
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2823
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2559
+msgid "This cycles back through the history of records loaded today."
+msgstr "Hierdie gaan deur die rekords wat vandag by gevoeg is."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2560
+msgid "Reload the patient from the database."
+msgstr "Herlaai die pasient van die databasis."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2561
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2562
+msgid "This cycles forwards through the history of records loaded today."
+msgstr "Hierdie gaan deur die rekords wat vandag by gevoeg is."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2563
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr "Wys die pasient wat by dieselde adres bly of dieselde naam het."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2564
+msgid "&Related"
+msgstr "&Verwant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2565
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2566
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2567
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2719
+msgid "Details"
+msgstr "Besonderhede"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2568
+msgid "Title"
+msgstr "Titel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2569
+msgid "Sex"
+msgstr "Geslag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2570
+msgid "M"
+msgstr "Manlik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2571
+msgid "F"
+msgstr "Vroulik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2572
+msgid "Tel (home)"
+msgstr "Tel (huis)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2573
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Meer velde is beskikbaar. Druk hier on te Redigeer."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2574
+msgid "More"
+msgstr "Meer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2575
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:135
+msgid "First Name"
+msgstr "Voornaam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2576
+msgid "Tel (work)"
+msgstr "Tel (werk)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2577
+msgid "Surname"
+msgstr "Van"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2578
+msgid "Tel (mob)"
+msgstr "Tel (selfoon)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2579
+msgid "send an sms"
+msgstr "Stuur 'n sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2580
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2581
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:143
+msgid "Date of Birth"
+msgstr "Geboorte Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2582
+msgid "Fax"
+msgstr "Faks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2583
+msgid "send a fax"
+msgstr "stuur 'n faks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2584
+msgid "fax"
+msgstr "faks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2585
+msgid "Address1"
+msgstr "Adres1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2586
+msgid "email1"
+msgstr "e-pos1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2587
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2591
+msgid "send an email"
+msgstr "stuur 'n e-pos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2588
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2592
+msgid "email"
+msgstr "e-pos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2589
+msgid "Address2"
+msgstr "Adres2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2590
+msgid "email2"
+msgstr "e-pos2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2593
+msgid "Address3"
+msgstr "Adres3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2594
+msgid "Occupation"
+msgstr "Beroep"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2595
+msgid "Town"
+msgstr "Dorp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2597
+msgid "County"
+msgstr "Land"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2598
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Postcode"
+msgstr "Pos Kode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2599
+msgid "New Patients"
+msgstr "Nuwe Pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2600
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Gebruik die naam en adres besonderhede van die vorige pasient."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2601
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2602
+msgid "Not implemented yet."
+msgstr "Nog nie geïmplementeer nie."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2603
+msgid "Family"
+msgstr "Familie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2604
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Onderstreep velde wat nootsaaklik is vir nuwe Pasiente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2605
+msgid "Patient Details"
+msgstr "Pasient Besonderhede"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2606
+msgid "Pt is registered with Dentist"
+msgstr "Pasient is gerigistreer by die tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2607
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Kursus Tipe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2608
+msgid "Status"
+msgstr "Status"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2609
+msgid "Active"
+msgstr "Aktief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2610
+msgid "Moved Away"
+msgstr "Verhuis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2611
+msgid "Deceased"
+msgstr "Oorlede"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2612
+msgid "Bad Debt"
+msgstr "Slegte Skuld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2613
+msgid "No More Appts"
+msgstr "Geen verdere afsprake"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2614
+msgid "Write Off Bad Debt"
+msgstr "Skryf Slegte Skuld Af"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2615
+msgid "This label is for displaying Private contractual stuff"
+msgstr "Hierdie etiket is vir Privaat Kontraktuele Goed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2616
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2619
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2622
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2626
+msgid "Edit"
+msgstr "Redigeer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2617
+msgid "Private"
+msgstr "Privaat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2618
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Hierdie etiket is vir HDP Kontraktuele Goed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2620
+msgid "Highland Dental Plan"
+msgstr "Highland Tanddeelkundige Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2621
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "Hierdie etiket is vir NHS Kontraktuele Goed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2623
+msgid "View Claims History"
+msgstr "Vertoon Eis Geskiendenis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2666
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2625
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+"Geen details van die pasient se gerigistreerde tandarts kon gevind word nie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2627
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2628
+msgid "Contract"
+msgstr "Kontrak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2629
+msgid "Letters TO the patient"
+msgstr "Briewe NA die pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2630
+msgid " Custom Letter to the patient"
+msgstr " Doelgeboude Briewe na die pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2631
+msgid "Recall management"
+msgstr "Herroep bestuur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2632
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2633
+msgid "Date Shortcuts"
+msgstr "Datum Kortsluiting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2634
+msgid "1 Month hence"
+msgstr "1 Maand vandaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2635
+msgid "3 Months hence"
+msgstr "3 Maande vandaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2636
+msgid "6 Months hence"
+msgstr "6 Maande vandaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2637
+msgid "12 Months hence"
+msgstr "12 Maande vandaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2638
+msgid "Print a recall saying the patient is due now."
+msgstr "Druk 'n herroep wat se die pasient het tans 'n opvolg datum."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2639
+msgid "Print letter Now"
+msgstr "Druk brief nou"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2640
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2789
+msgid "Accounts"
+msgstr "Rekeninge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2641
+msgid "\"A\" letter"
+msgstr "\"A\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2642
+msgid "\"B\" letter"
+msgstr "\"B\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2643
+msgid "\"C\" letter"
+msgstr "\"C\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2644
+msgid "Duplicate Receipt"
+msgstr "Duplikaat kwitansie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2645
+msgid "Date"
+msgstr "Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Bedrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2647
+msgid "Print a receipt - useful for duplicates."
+msgstr "Druk 'n kwitansie - nuttig vir duplikate."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2733
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2754
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2757
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2759
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2761
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2773
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2781
+msgid "Print"
+msgstr "Druk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2649
+msgid "Print A Statement of Account"
+msgstr "Druk 'n Staat van Rekening"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2650
+msgid "Previous Correspondence"
+msgstr "Vorige Korrospondensie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2652
+msgid "Referrals (Letters about the patient)"
+msgstr "Verwysings (Briewe oor die pasient)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2654
+msgid "Export this record card"
+msgstr "Voer hierdie rekord kaart uit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2655
+msgid "Print a patient's static chart."
+msgstr "Druk 'n pasient statiese kaart."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2656
+msgid "Print the Patient's static Chart"
+msgstr "Druk 'n Pasient statiese kaart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2657
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Druk 'n opsomming van die pasient se notas (vir tuis gebruik). Sluit geen "
+"fooi details in nie."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2658
+msgid "Print A Summary of the Notes"
+msgstr "Druk 'n Opsomming van die Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2659
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Druk 'n opsomming van die pasient se notas. Sluit FOOI en BERAMING details "
+"in."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2660
+msgid "Print Detailed Notes"
+msgstr "Druk Dedetailleerde Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2661
+msgid "Correspondence"
+msgstr "Korrespondensie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2662
+msgid "Account"
+msgstr "Rekening"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2663
+msgid "Print &Estimate"
+msgstr "Druk &Beraming"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2664
+msgid "Print &Account"
+msgstr "Druk &Rekening"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2665
+msgid "Take &Payment"
+msgstr "Neem &Betaling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2667
+msgid "Print A GP17"
+msgstr "Druk 'n GP17"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2668
+msgid "Custom Estimate on File"
+msgstr "Doelgeboude Beraming op Leer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2669
+msgid "Patient's Diary"
+msgstr "Pasient Dagboek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2671
+msgid "&New"
+msgstr "&Nuwe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2672
+msgid "Schedule"
+msgstr "Skedule"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2673
+msgid "Modify"
+msgstr "Wysig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2674
+msgid "Find in Book"
+msgstr "Soek in Boek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2675
+msgid "Print Card"
+msgstr "Druk Kaart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2676
+msgid "Clear/Cancel"
+msgstr "Maak skoon/Kanselleer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2677
+msgid "Appointment Shortcuts"
+msgstr "Afspraak Kortsluitings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2678
+msgid "Reception"
+msgstr "Ontvangs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2728
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:429
+msgid "BPE"
+msgstr "BPE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2680
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2727
+msgid "New"
+msgstr "Nuwe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2681
+msgid "Exam"
+msgstr "Ondersoek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2682
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2683
+msgid "Charge"
+msgstr "Verander"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2684
+msgid "Med Notes"
+msgstr "Mediese Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2685
+msgid "Clinical Summary"
+msgstr "Kliniese Opsomming"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2686
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2687
+msgid "minimum"
+msgstr "minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2688
+msgid "medium"
+msgstr "medium"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2689
+msgid "maximum"
+msgstr "maksimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2691
+msgid "Charts View"
+msgstr "Kaart Aansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Staties"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2693
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2721
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Plan"
+msgstr "Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2695
+msgid "Charts"
+msgstr "Kaart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2696
+msgid "Estimate"
+msgstr "Beraming"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2697
+msgid "Course Management"
+msgstr "Kursus Bestuur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2698
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "Kursus Tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2699
+msgid "New Course Of Treatment"
+msgstr "Nuwe Kursus van Behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2700
+msgid "Close Course"
+msgstr "Sluit Kursus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2701
+msgid "Estimate Management"
+msgstr "Beraming Bestuur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2702
+msgid "Custom Estimate Letter"
+msgstr "Doelgebou Beraming Briewe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2703
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2706
+msgid "ReCalculate Estimate"
+msgstr "Her-bereken Beraming"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2707
+msgid "Standard View"
+msgstr "Standaard Aansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2708
+msgid "Expanded View"
+msgstr "Ontvou Aansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2709
+msgid "Plan/Completed (standard)"
+msgstr "Plan/Voltooid (standaard)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2710
+msgid "Plan/Completed (expanded)"
+msgstr "Plan/Voltooid (ontvou)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2711
+msgid "Treatment Planning"
+msgstr "Behandeling Beplanning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2712
+msgid "Perform Exam"
+msgstr "Doen Ondersoek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2713
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2714
+msgid "X-Rays"
+msgstr "X-strale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2715
+msgid "Dentures"
+msgstr "Gebit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2716
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2717
+msgid "Other Tx"
+msgstr "Ander Behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2718
+msgid "Add Custom Item"
+msgstr "Voeg Doelgeboude Item by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2724
+msgid "Estimate/Plan"
+msgstr "Beraming/Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2725
+msgid "Choose Data"
+msgstr "Kies Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2726
+msgid "Chart Date"
+msgstr "Kaart Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2729
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2730
+msgid "History Options"
+msgstr "Geskiedenis Opsies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2731
+msgid "debug"
+msgstr "herstel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2732
+msgid "changes only"
+msgstr "veranderinge alleenlik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2734
+msgid "History"
+msgstr "Geskiedenis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2735
+msgid "Memos"
+msgstr "Memo's"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2736
+msgid "Today's Notes"
+msgstr "Vandag se Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2737
+msgid "Enter Notes."
+msgstr "Voer Notas in."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2738
+msgid "Save the changes made to this record."
+msgstr "Stoor veranderinge van die rekord."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2739
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:67
+msgid "Save Changes"
+msgstr "Stoor veranderinge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2740
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2741
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2766
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2742
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "Frase Boek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2743
+msgid "Ins"
+msgstr "Ins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2744
+msgid "Patient Database"
+msgstr "Pasient Databasis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2745
+msgid "Go To Today"
+msgstr "Gaan na Vandag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2746
+msgid "Week"
+msgstr "Week"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2747
+msgid "Month"
+msgstr "Maand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2748
+msgid "show emergency spaces"
+msgstr "wys ongevalle spasies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2749
+msgid "show lunch breaks"
+msgstr "vertoon etenstye"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2750
+msgid "show appointments"
+msgstr "wys afsprake"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2751
+msgid "Font Size"
+msgstr "Skrifgrootte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2752
+msgid "View Mode"
+msgstr "Aansig Metode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2753
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2756
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2758
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2760
+msgid "Book"
+msgstr "Boek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2762
+msgid "Day View"
+msgstr "Dagaansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2763
+msgid "Week View"
+msgstr "Weekaansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2764
+msgid "Month View"
+msgstr "Maandaansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2765
+msgid "Year View"
+msgstr "Jaaraansig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2767
+msgid "Appointments / Diary"
+msgstr "Afsprake / Dagboek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2770
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2777
+msgid "Registered Dentist"
+msgstr "Registreerde Tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2771
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2779
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "Go"
+msgstr "Gaan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2772
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2780
+msgid "Print the Data"
+msgstr "Druk die Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2774
+msgid "Cashbook"
+msgstr "Kasboek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2778
+msgid "Treating Dentist / Hygenist"
+msgstr "Behandelende Tandarts / Hegienist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2782
+msgid "Daybook"
+msgstr "Dagboek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2784
+msgid "Load Table"
+msgstr "Laai Tabel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2785
+msgid "Print Selected Letters"
+msgstr "Druk Verkose Briewe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2786
+msgid "TOTAL OUTSTANDING"
+msgstr "TOTAAL UIITSTAANDE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2788
+msgid "Print Table"
+msgstr "Druk Tabel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2790
+msgid "choose month"
+msgstr "kies maand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2791
+msgid "MM/yyyy"
+msgstr "MM/yyyy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2792
+msgid "Find Patients"
+msgstr "Soek Pasiente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2793
+msgid "Recalls"
+msgstr "Herroep"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2794
+msgid "Show All Fee Scales"
+msgstr "Wys Alle Fooi Skale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2795
+msgid "Private FeeScale"
+msgstr "Privaat Fooi Skaal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2796
+msgid "NHS FeeScale 2008"
+msgstr "NHS Fooi Skaal 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2797
+msgid "Show All Items"
+msgstr "Wys Alle Items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2798
+msgid "Favourite Items Only"
+msgstr "Gunsteling Items Alleenklik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2799
+msgid "Expand All Sections"
+msgstr "Ontvou Alle Afdelings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2800
+msgid "Compress All Sections"
+msgstr "Verklein Alle Afdelings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2801
+msgid "Search for an Item"
+msgstr "Soek vir 'n Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2805
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2806
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2807
+msgid "Open"
+msgstr "Open"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2808
+msgid "Default Columns"
+msgstr "Oorspronklike Kolomme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2809
+msgid "Show Geek Column"
+msgstr "Wys Griekse Kolomme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2810
+msgid "All Columns"
+msgstr "Alle Kolomme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2812
+msgid "Feescales"
+msgstr "Fooi Skale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2813
+msgid "Reply"
+msgstr "Antwoord terug"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2814
+msgid "Delete"
+msgstr "Verwyder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2815
+msgid "New Topic"
+msgstr "Nuwe Onderwerp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2816
+msgid "Search by keyword"
+msgstr "Soek met sleutelwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2820
+msgid "Search by initials"
+msgstr "Soek met voorletters"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2824
+msgid "FORUM"
+msgstr "FORUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2826
+msgid "&Help"
+msgstr "&Help"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2827
+msgid "&Preferences"
+msgstr "&Voorkeure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2828
+msgid "Tools"
+msgstr "Nutsgoed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2829
+msgid "&Export Patient to disk"
+msgstr "&Uitvoer van Pasient na skyf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2830
+msgid "&Import Patient from disk"
+msgstr "&Invoer Pasient vanaf skyf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2831
+msgid "About &OpenMolar"
+msgstr "Omtrent &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2832
+msgid "&About QT"
+msgstr "&Omtrent QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2834
+msgid "Appointment Font Size"
+msgstr "Afspraak Skrifgrootte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2835
+msgid "Table View For Charting"
+msgstr "Tabel Aansig vir Grafieke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2836
+msgid "Clear Today's Emergency Slots"
+msgstr "Vee vandag se ongevalle spasies skoon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2837
+msgid "Test Print an NHS Form"
+msgstr "Toets druk 'n NHS Vorm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2838
+msgid "options"
+msgstr "Opsies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2839
+msgid "log queries in underlying terminal"
+msgstr "teken navraag aan in die onderliggende terminaal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2840
+msgid "Set Clinician"
+msgstr "Stel Klinikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2842
+msgid "Choose Database"
+msgstr "Kies Databasis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2843
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2844
+msgid "Select && Print Daylists"
+msgstr "Selekteer && Druk Daglys"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2845
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Medies Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Dokter se details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Dokter se Naam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Adres / Tel Nr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Bekende Kondisies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Huidige Medikasie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Vorige Medikasie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Allergies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Hart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Longe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Lewer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+msgid "Bleeding"
+msgstr "Bloeding"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Niere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Narkose / operasies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Merk as nagegaan Vandag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Nagegaan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Merk Pasient as Mediese Risiko"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Nuwe CPITN telling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Nuwe Kursus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "Begi 'n nuwe Behandelings Kursus met die volgende Kriteria?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Kontrakteurde Tandarts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Aanvaar Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:260
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welcome "
+"to the openMolar settings wizard.</p>\n"
+"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This will "
+"set your system password, configure your mysql server, and install a small "
+"demo database if required.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welkom by "
+"die openMolar opstel towenaar.</p>\n"
+"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Hierdie "
+"sal u sisteem wagwoord, mysql dienner konfigurasie en 'n klein demonstrasie "
+"databsis opstel indien u dit verkies.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:270
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "OK, continue"
+msgstr "Ok, gaan voort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "show password"
+msgstr "wys wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:271
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr "Voorsien wagwoord om ongemagtigde gebruik van program te voorkom."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:272
+msgid "Where is your mysql server located?"
+msgstr "Waar is jou mysql bedienner geplaas?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:275
+msgid "Port"
+msgstr "Poort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:276
+msgid "3306"
+msgstr "3306"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:278
+msgid "Yes please"
+msgstr "Ja asseblief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:279
+msgid "No, I have a database already, continue."
+msgstr "Nee. Ek het 'n databasis alreeds. Gaan voort."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:280
+msgid "Would you like to create a demo openmolar database now?"
+msgstr "Wil u graag 'n openmolar databasis nou stig?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:281
+msgid ""
+"Please enter a mysql user who has privileges for the openmolar database."
+msgstr ""
+"Voorsien die mysql gebruiker wat magtiging het om openmolar databasis te "
+"gebruik."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:282
+msgid "Database Name"
+msgstr "Databasis Naam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:285
+msgid "OMuser"
+msgstr "OM gebruiker"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:286
+msgid "(mysql)Password"
+msgstr "(mysql)Wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "Test this connection to this database"
+msgstr "Toet hierdie skakel met die databasis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... you are all set to "
+"go.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">You will be presented with "
+"a login screen.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">I trust you remember your "
+"password?</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">If you created a demo "
+"database... </p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">enter <span style=\" font-"
+"weight:600; text-decoration: underline;\">user</span> into the user1 field "
+"of the login screen.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... alles is reg om "
+"voort te gaan.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">U sal voorsien word van 'n "
+"inteken skerm.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Ek vertrou u kan u "
+"wagwoord onthou?</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">As u 'n demonstrasie "
+"databasis geskep het... </p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">gaan binne <span style=\" "
+"font-weight:600; text-decoration: underline;\">user</span> into the user1 "
+"field of the login screen.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Save settings and launch openmolar"
+msgstr "Stoor opsies en begin openmolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+msgid ""
+"To create a database, please enter the password of your ROOT mysql user."
+msgstr ""
+"Om die databasis te stig, voorsien die wagwoord van die ROOT mysql gebruiker."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Create openmolar_demo database, and continue"
+msgstr "Stig openmolar_demonstrasie databasis en gaan voort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "NHS Vorm Druk Opsies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Linker Kantruimte Wydte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Boonste Kantruimte Wydte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:126
+msgid "Patient Finder"
+msgstr "Pasient Ontdekker"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:127
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+"Vul 'n paar van die volgende velde in om 'n lys van moontlike pasiente te kry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:128
+msgid "Repeat Last Search"
+msgstr "Herhaal Laaste Soek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "SNO or Surname"
+msgstr "SNO of Van"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Tik die volle naam of die eerste paar letters van die naam.\n"
+"\n"
+"As u onseker is van die spelling, tik dan die VOLLEDIGE naam\n"
+"en vergelyk met die \"klink soos\" area."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:142
+msgid "check to search for a similar sounding name"
+msgstr "merk om soortgelyke naam te soek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:136
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:144
+msgid "Date of birth in format dd/mm/yyyy"
+msgstr "Datum van Geboort in die formaat dd/mm/yyyy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "Address includes"
+msgstr "Adres ingesluit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr "openMolar sal die lyn1 en lyn2 deursoek vir die teks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Telephone"
+msgstr "Telefoon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr "openMolar sal tel1, tel2 en selfoon deursoek vir hierdie nommers"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "search for a postcode"
+msgstr "soek vir poskode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Betalings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Betalings vir behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Kontant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Tjek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Debiet Kaart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Kredietkaart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Ander Betalings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Diverse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "Jaarlikse HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+msgid "Miscellaneous"
+msgstr "Allerlei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Bedrag wat op die kwitansie verskyn (lees alleenlik)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Verhoog Toestemming"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Toesighouer Regte word "
+"benodig om hierdie aksie uit te voer.<br />Sluitel wagwoord "
+"in.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr "Narkose Gebruik - Scandonest Plain"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr "Narkose Gebruik - Citanest"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr "Narkose Gebruik - Septonest + 1:100,000 Adrenaline (Gold)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr "Narkose Gebruk - Septonest + 1:200,000 Adrenaline (Green)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr "Narkose Gebruik - Lignocaine + 1:80,000 Adrenaline"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr "Herstel deur Fuji IX te gebruik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1117
+msgid "Question"
+msgstr "Vraag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Druk Formaat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimaal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Volledige Bladsy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Herhaal soveel keer as nodig - bedrag sal ophoop"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:73
+msgid "Related Patients"
+msgstr "Verwante Pasiente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:74
+msgid "This Patient"
+msgstr "Hiedie Pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:75
+msgid ""
+"F\n"
+"A\n"
+"M\n"
+"I\n"
+"L\n"
+"Y"
+msgstr ""
+"F\n"
+"A\n"
+"M\n"
+"I\n"
+"L\n"
+"I\n"
+"E"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:81
+msgid ""
+"A\n"
+"D\n"
+"D\n"
+"R\n"
+"E\n"
+"S\n"
+"S"
+msgstr ""
+"A\n"
+"D\n"
+"R\n"
+"E\n"
+"S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:88
+msgid ""
+"S\n"
+"I\n"
+"M\n"
+"I\n"
+"L\n"
+"A\n"
+"R"
+msgstr ""
+"I\n"
+"D\n"
+"E\n"
+"N\n"
+"T\n"
+"I\n"
+"E\n"
+"S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:65
+msgid "Confirmation Required"
+msgstr "Bevestiging Benodig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:66
+msgid "What's Changed?"
+msgstr "Wat het Verander?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:68
+msgid "Discard Changes"
+msgstr "Los Veranderinge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:69
+msgid "Continue Editing"
+msgstr "Voort met redigeering"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Plaas 'n memo oor hierdie Pasient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr "Verval Beleid"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "Verval nie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Verval op hierdie datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Sigbaar met"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Alles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr "Speekkamer Toerusting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr "Ontvangs Toerusting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Outeur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "Selekteer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Delete this memo when I close this"
+msgstr "Verwyder memo wanneer ek dit toe maak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Voer 'n afspraak in"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Afspraak met"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Lengte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 uur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 uur en 15 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 uur en 20 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 uur en 30 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 uur en 45 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 ure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 ure en 30 minute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 ure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "ander"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Kombineer Afspraak met Hegienist?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Rede 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Rede 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Rede 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Nota vir Klinikus (opsioneel)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Skeduleer Afspraak nou"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+msgid "System Password"
+msgstr "Sisteem Wagwoord"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "User 1(required)"
+msgstr "Gebruiker 1(vereis)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:139
+msgid "User 2 (optional)"
+msgstr "Gebruiker 2 (opsioneel)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:140
+msgid "Surgery Machine"
+msgstr "Speerkamer Toerusting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:141
+msgid "Reception Machine"
+msgstr "Ontvangs Toerusting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:142
+msgid "Show Advanced Options"
+msgstr "Vertoon gevorderde opsies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:143
+msgid "Chose a server"
+msgstr "Kies 'n bedienner"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr "Stel Spreekkamer Nommer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Spreekkamer Een"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Spreekkamer Twee"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Spreekkomer Drie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Neil se Take"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Redigeer Verkose Take"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Voeg Nuwe Take by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:121
+msgid "ToothId"
+msgstr "Tand-Id"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:122
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "Plaque"
+msgstr "Plaak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+msgid "Recession"
+msgstr "Resessie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+msgid "Mobility"
+msgstr "Mobiliteit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+msgid "Copy &All"
+msgstr "Kopieer &Alles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:220
+msgid "delete tooth data"
+msgstr "verwyder tand data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+msgid "Apply and move Back a tooth"
+msgstr "Pas toe en gaan terug na tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "Apply & Move to Next Tooth"
+msgstr "Pas toe & gaan na volgende tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:320
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:222
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:223
+msgid "!Mobile Tooth"
+msgstr "!Mobile Tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:224
+msgid "!Early Caries"
+msgstr "!Voee Karies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+msgid "!Filling Missing"
+msgstr "!Stopsel uit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "!Chipped"
+msgstr "!Afgesplinter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+msgid "!Cracked"
+msgstr "!Gekraak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:322
+msgid "DELETE COMMENTS"
+msgstr "VERWYDER KOMMENTAAR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "AM"
+msgstr "Vm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "Apply & Add Another Item"
+msgstr "Pas toe & Voeg nog 'n Item by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "Toggle between static and plan"
+msgstr "Wissel tussen staties en plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "toggle between deciduous and permanent tooth"
+msgstr "wissel tussen tydelike en permanente tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Dec"
+msgstr "Des"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "denture tooth"
+msgstr "vals tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+msgid "tooth missing"
+msgstr "tand uit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "extract (plan only!)"
+msgstr "ekstraksie (plan alleenlik!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "root treatment"
+msgstr "wortel behandeling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+msgid "porcelain veneer"
+msgstr "porselein fineer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Fisuur Verseellaar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Bridge Elements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Bonded Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Bonded Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Lava Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Gold Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Gold Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:33
+msgid "Other Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:34
+msgid "Other Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Root Canal"
+msgstr "Wortel Kannaal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Extraction"
+msgstr "Ekstraksie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Surgical Extraction"
+msgstr "Chirurgiese Ekstraksie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:52
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Tooth Missing"
+msgstr "Tand uit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Denture Tooth"
+msgstr "Gebit Tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Root Present"
+msgstr "Wortel teenwoordig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:102
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:104
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:106
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:108
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:123
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:76
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:289
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:273
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:280
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:281
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:290
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:29
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:77
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:87
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:36
+msgid ""
+"<p>You already have an exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:61
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:80
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:83
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:111
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:122
+msgid "unknown exam type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:141
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:250
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:226
+msgid ""
+"<p>for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:229
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:263
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:381
+msgid "ERROR IN chartNavigation- please report"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:441
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:691
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:742
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:745
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:757
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:791
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:803
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:842
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:850
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:858
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:860
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:867
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:895
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:961
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:980
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2820
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:921
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:925
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:948
+msgid ""
+"<tr><td colspan=\"11\"></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\"><b>£ %.02f</b></td></tr>\n"
+"</table></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:985
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1005
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1009
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1099
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1118
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1601
+msgid "Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1991
+msgid "Today's Patients (%s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1994
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2001
+msgid "loading today's patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2197
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2322
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2335
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2810
+msgid ""
+"POTENTIALLY SERIOUS CONFUSION PROBLEM\n"
+"WITH PT RECORDS %d and %d"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2856
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:46
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:90
+msgid "hello"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:241
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:242
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:243
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:244
+msgid "DOUBLE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:245
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:246
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:247
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:248
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:249
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:250
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:251
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:252
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:253
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:254
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:255
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:256
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:257
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:258
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:259
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:387
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:387
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:387
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:387
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:388
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:388
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:388
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:398
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:399
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:400
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:401
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:402
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:403
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:404
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:405
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:406
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:407
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:408
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:409
+msgid "December"
+msgstr ""
+
+#~ msgid "TOTAL"
+#~ msgstr "TOTAAL"
+
+#~ msgid "Memos and Tasks"
+#~ msgstr "Memo's en Take"
diff --git a/src/openmolar/locale/da.po b/src/openmolar/locale/da.po
new file mode 100644
index 0000000..f7f86b1
--- /dev/null
+++ b/src/openmolar/locale/da.po
@@ -0,0 +1,6182 @@
+# Danish translation for openmolar
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-09-11 20:42+0000\n"
+"Last-Translator: AJenbo <anders at jenbo.dk>\n"
+"Language-Team: Danish <da at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-09-12 04:54+0000\n"
+"X-Generator: Launchpad (build 13900)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "nødsituation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "Røntgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "andet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "tilpasset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Kunne ikke indlæse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "ikke fundet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Emne"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Til"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Fra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Besked"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Dato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Titel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Fornavn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Efternavn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Alder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Adresse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "By"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Tandlæge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "land"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Fejl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Rådgivende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Adgangskoderne er ikke ens!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Opret database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "bekræft"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Første kørsel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Start"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Slutning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Alle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Middag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Fraværende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Bekræft"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Spørgsmål"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Dato og tid"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Note"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Afkrydsningsfelt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Timer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Afslut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "Tekstetiket"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Tilføj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Indstillinger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Nødsituation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Telefonopkald"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Starttidspunkt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Ændre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Startdato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Tid"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Bro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Øvre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Andet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Nedre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Bruger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Adgangskode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "adgangskode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Sprogvælger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Voksen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "kør"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Vælg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Guld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Midlertidig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Annullér"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Gebyr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Slutdato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Beskrivelse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Kat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Vis alle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "kode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Færdig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Noter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "knækket tand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Smerte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Følsomme tænder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Guide"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Ny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Emne"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Kommentar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Hvad vil du foretage dig?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Hjemmeside"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-post"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Id"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Initialer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Navn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Brugere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Registrering"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Mandag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Tirsdag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Onsdag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Torsdag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Fredag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Lørdag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Søndag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Kategori"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Kategori navn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Billede"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Ingen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Under 18"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Fil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Søg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Detaljer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Køn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "K"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Mere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "send en fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Adresse1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "e-post"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Adresse2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Beskæftigelse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Postnummer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Endnu ikke implementeret."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Familie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Status"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Aktiv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Redigér"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Privat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Kontrakt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Beløb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Udskriv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Korrespondance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Konto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Ny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Ændr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Røntgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "medium"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "maksimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Statisk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Diagrammer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "Skøn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Røntgenbilleder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr "Kurser"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Historik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Huskesedler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Gem ændringer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Opgaver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "Gå til idag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Dagvisning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Ugevisning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Måned"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Månedvisning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "År"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Kør"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Kredit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "er mellem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "og"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Udskriv breve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Åbn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Svar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Slet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Nyt emne"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Fil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Hjælp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Indstillinger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Værktøjer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "indstillinger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Vælg database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Skift sprog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Skriftstørrelse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Hjerte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Markeret"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Nyt kursus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "vis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Port"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Databasenavn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Tilbage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Fortsæt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Moderat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "mm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Fuldført"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Betalinger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Kontant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Check"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Kreditkort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Diverse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "osv..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Haster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "SHSM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Bemærk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0,00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Anvend ændringer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Penge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Datoer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Bekræftelse krævet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Alle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Forfatter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 time 30 minutter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 timer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 timer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr "ændr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr "Mobilitet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "Kopier &alle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr "AM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr "GL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr "Po"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr "Dec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Elementer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr "DATO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Vis historik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Venstre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Højre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr "luk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Udtrækning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "fejl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Skjul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr "Afrikaans"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr "Franske"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr "Tysk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr "Ungarnsk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr "Italiensk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr "Polsk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr "Portugisisk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr "Slovakisk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr "Spansk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr "Tyrkisk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr "Planlagt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Element"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "spørgsmål"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "O.k."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Anvend ændringer?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr "Slet element"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Fjern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr "Genåben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr "Størrelse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr "åbner"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr "Kollaps alt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Anvend nu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Tilføj ny bruger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Januar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Februar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Marts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "April"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Maj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Juni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Juli"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "August"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "September"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Oktober"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "November"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "December"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "I dag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "I morgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "I går"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr "Revision"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/de.po b/src/openmolar/locale/de.po
new file mode 100644
index 0000000..f652681
--- /dev/null
+++ b/src/openmolar/locale/de.po
@@ -0,0 +1,6472 @@
+# German translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2012-05-27 12:07+0000\n"
+"Last-Translator: Daniel Winzen <d at winzen4.de>\n"
+"Language-Team: German <de at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-28 05:20+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "Notfall"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Prüfung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "Paro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "Röntgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "Anäthesie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "weitere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "Angepasst/benutzerdefiniert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Modellguss"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Fehler - unbekannter Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Gebühren-Tabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Laden fehlgeschlagen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "nicht gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Thema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "An"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Von"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Nachricht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Altersbefreiung wurde entfernt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Brief Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Serien-Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Titel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Vorname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Nachname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Alter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Anschrift"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Ort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Familie Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Postleitzahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Zahnarzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Landkreis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Recall Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Falls Sie dies noch einmal ausführen müssen, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "löschen Sie die Datei openmolar.conf in "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "Falls Sie diesen Assistenten erneut ausführen müssen, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "z.B. wenn sich Ihr Server-Standort ändert, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "oder Sie ein neues Passwort benötigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "Typ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "in der Konsole oder löschen Sie die Datei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "Für eine sichere Installation sollten Sie die Datei verschieben nach"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Fehler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Hinweis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Passwörter stimmen nicht überein!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Datenbank erstellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Möchten Sie mit diesen Einstellungen eine Demodatenbank erstellen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Datenbank erfolgreich erstellt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Datenbank konnte NICHT erstellt werden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Willkommen im openMolar Einstellungs-Assistenten."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Festlegen des Anwendungs-Passwortes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Server-Standort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Datenbank-Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Einstellungen speichern und schließen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Anlegen einer Beispiel-Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Datenbank erstellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "Die Verbindung warf einen Fehler auf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Erfolg!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "Verbindung zur Datenbank %s wurde hergestellt."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"Verbindungsversuch gescheitert, \n"
+"bitte prüfen Sie die Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Fehler bei Einrichtung der Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "FEHLER"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Klient aktualisieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Leider können Sie diese Version von openMolar nicht starten,\n"
+"da Ihre Datenbank-Version höher entwickelt ist.</p>\n"
+"<p>Der Klient benötigt Version %s, aber die Datenbank ist %s</p>\n"
+"<p>Bitte aktualisieren Sie openMolar jetzt</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Fortfahren ohne Aktualisierung?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"<p>Dieser openMolar Klient ist älter als Ihre\n"
+"der Datenbank- Version <br />der Klient ist Version %s,\n"
+"aber die Datenbank hat schon %s<br />Allerdings sind die Unterschiede nicht "
+"Kritisch,\n"
+"und Sie können fortfahren, wenn Sie möchten</p>\n"
+"<p><i>Aktualisieren ist aber empfohlen</i></p>\n"
+"<hr /><p>Möchten Sie fortfahren?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Dies ist nicht die Standard-Datenbank - Sind Sie sicher?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "bestätigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "STANDARD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Ausgewählter Server"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center> <p>\n"
+"Dies scheint die erste Ausführung von openMolar zu sein. <br />\n"
+"Bevor Sie diese Anwendung benutzen muss eine Einstellungsdatei erstellt "
+"werden, <br />\n"
+"damit openMolar weiß, wo sich Ihr MySQL-Server befindet <hr />\n"
+"Wenn Sie keine Datenbank haben, werden Sie aufgefordert, eine zu "
+"erstellen<</ p>\n"
+"Sind Sie bereit fortzufahren? </ center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Erster Start"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Kann OpenMolar nicht starten !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Auf Wiedersehen!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Login-Fehler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Falsche<br />User/Passwort<br />\n"
+"Kombination!<br />Bitte neu eingeben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>DATENBANK FEHLER </p>\n"
+"<p>Anwendung kann nicht starten</p>Fehler %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Unter Behandlung - Aktueller Kostenvoranschlag</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "vorhergehender Kostenvoranschlag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "Keine Daten zum Kostenvorschlag gefunden</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<Tabellen-Breite =\"100%\" Rand =\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ANGEBOT</h3></td></tr>\n"
+" <tr><th>No.</th><th>Beschreibung</th><th>Kategorie</th>\n"
+" <th>Type</th><th>Kurs</th>\n"
+" <th>Gebühr</th><th>Gebühr</th><th>Abgeschlossen</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Vorheriger Behandlungsablauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Beginn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Ende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Keine Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "ABGESCHLOSSEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr "Relevante Bücher"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr "Ausgewählte(s) Buch/ Bücher"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Verfügbare Zahnärzte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr "Verfügbare Helferinnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Verfügbare Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Manuelle Auswahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Jeder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Mittagspause"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "Teambesprechung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Abwesend"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr "Bitte geben Sie einen Behandler ein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Bestätigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "Alle vergangenen Termine löschen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "von dem Terminkalender"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Termin erfolgreich entfernt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Fehler beim Entfernen des vorgeschlagenen Termins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Kein Termin ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr "Ungeplanten Termin löschen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Bestätigen sie das Löschen des Termins am"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "mit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Frage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr "Aus Terminkalender entfernt - für Neuvergabe behalten?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "Fehler bei der Verarbeitung des Termins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr "Fehler bei der Entfernung aus der Patientenkarte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr "Fehler beim Entfernen aus dem Termin- Bestellbuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr "Fehler beim Einfügen in die Patientenkartei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr "Bitte selektieren Sie einen Termin für die Vergabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "Termin ist bereits vergeben für"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr "wurde erreicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr "der als Endeintrag im Buch gekennzeichnet ist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr "keine Behandler ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr "keine Termine von"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr "Minuten oder mehr auswählbar für sie ausgewählte Woche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "Bitte einen Termin zum Einfügen auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr "Bitte einen anderen Termin auswählen - dieser ist vergeben!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "Sie haben einen Termin gewählt mit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "Ist das richtig?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr "Bestätigen Sie die Terminvergabe für"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr "Fehler bei Rückübertragung des Termins in die Patientenkartei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "Fehler bei Terminvergabe - Entschuldigung !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr "Sie können keine Termine in der Vergangenheit vergeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr "zeigt die laufende Woche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr "zeigt den laufenden Tag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "Nichts anzuzeigen !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr "Wollen Sie die selektierte Lücke wieder freigeben?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "Blockieren unmöglich - wurde das Buch irgendwo geändert?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+"kein Termin kann festgelegt werden - wurde das Buch woanders geändert?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr "Keine Änderung der Patientenkartei möglich!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "frei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "Zeige vergangene Termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Datum & Uhrzeit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Dauer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Notiz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"Bitte zunächst die Behandlung im Plan eintragen und dann vervollständigen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr "Kann die Karte nicht aktualisieren - dies sollte nicht passieren !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr "Sie müssen in der statischen Karte sein, um den Zahnstatus zu ändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr "BPE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr "KEINE KARTEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Formular"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Auswahlfeld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Behandlungsplanung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Ergänzen Sie den Behandlungsplan um die folgenden Behandlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Termindauer wählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Stunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Tagesansicht öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Datum öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Tagesnotiz - optional"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Tagesanfang"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Lücke für Vormittags- Notfälle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Fertigstellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Lücke für Nachmittags- Notfälle "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Tagesende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Terminvergabe- Werkzeuge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr "Bewege den letzen Tag für die Terminvergabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr "Buch vergrößern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "abgelaufene Wochen löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Standard Arbeitswoche des Behandlers bearbeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Tagesablauf öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr "füge geplante Blöcke ein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Beenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Termin-Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr "Hinzufügen von Terminkombinationen zum Patienten- Bestellbuch."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "Textfeld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr "Behandler - Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+"Wenn Sie dieses Tagesschema in die Zwischenablage kopieren, können Sie eine "
+"leere Kopie dieses Tages erzeugen. Die ist nützlich für die Erweiterung von "
+"Büchern."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "In die Zwischenablage kopieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr "Einfügen der gespeicherten Werte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Einfügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Möchten Sie diese Lücke ganz (oder teilweise) blockieren?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Blockanfang"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Blockende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Text anlegen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Blockiert//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Notfall"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "reservierte Behandlungszeit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr "Zeit erfassen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Telefonanruf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Block einfügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Patienten in die Lücke einsetzen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Beginn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Ausgewählter Patient ist<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Ändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Grund des Termins ist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Bekannten Patienten einsetzen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr "Block-Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr "Einfügen eines Blocks in das Bestellbuch für mehrere Tage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Anfangsdatum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "letztes Datum (einschließlich)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Zeit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr "Text eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr "Tage eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Brücke - Prothetik Beginn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Keramik / Edelmetall"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (oder Vollkeramik)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Kunstoff verankert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Brücke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Oberkiefer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Voll (Kunststoff)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Voll (Modellguß)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Teil (Kunststoff)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Teil (Modellguß)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Sonstiges"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Unterkiefer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Zahnersatz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Serienversand - Optionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Datumsformat für die Briefe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Voll, Tag, Monat, und Jahr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "nur Monat und Jahr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "verwendetes Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Heutiges Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr "Das aktuelle Recalldatum des Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Diese Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Datenbank wechseln"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Host"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Passwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "Passwort anzeigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "Passwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Dokument wählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Wählen Sie ein Dokument zum Anzeigen aus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+"NHS (National Health Service) Formular for die Entlohnung April 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+"NHS (Nationaler Gesundheitsdienst Großbritannien) \"Infomations Führer\" "
+"2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "NHS Formular für die Entlohnung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "NHS \" Informations- Führer\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "Wähle Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Sprachauswahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Wählen Sie eine der "
+"verfügbaren Sprachen.<br />Bitte beachten Sie, dass einige noch nicht "
+"vollständig übersetzt wurden.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Bemerkung - wenn Ihre bevorzugte Sprache nicht vorhanden sein sollte (oder "
+"unvollständig ist), besuchen Sie https://launchpad.net/openmolar und helfen "
+"Sie mit!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Vielen Dank an alle, die "
+"bei den Übersetzungen von openMolar mitgeholfen haben,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">und an diejenigen die "
+"hinter den GNU-Tools stehen, sowie an das rosetta Team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">die dies alles überhaupt "
+"möglich gemacht haben.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Zahn auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Bitte den Zahn für die geplante Behandlung auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Erwachsener"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr "Milchgebiß"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+"Bitte Füllungsflächen eingeben ( z.B. MOD) für einen Plausbilitätstest "
+"Ihrer Honorarstufen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+"Gebenb Sie einen Füllungs- oder Restaturations code ein, und überprüfen Sie, "
+"ob Ihre Honorartabelle den richtigen Leitungscode findet."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "Los!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Behandlung abschließen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "Mehrfache Behandlungen abschließen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Letzter Behandlungstag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "UNBEKANNTER PT - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"Sie haben keine weiteren Behandlungen vorgeschlagen, dennoch scheint es, der "
+"Patient steht \"unter Behandlung\"."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Erwarteter Abschlußtermin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Diese Datum jetzt "
+"anwenden?<br />(Kurs kann später erneut geöffnet werden, wenn "
+"notwendig)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Welcher Zahnarzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr "Ausdruck eines GB17 Formulars mit der Zahnarzt- Vertrags Nr. ? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Vorheriger Kurs (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Neuer Kurs ( keine Termine)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Wählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Gold"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Kunststoff"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporär"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Verblockung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Verbondet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Neu zementieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Individuelles Element"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Anzahl an Elementen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Gebühr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Beschreibung der Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Tageslisten Druck-Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+"Bitte Termine und Behandler für den Ausdruck der Tagesliste auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Enddatum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "Alle Behandler auf eine Seite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Ein Behandler pro Seite - minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Ein Behandler pro Seite - Volle Seite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Notizen bearbeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Freitag, der 25. Dezember 2009</p>\n"
+"<p align=\"center\">Weihnachten</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Hauptnotizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Behandler Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr "Biref Text Eintrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Bitte beginnen Sie mit dem Textkörper für Ihren Brief hier.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " Vollständig "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Beschreibung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Kat."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Typ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr "cset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Gebühr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Alle aufklappen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Elemente aufteilen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "Intraoral-aufnahmen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Abgeschlossen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr "Untersuchungs-Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr "Umfangreiche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr "Volle Fallbewertung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Untersuchungstermin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr "Beschwerden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr "keine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Gebrochener Zahm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr "Probleme mit Zahnersatz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr "Füllungsverlust"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Schmerz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Empfindliche Zähne"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr "Weichteile untersucht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr "DHI gegeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr "Tasten nach den oberen Eckzähne - OK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Neues Element zur Preistabelle hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Patientenzahlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr "Benutzercode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regulärer Ausdruck"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "mehrer ereguläre Ausdrücke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Regelungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr "Regelungs- Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr "Honorarstufen Kategorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "Kategorie für Behandlungsplanung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Patientenbeschreibung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Klinische Beschreibung(en)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Brutto Honorar (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Netto Honorat (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"unten steht das XML für diesen Eintrag (so sind sie in der Datenbank "
+"gespeichert)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Original (nur lesen)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Neu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr "Überprüfe die Honorar Beschreibungs Logik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Termindauer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Platz vor dem Termin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Platz nach ndem Termin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Eingabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Thema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Kommentar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 Buchstaben)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Helferinnen - Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Scaling und Polieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Ausgedehntes Scaling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Teil 1 von 2 Besuch Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Teil 1 von 2 Besuch Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Zahnarzt/ Helferin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr "Kurettage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - Datenbank Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Was möchten Sie tun?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Eine bestehende Datenbank verändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Eine neue Datenbank von einer beschädigten Vorlage erzeugen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Erzeuge eine neue Datenbank (von einer bekannten Vorlage)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr "Sprechstunden Zeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr "Benutzt in Rezepten, Terminkarten etc.."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Adresszeile 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Adresszeile 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Adresszeile 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Postleitzahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Webseite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-Mail-Adresse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Behandlungs- Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "D8ie folgenden Benutzer können sich beim Programm anmelden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Id"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Kürzel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Benutzergruppe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Aktiv?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr "Deaktivierungs- Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Bearbeite ausgewählten Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Neue Benutzer Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Standard Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Herlfein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Anmeldungs- Helferin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr "Aktiver Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Einen neuen Benutzer hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Benutzer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Die folgenden Zahnärte haben Notizen in dieser Datenbank\n"
+"( beachte: Zahnärzte sollten nicht aus der Datenbank entfernt werden, da "
+"dies Schwierigkeiten beim Durchsuchen der Kassenbücher und Notizen "
+"verursacht) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Zahnarzt hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Registrierung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr "Aktives Terminbuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr "Patienten können diesem Zahnarzt zugewiesen werden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Zahnärzte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Die folgenden Helferinnen haben Notizen in dieser Datenbank\n"
+"( beachte: Zahnärzte sollten nicht aus der Datenbank entfernt werden, da "
+"dies Schwierigkeiten beim Durchsuchen der Kassenbücher und Notizen "
+"verursacht) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr "Helferinnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Montag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Freitag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Samstag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Sprechzeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr "Die folgenden Kategorien werden in der Datenbank benutzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Kategorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Kategorienname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Bild"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Altersklasse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Minimales Alter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Maximales Alter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Kategorie hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Altersgrenze"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Keine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "unter 18"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Art des Briefes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Kategorie Aktiv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Patienten Kategorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Behandlungen und Honorare"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr "Einliefungs- Zentren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Zeige XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Datei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr "&Lade Vorlage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "&Speichere Vorlage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - Ihre Dentale Datenbank Applikation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr "Verlasse den laufenden Patienten Datensatz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Escape"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Neuen Patienten zur Datenbank hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+"Auf diesen Knopf drücken, um einen Patienten in Ihrer Datenbank zu suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Strg+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr "Dies führt zurück durch die Historie der heute geladenen Datensätze."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Patient erneut aus der Datenbank aufrufen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Strg+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+"Dies führt vorwärts durch die Historie der heute geladenen Datensätze."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+"Zeige Patienten, die an der gleichen Adresse wohnen, oder den gleichen Namen "
+"haben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr "&verwandt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Strg+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr "Ein Dropdown-Feld über alle Patienten, die heute einen Termin haben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Einzelheiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Geschlecht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Telefon (privat)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Weitere Felder verfügbar. Zum Bearbeiten hier klicken."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Weiter.."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Telefon (geschäftlich)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Telefon (mobil)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "Schicke eine SMS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "SMS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Geburtsdatum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "Sende ein Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Adresse 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "E-Mail 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "Schicke eine E-Mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "E-Mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Adresse 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "E-Mail 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Adresse 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Beruf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Postleitzahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Neuer Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Benutze den Namen und die Adresse des vorherigen Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr "Voreinstellung Nachname / Adresse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Noch nicht verfügbar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Familie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Hervorgehobene Felder sind vorgeschrieben für neue Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Patient Einzelheiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr "Pt ist registriert als Zahnarzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Klassentyp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Zustand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Aktiv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Verzogen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Verstorben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Uneinbringliche Forderung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "Keine weiteren Termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Nicht einbringbare Forderung abschreiben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr "Diuese Feld ist zur Anzeige privater Vereinbarungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Privat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Diese Feld ist für die Anzeige von HDP Vertragsbedingungungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr "Hochwertiger Versorgungsplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "Diese Feld ist für die Anzeige des NHS Vertragsbedingungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr "Zeigt den Verlauf der Forderungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr "Befreiung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr "Befreiungs Text"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr "Keine Einzelheiten von PT's registrierten Zahnärzten gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "woanders registiriert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Vertrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Briefe AN Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Standardbrief an Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr "Recall Management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+"Setzen Sie einen Termin für den Recall der Automatisch erzeugt werden soll"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr "Datum Kurzanzeige"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "in einem Monat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "in 3 Monaten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "in 6 Monaten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "in 12 Monaten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr "Drucke einen Patienten Brief für einen Sofort- Recall jetzt."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr "Drucke Recall Brief jetzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Zugänge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "\"A\" Brief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "\"B\" Brief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "\"C\" Brief"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr "Drucke eine Bestätigung für den Zugang"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Doppeltes Rezept"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Betrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Drucke ein Rezept,- nützlich für Duplikate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Drucke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr "Vorherige Korrespondenz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "Erzeugt von OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr "Importiert in die Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr "Importiere ein Dokument"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr "Empehlungen ( Briefe über den Patienten)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr "Exportiere diese Aufnahme Karte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr "Drucke eine Statische Patientenkarte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr "Drucke die statische Patientenkarte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Zusammenfassung der Patientennotizen drucken (zur Aushändigung). Beinhaltet "
+"KEINE Preisdetails."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Zusammenfassung der Notizen drucken"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Zusammenfassung der Patientennotizen drucken. Beinhaltet GEBÜHREN- und "
+"PREISVORSCHLAG Details."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Detaillierte Notizen drucken"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Korrespondenz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Konto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr "Drucke ein GP17"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr "eine Befreiung anwenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr "gebräuchliche Schätzung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr "Drucken &Schätzen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr "Drucken &Konto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr "Nehmen &Bezahlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr "Patientenkartei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr "Assistent zur Selektion von gebräuchlichen TerminKombinationen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr "Termin Shortcuts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr "Neuer Termin für diesen Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Neu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "Termin löschen oder absagen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "Löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr "Ausgewählen Termin eintragen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Zeitplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+"Verwaltung - entferne alle vergangenen Termine aus der Patientenkartei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Entferne alle vergangenen Termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr "Finde diesen Termin im Praxis-Terminbuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "Finde im Terminbuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr "Drucke die nächsten 5 Termine für diesen Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Drucker Karte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr "Erlaubt Veränderungen von besonderen Kriterein für diesen Termin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Ändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr "Rezeption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr "Erneuer den Basis Parodontal- Untersuchungs Punktwert (CPITN)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr "führe eine klinische Untersuchung durch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr "füge Röntgenaufnahmen zur laufenen Behandlung des Patienten hinzu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Röntgenaufnahme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr "Führe allgemeine Parodontalbehandlung durch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr "Hel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr "Beende diesen Behandlungsplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr "überprüfe / aktualisiere die Krankengeschichte des Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr "Ärztliche Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr "Klinische Zusammenfassung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr "Auskunft- Stufe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "Minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "mittel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "Maximum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr "nur Rezeption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr "Karten Ansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Statisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Karten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "Schätzung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr "Behandlungs- Ablauf- Management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "behandelnde zahnarzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr "neuer Behandlungsablauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr "Beenden des Behandlungsablaufes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr "Einschätzungs- Managemen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr "benutzerdefinierter Kostenvoranschlag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"Benutzen Sie dieses Feature um alle Behandlungselemente der Kategorie "
+"\"Zahn\" umzupreisen. z.B. von allen, die in der Kartei angezeigt werden.\n"
+"\n"
+"Beachte - schon angezeigte Elemente werden nicht entfernt. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr "Kostenvoranschlag neu berechnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr "Befreiung anwenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr "Standardansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr "Erweiterte Ansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr "Planung/abgeschlossen (standard)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr "Planung/abgescglossen (erweitert)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr "Behandlungsplanung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr "Führe Übung aus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Paro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Röntgenaufnahme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Prothetik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr "Ortho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr "Andere Tx"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr "Individuelles Element hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr "Kostenvoranschlag/Kostenplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr "Wähle Daten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr "Kalender"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr "Parodntal Messungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr "Zeige alle Zahlungen diese Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr "frühere Zahlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr "Zeige abgeschlossene Behandlungen nach Datum sortiert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr "Vergangene Behandlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+"Zeige alle Behandlungsabläufe, inclusive der geplanten, aber nicht "
+"vollendeten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr "Behandlungsabläufe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr "Behandlungsplan- Historie für diesen Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr "Planungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr "zeige eine Kombination auf Abläufen und Planungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr "Abläufe / Planungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr "NHS Claims"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr "Drucke den angezeigten Text dieser Seite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr "Benutzeroptionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+"Erweiterte Optionen für Entwickler. Erwarten Sie nicht zuviel Sinnvolles !\n"
+"Wenn die \"nur Änderungen\" Anzeibge ist selektiert, werden nur dei "
+"veränderten Daten angezeigt."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr "Fehlersuche- Werkzeuge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "nur Änderungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Verlauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Notizen eingeben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "heutige Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr "Änderungen an diesem Datensatz speichern."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Änderungen Speichern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Strg+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Aufgaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "Textbausteine Buch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr "Einfg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Patienten Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "gehe zum heutigen Tag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr "Anleitung für Zahnärzte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr "Terminvergabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr "Finde den frühest möglischen Termin "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr "als erster belegbar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+"Finde den vorherigen Termin\n"
+"F5"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr "Vorheriger"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+"Finde den nächstmöglichen Termin\n"
+"F6"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr "nächster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr "aktueller Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr "Blöcke etc.."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Tagesansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr "Ansicht laufende Woche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr "Zeige alle Termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr "manuelle selektierte Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr "Terminvergabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Wochenansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Monat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr "Drucke Monatsansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr "alle Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr "Auswahl Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Monatsansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "Jahr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Jahresansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr "Mitarbeiter Verzeichnisse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr "Termine / Journal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "erfasste Zahnärzte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Los"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Daten drucken"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr "Kassenbuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr "b3ehandelnde Zahnärzte / Helferinnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr "Tagebuch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr "Finde die Patientendatensätze, die diesen Patienten enthalten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr "Schulden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Guthaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr "Mit mehr als"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr "Lade Tabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Drucke Tabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Drucke selektierte Briefe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr "Summe ausstehende Zahlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr "Finde Patienten Daten wo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "ist zwischen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr "TT/MM/JJJJ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "und"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr "einschließlich"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Drucke Briefe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr "Brief- Optionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr "Serienbriefe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr "vorhandene Honorarposition"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+"Benutze dieses Kontrollelement um eine Honorarposition zu selektieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr "Suche einen Eintrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr "Die Eingabe nur in der Benutzercode Spalte suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr "Suche Benutercodes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr "Die Eingabe in der Beschreibungs Spalte suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr "Suche Beschreibungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr "Schnelles Aufklappen aller Datensätze"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr "Aufklappen aller Bereiche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr "Schnelles Komprimieren aller Bereiche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr "Komprimiere alle Berecihe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr "NHS Vorschriften Dokument"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "Öffne ein PDF der neuesten NHS Vorschriften"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr "Honorarposition anpassen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+"Wenn Haken gesetzt, kann der Benutzer die zugrundeliegenden Honorare und "
+"Honorarpositionen bearbeiten."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr "Erlaube die Anpassung der Honorarpositionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr "Änderungen anwenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr "Zeige XML Tabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr "Testet Honorarpositionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr "Honorarpositionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Antworten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr "Alt+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr "ENTF, Backspace"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr "&setze Eltern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr "Alt+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Neues Thema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Suche nach Schlüsselwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr "Zeige Themen für"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr "Schließe gelösche Eingaben ein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr "verteile die Rückantwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr "Gruppen Rückantwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr "&Schließe Rückantworten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr "&Erweitere Rückantworten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr "Forum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wikipedia Inhalte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Datei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Hilfe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Voreinstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr "Ansicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr "Termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Werkzeuge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&exportiere Patient auf Diskette"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&importiere Patien von Diskatte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "Über &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr "&über QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Termin Buchstabengrösse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr "Tabellen Übersichts Karte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr "Lösche heutige Notfall- Lücken"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr "Test NHS Formulardruck"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr "lese die Rückfragen im unterliegenden Terminal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr "Bestimme Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Wähle Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr "Honrarpostionen einstellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr "Selektiere und Drucke die Tageslisten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Sprache Ändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Vollbildmodus (STrg-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr "Strg+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr "Datenbank Neuanlage/Bearbeitung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr "Erweiterte Datensatz Bearbeitung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr "Zeige Experten Spalte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr "Testen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr "t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Schriftgröße"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr "Forum - zeige erweiterte Optionen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr "Assistenten einrichten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "medizinische Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Einzelheiten des Artes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Name des Arztes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Adresse / Tel.-Nr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "bekannte Bedingungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Laufende Medikation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "frühere Medikation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Allergien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Herz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Lunge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Leber"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Blutungsneigung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Niere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Narkosen / Operationen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "markiere als heute überprüft"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Markiere Patient als Hochrisiko"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Neuer CPTTN Index"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Neuer Behandlungsablauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "Beginne einen neuen Behandlungsablauf mit den folgenden Kriterien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Vertrags- Zahnarzt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Annahme Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr "OpenMolar - Erster Lauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+"( <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" Schrift-Familie:'Droid Sans'; Schrift "
+"Grösse:8pt; Schrift- Breite:400; Schrift- Art:normal;\">\n"
+"<p Stil=\"oberer Rand:0px; unterer Rand:0px; linker Rand:0px; rechter "
+"Rand:0px; -qt-Block-indent:0; Text-indent:0px;\">Dieser erste Lauf des "
+"Programmes wird </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">Sytstempasswort eingeben</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">mache diesen client "
+"bewußt über ihre mySQL Server Einstellungen</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Installiere ein kleine (4 "
+"Patienten)) demo Datenbank wenn gewünscht.</li></ul></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Bitte Passwort eingeben zum Schutz gegen unberechtigtes Nutzen des "
+"Programmes."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "Zeigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr "Passwort wiederholen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr "Wo befindet sich Ihr mysql Server? **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Port"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+"** Wenn Sie keinen mysql Server in Ihrem Netzwerk haben, Setup verlassen und "
+"vorher mysql Server installieren.\n"
+"Wenn Sie debian oder ubuntu Benutzer sind: \"sudo apt-get install mysql-"
+"server\"\n"
+"eund notieren Sie sich Ihr root Passwort, das Sie während der Installation "
+"vergeben "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr "Datenbank Einzelheiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "(mysql)Passwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Datenbank-Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr "Überprüfe diese Verbindung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr "Erzeuge eine Demo Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr "Benutze eine bestehende Datenbank"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+"In Ordnung.... Sie haben alle Start- Einstellung ausgeführt.\n"
+"Beim Start von OpenMolar erscheint ein Anmelde- Bildschirm.\n"
+"\n"
+"Passwort = Ihr früher vergebenes Passwort\n"
+"User1 = beliebiger registireter Benutzer ( DemoDatenbank hat einen Benutzer "
+"\"user\")\n"
+"User2 - = beliebiger registrierter Benutzer ( kann leer gelassen werden)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr "Starte OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Zum Erzeugen einen neuen "
+"Datenbank und zum Setzen der Benutzerrechte, ist die Anmeldung als root in "
+"der mysql Datenbank erforderlich.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar speichrt NICHT "
+"dieses Passwort.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Bitte Passwort für "
+"den ROOT mysql Benutzer eingeben.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(Beachte - bei den meisten "
+"mysql Installationen ist root Zugriff gesperrt, wenn sich der mysql Server "
+"nicht auf dem lokalen Computer befindet.)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr "root mysql Passwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr "Erzeuge Datenbank.... bitte warten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Zurück"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Fortfahren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "NHS Formular Drucker Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Linker Rand Breite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Oberer Rand Breite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "Erste Überweisung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr "Rück- Überweisung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr "Früheres Überweisungsdatum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr "Ich möchte eine einfache Behandlung ausführen lassen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr "Grund der Überweisung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr "Engstand"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr "Lücken"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr "sanft"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Moderat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr "ernst"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr "Frontzahnbeziehung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr "sagittale Stufe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "mm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr "Überbiß"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Vollständig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr "unvollständig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr "traumatisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr "relevante medizinische Vorgeschichte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Zahnärztlcihe Vorgeschichte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Zähne mit schlechter Prognose"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr "Patienten Motivation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr "Herausnehmbarer Zahersatz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr "Festsitzender Zahnersatz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Patienten finden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+"Füllen Sie einige der folgenden Felder aus, um eine Liste möglicher "
+"Patienten zu bekommen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Wiederhole letze Suche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr "Familien- oder Zuname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Geben Sie den vollständigen Namen oder die ersten Buschstaben des Namens "
+"ein.\n"
+"\n"
+"Wenn Sie sich unsicher in der Buschstabierung sind, geben Sie den "
+"vollständigen Namen ein,\n"
+"und setzen Sie den Haken in der angrenzenden \"klingt wie\" Box."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr "ankreuzen zum Suchen nach einem ähnlich klingenden Namen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Geben Sie den vollständigen Namen oder die ersten Buschstaben des Namens "
+"ein.\n"
+"\n"
+"Wenn Sie sich unsicher in der Buschstabierung sind, geben Sie den "
+"vollständigen Namen ein,\n"
+"und setzen Sie den Haken in der angrenzenden \"klingt wie\" Box.\n"
+"Aufpassen bei Mittleren Namenszusätzen. \n"
+"z.B. \"Neil\" klingt nicht wie \"Neil Alexander\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr "Adressen inclusive"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+"open Molar untersucht Zeile 1 und Zeile 2 der Adresse für diesen Test"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+"openMolar sucht Tel1, Tel2 und Mobil Tel. für die hier eingegebenen Nummern."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "Suche nach Postleitzahl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Zahlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Zahlungen für Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Bargeld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Scheck"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Geldkarte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Kreditkarte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Andere Zahlungsmöglichkeit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Verschiedenes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "Jährliches HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Verschiedene Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Betrag der auf dem Rezept erscheinen wird ( nur lesen)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "erweiterte Berechtigungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rechte werden "
+"benötigt zur Ausführung .<br />Bitte Passwort eingeben.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+"Das macht im Moment nichts - die Idee ist, daß Sie eine Aufgabe über "
+"diesen Patienten jemandem anderen übergeben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr "zugeteilte Aufgaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Neil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Bea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Helen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Andy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Franz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "usw..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr "Schreibe Tagesnotizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr "Patient kontaktieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr "eine Entscheidung wird benötigt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Dringend"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "Schnellstmöglich"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Routine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr "Fristablauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Notiz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Drucke formatiert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "ganze Seite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr "Gebühr erheben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Gebühr für die heutige Behandlung erheben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr "Beschreibung (z.B. \"C\" oder \"MOD\" oder \"Bleach\"....)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "EUR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Wierhole sooft wie nötig- der Endbetrag wird erhöht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr "erweiterte Datensatz Veränderungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr "NHS laufende Honorarpositionen( money0)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr "NHS Zahlungen ( Money 2)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr "NHS erwartet( Money 4)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr "Private Einnahmen ( money 5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr "Gesamt - NHs brutto - abgeschlossenen Behandlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr "Gesamt NHS brutto - erwartete laufende"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr "Forderungen (money 8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr "Schulden (money9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr "Schulden 2 ( Money10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr "money 11 ( immer 0 !)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr "Privates leufendes Honorrar (money 1) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr "Privare Zahlungen ( money3)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr "Alle Einnahmen sind in Cent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr "Aussenstände"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0,00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Änderungen anwenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Geld"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr "Letztes CE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Datum hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr "Letztes ECE (Pd6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr "Letztes FCA ()Pd8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr "Letztes OPG (pd8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr "Letzer Zahnfilm Röntgenaufnahme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr "Letzes SP (pd10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr "Letzer zugang gesendet (Billdate)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Datumangaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr "Röntgenaufnahme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr "Anästhesien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr "Neuer Ober"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr "Neuer Unter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr "Wiederherstellung OK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr "Wiederherstellung UK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr "Behandlungsplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr "abgeschlossene Behandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr "Versteckte Notizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr "Ähnliche Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr "Dieser Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr "Bekannte Familienmitglieder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr "Adress Treffer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Bestätigung erforderlich"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr "Was hat sich verändert ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Memo über diesen Patienten schreiben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr "Versicherungs Ablauf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "Läuft nicht ab"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Läuft an diesem Tag aus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Sichtbar von"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Alle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr "Operationsgeräte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr "Rezeptionsgeräte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Autor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "bitte selektieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr "Diese Memo löschen, wenn abgeschlossen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Termin eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Termin mit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 Stunde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 Stunde 15 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 Stunde 20 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 Stunde 30 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 Stunde 45 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 Stunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "grund 12 Stunden 30 Minuten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 Stunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Termin mit Hygenist kombinieren?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Grund 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Grund 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Grund 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Kurze Notiz an den Behandlungsarzt (optional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Termin jetzt einfügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr "Agenda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr "Mitteilungen und Aufgaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr "Mein Kalender"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr "Ferien Planer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr "System Passwort"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr "User1 (benötigt)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr "User 2 (optional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr "Operationsgerät"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr "Rezeptionsgerät"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr "ändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr "Bitte Operations Nummer eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Behandlungszimmer 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Behandlungszimmer 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Behandlungszimmer 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Neils Aufgaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Bearbeite die ausgewählten Aufgaben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Füge neue Aufgabe hinzu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr "Zahn??"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr "Taschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr "ZPlaque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr "Rezession"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr "Furkation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr "Pusentlerrung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr "Beweglichkeit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "&Alles kopieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr "Zahndaten löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr "Cp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr "anwenden und einen Zahn zurückgehen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr "Anwenden und zun nächsten Zahn gehen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr "Kommentar hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr "!KUO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr "!Beweglicher Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr "!Initiale Karies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr "!Füllungsverlust"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr "beschädigt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr "!zerbrochen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr "!schlechte Prognose"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr "!baldige Extraktion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr "!Impantat nötig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr "Kommentare löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr "vormittags"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr "CO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr "GL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr "Po"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr "Anwenden & weiteres Element hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr "Springe zwischen Statik und Planung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr "Springe zwischen Milch- und bleibenden Zähnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr "Dec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr "Prothesenzahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr "AT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr "fehlender Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr "TM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr "Extrahieren (nur Planung!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr "Ex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr "Wurzelkanalbehandlung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr "RT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr "Veneer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr "Cr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr "Composite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr "Zahngesundheits Erfassung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr "UR8"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Elemente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr "Datenbank Linie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr "Fehlderhafte Ausnahme Kategorie angewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr "Nicht im Büro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr "hergestellt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr "am"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr "Hergestellt am"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr "Falsche Zeit Abfolge!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr "Oh je !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr "allgemeine Feiertage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr "Eingabe der Information für "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr "Datum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr "Bearbeite Tagesnotizen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr "Bearbeite die allgemeinen Feiertage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr "Springe zum Milchzahnstatus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr "abgeschlossene Behandlungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr "Wechsle zur Art der Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr "Ändere Material der"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr "Lösche ale Restaurationen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Verlauf anzeigen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr "Löschen "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Links"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Rechts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr "Schließen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr "Tagebuch für"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr "Fissurenversieglungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Fissurenversiegelung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr "Fissurenversiegelung/Komposit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr "Kronen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr "Mineralverblendkrone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr "Gold Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr "Lava Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr "Jacket Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr "Provisorische Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr "Kunststoffkrone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr "andere Krone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr "Brückenzwischenglied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr "Lava Zwischenglied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr "Adhäsiver Flügel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr "Brückenglied Pontic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr "gebondet_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr "Gold_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr "LAVA_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr "Andere_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr "Wurzelfüllungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr "Vitalextirpation - 1 Kanal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr "Vitalexstirpation - 2 Kanäle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr "Wurzelkanal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr "Unvollständige Wurzelfüllung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr "Chriurgie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Extraktion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr "ioperative Zahnentfernung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr "Wurzelspitzenresektion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr "nur Statisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr "fehlender Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr "ersetzter Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr "Wurzelrest"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr "vorhandener bleibender Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr "teilweise durchgebrochener Zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr "nicht durchgebrochener zahn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr "Welche Behandlung ist durchgeführt worden?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr "Sprechzeiten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr "Werte von"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr "Wähle einen Assistenten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr "KEIN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr "Änderungen anwenden für"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr "Kein Patient ausgewählt!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr "Beginn liegt außerhalb der Blockgrenzen (zu früh)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr "Beginn liegt außerhalb der Blockgrenzen (zu spät)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr "Ende liegt außerhalb der Blockgrenzen (zu spät)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr "Ende liegt außerhalb der Blockgrenzen (zu früh)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr "Länge des Termins ist zu kurz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr "Kein grund für den Block wurde angegeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr "kein Patient ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr "Unmöglich zu bearbeiten, weil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "Fehler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr "Kein Treffer gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr "Patient nicht gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr "Gewählter Patient ist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr "Kein Patient ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr "Wählen Sie einen Behandler aus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr "Bestimme die Assistenz als"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr "Bitte einen Zahnarzt/ Helferinn eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr "Bitte einen gültigen Behandlungsablauf eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr "Einige Eingabefelder fehlen, bitte überprüfen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr "Schatten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr "Textbausteine-Verzeichnis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr "Sie haben ungespeicherte Veränderungen am Datensatz von"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Ausblenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr "Englisch (Vereinigtes Königreich)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr "Englisch (Australien)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr "Afrikanisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr "Dänisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr "Französisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr "Deutsch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr "Ungarisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr "Indonesisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr "Italienisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr "Okzitanisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr "Polnisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr "Portugiesisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr "Slowakisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr "Spanisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr "Türkisch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr "Keine Übersetzungsdatei gefunden für %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr "Geplant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Element"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr "klicken um Element zu bearbeiten - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr "klicken um Element zu löschen - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr "klicken um Element vorzubringen - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "Frage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr "Wurden diese Röntgenaufnahmen heute aufgenommen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr "<p>Betrag %s gutschreiben nach Löschung des Elementes?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr "konnte gelöschte Nachricht nicht übermitteln - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr "Schlecht geformt erwarte.Type??? %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr "Entferne %s %s aus dem Paln ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr "Falsche Datumsangabe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+"Bitte speichern Sie den alten Behnadlungsablauf bevor Sie weitermachen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+"<p>Planung oder Ausführung der Behandlung unmöglch, wenn pt \n"
+" \n"
+"kein aktiver Behandlungsablauf vorhanden ist</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr "Erfolgreiche Start eines neuen Behandlungsablaufes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr "Fehler beim Staren einen neuen Behandlungsablaufes, Entschuldigung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr "Schlechtes XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "OK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr "Alle Prüfungen bearbeitet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr "reges Fehler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr "Honorarposition"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Änderungen anwenden?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr "Sie haben einen Benutzercode verändert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+"Möchten Sie diese Änerdungen anderen ausgewählten Honorartabellen anwenden?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+"<p>Sie haben bereits eine vollständige Prüfung\n"
+" dieses Behandlungsabschnittes</p>Kann die Prüfung nicht durchführen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+"<p>%s ist jetzt beides: der registirerte und\n"
+"der Behandlungs- Zahnarzti.<br />Ist das richtig?<br />\n"
+"<i>Hier bestätigen zum Entfernen der Zuordnung von %s</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+"<<br /><i>Hier bestätigen um den Behandler-Zahnarzt zu\n"
+"wechseln, nicht aber den registierten Zahnarzt "
+" </i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr "<i>Bachten Sie, daß Sie %s zum regisitrierten Zahnarzt machen</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr "%s untersucht von %s\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+"verschiedene (abgelaufen?) Honorar wurde im KOstenvoranschlag gefunden.- "
+"bitte überprüfen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr "Untersuchung nicht stattgefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr "überprüfe Analyse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Weitersuchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Dokumentenstatistik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr "Statistische Auswertungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr "Information"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr "Erfolg !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr "Datenbank aktualisiert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr "Ergebnis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr "Datenanalye ok mit Programm xml.minidom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr "Datenanalyse schlug fehl mit Programm xml. minidome"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr "Ausdruck zum Suchen eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr "Suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr "Ausdruck nicht gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr "Honorartabellen- Editor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr "Benutzer- Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr "Kurzbeschreibung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr "Die folgenden Tabellen wurden geändert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr "Keine Änderungen vorgenommen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr "Auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr "Andere Tabellen zum Verändern auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr "Alles auswählen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr "Anpassen / Editieren diese Datensatzes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr "Füge zum tx plan hinzu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr "Füge zum tx Plan des Patienten hinzu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr "Eintrag löschen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr "Neuen Eintrag hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr "enthält Einträge:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr "Ausdruck in Honorartabelle nicht gefunden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr "Benutzer- Code oder -beschreibung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr "Benutzer- Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr "Beschreibungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr "Nichts zu suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+"Bitte Benutzer-Codes und/oder -beschreibungen selektieren und erneut suchen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr "Fehler beim Öffnen des PDF Files"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr "IN LAUFENDER BENUTZUNG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr "Fehler in Honorartabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Entfernen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr "Von dem Behandlungsplan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr "ausgeführt durch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr "Lösche %d Meldungen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr "Selektierte Meldung entfernen ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr "Verknüpfung abgebrochen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr "Klicken Sie auf den übergeordneten Eltern- Eintrag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr "Beratung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr "Entscheidung wird benötigt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr "Sie haben ungespeicherte Veränderungen an Ihren Honoratabellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr "Bestätigen ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr "verändere Zahnarzt in"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr "verändere Assistent in"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr "Ausschalten des Terminvergabe- Modus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr "ist nicht länger in dieser Praxis als Zahnarzt aktiv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr "unbekannter Vertrags Zahnarzt - Bitte korrigieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr "unbekannter laufender Zahnarzt - Bitte korrigieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr "SPEICHERE NEUEN PATIENT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr "SPEICHERE VERÄNDERUNGEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr "Erneut öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr "Wollen Sie dieses Element neu bearbeiten/drucken?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr "Fehler bei Durchsicht des PDF FIles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr "Keine Information verfügbar für dieses Dokument, Entschuldigung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr "Datum eingelesen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr "Größe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr "Öffnen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr "Fehler bei Datei Import"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr "Keine Datei ausgewählt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr "Möchten Sie eine Kopie dieses Dokumentes öffnen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr "Fehler beim Öffnen des Dokumentes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr "Patienten von heute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr "Patienten von heute (ALLE)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr "Ende der Liste erreicht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr "Anfang der Liste erreciht"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+"Fehler beim Einrichten der Schnittstelle\n"
+"%s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr "Fehler beim Holen der Serien-Nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr "Bitte überprüfen: Ist diese Nummer richtig?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+"<center>Meldung von%s <br />\n"
+"datiert auf %s<br /><br />%s</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr "Problem mit Memo %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr "Keine Behandler eingerichtet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr "Sie eind im Behandlungszimmer- Modus ohne einen Behandler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr "BEHANDLER"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr "Team"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr "verwendet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr "Modus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr "Frau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr "Herr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr "Frau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr "Frau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr "Dr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr "Master"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr "Professor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr "NEUE FORUM EINTRÄGE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr "Patient nicht geladen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr "Öffne Patienten- Datei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr "MÖGLICHERWEISE ERNSTES ZUORDNUNGSPROBLEM MIT DEN PT RECORDS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr "Folgende Elemente wurden erfolgreich geändert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr "kein Datensatz selektiert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr "Schriftgröße"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr "Geben Sie ihre bevorzugte Schriftgröße für das Bestellbuch ein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr "Fehler bei der Bestätigung der Änderungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr "Kostenplan verwerfen und alles neu bepreisen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr "eine Befreiung auf diesen Kostenplan anwenden?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr "Eingabe benötigt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr "maximaler Betrag für diesen Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+"Bitte diesen Betrag in Cent angeben, oder 0 lassen für eine vollstaändige "
+"Befreiung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+"<div align=\"center\">\n"
+"<h3>Neuen Patient Eingeben</h3>Mindestens die geforderten Felder eingeben.\n"
+"\n"
+"Dann den \"Änderungen Speichen\" Knopf benutzen, um diesen Patienten in die "
+"Datenbanik aufzunehmen.\n"
+"</div>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "Fewhler beim Speichern des neuen Patienten, Entschuldigung!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+"ungenügende Daten um einen neuen Datensatz anzulegen...\n"
+"bitte die hervorgehonbenen Felder ausfüllen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Fehler beim speichern des Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "Neuer Patient ist nicht gepeichert. Änderungen verwerfen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr "BESTÄTIGUNG DER ABRECHNUNG - LETZE MAHNUNG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr "Wir bedauern sehr, daß trotz unserer vorheriger Vereinbarungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr "Ihre offenen Zahlungen belaufen sich wie folgt: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+"Bitte beachten Sie, daß ihre offenen Zahlungen sich wie folgt belaufen : "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Zahlbetrag :%s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr "Dieser Zahlbetrag ist insgesamt fällig. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr "Eine frühere Mahnung wurde an Sie verschickt am %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+"Wir erwarten, daß Sie diese Angelegenheit so schnell wie möglich erledigen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr "Wir erwarten den Eingang Ihrer Zahlung innerhalb von 7 Tagen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr "Danach werden wir unsere Forderung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr "gerichtlich geltend machen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr "Mit freundlichen Grüßen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr "* Schecks bitte an:\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+"oder teilen Sie uns Ihre Kreditkarten-nummer (Swith/Visa/Matercard) mit."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr "Sehr geehrte(r)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+"Wir möchten Sie zur nächsten zahnärztlichen Untersuchung in unsere Praxis "
+"einladen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+"Bitte treten Sie in Kontakt mit der Praxis, um einen Termin zu vereinbaren. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr "Wir hoffen Sie bald zu sehen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr "Verehrte Patienten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+"Wir möchten Sie zur nächsten zahnärztlichen Untersuchung in unsere Praxis "
+"einladen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+"Bitte kontaktieren Sie uns in unserer Praxis für eine Terminvergabe. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+"* Wenn Sie schon einen Termin bei uns verabredet haben -\n"
+"bitten wir Sie um Verzeihung, und bitte ignorieren Sie diesen Brief."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "Keine Daten geladen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr "Gruppen Einstellungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr "Alles einklappen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr "unsere Verbindung"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr "PDF ist NONE - (Sagen Sie devs das dies geschah)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "Fehler beim Speichern der PDF Kopie als %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Professionelle Dienstleitungen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr "Rezept- Doppel für %.02f"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr "Nichtsw auszudrucken - ist die Tabelle geladen?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+"<tr><th>Zahnt</th><th>Serien-Nr.</th><th>Anrede</th>\n"
+"<th>Vorname</th><th>Nachname</th><th>DOB</th><th>Notiz</th><th>Letzte "
+"U</th>\n"
+"<th>Letzte Rechnungl</th><th>Art</th><th>Nummer</th><th>Beendet</th>\n"
+"<th>Betrag</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "GESAMT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr "Heil. und Kostenplan für Ihre laufenden Behandlungsfall"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+"<tr><td></td><td><b>SUMMEL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+"<p><i>Bitte beachten Sie, daß sich dieser Heil- und Kostenplan\n"
+"aufgrund nicht vorhersagbarer medizinischer Umstände ändern kann.</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr "Vorheriger Behandlungsablauf (%s - %s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr "EIn NHS Formular jetzt drucken ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr "Sehr geehrte(r) %s %s,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr "OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+"<h3>Update erforderlich</h3>\n"
+"Ihr Openmolar Datenbank- Aufbau ist nicht aktuell für diese Client version.\n"
+"<br /> \n"
+"Ihre Datenbank is eine Version %s, and Version %s is required.<br />\n"
+"\n"
+"Möchten Sie jetzt aktualisieren ?<br />\n"
+"\n"
+"WARNUNG - STELLEN SIE SICHER; DAS ALLE ANDEREN STATIONEN AUSGELOGGT SIND"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr "Aktualisieren auf Aufbau Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr "Umsetzung auf %s fehlgeschlagen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+"<p>Entschuldigung, es scheint unmöglich, Ihren Aufbau bis zu diesem Punkt zu "
+"aktualiesieren,\n"
+"Haben sie eine Entwicker Version diese Programmes installiert ?</p>\n"
+"Wenn ja, dann bitte zu eine Release Version zurückkonvertierren.<br />\n"
+"Wenn nicht, dann ist etwas faul, bitte den Entwicklern von\n"
+"Openmolar mitteilen ASAP.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr "Unerwarteter Fehler beim Update des Programmaufbaues"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr "Bitte den Fehler mitteilen, auf: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+"<p>Entschuldigung, Sie können nicht diese Version des \n"
+"\n"
+"Openmolar Clients laufen lassen ohne ein Datenbank Update.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr "laufende Bücher enden am"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr "Bücher jetzt vergößern?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr "Wieviele Monate ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr "noch nicht eingerichtet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr "Bitte Initialien für diesen benutzer eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr "Bitte einen Namen für diesen Benutzer eingeben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr "Dieser Schritt wird keinerlei gespeicherte Daten überschreiben."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr "Fortfahren?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "Speicher die Vorlagen- Datei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr "Openmolar Vorlagen Dateien "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Vorlage gespeichert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr "Ausführung abgebrochen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr "Vorlage nicht gespeichert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr "Lade eine bestehende Vorlage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr "Openmolar Vorlagen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "Vorlage erfolgreich geladen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr "Fehler beim Überprüfen der Vorlage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Jetzt verändern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Jetzt anwenden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Neuen Benutzer hinzufügen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr "Geld Veränderungen angewendet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr "Verändern des Datums angewendet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr "Veränderungen des Planes angewendet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr "Alle Behandlungsänderungen angewendet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr "aktualisiere versteckte Notiz- Liste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr "Aktualisiere gespeicherte Schema Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "ALLES FERTIG - Datenbank erfolgreich bewegt nach"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "Erstelle neue Tabellen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr "Einstellungen aktualisieren"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr "Kann Tabellen nicht erzeugen, falle zuück auf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr "Kopiere Daten von alter Honorartabelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr "zurückgerollt auf"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr "Führe die Befehle aus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr "übertrage Daten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr "Füge Werte ein"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr "Sie könne jetzt die alten Honorartabellen entfernen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr "Übersetunge Werkzeuge erfolgreich installiert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr "Bitte versuchen Sie eine mindestens 24 stündige Notiz zu geben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "wenn Sie Ihren Termin ändern möchten."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr "BEH"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr "BISS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr "BT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "FAMILIE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr "FLLG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr "FIT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr "HYG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr "IMPS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr "LF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr "ORTHO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr "SCHMERZ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr "PRÄP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr "RCT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr "RECEMENT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr "REVIEW"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr "SP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr "TRY"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr "XLA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Januar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Februar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "März"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "April"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Mai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Juni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Juli"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "August"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "September"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Oktober"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "November"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Dezember"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Heute"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Morgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Gestern"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Wilkomen bei OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr "Revision"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+"Sie können auf Ihre Daten zugreifen, und der Server meldet keine Warnungen."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "Viel Spaß !"
diff --git a/src/openmolar/locale/el.po b/src/openmolar/locale/el.po
new file mode 100644
index 0000000..9704027
--- /dev/null
+++ b/src/openmolar/locale/el.po
@@ -0,0 +1,6232 @@
+# Greek translation for openmolar
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2011.
+# Efstathios Iosifidis <diamond_gr at freemail.gr>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-07-29 15:37+0000\n"
+"Last-Translator: Stathis Iosifidis <Unknown>\n"
+"Language-Team: Ελληνικά, Σύγχρονα <opensuse-translation-el at opensuse.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-07-30 05:01+0000\n"
+"X-Generator: Launchpad (build 13405)\n"
+"Language: el\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "επείγον"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Εξέταση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "περιοδοντίτιδα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "ακτινογραφία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "αναισθησία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "άλλο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "προσαρμοσμένο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Εργασία Οδοντοστοιχίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Σφάλμα - μη αναγνωρίσιμος επαγγελματίας-λυπούμαστε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Πίνακας Αμοιβών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Αδυναμία φόρτωσης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "δεν βρέθηκε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Θέμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Προς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Από"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Μήνυμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Ημερομηνία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Αφαίρεση Εξαίρεσης Ηλικίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Νο Επιστολής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Σειριακός αριθμός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Τίτλος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Όνομα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Επώνυμο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Ηλικία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Διεύθυνση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Πόλη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Νο Οικογένειας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "ΤΚ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Οδοντίατρος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Νομός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Ημερομηνία Ανάκλησης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Εάν χρειάζεστε να το εκτελέσετε αυτό ξανά, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "διαγραφή του αρχείου openmolar.conf στο "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "Εάν χρειάζεστε να το εκτελέσετε τον βοηθό ξανά, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "ΠΧ εάν η τοποθεσία του διακομιστή σας αλλάξει, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "ή απαιτήστε νέο κωδικό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "τύπος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "στην γραμμή τερματικού, ή διαγράψτε το αρχείο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "Για ασφαλέστερη ρύθμιση, μετακινήστε το αρχείο στο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Σφάλμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Συμβουλευτικός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Οι κωδικοί δεν ταιριάζουν!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Δημιουργία βάσης δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Δημιουργία demo βάσης δεδομένων με τις παρακάτω ρυθμίσεις;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Επιτυχής δημιουργία βάσης δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Η βάση δεδομένων ΔΕΝ δημιουργήθηκε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Καλώς ήλθατε στον οδηγό ρυθμίσεων του openMolar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Ορίστε τον Κωδικό της εφαρμογής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Τοποθεσία εξυπηρετητή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Ρυθμίσεις Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Αποθήκευση ρυθμίσεων και έξοδος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Δημιουργία demo βάσης δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Δημιουργία Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Επιτυχής!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "Η βάση δεδομένων %s αποδέχτηκε την σύνδεση."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"Η προσπάθεια σύνδεσης απέτυχε, \n"
+"παρακαλώ ελέγξτε τις ρυθμίσεις σας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Αποτυχία Δημιουργίας Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "ΑΠΟΤΥΧΙΑ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Ανανέωση Πελάτη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Λυπούμαστε, δεν μπορείτε να εκτελέσετε αυτή την έκδοση του πελάτη "
+"openMolar\n"
+"γιατί το σχήμα της βάσης δεδομένων είναι περισσότερο εξειδικευμένη.</p>\n"
+"<p>αυτός ο πελάτης απαιτεί έκδοση %s, αλλά η βάση δεδομένων είναι %s</p>\n"
+"<p>Παρακαλώ αναβαθμίστε το openMolar τώρα</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Προχωρήστε με αναβάθμιση;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Αυτή δεν είναι η προεπιλεγμένη βάση δεδομένων - είστε σίγουροι;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "επιβαιβέωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "ΠΡΟΕΠΙΛΟΓΗ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Επιλογή εξυπηρετητή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Πρώτη Εκτέλεση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Αδυναμία Eκτέλεσης του OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Αντίο!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Σφάλμα εισόδου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Εσφαλμένος συνδυασμός<br />Χρήστη/Κωδικού<br />!\n"
+"<br />Παρακαλώ Δοκιμάστε Ξανά."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Προηγούμενη συνεδρία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Έναρξη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Λήξη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Καμία θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "ΟΛΟΚΛΗΡΩΜΕΝΟ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "ΠΛΑΝΟ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr "Σχετικά βιβλία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr "Επιλεγμένο(α) βιβλίο(α)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Διαθέσιμοι οδοντίατροι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Διαθέσιμοι Κλινικοί"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Χειροκίνιτη Επιλογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Όλοι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Γεύμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "συνάντηση προσωπικού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Εκτός Γραφείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr "Παρακαλώ προσδιορίστε κλινικό ιατρό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Επιβεβαίωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "Διαγραφή όλων των προηγούμενων ραντεβού;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "από το ημερολόγιο του"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Επιτυχής αφαίρεση ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Σφάλμα αφαίρεσης προτεινόμενου ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Κανένα επιλεγμένο ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Επιβαιβέωση Διαγραφής ραντεβού σε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "με"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Ερώτηση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr "Σφάλμα αφαίρεσης από το ημερολόγιο ασθενή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "το ραντεβού ήδη προγραμματίστηκε για"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr "Δεν επιλέχθηκαν κλινικοί"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr "λεπτά ή παραπάνω διαθέσιμα για την επιλεγμένη εβδομάδα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "Παρακαλώ επιλέξτε ένα ραντεβού για να τοποθετήσετε εδώ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr "Παρακαλώ επιλέξτε άλλο ραντεβού - αυτό έχει πραγματοποιηθεί ήδη!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "Έχετε επιλέξει ένα ραντεβού με"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "Είναι αυτό σωστό;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr "Επιβεβαίωση ραντεβού με"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "Σφάλμα ραντεβού - συγγνώμη!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr "Δεν μπορείτε να προγραμματίσετε ραντεβού στο παρελθόν"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr "προβολή τρέχουσας εβδομάδας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr "προβολή τρέχουσας ημέρας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "Καμία προβολή!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "Απρογραμμάτιστο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "Προβολή Περασμένων Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Ημερομηνία & Ώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"για την ώρα, παρακαλώ εισάγετε πρώτα\n"
+"θεραπεία στο πλάνο και μετά συμπληρώστε την."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Από"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Πλάνο Θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Ώρες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Κλινικός Ιατρός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Ημερομηνία Έναρξης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Λήξη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Ημερομηνία Λήξης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Εργαλεία Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "Αφαίρεση παλιών εβδομάδων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Τερματισμός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Οδηγός Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Προσθήκη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "Αντιγραφή στο Πρόχειρο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Επικόλληση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Επιλογές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Κείμενο προς εφαρμογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Επείγοντα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Τηλεφώνημα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Ώρα έναρξης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Ο επιλεγμένος ασθενής είναι<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Αλλαγή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Η αιτία για το ραντεβού είναι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Εισαγωγή Γνωστού Ασθενή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Ώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr "Κείμενο προς εφαρμογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr "Ημέρες προς εφαρμογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Άλλο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Πλήρες, Ημέρα, μήνας και Χρόνος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Μόνο Μήνας και Έτος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Ημερομηνία προς χρήση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Σημερινή Ημερομηνία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Αλλαγή Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Σύστημα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Χρήστης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "χρήστης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Κωδικός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "Εμφάνιση κωδικού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Βάση Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "κωδικός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Επιλογή Εγγράφου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Επιλογή εγγράφου για προβολή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "Επιλέξτε Κλινικούς Ιατρούς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Επιλογέας Γλώσσας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Επιλέξτε απο τις παρακάτω "
+"διαθέσιμες γλώσσες.<br />Παρακαλώ σημεώστε ότι ορισμένες από τις μεταφράσεις "
+"δεν είναι ολοκληρωμένες.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Επιλέξτε Δόντι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Παρακαλώ επιλέξτε το δόντι για το οποίο σχεδιάστηκε η θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Διάλογος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Ενήλικος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "μετάβαση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Ολοκλήρωση Θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "Ολοκλήρωση Πολλαπλών Θεραπειών;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Επιλογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Χρυσό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Προσωρινό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Ακύρωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Περιγραφή Θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " ΣΥΝΟΛΟ "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "Νο."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Κωδικός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Περιγραφή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Τύπος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Χρέωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "κωδικός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "μικρές ακτινογραφίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Ολοκληρώθηκε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Ημερομηνία Εξέτασης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Σημειώσεις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Σπασμένο Δόντι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Ευαίσθητα Δόντια"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "Κατηγορία για Σχεδιασμό Θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Περιγραφή Ασθενούς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Οδηγός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Νέο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Ώρα Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Κενό Πριν το Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Κενό Μετά το Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Θέμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Σχόλιο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 χαρακτήρες)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Μέρος 1 από 2 της επίσκεψης θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Μέρος 2 από 2 της επίσκεψης θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - Οδηγός Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Τι θέλετε να κάνετε;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Τροποποίηση υπάρχουσας βάσης δεδομένων openmolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Δημιουργία Νέας Βάσης δεδομένων από την αρχή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr "Όνομα Ιατρείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Διεύθυνση 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Διεύθυνση 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Διεύθυνση 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "ΤΚ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Τηλέφωνο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Φαξ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Ιστοσελίδα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "Email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Πληροφορίες Ιατρείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "Οι παρακάνω χρήστες μπορούν να εισέλθουν στην εφαρμογή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Αρχικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Όνομα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Ομάδα Χρηστών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Ενεργός;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Τροποποίηση Επιλεγμένου Χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Λεπτομέρειες Νέου Χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Γραμματεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Προσθήκη Νέου Χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Χρήστες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Προσθήκη Οδοντιάτρου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Εγγραφή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Οδοντίατροι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Δευτέρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Τρίτη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Τετάρτη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Πέμπτη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Παρασκευή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Σάββατο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Κυριακή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Ώρες Ιατρείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Κατηγορία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Όνομα Κατηγορίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Εικόνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Κατηγορία Ηλικίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Ελάχιστη Ηλικία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Μέγιστη Ηλικία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Προσθήκη Κατηγορίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Όριο Ηλικίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Κάτω των 18"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Κατηγορία Γράμμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Κατηγορία Ενεργός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Κατηγορίες Ασθενών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Θεραπείες και Τέλη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Προβολή XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Αρχείο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "&Αποθήκευση Προτύπου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "OpenMolar - Η οδοντιατρική εφαρμογή σας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Esc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Προσθήκη Νέου Ασθενή στην βάση δεδομένων."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Εύρεση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Πληροφορίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Φύλο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "Α"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "Γ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Τηλ (Σπιτιού)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Περισσότερα πεδία είναι διαθέσιμα. Πιέστε Εδώ για Επεξεργασία."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Περισσότερο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Τηλ (Εργασίας)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Τηλ (Κινητό)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "αποστολή sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Ημερομηνία Γέννησης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "αποστολή φαξ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "φαξ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Διεύθυνση1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "αποστολή ηλεκτρονικής αλληλογραφίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Διεύθυνση2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Διεύθυνση3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Απασχόληση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "ΤΚ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Νέοι Ασθενείς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Οικογένεια"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Τα φωτισμένα πεδία είναι υποχρεωτικά για νέους ασθενείς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Πληροφορίες Ασθενούς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Κατάσταση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Απεβίωσε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Επεξεργασία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "1 μήνας από τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "3 μήνες από τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "6 μήνες από τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "12 μήνες από τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Λογαριασμοί"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Ποσό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Εκτύπωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Λογαριασμός"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Νέο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "διαγραφή ή ακύρωση ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Διαγραφή Όλων των Περασμένων Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Εκτύπωση Καρτέλλας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Τροποποίηση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Ακτινογραφία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "ελάχιστο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "μεσαίο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "μέγιστο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Περιοδοντίτιδα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Ακτινογραφίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr "Εμφάνισγ όλων των πληρωμών στην βάση δεδομένων από αυτόν τον ασθενή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr "Περασμένες Πληρωμές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr "Προβολή ολοκληρωμένων θεραπειών ανά ημέρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr "Περασμένη Θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr "Εκτύπωση κειμένου που εμφανίζεται σε αυτή τη σελίδα."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "μόνο αλλαγές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Ιστορικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Εισαγωγή Σημειώσεων."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "Σημερινές Σημειώσεις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Αποθήκευση Αλλαγών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Εργασίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Βάση Δεδομένων Ασθενούς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr "1ο Διαθέσιμο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+"Έυρεση Προηγούμενου Ραντεβού\n"
+"F5"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+"Εύρεση Επόμενου Διαθέσιμου Ραντεβού.\n"
+"F6"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr "Επόμενο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr "Τρέχων Ασθενής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Προβολή Ημέρας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr "Προβολή Τρέχουσας Εβδομάδας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr "εμφάνιση Όλων των ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Προβολή Εβδομάδας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Μήνας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr "Εκτύπωση Εμφάνισης Μήνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr "Επιλογή Κλινικών Ιατρών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Προβολή Μήνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "Έτος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Προβολή Έτους"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "Εγγεγραμένος Οδοντίατρος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Μετάβαση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Εκτύπωση Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr "Χρέος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Πίστωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Εκτύπωση Πίνακα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Εκτύπωση Επιλεγμένων Επιστολών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "είναι μεταξύ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr "ηη/μμ/εεεε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "και"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Εκτύπωση Επιστολών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr "Αναζήτηση για ένα αντικείμενο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr "Αναζήτηση Περιγραφής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Άνοιγμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr "Alt+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Διαγραφή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr "Alt+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Αναζήτηση με λέξη κλειδί"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Αρχείο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Βοήθεια"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Προτιμήσεις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr "Προβολή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr "Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Εργαλεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&Εξαγωγή Ασθενούς σε δίσκο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&Εισαγωγή Ασθενούς από δίσκο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "Περί &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Μέγεθος Γραμματοσειράς Ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "επιλογές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Αλλαγή Γλώσσας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Πλήρης Οθόνη (Ctrl-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr "Ctrl+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr "Δημιουργία/Τροποποίηση βάσης δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr "δοκιμή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr "t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Μέγεθος Γραμματοσειράς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Ιατρικές Σημειώσεις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Λεπτομέρειες Γιατρού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Όνομα Γιατρού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Διεύθυνση / Τηλέφωνο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Αλλεργίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Καρδιά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Πνευμόνια"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Συκώτι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Αιμορραγία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Νεφρά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "εμφάνιση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr "Επανάληψη Συνθηματικού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr "Που βρίσκεται η mysql; **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Πόρτα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr "Λεπτομέρειες βάσης δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "Συνθηματικό(mysql)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Όνομα Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr "Δοκιμή Σύνδεσης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr "Δημιουργία Δοκιμαστικής Βάσης Δεδομένων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr "Εκκίνηση OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr "Κωδικός διαχειριστή mysql"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr "Δημιουργία Βάσης Δεδομένων...παρακαλώ περιμέντε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Πίσω"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Συνέχεια"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "1η παραπομπή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Ολοκληρωμένο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Ιατρικό Ιστορικό"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Δόντια με Κακή Πρόγνωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Ευρετήριο Ασθενών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Επανάληψη Τελευταίας Αναζήτησης"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "αναζήτηση ταχυδρομικού κώδικα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Πληρωμές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Πληρωμές για θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Μετρητά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Τσέκ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Χρεωστική Κάρτα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Πιστωτική Κάρτα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Άλλου είδους Πληρωμές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Διάφορα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Απαιτούνται δικαιώματα "
+"υπερχρήστη για αυτή την ενέργεια.<br />Παρακαλώ εισάγετε το "
+"συνθηματικό.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Νίκος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Βεατρίκη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Ελένη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Αντρέας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Φραγκίσκος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "κλπ..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Επείγον"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "ASAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Ρουτίνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Σημείωση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "£"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Εφαρμογή Αλλαγών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Χρήματα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Προσθήκη Ημερομηνίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Ημερομηνίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr "Ακτινογραφία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr "αναισθητικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr "Πλάνο Θεραπείας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr "Ολοκληρωμένη Θεραπεία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr "Κρυφές Σημειώσεις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Όλα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Συγγραφέας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Εισαγωγή ραντεβού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Ραντεβού με"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 ώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 ώρα 15 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 ώρα 20 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 ώρα 30 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 ώρα 45 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 ώρες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 ώρες 30 λεπτά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 ώρες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Δικαιολογία 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Δικαιολογία 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Δικαιολογία 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr "Σύνοψη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr "Το Ημερολόγιό μου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr "Κωδικός Συστήματος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr "Χρήστης 1 (υποχρεωτικό)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr "Χρήστης 2 (προαιρετικό)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr "αλλαγή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Πρώτη Εγχείριση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Δεύτερη Εγχείριση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Τρίτη Εγχείριση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Εργασίες Νίκου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Επεξεργασία Επιλεγμένης Εργασίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Προσθήκη Νέας Εργασίας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr "Πλάκα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "Αντιγραφή &Όλων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr "διαγραφή δεδομένων δοντιού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr "Εφαρμογή και μετακίνηση ενός δοντιού προς τα πίσω"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr "Εφαρμογή και μετακίνηση στο επόμενο δόντι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "Ι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "ΙΙ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "ΙΙΙ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr "ΠΡΟΣΘΗΚΗ ΣΧΟΛΙΩΝ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr "ΔΙΑΓΡΑΦΗ ΣΧΟΛΙΩΝ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr "θεραπεία ρίζας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Αντικείμενα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr "Εκτός Γραφείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr "Αργία"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr "ΗΜΕΡΟΜΗΝΙΑ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr "Ολοκλήρωση Θεραπειών"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Εμφάνιση Ιστορικού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr "Διαγραφή "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Αριστερά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Δεξιά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr "Ημερολόγιο για"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr "Κορώνες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr "Χρυσή Κορώνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr "Προσωρινή Κορώνα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr "Χρυσό_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr "Παρουσία Μόνιμου Δοντιού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr "Επιλογή Βοηθού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "σφάλμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr "δεν βρέθηκε ασθενής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr "Ο επιλεγμένος ασθενής είναι"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr "Επιλογή Κλινικού Ιατρού"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Απόκρυψη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr "Αγγλικά (Ηνωμένο Βασίλειο)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr "Αγγλικά (Αυστραλία)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr "Αφρικάνικα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr "Δανέζικα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr "Γαλλικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr "Γερμανικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr "Ούγγρικα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr "Ινδονησιακά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr "Ιταλικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr "Πολωνικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr "Πορτογαλικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr "Σλοβάκικα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr "Ισπανικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr "Τουρκικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Αντικείμενο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "ερώτηση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr "Σφάλμα XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "Εντάξει"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Εφαρμογή Αλλαγών;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Αναζήτηση Ξανά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Στατιστικά Εγγράφου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr "Στατιστικά"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr "Πληροφορίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr "Επιτυχής!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr "αποτέλεσμα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr "Αναζήτηση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr "Κωδικός Χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr "Επιλογή Όλων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr "Διαγραφή Αντικειμένου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr "κωδικοί χρήστη ή περιγραφές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr "κωδικοί χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr "περιγραφές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Αφαίρεση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr "ΑΠΟΘΗΚΕΥΣΗ ΝΕΟΥ ΑΣΘΕΝΟΥΣ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr "ΑΠΟΘΗΚΕΥΣΗ ΑΛΛΑΓΩΝ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr "Δεν υπάρχει διαθέσιμη πληροφορία για αυτό το έγγραφο, συγγνώμη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr "Μέγεθος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr "σφάλμα εισαγωγής αρχείου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr "δεν επιλέχθηκε αρχείο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr "Σημερινοί Ασθενείς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr "Σημερινοί Ασθενείς (ΟΛΟΙ)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr "Τέλος της λίστας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr "Αρχή της λίστας"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr "ΚΛΙΝΙΚΟΣ ΙΑΤΡΟΣ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr "ομάδα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr "κατάσταση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr "Δις"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr "Κος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr "Κα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr "Κα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr "Dr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr "Καθηγητής"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr "Μέγεθος Γραμματοσειράς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr "μέγιστη χρέωση για τον πελάτη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "Σφάλμα αποθήκευσης ασθενή, συγγνώμη!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Σφάλμα αποθήκευσης ασθενή"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "Ο Νέος Ασθενής δεν αποθηκεύτηκε. Εγκατάλειψη Αλλαγών;"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Ποσό : %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+"Ή τηλεφωνήστε μας με τις πληροφορίες για τις switch/visa/mastercard σας."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr "Αγαπητοί Ασθενείς"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "δεν φορτώθηκαν δεδομένα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "Σφάλμα αποθήκευσης αντιγράφου PDF %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Επαγγελματικές Υπηρεσίες"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "ΣΥΝΟΛΟ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr "OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "αποθήκευση αρχείου προτύπου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr "πρότυπα αρχεία openmolar "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Το πρότυπο αποθηκεύτηκε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr "Το πρότυπο δεν αποθηκεύτηκε"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr "πρότυπα αρχεία openmolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "επιτυχής φόρτωση προτύπου"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Τροποποίηση Τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Εφαρμογή Τώρα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Προσθήκη Νέου Χρήστη"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "δημιουργία νέων πινάκων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr "ενημέρωση ρυθμίσεων"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "εάν απαιτείται να αλλάξετε ένα ραντεβού."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr "ΕΞΕΤΑΣΗ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "ΟΙΚΟΓΕΝΕΙΑ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr "ΔΟΚΙΜΗ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr "XLA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Ιανουάριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Φεβρουάριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Μάρτιος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Απρίλιος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Μάιος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Ιούνιος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Ιούλιος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Αύγουστος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Σεπτέμβριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Οκτώβριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "Νοέμβριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Δεκέμβριος"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Σήμερα"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Αύριο"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Χθές"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Καλώς ήλθατε στο OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Έκδοση"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "Καλή σας μέρα!"
diff --git a/src/openmolar/locale/en_AU.po b/src/openmolar/locale/en_AU.po
new file mode 100644
index 0000000..9fa6e46
--- /dev/null
+++ b/src/openmolar/locale/en_AU.po
@@ -0,0 +1,6002 @@
+# English (Australia) translation for openmolar
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-05-20 23:27+0000\n"
+"PO-Revision-Date: 2010-05-20 09:09+0000\n"
+"Last-Translator: Neil Wallace <rowinggolfer at googlemail.com>\n"
+"Language-Team: English (Australia) <en_AU at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-05-21 03:39+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:744
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "emergency"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+msgid "Exam"
+msgstr "Exam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "Xray"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "Anaes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "other"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "custom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Denture Work"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Error - unrecognised practitioner- sorry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Fee_table"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Failed to Load"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "not found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Subject"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "To"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "From"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Message"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "Date"
+msgstr "Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Age Exemption removed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Letter No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Serial No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2992
+msgid "Title"
+msgstr "Title"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2999
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:136
+msgid "First Name"
+msgstr "First Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3001
+msgid "Surname"
+msgstr "Surname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Address"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:601
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3019
+msgid "Town"
+msgstr "Town"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Family No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "PostCode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "Dentist"
+msgstr "Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:602
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3021
+msgid "County"
+msgstr "County"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "Recall Date"
+msgstr "Recall Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "If you ever need to run this again, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "delete the openmolar.conf file in "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "If you ever need to run this wizard again, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Eg. if your server location changes, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "or you require a new password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "type"
+msgstr "type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "on the command line, or delete the file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "For a more secure setup, you should move this file to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:179
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Advisory"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Passwords don't match!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Create Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Create Demo Database now with the following settings?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Database Created Sucessfully"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Database NOT Created"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:287
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Welcome to the openMolar settings wizard."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Set the application Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Server Location"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Database Settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Save settings and exit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Create a demo database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Creating Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "The connection attempt threw an exception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Success!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "The %s database accepted the connection."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Error Creating Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "FAILURE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid "Update Client"
+msgstr "Update Client"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:81
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid "Proceed without upgrade?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:89
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:210
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:292
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:300
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:293
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:296
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:595
+msgid "Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:76
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:78
+msgid "mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:79
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:263
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:109
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:265
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3996
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:225
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:226
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:240
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:244
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:319
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:252
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:259
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:372
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:277
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:282
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:291
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:402
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:414
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:417
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:459
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:461
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:481
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:490
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:491
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:503
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:517
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1389
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:519
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1391
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:552
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:605
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:609
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1140
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1221
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1295
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1325
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1354
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1372
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1404
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1408
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:87
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3020
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:47
+msgid "Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:907
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:84
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:86
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:60
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+msgid "&Quit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:83
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+msgid "Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid " minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:98
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:309
+msgid "User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:298
+msgid "Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Adult"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Tooth Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:590
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:591
+msgid "What do you want to do?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:592
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:593
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:594
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:596
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:597
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:598
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:599
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:600
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3006
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Website"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+msgid "Initials"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+msgid "Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+msgid "Users"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+msgid "Registration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:656
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+msgid "Category Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+msgid "Image"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+msgid "..."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:927
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:510
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "Under 18"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2976
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2977
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2978
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2979
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2980
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2981
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2982
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3328
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2983
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2984
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2985
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2986
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2987
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2988
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2989
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2990
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2991
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2993
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2994
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2995
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2996
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2997
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2998
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3000
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3002
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3003
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3004
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3005
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:144
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3007
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3008
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3009
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3010
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3011
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3015
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3012
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3016
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3013
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3014
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3017
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3018
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3022
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3023
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3024
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3025
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3026
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3027
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3028
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3029
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3030
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3031
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1677
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3206
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3207
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid ""
+"if checked, openmolar will show only the diaries of clinicians who are "
+"working on this day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Automatic clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "All Listed Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "All Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "New Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid ""
+"if checked, openmolar will show only the diaries of clinicians who are "
+"working this week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "Selected Clinician Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3248
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3249
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3270
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3273
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3287
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3290
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:39
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Layout Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1887
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:286
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:288
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:297
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:335
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:308
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:310
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:324
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:325
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:334
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:336
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:127
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:128
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:143
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:130
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:121
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:313
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:221
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:223
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:224
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:587
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:587
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:201
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (GB)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:83
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:206
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:212
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:222
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:223
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:227
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:310
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:297
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:305
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:311
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:312
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:349
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:355
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:357
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:359
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:365
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:366
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:396
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:406
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:419
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:167
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:179
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:170
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:212
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:213
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:214
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:668
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:849
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2416
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1084
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1071
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1089
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1134
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1146
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1189
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1250
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1190
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1203
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1208
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1217
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1235
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1239
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1241
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1932
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1251
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1266
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1275
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1278
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1396
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1411
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1486
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1490
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1491
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1608
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1621
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1881
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1916
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1920
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2102
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2162
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2386
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2738
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3981
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3997
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4002
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4003
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4003
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:48
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:144
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:148
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:173
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:206
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:226
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:230
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:354
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:373
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:59
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:192
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:214
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:163
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:207
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:229
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:231
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:245
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:251
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:44
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:65
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:66
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:295
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:296
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:297
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:298
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:469
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:470
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:471
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:472
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:513
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:515
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:855
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:856
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:857
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:859
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:860
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/en_GB.po b/src/openmolar/locale/en_GB.po
new file mode 100644
index 0000000..8454c82
--- /dev/null
+++ b/src/openmolar/locale/en_GB.po
@@ -0,0 +1,6535 @@
+# English (United Kingdom) translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-04-05 02:09+0000\n"
+"PO-Revision-Date: 2010-04-05 02:27+0000\n"
+"Last-Translator: Neil Wallace <rowinggolfer at googlemail.com>\n"
+"Language-Team: English (United Kingdom) <en_GB at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-04-06 04:03+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2922
+msgid "Exam"
+msgstr "Exam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:67
+msgid "anaes"
+msgstr "anaes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:67
+msgid "perio"
+msgstr "perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:67
+msgid "xray"
+msgstr "x-ray"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "other"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "custom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:81
+msgid "Denture Work"
+msgstr "Denture Work"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Error - unrecognised practioner- sorry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Feetable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Failed to Load"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "not found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Subject"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "To"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "From"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Message"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2872
+msgid "Date"
+msgstr "Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:664
+msgid "Age Exemption removed"
+msgstr "Age exemption removed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Letter No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Serial No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2792
+msgid "Title"
+msgstr "Title"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2799
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:136
+msgid "First Name"
+msgstr "First Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2801
+msgid "Surname"
+msgstr "Surname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Address"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:601
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2819
+msgid "Town"
+msgstr "Town"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Family No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Postcode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "Dentist"
+msgstr "Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:602
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2821
+msgid "County"
+msgstr "County"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "Recall Date"
+msgstr "Recall Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "If you ever need to run this again, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "delete the openmolar.conf file in "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "If you ever need to run this wizard again, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Eg. if your server location changes, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "or you require a new password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "type"
+msgstr "type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "on the command line, or delete the file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "For a more secure setup, you should move this file to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Advisory"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Passwords don't match!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Create Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Create Demo Database now with the following settings?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Database Created Sucessfully"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Database NOT Created"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:287
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Welcome to the openMolar settings wizard."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Set the application Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Server Location"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Database Settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Save settings and exit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Create a demo database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Creating Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "The connection attempt threw an exception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Success!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "The %s database accepted the connection."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Error Creating Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "FAILURE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:75
+msgid "Update Client"
+msgstr "Update Client"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:76
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:83
+msgid "Proceed without upgrade?"
+msgstr "Proceed without upgrade?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:84
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:131
+msgid "This is not the default database - are you sure?"
+msgstr "This is not the default database - are you sure?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "confirm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:148
+msgid "DEFAULT"
+msgstr "DEFAULT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:150
+msgid "Chosen server"
+msgstr "Chosen server"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:166
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:173
+msgid "First Run"
+msgstr "First Run"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:202
+msgid "Unable to Run OpenMolar"
+msgstr "Unable to Run OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:203
+msgid "Good Bye!"
+msgstr "Good Bye!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:292
+msgid "Login Error"
+msgstr "Login Error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:285
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:288
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Under Treatment - Current Estimate</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "<h1>Estimate from previous course</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "No estimate data found</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Previous Course"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:595
+msgid "Start"
+msgstr "Start"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "End"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "No treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "COMPLETED"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:265
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3828
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Confirm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:226
+msgid "Delete all past Appointments?"
+msgstr "Delete all past Appointments?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:227
+msgid "from the diary of"
+msgstr "from the diary of"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:241
+msgid "Sucessfully removed appointment"
+msgstr "Sucessfully removed appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:244
+msgid "Error removing proposed appointment"
+msgstr "Error removing proposed appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:319
+msgid "No appointment selected"
+msgstr "No appointment selected"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:252
+msgid "Delete Unscheduled Appointment?"
+msgstr "Delete unscheduled appointment?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:259
+msgid "Confirm Delete appointment at"
+msgstr "Confirm delete appointment at"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:263
+msgid "with"
+msgstr "with"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:374
+msgid "Question"
+msgstr "Question"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:277
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr "Removed from appointment book - keep for rescheduling?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:282
+msgid "Error converting appointment"
+msgstr "Error converting appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+msgid "Error removing from patient diary"
+msgstr "Error removing from patient diary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:291
+msgid "Error Removing from Appointment Book"
+msgstr "Error removing from appointment book"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1379
+msgid "Do you want to unblock the selected slot?"
+msgstr "Do you want to unblock the selected slot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1409
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "unable to block - has the book been altered elsewhere?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1428
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr "unable to make appointment - has the book been altered elsewhere?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "Unscheduled"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "View past appointments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Date & Time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Practitioner"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Length"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:87
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2820
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:47
+msgid "Memo"
+msgstr "Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"For the moment, please enter treatment\n"
+"into the plan first then complete it."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr "unable to update chart - this shouldn't happen!!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr "you need to be in the static chart to change tooth state"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:259
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2918
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2975
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:777
+msgid "BPE"
+msgstr "BPE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:271
+msgid "NO CHARTS"
+msgstr "NO CHARTS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Form"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "CheckBox"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Plan Treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Add the following Treatment Items to the Current Treatment Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Select Appointment Length"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Hours"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Open a Day"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:84
+msgid "Clinician"
+msgstr "Clinician"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Date to Open"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Day Memo - optional"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Day Start"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Morning Emergency Slot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:86
+msgid "Finish"
+msgstr "Finish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Lunch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Afternoon Emergency Slot "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Day Finish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:60
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Appointment Tools"
+msgstr "Appointment Tools"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+msgid "Move the end date for making appointments."
+msgstr "Move the end date for making appointments."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr "Extend Books"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+msgid "Remove old weeks"
+msgstr "Remove old weeks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Edit Standard Working Weeks for Clinicians"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Open A Day"
+msgstr "Open A Day"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Insert regular blocks"
+msgstr "Insert regular blocks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid "&Quit"
+msgstr "&Quit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Appointment Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr "Add a combination of proposed appointments to the patients diary."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3019
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "TextLabel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Add"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:83
+msgid "Clinicians - DATE"
+msgstr "Clinicians - DATE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+msgid "Options"
+msgstr "Options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Would you like to Block (or partially Block) this Slot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Block Start"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Bock End"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Text to apply"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Blocked//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Emergency"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "Reserved Clinical Time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Out of Office"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr "Catch up time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Phone call"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Insert a Block"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Insert A Patient into this slot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Start Time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Chosen Patient is<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Change"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Reason for appointment is"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid " minutes"
+msgstr " minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Insert a Known Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:98
+msgid "Block Wizard"
+msgstr "Block Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Insert a block into a book for a range of dates."
+msgstr "Insert a block into a book for a range of dates."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3027
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Start Date"
+msgstr "Start Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+msgid "End Date (inclusive)"
+msgstr "End Date (inclusive)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "Time"
+msgstr "Time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+msgid "Text to Apply"
+msgstr "Text to apply"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Days to Apply"
+msgstr "Days to apply"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Clinicians"
+msgstr "Clinicians"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Bridge - Denture Entry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelain / Precious Metal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (or all ceramic)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Resin Retained"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Bridge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Upper"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Full (acrylic)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Full (co-chrome)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Partial (acrylic)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Partial (co-chrome)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+msgid "Other"
+msgstr "Other"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Lower"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Denture"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Bulk mail options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Date format for the letters"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Full day, month and year"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Month and year only"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Date to use"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Today's date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr "The actual recall date for the patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "This date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Change Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+msgid "Host"
+msgstr "Host"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:309
+msgid "User"
+msgstr "User"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "user"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:298
+msgid "Password"
+msgstr "Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "display password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Choose a Document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Choose a document to view"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "NHS Schedule of Remuneration April 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "NHS \"Information Guide\" 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "NHS Schedule of Remuneration"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "NHS \"Information Guide\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Language Selector"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Choose a tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Please select the tooth for which this treatment is planned"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Adult"
+msgstr "Adult"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+msgid "Deciduous"
+msgstr "Deciduous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Tooth Code"
+msgstr "Tooth Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid "go"
+msgstr "go"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Complete Treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "Complete Multiple Treatments?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Completion Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "UNNAMED PT - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Suggested completion Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Which Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr "Print a GP17 form using this dentist's contract no? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Previous Course (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "New Course ( no dates)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Choose"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Gold"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Resin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Fortress"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Bonded"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Recement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Cancel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Custom Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Number of Items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Fee"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Treatment Description"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Daylist Printing Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr "Specify Dates and Practitioners for a Daylist Print Run"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3028
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "End Date"
+msgstr "End Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "All Practioners on One Page"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "One Practitioner Per Page - Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "One Practioner Per Page - Fill Page"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Edit Memos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Global Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Clinician Memos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr "Letter text entry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Please enter the body text for your letter here.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOTAL "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1084
+msgid "Description"
+msgstr "Description"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "Cat"
+msgstr "Cat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1084
+msgid "Type"
+msgstr "Type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr "cset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Charge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Expand All"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Split Items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2878
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+msgid "code"
+msgstr "code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "small xrays"
+msgstr "small xrays"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2940
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2970
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Completed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+msgid "Exam Wizard"
+msgstr "Exam Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Extensive"
+msgstr "Extensive"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Full Case Assessment"
+msgstr "Full Case Assessment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Exam Date"
+msgstr "Exam Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2899
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2936
+msgid "Notes"
+msgstr "Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Pt c/o"
+msgstr "Pt c/o"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "nil"
+msgstr "nil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Broken Tooth"
+msgstr "Broken Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Pain"
+msgstr "Pain"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Denture Problems"
+msgstr "Denture Problems"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Sensitive Teeth"
+msgstr "Sensitive Teeth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Soft Tissues Checked"
+msgstr "Soft Tissues Checked"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "OHI given"
+msgstr "OHI given"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Palpated for upper canines - NAD"
+msgstr "Palpated for upper canines - NAD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Add Fee Table Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Patient Contribution"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr "UserCode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "Multiple Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Regulations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr "Regulation Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr "Feescale Category"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "Category for treatment planning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Patient Description"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Clinical Description(s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Gross Fees (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Net Fees (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"Below is the XML for this item (this is how they are stored in the database)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Original (read only)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2920
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2974
+msgid "New"
+msgstr "New"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr "Test Fee Item Logic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Appointment Time"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Space Before Appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 mins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Space After Appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Forum Input"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Topic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Comment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 Characters)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Hygenist Wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Scale and Polish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Extensive Scaling"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Part 1 of 2 visit treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Part 2 of 2 visit treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Dentist/Hygenist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr "Debridement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:590
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - database wizard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:591
+msgid "What do you want to do?"
+msgstr "What do you want to do?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:592
+msgid "Modify an existing openmolar database"
+msgstr "Modify an existing openmolar database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:593
+msgid "Create a New database from scratch"
+msgstr "Create a new database from scratch"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:594
+msgid "Create a New database (from a known template)"
+msgstr "Create a new database (from a known template)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:596
+msgid "Practice Name"
+msgstr "Practice Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:597
+msgid "Used in receipts, appointment cards etc."
+msgstr "Used in receipts, appointment cards etc."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:598
+msgid "Address Line 1"
+msgstr "Address Line 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:599
+msgid "Address Line 2"
+msgstr "Address Line 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:600
+msgid "Address Line 3"
+msgstr "Address Line 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "Postcode / Zip"
+msgstr "Postcode / Zip"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Telephone"
+msgstr "Telephone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2806
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Website"
+msgstr "Website"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Email"
+msgstr "Email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Practice Details"
+msgstr "Practice Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "The Following users can login to the application"
+msgstr "The Following users can login to the application"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Id"
+msgstr "ID"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+msgid "Initials"
+msgstr "Initials"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+msgid "Name"
+msgstr "Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+msgid "User Group"
+msgstr "User Group"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+msgid "Active?"
+msgstr "Active?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+msgid "DeActivation Date"
+msgstr "Deactivation Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Modify Selected User"
+msgstr "Modify selected user"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+msgid "New User Details"
+msgstr "New user details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Standard User"
+msgstr "Standard User"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Hygienist"
+msgstr "Hygienist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+msgid "Receptionist"
+msgstr "Receptionist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+msgid "Active User"
+msgstr "Active User"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+msgid "Add a New User"
+msgstr "Add a new user"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+msgid "Users"
+msgstr "Users"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+msgid "Add a Dentist"
+msgstr "Add a Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+msgid "Registration"
+msgstr "Registration"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+msgid "Active Appointment Book"
+msgstr "Active Appointment Book"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+msgid "Patients can be assigned to this dentist"
+msgstr "Patients can be assigned to this dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Dentists"
+msgstr "Dentists"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Hygienists"
+msgstr "Hygienists"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:425
+msgid "Monday"
+msgstr "Monday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:656
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:425
+msgid "Tuesday"
+msgstr "Tuesday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:347
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:425
+msgid "Wednesday"
+msgstr "Wednesday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:425
+msgid "Thursday"
+msgstr "Thursday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:426
+msgid "Friday"
+msgstr "Friday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:426
+msgid "Saturday"
+msgstr "Saturday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:426
+msgid "Sunday"
+msgstr "Sunday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Practice Hours"
+msgstr "Practice Hours"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "The Following Categories are used in this database"
+msgstr "The Following Categories are used in this database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Category"
+msgstr "Category"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+msgid "Category Name"
+msgstr "Category Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+msgid "Image"
+msgstr "Image"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Age Category"
+msgstr "Age Category"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+msgid "Minimum Age"
+msgstr "Minimum Age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+msgid "Maximum Age"
+msgstr "Maximum Age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+msgid "Add a Category"
+msgstr "Add a Category"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+msgid "Age Limit"
+msgstr "Age Limit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+msgid "None"
+msgstr "None"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "Under 18"
+msgstr "Under 18"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Category Letter"
+msgstr "Category Letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Category Active"
+msgstr "Category Active"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Patient Categories"
+msgstr "Patient Categories"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Treatments and Fees"
+msgstr "Treatments and Fees"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Referral Centres"
+msgstr "Referral Centres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "View XML"
+msgstr "View XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "File"
+msgstr "File"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "L&oad Template"
+msgstr "&Load Template"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+msgid "&Save Template"
+msgstr "&Save Template"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2776
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - YOUR dental database application"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2777
+msgid "Exit the Current Patient Record."
+msgstr "Exit the Current Patient Record."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2778
+msgid "Esc"
+msgstr "Esc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2779
+msgid "Add a New Patient to the database."
+msgstr "Add a New Patient to the database."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2780
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Click on this Button to search for in patient in your database."
+msgstr "Click on this Button to search for in patient in your database."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2781
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Find"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2782
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2783
+msgid "This cycles back through the history of records loaded today."
+msgstr "This cycles back through the history of records loaded today."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2784
+msgid "Reload the patient from the database."
+msgstr "Reload the patient from the database."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2785
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2786
+msgid "This cycles forwards through the history of records loaded today."
+msgstr "This cycles forwards through the history of records loaded today."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2787
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+"Show patients who live at the same address, or who have a similar name."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2788
+msgid "&Related"
+msgstr "&Related"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2789
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2790
+msgid "A drop down box of all patients who have an appointment today."
+msgstr "A drop down box of all patients who have an appointment today."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2791
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2966
+msgid "Details"
+msgstr "Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2793
+msgid "Sex"
+msgstr "Sex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2794
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2795
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2796
+msgid "Tel (home)"
+msgstr "Tel (home)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2797
+msgid "More Fields are available. Click Here to Edit."
+msgstr "More Fields are available. Click Here to Edit."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2798
+msgid "More"
+msgstr "More"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2800
+msgid "Tel (work)"
+msgstr "Tel (work)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2802
+msgid "Tel (mob)"
+msgstr "Tel (mob)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2803
+msgid "send an sms"
+msgstr "send an sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2804
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2805
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:144
+msgid "Date of Birth"
+msgstr "Date of Birth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2807
+msgid "send a fax"
+msgstr "send a fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2808
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2809
+msgid "Address1"
+msgstr "Address1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2810
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2811
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2815
+msgid "send an email"
+msgstr "send an email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2812
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2816
+msgid "email"
+msgstr "email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2813
+msgid "Address2"
+msgstr "Address2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2814
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2817
+msgid "Address3"
+msgstr "Address3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2818
+msgid "Occupation"
+msgstr "Occupation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2822
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Postcode"
+msgstr "Postcode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2823
+msgid "New Patients"
+msgstr "New Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2824
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Use the Sname and Address details from the previous patient."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2825
+msgid "Default Sname / Address"
+msgstr "Default Sname / Address"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2826
+msgid "Not implemented yet."
+msgstr "Not implemented yet."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2827
+msgid "Family"
+msgstr "Family"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2828
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Higlighted Fields are Mandatory for New Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2829
+msgid "Patient Details"
+msgstr "Patient Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2830
+msgid "Pt is registered with Dentist"
+msgstr "Pt is registered with Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2831
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Course Type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2832
+msgid "Status"
+msgstr "Status"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2833
+msgid "Active"
+msgstr "Active"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2834
+msgid "Moved Away"
+msgstr "Moved Away"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2835
+msgid "Deceased"
+msgstr "Deceased"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2836
+msgid "Bad Debt"
+msgstr "Bad Debt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2837
+msgid "No More Appts"
+msgstr "No More Appts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2838
+msgid "Write Off Bad Debt"
+msgstr "Write Off Bad Debt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2839
+msgid "This label is for displaying Private contractual stuff"
+msgstr "This label is for displaying Private contractual stuff"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2840
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2843
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2847
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2852
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3020
+msgid "Edit"
+msgstr "Edit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2841
+msgid "Private"
+msgstr "Private"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2842
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "This label is for displaying HDP contractual stuff"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2844
+msgid "Highland Dental Plan"
+msgstr "Highland Dental Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2845
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "This label is for displaying NHS contractual stuff"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2846
+msgid "View Claims History"
+msgstr "View Claims History"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2848
+msgid "Exemption"
+msgstr "Exemption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2849
+msgid "Exemption Text"
+msgstr "Exemption text"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2850
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2892
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2851
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr "No Details of Pt's Registered Dentist Found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2853
+msgid "Registered Elsewhere"
+msgstr "Registered Elsewhere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2854
+msgid "Contract"
+msgstr "Contract"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2855
+msgid "Letters TO the patient"
+msgstr "Letters TO the patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2856
+msgid " Custom Letter to the patient"
+msgstr " Custom Letter to the patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2857
+msgid "Recall management"
+msgstr "Recall management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2858
+msgid "Set the date for a recall to be generated automatically"
+msgstr "Set the date for a recall to be generated automatically"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2859
+msgid "Date Shortcuts"
+msgstr "Date Shortcuts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2860
+msgid "1 Month hence"
+msgstr "1 Month hence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2861
+msgid "3 Months hence"
+msgstr "3 Months hence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2862
+msgid "6 Months hence"
+msgstr "6 Months hence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2863
+msgid "12 Months hence"
+msgstr "12 Months hence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2864
+msgid "Print a recall saying the patient is due now."
+msgstr "Print a recall saying the patient is due now."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2865
+msgid "Print Recall Now"
+msgstr "Print Recall Now"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2866
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "Accounts"
+msgstr "Accounts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2867
+msgid "\"A\" letter"
+msgstr "\"A\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2868
+msgid "\"B\" letter"
+msgstr "\"B\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2869
+msgid "\"C\" letter"
+msgstr "\"C\" letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2870
+msgid "Print A Statement of Account"
+msgstr "Print A Statement of Account"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2871
+msgid "Duplicate Receipt"
+msgstr "Duplicate Receipt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2873
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Amount"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2874
+msgid "Print a receipt - useful for duplicates."
+msgstr "Print a receipt - useful for duplicates."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2875
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2882
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2989
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Print"
+msgstr "Print"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2876
+msgid "Previous Correspondence"
+msgstr "Previous Correspondence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2877
+msgid "Generated By OpenMolar"
+msgstr "Generated By OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2879
+msgid "Imported into database"
+msgstr "Imported into database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2880
+msgid "Import A Document"
+msgstr "Import A Document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2881
+msgid "Referrals (Letters about the patient)"
+msgstr "Referrals (Letters about the patient)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2883
+msgid "Export this record card"
+msgstr "Export this record card"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2884
+msgid "Print a patient's static chart."
+msgstr "Print a patient's static chart."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2885
+msgid "Print the Patient's static Chart"
+msgstr "Print the Patient's static Chart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2886
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2887
+msgid "Print A Summary of the Notes"
+msgstr "Print A Summary of the Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2888
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2889
+msgid "Print Detailed Notes"
+msgstr "Print Detailed Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2890
+msgid "Correspondence"
+msgstr "Correspondence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2891
+msgid "Account"
+msgstr "Account"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2893
+msgid "Print A GP17"
+msgstr "Print A GP17"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2894
+msgid "Apply an Exemption"
+msgstr "Apply an exemption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2895
+msgid "Custom Estimate on File"
+msgstr "Custom Estimate on File"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2896
+msgid "Print &Estimate"
+msgstr "Print &Estimate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2897
+msgid "Print &Account"
+msgstr "Print &Account"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2898
+msgid "Take &Payment"
+msgstr "Take &Payment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2900
+msgid "Patient's Diary"
+msgstr "Patient's Diary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2901
+msgid "A Wizard to select some common appointment combinations"
+msgstr "A wizard to select some common appointment combinations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2902
+msgid "Appointment Shortcuts"
+msgstr "Appointment Shortcuts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2903
+msgid "A New Appointment for this patient"
+msgstr "A new appointment for this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2904
+msgid "&New"
+msgstr "&New"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2905
+msgid "delete or cancel the appointment"
+msgstr "Delete or cancel the appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2906
+msgid "Clear/Cancel"
+msgstr "Clear/Cancel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2907
+msgid "Make the selected appointment"
+msgstr "Make the selected appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2908
+msgid "Schedule"
+msgstr "Schedule"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2909
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr "Housekeeping - remove all past appointments from the patient's diary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2910
+msgid "Delete All Past Appointments"
+msgstr "Delete all past appointments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2911
+msgid "Find the appointment in the the practice appointment list"
+msgstr "Find the appointment in the the practice appointment list"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2912
+msgid "Find in Book"
+msgstr "Find in Book"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2913
+msgid "Print out the next 5 appointments for this patient"
+msgstr "Print out the next 5 appointments for this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2914
+msgid "Print Card"
+msgstr "Print Card"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2915
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr "Allows modifcation of certain criteria for this appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2916
+msgid "Modify"
+msgstr "Modify"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2917
+msgid "Reception"
+msgstr "Reception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2919
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr "Update the Basic Perio Exam (CPITN) score"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2921
+msgid "perform a clinical exam"
+msgstr "perform a clinical exam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2923
+msgid "add x-rays to the patient's current course."
+msgstr "add x-rays to the patient's current course."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2924
+msgid "X-ray"
+msgstr "X-ray"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2925
+msgid "perform common perio treatments"
+msgstr "perform common perio treatments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2926
+msgid "Hyg"
+msgstr "Hyg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2927
+msgid "Close This Course"
+msgstr "Close This Course"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2928
+msgid "check / update the patients medical history"
+msgstr "check / update the patients medical history"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2929
+msgid "Med Notes"
+msgstr "Med Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2930
+msgid "Clinical Summary"
+msgstr "Clinical Summary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2931
+msgid "Verbosity Level"
+msgstr "Verbosity Level"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2932
+msgid "minimum"
+msgstr "minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2933
+msgid "medium"
+msgstr "medium"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2934
+msgid "maximum"
+msgstr "maximum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2935
+msgid "reception only"
+msgstr "reception only"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2937
+msgid "Charts View"
+msgstr "Charts View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2938
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Static"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2939
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2968
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "Plan"
+msgstr "Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2941
+msgid "Charts"
+msgstr "Charts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2942
+msgid "Estimate"
+msgstr "Estimate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2943
+msgid "Course Management"
+msgstr "Course Management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2944
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "Course Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2945
+msgid "New Course Of Treatment"
+msgstr "New Course Of Treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2946
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1552
+msgid "Close Course"
+msgstr "Close Course"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2947
+msgid "Estimate Management"
+msgstr "Estimate Management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2948
+msgid "Custom Estimate Letter"
+msgstr "Custom Estimate Letter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2949
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2952
+msgid "ReCalculate Estimate"
+msgstr "ReCalculate Estimate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2953
+msgid "Apply Exemption"
+msgstr "Apply Exemption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2954
+msgid "Standard View"
+msgstr "Standard View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2955
+msgid "Expanded View"
+msgstr "Expanded View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2956
+msgid "Plan/Completed (standard)"
+msgstr "Plan/Completed (standard)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2957
+msgid "Plan/Completed (expanded)"
+msgstr "Plan/Completed (expanded)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2958
+msgid "Treatment Planning"
+msgstr "Treatment Planning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2959
+msgid "Perform Exam"
+msgstr "Perform Exam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2960
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2961
+msgid "X-Rays"
+msgstr "X-Rays"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2962
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Dentures"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2963
+msgid "Ortho"
+msgstr "Ortho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2964
+msgid "Other Tx"
+msgstr "Other Tx"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2965
+msgid "Add Custom Item"
+msgstr "Add Custom Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2971
+msgid "Estimate/Plan"
+msgstr "Estimate/Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2972
+msgid "Choose Data"
+msgstr "Choose Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2973
+msgid "Chart Date"
+msgstr "Chart Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2976
+msgid "Perio Charts"
+msgstr "Perio Charts"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2977
+msgid "See all payments in the database made by this patient"
+msgstr "See all payments in the database made by this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2978
+msgid "Past Payments"
+msgstr "Past Payments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2979
+msgid "View treatments completed, by date order"
+msgstr "View treatments completed by date order"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2980
+msgid "Past Treatment"
+msgstr "Past Treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2981
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+"View all courses of treatment. This includes treatment that was planned but "
+"not completed."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2982
+msgid "Courses"
+msgstr "Courses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2983
+msgid "Estimate history for this patient."
+msgstr "Estimate history for this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2984
+msgid "Estimates"
+msgstr "Estimates"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2985
+msgid "display a combination of courses and estimates."
+msgstr "Display a combination of courses and estimates"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2986
+msgid "Courses / Estimates"
+msgstr "Courses / Estimates"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2987
+msgid "NHS Claims"
+msgstr "NHS Claims"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2988
+msgid "Print the text displayed on this page."
+msgstr "Print the text displayed on this page."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2990
+msgid "Custom Options"
+msgstr "Custom Options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2991
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2994
+msgid "debug tools"
+msgstr "debug tools"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2995
+msgid "changes only"
+msgstr "changes only"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2996
+msgid "History"
+msgstr "History"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2997
+msgid "Memos"
+msgstr "Memos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2998
+msgid "Enter Notes."
+msgstr "Enter Notes."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2999
+msgid "Today's Notes"
+msgstr "Today's Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3000
+msgid "Save the changes made to this record."
+msgstr "Save the changes made to this record."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3001
+msgid "Save Changes"
+msgstr "Save Changes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3002
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3003
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3018
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3025
+msgid "Tasks"
+msgstr "Tasks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3004
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "PhraseBook"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3005
+msgid "Ins"
+msgstr "Ins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3006
+msgid "Patient Database"
+msgstr "Patient Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3007
+msgid "Go To Today"
+msgstr "Go To Today"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3008
+msgid "Week"
+msgstr "Week"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3009
+msgid "Month"
+msgstr "Month"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3010
+msgid "Smart Selection"
+msgstr "Smart Selection"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3011
+msgid "Books as selected below"
+msgstr "Books as selected below"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3012
+msgid "show emergency spaces"
+msgstr "show emergency spaces"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3013
+msgid "show lunch breaks"
+msgstr "show lunch breaks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3014
+msgid "Ignore Out-of-office"
+msgstr "Ignore Out-of-office"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3015
+msgid "show appointments"
+msgstr "show appointments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3016
+msgid "Print Month View"
+msgstr "Print month view"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3017
+msgid "Year"
+msgstr "Year"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3021
+msgid "Day View"
+msgstr "Day View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3022
+msgid "Week View"
+msgstr "Week View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3023
+msgid "Month View"
+msgstr "Month View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3024
+msgid "Year View"
+msgstr "Year View"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3026
+msgid "Appointments / Diary"
+msgstr "Appointments / Diary"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3029
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+msgid "Registered Dentist"
+msgstr "Registered Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3030
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+msgid "Go"
+msgstr "Go"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3031
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "Print the Data"
+msgstr "Print the Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Cashbook"
+msgstr "Cashbook"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+msgid "Treating Dentist / Hygenist"
+msgstr "Treating Dentist / Hygenist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Daybook"
+msgstr "Daybook"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "Find Patient Records where the patient is in"
+msgstr "Find patient records for this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid "Debt"
+msgstr "Debt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "Credit"
+msgstr "Credit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "By More than"
+msgstr "By more than"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "Load Table"
+msgstr "Load Table"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+msgid "Print Table"
+msgstr "Print Table"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Print Selected Letters"
+msgstr "Print Selected Letters"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "TOTAL OUTSTANDING"
+msgstr "TOTAL OUTSTANDING"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Find Patient Records where"
+msgstr "Find patient records where"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "is between"
+msgstr "is between"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "dd/MM/yyyy"
+msgstr "dd/mm/yyyy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "and"
+msgstr "and"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "(Inclusive)"
+msgstr "(Inclusive)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "Print Letters"
+msgstr "Print letters"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Letter Options"
+msgstr "Letter options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "Bulk Mailings"
+msgstr "Bulk Mailings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr "Fee scales available"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "Use this control to select a feescale"
+msgstr "Use this control to select a feescale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+msgid "Search For an Item"
+msgstr "Search for an item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "only search for the given phrase in the usercode column"
+msgstr "Only search for the given phrase in the usercode column"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "Search Usercodes"
+msgstr "Search usercodes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "search for the given phrase in description columns"
+msgstr "Search for the given phrase in description columns"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Search Descriptions"
+msgstr "Search descriptions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Quickly expand all items"
+msgstr "Quickly expand all items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+msgid "Expand All Sections"
+msgstr "Expand All Sections"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "Quickly compress all items"
+msgstr "Quickly compress all items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+msgid "Compress All Sections"
+msgstr "Compress All Sections"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "NHS Regulation Document"
+msgstr "NHS Regulation Document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "Open A PDF of the latest NHS Regulations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Open"
+msgstr "Open"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Feescale Adjustment"
+msgstr "Feescale Adjustment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+"If checked, then the user can modify the underlying fees and fee items."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Allow Adjust FeeScales"
+msgstr "Allow Adjust FeeScales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr "Commit Changes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "show table xml"
+msgstr "show table xml"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+msgid "Feesscale Tester"
+msgstr "Feesscale Tester"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Feescales"
+msgstr "Feescales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Reply"
+msgstr "Reply"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Delete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "New Topic"
+msgstr "New Topic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "Search by keyword"
+msgstr "Search by keyword"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Show Topics for"
+msgstr "Show Topics for"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:39
+msgid "Everyone"
+msgstr "Everyone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+msgid "Layout Options"
+msgstr "Layout Options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Group replies"
+msgstr "Group replies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "Split Replies"
+msgstr "Split Replies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1753
+msgid "FORUM"
+msgstr "FORUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "&File"
+msgstr "&File"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "&Help"
+msgstr "&Help"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+msgid "&Preferences"
+msgstr "&Preferences"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "Tools"
+msgstr "Tools"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "&Export Patient to disk"
+msgstr "&Export Patient to disk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "&Import Patient from disk"
+msgstr "&Import Patient from disk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "About &OpenMolar"
+msgstr "About &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "&About QT"
+msgstr "&About QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Appointment Font Size"
+msgstr "Appointment Font Size"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Table View For Charting"
+msgstr "Table View For Charting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Clear Today's Emergency Slots"
+msgstr "Clear Today's Emergency Slots"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "Test Print an NHS Form"
+msgstr "Test Print an NHS Form"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "options"
+msgstr "options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "log queries in underlying terminal"
+msgstr "log queries in underlying terminal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "Set Clinician"
+msgstr "Set Clinician"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Choose Database"
+msgstr "Choose Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+msgid "FeeScale Adjuster"
+msgstr "FeeScale Adjuster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "Select && Print Daylists"
+msgstr "Select && Print Daylists"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "Change Language"
+msgstr "Change Language"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Full Screen Mode (Ctrl-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Ctrl+Alt+F"
+msgstr "Ctrl+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Create/Modify database"
+msgstr "Create/Modify database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Advanced Record Management"
+msgstr "Advanced record management"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+msgid "Show Geek Column"
+msgstr "Show Geek Column"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Medical Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Doctor's details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Doctor's Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Address / Tel No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Known Conditions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Current Medication"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Past Medication"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Allergies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Heart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Lungs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Liver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+msgid "Bleeding"
+msgstr "Bleeding"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Kidneys"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Anaesthetic / operations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Mark as Checked Today"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Checked"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Mark Patient as Med Alert"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "New CPITN score"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "New Course"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "Start a new Course of Treatment with the following Criteria?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Contracted Dentist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Acceptance Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:286
+msgid "OpenMolar - First Run"
+msgstr "OpenMolar - First Run"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:288
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first-run application "
+"will: </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">Set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Install a small (four "
+"patient) demo database if required.</li></ul></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:297
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Please enter a password to prevent unauthorised running of this application."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:335
+msgid "show"
+msgstr "show"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid "Repeat Password"
+msgstr "Repeat Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Where is your mysql server located? **"
+msgstr "Where is your mysql server located? **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Port"
+msgstr "Port"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:308
+msgid "Database Details"
+msgstr "Database Details"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:310
+msgid "(mysql)Password"
+msgstr "(mysql)Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "Database Name"
+msgstr "Database Name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "Test this Connection"
+msgstr "Test this Connection"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+msgid "Create A Demo Database"
+msgstr "Create a Demo Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Use with an existing database"
+msgstr "Use with an existing database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:324
+msgid "Launch OpenMolar Now"
+msgstr "Launch OpenMolar Now"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:325
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:334
+msgid "Root mysql password"
+msgstr "Root mysql password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:336
+msgid "Creating Database.... please wait"
+msgstr "Creating Database.... please wait"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Back"
+msgstr "Back"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "Proceed"
+msgstr "Proceed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "NHS Form Printer Settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Left Margin Width"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Top Margin Width"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "1st referral"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr "re - referral"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr "Previous Referral Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr "I am Willing to carry out simple treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr "Reason for Referral"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr "Crowding"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr "Spaced"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr "Mild"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Moderate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr "Severe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr "Incisal Relationship"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr "Overjet:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "mm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr "Overbite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Complete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr "InComplete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr "Traumatic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr "Relevant Medical History"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Dental History"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Teeth With Poor Prognosis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr "Patient Motivation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr "Removable Applicance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr "Fixed Appliance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:127
+msgid "Patient Finder"
+msgstr "Patient Finder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:128
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+"Fill in a few of the following fields to get a list of possible patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Repeat Last Search"
+msgstr "Repeat Last Search"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid "SNO or Surname"
+msgstr "SNO or Surname"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:143
+msgid "check to search for a similar sounding name"
+msgstr "check to search for a similar sounding name"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "Address includes"
+msgstr "Address includes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr "openMolar will search line1 and line2 of the address for this text"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "search for a postcode"
+msgstr "search for a postcode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Payments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Payments for treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Cash"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Cheque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Debit Card"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Credit Card"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Other Payments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Sundries"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "Annual HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Miscellaneous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Amount which will appear on receipt (read only)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Raise Permissions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr "Anaesthetic Used - Scandonest Plain"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr "Anaesthetic Used - Citanest"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr "Restored Using Fuji IX"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr "Task assigned to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Neil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Bea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Helen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Andy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Frances"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "etc...."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr "Write Today's notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr "Contact this patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr "Decision needed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Urgent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "ASAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Routine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr "By deadline"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Note"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Print Formatting"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Full Page"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr "Raise A Charge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Raise A charge for today's treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "£"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Repeat as many times as necessary - amounts will accumulate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr "Advanced record alteration"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr "NHS current fees (money0)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr "NHS payments (money2)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr "NHS estimated (money4)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr "Private estimate (money5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr "Exempt - NHS gross - Completed treatment (money6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr "Exempt - NHS gross - Estimated current (money7)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr "Credit (money8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr "Debt (money9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr "Debt2 (money10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr "Money 11 (always 0!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr "Private current fees (money1) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr "Private payments (money3)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr "ALL AMOUNTS ARE IN PENCE (cents)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr "Outstanding <br />amount"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Apply changes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Money"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr "Last CE (pd5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Add date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr "Last ECE (pd6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr "Last FCA (pd7)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr "Last OPT (pd8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr "Last intraoral x-rays (pd9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr "Last SP (pd10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr "Last account sent (billdate)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Dates"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr "X-ray"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr "Anaesthetics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr "New upper"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr "New lower"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr "Repair upper"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr "Repair lower"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr "Treatment plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr "Completed treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr "Hidden notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:73
+msgid "Related Patients"
+msgstr "Related Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:74
+msgid "This Patient"
+msgstr "This Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:75
+msgid ""
+"F\n"
+"A\n"
+"M\n"
+"I\n"
+"L\n"
+"Y"
+msgstr ""
+"F\n"
+"A\n"
+"M\n"
+"I\n"
+"L\n"
+"Y"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:81
+msgid ""
+"A\n"
+"D\n"
+"D\n"
+"R\n"
+"E\n"
+"S\n"
+"S"
+msgstr ""
+"A\n"
+"D\n"
+"D\n"
+"R\n"
+"E\n"
+"S\n"
+"S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:88
+msgid ""
+"S\n"
+"I\n"
+"M\n"
+"I\n"
+"L\n"
+"A\n"
+"R"
+msgstr ""
+"S\n"
+"I\n"
+"M\n"
+"I\n"
+"L\n"
+"A\n"
+"R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:54
+msgid "Confirmation Required"
+msgstr "Confirmation Required"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:55
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr "What's Changed?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Post a memo about this Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr "Expiry Policy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "Do Not Expire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Expire on this date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Viewable by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "All"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr "Surgery Machines"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr "Reception Machines"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Author"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "Make a Selection"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+msgid "Delete this memo when I close this"
+msgstr "Delete this memo when I close this"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Enter an appointment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Appointment with"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 hour"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 hour 15 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 hour 20 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 hour 30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 hour 45 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 hours"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 hours 30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 hours"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Combined Appointment With Hygenist?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Reason 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Reason 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Reason 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Brief Note for Clinician (optional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Schedule Appointment Now"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:130
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "System Password"
+msgstr "System Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "User 1(required)"
+msgstr "User 1(required)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 2 (optional)"
+msgstr "User 2 (optional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "Surgery Machine"
+msgstr "Surgery Machine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Reception Machine"
+msgstr "Reception Machine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+msgid "change"
+msgstr "Change"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr "Please set the Surgery Number"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Surgery One"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Surgery Two"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Surgery Three"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Neil's Tasks"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Edit Selected Task"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Add a New Task"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:121
+msgid "ToothId"
+msgstr "ToothId"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:122
+msgid "Pocketing"
+msgstr "Pocketing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "Plaque"
+msgstr "Plaque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+msgid "Recession"
+msgstr "Recession"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+msgid "Furcation"
+msgstr "Furcation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+msgid "Suppuration"
+msgstr "Suppuration"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+msgid "Mobility"
+msgstr "Mobility"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+msgid "Copy &All"
+msgstr "Copy &All"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:221
+msgid "delete tooth data"
+msgstr "delete tooth data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+msgid "Cp"
+msgstr "Cp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "Apply and move Back a tooth"
+msgstr "Apply and move Back a tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Apply & Move to Next Tooth"
+msgstr "Apply & Move to Next Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:375
+msgid "ADD COMMENTS"
+msgstr "ADD COMMENTS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:223
+msgid "!KUO"
+msgstr "!KUO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:224
+msgid "!Mobile Tooth"
+msgstr "!Mobile Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+msgid "!Early Caries"
+msgstr "!Early Caries"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "!Filling Missing"
+msgstr "!Filling Missing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+msgid "!Chipped"
+msgstr "!Chipped"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!Cracked"
+msgstr "!Cracked"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Poor Prognosis"
+msgstr "!Poor Prognosis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Extract Soon"
+msgstr "!Extract Soon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Implant required"
+msgstr "!Implant required"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:377
+msgid "DELETE COMMENTS"
+msgstr "DELETE COMMENTS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "AM"
+msgstr "AM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "CO"
+msgstr "CO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "GL"
+msgstr "GL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "Po"
+msgstr "Po"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "Apply & Add Another Item"
+msgstr "Apply & Add Another Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Toggle between static and plan"
+msgstr "Toggle between static and plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "toggle between deciduous and permanent tooth"
+msgstr "toggle between deciduous and permanent tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "Dec"
+msgstr "Dec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "denture tooth"
+msgstr "denture tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+msgid "AT"
+msgstr "AT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+msgid "tooth missing"
+msgstr "tooth missing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "TM"
+msgstr "TM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "extract (plan only!)"
+msgstr "extract (plan only!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "Ex"
+msgstr "Ex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "root treatment"
+msgstr "root treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+msgid "RT"
+msgstr "RT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "porcelain veneer"
+msgstr "porcelain veneer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "Cr"
+msgstr "Cr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "Comp"
+msgstr "Comp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr "Tooth Property Editor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr "UR8"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr "Database Line"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:96
+msgid "erroneous exemption category entered"
+msgstr "Erroneous exemption category entered"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:80
+msgid "Public Holidays"
+msgstr "Public holidays"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:81
+msgid "Enter the information for "
+msgstr "Enter the information for "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:387
+msgid "DATE"
+msgstr "DATE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:651
+msgid "Edit day memos"
+msgstr "Edit day memos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:653
+msgid "Edit Public Holiday information"
+msgstr "Edit public holiday information"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr "Toggle Deciduous State"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr "Complete Treatments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr "Change crown type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr "Change material of"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr "Delete All Restorations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Show History"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr "Delete "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Left"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Right"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr "Close"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr "Fissure Sealants"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Fissure Sealant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr "Fissure Sealant/Composite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr "Crowns"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr "Porcelain bonded crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr "Gold Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr "Lava Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr "Porcelain Jacket Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr "Temporary Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr "Resin Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr "Other Crown"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr "Bridge retainers"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr "Lava Retainer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr "Adhesive Wing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr "Bridge pontics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr "Bonded_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr "Gold_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr "Lava_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr "Other_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr "Endodontics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr "Pulp Extirpation - 1 canal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr "Pulp Extirpation - multiple canals"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr "Root Canal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr "Incomplete Endodontics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr "Surgical"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Extraction"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr "Surgical Extraction"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr "Apicectomy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr "Static Only"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr "Tooth Missing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr "Denture Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr "Root Present"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr "Permanent Tooth Present"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr "Partially Erupted Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr "Unerupted Tooth"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr "What treatment has been performed?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "emergency"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr "applying changes for"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr "No patient chosen!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr "Start is outside slot bounds (too early)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr "Start is outside slot bounds (too late)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr "Finish is outside slot bounds (too late)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr "Finish is outside slot bounds (too early)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr "Length of appointment is too short"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr "No reason for the block given"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2004
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:203
+msgid "no patient selected"
+msgstr "no patient selected"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr "Unable to commit because"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr "no match found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr "patient not found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr "Chosen Patient is"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr "no patient chosen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr "Please enter a dentist / hygenist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr "Please set a valid course type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr "Some fields are missing, please check"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr "You have unsaved changes to the record of"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Hide"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (GB)"
+msgstr "English (GB)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "Afrikaans"
+msgstr "Afrikaans"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "French"
+msgstr "French"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr "Danish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "German"
+msgstr "German"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "Hungarian"
+msgstr "Hungarian"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Italian"
+msgstr "Italian"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Polish"
+msgstr "Polish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Portuguese"
+msgstr "Portuguese"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Slovak"
+msgstr "Slovak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Spanish"
+msgstr "Spanish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Turkish"
+msgstr "Turkish"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:83
+msgid "no translation file found for %s"
+msgstr "no translation file found for %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr "Planned"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr "click to edit Item - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr "click to delete item - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr "click to promote Item - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "question"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr "Were these x-rays taken today?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr "<p>Credit Patient %s for undoing this item?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr "couldn't pass on delete message - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr "badly formed est.type??? %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr "remove %s %s from the estimate?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr "bad date sequence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr "Please save the old course changes before continuing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr "Sucessfully started new course of treatment"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr "ERROR STARTING NEW COURSE, sorry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr "Bad XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "OK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr "all tests passed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr "regex error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr "Fee Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Apply changes?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr "You have altered a usercode."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change accross all fee tables?"
+msgstr "Do you want to apply this change accross all feetables?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr "<i>consider making %s the registered dentist</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr "%s examination performed by %s\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr "Different (outdated?) fee found in estimate - please check"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr "Examination not applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr "check parseable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Find Again"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Document Statistics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr "Statistics"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr "Information"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr "Sucess!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr "Database updated"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr "result"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr "data parses ok with xml.minidom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr "PARSING DATA FAILED with xml.minidom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr "Enter Phrase to Search for"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr "Search"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr "Phrase not found"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr "Fee Table Editor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr "Usercode"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr "Brief description"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:206
+msgid "The following tables were altered"
+msgstr "The following tables were altered"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:212
+msgid "No changes apllied"
+msgstr "No changes applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:262
+msgid "Adjust / edit this Item"
+msgstr "Adjust / edit this Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:249
+msgid "Add to tx plan"
+msgstr "Add to TX plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:257
+msgid "Add to tx plan of patient"
+msgstr "Add to TX plan of patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:263
+msgid "Delete Item"
+msgstr "Delete Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:264
+msgid "Insert New Item"
+msgstr "Insert New Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:301
+msgid "Items containing"
+msgstr "Items containing"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+msgid "phrase not found in feetable"
+msgstr "Phrase not found in feetable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "usercodes or descriptions"
+msgstr "Usercodes or descriptions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:311
+msgid "usercodes"
+msgstr "Usercodes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:313
+msgid "descriptions"
+msgstr "Descriptions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "nothing to search"
+msgstr "Nothing to search"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:318
+msgid "please select usercodes and/or descriptions then search again"
+msgstr "Please select usercodes and/or descriptions then search again"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:348
+msgid "Error opening PDF file"
+msgstr "Error opening PDF file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:358
+msgid "IN CURRENT USE"
+msgstr "IN CURRENT USE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "fee table error"
+msgstr "Fee table error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Remove"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr "From the Treatment Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr "performed by"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:167
+msgid "Delete %d Posts?"
+msgstr "Delete %d Posts?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:179
+msgid "Delete selected Post?"
+msgstr "Delete selected Post?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:203
+msgid "Decision Required"
+msgstr "Decision Required"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:204
+msgid "you have unsaved changes to your feetables"
+msgstr "You have unsaved changes to your feetables"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:205
+msgid "commit now?"
+msgstr "commit now?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:933
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:950
+msgid "is no longer an active dentist in this practice"
+msgstr "is no longer an active dentist in this practice"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:937
+msgid "unknown contract dentist - please correct this"
+msgstr "unknown contract dentist - please correct this"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:955
+msgid "unknown course dentist - please correct this"
+msgstr "unknown course dentist - please correct this"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1000
+msgid "SAVE NEW PATIENT"
+msgstr "SAVE NEW PATIENT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1012
+msgid "SAVE CHANGES"
+msgstr "SAVE CHANGES"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1046
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1116
+msgid "Re-open"
+msgstr "Re-open"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1056
+msgid "Do you want to review and/or reprint this item?"
+msgstr "Do you want to review and/or reprint this item?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1069
+msgid "error reviewing PDF file"
+msgstr "Error reviewing PDF file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1074
+msgid "No information available about this document, sorry"
+msgstr "No information available about this document, sorry"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1083
+msgid "Date imported"
+msgstr "Date imported"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1084
+msgid "Size"
+msgstr "Size"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1101
+msgid "opening"
+msgstr "opening"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1105
+msgid "error importing file"
+msgstr "error importing file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1107
+msgid "no file chosen"
+msgstr "no file chosen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1117
+msgid "Do you want to open a copy of this document?"
+msgstr "Do you want to open a copy of this document?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1132
+msgid "error opening document"
+msgstr "error opening document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1141
+msgid "Today's Patients"
+msgstr "Today's Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1144
+msgid "Today's Patients (ALL)"
+msgstr "Today's Patients (ALL)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1272
+msgid "Reached end of the List"
+msgstr "Reached end of the list"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1287
+msgid "Reached Start of the List"
+msgstr "Reached start of the list"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1365
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+"Error populating interface\n"
+"%s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1483
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1496
+msgid "problem getting a memo %s"
+msgstr "problem getting a memo %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1747
+msgid "NEW FORUM POSTS"
+msgstr "NEW FORUM POSTS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1969
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2029
+msgid "Sucessfully altered the following items"
+msgstr "Sucessfully altered the following items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2255
+msgid "no record selected"
+msgstr "no record selected"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2596
+msgid "error commiting changes"
+msgstr "error commiting changes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3813
+msgid "Scrap the estimate and re-price everything?"
+msgstr "Scrap the estimate and re-price everything?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3829
+msgid "apply an exmption to this estimate?"
+msgstr "apply an exmption to this estimate?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3834
+msgid "input needed"
+msgstr "input needed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3835
+msgid "maximum charge for the patient"
+msgstr "maximum charge for the patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3835
+msgid "please enter the amount in pence, or leave as 0 for full exmption"
+msgstr "please enter the amount in pence, or leave as 0 for full exmption"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:48
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "Error saving new patient, sorry!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Error saving patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "New Patient not saved. Abandon Changes?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr "STATEMENT OF ACCOUNT - FINAL REMINDER"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr "We are concerned that despite previous correspondance,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr "your account still stands as follows: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr "Please note that your account stands as follows:- "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Amount : %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr "This amount is now due in full. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr "A previous account was sent out to you on %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+"It would be appreciated if you would settle this matter as soon as possible."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+"It would be appreciated if this account is settled within seven days."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr "On this deadline, we will pass this debt to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr "Scott & Company Sheriff Officers for collection."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr "Yours sincerely,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr "* Cheques payable to: \"Academy Dental Practice\"\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr "Or telephone us with your switch/visa/mastercard details."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr "Dear"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+"We are writing to inform you that your dental examination is now due."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr "Please contact the surgery to arrange an appointment. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr "We look forward to seeing you in the near future."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr "Dear Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+"We are writing to inform you that your dental examinations are now due."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr "Please contact the surgery to arrange suitable appointments. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "No data loaded"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr "Options set"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr "Collapse All"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr "our ref"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr "PDF is NONE - (tell devs this happened)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "Error saving PDF copy %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Professional Services"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr "duplicate receipt for %.02f"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:144
+msgid "Nothing to print - have you loaded the table?"
+msgstr "Nothing to print - have you loaded the table?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:148
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:171
+msgid ""
+"<tr><td colspan=\"11\"></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\"><b>£ %.02f</b></td></tr>\n"
+"</table></body></html>"
+msgstr ""
+"<tr><td colspan=\"11\"></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\"><b>£ %.02f</b></td></tr>\n"
+"</table></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:208
+msgid "Estimate for your current course of treatment."
+msgstr "Estimate for your current course of treatment."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:228
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:356
+msgid "Previous Course (%s - %s)"
+msgstr "Previous Course (%s - %s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:375
+msgid "Print an NHS form now?"
+msgstr "Print an NHS form now?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr "Dear %s %s,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:59
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:192
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:214
+msgid "upgrading to schema version"
+msgstr "upgrading to schema version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:163
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:207
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:229
+msgid "Conversion to %s failed"
+msgstr "Conversion to %s failed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:231
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:245
+msgid "Unexpected Error updating the schema"
+msgstr "Unexpected Error updating the schema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "Please File A bug by visiting "
+msgstr "Please File A bug by visiting "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:251
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr "Books currently end on"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr "Extend the books now?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr "How many months?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr "Not yet implemented"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr "Please enter initials for this user"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr "Please set a name for this user"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr "this action will overwrite any current data stored"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr "proceed?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "save template file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr "openmolar template files "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Template Saved"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr "operation cancelled"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr "Template not saved"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr "load an existing template file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr "openmolar template files"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "template loaded sucessfully"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr "error parsing template file"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Modify Now"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Apply Now"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Add New User"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr "money changes applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr "date changes applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr "plan changes applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr "completed treatment changes applied"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr "updated hidden notes list"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+msgid "updating stored schema version"
+msgstr "updating stored schema version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "ALL DONE - sucessfully moved db to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "creating new tables"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+msgid "updating settings"
+msgstr "updating settings"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr "couldn't create tables, rolled back to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr "Copying data across from old Fee Table"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+msgid "rolled back to"
+msgstr "rolled back to"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+msgid "executing statements"
+msgstr "executing statements"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr "transfering data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+msgid "inserting values"
+msgstr "inserting values"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr "You may now remove old fee tables"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:41
+msgid "translation tools are installed sucessfully"
+msgstr "Translation tools are installed sucessfully"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:60
+msgid "Please try and give at least 24 hours notice"
+msgstr "Please try and give at least 24 hours notice"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:61
+msgid "if you need to change an appointment."
+msgstr "if you need to change an appointment."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:282
+msgid "EXAM"
+msgstr "EXAM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:283
+msgid "BITE"
+msgstr "BITE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:284
+msgid "BT"
+msgstr "BT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:285
+msgid "FAMILY"
+msgstr "FAMILY"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:286
+msgid "FILL"
+msgstr "FILL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:287
+msgid "FIT"
+msgstr "FIT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:288
+msgid "HYG"
+msgstr "HYG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:289
+msgid "IMPS"
+msgstr "IMPS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:290
+msgid "LF"
+msgstr "LF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:291
+msgid "ORTHO"
+msgstr "ORTHO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:292
+msgid "PAIN"
+msgstr "PAIN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:293
+msgid "PREP"
+msgstr "PREP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:294
+msgid "RCT"
+msgstr "RCT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:295
+msgid "RECEMENT"
+msgstr "RECEMENT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:296
+msgid "REVIEW"
+msgstr "REVIEW"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:297
+msgid "SP"
+msgstr "SP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:298
+msgid "TRY"
+msgstr "TRY"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "XLA"
+msgstr "XLA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:460
+msgid "January"
+msgstr "January"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:461
+msgid "February"
+msgstr "February"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:462
+msgid "March"
+msgstr "March"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:463
+msgid "April"
+msgstr "April"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:464
+msgid "May"
+msgstr "May"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:465
+msgid "June"
+msgstr "June"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:466
+msgid "July"
+msgstr "July"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:467
+msgid "August"
+msgstr "August"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:468
+msgid "September"
+msgstr "September"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:469
+msgid "October"
+msgstr "October"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:470
+msgid "November"
+msgstr "November"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:471
+msgid "December"
+msgstr "December"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:502
+msgid "Today"
+msgstr "Today"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:504
+msgid "Tomorrow"
+msgstr "Tomorrow"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:506
+msgid "Yesterday"
+msgstr "Yesterday"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:792
+msgid "Welcome to OpenMolar!"
+msgstr "Welcome to OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:793
+msgid "Version"
+msgstr "Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:794
+msgid "Revision"
+msgstr "Revision"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:796
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr "Your data is accessible, and the server reports no issues."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:797
+msgid "Have a great day!"
+msgstr "Have a great day!"
+
+#~ msgid "The %s accepted the connection %s."
+#~ msgstr "The %s accepted the connection %s."
+
+#~ msgid "Please re-enter this password"
+#~ msgstr "Please re-enter this password"
+
+#~ msgid "Passwords did not match, please try again"
+#~ msgstr "Passwords did not match, please try again"
+
+#~ msgid ""
+#~ "Please enter a password to\n"
+#~ "prevent unauthorised running of this application."
+#~ msgstr ""
+#~ "Please enter a password to\n"
+#~ "prevent unauthorised running of this application."
+
+#~ msgid ""
+#~ "<p>This openMolar client has fallen behind your database\n"
+#~ "schema version<br />this client was written for schema version %s,\n"
+#~ "but your database is now at %s<br />However, the differences are not "
+#~ "critical,\n"
+#~ "and you can continue if you wish</p>\n"
+#~ "<p><i>It would still be wise to update openMolar ASAP</i></p>\n"
+#~ "<hr /><p>Do you wish to continue?</p>"
+#~ msgstr ""
+#~ "<p>This openMolar client has fallen behind your database\n"
+#~ "schema version<br />this client was written for schema version %s,\n"
+#~ "but your database is now at %s<br />However, the differences are not "
+#~ "critical,\n"
+#~ "and you can continue if you wish</p>\n"
+#~ "<p><i>It would still be wise to update openMolar ASAP</i></p>\n"
+#~ "<hr /><p>Do you wish to continue?</p>"
+
+#~ msgid ""
+#~ "<center><p>\n"
+#~ "This appears to be your first running of openMolar<br />\n"
+#~ "Before you run this application ,<br />\n"
+#~ "We need to generate a settings file.<br />\n"
+#~ "So that openmolar knows where your mysql server resides<br />\n"
+#~ "If you do not have a database, you will be prompted to create one<</p>\n"
+#~ "Are you ready to proceed?</center>"
+#~ msgstr ""
+#~ "<center><p>\n"
+#~ "This appears to be your first running of openMolar<br />\n"
+#~ "Before you run this application ,<br />\n"
+#~ "We need to generate a settings file.<br />\n"
+#~ "So that openmolar knows where your mysql server resides<br />\n"
+#~ "If you do not have a database, you will be prompted to create one<</p>\n"
+#~ "Are you ready to proceed?</center>"
+
+#~ msgid "<H4>Previous Course</H4>"
+#~ msgstr "<H4>Previous Course</H4>"
+
+#~ msgid "Start %s<br />"
+#~ msgstr "Start %s<br />"
+
+#~ msgid "End %s<br />"
+#~ msgstr "End %s<br />"
+
+#~ msgid "%sNo treatment</body></html>"
+#~ msgstr "%sNo treatment</body></html>"
+
+#~ msgid "%s<h4>PLAN</h4>%s<hr /><h4>COMPLETED</h4>%s</body></html>"
+#~ msgstr "%s<h4>PLAN</h4>%s<hr /><h4>COMPLETED</h4>%s</body></html>"
+
+#~ msgid "TBA"
+#~ msgstr "TBA"
+
+#~ msgid "removing appointment dentist"
+#~ msgstr "removing appointment dentist"
+
+#~ msgid "Total Fee for these Items"
+#~ msgstr "Total Fee for these Items"
+
+#~ msgid "Complete this Treatment with the following Criteria?"
+#~ msgstr "Complete this Treatment with the following Criteria?"
+
+#~ msgid "Treating Dentist/Hygenist"
+#~ msgstr "Treating Dentist/Hygenist"
+
+#~ msgid "Gross Fee"
+#~ msgstr "Gross Fee"
+
+#~ msgid "Patient Charge"
+#~ msgstr "Patient Charge"
+
+#~ msgid "Patient Fee"
+#~ msgstr "Patient Fee"
+
+#~ msgid "Norman - Letter Text Entry"
+#~ msgstr "Norman - Letter Text Entry"
+
+#~ msgid "Pt Fee"
+#~ msgstr "Pt Fee"
+
+#~ msgid "FeeAdjuster"
+#~ msgstr "FeeAdjuster"
+
+#~ msgid "&About"
+#~ msgstr "&About"
+
+#~ msgid "&Save Changes"
+#~ msgstr "&Save Changes"
+
+#~ msgid "Help"
+#~ msgstr "Help"
+
+#~ msgid "&Version"
+#~ msgstr "&Version"
+
+#~ msgid "Standard Fee"
+#~ msgstr "Standard Fee"
+
+#~ msgid "Charge to Patient"
+#~ msgstr "Charge to Patient"
+
+#~ msgid "Print letter Now"
+#~ msgstr "Print letter Now"
+
+#~ msgid "History Options"
+#~ msgstr "History Options"
+
+#~ msgid "debug"
+#~ msgstr "debug"
+
+#~ msgid "Font Size"
+#~ msgstr "Font Size"
+
+#~ msgid "View Mode"
+#~ msgstr "View Mode"
+
+#~ msgid "Book"
+#~ msgstr "Book"
+
+#~ msgid "choose month"
+#~ msgstr "choose month"
+
+#~ msgid "MM/yyyy"
+#~ msgstr "MM/yyyy"
+
+#~ msgid "Find Patients"
+#~ msgstr "Find Patients"
+
+#~ msgid "Recalls"
+#~ msgstr "Recalls"
+
+#~ msgid "Show All Fee Scales"
+#~ msgstr "Show All Fee Scales"
+
+#~ msgid "Private FeeScale"
+#~ msgstr "Private FeeScale"
+
+#~ msgid "NHS FeeScale 2008"
+#~ msgstr "NHS FeeScale 2008"
+
+#~ msgid "Show All Items"
+#~ msgstr "Show All Items"
+
+#~ msgid "Favourite Items Only"
+#~ msgstr "Favourite Items Only"
+
+#~ msgid "Search for an Item"
+#~ msgstr "Search for an Item"
+
+#~ msgid "Default Columns"
+#~ msgstr "Default Columns"
+
+#~ msgid "All Columns"
+#~ msgstr "All Columns"
+
+#~ msgid ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welcome "
+#~ "to the openMolar settings wizard.</p>\n"
+#~ "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+#~ "bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This will "
+#~ "set your system password, configure your mysql server, and install a small "
+#~ "demo database if required.</p></body></html>"
+#~ msgstr ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welcome "
+#~ "to the openMolar settings wizard.</p>\n"
+#~ "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+#~ "bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This will "
+#~ "set your system password, configure your mysql server, and install a small "
+#~ "demo database if required.</p></body></html>"
+
+#~ msgid "OK, continue"
+#~ msgstr "OK, continue"
+
+#~ msgid "show password"
+#~ msgstr "show password"
+
+#~ msgid "Where is your mysql server located?"
+#~ msgstr "Where is your mysql server located?"
+
+#~ msgid "3306"
+#~ msgstr "3306"
+
+#~ msgid "Yes please"
+#~ msgstr "Yes please"
+
+#~ msgid "No, I have a database already, continue."
+#~ msgstr "No, I have a database already, continue."
+
+#~ msgid "Would you like to create a demo openmolar database now?"
+#~ msgstr "Would you like to create a demo openmolar database now?"
+
+#~ msgid ""
+#~ "Please enter a mysql user who has privileges for the openmolar database."
+#~ msgstr ""
+#~ "Please enter a mysql user who has privileges for the openmolar database."
+
+#~ msgid "OMuser"
+#~ msgstr "OMuser"
+
+#~ msgid "Test this connection to this database"
+#~ msgstr "Test this connection to this database"
+
+#~ msgid ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... you are all set to "
+#~ "go.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">You will be presented with "
+#~ "a login screen.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">I trust you remember your "
+#~ "password?</p>\n"
+#~ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+#~ "margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">If you created a demo "
+#~ "database... </p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">enter <span style=\" font-"
+#~ "weight:600; text-decoration: underline;\">user</span> into the user1 field "
+#~ "of the login screen.</p></body></html>"
+#~ msgstr ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... you are all set to "
+#~ "go.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">You will be presented with "
+#~ "a login screen.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">I trust you remember your "
+#~ "password?</p>\n"
+#~ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+#~ "margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">If you created a demo "
+#~ "database... </p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">enter <span style=\" font-"
+#~ "weight:600; text-decoration: underline;\">user</span> into the user1 field "
+#~ "of the login screen.</p></body></html>"
+
+#~ msgid "Save settings and launch openmolar"
+#~ msgstr "Save settings and launch openmolar"
+
+#~ msgid ""
+#~ "To create a database, please enter the password of your ROOT mysql user."
+#~ msgstr ""
+#~ "To create a database, please enter the password of your ROOT mysql user."
+
+#~ msgid "Create openmolar_demo database, and continue"
+#~ msgstr "Create openmolar_demo database, and continue"
+
+#~ msgid "Date of birth in format dd/mm/yyyy"
+#~ msgstr "Date of birth in format dd/mm/yyyy"
+
+#~ msgid "Discard Changes"
+#~ msgstr "Discard Changes"
+
+#~ msgid "Continue Editing"
+#~ msgstr "Continue Editing"
+
+#~ msgid "Show Advanced Options"
+#~ msgstr "Show Advanced Options"
+
+#~ msgid "Chose a server"
+#~ msgstr "Chose a server"
+
+#~ msgid "Toggle Deciduous Status"
+#~ msgstr "Toggle Deciduous Status"
+
+#~ msgid "Bridge Elements"
+#~ msgstr "Bridge Elements"
+
+#~ msgid "Bonded Retainer"
+#~ msgstr "Bonded Retainer"
+
+#~ msgid "Bonded Pontic"
+#~ msgstr "Bonded Pontic"
+
+#~ msgid "Lava Pontic"
+#~ msgstr "Lava Pontic"
+
+#~ msgid "Gold Retainer"
+#~ msgstr "Gold Retainer"
+
+#~ msgid "Gold Pontic"
+#~ msgstr "Gold Pontic"
+
+#~ msgid "Other Retainer"
+#~ msgstr "Other Retainer"
+
+#~ msgid "Other Pontic"
+#~ msgstr "Other Pontic"
+
+#~ msgid "You need to choose a patient"
+#~ msgstr "You need to choose a patient"
+
+#~ msgid ""
+#~ "<p>You already have an exam on this \n"
+#~ "course of treatment</p>Unable to perform exam"
+#~ msgstr ""
+#~ "<p>You already have an exam on this \n"
+#~ "course of treatment</p>Unable to perform exam"
+
+#~ msgid "unknown exam type"
+#~ msgstr "unknown exam type"
+
+#~ msgid ""
+#~ "<p>for the moment, please enter treatment\n"
+#~ "into the plan first then complete it."
+#~ msgstr ""
+#~ "<p>for the moment, please enter treatment\n"
+#~ "into the plan first then complete it."
+
+#~ msgid "Today's Patients (%s)"
+#~ msgstr "Today's Patients (%s)"
+
+#~ msgid "loading today's patients"
+#~ msgstr "loading today's patients"
+
+#~ msgid ""
+#~ "POTENTIALLY SERIOUS CONFUSION PROBLEM\n"
+#~ "WITH PT RECORDS %d and %d"
+#~ msgstr ""
+#~ "POTENTIALLY SERIOUS CONFUSION PROBLEM\n"
+#~ "WITH PT RECORDS %d and %d"
+
+#~ msgid ""
+#~ "<h3>Update required</h3>\n"
+#~ "Your Openmolar database schema is out of date for this version of the "
+#~ "client.\n"
+#~ "<br /> \n"
+#~ "Your database is at version %s, and %s is required.<br />\n"
+#~ "Would you like to Upgrade Now?"
+#~ msgstr ""
+#~ "<h3>Update required</h3>\n"
+#~ "Your Openmolar database schema is out of date for this version of the "
+#~ "client.\n"
+#~ "<br /> \n"
+#~ "Your database is at version %s, and %s is required.<br />\n"
+#~ "Would you like to Upgrade Now?"
+
+#~ msgid "Please File A bug by visiting<br>https://bugs.launchpad.net/openmolar"
+#~ msgstr ""
+#~ "Please File A bug by visiting<br>https://bugs.launchpad.net/openmolar"
+
+#~ msgid "hello"
+#~ msgstr "hello"
+
+#~ msgid "DOUBLE"
+#~ msgstr "DOUBLE"
+
+#~ msgid "Create A Demo Database on this server"
+#~ msgstr "Create A Demo Database on this server"
+
+#~ msgid ""
+#~ "This will set your system password, configure your mysql server, and install "
+#~ "a small demo database if required."
+#~ msgstr ""
+#~ "This will set your system password, configure your mysql server, and install "
+#~ "a small demo database if required."
+
+#~ msgid ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar uses a user with "
+#~ "limited privileges for database access.<br />You can change these if you "
+#~ "wish</p></body></html>"
+#~ msgstr ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar uses a user with "
+#~ "limited privileges for database access.<br />You can change these if you "
+#~ "wish</p></body></html>"
+
+#~ msgid "Test this connection"
+#~ msgstr "Test this connection"
+
+#~ msgid "+"
+#~ msgstr "+"
+
+#~ msgid "Recall Letters"
+#~ msgstr "Recall Letters"
+
+#~ msgid "usercode"
+#~ msgstr "Usercode"
+
+#~ msgid "MainWindow"
+#~ msgstr "MainWindow"
+
+#~ msgid "Delete Rows"
+#~ msgstr "Delete Rows"
+
+#~ msgid "Add a User"
+#~ msgstr "Add a User"
+
+#~ msgid "Month Options"
+#~ msgstr "Month Options"
+
+#~ msgid "Show Books selected below"
+#~ msgstr "Show Books selected below"
+
+#~ msgid "Adjust FeeTables"
+#~ msgstr "Adjust FeeTables"
+
+#~ msgid "Create a New FeeTable"
+#~ msgstr "Create a New FeeTable"
+
+#~ msgid "Precious Metal/ Porcelain Bonded Crown"
+#~ msgstr "Precious Metal/ Porcelain Bonded Crown"
+
+#~ msgid "Crowns / Inlays"
+#~ msgstr "Crowns / Inlays"
+
+#~ msgid "Base Metal / Porcelain Bonded Crown"
+#~ msgstr "Base Metal / Porcelain Bonded Crown"
+
+#~ msgid "fee"
+#~ msgstr "fee"
+
+#~ msgid "brief descriptions"
+#~ msgstr "brief descriptions"
+
+#~ msgid "regulation"
+#~ msgstr "regulation"
+
+#~ msgid "Pontics"
+#~ msgstr "Pontics"
+
+#~ msgid "Retainers"
+#~ msgstr "Retainers"
+
+#~ msgid "description"
+#~ msgstr "description"
+
+#~ msgid "Function not yet available"
+#~ msgstr "Function not yet available"
+
+#~ msgid "charge"
+#~ msgstr "charge"
+
+#~ msgid "Choose a fee table to continue"
+#~ msgstr "Choose a fee table to continue"
+
+#~ msgid "Add how many Rows?"
+#~ msgstr "Add how many Rows?"
+
+#~ msgid "Create a New database (from the default template)"
+#~ msgstr "Create a New database (from the default template)"
+
+#~ msgid "Add/Insert Rows"
+#~ msgstr "Add/Insert Rows"
+
+#~ msgid "&FeesScale Options"
+#~ msgstr "&FeesScale Options"
+
+#~ msgid "reload fees"
+#~ msgstr "Reload Fees"
+
+#~ msgid "table xml"
+#~ msgstr "Table XML"
diff --git a/src/openmolar/locale/es.po b/src/openmolar/locale/es.po
new file mode 100644
index 0000000..0c783e7
--- /dev/null
+++ b/src/openmolar/locale/es.po
@@ -0,0 +1,6456 @@
+# Spanish translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-08-18 20:43+0000\n"
+"Last-Translator: Jonay <jonay.santana at gmail.com>\n"
+"Language-Team: Spanish <es at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-08-19 04:38+0000\n"
+"X-Generator: Launchpad (build 13697)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "emergencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "periodoncia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "rayos x"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "necesita anestesia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "otros"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "personallizado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Trabajo de Dentadura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Error - practicante no reconocido- lo siento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Tabla de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Error al cargar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "no encontrado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Asunto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "De"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Mensaje"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Excepción de edad removida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Carta No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "No. de Serie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Título"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Nombre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Apellidos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Edad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Dirección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Ciudad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Familia No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Código postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Ciudad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Fecha de Retiro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Si alguna vez necesita ejecutar esto de nuevo, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "borre el archivo openmolar.conf que se encuentra en "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "si necesita ejecutar de nuevo este asistente "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "p. ej. si cambia la ubicación de su servidor "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "o requiere una nueva contraseña"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "teclée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "en la línea de comandos, o elimine el archivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "Para una configuración más segura, deberia mover el archivo a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Asesoramiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Las contraseñas no coinciden!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Crear Base de Datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "¿Crear base de datos de prueba con las siguientes configuraciones?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Base de datos creada satisfactoriamente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Base de datos NO creada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Bienvenido al asistente de configuraciones de openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Establezca la contraseña de la aplicación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Localización del servidor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Configuraciones de la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Guardar las configuraciones y salir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Crear base de datos de prueba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Creando base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "El intento de conexión produjo una excepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Éxito!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "La base de datos %s aceptó la conexión."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"El intento de conexión falló, \n"
+"por favor compruebe sus configuraciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Error creando base de datos."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "ERROR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Actualizar Cliente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Lo siento, no puede ejecutar esta versión de cliente openMolar\n"
+"porque la versión de su base de datos es mas avanzada.</p>\n"
+"<p>este cliente requiere la versión %s, pero su base de datos es %s</p>\n"
+"<p>Por favor, actualice openMolar ahora</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "¿Proceder sin actualizar?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"<p>Este cliente openMolar es de versión anterior a la versión de su base de "
+"Datos\n"
+"<br />la versión de este cliente es %s,\n"
+"y la versión de su base de datos es %s<br />Sin embargo la diferencia no es "
+"crítica,\n"
+"y puede continuar si lo desea</p>\n"
+"<p><i>Es aconsejable actualizar este cliente ASAP</i></p>\n"
+"<hr /><p>Desea continuar?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Esta no es la base de datos por defecto - ¿está seguro?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "confirmar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "POR DEFECTO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Servidor escogido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center><p>\n"
+"Parece ser esta la primera vez que se ejecuta OpenMolar<br />\n"
+"Antes de ejecutar esta aplicación se necesita generar un archivo de "
+"configuración.<br />\n"
+"Para que OpenMolar sepa donde reside su servidor mysql<hr />\n"
+"Si no existe la base de datos se le pedirá crear una<</p>\n"
+"Listo para continuar?</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Primera ejecución"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Imposible ejecutar OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "¡Adios!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Error de autenticación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Combinación<br />Usuario/contraseña<br />\n"
+"incorrecta.<br />Por favor, inténtelo de nuevo."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>ERROR DE BASE DE DATOS </p>\n"
+"<p>la aplicación no puede ejecutarse</p>Error %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Bajo Tratamiento - Actual Estimado</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "<h1>Estimación del proceso anterior</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "No se encontró presupuesto</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMADO</h3></td></tr>\n"
+" <tr><th>No.</th><th>Descripción</th><th>Categoría</th>\n"
+" <th>Type</th><th>Proceso</th>\n"
+" <th>Fee</th><th>Honorarios Pt/th><th>Completado</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Proceso anterior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Empezar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Fin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Ningún tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "COMPLETADO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr "Libros relevantes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr "Libro(s) seleccionados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Dentistas disponibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr "Higienistas disponibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Clínicos disponibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Selección manual"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Cualquiera"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Almuerzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "reunión de personal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Fuera de la Oficina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr "Especifique un clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Confirmar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "¿Desea borrar todas las Citas pasadas?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "del diario de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Cita eliminada correctamente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Error eliminando cita propuesta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Ninguna cita seleccionada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr "Desea eliminar la cita no programada?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Confirmar la eliminación de cita en"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "con"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Pregunta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+"Eliminado del libro de citas - Desea conservarlo para re-programarlo?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "Error al convertir la cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr "Error al remover del diario de paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr "Error al remover del Libro de Citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr "Error al escribir en el libro del dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr "Elija una cita a concertar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "cita ya planificada para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr "Alcanzado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr "que es especificado como el final del libro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr "No hay clínicos seleccionados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr "no hay citas de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr "minutos o más disponibles para la semana seleccionada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "Elija una cita para ubicar aquí"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr "Elija otra cita, esta ya está hecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "Ha elegido una cita con"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "¿Es esto correcto?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr "Confirme la creación de cita para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+"Se ha producido un error al escribir la cita en el diario del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "Error creando cita. ¡Lo siento!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr "No puede planificar una cita en el pasado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr "mostrando semana en curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr "mostrando día en curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "¡Nada que mostrar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr "¿Quiere desbloquear la ranura seleccionada?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "no se puede bloquear - ¿se ha alterado el libro en otro lugar?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr "no se puede hacer la cita - ¿se ha alterado el libro en otro lugar?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr "No se pudieron hacer cambios al diario del paciente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "No programada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "Ver las citas anteriores"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Fecha y hora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Practicante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Longitud"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"por el momento, por favor ingrese tratamiento\n"
+"en el primer plano después completelo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr "no se pudo actualizar la gráfica - ¡esto no debió suceder!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+"necesita estar en la gráfica estática para cambiar el estado del diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr "BPE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr "NO HAY GRAFICAS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Formulario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Casilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Planear tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Añadir los siguientes tratamientos al plan de tratamientos actual"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Seleccione la duración de la cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Horas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Abrir un día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Día a abrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Memo del día - opcional"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Iniciar día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Espacio de emergencia de la mañana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Terminar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Espacio de emergencia de la tarde "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Terminar día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Herramientas de cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr "Cambie la fecha de terminación para hacer citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr "Extender libros"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "Eliminar semanas viejas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Editar Semanas de Trabajo Predeterminadas para Clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Abrir un día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr "Insertar bloques regulares"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Salir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Asistente de Citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+"Añadir una combinación de citas propuestas al diario de los pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "CampodeTexto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Añadir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr "Clinicos - FECHA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+"Si copia la configuración de este día al portapapeles podrá crear un "
+"\"clon\" de este día cuando no hay datos establecidos. Esto es útil cuando "
+"trate de extender libros."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "Copiar al portapapeles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr "Pegar los valores guardados."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Pegar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Opciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "¿Desea bloquear (o bloquear parcialmente) esta ranura?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Inicio bloqueado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Administración"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Texto a aplicar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Bloqueado//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Emergencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "Tiempo Reservado de Clínica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr "Ponerse al día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Llamada de teléfono"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Insertar un bloque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "¿Insertar un paciente a esta ranura?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Hora de comienzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "El Paciente Elegido es<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Cambiar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "La razón de la cita es"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Inserte un Paciente Conocido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr "Asistente de Bloqueo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr "Insertar un bloque en un libro para un rango de fechas."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Fecha de Inicio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "Fecha de finalización (inclusive)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Tiempo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr "Texto a aplicar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr "Días a aplicar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Clinicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Puente - Prótesis de entrada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelana / Metal precioso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (o toda la cerámica)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Retención de resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Puente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Completo (metacrilato)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Completo (co-cromo)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Parcial (metacrilato)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Parcial (co-cromo)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Otros"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Inferior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Dentadura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Opciones de Correo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Formato de Fecha para las letras"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Completo, Día, mes y Año"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Sólo Mes y Año"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Fecha a usar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Fecha de hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr "Ultima fecha de aviso para el paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Esta fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Cambiar Base de Datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Host"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Contraseña"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "Mostrar contraseña"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "contraseña"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Elija un documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Elija un documento para ver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "NHS Calendario de remuneración abril 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "NHS \"Guía de Información\" 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "NHS Calendario de remuneración"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "NHS «guía de información»"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "Elegir clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Selector de idioma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Elija desde los siguientes "
+"idiomas disponibles.<br />Note que algunas de estas traducciones no están "
+"completas.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Nota - Si su idioma preferido no está disponible (o está incompleto), por "
+"favor, visite https://launchpad.net/openmolar y agregue su propia traducción!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Muchas gracias a todos los "
+"que han contribuido a internacionalizar openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">y para la gente detrás de "
+"las herramientas GNU y el equipo Rosetta de Launchpad</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">que hacen que esto sea "
+"posible.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Elija un diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Elija el diente al que se va a planificar el tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Diálogo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Adulto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr "Caduco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+"Introduzca un código de restauración (ej. MOD) para probar su arancel lógico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+"Introduzca un código de restauración o rellenado, y compruebe que su tabla "
+"de honorarios encuentra el código de ítem correcto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "ir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Completar tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "¿Completar Tratamientos Múltiples?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Fecha de culminación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "SIN NOMBRE PT - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"No tiene ningún tratamiento adicional propuesto para este paciente, sin "
+"embargo, se considera que esta \"en tratamiento\"."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Fcha de culminación sugerida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">¿Aplicar esa fecha "
+"ahora?<br />(el archivo puede volver a abrirse posteriormente si fuera "
+"necesario)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Cual Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+"¿Imprimir un formulario de GP17 utilizando el número de contrato de este "
+"dentista? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Curso anterior (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Nuevo curso (sin fecha)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Seleccione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Oro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Fortaleza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Consolidado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Pegamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Personalizar elemento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Número de elementos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Honorario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Descripción del tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Asistente para impresión de la Lista del Dia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+"Especificar Horas y Profesionales para la Impresión de la Lista del Día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Fecha de culminación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "Todos los profesionales en una página"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Un profesional por página - Mínimo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Un profesional por página - Página Completa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Editar apuntes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Viernes 25 de Diciembre de 2009</p>\n"
+"<p align=\"center\">Día de Navidad</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Memo Global"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Notas Clinicas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr "Entrada de Texto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Por Favor ingrese el cuerpo del texto de su carta aquí.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOTAL "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Código"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Descripción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Gato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Tipo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Cargar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Expandir todo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Dividir Objetos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "código"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "Rayos X Pequeños"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Completado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr "Asistente de Exámen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Estándar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr "Extensivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr "Evaluación completa del caso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Fecha de Exámen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr "Pt c/o"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr "nil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Diente roto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr "Problemas con la dentadura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr "Perdido relleno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Dolor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Dientes Sensibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr "Tejidos Blandos Revisados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr "Instrucciones de higiene oral dadas al paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr "palpar caninos superiores"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Añadir elemento a la Tabla de Honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Contribución del Paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr "Código de usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Expresión regular"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "Expresión regular múltiple"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Regulaciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr "Asistente de regulación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr "Categoría de arancel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "Categoria para Planeación de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Descripción del Paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Descripción Clínica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Honorarios brutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Honorarios netos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Asistente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"Debajo está el XML para este ítem (así es como se almacenan en la base de "
+"datos)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Original (solo lectura)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Nuevo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr "Probar ítem lógico de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Hora de la cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Espacio Antes de la Cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 mins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Espacio después de Cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Entrada de foro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Tema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Comentario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 caracteres)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Asistente para Higienistas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Escalar y Limpiar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Escala Ampliada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Parte 1 de 2 visitas de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Parte 2 de 2 visitas de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Dentista / Higienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr "Desbridamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - asistente de base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "¿Que desea hacer?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Modificar una base de datos existente de OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Crear una base de datos desde cero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Crear una nueva base de datos (de una plantilla conocida)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr "Nombre de práctica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr "Usado en los recibos, tarjetas de citas, etc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Línea 1 de dirección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Línea 2 de dirección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Línea 3 de dirección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Código Postal / Zip"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Teléfono"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Sitio Web"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "Correo electrónico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Detalles Prácticos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "Los siguientes usuarios pueden acceder a la aplicació"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Identificador"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Iniciales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Nombre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Grupo de Usuarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "¿Activo?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr "Fecha de Desactivación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Modificar Usuario Seleccionado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Datos de Nuevo Usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Usuario Estándar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Higienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Recepcionista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr "Usuario Activo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Añadir un Nuevo Usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Usuarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Los siguientes dentistas tienen notas en esta base de datos\n"
+"(nota - los dentistas no deberían ser removidos de la base de datos, ya que "
+"esto podría crear errores de búsqueda en los libros de ingresos y notas) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Añadir un Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Registro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr "Agenda de Citas activas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr "Los pacientes pueden ser asignados a este dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Dentistas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Los siguientes higienistas tienen notas en esta base de datos\n"
+"(nota - los higienistas no deberían ser removidos de la base de datos, ya "
+"que esto podría crear errores de búsqueda en los libros de ingresos y notas) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr "Higienistas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Lunes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Martes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Miércoles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Jueves"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "viernes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "sábado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "domingo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Horas de práctica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr "Las siguientes categorías son usadas en esta base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Nombre de Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Imagen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Añadir una Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Edad Mínima"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Edad Máxima"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Añadir una Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Limite de Edad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Nada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Menor de 18"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Letra de Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Archivo de Categoría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Categorías de Pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Tratamientos y honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr "Centro de Referidos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Ver XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Archivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr "C&argar Plantilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "&Guardar Plantilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - SU aplicación de base de datos dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr "Salir de la ficha del paciente actual."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Esc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Añadir un paciente nuevo a la base de datos."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+"Haga clic en este botón para buscar en el paciente en su base de datos."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Buscar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr "Esto vuelve atrás sobre los registros cargados hoy."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Recargar la ficha del paciente desde la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr "Esto vuelve adelante sobre los registros cargados hoy."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+"Muestra los pacientes que viven por la misma dirección o tienen nombre "
+"similar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr "&Relacionado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+"Un cuadro desplegable de todos los pacientes que tienen una cita hoy."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Detalles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Sexo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Tel (casa)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Más campos están disponibles. Pinche aquí para editarlos."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Más"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Tel (trabajo)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Tel (mov)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "enviar un sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Fecha de nacimiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "enviar un fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Dirección1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "enviar un email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Dirección2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Dirección3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Ocupación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Código postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Pacientes nuevos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Usar el mismo apellido y dirección del paciente anterior."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr "Nombre / Direccion por Defecto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "No implementado todavía."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Familia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Los campos resaltados son obligatorios para Nuevos Pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Detalles del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr "Px está registrado con el Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Tipo de Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Estado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Activo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Eliminado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Fallecido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Deuda Impaga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "No más citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Perdonar la deuda impaga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr "Esta etiqueta es para mostrar cosas privadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Editar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Privado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Esta etiqueta es para mostrar cosas HDP contractuales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr "Plan dental escocés (sólo para uso en el Reino Unido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "Esta etiqueta es para mostrar cosas NHS contractuales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr "Ver el historial de Reclamos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr "Excepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr "Texto de Excepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr "No se han encontrado detalles del Dentista Registrado del Paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "Registrado en otra parte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Contrato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Cominicaciones al paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Comunicación personalizada al paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr "Manejo de Recordatorios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+"Establezca la fecha para que el recordatorio se genere automaticamente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr "Acceso directo a fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "De aquí a 1 mes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "De aquí a 3 meses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "De aquí a 6 meses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "12 Meses a partir de ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr "Imprimir un memorándum diciendo que ahora el paciente es deudor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr "Imprimir el recordatorio ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Cuentas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "letra \"A\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "letra \"B\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "letra \"C\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr "Imprimir un extracto de cuenta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Duplicar recibo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Cantidad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Imprimir un recibo - útil para los duplicados."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Imprimir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr "Correspondencia Anterior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "Generado por OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr "Importado a la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr "Importar un documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr "Referencias (Cartas sobre el paciente)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr "Exportar esta ficha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr "Imprimir un gráfico estático del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr "Imprimir el gráfico estáico del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Imprimir un resumen de las notas del paciente (para que ellos se lo lleven). "
+"No incluye detalles de los honorarios."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Imprimir un Resumen de las Notas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Imprimir un resumen de las notas del paciente. Incluye detalles de "
+"honorarios y presupuesto."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Imprimir Notas Detalladas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Correspondencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Cuenta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr "Imprimir un GP17"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr "Aplicar una excepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr "Estimación de archivo personalizado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr "Imrimir &Estimado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr "Imprimir &Cuenta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr "Tomar &Pago"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr "Pacientes diarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr "Un asistente para seleccionar algunas combinaciones comunes de citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr "Atajos de Citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr "Una nueva Cita para este paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Nuevo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "borrar o cancelar la cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "Limpiar/Cancelar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr "Realizar la cita seleccionada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Calendario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr "Limpieza - elimina todas las citas pasadas del diario del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Eliminar todas las citas pasadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr "Buscar la cita en la lista de citas prácticas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "Buscar en el libro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr "Imprimir las siguientes cinco citas para este paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Imprimir tarjeta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr "Permite la modificación de algunos criterios para esta cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Modificar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr "Recepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr "Actualizar el puntaje del examen periodontal básico (CPITN)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr "realizar un examen clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr "Añadir rayos X para el curso actual del paciente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Rayos X"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr "realizar tratamientos periódicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr "Hyg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr "Cerrar Este Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr "comprobar / actualizar la historia médica de los pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr "Notas méd."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr "Informe clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr "Nivel de verbosidad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "mínimo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "medio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "máximo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr "sólo recepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr "Ver gráficos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Estático"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Gráficos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "Estimado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr "Administración de Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "Dentista de Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr "Nuevo Curso de Tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr "Cerrar Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr "Administración Estimada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr "Carta de Presupuesto personalizada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"Use esta función para volver a ingresar el precio de todos los artículos en "
+"la categoría \"dientes\"de los tratamientos.E.j. todos los que aparecen en "
+"los gráficos.\n"
+"Nota - esto no suprimirá los elementos que están actualmente allí. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr "ReCalcular Estimado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr "Aplicar excepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr "Vistar estándar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr "Vista expandida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr "Plan/Completado (estándar)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr "Plan/Completado (expandido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr "Planificación del Tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr "Realizar Examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Rayos-X"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Dentaduras"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr "Orto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr "Otro Tx"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr "Añadir elemento personalizado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr "Estimado/Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr "Elegir dato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr "Fecha de Grafico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr "Gráficos Periodicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr "Ver todos los pagos en la base de datos realizados por este paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr "Pagos Pasados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr "Ver los tratamientos completados, por orden de fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr "Tratamientos Pasados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+"Vea todos los cursos de tratamiento. Esto incluye tratamientos que fueron "
+"previstos, pero no se han completado."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr "Cursos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr "Estimación de la historia de este paciente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr "Estimaciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr "mostrar una combinación de cursos y estimaciones."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr "Cursos / Estimaciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr "Reclamaciones al Servicio Nacional de Salud"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr "Imprimir el texto mostrado en esta página."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr "Opciones Personalizadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+"Opciones avanzadas para el uso de desarrolladores. No espere que esto tenga "
+"mucho sentido!\n"
+"\n"
+"Si la casilla de verificación \"cambios sólo\" está marcada, sólo los datos "
+"que se ha cambiado serán mostrados."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr "herramientas de depuración"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "sólo cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Historial"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Memos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Introducir notas."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "Notas del día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr "Guardar los cambios realizados en este registro."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Guardar cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Tareas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "Libro de Frases"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr "Insertar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Base de datos del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "Ir al día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr "Manuales clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr "Planificar citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr "Buscar la primera cita apropiada. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr "1º disponible"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+"Buscar la cita anterior\n"
+"F5"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr "Prev"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+"Buscar la siguiente cita disponible\n"
+"F6"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr "Siguente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr "Paciente actual"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr "Bloques, etc..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Vista del día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr "Ver semana en curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr "Mostrar todas las citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr "Elegir manualmente a los clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr "Planificar citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Vista de la semana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Mes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr "Imprimir Vista del Mes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr "Todos los clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr "Elegir clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Vista del mes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "Año"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Vista del año"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr "Diarios del personal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr "Citas / Diario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "Dentitas registrado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "IR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Imprimir la información"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr "Libro de facturas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr "Dentista / Higienista a cargo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr "Libro del día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr "Buscar registros del paciente cuando está en el"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr "Deuda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Crédito"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr "Por más de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr "Cargar tabla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Imprimir tabla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Imprimir las cartas seleccionadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr "TOTAL PENDIENTE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr "Encontrar Registros del Paciente donde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "está entre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr "dd/MM/yyyy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "y"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr "(Inclusive)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Imprimir Cartas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr "Opciones de correspondencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr "Envíos Masivos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr "Aranceles disponibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr "Use este control para seleccionar un arancel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr "Buscar un ítem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+"buscar sólo por la expresión proporcionada en la columna de código de usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr "Buscar códigos de usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr "buscar la frase dada en las columnas de descripción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr "Buscar descripciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr "Expandir rápidamente todos los ítems"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr "Expandir todas las secciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr "Comprimir rápidamente todos los ítems"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr "Comprimir todas las secciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr "Documento de reglamentos del NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "Abrir un archivo PDF de las últimas regulaciones del NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Abrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr "Ajuste del arancel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+"En caso de marcarse, el usuario puede modificar los honorarios previos y sus "
+"ítemes."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr "Permitir ajustar aranceles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr "Realizar los cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr "mostrar tabla xml"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr "Emulador de aranceles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr "Aranceles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Responder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr "Alt+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Eliminar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr "Del, Retroceso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr "&establecer padre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr "Alt+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Nuevo tema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Buscar por Palabra Clave"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr "Mostrar Temas Para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr "Incluir entradas eliminadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr "Dividir Respuestas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr "Agrupar respuestas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr "&Colapsar respuestas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr "&Expandir respuestas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr "Foro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Archivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "Ay&uda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Preferencias"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr "Ver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr "Citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Herramientas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&Exportar paciente al disco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&Importar paciente al disco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "Acerca de &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr "&Acerca de QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Tamaño de letra de Cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr "Ver tabla de gráficos de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr "Limpiar Espacios de Emergencia de Hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr "Imprimir página de prueba de un formulario NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "opciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr "Registros encontrados en el terminal subyacente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr "Fijar clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Elija base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr "Ajustador de aranceles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr "Seleccionar e imprimir listas del día"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Cambiar idioma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Modo pantalla completa (Ctrl-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr "Ctrl+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr "Crear/Modificar la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr "Gestión de Registros Avenzada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr "Mostrar columna geek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr "prueba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr "t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Tamaño de la letra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr "Foro - mostrar opciones avanzadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr "Establecer asistente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Notas médicas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Detalles del doctor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Nombre del doctor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Dirección / Tel No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Condiciones conocidas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Medicación actual"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Medicación antigua"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Alergias"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Corazón"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Pulmones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Higado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Sangría"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Riñones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Anestesia / operaciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Marcar como chequeado hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Chequeado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Mark paciente como Alerta Medica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Nuevo puntaje CPITN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Nuevo Curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "¿Iniciar un nuevo curso de tratamiento con los siguientes criterios?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Dentista Contratado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Fecha de aceptación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr "OpenMolar - primera ejecución"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Esta primera ejecucion de "
+"la aplicacion </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">configurara su contraseña</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">hacer de este cliente "
+"consciente de la configuración del servidor MySQL</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">instalar una pequeña (4 "
+"pacientes) base de datos de demostracion si es "
+"necesario.</li></ul></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Por favor, introduzca una contraseña para evitar el uso no autorizado de "
+"esta aplicación."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "mostrar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr "Repita la contraseña"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr "¿Donde está ubicado su servidor mysql? **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Puerto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+"** Si no existe un servidor mysql en su red, por favor, salga de esta "
+"instalación e instale el servidor mysql ahora mismo.\n"
+"\n"
+"Si es un usuario Debian o Ubuntu, \"sudo apt-get install mysql-server\"\n"
+"y use la clave root que creó durante la instalación. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr "Detalles de la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "Contraseña (mysql)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Nombre de la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr "Tipo de esta conexión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr "Crear una base de datos de prueba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr "Usar con una base de datos existente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+"BIEN.... usted está listo para continuar.\n"
+"\n"
+"Cuando openMolar se ejecute, se le presentará una pantalla de inicio de "
+"sesión.\n"
+"\n"
+"Contraseña = la que especifico anteriormente\n"
+"User1 = Cualquier usuario registrado (la base de datos de demostración tiene "
+"un usuario \"usuario\")\n"
+"User2 =Cualquier usuario registrado (puede dejarse en blanco)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr "Ejecutar OpenMolar Ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Para crear una base de "
+"datos, y establecer los privilegios para el usuario, requiere iniciar sesión "
+"en MySQL como el usuario root de MySQL.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar NO conserva esta "
+"contraseña.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Por favor, "
+"introduzca la contraseña del usuario root de MySQL.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(nota - en la mayoría de "
+"servidores MySQL, el acceso como root está desactivada a menos que el "
+"servidor este en localhost)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr "Clave root de mysql"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr "Creando la base de datos.... espere por favor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Volver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Proceder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "Ajustes de Impresión de NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Ancho del margen izquierdo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Ancho del margen superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "1er referido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr "re - referido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr "Fecha Previa de Referencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr "Estoy dispuesto a llevar a cabo un tratamiento sencillo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr "Razon para Referencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr "Amontonamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr "Espaciado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr "Leve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Moderado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr "Severo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr "Relación incisal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr "Resalte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "milímetros"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr "Sobremordida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Completo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr "Incompleto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr "Traumático"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr "Historial médico relevante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Historial dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Dientes con Pronóstico Precario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr "Motivación del Paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr "Aparato Ortopédico Removible"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr "Aparato Ortopédico Arreglado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Buscador de Pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr "Llene alguno de los siguientes campos para listar posibles pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Repetir la última búsqueda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr "SNO o Apellido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Introduzca el nombre completo o las primeras letras del nombre.\n"
+"\n"
+"Si no está seguro de la ortografía, escriba el nombre COMPLETO,\n"
+"y marque la caja adyacente \"suena como\" ."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr "verificación para buscar un nombre que suena similar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Introduzca el nombre completo o las primeras letras del nombre.\n"
+"\n"
+"Si no está seguro de la ortografía, escriba el nombre COMPLETO,\n"
+"y marque la caja adyacente \"suena como\" .\n"
+"Tenga cuidado con el segundo nombre.\n"
+"E.j. \"Neil\" NO suena como \"Neil Alexander\"!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr "Direcciones incluidas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr "openMolar buscará línea1 y línea2 de la dirección de este texto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+"open molar buscará tel1, tel2 y un móvil para los números presentes aquí."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "buscar un código postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Pagos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Pagos por tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Efectivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Cheque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Tarjeta de débito"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Tarjea de crédito"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Otros pagos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Varios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "HDP Anual"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Miceláneos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Monto que aparecerá en la recibo (sólo lectura)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Aumentar los permisos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Derechos de supervisor "
+"requeridos para realizar esta acción.<br />Por favor, introduzca su "
+"contraseña.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+"Esto no hace nada por ahora - la idea es que dejes una tarea para alguien "
+"con este paciente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr "Tarea asignada a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Neil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Bea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Helen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Andy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Frances"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "etc...."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr "Escriba las Notas de hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr "Contactar este paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr "Decision necesaria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Urgente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "Lo Más Rápido Posible"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Rutinario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr "Fecha tope"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Nota"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Formato de Impresión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Mínimo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Página completa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr "Plantear un cargo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Plantear un cargo por el tratamiento de hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+"Descripción (por ejemplo, EC por examen clínico, BLAN por blanqueado, etc)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "£"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Repita tantas veces como sea necesario - los importes se acumularán"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr "Alteración de Registro Avanzada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr "Honorarios actuales del NHS (dinero0)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr "Pagos del NHS (dinero2)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr "NHS estimado (dinero)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr "estimación privado (money5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr "Exento - NHS bruto - Tratamiento completado (moneda6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr "Exento - NHS bruto - Presupuesto actual (moneda7)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr "crédito (dinero8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr "deuda (dinero9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr "deuda2 (dinero10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr "dinero11 (siempre 0!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr "Honorarios actuales privados (dinero1) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr "pagos privados (dinero3)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr "TODAS LAS CANTIDADES ESTÁN EN PENIQUES (céntimos)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr "Cantidad <br />excepcional"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Aplicar Cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Dinero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr "Último EC (Examen Clínico)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Añadir Fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr "Ultimo ECE (pd6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr "Ultimo FCA (pd7)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr "Ultimo OPT (pd8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr "Últimos rayos X intraorales (pd9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr "Último escalado/pulido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr "Ultima Cuenta enviada (fecha de cobro)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Fechas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr "Rayos X"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr "anestésicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr "nuevo superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr "nuevo inferior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr "reparar superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr "reparar inferior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr "Plan de Tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr "Tratamiento Completado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr "Notas Ocultas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr "pacientes relacionados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr "Este paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr "Familiares conocidos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr "Direcciones coincidentes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Confirmación Requerida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr "¿Qué ha cambiado?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Publicar una nota sobre esta paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr "Política de expiración"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "No expira"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Expirar en esta fecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Visible por"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Todo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr "Máquinas de Cirugía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr "Máquinas de Recepción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Autor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "Hacer selección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr "Borrar este memo al cerrar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Introduzca una cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Cita con"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 hora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 hora 15 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 hora 20 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 hora 30 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 hora 45 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 horas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 hooras 30 minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 horas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Cita Combinada con Hygenist?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Razón 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Razón 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Razón 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Nota breve para el médico (opcional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Fijar una cita ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr "Resumen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr "Agenda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr "Mensajes y tareas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr "Mi calendario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr "Planificador de vacaciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr "Contraseña del sistema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr "Usuario 1 (requerido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr "Usuario 2 (opcional)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr "Maquina de Cirugía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr "Maquina de Cirugía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr "cambiar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr "Por favor, establece el número de Cirugía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Cirugía Uno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Cirugía Dos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Cirugía Tres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Tareas de Neil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Editar tarea seleccionada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Añadir una nueva tarea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr "Número de la pieza dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr "Placa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr "Recesión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr "Furca"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr "Supuración"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr "Movilidad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "Copiar &Todo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr "suprimir los datos del diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr "Codigo postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr "Aplicar y volver a diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr "Aplicar & mover al siguiente diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr "AÑADIR COMENTARIOS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr "!Diente móvil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr "¡Caries Temprana!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr "!Relleno faltante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr "!Astillado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr "!Roto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr "!Diagnóstico pobre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr "¡Extraer Pronto!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr "¡Requiere Implante!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr "ELIMINAR COMENTARIOS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr "AM (amalgama)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr "CO (Composite)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr "Cemento de Ionómero de Vidrio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr "Po (Porcelana)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr "Aplicar y añadir otro elemento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr "y"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr "Alternar entre estático y plano"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr "alternar entre dientes de leche y permanentes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr "Dic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr "Prótesis dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr "DA (Diente artificial)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr "Falta un diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr "DF (Diente faltante)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr "Extracción (sólo plana)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr "Ex (Extracción)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr "tratamiento de la raíz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr "TR (Tratamiento de raíz)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr "Carilla de porcelana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr "CO (Corona)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr "Comp (composite)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr "Editor de propiedades del diente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr "UR8"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Elementos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr "Línea de la base de datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr "se ha introducido una exención de categoría errónea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr "Fuera de la oficina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr "Hecho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr "a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr "Secuencia de tiempo incorrecta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr "Ups!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr "Días festivos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr "Introducir la información para "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr "FECHA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr "Editar memorándums diarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr "Editar información de las vacaciones públicas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr "Tratamientos completos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr "Cambiar tipo de corona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr "Cambiar material de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr "Borrar todas las restauraciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Mostrar historial"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr "Eliminar "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Izquierda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Derecha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr "cerrar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr "Diario para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr "Selladores de fisuras"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Sellador de fisuras"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr "Sellador de fisuras/compuestos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr "Coronas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr "Corona (funda) de porcelana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr "Corona de oro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr "Corona (funda) de Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr "Corona de chaqueta de porcelana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr "Corona temporal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr "Corona de resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr "Otra corona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr "Retenedores de puente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr "Retenedor de Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr "Ala adhesiva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr "Puente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr "Oro_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr "Lava_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr "Otro_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr "Endodoncia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr "Extirpado de pulpa - 1 canal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr "Extirpación de Pulpa - canales múltiples"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr "Canal de Raíz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr "Endodoncia incompleta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr "Quirúrgico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Extracción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr "Extracción quirúrgica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr "Apicectomía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr "Sólo estático"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr "Diente faltante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr "Prótesis dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr "Raíz presente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr "Diente permanente presente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr "Diente a medio salir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr "Diente sin salir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr "¿Qué tratamiento se ha realizado?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr "Horarios de clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr "Valores desde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr "Seleccionar un asistente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr "Minguno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr "aplicar cambios para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr "¡Ningún paciente elegido!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr "Fecha de inicio fuera de rango (demasiado pronto)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr "Fecha de inicio fuera de rango (demasiado tarde)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr "Fecha de finalización fuera de rango (demasiado tarde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr "Fecha de finalización fuera de rango (demasiado pronto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr "la longitud de la cita es muy corta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr "ningún paciente seleccionado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr "No se puede realizar, debido a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr "no se ha encontrado coincidencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr "paciente no encontrado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr "El paciente elegido es"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr "ningún paciente elegido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr "Seleccionar un dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr "Establecer asistente como"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr "Introduzca un dentista / higienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr "Por favor establecer un tipo válido de curso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr "Faltan algunos campos, revíselo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr "Sombra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr "Glosario de términos clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr "No ha guardado los cambios a la ficha de"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Ocultar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr "Inglés (Reino Unido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr "Inglés (Australia)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr "Afrikaans"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr "Danés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr "Francés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr "Alemán"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr "Húngaro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr "Indonesio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr "Italiano"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr "Occitano"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr "Polaco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr "Portugués"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr "Eslovaco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr "Español"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr "Turco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr "ningún archivo de traducción para %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr "Planeado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Elemento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr "Dé click para editar elemento - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr "Dé click para borrar elemento - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr "Dé click para guardar elemento - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "pregunta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr "¿Se tomaron hoy esos rayos X?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr "<p>Crédito del paciente %s para no realizar este ítem?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr "no se pudo pasar el mensaje de borrado - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr "Tipo de presupuesto mal realizado??? %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr "¿Quitar %s %s de la estimación?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr "secuencia de fecha incorrecta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr "Por favor guarde los cambios de la antigua etapa antes de continuar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+"<p>No se puede planificar o ejecutar el tratamiento if pt \n"
+"no tiene una proceso activo</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr "Iniciado con éxito un nuevo tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr "Error comenzando nuevo proceso, disculpe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr "XML Incorrecto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "OK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr "superados todos los tests"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr "error en expresión regular"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr "Item de honorario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "¿Aplicar cambios?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr "Ha cambiado un código de usuario."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+"¿Quiere aplicar este cambio a las tablas de honorarios seleccionadas?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+"<p>Ya tiene un examen completo en esta \n"
+"proceso del tratamiento</p>Imposible realizar examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+"<p>%s es ahora tanto el registrado como \n"
+"el dentista del proceso.<br />es esto correcto?<br />\n"
+"<i>confirmando que esto eliminará la referencia a %s</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+"<<br /><i>confirmando que esto cambiará el \n"
+"dentista del proceso, pero no el dentista registrado</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr "<i>Considere hacer a %s el dentista registrado</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr "%s examen realizado por %s\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+"Honorarios distintos (¿desactualizados?) hallados en el presupuesto - por "
+"favor, verifíquelo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr "No se ha aplicado examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Buscar de nuevo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Estadísticas del documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr "Estadísticas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr "Información"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr "¡Éxito!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr "Base de datos actualizada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr "resultado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr "Introduzca frase a buscar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr "Buscar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr "Frase no encontrada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr "Editor de tabla de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr "Código de usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr "descripción breve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr "Se alteraron las siguientes tablas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr "No se aplicaron cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr "Realizar selección"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr "Elija otras tablas para cambiar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr "Ajustar / editar este ítem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr "Agregar al plan de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr "Agregar al plan de tratamiento del paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr "Eliminar ítem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr "Insertar nuevo ítem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr "Ítemes conteniendo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr "Expresión no encontrada en la tabla de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr "códigos de usuario o descripciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr "códigos de usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr "descripciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr "No hay nada que buscar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr "Elija códigos de usuarios y/o descripciones, y busque de nuevo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr "Error al abrir fichero PDF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr "ACTUALMENTE EN USO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr "Error en la tabla de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Eliminar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr "Del plan de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr "realizado por"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr "¿Eliminar %d mensajes?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr "¿Eliminar mensajes seleccionados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr "Pariente cancelado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr "Marcar en el ítem pariente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr "consultivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr "Se requiere decisión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr "Tiene cambios sin guardar en su tabla de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr "¿Ejecutar ahora?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr "Cambiar clínico a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr "Cambiar asistente a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr "Desactivando modo de citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr "Ya no es un dentista activo en esta consulta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr "Desconocido dentista contratado - por favor corregir esto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr "Desconocido dentista del proceso - por favor corregir esto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr "GUARDAR PACIENTE NUEVO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr "GUARDAR CAMBIOS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr "Reabrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr "¿Quiere revisar y/o volver a imprimr este ítem?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr "Error al mostrar el fichero PDF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr "No hay información disponible acerca de este documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr "Fecha importada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr "Tamaño"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr "abriendo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr "Error en la importación de archivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr "No se ha elegido ningún archivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr "¿Quiere abrir una copia de este documento?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr "error al abrir el documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr "Pacientes de hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr "Pacientes del día (TODOS)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr "Se alcanzó el final de la lista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr "Se alcanzó el principio de la lista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+"Error en el rellenado de la interfaz\n"
+"%s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr "error al obtener número de serie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr "compruebe si es correcto este número"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+"<center>Mensaje de %s<br />\n"
+"con fecha %s<br /><br />%s</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr "Problema obteniendo un memorándum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr "No hay dentista clínico determinado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr "Está en el modo operación sin un dentista clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr "Dentista clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr "equipo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr "usando"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr "Modo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr "Srta."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr "Sr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr "Sra."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr "Sra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr "Doctor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr "Profesor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr "NUEVOS MENSAJES EN EL FORO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr "No carga paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr "abriendo archivo de paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+"PROBLEMA DE CONFUSIÓN POTENCIALMENTE SERIO CON LOS REGISTROS DEL PACIENTE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr "Los siguientes elementos se cambiaron de forma exitosa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr "No se ha elegido ningún registro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr "Tamaño de la tipografía"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr "Ingrese su tamaño de tipografía favorito para la agenda de citas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr "error al realizar cambios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr "¿Descartar la estimación y calcular de nuevo el precio para todo?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr "Aplicar una exención a este presupuesto?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr "Se necesita información de entrada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr "Máximo cargo para el paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+"Por favor ingrese el monto en pence esterlina, o deje como 0 para una "
+"exención completa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+"<div align=\"center\">\n"
+"<h3>Introducir Nuevo Paciente</h3>Introduzca al menos los campos "
+"requeridos,\n"
+"y use a continuación el botón de Guardar Cambios para enviar este paciente a "
+"la base de datos\n"
+"</div>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "¡Error al guardar el paciente nuevo!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+"datos insuficientes para crear entrada...\n"
+"llene por favor todos los campos resaltados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Error al guardar el paciente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "No se ha guardado el nuevo paciente. ¿Descartar cambios?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr "ESTADO DE CUENTA - RECORDATORIO FINAL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr "Estamos preocupados porque, a pesar de la correspondencia previa,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr "su cuenta aún permanece como sigue: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr "Por favor, tenga presente que su cuenta se encuentra como sigue:- "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Importe: %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr "Ahora se debe completamente este monto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr "Se le envió una cuenta previa el %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+"Estaríamos agradecidos si pudiera resolver este asunto a la mayor brevedad."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+"Le estaríamos agradecidos si saldara esta cuenta en el plazo de siete días."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr "Al finalizar este plazo, pasaremos esta deuda a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr "De usted sinceramente,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr "Cheques a pagar a : \"Academy Dental Practice\"\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+"O llámenos por teléfono para facilitarnos los detalles de su tarjeta de "
+"crédito."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr "Estimado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr "Le escribimos para informarle que su exámen dental está vencido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr "Por favor contacte al cirujano para fijar cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr "Esperamos verle en futuro cercano"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr "Estimados pacientes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+"Nosotros le escribimos para informarle que actualmente adeuda sus exámenes "
+"dentales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+"Por favor, póngase en contacto con el cirujano para acordar una cita. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+"* Si ya tiene cita con nosotros -\n"
+"por favor, acepte nuestras disculpas e ignore esta comunicación."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "no se han cargado datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr "Opciones determinadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr "Contraer todo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr "Nuestra referencia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr "PDF es Ninguno - (Decirle a los devs lo que sucede)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "Error al guardar la copia PDF %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Servicios profesionales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr "duplicar recibo para %.02f"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr "Nada para imprimir - ¿Ha cargado la tabla?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "TOTAL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr "Presupuesto de proceso actual de tratamiento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+"<p><i>Por favor, tenga en cuenta que este presupuesto puede\n"
+"variar si las condiciones clínicas así lo dictan.</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr "Proceso previo (%s - %s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr "¿Imprimir un formulario del Servicio Nacional de Salud?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr "Querido %s %s,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr "OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+"<h3>Actualización requerida</h3>\n"
+"Su schema de base de datos de Openmolar está desactualizado para esta "
+"versión del cliente.\n"
+"<br /> \n"
+"Su base de datos está en la versión %s, y %s es requerida.<br />\n"
+"Le gustaría actualizar ahora?<br />\n"
+"Precaución - Por favor asegure que todas las otras estaciones están "
+"desconectadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr "actualizando a la versión de esquema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr "Fallo la conversión a %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+"<p>Disculpas, en este momento no nos es posible actualizar su schema,\n"
+"A lo mejor cuenta con una versión en desarrollo del programa?</p>\n"
+"Si es así, por favor vuelva a la versión liberada.<br />\n"
+"Si no es el caso, algo extraño está sucediendo,\n"
+"por favor haga saber lo que sucede a los desarrolladores de Openmolar.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr "Error inesperado actualizando el esquema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr "Por favor, informe del error visitando "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+"<p>Lo sentimos, no se puede ejecutar esta versión del \n"
+"cliente de openmolar sin actualizar el esquema de su base de datos.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr "Libros actualmente terminan en"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr "Extender los libros ahora?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr "¿Cuantos meses?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr "Sin implementar aún"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr "Introduzca las iniciales para este usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr "Inserte un nombre para este usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr "esta acción sobreescribirá cualquier dato almacenado actualmente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr "¿Proceder?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "guardar fichero de plantilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr "ficheros de plantillas de openmolar "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Plantilla guardada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr "operación cancelada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr "Plantilla no guardada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr "Cargar una plantilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr "ficheros de plantillas de openmolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "plantilla cargada con éxito"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr "error al analizar el archivo de plantilla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Modificar ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Aplicar ahora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Añadir nuevo usuario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr "Aplicados cambios en dinero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr "Aplicados cambios de fechas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr "Aplicados Cambios en plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr "Aplicados cambios en los tratamientos completos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr "Lista de notas ocultas actualizadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr "actualizando la versión almacenada del esquema"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "HECHO - se ha movido con éxito la base de datos a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "creando tablas nuevas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr "actualizando configuraciones"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr "no se pudieron crear las tablas, se volvió a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr "Copiando datos desde una tabla antigua de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr "ejecutando sentencias"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr "transfiriendo datos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr "insertando valores"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr "Ahora puede eliminar las tablas antiguas de honorarios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr "Se han instalado con éxito las herramientas de traducción"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr "Por favor intentar y entregar al menos con 24 horas de antelación"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "si necesita cambiar una cita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr "EXAMEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr "Oclusión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr "Tiempo de sangrado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "FAMILIA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr "RELLENO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr "Adaptación de cualquier restauración dental"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr "IMPs (impresiones en molde)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr "RP (Relleno Perdido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr "Ortodoncia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr "DOLOR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr "PREP (preparación)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr "TCR (Terapia del canal de la raíz)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr "REVISAR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr "EP (Escalado / Pulido)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr "INTENTAR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "enero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "febrero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "marzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "abril"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "mayo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "junio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "julio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "agosto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "septiembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "octubre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "noviembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "diciembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Hoy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Mañana"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Ayer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "¡Bienvenido a OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Versión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr "Revisión"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr "Sus datos son accesibles, y el servidor no informa de problemas."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "Que tenga un buen día"
diff --git a/src/openmolar/locale/fr.po b/src/openmolar/locale/fr.po
new file mode 100644
index 0000000..fbe79a0
--- /dev/null
+++ b/src/openmolar/locale/fr.po
@@ -0,0 +1,6681 @@
+# French translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-06-30 00:49+0000\n"
+"Last-Translator: Dylan A. <bob.dybian at gmail.com>\n"
+"Language-Team: French <fr at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-07-01 04:55+0000\n"
+"X-Generator: Launchpad (build 13168)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "urgence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "radio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "autre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "personnalisé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Erreur - praticien non reconnu - désolé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "le chargement a échoué"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "introuvable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Sujet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "À"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "De"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Message"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Numéro de série"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Titre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Prénom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Nom de famille"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Âge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Adresse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Ville"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Code Postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Dentiste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Pays"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Date de rappel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Si vous avez besoin d'exécuter ceci à nouveau, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "supprimer le fichier openmolar.conf dans "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "Si vous avez besoin d'exécuter cet assistant à nouveau, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Ex. si l'emplacement de votre serveur est modifié, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "ou dans le cas où vous auriez besoin d'un nouveau mot de passe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "via la ligne de commande, ou supprimer le fichier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+"Pour un paramétrage plus sécurisé, vous devriez déplacer ce fichier vers"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Erreur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Conseil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Les mots de passe ne correspondent pas !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Créer une base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+"Créer une base de données d'exemple maintenant avec les paramètres suivants?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Base de données créée avec succès"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Base de données non créée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Bienvenue sur l'assistant de paramétrage openMolar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Définir le mot de passe de l'application"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Emplacement du serveur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Paramètres de la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Sauvegarder les paramètres et quitter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Créer une base de données d'exemple"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Création de la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "La tentative de connexion à renvoyé une exception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Succès !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "La base de données %s a accepté la connexion."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"La tentative de connexion à échouée, \n"
+"merci de contrôler vos paramètres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Erreur durant la création de la Base de Données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "ECHEC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Mise à jour du client"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Désolé, vous ne pouvez pas exécuter cette version du client openMolar\n"
+"parce que le schéma de votre base de données est plus récent.</p>\n"
+"<p>Ce client nécessite d'utiliser le schéma de la version %s, mais votre "
+"base de données est a la version %s</p>\n"
+"<p>Mettez a jour Openmolar des maitenant</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Continuer sans effectuer la mise à jour?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"Ce client Openmolar n'est plus en phase avec la version du schéma de \n"
+"la base de données<br />ce client utilise le schéma version %s,\n"
+"alors que la base de données est maintenant a la version %s<br />Cependant,\n"
+"ces différences ne sont pas critiques et vous pouvez continuer ainsi si vous "
+"le\n"
+"désirez</p>\n"
+"<p><i>Il serait cependant plus simple de mettre a jour le client des que "
+"possible</i></p>\n"
+"<hr /><p>Voulez vous continuer ?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Ce n'est pas la base de donnée par défaut - Etes vous sure?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "confirmer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "DEFAUT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Serveur choisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center><p>\n"
+"Il semblerais qu'il s'agisse du premier lancement d'openMolar <br />\n"
+"Avant d'exécuter cette application, il est nécessaire de créer un fichier de "
+"paramètres.<br />\n"
+"De cette manière, openMolar pourra correctement s'adresser à la base de "
+"données<hr />\n"
+"Si vous n'avez pas déjà créé de base de données, il vous sera proposé d'en "
+"créer une<</p>\n"
+"Êtest-vous prêt à continuer?</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Premier lancement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Impossible de démarrer OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Au Revoir !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Erreur durant l'authentification"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Combinaison <br />Utilisateur / mot de passe<br />\n"
+"incorrecte !<br /> Veuillez recommencer."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>ERREUR DE BASE DE DONNEES </p>\n"
+"<p>L'application ne peux démarrer</p>Erreur %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Traitement en cours - Estimation actuelle</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATION</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Frais Pt</th><th>Termine</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Début"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Terminer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Aucun traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "EFFECTUE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Déjeuner"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Absent du bureau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Confirmez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "Supprimer tous les Rendez-vous passés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Rendez-vous supprimé avec succes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Erreur durant l'effacement du rendez-vous proposé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Aucun rendez-vous sélectionné"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr "Supprimer les rendez-vous non planifiés?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Confirmer la suppression du Rendez-vous a"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "avec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Question"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "Erreur durant la conversion du Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr "Voulez-vous debloquer le creneau selectionné ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "Impossible de bloquer - l'agenda a t'il été modifié ailleurs ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+"Impossible de creer un rendez-vous - l'agenda a t'il été modifié ailleurs ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Date & Heure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Praticien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Durée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Mémo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+"Incapable de mettre a jour le graphe - cela ne devrait pas se proudire !!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr "PAS DE GRAPHES"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Formulaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Case à cocher"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Planification du Traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Sélectionnez la durée du rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Heures"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Sélectionner un Jour"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Clinicien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Date à ouvrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Memo journalier - optionnel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Début de la Journée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Créneau d'urgence du matin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Fin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Créneau d'urgence de l'après-midi "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Fin de la Journée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Outil pour les Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "Enlevez les semaines passées"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Editer les Semaines de Travail typiques des Cliniciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Sélectionner un Jour"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Quitter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Assistant des Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+"Ajouter une combinaison possible de rendez-vous dans le journal du patient."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "Étiquette"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Ajouter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr "Clinicians - DATE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Voulez vous bloquer ce créneau (ou seulement partiellement) ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Début du Bloc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Fin du Bloc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Texte à appliquer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Bloqué//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Urgence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Appel téléphonique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Inserer un bloc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Insérer un Patient dans ce créneau ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Heure de début"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Le patient choisi est<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Modifier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "La raison du Rendez-vous est"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Inserer un patient connu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Date de début"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "Date de fin (incluse)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Heure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Cliniciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Bridge - Prothèse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelaine / Métaux précieux"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (ou tout céramique)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Bridge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Supérieur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Partiel (acrylique)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Autre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Inférieur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Prothèse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Option d'email en masse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Format de la date pour les lettres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Complet, Jour, mois et Année"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Mois et Année seulement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Date a utiliser"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Date d'aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Cette date"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Changer de base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Serveur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Utilisateur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "utilisateur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Mot de passe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "afficher le mot de passe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "mot de passe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Choisissez un Document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Choisissez un document à visualiser"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "Tableau de Rémunération de la NHS Avril 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "\"Guide d'information\" de la NHS 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "Tableau de Rémunération de la NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "\"Guide d'Information\" de la NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Sélecteur de langue"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choisissez une langue "
+"parmi celle disponible.<br />Vous remarquerez que certaines traductions ne "
+"sont pas complètes.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!\r\n"
+"Note - si votre language prefere n'est pas disponible (ou incomplet), "
+"veuillez visiter https://launchpad.net/openmolar pour pouvoir y ajouter vos "
+"propres traductions !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Merci à tous ceux qui ont "
+"aidé à internationaliser openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">ainsi qu'a tous les "
+"créateurs d'outils GNU et à l'équipe de Launchpad Rosetta</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">sans eux tous cela ne "
+"serait pas possible.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Choisissez une dent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+"Veuilleez choisir la dent pour laquelle le traitement doit s'appliquer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialogue"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Adulte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Traitement Complet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Date de complétion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "Patient Inconnu - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"Vous n'avez plus de traitement planifié pour ce patient alors qu'il est "
+"toujours marqué comme ayant un \"traitement en cours\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Date de complétion suggérée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Quel Dentiste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+"Imprimé un formulaire GP17 utilisant le numéro de contrat de ce dentiste? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Session précédente (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Nouvelle session (pas de dates)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Choisir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Or"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Résine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Fortress"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Collé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "A Recimenter"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Annuler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Item personnalisé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Nombre d'items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Honoraires"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Description du traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Assistant d'impression de la liste journalière"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Date de fin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "Tout les Praticiens sur Une page"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Un Praticien Par Page - Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Un Praticien Par Page - Remplir la Page"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Éditer les Mémos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Vendredi 25 Décembre 2009</p>\n"
+"<p align=\"center\">Jour de Noël</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Mémo Général"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Mémos des Cliniciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Entrer le contenu de la lettre ici.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOTAL "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Description"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Type"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Tout Développer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Séparer les items"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "code"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "petites radios"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Complété"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr "Assistant d'Examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr "Evaluation Complète"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Date de l'examen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Annotations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr "nulle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Dent Cassée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr "Problèmes de Prothèse"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Douleur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Dents Sensibles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr "OHI recu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr "Palpation des canines supérieurs - NAD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Contribution du patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regex (expression régulière)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "Regex (expression régulière) multiple"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Reglements"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Description du patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Description(s) clinique(s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Assistant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"Ceci est le code XML pour cette item (c'est ainsi qu'il est stocké dans la "
+"base de données)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Nouveau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Heure du Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Espace libre avant un Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 mins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Espace libre apres Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Message pour le Forum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Sujet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Commentaires"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Assistant pour Hygiéniste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Détartrage et Polissage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Détartrage complet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "1ere partie d'un traitement étalé sur 2 visite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "2eme partie d'un traitement étalé sur 2 visites"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Dentiste / Hygiéniste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - Assistant pour la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Que voulez vous faire?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Modifier une base de donnée existante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Créer une nouvelle base de donnée vide"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Créer une nouvelle base de donnée ( a partir d'un modele)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Adresse Ligne 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Adresse Ligne 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Adresse Ligne 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Code postale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Téléphone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Site internet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+"Les utilsaiteurs suivant sont autorisés a se connecter a l'application"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Identifiant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Initiales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Nom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Groupe d'utilisateurs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Actif ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Modifier l'utilisateur selectionné"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Hygiéniste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Réceptionniste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Ajouter un Nouvel Utilisateur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Utilisateurs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Ajouter une Dentiste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Inscription"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Dentistes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Lundi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Mardi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Mercredi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Jeudi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Vendredi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Samedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Dimanche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Heures d'ouverture"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Catégorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Nom de la catégorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Image"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Catégorie d'age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Age minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Age maximum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Ajouter une catégorie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Limite d'age"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Aucun"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Mineur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Voir le XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Dossier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - VOTRE base de données dentaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr "Quitter la Session du Patient Actuel."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Echap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Ajouter un nouveau patient dans la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr "Cliquer sur ce bouton pour recherche un patient dans la base"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Rechercher"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Recharger le patient depuis la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+"Afficher les patients qui habitent à la même adresse, ou qui ont un nom "
+"similaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr "&Relation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr "Un menu déroulant avec la liste de tous les rendez-vous du jour."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Détails"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Genre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Tel ( maison )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Plus de Champs sont disponible. Cliquer ici pour les Editer."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Suite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Tel ( travail )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Tel ( portable )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "Envoyer un sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Date de Naissance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "envoyer a fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Adresse1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "Envoyer un Email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "E-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Adresse2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Adresse3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Occupation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Code postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Nouveaux Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Utiliser le Nom de famille et l'Adresse du patient précédent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr "Nom de famille et Adresse par défaut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Fonction non implémentée."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Famille"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Les Champs surlignés sont Obligatoires pour les nouveaux patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Détails du Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr "Le patient est enregistré avec le Dentiste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Type de Session"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Statut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Actif"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Déplacé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Décédé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Créance irrécouvrable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "Plus de Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Effacer la Créance irrécouvrable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+"Cette étiquette est réservée pour les affaires contractuelle d'ordre Privée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Éditer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Privé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Cette étiquette est réservée pour les affaires contractuelle du HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr "Plan Dentaire des Highland"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+"Cette étiquette est réservée pour les affaires contractuelle de la NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr "Voir l'Historique des Demandes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "Enregistré ailleurs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Contrat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Lettres AU patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Lettre personnalisé au patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr "Gestion des rappels"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr "Entrez la date pour qu'un rappel automatique soit généré"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr "Raccourci pour les dates"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "Dans 1 mois"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "Dans 3 mois"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "Dans 6 mois"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "Dans 12 mois"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr "Imprime un rappel disant que le patient est prévu maintenant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Comptes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "lettre \"A\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "lettre \"B\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "lettre \"C\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr "Imprimer un Etat de Compte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Double du reçu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Montant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Imprimer un reçu - utile pour les doubles"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Impression"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr "Correspondance précédente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "Générer par OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr "Référence ( Lettres a propos du patient )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr "Exporter cet enregistrement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr "Imprimer un graphe statique du patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr "Imprimer le graphe statique du patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Imprimer un résumé des notes du patient ( pour qu'il puisse les emporter). "
+"Ne pas inclure aucun détails des frais."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Imprimer un résumé des Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Imprimer un résumé des notes du patient. Inclure les détails des FRAIS et "
+"des ESTIMÉS."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Imprimer les Notes détaillés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Correspondance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Compte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr "Imprimer un GP17"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr "Estimation personnalisé sur fiche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr "Imprimer un &Estimé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr "Imprimer le &Compte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr "Accepter &Paiement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr "Journal du Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr "Raccourci des Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "Nouveau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "Vider/Annuler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Planning"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "Chercher dans l'Agenda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Imprimer la Carte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Modifier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr "Réception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr "Note Médicale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr "Résumé clinique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr "Niveau des détails"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "moyen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "maximal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr "Vue Graphique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Statique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "Prévision"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Graphiques"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "Estimé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr "Gestion des sessions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr "Fermer la Session"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr "Gestion des Estimations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr "Lettre d'Estimation personnalisé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"Utiliser cette fonction pour recalculer tous les items de la catégories "
+"\"dent\" de traitements. i.e toutes celles qui apparaissent sur le "
+"graphique.\n"
+"\n"
+"Note - les items déjà présent ne seront pas enlevés. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr "ReCalcul de l'Estimation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr "Vue standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr "Vue étendu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr "Planification de Traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr "Executer un Examin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Rayons X"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Prothèses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr "Orhto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr "Ajouter un item personnalisé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr "Estimation/Planification"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr "Choisissez les Données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr "Date du Chart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "les modifications seulement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Historique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Mémos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Entrer des Notes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "Note pour Aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr "Sauver les changements de cet enregistrement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Sauver les modifications"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "Livre de Phrases"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr "Ins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Base de Données des Patients"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "Aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Vue journalière"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Vue hebdomadaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Mois"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Vue mensuelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Vue Annuelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr "Rendez-vous / Agenda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "Dentiste Enregistré"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Lancer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Imprimer les Données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr "Dentiste / Hygiéniste traitant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr "Charger le Tableau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Imprimer le Tableau"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Imprimer les Lettres Sélectionnées"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr "TOTAL RESTANT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr "Ouvrir Toutes les Sections"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr "Fermer Toutes les Sections"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr "Document de Règlementation de la NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "Ouvrit Un PDF des dernieres Règlementations de la NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Ouvrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr "Liste de Frais"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Répondre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Supprimer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Nouveau sujet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Chercher par mot clef"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr "FORUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Fichier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Aide"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Préférences"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Outils"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&Exporter le Patient sur disque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&Import un Patient depuis un disque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "A propos de &OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr "&A propos de QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Taille de la police des Rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr "Effacer les Créneaux d'Urgence pour Aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr "Imprimer un formulaire NHS de test"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "options"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr "enregistrer les requetes dans le terminal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr "Selectionner le Clinicien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Choisir la Base de Données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr "Ajustement de la Liste de Frais"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr "Afficher la Colonne Nerd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Taille de police"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Notes Médicales"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Informations sur le Docteur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Nom du Docteur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Adresse / No. de Tel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Antécédents connues"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Prescription en cours"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Prescription Passée"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Allergies"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Cœur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Poumons"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Foie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Saignement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Reins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Anesthésie / opérations"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Examiné Aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Coché"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "le Patient est une \"Alerte Médical\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Nouveau score CPITN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+"Démarrer une nouvelle Session de Traitement avec les Critères suivant?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Date d'acception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Entrer un mot de passe pour empêcher une exécution non autorisé de "
+"l'application."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Port"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "(mysql)Mot de passe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Nom de la base de données"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "Paramètres d'impression du Formulaire NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Largeur de la marge à gauche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Largeur de la marge du haut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Chercher un Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+"Utiliser quelques un des champs pour obtenir une liste des patients probables"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Répéter la dernière Recherche"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Entrer au choix le nom complet ou bien les 1ere lettres du nom.\n"
+"\n"
+"SI vous n'êtes pas sur de l'orthographe, entrer le nom AU COMPLET,\n"
+"et sélectionner l'option \"ressemble à\"."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+"Sélectionner pour faire une recherche sur les nom au consonances similaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Entrer au choix le nom complet ou bien les 1ere lettres du nom.\n"
+"\n"
+"SI vous n'êtes pas sur de l'orthographe, entrer le nom AU COMPLET,\n"
+"et sélectionner l'option \"ressemble à\".\n"
+"Faites attention au deuxième prénom. \n"
+"par exemple \"Jean\" n'est pas pareil que \"Jean Marc\"!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr "L'Adresse inclut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+"openMolar va utiliser la ligne1 et la ligne2 de l'adresse pour la recherche "
+"de ce texte."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "Recherche d'un code postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Paiements"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Paiements pour le traitement"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Espèce"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Chèque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Carte de Débit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Carte de crédit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Autre Paiements"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Menues dépenses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "HDP Annuel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Divers"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Montant qui apparaitra sur le reçu (lecture seulement)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Elever les permissions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Seul un Superviseur peut "
+"effectuer cette Action.<br />Entrer le mot de passe s'il vous "
+"plait.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Page pleine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Générer les frais pour le traitement d'aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "£"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Répéter autant de fois que nécessaire - les montants s'accumuleront"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr "Patients relatifs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr "Ce Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Confirmation requise"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr "Quel sont les changements"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Poster un mémo a propos du Patient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "N'expire jamais"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Date d'expiration"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Visible par"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Tous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Auteur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "Faire une Sélection"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr "Effacer le mémo à la fermeture"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Enter un rendez-vous"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Rendez-vous avec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 heure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 heure 15 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 heure 20 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 heure 30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 heure 45 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 heures"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 heures 30 minutes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 heures"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Rendez-vous combiné avec l'hygiéniste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Raison 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Raison 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Raison 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Breve Note pour le Clinician (optionnel)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Planifier un Rendez-vous maintenant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr "Mot de passe du Système"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr "Utilisateur 1 (obligatoire)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr "Utilisateur 2 (optionnel)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Editer la tache sélectionner"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Ajouter une Nouvelle Tache"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr "Identité de la Dent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr "Plaque"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr "Furcation"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr "Purulence"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr "Mobilité"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "Tout &Copier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr "effacer les données sur la dent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr "Appliquer et reculer d'une dent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr "Appliquer et passer à la dent suivante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr "!Dent mobile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr "!Caries Précoces"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr "!Plombage Manquant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr "!Ébréché"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr "!Cassé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr "EFFACER LES COMMENTAIRES"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr "AM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr "Appliquer & Ajouter un nouvel Item"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr "Déc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr "dent prothétique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr "dent manquante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr "extraction (planifié seulement!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr "traitement de la racine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Scellant de fissure"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr "Canal Radiculaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Extraction"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr "Extraction chirurgicale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr "Dent Manquante"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr "Dent prothétique"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr "Racine présente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "TOTAL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Appliquer maintenant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Ajouter un nouvel utilisateur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr "Veuillez essayer d'avoir au moins 24 heure s'avance"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "si vous avez besoin de changer un rendez-vous."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Janvier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Février"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Mars"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Avril"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Mai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Juin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Juillet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Août"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Septembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Octobre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "Novembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Décembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Aujourd'hui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Demain"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Hier"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Bienvenue dans OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Version"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr "Révision"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+"Vos données sont accessibles, et le serveur ne signale aucun problème."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "Bonne journée!"
+
+#~ msgid "Complete this Treatment with the following Criteria?"
+#~ msgstr "Compléter ce traitement avec les critères suivant"
+
+#~ msgid "Treating Dentist/Hygenist"
+#~ msgstr "Traitement Dentiste/Hygiéniste"
+
+#~ msgid "Gross Fee"
+#~ msgstr "Frais brut"
+
+#~ msgid "Total Fee for these Items"
+#~ msgstr "Frais total pour ces items"
+
+#~ msgid "Block this Slot?"
+#~ msgstr "Bloquer ce créneau ?"
+
+#~ msgid "Patient Fee"
+#~ msgstr "Frais du patient"
+
+#~ msgid "&About"
+#~ msgstr "&À propos"
+
+#~ msgid "&Save Changes"
+#~ msgstr "&Enregistrer les modifications"
+
+#~ msgid "Help"
+#~ msgstr "Aide"
+
+#~ msgid "&Version"
+#~ msgstr "&Version"
+
+#~ msgid "General Topic"
+#~ msgstr "Sujet Général"
+
+#~ msgid "Table"
+#~ msgstr "Tableau"
+
+#~ msgid "OpenMolar or Computer related Topic"
+#~ msgstr "Sujet en relation avec OpenMolar ou les ordinateurs"
+
+#~ msgid "Who Are You?"
+#~ msgstr "Qui êtes vous ?"
+
+#~ msgid "Standard Fee"
+#~ msgstr "Honoraire standard"
+
+#~ msgid "Print letter Now"
+#~ msgstr "Imprimer la lettre Maitenant"
+
+#~ msgid "--Surgical"
+#~ msgstr "--Chirurgicale"
+
+#~ msgid "debug"
+#~ msgstr "debug"
+
+#~ msgid "Week"
+#~ msgstr "Semaine"
+
+#~ msgid "View Mode"
+#~ msgstr "Mode d'affichage"
+
+#~ msgid "Memos and Tasks"
+#~ msgstr "Mémos et Taches"
+
+#~ msgid "choose month"
+#~ msgstr "Choisir le mois"
+
+#~ msgid "MM/yyyy"
+#~ msgstr "MM/aaaa"
+
+#~ msgid "Find Patients"
+#~ msgstr "Trouver des Patients"
+
+#~ msgid "Default Columns"
+#~ msgstr "Colonnes par défaut"
+
+#~ msgid "Search for an Item"
+#~ msgstr "Chercher un Item"
+
+#~ msgid "Favourite Items Only"
+#~ msgstr "Items Préférés seulement"
+
+#~ msgid "Show All Items"
+#~ msgstr "Afficher tous les éléments"
+
+#~ msgid "Search by initials"
+#~ msgstr "Chercher avec les Initiales"
+
+#~ msgid "All Columns"
+#~ msgstr "Toutes les colonnes"
+
+#~ msgid "3306"
+#~ msgstr "3306"
+
+#~ msgid "OK, continue"
+#~ msgstr "OK, continuer"
+
+#~ msgid "Where is your mysql server located?"
+#~ msgstr "Ou est localise votre serveur mysql?"
+
+#~ msgid ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welcome "
+#~ "to the openMolar settings wizard.</p>\n"
+#~ "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+#~ "bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This will "
+#~ "set your system password, configure your mysql server, and install a small "
+#~ "demo database if required.</p></body></html>"
+#~ msgstr ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Bienvenue "
+#~ "sur l'Assistant de Configurations de openMolar.</p>\n"
+#~ "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+#~ "bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+#~ "left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Il va "
+#~ "vous aider à choisir un mot de passe, à configurer votre serveur mysql , et "
+#~ "à installer une petite démo si nécessaire.</p></body></html>"
+
+#~ msgid "Save settings and launch openmolar"
+#~ msgstr "Enregistrer les paramètres et lancer openmolar"
+
+#~ msgid ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... you are all set to "
+#~ "go.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">You will be presented with "
+#~ "a login screen.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">I trust you remember your "
+#~ "password?</p>\n"
+#~ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+#~ "margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">If you created a demo "
+#~ "database... </p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">enter <span style=\" font-"
+#~ "weight:600; text-decoration: underline;\">user</span> into the user1 field "
+#~ "of the login screen.</p></body></html>"
+#~ msgstr ""
+#~ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+#~ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+#~ "type=\"text/css\">\n"
+#~ "p, li { white-space: pre-wrap; }\n"
+#~ "</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+#~ "weight:400; font-style:normal;\">\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... vous êtes à "
+#~ "commencer.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">Un écran de connexion va "
+#~ "apparaitre.</p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">J'espère que vous vous "
+#~ "rappelez de votre mot de passe?</p>\n"
+#~ "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+#~ "margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+#~ "indent:0px;\"></p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">si vous avez créer une "
+#~ "base de démonstration... </p>\n"
+#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">entrer <span style=\" font-"
+#~ "weight:600; text-decoration: underline;\">utilisateur</span> dans le champ "
+#~ "utilisateur1 de l'ecran de connexion.</p></body></html>"
+
+#~ msgid ""
+#~ "Please enter a mysql user who has privileges for the openmolar database."
+#~ msgstr ""
+#~ "Entrer un utilisateur qui à les droits nécessaires pour accéder à la base de "
+#~ "données openmolar"
+
+#~ msgid "Would you like to create a demo openmolar database now?"
+#~ msgstr "Voulez vous créer une base de démonstration de Openmolar maintenant?"
+
+#~ msgid "No, I have a database already, continue."
+#~ msgstr "Non, j'ai déjà une base de données, continuer."
+
+#~ msgid "Yes please"
+#~ msgstr "Oui merci"
+
+#~ msgid "Test this connection to this database"
+#~ msgstr "Tester la connexion a cette base de données"
+
+#~ msgid "OMuser"
+#~ msgstr "Utilisateur OM"
+
+#~ msgid "Show Advanced Options"
+#~ msgstr "Afficher les Options Avancées"
+
+#~ msgid "show password"
+#~ msgstr "afficher le mot de passe"
+
+#~ msgid "show lunch breaks"
+#~ msgstr "Afficher les Pauses Déjeuner"
+
+#~ msgid "show appointments"
+#~ msgstr "Afficher les rendez-vous"
+
+#~ msgid "show emergency spaces"
+#~ msgstr "Afficher les Urgences"
+
+#~ msgid "Charge to Patient"
+#~ msgstr "Facturé au patient"
+
+#~ msgid "History Options"
+#~ msgstr "Options de l'historique"
+
+#~ msgid "Recalls"
+#~ msgstr "Rappels"
+
+#~ msgid ""
+#~ "To create a database, please enter the password of your ROOT mysql user."
+#~ msgstr ""
+#~ "Pour créer une base de données, entrer le mot de passe de l'utilisateur "
+#~ "mysql avec les droits ROOT."
+
+#~ msgid "Date of birth in format dd/mm/yyyy"
+#~ msgstr "Date de naissance au format jj/mm/aaaa"
+
+#~ msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+#~ msgstr "Anesthésiant utilisé - Lignocaine + 1:80,000 Adrenaline"
+
+#~ msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+#~ msgstr "Anesthésiant utilisé - Septonest + 1:200,000 Adrenaline (Vert)"
+
+#~ msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+#~ msgstr "Anesthésiant utilisé - Septonest + 1:100,000 Adrenaline (Or)"
+
+#~ msgid "Anaesthetic Used - Scandonest Plain"
+#~ msgstr "Anesthésiant utilisé - Scandonest Pure"
+
+#~ msgid "Anaesthetic Used - Citanest"
+#~ msgstr "Anesthésiant utilisé - Citanest"
+
+#~ msgid ""
+#~ "F\n"
+#~ "A\n"
+#~ "M\n"
+#~ "I\n"
+#~ "L\n"
+#~ "Y"
+#~ msgstr ""
+#~ "F\n"
+#~ "A\n"
+#~ "M\n"
+#~ "I\n"
+#~ "L\n"
+#~ "L\n"
+#~ "E"
+
+#~ msgid ""
+#~ "S\n"
+#~ "I\n"
+#~ "M\n"
+#~ "I\n"
+#~ "L\n"
+#~ "A\n"
+#~ "R"
+#~ msgstr ""
+#~ "S\n"
+#~ "I\n"
+#~ "M\n"
+#~ "I\n"
+#~ "L\n"
+#~ "A\n"
+#~ "I\n"
+#~ "R\n"
+#~ "E"
+
+#~ msgid ""
+#~ "A\n"
+#~ "D\n"
+#~ "D\n"
+#~ "R\n"
+#~ "E\n"
+#~ "S\n"
+#~ "S"
+#~ msgstr ""
+#~ "A\n"
+#~ "D\n"
+#~ "R\n"
+#~ "E\n"
+#~ "S\n"
+#~ "S\n"
+#~ "E"
+
+#~ msgid "Continue Editing"
+#~ msgstr "Continuer l'édition"
+
+#~ msgid "Discard Changes"
+#~ msgstr "Abandonner les modifications"
+
+#~ msgid "Chose a server"
+#~ msgstr "Choisissez un serveur"
+
+#~ msgid "Create openmolar_demo database, and continue"
+#~ msgstr "Créer la base de données openmolar_demo, et continuer"
+
+#~ msgid "Book"
+#~ msgstr "Agenda"
+
+#~ msgid "Private FeeScale"
+#~ msgstr "Liste de Frais Privée"
+
+#~ msgid "NHS FeeScale 2008"
+#~ msgstr "Liste de Frais de la NHS 2008"
+
+#~ msgid "Show All Fee Scales"
+#~ msgstr "Afficher toutes les Listes de Frais"
+
+#~ msgid "Restored Using Fuji IX"
+#~ msgstr "Réparé avec Fuji iX"
+
+#~ msgid "--Fissure Sealants"
+#~ msgstr "--Scellant de fissure"
+
+#~ msgid "--Bridge"
+#~ msgstr "--Bridge"
+
+#~ msgid "Pt Fee"
+#~ msgstr "Frais Pt"
+
+#~ msgid "Please re-enter this password"
+#~ msgstr "Veuillez ré-entrer le mot de passe"
+
+#~ msgid ""
+#~ "Please enter a password to\n"
+#~ "prevent unauthorised running of this application."
+#~ msgstr ""
+#~ "Choisissez un mot de passe pour\n"
+#~ "empêcher une exécution non autorisée de l'application"
+
+#~ msgid "Passwords did not match, please try again"
+#~ msgstr "Les mots de passe ne sont pas les même, veuillez recommencer"
+
+#~ msgid "Tooth Code"
+#~ msgstr "Code de la dent"
diff --git a/src/openmolar/locale/hu.po b/src/openmolar/locale/hu.po
new file mode 100644
index 0000000..cd46194
--- /dev/null
+++ b/src/openmolar/locale/hu.po
@@ -0,0 +1,6406 @@
+# Hungarian translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-11-09 10:16+0000\n"
+"Last-Translator: Krasznecz Zoltán <zoltan.krasznecz at gmail.com>\n"
+"Language-Team: Hungarian <hu at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-11-10 04:59+0000\n"
+"X-Generator: Launchpad (build 14263)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "sürgősségi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Vizsgálat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "rtg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "anaes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "egyéb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "egyedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Fogsoros munka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Hiba - ismeretlen fogorvos - sajnálom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Árjegyzék"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Betöltés sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "nem található"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Tárgy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Címzett"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Feladó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Üzenet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Korkedvezmény eltávolítva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Levélszám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Sorszám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Megszólítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Keresztnév"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Vezetéknév"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Életkor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Cím"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Település"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Család szám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Irányítószám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Megye"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Visszarendelés dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Ha bármikor újra kívánja futtatni, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "az alábbi helyről törölje ki az openmolar.conf file-t "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "Ha bármikor újra kívánja futtatni ezt a Segédet, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Pl. ha megváltozik a szerver címe, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "vagy új jelszót állítana be"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "típus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "a parancssorból, vagy törölje a következő file-t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "A biztonságosabb telepítés érdekében helyezze át a file-t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Hiba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Tanácsadó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "A jelszavak nem egyeznek!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Adatbázis létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Szeretné az alábbi beállításokkal létrehozni a demóadatbázist ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Adatbázis létrehozása sikeres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Adatbázis létrehozása SIKERTELEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Üdvözlöm az openMolar beállítás Segédjében."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Állítsa be a felhasználói jelszót"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Szerver címe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Adatbázis beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Beállítások mentése és kilépés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Demó adatbázis létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Adatbázis létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "Kapcsolat közben hiba lépett fel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Sikerült!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "A %s adatbázis fogadta a kapcsolódási kérelmet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"Kapcsolódási kísérlet sikertelen \n"
+"ellenőrizze a beállításokat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Adatbázis létrehozása sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "HIBA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Kliens frissítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Sajnos nem futtathatja ezt az openMolar klienst,\n"
+"mert az adatbázis verziója frissebb.</p>\n"
+"<p>Ez az kliens %s verziójú, de az adatbázis %s</p>\n"
+"<p>Kérem frissítse az OpenMolart</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Folytatja frissítés nélkül?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"<p>Ez az openMolar kliens régebbi, mint a használt\n"
+"adatbázis verziója<br />a kliens %s verzíójú,\n"
+"de az adatbázisa már %s<br />A különbségek nem számottevőek,\n"
+"folytathatja a munkát</p>\n"
+"<p><i>azonban ajánlatos lenne a klienst frissíteni, amint lehet</i></p>\n"
+"<hr /><p>Tovább szeretne lépni?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Ez nem az alapértelmezett adatbázis - biztos benne?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "megerősít"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "ALAPÉRTELMEZETT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Választott szerver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center><p>Valószínűleg most futtatja először az openMolar-t<br />Az "
+"alkalmazás futtatása előtt létre kell hozni a beállításokat tartalmazó file-"
+"t.<br />Ez fogja tartalmazni a mysql szerver elérhetőségét<hr />Ha még "
+"nincsen adatbázisa, létrehozhat egyet<</p>Felkészült a folytatásra?</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Első alkalom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Az OpenMolar nem futtatható"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Viszontlátásra!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Belépési hiba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Helytelen<br />Felhasználó/Jelszó<br />\n"
+"kombináció!<br />Kérem próbálja meg újra."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>ADATBÁZIS HIBA </p>\n"
+"<p>az alkalmazás nem futtatható</p>Hiba %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Kezelés alatt- Aktuális árajánlat</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "<h1>Előző kezelési sorozat árajánlata</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "Nem áll rendelkezésre árajánlat</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ÁRAJÁNLAT</h3></td></tr>\n"
+" <tr><th>No.</th><th>Kezelés</th><th>Kategória</th>\n"
+" <th>Típus</th><th>Sorozat</th>\n"
+" <th>Költség</th><th>Fizetendő</th><th>Elvégezve</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Előző kezelési sorozat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Kezdés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Vége"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Kezelés nem történt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "ELVÉGEZVE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "TERV"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr "Aktuális napló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr "Kiválasztott napló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Elérhető fogorvosok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr "Elérhető higiénikusok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Elérhető klinikusok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Kézi választás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Mindenki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Ebédidő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "értekezlet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Nincs rendelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr "Kérem jelöljön ki egy klinikust"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Megerősítés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "Törli az összes előző időpontot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "az alábbi naplójából"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Időpont sikeresen törölve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Javasolt időpont törlésekor hiba történt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Nincs kijelölt időpont"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr "Törli a be nem tervezett időponot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Alábbi időpont törlésének jóváhagyása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "ezzel:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Kérdés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr "Berendelőből törölve - újraberendeléshez megtartja?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "Időpont átirányítása sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr "Páciens naplóból eltávolítása sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr "Berendelőből eltávolítás sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr "Hiba történt az időpont rögzítésekor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr "Kérem válasszon ki egy időpontot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "az alábi beavatkozásra már van időpont:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr "Elérve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr "az utolsó meghatározott napló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr "Nincs klinikus kijelölve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr "nincs időpontja"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr "perc vagy több áll rendelkezésre a választott héten"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "Kérem jelöljön ki egy időpontot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr "Kérem válasszon új időpontot - ez már foglalt!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "Időpont az alábbi orvossal egyeztetve:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "Helyes?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr "Időpontegyeztetés jóváhagyása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "Időpont kijelölése sikertelen - sajnálom!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr "Nem adhat időpontot a múltban"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr "következő hét listázása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr "mai nap listázása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "Nincs listázható elem!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr "Feloldja a kiválasztott időpont zárolását?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "nem zárolható - megváltozott az berendelő?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr "nem foglalható időpont - megváltozott a berendelő?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "Nem tervezett"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "Előző időpontok megtekintése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Dátum & idő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Orvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Időtartam"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Kezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Emlékeztető"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"egyenlőre vigye fel a kezelést\n"
+"a tervbe, majd valósítsa meg."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr "státusz frissítése sikertelen - ez nem történhet meg!!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr "csak állapotnézetben változtatható a fog státusza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr "CPITN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr "NINCS STÁTUSZ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Űrlap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Jelölőnégyzet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Kezelési terv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Következő tételek hozzáadása a kezelési tervhez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Időpont hossza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "óra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Nap megnyitása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Klinikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Megnyitandó dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Napi emlékeztetők - opcionális"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Rendelés kezdete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Reggeli SOS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Befejezés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Délutáni SOS "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Nap vége"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Berendelő eszköztár"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr "Berendelések záródátumának áthelyezése."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr "Berendelő kiterjesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "Elmúlt hetek eltávolítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Heti munkaidő szerkesztése (klinikusok)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Nap megnyitása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr "Szokásos zárolások beillesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Kilépés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Berendelő Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr "Javasolt időpontok hozzáadása a páciensnaplóhoz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "SzövegCimke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Hozzáadás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr "Orvosok - DÁTUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "Másolás vágólapra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr "Mentett értékek beillesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Beillesztés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Opciók"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Szeretné zárolni (vagy részlegesen zárolni) ezt az időpontot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Zárolás kezdete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Zárolás vége"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Szövegcimke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Zárolva//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Sürgősségi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "Foglalt karbantartási idő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr "Csusztató idő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Telefonhívás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Zárolás beillesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Szeretne beilleszteni egy pácienst ehhez az időponthoz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Kezdés ideje"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "A kiválasztott páciens<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Módosítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Bejelentkezés oka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Ismert páciens beillesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr "Zárolás Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr "Többnapnyi blokkolás berendelőbe illesztése."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Kezdődátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "Záró dátum (ezzel együtt)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Idő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr "Hozzárendelendő szöveg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr "Hozzárendelendő napok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Fogorvosok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Híd - Fogpótlás kezdete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Kerámia / Nemesfém"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Fémmentes kerámia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Kompozittal rögzített"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Híd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Felső"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Teljes kivehető (akril)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Teljes kivehető (fémlemezes)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Részleges kivehető (akril)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Részleges kivehető (fémlemezes)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Egyéb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Alsó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Műfogsor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Tömeglevelezés beállításai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Levelek dátumformátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Teljes, nap, hónap és év"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Hónap és év"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Használandó dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Mai dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr "Páciens visszarendelési dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Ez a dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Adatbázis váltása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Host"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "localhost"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Felhasználó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "felhasználó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Jelszó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "jelszó megjelenítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Adatbázis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "jelszó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Dokumentum választása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Dokumentum megtekintése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "OEP 2008 áprilisi díjazási táblázata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "OEP \"Útmutató\" 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "OEP díjazási táblázata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "OEP \"Útmutató\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "Válasszon klinikust"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Nyelvválasztó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Az alábbi nyelvek közül "
+"választhat.<br />Egyes nyelvek még fordítása még folyamatban "
+"van.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Megjegyzés - amennyiben a kiválasztott fordítás nem áll rendelkezésre (vagy "
+"még folyamatban van), látogasson el a https://launchpad.net/openmolar címre "
+"és segítsen az elkészítésében!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Köszönet mindazoknak, akik "
+"segítettek nemzetközivé tenni az openMolar-t,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">továbbá a GNU eszközök "
+"létrehozóinak és a launchpad rosetta fejlesztői csapatának</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">akik mindezt lehetővé "
+"tették.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Válasszon fogat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Kérem válassza ki melyik fogra tervezi ezt a kezelést"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Párbeszédablak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Felnőtt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr "Tejfog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+"Adjon meg egy tömés, vagy restauráció kódját, és ellenőrizze, hogy az "
+"árjegyzék megtalálja-e"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "ugrás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Kezelés befejezése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "Minden kezelést elvégez?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Elkészülés dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "NÉVTELEN PÁCIENS - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"A páciensnél nincs további kezelési javaslat, mégis \"folyamatban lévőnek\" "
+"tűnik."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Elkészülés várható időpontja"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Rögzíti az időpontot?<br "
+"/>(a kezelési sorozat később is megnyitható)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Melyik fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+"Folytatja a GP17 űrlap nyomtatását az aktuális fogorvos szerződési számával? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Előző kezelési sorozat (00/00/0000-00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Új kezelési sorozat (nincsenek időpontok)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Kiválasztás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Arany"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Kompozit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Ideiglenes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Zirkónium"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Korona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Ragasztott"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Újraragasztás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Mégsem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Egyedi tétel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Tételek száma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Költség"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Kezelés leírása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Napilista nyomtatási Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr "Dátumok és hallgatók kiválasztása napi nyomtatásra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Befejező dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "Minden hallgató egy oldalra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Oldalanként egy hallgató - minimális"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Oldalanként egy hallgató - teljes oldal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Emlékeztető szerkesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"p align=\"center\">2009. december 25. péntek</p>\n"
+"<p align=\"center\">Karácsony</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Általános emlékeztetők"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "Klinikusi emlékeztetők"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr "Levélszöveg bevitele"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr "<b>Kérem ide gépelje be a levél szövegét.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " ÖSSZESEN "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "Nem."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Kód"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Leírás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Kat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Típus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr "cset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Költség"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Mindent listáz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Tételek felosztása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "kód"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "intraorális röntgenek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Befejezve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr "Vizsgálat Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr "Kiterjesztett"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr "Kezelési árajánlat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Vizsgálat dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Feljegyzések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr "Panaszok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr "N/A"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Törött fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr "Műfogsor problémák"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr "Kiesett tömés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Fájdalom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Érzékeny fogak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr "Lágyszövetek rendben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr "Szájhigiénés tudnivalókkal ellátva."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr "Retineált felső szemfogak - nem található"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Új tétel árlistához adása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Páciens térítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr "Felhasználókód"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "Több Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Szabályzatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr "Szabályzat Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr "Díjszabás-kategoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "Kezelési terv kategóriája"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Páciens leírása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Klinikai leírás(ok)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Bruttó díjak (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Nettó díjak (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"Alábbiakban található az elem XML leírása (ebben a formában tárolja az "
+"adatbázis)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Eredeti (csak olvasható)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Új"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr "Díjtétel logikai ellenőrzése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Időpont"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Időpont előtti hely"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Időpont utáni hely"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Fórum beírás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Téma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Hozzászólás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 karakter)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Higiénikus Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Fogkőeltávolítás és polírozás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Kiterjesztett fogkőeltávolítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Kétüléses kezelés, első ülés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Kétüléses kezelés, második ülés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Fogorvos/Higiénikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr "Hídeltávolítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - adatbázis Segéd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Mit szeretne tenni?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Létező openMolar adatbázis megváltoztatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Új adatbázis létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Új adatbázis létrehozása (minta alapján)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr "Rendelő neve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr "Számlákon, időpontkártyákon, stb. használt."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Címsor 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Cymsor 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Címsor 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Irányítószám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Honlap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Rendelő részletei"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "A következő felhasználók léphetnek be a rendszerbe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Id"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Monogram"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Név"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Felhasználói csoport"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Aktív?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr "Deaktiváció dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Felhasználó módosítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Új felhasználó adatai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Standard felhasználó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Szájhigiénikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Recepciós"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr "Aktív felhasználó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Új felhasználó hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Felhasználók"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"A következő fogorvosok nak vannak feljegyzéseik ebben az adatbázisban\n"
+"(megjegyzés - nem javasolt a fogorvosok eltávolítása, mert ez a keresésekben "
+"és egyenleglekérdezésekben hibákat okozhat) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Új fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Regisztráció"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr "Aktív berendelőnapló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr "Pácienseket az alábbi fogorvoshoz rendelhetők hozzá"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Fogorvosok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"A következő higiénikusok rendelkeznek megjegyzésekkel az adtrbázisban\n"
+"(eltávolításuk nem ajánlott, mert egyenleglekérdezési gondokat okozhat) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr "Higiénikusok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Hétfő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Kedd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Szerda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Csütörtök"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Péntek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Szombat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Vasárnap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Rendelési órák"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr "Ebben az adatbázisban a következő kategóriák vannak használatban"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Kategória"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Kategórianév"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Kép"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Korkategória"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Minimumkor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Maximumkor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Kategória hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Korhatár"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Semmi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "18 éves korig"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Kategórialevél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Kategória aktív"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Páciens kategóriák"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Kezelések és díjak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "XML nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "File"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr "Minta betöltése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "&Minta mentése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - Az ÖN fogorvosi szoftvere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr "Aktuális pácienskarton bezárása."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Esc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Új páciens hozzáadása."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr "A páciensadatbázisban történő kereséshez nyomja meg ezt a gombot."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Keresés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr "Ezzel kereshet vissza a mai napra betöltött adatok között."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Pácienskarton újratöltése az adatbázisból."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr "Ezzel kereshet előre a mai napra betöltött adatok között."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr "Azonos címen élő, vagy azonos nevű páciensek keresése."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr "&Rokon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr "Az összes mai napra berendelt beteget tartalmazó lenyílóablak."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Részletek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Nem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "N"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Tel (otthoni)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "További mezők érhetőek el. Szerkesztéshez kattintson ide."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Több"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Tel (munkahely)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Tel (mobil)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "sms küldése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Születési idő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "fax küldése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Lakcím1(Város)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "email küldése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Lakcím2(Utca, házszám)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Lakcím3 (Irányítószám)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Foglalkozás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Irányítószám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Új páciensek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Előző páciens vezetéknevének és lakcímének használata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr "Alapértelmezett vezetéknév és lakcím"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Ez a funkció még nem működik."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Család"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "A megjelölt mezők kitöltése kötelező"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Páciens adatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr "A páciens rendelkezik körzeti fogorvossal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Kezelési sorozat típusa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Státusz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Aktív"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Elköltözött"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Elhunyt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Adósság"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "Nincs több időpontja"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Adósság leróva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr "Ez a cimke a magánszerződés részleteit jeleníti meg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Szerkesztés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Magán"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Ez a cimke a HDP szerződéses részleteket jeleníti meg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr "Highland fogászati terv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "Ez a cimke az OEP szerződéses részleteket jeleníti meg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr "Követeléslista megtekintése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr "Díjmentesség"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr "Díjmentesség indoklása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "OEP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr "Nincs információ a páciens körzeti fogorvosáról"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "Máshol szerződött"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Szerződés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Páciensnek küldött levelek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Egyedi pácienslevél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr "Visszarendelés beállításai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr "Visszarendelési dátum automatikus meghatározása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr "Dátum gyorskeresés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "1 hónap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "3 hónap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "6 hónap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "1 év"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr "Páciensvisszarendelő nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr "Visszarendelő nyomtatása most"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Egyenlegek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "\"A\" levél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "\"B\" levél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "\"C\" levél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr "Számlaegyenleg nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Számla másolása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Összeg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Recept nyomtatása - másolatokhoz használható."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Nyomtatás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr "Előző levelezés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "OpenMolar által generált"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr "Adatbázisba importált"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr "Dokumentum importálása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr "Ajánlások (levelek a páciensről)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr "Aktuális karton exportálása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr "Páciens aktuális státuszának nyomtatása."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr "Páciens aktuális státuszának nyomtatása."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr "Kezelési összesítés nyomtatása (elvitelre). Árakat nem tartalmaz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Feljegyzések nyomtatása összesítve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Kezelési összesítés nyomtatása (elvitelre). KÖLTSÉG és ÁRAJÁNLAT részletezve."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Feljegyzések részletes nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Levelezés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Egyenleg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr "GP17 nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr "Díjmentesség megállapítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr "Egyedi árajánlat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr "Árajánlat nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr "Egyenleg nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr "Kivonat &Befizetés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr "Páciensnapló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr "Ez a Segéd megkönnyíti bizonyos időpontkombinációk létrehozását"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr "Időpont gyorskeresés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr "Új időpont az aktuális páciens részére"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Új"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "időpont törlése vagy eltávolítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "Töröl/Mégsem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr "Kiválasztott időpont létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Napirend"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr "Karbantartás - páciens összes korábbi időpontjainak törlése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Minden régi időpont törlése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr "Időpont keresése a praxis időpontjai között"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "Keresés számlaegyenlegben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr "Páciens következő 5 időpontjának nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Cimke nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr "Engedélyezi az időpont bizonyos kritériumainak a módosítását"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Módosít"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr "Recepció"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr "CPITN értékek aktualizálása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr "klinikai vizsgálat végzése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr "röntgenek hozzáadása aktuális kezelési sorozathoz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Röntgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr "általános periodontális kezelések elvégzése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr "Higiénikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr "Kezelési sorozat lezárása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr "páciens orvosi történetének ellenőrzése / frissítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr "Orvosi feljegyzések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr "Klinikai összefoglaló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr "Kommunikáció foka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "alacsony"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "közepes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "teljes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr "csak recepció"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr "Státsuznézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Állapot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "Terv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Státuszok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "Árajánlat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr "Kezelési sorozat beállításai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "Kezelő fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr "Új kezelési sorozat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr "Kezelési sorozat lezárása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr "Árajánlat beállításai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr "Egyedi költséglevél"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"A \"fog\" kategórián belül ezzel tud minden megjelenő tétel átárazni. A "
+"státuszon ezek jelennek meg.\n"
+"Megjegyzés - Nem távolítja el a már szereplő tételeket. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr "Árajánlat újraszámolása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr "Díjmentesség hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr "Egyszerű nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr "Bővített nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr "Terv / Elvégzett (egyszerű)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr "Terv / Elvégzett (bővített)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr "Kezelési terv készítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr "Vizsgálat végrehajtása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Rtg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Fogpótlások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr "Ortho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr "Egyéb Kezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr "Egyedi tétel hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr "Árajánlat / Terv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr "Válasszon állományt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr "Státusz dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr "Perio státuszok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr "Páciens összes befizetésének listázása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr "Előző befizetések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr "Elvégzett kezelések megtekintése, dátum szerint"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr "Előző kezelések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+"Összes kezelési sorozat megtekintése. Tartalmazza a tervezett, de el nem "
+"végzett sorozatokat is."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr "Kezelési sorozatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr "Páciens előző kezelési tervei."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr "Árajánlatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr "kezelési sorozatok és kezelési tervek mutatása."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr "Kezelési sorozatok / Tervek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr "OEP követelések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr "Aktuális oldal szövegének nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr "Egyedi beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+"Haladó opciók fejlesztők részére. Nincs sok értelme!\n"
+"\n"
+"Ha bejelöli a \"csak változások\" jelölőnégyzetet, csak a megváltozott "
+"adatok jelennek meg."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr "hibakereső eszközök"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "csak díjak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Előzmények"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Emlékeztetők"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Írja be a feljegyzést."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "Mai feljegyzések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr "Karton változásainak mentése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Változtatások mentése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Tennivalók"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "Kifejezéstár"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr "Beilleszt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Páciens adatbázis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "Mai nap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr "Időpontok tervezése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr "Legközelebbi megfelelő időpont keresése. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+"Előző időpont keresése\n"
+"F5"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr "Előző"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+"Következő lehetséges időpont keresése\n"
+"F6"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr "Következő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr "Jelenlegi páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Napi nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr "Összes időpont listázása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Heti nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Hónap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr "Havi nézet nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Havi nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "Év"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Éves nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr "Időpontok / Napló"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "Regisztrált fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Ugrás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Adatok nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr "Számlaegyenleg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr "Kezelőorvos / Higiénikus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr "Mai nap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr "Olyan pácienskartonok keresése, ahol a páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr "Tartozik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Követel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr "Több, mint"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr "Táblázat betöltése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Táblázat nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Kijelölt levelek nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr "ÖSSZES FENNMARADÓ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr "Olyan pácienskartonok keresése, ahol"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "ezek közé esik:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr "nn/HH/éééé"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "és"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr "(Tartalmaz)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Levelek nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr "Levélopciók"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr "Csoportos levelezések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr "Rendelkezésre álló díjszabások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr "A díjszabás beállításához használható"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr "Tétel keresése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr "kifejezés keresése a felhasználókód oszlopban"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr "Felhasználókód keresése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr "kifejezés keresése a leírás oszlopban"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr "Leírás keresése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr "Összes tétel gyors kibontása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr "Teljes listanézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr "Összes tétel gyors zárása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr "Kompakt listanézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr "OEP szabályzat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "Legújabb OEP szabályzat megnyitása PDF-ben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Megnyitás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr "Díjszabás beállítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+"Bejelölve a felhasználó megváltoztathatja az alábbi tételeket és díjakat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr "Díjszabás beállításának engedélyezése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr "Változtatások végrehajtása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr "xml tábla mutatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr "Díjszabás ellenörzése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr "Díjszabások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Válaszol"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr "Alt+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Töröl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr "Del, Backspace"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr "Alt+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Új téma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Keresés kulcsszóra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr "Az alábbi témák megjelenítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr "Válaszok felosztása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr "Csoportos válaszok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr "FÓRUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Fájl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Súgó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr "Nézet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Eszközök"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&Páciens mentése lemezre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&Páciens betöltése lemezről"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "Névjegy&OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr "&Névjegy QT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Időpont betűméret"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr "Státusz táblázatnézetben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr "Mai sürgősségi időpontok ürítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr "OEP űrlap próbanyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "Beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr "Kérdések naplózása terminálon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr "Klinikus beállítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Adatbázis választása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr "Díjszabás beállításai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr "Napilista választása és nyomtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Nyelv váltása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Teljes képernyős üzemmód (Ctrl-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr "Ctrl+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr "Adatbázis létrehozása/módosítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr "Haladó szintű kartonkezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr "Irányelvek mutatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Betűméret"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr "Fórum - haladó beállítások megjelenítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Orvosi feljegyzések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Orvos adatai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Orvos neve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Cím/Telefonszám"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Ismert betegségek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Aktuális gyógyszerek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Előző orvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Allergia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Szív- és érrendszer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Légzőszervi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Máj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Vérzékenység"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Vesék"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Altatás/műtétek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Mai napon kezelve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Kezelve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Egészségügyi kockázat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Új CPITN-érték"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Új kezelési sorozat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "Új kezelési sorozat nyitása az alábbi feltételekkel?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Szerződéses fogorvos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Bejelentkezés dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr "OpenMolar - Első futtatás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\"><html><head><meta "
+"name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">p, li { white-"
+"space: pre-wrap; }</style></head><body style=\" font-family:'Droid Sans'; "
+"font-size:8pt; font-weight:400; font-style:normal;\"><p style=\" margin-"
+"top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-"
+"indent:0; text-indent:0px;\">Az első futtatáskor beállíthatja</p><ul "
+"style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">rendszerjelszavát</li><li style=\" margin-top:0px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">mysql szerverének elérhetőségét</li><li style=\" margin-"
+"top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-"
+"indent:0; text-indent:0px;\">igény szerint egy kisméretű (4 beteget "
+"tartalmazó) demó adatbázist.</li></ul></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Kérem adjon meg egy jelszót. Ezzel elkerülheti, hogy illetéktelenek "
+"futtassák az alkalmazást."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "mutat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr "Jelszó ismét"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr "Hol található a mysql szerver? **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Port"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+"** Ha még nincsen mysql szerver a hálózatán, lépjen ki ebből a telepítőből, "
+"és most telepítsen egy szervert.\n"
+"\n"
+"Ha debian vagy ubuntu operációs rendszert használ, üsse be, hogy \"sudo apt-"
+"get install mysql-server\"\n"
+"és jegyezze fel a telepítés során megadott root jelszavát. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr "Adatbázis részletek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "(mysql)Jelszó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Adatbázis neve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr "Kapcsolat tesztelése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr "Demó adatbázis létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr "Létező adatbázis használata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+"OK.... minden beállítva.\n"
+"\n"
+"Az openMolar futtatását követően egy bejelentkező képernyőt fog látni.\n"
+"\n"
+"Jelszó = az előzőleg megadott\n"
+"User1 = regisztrált felhasználó (demóadatbázis esetén csak \"user\")\n"
+"User2 = regisztrált felhasználó (üresen maradhat)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr "OpenMolar indítása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Új adatbázis "
+"létrehozásához és a felhasználó jogosultságainak beállításához, "
+"adminisztrátorként kell belépnie a mysql-be.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Az OpenMolar ezt a jelszót "
+"NEM tárolja.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Kérem adja meg a "
+"mysql ROOT jelszót.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(megjegyzés - a legtöbb "
+"mysql telepítéskor blokkolja a root hozzáférést, kivéve ha helyileg lett "
+"telepítve)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr "Root mysql jelszó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr "Adatbázis létrehozása.... kérem várjon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Vissza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Tovább"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "OEP űrlap nyomtatási beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Bal margó mérete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Felső margó mérete"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "Első vizsgálat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr "Ismétlő vizsgálat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr "Előző vizsgálat dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr "Beleegyezem egyszerű kezelés végrehajtásába"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr "Vizsgálat oka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr "Torlódás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr "Hézag"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr "Enyhe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Mérsékelt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr "Súlyos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr "Metszőfogak viszonya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr "Overjet:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "hh"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr "Mélyharapás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Befejezett"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr "Befejezetlen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr "Traumás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr "Vonatkozó egészségügyi előzmények"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\"><html><head><meta "
+"name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">p, li { white-"
+"space: pre-wrap; }</style></head><body style=\" font-family:'Droid Serif'; "
+"font-size:7pt; font-weight:400; font-style:normal;\"><p style=\"-qt-"
+"paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; "
+"margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Fogászati előzmények"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Rossz prognózisú fogak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr "Páciens motiváció"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr "Kivehető készülék"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr "Rögzített készülék"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Páciens kereső"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr "Töltsön ki néhány mezőt a lehetséges találatok megjelenítéséhez."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Utolsó keresés ismétlése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr "Vezetéknév"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"Adja meg a teljes nevet, vagy a név első betűit\n"
+"\n"
+"Ha nem tudja pontosan a vezetéknevet, írja be amire emlékszik,\n"
+"és jelölje be a szomszédos \"hasonlító\" jelölőnégyzetet."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr "jelölje be a hasonlító nevek kereséséhez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Adja meg a teljes nevet, vagy a név első betűit\n"
+"\n"
+"Ha nem tudja pontosan a vezetéknevet, írja be amire emlékszik,\n"
+"és jelölje be a szomszédos \"hasonlító\" jelölőnégyzetet.\n"
+"Figyeljen a középső nevekre. \n"
+"Pl. \"Anna\" nem hasonlít az \"Anna Mária\"-hoz!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr "Lakcím tartalmazza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+"A megadott szöveget az openMolar a lakcím első és második sorában keresi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr "A számsort az openMolar minden megadott telefonszám alatt keresi."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "irányítószám keresése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Befizetések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Kifizetett kezelések"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Készpénz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Csekk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Hitelkártya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Bankkártya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Egyéb fizetési módok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "Instr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "Éves HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Egyéb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Számlán megjelenő végösszeg (csak olvasható)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Jogosultságok feloldása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Csak a rendszergazda "
+"végezheti el a műveletet.<br />Kérem adja meg a jelszót.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+"A funkció jelenleg nem működik - más számára adhat meg teendőket a "
+"pácienssel kapcsolatban."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr "A teendőket végezze el"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Neil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Bea"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Helen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Andy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Frances"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "stb...."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr "Mai feljegyzések írása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr "Kapcsolatfelvétel a pácienssel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr "Döntés szükséges"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Sürgős"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "ASAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Rutin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr "Határidő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Feljegyzés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Nyomtatási kép"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "Minimális"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Teljes oldal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr "Költség meghatározása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Mai kezeléseg költsége"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr "Leírás (pl. fehérített, MOD)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "Ft"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Szükség esetén ismétlendő - a mennyiségek összeadódnak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr "Haladó szintű kartonmódosítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr "OEP aktuális díjai (money0)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr "OEP kifizetések (money2)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr "OEP tervezett (money4)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr "magán tervezett (money5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr "Mentes - OEP bruttó - elvégzett kezelés (money6)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr "Mentes - OEP bruttó - tervezett aktuális (money67"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr "követel (money8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr "tartozik (money9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr "tartozik2 (money10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr "money 11 (mindig 0!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr "magán aktuális díjak (money1) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr "magán befizetések (money3)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr "MINDEN TÉTEL FILLÉRBEN (tized)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr "Fennmaradó <br />összeg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "A módosítások végrehajtása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Pénz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Dátum hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Dátumok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr "Röntgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr "érzéstelenítők"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr "új felső"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr "új alsó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr "felső javítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr "alsó javítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr "Kezelési terv"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr "Elvégzett kezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr "Rokon páciensek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr "Aktuális páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Megerősítés szükséges"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr "Mi változott?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr "Emlékeztető felvitele pácienshez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr "Lejárati beállítások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr "Sosem jár le"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr "Lejárat dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr "Megtekintésére jogosult"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr "Mindenki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr "Rendelői gépek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr "Recepciós gépek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr "Szerző"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr "Válasszon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr "Emlékeztető törlése ablak bezárása után"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr "Adjon meg időpontot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr "Időpont egyeztetve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr "5 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr "10 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr "15 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr "20 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr "30 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr "40 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr "45 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr "1 óra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr "1 óra 15 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr "1 óra 20 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr "1 óra 30 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr "1 óra 45 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr "2 óra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr "2 óra 30 perc"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr "3 óra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr "Higiénikussal közös időpont?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr "Indok 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr "Indok 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr "Indok 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr "Rövid feljegyzés a klinikus részére (opcionális)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr "Időpont megadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr "Összegzés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr "Üzenetek és Feladatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr "openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr "Rendszerjelszó"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr "Felhasználó 1(kötelező)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr "Felhasználó 2(opcionális)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr "Rendelői gép"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr "Recepciós gép"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr "módosít"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr "Kérem adja meg a rendelő számát"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr "Egyes rendelő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr "Kettes rendelő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr "Hármas rendelő"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr "Neil feladata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr "Feladat szerkesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr "Új feladat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr "FogID"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr "Tasakképződés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr "Lepedék"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr "Recesszió"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr "Furcatio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr "Gennyesedés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr "Mozgathatóság"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr "Másol&Mindent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr "fog adatainak törlése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr "Cr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr "Mentés és következő fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr "Mentés és előző fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr "I"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr "II"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr "III"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr "ÚJ HOZZÁSZÓLÁS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr "!FIGY"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr "!Mozgó fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr "!Kezdődő szuvasodás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr "!Kiesett tömés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr "!Letört"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr "!Eltört"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr "!Rossz prognózis"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr "!Extrakció hamarosan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr "!Implantáció szükséges"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr "HOZZÁSZÓLÁS TÖRLÉSE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr "de."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr "ET"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr "ÜI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr "FK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr "Rögzítés, és új tétel hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr "&&"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr "Váltás státusz- és tervnézet között"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr "Váltás tejfog/maradófog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr "Tej"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr "Műfog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr "A/F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr "hiányzó fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr "Hiány"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr "foghúzás (csak terv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr "Ex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr "gyökérkezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr "Gyk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr "kerámia héj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr "Kor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr "Komp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr "Fogtulajdonságok szerkesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr "BF8"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr "Tételek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr "Adatbázis sor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr "Hoppá!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr "Nemzeti ünnepek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr "DÁTUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr "Nemzeti ünnepek szerkesztése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr "Tejfogstátusz bekapcsolása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr "Kezelések végrehajtása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr "Koronatípus változtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr "Alapanyag változtatása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr "Összes restauráció törlése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr "Előzmények megjelenítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr "Törlés "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr "Bal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr "Jobb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr "bezárás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr "Barázdazárók"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr "Barázdazáró"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr "Barázdazáró/Kompozit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr "Koronák"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr "Aranykorona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr "Fémmentes korona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr "Porcelán jacketkorona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr "Ideiglenes korona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr "Kompozitkorona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr "Egyéb korona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr "Zirkónium pillér"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr "Adhezív szárny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr "Arany_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr "Fémmentes_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr "Egyéb_"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr "Endodontológia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr "Pulpa exstirp. - 1 csatorna"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr "Pulpa exstirp. - több csatorna"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr "Gyökércsatorna"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr "Inkomplett gyökérkezelés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr "Sebészeti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr "Fogeltávolítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr "Sebészeti fogeltávolítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr "Resectió"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr "Csak állapot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr "Hiányzó fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr "Műfog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr "Gyökér"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr "Maradó fog előtörőben"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr "Részben előtört fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr "Elő nem tört fog"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr "változások rögzítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr "Nem választott pácienst!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr "nincs kiválasztva páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr "hiba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr "nincs egyezés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr "nincs ilyen páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr "A kiválasztott páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr "nincs kiválasztva páciens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr "Adjon meg fogorvost / higiénikust"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr "Az alábbi karton el nem mentett módosításokat tartalmaz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr "Elrejt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr "Afrikaans"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr "Francia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr "Német"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr "Magyar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr "Lengyel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr "Portugál"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr "Szlovák"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr "Spanyol"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr "Török"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr "nem áll rendelkezésre %s nyelvű fordítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr "Tervezett"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr "Tétel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr "kattintson a tétel szerkesztéséhez - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr "kattintson a tétel törléséhez - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr "kattintson a tétel reklámozásához - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "kérdés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr "<p>Jóváírja a páciensnek a(z) %s költségét?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr "üzenet törlése sikertelen - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr "badly formed est.type??? %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr "eltávolítja a(z) %s %s az árajánlatból?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr "helytelen dátumformátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr "Mentse el a régi kezelési sorozat változtatásait mielőtt folytatná"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+"<p>nem vihető fel terv vagy kezelés ha\n"
+"a páciensnél nincs aktív kezelési sorozat</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr "Új kezelési sorozat megnyitva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr "ÚJ KEZELÉSI SOROZAT NYITÁSA SIKERTELEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Változások alkalmazása?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+"<p>%s mind a körzeti, mind a kezelő \n"
+"fogorvos.<br />Folytatja?<br />\n"
+"<i>Ha folytatja megszűnik a kapcsolat %s felé</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+"<<br /><i>a változás jóváhagyása módosítja\n"
+"a kezelő fogorvost, de nem érinti a körzeti fogorvost</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr "<i>ajánlatos hogy %s legyen a körzeti fogorvos</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr "%s vizsgálatot végezte %s\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr "Vizsgálat nem történt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Újrakeresés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Dokumentum Statisztika"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr "Kifejezés nem található"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr "leírások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr "PDF megnyitása sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Eltávolítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr "Törli %d hozzászólásokat?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr "Törli a kijelölt bejegyzést?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr "ÚJ PÁCIENS MENTÉSE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr "VÁLTOZÁSOK MENTÉSE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr "Újratöltés"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr "Átnézi és/vagy újranyomtatja ezt az tételt?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr "fájlimportálási hiba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr "nincs fájl kiválasztva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr "dokumentum nem nyitható meg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr "Mai páciensek (MIND)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+"Hiba történt a %s modul\n"
+"betöltésekor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+"<center>%s üzenetet küldött<br />\n"
+"Kelt %s<br /><br />%s</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr "%s emlékeztetője nem elérhető"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr "ÚJ FÓRUM BEJEGYZÉSEK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr "Az alábbi tételeket sikeresen módosította"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr "Árajánlat elvetése és minden tétel újraárazása?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr "adjon meg adatot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr "páciens maximális költsége"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+"<div align=\"center\">\n"
+"<h3>Új páciens felvitele</h3>Töltse ki a kötelező mezőket,\n"
+"majd nyomja meg a Változások mentése gombot.\n"
+"</div>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "Nem sikerült menteni az új pácienst!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+"nincs elég adat az új karton létrehozásához...\n"
+"kérem töltse ki a jelzett mezőket"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Nem sikerült menteni a pácienst"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "Az új pácienst nem sikerült elmenteni. Elveti a változásokat?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr "SZÁMLAEGYENLEG ÉRTESÍTŐ - UTOLSÓ FELSZÓLÍTÁS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr "Korábbi levelezésünkre emlékeztetve sajnálattal vettük észre,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr "hogy a elvégzett kezelései után az alábbiakkal tartozik: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr "Kérem vegye figyelembe egyenlege jelenlegi állapotát:- "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Összesen : %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr "Kérjük a teljes összeget egyenlítse ki. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr "Az előző értesítőt %s napon postáztuk ki."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr "Nagyra értékelnénk, ha mihamarabb rendezné tartozását."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr "Nagyra értékelnénk, ha számláját 7 munkanapon belül rendezné."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr "A határidő elmulasztását követően"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr "jogi lépéseket leszünk kénytelenek tenni."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr "Tisztelettel,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr "* A tartozás postautalványon rendezhető rendelőnk nevére és címére\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+"egyéb fizetési mód esetén kérjük lépjen velünk kapcsolatba telefonon."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+"Felhívjük szíves figyelmét, hogy nyilvántartásunk szerint fogászati "
+"ellenőrzése esedékessé vált."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+"Kérjük időpontegyeztetés céljából vegye fel a kapcsolatot rendelőnkkel. *"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr "Reméljük, hogy a közeli jövőben ellátogat hozzánk."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+"* Amennyiben már van következő időpontja,\n"
+"elnézését kérjük, és tekintse levelünket tágytalannak."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "nincs betöltött adat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr "PDF NINCS - (értesítse a fejlesztőket)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "%s PDF mentése sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Professzionális szolgáltatások"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr "számla másolása %.02f részére"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr "Nincs mit nyomtatni - betöltötte a táblázatot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+"<tr><th>Orvos</th><th>Sorszám</th><th>Cset</th>\n"
+"<th>K. név</th><th>V. név</th><th>Szül</th><th>Memo</th><th>Utoljára</th>\n"
+"<th>Egyenleg</th><th>Típus</th><th>Szám</th><th>Elvégezve</th>\n"
+"<th>Összesen</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "ÖSSZESEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr "Aktuális kezelési sorozat árajánlata."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+"<tr><td></td><td><b>ÖSSZESEN</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+"<p><i>Kérem vegye figyelembe, hogyaz árajánlat változhat\n"
+"amennyiben a körülmények szükségessé teszik.</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr "Előző kezelési sorozat (%s - %s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr "Kinyomtatja az OEP űrlapot?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr "Kedves %s %s,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr "OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+"<h3>Frissítés szükséges</h3>\n"
+"Az Openmolar adatbázisa elavult a klienshez képest.\n"
+"<br /> \n"
+"Az adatbázis verziója %s, és %s verzió szükséges.<br />\n"
+"Elvégzi a frissítést most?<br />\n"
+"FIGYELEM - MINDEN FELHASZNÁLÓNAK KI KELL LÉPNIE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr "frissítést utáni verzió száma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr "Frissítés %s verzióra sikertelen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+"<p>Sajnos jelenleg nem áll rendelkezésre frissítés,\n"
+"elképzelhető, hogy fejlesztés alatt áll a jelenlegi verzió.</p>\n"
+"Ebben az esetben kérem használjon korábbi kiadást.<br />\n"
+"Amennyiben nem ez a helyzet, ismeretlen hioba lépett fel,\n"
+"lépjen kapcsolatba a fejlesztőkkel, amint lehet.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr "Frissítés közben váratlan hiba lépett fel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr "Kérem jelezze a hibát "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+"<p>Sajnálom, az openmolar kliens jelenlegi \n"
+"verziója frissítés nélkül nem futtatható.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr "A berendelő utolsó dátuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr "kiterjeszti a berendelőt most?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr "Hány hónappal?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr "még nincs kifejlesztve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "sablonfájl mentése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Sablon mentve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr "művelet megszakítva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr "létező sablonfájl betöltése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "sablon sikeresen betöltve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Módosítás"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Új felhasználó hozzáadása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr "dátummódosítások végrehajtva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr "tárolt verzió frissítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "MŰVELET SIKERES - az adatbázis áthelyezve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "új táblázat létrehozása"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr "beállítások frissítése"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr "táblázatok létrehozása sikertelen, visszaállítva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr "adatok másolása a régi díjtáblázatból"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr "visszaállítva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr "fordítási eszközök telepítése sikeres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr "Kérjük jelezze felénk legalább 24 órával korábban,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "ha az időpont nem megfelelő."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr "VIZSG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr "HARAPÁS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr "RAD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "CSALÁD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr "TÖM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr "ÁTADÁS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr "HYG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr "IMPL"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr "AF"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr "ORTHO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr "FÁJ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr "CSISZ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr "GYK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr "ÚJRARAGASZTÁS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr "ELLENŐRZÉS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr "DEP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr "PRÓBA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr "EXTR"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Január"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Február"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Március"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Április"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Május"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Június"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Július"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Augusztus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Szeptember"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Október"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "November"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "December"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Üdvözli az OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/id.po b/src/openmolar/locale/id.po
new file mode 100644
index 0000000..ea36738
--- /dev/null
+++ b/src/openmolar/locale/id.po
@@ -0,0 +1,6000 @@
+# Indonesian translation for openmolar
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-05-20 23:27+0000\n"
+"PO-Revision-Date: 2010-05-20 09:00+0000\n"
+"Last-Translator: dadanhrn <dadanhrn at gmail.com>\n"
+"Language-Team: Indonesian <id at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-05-21 03:39+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:744
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "darurat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+msgid "Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "lainnya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Gagal memuat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "tidak ditemukan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Ke"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Dari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Pesan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "Date"
+msgstr "Tanggal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2992
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2999
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:136
+msgid "First Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3001
+msgid "Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:601
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3019
+msgid "Town"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:602
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3021
+msgid "County"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:179
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:287
+msgid "Welcome to the openMolar settings wizard."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:81
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid "Proceed without upgrade?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:89
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:210
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:292
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:300
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:293
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:296
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:595
+msgid "Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:76
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:78
+msgid "mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:79
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:263
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:109
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:265
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3996
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:225
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:226
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:240
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:244
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:319
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:252
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:259
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:372
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:277
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:282
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:291
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:402
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:414
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:417
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:459
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:461
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:481
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:490
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:491
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:503
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:517
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1389
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:519
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1391
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:552
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:605
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:609
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1140
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1221
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1295
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1325
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1354
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1372
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1404
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1408
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:87
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3020
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:47
+msgid "Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:907
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:84
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:86
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:60
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+msgid "&Quit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:83
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+msgid "Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid " minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:98
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:309
+msgid "User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:298
+msgid "Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Adult"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Tooth Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:590
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:591
+msgid "What do you want to do?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:592
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:593
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:594
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:596
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:597
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:598
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:599
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:600
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3006
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Website"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+msgid "Initials"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+msgid "Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+msgid "Users"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+msgid "Registration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:656
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+msgid "Category Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+msgid "Image"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+msgid "..."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:927
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:510
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "Under 18"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2976
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2977
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2978
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2979
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2980
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2981
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2982
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3328
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2983
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2984
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2985
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2986
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2987
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2988
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2989
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2990
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2991
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2993
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2994
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2995
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2996
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2997
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2998
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3000
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3002
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3003
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3004
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3005
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:144
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3007
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3008
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3009
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3010
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3011
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3015
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3012
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3016
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3013
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3014
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3017
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3018
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3022
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3023
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3024
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3025
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3026
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3027
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3028
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3029
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3030
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3031
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1677
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3206
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3207
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid ""
+"if checked, openmolar will show only the diaries of clinicians who are "
+"working on this day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Automatic clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "All Listed Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "All Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "New Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid ""
+"if checked, openmolar will show only the diaries of clinicians who are "
+"working this week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "Selected Clinician Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3248
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3249
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3270
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3273
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3287
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3290
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:39
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Layout Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1887
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:286
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:288
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:297
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:335
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:308
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:310
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:324
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:325
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:334
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:336
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:127
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:128
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:143
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:130
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:121
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:313
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:221
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:223
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:224
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:587
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:587
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:201
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (GB)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:83
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:206
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:212
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:222
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:223
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:227
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:310
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:297
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:305
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:311
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:312
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:349
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:355
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:357
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:359
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:365
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:366
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:396
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:406
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:419
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:167
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:179
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:170
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:212
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:213
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:214
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:668
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:849
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2416
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1084
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1071
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1089
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1134
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1146
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1189
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1250
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1190
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1203
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1208
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1217
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1218
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1235
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1239
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1241
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1932
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1251
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1266
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1275
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1278
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1396
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1411
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1486
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1490
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1491
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1608
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1621
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1881
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1916
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1920
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2102
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2162
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2386
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2738
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3981
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3997
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4002
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4003
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4003
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:48
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:144
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:148
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:173
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:206
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:226
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:230
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:354
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:373
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:59
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:192
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:214
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:163
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:207
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:229
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:231
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:245
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:251
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:44
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:65
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:66
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:295
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:296
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:297
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:298
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:469
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:470
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:471
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:472
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:513
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:515
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:855
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:856
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:857
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:859
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:860
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/it.po b/src/openmolar/locale/it.po
new file mode 100644
index 0000000..5be423e
--- /dev/null
+++ b/src/openmolar/locale/it.po
@@ -0,0 +1,6219 @@
+# Italian translation for openmolar
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2012-09-11 06:58+0000\n"
+"Last-Translator: Yang Mattei <yangmattei at gmail.com>\n"
+"Language-Team: Italian <it at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-09-12 04:39+0000\n"
+"X-Generator: Launchpad (build 15930)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "emergenza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Esame"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "Periodonto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "Raggi x"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "Anestesia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "altro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "personalizzato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Protesi Dentaria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Errore - Professionista sconosciuto - scusate"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Listino Prezzi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "Caricamento Fallito"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "non trovato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Oggetto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "A"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Da"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Messaggio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Lettera nr."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Nr seriale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Titolo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Nome"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Cognome"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Età"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Indrizzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Città"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Codice Postale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Paese"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Se dovessi mai aver bisogno di eseguirlo di nuovo, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "elimina il file openmolar.conf in "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "tipo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Errore"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Le password non coincidono!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Crea database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Database creato con successo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Database non creato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Benvenuto alla configurazione guidata di openMolar,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Imposta la Password per l'applicazione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Configurazione Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Salva ed esci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Crea un demo database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Crea un database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Successo!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "Connessione stabilita con il database %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Errore durante la creazione del database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "ERRORE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Mi dispiace, non puoi eseguire questa versione di openMolar client \n"
+"perchè lo schema del database è più avanzato.</p>\n"
+"<p>questo client richiede la versione %s dello schema, mentre il tuo "
+"database è alla versione %s</p>\n"
+"<p>Per favore aggiorna ora openMolar</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Vuoi procedere senza aggiornamento?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Questo non è il database predefinito - sei sicuro?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "conferma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "PREDEFINITO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Server scelto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Prima esecuzione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Arrivederci!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Errore di accesso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Errata<br /> combinazione <br />\n"
+"User/password!<br /> Per favore riprova."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Inizio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Fine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Nessun trattamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "COMPLETATO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PIANO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Dentisti disponibili"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr "Igienisti disponibili"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Clinici disponibili"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Selezione manuale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Tutti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Pranzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "riunione del personale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Fuori ufficio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Conferma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "Cancellare tutti gli appuntamenti precedenti?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "Dall'agenda di"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Appuntamento rimosso con successo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "Errore durante la rimozione dell'appuntamento proposto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Nessun appuntamento selezionato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Conferma cancellazione dell'appuntamento del"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "con"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+"Rimosso dalla rubrica degli appuntamenti - vuoi mantenerlo per una "
+"rischedulazione?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "Errore nella conversione dell'appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr "Per favore seleziona un appuntamento da schedulare"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "appuntamento già schedulato per"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "Per favore seleziona un appuntamento da mettere qui"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+"Per favore scegliere un altro appuntamento - questo è stato già fatto!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "Hai scelto un appuntamento con"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "È corretto?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "Errore durante la creazione dell'appuntamento - Mi dispiace!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "Niente da mostrare!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "Non schedulato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "Vedi gli appuntamenti precedenti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Data e ora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Professionista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Lunghezza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Trattamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Memo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"per ora, per favore inserisci il trattamento\n"
+"nel piano prima di completarlo."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Piano di Trattamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Scegli la durata dell'appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Ore"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minuti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Esci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Aggiungi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "Copia negli appunti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr "Incolla i valori salvati."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Incolla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Opzioni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Emergenza"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Telefonata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minuti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Ora di inizio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Paziente scelto è<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Cambia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Il motivo dell'appuntamento è"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minuti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Inserisci un paziente conosciuto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Data di inizio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Tempo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Primari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcellana / Metallo prezioso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Ponte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Altro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Più basso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "Formato della data per le lettere"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Intero, Giorno, Mese e Anno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Mese e anno Solo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Data da usare"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Cambia Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Utente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "utente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "mostra password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "password"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Seleziona un documento da mostrare"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "Scegli Primari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Selettore Lingua"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Seleziona una delle "
+"seguenti lingue disponibili.<br />Tieni conto che alcune di queste "
+"traduzioni potrebbero essere incomplete.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Nota - Se la tua lingua preferita non è disponibile (o incompleta), ti "
+"invito a visitare https://launchpad.net/openmolar e aggiungere tu stesso una "
+"traduzione!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Scegli un dente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+"Per favore Seleziona il dente al quale è stato pianificato questo trattamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Dialogo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Adulto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "vai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Trattamento completo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "SENZA_NOME PT - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Quale Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Seleziona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Oro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporaneo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Annulla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Elemento personalizzato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Numero di elementi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Tariffa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Descrizione trattamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Stampa guidata Lista Giornaliera"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Data di termine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Venerdi, 25 Dicembre 2009</p>\n"
+"<p align=\"center\">Giorno di Natale</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+"<b>Per favore digita qui il testo per il corpo della tua lettera.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOTALE "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "No."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Codice"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Descrizione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Tipo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr "cset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Ricarico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Espandi tutto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Separa elementi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "codice"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Completato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Data esame"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Note"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Dente rotto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Dolore"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Denti sensibili"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Aggiungi Elemento nel tariffario"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Descrizione del Paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Tariffe Lorde (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Tariffe Nette (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Procedura guidata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+"Di seguito il codice XML per questo elemento (E' così che sarà memorizzato "
+"nel database)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Originale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Nuovo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Orario appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Spazio prima dell'appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 min"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Spazio dopo l'appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Argomento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Commento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Procedura guidata Igienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "Trattamento visita Parte 1 di 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "Trattamento visita Parte 2 di 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Dentista/Igienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - Procedura guidata database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Cosa vuoi fare?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Modifica un database openmolar esistente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "Crea un nuovo database a partire da zero"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Crea un Nuovo database (da un modello già esistente)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr "Usato nelle ricevute, carte appuntamenti etc."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Indrizzo - 1a riga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Indrizzo - 2a riga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Indrizzo - 3a riga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Codice di Avviamento Postale, CAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefono"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Sito Web"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Dettagli pratica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "I seguenti utenti possono accedere all'applicazione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Id"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Iniziali"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Nome"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Gruppo Utente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Attivare ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr "Data disattivazione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Modifica utente selezionato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Dettagli nuovo utente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Utente standard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Igienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Addetta alla reception"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr "Utente attivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Aggiungi un nuovo utente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Utenti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Aggiungi un Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Registrazione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Dentisti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr "Igienisti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Lunedì"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Martedì"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Mercoledì"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Giovedì"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Venerdì"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Sabato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Domenica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr "Le seguenti categorie sono utilizzate in questo database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Nome categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Immagine"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Categoria età"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Età minima"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Età massima"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Aggiungi una Categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Limite età"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Nessuno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Minore di 18 anni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Categoria lettera"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Categoria Attiva"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Categorie paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Trattamenti e tariffe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Mostra XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "File"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr "C&arica Modello"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "&Salva Modello"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Esci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Aggiungi un nuovo paziente al database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr "Clicca su questo pulsante per cercare un paziente nel tuo database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Cerca"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Ricarica il paziente dal database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+"Mostra pazienti che abitano allo stesso indirizzo , o che hanno un nome "
+"simile."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+"Un menù a tendina con tutti i pazienti che hanno un appuntamento oggi."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Dettagli"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Sesso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Tel (Abitazione)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Più campi sono disponibili. Clicca qui per modificare."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Altro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Tel (Ufficio)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Tel (Cellulare)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "invia un sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Data di nascita"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "invia un fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Indirizzo1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "indirizzo e-mail 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "invia e-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "e-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Indirizzo2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "indirizzo e-mail 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Indirizzo 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Professione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Codice di avviamento postale (CAP)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Nuovi pazienti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Non ancora implementato."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Famiglia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "I campi evidenziati sono obbligatori per i nuovi pazienti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Dettagli paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Stato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Attivo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Trasferito in altro luogo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "deceduto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Debito insoluto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "Mai più appuntamenti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Annulla Debito insoluto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Modifica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Privato"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr "Esenzione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr "Testo esenzione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "Servizio Sanitario Nazionale"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "Registrato altrove"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Contratto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Lettere Al paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Lettera personalizzata al paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "lettera \"A\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "lettera \"B\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "lettera \"C\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Ricevuta duplicata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Importo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Stampa una ricevuta - utile per i duplicati."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Stampa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "Generato da OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr "Importato nel database"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr "Importa un Documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Stampa un riepilogo delle Note"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Stampa dettagliata delle Note"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr "Applica un'esenzione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr "Un nuovo appuntamento per questo paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Nuovo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "Cancella o annulla l'appuntamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "Azzera/Annulla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Pianifica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Cancella tutti gli appuntamenti passati"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "Cerca nell'agenda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr "Stampa i prossimi 5 appuntamenti per questo paziente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Gennaio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Febbraio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Marzo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Aprile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Maggio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Giugno"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Luglio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Agosto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Settembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Ottobre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "Novembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Dicembre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Oggi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Domani"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Ieri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Benvenuto in OpenMolar!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Versione"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "Buona giornata!"
diff --git a/src/openmolar/locale/messages.pot b/src/openmolar/locale/messages.pot
new file mode 100644
index 0000000..e3a6d67
--- /dev/null
+++ b/src/openmolar/locale/messages.pot
@@ -0,0 +1,7218 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2010-06-07 11:55+BST\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+"Generated-By: pygettext.py 1.5\n"
+
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid "If you copy this day's setup to the clipboard, you can create a \"clone\" of this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following available languages.<br />Please Note that some of these translations are not complete.</p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid "Note - if your preferred language is not available (or incomplete), please visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">who make this possible.</p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid "Enter a filling or restoration code, and check that your feetable finds the correct itemcode"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid "You have no further treatment proposed for this patient, yet they are deemed to be \"under treatment\"."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br />(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid "Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid "Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid "Print a summary of the patient's notes (for them to take on). Includes No fee details."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid "Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid "View all Courses of treatment. This includes treatment that was planned but not completed."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been changed will be displayed."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid "If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid "Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and set the privileges for user, requires logging into mysql as the root mysql user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql setups, root access is disabled unless the server is on localhost)</p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid "Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid "This does nothing at the moment - the idea is you leave a task for someone about this patient."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "\302\243"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid ""
+"%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid "It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid ""
+"* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid "We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#:
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
+
diff --git a/src/openmolar/locale/oc.po b/src/openmolar/locale/oc.po
new file mode 100644
index 0000000..0526b5c
--- /dev/null
+++ b/src/openmolar/locale/oc.po
@@ -0,0 +1,6010 @@
+# Occitan (post 1500) translation for openmolar
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-05-24 23:01+0000\n"
+"PO-Revision-Date: 2010-05-24 12:19+0000\n"
+"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary at yahoo.fr>\n"
+"Language-Team: Occitan (post 1500) <oc at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-05-25 03:44+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:744
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "urgéncia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid "Exam"
+msgstr "Examèn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "ràdio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "autre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "personalizat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Error - practician pas reconegut - o planhèm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "lo cargament a fracassat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "introbable"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Subjècte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "A"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "De"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Messatge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Date"
+msgstr "Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "Letra N°"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Numèro de seria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3014
+msgid "Title"
+msgstr "Títol"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3021
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Pichon nom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3023
+msgid "Surname"
+msgstr "Nom d'Ostal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Atge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Adreça"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Town"
+msgstr "Vila"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Còde Postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid "County"
+msgstr "Comtat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "tipe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:179
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Error"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:87
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Conselh"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Los senhals correspondon pas !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Crear la banca de donadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Banca de donadas creada amb succès"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Banca de donadas pas creada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Benvenguda sus l'assistent de parametratge openMolar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Definir lo senhal de l'aplicacion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Emplaçament del servidor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Paramètres de la banca de donadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Salvar los paramètres e quitar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Crear una banca de donadas d'exemple"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Creacion de la banca de donadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Òsca !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "La banca de donadas %s a acceptat la connexion."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "FRACÀS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid "Update Client"
+msgstr "Mesa a jorn del client"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:81
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid "Proceed without upgrade?"
+msgstr "Contunhar sens efectuar la mesa a jorn ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:89
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "confirmar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "PER DEFAUT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Servidor causit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Primièra aviada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:210
+msgid "Unable to Run OpenMolar"
+msgstr "Impossible d'aviar OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Good Bye!"
+msgstr "Al Reveire !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:292
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:300
+msgid "Login Error"
+msgstr "Error pendent l'autentificacion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:293
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:296
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMACION</h3></td></tr>\n"
+" <tr><th>No.</th><th>Descripcion</th><th>Category</th>\n"
+" <th>Type</th><th>Corsa</th>\n"
+" <th>Fee</th><th>Fraisses Pt</th><th>Acaba</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Començament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Acabar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Pas cap de tractament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "EFECTUAT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:88
+msgid "mins"
+msgstr "mins"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:89
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:263
+msgid "with"
+msgstr "amb"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Partit(da) manjar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:138
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:142
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Absent del burèu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:265
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3990
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Confirmar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:225
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:226
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:240
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:244
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:319
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:252
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:259
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:372
+msgid "Question"
+msgstr "Question"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:277
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:282
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:291
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:402
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:414
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:417
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:459
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:461
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:481
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:490
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:491
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:503
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:517
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1395
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:519
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1397
+msgid "Is this correct?"
+msgstr "Es corrècte ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:552
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:605
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:609
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1146
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1227
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1301
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1331
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1360
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1410
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1414
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Data e ora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Practician"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Durada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Tractament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:87
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Bremba-te"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:896
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Formulari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Casa de marcar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Planificacion del Tractament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Oras"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Seleccionar un Jorn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:84
+msgid "Clinician"
+msgstr "Clinician"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Data de dobrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Començament de la Jornada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:86
+msgid "Finish"
+msgstr "Acabar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Fin de la Jornada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Seleccionar un Jorn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid "&Quit"
+msgstr "&Quitar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "Etiqueta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Apondre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:83
+msgid "Clinicians - DATE"
+msgstr "Clinicians - DATA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+msgid "Options"
+msgstr "Opcions"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Començament del Blòt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Fin del Blòt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "Tèxte d'aplicar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Blocat//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Urgéncia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Sonada telefonica"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Inserir un blòt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Ora de començament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Lo pacient causit es<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Modificar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minutas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Inserir un pacient conegut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Start Date"
+msgstr "Data de començament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "Date de fin (inclusa)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Ora"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "Clinicians"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Bridge - Protèsi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelana / Metals precioses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Bridge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Inferior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Protèsi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Complet, Jorn, mes e Annada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Mes e Annada solament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Data d'utilizar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "Data d'uèi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Aquesta data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Cambiar de banca de donadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Òste"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "(fichièrs locals)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Utilizaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "utilizaire"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Senhal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "afichar lo de senhal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Banca de donadas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "senhal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Causissètz un Document"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Selector de lenga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Bóstia de dialòg"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Adulte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Tooth Code"
+msgstr "Còde de la dent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid "go"
+msgstr "anar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Tractament Complet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Data de complecion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "Pacient Desconegut - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Data de complecion suggerida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Quin Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Sesilha precedenta (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Causir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Aur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJC"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Fortalesa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Anullar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Descripcion del tractament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "End Date"
+msgstr "Data de fin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Divendres 25 de Decembre de 2009</p>\n"
+"<p align=\"center\">Jorn de Nadal</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOTAL "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "N°"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Còde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1207
+msgid "Description"
+msgstr "Descripcion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Gat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1207
+msgid "Type"
+msgstr "Tipe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Carga"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Desvolopar tot"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "còde"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Acabat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+msgid "Exam Wizard"
+msgstr "Assistent d'Examèn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Estandard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Full Case Assessment"
+msgstr "Avaloracion Completa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Exam Date"
+msgstr "Data de l'examèn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Notes"
+msgstr "Nòtas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "nil"
+msgstr "nulla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Broken Tooth"
+msgstr "Dent Copada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Pain"
+msgstr "Dolor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Denture Problems"
+msgstr "Problèmas de Protèsi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Sensitive Teeth"
+msgstr "Dents Sensiblas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "OHI given"
+msgstr "Ò I recebut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Contribucion del pacient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regex (expression regulara)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Reglaments"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Descripcion del pacient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Descripcion(s) clinica(s)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Assistent"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+msgid "New"
+msgstr "Novèl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 min"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Subjècte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Comentari"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Détartrage et Polissage"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Dentista / Igienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Qué volètz far ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "Modificar una banca de donadas existenta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Adreça Linha 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Adreça Linha 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Adreça Linha 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Còde postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefòn"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3028
+msgid "Fax"
+msgstr "Fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Site web"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "Corrièr electronic"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Identificant"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Inicialas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Nom"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Actiu ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Modificar l'utilizaire seleccionat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Utilizaire estandard"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Igienista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Recepcionista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Utilizaires"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Apondre un Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Enregistrament"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Dentistas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Monday"
+msgstr "Diluns"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Tuesday"
+msgstr "Dimars"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Wednesday"
+msgstr "Dimècres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:434
+msgid "Thursday"
+msgstr "Dijòus"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Friday"
+msgstr "Divendres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:435
+msgid "Sunday"
+msgstr "Dimenge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Oras de dobertura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Nom de la categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Imatge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Categoria d'atge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "Atge minimum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "Atge maximum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Apondre una categoria"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Limit d'atge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:915
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:916
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:510
+msgid "None"
+msgstr "Pas cap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "Minor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "Veire lo XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Fichièr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2998
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2999
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3000
+msgid "Esc"
+msgstr "Escap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3001
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3002
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3003
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Recercar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3004
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3005
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3006
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3007
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3008
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3009
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3010
+msgid "&Related"
+msgstr "&Relacion"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3011
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3012
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3013
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "Details"
+msgstr "Detalhs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3015
+msgid "Sex"
+msgstr "Sèxe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3016
+msgid "M"
+msgstr "M"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3017
+msgid "F"
+msgstr "F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3018
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3019
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3020
+msgid "More"
+msgstr "Mai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3022
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3024
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3025
+msgid "send an sms"
+msgstr "Mandar un sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3026
+msgid "sms"
+msgstr "sms"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3027
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Data de naissença"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3029
+msgid "send a fax"
+msgstr "mandar un fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3030
+msgid "fax"
+msgstr "fax"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3031
+msgid "Address1"
+msgstr "Adreça1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "email1"
+msgstr "email1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+msgid "send an email"
+msgstr "Mandar un Email"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+msgid "email"
+msgstr "E-mail"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Address2"
+msgstr "Adreça2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+msgid "email2"
+msgstr "email2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "Address3"
+msgstr "Adreça3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Occupation"
+msgstr "Trabalh"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Còde postal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Not implemented yet."
+msgstr "Pas encara implementat."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Family"
+msgstr "Familha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "Patient Details"
+msgstr "Detalhs del Pacient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Tipe de Sesilha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "Status"
+msgstr "Estat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+msgid "Active"
+msgstr "Actiu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Moved Away"
+msgstr "Desplaçat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Deceased"
+msgstr "Defuntat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Edit"
+msgstr "Modificar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "Private"
+msgstr "Privat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "NHS"
+msgstr "NHS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Registered Elsewhere"
+msgstr "Enregistrat endacòm mai"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+msgid "Contract"
+msgstr "Contracte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "1 Month hence"
+msgstr "Dins 1 mes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "3 Months hence"
+msgstr "Dins 3 meses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "6 Months hence"
+msgstr "Dins 6 meses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "12 Months hence"
+msgstr "Dins 12 meses"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Accounts"
+msgstr "Comptes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "\"A\" letter"
+msgstr "letra \"A\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "\"B\" letter"
+msgstr "letra \"B\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "\"C\" letter"
+msgstr "letra \"C\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3290
+msgid "Print"
+msgstr "Estampar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+msgid "Generated By OpenMolar"
+msgstr "Generat per OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1666
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3206
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3207
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3223
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3225
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "All Listed Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "All Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3248
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3249
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "Selected Clinician Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3270
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3273
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3287
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3328
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:39
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "Layout Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1876
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3368
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:311
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:312
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:313
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:201
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:85
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:206
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:212
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:222
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:223
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:227
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:310
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:297
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:305
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:311
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:312
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:349
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:355
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:357
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:359
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:365
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:366
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:396
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:406
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:419
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:167
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:179
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:170
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:212
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:213
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:214
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:680
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:838
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2413
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1056
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1073
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1060
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1078
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1123
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1135
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1169
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1239
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1179
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1192
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1197
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1206
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1207
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1224
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1230
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1921
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1240
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1264
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1267
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1385
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1400
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1475
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1479
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1480
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1597
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1610
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1870
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1905
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1909
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2091
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2151
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2383
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2735
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3975
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3991
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3996
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3997
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:3997
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:48
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:144
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:148
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:173
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:206
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:226
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:230
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:354
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:373
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:59
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:170
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:192
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:214
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:163
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:207
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:229
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:231
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:245
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:251
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:44
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:65
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:66
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:295
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:296
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:297
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:298
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:469
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:470
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:471
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:472
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:513
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:515
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:855
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:856
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:857
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:859
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:860
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/pl.po b/src/openmolar/locale/pl.po
new file mode 100644
index 0000000..2c51647
--- /dev/null
+++ b/src/openmolar/locale/pl.po
@@ -0,0 +1,6184 @@
+# Polish translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2012-10-10 20:35+0000\n"
+"Last-Translator: Radek <radek at forweb.pl>\n"
+"Language-Team: Polish <pl at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-10-11 05:02+0000\n"
+"X-Generator: Launchpad (build 16118)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "badanie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "RTG"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "inny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "własny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "praca protetyczna"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "błąd - nierozpoznana osoba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "nie może wgrać"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "list nr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Imię"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Nazwisko"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Wiek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Adres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Miasto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "kod"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "dentysta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "Powiat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "data przypomnienia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Jeśli kiedykolwiek potrzebujesz zrobić to jeszcze raz, "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "usuń plik openmolar.conf w "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "jeśli kiedykolwiek potrzebujesz uruchomić kreatora jeszcze raz "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "np. jeśli został zmieniony adres serwera "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "lub potrzebujesz nowego hasła"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "typ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "w lini poleceń lub usuń plik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "w celu bezpieczeństwa przenieś ten plik do"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Błąd"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Doradczy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Utwórz bazę danych"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Utwórz bazę danych demonstracyjną o podanych własnościach"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Baza danych utworzona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Baza danych nie została utworzona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "witamy w kreatorze konfigutacji openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "adres serwera"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Ustawienia Bazy Danych"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "zapisz i wyjdź"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "utwórz demonstracyjną baze danych"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "tworzenie bazy danych"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "Baza danych %s połączona"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"Próba połączenia nie powiodła się,\n"
+"należy ponownie sprawdzić ustawienia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "błąd w tworzeniu Bazy Danych"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "kontynuuj bez upgrade"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "To nie jest główna baza danych czy jesteś pewien?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "wybrany serwer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Nie można uruchomić Openmolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Do zobaczenia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Poprzedni plan leczenia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Zakończ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "bez leczenia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "Zakończone"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Wybór ręczny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Forma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Godziny"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minuty"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "otwozyc dzien"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/pt.po b/src/openmolar/locale/pt.po
new file mode 100644
index 0000000..12049eb
--- /dev/null
+++ b/src/openmolar/locale/pt.po
@@ -0,0 +1,6299 @@
+# Portuguese translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2010-11-08 18:16+0000\n"
+"Last-Translator: L. González <Unknown>\n"
+"Language-Team: Portuguese <pt at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-11-09 04:52+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "Urgência"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Análise"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "Periodontia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "não encontrado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Assunto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "De"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Mensagem"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Data"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "Número de série"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Data da consulta de revisão"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "apague o ficheiro openmoçar.conf em - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Por exº se o seu servidor mudar de localização - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "ou necessita de uma senha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "tipo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "na linha de comandos, ou apague o ficheiro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "por uma questão de segurança, deve mudar este ficheiro para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Erro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Aviso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "As senhas são diferentes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "criar uma base de dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+"criar database de demonstração ( Demo) agora, com os seguintes parâmetros?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Base de daos criada com sucesso!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Base de dados não criada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "Benvindo ao \"wizard\" openMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Insira uma senha para a aplicação"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Localização do servidor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Parâmetros da base de dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Guardar configuração e sair"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Criar uma base de dados de demonstração ( Demo)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "A criar a base de dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Sucesso!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"A trentativa de ligação falhou, \n"
+"por favor reverifique a sua configuração"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Erro ao Criar a Base de Dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "Falha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "Actualizar Cliente"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Desculpamos, mas não pode executar esta versão da aplicação cliente do "
+"openMolar \n"
+"porque o esquema ('schema' ) da sua Base de Dados é mais avançado.</p\n"
+"<p>Este cliente necessita da versão %s do esquema, mas a sua base de dados "
+"está na %s</p>\n"
+"<p>Por favor actualize o openMolar agora</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Continuar sem actualizar?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Esta não é a base de dados principal - está seguro?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "Confirme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Servidor escolhido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "Primeira Execução"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "Incapaz de executar o OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Erro de Autenticação"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Combinação de<br />Utilizador/senha<br />\n"
+"incorrecta!<br />Por favor tente novamente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>Erro de Base de Dados</p>\n"
+"<p>A aplicação não consegue iniciar</p>Erro %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Em tratamento - Estimativa actual</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "<h1>Estimativa da período anterior</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "Não foram encontrados dados para a estimativa.</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Início"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Almoço"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Fora do Escritório"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "Não existem consultas seleccionadas."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+"Não foi possível bloquear - Será que agenda foi alterada noutro local?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+"Não foi possível criar consulta - Será que agenda foi alterada noutro local?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Duração"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Nota"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Formulário"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "Caixa de Selecção"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Plano de Tratamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Adicione o seguinte Tratamento ao Plano de Tratamento Actual."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Seleccione a Duração da Consulta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Horas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Inicie um Dia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "Clínico"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Data para Abrir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "Memorando Diário - opcional"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "Dia de Início"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Período de Emergência da Manhã"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Fim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Período de Emergência da Tarde "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Fim do Dia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Ferramenta de Consultas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Editar Semanas de Trabalho pré-definidas para Clínicos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Abrir um Dia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Sair"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Assistente de Consultas"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+"Adicionar uma combinação de consultas propostas para a ficha do paciente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "TextLabel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Adicionar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Opções"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Deseja bloquear (ou bloquear parcialmente) este período?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Início de bloco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Fim de Block"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Bloqueado//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Emergência"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "Tempo de Consulta Reservado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Inserir Bloco"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Inserir um Paciente neste período?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Tempo de Início"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "O Paciente escolhido é<br />"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Modificar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "A razão da consulta é"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " minutos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Inserir um Paciente conhecido."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Data de início"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Ponte - Entrada de Dentadura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelana / Metal Precioso"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (ou tudo em cerâmica)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Retenção por Resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Ponte"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Superior"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Integral (acrílico)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Integral (co-chrome)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Parcial (acrílico)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Parcial (co-chrome)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Outro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Por baixo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "Dentadura"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Alterar base de dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Servidor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "máquina local"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Utilizador"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "utilizador"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Senha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "mostrar senha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Base de Dados"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "senha"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Escolher um Documento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Escolher um documento para visualizar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "\"Guia de Informações\" do SNS de 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "Calendário de Remuneração do SNS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "\"Guia de Informações\" do SNS"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "Diálogo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Completar Tratamento"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Data de Conclusão"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"Não tem mais tratamentos propostos para este paciente, contudo este está "
+"destinado a estar sem tratamento suficiente."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Data de Conclusão sugerida"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Qual Dentista"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+"Imprimir um formulário GP17 utilizando o número de contracto deste dentista? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Temporada anterior (00/00/0000 - 00/00/0000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Nova Temporada ( sem datas)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Escolher"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Dourado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Resina"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Temporário"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Revestido"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Recimentar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Item Personalizado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Número de Itens"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Taxa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Assistente de Impressão de Listagem do Dia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Descrição"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Segunda-feira"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Terça-feira"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Quinta-feira"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Sexta-feira"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Sábado"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Domingo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "€"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Quantia: %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "TUDO FEITO - BD movida com sucesso para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr "Por favor tentar e avisar pelo menos 24 horas antes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "Se necessitar de alterar uma marcação."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "FAMILIA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr "ENCHER"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Janeiro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Fevereiro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Março"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Abril"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Maio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Junho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Julho"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Agosto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Setembro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Outubro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "Novembro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Dezembro"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
+
+#~ msgid ""
+#~ "Please enter a password to\n"
+#~ "prevent unauthorised running of this application."
+#~ msgstr ""
+#~ "Por favor insira a senha para\n"
+#~ "prevenir execuções não autorizadas desta aplicação."
+
+#~ msgid "Passwords did not match, please try again"
+#~ msgstr "A password não coincide, por favor tente novamente"
+
+#~ msgid "Please re-enter this password"
+#~ msgstr "Por favor reintroduza a senha."
+
+#~ msgid "The %s accepted the connection %s."
+#~ msgstr "O %s aceitou a ligação %s"
+
+#~ msgid ""
+#~ "<p>This openMolar client has fallen behind your database\n"
+#~ "schema version<br />this client was written for schema version %s,\n"
+#~ "but your database is now at %s<br />However, the differences are not "
+#~ "critical,\n"
+#~ "and you can continue if you wish</p>\n"
+#~ "<p><i>It would still be wise to update openMolar ASAP</i></p>\n"
+#~ "<hr /><p>Do you wish to continue?</p>"
+#~ msgstr ""
+#~ "<p>Esta aplicação cliente do openMolar falhou por causa da versão\n"
+#~ "do esquema ('schema') da sua base de dados<br />este cliente foi "
+#~ "desenvolvido para a versão %s do esquema,\n"
+#~ "mas a sua base de dados está na %s<br />Contudo, as diferenças não são "
+#~ "criticas,\n"
+#~ "por isso pode continuar se desejar</p>\n"
+#~ "<p><i>Mesmo assim é aconselhável actualizar o openMolar assim que "
+#~ "possível</i></o>\n"
+#~ "<hr /><p>Deseja continuar?</p>"
+
+#~ msgid ""
+#~ "<center><p>\n"
+#~ "This appears to be your first running of openMolar<br />\n"
+#~ "Before you run this application ,<br />\n"
+#~ "We need to generate a settings file.<br />\n"
+#~ "So that openmolar knows where your mysql server resides<br />\n"
+#~ "If you do not have a database, you will be prompted to create one<</p>\n"
+#~ "Are you ready to proceed?</center>"
+#~ msgstr ""
+#~ "<center><p>\n"
+#~ "Esta parece ser a primeira vez que executa o openMolar<br />\n"
+#~ "Antes de iniciar esta aplicação, <br />\n"
+#~ "É necessário gerar um ficheiro de configuração.<br />\n"
+#~ "Para que o openMolar saiba como localizar o seu servidor mySQL<br />\n"
+#~ "Se ainda não tem uma base de dados, ser-lhe-à pedido que crie uma</p>\n"
+#~ "Está pronto para continuar?</center>"
+
+#~ msgid "End %s<br />"
+#~ msgstr "Fim %s<br />"
+
+#~ msgid "<H4>Previous Course</H4>"
+#~ msgstr "<H4>Período Anterior</H4>"
+
+#~ msgid "Start %s<br />"
+#~ msgstr "Início %s<br />"
+
+#~ msgid "%sNo treatment</body></html>"
+#~ msgstr "%s Sem tratamento</body></html>"
+
+#~ msgid "%s<h4>PLAN</h4>%s<hr /><h4>COMPLETED</h4>%s</body></html>"
+#~ msgstr "%s<h4>PLANO</h4>%s<hr /><h4>COMPLETADO</h4>%s</body></html>"
+
+#~ msgid "Total Fee for these Items"
+#~ msgstr "Taxa Total para estes itens"
+
+#~ msgid ""
+#~ "Note - if your preferred language is not available, please visit "
+#~ "https://launchpad.net/openmolar and add a translation of your own!"
+#~ msgstr ""
+#~ "Nota - se o seu idioma preferencial não está disponível, por favor visite "
+#~ "https://launchpad.net/openmolar e adicione a sua tradução!"
+
+#~ msgid "Choose from the following available languages"
+#~ msgstr "Escolha um dos seguintes idiomas disponíveis"
+
+#~ msgid "Complete this Treatment with the following Criteria?"
+#~ msgstr "Completar este Tratamento de acordo com o seguinte Critério?"
+
+#~ msgid "Patient Charge"
+#~ msgstr "Despesa do Paciente"
+
+#~ msgid "Treating Dentist/Hygenist"
+#~ msgstr "Dentista/Higienista Terapeuta"
+
+#~ msgid "Gross Fee"
+#~ msgstr "Valor Bruto"
+
+#~ msgid "Patient Fee"
+#~ msgstr "Taxa de Paciente"
+
+#~ msgid "hello"
+#~ msgstr "Olá"
diff --git a/src/openmolar/locale/ro.po b/src/openmolar/locale/ro.po
new file mode 100644
index 0000000..fa22b6a
--- /dev/null
+++ b/src/openmolar/locale/ro.po
@@ -0,0 +1,6182 @@
+# Romanian translation for openmolar
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2011-02-17 11:34+0000\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: Romanian <ro at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-02-18 04:40+0000\n"
+"X-Generator: Launchpad (build 12351)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr ""
diff --git a/src/openmolar/locale/sk.po b/src/openmolar/locale/sk.po
new file mode 100644
index 0000000..04c4dab
--- /dev/null
+++ b/src/openmolar/locale/sk.po
@@ -0,0 +1,3855 @@
+# Slovak translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-11-07 20:00+0000\n"
+"PO-Revision-Date: 2009-11-10 17:10+0000\n"
+"Last-Translator: EllordsK <pz77 at o2.ie>\n"
+"Language-Team: Slovak <sk at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-11-11 04:46+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Pacient"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "Do"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Od"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Správa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2656
+msgid "Date"
+msgstr "Dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:97
+msgid "Success!"
+msgstr "Úspešné!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:98
+msgid "The %s accepted the connection %s."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:328
+msgid "FAILURE"
+msgstr "ZLYHANIE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:132
+msgid "Error Creating Database"
+msgstr "Chyba pri vytváraní Databázy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:187
+msgid "Please re-enter this password"
+msgstr "Znovu zadajte toto heslo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:208
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1611
+msgid "Advisory"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:209
+msgid "Passwords did not match, please try again"
+msgstr "Heslá neboli rovnaké, skúste znova prosím"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:210
+msgid ""
+"Please enter a password to\n"
+"prevent unauthorised running of this application."
+msgstr ""
+"Zadajte heslo, prosím,\n"
+"aby sa zabranilo neoprávnenému spusteniu aplikácie."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:68
+msgid "Update Client"
+msgstr "Aktualizujte Klienta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:63
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:69
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update openMolar ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:121
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application ,<br />\n"
+"We need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<br />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:259
+msgid "First Run"
+msgstr "Prvé Spustenie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:147
+msgid "Unable to Run OpenMolar"
+msgstr "Nebolo možné spusiť OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:148
+msgid "Good Bye!"
+msgstr "Dovidenia"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:229
+msgid "Login Error"
+msgstr "Chybné prihlásenie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:222
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:225
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:177
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:179
+msgid "<h1>Estimate from previous course</h1>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:182
+msgid "No estimate data found</body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:185
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:109
+msgid "<H4>Previous Course</H4>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:111
+msgid "Start %s<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:113
+msgid "End %s<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:122
+msgid "%sNo treatment</body></html>"
+msgstr "%sŽiadne ošetrenie</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:124
+msgid "%s<h4>PLAN</h4>%s<hr /><h4>COMPLETED</h4>%s</body></html>"
+msgstr "%s<h4>PLÁN</h4>%s<hr /><h4>DOKONČENÉ</h4>%s</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:415
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:435
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:706
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1539
+msgid "TBA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:744
+msgid "removing appointment dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1489
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1508
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoItem.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoitem.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:56
+msgid "Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:72
+msgid "Plan Treatment"
+msgstr "Plánovať ošetrenie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:73
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:74
+msgid "Total Fee for these Items"
+msgstr "Celkové Poplatky za tieto Položky"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:75
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:76
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:99
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2798
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:47
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:346
+msgid "£"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Hodín"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Minút"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Otvoriť Deň"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:70
+msgid "Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Otvoriť Dátum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:71
+msgid "Start"
+msgstr "Začiatok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:72
+msgid "Finish"
+msgstr "Koniec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "Lunch"
+msgstr "Obed"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Koniec Dňa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:57
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2853
+msgid "Appointment Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:58
+msgid "Extend Books"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:59
+msgid "Remove old weeks"
+msgstr "Odstrániť staré týždne"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:60
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "Uprav Štandardný Pracovný Týždeň pre Lekárov"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+msgid "Open A Day"
+msgstr "Otvoriť Ďeň"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2845
+msgid "&Quit"
+msgstr "&Koniec"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoItem.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memoitem.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:47
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothtreatmentItemWidget.py:46
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:57
+msgid "TextLabel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Pridať"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:69
+msgid "Clinicians - DATE"
+msgstr "Lekáry - DÁTUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:73
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2607
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2766
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:46
+msgid "Memo"
+msgstr "Poznámka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:129
+msgid "Options"
+msgstr "Možnosti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:130
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:131
+msgid "Block Start"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:132
+msgid "Bock End"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+msgid "Text to apply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "//Blocked//"
+msgstr "//Blokovaný//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Emergency"
+msgstr "Pohotovosť"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Reserved Clinical Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Out of Office"
+msgstr "Mimo kancelárie"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "minutes"
+msgstr "minút"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Insert a Block"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Insert A Patient into this slot?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Start Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Dľžka"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Chosen Patient is<br />"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+msgid "Change"
+msgstr "Zmeniť"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Reason for appointment is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid " minutes"
+msgstr " minút"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Insert a Known Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porcelán / Vzácny Kov"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Horný"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+msgid "Other"
+msgstr "Iný"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Spodný"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:273
+msgid "Host"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:274
+msgid "localhost"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:284
+msgid "User"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:288
+msgid "display password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:283
+msgid "openmolar_demo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:287
+msgid "password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:49
+msgid "Language Selector"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:50
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:55
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:56
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:95
+msgid "Complete Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:96
+msgid "Complete this Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:97
+msgid "Treating Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:98
+msgid "Gross Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:100
+msgid "Patient Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:60
+msgid "Completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:61
+msgid "UNNAMED PT - (000000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "Suggested completion Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+msgid "Gold"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+msgid "Bonded"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:80
+msgid "Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:81
+msgid "Number of Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+msgid "Description"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:83
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+msgid "Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:84
+msgid "Patient Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2779
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2786
+msgid "Start Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2780
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2787
+msgid "End Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:36
+msgid "Norman - Letter Text Entry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:37
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "Cat"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:124
+msgid "Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Pt Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+msgid "Expand All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2662
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2681
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2822
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+msgid "code"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "small xrays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "P"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+msgid "1000.00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2705
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2734
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:119
+msgid "Exam Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:121
+msgid "Standard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:122
+msgid "Extensive"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:123
+msgid "Full Case Assessment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+msgid "Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2701
+msgid "Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Pt c/o"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "nil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Broken Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+msgid "Pain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+msgid "Denture Problems"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Sensitive Teeth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "Soft Tissues Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:135
+msgid "OHI given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Palpated for upper canines - NAD"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:60
+msgid "FeeAdjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2837
+msgid "&File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:62
+msgid "&About"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:63
+msgid "&Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:65
+msgid "Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_adjuster.py:66
+msgid "&Version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:123
+msgid "Hygenist Wizard"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:125
+msgid "Scale and Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:126
+msgid "Extensive Scaling"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:127
+msgid "Part 1 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:128
+msgid "Part 2 of 2 visit treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:129
+msgid "Dentist/Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:130
+msgid "Standard Fee"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:132
+msgid "Charge to Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2563
+msgid "Open Molar - YOUR dental database application"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2564
+msgid "Exit the Current Patient Record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2565
+msgid "Esc"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2566
+msgid "Add a New Patient to the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2567
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2813
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2828
+msgid "Click on this Button to search for in patient in your database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2568
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2814
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2829
+msgid "Find"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2569
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2815
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2830
+msgid "Ctrl+F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2570
+msgid "This cycles back through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2571
+msgid "Reload the patient from the database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2572
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2573
+msgid "This cycles forwards through the history of records loaded today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2574
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2575
+msgid "&Related"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2576
+msgid "Ctrl+G"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2577
+msgid "A drop down box of all patients who have an appointment today."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2578
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2730
+msgid "Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2579
+msgid "Title"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2580
+msgid "Sex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2581
+msgid "M"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2582
+msgid "F"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2583
+msgid "Tel (home)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2584
+msgid "More Fields are available. Click Here to Edit."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2585
+msgid "More"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2586
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:135
+msgid "First Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2587
+msgid "Tel (work)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2588
+msgid "Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2589
+msgid "Tel (mob)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2590
+msgid "send an sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2591
+msgid "sms"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2592
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:143
+msgid "Date of Birth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2593
+msgid "Fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2594
+msgid "send a fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2595
+msgid "fax"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2596
+msgid "Address1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2597
+msgid "email1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2598
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2602
+msgid "send an email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2599
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2603
+msgid "email"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2600
+msgid "Address2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2601
+msgid "email2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2604
+msgid "Address3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2605
+msgid "Occupation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2606
+msgid "Town"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2608
+msgid "County"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2609
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2610
+msgid "New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2611
+msgid "Use the Sname and Address details from the previous patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2612
+msgid "Default Sname / Address"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2613
+msgid "Not implemented yet."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2614
+msgid "Family"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2615
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2616
+msgid "Patient Details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2617
+msgid "Pt is registered with Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2619
+msgid "Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2620
+msgid "Active"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2621
+msgid "Moved Away"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2622
+msgid "Deceased"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2623
+msgid "Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2624
+msgid "No More Appts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2625
+msgid "Write Off Bad Debt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2626
+msgid "This label is for displaying Private contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2630
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2637
+msgid "Edit"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2628
+msgid "Private"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2629
+msgid "This label is for displaying HDP contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2631
+msgid "Highland Dental Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2632
+msgid "This label is for displaying NHS contractual stuff"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2634
+msgid "View Claims History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2635
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2677
+msgid "NHS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2636
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2638
+msgid "Registered Elsewhere"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2639
+msgid "Contract"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2640
+msgid "Letters TO the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2641
+msgid " Custom Letter to the patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2642
+msgid "Recall management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2643
+msgid "Set the date for a recall to be generated automatically"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2644
+msgid "Date Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2645
+msgid "1 Month hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2646
+msgid "3 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2647
+msgid "6 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2648
+msgid "12 Months hence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2649
+msgid "Print a recall saying the patient is due now."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2650
+msgid "Print letter Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2800
+msgid "Accounts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2652
+msgid "\"A\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2653
+msgid "\"B\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2654
+msgid "\"C\" letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2655
+msgid "Duplicate Receipt"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2658
+msgid "Print a receipt - useful for duplicates."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2659
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2664
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2744
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2765
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2768
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2770
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2772
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2784
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2792
+msgid "Print"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2660
+msgid "Print A Statement of Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2661
+msgid "Previous Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2663
+msgid "Referrals (Letters about the patient)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2665
+msgid "Export this record card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2666
+msgid "Print a patient's static chart."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2667
+msgid "Print the Patient's static Chart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2668
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2669
+msgid "Print A Summary of the Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2670
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2671
+msgid "Print Detailed Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2672
+msgid "Correspondence"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2673
+msgid "Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2674
+msgid "Print &Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2675
+msgid "Print &Account"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2676
+msgid "Take &Payment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2678
+msgid "Print A GP17"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2679
+msgid "Custom Estimate on File"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2680
+msgid "Patient's Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2682
+msgid "&New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2683
+msgid "Schedule"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2684
+msgid "Modify"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2685
+msgid "Find in Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2686
+msgid "Print Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2687
+msgid "Clear/Cancel"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2688
+msgid "Appointment Shortcuts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2689
+msgid "Reception"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2690
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2739
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:438
+msgid "BPE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2691
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2738
+msgid "New"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2692
+msgid "Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2693
+msgid "Hyg"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2694
+msgid "Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2695
+msgid "Med Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2696
+msgid "Clinical Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2697
+msgid "Verbosity Level"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2698
+msgid "minimum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2699
+msgid "medium"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2700
+msgid "maximum"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2702
+msgid "Charts View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2703
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2704
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2732
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2706
+msgid "Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2707
+msgid "Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2708
+msgid "Course Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2709
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2710
+msgid "New Course Of Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2711
+msgid "Close Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2712
+msgid "Estimate Management"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2713
+msgid "Custom Estimate Letter"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2714
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2717
+msgid "ReCalculate Estimate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2718
+msgid "Standard View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2719
+msgid "Expanded View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2720
+msgid "Plan/Completed (standard)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2721
+msgid "Plan/Completed (expanded)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2722
+msgid "Treatment Planning"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2723
+msgid "Perform Exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2724
+msgid "Perio"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2725
+msgid "X-Rays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2726
+msgid "Dentures"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2727
+msgid "Ortho"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2728
+msgid "Other Tx"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2729
+msgid "Add Custom Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2735
+msgid "Estimate/Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2736
+msgid "Choose Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2737
+msgid "Chart Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2740
+msgid "Perio Charts"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2741
+msgid "History Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2742
+msgid "debug"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2743
+msgid "changes only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2745
+msgid "History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2746
+msgid "Memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2747
+msgid "Today's Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2748
+msgid "Enter Notes."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2749
+msgid "Save the changes made to this record."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2750
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:67
+msgid "Save Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2751
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2752
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2777
+msgid "Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2753
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2754
+msgid "Ins"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2755
+msgid "Patient Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2756
+msgid "Go To Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2757
+msgid "Week"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2758
+msgid "Month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2759
+msgid "show emergency spaces"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2760
+msgid "show lunch breaks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2761
+msgid "show appointments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2762
+msgid "Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2763
+msgid "View Mode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2764
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2767
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2769
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2771
+msgid "Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2773
+msgid "Day View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2774
+msgid "Week View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2775
+msgid "Month View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2776
+msgid "Year View"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2778
+msgid "Appointments / Diary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2781
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2788
+msgid "Registered Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2782
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2790
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "Go"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2783
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2791
+msgid "Print the Data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2785
+msgid "Cashbook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2789
+msgid "Treating Dentist / Hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2793
+msgid "Daybook"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2795
+msgid "Load Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2796
+msgid "Print Selected Letters"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2797
+msgid "TOTAL OUTSTANDING"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2799
+msgid "Print Table"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2801
+msgid "choose month"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2802
+msgid "MM/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2803
+msgid "Find Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2804
+msgid "Recalls"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2805
+msgid "Show All Fee Scales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2806
+msgid "Private FeeScale"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2807
+msgid "NHS FeeScale 2008"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2808
+msgid "Show All Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2809
+msgid "Favourite Items Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2810
+msgid "Expand All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2811
+msgid "Compress All Sections"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2812
+msgid "Search for an Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2816
+msgid "NHS Regulation Document"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2817
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2818
+msgid "Open"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2819
+msgid "Default Columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2820
+msgid "Show Geek Column"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2821
+msgid "All Columns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2823
+msgid "Feescales"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2824
+msgid "Reply"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2825
+msgid "Delete"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2826
+msgid "New Topic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2827
+msgid "Search by keyword"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2831
+msgid "Show Topics for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2832
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:40
+msgid "Everyone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2833
+msgid "Layout Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2834
+msgid "Group replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2835
+msgid "Split Replies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2836
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2623
+msgid "FORUM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2838
+msgid "&Help"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2839
+msgid "&Preferences"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2840
+msgid "Tools"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2841
+msgid "&Export Patient to disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2842
+msgid "&Import Patient from disk"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2843
+msgid "About &OpenMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2844
+msgid "&About QT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2846
+msgid "Appointment Font Size"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2847
+msgid "Table View For Charting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2848
+msgid "Clear Today's Emergency Slots"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2849
+msgid "Test Print an NHS Form"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2850
+msgid "options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2851
+msgid "log queries in underlying terminal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2852
+msgid "Set Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2854
+msgid "Choose Database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2855
+msgid "FeeScale Adjuster"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2856
+msgid "Select && Print Daylists"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:2857
+msgid "Change Language"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+msgid "Bleeding"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:260
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Welcome "
+"to the openMolar settings wizard.</p>\n"
+"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-"
+"left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">This will "
+"set your system password, configure your mysql server, and install a small "
+"demo database if required.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:270
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "OK, continue"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "show password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:271
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:272
+msgid "Where is your mysql server located?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:275
+msgid "Port"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:276
+msgid "3306"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:278
+msgid "Yes please"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:279
+msgid "No, I have a database already, continue."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:280
+msgid "Would you like to create a demo openmolar database now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:281
+msgid ""
+"Please enter a mysql user who has privileges for the openmolar database."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:282
+msgid "Database Name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:285
+msgid "OMuser"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:286
+msgid "(mysql)Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "Test this connection to this database"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OK.... you are all set to "
+"go.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">You will be presented with "
+"a login screen.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">I trust you remember your "
+"password?</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">If you created a demo "
+"database... </p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">enter <span style=\" font-"
+"weight:600; text-decoration: underline;\">user</span> into the user1 field "
+"of the login screen.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Save settings and launch openmolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+msgid ""
+"To create a database, please enter the password of your ROOT mysql user."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Create openmolar_demo database, and continue"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:126
+msgid "Patient Finder"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:127
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:128
+msgid "Repeat Last Search"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "SNO or Surname"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:142
+msgid "check to search for a similar sounding name"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:136
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:144
+msgid "Date of birth in format dd/mm/yyyy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "Address includes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Telephone"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid "search for a postcode"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+msgid "-"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:55
+msgid "Anaesthetic Used - Scandonest Plain"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:56
+msgid "Anaesthetic Used - Citanest"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:57
+msgid "Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:58
+msgid "Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:59
+msgid "Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:60
+msgid "Etch, Bond, Restored Using 3M Filtek Family of Composites"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:61
+msgid "Restored Using Fuji IX"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_phraseBook.py:62
+msgid ""
+"Crown Preparation, Pentamix Impression, Alginate of opposing arch. "
+"Temporised with Quick Temp and tempbond. Shade - ????"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1129
+msgid "Question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:73
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:74
+msgid "This Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:75
+msgid ""
+"F\n"
+"A\n"
+"M\n"
+"I\n"
+"L\n"
+"Y"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:81
+msgid ""
+"A\n"
+"D\n"
+"D\n"
+"R\n"
+"E\n"
+"S\n"
+"S"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:88
+msgid ""
+"S\n"
+"I\n"
+"M\n"
+"I\n"
+"L\n"
+"A\n"
+"R"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:65
+msgid "Confirmation Required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:66
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:68
+msgid "Discard Changes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:69
+msgid "Continue Editing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:139
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:140
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:141
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:142
+msgid "Show Advanced Options"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:143
+msgid "Chose a server"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:121
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:122
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:220
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:257
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:324
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:222
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:223
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:224
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:326
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:266
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:379
+msgid "Wednesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:266
+msgid "Toggle Deciduous Status"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:252
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:254
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:258
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:268
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Bridge Elements"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Bonded Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Bonded Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Lava Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Gold Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Gold Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:33
+msgid "Other Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:34
+msgid "Other Pontic"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:52
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:39
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:85
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:86
+msgid "You need to choose a patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:129
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:142
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:142
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1614
+msgid "Error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:152
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:154
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:102
+msgid "Dear %s %s,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:104
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:106
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:108
+msgid "We look forward to seeing you in the near future."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+msgid "Yours sincerely,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/recall_app.py:123
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (GB)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:79
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:289
+msgid "question"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:273
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:280
+msgid "couldn't pass on delete message - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:281
+msgid "badly formed est.type??? %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:290
+msgid "remove %s %s from the estimate?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:29
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:77
+msgid "Sucessfully started new course of treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:87
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:36
+msgid ""
+"<p>You already have an exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:61
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:80
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:83
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:86
+msgid "Confirm"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:111
+msgid "%s examination performed by %s\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:122
+msgid "unknown exam type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:141
+msgid "Examination not applied"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:250
+msgid "Error opening PDF file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:167
+msgid "Delete selected Post?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:230
+msgid ""
+"<p>for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:233
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:267
+msgid "you need to be in the static chart to change tooth state"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:450
+msgid "NO CHARTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:703
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:754
+msgid "Error saving new patient, sorry!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:757
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:769
+msgid "Error saving patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:803
+msgid "SAVE CHANGES"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:815
+msgid "New Patient not saved. Abandon Changes?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:854
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+msgid "Error saving PDF copy %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:870
+msgid "Professional Services"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:872
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:879
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:907
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:973
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:992
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2850
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:933
+msgid "Nothing to print - have you loaded the table?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:937
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:960
+msgid ""
+"<tr><td colspan=\"11\"></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\"><b>£ %.02f</b></td></tr>\n"
+"</table></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:997
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1017
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1021
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1111
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1130
+msgid "Print an NHS form now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2013
+msgid "Today's Patients (%s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2016
+msgid "Today's Patients (ALL)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2023
+msgid "loading today's patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2219
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2346
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2359
+msgid "problem getting a memo %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2616
+msgid "NEW FORUM POSTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2840
+msgid ""
+"POTENTIALLY SERIOUS CONFUSION PROBLEM\n"
+"WITH PT RECORDS %d and %d"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2886
+msgid "Sucessfully altered the following items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:59
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:75
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:91
+msgid "upgrading to schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:102
+msgid "Conversion to %s failed"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:105
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:118
+msgid "Unexpected Error updating the schema"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:120
+msgid "Please File A bug by visiting<br>https://bugs.launchpad.net/openmolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:123
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+msgid "updating stored schema version"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:128
+msgid "ALL DONE - sucessfully moved db to"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:35
+msgid "hello"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:49
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:50
+msgid "if you need to change an appointment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:233
+msgid "EXAM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:234
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:235
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:236
+msgid "DOUBLE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:237
+msgid "FAMILY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:238
+msgid "FILL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:239
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:240
+msgid "HYG"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:241
+msgid "IMPS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:242
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:243
+msgid "ORTHO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:244
+msgid "PAIN"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:245
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:246
+msgid "RCT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:247
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:248
+msgid "REVIEW"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:249
+msgid "SP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:250
+msgid "TRY"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:251
+msgid "XLA"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:379
+msgid "Monday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:379
+msgid "Thursday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:379
+msgid "Tuesday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:380
+msgid "Friday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:380
+msgid "Saturday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:380
+msgid "Sunday"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:390
+msgid "January"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:391
+msgid "February"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:392
+msgid "March"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:393
+msgid "April"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:394
+msgid "May"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:395
+msgid "June"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:396
+msgid "July"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:397
+msgid "August"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:398
+msgid "September"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:399
+msgid "October"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:400
+msgid "November"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:401
+msgid "December"
+msgstr ""
diff --git a/src/openmolar/locale/tr.po b/src/openmolar/locale/tr.po
new file mode 100644
index 0000000..98c3e76
--- /dev/null
+++ b/src/openmolar/locale/tr.po
@@ -0,0 +1,6393 @@
+# Turkish translation for openmolar
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the openmolar package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openmolar\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-06-07 22:00+0000\n"
+"PO-Revision-Date: 2010-12-07 10:31+0000\n"
+"Last-Translator: Memo <Unknown>\n"
+"Language-Team: Turkish <tr at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2010-12-08 04:52+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/appointments.py:751
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:222
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:223
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:25
+msgid "emergency"
+msgstr "Acil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3178
+msgid "Exam"
+msgstr "Sınav"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:68
+msgid "perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:69
+msgid "xray"
+msgstr "Rontgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:70
+msgid "anaes"
+msgstr "anastezi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:71
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:545
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:557
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:167
+msgid "other"
+msgstr "diğer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:72
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:546
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:558
+msgid "custom"
+msgstr "özel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/courseHistory.py:86
+msgid "Denture Work"
+msgstr "Protez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/daybook.py:53
+msgid "Error - unrecognised practioner- sorry"
+msgstr "Hata - bilinmeyen doktor - özür dileriz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:177
+msgid "Feetable"
+msgstr "Ücret tablosu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:178
+msgid "Failed to Load"
+msgstr "yüklenemedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/feesTable.py:589
+msgid "not found"
+msgstr "bulunamadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+msgid "Subject"
+msgstr "Konu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:81
+msgid "To"
+msgstr "E"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:13
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:84
+msgid "From"
+msgstr "Den"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+msgid "Message"
+msgstr "Mesaj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/forum.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3128
+msgid "Date"
+msgstr "Tarih"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/patient_class.py:655
+msgid "Age Exemption removed"
+msgstr "Yaş muafiyeti kaldırıldı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Letter No"
+msgstr "sayı no"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+msgid "Serial No"
+msgstr "seri no"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3048
+msgid "Title"
+msgstr "Ünvan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3055
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:138
+msgid "First Name"
+msgstr "Ad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:14
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3057
+msgid "Surname"
+msgstr "Soyad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:15
+msgid "Age"
+msgstr "Yaş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+msgid "Address"
+msgstr "Adres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:16
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:614
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3075
+msgid "Town"
+msgstr "Şehir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "Family No"
+msgstr "Aile Sıra No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+msgid "PostCode"
+msgstr "Posta Kodu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:635
+msgid "Dentist"
+msgstr "Diş Doktoru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:615
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3077
+msgid "County"
+msgstr "İlçe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/dbtools/recall.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3332
+msgid "Recall Date"
+msgstr "Kontrol tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:74
+msgid "If you ever need to run this again, "
+msgstr "Eğer bunu tekrar çalıştırmaya ihtiyaç duyarsanız "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:75
+msgid "delete the openmolar.conf file in "
+msgstr "openmolar.conf dosyasını siliniz "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:78
+msgid "If you ever need to run this wizard again, "
+msgstr "Eğer bu sihirbazı tekrar çalıştırmaya gerek duyarsanız "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:79
+msgid "Eg. if your server location changes, "
+msgstr "Örn: eğer server adresiniz değişmişse "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:80
+msgid "or you require a new password"
+msgstr "veya yeni bir şifreye ihtiyacınız varsa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:81
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:145
+msgid "type"
+msgstr "tip"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:82
+msgid "on the command line, or delete the file"
+msgstr "komut satırına yazın veya dosyayı silin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:84
+msgid "For a more secure setup, you should move this file to"
+msgstr "daha güvenli bir kurulum için bu dosyayı şuraya taşımalısınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:185
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:37
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:146
+msgid "Error"
+msgstr "Hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:36
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:182
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:143
+msgid "Advisory"
+msgstr "Öneri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:150
+msgid "Passwords don't match!"
+msgstr "Şifreler eşleşmiyor."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:176
+msgid "Create Database"
+msgstr "Veritabanı Oluştur."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:177
+msgid "Create Demo Database now with the following settings?"
+msgstr "Şimdi bu ayarlarla Demo Veritabanı oluşturulsun mu ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:188
+msgid "Database Created Sucessfully"
+msgstr "Veritabanı başarıyla oluşturuldu."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:195
+msgid "Database NOT Created"
+msgstr "Veritabanı OLUŞTURULAMADI."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:290
+msgid "Welcome to the openMolar settings wizard."
+msgstr "openMolar ayar sihirbazına hoşgeldiniz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:217
+msgid "Set the application Password"
+msgstr "Uygulama şifresi oluşturun."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:218
+msgid "Server Location"
+msgstr "Server adresi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:219
+msgid "Database Settings"
+msgstr "Veritabanı ayarları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:220
+msgid "Save settings and exit"
+msgstr "Ayarları kaydet ve çık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:221
+msgid "Create a demo database"
+msgstr "Demo veritabanı oluştur."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:222
+msgid "Creating Database"
+msgstr "Veritabanı oluşturuluyor."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:270
+msgid "The connection attempt threw an exception"
+msgstr "Bağlantı girişimi bir istisnaya neden oldu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:276
+msgid "Success!"
+msgstr "Başarılı!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:277
+msgid "The %s database accepted the connection."
+msgstr "%s veritabanı bağlantıyı kabul etti."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:280
+msgid ""
+"The connection attempt failed, \n"
+"please recheck your settings"
+msgstr ""
+"Bağlantı denemesi başarısız,\n"
+"lütfen ayarlarınızı tekrar kontrol edin."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:323
+msgid "Error Creating Database"
+msgstr "Veritabanı oluşturma hatası."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/firstRun.py:430
+msgid "FAILURE"
+msgstr "HATA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:79
+msgid "Update Client"
+msgstr "İstemciyi güncelleyin."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:80
+msgid ""
+"<p>Sorry, you cannot run this version of the openMolar client\n"
+"because your database schema is more advanced.</p>\n"
+"<p>this client requires schema version %s, but your database is at %s</p>\n"
+"<p>Please Update openMolar now</p>"
+msgstr ""
+"<p>Üzgünüm openMolar istemcisinin bu versiyonunu çalıştıramazsınız,\n"
+"çünkü veritabanı şemanız daha gelişmiş</p>\n"
+"<p>bu istemci %s sürüm şemaya ihtiyaç duyuyor. Sizin sürümünüz ise ; %s</p>\n"
+"<p>Lütfen openMolar'ı güncelleyin</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:87
+msgid "Proceed without upgrade?"
+msgstr "Güncelleme yapmadan devam edilsin mi ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:88
+msgid ""
+"<p>This openMolar client has fallen behind your database\n"
+"schema version<br />this client was written for schema version %s,\n"
+"but your database is now at %s<br />However, the differences are not "
+"critical,\n"
+"and you can continue if you wish</p>\n"
+"<p><i>It would still be wise to update this client ASAP</i></p>\n"
+"<hr /><p>Do you wish to continue?</p>"
+msgstr ""
+"<p>Bu openmolar istemcisi sizin veritabanı şema versiyonunun gerisinde "
+"kalmış<br />bu istemci %s şema versiyonu için yazılmış, ancak sizin "
+"veritabanınız şu anda %s'de<br />bununla birlikte bu farklılık kritik değil "
+"ve dilerseniz devam edebilirsiniz</p>\n"
+"<p><i>Yine de bu istemciyi ASAP'a güncellemek akıllıca olacaktır</i></p>\n"
+"<hr /><p>Devam etmek istiyor musunuz?/p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:137
+msgid "This is not the default database - are you sure?"
+msgstr "Bu varsayılan veritabanı değil - eminmisiniz ?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:154
+msgid "confirm"
+msgstr "onayla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:154
+msgid "DEFAULT"
+msgstr "VARSAYILAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:156
+msgid "Chosen server"
+msgstr "Seçilen server"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:172
+msgid ""
+"<center><p>\n"
+"This appears to be your first running of openMolar<br />\n"
+"Before you run this application, we need to generate a settings file.<br />\n"
+"So that openmolar knows where your mysql server resides<hr />\n"
+"If you do not have a database, you will be prompted to create one<</p>\n"
+"Are you ready to proceed?</center>"
+msgstr ""
+"<center><p>\n"
+"Openmolar programını ilk kez çalıştırıyorsunuzr<br />\n"
+"Bu uygulamayı çalıştırmadan önce ayarlar dosyası oluşturmak zorundayız.<br "
+"/>\n"
+"Openmolar sizin mysql serverınızın nerede bulunduğunu bildiğine göre<hr />\n"
+"Eğer bit veritababnınız bulunmuyorsa bir tane oluşturmanız "
+"istenecektir<</p>\n"
+"başlamaya hazır mısınız?</center>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:179
+msgid "First Run"
+msgstr "İlk Çalıştırma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:211
+msgid "Unable to Run OpenMolar"
+msgstr "OpenMolar Çalıştırılamıyor."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:212
+msgid "Good Bye!"
+msgstr "Hoşçakalın !"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:302
+msgid "Login Error"
+msgstr "Giriş Hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:295
+msgid ""
+"Incorrect<br />User/password<br />\n"
+"combination!<br />Please Try Again."
+msgstr ""
+"Hatalı<br />Kullanıcı Adı / Şifre<br />\n"
+"kombinasyonu !<br />Lütfen tekrar deneyin."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/main.py:298
+msgid ""
+"<p>DATABASE ERROR </p>\n"
+"<p>application cannot run</p>Error %s"
+msgstr ""
+"<p>VERİTABANI HATASI </p>\n"
+"<p>uygulama başlatılamıyor</p>Hata %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:220
+msgid "<h1>Under Treatment - Current Estimate</h1>"
+msgstr "<h1>Tedavi altında - Şu anki tahmini</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:222
+msgid "<h1>Estimate from previous course</h1>"
+msgstr "<h1>Bir önceki seanstan gelen tahmin</h1>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:225
+msgid "No estimate data found</body></html>"
+msgstr "Herhangi bir tahmin verisi bulunamadı</body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/estimates.py:228
+msgid ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>ESTIMATE</h3></td></tr>\n"
+" <tr><th>No.</th><th>Description</th><th>Category</th>\n"
+" <th>Type</th><th>Course</th>\n"
+" <th>Fee</th><th>Pt Fee</th><th>Completed</th></tr>"
+msgstr ""
+"<table width =\"100%\" border=\"1\">\n"
+" <tr><td colspan=\"7\"><h3>TAHMİN</h3></td></tr>\n"
+" <tr><th>No.</th><th>Tanım</th><th>Kategori</th>\n"
+" <th>Tip</th><th>Seans</th>\n"
+" <th>Fee</th><th>Hst ücreti</th><th>Tamamlandı</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:123
+msgid "Previous Course"
+msgstr "Bir önceki seans"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:158
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:608
+msgid "Start"
+msgstr "Başlat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:128
+msgid "End"
+msgstr "Sonlandır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:138
+msgid "No treatment"
+msgstr "Tedavi yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "COMPLETED"
+msgstr "TAMAMLANDI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/ptModules/plan.py:141
+msgid "PLAN"
+msgstr "PLAN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Relevant Books"
+msgstr "İlgili kitaplar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:15
+msgid "Selected Book(s)"
+msgstr "Seçilen kitap(lar)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Dentists"
+msgstr "Mevcut Diş doktorları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:16
+msgid "Available Hygenists"
+msgstr "Mevcut Hijyenistler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Available Clinicians"
+msgstr "Mevcut klinisyenler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+msgid "Manual Selection"
+msgstr "Elle Seçim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:17
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3381
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:41
+msgid "Everyone"
+msgstr "Herkes"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:219
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:154
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:142
+msgid "Lunch"
+msgstr "Öğle yemeği"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:220
+msgid "staff meeting"
+msgstr "personel toplantısı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appointment_drag.py:224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:141
+msgid "Out of Office"
+msgstr "Ofis dışında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:178
+msgid "Please specify a clinician"
+msgstr "lütfen bir klinisyen seçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:233
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:82
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:84
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4085
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:57
+msgid "Confirm"
+msgstr "Onayla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:234
+msgid "Delete all past Appointments?"
+msgstr "geçmiş randevuların hepsini sil?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:235
+msgid "from the diary of"
+msgstr "günlüğünden"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:249
+msgid "Sucessfully removed appointment"
+msgstr "Randevu başarılı bir şekilde silindi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:253
+msgid "Error removing proposed appointment"
+msgstr "teklif edilen randevunun silinmesinde hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:256
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:328
+msgid "No appointment selected"
+msgstr "seçili randevu yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:262
+msgid "Delete Unscheduled Appointment?"
+msgstr "Planlanmayan randevuları sil?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:269
+msgid "Confirm Delete appointment at"
+msgstr "Şu Randevuyu Onayla Sil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:273
+msgid "with"
+msgstr "ile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:286
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:48
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:378
+msgid "Question"
+msgstr "Soru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:287
+msgid "Removed from appointment book - keep for rescheduling?"
+msgstr "randevu defterinden silinmiş - yeniden planlama için saklansın mı?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:292
+msgid "Error converting appointment"
+msgstr "randevuyu dönüştürme hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:296
+msgid "Error removing from patient diary"
+msgstr "hasta günlüğünden silme hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:301
+msgid "Error Removing from Appointment Book"
+msgstr "Randevu defterinden silme hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:412
+msgid "Error putting into dentist's book"
+msgstr "diş doktorunun kitapçığına işleme hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:425
+msgid "Please select an appointment to schedule"
+msgstr "planlama yapmak için lütfen bir randevu seçiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:429
+msgid "appointment already scheduled for"
+msgstr "randevu halihazırda planlanmış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:476
+msgid "Reached"
+msgstr "ulaşıldı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:478
+msgid "which is specified as the book end point"
+msgstr "kitapçık bitim noktası olarak belirlenmiş olan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:498
+msgid "No clinicians selected"
+msgstr "klinisyen seçilmedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:507
+msgid "no appointments of"
+msgstr "randevusu yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:508
+msgid "minutes or more available for selected week"
+msgstr "dakikalar ya da seçilen hafta için daha uygun"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:520
+msgid "Please select an appointment to place here"
+msgstr "buraya yerleştirmek için lütfen bir randevu seçiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:524
+msgid "Please choose another appointment - this one is made already!"
+msgstr "lütfen başka bir randevu seçiniz - bu randevu halihazırda yapılmış!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:534
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1423
+msgid "You have chosen an appointment with"
+msgstr "ile bir randevu seçtiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:536
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1425
+msgid "Is this correct?"
+msgstr "Bu doğru mu?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:569
+msgid "Confirm Make appointment for"
+msgstr "için randevu onayla oluştur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:622
+msgid "Error putting appointment back into patient diary"
+msgstr "randevunun hasta günlüğüne tekrar konulmasında hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:626
+msgid "Error making appointment - sorry!"
+msgstr "randevu oluşturma hatası - özür dileriz!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1238
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:862
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2453
+msgid "You can't schedule an appointment in the past"
+msgstr "geçmiş tarihte ibr randevu oluşturamazsınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1163
+msgid "showing current week"
+msgstr "güncel haftayı gösteriyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1255
+msgid "showing current day"
+msgstr "bugünü gösteriyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1329
+msgid "Nothing to show!"
+msgstr "Gösterilecek birşey yok!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1359
+msgid "Do you want to unblock the selected slot?"
+msgstr "Seçili slotu bloklamak ister misiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1388
+msgid "unable to block - has the book been altered elsewhere?"
+msgstr "bloklama sorunu - kitabın başka bir yerinde değişişiklik yapıldı mı?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1406
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1438
+msgid "unable to make appointment - has the book been altered elsewhere?"
+msgstr ""
+"randevu oluşturulamadı - kitap başka bir yerde edğiştirilmiş olabilir mi?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/appt_gui_module.py:1442
+msgid "unable to make make changes to the patient diary!"
+msgstr "hasta günlüğünde değişiklik yapılamadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "Unscheduled"
+msgstr "planlanmamış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:20
+msgid "View Past Appointments"
+msgstr "geçmiş randevuları göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Date & Time"
+msgstr "Tarih & Zaman"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+msgid "Practitioner"
+msgstr "Pratisyen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:151
+msgid "Length"
+msgstr "Süre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+msgid "Treatment"
+msgstr "Tedavi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py:22
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3076
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:48
+msgid "Memo"
+msgstr "Bilgi Notu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:108
+msgid ""
+"for the moment, please enter treatment\n"
+"into the plan first then complete it."
+msgstr ""
+"şu an için, lütfen önce plana tedaviyi ekleyin\n"
+"daha sonra tamamlamayı deneyin."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:111
+msgid "unable to update chart - this shouldn't happen!!"
+msgstr "tabloyu güncelleyemedik - Bu durumun gerçekleşmemesi gereklidir!!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:146
+msgid "you need to be in the static chart to change tooth state"
+msgstr "Diş durumunu değiştirebilmek için statik tabloda olmalısınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3231
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:926
+msgid "BPE"
+msgstr "BPE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/charts/charts_gui.py:272
+msgid "NO CHARTS"
+msgstr "TABLO YOK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:44
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:42
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:220
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:140
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:39
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:50
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:38
+msgid "Form"
+msgstr "Biçim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py:45
+msgid "CheckBox"
+msgstr "OnayKutusu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:53
+msgid "Plan Treatment"
+msgstr "Tedavi Planla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py:54
+msgid "Add the following Treatment Items to the Current Treatment Plan"
+msgstr "Şu tedavi ögelerini mevcut tedavi planına ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:56
+msgid "Select Appointment Length"
+msgstr "Randevu Uzunluğunu seçiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:57
+msgid "Hours"
+msgstr "Saat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py:58
+msgid "Minutes"
+msgstr "Dakika"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:146
+msgid "Open a Day"
+msgstr "Bir günlük aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:92
+msgid "Clinician"
+msgstr "klinisyen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:148
+msgid "Date to Open"
+msgstr "Açılacak tarih"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:149
+msgid "Day Memo - optional"
+msgstr "günlük bilgi notu - isteğe bağlı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:150
+msgid "Day Start"
+msgstr "gün başlangıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:151
+msgid "Morning Emergency Slot"
+msgstr "Sabah acil slotu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:156
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:94
+msgid "Finish"
+msgstr "Bitir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:157
+msgid "Afternoon Emergency Slot "
+msgstr "Öğleden sonra Acil slotu "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py:160
+msgid "Day Finish"
+msgstr "Gün bitimi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3408
+msgid "Appointment Tools"
+msgstr "Randevu araçları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:62
+msgid "Move the end date for making appointments."
+msgstr "randevu oluşturmak için gün bitimini değiştirin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:63
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "Extend Books"
+msgstr "kitapları uzat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:64
+msgid "Remove old weeks"
+msgstr "geçmiş haftaları sil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:65
+msgid "Edit Standard Working Weeks for Clinicians"
+msgstr "klinisyenler iö"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:66
+msgid "Open A Day"
+msgstr "Bir Günlük Aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:67
+msgid "Insert regular blocks"
+msgstr "düzenli blok girişi yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3400
+msgid "&Quit"
+msgstr "&Çık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:49
+msgid "Appointment Wizard"
+msgstr "Randevu Sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py:50
+msgid "Add a combination of proposed appointments to the patients diary."
+msgstr ""
+"Hasta günlüğüne önerilen randevu tarihlerinin bir kombinasyonunu ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:43
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3266
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3277
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3283
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3343
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3353
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:299
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:49
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py:39
+msgid "TextLabel"
+msgstr "MetinEtiketi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py:44
+msgid "Add"
+msgstr "Ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:91
+msgid "Clinicians - DATE"
+msgstr "Klinisyenler - TARİH"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:96
+msgid ""
+"If you copy this day's setup to the clipboard, you can create a \"clone\" of "
+"this day when no data is set. This is useful when extending books."
+msgstr ""
+"Eğer bu günün ayarlarını panoya kopyalarsanız, herhangi bir veri "
+"ayarlanmadığı halde bugünün bir \"klonunu\" oluşturabilirsiniz. Bu durum "
+"randevu defterlerinin uzatılması bakımından yararlı olabilir."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:97
+msgid "Copy To Clipboard"
+msgstr "Panoya Kopyala"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:98
+msgid "Paste the saved values."
+msgstr "Kaydedilmiş değerleri yapıştır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py:99
+msgid "Paste"
+msgstr "Yapıştır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3382
+msgid "Options"
+msgstr "Ayarlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:134
+msgid "Would you like to Block (or partially Block) this Slot?"
+msgstr "Bu slotu bloklamak (ya da kısmen bloklamak) ister misiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:135
+msgid "Block Start"
+msgstr "Blok başlangıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:136
+msgid "Bock End"
+msgstr "Blok bitimi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:137
+msgid "Text to apply"
+msgstr "uygulanacak metin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:138
+msgid "//Blocked//"
+msgstr "//Bloklandı//"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:139
+msgid "Emergency"
+msgstr "Acil Durum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:140
+msgid "Reserved Clinical Time"
+msgstr "Ayırılmış klinik saat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:143
+msgid "Catch up time"
+msgstr "Arayı kapatma zamanı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:144
+msgid "Phone Call"
+msgstr "Telefon Görüşmesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:145
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:206
+msgid "minutes"
+msgstr "dakika"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:146
+msgid "Insert a Block"
+msgstr "Bir blok girişi yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:147
+msgid "Insert A Patient into this slot?"
+msgstr "Bu slota bir hasta yerleştir?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:148
+msgid "Start Time"
+msgstr "Başlama Zamanı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:150
+msgid "Chosen Patient is<br />"
+msgstr "Seçili hasta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:151
+msgid "Change"
+msgstr "Değiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:152
+msgid "Reason for appointment is"
+msgstr "Randevunun sebebi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:108
+msgid " minutes"
+msgstr " dakika"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py:154
+msgid "Insert a Known Patient"
+msgstr "Bilinen bir hasta yerleştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:99
+msgid "Block Wizard"
+msgstr "Bloklama sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:100
+msgid "Insert a block into a book for a range of dates."
+msgstr "Randevu defterine belli bir gün aralığına blok koy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:101
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:104
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3306
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3313
+msgid "Start Date"
+msgstr "Başlama Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:102
+msgid "End Date (inclusive)"
+msgstr "Bitim tarihi (dahil)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:103
+msgid "Time"
+msgstr "Süre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:105
+msgid "Text to Apply"
+msgstr "Uygulanacak metin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:106
+msgid "Days to Apply"
+msgstr "uygulanacak günler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py:107
+msgid "Clinicians"
+msgstr "klinisyenler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:111
+msgid "Bridge - Denture Entry"
+msgstr "Köprü - Protez girişi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:112
+msgid "Porcelain / Precious Metal"
+msgstr "Porselen / Kıymetli Metal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:113
+msgid "Lava (or all ceramic)"
+msgstr "Lava (ya da Tam seramik)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:114
+msgid "Resin Retained"
+msgstr "Rezin tutuculu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:115
+msgid "Bridge"
+msgstr "Köprü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:116
+msgid "Upper"
+msgstr "Üst"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:123
+msgid "Full (acrylic)"
+msgstr "Tam (akrilik)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:124
+msgid "Full (co-chrome)"
+msgstr "Tam (ko-krom)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:125
+msgid "Partial (acrylic)"
+msgstr "Parsiyel (akrilik)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:126
+msgid "Partial (co-chrome)"
+msgstr "Parsiyel (ko- krom)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:69
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:692
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:171
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:40
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Other"
+msgstr "Diğer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:122
+msgid "Lower"
+msgstr "Alt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py:128
+msgid "Denture"
+msgstr "protez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:81
+msgid "Bulk Mail Options"
+msgstr "Önemsiz Posta Ayarları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:82
+msgid "Date Format for the letters"
+msgstr "mektuplar için tarih formatı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:83
+msgid "Full, Day, month and Year"
+msgstr "Tam, Gün, ay ve Yıl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:84
+msgid "Month and Year Only"
+msgstr "Sadece Ay ve Yıl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:85
+msgid "Date to use"
+msgstr "Kullanılacak Tarih"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:86
+msgid "Today's Date"
+msgstr "bugünün tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:87
+msgid "The actual recall date for the patient"
+msgstr "Hastanın esasen çağırıldığı tarih"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py:88
+msgid "This Date"
+msgstr "Bu Tarih"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:63
+msgid "Change Database"
+msgstr "Veritabanını değiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:305
+msgid "Host"
+msgstr "Sunucu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:65
+msgid "localhost"
+msgstr "yerelsunucu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:312
+msgid "User"
+msgstr "Kullanıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:67
+msgid "user"
+msgstr "kullanıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:301
+msgid "Password"
+msgstr "Şifre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:69
+msgid "display password"
+msgstr "Şifreyi göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:70
+msgid "Database"
+msgstr "Veritabanı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:71
+msgid "openmolar_demo"
+msgstr "openmolar_demo"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_changeDatabase.py:72
+msgid "password"
+msgstr "şifre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:65
+msgid "Choose a Document"
+msgstr "Belge seçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:66
+msgid "Choose a document to view"
+msgstr "Görüntülemek için bir belge seçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:67
+msgid "NHS Schedule of Remuneration April 2008"
+msgstr "Ulusal Sağlık Sistemi hizmet karşılığı ödeme 2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:68
+msgid "NHS \"Information Guide\" 2008"
+msgstr "Ulusal Sağlık Sistemi \" Bilgilendirme Rehberi\""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:69
+msgid "2008"
+msgstr "2008"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:70
+msgid "NHS Schedule of Remuneration"
+msgstr "Ulusal Sağlık Sistemi Hizmet Karşılığı Ödeme Takvimi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:71
+msgid "NHS \"Information Guide\""
+msgstr "Ulusal Sağlık Sistemi \" Bilgilendirme Rehberi \""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py:72
+msgid "2009"
+msgstr "2009"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py:36
+msgid "Choose Clinicians"
+msgstr "klinisyen seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:66
+msgid "Language Selector"
+msgstr "Dil Seçici"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:67
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Choose from the following "
+"available languages.<br />Please Note that some of these translations are "
+"not complete.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Mevcut olan diller "
+"arasından birini seçiniz.<br />Bazı çevirilerin tamamlanmamış olduğunu göz "
+"önünde bulundurunuz.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:72
+msgid ""
+"Note - if your preferred language is not available (or incomplete), please "
+"visit https://launchpad.net/openmolar and add a translation of your own!"
+msgstr ""
+"Not - Tercih ettiğiniz dil mevcut değilsaq (ya da tamamlanmamışsa), lütfen "
+"https://launchpad.net/openmolar adresini ziyaret ediniz ve kendi çevirinizi "
+"ekleyiniz!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py:73
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Many thanks to all who "
+"have helped internationalise openMolar,</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">and to the folks behind "
+"the GNU tools and launchpad rosetta team</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">who make this "
+"possible.</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:italic;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"> Bu girşimin mümkün "
+"olmasını sağlayan GNU araçlarında, Launchpad Rosetta takımında yer alan "
+"</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">herkese ve openMolar'ın "
+"uluslararası bir hale getirilmesine </p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">yardımcı olan herkese çok "
+"teşekkürler.</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:41
+msgid "Choose A Tooth"
+msgstr "Diş seçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py:42
+msgid "Please Select the tooth to which this treatment is planned"
+msgstr "Bu tedavinin planlandığı dişi seçiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:215
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:45
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:167
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:83
+msgid "Dialog"
+msgstr "İletişim Kutusu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:690
+msgid "Adult"
+msgstr "Yetişkin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:54
+msgid "Deciduous"
+msgstr "Süt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:55
+msgid "Enter a Restoration Code (eg. MOD) to test your fee scale logic"
+msgstr ""
+"Ücret belirleme mantığını test etmek için restorasyon kodu giriniz (örn: MOD)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:56
+msgid ""
+"Enter a filling or restoration code, and check that your feetable finds the "
+"correct itemcode"
+msgstr ""
+"dolgu ya da restorasyon kodu giriniz ve ücret tablosunun doğru öge kodunu "
+"bulup bulmadığını kontrol ediniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py:57
+msgid "go"
+msgstr "git"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:41
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:40
+msgid "Complete Treatment"
+msgstr "Tedaviyi Tamamla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completeTreatment.py:42
+msgid "Complete Multiple Treatments?"
+msgstr "Çoklu tedaviyi Tamamla?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:62
+msgid "Completion Date"
+msgstr "Bitim Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:63
+msgid "UNNAMED PT - (000000)"
+msgstr "İSİMLENDİRİLMEMİŞ HST - (000000)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:64
+msgid ""
+"You have no further treatment proposed for this patient, yet they are deemed "
+"to be \"under treatment\"."
+msgstr ""
+"Halihazırda \"tedavi altında\" sayılmıyorlar ise, bu hasta için önerilmiş "
+"ileri bir tedaviniz bulunmamaktadır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:65
+msgid "Suggested completion Date"
+msgstr "Önerilen bitim günü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py:66
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Apply this Date Now?<br "
+"/>(course can be re-opened later if necessary)</p></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Bu tarihi şimdi uygula?<br "
+"/>(gerek görülürse süreç daha sonra tekrar açılabilir)</p></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:45
+msgid "Which Dentist"
+msgstr "Hangi diş doktoru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:46
+msgid "Print a GP17 form using this dentist's contract no? "
+msgstr "Diş doktorunun kontrat numarasını girerek bir GP17 formu yazdır? "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:47
+msgid "Previous Course (00/00/0000 - 00/00/0000)"
+msgstr "Daha önceki tedavi süreci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_confirmDentist.py:48
+msgid "New Course ( no dates)"
+msgstr "Yeni tedavi süreci ( tarih yok )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:61
+msgid "Choose"
+msgstr "Seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:62
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:38
+msgid "Gold"
+msgstr "Altın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:63
+msgid "Resin"
+msgstr "Rezin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:64
+msgid "PJC"
+msgstr "PJK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:65
+msgid "Temporary"
+msgstr "Geçici"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:66
+msgid "Lava"
+msgstr "Lava"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:67
+msgid "Fortress"
+msgstr "Kule"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:68
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:37
+msgid "Bonded"
+msgstr "Bonded"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:70
+msgid "Recement"
+msgstr "Yeniden simanlama"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_crownChoice.py:71
+msgid "Cancel"
+msgstr "İptal Et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:64
+msgid "Custom Item"
+msgstr "Özel öge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:65
+msgid "Number of Items"
+msgstr "Öge sayısı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:66
+msgid "Fee"
+msgstr "Ücret"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py:67
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:65
+msgid "Treatment Description"
+msgstr "Tedavi Tanımı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:102
+msgid "Daylist Printing Wizard"
+msgstr "Günlük liste yazdırma sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:103
+msgid "Specify Dates and Practitioners for a Daylist Print Run"
+msgstr "günlük liste yazdırma işlemi için tarih ve pratisyen belirtin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:105
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3314
+msgid "End Date"
+msgstr "Bitiş Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:106
+msgid "All Practioners on One Page"
+msgstr "bütün pratisyenler tek bir sayfada"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:107
+msgid "One Practitioner Per Page - Minimal"
+msgstr "Sayfa başına bir pratisyen - Minimal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py:108
+msgid "One Practioner Per Page - Fill Page"
+msgstr "Sayfa başına bir pratisyen - Sayfayı doldur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:58
+msgid "Edit Memos"
+msgstr "Bilgi notlarını düzenle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:59
+msgid ""
+"<p align=\"center\">Friday, 25th December 2009</p>\n"
+"<p align=\"center\">Christmas Day</p>"
+msgstr ""
+"<p align=\"center\">Perşembe, 1 Ocak 2009</p>\n"
+"<p align=\"center\">Yılbaşı</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:61
+msgid "Global Memo"
+msgstr "Küresel bilgi notu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py:62
+msgid "Clinician Memos"
+msgstr "klinik bilgi notu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:38
+msgid "Letter Text Entry"
+msgstr "Mektup metin girişi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py:39
+msgid "<b>Please enter the body text for your letter here.</b>"
+msgstr ""
+"<b>Lütfen oluşturacağınız mektup için metin gövdesini buraya giriniz.</b>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estFooterWidget.py:221
+msgid " TOTAL "
+msgstr " TOPLAM "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:135
+msgid "No."
+msgstr "Nu:"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:136
+msgid "Code"
+msgstr "Kod"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Description"
+msgstr "Tanım"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:144
+msgid "Cat"
+msgstr "Cat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:139
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:78
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Type"
+msgstr "Tip"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:140
+msgid "cset"
+msgstr "cset"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:142
+msgid "Charge"
+msgstr "Ücretlendir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estHeaderWidget.py:143
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3340
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:252
+msgid "Expand All"
+msgstr "Tümünü Aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estSplitItemsDialog.py:38
+msgid "Split Items"
+msgstr "Ögeleri böl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:107
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:113
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:119
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:137
+msgid "1"
+msgstr "1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:142
+msgid "code"
+msgstr "Kod"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:143
+msgid "small xrays"
+msgstr "Küçük radyografiler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:146
+msgid "P"
+msgstr "P"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:147
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:148
+msgid "1000.00"
+msgstr "1000.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_estimateItemWidget.py:149
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3226
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:34
+msgid "Completed"
+msgstr "Tamamlandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:124
+msgid "Exam Wizard"
+msgstr "Muayene Sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:218
+msgid "Standard"
+msgstr "Standart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:127
+msgid "Extensive"
+msgstr "Yaygın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:128
+msgid "Full Case Assessment"
+msgstr "Tam vaka değerlendirmesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:129
+msgid "Exam Date"
+msgstr "Muayene Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3155
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3192
+msgid "Notes"
+msgstr "Notlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:132
+msgid "Pt c/o"
+msgstr "Hst c/o"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:133
+msgid "nil"
+msgstr "nil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:134
+msgid "Broken Tooth"
+msgstr "Kırık Diş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:135
+msgid "Denture Problems"
+msgstr "Protez sorunları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:136
+msgid "Lost Filling"
+msgstr "Düşmüş dolgu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:137
+msgid "Pain"
+msgstr "Ağrı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:138
+msgid "Sensitive Teeth"
+msgstr "Hassas dişler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:139
+msgid "Soft Tissues Checked"
+msgstr "Yumuşak dokular kontrol edildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:140
+msgid "OHI given"
+msgstr "OHE verildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py:141
+msgid "Palpated for upper canines - NAD"
+msgstr "Üst kaninler plape edildi - NAD"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:64
+msgid "Add Fee Table Item"
+msgstr "Ücret tablosu ögesi ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_feeTableTreatment.py:67
+msgid "Patient Contribution"
+msgstr "Hasta uyumu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:217
+msgid "UserCode"
+msgstr "Kullanıcı kodu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:219
+msgid "Regex"
+msgstr "Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:220
+msgid "Multiple Regex"
+msgstr "Çoklu Regex"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:155
+msgid "Regulations"
+msgstr "Düzenlemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:222
+msgid "Regulation Wizard"
+msgstr "Düzenleme sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:223
+msgid "Feescale Category"
+msgstr "Ücret skala kategorisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:224
+msgid "Category for treatment Planning"
+msgstr "tedavi planlaması için kategori"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:225
+msgid "Patient's Description"
+msgstr "Hastanın tanımı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:226
+msgid "Clinical Description(s)"
+msgstr "Klinik Tanımlama(lar)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:227
+msgid "Gross Fees (csv)"
+msgstr "Yüksek Ücretler (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:228
+msgid "Net Fees (csv)"
+msgstr "Net ücretler (csv)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:229
+msgid "Wizard"
+msgstr "Sihirbaz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:230
+msgid ""
+"Below is the XML for this item (this is how they are stored in the database)"
+msgstr "Bu öge için XML aşağıda (veritabanında saklanma bu şekildedir)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:231
+msgid "Original (read only)"
+msgstr "Orjinal (salt okunur)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:232
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3230
+msgid "New"
+msgstr "Yeni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:233
+msgid "XML"
+msgstr "XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_fee_item_wizard.py:234
+msgid "Test Fee Item Logic"
+msgstr "Ücret ögesi mantığını test et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:64
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:67
+msgid "Appointment Time"
+msgstr "Randevu zamanı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:65
+msgid "Space Before Appointment"
+msgstr "Randevu öncesi boşluk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:66
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:70
+msgid "0 mins"
+msgstr "0 dakika"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:68
+msgid "00:00 - 00:00"
+msgstr "00:00 - 00:00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py:69
+msgid "Space After Appointment"
+msgstr "Randevu sonrası boşluk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:79
+msgid "Forum Input"
+msgstr "Forum girdisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:80
+msgid "Topic"
+msgstr "Başlık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:82
+msgid "Comment"
+msgstr "Yorum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py:83
+msgid "(0 Characters)"
+msgstr "(0 Karakter)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:77
+msgid "Hygenist Wizard"
+msgstr "Yardımcı Sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:79
+msgid "Scale and Polish"
+msgstr "Düzle ve Cilala"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:80
+msgid "Extensive Scaling"
+msgstr "Yaygın olarak düzleme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:81
+msgid "Part 1 of 2 visit treatment"
+msgstr "2 randevulu tedavinin 1'inci bölümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:82
+msgid "Part 2 of 2 visit treatment"
+msgstr "2 randevuku tedavinin 2'inci bölümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:83
+msgid "Dentist/Hygenist"
+msgstr "Diş hekimi/Yardımcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py:84
+msgid "Debridement"
+msgstr "Debridman"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:603
+msgid "OpenMolar - database wizard"
+msgstr "OpenMolar - Veritabanı sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:604
+msgid "What do you want to do?"
+msgstr "Ne yapmak istersiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:605
+msgid "Modify an existing openmolar database"
+msgstr "mevcut olan bir openmolar veritabanını modifiye et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:606
+msgid "Create a New database from scratch"
+msgstr "En baştan yeni bir veritabanı oluştur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:607
+msgid "Create a New database (from a known template)"
+msgstr "Yeni veri tabanı oluştur (kalıp kullanarak)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:609
+msgid "Practice Name"
+msgstr "Muayenehane adı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:610
+msgid "Used in receipts, appointment cards etc."
+msgstr "Fatura, randevu kartları ve vb. için kullanıldı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:611
+msgid "Address Line 1"
+msgstr "Adres satırı 1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:612
+msgid "Address Line 2"
+msgstr "Adres satırı 2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:613
+msgid "Address Line 3"
+msgstr "Adres satırı 3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:616
+msgid "Postcode / Zip"
+msgstr "Postakodu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:617
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:149
+msgid "Telephone"
+msgstr "Telefon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:618
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3062
+msgid "Fax"
+msgstr "Belgegeçer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:619
+msgid "Website"
+msgstr "Web sitesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:620
+msgid "Email"
+msgstr "E-Posta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:621
+msgid "Practice Details"
+msgstr "Muayenehane bilgileri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:622
+msgid "The Following users can login to the application"
+msgstr "Uygulamaya şu kullanıcılar giriş yapabilir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:623
+msgid "Id"
+msgstr "Kimlik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:624
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:632
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:644
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:649
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:657
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:662
+msgid "Initials"
+msgstr "Baş Harfler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:625
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:631
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:645
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:650
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:658
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:663
+msgid "Name"
+msgstr "Ad"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:626
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:633
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:646
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:659
+msgid "User Group"
+msgstr "Kullanıcı Grubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:627
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:647
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:660
+msgid "Active?"
+msgstr "Etkin?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:628
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:639
+msgid "DeActivation Date"
+msgstr "Etkisizleştirme Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:629
+msgid "Modify Selected User"
+msgstr "Seçili Kullanıcıyı Modifiye et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:630
+msgid "New User Details"
+msgstr "Yeni Kullanıcı Ayrıntıları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:634
+msgid "Standard User"
+msgstr "Normal Kullanıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:636
+msgid "Hygienist"
+msgstr "Yardımcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:637
+msgid "Receptionist"
+msgstr "Resepsiyonist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:638
+msgid "Active User"
+msgstr "Etkin Kullanıcı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:640
+msgid "Add a New User"
+msgstr "Yeni Kullanıcı Ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:641
+msgid "Users"
+msgstr "Kullanıcılar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:642
+msgid ""
+"The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Şu Diş Doktorlarının bu veritabanında notları bulunmaktadır\n"
+"(not - diş doktorları veritabanından silinmemelidir, bu durum nakit defteri "
+"ve notlarda problemlere neden olabilir) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:648
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:661
+msgid "Add a Dentist"
+msgstr "Diş Doktoru ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:651
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:664
+msgid "Registration"
+msgstr "Kayıt"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:652
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:665
+msgid "Active Appointment Book"
+msgstr "Etkin Randevu Defteri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:653
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:666
+msgid "Patients can be assigned to this dentist"
+msgstr "Hastalar bu Diş Doktoru üzerine yazılabilir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:654
+msgid "Dentists"
+msgstr "Diş Doktorları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:655
+msgid ""
+"The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could "
+"create lookup issues for cashbooks and notes) "
+msgstr ""
+"Şu yardımcıların bu veritabanında notları bulunmaktadır\n"
+"(not - yardımcıların veritabanından silinmemesi gereklidir, bu durum nakit "
+"defterlerinde ve notlarda problemlere neden olabilir) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:667
+msgid "Hygienists"
+msgstr "Yardımcılar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:668
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Monday"
+msgstr "Pazartesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:669
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Tuesday"
+msgstr "Salı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:670
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:388
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Wednesday"
+msgstr "Çarşamba"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:671
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:438
+msgid "Thursday"
+msgstr "Perşembe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:672
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Friday"
+msgstr "Cuma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:673
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Saturday"
+msgstr "Cumartesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:674
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:439
+msgid "Sunday"
+msgstr "Pazar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:675
+msgid "Practice Hours"
+msgstr "Çalışma Saatleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:676
+msgid "The Following Categories are used in this database"
+msgstr "Bu veritabanında aşağıdaki kategoriler kullanılmıştır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:677
+msgid "Category"
+msgstr "Kategori"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:678
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:684
+msgid "Category Name"
+msgstr "Kategori Adı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:679
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:685
+msgid "Image"
+msgstr "Görüntü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:680
+msgid "Age Category"
+msgstr "Yaş Kategorisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:681
+msgid "Minimum Age"
+msgstr "En küçük yaş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:682
+msgid "Maximum Age"
+msgstr "En büyük Yaş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:683
+msgid "Add a Category"
+msgstr "Kategori ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:686
+msgid "..."
+msgstr "..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:687
+msgid "Age Limit"
+msgstr "Yaş Sınırı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:688
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:175
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:945
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:946
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:514
+msgid "None"
+msgstr "Yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:689
+msgid "Under 18"
+msgstr "18 Altında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:691
+msgid "OAP"
+msgstr "OAP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:693
+msgid "Category Letter"
+msgstr "Kategori mektubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:694
+msgid "Category Active"
+msgstr "Etkin Kategori"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:695
+msgid "Patient Categories"
+msgstr "Hasta Kategorileri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:696
+msgid "Treatments and Fees"
+msgstr "Tedaviler ve Ücretler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:697
+msgid "Referral Centres"
+msgstr "Sevk merkezleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:698
+msgid "View XML"
+msgstr "XML göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:699
+msgid "File"
+msgstr "Dosya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:700
+msgid "L&oad Template"
+msgstr "Kalıbı yükle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py:701
+msgid "&Save Template"
+msgstr "& Kalıbı kaydet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3032
+msgid "Open Molar - YOUR dental database application"
+msgstr "Open Molar - Dental veritabanı uygulamanız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3033
+msgid "Exit the Current Patient Record."
+msgstr "Şu anki hasta kaydından çık."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3034
+msgid "Esc"
+msgstr "Çık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3035
+msgid "Add a New Patient to the database."
+msgstr "Veritabanına yeni bir hasta ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3036
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3347
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3377
+msgid "Click on this Button to search for in patient in your database."
+msgstr "veritabanında hasta aramak için bu tuşa tıklayınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3037
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3378
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:38
+msgid "Find"
+msgstr "Ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3038
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3348
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3379
+msgid "Ctrl+F"
+msgstr "Ctrl+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3039
+msgid "This cycles back through the history of records loaded today."
+msgstr "Bugün yüklenen kayıt geçmişini geriye devreder."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3040
+msgid "Reload the patient from the database."
+msgstr "Hastayı veritabanından tekrar yükle."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3041
+msgid "Ctrl+R"
+msgstr "Ctrl+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3042
+msgid "This cycles forwards through the history of records loaded today."
+msgstr "Bugün yüklenen hasta kayıtlarını ileri devreder."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3043
+msgid ""
+"Show patients who live at the same address, or who have a similar name."
+msgstr "Aynı muhitte yaşayan ya da benzer ismi olan hastaları göster."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3044
+msgid "&Related"
+msgstr "&İlişkili"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3045
+msgid "Ctrl+G"
+msgstr "Ctrl+G"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3046
+msgid "A drop down box of all patients who have an appointment today."
+msgstr "Bugün randevusu olan tüm hastaların açılır menüsü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3047
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3222
+msgid "Details"
+msgstr "Ayrıntılar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3049
+msgid "Sex"
+msgstr "Cinsiyet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3050
+msgid "M"
+msgstr "E"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3051
+msgid "F"
+msgstr "K"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3052
+msgid "Tel (home)"
+msgstr "Tel (ev)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3053
+msgid "More Fields are available. Click Here to Edit."
+msgstr "Daha fazla bilgi alanı mevcut. Düzenlemek için burayı tıklayınız."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3054
+msgid "More"
+msgstr "Daha fazla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3056
+msgid "Tel (work)"
+msgstr "Tel (iş)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3058
+msgid "Tel (mob)"
+msgstr "Tel (cep)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3059
+msgid "send an sms"
+msgstr "kısa mesaj gönder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3060
+msgid "sms"
+msgstr "kısa mesaj"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3061
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:146
+msgid "Date of Birth"
+msgstr "Doğum Tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3063
+msgid "send a fax"
+msgstr "Belgegeçer yolla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3064
+msgid "fax"
+msgstr "Belgegeçer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3065
+msgid "Address1"
+msgstr "Adres1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3066
+msgid "email1"
+msgstr "eposta1"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3067
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3071
+msgid "send an email"
+msgstr "eposta yolla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3068
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3072
+msgid "email"
+msgstr "eposta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3069
+msgid "Address2"
+msgstr "Adres2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3070
+msgid "email2"
+msgstr "eposta2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3073
+msgid "Address3"
+msgstr "Adres3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3074
+msgid "Occupation"
+msgstr "Meslek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3078
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:151
+msgid "Postcode"
+msgstr "Posta kodu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3079
+msgid "New Patients"
+msgstr "Yeni Hastalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3080
+msgid "Use the Sname and Address details from the previous patient."
+msgstr "Bir önceki hastanın Soyadı ve Adres bilgilerini kullan."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3081
+msgid "Default Sname / Address"
+msgstr "Varsayılan Soyad / Adres"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3082
+msgid "Not implemented yet."
+msgstr "Özellik henüz eklenmedi."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3083
+msgid "Family"
+msgstr "Aile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3084
+msgid "Higlighted Fields are Mandatory for New Patients"
+msgstr "Vurgulanan alanlar Yeni hasta girişi için zorunludur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3085
+msgid "Patient Details"
+msgstr "Hasta bilgileri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3086
+msgid "Pt is registered with Dentist"
+msgstr "Hst Diş doktoruna kayıtlı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:67
+msgid "Course Type"
+msgstr "Süreç tipi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3088
+msgid "Status"
+msgstr "Durum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3089
+msgid "Active"
+msgstr "Etkin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3090
+msgid "Moved Away"
+msgstr "Taşınmış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3091
+msgid "Deceased"
+msgstr "Ölmüş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3092
+msgid "Bad Debt"
+msgstr "Borçlu (kötü kredi)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3093
+msgid "No More Appts"
+msgstr "Daha fazla Randevusu yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3094
+msgid "Write Off Bad Debt"
+msgstr "Silinmiş Borç (kötü kredi)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3095
+msgid "This label is for displaying Private contractual stuff"
+msgstr "Bu etiket özel sözleşmeli personeli göstermek içindir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3096
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3099
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3103
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3108
+msgid "Edit"
+msgstr "Düzenle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3097
+msgid "Private"
+msgstr "Özel"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3098
+msgid "This label is for displaying HDP contractual stuff"
+msgstr "Bu etiket SGK sözleşmeli personeli göstermek içindir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3100
+msgid "Highland Dental Plan"
+msgstr "Sosyal Güvenlik Kurumu Diş muayene planı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3101
+msgid "This label is for displaying NHS contractual stuff"
+msgstr "Bu etiket SGK sözleşmeli personeli göstermek içindir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3102
+msgid "View Claims History"
+msgstr "Hakediş geçmişini göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3104
+msgid "Exemption"
+msgstr "Muafiyet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3105
+msgid "Exemption Text"
+msgstr "Muafiyet metni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3148
+msgid "NHS"
+msgstr "SGK"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3107
+msgid "No Details of Pt's Registered Dentist Found"
+msgstr "Hst'nın kayıtlı Diş doktoruna ait ayrıntı bulunamadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3109
+msgid "Registered Elsewhere"
+msgstr "Başka yerde kayıtlı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3110
+msgid "Contract"
+msgstr "Sözleşme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3111
+msgid "Letters TO the patient"
+msgstr "Hastaya gönderilmiş Mektuplar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3112
+msgid " Custom Letter to the patient"
+msgstr " Hastaya özel mektup gönder"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3113
+msgid "Recall management"
+msgstr "Çağrı düzenlemeleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3114
+msgid "Set the date for a recall to be generated automatically"
+msgstr "Otomatik çağrı oluşturulması için Tarih ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3115
+msgid "Date Shortcuts"
+msgstr "Tarih Kısayolu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3116
+msgid "1 Month hence"
+msgstr "1 ay sonra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3117
+msgid "3 Months hence"
+msgstr "3 ay sonra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3118
+msgid "6 Months hence"
+msgstr "6 ay sonra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3119
+msgid "12 Months hence"
+msgstr "12 ay sonra"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3120
+msgid "Print a recall saying the patient is due now."
+msgstr "Hastanın bu ara olduğunu belirten bir çağrı yazdır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3121
+msgid "Print Recall Now"
+msgstr "Çağrı yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3330
+msgid "Accounts"
+msgstr "Hesaplar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3123
+msgid "\"A\" letter"
+msgstr "\"A\" Mektubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3124
+msgid "\"B\" letter"
+msgstr "\"B\" Mektubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3125
+msgid "\"C\" letter"
+msgstr "\"C\" Mektubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3126
+msgid "Print A Statement of Account"
+msgstr "Hesap Bildirimi yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3127
+msgid "Duplicate Receipt"
+msgstr "Faturanın kopyasını çıkar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:57
+msgid "Amount"
+msgstr "Tutar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3130
+msgid "Print a receipt - useful for duplicates."
+msgstr "Fatura yazdır - Kopya tipi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3245
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3311
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3319
+msgid "Print"
+msgstr "Yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3132
+msgid "Previous Correspondence"
+msgstr "Önceki uyuşum"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3133
+msgid "Generated By OpenMolar"
+msgstr "OpenMolar tarafından oluşturulmuştur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3135
+msgid "Imported into database"
+msgstr "Veritabanına aktarılmış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3136
+msgid "Import A Document"
+msgstr "Belge içe aktar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3137
+msgid "Referrals (Letters about the patient)"
+msgstr "Sevkler (hasta hakkında mektuplar)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3139
+msgid "Export this record card"
+msgstr "Bu kayıt kartını dışa aktar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3140
+msgid "Print a patient's static chart."
+msgstr "Bir hastanın statik tablosunu yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3141
+msgid "Print the Patient's static Chart"
+msgstr "Hastanın statik tablosunu yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3142
+msgid ""
+"Print a summary of the patient's notes (for them to take on). Includes No "
+"fee details."
+msgstr ""
+"Hasta notlarının özetini yazdır (bundan sonra yer almaları için). Ücret "
+"ayrıntları içermeyecektir."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3143
+msgid "Print A Summary of the Notes"
+msgstr "Notların bir özetini yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3144
+msgid ""
+"Print a summary of the patient's notes. Includes FEE and ESTIMATE details."
+msgstr ""
+"Hasta notlarının özetini yazdır. Ücret ve tahmin verilerini içerecektir."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3145
+msgid "Print Detailed Notes"
+msgstr "Ayrıntılı notları yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3146
+msgid "Correspondence"
+msgstr "Uygunluk"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3147
+msgid "Account"
+msgstr "Hesap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3149
+msgid "Print A GP17"
+msgstr "GP17 yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3150
+msgid "Apply an Exemption"
+msgstr "İstisna uygula"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3151
+msgid "Custom Estimate on File"
+msgstr "Dosya üzerinde özel tahmin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3152
+msgid "Print &Estimate"
+msgstr "Yazdır &Değerlendir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3153
+msgid "Print &Account"
+msgstr "Yazdır &Hesap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3154
+msgid "Take &Payment"
+msgstr "Alış &Ödeme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3156
+msgid "Patient's Diary"
+msgstr "Hastanın Günlüğü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3157
+msgid "A Wizard to select some common appointment combinations"
+msgstr "Ortak Randevu kombinasyonlarını seçme sihirbazı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3158
+msgid "Appointment Shortcuts"
+msgstr "Randevu kısayol"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3159
+msgid "A New Appointment for this patient"
+msgstr "Bu hasta için yeni randevu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3160
+msgid "&New"
+msgstr "&Yeni"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3161
+msgid "delete or cancel the appointment"
+msgstr "Randevuyu sil ya da iptal et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3162
+msgid "Clear/Cancel"
+msgstr "temizle/iptal"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3163
+msgid "Make the selected appointment"
+msgstr "Seçili randevuyu gerçekleştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3164
+msgid "Schedule"
+msgstr "Planla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3165
+msgid "Housekeeping - remove all past appointments from the patient's diary"
+msgstr "İdare - hasta günlüğünden geçmiş bütün randevuları kaldır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3166
+msgid "Delete All Past Appointments"
+msgstr "Geçmiş randevuların tümünü sil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3167
+msgid "Find the appointment in the the practice appointment list"
+msgstr "muayenehane randevu listesinde randevuyu bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3168
+msgid "Find in Book"
+msgstr "defter bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3169
+msgid "Print out the next 5 appointments for this patient"
+msgstr "bu hasta için sonraki 5 randevuyu bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3170
+msgid "Print Card"
+msgstr "Kart yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3171
+msgid "Allows modifcation of certain criteria for this appointment"
+msgstr "Bu randevu için belli bir kriterin değiştirilmesine izin verir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3172
+msgid "Modify"
+msgstr "Değiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3173
+msgid "Reception"
+msgstr "Resepsiyon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3175
+msgid "Update the Basic Perio Exam (CPITN) score"
+msgstr "Basit Perio Muayenesi skorunu (CPTIN) güncelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3177
+msgid "perform a clinical exam"
+msgstr "klinik muayene gerçekleştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3179
+msgid "add x-rays to the patient's current course."
+msgstr "hastanın devam eden sürecine radyografiler ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3180
+msgid "X-ray"
+msgstr "Radyografi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3181
+msgid "perform common perio treatments"
+msgstr "Genel perio tedavileri uygula"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3182
+msgid "Hyg"
+msgstr "Hij"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3183
+msgid "Close This Course"
+msgstr "Bu süreci kapat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3184
+msgid "check / update the patients medical history"
+msgstr "hastaların tıbbi geçmişini kontrol et / güncelle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3185
+msgid "Med Notes"
+msgstr "Tıbbi notlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3186
+msgid "Clinical Summary"
+msgstr "Klinik özet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3187
+msgid "Verbosity Level"
+msgstr "Gereksiz laf seviyesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3188
+msgid "minimum"
+msgstr "en az"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3189
+msgid "medium"
+msgstr "orta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3190
+msgid "maximum"
+msgstr "en çok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3191
+msgid "reception only"
+msgstr "sadece resepsiyon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3193
+msgid "Charts View"
+msgstr "Tablo görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3194
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:248
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:32
+msgid "Static"
+msgstr "Durağan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3195
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3224
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:256
+msgid "Plan"
+msgstr "Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3197
+msgid "Charts"
+msgstr "Çizgeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3198
+msgid "Estimate"
+msgstr "tahmini değer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3199
+msgid "Course Management"
+msgstr "süreç düzenleme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:66
+msgid "Course Dentist"
+msgstr "süreç hekimi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3201
+msgid "New Course Of Treatment"
+msgstr "Yeni Tedavi Süreci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3202
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1699
+msgid "Close Course"
+msgstr "Süreci Kapat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3203
+msgid "Estimate Management"
+msgstr "Tahmin düzenlemesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3204
+msgid "Custom Estimate Letter"
+msgstr "Özel tahmini değer mektubu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3205
+msgid ""
+"Use this feature to re-price all items in the \"tooth\" category of "
+"treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "
+msgstr ""
+"\"diş\" kategorisi tedavilerindeki bütün ögeleri yeniden fiyatlandırmak için "
+"bu özelliği kullan. Örn: çizelgelerde görülenlerin tümünü.\n"
+"\n"
+"Not - Bu durum şu an mevcut olan ögeleri ortadan kaldırmayacak. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3208
+msgid "ReCalculate Estimate"
+msgstr "Tahmini değeri yeniden hesapla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3209
+msgid "Apply Exemption"
+msgstr "İstisna uygula"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3210
+msgid "Standard View"
+msgstr "Standart görünüm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3211
+msgid "Expanded View"
+msgstr "Genişletilmiş görünüm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3212
+msgid "Plan/Completed (standard)"
+msgstr "Plan/Tamamlanan (standart)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3213
+msgid "Plan/Completed (expanded)"
+msgstr "Plan/Tamamlanan (genişletilmiş)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3214
+msgid "Treatment Planning"
+msgstr "Tedavi Planlaması"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3215
+msgid "Perform Exam"
+msgstr "Muayene yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3216
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:543
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:555
+msgid "Perio"
+msgstr "Perio"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3217
+msgid "X-Rays"
+msgstr "Radyografiler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:547
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:559
+msgid "Dentures"
+msgstr "Protezler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3219
+msgid "Ortho"
+msgstr "Orto"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3220
+msgid "Other Tx"
+msgstr "Diğer Tanılar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3221
+msgid "Add Custom Item"
+msgstr "Özel öge ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3227
+msgid "Estimate/Plan"
+msgstr "Tahmin/Plan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3228
+msgid "Choose Data"
+msgstr "Veri Seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3229
+msgid "Chart Date"
+msgstr "Tablo tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3232
+msgid "Perio Charts"
+msgstr "Perio Tabloları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3233
+msgid "See all payments in the database made by this patient"
+msgstr "Bu hasta tarafından yapılmış veritabanındaki bütün ödemeleri göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3234
+msgid "Past Payments"
+msgstr "Eski ödemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3235
+msgid "View treatments completed, by date order"
+msgstr "Tamamlanmış tedavileri göster, tarihe göre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3236
+msgid "Past Treatment"
+msgstr "Geçmiş tedaviler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3237
+msgid ""
+"View all Courses of treatment. This includes treatment that was planned but "
+"not completed."
+msgstr ""
+"Bütün tedavi süreçlerimi göster. Bu planlanmış fakat tamamlanmamış "
+"tedavileri de kapsar."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3238
+msgid "Courses"
+msgstr "Süreçler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3239
+msgid "Estimate history for this patient."
+msgstr "Bu hasta için tahmin geçmişi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3240
+msgid "Estimates"
+msgstr "Tahminler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3241
+msgid "display a combination of courses and estimates."
+msgstr "Süreçler ve Tahminlerin bir kombinasyonunu göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3242
+msgid "Courses / Estimates"
+msgstr "Süreçler / Tahminler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3243
+msgid "NHS Claims"
+msgstr "SGK Hakedişleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3244
+msgid "Print the text displayed on this page."
+msgstr "Bu sayfada gösterilen metni yazdır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3246
+msgid "Custom Options"
+msgstr "Özel Seçenekler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3247
+msgid ""
+"Advanced options for developer use. Don't expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been "
+"changed will be displayed."
+msgstr ""
+"Geliştirici kullanımı için ileri seviye seçenekler. Bunların anlamlı "
+"birşeyler ifade etmesini \n"
+"\n"
+"Eğer \"sadece değişiklikler\" kutucuğu işaretli ise sadece değişiklik "
+"yapılan veriler gösterilecektir."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3250
+msgid "debug tools"
+msgstr "hatasızlaştırma araçları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3251
+msgid "changes only"
+msgstr "sadece değişiklikler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3252
+msgid "History"
+msgstr "Geçmiş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3253
+msgid "Memos"
+msgstr "Notlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3254
+msgid "Enter Notes."
+msgstr "Not girişi yapın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3255
+msgid "Today's Notes"
+msgstr "Bugünün notları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3256
+msgid "Save the changes made to this record."
+msgstr "Bu kayıtta yapılan değişiklikleri kaydet."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3257
+msgid "Save Changes"
+msgstr "Değişiklikleri Kaydet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3258
+msgid "Ctrl+S"
+msgstr "Ctrl+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3259
+msgid "Tasks"
+msgstr "Görevler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3260
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:84
+msgid "PhraseBook"
+msgstr "cümle defteri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3261
+msgid "Ins"
+msgstr "Araya ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3262
+msgid "Patient Database"
+msgstr "Hasta Veritabanı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3263
+msgid "Go To Today"
+msgstr "Bugüne git"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3264
+msgid "Manual Clinicians"
+msgstr "Manuel Klinisyneler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3265
+msgid "Schedule Appointments"
+msgstr "Randevu ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3267
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3284
+msgid "Find the First Suitable Appointment. "
+msgstr "Uygun olan ilk randevuyu bul. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3268
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3285
+msgid "1st Available"
+msgstr "Uygun olan birinci"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3269
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3286
+msgid ""
+"Find the Previous Appointment\n"
+"F5"
+msgstr ""
+"Bir önceki randevuyu bul\n"
+"F5"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3271
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3288
+msgid "Prev"
+msgstr "Önceki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3272
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3289
+msgid ""
+"Find the Next Available Appointment.\n"
+"F6"
+msgstr ""
+"Uygun olan bir sonraki randevuyu bul.\n"
+"F6"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3274
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3291
+msgid "Next"
+msgstr "İleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3275
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3292
+msgid "Current Patient"
+msgstr "Şu anki hasta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3276
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3293
+msgid "Blocks etc.."
+msgstr "Bloklar vs."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3278
+msgid "Day View"
+msgstr "Gün Görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3279
+msgid "View Current Week"
+msgstr "Mevcut haftayı göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3280
+msgid "show All appointments"
+msgstr "Bütün randevuları göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3281
+msgid "Manually Select Clinicians"
+msgstr "Klinisyenleri elle seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3282
+msgid "Schedule appointments"
+msgstr "Randeuları ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3294
+msgid "Week View"
+msgstr "Hafta Görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3295
+msgid "Month"
+msgstr "Ay"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3296
+msgid "Print Month View"
+msgstr "Hafta Görünümünü yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3297
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3300
+msgid "All Clinicians"
+msgstr "Bütün klinisyenler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3301
+msgid "Select Clinicians"
+msgstr "Klinisyen seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3299
+msgid "Month View"
+msgstr "Ay Görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3302
+msgid "Year"
+msgstr "Yıl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3303
+msgid "Year View"
+msgstr "Yıl görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3304
+msgid "Staff Diaries"
+msgstr "personel günlükleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3305
+msgid "Appointments / Diary"
+msgstr "Randevular / Günlükler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3308
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3315
+msgid "Registered Dentist"
+msgstr "Kayıtlı Diş Hekimi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3317
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:242
+msgid "Go"
+msgstr "Git"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3318
+msgid "Print the Data"
+msgstr "Veriyi yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3312
+msgid "Cashbook"
+msgstr "Nakit defteri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3316
+msgid "Treating Dentist / Hygenist"
+msgstr "Tedavi eden Diş Doktoru /Hijyenist"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3320
+msgid "Daybook"
+msgstr "Gün defteri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3321
+msgid "Find Patient Records where the patient is in"
+msgstr "Hastanın içinde bulunduğu hasta kayıtlarını bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3322
+msgid "Debt"
+msgstr "Borç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3323
+msgid "Credit"
+msgstr "Kredi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3324
+msgid "By More than"
+msgstr "Şundan fazla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3325
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3338
+msgid "Load Table"
+msgstr "Tabloyu yükle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3326
+msgid "Print Table"
+msgstr "Tabloyu yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3327
+msgid "Print Selected Letters"
+msgstr "Seçili mektupları yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3329
+msgid "TOTAL OUTSTANDING"
+msgstr "TOPLAM ÖDENMEMİŞ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3331
+msgid "Find Patient Records where"
+msgstr "nerdeki hasta kayıtlarını bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3333
+msgid "is between"
+msgstr "arasında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3334
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3336
+msgid "dd/MM/yyyy"
+msgstr "GG/aa/yyyy"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3335
+msgid "and"
+msgstr "ve"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3337
+msgid "(Inclusive)"
+msgstr "(dahildir)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3339
+msgid "Print Letters"
+msgstr "Mektupları yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3341
+msgid "Letter Options"
+msgstr "Mektup seçenekleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3342
+msgid "Bulk Mailings"
+msgstr "Gereksiz Postalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3344
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:170
+msgid "Fee Scales Available"
+msgstr "Mevcut ücret tabloları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3345
+msgid "Use this control to select a feescale"
+msgstr "Ücret tablosu seçmek için bu kontrolü kullanın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3346
+msgid "Search For an Item"
+msgstr "Bir ögeyi ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3349
+msgid "only search for the given phrase in the usercode column"
+msgstr "Kullanıcı kodu satırında sadece verilen kelimeyi ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3350
+msgid "Search Usercodes"
+msgstr "Kullanıcı kodlarını ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3351
+msgid "search for the given phrase in description columns"
+msgstr "Tanımlama satırlarında verilen kelimeyi ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3352
+msgid "Search Descriptions"
+msgstr "Tanımlamaları ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3354
+msgid "Quickly expand all items"
+msgstr "Bütün ögeleri genişlet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3355
+msgid "Expand All Sections"
+msgstr "Bütün kısımları genişlet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3356
+msgid "Quickly compress all items"
+msgstr "Bütün ögeleri sıkıştır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3357
+msgid "Compress All Sections"
+msgstr "Bütün kısımları sıkıştır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3358
+msgid "NHS Regulation Document"
+msgstr "SGK düzenlemeleri belgesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3359
+msgid "Open A PDF of the latest NHS Regulations"
+msgstr "En son SGK düzenlemelerinin bir PDF'ini aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3360
+msgid "Open"
+msgstr "Aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3361
+msgid "Feescale Adjustment"
+msgstr "Ücret tablosu düzenlemesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3362
+msgid ""
+"If checked, then the user can modify the underlying fees and fee items."
+msgstr ""
+"Eğer işaretlenmiş ise, kullanıcı alttaki ücretleri ve ücret ögelerinde "
+"değişiklikler yapabilir."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3363
+msgid "Allow Adjust FeeScales"
+msgstr "Ücret tablolarında değişiklik yapmaya izin ver"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3364
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:34
+msgid "Commit Changes"
+msgstr "Değişiklikleri Yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3365
+msgid "show table xml"
+msgstr "xml tablosunu göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3366
+msgid "Feesscale Tester"
+msgstr "Ücret tablosu sınayıcısı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3367
+msgid "Feescales"
+msgstr "Ücret tabloları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3369
+msgid "Reply"
+msgstr "Yanıtla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3370
+msgid "Alt+R"
+msgstr "Alt+R"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3371
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:306
+msgid "Delete"
+msgstr "Sil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3372
+msgid "Del, Backspace"
+msgstr "Sil, Geri al"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3373
+msgid "&set parent"
+msgstr "& ana olarak ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3374
+msgid "Alt+S"
+msgstr "Alt+S"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3375
+msgid "New Topic"
+msgstr "Yeni Konu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3376
+msgid "Search by keyword"
+msgstr "Anahtar kelime ile ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3380
+msgid "Show Topics for"
+msgstr "için Başlıkları göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3383
+msgid "Include Deleted Posts"
+msgstr "Silinmiş gönderileri dahil et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3384
+msgid "Split Replies"
+msgstr "Cevapları böl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3385
+msgid "Group replies"
+msgstr "Grup cevapları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3386
+msgid "&Collapse Replies"
+msgstr "& cevapları küçült"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3387
+msgid "&Expand Replies"
+msgstr "& cevapları genişlet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3388
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1918
+msgid "FORUM"
+msgstr "FORUM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3389
+msgid "Wiki"
+msgstr "Wiki"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3390
+msgid "&File"
+msgstr "&Dosya"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3391
+msgid "&Help"
+msgstr "&Yardım"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3392
+msgid "&Preferences"
+msgstr "&Tercihler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3393
+msgid "View"
+msgstr "Görünüm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3394
+msgid "Appointments"
+msgstr "Randevular"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3395
+msgid "Tools"
+msgstr "Araçlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3396
+msgid "&Export Patient to disk"
+msgstr "&Hastayı diske dışa aktar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3397
+msgid "&Import Patient from disk"
+msgstr "&Diskten Hastayı içe aktar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3398
+msgid "About &OpenMolar"
+msgstr "&OpenMolar hakkında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3399
+msgid "&About QT"
+msgstr "&QT Hakkında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3401
+msgid "Appointment Font Size"
+msgstr "Randevu Yazı Boyutu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3402
+msgid "Table View For Charting"
+msgstr "Grafikleme için tablo görünümü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3403
+msgid "Clear Today's Emergency Slots"
+msgstr "Bugünün acil slotlarını temizle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3404
+msgid "Test Print an NHS Form"
+msgstr "NHS formu test yazdırması"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3405
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3420
+msgid "options"
+msgstr "seçenekler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3406
+msgid "log queries in underlying terminal"
+msgstr "alttaki uçbirimde soruları giriniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3407
+msgid "Set Clinician"
+msgstr "Klinisyen ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3409
+msgid "Choose Database"
+msgstr "Veritabanı Seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3410
+msgid "FeeScale Adjuster"
+msgstr "Ücrettablosu düzenleyici"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3411
+msgid "Select && Print Daylists"
+msgstr "Gün listelerini Seç && Yazdır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3412
+msgid "Change Language"
+msgstr "Dil Ayarını Değiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3413
+msgid "Full Screen Mode (Ctrl-Alt-F)"
+msgstr "Tam Ekran Kipi (Ctrl-Alt-F)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3414
+msgid "Ctrl+Alt+F"
+msgstr "Ctrl+Alt+F"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3415
+msgid "Create/Modify database"
+msgstr "Veritabanı oluştur/değişklik yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3416
+msgid "Advanced Record Management"
+msgstr "İleri seviye Kayıt idaresi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3417
+msgid "Show Geek Column"
+msgstr "İnek Sütununu göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3418
+msgid "test"
+msgstr "sınama"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3419
+msgid "t"
+msgstr "t"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3421
+msgid "Font Size"
+msgstr "Yazıtipi Boyutu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3422
+msgid "Forum - show advanced options"
+msgstr "Forum - ileri seviye seçenekleri göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_main.py:3423
+msgid "Set Assistant"
+msgstr "Yardımcı ayarla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:157
+msgid "Medical Notes"
+msgstr "Tıbbi notlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:158
+msgid "Doctor's details"
+msgstr "Doktor ayrıntıları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:159
+msgid "Doctor's Name"
+msgstr "Doktorun ismi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:160
+msgid "Address / Tel No"
+msgstr "Adres / Tel No"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:161
+msgid "Known Conditions"
+msgstr "Bilienen Durumlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:162
+msgid "Current Medication"
+msgstr "Şu anki İlaç tedavisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:163
+msgid "Past Medication"
+msgstr "Geçmiş İlaç tedavisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:164
+msgid "Allergies"
+msgstr "Alerjiler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:165
+msgid "Heart"
+msgstr "Kalp"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:166
+msgid "Lungs"
+msgstr "Akciğerler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:167
+msgid "Liver"
+msgstr "Karaciğer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:168
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Bleeding"
+msgstr "Kanama"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:169
+msgid "Kidneys"
+msgstr "Böbrekler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:170
+msgid "Anaesthetic / operations"
+msgstr "Anestezik / operasyonlar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:172
+msgid "Mark as Checked Today"
+msgstr "Bugün kontrol edildi olarak işaretle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:173
+msgid "Checked"
+msgstr "Kontrol edildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py:174
+msgid "Mark Patient as Med Alert"
+msgstr "Tıbbi olarak sıkıntılı hasta olarak işaretle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:105
+msgid "New CPITN score"
+msgstr "Yeni CPITN skoru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:106
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:112
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:136
+msgid "0"
+msgstr "0"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:114
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:120
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:132
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:138
+msgid "2"
+msgstr "2"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:109
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:121
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:139
+msgid "3"
+msgstr "3"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:110
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:122
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:140
+msgid "4"
+msgstr "4"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:111
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:123
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:135
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py:141
+msgid "*"
+msgstr "*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:63
+msgid "New Course"
+msgstr "Yeni Süreç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:64
+msgid "Start a new Course of Treatment with the following Criteria?"
+msgstr "Şu kriter ile yeni bir tedavi süreci başlat?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:65
+msgid "Contracted Dentist"
+msgstr "Kontratlı Diş doktoru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py:68
+msgid "Acceptance Date"
+msgstr "Kabul ediliş tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:289
+msgid "OpenMolar - First Run"
+msgstr "OpenMolar - İlk çalıştırma"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:291
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">This first run application "
+"will </p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">set your system password</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">make this client aware of "
+"your mysql server settings</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">install a small (4 "
+"patient) demo database if required.</li></ul></body></html>"
+msgstr ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Uygulamanın ilk defa "
+"çalıştırılması</p>\n"
+"<ul style=\"-qt-list-indent: 1;\"><li style=\" margin-top:12px; margin-"
+"bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\">sizin sistem şifrenizi ayarlayacaktır</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">bu istemciyi kendi mysql "
+"sunucu ayarlanızdan haber ediniz</li>\n"
+"<li style=\" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">gerek duyulursa küçük bir "
+"demo veritabanı (4 hasta) yükleyiniz.</li></ul></body></html>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:300
+msgid ""
+"Please enter a password to prevent unauthorised running of this application."
+msgstr ""
+"Bu uygulamanın yetkisiz olarak çalıştırılmasına engel olmak için lütfen bir "
+"şifre giriniz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:314
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:338
+msgid "show"
+msgstr "göster"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:303
+msgid "Repeat Password"
+msgstr "Şifreyi tekrar et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:304
+msgid "Where is your mysql server located? **"
+msgstr "Mysql sunucunuz nerede bulunmaktadır? **"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:306
+msgid "Port"
+msgstr "Bağ. Nok."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:307
+msgid ""
+"** If you do not have a mysql server on your network, please quit this "
+"setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "
+msgstr ""
+"** Ağınızda bir mysql sunucusu bulunmuyor ise bu kurulumdan çıkınız ve mysql "
+"sunucusu yükleyiniz.\n"
+"\n"
+"Eğer debian ya da ubuntu kullanıcısı iseniz, \"sudo apt-get install mysql-"
+"server\"\n"
+"ve kurulum esnasında oluşturacağınız root şifresini not alınız. "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:311
+msgid "Database Details"
+msgstr "Veritabanı ayrıntıları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:313
+msgid "(mysql)Password"
+msgstr "(mysql)Şifre"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:315
+msgid "Database Name"
+msgstr "Veritabanı Adı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:316
+msgid "Test this Connection"
+msgstr "Bu bağlantıyı sına"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:317
+msgid "Create A Demo Database"
+msgstr "Demo veritabanı oluştur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:318
+msgid "Use with an existing database"
+msgstr "mevcut bir veritabanı ile kullan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:319
+msgid ""
+"OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+msgstr ""
+"TAMAM.... artık başlamaya hazırsınız.\n"
+"\n"
+"OpenMoları çalıştırdıktan sonra kullanıcı giriş penceresi karşınıza "
+"çıkacaktır.\n"
+"\n"
+"Şifre = Başlangıçta oluşturduğunuz şifre\n"
+"User1 = Herhangi bir kayıtlı kullanıcı (demo veritabanı sadece tek "
+"kullanıcıya sahiptir \"user\"\n"
+"User2 = Herhangi bir kayıtlı kullanıcı (boş bırakılabilir)\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:327
+msgid "Launch OpenMolar Now"
+msgstr "OpenMoları şimdi başlat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:328
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Sans'; font-size:8pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">To create a database, and "
+"set the privileges for user, requires logging into mysql as the root mysql "
+"user.</p>\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">OpenMolar does NOT store "
+"this password.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\"><br />Please enter the "
+"password of the ROOT mysql user.</p>\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">(note - on most mysql "
+"setups, root access is disabled unless the server is on "
+"localhost)</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:337
+msgid "Root mysql password"
+msgstr "Root mysql şifresi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:339
+msgid "Creating Database.... please wait"
+msgstr "Veritabanı oluşturuluyor..... lütfen bekleyiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:340
+msgid "Back"
+msgstr "Geri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py:341
+msgid "Proceed"
+msgstr "Devam et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:46
+msgid "NHS Form Printer Settings"
+msgstr "SGK Form yazıcı ayarları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:47
+msgid "Left Margin Width"
+msgstr "Sol kenar boşluğu genişliği"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_options.py:48
+msgid "Top Margin Width"
+msgstr "Üst kenar boşluğu genişliği"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:168
+msgid "1st referral"
+msgstr "1inci yönlendirme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:169
+msgid "re - referral"
+msgstr "tekrar yönlendirme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:170
+msgid "Previous Referral Date"
+msgstr "daha önceki yönlendirme tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:171
+msgid "I am Willing to carry out simple treatment"
+msgstr "Basit tedavi işlemlerii ile devam etmeye gönüllüyüm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:172
+msgid "Reason for Referral"
+msgstr "Yönlendirme sebebi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:173
+msgid "Crowding"
+msgstr "Çapraşıklık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:174
+msgid "Spaced"
+msgstr "Boşluklu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:176
+msgid "Mild"
+msgstr "hafif"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:177
+msgid "Moderate"
+msgstr "Orta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:178
+msgid "Severe"
+msgstr "Şiddetli"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:179
+msgid "Incisal Relationship"
+msgstr "Keser ilişkisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:180
+msgid "Overjet:"
+msgstr "Overjet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:181
+msgid "mm"
+msgstr "mm"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:182
+msgid "Overbite"
+msgstr "Overbite"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:183
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:288
+msgid "Complete"
+msgstr "Tamamlanmış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:184
+msgid "InComplete"
+msgstr "Tamamlanmamış"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:185
+msgid "Traumatic"
+msgstr "Travmatik"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:186
+msgid "%"
+msgstr "%"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:187
+msgid "Relevant Medical History"
+msgstr "İlişkili tıbbi hikayesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:188
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Droid Serif'; font-size:7pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; "
+"margin-left:0px; margin-right:0px; -qt-block-indent:0; text-"
+"indent:0px;\"></p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:193
+msgid "Dental History"
+msgstr "Dişsel geçmiş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:194
+msgid "Teeth With Poor Prognosis"
+msgstr "Kötü seyir edeceği tahmin edilen dişler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:195
+msgid "Patient Motivation"
+msgstr "Hasta motivasyonu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:196
+msgid "Removable Applicance"
+msgstr "Hareketli uygulamalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py:197
+msgid "Fixed Appliance"
+msgstr "Sabit uygulamalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:129
+msgid "Patient Finder"
+msgstr "Hasta bulucu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:130
+msgid ""
+"Fill in a few of the following fields to get a list of possible patients"
+msgstr ""
+"Muhtemel hastaların bir listesini edinmek için aşağıdaki alanlardan "
+"birkaçını dolurunuz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:131
+msgid "Repeat Last Search"
+msgstr "Son yapılan aramayı tekrar et"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:132
+msgid "SNO or Surname"
+msgstr "SNO ya da Soyisim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:133
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."
+msgstr ""
+"İsmin tamamını ya da ilk birkaç harfini giriniz.\n"
+"\n"
+"Eğer tam olarak nasıl hecelendiğinden emin değilseniz ismin tamamını "
+"yazınız\n"
+" ve yakınındaki \"benzer olanlar\" kutucuğunu işaretleyiniz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:145
+msgid "check to search for a similar sounding name"
+msgstr "benzer şekidle duyulan isimleri aramak için işaretleyiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:139
+msgid ""
+"Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"
+msgstr ""
+"Eİsmin tamamını ya da ilk birkaç harfini giriniz.\n"
+"\n"
+"Eğer tam olarak nasıl hecelendiğinden emin değilseniz ismin tamamını yazınız "
+"\n"
+"ve yakınındaki \"benzer olanlar\" kutucuğunu işaretleyiniz. \n"
+"Göbek adlarına dikkat ediniz.\n"
+"örn. \"Devrim\" ismi \"Devrim Ata\" ile benzer olarak duyulmamaktadır!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:147
+msgid "Address includes"
+msgstr "Adres şunu içerir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:148
+msgid "openMolar will search line1 and line2 of the address for this text"
+msgstr "Bu metin için openMolar satır 1 ve satır 2'yi arayacaktır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:150
+msgid ""
+"open molar will search tel1, tel2 and mobile for numbers present here."
+msgstr ""
+"Buradaki mevcut numaraları open molar tel1, tel2 ve cep satırlarında "
+"arayacaktır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py:152
+msgid "search for a postcode"
+msgstr "postakodu için arama yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:171
+msgid "Payments"
+msgstr "Ödemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:172
+msgid "Payments for treatment"
+msgstr "Tedaviler için ödemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:173
+msgid "Cash"
+msgstr "Nakit"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:176
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:180
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:139
+msgid "-"
+msgstr "-"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:175
+msgid "Cheque"
+msgstr "Çek"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:177
+msgid "Debit Card"
+msgstr "Para kart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:179
+msgid "Credit Card"
+msgstr "Kredi Kartı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:181
+msgid "Other Payments"
+msgstr "Diğer ödemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:182
+msgid "Sundries"
+msgstr "ilaveler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:183
+msgid "Annual HDP"
+msgstr "Yıllık HDP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:184
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:567
+msgid "Miscellaneous"
+msgstr "Muhtelif"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_payments.py:185
+msgid "Amount which will appear on receipt (read only)"
+msgstr "Fatura üzerinde gözükecek olan tutar (salt okunur)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:40
+msgid "Raise Permissions"
+msgstr "Artış izinleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py:41
+msgid ""
+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style "
+"type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:10pt; font-"
+"weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
+"right:0px; -qt-block-indent:0; text-indent:0px;\">Supervisor Rights required "
+"to Perform This Action.<br />Please enter password.</p></body></html>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:84
+msgid ""
+"This does nothing at the moment - the idea is you leave a task for someone "
+"about this patient."
+msgstr ""
+"Şu an için herhangi bir işlem yapmaz - asıl fikir bu hasta hakkında birileri "
+"için bir görev notu bırakmanızdır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:85
+msgid "Task assigned to"
+msgstr "Görev şu kisiye atandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:86
+msgid "Neil"
+msgstr "Devrim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:87
+msgid "Bea"
+msgstr "Onur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:88
+msgid "Helen"
+msgstr "Hande"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:89
+msgid "Andy"
+msgstr "Anıl"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:90
+msgid "Frances"
+msgstr "Firdevs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:91
+msgid "etc...."
+msgstr "vb..."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:92
+msgid "Write Today's notes"
+msgstr "Günün notlarını yaz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:93
+msgid "Contact this patient"
+msgstr "Bu hasta ile temas kur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:94
+msgid "Decision needed"
+msgstr "Karar verilmesi gereklidir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:96
+msgid "Urgent"
+msgstr "Acil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:97
+msgid "ASAP"
+msgstr "En kısa zamanda"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:98
+msgid "Routine"
+msgstr "Rutin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:99
+msgid "By deadline"
+msgstr "Son gün itibari ile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_pt_task.py:100
+msgid "Note"
+msgstr "Not"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:51
+msgid "Print Formatting"
+msgstr "Yazıdırma biçmlendirmesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:52
+msgid "Minimal"
+msgstr "En Az"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py:53
+msgid "Full Page"
+msgstr "Tam Sayfa"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:54
+msgid "Raise A Charge"
+msgstr "Ödemeye zam yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:55
+msgid "Raise A charge for today's treatment"
+msgstr "Bugünki tedaviye zam yap"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:56
+msgid "Description (eg \"CE\" or \"MOD\" or \"Bleach\"... )"
+msgstr "Tanım (örn \"CE\" ya da \"MOD\" ya da \"Beyazlatma\"... )"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:58
+msgid "£"
+msgstr "£"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_raiseCharge.py:59
+msgid "Repeat as many times as necessary - amounts will accumulate"
+msgstr "Gerekli olduğu kadar tekrar et - miktarlar birikecektir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:507
+msgid "Advanced Record Alteration"
+msgstr "İleri seviye Kayıt değişiklikleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:508
+msgid "NHS current fees (money0)"
+msgstr "SGK şuanki ücretler (para0)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:509
+msgid "NHS payments (money2)"
+msgstr "SGK ödemeleri (para2)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:510
+msgid "NHS estimated (money4)"
+msgstr "SGK tahminleri (para4)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:511
+msgid "private estimate (money5)"
+msgstr "özel tahminler (para5)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:512
+msgid "Exempt - nhs gross - completed treatment (money6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:513
+msgid "Exempt - NHS gross - estimated current (money7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:514
+msgid "credit (money8)"
+msgstr "kredi (para8)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:515
+msgid "debt (money9)"
+msgstr "borç (para9)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:516
+msgid "debt2 (money10)"
+msgstr "borç2 (para10)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:517
+msgid "money 11 (always 0!)"
+msgstr "para 11 (herzaman 0!)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:518
+msgid "private current fees (money1) "
+msgstr "şu anki özel ücretler (para1) "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:519
+msgid "private payments (money3)"
+msgstr "Özel Ödemeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:520
+msgid "ALL AMOUNTS ARE IN PENCE (cents)"
+msgstr "Bütün Ödemeler Kuruş bazında"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:521
+msgid "Outstanding <br />amount"
+msgstr "Ödenecek miktar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:522
+msgid "0.00"
+msgstr "0.00"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:523
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:525
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:541
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:553
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:566
+msgid "Apply Changes"
+msgstr "Değişiklikleri Uygula"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:524
+msgid "Money"
+msgstr "Para"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:526
+msgid "Last CE (pd5)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:527
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:529
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:531
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:533
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:535
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:537
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:539
+msgid "Add Date"
+msgstr "Tarih Ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:528
+msgid "Last ECE (pd6)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:530
+msgid "Last FCA (pd7)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:532
+msgid "Last OPT (pd8)"
+msgstr "Son Panaromik Rontgen"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:534
+msgid "Last intraoral Xrays (pd9)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:536
+msgid "Last SP (pd10)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:538
+msgid "Last Account sent (billdate)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:540
+msgid "Dates"
+msgstr "Tarihler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:542
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:554
+msgid "Xray"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:544
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:556
+msgid "anaesthetics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:548
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:560
+msgid "new upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:549
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:561
+msgid "new lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:550
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:562
+msgid "repair upper"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:551
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:563
+msgid "repair lower"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:552
+msgid "Treatment Plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:564
+msgid "Completed Treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py:565
+msgid "Hidden Notes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:59
+msgid "Related Patients"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:60
+msgid "This Patient"
+msgstr "Bu Hasta"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:61
+msgid "Known Family Members"
+msgstr "Bilinen aile"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_related_patients.py:62
+msgid "Address Matches"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:60
+msgid "Confirmation Required"
+msgstr "Onay Gerekiyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py:61
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:65
+msgid "What's Changed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:75
+msgid "Post a memo about this Patient"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:76
+msgid "Expiry Policy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:77
+msgid "Do Not Expire"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:78
+msgid "Expire on this date"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:79
+msgid "Viewable by"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:80
+msgid "All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:81
+msgid "Surgery Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:82
+msgid "Reception Machines"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py:83
+msgid "Author"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py:37
+msgid "Make a Selection"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py:50
+msgid "Delete this memo when I close this"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:149
+msgid "Enter an appointment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:150
+msgid "Appointment with"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:152
+msgid "5 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:153
+msgid "10 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:154
+msgid "15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:155
+msgid "20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:156
+msgid "30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:157
+msgid "40 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:158
+msgid "45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:159
+msgid "1 hour"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:160
+msgid "1 hour 15 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:161
+msgid "1 hour 20 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:162
+msgid "1 hour 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:163
+msgid "1 hour 45 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:164
+msgid "2 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:165
+msgid "2 hours 30 minutes"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:166
+msgid "3 hours"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:168
+msgid "Combined Appointment With Hygenist?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:169
+msgid "Reason 1"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:170
+msgid "Reason 3"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:171
+msgid "Reason 2"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:172
+msgid "Brief Note for Clinician (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py:173
+msgid "Schedule Appointment Now"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:137
+msgid "Summary"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:135
+msgid "Agenda"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:138
+msgid "Messages and Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:139
+msgid "My Calendar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py:140
+msgid "Holiday Planner"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:131
+msgid "openMolar"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:132
+msgid "System Password"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:133
+msgid "User 1(required)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:134
+msgid "User 2 (optional)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:135
+msgid "Surgery Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:136
+msgid "Reception Machine"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py:138
+msgid "change"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:49
+msgid "Please set the Surgery Number"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:50
+msgid "Surgery One"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:51
+msgid "Surgery Two"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py:52
+msgid "Surgery Three"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:51
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:51
+msgid "Neil's Tasks"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:52
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:52
+msgid "Edit Selected Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_taskWidget.py:53
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_task_widget.py:53
+msgid "Add a New Task"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:124
+msgid "ToothId"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Pocketing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Plaque"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:128
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:318
+msgid "Recession"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Furcation"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:319
+msgid "Suppuration"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:131
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:320
+msgid "Mobility"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:133
+msgid "Copy &All"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:134
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:136
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:226
+msgid "delete tooth data"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:135
+msgid "Cp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:243
+msgid "Apply and move Back a tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:138
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:246
+msgid "Apply & Move to Next Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:140
+msgid "I"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:141
+msgid "II"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py:142
+msgid "III"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:227
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:309
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:352
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:374
+msgid "ADD COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:228
+msgid "!KUO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:229
+msgid "!Mobile Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:230
+msgid "!Early Caries"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:231
+msgid "!Filling Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:232
+msgid "!Chipped"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:233
+msgid "!Cracked"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:234
+msgid "!Poor Prognosis"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:235
+msgid "!Extract Soon"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:236
+msgid "!Implant required"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:237
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:376
+msgid "DELETE COMMENTS"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:238
+msgid "AM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:239
+msgid "CO"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:240
+msgid "GL"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:241
+msgid "Po"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:244
+msgid "Apply & Add Another Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:245
+msgid "&&"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:247
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:255
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:263
+msgid "Toggle between static and plan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:249
+msgid "toggle between deciduous and permanent tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:250
+msgid "Dec"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:251
+msgid "denture tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:252
+msgid "AT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:253
+msgid "tooth missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:254
+msgid "TM"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:257
+msgid "extract (plan only!)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:258
+msgid "Ex"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:259
+msgid "root treatment"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:260
+msgid "RT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:261
+msgid "porcelain veneer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:262
+msgid "Cr"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py:264
+msgid "Comp"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:57
+msgid "Tooth Property Editor"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:58
+msgid "UR8"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:59
+msgid "Items"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py:60
+msgid "Database Line"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/contract_gui_module.py:98
+msgid "erroneous exemption category entered"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:88
+msgid "Out Of Office"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "Made"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:519
+msgid "at"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:523
+msgid "Made on"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Bad Time Sequence!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/appointmentwidget.py:594
+msgid "Whoops!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:121
+msgid "Public Holidays"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:122
+msgid "Enter the information for "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:428
+msgid "DATE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:685
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:692
+msgid "Edit day memos"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:686
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/calendars.py:694
+msgid "Edit Public Holiday information"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:278
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:318
+msgid "Toggle Deciduous State"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:284
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:59
+msgid "Complete Treatments"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:294
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:321
+msgid "Change Crown Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:298
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:328
+msgid "Change Material of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:302
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:335
+msgid "Delete All Restorations"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:310
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:346
+msgid "Show History"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:339
+msgid "Delete "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:482
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:266
+msgid "Left"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/chartwidget.py:485
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py:269
+msgid "Right"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/notification_widget.py:34
+msgid "close"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/staff_diaries.py:51
+msgid "Diary for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:19
+msgid "Fissure Sealants"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:20
+msgid "Fissure Sealant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:21
+msgid "Fissure Sealant/Composite"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:25
+msgid "Crowns"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:26
+msgid "Porcelain Bonded Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:27
+msgid "Gold Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:28
+msgid "Lava Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:29
+msgid "Porcelain Jacket Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:30
+msgid "Temporary Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:31
+msgid "Resin Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:32
+msgid "Other Crown"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:36
+msgid "Bridge Retainers"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:39
+msgid "Lava Retainer"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:41
+msgid "Adhesive Wing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:45
+msgid "Bridge Pontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:46
+msgid "Bonded_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:47
+msgid "Gold_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:48
+msgid "Lava_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:49
+msgid "Other_"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:53
+msgid "Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:54
+msgid "Pulp Extirpation - 1 canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:55
+msgid "Pulp Extirpation - multiple canals"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:56
+msgid "Root Canal"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:57
+msgid "Incomplete Endodontics"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:61
+msgid "Surgical"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:62
+msgid "Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:63
+msgid "Surgical Extraction"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:64
+msgid "Apicectomy"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:68
+msgid "Static Only"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:69
+msgid "Tooth Missing"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:70
+msgid "Denture Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:71
+msgid "Root Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:72
+msgid "Permanent Tooth Present"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:73
+msgid "Partially Erupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/customwidgets/toothProps.py:74
+msgid "Unerupted Tooth"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/addTreat.py:60
+msgid "What treatment has been performed?"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:127
+msgid "Clinician Times"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/alterAday.py:147
+msgid "values from"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:17
+msgid "Select an Assitant"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:26
+msgid "NONE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/block_wizard.py:93
+msgid "applying changes for"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:40
+msgid "No patient chosen!"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:91
+msgid "Start is outwith slot bounds (too early)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:94
+msgid "Start is outwith slot bounds (too late)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:97
+msgid "Finish is outwith slot bounds (too late"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:100
+msgid "Finish is outwith slot bounds (too early"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:102
+msgid "length of appointment is too short"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:105
+msgid "no reason for the block given"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2164
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:90
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:118
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:188
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:207
+msgid "no patient selected"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:114
+msgid "Unable to commit because"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:187
+msgid "error"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:159
+msgid "no match found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:172
+msgid "patient not found"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:182
+msgid "Chosen Patient is"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/blockslot.py:184
+msgid "no patient chosen"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:17
+msgid "Select a Clinician"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py:68
+msgid "Set assistant as"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/hygTreatWizard.py:52
+msgid "Please enter a dentist / hygenist"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:37
+msgid "Please set a Valid Course Type"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/newCourse.py:54
+msgid "Some fields are missing, please check"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:41
+msgid "Shade"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/phrasebook_dialog.py:46
+msgid "Phrase Book"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:28
+msgid "You have unsaved changes to the record of"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py:68
+msgid "Hide"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:28
+msgid "English (United Kingdom)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:29
+msgid "English (Australia)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:30
+msgid "Afrikaans"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:31
+msgid "Danish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:32
+msgid "French"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:33
+msgid "German"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:34
+msgid "Hungarian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:35
+msgid "Indonesian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:36
+msgid "Italian"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:37
+msgid "Occitan"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:38
+msgid "Polish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:40
+msgid "Slovak"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:41
+msgid "Spanish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:42
+msgid "Turkish"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/select_language.py:88
+msgid "no translation file found for %s"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:33
+msgid "Planned"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:48
+msgid "Item"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:76
+msgid "click to edit Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:88
+msgid "click to delete item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py:97
+msgid "click to promote Item - "
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:332
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:351
+msgid "question"
+msgstr "soru"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:87
+msgid "Were these xrays taken today?"
+msgstr "Bu radyografiler bugün mü alındı?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:333
+msgid "<p>Credit Patient %s for undoing this item?</p>"
+msgstr "<p>%s hastayı bu öğeyi geri döndürmek için kredilendir?</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:341
+msgid "couldn't pass on delete message - "
+msgstr "sil mesajını geçemiyoruz - "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:342
+msgid "badly formed est.type??? %s"
+msgstr "kötü biçimlendirilmiş thmn.tipi??? %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/add_tx_to_plan.py:352
+msgid "remove %s %s from the estimate?"
+msgstr "tahminden %s %s 'i kaldır?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/cashbook_module.py:21
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/daybook_module.py:107
+msgid "bad date sequence"
+msgstr "hatalı tarih sırası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:32
+msgid "Please save the old course changes before continuing"
+msgstr "Lütfen devam etmeden önce eski süreçleri kaydediniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:35
+msgid ""
+"<p>unable to plan or perform treatment if pt \n"
+"does not have an active course</p>"
+msgstr ""
+"<p>eğer hasta aktif bir süreçte değilse \n"
+"tedavi planlama ya da gerçekleştirmek mümkün değildir</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:85
+msgid "Sucessfully started new course of treatment"
+msgstr "Yeni tedavi süreci başarılı bir şekilde başlatıldı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/course_module.py:97
+msgid "ERROR STARTING NEW COURSE, sorry"
+msgstr "YENİ SÜREÇ BAŞLATILMASINDA HATA, özür dileriz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:177
+msgid "Bad XML"
+msgstr "Hatalı XML"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:189
+msgid "OK"
+msgstr "TAMAM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:190
+msgid "all tests passed"
+msgstr "bütün testler geçildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:209
+msgid "regex error"
+msgstr "regex hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:240
+msgid "Fee item"
+msgstr "Ücretli öge"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:293
+msgid "Apply changes?"
+msgstr "Değişiklikler uygulansın mı?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:300
+msgid "You have altered a usercode."
+msgstr "Bir kullanıcı kodunda değişiklik yaptınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/edit_feeitem_dialog.py:301
+msgid "Do you want to apply this change to selected other fee tables?"
+msgstr ""
+"Bu değişikliği seçili diğer ücret tablolarına uygulamak ister misiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:34
+msgid ""
+"<p>You already have a completed exam on this \n"
+"course of treatment</p>Unable to perform exam"
+msgstr ""
+"<p>Bu tedavi sürecinde tamamlanmış bir muayeneniz \n"
+"halihazırda bulunmaktadır</p>Muayene gerçekleştirilemez"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:59
+msgid ""
+"<p>%s is now both the registered and \n"
+"course dentist.<br />Is this correct?<br />\n"
+"<i>confirming this will remove reference to %s</i></p>"
+msgstr ""
+"<p>%s aynı zamanda hem kayıtlı hem de \n"
+"hastaya bakan diş doktoru.<br />Bu doğru mu?<br />\n"
+"<i>bunu onaylamak %s 'e olan referansı kaldıracak</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:78
+msgid ""
+"<<br /><i>confirming this will change the \n"
+"course dentist, but not the registered dentist</i>"
+msgstr ""
+"<<br /><i>bunun hastaya baan diş doktorunu değiştireceğini\n"
+"ancak kayıtlı diş doktorunu değiştirmeyeceğini onaylayın</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:81
+msgid "<i>consider making %s the registered dentist</i>"
+msgstr "<i>%s 'i kayıtlı diş doktoru yapmayı değerlendirin</i>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:108
+msgid "%s examination performed by %s\n"
+msgstr "%s muayene şu doktor tarafından yapıldı: %s\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:125
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:53
+msgid "different (outdated?) fee found in estimate - please check"
+msgstr ""
+"tahminde farklı (eski tarihli?) ücret bulundu - lütfen kontrol ediniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/examdialog.py:147
+msgid "Examination not applied"
+msgstr "Muayene uygulanmadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:36
+msgid "check parseable"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:40
+msgid "Find Again"
+msgstr "Tekrar Bul"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:42
+msgid "Document Statistics"
+msgstr "Belge istatistikleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:69
+msgid "Statistics"
+msgstr "İstatistikler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:77
+msgid "Information"
+msgstr "Bilgi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:89
+msgid "Sucess!"
+msgstr "Başarılı!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:90
+msgid "Database updated"
+msgstr "Veritabanı güncellendi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:116
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:119
+msgid "result"
+msgstr "sonuç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:117
+msgid "data parses ok with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:120
+msgid "PARSING DATA FAILED with xml.minidom"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+msgid "Enter Phrase to Search for"
+msgstr "'ı aramak için ifade girin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:127
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:139
+msgid "Search"
+msgstr "Ara"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:140
+msgid "Phrase not Found"
+msgstr "İfade bulunamadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_editor.py:159
+msgid "Fee Table Editor"
+msgstr "Ücret Tablosu Düzenleyicisi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:151
+msgid "Usercode"
+msgstr "Kullanıcı kodu"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fee_table_model.py:157
+msgid "brief description"
+msgstr "Kısa tanım"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:218
+msgid "The following tables were altered"
+msgstr "Şu tablolar değiştirildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:224
+msgid "No changes apllied"
+msgstr "Herhangi bir değişiklik yapılmadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:234
+msgid "Make Selection"
+msgstr "Seçim yapınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:235
+msgid "Choose other tables to alter"
+msgstr "Değiştirmek için diğer tabloları seçiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:239
+msgid "Select All"
+msgstr "Tümünü Seç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:307
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:322
+msgid "Adjust / edit this Item"
+msgstr "bu ögeyi düzelt / düzenle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:309
+msgid "Add to tx plan"
+msgstr "Tx planına ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:317
+msgid "Add to tx plan of patient"
+msgstr "hastanın tx planına ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:323
+msgid "Delete Item"
+msgstr "Ögeyi sil"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:324
+msgid "Insert New Item"
+msgstr "Yeni öge gir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:361
+msgid "Items containing"
+msgstr "Şunu içeren ögeler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:367
+msgid "phrase not found in feetable"
+msgstr "ifade ücret tablosunda bulunamadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:369
+msgid "usercodes or descriptions"
+msgstr "kullanıcı kodları ya da tanımlamalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:371
+msgid "usercodes"
+msgstr "kullanıcı kodları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:373
+msgid "descriptions"
+msgstr "tanımlamalar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:377
+msgid "nothing to search"
+msgstr "aranacak birşey yok"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:378
+msgid "please select usercodes and/or descriptions then search again"
+msgstr ""
+"lütfen kullanıcı kodlarını ve/veya tanımlarını seçin sonra yeniden arama "
+"yapın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:408
+msgid "Error opening PDF file"
+msgstr "PDF dosyasının açılmasında hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:418
+msgid "IN CURRENT USE"
+msgstr "ŞU AN KULLANIMDA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/fees_module.py:431
+msgid "fee table error"
+msgstr "ücret tablosu hatası"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:42
+msgid "Remove"
+msgstr "Kaldır"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/manipulate_tx_plan.py:43
+msgid "From the Treatment Plan"
+msgstr "Tedavi Planından"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/fees/perio_tx_dialog.py:77
+msgid "performed by"
+msgstr "tarafından gerçekleştirildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:182
+msgid "Delete %d Posts?"
+msgstr "%d gönderileri sil?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:194
+msgid "Delete selected Post?"
+msgstr "Seçili Gönderiyi sil?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:238
+msgid "Parenting Cancelled"
+msgstr "Parenting iptal edildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/forum_gui_module.py:243
+msgid "Click on the Parent Item"
+msgstr "Ana Öge üzerine tıklayınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:176
+msgid "advisory"
+msgstr "öneri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:218
+msgid "Decision Required"
+msgstr "Karar verilmesi gerekmektedir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:219
+msgid "you have unsaved changes to your feetables"
+msgstr "ücret tablolarınıza kaydedilmemiş değişiklikler var"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:220
+msgid "commit now?"
+msgstr "şimdi yap?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:505
+msgid "changed clinician to"
+msgstr "klinisyen değiştirildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:512
+msgid "changed assistant to"
+msgstr "yardımcı değiştirildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:704
+msgid "Switching off appointment mode"
+msgstr "Randevu modu kapatılıyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1087
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1104
+msgid "is no longer an active dentist in this practice"
+msgstr "bu muayenehanede artık aktif olarak çalışmayan bir diş doktorudur"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1091
+msgid "unknown contract dentist - please correct this"
+msgstr "bilinmeyen diş doktoru - lüften bu durumu düzeltin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1109
+msgid "unknown course dentist - please correct this"
+msgstr "bilinmeyen tedavi hekimi - lütfen bu durumu düzeltin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1154
+msgid "SAVE NEW PATIENT"
+msgstr "YENİ HASTAYI KAYDET"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1166
+msgid "SAVE CHANGES"
+msgstr "DEĞİŞİKLİKLERİ KAYDET"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1200
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1209
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1270
+msgid "Re-open"
+msgstr "Yeniden aç"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1201
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1210
+msgid "Do you want to review and/or reprint this item?"
+msgstr ""
+"Bu ögenin gözden geçirilmesi ve/veya yeniden basılmasını ister misiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1223
+msgid "error reviewing PDF file"
+msgstr "PDF dosyasının değerlendirilmesinde hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1228
+msgid "No information available about this document, sorry"
+msgstr "Bu belge hakkında herhangi bir bilgi bulunmamakta, özür dileriz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1237
+msgid "Date imported"
+msgstr "Aktarılma tarihi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1238
+msgid "Size"
+msgstr "Boyut"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1255
+msgid "opening"
+msgstr "açılıyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1259
+msgid "error importing file"
+msgstr "dosyaların içeri aktarımında hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1261
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1963
+msgid "no file chosen"
+msgstr "herhangi bir dosya seçilmemiş"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1271
+msgid "Do you want to open a copy of this document?"
+msgstr "Bu belgenin bir kopyasını açmak ister misiniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1286
+msgid "error opening document"
+msgstr "belge açılmasında hata"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1297
+msgid "Today's Patients"
+msgstr "Günün hastaları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1300
+msgid "Today's Patients (ALL)"
+msgstr "Günün hastaları (TAMAMI)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1417
+msgid "Reached end of the List"
+msgstr "listenin sonuna gelindi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1432
+msgid "Reached Start of the List"
+msgstr "Listenin başlangıcına ulaşıldı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1507
+msgid ""
+"Error populating interface\n"
+"%s"
+msgstr ""
+"arayüzün doldurulmasında hata\n"
+"%s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1511
+msgid "error getting serialno"
+msgstr "hata seri numarasının bulunmasında hata var"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1512
+msgid "please check this number is correct?"
+msgstr "lütfen bu numaranın doğruluğunu kontrol ediniz?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1630
+msgid ""
+"<center>Message from %s <br />\n"
+"Dated %s<br /><br />%s</center>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1643
+msgid "problem getting a memo %s"
+msgstr "%s notunun elde edilmesinde hata var"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1822
+msgid "NO CLINICIAN SET"
+msgstr "HERHANGİ BİR KLİNİSYEN AYARLANMADI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1823
+msgid "you are in surgery mode without a clinician"
+msgstr "klinisyen olmaksızın cerrahi kipinde bulunmaktasınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1827
+msgid "CLINICIAN"
+msgstr "KLİNİSYEN"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1831
+msgid "team"
+msgstr "takım"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1832
+msgid "using"
+msgstr "kullanarak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1833
+msgid "mode"
+msgstr "kip"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Miss"
+msgstr "Miss"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mr"
+msgstr "Bay"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Mrs"
+msgstr "Bayan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1846
+msgid "Ms"
+msgstr "Bayan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Dr"
+msgstr "Dr"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Master"
+msgstr "Master"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1847
+msgid "Professor"
+msgstr "Profesör"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1912
+msgid "NEW FORUM POSTS"
+msgstr "YENİ FORUM POSTASI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1947
+msgid "Not loading patient"
+msgstr "Hastayı yükleyemiyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:1951
+msgid "opening patient file"
+msgstr "hasta dosyasını açıyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2129
+msgid "POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS"
+msgstr "PT KAYITLARI İLE POTANSİYEL OLAN CİDDİ BİR KARIŞIKLIK SORUNU"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2189
+msgid "Sucessfully altered the following items"
+msgstr "Şu değerler başarılı bir şekilde değiştirildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2423
+msgid "no record selected"
+msgstr "herhangi bir kayıt seçilmedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2469
+msgid "FontSize"
+msgstr "Font büyüklüğü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2470
+msgid "Enter your preferred font size for appointment book"
+msgstr "Randevu defteri için tercih ettiğiniz font büyüklüğünü giriniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:2782
+msgid "error commiting changes"
+msgstr "Hata değişikler işleniyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4070
+msgid "Scrap the estimate and re-price everything?"
+msgstr "Tahmini değeri sil ve herşeyi yeniden ücretlendir?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4086
+msgid "apply an exemption to this estimate?"
+msgstr "Bu tahmin için bir istisna yapılsın mı?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4091
+msgid "input needed"
+msgstr "girdi gereklidir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "maximum charge for the patient"
+msgstr "hasta için maksimum ücret"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/maingui.py:4092
+msgid "please enter the amount in pence, or leave as 0 for full exemption"
+msgstr ""
+"lütfen miktarı kuruş olarak giriniz, ya da ihmal için 0 olarak bırakınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:49
+msgid ""
+"<div align=\"center\">\n"
+"<h3>Enter New Patient</h3>Please enter at least the required fields,\n"
+"then use the Save Changes button to commit this patient to the database.\n"
+"</div>"
+msgstr ""
+"<div align=\"center\">\n"
+"<h3>Yeni Hasta Girin</h3>Lütfen en azından gerekli alanları doldurunuz,\n"
+"sonra Değişiklikleri Kaydet tuşuna basarak bu hastayı veritabanına geçirin.\n"
+"</div>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:80
+msgid "Error saving new patient, sorry!"
+msgstr "Hata yeni hastanı kaydedilmesinde hata, özür dileriz!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:83
+msgid ""
+"insufficient data to create a new record...\n"
+"please fill in all highlighted fields"
+msgstr ""
+"yeni bir kayıt oluşturmak için yetersiz veri...\n"
+"lütfen vurgulanan alanların hepsini doldurun"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:95
+msgid "Error saving patient"
+msgstr "Hata hasta kaydediliyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/new_patient_gui.py:132
+msgid "New Patient not saved. Abandon Changes?"
+msgstr "Yeni hasta kaydedilmedi. Değişiklerden vazgeç?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:91
+msgid "STATEMENT OF ACCOUNT - FINAL REMINDER"
+msgstr "HESAP BİLDİRİMİ - SON HATIRLATICI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:93
+msgid "We are concerned that despite previous correspondance,"
+msgstr "Önceki örtüşmeye rağmen endişeliyiz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:95
+msgid "your account still stands as follows: "
+msgstr "hesabınız halen şu şekilde bulunmaktadır: "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:97
+msgid "Please note that your account stands as follows:- "
+msgstr "Hesabınızın şu şekilde olduğunu lütfen not alınız:- "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:99
+msgid "Amount : %s"
+msgstr "Miktar %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:102
+msgid "This amount is now due in full. *"
+msgstr "Bu miktar şu an tamdır.*"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:106
+msgid "A previous account was sent out to you on %s"
+msgstr "geçmiş bir hesap %s üzerinde size gönderilmiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:108
+msgid ""
+"It would be appreciated if you would settle this matter as soon as possible."
+msgstr ""
+"Bu konuyu olabildiğince çabuk bir şekilde çözebilirseniz memnun oluruz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:110
+msgid "It would be appreciated if this account is settled within seven days."
+msgstr ""
+"Bu hesabın yedi gün içinde kapatılması memnuniyetler karşılanacaktır."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:112
+msgid "On this deadline, we will pass this debt to"
+msgstr "Bu vadede; bu borcu şuraya aktaracağız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:114
+msgid "Scott & Company Sheriff Officers for collection."
+msgstr "Tahsilat için muhasebe"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:117
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:29
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:35
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:70
+msgid "Yours sincerely,"
+msgstr "Saygılarımızla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:132
+msgid "* Cheques payable to: \"Academy Dental Practice\"\n"
+msgstr "Çek ödemeleri yapılabilir\n"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/accountPrint.py:133
+msgid "Or telephone us with your switch/visa/mastercard details."
+msgstr ""
+"Ya da bize switch/visa/mastercard ayrıntıları için telefonla ulaşınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:25
+msgid "Dear"
+msgstr "Saygıdeğer"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:26
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:63
+msgid "We are writing to inform you that your dental examination is now due."
+msgstr "Size diş muayene zamanınızın geldiğini bildirmek için yazmaktayız."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:27
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:65
+msgid "Please contact the surgery to arrange an appointment. *"
+msgstr ""
+"Lütfen uygun bir randevu ayarlamak üzere Randevu merkezimiz ile temasa geçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:28
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:34
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:67
+msgid "We look forward to seeing you in the near future."
+msgstr "Sizi yakın bir zamanda görmek için sabırsızlanıyoruz."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:31
+msgid "Dear Patients"
+msgstr "Saygıdeğer Hastalarımız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:32
+msgid ""
+"We are writing to inform you that your dental examinations are now due."
+msgstr "Size diş muayene zamanınızın geldiğini bildirmek için yazmaktayız."
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:33
+msgid "Please contact the surgery to arrange suitable appointments. *"
+msgstr "Lütfen uygun bir randevu ayarlamak üzere Cerrahi ile temasa geçin"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:39
+msgid ""
+"* If you already have a future appointment with us -\n"
+"please accept our apologies and ignore this letter."
+msgstr ""
+"eğer bizimle halihazırda ileri tarihli bir randevunuz varsa -\n"
+"lütfen özürlerimizi kabul ediniz ve bu mektubu yoksayınız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:198
+msgid "no data loaded"
+msgstr "herhangi bir veri yüklenmedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:230
+msgid "options set"
+msgstr "seçenekler ayarlandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:249
+msgid "Collapse All"
+msgstr "Tümünü Küçült"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/bulk_mail.py:301
+msgid "our ref"
+msgstr "bizim ref"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:65
+msgid "PDF is NONE - (tell devs this happened)"
+msgstr "PDF yok - (devs'e bunun meydana geldiğini bildirin)"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:73
+msgid "Error saving PDF copy %s"
+msgstr "Hata PDF kopyasını kaydediyor %s"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:81
+msgid "Professional Services"
+msgstr "Profesyonel Servisler"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:83
+msgid "duplicate receipt for %.02f"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:150
+msgid "Nothing to print - have you loaded the table?"
+msgstr "Yazdırılacak belge yok - tabloyu yüklediniz mi?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:154
+msgid ""
+"<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>\n"
+"<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>\n"
+"<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>\n"
+"<th>Amount</th></tr>"
+msgstr ""
+"<tr><th>Dent</th><th>SeriNo</th><th>Cset</th>\n"
+"<th>FAdı</th><th>Sadı</th><th>DOB</th><th>Not</th><th>Son Rndv</th>\n"
+"<th>Son fatura</th><th>Tip</th><th>Numara</th><th>Tamamlandı</th>\n"
+"<th>Miktar</th></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:179
+msgid "TOTAL"
+msgstr "TOPLAM"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:212
+msgid "Estimate for your current course of treatment."
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:232
+msgid ""
+"<tr><td></td><td><b>TOTAL</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+msgstr ""
+"<tr><td></td><td><b>TOPLAM</b></td>\n"
+"<td align=\"right\">%s</td></tr>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:236
+msgid ""
+"<p><i>Please note, this estimate may be subject\n"
+"to change if clinical circumstances dictate.</i></p>"
+msgstr ""
+"<p><i>Lütfen bu tahmini değerin klinik şartlar\n"
+"gerektirdiğinde değişebileceğini göz önünde bulundurunuz.</i></p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:360
+msgid "Previous Course (%s - %s)"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/om_printing.py:379
+msgid "Print an NHS form now?"
+msgstr "NHS formunu şimdi yazdır?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/printing/recallprint.py:60
+msgid "Dear %s %s,"
+msgstr "Sayın %s %s,"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:56
+msgid "OpenMolar"
+msgstr "OpenMolar"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:70
+msgid ""
+"<h3>Update required</h3>\n"
+"Your Openmolar database schema is out of date for this version of the "
+"client.\n"
+"<br /> \n"
+"Your database is at version %s, and %s is required.<br />\n"
+"Would you like to Upgrade Now?<br />\n"
+"WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:93
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:115
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:137
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:159
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:181
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:203
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:225
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:247
+msgid "upgrading to schema version"
+msgstr "Şema versiyonuna güncelleniyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:108
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:130
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:152
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:174
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:196
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:218
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:240
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:262
+msgid "Conversion to %s failed"
+msgstr "%s'ye dönüştürülme başarısız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:266
+msgid ""
+"<p>Sorry, we seem unable to update your schema at this point,\n"
+"Perhaps you have grabbed a development version of the program?</p>\n"
+"If so, please revert to a release version.<br />\n"
+"If this is not the case, something odd has happened,\n"
+"please let the developers of openmolar know ASAP.</p>"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:280
+msgid "Unexpected Error updating the schema"
+msgstr "Beklenmeyen Hata şema güncelleniyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:282
+msgid "Please File A bug by visiting "
+msgstr "Lütfen hata bildirimi yapınız "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/schema_updater.py:286
+msgid ""
+"<p>Sorry, you cannot run this version of the \n"
+"openmolar client without updating your database schema.</p>"
+msgstr ""
+"<p>Özür dileriz, openmolar istemcisinin bu\n"
+"versiyonunu veritabanı şemanızı güncellemeden kullanamazsınız.</p>"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:53
+msgid "Books Currently end on"
+msgstr "Kitaplar şu anda bitti"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:55
+msgid "extend the books now?"
+msgstr "kitapları şimdi uzat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:65
+msgid "How many months?"
+msgstr "Kaç ay?"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:85
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/apptTools.py:92
+msgid "not yet implemented"
+msgstr "henüz uygulanmadı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:72
+msgid "Please enter initials for this user"
+msgstr "Bu kullanıcı için lütfen ilk harfleri giriniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:74
+msgid "Please set a name for this user"
+msgstr "Bu kullanıcı için lütfen bir isim veriniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:156
+msgid "this action will overwrite any current data stored"
+msgstr "bu eylem saklanmış herhangi bir verinin üzerine yazacak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:157
+msgid "proceed?"
+msgstr "başla"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:168
+msgid "save template file"
+msgstr "kalıp dosyayı kaydet"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:169
+msgid "openmolar template files "
+msgstr "openmolar kalıp dosyaları "
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:176
+msgid "Template Saved"
+msgstr "Kalıp kaydedildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:178
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:200
+msgid "operation cancelled"
+msgstr "operasyon iptal edildi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:180
+msgid "Template not saved"
+msgstr "Kalıp yüklenmedi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:189
+msgid "load an existing template file"
+msgstr "var olan bir kalıp dosya yükle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:190
+msgid "openmolar template files"
+msgstr "openmolar kalıp dosyaları"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:195
+msgid "template loaded sucessfully"
+msgstr "kalıp başarılı bir şekilde yüklendi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:198
+msgid "error parsing template file"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:305
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:342
+msgid "Modify Now"
+msgstr "Hemen Değiştir"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:295
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:326
+msgid "Apply Now"
+msgstr "Hemen Uygula"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/new_setup.py:316
+msgid "Add New User"
+msgstr "Yeni Kullanıcı Ekle"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:85
+msgid "money changes applied"
+msgstr "mali değişiklikler uygulandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:168
+msgid "date changes applied"
+msgstr "tarih değişiklikleri uygulandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:233
+msgid "plan changes applied"
+msgstr "plan değişiklikleri uygulandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:280
+msgid "completed treatment changes applied"
+msgstr "tamamlanmış tedavi değişiklikleri uygulandı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/qt4gui/tools/recordtools.py:299
+msgid "updated hidden notes list"
+msgstr "güncellenmiş gizli notlar listesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:124
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:95
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:349
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:146
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:214
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:359
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:172
+msgid "updating stored schema version"
+msgstr "saklanan şema versiyonu güncelleniyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_1to1_2.py:126
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:97
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:351
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:148
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:216
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:361
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:174
+msgid "ALL DONE - sucessfully moved db to"
+msgstr "HEPSİ TAMAMLANDI - başarılı bir şekilde vt şuraya taşındı"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:86
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:331
+msgid "creating new tables"
+msgstr "yeni tablolar oluşturuluyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:88
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:344
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:141
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:209
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:354
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:167
+msgid "updating settings"
+msgstr "ayarlar güncelleniyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_2to1_3.py:101
+msgid "couldn't create tables, rolled back to"
+msgstr "tablolar oluşturulamıyor, şu sisteme geri dönüldü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:336
+msgid "copying data across from old feetable"
+msgstr "eski ücret tablosundan veri kopyalanıyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_3to1_4.py:356
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:153
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:221
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:366
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:179
+msgid "rolled back to"
+msgstr "şuna geri dönüldü"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:129
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:190
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:342
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:157
+msgid "executing statements"
+msgstr "çalıştırma ifadeleri"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_4to1_5.py:133
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:194
+msgid "transfering data"
+msgstr "veri transferi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_5to1_6.py:201
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:346
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_7to1_8.py:159
+msgid "inserting values"
+msgstr "değerlerin girilmesi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/schema_upgrades/schema1_6to1_7.py:362
+msgid "you may now remove old feetables"
+msgstr "artık eski ücret tablolalarını kaldırabilirsiniz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:45
+msgid "translation tools are installed sucessfully"
+msgstr "çeviri araçları başarılı bir şekilde yüklendi"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:67
+msgid "Please try and give at least 24 hours notice"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:68
+msgid "if you need to change an appointment."
+msgstr "bir randevuyu değiştirmeye ihtiyaç duyarsanız"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:299
+msgid "EXAM"
+msgstr "MUA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:300
+msgid "BITE"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:301
+msgid "BT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:302
+msgid "FAMILY"
+msgstr "AİLE"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:303
+msgid "FILL"
+msgstr "DOLGU"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:304
+msgid "FIT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:305
+msgid "HYG"
+msgstr "HİJ"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:306
+msgid "IMPS"
+msgstr "İMP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:307
+msgid "LF"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:308
+msgid "ORTHO"
+msgstr "ORTO"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:309
+msgid "PAIN"
+msgstr "AĞRI"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:310
+msgid "PREP"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:311
+msgid "RCT"
+msgstr "RCT"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:312
+msgid "RECEMENT"
+msgstr ""
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:313
+msgid "REVIEW"
+msgstr "Gözden geçirme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:314
+msgid "SP"
+msgstr "SP"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:315
+msgid "TRY"
+msgstr "TRY"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:316
+msgid "XLA"
+msgstr "XLA"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:473
+msgid "January"
+msgstr "Ocak"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:474
+msgid "February"
+msgstr "Şubat"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:475
+msgid "March"
+msgstr "Mart"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:476
+msgid "April"
+msgstr "Nisan"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:477
+msgid "May"
+msgstr "Mayıs"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:478
+msgid "June"
+msgstr "Haziran"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:479
+msgid "July"
+msgstr "Temmuz"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:480
+msgid "August"
+msgstr "Ağustos"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:481
+msgid "September"
+msgstr "Eylül"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:482
+msgid "October"
+msgstr "Ekim"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:483
+msgid "November"
+msgstr "Kasım"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:484
+msgid "December"
+msgstr "Aralık"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:517
+msgid "Today"
+msgstr "Bugün"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:519
+msgid "Tomorrow"
+msgstr "Yarın"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:521
+msgid "Yesterday"
+msgstr "Dün"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:871
+msgid "Welcome to OpenMolar!"
+msgstr "Openmolar'a Hoşgeldiniz!"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:872
+msgid "Version"
+msgstr "Versiyon"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:873
+msgid "Revision"
+msgstr "Gözden geçirme"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:875
+msgid "Your Data is Accessible, and the server reports no issues."
+msgstr ""
+"verileriniz erişilebilir durumda ve server herhangi bir sorun bildirmiyor"
+
+#: /home/neil/openmolar/openmolar/src/openmolar/settings/localsettings.py:876
+msgid "Have a great day!"
+msgstr "İyi günler"
+
+#~ msgid "Passwords did not match, please try again"
+#~ msgstr "Şifreler uyuşmuyor, lütfen tekrar deneyin"
+
+#~ msgid "Please re-enter this password"
+#~ msgstr "Lütfen şifreyi tekrar girin"
diff --git a/src/openmolar/locale/update_messages.py b/src/openmolar/locale/update_messages.py
new file mode 100755
index 0000000..e060a16
--- /dev/null
+++ b/src/openmolar/locale/update_messages.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+
+'''
+get all translatable strings into a single messages.pot
+requires pygettext available on the command line - i.e. NOT windows friendly.
+'''
+
+import os
+import subprocess
+
+def source_files(PATH):
+ retarg = []
+ for root, dir, files in os.walk(os.path.dirname(PATH)):
+ for name in files:
+ if name.endswith('.py'):
+ retarg.append(os.path.abspath(os.path.join(root, name)))
+ return retarg
+
+def main(PATH):
+ files = source_files(os.path.dirname(PATH))
+ print "%d py files found"% len(files)
+ print "using pygettext to create a messages.pot.....",
+ pr = subprocess.Popen(["pygettext"]+files)
+ pr.wait()
+ print "finished"
+
+if __name__ == "__main__":
+
+ main(os.getcwd())
+
\ No newline at end of file
diff --git a/src/openmolar/main.py b/src/openmolar/main.py
new file mode 100755
index 0000000..b7bab7a
--- /dev/null
+++ b/src/openmolar/main.py
@@ -0,0 +1,391 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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
+# version 3 of the License, or (at your option) any later version. It is
+# provided for educational purposes and 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.
+
+'''
+this module puts the "openmolar" modules onto the python path,
+and starts the gui
+'''
+
+import getopt
+import logging
+import sys
+import os
+import hashlib
+from PyQt4 import QtGui, QtCore
+from xml.dom import minidom
+
+## a variable to force the first run and database update tools
+FIRST_RUN_TESTING = False
+IGNORE_SCHEMA_CHECK = False
+
+SHORTARGS = "v"
+LONGARGS = ["help","version","setup","firstrun","user=", "db=", "port=",
+"ignore-schema-check"]
+
+LOGGER = logging.getLogger("openmolar")
+
+class LoginError(Exception):
+ '''
+ a custom exception thrown when the user gets password or username incorrect
+ '''
+ pass
+
+def proceed():
+ '''
+ check db schema, and proceed if all is well
+ '''
+ # this import will set up gettext and logging
+ from openmolar.dbtools import schema_version
+
+ LOGGER.debug("checking schema version...")
+
+ sv = schema_version.getVersion()
+
+ run_main = False
+
+ if IGNORE_SCHEMA_CHECK or localsettings.CLIENT_SCHEMA_VERSION == sv:
+ run_main = True
+
+ elif localsettings.CLIENT_SCHEMA_VERSION > sv:
+ print "schema is out of date"
+ from openmolar.qt4gui import schema_updater
+ sys.exit(schema_updater.main())
+
+ elif localsettings.CLIENT_SCHEMA_VERSION < sv:
+ print "client is out of date....."
+ compatible = schema_version.clientCompatibility(
+ localsettings.CLIENT_SCHEMA_VERSION)
+
+ if not compatible:
+ QtGui.QMessageBox.warning(None, _("Update Client"),
+ _('''<p>Sorry, you cannot run this version of the openMolar client
+because your database schema is more advanced.</p>
+<p>this client requires schema version %s, but your database is at %s</p>
+<p>Please Update openMolar now</p>''')% (
+ localsettings.CLIENT_SCHEMA_VERSION, sv))
+ else:
+ result = QtGui.QMessageBox.question(None,
+ _("Proceed without upgrade?"),
+ _('''<p>This openMolar client has fallen behind your database
+schema version<br />this client was written for schema version %s,
+but your database is now at %s<br />However, the differences are not critical,
+and you can continue if you wish</p>
+<p><i>It would still be wise to update this client ASAP</i></p>
+<hr /><p>Do you wish to continue?</p>''')% (
+ localsettings.CLIENT_SCHEMA_VERSION, sv),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+
+ if result == QtGui.QMessageBox.Yes:
+ run_main = True
+
+ if run_main:
+ from openmolar.qt4gui import maingui
+ maingui.main(my_app)
+ else:
+ sys.exit()
+
+def main():
+ '''
+ main function
+ '''
+ global localsettings, my_app
+ my_app = QtGui.QApplication(sys.argv)
+
+ from openmolar.settings import localsettings
+ from openmolar.qt4gui.compiled_uis import Ui_startscreen
+ localsettings.showVersion()
+
+ uninitiated = True
+
+ AUTOUSER = ""
+
+ def autoreception(arg): #arg is a QString
+ '''
+ check to see if the user is special user "rec"
+ which implies a reception machine
+ '''
+ if arg.toLower() == "rec":
+ dl.reception_radioButton.setChecked(True)
+
+ def chosenServer(chosenAction):
+ '''
+ the advanced qmenu has been triggered
+ '''
+ i = actions.index(chosenAction)
+
+ message = localsettings.server_names[i] + "<br />" + _(
+ "This is not the default database - are you sure?")
+ if i != 0:
+ if QtGui.QMessageBox.question(my_dialog, _("confirm"), message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No) == QtGui.QMessageBox.No:
+ i = 0
+
+ dl.chosenServer = i
+ for action in actions:
+ action.setChecked(False)
+ chosenAction.setChecked(True)
+ labelServer(i)
+
+ def labelServer(i):
+ def_string = ""
+ if i == 0:
+ def_string = " (" + _("DEFAULT") + ")"
+
+ dl.chosenServer_label.setText(_("Chosen server") + " - " +
+ localsettings.server_names[i] + def_string)
+
+ if not FIRST_RUN_TESTING:
+ cf_Found = True
+ if os.path.exists(localsettings.global_cflocation):
+ localsettings.cflocation = localsettings.global_cflocation
+ pass
+ elif os.path.exists(localsettings.cflocation):
+ pass
+ else:
+ cf_Found = False
+ else:
+ cf_Found = False
+
+ if not cf_Found:
+ message = _('''<center><p>
+This appears to be your first running of openMolar<br />
+Before you run this application, we need to generate a settings file.<br />
+So that openmolar knows where your mysql server resides<hr />
+If you do not have a database, you will be prompted to create one<</p>
+Are you ready to proceed?</center>''')
+
+ result = QtGui.QMessageBox.question(None, _("First Run"),
+ message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+
+ if result == QtGui.QMessageBox.Yes:
+ import firstRun
+ if not firstRun.run():
+ my_app.closeAllWindows()
+ sys.exit()
+ else:
+ AUTOUSER="user"
+ else:
+ my_app.closeAllWindows()
+ sys.exit()
+
+ try:
+ dom = minidom.parse(localsettings.cflocation)
+ sys_password = dom.getElementsByTagName(
+ "system_password")[0].firstChild.data
+
+ servernames = dom.getElementsByTagName("connection")
+ for server in servernames:
+ nameDict = server.attributes
+ if nameDict.has_key("name"):
+ localsettings.server_names.append(nameDict["name"].value)
+
+ if localsettings.server_names == []:
+ localsettings.server_names.append("")
+
+ except IOError, e:
+ print "still no settings... %s\nquitting politely"% e
+ QtGui.QMessageBox.information(None, _("Unable to Run OpenMolar"),
+ _("Good Bye!"))
+
+ my_app.closeAllWindows()
+ sys.exit("unable to run - openMolar couldn't find a settings file")
+
+ my_dialog = QtGui.QDialog()
+ dl = Ui_startscreen.Ui_Dialog()
+ dl.setupUi(my_dialog)
+ dl.user1_lineEdit.setText(AUTOUSER)
+
+ servermenu = QtGui.QMenu()
+ dl.chosenServer = 0
+ labelServer(0)
+ actions = []
+ if len(localsettings.server_names) > 1:
+ for name in localsettings.server_names:
+ action = QtGui.QAction(name, servermenu)
+ servermenu.addAction(action)
+ dl.advanced_toolButton.setMenu(servermenu)
+ actions.append(action)
+ else:
+ dl.advanced_frame.hide()
+
+ servermenu.connect(servermenu,
+ QtCore.SIGNAL("triggered (QAction *)"), chosenServer)
+
+ QtCore.QObject.connect(dl.user1_lineEdit,
+ QtCore.SIGNAL("textEdited (const QString&)"), autoreception)
+
+ while True:
+ if my_dialog.exec_():
+
+ changedServer = localsettings.chosenserver != dl.chosenServer
+
+ localsettings.setChosenServer(dl.chosenServer)
+
+ try:
+ #--"salt" the password
+ pword = "diqug_ADD_SALT_3i2some" + str(
+ dl.password_lineEdit.text())
+ #-- hash the salted password (twice!) and compare to the value
+ #-- stored in /etc/openmolar/openmolar.conf (linux)
+ stored_password = hashlib.md5(
+ hashlib.sha1(pword).hexdigest()).hexdigest()
+
+ if stored_password != sys_password:
+ #-- end password check
+ raise LoginError
+
+ if uninitiated or changedServer:
+ #- user has entered the correct password
+ #- so now we connect to the mysql database
+ #- for the 1st time
+ #- I do it this way so that anyone sniffing the network
+ #- won't see the mysql password until this point
+ #- this could and should possibly still be improved upon
+ #- maybe by using an ssl connection to the server.
+ localsettings.initiateUsers(changedServer)
+ uninitiated = False
+
+ u1_qstring = dl.user1_lineEdit.text().toAscii().toUpper()
+ u2_qstring = dl.user2_lineEdit.text().toAscii().toUpper()
+
+ #-- localsettings module now has user variables.
+ #-- allowed_logins in a list of practice staff.
+ if not u1_qstring in localsettings.allowed_logins:
+ raise LoginError
+ if (u2_qstring !="" and
+ not u2_qstring in localsettings.allowed_logins):
+ raise LoginError
+
+ #-- set a variable to allow the main program to run
+ localsettings.successful_login = True
+ if dl.reception_radioButton.isChecked():
+ localsettings.station = "reception"
+
+ localsettings.setOperator(str(u1_qstring), str(u2_qstring))
+
+ proceed()
+
+ except LoginError:
+ QtGui.QMessageBox.warning(my_dialog,
+ _("Login Error"),
+ u'<h2>%s %s</h2><em>%s</em>'% (
+ _('Incorrect'),
+ _("User/password combination!"),
+ _('Please Try Again.')
+ )
+ )
+ except Exception as exc:
+ LOGGER.exception("UNEXPECTED ERROR")
+ message = u'<p>%s</p><p>%s</p><hr /><pre>%s</pre>'% (
+ _("UNEXPECTED ERROR"),
+ _("application cannot run"),
+ exc)
+
+ QtGui.QMessageBox.warning(my_dialog, _("Login Error"), message)
+ break
+ else:
+ break
+ my_app.closeAllWindows()
+
+def setup(argv):
+ '''
+ run the setup gui, which allows customisation of the app
+ '''
+ print "running setup"
+ from openmolar.qt4gui.tools import new_setup
+ new_setup.main(argv)
+
+def usage():
+ '''
+ called by --help, bad arguments, or no arguments
+ simply importing the localsettings will display some system info
+ '''
+ from openmolar.settings import localsettings
+ print '''command line options are as follows
+--help \tshow this text
+--firstrun\toffer the firstrun config and demodatabase generation
+--setup \ttakes you to the admin page
+--version \tshow the versioning and exit'''
+
+def version():
+ '''
+ show the version on the command line
+ '''
+ from openmolar.settings import localsettings
+ localsettings.showVersion()
+
+def run():
+ '''
+ the real entry point for the app
+ '''
+ global FIRST_RUN_TESTING, IGNORE_SCHEMA_CHECK
+
+ try:
+ opts, args = getopt.gnu_getopt(sys.argv[1:], SHORTARGS, LONGARGS)
+ except getopt.GetoptError as exc:
+ # print help information and exit:
+ LOGGER.exception("FATAL ERROR - config file not parseable!")
+ # above will print something like "option -foo not recognized"
+ sys.exit(2)
+
+ #some backward compatibility stuff here...
+ if "setup" in sys.argv:
+ opts.append(("--setup",""))
+ if "firstrun" in sys.argv:
+ opts.append(("--firstrun",""))
+
+ for option, arg in opts:
+ if option == "--help":
+ usage()
+ sys.exit()
+ if option == "--version":
+ version()
+ sys.exit()
+ if option == "--setup":
+ print "setup found"
+ setup(sys.argv)
+ sys.exit()
+
+ if option == "--firstrun":
+ FIRST_RUN_TESTING = True
+
+ if option == "--ignore-schema-check":
+ IGNORE_SCHEMA_CHECK = True
+ print "ignoring schema check"
+
+ main()
+
+if __name__ == "__main__":
+ #-- put "openmolar" on the pyth path and go....
+ LOGGER.debug("starting openMolar.... using main.py as __main__")
+
+ def determine_path ():
+ """Borrowed from wxglade.py"""
+ try:
+ root = __file__
+ if os.path.islink (root):
+ root = os.path.realpath (root)
+ retarg = os.path.dirname (os.path.abspath (root))
+ return retarg
+ except:
+ LOGGER.exception(
+ "There is no __file__ variable.\n"
+ "OpenMolar cannot run in this environment")
+ sys.exit ()
+
+ wkdir = determine_path()
+ sys.path.insert(0, os.path.dirname(wkdir))
+ run()
diff --git a/src/openmolar/ptModules/__init__.py b/src/openmolar/ptModules/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/openmolar/ptModules/debug_html.py b/src/openmolar/ptModules/debug_html.py
new file mode 100644
index 0000000..32163f2
--- /dev/null
+++ b/src/openmolar/ptModules/debug_html.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009-2013 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from openmolar.dbtools import patient_class
+from openmolar.dbtools.treatment_course import CURRTRT_ATTS
+
+existing=""
+
+def toHtml(pt, tableCalled=None, changesOnly=False):
+ '''
+ this sub puts all the attributes found for patient 1 and patient 2
+ (normaly a deep copy of patient 1 taken at the moment of load from db)
+ into an html table (for comparison)
+ '''
+
+ global existing
+ retarg='<html><body><div align="center">'
+ #attribs=p1.__dict__.keys()
+ #attribs.sort()
+
+ attributesDict={}
+ if tableCalled == "Patient":
+ attributesDict["Patient Table"] = patient_class.patientTableAtts
+ elif tableCalled == "Treatment":
+ attributesDict["Treatment Items"] = ("treatment_course",)
+ elif tableCalled == "HDP":
+ attributesDict["HDP"] = ("plandata",)
+ elif tableCalled == "Estimates":
+ attributesDict["Estimates"] = ("estimates", )
+ elif tableCalled=="Perio":
+ attributesDict["Perio Data"] = ("perioData",)
+ else:
+ attributesDict["all attributes"] = pt.dbstate.__dict__.keys()
+
+ changes=False
+ for key in sorted(attributesDict.keys()):
+ attribs = attributesDict[key]
+ if changesOnly:
+ title = "%s (changes only)"%key
+ else: title = key
+ retarg += "<h2>%s</h2>"%title
+ retarg += '<table width="100%" border="1">'
+ retarg += '<tr><th>Attribute</th><th>orig</th><th>changed</th>'
+ for att in sorted(attribs):
+ orig = pt.__dict__[att]
+ new = pt.dbstate.__dict__.get(att, "")
+ if not changesOnly or str(orig) != str(new):
+ changes = True
+ retarg += '''<tr>
+ <td>%s</td><td>%s</td><td>%s</td>
+ </tr>'''% (att,orig,new)
+ retarg += "</table>"
+ existing = key
+ if not changes:
+ retarg += "<br />No data or relevant changes found"
+
+ retarg += '</div></body></html>'
+ return retarg
+
+if __name__ == "__main__":
+ from openmolar.settings import localsettings
+ import sys
+ localsettings.initiate()
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=29283
+
+ pt = patient_class.patient(serialno)
+ print toHtml(pt, changesOnly=True)
diff --git a/src/openmolar/ptModules/dec_perm.py b/src/openmolar/ptModules/dec_perm.py
new file mode 100644
index 0000000..4d6bc07
--- /dev/null
+++ b/src/openmolar/ptModules/dec_perm.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+def toSignedByte(val):
+ lav=list(val)
+ if lav[0]=="1":
+ retarg=-128
+ i=6
+ for c in lav[1:8]:
+ if c =="1":
+ retarg+=2**i
+ i-=1
+ else:
+ retarg=0
+ i=7
+ for c in lav:
+ if c =="1":
+ retarg+=2**i
+ i-=1
+ return retarg
+
+def fromSignedByte(val):
+ '''this returns a bit by bit representation of a signed byte - used for deciduous tooth'''
+ if val>=0:
+ base=(128,64,32,16,8,4,2,1)
+ bstring=""
+ for b in base:
+ if val>=b:
+ bstring+="1"
+ val-=b
+ else:
+ bstring+="0"
+ else:
+ base=(-64,-32,-16,-8,-4,-2,-1)
+ bstring="1" #set the negative bit
+ for b in base:
+ if val<b:
+ bstring+="0"
+ val-=b
+ else:
+ bstring+="1"
+ return bstring
+
+if __name__=="__main__":
+ for byte in(-127,-126,-125,-8,120,32):
+ print byte,
+ result = fromSignedByte(int(byte))
+ print "chart =",result,
+ print "and back =",toSignedByte(result)
diff --git a/src/openmolar/ptModules/estimates.py b/src/openmolar/ptModules/estimates.py
new file mode 100644
index 0000000..8819f8a
--- /dev/null
+++ b/src/openmolar/ptModules/estimates.py
@@ -0,0 +1,283 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from __future__ import division
+import copy
+import logging
+import re
+import sys
+
+from openmolar.settings import localsettings
+from openmolar.ptModules import plan
+
+LOGGER = logging.getLogger("openmolar")
+
+class TXHash(object):
+ def __init__(self, hash_, completed=False):
+ self.hash = hash_
+ self.completed = completed
+
+ def __eq__(self, other):
+ '''
+ compare the object with another hash
+ note - completion state is irrelevant
+ '''
+ if type(other) == TXHash:
+ return self.hash == other.hash
+ return self.hash == other
+
+ def __repr__(self):
+ return ("TXHash %s completed=%s"% (self.hash, self.completed))
+
+class Estimate(object):
+ '''
+ this class has attributes suitable for storing in the estimates table
+ '''
+ COMPLETED = 2
+ PARTIALLY_COMPLETED = 1
+ PLANNED = 0
+ def __init__(self):
+ self.ix = None
+ self.serialno = None
+ self.courseno = None
+ self.number = 1
+ self.itemcode = "-----"
+ self.description = None
+ self.fee = None
+ self.ptfee = None
+ self.feescale = None
+ self.csetype = None
+ self.dent = None
+
+ self.tx_hashes = []
+
+ def __cmp__(self, other):
+ '''
+ this function enables sorting for the estimate widget.
+ the replacement of "-" with "Z" ensures that "other" items are last
+ '''
+ return cmp(
+ self.itemcode.replace("-", "Z"), other.itemcode.replace("-", "Z"))
+
+ @property
+ def completed(self):
+ '''
+ returns a tri-state value.
+ 0 = nothing completed
+ 1 = some treatments completed
+ 2 = all related treatments completed
+ '''
+ if self.n_completed == len(self.tx_hashes):
+ return 2
+ if self.n_completed == 0:
+ return 0
+ return 1
+
+ @property
+ def n_completed(self):
+ n_completed = 0
+ for tx_hash in self.tx_hashes:
+ if tx_hash.completed:
+ n_completed += 1
+ return n_completed
+
+ @property
+ def interim_fee(self):
+ if self.tx_hashes == []:
+ return 0
+ return self.n_completed * self.fee//len(self.tx_hashes)
+
+ @property
+ def interim_pt_fee(self):
+ if self.tx_hashes == []:
+ return 0
+ return self.n_completed * self.ptfee//len(self.tx_hashes)
+
+ def __repr__(self):
+ return self.__str__()
+
+ def __str__(self):
+ return "\nEstimate\n (%s %s %s %s %s %s %s %s %s %s %s %s)"% (
+ self.ix,
+ self.serialno,
+ self.courseno,
+ self.number,
+ self.fee,
+ self.ptfee,
+ self.dent,
+ self.tx_hashes,
+ self.itemcode,
+ self.description,
+ self.csetype,
+ self.feescale)
+
+ @property
+ def log_text(self):
+ '''
+ estimate data formatted so as to be useful in a log
+ || can be used to separate values
+ '''
+ return "%s || %s || %s || %s || %s || %s || %s || %s||\n"% (
+ self.number, self.itemcode, self.description, self.csetype,
+ self.feescale, self.dent, self.fee, self.ptfee)
+
+ def __eq__(self, other):
+ return str(self) == str(other)
+
+ def toHtmlRow(self):
+ hash_string = ""
+ for tx_hash in self.tx_hashes:
+ hash_string += "<li>%s</li>"% tx_hash.hash
+ if hash_string:
+ hash_string = "<ul>%s</ul>"% hash_string
+ else:
+ hash_string = _("no treatments")
+
+ if self.completed == 2:
+ completed = _("Yes")
+ elif self.completed == 1:
+ completed = _("Partially")
+ else:
+ completed = _("No")
+ return '''
+ <tr>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ <td>%s</td>
+ </tr>
+ '''%(
+ localsettings.ops.get(self.dent),
+ self.number,
+ self.itemcode,
+ self.description,
+ localsettings.formatMoney(self.fee),
+ localsettings.formatMoney(self.ptfee),
+ self.feescale,
+ self.csetype,
+ completed,
+ hash_string)
+
+ def htmlHeader(self):
+ return '''<tr><th>Dentist</th><th>number</th><th>code</th>
+ <th>Description</th><th>fee</th>
+ <th>pt fee</th><th>feescale</th><th>cset</th><th>completed</th>
+ <th>Hashes</th></tr>'''
+
+ def filteredDescription(self):
+ '''
+ removes {1 of 3} from the description
+ '''
+ retarg = copy.copy(self.description)
+ gunks = re.findall(" {.*}", retarg)
+ for gunk in gunks:
+ retarg = retarg.replace(gunk, "")
+ return retarg
+
+ @property
+ def is_exam(self):
+ '''
+ important that feescales use an itemcode that matches this!
+ examples are 0101, 0111, 0121
+ can also be prepended with a single character eg E0101
+ '''
+ try:
+ return bool(re.match(".?01[012]1$", self.itemcode))
+ except TypeError:
+ return False
+
+ @property
+ def is_custom(self):
+ return self.itemcode == "CUSTO"
+
+ @property
+ def has_one_tx(self):
+ return len(self.tx_hashes) == 1
+
+ @property
+ def has_multi_txs(self):
+ return len(self.tx_hashes) > 1
+
+def strip_curlies(description):
+ '''
+ comments such as {2 of 2} are present in the estimates...
+ this removes such stuff
+ '''
+ if re.search("{.*}", description):
+ return description[:description.index("{")]
+ else:
+ return description
+
+def sorted_estimates(ests):
+ '''
+ compresses a list of estimates down into number*itemcode
+ '''
+ def cmp1(a, b):
+ 'define how ests are sorted'
+ return cmp(a.itemcode, b.itemcode)
+
+ sortedEsts=[]
+ def combineEsts(est):
+ for se in sortedEsts:
+ if se.itemcode == est.itemcode:
+ if se.description == strip_curlies(est.description):
+ #--don't combine items where description has changed
+ if est.number != None and se.number != None:
+ se.number += est.number
+ se.fee += est.fee
+ se.ptfee += est.ptfee
+ #se.type += "|" + est.type
+ return True
+ for est in ests:
+ if not combineEsts(est):
+ ce = copy.copy(est)
+ ce.description = strip_curlies(ce.description)
+ sortedEsts.append(ce)
+ sortedEsts.sort(cmp1)
+
+ return sortedEsts
+
+def apply_exemption(pt, maxCharge=0):
+ '''
+ apply an exemption
+ '''
+ total = 0
+ for est in pt.estimates:
+ if not "N" in est.csetype:
+ continue
+
+ if maxCharge - total >= est.ptfee:
+ pass
+ else:
+ if maxCharge - total > 0:
+ est.ptfee = maxCharge - total
+ else:
+ est.ptfee = 0
+ total += est.ptfee
+
+ return True
+
+
+if __name__ == "__main__":
+ from openmolar.dbtools import patient_class
+ localsettings.initiate()
+ try:
+ serialno = int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno = 23664
+
+ pt = patient_class.patient(serialno)
+ print str(pt.estimates)
+ for estimate in pt.estimates:
+ print estimate.toHtmlRow().encode("ascii", "replace")
diff --git a/src/openmolar/ptModules/formatted_notes.py b/src/openmolar/ptModules/formatted_notes.py
new file mode 100644
index 0000000..cbb5f43
--- /dev/null
+++ b/src/openmolar/ptModules/formatted_notes.py
@@ -0,0 +1,253 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''
+This module replaces notes.py with schema version 1.9
+'''
+
+import logging
+import re
+import sys
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import db_notes
+from openmolar.dbtools import db_patients
+
+LOGGER = logging.getLogger("openmolar")
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ LOGGER.warning("using openmolar.backports for OrderedDict")
+ from openmolar.backports import OrderedDict
+
+## some user variables which determine the verbosity of the notes
+
+show_printed = False
+show_payments = False
+show_timestamps = False
+show_metadata = False
+
+# use these variables for the summary notes also?
+same_for_clinical = False
+
+HEADER = '''<html>
+<head>
+<link rel="stylesheet" href="%s" type="text/css">
+</head>
+<body>
+<!HEADER>'''% localsettings.stylesheet
+
+def get_notes_dict(serialno, today_only=False):
+ '''
+ '''
+ results_tuple = db_notes.notes(serialno, today_only)
+
+ notes_dict = OrderedDict()
+ for ndate, op1, op2, ntype, note in results_tuple:
+
+ ops = op1
+ if op2:
+ ops += "/%s"% op2
+
+ key = (ndate, ops)
+ if notes_dict.has_key(key):
+ notes_dict[key].append((ntype,note))
+ else:
+ notes_dict[key] = [(ntype,note)]
+ return notes_dict
+
+def s_t_l(note):
+ '''
+ strip trailing linebreaks
+ '''
+ return re.sub("(<br /> *)*$", "", note)
+
+def get_notes_for_date(lines, full_notes=False):
+ '''
+ this is the actual user clinically relevant stuff!
+ '''
+ txs = []
+ rev_txs = []
+ tx, note, metadata = "", "", ""
+ for ntype, noteline in lines:
+ if "NOTE" in ntype and noteline != "":
+ note += "%s "% noteline.replace(
+ "<","<").replace(">",">")
+ else:
+ if "TC" in ntype:
+ txs.append((ntype, noteline))
+ elif ntype == "UNCOMPLETED":
+ rev_txs.append((ntype, noteline))
+ elif full_notes:
+ if "RECEIVED" in ntype:
+ receipt_text = noteline.replace("sundries 0.00", "")
+ receipt_text = receipt_text.replace("treatment 0.00", "")
+ if show_payments:
+ tx += "%s %s<br />"% (ntype, receipt_text)
+ elif "PRINT" in ntype:
+ if show_printed:
+ tx += "%s %s<br />"% (ntype, noteline)
+ elif ntype in ("opened", "closed"):
+ if show_timestamps:
+ note += "<i>%s %s</i><br />"% (ntype, noteline)
+ elif show_metadata:
+ metadata += "<b>%s</b>%s<br />"% (ntype, noteline)
+
+ note = note.replace("\n","<br />")
+
+ for tuple_ in set(txs):
+ n = txs.count(tuple_)
+ ntype, treatment = tuple_
+ if n != 1:
+ tx += "<b>%d%s</b><br />"% (n, treatment)
+ else:
+ tx += "<b>%s</b><br />"% treatment
+
+ for tuple_ in rev_txs:
+ ntype, treatment = tuple_
+ tx += "<b>%s</b><br />"% treatment
+
+ return s_t_l(tx), s_t_l(note), s_t_l(metadata)
+
+def get_rec_summary(lines):
+ '''
+ this is the reception summary (what has been charged and/or printed)
+ '''
+ note = ""
+ for ntype, noteline in lines:
+ if "PRINTED" in ntype:
+ note += '<img src=%s height="12" align="right"> %s<br />'% (
+ localsettings.printer_png, noteline)
+ elif "RECEIVED:" in ntype:
+ noteline = noteline.replace("sundries 0.00", "")
+ noteline = noteline.replace("treatment 0.00", "")
+ note += '<img src=%s height="12" align="right"> %s<br />'% (
+ localsettings.money_png, noteline)
+
+ return s_t_l(note)
+
+
+def rec_notes(notes_dict, startdate=None):
+ '''
+ returns an html string of notes, designed to fit into the
+ reception notes panel (ie. vertical)
+ '''
+
+ retarg = HEADER + '<table border="1">'
+ if startdate:
+ retarg += "<h4>%s</h4>"% _("Course Activity")
+
+ keys = notes_dict.keys()
+ #keys.sort()
+
+ for key in keys:
+ date, op = key
+ if startdate and date >= startdate:
+ data = notes_dict[key]
+ note = get_rec_summary(data)
+ if note:
+ retarg += '<tr><td>%s</td><td>%s</td></tr>'% (
+ localsettings.formatDate(date), note)
+
+ retarg += '</table></body></html>'
+
+ return retarg
+
+
+def summary_notes(notes_dict):
+ return notes(notes_dict, same_for_clinical)
+
+def notes(notes_dict, full_notes=True):
+ '''
+ returns an html string of notes...
+ '''
+
+ retarg = HEADER + '''
+ <table class="notes_table">
+ <tr>
+ <th class = "date">Date</th>
+ <th class = "ops">ops</th>
+ <th class = "tx">Tx</th>
+ <th class = "notes">Notes</th>
+ '''
+
+ keys = notes_dict.keys()
+
+ if full_notes and show_metadata:
+ retarg += '<th class="reception">metadata</th>'
+
+ retarg += '</tr>'
+
+ previousdate = "" #necessary to group notes on same day
+ rowspan = 1
+ newline = ""
+ for key in keys:
+ date, op = key
+ data = notes_dict[key]
+ tx, notes, metadata = get_notes_for_date(data, full_notes)
+ newline += "<tr>"
+ if date != previousdate:
+ previousdate = date
+ rowspan = 1
+ retarg += newline
+ link = ""
+
+ newline = '<td class="date">%s %s</td>'% (
+ localsettings.notesDate(date), link)
+ else:
+ #alter the previous html, so that the rows are spanned
+ rowspan += 1
+ newline = re.sub(
+ 'class="date"( rowspan="\d")*',
+ 'class="date" rowspan="%d"'% rowspan, newline)
+
+ subline = '<td class="ops">%s'% op
+
+ if (date == localsettings.currentDay() and
+ op == localsettings.operator):
+ subline += '<br /><a href="edit_notes?||SNO||">%s</a>'% _("Edit")
+
+ newline += '''%s</td>
+ <td class="tx">%s</td>
+ <td width="70%%" class="notes">%s</td>'''% (subline, tx, notes)
+
+ if show_metadata:
+ newline += '<td class="reception">%s</td></tr>'% metadata
+ else:
+ newline += '</tr>'
+ retarg += newline
+ retarg += '</table></div></body></html>'
+
+ return retarg
+
+def todays_notes(serialno):
+ html = notes(get_notes_dict(serialno, True))
+ if not _("Today") in html:
+ html = HEADER
+ html += "%s <a href='edit_notes?%s'>%s</a></body></html>"% (
+ _("No notes found"), serialno, _("Add a note"))
+
+ name = db_patients.name(serialno)
+ header = "<h3>%s %s</h3>"% (_("Todays notes for"), name)
+ html = html.replace("<!HEADER>", header)
+ html = html.replace("||SNO||", str(serialno))
+
+ return html
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ from openmolar.dbtools import patient_class
+ try:
+ serialno = int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno = 1
+
+ notes_ = notes(patient_class.patient(serialno).notes_dict)
+ print notes_.encode("ascii", "replace")
+
diff --git a/src/openmolar/ptModules/hidden_notes.py b/src/openmolar/ptModules/hidden_notes.py
new file mode 100644
index 0000000..0052747
--- /dev/null
+++ b/src/openmolar/ptModules/hidden_notes.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import re
+from openmolar.settings import localsettings
+
+def toHtml(pt):
+ '''
+ return the patient HiddenNotes in a readable form
+ '''
+ retarg = ""
+ for ntype, note in pt.HIDDENNOTES:
+ retarg +="%s<br />"% note
+ return retarg
+
+if __name__ == "__main__":
+ import sys
+ from openmolar.dbtools import patient_class
+ localsettings.initiate()
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=1
+ pt=patient_class.patient(serialno)
+
+ pt.addHiddenNote("exam","CE")
+ pt.addHiddenNote("perio_treatment","SP")
+ pt.addHiddenNote("printed", "appt card")
+ print toHtml(pt)
\ No newline at end of file
diff --git a/src/openmolar/ptModules/nhsDetails.py b/src/openmolar/ptModules/nhsDetails.py
new file mode 100644
index 0000000..a9bde94
--- /dev/null
+++ b/src/openmolar/ptModules/nhsDetails.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from __future__ import division
+from openmolar.settings import localsettings
+
+def toHtml(pt):
+ '''
+ returns an HTML table of the patients pt
+ '''
+
+ retarg='''<html><body><center>
+ <h3>NHS DETAILS</h3>
+ <table width ="100%" border="1">
+ '''
+ retarg+="<tr><td>EXEMPTION</td><td>%s</td></tr>"%pt.exemption
+ retarg+="<tr><td>EXEMPTION TEXT</td><td>%s</td></tr>"%pt.exempttext
+ retarg+="<tr><td>PREVIOUS SURNAME</td><td>%s</td></tr>"%pt.psn
+ retarg+="<tr><td>NHS NUMBER</td><td>%s</td></tr>"%pt.nhsno
+
+ retarg+="<tr><td>LAST CLAIM</td><td>%s</td></tr>"% localsettings.formatDate(pt.pd3)
+ retarg+="<tr><td>INITIAL ACCEPTANCE</td><td>%s</td></tr>"% localsettings.formatDate(pt.pd12)
+ retarg+="<tr><td>LAST REACCEPTANCE</td><td>%s</td></tr>"% localsettings.formatDate(pt.pd14)
+ retarg+="<tr><td>EXPIRY</td><td>%s</td></tr>"% localsettings.formatDate(pt.expiry)
+ retarg+="<tr><td>CSTATUS</td><td>%s</td></tr>"% localsettings.formatDate(pt.cstatus)
+ retarg+="<tr><td>TRANSFER</td><td>%s</td></tr>"% localsettings.formatDate(pt.transfer)
+
+ if pt.sex=="F":
+ retarg+="<tr><td>CONFINEMENT DATE</td><td>%s</td></tr>"% localsettings.formatDate(pt.cnfd)
+
+ retarg+='</table></body></html>'
+
+ return retarg
+
+if __name__ == "__main__":
+ from openmolar.dbtools import patient_class
+ localsettings.initiate(False)
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=707
+
+ pt=patient_class.patient(serialno)
+ print toHtml(pt.pt)
diff --git a/src/openmolar/ptModules/notes.py b/src/openmolar/ptModules/notes.py
new file mode 100644
index 0000000..11d3296
--- /dev/null
+++ b/src/openmolar/ptModules/notes.py
@@ -0,0 +1,433 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''
+This module is deprecated with schema version 1.9
+
+It is, however, legacy code required for the upgrade schema process
+'''
+
+
+import datetime
+import re, sys
+from openmolar.settings import localsettings
+
+CHART = {
+136:"UR8", 135:"UR7", 134:"UR6", 133:"UR5",
+132:"UR4", 131:"UR3", 130:"UR2", 129:"UR1",
+144:"UL1", 145:"UL2", 146:"UL3", 147:"UL4",
+148:"UL5", 149:"UL6", 150:"UL7", 151:"UL8",
+166:"LL8", 165:"LL7", 164:"LL6", 163:"LL5",
+162:"LL4", 161:"LL3", 160:"LL2", 159:"LL1",
+174:"LR1", 175:"LR2", 176:"LR3", 177:"LR4",
+178:"LR5", 179:"LR6", 180:"LR7", 181:"LR8",
+142:"URE", 141:"URD", 140:"URC", 139:"URB",
+138:"URA", 153:"ULA", 154:"ULB", 155:"ULC",
+156:"ULD", 157:"ULE", 172:"LLE", 171:"LLD",
+170:"LLC", 169:"LLB", 168:"LLA", 183:"LRA",
+184:"LRB", 185:"LRC", 186:"LRD", 187:"LRE"}
+
+def rec_notes(notes_dict):
+ '''
+ returns an html string of notes, designed to fit into the
+ reception notes panel (ie. vertical)
+ '''
+
+ retarg = '''<html><head><link rel="stylesheet"
+ href="%s" type="text/css"></head><body>'''% localsettings.stylesheet
+ keys = notes_dict.keys()
+ keys.sort()
+
+ previousdate = "" #necessary to group notes on same day
+ divopen=False
+ for key in keys:
+ date, op = key
+ notes = get_notes_for_date(notes_dict[key])
+ d = get_date_from_date(date)
+ ests = get_estimate_for_date(notes_dict[key])
+ rec = get_reception_for_date(notes_dict[key])
+ if ests or rec:
+ if d != previousdate:
+ previousdate = d
+ retarg += '<div class="recep_date">%s'% d
+ divopen = True
+
+ retarg += "<ul>"
+ if ests:
+ retarg += '<li class="recep_note">%s</li>'% ests
+ if rec:
+ rec = rec.replace("<li>",'<li class="recep_note">')
+ rec = rec.replace("PRINTED:",
+ '<img src=%s height="12" align="left">'% (
+ localsettings.printer_png))
+ rec = rec.replace("RECEIVED:",
+ '<img src=%s height="12" align="left">'% (
+ localsettings.money_png))
+ retarg += rec
+ retarg += "</ul>"
+ if divopen:
+ retarg += "</div>"
+ divopen = False
+
+ retarg += '</body></html>'
+
+ return retarg
+
+
+def notes(notes_dict, verbosity=0, ignoreRec=False):
+ '''
+ returns an html string of notes...
+ if verbose=1 you get reception stuff too.
+ if verbose =2 you get full notes
+ '''
+
+ retarg = '''<html><head><link rel="stylesheet"
+ href="%s" type="text/css"></head><body>'''% localsettings.stylesheet
+ keys = notes_dict.keys()
+ keys.sort()
+ retarg += '''<table>
+ <tr>
+ <th>Date</th>
+ <th>ops</th>
+ <th>Tx</th>
+ <th>Notes</th>
+ '''
+
+ if verbosity > 0:
+ retarg += '<th>reception</th>'
+
+ if verbosity == 2: #this is for development/debugging purposes
+ retarg += '<th>Detailed</th>'
+
+ retarg += '</tr>'
+ wstring = "70%"
+
+ previousdate="" #necessary to group notes on same day
+ rowspan = 1
+ newline = ""
+ for key in keys:
+ date, op = key
+ notes = get_notes_for_date(notes_dict[key])
+ if ("REC" in op and notes != "") or (
+ "REC" in op and not ignoreRec) or not "REC" in op:
+ newline += "<tr>"
+ d = get_date_from_date(date)
+ if d != previousdate:
+ previousdate = d
+ rowspan = 1
+ retarg += newline
+ newline = '<td class="date">%s</td>'% d
+ else:
+ #alter the previous html, so that the rows are spanned
+ rowspan += 1
+ newline = re.sub(
+ 'class="date"( rowspan="\d")*',
+ 'class="date" rowspan="%d"'% rowspan, newline)
+
+ newline += '''<td class="ops">%s</td>
+ <td class="tx">%s</td><td width="%s" class="notes">%s</td>'''% (
+ op, get_codes_for_date(notes_dict[key]),
+ wstring, notes)
+
+ ests = get_estimate_for_date(notes_dict[key])
+ rec = get_reception_for_date(notes_dict[key])
+ if verbosity > 0:
+ newline += '<td class="reception">'
+ if rec != "" and ests == "":
+ newline += '%s</td>'% rec
+ elif rec == "" and ests != "":
+ newline += '%s</td>'% ests
+ else:
+ newline += "%s<br />%s</td>"% (ests, rec)
+
+ if verbosity == 2:
+ text = ""
+ for item in notes_dict[key]:
+ text += "%s<br />"% str(item)
+ newline += "<td class=verbose>%s</td>"% text
+
+ newline += "</tr>"
+ retarg += newline
+ retarg += '</table></div></body></html>'
+
+ return retarg
+
+def get_date_from_date(key):
+ '''
+ converts to a readable date
+ '''
+ try:
+ k = key.split('_')
+ d = datetime.date(int(k[0]), int(k[1]), int(k[2]))
+ return localsettings.formatDate(d)
+ #return k[2]+"/"+k[1]+"/"+k[0]
+ except IndexError:
+ return "IndexERROR converting date %s" %key
+ except ValueError:
+ return "TypeERROR converting date %s" %key
+
+def get_codes_for_date(line):
+ code=""
+ for l in line:
+ if "TC" in l[0]:
+ code+="<b>"
+ tx=l[1]
+ while len(tx)>8 and " " in tx[8:]:
+ pos=tx.index(" ",8)
+ code+="%s <br />"%tx[:pos]
+ tx=tx[pos:]
+ code+="%s </b>"%tx
+ if code=="":
+ return "-"
+ else:
+ return code
+
+def get_notes_for_date(line):
+ '''
+ this is the actual user entered stuff!
+ '''
+ note=""
+ for l in line:
+ if "NOTE" in l[0]:
+ mytext = l[1].replace("<","<").replace(">",">")
+ note += "%s "% mytext
+ match = re.search(r"[\n ]*$", note)
+ if match:
+ note = note[:note.rindex(match.group())]
+ return note.replace("\n","<br />")
+
+def get_reception_for_date(line):
+ '''
+ was anything printed etc....
+ '''
+ recep = ""
+ for action, value, user in line:
+ value = value.replace("sundries 0.00", "")
+ value = value.replace("==========", "")
+ if (("PRINT" in action) or ("RECEIVED" in action) or
+ ("FINAL" in action) or ("UNKNOWN" in action) or
+ ("UPDATE" in action) or ("COURSE" in action)):
+ recep += "<li>%s %s</li>"% (action, value)
+ return recep
+
+def get_estimate_for_date(line):
+ est = ""
+ for l in line:
+ if "ESTIMATE" in l[0]:
+ est += "%s%s"% (l[0],l[1])
+ return est
+
+def decipher_noteline(noteline):
+ '''
+ returns a list. ["type","note","operator","date"]
+ '''
+ retarg=["","","",""]
+
+ if len(noteline) == 0: #sometimes a line is blank
+ return retarg
+
+ #important - this line give us operator and date.
+ if noteline[0] == chr(1):
+ retarg[0] = "opened"
+ operator = ""
+ i = 1
+ while noteline[i] >= "A" or noteline[i] == "/":
+ operator += noteline[i]
+ i += 1
+
+ ## arghh!!! 2 character year field!!!!!!
+ workingdate = "%s_%02d_%02d"% (
+ 1900+char(noteline[i+2]),char(noteline[i+1]),char(noteline[i]))
+
+ retarg[2] = operator
+ retarg[3] = workingdate
+ try:
+ systemdate = "%s/%s/%s"% (
+ char(noteline[i+3]), char(noteline[i+4]),
+ 1900 + char(noteline[i+5]))
+
+ #systemdate includes time
+ systemdate += " %02d:%02d"% (
+ char(noteline[i+6]), char(noteline[i+7]))
+
+ retarg[1] += "System date - %s"% systemdate
+
+ except IndexError, e:
+ print "error getting system date for patient notes - %s", e
+ retarg[1] += "System date - ERROR!!!!!"
+
+ elif noteline[0] == "\x02": #
+ retarg[0] = "closed"
+ operator = ""
+ i = 1
+ while noteline[i] >= "A" or noteline[i] == "/":
+ operator += noteline[i]
+ i += 1
+ systemdate = "%s/%s/%s"%(
+ char(noteline[i]), char(noteline[i+1]),
+ 1900+char(noteline[i+2]))
+
+ systemdate+=" %02d:%02d"%(
+ char(noteline[i+3]),char(noteline[i+4]))
+
+ retarg[1] += "%s %s"% (operator, systemdate)
+
+ elif noteline[0] == chr(3):
+ #-- hidden nodes start with chr(3) then another character
+ if noteline[1]==chr(97):
+ retarg[0]="COURSE CLOSED"
+ retarg[1]="="*10
+ elif noteline[1]==chr(100):
+ retarg[0]="UPDATED:"
+ retarg[1]="Medical Notes "+noteline[2:]
+ elif noteline[1]==chr(101):
+ retarg[0]="UPDATED:"
+ retarg[1]="Perio Chart"
+ elif noteline[1]==chr(104):
+ retarg[0]="TC: XRAY"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(105):
+ retarg[0]="TC: PERIO"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(106):
+ retarg[0]="TC: ANAES"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(107):
+ retarg[0]="TC: OTHER"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(108):
+ retarg[0]="TC: NEW Denture Upper"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(109):
+ retarg[0]="TC: NEW Denture Lower"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(110):
+ retarg[0]="TC: Existing Denture Upper"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(111):
+ retarg[0]="TC: Existing Denture Lower"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(112):
+ retarg[0]="TC: EXAM"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(113):
+ retarg[0]="TC:"
+ retarg[1]=tooth(noteline[2:])
+ elif noteline[1]==chr(114):
+ retarg[0]="STATIC: " #(1st line):"
+ retarg[1]=tooth(noteline[2:])
+ elif noteline[1]==chr(115):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17(A)"
+ elif noteline[1]==chr(116):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17(C)"
+ elif noteline[1]==chr(117):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17(DC)"
+ elif noteline[1]==chr(119):
+ retarg[0]="RECEIVED: "
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(120):
+ retarg[0]="REVERSE PAYMENT:"
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(121):
+ retarg[0]="STATIC: " #(additional Line):"
+ retarg[1]=tooth(noteline[2:])
+ elif noteline[1]==chr(123):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17"
+ elif noteline[1]==chr(124):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17PR"
+ elif noteline[1]==chr(130):
+ retarg[0]="ESTIMATE: "
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(131):
+ retarg[0]="INTERIM: "
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(132):
+ retarg[0]="FINAL: "
+ retarg[1]=noteline[2:]
+ elif noteline[1]==chr(133):
+ retarg[0]="ACTUAL: "
+ retarg[1]=tooth(noteline[2:])
+ elif noteline[1]==chr(134):
+ retarg[0]="FILED: "
+ retarg[1]="Claim"
+ elif noteline[1]==chr(136):
+ retarg[0]="FILED: "
+ retarg[1]="Registration"
+ elif noteline[1]=="v":
+ retarg[0]="PRINTED: "
+ retarg[1]=noteline[2:]
+
+
+ elif noteline[1]==chr(125):
+ retarg[0]="PRINTED: "
+ retarg[1]="GP17RA"
+
+ elif noteline[1]==chr(98):
+ retarg[0]="WYSDOM ERROR: "
+ retarg[1]="PREVIOUS NOTES LOST"
+
+ else:
+ retarg[0]='UNKNOWN LINE: '
+ retarg[1]+="%s | "%noteline[1:]
+ for ch in noteline[1:]:
+ retarg[1]+="'%s' "%str(char(ch))
+
+
+
+ if "TC" in retarg[0]:
+ retarg[1]="%s"%retarg[1]
+
+ elif noteline[0]=="\t":
+ #this is the first character of any REAL line of old (pre MYSQL) notes
+ retarg[0]= "oldNOTE"
+ retarg[1]="%s"%noteline[1:]
+ else:
+ #new note lines don't have the tab
+ retarg[0]="newNOTE"
+ retarg[1]+="%s"%noteline
+ return retarg
+
+def char(c):
+ i=0
+ while i < 256:
+ if chr(i)==c:
+ return i
+ break
+ i+=1
+
+def tooth(data):
+ #return str(data.split("\t"))
+ retarg=""
+ for c in data:
+ i=char(c)
+ if CHART.has_key(i):
+ retarg += CHART[i]+" "
+ else:
+ retarg += c
+ return retarg
+
+
+if __name__ == "__main__":
+ sys.path.append("/home/neil/openmolar")
+ from openmolar.dbtools import patient_class
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=1
+ if "-v" in sys.argv:
+ verbose=True
+ else:
+ verbose=False
+ #print "getting notes"
+ #print rec_notes(patient_class.patient(serialno).notes_dict)
+ print notes(patient_class.patient(serialno).notes_dict, verbose)
+
diff --git a/src/openmolar/ptModules/patientDetails.py b/src/openmolar/ptModules/patientDetails.py
new file mode 100644
index 0000000..f732690
--- /dev/null
+++ b/src/openmolar/ptModules/patientDetails.py
@@ -0,0 +1,164 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+this module provides an html summary of the patient's details
+'''
+
+from __future__ import division
+
+import datetime
+import logging
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import patient_class
+
+LOGGER = logging.getLogger("openmolar")
+
+def getAge(pt):
+ '''
+ display the patient's age in human readable form
+ '''
+ ageYears, months, isToday = pt.getAge()
+ if isToday:
+ return "<h5> %s TODAY!</h5>"% ageYears
+ if ageYears > 18:
+ return "(%syo)<hr />"% ageYears
+ else:
+ retarg = "<br />%s years"% ageYears
+ if ageYears == 1:
+ retarg = retarg.strip("s")
+ retarg += " %s months"% months
+ if months == 1:
+ retarg = retarg.strip("s")
+ return retarg + "<hr />"
+
+def header(pt):
+ retarg = '''<html>
+<head><link rel="stylesheet" href="%s" type="text/css"></head>
+<body><div align = "center">
+<h4>Patient %d</h4>
+<h3>%s %s %s</h3>
+ '''% (
+ localsettings.stylesheet, pt.serialno, pt.title.title(),
+ pt.fname.title(), pt.sname.title())
+
+ retarg += '%s %s'% (localsettings.formatDate(pt.dob), getAge(pt))
+ for line in (pt.addr1, pt.addr2, pt.addr3, pt.town, pt.county):
+ if str(line) != '':
+ retarg += "%s <br />"% line
+ if pt.pcde == "":
+ retarg += "<b>!UNKNOWN POSTCODE!</b>"
+ else:
+ retarg += "%s"% pt.pcde
+
+ if not pt.status in ("Active", "", None):
+ retarg += "<hr /><h1>%s</h1>"% pt.status
+
+ return retarg
+
+def details(pt, Saved=True):
+ '''returns an html set showing pt name etc...'''
+
+ try:
+ retarg = header(pt) + '<hr />'
+ if "N" in pt.cset:
+ retarg += '''<img src="%s/nhs_scot.png" alt="NHS" />
+ <br />'''% localsettings.resources_path
+
+ if pt.exemption != "":
+ retarg += " exemption=%s"% str(pt.exemption)
+ else:
+ retarg += "NOT EXEMPT"
+ retarg += "<br />"
+ elif "I" in pt.cset:
+ retarg += '''<img src="%s/hdp_small.png" alt="HDP" />
+ <br />'''% localsettings.resources_path
+
+ elif "P" in pt.cset:
+ retarg += '''<img src="%s/private.png" alt="PRIVATE" />
+ <br />'''% localsettings.resources_path
+
+ else:
+ retarg += 'UNKNOWN COURSETYPE = %s <br />'% str(pt.cset)
+ #-- removed this next code as feescale is always the same
+ #if pt.pf11!=0:
+ # retarg += '(feescale %s)<br />'%chr(pt.pf11)
+
+ retarg += "%s<br />"% pt.fee_table.briefName
+ try:
+ retarg += 'dentist = %s'% localsettings.ops[pt.dnt1]
+ if pt.dnt2 != 0 and pt.dnt1 != pt.dnt2:
+ retarg += '/%s'% localsettings.ops[pt.dnt2]
+ except KeyError, e:
+ retarg += '<h4>Please Set a Dentist for this patient!</h4><hr />'
+ if pt.memo != '':
+ retarg += '<h4>Memo</h4>%s<hr />'% pt.memo
+
+ retarg += '''<table border="1">'
+ <tr><td>Last IO Xrays</td><td>%s</td></tr>
+ <tr><td>Last OPG</td><td>%s</td></tr>
+ <tr><td>Last Sp</td><td>%s</td></tr>
+ '''% (localsettings.formatDate(pt.pd9),
+ localsettings.formatDate(pt.pd8), localsettings.formatDate(pt.pd10))
+
+ letype = ""
+ lastexam = datetime.date(1,1,1)
+ i = 0
+ for date in (pt.pd5, pt.pd6, pt.pd7):
+ if date and date > lastexam:
+ lastexam = date
+ letype = ("(CE)", "(ECE)", "(FCA)")[i]
+ i += 1
+ if lastexam == datetime.date(1,1,1):
+ lastexam = None
+ if letype != "":
+ retarg += '<tr><td>Last Exam %s</td><td>%s</td></tr>'% (
+ letype, localsettings.formatDate(lastexam))
+
+
+ if pt.recall_active:
+ retarg += '''<tr><td>Recall Date</td><td>%s</td></tr>
+ </table>''' % localsettings.formatDate(pt.recd)
+ else:
+ retarg += '<tr><td colspan="2">%s</td></tr></table>'% _(
+ "DO NOT RECALL")
+
+ if not Saved:
+ alert = "<br />NOT SAVED"
+ else:
+ alert = ""
+ if pt.fees > 0:
+ amount = localsettings.formatMoney(pt.fees)
+ retarg += '<hr /><h3 class="debt">Account = %s %s</h3>'% (
+ amount, alert)
+ if pt.fees < 0:
+ amount = localsettings.formatMoney(-pt.fees)
+ retarg += '<hr /><h3>%s in credit %s</h3>'% (amount, alert)
+
+ if pt.underTreatment:
+ retarg += '<hr /><h2 class="ut_label">UNDER TREATMENT</h2><hr />'
+
+ return '''%s\n</div></body></html>'''% retarg
+ except Exception as exc:
+ LOGGER.exception("error in patientDetails.details")
+ return "error displaying details, sorry <br />%s"% exc
+
+if __name__ == '__main__':
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ try:
+ serialno = int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno = 4792
+ if '-v' in sys.argv:
+ verbose = True
+ else:
+ verbose = False
+ print details(patient_class.patient(serialno))
+
diff --git a/src/openmolar/ptModules/perio.py b/src/openmolar/ptModules/perio.py
new file mode 100755
index 0000000..09aa5ff
--- /dev/null
+++ b/src/openmolar/ptModules/perio.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+'''gets and decodes the perio charts'''
+
+import sys
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+
+import struct
+
+def get_perioData(data):
+ perioData={}
+
+ i=0
+ for tooth in ('ur8','ur7','ur6','ur5','ur4','ur3','ur2','ur1','ul1','ul2','ul3','ul4','ul5','ul6','ul7','ul8',
+ 'lr8','lr7','lr6','lr5','lr4','lr3','lr2','lr1','ll1','ll2','ll3','ll4','ll5','ll6','ll7','ll8'):
+ d=struct.unpack_from('b'*45,data,i)
+ recession=(d[0],d[1],d[2],d[3],d[4],d[5])
+ pocketing=(d[6],d[7],d[8],d[9],d[10],d[11])
+ plaque=(d[12],d[13],d[14],d[15],d[16],d[17])
+ bleeding=(d[18],d[19],d[20],d[21],d[22],d[23])
+ other=(d[24],d[25],d[26],d[27],d[28],d[29])
+ mobility=d[34]
+ furcation=(d[30],d[31],d[32],d[33])
+ suppuration=(d[35],d[36],d[37],d[38],d[39],d[40])
+ perioData[tooth]=(recession,pocketing,plaque,bleeding,other,suppuration,furcation,mobility)
+ i+=45
+
+ return perioData
+
+if __name__ == "__main__":
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=707 #29833
+ db=connect()
+ cursor=db.cursor()
+ cursor.execute('select chartdata from perio where serialno=%d'%serialno)
+ chartdata=cursor.fetchall()
+ cursor.close()
+ #db.close()
+ perioData=get_perioData(chartdata[0][0])
+ newdict={}
+ for key in perioData.keys():
+ # print key,perioData[key]
+ newdict[key]=perioData[key][1]
+ print newdict
\ No newline at end of file
diff --git a/src/openmolar/ptModules/plan.py b/src/openmolar/ptModules/plan.py
new file mode 100644
index 0000000..c03f774
--- /dev/null
+++ b/src/openmolar/ptModules/plan.py
@@ -0,0 +1,170 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+import re
+import sys
+
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+treatmentTypeHeaders = {
+ "Diagnosis":("Exam","xray", "Diagnosis", "Preventive"),
+ "Perio":("perio", ),
+ "Tooth":("UL", "LL", "UR", "LR", "Conservation" ),
+ "Prosthetics":("ndu", "nld", "odu", "odl", "Prosthetics" ),
+ "Other":("other", "Surgical", "Occasional",),
+ "Orthodontics":("Orthodontics",),
+ "Child Specific":("Capitation",),
+ "Custom":("custom",)}
+
+templist = []
+for quad in ("ur", "ul", "ll", "lr"):
+ for tooth in range(1, 9):
+ templist.append("%s%d"%(quad, tooth))
+
+tup_toothAtts = tuple(templist)
+
+tup_Atts = ('xray','perio','anaes','other','ndu','ndl','odu','odl','custom')
+
+def plannedItems(pt):
+ plannedList = []
+ if pt.treatment_course.examt != "" and not pt.treatment_course.examd:
+ plannedList.append(("Exam", pt.treatment_course.examt),)
+ for attrib in tup_Atts + tup_toothAtts:
+ tx = pt.treatment_course.__dict__[attrib+"pl"]
+ if not tx in ("", None):
+ items = tx.strip(" ").split(" ")
+ for item in set(items):
+ if item == "":
+ continue
+ n = items.count(item)
+ if n != 1:
+ item = "%d%s"% (n, item)
+ if re.match("[ul][lr][1-8]",attrib):
+ #check for deciduous
+ toothName = str(pt.chartgrid.get(attrib)).upper()
+ plannedList.append((toothName, item),)
+ else:
+ plannedList.append((attrib, item), )
+ return plannedList
+
+def completedItems(pt, teethOnly=False):
+ compList = []
+ if teethOnly:
+ for tooth in tup_toothAtts:
+ tx = pt.treatment_course.__dict__[tooth+"cmp"]
+ if not tx in ("", None):
+ items = tx.strip(" ").split(" ")
+ for item in items:
+ if item == "":
+ continue
+ item = item.decode("latin-1")
+ if re.match("[ul][lr][1-8]",tooth):
+ compList.append((tooth, item),)
+ else:
+ if pt.treatment_course.examt!="" and pt.treatment_course.examd:
+ compList.append(("Exam", pt.treatment_course.examt),)
+
+ for attrib in tup_Atts+tup_toothAtts:
+ tx = pt.treatment_course.__dict__[attrib+"cmp"]
+ if not tx in ("",None):
+ items = tx.strip(" ").split(" ")
+ for item in set(items):
+ if item == "":
+ continue
+ n = items.count(item)
+ if n != 1:
+ item = "%d%s"% (n, item)
+ if re.match("[ul][lr][1-8]",attrib):
+ #check for deciduous
+ toothName = str(pt.chartgrid.get(attrib)).upper()
+ compList.append((toothName, item),)
+ else:
+ compList.append((attrib, item), )
+ return compList
+
+def summary(pt):
+ '''
+ returns html set showing a summary of planned or completed treatment
+ '''
+
+ if pt.treatment_course is None:
+ return ""
+
+ retarg = '''<html><body><head>
+ <link rel="stylesheet" href="%s" type="text/css">
+ </head>\n'''%localsettings.stylesheet
+ if not pt.underTreatment:
+ retarg += "<H4>%s</H4>"% _("Previous Course")
+ if pt.treatment_course.accd != None:
+ retarg += '%s %s<br />'% ( _("Start"),
+ localsettings.formatDate(pt.treatment_course.accd))
+ if pt.treatment_course.cmpd != None:
+ retarg += '%s %s<br />'% (_('End'),
+ localsettings.formatDate(pt.treatment_course.cmpd))
+ plan = ""
+ for item in plannedItems(pt):
+ plan+='%s - %s<br />'%(item)
+ if plan != "":
+ plan = "<h5>%s</h5>%s"% (_("PLAN"), plan)
+
+ comp = ""
+ for item in completedItems(pt):
+ comp += '%s - %s<br />'% (item)
+ if comp != "":
+ comp = "<h5>%s</h5>%s"% (_("COMPLETED"), comp)
+ if plan != "":
+ plan = "<hr />" + plan
+
+ if plan == "" and comp == "":
+ return "%s%s</body></html>"% (retarg, _("No treatment"))
+ else:
+ return '%s%s%s</body></html>'% (retarg, plan, comp)
+
+ return retarg
+
+
+def completedFillsToStatic(pt):
+ '''
+ take completed items, and update the static chart
+ '''
+ try:
+ items = completedItems(pt, teethOnly=True)
+ for tooth, prop in items:
+ tooth = tooth.lower()
+ if re.match("EX", prop):
+ pt.treatment_course.__dict__["%sst"% tooth] = "TM "
+ else:
+ existing = pt.__dict__.get("%sst"% tooth)
+ new = "%s %s "% (existing, prop)
+ #add the space just to be on the safe side.
+ new = new.replace(" "," ")
+ #34 characters is a database limit.
+ while len(new) > 34:
+ new = new[new.index(" ")+1:]
+ pt.__dict__["%sst"% tooth] = new
+
+ except Exception, e:
+ #shouldn't happen, but safety first.
+ LOGGER.exception("FAILED TO TRANSFER FILLS TO STATIC")
+
+
+if __name__ == "__main__":
+ from openmolar.dbtools import patient_class
+
+ localsettings.initiate()
+ try:
+ serialno = int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno = 14860
+ pt = patient_class.patient(serialno)
+ print plannedItems(pt)
+ print completedItems(pt)
+ print summary(pt)
diff --git a/src/openmolar/ptModules/planDetails.py b/src/openmolar/ptModules/planDetails.py
new file mode 100644
index 0000000..68697c8
--- /dev/null
+++ b/src/openmolar/ptModules/planDetails.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from __future__ import division
+from openmolar.settings import localsettings
+
+def toHtml(plandata):
+ '''
+ returns an HTML table of the patients plandata
+ '''
+ if not plandata.retrieved:
+ return "There was an error retrieving this information"
+
+ retarg='''<html><body><center>
+ <h3>PLAN DETAILS</h3>
+ <table width ="100%" border="1">
+ '''
+ retarg+="<tr><td>PLAN TYPE</td><td>%s</td></tr>"%plandata.plantype
+ retarg+="<tr><td>BAND</td><td>%s</td></tr>"%plandata.band
+ retarg+="<tr><td>GROSS CHARGE</td><td>%s</td></tr>"%(
+ localsettings.formatMoney(plandata.grosschg))
+
+ retarg+="<tr><td>DISCOUNT</td><td>%s%</td></tr>"%plandata.discount
+ retarg+="<tr><td>NET CHARGE</td><td>%s</td></tr>"%(
+ localsettings.formatMoney(plandata.netchg))
+
+ retarg+="<tr><td>CATEGORY</td><td>%s</td></tr>"%plandata.catcode
+ retarg+="<tr><td>DATE JOINED</td><td>%s</td></tr>"%plandata.planjoin
+ retarg+="<tr><td>REGISTRATION NUMBER</td><td>%s</td></tr>"%plandata.regno
+
+ retarg+='</table></body></html>'
+
+ return retarg
+
+if __name__ == "__main__":
+ from openmolar.dbtools import patient_class
+ localsettings.initiate()
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=707
+
+ pt=patient_class.patient(serialno)
+ print toHtml(pt.plandata)
diff --git a/src/openmolar/ptModules/reception_summary.py b/src/openmolar/ptModules/reception_summary.py
new file mode 100644
index 0000000..1dc12ac
--- /dev/null
+++ b/src/openmolar/ptModules/reception_summary.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+this module provides an html summary of the patient's reception activity
+'''
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import paymentHistory
+from openmolar.dbtools import estimate_synopsis
+
+HTML_TEMPLATE = u'''
+<html>
+<head><link rel="stylesheet" href="%s" type="text/css">
+</head>
+<body>
+{{HEADER}}
+<hr />
+{{TREATMENTS}}
+<hr />
+{{PAYMENTS}}
+</html>
+</body>
+'''% localsettings.stylesheet
+
+def header_html(pt):
+
+ if pt.underTreatment:
+ html_ = u"<h3>Patient is under Treatment</h3>course started %s"% (
+ localsettings.readableDate(pt.treatment_course.accd))
+ else:
+ html_ = u"<h3>Last course of treatment</h3>completed %s"% (
+ localsettings.readableDate(pt.treatment_course.cmpd))
+
+ return html_
+
+def treatment_html(pt):
+ return u"<h4>Treatments (courseno %s)</h4>%s"% (
+ pt.courseno0, estimate_synopsis.html(pt.courseno0))
+
+def payments_html(pt):
+ return u'''<h4>Payments Since this course began (excluding Sundries)</h4>
+ %s '''% paymentHistory.summary_details(
+ pt.serialno, pt.treatment_course.accd)
+
+def html(pt):
+ html_ = HTML_TEMPLATE.replace("{{TREATMENTS}}",treatment_html(pt))
+ html_ = html_.replace("{{PAYMENTS}}",payments_html(pt))
+ html_ = html_.replace("{{HEADER}}",header_html(pt))
+
+ return html_
+
+if __name__ == '__main__':
+ from openmolar.dbtools.patient_class import patient
+ localsettings.initiate()
+
+ pt = patient(1314)
+ html = html(pt)
+ html = html.encode("ascii","replace")
+ print html
+
diff --git a/src/openmolar/ptModules/referral.py b/src/openmolar/ptModules/referral.py
new file mode 100644
index 0000000..c818bfd
--- /dev/null
+++ b/src/openmolar/ptModules/referral.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from xml.dom import minidom
+import time,datetime
+from openmolar.settings import localsettings
+
+def getDescriptions():
+ try:
+ d=minidom.parse(localsettings.referralfile)
+ descriptions=d.getElementsByTagName("description")
+ desclist=[]
+ for description in descriptions:
+ desclist.append(description.firstChild.data)
+ return desclist
+ except :
+ return ["error getting settings",localsettings.referralfile]
+def getHtml(desc,pt):
+ try:
+ d=minidom.parse(localsettings.referralfile)
+ descriptions=d.getElementsByTagName("description")
+ desclist=[]
+ found=False
+ for description in descriptions:
+ if description.firstChild.data==desc:
+ found=True
+ break
+ if found:
+ '''this means we have a node with the required address fields etc...'''
+ refnode=description.parentNode
+ surgeon_postal=refnode.getElementsByTagName("surgeon_postal")[0].firstChild.data
+ addressNode=refnode.getElementsByTagName("address")
+ lines=addressNode[0].getElementsByTagName("line")
+ address=[]
+ for line in lines:
+ address.append(line.firstChild.data)
+ greeting=refnode.getElementsByTagName("surgeon_greeting")[0].firstChild.data
+ retarg="<html><body>"
+ retarg+="<br />"*6
+ retarg+="<b>%s<br />"%surgeon_postal
+ for line in address:
+ retarg+="%s<br />"%line
+ retarg+="</b>"+"<br />"*2
+ today=time.localtime()[:3]
+ d=datetime.date(today[0],today[1],today[2])
+ retarg+="%s, " %("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")[d.weekday()]
+ retarg+="%s "%d.day
+ retarg+="%s, "%("January","February","March","April","May","June","July","August","September","October","November","December")[d.month-1]
+ retarg+= '%s <br /><br />'%d.year
+ retarg+="Dear %s,<br />"%greeting
+ retarg+='<div align="center"><b>Re. %s %s %s - '%(pt.title.title(),pt.fname.title(),pt.sname.title())
+ retarg+='DOB %s</b><br />'% localsettings.formatDate(pt.dob)
+ for val in (pt.addr1,pt.addr2,pt.addr3,pt.town,pt.county):
+ if val!="":
+ retarg+=val+","
+ if pt.pcde!="":
+ retarg+=pt.pcde+"."
+ retarg+="<br />Tel - "
+ i=0
+ for val in (pt.tel1,pt.tel2,pt.mobile):
+ if val!="":
+ retarg+=("home ","work ","mobile ")[i]+ val+" "
+ i+=1
+ retarg+="</div>"
+ retarg+="<br />"*(12)
+ retarg+="Yours Sincerely,"+"<br />"*4
+ retarg+="</body></html>"
+ return retarg
+ else:
+ return ("<html><body>SORRY - we couldn't find letter data for % </body></html>"%desc)
+
+ except Exception,e:
+ print e
+ return False
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ from openmolar.dbtools import patient_class
+ pt=patient_class.patient(4)
+ d= getDescriptions()
+ print d
+ print getHtml(d[0],pt)
\ No newline at end of file
diff --git a/src/openmolar/ptModules/standardletter.py b/src/openmolar/ptModules/standardletter.py
new file mode 100644
index 0000000..fb18016
--- /dev/null
+++ b/src/openmolar/ptModules/standardletter.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import time,datetime
+
+def getHtml(pt):
+ #try:
+ retarg="<html><body>"
+ retarg+="<br />"*6
+ retarg+="<b>%s. %s %s<br />"%(pt.title.title(),pt.fname.title(),pt.sname.title())
+ for val in (pt.addr1.title(),pt.addr2.title(),pt.addr3.title(),pt.town,pt.county.title(),pt.pcde):
+ if str(val)!="":
+ retarg+=str(val)+"<br />"
+ retarg+="</b>"+"<br />"*2
+ today=time.localtime()[:3]
+ d=datetime.date(today[0],today[1],today[2])
+ retarg+="%s, " %("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")[d.weekday()]
+ retarg+="%s "%d.day
+ retarg+="%s, "%("January","February","March","April","May","June","July","August","September","October","November","December")[d.month-1]
+ retarg+= '%s <br /><br />'%d.year
+ retarg+="Dear %s. %s,<br />"%(pt.title.title(),pt.sname.title())
+ #######################################################
+ #-- this next line is used to insert text for estimates
+ #-- do not change
+ retarg+="<br />"*(12)
+ #######################################################
+ retarg+="Yours Sincerely,"+"<br />"*4
+ retarg+="</body></html>"
+ return retarg
+ #except Exception,e:
+ #return False
+
+if __name__ == "__main__":
+ from openmolar.dbtools import patient_class
+ pt=patient_class.patient(4)
+ print getHtml(pt)
+
diff --git a/src/openmolar/ptModules/tooth_history.py b/src/openmolar/ptModules/tooth_history.py
new file mode 100644
index 0000000..2b3e302
--- /dev/null
+++ b/src/openmolar/ptModules/tooth_history.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import re
+from openmolar.settings import localsettings
+
+def getHistory(pt, tooth):
+ '''
+ get daybook history for this tooth
+ '''
+ tooth = tooth.upper()
+ hist = ""
+ for tdate, apptix, item in pt.dayBookHistory:
+ regex = "%s (.*)\n?"% tooth
+ m = re.search(regex, item.replace(" ","\n"))
+ if m:
+ for group in m.groups():
+ hist += "<li>%s - %s - %s</li>"%(
+ localsettings.formatDate(tdate),
+ localsettings.ops.get(int(apptix)),
+ group)
+ if hist == "":
+ hist = "None Found"
+ else:
+ hist = "<ul>%s</ul>"% hist
+ return "History for %s<hr />%s"% (tooth, hist)
+
+if __name__ == "__main__":
+ import sys
+ from openmolar.dbtools import patient_class
+ localsettings.initiate()
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=11283
+ pt=patient_class.patient(serialno)
+ print pt.dayBookHistory
+ print getHistory(pt, "lr5")
\ No newline at end of file
diff --git a/src/openmolar/qt-designer/activeDentStartFinish.ui b/src/openmolar/qt-designer/activeDentStartFinish.ui
new file mode 100644
index 0000000..ad0b9d2
--- /dev/null
+++ b/src/openmolar/qt-designer/activeDentStartFinish.ui
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>562</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="topMargin">
+ <number>1</number>
+ </property>
+ <property name="bottomMargin">
+ <number>1</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="checkBox">
+ <property name="minimumSize">
+ <size>
+ <width>92</width>
+ <height>23</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QWidget" name="widget" native="true">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="widget_2" native="true">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit">
+ <property name="minimumSize">
+ <size>
+ <width>160</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/addTreatment.ui b/src/openmolar/qt-designer/addTreatment.ui
new file mode 100644
index 0000000..ed54cfd
--- /dev/null
+++ b/src/openmolar/qt-designer/addTreatment.ui
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>459</width>
+ <height>245</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Plan Treatment</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Add the following Treatment Items to the Current Treatment Plan</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>439</width>
+ <height>173</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/appointment_length.ui b/src/openmolar/qt-designer/appointment_length.ui
new file mode 100644
index 0000000..8728ae8
--- /dev/null
+++ b/src/openmolar/qt-designer/appointment_length.ui
@@ -0,0 +1,137 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="windowModality" >
+ <enum>Qt::NonModal</enum>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>256</width>
+ <height>134</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Select Appointment Length</string>
+ </property>
+ <property name="windowIcon" >
+ <iconset resource="../resources/resources.qrc" >
+ <normaloff>:/logo.png</normaloff>:/logo.png</iconset>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Hours</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Minutes</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QSpinBox" name="hours_spinBox" >
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maximum" >
+ <number>8</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QSpinBox" name="mins_spinBox" >
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maximum" >
+ <number>55</number>
+ </property>
+ <property name="singleStep" >
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>29</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0" colspan="2" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc" />
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>Dialog</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>127</x>
+ <y>66</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/apptOpenDay.ui b/src/openmolar/qt-designer/apptOpenDay.ui
new file mode 100644
index 0000000..cd01a57
--- /dev/null
+++ b/src/openmolar/qt-designer/apptOpenDay.ui
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>540</width>
+ <height>377</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Open a Day</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Clinician</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QComboBox" name="comboBox"/>
+ </item>
+ <item row="0" column="3">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>141</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Date to Open</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="minimumSize">
+ <size>
+ <width>140</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Day Memo - optional</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" colspan="2">
+ <widget class="QLineEdit" name="memo_lineEdit">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>522</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Day Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QTimeEdit" name="dayStart_timeEdit"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="es1_checkBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Morning Emergency Slot</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QTimeEdit" name="es1Start_timeEdit"/>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Finish</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QTimeEdit" name="es1Finish_timeEdit"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="lunch_checkBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Lunch</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QTimeEdit" name="lunchStart_timeEdit"/>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Finish</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QTimeEdit" name="lunchFinish_timeEdit"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="es2_checkBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Afternoon Emergency Slot </string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QTimeEdit" name="es2Start_timeEdit"/>
+ </item>
+ <item row="3" column="3">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Finish</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QTimeEdit" name="es2Finish_timeEdit"/>
+ </item>
+ <item row="4" column="3">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Day Finish</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4">
+ <widget class="QTimeEdit" name="dayFinish_timeEdit"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="5" column="0" colspan="4">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/apptTools.ui b/src/openmolar/qt-designer/apptTools.ui
new file mode 100644
index 0000000..1389a8a
--- /dev/null
+++ b/src/openmolar/qt-designer/apptTools.ui
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>599</width>
+ <height>255</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Appointment Tools</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/logo.png</normaloff>:/logo.png</iconset>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" rowspan="5">
+ <widget class="QLabel" name="label">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resources/resources.qrc">:/appt_ov.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="extendBook_pushButton">
+ <property name="toolTip">
+ <string>Move the end date for making appointments.</string>
+ </property>
+ <property name="text">
+ <string>Extend Books</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="removeOld_pushButton">
+ <property name="text">
+ <string>Remove old weeks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QPushButton" name="editWeeks_pushButton">
+ <property name="text">
+ <string>Edit Standard Working Weeks for Clinicians</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QPushButton" name="openDay_pushButton">
+ <property name="text">
+ <string>Open A Day</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="blocks_pushButton">
+ <property name="text">
+ <string>Insert regular blocks</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>599</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menu_Quit">
+ <property name="title">
+ <string>&Quit</string>
+ </property>
+ </widget>
+ <addaction name="menu_Quit"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/apptWizard.ui b/src/openmolar/qt-designer/apptWizard.ui
new file mode 100644
index 0000000..3a99a3e
--- /dev/null
+++ b/src/openmolar/qt-designer/apptWizard.ui
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>721</width>
+ <height>442</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Appointment Wizard</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Add a combination of proposed appointments to the patients diary.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>699</width>
+ <height>360</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/apptWizardItem.ui b/src/openmolar/qt-designer/apptWizardItem.ui
new file mode 100644
index 0000000..550b6f1
--- /dev/null
+++ b/src/openmolar/qt-designer/apptWizardItem.ui
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>697</width>
+ <height>34</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox">
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>300</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>Add</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/aslotEdit.ui b/src/openmolar/qt-designer/aslotEdit.ui
new file mode 100644
index 0000000..10f814d
--- /dev/null
+++ b/src/openmolar/qt-designer/aslotEdit.ui
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>602</width>
+ <height>457</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Clinicians - DATE</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="4">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="leftMargin">
+ <number>40</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>40</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>92</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Clinician</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Finish</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="minimumSize">
+ <size>
+ <width>160</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Memo</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="minimumSize">
+ <size>
+ <width>346</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>584</width>
+ <height>380</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="copy_pushButton">
+ <property name="toolTip">
+ <string>If you copy this day's setup to the clipboard, you can create a "clone" of this day when no data is set. This is useful when extending books.</string>
+ </property>
+ <property name="text">
+ <string>Copy To Clipboard</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>188</width>
+ <height>24</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="3">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="paste_pushButton">
+ <property name="toolTip">
+ <string>Paste the saved values.</string>
+ </property>
+ <property name="text">
+ <string>Paste</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/blockSlot.ui b/src/openmolar/qt-designer/blockSlot.ui
new file mode 100644
index 0000000..69cf78c
--- /dev/null
+++ b/src/openmolar/qt-designer/blockSlot.ui
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>345</width>
+ <height>361</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Options</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Insert a Block</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Would you like to Block (or partially Block) this Slot?</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Block Start</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Bock End</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="2">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Text to apply</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" colspan="2">
+ <widget class="QComboBox" name="comboBox">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>//Blocked//</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Emergency</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Reserved Clinical Time</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Out of Office</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lunch</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Catch up time</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Phone Call</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>34</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1">
+ <widget class="QFrame" name="blockStart_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QFrame" name="blockEnd_frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" rowspan="2">
+ <widget class="QLabel" name="length_label">
+ <property name="text">
+ <string>minutes</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Insert a Known Patient</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="4">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Insert A Patient into this slot?</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QLabel" name="label_5">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Start Time</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QLabel" name="label_6">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Length</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="3">
+ <widget class="QLabel" name="pt_label">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Chosen Patient is<br /></string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::AutoText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QPushButton" name="changePt_pushButton">
+ <property name="text">
+ <string>Change</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Reason for appointment is</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::AutoText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QComboBox" name="reason_comboBox"/>
+ </item>
+ <item row="5" column="2">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>99</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="3">
+ <widget class="QSpinBox" name="length_spinBox">
+ <property name="suffix">
+ <string> minutes</string>
+ </property>
+ <property name="minimum">
+ <number>-600</number>
+ </property>
+ <property name="maximum">
+ <number>600</number>
+ </property>
+ <property name="singleStep">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QFrame" name="startTime_frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/block_wizard.ui b/src/openmolar/qt-designer/block_wizard.ui
new file mode 100644
index 0000000..6993c2d
--- /dev/null
+++ b/src/openmolar/qt-designer/block_wizard.ui
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>403</width>
+ <height>437</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Block Wizard</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="4">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Insert a block into a book for a range of dates.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Start Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QDateEdit" name="start_dateEdit">
+ <property name="minimumSize">
+ <size>
+ <width>120</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>202</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>End Date (inclusive)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDateEdit" name="end_dateEdit">
+ <property name="minimumSize">
+ <size>
+ <width>120</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>202</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>202</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Length</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="3">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>202</width>
+ <height>22</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Text to Apply</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1" colspan="3">
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item row="7" column="0" colspan="4">
+ <widget class="QGroupBox" name="day_groupBox">
+ <property name="title">
+ <string>Days to Apply</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0" colspan="4">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="1">
+ <widget class="QFrame" name="time_frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QGroupBox" name="clinicians_groupBox">
+ <property name="title">
+ <string>Clinicians</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QSpinBox" name="spinBox">
+ <property name="suffix">
+ <string> minutes</string>
+ </property>
+ <property name="maximum">
+ <number>300</number>
+ </property>
+ <property name="singleStep">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="9" column="0" colspan="4">
+ <widget class="QLabel" name="progress_label">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" colspan="4">
+ <widget class="QProgressBar" name="progressBar">
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/bridge_denture.ui b/src/openmolar/qt-designer/bridge_denture.ui
new file mode 100644
index 0000000..f69cb80
--- /dev/null
+++ b/src/openmolar/qt-designer/bridge_denture.ui
@@ -0,0 +1,242 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>632</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Bridge - Denture Entry</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item rowspan="2" row="0" column="0" >
+ <widget class="QFrame" name="frame" >
+ <property name="minimumSize" >
+ <size>
+ <width>331</width>
+ <height>451</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QTabWidget" name="tabWidget" >
+ <property name="currentIndex" >
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab" >
+ <attribute name="title" >
+ <string>Bridge</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4" >
+ <item>
+ <widget class="QRadioButton" name="radioButton" >
+ <property name="text" >
+ <string>Porcelain / Precious Metal</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_2" >
+ <property name="text" >
+ <string>Lava (or all ceramic)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_3" >
+ <property name="text" >
+ <string>Resin Retained</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>295</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2" >
+ <attribute name="title" >
+ <string>Denture</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3" >
+ <item>
+ <widget class="QFrame" name="frame_2" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Upper</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_4" >
+ <property name="text" >
+ <string>Full (acrylic)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_8" >
+ <property name="text" >
+ <string>Full (co-chrome)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_5" >
+ <property name="text" >
+ <string>Partial (acrylic)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_6" >
+ <property name="text" >
+ <string>Partial (co-chrome)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_7" >
+ <property name="text" >
+ <string>Other</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_3" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Lower</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_9" >
+ <property name="text" >
+ <string>Full (acrylic)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_13" >
+ <property name="text" >
+ <string>Full (co-chrome)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_10" >
+ <property name="text" >
+ <string>Partial (acrylic)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_11" >
+ <property name="text" >
+ <string>Partial (co-chrome)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_12" >
+ <property name="text" >
+ <string>Other</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/bulkmail_options.ui b/src/openmolar/qt-designer/bulkmail_options.ui
new file mode 100644
index 0000000..b0b0c45
--- /dev/null
+++ b/src/openmolar/qt-designer/bulkmail_options.ui
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>410</width>
+ <height>367</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Bulk Mail Options</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" rowspan="2">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Date Format for the letters</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="fullDate_radioButton">
+ <property name="text">
+ <string>Full, Day, month and Year</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="abbrvDate_radioButton">
+ <property name="text">
+ <string>Month and Year Only</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Date to use</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="today_radioButton">
+ <property name="text">
+ <string>Today's Date</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="recd_radioButton">
+ <property name="text">
+ <string>The actual recall date for the patient</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QRadioButton" name="custDate_radioButton">
+ <property name="text">
+ <string>This Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/chooseDocument.ui b/src/openmolar/qt-designer/chooseDocument.ui
new file mode 100644
index 0000000..059ea7f
--- /dev/null
+++ b/src/openmolar/qt-designer/chooseDocument.ui
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>394</width>
+ <height>270</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Choose a Document</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>4</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>2008</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QRadioButton" name="remuneration_radioButton">
+ <property name="text">
+ <string>NHS Schedule of Remuneration April 2008</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="info_radioButton">
+ <property name="text">
+ <string>NHS "Information Guide" 2008</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>2009</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QRadioButton" name="remuneration2009_radioButton">
+ <property name="text">
+ <string>NHS Schedule of Remuneration</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="info2009_radioButton">
+ <property name="text">
+ <string>NHS "Information Guide"</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>2010</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <item>
+ <widget class="QRadioButton" name="remuneration2010_radioButton">
+ <property name="text">
+ <string>NHS Schedule of Remuneration</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="info2010_radioButton">
+ <property name="text">
+ <string>NHS "Information Guide"</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>2012</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_8">
+ <item>
+ <widget class="QRadioButton" name="remuneration2012_radioButton">
+ <property name="text">
+ <string>NHS Schedule of Remuneration</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="info2012_radioButton">
+ <property name="text">
+ <string>NHS "Information Guide"</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="terms_radioButton">
+ <property name="text">
+ <string>NHS terms and conditions</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>15</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_5">
+ <attribute name="title">
+ <string>2013</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QRadioButton" name="remuneration2013_radioButton">
+ <property name="text">
+ <string>NHS Schedule of Remuneration</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="tooth_specific_radioButton">
+ <property name="text">
+ <string>Tooth Specific Guidance</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="info2013_radioButton">
+ <property name="text">
+ <string>NHS "Information Guide"</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="terms2013_radioButton">
+ <property name="text">
+ <string>NHS terms and conditions</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>128</width>
+ <height>63</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Choose a document to view</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="terms_buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>terms_buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>terms_buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/choose_clinicians.ui b/src/openmolar/qt-designer/choose_clinicians.ui
new file mode 100644
index 0000000..b459f38
--- /dev/null
+++ b/src/openmolar/qt-designer/choose_clinicians.ui
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>342</width>
+ <height>385</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Choose Clinicians</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/choose_language.ui b/src/openmolar/qt-designer/choose_language.ui
new file mode 100644
index 0000000..8b2925f
--- /dev/null
+++ b/src/openmolar/qt-designer/choose_language.ui
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>426</width>
+ <height>602</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Language Selector</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Choose from the following available languages.
+Please Note that some of these translations are not complete.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>406</width>
+ <height>351</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="minimumSize">
+ <size>
+ <width>408</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Note - if your preferred language is not available (or incomplete), please visit https://launchpad.net/openmolar and add a translation of your own!</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ </font>
+ </property>
+ <property name="text">
+ <string>Many thanks to all who have helped internationalise openMolar, and to the folks behind the GNU tools and launchpad rosetta team who make this possible.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>27</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/choose_tooth.ui b/src/openmolar/qt-designer/choose_tooth.ui
new file mode 100644
index 0000000..c601a0e
--- /dev/null
+++ b/src/openmolar/qt-designer/choose_tooth.ui
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>736</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Choose A Tooth</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Please Select the tooth to which this treatment is planned</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/codeChecker.ui b/src/openmolar/qt-designer/codeChecker.ui
new file mode 100644
index 0000000..db43822
--- /dev/null
+++ b/src/openmolar/qt-designer/codeChecker.ui
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>907</width>
+ <height>686</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Dialog</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QSplitter" name="splitter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QFrame" name="frame_3">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Deciduous Teeth</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableView" name="dec_tableView">
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Adult Teeth</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableView" name="adult_tableView">
+ <attribute name="horizontalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="bottom_layout">
+ <item>
+ <widget class="QLabel" name="instruction_label">
+ <property name="text">
+ <string>Enter a Restoration Code (eg. MOD) to see how a feescale interprets the shortcut</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>GO</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="quit_pushButton">
+ <property name="text">
+ <string>QUIT</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/completionDate.ui b/src/openmolar/qt-designer/completionDate.ui
new file mode 100644
index 0000000..7f2c6e2
--- /dev/null
+++ b/src/openmolar/qt-designer/completionDate.ui
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>340</width>
+ <height>227</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Completion Date</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="pt_label">
+ <property name="text">
+ <string>UNNAMED PT - (000000)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="autoComplete_label">
+ <property name="text">
+ <string>You have no further treatment proposed for this patient, yet they are deemed to be "under treatment".</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Suggested completion Date</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Apply this Date Now?
+(course can be re-opened later if necessary)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>14</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::No|QDialogButtonBox::Yes</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/customTreatment.ui b/src/openmolar/qt-designer/customTreatment.ui
new file mode 100644
index 0000000..d40fb95
--- /dev/null
+++ b/src/openmolar/qt-designer/customTreatment.ui
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>346</width>
+ <height>192</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Custom Item</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="2" column="0" colspan="3">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Number of Items</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>number_spinBox</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QSpinBox" name="number_spinBox">
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Fee</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>fee_doubleSpinBox</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QDoubleSpinBox" name="fee_doubleSpinBox">
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="maximum">
+ <double>3000.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>1.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>50</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="1" colspan="3">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QLineEdit" name="description_lineEdit">
+ <property name="maxLength">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Treatment Description</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>description_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>number_spinBox</tabstop>
+ <tabstop>fee_doubleSpinBox</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/daylist_print.ui b/src/openmolar/qt-designer/daylist_print.ui
new file mode 100644
index 0000000..856f19b
--- /dev/null
+++ b/src/openmolar/qt-designer/daylist_print.ui
@@ -0,0 +1,203 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>376</width>
+ <height>486</height>
+ </rect>
+ </property>
+ <property name="font" >
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="windowTitle" >
+ <string>Daylist Printing Wizard</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="font" >
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text" >
+ <string>Specify Dates and Practitioners for a Daylist Print Run</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Start Date</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="label_4" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>End Date</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QDateEdit" name="start_dateEdit" >
+ <property name="calendarPopup" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QDateEdit" name="end_dateEdit" >
+ <property name="calendarPopup" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="widgetResizable" >
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>354</width>
+ <height>196</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="allOnePage_radioButton" >
+ <property name="text" >
+ <string>All Practioners on One Page</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="onePageMin_radioButton" >
+ <property name="text" >
+ <string>One Practitioner Per Page - Minimal</string>
+ </property>
+ <property name="checked" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="onePageFull_radioButton" >
+ <property name="text" >
+ <string>One Practioner Per Page - Fill Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/diary_widget.ui b/src/openmolar/qt-designer/diary_widget.ui
new file mode 100644
index 0000000..f7de684
--- /dev/null
+++ b/src/openmolar/qt-designer/diary_widget.ui
@@ -0,0 +1,953 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>732</width>
+ <height>551</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QTabWidget" name="diary_tabWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_dayview">
+ <attribute name="title">
+ <string>Day View</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frame_18">
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>220</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_19">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QWidget" name="dayCalendar_frame" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="goTodayPushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Go To Today</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_reload.png</normaloff>:/agt_reload.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="day_view_control_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="1" column="0">
+ <widget class="QSplitter" name="dayView_splitter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QScrollBar" name="emergency_dayview_scroll_bar">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QWebView" name="appt_notes_webView">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>150</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="daymemo_label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_weekview">
+ <attribute name="title">
+ <string>Week View</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_11">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item row="0" column="0" rowspan="2">
+ <widget class="QFrame" name="frame_8">
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>220</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QWidget" name="weekCalendar_frame" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="goto_current_week_PushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>View Current Week</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_reload.png</normaloff>:/agt_reload.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="week_view_control_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSplitter" name="weekView_splitter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QWidget" name="layoutWidget">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QFrame" name="day1_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QFrame" name="day2_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QFrame" name="day3_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QFrame" name="day4_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QFrame" name="day5_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QFrame" name="appt_OV_Frame1">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QFrame" name="appt_OV_Frame2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QFrame" name="appt_OV_Frame3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QFrame" name="appt_OV_Frame4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QFrame" name="appt_OV_Frame5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="layoutWidget_2">
+ <layout class="QVBoxLayout" name="verticalLayout_23">
+ <item>
+ <widget class="QFrame" name="day6_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="appt_OV_Frame6">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="day7_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="appt_OV_Frame7">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_monthview">
+ <attribute name="title">
+ <string>Month View</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item row="0" column="0" colspan="4">
+ <widget class="QScrollArea" name="monthView_scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_14">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>702</width>
+ <height>456</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_22">
+ <item>
+ <spacer name="horizontalSpacer_13">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="aptOVprevmonth">
+ <property name="maximumSize">
+ <size>
+ <width>28</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/back.png</normaloff>:/back.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_65">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Month</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="aptOVnextmonth">
+ <property name="maximumSize">
+ <size>
+ <width>28</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/forward.png</normaloff>:/forward.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_14">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="3">
+ <widget class="QPushButton" name="printMonth_pushButton">
+ <property name="text">
+ <string>Print Month View</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="monthClinicians_checkBox">
+ <property name="text">
+ <string>All Clinicians</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="monthView_clinicians_pushButton">
+ <property name="text">
+ <string>Select Clinicians</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_yearview">
+ <attribute name="title">
+ <string>Year View</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_22">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item row="0" column="0" colspan="3">
+ <widget class="QTextBrowser" name="year_textBrowser">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QFrame" name="yearView_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="yearClinicians_checkBox">
+ <property name="text">
+ <string>All Clinicians</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="yearView_clinicians_pushButton">
+ <property name="text">
+ <string>Select Clinicians</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <spacer name="horizontalSpacer_10">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="aptOVprevyear">
+ <property name="maximumSize">
+ <size>
+ <width>28</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/back.png</normaloff>:/back.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_64">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Year</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="aptOVnextyear">
+ <property name="maximumSize">
+ <size>
+ <width>28</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/forward.png</normaloff>:/forward.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_agenda">
+ <attribute name="title">
+ <string>Agenda</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_agenda">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QWidget" name="agenda_calendar_frame" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>220</width>
+ <height>200</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" rowspan="3">
+ <widget class="QFrame" name="agenda_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="agenda_goTodayPushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>220</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Go To Today</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_reload.png</normaloff>:/agt_reload.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QFrame" name="agenda_control_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>220</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>220</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QWebView</class>
+ <extends>QWidget</extends>
+ <header>QtWebKit/QWebView</header>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/editmemos.ui b/src/openmolar/qt-designer/editmemos.ui
new file mode 100644
index 0000000..06acbcb
--- /dev/null
+++ b/src/openmolar/qt-designer/editmemos.ui
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>417</width>
+ <height>395</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Edit Memos</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Global Memo</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Clinician Memos</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="3">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>399</width>
+ <height>238</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/enter_letter_text.ui b/src/openmolar/qt-designer/enter_letter_text.ui
new file mode 100644
index 0000000..4897b37
--- /dev/null
+++ b/src/openmolar/qt-designer/enter_letter_text.ui
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="windowModality">
+ <enum>Qt::NonModal</enum>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>644</width>
+ <height>641</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Letter Text Entry</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string><b>Please enter the body text for your letter here.</b></string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QTextEdit" name="textEdit"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/exam_wizard.ui b/src/openmolar/qt-designer/exam_wizard.ui
new file mode 100644
index 0000000..81df24c
--- /dev/null
+++ b/src/openmolar/qt-designer/exam_wizard.ui
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>333</width>
+ <height>272</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Exam Wizard</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Type</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="examA_radioButton">
+ <property name="text">
+ <string>Standard</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="examB_radioButton">
+ <property name="text">
+ <string>Extensive</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QRadioButton" name="examC_radioButton">
+ <property name="text">
+ <string>Full Case Assessment</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Exam Date</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Dentist</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="dents_comboBox"/>
+ </item>
+ <item row="5" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/finalise_appt_time.ui b/src/openmolar/qt-designer/finalise_appt_time.ui
new file mode 100644
index 0000000..c50d0fa
--- /dev/null
+++ b/src/openmolar/qt-designer/finalise_appt_time.ui
@@ -0,0 +1,148 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>321</width>
+ <height>159</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Appointment Time</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Space Before Appointment</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="minutesB4label" >
+ <property name="text" >
+ <string>0 mins</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item rowspan="3" row="0" column="2" >
+ <widget class="QSlider" name="verticalSlider" >
+ <property name="mouseTracking" >
+ <bool>true</bool>
+ </property>
+ <property name="value" >
+ <number>0</number>
+ </property>
+ <property name="tracking" >
+ <bool>true</bool>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="invertedAppearance" >
+ <bool>true</bool>
+ </property>
+ <property name="invertedControls" >
+ <bool>false</bool>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::NoTicks</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Appointment Time</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QLabel" name="apptTimelabel" >
+ <property name="text" >
+ <string>00:00 - 00:00</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Space After Appointment</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLabel" name="minutesL8Rlabel" >
+ <property name="text" >
+ <string>0 mins</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="3" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/forumPost.ui b/src/openmolar/qt-designer/forumPost.ui
new file mode 100644
index 0000000..ffa7f22
--- /dev/null
+++ b/src/openmolar/qt-designer/forumPost.ui
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>502</width>
+ <height>253</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Forum Input</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Topic</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="3">
+ <widget class="QLineEdit" name="topic_lineEdit"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>To</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QComboBox" name="to_comboBox">
+ <property name="maxVisibleItems">
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Comment</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" rowspan="2" colspan="3">
+ <widget class="QTextEdit" name="comment_textEdit">
+ <property name="acceptRichText">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="4">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="count_label">
+ <property name="text">
+ <string>(0 Characters)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>From</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="from_comboBox">
+ <property name="maxVisibleItems">
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/hygenist_wizard.ui b/src/openmolar/qt-designer/hygenist_wizard.ui
new file mode 100644
index 0000000..407595b
--- /dev/null
+++ b/src/openmolar/qt-designer/hygenist_wizard.ui
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>339</width>
+ <height>350</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Hygienist Wizard</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QGroupBox" name="planned_groupbox">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Planned Treatments</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="styleSheet">
+ <string notr="true">color:red;</string>
+ </property>
+ <property name="text">
+ <string>label</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>Ok - I'll be careful!</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Type</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QRadioButton" name="db_radioButton">
+ <property name="text">
+ <string>Debridement</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="sp_radioButton">
+ <property name="text">
+ <string>Scale and Polish</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="extsp_radioButton">
+ <property name="text">
+ <string>Extensive Scaling</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="clinicianGroupBox">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Treating Dentist/Hygienist</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>89</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QComboBox" name="dents_comboBox">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>88</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>29</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/initialise.ui b/src/openmolar/qt-designer/initialise.ui
new file mode 100644
index 0000000..ce1f087
--- /dev/null
+++ b/src/openmolar/qt-designer/initialise.ui
@@ -0,0 +1,890 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>507</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>OpenMolar - database wizard</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_8">
+ <attribute name="title">
+ <string>Start</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>What do you want to do?</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QRadioButton" name="modifydb_radioButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Modify an existing openmolar database</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="comboBox">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="3">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>407</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <widget class="QRadioButton" name="blankdb_radioButton">
+ <property name="text">
+ <string>Create a New database from scratch</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QRadioButton" name="newdb_template_radioButton">
+ <property name="text">
+ <string>Create a New database (from a known template)</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Practice Details</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QFrame" name="practice_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Practice Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Used in receipts, appointment cards etc.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Address Line 1</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_2"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Address Line 2</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_3"/>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_23">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Address Line 3</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="lineEdit_4"/>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="label_27">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Town</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="lineEdit_5"/>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>County</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="lineEdit_6"/>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLabel" name="label_28">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Postcode / Zip</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="lineEdit_7"/>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_25">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Telephone</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLineEdit" name="lineEdit_8"/>
+ </item>
+ <item row="7" column="2">
+ <widget class="QLabel" name="label_26">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Fax</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QLineEdit" name="lineEdit_9"/>
+ </item>
+ <item row="8" column="2">
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Website</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QLineEdit" name="lineEdit_10"/>
+ </item>
+ <item row="9" column="2">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Email</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QLineEdit" name="lineEdit_11"/>
+ </item>
+ <item row="10" column="2">
+ <widget class="QLabel" name="label_20">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Users</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>The Following users can login to the application</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="users_tableWidget">
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <column>
+ <property name="text">
+ <string>Id</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>User Group</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Active?</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>DeActivation Date</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_11">
+ <item>
+ <widget class="QPushButton" name="modifyUser_pushButton">
+ <property name="text">
+ <string>Modify Selected User</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="user_groupBox">
+ <property name="title">
+ <string>New User Details</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_8">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="userName_lineEdit"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="userInits_lineEdit"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>User Group</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="userGroup_comboBox">
+ <item>
+ <property name="text">
+ <string>Standard User</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Dentist</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Hygienist</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Receptionist</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QCheckBox" name="userActive_checkBox">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Active User</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="user_date_label">
+ <property name="text">
+ <string>DeActivation Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QDateEdit" name="user_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="newUser_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Add a New User</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Dentists</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QLabel" name="label_33">
+ <property name="text">
+ <string>The Following dentists have notes in this database
+(note - dentists should not be removed from the database, as this could create lookup issues for cashbooks and notes) </string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="tableWidget_2">
+ <column>
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>User Group</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Active?</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_7">
+ <item>
+ <widget class="QLabel" name="label_29">
+ <property name="text">
+ <string>Add a Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_30">
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit_14"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_31">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_15"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_45">
+ <property name="text">
+ <string>Registration</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_21">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_2">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Active Appointment Book</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Hygienists</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_38">
+ <property name="text">
+ <string>The Following hygienists have notes in this database
+(note - hygienists should not be removed from the database, as this could create lookup issues for cashbooks and notes) </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="tableWidget_3">
+ <column>
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>User Group</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Active?</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_4">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_8">
+ <item>
+ <widget class="QLabel" name="label_32">
+ <property name="text">
+ <string>Add a Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_34">
+ <property name="text">
+ <string>Initials</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit_16"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_35">
+ <property name="text">
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lineEdit_17"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_46">
+ <property name="text">
+ <string>Registration</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lineEdit_22">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_3">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Active Appointment Book</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_5">
+ <attribute name="title">
+ <string>Practice Hours</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QFrame" name="frame_6">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_7">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="checkBox_7">
+ <property name="text">
+ <string>Monday</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTimeEdit" name="timeEdit"/>
+ </item>
+ <item row="0" column="2">
+ <widget class="QTimeEdit" name="timeEdit_2"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="checkBox_8">
+ <property name="text">
+ <string>Tuesday</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QTimeEdit" name="timeEdit_3"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QTimeEdit" name="timeEdit_4"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="checkBox_9">
+ <property name="text">
+ <string>Wednesday</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QTimeEdit" name="timeEdit_5"/>
+ </item>
+ <item row="2" column="2">
+ <widget class="QTimeEdit" name="timeEdit_6"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="checkBox_10">
+ <property name="text">
+ <string>Thursday</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QTimeEdit" name="timeEdit_7"/>
+ </item>
+ <item row="3" column="2">
+ <widget class="QTimeEdit" name="timeEdit_8"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QCheckBox" name="checkBox_11">
+ <property name="text">
+ <string>Friday</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QTimeEdit" name="timeEdit_10"/>
+ </item>
+ <item row="4" column="2">
+ <widget class="QTimeEdit" name="timeEdit_11"/>
+ </item>
+ <item row="5" column="0">
+ <widget class="QCheckBox" name="checkBox_12">
+ <property name="text">
+ <string>Saturday</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QTimeEdit" name="timeEdit_12"/>
+ </item>
+ <item row="5" column="2">
+ <widget class="QTimeEdit" name="timeEdit_9"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="checkBox_13">
+ <property name="text">
+ <string>Sunday</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QTimeEdit" name="timeEdit_13"/>
+ </item>
+ <item row="6" column="2">
+ <widget class="QTimeEdit" name="timeEdit_14"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_7">
+ <attribute name="title">
+ <string>View XML</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_10"/>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionLoad_Template"/>
+ <addaction name="action_Save_Template"/>
+ </widget>
+ <addaction name="menuFile"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <action name="actionLoad_Template">
+ <property name="text">
+ <string>L&oad Template</string>
+ </property>
+ </action>
+ <action name="action_Save_Template">
+ <property name="text">
+ <string>&Save Template</string>
+ </property>
+ </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/main.ui b/src/openmolar/qt-designer/main.ui
new file mode 100644
index 0000000..87d9b0c
--- /dev/null
+++ b/src/openmolar/qt-designer/main.ui
@@ -0,0 +1,5278 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>943</width>
+ <height>642</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font/>
+ </property>
+ <property name="windowTitle">
+ <string>Open Molar</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/openmolar.svg</normaloff>:/openmolar.svg</iconset>
+ </property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <property name="dockNestingEnabled">
+ <bool>false</bool>
+ </property>
+ <property name="unifiedTitleAndToolBarOnMac">
+ <bool>false</bool>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout_18">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea_main">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_12">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>1071</width>
+ <height>585</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTabWidget" name="main_tabWidget">
+ <property name="tabPosition">
+ <enum>QTabWidget::North</enum>
+ </property>
+ <property name="tabShape">
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <property name="documentMode">
+ <bool>false</bool>
+ </property>
+ <widget class="QWidget" name="tab_patient">
+ <attribute name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/kfm.png</normaloff>:/kfm.png</iconset>
+ </attribute>
+ <attribute name="title">
+ <string>Patient Database</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_24">
+ <property name="margin">
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="details_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frame_15">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="home_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Exit the Current Patient Record.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/kfm_home.png</normaloff>:/kfm_home.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Esc</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="newPatientPushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Add a New Patient to the database.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/add_user.png</normaloff>:/add_user.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="findButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Click on this Button to search for in patient in your database.</string>
+ </property>
+ <property name="text">
+ <string>Find</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/search.png</normaloff>:/search.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+F</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_16">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="backButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>This cycles back through the history of records loaded today.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/back.png</normaloff>:/back.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="reloadButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Reload the patient from the database.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_reload.png</normaloff>:/agt_reload.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+R</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="nextButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>This cycles forwards through the history of records loaded today.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/forward.png</normaloff>:/forward.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="relatedpts_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Show patients who live at the same address, or who have a similar name.</string>
+ </property>
+ <property name="text">
+ <string>&Relatives</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_family.png</normaloff>:/agt_family.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+G</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="dayList_comboBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>A drop down box of all patients who have an appointment today.</string>
+ </property>
+ <property name="maxVisibleItems">
+ <number>40</number>
+ </property>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextBrowser" name="detailsBrowser">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSplitter" name="splitter_patient">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="childrenCollapsible">
+ <bool>false</bool>
+ </property>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>4</number>
+ </property>
+ <widget class="QWidget" name="tab_patient_details">
+ <attribute name="title">
+ <string>Patient Details</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea_4">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_7">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>850</width>
+ <height>477</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <item>
+ <widget class="QGroupBox" name="patientEdit_groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Details</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="verticalSpacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>6</number>
+ </property>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Date of Birth</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Address3</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>addr3Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="7">
+ <widget class="QPushButton" name="pushButton_6">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>send an sms</string>
+ </property>
+ <property name="text">
+ <string>sms</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>8</width>
+ <height>8</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="4">
+ <widget class="QLabel" name="label_23">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>email2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>email2Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" colspan="3">
+ <widget class="QDateEdit" name="dobEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QLabel" name="label_15">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Fax</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>faxEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Town</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>townEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1" colspan="3">
+ <widget class="QLineEdit" name="townEdit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="4" rowspan="3">
+ <widget class="QLabel" name="label_55">
+ <property name="text">
+ <string>Memo</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>memoEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="5" rowspan="3" colspan="3">
+ <widget class="QTextEdit" name="memoEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="acceptRichText">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>County</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>countyEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4">
+ <widget class="QLabel" name="label_16">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>email1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>email1Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="5" colspan="2">
+ <widget class="QLineEdit" name="email1Edit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="7">
+ <widget class="QPushButton" name="email1_button">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>send an email</string>
+ </property>
+ <property name="text">
+ <string>email</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>8</width>
+ <height>8</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1" colspan="3">
+ <widget class="QLineEdit" name="addr3Edit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="4">
+ <widget class="QLabel" name="label_25">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Occupation</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>occupationEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="5" colspan="3">
+ <widget class="QLineEdit" name="occupationEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Title</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>titleEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Surname</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>snameEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" colspan="3">
+ <widget class="QLineEdit" name="snameEdit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QLabel" name="label_14">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Tel (mob)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>mobileEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Address2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>addr2Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1" colspan="3">
+ <widget class="QLineEdit" name="addr2Edit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="5" colspan="2">
+ <widget class="QLineEdit" name="email2Edit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="7">
+ <widget class="QPushButton" name="email2_button">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>send an email</string>
+ </property>
+ <property name="text">
+ <string>email</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>8</width>
+ <height>8</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="titleEdit">
+ <property name="maximumSize">
+ <size>
+ <width>101</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_17">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Sex</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>sexEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QComboBox" name="sexEdit">
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <item>
+ <property name="text">
+ <string>M</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>F</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="8" column="1" colspan="3">
+ <widget class="QLineEdit" name="countyEdit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Postcode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>pcdeEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QLabel" name="label_12">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Tel (home)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>tel1Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="7">
+ <widget class="QPushButton" name="pushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>send a fax</string>
+ </property>
+ <property name="text">
+ <string>fax</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>8</width>
+ <height>8</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Address1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>addr1Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="3">
+ <widget class="QLineEdit" name="addr1Edit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1" colspan="3">
+ <widget class="QLineEdit" name="pcdeEdit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>First Name</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>fnameEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="3">
+ <widget class="QLineEdit" name="fnameEdit">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QLabel" name="label_13">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Tel (work)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>tel2Edit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5" colspan="2">
+ <widget class="QLineEdit" name="tel1Edit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="5" colspan="2">
+ <widget class="QLineEdit" name="faxEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="5" colspan="2">
+ <widget class="QLineEdit" name="mobileEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="5" colspan="2">
+ <widget class="QLineEdit" name="tel2Edit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" colspan="8">
+ <widget class="QLabel" name="highlighted_fields_label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Higlighted Fields are Mandatory for New Patients</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="family_groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Family Groups</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_11">
+ <property name="margin">
+ <number>6</number>
+ </property>
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="family_button">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string>Raise a dialog to edit the patients family grouping</string>
+ </property>
+ <property name="text">
+ <string>Edit family group</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="family_group_label">
+ <property name="text">
+ <string>Not a member of a known family</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QPushButton" name="auto_address_button">
+ <property name="toolTip">
+ <string>Use the Sname and Address details from the previous patient.</string>
+ </property>
+ <property name="text">
+ <string>Apply Address of previous record</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_contract">
+ <attribute name="title">
+ <string>Contract</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_13">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>Pt is registered with Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QComboBox" name="dnt1comboBox">
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="contractType_label">
+ <property name="text">
+ <string>Course Type</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QComboBox" name="cseType_comboBox">
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>368</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QFrame" name="frame_19">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_17">
+ <item>
+ <widget class="QLabel" name="label_40">
+ <property name="text">
+ <string>Status</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="status_comboBox"/>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_12">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>242</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="badDebt_pushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Write Off Bad Debt</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="5">
+ <widget class="QTabWidget" name="contract_tabWidget">
+ <property name="currentIndex">
+ <number>2</number>
+ </property>
+ <widget class="QWidget" name="tab_18">
+ <attribute name="title">
+ <string>Private</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_26">
+ <item row="0" column="0" rowspan="2">
+ <widget class="QLabel" name="contractHDP_label_2">
+ <property name="text">
+ <string>This label is for displaying Private contractual stuff</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_38">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resources/resources.qrc">:/private.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>147</width>
+ <height>281</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="editPriv_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_19">
+ <attribute name="title">
+ <string>Highland Dental Plan</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_25">
+ <item row="0" column="0" rowspan="2">
+ <widget class="QLabel" name="contractHDP_label">
+ <property name="text">
+ <string>This label is for displaying HDP contractual stuff</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>108</width>
+ <height>162</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="editHDP_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_20">
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resources/resources.qrc">:/hdp.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <zorder>contractHDP_label</zorder>
+ <zorder>verticalSpacer_5</zorder>
+ <zorder>editHDP_pushButton</zorder>
+ <zorder>label_20</zorder>
+ </widget>
+ <widget class="QWidget" name="tab_20">
+ <attribute name="title">
+ <string>NHS</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_24">
+ <item row="0" column="0">
+ <widget class="QLabel" name="contractNHS_label">
+ <property name="text">
+ <string>This label is for displaying NHS contractual stuff</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" rowspan="2">
+ <layout class="QVBoxLayout" name="verticalLayout_26">
+ <item>
+ <widget class="QLabel" name="label_8">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resources/resources.qrc">:/nhs_scot.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="nhsclaims_pushButton">
+ <property name="text">
+ <string>View Claims History</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editNHS_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <layout class="QGridLayout" name="gridLayout_23">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_46">
+ <property name="text">
+ <string>Exemption</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="exemption_lineEdit">
+ <property name="maxLength">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_48">
+ <property name="text">
+ <string>Exemption Text</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="exempttext_lineEdit">
+ <property name="maxLength">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_21">
+ <attribute name="title">
+ <string>Registered Elsewhere</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_27">
+ <item row="0" column="0" rowspan="2">
+ <widget class="QLabel" name="contractHDP_label_3">
+ <property name="text">
+ <string>No Details of Pt's Registered Dentist Found</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>147</width>
+ <height>281</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="editRegDent_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_correspondence">
+ <attribute name="title">
+ <string>Correspondence</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <item>
+ <widget class="QScrollArea" name="scrollArea_5">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_8">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>441</width>
+ <height>423</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox_6">
+ <property name="title">
+ <string>Letters TO the patient</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QPushButton" name="standardLetterPushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string> Custom Letter to the patient</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="printRecall_pushButton">
+ <property name="toolTip">
+ <string>Print a recall saying the patient is due now.</string>
+ </property>
+ <property name="text">
+ <string>Recall for An Examination</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="receiptPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print a receipt - useful for duplicates.</string>
+ </property>
+ <property name="text">
+ <string>Duplicate Receipt</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="account2_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Print An Account Letter</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox_7">
+ <property name="title">
+ <string>Referrals (Letters about the patient)</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QComboBox" name="referralLettersComboBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>240</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="referralLettersPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Print</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox_8">
+ <property name="title">
+ <string>Patient "Notes"</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_7">
+ <item>
+ <widget class="QPushButton" name="notesPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print a summary of the patient's notes (for them to take on). Includes No fee details.</string>
+ </property>
+ <property name="text">
+ <string>Print the patient's notes</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="6">
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Previous Correspondence</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_21">
+ <item>
+ <widget class="QLabel" name="label_44">
+ <property name="text">
+ <string>Generated By OpenMolar</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTreeWidget" name="prevCorres_treeWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="animated">
+ <bool>true</bool>
+ </property>
+ <column>
+ <property name="text">
+ <string>1</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_45">
+ <property name="text">
+ <string>Imported into database</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTreeWidget" name="importDoc_treeWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <column>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="importDoc_pushButton">
+ <property name="text">
+ <string>Import A Document</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="2" colspan="2">
+ <spacer name="verticalSpacer_11">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox_9">
+ <property name="title">
+ <string>Medical History</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_19">
+ <item>
+ <widget class="QPushButton" name="medicalPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print a summary of the patient's notes (for them to take on). Includes No fee details.</string>
+ </property>
+ <property name="text">
+ <string>Print a medical history form</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_reception">
+ <attribute name="title">
+ <string>Reception</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_24">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea_2">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_5">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>303</width>
+ <height>471</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_26">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_32">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QSplitter" name="splitter_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QGroupBox" name="reception_groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Reception</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_32">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="1" column="1">
+ <widget class="QGroupBox" name="NHSadmin_groupBox">
+ <property name="title">
+ <string>NHS</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_27">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="printGP17_pushButton">
+ <property name="text">
+ <string>Print A GP17</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="rec_apply_exemption_pushButton">
+ <property name="text">
+ <string>Apply an Exemption</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="customEst_checkBox">
+ <property name="text">
+ <string>Custom Estimate on File</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QPushButton" name="printAccount_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Print &Account</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QPushButton" name="takePayment_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Take &Payment</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/vcard.png</normaloff>:/vcard.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" rowspan="7">
+ <widget class="QTextBrowser" name="reception_textBrowser">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QPushButton" name="printEst_pushButton">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Print &Estimate</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_recnotes">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>300</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Notes</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_30">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QWebView" name="recNotes_webView">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="pt_diary_groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Patient's Diary</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_34">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_summary">
+ <attribute name="title">
+ <string>Clinical Summary</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_12">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea_6">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_9">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>846</width>
+ <height>456</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QFrame" name="staticSummaryPanel">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>180</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLineEdit" name="synopsis_lineEdit">
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <italic>true</italic>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="whatsThis">
+ <string/>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">color:red</string>
+ </property>
+ <property name="maxLength">
+ <number>140</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="2">
+ <widget class="QWebView" name="notesSummary_webView">
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QGroupBox" name="bpe_groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>145</width>
+ <height>135</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>BPE</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_8">
+ <property name="leftMargin">
+ <number>3</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="rightMargin">
+ <number>9</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QTextBrowser" name="bpe_textBrowser">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>65</height>
+ </size>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="newBPE_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Update the Basic Perio Exam (CPITN) score</string>
+ </property>
+ <property name="text">
+ <string>New</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QTextBrowser" name="planSummary_textBrowser">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <item>
+ <widget class="QPushButton" name="exampushButton">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>perform a clinical exam</string>
+ </property>
+ <property name="text">
+ <string>Exam</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="xray_pushButton">
+ <property name="toolTip">
+ <string>add x-rays to the patient's current course.</string>
+ </property>
+ <property name="text">
+ <string>X-ray</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="hygWizard_pushButton">
+ <property name="toolTip">
+ <string>perform common perio treatments</string>
+ </property>
+ <property name="text">
+ <string>Hyg</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="closeCourse_pushButton">
+ <property name="text">
+ <string>Close This Course</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>28</width>
+ <height>17</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="childsmile_button">
+ <property name="text">
+ <string>ChildSmile</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="medNotes_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>check / update the patients medical history</string>
+ </property>
+ <property name="text">
+ <string>Med Notes</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_notes">
+ <attribute name="title">
+ <string>Notes</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <item row="0" column="0" colspan="3">
+ <widget class="QWebView" name="notes_webView">
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_35">
+ <item>
+ <widget class="QLabel" name="label_35">
+ <property name="text">
+ <string>Include</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="notes_includePrinting_checkBox">
+ <property name="text">
+ <string>Printing Notes</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="notes_includePayments_checkBox">
+ <property name="text">
+ <string>Payments</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="notes_includeTimestamps_checkBox">
+ <property name="text">
+ <string>Timestamps</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="notes_includeMetadata_checkBox">
+ <property name="text">
+ <string>Metadata</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="1">
+ <spacer name="horizontalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="2">
+ <widget class="QCheckBox" name="summary_notes_checkBox">
+ <property name="toolTip">
+ <string><html><head/><body><p>Use these settings for the clinical summary notes also.</p></body></html></string>
+ </property>
+ <property name="text">
+ <string>clinical summary</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_charts">
+ <attribute name="title">
+ <string>Charts / Planning</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_8">
+ <item row="0" column="0">
+ <widget class="QStackedWidget" name="stackedWidget">
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="table">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QTableWidget" name="chartsTableWidget">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectItems</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="charts">
+ <layout class="QGridLayout" name="gridLayout_14">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item row="3" column="1">
+ <widget class="QListView" name="completed_listView">
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QListView" name="plan_listView">
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="static_groupBox">
+ <property name="font">
+ <font>
+ <kerning>true</kerning>
+ </font>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::ClickFocus</enum>
+ </property>
+ <property name="title">
+ <string>Static</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QGroupBox" name="plan_groupBox">
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Plan</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QFrame" name="static_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>120</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QGroupBox" name="completed_groupBox">
+ <property name="title">
+ <string>Completed</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="1" rowspan="2">
+ <widget class="QFrame" name="toothProps_frame">
+ <property name="minimumSize">
+ <size>
+ <width>160</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Treatment Planning</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QStackedWidget" name="plan_buttons_stacked_widget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="plan_buttons_page1">
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="xrayTxpushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>X-Rays</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="perioTxpushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Perio</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="dentureTxpushButton">
+ <property name="text">
+ <string>Dentures</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="otherTxpushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Other</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="customTx_pushButton">
+ <property name="text">
+ <string>Custom</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="advanced_tx_planning_button">
+ <property name="text">
+ <string>Advanced Tx Planning</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="plan_buttons_page2">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="spacing">
+ <number>12</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="plan_course_manage_button">
+ <property name="text">
+ <string>Patient is not currently under treatment - click here to begin</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_estimate">
+ <attribute name="title">
+ <string>Estimate</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QScrollArea" name="estimate_scrollArea">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>202</height>
+ </size>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_11">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>98</width>
+ <height>200</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_19"/>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_4">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>153</width>
+ <height>224</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_9">
+ <item>
+ <widget class="QLabel" name="estimate_label">
+ <property name="text">
+ <string>Estimate</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="estLetter_pushButton">
+ <property name="text">
+ <string>Custom Estimate Letter</string>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="recalcEst_pushButton">
+ <property name="toolTip">
+ <string>Use this feature to re-price all items in the "tooth" category of treatments. i.e all those which appear on the charts.
+
+Note - this will not remove items which are currently there. </string>
+ </property>
+ <property name="text">
+ <string>ReCalculate Estimate</string>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="apply_exemption_pushButton">
+ <property name="text">
+ <string>Apply Exemption</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_10">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_22">
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string>Course Dentist</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="dnt2comboBox">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="closeTx_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Close Course</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_perio">
+ <attribute name="title">
+ <string>Perio Charts</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QScrollArea" name="perioCharts_scrollArea">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_6">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>252</width>
+ <height>376</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_15">
+ <item row="0" column="0" colspan="3">
+ <widget class="QFrame" name="perioChart_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>140</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>140</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QScrollArea" name="perioChartData_scrollArea">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_10">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>918</width>
+ <height>1218</height>
+ </rect>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_15">
+ <item>
+ <widget class="QFrame" name="perioChartData_frame">
+ <property name="minimumSize">
+ <size>
+ <width>900</width>
+ <height>1200</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QGroupBox" name="groupBox_11">
+ <property name="title">
+ <string>Choose Data</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_16">
+ <item>
+ <widget class="QLabel" name="label_41">
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Chart Date</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="perioChartDateComboBox"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="newPerioChartPushButton">
+ <property name="text">
+ <string>New</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QFrame" name="perioToothProps_frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QGroupBox" name="groupBox_12">
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>BPE</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_15">
+ <item>
+ <widget class="QTextBrowser" name="bpe_textBrowser_2">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>65</height>
+ </size>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="bpeDateComboBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_patient_history">
+ <attribute name="title">
+ <string>History</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_29">
+ <item>
+ <widget class="QTextBrowser" name="debugBrowser"/>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_3">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_25">
+ <item>
+ <widget class="QPushButton" name="pastPayments_pushButton">
+ <property name="toolTip">
+ <string>See all payments in the database made by this patient</string>
+ </property>
+ <property name="text">
+ <string>Past Payments</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pastTreatment_pushButton">
+ <property name="toolTip">
+ <string>View treatments completed, by date order</string>
+ </property>
+ <property name="text">
+ <string>Past Treatment</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="past_course_estimates_pushButton">
+ <property name="toolTip">
+ <string>display a combination of courses and estimates.</string>
+ </property>
+ <property name="text">
+ <string>Courses / Estimates</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pastCourses_pushButton">
+ <property name="toolTip">
+ <string>View all Courses of treatment. This includes treatment that was planned but not completed.</string>
+ </property>
+ <property name="text">
+ <string>Courses</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pastEstimates_pushButton">
+ <property name="toolTip">
+ <string>Estimate history for this patient.</string>
+ </property>
+ <property name="text">
+ <string>Estimates</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="current_est_versioning_pushButton">
+ <property name="text">
+ <string>Current Estimate</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="NHSClaims_pushButton">
+ <property name="text">
+ <string>NHS Claims</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="memo_history_pushButton">
+ <property name="text">
+ <string>Memos</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="historyPrint_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Print the text displayed on this page.</string>
+ </property>
+ <property name="text">
+ <string>Print</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_14">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>123</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="Line" name="line_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="debug_toolButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Advanced options for developer use. Don't expect this to make much sense!
+
+If the "changes only" checkbox is checked, only data which has been changed will be displayed.</string>
+ </property>
+ <property name="text">
+ <string>debug tools</string>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="ptAtts_checkBox">
+ <property name="text">
+ <string>changes only</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_7">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item row="0" column="1" rowspan="3">
+ <widget class="Line" name="line">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="3">
+ <widget class="QScrollArea" name="scrollArea_8">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>1200</height>
+ </size>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_13">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>118</width>
+ <height>92</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_20">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="hiddenNotes_label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QLabel" name="label_39">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Today's Notes</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5" rowspan="3">
+ <widget class="Line" name="line_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QPushButton" name="phraseBook_pushButton">
+ <property name="text">
+ <string>PhraseBook</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/txt.png</normaloff>:/txt.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ins</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="6" rowspan="3">
+ <widget class="QPushButton" name="saveButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Save the changes made to this record.</string>
+ </property>
+ <property name="text">
+ <string>Save Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/save_all.png</normaloff>:/save_all.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+S</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3" rowspan="3">
+ <widget class="QTextEdit" name="notesEnter_textEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Enter Notes.</string>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" rowspan="3">
+ <widget class="QPushButton" name="memos_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Memos</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/icons/memos.png</normaloff>:/icons/memos.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QPushButton" name="clinician_phrasebook_pushButton">
+ <property name="text">
+ <string>Phrases</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/txt.png</normaloff>:/txt.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_appointments">
+ <attribute name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/vcalendar.png</normaloff>:/vcalendar.png</iconset>
+ </attribute>
+ <attribute name="title">
+ <string>Appointments / Diary</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_21">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_cashbook">
+ <attribute name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/vcard.png</normaloff>:/vcard.png</iconset>
+ </attribute>
+ <attribute name="title">
+ <string>Cashbook</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_34">
+ <property name="text">
+ <string>Start Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_33">
+ <property name="text">
+ <string>End Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_32">
+ <property name="text">
+ <string>Registered Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3" rowspan="2">
+ <widget class="QPushButton" name="cashbookGoPushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Go</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4" rowspan="2">
+ <widget class="QPushButton" name="cashbookPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print the Data</string>
+ </property>
+ <property name="text">
+ <string>Print</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QDateEdit" name="cashbookStartDateEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDateEdit" name="cashbookEndDateEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="cashbookDentComboBox"/>
+ </item>
+ <item row="1" column="5">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>389</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="6">
+ <widget class="QRadioButton" name="all_payments_radioButton">
+ <property name="text">
+ <string>All payments</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="7">
+ <widget class="QRadioButton" name="sundries_only_radioButton">
+ <property name="text">
+ <string>Sundries_only</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="8">
+ <widget class="QRadioButton" name="treatment_only_radioButton">
+ <property name="text">
+ <string>Treatment_only</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="9">
+ <widget class="QWidget" name="cashbook_placeholder_widget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_daybook">
+ <attribute name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/txt.png</normaloff>:/txt.png</iconset>
+ </attribute>
+ <attribute name="title">
+ <string>Daybook</string>
+ </attribute>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_29">
+ <property name="text">
+ <string>Start Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_30">
+ <property name="text">
+ <string>End Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_28">
+ <property name="text">
+ <string>Registered Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_31">
+ <property name="text">
+ <string>Treating Dentist / Hygenist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4" rowspan="2">
+ <widget class="QPushButton" name="daybookGoPushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Go</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5" rowspan="2">
+ <widget class="QPushButton" name="daybookPrintButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print the Data</string>
+ </property>
+ <property name="text">
+ <string>Print</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="6" rowspan="2">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>654</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QDateEdit" name="daybookStartDateEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDateEdit" name="daybookEndDateEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="daybookDent1ComboBox"/>
+ </item>
+ <item row="1" column="3">
+ <widget class="QComboBox" name="daybookDent2ComboBox"/>
+ </item>
+ <item row="2" column="0" colspan="7">
+ <widget class="QTextBrowser" name="daybookTextBrowser"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_accounts">
+ <attribute name="title">
+ <string>Accounts</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_9">
+ <item row="0" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_28">
+ <item>
+ <widget class="QLabel" name="label_54">
+ <property name="text">
+ <string>Find Patient Records where the patient is in</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="accounts_debt_comboBox">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <item>
+ <property name="text">
+ <string>Debt</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Credit</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string>By More than</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="accounts_min_doubleSpinBox">
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="prefix">
+ <string/>
+ </property>
+ <property name="maximum">
+ <double>1000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="loadAccountsTable_pushButton">
+ <property name="text">
+ <string>Load Table</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer_12">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>206</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="2" colspan="2">
+ <widget class="QPushButton" name="printAccountsTable_pushButton">
+ <property name="text">
+ <string>Print Table</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QPushButton" name="printSelectedAccounts_pushButton">
+ <property name="text">
+ <string>Print Selected Letters</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="5">
+ <widget class="QTableWidget" name="accounts_tableWidget">
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>746</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_43">
+ <property name="text">
+ <string>TOTAL OUTSTANDING</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3" colspan="2">
+ <widget class="QDoubleSpinBox" name="accountsTotal_doubleSpinBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="prefix">
+ <string/>
+ </property>
+ <property name="maximum">
+ <double>1000000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_bulk_mail">
+ <attribute name="title">
+ <string>Bulk Mailings</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_10">
+ <item row="1" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_18">
+ <item>
+ <widget class="QPushButton" name="recallLoad_pushButton">
+ <property name="text">
+ <string>Load Table</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="5">
+ <widget class="QPushButton" name="bulkMailPrint_pushButton">
+ <property name="text">
+ <string>Print Letters</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="6">
+ <widget class="QTreeView" name="bulk_mailings_treeView"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="bulk_mail_expand_pushButton">
+ <property name="text">
+ <string>Expand All</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QPushButton" name="bulkMail_options_pushButton">
+ <property name="text">
+ <string>Letter Options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_feescales">
+ <attribute name="title">
+ <string>Feescales</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_16">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_29">
+ <item>
+ <widget class="QLabel" name="feeScale_label">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTreeView" name="feeScales_treeView">
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_5">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_10">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="feescales_available_label">
+ <property name="text">
+ <string>Fee Scales Available</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="chooseFeescale_comboBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string>Use this control to select a feescale</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_6">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_16">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_26">
+ <property name="text">
+ <string>Search For an Item</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QRadioButton" name="search_descriptions_radioButton">
+ <property name="toolTip">
+ <string>search for the given phrase in description columns</string>
+ </property>
+ <property name="text">
+ <string>Search Descriptions</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="feeSearch_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>70</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Click on this Button to search for in patient in your database.</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/search.png</normaloff>:/search.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+F</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLineEdit" name="feeSearch_lineEdit"/>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QRadioButton" name="search_itemcodes_radioButton">
+ <property name="toolTip">
+ <string>only search for the given phrase in the usercode column</string>
+ </property>
+ <property name="text">
+ <string>Search Itemcodes</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="feesearch_results_label">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="hide_rare_feescale_codes_checkBox">
+ <property name="text">
+ <string>Hide Rarely Used Codes</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="feeExpand_radioButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string>Quickly expand all items</string>
+ </property>
+ <property name="text">
+ <string>Expand All Sections</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="feeCompress_radioButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string>Quickly compress all items</string>
+ </property>
+ <property name="text">
+ <string>Compress All Sections</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Resources</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_13">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="nhsRegs_pushButton">
+ <property name="toolTip">
+ <string>Open A PDF of the latest NHS Regulations</string>
+ </property>
+ <property name="text">
+ <string>NHS Documents</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/txt.png</normaloff>:/txt.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="feeadjuster_groupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string/>
+ </property>
+ <property name="title">
+ <string>Advanced Options</string>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_35">
+ <property name="leftMargin">
+ <number>2</number>
+ </property>
+ <property name="topMargin">
+ <number>6</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="feetable_xml_pushButton">
+ <property name="text">
+ <string>FeeScale Editor</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="feescale_tester_pushButton">
+ <property name="text">
+ <string>FeeScale Tester</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="reload_feescales_pushButton">
+ <property name="text">
+ <string>Reload Fee Scales</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_forum">
+ <attribute name="title">
+ <string>FORUM</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_20">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QSplitter" name="splitter_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QSplitter" name="splitter">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <widget class="QTreeWidget" name="forum_treeWidget">
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::ExtendedSelection</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="animated">
+ <bool>true</bool>
+ </property>
+ <attribute name="headerShowSortIndicator" stdset="0">
+ <bool>true</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </column>
+ </widget>
+ </widget>
+ <widget class="QFrame" name="frame_20">
+ <property name="maximumSize">
+ <size>
+ <width>301</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_11">
+ <item>
+ <widget class="QLabel" name="forum_label">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextBrowser" name="forum_textBrowser">
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ </font>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QPushButton" name="forumReply_pushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Reply</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+R</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="forumDelete_pushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Delete</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/eraser.png</normaloff>:/eraser.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Del, Backspace</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="forumParent_pushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&set parent</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+S</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPushButton" name="forumNewTopic_pushButton">
+ <property name="text">
+ <string>New Topic</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/icons/mail_new.png</normaloff>:/icons/mail_new.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_9">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_30">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_36">
+ <property name="text">
+ <string>Search by keyword</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLineEdit" name="feeSearch_lineEdit_2"/>
+ </item>
+ <item row="2" column="0">
+ <spacer name="horizontalSpacer_11">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>67</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="feeSearch_pushButton_2">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>70</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Click on this Button to search for in patient in your database.</string>
+ </property>
+ <property name="text">
+ <string>Find</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/search.png</normaloff>:/search.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+F</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_10">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_25">
+ <item>
+ <widget class="QLabel" name="label_37">
+ <property name="text">
+ <string>Show Topics for</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="forumViewFilter_comboBox">
+ <item>
+ <property name="text">
+ <string>Everyone</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_10">
+ <property name="title">
+ <string>Options</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_32">
+ <item row="0" column="0" colspan="2">
+ <widget class="QCheckBox" name="forum_deletedposts_checkBox">
+ <property name="text">
+ <string>Include Deleted Posts</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="split_replies_radioButton">
+ <property name="text">
+ <string>Split Replies</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="group_replies_radioButton">
+ <property name="text">
+ <string>Group replies</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="forumCollapse_pushButton">
+ <property name="text">
+ <string>&Collapse Replies</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="forumExpand_pushButton">
+ <property name="text">
+ <string>&Expand Replies</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_wiki">
+ <attribute name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/icons/wikipedia.png</normaloff>:/icons/wikipedia.png</iconset>
+ </attribute>
+ <attribute name="title">
+ <string>Wiki</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_33">
+ <property name="margin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QWebView" name="wiki_webView">
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>943</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuMenu">
+ <property name="title">
+ <string>&File</string>
+ </property>
+ <addaction name="action_save_patient"/>
+ <addaction name="action_Open_Patient"/>
+ <addaction name="separator"/>
+ <addaction name="actionPrint_Daylists"/>
+ <addaction name="separator"/>
+ <addaction name="action_Quit"/>
+ </widget>
+ <widget class="QMenu" name="menu_Help">
+ <property name="title">
+ <string>&Help</string>
+ </property>
+ <addaction name="action_About"/>
+ <addaction name="action_About_QT"/>
+ </widget>
+ <widget class="QMenu" name="menu_Prefences">
+ <property name="title">
+ <string>&Preferences</string>
+ </property>
+ <widget class="QMenu" name="menuView">
+ <property name="title">
+ <string>View</string>
+ </property>
+ <addaction name="actionFull_Screen_Mode_Ctrl_Alt_F"/>
+ <addaction name="separator"/>
+ </widget>
+ <widget class="QMenu" name="menuAppointments">
+ <property name="title">
+ <string>Appointments</string>
+ </property>
+ <addaction name="actionSet_Font_Size"/>
+ </widget>
+ <widget class="QMenu" name="menuPrinting">
+ <property name="title">
+ <string>Printing</string>
+ </property>
+ <addaction name="actionNHS_Form_Settings"/>
+ <addaction name="actionTest_Print_a_GP17"/>
+ </widget>
+ <widget class="QMenu" name="menuForum">
+ <property name="title">
+ <string>Forum</string>
+ </property>
+ <addaction name="action_forum_show_advanced_options"/>
+ </widget>
+ <widget class="QMenu" name="menuCharts">
+ <property name="title">
+ <string>Charts</string>
+ </property>
+ <addaction name="actionTable_View_For_Charting"/>
+ </widget>
+ <widget class="QMenu" name="menuMode">
+ <property name="title">
+ <string>Mode (reception or surgery)</string>
+ </property>
+ <addaction name="actionSurgery_Mode"/>
+ </widget>
+ <widget class="QMenu" name="menuCashbook">
+ <property name="title">
+ <string>Cashbook</string>
+ </property>
+ <addaction name="actionAllow_Full_Edit"/>
+ </widget>
+ <addaction name="actionChange_Language"/>
+ <addaction name="separator"/>
+ <addaction name="menuView"/>
+ <addaction name="menuCharts"/>
+ <addaction name="menuAppointments"/>
+ <addaction name="menuForum"/>
+ <addaction name="menuCashbook"/>
+ <addaction name="menuPrinting"/>
+ <addaction name="separator"/>
+ <addaction name="menuMode"/>
+ </widget>
+ <widget class="QMenu" name="menuTools">
+ <property name="title">
+ <string>Tools</string>
+ </property>
+ <addaction name="actionClear_Today_s_Emergency_Slots"/>
+ <addaction name="actionAppointment_Tools"/>
+ <addaction name="actionAdvanced_Record_Management"/>
+ <addaction name="actionFix_Locked_New_Course_of_Treatment"/>
+ <addaction name="separator"/>
+ <addaction name="actionSet_Clinician"/>
+ <addaction name="actionSet_Assistant"/>
+ <addaction name="actionSet_Surgery_Number"/>
+ <addaction name="separator"/>
+ <addaction name="actionEdit_Phrasebooks"/>
+ </widget>
+ <addaction name="menuMenu"/>
+ <addaction name="menu_Prefences"/>
+ <addaction name="menuTools"/>
+ <addaction name="menu_Help"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <action name="action_save_patient">
+ <property name="text">
+ <string>&Export Patient to disk</string>
+ </property>
+ </action>
+ <action name="action_Open_Patient">
+ <property name="text">
+ <string>&Import Patient from disk</string>
+ </property>
+ </action>
+ <action name="action_About">
+ <property name="text">
+ <string>About &OpenMolar</string>
+ </property>
+ </action>
+ <action name="action_About_QT">
+ <property name="text">
+ <string>&About QT</string>
+ </property>
+ </action>
+ <action name="action_Quit">
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/exit.png</normaloff>:/exit.png</iconset>
+ </property>
+ <property name="text">
+ <string>&Quit</string>
+ </property>
+ </action>
+ <action name="actionClear_Today_s_Emergency_Slots">
+ <property name="text">
+ <string>Clear Today's Emergency Slots</string>
+ </property>
+ </action>
+ <action name="actionAppointment_Tools">
+ <property name="text">
+ <string>Appointment Tools</string>
+ </property>
+ </action>
+ <action name="actionChange_Language">
+ <property name="text">
+ <string>Select Interface Language</string>
+ </property>
+ </action>
+ <action name="actionFull_Screen_Mode_Ctrl_Alt_F">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Full Screen Mode (Ctrl-Alt-F)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Alt+F</string>
+ </property>
+ </action>
+ <action name="actionSet_Font_Size">
+ <property name="text">
+ <string>Font Size</string>
+ </property>
+ </action>
+ <action name="action_forum_show_advanced_options">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Show Advanced Options</string>
+ </property>
+ </action>
+ <action name="actionTable_View_For_Charting">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Table View For Charting</string>
+ </property>
+ </action>
+ <action name="actionNHS_Form_Settings">
+ <property name="text">
+ <string>NHS Form Settings</string>
+ </property>
+ </action>
+ <action name="actionTest_Print_a_GP17">
+ <property name="text">
+ <string>Test Print a GP17</string>
+ </property>
+ </action>
+ <action name="actionPrint_Daylists">
+ <property name="text">
+ <string>Print Daylists</string>
+ </property>
+ </action>
+ <action name="actionSet_Clinician">
+ <property name="text">
+ <string>Set Clinician</string>
+ </property>
+ </action>
+ <action name="actionSet_Assistant">
+ <property name="text">
+ <string>Set Assistant</string>
+ </property>
+ </action>
+ <action name="actionSurgery_Mode">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Surgery Mode</string>
+ </property>
+ </action>
+ <action name="actionAdvanced_Record_Management">
+ <property name="text">
+ <string>Advanced Record Management</string>
+ </property>
+ </action>
+ <action name="actionFix_Locked_New_Course_of_Treatment">
+ <property name="text">
+ <string>Fix Locked New Course of Treatment</string>
+ </property>
+ </action>
+ <action name="actionAllow_Full_Edit">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Allow Full Edit</string>
+ </property>
+ </action>
+ <action name="actionSet_Surgery_Number">
+ <property name="text">
+ <string>Set Surgery Number</string>
+ </property>
+ <property name="toolTip">
+ <string>Set Surgery Number (used so other applications can see which record is loaded)</string>
+ </property>
+ </action>
+ <action name="actionEdit_Phrasebooks">
+ <property name="text">
+ <string>Edit Phrasebooks</string>
+ </property>
+ </action>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QWebView</class>
+ <extends>QWidget</extends>
+ <header>QtWebKit/QWebView</header>
+ </customwidget>
+ </customwidgets>
+ <tabstops>
+ <tabstop>debugBrowser</tabstop>
+ <tabstop>dayList_comboBox</tabstop>
+ <tabstop>detailsBrowser</tabstop>
+ <tabstop>cashbookGoPushButton</tabstop>
+ <tabstop>cashbookPrintButton</tabstop>
+ <tabstop>cashbookStartDateEdit</tabstop>
+ <tabstop>cashbookEndDateEdit</tabstop>
+ <tabstop>cashbookDentComboBox</tabstop>
+ <tabstop>daybookGoPushButton</tabstop>
+ <tabstop>daybookPrintButton</tabstop>
+ <tabstop>daybookStartDateEdit</tabstop>
+ <tabstop>daybookEndDateEdit</tabstop>
+ <tabstop>daybookDent1ComboBox</tabstop>
+ <tabstop>daybookDent2ComboBox</tabstop>
+ <tabstop>daybookTextBrowser</tabstop>
+ <tabstop>reception_textBrowser</tabstop>
+ <tabstop>printAccount_pushButton</tabstop>
+ <tabstop>takePayment_pushButton</tabstop>
+ <tabstop>perioChartDateComboBox</tabstop>
+ <tabstop>dnt1comboBox</tabstop>
+ <tabstop>scrollArea</tabstop>
+ <tabstop>accounts_tableWidget</tabstop>
+ <tabstop>printSelectedAccounts_pushButton</tabstop>
+ <tabstop>titleEdit</tabstop>
+ <tabstop>fnameEdit</tabstop>
+ <tabstop>snameEdit</tabstop>
+ <tabstop>dobEdit</tabstop>
+ <tabstop>addr1Edit</tabstop>
+ <tabstop>addr2Edit</tabstop>
+ <tabstop>addr3Edit</tabstop>
+ <tabstop>townEdit</tabstop>
+ <tabstop>countyEdit</tabstop>
+ <tabstop>pcdeEdit</tabstop>
+ <tabstop>sexEdit</tabstop>
+ <tabstop>tel1Edit</tabstop>
+ <tabstop>tel2Edit</tabstop>
+ <tabstop>mobileEdit</tabstop>
+ <tabstop>faxEdit</tabstop>
+ <tabstop>email1Edit</tabstop>
+ <tabstop>email2Edit</tabstop>
+ <tabstop>occupationEdit</tabstop>
+ <tabstop>memoEdit</tabstop>
+ <tabstop>email2_button</tabstop>
+ <tabstop>pushButton</tabstop>
+ <tabstop>email1_button</tabstop>
+ <tabstop>pushButton_6</tabstop>
+ <tabstop>printEst_pushButton</tabstop>
+ <tabstop>bpe_textBrowser</tabstop>
+ <tabstop>newBPE_pushButton</tabstop>
+ <tabstop>planSummary_textBrowser</tabstop>
+ <tabstop>exampushButton</tabstop>
+ <tabstop>medNotes_pushButton</tabstop>
+ <tabstop>perioCharts_scrollArea</tabstop>
+ <tabstop>newPerioChartPushButton</tabstop>
+ <tabstop>bpeDateComboBox</tabstop>
+ <tabstop>perioChartData_scrollArea</tabstop>
+ <tabstop>contract_tabWidget</tabstop>
+ <tabstop>notesPrintButton</tabstop>
+ <tabstop>loadAccountsTable_pushButton</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/medhist.ui b/src/openmolar/qt-designer/medhist.ui
new file mode 100644
index 0000000..b169802
--- /dev/null
+++ b/src/openmolar/qt-designer/medhist.ui
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>790</width>
+ <height>559</height>
+ </rect>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Medical Notes</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="7">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Doctor's details</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Doctor's Name</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="doctor_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Address / Tel No</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="doctorAddy_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="7">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Known Conditions</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Current Medication</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="curMeds_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Past Medication</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="pastMeds_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Allergies</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="allergies_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Heart</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="heart_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Lungs</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLineEdit" name="lungs_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Liver</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLineEdit" name="liver_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Bleeding</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLineEdit" name="bleeding_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0" colspan="2">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Kidneys</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <widget class="QLineEdit" name="kidneys_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="2">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Anaesthetic / operations</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="2">
+ <widget class="QLineEdit" name="anaesthetic_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0" colspan="2">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Other</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <widget class="QLineEdit" name="other_lineEdit">
+ <property name="maxLength">
+ <number>60</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="checked_pushButton">
+ <property name="text">
+ <string>Mark as Checked Today</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="date_label">
+ <property name="text">
+ <string>Checked</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::NoButtons</enum>
+ </property>
+ <property name="dateTime">
+ <datetime>
+ <hour>0</hour>
+ <minute>0</minute>
+ <second>0</second>
+ <year>1900</year>
+ <month>1</month>
+ <day>1</day>
+ </datetime>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="5">
+ <widget class="QCheckBox" name="checkBox">
+ <property name="text">
+ <string>Mark Patient as Med Alert</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="6">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/memo_item.ui b/src/openmolar/qt-designer/memo_item.ui
new file mode 100644
index 0000000..c80e1a5
--- /dev/null
+++ b/src/openmolar/qt-designer/memo_item.ui
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>28</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/newBPE.ui b/src/openmolar/qt-designer/newBPE.ui
new file mode 100644
index 0000000..4d20b57
--- /dev/null
+++ b/src/openmolar/qt-designer/newBPE.ui
@@ -0,0 +1,309 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>261</width>
+ <height>161</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>New CPITN score</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QFrame" name="frame" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>120</horstretch>
+ <verstretch>90</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>200</width>
+ <height>90</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>300</width>
+ <height>90</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QComboBox" name="bpe_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="bpe2_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QComboBox" name="bpe3_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="bpe4_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="bpe5_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QComboBox" name="bpe6_comboBox" >
+ <item>
+ <property name="text" >
+ <string>0</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>*</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+ </property>
+ <property name="centerButtons" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>buttonBox</tabstop>
+ <tabstop>bpe_comboBox</tabstop>
+ <tabstop>bpe2_comboBox</tabstop>
+ <tabstop>bpe3_comboBox</tabstop>
+ <tabstop>bpe6_comboBox</tabstop>
+ <tabstop>bpe5_comboBox</tabstop>
+ <tabstop>bpe4_comboBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>251</x>
+ <y>145</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>160</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>251</x>
+ <y>145</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>260</x>
+ <y>160</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/newCourse.ui b/src/openmolar/qt-designer/newCourse.ui
new file mode 100644
index 0000000..00c25ee
--- /dev/null
+++ b/src/openmolar/qt-designer/newCourse.ui
@@ -0,0 +1,146 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>272</width>
+ <height>310</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>New Course</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="3" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Start a new Course of Treatment with the following Criteria?</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Contracted Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Course Dentist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="label_5" >
+ <property name="text" >
+ <string>Course Type</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" >
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Acceptance Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="3" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>188</width>
+ <height>89</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0" colspan="3" >
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QComboBox" name="dnt2_comboBox" />
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="dnt1_comboBox" />
+ </item>
+ <item row="3" column="1" >
+ <widget class="QComboBox" name="cseType_comboBox" />
+ </item>
+ <item row="4" column="1" colspan="2" >
+ <widget class="QDateEdit" name="dateEdit" >
+ <property name="calendarPopup" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <zorder>label</zorder>
+ <zorder>label_2</zorder>
+ <zorder>label_3</zorder>
+ <zorder>label_5</zorder>
+ <zorder>label_4</zorder>
+ <zorder>buttonBox</zorder>
+ <zorder>dateEdit</zorder>
+ <zorder>cseType_comboBox</zorder>
+ <zorder>dnt1_comboBox</zorder>
+ <zorder>dnt2_comboBox</zorder>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/newSetup.ui b/src/openmolar/qt-designer/newSetup.ui
new file mode 100644
index 0000000..29129fc
--- /dev/null
+++ b/src/openmolar/qt-designer/newSetup.ui
@@ -0,0 +1,706 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>429</width>
+ <height>405</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>OpenMolar - First Run</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="title_label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Welcome to the openMolar settings wizard.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QStackedWidget" name="stackedWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="page">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QLabel" name="label_7">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>This first run application will
+ - set your system password
+ - make this client aware of your mysql server settings
+ - install a small (4 patient) demo database if required.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="sysAdvice_label">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_2">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="mainPassword_label">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Please enter a password to prevent unauthorised running of this application.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Password</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="main_password_lineEdit">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QCheckBox" name="mainpassword_checkBox">
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>show</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Repeat Password</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="repeat_password_lineEdit">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_3">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label_13">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Where is your mysql server located? **</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Host</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="host_lineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">localhost</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Port</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="port_lineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">3306</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>** If you do not have a mysql server on your network, please quit this setup, and install mysql server now.
+
+If you are a debian or ubuntu user, "sudo apt-get install mysql-server"
+and make a note of the root password you create during set up. </string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_4">
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="4" column="0" rowspan="2" colspan="2">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Database Details</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>User</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="user_lineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">OMuser</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>(mysql)Password</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="password_lineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">password</string>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QCheckBox" name="dbpassword_checkBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>show</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="database_lineEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">openmolar_demo</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Database Name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QPushButton" name="testDB_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>Test this Connection</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="createDemo_radioButton">
+ <property name="text">
+ <string>Create A Demo Database</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="existingDB_radioButton">
+ <property name="text">
+ <string>Use with an existing database</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_5">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>OK.... you are all set to go.
+
+When running openMolar, you are presented a login screen.
+
+Password = the one you specified earlier
+User1 = any registered user (demo database has one user "user")
+User2 = any registered user (can be left blank)
+</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox">
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string>Launch OpenMolar Now</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_6">
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="mainPassword_label_2">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>To create a database, and set the privileges for user, requires logging into mysql as the root mysql user.
+OpenMolar does NOT store this password.
+Please enter the password of the ROOT mysql user.
+(note - on most mysql setups, root access is disabled unless the server is on localhost)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Root mysql password</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLineEdit" name="rootPassword_lineEdit">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="rootPassword_checkBox">
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="text">
+ <string>show</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_7">
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <spacer name="verticalSpacer_14">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Creating Database.... please wait</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_13">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar">
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_12">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QPushButton" name="back_pushButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string>Back</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="go_pushButton">
+ <property name="text">
+ <string>Proceed</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/om_pyuic4.py b/src/openmolar/qt-designer/om_pyuic4.py
new file mode 100755
index 0000000..f9bcd5a
--- /dev/null
+++ b/src/openmolar/qt-designer/om_pyuic4.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env python
+
+'''
+Use this in preference to pyuic4, because it adapts the files to utilise
+pygettext style translations
+'''
+
+import git
+import logging
+import re
+import os
+import sys
+
+from PyQt4 import uic
+
+logging.basicConfig(level=logging.INFO)
+
+logger = logging.getLogger("om_pyuic4")
+
+## can be switched off so generated files are not executable
+MAKE_EX = True
+
+## change the commented line if you want all redone!!
+CHANGED_ONLY = True
+if "ALL" in sys.argv:
+ CHANGED_ONLY = False
+
+REMOVALS = [
+'''try:
+ _encoding = QtGui.QApplication.UnicodeUTF8
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig)
+'''
+]
+
+REPLACEMENT1 = (
+"import resources_rc",
+"from openmolar.qt4gui import resources_rc"
+)
+
+REPLACEMENT2 = (
+'''if __name__ == "__main__":
+''',
+'''if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+''')
+
+
+def translate_middle(match):
+ return '_(%s)'% match.groups()[0].strip(" ")
+
+def compile_ui(ui_fname, outdir=""):
+ if outdir == "":
+ outdir = os.path.dirname(ui_fname)
+ name = os.path.basename(ui_fname)
+ outname = "Ui_%s.py"% name.rstrip(".ui")
+ pyfile = os.path.join(outdir, outname)
+
+ logger.info("compiling %s"% ui_fname)
+
+ f = open(pyfile,"w")
+ uic.compileUi(ui_fname, f, execute=MAKE_EX)
+ f.close()
+
+ f = open(pyfile,"r")
+ data = f.read()
+ f.close()
+
+ newdata = data
+ for removal in REMOVALS:
+ newdata = newdata.replace(removal, "")
+
+ newdata = re.sub('_translate\(".*?", (".*?"), None\)', translate_middle,
+ newdata, 0, re.DOTALL)
+
+ orig, new = REPLACEMENT1
+ newdata = newdata.replace(orig, new)
+
+ if MAKE_EX:
+ orig, new = REPLACEMENT2
+ newdata = newdata.replace(orig, new)
+
+ #some hacks for 4.5/4.6 compatibility
+ #newdata = newdata.replace('setShowSortIndicator',"setSortIndicatorShown")
+
+ if newdata != data:
+ f = open(pyfile, "w")
+ f.write(newdata)
+ f.close()
+ else:
+ logger.warning("om_pyuic made no changes to the standard uic output!")
+
+ return pyfile
+
+def get_changed_ui_files(repo):
+ files = repo.git.status("--porcelain")
+ for file_ in files.split("\n"):
+ if re.match(".*.ui$", file_):
+ yield file_[3:]
+
+def get_all_ui_files(dirname):
+ for ui_file in os.listdir(dirname):
+ if re.match(".*.ui$", ui_file):
+ yield ui_file
+
+if __name__ == "__main__":
+ repo = git.Repo(os.getcwd())
+
+ uipath = os.path.join(repo.working_dir, "src", "openmolar", "qt-designer")
+
+ outpath = os.path.join(
+ repo.working_dir, "src", "openmolar", "qt4gui", "compiled_uis")
+
+ if CHANGED_ONLY:
+ logger.info("using only ui files modified since last commit")
+ ui_files = get_changed_ui_files(repo)
+ else:
+ logger.info("converting all ui files")
+ ui_files = get_all_ui_files(uipath)
+
+ for ui_file in ui_files:
+ path = os.path.join(uipath, os.path.basename(ui_file))
+ pyfile = compile_ui(path, outpath)
+ if pyfile:
+ print "created/updated py file", pyfile
+
+ logger.info("ALL DONE!")
diff --git a/src/openmolar/qt-designer/ortho_ref_wizard.ui b/src/openmolar/qt-designer/ortho_ref_wizard.ui
new file mode 100644
index 0000000..2b66659
--- /dev/null
+++ b/src/openmolar/qt-designer/ortho_ref_wizard.ui
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>910</width>
+ <height>594</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Dialog</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="2" column="1">
+ <widget class="QGroupBox" name="groupBox_5">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Dental History</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QPlainTextEdit" name="dh_plainTextEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Previous Referral Date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="ref1_radioButton">
+ <property name="text">
+ <string>1st referral</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>68</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="ref2_radioButton">
+ <property name="text">
+ <string>re - referral</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QCheckBox" name="tx_checkBox">
+ <property name="text">
+ <string>I am Willing to carry out simple treatment</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="chart_groupBox">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Teeth With Poor Prognosis</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Relevant Medical History</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QPlainTextEdit" name="mh__plainTextEdit">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="2">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Reason for Referral</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Crowding</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="crowding5_radioButton">
+ <property name="text">
+ <string>Severe</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="crowding4_radioButton">
+ <property name="text">
+ <string>Moderate</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="crowding3_radioButton">
+ <property name="text">
+ <string>Mild</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="crowding2_radioButton">
+ <property name="text">
+ <string>None</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="crowding1_radioButton">
+ <property name="text">
+ <string>Spaced</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Incisal Relationship</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Overjet:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="oj_spinBox">
+ <property name="suffix">
+ <string>mm</string>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" colspan="3">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>248</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Overbite</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QRadioButton" name="ob1_radioButton">
+ <property name="text">
+ <string>Complete</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QRadioButton" name="ob2_radioButton">
+ <property name="text">
+ <string>InComplete</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QRadioButton" name="ob3_radioButton">
+ <property name="text">
+ <string>Traumatic</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="ob_spinBox">
+ <property name="suffix">
+ <string>%</string>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_6">
+ <property name="title">
+ <string>Patient Motivation</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="fixed_checkBox">
+ <property name="text">
+ <string>Fixed Appliance</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="removable_checkBox">
+ <property name="text">
+ <string>Removable Applicance</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/patient_diary.ui b/src/openmolar/qt-designer/patient_diary.ui
new file mode 100644
index 0000000..23c14d9
--- /dev/null
+++ b/src/openmolar/qt-designer/patient_diary.ui
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>829</width>
+ <height>205</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLineEdit" name="appt_memo_lineEdit">
+ <property name="toolTip">
+ <string><html><head/><body><p>A place to keep a reminder of the patients appointment preferences.</p><p>Eg. "30 minute appointments for examinations" etc. </p></body></html></string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">color:rgb(255, 0, 0)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="recall_settings_pushButton">
+ <property name="text">
+ <string>Recall Settings</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QTreeView" name="pt_diary_treeView"/>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QFrame" name="appt_buttons_frame">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>330</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_33">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="apptWizard_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>A Wizard to select some common appointment combinations</string>
+ </property>
+ <property name="text">
+ <string>Appointment Shortcuts</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_16">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="newAppt_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>A New Appointment for this patient</string>
+ </property>
+ <property name="text">
+ <string>&New</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/add_user.png</normaloff>:/add_user.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="clearAppt_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>delete or cancel the appointment</string>
+ </property>
+ <property name="text">
+ <string>Clear/Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/eraser.png</normaloff>:/eraser.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="2">
+ <layout class="QVBoxLayout" name="verticalLayout_31">
+ <item>
+ <widget class="QPushButton" name="scheduleAppt_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Make the selected appointment</string>
+ </property>
+ <property name="text">
+ <string>Schedule</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/month.png</normaloff>:/month.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="findAppt_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Find the appointment in the the practice appointment list</string>
+ </property>
+ <property name="text">
+ <string>Find in Book</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/schedule.png</normaloff>:/schedule.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="printAppt_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Print out the next 5 appointments for this patient</string>
+ </property>
+ <property name="text">
+ <string>Print Card</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/ps.png</normaloff>:/ps.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="modifyAppt_pushButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Allows modifcation of certain criteria for this appointment</string>
+ </property>
+ <property name="text">
+ <string>Modify</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/patient_finder.ui b/src/openmolar/qt-designer/patient_finder.ui
new file mode 100644
index 0000000..19e422d
--- /dev/null
+++ b/src/openmolar/qt-designer/patient_finder.ui
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>306</width>
+ <height>367</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Patient Finder</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/logo.png</normaloff>:/logo.png</iconset>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Fill in a few of the following fields to get a list of possible patients</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QPushButton" name="repeat_pushButton">
+ <property name="text">
+ <string>Repeat Last Search</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/agt_reload.png</normaloff>:/agt_reload.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>SNO or Surname</string>
+ </property>
+ <property name="buddy">
+ <cstring>sname</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="sname">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="toolTip">
+ <string>Enter either the full name or the first few letters of the name.
+
+If you are unsure of the spelling, type in the COMPLETE name,
+and check the adjacent "sounds like" box.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QCheckBox" name="snameSoundex_checkBox">
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>check to search for a similar sounding name</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/speaker.svg</normaloff>:/speaker.svg</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>First Name</string>
+ </property>
+ <property name="buddy">
+ <cstring>fname</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="fname">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="toolTip">
+ <string>Enter either the full name or the first few letters of the name.
+
+If you are unsure of the spelling, type in the COMPLETE name,
+and check the adjacent "sounds like" box.
+Be wary of middle names.
+eg. "Neil" does NOT sound like "Neil Alexander"!</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QCheckBox" name="fnameSoundex_checkBox">
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>check to search for a similar sounding name</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/speaker.svg</normaloff>:/speaker.svg</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Date of Birth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Address includes</string>
+ </property>
+ <property name="buddy">
+ <cstring>addr1</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1" colspan="2">
+ <widget class="QLineEdit" name="addr1">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="toolTip">
+ <string>openMolar will search line1 and line2 of the address for this text</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Telephone</string>
+ </property>
+ <property name="buddy">
+ <cstring>tel</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLineEdit" name="tel">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="toolTip">
+ <string>open molar will search tel1, tel2 and mobile for numbers present here.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Postcode</string>
+ </property>
+ <property name="buddy">
+ <cstring>pcde</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QLineEdit" name="pcde">
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
+ </property>
+ <property name="toolTip">
+ <string>search for a postcode</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="10" column="0" colspan="3">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QDateEdit" name="dateEdit">
+ <property name="dateTime">
+ <datetime>
+ <hour>0</hour>
+ <minute>0</minute>
+ <second>0</second>
+ <year>1900</year>
+ <month>1</month>
+ <day>1</day>
+ </datetime>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>sname</tabstop>
+ <tabstop>fname</tabstop>
+ <tabstop>dateEdit</tabstop>
+ <tabstop>addr1</tabstop>
+ <tabstop>tel</tabstop>
+ <tabstop>pcde</tabstop>
+ <tabstop>buttonBox</tabstop>
+ <tabstop>repeat_pushButton</tabstop>
+ <tabstop>snameSoundex_checkBox</tabstop>
+ <tabstop>fnameSoundex_checkBox</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/payments.ui b/src/openmolar/qt-designer/payments.ui
new file mode 100644
index 0000000..2595287
--- /dev/null
+++ b/src/openmolar/qt-designer/payments.ui
@@ -0,0 +1,419 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="windowModality" >
+ <enum>Qt::ApplicationModal</enum>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>226</width>
+ <height>404</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Payments</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Payments for treatment</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Cash</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>cash_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QPushButton" name="cash_pushButton" >
+ <property name="maximumSize" >
+ <size>
+ <width>28</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Cheque</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>cheque_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QPushButton" name="cheque_pushButton" >
+ <property name="maximumSize" >
+ <size>
+ <width>28</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Debit Card</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>debitCard_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" >
+ <widget class="QPushButton" name="debit_pushButton" >
+ <property name="maximumSize" >
+ <size>
+ <width>28</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Credit Card</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>creditCard_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2" >
+ <widget class="QPushButton" name="credit_pushButton" >
+ <property name="maximumSize" >
+ <size>
+ <width>28</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLineEdit" name="cash_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QLineEdit" name="cheque_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLineEdit" name="debitCard_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QLineEdit" name="creditCard_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>Other Payments</string>
+ </property>
+ <property name="checkable" >
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_8" >
+ <property name="text" >
+ <string>Sundries</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>sundries_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLineEdit" name="sundries_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_7" >
+ <property name="text" >
+ <string>Annual HDP</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>annualHDP_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QLineEdit" name="annualHDP_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_9" >
+ <property name="text" >
+ <string>Miscellaneous</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy" >
+ <cstring>misc_lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLineEdit" name="misc_lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>10</number>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QLabel" name="label_6" >
+ <property name="text" >
+ <string>Amount which will appear on receipt (read only)</string>
+ </property>
+ <property name="wordWrap" >
+ <bool>true</bool>
+ </property>
+ <property name="buddy" >
+ <cstring>total_doubleSpinBox</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="total_doubleSpinBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="readOnly" >
+ <bool>true</bool>
+ </property>
+ <property name="maximum" >
+ <double>20000.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>cash_lineEdit</tabstop>
+ <tabstop>cheque_lineEdit</tabstop>
+ <tabstop>debitCard_lineEdit</tabstop>
+ <tabstop>creditCard_lineEdit</tabstop>
+ <tabstop>sundries_lineEdit</tabstop>
+ <tabstop>annualHDP_lineEdit</tabstop>
+ <tabstop>misc_lineEdit</tabstop>
+ <tabstop>total_doubleSpinBox</tabstop>
+ <tabstop>buttonBox</tabstop>
+ <tabstop>cheque_pushButton</tabstop>
+ <tabstop>credit_pushButton</tabstop>
+ <tabstop>debit_pushButton</tabstop>
+ <tabstop>cash_pushButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>112</x>
+ <y>378</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>112</x>
+ <y>201</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/permissions.ui b/src/openmolar/qt-designer/permissions.ui
new file mode 100644
index 0000000..11ecce6
--- /dev/null
+++ b/src/openmolar/qt-designer/permissions.ui
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>308</width>
+ <height>177</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Raise Permissions</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Supervisor Rights required to Perform This Action.
+Please enter password.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit">
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/quick_daylist_print.ui b/src/openmolar/qt-designer/quick_daylist_print.ui
new file mode 100644
index 0000000..beb20af
--- /dev/null
+++ b/src/openmolar/qt-designer/quick_daylist_print.ui
@@ -0,0 +1,105 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>178</width>
+ <height>140</height>
+ </rect>
+ </property>
+ <property name="font" >
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="windowTitle" >
+ <string>Question</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="font" >
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text" >
+ <string>Print Formatting</string>
+ </property>
+ <property name="scaledContents" >
+ <bool>false</bool>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton" >
+ <property name="text" >
+ <string>Minimal</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_2" >
+ <property name="text" >
+ <string>Full Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/record_tools.ui b/src/openmolar/qt-designer/record_tools.ui
new file mode 100644
index 0000000..2449be0
--- /dev/null
+++ b/src/openmolar/qt-designer/record_tools.ui
@@ -0,0 +1,1053 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>628</width>
+ <height>521</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Advanced Record Alteration</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Money</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" rowspan="4">
+ <widget class="QScrollArea" name="money_scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="money_scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>443</width>
+ <height>424</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>NHS current fees (money0)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="money0_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>NHS payments (money2)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="money2_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>NHS estimated (money4)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QSpinBox" name="money4_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>private estimate (money5)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QSpinBox" name="money5_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Exempt - nhs gross - completed treatment (money6)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QSpinBox" name="money6_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Exempt - NHS gross - estimated current (money7)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QSpinBox" name="money7_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>credit (money8)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <widget class="QSpinBox" name="money8_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>debt (money9)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <widget class="QSpinBox" name="money9_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>debt2 (money10)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1">
+ <widget class="QSpinBox" name="money10_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>money 11 (always 0!)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="1">
+ <widget class="QSpinBox" name="money11_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>private current fees (money1) </string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="money1_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="money3_spinBox">
+ <property name="maximum">
+ <number>1000000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>private payments (money3)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="0" colspan="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>ALL AMOUNTS ARE IN PENCE (cents)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Outstanding <br />amount</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="total_label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>0.00</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="money_pushButton">
+ <property name="text">
+ <string>Apply Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>337</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Dates</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="1">
+ <widget class="QPushButton" name="dates_pushButton">
+ <property name="text">
+ <string>Apply Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>82</width>
+ <height>388</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="0" rowspan="2">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>345</width>
+ <height>263</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Last CE (pd5)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QDateEdit" name="pd5_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd5_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Last ECE (pd6)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QDateEdit" name="pd6_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd6_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>Last FCA (pd7)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QDateEdit" name="pd7_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd7_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Last OPT (pd8)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QDateEdit" name="pd8_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd8_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>Last intraoral Xrays (pd9)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QDateEdit" name="pd9_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd9_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="text">
+ <string>Last SP (pd10)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QDateEdit" name="pd10_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pd10_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>Last Account sent (billdate)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <item>
+ <widget class="QDateEdit" name="billdate_dateEdit">
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="billdate_pushButton">
+ <property name="text">
+ <string>Add Date</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="0">
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Treatment Plan</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_11">
+ <item row="0" column="0" rowspan="2" colspan="3">
+ <widget class="QScrollArea" name="scrollArea_2">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>36</width>
+ <height>28</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QFrame" name="chartplan_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="plan_pushButton">
+ <property name="text">
+ <string>Apply Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" rowspan="2">
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>82</width>
+ <height>388</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <layout class="QGridLayout" name="gridLayout_9">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string>Xray</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="xraypl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="label_23">
+ <property name="text">
+ <string>Perio</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="periopl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_47">
+ <property name="text">
+ <string>anaesthetics</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="anaespl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="label_48">
+ <property name="text">
+ <string>other</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="otherpl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_49">
+ <property name="text">
+ <string>custom</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLineEdit" name="custompl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="1">
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <layout class="QGridLayout" name="gridLayout_10">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label_51">
+ <property name="text">
+ <string>Dentures</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="label_52">
+ <property name="text">
+ <string>new upper</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_53">
+ <property name="text">
+ <string>new lower</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="3">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_54">
+ <property name="text">
+ <string>repair upper</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLineEdit" name="odupl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QLabel" name="label_55">
+ <property name="text">
+ <string>repair lower</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLineEdit" name="odlpl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="ndupl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="ndlpl_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Completed Treatment</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0" rowspan="2" colspan="3">
+ <widget class="QScrollArea" name="scrollArea_3">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_3">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>461</width>
+ <height>225</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QFrame" name="chartcompleted_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="completed_pushButton">
+ <property name="text">
+ <string>Apply Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" rowspan="2">
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>82</width>
+ <height>388</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <layout class="QGridLayout" name="gridLayout_12">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string>Xray</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="xraycmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="label_25">
+ <property name="text">
+ <string>Perio</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="periocmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_50">
+ <property name="text">
+ <string>anaesthetics</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="anaescmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="label_56">
+ <property name="text">
+ <string>other</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="othercmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_57">
+ <property name="text">
+ <string>custom</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLineEdit" name="customcmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="1">
+ <widget class="Line" name="line_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <layout class="QGridLayout" name="gridLayout_13">
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label_58">
+ <property name="text">
+ <string>Dentures</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="label_59">
+ <property name="text">
+ <string>new upper</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_60">
+ <property name="text">
+ <string>new lower</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="3">
+ <widget class="Line" name="line_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_61">
+ <property name="text">
+ <string>repair upper</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLineEdit" name="oducmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QLabel" name="label_62">
+ <property name="text">
+ <string>repair lower</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLineEdit" name="odlcmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="nducmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLineEdit" name="ndlcmp_lineEdit">
+ <property name="maxLength">
+ <number>56</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_5">
+ <attribute name="title">
+ <string>Miscellaneous</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <item row="0" column="0" rowspan="2">
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_26">
+ <property name="text">
+ <string>Hidden Notes</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="hidden_notes_tableWidget"/>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="hidden_notes_pushButton">
+ <property name="text">
+ <string>Apply Changes</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/button_ok.png</normaloff>:/button_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>377</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Close</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/saveDiscardCancel.ui b/src/openmolar/qt-designer/saveDiscardCancel.ui
new file mode 100644
index 0000000..ab4faf8
--- /dev/null
+++ b/src/openmolar/qt-designer/saveDiscardCancel.ui
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>552</width>
+ <height>283</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Confirmation Required</string>
+ </property>
+ <widget class="QListWidget" name="listWidget">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>161</y>
+ <width>534</width>
+ <height>113</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>95</y>
+ <width>531</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Save</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="pushButton">
+ <property name="geometry">
+ <rect>
+ <x>322</x>
+ <y>128</y>
+ <width>221</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>What's Changed?</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/down.png</normaloff>:/down.png</iconset>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>9</y>
+ <width>531</width>
+ <height>80</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/saveMemo.ui b/src/openmolar/qt-designer/saveMemo.ui
new file mode 100644
index 0000000..c5f56ff
--- /dev/null
+++ b/src/openmolar/qt-designer/saveMemo.ui
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>584</width>
+ <height>236</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Post a memo about this Patient</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="4">
+ <widget class="QTextEdit" name="textEdit">
+ <property name="acceptRichText">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Expiry Policy</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="noExpire_radioButton">
+ <property name="text">
+ <string>Do Not Expire</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="dateExpire_radioButton">
+ <property name="text">
+ <string>Expire on this date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QDateEdit" name="dateEdit"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="1" rowspan="2">
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Viewable by</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QRadioButton" name="viewAll_radioButton">
+ <property name="text">
+ <string>All</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="viewSurgery_radioButton">
+ <property name="text">
+ <string>Surgery Machines</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="viewReception_radioButton">
+ <property name="text">
+ <string>Reception Machines</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Author</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QComboBox" name="author_comboBox"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QPushButton" name="phraseBook_pushButton">
+ <property name="text">
+ <string>PhraseBook</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" colspan="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/select_patient.ui b/src/openmolar/qt-designer/select_patient.ui
new file mode 100644
index 0000000..a7b1508
--- /dev/null
+++ b/src/openmolar/qt-designer/select_patient.ui
@@ -0,0 +1,73 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>1014</width>
+ <height>398</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Make a Selection</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <item>
+ <widget class="QTableWidget" name="tableWidget" >
+ <property name="alternatingRowColors" >
+ <bool>true</bool>
+ </property>
+ <property name="selectionBehavior" >
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/showMemo.ui b/src/openmolar/qt-designer/showMemo.ui
new file mode 100644
index 0000000..4d31f73
--- /dev/null
+++ b/src/openmolar/qt-designer/showMemo.ui
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>611</width>
+ <height>262</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Memo</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" rowspan="2">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resources/resources.qrc">:/newlogo_launchpadSize.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2">
+ <widget class="QLabel" name="message_label">
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="checkBox">
+ <property name="text">
+ <string>Delete this memo when I close this</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/specify_appointment.ui b/src/openmolar/qt-designer/specify_appointment.ui
new file mode 100644
index 0000000..b9b4336
--- /dev/null
+++ b/src/openmolar/qt-designer/specify_appointment.ui
@@ -0,0 +1,420 @@
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>593</width>
+ <height>404</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Enter an appointment</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2" >
+ <item row="0" column="0" >
+ <spacer name="horizontalSpacer_3" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>81</width>
+ <height>56</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="1" >
+ <layout class="QGridLayout" name="gridLayout_3" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Appointment with</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="practix_comboBox" />
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Length</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="apptlength_comboBox" >
+ <property name="maxVisibleItems" >
+ <number>20</number>
+ </property>
+ <item>
+ <property name="text" >
+ <string>5 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>10 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>15 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>20 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>30 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>40 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>45 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1 hour</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1 hour 15 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1 hour 20 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1 hour 30 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>1 hour 45 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2 hours</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>2 hours 30 minutes</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>3 hours</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>other</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2" >
+ <widget class="QCheckBox" name="combinedApptcheckBox" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="layoutDirection" >
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text" >
+ <string>Combined Appointment With Hygenist?</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="2" >
+ <spacer name="horizontalSpacer_2" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>152</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="3" >
+ <widget class="Line" name="line" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Reason 1</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QLabel" name="label_5" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Reason 3</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="trt1_comboBox" >
+ <property name="minimumSize" >
+ <size>
+ <width>176</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maxVisibleItems" >
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="trt2_comboBox" >
+ <property name="minimumSize" >
+ <size>
+ <width>176</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maxVisibleItems" >
+ <number>20</number>
+ </property>
+ <item>
+ <property name="text" >
+ <string/>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QComboBox" name="trt3_comboBox" >
+ <property name="minimumSize" >
+ <size>
+ <width>176</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maxVisibleItems" >
+ <number>20</number>
+ </property>
+ <item>
+ <property name="text" >
+ <string/>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="label_4" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Reason 2</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0" colspan="3" >
+ <widget class="Line" name="line_2" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3" >
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QLabel" name="label_6" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Brief Note for Clinician (optional)</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit" >
+ <property name="minimumSize" >
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>300</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength" >
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="0" colspan="3" >
+ <widget class="Line" name="line_3" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="3" >
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QPushButton" name="scheduleNow_pushButton" >
+ <property name="text" >
+ <string>Schedule Appointment Now</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>128</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+ </property>
+ <property name="centerButtons" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>553</x>
+ <y>258</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>553</x>
+ <y>258</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>scheduleNow_pushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>90</x>
+ <y>305</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>296</x>
+ <y>175</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/staff_diary.ui b/src/openmolar/qt-designer/staff_diary.ui
new file mode 100644
index 0000000..ea631ce
--- /dev/null
+++ b/src/openmolar/qt-designer/staff_diary.ui
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>786</width>
+ <height>546</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="header_label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <italic>true</italic>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Summary</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QSplitter" name="splitter">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QWidget" name="">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <italic>true</italic>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Summary</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="summary_label">
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="">
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <italic>true</italic>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Agenda</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="agenda_label">
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Messages and Tasks</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QListWidget" name="messages_listWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="task_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>My Calendar</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <item>
+ <widget class="QFrame" name="calendar_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Holiday Planner</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_7">
+ <item>
+ <widget class="QFrame" name="planner_frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/startscreen.ui b/src/openmolar/qt-designer/startscreen.ui
new file mode 100644
index 0000000..886a52b
--- /dev/null
+++ b/src/openmolar/qt-designer/startscreen.ui
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="windowModality">
+ <enum>Qt::WindowModal</enum>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>276</width>
+ <height>343</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>openMolar</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/openmolar.svg</normaloff>:/openmolar.svg</iconset>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>System Password</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="password_lineEdit">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>71</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>10</number>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="Line" name="line">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string>User 1(required)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="user1_lineEdit">
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="maxLength">
+ <number>6</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string>User 2 (optional)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="user2_lineEdit">
+ <property name="maximumSize">
+ <size>
+ <width>40</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>6</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QRadioButton" name="surgery_radioButton">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Surgery Machine</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QRadioButton" name="reception_radioButton">
+ <property name="layoutDirection">
+ <enum>Qt::RightToLeft</enum>
+ </property>
+ <property name="text">
+ <string>Reception Machine</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QFrame" name="advanced_frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0" colspan="2">
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2">
+ <widget class="QLabel" name="chosenServer_label">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QToolButton" name="advanced_toolButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>change</string>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextOnly</enum>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::DownArrow</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/surgeryNumber.ui b/src/openmolar/qt-designer/surgeryNumber.ui
new file mode 100644
index 0000000..a01249f
--- /dev/null
+++ b/src/openmolar/qt-designer/surgeryNumber.ui
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>301</width>
+ <height>167</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Question</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/logo.png</normaloff>:/logo.png</iconset>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="3" column="0" colspan="3">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Please set the Surgery Number</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QComboBox" name="comboBox">
+ <item>
+ <property name="text">
+ <string>Reception Machine</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery One</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery Two</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery Three</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery Four</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery Five</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Surgery Six</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/toothPerioProps.ui b/src/openmolar/qt-designer/toothPerioProps.ui
new file mode 100644
index 0000000..e618378
--- /dev/null
+++ b/src/openmolar/qt-designer/toothPerioProps.ui
@@ -0,0 +1,330 @@
+<ui version="4.0" >
+ <class>Form</class>
+ <widget class="QWidget" name="Form" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>499</width>
+ <height>148</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>120</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>517</height>
+ </size>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="tooth_label" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="font" >
+ <font>
+ <pointsize>14</pointsize>
+ </font>
+ </property>
+ <property name="text" >
+ <string>ToothId</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3" colspan="2" >
+ <widget class="QComboBox" name="comboBox" >
+ <item>
+ <property name="text" >
+ <string>Pocketing</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Bleeding</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Plaque</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Recession</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Furcation</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Suppuration</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Mobility</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Other</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item rowspan="2" row="1" column="0" >
+ <widget class="QFrame" name="orig_frame" >
+ <property name="minimumSize" >
+ <size>
+ <width>100</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item rowspan="2" row="1" column="1" >
+ <widget class="QFrame" name="new_frame" >
+ <property name="minimumSize" >
+ <size>
+ <width>100</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QPushButton" name="copy_pushButton" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Copy &All</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" >
+ <widget class="QPushButton" name="cp_pushButton" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>40</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>delete tooth data</string>
+ </property>
+ <property name="text" >
+ <string>Cp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4" >
+ <widget class="QPushButton" name="clear_pushButton" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>40</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>delete tooth data</string>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset resource="../resources/resources.qrc" >
+ <normaloff>:/eraser.png</normaloff>:/eraser.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" colspan="2" >
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QPushButton" name="leftTooth_pushButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Apply and move Back a tooth</string>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset resource="../resources/resources.qrc" >
+ <normaloff>:/back.png</normaloff>:/back.png</iconset>
+ </property>
+ <property name="iconSize" >
+ <size>
+ <width>24</width>
+ <height>18</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="le_frame" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="rightTooth_pushButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip" >
+ <string>Apply & Move to Next Tooth</string>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset resource="../resources/resources.qrc" >
+ <normaloff>:/forward.png</normaloff>:/forward.png</iconset>
+ </property>
+ <property name="iconSize" >
+ <size>
+ <width>24</width>
+ <height>18</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="4" >
+ <widget class="QComboBox" name="mobilitycomboBox" >
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <item>
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>I</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>II</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>III</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc" />
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/toothProps.ui b/src/openmolar/qt-designer/toothProps.ui
new file mode 100644
index 0000000..ffb6f77
--- /dev/null
+++ b/src/openmolar/qt-designer/toothProps.ui
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>150</width>
+ <height>479</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>459</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="edit_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/icons/pencil.png</normaloff>:/icons/pencil.png</iconset>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="tooth_label">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>14</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clear_pushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>delete tooth data</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/eraser.png</normaloff>:/eraser.png</iconset>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QFrame" name="editframe">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>131</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comments_comboBox">
+ <item>
+ <property name="text">
+ <string>ADD COMMENTS</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!KUO</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Mobile Tooth</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Early Caries</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Filling Missing</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Chipped</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Cracked</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Poor Prognosis</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Extract Soon</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>!Implant required</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>DELETE COMMENTS</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>120</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="am_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>AM</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="co_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>CO</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="gl_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>GL</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="gold_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Go</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="porc_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="autoFillBackground">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Po</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="1" column="0">
+ <widget class="QPushButton" name="ex_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>extract (plan only!)</string>
+ </property>
+ <property name="text">
+ <string>EX</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="rt_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>root treatment</string>
+ </property>
+ <property name="text">
+ <string>RT</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QPushButton" name="leftTooth_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Apply and move Back a tooth</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/back.png</normaloff>:/back.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>18</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="dressing_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>porcelain veneer</string>
+ </property>
+ <property name="text">
+ <string>DR</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Apply & Add Another Item</string>
+ </property>
+ <property name="text">
+ <string>&&</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>18</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="rightTooth_pushButton">
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Apply & Move to Next Tooth</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources/resources.qrc">
+ <normaloff>:/forward.png</normaloff>:/forward.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>18</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="cb_scrollArea">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>140</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>144</width>
+ <height>147</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources/resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt-designer/toothprops_full_edit.ui b/src/openmolar/qt-designer/toothprops_full_edit.ui
new file mode 100644
index 0000000..40aeb79
--- /dev/null
+++ b/src/openmolar/qt-designer/toothprops_full_edit.ui
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>360</width>
+ <height>420</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Tooth Property Editor</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="tooth_label">
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>UR8</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Items</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="tableWidget">
+ <attribute name="horizontalHeaderDefaultSectionSize">
+ <number>50</number>
+ </attribute>
+ <attribute name="horizontalHeaderMinimumSectionSize">
+ <number>50</number>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderDefaultSectionSize">
+ <number>50</number>
+ </attribute>
+ <attribute name="verticalHeaderMinimumSectionSize">
+ <number>50</number>
+ </attribute>
+ <attribute name="verticalHeaderStretchLastSection">
+ <bool>false</bool>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Database Line</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/openmolar/qt-designer/treatmentItemWidget.ui b/src/openmolar/qt-designer/treatmentItemWidget.ui
new file mode 100644
index 0000000..8b83e68
--- /dev/null
+++ b/src/openmolar/qt-designer/treatmentItemWidget.ui
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>415</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QSpinBox" name="spinBox">
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/openmolar/qt4gui/__init__.py b/src/openmolar/qt4gui/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/appointment_gui_modules/__init__.py b/src/openmolar/qt4gui/appointment_gui_modules/__init__.py
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/src/openmolar/qt4gui/appointment_gui_modules/__init__.py
@@ -0,0 +1,2 @@
+
+
diff --git a/src/openmolar/qt4gui/appointment_gui_modules/clinician_select_model.py b/src/openmolar/qt4gui/appointment_gui_modules/clinician_select_model.py
new file mode 100644
index 0000000..6d8818b
--- /dev/null
+++ b/src/openmolar/qt4gui/appointment_gui_modules/clinician_select_model.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+from openmolar.dbtools import appointments
+from openmolar.settings import localsettings
+
+class ClinicianSelectModel(QtCore.QAbstractListModel):
+ '''
+ A simple model used to populate a combobox to select how the
+ appointment books are managed.
+ '''
+ def __init__(self, parent=None):
+ QtCore.QAbstractListModel.__init__(self, parent)
+
+ self.options_list = [
+ _("Available Clinicians"),
+ _("Available Dentists"),
+ _("Available Hygenists"),
+ _("All")
+ ]
+
+ self.om_gui = parent
+ #if localsettings.activehygs == []:
+ # self.options_list.remove(_("Available Hygenists"))
+
+ self.manual_index = 5 #used if manual is called by another widget
+
+ def rowCount(self, parent = QtCore.QModelIndex()):
+ return len(self.options_list)
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+ if role == QtCore.Qt.DisplayRole:
+ option = self.options_list[index.row()]
+ return QtCore.QVariant(option)
+ return QtCore.QVariant()
+
+ @property
+ def all_clinicians(self):
+ '''
+ returns a numeric version of
+ localsettings.activedents + localsettings.activehygs
+ '''
+ retlist = []
+ for dent in localsettings.activedents + localsettings.activehygs:
+ retlist.append(localsettings.apptix.get(dent))
+ return tuple(retlist)
+
+ def clinician_list(self, row, date):
+ '''
+ returns a tuple of values showing who is working.
+ '''
+ if row == 0:
+ return appointments.getWorkingDents(date,
+ include_non_working=False)
+ elif row == 1:
+ chkset = localsettings.activedent_ixs
+ return appointments.getWorkingDents(date, chkset,
+ include_non_working=False)
+ elif row == 2:
+ chkset = localsettings.activehyg_ixs
+ return appointments.getWorkingDents(date, chkset,
+ include_non_working=False)
+
+ return appointments.getAllClinicians(date)
+
+
+if __name__ == "__main__":
+
+ def but_clicked():
+ message = ""
+ for d_day in model.clinician_list(
+ cb.currentIndex(), cal.date().toPyDate()):
+ message += "%s <br />"% d_day
+ QtGui.QMessageBox.information(mw, "result", message)
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ model = ClinicianSelectModel()
+
+ mw = QtGui.QMainWindow()
+ frame = QtGui.QWidget()
+ cb = QtGui.QComboBox()
+ cb.setModel(model)
+ cal = QtGui.QDateEdit()
+ cal.setDate(QtCore.QDate(2013, 2, 1))
+ button = QtGui.QPushButton("who's chosen?")
+ button.clicked.connect(but_clicked)
+
+ layout = QtGui.QVBoxLayout(frame)
+ layout.addWidget(cb)
+ layout.addWidget(cal)
+ layout.addWidget(button)
+
+ mw.setCentralWidget(frame)
+ mw.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/appointment_gui_modules/draggable_list.py b/src/openmolar/qt4gui/appointment_gui_modules/draggable_list.py
new file mode 100644
index 0000000..5f5ec4b
--- /dev/null
+++ b/src/openmolar/qt4gui/appointment_gui_modules/draggable_list.py
@@ -0,0 +1,73 @@
+import datetime
+import cPickle
+import pickle
+import sys
+
+from PyQt4 import QtGui, QtCore
+from openmolar.dbtools import appointments
+from openmolar.settings import localsettings
+
+class DraggableList(QtGui.QListView):
+ '''
+ a listView whose items can be moved
+ '''
+ def __init__(self, multiSelect, parent=None):
+ super(DraggableList, self).__init__(parent)
+ self.setDragEnabled(True)
+ self.multiSelect = multiSelect
+ self.setMinimumHeight(100)
+
+ def sizeHint(self):
+ return QtCore.QSize(150, 200)
+
+ def setSelectionModel(self, model):
+ QtGui.QListView.setSelectionModel(self, model)
+ if self.multiSelect:
+ self.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+
+ def startDrag(self, event):
+ index = self.indexAt(event.pos())
+ if not index.isValid():
+ return
+
+ ## selected is the relevant person object
+ selectedApp = self.model().data(index, QtCore.Qt.UserRole)
+
+ if not selectedApp.unscheduled:
+ event.ignore()
+ return
+ if index not in self.selectedIndexes():
+ self.setCurrentIndex(index)
+
+ ## convert to a bytestream
+ bstream = cPickle.dumps(selectedApp)
+ mimeData = QtCore.QMimeData()
+ mimeData.setData("application/x-appointment", bstream)
+ drag = QtGui.QDrag(self)
+
+ drag.setMimeData(mimeData)
+ drag.setDragCursor(QtGui.QPixmap(), QtCore.Qt.MoveAction)
+
+ pixmap = QtGui.QPixmap()
+ pixmap = pixmap.grabWidget(self, self.rectForIndex(index))
+ drag.setPixmap(pixmap)
+ drag.setHotSpot(QtCore.QPoint(-10,0))
+
+ drag.start(QtCore.Qt.CopyAction)
+
+ def mouseMoveEvent(self, event):
+ self.startDrag(event)
+
+ def selectionChanged(self, selectedRange, deselected):
+ '''
+ the user has selected an appointment (or range of appointments!)
+ from the list
+ '''
+ if selectedRange.count():
+ selected = selectedRange.indexes()[0]
+ else:
+ selected = None
+ rows = self.selectionModel().selectedRows()
+ self.model().setSelectedIndexes(rows, selected)
+
+ self.doItemsLayout()
diff --git a/src/openmolar/qt4gui/appointment_gui_modules/list_models.py b/src/openmolar/qt4gui/appointment_gui_modules/list_models.py
new file mode 100644
index 0000000..d9bfb62
--- /dev/null
+++ b/src/openmolar/qt4gui/appointment_gui_modules/list_models.py
@@ -0,0 +1,209 @@
+import datetime
+import logging
+import cPickle
+import pickle
+import sys
+
+from PyQt4 import QtGui, QtCore
+from openmolar.dbtools import appointments
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+class SimpleListModel(QtCore.QAbstractListModel):
+
+ appointment_selected = QtCore.pyqtSignal(object)
+ clinicians_changed = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ super(SimpleListModel, self).__init__(parent)
+ self.unscheduledList = []
+ self.scheduledList = []
+ self.list = []
+ self.min_slot_length = 0
+ self.setSupportedDragActions(QtCore.Qt.MoveAction)
+ self.selection_model = QtGui.QItemSelectionModel(self)
+
+ self.currentAppt = None
+ self.selectedAppts = []
+ self.normal_icon = QtGui.QIcon()
+ self.normal_icon.addPixmap(QtGui.QPixmap(":/schedule.png"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.selected_icon = QtGui.QIcon()
+ self.selected_icon.addPixmap(
+ QtGui.QPixmap(":/icons/schedule_active.png"))
+
+ def clear(self):
+ self.currentAppt = None
+ self.selectedAppts = []
+ self.unscheduledList = []
+ self.scheduledList = []
+ self.list = []
+ self.min_slot_length = 0
+ self.reset()
+
+ @property
+ def involvedClinicians(self):
+ '''
+ returns a set containing all clinicians referred to by the lists
+ within
+ '''
+ retarg = set()
+ for app in self.list:
+ retarg.add(app.dent)
+ return tuple(retarg)
+
+ @property
+ def selectedClinicians(self):
+ '''
+ returns a set containing all clinicians whose appointments have been
+ highlighted
+ '''
+ retarg = set()
+ for index in self.selection_model.selectedRows():
+ app = self.list[index.row()]
+ retarg.add(app.dent)
+ return tuple(retarg)
+
+ def set_appointments(self, appts, selectedAppt):
+ '''
+ add an appointments, and highlight the selectedAppt (which is the
+ highlighted one in the pt diary
+ '''
+ currentClinicians = self.involvedClinicians
+ changedClinicians = False
+
+ self.clear()
+
+ for appt in appts:
+ if appt.past:
+ pass
+ elif appt.unscheduled:
+ self.unscheduledList.append(appt)
+ else:
+ self.scheduledList.append(appt)
+
+ if not appt.past and not (appt.dent in currentClinicians):
+ changedClinicians = True
+
+ self.list = self.scheduledList + self.unscheduledList
+
+ if changedClinicians:
+ self.clinicians_changed.emit()
+
+ self.reset()
+
+ for appt in self.selectedAppts:
+ self.set_current_appt(appt)
+
+ if selectedAppt in appts:
+ self.set_current_appt(selectedAppt)
+ else:
+ self.set_current_appt(None)
+
+ def rowCount(self, parent = QtCore.QModelIndex()):
+ return len(self.list)
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+ app = self.list[index.row()]
+ if role == QtCore.Qt.DisplayRole:
+ if app.flag == -128:
+ info = "%s (%s)"% (app.name, app.length)
+ elif app.unscheduled:
+ info = "%s %s - %s"% (app.length,
+ app.trt1, app.dent_inits)
+ else:
+ info = "%s %s with %s"% (app.readableDate,
+ app.readableTime, app.dent_inits)
+ return QtCore.QVariant(info)
+ elif role == QtCore.Qt.ForegroundRole:
+ if app.unscheduled:
+ return QtCore.QVariant(QtGui.QBrush(QtGui.QColor("red")))
+ elif role == QtCore.Qt.DecorationRole:
+ #if app in self.selectedAppts: #
+ if app.unscheduled:
+ if app == self.currentAppt:
+ return QtCore.QVariant(self.selected_icon)
+ return QtCore.QVariant(self.normal_icon)
+ elif role == QtCore.Qt.UserRole: #return the whole python object
+ return app
+ return QtCore.QVariant()
+
+ def setSelectedIndexes(self, indexes, selected):
+ self.min_slot_length = 0
+ self.currentAppt = None
+ self.selectedAppts = []
+ for index in indexes:
+ appt = self.data(index, QtCore.Qt.UserRole)
+ self.selectedAppts.append(appt)
+
+ if selected in indexes:
+ self.currentAppt = self.data(selected, QtCore.Qt.UserRole)
+ self.min_slot_length = self.currentAppt.length
+ elif self.selectedAppts != []:
+ self.currentAppt = self.selectedAppts[0]
+ self.min_slot_length = self.currentAppt.length
+
+ self.appointment_selected.emit(self.currentAppt)
+
+ def set_current_appt(self, appt):
+ '''
+ set the current appointment as appt, return the model index of appt
+ '''
+ LOGGER.debug("SimpleListModel.set_current_appt")
+ self.currentAppt = appt
+ if appt == None:
+ self.selection_model.clear()
+ self.min_slot_length = 0
+ else:
+ try:
+ index = self.index(self.list.index(appt))
+ self.min_slot_length = appt.length
+ self.selection_model.select(index,
+ QtGui.QItemSelectionModel.Select)
+ return index
+ except ValueError:
+ pass
+ return QtCore.QModelIndex()
+
+ @property
+ def min_unscheduled_hyg_slot_length(self):
+ msl = None
+ for appt in self.unscheduledList:
+ if appt.dent in localsettings.activehyg_ixs:
+ if msl is None or appt.length < msl:
+ msl = appt.length
+ return msl
+
+ def load_from_database(self, pt):
+ app = self.currentAppt
+ appts = appointments.get_pts_appts(pt)
+ self.set_appointments(appts, None)
+ self.set_current_appt(app)
+
+class BlockListModel(SimpleListModel):
+ '''
+ customise the above model just for blocks
+ '''
+ def __init__(self, parent=None):
+ super(BlockListModel, self).__init__(parent)
+ self.list = []
+ for val, length in (
+ (_("Lunch"), 60),
+ (_("Lunch"), 30),
+ (_("staff meeting"), 10),
+ (_("emergency"), 15),
+ (_("emergency"), 20),
+ (_("emergency"), 30),
+ (_("Out of Office"), 30)):
+ block = appointments.APR_Appointment()
+ block.name = val
+ block.length = length
+ block.flag = -128
+ self.list.append(block)
+
+ def reset(self):
+ pass
+
diff --git a/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py b/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py
new file mode 100644
index 0000000..190b111
--- /dev/null
+++ b/src/openmolar/qt4gui/appointment_gui_modules/pt_diary_treemodel.py
@@ -0,0 +1,361 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+this module provides the model class
+that is displayed in the patients diary view
+found under the reception tab
+'''
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+from openmolar.qt4gui import colours
+import datetime
+
+CATEGORIES = ("", _("View Past Appointments") ,_("Unscheduled"))
+HORIZONTAL_HEADERS = (_("Date & Time"), _("Practitioner"), _("Length"),
+_("Treatment"), "ix", _("Memo"))
+
+class TreeItem(object):
+ def __init__(self, category, appointment, parent=None, index=0):
+ self.appointment = appointment
+ self.isAppointment = True
+ try:
+ if appointment.date:
+ self.headerCol = (
+ localsettings.wystimeToHumanTime(appointment.atime) + "\t" +
+ localsettings.readableDate(appointment.date))
+ else:
+ self.headerCol = "TBA" ## used to be "TBA"
+ except AttributeError:
+ self.headerCol = category
+ self.isAppointment = False
+ self.parentItem = parent
+ self.myindex = index
+ self.childItems = []
+
+ def appendChild(self, item):
+ self.childItems.append(item)
+
+ def child(self, row):
+ return self.childItems[row]
+
+ def childCount(self):
+ return len(self.childItems)
+
+ def columnCount(self):
+ return len(HORIZONTAL_HEADERS)
+
+ def data(self, column):
+ if column == 0:
+ return QtCore.QVariant(self.headerCol)
+ if not self.isAppointment:
+ return QtCore.QVariant()
+ if column == 1:
+ return QtCore.QVariant(self.appointment.dent_inits)
+ if column == 2:
+ return QtCore.QVariant(self.appointment.length)
+ if column == 3:
+ trt = "%s %s %s"% (self.appointment.trt1,
+ self.appointment.trt2, self.appointment.trt3)
+ return QtCore.QVariant(trt)
+ if column == 5:
+ return QtCore.QVariant(self.appointment.memo)
+ if column == 4:
+ return QtCore.QVariant(self.appointment.aprix)
+
+ return QtCore.QVariant()
+
+ def parent(self):
+ return self.parentItem
+
+ def row(self):
+ if self.parentItem:
+ return self.parentItem.childItems.index(self)
+ return 0
+
+class treeModel(QtCore.QAbstractItemModel):
+ '''
+ a model to display a feetables data
+ '''
+ def __init__(self, parent=None):
+ super(treeModel, self).__init__(parent)
+ self.appointments = []
+ self.rootItem = TreeItem("Appointments",None, None, None)
+ self.parents = {0 : self.rootItem}
+ self.om_gui = parent
+ self.selectedAppt = None
+ self.normal_icon = QtGui.QIcon()
+ self.normal_icon.addPixmap(QtGui.QPixmap(":/schedule.png"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.selected_icon = QtGui.QIcon()
+ self.selected_icon.addPixmap(
+ QtGui.QPixmap(":/icons/schedule_active.png"))
+
+ def addAppointments(self, appointments):
+ if appointments != self.appointments:
+ self.clear()
+ self.appointments = appointments
+ self.setupModelData()
+
+ def setSelectedAppt(self, appt):
+ if appt and self.om_gui:
+ pt = self.om_gui.pt
+ appt.name = pt.fname + " " + pt.sname
+ appt.cset = pt.cset
+ self.selectedAppt = appt
+ self.emit(QtCore.SIGNAL("selectedAppt"),appt)
+
+ def clear(self):
+
+ self.selectedAppt = None
+ self.appointments = []
+ self.rootItem = TreeItem("Appointments",None, None, None)
+ self.parents = {0 : self.rootItem}
+ self.setupModelData()
+ self.reset()
+
+ def columnCount(self, parent=None):
+ if parent and parent.isValid():
+ return parent.internalPointer().columnCount()
+ else:
+ return len(HORIZONTAL_HEADERS)
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+
+ item = index.internalPointer()
+ if role == QtCore.Qt.DisplayRole:
+ return item.data(index.column())
+ if role == QtCore.Qt.ForegroundRole:
+ if item.appointment and item.appointment.today:
+ brush = QtGui.QBrush(colours.DIARY.get("TODAY"))
+ return QtCore.QVariant(brush)
+ if item.appointment and item.appointment.future:
+ brush = QtGui.QBrush(colours.DIARY.get("Future"))
+ return QtCore.QVariant(brush)
+ if item.appointment and item.appointment.unscheduled:
+ brush = QtGui.QBrush(colours.DIARY.get("Unscheduled"))
+ return QtCore.QVariant(brush)
+ elif role == QtCore.Qt.DecorationRole:
+ if (index.column() == 0 and
+ item.appointment and item.appointment.unscheduled):
+ if (self.selectedAppt and
+ item.appointment.aprix == self.selectedAppt.aprix):
+ return QtCore.QVariant(self.selected_icon)
+ return QtCore.QVariant(self.normal_icon)
+ if role == QtCore.Qt.UserRole:
+ ## a user role which simply returns the python object
+ if item:
+ return item.appointment
+
+ return QtCore.QVariant()
+
+ def flags(self, index):
+ if not index.isValid():
+ return QtCore.Qt.NoItemFlags
+
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
+
+ def headerData(self, column, orientation, role):
+ if (orientation == QtCore.Qt.Horizontal and
+ role == QtCore.Qt.DisplayRole):
+ try:
+ return QtCore.QVariant(HORIZONTAL_HEADERS[column])
+ except IndexError:
+ pass
+
+ return QtCore.QVariant()
+
+ def index(self, row, column, parent):
+ if not self.hasIndex(row, column, parent):
+ return QtCore.QModelIndex()
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ childItem = parentItem.child(row)
+ if childItem:
+ return self.createIndex(row, column, childItem)
+ else:
+ return QtCore.QModelIndex()
+
+ def parent(self, index):
+ if not index.isValid():
+ return QtCore.QModelIndex()
+
+ childItem = index.internalPointer()
+ if not childItem:
+ return QtCore.QModelIndex()
+
+ parentItem = childItem.parent()
+
+ if parentItem == None:
+ return QtCore.QModelIndex()
+
+ return self.createIndex(parentItem.row(), 0, parentItem)
+
+ def rowCount(self, parent=QtCore.QModelIndex()):
+ if parent.column() > 0:
+ return 0
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ return parentItem.childCount()
+
+ def setupModelData(self):
+ unscheduled = []
+ scheduled = []
+ ## jump through hoops to ensure "unscheduled appear at the bottom
+ ## of the model
+ for appt in self.appointments:
+ if appt.unscheduled:
+ unscheduled.append(appt)
+ else:
+ scheduled.append(appt)
+ for appt in scheduled + unscheduled:
+ if appt.past:
+ cat = 1
+ #elif appt.date is None: #a seperate parent for unscheduled?
+ # cat = 2
+ else:
+ cat = 0
+
+ if not self.parents.has_key(cat) :
+ try:
+ category = CATEGORIES[cat]
+ except IndexError:
+ category = "CATEGORY %d"% cat
+ parent = TreeItem(category, None, None, self.rootItem)
+ self.rootItem.appendChild(parent)
+
+ self.parents[cat] = parent
+
+ self.parents[cat].appendChild(TreeItem("", appt,
+ self.parents[cat]))
+
+ def searchModel(self, appt):
+ '''
+ get the modelIndex for a given appointment
+ '''
+ def searchNode(node):
+ '''
+ a function called recursively, looking at all nodes beneath node
+ '''
+
+ for child in node.childItems:
+ data = child.appointment
+ if appt == data:
+ index = self.createIndex(child.row(), 0, child)
+ return index
+
+ if child.childCount() > 0:
+ result = searchNode(child)
+ if result:
+ return result
+
+ return searchNode(self.parents[0])
+
+
+ def findItem(self, apr_ix):
+ '''
+ get the model index of a specific appointment
+ '''
+ appt = None
+ for appmt in self.appointments:
+ if appmt.aprix == apr_ix:
+ appt = appmt
+ break
+ if appt:
+ index = self.searchModel(appt)
+ return (True, index)
+ return (False, None)
+
+if __name__ == "__main__":
+ from openmolar.dbtools import appointments
+ from openmolar.qt4gui import resources_rc
+
+ class duckPt(object):
+ def __init__(self):
+ self.serialno = 20791
+ self.sname = "Neil"
+ self.fname = "Wallace"
+ self.cset = "P"
+
+ def resize(arg=None):
+ for col in range(model.columnCount(arg)):
+ tv.resizeColumnToContents(col)
+
+ def appt_clicked(index):
+ print index,
+ print tv.model().data(index, QtCore.Qt.UserRole)
+
+ def but_clicked():
+ appoint_number = int(mw.sender().text())
+ result, index = model.findItem(appoint_number)
+ if result:
+ if index:
+ tv.setCurrentIndex(index)
+ return
+ tv.clearSelection()
+
+ app = QtGui.QApplication([])
+ localsettings.initiate()
+
+ appts = appointments.get_pts_appts(duckPt())
+
+ model = treeModel()
+ model.addAppointments(appts)
+ mw = QtGui.QMainWindow()
+
+ mw.setMinimumSize(800,300)
+ frame = QtGui.QFrame(mw)
+ layout = QtGui.QVBoxLayout(frame)
+
+ tv = QtGui.QTreeView()
+ tv.setModel(model)
+ tv.setAlternatingRowColors(True)
+ layout.addWidget(tv)
+ tv.expandAll()
+
+ buts = []
+ but_frame = QtGui.QFrame()
+ layout2 = QtGui.QHBoxLayout(but_frame)
+ for appt in appts:
+ but = QtGui.QPushButton(str(appt.aprix), mw)
+ buts.append(but)
+ layout2.addWidget(but)
+ QtCore.QObject.connect(but, QtCore.SIGNAL("clicked()"), but_clicked)
+
+ layout.addWidget(but_frame)
+
+ index = model.parents.get(1, None)
+ if index:
+ tv.collapse(model.createIndex(0,0,index))
+ resize()
+
+ QtCore.QObject.connect(tv, QtCore.SIGNAL("expanded(QModelIndex)"),
+ resize)
+ QtCore.QObject.connect(tv, QtCore.SIGNAL("clicked (QModelIndex)"),
+ appt_clicked)
+
+
+ but = QtGui.QPushButton("Clear Selection")
+ layout.addWidget(but)
+ but.clicked.connect(tv.clearSelection)
+
+
+ mw.setCentralWidget(frame)
+ mw.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/charts/__init__.py b/src/openmolar/qt4gui/charts/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/charts/charts_gui.py b/src/openmolar/qt4gui/charts/charts_gui.py
new file mode 100644
index 0000000..746f913
--- /dev/null
+++ b/src/openmolar/qt4gui/charts/charts_gui.py
@@ -0,0 +1,310 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides some logic functions for the charts within openmolar gui.
+'''
+
+from __future__ import division
+
+import copy
+import logging
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+def navigateCharts(om_gui, direction):
+ '''
+ called by a keypress in the tooth prop LineEdit or a click on one of
+ the tooth prop buttons.
+ entry will have been checked.
+ '''
+ [x, y] = om_gui.ui.staticChartWidget.selected
+
+ if y == 0:
+ #--upper teeth
+ if direction == "up":
+ if x != 0:
+ x -= 1
+ else:
+ if x == 15:
+ x, y = 15, 1
+ else:
+ x += 1
+ else:
+ #--lower teeth
+ if direction == "up":
+ if x == 15:
+ x, y=15, 0
+ else:
+ x += 1
+ else:
+ if x != 0:
+ x -= 1
+
+ selectChartedTooth(om_gui, x, y)
+ tooth = om_gui.ui.staticChartWidget.grid[y][x]
+
+ row = (16*y) + x
+
+ om_gui.ui.chartsTableWidget.setCurrentCell(row, 0)
+ om_gui.ui.toothPropsWidget.setTooth(tooth, om_gui.selectedChartWidget)
+
+def deleteComments(om_gui):
+ '''
+ called when user has trigger deleted comments in the toothProp
+ '''
+ tooth = str(om_gui.ui.chartsTableWidget.item(
+ om_gui.ui.chartsTableWidget.currentRow(), 0).text())
+
+ if tooth in om_gui.ui.staticChartWidget.commentedTeeth:
+ om_gui.ui.staticChartWidget.commentedTeeth.remove(tooth)
+ om_gui.ui.staticChartWidget.update()
+ existing = om_gui.pt.__dict__[tooth+"st"]
+ om_gui.pt.__dict__[tooth+"st"] = re.sub("![^ ]* ","",existing)
+
+def updateCharts(om_gui, arg):
+ '''
+ called by a signal from the toothprops widget -
+ args are the new tooth properties eg modbl,co
+ '''
+ LOGGER.debug(arg)
+
+ tooth = om_gui.ui.toothPropsWidget.selectedTooth
+ if om_gui.selectedChartWidget == "st":
+ om_gui.pt.__dict__[tooth + om_gui.selectedChartWidget] = arg
+ #--update the patient!!
+ om_gui.ui.staticChartWidget.setToothProps(tooth, arg)
+ om_gui.ui.summaryChartWidget.setToothProps(tooth, arg)
+ om_gui.ui.staticChartWidget.update()
+ else:
+ om_gui.handle_chart_treatment_input(
+ tooth, arg, om_gui.selectedChartWidget == "cmp")
+
+def updateChartsAfterTreatment(om_gui, tooth, newplan, newcompleted):
+ '''
+ update the charts when a planned item has moved to completed
+ '''
+ #print "update charts after treatment", tooth, newplan, newcompleted
+ om_gui.ui.planChartWidget.setToothProps(tooth, newplan)
+ om_gui.ui.planChartWidget.update()
+ om_gui.ui.completedChartWidget.setToothProps(tooth, newcompleted)
+ om_gui.ui.completedChartWidget.update()
+
+def flipDeciduous(om_gui):
+ '''
+ change a tooth state from deciduous to permanent
+ or back again
+ '''
+ if om_gui.selectedChartWidget == "st":
+ selectedCells = om_gui.ui.chartsTableWidget.selectedIndexes()
+ for cell in selectedCells:
+ row=cell.row()
+ selectedTooth=str(
+ om_gui.ui.chartsTableWidget.item(row, 0).text().toAscii())
+
+ om_gui.pt.flipDec_Perm(selectedTooth)
+ for chart in (om_gui.ui.staticChartWidget, om_gui.ui.planChartWidget,
+ om_gui.ui.completedChartWidget, om_gui.ui.perioChartWidget,
+ om_gui.ui.summaryChartWidget):
+ chart.chartgrid = om_gui.pt.chartgrid
+ #--necessary to restore the chart to full dentition
+ chart.update()
+ else:
+ om_gui.advise(
+ _("you need to be in the static chart to change tooth state"), 1)
+
+def checkPreviousEntry(om_gui):
+ '''
+ check to see if the toothProps widget has unfinished business
+ '''
+ if not om_gui.ui.toothPropsWidget.lineEdit.unsavedChanges():
+ return True
+ else:
+ return om_gui.ui.toothPropsWidget.lineEdit.additional()
+
+def chartNavigation(om_gui, teeth, callerIsTable=False):
+ '''
+ one way or another, a tooth has been selected...
+ this updates all relevant widgets
+ '''
+ #--called by a navigating a chart or the underlying table
+ #--convert from QString
+ #print "chartNavigation", teeth, callerIsTable
+ grid = (["ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1',
+ 'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8'],
+ ["lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1',
+ 'll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8'])
+
+ if teeth == []:
+ print '''chartNavigation called with teeth=[]\n
+ THIS SHOULDN'T HAPPEN!!!!'''
+ return
+ tooth = teeth[0]
+
+ om_gui.ui.toothPropsWidget.setTooth(tooth, om_gui.selectedChartWidget)
+
+ #--calculate x, y co-ordinates for the chartwidgets
+ if tooth in grid[0]:
+ y = 0
+ else:
+ y = 1
+ x = grid[y].index(tooth)
+
+ selectChartedTooth(om_gui, x, y)
+ om_gui.ui.chartsTableWidget.setCurrentCell(x+y*16, 0)
+ for tooth in teeth:
+ #other teeth have been selected
+ #ie. ctrl-click or shift ciick
+ if tooth in grid[0]:
+ y = 0
+ else:
+ y = 1
+ x = grid[y].index(tooth)
+
+ om_gui.ui.chartsTableWidget.setCurrentCell(x+y*16, 0,
+ QtGui.QItemSelectionModel.Select)
+
+def selectChartedTooth(om_gui, x, y):
+ '''
+ only one tooth can be 'selected'
+ '''
+ om_gui.ui.planChartWidget.setSelected(x, y, showSelection =
+ om_gui.selectedChartWidget == "pl")
+
+ om_gui.ui.completedChartWidget.setSelected(x, y, showSelection =
+ om_gui.selectedChartWidget == "cmp")
+
+ om_gui.ui.staticChartWidget.setSelected(x, y, showSelection =
+ om_gui.selectedChartWidget == "st")
+
+
+def bpe_dates(om_gui):
+ '''
+ updates the date in the bpe date groupbox
+ '''
+ #--bpe = "basic periodontal exam"
+ om_gui.ui.bpeDateComboBox.clear()
+ om_gui.ui.bpe_textBrowser.setPlainText("")
+ if om_gui.pt.bpe == []:
+ om_gui.ui.bpeDateComboBox.addItem(QtCore.QString("NO BPE"))
+ else:
+ l = copy.deepcopy(om_gui.pt.bpe)
+ l.reverse() #show newest first
+ for sets in l:
+ bpedate = localsettings.formatDate(sets[0])
+ om_gui.ui.bpeDateComboBox.addItem(bpedate)
+
+def bpe_table(om_gui, arg):
+ '''
+ updates the BPE chart on the clinical summary page
+ '''
+ if om_gui.pt.bpe != []:
+ last_bpe_date = localsettings.formatDate(om_gui.pt.bpe[-1][0])
+ om_gui.ui.bpe_groupBox.setTitle("BPE " + last_bpe_date)
+ l=copy.deepcopy(om_gui.pt.bpe)
+ l.reverse()
+ bpestring=l[arg][1]
+ bpe_html='<table width="100%" border="1"><tr>'
+ for i in range(len(bpestring)):
+ if i == 3:
+ bpe_html+="</tr><tr>"
+ bpe_html+='<td align="center">%s</td>'%bpestring[i]
+ for i in range(i+1, 6):
+ if i == 3:
+ bpe_html+="</tr><tr>"
+ bpe_html+='<td align="center">_</td>'
+ bpe_html+='</tr></table>'
+ om_gui.ui.bpe_textBrowser.setHtml(bpe_html)
+ else:
+ #--necessary in case of the "NO DATA FOUND" option
+ om_gui.ui.bpe_groupBox.setTitle(_("BPE"))
+ om_gui.ui.bpe_textBrowser.setHtml("")
+
+def periochart_dates(om_gui):
+ '''
+ multiple perio charts on multiple dates....
+ display those dates in a combo box
+ '''
+ om_gui.ui.perioChartDateComboBox.clear()
+ for date in om_gui.pt.perioData.keys():
+ om_gui.ui.perioChartDateComboBox.addItem(QtCore.QString(date))
+ if om_gui.pt.perioData == {}:
+ om_gui.ui.perioChartDateComboBox.addItem(_("NO CHARTS"))
+
+def layoutPerioCharts(om_gui):
+ '''
+ layout the perio charts
+ '''
+ #--convert from QString
+ selected_date=str(om_gui.ui.perioChartDateComboBox.currentText())
+ if om_gui.pt.perioData.has_key(selected_date):
+ perioD = om_gui.pt.perioData[selected_date]
+ #--headers=("Recession", "Pocketing", "Plaque", "Bleeding", "Other",
+ #--"Suppuration", "Furcation", "Mobility")
+ for key in perioD.keys():
+ for i in range(8):
+ om_gui.ui.perioChartWidgets[i].setProps(key, perioD[key][i])
+ else:
+ om_gui.advise("no perio data found for", selected_date)
+ for i in range(8):
+ om_gui.ui.perioChartWidgets[i].props = {}
+ for chart in om_gui.ui.perioChartWidgets:
+ chart.update()
+
+def chartsTable(om_gui):
+ '''
+ update the charts table
+ '''
+ om_gui.ui.chartsTableWidget.clear()
+ om_gui.ui.chartsTableWidget.setSortingEnabled(False)
+ om_gui.ui.chartsTableWidget.setRowCount(32)
+ headers=["Tooth", "Deciduous", "Static", "Plan", "Completed"]
+ om_gui.ui.chartsTableWidget.setColumnCount(5)
+ om_gui.ui.chartsTableWidget.setHorizontalHeaderLabels(headers)
+ om_gui.ui.chartsTableWidget.verticalHeader().hide()
+
+ for chart in (om_gui.ui.summaryChartWidget,
+ om_gui.ui.staticChartWidget,
+ om_gui.ui.planChartWidget,
+ om_gui.ui.completedChartWidget,
+ om_gui.ui.perioChartWidget):
+ chart.chartgrid=om_gui.pt.chartgrid
+ #--sets the tooth numbering
+ row=0
+
+ for tooth in ("ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1',
+ 'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8',
+ "lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1',
+ 'll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8'):
+ item1=QtGui.QTableWidgetItem(tooth)
+ static_text=om_gui.pt.__dict__[tooth+"st"]
+ staticitem=QtGui.QTableWidgetItem(static_text)
+ decidousitem=QtGui.QTableWidgetItem(om_gui.pt.chartgrid[tooth])
+ om_gui.ui.chartsTableWidget.setRowHeight(row, 15)
+ om_gui.ui.chartsTableWidget.setItem(row, 0, item1)
+ om_gui.ui.chartsTableWidget.setItem(row, 1, decidousitem)
+ om_gui.ui.chartsTableWidget.setItem(row, 2, staticitem)
+ row += 1
+ om_gui.ui.summaryChartWidget.setToothProps(tooth, static_text)
+ om_gui.ui.staticChartWidget.setToothProps(tooth, static_text)
+ pItem = om_gui.pt.treatment_course.__dict__[tooth+"pl"]
+ cItem = om_gui.pt.treatment_course.__dict__[tooth+"cmp"]
+ planitem = QtGui.QTableWidgetItem(pItem)
+ cmpitem = QtGui.QTableWidgetItem(cItem)
+ om_gui.ui.chartsTableWidget.setItem(row, 3, planitem)
+ om_gui.ui.chartsTableWidget.setItem(row, 4, cmpitem)
+ om_gui.ui.planChartWidget.setToothProps(tooth, pItem.lower())
+ om_gui.ui.completedChartWidget.setToothProps(tooth, cItem.lower())
+
+ if static_text[:2] in ("AT", "TM", "UE"):
+ om_gui.ui.perioChartWidget.setToothProps(tooth, static_text)
+ om_gui.ui.chartsTableWidget.resizeColumnsToContents()
+ om_gui.ui.chartsTableWidget.setCurrentCell(0, 0)
diff --git a/src/openmolar/qt4gui/colours.py b/src/openmolar/qt4gui/colours.py
new file mode 100644
index 0000000..012daab
--- /dev/null
+++ b/src/openmolar/qt4gui/colours.py
@@ -0,0 +1,86 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+LINEEDIT = QtGui.QColor("#ffffaa")
+CHARTTEXT = QtGui.QColor("#111111")
+TOOTHLINES = QtGui.QColor("#aaaaaa")
+IVORY = QtGui.QColor("#ffeedd")
+
+#these numbers are grabbed for the stylesheet of the toothprop buttons
+GI_ = "#75d185"
+GOLD_ = "#ffff00"
+COMP_ = "#ffffff"
+PORC_ = "#ddffff"
+AMALGAM_ = "#666666"
+
+GI = QtGui.QColor(GI_)
+GOLD = QtGui.QColor(GOLD_)
+COMP = QtGui.QColor(COMP_)
+PORC = QtGui.QColor(PORC_)
+AMALGAM = QtGui.QColor(AMALGAM_)
+
+FISSURE = QtGui.QColor("#bbd0d0")
+METAL = QtGui.QColor("#000075")
+DRESSING = QtGui.QColor("magenta")
+GUTTA_PERCHA = QtGui.QColor("#bb0000")
+FILL_OUTLINE = QtGui.QColor("#333333") #used to be blue
+TRANSPARENT = QtCore.Qt.transparent
+med_warning = "red"
+BACKGROUND = QtGui.QPalette().window()
+APPT_Background = QtCore.Qt.white
+APPT_LINECOLOUR = QtGui.QColor("#dddddd")
+
+DIARY = {
+"Unscheduled":QtGui.QColor("red"),
+"Past":QtGui.QColor("#8c7d3b"),
+"TODAY":QtGui.QColor("#3b8c55"),
+"Future":QtGui.QColor("#3b4a8c")
+}
+
+BOOKED_TODAY = QtCore.Qt.red
+
+APPTCOLORS = {
+ "N":QtGui.QColor("#d9d9ff"),
+ "I":QtGui.QColor("#d9ffec"),
+ "P":QtGui.QColor("#ffffd9"),
+ "RESERVED CLINICAL TIME":QtGui.QColor("#ffcc99"),
+ "LUNCH":QtGui.QColor("#dddddd"),
+ "FREE":QtCore.Qt.transparent,
+ "EMERGENCY":QtGui.QColor("#ffd9ec"),
+ "default":QtGui.QColor("#adb3ff"),
+ "//BLOCKED//":QtCore.Qt.lightGray,
+ "DOUBLE":QtCore.Qt.blue,
+ "SLOT" : QtGui.QColor("#ffff99"),
+ "HEADER" : QtCore.Qt.white,
+ "BACKGROUND" : QtCore.Qt.white,
+ "ACTIVE_SLOT" : QtGui.QColor("#ffff33"),
+ "ACTIVE_SLOT_BOLD" : QtGui.QColor("#dddd11"),
+ "BUSY" : QtGui.QColor("#d9d9ff"),
+ "current_patient" : QtGui.QColor("orange"),
+ }
+
+
+if __name__ == "__main__":
+ print BACKGROUND
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py b/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py
new file mode 100644
index 0000000..d7d6184
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_activeDentStartFinish.py
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/activeDentStartFinish.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(562, 25)
+ self.horizontalLayout = QtGui.QHBoxLayout(Form)
+ self.horizontalLayout.setContentsMargins(-1, 1, -1, 1)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.checkBox = QtGui.QCheckBox(Form)
+ self.checkBox.setMinimumSize(QtCore.QSize(92, 23))
+ self.checkBox.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.checkBox.setObjectName(_fromUtf8("checkBox"))
+ self.horizontalLayout.addWidget(self.checkBox)
+ spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.widget = QtGui.QWidget(Form)
+ self.widget.setMinimumSize(QtCore.QSize(80, 0))
+ self.widget.setObjectName(_fromUtf8("widget"))
+ self.horizontalLayout.addWidget(self.widget)
+ self.widget_2 = QtGui.QWidget(Form)
+ self.widget_2.setMinimumSize(QtCore.QSize(80, 0))
+ self.widget_2.setObjectName(_fromUtf8("widget_2"))
+ self.horizontalLayout.addWidget(self.widget_2)
+ self.lineEdit = QtGui.QLineEdit(Form)
+ self.lineEdit.setMinimumSize(QtCore.QSize(160, 0))
+ self.lineEdit.setMaxLength(30)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.horizontalLayout.addWidget(self.lineEdit)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.checkBox.setText(_("CheckBox"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py b/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py
new file mode 100644
index 0000000..d6aee29
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_addTreatment.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/addTreatment.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(459, 245)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 439, 173))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.scrollAreaWidgetContents)
+ self.horizontalLayout.setSpacing(0)
+ self.horizontalLayout.setMargin(0)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.frame = QtGui.QFrame(self.scrollAreaWidgetContents)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.horizontalLayout.addWidget(self.frame)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.verticalLayout.addWidget(self.scrollArea)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(False)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Plan Treatment"))
+ self.label.setText(_("Add the following Treatment Items to the Current Treatment Plan"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py b/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py
new file mode 100644
index 0000000..bf08a01
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_appointment_length.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/appointment_length.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.setWindowModality(QtCore.Qt.NonModal)
+ Dialog.resize(256, 134)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/logo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ Dialog.setWindowIcon(icon)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1)
+ self.hours_spinBox = QtGui.QSpinBox(Dialog)
+ self.hours_spinBox.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.hours_spinBox.setMaximum(8)
+ self.hours_spinBox.setObjectName(_fromUtf8("hours_spinBox"))
+ self.gridLayout.addWidget(self.hours_spinBox, 1, 0, 1, 1)
+ self.mins_spinBox = QtGui.QSpinBox(Dialog)
+ self.mins_spinBox.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.mins_spinBox.setMaximum(55)
+ self.mins_spinBox.setSingleStep(5)
+ self.mins_spinBox.setObjectName(_fromUtf8("mins_spinBox"))
+ self.gridLayout.addWidget(self.mins_spinBox, 1, 1, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 29, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 2, 0, 1, 2)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(Dialog, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.accept)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Select Appointment Length"))
+ self.label.setText(_("Hours"))
+ self.label_2.setText(_("Minutes"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py b/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py
new file mode 100644
index 0000000..6bfc62b
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_apptOpenDay.py
@@ -0,0 +1,180 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/apptOpenDay.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(540, 377)
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_2.addWidget(self.label_2, 0, 1, 1, 1)
+ self.comboBox = QtGui.QComboBox(Dialog)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.gridLayout_2.addWidget(self.comboBox, 0, 2, 1, 1)
+ spacerItem = QtGui.QSpacerItem(141, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem, 0, 3, 1, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 1, 1, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setMinimumSize(QtCore.QSize(140, 0))
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout_2.addWidget(self.dateEdit, 1, 2, 1, 1)
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 2, 0, 1, 2)
+ self.memo_lineEdit = QtGui.QLineEdit(Dialog)
+ self.memo_lineEdit.setMaxLength(30)
+ self.memo_lineEdit.setObjectName(_fromUtf8("memo_lineEdit"))
+ self.gridLayout_2.addWidget(self.memo_lineEdit, 2, 2, 1, 2)
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setMinimumSize(QtCore.QSize(522, 0))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout = QtGui.QGridLayout(self.frame)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_10 = QtGui.QLabel(self.frame)
+ self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.gridLayout.addWidget(self.label_10, 0, 1, 1, 1)
+ self.dayStart_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.dayStart_timeEdit.setObjectName(_fromUtf8("dayStart_timeEdit"))
+ self.gridLayout.addWidget(self.dayStart_timeEdit, 0, 2, 1, 1)
+ self.es1_checkBox = QtGui.QCheckBox(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.es1_checkBox.sizePolicy().hasHeightForWidth())
+ self.es1_checkBox.setSizePolicy(sizePolicy)
+ self.es1_checkBox.setObjectName(_fromUtf8("es1_checkBox"))
+ self.gridLayout.addWidget(self.es1_checkBox, 1, 0, 1, 1)
+ self.label_4 = QtGui.QLabel(self.frame)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 1, 1, 1, 1)
+ self.es1Start_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.es1Start_timeEdit.setObjectName(_fromUtf8("es1Start_timeEdit"))
+ self.gridLayout.addWidget(self.es1Start_timeEdit, 1, 2, 1, 1)
+ self.label_7 = QtGui.QLabel(self.frame)
+ self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 1, 3, 1, 1)
+ self.es1Finish_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.es1Finish_timeEdit.setObjectName(_fromUtf8("es1Finish_timeEdit"))
+ self.gridLayout.addWidget(self.es1Finish_timeEdit, 1, 4, 1, 1)
+ self.lunch_checkBox = QtGui.QCheckBox(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.lunch_checkBox.sizePolicy().hasHeightForWidth())
+ self.lunch_checkBox.setSizePolicy(sizePolicy)
+ self.lunch_checkBox.setObjectName(_fromUtf8("lunch_checkBox"))
+ self.gridLayout.addWidget(self.lunch_checkBox, 2, 0, 1, 1)
+ self.label_5 = QtGui.QLabel(self.frame)
+ self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 2, 1, 1, 1)
+ self.lunchStart_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.lunchStart_timeEdit.setObjectName(_fromUtf8("lunchStart_timeEdit"))
+ self.gridLayout.addWidget(self.lunchStart_timeEdit, 2, 2, 1, 1)
+ self.label_8 = QtGui.QLabel(self.frame)
+ self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 2, 3, 1, 1)
+ self.lunchFinish_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.lunchFinish_timeEdit.setObjectName(_fromUtf8("lunchFinish_timeEdit"))
+ self.gridLayout.addWidget(self.lunchFinish_timeEdit, 2, 4, 1, 1)
+ self.es2_checkBox = QtGui.QCheckBox(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.es2_checkBox.sizePolicy().hasHeightForWidth())
+ self.es2_checkBox.setSizePolicy(sizePolicy)
+ self.es2_checkBox.setObjectName(_fromUtf8("es2_checkBox"))
+ self.gridLayout.addWidget(self.es2_checkBox, 3, 0, 1, 1)
+ self.label_6 = QtGui.QLabel(self.frame)
+ self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout.addWidget(self.label_6, 3, 1, 1, 1)
+ self.es2Start_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.es2Start_timeEdit.setObjectName(_fromUtf8("es2Start_timeEdit"))
+ self.gridLayout.addWidget(self.es2Start_timeEdit, 3, 2, 1, 1)
+ self.label_9 = QtGui.QLabel(self.frame)
+ self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 3, 3, 1, 1)
+ self.es2Finish_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.es2Finish_timeEdit.setObjectName(_fromUtf8("es2Finish_timeEdit"))
+ self.gridLayout.addWidget(self.es2Finish_timeEdit, 3, 4, 1, 1)
+ self.label_11 = QtGui.QLabel(self.frame)
+ self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_11.setObjectName(_fromUtf8("label_11"))
+ self.gridLayout.addWidget(self.label_11, 4, 3, 1, 1)
+ self.dayFinish_timeEdit = QtGui.QTimeEdit(self.frame)
+ self.dayFinish_timeEdit.setObjectName(_fromUtf8("dayFinish_timeEdit"))
+ self.gridLayout.addWidget(self.dayFinish_timeEdit, 4, 4, 1, 1)
+ self.gridLayout_2.addWidget(self.frame, 3, 0, 1, 4)
+ spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem1, 4, 0, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_2.addWidget(self.buttonBox, 5, 0, 1, 4)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Open a Day"))
+ self.label_2.setText(_("Clinician"))
+ self.label_3.setText(_("Date to Open"))
+ self.label.setText(_("Day Memo - optional"))
+ self.label_10.setText(_("Day Start"))
+ self.es1_checkBox.setText(_("Morning Emergency Slot"))
+ self.label_4.setText(_("Start"))
+ self.label_7.setText(_("Finish"))
+ self.lunch_checkBox.setText(_("Lunch"))
+ self.label_5.setText(_("Start"))
+ self.label_8.setText(_("Finish"))
+ self.es2_checkBox.setText(_("Afternoon Emergency Slot "))
+ self.label_6.setText(_("Start"))
+ self.label_9.setText(_("Finish"))
+ self.label_11.setText(_("Day Finish"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py b/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py
new file mode 100644
index 0000000..b761438
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_apptTools.py
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/apptTools.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName(_fromUtf8("MainWindow"))
+ MainWindow.resize(599, 255)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/logo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ MainWindow.setWindowIcon(icon)
+ self.centralwidget = QtGui.QWidget(MainWindow)
+ self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
+ self.gridLayout = QtGui.QGridLayout(self.centralwidget)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(self.centralwidget)
+ self.label.setFrameShape(QtGui.QFrame.NoFrame)
+ self.label.setText(_fromUtf8(""))
+ self.label.setPixmap(QtGui.QPixmap(_fromUtf8(":/appt_ov.png")))
+ self.label.setScaledContents(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 5, 1)
+ self.extendBook_pushButton = QtGui.QPushButton(self.centralwidget)
+ self.extendBook_pushButton.setObjectName(_fromUtf8("extendBook_pushButton"))
+ self.gridLayout.addWidget(self.extendBook_pushButton, 0, 1, 1, 1)
+ self.removeOld_pushButton = QtGui.QPushButton(self.centralwidget)
+ self.removeOld_pushButton.setObjectName(_fromUtf8("removeOld_pushButton"))
+ self.gridLayout.addWidget(self.removeOld_pushButton, 2, 1, 1, 1)
+ self.editWeeks_pushButton = QtGui.QPushButton(self.centralwidget)
+ self.editWeeks_pushButton.setObjectName(_fromUtf8("editWeeks_pushButton"))
+ self.gridLayout.addWidget(self.editWeeks_pushButton, 3, 1, 1, 1)
+ self.openDay_pushButton = QtGui.QPushButton(self.centralwidget)
+ self.openDay_pushButton.setObjectName(_fromUtf8("openDay_pushButton"))
+ self.gridLayout.addWidget(self.openDay_pushButton, 4, 1, 1, 1)
+ self.blocks_pushButton = QtGui.QPushButton(self.centralwidget)
+ self.blocks_pushButton.setObjectName(_fromUtf8("blocks_pushButton"))
+ self.gridLayout.addWidget(self.blocks_pushButton, 1, 1, 1, 1)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtGui.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 599, 22))
+ self.menubar.setObjectName(_fromUtf8("menubar"))
+ self.menu_Quit = QtGui.QMenu(self.menubar)
+ self.menu_Quit.setObjectName(_fromUtf8("menu_Quit"))
+ MainWindow.setMenuBar(self.menubar)
+ self.statusbar = QtGui.QStatusBar(MainWindow)
+ self.statusbar.setObjectName(_fromUtf8("statusbar"))
+ MainWindow.setStatusBar(self.statusbar)
+ self.menubar.addAction(self.menu_Quit.menuAction())
+
+ self.retranslateUi(MainWindow)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(_("Appointment Tools"))
+ self.extendBook_pushButton.setToolTip(_("Move the end date for making appointments."))
+ self.extendBook_pushButton.setText(_("Extend Books"))
+ self.removeOld_pushButton.setText(_("Remove old weeks"))
+ self.editWeeks_pushButton.setText(_("Edit Standard Working Weeks for Clinicians"))
+ self.openDay_pushButton.setText(_("Open A Day"))
+ self.blocks_pushButton.setText(_("Insert regular blocks"))
+ self.menu_Quit.setTitle(_("&Quit"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ MainWindow = QtGui.QMainWindow()
+ ui = Ui_MainWindow()
+ ui.setupUi(MainWindow)
+ MainWindow.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py b/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py
new file mode 100644
index 0000000..78c30f0
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_apptWizard.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/apptWizard.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(721, 442)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 699, 360))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.frame = QtGui.QFrame(self.scrollAreaWidgetContents)
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout_2.addWidget(self.frame)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.verticalLayout.addWidget(self.scrollArea)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Appointment Wizard"))
+ self.label.setText(_("Add a combination of proposed appointments to the patients diary."))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py b/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py
new file mode 100644
index 0000000..4659b0d
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_apptWizardItem.py
@@ -0,0 +1,64 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/apptWizardItem.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(697, 34)
+ self.horizontalLayout = QtGui.QHBoxLayout(Form)
+ self.horizontalLayout.setSpacing(4)
+ self.horizontalLayout.setContentsMargins(-1, 3, -1, 3)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label = QtGui.QLabel(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.horizontalLayout.addWidget(self.label)
+ self.comboBox = QtGui.QComboBox(Form)
+ self.comboBox.setMinimumSize(QtCore.QSize(300, 0))
+ self.comboBox.setMaximumSize(QtCore.QSize(300, 16777215))
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.horizontalLayout.addWidget(self.comboBox)
+ self.pushButton = QtGui.QPushButton(Form)
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.horizontalLayout.addWidget(self.pushButton)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.label.setText(_("TextLabel"))
+ self.pushButton.setText(_("Add"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py b/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py
new file mode 100644
index 0000000..0117b1d
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_aslotEdit.py
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/aslotEdit.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(602, 457)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.frame)
+ self.horizontalLayout.setContentsMargins(40, 0, 40, 0)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label = QtGui.QLabel(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setMinimumSize(QtCore.QSize(92, 0))
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.horizontalLayout.addWidget(self.label)
+ spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.label_3 = QtGui.QLabel(self.frame)
+ self.label_3.setMinimumSize(QtCore.QSize(80, 0))
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.horizontalLayout.addWidget(self.label_3)
+ self.label_4 = QtGui.QLabel(self.frame)
+ self.label_4.setMinimumSize(QtCore.QSize(80, 0))
+ self.label_4.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.horizontalLayout.addWidget(self.label_4)
+ self.label_2 = QtGui.QLabel(self.frame)
+ self.label_2.setMinimumSize(QtCore.QSize(160, 0))
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.horizontalLayout.addWidget(self.label_2)
+ self.gridLayout.addWidget(self.frame, 0, 0, 1, 4)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ self.scrollArea.setMinimumSize(QtCore.QSize(346, 0))
+ self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 584, 380))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.frame_2 = QtGui.QFrame(self.scrollAreaWidgetContents)
+ self.frame_2.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.verticalLayout_2.addWidget(self.frame_2)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.gridLayout.addWidget(self.scrollArea, 1, 0, 1, 4)
+ self.copy_pushButton = QtGui.QPushButton(Dialog)
+ self.copy_pushButton.setObjectName(_fromUtf8("copy_pushButton"))
+ self.gridLayout.addWidget(self.copy_pushButton, 2, 0, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(188, 24, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout.addItem(spacerItem1, 2, 2, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(False)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 2, 3, 1, 1)
+ self.paste_pushButton = QtGui.QPushButton(Dialog)
+ self.paste_pushButton.setObjectName(_fromUtf8("paste_pushButton"))
+ self.gridLayout.addWidget(self.paste_pushButton, 2, 1, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Clinicians - DATE"))
+ self.label.setText(_("Clinician"))
+ self.label_3.setText(_("Start"))
+ self.label_4.setText(_("Finish"))
+ self.label_2.setText(_("Memo"))
+ self.copy_pushButton.setToolTip(_("If you copy this day\'s setup to the clipboard, you can create a \"clone\" of this day when no data is set. This is useful when extending books."))
+ self.copy_pushButton.setText(_("Copy To Clipboard"))
+ self.paste_pushButton.setToolTip(_("Paste the saved values."))
+ self.paste_pushButton.setText(_("Paste"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py b/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py
new file mode 100644
index 0000000..8ff073f
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_blockSlot.py
@@ -0,0 +1,174 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/blockSlot.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(345, 361)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tabWidget = QtGui.QTabWidget(Dialog)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.gridLayout = QtGui.QGridLayout(self.tab)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(self.tab)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 3)
+ self.label_3 = QtGui.QLabel(self.tab)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+ self.label_4 = QtGui.QLabel(self.tab)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+ self.label_2 = QtGui.QLabel(self.tab)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 3, 0, 2, 1)
+ self.comboBox = QtGui.QComboBox(self.tab)
+ self.comboBox.setEditable(True)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.comboBox, 3, 1, 1, 2)
+ spacerItem = QtGui.QSpacerItem(20, 34, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 5, 0, 1, 2)
+ self.blockStart_frame = QtGui.QFrame(self.tab)
+ self.blockStart_frame.setMinimumSize(QtCore.QSize(0, 0))
+ self.blockStart_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.blockStart_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.blockStart_frame.setObjectName(_fromUtf8("blockStart_frame"))
+ self.gridLayout.addWidget(self.blockStart_frame, 1, 1, 1, 1)
+ self.blockEnd_frame = QtGui.QFrame(self.tab)
+ self.blockEnd_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.blockEnd_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.blockEnd_frame.setObjectName(_fromUtf8("blockEnd_frame"))
+ self.gridLayout.addWidget(self.blockEnd_frame, 2, 1, 1, 1)
+ self.length_label = QtGui.QLabel(self.tab)
+ self.length_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.length_label.setObjectName(_fromUtf8("length_label"))
+ self.gridLayout.addWidget(self.length_label, 1, 2, 2, 1)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.tab_2)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label_7 = QtGui.QLabel(self.tab_2)
+ self.label_7.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 4)
+ self.label_5 = QtGui.QLabel(self.tab_2)
+ self.label_5.setMinimumSize(QtCore.QSize(100, 0))
+ self.label_5.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout_2.addWidget(self.label_5, 1, 0, 1, 3)
+ self.label_6 = QtGui.QLabel(self.tab_2)
+ self.label_6.setMinimumSize(QtCore.QSize(100, 0))
+ self.label_6.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout_2.addWidget(self.label_6, 2, 0, 1, 3)
+ self.pt_label = QtGui.QLabel(self.tab_2)
+ self.pt_label.setMinimumSize(QtCore.QSize(0, 50))
+ self.pt_label.setTextFormat(QtCore.Qt.AutoText)
+ self.pt_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.pt_label.setObjectName(_fromUtf8("pt_label"))
+ self.gridLayout_2.addWidget(self.pt_label, 3, 0, 1, 3)
+ self.changePt_pushButton = QtGui.QPushButton(self.tab_2)
+ self.changePt_pushButton.setObjectName(_fromUtf8("changePt_pushButton"))
+ self.gridLayout_2.addWidget(self.changePt_pushButton, 3, 3, 1, 1)
+ self.label_9 = QtGui.QLabel(self.tab_2)
+ self.label_9.setTextFormat(QtCore.Qt.AutoText)
+ self.label_9.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout_2.addWidget(self.label_9, 4, 0, 1, 3)
+ self.reason_comboBox = QtGui.QComboBox(self.tab_2)
+ self.reason_comboBox.setObjectName(_fromUtf8("reason_comboBox"))
+ self.gridLayout_2.addWidget(self.reason_comboBox, 4, 3, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(20, 99, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem1, 5, 2, 1, 1)
+ self.length_spinBox = QtGui.QSpinBox(self.tab_2)
+ self.length_spinBox.setMinimum(-600)
+ self.length_spinBox.setMaximum(600)
+ self.length_spinBox.setSingleStep(5)
+ self.length_spinBox.setObjectName(_fromUtf8("length_spinBox"))
+ self.gridLayout_2.addWidget(self.length_spinBox, 2, 3, 1, 1)
+ self.startTime_frame = QtGui.QFrame(self.tab_2)
+ self.startTime_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.startTime_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.startTime_frame.setObjectName(_fromUtf8("startTime_frame"))
+ self.gridLayout_2.addWidget(self.startTime_frame, 1, 3, 1, 1)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.verticalLayout.addWidget(self.tabWidget)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Options"))
+ self.label.setText(_("Would you like to Block (or partially Block) this Slot?"))
+ self.label_3.setText(_("Block Start"))
+ self.label_4.setText(_("Bock End"))
+ self.label_2.setText(_("Text to apply"))
+ self.comboBox.setItemText(0, _("//Blocked//"))
+ self.comboBox.setItemText(1, _("Emergency"))
+ self.comboBox.setItemText(2, _("Reserved Clinical Time"))
+ self.comboBox.setItemText(3, _("Out of Office"))
+ self.comboBox.setItemText(4, _("Lunch"))
+ self.comboBox.setItemText(5, _("Catch up time"))
+ self.comboBox.setItemText(6, _("Phone Call"))
+ self.length_label.setText(_("minutes"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Insert a Block"))
+ self.label_7.setText(_("Insert A Patient into this slot?"))
+ self.label_5.setText(_("Start Time"))
+ self.label_6.setText(_("Length"))
+ self.pt_label.setText(_("Chosen Patient is<br />"))
+ self.changePt_pushButton.setText(_("Change"))
+ self.label_9.setText(_("Reason for appointment is"))
+ self.length_spinBox.setSuffix(_(" minutes"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("Insert a Known Patient"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py b/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py
new file mode 100644
index 0000000..8e82688
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_block_wizard.py
@@ -0,0 +1,128 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/block_wizard.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(403, 437)
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label_7 = QtGui.QLabel(Dialog)
+ self.label_7.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 4)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
+ self.start_dateEdit = QtGui.QDateEdit(Dialog)
+ self.start_dateEdit.setMinimumSize(QtCore.QSize(120, 0))
+ self.start_dateEdit.setCalendarPopup(True)
+ self.start_dateEdit.setObjectName(_fromUtf8("start_dateEdit"))
+ self.gridLayout_2.addWidget(self.start_dateEdit, 2, 1, 1, 1)
+ spacerItem = QtGui.QSpacerItem(202, 21, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem, 2, 3, 1, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 3, 0, 1, 1)
+ self.end_dateEdit = QtGui.QDateEdit(Dialog)
+ self.end_dateEdit.setMinimumSize(QtCore.QSize(120, 0))
+ self.end_dateEdit.setCalendarPopup(True)
+ self.end_dateEdit.setObjectName(_fromUtf8("end_dateEdit"))
+ self.gridLayout_2.addWidget(self.end_dateEdit, 3, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(202, 21, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem1, 3, 3, 1, 1)
+ self.label_4 = QtGui.QLabel(Dialog)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout_2.addWidget(self.label_4, 4, 0, 1, 1)
+ spacerItem2 = QtGui.QSpacerItem(202, 21, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem2, 4, 3, 1, 1)
+ self.label_5 = QtGui.QLabel(Dialog)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout_2.addWidget(self.label_5, 5, 0, 1, 1)
+ spacerItem3 = QtGui.QSpacerItem(202, 22, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem3, 5, 3, 1, 1)
+ self.label_6 = QtGui.QLabel(Dialog)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout_2.addWidget(self.label_6, 6, 0, 1, 1)
+ self.lineEdit = QtGui.QLineEdit(Dialog)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.gridLayout_2.addWidget(self.lineEdit, 6, 1, 1, 3)
+ self.day_groupBox = QtGui.QGroupBox(Dialog)
+ self.day_groupBox.setObjectName(_fromUtf8("day_groupBox"))
+ self.gridLayout_2.addWidget(self.day_groupBox, 7, 0, 1, 4)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_2.addWidget(self.buttonBox, 12, 0, 1, 4)
+ spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem4, 8, 0, 1, 1)
+ self.time_frame = QtGui.QFrame(Dialog)
+ self.time_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.time_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.time_frame.setObjectName(_fromUtf8("time_frame"))
+ self.gridLayout_2.addWidget(self.time_frame, 4, 1, 1, 1)
+ self.clinicians_groupBox = QtGui.QGroupBox(Dialog)
+ self.clinicians_groupBox.setObjectName(_fromUtf8("clinicians_groupBox"))
+ self.gridLayout_2.addWidget(self.clinicians_groupBox, 1, 0, 1, 4)
+ self.spinBox = QtGui.QSpinBox(Dialog)
+ self.spinBox.setMaximum(300)
+ self.spinBox.setSingleStep(5)
+ self.spinBox.setObjectName(_fromUtf8("spinBox"))
+ self.gridLayout_2.addWidget(self.spinBox, 5, 1, 1, 1)
+ spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem5, 11, 0, 1, 1)
+ self.progress_label = QtGui.QLabel(Dialog)
+ self.progress_label.setText(_fromUtf8(""))
+ self.progress_label.setObjectName(_fromUtf8("progress_label"))
+ self.gridLayout_2.addWidget(self.progress_label, 9, 0, 1, 4)
+ self.progressBar = QtGui.QProgressBar(Dialog)
+ self.progressBar.setProperty("value", 0)
+ self.progressBar.setObjectName(_fromUtf8("progressBar"))
+ self.gridLayout_2.addWidget(self.progressBar, 10, 0, 1, 4)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Block Wizard"))
+ self.label_7.setText(_("Insert a block into a book for a range of dates."))
+ self.label_2.setText(_("Start Date"))
+ self.label_3.setText(_("End Date (inclusive)"))
+ self.label_4.setText(_("Time"))
+ self.label_5.setText(_("Length"))
+ self.label_6.setText(_("Text to Apply"))
+ self.day_groupBox.setTitle(_("Days to Apply"))
+ self.clinicians_groupBox.setTitle(_("Clinicians"))
+ self.spinBox.setSuffix(_(" minutes"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py b/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py
new file mode 100644
index 0000000..2b14d05
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_bridge_denture.py
@@ -0,0 +1,148 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/bridge_denture.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(632, 480)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setMinimumSize(QtCore.QSize(331, 451))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout.addWidget(self.frame, 0, 0, 2, 1)
+ self.tabWidget = QtGui.QTabWidget(Dialog)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.tab)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.radioButton = QtGui.QRadioButton(self.tab)
+ self.radioButton.setObjectName(_fromUtf8("radioButton"))
+ self.verticalLayout_4.addWidget(self.radioButton)
+ self.radioButton_2 = QtGui.QRadioButton(self.tab)
+ self.radioButton_2.setObjectName(_fromUtf8("radioButton_2"))
+ self.verticalLayout_4.addWidget(self.radioButton_2)
+ self.radioButton_3 = QtGui.QRadioButton(self.tab)
+ self.radioButton_3.setObjectName(_fromUtf8("radioButton_3"))
+ self.verticalLayout_4.addWidget(self.radioButton_3)
+ spacerItem = QtGui.QSpacerItem(20, 295, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_4.addItem(spacerItem)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.frame_2 = QtGui.QFrame(self.tab_2)
+ self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.frame_2)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label_2 = QtGui.QLabel(self.frame_2)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout.addWidget(self.label_2)
+ self.radioButton_4 = QtGui.QRadioButton(self.frame_2)
+ self.radioButton_4.setObjectName(_fromUtf8("radioButton_4"))
+ self.verticalLayout.addWidget(self.radioButton_4)
+ self.radioButton_8 = QtGui.QRadioButton(self.frame_2)
+ self.radioButton_8.setObjectName(_fromUtf8("radioButton_8"))
+ self.verticalLayout.addWidget(self.radioButton_8)
+ self.radioButton_5 = QtGui.QRadioButton(self.frame_2)
+ self.radioButton_5.setObjectName(_fromUtf8("radioButton_5"))
+ self.verticalLayout.addWidget(self.radioButton_5)
+ self.radioButton_6 = QtGui.QRadioButton(self.frame_2)
+ self.radioButton_6.setObjectName(_fromUtf8("radioButton_6"))
+ self.verticalLayout.addWidget(self.radioButton_6)
+ self.radioButton_7 = QtGui.QRadioButton(self.frame_2)
+ self.radioButton_7.setObjectName(_fromUtf8("radioButton_7"))
+ self.verticalLayout.addWidget(self.radioButton_7)
+ self.verticalLayout_3.addWidget(self.frame_2)
+ self.frame_3 = QtGui.QFrame(self.tab_2)
+ self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_3.setObjectName(_fromUtf8("frame_3"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame_3)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.label = QtGui.QLabel(self.frame_3)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout_2.addWidget(self.label)
+ self.radioButton_9 = QtGui.QRadioButton(self.frame_3)
+ self.radioButton_9.setObjectName(_fromUtf8("radioButton_9"))
+ self.verticalLayout_2.addWidget(self.radioButton_9)
+ self.radioButton_13 = QtGui.QRadioButton(self.frame_3)
+ self.radioButton_13.setObjectName(_fromUtf8("radioButton_13"))
+ self.verticalLayout_2.addWidget(self.radioButton_13)
+ self.radioButton_10 = QtGui.QRadioButton(self.frame_3)
+ self.radioButton_10.setObjectName(_fromUtf8("radioButton_10"))
+ self.verticalLayout_2.addWidget(self.radioButton_10)
+ self.radioButton_11 = QtGui.QRadioButton(self.frame_3)
+ self.radioButton_11.setObjectName(_fromUtf8("radioButton_11"))
+ self.verticalLayout_2.addWidget(self.radioButton_11)
+ self.radioButton_12 = QtGui.QRadioButton(self.frame_3)
+ self.radioButton_12.setObjectName(_fromUtf8("radioButton_12"))
+ self.verticalLayout_2.addWidget(self.radioButton_12)
+ self.verticalLayout_3.addWidget(self.frame_3)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.gridLayout.addWidget(self.tabWidget, 0, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 1, 1, 1, 1)
+
+ self.retranslateUi(Dialog)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Bridge - Denture Entry"))
+ self.radioButton.setText(_("Porcelain / Precious Metal"))
+ self.radioButton_2.setText(_("Lava (or all ceramic)"))
+ self.radioButton_3.setText(_("Resin Retained"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Bridge"))
+ self.label_2.setText(_("Upper"))
+ self.radioButton_4.setText(_("Full (acrylic)"))
+ self.radioButton_8.setText(_("Full (co-chrome)"))
+ self.radioButton_5.setText(_("Partial (acrylic)"))
+ self.radioButton_6.setText(_("Partial (co-chrome)"))
+ self.radioButton_7.setText(_("Other"))
+ self.label.setText(_("Lower"))
+ self.radioButton_9.setText(_("Full (acrylic)"))
+ self.radioButton_13.setText(_("Full (co-chrome)"))
+ self.radioButton_10.setText(_("Partial (acrylic)"))
+ self.radioButton_11.setText(_("Partial (co-chrome)"))
+ self.radioButton_12.setText(_("Other"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("Denture"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py b/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py
new file mode 100644
index 0000000..b8ff38f
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_bulkmail_options.py
@@ -0,0 +1,108 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/bulkmail_options.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(410, 367)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.frame)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label = QtGui.QLabel(self.frame)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 0, 0, 2, 1)
+ self.fullDate_radioButton = QtGui.QRadioButton(self.frame)
+ self.fullDate_radioButton.setChecked(True)
+ self.fullDate_radioButton.setObjectName(_fromUtf8("fullDate_radioButton"))
+ self.gridLayout_2.addWidget(self.fullDate_radioButton, 0, 1, 1, 1)
+ self.abbrvDate_radioButton = QtGui.QRadioButton(self.frame)
+ self.abbrvDate_radioButton.setObjectName(_fromUtf8("abbrvDate_radioButton"))
+ self.gridLayout_2.addWidget(self.abbrvDate_radioButton, 1, 1, 1, 1)
+ self.verticalLayout.addWidget(self.frame)
+ self.line = QtGui.QFrame(Dialog)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.verticalLayout.addWidget(self.line)
+ self.frame_2 = QtGui.QFrame(Dialog)
+ self.frame_2.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.gridLayout = QtGui.QGridLayout(self.frame_2)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_2 = QtGui.QLabel(self.frame_2)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+ self.today_radioButton = QtGui.QRadioButton(self.frame_2)
+ self.today_radioButton.setChecked(True)
+ self.today_radioButton.setObjectName(_fromUtf8("today_radioButton"))
+ self.gridLayout.addWidget(self.today_radioButton, 0, 1, 1, 1)
+ self.recd_radioButton = QtGui.QRadioButton(self.frame_2)
+ self.recd_radioButton.setObjectName(_fromUtf8("recd_radioButton"))
+ self.gridLayout.addWidget(self.recd_radioButton, 1, 1, 1, 1)
+ self.custDate_radioButton = QtGui.QRadioButton(self.frame_2)
+ self.custDate_radioButton.setObjectName(_fromUtf8("custDate_radioButton"))
+ self.gridLayout.addWidget(self.custDate_radioButton, 2, 1, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(self.frame_2)
+ self.dateEdit.setEnabled(False)
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 3, 1, 1, 1)
+ self.verticalLayout.addWidget(self.frame_2)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout.addItem(spacerItem)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Bulk Mail Options"))
+ self.label.setText(_("Date Format for the letters"))
+ self.fullDate_radioButton.setText(_("Full, Day, month and Year"))
+ self.abbrvDate_radioButton.setText(_("Month and Year Only"))
+ self.label_2.setText(_("Date to use"))
+ self.today_radioButton.setText(_("Today\'s Date"))
+ self.recd_radioButton.setText(_("The actual recall date for the patient"))
+ self.custDate_radioButton.setText(_("This Date"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py b/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py
new file mode 100644
index 0000000..219ac59
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_chooseDocument.py
@@ -0,0 +1,155 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/chooseDocument.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(394, 270)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tabWidget = QtGui.QTabWidget(Dialog)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.remuneration_radioButton = QtGui.QRadioButton(self.tab)
+ self.remuneration_radioButton.setChecked(True)
+ self.remuneration_radioButton.setObjectName(_fromUtf8("remuneration_radioButton"))
+ self.verticalLayout_2.addWidget(self.remuneration_radioButton)
+ self.info_radioButton = QtGui.QRadioButton(self.tab)
+ self.info_radioButton.setObjectName(_fromUtf8("info_radioButton"))
+ self.verticalLayout_2.addWidget(self.info_radioButton)
+ spacerItem = QtGui.QSpacerItem(128, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_2.addItem(spacerItem)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_2)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.remuneration2009_radioButton = QtGui.QRadioButton(self.tab_2)
+ self.remuneration2009_radioButton.setChecked(True)
+ self.remuneration2009_radioButton.setObjectName(_fromUtf8("remuneration2009_radioButton"))
+ self.verticalLayout_3.addWidget(self.remuneration2009_radioButton)
+ self.info2009_radioButton = QtGui.QRadioButton(self.tab_2)
+ self.info2009_radioButton.setObjectName(_fromUtf8("info2009_radioButton"))
+ self.verticalLayout_3.addWidget(self.info2009_radioButton)
+ spacerItem1 = QtGui.QSpacerItem(128, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_3.addItem(spacerItem1)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.tab_3 = QtGui.QWidget()
+ self.tab_3.setObjectName(_fromUtf8("tab_3"))
+ self.verticalLayout_6 = QtGui.QVBoxLayout(self.tab_3)
+ self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
+ self.remuneration2010_radioButton = QtGui.QRadioButton(self.tab_3)
+ self.remuneration2010_radioButton.setChecked(True)
+ self.remuneration2010_radioButton.setObjectName(_fromUtf8("remuneration2010_radioButton"))
+ self.verticalLayout_6.addWidget(self.remuneration2010_radioButton)
+ self.info2010_radioButton = QtGui.QRadioButton(self.tab_3)
+ self.info2010_radioButton.setObjectName(_fromUtf8("info2010_radioButton"))
+ self.verticalLayout_6.addWidget(self.info2010_radioButton)
+ spacerItem2 = QtGui.QSpacerItem(128, 25, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_6.addItem(spacerItem2)
+ self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
+ self.tab_4 = QtGui.QWidget()
+ self.tab_4.setObjectName(_fromUtf8("tab_4"))
+ self.verticalLayout_8 = QtGui.QVBoxLayout(self.tab_4)
+ self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8"))
+ self.remuneration2012_radioButton = QtGui.QRadioButton(self.tab_4)
+ self.remuneration2012_radioButton.setChecked(True)
+ self.remuneration2012_radioButton.setObjectName(_fromUtf8("remuneration2012_radioButton"))
+ self.verticalLayout_8.addWidget(self.remuneration2012_radioButton)
+ self.info2012_radioButton = QtGui.QRadioButton(self.tab_4)
+ self.info2012_radioButton.setObjectName(_fromUtf8("info2012_radioButton"))
+ self.verticalLayout_8.addWidget(self.info2012_radioButton)
+ self.terms_radioButton = QtGui.QRadioButton(self.tab_4)
+ self.terms_radioButton.setObjectName(_fromUtf8("terms_radioButton"))
+ self.verticalLayout_8.addWidget(self.terms_radioButton)
+ spacerItem3 = QtGui.QSpacerItem(128, 15, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_8.addItem(spacerItem3)
+ self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
+ self.tab_5 = QtGui.QWidget()
+ self.tab_5.setObjectName(_fromUtf8("tab_5"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.tab_5)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.remuneration2013_radioButton = QtGui.QRadioButton(self.tab_5)
+ self.remuneration2013_radioButton.setChecked(True)
+ self.remuneration2013_radioButton.setObjectName(_fromUtf8("remuneration2013_radioButton"))
+ self.verticalLayout_4.addWidget(self.remuneration2013_radioButton)
+ self.tooth_specific_radioButton = QtGui.QRadioButton(self.tab_5)
+ self.tooth_specific_radioButton.setObjectName(_fromUtf8("tooth_specific_radioButton"))
+ self.verticalLayout_4.addWidget(self.tooth_specific_radioButton)
+ self.info2013_radioButton = QtGui.QRadioButton(self.tab_5)
+ self.info2013_radioButton.setObjectName(_fromUtf8("info2013_radioButton"))
+ self.verticalLayout_4.addWidget(self.info2013_radioButton)
+ self.terms2013_radioButton = QtGui.QRadioButton(self.tab_5)
+ self.terms2013_radioButton.setObjectName(_fromUtf8("terms2013_radioButton"))
+ self.verticalLayout_4.addWidget(self.terms2013_radioButton)
+ spacerItem4 = QtGui.QSpacerItem(128, 63, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_4.addItem(spacerItem4)
+ self.tabWidget.addTab(self.tab_5, _fromUtf8(""))
+ self.verticalLayout.addWidget(self.tabWidget)
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.terms_buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.terms_buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.terms_buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.terms_buttonBox.setObjectName(_fromUtf8("terms_buttonBox"))
+ self.verticalLayout.addWidget(self.terms_buttonBox)
+
+ self.retranslateUi(Dialog)
+ self.tabWidget.setCurrentIndex(4)
+ QtCore.QObject.connect(self.terms_buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.terms_buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Choose a Document"))
+ self.remuneration_radioButton.setText(_("NHS Schedule of Remuneration April 2008"))
+ self.info_radioButton.setText(_("NHS \"Information Guide\" 2008"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("2008"))
+ self.remuneration2009_radioButton.setText(_("NHS Schedule of Remuneration"))
+ self.info2009_radioButton.setText(_("NHS \"Information Guide\""))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("2009"))
+ self.remuneration2010_radioButton.setText(_("NHS Schedule of Remuneration"))
+ self.info2010_radioButton.setText(_("NHS \"Information Guide\""))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _("2010"))
+ self.remuneration2012_radioButton.setText(_("NHS Schedule of Remuneration"))
+ self.info2012_radioButton.setText(_("NHS \"Information Guide\""))
+ self.terms_radioButton.setText(_("NHS terms and conditions"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _("2012"))
+ self.remuneration2013_radioButton.setText(_("NHS Schedule of Remuneration"))
+ self.tooth_specific_radioButton.setText(_("Tooth Specific Guidance"))
+ self.info2013_radioButton.setText(_("NHS \"Information Guide\""))
+ self.terms2013_radioButton.setText(_("NHS terms and conditions"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _("2013"))
+ self.label.setText(_("Choose a document to view"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py b/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py
new file mode 100644
index 0000000..fea9a04
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_choose_clinicians.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/choose_clinicians.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(342, 385)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout.addWidget(self.frame)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Choose Clinicians"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py b/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py
new file mode 100644
index 0000000..1cec479
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_choose_language.py
@@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/choose_language.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(426, 602)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setMinimumSize(QtCore.QSize(0, 60))
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 406, 351))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.scrollAreaWidgetContents)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.frame = QtGui.QFrame(self.scrollAreaWidgetContents)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.horizontalLayout.addWidget(self.frame)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.verticalLayout.addWidget(self.scrollArea)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setMinimumSize(QtCore.QSize(408, 40))
+ self.label_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_2.setWordWrap(True)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout.addWidget(self.label_2)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setMinimumSize(QtCore.QSize(0, 80))
+ font = QtGui.QFont()
+ font.setItalic(True)
+ self.label_3.setFont(font)
+ self.label_3.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_3.setWordWrap(True)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.verticalLayout.addWidget(self.label_3)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setMinimumSize(QtCore.QSize(0, 27))
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(False)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Language Selector"))
+ self.label.setText(_("Choose from the following available languages.\n"
+"Please Note that some of these translations are not complete."))
+ self.label_2.setText(_("Note - if your preferred language is not available (or incomplete), please visit https://launchpad.net/openmolar and add a translation of your own!"))
+ self.label_3.setText(_("Many thanks to all who have helped internationalise openMolar, and to the folks behind the GNU tools and launchpad rosetta team who make this possible."))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py b/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py
new file mode 100644
index 0000000..ae35b6e
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_choose_tooth.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/choose_tooth.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(736, 300)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setMinimumSize(QtCore.QSize(0, 200))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout.addWidget(self.frame)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Choose A Tooth"))
+ self.label.setText(_("Please Select the tooth to which this treatment is planned"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py b/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py
new file mode 100644
index 0000000..91ea950
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_codeChecker.py
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/codeChecker.ui'
+#
+# Created: Fri Nov 8 22:07:14 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(907, 686)
+ self.verticalLayout_3 = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.splitter = QtGui.QSplitter(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth())
+ self.splitter.setSizePolicy(sizePolicy)
+ self.splitter.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter.setObjectName(_fromUtf8("splitter"))
+ self.frame_3 = QtGui.QFrame(self.splitter)
+ self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_3.setObjectName(_fromUtf8("frame_3"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame_3)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.frame = QtGui.QFrame(self.frame_3)
+ self.frame.setMinimumSize(QtCore.QSize(0, 200))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout_2.addWidget(self.frame)
+ self.label = QtGui.QLabel(self.frame_3)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout_2.addWidget(self.label)
+ self.dec_tableView = QtGui.QTableView(self.frame_3)
+ self.dec_tableView.setObjectName(_fromUtf8("dec_tableView"))
+ self.dec_tableView.verticalHeader().setVisible(False)
+ self.verticalLayout_2.addWidget(self.dec_tableView)
+ self.frame_2 = QtGui.QFrame(self.splitter)
+ self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.frame_2)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label_2 = QtGui.QLabel(self.frame_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+ self.label_2.setSizePolicy(sizePolicy)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout.addWidget(self.label_2)
+ self.adult_tableView = QtGui.QTableView(self.frame_2)
+ self.adult_tableView.setObjectName(_fromUtf8("adult_tableView"))
+ self.adult_tableView.horizontalHeader().setVisible(False)
+ self.adult_tableView.verticalHeader().setVisible(False)
+ self.verticalLayout.addWidget(self.adult_tableView)
+ self.verticalLayout_3.addWidget(self.splitter)
+ self.comboBox = QtGui.QComboBox(Dialog)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.verticalLayout_3.addWidget(self.comboBox)
+ self.bottom_layout = QtGui.QHBoxLayout()
+ self.bottom_layout.setObjectName(_fromUtf8("bottom_layout"))
+ self.instruction_label = QtGui.QLabel(Dialog)
+ self.instruction_label.setObjectName(_fromUtf8("instruction_label"))
+ self.bottom_layout.addWidget(self.instruction_label)
+ self.pushButton = QtGui.QPushButton(Dialog)
+ self.pushButton.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.bottom_layout.addWidget(self.pushButton)
+ self.quit_pushButton = QtGui.QPushButton(Dialog)
+ self.quit_pushButton.setObjectName(_fromUtf8("quit_pushButton"))
+ self.bottom_layout.addWidget(self.quit_pushButton)
+ self.verticalLayout_3.addLayout(self.bottom_layout)
+
+ self.retranslateUi(Dialog)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Dialog"))
+ self.label.setText(_("Deciduous Teeth"))
+ self.label_2.setText(_("Adult Teeth"))
+ self.instruction_label.setText(_("Enter a Restoration Code (eg. MOD) to see how a feescale interprets the shortcut"))
+ self.pushButton.setText(_("GO"))
+ self.quit_pushButton.setText(_("QUIT"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py b/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py
new file mode 100644
index 0000000..bdd0f94
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_completionDate.py
@@ -0,0 +1,87 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/completionDate.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(340, 227)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.pt_label = QtGui.QLabel(Dialog)
+ self.pt_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.pt_label.setObjectName(_fromUtf8("pt_label"))
+ self.verticalLayout.addWidget(self.pt_label)
+ self.autoComplete_label = QtGui.QLabel(Dialog)
+ self.autoComplete_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.autoComplete_label.setWordWrap(True)
+ self.autoComplete_label.setObjectName(_fromUtf8("autoComplete_label"))
+ self.verticalLayout.addWidget(self.autoComplete_label)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout.addItem(spacerItem)
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label_4 = QtGui.QLabel(Dialog)
+ self.label_4.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.horizontalLayout.addWidget(self.label_4)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setFocusPolicy(QtCore.Qt.TabFocus)
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.horizontalLayout.addWidget(self.dateEdit)
+ self.verticalLayout.addLayout(self.horizontalLayout)
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ spacerItem1 = QtGui.QSpacerItem(20, 14, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout.addItem(spacerItem1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.No|QtGui.QDialogButtonBox.Yes)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Completion Date"))
+ self.pt_label.setText(_("UNNAMED PT - (000000)"))
+ self.autoComplete_label.setText(_("You have no further treatment proposed for this patient, yet they are deemed to be \"under treatment\"."))
+ self.label_4.setText(_("Suggested completion Date"))
+ self.label.setText(_("Apply this Date Now?\n"
+"(course can be re-opened later if necessary)"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py b/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py
new file mode 100644
index 0000000..7e741bb
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_customTreatment.py
@@ -0,0 +1,87 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/customTreatment.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(346, 192)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 2, 0, 1, 3)
+ self.number_spinBox = QtGui.QSpinBox(Dialog)
+ self.number_spinBox.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.number_spinBox.setMinimum(1)
+ self.number_spinBox.setObjectName(_fromUtf8("number_spinBox"))
+ self.gridLayout.addWidget(self.number_spinBox, 2, 3, 1, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 4, 0, 1, 3)
+ self.fee_doubleSpinBox = QtGui.QDoubleSpinBox(Dialog)
+ self.fee_doubleSpinBox.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.fee_doubleSpinBox.setMaximum(3000.0)
+ self.fee_doubleSpinBox.setSingleStep(1.0)
+ self.fee_doubleSpinBox.setObjectName(_fromUtf8("fee_doubleSpinBox"))
+ self.gridLayout.addWidget(self.fee_doubleSpinBox, 4, 3, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 50, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 5, 2, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 6, 1, 1, 3)
+ self.description_lineEdit = QtGui.QLineEdit(Dialog)
+ self.description_lineEdit.setMaxLength(50)
+ self.description_lineEdit.setObjectName(_fromUtf8("description_lineEdit"))
+ self.gridLayout.addWidget(self.description_lineEdit, 1, 0, 1, 4)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+ self.label.setBuddy(self.number_spinBox)
+ self.label_3.setBuddy(self.fee_doubleSpinBox)
+ self.label_2.setBuddy(self.description_lineEdit)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+ Dialog.setTabOrder(self.number_spinBox, self.fee_doubleSpinBox)
+ Dialog.setTabOrder(self.fee_doubleSpinBox, self.buttonBox)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Custom Item"))
+ self.label.setText(_("Number of Items"))
+ self.label_3.setText(_("Fee"))
+ self.label_2.setText(_("Treatment Description"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py b/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py
new file mode 100644
index 0000000..1fff0fa
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_daylist_print.py
@@ -0,0 +1,128 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/daylist_print.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(376, 486)
+ font = QtGui.QFont()
+ font.setBold(False)
+ font.setWeight(50)
+ Dialog.setFont(font)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label_2 = QtGui.QLabel(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+ self.label_2.setSizePolicy(sizePolicy)
+ self.label_2.setMaximumSize(QtCore.QSize(16777215, 100))
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label_2.setFont(font)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout.addWidget(self.label_2)
+ self.gridLayout = QtGui.QGridLayout()
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_3 = QtGui.QLabel(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
+ self.label_3.setSizePolicy(sizePolicy)
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+ self.label_4 = QtGui.QLabel(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
+ self.label_4.setSizePolicy(sizePolicy)
+ self.label_4.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 0, 1, 1, 1)
+ self.start_dateEdit = QtGui.QDateEdit(Dialog)
+ self.start_dateEdit.setCalendarPopup(True)
+ self.start_dateEdit.setObjectName(_fromUtf8("start_dateEdit"))
+ self.gridLayout.addWidget(self.start_dateEdit, 1, 0, 1, 1)
+ self.end_dateEdit = QtGui.QDateEdit(Dialog)
+ self.end_dateEdit.setCalendarPopup(True)
+ self.end_dateEdit.setObjectName(_fromUtf8("end_dateEdit"))
+ self.gridLayout.addWidget(self.end_dateEdit, 1, 1, 1, 1)
+ self.verticalLayout.addLayout(self.gridLayout)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+ self.scrollArea.setSizePolicy(sizePolicy)
+ self.scrollArea.setMinimumSize(QtCore.QSize(0, 200))
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 354, 196))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.verticalLayout.addWidget(self.scrollArea)
+ self.allOnePage_radioButton = QtGui.QRadioButton(Dialog)
+ self.allOnePage_radioButton.setChecked(True)
+ self.allOnePage_radioButton.setObjectName(_fromUtf8("allOnePage_radioButton"))
+ self.verticalLayout.addWidget(self.allOnePage_radioButton)
+ self.onePageMin_radioButton = QtGui.QRadioButton(Dialog)
+ self.onePageMin_radioButton.setChecked(False)
+ self.onePageMin_radioButton.setObjectName(_fromUtf8("onePageMin_radioButton"))
+ self.verticalLayout.addWidget(self.onePageMin_radioButton)
+ self.onePageFull_radioButton = QtGui.QRadioButton(Dialog)
+ self.onePageFull_radioButton.setObjectName(_fromUtf8("onePageFull_radioButton"))
+ self.verticalLayout.addWidget(self.onePageFull_radioButton)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Daylist Printing Wizard"))
+ self.label_2.setText(_("Specify Dates and Practitioners for a Daylist Print Run"))
+ self.label_3.setText(_("Start Date"))
+ self.label_4.setText(_("End Date"))
+ self.allOnePage_radioButton.setText(_("All Practioners on One Page"))
+ self.onePageMin_radioButton.setText(_("One Practitioner Per Page - Minimal"))
+ self.onePageFull_radioButton.setText(_("One Practioner Per Page - Fill Page"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_diary_widget.py b/src/openmolar/qt4gui/compiled_uis/Ui_diary_widget.py
new file mode 100644
index 0000000..5ebef37
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_diary_widget.py
@@ -0,0 +1,490 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/diary_widget.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(732, 551)
+ self.horizontalLayout = QtGui.QHBoxLayout(Form)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.diary_tabWidget = QtGui.QTabWidget(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.diary_tabWidget.sizePolicy().hasHeightForWidth())
+ self.diary_tabWidget.setSizePolicy(sizePolicy)
+ self.diary_tabWidget.setObjectName(_fromUtf8("diary_tabWidget"))
+ self.tab_dayview = QtGui.QWidget()
+ self.tab_dayview.setObjectName(_fromUtf8("tab_dayview"))
+ self.horizontalLayout_4 = QtGui.QHBoxLayout(self.tab_dayview)
+ self.horizontalLayout_4.setSpacing(6)
+ self.horizontalLayout_4.setMargin(3)
+ self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
+ self.horizontalLayout_3 = QtGui.QHBoxLayout()
+ self.horizontalLayout_3.setSpacing(6)
+ self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
+ self.frame_18 = QtGui.QFrame(self.tab_dayview)
+ self.frame_18.setMinimumSize(QtCore.QSize(220, 0))
+ self.frame_18.setMaximumSize(QtCore.QSize(220, 16777215))
+ self.frame_18.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_18.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_18.setObjectName(_fromUtf8("frame_18"))
+ self.verticalLayout_19 = QtGui.QVBoxLayout(self.frame_18)
+ self.verticalLayout_19.setMargin(3)
+ self.verticalLayout_19.setObjectName(_fromUtf8("verticalLayout_19"))
+ self.dayCalendar_frame = QtGui.QWidget(self.frame_18)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dayCalendar_frame.sizePolicy().hasHeightForWidth())
+ self.dayCalendar_frame.setSizePolicy(sizePolicy)
+ self.dayCalendar_frame.setMinimumSize(QtCore.QSize(200, 180))
+ self.dayCalendar_frame.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.dayCalendar_frame.setObjectName(_fromUtf8("dayCalendar_frame"))
+ self.verticalLayout_19.addWidget(self.dayCalendar_frame)
+ self.goTodayPushButton = QtGui.QPushButton(self.frame_18)
+ self.goTodayPushButton.setEnabled(False)
+ self.goTodayPushButton.setMaximumSize(QtCore.QSize(16777215, 24))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/agt_reload.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.goTodayPushButton.setIcon(icon)
+ self.goTodayPushButton.setObjectName(_fromUtf8("goTodayPushButton"))
+ self.verticalLayout_19.addWidget(self.goTodayPushButton)
+ self.day_view_control_frame = QtGui.QFrame(self.frame_18)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.day_view_control_frame.sizePolicy().hasHeightForWidth())
+ self.day_view_control_frame.setSizePolicy(sizePolicy)
+ self.day_view_control_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.day_view_control_frame.setFrameShadow(QtGui.QFrame.Plain)
+ self.day_view_control_frame.setLineWidth(0)
+ self.day_view_control_frame.setObjectName(_fromUtf8("day_view_control_frame"))
+ self.verticalLayout_19.addWidget(self.day_view_control_frame)
+ self.horizontalLayout_3.addWidget(self.frame_18)
+ self.gridLayout_2 = QtGui.QGridLayout()
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.dayView_splitter = QtGui.QSplitter(self.tab_dayview)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dayView_splitter.sizePolicy().hasHeightForWidth())
+ self.dayView_splitter.setSizePolicy(sizePolicy)
+ self.dayView_splitter.setMinimumSize(QtCore.QSize(0, 300))
+ self.dayView_splitter.setOrientation(QtCore.Qt.Horizontal)
+ self.dayView_splitter.setObjectName(_fromUtf8("dayView_splitter"))
+ self.gridLayout_2.addWidget(self.dayView_splitter, 1, 0, 1, 1)
+ self.emergency_dayview_scroll_bar = QtGui.QScrollBar(self.tab_dayview)
+ self.emergency_dayview_scroll_bar.setOrientation(QtCore.Qt.Vertical)
+ self.emergency_dayview_scroll_bar.setObjectName(_fromUtf8("emergency_dayview_scroll_bar"))
+ self.gridLayout_2.addWidget(self.emergency_dayview_scroll_bar, 1, 1, 1, 1)
+ self.appt_notes_webView = QtWebKit.QWebView(self.tab_dayview)
+ self.appt_notes_webView.setMinimumSize(QtCore.QSize(0, 150))
+ self.appt_notes_webView.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.appt_notes_webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
+ self.appt_notes_webView.setObjectName(_fromUtf8("appt_notes_webView"))
+ self.gridLayout_2.addWidget(self.appt_notes_webView, 2, 0, 1, 2)
+ self.daymemo_label = QtGui.QLabel(self.tab_dayview)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.daymemo_label.sizePolicy().hasHeightForWidth())
+ self.daymemo_label.setSizePolicy(sizePolicy)
+ font = QtGui.QFont()
+ font.setPointSize(12)
+ font.setBold(True)
+ font.setWeight(75)
+ self.daymemo_label.setFont(font)
+ self.daymemo_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.daymemo_label.setObjectName(_fromUtf8("daymemo_label"))
+ self.gridLayout_2.addWidget(self.daymemo_label, 0, 0, 1, 2)
+ self.horizontalLayout_3.addLayout(self.gridLayout_2)
+ self.horizontalLayout_4.addLayout(self.horizontalLayout_3)
+ self.diary_tabWidget.addTab(self.tab_dayview, _fromUtf8(""))
+ self.tab_weekview = QtGui.QWidget()
+ self.tab_weekview.setObjectName(_fromUtf8("tab_weekview"))
+ self.gridLayout_11 = QtGui.QGridLayout(self.tab_weekview)
+ self.gridLayout_11.setMargin(3)
+ self.gridLayout_11.setSpacing(3)
+ self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
+ self.frame_8 = QtGui.QFrame(self.tab_weekview)
+ self.frame_8.setMinimumSize(QtCore.QSize(220, 0))
+ self.frame_8.setMaximumSize(QtCore.QSize(220, 16777215))
+ self.frame_8.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_8.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_8.setObjectName(_fromUtf8("frame_8"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame_8)
+ self.verticalLayout_3.setMargin(3)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.weekCalendar_frame = QtGui.QWidget(self.frame_8)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.weekCalendar_frame.sizePolicy().hasHeightForWidth())
+ self.weekCalendar_frame.setSizePolicy(sizePolicy)
+ self.weekCalendar_frame.setMinimumSize(QtCore.QSize(30, 180))
+ self.weekCalendar_frame.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.weekCalendar_frame.setObjectName(_fromUtf8("weekCalendar_frame"))
+ self.verticalLayout_3.addWidget(self.weekCalendar_frame)
+ self.goto_current_week_PushButton = QtGui.QPushButton(self.frame_8)
+ self.goto_current_week_PushButton.setEnabled(False)
+ self.goto_current_week_PushButton.setMaximumSize(QtCore.QSize(16777215, 24))
+ self.goto_current_week_PushButton.setIcon(icon)
+ self.goto_current_week_PushButton.setObjectName(_fromUtf8("goto_current_week_PushButton"))
+ self.verticalLayout_3.addWidget(self.goto_current_week_PushButton)
+ self.week_view_control_frame = QtGui.QFrame(self.frame_8)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.week_view_control_frame.sizePolicy().hasHeightForWidth())
+ self.week_view_control_frame.setSizePolicy(sizePolicy)
+ self.week_view_control_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.week_view_control_frame.setFrameShadow(QtGui.QFrame.Plain)
+ self.week_view_control_frame.setLineWidth(0)
+ self.week_view_control_frame.setObjectName(_fromUtf8("week_view_control_frame"))
+ self.verticalLayout_3.addWidget(self.week_view_control_frame)
+ self.gridLayout_11.addWidget(self.frame_8, 0, 0, 2, 1)
+ self.weekView_splitter = QtGui.QSplitter(self.tab_weekview)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.weekView_splitter.sizePolicy().hasHeightForWidth())
+ self.weekView_splitter.setSizePolicy(sizePolicy)
+ self.weekView_splitter.setOrientation(QtCore.Qt.Horizontal)
+ self.weekView_splitter.setObjectName(_fromUtf8("weekView_splitter"))
+ self.layoutWidget = QtGui.QWidget(self.weekView_splitter)
+ self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
+ self.gridLayout = QtGui.QGridLayout(self.layoutWidget)
+ self.gridLayout.setMargin(0)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.day1_frame = QtGui.QFrame(self.layoutWidget)
+ self.day1_frame.setMinimumSize(QtCore.QSize(0, 60))
+ self.day1_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day1_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day1_frame.setObjectName(_fromUtf8("day1_frame"))
+ self.gridLayout.addWidget(self.day1_frame, 0, 0, 1, 1)
+ self.day2_frame = QtGui.QFrame(self.layoutWidget)
+ self.day2_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day2_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day2_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day2_frame.setObjectName(_fromUtf8("day2_frame"))
+ self.gridLayout.addWidget(self.day2_frame, 0, 1, 1, 1)
+ self.day3_frame = QtGui.QFrame(self.layoutWidget)
+ self.day3_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day3_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day3_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day3_frame.setObjectName(_fromUtf8("day3_frame"))
+ self.gridLayout.addWidget(self.day3_frame, 0, 2, 1, 1)
+ self.day4_frame = QtGui.QFrame(self.layoutWidget)
+ self.day4_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day4_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day4_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day4_frame.setObjectName(_fromUtf8("day4_frame"))
+ self.gridLayout.addWidget(self.day4_frame, 0, 3, 1, 1)
+ self.day5_frame = QtGui.QFrame(self.layoutWidget)
+ self.day5_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day5_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day5_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day5_frame.setObjectName(_fromUtf8("day5_frame"))
+ self.gridLayout.addWidget(self.day5_frame, 0, 4, 1, 1)
+ self.appt_OV_Frame1 = QtGui.QFrame(self.layoutWidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame1.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame1.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame1.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame1.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame1.setObjectName(_fromUtf8("appt_OV_Frame1"))
+ self.gridLayout.addWidget(self.appt_OV_Frame1, 1, 0, 1, 1)
+ self.appt_OV_Frame2 = QtGui.QFrame(self.layoutWidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame2.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame2.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame2.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame2.setObjectName(_fromUtf8("appt_OV_Frame2"))
+ self.gridLayout.addWidget(self.appt_OV_Frame2, 1, 1, 1, 1)
+ self.appt_OV_Frame3 = QtGui.QFrame(self.layoutWidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame3.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame3.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame3.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame3.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame3.setObjectName(_fromUtf8("appt_OV_Frame3"))
+ self.gridLayout.addWidget(self.appt_OV_Frame3, 1, 2, 1, 1)
+ self.appt_OV_Frame4 = QtGui.QFrame(self.layoutWidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame4.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame4.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame4.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame4.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame4.setObjectName(_fromUtf8("appt_OV_Frame4"))
+ self.gridLayout.addWidget(self.appt_OV_Frame4, 1, 3, 1, 1)
+ self.appt_OV_Frame5 = QtGui.QFrame(self.layoutWidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame5.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame5.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame5.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame5.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame5.setObjectName(_fromUtf8("appt_OV_Frame5"))
+ self.gridLayout.addWidget(self.appt_OV_Frame5, 1, 4, 1, 1)
+ self.layoutWidget_2 = QtGui.QWidget(self.weekView_splitter)
+ self.layoutWidget_2.setObjectName(_fromUtf8("layoutWidget_2"))
+ self.verticalLayout_23 = QtGui.QVBoxLayout(self.layoutWidget_2)
+ self.verticalLayout_23.setMargin(0)
+ self.verticalLayout_23.setObjectName(_fromUtf8("verticalLayout_23"))
+ self.day6_frame = QtGui.QFrame(self.layoutWidget_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.day6_frame.sizePolicy().hasHeightForWidth())
+ self.day6_frame.setSizePolicy(sizePolicy)
+ self.day6_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day6_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day6_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day6_frame.setObjectName(_fromUtf8("day6_frame"))
+ self.verticalLayout_23.addWidget(self.day6_frame)
+ self.appt_OV_Frame6 = QtGui.QFrame(self.layoutWidget_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame6.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame6.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame6.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame6.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame6.setObjectName(_fromUtf8("appt_OV_Frame6"))
+ self.verticalLayout_23.addWidget(self.appt_OV_Frame6)
+ self.day7_frame = QtGui.QFrame(self.layoutWidget_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.day7_frame.sizePolicy().hasHeightForWidth())
+ self.day7_frame.setSizePolicy(sizePolicy)
+ self.day7_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.day7_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.day7_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.day7_frame.setObjectName(_fromUtf8("day7_frame"))
+ self.verticalLayout_23.addWidget(self.day7_frame)
+ self.appt_OV_Frame7 = QtGui.QFrame(self.layoutWidget_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.appt_OV_Frame7.sizePolicy().hasHeightForWidth())
+ self.appt_OV_Frame7.setSizePolicy(sizePolicy)
+ self.appt_OV_Frame7.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.appt_OV_Frame7.setFrameShadow(QtGui.QFrame.Sunken)
+ self.appt_OV_Frame7.setObjectName(_fromUtf8("appt_OV_Frame7"))
+ self.verticalLayout_23.addWidget(self.appt_OV_Frame7)
+ self.gridLayout_11.addWidget(self.weekView_splitter, 0, 1, 1, 1)
+ self.diary_tabWidget.addTab(self.tab_weekview, _fromUtf8(""))
+ self.tab_monthview = QtGui.QWidget()
+ self.tab_monthview.setObjectName(_fromUtf8("tab_monthview"))
+ self.gridLayout_5 = QtGui.QGridLayout(self.tab_monthview)
+ self.gridLayout_5.setMargin(3)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.monthView_scrollArea = QtGui.QScrollArea(self.tab_monthview)
+ self.monthView_scrollArea.setWidgetResizable(True)
+ self.monthView_scrollArea.setObjectName(_fromUtf8("monthView_scrollArea"))
+ self.scrollAreaWidgetContents_14 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_14.setGeometry(QtCore.QRect(0, 0, 702, 456))
+ self.scrollAreaWidgetContents_14.setObjectName(_fromUtf8("scrollAreaWidgetContents_14"))
+ self.monthView_scrollArea.setWidget(self.scrollAreaWidgetContents_14)
+ self.gridLayout_5.addWidget(self.monthView_scrollArea, 0, 0, 1, 4)
+ self.horizontalLayout_22 = QtGui.QHBoxLayout()
+ self.horizontalLayout_22.setObjectName(_fromUtf8("horizontalLayout_22"))
+ spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_22.addItem(spacerItem)
+ self.aptOVprevmonth = QtGui.QPushButton(self.tab_monthview)
+ self.aptOVprevmonth.setMaximumSize(QtCore.QSize(28, 20))
+ self.aptOVprevmonth.setText(_fromUtf8(""))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/back.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.aptOVprevmonth.setIcon(icon1)
+ self.aptOVprevmonth.setObjectName(_fromUtf8("aptOVprevmonth"))
+ self.horizontalLayout_22.addWidget(self.aptOVprevmonth)
+ self.label_65 = QtGui.QLabel(self.tab_monthview)
+ self.label_65.setMaximumSize(QtCore.QSize(16777215, 20))
+ self.label_65.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_65.setObjectName(_fromUtf8("label_65"))
+ self.horizontalLayout_22.addWidget(self.label_65)
+ self.aptOVnextmonth = QtGui.QPushButton(self.tab_monthview)
+ self.aptOVnextmonth.setMaximumSize(QtCore.QSize(28, 20))
+ self.aptOVnextmonth.setText(_fromUtf8(""))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/forward.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.aptOVnextmonth.setIcon(icon2)
+ self.aptOVnextmonth.setObjectName(_fromUtf8("aptOVnextmonth"))
+ self.horizontalLayout_22.addWidget(self.aptOVnextmonth)
+ spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_22.addItem(spacerItem1)
+ self.gridLayout_5.addLayout(self.horizontalLayout_22, 1, 2, 1, 1)
+ self.printMonth_pushButton = QtGui.QPushButton(self.tab_monthview)
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/ps.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.printMonth_pushButton.setIcon(icon3)
+ self.printMonth_pushButton.setObjectName(_fromUtf8("printMonth_pushButton"))
+ self.gridLayout_5.addWidget(self.printMonth_pushButton, 1, 3, 1, 1)
+ self.monthClinicians_checkBox = QtGui.QCheckBox(self.tab_monthview)
+ self.monthClinicians_checkBox.setChecked(True)
+ self.monthClinicians_checkBox.setObjectName(_fromUtf8("monthClinicians_checkBox"))
+ self.gridLayout_5.addWidget(self.monthClinicians_checkBox, 1, 0, 1, 1)
+ self.monthView_clinicians_pushButton = QtGui.QPushButton(self.tab_monthview)
+ self.monthView_clinicians_pushButton.setObjectName(_fromUtf8("monthView_clinicians_pushButton"))
+ self.gridLayout_5.addWidget(self.monthView_clinicians_pushButton, 1, 1, 1, 1)
+ self.diary_tabWidget.addTab(self.tab_monthview, _fromUtf8(""))
+ self.tab_yearview = QtGui.QWidget()
+ self.tab_yearview.setObjectName(_fromUtf8("tab_yearview"))
+ self.gridLayout_22 = QtGui.QGridLayout(self.tab_yearview)
+ self.gridLayout_22.setMargin(3)
+ self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
+ self.year_textBrowser = QtGui.QTextBrowser(self.tab_yearview)
+ self.year_textBrowser.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.year_textBrowser.setObjectName(_fromUtf8("year_textBrowser"))
+ self.gridLayout_22.addWidget(self.year_textBrowser, 0, 0, 1, 3)
+ self.yearView_frame = QtGui.QFrame(self.tab_yearview)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.yearView_frame.sizePolicy().hasHeightForWidth())
+ self.yearView_frame.setSizePolicy(sizePolicy)
+ self.yearView_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.yearView_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.yearView_frame.setObjectName(_fromUtf8("yearView_frame"))
+ self.gridLayout_22.addWidget(self.yearView_frame, 1, 0, 1, 3)
+ self.yearClinicians_checkBox = QtGui.QCheckBox(self.tab_yearview)
+ self.yearClinicians_checkBox.setChecked(True)
+ self.yearClinicians_checkBox.setObjectName(_fromUtf8("yearClinicians_checkBox"))
+ self.gridLayout_22.addWidget(self.yearClinicians_checkBox, 2, 0, 1, 1)
+ self.yearView_clinicians_pushButton = QtGui.QPushButton(self.tab_yearview)
+ self.yearView_clinicians_pushButton.setObjectName(_fromUtf8("yearView_clinicians_pushButton"))
+ self.gridLayout_22.addWidget(self.yearView_clinicians_pushButton, 2, 1, 1, 1)
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_2.addItem(spacerItem2)
+ self.aptOVprevyear = QtGui.QPushButton(self.tab_yearview)
+ self.aptOVprevyear.setMaximumSize(QtCore.QSize(28, 20))
+ self.aptOVprevyear.setText(_fromUtf8(""))
+ self.aptOVprevyear.setIcon(icon1)
+ self.aptOVprevyear.setObjectName(_fromUtf8("aptOVprevyear"))
+ self.horizontalLayout_2.addWidget(self.aptOVprevyear)
+ self.label_64 = QtGui.QLabel(self.tab_yearview)
+ self.label_64.setMaximumSize(QtCore.QSize(16777215, 20))
+ self.label_64.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_64.setObjectName(_fromUtf8("label_64"))
+ self.horizontalLayout_2.addWidget(self.label_64)
+ self.aptOVnextyear = QtGui.QPushButton(self.tab_yearview)
+ self.aptOVnextyear.setMaximumSize(QtCore.QSize(28, 20))
+ self.aptOVnextyear.setText(_fromUtf8(""))
+ self.aptOVnextyear.setIcon(icon2)
+ self.aptOVnextyear.setObjectName(_fromUtf8("aptOVnextyear"))
+ self.horizontalLayout_2.addWidget(self.aptOVnextyear)
+ spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_2.addItem(spacerItem3)
+ self.gridLayout_22.addLayout(self.horizontalLayout_2, 2, 2, 1, 1)
+ self.diary_tabWidget.addTab(self.tab_yearview, _fromUtf8(""))
+ self.tab_agenda = QtGui.QWidget()
+ self.tab_agenda.setObjectName(_fromUtf8("tab_agenda"))
+ self.gridLayout_agenda = QtGui.QGridLayout(self.tab_agenda)
+ self.gridLayout_agenda.setMargin(3)
+ self.gridLayout_agenda.setSpacing(3)
+ self.gridLayout_agenda.setObjectName(_fromUtf8("gridLayout_agenda"))
+ self.agenda_calendar_frame = QtGui.QWidget(self.tab_agenda)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.agenda_calendar_frame.sizePolicy().hasHeightForWidth())
+ self.agenda_calendar_frame.setSizePolicy(sizePolicy)
+ self.agenda_calendar_frame.setMinimumSize(QtCore.QSize(220, 180))
+ self.agenda_calendar_frame.setMaximumSize(QtCore.QSize(220, 200))
+ self.agenda_calendar_frame.setObjectName(_fromUtf8("agenda_calendar_frame"))
+ self.gridLayout_agenda.addWidget(self.agenda_calendar_frame, 0, 0, 1, 1)
+ self.agenda_frame = QtGui.QFrame(self.tab_agenda)
+ self.agenda_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.agenda_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.agenda_frame.setObjectName(_fromUtf8("agenda_frame"))
+ self.gridLayout_agenda.addWidget(self.agenda_frame, 0, 1, 3, 1)
+ self.agenda_goTodayPushButton = QtGui.QPushButton(self.tab_agenda)
+ self.agenda_goTodayPushButton.setEnabled(False)
+ self.agenda_goTodayPushButton.setMinimumSize(QtCore.QSize(220, 0))
+ self.agenda_goTodayPushButton.setMaximumSize(QtCore.QSize(220, 24))
+ self.agenda_goTodayPushButton.setIcon(icon)
+ self.agenda_goTodayPushButton.setObjectName(_fromUtf8("agenda_goTodayPushButton"))
+ self.gridLayout_agenda.addWidget(self.agenda_goTodayPushButton, 1, 0, 1, 1)
+ self.agenda_control_frame = QtGui.QFrame(self.tab_agenda)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.agenda_control_frame.sizePolicy().hasHeightForWidth())
+ self.agenda_control_frame.setSizePolicy(sizePolicy)
+ self.agenda_control_frame.setMinimumSize(QtCore.QSize(220, 0))
+ self.agenda_control_frame.setMaximumSize(QtCore.QSize(220, 16777215))
+ self.agenda_control_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.agenda_control_frame.setFrameShadow(QtGui.QFrame.Plain)
+ self.agenda_control_frame.setLineWidth(0)
+ self.agenda_control_frame.setObjectName(_fromUtf8("agenda_control_frame"))
+ self.gridLayout_agenda.addWidget(self.agenda_control_frame, 2, 0, 1, 1)
+ self.diary_tabWidget.addTab(self.tab_agenda, _fromUtf8(""))
+ self.horizontalLayout.addWidget(self.diary_tabWidget)
+
+ self.retranslateUi(Form)
+ self.diary_tabWidget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.goTodayPushButton.setText(_("Go To Today"))
+ self.daymemo_label.setText(_("TextLabel"))
+ self.diary_tabWidget.setTabText(self.diary_tabWidget.indexOf(self.tab_dayview), _("Day View"))
+ self.goto_current_week_PushButton.setText(_("View Current Week"))
+ self.diary_tabWidget.setTabText(self.diary_tabWidget.indexOf(self.tab_weekview), _("Week View"))
+ self.label_65.setText(_("Month"))
+ self.printMonth_pushButton.setText(_("Print Month View"))
+ self.monthClinicians_checkBox.setText(_("All Clinicians"))
+ self.monthView_clinicians_pushButton.setText(_("Select Clinicians"))
+ self.diary_tabWidget.setTabText(self.diary_tabWidget.indexOf(self.tab_monthview), _("Month View"))
+ self.yearClinicians_checkBox.setText(_("All Clinicians"))
+ self.yearView_clinicians_pushButton.setText(_("Select Clinicians"))
+ self.label_64.setText(_("Year"))
+ self.diary_tabWidget.setTabText(self.diary_tabWidget.indexOf(self.tab_yearview), _("Year View"))
+ self.agenda_goTodayPushButton.setText(_("Go To Today"))
+ self.diary_tabWidget.setTabText(self.diary_tabWidget.indexOf(self.tab_agenda), _("Agenda"))
+
+from PyQt4 import QtWebKit
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py b/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py
new file mode 100644
index 0000000..56dc0de
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_editmemos.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/editmemos.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(417, 395)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label.setFont(font)
+ self.label.setText(_fromUtf8(""))
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 3)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+ self.lineEdit = QtGui.QLineEdit(Dialog)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.gridLayout.addWidget(self.lineEdit, 1, 1, 1, 2)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 2, 0, 1, 2)
+ self.scrollArea = QtGui.QScrollArea(Dialog)
+ self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 399, 238))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.gridLayout.addWidget(self.scrollArea, 3, 0, 1, 3)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 4, 2, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Edit Memos"))
+ self.label_2.setText(_("Global Memo"))
+ self.label_3.setText(_("Clinician Memos"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py b/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py
new file mode 100644
index 0000000..bf4c637
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_enter_letter_text.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/enter_letter_text.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.setWindowModality(QtCore.Qt.NonModal)
+ Dialog.resize(644, 641)
+ Dialog.setSizeGripEnabled(True)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.textEdit = QtGui.QTextEdit(Dialog)
+ self.textEdit.setObjectName(_fromUtf8("textEdit"))
+ self.gridLayout.addWidget(self.textEdit, 1, 0, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Letter Text Entry"))
+ self.label.setText(_("<b>Please enter the body text for your letter here.</b>"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py b/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py
new file mode 100644
index 0000000..9ee50be
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_exam_wizard.py
@@ -0,0 +1,102 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/exam_wizard.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(333, 272)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label.setFont(font)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.examA_radioButton = QtGui.QRadioButton(Dialog)
+ self.examA_radioButton.setChecked(True)
+ self.examA_radioButton.setObjectName(_fromUtf8("examA_radioButton"))
+ self.gridLayout.addWidget(self.examA_radioButton, 0, 1, 1, 1)
+ self.examB_radioButton = QtGui.QRadioButton(Dialog)
+ self.examB_radioButton.setObjectName(_fromUtf8("examB_radioButton"))
+ self.gridLayout.addWidget(self.examB_radioButton, 1, 1, 1, 1)
+ self.examC_radioButton = QtGui.QRadioButton(Dialog)
+ self.examC_radioButton.setObjectName(_fromUtf8("examC_radioButton"))
+ self.gridLayout.addWidget(self.examC_radioButton, 2, 1, 1, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label_3.setFont(font)
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 3, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label_2.setFont(font)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setWordWrap(False)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 4, 0, 1, 1)
+ self.dents_comboBox = QtGui.QComboBox(Dialog)
+ self.dents_comboBox.setObjectName(_fromUtf8("dents_comboBox"))
+ self.gridLayout.addWidget(self.dents_comboBox, 4, 1, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 5, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Exam Wizard"))
+ self.label.setText(_("Type"))
+ self.examA_radioButton.setText(_("Standard"))
+ self.examB_radioButton.setText(_("Extensive"))
+ self.examC_radioButton.setText(_("Full Case Assessment"))
+ self.label_3.setText(_("Exam Date"))
+ self.label_2.setText(_("Dentist"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py b/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py
new file mode 100644
index 0000000..ef5db22
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_finalise_appt_time.py
@@ -0,0 +1,90 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/finalise_appt_time.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(321, 159)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.minutesB4label = QtGui.QLabel(Dialog)
+ self.minutesB4label.setAlignment(QtCore.Qt.AlignCenter)
+ self.minutesB4label.setObjectName(_fromUtf8("minutesB4label"))
+ self.gridLayout.addWidget(self.minutesB4label, 0, 1, 1, 1)
+ self.verticalSlider = QtGui.QSlider(Dialog)
+ self.verticalSlider.setMouseTracking(True)
+ self.verticalSlider.setProperty("value", 0)
+ self.verticalSlider.setTracking(True)
+ self.verticalSlider.setOrientation(QtCore.Qt.Vertical)
+ self.verticalSlider.setInvertedAppearance(True)
+ self.verticalSlider.setInvertedControls(False)
+ self.verticalSlider.setTickPosition(QtGui.QSlider.NoTicks)
+ self.verticalSlider.setObjectName(_fromUtf8("verticalSlider"))
+ self.gridLayout.addWidget(self.verticalSlider, 0, 2, 3, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+ self.apptTimelabel = QtGui.QLabel(Dialog)
+ self.apptTimelabel.setAlignment(QtCore.Qt.AlignCenter)
+ self.apptTimelabel.setObjectName(_fromUtf8("apptTimelabel"))
+ self.gridLayout.addWidget(self.apptTimelabel, 1, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+ self.minutesL8Rlabel = QtGui.QLabel(Dialog)
+ self.minutesL8Rlabel.setAlignment(QtCore.Qt.AlignCenter)
+ self.minutesL8Rlabel.setObjectName(_fromUtf8("minutesL8Rlabel"))
+ self.gridLayout.addWidget(self.minutesL8Rlabel, 2, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 3)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Appointment Time"))
+ self.label.setText(_("Space Before Appointment"))
+ self.minutesB4label.setText(_("0 mins"))
+ self.label_3.setText(_("Appointment Time"))
+ self.apptTimelabel.setText(_("00:00 - 00:00"))
+ self.label_2.setText(_("Space After Appointment"))
+ self.minutesL8Rlabel.setText(_("0 mins"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py b/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py
new file mode 100644
index 0000000..2b55786
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_forumPost.py
@@ -0,0 +1,104 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/forumPost.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(502, 253)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_3 = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label_3.setFont(font)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+ self.topic_lineEdit = QtGui.QLineEdit(Dialog)
+ self.topic_lineEdit.setObjectName(_fromUtf8("topic_lineEdit"))
+ self.gridLayout.addWidget(self.topic_lineEdit, 0, 1, 1, 3)
+ self.label_4 = QtGui.QLabel(Dialog)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 1, 2, 1, 1)
+ self.to_comboBox = QtGui.QComboBox(Dialog)
+ self.to_comboBox.setMaxVisibleItems(20)
+ self.to_comboBox.setObjectName(_fromUtf8("to_comboBox"))
+ self.gridLayout.addWidget(self.to_comboBox, 1, 3, 1, 1)
+ self.label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label.setFont(font)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
+ self.comment_textEdit = QtGui.QTextEdit(Dialog)
+ self.comment_textEdit.setAcceptRichText(False)
+ self.comment_textEdit.setObjectName(_fromUtf8("comment_textEdit"))
+ self.gridLayout.addWidget(self.comment_textEdit, 2, 1, 2, 3)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 4, 0, 1, 4)
+ self.count_label = QtGui.QLabel(Dialog)
+ self.count_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.count_label.setWordWrap(True)
+ self.count_label.setObjectName(_fromUtf8("count_label"))
+ self.gridLayout.addWidget(self.count_label, 3, 0, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label_2.setFont(font)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+ self.from_comboBox = QtGui.QComboBox(Dialog)
+ self.from_comboBox.setMaxVisibleItems(20)
+ self.from_comboBox.setObjectName(_fromUtf8("from_comboBox"))
+ self.gridLayout.addWidget(self.from_comboBox, 1, 1, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Forum Input"))
+ self.label_3.setText(_("Topic"))
+ self.label_4.setText(_("To"))
+ self.label.setText(_("Comment"))
+ self.count_label.setText(_("(0 Characters)"))
+ self.label_2.setText(_("From"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py b/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py
new file mode 100644
index 0000000..311188b
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_hygenist_wizard.py
@@ -0,0 +1,113 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/hygenist_wizard.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(339, 350)
+ Dialog.setMinimumSize(QtCore.QSize(0, 0))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.planned_groupbox = QtGui.QGroupBox(Dialog)
+ self.planned_groupbox.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.planned_groupbox.setObjectName(_fromUtf8("planned_groupbox"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.planned_groupbox)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.label = QtGui.QLabel(self.planned_groupbox)
+ self.label.setStyleSheet(_fromUtf8("color:red;"))
+ self.label.setWordWrap(False)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout_2.addWidget(self.label)
+ self.pushButton = QtGui.QPushButton(self.planned_groupbox)
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.verticalLayout_2.addWidget(self.pushButton)
+ self.verticalLayout_3.addWidget(self.planned_groupbox)
+ self.groupBox = QtGui.QGroupBox(Dialog)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.groupBox)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.db_radioButton = QtGui.QRadioButton(self.groupBox)
+ self.db_radioButton.setObjectName(_fromUtf8("db_radioButton"))
+ self.verticalLayout.addWidget(self.db_radioButton)
+ self.sp_radioButton = QtGui.QRadioButton(self.groupBox)
+ self.sp_radioButton.setChecked(True)
+ self.sp_radioButton.setObjectName(_fromUtf8("sp_radioButton"))
+ self.verticalLayout.addWidget(self.sp_radioButton)
+ self.extsp_radioButton = QtGui.QRadioButton(self.groupBox)
+ self.extsp_radioButton.setChecked(False)
+ self.extsp_radioButton.setObjectName(_fromUtf8("extsp_radioButton"))
+ self.verticalLayout.addWidget(self.extsp_radioButton)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout.addItem(spacerItem)
+ self.verticalLayout_3.addWidget(self.groupBox)
+ self.clinicianGroupBox = QtGui.QGroupBox(Dialog)
+ self.clinicianGroupBox.setMinimumSize(QtCore.QSize(0, 0))
+ self.clinicianGroupBox.setObjectName(_fromUtf8("clinicianGroupBox"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.clinicianGroupBox)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ spacerItem1 = QtGui.QSpacerItem(89, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem1)
+ self.dents_comboBox = QtGui.QComboBox(self.clinicianGroupBox)
+ self.dents_comboBox.setMinimumSize(QtCore.QSize(100, 0))
+ self.dents_comboBox.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.dents_comboBox.setFont(font)
+ self.dents_comboBox.setObjectName(_fromUtf8("dents_comboBox"))
+ self.horizontalLayout.addWidget(self.dents_comboBox)
+ spacerItem2 = QtGui.QSpacerItem(88, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem2)
+ self.verticalLayout_3.addWidget(self.clinicianGroupBox)
+ spacerItem3 = QtGui.QSpacerItem(20, 29, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_3.addItem(spacerItem3)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout_3.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Hygienist Wizard"))
+ self.planned_groupbox.setTitle(_("Planned Treatments"))
+ self.label.setText(_("label"))
+ self.pushButton.setText(_("Ok - I\'ll be careful!"))
+ self.groupBox.setTitle(_("Type"))
+ self.db_radioButton.setText(_("Debridement"))
+ self.sp_radioButton.setText(_("Scale and Polish"))
+ self.extsp_radioButton.setText(_("Extensive Scaling"))
+ self.clinicianGroupBox.setTitle(_("Treating Dentist/Hygienist"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py b/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py
new file mode 100644
index 0000000..301bdfb
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_initialise.py
@@ -0,0 +1,596 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/initialise.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName(_fromUtf8("MainWindow"))
+ MainWindow.resize(800, 507)
+ self.centralwidget = QtGui.QWidget(MainWindow)
+ self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tabWidget = QtGui.QTabWidget(self.centralwidget)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab_8 = QtGui.QWidget()
+ self.tab_8.setObjectName(_fromUtf8("tab_8"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.tab_8)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.label_17 = QtGui.QLabel(self.tab_8)
+ self.label_17.setObjectName(_fromUtf8("label_17"))
+ self.gridLayout_3.addWidget(self.label_17, 0, 0, 1, 2)
+ self.modifydb_radioButton = QtGui.QRadioButton(self.tab_8)
+ self.modifydb_radioButton.setEnabled(False)
+ self.modifydb_radioButton.setObjectName(_fromUtf8("modifydb_radioButton"))
+ self.gridLayout_3.addWidget(self.modifydb_radioButton, 4, 0, 1, 1)
+ self.comboBox = QtGui.QComboBox(self.tab_8)
+ self.comboBox.setEnabled(False)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.gridLayout_3.addWidget(self.comboBox, 4, 1, 1, 1)
+ self.line = QtGui.QFrame(self.tab_8)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_3.addWidget(self.line, 5, 0, 1, 3)
+ spacerItem = QtGui.QSpacerItem(20, 407, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_3.addItem(spacerItem, 6, 1, 1, 1)
+ self.blankdb_radioButton = QtGui.QRadioButton(self.tab_8)
+ self.blankdb_radioButton.setChecked(True)
+ self.blankdb_radioButton.setObjectName(_fromUtf8("blankdb_radioButton"))
+ self.gridLayout_3.addWidget(self.blankdb_radioButton, 2, 0, 1, 1)
+ self.newdb_template_radioButton = QtGui.QRadioButton(self.tab_8)
+ self.newdb_template_radioButton.setChecked(False)
+ self.newdb_template_radioButton.setObjectName(_fromUtf8("newdb_template_radioButton"))
+ self.gridLayout_3.addWidget(self.newdb_template_radioButton, 3, 0, 1, 1)
+ self.tabWidget.addTab(self.tab_8, _fromUtf8(""))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.practice_frame = QtGui.QFrame(self.tab)
+ self.practice_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.practice_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.practice_frame.setObjectName(_fromUtf8("practice_frame"))
+ self.gridLayout = QtGui.QGridLayout(self.practice_frame)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(self.practice_frame)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.lineEdit = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.gridLayout.addWidget(self.lineEdit, 0, 1, 1, 1)
+ self.label_18 = QtGui.QLabel(self.practice_frame)
+ self.label_18.setObjectName(_fromUtf8("label_18"))
+ self.gridLayout.addWidget(self.label_18, 0, 2, 1, 1)
+ self.label_2 = QtGui.QLabel(self.practice_frame)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+ self.lineEdit_2 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))
+ self.gridLayout.addWidget(self.lineEdit_2, 1, 1, 1, 1)
+ self.label_22 = QtGui.QLabel(self.practice_frame)
+ self.label_22.setText(_fromUtf8(""))
+ self.label_22.setObjectName(_fromUtf8("label_22"))
+ self.gridLayout.addWidget(self.label_22, 1, 2, 1, 1)
+ self.label_3 = QtGui.QLabel(self.practice_frame)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+ self.lineEdit_3 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3"))
+ self.gridLayout.addWidget(self.lineEdit_3, 2, 1, 1, 1)
+ self.label_23 = QtGui.QLabel(self.practice_frame)
+ self.label_23.setText(_fromUtf8(""))
+ self.label_23.setObjectName(_fromUtf8("label_23"))
+ self.gridLayout.addWidget(self.label_23, 2, 2, 1, 1)
+ self.label_4 = QtGui.QLabel(self.practice_frame)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1)
+ self.lineEdit_4 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4"))
+ self.gridLayout.addWidget(self.lineEdit_4, 3, 1, 1, 1)
+ self.label_27 = QtGui.QLabel(self.practice_frame)
+ self.label_27.setText(_fromUtf8(""))
+ self.label_27.setObjectName(_fromUtf8("label_27"))
+ self.gridLayout.addWidget(self.label_27, 3, 2, 1, 1)
+ self.label_5 = QtGui.QLabel(self.practice_frame)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
+ self.lineEdit_5 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_5.setObjectName(_fromUtf8("lineEdit_5"))
+ self.gridLayout.addWidget(self.lineEdit_5, 4, 1, 1, 1)
+ self.label_19 = QtGui.QLabel(self.practice_frame)
+ self.label_19.setText(_fromUtf8(""))
+ self.label_19.setObjectName(_fromUtf8("label_19"))
+ self.gridLayout.addWidget(self.label_19, 4, 2, 1, 1)
+ self.label_6 = QtGui.QLabel(self.practice_frame)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout.addWidget(self.label_6, 5, 0, 1, 1)
+ self.lineEdit_6 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_6.setObjectName(_fromUtf8("lineEdit_6"))
+ self.gridLayout.addWidget(self.lineEdit_6, 5, 1, 1, 1)
+ self.label_28 = QtGui.QLabel(self.practice_frame)
+ self.label_28.setText(_fromUtf8(""))
+ self.label_28.setObjectName(_fromUtf8("label_28"))
+ self.gridLayout.addWidget(self.label_28, 5, 2, 1, 1)
+ self.label_7 = QtGui.QLabel(self.practice_frame)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
+ self.lineEdit_7 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_7.setObjectName(_fromUtf8("lineEdit_7"))
+ self.gridLayout.addWidget(self.lineEdit_7, 6, 1, 1, 1)
+ self.label_25 = QtGui.QLabel(self.practice_frame)
+ self.label_25.setText(_fromUtf8(""))
+ self.label_25.setObjectName(_fromUtf8("label_25"))
+ self.gridLayout.addWidget(self.label_25, 6, 2, 1, 1)
+ self.label_8 = QtGui.QLabel(self.practice_frame)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 7, 0, 1, 1)
+ self.lineEdit_8 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_8.setObjectName(_fromUtf8("lineEdit_8"))
+ self.gridLayout.addWidget(self.lineEdit_8, 7, 1, 1, 1)
+ self.label_26 = QtGui.QLabel(self.practice_frame)
+ self.label_26.setText(_fromUtf8(""))
+ self.label_26.setObjectName(_fromUtf8("label_26"))
+ self.gridLayout.addWidget(self.label_26, 7, 2, 1, 1)
+ self.label_9 = QtGui.QLabel(self.practice_frame)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 8, 0, 1, 1)
+ self.lineEdit_9 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_9.setObjectName(_fromUtf8("lineEdit_9"))
+ self.gridLayout.addWidget(self.lineEdit_9, 8, 1, 1, 1)
+ self.label_24 = QtGui.QLabel(self.practice_frame)
+ self.label_24.setText(_fromUtf8(""))
+ self.label_24.setObjectName(_fromUtf8("label_24"))
+ self.gridLayout.addWidget(self.label_24, 8, 2, 1, 1)
+ self.label_10 = QtGui.QLabel(self.practice_frame)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.gridLayout.addWidget(self.label_10, 9, 0, 1, 1)
+ self.lineEdit_10 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_10.setObjectName(_fromUtf8("lineEdit_10"))
+ self.gridLayout.addWidget(self.lineEdit_10, 9, 1, 1, 1)
+ self.label_21 = QtGui.QLabel(self.practice_frame)
+ self.label_21.setText(_fromUtf8(""))
+ self.label_21.setObjectName(_fromUtf8("label_21"))
+ self.gridLayout.addWidget(self.label_21, 9, 2, 1, 1)
+ self.label_11 = QtGui.QLabel(self.practice_frame)
+ self.label_11.setObjectName(_fromUtf8("label_11"))
+ self.gridLayout.addWidget(self.label_11, 10, 0, 1, 1)
+ self.lineEdit_11 = QtGui.QLineEdit(self.practice_frame)
+ self.lineEdit_11.setObjectName(_fromUtf8("lineEdit_11"))
+ self.gridLayout.addWidget(self.lineEdit_11, 10, 1, 1, 1)
+ self.label_20 = QtGui.QLabel(self.practice_frame)
+ self.label_20.setText(_fromUtf8(""))
+ self.label_20.setObjectName(_fromUtf8("label_20"))
+ self.gridLayout.addWidget(self.label_20, 10, 2, 1, 1)
+ self.verticalLayout_3.addWidget(self.practice_frame)
+ spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_3.addItem(spacerItem1)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab_2)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.label_12 = QtGui.QLabel(self.tab_2)
+ self.label_12.setObjectName(_fromUtf8("label_12"))
+ self.verticalLayout_2.addWidget(self.label_12)
+ self.users_tableWidget = QtGui.QTableWidget(self.tab_2)
+ self.users_tableWidget.setAlternatingRowColors(True)
+ self.users_tableWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
+ self.users_tableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.users_tableWidget.setObjectName(_fromUtf8("users_tableWidget"))
+ self.users_tableWidget.setColumnCount(6)
+ self.users_tableWidget.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(2, item)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(3, item)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(4, item)
+ item = QtGui.QTableWidgetItem()
+ self.users_tableWidget.setHorizontalHeaderItem(5, item)
+ self.verticalLayout_2.addWidget(self.users_tableWidget)
+ self.frame_2 = QtGui.QFrame(self.tab_2)
+ self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_2.setObjectName(_fromUtf8("frame_2"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.frame_2)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.verticalLayout_11 = QtGui.QVBoxLayout()
+ self.verticalLayout_11.setObjectName(_fromUtf8("verticalLayout_11"))
+ self.modifyUser_pushButton = QtGui.QPushButton(self.frame_2)
+ self.modifyUser_pushButton.setObjectName(_fromUtf8("modifyUser_pushButton"))
+ self.verticalLayout_11.addWidget(self.modifyUser_pushButton)
+ self.horizontalLayout.addLayout(self.verticalLayout_11)
+ self.user_groupBox = QtGui.QGroupBox(self.frame_2)
+ self.user_groupBox.setObjectName(_fromUtf8("user_groupBox"))
+ self.gridLayout_8 = QtGui.QGridLayout(self.user_groupBox)
+ self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
+ self.label_14 = QtGui.QLabel(self.user_groupBox)
+ self.label_14.setObjectName(_fromUtf8("label_14"))
+ self.gridLayout_8.addWidget(self.label_14, 0, 0, 1, 1)
+ self.userName_lineEdit = QtGui.QLineEdit(self.user_groupBox)
+ self.userName_lineEdit.setObjectName(_fromUtf8("userName_lineEdit"))
+ self.gridLayout_8.addWidget(self.userName_lineEdit, 0, 1, 1, 1)
+ self.label_13 = QtGui.QLabel(self.user_groupBox)
+ self.label_13.setObjectName(_fromUtf8("label_13"))
+ self.gridLayout_8.addWidget(self.label_13, 1, 0, 1, 1)
+ self.userInits_lineEdit = QtGui.QLineEdit(self.user_groupBox)
+ self.userInits_lineEdit.setObjectName(_fromUtf8("userInits_lineEdit"))
+ self.gridLayout_8.addWidget(self.userInits_lineEdit, 1, 1, 1, 1)
+ self.label_15 = QtGui.QLabel(self.user_groupBox)
+ self.label_15.setObjectName(_fromUtf8("label_15"))
+ self.gridLayout_8.addWidget(self.label_15, 2, 0, 1, 1)
+ self.userGroup_comboBox = QtGui.QComboBox(self.user_groupBox)
+ self.userGroup_comboBox.setObjectName(_fromUtf8("userGroup_comboBox"))
+ self.userGroup_comboBox.addItem(_fromUtf8(""))
+ self.userGroup_comboBox.addItem(_fromUtf8(""))
+ self.userGroup_comboBox.addItem(_fromUtf8(""))
+ self.userGroup_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout_8.addWidget(self.userGroup_comboBox, 2, 1, 1, 1)
+ self.userActive_checkBox = QtGui.QCheckBox(self.user_groupBox)
+ self.userActive_checkBox.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.userActive_checkBox.setChecked(True)
+ self.userActive_checkBox.setObjectName(_fromUtf8("userActive_checkBox"))
+ self.gridLayout_8.addWidget(self.userActive_checkBox, 2, 2, 1, 1)
+ self.user_date_label = QtGui.QLabel(self.user_groupBox)
+ self.user_date_label.setObjectName(_fromUtf8("user_date_label"))
+ self.gridLayout_8.addWidget(self.user_date_label, 3, 0, 1, 1)
+ self.user_dateEdit = QtGui.QDateEdit(self.user_groupBox)
+ self.user_dateEdit.setCalendarPopup(True)
+ self.user_dateEdit.setObjectName(_fromUtf8("user_dateEdit"))
+ self.gridLayout_8.addWidget(self.user_dateEdit, 3, 1, 1, 1)
+ self.horizontalLayout.addWidget(self.user_groupBox)
+ self.newUser_pushButton = QtGui.QPushButton(self.frame_2)
+ self.newUser_pushButton.setEnabled(True)
+ self.newUser_pushButton.setObjectName(_fromUtf8("newUser_pushButton"))
+ self.horizontalLayout.addWidget(self.newUser_pushButton)
+ self.verticalLayout_2.addWidget(self.frame_2)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.tab_3 = QtGui.QWidget()
+ self.tab_3.setObjectName(_fromUtf8("tab_3"))
+ self.verticalLayout_5 = QtGui.QVBoxLayout(self.tab_3)
+ self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
+ self.label_33 = QtGui.QLabel(self.tab_3)
+ self.label_33.setWordWrap(True)
+ self.label_33.setObjectName(_fromUtf8("label_33"))
+ self.verticalLayout_5.addWidget(self.label_33)
+ self.tableWidget_2 = QtGui.QTableWidget(self.tab_3)
+ self.tableWidget_2.setObjectName(_fromUtf8("tableWidget_2"))
+ self.tableWidget_2.setColumnCount(4)
+ self.tableWidget_2.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(2, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(3, item)
+ self.verticalLayout_5.addWidget(self.tableWidget_2)
+ self.frame_3 = QtGui.QFrame(self.tab_3)
+ self.frame_3.setMinimumSize(QtCore.QSize(0, 200))
+ self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_3.setObjectName(_fromUtf8("frame_3"))
+ self.verticalLayout_7 = QtGui.QVBoxLayout(self.frame_3)
+ self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
+ self.label_29 = QtGui.QLabel(self.frame_3)
+ self.label_29.setObjectName(_fromUtf8("label_29"))
+ self.verticalLayout_7.addWidget(self.label_29)
+ self.gridLayout_4 = QtGui.QGridLayout()
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.label_30 = QtGui.QLabel(self.frame_3)
+ self.label_30.setObjectName(_fromUtf8("label_30"))
+ self.gridLayout_4.addWidget(self.label_30, 0, 0, 1, 1)
+ self.lineEdit_14 = QtGui.QLineEdit(self.frame_3)
+ self.lineEdit_14.setObjectName(_fromUtf8("lineEdit_14"))
+ self.gridLayout_4.addWidget(self.lineEdit_14, 0, 1, 1, 1)
+ self.label_31 = QtGui.QLabel(self.frame_3)
+ self.label_31.setObjectName(_fromUtf8("label_31"))
+ self.gridLayout_4.addWidget(self.label_31, 1, 0, 1, 1)
+ self.lineEdit_15 = QtGui.QLineEdit(self.frame_3)
+ self.lineEdit_15.setObjectName(_fromUtf8("lineEdit_15"))
+ self.gridLayout_4.addWidget(self.lineEdit_15, 1, 1, 1, 1)
+ self.label_45 = QtGui.QLabel(self.frame_3)
+ self.label_45.setObjectName(_fromUtf8("label_45"))
+ self.gridLayout_4.addWidget(self.label_45, 2, 0, 1, 1)
+ self.lineEdit_21 = QtGui.QLineEdit(self.frame_3)
+ self.lineEdit_21.setText(_fromUtf8(""))
+ self.lineEdit_21.setObjectName(_fromUtf8("lineEdit_21"))
+ self.gridLayout_4.addWidget(self.lineEdit_21, 2, 1, 1, 1)
+ self.verticalLayout_7.addLayout(self.gridLayout_4)
+ self.checkBox_2 = QtGui.QCheckBox(self.frame_3)
+ self.checkBox_2.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.checkBox_2.setChecked(True)
+ self.checkBox_2.setObjectName(_fromUtf8("checkBox_2"))
+ self.verticalLayout_7.addWidget(self.checkBox_2)
+ self.verticalLayout_5.addWidget(self.frame_3)
+ self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
+ self.tab_4 = QtGui.QWidget()
+ self.tab_4.setObjectName(_fromUtf8("tab_4"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.tab_4)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.label_38 = QtGui.QLabel(self.tab_4)
+ self.label_38.setObjectName(_fromUtf8("label_38"))
+ self.verticalLayout_4.addWidget(self.label_38)
+ self.tableWidget_3 = QtGui.QTableWidget(self.tab_4)
+ self.tableWidget_3.setObjectName(_fromUtf8("tableWidget_3"))
+ self.tableWidget_3.setColumnCount(4)
+ self.tableWidget_3.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_3.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_3.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_3.setHorizontalHeaderItem(2, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidget_3.setHorizontalHeaderItem(3, item)
+ self.verticalLayout_4.addWidget(self.tableWidget_3)
+ self.frame_4 = QtGui.QFrame(self.tab_4)
+ self.frame_4.setMinimumSize(QtCore.QSize(0, 200))
+ self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_4.setObjectName(_fromUtf8("frame_4"))
+ self.verticalLayout_8 = QtGui.QVBoxLayout(self.frame_4)
+ self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8"))
+ self.label_32 = QtGui.QLabel(self.frame_4)
+ self.label_32.setObjectName(_fromUtf8("label_32"))
+ self.verticalLayout_8.addWidget(self.label_32)
+ self.gridLayout_5 = QtGui.QGridLayout()
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.label_34 = QtGui.QLabel(self.frame_4)
+ self.label_34.setObjectName(_fromUtf8("label_34"))
+ self.gridLayout_5.addWidget(self.label_34, 0, 0, 1, 1)
+ self.lineEdit_16 = QtGui.QLineEdit(self.frame_4)
+ self.lineEdit_16.setObjectName(_fromUtf8("lineEdit_16"))
+ self.gridLayout_5.addWidget(self.lineEdit_16, 0, 1, 1, 1)
+ self.label_35 = QtGui.QLabel(self.frame_4)
+ self.label_35.setObjectName(_fromUtf8("label_35"))
+ self.gridLayout_5.addWidget(self.label_35, 1, 0, 1, 1)
+ self.lineEdit_17 = QtGui.QLineEdit(self.frame_4)
+ self.lineEdit_17.setObjectName(_fromUtf8("lineEdit_17"))
+ self.gridLayout_5.addWidget(self.lineEdit_17, 1, 1, 1, 1)
+ self.label_46 = QtGui.QLabel(self.frame_4)
+ self.label_46.setObjectName(_fromUtf8("label_46"))
+ self.gridLayout_5.addWidget(self.label_46, 2, 0, 1, 1)
+ self.lineEdit_22 = QtGui.QLineEdit(self.frame_4)
+ self.lineEdit_22.setText(_fromUtf8(""))
+ self.lineEdit_22.setObjectName(_fromUtf8("lineEdit_22"))
+ self.gridLayout_5.addWidget(self.lineEdit_22, 2, 1, 1, 1)
+ self.verticalLayout_8.addLayout(self.gridLayout_5)
+ self.checkBox_3 = QtGui.QCheckBox(self.frame_4)
+ self.checkBox_3.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.checkBox_3.setChecked(True)
+ self.checkBox_3.setObjectName(_fromUtf8("checkBox_3"))
+ self.verticalLayout_8.addWidget(self.checkBox_3)
+ self.verticalLayout_4.addWidget(self.frame_4)
+ self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
+ self.tab_5 = QtGui.QWidget()
+ self.tab_5.setObjectName(_fromUtf8("tab_5"))
+ self.horizontalLayout_2 = QtGui.QHBoxLayout(self.tab_5)
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ self.frame_6 = QtGui.QFrame(self.tab_5)
+ self.frame_6.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_6.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_6.setObjectName(_fromUtf8("frame_6"))
+ self.gridLayout_7 = QtGui.QGridLayout(self.frame_6)
+ self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
+ self.checkBox_7 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_7.setChecked(True)
+ self.checkBox_7.setObjectName(_fromUtf8("checkBox_7"))
+ self.gridLayout_7.addWidget(self.checkBox_7, 0, 0, 1, 1)
+ self.timeEdit = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit.setObjectName(_fromUtf8("timeEdit"))
+ self.gridLayout_7.addWidget(self.timeEdit, 0, 1, 1, 1)
+ self.timeEdit_2 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_2.setObjectName(_fromUtf8("timeEdit_2"))
+ self.gridLayout_7.addWidget(self.timeEdit_2, 0, 2, 1, 1)
+ self.checkBox_8 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_8.setChecked(True)
+ self.checkBox_8.setObjectName(_fromUtf8("checkBox_8"))
+ self.gridLayout_7.addWidget(self.checkBox_8, 1, 0, 1, 1)
+ self.timeEdit_3 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_3.setObjectName(_fromUtf8("timeEdit_3"))
+ self.gridLayout_7.addWidget(self.timeEdit_3, 1, 1, 1, 1)
+ self.timeEdit_4 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_4.setObjectName(_fromUtf8("timeEdit_4"))
+ self.gridLayout_7.addWidget(self.timeEdit_4, 1, 2, 1, 1)
+ self.checkBox_9 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_9.setChecked(True)
+ self.checkBox_9.setObjectName(_fromUtf8("checkBox_9"))
+ self.gridLayout_7.addWidget(self.checkBox_9, 2, 0, 1, 1)
+ self.timeEdit_5 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_5.setObjectName(_fromUtf8("timeEdit_5"))
+ self.gridLayout_7.addWidget(self.timeEdit_5, 2, 1, 1, 1)
+ self.timeEdit_6 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_6.setObjectName(_fromUtf8("timeEdit_6"))
+ self.gridLayout_7.addWidget(self.timeEdit_6, 2, 2, 1, 1)
+ self.checkBox_10 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_10.setChecked(True)
+ self.checkBox_10.setObjectName(_fromUtf8("checkBox_10"))
+ self.gridLayout_7.addWidget(self.checkBox_10, 3, 0, 1, 1)
+ self.timeEdit_7 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_7.setObjectName(_fromUtf8("timeEdit_7"))
+ self.gridLayout_7.addWidget(self.timeEdit_7, 3, 1, 1, 1)
+ self.timeEdit_8 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_8.setObjectName(_fromUtf8("timeEdit_8"))
+ self.gridLayout_7.addWidget(self.timeEdit_8, 3, 2, 1, 1)
+ self.checkBox_11 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_11.setChecked(True)
+ self.checkBox_11.setObjectName(_fromUtf8("checkBox_11"))
+ self.gridLayout_7.addWidget(self.checkBox_11, 4, 0, 1, 1)
+ self.timeEdit_10 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_10.setObjectName(_fromUtf8("timeEdit_10"))
+ self.gridLayout_7.addWidget(self.timeEdit_10, 4, 1, 1, 1)
+ self.timeEdit_11 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_11.setObjectName(_fromUtf8("timeEdit_11"))
+ self.gridLayout_7.addWidget(self.timeEdit_11, 4, 2, 1, 1)
+ self.checkBox_12 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_12.setObjectName(_fromUtf8("checkBox_12"))
+ self.gridLayout_7.addWidget(self.checkBox_12, 5, 0, 1, 1)
+ self.timeEdit_12 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_12.setObjectName(_fromUtf8("timeEdit_12"))
+ self.gridLayout_7.addWidget(self.timeEdit_12, 5, 1, 1, 1)
+ self.timeEdit_9 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_9.setObjectName(_fromUtf8("timeEdit_9"))
+ self.gridLayout_7.addWidget(self.timeEdit_9, 5, 2, 1, 1)
+ self.checkBox_13 = QtGui.QCheckBox(self.frame_6)
+ self.checkBox_13.setObjectName(_fromUtf8("checkBox_13"))
+ self.gridLayout_7.addWidget(self.checkBox_13, 6, 0, 1, 1)
+ self.timeEdit_13 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_13.setObjectName(_fromUtf8("timeEdit_13"))
+ self.gridLayout_7.addWidget(self.timeEdit_13, 6, 1, 1, 1)
+ self.timeEdit_14 = QtGui.QTimeEdit(self.frame_6)
+ self.timeEdit_14.setObjectName(_fromUtf8("timeEdit_14"))
+ self.gridLayout_7.addWidget(self.timeEdit_14, 6, 2, 1, 1)
+ self.horizontalLayout_2.addWidget(self.frame_6)
+ self.tabWidget.addTab(self.tab_5, _fromUtf8(""))
+ self.tab_7 = QtGui.QWidget()
+ self.tab_7.setObjectName(_fromUtf8("tab_7"))
+ self.verticalLayout_10 = QtGui.QVBoxLayout(self.tab_7)
+ self.verticalLayout_10.setObjectName(_fromUtf8("verticalLayout_10"))
+ self.tabWidget.addTab(self.tab_7, _fromUtf8(""))
+ self.verticalLayout.addWidget(self.tabWidget)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtGui.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
+ self.menubar.setObjectName(_fromUtf8("menubar"))
+ self.menuFile = QtGui.QMenu(self.menubar)
+ self.menuFile.setObjectName(_fromUtf8("menuFile"))
+ MainWindow.setMenuBar(self.menubar)
+ self.statusbar = QtGui.QStatusBar(MainWindow)
+ self.statusbar.setObjectName(_fromUtf8("statusbar"))
+ MainWindow.setStatusBar(self.statusbar)
+ self.actionLoad_Template = QtGui.QAction(MainWindow)
+ self.actionLoad_Template.setObjectName(_fromUtf8("actionLoad_Template"))
+ self.action_Save_Template = QtGui.QAction(MainWindow)
+ self.action_Save_Template.setObjectName(_fromUtf8("action_Save_Template"))
+ self.menuFile.addAction(self.actionLoad_Template)
+ self.menuFile.addAction(self.action_Save_Template)
+ self.menubar.addAction(self.menuFile.menuAction())
+
+ self.retranslateUi(MainWindow)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(_("OpenMolar - database wizard"))
+ self.label_17.setText(_("What do you want to do?"))
+ self.modifydb_radioButton.setText(_("Modify an existing openmolar database"))
+ self.blankdb_radioButton.setText(_("Create a New database from scratch"))
+ self.newdb_template_radioButton.setText(_("Create a New database (from a known template)"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_8), _("Start"))
+ self.label.setText(_("Practice Name"))
+ self.label_18.setText(_("Used in receipts, appointment cards etc."))
+ self.label_2.setText(_("Address Line 1"))
+ self.label_3.setText(_("Address Line 2"))
+ self.label_4.setText(_("Address Line 3"))
+ self.label_5.setText(_("Town"))
+ self.label_6.setText(_("County"))
+ self.label_7.setText(_("Postcode / Zip"))
+ self.label_8.setText(_("Telephone"))
+ self.label_9.setText(_("Fax"))
+ self.label_10.setText(_("Website"))
+ self.label_11.setText(_("Email"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Practice Details"))
+ self.label_12.setText(_("The Following users can login to the application"))
+ item = self.users_tableWidget.horizontalHeaderItem(0)
+ item.setText(_("Id"))
+ item = self.users_tableWidget.horizontalHeaderItem(1)
+ item.setText(_("Initials"))
+ item = self.users_tableWidget.horizontalHeaderItem(2)
+ item.setText(_("Name"))
+ item = self.users_tableWidget.horizontalHeaderItem(3)
+ item.setText(_("User Group"))
+ item = self.users_tableWidget.horizontalHeaderItem(4)
+ item.setText(_("Active?"))
+ item = self.users_tableWidget.horizontalHeaderItem(5)
+ item.setText(_("DeActivation Date"))
+ self.modifyUser_pushButton.setText(_("Modify Selected User"))
+ self.user_groupBox.setTitle(_("New User Details"))
+ self.label_14.setText(_("Name"))
+ self.label_13.setText(_("Initials"))
+ self.label_15.setText(_("User Group"))
+ self.userGroup_comboBox.setItemText(0, _("Standard User"))
+ self.userGroup_comboBox.setItemText(1, _("Dentist"))
+ self.userGroup_comboBox.setItemText(2, _("Hygienist"))
+ self.userGroup_comboBox.setItemText(3, _("Receptionist"))
+ self.userActive_checkBox.setText(_("Active User"))
+ self.user_date_label.setText(_("DeActivation Date"))
+ self.newUser_pushButton.setText(_("Add a New User"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("Users"))
+ self.label_33.setText(_("The Following dentists have notes in this database\n"
+"(note - dentists should not be removed from the database, as this could create lookup issues for cashbooks and notes) "))
+ item = self.tableWidget_2.horizontalHeaderItem(0)
+ item.setText(_("Initials"))
+ item = self.tableWidget_2.horizontalHeaderItem(1)
+ item.setText(_("Name"))
+ item = self.tableWidget_2.horizontalHeaderItem(2)
+ item.setText(_("User Group"))
+ item = self.tableWidget_2.horizontalHeaderItem(3)
+ item.setText(_("Active?"))
+ self.label_29.setText(_("Add a Dentist"))
+ self.label_30.setText(_("Initials"))
+ self.label_31.setText(_("Name"))
+ self.label_45.setText(_("Registration"))
+ self.checkBox_2.setText(_("Active Appointment Book"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _("Dentists"))
+ self.label_38.setText(_("The Following hygienists have notes in this database\n"
+"(note - hygienists should not be removed from the database, as this could create lookup issues for cashbooks and notes) "))
+ item = self.tableWidget_3.horizontalHeaderItem(0)
+ item.setText(_("Initials"))
+ item = self.tableWidget_3.horizontalHeaderItem(1)
+ item.setText(_("Name"))
+ item = self.tableWidget_3.horizontalHeaderItem(2)
+ item.setText(_("User Group"))
+ item = self.tableWidget_3.horizontalHeaderItem(3)
+ item.setText(_("Active?"))
+ self.label_32.setText(_("Add a Dentist"))
+ self.label_34.setText(_("Initials"))
+ self.label_35.setText(_("Name"))
+ self.label_46.setText(_("Registration"))
+ self.checkBox_3.setText(_("Active Appointment Book"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _("Hygienists"))
+ self.checkBox_7.setText(_("Monday"))
+ self.checkBox_8.setText(_("Tuesday"))
+ self.checkBox_9.setText(_("Wednesday"))
+ self.checkBox_10.setText(_("Thursday"))
+ self.checkBox_11.setText(_("Friday"))
+ self.checkBox_12.setText(_("Saturday"))
+ self.checkBox_13.setText(_("Sunday"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _("Practice Hours"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_7), _("View XML"))
+ self.menuFile.setTitle(_("File"))
+ self.actionLoad_Template.setText(_("L&oad Template"))
+ self.action_Save_Template.setText(_("&Save Template"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ MainWindow = QtGui.QMainWindow()
+ ui = Ui_MainWindow()
+ ui.setupUi(MainWindow)
+ MainWindow.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_main.py b/src/openmolar/qt4gui/compiled_uis/Ui_main.py
new file mode 100644
index 0000000..2cb1e6e
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_main.py
@@ -0,0 +1,2615 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/main.ui'
+#
+# Created: Mon Dec 16 11:22:23 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName(_fromUtf8("MainWindow"))
+ MainWindow.resize(943, 642)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
+ MainWindow.setSizePolicy(sizePolicy)
+ MainWindow.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ font = QtGui.QFont()
+ MainWindow.setFont(font)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/openmolar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ MainWindow.setWindowIcon(icon)
+ MainWindow.setStyleSheet(_fromUtf8(""))
+ MainWindow.setDockNestingEnabled(False)
+ MainWindow.setUnifiedTitleAndToolBarOnMac(False)
+ self.centralwidget = QtGui.QWidget(MainWindow)
+ self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
+ self.verticalLayout_18 = QtGui.QVBoxLayout(self.centralwidget)
+ self.verticalLayout_18.setSpacing(0)
+ self.verticalLayout_18.setMargin(0)
+ self.verticalLayout_18.setObjectName(_fromUtf8("verticalLayout_18"))
+ self.scrollArea_main = QtGui.QScrollArea(self.centralwidget)
+ self.scrollArea_main.setFrameShape(QtGui.QFrame.NoFrame)
+ self.scrollArea_main.setWidgetResizable(True)
+ self.scrollArea_main.setObjectName(_fromUtf8("scrollArea_main"))
+ self.scrollAreaWidgetContents_12 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_12.setGeometry(QtCore.QRect(0, 0, 1071, 585))
+ self.scrollAreaWidgetContents_12.setObjectName(_fromUtf8("scrollAreaWidgetContents_12"))
+ self.horizontalLayout_7 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents_12)
+ self.horizontalLayout_7.setSpacing(0)
+ self.horizontalLayout_7.setMargin(0)
+ self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
+ self.main_tabWidget = QtGui.QTabWidget(self.scrollAreaWidgetContents_12)
+ self.main_tabWidget.setTabPosition(QtGui.QTabWidget.North)
+ self.main_tabWidget.setTabShape(QtGui.QTabWidget.Rounded)
+ self.main_tabWidget.setDocumentMode(False)
+ self.main_tabWidget.setObjectName(_fromUtf8("main_tabWidget"))
+ self.tab_patient = QtGui.QWidget()
+ self.tab_patient.setObjectName(_fromUtf8("tab_patient"))
+ self.horizontalLayout_24 = QtGui.QHBoxLayout(self.tab_patient)
+ self.horizontalLayout_24.setMargin(6)
+ self.horizontalLayout_24.setObjectName(_fromUtf8("horizontalLayout_24"))
+ self.details_frame = QtGui.QFrame(self.tab_patient)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.details_frame.sizePolicy().hasHeightForWidth())
+ self.details_frame.setSizePolicy(sizePolicy)
+ self.details_frame.setMinimumSize(QtCore.QSize(180, 16))
+ self.details_frame.setMaximumSize(QtCore.QSize(200, 16777215))
+ self.details_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.details_frame.setFrameShadow(QtGui.QFrame.Plain)
+ self.details_frame.setObjectName(_fromUtf8("details_frame"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.details_frame)
+ self.verticalLayout.setSpacing(0)
+ self.verticalLayout.setMargin(0)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.frame_15 = QtGui.QFrame(self.details_frame)
+ self.frame_15.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame_15.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_15.setObjectName(_fromUtf8("frame_15"))
+ self.horizontalLayout_3 = QtGui.QHBoxLayout(self.frame_15)
+ self.horizontalLayout_3.setSpacing(3)
+ self.horizontalLayout_3.setMargin(0)
+ self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
+ self.home_pushButton = QtGui.QPushButton(self.frame_15)
+ self.home_pushButton.setMinimumSize(QtCore.QSize(32, 0))
+ self.home_pushButton.setMaximumSize(QtCore.QSize(32, 28))
+ self.home_pushButton.setText(_fromUtf8(""))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/kfm_home.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.home_pushButton.setIcon(icon1)
+ self.home_pushButton.setIconSize(QtCore.QSize(32, 24))
+ self.home_pushButton.setObjectName(_fromUtf8("home_pushButton"))
+ self.horizontalLayout_3.addWidget(self.home_pushButton)
+ self.newPatientPushButton = QtGui.QPushButton(self.frame_15)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.newPatientPushButton.sizePolicy().hasHeightForWidth())
+ self.newPatientPushButton.setSizePolicy(sizePolicy)
+ self.newPatientPushButton.setMinimumSize(QtCore.QSize(32, 0))
+ self.newPatientPushButton.setMaximumSize(QtCore.QSize(32, 28))
+ self.newPatientPushButton.setText(_fromUtf8(""))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/add_user.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.newPatientPushButton.setIcon(icon2)
+ self.newPatientPushButton.setIconSize(QtCore.QSize(32, 16))
+ self.newPatientPushButton.setObjectName(_fromUtf8("newPatientPushButton"))
+ self.horizontalLayout_3.addWidget(self.newPatientPushButton)
+ self.findButton = QtGui.QPushButton(self.frame_15)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.findButton.sizePolicy().hasHeightForWidth())
+ self.findButton.setSizePolicy(sizePolicy)
+ self.findButton.setMinimumSize(QtCore.QSize(80, 28))
+ self.findButton.setMaximumSize(QtCore.QSize(16777215, 28))
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/search.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.findButton.setIcon(icon3)
+ self.findButton.setIconSize(QtCore.QSize(24, 24))
+ self.findButton.setObjectName(_fromUtf8("findButton"))
+ self.horizontalLayout_3.addWidget(self.findButton)
+ self.verticalLayout.addWidget(self.frame_15)
+ self.frame_16 = QtGui.QFrame(self.details_frame)
+ self.frame_16.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame_16.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_16.setObjectName(_fromUtf8("frame_16"))
+ self.horizontalLayout = QtGui.QHBoxLayout(self.frame_16)
+ self.horizontalLayout.setSpacing(2)
+ self.horizontalLayout.setMargin(0)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.backButton = QtGui.QPushButton(self.frame_16)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.backButton.sizePolicy().hasHeightForWidth())
+ self.backButton.setSizePolicy(sizePolicy)
+ self.backButton.setMaximumSize(QtCore.QSize(24, 28))
+ self.backButton.setText(_fromUtf8(""))
+ icon4 = QtGui.QIcon()
+ icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/back.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.backButton.setIcon(icon4)
+ self.backButton.setIconSize(QtCore.QSize(32, 16))
+ self.backButton.setObjectName(_fromUtf8("backButton"))
+ self.horizontalLayout.addWidget(self.backButton)
+ self.reloadButton = QtGui.QPushButton(self.frame_16)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.reloadButton.sizePolicy().hasHeightForWidth())
+ self.reloadButton.setSizePolicy(sizePolicy)
+ self.reloadButton.setMaximumSize(QtCore.QSize(24, 28))
+ self.reloadButton.setText(_fromUtf8(""))
+ icon5 = QtGui.QIcon()
+ icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/agt_reload.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.reloadButton.setIcon(icon5)
+ self.reloadButton.setObjectName(_fromUtf8("reloadButton"))
+ self.horizontalLayout.addWidget(self.reloadButton)
+ self.nextButton = QtGui.QPushButton(self.frame_16)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.nextButton.sizePolicy().hasHeightForWidth())
+ self.nextButton.setSizePolicy(sizePolicy)
+ self.nextButton.setMaximumSize(QtCore.QSize(24, 28))
+ self.nextButton.setText(_fromUtf8(""))
+ icon6 = QtGui.QIcon()
+ icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/forward.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.nextButton.setIcon(icon6)
+ self.nextButton.setIconSize(QtCore.QSize(32, 16))
+ self.nextButton.setObjectName(_fromUtf8("nextButton"))
+ self.horizontalLayout.addWidget(self.nextButton)
+ self.relatedpts_pushButton = QtGui.QPushButton(self.frame_16)
+ self.relatedpts_pushButton.setMinimumSize(QtCore.QSize(60, 28))
+ icon7 = QtGui.QIcon()
+ icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/agt_family.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.relatedpts_pushButton.setIcon(icon7)
+ self.relatedpts_pushButton.setObjectName(_fromUtf8("relatedpts_pushButton"))
+ self.horizontalLayout.addWidget(self.relatedpts_pushButton)
+ self.verticalLayout.addWidget(self.frame_16)
+ self.dayList_comboBox = QtGui.QComboBox(self.details_frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dayList_comboBox.sizePolicy().hasHeightForWidth())
+ self.dayList_comboBox.setSizePolicy(sizePolicy)
+ self.dayList_comboBox.setMaxVisibleItems(40)
+ self.dayList_comboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContentsOnFirstShow)
+ self.dayList_comboBox.setObjectName(_fromUtf8("dayList_comboBox"))
+ self.verticalLayout.addWidget(self.dayList_comboBox)
+ self.detailsBrowser = QtGui.QTextBrowser(self.details_frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.detailsBrowser.sizePolicy().hasHeightForWidth())
+ self.detailsBrowser.setSizePolicy(sizePolicy)
+ self.detailsBrowser.setObjectName(_fromUtf8("detailsBrowser"))
+ self.verticalLayout.addWidget(self.detailsBrowser)
+ self.horizontalLayout_24.addWidget(self.details_frame)
+ self.splitter_patient = QtGui.QSplitter(self.tab_patient)
+ self.splitter_patient.setOrientation(QtCore.Qt.Vertical)
+ self.splitter_patient.setChildrenCollapsible(False)
+ self.splitter_patient.setObjectName(_fromUtf8("splitter_patient"))
+ self.tabWidget = QtGui.QTabWidget(self.splitter_patient)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab_patient_details = QtGui.QWidget()
+ self.tab_patient_details.setObjectName(_fromUtf8("tab_patient_details"))
+ self.horizontalLayout_2 = QtGui.QHBoxLayout(self.tab_patient_details)
+ self.horizontalLayout_2.setSpacing(0)
+ self.horizontalLayout_2.setMargin(0)
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ self.scrollArea_4 = QtGui.QScrollArea(self.tab_patient_details)
+ self.scrollArea_4.setWidgetResizable(True)
+ self.scrollArea_4.setObjectName(_fromUtf8("scrollArea_4"))
+ self.scrollAreaWidgetContents_7 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 850, 477))
+ self.scrollAreaWidgetContents_7.setObjectName(_fromUtf8("scrollAreaWidgetContents_7"))
+ self.verticalLayout_6 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents_7)
+ self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
+ self.patientEdit_groupBox = QtGui.QGroupBox(self.scrollAreaWidgetContents_7)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.patientEdit_groupBox.sizePolicy().hasHeightForWidth())
+ self.patientEdit_groupBox.setSizePolicy(sizePolicy)
+ self.patientEdit_groupBox.setObjectName(_fromUtf8("patientEdit_groupBox"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.patientEdit_groupBox)
+ self.gridLayout_2.setMargin(6)
+ self.gridLayout_2.setVerticalSpacing(3)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label_18 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_18.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_18.setObjectName(_fromUtf8("label_18"))
+ self.gridLayout_2.addWidget(self.label_18, 3, 0, 1, 1)
+ self.label_9 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout_2.addWidget(self.label_9, 6, 0, 1, 1)
+ self.pushButton_6 = QtGui.QPushButton(self.patientEdit_groupBox)
+ self.pushButton_6.setEnabled(False)
+ self.pushButton_6.setMaximumSize(QtCore.QSize(60, 16777215))
+ icon8 = QtGui.QIcon()
+ icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/button_ok.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.pushButton_6.setIcon(icon8)
+ self.pushButton_6.setIconSize(QtCore.QSize(8, 8))
+ self.pushButton_6.setObjectName(_fromUtf8("pushButton_6"))
+ self.gridLayout_2.addWidget(self.pushButton_6, 2, 7, 1, 1)
+ self.label_23 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_23.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_23.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_23.setObjectName(_fromUtf8("label_23"))
+ self.gridLayout_2.addWidget(self.label_23, 5, 4, 1, 1)
+ self.dobEdit = QtGui.QDateEdit(self.patientEdit_groupBox)
+ self.dobEdit.setCalendarPopup(True)
+ self.dobEdit.setObjectName(_fromUtf8("dobEdit"))
+ self.gridLayout_2.addWidget(self.dobEdit, 3, 1, 1, 3)
+ self.label_15 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_15.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_15.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_15.setObjectName(_fromUtf8("label_15"))
+ self.gridLayout_2.addWidget(self.label_15, 3, 4, 1, 1)
+ self.label_10 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.gridLayout_2.addWidget(self.label_10, 7, 0, 1, 1)
+ self.townEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.townEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.townEdit.setMaxLength(30)
+ self.townEdit.setObjectName(_fromUtf8("townEdit"))
+ self.gridLayout_2.addWidget(self.townEdit, 7, 1, 1, 3)
+ self.label_55 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_55.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_55.setObjectName(_fromUtf8("label_55"))
+ self.gridLayout_2.addWidget(self.label_55, 7, 4, 3, 1)
+ self.memoEdit = QtGui.QTextEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.memoEdit.sizePolicy().hasHeightForWidth())
+ self.memoEdit.setSizePolicy(sizePolicy)
+ self.memoEdit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.memoEdit.setAcceptRichText(False)
+ self.memoEdit.setObjectName(_fromUtf8("memoEdit"))
+ self.gridLayout_2.addWidget(self.memoEdit, 7, 5, 3, 3)
+ self.label_19 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_19.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_19.setObjectName(_fromUtf8("label_19"))
+ self.gridLayout_2.addWidget(self.label_19, 8, 0, 1, 1)
+ self.label_16 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_16.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_16.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_16.setObjectName(_fromUtf8("label_16"))
+ self.gridLayout_2.addWidget(self.label_16, 4, 4, 1, 1)
+ self.email1Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.email1Edit.sizePolicy().hasHeightForWidth())
+ self.email1Edit.setSizePolicy(sizePolicy)
+ self.email1Edit.setMinimumSize(QtCore.QSize(150, 0))
+ self.email1Edit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.email1Edit.setMaxLength(50)
+ self.email1Edit.setObjectName(_fromUtf8("email1Edit"))
+ self.gridLayout_2.addWidget(self.email1Edit, 4, 5, 1, 2)
+ self.email1_button = QtGui.QPushButton(self.patientEdit_groupBox)
+ self.email1_button.setEnabled(True)
+ self.email1_button.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.email1_button.setIcon(icon8)
+ self.email1_button.setIconSize(QtCore.QSize(8, 8))
+ self.email1_button.setObjectName(_fromUtf8("email1_button"))
+ self.gridLayout_2.addWidget(self.email1_button, 4, 7, 1, 1)
+ self.addr3Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.addr3Edit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.addr3Edit.setMaxLength(30)
+ self.addr3Edit.setObjectName(_fromUtf8("addr3Edit"))
+ self.gridLayout_2.addWidget(self.addr3Edit, 6, 1, 1, 3)
+ self.label_25 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_25.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_25.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_25.setObjectName(_fromUtf8("label_25"))
+ self.gridLayout_2.addWidget(self.label_25, 6, 4, 1, 1)
+ self.occupationEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.occupationEdit.sizePolicy().hasHeightForWidth())
+ self.occupationEdit.setSizePolicy(sizePolicy)
+ self.occupationEdit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.occupationEdit.setMaxLength(30)
+ self.occupationEdit.setObjectName(_fromUtf8("occupationEdit"))
+ self.gridLayout_2.addWidget(self.occupationEdit, 6, 5, 1, 3)
+ self.label = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+ self.label_3 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
+ self.snameEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.snameEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.snameEdit.setAutoFillBackground(False)
+ self.snameEdit.setMaxLength(30)
+ self.snameEdit.setObjectName(_fromUtf8("snameEdit"))
+ self.gridLayout_2.addWidget(self.snameEdit, 2, 1, 1, 3)
+ self.label_14 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_14.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_14.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_14.setObjectName(_fromUtf8("label_14"))
+ self.gridLayout_2.addWidget(self.label_14, 2, 4, 1, 1)
+ self.label_5 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout_2.addWidget(self.label_5, 5, 0, 1, 1)
+ self.addr2Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.addr2Edit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.addr2Edit.setMaxLength(30)
+ self.addr2Edit.setObjectName(_fromUtf8("addr2Edit"))
+ self.gridLayout_2.addWidget(self.addr2Edit, 5, 1, 1, 3)
+ self.email2Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.email2Edit.sizePolicy().hasHeightForWidth())
+ self.email2Edit.setSizePolicy(sizePolicy)
+ self.email2Edit.setMinimumSize(QtCore.QSize(150, 0))
+ self.email2Edit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.email2Edit.setMaxLength(50)
+ self.email2Edit.setObjectName(_fromUtf8("email2Edit"))
+ self.gridLayout_2.addWidget(self.email2Edit, 5, 5, 1, 2)
+ self.email2_button = QtGui.QPushButton(self.patientEdit_groupBox)
+ self.email2_button.setEnabled(True)
+ self.email2_button.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.email2_button.setIcon(icon8)
+ self.email2_button.setIconSize(QtCore.QSize(8, 8))
+ self.email2_button.setObjectName(_fromUtf8("email2_button"))
+ self.gridLayout_2.addWidget(self.email2_button, 5, 7, 1, 1)
+ self.titleEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.titleEdit.setMaximumSize(QtCore.QSize(101, 16777215))
+ self.titleEdit.setMaxLength(30)
+ self.titleEdit.setObjectName(_fromUtf8("titleEdit"))
+ self.gridLayout_2.addWidget(self.titleEdit, 0, 1, 1, 1)
+ self.label_17 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_17.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_17.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_17.setObjectName(_fromUtf8("label_17"))
+ self.gridLayout_2.addWidget(self.label_17, 0, 2, 1, 1)
+ self.sexEdit = QtGui.QComboBox(self.patientEdit_groupBox)
+ self.sexEdit.setMinimumSize(QtCore.QSize(50, 0))
+ self.sexEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.sexEdit.setObjectName(_fromUtf8("sexEdit"))
+ self.sexEdit.addItem(_fromUtf8(""))
+ self.sexEdit.addItem(_fromUtf8(""))
+ self.gridLayout_2.addWidget(self.sexEdit, 0, 3, 1, 1)
+ self.countyEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.countyEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.countyEdit.setMaxLength(30)
+ self.countyEdit.setObjectName(_fromUtf8("countyEdit"))
+ self.gridLayout_2.addWidget(self.countyEdit, 8, 1, 1, 3)
+ self.label_6 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout_2.addWidget(self.label_6, 9, 0, 1, 1)
+ self.label_12 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_12.setMaximumSize(QtCore.QSize(16777215, 25))
+ self.label_12.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_12.setObjectName(_fromUtf8("label_12"))
+ self.gridLayout_2.addWidget(self.label_12, 0, 4, 1, 1)
+ self.pushButton = QtGui.QPushButton(self.patientEdit_groupBox)
+ self.pushButton.setEnabled(False)
+ self.pushButton.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.pushButton.setIcon(icon8)
+ self.pushButton.setIconSize(QtCore.QSize(8, 8))
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.gridLayout_2.addWidget(self.pushButton, 3, 7, 1, 1)
+ self.label_4 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout_2.addWidget(self.label_4, 4, 0, 1, 1)
+ self.addr1Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.addr1Edit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.addr1Edit.setMaxLength(30)
+ self.addr1Edit.setObjectName(_fromUtf8("addr1Edit"))
+ self.gridLayout_2.addWidget(self.addr1Edit, 4, 1, 1, 3)
+ self.pcdeEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.pcdeEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.pcdeEdit.setMaxLength(30)
+ self.pcdeEdit.setObjectName(_fromUtf8("pcdeEdit"))
+ self.gridLayout_2.addWidget(self.pcdeEdit, 9, 1, 1, 3)
+ self.label_2 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+ self.fnameEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ self.fnameEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.fnameEdit.setAutoFillBackground(False)
+ self.fnameEdit.setMaxLength(30)
+ self.fnameEdit.setObjectName(_fromUtf8("fnameEdit"))
+ self.gridLayout_2.addWidget(self.fnameEdit, 1, 1, 1, 3)
+ self.label_13 = QtGui.QLabel(self.patientEdit_groupBox)
+ self.label_13.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_13.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_13.setObjectName(_fromUtf8("label_13"))
+ self.gridLayout_2.addWidget(self.label_13, 1, 4, 1, 1)
+ self.tel1Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.tel1Edit.sizePolicy().hasHeightForWidth())
+ self.tel1Edit.setSizePolicy(sizePolicy)
+ self.tel1Edit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.tel1Edit.setMaxLength(30)
+ self.tel1Edit.setObjectName(_fromUtf8("tel1Edit"))
+ self.gridLayout_2.addWidget(self.tel1Edit, 0, 5, 1, 2)
+ self.faxEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.faxEdit.sizePolicy().hasHeightForWidth())
+ self.faxEdit.setSizePolicy(sizePolicy)
+ self.faxEdit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.faxEdit.setMaxLength(30)
+ self.faxEdit.setObjectName(_fromUtf8("faxEdit"))
+ self.gridLayout_2.addWidget(self.faxEdit, 3, 5, 1, 2)
+ self.mobileEdit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.mobileEdit.sizePolicy().hasHeightForWidth())
+ self.mobileEdit.setSizePolicy(sizePolicy)
+ self.mobileEdit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.mobileEdit.setMaxLength(30)
+ self.mobileEdit.setObjectName(_fromUtf8("mobileEdit"))
+ self.gridLayout_2.addWidget(self.mobileEdit, 2, 5, 1, 2)
+ self.tel2Edit = QtGui.QLineEdit(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.tel2Edit.sizePolicy().hasHeightForWidth())
+ self.tel2Edit.setSizePolicy(sizePolicy)
+ self.tel2Edit.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.tel2Edit.setMaxLength(30)
+ self.tel2Edit.setObjectName(_fromUtf8("tel2Edit"))
+ self.gridLayout_2.addWidget(self.tel2Edit, 1, 5, 1, 2)
+ self.highlighted_fields_label = QtGui.QLabel(self.patientEdit_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.highlighted_fields_label.sizePolicy().hasHeightForWidth())
+ self.highlighted_fields_label.setSizePolicy(sizePolicy)
+ self.highlighted_fields_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.highlighted_fields_label.setObjectName(_fromUtf8("highlighted_fields_label"))
+ self.gridLayout_2.addWidget(self.highlighted_fields_label, 10, 0, 1, 8)
+ self.verticalLayout_6.addWidget(self.patientEdit_groupBox)
+ self.family_groupBox = QtGui.QGroupBox(self.scrollAreaWidgetContents_7)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.family_groupBox.sizePolicy().hasHeightForWidth())
+ self.family_groupBox.setSizePolicy(sizePolicy)
+ self.family_groupBox.setObjectName(_fromUtf8("family_groupBox"))
+ self.gridLayout_11 = QtGui.QGridLayout(self.family_groupBox)
+ self.gridLayout_11.setMargin(6)
+ self.gridLayout_11.setSpacing(3)
+ self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
+ self.family_button = QtGui.QPushButton(self.family_groupBox)
+ self.family_button.setEnabled(True)
+ self.family_button.setObjectName(_fromUtf8("family_button"))
+ self.gridLayout_11.addWidget(self.family_button, 1, 1, 1, 1)
+ self.family_group_label = QtGui.QLabel(self.family_groupBox)
+ self.family_group_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.family_group_label.setObjectName(_fromUtf8("family_group_label"))
+ self.gridLayout_11.addWidget(self.family_group_label, 1, 0, 1, 1)
+ self.auto_address_button = QtGui.QPushButton(self.family_groupBox)
+ self.auto_address_button.setObjectName(_fromUtf8("auto_address_button"))
+ self.gridLayout_11.addWidget(self.auto_address_button, 2, 0, 1, 2)
+ self.verticalLayout_6.addWidget(self.family_groupBox)
+ self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_7)
+ self.horizontalLayout_2.addWidget(self.scrollArea_4)
+ self.tabWidget.addTab(self.tab_patient_details, _fromUtf8(""))
+ self.tab_patient_contract = QtGui.QWidget()
+ self.tab_patient_contract.setObjectName(_fromUtf8("tab_patient_contract"))
+ self.gridLayout_13 = QtGui.QGridLayout(self.tab_patient_contract)
+ self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
+ self.label_21 = QtGui.QLabel(self.tab_patient_contract)
+ self.label_21.setObjectName(_fromUtf8("label_21"))
+ self.gridLayout_13.addWidget(self.label_21, 0, 0, 1, 2)
+ self.dnt1comboBox = QtGui.QComboBox(self.tab_patient_contract)
+ self.dnt1comboBox.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.dnt1comboBox.setObjectName(_fromUtf8("dnt1comboBox"))
+ self.gridLayout_13.addWidget(self.dnt1comboBox, 0, 2, 1, 1)
+ self.contractType_label = QtGui.QLabel(self.tab_patient_contract)
+ self.contractType_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.contractType_label.setObjectName(_fromUtf8("contractType_label"))
+ self.gridLayout_13.addWidget(self.contractType_label, 0, 3, 1, 1)
+ self.cseType_comboBox = QtGui.QComboBox(self.tab_patient_contract)
+ self.cseType_comboBox.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.cseType_comboBox.setObjectName(_fromUtf8("cseType_comboBox"))
+ self.gridLayout_13.addWidget(self.cseType_comboBox, 0, 4, 1, 1)
+ spacerItem = QtGui.QSpacerItem(368, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_13.addItem(spacerItem, 0, 5, 1, 1)
+ self.frame_19 = QtGui.QFrame(self.tab_patient_contract)
+ self.frame_19.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_19.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_19.setObjectName(_fromUtf8("frame_19"))
+ self.verticalLayout_17 = QtGui.QVBoxLayout(self.frame_19)
+ self.verticalLayout_17.setObjectName(_fromUtf8("verticalLayout_17"))
+ self.label_40 = QtGui.QLabel(self.frame_19)
+ self.label_40.setObjectName(_fromUtf8("label_40"))
+ self.verticalLayout_17.addWidget(self.label_40)
+ self.status_comboBox = QtGui.QComboBox(self.frame_19)
+ self.status_comboBox.setObjectName(_fromUtf8("status_comboBox"))
+ self.verticalLayout_17.addWidget(self.status_comboBox)
+ spacerItem1 = QtGui.QSpacerItem(20, 242, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_17.addItem(spacerItem1)
+ self.badDebt_pushButton = QtGui.QPushButton(self.frame_19)
+ self.badDebt_pushButton.setEnabled(False)
+ self.badDebt_pushButton.setObjectName(_fromUtf8("badDebt_pushButton"))
+ self.verticalLayout_17.addWidget(self.badDebt_pushButton)
+ self.gridLayout_13.addWidget(self.frame_19, 1, 0, 1, 1)
+ self.contract_tabWidget = QtGui.QTabWidget(self.tab_patient_contract)
+ self.contract_tabWidget.setObjectName(_fromUtf8("contract_tabWidget"))
+ self.tab_18 = QtGui.QWidget()
+ self.tab_18.setObjectName(_fromUtf8("tab_18"))
+ self.gridLayout_26 = QtGui.QGridLayout(self.tab_18)
+ self.gridLayout_26.setObjectName(_fromUtf8("gridLayout_26"))
+ self.contractHDP_label_2 = QtGui.QLabel(self.tab_18)
+ self.contractHDP_label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.contractHDP_label_2.setWordWrap(True)
+ self.contractHDP_label_2.setObjectName(_fromUtf8("contractHDP_label_2"))
+ self.gridLayout_26.addWidget(self.contractHDP_label_2, 0, 0, 2, 1)
+ self.label_38 = QtGui.QLabel(self.tab_18)
+ self.label_38.setText(_fromUtf8(""))
+ self.label_38.setPixmap(QtGui.QPixmap(_fromUtf8(":/private.png")))
+ self.label_38.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_38.setObjectName(_fromUtf8("label_38"))
+ self.gridLayout_26.addWidget(self.label_38, 0, 1, 1, 1)
+ spacerItem2 = QtGui.QSpacerItem(147, 281, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_26.addItem(spacerItem2, 1, 1, 1, 1)
+ self.editPriv_pushButton = QtGui.QPushButton(self.tab_18)
+ self.editPriv_pushButton.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.editPriv_pushButton.setObjectName(_fromUtf8("editPriv_pushButton"))
+ self.gridLayout_26.addWidget(self.editPriv_pushButton, 2, 1, 1, 1)
+ self.contract_tabWidget.addTab(self.tab_18, _fromUtf8(""))
+ self.tab_19 = QtGui.QWidget()
+ self.tab_19.setObjectName(_fromUtf8("tab_19"))
+ self.gridLayout_25 = QtGui.QGridLayout(self.tab_19)
+ self.gridLayout_25.setObjectName(_fromUtf8("gridLayout_25"))
+ self.contractHDP_label = QtGui.QLabel(self.tab_19)
+ self.contractHDP_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.contractHDP_label.setWordWrap(True)
+ self.contractHDP_label.setObjectName(_fromUtf8("contractHDP_label"))
+ self.gridLayout_25.addWidget(self.contractHDP_label, 0, 0, 2, 1)
+ spacerItem3 = QtGui.QSpacerItem(108, 162, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_25.addItem(spacerItem3, 1, 1, 1, 1)
+ self.editHDP_pushButton = QtGui.QPushButton(self.tab_19)
+ self.editHDP_pushButton.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.editHDP_pushButton.setObjectName(_fromUtf8("editHDP_pushButton"))
+ self.gridLayout_25.addWidget(self.editHDP_pushButton, 2, 1, 1, 1)
+ self.label_20 = QtGui.QLabel(self.tab_19)
+ self.label_20.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.label_20.setText(_fromUtf8(""))
+ self.label_20.setPixmap(QtGui.QPixmap(_fromUtf8(":/hdp.png")))
+ self.label_20.setObjectName(_fromUtf8("label_20"))
+ self.gridLayout_25.addWidget(self.label_20, 0, 1, 1, 1)
+ self.contract_tabWidget.addTab(self.tab_19, _fromUtf8(""))
+ self.tab_20 = QtGui.QWidget()
+ self.tab_20.setObjectName(_fromUtf8("tab_20"))
+ self.gridLayout_24 = QtGui.QGridLayout(self.tab_20)
+ self.gridLayout_24.setObjectName(_fromUtf8("gridLayout_24"))
+ self.contractNHS_label = QtGui.QLabel(self.tab_20)
+ self.contractNHS_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.contractNHS_label.setWordWrap(True)
+ self.contractNHS_label.setObjectName(_fromUtf8("contractNHS_label"))
+ self.gridLayout_24.addWidget(self.contractNHS_label, 0, 0, 1, 1)
+ self.verticalLayout_26 = QtGui.QVBoxLayout()
+ self.verticalLayout_26.setObjectName(_fromUtf8("verticalLayout_26"))
+ self.label_8 = QtGui.QLabel(self.tab_20)
+ self.label_8.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.label_8.setText(_fromUtf8(""))
+ self.label_8.setPixmap(QtGui.QPixmap(_fromUtf8(":/nhs_scot.png")))
+ self.label_8.setScaledContents(True)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.verticalLayout_26.addWidget(self.label_8)
+ self.nhsclaims_pushButton = QtGui.QPushButton(self.tab_20)
+ self.nhsclaims_pushButton.setObjectName(_fromUtf8("nhsclaims_pushButton"))
+ self.verticalLayout_26.addWidget(self.nhsclaims_pushButton)
+ spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_26.addItem(spacerItem4)
+ self.editNHS_pushButton = QtGui.QPushButton(self.tab_20)
+ self.editNHS_pushButton.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.editNHS_pushButton.setObjectName(_fromUtf8("editNHS_pushButton"))
+ self.verticalLayout_26.addWidget(self.editNHS_pushButton)
+ self.gridLayout_24.addLayout(self.verticalLayout_26, 0, 1, 2, 1)
+ self.gridLayout_23 = QtGui.QGridLayout()
+ self.gridLayout_23.setObjectName(_fromUtf8("gridLayout_23"))
+ self.label_46 = QtGui.QLabel(self.tab_20)
+ self.label_46.setObjectName(_fromUtf8("label_46"))
+ self.gridLayout_23.addWidget(self.label_46, 0, 0, 1, 1)
+ self.exemption_lineEdit = QtGui.QLineEdit(self.tab_20)
+ self.exemption_lineEdit.setMaxLength(10)
+ self.exemption_lineEdit.setObjectName(_fromUtf8("exemption_lineEdit"))
+ self.gridLayout_23.addWidget(self.exemption_lineEdit, 0, 1, 1, 1)
+ self.label_48 = QtGui.QLabel(self.tab_20)
+ self.label_48.setObjectName(_fromUtf8("label_48"))
+ self.gridLayout_23.addWidget(self.label_48, 1, 0, 1, 1)
+ self.exempttext_lineEdit = QtGui.QLineEdit(self.tab_20)
+ self.exempttext_lineEdit.setMaxLength(50)
+ self.exempttext_lineEdit.setObjectName(_fromUtf8("exempttext_lineEdit"))
+ self.gridLayout_23.addWidget(self.exempttext_lineEdit, 1, 1, 1, 1)
+ self.gridLayout_24.addLayout(self.gridLayout_23, 1, 0, 1, 1)
+ self.contract_tabWidget.addTab(self.tab_20, _fromUtf8(""))
+ self.tab_21 = QtGui.QWidget()
+ self.tab_21.setObjectName(_fromUtf8("tab_21"))
+ self.gridLayout_27 = QtGui.QGridLayout(self.tab_21)
+ self.gridLayout_27.setObjectName(_fromUtf8("gridLayout_27"))
+ self.contractHDP_label_3 = QtGui.QLabel(self.tab_21)
+ self.contractHDP_label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.contractHDP_label_3.setWordWrap(True)
+ self.contractHDP_label_3.setObjectName(_fromUtf8("contractHDP_label_3"))
+ self.gridLayout_27.addWidget(self.contractHDP_label_3, 0, 0, 2, 1)
+ spacerItem5 = QtGui.QSpacerItem(147, 281, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_27.addItem(spacerItem5, 1, 1, 1, 1)
+ self.editRegDent_pushButton = QtGui.QPushButton(self.tab_21)
+ self.editRegDent_pushButton.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.editRegDent_pushButton.setObjectName(_fromUtf8("editRegDent_pushButton"))
+ self.gridLayout_27.addWidget(self.editRegDent_pushButton, 2, 1, 1, 1)
+ self.contract_tabWidget.addTab(self.tab_21, _fromUtf8(""))
+ self.gridLayout_13.addWidget(self.contract_tabWidget, 1, 1, 1, 5)
+ self.tabWidget.addTab(self.tab_patient_contract, _fromUtf8(""))
+ self.tab_patient_correspondence = QtGui.QWidget()
+ self.tab_patient_correspondence.setObjectName(_fromUtf8("tab_patient_correspondence"))
+ self.horizontalLayout_11 = QtGui.QHBoxLayout(self.tab_patient_correspondence)
+ self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
+ self.scrollArea_5 = QtGui.QScrollArea(self.tab_patient_correspondence)
+ self.scrollArea_5.setWidgetResizable(True)
+ self.scrollArea_5.setObjectName(_fromUtf8("scrollArea_5"))
+ self.scrollAreaWidgetContents_8 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_8.setGeometry(QtCore.QRect(0, 0, 441, 423))
+ self.scrollAreaWidgetContents_8.setObjectName(_fromUtf8("scrollAreaWidgetContents_8"))
+ self.gridLayout = QtGui.QGridLayout(self.scrollAreaWidgetContents_8)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.groupBox_6 = QtGui.QGroupBox(self.scrollAreaWidgetContents_8)
+ self.groupBox_6.setObjectName(_fromUtf8("groupBox_6"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_6)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.standardLetterPushButton = QtGui.QPushButton(self.groupBox_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.standardLetterPushButton.sizePolicy().hasHeightForWidth())
+ self.standardLetterPushButton.setSizePolicy(sizePolicy)
+ self.standardLetterPushButton.setObjectName(_fromUtf8("standardLetterPushButton"))
+ self.verticalLayout_3.addWidget(self.standardLetterPushButton)
+ self.printRecall_pushButton = QtGui.QPushButton(self.groupBox_6)
+ self.printRecall_pushButton.setObjectName(_fromUtf8("printRecall_pushButton"))
+ self.verticalLayout_3.addWidget(self.printRecall_pushButton)
+ self.receiptPrintButton = QtGui.QPushButton(self.groupBox_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.receiptPrintButton.sizePolicy().hasHeightForWidth())
+ self.receiptPrintButton.setSizePolicy(sizePolicy)
+ self.receiptPrintButton.setMaximumSize(QtCore.QSize(16777215, 32))
+ self.receiptPrintButton.setObjectName(_fromUtf8("receiptPrintButton"))
+ self.verticalLayout_3.addWidget(self.receiptPrintButton)
+ self.account2_pushButton = QtGui.QPushButton(self.groupBox_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.account2_pushButton.sizePolicy().hasHeightForWidth())
+ self.account2_pushButton.setSizePolicy(sizePolicy)
+ self.account2_pushButton.setObjectName(_fromUtf8("account2_pushButton"))
+ self.verticalLayout_3.addWidget(self.account2_pushButton)
+ self.gridLayout.addWidget(self.groupBox_6, 0, 0, 1, 2)
+ self.groupBox_7 = QtGui.QGroupBox(self.scrollAreaWidgetContents_8)
+ self.groupBox_7.setObjectName(_fromUtf8("groupBox_7"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.groupBox_7)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.referralLettersComboBox = QtGui.QComboBox(self.groupBox_7)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.referralLettersComboBox.sizePolicy().hasHeightForWidth())
+ self.referralLettersComboBox.setSizePolicy(sizePolicy)
+ self.referralLettersComboBox.setMinimumSize(QtCore.QSize(240, 0))
+ self.referralLettersComboBox.setObjectName(_fromUtf8("referralLettersComboBox"))
+ self.verticalLayout_4.addWidget(self.referralLettersComboBox)
+ self.referralLettersPrintButton = QtGui.QPushButton(self.groupBox_7)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.referralLettersPrintButton.sizePolicy().hasHeightForWidth())
+ self.referralLettersPrintButton.setSizePolicy(sizePolicy)
+ self.referralLettersPrintButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.referralLettersPrintButton.setObjectName(_fromUtf8("referralLettersPrintButton"))
+ self.verticalLayout_4.addWidget(self.referralLettersPrintButton)
+ self.gridLayout.addWidget(self.groupBox_7, 1, 0, 1, 2)
+ self.groupBox_8 = QtGui.QGroupBox(self.scrollAreaWidgetContents_8)
+ self.groupBox_8.setObjectName(_fromUtf8("groupBox_8"))
+ self.verticalLayout_7 = QtGui.QVBoxLayout(self.groupBox_8)
+ self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
+ self.notesPrintButton = QtGui.QPushButton(self.groupBox_8)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.notesPrintButton.sizePolicy().hasHeightForWidth())
+ self.notesPrintButton.setSizePolicy(sizePolicy)
+ self.notesPrintButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.notesPrintButton.setObjectName(_fromUtf8("notesPrintButton"))
+ self.verticalLayout_7.addWidget(self.notesPrintButton)
+ self.gridLayout.addWidget(self.groupBox_8, 5, 0, 1, 2)
+ self.groupBox_3 = QtGui.QGroupBox(self.scrollAreaWidgetContents_8)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.groupBox_3.sizePolicy().hasHeightForWidth())
+ self.groupBox_3.setSizePolicy(sizePolicy)
+ self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
+ self.verticalLayout_21 = QtGui.QVBoxLayout(self.groupBox_3)
+ self.verticalLayout_21.setObjectName(_fromUtf8("verticalLayout_21"))
+ self.label_44 = QtGui.QLabel(self.groupBox_3)
+ self.label_44.setObjectName(_fromUtf8("label_44"))
+ self.verticalLayout_21.addWidget(self.label_44)
+ self.prevCorres_treeWidget = QtGui.QTreeWidget(self.groupBox_3)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.prevCorres_treeWidget.sizePolicy().hasHeightForWidth())
+ self.prevCorres_treeWidget.setSizePolicy(sizePolicy)
+ self.prevCorres_treeWidget.setAlternatingRowColors(True)
+ self.prevCorres_treeWidget.setAnimated(True)
+ self.prevCorres_treeWidget.setObjectName(_fromUtf8("prevCorres_treeWidget"))
+ self.verticalLayout_21.addWidget(self.prevCorres_treeWidget)
+ self.label_45 = QtGui.QLabel(self.groupBox_3)
+ self.label_45.setObjectName(_fromUtf8("label_45"))
+ self.verticalLayout_21.addWidget(self.label_45)
+ self.importDoc_treeWidget = QtGui.QTreeWidget(self.groupBox_3)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.importDoc_treeWidget.sizePolicy().hasHeightForWidth())
+ self.importDoc_treeWidget.setSizePolicy(sizePolicy)
+ self.importDoc_treeWidget.setObjectName(_fromUtf8("importDoc_treeWidget"))
+ self.importDoc_treeWidget.headerItem().setText(0, _fromUtf8("1"))
+ self.verticalLayout_21.addWidget(self.importDoc_treeWidget)
+ self.importDoc_pushButton = QtGui.QPushButton(self.groupBox_3)
+ self.importDoc_pushButton.setObjectName(_fromUtf8("importDoc_pushButton"))
+ self.verticalLayout_21.addWidget(self.importDoc_pushButton)
+ self.gridLayout.addWidget(self.groupBox_3, 0, 2, 6, 1)
+ spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem6, 3, 0, 2, 2)
+ self.groupBox_9 = QtGui.QGroupBox(self.scrollAreaWidgetContents_8)
+ self.groupBox_9.setObjectName(_fromUtf8("groupBox_9"))
+ self.verticalLayout_19 = QtGui.QVBoxLayout(self.groupBox_9)
+ self.verticalLayout_19.setObjectName(_fromUtf8("verticalLayout_19"))
+ self.medicalPrintButton = QtGui.QPushButton(self.groupBox_9)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.medicalPrintButton.sizePolicy().hasHeightForWidth())
+ self.medicalPrintButton.setSizePolicy(sizePolicy)
+ self.medicalPrintButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.medicalPrintButton.setObjectName(_fromUtf8("medicalPrintButton"))
+ self.verticalLayout_19.addWidget(self.medicalPrintButton)
+ self.gridLayout.addWidget(self.groupBox_9, 2, 0, 1, 2)
+ self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_8)
+ self.horizontalLayout_11.addWidget(self.scrollArea_5)
+ self.tabWidget.addTab(self.tab_patient_correspondence, _fromUtf8(""))
+ self.tab_patient_reception = QtGui.QWidget()
+ self.tab_patient_reception.setObjectName(_fromUtf8("tab_patient_reception"))
+ self.verticalLayout_24 = QtGui.QVBoxLayout(self.tab_patient_reception)
+ self.verticalLayout_24.setSpacing(0)
+ self.verticalLayout_24.setMargin(0)
+ self.verticalLayout_24.setObjectName(_fromUtf8("verticalLayout_24"))
+ self.scrollArea_2 = QtGui.QScrollArea(self.tab_patient_reception)
+ self.scrollArea_2.setFrameShape(QtGui.QFrame.NoFrame)
+ self.scrollArea_2.setWidgetResizable(True)
+ self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
+ self.scrollAreaWidgetContents_5 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 303, 471))
+ self.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
+ self.horizontalLayout_26 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents_5)
+ self.horizontalLayout_26.setSpacing(3)
+ self.horizontalLayout_26.setMargin(0)
+ self.horizontalLayout_26.setObjectName(_fromUtf8("horizontalLayout_26"))
+ self.verticalLayout_32 = QtGui.QVBoxLayout()
+ self.verticalLayout_32.setSpacing(3)
+ self.verticalLayout_32.setObjectName(_fromUtf8("verticalLayout_32"))
+ self.splitter_2 = QtGui.QSplitter(self.scrollAreaWidgetContents_5)
+ self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
+ self.reception_groupBox = QtGui.QGroupBox(self.splitter_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.reception_groupBox.sizePolicy().hasHeightForWidth())
+ self.reception_groupBox.setSizePolicy(sizePolicy)
+ self.reception_groupBox.setMinimumSize(QtCore.QSize(0, 0))
+ self.reception_groupBox.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.reception_groupBox.setObjectName(_fromUtf8("reception_groupBox"))
+ self.horizontalLayout_32 = QtGui.QHBoxLayout(self.reception_groupBox)
+ self.horizontalLayout_32.setSpacing(3)
+ self.horizontalLayout_32.setMargin(3)
+ self.horizontalLayout_32.setObjectName(_fromUtf8("horizontalLayout_32"))
+ self.gridLayout_3 = QtGui.QGridLayout()
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.NHSadmin_groupBox = QtGui.QGroupBox(self.reception_groupBox)
+ self.NHSadmin_groupBox.setObjectName(_fromUtf8("NHSadmin_groupBox"))
+ self.verticalLayout_27 = QtGui.QVBoxLayout(self.NHSadmin_groupBox)
+ self.verticalLayout_27.setSpacing(3)
+ self.verticalLayout_27.setMargin(3)
+ self.verticalLayout_27.setObjectName(_fromUtf8("verticalLayout_27"))
+ self.printGP17_pushButton = QtGui.QPushButton(self.NHSadmin_groupBox)
+ self.printGP17_pushButton.setObjectName(_fromUtf8("printGP17_pushButton"))
+ self.verticalLayout_27.addWidget(self.printGP17_pushButton)
+ self.rec_apply_exemption_pushButton = QtGui.QPushButton(self.NHSadmin_groupBox)
+ self.rec_apply_exemption_pushButton.setObjectName(_fromUtf8("rec_apply_exemption_pushButton"))
+ self.verticalLayout_27.addWidget(self.rec_apply_exemption_pushButton)
+ self.gridLayout_3.addWidget(self.NHSadmin_groupBox, 1, 1, 1, 1)
+ self.customEst_checkBox = QtGui.QCheckBox(self.reception_groupBox)
+ self.customEst_checkBox.setObjectName(_fromUtf8("customEst_checkBox"))
+ self.gridLayout_3.addWidget(self.customEst_checkBox, 3, 1, 1, 1)
+ self.printAccount_pushButton = QtGui.QPushButton(self.reception_groupBox)
+ self.printAccount_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon9 = QtGui.QIcon()
+ icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/ps.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.printAccount_pushButton.setIcon(icon9)
+ self.printAccount_pushButton.setObjectName(_fromUtf8("printAccount_pushButton"))
+ self.gridLayout_3.addWidget(self.printAccount_pushButton, 5, 1, 1, 1)
+ self.takePayment_pushButton = QtGui.QPushButton(self.reception_groupBox)
+ self.takePayment_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon10 = QtGui.QIcon()
+ icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/vcard.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.takePayment_pushButton.setIcon(icon10)
+ self.takePayment_pushButton.setObjectName(_fromUtf8("takePayment_pushButton"))
+ self.gridLayout_3.addWidget(self.takePayment_pushButton, 6, 1, 1, 1)
+ self.reception_textBrowser = QtGui.QTextBrowser(self.reception_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.reception_textBrowser.sizePolicy().hasHeightForWidth())
+ self.reception_textBrowser.setSizePolicy(sizePolicy)
+ self.reception_textBrowser.setMinimumSize(QtCore.QSize(0, 0))
+ self.reception_textBrowser.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.reception_textBrowser.setObjectName(_fromUtf8("reception_textBrowser"))
+ self.gridLayout_3.addWidget(self.reception_textBrowser, 0, 0, 7, 1)
+ self.printEst_pushButton = QtGui.QPushButton(self.reception_groupBox)
+ self.printEst_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.printEst_pushButton.setIcon(icon9)
+ self.printEst_pushButton.setObjectName(_fromUtf8("printEst_pushButton"))
+ self.gridLayout_3.addWidget(self.printEst_pushButton, 4, 1, 1, 1)
+ spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_3.addItem(spacerItem7, 2, 1, 1, 1)
+ self.horizontalLayout_32.addLayout(self.gridLayout_3)
+ self.groupBox_recnotes = QtGui.QGroupBox(self.splitter_2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.groupBox_recnotes.sizePolicy().hasHeightForWidth())
+ self.groupBox_recnotes.setSizePolicy(sizePolicy)
+ self.groupBox_recnotes.setMaximumSize(QtCore.QSize(300, 16777215))
+ self.groupBox_recnotes.setObjectName(_fromUtf8("groupBox_recnotes"))
+ self.horizontalLayout_30 = QtGui.QHBoxLayout(self.groupBox_recnotes)
+ self.horizontalLayout_30.setSpacing(3)
+ self.horizontalLayout_30.setMargin(3)
+ self.horizontalLayout_30.setObjectName(_fromUtf8("horizontalLayout_30"))
+ self.recNotes_webView = QtWebKit.QWebView(self.groupBox_recnotes)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.recNotes_webView.sizePolicy().hasHeightForWidth())
+ self.recNotes_webView.setSizePolicy(sizePolicy)
+ self.recNotes_webView.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.recNotes_webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
+ self.recNotes_webView.setObjectName(_fromUtf8("recNotes_webView"))
+ self.horizontalLayout_30.addWidget(self.recNotes_webView)
+ self.verticalLayout_32.addWidget(self.splitter_2)
+ self.pt_diary_groupBox = QtGui.QGroupBox(self.scrollAreaWidgetContents_5)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.pt_diary_groupBox.sizePolicy().hasHeightForWidth())
+ self.pt_diary_groupBox.setSizePolicy(sizePolicy)
+ self.pt_diary_groupBox.setMinimumSize(QtCore.QSize(0, 200))
+ self.pt_diary_groupBox.setMaximumSize(QtCore.QSize(16777215, 200))
+ self.pt_diary_groupBox.setObjectName(_fromUtf8("pt_diary_groupBox"))
+ self.horizontalLayout_34 = QtGui.QHBoxLayout(self.pt_diary_groupBox)
+ self.horizontalLayout_34.setSpacing(0)
+ self.horizontalLayout_34.setMargin(0)
+ self.horizontalLayout_34.setObjectName(_fromUtf8("horizontalLayout_34"))
+ self.verticalLayout_32.addWidget(self.pt_diary_groupBox)
+ self.horizontalLayout_26.addLayout(self.verticalLayout_32)
+ self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_5)
+ self.verticalLayout_24.addWidget(self.scrollArea_2)
+ self.tabWidget.addTab(self.tab_patient_reception, _fromUtf8(""))
+ self.tab_patient_summary = QtGui.QWidget()
+ self.tab_patient_summary.setObjectName(_fromUtf8("tab_patient_summary"))
+ self.horizontalLayout_12 = QtGui.QHBoxLayout(self.tab_patient_summary)
+ self.horizontalLayout_12.setSpacing(3)
+ self.horizontalLayout_12.setMargin(3)
+ self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
+ self.scrollArea_6 = QtGui.QScrollArea(self.tab_patient_summary)
+ self.scrollArea_6.setFrameShape(QtGui.QFrame.NoFrame)
+ self.scrollArea_6.setWidgetResizable(True)
+ self.scrollArea_6.setObjectName(_fromUtf8("scrollArea_6"))
+ self.scrollAreaWidgetContents_9 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_9.setGeometry(QtCore.QRect(0, 0, 846, 456))
+ self.scrollAreaWidgetContents_9.setObjectName(_fromUtf8("scrollAreaWidgetContents_9"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.scrollAreaWidgetContents_9)
+ self.gridLayout_4.setMargin(0)
+ self.gridLayout_4.setSpacing(6)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.staticSummaryPanel = QtGui.QFrame(self.scrollAreaWidgetContents_9)
+ self.staticSummaryPanel.setMinimumSize(QtCore.QSize(0, 180))
+ self.staticSummaryPanel.setMaximumSize(QtCore.QSize(16777215, 180))
+ font = QtGui.QFont()
+ font.setPointSize(10)
+ self.staticSummaryPanel.setFont(font)
+ self.staticSummaryPanel.setAutoFillBackground(False)
+ self.staticSummaryPanel.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.staticSummaryPanel.setFrameShadow(QtGui.QFrame.Raised)
+ self.staticSummaryPanel.setObjectName(_fromUtf8("staticSummaryPanel"))
+ self.gridLayout_4.addWidget(self.staticSummaryPanel, 0, 0, 1, 2)
+ self.synopsis_lineEdit = QtGui.QLineEdit(self.scrollAreaWidgetContents_9)
+ font = QtGui.QFont()
+ font.setPointSize(10)
+ font.setBold(True)
+ font.setItalic(True)
+ font.setWeight(75)
+ self.synopsis_lineEdit.setFont(font)
+ self.synopsis_lineEdit.setWhatsThis(_fromUtf8(""))
+ self.synopsis_lineEdit.setStyleSheet(_fromUtf8("color:red"))
+ self.synopsis_lineEdit.setMaxLength(140)
+ self.synopsis_lineEdit.setObjectName(_fromUtf8("synopsis_lineEdit"))
+ self.gridLayout_4.addWidget(self.synopsis_lineEdit, 1, 0, 1, 2)
+ self.notesSummary_webView = QtWebKit.QWebView(self.scrollAreaWidgetContents_9)
+ self.notesSummary_webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
+ self.notesSummary_webView.setObjectName(_fromUtf8("notesSummary_webView"))
+ self.gridLayout_4.addWidget(self.notesSummary_webView, 2, 0, 2, 1)
+ self.bpe_groupBox = QtGui.QGroupBox(self.scrollAreaWidgetContents_9)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.bpe_groupBox.sizePolicy().hasHeightForWidth())
+ self.bpe_groupBox.setSizePolicy(sizePolicy)
+ self.bpe_groupBox.setMaximumSize(QtCore.QSize(145, 135))
+ self.bpe_groupBox.setObjectName(_fromUtf8("bpe_groupBox"))
+ self.verticalLayout_8 = QtGui.QVBoxLayout(self.bpe_groupBox)
+ self.verticalLayout_8.setContentsMargins(3, 3, 9, 3)
+ self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8"))
+ self.bpe_textBrowser = QtGui.QTextBrowser(self.bpe_groupBox)
+ self.bpe_textBrowser.setMinimumSize(QtCore.QSize(0, 0))
+ self.bpe_textBrowser.setMaximumSize(QtCore.QSize(16777215, 65))
+ self.bpe_textBrowser.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.bpe_textBrowser.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.bpe_textBrowser.setObjectName(_fromUtf8("bpe_textBrowser"))
+ self.verticalLayout_8.addWidget(self.bpe_textBrowser)
+ self.newBPE_pushButton = QtGui.QPushButton(self.bpe_groupBox)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.newBPE_pushButton.sizePolicy().hasHeightForWidth())
+ self.newBPE_pushButton.setSizePolicy(sizePolicy)
+ self.newBPE_pushButton.setObjectName(_fromUtf8("newBPE_pushButton"))
+ self.verticalLayout_8.addWidget(self.newBPE_pushButton)
+ self.gridLayout_4.addWidget(self.bpe_groupBox, 2, 1, 1, 1)
+ self.planSummary_textBrowser = QtGui.QTextBrowser(self.scrollAreaWidgetContents_9)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.planSummary_textBrowser.sizePolicy().hasHeightForWidth())
+ self.planSummary_textBrowser.setSizePolicy(sizePolicy)
+ self.planSummary_textBrowser.setMaximumSize(QtCore.QSize(150, 16777215))
+ self.planSummary_textBrowser.setObjectName(_fromUtf8("planSummary_textBrowser"))
+ self.gridLayout_4.addWidget(self.planSummary_textBrowser, 3, 1, 1, 1)
+ self.horizontalLayout_13 = QtGui.QHBoxLayout()
+ self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13"))
+ self.exampushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.exampushButton.setMaximumSize(QtCore.QSize(16777215, 28))
+ self.exampushButton.setObjectName(_fromUtf8("exampushButton"))
+ self.horizontalLayout_13.addWidget(self.exampushButton)
+ self.xray_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.xray_pushButton.setObjectName(_fromUtf8("xray_pushButton"))
+ self.horizontalLayout_13.addWidget(self.xray_pushButton)
+ self.hygWizard_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.hygWizard_pushButton.setObjectName(_fromUtf8("hygWizard_pushButton"))
+ self.horizontalLayout_13.addWidget(self.hygWizard_pushButton)
+ self.line_4 = QtGui.QFrame(self.scrollAreaWidgetContents_9)
+ self.line_4.setFrameShape(QtGui.QFrame.VLine)
+ self.line_4.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_4.setObjectName(_fromUtf8("line_4"))
+ self.horizontalLayout_13.addWidget(self.line_4)
+ self.closeCourse_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.closeCourse_pushButton.setObjectName(_fromUtf8("closeCourse_pushButton"))
+ self.horizontalLayout_13.addWidget(self.closeCourse_pushButton)
+ spacerItem8 = QtGui.QSpacerItem(28, 17, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_13.addItem(spacerItem8)
+ self.childsmile_button = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.childsmile_button.setObjectName(_fromUtf8("childsmile_button"))
+ self.horizontalLayout_13.addWidget(self.childsmile_button)
+ spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_13.addItem(spacerItem9)
+ self.medNotes_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_9)
+ self.medNotes_pushButton.setMinimumSize(QtCore.QSize(200, 0))
+ self.medNotes_pushButton.setObjectName(_fromUtf8("medNotes_pushButton"))
+ self.horizontalLayout_13.addWidget(self.medNotes_pushButton)
+ self.gridLayout_4.addLayout(self.horizontalLayout_13, 4, 0, 1, 2)
+ self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_9)
+ self.horizontalLayout_12.addWidget(self.scrollArea_6)
+ self.tabWidget.addTab(self.tab_patient_summary, _fromUtf8(""))
+ self.tab_patient_notes = QtGui.QWidget()
+ self.tab_patient_notes.setObjectName(_fromUtf8("tab_patient_notes"))
+ self.gridLayout_6 = QtGui.QGridLayout(self.tab_patient_notes)
+ self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
+ self.notes_webView = QtWebKit.QWebView(self.tab_patient_notes)
+ self.notes_webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
+ self.notes_webView.setObjectName(_fromUtf8("notes_webView"))
+ self.gridLayout_6.addWidget(self.notes_webView, 0, 0, 1, 3)
+ self.horizontalLayout_35 = QtGui.QHBoxLayout()
+ self.horizontalLayout_35.setObjectName(_fromUtf8("horizontalLayout_35"))
+ self.label_35 = QtGui.QLabel(self.tab_patient_notes)
+ self.label_35.setObjectName(_fromUtf8("label_35"))
+ self.horizontalLayout_35.addWidget(self.label_35)
+ self.notes_includePrinting_checkBox = QtGui.QCheckBox(self.tab_patient_notes)
+ self.notes_includePrinting_checkBox.setChecked(True)
+ self.notes_includePrinting_checkBox.setObjectName(_fromUtf8("notes_includePrinting_checkBox"))
+ self.horizontalLayout_35.addWidget(self.notes_includePrinting_checkBox)
+ self.notes_includePayments_checkBox = QtGui.QCheckBox(self.tab_patient_notes)
+ self.notes_includePayments_checkBox.setChecked(True)
+ self.notes_includePayments_checkBox.setObjectName(_fromUtf8("notes_includePayments_checkBox"))
+ self.horizontalLayout_35.addWidget(self.notes_includePayments_checkBox)
+ self.notes_includeTimestamps_checkBox = QtGui.QCheckBox(self.tab_patient_notes)
+ self.notes_includeTimestamps_checkBox.setObjectName(_fromUtf8("notes_includeTimestamps_checkBox"))
+ self.horizontalLayout_35.addWidget(self.notes_includeTimestamps_checkBox)
+ self.notes_includeMetadata_checkBox = QtGui.QCheckBox(self.tab_patient_notes)
+ self.notes_includeMetadata_checkBox.setObjectName(_fromUtf8("notes_includeMetadata_checkBox"))
+ self.horizontalLayout_35.addWidget(self.notes_includeMetadata_checkBox)
+ self.gridLayout_6.addLayout(self.horizontalLayout_35, 3, 0, 1, 1)
+ spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_6.addItem(spacerItem10, 3, 1, 1, 1)
+ self.summary_notes_checkBox = QtGui.QCheckBox(self.tab_patient_notes)
+ self.summary_notes_checkBox.setObjectName(_fromUtf8("summary_notes_checkBox"))
+ self.gridLayout_6.addWidget(self.summary_notes_checkBox, 3, 2, 1, 1)
+ self.tabWidget.addTab(self.tab_patient_notes, _fromUtf8(""))
+ self.tab_patient_charts = QtGui.QWidget()
+ self.tab_patient_charts.setObjectName(_fromUtf8("tab_patient_charts"))
+ self.gridLayout_8 = QtGui.QGridLayout(self.tab_patient_charts)
+ self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
+ self.stackedWidget = QtGui.QStackedWidget(self.tab_patient_charts)
+ self.stackedWidget.setObjectName(_fromUtf8("stackedWidget"))
+ self.table = QtGui.QWidget()
+ self.table.setObjectName(_fromUtf8("table"))
+ self.horizontalLayout_4 = QtGui.QHBoxLayout(self.table)
+ self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
+ self.chartsTableWidget = QtGui.QTableWidget(self.table)
+ self.chartsTableWidget.setMaximumSize(QtCore.QSize(16777215, 500))
+ self.chartsTableWidget.setAlternatingRowColors(True)
+ self.chartsTableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectItems)
+ self.chartsTableWidget.setObjectName(_fromUtf8("chartsTableWidget"))
+ self.chartsTableWidget.setColumnCount(0)
+ self.chartsTableWidget.setRowCount(0)
+ self.horizontalLayout_4.addWidget(self.chartsTableWidget)
+ self.stackedWidget.addWidget(self.table)
+ self.charts = QtGui.QWidget()
+ self.charts.setObjectName(_fromUtf8("charts"))
+ self.gridLayout_14 = QtGui.QGridLayout(self.charts)
+ self.gridLayout_14.setMargin(3)
+ self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
+ self.completed_listView = QtGui.QListView(self.charts)
+ self.completed_listView.setMaximumSize(QtCore.QSize(120, 16777215))
+ self.completed_listView.setObjectName(_fromUtf8("completed_listView"))
+ self.gridLayout_14.addWidget(self.completed_listView, 3, 1, 1, 1)
+ self.plan_listView = QtGui.QListView(self.charts)
+ self.plan_listView.setMaximumSize(QtCore.QSize(120, 16777215))
+ self.plan_listView.setObjectName(_fromUtf8("plan_listView"))
+ self.gridLayout_14.addWidget(self.plan_listView, 2, 1, 1, 1)
+ self.static_groupBox = QtGui.QGroupBox(self.charts)
+ font = QtGui.QFont()
+ font.setKerning(True)
+ self.static_groupBox.setFont(font)
+ self.static_groupBox.setFocusPolicy(QtCore.Qt.ClickFocus)
+ self.static_groupBox.setObjectName(_fromUtf8("static_groupBox"))
+ self.gridLayout_14.addWidget(self.static_groupBox, 0, 0, 1, 1)
+ self.plan_groupBox = QtGui.QGroupBox(self.charts)
+ self.plan_groupBox.setAutoFillBackground(False)
+ self.plan_groupBox.setObjectName(_fromUtf8("plan_groupBox"))
+ self.gridLayout_14.addWidget(self.plan_groupBox, 2, 0, 1, 1)
+ self.static_frame = QtGui.QFrame(self.charts)
+ self.static_frame.setMinimumSize(QtCore.QSize(0, 120))
+ self.static_frame.setMaximumSize(QtCore.QSize(120, 16777215))
+ self.static_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.static_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.static_frame.setObjectName(_fromUtf8("static_frame"))
+ self.gridLayout_14.addWidget(self.static_frame, 0, 1, 1, 1)
+ self.completed_groupBox = QtGui.QGroupBox(self.charts)
+ self.completed_groupBox.setObjectName(_fromUtf8("completed_groupBox"))
+ self.gridLayout_14.addWidget(self.completed_groupBox, 3, 0, 1, 1)
+ self.stackedWidget.addWidget(self.charts)
+ self.gridLayout_8.addWidget(self.stackedWidget, 0, 0, 1, 1)
+ self.toothProps_frame = QtGui.QFrame(self.tab_patient_charts)
+ self.toothProps_frame.setMinimumSize(QtCore.QSize(160, 0))
+ self.toothProps_frame.setMaximumSize(QtCore.QSize(200, 16777215))
+ self.toothProps_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.toothProps_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.toothProps_frame.setObjectName(_fromUtf8("toothProps_frame"))
+ self.gridLayout_8.addWidget(self.toothProps_frame, 0, 1, 2, 1)
+ self.groupBox_4 = QtGui.QGroupBox(self.tab_patient_charts)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.groupBox_4.sizePolicy().hasHeightForWidth())
+ self.groupBox_4.setSizePolicy(sizePolicy)
+ self.groupBox_4.setMinimumSize(QtCore.QSize(0, 0))
+ self.groupBox_4.setMaximumSize(QtCore.QSize(16777215, 50))
+ self.groupBox_4.setObjectName(_fromUtf8("groupBox_4"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox_4)
+ self.verticalLayout_2.setSpacing(0)
+ self.verticalLayout_2.setMargin(0)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.plan_buttons_stacked_widget = QtGui.QStackedWidget(self.groupBox_4)
+ self.plan_buttons_stacked_widget.setObjectName(_fromUtf8("plan_buttons_stacked_widget"))
+ self.plan_buttons_page1 = QtGui.QWidget()
+ self.plan_buttons_page1.setObjectName(_fromUtf8("plan_buttons_page1"))
+ self.horizontalLayout_9 = QtGui.QHBoxLayout(self.plan_buttons_page1)
+ self.horizontalLayout_9.setMargin(0)
+ self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))
+ self.xrayTxpushButton = QtGui.QPushButton(self.plan_buttons_page1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.xrayTxpushButton.sizePolicy().hasHeightForWidth())
+ self.xrayTxpushButton.setSizePolicy(sizePolicy)
+ self.xrayTxpushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.xrayTxpushButton.setObjectName(_fromUtf8("xrayTxpushButton"))
+ self.horizontalLayout_9.addWidget(self.xrayTxpushButton)
+ self.perioTxpushButton = QtGui.QPushButton(self.plan_buttons_page1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.perioTxpushButton.sizePolicy().hasHeightForWidth())
+ self.perioTxpushButton.setSizePolicy(sizePolicy)
+ self.perioTxpushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.perioTxpushButton.setObjectName(_fromUtf8("perioTxpushButton"))
+ self.horizontalLayout_9.addWidget(self.perioTxpushButton)
+ self.dentureTxpushButton = QtGui.QPushButton(self.plan_buttons_page1)
+ self.dentureTxpushButton.setObjectName(_fromUtf8("dentureTxpushButton"))
+ self.horizontalLayout_9.addWidget(self.dentureTxpushButton)
+ self.otherTxpushButton = QtGui.QPushButton(self.plan_buttons_page1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.otherTxpushButton.sizePolicy().hasHeightForWidth())
+ self.otherTxpushButton.setSizePolicy(sizePolicy)
+ self.otherTxpushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.otherTxpushButton.setObjectName(_fromUtf8("otherTxpushButton"))
+ self.horizontalLayout_9.addWidget(self.otherTxpushButton)
+ self.customTx_pushButton = QtGui.QPushButton(self.plan_buttons_page1)
+ self.customTx_pushButton.setObjectName(_fromUtf8("customTx_pushButton"))
+ self.horizontalLayout_9.addWidget(self.customTx_pushButton)
+ self.advanced_tx_planning_button = QtGui.QPushButton(self.plan_buttons_page1)
+ self.advanced_tx_planning_button.setObjectName(_fromUtf8("advanced_tx_planning_button"))
+ self.horizontalLayout_9.addWidget(self.advanced_tx_planning_button)
+ self.plan_buttons_stacked_widget.addWidget(self.plan_buttons_page1)
+ self.plan_buttons_page2 = QtGui.QWidget()
+ self.plan_buttons_page2.setObjectName(_fromUtf8("plan_buttons_page2"))
+ self.horizontalLayout_10 = QtGui.QHBoxLayout(self.plan_buttons_page2)
+ self.horizontalLayout_10.setSpacing(12)
+ self.horizontalLayout_10.setMargin(0)
+ self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10"))
+ self.plan_course_manage_button = QtGui.QPushButton(self.plan_buttons_page2)
+ self.plan_course_manage_button.setObjectName(_fromUtf8("plan_course_manage_button"))
+ self.horizontalLayout_10.addWidget(self.plan_course_manage_button)
+ self.plan_buttons_stacked_widget.addWidget(self.plan_buttons_page2)
+ self.verticalLayout_2.addWidget(self.plan_buttons_stacked_widget)
+ self.gridLayout_8.addWidget(self.groupBox_4, 1, 0, 1, 1)
+ self.tabWidget.addTab(self.tab_patient_charts, _fromUtf8(""))
+ self.tab_patient_estimate = QtGui.QWidget()
+ self.tab_patient_estimate.setObjectName(_fromUtf8("tab_patient_estimate"))
+ self.horizontalLayout_5 = QtGui.QHBoxLayout(self.tab_patient_estimate)
+ self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
+ self.estimate_scrollArea = QtGui.QScrollArea(self.tab_patient_estimate)
+ self.estimate_scrollArea.setMinimumSize(QtCore.QSize(0, 202))
+ self.estimate_scrollArea.setWidgetResizable(True)
+ self.estimate_scrollArea.setObjectName(_fromUtf8("estimate_scrollArea"))
+ self.scrollAreaWidgetContents_11 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_11.setGeometry(QtCore.QRect(0, 0, 98, 200))
+ self.scrollAreaWidgetContents_11.setObjectName(_fromUtf8("scrollAreaWidgetContents_11"))
+ self.horizontalLayout_19 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents_11)
+ self.horizontalLayout_19.setObjectName(_fromUtf8("horizontalLayout_19"))
+ self.estimate_scrollArea.setWidget(self.scrollAreaWidgetContents_11)
+ self.horizontalLayout_5.addWidget(self.estimate_scrollArea)
+ self.scrollArea = QtGui.QScrollArea(self.tab_patient_estimate)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+ self.scrollArea.setSizePolicy(sizePolicy)
+ self.scrollArea.setMinimumSize(QtCore.QSize(180, 0))
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents_4 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 153, 224))
+ self.scrollAreaWidgetContents_4.setObjectName(_fromUtf8("scrollAreaWidgetContents_4"))
+ self.verticalLayout_9 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents_4)
+ self.verticalLayout_9.setObjectName(_fromUtf8("verticalLayout_9"))
+ self.estimate_label = QtGui.QLabel(self.scrollAreaWidgetContents_4)
+ self.estimate_label.setObjectName(_fromUtf8("estimate_label"))
+ self.verticalLayout_9.addWidget(self.estimate_label)
+ self.estLetter_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
+ self.estLetter_pushButton.setCheckable(False)
+ self.estLetter_pushButton.setObjectName(_fromUtf8("estLetter_pushButton"))
+ self.verticalLayout_9.addWidget(self.estLetter_pushButton)
+ self.recalcEst_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
+ self.recalcEst_pushButton.setCheckable(False)
+ self.recalcEst_pushButton.setChecked(False)
+ self.recalcEst_pushButton.setObjectName(_fromUtf8("recalcEst_pushButton"))
+ self.verticalLayout_9.addWidget(self.recalcEst_pushButton)
+ self.apply_exemption_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
+ self.apply_exemption_pushButton.setObjectName(_fromUtf8("apply_exemption_pushButton"))
+ self.verticalLayout_9.addWidget(self.apply_exemption_pushButton)
+ spacerItem11 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_9.addItem(spacerItem11)
+ self.label_22 = QtGui.QLabel(self.scrollAreaWidgetContents_4)
+ self.label_22.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.label_22.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_22.setObjectName(_fromUtf8("label_22"))
+ self.verticalLayout_9.addWidget(self.label_22)
+ self.dnt2comboBox = QtGui.QComboBox(self.scrollAreaWidgetContents_4)
+ self.dnt2comboBox.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.dnt2comboBox.setObjectName(_fromUtf8("dnt2comboBox"))
+ self.verticalLayout_9.addWidget(self.dnt2comboBox)
+ self.closeTx_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
+ self.closeTx_pushButton.setEnabled(True)
+ self.closeTx_pushButton.setObjectName(_fromUtf8("closeTx_pushButton"))
+ self.verticalLayout_9.addWidget(self.closeTx_pushButton)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents_4)
+ self.horizontalLayout_5.addWidget(self.scrollArea)
+ self.tabWidget.addTab(self.tab_patient_estimate, _fromUtf8(""))
+ self.tab_patient_perio = QtGui.QWidget()
+ self.tab_patient_perio.setObjectName(_fromUtf8("tab_patient_perio"))
+ self.horizontalLayout_8 = QtGui.QHBoxLayout(self.tab_patient_perio)
+ self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
+ self.perioCharts_scrollArea = QtGui.QScrollArea(self.tab_patient_perio)
+ self.perioCharts_scrollArea.setFrameShape(QtGui.QFrame.NoFrame)
+ self.perioCharts_scrollArea.setWidgetResizable(True)
+ self.perioCharts_scrollArea.setObjectName(_fromUtf8("perioCharts_scrollArea"))
+ self.scrollAreaWidgetContents_6 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 252, 376))
+ self.scrollAreaWidgetContents_6.setObjectName(_fromUtf8("scrollAreaWidgetContents_6"))
+ self.gridLayout_15 = QtGui.QGridLayout(self.scrollAreaWidgetContents_6)
+ self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
+ self.perioChart_frame = QtGui.QFrame(self.scrollAreaWidgetContents_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.perioChart_frame.sizePolicy().hasHeightForWidth())
+ self.perioChart_frame.setSizePolicy(sizePolicy)
+ self.perioChart_frame.setMinimumSize(QtCore.QSize(0, 140))
+ self.perioChart_frame.setMaximumSize(QtCore.QSize(16777215, 140))
+ self.perioChart_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.perioChart_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.perioChart_frame.setObjectName(_fromUtf8("perioChart_frame"))
+ self.gridLayout_15.addWidget(self.perioChart_frame, 0, 0, 1, 3)
+ self.perioChartData_scrollArea = QtGui.QScrollArea(self.scrollAreaWidgetContents_6)
+ self.perioChartData_scrollArea.setMinimumSize(QtCore.QSize(0, 0))
+ self.perioChartData_scrollArea.setWidgetResizable(True)
+ self.perioChartData_scrollArea.setObjectName(_fromUtf8("perioChartData_scrollArea"))
+ self.scrollAreaWidgetContents_10 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_10.setGeometry(QtCore.QRect(0, 0, 918, 1218))
+ self.scrollAreaWidgetContents_10.setObjectName(_fromUtf8("scrollAreaWidgetContents_10"))
+ self.horizontalLayout_15 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents_10)
+ self.horizontalLayout_15.setObjectName(_fromUtf8("horizontalLayout_15"))
+ self.perioChartData_frame = QtGui.QFrame(self.scrollAreaWidgetContents_10)
+ self.perioChartData_frame.setMinimumSize(QtCore.QSize(900, 1200))
+ self.perioChartData_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.perioChartData_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.perioChartData_frame.setObjectName(_fromUtf8("perioChartData_frame"))
+ self.horizontalLayout_15.addWidget(self.perioChartData_frame)
+ self.perioChartData_scrollArea.setWidget(self.scrollAreaWidgetContents_10)
+ self.gridLayout_15.addWidget(self.perioChartData_scrollArea, 1, 0, 1, 3)
+ self.groupBox_11 = QtGui.QGroupBox(self.scrollAreaWidgetContents_6)
+ self.groupBox_11.setObjectName(_fromUtf8("groupBox_11"))
+ self.verticalLayout_16 = QtGui.QVBoxLayout(self.groupBox_11)
+ self.verticalLayout_16.setObjectName(_fromUtf8("verticalLayout_16"))
+ self.label_41 = QtGui.QLabel(self.groupBox_11)
+ font = QtGui.QFont()
+ font.setPointSize(12)
+ self.label_41.setFont(font)
+ self.label_41.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_41.setObjectName(_fromUtf8("label_41"))
+ self.verticalLayout_16.addWidget(self.label_41)
+ self.perioChartDateComboBox = QtGui.QComboBox(self.groupBox_11)
+ self.perioChartDateComboBox.setObjectName(_fromUtf8("perioChartDateComboBox"))
+ self.verticalLayout_16.addWidget(self.perioChartDateComboBox)
+ self.newPerioChartPushButton = QtGui.QPushButton(self.groupBox_11)
+ self.newPerioChartPushButton.setAutoDefault(False)
+ self.newPerioChartPushButton.setObjectName(_fromUtf8("newPerioChartPushButton"))
+ self.verticalLayout_16.addWidget(self.newPerioChartPushButton)
+ self.gridLayout_15.addWidget(self.groupBox_11, 2, 0, 1, 1)
+ self.perioToothProps_frame = QtGui.QFrame(self.scrollAreaWidgetContents_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.perioToothProps_frame.sizePolicy().hasHeightForWidth())
+ self.perioToothProps_frame.setSizePolicy(sizePolicy)
+ self.perioToothProps_frame.setMinimumSize(QtCore.QSize(0, 0))
+ self.perioToothProps_frame.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.perioToothProps_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.perioToothProps_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.perioToothProps_frame.setObjectName(_fromUtf8("perioToothProps_frame"))
+ self.gridLayout_15.addWidget(self.perioToothProps_frame, 2, 1, 1, 1)
+ self.groupBox_12 = QtGui.QGroupBox(self.scrollAreaWidgetContents_6)
+ self.groupBox_12.setMaximumSize(QtCore.QSize(120, 16777215))
+ self.groupBox_12.setObjectName(_fromUtf8("groupBox_12"))
+ self.verticalLayout_15 = QtGui.QVBoxLayout(self.groupBox_12)
+ self.verticalLayout_15.setObjectName(_fromUtf8("verticalLayout_15"))
+ self.bpe_textBrowser_2 = QtGui.QTextBrowser(self.groupBox_12)
+ self.bpe_textBrowser_2.setMinimumSize(QtCore.QSize(0, 0))
+ self.bpe_textBrowser_2.setMaximumSize(QtCore.QSize(16777215, 65))
+ self.bpe_textBrowser_2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.bpe_textBrowser_2.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.bpe_textBrowser_2.setObjectName(_fromUtf8("bpe_textBrowser_2"))
+ self.verticalLayout_15.addWidget(self.bpe_textBrowser_2)
+ self.bpeDateComboBox = QtGui.QComboBox(self.groupBox_12)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.bpeDateComboBox.sizePolicy().hasHeightForWidth())
+ self.bpeDateComboBox.setSizePolicy(sizePolicy)
+ self.bpeDateComboBox.setMinimumSize(QtCore.QSize(0, 0))
+ self.bpeDateComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContentsOnFirstShow)
+ self.bpeDateComboBox.setObjectName(_fromUtf8("bpeDateComboBox"))
+ self.verticalLayout_15.addWidget(self.bpeDateComboBox)
+ self.gridLayout_15.addWidget(self.groupBox_12, 2, 2, 1, 1)
+ self.perioCharts_scrollArea.setWidget(self.scrollAreaWidgetContents_6)
+ self.horizontalLayout_8.addWidget(self.perioCharts_scrollArea)
+ self.tabWidget.addTab(self.tab_patient_perio, _fromUtf8(""))
+ self.tab_patient_history = QtGui.QWidget()
+ self.tab_patient_history.setObjectName(_fromUtf8("tab_patient_history"))
+ self.horizontalLayout_29 = QtGui.QHBoxLayout(self.tab_patient_history)
+ self.horizontalLayout_29.setObjectName(_fromUtf8("horizontalLayout_29"))
+ self.debugBrowser = QtGui.QTextBrowser(self.tab_patient_history)
+ self.debugBrowser.setObjectName(_fromUtf8("debugBrowser"))
+ self.horizontalLayout_29.addWidget(self.debugBrowser)
+ self.frame_3 = QtGui.QFrame(self.tab_patient_history)
+ self.frame_3.setMinimumSize(QtCore.QSize(100, 0))
+ self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_3.setObjectName(_fromUtf8("frame_3"))
+ self.verticalLayout_25 = QtGui.QVBoxLayout(self.frame_3)
+ self.verticalLayout_25.setObjectName(_fromUtf8("verticalLayout_25"))
+ self.pastPayments_pushButton = QtGui.QPushButton(self.frame_3)
+ self.pastPayments_pushButton.setObjectName(_fromUtf8("pastPayments_pushButton"))
+ self.verticalLayout_25.addWidget(self.pastPayments_pushButton)
+ self.pastTreatment_pushButton = QtGui.QPushButton(self.frame_3)
+ self.pastTreatment_pushButton.setObjectName(_fromUtf8("pastTreatment_pushButton"))
+ self.verticalLayout_25.addWidget(self.pastTreatment_pushButton)
+ self.past_course_estimates_pushButton = QtGui.QPushButton(self.frame_3)
+ self.past_course_estimates_pushButton.setObjectName(_fromUtf8("past_course_estimates_pushButton"))
+ self.verticalLayout_25.addWidget(self.past_course_estimates_pushButton)
+ self.pastCourses_pushButton = QtGui.QPushButton(self.frame_3)
+ self.pastCourses_pushButton.setObjectName(_fromUtf8("pastCourses_pushButton"))
+ self.verticalLayout_25.addWidget(self.pastCourses_pushButton)
+ self.pastEstimates_pushButton = QtGui.QPushButton(self.frame_3)
+ self.pastEstimates_pushButton.setObjectName(_fromUtf8("pastEstimates_pushButton"))
+ self.verticalLayout_25.addWidget(self.pastEstimates_pushButton)
+ self.current_est_versioning_pushButton = QtGui.QPushButton(self.frame_3)
+ self.current_est_versioning_pushButton.setObjectName(_fromUtf8("current_est_versioning_pushButton"))
+ self.verticalLayout_25.addWidget(self.current_est_versioning_pushButton)
+ self.NHSClaims_pushButton = QtGui.QPushButton(self.frame_3)
+ self.NHSClaims_pushButton.setObjectName(_fromUtf8("NHSClaims_pushButton"))
+ self.verticalLayout_25.addWidget(self.NHSClaims_pushButton)
+ self.memo_history_pushButton = QtGui.QPushButton(self.frame_3)
+ self.memo_history_pushButton.setObjectName(_fromUtf8("memo_history_pushButton"))
+ self.verticalLayout_25.addWidget(self.memo_history_pushButton)
+ self.historyPrint_pushButton = QtGui.QPushButton(self.frame_3)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.historyPrint_pushButton.sizePolicy().hasHeightForWidth())
+ self.historyPrint_pushButton.setSizePolicy(sizePolicy)
+ self.historyPrint_pushButton.setIcon(icon9)
+ self.historyPrint_pushButton.setObjectName(_fromUtf8("historyPrint_pushButton"))
+ self.verticalLayout_25.addWidget(self.historyPrint_pushButton)
+ spacerItem12 = QtGui.QSpacerItem(20, 123, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_25.addItem(spacerItem12)
+ self.line_3 = QtGui.QFrame(self.frame_3)
+ self.line_3.setFrameShape(QtGui.QFrame.HLine)
+ self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_3.setObjectName(_fromUtf8("line_3"))
+ self.verticalLayout_25.addWidget(self.line_3)
+ self.debug_toolButton = QtGui.QToolButton(self.frame_3)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.debug_toolButton.sizePolicy().hasHeightForWidth())
+ self.debug_toolButton.setSizePolicy(sizePolicy)
+ self.debug_toolButton.setCheckable(False)
+ self.debug_toolButton.setChecked(False)
+ self.debug_toolButton.setPopupMode(QtGui.QToolButton.InstantPopup)
+ self.debug_toolButton.setObjectName(_fromUtf8("debug_toolButton"))
+ self.verticalLayout_25.addWidget(self.debug_toolButton)
+ self.ptAtts_checkBox = QtGui.QCheckBox(self.frame_3)
+ self.ptAtts_checkBox.setObjectName(_fromUtf8("ptAtts_checkBox"))
+ self.verticalLayout_25.addWidget(self.ptAtts_checkBox)
+ self.horizontalLayout_29.addWidget(self.frame_3)
+ self.tabWidget.addTab(self.tab_patient_history, _fromUtf8(""))
+ self.frame = QtGui.QFrame(self.splitter_patient)
+ self.frame.setMinimumSize(QtCore.QSize(0, 80))
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout_7 = QtGui.QGridLayout(self.frame)
+ self.gridLayout_7.setMargin(0)
+ self.gridLayout_7.setSpacing(3)
+ self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
+ self.line = QtGui.QFrame(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.line.sizePolicy().hasHeightForWidth())
+ self.line.setSizePolicy(sizePolicy)
+ self.line.setFrameShape(QtGui.QFrame.VLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_7.addWidget(self.line, 0, 1, 3, 1)
+ self.scrollArea_8 = QtGui.QScrollArea(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.scrollArea_8.sizePolicy().hasHeightForWidth())
+ self.scrollArea_8.setSizePolicy(sizePolicy)
+ self.scrollArea_8.setMaximumSize(QtCore.QSize(120, 1200))
+ self.scrollArea_8.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.scrollArea_8.setWidgetResizable(True)
+ self.scrollArea_8.setObjectName(_fromUtf8("scrollArea_8"))
+ self.scrollAreaWidgetContents_13 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_13.setGeometry(QtCore.QRect(0, 0, 118, 92))
+ self.scrollAreaWidgetContents_13.setObjectName(_fromUtf8("scrollAreaWidgetContents_13"))
+ self.verticalLayout_20 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents_13)
+ self.verticalLayout_20.setSpacing(0)
+ self.verticalLayout_20.setMargin(0)
+ self.verticalLayout_20.setObjectName(_fromUtf8("verticalLayout_20"))
+ self.hiddenNotes_label = QtGui.QLabel(self.scrollAreaWidgetContents_13)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.hiddenNotes_label.sizePolicy().hasHeightForWidth())
+ self.hiddenNotes_label.setSizePolicy(sizePolicy)
+ self.hiddenNotes_label.setMinimumSize(QtCore.QSize(70, 0))
+ self.hiddenNotes_label.setText(_fromUtf8(""))
+ self.hiddenNotes_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+ self.hiddenNotes_label.setWordWrap(True)
+ self.hiddenNotes_label.setObjectName(_fromUtf8("hiddenNotes_label"))
+ self.verticalLayout_20.addWidget(self.hiddenNotes_label)
+ self.scrollArea_8.setWidget(self.scrollAreaWidgetContents_13)
+ self.gridLayout_7.addWidget(self.scrollArea_8, 0, 2, 3, 1)
+ self.label_39 = QtGui.QLabel(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_39.sizePolicy().hasHeightForWidth())
+ self.label_39.setSizePolicy(sizePolicy)
+ self.label_39.setObjectName(_fromUtf8("label_39"))
+ self.gridLayout_7.addWidget(self.label_39, 0, 4, 1, 1)
+ self.line_2 = QtGui.QFrame(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.line_2.sizePolicy().hasHeightForWidth())
+ self.line_2.setSizePolicy(sizePolicy)
+ self.line_2.setFrameShape(QtGui.QFrame.VLine)
+ self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_2.setObjectName(_fromUtf8("line_2"))
+ self.gridLayout_7.addWidget(self.line_2, 0, 5, 3, 1)
+ self.phraseBook_pushButton = QtGui.QPushButton(self.frame)
+ icon11 = QtGui.QIcon()
+ icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/txt.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.phraseBook_pushButton.setIcon(icon11)
+ self.phraseBook_pushButton.setObjectName(_fromUtf8("phraseBook_pushButton"))
+ self.gridLayout_7.addWidget(self.phraseBook_pushButton, 2, 4, 1, 1)
+ self.saveButton = QtGui.QPushButton(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.saveButton.sizePolicy().hasHeightForWidth())
+ self.saveButton.setSizePolicy(sizePolicy)
+ self.saveButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon12 = QtGui.QIcon()
+ icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/save_all.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.saveButton.setIcon(icon12)
+ self.saveButton.setObjectName(_fromUtf8("saveButton"))
+ self.gridLayout_7.addWidget(self.saveButton, 0, 6, 3, 1)
+ self.notesEnter_textEdit = QtGui.QTextEdit(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.notesEnter_textEdit.sizePolicy().hasHeightForWidth())
+ self.notesEnter_textEdit.setSizePolicy(sizePolicy)
+ self.notesEnter_textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.notesEnter_textEdit.setFrameShape(QtGui.QFrame.NoFrame)
+ self.notesEnter_textEdit.setObjectName(_fromUtf8("notesEnter_textEdit"))
+ self.gridLayout_7.addWidget(self.notesEnter_textEdit, 0, 3, 3, 1)
+ self.memos_pushButton = QtGui.QPushButton(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.memos_pushButton.sizePolicy().hasHeightForWidth())
+ self.memos_pushButton.setSizePolicy(sizePolicy)
+ icon13 = QtGui.QIcon()
+ icon13.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/memos.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.memos_pushButton.setIcon(icon13)
+ self.memos_pushButton.setObjectName(_fromUtf8("memos_pushButton"))
+ self.gridLayout_7.addWidget(self.memos_pushButton, 0, 0, 3, 1)
+ self.clinician_phrasebook_pushButton = QtGui.QPushButton(self.frame)
+ self.clinician_phrasebook_pushButton.setIcon(icon11)
+ self.clinician_phrasebook_pushButton.setObjectName(_fromUtf8("clinician_phrasebook_pushButton"))
+ self.gridLayout_7.addWidget(self.clinician_phrasebook_pushButton, 1, 4, 1, 1)
+ self.horizontalLayout_24.addWidget(self.splitter_patient)
+ icon14 = QtGui.QIcon()
+ icon14.addPixmap(QtGui.QPixmap(_fromUtf8(":/kfm.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.main_tabWidget.addTab(self.tab_patient, icon14, _fromUtf8(""))
+ self.tab_appointments = QtGui.QWidget()
+ self.tab_appointments.setObjectName(_fromUtf8("tab_appointments"))
+ self.horizontalLayout_21 = QtGui.QHBoxLayout(self.tab_appointments)
+ self.horizontalLayout_21.setSpacing(0)
+ self.horizontalLayout_21.setMargin(0)
+ self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
+ icon15 = QtGui.QIcon()
+ icon15.addPixmap(QtGui.QPixmap(_fromUtf8(":/vcalendar.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.main_tabWidget.addTab(self.tab_appointments, icon15, _fromUtf8(""))
+ self.tab_cashbook = QtGui.QWidget()
+ self.tab_cashbook.setObjectName(_fromUtf8("tab_cashbook"))
+ self.gridLayout_5 = QtGui.QGridLayout(self.tab_cashbook)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.label_34 = QtGui.QLabel(self.tab_cashbook)
+ self.label_34.setObjectName(_fromUtf8("label_34"))
+ self.gridLayout_5.addWidget(self.label_34, 0, 0, 1, 1)
+ self.label_33 = QtGui.QLabel(self.tab_cashbook)
+ self.label_33.setObjectName(_fromUtf8("label_33"))
+ self.gridLayout_5.addWidget(self.label_33, 0, 1, 1, 1)
+ self.label_32 = QtGui.QLabel(self.tab_cashbook)
+ self.label_32.setObjectName(_fromUtf8("label_32"))
+ self.gridLayout_5.addWidget(self.label_32, 0, 2, 1, 1)
+ self.cashbookGoPushButton = QtGui.QPushButton(self.tab_cashbook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cashbookGoPushButton.sizePolicy().hasHeightForWidth())
+ self.cashbookGoPushButton.setSizePolicy(sizePolicy)
+ self.cashbookGoPushButton.setIcon(icon8)
+ self.cashbookGoPushButton.setIconSize(QtCore.QSize(24, 24))
+ self.cashbookGoPushButton.setObjectName(_fromUtf8("cashbookGoPushButton"))
+ self.gridLayout_5.addWidget(self.cashbookGoPushButton, 0, 3, 2, 1)
+ self.cashbookPrintButton = QtGui.QPushButton(self.tab_cashbook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cashbookPrintButton.sizePolicy().hasHeightForWidth())
+ self.cashbookPrintButton.setSizePolicy(sizePolicy)
+ self.cashbookPrintButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.cashbookPrintButton.setIcon(icon9)
+ self.cashbookPrintButton.setIconSize(QtCore.QSize(32, 24))
+ self.cashbookPrintButton.setObjectName(_fromUtf8("cashbookPrintButton"))
+ self.gridLayout_5.addWidget(self.cashbookPrintButton, 0, 4, 2, 1)
+ self.cashbookStartDateEdit = QtGui.QDateEdit(self.tab_cashbook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cashbookStartDateEdit.sizePolicy().hasHeightForWidth())
+ self.cashbookStartDateEdit.setSizePolicy(sizePolicy)
+ self.cashbookStartDateEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.cashbookStartDateEdit.setCalendarPopup(True)
+ self.cashbookStartDateEdit.setObjectName(_fromUtf8("cashbookStartDateEdit"))
+ self.gridLayout_5.addWidget(self.cashbookStartDateEdit, 1, 0, 1, 1)
+ self.cashbookEndDateEdit = QtGui.QDateEdit(self.tab_cashbook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cashbookEndDateEdit.sizePolicy().hasHeightForWidth())
+ self.cashbookEndDateEdit.setSizePolicy(sizePolicy)
+ self.cashbookEndDateEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.cashbookEndDateEdit.setCalendarPopup(True)
+ self.cashbookEndDateEdit.setObjectName(_fromUtf8("cashbookEndDateEdit"))
+ self.gridLayout_5.addWidget(self.cashbookEndDateEdit, 1, 1, 1, 1)
+ self.cashbookDentComboBox = QtGui.QComboBox(self.tab_cashbook)
+ self.cashbookDentComboBox.setObjectName(_fromUtf8("cashbookDentComboBox"))
+ self.gridLayout_5.addWidget(self.cashbookDentComboBox, 1, 2, 1, 1)
+ spacerItem13 = QtGui.QSpacerItem(389, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_5.addItem(spacerItem13, 1, 5, 1, 1)
+ self.all_payments_radioButton = QtGui.QRadioButton(self.tab_cashbook)
+ self.all_payments_radioButton.setChecked(True)
+ self.all_payments_radioButton.setObjectName(_fromUtf8("all_payments_radioButton"))
+ self.gridLayout_5.addWidget(self.all_payments_radioButton, 1, 6, 1, 1)
+ self.sundries_only_radioButton = QtGui.QRadioButton(self.tab_cashbook)
+ self.sundries_only_radioButton.setObjectName(_fromUtf8("sundries_only_radioButton"))
+ self.gridLayout_5.addWidget(self.sundries_only_radioButton, 1, 7, 1, 1)
+ self.treatment_only_radioButton = QtGui.QRadioButton(self.tab_cashbook)
+ self.treatment_only_radioButton.setObjectName(_fromUtf8("treatment_only_radioButton"))
+ self.gridLayout_5.addWidget(self.treatment_only_radioButton, 1, 8, 1, 1)
+ self.cashbook_placeholder_widget = QtGui.QWidget(self.tab_cashbook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cashbook_placeholder_widget.sizePolicy().hasHeightForWidth())
+ self.cashbook_placeholder_widget.setSizePolicy(sizePolicy)
+ self.cashbook_placeholder_widget.setObjectName(_fromUtf8("cashbook_placeholder_widget"))
+ self.gridLayout_5.addWidget(self.cashbook_placeholder_widget, 2, 0, 1, 9)
+ self.main_tabWidget.addTab(self.tab_cashbook, icon10, _fromUtf8(""))
+ self.tab_daybook = QtGui.QWidget()
+ self.tab_daybook.setObjectName(_fromUtf8("tab_daybook"))
+ self.gridlayout = QtGui.QGridLayout(self.tab_daybook)
+ self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
+ self.label_29 = QtGui.QLabel(self.tab_daybook)
+ self.label_29.setObjectName(_fromUtf8("label_29"))
+ self.gridlayout.addWidget(self.label_29, 0, 0, 1, 1)
+ self.label_30 = QtGui.QLabel(self.tab_daybook)
+ self.label_30.setObjectName(_fromUtf8("label_30"))
+ self.gridlayout.addWidget(self.label_30, 0, 1, 1, 1)
+ self.label_28 = QtGui.QLabel(self.tab_daybook)
+ self.label_28.setObjectName(_fromUtf8("label_28"))
+ self.gridlayout.addWidget(self.label_28, 0, 2, 1, 1)
+ self.label_31 = QtGui.QLabel(self.tab_daybook)
+ self.label_31.setObjectName(_fromUtf8("label_31"))
+ self.gridlayout.addWidget(self.label_31, 0, 3, 1, 1)
+ self.daybookGoPushButton = QtGui.QPushButton(self.tab_daybook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.daybookGoPushButton.sizePolicy().hasHeightForWidth())
+ self.daybookGoPushButton.setSizePolicy(sizePolicy)
+ self.daybookGoPushButton.setIcon(icon8)
+ self.daybookGoPushButton.setIconSize(QtCore.QSize(24, 24))
+ self.daybookGoPushButton.setObjectName(_fromUtf8("daybookGoPushButton"))
+ self.gridlayout.addWidget(self.daybookGoPushButton, 0, 4, 2, 1)
+ self.daybookPrintButton = QtGui.QPushButton(self.tab_daybook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.daybookPrintButton.sizePolicy().hasHeightForWidth())
+ self.daybookPrintButton.setSizePolicy(sizePolicy)
+ self.daybookPrintButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.daybookPrintButton.setIcon(icon9)
+ self.daybookPrintButton.setIconSize(QtCore.QSize(32, 32))
+ self.daybookPrintButton.setObjectName(_fromUtf8("daybookPrintButton"))
+ self.gridlayout.addWidget(self.daybookPrintButton, 0, 5, 2, 1)
+ spacerItem14 = QtGui.QSpacerItem(654, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridlayout.addItem(spacerItem14, 0, 6, 2, 1)
+ self.daybookStartDateEdit = QtGui.QDateEdit(self.tab_daybook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.daybookStartDateEdit.sizePolicy().hasHeightForWidth())
+ self.daybookStartDateEdit.setSizePolicy(sizePolicy)
+ self.daybookStartDateEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.daybookStartDateEdit.setCalendarPopup(True)
+ self.daybookStartDateEdit.setObjectName(_fromUtf8("daybookStartDateEdit"))
+ self.gridlayout.addWidget(self.daybookStartDateEdit, 1, 0, 1, 1)
+ self.daybookEndDateEdit = QtGui.QDateEdit(self.tab_daybook)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.daybookEndDateEdit.sizePolicy().hasHeightForWidth())
+ self.daybookEndDateEdit.setSizePolicy(sizePolicy)
+ self.daybookEndDateEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.daybookEndDateEdit.setCalendarPopup(True)
+ self.daybookEndDateEdit.setObjectName(_fromUtf8("daybookEndDateEdit"))
+ self.gridlayout.addWidget(self.daybookEndDateEdit, 1, 1, 1, 1)
+ self.daybookDent1ComboBox = QtGui.QComboBox(self.tab_daybook)
+ self.daybookDent1ComboBox.setObjectName(_fromUtf8("daybookDent1ComboBox"))
+ self.gridlayout.addWidget(self.daybookDent1ComboBox, 1, 2, 1, 1)
+ self.daybookDent2ComboBox = QtGui.QComboBox(self.tab_daybook)
+ self.daybookDent2ComboBox.setObjectName(_fromUtf8("daybookDent2ComboBox"))
+ self.gridlayout.addWidget(self.daybookDent2ComboBox, 1, 3, 1, 1)
+ self.daybookTextBrowser = QtGui.QTextBrowser(self.tab_daybook)
+ self.daybookTextBrowser.setObjectName(_fromUtf8("daybookTextBrowser"))
+ self.gridlayout.addWidget(self.daybookTextBrowser, 2, 0, 1, 7)
+ self.main_tabWidget.addTab(self.tab_daybook, icon11, _fromUtf8(""))
+ self.tab_accounts = QtGui.QWidget()
+ self.tab_accounts.setObjectName(_fromUtf8("tab_accounts"))
+ self.gridLayout_9 = QtGui.QGridLayout(self.tab_accounts)
+ self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
+ self.horizontalLayout_28 = QtGui.QHBoxLayout()
+ self.horizontalLayout_28.setObjectName(_fromUtf8("horizontalLayout_28"))
+ self.label_54 = QtGui.QLabel(self.tab_accounts)
+ self.label_54.setObjectName(_fromUtf8("label_54"))
+ self.horizontalLayout_28.addWidget(self.label_54)
+ self.accounts_debt_comboBox = QtGui.QComboBox(self.tab_accounts)
+ self.accounts_debt_comboBox.setMinimumSize(QtCore.QSize(100, 0))
+ self.accounts_debt_comboBox.setObjectName(_fromUtf8("accounts_debt_comboBox"))
+ self.accounts_debt_comboBox.addItem(_fromUtf8(""))
+ self.accounts_debt_comboBox.addItem(_fromUtf8(""))
+ self.horizontalLayout_28.addWidget(self.accounts_debt_comboBox)
+ self.label_24 = QtGui.QLabel(self.tab_accounts)
+ self.label_24.setObjectName(_fromUtf8("label_24"))
+ self.horizontalLayout_28.addWidget(self.label_24)
+ self.accounts_min_doubleSpinBox = QtGui.QDoubleSpinBox(self.tab_accounts)
+ self.accounts_min_doubleSpinBox.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.accounts_min_doubleSpinBox.setPrefix(_fromUtf8(""))
+ self.accounts_min_doubleSpinBox.setMaximum(1000.0)
+ self.accounts_min_doubleSpinBox.setObjectName(_fromUtf8("accounts_min_doubleSpinBox"))
+ self.horizontalLayout_28.addWidget(self.accounts_min_doubleSpinBox)
+ self.loadAccountsTable_pushButton = QtGui.QPushButton(self.tab_accounts)
+ self.loadAccountsTable_pushButton.setIcon(icon8)
+ self.loadAccountsTable_pushButton.setObjectName(_fromUtf8("loadAccountsTable_pushButton"))
+ self.horizontalLayout_28.addWidget(self.loadAccountsTable_pushButton)
+ self.gridLayout_9.addLayout(self.horizontalLayout_28, 0, 0, 1, 1)
+ spacerItem15 = QtGui.QSpacerItem(206, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_9.addItem(spacerItem15, 0, 1, 1, 1)
+ self.printAccountsTable_pushButton = QtGui.QPushButton(self.tab_accounts)
+ self.printAccountsTable_pushButton.setIcon(icon9)
+ self.printAccountsTable_pushButton.setObjectName(_fromUtf8("printAccountsTable_pushButton"))
+ self.gridLayout_9.addWidget(self.printAccountsTable_pushButton, 0, 2, 1, 2)
+ self.printSelectedAccounts_pushButton = QtGui.QPushButton(self.tab_accounts)
+ self.printSelectedAccounts_pushButton.setIcon(icon9)
+ self.printSelectedAccounts_pushButton.setObjectName(_fromUtf8("printSelectedAccounts_pushButton"))
+ self.gridLayout_9.addWidget(self.printSelectedAccounts_pushButton, 0, 4, 1, 1)
+ self.accounts_tableWidget = QtGui.QTableWidget(self.tab_accounts)
+ font = QtGui.QFont()
+ font.setPointSize(9)
+ self.accounts_tableWidget.setFont(font)
+ self.accounts_tableWidget.setAlternatingRowColors(True)
+ self.accounts_tableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.accounts_tableWidget.setObjectName(_fromUtf8("accounts_tableWidget"))
+ self.accounts_tableWidget.setColumnCount(0)
+ self.accounts_tableWidget.setRowCount(0)
+ self.gridLayout_9.addWidget(self.accounts_tableWidget, 1, 0, 1, 5)
+ spacerItem16 = QtGui.QSpacerItem(746, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_9.addItem(spacerItem16, 2, 0, 1, 2)
+ self.label_43 = QtGui.QLabel(self.tab_accounts)
+ self.label_43.setObjectName(_fromUtf8("label_43"))
+ self.gridLayout_9.addWidget(self.label_43, 2, 2, 1, 1)
+ self.accountsTotal_doubleSpinBox = QtGui.QDoubleSpinBox(self.tab_accounts)
+ self.accountsTotal_doubleSpinBox.setEnabled(True)
+ self.accountsTotal_doubleSpinBox.setMinimumSize(QtCore.QSize(150, 0))
+ font = QtGui.QFont()
+ font.setPointSize(12)
+ font.setBold(True)
+ font.setWeight(75)
+ self.accountsTotal_doubleSpinBox.setFont(font)
+ self.accountsTotal_doubleSpinBox.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.accountsTotal_doubleSpinBox.setReadOnly(True)
+ self.accountsTotal_doubleSpinBox.setPrefix(_fromUtf8(""))
+ self.accountsTotal_doubleSpinBox.setMaximum(1000000.0)
+ self.accountsTotal_doubleSpinBox.setObjectName(_fromUtf8("accountsTotal_doubleSpinBox"))
+ self.gridLayout_9.addWidget(self.accountsTotal_doubleSpinBox, 2, 3, 1, 2)
+ self.main_tabWidget.addTab(self.tab_accounts, _fromUtf8(""))
+ self.tab_bulk_mail = QtGui.QWidget()
+ self.tab_bulk_mail.setObjectName(_fromUtf8("tab_bulk_mail"))
+ self.gridLayout_10 = QtGui.QGridLayout(self.tab_bulk_mail)
+ self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
+ self.horizontalLayout_18 = QtGui.QHBoxLayout()
+ self.horizontalLayout_18.setObjectName(_fromUtf8("horizontalLayout_18"))
+ self.recallLoad_pushButton = QtGui.QPushButton(self.tab_bulk_mail)
+ self.recallLoad_pushButton.setObjectName(_fromUtf8("recallLoad_pushButton"))
+ self.horizontalLayout_18.addWidget(self.recallLoad_pushButton)
+ self.gridLayout_10.addLayout(self.horizontalLayout_18, 1, 0, 1, 1)
+ self.bulkMailPrint_pushButton = QtGui.QPushButton(self.tab_bulk_mail)
+ self.bulkMailPrint_pushButton.setIcon(icon9)
+ self.bulkMailPrint_pushButton.setIconSize(QtCore.QSize(24, 24))
+ self.bulkMailPrint_pushButton.setObjectName(_fromUtf8("bulkMailPrint_pushButton"))
+ self.gridLayout_10.addWidget(self.bulkMailPrint_pushButton, 1, 5, 1, 1)
+ self.bulk_mailings_treeView = QtGui.QTreeView(self.tab_bulk_mail)
+ self.bulk_mailings_treeView.setObjectName(_fromUtf8("bulk_mailings_treeView"))
+ self.gridLayout_10.addWidget(self.bulk_mailings_treeView, 2, 0, 1, 6)
+ self.bulk_mail_expand_pushButton = QtGui.QPushButton(self.tab_bulk_mail)
+ self.bulk_mail_expand_pushButton.setObjectName(_fromUtf8("bulk_mail_expand_pushButton"))
+ self.gridLayout_10.addWidget(self.bulk_mail_expand_pushButton, 1, 2, 1, 1)
+ self.bulkMail_options_pushButton = QtGui.QPushButton(self.tab_bulk_mail)
+ self.bulkMail_options_pushButton.setObjectName(_fromUtf8("bulkMail_options_pushButton"))
+ self.gridLayout_10.addWidget(self.bulkMail_options_pushButton, 1, 4, 1, 1)
+ spacerItem17 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_10.addItem(spacerItem17, 1, 1, 1, 1)
+ self.main_tabWidget.addTab(self.tab_bulk_mail, _fromUtf8(""))
+ self.tab_feescales = QtGui.QWidget()
+ self.tab_feescales.setObjectName(_fromUtf8("tab_feescales"))
+ self.horizontalLayout_16 = QtGui.QHBoxLayout(self.tab_feescales)
+ self.horizontalLayout_16.setMargin(3)
+ self.horizontalLayout_16.setObjectName(_fromUtf8("horizontalLayout_16"))
+ self.verticalLayout_29 = QtGui.QVBoxLayout()
+ self.verticalLayout_29.setObjectName(_fromUtf8("verticalLayout_29"))
+ self.feeScale_label = QtGui.QLabel(self.tab_feescales)
+ self.feeScale_label.setObjectName(_fromUtf8("feeScale_label"))
+ self.verticalLayout_29.addWidget(self.feeScale_label)
+ self.feeScales_treeView = QtGui.QTreeView(self.tab_feescales)
+ self.feeScales_treeView.setAlternatingRowColors(True)
+ self.feeScales_treeView.setObjectName(_fromUtf8("feeScales_treeView"))
+ self.verticalLayout_29.addWidget(self.feeScales_treeView)
+ self.horizontalLayout_16.addLayout(self.verticalLayout_29)
+ self.frame_5 = QtGui.QFrame(self.tab_feescales)
+ self.frame_5.setMinimumSize(QtCore.QSize(180, 0))
+ self.frame_5.setMaximumSize(QtCore.QSize(200, 16777215))
+ self.frame_5.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_5.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_5.setObjectName(_fromUtf8("frame_5"))
+ self.verticalLayout_10 = QtGui.QVBoxLayout(self.frame_5)
+ self.verticalLayout_10.setSpacing(3)
+ self.verticalLayout_10.setMargin(3)
+ self.verticalLayout_10.setObjectName(_fromUtf8("verticalLayout_10"))
+ self.feescales_available_label = QtGui.QLabel(self.frame_5)
+ self.feescales_available_label.setObjectName(_fromUtf8("feescales_available_label"))
+ self.verticalLayout_10.addWidget(self.feescales_available_label)
+ self.chooseFeescale_comboBox = QtGui.QComboBox(self.frame_5)
+ self.chooseFeescale_comboBox.setEnabled(True)
+ self.chooseFeescale_comboBox.setObjectName(_fromUtf8("chooseFeescale_comboBox"))
+ self.verticalLayout_10.addWidget(self.chooseFeescale_comboBox)
+ spacerItem18 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_10.addItem(spacerItem18)
+ self.frame_6 = QtGui.QFrame(self.frame_5)
+ self.frame_6.setEnabled(True)
+ self.frame_6.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_6.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_6.setObjectName(_fromUtf8("frame_6"))
+ self.gridLayout_16 = QtGui.QGridLayout(self.frame_6)
+ self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
+ self.label_26 = QtGui.QLabel(self.frame_6)
+ self.label_26.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_26.setObjectName(_fromUtf8("label_26"))
+ self.gridLayout_16.addWidget(self.label_26, 0, 0, 1, 1)
+ self.search_descriptions_radioButton = QtGui.QRadioButton(self.frame_6)
+ self.search_descriptions_radioButton.setChecked(True)
+ self.search_descriptions_radioButton.setObjectName(_fromUtf8("search_descriptions_radioButton"))
+ self.gridLayout_16.addWidget(self.search_descriptions_radioButton, 2, 0, 1, 2)
+ self.feeSearch_pushButton = QtGui.QPushButton(self.frame_6)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.feeSearch_pushButton.sizePolicy().hasHeightForWidth())
+ self.feeSearch_pushButton.setSizePolicy(sizePolicy)
+ self.feeSearch_pushButton.setMinimumSize(QtCore.QSize(0, 0))
+ self.feeSearch_pushButton.setMaximumSize(QtCore.QSize(70, 28))
+ self.feeSearch_pushButton.setText(_fromUtf8(""))
+ self.feeSearch_pushButton.setIcon(icon3)
+ self.feeSearch_pushButton.setIconSize(QtCore.QSize(24, 24))
+ self.feeSearch_pushButton.setObjectName(_fromUtf8("feeSearch_pushButton"))
+ self.gridLayout_16.addWidget(self.feeSearch_pushButton, 0, 1, 1, 1)
+ self.feeSearch_lineEdit = QtGui.QLineEdit(self.frame_6)
+ self.feeSearch_lineEdit.setObjectName(_fromUtf8("feeSearch_lineEdit"))
+ self.gridLayout_16.addWidget(self.feeSearch_lineEdit, 1, 0, 1, 2)
+ self.search_itemcodes_radioButton = QtGui.QRadioButton(self.frame_6)
+ self.search_itemcodes_radioButton.setChecked(False)
+ self.search_itemcodes_radioButton.setObjectName(_fromUtf8("search_itemcodes_radioButton"))
+ self.gridLayout_16.addWidget(self.search_itemcodes_radioButton, 3, 0, 1, 2)
+ self.feesearch_results_label = QtGui.QLabel(self.frame_6)
+ self.feesearch_results_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.feesearch_results_label.setObjectName(_fromUtf8("feesearch_results_label"))
+ self.gridLayout_16.addWidget(self.feesearch_results_label, 4, 0, 1, 2)
+ self.verticalLayout_10.addWidget(self.frame_6)
+ spacerItem19 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_10.addItem(spacerItem19)
+ self.hide_rare_feescale_codes_checkBox = QtGui.QCheckBox(self.frame_5)
+ self.hide_rare_feescale_codes_checkBox.setChecked(True)
+ self.hide_rare_feescale_codes_checkBox.setObjectName(_fromUtf8("hide_rare_feescale_codes_checkBox"))
+ self.verticalLayout_10.addWidget(self.hide_rare_feescale_codes_checkBox)
+ self.feeExpand_radioButton = QtGui.QRadioButton(self.frame_5)
+ self.feeExpand_radioButton.setEnabled(True)
+ self.feeExpand_radioButton.setObjectName(_fromUtf8("feeExpand_radioButton"))
+ self.verticalLayout_10.addWidget(self.feeExpand_radioButton)
+ self.feeCompress_radioButton = QtGui.QRadioButton(self.frame_5)
+ self.feeCompress_radioButton.setEnabled(True)
+ self.feeCompress_radioButton.setChecked(True)
+ self.feeCompress_radioButton.setObjectName(_fromUtf8("feeCompress_radioButton"))
+ self.verticalLayout_10.addWidget(self.feeCompress_radioButton)
+ spacerItem20 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_10.addItem(spacerItem20)
+ self.groupBox = QtGui.QGroupBox(self.frame_5)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.verticalLayout_13 = QtGui.QVBoxLayout(self.groupBox)
+ self.verticalLayout_13.setSpacing(3)
+ self.verticalLayout_13.setMargin(3)
+ self.verticalLayout_13.setObjectName(_fromUtf8("verticalLayout_13"))
+ self.nhsRegs_pushButton = QtGui.QPushButton(self.groupBox)
+ self.nhsRegs_pushButton.setIcon(icon11)
+ self.nhsRegs_pushButton.setObjectName(_fromUtf8("nhsRegs_pushButton"))
+ self.verticalLayout_13.addWidget(self.nhsRegs_pushButton)
+ self.verticalLayout_10.addWidget(self.groupBox)
+ spacerItem21 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_10.addItem(spacerItem21)
+ self.feeadjuster_groupBox = QtGui.QGroupBox(self.frame_5)
+ self.feeadjuster_groupBox.setEnabled(True)
+ self.feeadjuster_groupBox.setToolTip(_fromUtf8(""))
+ self.feeadjuster_groupBox.setCheckable(False)
+ self.feeadjuster_groupBox.setChecked(False)
+ self.feeadjuster_groupBox.setObjectName(_fromUtf8("feeadjuster_groupBox"))
+ self.verticalLayout_35 = QtGui.QVBoxLayout(self.feeadjuster_groupBox)
+ self.verticalLayout_35.setContentsMargins(2, 6, 2, 6)
+ self.verticalLayout_35.setObjectName(_fromUtf8("verticalLayout_35"))
+ self.feetable_xml_pushButton = QtGui.QPushButton(self.feeadjuster_groupBox)
+ self.feetable_xml_pushButton.setObjectName(_fromUtf8("feetable_xml_pushButton"))
+ self.verticalLayout_35.addWidget(self.feetable_xml_pushButton)
+ self.feescale_tester_pushButton = QtGui.QPushButton(self.feeadjuster_groupBox)
+ self.feescale_tester_pushButton.setObjectName(_fromUtf8("feescale_tester_pushButton"))
+ self.verticalLayout_35.addWidget(self.feescale_tester_pushButton)
+ self.reload_feescales_pushButton = QtGui.QPushButton(self.feeadjuster_groupBox)
+ self.reload_feescales_pushButton.setObjectName(_fromUtf8("reload_feescales_pushButton"))
+ self.verticalLayout_35.addWidget(self.reload_feescales_pushButton)
+ self.verticalLayout_10.addWidget(self.feeadjuster_groupBox)
+ self.horizontalLayout_16.addWidget(self.frame_5)
+ self.main_tabWidget.addTab(self.tab_feescales, _fromUtf8(""))
+ self.tab_forum = QtGui.QWidget()
+ self.tab_forum.setObjectName(_fromUtf8("tab_forum"))
+ self.horizontalLayout_20 = QtGui.QHBoxLayout(self.tab_forum)
+ self.horizontalLayout_20.setMargin(3)
+ self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20"))
+ self.splitter_3 = QtGui.QSplitter(self.tab_forum)
+ self.splitter_3.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter_3.setObjectName(_fromUtf8("splitter_3"))
+ self.splitter = QtGui.QSplitter(self.splitter_3)
+ self.splitter.setOrientation(QtCore.Qt.Vertical)
+ self.splitter.setObjectName(_fromUtf8("splitter"))
+ self.forum_treeWidget = QtGui.QTreeWidget(self.splitter)
+ self.forum_treeWidget.setAlternatingRowColors(True)
+ self.forum_treeWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+ self.forum_treeWidget.setAnimated(True)
+ self.forum_treeWidget.setObjectName(_fromUtf8("forum_treeWidget"))
+ self.forum_treeWidget.headerItem().setText(0, _fromUtf8("1"))
+ self.forum_treeWidget.header().setSortIndicatorShown(True)
+ self.frame_20 = QtGui.QFrame(self.splitter_3)
+ self.frame_20.setMaximumSize(QtCore.QSize(301, 16777215))
+ self.frame_20.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_20.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_20.setObjectName(_fromUtf8("frame_20"))
+ self.verticalLayout_11 = QtGui.QVBoxLayout(self.frame_20)
+ self.verticalLayout_11.setObjectName(_fromUtf8("verticalLayout_11"))
+ self.forum_label = QtGui.QLabel(self.frame_20)
+ self.forum_label.setMinimumSize(QtCore.QSize(0, 50))
+ self.forum_label.setText(_fromUtf8(""))
+ self.forum_label.setWordWrap(True)
+ self.forum_label.setObjectName(_fromUtf8("forum_label"))
+ self.verticalLayout_11.addWidget(self.forum_label)
+ self.forum_textBrowser = QtGui.QTextBrowser(self.frame_20)
+ font = QtGui.QFont()
+ font.setPointSize(12)
+ self.forum_textBrowser.setFont(font)
+ self.forum_textBrowser.setObjectName(_fromUtf8("forum_textBrowser"))
+ self.verticalLayout_11.addWidget(self.forum_textBrowser)
+ self.horizontalLayout_6 = QtGui.QHBoxLayout()
+ self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
+ self.forumReply_pushButton = QtGui.QPushButton(self.frame_20)
+ self.forumReply_pushButton.setEnabled(False)
+ self.forumReply_pushButton.setObjectName(_fromUtf8("forumReply_pushButton"))
+ self.horizontalLayout_6.addWidget(self.forumReply_pushButton)
+ self.forumDelete_pushButton = QtGui.QPushButton(self.frame_20)
+ self.forumDelete_pushButton.setEnabled(False)
+ icon16 = QtGui.QIcon()
+ icon16.addPixmap(QtGui.QPixmap(_fromUtf8(":/eraser.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.forumDelete_pushButton.setIcon(icon16)
+ self.forumDelete_pushButton.setObjectName(_fromUtf8("forumDelete_pushButton"))
+ self.horizontalLayout_6.addWidget(self.forumDelete_pushButton)
+ self.forumParent_pushButton = QtGui.QPushButton(self.frame_20)
+ self.forumParent_pushButton.setEnabled(False)
+ self.forumParent_pushButton.setObjectName(_fromUtf8("forumParent_pushButton"))
+ self.horizontalLayout_6.addWidget(self.forumParent_pushButton)
+ self.verticalLayout_11.addLayout(self.horizontalLayout_6)
+ self.forumNewTopic_pushButton = QtGui.QPushButton(self.frame_20)
+ icon17 = QtGui.QIcon()
+ icon17.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/mail_new.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.forumNewTopic_pushButton.setIcon(icon17)
+ self.forumNewTopic_pushButton.setObjectName(_fromUtf8("forumNewTopic_pushButton"))
+ self.verticalLayout_11.addWidget(self.forumNewTopic_pushButton)
+ self.frame_9 = QtGui.QFrame(self.frame_20)
+ self.frame_9.setEnabled(False)
+ self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_9.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_9.setObjectName(_fromUtf8("frame_9"))
+ self.gridLayout_30 = QtGui.QGridLayout(self.frame_9)
+ self.gridLayout_30.setObjectName(_fromUtf8("gridLayout_30"))
+ self.label_36 = QtGui.QLabel(self.frame_9)
+ self.label_36.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_36.setObjectName(_fromUtf8("label_36"))
+ self.gridLayout_30.addWidget(self.label_36, 0, 0, 1, 2)
+ self.feeSearch_lineEdit_2 = QtGui.QLineEdit(self.frame_9)
+ self.feeSearch_lineEdit_2.setObjectName(_fromUtf8("feeSearch_lineEdit_2"))
+ self.gridLayout_30.addWidget(self.feeSearch_lineEdit_2, 1, 0, 1, 2)
+ spacerItem22 = QtGui.QSpacerItem(67, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_30.addItem(spacerItem22, 2, 0, 1, 1)
+ self.feeSearch_pushButton_2 = QtGui.QPushButton(self.frame_9)
+ self.feeSearch_pushButton_2.setEnabled(False)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.feeSearch_pushButton_2.sizePolicy().hasHeightForWidth())
+ self.feeSearch_pushButton_2.setSizePolicy(sizePolicy)
+ self.feeSearch_pushButton_2.setMinimumSize(QtCore.QSize(80, 28))
+ self.feeSearch_pushButton_2.setMaximumSize(QtCore.QSize(70, 28))
+ self.feeSearch_pushButton_2.setIcon(icon3)
+ self.feeSearch_pushButton_2.setIconSize(QtCore.QSize(24, 24))
+ self.feeSearch_pushButton_2.setObjectName(_fromUtf8("feeSearch_pushButton_2"))
+ self.gridLayout_30.addWidget(self.feeSearch_pushButton_2, 2, 1, 1, 1)
+ self.verticalLayout_11.addWidget(self.frame_9)
+ self.frame_10 = QtGui.QFrame(self.frame_20)
+ self.frame_10.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame_10.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame_10.setObjectName(_fromUtf8("frame_10"))
+ self.horizontalLayout_25 = QtGui.QHBoxLayout(self.frame_10)
+ self.horizontalLayout_25.setObjectName(_fromUtf8("horizontalLayout_25"))
+ self.label_37 = QtGui.QLabel(self.frame_10)
+ self.label_37.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_37.setObjectName(_fromUtf8("label_37"))
+ self.horizontalLayout_25.addWidget(self.label_37)
+ self.forumViewFilter_comboBox = QtGui.QComboBox(self.frame_10)
+ self.forumViewFilter_comboBox.setObjectName(_fromUtf8("forumViewFilter_comboBox"))
+ self.forumViewFilter_comboBox.addItem(_fromUtf8(""))
+ self.horizontalLayout_25.addWidget(self.forumViewFilter_comboBox)
+ self.verticalLayout_11.addWidget(self.frame_10)
+ self.groupBox_10 = QtGui.QGroupBox(self.frame_20)
+ self.groupBox_10.setObjectName(_fromUtf8("groupBox_10"))
+ self.gridLayout_32 = QtGui.QGridLayout(self.groupBox_10)
+ self.gridLayout_32.setObjectName(_fromUtf8("gridLayout_32"))
+ self.forum_deletedposts_checkBox = QtGui.QCheckBox(self.groupBox_10)
+ self.forum_deletedposts_checkBox.setObjectName(_fromUtf8("forum_deletedposts_checkBox"))
+ self.gridLayout_32.addWidget(self.forum_deletedposts_checkBox, 0, 0, 1, 2)
+ self.split_replies_radioButton = QtGui.QRadioButton(self.groupBox_10)
+ self.split_replies_radioButton.setChecked(False)
+ self.split_replies_radioButton.setObjectName(_fromUtf8("split_replies_radioButton"))
+ self.gridLayout_32.addWidget(self.split_replies_radioButton, 1, 0, 1, 1)
+ self.group_replies_radioButton = QtGui.QRadioButton(self.groupBox_10)
+ self.group_replies_radioButton.setChecked(True)
+ self.group_replies_radioButton.setObjectName(_fromUtf8("group_replies_radioButton"))
+ self.gridLayout_32.addWidget(self.group_replies_radioButton, 1, 1, 1, 1)
+ self.forumCollapse_pushButton = QtGui.QPushButton(self.groupBox_10)
+ self.forumCollapse_pushButton.setObjectName(_fromUtf8("forumCollapse_pushButton"))
+ self.gridLayout_32.addWidget(self.forumCollapse_pushButton, 2, 0, 1, 1)
+ self.forumExpand_pushButton = QtGui.QPushButton(self.groupBox_10)
+ self.forumExpand_pushButton.setObjectName(_fromUtf8("forumExpand_pushButton"))
+ self.gridLayout_32.addWidget(self.forumExpand_pushButton, 2, 1, 1, 1)
+ self.verticalLayout_11.addWidget(self.groupBox_10)
+ self.horizontalLayout_20.addWidget(self.splitter_3)
+ self.main_tabWidget.addTab(self.tab_forum, _fromUtf8(""))
+ self.tab_wiki = QtGui.QWidget()
+ self.tab_wiki.setObjectName(_fromUtf8("tab_wiki"))
+ self.horizontalLayout_33 = QtGui.QHBoxLayout(self.tab_wiki)
+ self.horizontalLayout_33.setMargin(3)
+ self.horizontalLayout_33.setObjectName(_fromUtf8("horizontalLayout_33"))
+ self.wiki_webView = QtWebKit.QWebView(self.tab_wiki)
+ self.wiki_webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
+ self.wiki_webView.setObjectName(_fromUtf8("wiki_webView"))
+ self.horizontalLayout_33.addWidget(self.wiki_webView)
+ icon18 = QtGui.QIcon()
+ icon18.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/wikipedia.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.main_tabWidget.addTab(self.tab_wiki, icon18, _fromUtf8(""))
+ self.horizontalLayout_7.addWidget(self.main_tabWidget)
+ self.scrollArea_main.setWidget(self.scrollAreaWidgetContents_12)
+ self.verticalLayout_18.addWidget(self.scrollArea_main)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtGui.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 943, 22))
+ self.menubar.setObjectName(_fromUtf8("menubar"))
+ self.menuMenu = QtGui.QMenu(self.menubar)
+ self.menuMenu.setObjectName(_fromUtf8("menuMenu"))
+ self.menu_Help = QtGui.QMenu(self.menubar)
+ self.menu_Help.setObjectName(_fromUtf8("menu_Help"))
+ self.menu_Prefences = QtGui.QMenu(self.menubar)
+ self.menu_Prefences.setObjectName(_fromUtf8("menu_Prefences"))
+ self.menuView = QtGui.QMenu(self.menu_Prefences)
+ self.menuView.setObjectName(_fromUtf8("menuView"))
+ self.menuAppointments = QtGui.QMenu(self.menu_Prefences)
+ self.menuAppointments.setObjectName(_fromUtf8("menuAppointments"))
+ self.menuPrinting = QtGui.QMenu(self.menu_Prefences)
+ self.menuPrinting.setObjectName(_fromUtf8("menuPrinting"))
+ self.menuForum = QtGui.QMenu(self.menu_Prefences)
+ self.menuForum.setObjectName(_fromUtf8("menuForum"))
+ self.menuCharts = QtGui.QMenu(self.menu_Prefences)
+ self.menuCharts.setObjectName(_fromUtf8("menuCharts"))
+ self.menuMode = QtGui.QMenu(self.menu_Prefences)
+ self.menuMode.setObjectName(_fromUtf8("menuMode"))
+ self.menuCashbook = QtGui.QMenu(self.menu_Prefences)
+ self.menuCashbook.setObjectName(_fromUtf8("menuCashbook"))
+ self.menuTools = QtGui.QMenu(self.menubar)
+ self.menuTools.setObjectName(_fromUtf8("menuTools"))
+ MainWindow.setMenuBar(self.menubar)
+ self.statusbar = QtGui.QStatusBar(MainWindow)
+ self.statusbar.setObjectName(_fromUtf8("statusbar"))
+ MainWindow.setStatusBar(self.statusbar)
+ self.action_save_patient = QtGui.QAction(MainWindow)
+ self.action_save_patient.setObjectName(_fromUtf8("action_save_patient"))
+ self.action_Open_Patient = QtGui.QAction(MainWindow)
+ self.action_Open_Patient.setObjectName(_fromUtf8("action_Open_Patient"))
+ self.action_About = QtGui.QAction(MainWindow)
+ self.action_About.setObjectName(_fromUtf8("action_About"))
+ self.action_About_QT = QtGui.QAction(MainWindow)
+ self.action_About_QT.setObjectName(_fromUtf8("action_About_QT"))
+ self.action_Quit = QtGui.QAction(MainWindow)
+ icon19 = QtGui.QIcon()
+ icon19.addPixmap(QtGui.QPixmap(_fromUtf8(":/exit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.action_Quit.setIcon(icon19)
+ self.action_Quit.setObjectName(_fromUtf8("action_Quit"))
+ self.actionClear_Today_s_Emergency_Slots = QtGui.QAction(MainWindow)
+ self.actionClear_Today_s_Emergency_Slots.setObjectName(_fromUtf8("actionClear_Today_s_Emergency_Slots"))
+ self.actionAppointment_Tools = QtGui.QAction(MainWindow)
+ self.actionAppointment_Tools.setObjectName(_fromUtf8("actionAppointment_Tools"))
+ self.actionChange_Language = QtGui.QAction(MainWindow)
+ self.actionChange_Language.setObjectName(_fromUtf8("actionChange_Language"))
+ self.actionFull_Screen_Mode_Ctrl_Alt_F = QtGui.QAction(MainWindow)
+ self.actionFull_Screen_Mode_Ctrl_Alt_F.setCheckable(True)
+ self.actionFull_Screen_Mode_Ctrl_Alt_F.setObjectName(_fromUtf8("actionFull_Screen_Mode_Ctrl_Alt_F"))
+ self.actionSet_Font_Size = QtGui.QAction(MainWindow)
+ self.actionSet_Font_Size.setObjectName(_fromUtf8("actionSet_Font_Size"))
+ self.action_forum_show_advanced_options = QtGui.QAction(MainWindow)
+ self.action_forum_show_advanced_options.setCheckable(True)
+ self.action_forum_show_advanced_options.setObjectName(_fromUtf8("action_forum_show_advanced_options"))
+ self.actionTable_View_For_Charting = QtGui.QAction(MainWindow)
+ self.actionTable_View_For_Charting.setCheckable(True)
+ self.actionTable_View_For_Charting.setObjectName(_fromUtf8("actionTable_View_For_Charting"))
+ self.actionNHS_Form_Settings = QtGui.QAction(MainWindow)
+ self.actionNHS_Form_Settings.setObjectName(_fromUtf8("actionNHS_Form_Settings"))
+ self.actionTest_Print_a_GP17 = QtGui.QAction(MainWindow)
+ self.actionTest_Print_a_GP17.setObjectName(_fromUtf8("actionTest_Print_a_GP17"))
+ self.actionPrint_Daylists = QtGui.QAction(MainWindow)
+ self.actionPrint_Daylists.setObjectName(_fromUtf8("actionPrint_Daylists"))
+ self.actionSet_Clinician = QtGui.QAction(MainWindow)
+ self.actionSet_Clinician.setObjectName(_fromUtf8("actionSet_Clinician"))
+ self.actionSet_Assistant = QtGui.QAction(MainWindow)
+ self.actionSet_Assistant.setObjectName(_fromUtf8("actionSet_Assistant"))
+ self.actionSurgery_Mode = QtGui.QAction(MainWindow)
+ self.actionSurgery_Mode.setCheckable(True)
+ self.actionSurgery_Mode.setObjectName(_fromUtf8("actionSurgery_Mode"))
+ self.actionAdvanced_Record_Management = QtGui.QAction(MainWindow)
+ self.actionAdvanced_Record_Management.setObjectName(_fromUtf8("actionAdvanced_Record_Management"))
+ self.actionFix_Locked_New_Course_of_Treatment = QtGui.QAction(MainWindow)
+ self.actionFix_Locked_New_Course_of_Treatment.setObjectName(_fromUtf8("actionFix_Locked_New_Course_of_Treatment"))
+ self.actionAllow_Full_Edit = QtGui.QAction(MainWindow)
+ self.actionAllow_Full_Edit.setCheckable(True)
+ self.actionAllow_Full_Edit.setObjectName(_fromUtf8("actionAllow_Full_Edit"))
+ self.actionSet_Surgery_Number = QtGui.QAction(MainWindow)
+ self.actionSet_Surgery_Number.setObjectName(_fromUtf8("actionSet_Surgery_Number"))
+ self.actionEdit_Phrasebooks = QtGui.QAction(MainWindow)
+ self.actionEdit_Phrasebooks.setObjectName(_fromUtf8("actionEdit_Phrasebooks"))
+ self.menuMenu.addAction(self.action_save_patient)
+ self.menuMenu.addAction(self.action_Open_Patient)
+ self.menuMenu.addSeparator()
+ self.menuMenu.addAction(self.actionPrint_Daylists)
+ self.menuMenu.addSeparator()
+ self.menuMenu.addAction(self.action_Quit)
+ self.menu_Help.addAction(self.action_About)
+ self.menu_Help.addAction(self.action_About_QT)
+ self.menuView.addAction(self.actionFull_Screen_Mode_Ctrl_Alt_F)
+ self.menuView.addSeparator()
+ self.menuAppointments.addAction(self.actionSet_Font_Size)
+ self.menuPrinting.addAction(self.actionNHS_Form_Settings)
+ self.menuPrinting.addAction(self.actionTest_Print_a_GP17)
+ self.menuForum.addAction(self.action_forum_show_advanced_options)
+ self.menuCharts.addAction(self.actionTable_View_For_Charting)
+ self.menuMode.addAction(self.actionSurgery_Mode)
+ self.menuCashbook.addAction(self.actionAllow_Full_Edit)
+ self.menu_Prefences.addAction(self.actionChange_Language)
+ self.menu_Prefences.addSeparator()
+ self.menu_Prefences.addAction(self.menuView.menuAction())
+ self.menu_Prefences.addAction(self.menuCharts.menuAction())
+ self.menu_Prefences.addAction(self.menuAppointments.menuAction())
+ self.menu_Prefences.addAction(self.menuForum.menuAction())
+ self.menu_Prefences.addAction(self.menuCashbook.menuAction())
+ self.menu_Prefences.addAction(self.menuPrinting.menuAction())
+ self.menu_Prefences.addSeparator()
+ self.menu_Prefences.addAction(self.menuMode.menuAction())
+ self.menuTools.addAction(self.actionClear_Today_s_Emergency_Slots)
+ self.menuTools.addAction(self.actionAppointment_Tools)
+ self.menuTools.addAction(self.actionAdvanced_Record_Management)
+ self.menuTools.addAction(self.actionFix_Locked_New_Course_of_Treatment)
+ self.menuTools.addSeparator()
+ self.menuTools.addAction(self.actionSet_Clinician)
+ self.menuTools.addAction(self.actionSet_Assistant)
+ self.menuTools.addAction(self.actionSet_Surgery_Number)
+ self.menuTools.addSeparator()
+ self.menuTools.addAction(self.actionEdit_Phrasebooks)
+ self.menubar.addAction(self.menuMenu.menuAction())
+ self.menubar.addAction(self.menu_Prefences.menuAction())
+ self.menubar.addAction(self.menuTools.menuAction())
+ self.menubar.addAction(self.menu_Help.menuAction())
+ self.label_9.setBuddy(self.addr3Edit)
+ self.label_23.setBuddy(self.email2Edit)
+ self.label_15.setBuddy(self.faxEdit)
+ self.label_10.setBuddy(self.townEdit)
+ self.label_55.setBuddy(self.memoEdit)
+ self.label_19.setBuddy(self.countyEdit)
+ self.label_16.setBuddy(self.email1Edit)
+ self.label_25.setBuddy(self.occupationEdit)
+ self.label.setBuddy(self.titleEdit)
+ self.label_3.setBuddy(self.snameEdit)
+ self.label_14.setBuddy(self.mobileEdit)
+ self.label_5.setBuddy(self.addr2Edit)
+ self.label_17.setBuddy(self.sexEdit)
+ self.label_6.setBuddy(self.pcdeEdit)
+ self.label_12.setBuddy(self.tel1Edit)
+ self.label_4.setBuddy(self.addr1Edit)
+ self.label_2.setBuddy(self.fnameEdit)
+ self.label_13.setBuddy(self.tel2Edit)
+
+ self.retranslateUi(MainWindow)
+ self.main_tabWidget.setCurrentIndex(0)
+ self.tabWidget.setCurrentIndex(4)
+ self.contract_tabWidget.setCurrentIndex(2)
+ self.stackedWidget.setCurrentIndex(1)
+ self.plan_buttons_stacked_widget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+ MainWindow.setTabOrder(self.debugBrowser, self.dayList_comboBox)
+ MainWindow.setTabOrder(self.dayList_comboBox, self.detailsBrowser)
+ MainWindow.setTabOrder(self.detailsBrowser, self.cashbookGoPushButton)
+ MainWindow.setTabOrder(self.cashbookGoPushButton, self.cashbookPrintButton)
+ MainWindow.setTabOrder(self.cashbookPrintButton, self.cashbookStartDateEdit)
+ MainWindow.setTabOrder(self.cashbookStartDateEdit, self.cashbookEndDateEdit)
+ MainWindow.setTabOrder(self.cashbookEndDateEdit, self.cashbookDentComboBox)
+ MainWindow.setTabOrder(self.cashbookDentComboBox, self.daybookGoPushButton)
+ MainWindow.setTabOrder(self.daybookGoPushButton, self.daybookPrintButton)
+ MainWindow.setTabOrder(self.daybookPrintButton, self.daybookStartDateEdit)
+ MainWindow.setTabOrder(self.daybookStartDateEdit, self.daybookEndDateEdit)
+ MainWindow.setTabOrder(self.daybookEndDateEdit, self.daybookDent1ComboBox)
+ MainWindow.setTabOrder(self.daybookDent1ComboBox, self.daybookDent2ComboBox)
+ MainWindow.setTabOrder(self.daybookDent2ComboBox, self.daybookTextBrowser)
+ MainWindow.setTabOrder(self.daybookTextBrowser, self.reception_textBrowser)
+ MainWindow.setTabOrder(self.reception_textBrowser, self.printAccount_pushButton)
+ MainWindow.setTabOrder(self.printAccount_pushButton, self.takePayment_pushButton)
+ MainWindow.setTabOrder(self.takePayment_pushButton, self.perioChartDateComboBox)
+ MainWindow.setTabOrder(self.perioChartDateComboBox, self.dnt1comboBox)
+ MainWindow.setTabOrder(self.dnt1comboBox, self.scrollArea)
+ MainWindow.setTabOrder(self.scrollArea, self.accounts_tableWidget)
+ MainWindow.setTabOrder(self.accounts_tableWidget, self.printSelectedAccounts_pushButton)
+ MainWindow.setTabOrder(self.printSelectedAccounts_pushButton, self.titleEdit)
+ MainWindow.setTabOrder(self.titleEdit, self.fnameEdit)
+ MainWindow.setTabOrder(self.fnameEdit, self.snameEdit)
+ MainWindow.setTabOrder(self.snameEdit, self.dobEdit)
+ MainWindow.setTabOrder(self.dobEdit, self.addr1Edit)
+ MainWindow.setTabOrder(self.addr1Edit, self.addr2Edit)
+ MainWindow.setTabOrder(self.addr2Edit, self.addr3Edit)
+ MainWindow.setTabOrder(self.addr3Edit, self.townEdit)
+ MainWindow.setTabOrder(self.townEdit, self.countyEdit)
+ MainWindow.setTabOrder(self.countyEdit, self.pcdeEdit)
+ MainWindow.setTabOrder(self.pcdeEdit, self.sexEdit)
+ MainWindow.setTabOrder(self.sexEdit, self.tel1Edit)
+ MainWindow.setTabOrder(self.tel1Edit, self.tel2Edit)
+ MainWindow.setTabOrder(self.tel2Edit, self.mobileEdit)
+ MainWindow.setTabOrder(self.mobileEdit, self.faxEdit)
+ MainWindow.setTabOrder(self.faxEdit, self.email1Edit)
+ MainWindow.setTabOrder(self.email1Edit, self.email2Edit)
+ MainWindow.setTabOrder(self.email2Edit, self.occupationEdit)
+ MainWindow.setTabOrder(self.occupationEdit, self.memoEdit)
+ MainWindow.setTabOrder(self.memoEdit, self.email2_button)
+ MainWindow.setTabOrder(self.email2_button, self.pushButton)
+ MainWindow.setTabOrder(self.pushButton, self.email1_button)
+ MainWindow.setTabOrder(self.email1_button, self.pushButton_6)
+ MainWindow.setTabOrder(self.pushButton_6, self.printEst_pushButton)
+ MainWindow.setTabOrder(self.printEst_pushButton, self.bpe_textBrowser)
+ MainWindow.setTabOrder(self.bpe_textBrowser, self.newBPE_pushButton)
+ MainWindow.setTabOrder(self.newBPE_pushButton, self.planSummary_textBrowser)
+ MainWindow.setTabOrder(self.planSummary_textBrowser, self.exampushButton)
+ MainWindow.setTabOrder(self.exampushButton, self.medNotes_pushButton)
+ MainWindow.setTabOrder(self.medNotes_pushButton, self.perioCharts_scrollArea)
+ MainWindow.setTabOrder(self.perioCharts_scrollArea, self.newPerioChartPushButton)
+ MainWindow.setTabOrder(self.newPerioChartPushButton, self.bpeDateComboBox)
+ MainWindow.setTabOrder(self.bpeDateComboBox, self.perioChartData_scrollArea)
+ MainWindow.setTabOrder(self.perioChartData_scrollArea, self.contract_tabWidget)
+ MainWindow.setTabOrder(self.contract_tabWidget, self.notesPrintButton)
+ MainWindow.setTabOrder(self.notesPrintButton, self.loadAccountsTable_pushButton)
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(_("Open Molar"))
+ self.home_pushButton.setToolTip(_("Exit the Current Patient Record."))
+ self.home_pushButton.setShortcut(_("Esc"))
+ self.newPatientPushButton.setToolTip(_("Add a New Patient to the database."))
+ self.findButton.setToolTip(_("Click on this Button to search for in patient in your database."))
+ self.findButton.setText(_("Find"))
+ self.findButton.setShortcut(_("Ctrl+F"))
+ self.backButton.setToolTip(_("This cycles back through the history of records loaded today."))
+ self.reloadButton.setToolTip(_("Reload the patient from the database."))
+ self.reloadButton.setShortcut(_("Ctrl+R"))
+ self.nextButton.setToolTip(_("This cycles forwards through the history of records loaded today."))
+ self.relatedpts_pushButton.setToolTip(_("Show patients who live at the same address, or who have a similar name."))
+ self.relatedpts_pushButton.setText(_("&Relatives"))
+ self.relatedpts_pushButton.setShortcut(_("Ctrl+G"))
+ self.dayList_comboBox.setToolTip(_("A drop down box of all patients who have an appointment today."))
+ self.patientEdit_groupBox.setTitle(_("Details"))
+ self.label_18.setText(_("Date of Birth"))
+ self.label_9.setText(_("Address3"))
+ self.pushButton_6.setToolTip(_("send an sms"))
+ self.pushButton_6.setText(_("sms"))
+ self.label_23.setText(_("email2"))
+ self.label_15.setText(_("Fax"))
+ self.label_10.setText(_("Town"))
+ self.label_55.setText(_("Memo"))
+ self.label_19.setText(_("County"))
+ self.label_16.setText(_("email1"))
+ self.email1_button.setToolTip(_("send an email"))
+ self.email1_button.setText(_("email"))
+ self.label_25.setText(_("Occupation"))
+ self.label.setText(_("Title"))
+ self.label_3.setText(_("Surname"))
+ self.label_14.setText(_("Tel (mob)"))
+ self.label_5.setText(_("Address2"))
+ self.email2_button.setToolTip(_("send an email"))
+ self.email2_button.setText(_("email"))
+ self.label_17.setText(_("Sex"))
+ self.sexEdit.setItemText(0, _("M"))
+ self.sexEdit.setItemText(1, _("F"))
+ self.label_6.setText(_("Postcode"))
+ self.label_12.setText(_("Tel (home)"))
+ self.pushButton.setToolTip(_("send a fax"))
+ self.pushButton.setText(_("fax"))
+ self.label_4.setText(_("Address1"))
+ self.label_2.setText(_("First Name"))
+ self.label_13.setText(_("Tel (work)"))
+ self.highlighted_fields_label.setText(_("Higlighted Fields are Mandatory for New Patients"))
+ self.family_groupBox.setTitle(_("Family Groups"))
+ self.family_button.setToolTip(_("Raise a dialog to edit the patients family grouping"))
+ self.family_button.setText(_("Edit family group"))
+ self.family_group_label.setText(_("Not a member of a known family"))
+ self.auto_address_button.setToolTip(_("Use the Sname and Address details from the previous patient."))
+ self.auto_address_button.setText(_("Apply Address of previous record"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_details), _("Patient Details"))
+ self.label_21.setText(_("Pt is registered with Dentist"))
+ self.contractType_label.setText(_("Course Type"))
+ self.label_40.setText(_("Status"))
+ self.badDebt_pushButton.setText(_("Write Off Bad Debt"))
+ self.contractHDP_label_2.setText(_("This label is for displaying Private contractual stuff"))
+ self.editPriv_pushButton.setText(_("Edit"))
+ self.contract_tabWidget.setTabText(self.contract_tabWidget.indexOf(self.tab_18), _("Private"))
+ self.contractHDP_label.setText(_("This label is for displaying HDP contractual stuff"))
+ self.editHDP_pushButton.setText(_("Edit"))
+ self.contract_tabWidget.setTabText(self.contract_tabWidget.indexOf(self.tab_19), _("Highland Dental Plan"))
+ self.contractNHS_label.setText(_("This label is for displaying NHS contractual stuff"))
+ self.nhsclaims_pushButton.setText(_("View Claims History"))
+ self.editNHS_pushButton.setText(_("Edit"))
+ self.label_46.setText(_("Exemption"))
+ self.label_48.setText(_("Exemption Text"))
+ self.contract_tabWidget.setTabText(self.contract_tabWidget.indexOf(self.tab_20), _("NHS"))
+ self.contractHDP_label_3.setText(_("No Details of Pt\'s Registered Dentist Found"))
+ self.editRegDent_pushButton.setText(_("Edit"))
+ self.contract_tabWidget.setTabText(self.contract_tabWidget.indexOf(self.tab_21), _("Registered Elsewhere"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_contract), _("Contract"))
+ self.groupBox_6.setTitle(_("Letters TO the patient"))
+ self.standardLetterPushButton.setText(_(" Custom Letter to the patient"))
+ self.printRecall_pushButton.setToolTip(_("Print a recall saying the patient is due now."))
+ self.printRecall_pushButton.setText(_("Recall for An Examination"))
+ self.receiptPrintButton.setToolTip(_("Print a receipt - useful for duplicates."))
+ self.receiptPrintButton.setText(_("Duplicate Receipt"))
+ self.account2_pushButton.setText(_("Print An Account Letter"))
+ self.groupBox_7.setTitle(_("Referrals (Letters about the patient)"))
+ self.referralLettersPrintButton.setText(_("Print"))
+ self.groupBox_8.setTitle(_("Patient \"Notes\""))
+ self.notesPrintButton.setToolTip(_("Print a summary of the patient\'s notes (for them to take on). Includes No fee details."))
+ self.notesPrintButton.setText(_("Print the patient\'s notes"))
+ self.groupBox_3.setTitle(_("Previous Correspondence"))
+ self.label_44.setText(_("Generated By OpenMolar"))
+ self.prevCorres_treeWidget.headerItem().setText(0, _("1"))
+ self.label_45.setText(_("Imported into database"))
+ self.importDoc_pushButton.setText(_("Import A Document"))
+ self.groupBox_9.setTitle(_("Medical History"))
+ self.medicalPrintButton.setToolTip(_("Print a summary of the patient\'s notes (for them to take on). Includes No fee details."))
+ self.medicalPrintButton.setText(_("Print a medical history form"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_correspondence), _("Correspondence"))
+ self.reception_groupBox.setTitle(_("Reception"))
+ self.NHSadmin_groupBox.setTitle(_("NHS"))
+ self.printGP17_pushButton.setText(_("Print A GP17"))
+ self.rec_apply_exemption_pushButton.setText(_("Apply an Exemption"))
+ self.customEst_checkBox.setText(_("Custom Estimate on File"))
+ self.printAccount_pushButton.setText(_("Print &Account"))
+ self.takePayment_pushButton.setText(_("Take &Payment"))
+ self.printEst_pushButton.setText(_("Print &Estimate"))
+ self.groupBox_recnotes.setTitle(_("Notes"))
+ self.pt_diary_groupBox.setTitle(_("Patient\'s Diary"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_reception), _("Reception"))
+ self.bpe_groupBox.setTitle(_("BPE"))
+ self.newBPE_pushButton.setToolTip(_("Update the Basic Perio Exam (CPITN) score"))
+ self.newBPE_pushButton.setText(_("New"))
+ self.exampushButton.setToolTip(_("perform a clinical exam"))
+ self.exampushButton.setText(_("Exam"))
+ self.xray_pushButton.setToolTip(_("add x-rays to the patient\'s current course."))
+ self.xray_pushButton.setText(_("X-ray"))
+ self.hygWizard_pushButton.setToolTip(_("perform common perio treatments"))
+ self.hygWizard_pushButton.setText(_("Hyg"))
+ self.closeCourse_pushButton.setText(_("Close This Course"))
+ self.childsmile_button.setText(_("ChildSmile"))
+ self.medNotes_pushButton.setToolTip(_("check / update the patients medical history"))
+ self.medNotes_pushButton.setText(_("Med Notes"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_summary), _("Clinical Summary"))
+ self.label_35.setText(_("Include"))
+ self.notes_includePrinting_checkBox.setText(_("Printing Notes"))
+ self.notes_includePayments_checkBox.setText(_("Payments"))
+ self.notes_includeTimestamps_checkBox.setText(_("Timestamps"))
+ self.notes_includeMetadata_checkBox.setText(_("Metadata"))
+ self.summary_notes_checkBox.setToolTip(_("<html><head/><body><p>Use these settings for the clinical summary notes also.</p></body></html>"))
+ self.summary_notes_checkBox.setText(_("clinical summary"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_notes), _("Notes"))
+ self.static_groupBox.setTitle(_("Static"))
+ self.plan_groupBox.setTitle(_("Plan"))
+ self.completed_groupBox.setTitle(_("Completed"))
+ self.groupBox_4.setTitle(_("Treatment Planning"))
+ self.xrayTxpushButton.setText(_("X-Rays"))
+ self.perioTxpushButton.setText(_("Perio"))
+ self.dentureTxpushButton.setText(_("Dentures"))
+ self.otherTxpushButton.setText(_("Other"))
+ self.customTx_pushButton.setText(_("Custom"))
+ self.advanced_tx_planning_button.setText(_("Advanced Tx Planning"))
+ self.plan_course_manage_button.setText(_("Patient is not currently under treatment - click here to begin"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_charts), _("Charts / Planning"))
+ self.estimate_label.setText(_("Estimate"))
+ self.estLetter_pushButton.setText(_("Custom Estimate Letter"))
+ self.recalcEst_pushButton.setToolTip(_("Use this feature to re-price all items in the \"tooth\" category of treatments. i.e all those which appear on the charts.\n"
+"\n"
+"Note - this will not remove items which are currently there. "))
+ self.recalcEst_pushButton.setText(_("ReCalculate Estimate"))
+ self.apply_exemption_pushButton.setText(_("Apply Exemption"))
+ self.label_22.setText(_("Course Dentist"))
+ self.closeTx_pushButton.setText(_("Close Course"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_estimate), _("Estimate"))
+ self.groupBox_11.setTitle(_("Choose Data"))
+ self.label_41.setText(_("Chart Date"))
+ self.newPerioChartPushButton.setText(_("New"))
+ self.groupBox_12.setTitle(_("BPE"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_perio), _("Perio Charts"))
+ self.pastPayments_pushButton.setToolTip(_("See all payments in the database made by this patient"))
+ self.pastPayments_pushButton.setText(_("Past Payments"))
+ self.pastTreatment_pushButton.setToolTip(_("View treatments completed, by date order"))
+ self.pastTreatment_pushButton.setText(_("Past Treatment"))
+ self.past_course_estimates_pushButton.setToolTip(_("display a combination of courses and estimates."))
+ self.past_course_estimates_pushButton.setText(_("Courses / Estimates"))
+ self.pastCourses_pushButton.setToolTip(_("View all Courses of treatment. This includes treatment that was planned but not completed."))
+ self.pastCourses_pushButton.setText(_("Courses"))
+ self.pastEstimates_pushButton.setToolTip(_("Estimate history for this patient."))
+ self.pastEstimates_pushButton.setText(_("Estimates"))
+ self.current_est_versioning_pushButton.setText(_("Current Estimate"))
+ self.NHSClaims_pushButton.setText(_("NHS Claims"))
+ self.memo_history_pushButton.setText(_("Memos"))
+ self.historyPrint_pushButton.setToolTip(_("Print the text displayed on this page."))
+ self.historyPrint_pushButton.setText(_("Print"))
+ self.debug_toolButton.setToolTip(_("Advanced options for developer use. Don\'t expect this to make much sense!\n"
+"\n"
+"If the \"changes only\" checkbox is checked, only data which has been changed will be displayed."))
+ self.debug_toolButton.setText(_("debug tools"))
+ self.ptAtts_checkBox.setText(_("changes only"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_patient_history), _("History"))
+ self.label_39.setText(_("Today\'s Notes"))
+ self.phraseBook_pushButton.setText(_("PhraseBook"))
+ self.phraseBook_pushButton.setShortcut(_("Ins"))
+ self.saveButton.setToolTip(_("Save the changes made to this record."))
+ self.saveButton.setText(_("Save Changes"))
+ self.saveButton.setShortcut(_("Ctrl+S"))
+ self.notesEnter_textEdit.setToolTip(_("Enter Notes."))
+ self.memos_pushButton.setText(_("Memos"))
+ self.clinician_phrasebook_pushButton.setText(_("Phrases"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_patient), _("Patient Database"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_appointments), _("Appointments / Diary"))
+ self.label_34.setText(_("Start Date"))
+ self.label_33.setText(_("End Date"))
+ self.label_32.setText(_("Registered Dentist"))
+ self.cashbookGoPushButton.setText(_("Go"))
+ self.cashbookPrintButton.setToolTip(_("Print the Data"))
+ self.cashbookPrintButton.setText(_("Print"))
+ self.all_payments_radioButton.setText(_("All payments"))
+ self.sundries_only_radioButton.setText(_("Sundries_only"))
+ self.treatment_only_radioButton.setText(_("Treatment_only"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_cashbook), _("Cashbook"))
+ self.label_29.setText(_("Start Date"))
+ self.label_30.setText(_("End Date"))
+ self.label_28.setText(_("Registered Dentist"))
+ self.label_31.setText(_("Treating Dentist / Hygenist"))
+ self.daybookGoPushButton.setText(_("Go"))
+ self.daybookPrintButton.setToolTip(_("Print the Data"))
+ self.daybookPrintButton.setText(_("Print"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_daybook), _("Daybook"))
+ self.label_54.setText(_("Find Patient Records where the patient is in"))
+ self.accounts_debt_comboBox.setItemText(0, _("Debt"))
+ self.accounts_debt_comboBox.setItemText(1, _("Credit"))
+ self.label_24.setText(_("By More than"))
+ self.loadAccountsTable_pushButton.setText(_("Load Table"))
+ self.printAccountsTable_pushButton.setText(_("Print Table"))
+ self.printSelectedAccounts_pushButton.setText(_("Print Selected Letters"))
+ self.accounts_tableWidget.setSortingEnabled(False)
+ self.label_43.setText(_("TOTAL OUTSTANDING"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_accounts), _("Accounts"))
+ self.recallLoad_pushButton.setText(_("Load Table"))
+ self.bulkMailPrint_pushButton.setText(_("Print Letters"))
+ self.bulk_mail_expand_pushButton.setText(_("Expand All"))
+ self.bulkMail_options_pushButton.setText(_("Letter Options"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_bulk_mail), _("Bulk Mailings"))
+ self.feeScale_label.setText(_("TextLabel"))
+ self.feescales_available_label.setText(_("Fee Scales Available"))
+ self.chooseFeescale_comboBox.setToolTip(_("Use this control to select a feescale"))
+ self.label_26.setText(_("Search For an Item"))
+ self.search_descriptions_radioButton.setToolTip(_("search for the given phrase in description columns"))
+ self.search_descriptions_radioButton.setText(_("Search Descriptions"))
+ self.feeSearch_pushButton.setToolTip(_("Click on this Button to search for in patient in your database."))
+ self.feeSearch_pushButton.setShortcut(_("Ctrl+F"))
+ self.search_itemcodes_radioButton.setToolTip(_("only search for the given phrase in the usercode column"))
+ self.search_itemcodes_radioButton.setText(_("Search Itemcodes"))
+ self.feesearch_results_label.setText(_("TextLabel"))
+ self.hide_rare_feescale_codes_checkBox.setText(_("Hide Rarely Used Codes"))
+ self.feeExpand_radioButton.setToolTip(_("Quickly expand all items"))
+ self.feeExpand_radioButton.setText(_("Expand All Sections"))
+ self.feeCompress_radioButton.setToolTip(_("Quickly compress all items"))
+ self.feeCompress_radioButton.setText(_("Compress All Sections"))
+ self.groupBox.setTitle(_("Resources"))
+ self.nhsRegs_pushButton.setToolTip(_("Open A PDF of the latest NHS Regulations"))
+ self.nhsRegs_pushButton.setText(_("NHS Documents"))
+ self.feeadjuster_groupBox.setTitle(_("Advanced Options"))
+ self.feetable_xml_pushButton.setText(_("FeeScale Editor"))
+ self.feescale_tester_pushButton.setText(_("FeeScale Tester"))
+ self.reload_feescales_pushButton.setText(_("Reload Fee Scales"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_feescales), _("Feescales"))
+ self.forum_treeWidget.setSortingEnabled(True)
+ self.forumReply_pushButton.setText(_("Reply"))
+ self.forumReply_pushButton.setShortcut(_("Alt+R"))
+ self.forumDelete_pushButton.setText(_("Delete"))
+ self.forumDelete_pushButton.setShortcut(_("Del, Backspace"))
+ self.forumParent_pushButton.setText(_("&set parent"))
+ self.forumParent_pushButton.setShortcut(_("Alt+S"))
+ self.forumNewTopic_pushButton.setText(_("New Topic"))
+ self.label_36.setText(_("Search by keyword"))
+ self.feeSearch_pushButton_2.setToolTip(_("Click on this Button to search for in patient in your database."))
+ self.feeSearch_pushButton_2.setText(_("Find"))
+ self.feeSearch_pushButton_2.setShortcut(_("Ctrl+F"))
+ self.label_37.setText(_("Show Topics for"))
+ self.forumViewFilter_comboBox.setItemText(0, _("Everyone"))
+ self.groupBox_10.setTitle(_("Options"))
+ self.forum_deletedposts_checkBox.setText(_("Include Deleted Posts"))
+ self.split_replies_radioButton.setText(_("Split Replies"))
+ self.group_replies_radioButton.setText(_("Group replies"))
+ self.forumCollapse_pushButton.setText(_("&Collapse Replies"))
+ self.forumExpand_pushButton.setText(_("&Expand Replies"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_forum), _("FORUM"))
+ self.main_tabWidget.setTabText(self.main_tabWidget.indexOf(self.tab_wiki), _("Wiki"))
+ self.menuMenu.setTitle(_("&File"))
+ self.menu_Help.setTitle(_("&Help"))
+ self.menu_Prefences.setTitle(_("&Preferences"))
+ self.menuView.setTitle(_("View"))
+ self.menuAppointments.setTitle(_("Appointments"))
+ self.menuPrinting.setTitle(_("Printing"))
+ self.menuForum.setTitle(_("Forum"))
+ self.menuCharts.setTitle(_("Charts"))
+ self.menuMode.setTitle(_("Mode (reception or surgery)"))
+ self.menuCashbook.setTitle(_("Cashbook"))
+ self.menuTools.setTitle(_("Tools"))
+ self.action_save_patient.setText(_("&Export Patient to disk"))
+ self.action_Open_Patient.setText(_("&Import Patient from disk"))
+ self.action_About.setText(_("About &OpenMolar"))
+ self.action_About_QT.setText(_("&About QT"))
+ self.action_Quit.setText(_("&Quit"))
+ self.actionClear_Today_s_Emergency_Slots.setText(_("Clear Today\'s Emergency Slots"))
+ self.actionAppointment_Tools.setText(_("Appointment Tools"))
+ self.actionChange_Language.setText(_("Select Interface Language"))
+ self.actionFull_Screen_Mode_Ctrl_Alt_F.setText(_("Full Screen Mode (Ctrl-Alt-F)"))
+ self.actionFull_Screen_Mode_Ctrl_Alt_F.setShortcut(_("Ctrl+Alt+F"))
+ self.actionSet_Font_Size.setText(_("Font Size"))
+ self.action_forum_show_advanced_options.setText(_("Show Advanced Options"))
+ self.actionTable_View_For_Charting.setText(_("Table View For Charting"))
+ self.actionNHS_Form_Settings.setText(_("NHS Form Settings"))
+ self.actionTest_Print_a_GP17.setText(_("Test Print a GP17"))
+ self.actionPrint_Daylists.setText(_("Print Daylists"))
+ self.actionSet_Clinician.setText(_("Set Clinician"))
+ self.actionSet_Assistant.setText(_("Set Assistant"))
+ self.actionSurgery_Mode.setText(_("Surgery Mode"))
+ self.actionAdvanced_Record_Management.setText(_("Advanced Record Management"))
+ self.actionFix_Locked_New_Course_of_Treatment.setText(_("Fix Locked New Course of Treatment"))
+ self.actionAllow_Full_Edit.setText(_("Allow Full Edit"))
+ self.actionSet_Surgery_Number.setText(_("Set Surgery Number"))
+ self.actionSet_Surgery_Number.setToolTip(_("Set Surgery Number (used so other applications can see which record is loaded)"))
+ self.actionEdit_Phrasebooks.setText(_("Edit Phrasebooks"))
+
+from PyQt4 import QtWebKit
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ MainWindow = QtGui.QMainWindow()
+ ui = Ui_MainWindow()
+ ui.setupUi(MainWindow)
+ MainWindow.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py b/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py
new file mode 100644
index 0000000..4b0a54a
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_medhist.py
@@ -0,0 +1,194 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/medhist.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(790, 559)
+ Dialog.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.groupBox_2 = QtGui.QGroupBox(Dialog)
+ self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.groupBox_2)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.label = QtGui.QLabel(self.groupBox_2)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
+ self.doctor_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.doctor_lineEdit.setMaxLength(60)
+ self.doctor_lineEdit.setObjectName(_fromUtf8("doctor_lineEdit"))
+ self.gridLayout_3.addWidget(self.doctor_lineEdit, 0, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(self.groupBox_2)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_3.addWidget(self.label_2, 1, 0, 1, 1)
+ self.doctorAddy_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.doctorAddy_lineEdit.setMaxLength(60)
+ self.doctorAddy_lineEdit.setObjectName(_fromUtf8("doctorAddy_lineEdit"))
+ self.gridLayout_3.addWidget(self.doctorAddy_lineEdit, 1, 1, 1, 1)
+ self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 7)
+ self.groupBox = QtGui.QGroupBox(Dialog)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.gridLayout = QtGui.QGridLayout(self.groupBox)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_3 = QtGui.QLabel(self.groupBox)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 0, 1, 1, 1)
+ self.curMeds_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.curMeds_lineEdit.setMaxLength(60)
+ self.curMeds_lineEdit.setObjectName(_fromUtf8("curMeds_lineEdit"))
+ self.gridLayout.addWidget(self.curMeds_lineEdit, 0, 2, 1, 1)
+ self.label_4 = QtGui.QLabel(self.groupBox)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 1, 1, 1, 1)
+ self.pastMeds_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.pastMeds_lineEdit.setMaxLength(60)
+ self.pastMeds_lineEdit.setObjectName(_fromUtf8("pastMeds_lineEdit"))
+ self.gridLayout.addWidget(self.pastMeds_lineEdit, 1, 2, 1, 1)
+ self.label_5 = QtGui.QLabel(self.groupBox)
+ self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 2, 1, 1, 1)
+ self.allergies_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.allergies_lineEdit.setMaxLength(60)
+ self.allergies_lineEdit.setObjectName(_fromUtf8("allergies_lineEdit"))
+ self.gridLayout.addWidget(self.allergies_lineEdit, 2, 2, 1, 1)
+ self.label_6 = QtGui.QLabel(self.groupBox)
+ self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout.addWidget(self.label_6, 3, 1, 1, 1)
+ self.heart_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.heart_lineEdit.setMaxLength(60)
+ self.heart_lineEdit.setObjectName(_fromUtf8("heart_lineEdit"))
+ self.gridLayout.addWidget(self.heart_lineEdit, 3, 2, 1, 1)
+ self.label_7 = QtGui.QLabel(self.groupBox)
+ self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 4, 0, 1, 2)
+ self.lungs_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.lungs_lineEdit.setMaxLength(60)
+ self.lungs_lineEdit.setObjectName(_fromUtf8("lungs_lineEdit"))
+ self.gridLayout.addWidget(self.lungs_lineEdit, 4, 2, 1, 1)
+ self.label_8 = QtGui.QLabel(self.groupBox)
+ self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 5, 1, 1, 1)
+ self.liver_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.liver_lineEdit.setMaxLength(60)
+ self.liver_lineEdit.setObjectName(_fromUtf8("liver_lineEdit"))
+ self.gridLayout.addWidget(self.liver_lineEdit, 5, 2, 1, 1)
+ self.label_11 = QtGui.QLabel(self.groupBox)
+ self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_11.setObjectName(_fromUtf8("label_11"))
+ self.gridLayout.addWidget(self.label_11, 6, 0, 1, 2)
+ self.bleeding_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.bleeding_lineEdit.setMaxLength(60)
+ self.bleeding_lineEdit.setObjectName(_fromUtf8("bleeding_lineEdit"))
+ self.gridLayout.addWidget(self.bleeding_lineEdit, 6, 2, 1, 1)
+ self.label_9 = QtGui.QLabel(self.groupBox)
+ self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 7, 0, 1, 2)
+ self.kidneys_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.kidneys_lineEdit.setMaxLength(60)
+ self.kidneys_lineEdit.setObjectName(_fromUtf8("kidneys_lineEdit"))
+ self.gridLayout.addWidget(self.kidneys_lineEdit, 7, 2, 1, 1)
+ self.label_10 = QtGui.QLabel(self.groupBox)
+ self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.gridLayout.addWidget(self.label_10, 8, 0, 1, 2)
+ self.anaesthetic_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.anaesthetic_lineEdit.setMaxLength(60)
+ self.anaesthetic_lineEdit.setObjectName(_fromUtf8("anaesthetic_lineEdit"))
+ self.gridLayout.addWidget(self.anaesthetic_lineEdit, 8, 2, 1, 1)
+ self.label_12 = QtGui.QLabel(self.groupBox)
+ self.label_12.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_12.setObjectName(_fromUtf8("label_12"))
+ self.gridLayout.addWidget(self.label_12, 9, 0, 1, 2)
+ self.other_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.other_lineEdit.setMaxLength(60)
+ self.other_lineEdit.setObjectName(_fromUtf8("other_lineEdit"))
+ self.gridLayout.addWidget(self.other_lineEdit, 9, 2, 1, 1)
+ self.gridLayout_2.addWidget(self.groupBox, 1, 0, 1, 7)
+ self.checked_pushButton = QtGui.QPushButton(Dialog)
+ self.checked_pushButton.setObjectName(_fromUtf8("checked_pushButton"))
+ self.gridLayout_2.addWidget(self.checked_pushButton, 2, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem, 2, 1, 1, 1)
+ self.date_label = QtGui.QLabel(Dialog)
+ self.date_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.date_label.setObjectName(_fromUtf8("date_label"))
+ self.gridLayout_2.addWidget(self.date_label, 2, 2, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setReadOnly(True)
+ self.dateEdit.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
+ self.dateEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(1900, 1, 1), QtCore.QTime(0, 0, 0)))
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout_2.addWidget(self.dateEdit, 2, 3, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem1, 2, 4, 1, 1)
+ self.checkBox = QtGui.QCheckBox(Dialog)
+ self.checkBox.setObjectName(_fromUtf8("checkBox"))
+ self.gridLayout_2.addWidget(self.checkBox, 2, 5, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_2.addWidget(self.buttonBox, 2, 6, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Medical Notes"))
+ self.groupBox_2.setTitle(_("Doctor\'s details"))
+ self.label.setText(_("Doctor\'s Name"))
+ self.label_2.setText(_("Address / Tel No"))
+ self.groupBox.setTitle(_("Known Conditions"))
+ self.label_3.setText(_("Current Medication"))
+ self.label_4.setText(_("Past Medication"))
+ self.label_5.setText(_("Allergies"))
+ self.label_6.setText(_("Heart"))
+ self.label_7.setText(_("Lungs"))
+ self.label_8.setText(_("Liver"))
+ self.label_11.setText(_("Bleeding"))
+ self.label_9.setText(_("Kidneys"))
+ self.label_10.setText(_("Anaesthetic / operations"))
+ self.label_12.setText(_("Other"))
+ self.checked_pushButton.setText(_("Mark as Checked Today"))
+ self.date_label.setText(_("Checked"))
+ self.checkBox.setText(_("Mark Patient as Med Alert"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py b/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py
new file mode 100644
index 0000000..77bb5a0
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_memo_item.py
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/memo_item.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(400, 28)
+ self.horizontalLayout = QtGui.QHBoxLayout(Form)
+ self.horizontalLayout.setContentsMargins(-1, 2, -1, 2)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label = QtGui.QLabel(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setMinimumSize(QtCore.QSize(60, 0))
+ self.label.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.horizontalLayout.addWidget(self.label)
+ self.lineEdit = QtGui.QLineEdit(Form)
+ self.lineEdit.setMaxLength(30)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.horizontalLayout.addWidget(self.lineEdit)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.label.setText(_("TextLabel"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py b/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py
new file mode 100644
index 0000000..7c69616
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_newBPE.py
@@ -0,0 +1,161 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/newBPE.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(261, 161)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.frame = QtGui.QFrame(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(120)
+ sizePolicy.setVerticalStretch(90)
+ sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
+ self.frame.setSizePolicy(sizePolicy)
+ self.frame.setMinimumSize(QtCore.QSize(200, 90))
+ self.frame.setMaximumSize(QtCore.QSize(300, 90))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout = QtGui.QGridLayout(self.frame)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.bpe_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe_comboBox.setObjectName(_fromUtf8("bpe_comboBox"))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.bpe_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe_comboBox, 0, 0, 1, 1)
+ self.bpe2_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe2_comboBox.setObjectName(_fromUtf8("bpe2_comboBox"))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.bpe2_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe2_comboBox, 0, 1, 1, 1)
+ self.bpe3_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe3_comboBox.setObjectName(_fromUtf8("bpe3_comboBox"))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.bpe3_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe3_comboBox, 0, 2, 1, 1)
+ self.bpe4_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe4_comboBox.setObjectName(_fromUtf8("bpe4_comboBox"))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.bpe4_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe4_comboBox, 1, 0, 1, 1)
+ self.bpe5_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe5_comboBox.setObjectName(_fromUtf8("bpe5_comboBox"))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.bpe5_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe5_comboBox, 1, 1, 1, 1)
+ self.bpe6_comboBox = QtGui.QComboBox(self.frame)
+ self.bpe6_comboBox.setObjectName(_fromUtf8("bpe6_comboBox"))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.bpe6_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.bpe6_comboBox, 1, 2, 1, 1)
+ self.verticalLayout.addWidget(self.frame)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+ Dialog.setTabOrder(self.buttonBox, self.bpe_comboBox)
+ Dialog.setTabOrder(self.bpe_comboBox, self.bpe2_comboBox)
+ Dialog.setTabOrder(self.bpe2_comboBox, self.bpe3_comboBox)
+ Dialog.setTabOrder(self.bpe3_comboBox, self.bpe6_comboBox)
+ Dialog.setTabOrder(self.bpe6_comboBox, self.bpe5_comboBox)
+ Dialog.setTabOrder(self.bpe5_comboBox, self.bpe4_comboBox)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("New CPITN score"))
+ self.bpe_comboBox.setItemText(0, _("0"))
+ self.bpe_comboBox.setItemText(1, _("1"))
+ self.bpe_comboBox.setItemText(2, _("2"))
+ self.bpe_comboBox.setItemText(3, _("3"))
+ self.bpe_comboBox.setItemText(4, _("4"))
+ self.bpe_comboBox.setItemText(5, _("*"))
+ self.bpe2_comboBox.setItemText(0, _("0"))
+ self.bpe2_comboBox.setItemText(1, _("1"))
+ self.bpe2_comboBox.setItemText(2, _("2"))
+ self.bpe2_comboBox.setItemText(3, _("3"))
+ self.bpe2_comboBox.setItemText(4, _("4"))
+ self.bpe2_comboBox.setItemText(5, _("*"))
+ self.bpe3_comboBox.setItemText(0, _("0"))
+ self.bpe3_comboBox.setItemText(1, _("1"))
+ self.bpe3_comboBox.setItemText(2, _("2"))
+ self.bpe3_comboBox.setItemText(3, _("3"))
+ self.bpe3_comboBox.setItemText(4, _("4"))
+ self.bpe3_comboBox.setItemText(5, _("*"))
+ self.bpe4_comboBox.setItemText(0, _("0"))
+ self.bpe4_comboBox.setItemText(1, _("1"))
+ self.bpe4_comboBox.setItemText(2, _("2"))
+ self.bpe4_comboBox.setItemText(3, _("3"))
+ self.bpe4_comboBox.setItemText(4, _("4"))
+ self.bpe4_comboBox.setItemText(5, _("*"))
+ self.bpe5_comboBox.setItemText(0, _("0"))
+ self.bpe5_comboBox.setItemText(1, _("1"))
+ self.bpe5_comboBox.setItemText(2, _("2"))
+ self.bpe5_comboBox.setItemText(3, _("3"))
+ self.bpe5_comboBox.setItemText(4, _("4"))
+ self.bpe5_comboBox.setItemText(5, _("*"))
+ self.bpe6_comboBox.setItemText(0, _("0"))
+ self.bpe6_comboBox.setItemText(1, _("1"))
+ self.bpe6_comboBox.setItemText(2, _("2"))
+ self.bpe6_comboBox.setItemText(3, _("3"))
+ self.bpe6_comboBox.setItemText(4, _("4"))
+ self.bpe6_comboBox.setItemText(5, _("*"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py b/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py
new file mode 100644
index 0000000..977be03
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_newCourse.py
@@ -0,0 +1,88 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/newCourse.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(272, 310)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 3)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
+ self.label_5 = QtGui.QLabel(Dialog)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+ self.label_4 = QtGui.QLabel(Dialog)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(188, 89, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 5, 0, 1, 3)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 6, 0, 1, 3)
+ self.dnt2_comboBox = QtGui.QComboBox(Dialog)
+ self.dnt2_comboBox.setObjectName(_fromUtf8("dnt2_comboBox"))
+ self.gridLayout.addWidget(self.dnt2_comboBox, 2, 1, 1, 1)
+ self.dnt1_comboBox = QtGui.QComboBox(Dialog)
+ self.dnt1_comboBox.setObjectName(_fromUtf8("dnt1_comboBox"))
+ self.gridLayout.addWidget(self.dnt1_comboBox, 1, 1, 1, 1)
+ self.cseType_comboBox = QtGui.QComboBox(Dialog)
+ self.cseType_comboBox.setObjectName(_fromUtf8("cseType_comboBox"))
+ self.gridLayout.addWidget(self.cseType_comboBox, 3, 1, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 4, 1, 1, 2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("New Course"))
+ self.label.setText(_("Start a new Course of Treatment with the following Criteria?"))
+ self.label_2.setText(_("Contracted Dentist"))
+ self.label_3.setText(_("Course Dentist"))
+ self.label_5.setText(_("Course Type"))
+ self.label_4.setText(_("Acceptance Date"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py b/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py
new file mode 100644
index 0000000..1abe223
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_newSetup.py
@@ -0,0 +1,344 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/newSetup.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(429, 405)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.title_label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.title_label.setFont(font)
+ self.title_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.title_label.setObjectName(_fromUtf8("title_label"))
+ self.verticalLayout.addWidget(self.title_label)
+ self.stackedWidget = QtGui.QStackedWidget(Dialog)
+ self.stackedWidget.setObjectName(_fromUtf8("stackedWidget"))
+ self.page = QtGui.QWidget()
+ self.page.setObjectName(_fromUtf8("page"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.page)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.label_7 = QtGui.QLabel(self.page)
+ self.label_7.setMinimumSize(QtCore.QSize(0, 100))
+ self.label_7.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_7.setWordWrap(True)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.verticalLayout_3.addWidget(self.label_7)
+ self.sysAdvice_label = QtGui.QLabel(self.page)
+ self.sysAdvice_label.setWordWrap(True)
+ self.sysAdvice_label.setObjectName(_fromUtf8("sysAdvice_label"))
+ self.verticalLayout_3.addWidget(self.sysAdvice_label)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_3.addItem(spacerItem)
+ self.stackedWidget.addWidget(self.page)
+ self.page_2 = QtGui.QWidget()
+ self.page_2.setObjectName(_fromUtf8("page_2"))
+ self.gridLayout = QtGui.QGridLayout(self.page_2)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.mainPassword_label = QtGui.QLabel(self.page_2)
+ self.mainPassword_label.setMinimumSize(QtCore.QSize(0, 80))
+ font = QtGui.QFont()
+ font.setBold(False)
+ font.setWeight(50)
+ self.mainPassword_label.setFont(font)
+ self.mainPassword_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.mainPassword_label.setWordWrap(True)
+ self.mainPassword_label.setObjectName(_fromUtf8("mainPassword_label"))
+ self.gridLayout.addWidget(self.mainPassword_label, 0, 0, 1, 3)
+ self.label_5 = QtGui.QLabel(self.page_2)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 1, 0, 1, 1)
+ self.main_password_lineEdit = QtGui.QLineEdit(self.page_2)
+ self.main_password_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.main_password_lineEdit.setText(_fromUtf8(""))
+ self.main_password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.main_password_lineEdit.setObjectName(_fromUtf8("main_password_lineEdit"))
+ self.gridLayout.addWidget(self.main_password_lineEdit, 1, 1, 1, 1)
+ self.mainpassword_checkBox = QtGui.QCheckBox(self.page_2)
+ self.mainpassword_checkBox.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.mainpassword_checkBox.setObjectName(_fromUtf8("mainpassword_checkBox"))
+ self.gridLayout.addWidget(self.mainpassword_checkBox, 1, 2, 1, 1)
+ self.label_8 = QtGui.QLabel(self.page_2)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
+ self.repeat_password_lineEdit = QtGui.QLineEdit(self.page_2)
+ self.repeat_password_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.repeat_password_lineEdit.setText(_fromUtf8(""))
+ self.repeat_password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.repeat_password_lineEdit.setObjectName(_fromUtf8("repeat_password_lineEdit"))
+ self.gridLayout.addWidget(self.repeat_password_lineEdit, 2, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem1, 3, 1, 1, 1)
+ self.stackedWidget.addWidget(self.page_2)
+ self.page_3 = QtGui.QWidget()
+ self.page_3.setObjectName(_fromUtf8("page_3"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.page_3)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label_13 = QtGui.QLabel(self.page_3)
+ self.label_13.setEnabled(True)
+ self.label_13.setMinimumSize(QtCore.QSize(0, 40))
+ font = QtGui.QFont()
+ font.setBold(False)
+ font.setWeight(50)
+ self.label_13.setFont(font)
+ self.label_13.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label_13.setWordWrap(True)
+ self.label_13.setObjectName(_fromUtf8("label_13"))
+ self.gridLayout_2.addWidget(self.label_13, 0, 0, 1, 3)
+ self.label_12 = QtGui.QLabel(self.page_3)
+ self.label_12.setEnabled(True)
+ self.label_12.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_12.setObjectName(_fromUtf8("label_12"))
+ self.gridLayout_2.addWidget(self.label_12, 1, 0, 1, 1)
+ self.host_lineEdit = QtGui.QLineEdit(self.page_3)
+ self.host_lineEdit.setEnabled(True)
+ self.host_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.host_lineEdit.setText(_fromUtf8("localhost"))
+ self.host_lineEdit.setObjectName(_fromUtf8("host_lineEdit"))
+ self.gridLayout_2.addWidget(self.host_lineEdit, 1, 2, 1, 1)
+ self.label_14 = QtGui.QLabel(self.page_3)
+ self.label_14.setEnabled(True)
+ self.label_14.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_14.setObjectName(_fromUtf8("label_14"))
+ self.gridLayout_2.addWidget(self.label_14, 2, 0, 1, 1)
+ self.port_lineEdit = QtGui.QLineEdit(self.page_3)
+ self.port_lineEdit.setEnabled(True)
+ self.port_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.port_lineEdit.setText(_fromUtf8("3306"))
+ self.port_lineEdit.setObjectName(_fromUtf8("port_lineEdit"))
+ self.gridLayout_2.addWidget(self.port_lineEdit, 2, 2, 1, 1)
+ self.label_9 = QtGui.QLabel(self.page_3)
+ self.label_9.setWordWrap(True)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout_2.addWidget(self.label_9, 4, 0, 1, 3)
+ spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem2, 3, 2, 1, 1)
+ self.stackedWidget.addWidget(self.page_3)
+ self.page_4 = QtGui.QWidget()
+ self.page_4.setObjectName(_fromUtf8("page_4"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.page_4)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.groupBox = QtGui.QGroupBox(self.page_4)
+ self.groupBox.setEnabled(True)
+ self.groupBox.setFlat(False)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.gridLayout_5 = QtGui.QGridLayout(self.groupBox)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.label_2 = QtGui.QLabel(self.groupBox)
+ self.label_2.setEnabled(True)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_5.addWidget(self.label_2, 2, 0, 1, 1)
+ self.user_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.user_lineEdit.setEnabled(True)
+ self.user_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.user_lineEdit.setText(_fromUtf8("OMuser"))
+ self.user_lineEdit.setObjectName(_fromUtf8("user_lineEdit"))
+ self.gridLayout_5.addWidget(self.user_lineEdit, 2, 2, 1, 1)
+ self.label_3 = QtGui.QLabel(self.groupBox)
+ self.label_3.setEnabled(True)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_5.addWidget(self.label_3, 3, 0, 1, 1)
+ self.password_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.password_lineEdit.setEnabled(True)
+ self.password_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.password_lineEdit.setText(_fromUtf8("password"))
+ self.password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.password_lineEdit.setObjectName(_fromUtf8("password_lineEdit"))
+ self.gridLayout_5.addWidget(self.password_lineEdit, 3, 2, 1, 1)
+ self.dbpassword_checkBox = QtGui.QCheckBox(self.groupBox)
+ self.dbpassword_checkBox.setEnabled(True)
+ self.dbpassword_checkBox.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.dbpassword_checkBox.setObjectName(_fromUtf8("dbpassword_checkBox"))
+ self.gridLayout_5.addWidget(self.dbpassword_checkBox, 3, 3, 1, 1)
+ self.database_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.database_lineEdit.setEnabled(True)
+ self.database_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.database_lineEdit.setText(_fromUtf8("openmolar_demo"))
+ self.database_lineEdit.setObjectName(_fromUtf8("database_lineEdit"))
+ self.gridLayout_5.addWidget(self.database_lineEdit, 1, 2, 1, 1)
+ self.label_4 = QtGui.QLabel(self.groupBox)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout_5.addWidget(self.label_4, 1, 0, 1, 1)
+ self.testDB_pushButton = QtGui.QPushButton(self.groupBox)
+ self.testDB_pushButton.setEnabled(True)
+ self.testDB_pushButton.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.testDB_pushButton.setObjectName(_fromUtf8("testDB_pushButton"))
+ self.gridLayout_5.addWidget(self.testDB_pushButton, 4, 2, 1, 1)
+ spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_5.addItem(spacerItem3, 5, 2, 1, 1)
+ self.gridLayout_3.addWidget(self.groupBox, 4, 0, 2, 2)
+ self.createDemo_radioButton = QtGui.QRadioButton(self.page_4)
+ self.createDemo_radioButton.setChecked(True)
+ self.createDemo_radioButton.setObjectName(_fromUtf8("createDemo_radioButton"))
+ self.gridLayout_3.addWidget(self.createDemo_radioButton, 0, 0, 1, 1)
+ self.existingDB_radioButton = QtGui.QRadioButton(self.page_4)
+ self.existingDB_radioButton.setObjectName(_fromUtf8("existingDB_radioButton"))
+ self.gridLayout_3.addWidget(self.existingDB_radioButton, 1, 0, 1, 1)
+ self.stackedWidget.addWidget(self.page_4)
+ self.page_5 = QtGui.QWidget()
+ self.page_5.setObjectName(_fromUtf8("page_5"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.page_5)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.label = QtGui.QLabel(self.page_5)
+ self.label.setTextFormat(QtCore.Qt.PlainText)
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout_2.addWidget(self.label)
+ spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_2.addItem(spacerItem4)
+ self.checkBox = QtGui.QCheckBox(self.page_5)
+ self.checkBox.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.checkBox.setChecked(True)
+ self.checkBox.setObjectName(_fromUtf8("checkBox"))
+ self.verticalLayout_2.addWidget(self.checkBox)
+ spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_2.addItem(spacerItem5)
+ self.stackedWidget.addWidget(self.page_5)
+ self.page_6 = QtGui.QWidget()
+ self.page_6.setObjectName(_fromUtf8("page_6"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.page_6)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.mainPassword_label_2 = QtGui.QLabel(self.page_6)
+ self.mainPassword_label_2.setMinimumSize(QtCore.QSize(0, 100))
+ font = QtGui.QFont()
+ font.setBold(False)
+ font.setWeight(50)
+ self.mainPassword_label_2.setFont(font)
+ self.mainPassword_label_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.mainPassword_label_2.setWordWrap(True)
+ self.mainPassword_label_2.setObjectName(_fromUtf8("mainPassword_label_2"))
+ self.gridLayout_4.addWidget(self.mainPassword_label_2, 0, 0, 1, 3)
+ self.label_6 = QtGui.QLabel(self.page_6)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout_4.addWidget(self.label_6, 2, 0, 1, 1)
+ spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_4.addItem(spacerItem6, 4, 1, 1, 1)
+ self.rootPassword_lineEdit = QtGui.QLineEdit(self.page_6)
+ self.rootPassword_lineEdit.setMinimumSize(QtCore.QSize(100, 0))
+ self.rootPassword_lineEdit.setText(_fromUtf8(""))
+ self.rootPassword_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.rootPassword_lineEdit.setObjectName(_fromUtf8("rootPassword_lineEdit"))
+ self.gridLayout_4.addWidget(self.rootPassword_lineEdit, 3, 0, 1, 1)
+ self.rootPassword_checkBox = QtGui.QCheckBox(self.page_6)
+ self.rootPassword_checkBox.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.rootPassword_checkBox.setObjectName(_fromUtf8("rootPassword_checkBox"))
+ self.gridLayout_4.addWidget(self.rootPassword_checkBox, 3, 1, 1, 1)
+ spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_4.addItem(spacerItem7, 1, 0, 1, 1)
+ self.stackedWidget.addWidget(self.page_6)
+ self.page_7 = QtGui.QWidget()
+ self.page_7.setObjectName(_fromUtf8("page_7"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.page_7)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_4.addItem(spacerItem8)
+ self.label_10 = QtGui.QLabel(self.page_7)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.verticalLayout_4.addWidget(self.label_10)
+ spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_4.addItem(spacerItem9)
+ self.progressBar = QtGui.QProgressBar(self.page_7)
+ self.progressBar.setProperty("value", 0)
+ self.progressBar.setObjectName(_fromUtf8("progressBar"))
+ self.verticalLayout_4.addWidget(self.progressBar)
+ spacerItem10 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout_4.addItem(spacerItem10)
+ self.stackedWidget.addWidget(self.page_7)
+ self.verticalLayout.addWidget(self.stackedWidget)
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.horizontalLayout_3 = QtGui.QHBoxLayout(self.frame)
+ self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
+ self.back_pushButton = QtGui.QPushButton(self.frame)
+ self.back_pushButton.setFocusPolicy(QtCore.Qt.TabFocus)
+ self.back_pushButton.setObjectName(_fromUtf8("back_pushButton"))
+ self.horizontalLayout_3.addWidget(self.back_pushButton)
+ self.go_pushButton = QtGui.QPushButton(self.frame)
+ self.go_pushButton.setObjectName(_fromUtf8("go_pushButton"))
+ self.horizontalLayout_3.addWidget(self.go_pushButton)
+ self.verticalLayout.addWidget(self.frame)
+
+ self.retranslateUi(Dialog)
+ self.stackedWidget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("OpenMolar - First Run"))
+ self.title_label.setText(_("Welcome to the openMolar settings wizard."))
+ self.label_7.setText(_("This first run application will \n"
+" - set your system password\n"
+" - make this client aware of your mysql server settings\n"
+" - install a small (4 patient) demo database if required."))
+ self.sysAdvice_label.setText(_("TextLabel"))
+ self.mainPassword_label.setText(_("Please enter a password to prevent unauthorised running of this application."))
+ self.label_5.setText(_("Password"))
+ self.mainpassword_checkBox.setText(_("show"))
+ self.label_8.setText(_("Repeat Password"))
+ self.label_13.setText(_("Where is your mysql server located? **"))
+ self.label_12.setText(_("Host"))
+ self.label_14.setText(_("Port"))
+ self.label_9.setText(_("** If you do not have a mysql server on your network, please quit this setup, and install mysql server now.\n"
+"\n"
+"If you are a debian or ubuntu user, \"sudo apt-get install mysql-server\"\n"
+"and make a note of the root password you create during set up. "))
+ self.groupBox.setTitle(_("Database Details"))
+ self.label_2.setText(_("User"))
+ self.label_3.setText(_("(mysql)Password"))
+ self.dbpassword_checkBox.setText(_("show"))
+ self.label_4.setText(_("Database Name"))
+ self.testDB_pushButton.setText(_("Test this Connection"))
+ self.createDemo_radioButton.setText(_("Create A Demo Database"))
+ self.existingDB_radioButton.setText(_("Use with an existing database"))
+ self.label.setText(_("OK.... you are all set to go.\n"
+"\n"
+"When running openMolar, you are presented a login screen.\n"
+"\n"
+"Password = the one you specified earlier\n"
+"User1 = any registered user (demo database has one user \"user\")\n"
+"User2 = any registered user (can be left blank)\n"
+""))
+ self.checkBox.setText(_("Launch OpenMolar Now"))
+ self.mainPassword_label_2.setText(_("To create a database, and set the privileges for user, requires logging into mysql as the root mysql user.\n"
+"OpenMolar does NOT store this password.\n"
+"Please enter the password of the ROOT mysql user.\n"
+"(note - on most mysql setups, root access is disabled unless the server is on localhost)"))
+ self.label_6.setText(_("Root mysql password"))
+ self.rootPassword_checkBox.setText(_("show"))
+ self.label_10.setText(_("Creating Database.... please wait"))
+ self.back_pushButton.setText(_("Back"))
+ self.go_pushButton.setText(_("Proceed"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py b/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py
new file mode 100644
index 0000000..a1b47bd
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_ortho_ref_wizard.py
@@ -0,0 +1,218 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/ortho_ref_wizard.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(910, 594)
+ Dialog.setMinimumSize(QtCore.QSize(0, 0))
+ Dialog.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.gridLayout_5 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.groupBox_5 = QtGui.QGroupBox(Dialog)
+ self.groupBox_5.setMinimumSize(QtCore.QSize(0, 0))
+ self.groupBox_5.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.groupBox_5.setObjectName(_fromUtf8("groupBox_5"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.groupBox_5)
+ self.gridLayout_4.setMargin(2)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.dh_plainTextEdit = QtGui.QPlainTextEdit(self.groupBox_5)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.dh_plainTextEdit.sizePolicy().hasHeightForWidth())
+ self.dh_plainTextEdit.setSizePolicy(sizePolicy)
+ self.dh_plainTextEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.dh_plainTextEdit.setObjectName(_fromUtf8("dh_plainTextEdit"))
+ self.gridLayout_4.addWidget(self.dh_plainTextEdit, 0, 0, 1, 2)
+ self.gridLayout_5.addWidget(self.groupBox_5, 2, 1, 1, 1)
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.gridLayout = QtGui.QGridLayout(self.frame)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_2 = QtGui.QLabel(self.frame)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1)
+ self.ref1_radioButton = QtGui.QRadioButton(self.frame)
+ self.ref1_radioButton.setChecked(True)
+ self.ref1_radioButton.setObjectName(_fromUtf8("ref1_radioButton"))
+ self.gridLayout.addWidget(self.ref1_radioButton, 0, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(68, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout.addItem(spacerItem, 0, 1, 1, 2)
+ self.ref2_radioButton = QtGui.QRadioButton(self.frame)
+ self.ref2_radioButton.setObjectName(_fromUtf8("ref2_radioButton"))
+ self.gridLayout.addWidget(self.ref2_radioButton, 1, 0, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(self.frame)
+ self.dateEdit.setEnabled(False)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 1, 2, 1, 1)
+ self.tx_checkBox = QtGui.QCheckBox(self.frame)
+ self.tx_checkBox.setObjectName(_fromUtf8("tx_checkBox"))
+ self.gridLayout.addWidget(self.tx_checkBox, 2, 0, 1, 3)
+ self.gridLayout_5.addWidget(self.frame, 0, 0, 1, 1)
+ self.chart_groupBox = QtGui.QGroupBox(Dialog)
+ self.chart_groupBox.setMinimumSize(QtCore.QSize(0, 80))
+ self.chart_groupBox.setObjectName(_fromUtf8("chart_groupBox"))
+ self.gridLayout_5.addWidget(self.chart_groupBox, 0, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_5.addWidget(self.buttonBox, 4, 0, 1, 3)
+ self.groupBox_4 = QtGui.QGroupBox(Dialog)
+ self.groupBox_4.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.groupBox_4.setObjectName(_fromUtf8("groupBox_4"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.groupBox_4)
+ self.gridLayout_3.setMargin(2)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.mh__plainTextEdit = QtGui.QPlainTextEdit(self.groupBox_4)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.mh__plainTextEdit.sizePolicy().hasHeightForWidth())
+ self.mh__plainTextEdit.setSizePolicy(sizePolicy)
+ self.mh__plainTextEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.mh__plainTextEdit.setObjectName(_fromUtf8("mh__plainTextEdit"))
+ self.gridLayout_3.addWidget(self.mh__plainTextEdit, 0, 0, 1, 1)
+ self.gridLayout_5.addWidget(self.groupBox_4, 3, 1, 1, 1)
+ self.groupBox = QtGui.QGroupBox(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+ self.groupBox.setSizePolicy(sizePolicy)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
+ self.verticalLayout_2.setSpacing(2)
+ self.verticalLayout_2.setMargin(2)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.groupBox_2 = QtGui.QGroupBox(self.groupBox)
+ self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_2)
+ self.verticalLayout_3.setMargin(2)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.crowding5_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.crowding5_radioButton.setObjectName(_fromUtf8("crowding5_radioButton"))
+ self.verticalLayout_3.addWidget(self.crowding5_radioButton)
+ self.crowding4_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.crowding4_radioButton.setObjectName(_fromUtf8("crowding4_radioButton"))
+ self.verticalLayout_3.addWidget(self.crowding4_radioButton)
+ self.crowding3_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.crowding3_radioButton.setObjectName(_fromUtf8("crowding3_radioButton"))
+ self.verticalLayout_3.addWidget(self.crowding3_radioButton)
+ self.crowding2_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.crowding2_radioButton.setObjectName(_fromUtf8("crowding2_radioButton"))
+ self.verticalLayout_3.addWidget(self.crowding2_radioButton)
+ self.crowding1_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.crowding1_radioButton.setObjectName(_fromUtf8("crowding1_radioButton"))
+ self.verticalLayout_3.addWidget(self.crowding1_radioButton)
+ self.verticalLayout_2.addWidget(self.groupBox_2)
+ self.groupBox_3 = QtGui.QGroupBox(self.groupBox)
+ self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.groupBox_3)
+ self.gridLayout_2.setMargin(2)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label = QtGui.QLabel(self.groupBox_3)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+ self.oj_spinBox = QtGui.QSpinBox(self.groupBox_3)
+ self.oj_spinBox.setMinimum(-20)
+ self.oj_spinBox.setMaximum(20)
+ self.oj_spinBox.setObjectName(_fromUtf8("oj_spinBox"))
+ self.gridLayout_2.addWidget(self.oj_spinBox, 0, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(248, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 3)
+ self.label_3 = QtGui.QLabel(self.groupBox_3)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
+ self.ob1_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.ob1_radioButton.setObjectName(_fromUtf8("ob1_radioButton"))
+ self.gridLayout_2.addWidget(self.ob1_radioButton, 1, 2, 1, 1)
+ self.ob2_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.ob2_radioButton.setObjectName(_fromUtf8("ob2_radioButton"))
+ self.gridLayout_2.addWidget(self.ob2_radioButton, 1, 3, 1, 1)
+ self.ob3_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.ob3_radioButton.setObjectName(_fromUtf8("ob3_radioButton"))
+ self.gridLayout_2.addWidget(self.ob3_radioButton, 1, 4, 1, 1)
+ self.ob_spinBox = QtGui.QSpinBox(self.groupBox_3)
+ self.ob_spinBox.setMaximum(100)
+ self.ob_spinBox.setObjectName(_fromUtf8("ob_spinBox"))
+ self.gridLayout_2.addWidget(self.ob_spinBox, 1, 1, 1, 1)
+ self.verticalLayout_2.addWidget(self.groupBox_3)
+ self.groupBox_6 = QtGui.QGroupBox(self.groupBox)
+ self.groupBox_6.setObjectName(_fromUtf8("groupBox_6"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.groupBox_6)
+ self.verticalLayout.setSpacing(2)
+ self.verticalLayout.setMargin(2)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.fixed_checkBox = QtGui.QCheckBox(self.groupBox_6)
+ self.fixed_checkBox.setObjectName(_fromUtf8("fixed_checkBox"))
+ self.verticalLayout.addWidget(self.fixed_checkBox)
+ self.removable_checkBox = QtGui.QCheckBox(self.groupBox_6)
+ self.removable_checkBox.setObjectName(_fromUtf8("removable_checkBox"))
+ self.verticalLayout.addWidget(self.removable_checkBox)
+ self.verticalLayout_2.addWidget(self.groupBox_6)
+ self.gridLayout_5.addWidget(self.groupBox, 2, 0, 2, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Dialog"))
+ self.groupBox_5.setTitle(_("Dental History"))
+ self.label_2.setText(_("Previous Referral Date"))
+ self.ref1_radioButton.setText(_("1st referral"))
+ self.ref2_radioButton.setText(_("re - referral"))
+ self.tx_checkBox.setText(_("I am Willing to carry out simple treatment"))
+ self.chart_groupBox.setTitle(_("Teeth With Poor Prognosis"))
+ self.groupBox_4.setTitle(_("Relevant Medical History"))
+ self.groupBox.setTitle(_("Reason for Referral"))
+ self.groupBox_2.setTitle(_("Crowding"))
+ self.crowding5_radioButton.setText(_("Severe"))
+ self.crowding4_radioButton.setText(_("Moderate"))
+ self.crowding3_radioButton.setText(_("Mild"))
+ self.crowding2_radioButton.setText(_("None"))
+ self.crowding1_radioButton.setText(_("Spaced"))
+ self.groupBox_3.setTitle(_("Incisal Relationship"))
+ self.label.setText(_("Overjet:"))
+ self.oj_spinBox.setSuffix(_("mm"))
+ self.label_3.setText(_("Overbite"))
+ self.ob1_radioButton.setText(_("Complete"))
+ self.ob2_radioButton.setText(_("InComplete"))
+ self.ob3_radioButton.setText(_("Traumatic"))
+ self.ob_spinBox.setSuffix(_("%"))
+ self.groupBox_6.setTitle(_("Patient Motivation"))
+ self.fixed_checkBox.setText(_("Fixed Appliance"))
+ self.removable_checkBox.setText(_("Removable Applicance"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_patient_diary.py b/src/openmolar/qt4gui/compiled_uis/Ui_patient_diary.py
new file mode 100644
index 0000000..e857a19
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_patient_diary.py
@@ -0,0 +1,172 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/patient_diary.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(829, 205)
+ self.gridLayout = QtGui.QGridLayout(Form)
+ self.gridLayout.setMargin(0)
+ self.gridLayout.setSpacing(6)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.appt_memo_lineEdit = QtGui.QLineEdit(Form)
+ self.appt_memo_lineEdit.setStyleSheet(_fromUtf8("color:rgb(255, 0, 0)"))
+ self.appt_memo_lineEdit.setObjectName(_fromUtf8("appt_memo_lineEdit"))
+ self.gridLayout.addWidget(self.appt_memo_lineEdit, 0, 0, 1, 2)
+ self.recall_settings_pushButton = QtGui.QPushButton(Form)
+ self.recall_settings_pushButton.setObjectName(_fromUtf8("recall_settings_pushButton"))
+ self.gridLayout.addWidget(self.recall_settings_pushButton, 0, 2, 1, 1)
+ self.pt_diary_treeView = QtGui.QTreeView(Form)
+ self.pt_diary_treeView.setObjectName(_fromUtf8("pt_diary_treeView"))
+ self.gridLayout.addWidget(self.pt_diary_treeView, 1, 0, 1, 1)
+ self.appt_buttons_frame = QtGui.QFrame(Form)
+ self.appt_buttons_frame.setEnabled(True)
+ self.appt_buttons_frame.setMinimumSize(QtCore.QSize(330, 0))
+ self.appt_buttons_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.appt_buttons_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.appt_buttons_frame.setObjectName(_fromUtf8("appt_buttons_frame"))
+ self.verticalLayout_33 = QtGui.QVBoxLayout(self.appt_buttons_frame)
+ self.verticalLayout_33.setSpacing(0)
+ self.verticalLayout_33.setMargin(0)
+ self.verticalLayout_33.setObjectName(_fromUtf8("verticalLayout_33"))
+ self.apptWizard_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.apptWizard_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.apptWizard_pushButton.sizePolicy().hasHeightForWidth())
+ self.apptWizard_pushButton.setSizePolicy(sizePolicy)
+ self.apptWizard_pushButton.setObjectName(_fromUtf8("apptWizard_pushButton"))
+ self.verticalLayout_33.addWidget(self.apptWizard_pushButton)
+ self.gridLayout_16 = QtGui.QGridLayout()
+ self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
+ self.newAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.newAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.newAppt_pushButton.setSizePolicy(sizePolicy)
+ self.newAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/add_user.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.newAppt_pushButton.setIcon(icon)
+ self.newAppt_pushButton.setObjectName(_fromUtf8("newAppt_pushButton"))
+ self.gridLayout_16.addWidget(self.newAppt_pushButton, 0, 0, 1, 1)
+ self.clearAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.clearAppt_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.clearAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.clearAppt_pushButton.setSizePolicy(sizePolicy)
+ self.clearAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/eraser.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.clearAppt_pushButton.setIcon(icon1)
+ self.clearAppt_pushButton.setObjectName(_fromUtf8("clearAppt_pushButton"))
+ self.gridLayout_16.addWidget(self.clearAppt_pushButton, 0, 1, 1, 1)
+ self.verticalLayout_31 = QtGui.QVBoxLayout()
+ self.verticalLayout_31.setObjectName(_fromUtf8("verticalLayout_31"))
+ self.scheduleAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.scheduleAppt_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.scheduleAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.scheduleAppt_pushButton.setSizePolicy(sizePolicy)
+ self.scheduleAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/month.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.scheduleAppt_pushButton.setIcon(icon2)
+ self.scheduleAppt_pushButton.setObjectName(_fromUtf8("scheduleAppt_pushButton"))
+ self.verticalLayout_31.addWidget(self.scheduleAppt_pushButton)
+ self.findAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.findAppt_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.findAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.findAppt_pushButton.setSizePolicy(sizePolicy)
+ self.findAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/schedule.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.findAppt_pushButton.setIcon(icon3)
+ self.findAppt_pushButton.setObjectName(_fromUtf8("findAppt_pushButton"))
+ self.verticalLayout_31.addWidget(self.findAppt_pushButton)
+ self.gridLayout_16.addLayout(self.verticalLayout_31, 0, 2, 2, 1)
+ self.printAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.printAppt_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.printAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.printAppt_pushButton.setSizePolicy(sizePolicy)
+ self.printAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ icon4 = QtGui.QIcon()
+ icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/ps.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.printAppt_pushButton.setIcon(icon4)
+ self.printAppt_pushButton.setObjectName(_fromUtf8("printAppt_pushButton"))
+ self.gridLayout_16.addWidget(self.printAppt_pushButton, 1, 0, 1, 1)
+ self.modifyAppt_pushButton = QtGui.QPushButton(self.appt_buttons_frame)
+ self.modifyAppt_pushButton.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.modifyAppt_pushButton.sizePolicy().hasHeightForWidth())
+ self.modifyAppt_pushButton.setSizePolicy(sizePolicy)
+ self.modifyAppt_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.modifyAppt_pushButton.setObjectName(_fromUtf8("modifyAppt_pushButton"))
+ self.gridLayout_16.addWidget(self.modifyAppt_pushButton, 1, 1, 1, 1)
+ self.verticalLayout_33.addLayout(self.gridLayout_16)
+ self.gridLayout.addWidget(self.appt_buttons_frame, 1, 1, 1, 2)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.appt_memo_lineEdit.setToolTip(_("<html><head/><body><p>A place to keep a reminder of the patients appointment preferences.</p><p>Eg. "30 minute appointments for examinations" etc. </p></body></html>"))
+ self.recall_settings_pushButton.setText(_("Recall Settings"))
+ self.apptWizard_pushButton.setToolTip(_("A Wizard to select some common appointment combinations"))
+ self.apptWizard_pushButton.setText(_("Appointment Shortcuts"))
+ self.newAppt_pushButton.setToolTip(_("A New Appointment for this patient"))
+ self.newAppt_pushButton.setText(_("&New"))
+ self.clearAppt_pushButton.setToolTip(_("delete or cancel the appointment"))
+ self.clearAppt_pushButton.setText(_("Clear/Cancel"))
+ self.scheduleAppt_pushButton.setToolTip(_("Make the selected appointment"))
+ self.scheduleAppt_pushButton.setText(_("Schedule"))
+ self.findAppt_pushButton.setToolTip(_("Find the appointment in the the practice appointment list"))
+ self.findAppt_pushButton.setText(_("Find in Book"))
+ self.printAppt_pushButton.setToolTip(_("Print out the next 5 appointments for this patient"))
+ self.printAppt_pushButton.setText(_("Print Card"))
+ self.modifyAppt_pushButton.setToolTip(_("Allows modifcation of certain criteria for this appointment"))
+ self.modifyAppt_pushButton.setText(_("Modify"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py b/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py
new file mode 100644
index 0000000..77efdd2
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_patient_finder.py
@@ -0,0 +1,173 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/patient_finder.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(306, 367)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/logo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ Dialog.setWindowIcon(icon)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setWordWrap(True)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 0, 0, 1, 3)
+ self.repeat_pushButton = QtGui.QPushButton(Dialog)
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/agt_reload.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.repeat_pushButton.setIcon(icon1)
+ self.repeat_pushButton.setObjectName(_fromUtf8("repeat_pushButton"))
+ self.gridLayout.addWidget(self.repeat_pushButton, 1, 0, 1, 3)
+ self.line = QtGui.QFrame(Dialog)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout.addWidget(self.line, 2, 0, 1, 3)
+ self.label_5 = QtGui.QLabel(Dialog)
+ self.label_5.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+ self.sname = QtGui.QLineEdit(Dialog)
+ self.sname.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.sname.setObjectName(_fromUtf8("sname"))
+ self.gridLayout.addWidget(self.sname, 3, 1, 1, 1)
+ self.snameSoundex_checkBox = QtGui.QCheckBox(Dialog)
+ self.snameSoundex_checkBox.setMaximumSize(QtCore.QSize(60, 24))
+ self.snameSoundex_checkBox.setText(_fromUtf8(""))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/speaker.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.snameSoundex_checkBox.setIcon(icon2)
+ self.snameSoundex_checkBox.setObjectName(_fromUtf8("snameSoundex_checkBox"))
+ self.gridLayout.addWidget(self.snameSoundex_checkBox, 3, 2, 1, 1)
+ self.label_6 = QtGui.QLabel(Dialog)
+ self.label_6.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1)
+ self.fname = QtGui.QLineEdit(Dialog)
+ self.fname.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.fname.setObjectName(_fromUtf8("fname"))
+ self.gridLayout.addWidget(self.fname, 4, 1, 1, 1)
+ self.fnameSoundex_checkBox = QtGui.QCheckBox(Dialog)
+ self.fnameSoundex_checkBox.setMaximumSize(QtCore.QSize(60, 24))
+ self.fnameSoundex_checkBox.setText(_fromUtf8(""))
+ self.fnameSoundex_checkBox.setIcon(icon2)
+ self.fnameSoundex_checkBox.setObjectName(_fromUtf8("fnameSoundex_checkBox"))
+ self.gridLayout.addWidget(self.fnameSoundex_checkBox, 4, 2, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 5, 0, 1, 1)
+ self.label_7 = QtGui.QLabel(Dialog)
+ self.label_7.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 6, 0, 1, 1)
+ self.addr1 = QtGui.QLineEdit(Dialog)
+ self.addr1.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.addr1.setObjectName(_fromUtf8("addr1"))
+ self.gridLayout.addWidget(self.addr1, 6, 1, 1, 2)
+ self.label_8 = QtGui.QLabel(Dialog)
+ self.label_8.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 7, 0, 1, 1)
+ self.tel = QtGui.QLineEdit(Dialog)
+ self.tel.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.tel.setObjectName(_fromUtf8("tel"))
+ self.gridLayout.addWidget(self.tel, 7, 1, 1, 1)
+ self.label_9 = QtGui.QLabel(Dialog)
+ self.label_9.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 8, 0, 1, 1)
+ self.pcde = QtGui.QLineEdit(Dialog)
+ self.pcde.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.pcde.setObjectName(_fromUtf8("pcde"))
+ self.gridLayout.addWidget(self.pcde, 8, 1, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 21, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 9, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 10, 0, 1, 3)
+ self.dateEdit = QtGui.QDateEdit(Dialog)
+ self.dateEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(1900, 1, 1), QtCore.QTime(0, 0, 0)))
+ self.dateEdit.setCalendarPopup(True)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 5, 1, 1, 1)
+ self.label_5.setBuddy(self.sname)
+ self.label_6.setBuddy(self.fname)
+ self.label_7.setBuddy(self.addr1)
+ self.label_8.setBuddy(self.tel)
+ self.label_9.setBuddy(self.pcde)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+ Dialog.setTabOrder(self.sname, self.fname)
+ Dialog.setTabOrder(self.fname, self.dateEdit)
+ Dialog.setTabOrder(self.dateEdit, self.addr1)
+ Dialog.setTabOrder(self.addr1, self.tel)
+ Dialog.setTabOrder(self.tel, self.pcde)
+ Dialog.setTabOrder(self.pcde, self.buttonBox)
+ Dialog.setTabOrder(self.buttonBox, self.repeat_pushButton)
+ Dialog.setTabOrder(self.repeat_pushButton, self.snameSoundex_checkBox)
+ Dialog.setTabOrder(self.snameSoundex_checkBox, self.fnameSoundex_checkBox)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Patient Finder"))
+ self.label_3.setText(_("Fill in a few of the following fields to get a list of possible patients"))
+ self.repeat_pushButton.setText(_("Repeat Last Search"))
+ self.label_5.setText(_("SNO or Surname"))
+ self.sname.setToolTip(_("Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box."))
+ self.snameSoundex_checkBox.setToolTip(_("check to search for a similar sounding name"))
+ self.label_6.setText(_("First Name"))
+ self.fname.setToolTip(_("Enter either the full name or the first few letters of the name.\n"
+"\n"
+"If you are unsure of the spelling, type in the COMPLETE name,\n"
+"and check the adjacent \"sounds like\" box.\n"
+"Be wary of middle names. \n"
+"eg. \"Neil\" does NOT sound like \"Neil Alexander\"!"))
+ self.fnameSoundex_checkBox.setToolTip(_("check to search for a similar sounding name"))
+ self.label_2.setText(_("Date of Birth"))
+ self.label_7.setText(_("Address includes"))
+ self.addr1.setToolTip(_("openMolar will search line1 and line2 of the address for this text"))
+ self.label_8.setText(_("Telephone"))
+ self.tel.setToolTip(_("open molar will search tel1, tel2 and mobile for numbers present here."))
+ self.label_9.setText(_("Postcode"))
+ self.pcde.setToolTip(_("search for a postcode"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_payments.py b/src/openmolar/qt4gui/compiled_uis/Ui_payments.py
new file mode 100644
index 0000000..4a03ad1
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_payments.py
@@ -0,0 +1,205 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/payments.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.setWindowModality(QtCore.Qt.ApplicationModal)
+ Dialog.resize(226, 404)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.groupBox_2 = QtGui.QGroupBox(Dialog)
+ self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.groupBox_2)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.label = QtGui.QLabel(self.groupBox_2)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+ self.cash_pushButton = QtGui.QPushButton(self.groupBox_2)
+ self.cash_pushButton.setMaximumSize(QtCore.QSize(28, 28))
+ self.cash_pushButton.setObjectName(_fromUtf8("cash_pushButton"))
+ self.gridLayout_2.addWidget(self.cash_pushButton, 0, 2, 1, 1)
+ self.label_2 = QtGui.QLabel(self.groupBox_2)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+ self.cheque_pushButton = QtGui.QPushButton(self.groupBox_2)
+ self.cheque_pushButton.setMaximumSize(QtCore.QSize(28, 28))
+ self.cheque_pushButton.setObjectName(_fromUtf8("cheque_pushButton"))
+ self.gridLayout_2.addWidget(self.cheque_pushButton, 1, 2, 1, 1)
+ self.label_3 = QtGui.QLabel(self.groupBox_2)
+ self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
+ self.debit_pushButton = QtGui.QPushButton(self.groupBox_2)
+ self.debit_pushButton.setMaximumSize(QtCore.QSize(28, 28))
+ self.debit_pushButton.setObjectName(_fromUtf8("debit_pushButton"))
+ self.gridLayout_2.addWidget(self.debit_pushButton, 2, 2, 1, 1)
+ self.label_4 = QtGui.QLabel(self.groupBox_2)
+ self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout_2.addWidget(self.label_4, 3, 0, 1, 1)
+ self.credit_pushButton = QtGui.QPushButton(self.groupBox_2)
+ self.credit_pushButton.setMaximumSize(QtCore.QSize(28, 28))
+ self.credit_pushButton.setObjectName(_fromUtf8("credit_pushButton"))
+ self.gridLayout_2.addWidget(self.credit_pushButton, 3, 2, 1, 1)
+ self.cash_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.cash_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.cash_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.cash_lineEdit.setMaxLength(10)
+ self.cash_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.cash_lineEdit.setObjectName(_fromUtf8("cash_lineEdit"))
+ self.gridLayout_2.addWidget(self.cash_lineEdit, 0, 1, 1, 1)
+ self.cheque_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.cheque_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.cheque_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.cheque_lineEdit.setMaxLength(10)
+ self.cheque_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.cheque_lineEdit.setObjectName(_fromUtf8("cheque_lineEdit"))
+ self.gridLayout_2.addWidget(self.cheque_lineEdit, 1, 1, 1, 1)
+ self.debitCard_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.debitCard_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.debitCard_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.debitCard_lineEdit.setMaxLength(10)
+ self.debitCard_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.debitCard_lineEdit.setObjectName(_fromUtf8("debitCard_lineEdit"))
+ self.gridLayout_2.addWidget(self.debitCard_lineEdit, 2, 1, 1, 1)
+ self.creditCard_lineEdit = QtGui.QLineEdit(self.groupBox_2)
+ self.creditCard_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.creditCard_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.creditCard_lineEdit.setMaxLength(10)
+ self.creditCard_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.creditCard_lineEdit.setObjectName(_fromUtf8("creditCard_lineEdit"))
+ self.gridLayout_2.addWidget(self.creditCard_lineEdit, 3, 1, 1, 1)
+ self.verticalLayout.addWidget(self.groupBox_2)
+ self.groupBox = QtGui.QGroupBox(Dialog)
+ self.groupBox.setCheckable(False)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.gridLayout = QtGui.QGridLayout(self.groupBox)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_8 = QtGui.QLabel(self.groupBox)
+ self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 0, 0, 1, 1)
+ self.sundries_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.sundries_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.sundries_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.sundries_lineEdit.setMaxLength(10)
+ self.sundries_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.sundries_lineEdit.setObjectName(_fromUtf8("sundries_lineEdit"))
+ self.gridLayout.addWidget(self.sundries_lineEdit, 0, 1, 1, 1)
+ self.label_7 = QtGui.QLabel(self.groupBox)
+ self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
+ self.annualHDP_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.annualHDP_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.annualHDP_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.annualHDP_lineEdit.setMaxLength(10)
+ self.annualHDP_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.annualHDP_lineEdit.setObjectName(_fromUtf8("annualHDP_lineEdit"))
+ self.gridLayout.addWidget(self.annualHDP_lineEdit, 1, 1, 1, 1)
+ self.label_9 = QtGui.QLabel(self.groupBox)
+ self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 2, 0, 1, 1)
+ self.misc_lineEdit = QtGui.QLineEdit(self.groupBox)
+ self.misc_lineEdit.setMinimumSize(QtCore.QSize(70, 0))
+ self.misc_lineEdit.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.misc_lineEdit.setMaxLength(10)
+ self.misc_lineEdit.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.misc_lineEdit.setObjectName(_fromUtf8("misc_lineEdit"))
+ self.gridLayout.addWidget(self.misc_lineEdit, 2, 1, 1, 1)
+ self.verticalLayout.addWidget(self.groupBox)
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label_6 = QtGui.QLabel(Dialog)
+ self.label_6.setWordWrap(True)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.horizontalLayout.addWidget(self.label_6)
+ self.total_doubleSpinBox = QtGui.QDoubleSpinBox(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.total_doubleSpinBox.sizePolicy().hasHeightForWidth())
+ self.total_doubleSpinBox.setSizePolicy(sizePolicy)
+ self.total_doubleSpinBox.setMinimumSize(QtCore.QSize(80, 0))
+ self.total_doubleSpinBox.setReadOnly(True)
+ self.total_doubleSpinBox.setMaximum(20000.0)
+ self.total_doubleSpinBox.setObjectName(_fromUtf8("total_doubleSpinBox"))
+ self.horizontalLayout.addWidget(self.total_doubleSpinBox)
+ self.verticalLayout.addLayout(self.horizontalLayout)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+ self.label.setBuddy(self.cash_lineEdit)
+ self.label_2.setBuddy(self.cheque_lineEdit)
+ self.label_3.setBuddy(self.debitCard_lineEdit)
+ self.label_4.setBuddy(self.creditCard_lineEdit)
+ self.label_8.setBuddy(self.sundries_lineEdit)
+ self.label_7.setBuddy(self.annualHDP_lineEdit)
+ self.label_9.setBuddy(self.misc_lineEdit)
+ self.label_6.setBuddy(self.total_doubleSpinBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+ Dialog.setTabOrder(self.cash_lineEdit, self.cheque_lineEdit)
+ Dialog.setTabOrder(self.cheque_lineEdit, self.debitCard_lineEdit)
+ Dialog.setTabOrder(self.debitCard_lineEdit, self.creditCard_lineEdit)
+ Dialog.setTabOrder(self.creditCard_lineEdit, self.sundries_lineEdit)
+ Dialog.setTabOrder(self.sundries_lineEdit, self.annualHDP_lineEdit)
+ Dialog.setTabOrder(self.annualHDP_lineEdit, self.misc_lineEdit)
+ Dialog.setTabOrder(self.misc_lineEdit, self.total_doubleSpinBox)
+ Dialog.setTabOrder(self.total_doubleSpinBox, self.buttonBox)
+ Dialog.setTabOrder(self.buttonBox, self.cheque_pushButton)
+ Dialog.setTabOrder(self.cheque_pushButton, self.credit_pushButton)
+ Dialog.setTabOrder(self.credit_pushButton, self.debit_pushButton)
+ Dialog.setTabOrder(self.debit_pushButton, self.cash_pushButton)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Payments"))
+ self.groupBox_2.setTitle(_("Payments for treatment"))
+ self.label.setText(_("Cash"))
+ self.cash_pushButton.setText(_("-"))
+ self.label_2.setText(_("Cheque"))
+ self.cheque_pushButton.setText(_("-"))
+ self.label_3.setText(_("Debit Card"))
+ self.debit_pushButton.setText(_("-"))
+ self.label_4.setText(_("Credit Card"))
+ self.credit_pushButton.setText(_("-"))
+ self.groupBox.setTitle(_("Other Payments"))
+ self.label_8.setText(_("Sundries"))
+ self.label_7.setText(_("Annual HDP"))
+ self.label_9.setText(_("Miscellaneous"))
+ self.label_6.setText(_("Amount which will appear on receipt (read only)"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py b/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py
new file mode 100644
index 0000000..1c3b160
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_permissions.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/permissions.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(308, 177)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.lineEdit = QtGui.QLineEdit(Dialog)
+ self.lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.verticalLayout.addWidget(self.lineEdit)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Raise Permissions"))
+ self.label.setText(_("Supervisor Rights required to Perform This Action.\n"
+"Please enter password."))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py b/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py
new file mode 100644
index 0000000..7baea31
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_quick_daylist_print.py
@@ -0,0 +1,73 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/quick_daylist_print.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(178, 140)
+ font = QtGui.QFont()
+ font.setBold(False)
+ font.setWeight(50)
+ Dialog.setFont(font)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.label.setFont(font)
+ self.label.setScaledContents(False)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.radioButton = QtGui.QRadioButton(Dialog)
+ self.radioButton.setChecked(True)
+ self.radioButton.setObjectName(_fromUtf8("radioButton"))
+ self.verticalLayout.addWidget(self.radioButton)
+ self.radioButton_2 = QtGui.QRadioButton(Dialog)
+ self.radioButton_2.setObjectName(_fromUtf8("radioButton_2"))
+ self.verticalLayout.addWidget(self.radioButton_2)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Question"))
+ self.label.setText(_("Print Formatting"))
+ self.radioButton.setText(_("Minimal"))
+ self.radioButton_2.setText(_("Full Page"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py b/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py
new file mode 100644
index 0000000..bf2cfb9
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_record_tools.py
@@ -0,0 +1,592 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/record_tools.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(628, 521)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tabWidget = QtGui.QTabWidget(Dialog)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.tab)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.money_scrollArea = QtGui.QScrollArea(self.tab)
+ self.money_scrollArea.setWidgetResizable(True)
+ self.money_scrollArea.setObjectName(_fromUtf8("money_scrollArea"))
+ self.money_scrollAreaWidgetContents = QtGui.QWidget()
+ self.money_scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 443, 424))
+ self.money_scrollAreaWidgetContents.setObjectName(_fromUtf8("money_scrollAreaWidgetContents"))
+ self.gridLayout = QtGui.QGridLayout(self.money_scrollAreaWidgetContents)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+ self.money0_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money0_spinBox.setMaximum(1000000)
+ self.money0_spinBox.setObjectName(_fromUtf8("money0_spinBox"))
+ self.gridLayout.addWidget(self.money0_spinBox, 1, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+ self.money2_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money2_spinBox.setMaximum(1000000)
+ self.money2_spinBox.setObjectName(_fromUtf8("money2_spinBox"))
+ self.gridLayout.addWidget(self.money2_spinBox, 2, 1, 1, 1)
+ self.label_5 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 7, 0, 1, 1)
+ self.money4_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money4_spinBox.setMaximum(1000000)
+ self.money4_spinBox.setObjectName(_fromUtf8("money4_spinBox"))
+ self.gridLayout.addWidget(self.money4_spinBox, 7, 1, 1, 1)
+ self.label_6 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout.addWidget(self.label_6, 8, 0, 1, 1)
+ self.money5_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money5_spinBox.setMaximum(1000000)
+ self.money5_spinBox.setObjectName(_fromUtf8("money5_spinBox"))
+ self.gridLayout.addWidget(self.money5_spinBox, 8, 1, 1, 1)
+ self.label_7 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_7.setObjectName(_fromUtf8("label_7"))
+ self.gridLayout.addWidget(self.label_7, 9, 0, 1, 1)
+ self.money6_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money6_spinBox.setMaximum(1000000)
+ self.money6_spinBox.setObjectName(_fromUtf8("money6_spinBox"))
+ self.gridLayout.addWidget(self.money6_spinBox, 9, 1, 1, 1)
+ self.label_8 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_8.setObjectName(_fromUtf8("label_8"))
+ self.gridLayout.addWidget(self.label_8, 10, 0, 1, 1)
+ self.money7_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money7_spinBox.setMaximum(1000000)
+ self.money7_spinBox.setObjectName(_fromUtf8("money7_spinBox"))
+ self.gridLayout.addWidget(self.money7_spinBox, 10, 1, 1, 1)
+ self.label_9 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_9.setObjectName(_fromUtf8("label_9"))
+ self.gridLayout.addWidget(self.label_9, 11, 0, 1, 1)
+ self.money8_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money8_spinBox.setMaximum(1000000)
+ self.money8_spinBox.setObjectName(_fromUtf8("money8_spinBox"))
+ self.gridLayout.addWidget(self.money8_spinBox, 11, 1, 1, 1)
+ self.label_10 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_10.setObjectName(_fromUtf8("label_10"))
+ self.gridLayout.addWidget(self.label_10, 12, 0, 1, 1)
+ self.money9_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money9_spinBox.setMaximum(1000000)
+ self.money9_spinBox.setObjectName(_fromUtf8("money9_spinBox"))
+ self.gridLayout.addWidget(self.money9_spinBox, 12, 1, 1, 1)
+ self.label_11 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_11.setObjectName(_fromUtf8("label_11"))
+ self.gridLayout.addWidget(self.label_11, 13, 0, 1, 1)
+ self.money10_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money10_spinBox.setMaximum(1000000)
+ self.money10_spinBox.setObjectName(_fromUtf8("money10_spinBox"))
+ self.gridLayout.addWidget(self.money10_spinBox, 13, 1, 1, 1)
+ self.label_12 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_12.setObjectName(_fromUtf8("label_12"))
+ self.gridLayout.addWidget(self.label_12, 14, 0, 1, 1)
+ self.money11_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money11_spinBox.setMaximum(1000000)
+ self.money11_spinBox.setObjectName(_fromUtf8("money11_spinBox"))
+ self.gridLayout.addWidget(self.money11_spinBox, 14, 1, 1, 1)
+ self.label_3 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
+ self.money1_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money1_spinBox.setMaximum(1000000)
+ self.money1_spinBox.setObjectName(_fromUtf8("money1_spinBox"))
+ self.gridLayout.addWidget(self.money1_spinBox, 3, 1, 1, 1)
+ self.money3_spinBox = QtGui.QSpinBox(self.money_scrollAreaWidgetContents)
+ self.money3_spinBox.setMaximum(1000000)
+ self.money3_spinBox.setObjectName(_fromUtf8("money3_spinBox"))
+ self.gridLayout.addWidget(self.money3_spinBox, 4, 1, 1, 1)
+ self.label_4 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 15, 0, 1, 2)
+ self.label_14 = QtGui.QLabel(self.money_scrollAreaWidgetContents)
+ self.label_14.setObjectName(_fromUtf8("label_14"))
+ self.gridLayout.addWidget(self.label_14, 0, 0, 1, 2)
+ self.money_scrollArea.setWidget(self.money_scrollAreaWidgetContents)
+ self.gridLayout_2.addWidget(self.money_scrollArea, 0, 0, 4, 1)
+ self.label_13 = QtGui.QLabel(self.tab)
+ self.label_13.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_13.setWordWrap(True)
+ self.label_13.setObjectName(_fromUtf8("label_13"))
+ self.gridLayout_2.addWidget(self.label_13, 0, 1, 1, 1)
+ self.total_label = QtGui.QLabel(self.tab)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setWeight(75)
+ self.total_label.setFont(font)
+ self.total_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.total_label.setObjectName(_fromUtf8("total_label"))
+ self.gridLayout_2.addWidget(self.total_label, 1, 1, 1, 1)
+ self.money_pushButton = QtGui.QPushButton(self.tab)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/button_ok.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.money_pushButton.setIcon(icon)
+ self.money_pushButton.setObjectName(_fromUtf8("money_pushButton"))
+ self.gridLayout_2.addWidget(self.money_pushButton, 2, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(20, 337, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem1, 3, 1, 1, 1)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.tab_2)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.dates_pushButton = QtGui.QPushButton(self.tab_2)
+ self.dates_pushButton.setIcon(icon)
+ self.dates_pushButton.setObjectName(_fromUtf8("dates_pushButton"))
+ self.gridLayout_4.addWidget(self.dates_pushButton, 0, 1, 1, 1)
+ spacerItem2 = QtGui.QSpacerItem(82, 388, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_4.addItem(spacerItem2, 1, 1, 1, 1)
+ self.scrollArea = QtGui.QScrollArea(self.tab_2)
+ self.scrollArea.setWidgetResizable(True)
+ self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 345, 263))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.scrollAreaWidgetContents)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.label_15 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_15.setObjectName(_fromUtf8("label_15"))
+ self.gridLayout_3.addWidget(self.label_15, 0, 0, 1, 1)
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.pd5_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd5_dateEdit.setCalendarPopup(True)
+ self.pd5_dateEdit.setObjectName(_fromUtf8("pd5_dateEdit"))
+ self.horizontalLayout.addWidget(self.pd5_dateEdit)
+ self.pd5_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd5_pushButton.setObjectName(_fromUtf8("pd5_pushButton"))
+ self.horizontalLayout.addWidget(self.pd5_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout, 0, 1, 1, 1)
+ self.label_16 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_16.setObjectName(_fromUtf8("label_16"))
+ self.gridLayout_3.addWidget(self.label_16, 1, 0, 1, 1)
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ self.pd6_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd6_dateEdit.setCalendarPopup(True)
+ self.pd6_dateEdit.setObjectName(_fromUtf8("pd6_dateEdit"))
+ self.horizontalLayout_2.addWidget(self.pd6_dateEdit)
+ self.pd6_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd6_pushButton.setObjectName(_fromUtf8("pd6_pushButton"))
+ self.horizontalLayout_2.addWidget(self.pd6_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
+ self.label_17 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_17.setObjectName(_fromUtf8("label_17"))
+ self.gridLayout_3.addWidget(self.label_17, 2, 0, 1, 1)
+ self.horizontalLayout_3 = QtGui.QHBoxLayout()
+ self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
+ self.pd7_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd7_dateEdit.setCalendarPopup(True)
+ self.pd7_dateEdit.setObjectName(_fromUtf8("pd7_dateEdit"))
+ self.horizontalLayout_3.addWidget(self.pd7_dateEdit)
+ self.pd7_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd7_pushButton.setObjectName(_fromUtf8("pd7_pushButton"))
+ self.horizontalLayout_3.addWidget(self.pd7_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_3, 2, 1, 1, 1)
+ self.label_18 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_18.setObjectName(_fromUtf8("label_18"))
+ self.gridLayout_3.addWidget(self.label_18, 3, 0, 1, 1)
+ self.horizontalLayout_4 = QtGui.QHBoxLayout()
+ self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
+ self.pd8_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd8_dateEdit.setCalendarPopup(True)
+ self.pd8_dateEdit.setObjectName(_fromUtf8("pd8_dateEdit"))
+ self.horizontalLayout_4.addWidget(self.pd8_dateEdit)
+ self.pd8_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd8_pushButton.setObjectName(_fromUtf8("pd8_pushButton"))
+ self.horizontalLayout_4.addWidget(self.pd8_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_4, 3, 1, 1, 1)
+ self.label_19 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_19.setObjectName(_fromUtf8("label_19"))
+ self.gridLayout_3.addWidget(self.label_19, 4, 0, 1, 1)
+ self.horizontalLayout_5 = QtGui.QHBoxLayout()
+ self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
+ self.pd9_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd9_dateEdit.setCalendarPopup(True)
+ self.pd9_dateEdit.setObjectName(_fromUtf8("pd9_dateEdit"))
+ self.horizontalLayout_5.addWidget(self.pd9_dateEdit)
+ self.pd9_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd9_pushButton.setObjectName(_fromUtf8("pd9_pushButton"))
+ self.horizontalLayout_5.addWidget(self.pd9_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_5, 4, 1, 1, 1)
+ self.label_20 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_20.setObjectName(_fromUtf8("label_20"))
+ self.gridLayout_3.addWidget(self.label_20, 5, 0, 1, 1)
+ self.horizontalLayout_6 = QtGui.QHBoxLayout()
+ self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
+ self.pd10_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.pd10_dateEdit.setCalendarPopup(True)
+ self.pd10_dateEdit.setObjectName(_fromUtf8("pd10_dateEdit"))
+ self.horizontalLayout_6.addWidget(self.pd10_dateEdit)
+ self.pd10_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.pd10_pushButton.setObjectName(_fromUtf8("pd10_pushButton"))
+ self.horizontalLayout_6.addWidget(self.pd10_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_6, 5, 1, 1, 1)
+ self.label_21 = QtGui.QLabel(self.scrollAreaWidgetContents)
+ self.label_21.setObjectName(_fromUtf8("label_21"))
+ self.gridLayout_3.addWidget(self.label_21, 6, 0, 1, 1)
+ self.horizontalLayout_7 = QtGui.QHBoxLayout()
+ self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
+ self.billdate_dateEdit = QtGui.QDateEdit(self.scrollAreaWidgetContents)
+ self.billdate_dateEdit.setCalendarPopup(True)
+ self.billdate_dateEdit.setObjectName(_fromUtf8("billdate_dateEdit"))
+ self.horizontalLayout_7.addWidget(self.billdate_dateEdit)
+ self.billdate_pushButton = QtGui.QPushButton(self.scrollAreaWidgetContents)
+ self.billdate_pushButton.setObjectName(_fromUtf8("billdate_pushButton"))
+ self.horizontalLayout_7.addWidget(self.billdate_pushButton)
+ self.gridLayout_3.addLayout(self.horizontalLayout_7, 6, 1, 1, 1)
+ spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_3.addItem(spacerItem3, 7, 0, 1, 1)
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.gridLayout_4.addWidget(self.scrollArea, 0, 0, 2, 1)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.tab_3 = QtGui.QWidget()
+ self.tab_3.setObjectName(_fromUtf8("tab_3"))
+ self.gridLayout_11 = QtGui.QGridLayout(self.tab_3)
+ self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
+ self.scrollArea_2 = QtGui.QScrollArea(self.tab_3)
+ self.scrollArea_2.setWidgetResizable(True)
+ self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
+ self.scrollAreaWidgetContents_2 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 36, 28))
+ self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents_2)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.chartplan_frame = QtGui.QFrame(self.scrollAreaWidgetContents_2)
+ self.chartplan_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.chartplan_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.chartplan_frame.setObjectName(_fromUtf8("chartplan_frame"))
+ self.verticalLayout_2.addWidget(self.chartplan_frame)
+ self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
+ self.gridLayout_11.addWidget(self.scrollArea_2, 0, 0, 2, 3)
+ self.plan_pushButton = QtGui.QPushButton(self.tab_3)
+ self.plan_pushButton.setIcon(icon)
+ self.plan_pushButton.setObjectName(_fromUtf8("plan_pushButton"))
+ self.gridLayout_11.addWidget(self.plan_pushButton, 0, 3, 1, 1)
+ spacerItem4 = QtGui.QSpacerItem(82, 388, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_11.addItem(spacerItem4, 1, 3, 2, 1)
+ self.gridLayout_9 = QtGui.QGridLayout()
+ self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
+ self.label_22 = QtGui.QLabel(self.tab_3)
+ self.label_22.setObjectName(_fromUtf8("label_22"))
+ self.gridLayout_9.addWidget(self.label_22, 0, 0, 1, 2)
+ self.xraypl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.xraypl_lineEdit.setMaxLength(56)
+ self.xraypl_lineEdit.setObjectName(_fromUtf8("xraypl_lineEdit"))
+ self.gridLayout_9.addWidget(self.xraypl_lineEdit, 0, 2, 1, 1)
+ self.label_23 = QtGui.QLabel(self.tab_3)
+ self.label_23.setObjectName(_fromUtf8("label_23"))
+ self.gridLayout_9.addWidget(self.label_23, 1, 0, 1, 2)
+ self.periopl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.periopl_lineEdit.setMaxLength(56)
+ self.periopl_lineEdit.setObjectName(_fromUtf8("periopl_lineEdit"))
+ self.gridLayout_9.addWidget(self.periopl_lineEdit, 1, 2, 1, 1)
+ self.label_47 = QtGui.QLabel(self.tab_3)
+ self.label_47.setObjectName(_fromUtf8("label_47"))
+ self.gridLayout_9.addWidget(self.label_47, 2, 0, 1, 2)
+ self.anaespl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.anaespl_lineEdit.setMaxLength(56)
+ self.anaespl_lineEdit.setObjectName(_fromUtf8("anaespl_lineEdit"))
+ self.gridLayout_9.addWidget(self.anaespl_lineEdit, 2, 2, 1, 1)
+ self.label_48 = QtGui.QLabel(self.tab_3)
+ self.label_48.setObjectName(_fromUtf8("label_48"))
+ self.gridLayout_9.addWidget(self.label_48, 3, 0, 1, 2)
+ self.otherpl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.otherpl_lineEdit.setMaxLength(56)
+ self.otherpl_lineEdit.setObjectName(_fromUtf8("otherpl_lineEdit"))
+ self.gridLayout_9.addWidget(self.otherpl_lineEdit, 3, 2, 1, 1)
+ self.label_49 = QtGui.QLabel(self.tab_3)
+ self.label_49.setObjectName(_fromUtf8("label_49"))
+ self.gridLayout_9.addWidget(self.label_49, 4, 0, 1, 2)
+ self.custompl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.custompl_lineEdit.setMaxLength(56)
+ self.custompl_lineEdit.setObjectName(_fromUtf8("custompl_lineEdit"))
+ self.gridLayout_9.addWidget(self.custompl_lineEdit, 4, 2, 1, 1)
+ self.gridLayout_11.addLayout(self.gridLayout_9, 2, 0, 1, 1)
+ self.line_2 = QtGui.QFrame(self.tab_3)
+ self.line_2.setFrameShape(QtGui.QFrame.VLine)
+ self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_2.setObjectName(_fromUtf8("line_2"))
+ self.gridLayout_11.addWidget(self.line_2, 2, 1, 1, 1)
+ self.gridLayout_10 = QtGui.QGridLayout()
+ self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
+ self.label_51 = QtGui.QLabel(self.tab_3)
+ self.label_51.setObjectName(_fromUtf8("label_51"))
+ self.gridLayout_10.addWidget(self.label_51, 0, 0, 1, 3)
+ self.label_52 = QtGui.QLabel(self.tab_3)
+ self.label_52.setObjectName(_fromUtf8("label_52"))
+ self.gridLayout_10.addWidget(self.label_52, 1, 0, 1, 2)
+ self.label_53 = QtGui.QLabel(self.tab_3)
+ self.label_53.setObjectName(_fromUtf8("label_53"))
+ self.gridLayout_10.addWidget(self.label_53, 2, 0, 1, 2)
+ self.line = QtGui.QFrame(self.tab_3)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_10.addWidget(self.line, 3, 0, 1, 3)
+ self.label_54 = QtGui.QLabel(self.tab_3)
+ self.label_54.setObjectName(_fromUtf8("label_54"))
+ self.gridLayout_10.addWidget(self.label_54, 4, 0, 1, 2)
+ self.odupl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.odupl_lineEdit.setMaxLength(56)
+ self.odupl_lineEdit.setObjectName(_fromUtf8("odupl_lineEdit"))
+ self.gridLayout_10.addWidget(self.odupl_lineEdit, 4, 2, 1, 1)
+ self.label_55 = QtGui.QLabel(self.tab_3)
+ self.label_55.setObjectName(_fromUtf8("label_55"))
+ self.gridLayout_10.addWidget(self.label_55, 5, 0, 1, 2)
+ self.odlpl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.odlpl_lineEdit.setMaxLength(56)
+ self.odlpl_lineEdit.setObjectName(_fromUtf8("odlpl_lineEdit"))
+ self.gridLayout_10.addWidget(self.odlpl_lineEdit, 5, 2, 1, 1)
+ self.ndupl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.ndupl_lineEdit.setMaxLength(56)
+ self.ndupl_lineEdit.setObjectName(_fromUtf8("ndupl_lineEdit"))
+ self.gridLayout_10.addWidget(self.ndupl_lineEdit, 1, 2, 1, 1)
+ self.ndlpl_lineEdit = QtGui.QLineEdit(self.tab_3)
+ self.ndlpl_lineEdit.setMaxLength(56)
+ self.ndlpl_lineEdit.setObjectName(_fromUtf8("ndlpl_lineEdit"))
+ self.gridLayout_10.addWidget(self.ndlpl_lineEdit, 2, 2, 1, 1)
+ self.gridLayout_11.addLayout(self.gridLayout_10, 2, 2, 1, 1)
+ self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
+ self.tab_4 = QtGui.QWidget()
+ self.tab_4.setObjectName(_fromUtf8("tab_4"))
+ self.gridLayout_5 = QtGui.QGridLayout(self.tab_4)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.scrollArea_3 = QtGui.QScrollArea(self.tab_4)
+ self.scrollArea_3.setWidgetResizable(True)
+ self.scrollArea_3.setObjectName(_fromUtf8("scrollArea_3"))
+ self.scrollAreaWidgetContents_3 = QtGui.QWidget()
+ self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 461, 225))
+ self.scrollAreaWidgetContents_3.setObjectName(_fromUtf8("scrollAreaWidgetContents_3"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents_3)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.chartcompleted_frame = QtGui.QFrame(self.scrollAreaWidgetContents_3)
+ self.chartcompleted_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.chartcompleted_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.chartcompleted_frame.setObjectName(_fromUtf8("chartcompleted_frame"))
+ self.verticalLayout_3.addWidget(self.chartcompleted_frame)
+ self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3)
+ self.gridLayout_5.addWidget(self.scrollArea_3, 0, 0, 2, 3)
+ self.completed_pushButton = QtGui.QPushButton(self.tab_4)
+ self.completed_pushButton.setIcon(icon)
+ self.completed_pushButton.setObjectName(_fromUtf8("completed_pushButton"))
+ self.gridLayout_5.addWidget(self.completed_pushButton, 0, 3, 1, 1)
+ spacerItem5 = QtGui.QSpacerItem(82, 388, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_5.addItem(spacerItem5, 1, 3, 2, 1)
+ self.gridLayout_12 = QtGui.QGridLayout()
+ self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
+ self.label_24 = QtGui.QLabel(self.tab_4)
+ self.label_24.setObjectName(_fromUtf8("label_24"))
+ self.gridLayout_12.addWidget(self.label_24, 0, 0, 1, 2)
+ self.xraycmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.xraycmp_lineEdit.setMaxLength(56)
+ self.xraycmp_lineEdit.setObjectName(_fromUtf8("xraycmp_lineEdit"))
+ self.gridLayout_12.addWidget(self.xraycmp_lineEdit, 0, 2, 1, 1)
+ self.label_25 = QtGui.QLabel(self.tab_4)
+ self.label_25.setObjectName(_fromUtf8("label_25"))
+ self.gridLayout_12.addWidget(self.label_25, 1, 0, 1, 2)
+ self.periocmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.periocmp_lineEdit.setMaxLength(56)
+ self.periocmp_lineEdit.setObjectName(_fromUtf8("periocmp_lineEdit"))
+ self.gridLayout_12.addWidget(self.periocmp_lineEdit, 1, 2, 1, 1)
+ self.label_50 = QtGui.QLabel(self.tab_4)
+ self.label_50.setObjectName(_fromUtf8("label_50"))
+ self.gridLayout_12.addWidget(self.label_50, 2, 0, 1, 2)
+ self.anaescmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.anaescmp_lineEdit.setMaxLength(56)
+ self.anaescmp_lineEdit.setObjectName(_fromUtf8("anaescmp_lineEdit"))
+ self.gridLayout_12.addWidget(self.anaescmp_lineEdit, 2, 2, 1, 1)
+ self.label_56 = QtGui.QLabel(self.tab_4)
+ self.label_56.setObjectName(_fromUtf8("label_56"))
+ self.gridLayout_12.addWidget(self.label_56, 3, 0, 1, 2)
+ self.othercmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.othercmp_lineEdit.setMaxLength(56)
+ self.othercmp_lineEdit.setObjectName(_fromUtf8("othercmp_lineEdit"))
+ self.gridLayout_12.addWidget(self.othercmp_lineEdit, 3, 2, 1, 1)
+ self.label_57 = QtGui.QLabel(self.tab_4)
+ self.label_57.setObjectName(_fromUtf8("label_57"))
+ self.gridLayout_12.addWidget(self.label_57, 4, 0, 1, 2)
+ self.customcmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.customcmp_lineEdit.setMaxLength(56)
+ self.customcmp_lineEdit.setObjectName(_fromUtf8("customcmp_lineEdit"))
+ self.gridLayout_12.addWidget(self.customcmp_lineEdit, 4, 2, 1, 1)
+ self.gridLayout_5.addLayout(self.gridLayout_12, 2, 0, 1, 1)
+ self.line_3 = QtGui.QFrame(self.tab_4)
+ self.line_3.setFrameShape(QtGui.QFrame.VLine)
+ self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_3.setObjectName(_fromUtf8("line_3"))
+ self.gridLayout_5.addWidget(self.line_3, 2, 1, 1, 1)
+ self.gridLayout_13 = QtGui.QGridLayout()
+ self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
+ self.label_58 = QtGui.QLabel(self.tab_4)
+ self.label_58.setObjectName(_fromUtf8("label_58"))
+ self.gridLayout_13.addWidget(self.label_58, 0, 0, 1, 3)
+ self.label_59 = QtGui.QLabel(self.tab_4)
+ self.label_59.setObjectName(_fromUtf8("label_59"))
+ self.gridLayout_13.addWidget(self.label_59, 1, 0, 1, 2)
+ self.label_60 = QtGui.QLabel(self.tab_4)
+ self.label_60.setObjectName(_fromUtf8("label_60"))
+ self.gridLayout_13.addWidget(self.label_60, 2, 0, 1, 2)
+ self.line_4 = QtGui.QFrame(self.tab_4)
+ self.line_4.setFrameShape(QtGui.QFrame.HLine)
+ self.line_4.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_4.setObjectName(_fromUtf8("line_4"))
+ self.gridLayout_13.addWidget(self.line_4, 3, 0, 1, 3)
+ self.label_61 = QtGui.QLabel(self.tab_4)
+ self.label_61.setObjectName(_fromUtf8("label_61"))
+ self.gridLayout_13.addWidget(self.label_61, 4, 0, 1, 2)
+ self.oducmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.oducmp_lineEdit.setMaxLength(56)
+ self.oducmp_lineEdit.setObjectName(_fromUtf8("oducmp_lineEdit"))
+ self.gridLayout_13.addWidget(self.oducmp_lineEdit, 4, 2, 1, 1)
+ self.label_62 = QtGui.QLabel(self.tab_4)
+ self.label_62.setObjectName(_fromUtf8("label_62"))
+ self.gridLayout_13.addWidget(self.label_62, 5, 0, 1, 2)
+ self.odlcmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.odlcmp_lineEdit.setMaxLength(56)
+ self.odlcmp_lineEdit.setObjectName(_fromUtf8("odlcmp_lineEdit"))
+ self.gridLayout_13.addWidget(self.odlcmp_lineEdit, 5, 2, 1, 1)
+ self.nducmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.nducmp_lineEdit.setMaxLength(56)
+ self.nducmp_lineEdit.setObjectName(_fromUtf8("nducmp_lineEdit"))
+ self.gridLayout_13.addWidget(self.nducmp_lineEdit, 1, 2, 1, 1)
+ self.ndlcmp_lineEdit = QtGui.QLineEdit(self.tab_4)
+ self.ndlcmp_lineEdit.setMaxLength(56)
+ self.ndlcmp_lineEdit.setObjectName(_fromUtf8("ndlcmp_lineEdit"))
+ self.gridLayout_13.addWidget(self.ndlcmp_lineEdit, 2, 2, 1, 1)
+ self.gridLayout_5.addLayout(self.gridLayout_13, 2, 2, 1, 1)
+ self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
+ self.tab_5 = QtGui.QWidget()
+ self.tab_5.setObjectName(_fromUtf8("tab_5"))
+ self.gridLayout_6 = QtGui.QGridLayout(self.tab_5)
+ self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout()
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.label_26 = QtGui.QLabel(self.tab_5)
+ self.label_26.setObjectName(_fromUtf8("label_26"))
+ self.verticalLayout_4.addWidget(self.label_26)
+ self.hidden_notes_tableWidget = QtGui.QTableWidget(self.tab_5)
+ self.hidden_notes_tableWidget.setObjectName(_fromUtf8("hidden_notes_tableWidget"))
+ self.hidden_notes_tableWidget.setColumnCount(0)
+ self.hidden_notes_tableWidget.setRowCount(0)
+ self.verticalLayout_4.addWidget(self.hidden_notes_tableWidget)
+ self.gridLayout_6.addLayout(self.verticalLayout_4, 0, 0, 2, 1)
+ self.hidden_notes_pushButton = QtGui.QPushButton(self.tab_5)
+ self.hidden_notes_pushButton.setIcon(icon)
+ self.hidden_notes_pushButton.setObjectName(_fromUtf8("hidden_notes_pushButton"))
+ self.gridLayout_6.addWidget(self.hidden_notes_pushButton, 0, 1, 1, 1)
+ spacerItem6 = QtGui.QSpacerItem(20, 377, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_6.addItem(spacerItem6, 1, 1, 1, 1)
+ self.tabWidget.addTab(self.tab_5, _fromUtf8(""))
+ self.verticalLayout.addWidget(self.tabWidget)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Close)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Advanced Record Alteration"))
+ self.label.setText(_("NHS current fees (money0)"))
+ self.label_2.setText(_("NHS payments (money2)"))
+ self.label_5.setText(_("NHS estimated (money4)"))
+ self.label_6.setText(_("private estimate (money5)"))
+ self.label_7.setText(_("Exempt - nhs gross - completed treatment (money6)"))
+ self.label_8.setText(_("Exempt - NHS gross - estimated current (money7)"))
+ self.label_9.setText(_("credit (money8)"))
+ self.label_10.setText(_("debt (money9)"))
+ self.label_11.setText(_("debt2 (money10)"))
+ self.label_12.setText(_("money 11 (always 0!)"))
+ self.label_3.setText(_("private current fees (money1) "))
+ self.label_4.setText(_("private payments (money3)"))
+ self.label_14.setText(_("ALL AMOUNTS ARE IN PENCE (cents)"))
+ self.label_13.setText(_("Outstanding <br />amount"))
+ self.total_label.setText(_("0.00"))
+ self.money_pushButton.setText(_("Apply Changes"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Money"))
+ self.dates_pushButton.setText(_("Apply Changes"))
+ self.label_15.setText(_("Last CE (pd5)"))
+ self.pd5_pushButton.setText(_("Add Date"))
+ self.label_16.setText(_("Last ECE (pd6)"))
+ self.pd6_pushButton.setText(_("Add Date"))
+ self.label_17.setText(_("Last FCA (pd7)"))
+ self.pd7_pushButton.setText(_("Add Date"))
+ self.label_18.setText(_("Last OPT (pd8)"))
+ self.pd8_pushButton.setText(_("Add Date"))
+ self.label_19.setText(_("Last intraoral Xrays (pd9)"))
+ self.pd9_pushButton.setText(_("Add Date"))
+ self.label_20.setText(_("Last SP (pd10)"))
+ self.pd10_pushButton.setText(_("Add Date"))
+ self.label_21.setText(_("Last Account sent (billdate)"))
+ self.billdate_pushButton.setText(_("Add Date"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("Dates"))
+ self.plan_pushButton.setText(_("Apply Changes"))
+ self.label_22.setText(_("Xray"))
+ self.label_23.setText(_("Perio"))
+ self.label_47.setText(_("anaesthetics"))
+ self.label_48.setText(_("other"))
+ self.label_49.setText(_("custom"))
+ self.label_51.setText(_("Dentures"))
+ self.label_52.setText(_("new upper"))
+ self.label_53.setText(_("new lower"))
+ self.label_54.setText(_("repair upper"))
+ self.label_55.setText(_("repair lower"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _("Treatment Plan"))
+ self.completed_pushButton.setText(_("Apply Changes"))
+ self.label_24.setText(_("Xray"))
+ self.label_25.setText(_("Perio"))
+ self.label_50.setText(_("anaesthetics"))
+ self.label_56.setText(_("other"))
+ self.label_57.setText(_("custom"))
+ self.label_58.setText(_("Dentures"))
+ self.label_59.setText(_("new upper"))
+ self.label_60.setText(_("new lower"))
+ self.label_61.setText(_("repair upper"))
+ self.label_62.setText(_("repair lower"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _("Completed Treatment"))
+ self.label_26.setText(_("Hidden Notes"))
+ self.hidden_notes_pushButton.setText(_("Apply Changes"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _("Miscellaneous"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py b/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py
new file mode 100644
index 0000000..ecc6d5c
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_saveDiscardCancel.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/saveDiscardCancel.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(552, 283)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
+ Dialog.setSizePolicy(sizePolicy)
+ Dialog.setMinimumSize(QtCore.QSize(0, 0))
+ self.listWidget = QtGui.QListWidget(Dialog)
+ self.listWidget.setGeometry(QtCore.QRect(9, 161, 534, 113))
+ self.listWidget.setObjectName(_fromUtf8("listWidget"))
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setGeometry(QtCore.QRect(9, 95, 531, 27))
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.buttonBox.sizePolicy().hasHeightForWidth())
+ self.buttonBox.setSizePolicy(sizePolicy)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Discard|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.pushButton = QtGui.QPushButton(Dialog)
+ self.pushButton.setGeometry(QtCore.QRect(322, 128, 221, 27))
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
+ self.pushButton.setSizePolicy(sizePolicy)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/down.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.pushButton.setIcon(icon)
+ self.pushButton.setFlat(True)
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setGeometry(QtCore.QRect(9, 9, 531, 80))
+ self.label.setMinimumSize(QtCore.QSize(0, 80))
+ self.label.setMaximumSize(QtCore.QSize(16777215, 80))
+ self.label.setText(_fromUtf8(""))
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setWordWrap(True)
+ self.label.setObjectName(_fromUtf8("label"))
+
+ self.retranslateUi(Dialog)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Confirmation Required"))
+ self.pushButton.setText(_("What\'s Changed?"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py b/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py
new file mode 100644
index 0000000..6f9138d
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_saveMemo.py
@@ -0,0 +1,104 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/saveMemo.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(584, 236)
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.textEdit = QtGui.QTextEdit(Dialog)
+ self.textEdit.setAcceptRichText(False)
+ self.textEdit.setObjectName(_fromUtf8("textEdit"))
+ self.gridLayout_2.addWidget(self.textEdit, 0, 0, 1, 4)
+ self.groupBox_2 = QtGui.QGroupBox(Dialog)
+ self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
+ self.gridLayout = QtGui.QGridLayout(self.groupBox_2)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.noExpire_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.noExpire_radioButton.setChecked(True)
+ self.noExpire_radioButton.setObjectName(_fromUtf8("noExpire_radioButton"))
+ self.gridLayout.addWidget(self.noExpire_radioButton, 0, 0, 1, 1)
+ self.dateExpire_radioButton = QtGui.QRadioButton(self.groupBox_2)
+ self.dateExpire_radioButton.setObjectName(_fromUtf8("dateExpire_radioButton"))
+ self.gridLayout.addWidget(self.dateExpire_radioButton, 1, 0, 1, 1)
+ self.dateEdit = QtGui.QDateEdit(self.groupBox_2)
+ self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
+ self.gridLayout.addWidget(self.dateEdit, 2, 0, 1, 1)
+ self.gridLayout_2.addWidget(self.groupBox_2, 1, 0, 2, 1)
+ self.groupBox_3 = QtGui.QGroupBox(Dialog)
+ self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.groupBox_3)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.viewAll_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.viewAll_radioButton.setChecked(True)
+ self.viewAll_radioButton.setObjectName(_fromUtf8("viewAll_radioButton"))
+ self.verticalLayout.addWidget(self.viewAll_radioButton)
+ self.viewSurgery_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.viewSurgery_radioButton.setObjectName(_fromUtf8("viewSurgery_radioButton"))
+ self.verticalLayout.addWidget(self.viewSurgery_radioButton)
+ self.viewReception_radioButton = QtGui.QRadioButton(self.groupBox_3)
+ self.viewReception_radioButton.setObjectName(_fromUtf8("viewReception_radioButton"))
+ self.verticalLayout.addWidget(self.viewReception_radioButton)
+ self.gridLayout_2.addWidget(self.groupBox_3, 1, 1, 2, 1)
+ self.groupBox = QtGui.QGroupBox(Dialog)
+ self.groupBox.setObjectName(_fromUtf8("groupBox"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.author_comboBox = QtGui.QComboBox(self.groupBox)
+ self.author_comboBox.setObjectName(_fromUtf8("author_comboBox"))
+ self.verticalLayout_2.addWidget(self.author_comboBox)
+ self.gridLayout_2.addWidget(self.groupBox, 1, 2, 1, 1)
+ self.phraseBook_pushButton = QtGui.QPushButton(Dialog)
+ self.phraseBook_pushButton.setObjectName(_fromUtf8("phraseBook_pushButton"))
+ self.gridLayout_2.addWidget(self.phraseBook_pushButton, 1, 3, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_2.addWidget(self.buttonBox, 2, 2, 1, 2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Post a memo about this Patient"))
+ self.groupBox_2.setTitle(_("Expiry Policy"))
+ self.noExpire_radioButton.setText(_("Do Not Expire"))
+ self.dateExpire_radioButton.setText(_("Expire on this date"))
+ self.groupBox_3.setTitle(_("Viewable by"))
+ self.viewAll_radioButton.setText(_("All"))
+ self.viewSurgery_radioButton.setText(_("Surgery Machines"))
+ self.viewReception_radioButton.setText(_("Reception Machines"))
+ self.groupBox.setTitle(_("Author"))
+ self.phraseBook_pushButton.setText(_("PhraseBook"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py b/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py
new file mode 100644
index 0000000..e341e39
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_select_patient.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/select_patient.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(1014, 398)
+ self.vboxlayout = QtGui.QVBoxLayout(Dialog)
+ self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
+ self.tableWidget = QtGui.QTableWidget(Dialog)
+ self.tableWidget.setAlternatingRowColors(True)
+ self.tableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
+ self.tableWidget.setColumnCount(0)
+ self.tableWidget.setRowCount(0)
+ self.vboxlayout.addWidget(self.tableWidget)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.vboxlayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Make a Selection"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py b/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py
new file mode 100644
index 0000000..e92c231
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_showMemo.py
@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/showMemo.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(611, 262)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setText(_fromUtf8(""))
+ self.label.setPixmap(QtGui.QPixmap(_fromUtf8(":/newlogo_launchpadSize.png")))
+ self.label.setScaledContents(True)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 2, 1)
+ self.message_label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setPointSize(12)
+ self.message_label.setFont(font)
+ self.message_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.message_label.setWordWrap(True)
+ self.message_label.setObjectName(_fromUtf8("message_label"))
+ self.gridLayout.addWidget(self.message_label, 0, 1, 1, 2)
+ self.checkBox = QtGui.QCheckBox(Dialog)
+ self.checkBox.setObjectName(_fromUtf8("checkBox"))
+ self.gridLayout.addWidget(self.checkBox, 1, 1, 1, 1)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 1, 2, 1, 1)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Memo"))
+ self.message_label.setText(_("TextLabel"))
+ self.checkBox.setText(_("Delete this memo when I close this"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py b/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py
new file mode 100644
index 0000000..60a09b2
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_specify_appointment.py
@@ -0,0 +1,193 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/specify_appointment.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(593, 404)
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ spacerItem = QtGui.QSpacerItem(81, 56, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem, 0, 0, 1, 1)
+ self.gridLayout_3 = QtGui.QGridLayout()
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
+ self.practix_comboBox = QtGui.QComboBox(Dialog)
+ self.practix_comboBox.setObjectName(_fromUtf8("practix_comboBox"))
+ self.gridLayout_3.addWidget(self.practix_comboBox, 0, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_3.addWidget(self.label_2, 1, 0, 1, 1)
+ self.apptlength_comboBox = QtGui.QComboBox(Dialog)
+ self.apptlength_comboBox.setMaxVisibleItems(20)
+ self.apptlength_comboBox.setObjectName(_fromUtf8("apptlength_comboBox"))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.apptlength_comboBox.addItem(_fromUtf8(""))
+ self.gridLayout_3.addWidget(self.apptlength_comboBox, 1, 1, 1, 1)
+ self.combinedApptcheckBox = QtGui.QCheckBox(Dialog)
+ self.combinedApptcheckBox.setEnabled(False)
+ self.combinedApptcheckBox.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.combinedApptcheckBox.setObjectName(_fromUtf8("combinedApptcheckBox"))
+ self.gridLayout_3.addWidget(self.combinedApptcheckBox, 2, 0, 1, 2)
+ self.gridLayout_2.addLayout(self.gridLayout_3, 0, 1, 1, 1)
+ spacerItem1 = QtGui.QSpacerItem(152, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem1, 0, 2, 1, 1)
+ self.line = QtGui.QFrame(Dialog)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_2.addWidget(self.line, 1, 0, 1, 3)
+ self.gridLayout = QtGui.QGridLayout()
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setMaximumSize(QtCore.QSize(16777215, 24))
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
+ self.label_5 = QtGui.QLabel(Dialog)
+ self.label_5.setMaximumSize(QtCore.QSize(16777215, 24))
+ self.label_5.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout.addWidget(self.label_5, 0, 2, 1, 1)
+ self.trt1_comboBox = QtGui.QComboBox(Dialog)
+ self.trt1_comboBox.setMinimumSize(QtCore.QSize(176, 0))
+ self.trt1_comboBox.setMaxVisibleItems(20)
+ self.trt1_comboBox.setObjectName(_fromUtf8("trt1_comboBox"))
+ self.gridLayout.addWidget(self.trt1_comboBox, 1, 0, 1, 1)
+ self.trt2_comboBox = QtGui.QComboBox(Dialog)
+ self.trt2_comboBox.setMinimumSize(QtCore.QSize(176, 0))
+ self.trt2_comboBox.setMaxVisibleItems(20)
+ self.trt2_comboBox.setObjectName(_fromUtf8("trt2_comboBox"))
+ self.trt2_comboBox.addItem(_fromUtf8(""))
+ self.trt2_comboBox.setItemText(0, _fromUtf8(""))
+ self.gridLayout.addWidget(self.trt2_comboBox, 1, 1, 1, 1)
+ self.trt3_comboBox = QtGui.QComboBox(Dialog)
+ self.trt3_comboBox.setMinimumSize(QtCore.QSize(176, 0))
+ self.trt3_comboBox.setMaxVisibleItems(20)
+ self.trt3_comboBox.setObjectName(_fromUtf8("trt3_comboBox"))
+ self.trt3_comboBox.addItem(_fromUtf8(""))
+ self.trt3_comboBox.setItemText(0, _fromUtf8(""))
+ self.gridLayout.addWidget(self.trt3_comboBox, 1, 2, 1, 1)
+ self.label_4 = QtGui.QLabel(Dialog)
+ self.label_4.setMaximumSize(QtCore.QSize(16777215, 24))
+ self.label_4.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout.addWidget(self.label_4, 0, 1, 1, 1)
+ self.gridLayout_2.addLayout(self.gridLayout, 2, 0, 1, 3)
+ self.line_2 = QtGui.QFrame(Dialog)
+ self.line_2.setFrameShape(QtGui.QFrame.HLine)
+ self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_2.setObjectName(_fromUtf8("line_2"))
+ self.gridLayout_2.addWidget(self.line_2, 3, 0, 1, 3)
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label_6 = QtGui.QLabel(Dialog)
+ self.label_6.setMaximumSize(QtCore.QSize(16777215, 30))
+ self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.horizontalLayout.addWidget(self.label_6)
+ self.lineEdit = QtGui.QLineEdit(Dialog)
+ self.lineEdit.setMinimumSize(QtCore.QSize(180, 0))
+ self.lineEdit.setMaximumSize(QtCore.QSize(300, 16777215))
+ self.lineEdit.setMaxLength(20)
+ self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
+ self.horizontalLayout.addWidget(self.lineEdit)
+ self.gridLayout_2.addLayout(self.horizontalLayout, 4, 0, 1, 3)
+ self.line_3 = QtGui.QFrame(Dialog)
+ self.line_3.setFrameShape(QtGui.QFrame.HLine)
+ self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_3.setObjectName(_fromUtf8("line_3"))
+ self.gridLayout_2.addWidget(self.line_3, 5, 0, 1, 3)
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ self.scheduleNow_pushButton = QtGui.QPushButton(Dialog)
+ self.scheduleNow_pushButton.setObjectName(_fromUtf8("scheduleNow_pushButton"))
+ self.horizontalLayout_2.addWidget(self.scheduleNow_pushButton)
+ spacerItem2 = QtGui.QSpacerItem(128, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_2.addItem(spacerItem2)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
+ self.buttonBox.setCenterButtons(False)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.horizontalLayout_2.addWidget(self.buttonBox)
+ self.gridLayout_2.addLayout(self.horizontalLayout_2, 6, 0, 1, 3)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QObject.connect(self.scheduleNow_pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog.accept)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Enter an appointment"))
+ self.label.setText(_("Appointment with"))
+ self.label_2.setText(_("Length"))
+ self.apptlength_comboBox.setItemText(0, _("5 minutes"))
+ self.apptlength_comboBox.setItemText(1, _("10 minutes"))
+ self.apptlength_comboBox.setItemText(2, _("15 minutes"))
+ self.apptlength_comboBox.setItemText(3, _("20 minutes"))
+ self.apptlength_comboBox.setItemText(4, _("30 minutes"))
+ self.apptlength_comboBox.setItemText(5, _("40 minutes"))
+ self.apptlength_comboBox.setItemText(6, _("45 minutes"))
+ self.apptlength_comboBox.setItemText(7, _("1 hour"))
+ self.apptlength_comboBox.setItemText(8, _("1 hour 15 minutes"))
+ self.apptlength_comboBox.setItemText(9, _("1 hour 20 minutes"))
+ self.apptlength_comboBox.setItemText(10, _("1 hour 30 minutes"))
+ self.apptlength_comboBox.setItemText(11, _("1 hour 45 minutes"))
+ self.apptlength_comboBox.setItemText(12, _("2 hours"))
+ self.apptlength_comboBox.setItemText(13, _("2 hours 30 minutes"))
+ self.apptlength_comboBox.setItemText(14, _("3 hours"))
+ self.apptlength_comboBox.setItemText(15, _("other"))
+ self.combinedApptcheckBox.setText(_("Combined Appointment With Hygenist?"))
+ self.label_3.setText(_("Reason 1"))
+ self.label_5.setText(_("Reason 3"))
+ self.label_4.setText(_("Reason 2"))
+ self.label_6.setText(_("Brief Note for Clinician (optional)"))
+ self.scheduleNow_pushButton.setText(_("Schedule Appointment Now"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py b/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py
new file mode 100644
index 0000000..964bc8a
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_staff_diary.py
@@ -0,0 +1,162 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/staff_diary.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(786, 546)
+ self.verticalLayout = QtGui.QVBoxLayout(Form)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.header_label = QtGui.QLabel(Form)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setItalic(True)
+ font.setWeight(75)
+ self.header_label.setFont(font)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.header_label.setObjectName(_fromUtf8("header_label"))
+ self.verticalLayout.addWidget(self.header_label)
+ self.tabWidget = QtGui.QTabWidget(Form)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.tab_4 = QtGui.QWidget()
+ self.tab_4.setObjectName(_fromUtf8("tab_4"))
+ self.verticalLayout_5 = QtGui.QVBoxLayout(self.tab_4)
+ self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
+ self.splitter = QtGui.QSplitter(self.tab_4)
+ self.splitter.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter.setObjectName(_fromUtf8("splitter"))
+ self.widget = QtGui.QWidget(self.splitter)
+ self.widget.setObjectName(_fromUtf8("widget"))
+ self.verticalLayout_3 = QtGui.QVBoxLayout(self.widget)
+ self.verticalLayout_3.setMargin(0)
+ self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
+ self.label_3 = QtGui.QLabel(self.widget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
+ self.label_3.setSizePolicy(sizePolicy)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setItalic(True)
+ font.setWeight(75)
+ self.label_3.setFont(font)
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.verticalLayout_3.addWidget(self.label_3)
+ self.summary_label = QtGui.QLabel(self.widget)
+ self.summary_label.setMinimumSize(QtCore.QSize(300, 0))
+ self.summary_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+ self.summary_label.setWordWrap(True)
+ self.summary_label.setObjectName(_fromUtf8("summary_label"))
+ self.verticalLayout_3.addWidget(self.summary_label)
+ self.widget1 = QtGui.QWidget(self.splitter)
+ self.widget1.setObjectName(_fromUtf8("widget1"))
+ self.verticalLayout_4 = QtGui.QVBoxLayout(self.widget1)
+ self.verticalLayout_4.setMargin(0)
+ self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
+ self.label_2 = QtGui.QLabel(self.widget1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+ self.label_2.setSizePolicy(sizePolicy)
+ font = QtGui.QFont()
+ font.setBold(True)
+ font.setItalic(True)
+ font.setWeight(75)
+ self.label_2.setFont(font)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout_4.addWidget(self.label_2)
+ self.agenda_label = QtGui.QLabel(self.widget1)
+ self.agenda_label.setMinimumSize(QtCore.QSize(300, 0))
+ self.agenda_label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+ self.agenda_label.setWordWrap(True)
+ self.agenda_label.setObjectName(_fromUtf8("agenda_label"))
+ self.verticalLayout_4.addWidget(self.agenda_label)
+ self.verticalLayout_5.addWidget(self.splitter)
+ self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
+ self.tab = QtGui.QWidget()
+ self.tab.setObjectName(_fromUtf8("tab"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.tab)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.messages_listWidget = QtGui.QListWidget(self.tab)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.messages_listWidget.sizePolicy().hasHeightForWidth())
+ self.messages_listWidget.setSizePolicy(sizePolicy)
+ self.messages_listWidget.setObjectName(_fromUtf8("messages_listWidget"))
+ self.verticalLayout_2.addWidget(self.messages_listWidget)
+ self.task_frame = QtGui.QFrame(self.tab)
+ self.task_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.task_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.task_frame.setObjectName(_fromUtf8("task_frame"))
+ self.verticalLayout_2.addWidget(self.task_frame)
+ self.tabWidget.addTab(self.tab, _fromUtf8(""))
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setObjectName(_fromUtf8("tab_2"))
+ self.verticalLayout_6 = QtGui.QVBoxLayout(self.tab_2)
+ self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
+ self.calendar_frame = QtGui.QFrame(self.tab_2)
+ self.calendar_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.calendar_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.calendar_frame.setObjectName(_fromUtf8("calendar_frame"))
+ self.verticalLayout_6.addWidget(self.calendar_frame)
+ self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
+ self.tab_3 = QtGui.QWidget()
+ self.tab_3.setObjectName(_fromUtf8("tab_3"))
+ self.verticalLayout_7 = QtGui.QVBoxLayout(self.tab_3)
+ self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
+ self.planner_frame = QtGui.QFrame(self.tab_3)
+ self.planner_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.planner_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.planner_frame.setObjectName(_fromUtf8("planner_frame"))
+ self.verticalLayout_7.addWidget(self.planner_frame)
+ self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
+ self.verticalLayout.addWidget(self.tabWidget)
+
+ self.retranslateUi(Form)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.header_label.setText(_("TextLabel"))
+ self.label_3.setText(_("Summary"))
+ self.summary_label.setText(_("TextLabel"))
+ self.label_2.setText(_("Agenda"))
+ self.agenda_label.setText(_("TextLabel"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _("Summary"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Messages and Tasks"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _("My Calendar"))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _("Holiday Planner"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py b/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py
new file mode 100644
index 0000000..990d5f8
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_startscreen.py
@@ -0,0 +1,159 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/startscreen.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.setWindowModality(QtCore.Qt.WindowModal)
+ Dialog.resize(276, 343)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
+ Dialog.setSizePolicy(sizePolicy)
+ Dialog.setMinimumSize(QtCore.QSize(200, 200))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/openmolar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ Dialog.setWindowIcon(icon)
+ self.gridLayout_2 = QtGui.QGridLayout(Dialog)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.label_3 = QtGui.QLabel(Dialog)
+ self.label_3.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_3.setWordWrap(True)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.horizontalLayout.addWidget(self.label_3)
+ self.password_lineEdit = QtGui.QLineEdit(Dialog)
+ self.password_lineEdit.setMinimumSize(QtCore.QSize(80, 0))
+ self.password_lineEdit.setMaximumSize(QtCore.QSize(71, 16777215))
+ self.password_lineEdit.setMaxLength(10)
+ self.password_lineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.password_lineEdit.setObjectName(_fromUtf8("password_lineEdit"))
+ self.horizontalLayout.addWidget(self.password_lineEdit)
+ self.gridLayout_2.addLayout(self.horizontalLayout, 0, 0, 1, 2)
+ self.line = QtGui.QFrame(Dialog)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.line.sizePolicy().hasHeightForWidth())
+ self.line.setSizePolicy(sizePolicy)
+ self.line.setMinimumSize(QtCore.QSize(0, 16))
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.gridLayout_2.addWidget(self.line, 1, 0, 1, 2)
+ self.gridLayout = QtGui.QGridLayout()
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+ self.user1_lineEdit = QtGui.QLineEdit(Dialog)
+ self.user1_lineEdit.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.user1_lineEdit.setText(_fromUtf8(""))
+ self.user1_lineEdit.setMaxLength(6)
+ self.user1_lineEdit.setObjectName(_fromUtf8("user1_lineEdit"))
+ self.gridLayout.addWidget(self.user1_lineEdit, 0, 1, 1, 1)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
+ self.user2_lineEdit = QtGui.QLineEdit(Dialog)
+ self.user2_lineEdit.setMaximumSize(QtCore.QSize(40, 16777215))
+ self.user2_lineEdit.setMaxLength(6)
+ self.user2_lineEdit.setObjectName(_fromUtf8("user2_lineEdit"))
+ self.gridLayout.addWidget(self.user2_lineEdit, 1, 1, 1, 1)
+ self.surgery_radioButton = QtGui.QRadioButton(Dialog)
+ self.surgery_radioButton.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.surgery_radioButton.setChecked(True)
+ self.surgery_radioButton.setObjectName(_fromUtf8("surgery_radioButton"))
+ self.gridLayout.addWidget(self.surgery_radioButton, 2, 0, 1, 2)
+ self.reception_radioButton = QtGui.QRadioButton(Dialog)
+ self.reception_radioButton.setLayoutDirection(QtCore.Qt.RightToLeft)
+ self.reception_radioButton.setObjectName(_fromUtf8("reception_radioButton"))
+ self.gridLayout.addWidget(self.reception_radioButton, 3, 0, 1, 2)
+ self.gridLayout_2.addLayout(self.gridLayout, 2, 0, 1, 2)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout_2.addWidget(self.buttonBox, 4, 0, 1, 2)
+ self.advanced_frame = QtGui.QFrame(Dialog)
+ self.advanced_frame.setMinimumSize(QtCore.QSize(0, 40))
+ self.advanced_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.advanced_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.advanced_frame.setObjectName(_fromUtf8("advanced_frame"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.advanced_frame)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.line_2 = QtGui.QFrame(self.advanced_frame)
+ self.line_2.setFrameShape(QtGui.QFrame.HLine)
+ self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line_2.setObjectName(_fromUtf8("line_2"))
+ self.gridLayout_3.addWidget(self.line_2, 0, 0, 1, 2)
+ self.chosenServer_label = QtGui.QLabel(self.advanced_frame)
+ self.chosenServer_label.setWordWrap(True)
+ self.chosenServer_label.setObjectName(_fromUtf8("chosenServer_label"))
+ self.gridLayout_3.addWidget(self.chosenServer_label, 1, 0, 2, 1)
+ self.advanced_toolButton = QtGui.QToolButton(self.advanced_frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.advanced_toolButton.sizePolicy().hasHeightForWidth())
+ self.advanced_toolButton.setSizePolicy(sizePolicy)
+ self.advanced_toolButton.setPopupMode(QtGui.QToolButton.InstantPopup)
+ self.advanced_toolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
+ self.advanced_toolButton.setArrowType(QtCore.Qt.DownArrow)
+ self.advanced_toolButton.setObjectName(_fromUtf8("advanced_toolButton"))
+ self.gridLayout_3.addWidget(self.advanced_toolButton, 2, 1, 1, 1)
+ self.gridLayout_2.addWidget(self.advanced_frame, 6, 0, 1, 2)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem, 3, 0, 1, 2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("openMolar"))
+ self.label_3.setText(_("System Password"))
+ self.label.setText(_("User 1(required)"))
+ self.label_2.setText(_("User 2 (optional)"))
+ self.surgery_radioButton.setText(_("Surgery Machine"))
+ self.reception_radioButton.setText(_("Reception Machine"))
+ self.chosenServer_label.setText(_("TextLabel"))
+ self.advanced_toolButton.setText(_("change"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py b/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py
new file mode 100644
index 0000000..a4f2505
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_surgeryNumber.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/surgeryNumber.ui'
+#
+# Created: Thu Dec 12 17:50:40 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(301, 167)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/logo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ Dialog.setWindowIcon(icon)
+ self.gridLayout = QtGui.QGridLayout(Dialog)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 3)
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 3)
+ spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout.addItem(spacerItem, 2, 1, 1, 1)
+ self.comboBox = QtGui.QComboBox(Dialog)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 3)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Question"))
+ self.label.setText(_("Please set the Surgery Number"))
+ self.comboBox.setItemText(0, _("Reception Machine"))
+ self.comboBox.setItemText(1, _("Surgery One"))
+ self.comboBox.setItemText(2, _("Surgery Two"))
+ self.comboBox.setItemText(3, _("Surgery Three"))
+ self.comboBox.setItemText(4, _("Surgery Four"))
+ self.comboBox.setItemText(5, _("Surgery Five"))
+ self.comboBox.setItemText(6, _("Surgery Six"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py b/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py
new file mode 100644
index 0000000..246aa71
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_toothPerioProps.py
@@ -0,0 +1,163 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/toothPerioProps.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(499, 148)
+ Form.setMinimumSize(QtCore.QSize(0, 120))
+ Form.setMaximumSize(QtCore.QSize(16777215, 517))
+ self.gridLayout = QtGui.QGridLayout(Form)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.tooth_label = QtGui.QLabel(Form)
+ self.tooth_label.setMaximumSize(QtCore.QSize(16777215, 28))
+ font = QtGui.QFont()
+ font.setPointSize(14)
+ self.tooth_label.setFont(font)
+ self.tooth_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.tooth_label.setObjectName(_fromUtf8("tooth_label"))
+ self.gridLayout.addWidget(self.tooth_label, 0, 0, 1, 1)
+ self.comboBox = QtGui.QComboBox(Form)
+ self.comboBox.setObjectName(_fromUtf8("comboBox"))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.comboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.comboBox, 0, 3, 1, 2)
+ self.orig_frame = QtGui.QFrame(Form)
+ self.orig_frame.setMinimumSize(QtCore.QSize(100, 100))
+ self.orig_frame.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.orig_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.orig_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.orig_frame.setObjectName(_fromUtf8("orig_frame"))
+ self.gridLayout.addWidget(self.orig_frame, 1, 0, 2, 1)
+ self.new_frame = QtGui.QFrame(Form)
+ self.new_frame.setMinimumSize(QtCore.QSize(100, 100))
+ self.new_frame.setMaximumSize(QtCore.QSize(16777215, 100))
+ self.new_frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.new_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.new_frame.setObjectName(_fromUtf8("new_frame"))
+ self.gridLayout.addWidget(self.new_frame, 1, 1, 2, 1)
+ self.copy_pushButton = QtGui.QPushButton(Form)
+ self.copy_pushButton.setMaximumSize(QtCore.QSize(16777215, 28))
+ self.copy_pushButton.setObjectName(_fromUtf8("copy_pushButton"))
+ self.gridLayout.addWidget(self.copy_pushButton, 1, 2, 1, 1)
+ self.cp_pushButton = QtGui.QPushButton(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cp_pushButton.sizePolicy().hasHeightForWidth())
+ self.cp_pushButton.setSizePolicy(sizePolicy)
+ self.cp_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.cp_pushButton.setMaximumSize(QtCore.QSize(40, 28))
+ self.cp_pushButton.setObjectName(_fromUtf8("cp_pushButton"))
+ self.gridLayout.addWidget(self.cp_pushButton, 1, 3, 1, 1)
+ self.clear_pushButton = QtGui.QPushButton(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.clear_pushButton.sizePolicy().hasHeightForWidth())
+ self.clear_pushButton.setSizePolicy(sizePolicy)
+ self.clear_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.clear_pushButton.setMaximumSize(QtCore.QSize(40, 28))
+ self.clear_pushButton.setText(_fromUtf8(""))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/eraser.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.clear_pushButton.setIcon(icon)
+ self.clear_pushButton.setObjectName(_fromUtf8("clear_pushButton"))
+ self.gridLayout.addWidget(self.clear_pushButton, 1, 4, 1, 1)
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.leftTooth_pushButton = QtGui.QPushButton(Form)
+ self.leftTooth_pushButton.setMinimumSize(QtCore.QSize(24, 24))
+ self.leftTooth_pushButton.setMaximumSize(QtCore.QSize(24, 24))
+ self.leftTooth_pushButton.setText(_fromUtf8(""))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/back.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.leftTooth_pushButton.setIcon(icon1)
+ self.leftTooth_pushButton.setIconSize(QtCore.QSize(24, 18))
+ self.leftTooth_pushButton.setObjectName(_fromUtf8("leftTooth_pushButton"))
+ self.horizontalLayout.addWidget(self.leftTooth_pushButton)
+ self.le_frame = QtGui.QFrame(Form)
+ self.le_frame.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.le_frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.le_frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.le_frame.setObjectName(_fromUtf8("le_frame"))
+ self.horizontalLayout.addWidget(self.le_frame)
+ self.rightTooth_pushButton = QtGui.QPushButton(Form)
+ self.rightTooth_pushButton.setMinimumSize(QtCore.QSize(24, 24))
+ self.rightTooth_pushButton.setMaximumSize(QtCore.QSize(24, 24))
+ self.rightTooth_pushButton.setText(_fromUtf8(""))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/forward.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.rightTooth_pushButton.setIcon(icon2)
+ self.rightTooth_pushButton.setIconSize(QtCore.QSize(24, 18))
+ self.rightTooth_pushButton.setObjectName(_fromUtf8("rightTooth_pushButton"))
+ self.horizontalLayout.addWidget(self.rightTooth_pushButton)
+ self.gridLayout.addLayout(self.horizontalLayout, 2, 2, 1, 2)
+ self.mobilitycomboBox = QtGui.QComboBox(Form)
+ self.mobilitycomboBox.setMaximumSize(QtCore.QSize(16777215, 28))
+ self.mobilitycomboBox.setObjectName(_fromUtf8("mobilitycomboBox"))
+ self.mobilitycomboBox.addItem(_fromUtf8(""))
+ self.mobilitycomboBox.addItem(_fromUtf8(""))
+ self.mobilitycomboBox.addItem(_fromUtf8(""))
+ self.mobilitycomboBox.addItem(_fromUtf8(""))
+ self.gridLayout.addWidget(self.mobilitycomboBox, 2, 4, 1, 1)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.tooth_label.setText(_("ToothId"))
+ self.comboBox.setItemText(0, _("Pocketing"))
+ self.comboBox.setItemText(1, _("Bleeding"))
+ self.comboBox.setItemText(2, _("Plaque"))
+ self.comboBox.setItemText(3, _("Recession"))
+ self.comboBox.setItemText(4, _("Furcation"))
+ self.comboBox.setItemText(5, _("Suppuration"))
+ self.comboBox.setItemText(6, _("Mobility"))
+ self.comboBox.setItemText(7, _("Other"))
+ self.copy_pushButton.setText(_("Copy &All"))
+ self.cp_pushButton.setToolTip(_("delete tooth data"))
+ self.cp_pushButton.setText(_("Cp"))
+ self.clear_pushButton.setToolTip(_("delete tooth data"))
+ self.leftTooth_pushButton.setToolTip(_("Apply and move Back a tooth"))
+ self.rightTooth_pushButton.setToolTip(_("Apply & Move to Next Tooth"))
+ self.mobilitycomboBox.setItemText(0, _("-"))
+ self.mobilitycomboBox.setItemText(1, _("I"))
+ self.mobilitycomboBox.setItemText(2, _("II"))
+ self.mobilitycomboBox.setItemText(3, _("III"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py b/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py
new file mode 100644
index 0000000..ca6a6e4
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_toothProps.py
@@ -0,0 +1,240 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/toothProps.ui'
+#
+# Created: Sat Dec 14 19:08:51 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(150, 479)
+ Form.setMinimumSize(QtCore.QSize(150, 459))
+ self.verticalLayout = QtGui.QVBoxLayout(Form)
+ self.verticalLayout.setSpacing(4)
+ self.verticalLayout.setMargin(2)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.horizontalLayout = QtGui.QHBoxLayout()
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.edit_pushButton = QtGui.QPushButton(Form)
+ self.edit_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.edit_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.edit_pushButton.setText(_fromUtf8(""))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/pencil.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.edit_pushButton.setIcon(icon)
+ self.edit_pushButton.setFlat(True)
+ self.edit_pushButton.setObjectName(_fromUtf8("edit_pushButton"))
+ self.horizontalLayout.addWidget(self.edit_pushButton)
+ self.tooth_label = QtGui.QLabel(Form)
+ self.tooth_label.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ font = QtGui.QFont()
+ font.setPointSize(14)
+ self.tooth_label.setFont(font)
+ self.tooth_label.setText(_fromUtf8(""))
+ self.tooth_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.tooth_label.setObjectName(_fromUtf8("tooth_label"))
+ self.horizontalLayout.addWidget(self.tooth_label)
+ self.clear_pushButton = QtGui.QPushButton(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.clear_pushButton.sizePolicy().hasHeightForWidth())
+ self.clear_pushButton.setSizePolicy(sizePolicy)
+ self.clear_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.clear_pushButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+ self.clear_pushButton.setText(_fromUtf8(""))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/eraser.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.clear_pushButton.setIcon(icon1)
+ self.clear_pushButton.setFlat(True)
+ self.clear_pushButton.setObjectName(_fromUtf8("clear_pushButton"))
+ self.horizontalLayout.addWidget(self.clear_pushButton)
+ self.verticalLayout.addLayout(self.horizontalLayout)
+ self.editframe = QtGui.QFrame(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.editframe.sizePolicy().hasHeightForWidth())
+ self.editframe.setSizePolicy(sizePolicy)
+ self.editframe.setMinimumSize(QtCore.QSize(131, 24))
+ self.editframe.setMaximumSize(QtCore.QSize(16777215, 24))
+ self.editframe.setFrameShape(QtGui.QFrame.NoFrame)
+ self.editframe.setFrameShadow(QtGui.QFrame.Plain)
+ self.editframe.setObjectName(_fromUtf8("editframe"))
+ self.verticalLayout.addWidget(self.editframe)
+ self.comments_comboBox = QtGui.QComboBox(Form)
+ self.comments_comboBox.setObjectName(_fromUtf8("comments_comboBox"))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.comments_comboBox.addItem(_fromUtf8(""))
+ self.verticalLayout.addWidget(self.comments_comboBox)
+ self.frame = QtGui.QFrame(Form)
+ self.frame.setMinimumSize(QtCore.QSize(0, 120))
+ self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout.addWidget(self.frame)
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setSpacing(2)
+ self.horizontalLayout_2.setMargin(2)
+ self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
+ self.am_pushButton = QtGui.QPushButton(Form)
+ self.am_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.am_pushButton.setMaximumSize(QtCore.QSize(48, 24))
+ self.am_pushButton.setAutoFillBackground(True)
+ self.am_pushButton.setObjectName(_fromUtf8("am_pushButton"))
+ self.horizontalLayout_2.addWidget(self.am_pushButton)
+ self.co_pushButton = QtGui.QPushButton(Form)
+ self.co_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.co_pushButton.setMaximumSize(QtCore.QSize(48, 24))
+ self.co_pushButton.setAutoFillBackground(True)
+ self.co_pushButton.setObjectName(_fromUtf8("co_pushButton"))
+ self.horizontalLayout_2.addWidget(self.co_pushButton)
+ self.gl_pushButton = QtGui.QPushButton(Form)
+ self.gl_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.gl_pushButton.setMaximumSize(QtCore.QSize(48, 24))
+ self.gl_pushButton.setAutoFillBackground(True)
+ self.gl_pushButton.setObjectName(_fromUtf8("gl_pushButton"))
+ self.horizontalLayout_2.addWidget(self.gl_pushButton)
+ self.gold_pushButton = QtGui.QPushButton(Form)
+ self.gold_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.gold_pushButton.setMaximumSize(QtCore.QSize(48, 24))
+ self.gold_pushButton.setAutoFillBackground(True)
+ self.gold_pushButton.setObjectName(_fromUtf8("gold_pushButton"))
+ self.horizontalLayout_2.addWidget(self.gold_pushButton)
+ self.porc_pushButton = QtGui.QPushButton(Form)
+ self.porc_pushButton.setMinimumSize(QtCore.QSize(0, 20))
+ self.porc_pushButton.setMaximumSize(QtCore.QSize(48, 24))
+ self.porc_pushButton.setAutoFillBackground(True)
+ self.porc_pushButton.setObjectName(_fromUtf8("porc_pushButton"))
+ self.horizontalLayout_2.addWidget(self.porc_pushButton)
+ self.verticalLayout.addLayout(self.horizontalLayout_2)
+ self.gridLayout_2 = QtGui.QGridLayout()
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.ex_pushButton = QtGui.QPushButton(Form)
+ self.ex_pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.ex_pushButton.setMaximumSize(QtCore.QSize(80, 40))
+ self.ex_pushButton.setObjectName(_fromUtf8("ex_pushButton"))
+ self.gridLayout_2.addWidget(self.ex_pushButton, 1, 0, 1, 1)
+ self.rt_pushButton = QtGui.QPushButton(Form)
+ self.rt_pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.rt_pushButton.setMaximumSize(QtCore.QSize(80, 40))
+ self.rt_pushButton.setObjectName(_fromUtf8("rt_pushButton"))
+ self.gridLayout_2.addWidget(self.rt_pushButton, 1, 1, 1, 1)
+ self.leftTooth_pushButton = QtGui.QPushButton(Form)
+ self.leftTooth_pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.leftTooth_pushButton.setMaximumSize(QtCore.QSize(80, 16777215))
+ self.leftTooth_pushButton.setText(_fromUtf8(""))
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/back.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.leftTooth_pushButton.setIcon(icon2)
+ self.leftTooth_pushButton.setIconSize(QtCore.QSize(24, 18))
+ self.leftTooth_pushButton.setFlat(True)
+ self.leftTooth_pushButton.setObjectName(_fromUtf8("leftTooth_pushButton"))
+ self.gridLayout_2.addWidget(self.leftTooth_pushButton, 0, 0, 1, 1)
+ self.dressing_pushButton = QtGui.QPushButton(Form)
+ self.dressing_pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.dressing_pushButton.setMaximumSize(QtCore.QSize(80, 40))
+ self.dressing_pushButton.setObjectName(_fromUtf8("dressing_pushButton"))
+ self.gridLayout_2.addWidget(self.dressing_pushButton, 1, 2, 1, 1)
+ self.pushButton = QtGui.QPushButton(Form)
+ self.pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.pushButton.setMaximumSize(QtCore.QSize(80, 40))
+ self.pushButton.setIconSize(QtCore.QSize(18, 24))
+ self.pushButton.setFlat(False)
+ self.pushButton.setObjectName(_fromUtf8("pushButton"))
+ self.gridLayout_2.addWidget(self.pushButton, 0, 1, 1, 1)
+ self.rightTooth_pushButton = QtGui.QPushButton(Form)
+ self.rightTooth_pushButton.setMinimumSize(QtCore.QSize(32, 24))
+ self.rightTooth_pushButton.setMaximumSize(QtCore.QSize(80, 16777215))
+ self.rightTooth_pushButton.setText(_fromUtf8(""))
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/forward.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.rightTooth_pushButton.setIcon(icon3)
+ self.rightTooth_pushButton.setIconSize(QtCore.QSize(24, 18))
+ self.rightTooth_pushButton.setFlat(True)
+ self.rightTooth_pushButton.setObjectName(_fromUtf8("rightTooth_pushButton"))
+ self.gridLayout_2.addWidget(self.rightTooth_pushButton, 0, 2, 1, 1)
+ self.verticalLayout.addLayout(self.gridLayout_2)
+ self.line = QtGui.QFrame(Form)
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line.setObjectName(_fromUtf8("line"))
+ self.verticalLayout.addWidget(self.line)
+ self.cb_scrollArea = QtGui.QScrollArea(Form)
+ self.cb_scrollArea.setMinimumSize(QtCore.QSize(0, 140))
+ self.cb_scrollArea.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.cb_scrollArea.setWidgetResizable(True)
+ self.cb_scrollArea.setObjectName(_fromUtf8("cb_scrollArea"))
+ self.scrollAreaWidgetContents = QtGui.QWidget()
+ self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 144, 147))
+ self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+ self.cb_scrollArea.setWidget(self.scrollAreaWidgetContents)
+ self.verticalLayout.addWidget(self.cb_scrollArea)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.clear_pushButton.setToolTip(_("delete tooth data"))
+ self.comments_comboBox.setItemText(0, _("ADD COMMENTS"))
+ self.comments_comboBox.setItemText(1, _("!KUO"))
+ self.comments_comboBox.setItemText(2, _("!Mobile Tooth"))
+ self.comments_comboBox.setItemText(3, _("!Early Caries"))
+ self.comments_comboBox.setItemText(4, _("!Filling Missing"))
+ self.comments_comboBox.setItemText(5, _("!Chipped"))
+ self.comments_comboBox.setItemText(6, _("!Cracked"))
+ self.comments_comboBox.setItemText(7, _("!Poor Prognosis"))
+ self.comments_comboBox.setItemText(8, _("!Extract Soon"))
+ self.comments_comboBox.setItemText(9, _("!Implant required"))
+ self.comments_comboBox.setItemText(10, _("DELETE COMMENTS"))
+ self.am_pushButton.setText(_("AM"))
+ self.co_pushButton.setText(_("CO"))
+ self.gl_pushButton.setText(_("GL"))
+ self.gold_pushButton.setText(_("Go"))
+ self.porc_pushButton.setText(_("Po"))
+ self.ex_pushButton.setToolTip(_("extract (plan only!)"))
+ self.ex_pushButton.setText(_("EX"))
+ self.rt_pushButton.setToolTip(_("root treatment"))
+ self.rt_pushButton.setText(_("RT"))
+ self.leftTooth_pushButton.setToolTip(_("Apply and move Back a tooth"))
+ self.dressing_pushButton.setToolTip(_("porcelain veneer"))
+ self.dressing_pushButton.setText(_("DR"))
+ self.pushButton.setToolTip(_("Apply & Add Another Item"))
+ self.pushButton.setText(_("&&"))
+ self.rightTooth_pushButton.setToolTip(_("Apply & Move to Next Tooth"))
+
+from openmolar.qt4gui import resources_rc
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py b/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py
new file mode 100644
index 0000000..ef465e6
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_toothprops_full_edit.py
@@ -0,0 +1,87 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/toothprops_full_edit.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName(_fromUtf8("Dialog"))
+ Dialog.resize(360, 420)
+ self.verticalLayout = QtGui.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tooth_label = QtGui.QLabel(Dialog)
+ font = QtGui.QFont()
+ font.setPointSize(10)
+ self.tooth_label.setFont(font)
+ self.tooth_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.tooth_label.setObjectName(_fromUtf8("tooth_label"))
+ self.verticalLayout.addWidget(self.tooth_label)
+ self.label = QtGui.QLabel(Dialog)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.verticalLayout.addWidget(self.label)
+ self.tableWidget = QtGui.QTableWidget(Dialog)
+ self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
+ self.tableWidget.setColumnCount(0)
+ self.tableWidget.setRowCount(0)
+ self.tableWidget.horizontalHeader().setDefaultSectionSize(50)
+ self.tableWidget.horizontalHeader().setMinimumSectionSize(50)
+ self.tableWidget.horizontalHeader().setStretchLastSection(True)
+ self.tableWidget.verticalHeader().setVisible(False)
+ self.tableWidget.verticalHeader().setDefaultSectionSize(50)
+ self.tableWidget.verticalHeader().setMinimumSectionSize(50)
+ self.tableWidget.verticalHeader().setStretchLastSection(False)
+ self.verticalLayout.addWidget(self.tableWidget)
+ self.label_2 = QtGui.QLabel(Dialog)
+ self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.verticalLayout.addWidget(self.label_2)
+ self.frame = QtGui.QFrame(Dialog)
+ self.frame.setMinimumSize(QtCore.QSize(0, 32))
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setFrameShadow(QtGui.QFrame.Raised)
+ self.frame.setObjectName(_fromUtf8("frame"))
+ self.verticalLayout.addWidget(self.frame)
+ self.buttonBox = QtGui.QDialogButtonBox(Dialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
+ QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ Dialog.setWindowTitle(_("Tooth Property Editor"))
+ self.tooth_label.setText(_("UR8"))
+ self.label.setText(_("Items"))
+ self.label_2.setText(_("Database Line"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog()
+ ui.setupUi(Dialog)
+ Dialog.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py b/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py
new file mode 100644
index 0000000..ea1a5be
--- /dev/null
+++ b/src/openmolar/qt4gui/compiled_uis/Ui_treatmentItemWidget.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file '/home/neil/openmolar/openmolar1/src/openmolar/qt-designer/treatmentItemWidget.ui'
+#
+# Created: Wed Nov 6 23:05:24 2013
+# by: PyQt4 UI code generator 4.10.3
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName(_fromUtf8("Form"))
+ Form.resize(415, 31)
+ self.horizontalLayout = QtGui.QHBoxLayout(Form)
+ self.horizontalLayout.setSpacing(4)
+ self.horizontalLayout.setContentsMargins(-1, 3, -1, 3)
+ self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
+ self.spinBox = QtGui.QSpinBox(Form)
+ self.spinBox.setMaximumSize(QtCore.QSize(60, 16777215))
+ self.spinBox.setObjectName(_fromUtf8("spinBox"))
+ self.horizontalLayout.addWidget(self.spinBox)
+ self.label = QtGui.QLabel(Form)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.horizontalLayout.addWidget(self.label)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(_("Form"))
+ self.label.setText(_("TextLabel"))
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = Ui_Form()
+ ui.setupUi(Form)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/compiled_uis/__init__.py b/src/openmolar/qt4gui/compiled_uis/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/contract_gui_module.py b/src/openmolar/qt4gui/contract_gui_module.py
new file mode 100644
index 0000000..8cedd8a
--- /dev/null
+++ b/src/openmolar/qt4gui/contract_gui_module.py
@@ -0,0 +1,112 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides functions which act on the contract of the patient
+at gui level
+'''
+from openmolar.settings import localsettings
+from openmolar.ptModules import planDetails, nhsDetails
+
+def handle_ContractTab(om_gui):
+ '''
+ function to adjust gui depending on the tab viewable
+ '''
+ i = om_gui.ui.contract_tabWidget.currentIndex()
+ if i == 0:
+ pass
+ #om_gui.advise("Private contract tab selected")
+ if i == 1:
+ om_gui.ui.contractHDP_label.setText(
+ planDetails.toHtml(om_gui.pt.plandata))
+
+ if i == 2:
+ om_gui.ui.contractNHS_label.setText(
+ nhsDetails.toHtml(om_gui.pt))
+ om_gui.ui.exemption_lineEdit.setText(om_gui.pt.exemption)
+ om_gui.ui.exempttext_lineEdit.setText(om_gui.pt.exempttext)
+
+ if i == 3:
+ pass
+ #om_gui.advise("Other Dentist tab selected")
+
+def changeContractedDentist(om_gui, inits):
+ '''
+ changes dnt1
+ '''
+ newdentist = localsettings.ops_reverse[str(inits)]
+ if newdentist == om_gui.pt.dnt1:
+ return
+ if om_gui.pt.cset == "I":
+ om_gui.advise("Let Highland Dental Plan know of this change", 1)
+ elif om_gui.pt.cset == "N":
+ om_gui.advise(
+ "Get an NHS form signed to change the patients contract", 1)
+ else:
+ om_gui.advise("changed dentist to %s"% inits, 1)
+ print "changing contracted dentist to ", inits
+ om_gui.pt.dnt1 = newdentist
+ om_gui.updateDetails()
+
+def changeCourseDentist(om_gui, inits):
+ '''
+ changes dnt2
+ '''
+ newdentist = localsettings.ops_reverse[str(inits)]
+ if newdentist == om_gui.pt.dnt2:
+ return
+ if om_gui.pt.dnt2 == 0 and newdentist == om_gui.pt.dnt1:
+ return
+ if om_gui.pt.cset == "N" and om_gui.pt.underTreatment:
+ om_gui.advise(
+ "think about getting some nhs forms signed for both dentists", 1)
+ else:
+ om_gui.advise("changed course dentist to %s"% inits, 1)
+
+ print "changing course dentist to ", inits
+ om_gui.pt.dnt2 = newdentist
+ om_gui.updateDetails()
+
+def changeCourseType(om_gui, cset):
+ '''
+ change cset
+ '''
+ om_gui.pt.cset = str(cset)
+ om_gui.updateDetails()
+ i = ["P", "I", "N"].index(om_gui.pt.cset[:1])
+ om_gui.ui.contract_tabWidget.setCurrentIndex(i)
+ #do this so that the table is reset at any lookup
+ om_gui.pt.forget_fee_table()
+
+def editNHScontract(om_gui):
+ '''blank function which needs work'''
+ om_gui.advise("edit NHS", 1)
+
+def exemption_edited(om_gui):
+ '''
+ user has edited the exemption text fields
+ '''
+ om_gui.pt.exemption = str(om_gui.ui.exemption_lineEdit.text().toAscii())
+ om_gui.pt.exempttext = str(
+ om_gui.ui.exempttext_lineEdit.text().toAscii())
+ if not om_gui.pt.checkExemption():
+ om_gui.advise(_("erroneous exemption category entered"),1)
+ om_gui.ui.exemption_lineEdit.setText(om_gui.pt.dbstate.exemption)
+ om_gui.updateDetails()
+
+def editPrivateContract(om_gui):
+ '''blank function which needs work'''
+ om_gui.advise("edit Private", 1)
+
+def editHDPcontract(om_gui):
+ '''blank function which needs work'''
+ om_gui.advise("edit HDP", 1)
+
+def editOtherContract(om_gui):
+ '''blank function which needs work'''
+ om_gui.advise("edit other Practitioner", 1)
diff --git a/src/openmolar/qt4gui/customwidgets/__init__.py b/src/openmolar/qt4gui/customwidgets/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/customwidgets/appointment_overviewwidget.py b/src/openmolar/qt4gui/customwidgets/appointment_overviewwidget.py
new file mode 100755
index 0000000..469236e
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/appointment_overviewwidget.py
@@ -0,0 +1,740 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from __future__ import division
+
+import datetime
+import logging
+import pickle
+
+from PyQt4 import QtGui,QtCore
+from openmolar.settings import localsettings
+from openmolar.dbtools import appointments
+from openmolar.qt4gui import colours
+
+LOGGER = logging.getLogger("openmolar")
+
+LINECOLOR = QtGui.QColor("#dddddd")
+TRANSPARENT = QtCore.Qt.transparent
+#APPTCOLORS = colours.APPT_OV_COLORS
+APPTCOLORS = colours.APPTCOLORS
+BGCOLOR = APPTCOLORS["BACKGROUND"]
+
+RED_PEN = QtGui.QPen(QtCore.Qt.red,2)
+GREY_PEN = QtGui.QPen(QtCore.Qt.gray,1)
+GREYLINE_PEN = QtGui.QPen(colours.APPT_LINECOLOUR,1)
+#GREYLINE_PEN.setStyle(QtCore.Qt.DashLine)
+BLACK_PEN = QtGui.QPen(QtCore.Qt.black, 1)
+
+
+class AppointmentOverviewWidget(QtGui.QWidget):
+ '''
+ a custom widget to provide a week view for a dental appointment book
+ '''
+
+ selected_serialno = None
+ BROWSING_MODE = 0
+ SCHEDULING_MODE = 1
+ BLOCKING_MODE = 2
+ mode = None
+
+ active_slot = None
+
+ def __init__(self, sTime, fTime, slotLength, textDetail, om_gui):
+ '''
+ useage is (day, startTime,finishTime,slotLength, textDetail, parent)
+ startTime,finishTime in format HHMM or HMM or HH:MM or H:MM
+ slotLength is the minimum slot length - typically 5 minutes
+ textDetail is the number of slots to draw before writing the time text
+ parentWidget =optional
+ textDetail determines how many slots before a time is printed,
+ I like 15minutes
+ '''
+
+ super(AppointmentOverviewWidget, self).__init__(om_gui)
+ self.om_gui = om_gui
+ self.setMinimumSize(self.minimumSizeHint())
+
+ self.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding))
+
+ self.font = QtGui.QFont()
+ self.font.setPointSize(10)
+ fm = QtGui.QFontMetrics(self.font)
+ self.timeOffset = fm.width(" 88:88 ")
+ self.headingHeight = fm.height()
+ #convert times to "minutes past midnight"
+ self.startTime = localsettings.minutesPastMidnight(sTime)
+ self.endTime = localsettings.minutesPastMidnight(fTime)
+ self.slotLength = slotLength
+ self.slotCount = (self.endTime-self.startTime) // slotLength
+ self.slotHeight = ((self.height() - self.headingHeight) /
+ self.slotCount)
+ self.textDetail = textDetail
+
+ self.date = None
+ self.dents = []
+ self.daystart = {}
+ self.dayend = {}
+ self.memoDict={}
+ self.flagDict = {}
+ self.highlightedRect = None
+ self.setMouseTracking(True)
+ self.clear()
+ self.init_dicts()
+ self.setAcceptDrops(True)
+ self.drag_appt = None
+ self.dropPos = None
+ self.enabled_clinicians = ()
+ self._mouse_drag_rects = None
+ self.mouse_drag_rect = None
+
+ self.blink_on = True #for flashing effect
+ self.blink_timer = QtCore.QTimer()
+ self.blink_timer.timeout.connect(self.toggle_blink)
+ self.blink_timer.start(1000)
+
+
+ def clear(self):
+ self.appts = {}
+ self.eTimes = {}
+ self.clearSlots()
+ self.lunches = {}
+ self._mouse_drag_rects = None
+
+ def clearSlots(self):
+ self.active_slots = ()
+ self.freeslots = {}
+ for dent in self.dents:
+ self.freeslots[dent.ix] = []
+ self.enabled_clinicians = ()
+ self._mouse_drag_rects = None
+
+ def set_active_slots(self, slots):
+ self.active_slots = slots
+
+ def enable_clinician_slots(self, clinicians):
+ self.enabled_clinicians = clinicians
+
+ def init_dicts(self):
+ for dent in self.dents:
+ self.freeslots[dent.ix] = []
+ self.appts[dent.ix] = ()
+ self.eTimes[dent.ix] = ()
+ self.lunches[dent.ix] = ()
+ self.memoDict[dent.ix] = ""
+
+ def setStartTime(self, dent):
+ self.daystart[dent.ix] = localsettings.minutesPastMidnight(dent.start)
+
+ def setEndTime(self, dent):
+ self.dayend[dent.ix] = localsettings.minutesPastMidnight(dent.end)
+
+ def setMemo(self, dent):
+ self.memoDict[dent.ix] = dent.memo
+
+ def addSlot(self, slot):
+ try:
+ self.freeslots[slot.dent].append(slot)
+ except KeyError:
+ LOGGER.warning(
+ "unable to show a slot for clinician %s"% slot.dent)
+ pass
+
+ def setFlags(self, dent):
+ self.flagDict[dent.ix] = dent.flag
+
+ def sizeHint(self):
+ return QtCore.QSize(40, 600)
+
+ def minimumSizeHint(self):
+ return QtCore.QSize(30, 200)
+
+ def mouseMoveEvent(self, event):
+ col = 0
+ columnCount = len(self.dents)
+ if columnCount == 0:
+ return #nothing to do... and division by zero errors!
+ columnWidth = (self.width() - self.timeOffset) / columnCount
+ for dent in self.dents:
+ leftx = self.timeOffset + (col) * columnWidth
+ rightx = self.timeOffset + (col + 1) * columnWidth
+
+ ###headings
+ rect = QtCore.QRect(leftx, 0, columnWidth, self.headingHeight)
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ QtGui.QToolTip.showText(event.globalPos(), dent.memo)
+
+ for slot in self.freeslots[dent.ix]:
+ slotstart = localsettings.pyTimeToMinutesPastMidnight(
+ slot.date_time.time())
+ startcell = (
+ slotstart - self.startTime)/self.slotLength
+
+ rect = QtCore.QRect(leftx, startcell * self.slotHeight
+ + self.headingHeight, columnWidth,
+ (slot.length / self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ feedback = '%d mins starting at %s with %s'% (slot.length,
+ slot.date_time.strftime ("%H:%M"), dent.initials)
+
+ QtGui.QToolTip.showText(event.globalPos(),
+ QtCore.QString(feedback))
+ break
+
+ for appt in (self.appts[dent.ix] + self.eTimes[dent.ix] +
+ self.lunches[dent.ix]):
+ if (self.daystart[dent.ix] <= appt.mpm <
+ self.dayend[dent.ix]):
+ startcell = (appt.mpm - self.startTime) / self.slotLength
+
+ rect = QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ break
+
+ col+=1
+ self.update()
+
+ def mousePressEvent(self, event):
+ '''
+ catch the mouse press event -
+ and if you have clicked on an appointment, emit a signal
+ the signal has a LIST as argument -
+ in case there are overlapping appointments or doubles etc...
+ '''
+
+ columnCount = len(self.dents)
+ if columnCount == 0:
+ return #nothing to do... and division by zero errors!
+
+ columnWidth = (self.width() - self.timeOffset) / columnCount
+
+ col = 0
+ for dent in self.dents: #did user click a heading?
+ leftx = self.timeOffset + col * columnWidth
+ rightx = self.timeOffset + (col + 1) * columnWidth
+ rect = QtCore.QRect(leftx, 0, columnWidth, self.headingHeight)
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ self.emit(QtCore.SIGNAL("DentistHeading"),(dent.ix, self.date))
+ return
+ if event.button() == 1: #left click
+ for slot in self.freeslots[dent.ix]:
+ slotstart = localsettings.pyTimeToMinutesPastMidnight(
+ slot.date_time.time())
+ startcell = (
+ slotstart - self.startTime)/self.slotLength
+
+ rect=QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (slot.length / self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.emit(QtCore.SIGNAL("SlotClicked"), slot)
+
+ break
+
+ else: #right click
+ leftx = self.timeOffset + col * columnWidth
+ rightx = self.timeOffset + (col+1) * columnWidth
+
+ for slot in self.freeslots[dent.ix]:
+ slotstart = localsettings.pyTimeToMinutesPastMidnight(
+ slot.date_time.time())
+ startcell = (
+ slotstart - self.startTime)/self.slotLength
+
+ rect = QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (slot.length / self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ feedback = '%d mins starting at %s with %s'% (
+ slot.length,
+ localsettings.humanTime(slotstart),
+ dent.initials)
+
+ QtGui.QMessageBox.information(self, "Info",
+ "You've right clicked on a slot<br />%s"% feedback)
+ return
+
+
+ for appt in self.appts[dent.ix]:
+ startcell = (appt.mpm - self.startTime) / self.slotLength
+
+ rect = QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ feedback = '%d mins starting at %s with %s'% (
+ appt.length,
+ localsettings.humanTime(appt.mpm),
+ dent.initials)
+
+ QtGui.QMessageBox.information(self,"Info",
+ "You've right clicked on an appt<br />%s"% feedback)
+ return
+
+ for appt in self.lunches[dent.ix]:
+ startcell = (appt.mpm - self.startTime) / self.slotLength
+
+ rect = QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ feedback = '%d mins starting at %s with %s'% (
+ appt.length,
+ localsettings.humanTime(appt.mpm),
+ dent.initials)
+
+ QtGui.QMessageBox.information(self, "Info",
+ "You've right clicked Lunch<br />%s"% feedback)
+ return
+
+ for appt in self.eTimes[dent.ix]:
+ startcell = (appt.mpm - self.startTime) / self.slotLength
+
+ rect = QtCore.QRect(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+
+ if rect.contains(event.pos()):
+ self.highlightedRect = rect
+ feedback = '%d mins starting at %s with %s'% (
+ appt.length,
+ localsettings.humanTime(appt.mpm),
+ dent.initials)
+
+ QtGui.QMessageBox.information(self, "Info",
+ "You've right clicked on an emergency slot<br />%s"% \
+ feedback)
+ return
+ col += 1
+
+ def leaveEvent(self, event):
+ self.highlightedRect = None
+ self.update()
+
+ def dragEnterEvent(self, event):
+ self._mouse_drag_rects is None
+ self.mouse_drag_rect = None
+ self.drag_appt = None
+ if event.mimeData().hasFormat("application/x-appointment"):
+ data = event.mimeData()
+ bstream = data.retrieveData("application/x-appointment",
+ QtCore.QVariant.ByteArray)
+ appt = pickle.loads(bstream.toByteArray())
+ if self.date >= localsettings.currentDay():
+ self.drag_appt = appt
+ event.accept()
+ else:
+ event.ignore()
+ else:
+ event.ignore()
+
+ @property
+ def is_dragging(self):
+ return self.mouse_drag_rect is not None
+
+ @property
+ def mouse_drag_rects(self):
+ if self._mouse_drag_rects is None:
+ self._mouse_drag_rects = []
+
+ columnCount = len(self.dents)
+ if columnCount == 0:
+ return self._mouse_drag_rects
+
+ columnWidth = (self.width() - self.timeOffset) / columnCount
+
+ for col, dent in enumerate(self.dents):
+ left_x = self.timeOffset + (col) * columnWidth
+
+ busy_times = [(0, dent.start_mpm)]
+ for block in sorted(
+ self.eTimes[dent.ix] +
+ self.lunches[dent.ix] +
+ self.appts[dent.ix]
+ ):
+ busy_times.append((block.mpm, block.end_mpm))
+ busy_times.append((dent.end_mpm, 1440))
+
+ for pos, (start, finish) in enumerate((busy_times)[:-1]):
+ next_start = busy_times[pos+1][0]
+ if next_start - finish >= self.drag_appt.length:
+
+ startcell = (finish - self.startTime) / self.slotLength
+ top_y = startcell * self.slotHeight + self.headingHeight
+
+ height = ((next_start-finish)
+ /self.slotLength) * self.slotHeight
+
+ rect = QtCore.QRectF(
+ left_x,
+ top_y,
+ columnWidth,
+ height)
+
+
+ self._mouse_drag_rects.append((dent.ix, rect))
+
+ return self._mouse_drag_rects
+
+ def dragMoveEvent(self, event):
+ self.mouse_drag_rect = None
+ if (self.date >= localsettings.currentDay() and
+ event.mimeData().hasFormat("application/x-appointment")):
+
+ self.dropPos = QtCore.QPointF(event.pos())
+ for dent_ix, rect_f in self.mouse_drag_rects:
+ if rect_f.contains(self.dropPos):
+ self.mouse_drag_rect = (dent_ix, rect_f)
+
+
+ # now handle the situation where the drag lower border
+ # is outwith the slot
+ height = (self.drag_appt.length/self.slotLength) \
+ *self.slotHeight
+ if self.dropPos.y() + height >= rect_f.bottom():
+ self.dropPos = QtCore.QPointF(
+ self.dropPos.x(), rect_f.bottom() - height)
+
+ break
+
+ if self.is_dragging:
+ event.accept()
+ else:
+ event.ignore()
+ self.update()
+ else:
+ event.ignore()
+
+ def dragLeaveEvent(self, event):
+ self.mouse_drag_rect = None
+ self.update()
+ event.accept()
+
+ def dropEvent(self, event):
+ if not self.is_dragging:
+ event.ignore()
+
+ #print "TODO - dropEvent"
+ #print "%s was dropped at %s"% (self.drag_appt, self.dropPos)
+
+ date_time = datetime.datetime.combine(self.date.toPyDate(),
+ localsettings.minutesPastMidnightToPyTime(self.drop_time()))
+ dent = self.mouse_drag_rect[0]
+ slot = appointments.FreeSlot(date_time, dent, self.drag_appt.length)
+ self.emit(QtCore.SIGNAL("ApptDropped"), self.drag_appt, slot)
+
+ self.mouse_drag_rect = None
+ self.drag_appt = None
+ event.accept()
+
+ def drop_time(self):
+ '''
+ returns minutes past midnight of the drop.
+ '''
+ current_row = (self.dropPos.y()-self.headingHeight)/self.slotHeight
+ mpm = self.startTime + (current_row * self.slotLength)
+ mpm = int(5 * round(float(mpm)/5))
+ return mpm
+
+ def paintEvent(self, event=None):
+ '''
+ draws the widget - recalled at any point by instance.update()
+ '''
+
+ if len(self.dents) == 0:
+ return #blank widget if no dents working
+ self.dragLine = None
+
+ painter = QtGui.QPainter(self)
+ painter.setBrush(BGCOLOR)
+
+ currentSlot = 0
+
+ self.font.setPointSize(localsettings.appointmentFontSize)
+ fm = QtGui.QFontMetrics(self.font)
+ painter.setFont(self.font)
+
+ self.timeOffset = fm.width(" 88:88 ")
+ self.headingHeight = fm.height()
+
+ self.slotHeight = (
+ self.height() - self.headingHeight) / self.slotCount
+
+ columnCount = len(self.dents)
+
+ if columnCount == 0:
+ columnCount = 1 #avoid division by zero!!
+ columnWidth = (self.width() - self.timeOffset) / columnCount
+ dragWidth = columnWidth
+
+ ## put the times down the side
+
+ while currentSlot < self.slotCount:
+ #offset the first time.
+ if (currentSlot+2) % self.textDetail == 0:
+ y = 0.8 * self.headingHeight + currentSlot * self.slotHeight
+ trect = QtCore.QRect(
+ 0,
+ y,
+ self.timeOffset,
+ self.textDetail * self.slotHeight
+ )
+ painter.setPen(BLACK_PEN)
+
+ painter.drawText(trect, QtCore.Qt.AlignHCenter,
+ localsettings.humanTime(
+ self.startTime + (currentSlot * self.slotLength)))
+
+ currentSlot += 1
+ col = 0
+
+ for dent in self.dents:
+ leftx = self.timeOffset + col * columnWidth
+ rightx = self.timeOffset + (col+1) * columnWidth
+ ##headings
+ painter.setPen(BLACK_PEN)
+ painter.setBrush(APPTCOLORS["HEADER"])
+ rect = QtCore.QRect(leftx, 0, columnWidth, self.headingHeight)
+ painter.drawRect(rect)
+ initials = localsettings.apptix_reverse.get(dent.ix)
+ if dent.memo != "":
+ initials = "*%s*"% initials
+ painter.drawText(rect,QtCore.Qt.AlignHCenter, initials)
+
+ ##dentist start/finish
+ painter.setBrush(BGCOLOR)
+
+ startcell = ((self.daystart[dent.ix]-self.startTime) /
+ self.slotLength)
+
+ length = self.dayend[dent.ix] - self.daystart[dent.ix]
+
+ startY = startcell * self.slotHeight + self.headingHeight
+ endY = (length/self.slotLength) * self.slotHeight
+ rect = QtCore.QRectF(leftx, startY, columnWidth, endY)
+
+ if self.flagDict[dent.ix]:
+ #don't draw a white canvas if dentist is out of office
+ #a white canvas
+ painter.save()
+ painter.drawRect(rect)
+
+ ## grey lines
+ painter.setPen(GREYLINE_PEN)
+ y = startY
+ while y < startY+endY:
+ painter.drawLine(leftx, y, rightx, y)
+ y += self.slotHeight/2
+
+ painter.restore()
+ painter.setPen(BLACK_PEN)
+ ###emergencies
+ for appt in self.eTimes[dent.ix]:
+ painter.save()
+ if (self.daystart[dent.ix] <= appt.mpm <
+ self.dayend[dent.ix]):
+ startcell = (appt.mpm - self.startTime
+ ) / self.slotLength
+
+ rect = QtCore.QRectF(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+ if self.mode == self.SCHEDULING_MODE:
+ painter.setBrush(APPTCOLORS["BUSY"])
+ painter.setPen(GREY_PEN)
+ elif appt.isEmergency:
+ painter.setBrush(APPTCOLORS["EMERGENCY"])
+ elif APPTCOLORS.has_key(appt.name.upper()):
+ painter.setBrush(APPTCOLORS[appt.name.upper()])
+ elif APPTCOLORS.has_key(appt.cset):
+ painter.setBrush(APPTCOLORS[appt.cset])
+ else:
+ painter.setBrush(APPTCOLORS["default"])
+
+ painter.drawRect(rect)
+ text = appt.name[:5]
+ if len(text) < len(appt.name):
+ text += ".."
+ painter.drawText(rect,QtCore.Qt.AlignLeft, text)
+
+ painter.restore()
+
+ painter.save()
+ painter.setBrush(APPTCOLORS["LUNCH"])
+ for appt in self.lunches[dent.ix]:
+ if (self.daystart[dent.ix] <= appt.mpm <
+ self.dayend[dent.ix]):
+ startcell = (appt.mpm - self.startTime
+ ) / self.slotLength
+
+ rect = QtCore.QRectF(leftx,
+ startcell * self.slotHeight + self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength) * self.slotHeight)
+
+ if self.mode == self.SCHEDULING_MODE:
+ painter.setPen(GREY_PEN)
+ else:
+ painter.setPen(BLACK_PEN)
+
+ painter.drawRect(rect)
+ painter.drawText(rect,QtCore.Qt.AlignCenter,
+ "Lunch")
+ painter.restore()
+
+ ###appts
+ for appt in self.appts[dent.ix]:
+ if (self.om_gui.pt and
+ appt.serialno == self.om_gui.pt.serialno):
+ painter.setBrush(APPTCOLORS["current_patient"])
+ elif self.mode == self.SCHEDULING_MODE:
+ painter.setPen(GREY_PEN)
+ painter.setBrush(APPTCOLORS["BUSY"])
+ elif APPTCOLORS.has_key(appt.name.upper()):
+ painter.setBrush(APPTCOLORS[appt.name.upper()])
+ elif APPTCOLORS.has_key(appt.cset):
+ painter.setBrush(APPTCOLORS[appt.cset])
+ else:
+ painter.setBrush(APPTCOLORS["BUSY"])
+
+ startcell = (appt.mpm - self.startTime) / self.slotLength
+
+ rect = QtCore.QRectF(
+ leftx,
+ startcell*self.slotHeight+self.headingHeight,
+ columnWidth,
+ (appt.length/self.slotLength)*self.slotHeight
+ )
+
+ painter.drawRect(rect)
+
+ text = appt.trt[:5]
+ if len(text) < len(appt.trt):
+ text += ".."
+ painter.drawText(rect,QtCore.Qt.AlignLeft, text)
+
+ ###slots
+
+ painter.save()
+ painter.setPen(GREY_PEN)
+ for slot in self.freeslots[dent.ix]:
+ slotstart = localsettings.pyTimeToMinutesPastMidnight(
+ slot.date_time.time())
+ startcell = (
+ slotstart - self.startTime)/self.slotLength
+
+ rect = QtCore.QRectF(leftx,
+ startcell*self.slotHeight+self.headingHeight,
+ columnWidth,
+ (slot.length/self.slotLength)*self.slotHeight)
+
+ painter.save()
+ if slot in self.active_slots:
+ if self.blink_on:
+ painter.setBrush(
+ APPTCOLORS["ACTIVE_SLOT_BOLD"])
+ else:
+ painter.setBrush(APPTCOLORS["ACTIVE_SLOT"])
+ painter.setPen(RED_PEN)
+ else:
+ if slot.dent in self.enabled_clinicians:
+ painter.setOpacity(1)
+ else:
+ painter.setOpacity(0.4)
+ painter.setBrush(APPTCOLORS["SLOT"])
+ painter.drawRect(rect)
+
+ painter.setPen(RED_PEN)
+ painter.drawText(rect,QtCore.Qt.AlignCenter,
+ "%s"% slot.length)
+ painter.restore()
+ painter.restore()
+
+ ## drag drop
+
+ if (self.is_dragging and
+ self.mouse_drag_rect[0] == dent.ix):
+ painter.save()
+
+ rect = self.mouse_drag_rect[1]
+
+ painter.setBrush(APPTCOLORS["ACTIVE_SLOT"])
+ painter.drawRect(rect)
+ painter.setPen(RED_PEN)
+
+ height = (self.drag_appt.length/self.slotLength) \
+ *self.slotHeight
+
+ rect = QtCore.QRectF(leftx,
+ self.dropPos.y(), columnWidth-1, height)
+ painter.drawRect(rect)
+
+ self.dragLine = QtCore.QLine(0, self.dropPos.y(),
+ self.width(), self.dropPos.y())
+
+ trect = QtCore.QRectF(0,
+ self.dropPos.y(), self.timeOffset, height)
+
+ painter.drawRect(trect)
+ painter.drawText(trect, QtCore.Qt.AlignHCenter,
+ localsettings.humanTime(self.drop_time()))
+
+ painter.restore()
+
+ if col>0:
+ painter.save()
+ painter.setPen(BLACK_PEN)
+ painter.drawLine(leftx,0,leftx,self.height())
+ painter.restore()
+ col+=1
+
+ if self.highlightedRect!=None:
+ painter.setPen(RED_PEN)
+ painter.setBrush(TRANSPARENT)
+ painter.drawRect(self.highlightedRect)
+ if self.dragLine:
+ painter.setPen(RED_PEN)
+ painter.drawLine(self.dragLine)
+
+ def toggle_blink(self):
+ if not self.mode == self.SCHEDULING_MODE:
+ return
+ self.blink_on = not self.blink_on
+ self.update()
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ form = AppointmentOverviewWidget("0800","1900",15, 2, None)
+
+ form.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/customwidgets/appointmentwidget.py b/src/openmolar/qt4gui/customwidgets/appointmentwidget.py
new file mode 100644
index 0000000..f6e4c21
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/appointmentwidget.py
@@ -0,0 +1,1105 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+provides one class - the appointment widget
+the canvas is a subclass of this
+'''
+
+from __future__ import division
+
+import datetime
+import functools #for partial
+import logging
+import pickle
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+from openmolar.qt4gui import colours
+from openmolar.qt4gui.dialogs import blockslot
+
+BGCOLOR = QtCore.Qt.transparent
+FREECOLOR = colours.APPT_Background
+LINECOLOR = colours.APPT_LINECOLOUR
+APPTCOLORS = colours.APPTCOLORS
+TRANSPARENT = colours.TRANSPARENT
+
+GREY_PEN = QtGui.QPen(QtCore.Qt.gray,1)
+
+
+class AppointmentWidget(QtGui.QFrame):
+ '''
+ a custom widget to for a dental appointment book
+ useage is (startTime,finishTime, parentWidget - optional)
+ startTime,finishTime in format HHMM or HMM or HH:MM or H:MM
+ slotDuration is the minimum slot length - typically 5 minutes
+ textDetail is the number of slots to draw before writing the time text
+ parentWidget =optional
+ '''
+ selected_serialno = None
+ BROWSING_MODE = 0
+ SCHEDULING_MODE = 1
+ mode = None
+
+ #signal has dent, time, length
+ slotClicked = QtCore.pyqtSignal(object, object, object)
+ print_mh_signal = QtCore.pyqtSignal(object)
+
+ def __init__(self, sTime, fTime, om_gui):
+ QtGui.QFrame.__init__(self, om_gui)
+
+ self.header_frame = QtGui.QFrame(self)
+ self.om_gui = om_gui
+ self.printButton = QtGui.QPushButton("", self.header_frame)
+ self.printButton.setMaximumWidth(50)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/ps.png"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+
+ self.printButton.setIcon(icon)
+
+ self.connect(self.printButton, QtCore.SIGNAL("clicked()"),
+ self.printme)
+
+ self.header_label = QtGui.QLabel("dent", self.header_frame)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ font = QtGui.QFont("Sans",14,75)
+ self.header_label.setFont(font)
+
+ self.memo_lineEdit = QtGui.QLineEdit(self)
+ self.memo_lineEdit.setText("hello")
+ self.memo_lineEdit.setAlignment(QtCore.Qt.AlignCenter)
+ self.memo_lineEdit.setMaxLength(30) # due to schema restrictions :(
+
+ font = QtGui.QFont("Sans",12,75,True)
+ self.memo_lineEdit.setFont(font)
+ #self.memo_lineEdit.setStyleSheet("background:white")
+
+ self.dentist = "DENTIST"
+ self.apptix = 0
+ glay = QtGui.QGridLayout(self.header_frame)
+ glay.setSpacing(2)
+ glay.setMargin(2)
+ glay.addWidget(self.printButton,0,1)
+ glay.addWidget(self.header_label,0,0)
+ glay.addWidget(self.memo_lineEdit,1,0,1,2)
+
+ self.scrollArea = QtGui.QScrollArea()
+ self.scrollArea.setWidgetResizable(True)
+
+ self.canvas = appointmentCanvas(om_gui, self)
+ self.scrollArea.setWidget(self.canvas)
+
+ self.setDayStartTime(sTime)
+ self.setStartTime(sTime)
+ self.setDayEndTime(fTime)
+ self.setEndTime(fTime)
+
+ self.OOlabel = QtGui.QLabel(_("Out Of Office"))
+ self.OOlabel.setWordWrap(True)
+ self.OOlabel.setAlignment(QtCore.Qt.AlignCenter)
+ self.OOlabel.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding))
+
+ lay = QtGui.QVBoxLayout(self)
+ lay.setSpacing(0)
+ lay.setMargin(2)
+ lay.addWidget(self.header_frame)
+ lay.addWidget(self.OOlabel)
+ lay.addWidget(self.scrollArea)
+
+ self.outofoffice = False
+ self.setOutOfOffice(False)
+
+ self.setMinimumSize(self.minimumSizeHint())
+ self.setMaximumSize(self.maximumSizeHint())
+ self.signals()
+
+ def setOutOfOffice(self, val):
+ '''
+ toggle out of office
+ '''
+ self.outofoffice = val
+ self.OOlabel.setVisible(val)
+ self.scrollArea.setVisible(not val)
+
+ def setDentist(self, apptix):
+ '''
+ update the dentist the widget relates to
+ '''
+ self.apptix = apptix
+ self.dentist = localsettings.apptix_reverse.get(apptix, "??")
+
+ def sizeHint(self):
+ '''
+ set an (arbitrary) size for the widget
+ '''
+ return QtCore.QSize(200, 400)
+
+ def minimumSizeHint(self):
+ '''
+ set an (arbitrary) minimum size for the widget
+ '''
+ return QtCore.QSize(120, 300)
+
+ def maximumSizeHint(self):
+ '''
+ widget looks daft if too wide
+ '''
+ return QtCore.QSize(500, 16777215)
+
+ def setDayStartTime(self, sTime):
+ '''
+ a public method to set the Practice Day Start
+ '''
+ self.canvas.setDayStartTime(sTime)
+
+ def setDayEndTime(self, fTime):
+ '''
+ a public method to set the Practice Day End
+ '''
+ self.canvas.setDayEndTime(fTime)
+
+ def setStartTime(self, sTime):
+ '''
+ a public method to set the earliest appointment available
+ '''
+ self.canvas.setStartTime(sTime)
+
+ def setEndTime(self, fTime):
+ '''
+ a public method to set the end of the working day
+ '''
+ self.canvas.setEndTime(fTime)
+
+ def setCurrentTime(self, t):
+ '''
+ send it a value like "HHMM" or "HH:MM" to draw a marker at that time
+ '''
+ return self.canvas.setCurrentTime(t)
+
+ def clearAppts(self):
+ '''
+ resets - the widget values - DOES NOT REDRAW THE WIDGET
+ '''
+ self.canvas.appts = []
+ self.canvas.doubleAppts = []
+ self.canvas.rows = {}
+ self.canvas.freeslots = []
+ self.canvas.active_slot = None
+
+ def printme(self):
+ '''
+ emits a signal when the print button is clicked
+ '''
+ self.emit(QtCore.SIGNAL("print_me"), self.apptix)
+
+ def newMemo(self):
+ '''
+ user has edited the memo line Edit - emit a signal so the
+ gui can handle it
+ '''
+ if not self.memo_lineEdit.hasFocus():
+ self.emit(QtCore.SIGNAL("new_memo"),
+ (self.dentist, str(self.memo_lineEdit.text().toAscii())))
+
+ def signals(self):
+ '''
+ set up the widget's signals and slots
+ '''
+ self.connect(self.memo_lineEdit,
+ QtCore.SIGNAL("editingFinished()"), self.newMemo)
+
+ def showEvent(self, event=None):
+ if self.om_gui.pt:
+ self.selected_serialno = self.om_gui.pt.serialno
+ else:
+ self.selected_serialno = None
+
+ def update(self):
+ if not self.outofoffice:
+ self.canvas.update()
+
+ def setAppointment(self, app):
+ '''
+ adds an appointment to the widget dictionary of appointments
+ typical useage is instance.setAppointment
+ ("0820","0900","NAME","serialno","trt1",
+ "trt2","trt3","Memo", modtime)
+ NOTE - this also appts to the widgets
+ dictionary which has
+ row number as key, used for signals when appts are clicked
+
+ (5, 915, 930, 'MCPHERSON I', 6155L, 'EXAM', '', '', '', 1, 73, 0, 0,
+ timestamp)
+ (5, 1100, 1130, 'EMERGENCY', 0L, '', '', '', '', -128, 0, 0, 0,
+ timestamp)
+ '''
+ (start, finish, name, sno, trt1, trt2, trt3, memo, flag, cset,
+ modtime) = (str(app[1]), str(app[2]), app[3], app[4],
+ app[5], app[6], app[7], app[8], app[9], chr(app[10]), app[13])
+
+ startcell = self.canvas.getCell_from_time(start)
+ endcell = self.canvas.getCell_from_time(finish)
+ if endcell == startcell: #double and family appointments!!
+ endcell += 1
+
+ self.canvas.doubleAppts.append((startcell, endcell, start, finish,
+ name, sno, trt1, trt2, trt3, memo, flag, cset, modtime))
+ else:
+ self.canvas.appts.append((startcell, endcell, start, finish,
+ name, sno, trt1, trt2, trt3, memo, flag, cset, modtime))
+ if sno == 0:
+ sno = self.canvas.duplicateNo
+ self.canvas.duplicateNo -= 1
+ for row in range(startcell, endcell):
+ if self.canvas.rows.has_key(row):
+ self.canvas.rows[row].append(sno)
+ else:
+ self.canvas.rows[row] = [sno]
+
+ def addSlot(self, slot):
+ '''
+ adds a slot to the widget's data
+ '''
+ if slot.dent != self.apptix:
+ return
+
+ startcell = self.canvas.getCell_from_mpm(slot.mpm)
+ endcell = self.canvas.getCell_from_mpm(slot.mpm_end)
+ self.canvas.freeslots.append((startcell, endcell))
+
+ def set_active_slot(self, slot):
+ '''
+ returns true if the slot is accepted
+ (ie.. this book is for that dentist)
+ '''
+ if slot is not None and slot.dent == self.apptix:
+ startcell = self.canvas.getCell_from_mpm(slot.mpm)
+ endcell = self.canvas.getCell_from_mpm(slot.mpm_end)
+ self.canvas.active_slot = (startcell, endcell)
+
+ self.canvas.ensure_slot_visible = True
+ return True
+
+ else:
+ self.canvas.active_slot = None
+ return False
+
+ def enable_slots(self, bool_):
+ self.canvas.enabled_slots = (
+ bool_ or self.canvas.active_slot != None)
+
+ def set_scroll_bar(self, scroll_bar):
+ self.scrollArea.setVerticalScrollBar(scroll_bar)
+
+ def scroll_bar_off(self):
+ policy = QtCore.Qt.ScrollBarAlwaysOff
+ self.scrollArea.setVerticalScrollBarPolicy(policy)
+
+class appointmentCanvas(QtGui.QWidget):
+ '''
+ the canvas for me to draw on
+ '''
+ blink_on = True # a boolean which toggles value
+
+ enabled_slots = True
+ ensure_slot_visible = True
+
+ def __init__(self, om_gui, pWidget):
+ QtGui.QWidget.__init__(self, pWidget)
+ self.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding))
+
+ self.setMinimumSize(self.minimumSizeHint())
+ self.pWidget = pWidget
+ self.slotDuration = 5 # 5 minute slots
+ self.textDetail = 3 # time printed every 3 slots
+ self.slotNo = 12
+ self.dayEndTime=60
+ self.dayStartTime=0
+ self.startTime=0
+ self.endTime=60
+ self.appts = []
+ self.freeslots = []
+ self.doubleAppts = []
+ self.rows = {}
+ self.setTime = None
+ self.selected_rows = (0,0)
+ self.setMouseTracking(True)
+ self.duplicateNo = -1 #use this for serialnos =0
+ self.om_gui = om_gui
+ self.dragging = False
+ self.drag_appt = None
+ self.drop_time = None
+ self.setAcceptDrops(True)
+ self.qmenu = None
+ self.mouse_freeslot = None
+ self.active_slot = None
+
+ self.font = QtGui.QFont(self.fontInfo().family(),
+ localsettings.appointmentFontSize)
+
+ self.fm = QtGui.QFontMetrics(self.font)
+ self.timeWidth = self.fm.width(" 88:88 ")
+ self.slotHeight = self.fm.height()/self.textDetail
+
+ self.blink_timer = QtCore.QTimer()
+ self.blink_timer.timeout.connect(self.toggle_blink)
+ self.blink_timer.start(1000)
+
+
+ def setDayStartTime(self, sTime):
+ '''
+ a public method to set the Practice Day Start
+ '''
+ self.dayStartTime = self.minutesPastMidnight(sTime)
+
+ def setDayEndTime(self, fTime):
+ '''
+ a public method to set the Practice Day End
+ '''
+ self.dayEndTime = self.minutesPastMidnight(fTime)
+ self.calcSlotNo()
+
+ def setStartTime(self, sTime):
+ '''
+ a public method to set the earliest appointment available
+ '''
+ self.startTime = self.minutesPastMidnight(sTime)
+ self.firstSlot = self.getCell_from_time(sTime)+1
+
+ def setEndTime(self, fTime):
+ '''
+ a public method to set the end of the working day
+ '''
+ self.endTime = self.minutesPastMidnight(fTime)
+ self.lastSlot = self.getCell_from_time(fTime)
+
+ def calcSlotNo(self):
+ '''
+ work out how many 'slots' there are given the lenght of day
+ and length of slots
+ '''
+ self.slotNo = (
+ self.dayEndTime - self.dayStartTime) // self.slotDuration
+ self.slotHeight = self.fm.height()/self.textDetail
+
+ min_height_required = self.slotHeight *self.slotNo
+
+ if min_height_required < self.pWidget.scrollArea.height()*.98:
+ self.setMinimumHeight(self.pWidget.scrollArea.height()*.98)
+ self.slotHeight = self.height() / self.slotNo
+ else:
+ self.setMinimumHeight(min_height_required)
+
+ def resizeEvent(self, event):
+ self.calcSlotNo()
+
+ def minutesPastMidnight(self, t):
+ '''
+ converts a time in the format of
+ 'HHMM' or 'H:MM' (both strings) to minutes
+ past midnight
+ '''
+ hour, minute = int(t) // 100, int(t) % 100
+ return hour * 60 + minute
+
+ def humanTime(self, t):
+ '''
+ converts minutes past midnight(int) to format "HH:MM"
+ '''
+ hour, minute = t // 60, int(t) % 60
+ return "%s:%02d"% (hour, minute)
+
+ def setslotDuration(self, arg):
+ '''
+ set the slotDuration (default is 5 minutes)
+ '''
+ self.slotDuration = arg
+
+ def setTextDetail(self, arg):
+ '''
+ set the number of rows between text time slots
+ '''
+ self.textDetail = arg
+
+ def sizeHint(self):
+ '''
+ set an (arbitrary) size for the widget
+ '''
+ return QtCore.QSize(200, 500)
+
+ def minimumSizeHint(self):
+ '''
+ set an (arbitrary) minimum size for the widget
+ '''
+ return QtCore.QSize(100, 200)
+
+ def setCurrentTime(self, t):
+ '''
+ send it a value like "HHMM" or "HH:MM" to draw a marker at that time
+ '''
+ self.setTime = t
+ if t and self.startTime < self.minutesPastMidnight(t) < self.endTime:
+ return True
+
+ def qTime(self, t):
+ '''
+ converts minutes past midnight(int) to a QTime
+ '''
+ hour, minute = t // 60, int(t) % 60
+ return QtCore.QTime(hour, minute)
+
+ def getCell_from_time(self, t):
+ '''
+ send a time - return the row number of that time
+ '''
+ return self.getCell_from_mpm(self.minutesPastMidnight(t))
+
+ def getCell_from_mpm(self, mpm):
+ '''
+ send a time - return the row number of that time
+ '''
+ return (mpm - self.dayStartTime) // self.slotDuration
+
+ def getTime_from_Cell(self, row):
+ '''
+ you know the row.. what time is that
+ '''
+ mpm = self.slotDuration * row + self.dayStartTime
+ return localsettings.minutesPastMidnightToPyTime(mpm)
+
+ def getPrev(self, arg):
+ '''
+ what slot is the previous appt?
+ '''
+ lower = arg
+ while lower >= self.firstSlot:
+ if self.rows.has_key(lower):
+ lower += 1
+ break
+ lower -= 1
+ return lower
+
+ def getNext(self, arg):
+ '''
+ what slot is the next appt?
+ '''
+ upper = arg
+ while upper < self.lastSlot:
+ if self.rows.has_key(upper):
+ break
+ upper += 1
+ return upper
+
+ def getApptBounds(self, row, patients):
+ '''
+ get the start and finish of an appt
+ this is complicated because the same patient may have 2 appointments
+ on one day
+ '''
+ bounds = {1: row,-1:row}
+ row_list = sorted(self.rows)[:]
+
+ for direction in (1, -1):
+ pos = row_list.index(row)
+ pts = patients
+
+ while pts==patients:
+ if row_list[pos]<bounds[direction]:
+ bounds[direction]=row_list[pos]
+ pos += direction
+ try:
+ pts = self.rows[row_list[pos]]
+ except KeyError:
+ break
+ except IndexError:
+ break
+
+ return (bounds[-1],bounds[1]+1)
+
+ def dragEnterEvent(self, event):
+ if event.mimeData().hasFormat("application/x-appointment"):
+ data = event.mimeData()
+ bstream = data.retrieveData("application/x-appointment",
+ QtCore.QVariant.ByteArray)
+ self.drag_appt = pickle.loads(bstream.toByteArray())
+
+ event.accept()
+ else:
+ event.ignore()
+
+ def dragMoveEvent(self, event):
+ if event.mimeData().hasFormat("application/x-appointment"):
+
+ y = event.pos().y()
+ yOffset = self.height() / self.slotNo
+ self.drag_startrow = int(y//yOffset)
+
+ if (self.drag_startrow < self.firstSlot-1 or
+ self.drag_startrow >= self.lastSlot or
+ self.rows.has_key(self.drag_startrow)):
+ allowDrop = False
+ else:
+ n_rows = self.drag_appt.length // self.slotDuration
+ self.drag_endrow = self.drag_startrow + n_rows
+ #see if there's a long enough slot either side of the selected
+ #row
+ allowDrop = True
+ for row in range(self.drag_startrow, self.drag_endrow):
+ if self.rows.has_key(row) or row >= self.lastSlot:
+ allowDrop = False
+ break
+ if not allowDrop:
+ allowDrop = True
+ self.drag_startrow = row - n_rows
+ self.drag_endrow = row
+ for row in range(self.drag_startrow, row):
+ if self.rows.has_key(row) or row < self.firstSlot-1:
+ allowDrop = False
+ break
+
+ if allowDrop:
+ self.dragging = True
+ self.drop_time = self.getTime_from_Cell(self.drag_startrow)
+ self.update()
+ event.accept()
+ else:
+ self.dragging = False
+ self.update()
+ event.ignore()
+ else:
+ self.update()
+ event.accept()
+
+ def dragLeaveEvent(self, event):
+ self.dragging = False
+ self.update()
+ event.accept()
+
+ def dropEvent(self, event):
+ self.dragging = False
+ self.emit(QtCore.SIGNAL("ApptDropped"), self.drag_appt,
+ self.drop_time, self.pWidget.apptix)
+ self.drag_appt = None
+ self.dropOffset = 0
+ event.accept()
+
+ def mouse_over_freeslot(self, pos):
+ self.mouse_freeslot = None
+ for slot in self.freeslots:
+ startcell, endcell = slot
+ rect = QtCore.QRectF(
+ self.timeWidth,
+ startcell * self.slotHeight,
+ self.width() - self.timeWidth,
+ (endcell-startcell) * self.slotHeight)
+
+ if rect.contains(QtCore.QPointF(pos)):
+ self.mouse_freeslot = slot
+ return True
+
+
+ def mouseMoveEvent(self, event):
+ y = event.y()
+ yOffset = self.height() / self.slotNo
+ row = int(y//yOffset)
+
+ if not (self.firstSlot-1) < row < self.lastSlot:
+ self.selected_rows = (0, 0)
+ self.update()
+ QtGui.QToolTip.showText(event.globalPos(), "")
+ return
+
+ if self.mouse_over_freeslot(event.pos()):
+ startcell, endcell = self.mouse_freeslot
+ feedback = '''
+ <html><div align="center">
+ <b>SLOT with %s</b><br />
+ <b>%s</b><br />
+ (%d mins)
+ </div></html>
+ '''% (
+ self.pWidget.dentist,
+ self.getTime_from_Cell(startcell).strftime("%H:%M"),
+ (endcell-startcell) * self.slotDuration,
+ )
+ x_pos = self.mapToGlobal(self.pos()).x()
+ pos = QtCore.QPoint(x_pos, event.globalPos().y())
+ QtGui.QToolTip.showText(pos, feedback)
+
+ elif self.rows.has_key(row):
+ selectedPatients = self.rows[row]
+ self.selected_rows = self.getApptBounds(row, selectedPatients)
+ self.update()
+
+ feedback = "<html>"
+ for patient in selectedPatients:
+ for appt in self.appts + self.doubleAppts:
+ if appt[5] == patient:
+
+ feedback += '''%s<br /><b>%s - %s</b>'''%(
+ appt[4], appt[2], appt[3])
+ for val in (appt[6], appt[7], appt[8]):
+ if val != "":
+ feedback += '''
+ <br /><font color="red">%s</font>'''% val
+ if appt[9] != "":
+ feedback += "<br /><i>%s</i>"% appt[9]
+ try:
+ timestamp = appt[12]
+ datestamp = timestamp.date()
+ moddate = localsettings.readableDate(datestamp)
+ if datestamp == localsettings.currentDay():
+ feedback += "<br /><i>%s %s %s %s</i><hr />"% (
+ _("Made"), moddate, _("at"),
+ localsettings.pyTimeToHumantime(timestamp))
+ else:
+ feedback += "<br /><i>%s<br />%s</i><hr />"% (
+ _("Made on"), moddate)
+
+ except AttributeError:
+ feedback +="<hr />"
+ pass
+
+ if feedback != "<html>":
+ feedback = feedback[:feedback.rindex("<hr />")] + "</html>"
+ x_pos = self.mapToGlobal(self.pos()).x()
+ pos = QtCore.QPoint(x_pos, event.globalPos().y())
+ QtGui.QToolTip.showText(pos, feedback)
+ else:
+ QtGui.QToolTip.showText(event.globalPos(), "")
+
+ else:
+
+ newSelection = (self.getPrev(row), self.getNext(row))
+ if self.selected_rows != newSelection:
+ self.selected_rows = newSelection
+ self.update()
+
+ start = int(self.dayStartTime + self.selected_rows[0] * self.slotDuration)
+ finish = int(self.dayStartTime + self.selected_rows[1] * self.slotDuration)
+
+ x_pos = self.mapToGlobal(self.pos()).x()
+ pos = QtCore.QPoint(x_pos, event.globalPos().y())
+ QtGui.QToolTip.showText(pos,
+ "SLOT %s minutes"% (finish - start))
+
+ def mouseDoubleClickEvent(self,event):
+ self.mousePressEvent(event)
+
+ def mousePressEvent(self, event):
+ '''
+ catch the mouse press event -
+ and if you have clicked on an appointment, emit a signal
+ the signal has a LIST as argument -
+ in case there are overlapping appointments or doubles etc...
+ '''
+ def rightClickMenuResult(result):
+ if not result:
+ return
+ dent = localsettings.apptix.get(self.pWidget.dentist)
+ if result.text() == _("Load Patient"):
+ self.pWidget.emit(QtCore.SIGNAL("AppointmentClicked"),
+ tuple(selectedPatients))
+ elif result.text() == _("Add/Edit Memo"):
+ self.pWidget.emit(QtCore.SIGNAL("EditAppointmentMemo"),
+ tuple(selectedPatients), start, dent)
+ elif result.text() == _("Cancel Appointment"):
+ self.pWidget.emit(QtCore.SIGNAL("AppointmentCancel"),
+ tuple(selectedPatients), start, dent)
+
+ elif result.text() == _("Clear Block"):
+ self.pWidget.emit(QtCore.SIGNAL("ClearEmergencySlot"),
+ (start, finish, dent))
+
+ elif result.text() == _("Block or use this space"):
+ self.block_use_space(qstart, qfinish)
+
+ elif result.text() == _("Print A Medical Form"):
+ self.pWidget.print_mh_signal.emit(tuple(selectedPatients))
+
+ yOffset = self.height() / self.slotNo
+ row=event.y()//yOffset
+
+ actions = []
+
+ if self.mouse_over_freeslot(event.pos()):
+ self.send_slotclicked_signal()
+
+ elif self.rows.has_key(row):
+ start=self.humanTime(
+ int(self.dayStartTime+self.selected_rows[0]*self.slotDuration))
+
+ finish=self.humanTime(
+ int(self.dayStartTime+self.selected_rows[1]*self.slotDuration))
+
+ selectedPatients=self.rows[row]
+ #ignore lunch and emergencies - serialno number is positive
+
+ if selectedPatients[0]>0:
+ actions.append(_("Load Patient"))
+
+ actions.append(None)
+ actions.append(_("Add/Edit Memo"))
+ actions.append(_("Cancel Appointment"))
+ actions.append(None)
+ actions.append(_("Print A Medical Form"))
+
+ self.pWidget.emit(QtCore.SIGNAL("PatientClicked"),
+ tuple(selectedPatients))
+ else:
+ actions.append(_("Clear Block"))
+
+ else:
+ #-- no-one in the book...
+ qstart=self.qTime(
+ int(self.dayStartTime+self.selected_rows[0]*self.slotDuration))
+
+ qfinish=self.qTime(
+ int(self.dayStartTime+self.selected_rows[1]*self.slotDuration))
+
+ if (self.firstSlot-1) < row < self.lastSlot:
+ actions.append(_("Block or use this space"))
+
+ if self.qmenu and event.type() == QtCore.QEvent.MouseButtonDblClick:
+ rightClickMenuResult(self.qmenu.defaultAction())
+ self.qmenu.clear()
+ return
+
+ self.qmenu = QtGui.QMenu(self)
+ for i, action in enumerate(actions):
+ if action is None:
+ self.qmenu.addSeparator()
+ continue
+ q_act = self.qmenu.addAction(action)
+ if i == 0:
+ self.qmenu.setDefaultAction(q_act)
+ if event.button() == QtCore.Qt.RightButton:
+ rightClickMenuResult(self.qmenu.exec_(event.globalPos()))
+
+ def block_use_space(self, start, finish):
+ Dialog=QtGui.QDialog(self)
+ dl = blockslot.blockDialog(Dialog, self.om_gui)
+
+ dl.setTimes(start, finish)
+ dl.setPatient(self.om_gui.pt)
+
+ if dl.exec_():
+ adjstart = dl.start_timeEdit.time()
+ adjfinish = dl.finish_timeEdit.time()
+ if finish < start :
+ QtGui.QMessageBox.information(self,
+ _("Whoops!"), _("Bad Time Sequence!"))
+
+ if dl.block == True:
+ reason = str(
+ dl.comboBox.currentText().toAscii())[:30]
+
+ self.pWidget.emit(QtCore.SIGNAL("BlockEmptySlot"),
+ (start, finish, adjstart, adjfinish ,
+ localsettings.apptix.get(self.pWidget.dentist),
+ reason))
+ else:
+ reason = dl.reason_comboBox.currentText().toAscii()
+ self.pWidget.emit(
+ QtCore.SIGNAL("Appointment_into_EmptySlot"),
+ (start, finish, adjstart, adjfinish ,
+ localsettings.apptix.get(self.pWidget.dentist),
+ reason, dl.patient))
+
+ def leaveEvent(self,event):
+ self.mouse_down = False
+ self.selected_rows=[-1,-1]
+ self.update()
+
+ def paintEvent(self, event=None):
+ '''
+ draws the book - recalled at any point by instance.update()
+ '''
+ red_pen = QtGui.QPen(QtCore.Qt.red, 2)
+ blue_pen = QtGui.QPen(QtCore.Qt.blue, 2)
+
+ painter = QtGui.QPainter(self)
+ currentSlot = 0
+
+ painter.setFont(self.font)
+
+ #define and draw the white boundary
+
+ painter.setBrush(colours.APPT_Background)
+ painter.setPen(QtGui.QPen(colours.APPT_Background,1))
+
+ top = (self.firstSlot-1) * self.slotHeight
+ bottom = (self.lastSlot + 1 - self.firstSlot) * self.slotHeight
+
+ colwidth = self.width()-self.timeWidth
+
+ rect = QtCore.QRectF(self.timeWidth, top, colwidth, bottom)
+
+ painter.drawRect(rect)
+
+ # DRAW HORIZONTAL LINES AND TIMES
+
+ while currentSlot < self.slotNo:
+
+ textneeded = False
+ if currentSlot%self.textDetail == 0:
+ textneeded=True
+
+ y = currentSlot*self.slotHeight
+
+ #- code to check if within the appointment hours
+ if self.firstSlot <= currentSlot <= self.lastSlot:
+ painter.setPen(QtGui.QPen(LINECOLOR, 1))
+ painter.drawLine(self.timeWidth+1, y, self.width()-1, y)
+ if textneeded:
+ trect=QtCore.QRectF(0, y,
+ self.timeWidth,y + self.textDetail * self.slotHeight)
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.black,1))
+ painter.drawLine(0, y, self.timeWidth, y)
+
+ painter.drawText(trect,QtCore.Qt.AlignLeft,
+ (QtCore.QString(self.humanTime(
+ self.dayStartTime+(currentSlot*self.slotDuration)))))
+
+ currentSlot += 1
+
+ #####layout appts
+ painter.save()
+ painter.setPen(QtCore.Qt.black)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+
+ for appt in self.appts:
+ painter.save()
+ (startcell, endcell, start, fin, name, sno, trt1, trt2,
+ trt3, memo, flag, cset, modtime) = appt
+
+ rect = QtCore.QRectF(self.timeWidth,startcell*self.slotHeight,
+ self.width()-self.timeWidth, (endcell-startcell)*self.slotHeight)
+
+ if sno !=0 and sno == self.pWidget.selected_serialno:
+ painter.setBrush(QtGui.QColor("orange"))
+ elif self.pWidget.mode == self.pWidget.SCHEDULING_MODE:
+ painter.setBrush(APPTCOLORS["BUSY"])
+ painter.setPen(GREY_PEN)
+ elif self.selected_rows == (startcell, endcell):
+ painter.setBrush(QtGui.QColor("#AAAAAA"))
+ elif APPTCOLORS.has_key(cset):
+ painter.setBrush(APPTCOLORS[cset])
+ elif APPTCOLORS.has_key(name.upper()):
+ painter.setBrush(APPTCOLORS[name.upper()])
+ elif flag==-128:
+ painter.setBrush(APPTCOLORS["BUSY"])
+ else:
+ painter.setBrush(APPTCOLORS["default"])
+
+ if not (sno == 0 and (
+ endcell < self.firstSlot or startcell > self.lastSlot)):
+ painter.drawRect(rect)
+ mytext = "%s %s %s %s %s"% (name.title(), trt1,
+ trt2, trt3 ,memo)
+
+ painter.drawText(rect, mytext, option)
+
+ ##highlight any appointments booked today
+ if (sno !=0 and
+ modtime and modtime.date() == localsettings.currentDay()):
+ rect = QtCore.QRectF(
+ self.width()-self.timeWidth/2,
+ startcell*self.slotHeight,
+ self.timeWidth/2,
+ rect.height()
+ ).adjusted(2,2,-2,-2)
+
+ painter.setPen(colours.BOOKED_TODAY)
+ painter.setBrush(colours.BOOKED_TODAY)
+ painter.drawEllipse(rect)
+
+ painter.restore()
+
+
+ for appt in self.doubleAppts:
+ (startcell,endcell,start,fin,name,sno, trt1,trt2,
+ trt3,memo,flag,cset, modtime)=appt
+
+ rect = QtCore.QRectF(
+ self.width()-self.timeWidth,
+ startcell*self.slotHeight,
+ self.width()-self.timeWidth,
+ self.slotHeight)
+
+ painter.setBrush(APPTCOLORS["DOUBLE"])
+ painter.drawRect(rect)
+
+ painter.setPen(QtGui.QColor("red"))
+ for slot in self.freeslots:
+ startcell, endcell = slot
+ rect = QtCore.QRectF(
+ self.timeWidth,
+ startcell*self.slotHeight,
+ self.width()-self.timeWidth,
+ (endcell-startcell)*self.slotHeight)
+
+ if slot == self.active_slot:
+ if self.blink_on:
+ painter.setBrush(APPTCOLORS["ACTIVE_SLOT_BOLD"])
+ else:
+ painter.setBrush(APPTCOLORS["ACTIVE_SLOT"])
+ if self.ensure_slot_visible:
+ self.ensure_visible(0, startcell*self.slotHeight)
+ else:
+ brush = APPTCOLORS["SLOT"]
+ if self.enabled_slots:
+ painter.setOpacity(1)
+ else:
+ painter.setOpacity(0.4)
+ #brush.setAlpha(40)
+ painter.setBrush(brush)
+
+ painter.drawRect(rect)
+ slot_duration = (endcell - startcell) * self.slotDuration
+ painter.drawText(rect, "%s mins"% slot_duration, option)
+
+ painter.restore()
+
+ ##highlight current time
+ if self.setTime:
+ cellno = self.getCell_from_time(self.setTime)
+ painter.setPen(blue_pen)
+ painter.setBrush(QtCore.Qt.blue)
+ corner1 = [self.timeWidth*1.4, cellno*self.slotHeight]
+ corner2 = [self.timeWidth, (cellno-0.5)*self.slotHeight]
+ corner3 = [self.timeWidth, (cellno+0.5)*self.slotHeight]
+ triangle = corner1+corner2+corner3
+ painter.drawPolygon(QtGui.QPolygon(triangle))
+ corner1 = [self.width()-self.timeWidth*0.4, cellno*self.slotHeight]
+ corner2 = [self.width(), (cellno-0.5)*self.slotHeight]
+ corner3 = [self.width(), (cellno+0.5)*self.slotHeight]
+ triangle = corner1+corner2+corner3
+ painter.drawPolygon(QtGui.QPolygon(triangle))
+
+ if self.dragging:
+ painter.setPen(red_pen)
+ y = self.drag_startrow *self.slotHeight
+ y2 = self.drag_endrow * self.slotHeight
+ painter.drawLine(0, y, self.width(), y)
+ painter.setBrush(QtGui.QColor("yellow"))
+
+ trect = QtCore.QRectF(
+ self.timeWidth, y,
+ self.width()-self.timeWidth,
+ y2-y)
+ painter.drawRect(trect)
+
+ droptime = self.drop_time.strftime("%H:%M")
+ trect = QtCore.QRectF(0, y, self.timeWidth, y2-y)
+ painter.drawRect(trect)
+ painter.drawText(trect, QtCore.Qt.AlignHCenter, droptime)
+
+ def toggle_blink(self):
+ if not self.pWidget.mode == self.pWidget.SCHEDULING_MODE:
+ return
+ self.blink_on = not self.blink_on
+ self.update()
+
+ def ensure_visible(self, x, y):
+ QtCore.QTimer.singleShot(5,
+ functools.partial(self.pWidget.scrollArea.ensureVisible,x, y))
+
+ def send_slotclicked_signal(self):
+ startcell, endcell = self.mouse_freeslot
+ time = self.getTime_from_Cell(startcell)
+ length = (endcell-startcell) * self.slotDuration
+ dent = self.pWidget.apptix
+ self.pWidget.slotClicked.emit(dent, time, length)
+
+
+if __name__ == "__main__":
+ import datetime
+ from openmolar.dbtools import appointments
+ from openmolar.dbtools.brief_patient import BriefPatient
+
+ def clicktest(*args):
+ print "clicktest", args
+
+ import sys
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+
+ #--initiate a book starttime 08:00 endtime 10:00
+ #--five minute slots, text every 3 slots
+
+ #from openmolar.qt4gui import maingui
+ #parent = maingui.OpenmolarGui()
+ parent = QtGui.QFrame()
+ parent.pt = BriefPatient(1)
+
+ form = AppointmentWidget("0800","1500", parent)
+ form.setStartTime("0830")
+ form.setEndTime("1430")
+ form.apptix = 5
+
+ print'''
+ created a calendar with start %d minutes past midnight
+ 1st appointment %d minutes past midnight
+ appointments finish %d minutes past midnight
+ day end %d minutes past midnight
+ - %d %d minutes slots'''%(
+ form.canvas.dayStartTime,
+ form.canvas.startTime,
+ form.canvas.endTime,
+ form.canvas.dayEndTime,
+ form.canvas.slotNo,
+ form.canvas.slotDuration)
+
+ form.setCurrentTime("945")
+ form.clearAppts()
+
+ dt = datetime.datetime.now()
+ for appoint in (
+ (5, 915, 930, 'MCDONALD I', 6155, 'EXAM', '', '', '', 1, 73, 0, 0, dt )
+ ,(5, 1100, 1130, 'EMERGENCY', 0, '', '', '', '', -128, 0, 0, 0, dt),
+ (5, 1300, 1400, 'LUNCH', 0, '', '', '', '', -128, 0, 0, 0, dt),
+ (5, 1400, 1410, 'STAFF MEETING', 0, '', '', '', '', -128, 0, 0, 0, dt),
+ (5, 930, 1005, 'TAYLOR JANE', 19373, 'FILL', '', '', '', 1, 80, 0, 0, dt),
+ (5, 1210, 1230, 'TAYLOR JANE', 19373, 'FILL', '', '', '', 1, 80, 0, 0, dt),
+ ):
+ form.setAppointment(appoint)
+
+ slot_date = datetime.datetime.combine(dt.date(), datetime.time(11,30))
+ slot = appointments.FreeSlot(slot_date, 5, 40)
+ form.addSlot(slot)
+
+ slot = appointments.FreeSlot(
+ slot_date + datetime.timedelta(minutes=60), 5, 30)
+ form.addSlot(slot)
+
+ form.set_active_slot(slot)
+
+
+ form.connect(form, QtCore.SIGNAL("AppointmentClicked"), clicktest)
+ form.connect(form, QtCore.SIGNAL("ClearEmergencySlot"), clicktest)
+ form.connect(form, QtCore.SIGNAL("BlockEmptySlot"), clicktest)
+ form.connect(form, QtCore.SIGNAL("print_me"), clicktest)
+ form.connect(form, QtCore.SIGNAL("Appointment_into_EmptySlot"), clicktest)
+
+ form.mode = form.SCHEDULING_MODE
+ #form.mode = form.BROWSING_MODE
+
+ v = QtGui.QVBoxLayout()
+ v.setSpacing(0)
+ v.addWidget(form)
+ parent.setLayout(v)
+ parent.show()
+
+ sys.exit(app.exec_())
diff --git a/src/openmolar/qt4gui/customwidgets/aptOVcontrol.py b/src/openmolar/qt4gui/customwidgets/aptOVcontrol.py
new file mode 100755
index 0000000..d591472
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/aptOVcontrol.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+from PyQt4 import QtGui,QtCore
+from openmolar.settings import localsettings
+
+class control(QtGui.QLabel):
+ '''
+ a custom label for the top of the appointment overview widgets
+ '''
+ def __init__(self, parent=None):
+ super(control,self).__init__(parent)
+ self.setMinimumSize(80,40)
+ self.memo=""
+ self.setWordWrap(True)
+ self.date = QtCore.QDate(1900,1,1)
+
+ def setDate(self,arg):
+ '''
+ takes a QDate
+ '''
+ self.date = arg
+ self.memo = ""
+ self.updateLabels()
+
+ def setMemo(self, arg):
+ '''
+ takes a string
+ '''
+ self.memo = arg
+ self.updateLabels()
+
+ def updateLabels(self):
+ day = localsettings.readableDate(self.date.toPyDate()).replace(
+ ",","<br />")
+ if self.memo != "":
+ str="<center><b>%s</b><br />%s</center>"%(day, self.memo)
+ else:
+ str="<center><b>%s</b></center>"% day
+
+ self.setText(str)
+ self.setToolTip('''<center>Left click to go to<br />%s<br />
+ <br />Right click for admin options</center>'''% day)
+
+ def mouseMoveEvent(self,e):
+ self.setStyleSheet("background:white")
+
+ def leaveEvent(self,e):
+ self.setStyleSheet("")
+
+
+ def mousePressEvent(self,e):
+ but=e.button()
+ if but==1:
+ self.emit(QtCore.SIGNAL("clicked"),self.date)
+ elif but==2:
+ self.emit(QtCore.SIGNAL("right-clicked"),self.date)
+ else:
+ print "unknown mousePressEvent",but
+
+if __name__ == "__main__":
+ def test(a):
+ print "left click",a.toString()
+ def test2(a):
+ print "right click",a.toString()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = control(Form)
+ ui.setDate(QtCore.QDate.currentDate())
+ QtCore.QObject.connect(ui,QtCore.SIGNAL("clicked"), test)
+ QtCore.QObject.connect(ui,QtCore.SIGNAL("right-clicked"), test2)
+
+ Form.show()
+
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/calendars.py b/src/openmolar/qt4gui/customwidgets/calendars.py
new file mode 100644
index 0000000..c0a7ae2
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/calendars.py
@@ -0,0 +1,935 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+from __future__ import division
+import calendar
+import datetime
+import sys
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+
+from openmolar.qt4gui.compiled_uis import Ui_memo_item
+from openmolar.qt4gui.compiled_uis import Ui_editmemos
+
+CENTRE = QtGui.QTextOption(QtCore.Qt.AlignCenter|QtCore.Qt.AlignVCenter)
+RIGHT = QtGui.QTextOption(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
+LEFT = QtGui.QTextOption(QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+
+
+class dayData(object):
+ '''
+ a custom data object to hold information about the selected day
+ '''
+ def __init__(self, dayDate):
+ self.dayName = localsettings.longDate(dayDate)
+ self.publicHoliday = ""
+ self.dents = {}
+
+class controlCalendar(QtGui.QCalendarWidget):
+ '''
+ a customised QCalendarWidget, overriding the defeault behaviour of the
+ month foreward and back buttons
+ '''
+ def __init__(self, *args):
+ QtGui.QCalendarWidget.__init__(self, *args)
+ self.setFirstDayOfWeek(QtCore.Qt.Monday)
+ self.setGridVisible(True)
+ self.setHorizontalHeaderFormat(QtGui.QCalendarWidget.SingleLetterDayNames)
+ self.setVerticalHeaderFormat(QtGui.QCalendarWidget.NoVerticalHeader)
+ self.setDateEditEnabled(True)
+ self.setSelectedDate(QtCore.QDate.currentDate())
+ #self.connect(self, QtCore.SIGNAL("currentPageChanged (int,int)"),
+ # self.jumpMonth)
+
+ def jumpMonth(self, year, month):
+ '''
+ a customisation so that the arrow buttons actually change the date
+ jump through hoops to ensure that a null date isn't chosen
+ eg february 30th
+
+ '''
+ cur_date = self.selectedDate()
+ d = QtCore.QDate()
+ day = cur_date.day()
+ while day and not d.setDate(year, month, day):
+ day -= 1
+
+ if d != cur_date:
+ self.setSelectedDate(d)
+
+ def changeDate(self, d):
+ '''
+ and alternative to setSelectedDate in that it will return False if no
+ change has been made
+ this is necessary as the ui relies on a signal from this widget
+ '''
+ if self.selectedDate() == d:
+ return False
+ else:
+ self.setSelectedDate(d)
+ return True
+
+class weekCalendar(controlCalendar):
+ def __init__(self, *args):
+ controlCalendar.__init__(self, *args)
+ self.color = QtGui.QColor(
+ self.palette().color(QtGui.QPalette.Highlight))
+ self.color.setAlpha(64)
+
+ self.weekNo = self.selectedDate().weekNumber()
+ self.connect(self, QtCore.SIGNAL("selectionChanged ()"),
+ self.update_)
+
+ def update_(self):
+ '''
+ emit a signal indicating the chosen week has changed
+ '''
+ weekNo = self.selectedDate().weekNumber()
+ if weekNo != self.weekNo:
+ self.emit(QtCore.SIGNAL("weekChanged"), self.selectedDate())
+ self.weekNo = weekNo
+
+ self.updateCells()
+
+ def paintCell(self, painter, rect, date):
+ QtGui.QCalendarWidget.paintCell(self, painter, rect, date)
+
+ if date.weekNumber()[0] == self.selectedDate().weekNumber()[0]:
+ painter.fillRect(rect, self.color)
+
+class calDialogs():
+ '''
+ a sub class for month and year calendars
+ '''
+ def __init__(self):
+ pass
+
+ def publicHolidayEnter(parent):
+ '''
+ enter/modify the stored public holiday field
+ '''
+ d = parent.selectedDate
+ print "edit pub hol for", d
+ datekey = "%d%02d"%(d.month, d.day)
+ current = parent.headingdata.get(datekey, "")
+ new, result = QtGui.QInputDialog.getText(parent, _("Public Holidays"),
+ _("Enter the information for ")+localsettings.longDate(d),
+ QtGui.QLineEdit.Normal, current)
+ if result and current != str(new.toAscii()):
+ parent.emit(QtCore.SIGNAL("add_pub_hol"), str(new.toAscii()))
+
+ def raisememoDialog(parent):
+ '''
+ allow user to input a memo
+ '''
+ Dialog = QtGui.QDialog(parent)
+ dl = Ui_editmemos.Ui_Dialog()
+ dl.setupUi(Dialog)
+ d = parent.selectedDate
+ header_text = "%s"% localsettings.longDate(d)
+ datekey = "%d%02d"% (d.month, d.day)
+ if parent.headingdata.has_key(datekey):
+ header_text += "<br>%s"% parent.headingdata[datekey]
+
+ dl.label.setText(header_text)
+ dl.layout = QtGui.QVBoxLayout(dl.scrollArea)
+ dl.layout.setSpacing(0)
+ key = "%d%02d"% (parent.selectedDate.month, parent.selectedDate.day)
+
+ memoDict = {}
+ if parent.data.has_key(key):
+ memoDict = parent.data[key]
+
+ memowidget_dict = {}
+ for dentix in parent.dents:
+ if memoDict.has_key(dentix):
+ memo = memoDict[dentix].memo
+ else:
+ memo = ""
+
+ if dentix == 0:
+ dl.lineEdit.setText(memo)
+ memowidget_dict[0] = dl.lineEdit
+ else:
+ widg = QtGui.QWidget()
+ memoitem = Ui_memo_item.Ui_Form()
+ memoitem.setupUi(widg)
+ memoitem.label.setText(
+ localsettings.apptix_reverse.get(dentix,"??"))
+
+ memoitem.lineEdit.setText(memo)
+
+ dl.layout.addWidget(widg)
+
+ memowidget_dict[dentix] = memoitem.lineEdit
+
+ spacerItem = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum,
+ QtGui.QSizePolicy.Expanding)
+ dl.layout.addItem(spacerItem)
+
+ if Dialog.exec_():
+ retarg = []
+ memo = str(dl.lineEdit.text().toAscii())
+ for dent in parent.dents:
+ memo = str(memowidget_dict[dent].text().toAscii())
+ if memo != memoDict.get(dent, ""):
+ retarg.append((dent, memo),)
+ #print retarg
+ parent.emit(QtCore.SIGNAL("add_memo"), tuple(retarg))
+
+
+
+class monthCalendar(QtGui.QWidget, calDialogs):
+ def __init__(self, parent=None):
+ '''
+ initiate the widget
+ '''
+ super(monthCalendar, self).__init__(parent)
+ self.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding))
+ self.parent = parent
+ self.rowNo = 1
+ self.colNo = 1
+ self.monthStarts = {}
+ self.headingdata = {}
+ self.data = {}
+ self.dents = (0,)
+ self.dentColWidths = {}
+ self.defaultColWidth = 100
+ self.font = None
+ self.setFont()
+ self.setSelectedDate(datetime.date.today())
+ self.setMouseTracking(True)
+ self.mouseBrush = QtGui.QColor(self.palette().color(
+ QtGui.QPalette.Highlight))
+ self.mouseBrush.setAlpha(64)
+ self.highlightedDate = None
+ self.setMinimumSize(self.minimumSizeHint())
+
+ def sizeHint(self):
+ '''
+ set an (arbitrary) size for the widget
+ '''
+ return QtCore.QSize(400, 400)
+
+ def minimumSizeHint(self):
+ '''
+ set an (arbitrary) minimum size for the widget
+ '''
+ return QtCore.QSize(200, 400)
+
+ def minimumWidth(self):
+ '''
+ calculate how much space we need to display the data
+ '''
+ self.defaultColWidth = (self.width() - self.bankHolColwidth -
+ self.vheaderwidth) / self.colNo
+
+ vheaders_total = self.bankHolColwidth + self.vheaderwidth
+ dentwidth = 0
+
+ for dent in self.dents:
+ width = self.dentColWidths.get(dent, self.defaultColWidth)
+ dentwidth += width
+
+ minrequiredWidth = vheaders_total + dentwidth
+
+ # if there is space, fill it up....
+ if self.width() > minrequiredWidth:
+ factor = (self.width() - vheaders_total) / (dentwidth)
+
+ for dent in self.dents:
+ self.dentColWidths[dent] = self.dentColWidths[dent] * factor
+
+ return minrequiredWidth
+
+ def setDents(self, dents):
+ '''
+ make the widget aware who's data it's showing
+ dents is a tuple like (4, 5)
+ '''
+ self.dents = (0,) + tuple(dents)
+ self.colNo = len(self.dents)
+
+ def setHeadingData(self, data):
+ '''
+ sets attributes for any given day useful for Bank Hols etc...
+ data is a dictionary {"mdd":"New Year's Day" , ...}
+ '''
+ self.headingdata = data
+ self.setBankHolColWidth
+
+ def setBankHolColWidth(self):
+ '''
+ determine the width needed to display the public hols
+ '''
+ self.bankHolColwidth = 20
+ for value in self.headingdata.values():
+ width = self.fm.width("%s "% value)
+ if width > self.bankHolColwidth:
+ self.bankHolColwidth = width
+
+ def setData(self, data):
+ '''
+ pass a dictionary like {"1209":[d1,d2]}
+ where d1 and d2 are instances of appointments.DentistDay
+ '''
+ self.data = {}
+ for key in data:
+ self.data[key]= {}
+ for dent in data[key]:
+ self.data[key][dent.ix]= dent
+ self.setColWidths()
+
+ def setColWidths(self):
+ '''
+ update the widget's size (because data or font have changed)
+ '''
+ self.dentColWidths = {}
+ for ix in self.dents:
+ self.dentColWidths[ix] = self.fm.width(
+ localsettings.apptix_reverse.get(ix,"------"))
+
+ for ix in self.dents:
+ memo = ""
+ for dentDict in self.data.values():
+ if dentDict.has_key(ix):
+ dent = dentDict.get(ix)
+ if dent:
+ memo = dentDict[ix].memo
+ if ix == 0:
+ memo = memo.upper()
+ elif dent.flag:
+ memo += "18:55 - 18:55 "
+ width = self.fm.width(memo)
+ if width > self.dentColWidths[ix]:
+ self.dentColWidths[ix] = width
+
+ def setRowNo(self):
+ '''
+ work out how many rows are required
+ somewhere between (28-31) + one for a header
+ '''
+ self.rowNo = calendar.monthrange(self.year, self.month)[1]+2
+
+ def getDateFromPosition(self, xpos, ypos):
+ rowheight = self.height() / self.rowNo
+ day = int(ypos//rowheight)-1
+ try:
+ d = datetime.date(self.year, self.month, day)
+ return d
+ except ValueError:
+ # date threw an error.
+ pass
+
+ def mouseMoveEvent(self, event):
+ '''
+ note this function works because I set self.setMouseTracking(True)
+ catch the mouse Mouse so user knows the widget has capabilities
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d != self.highlightedDate:
+ self.highlightedDate = d
+ self.update()
+
+
+ def mousePressEvent(self, event):
+ '''
+ catch the mouse press event -
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d and d != self.selectedDate:
+ self.setSelectedDate(d)
+ self.emit(QtCore.SIGNAL("selectedDate"), d)
+
+ def mouseDoubleClickEvent(self, event):
+ '''
+ catch the double click
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d and d != self.selectedDate:
+ self.setSelectedDate(d)
+ self.emit(QtCore.SIGNAL("selectedDate"), d)
+ if d:
+ self.raisememoDialog()
+
+ def leaveEvent(self, event):
+ '''
+ clear any false stuff from the mouse
+ '''
+ self.highlightedDate = None
+ self.update()
+
+ def setSelectedDate(self, d):
+ '''
+ d is a pydate
+ '''
+ self.selectedDate = d
+ self.year = d.year
+ self.month = d.month
+ self.setRowNo()
+ self.update()
+
+ def setFont(self):
+ '''
+ set the Font, and adjust the header column widths
+ '''
+ font = QtGui.QFont(self.fontInfo().family(),
+ localsettings.appointmentFontSize)
+ if self.font != font:
+ self.font = font
+ self.fm = QtGui.QFontMetrics(font)
+ self.vheaderwidth = self.fm.width(_("Wednesday")+" 28 ")
+
+ self.setBankHolColWidth()
+ self.setColWidths()
+
+ def paintEvent(self, event=None):
+ '''
+ draws the widget - recalled at any point by instance.update()
+ '''
+ self.setFont()
+ self.setMinimumWidth(self.minimumWidth())
+ painter = QtGui.QPainter(self)
+ painter.setFont(self.font)
+
+ rowHeight = self.height() / (self.rowNo)
+
+ #HEADER ROW - the month and year, highlighted
+ painter.setBrush(self.palette().highlight())
+ rect = QtCore.QRectF(0, 0, self.width(), rowHeight)
+ painter.drawRect(rect)
+ painter.setPen(self.palette().color(self.palette().HighlightedText))
+ self.font.setBold(True)
+ painter.setFont(self.font)
+
+ c_date = datetime.date(self.year, self.month, 1)
+ my_text = "%s %s"% (localsettings.monthName(c_date), self.year)
+ painter.drawText(rect, my_text, CENTRE)
+
+ self.font.setBold(False)
+ painter.setFont(self.font)
+
+ for day in range(0, self.rowNo-1):
+ rect = QtCore.QRectF(0, (day+1) *rowHeight, self.vheaderwidth,
+ rowHeight)
+
+ painter.setPen(self.palette().color(self.palette().WindowText))
+ brush = self.palette().base()
+
+ if day ==0:
+ option = CENTRE
+ my_text = _("DATE")
+ c_date = datetime.date(1900,1,1)
+ brush = self.palette().button()
+
+ else:
+ option = RIGHT
+ c_date = datetime.date(self.year, self.month, day)
+ my_text = "%s %2s "% (localsettings.dayName(c_date), day)
+
+ brush = self.palette().base()
+ if c_date.isoweekday() > 5:
+ brush = self.palette().alternateBase()
+ if c_date == self.selectedDate:
+ brush = self.palette().highlight()
+ elif c_date == self.highlightedDate:
+ brush = self.mouseBrush
+
+ painter.setBrush(brush)
+
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawRect(rect)
+ painter.restore()
+ if c_date in (self.selectedDate, self.highlightedDate):
+ painter.setPen(self.palette().color(
+ self.palette().HighlightedText))
+ painter.drawText(rect, my_text, option)
+
+ elif c_date.isoweekday() < 6:
+ painter.setPen(self.palette().color(
+ self.palette().WindowText))
+ painter.drawText(rect, my_text, option)
+
+ else:
+ painter.save()
+ painter.setPen(QtCore.Qt.red)
+ painter.drawText(rect, my_text, option)
+ painter.restore()
+
+ rect = rect.adjusted(self.vheaderwidth, 0, self.bankHolColwidth,
+ 0)
+
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawRect(rect)
+ painter.restore()
+
+ key = "%d%02d"%(self.month, day)
+ if self.headingdata.has_key(key):
+ my_text = str(self.headingdata.get(key))
+ self.font.setItalic(True)
+ painter.setFont(self.font)
+ painter.drawText(rect, my_text, CENTRE)
+ self.font.setItalic(False)
+ painter.setFont(self.font)
+
+ #- text column
+ x = self.bankHolColwidth + self.vheaderwidth
+ rect = rect.adjusted(self.bankHolColwidth, 0, 0, 0)
+
+ for col in range(self.colNo):
+ dentix = self.dents[col]
+ my_text = ""
+
+ colWidth = self.dentColWidths[dentix]
+ rect = rect.adjusted(0, 0, colWidth, 0)
+
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawRect(rect)
+ painter.restore()
+ option = LEFT
+ if day ==0:
+ my_text = "%s"% localsettings.apptix_reverse.get(dentix,
+ "all")
+ option = CENTRE
+ elif self.data.has_key(key):
+ dent = self.data[key].get(dentix)
+ if dent:
+ if dentix == 0:
+ my_text = dent.memo.upper()
+ else:
+ if not dent.flag:
+ times = ""
+ else:
+ times = "%s - %s "%(
+ localsettings.wystimeToHumanTime(dent.start),
+ localsettings.wystimeToHumanTime(dent.end))
+ my_text = "%s%s"% (times, dent.memo)
+
+ if my_text:
+ painter.drawText(rect.adjusted(2,0,0,0), my_text, option)
+
+ rect = rect.adjusted(colWidth, 0, 0, 0)
+ painter.setPen(QtGui.QColor("black"))
+
+ painter.drawLine(self.bankHolColwidth+self.vheaderwidth, rowHeight,
+ self.bankHolColwidth+self.vheaderwidth, self.height())
+
+class yearCalendar(QtGui.QWidget, calDialogs):
+ '''
+ a pyqt4 custom widget to show a year calendar
+ '''
+ def __init__(self, parent=None):
+ '''
+ initiate the widget
+ '''
+ super(yearCalendar, self).__init__(parent)
+ self.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding))
+
+ self.setMinimumSize(self.minimumSizeHint())
+ self.monthStarts = {}
+ self.headingdata={}
+ self.data = {}
+ self.flags = {}
+ self.dents = (0,)
+ self.setFont()
+ self.startDOW = 0
+ self.setSelectedDate(datetime.date.today())
+ self.setMouseTracking(True)
+ self.mouseBrush = QtGui.QColor(self.palette().color(
+ QtGui.QPalette.Highlight))
+ self.mouseBrush.setAlpha(64)
+ self.highlightedDate = None
+
+ def sizeHint(self):
+ '''
+ set an (arbitrary) size for the widget
+ '''
+ return QtCore.QSize(700, 400)
+
+ def minimumSizeHint(self):
+ '''
+ set an (arbitrary) minimum size for the widget
+ '''
+ return QtCore.QSize(700, 400)
+
+ def setFont(self):
+ '''
+ set the font (and by association, the width of the month column
+ '''
+ font = QtGui.QFont(self.fontInfo().family(),
+ localsettings.appointmentFontSize)
+ if self.font != font:
+ self.font = font
+ fm = QtGui.QFontMetrics(font)
+ self.vheaderwidth = fm.width("-September-")
+
+ def setHeadingData(self, data):
+ '''
+ sets attributes for any given day
+ data is a dictionary {"mdd":"New Year's Day" , ...}
+ '''
+ self.headingdata = data
+
+ def setData(self, data):
+ '''
+ sets attributes for any given day
+ and any given book owner
+ data is a dictionary {"mdd":((4,"Memo"),(2,"note"),) , ...}
+ '''
+ self.data={}
+ self.flags={}
+ for key in data:
+ self.data[key]= {}
+ for dent in data[key]:
+ self.data[key][dent.ix]= dent
+ if dent.memo:
+ self.flags[key] = True
+
+ def setDents(self, dents):
+ '''
+ make the widget aware who's data it's showing
+ dents is a tuple like (4, 5)
+ '''
+ self.dents = (0,) + tuple(dents)
+
+ def setColumnNo(self):
+ '''
+ work out how many columns are required
+ the minimum is 31 (when all months start on the same day)
+ '''
+ startday = 6 #assume sunnday
+ self.columnNo = 31
+ for month in range(1, 13):
+ c_date = datetime.date(self.year, month, 1)
+ firstDayOfMonth = c_date.weekday()
+ self.monthStarts[month] = firstDayOfMonth
+ if c_date.weekday() < startday:
+ startday = firstDayOfMonth
+ colsRequired = firstDayOfMonth + \
+ calendar.monthrange(self.year, month)[1]
+
+ if colsRequired > self.columnNo:
+ self.columnNo = colsRequired
+
+ self.startDOW = startday
+
+ def getDateFromPosition(self, xpos, ypos):
+ rowheight = self.height() / 13
+ month = int(ypos//rowheight)
+ if 0 < month <13:
+ day = (xpos - self.vheaderwidth) // self.columnWidth
+ day = day - self.monthStarts[month] +1
+ try:
+ d = datetime.date(self.year, month, int(day))
+ return d
+ except ValueError:
+ # date threw an error.
+ pass
+
+ def mouseMoveEvent(self, event):
+ '''
+ note this function works because I set self.setMouseTracking(True)
+ catch the mouse Mouse so user knows the widget has capabilities
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d != self.highlightedDate:
+ self.highlightedDate = d
+ self.update()
+ advisory = ""
+ if d:
+ datekey = "%d%02d"% (d.month, d.day)
+ if self.headingdata.has_key(datekey):
+ advisory += "<h3>%s</h3><hr />"% self.headingdata[datekey]
+ if self.data.has_key(datekey):
+ for ix in self.data[datekey].keys():
+ dent = self.data[datekey].get(ix)
+ if dent:
+ if ix == 0:
+ advisory += "<h3>%s</h3>"% dent.memo
+ else:
+ if not dent.flag:
+ if dent.memo:
+ advisory += "%s\t\t%s <br />"% (
+ dent.initials, dent.memo)
+ else:
+ times = "%s - %s"%(dent.start, dent.end)
+ advisory += "%s\t%s\t%s <br />"% (
+ dent.initials, times, dent.memo)
+ if advisory.endswith(" <br />"):
+ advisory = advisory.rstrip(" <br />")
+
+ QtGui.QToolTip.showText(event.globalPos(), advisory)
+
+ def mousePressEvent(self, event):
+ '''
+ catch the mouse press event
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d:
+ if d != self.selectedDate:
+ self.setSelectedDate(d)
+ self.emit(QtCore.SIGNAL("selectedDate"), d)
+ if event.button() == 2:
+ menu = QtGui.QMenu(self)
+ menu.addAction(_("Edit day memos"))
+ menu.addAction(_("Edit Public Holiday information"))
+ self.rightClickMenuResult(menu.exec_(event.globalPos()))
+
+ def rightClickMenuResult(self, result):
+ if not result:
+ return
+ if result.text() == _("Edit day memos"):
+ self.raisememoDialog()
+ elif result.text() == _("Edit Public Holiday information"):
+ self.publicHolidayEnter()
+
+ def getDayData(self):
+ '''
+ return a dayData object
+ '''
+ d = self.selectedDate
+ retarg = dayData(d)
+
+ datekey = "%d%02d"% (d.month, d.day)
+ if self.headingdata.has_key(datekey):
+ retarg.publicHoliday = self.headingdata[datekey]
+ if self.data.has_key(datekey):
+ retarg.dents = self.data[datekey]
+ return retarg
+
+ def mouseDoubleClickEvent(self, event):
+ '''
+ catch the double click
+ '''
+ d = self.getDateFromPosition(event.x(), event.y())
+ if d and d != self.selectedDate:
+ self.setSelectedDate(d)
+ self.emit(QtCore.SIGNAL("selectedDate"), d)
+ if d:
+ self.raisememoDialog()
+
+
+ def leaveEvent(self, event):
+ '''
+ clear any false stuff from the mouse
+ '''
+ if self.highlightedDate != None:
+ self.highlightedDate = None
+ self.update()
+
+
+ def setSelectedDate(self, d):
+ '''
+ d is a pydate
+ '''
+ self.selectedDate = d
+ self.year = d.year
+ self.setColumnNo()
+ self.update()
+
+ def paintEvent(self, event=None):
+ '''
+ draws the widget - recalled at any point by instance.update()
+ '''
+ self.setFont()
+ painter = QtGui.QPainter(self)
+ painter.setFont(self.font)
+
+ rowHeight = self.height() / 13
+
+ self.columnWidth = (self.width() - self.vheaderwidth) / self.columnNo
+
+ for month in range(13):
+ rect = QtCore.QRectF(0, month*rowHeight, self.vheaderwidth,
+ rowHeight)
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+
+ if month == 0:
+ #-- draw the year
+ painter.setBrush(self.palette().highlight())
+ painter.drawRect(rect)
+
+ painter.setPen(self.palette().color(
+ self.palette().HighlightedText))
+ painter.drawText(rect, QtCore.Qt.AlignCenter, str(self.year))
+
+ #rectLeft = rect.adjusted(0, 0,-rect.width()/4, 0)
+ #painter.drawPixmap(rectLeft, QtGui.QPixmap(":/back.png"))
+ #return
+ for col in range (self.columnNo):
+ rect = QtCore.QRectF(
+ self.vheaderwidth+col*self.columnWidth,
+ month * rowHeight, self.columnWidth, rowHeight)
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawRect(rect)
+
+ dayno = col % 7
+ my_text = ("M","Tu","W","Th","F","Sa","Su")[dayno]
+
+ painter.setPen(self.palette().color(
+ self.palette().HighlightedText))
+
+ painter.drawText(rect, QtCore.Qt.AlignCenter, my_text)
+
+ else:
+ if month%2==0:
+ painter.setBrush(self.palette().base())
+ else:
+ painter.setBrush(self.palette().alternateBase())
+
+ painter.drawRect(rect)
+
+ painter.setPen(self.palette().color(
+ self.palette().WindowText))
+
+ c_date = datetime.date(self.year, month, 1)
+ my_text = str(localsettings.monthName(c_date))
+ painter.drawText(rect, QtCore.Qt.AlignCenter, my_text)
+ startday = c_date.weekday()
+
+ for col in range (self.columnNo):
+
+ rect = QtCore.QRectF(
+ self.vheaderwidth + col * self.columnWidth,
+ month * rowHeight, self.columnWidth, rowHeight)
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+
+ painter.drawRect(rect)
+
+ painter.setPen(self.palette().color(
+ self.palette().WindowText))
+
+ if col >= startday:
+ try:
+ c_date = datetime.date(self.year, month,
+ col-startday+1)
+ my_text = str(c_date.day)
+
+ if c_date == self.selectedDate:
+ painter.save()
+ painter.setBrush(self.palette().color(
+ self.palette().Highlight))
+
+ painter.setPen(self.palette().color(
+ self.palette().HighlightedText))
+
+ painter.drawRect(rect)
+ painter.drawText(rect,
+ QtCore.Qt.AlignCenter, my_text)
+
+ painter.restore()
+
+ elif c_date == self.highlightedDate:
+ #--mouseOver
+ painter.save()
+ painter.setBrush(self.mouseBrush)
+
+ painter.setPen(self.palette().color(
+ self.palette().HighlightedText))
+
+ painter.drawRect(rect)
+ painter.drawText(rect,
+ QtCore.Qt.AlignCenter, my_text)
+
+ painter.restore()
+
+ elif c_date.isoweekday() > 5:
+ #weekend
+ painter.setPen(QtCore.Qt.red)
+ painter.drawText(rect,
+ QtCore.Qt.AlignCenter, my_text)
+
+ else:
+ painter.setPen(self.palette().color(
+ self.palette().WindowText))
+ painter.drawText(rect,
+ QtCore.Qt.AlignCenter, my_text)
+
+ datekey = "%d%02d"%(month, c_date.day)
+
+ if self.headingdata.has_key(datekey):
+ #-- draw a gray underscore!
+ painter.save()
+ painter.setBrush(QtCore.Qt.lightGray)
+ painter.setPen(QtCore.Qt.lightGray)
+ rheight = rect.height()*0.8
+
+ painter.drawRect(
+ rect.adjusted(1, rheight, -1, 0))
+
+ painter.restore()
+
+ if self.flags.get(datekey,False):
+ #-- draw a blue triangle!
+ painter.save()
+ painter.setBrush(QtCore.Qt.blue)
+ painter.setPen(QtCore.Qt.blue)
+ topleftX = rect.topLeft().x() +\
+ rect.width()/2
+
+ topY = rect.topLeft().y() + 2
+ rightX = rect.topRight().x()
+ bottomrightY = rect.topRight().y() +\
+ rect.width()/2
+
+ shape = QtGui.QPolygon([topleftX, topY,
+ rightX, topY, rightX, bottomrightY ])
+
+ painter.drawPolygon(shape)
+ painter.restore()
+
+ except ValueError:
+ # month doesn't have this day eg feb 30th
+ pass
+
+
+
+if __name__ == "__main__":
+ def signal_trap(arg=None):
+ print cal.selectedDate(),
+ print wcal.selectedDate()
+
+ app = QtGui.QApplication(sys.argv)
+ cal = controlCalendar()
+ wcal = weekCalendar()
+ mcal = monthCalendar()
+ ycal = yearCalendar()
+ cal.show()
+ wcal.move(cal.width(),0)
+ wcal.show()
+ QtCore.QObject.connect(cal, QtCore.SIGNAL("selectionChanged()"),
+ signal_trap)
+
+ QtCore.QObject.connect(wcal, QtCore.SIGNAL("weekChanged"),
+ signal_trap)
+
+
+ if False:
+ localsettings.initiate()
+ from openmolar.dbtools import appointments
+ startdate = datetime.date(2010,2,1)
+ enddate = datetime.date(2010,2,28)
+ rows = appointments.getDayInfo(startdate, enddate, (4,6,7))
+ data = appointments.getBankHols(startdate, enddate)
+ for c in (mcal, ycal):
+ c.setDents((4,6,7))
+ c.setData(rows)
+ c.setHeadingData(data)
+
+ c.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/chainLabel.py b/src/openmolar/qt4gui/customwidgets/chainLabel.py
new file mode 100644
index 0000000..c56c262
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/chainLabel.py
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui,QtCore
+from openmolar.qt4gui import resources_rc
+
+class ChainLabel(QtGui.QLabel):
+ '''
+ a custom label with a chain link
+ '''
+ toggled = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ QtGui.QLabel.__init__(self, parent)
+ self.chainpic = QtGui.QPixmap(":/icons/chain.png")
+ self.unchainpic = QtGui.QPixmap(":/icons/chain-broken.png")
+ self.setFixedWidth(30)
+ self._chained = True
+ self._update()
+
+ def mousePressEvent(self, event):
+ self._chained = not self._chained
+ self._update()
+
+ def setValue(self, chained):
+ self._chained = chained
+ self._update()
+
+ def _update(self):
+ if self._chained:
+ self.setPixmap(self.chainpic)
+ else:
+ self.setPixmap(self.unchainpic)
+ self.toggled.emit(self._chained)
+
+if __name__ == "__main__":
+ def test(arg):
+ print ("chained = %s"% arg)
+
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ widg = ChainLabel()
+ widg.setMinimumSize(QtCore.QSize(100,100))
+ widg.toggled.connect(test)
+
+ widg.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/chartwidget.py b/src/openmolar/qt4gui/customwidgets/chartwidget.py
new file mode 100644
index 0000000..9d69c80
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/chartwidget.py
@@ -0,0 +1,1176 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+has one class, a custom widget which inherits from QWidget
+'''
+
+from __future__ import division
+
+from functools import partial
+import logging
+import re
+import sys
+from PyQt4 import QtGui, QtCore, QtSvg
+
+from openmolar.qt4gui import colours
+
+LOGGER = logging.getLogger("openmolar")
+
+class chartWidget(QtGui.QWidget):
+ '''
+ a custom widget to show a standard UK dental chart
+ - allows for user navigation with mouse and/or keyboard
+ '''
+ teeth_selected_signal = QtCore.pyqtSignal(object)
+ flip_deciduous_signal = QtCore.pyqtSignal()
+ add_comments_signal = QtCore.pyqtSignal(object)
+ show_history_signal = QtCore.pyqtSignal(object)
+ delete_all_signal = QtCore.pyqtSignal()
+ delete_prop_signal = QtCore.pyqtSignal(object)
+ complete_treatments_signal = QtCore.pyqtSignal(object)
+ request_tx_context_menu_signal = QtCore.pyqtSignal(object, object, object)
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Expanding))
+
+ self.grid = (["ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1', \
+ 'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8'],
+ ["lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1', \
+ 'll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8'])
+
+ self.clear()
+ self.isStaticChart = True
+ self.isPlanChart = False
+ self.setMinimumSize(self.minimumSizeHint())
+ self.showLeftRight = True
+ self.showSelected = False
+ self.setMouseTracking(True)
+
+ def clear(self, keepSelection=False):
+ '''
+ clears all fillings etc from the chart
+ '''
+ #--clear individual teeth
+ self.ur8, self.ur7, self.ur6, self.ur5, self.ur4, self.ur3, self.ur2, \
+ self.ur1 = [] ,[], [], [], [], [], [], []
+ self.ul8, self.ul7, self.ul6, self.ul5, self.ul4, self.ul3, self.ul2, \
+ self.ul1 = [], [], [], [], [], [], [], []
+ self.ll8, self.ll7, self.ll6, self.ll5, self.ll4, self.ll3, self.ll2, \
+ self.ll1 = [], [], [], [], [], [], [], []
+ self.lr8, self.lr7, self.lr6, self.lr5, self.lr4, self.lr3, self.lr2, \
+ self.lr1 = [], [], [], [], [], [], [], []
+
+ #--clear comments
+ self.commentedTeeth = []
+
+ #-- select the ur8
+ if keepSelection:
+ LOGGER.debug("keeping existing chart selection(s)")
+ else:
+ #-- set to an adult dentition
+ self.chartgrid = {
+ 'lr1' : 'lr1', 'lr3' : 'lr3', 'lr2' : 'lr2', 'lr5' : 'lr5',
+ 'lr4' : 'lr4', 'lr7' : 'lr7', 'lr6' : 'lr6', 'lr8' : 'lr8',
+ 'ul8' : 'ul8', 'ul2' : 'ul2', 'ul3' : 'ul3', 'ul1' : 'ul1',
+ 'ul6' : 'ul6', 'ul7' : 'ul7', 'ul4' : 'ul4', 'ul5' : 'ul5',
+ 'ur4' : 'ur4', 'ur5' : 'ur5', 'ur6' : 'ur6', 'ur7' : 'ur7',
+ 'ur1' : 'ur1', 'ur2' : 'ur2', 'ur3' : 'ur3', 'ur8' : 'ur8',
+ 'll8' : 'll8', 'll3' : 'll3', 'll2' : 'll2', 'll1' : 'll1',
+ 'll7' : 'll7', 'll6' : 'll6', 'll5' : 'll5', 'll4': 'll4'
+ }
+
+ self.showSelected = False
+ self.selected = [0, 0]
+ self.multiSelection = []
+ self.highlighted = [-1, -1]
+ self.update()
+
+ def sizeHint(self):
+ '''
+ set an arbitrary size
+ '''
+ return QtCore.QSize(500, 200)
+
+ def minimumSizeHint(self):
+ '''
+ arbitrary minimum size
+ '''
+ return QtCore.QSize(300, 100)
+
+ def setShowLeftRight(self, arg):
+ '''
+ a boolean for user preference whether to display right / left text
+ on the widget
+ '''
+ self.showLeftRight = arg
+
+ def setShowSelected(self, arg):
+ '''
+ a boolean as to whether to "select" a tooth
+ by default the overview (summary) chart doesn't
+ '''
+ self.showSelected = arg
+
+ def multiSelectADD(self):
+ '''
+ select multiple teeth
+ '''
+ if self.selected == [-1,-1]:
+ return True
+ if self.selected in self.multiSelection:
+ while self.selected in self.multiSelection:
+ self.multiSelection.remove(self.selected)
+ return False
+ if not self.selected in self.multiSelection:
+ self.multiSelection.append(self.selected)
+ return True
+
+ def multiSelectCLEAR(self):
+ '''
+ select just one tooth
+ '''
+ self.multiSelection = []
+
+ def setHighlighted(self, x, y):
+ '''
+ for mouseOver.
+ indicates a faint line is required around the tooth
+ '''
+ if [x, y] != self.highlighted:
+ self.highlighted = [x, y]
+ self.update()
+
+ def setSelected(self, x, y, showSelection=False):
+ '''
+ set the tooth which is currently selected
+ '''
+ updateRequired = False
+ if self.selected != [x, y]:
+ self.selected = [x, y]
+ updateRequired = True
+
+ if self.showSelected != showSelection:
+ self.showSelected = showSelection
+ updateRequired = True
+ if updateRequired:
+ self.update()
+
+ def setToothProps(self, tooth, props):
+ '''
+ adds fillings and comments to a tooth
+ '''
+ if tooth in self.commentedTeeth:
+ self.commentedTeeth.remove(tooth)
+ if "!" in props:
+ self.commentedTeeth.append(tooth)
+
+ proplist = props.split(" ")
+ self.__dict__[tooth] = []
+ for prop in proplist:
+ if prop != "":
+ if not re.match("!.*", prop):
+ prop = "%s "% prop.lower()
+ else:
+ prop = "%s "% prop
+ self.__dict__[tooth].append(prop)
+
+ def mouseMoveEvent(self, event):
+ '''
+ overrides QWidget's mouse event
+ '''
+ xOffset = self.width() / 16
+ yOffset = self.height() / 2
+ x = int(event.x() / xOffset)
+ if event.y() < yOffset:
+ y = 0
+ else:
+ y = 1
+ self.setHighlighted(x, y)
+
+ #--show detailed info
+ try:
+ tooth = self.grid[y][x]
+ show = False
+ advisory = "<center><b> %s </b></center><hr />"% tooth.upper()
+ for fill in self.__dict__[tooth]:
+ if not re.match("!.*", fill):
+ fill = fill.upper()
+ advisory += "%s <br />"% fill
+ show = True
+ if show:
+ QtGui.QToolTip.showText(event.globalPos(),
+ advisory.rstrip("<br />"))
+ else:
+ QtGui.QToolTip.showText(event.globalPos(), "")
+ except IndexError:
+ pass
+
+ def leaveEvent(self, event):
+ '''
+ cursor is leaving the widget
+ clear any selections
+ '''
+ self.setHighlighted(-1, -1)
+
+ def mousePressEvent(self, event):
+ '''overrides QWidget's mouse event'''
+ xOffset = self.width() / 16
+ yOffset = self.height() / 2
+ x = int(event.x() / xOffset)
+ if event.y() < yOffset:
+ y = 0
+ else:
+ y = 1
+ self.selectEvent(x, y, event)
+
+ def selectEvent(self, x, y, event):
+ '''
+ handles stuff common to mousepress and keypress
+ '''
+ ctrlClick = (event.modifiers() == QtCore.Qt.ControlModifier)
+ shiftClick = (event.modifiers() == QtCore.Qt.ShiftModifier)
+
+ [px, py] = self.selected
+ if px == -1: px=0
+ if py == -1: py=0
+ #-- needed for shiftClick
+ if px <= x:
+ lowx,highx = px,x
+ else:
+ lowx,highx = x,px
+
+ if shiftClick:
+ for row in set((py,y)):
+ for column in range(lowx, highx+1):
+ if not [column, row] in self.multiSelection:
+ self.multiSelection.append([column,row])
+ self.setSelected(x, y, showSelection = True)
+
+ if ctrlClick:
+ if [px,py] not in self.multiSelection:
+ self.multiSelection.append([px,py])
+ if not self.multiSelectADD():
+ try:
+ x,y = self.multiSelection[-1]
+ except IndexError:
+ pass
+ self.setSelected(x, y, showSelection = True)
+ else:
+ if not shiftClick:
+ self.multiSelectCLEAR()
+
+ teeth = []
+ if x != -1:
+ teeth.append(self.grid[y][x])
+ for (a,b) in self.multiSelection:
+ if (a,b) != (x,y):
+ teeth.append(self.grid[b][a])
+
+ self.teeth_selected_signal.emit(teeth)
+
+ try:
+ if event.button() == 2:
+ tooth = teeth[0]
+ QtCore.QTimer.singleShot(200, partial(
+ self.raise_context_menu, tooth , event.globalPos()))
+ except AttributeError:
+ pass #keyboard events have no attribute "button"
+ except IndexError:
+ pass # teeth is an empty list!
+
+ def raise_context_menu(self, tooth, point):
+ if self.isStaticChart:
+ menu = QtGui.QMenu(self)
+
+ action = menu.addAction(_("Toggle Deciduous State"))
+ action.triggered.connect(self.flip_deciduous_signal.emit)
+
+ menu.setDefaultAction(action)
+
+ menu.addSeparator()
+
+ for prop in self.__dict__[tooth]:
+ prop = prop.upper().strip(" ")
+ action = menu.addAction("%s %s"%(_("Delete"), prop))
+ action.triggered.connect(partial(
+ self.delete_prop_signal.emit, prop))
+
+ if len(self.__dict__[tooth]) > 1:
+ action = menu.addAction(_("Delete All Restorations"))
+ action.triggered.connect(self.delete_all_signal.emit)
+
+ if self.__dict__[tooth]:
+ menu.addSeparator()
+
+ action = menu.addAction(_("Add Comments"))
+ action.triggered.connect(partial(
+ self.add_comments_signal.emit, tooth))
+
+ action = menu.addAction(_("Show History"))
+ action.triggered.connect(partial(
+ self.show_history_signal.emit, tooth))
+
+ menu.exec_(point)
+
+ else:
+ values = []
+ for prop in self.__dict__[tooth]:
+ values.append(prop.upper().strip(" "))
+
+ self.request_tx_context_menu_signal.emit(tooth, values, point)
+
+ def mouseDoubleClickEvent(self, event):
+ '''
+ overrides QWidget's mouse double click event
+ peforms the default actions
+ if a static chart - deciduous mode is toggled
+ if plan chart, treatment is completed.
+ '''
+
+ if self.isStaticChart:
+ self.flip_deciduous_signal.emit()
+ else:
+ self.signal_treatment_completed()
+
+ def signal_treatment_completed(self):
+ '''
+ either a double click or default right click on the plan chart
+ '''
+ tooth = self.grid[self.selected[1]][self.selected[0]]
+ txs = []
+ for item in self.__dict__[tooth]:
+ tx = item.upper()
+ txs.append((tooth, tx))
+
+ if txs != []:
+ self.complete_treatments_signal.emit(txs)
+
+ def keyPressEvent(self, event):
+ '''
+ overrides QWidget's keypressEvent
+ '''
+ x, y = self.selected
+ if event.key() == QtCore.Qt.Key_Left:
+ x = 15 if x == 0 else x-1
+ elif event.key() == QtCore.Qt.Key_Right:
+ x = 0 if x == 15 else x+1
+ elif event.key() == QtCore.Qt.Key_Up:
+ y = 1if y == 0 else y-1
+ elif event.key() == QtCore.Qt.Key_Down:
+ y=0 if y == 1 else y+1
+ elif event.key() == QtCore.Qt.Key_Return:
+ if y==0:
+ if x == 15:
+ y = 1
+ else:
+ x += 1
+ else:
+ if x == 0:
+ y = 0
+ else:
+ x -= 1
+
+ self.selectEvent(x, y, event)
+
+ def paintEvent(self, event=None):
+ '''
+ overrides the paint event so that we can draw our grid
+ '''
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ midline = self.width() / 100
+ #-- cell width
+ xOffset = (self.width() - midline) / 16
+ #-- cell height
+ yOffset = self.height() / 2
+ #--red pen
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 2))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 2))
+ sansFont = QtGui.QFont("Helvetica", 8)
+ painter.setFont(sansFont)
+ fm = QtGui.QFontMetrics(sansFont)
+ leftpad = fm.width("Right ")
+ rightpad = fm.width(" Left")
+
+ #--big horizontal dissection of entire widget
+ painter.drawLine(leftpad, self.height() / 2, self.width() - rightpad,
+ self.height() / 2)
+ #--vertical dissection of entire widget
+ painter.drawLine(self.width() / 2, 0, self.width() / 2, self.height())
+
+ for x in range(16):
+ if x > 7:
+ midx = midline
+ else:
+ midx = 0
+ for y in range(2):
+ tooth_notation = self.grid[y][x]
+ rect = QtCore.QRectF(x * xOffset + midx, y *yOffset,
+ xOffset, yOffset).adjusted(0.5, 0.5, -0.5, -0.5)
+
+ #-- draw a tooth (subroutine)
+ self.tooth(painter, rect, tooth_notation)
+ if [x, y] == self.highlighted:
+ painter.setPen(QtGui.QPen(QtCore.Qt.cyan, 1))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ if self.showSelected:
+ #-- these conditions mean that the tooth needs to be
+ #--highlighted draw a rectangle around the selected tooth,
+ #--but don't overwrite the centre
+
+ if [x, y] == self.selected:
+ painter.setPen(QtGui.QPen(QtCore.Qt.darkBlue, 2))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ elif [x, y] in self.multiSelection:
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue, 2))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+
+ textRect = QtCore.QRectF(0, 0, self.width(), self.height())
+
+ if self.showLeftRight:
+ #--show left/right (this is done here to avoid being overwritten
+ #--during the rest of the paint job
+ painter.drawText(textRect, QtCore.Qt.AlignRight|
+ QtCore.Qt.AlignVCenter, (_("Left")))
+
+ painter.drawText(textRect, QtCore.Qt.AlignLeft|
+ QtCore.Qt.AlignVCenter, (_("Right")))
+
+ #--free the painter's saved state
+ painter.restore()
+
+ def tooth(self, painter, rect, ident):
+ painter.save()
+
+ #--get tooth props - ie fillings, plans etc....
+ #--this will be a list of values eg ["MOD","RT"]
+ props = self.__dict__[ident]
+
+ isUpper = ident[0] == "u"
+
+ #-- split tooth rectangle into a large graphic square...
+ #-- and a smaller text square
+ thirdheight = rect.height()*1/3
+ if isUpper:
+ #-- the 2 allows for the "select" box to be drawn around the tooth
+ toothRect = rect.adjusted(0, 2, 0, -thirdheight)
+ textRect = rect.adjusted(0, 2 * thirdheight, 0, -2)
+ else:
+ toothRect = rect.adjusted(0, thirdheight, 0, -2)
+ textRect = rect.adjusted(0, 2, 0, -2 * thirdheight)
+
+ #--colours are grabbed from the separate colours module
+ painter.setPen(colours.TOOTHLINES)
+ painter.setBrush(colours.IVORY)
+ toothid = self.chartgrid[ident]
+
+ ###################### DRAW THE TOOTH's TEXT###########################
+ #--tooth ident is always ur1, ur2 ...
+ #--tooth name is more flexible for deciduous teeth etc...
+ toothtext = toothid[2]
+ #check for deciduous teeth
+ if toothtext in ("A", "B", "C", "D", "E", "*"):
+ #################BABY TOOTH###########################
+ #-- paint deciduous notation in RED
+ painter.save()
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawText(textRect, QtCore.Qt.AlignCenter, (toothtext))
+ painter.restore()
+
+ #-- and "shrink" the tooth
+ toothRect = toothRect.adjusted(toothRect.width()*0.1,
+ toothRect.height()*0.15,-toothRect.width()*0.1,
+ -toothRect.height()*0.15)
+
+ else:
+ #--adult tooth
+ painter.save()
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(colours.CHARTTEXT, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawText(textRect, QtCore.Qt.AlignCenter, toothtext)
+ painter.restore()
+
+ #--more occlusal/incisal edge sizing
+
+ if ident in self.commentedTeeth:
+ #-- comments
+ #-- commented teeth have a red exclamation mark on a yellow square
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.yellow, 1))
+ painter.setBrush(QtCore.Qt.yellow)
+ comRect = textRect.adjusted(textRect.width() * .7, 0, 0, 0)
+ painter.drawRect(comRect)
+ sansFont = QtGui.QFont("Helvetica", 9)
+ painter.setFont(sansFont)
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 2))
+ painter.drawText(comRect, QtCore.Qt.AlignCenter, "!")
+ painter.restore()
+ for prop in ("rt ", "ap ", "-m,1 ", "-m,2 ",
+ "+p ", "+s ", "oe", "px", "px+"):
+ #-- these properties are written in... not drawn
+ if prop in props:
+ painter.save()
+ comRect = textRect.adjusted(0, 0, -textRect.width() * 0.6,
+ 0)
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue, 1))
+ painter.drawRect(comRect)
+ sansFont = QtGui.QFont("Helvetica", 7)
+ painter.setFont(sansFont)
+ painter.drawText(comRect, QtCore.Qt.AlignCenter,
+ prop.upper())
+ painter.restore()
+
+ toothS = toothSurfaces(self, toothRect, toothid, self.isStaticChart)
+ toothS.setProps(props)
+ toothS.draw(self, painter)
+ painter.restore()
+
+
+class toothSurfaces():
+ '''
+ draws the tooth surfaces
+ '''
+ def __init__(self, parent, rect, ident, isStatic = True):
+ '''
+ initiate using the following args
+ parent (a Qwidget), rect (a Qrect), ident (eg. ur5),
+ and optionally isStatic=True
+ '''
+ self.rect = rect
+ self.parent = parent
+ self.props = ""
+ #--backtooth?
+ self.backTooth = False
+ self.toothtext = ident[2]
+ if re.match("[DE45678*]", self.toothtext):
+ self.backTooth = True
+ self.isStatic = isStatic
+
+ self.quadrant = ident[0:2]
+ self.isUpper = ident[0] == "u"
+
+ #--the occlusal surface (for backteeth)
+ #--or incisal edge for front teeth..
+ #-- is given a width here.
+ #-- irw = inner rectangle width
+ irw = self.rect.width() * 0.25
+
+ if self.backTooth:
+ irh = rect.height() * 0.25
+ else:
+ irh = rect.height() * 0.45
+ self.innerRect = self.rect.adjusted(irw, irh, -irw, -irh)
+
+ def setProps(self, props):
+ #LOGGER.debug(props)
+ self.props = props
+
+ def draw(self, parent, painter=None):
+ if painter == None:
+ self.painter = QtGui.QPainter(parent)
+ else:
+ self.painter = painter
+ for prop in self.props:
+ if re.match("(br/)?cr,ic|im/", prop):
+ adj = self.rect.height()/2
+ if self.isUpper:
+ rect_ = self.rect.adjusted(0, 0, 0, adj)
+ svg_path = ":lower_implant.svg"
+ else:
+ rect_ = self.rect.adjusted(0,-adj,-0,0)
+ svg_path = ":upper_implant.svg"
+ QtSvg.QSvgRenderer(svg_path).render(painter, rect_)
+
+ for prop in self.props:
+ prop = prop.strip(" ")
+
+ if re.match("\(.*", prop):
+ #-- brackets are used to indicate the start/end of a bridge
+ #--let's see bridge start by shrinking that edge.
+ ##TODO - draw a demarcation line here??
+ adj = self.rect.width()*0.10
+ if self.isUpper:
+ self.rect = self.rect.adjusted(adj, 0, 0, 0)
+ else:
+ self.rect = self.rect.adjusted(0, 0, -adj, 0)
+ #--remove the bracket
+ #--necessary for condition in a few lines time
+ prop = prop.strip("(")
+
+ elif re.match(".*\)$", prop):
+ #--other end of a bridge
+ adj = self.rect.width()*0.10
+ if self.isUpper:
+ self.rect = self.rect.adjusted(0, 0, -adj, 0)
+ else:
+ self.rect = self.rect.adjusted(adj, 0, 0, 0)
+ prop = prop.strip(")")
+
+ if "br/p" in prop:
+ #bridge pontic found - shrink
+ self.rect = self.rect.adjusted(0, self.rect.height() * 0.10, 0,
+ -self.rect.height() * 0.10)
+
+
+ #--draw the tooth if static chart or properties to show
+ #--leave blank if treatment chart.
+ if self.isStatic or self.props != []:
+ self.painter.drawRect(self.rect)
+ self.painter.drawRect(self.innerRect)
+ self.painter.drawLine(self.rect.topLeft(), self.innerRect.topLeft())
+ self.painter.drawLine(self.rect.topRight(), self.innerRect.topRight())
+ self.painter.drawLine(self.rect.bottomLeft(), self.innerRect.bottomLeft())
+ self.painter.drawLine(self.rect.bottomRight(), self.innerRect.bottomRight())
+
+ #-deciduous (ie. indeterminate) 6, 7, 8 are marked as "*"
+ #--paint over these.
+ if self.toothtext == "*":
+ erase_color = parent.palette().background().color()
+ self.painter.setPen(erase_color)
+ self.painter.setBrush(erase_color)
+ self.painter.drawRect(self.rect)
+
+ #--set variables for fill draw points
+ #--this are NOT static as the widget is resizable
+ ##TODO I could probably get performance improvement here.
+ ##by having a default set which changes only if the "tooth" has been
+ ##resized.
+
+ if self.props != []:
+ if self.backTooth:
+ toothdimen = self.rect.width()
+ ax = self.rect.topLeft().x() + toothdimen * 0.05
+ bx = self.rect.topLeft().x() + toothdimen * 0.15
+ cx = self.rect.topLeft().x() + toothdimen * 0.2
+ dx = self.rect.topLeft().x() + toothdimen * 0.35
+ ex = self.rect.topLeft().x() + toothdimen * 0.5
+ fx = self.rect.topLeft().x() + toothdimen * 0.7
+ gx = self.rect.topLeft().x() + toothdimen * 0.8
+ hx = self.rect.topLeft().x() + toothdimen * 0.85
+ ix = self.rect.topLeft().x() + toothdimen * 0.95
+ toothdimen = self.rect.height()
+ ay = self.rect.topLeft().y() + toothdimen * 0.05
+ by = self.rect.topLeft().y() + toothdimen * 0.15
+ cy = self.rect.topLeft().y() + toothdimen * 0.2
+ dy = self.rect.topLeft().y() + toothdimen * 0.35
+ ey = self.rect.topLeft().y() + toothdimen * 0.5
+ fy = self.rect.topLeft().y() + toothdimen * 0.65
+ gy = self.rect.topLeft().y() + toothdimen * 0.8
+ hy = self.rect.topLeft().y() + toothdimen * 0.85
+ iy = self.rect.topLeft().y() + toothdimen * 0.95
+ else:
+ #--front tooth - different patterns
+ toothdimen = self.rect.width()
+ ax = self.rect.topLeft().x() + toothdimen * 0.05
+ bx = self.rect.topLeft().x() + toothdimen * 0.15
+ cx = self.rect.topLeft().x() + toothdimen * 0.2
+ dx = self.rect.topLeft().x() + toothdimen * 0.3
+ ex = self.rect.topLeft().x() + toothdimen * 0.5
+ fx = self.rect.topLeft().x() + toothdimen * 0.7
+ gx = self.rect.topLeft().x() + toothdimen * 0.8
+ hx = self.rect.topLeft().x() + toothdimen * 0.85
+ ix = self.rect.topLeft().x() + toothdimen * 0.95
+ toothdimen = self.rect.height()
+ ay = self.rect.topLeft().y() + toothdimen * 0.05
+ by = self.rect.topLeft().y() + toothdimen * 0.15
+ cy = self.rect.topLeft().y() + toothdimen * 0.2
+ dy = self.rect.topLeft().y() + toothdimen * 0.3
+ ey = self.rect.topLeft().y() + toothdimen * 0.5
+ fy = self.rect.topLeft().y() + toothdimen * 0.7
+ gy = self.rect.topLeft().y() + toothdimen * 0.8
+ hy = self.rect.topLeft().y() + toothdimen * 0.85
+ iy = self.rect.topLeft().y() + toothdimen * 0.95
+
+ for prop in self.props:
+ prop = prop.strip(" ")
+ material = ""
+ self.painter.save()
+
+ prop = prop.strip("#&")
+ if prop == "pv":
+ prop = "pv,pj"
+ if re.match("!.*", prop):
+ prop = ""
+ if "/" in prop:
+ if re.match("\(.*", prop):
+ #--start of a bridge
+ leading_bracket = True
+ prop = prop[1:]
+ else:
+ leading_bracket = False
+ if re.match("br/",prop):
+ #--bridge
+ prop = prop[3:]
+ if leading_bracket:
+ prop = prop.replace(",", ",(")
+ if "p," in prop:
+ #--some gold crowns are cr/modbl,go
+ prop = "PONTIC,%s"% prop[2:]
+ if "mr" in prop:
+ prop = "p,mr"
+ elif re.match("im/", prop):
+ prop = ""
+ else:
+ if "pi" in prop:
+ #--porcelain inlays are pi/modp etc
+ prop = prop[3:] + ",pi"
+ if "cr" in prop:
+ #--some gold crowns are cr/modbl,go
+ prop = prop[3:]
+ if "gi" in prop:
+ prop = prop[3:] + ",go"
+ if "gc" in prop:
+ #-- code for gi treatment where exceptional
+ #-- circumstances apply
+ #-- "gc/mod".. so for drawing purposes
+ #-- change this to "mod,gi"
+ prop = prop[3:] + ",gl"
+
+ if prop[:2] in ("tm","at"):
+ erase_color = parent.palette().background().color()
+ self.painter.setPen(erase_color)
+ self.painter.setBrush(erase_color)
+ self.painter.drawRect(self.rect)
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter,
+ prop.upper())
+
+ prop = ""
+ if prop[:2] in ("ue", "pe", "oe", "rp"):
+ if prop[:2] == "ue":
+ erase_color = parent.palette().background().color()
+ self.painter.setBrush(erase_color)
+ else:
+ self.painter.setBrush(QtCore.Qt.transparent)
+ self.painter.drawRect(self.rect)
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ if self.backTooth:
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter, prop)
+ else:
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0),
+ QtCore.Qt.AlignCenter, prop)
+ #--prevent the o's and p's being interpreted as fills
+ prop = ""
+
+ if ",pr" in prop:
+ #TODO - pin??
+ prop = prop.replace(",pr", "")
+
+ if "," in prop:
+ #--get materal if present
+ material = prop.split(",")[1]
+ material = re.sub("[()]", "", material)
+ prop = prop.split(",")[0]
+ #--adjust for mirror imaging
+ else:
+ #--set default material
+ if self.toothtext == "4":
+ if prop in ("B", "P"):
+ material = "co"
+ else:
+ material = "am"
+ elif self.backTooth:
+ material = "am"
+ else:
+ material = "co"
+
+ if prop[:2] == "fs":
+ material = "fs"
+
+ if prop[:2] == "dr":
+ material = "dr"
+
+ #--put an outline around the filling
+ self.painter.setPen(QtGui.QPen(colours.FILL_OUTLINE, 1))
+
+ #--set filling color
+ if material == "co":
+ self.painter.setBrush(colours.COMP)
+ elif material in ("pj", "ot", "pi", "a1", "a2", "v1", "v2",
+ "opal", "opalite", "lava", "core", "ic", "ever"):
+ self.painter.setBrush(colours.PORC)
+ elif material == "gl":
+ self.painter.setBrush(colours.GI)
+ elif material == "go":
+ self.painter.setBrush(colours.GOLD)
+ elif material == "am":
+ self.painter.setBrush(colours.AMALGAM)
+ elif material == "mr":
+ self.painter.setBrush(colours.METAL)
+ elif material == "dr":
+ self.painter.setBrush(colours.DRESSING)
+ elif material == "fs":
+ self.painter.setPen(QtGui.QPen(colours.FISSURE, 1))
+ self.painter.setBrush(colours.FISSURE)
+ else:
+ LOGGER.debug("unhandled material colour %s %s %s"% (
+ self.toothtext, prop, material))
+
+ if self.quadrant[1] == "l" and prop != "dr":
+ #-- left hand side - reverse fills
+ #-- this loods a confusing merry dance...
+ #-- capitalisation used to prevent changes being undone
+ prop = prop.replace("m", "D")
+ prop = prop.replace("d", "m")
+ prop = prop.replace("D", "d")
+ if self.quadrant[0] == "l":
+ prop = prop.replace("b", "L")
+ prop = prop.replace("l", "b")
+ prop = prop.replace("L", "l")
+ if prop[0:2] == "cr" or "PONTIC" in prop:
+ if "PONTIC" in prop:
+ crRect = self.rect
+ else:
+ crRect = self.rect.adjusted(0, 2, 0, -2)
+ self.painter.drawRect(crRect)
+ self.painter.drawRect(self.innerRect)
+ self.painter.drawLine(crRect.topLeft(), self.innerRect.topLeft())
+ self.painter.drawLine(crRect.topRight(), self.innerRect.topRight())
+ self.painter.drawLine(crRect.bottomLeft(),
+ self.innerRect.bottomLeft())
+
+ self.painter.drawLine(crRect.bottomRight(),
+ self.innerRect.bottomRight())
+
+ if self.backTooth:
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter,
+ material)
+ else:
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0), QtCore.Qt.AlignCenter,
+ material)
+
+ if prop == "pv" and self.isUpper:
+ self.painter.drawPolygon(QtGui.QPolygon(
+ [self.rect.topLeft().x(), self.rect.topLeft().y(),
+ self.rect.topRight().x(), self.rect.topRight().y(),
+ self.innerRect.topRight().x(), self.innerRect.topRight().y(),
+ self.innerRect.topLeft().x(), self.innerRect.topLeft().y()]))
+
+ self.painter.drawText(self.rect.adjusted(0, 0, 0,
+ -self.rect.height() / 2), QtCore.Qt.AlignCenter, prop)
+
+ prop = ""
+
+ if prop == "pv" and not self.isUpper:
+ self.painter.drawPolygon(QtGui.QPolygon(
+ [self.rect.bottomLeft().x(), self.rect.bottomLeft().y(),
+ self.rect.bottomRight().x(), self.rect.bottomRight().y(),
+ self.innerRect.bottomRight().x(), self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(), self.innerRect.bottomLeft().y()]))
+
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0),
+ QtCore.Qt.AlignCenter, prop)
+
+ prop = ""
+
+ if prop == "ex":
+ #-- draw a big red X
+ self.painter.save()
+
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.red, 4))
+ self.painter.drawLine(self.rect.topLeft(),
+ self.rect.bottomRight())
+
+ self.painter.drawLine(self.rect.topRight(),
+ self.rect.bottomLeft())
+
+ self.painter.restore()
+
+ #IGNORE LIST
+ if prop in ("px", "oe"):
+ prop=""
+
+ prop = prop.replace("l", "p")
+ shapes = []
+ if self.backTooth:
+ if "fs" in prop:
+ shapes.append(QtGui.QPolygon(
+ [dx, ey-1, fx, ey-1, fx+1, ey+1, dx, ey+1]))
+ shapes.append(QtGui.QPolygon(
+ [ex-1, dy, ex+1, dy, ex+1, fy, ex-1, fy]))
+ elif "dr" in prop:
+ n = QtGui.QPolygon([cx, dy, dx, by, fx, by, hx, dy,
+ hx, fy, fx, hy, dx, hy, cx, fy])
+ shapes.append(n)
+ elif re.match("[modbp]{5}", prop):
+ n = QtGui.QPolygon([ax, by, cx, dy, dx, dy, dx, by,
+ fx, by, fx, dy, gx, dy, ix, by, ix, hy, gx, fy, fx,
+ fy, fx, hy, dx, hy, dx, fy, cx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[modb]{4}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, dx, by, fx, by,
+ fx, dy, ix, by, ix, hy, fx, fy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[modp]{4}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, fx, dy, ix, by,
+ ix, hy, fx, fy, fx, hy, dx, hy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[mod]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, fx, dy, ix, by,
+ ix, hy, fx, fy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[mob]{3}", prop):
+ n = QtGui.QPolygon([dx, dy, ex, dy, ex, by, fx, by,
+ fx, dy, gx, dy, ix, by, ix, hy, gx, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[mop]{3}", prop):
+ n = QtGui.QPolygon([dx, dy, gx, dy, ix, by, ix, hy,
+ gx, fy, fx, fy, fx, hy, ex, hy, ex, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[dob]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, ex, dy, ex, by,
+ fx, by, fx, dy, fx, dy, fx, fy, cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[dop]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, fx, dy, fx, fy,
+ ex, fy, ex, hy, dx, hy, dx, fy, cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[mbd]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, ay, fx, ay, ix, by,
+ ix, ey, hx, ey, hx, cy, bx, cy, bx, ey, ax, ey])
+ shapes.append(n)
+ elif re.match("[mpd]{3}", prop):
+ n = QtGui.QPolygon([ax, ey, bx, ey, bx, hy, hx, hy,
+ hx, ey, ix, ey, ix, gy, gx, iy, bx, iy, ax, gy])
+ shapes.append(n)
+ elif re.match("[ob]{2}", prop):
+ n = QtGui.QPolygon([cx, ay, gx, ay, fx, cy, fx, fy,
+ dx, fy, dx, cy])
+ shapes.append(n)
+ elif re.match("[op]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, gy, gx, iy,
+ cx, iy, dx, gy])
+ shapes.append(n)
+ elif re.match("[mb]{2}", prop):
+ n = QtGui.QPolygon([dx, ay, fx, ay, ix, by, ix, ey,
+ hx, ey, hx, dy, fx, cy, dx, cy, bx, by])
+ shapes.append(n)
+ elif re.match("[mp]{2}", prop):
+ n = QtGui.QPolygon([dx, iy, fx, iy, ix, hy, ix, ey,
+ hx, ey, hx, fy, fx, gy, dx, gy, bx, hy])
+ shapes.append(n)
+ elif re.match("[db]{2}", prop):
+ n = QtGui.QPolygon([fx, ay, dx, ay, ax, by, ax, ey,
+ bx, ey, bx, dy, dx, cy, fx, cy, hx, by])
+ shapes.append(n)
+ elif re.match("[dp]{2}", prop):
+ n = QtGui.QPolygon([fx, iy, dx, iy, ax, hy, ax, ey,
+ bx, ey, bx, fy, dx, gy, fx, gy, hx, hy])
+ shapes.append(n)
+ elif re.match("[mo]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, gx, dy, ix, cy, ix, gy,
+ gx, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[do]{2}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, fx, dy, fx, fy,
+ cx, fy, ax, gy])
+ shapes.append(n)
+
+ elif "o" in prop:
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, fy, dx, fy])
+ shapes.append(n)
+ elif "m" in prop:
+ n = QtGui.QPolygon([gx, dy, ix, by, ix, hy, gx, fy])
+ shapes.append(n)
+ elif "d" in prop:
+ n = QtGui.QPolygon([ax, by, cx, dy, cx, fy, ax, hy])
+ shapes.append(n)
+ elif "p" in prop:
+ n = QtGui.QPolygon([bx, iy, dx, gy, fx, gy, hx, iy])
+ shapes.append(n)
+ elif "b" in prop:
+ n = QtGui.QPolygon([bx, ay, hx, ay, fx, cy, dx, cy])
+ shapes.append(n)
+ else: #front tooth
+ if "dr" in prop:
+ n = QtGui.QPolygon([cx, dy, dx, by, fx, by, hx, dy,
+ hx, fy, fx, hy, dx, hy, cx, fy])
+ shapes.append(n)
+ elif re.match("[mbd]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, ay, fx, ay, ix, by,
+ ix, ey, hx, ey, hx, cy, bx, cy, bx, ey, ax, ey])
+ shapes.append(n)
+ elif re.match("[mpd]{3}", prop):
+ n = QtGui.QPolygon([ax, ey, bx, ey, bx, hy, hx, hy,
+ hx, ey, ix, ey, ix, gy, gx, iy, bx, iy, ax, gy])
+ shapes.append(n)
+ elif re.match("[ib]{2}", prop):
+ n = QtGui.QPolygon([cx, ay, gx, ay, fx, cy, fx, fy,
+ dx, fy, dx, cy])
+ shapes.append(n)
+ elif re.match("[ip]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, gy, gx, iy,
+ cx, iy, dx, gy])
+ shapes.append(n)
+ elif re.match("[mb]{2}", prop):
+ n = QtGui.QPolygon([dx, ay, fx, ay, ix, by, ix, ey,
+ hx, ey, hx, dy, fx, cy, dx, cy, bx, by])
+ shapes.append(n)
+ elif re.match("[mp]{2}", prop):
+ n = QtGui.QPolygon([dx, iy, fx, iy, ix, hy, ix, ey,
+ hx, ey, hx, fy, fx, gy, dx, gy, bx, hy])
+ shapes.append(n)
+ elif re.match("[db]{2}", prop):
+ n = QtGui.QPolygon([fx, ay, dx, ay, ax, by, ax, ey,
+ bx, ey, bx, dy, dx, cy, fx, cy, hx, by])
+ shapes.append(n)
+ elif re.match("[dp]{2}", prop):
+ n = QtGui.QPolygon([fx, iy, dx, iy, ax, hy, ax, ey,
+ bx, ey, bx, fy, dx, gy, fx, gy, hx, hy])
+ shapes.append(n)
+ elif re.match("[mid]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ gx, dy, ix, cy, ix, gy, gx, fy,
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[mi]{2}", prop):
+ n = QtGui.QPolygon([self.innerRect.topLeft().x(),
+ self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ gx, dy, ix, cy, ix, gy, gx, fy,
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),
+ ])
+ shapes.append(n)
+ elif re.match("[di]{2}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),
+ cx, fy, ax, gy])
+ shapes.append(n)
+ elif "i" in prop:
+ n = QtGui.QPolygon([self.innerRect.topLeft().x(),
+ self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),
+ self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y()])
+ shapes.append(n)
+ elif "m" in prop:
+ shapes.append(QtGui.QPolygon(
+ [hx, dy, ix, dy, ix, fy, hx, fy, gx, ey]))
+ elif "d" in prop:
+ shapes.append(QtGui.QPolygon(
+ [ax, dy, bx, dy, cx, ey, bx, fy, ax, fy]))
+ elif "p" in prop:
+ shapes.append(QtGui.QPolygon([cx, hy, cx, gy, ex, fy,
+ gx, gy, gx, hy, fx, iy, dx, iy]))
+ elif "b" in prop:
+ shapes.append(QtGui.QPolygon([cx, cy, cx, ay, ex, ay,
+ gx, ay, gx, cy, fx, dy, dx, dy]))
+ for shape in shapes:
+ self.painter.drawPolygon(shape)
+
+ self.painter.restore()
+
+class ToothImage(QtGui.QWidget):
+ '''
+ a class to grab an image of the tooth widget
+ '''
+ def __init__(self, tooth, props, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.tooth = tooth
+ self.props = props
+ LOGGER.debug("tooth image %s with props %s"% (tooth, props))
+
+ def paintEvent(self, event=None):
+ recd = QtCore.QRectF(0, 0, self.width(), self.height())
+ toothS = toothSurfaces(self, recd, self.tooth)
+ toothS.setProps(self.props)
+ painter = QtGui.QPainter(self)
+ toothS.draw(self, painter)
+
+ def sizeHint(self):
+ return QtCore.QSize(40, 40)
+
+ @property
+ def image(self):
+ '''
+ returns a png image of the tooth
+ '''
+ return QtGui.QPixmap.grabWidget(self)
+
+if __name__ == "__main__":
+ def signal_catcher(*args):
+ LOGGER.info("signal caught %s"% str(args))
+
+ LOGGER.setLevel(logging.DEBUG)
+ from gettext import gettext as _
+ from openmolar.qt4gui import resources_rc
+ app = QtGui.QApplication(sys.argv)
+ form = chartWidget()
+ form.chartgrid = {'lr1': 'lr1', 'lr3': 'lr3', 'lr2': 'lr2', 'lr5': 'lr5',
+ 'lr4': 'lr4', 'lr7': 'lr7', 'lr6': 'lr6', 'lr8': 'lr8','ul8': '***',
+ 'ul2': 'ul2', 'ul3': 'ulC', 'ul1': 'ul1', 'ul6': 'ul6', 'ul7': 'ul7',
+ 'ul4': 'ul4', 'ul5': 'ul5', 'ur4': 'ur4','ur5': 'ur5', 'ur6': 'ur6',
+ 'ur7': 'ur7', 'ur1': 'ur1', 'ur2': 'ur2', 'ur3': 'ur3', 'ur8': 'ur8',
+ 'll8': 'll8', 'll3': 'll3','ll2': 'll2', 'll1': 'll1', 'll7': 'll7',
+ 'll6': 'll6', 'll5': 'll5', 'll4': 'll4'}
+
+ for properties in (
+ ("ur7", "ex "), ("ur6", "gi/modbp mb"), ("ur5", "cr,go mp"),
+ ("ur4", "mop,co"), ("ur3", "AT"), ("ur2", "di,co b"), ("ur1", "pv rt"),
+ ("ul1", "cr,pj"), ("ul2", "dp,co b,co"), ("ul3","di p,go"),
+ ("ll3", "pv"), ("ll2", "dip"), ("ll1", "midi"),
+ ("lr1", "mpd"), ("lr2", "mld,gl"), ("lr3", "dr"),
+ ("ul4", "do"), ("ul6", "mo"), ("lr8", "("),
+ ("ul7", "mop,co"), ("ur8", "mdb,gl mpd,go ob"), ("ll4", "b,gl dl,co"),
+ ("ll5", "ob ml"), ("ll6", "mod,co"), ("ll7", "pe"), ("ll8", "ue !watch"),
+ ("lr4", "im/tit"), ("lr5", "dr"), ("lr7", "fs"), ("lr6", "modbl,pr")):
+ form.setToothProps(properties[0], properties[1])
+
+ form.flip_deciduous_signal.connect(signal_catcher)
+ form.add_comments_signal.connect(signal_catcher)
+ form.show_history_signal.connect(signal_catcher)
+ form.delete_all_signal.connect(signal_catcher)
+ form.delete_prop_signal.connect(signal_catcher)
+
+ form.show()
+ pixmap = QtGui.QPixmap.grabWidget(form)
+ pixmap.save("/home/neil/chart.png")
+ form.selected = [0, 2]
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/confirming_check_box.py b/src/openmolar/qt4gui/customwidgets/confirming_check_box.py
new file mode 100644
index 0000000..e29ba9f
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/confirming_check_box.py
@@ -0,0 +1,64 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtCore, QtGui
+
+class ConfirmingCheckBox(QtGui.QCheckBox):
+ '''
+ this is a subclass of QtGui.QCheckBox
+ I use this to allow for logic BEFORE the state is changed.
+ Also, new_state_signal is available IN ADDITION to the usual stateChanged
+ signal.
+ new_state_signal is only raised if the user changes the state.
+ stateChanged will be sent in this condition AND ALSO if the change
+ happens programatically.
+ '''
+ new_state_signal = QtCore.pyqtSignal(object)
+ def __init__(self, *args):
+ QtGui.QCheckBox.__init__(self, *args)
+ self.setTristate(True)
+
+ def nextCheckState(self):
+ if not self.check_first():
+ return
+
+ if self.checkState() == QtCore.Qt.PartiallyChecked:
+ self.setCheckState(QtCore.Qt.Checked)
+ else:
+ self.setChecked(not self.isChecked())
+ self.stateChanged.emit(self.checkState())
+ self.new_state_signal.emit(self.checkState())
+
+ def check_first(self):
+ return QtGui.QMessageBox.question(self,
+ _("Confirm"), _("Are you Sure"),
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No
+ ) == QtGui.QMessageBox.Yes
+
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ app = QtGui.QApplication([])
+ cb = ConfirmingCheckBox("hello")
+ cb.show()
+ cb.setCheckState(QtCore.Qt.PartiallyChecked)
+ app.exec_()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/customwidgets/currency_label.py b/src/openmolar/qt4gui/customwidgets/currency_label.py
new file mode 100644
index 0000000..78a586a
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/currency_label.py
@@ -0,0 +1,62 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtCore, QtGui
+
+class CurrencyLabel(QtGui.QWidget):
+ '''
+ a re-implimentation of QLabel which adds the local currency prefix
+ if possible.
+ '''
+ def __init__(self, text="", parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ try:
+ c_txt = QtCore.QLocale().currencySymbol()
+ except AttributeError:
+ #currencySymbol is Qt 4.8 and above
+ c_txt = ""
+
+ self.suffix_label = QtGui.QLabel(c_txt, self)
+ self.suffix_label.setFixedWidth(
+ self.suffix_label.fontMetrics().width(c_txt))
+ self.label = QtGui.QLabel(text,self)
+ self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
+
+ self.text = self.label.text
+ self.setText = self.label.setText
+
+ layout = QtGui.QHBoxLayout(self)
+ layout.addWidget(self.suffix_label)
+ layout.addWidget(self.label)
+
+ def setFont(self, font):
+ self.label.setFont(font)
+ self.suffix_label.setFont(font)
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ label = CurrencyLabel("hello")
+ label.show()
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/customwidgets/dent_hyg_selector.py b/src/openmolar/qt4gui/customwidgets/dent_hyg_selector.py
new file mode 100644
index 0000000..11c2b69
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/dent_hyg_selector.py
@@ -0,0 +1,122 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+from PyQt4 import QtGui, QtCore
+
+class dentHygSelector(QtGui.QTreeWidget):
+ def __init__(self, dents, hygs):
+ QtGui.QTreeWidget.__init__(self)
+ self.setHeaderHidden(True)
+ self.dents = dents
+ self.hygs = hygs
+ self.root = QtGui.QTreeWidgetItem(self, ["All Clinicians"])
+ self.root.setCheckState(0, QtCore.Qt.Checked)
+
+ self.dent_root = QtGui.QTreeWidgetItem(self.root, ["All Dentists"])
+ self.dent_root.setCheckState(0, QtCore.Qt.Checked)
+
+ self.hyg_root = QtGui.QTreeWidgetItem(self.root, ["All Hygenists"])
+ self.hyg_root.setCheckState(0, QtCore.Qt.Checked)
+
+ self.dent_cbs = {}
+ for dent in self.dents:
+ i = QtGui.QTreeWidgetItem(self.dent_root, [dent])
+ i.setCheckState(0, QtCore.Qt.Checked)
+ self.dent_cbs[dent] = i
+
+ self.hyg_cbs = {}
+ for hyg in self.hygs:
+ i = QtGui.QTreeWidgetItem(self.hyg_root, [hyg])
+ i.setCheckState(0, QtCore.Qt.Checked)
+ self.hyg_cbs[hyg] = i
+
+ self.expandAll()
+ self.selectedDents = dents
+ self.selectedHygs = hygs
+ self.signals(True)
+
+ def signals(self, connect):
+ if connect:
+ self.connect(self,
+ QtCore.SIGNAL("itemChanged (QTreeWidgetItem *,int)"),
+ self.interact)
+ else:
+ self.disconnect(self,
+ QtCore.SIGNAL("itemChanged (QTreeWidgetItem *,int)"),
+ self.interact)
+
+ def checkAll(self, checkstate=QtCore.Qt.Checked,
+ ignoreHygs=False, ignoreDents=False):
+ if not ignoreHygs:
+ for hyg in self.hyg_cbs.values():
+ hyg.setCheckState(0, checkstate)
+ if not ignoreDents:
+ for dent in self.dent_cbs.values():
+ dent.setCheckState(0, checkstate)
+
+
+ def interact(self, item, column):
+ self.signals(False)
+
+ if item == self.root:
+ self.checkAll(self.root.checkState(0))
+ elif item == self.dent_root:
+ self.checkAll(self.dent_root.checkState(0), ignoreHygs=True)
+ elif item == self.hyg_root:
+ self.checkAll(self.hyg_root.checkState(0), ignoreDents=True)
+
+
+ self.selectedDents = []
+ self.selectedHygs = []
+
+ allDentsChecked = QtCore.Qt.Checked
+ for dent in self.dent_cbs:
+ if self.dent_cbs[dent].checkState(0):
+ self.selectedDents.append(dent)
+ else:
+ allDentsChecked = QtCore.Qt.Unchecked
+
+ allHygsChecked = QtCore.Qt.Checked
+ for hyg in self.hyg_cbs:
+ if self.hyg_cbs[hyg].checkState(0):
+ self.selectedHygs.append(hyg)
+ else:
+ allHygsChecked = QtCore.Qt.Unchecked
+
+ self.dent_root.setCheckState(0, allDentsChecked)
+ self.hyg_root.setCheckState(0, allHygsChecked)
+
+ if allDentsChecked and allHygsChecked:
+ allClinicians = QtCore.Qt.Checked
+ else:
+ allClinicians = QtCore.Qt.Unchecked
+
+ self.root.setCheckState(0, allClinicians)
+
+ self.signals(True)
+ self.emit(QtCore.SIGNAL("selectionChanged"))
+
+ def getSelectedDents(self):
+ return self.selectedDents
+
+ def getSelectedHygs(self):
+ return self.selectedHygs
+
+ def getSelectedClinicians(self):
+ return self.selectedDents + self.selectedHygs
+
+ def allChecked(self):
+ return self.root.checkState(0) == QtCore.Qt.Checked
+
+if __name__ == "__main__":
+ app = QtGui.QApplication([])
+ dents = ["Neil","Bea","Helen", "Andy"]
+ hygs = ["Rosie", "Sally", "Ariana"]
+ w = dentHygSelector(dents, hygs)
+ w.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/customwidgets/diary_view_controller.py b/src/openmolar/qt4gui/customwidgets/diary_view_controller.py
new file mode 100644
index 0000000..6162a86
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/diary_view_controller.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.appointment_gui_modules.clinician_select_model \
+ import ClinicianSelectModel
+from openmolar.qt4gui.dialogs.appt_mode_dialog import ApptModeDialog
+
+
+class DiaryViewController(QtGui.QWidget):
+ VIEW_MODE = 0
+ SCHEDULING_MODE = 1
+ BLOCKING_MODE = 2
+ NOTES_MODE = 3
+
+ mode = VIEW_MODE
+
+ update_needed = QtCore.pyqtSignal()
+ apt_mode_changed = QtCore.pyqtSignal(object)
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.clinician_select_model = ClinicianSelectModel(self)
+
+ self.clinicianSelection_comboBox = QtGui.QComboBox()
+ self.clinicianSelection_comboBox.setModel(self.clinician_select_model)
+
+ mode_but = QtGui.QPushButton("....")
+ mode_but.setMaximumWidth(40)
+ self.mode_label = QtGui.QLabel(_("Browsing Mode"))
+
+ mode_frame = QtGui.QWidget()
+ mode_layout = QtGui.QHBoxLayout(mode_frame)
+ mode_layout.setMargin(0)
+ mode_layout.addWidget(self.mode_label)
+ mode_layout.addWidget(mode_but)
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.setMargin(0)
+ layout.addWidget(self.clinicianSelection_comboBox)
+ layout.addWidget(mode_frame)
+
+ self.clinicianSelection_comboBox.currentIndexChanged.connect(
+ self.update_needed.emit)
+ mode_but.clicked.connect(self.change_appt_mode)
+
+ def set_mode(self, mode):
+ if self.mode == mode:
+ return
+ self.mode = mode
+ if self.mode == self.SCHEDULING_MODE:
+ value = _("Scheduling Mode")
+ elif self.mode == self.BLOCKING_MODE:
+ value = _("Blocking Mode")
+ elif self.mode == self.NOTES_MODE:
+ value = _("Notes Mode")
+ else:
+ value = _("Browsing Mode")
+
+ self.mode_label.setText(value)
+ self.apt_mode_changed.emit(self.mode)
+
+ def change_appt_mode(self):
+ dl = ApptModeDialog(self)
+ if dl.exec_():
+ self.set_mode(dl.mode)
+
+ def clinician_days(self, adate):
+ i = self.clinicianSelection_comboBox.currentIndex()
+ return tuple(self.clinician_select_model.clinician_list(i, adate))
+
+ def clinician_list(self, adate):
+ '''
+ get a list of DentistDay types to who the diaries on for a given date
+ '''
+ clinician_list = []
+ for dent in self.clinician_days(adate):
+ clinician_list.append(dent.ix)
+ return tuple(clinician_list)
+
+if __name__ == "__main__":
+ def sig_catcher(*args):
+ print "signal", args
+
+ import gettext
+ gettext.install("openmolar")
+
+ from openmolar.settings import localsettings
+ localsettings.initiate()
+
+ app = QtGui.QApplication([])
+ widg = DiaryViewController()
+ widg.show()
+
+ widg.update_needed.connect(sig_catcher)
+ widg.apt_mode_changed.connect(sig_catcher)
+
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/customwidgets/estimate_item_widget.py b/src/openmolar/qt4gui/customwidgets/estimate_item_widget.py
new file mode 100644
index 0000000..0f8acd2
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/estimate_item_widget.py
@@ -0,0 +1,491 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.customwidgets.chainLabel import ChainLabel
+from openmolar.qt4gui.customwidgets.confirming_check_box import ConfirmingCheckBox
+
+
+LOGGER = logging.getLogger("openmolar")
+
+def decimalise(pence):
+ return "%d.%02d"% (pence // 100, pence % 100)
+
+class EstimateItemWidget(QtGui.QWidget):
+ '''
+ a class to show one specific item of treatment
+ '''
+ MONEY_WIDTH = 80
+
+ separate_signal = QtCore.pyqtSignal(object)
+ compress_signal = QtCore.pyqtSignal(object)
+ completed_signal = QtCore.pyqtSignal(object)
+ delete_signal = QtCore.pyqtSignal(object)
+ edited_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.est_widget = parent
+
+ self.number_label = QtGui.QLabel()
+ self.number_label.setFixedWidth(40)
+ self.itemCode_label = QtGui.QLabel()
+ self.description_lineEdit = QtGui.QLineEdit()
+ self.cset_lineEdit = QtGui.QLineEdit()
+ self.cset_lineEdit.setFixedWidth(40)
+ self.fee_lineEdit = QtGui.QLineEdit()
+ self.fee_lineEdit.setFixedWidth(self.MONEY_WIDTH)
+ self.fee_lineEdit.setAlignment(QtCore.Qt.AlignRight)
+ self.chain = ChainLabel()
+ self.ptFee_lineEdit = QtGui.QLineEdit()
+ self.ptFee_lineEdit.setFixedWidth(self.MONEY_WIDTH)
+ self.ptFee_lineEdit.setAlignment(QtCore.Qt.AlignRight)
+ self.completed_checkBox = ConfirmingCheckBox(self)
+ self.completed_checkBox.setMaximumWidth(30)
+ self.completed_checkBox.check_first = self.check_first
+
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/eraser.png"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.delete_pushButton = QtGui.QPushButton()
+ self.delete_pushButton.setMaximumWidth(30)
+ self.delete_pushButton.setIcon(icon)
+ self.delete_pushButton.setFlat(True)
+
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":icons/expand.svg"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.expand_pushButton = QtGui.QPushButton()
+ self.expand_pushButton.setIcon(icon)
+ self.expand_pushButton.setMaximumWidth(30)
+ self.expand_pushButton.setFlat(True)
+ self.expand_pushButton.setSizePolicy(QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ )
+
+ self.examine_icon = QtGui.QIcon()
+ self.examine_icon.addPixmap(QtGui.QPixmap(":/search.png"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+
+
+ self.validators()
+ self.feesLinked = True
+ self.est_items = []
+ self.itemCode = ""
+ self.signals()
+
+ def components(self):
+ '''
+ returns all the sub widgets.
+ '''
+ return (
+ self.number_label,
+ self.itemCode_label,
+ self.description_lineEdit,
+ self.cset_lineEdit,
+ self.fee_lineEdit,
+ self.chain,
+ self.ptFee_lineEdit,
+ self.completed_checkBox,
+ self.delete_pushButton,
+ self.expand_pushButton)
+
+ def linkfees(self, arg):
+ '''
+ toggles a boolean which determines if the pt fee and fee are the same
+ '''
+ self.feesLinked = arg
+
+ def setChain(self, linked):
+ '''
+ break the chain if the fee does not match the charge
+ '''
+ self.chain.setValue(linked)
+
+ def addItem(self, item):
+ self.est_items.append(item)
+ self.itemCode_label.setToolTip(self.toolTip())
+ self.loadValues()
+
+ def toolTip(self):
+ '''
+ calculates a string to be added as a tool tip for the widget
+ '''
+ retarg = '<center>'
+ for item in self.est_items:
+ retarg += '''ItemCode - '%s'<br />
+ Feescale - %s<br />
+ CSET - %s<br />
+ Dent - %s<br />
+ Hashes - %s<br />
+ DBindex - %s<hr />
+ '''% (
+ item.itemcode,
+ item.feescale,
+ item.csetype,
+ item.dent,
+ str(item.tx_hashes),
+ item.ix)
+ return retarg + "</center>"
+
+ def loadValues(self):
+ '''
+ loads the values stored in self.est_items into the graphical widgets
+ '''
+ fee, ptfee, number = 0, 0, 0
+ all_planned, all_completed = True, True
+
+ for item in self.est_items:
+ if item.number:
+ number += item.number
+ fee += item.fee
+ ptfee += item.ptfee
+ self.setDescription(item.description)
+ self.setItemCode(item.itemcode)
+
+ self.setCset(item.csetype)
+
+ all_planned = all_planned and not item.completed
+ all_completed = all_completed and item.completed
+
+ self.setChain(fee == ptfee)
+
+ n_items = len(self.est_items)
+ if n_items > 1:
+ #self.expand_pushButton.setText("%d %s"% (n_items, _("items")))
+ if all_planned:
+ self.setCompleted(0)
+ elif all_completed:
+ self.setCompleted(2)
+ else:
+ self.setCompleted(1)
+ else:
+ n_txs = len(self.est_items[0].tx_hashes)
+ if n_txs >1:
+ self.expand_pushButton.setIcon(self.examine_icon)
+ self.setCompleted(item.completed)
+
+ self.setNumber(number)
+ self.setFee(fee)
+ self.setPtFee(ptfee)
+
+ if item.is_exam:
+ self.delete_pushButton.hide()
+ elif self.can_expand:
+ self.delete_pushButton.hide()
+ self.expand_pushButton.setVisible(self.can_expand)
+
+ @property
+ def can_expand(self):
+ return self.is_seperable or self.has_multi_treatments
+
+ @property
+ def is_seperable(self):
+ return len(self.est_items) > 1
+
+ @property
+ def has_multi_treatments(self):
+ return len(self.est_items[0].tx_hashes) > 1
+
+ def validators(self):
+ '''
+ set validators to prevent junk data being entered by user
+ '''
+ val = QtGui.QDoubleValidator(0, 3000, 2, self)
+
+ self.fee_lineEdit.setValidator(val)
+ self.ptFee_lineEdit.setValidator(val)
+
+ def signals(self):
+ '''
+ connects signals
+ '''
+ self.chain.toggled.connect(self.linkfees)
+
+ self.delete_pushButton.clicked.connect(self.deleteItem)
+ self.expand_pushButton.clicked.connect(self.expand_but_clicked)
+ self.cset_lineEdit.textEdited.connect(self.update_cset)
+ self.description_lineEdit.textEdited.connect(self.update_descr)
+ self.fee_lineEdit.textEdited.connect(self.update_Fee)
+ self.ptFee_lineEdit.textEdited.connect(self.update_ptFee)
+ self.completed_checkBox.new_state_signal.connect(
+ self.completed_state_changed)
+
+ def update_cset(self, arg):
+ '''
+ csetype has been altered, alter ALL underying data
+ (for multiple items)
+ '''
+ for item in self.est_items:
+ item.csetype = str(arg)
+
+ def update_descr(self, arg):
+ '''
+ description has been altered, alter ALL underying data
+ (for multiple items)
+ '''
+ for item in self.est_items:
+ item.description = str(arg.toAscii()).replace('"', '\"')
+
+ def update_Fee(self, arg, userPerforming=True):
+ '''
+ fee has been altered, alter ALL underying data
+ for multiple items - the new fee is what has been inputted / number
+ of items.
+ '''
+ try:
+ newVal = int(float(arg)*100)
+ if self.feesLinked and userPerforming:
+ self.ptFee_lineEdit.setText(arg)
+ self.update_ptFee(arg, False)
+ except ValueError:
+ newVal = 0
+ for item in self.est_items:
+ item.fee = newVal / len(self.est_items)
+ if userPerforming:
+ self.edited_signal.emit()
+
+ def update_ptFee(self, arg, userPerforming=True):
+ '''
+ ptfee has been altered, alter ALL underying data
+ for multiple items - the new fee is what has been inputted / number
+ of items.
+ '''
+ try:
+ newVal = int(float(arg)*100)
+ if self.feesLinked and userPerforming:
+ self.fee_lineEdit.setText(arg)
+ self.update_Fee(arg, False)
+ except ValueError:
+ newVal = 0
+ for item in self.est_items:
+ item.ptfee = newVal / len(self.est_items)
+ if userPerforming:
+ self.edited_signal.emit()
+
+ def setNumber(self, arg):
+ '''
+ update number label
+ '''
+ self.number_label.setText(str(arg))
+
+ def setDescription(self, arg):
+ '''
+ update description label
+ '''
+ if len(self.est_items) > 1:
+ arg += " etc"
+
+ self.description_lineEdit.setText(arg)
+
+ def setItemCode(self, arg):
+ '''
+ update the item code
+ '''
+ self.itemCode = arg
+ if arg in (None, ""):
+ arg = "-"
+ self.itemCode_label.setText(arg)
+
+ def setCset(self, arg):
+ '''
+ update the course type
+ '''
+ if arg in (None, ""):
+ arg = "-"
+ self.cset_lineEdit.setText(str(arg))
+
+ def setFee(self, fee):
+ '''
+ update the fee lineedit
+ '''
+ self.fee_lineEdit.setText(decimalise(fee))
+
+ def setPtFee(self, fee):
+ '''
+ update the fee lineedit
+ '''
+ self.ptFee_lineEdit.setText(decimalise(fee))
+
+ def setCompleted(self, arg):
+ '''
+ function so that external calls can alter this widget
+ '''
+ #LOGGER.debug("est_item_widget.setCompleted %s"% arg)
+ self.completed_checkBox.setCheckState(arg) #ed(bool(arg))
+ #self.enable_components()
+
+ def deleteItem(self):
+ '''
+ a slot for the delete button press
+ '''
+ LOGGER.debug("EstimateItemWidget calling for deletion")
+ self.delete_signal.emit(self)
+
+ def expand_but_clicked(self):
+ if self.is_seperable:
+ self.separate_signal.emit(self)
+ elif self.has_multi_treatments:
+ self.multi_treatment_info_dialog()
+ else:
+ self.compress_signal.emit(self.itemCode)
+
+ def enable_components(self):
+ '''
+ this is a slot called when the completed checkbox changes
+ '''
+ state = (self.completed_checkBox.checkState() == 0 or
+ (self.completed_checkBox.checkState() == 1 and
+ len(self.est_items) == 1) )
+
+ self.fee_lineEdit.setEnabled(state)
+ self.ptFee_lineEdit.setEnabled(state)
+ self.chain.setEnabled(state)
+ self.delete_pushButton.setEnabled(state)
+
+ def multi_treatment_info_dialog(self):
+ '''
+ show treatments for this item
+ '''
+ LOGGER.debug("multi_treatment_info_dialog")
+ tx_hashes = []
+ for item in self.est_items:
+ tx_hashes += item.tx_hashes
+ assert len(tx_hashes) >0 , \
+ "no treatments found.. this shouldn't happen"
+
+ txs = []
+ for hash_, att, tx in self.est_widget.pt.tx_hash_tups:
+ for tx_hash in tx_hashes:
+ if hash_ == tx_hash:
+ txs.append((att, tx, tx_hash.completed))
+ list_ = ""
+ for att, tx, completed in txs:
+ list_ += "<li>%s <b>%s</b>"% (att, tx)
+ if completed:
+ list_ += " (%s)</li>"% _("completed already")
+ else:
+ list_ += "</li>"
+ message = "%s<ul>%s</ul><hr />%s"%(
+ _("There are multiple treatments associated with this estimate item"),
+ list_,
+ _("All must be completed for the full charge to be applied"))
+
+ QtGui.QMessageBox.information(self, _("information"), message)
+
+
+ @property
+ def has_no_treatments(self):
+ for item in self.est_items:
+ for hash_ in item.tx_hashes:
+ return False
+ return True
+
+ def check_first(self):
+ '''
+ user has tried to toggle the completed check box
+ perform logic here first to see if he/she is allowed to do this
+ '''
+ LOGGER.debug("EstimateItemWidget.check_first")
+ if self.est_items[0].is_exam:
+ if QtGui.QMessageBox.question(self, _("confirm"),
+ _("Delete examination from this treatment plan and estimate?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Ok:
+ self.deleteItem()
+ return
+
+ if len(self.est_items) > 1:
+ return self._multi_item_check()
+
+ est_item = self.est_items[0]
+ if est_item.has_multi_txs:
+ return self._multi_tx_check()
+ else:
+ #if we've got this far, then there is only 1 tx associated.
+ completing = not self.completed_checkBox.isChecked()
+ return self.est_widget.allow_check(est_item, completing)
+
+ def _multi_item_check(self):
+ #allow for tri-state!!
+ if len(self.est_items) == 1:
+ return True
+ self.est_widget.raise_multi_treatment_dialog(self)
+ return False
+
+ def _multi_tx_check(self):
+ #allow for tri-state!!
+ self.est_widget.raise_multi_treatment_dialog(self)
+ return False
+
+ def completed_state_changed(self, *args):
+ '''
+ a slot for the checkbox state change
+ should only happen when this is altered by user (not programatically)
+ '''
+ LOGGER.debug("EstimateItemWidget.completed_state_changed %s"% args)
+ completed = self.completed_checkBox.isChecked()
+
+ for est in self.est_items:
+ for tx_hash in est.tx_hashes:
+ if tx_hash.completed != completed:
+ tx_hash.completed = completed
+ self.completed_signal.emit(tx_hash)
+
+ self.edited_signal.emit()
+
+class _TestParent(QtGui.QWidget):
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ layout = QtGui.QHBoxLayout(self)
+ layout.setMargin(0)
+
+ widg = EstimateItemWidget(self)
+ layout.addWidget(widg.number_label)
+ layout.addWidget(widg.itemCode_label)
+ layout.addWidget(widg.description_lineEdit)
+ layout.addWidget(widg.cset_lineEdit)
+ layout.addWidget(widg.fee_lineEdit)
+ layout.addWidget(widg.chain)
+ layout.addWidget(widg.ptFee_lineEdit)
+ layout.addWidget(widg.completed_checkBox)
+ layout.addWidget(widg.delete_pushButton)
+ layout.addWidget(widg.expand_pushButton)
+
+ widg.edited_signal.connect(self.sig_catcher)
+ widg.completed_signal.connect(self.sig_catcher)
+
+ self.edited_signal = widg.edited_signal
+
+ def allow_check(self, est_item_widget):
+ return True
+
+ def sig_catcher(self, *args):
+ '''test procedure'''
+ print "signal caught argument=", args
+
+if __name__ == "__main__":
+
+ import sys
+
+ app = QtGui.QApplication(sys.argv)
+
+ form = QtGui.QMainWindow()
+
+ widg = _TestParent()
+
+ form.setCentralWidget(widg)
+ form.show()
+
+
+ sys.exit(app.exec_())
diff --git a/src/openmolar/qt4gui/customwidgets/estimate_widget.py b/src/openmolar/qt4gui/customwidgets/estimate_widget.py
new file mode 100644
index 0000000..aeefaa8
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/estimate_widget.py
@@ -0,0 +1,527 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+this module provides a custom widget "EstimateWidget"
+'''
+
+import functools
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from estimate_item_widget import decimalise, EstimateItemWidget
+
+from openmolar.qt4gui.fees import manipulate_plan
+
+from openmolar.qt4gui.dialogs.complete_treatment_dialog \
+ import CompleteTreatmentDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class EstimateWidget(QtGui.QWidget):
+ '''
+ provides a custom widget to view/edit the patient's estimate
+ '''
+ separate_codes = set([])
+ updated_fees_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.om_gui = parent
+
+ size_policy = QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ self.setSizePolicy(size_policy)
+
+ self.expandAll = False
+
+ #header labels
+ self.number_label = QtGui.QLabel(_("No."))
+ self.code_label = QtGui.QLabel(_("Code"))
+ self.description_label = QtGui.QLabel(_("Description"))
+ self.description_label.setMinimumWidth(120)
+ self.description_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.cset_label = QtGui.QLabel(_("CSET"))
+ self.fee_label = QtGui.QLabel(_("Fee"))
+ self.fee_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.charge_label = QtGui.QLabel(_("Charge"))
+ self.charge_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.expand_all_button = QtGui.QPushButton(_("Expand All"))
+
+ self.g_layout = QtGui.QGridLayout(self)
+ self.g_layout.setSpacing(0)
+
+ self.g_layout.addWidget(self.number_label, 0, 0)
+ self.g_layout.addWidget(self.code_label, 0, 1)
+ self.g_layout.addWidget(self.description_label, 0, 2)
+ self.g_layout.addWidget(self.cset_label, 0, 3)
+ self.g_layout.addWidget(self.fee_label, 0, 4)
+ self.g_layout.addWidget(self.charge_label, 0, 6)
+
+ self.g_layout.addWidget(self.expand_all_button, 0,7,1,3)
+
+ self.planned_fees_total_le = QtGui.QLineEdit()
+ self.planned_charges_total_le = QtGui.QLineEdit()
+
+ self.completed_fees_total_le = QtGui.QLineEdit()
+ self.completed_charges_total_le = QtGui.QLineEdit()
+
+ self.fees_total_le = QtGui.QLineEdit()
+ self.charges_total_le = QtGui.QLineEdit()
+
+ self.interim_fees_total_le = QtGui.QLineEdit()
+ self.interim_charges_total_le = QtGui.QLineEdit()
+
+ for le in (
+ self.planned_fees_total_le,
+ self.completed_fees_total_le,
+ self.fees_total_le,
+ self.charges_total_le,
+ self.planned_charges_total_le,
+ self.completed_charges_total_le,
+ self.interim_fees_total_le,
+ self.interim_charges_total_le):
+ le.setFixedWidth(EstimateItemWidget.MONEY_WIDTH)
+ le.setAlignment(QtCore.Qt.AlignRight)
+
+ self.planned_total_label = QtGui.QLabel(_("Planned Items Total"))
+ self.interim_total_label = QtGui.QLabel(_("Interim Charges"))
+ self.completed_total_label = QtGui.QLabel(_("Completed Items Total"))
+ self.total_label = QtGui.QLabel(_("TOTAL"))
+
+ alignment = QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter
+ self.planned_total_label.setAlignment(alignment)
+ self.interim_total_label.setAlignment(alignment)
+ self.completed_total_label.setAlignment(alignment)
+ self.total_label.setAlignment(alignment)
+
+ self.estItemWidgets = []
+ self.ests = ()
+ self.pt = None
+
+ self.setMinimumSize(self.minimumSizeHint())
+ self.expand_all_button.clicked.connect(self.expandItems)
+
+ self.spacer_item = QtGui.QSpacerItem(0, 10)
+
+ def add_footer(self):
+ row = len(self.estItemWidgets)
+
+ self.g_layout.addItem(self.spacer_item, row+1, 0, 1, 9)
+ self.g_layout.setRowStretch(row+1, 2)
+
+ row += 2
+ for i, label in enumerate(
+ (self.planned_total_label,
+ self.interim_total_label,
+ self.completed_total_label,
+ self.total_label)
+ ):
+ self.g_layout.addWidget(label, row + 3 + i, 2, 1, 2)
+
+ self.g_layout.addWidget(self.planned_fees_total_le, 3+row,4)
+ self.g_layout.addWidget(self.planned_charges_total_le, 3+row,6)
+
+ self.g_layout.addWidget(self.interim_fees_total_le, 4+row,4)
+ self.g_layout.addWidget(self.interim_charges_total_le, 4+row,6)
+
+ self.g_layout.addWidget(self.completed_fees_total_le, 5+row,4)
+ self.g_layout.addWidget(self.completed_charges_total_le, 5+row,6)
+
+ self.g_layout.addWidget(self.fees_total_le, 6+row,4)
+ self.g_layout.addWidget(self.charges_total_le, 6+row,6)
+
+ def minimumSizeHint(self):
+ min_height = 120 + len(self.estItemWidgets) * 28
+ return QtCore.QSize(720, min_height)
+
+ def updateTotals(self):
+ total, ptTotal = 0, 0
+
+ plan_total, pt_plan_total = 0, 0
+ comp_total, pt_cmp_total = 0, 0
+ interim_total, pt_interim_total = 0, 0
+
+ for est in self.ests:
+ if est.completed == est.COMPLETED:
+ comp_total += est.fee
+ pt_cmp_total += est.ptfee
+ elif est.completed == est.PARTIALLY_COMPLETED:
+ interim_total += est.interim_fee
+ pt_interim_total += est.interim_pt_fee
+ plan_total += est.fee - est.interim_fee
+ pt_plan_total += est.ptfee - est.interim_pt_fee
+ else: #est.PLANNED
+ plan_total += est.fee
+ pt_plan_total += est.ptfee
+ total += est.fee
+ ptTotal += est.ptfee
+
+ self.fees_total_le.setText(decimalise(total))
+ self.charges_total_le.setText(decimalise(ptTotal))
+ self.planned_fees_total_le.setText(decimalise(plan_total))
+ self.planned_charges_total_le.setText(decimalise(pt_plan_total))
+ self.completed_fees_total_le.setText(decimalise(comp_total))
+ self.completed_charges_total_le.setText(decimalise(pt_cmp_total))
+
+ self.interim_fees_total_le.setText(decimalise(interim_total))
+ self.interim_charges_total_le.setText(
+ decimalise(pt_interim_total))
+
+ interim_in_use = interim_total != 0 and pt_interim_total != 0
+ if interim_in_use:
+ LOGGER.debug("est widget using interim fees")
+
+ for widg in (self.interim_charges_total_le,
+ self.interim_fees_total_le, self.interim_total_label):
+ widg.setVisible(interim_in_use)
+
+ self.updated_fees_signal.emit()
+
+ def set_expand_mode(self, expand=False):
+ self.expandAll = expand
+ if self.expandAll:
+ self.expand_all_button.setText("Compress All")
+ else:
+ self.expand_all_button.setText("Expand All")
+
+ def can_add_to_existing_item_widget(self, est):
+ '''
+ see if the item can be combined with another existing widget
+ eg.. 4 extractions = 4 items, but can be displayed together.
+ '''
+ if est.itemcode in self.separate_codes:
+ return False
+
+ item_is_other = est.itemcode == "-----"
+ for widg in self.estItemWidgets:
+ if widg.itemCode == est.itemcode :
+ if item_is_other:
+ for exist_est in widg.est_items:
+ if est.description == exist_est.description:
+ widg.addItem(est)
+ return True
+ else:
+ widg.addItem(est)
+ return True
+ return False
+
+ def setPatient(self, pt):
+ '''
+ sets the patient
+ '''
+ self.set_expand_mode(False)
+ self.pt = pt
+ self.setEstimate(pt.estimates)
+
+ def resetEstimate(self):
+ LOGGER.debug("EstimateWidget.resetEstimate")
+ if self.pt is None:
+ LOGGER.warning("called when patient is None!")
+ return
+ self.setEstimate(self.pt.estimates)
+
+ def setEstimate(self, ests):
+ '''
+ adds all estimate items to the gui
+ '''
+ self.ests = ests
+ self.clear()
+
+ row = 1
+ for est in sorted(self.ests):
+ #- check to see if similar items exist already, if not, add a
+ #- widget
+
+ if self.expandAll or not self.can_add_to_existing_item_widget(est):
+ #--creates a widget
+ widg = EstimateItemWidget(self)
+ widg.addItem(est)
+
+ widg.edited_signal.connect(self.updateTotals)
+ widg.completed_signal.connect(self.tx_hash_complete)
+ widg.delete_signal.connect(self.deleteItemWidget)
+ widg.separate_signal.connect(self.split_item)
+ widg.compress_signal.connect(self.compress_item)
+
+ self.estItemWidgets.append(widg)
+
+ self.g_layout.addWidget(widg.number_label, row, 0)
+ self.g_layout.addWidget(widg.itemCode_label, row, 1)
+ self.g_layout.addWidget(widg.description_lineEdit, row, 2)
+ self.g_layout.addWidget(widg.cset_lineEdit, row, 3)
+ self.g_layout.addWidget(widg.fee_lineEdit, row, 4)
+ self.g_layout.addWidget(widg.chain, row, 5)
+ self.g_layout.addWidget(widg.ptFee_lineEdit, row, 6)
+ self.g_layout.addWidget(widg.completed_checkBox, row, 8)
+ self.g_layout.addWidget(widg.expand_pushButton, row, 7)
+ if not widg.can_expand:
+ self.g_layout.addWidget(widg.delete_pushButton, row, 7)
+ self.g_layout.setRowStretch(row, 0)
+ row += 1
+
+ self.add_compress_buts()
+
+ self.add_footer()
+ self.setMinimumSize(self.minimumSizeHint())
+ self.updateTotals()
+
+ def compress_item(self, item_code):
+ LOGGER.debug("compress %s"% item_code)
+ self.separate_codes.remove(item_code)
+ self.expandAll = False
+ self.resetEstimate()
+
+ def add_compress_buts(self):
+ def add_but():
+ if start_row is not None:
+ self.g_layout.addWidget(but, start_row, 9, row+1-start_row, 1)
+ but.setVisible(True)
+
+ row, but, code, start_row = None, None, None, None
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":icons/contract.svg"),
+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ for row, est_item_widget in enumerate(self.estItemWidgets):
+ if est_item_widget.itemCode == code:
+ self.separate_codes.add(code)
+ but = est_item_widget.expand_pushButton
+ but.setFlat(False)
+ but.setIcon(icon)
+ if start_row is None:
+ start_row = row
+ else:
+ add_but()
+ code = est_item_widget.itemCode
+ if code == "-----":
+ code = None
+ start_row = None
+ if row:
+ row += 1
+ add_but()
+
+ def tx_hash_complete(self, tx_hash):
+ LOGGER.debug("EstimateWidget.tx_hash_complete, %s"% tx_hash)
+ if tx_hash.completed:
+ manipulate_plan.tx_hash_complete(self.om_gui, tx_hash)
+ else:
+ manipulate_plan.tx_hash_reverse(self.om_gui, tx_hash)
+
+ def remove_est_item_widget(self, widg):
+ widg.completed_checkBox.check_first = None
+ for child in widg.components():
+ self.g_layout.removeWidget(child)
+ child.setParent(None)
+ widg.setParent(None)
+
+ def clear(self):
+ '''
+ clears all est widget in anticipation of a new estimate
+ '''
+ LOGGER.debug("EstimateWidget.clear")
+ while self.estItemWidgets != []:
+ widg = self.estItemWidgets.pop()
+ self.remove_est_item_widget(widg)
+
+ self.g_layout.removeItem(self.spacer_item)
+ self.set_expand_mode(self.expandAll)
+ #self.updateTotals()
+
+ def deleteItemWidget(self, item_widget, confirm_first=True):
+ '''
+ deletes a widget when delete button pressed.
+ such an item will ALWAYS have only one treatment.
+ '''
+ LOGGER.debug("EstimateWidget.deleteItemWidget")
+
+ if not confirm_first:
+ message = u"<p>%s %s %s<br />%s?</p>"%(
+ _("Delete"),
+ item_widget.number_label.text(),
+ item_widget.description_lineEdit.text(),
+ _("from treatment plan and estimate")
+ )
+
+ if QtGui.QMessageBox.question(self, "confirm",
+ message, QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes ) == QtGui.QMessageBox.No:
+ return False
+
+ assert len(item_widget.est_items) == 1, "bad est item passed"
+ est = item_widget.est_items[0]
+ self.emit(QtCore.SIGNAL("deleteItem"), est)
+ self.resetEstimate()
+
+ def expandItems(self):
+ '''
+ user has clicked the expand button in the header
+ '''
+ self.expandAll = not self.expandAll
+ self.separate_codes = set([])
+ if self.expandAll:
+ for widg in self.estItemWidgets:
+ if widg.is_seperable:
+ self.separate_codes.add(widg.itemCode)
+
+ self.resetEstimate()
+
+ def split_item(self, est_item_widget):
+ '''
+ separate this item
+ '''
+ LOGGER.debug("EstimateWidget.split_item %s"% est_item_widget)
+ self.separate_codes.add(est_item_widget.itemCode)
+ self.resetEstimate()
+
+ @property
+ def allPlanned(self):
+ for est in self.ests:
+ if est.completed:
+ return False
+ return True
+
+ @property
+ def allCompleted(self):
+ for est in self.ests:
+ if not est.completed:
+ return False
+ return True
+
+ def allow_check(self, est_item, completing):
+ '''
+ check to see if est_widget can be checked by the user
+ (in the case of multiple identical treatment items, there is a
+ specific allowable order)
+ '''
+ LOGGER.debug(
+ "EstimateWidget.allow_check called. Completing = %s"% completing)
+
+ assert len(est_item.tx_hashes) == 1, \
+ "too many tx_hashes passed to EstimateWidget.allow_check"
+
+ check_first = False
+ for est in self.ests:
+ if (est.itemcode == est_item.itemcode and
+ est.tx_hashes != est_item.tx_hashes):
+ check_first = True
+ break
+
+ if not check_first:
+ LOGGER.debug("EstimateWidget.allow_check granted")
+ return True
+
+ tx_hash = est_item.tx_hashes[0] # will only have one - see assert
+ check_att, check_tx = self.pt.get_tx_from_hash(tx_hash)
+ LOGGER.debug("Check uniqueness of hash='%s' att='%s' tx='%s'"% (
+ tx_hash, check_att, check_tx))
+
+ #check this treatment off against the other treatments which still
+ #require completing/reversing
+ for hash_, att_, tx in self.pt.tx_hash_tups:
+ if check_att == att_ and tx == check_tx and hash_ != tx_hash.hash:
+ LOGGER.warning(
+ "Special code checked via estimate widget, not allowing check")
+ if completing:
+ func_ = manipulate_plan.complete_txs
+ else:
+ func_ = manipulate_plan.reverse_txs
+ func_(self.om_gui, ([check_att, check_tx],))
+
+ return False
+
+ return True
+
+ def raise_multi_treatment_dialog(self, est_item_widget):
+ '''
+ show treatments for this item
+ '''
+ LOGGER.debug("raise_multi_treatment_dialog")
+ tx_hashes = []
+ for item in est_item_widget.est_items:
+ tx_hashes += item.tx_hashes
+ assert len(tx_hashes) >0 , \
+ "no treatments found.. this shouldn't happen"
+
+ txs = []
+ for hash_, att, tx in self.pt.tx_hash_tups:
+ for tx_hash in tx_hashes:
+ if hash_ == tx_hash:
+ txs.append((att, tx, tx_hash.completed))
+
+ dl = CompleteTreatmentDialog(txs, self)
+ if not dl.exec_():
+ return
+
+ for att, treat in dl.completed_treatments:
+ LOGGER.debug("checking completed %s %s"% (att, treat))
+ found = False #only complete 1 treatment!!
+ for hash_, att_, tx in self.pt.tx_hash_tups:
+ if found:
+ break
+ if att == att_ and tx == treat:
+ LOGGER.debug("att and treat match... checking hashes")
+ for item in est_item_widget.est_items:
+ LOGGER.debug("Checking hashes of item %s"% item)
+ for tx_hash in item.tx_hashes:
+ if tx_hash == hash_ and not tx_hash.completed:
+ LOGGER.debug("%s == %s"% (tx_hash, hash_))
+ tx_hash.completed = True
+ self.tx_hash_complete(tx_hash)
+ found = True
+ break
+ if found:
+ break
+
+ for att, treat in dl.uncompleted_treatments:
+ LOGGER.debug("checking completed %s %s"% (att, treat))
+ found = False #only complete 1 treatment!!
+ for hash_, att_, tx in reversed(list(self.pt.tx_hash_tups)):
+ if found:
+ break
+ if att == att_ and tx == treat:
+ LOGGER.debug("att and treat match... checking hashes")
+ for item in est_item_widget.est_items:
+ LOGGER.debug("Checking hashes of item %s"% item)
+ for tx_hash in item.tx_hashes:
+ if tx_hash == hash_ and tx_hash.completed:
+ LOGGER.debug("%s == %s"% (tx_hash, hash_))
+ tx_hash.completed = False
+ self.tx_hash_complete(tx_hash)
+ found = True
+ break
+ if found:
+ break
+
+ for att, treat, already_completed in dl.deleted_treatments:
+ LOGGER.debug("checking deleted %s %s"% (att, treat))
+ manipulate_plan.remove_treatments_from_plan_and_est(
+ self.om_gui, ((att, treat.strip(" ")),), already_completed)
+
+ self.resetEstimate()
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+
+ from gettext import gettext as _
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(11956)
+
+ app = QtGui.QApplication([])
+
+ form = QtGui.QMainWindow()
+ widg = EstimateWidget()
+ form.setCentralWidget(widg)
+ form.show()
+
+ widg.setPatient(pt)
+
+ form.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/customwidgets/fiveminutetimeedit.py b/src/openmolar/qt4gui/customwidgets/fiveminutetimeedit.py
new file mode 100644
index 0000000..ad36169
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/fiveminutetimeedit.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+
+from PyQt4 import QtGui, QtCore
+
+class FiveMinuteTimeEdit(QtGui.QTimeEdit):
+ '''
+ A custom timeEdit which enforces only 5 minutes
+ NB - connect to slot "verifiedTime"
+ '''
+ def __init__(self,parent=None):
+ super(FiveMinuteTimeEdit, self).__init__(parent)
+ self.setDisplayFormat("hh:mm")
+ QtCore.QObject.connect(self,
+ QtCore.SIGNAL("timeChanged (const QTime&)"), self.timeChanged)
+
+ def stepBy(self, steps):
+ if self.currentSection() == self.MinuteSection:
+ QtGui.QTimeEdit.stepBy(self, steps * 5)
+ else:
+ QtGui.QTimeEdit.stepBy(self, steps)
+
+ def timeChanged(self, t):
+ min = self.time().minute()
+ if min % 5 != 0:
+ min -= min % 5
+ self.setTime(QtCore.QTime(self.time().hour(), min))
+ self.emit(QtCore.SIGNAL("verifiedTime"), self.time())
+
+if __name__ == "__main__":
+ def test(t):
+ print "signal received", t
+
+ import sys
+ app = QtGui.QApplication([])
+ te = FiveMinuteTimeEdit()
+ QtCore.QObject.connect(te,
+ QtCore.SIGNAL("verifiedTime"), test)
+ te.show()
+ sys.exit(app.exec_())
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/customwidgets/money_line_edit.py b/src/openmolar/qt4gui/customwidgets/money_line_edit.py
new file mode 100644
index 0000000..648575c
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/money_line_edit.py
@@ -0,0 +1,123 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+
+import re
+from PyQt4 import QtCore, QtGui
+
+class MoneyLineEdit(QtGui.QLineEdit):
+ '''
+ interestingly, for the input of money values, and having experimented
+ with validators and spinboxes etc...
+ none of them acted intuitively.
+ This one does. try it.
+ '''
+ def __init__(self, parent=None):
+ QtGui.QLineEdit.__init__(self, parent)
+ self.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
+
+ @property
+ def pence_value(self):
+ '''
+ returns the value displayed as pence (integer)
+ example - if 12.34 is displayed then 1234 is returned.
+ '''
+ s = "0" + self.text()
+ return int (s.replace(".",""))
+
+ def check_val(self):
+ current_txt = self.text()
+
+ m = re.match("(\d+)\.(\d)(\d)$", current_txt)
+ if m:
+ return #all is well!
+
+ new_txt = current_txt.replace(".","")
+ if re.match("\d+$", new_txt):
+ new_txt = "%s.%s"% (new_txt[:-2], new_txt[-2:])
+ new_txt = new_txt.lstrip("0")
+ if new_txt.startswith("."):
+ new_txt = "0" + new_txt
+ else:
+ new_txt = "0.00"
+
+ self.setText(new_txt)
+ if new_txt != current_txt:
+ self.textEdited.emit(self.text())
+
+
+ def keyPressEvent(self, event):
+ '''
+ overrides QWidget's keypressEvent
+ '''
+
+ if event.key() in (QtCore.Qt.Key_Tab,
+ QtCore.Qt.Key_Return,
+ QtCore.Qt.Key_Backspace,
+ QtCore.Qt.Key_Right,
+ QtCore.Qt.Key_Left,
+ QtCore.Qt.Key_Delete
+ ):
+ QtGui.QLineEdit.keyPressEvent(self, event)
+ self.check_val()
+ return
+
+ input_ = event.text().toAscii()
+ current_txt = self.text()
+
+ if not re.match("[\d]", input_):
+ event.ignore()
+ return
+
+ if current_txt == "":
+ self.setText("0.0%s"% input_)
+ self.textEdited.emit(self.text())
+ return
+
+ pos = self.cursorPosition()
+
+ if pos != len(current_txt):
+ QtGui.QLineEdit.keyPressEvent(self, event)
+ self.check_val()
+ return
+
+ m = re.match("(\d+)\.(\d)(\d)", unicode(current_txt))
+ if m and pos == len(current_txt):
+ pounds = m.groups()[0] + m.groups()[1]
+ pounds = pounds.lstrip("0")
+ if pounds =="":
+ pounds = "0"
+ pence = m.groups()[2] + input_
+ new_txt = "%s.%s"% (pounds, pence)
+ self.setText(new_txt)
+ self.textEdited.emit(self.text())
+
+ event.ignore()
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ mle = MoneyLineEdit()
+ mle.show()
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/customwidgets/notification_widget.py b/src/openmolar/qt4gui/customwidgets/notification_widget.py
new file mode 100644
index 0000000..7efd9a5
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/notification_widget.py
@@ -0,0 +1,143 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui,QtCore
+
+
+class notificationGB(QtGui.QWidget):
+ '''
+ a customised groupBox
+ '''
+ acknowledged = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.counter = None
+
+ self.layout = QtGui.QGridLayout(self)
+ self.layout.setMargin(0)
+
+ self.t_label = QtGui.QLabel()
+ self.t_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.label = QtGui.QLabel()
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setStyleSheet("color: red")
+ #self.label.setWordWrap(True)
+
+
+ icon = QtGui.QIcon.fromTheme(
+ "window-close", QtGui.QIcon(":/quit.png"))
+ self.but = QtGui.QPushButton(icon, "")
+ self.but.setMaximumWidth(40)
+
+ self.line = QtGui.QFrame()
+ self.line.setFrameShape(QtGui.QFrame.HLine)
+ self.line.setFrameShadow(QtGui.QFrame.Sunken)
+
+ self.layout.addWidget(self.t_label,0,0)
+ self.layout.addWidget(self.label,1,0)
+ self.layout.addWidget(self.but,0,1,2,1)
+ self.layout.addWidget(self.line,2,0,1,2)
+
+ self.line.hide()
+
+ self.but.clicked.connect(self.send_acknowledged_signal)
+
+ def setId(self, arg):
+ '''
+ give the widget a unique ID
+ '''
+ self.counter = arg
+
+ def setMessage(self, message):
+ '''
+ set the label's text
+ '''
+ t = QtCore.QTime.currentTime()
+ self.t_label.setText("<b>%s:%02d</b>"% (t.hour(), t.minute()))
+ self.label.setText(message)
+
+
+ def set_minimised(self, bool_):
+ for widg in (self.but, self.t_label, self.label):
+ widg.setVisible(not bool_)
+ self.line.setVisible(bool_)
+
+ def send_acknowledged_signal(self):
+ '''
+ the "acknowledge" check box has been toggled
+ '''
+ self.acknowledged.emit()
+
+class notificationWidget(QtGui.QWidget):
+ '''
+ a custom widget which contains children which come and go
+ '''
+ def __init__(self, parent=None):
+ super(notificationWidget,self).__init__(parent)
+ self.layout = QtGui.QVBoxLayout(self)
+ self.layout.setMargin(0)
+ self.widgets = []
+
+ def addMessage(self, message):
+ '''
+ pass a message
+ '''
+ for widg in self.widgets:
+ widg.set_minimised(True)
+
+ widg = notificationGB(self)
+ widg.setMessage(message)
+ self.widgets.append(widg)
+
+ self.layout.insertWidget(0, widg)
+
+ widg.acknowledged.connect(self.removeMessage)
+ self.show()
+
+ def removeMessage(self):
+ '''
+ user has "acknowledged a message
+ '''
+ widg = self.sender()
+ widg.hide()
+ self.widgets.remove(widg)
+ widg.deleteLater()
+
+ if len(self.widgets) > 0:
+ self.widgets[-1].set_minimised(False)
+ else:
+ self.hide()
+
+
+if __name__ == "__main__":
+
+ from openmolar.settings import localsettings
+ from functools import partial
+
+ def test(arg=None):
+ print "clicked = ",arg
+
+ app = QtGui.QApplication([])
+ form = QtGui.QMainWindow()
+ form.setMinimumWidth(300)
+
+ nw = notificationWidget(form)
+ QtCore.QObject.connect(nw,QtCore.SIGNAL("clicked()"), test)
+
+ for i in range(5):
+ QtCore.QTimer.singleShot(i*3000,
+ partial(nw.addMessage, "This is test message %d"% (i+1))
+ )
+
+ form.setCentralWidget(nw)
+ form.show()
+
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/customwidgets/perioChartWidget.py b/src/openmolar/qt4gui/customwidgets/perioChartWidget.py
new file mode 100644
index 0000000..090dde4
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/perioChartWidget.py
@@ -0,0 +1,157 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+from __future__ import division
+from PyQt4 import QtGui,QtCore
+from openmolar.qt4gui import colours
+
+class chartWidget(QtGui.QWidget):
+ '''a custom widget to show a standard UK dental chart
+ - allows for user navigation with mouse and/or keyboard
+ '''
+ def __init__(self, parent=None):
+ super(chartWidget,self).__init__(parent)
+ self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.\
+ Expanding))
+ self.grid = (8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,8)
+ self.setMinimumSize(self.minimumSizeHint())
+ self.showLeftRight=True
+ self.showSelected=True
+ self.selected = [-1,-1]
+ self.props={}
+ self.type=""
+ def sizeHint(self):
+ return QtCore.QSize(500, 100)
+ def minimumSizeHint(self):
+ return QtCore.QSize(500, 100)
+ def setShowLeftRight(self,arg):
+ self.showLeftRight=arg
+ def setShowSelected(self,arg):
+ self.showSelected=arg
+ def setSelected(self,x,y):
+ self.selected=[x,y]
+ self.repaint()
+ self.emit(QtCore.SIGNAL("toothSelected"),self.grid[y][x]) #emit a signal that the user has selected a tooth
+ def setProps(self,tooth,arg):
+ if self.type=="Furcation":
+ self.props[tooth]=(arg[0],127,arg[1],arg[2],127,arg[3])
+ elif self.type=="Mobility":
+ self.props[tooth]=(127,arg,127,127,127,127)
+ else:
+ self.props[tooth]=arg
+
+ def mousePressEvent(self, event):
+ '''overrides QWidget's mouse event'''
+ xOffset = self.width() / 16
+ yOffset = self.height() / 2
+ x= int(event.x()//xOffset)
+ if event.y() < yOffset:
+ y = 0
+ else:
+ y = 1
+ self.setSelected(x, y)
+
+ def keyPressEvent(self, event):
+ '''overrudes QWidget's keypressEvent'''
+
+ if event.key() == QtCore.Qt.Key_Left:
+ self.selected[0] = 15 if self.selected[0] == 0 else self.selected[0] - 1
+ elif event.key() == QtCore.Qt.Key_Right:
+ self.selected[0] = 0 if self.selected[0] == 15 else self.selected[0] + 1
+ elif event.key() == QtCore.Qt.Key_Up:
+ self.selected[1] = 1 if self.selected[1] == 0 else self.selected[1] - 1
+ elif event.key() == QtCore.Qt.Key_Down:
+ self.selected[1] = 0 if self.selected[1] == 1 else self.selected[1] + 1
+ event.handled=True
+ self.repaint()
+ def paintEvent(self,event=None):
+ '''override the paint event so that we can draw our grid'''
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ midline=self.width()/100
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue,1)) #red pen
+ sansFont = QtGui.QFont("Courier", 7)
+ painter.setFont(sansFont)
+ fm = QtGui.QFontMetrics(sansFont)
+ leftpad=fm.width("R ")
+ rightpad=fm.width(" L")
+ xOffset = (self.width() - midline-leftpad-rightpad) / 16 #cell width
+
+ thirdx=xOffset/3
+ thirdy=self.height()/6
+
+ attributeWidth=fm.width("13")
+ attributeHeight=fm.height()
+ painter.setPen(QtGui.QPen(QtCore.Qt.black,1)) #red pen
+ textRect=QtCore.QRectF(0,0,self.width(),self.height())
+ painter.drawText(textRect,QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter,(QtCore.QString("L")))
+ painter.drawText(textRect,QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter,(QtCore.QString("R")))
+ quadrants=("ur","ul","ll","lr")
+ quadrant=-1
+ for y in range(2):
+ lowerlimit=self.height()/2
+ if y==0: #upper teeth
+ quadrant+=1
+ upperlimit=0
+ else:
+ upperlimit=self.height()/2
+ for x in range(16):
+ if x==8:
+ midx=midline
+ quadrant+=1
+ elif x==0:
+ midx=0
+ id = quadrants[quadrant]+str(self.grid[x])
+ rect = QtCore.QRectF(x * xOffset + midx+leftpad, upperlimit,xOffset, lowerlimit)
+ self.tooth(painter,rect,id[2])
+ painter.setPen(QtGui.QPen(QtCore.Qt.black,1)) #red pen
+ for i in range(3):
+ ypos=thirdy/2
+ if i==1:
+ ypos=0
+ #draw "buccal" attribs (assuming URQ)
+ if self.props.has_key(id):
+ buccalRect=rect.adjusted(i*thirdx,ypos,(i-2)*thirdx,-2*thirdy)
+ palatalRect=rect.adjusted(i*thirdx,2*thirdy,(i-2)*thirdx,-ypos)
+ buccal=True
+ for attrect in (buccalRect,palatalRect):
+ if buccal:
+ number=self.props[id][i]
+ else:
+ number=self.props[id][i+3]
+ if number!=127:
+ if self.type=="Bleeding" or self.type=="Plaque":
+ text=("N","Y","D")[number] #plaque is "yes" or "no", but bleeding 2= delayed
+ elif self.type=="Mobility":
+ text=("","I","II","III")[number] #plaque is "yes" or "no", but bleeding 2= delayed
+ else:
+ text=str(number)
+ painter.drawText(attrect,QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter,(QtCore.QString(text)))
+ buccal=False
+ painter.setPen(QtCore.Qt.red)
+ painter.drawLine(leftpad,self.height()/2,self.width()-rightpad,self.height()/2) #big horizontal dissection of entire widget
+ painter.drawLine(self.width()/2,0,self.width()/2,self.height()) #vertical dissection of entire widget
+
+ painter.restore()
+
+ def tooth(self,painter,rect,id):
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray,1)) #red pen
+ painter.drawRect(rect)
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue,1)) #red pen
+
+ painter.drawText(rect,QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter,(QtCore.QString(str(id))))
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ form = chartWidget()
+ #perioData[tooth]=(recession,pocketing,plaque,bleeding,other,suppuration,furcation,mobility)
+
+ form.props={'lr1': (7, 2, 5, 7, 2, 5), 'lr3': (9, 6, 9, 9, 3, 9), 'lr2': (9, 3, 9, 9, 3, 9), 'lr5': (2, 2, 2, 2, 1, 2), 'lr4': (5, 2, 7, 5, 2, 7), 'lr7': (4, 2, 2, 4, 2, 2), 'lr6': (127, 127, 127, 127, 127, 127), 'lr8': (6, 6, 6, 6, 2, 6), 'ul8': (9, 3, 3, 9, 6, 3), 'ul2': (6, 8, 9, 6, 1, 9), 'ul3': (9, 5, 9, 9, 9, 9), 'ul1': (1, 1, 1, 1, 6, 1), 'ul6': (127, 127, 127, 127, 127, 127), 'ul7': (3, 1, 9, 3, 1, 9), 'ul4': (9, 2, 9, 9, 3, 9), 'ul5': (3, 1, 9, 3, 1, 9), 'ur4': (7, 1, 4, 7, [...]
+
+ form.show()
+ sys.exit(app.exec_())
diff --git a/src/openmolar/qt4gui/customwidgets/perioToothProps.py b/src/openmolar/qt4gui/customwidgets/perioToothProps.py
new file mode 100644
index 0000000..29292e4
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/perioToothProps.py
@@ -0,0 +1,229 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_toothPerioProps
+from openmolar.qt4gui import colours
+from openmolar.settings import allowed
+
+class tpWidget(Ui_toothPerioProps.Ui_Form,QtGui.QWidget):
+ def __init__(self,parent=None):
+ super(tpWidget,self).__init__(parent)
+ self.setupUi(self)
+ hlayout=QtGui.QHBoxLayout(self.le_frame)
+ hlayout.setContentsMargins(0,0,0,0)
+ self.lineEdit=chartLineEdit()
+ self.lineEdit.setMaxLength(2)
+ hlayout.addWidget(self.lineEdit)
+ self.oldtooth=tooth() #self.frame)
+ self.oldtooth.setEnabled(False)
+ toothlayout=QtGui.QHBoxLayout(self.orig_frame)
+ toothlayout.addWidget(self.oldtooth)
+ self.tooth=tooth() #self.frame)
+ toothlayout=QtGui.QHBoxLayout(self.new_frame)
+ toothlayout.addWidget(self.tooth)
+
+ self.signals()
+ self.originalProps={}
+
+ def setExistingProps(self,arg):
+ if arg=="":
+ self.originalProps=""
+ self.lineEdit.setText("")
+ else:
+ arg=arg.strip()+":"
+ arg=arg.replace(" ",":")
+ self.originalProps=arg
+ self.lineEdit.setText(arg)
+
+ def clear(self):
+ self.lineEdit.setText("")
+ self.tooth.clear()
+ self.tooth.update()
+ self.finishedEdit() #doesn';t work!
+
+ def finishedEdit(self):
+ newprops=str(self.lineEdit.text().toAscii())
+ self.emit(QtCore.SIGNAL("Changed_Properties"),newprops)
+
+ def keyNav(self,arg):
+ if arg=="up":
+ self.prevTooth()
+ elif arg=="down":
+ self.nextTooth()
+ def leftTooth(self):
+ if self.tooth.isUpper:
+ self.prevTooth()
+ else:
+ self.nextTooth()
+ def rightTooth(self):
+ if not self.tooth.isUpper:
+ self.prevTooth()
+ else:
+ self.nextTooth()
+ def prevTooth(self):
+ self.finishedEdit()
+ self.emit(QtCore.SIGNAL("NextTooth"),("up"))
+ def nextTooth(self):
+ self.finishedEdit()
+ self.emit(QtCore.SIGNAL("NextTooth"),("down"))
+
+ def signals(self):
+ QtCore.QObject.connect(self.clear_pushButton,QtCore.SIGNAL("clicked()"), self.clear)
+ QtCore.QObject.connect(self.lineEdit,QtCore.SIGNAL("ArrowKeyPressed"),self.keyNav)
+ QtCore.QObject.connect(self.rightTooth_pushButton,QtCore.SIGNAL("clicked()"), self.rightTooth)
+ QtCore.QObject.connect(self.leftTooth_pushButton,QtCore.SIGNAL("clicked()"), self.leftTooth)
+
+class tooth(QtGui.QWidget):
+ def __init__(self,parent=None):
+ super(tooth,self).__init__(parent)
+ self.isBacktooth=True
+ self.quadrant=1
+ self.isUpper=True
+ self.isRight=True
+ self.setMouseTracking(True)
+ self.shapes()
+ self.clear()
+ def sizeHint(self):
+ return self.parent().size()
+ def minimumSizeHint(self):
+ return QtCore.QSize(80, 80)
+ def setBacktooth(self,arg):
+ if self.isBacktooth!=arg:
+ self.isBacktooth=arg
+ self.shapes()
+ def setRightSide(self,arg):
+ self.isRight=arg
+ def setUpper(self,arg):
+ self.isUpper=arg
+ def clear(self):
+ self.filledSurfaces=""
+ if self.isBacktooth:
+ self.fillcolour=colours.AMALGAM
+ else:
+ self.fillcolour=colours.COMP
+ def leaveEvent(self,event):
+ self.mouseOverSurface=None
+ self.update()
+ def mouseMoveEvent(self,event):
+ y=event.y()
+ x=event.x()
+ print "mouse moving on perio widget",x,y
+ def mousePressEvent(self, event):
+ y=event.y()
+ x=event.x()
+ self.emit(QtCore.SIGNAL("toothclicked")) ######not used
+ def resizeEvent(self,event):
+ self.shapes()
+ def shapes(self):
+ self.toothRect=QtCore.QRectF(0,0,self.width(),self.height())
+ irw=self.toothRect.width()*0.25 #inner rectangle width
+ if self.isBacktooth:
+ irh=self.toothRect.height()*0.25 #backtooth inner rectangle height
+ else:
+ irh=self.toothRect.height()*0.40 #fronttooth inner rectangle height
+ self.innerRect=self.toothRect.adjusted(irw,irh,-irw,-irh)
+
+ self.mesial=QtGui.QPolygon([0,0,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y(),
+ self.toothRect.bottomLeft().x(),self.toothRect.bottomLeft().y()])
+
+ self.occlusal=QtGui.QPolygon([self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y()])
+
+ self.distal=QtGui.QPolygon([self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.toothRect.topRight().x(),self.toothRect.topRight().y(),
+ self.toothRect.bottomRight().x(),self.toothRect.bottomRight().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y()])
+
+ self.buccal=QtGui.QPolygon([0,0,
+ self.toothRect.topRight().x(),self.toothRect.topRight().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y()])
+
+ self.palatal=QtGui.QPolygon([self.toothRect.bottomLeft().x(),self.toothRect.bottomLeft().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y(),
+ self.toothRect.bottomRight().x(),self.toothRect.bottomRight().y()])
+
+ self.mouseOverSurface=None #initiate a value
+
+ def paintEvent(self,event=None):
+ '''override the paint event so that we can draw our grid'''
+ if self.isBacktooth:
+ if self.isUpper:
+ if self.isRight:
+ surfs="DBPMO"
+ else:
+ surfs="MBPDO"
+ else:
+ if self.isRight:
+ surfs="DLBMO"
+ else:
+ surfs="MLBDO"
+ else:
+ if self.isUpper:
+ if self.isRight:
+ surfs="DBPMI"
+ else:
+ surfs="MBPDI"
+ else:
+ if self.isRight:
+ surfs="DLBMI"
+ else:
+ surfs="MLBDI"
+
+ painter = QtGui.QPainter(self)
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ painter.setPen(QtGui.QColor("gray"))
+ painter.setBrush(colours.IVORY)
+ painter.drawRect(self.toothRect)
+ painter.drawRect(self.innerRect)
+ painter.drawLine(self.toothRect.topLeft(),self.innerRect.topLeft())
+ painter.drawLine(self.toothRect.topRight(),self.innerRect.topRight())
+ painter.drawLine(self.toothRect.bottomLeft(),self.innerRect.bottomLeft())
+ painter.drawLine(self.toothRect.bottomRight(),self.innerRect.bottomRight())
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ rect=self.toothRect.adjusted(0,0,-self.innerRect.right(),0)
+ painter.drawText(QtCore.QRectF(rect),surfs[0],option)
+ rect=self.toothRect.adjusted(0,0,0,-self.innerRect.bottom())
+ painter.drawText(QtCore.QRectF(rect),surfs[1],option)
+ rect=self.toothRect.adjusted(0,self.innerRect.bottom(),0,0)
+ painter.drawText(QtCore.QRectF(rect),surfs[2],option)
+ rect=self.toothRect.adjusted(self.innerRect.right(),0,0,0)
+ painter.drawText(QtCore.QRectF(rect),surfs[3],option)
+ painter.drawText(QtCore.QRectF(self.innerRect),surfs[4],option)
+
+class chartLineEdit(QtGui.QLineEdit):
+ '''override the keypress event for up and down arrow keys.
+ '''
+ def __init__(self, parent=None):
+ super(chartLineEdit,self).__init__(parent)
+ def keyPressEvent(self, event):
+ '''overrudes QWidget's keypressEvent'''
+ if event.key() == QtCore.Qt.Key_Up:
+ self.emit(QtCore.SIGNAL("ArrowKeyPressed"),("up"))
+ elif event.key() == QtCore.Qt.Key_Return:
+ self.emit(QtCore.SIGNAL("ArrowKeyPressed"),("down"))
+ elif event.key() == QtCore.Qt.Key_Down:
+ self.emit(QtCore.SIGNAL("ArrowKeyPressed"),("down"))
+ else:
+ QtGui.QLineEdit.keyPressEvent(self,event)
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = tpWidget(Form)
+ ui.setExistingProps("MOD ")
+ #Form.setEnabled(False)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/resources_rc.py b/src/openmolar/qt4gui/customwidgets/resources_rc.py
new file mode 100644
index 0000000..bdad8da
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/resources_rc.py
@@ -0,0 +1,21330 @@
+# -*- coding: utf-8 -*-
+
+# Resource object code
+#
+# Created: Tue Dec 22 11:06:41 2009
+# by: The Resource Compiler for PyQt (Qt v4.5.2)
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore
+
+qt_resource_data = "\
+\x00\x00\x08\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xd9\x04\xdc\xb2\xda\x02\
+\x00\x00\x07\xf2\x49\x44\x41\x54\x78\x9c\xed\x96\x59\x6c\x5c\xf5\
+\x15\xc6\x7f\x77\x9b\x7d\xc6\x9e\x19\x8f\x77\x63\x3b\xd8\x89\x03\
+\x0e\x76\x62\x16\x07\x93\x50\x27\x69\x58\x4c\x13\x92\xb2\xb4\x80\
+\xa0\x85\x06\x28\x82\xa7\x8a\xd2\xf6\x09\x5a\xf1\x80\x50\xa5\xaa\
+\xaa\x8a\x2a\x95\x56\x55\xa9\x4a\x29\x14\xaa\xa0\x82\x9a\x42\x48\
+\x84\x20\x89\xb2\xb0\x14\x68\x12\x8c\xed\xd8\x8e\x3d\x9b\x67\xbd\
+\x73\xf7\x7b\xfb\x60\x40\xc1\x75\x4a\x1e\xe0\xa9\xfd\x5e\xff\xff\
+\xef\x7c\xdf\xf9\x9f\x73\xef\x39\xf0\xbf\x0e\xe1\x8b\x0c\xd6\x99\
+\xa4\x6f\xb0\x4b\xdc\x2e\x29\x42\x38\xe0\x53\x9c\xd9\x9c\x75\x70\
+\xdf\xfb\xce\xab\x80\xf9\xa5\x1b\x58\x91\x64\xd3\x77\xaf\x0e\xfe\
+\xa5\x21\x26\xd4\xf9\x7d\x1e\x75\x75\x31\xea\x12\x29\xa6\xb3\xea\
+\xe1\xc7\x9f\x9a\x78\xe0\xe8\x14\x07\x96\xe3\x49\x5f\x90\xbe\x7c\
+\xfb\x95\xfe\xdf\x05\x24\xaf\x37\x5f\x71\x31\x1d\x09\x55\xb3\xb0\
+\x5c\x3f\x6d\x1d\x2b\x5a\x47\xd7\xd5\xef\xdc\x7f\x78\x7e\x77\x49\
+\x23\xf7\xa5\x18\xb8\x71\x58\xfc\xc1\x0d\xeb\xbd\x6f\x25\x5a\xfb\
+\x28\xa8\x21\x16\x72\x39\x3c\x41\xc6\xb6\x2d\x2c\x57\x24\xd9\xd8\
+\x11\xf4\x8b\xa5\xd4\xeb\xef\xa9\xcf\x2e\xe5\x8a\x67\x89\x29\x3c\
+\xf4\x80\xff\xce\xbd\x7b\xe4\x17\x27\x27\x38\xf4\xea\xab\xec\x7e\
+\xe8\x21\xee\x04\xe4\xe5\xee\xb6\xc6\xa5\xb1\x74\xde\x61\xdd\xe8\
+\x6d\xdc\xfb\xf0\xaf\xe9\x5a\x3d\x42\x3a\x5b\x23\xb7\xa0\x93\xcd\
+\x14\x98\x4b\x97\x39\xbf\xbd\x61\x13\xd0\xbc\x94\xbc\x6c\xc0\xa7\
+\x7e\xd2\xf8\x8b\x5b\xef\x0e\xde\x87\xa2\x42\xa0\x46\x67\x57\x8d\
+\xd1\x51\xae\x1b\x1b\x63\xe7\xc6\x8d\xdc\x0c\xa8\x67\xde\xcf\x97\
+\x1d\xc3\xf0\x62\xd4\x27\x3a\x88\xa5\x1a\xf8\xce\x83\x8f\xf1\xd7\
+\x3f\xfc\x8a\xfd\x2f\xfd\x89\x6a\x75\x1e\x4f\x8a\x10\x09\xc9\x0d\
+\xad\x51\xba\x4f\x57\x98\x3f\x53\xec\x3f\x4a\xf0\xd5\x21\xff\xd6\
+\xc7\xef\x4d\xfd\xdc\xc9\xcb\x88\xaa\x0f\x34\x09\x7d\xa1\x07\x41\
+\xc8\xd1\xd5\xe7\xae\x0c\x84\x30\x5e\xf9\x07\xfb\xce\xa0\x78\x8a\
+\xe7\xad\xdd\x34\x32\x38\x3c\x34\x72\x35\xd4\xca\x88\x92\xc4\x05\
+\x17\x8f\xd0\xb3\x6a\x2d\xa6\x23\x51\x2b\x66\xc8\xa4\xe7\xac\xfd\
+\xc7\x8d\x27\x0d\x9b\xd9\xff\x5a\x82\xab\x06\xfd\x37\xe9\x25\x83\
+\x6a\xc9\x40\xcf\x6b\x18\xc5\xcb\x90\x53\x2f\x61\x96\x7f\x8a\x97\
+\x0b\x72\xe7\x37\xa5\x7b\x62\x31\x12\x67\x72\xde\x9a\x61\xb7\x14\
+\x3d\x5f\xc7\x33\x40\x2f\x80\x9a\x83\x72\x9a\xde\x0b\x56\x73\xc7\
+\xf7\x1f\xe1\x92\x4b\x2e\xf5\x9e\x7b\xbd\xf4\x64\x59\xe3\x9d\xa5\
+\x7a\x4b\x0d\x88\x2d\x71\xe7\xc2\x7c\xb6\x4c\x31\x53\xa5\x54\x0c\
+\x20\x34\xdc\x8a\x2c\xeb\x04\x9a\x76\x61\x17\x6f\xa3\x31\xec\x6f\
+\xdd\xbc\x41\xda\x7c\x26\xc9\x81\xd7\x4f\xe5\xbd\xbd\x58\x45\xa8\
+\xe5\x40\x5b\x00\xad\x00\xc5\xd3\x90\x7d\x97\xe9\x02\x47\xde\x4b\
+\xf3\x30\xa0\x7f\x9e\x81\x44\x4b\x93\xd9\x1e\x5b\xb5\x9d\x68\xd3\
+\x0d\x04\x9b\x6f\xc2\xe7\x8f\x43\x6d\x0e\xc1\xce\x23\x06\xae\x82\
+\x5c\x9c\xb1\xcb\xa3\x5b\x96\xf0\x8c\xd3\x99\xc2\x5b\xf8\x02\xa0\
+\x57\x40\xcb\x83\x9a\x85\xd2\x24\x98\x45\x4e\xce\x54\x0f\x01\xe9\
+\xa5\xe2\xb0\xa4\x09\xe3\x0a\xcd\x09\x9f\xdc\x18\xae\xbf\x08\x31\
+\x52\xb7\x98\x5b\x2d\x03\x81\x38\x48\x11\x44\xc7\xa1\x36\x2d\xd1\
+\x1d\x14\xb6\xfd\xe8\x7a\xf9\xbc\x48\x44\x0e\x88\xb2\x6f\x72\xcf\
+\x51\xf5\xb9\x17\xf6\xbc\xf9\xca\xae\x1d\xeb\x77\xf5\x75\x37\x36\
+\xa0\x16\xc0\x51\x41\xf1\x93\x9b\xab\x1a\xbb\xf7\xbe\xfd\xda\x72\
+\xe2\xb0\xa4\x09\x07\x3a\xb8\x62\xfb\x80\x70\x8b\x23\x74\x12\x4b\
+\x34\x82\x5e\x02\xcf\x05\x41\x02\xd7\xc6\xce\x1c\x60\xcf\xcb\xfb\
+\x38\x71\xc2\x88\x9c\xdf\xa2\xf4\xb4\xc6\xc5\xae\x95\x5d\x0d\x83\
+\x3b\x36\xaf\xba\xc5\x2f\x96\x22\xbf\x7c\xfa\xc0\xf3\xdb\x46\x56\
+\x6e\x94\x45\x41\x74\x1c\x17\x57\x82\x47\x9f\x78\xe1\x99\x3f\xbf\
+\xf2\xcf\xc7\x16\xb3\x59\xfe\x05\x94\x8b\xdb\x19\xec\x4a\xb1\x6e\
+\x5b\x3f\xdf\x9b\x9d\xb0\x90\xea\xa7\x68\x5b\x75\x39\xd8\x79\xf0\
+\xaa\x60\x9b\xa0\xe5\x48\x9f\xfa\x80\xa0\xa8\x12\x8b\xd6\x31\x9d\
+\xd6\x88\x84\x05\x2a\x7a\x81\xaa\x15\x65\xdb\xe8\xc0\xce\x78\x32\
+\xdf\x50\x0a\x76\xeb\x15\x47\x8f\x58\x9e\x48\x7b\x63\x2b\x4d\xbd\
+\x19\x11\x0e\x06\x38\xcb\x3c\x90\x00\xa1\xb7\x81\x2d\x3b\x06\x78\
+\xa4\x3e\x48\x9b\x24\x22\xe9\xd5\x05\x52\xed\xfd\xf8\x42\x31\x30\
+\x35\x10\x5c\x0c\xdd\xe4\xe8\xe1\xbf\xa1\xa9\x05\xae\xb8\xfa\x6e\
+\xa2\xa9\x3e\xc6\x4f\xbc\x8f\xa6\x69\x78\x1e\xb8\x52\x88\xc6\x86\
+\x78\x67\x64\xf0\x7e\x5f\x47\xfb\x30\x61\x3b\x89\x7b\xde\x7a\x3a\
+\x56\x5d\xda\x7f\xed\xd8\x0d\x77\x5c\xd8\x3f\x34\x12\x0c\xc5\xe2\
+\xf9\x4a\xb5\xaa\x55\x8a\xf9\x33\x0d\x78\x53\x05\xb2\xbd\x29\x46\
+\x5b\x62\x34\x87\xfc\x28\x7a\x55\xa3\xb2\x30\x4e\xa2\xb5\x1f\xcf\
+\x93\x30\x9d\x02\x9a\xfa\x06\x47\x8f\x1d\xa3\xa2\xc7\x59\xbf\x61\
+\x1b\xdd\x83\x1b\x68\x6c\xe9\x65\x62\xfc\x43\x32\xf3\x33\x78\x48\
+\x78\x8e\x49\xc6\x5b\x41\x38\xa7\x13\x3d\x76\x80\xe3\xe1\x06\x34\
+\xdd\x24\x99\x88\x47\x07\x2e\x5a\xb3\xfa\xda\x6b\xc7\xae\xdb\x79\
+\xfd\xd7\x77\xb5\x77\xae\x5e\x7f\xf0\xcd\x83\xaf\xd9\xb6\x56\xf9\
+\xa4\x07\x2a\x6f\x4e\xf2\xf7\x44\x88\xbe\x95\x49\x56\xd8\x9e\x22\
+\x45\x92\x1d\xb4\xac\xba\x90\x9a\x5e\xc1\x97\xec\xa0\x98\x0d\x79\
+\xbf\xff\xe3\x89\xea\xca\x35\x7d\xfe\x81\xc1\x41\xd0\xca\x24\x3b\
+\x7a\xe8\x1f\xda\x42\xa0\xbe\x1d\xbd\xa6\xf3\xd1\xf8\x38\x91\xde\
+\xed\xb4\x84\xe3\xc4\x2c\x95\x4c\xaa\x1d\x51\x92\xb0\x6d\x1b\x4d\
+\x33\xd0\x34\x8d\x58\x2c\x24\x0f\x0c\x0e\xf4\xce\x67\x4b\x4d\xef\
+\xbe\x7d\xe0\xf9\x4f\xbf\x82\x3a\x7f\xa7\x6f\xa2\x30\x94\x7d\x23\
+\x7f\x89\xda\xd8\xd6\xe3\x4b\x17\x4d\x86\x83\x69\x82\xe1\x08\x84\
+\x5c\x32\xe9\x01\x61\x62\xf2\xc1\x90\x12\x3d\xb5\xf8\x6e\xd5\x0a\
+\xb8\xb3\x84\x22\x4d\x8c\x7c\xed\x16\x8e\xbf\xd1\xca\x91\xf9\x0e\
+\xd6\xb6\xf7\xe3\xcf\x4e\xa1\x54\x2b\x28\x8e\x83\xe3\xf3\x81\xb7\
+\xd8\x7f\x9e\xe7\x51\x2e\xd7\x98\x39\x3d\x4d\x5b\x47\xef\x56\x20\
+\x25\x03\x0c\xb7\xdc\x7e\xff\x96\x35\xbb\x1e\xf5\xc7\x03\x31\x82\
+\x1e\x15\xdb\xe1\x54\x66\x81\xd9\xe9\x39\xda\xce\x73\xc0\x70\x38\
+\xf9\x41\x13\x21\x5f\x8f\x64\xeb\xc1\x45\x03\xb6\x09\x5e\x19\x5c\
+\x17\x6a\xb3\x88\x88\xac\xdd\x72\x17\x89\x44\x3d\xf2\xf8\x3b\xc8\
+\x85\x05\x7c\x96\x89\x19\x8d\xe2\x5a\x1e\xa2\xe0\x62\xd8\x2e\xd3\
+\x33\x59\x66\x66\x73\xc4\xa2\xf5\xc9\x44\x53\x7b\xb7\x58\x47\xe3\
+\x8a\x8b\x5b\xbf\xf1\x98\x5a\x33\x63\x99\x4c\x96\x5c\x26\xcb\x42\
+\xb6\x40\xbe\x64\xf3\xaf\x71\x1f\x48\x36\x6e\x55\xe4\xe4\x49\x3f\
+\xe1\x88\x8f\x23\x87\x0d\x0a\x59\x0b\x94\x30\x38\x0e\x18\x65\x2c\
+\x55\xe5\x54\x25\x42\x73\x53\x13\x8a\x22\xe3\x2f\x2c\x40\x36\x43\
+\xc0\xd0\x90\x7d\x3e\x44\x51\x44\x37\x6c\xd2\xe9\x12\xd5\xaa\x8e\
+\xdf\xa7\x10\x0e\x47\xa4\x54\xb2\xb1\x57\x5c\xdd\x7c\xcd\x6d\x41\
+\x39\x1e\x52\x35\x8d\x6a\xc5\xa4\xb0\xa0\x93\xcf\xd6\x28\x57\x2d\
+\x8e\x4f\xca\x20\x7b\xa4\x67\x82\xcc\xcd\x05\x08\x06\x3d\x4e\x9c\
+\x8c\xf1\xec\x9e\x19\xec\x5a\x16\xb3\x56\xc3\x34\x54\x3e\x3c\x5d\
+\x66\xa6\x9a\x24\x1e\x0b\xe3\x93\x65\x7c\x99\x34\x4c\x4d\xe1\xaf\
+\x54\x10\x24\x05\xd3\x70\xd0\x34\x0b\x51\x14\x09\x06\xfc\x28\x8a\
+\x4c\x20\x10\xa4\xa3\xbd\x67\x40\xae\x39\x45\xa5\x60\xcc\xd9\xb6\
+\xe0\xca\x06\x26\xa6\x63\x61\x19\x36\x65\xd3\xe6\xbd\x8f\x54\x8c\
+\xaa\xc6\x91\xc3\x11\x27\x97\x99\xd3\xcc\x90\x28\xfb\x57\x76\x06\
+\xf4\xc1\x21\x8e\xa5\x0c\x6c\x4d\x23\x16\x0e\x93\x8d\x07\x11\x32\
+\x61\x0c\xdb\xf5\x62\xb8\x44\xb3\xf3\x02\x6a\x95\xba\x4a\x05\xa7\
+\xbe\x1e\xd9\x76\x91\x24\x05\x49\x56\x10\x44\x19\x0f\x89\x42\xb1\
+\x84\xaa\x56\x4c\x01\x68\x0a\x88\xb1\x4d\xb2\x18\xaa\x07\xd7\xfd\
+\xe4\x77\xe5\xe2\x20\x4a\xd0\x96\xb0\xed\x05\x23\x15\x8d\x8f\xdc\
+\x35\x36\xbc\xf5\x9a\x81\x91\x0d\x6b\x52\xed\x09\x11\x04\x90\x04\
+\xf0\xbc\xc5\x81\x62\xda\x90\xcb\x16\xec\x53\x1f\xbc\x35\xf3\xfe\
+\xe3\x3f\xdc\x27\xd7\xd2\x15\x33\xd9\xaa\x18\x6d\x6d\xb8\x86\x85\
+\xe5\x58\x58\x96\x83\x63\xd9\x58\x96\xe3\x4d\xcf\x4e\x8c\x9f\x9e\
+\x99\x7c\xfa\x9c\x96\xd2\xd0\x7d\x2f\x3e\xfd\xc0\x3d\x63\x37\x77\
+\x05\x00\xeb\x63\xd1\x8f\x99\x9e\x07\xb6\x0b\xae\x07\x82\x00\xb6\
+\x04\xbf\x7d\x66\xcf\xcb\xef\xfe\x78\xeb\x4e\xc0\x65\xf9\xc5\xd7\
+\x03\x0c\xce\x72\xf8\x59\xb4\xac\x1b\x1a\xf8\xd9\x91\xc3\x5f\x69\
+\x01\x49\x84\x80\x0c\x7e\x19\x64\x61\x91\xfd\x89\x01\xcd\x82\xe3\
+\x0b\x30\x5e\x82\xe1\x0e\xf8\xcd\xb7\xaf\xdc\xe4\x8c\xef\xdf\xfb\
+\x79\xe1\xcf\xb6\x13\x7e\x0a\xb9\x6f\xe3\xa8\x1c\x80\xa9\x2a\x64\
+\x0d\x28\xda\x50\x76\xa0\xea\x81\xea\x41\xd9\x85\xb4\x09\x27\x2a\
+\x30\xa7\x83\xe1\x42\xd1\x81\xe6\x91\x9b\x76\x7c\x6e\x72\x2c\xbf\
+\x13\x7e\x06\x81\x48\x5d\xab\xed\x41\x55\x84\x80\x02\x5e\x00\x64\
+\x3f\xf8\x95\xc5\x32\x18\x0e\xf8\x64\xa8\x13\xc1\x55\x40\x56\x41\
+\x75\x40\x09\x47\xba\xcf\xc5\xc0\xb9\xf4\x40\x5f\xa8\xe7\xb2\x1b\
+\x03\xe1\x50\x9d\x22\x7a\x9e\x2c\x82\x2c\x2e\x96\x03\x00\x77\x71\
+\xce\x9a\x36\x58\x2e\x80\x20\x38\xa6\x51\x2b\x9c\x3c\xf4\x22\xb6\
+\x7d\xe8\x8b\x30\x00\xe0\x03\x14\x16\x9b\xe7\x5c\x62\x3a\x2c\xb3\
+\x7e\xfd\x1f\xcb\xe1\xdf\xc2\x69\x85\x8b\x9d\x4f\x81\xc1\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x63\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x2a\x49\x44\x41\x54\x58\x85\x95\x97\xef\x8f\x54\x57\
+\x19\xc7\x3f\xcf\x39\xe7\xde\xf9\xb1\xbb\x03\x14\xd9\x42\x4b\x5f\
+\x28\x2a\xa8\xa8\x10\xdb\x2a\x66\x01\x7f\xb4\x34\xf1\x8d\xfa\x07\
+\x2c\x26\x46\x5f\x34\xfd\x43\x4c\x7c\xe5\x9b\x9a\xf8\x4a\x7d\x61\
+\x34\x26\x26\x26\x16\x9b\xd0\x86\x16\x62\x63\xb4\x80\xac\x28\x58\
+\xad\x3f\xda\x42\x80\xc2\x2e\xec\xcc\xee\xce\xdc\xb9\xf7\x3c\x8f\
+\x2f\xee\x9d\xd9\x1d\x76\x60\x87\x93\xdc\x17\x33\xf7\x9c\xf3\xfd\
+\x3c\x3f\xcf\x3d\x72\xf4\x87\x57\x99\x7c\x18\x53\xc1\xf3\xf7\xdb\
+\x5d\x96\xa3\xc7\xa5\x0e\xe7\x04\x10\xc4\x0b\xa2\x81\x74\xd9\x93\
+\x27\x8a\x6e\x07\xb1\xad\x76\x13\x42\xe2\x65\x72\x79\x83\x5a\x23\
+\xd4\x77\xee\xdd\x51\xcf\x2c\x80\x38\x2c\xeb\x53\xac\x66\x24\x62\
+\xec\xdb\x99\x38\xb7\xcd\xeb\xb5\x6e\xbe\xd2\x36\x2d\xb6\x02\xc0\
+\x09\xe1\xfc\x7b\x9d\x09\xd5\x41\xd5\x78\xca\xf7\xbe\xb0\xf8\xf9\
+\x4f\xe3\x9c\x88\x65\xb9\xa9\x09\x16\xc1\xd7\x84\x66\xcb\xa5\x4b\
+\x57\xde\xcb\x8b\xd9\x27\xcf\x6b\x9f\x02\xe0\xa1\xe6\x89\x10\x82\
+\x9b\xd0\x03\x06\x51\x21\x79\xac\xf5\x49\xe7\xdd\x94\x45\x83\x68\
+\x11\x53\xd4\x14\x87\x17\x15\x99\xca\xb2\xa2\x5d\xa8\x5d\x12\x93\
+\x72\xd1\x03\xc5\x2b\x00\x91\x49\x43\x60\x88\x80\xd6\xd3\x83\xe6\
+\x98\xa1\x50\x30\x2b\x88\x40\x04\x11\x24\x08\xdb\xb5\x56\xfb\x17\
+\x10\xb6\xde\x4f\x10\x71\x04\x37\xb1\x3c\x88\x19\xae\x5f\x3c\x5d\
+\x20\xc1\x21\x51\x40\x41\x11\x31\x10\xe7\x82\x97\x9d\x9a\x47\x05\
+\xea\x93\x00\xe0\xfd\x24\xa4\x23\xc3\x69\x1a\x0e\x7e\x73\x5f\xa3\
+\xf9\xdb\x2b\xed\x25\xa7\x98\x99\xa1\x6a\x38\x87\xf3\x5e\x66\x65\
+\xb5\xdb\x03\x9a\x5b\xeb\x0b\x84\x84\xc0\xd8\x10\xd8\xd8\xf0\x99\
+\x59\x6a\xf8\xc7\xd6\x22\x58\xe4\x09\xd4\x20\x1a\x28\x88\x83\x24\
+\x38\x0a\x97\xec\x12\x27\xad\x07\xc6\xdf\x6c\xe8\x4d\xc4\x11\xa8\
+\xca\x70\x88\x61\x1b\xf4\x6d\xd3\x26\x46\x30\xe2\x00\xba\xca\x33\
+\x33\x2b\x73\x0a\x70\xdd\x6e\x73\xf8\xe3\xfe\xe5\x66\xe5\x96\xaa\
+\xd4\x3f\xb6\x07\xd7\x6c\x12\xec\xda\xd2\x50\x57\x30\x16\x57\x0a\
+\x76\x7d\x6a\x37\x44\xc5\x90\xfb\x21\x6c\xe4\xa7\x03\x4c\x47\x34\
+\xc4\x28\xc6\xb6\xa0\xc1\x42\x55\x6a\x8f\xcf\x62\x79\x81\x66\x05\
+\x0e\x2f\xe0\xab\x4e\x16\x1c\x2e\x78\xb2\xf7\xef\x20\xde\x95\xd1\
+\xd9\xaa\x48\x74\x8b\xf7\x03\xeb\x00\x53\x25\xdd\xf1\x11\x4c\x15\
+\x8b\x11\xcb\x7a\x94\x2a\x1b\x1f\x27\x88\x77\x74\x3e\xb8\x8b\x38\
+\x41\x44\x1e\x0a\xa1\xc6\xf8\x34\x1a\x11\x37\x2c\x1a\xb5\xbd\x3b\
+\x30\xd5\xd2\x1b\x66\x58\x9e\xb3\xb9\x0a\x07\x2c\x4e\xe8\xdc\x68\
+\x97\x10\x0f\x22\x98\xc4\x7a\x0c\x53\x23\xdd\xdd\x02\xad\x72\xa0\
+\x02\xc0\x6c\x0c\x00\x54\x04\x20\x5e\xe8\xdc\x59\xdd\xc2\x13\x0f\
+\xa1\x30\xc3\xcc\x48\x77\x4c\x61\x6a\xd5\x54\x1b\x79\xff\x90\x3e\
+\x54\x9d\x72\x02\x2b\xf7\xba\x25\x00\xa2\x9b\xa6\x8c\xd7\x37\x62\
+\xf9\x2e\x99\x69\xac\x5b\x3d\xa6\x34\xdd\xe8\xaa\x32\xa9\x4d\x07\
+\x93\xcb\x7a\x14\x60\x79\xb9\x87\x16\x5a\x44\x1d\xbb\x4f\xe9\x1c\
+\x01\x3c\x05\xca\xaa\x79\x08\x33\x35\x0c\xc1\x04\xac\xca\x2f\xee\
+\xf3\xe4\xb0\x13\x96\xe2\x46\x8c\x4a\x91\x1b\x11\x03\x5f\x3e\xa2\
+\x46\x61\xb0\x67\xc6\xcf\xa6\xce\x46\x8d\xb6\xf2\x8c\xf0\x0e\x82\
+\x18\x45\x2f\xf4\x68\x3b\xb1\xba\xa0\xde\x01\xae\xac\xa8\xc4\xa1\
+\x01\xcc\x83\x89\x78\xc4\x22\x40\x18\x64\xb0\x99\x11\xa3\xed\xfd\
+\xd6\xd3\x3b\x3f\x78\xf5\xdd\xb5\x42\xd3\xb4\xe7\x84\x88\x77\xa8\
+\x77\x16\x0b\xed\xce\xcd\x74\xf7\x5c\x6f\x7a\x62\x7f\xdd\x05\x83\
+\x4a\xed\x9a\xb2\x72\xcd\xb8\xb9\xb2\x7f\xdf\x93\xff\x59\x78\x67\
+\xda\x3b\x27\xde\x95\x80\xde\x61\x6a\x2c\x2d\x3e\x4e\xff\xa9\x8f\
+\x9e\x6d\xed\xb7\x17\x09\x76\x15\x35\x42\xd6\x57\x40\x30\x33\xf2\
+\x42\xef\x6d\x6b\x04\x5e\xfc\xc1\x5c\xb8\xa1\x4c\xa7\x6b\xe0\xaa\
+\x10\x14\x91\xed\xc5\x1a\xec\xea\xe5\xf8\x5e\x1f\x29\xdb\x54\x09\
+\xe1\xa1\xbd\xa2\xbc\xe5\x7b\x4c\x1d\xf7\x2c\xa6\x87\x9d\x38\x87\
+\x78\x0f\x21\x20\x75\x8f\xac\x79\x76\x5f\x77\xcc\xdc\x7a\xfb\x99\
+\xe5\xe6\xe7\xa4\xef\x05\x0c\x02\x83\x3a\x16\x08\x4e\x56\x7e\x7e\
+\xfa\xda\xb6\x43\x9d\xb8\xfc\xe5\x97\x0e\xf3\x8b\xff\x42\xad\x5f\
+\x35\xbc\x08\xb6\x9a\xa3\xbd\x3e\x74\xfb\x84\x41\x2a\x48\xd9\xf7\
+\x82\x94\x09\x1b\x63\x44\xfa\x82\x04\x43\x0c\x54\x84\x44\x85\xfa\
+\x76\xa1\x76\xee\xf7\x6b\x4b\xdf\x38\xf1\xd5\xb5\xac\xb8\x5a\x33\
+\x8f\x01\x8e\x3c\x56\xbd\x5c\xf0\x5e\xa0\xee\xdb\x0b\x6f\xdf\x98\
+\xf9\xd3\x8f\xce\xf3\x9d\x7d\x50\xb8\x32\xf7\x83\x1a\x89\x29\x09\
+\x46\x22\xe5\xe1\xb3\xb1\x2a\x07\xa1\x10\xb3\xf2\xa0\x51\x50\x33\
+\x6a\x4e\x48\x15\x9a\xbf\x7e\xb5\x7d\xfd\x6b\xcf\x1f\x59\x5c\xc9\
+\xff\x2c\x5a\xa5\xb1\x81\xb3\x5e\x1f\x8a\x58\xba\x54\x04\x1f\x1c\
+\xb5\x46\xba\xf2\x97\xcb\x8b\xd3\x6f\xbd\x7c\x81\x93\xfb\x21\x4f\
+\xcb\x2c\x1e\x69\x9a\x9b\x0b\x61\x3d\x99\x01\x15\x48\xd3\x40\xe2\
+\x85\x99\xdf\xbd\xd6\xbe\xfd\xc2\x73\xc7\x62\xd6\xff\xab\x33\xc3\
+\x6d\x28\x23\xd7\xfa\xde\x73\x58\x1e\xab\xd2\x03\x57\x41\xa4\x8d\
+\x74\xf5\xd2\x95\xbb\xad\x73\x2f\x9f\x67\xfe\x13\x90\x25\xac\x9f\
+\x82\x23\xf5\xb7\xf9\x3f\x35\xa1\x91\x7a\x9a\x5e\x68\xbd\xf2\x7a\
+\xfb\xce\x89\xaf\x1c\xd3\xac\xbf\x30\xf4\xce\x86\xe1\x2c\xcb\xb1\
+\x7e\x8e\x45\x1d\x9e\x58\x4e\x04\x9f\x08\x69\x23\xe9\x2c\xbc\xd3\
+\x6e\x9d\xfb\xf1\x45\xe6\x3f\x0e\xbd\x90\x10\x45\x1e\xf8\xa5\x67\
+\x40\x34\xa1\xd9\xf0\x4c\xa5\x9e\xe6\xa9\x37\xda\x77\x9e\x3f\x7e\
+\x2c\xef\xe6\x0b\x32\x68\xbf\xf7\x0d\x97\xe4\xca\xec\xf7\x5f\xc0\
+\xf2\xb8\x3e\x41\xa8\xc2\x51\x42\x5c\xfa\x77\xbb\x75\xf6\x27\x17\
+\x39\x79\x40\xc8\x5c\x20\x22\x9b\xf6\x32\xa0\x50\x63\xba\x9e\x30\
+\x53\xf3\xd4\x4e\x9d\x69\x7f\xf8\xf5\xb9\xb9\xfe\x5a\xbe\x20\x6c\
+\xb6\x7c\x08\x50\x17\xa8\xa9\xa2\x59\x8e\x16\x3a\x42\x39\x84\xa8\
+\x27\x9d\xbf\xbd\xbf\xda\x3a\xfb\xb3\x8b\xcc\x1f\xa8\xd1\xf3\x15\
+\x04\x0c\x7b\x69\xa1\xc2\x74\xb3\x14\x4f\x4e\xbd\xd9\xbe\x7d\x7c\
+\xee\x58\xbe\x96\x5f\x16\xc6\x5b\x3e\x04\xc8\xb4\xa0\x97\x67\x3c\
+\xf1\xd2\x09\x28\xe2\x86\xbe\xbd\x01\xc2\x0b\x49\x2d\x74\xae\xdc\
+\xe8\xb5\xce\xfe\xf2\x02\xf3\x9f\x69\x90\x89\x27\x1a\x98\xb9\x4a\
+\xdc\x33\x5d\x73\x84\xd3\x67\x3b\x1f\x1e\x3d\x32\xd7\xeb\xae\x5b\
+\xfe\xb0\xd3\xda\x61\xe5\x77\x9d\x15\x5a\x26\xe2\x38\xda\x01\x44\
+\xea\x3b\xff\xb8\x1d\x5b\x6f\xfe\x66\x81\xf9\x83\x4d\x32\xf1\xf4\
+\x81\x46\xcd\xd3\x4c\x02\xe9\x6b\xe7\xda\xb7\x8e\x7c\xe9\x68\xaf\
+\x5b\x5c\x76\x5b\x58\xbe\x0e\x00\x23\xe7\xf3\xb8\x21\x03\x4f\xb8\
+\x12\xe2\xdd\x7b\xd6\x7a\xe3\x95\xab\x9c\x3c\x34\x43\x5a\x4b\x48\
+\x93\x40\xfd\xcc\x1f\xda\x37\x9f\xfd\xe2\x5c\xde\x2d\x16\x06\xe2\
+\x93\xdc\x38\x26\xbd\x16\x94\x20\xae\x82\x48\x5c\xe7\x7f\x3d\xb7\
+\xed\xf5\xd3\xff\xe4\xdb\x07\xa6\x68\x9c\xbf\x70\xf7\xe6\xb3\xcf\
+\x1c\xcf\xb3\xf5\x98\x4f\x7a\xdd\x79\x24\x00\xa8\xbe\x7c\xcb\x3b\
+\x5d\xfb\x7a\x3f\xdd\x7d\xe6\x57\x7f\xfc\xe9\xed\xcf\x1e\x3a\x5c\
+\x64\xf1\x92\x18\x5b\xc6\xfc\xfe\xf1\xa8\x17\x93\x12\xa2\xea\x86\
+\x38\xb9\xe5\xbd\x7c\xd7\x94\x0d\xdd\xed\x51\xe4\xe1\xff\x2d\xe5\
+\x20\x0a\x4f\xa2\x38\x1c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x02\x75\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x02\x3c\x49\x44\x41\x54\x58\x85\xed\x97\xc1\x6a\x14\x41\
+\x10\x86\xbf\xbf\xba\x27\x89\x1b\x62\x14\xf1\x20\x78\xf0\x09\x72\
+\x10\x3c\x7a\x17\x9f\xc0\x07\xf0\xe4\x23\x89\x20\xf8\x00\x82\x17\
+\x7d\x02\x4f\x2a\x88\xaf\x10\x50\x24\x26\x2c\x9b\xdd\xec\xc6\xe9\
+\xee\xf2\xb0\xb3\xbb\x33\xc9\x6e\x4e\x49\xf6\x60\x7e\x68\x7a\xea\
+\xef\xea\xe9\x7f\xaa\xa6\xa6\x7b\xe4\xee\xac\x13\xf1\xdd\xfb\x0f\
+\xaf\xbc\xda\x7e\xec\xee\xee\x9a\xd1\x0e\x05\xe6\x76\x59\x4c\x70\
+\x2d\x04\xcf\xb4\x4b\x74\x20\x6f\x11\xd6\x1e\x5f\xf0\x92\x54\xe5\
+\xf1\xd7\xd8\xdb\xbd\xf7\xe2\xc9\xde\xde\xd3\xc9\x69\x4d\xca\x85\
+\x54\x0a\xb9\x64\xb2\x43\x49\x89\xec\x4e\xce\x4e\x2a\x85\x32\x6f\
+\x4e\x76\xc7\xf3\x54\x99\x82\x61\xd2\xb4\x99\x30\x33\x62\xd3\x9b\
+\xc4\xc3\xfb\xbb\x1c\x1e\x8f\xb8\xbb\xdd\xa3\x3f\x9c\x70\xbb\xb7\
+\xc1\xc1\x60\xc4\xd1\xc1\xef\x47\x11\xa8\x87\xfd\x43\xfa\xc7\x23\
+\xdc\x1d\x1c\xdc\x9d\x22\xe6\x76\x69\x7a\x70\x54\x1c\x9b\x3d\x75\
+\x99\x86\x40\x45\xf3\xe7\x93\x09\x47\x24\x81\x21\x10\xec\x8f\x07\
+\x38\x30\xee\x1f\xe1\x0e\xe3\x81\xe8\xdd\xda\x02\xa8\xa3\x17\xe7\
+\x4e\x6f\x83\xed\xca\x90\x84\x9a\x78\x49\xb4\xae\x05\xd2\x74\x81\
+\x16\x27\x75\x42\x3a\x0f\xb3\xe4\x8d\xad\x59\x42\x11\x9a\xa7\x42\
+\x66\xa4\xba\xe6\xe7\x9f\x23\x22\x38\x3b\x3b\x3b\x84\x10\x3b\x69\
+\xea\xa6\x75\x41\xea\x8c\xc3\x6a\xbf\xb3\xe8\xde\x63\x32\x19\x03\
+\x10\xdd\x61\x6b\x73\x13\x97\x08\x1f\x5f\x9e\x9b\x76\x15\xc8\xcf\
+\xdf\x10\x63\x84\x02\x11\x9a\x5c\x37\xf1\xa9\xf7\x1e\x74\x9c\xab\
+\x1f\xbf\x2e\x9d\x9b\xaf\x49\x23\xa0\x8d\x2d\x1b\x50\xc6\xf5\xdc\
+\xf6\x2b\xe0\xda\xb0\xb3\x02\xae\x1b\xe7\x22\x90\x86\x89\xce\x07\
+\xe3\x0a\xb8\x8b\x05\x9c\x8e\x3b\x76\x85\x5d\x3a\x77\xa1\x80\x6a\
+\xff\x7c\x56\x2e\x9b\xbb\x50\xc0\x75\x55\xc1\x4a\x01\x37\x55\xf0\
+\x7f\x56\x81\xb7\x94\x5d\x67\x15\x28\x68\xbd\x55\xe0\xd9\x1b\x01\
+\xad\x73\xe1\x5a\xaa\x60\x9d\x07\xd3\x9b\x2a\x58\xdb\x5e\x10\x63\
+\x5c\x54\x41\x9d\x12\x9b\x21\x90\x9e\xbd\x5e\xea\xbc\x0c\x92\x96\
+\xbe\x3b\xab\xf8\x8e\x8f\x3b\x7f\x27\x09\xb9\x88\x55\x8c\x55\xc1\
+\xe8\x0f\x4f\xc8\xee\x94\xe4\x14\x0a\xb9\x38\xa5\x34\xbd\x3b\xa5\
+\x38\x5e\x9c\xcc\xb4\x9f\x71\xb3\xd3\xb3\x49\x84\x10\x48\x39\x63\
+\x26\xe4\x8e\xc9\x88\x21\x62\x26\x36\x42\x85\x42\xc6\xcc\x08\x82\
+\x68\x86\x45\x6d\xc4\xd1\xe0\xe0\xed\xa7\xcf\x5f\xbe\x2d\xce\xfe\
+\xcb\xe1\xed\xc1\x15\x7e\x21\x04\x72\xce\x2b\xc7\xf0\xa9\xf0\x69\
+\xa4\x20\xa4\x93\xef\x5a\xf7\xbf\xe1\xda\x77\xc3\x1b\x01\xff\x00\
+\x0f\x6a\xd5\x28\x97\x3c\x6c\x36\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\x05\x4c\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x0a\x78\x6d\x6c\x6e\x73\
+\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\
+\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\
+\x2f\x31\x2e\x31\x2f\x22\x0a\x78\x6d\x6c\x6e\x73\x3a\x63\x63\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x65\x62\x2e\x72\x65\x73\x6f\
+\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x63\x63\x2f\x22\x0a\x78\x6d\
+\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\
+\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\
+\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\
+\x2d\x6e\x73\x23\x22\x0a\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x78\x6d\x6c\
+\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\
+\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\
+\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
+\x72\x76\x65\x22\x0a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x0a\x69\x64\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\x77\
+\x69\x64\x74\x68\x3d\x22\x34\x30\x30\x70\x74\x22\x20\x68\x65\x69\
+\x67\x68\x74\x3d\x22\x34\x30\x30\x70\x74\x22\x0a\x76\x69\x65\x77\
+\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x37\x35\x20\x37\x35\x22\x3e\
+\x3c\x6d\x65\x74\x61\x64\x61\x74\x61\x0a\x69\x64\x3d\x22\x6d\x65\
+\x74\x61\x64\x61\x74\x61\x31\x22\x3e\x3c\x72\x64\x66\x3a\x52\x44\
+\x46\x3e\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x72\x64\x66\x3a\x61\
+\x62\x6f\x75\x74\x3d\x22\x22\x3e\x3c\x64\x63\x3a\x66\x6f\x72\x6d\
+\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\x6c\
+\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x3c\x64\x63\x3a\
+\x74\x79\x70\x65\x0a\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\x72\x63\
+\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\x2f\x53\
+\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\x2f\x3e\x3c\x2f\x63\
+\x63\x3a\x57\x6f\x72\x6b\x3e\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\
+\x3e\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\x3e\x3c\x67\x0a\x69\
+\x64\x3d\x22\x67\x31\x22\x3e\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x0a\
+\x69\x64\x3d\x22\x70\x6f\x6c\x79\x67\x6f\x6e\x31\x22\x0a\x70\x6f\
+\x69\x6e\x74\x73\x3d\x22\x33\x39\x2e\x33\x38\x39\x2c\x31\x33\x2e\
+\x37\x36\x39\x20\x32\x32\x2e\x32\x33\x35\x2c\x32\x38\x2e\x36\x30\
+\x36\x20\x36\x2c\x32\x38\x2e\x36\x30\x36\x20\x36\x2c\x34\x37\x2e\
+\x36\x39\x39\x20\x32\x31\x2e\x39\x38\x39\x2c\x34\x37\x2e\x36\x39\
+\x39\x20\x33\x39\x2e\x33\x38\x39\x2c\x36\x32\x2e\x37\x35\x20\x33\
+\x39\x2e\x33\x38\x39\x2c\x31\x33\x2e\x37\x36\x39\x22\x0a\x73\x74\
+\x79\x6c\x65\x3d\x22\x73\x74\x72\x6f\x6b\x65\x3a\x23\x31\x31\x31\
+\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\
+\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x66\x69\x6c\x6c\x3a\x23\x31\
+\x31\x31\x31\x31\x31\x3b\x22\x0a\x2f\x3e\x3c\x70\x61\x74\x68\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x31\x22\x0a\x64\x3d\x22\x4d\x20\
+\x34\x38\x2e\x31\x32\x38\x2c\x34\x39\x2e\x30\x33\x20\x43\x20\x35\
+\x30\x2e\x30\x35\x37\x2c\x34\x35\x2e\x39\x33\x34\x20\x35\x31\x2e\
+\x31\x39\x2c\x34\x32\x2e\x32\x39\x31\x20\x35\x31\x2e\x31\x39\x2c\
+\x33\x38\x2e\x33\x37\x37\x20\x43\x20\x35\x31\x2e\x31\x39\x2c\x33\
+\x34\x2e\x33\x39\x39\x20\x35\x30\x2e\x30\x32\x36\x2c\x33\x30\x2e\
+\x37\x30\x33\x20\x34\x38\x2e\x30\x34\x33\x2c\x32\x37\x2e\x35\x37\
+\x37\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x6e\
+\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x31\x31\x31\x31\
+\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\
+\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\x3c\x70\x61\x74\x68\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x22\x0a\x64\x3d\x22\x4d\x20\
+\x35\x35\x2e\x30\x38\x32\x2c\x32\x30\x2e\x35\x33\x37\x20\x43\x20\
+\x35\x38\x2e\x37\x37\x37\x2c\x32\x35\x2e\x35\x32\x33\x20\x36\x30\
+\x2e\x39\x36\x36\x2c\x33\x31\x2e\x36\x39\x34\x20\x36\x30\x2e\x39\
+\x36\x36\x2c\x33\x38\x2e\x33\x37\x37\x20\x43\x20\x36\x30\x2e\x39\
+\x36\x36\x2c\x34\x34\x2e\x39\x39\x38\x20\x35\x38\x2e\x38\x31\x35\
+\x2c\x35\x31\x2e\x31\x31\x35\x20\x35\x35\x2e\x31\x37\x38\x2c\x35\
+\x36\x2e\x30\x37\x36\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\
+\x31\x31\x31\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x31\x22\x0a\x64\
+\x3d\x22\x4d\x20\x36\x31\x2e\x37\x31\x2c\x36\x32\x2e\x36\x31\x31\
+\x20\x43\x20\x36\x36\x2e\x39\x37\x37\x2c\x35\x35\x2e\x39\x34\x35\
+\x20\x37\x30\x2e\x31\x32\x38\x2c\x34\x37\x2e\x35\x33\x31\x20\x37\
+\x30\x2e\x31\x32\x38\x2c\x33\x38\x2e\x33\x37\x38\x20\x43\x20\x37\
+\x30\x2e\x31\x32\x38\x2c\x32\x39\x2e\x31\x36\x31\x20\x36\x36\x2e\
+\x39\x33\x36\x2c\x32\x30\x2e\x36\x39\x36\x20\x36\x31\x2e\x36\x30\
+\x39\x2c\x31\x34\x2e\x30\x31\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\
+\x3a\x23\x31\x31\x31\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\
+\x77\x69\x64\x74\x68\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x13\x8a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x06\xb8\x00\x00\x06\xb8\x01\
+\x57\xbd\xea\x84\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x10\
+\x01\x01\x3b\xf5\xae\xa4\x4a\x00\x00\x13\x0a\x49\x44\x41\x54\x78\
+\xda\xed\x9b\x69\x70\x53\xe7\xb9\xc7\x7f\x67\x95\x2c\xc9\x8b\x64\
+\x30\x18\xdb\x6c\x86\x18\x82\x31\x4b\x09\x2d\x84\x5b\x96\x02\x89\
+\x09\x2d\x21\xa4\x93\x90\xad\x6d\x72\x9b\xe9\xf4\xce\x64\x3a\xe9\
+\x24\xed\x87\x92\xb6\x24\xd3\x99\x36\xce\x87\xd0\xa4\xe4\x76\xb2\
+\xb5\x4c\x71\x2f\x2d\x90\x0c\xd3\x0b\xa4\x69\x9b\x94\x52\x62\x30\
+\x36\x59\xc0\x98\xb8\x60\x56\x1b\xbc\xc8\xda\xa5\xa3\xb3\xdc\x0f\
+\xb2\x0e\x92\x31\xb6\xe5\x90\xdc\xde\xe9\x3d\x33\x1a\x4b\xb2\x74\
+\xde\xf7\xf9\xbf\xcf\xfa\x7f\x1e\x09\x96\x65\x59\xfc\x0b\x5f\x22\
+\xff\xe2\xd7\xff\x03\xf0\x59\x2d\x94\xab\xa5\x7d\x56\x96\x29\x7f\
+\x5a\xc2\x0a\x82\x60\x3f\x8f\xc5\x62\xc4\x62\x31\xfa\xfa\xfa\x68\
+\x6b\x6b\xa3\xa3\xa3\x83\xbe\xbe\x3e\x82\xc1\x20\xa2\x28\x22\xcb\
+\x32\xf9\xf9\xf9\x94\x95\x95\x51\x56\x56\xc6\xa4\x49\x93\xc8\xcb\
+\xcb\xc3\xe9\x74\xa2\x28\x4a\x16\x20\xe9\xfb\xfe\x53\x02\x90\x16\
+\x5c\x10\x04\x12\x89\x04\x7b\xf7\xee\xa5\xb1\xb1\x11\xbf\xdf\x4f\
+\x20\x10\x40\xd3\x34\x5b\x80\xc1\x04\xb1\x2c\x0b\xcb\xb2\x90\x24\
+\x09\x8f\xc7\x43\x41\x41\x01\x55\x55\x55\xac\x5c\xb9\x92\xa9\x53\
+\xa7\x5e\x03\xee\x8d\xb8\x84\x1b\x11\x05\xd2\x9b\xd2\x75\x9d\xf6\
+\xf6\x76\xde\x78\xe3\x0d\x0e\x1d\x3a\x64\x9f\xee\xc0\x0d\x5f\x6f\
+\xc9\xc1\x3e\x67\x9a\x26\x9a\xa6\x51\x5e\x5e\xce\xc6\x8d\x1b\xb9\
+\xf9\xe6\x9b\x29\x2a\x2a\xba\x61\x60\x08\x37\x2a\x0c\x36\x34\x34\
+\xf0\xab\x5f\xfd\x8a\x40\x20\x80\x61\x18\xb6\x26\x5c\x15\xc6\x04\
+\xd3\xc4\xb2\x4c\x04\x51\x42\x72\x78\x10\x55\x37\x60\x61\x19\x3a\
+\x46\x22\x88\xa9\xc5\x41\x14\x11\x04\x11\x04\x71\xc0\xf7\x53\xda\
+\xe1\x76\xbb\x59\xb1\x62\x05\xf7\xdf\x7f\xff\x3f\x87\x06\x9c\x3d\
+\x7b\x96\xfa\xfa\x7a\x1a\x1b\x1b\x51\x55\x35\xbd\x5b\x2c\x2c\x30\
+\x0d\x24\x97\x17\x25\x7f\x2c\x4a\x51\x39\xaa\xb7\x02\x35\x7f\x2c\
+\xa2\xb3\xc0\xfe\x5c\x6a\x17\x29\x7f\x6c\x19\x09\xf4\x50\x37\x5a\
+\xe0\x22\x9a\xff\x02\xc9\x60\x27\x7a\xb8\x1b\xcb\x34\xb2\x00\xd1\
+\x34\x8d\xfc\xfc\x7c\x1e\x7d\xf4\x51\x16\x2d\x5a\xf4\x89\xb4\x61\
+\x54\x00\xa4\x17\xdb\xb3\x67\x0f\x3b\x76\xec\x40\xd7\x75\x5b\x85\
+\x2d\xcb\x02\xcb\x44\xf5\x4d\xa4\x70\xc6\x97\x90\x3d\x63\xaf\x39\
+\xcd\xe1\x1c\xa7\xfd\x9e\x69\x60\xe9\x1a\xa1\x33\x87\x88\x9c\x69\
+\xc8\xba\x4f\x7a\xdb\x53\xa6\x4c\xe1\xa9\xa7\x9e\xc2\xe9\x74\x7e\
+\x76\x1a\x90\x48\x24\xd8\xba\x75\x2b\x07\x0e\x1c\xc0\xe1\x70\x64\
+\x6c\xc8\xc2\x35\xa1\x1a\xf7\xa4\x05\xa8\x45\x15\x58\xa6\x9e\x52\
+\xf9\xeb\x38\x3c\x41\x10\x40\x10\xd3\xd2\x5e\x03\x82\xfd\x5a\x94\
+\xb1\x92\x31\x22\xed\x47\x88\x9c\x6f\xc2\x88\x87\x10\x44\x09\x00\
+\xd3\x34\x29\x2e\x2e\xe6\xf1\xc7\x1f\xa7\xb2\xb2\x32\x67\x4d\x18\
+\x31\x00\xe9\x1b\x87\xc3\x61\x7e\xf8\xc3\x1f\x72\xe9\xd2\xa5\xd4\
+\x42\x96\x85\x05\x48\xaa\x9b\xe2\x85\xf7\x21\xbb\x7d\xc3\x6e\xc2\
+\xea\xd7\x7a\x33\x11\x21\xda\xd9\x82\x00\xe4\x95\xce\xec\xf7\x09\
+\xd7\xd1\x86\xfe\xf7\x2c\xd3\xc0\xff\xe1\x1e\xe2\x9d\xad\x59\x8e\
+\x33\x99\x4c\xf2\xf8\xe3\x8f\xb3\x68\xd1\xa2\x9c\x40\xc8\x49\x03\
+\x22\x91\x08\x3f\xf8\xc1\x0f\xb8\x78\xf1\x22\xb2\x9c\x8a\xa0\xa6\
+\x91\x24\xbf\xf2\x56\xf2\xa7\x2f\x45\x10\xc4\xeb\x9e\x78\x96\x20\
+\x92\x4c\xbc\xa3\x85\xcb\x47\x7e\x47\xf9\x84\xf1\xe8\xba\x4e\x47\
+\xc7\x25\x0a\x2a\x66\x53\x54\xf3\xe5\x14\x10\xa6\x7e\xfd\x4d\x8b\
+\x32\xf1\xcb\xa7\xf0\x7f\xf4\xdf\x98\x5a\xc4\x5e\x4f\x14\x45\x1e\
+\x7b\xec\x31\x16\x2e\x5c\x38\x62\x10\x46\x0c\x40\x34\x1a\xe5\xc9\
+\x27\x9f\xa4\xa7\xa7\xc7\xb6\x75\x01\xf0\xce\xbb\x0b\xe7\xf8\x99\
+\x58\x46\x72\xc4\xa8\xeb\x91\x5e\x2e\xbf\xfb\x22\xab\x6e\x5b\xc3\
+\x23\x8f\x3c\x42\x22\x91\xe0\x83\x0f\x3e\xe0\xe7\x3f\xdf\x82\x81\
+\x4c\x5e\xe9\x2c\xdc\x13\x3f\x87\xe4\x2a\xba\xba\xd6\x20\xf7\x36\
+\xb5\x08\x5d\x7f\x7f\x1d\x23\x11\xb6\xb5\x21\x1a\x8d\xf2\xcc\x33\
+\xcf\x50\x5d\x5d\x3d\x22\x10\x86\x05\x20\x7d\x93\xba\xba\x3a\x1a\
+\x1b\x1b\x11\x45\xd1\x56\xe3\xe2\x05\x1b\x71\xf8\x26\x0e\x7b\xea\
+\x03\xef\xd7\xdb\xf4\x3b\xc4\x48\x27\xcf\x3f\xff\x3c\x86\x61\xa0\
+\xeb\x3a\x92\x24\xd1\xdd\xdd\xcd\xb3\xcf\x3e\x4b\x28\x18\x00\x20\
+\xaf\x74\x16\x45\x35\x6b\x53\x61\x71\xd0\x7d\x89\x58\x86\x46\x6f\
+\xf3\x4e\x12\x3d\x67\x6d\xb0\xf2\xf2\xf2\xd8\xbc\x79\x33\x65\x65\
+\x65\xc3\xee\x6b\xd8\x5a\x40\x10\x04\x76\xee\xdc\xc9\xc1\x83\x07\
+\x11\x45\xd1\x8e\xc7\xc5\x0b\xee\xc1\x51\x3c\x19\xc8\xcd\xe9\x18\
+\xd1\x5e\xc2\x97\x4f\x73\xd7\x5d\x77\xe1\x74\x3a\x31\x0c\x03\xd3\
+\x34\x89\xc5\x62\xf8\x7c\x3e\x9e\x78\xe2\x09\x64\x45\x45\x94\x64\
+\xe2\x97\x5b\xf0\xbf\xff\x66\x2a\x0c\x0e\x48\xa0\x52\x6b\x5a\x08\
+\x92\x82\x6f\xde\x86\x7e\xdf\x63\xda\x5a\xf0\xc2\x0b\x2f\x8c\xa8\
+\xae\x18\x16\x80\x96\x96\x16\x76\xed\xda\x45\x5e\x5e\x9e\xbd\xb0\
+\x77\xce\x3a\x1c\xc5\x93\xb1\x86\xb0\xd3\xeb\x18\x2f\xb1\xce\x56\
+\x5c\x0e\x99\xda\xda\x5a\xc2\xe1\xb0\x6d\x5e\xf1\x78\x9c\x68\x34\
+\x8a\xcf\xe7\xe3\x7b\xdf\xfb\x1e\xaa\xaa\x22\x08\x22\xf1\xcb\xad\
+\xf8\xdf\x7f\x13\x41\x71\xf6\xfb\x98\x6b\x85\x11\x24\x85\x31\x8b\
+\xbe\x8e\xe8\x70\x63\x59\x16\xa2\x28\xd2\xd6\xd6\xc6\x2f\x7f\xf9\
+\xcb\xd1\x57\x83\xe9\x34\x74\xe7\xce\x9d\x98\xa6\xd9\x1f\xa9\x4c\
+\x9c\xe3\xaa\xc8\x1b\x3f\x13\x4c\x33\xe7\xc4\x43\x10\x25\x42\xed\
+\x87\x59\xbe\xe2\x4b\x58\x96\x85\x61\x18\x68\x9a\x86\x69\x9a\x48\
+\x92\x64\xd7\x10\x13\x26\x4c\xe0\x89\x27\x9e\xa0\xa2\xa2\x02\x55\
+\x75\x10\xed\x38\xc9\xe5\x77\x5f\x22\x72\xfe\x18\x7a\xa4\xc7\x06\
+\x21\x13\x0c\x51\x52\xf0\xcd\xbb\xdb\x0e\x8f\xaa\xaa\xf2\xce\x3b\
+\xef\xd0\xd2\xd2\x32\xe4\x3e\xe5\xa1\x54\xbf\xb9\xb9\x99\xe6\xe6\
+\x66\x54\x55\x4d\x21\xab\x38\xf1\xce\x5d\x0f\x96\x09\x39\x67\x5d\
+\x02\xc9\x40\x27\x56\x3c\xc4\x82\x05\x0b\x08\x87\xc3\x08\x82\x40\
+\x3c\x1e\x47\x92\x24\x44\x51\x44\x14\x45\x24\x49\xc2\xb2\x2c\xc6\
+\x8d\x1b\xc7\x77\xbf\xfb\x5d\x62\xb1\x18\x17\x2f\x5e\xe4\xfd\x63\
+\xc7\x68\x3c\xfa\x57\xfc\xc7\xa3\xa8\x9e\x62\xbc\x73\xef\x44\x2d\
+\x2c\xc5\x32\x92\x76\x28\x56\x8b\xca\xc8\x2b\xbd\x99\xe8\xc5\x0f\
+\x6c\xbf\xb1\x77\xef\x5e\xaa\xaa\xaa\xae\x49\xcd\x47\xe4\x04\xbf\
+\xf5\xad\x6f\xd1\xd7\xd7\x67\xdb\x7e\xf1\x2d\x1b\x71\xf8\x26\x8d\
+\x0e\x00\x51\x22\xd8\xf2\x36\x62\xcf\x09\x36\x3f\xfd\x0c\x92\x24\
+\xd9\xb6\x9f\x16\x3c\xf3\x6f\xa6\x03\x96\x65\x19\x45\x51\x10\x04\
+\x81\x8f\x3e\xfa\x88\x5d\xbb\x76\xf1\x8f\x8f\x5b\xc9\x1b\x3b\x15\
+\xcf\x94\xcf\xe3\x18\x3b\x2d\x43\x38\x81\xce\x3f\x3d\x87\xa9\x27\
+\x53\x11\x47\xd7\xd9\xb2\x65\x0b\xa5\xa5\xa5\xb9\x99\xc0\x3b\xef\
+\xbc\x63\x0b\x4f\x3f\xba\x6a\xe1\x84\x54\x51\x33\x9a\x0a\xcc\x34\
+\x89\x5f\x39\x85\xaf\x78\x0c\x05\x05\x05\x76\x16\x27\x08\x42\xd6\
+\xe9\x67\x3a\x5a\x51\x14\x51\x55\x15\x55\x55\x91\x24\x09\x5d\xd7\
+\x99\x31\x63\x06\x9b\x36\x6d\xa2\xb4\xac\x82\x84\xff\x3c\xbd\xcd\
+\xbb\x08\x9e\xd8\x8f\xd5\x9f\x49\x02\x14\x55\xdf\x01\xa6\x6e\x9f\
+\xfa\xb6\x6d\xdb\xae\xeb\x0c\xc5\xc1\xf7\x6a\xd2\xd0\xd0\x90\x91\
+\x77\x9b\xb8\xca\x6b\x10\x24\x65\xd4\xe5\xa7\x1e\xf5\x93\x8c\x47\
+\xa9\xa9\xa9\xb1\x05\x07\x90\x24\xc9\x7e\xa4\x85\x4f\x9b\xa0\x2c\
+\xcb\x88\x62\x2a\xff\x97\x24\x09\xa7\xd3\x69\xfb\x8e\xe5\xcb\x97\
+\xe3\x74\xe6\xb1\x6c\xd9\x32\x02\x67\x8e\xa0\x87\xd3\xf9\x89\x89\
+\xea\x9b\x8c\xec\x19\x93\xb2\x71\x59\xe6\xc8\x91\x23\xf4\xf6\xf6\
+\x0e\xba\xf7\x41\x01\x08\x85\x42\xb4\xb7\xb7\x67\x24\x3c\x02\xae\
+\xf2\xb9\xfd\xd1\x7f\x14\x7c\x01\x60\xc4\x03\x24\x13\x29\x00\x92\
+\xc9\xa4\x2d\x64\x5a\xf0\x81\x44\x49\x5a\x2b\xd2\x1a\x92\xf6\x17\
+\x69\xf0\xf6\xef\xdf\xcf\xb8\x71\xe3\xa8\xae\xae\xc6\xe3\x76\x91\
+\x0c\x74\xd8\xc5\x92\xa8\x38\x51\xbd\x13\x6d\x30\x25\x49\xe2\xe0\
+\xc1\x83\x23\x37\x81\xae\xae\x2e\xba\xba\xba\xfa\x77\x6f\xe0\x9a\
+\x38\x1f\x41\x90\x46\xcd\xd3\x09\x80\x11\xf1\x23\x58\x26\x15\x15\
+\x15\x18\x86\x91\x25\x64\x26\x00\x99\xc0\xa4\x85\x97\x24\x89\x78\
+\x3c\x4e\x32\x99\xc4\x34\x4d\x76\xec\xd8\x41\x6f\x6f\x2f\x0b\x17\
+\x2e\xa4\xbd\xbd\x9d\x70\x24\x8a\xea\x2d\x4b\xf9\xa6\x7e\xc8\xf3\
+\x4a\x6f\xb6\xcb\x6d\x41\x10\x38\x71\xe2\x84\x1d\xcd\x86\x05\xe0\
+\xe8\xd1\xa3\xf6\xe9\x5b\xa6\x81\xab\x62\x2e\x56\xbf\x4d\x8d\x86\
+\xd8\xb4\x2c\x93\xd0\xd9\x46\x66\xcc\x98\x91\xe5\xe0\xd2\xc2\x0d\
+\x96\x79\x66\xfa\x84\x70\x38\x4c\x2c\x16\x03\xe0\xc4\x89\x13\xec\
+\xdf\xbf\x9f\x39\x73\xe6\xe0\xf5\x7a\xf9\xc3\x1f\xfe\x80\xa7\x6c\
+\x16\x52\x9e\xf7\x2a\xbf\x00\x38\xc6\x4c\x01\xf1\x6a\x1a\xdd\xd9\
+\xd9\x49\x34\x1a\x1d\x19\x00\xc7\x8e\x1d\xb3\x37\x2a\x39\xf3\x91\
+\x5d\xde\x94\xf3\xcb\xf5\xe4\xfb\x01\xeb\x3d\x52\x8f\xd3\x8a\xf0\
+\xc0\x83\x0f\x92\x48\x24\xae\xa1\xbf\x06\x02\xab\x28\x0a\x92\x24\
+\x91\x4c\x26\x09\x87\xc3\x24\x93\x49\x54\x55\xe5\xd0\xa1\x43\xbc\
+\xf0\xc2\x0b\xcc\x9e\x3d\x9b\xa5\x4b\x97\xb2\x6b\xe7\x4e\x04\x49\
+\xa1\x68\xd6\xed\x08\xa2\x68\x3b\x67\xcb\xb2\x10\x44\x19\x87\x6f\
+\xb2\xad\x15\x7e\xbf\x1f\x4d\xd3\xae\xd1\x62\xf1\x7a\x2c\x4f\x1a\
+\x00\xd9\xe5\x03\x84\x51\x9f\x7e\xa8\xed\x6f\x24\xfc\x17\xb8\xe7\
+\xde\xfb\x28\x29\x29\x19\x99\xc3\xd4\x75\x22\x91\x08\x89\x44\xc2\
+\xd6\x94\x83\x07\x0f\xb2\x6d\xdb\x36\x2a\x2b\x2b\xb9\xf5\xd6\x5b\
+\xd9\xb6\x6d\x1b\x3d\x81\x30\x63\xff\xed\x51\x44\xd5\x7d\x4d\x9a\
+\x6c\x59\x06\x8e\xe2\x89\x36\x00\xa1\x50\xc8\xce\x3d\x86\x04\x20\
+\x91\x48\x10\x8d\x46\xaf\x3a\x23\x87\x27\xe7\xb0\x97\x2e\x54\xf4\
+\x70\x37\xdd\x27\xfe\xcc\xba\x75\xeb\xec\x12\x75\x24\x5a\x93\xf6\
+\x11\x82\x20\xa0\x28\x0a\xbf\xf9\xcd\x6f\x78\xf5\xd5\x57\x59\xb8\
+\x70\x21\x4b\x96\x2c\xa1\xbe\xbe\x9e\x40\x28\x42\xc9\xa2\xaf\x21\
+\xa9\xee\xc1\x8b\x31\xcb\x42\xce\x1f\x97\xb5\xa6\xed\xd7\x86\xca\
+\x04\x07\xa2\x24\x2a\xce\x34\x69\x97\x93\xea\x5b\x86\x46\xf7\x7b\
+\xbf\x66\x76\x75\x35\xab\x56\xad\x22\x99\x4c\x66\x95\xb6\xb2\x2c\
+\x63\x18\xc6\x75\x41\x11\x45\x91\x44\x22\xc1\x6b\xaf\xbd\x46\x63\
+\x63\x23\xcb\x96\x2d\x63\xfc\xf8\xf1\x6c\xdb\xf6\x6b\x24\x57\x31\
+\xe3\x97\x3d\x8c\xa8\xe6\xc1\xf5\x4a\x5e\xcb\x42\x72\x16\xd8\x91\
+\x4b\x10\x04\x7a\x7b\x7b\x87\xf7\x01\xba\x9e\xed\xec\xd2\xb9\x75\
+\xae\x57\xe0\xe4\x1f\xc1\xd2\xb9\xe7\xde\x7b\xaf\x09\x6f\x3d\x3d\
+\x3d\xd4\xd5\xd5\x71\xec\xd8\xb1\x41\xb5\x27\xfd\x99\x1f\xfd\xe8\
+\x47\x34\x35\x35\x71\xdf\x7d\xf7\x21\x49\x12\xbb\x76\xee\x44\xf5\
+\x4e\x64\xec\xa2\xaf\x21\x2a\x4e\x2c\xd3\x1c\x32\xf8\x8a\xb2\x6a\
+\x47\xee\x74\x9d\x91\x73\x63\x64\x34\xa1\x4f\x0f\xf7\xd0\x77\xe6\
+\x18\x77\xad\x5f\x47\x45\x45\x45\x96\xe3\xeb\xec\xec\xa4\xae\xae\
+\x8e\x48\x24\xc2\x84\x09\x13\x98\x33\x67\x4e\xd6\x5a\xb2\x2c\xd3\
+\xd8\xd8\xc8\xeb\xaf\xbf\x4e\x61\x61\x21\xeb\xd7\xaf\xa7\xb9\xb9\
+\x99\x0f\x3e\xfc\x00\xdf\xb4\xc5\x14\xcc\xba\x0d\x0c\x7d\x44\x5d\
+\x22\xcb\xd0\x6d\xe5\xb5\x2c\xeb\x2a\x6b\x3d\x14\x00\x45\x45\x45\
+\x59\x42\x5b\x7a\x3c\x83\xc5\x1b\x1e\x2c\x51\x71\xd0\x7b\x6c\x37\
+\x95\x53\x26\x51\x5b\x5b\x9b\xd5\x0d\x02\x78\xee\xb9\xe7\x88\xc5\
+\x62\xc8\xb2\xcc\xb4\x69\xd3\xb2\xbe\x2f\x49\x12\xef\xbd\xf7\x1e\
+\xaf\xbc\xf2\x0a\xb3\x67\xcf\x66\xd9\xb2\x65\xec\xde\xbd\x9b\xce\
+\x8e\x0e\x4a\xbf\xf0\x40\x2a\xb4\x19\xfa\x08\xe9\x2e\x01\x33\x19\
+\xcf\x7a\x27\x4d\xe0\x0e\x69\x02\xd9\x2c\x2f\x98\x5a\x6c\xc4\x09\
+\xa0\x20\x4a\x44\xce\x1e\xc5\x8c\x74\xb1\xee\xce\x3b\xb3\xca\xd6\
+\x64\x32\x49\x5d\x5d\x1d\xf1\x78\x1c\x87\xc3\x81\xcf\xe7\xbb\xe6\
+\xf4\x23\x91\x08\x7b\xf6\xec\x61\xc2\x84\x09\xac\x5e\xbd\x9a\x73\
+\xe7\xce\x71\xfe\xfc\x39\x4a\xfe\xed\xdf\x71\x94\x4c\xcb\xad\x3f\
+\x28\x88\x24\xc3\x5d\x76\x55\x68\x59\x16\x65\x65\x65\x23\xcb\x03\
+\x26\x4d\x9a\x64\x2f\xa6\x47\xfd\xa9\xee\xcd\x30\xa6\x60\x59\x16\
+\x96\x9e\x20\x7c\xfa\x10\x25\xe3\x27\x30\x73\xe6\xcc\x2c\xa7\xb8\
+\x6f\xdf\x3e\xda\xda\xda\x98\x3b\x77\x2e\x81\x40\x80\x6f\x7c\xe3\
+\x1b\x59\x8d\x4f\x51\x14\x39\x7c\xf8\x30\x1d\x1d\x1d\xd4\xd6\xd6\
+\x02\xb0\x7f\xdf\x3e\x0a\x2a\x6a\x90\x5c\x3e\x30\x8d\x9c\x68\x37\
+\x41\x10\xd0\x03\x1d\x76\x04\x53\x55\x95\xc2\xc2\xc2\x91\xe5\x01\
+\x55\x55\x55\x76\xda\x68\x44\xfd\x58\x86\x36\x3c\xb9\x28\x08\x24\
+\xfc\xe7\x08\xf5\x5c\x62\xe3\xc6\x8d\xb6\xc7\x97\x24\x89\xd6\xd6\
+\x56\xf6\xec\xd9\xc3\xca\x95\x2b\x39\x7e\xfc\x38\x5f\xfc\xe2\x17\
+\x99\x36\x6d\x9a\x1d\xee\x24\x49\xa2\xa3\xa3\x83\xfa\xfa\x7a\x96\
+\x2f\x5f\x8e\xd7\xeb\xe5\xf0\xe1\xc3\xe8\x86\x81\x7b\xe2\xe7\x06\
+\xe5\x04\x87\x4d\xc0\x44\x89\xf8\xe5\x56\x10\x52\x4e\xdc\xeb\xf5\
+\xe2\x70\x38\x86\xcf\x03\x00\xe6\xce\x9d\x9b\x55\xb1\xc5\x3a\x4e\
+\x80\x28\x65\xa5\x9a\x83\xd6\xfb\xa7\xfe\x4a\x4d\xcd\x6c\x66\xce\
+\x9c\x69\xf7\x07\x03\x81\x00\xbf\xf8\xc5\x2f\xb8\xe9\xa6\x9b\x68\
+\x6b\x6b\x43\x96\x65\xd6\xac\x59\x93\xe5\x1b\x34\x4d\x63\xcb\x96\
+\x2d\x76\x71\x13\x89\x44\x68\x39\x71\x02\x87\xaf\x02\xc7\x98\xa9\
+\xa3\x72\xc4\xc9\xd0\x15\x0c\xed\x6a\x3e\x53\x52\x52\x32\x68\xf7\
+\x48\x1c\x4c\x7d\xaa\xaa\xaa\x70\xbb\xdd\xb6\x60\x91\xb3\x47\x10\
+\x44\x79\x08\x57\x20\x90\xec\xeb\x40\xf3\x9f\xe7\xcb\x5f\xfe\x0a\
+\x9a\xa6\xd9\xf7\xfa\xfd\xef\x7f\x8f\x61\x18\x4c\x99\x32\x85\xf6\
+\xf6\x76\xd6\xae\x5d\x4b\x49\x49\x89\xad\x21\xa2\x28\xb2\x7b\xf7\
+\x6e\x7a\x7a\x7a\x58\xb9\x72\x25\x6e\xb7\x9b\xa6\xa6\x26\x7a\xfd\
+\x7e\xbc\x73\xef\x4a\x69\xdf\x28\xca\xaf\xd8\xa5\xe3\x76\xd7\xc9\
+\xb2\xac\x7e\x7a\x4d\x1d\x1e\x00\x41\x10\x70\xbb\xdd\x94\x97\x97\
+\xf7\xbf\x16\xd1\x23\x7e\x12\xdd\xa7\xaf\x6f\x06\xa2\x44\xb0\xed\
+\xaf\x8c\x2f\x2d\x63\xfc\xf8\xf1\x76\x38\x6b\x6d\x6d\xe5\xc0\x81\
+\x03\xdc\x71\xc7\x1d\x34\x34\x34\x50\x5d\x5d\xcd\xea\xd5\xab\xed\
+\x04\x48\x96\x65\x8e\x1e\x3d\xca\xbe\x7d\xfb\x58\xb3\x66\x0d\xa5\
+\xa5\xa5\x5c\xbc\x78\x91\x43\x87\x0e\xe1\x9d\xb5\x3a\x95\x84\x59\
+\x56\x4e\x99\x68\xaa\x80\x4b\x92\xe8\xb9\xba\x5f\xc3\x30\x58\xb2\
+\x64\xc9\xc8\xcb\x61\x87\xc3\xc1\xbc\x79\xf3\xae\xaa\x9e\x20\x12\
+\x39\xdf\x3c\x24\xd5\x9d\xe8\x3d\x47\xd5\x8c\x99\x78\x3c\x1e\x04\
+\x41\x20\x14\x0a\xb1\x75\xeb\x56\xe6\xcf\x9f\x4f\x53\x53\x13\x92\
+\x24\xf1\xe0\x83\x0f\x12\x8b\xc5\x6c\xa6\xa6\xa5\xa5\x85\xd7\x5e\
+\x7b\x8d\x79\xf3\xe6\x71\xd3\x4d\x37\x11\x0a\x85\xd8\xbf\x7f\x1f\
+\xae\xc2\xb1\xb8\xca\xe7\xa6\xd6\x17\x72\xcf\x42\xf5\x68\x1f\x9a\
+\xff\xa2\x4d\xee\x78\xbd\x5e\xaa\xaa\xaa\x72\xa3\xc4\x56\xad\x5a\
+\x65\x53\x53\x82\x20\x90\xb8\xd2\x86\x11\x0b\x0e\xfa\x59\x2d\xd0\
+\x41\x32\x11\x67\xf1\xe2\xc5\xf6\x77\x76\xec\xd8\x61\x33\xcb\x17\
+\x2e\x5c\x60\xdd\xba\x75\x76\x8e\x21\x08\x02\x5d\x5d\x5d\xbc\xfc\
+\xf2\xcb\xf8\x7c\x3e\x56\xac\x58\x81\x20\x08\xbc\xfd\xf6\x1f\x09\
+\x84\xa2\x14\xdf\xb2\x11\x41\x94\x47\xc7\x3e\x49\x32\xc1\x93\x7f\
+\x4a\x11\xa5\x96\x85\xa6\x69\x3c\xf2\xc8\x23\xb9\xd3\xe2\x85\x85\
+\x85\xac\x5b\xb7\xce\x66\x6f\xcc\x64\x8c\x60\xeb\x9f\x10\x24\xf5\
+\x1a\xa7\xa4\xf9\x2f\xe0\x76\x39\x99\x3e\x7d\x3a\x96\x65\xd1\xd9\
+\xd9\x49\x63\x63\x23\x8a\xa2\xd0\xda\xda\xca\xaa\x55\xab\x58\xb2\
+\x64\x89\x2d\x7c\x30\x18\xe4\x27\x3f\xf9\x09\x2e\x97\x8b\xbb\xef\
+\xbe\x1b\x45\x51\x78\xf3\xcd\x37\x39\x7b\xee\x22\x63\xbf\xf0\x00\
+\x52\x5e\xe1\xa8\xca\x6f\x04\x91\xe8\xf9\x66\x12\xdd\xff\xb0\x35\
+\xa7\xb2\xb2\x92\xf9\xf3\xe7\x8f\xae\x2f\xf0\xd5\xaf\x7e\x15\x9f\
+\xaf\xbf\xdb\x2b\x4a\x44\x2f\x7d\x44\xe4\x5c\xd3\x35\xf5\x41\xac\
+\xbb\x9d\x85\x0b\x3f\x8f\x69\xa6\x88\xc9\xad\x5b\xb7\x62\x59\x16\
+\x89\x44\x82\xc9\x93\x27\xb3\x61\xc3\x06\xbb\x18\xea\xeb\xeb\xe3\
+\xd9\x67\x9f\x45\x51\x14\xd6\xae\x5d\x8b\x24\x49\xec\xdd\xbb\x97\
+\x73\xe7\xce\x52\x34\xeb\x36\x94\x82\xf1\x39\x77\x9b\xec\x3e\x46\
+\x22\x4c\xe8\xd4\xbb\xb6\xf6\x08\x82\xc0\x6d\xb7\xdd\x66\x37\x72\
+\x73\xee\x0c\xc9\xb2\xcc\xfa\xf5\xeb\xaf\xf2\x75\x92\x4a\xf0\xd4\
+\x9f\xb3\x9a\x13\x00\x5a\xa8\x9b\xe9\xd3\xa7\x03\xa4\xea\xf4\x9e\
+\x1e\x44\x31\x45\x74\x3e\xf0\xc0\x03\xb6\xb7\x0f\x06\x83\x6c\xde\
+\xbc\x99\xae\xae\x2e\xee\xbd\xf7\x5e\x3c\x1e\x0f\xdb\xb7\x6f\xe7\
+\xd4\xa9\x53\x8c\x5d\xf4\x75\x5c\x65\x35\xfd\xa1\x76\x14\xe5\xb7\
+\x28\x13\x68\x79\xcb\x6e\x94\x9a\xa6\xc9\xd8\xb1\x63\x59\xb9\x72\
+\xe5\xe8\x3a\x43\x69\xa1\x6b\x6b\x6b\x6d\x1e\x4f\x10\x04\x4c\x2d\
+\x8a\xff\xd8\x1b\x76\x99\x69\x99\x06\xc9\x58\x80\x49\x93\x26\xf1\
+\xe1\x87\x1f\xd2\x74\xb4\x11\xc5\xe3\x23\xa1\x25\x78\xe8\xa1\x87\
+\xa8\xa8\xa8\x40\x92\x24\xda\xda\xda\xf8\xf1\x8f\x7f\x8c\xa6\x69\
+\xdc\x7e\xfb\xed\xc8\xb2\xcc\x6f\xeb\xeb\xf1\x07\x42\x8c\x59\x78\
+\xff\x55\xca\x7d\x34\x9c\xa3\x28\x11\x3c\xf9\x36\xd1\x8b\x1f\xd9\
+\xed\x33\x59\x96\xd9\xb4\x69\xd3\x27\xef\x0d\x02\x3c\xf3\xcc\x33\
+\xb8\x5c\x2e\x9b\xe8\x48\x86\xae\xd0\xfd\xb7\x97\xb1\x0c\x3d\x35\
+\xf0\x24\x29\x9c\x3b\x77\x8e\xe7\x9f\x7f\x1e\xa9\x60\x02\x7a\xc4\
+\xcf\xca\x2f\xad\x60\xc1\x82\x05\x18\x86\xc1\x81\x03\x07\xf8\xe9\
+\x4f\x7f\x4a\x3c\x1e\xa7\xa2\xa2\x82\xf2\xf2\x72\x5e\x7d\xe5\x15\
+\x7a\x83\x51\xc6\x2f\xfb\x0f\x54\x6f\x79\x4e\x1d\xe6\x6c\xbe\xd1\
+\x22\x7c\xa6\x81\xc8\xd9\x23\xa9\xf2\xb7\xff\xf0\xbe\xfd\xed\x6f\
+\x33\x66\xcc\x98\x61\x6b\x87\x11\xb7\xc7\x4f\x9e\x3c\xc9\xd3\x4f\
+\x3f\x9d\xb5\xb0\x52\x58\x4a\xf1\x82\x8d\xf4\x1c\xd9\x4e\xf4\xca\
+\x3f\xc8\x2f\x9f\x8d\xa8\xe6\x61\xf6\xb6\xb1\x69\xd3\x53\x58\x96\
+\x45\x7d\x7d\x3d\xef\x37\x1f\x45\x75\x15\xe2\x72\x2a\xd4\xd4\xd4\
+\xd0\xf0\xde\xdf\x11\x5d\x63\xf0\x7d\xee\x1e\x24\xa7\x67\xf4\xe3\
+\x6e\xa2\x4c\xb0\xe5\x2d\xc2\xed\x87\x6d\xda\x2e\x1e\x8f\x53\x5b\
+\x5b\xcb\x37\xbf\xf9\xcd\x1b\x33\x1f\x90\x79\xbd\xfb\xee\xbb\x6c\
+\xdd\xba\xd5\x76\x30\x69\xe7\x38\xe6\x0b\x0f\x21\x48\x0a\x52\x5e\
+\x11\x57\x0e\xfc\x27\xe5\x25\x45\xcc\xae\xae\x66\xf7\xee\xdd\x38\
+\x3c\x45\x78\x6b\xd6\xd2\x73\x78\x3b\x88\x32\xa6\x65\x91\x5f\x31\
+\x97\xa2\x9a\xaf\x60\x1a\x09\x84\xd1\xd8\xbb\x20\x60\xea\x1a\x81\
+\x13\xfb\x89\x75\x1c\xb7\x6b\x05\xd3\x34\x59\xbc\x78\x31\x8f\x3d\
+\xf6\xd8\x8d\x9f\x10\x49\xdf\xb0\xa9\xa9\x89\xba\xba\xba\x6b\x46\
+\x5e\xdc\x13\xe7\x53\x38\x63\x35\x3d\x47\x7f\x4b\xf4\xc2\x87\x88\
+\xee\x62\x0a\x2b\x17\x93\x57\x36\x1b\x51\x52\xe9\x39\xfa\x5f\x88\
+\xb2\x8a\xa7\xf2\x56\x94\xfc\x12\x7b\xc2\x24\xd7\x2c\x4f\x90\x14\
+\x12\x5d\x6d\xf4\x1d\xdf\x8b\x11\x0d\xa4\xd8\xe0\xfe\x19\xa1\xb4\
+\xf0\x03\xfb\x0c\x37\x4c\x03\x32\x41\x78\xf1\xc5\x17\x09\x87\xc3\
+\x36\xaf\x6f\x99\x06\xb2\xdb\x87\x77\xce\x9d\x48\x6e\x2f\x92\xc3\
+\x83\x65\x24\x6d\xda\x4a\x90\x94\xfe\xb4\x31\x99\xa2\x57\x72\x2c\
+\x6d\x41\xc0\x88\x87\x08\x9d\xfe\x1b\xd1\xb3\x4d\x08\x92\x9c\xe5\
+\x0b\x56\xad\x5a\xc5\xc3\x0f\x3f\x9c\xbb\x03\xcd\x75\x4c\x2e\xbd\
+\xa1\xde\xde\x5e\x7e\xf6\xb3\x9f\x71\xe6\xcc\x99\xab\x20\xf4\xff\
+\x4f\x72\xf9\xf0\x4c\x5d\x84\x7b\xe2\xbc\x14\x2d\x35\x0a\xef\x9e\
+\x76\xb8\x82\xac\x90\x0c\x5e\x21\xd8\xf2\x47\xb4\xbe\x0b\x98\x7a\
+\xc2\xb6\x77\xcb\xb2\xd0\x75\x9d\x27\x9f\x7c\x92\x5b\x6e\xb9\x65\
+\x54\x03\xd5\x9f\x78\x52\x74\xfb\xf6\xed\xbc\xf5\xd6\x5b\xc4\x62\
+\xb1\x2c\x20\x2c\x23\x89\xe4\x70\xe3\x2a\x9f\x83\x63\x4c\x25\xb2\
+\xab\x08\xd1\x99\x8f\x20\xa9\xfd\xb1\xde\x1a\x2c\xf6\x42\x7f\x42\
+\xa3\xc7\x02\x24\x83\x9d\x44\xcf\x37\xa1\xf5\x5d\xea\x6f\xcc\x5e\
+\xad\xee\x0c\xc3\xa0\xba\xba\x9a\xef\x7c\xe7\x3b\x14\x14\x14\x7c\
+\xb6\x93\xa2\xd9\xaa\x09\x81\x40\x80\x97\x5e\x7a\x89\x86\x86\x86\
+\x2c\xd2\x21\xeb\x44\x44\x19\x41\x10\x91\x5c\x45\xc8\x9e\xb1\xc8\
+\x6e\x2f\x82\xa4\x22\x8a\x12\xa6\x9e\xc0\x88\x87\xd1\xa3\xdd\x24\
+\x83\x5d\x60\xea\xa9\x21\xcb\x0c\xd6\x37\xb3\xb2\xf3\x78\x3c\x7c\
+\xff\xfb\xdf\x67\xda\xb4\x69\x43\x4e\x91\x7d\x26\x1a\x90\x79\x7d\
+\xfc\xf1\xc7\xec\xdd\xbb\x97\xe6\xe6\x66\x82\xc1\x60\xff\x9c\xcf\
+\xc0\x81\x47\x33\xa5\x01\x59\x5a\x20\xa4\x4e\xbf\xdf\xd6\x07\x4e\
+\x8b\xa6\xcb\xe7\x19\x33\x66\xb0\x74\xe9\x52\x3b\xbb\xfb\xa7\x9a\
+\x16\xb7\x27\x39\xfb\xed\xf2\x2f\x7f\xf9\x0b\xbb\x77\xef\xc6\xef\
+\xf7\x0f\xf9\x1b\x81\xe1\x12\x1d\x51\x14\x59\xbe\x7c\x39\x1b\x36\
+\x6c\xa0\xa8\xa8\x28\x4b\xbb\x6e\xc4\xef\x06\x84\x4f\xfb\x57\x63\
+\x97\x2f\x5f\xe6\xf4\xe9\xd3\x9c\x3f\x7f\x9e\xb3\x67\xcf\xd2\xdd\
+\xdd\x4d\x6f\x6f\x2f\xe1\x70\x18\xc3\x30\x30\x0c\x03\x45\x51\x70\
+\xbb\xdd\x78\x3c\x1e\xc6\x8d\x1b\x47\x69\x69\x29\x15\x15\x15\x4c\
+\x9d\x3a\x95\x29\x53\xa6\xdc\x70\xa1\x3f\x31\x00\x9f\xc6\x46\xfe\
+\xb7\x2e\x79\x34\xc2\xda\x63\xf1\xa3\xe8\x16\x8f\xb6\xc5\xfe\x69\
+\x7d\x5e\x1e\xce\x9e\xd3\x29\x66\xfa\x6f\x9a\xf1\x49\x3f\xcf\x7c\
+\x6f\xa0\xa0\x03\xdf\xcb\xfc\xdc\x60\xa0\x5c\x43\x59\xf7\x67\x79\
+\x03\x7d\xc8\x60\xe3\x34\xe9\xf4\x3c\x73\xa4\x26\xf3\x71\x3d\x70\
+\xe4\xeb\x76\x77\x33\x84\x4f\xdb\x6a\x32\x99\x24\x99\x4c\xa2\x69\
+\x9a\xfd\x5c\xd7\x75\xfb\xff\xa6\x69\x0e\x0a\xcc\xc0\xe7\x83\x81\
+\x91\x5e\xf7\x7a\x8f\xc1\x84\x4c\x4f\x91\xc8\xb2\x6c\x8f\xd2\xc9\
+\xb2\x8c\xaa\xaa\x28\x8a\x62\xbf\x4e\x8f\xdb\x0c\x06\xf4\x90\x26\
+\x90\x16\x28\x3d\xd1\x99\x48\x24\xec\x9f\xc0\xc5\xe3\x71\xe2\xf1\
+\x38\x9a\xa6\xa1\x69\x9a\x0d\x42\x26\x10\x03\xc1\xc8\x04\x22\xf3\
+\x31\x50\xf8\xcc\x53\x1d\x38\x47\x94\xf9\x3a\x2d\xbc\xa2\x28\xa8\
+\xaa\x8a\xc3\xe1\xc0\xe9\x74\x92\x97\x97\x67\x8f\xf6\xa6\xef\x9d\
+\x1e\xc0\x4c\x6b\xd5\x88\x00\xc8\x9c\xd5\x49\xb7\xb1\xd2\x43\x0b\
+\x4e\xa7\xd3\xd6\x80\x64\x32\x69\xc7\xea\x91\x08\x3e\x98\x16\x64\
+\x0a\x3e\x10\x80\x81\xaf\x07\xd3\x00\x49\x92\xec\x99\x42\x45\x51\
+\x70\x38\x1c\xb6\x06\x0c\x65\x02\x83\x46\x81\x81\x3f\x7c\x1c\xb8\
+\xf9\xe1\x4e\x74\x30\xdb\x1f\xea\xef\x40\xd3\x1b\x68\xb7\x83\xd9\
+\x7e\xe6\xf3\x4c\xf3\x18\xa8\x31\xc3\xf9\x80\x9c\xca\xe1\x4f\xfa\
+\x99\x5c\x23\xc1\x48\xfa\x91\xb9\xdc\x67\xd0\x88\x76\xa3\x33\xc1\
+\xff\x6b\xd7\xff\x00\xa7\x10\xb1\xf5\x2f\x56\xda\x68\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x1a\x97\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x0f\xb2\
+\x49\x44\x41\x54\x78\xda\xd4\x9a\x7b\x70\x1d\xd5\x7d\xc7\x3f\x67\
+\xcf\xbe\xee\x53\x0f\x5b\x32\x92\x2d\x90\x2c\x2c\x3f\xa8\x21\x90\
+\xc4\x78\x08\xa1\x81\x92\x36\xbc\x52\x30\xd3\xa6\x24\xcc\x34\x43\
+\xdb\x19\x66\xa8\x13\x08\x69\x5c\xda\x49\x3b\xed\x84\x49\x4a\x3b\
+\x19\x92\x01\xdc\x34\xcc\x74\x26\x24\xf9\x23\x05\x27\x71\x02\x26\
+\x34\x21\x0d\x58\x32\xc6\x0e\x26\x88\x18\xe1\x97\x6c\x43\x84\x64\
+\x59\x8f\xab\xab\xfb\xd8\xbb\xbb\xe7\xf4\x8f\xdd\xbb\xba\x92\xaf\
+\x1f\xe9\x4c\xa7\xd3\x1d\xed\xe8\x4a\xda\x3d\xe7\xf7\x3d\xbf\xdf\
+\xef\xfb\xfb\x9e\xdf\x91\xd0\x5a\x53\xbf\x6e\xf9\xd8\x4d\x08\x21\
+\x00\x68\xfc\xbd\xef\xfb\xcc\x15\x0a\xfc\xe4\xc5\x9f\x53\x98\x9b\
+\xa3\x38\x57\x58\x69\x59\xd6\xad\xe5\x72\xf9\x1b\x8e\xe3\x90\xcf\
+\xe7\xf9\xc4\x96\x2d\x64\xb2\x59\x4c\xd3\xa4\xd9\x15\x04\x01\xc5\
+\x62\x91\x1f\x3c\xfb\x2c\xc5\xb9\x39\x6a\xb5\x1a\x52\xca\xfb\xca\
+\xe5\xca\xb7\xd3\x99\x74\x21\xdf\xd2\xc2\x1d\x37\xdf\x4c\x2e\x9f\
+\xc7\xb2\xac\x33\xde\x17\x42\xa0\xb5\x46\x20\xf8\xf1\xf3\xcf\x25\
+\xbf\x6f\x3e\x5b\x93\x97\x0d\xc3\xc0\x34\x4d\x6c\xdb\xa6\x30\x33\
+\x73\xbc\x7f\xcd\x1a\xb3\x52\xa9\xfc\xde\x8f\x76\xee\xfc\xe3\x7c\
+\x3e\x8f\x34\xcd\x04\x7c\xd3\x31\x00\x53\x4a\x9e\xdf\xb5\x8b\xe2\
+\xdc\x1c\x9b\x36\x6d\xfa\x6e\x4f\x4f\xcf\x5d\xbe\xef\x3f\x2c\xa5\
+\x6c\x95\x52\x22\x0c\xe3\x9c\x63\x34\xbb\x8c\x0b\x02\x00\x98\xa6\
+\xc9\xde\x57\xf6\xb0\x6f\xef\x2b\xd7\xbe\xf4\x8b\xff\x32\x8f\x1e\
+\x3e\xcc\x15\x97\x6f\xfc\x23\xd7\x75\x2d\xd7\x75\x31\xcf\x07\x40\
+\x08\xa4\x69\xe2\x38\x0e\xa9\x54\x8a\xa3\x87\x0f\xdf\xf5\xfc\xae\
+\x5d\x5c\xb6\x61\x7d\xcb\xb1\x43\x87\x6e\x3d\x7a\xe8\x10\x96\x65\
+\xfd\x2f\x01\x30\x0c\x2c\xdb\x66\xcf\xe0\x20\x7b\x06\x07\xfb\x2f\
+\x5d\xb3\x96\x03\xaf\x1f\xf8\xb7\xb1\xb1\x09\x7e\x3d\x3c\xbc\xe1\
+\xdf\xbf\xf9\xcd\xf3\x03\x88\x3d\xb8\xe7\xe5\x97\x19\xda\xbd\xbb\
+\xeb\xe2\xbe\x3e\x26\x27\x27\xbf\x79\xf8\xc8\x51\x06\x87\x86\x36\
+\x7d\xee\xb3\x9f\xc5\xb6\x6d\x0c\xc3\xf8\x9f\x03\x10\x42\x2c\xdc\
+\x8d\x0f\xc5\x93\x3f\xf3\xbd\xef\xd1\xd9\xd9\xb9\xac\x7f\xcd\xa5\
+\xec\x19\x1c\xda\xf1\xf5\xaf\x7d\x15\xdb\x71\xae\x44\x08\xe4\x79\
+\xdc\x2f\x84\xc0\x94\x92\x57\xf6\xec\xc1\x75\xdd\xee\xb5\x6b\xd7\
+\x72\xec\xe8\xd1\x9d\xff\xf2\xc8\x23\xcc\xcf\xcd\xf7\xa5\xd3\x69\
+\x4c\x29\x9b\x8e\x21\xe2\xf7\x11\xb0\xd8\xb2\x25\x00\x64\x3c\x40\
+\x18\x04\x28\x15\x22\x54\x88\x50\x81\x2d\x54\xe0\x4a\xb4\xed\x98\
+\x06\x42\x85\x72\x60\xcd\x1a\x0c\xd0\x83\xbb\x77\xa3\x03\x7f\x85\
+\x29\x40\xe8\xd0\x16\x2a\x4c\x9d\xfd\x0e\x52\x06\xca\xb1\xa4\x81\
+\x50\x61\xaa\x25\x9b\xa5\xab\xeb\xa2\xec\x6b\xfb\xf7\x55\xb4\x0a\
+\x97\x59\x86\xc0\xd0\xaa\x61\x8c\xc0\x15\x2a\xb4\x50\xa1\x50\x2a\
+\x24\x08\x02\x4c\x29\x31\xe4\x62\x0f\x2d\x4a\xe2\xc3\x47\x8f\x30\
+\x33\x3d\x6d\x9b\xd2\xf8\xea\xba\xcb\x7e\xe7\x2f\x94\x52\x15\xdf\
+\xf7\xd1\x5a\xa3\xb5\xa6\x66\xc8\xea\xd0\xbe\x7d\xf9\x0f\x5e\xf3\
+\x3a\x85\xd2\xfc\x53\x9b\xaf\xb9\x86\x52\xa9\xf4\x0f\x33\xa5\xd2\
+\x03\x69\xad\x5d\x71\xfe\x00\xd6\x35\xf0\x7f\x7d\xe8\x90\xdc\xf5\
+\x93\xe7\x29\x96\x4a\xff\xda\xd9\xd5\x95\x72\x32\xa9\x9b\x4e\xcd\
+\xce\x8e\xb9\xae\x9b\x32\x16\x62\x48\x0b\x21\x30\x4d\x13\xdf\xf7\
+\xdd\x77\x4e\x9c\x78\xdc\x10\xc6\x83\xdd\xdd\x2b\x17\x7b\xa7\x91\
+\x2e\xd3\xa9\x94\x5d\xa9\x56\xef\xf9\xd4\xa7\x3e\xb5\x9d\xab\x3f\
+\xce\x77\x26\x1d\x52\xca\xc3\x40\xa3\x11\x20\x25\xe5\xf1\xf7\xe0\
+\xbd\x51\x32\xe5\xf7\x38\xf6\xdd\x47\xb9\xeb\x07\xc3\xbc\x38\x32\
+\x41\xda\x95\x2c\x35\x5f\x37\x09\x06\x2d\x0c\xaa\xe5\x22\xfa\xc8\
+\x41\x28\x8c\xf3\xa3\xbf\xfa\x04\x6f\xa6\x7a\x79\xe8\x87\xaf\xe3\
+\x66\x2d\x0c\x83\x24\x48\x14\x82\x8a\x4c\xf1\xb9\xd6\x71\xd4\xc9\
+\x83\x3c\xfa\xe8\xa3\x37\xf7\x5e\xd2\xbb\x6b\xf4\xf8\x68\x73\x0f\
+\x08\xc3\x70\x80\xfe\x5c\x2e\x87\xd7\xb5\x1a\xac\x4e\x2a\x94\x63\
+\x53\x04\x58\x0e\xa4\xc6\xd8\x78\xec\x3f\xf9\xcc\x9f\xdc\xc6\xc1\
+\x83\x07\xf9\x79\xc1\x86\xb5\x57\x53\xd6\x7e\x53\x93\x09\x54\x14\
+\xa9\xf5\x99\xa4\x0d\x9e\x47\xfb\xdb\x2f\xf3\xf9\x8f\x6d\xa0\xa3\
+\xa3\x83\xef\x0d\x1e\x83\x4b\x37\x53\x35\x3c\x90\x0d\x08\x10\x60\
+\x66\x49\xdb\x07\x08\x4e\x1d\x43\xc0\xc5\x2a\x0c\x0c\x40\x35\x05\
+\x60\x4a\x29\x00\x55\x2c\x16\xa9\x4e\x4d\x40\xcd\x85\xa0\xb4\x60\
+\x98\x9d\x86\xf9\x49\x8c\xc9\x13\x5c\x71\xc5\x15\x3c\xfe\xf8\xe3\
+\xe8\xf6\xdf\x87\x54\x2b\xd4\x4a\x67\x1a\xaf\x14\x5d\x2d\x2e\x6d\
+\x8e\xc9\x5b\xd3\x65\xb4\x02\x4c\x1b\x82\x90\x8e\xa3\x43\xac\xfb\
+\xf3\xdb\xd8\xbd\x7b\x37\x07\x5e\x9d\xe2\x8a\x4f\xbe\x1f\xaf\x50\
+\x61\xe4\xd4\x5c\x9c\x99\x22\xba\x6d\xcd\xf4\xcc\x38\xa2\x58\x24\
+\xe2\x17\x43\x9c\x35\x07\xb4\xd6\x02\x30\x7c\xdf\xc7\xf7\xbc\x68\
+\x00\xad\x20\x54\x10\x02\x78\x90\x5f\xce\xaf\x3a\x3e\xc8\x87\x3f\
+\x79\x2f\x5e\xc7\x6a\xb8\xa5\x1b\x6a\x55\xf0\x43\x90\x02\x62\xb6\
+\x00\x20\xd4\x64\xa4\xa0\xd3\x35\x39\x18\xc4\x63\x88\x00\x04\xbc\
+\xbd\xf9\x4f\xf9\xb3\xbf\x7b\x84\xa2\x95\x85\x9b\xb7\xd2\x2a\x7c\
+\x0a\x06\x10\x86\xa0\x04\x18\x02\x84\x01\x42\x50\xa9\x94\x30\x6b\
+\x35\x10\xc2\x50\x2a\x34\x88\xad\x39\x13\x40\x7d\xde\x30\x24\x54\
+\x0a\x64\x1c\x02\x12\x36\x76\xe5\x98\xf0\x14\xa7\xc6\x8b\xe4\x6f\
+\xd8\x42\xa6\xe3\x3e\xbc\xd3\x63\x4c\x2b\x4d\x77\x8b\x83\x8d\xc9\
+\xf1\x89\x62\x14\x02\xa6\x8c\x17\x50\x53\xf0\x42\x5a\x9c\x90\xf7\
+\xad\xc8\x50\xf6\x15\xa6\x69\x32\x36\xef\x31\xbb\x72\x3d\x33\x1b\
+\xae\x83\xf9\x19\x30\x6d\x0e\x8e\x17\xe8\x4a\xc3\x0d\x97\x2e\xa3\
+\x16\x2a\x82\x50\xf3\xca\x78\x09\x34\xf8\x41\x80\x08\x43\x50\x5a\
+\x84\x2a\x3c\x3b\x0b\x11\x27\xb4\x52\x0a\xa5\x54\xbc\x92\x82\xa1\
+\xbb\x37\xf2\xe2\x89\x39\x0e\xcd\x7a\xfc\x5c\x07\xec\xb8\xb6\x95\
+\x6f\xbc\x71\x8a\x31\x6d\xa3\x96\xad\xe0\x1f\xaf\x5d\xcd\x4b\xef\
+\xce\xf2\xbe\x8e\x7e\x6e\xfc\xce\x1b\xa0\x74\xb4\x82\x0a\xae\x5a\
+\x91\xc5\x00\xa4\xa1\x99\xaa\x2a\xba\xb3\x36\x0a\xc1\x2c\x02\xe6\
+\x26\xc0\x0f\x10\xe9\x0c\x77\xaf\x5f\x46\xa1\xe2\x31\x34\x56\xa4\
+\xd5\x91\x64\x2d\x49\xda\x36\x28\x6b\x8d\xd2\x91\x3d\x1a\x08\x03\
+\x7d\xf6\x3a\x50\x67\x24\xad\x75\xe4\x0d\x05\x76\xca\x64\x7d\x5b\
+\x8a\xaf\x1d\x18\xe3\x5b\xbb\x0e\xd1\x92\x72\x29\x48\x87\x27\x87\
+\x27\x78\xee\x9d\x2a\x8e\x6d\xf1\xdc\xc8\x04\x9f\xff\xd6\x01\xae\
+\xeb\xc9\xd1\x9e\x77\x41\x25\x39\xc6\x3b\xc5\x2a\x01\x9a\x53\xa5\
+\x80\x94\x84\xd9\x6a\x80\x42\x83\x9b\x8d\xc2\xcd\x76\xd0\xa6\xc3\
+\xdb\xd3\x25\x46\xa6\x2b\x5c\x9c\x77\xa8\x29\xcd\xf2\x8c\x4d\xb9\
+\x12\x82\x10\x68\xa5\x51\x4a\x21\x00\xdd\x30\x76\x13\x0f\x90\x78\
+\x00\xad\xc1\x82\x5a\xa1\xca\x4d\x3b\x46\xd8\xf1\xf1\x75\xfc\xf4\
+\x7d\x05\xbe\xf1\xc6\x04\x57\xf7\xad\xe4\x9f\x6e\x55\x0c\x9e\xf2\
+\x98\x2a\x07\x7c\xfa\x77\x2f\xa6\xbd\xc5\xe1\xaf\x5f\x3a\xc9\xf4\
+\x6c\x05\x1c\x99\xe4\x41\xd1\x57\x80\x46\x18\x82\x79\x5f\xd1\x99\
+\x96\x94\xab\x35\x70\xd2\xe0\xda\x20\x24\x60\x30\x5d\xaa\x91\x77\
+\x4d\x0a\xd5\x10\x57\x4a\x4e\x95\x6a\x71\x44\x44\x2a\xb4\xee\x01\
+\x84\xe6\x5c\x49\xbc\x00\xa0\x7e\xb9\x16\xaf\x8c\xce\xf0\xe1\xb7\
+\x26\x19\xfe\xcc\xd5\x0c\xbe\x3b\xc7\x0f\x8f\xce\xb0\xed\xe9\x43\
+\x60\x49\xb6\x5c\xb3\x92\x9f\x9d\x98\xe3\x33\x3f\x78\x3b\x5a\x81\
+\x8c\x4d\x03\x0f\xd2\xee\x9a\x64\x4d\x89\x44\x10\x68\xcd\x5c\x2d\
+\xc4\x31\x63\x26\x34\xed\xd8\x5b\x9a\x4b\x5a\x5c\x66\xbc\x80\xb6\
+\x94\x41\xc5\x07\x57\x8a\x84\x88\x1a\x6d\xd2\x4b\x98\xba\xa9\x9c\
+\x56\x4a\xa1\xb4\x06\x5f\x63\xdb\x92\xbd\x9f\xbe\x82\x56\xdb\xe0\
+\x9f\xf7\x8f\xf3\x8b\xdf\x14\xd9\xf1\x87\x6b\x39\xf8\x37\x1f\x62\
+\xb4\x50\x63\xfb\x1b\xe3\x1c\x9c\x2a\x47\x4c\x95\xb5\x23\x2f\xd6\
+\x67\xd1\x1a\xa5\x34\xae\x94\x28\x60\xdf\x6f\xe6\x98\x9a\xaa\x80\
+\x2d\xa3\xf0\x09\xc2\xe8\x59\x01\x96\x84\x16\xc7\xe4\x3f\xde\x9c\
+\x88\x38\xc6\x00\xa4\x8c\xc6\xd0\x1a\x1d\x86\x34\x2b\xf3\xe6\x19\
+\xaa\x29\x66\xa1\xb2\x17\x02\x35\x6a\xf3\xf3\x5c\xf9\xd5\x3d\x11\
+\x45\x16\x6b\x60\x4b\xf2\x7f\xfb\xb3\x85\x82\x13\xc2\x8f\x8d\x98\
+\xf6\xe6\xbc\x85\xc5\x8f\x31\x0c\x8f\x9c\x66\x58\x9d\x5e\x58\x4d\
+\x21\xa0\x1a\x2c\x7e\x4e\xc3\xb7\x5f\x3a\x19\x79\x43\x1a\xc4\xaa\
+\x0d\x0c\x03\xc2\x1a\x15\x5f\x61\x07\x01\xea\xbc\x00\xe2\x6b\x76\
+\x76\x96\xfb\xdf\xdf\xcd\xd7\xaf\xbf\x8a\xf2\x54\x89\x40\x87\xd1\
+\xd8\xb1\x56\x08\x63\xeb\x84\x10\x98\xc2\x40\x18\x22\x62\x83\x58\
+\x33\x2d\x4e\x2b\x15\xdb\x28\x90\xc2\xc0\x10\x22\x91\x1c\x5a\x93\
+\xe8\xac\x10\x15\x33\x8a\x91\x60\x13\x86\x24\xb3\x3c\xc5\x0b\x8f\
+\xfd\x82\x9f\xbe\x39\xdf\x54\x5c\x35\x05\x50\x2b\x57\x58\xd3\x96\
+\xe2\x4a\x07\xe8\xce\xf0\x7f\x7d\xed\x4f\x59\x78\xa5\xf2\x85\x03\
+\x08\x95\xa2\x5a\x0b\x92\x35\xd4\x61\xb8\x44\xdb\x1b\x91\x7b\x81\
+\xc1\x97\x5f\x66\x6e\xae\x80\x61\x48\xfe\xe0\xa6\x9b\xe2\x24\x0a\
+\xa3\xfd\xab\x10\x60\xc8\x85\x71\x7d\x9f\x63\xa3\xc7\x78\xe7\x9d\
+\x77\xc8\xe7\x72\xf4\xf5\xad\x66\x59\x47\x47\x83\xbb\x14\x5a\xe9\
+\x44\x7b\x09\x19\xbd\xeb\xf9\x21\xc1\x92\x02\x76\x6e\x00\x5a\x13\
+\x84\x2a\xde\x8c\x87\x8b\x58\x29\x92\xb8\xd1\xb6\xe2\xc4\x89\x13\
+\x5c\x7b\xdd\x75\xc9\xdf\xaa\xd5\x2a\x8e\xe3\xe0\x87\x0a\xad\x35\
+\xa6\x29\x31\x62\x52\xb8\xf7\xde\x7b\x79\xf2\xc9\x27\xcf\x08\xb1\
+\x8d\x1b\x37\xf2\xcc\x33\xcf\xb0\x66\xcd\x1a\x10\x06\x81\xf2\x93\
+\x67\x4c\xc0\x90\x12\x85\x6e\xb0\x41\x5c\x08\x0b\x69\x74\x03\x7d\
+\xd5\x5f\xae\xef\xcc\xea\xb2\xff\xfa\xeb\xaf\x8f\x98\xd6\x75\x91\
+\x52\x26\xdd\x04\xa5\x54\xdc\x08\x88\x56\xf0\xb2\xcb\x2e\x63\x64\
+\x64\x04\xd3\x34\x09\x82\x20\x99\xc7\x71\x1c\x86\x87\x87\x19\x18\
+\x18\x60\xdf\xbe\x7d\x7c\xe0\x03\x1f\x58\x44\x99\xa1\x10\x18\x52\
+\xa2\x75\xb4\x90\xcd\x36\xc1\x4d\x37\xa0\x5a\x85\x11\x2d\xd6\x75\
+\x51\x1c\x42\xb6\x6d\x23\x84\x60\x74\x74\x94\x81\x81\x01\x46\x47\
+\x47\xe9\xec\xec\xc4\xb2\x2c\xa4\x94\x0b\x13\x87\x0b\x5e\xdb\xba\
+\x75\x2b\x23\x23\x23\xe4\xf3\x79\xb4\xd6\x6c\xd9\xb2\x85\x1d\x3b\
+\x76\xf0\x85\x2f\x7c\x01\x21\x04\xb9\x5c\x0e\x80\xbb\xee\xba\x2b\
+\xd9\x15\xd6\xe7\xac\xcf\x2b\x34\xa8\xd8\x1e\xe3\x42\x42\x28\x92\
+\x12\x8b\x8b\x9a\xe3\x38\x14\x8b\x45\xb6\x6f\xdf\xce\xb6\x6d\xdb\
+\x00\xc8\xe5\x72\x89\x37\x84\x10\x84\x61\x88\x69\x9a\x28\xa5\x90\
+\x71\xfc\x3e\xfd\xf4\xd3\x00\xcc\xcd\xcd\x71\xe7\x9d\x77\x26\x3f\
+\xdf\x71\xc7\x1d\xac\x5b\xb7\x8e\x7b\xee\xb9\x87\x5c\x2e\xc7\x91\
+\x23\x47\x38\x7a\xf4\x28\xfd\xfd\xfd\x09\x33\x25\x1b\x3c\x03\x62\
+\x11\x97\xa8\x9c\xf3\x03\x68\xa8\xca\xf5\xbd\xf2\x0d\x37\xdc\xc0\
+\xfe\xfd\xfb\x93\xe7\xfa\xfa\xfa\x78\xf7\xdd\x77\xcf\x78\xaf\x1e\
+\x42\xa7\x4f\x9f\xc6\x34\x4d\x2c\xcb\xc2\xf7\x7d\x6e\xbd\xf5\xd6\
+\x28\x29\x3d\x0f\xc7\x71\xf8\xc8\x47\x3e\x92\x80\x07\x28\x95\x4a\
+\xc9\x9c\x8d\x00\xc2\x50\x2d\xc8\x9c\x0b\x29\x64\x2a\x5c\x0c\xa0\
+\xbe\x4d\xad\x54\x2a\xc9\xa3\x4f\x3d\xf5\x14\xb9\x5c\x8e\xdb\x6f\
+\xbf\x9d\x6c\x36\xbb\x28\x5f\x94\x52\x54\x2a\x15\xb2\xd9\x2c\xa3\
+\xa3\xa3\x94\x4a\x25\x8e\x1c\x39\x42\x5f\x5f\x1f\xd5\x6a\x15\xdf\
+\xf7\x71\x1c\x87\xd3\xa7\x4f\x2f\x9a\xbe\x31\x87\x1a\x01\xd4\x3c\
+\xaf\x5e\x19\x43\x74\xa8\x2f\x28\x07\x1a\x01\xd4\x63\xb1\xad\xad\
+\x8d\x8f\x7e\xf4\xa3\x9c\x3c\x79\x92\xbb\xef\xbe\x9b\x42\xa1\x70\
+\xc6\xca\xd7\xef\x30\x0c\xa9\x56\xab\x78\x9e\x47\x2a\x95\xe2\xaa\
+\xab\xae\xc2\x71\x1c\x3c\xcf\x4b\x0c\xfd\xf2\x97\xbf\x9c\x2c\x4c\
+\x67\x67\x27\xfd\xfd\xfd\x54\xab\xd5\x45\xc4\x51\x6f\x6d\xc6\x60\
+\x14\x7a\xb1\x13\xce\x1a\x42\xf5\xf7\xc3\x30\x20\x08\x02\x66\x66\
+\x66\xd8\xb9\x73\x27\x6d\x6d\x6d\xc9\x73\xe5\x72\x79\x11\xbd\x06\
+\x41\x80\x69\x9a\x84\xe1\xc2\x02\xd4\x6a\xb5\x45\x79\xe2\x38\x0e\
+\xae\xeb\xf2\xc4\x13\x4f\xf0\xfd\xef\x7f\x9f\x96\x96\x16\x0a\x85\
+\x02\xf7\xdf\x7f\x3f\xb6\x6d\x33\x3d\x3d\x9d\x30\x95\x61\x18\xd4\
+\x6a\x1e\x41\xa8\x10\x51\x14\x28\xa5\xd4\xb9\x72\xc0\x88\xeb\x80\
+\x5a\xb2\xaa\xd1\x77\xcb\xb2\x98\x9c\x9c\x44\x08\xc1\xf2\xe5\xcb\
+\x13\xcf\x34\x8a\xc0\x20\x08\x92\x10\x60\x49\x73\xcc\x75\x5d\x72\
+\xb9\x1c\xdb\xb7\x6f\xe7\xbe\xfb\xee\x23\x9d\x4e\x53\x28\x14\xd8\
+\xb8\x71\x23\x0f\x3e\xf8\x20\xa5\x52\x89\x7a\x1b\xa7\xce\x48\x53\
+\xa7\xa7\x08\xfc\x5a\x3d\x8c\x03\xa5\xf5\x85\xb1\x10\x71\xf1\x08\
+\x55\xbd\x3a\x92\x18\x5c\xcf\x89\xba\x9b\xeb\x2b\xdc\x18\x42\x8d\
+\x00\x0c\xc3\xc0\x71\x1c\x72\xb9\x1c\x8f\x3c\xf2\x08\xdb\xb6\x6d\
+\x23\x95\x4a\x51\x2e\x97\x69\x6d\x6d\xe5\xd9\x67\x9f\xc5\x34\x4d\
+\x66\x66\x66\x16\xa8\x33\xee\x09\x8d\x8c\x8c\xe0\x3a\x2e\x22\x1a\
+\x2f\xac\xd3\xe9\x39\x73\xa0\x6e\x80\x8a\x8d\x6f\x34\xac\x31\x3e\
+\x1b\x8d\x14\x42\x9c\xf5\x39\xc7\x71\x68\x69\x69\xe1\xa1\x87\x1e\
+\x62\xdb\xb6\x6d\x64\xb3\x59\x2a\x95\x0a\xdd\xdd\xdd\xec\xdd\xbb\
+\x97\x9e\x9e\x1e\x26\x26\x26\xf0\x7d\xff\x0c\x2f\x1e\x3f\x7e\x9c\
+\xce\xce\x15\x04\xd1\x58\x7e\x10\x9e\x63\x4f\x6c\x2c\xa2\x43\x85\
+\xef\xfb\x04\x61\x90\x78\x60\x29\x5d\x2e\x0d\x93\x7a\xf2\xd6\x73\
+\x40\x08\x81\x65\x59\xb4\xb5\xb5\xf1\xa5\x2f\x7d\x89\xaf\x7c\xe5\
+\x2b\x64\xb3\x59\xe6\xe7\xe7\xe9\xee\xee\x66\x70\x70\x90\xde\xde\
+\x5e\xc6\xc6\xc6\x08\x82\x20\x19\xd3\x30\x0c\x72\xb9\x1c\x93\x93\
+\x93\x94\x4b\x65\x56\xae\xba\x38\x51\xfa\xbe\x1f\x5c\x40\x77\xba\
+\x09\xab\x2c\xbd\x1b\x13\x75\xd1\x46\xa8\xe1\x16\x42\xb0\x62\xc5\
+\x0a\x1e\x7b\xec\x31\xbe\xf8\xc5\x2f\x92\xcf\xe7\xf1\x3c\x8f\x2b\
+\xaf\xbc\x92\xe1\xe1\x61\x7a\x7b\x7b\x99\x99\x99\xc1\x34\xcd\xe4\
+\x60\xc4\xb2\x2c\xd2\xe9\x34\xf9\x7c\x9e\xe1\x37\x7e\x45\x2e\xdf\
+\x42\x6b\x6b\x6b\xdd\x50\xe5\x07\xb5\x0b\xc8\x81\x84\x89\x14\x2a\
+\x3c\x33\x21\x97\x6a\x24\x1a\xda\x31\x75\x49\x21\x84\xa0\xb5\xb5\
+\x95\xa1\xa1\x21\xb6\x6e\xdd\x4a\x3a\x9d\x46\x4a\x49\x77\x77\x37\
+\x3b\x76\xec\x20\x97\xcb\x71\xf2\xe4\xc9\x84\x36\xeb\x34\x6d\xdb\
+\x36\xd9\x6c\x96\xc2\xcc\x0c\x6f\xfd\xfa\x2d\x36\x5f\xf3\x21\x52\
+\xa9\x0c\x71\xf2\x86\x17\xa4\x46\xeb\x61\x12\xaa\xb0\x29\xa3\x34\
+\xe6\xc9\x62\xea\x5d\x58\x7d\xd3\x34\x71\x5d\x97\x07\x1e\x78\x00\
+\x20\x29\x76\x61\x18\x72\xe3\x8d\x37\x32\x35\x35\x85\xe7\x79\x64\
+\x32\x19\xfa\xfb\xfb\xe9\xed\xed\xe5\xe1\x87\x1f\xa6\xaf\xaf\x0f\
+\xc3\x30\xd8\xf7\xcb\x5f\x62\x5a\x16\x5d\x5d\x5d\x78\x5e\xad\x3e\
+\x97\xfe\xad\x00\xa8\x50\x9d\x13\x40\x9d\x31\x6a\xb5\x1a\x96\x65\
+\x11\x04\x01\x52\x4a\xb4\xd6\xa4\xd3\x69\xf6\xec\xd9\xc3\xab\xaf\
+\xbe\x4a\x26\x93\x49\xb8\xbd\x56\xab\x31\x3e\x3e\x0e\xc0\xaa\x55\
+\xab\xd8\xb0\x61\x03\x03\x03\x03\xf4\xf7\xf7\xd3\xd1\xd1\x81\x61\
+\x18\x68\xad\x79\xe3\xc0\xeb\x5c\xd2\xb7\x9a\x96\xb6\x56\xa6\xa7\
+\x67\x9b\xda\x70\x76\x00\x1a\x54\xc3\x8a\x36\x7b\xd9\xf7\xfd\x44\
+\xbb\xd4\x6a\x35\x6a\xb5\x1a\x9e\xe7\x25\x62\xce\xb2\x2c\x5e\x78\
+\xe1\x85\x44\xe3\x54\xab\xd5\x24\x49\xdb\xdb\xdb\x59\xbf\x7e\x3d\
+\x97\x5f\x7e\x39\x03\x03\x03\xac\x5f\xbf\x9e\xb5\x6b\xd7\x92\xcf\
+\xe7\x01\xd8\x33\x34\x88\x69\x5b\xac\x5c\xd9\x43\x36\x9d\xa3\x38\
+\x57\xfc\xed\x3c\x20\xd0\xe8\x25\x8c\xb2\x74\xf5\x27\x27\x27\xb9\
+\xed\xb6\xdb\xd8\xb4\x69\x53\x62\xb4\x69\x9a\x54\x2a\x15\xc2\x30\
+\x64\x6a\x6a\x8a\x5b\x6e\xb9\x85\xcd\x9b\x37\xe3\x38\xce\xa2\x7a\
+\xd0\xda\xda\x4a\x36\x9b\x25\x9b\xcd\x92\xc9\x64\x48\xa5\x52\x0b\
+\x8d\xb0\x93\x27\x79\x75\xef\x3e\x06\xd6\xae\x67\xd9\xb2\x76\x1c\
+\xd7\x89\x4e\x65\x14\xe7\xf7\xc0\x82\xa1\x46\x72\x34\x7a\x36\x0f\
+\x54\x2a\x15\x5a\x5a\x5a\xb8\xe8\xa2\x8b\x12\x50\xa5\x52\x29\xa1\
+\xc3\x4a\xa5\xc2\xf2\xe5\xcb\x59\xb5\x6a\x55\x34\x51\x9c\x13\x8e\
+\xe3\xe0\x38\x4e\x22\xb7\x1b\x77\x73\xbb\x9e\x7b\x96\x63\xc7\x8e\
+\xb3\x7a\x75\x3f\x3d\x3d\x3d\x64\x73\x39\xa4\x8c\x6b\x8c\x56\x17\
+\x00\x20\x6a\xe8\xe8\xfa\x6e\xaa\x6e\x7c\x33\x00\x75\x23\x1b\x15\
+\xea\xd2\xa4\x2e\x97\xcb\x94\x4a\xa5\x64\x95\xeb\xde\x5c\x7a\x90\
+\x37\x34\x38\xc8\xe0\xee\x41\x5c\xc7\x65\xdd\xba\xcb\xe8\xe9\x59\
+\x45\x5b\x6b\x3b\xb6\x6d\x2f\x62\xc5\xf3\x03\x88\xb8\x2a\x10\x06\
+\xa4\xd3\x19\xa4\x94\x38\xae\x4d\xb2\xbf\x14\x67\xe1\xdc\xb3\x5c\
+\x4a\x29\xf2\xf9\x3c\xed\xed\x51\x28\x18\x62\xc1\x70\xaf\x5a\x61\
+\x68\xf7\x10\x6f\xbe\xf9\x26\xb5\x5a\xc8\xea\xfe\x35\xac\x5c\xd5\
+\x43\xfb\xb2\x76\x72\xd9\x2c\xae\xe3\x26\xb5\x41\x08\x81\xe7\xd7\
+\xce\x0f\x20\x54\x61\x08\xf8\xa9\x54\x8a\x7c\x6b\x0b\x63\xbf\x19\
+\xe7\xd4\xa9\x53\x49\x89\x5f\x9a\x27\x8b\x41\x89\xa6\x5e\x72\x1c\
+\x17\x29\x0d\xc2\x50\xe1\xfb\x35\x82\xc0\x27\x0c\x42\xbc\x6a\x15\
+\x37\x95\xe6\xaa\x0f\x5e\x4d\x77\xd7\x4a\xda\x96\xb5\x93\xcf\x65\
+\x68\x76\xca\xda\xda\xd6\x76\x46\x53\xb7\x29\x00\xa5\x74\x08\xa8\
+\xbe\xde\x5e\x7e\xfc\xc3\x9d\x8c\x8f\xbf\xc7\x7c\xac\x10\x95\x56\
+\xa0\xa2\xfd\x5c\xbd\xf5\x11\x85\x58\xdc\xbe\xd2\x2a\xf6\x94\x8e\
+\xbf\x16\x3a\xdd\x0a\x30\x44\xd4\xd8\xb2\x6c\x8b\x54\x2a\x45\x2a\
+\x95\x26\x93\x49\xe3\xa6\x52\xb8\x8e\x83\x69\x59\x71\xc3\x40\x46\
+\xe7\x64\xb1\x40\xb4\x6d\x1b\xa5\x34\xeb\xd6\xad\xe3\xf0\xe8\x31\
+\x71\x6e\x00\x51\xa2\xe8\x53\xa7\x4f\x73\xe2\xd8\x11\x5e\x7b\xed\
+\x35\xa4\x69\x22\x4d\x89\x6d\x59\x58\xa6\x85\x65\x2d\xdc\xa6\x65\
+\x61\xda\xf1\x67\xd3\xc4\xb4\x24\x52\x9a\x98\xd2\x44\xd6\x15\x2b\
+\x51\x3d\x09\x55\x88\x0a\xa2\xe3\x52\x3f\x08\x98\x9f\x9b\x65\x66\
+\x6a\x12\x3f\x08\xf0\x3d\x8f\x9a\xef\xe3\xc7\x54\xec\xfb\x35\xfc\
+\x20\x6a\xa7\x07\x41\xc0\xb5\xd7\x7e\x88\xa9\x99\x99\xa6\xd2\x47\
+\x2c\x51\x94\x2e\x70\x27\xf0\xf7\x8e\xe3\xac\x41\x47\xed\x15\x21\
+\x8c\xa8\x2d\x68\x08\x0c\x69\x20\x0c\x89\x61\x18\x51\xab\xd1\x30\
+\x90\x46\xdc\x32\x8c\x0f\xbb\x0d\x11\x1d\x35\x89\xc6\x04\xac\x37\
+\x69\xe3\x0a\xaf\x95\x46\xab\xfa\xe7\x18\x60\xd8\x28\xc7\xeb\x81\
+\x29\xc0\x00\xcf\xf3\xf6\x03\x7f\x09\xec\x5d\x64\xf3\x52\x49\x0c\
+\x74\x00\xf9\xd8\x3b\xba\x21\x4d\x7f\xbb\x7f\x62\x38\x77\xaa\xeb\
+\x0b\xa3\x81\x45\x91\x52\x06\xa6\x81\xd2\x59\x01\xfc\x7f\xbc\xfe\
+\x7b\x00\x39\x4a\xe1\x27\x66\x0a\xa6\xe2\x00\x00\x00\x00\x49\x45\
+\x4e\x44\xae\x42\x60\x82\
+\x00\x01\x15\xcc\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x03\x33\x00\x00\x02\x07\x08\x06\x00\x00\x00\xab\x37\x02\xb9\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0a\x3e\x00\x00\x0a\x3e\x01\
+\x3c\x37\xb1\x9c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x1e\
+\x09\x1b\x2c\x28\x9c\xfd\xdd\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xdd\x77\x7c\x14\x75\xc2\x3f\xf0\xcf\xce\xf6\x4d\x36\xbd\
+\x98\x84\x14\x08\xbd\x57\x41\xaa\x14\x45\x01\xc5\x82\xe7\x23\x62\
+\xb9\x3b\xfb\xe9\x3d\xc7\x9d\xd8\x4e\xb1\x71\x77\x1c\xea\xef\xf4\
+\xee\x44\xb0\x80\x1e\x0a\xf8\xa8\x1c\x22\x2a\x28\x88\x82\x22\x20\
+\x9d\x84\x92\x4e\x48\x4f\x36\x75\x37\xd9\x32\x3b\xf3\xfb\x23\xec\
+\x66\x27\x9b\x06\xa4\x40\xf8\xbc\x5f\xaf\x7d\x6d\xa6\xec\xec\xcc\
+\xec\x66\x32\x9f\x7c\x9b\x4a\x96\x65\x19\x44\x44\x44\x44\x44\x44\
+\x97\x18\x81\xa7\x80\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\
+\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\
+\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\
+\x88\x88\x61\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\
+\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\
+\x88\x18\x66\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\
+\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\
+\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\
+\x18\x66\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\
+\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\
+\x61\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\
+\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x61\
+\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\
+\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\
+\x88\x88\x88\x88\x88\x88\x3a\x8a\x86\xa7\x80\x88\x88\xce\x47\x7a\
+\x7a\x3a\x4e\x9e\x3c\x89\xac\xac\x2c\x64\x66\x66\x7a\x9f\xb3\xb3\
+\xb3\x21\x08\x02\xcc\x66\x33\xcc\x66\x33\x82\x82\x82\xbc\x3f\x9b\
+\xcd\x66\xf4\xe8\xd1\x03\x33\x67\xce\xc4\xe4\xc9\x93\xa1\xd3\xe9\
+\x78\x22\x89\x88\xe8\xbc\xa9\x64\x59\x96\x79\x1a\x88\x88\xda\x8f\
+\x2c\xcb\x48\x49\x49\x41\x71\x71\x31\x4a\x4b\x4b\x51\x56\x56\xa6\
+\x78\xb6\x58\x2c\x08\x0e\x0e\x46\x6c\x6c\x2c\x62\x62\x62\x10\x1b\
+\x1b\x8b\xd8\xd8\x58\xc4\xc5\xc5\x61\xd0\xa0\x41\x10\x84\x8b\xb7\
+\xd0\xfc\xd4\xa9\x53\x58\xb7\x6e\x1d\xd6\xaf\x5f\x8f\x53\xa7\x4e\
+\x5d\xd0\xb6\x02\x02\x02\x30\x6d\xda\x34\x5c\x7f\xfd\xf5\x98\x33\
+\x67\x0e\xe2\xe3\xe3\xf9\xe5\x21\x22\x22\x86\x19\x22\xa2\xae\x50\
+\x56\x56\x86\xd5\xab\x57\x63\xe5\xca\x95\xc8\xcc\xcc\x3c\xaf\x6d\
+\x44\x45\x45\x61\xf6\xec\xd9\x98\x33\x67\x0e\xae\xbd\xf6\x5a\x04\
+\x06\x06\x76\xf9\x71\xd9\xed\x76\xac\x5c\xb9\x12\xef\xbf\xff\x3e\
+\x0e\x1f\x3e\xdc\x21\xef\xa1\xd1\x68\xf0\xc0\x03\x0f\xe0\xf9\xe7\
+\x9f\x47\x54\x54\x14\xbf\x4c\x44\x44\xc4\x30\x43\x44\xd4\x19\x76\
+\xef\xde\x8d\xb7\xde\x7a\x0b\x9f\x7c\xf2\x09\x1c\x0e\x47\xbb\x6d\
+\x57\xaf\xd7\x63\xe6\xcc\x99\x78\xe2\x89\x27\x30\x61\xc2\x84\x4e\
+\x3f\x2e\x49\x92\xb0\x66\xcd\x1a\x3c\xf7\xdc\x73\x38\x73\xe6\x4c\
+\x9b\xf6\x37\x29\x29\x09\xf1\xf1\xf1\x10\x45\x11\x36\x9b\x0d\x56\
+\xab\x15\x56\xab\xd5\xfb\xb3\xd3\xe9\x6c\x71\x1b\x81\x81\x81\x58\
+\xb4\x68\x11\xfe\xf4\xa7\x3f\x21\x20\x20\x80\x5f\x2e\x22\x22\x62\
+\x98\x21\x22\xea\x08\x3f\xfe\xf8\x23\x7e\xff\xfb\xdf\xe3\xd0\xa1\
+\x43\x6d\x7e\x8d\x20\x08\x08\x0e\x0e\x46\x75\x75\x35\xdc\x6e\x77\
+\x9b\x5f\x77\xf5\xd5\x57\xe3\xd9\x67\x9f\xc5\xf4\xe9\xd3\x3b\xe5\
+\xd8\xbe\xf9\xe6\x1b\x3c\xfe\xf8\xe3\x38\x76\xec\x58\x93\xcb\x35\
+\x1a\x0d\xae\xbe\xfa\x6a\xcc\x9a\x35\x0b\x7d\xfb\xf6\x45\x52\x52\
+\x12\xa2\xa3\xa3\xa1\x52\xa9\x5a\xdc\xae\xdd\x6e\xc7\x9e\x3d\x7b\
+\xf0\xdd\x77\xdf\x61\xdb\xb6\x6d\x48\x4b\x4b\x6b\x72\xbd\x98\x98\
+\x18\xac\x5f\xbf\x1e\x93\x27\x4f\xe6\x17\x8d\x88\x88\x18\x66\x88\
+\x88\xda\x4b\x79\x79\x39\x9e\x78\xe2\x09\xac\x5a\xb5\x0a\x4d\x5d\
+\x42\x35\x1a\x0d\xae\xbb\xee\x3a\x4c\x9d\x3a\x15\xe1\xe1\xe1\x88\
+\x88\x88\x40\x58\x58\x18\xc2\xc3\xc3\x11\x1a\x1a\x0a\x41\x10\x20\
+\x49\x12\xca\xca\xca\x50\x54\x54\x84\xe2\xe2\x62\x14\x15\x15\x61\
+\xff\xfe\xfd\xf8\xe6\x9b\x6f\x50\x5a\x5a\xda\xec\x7b\x8f\x1f\x3f\
+\x1e\xaf\xbd\xf6\x1a\xc6\x8d\x1b\xd7\x21\xc7\x66\xb1\x58\xb0\x70\
+\xe1\x42\xac\x59\xb3\xa6\xc9\x20\x36\x71\xe2\x44\xdc\x7c\xf3\xcd\
+\x98\x3d\x7b\x36\xc2\xc2\xc2\x2e\xf8\xfd\xce\x9c\x39\x83\x35\x6b\
+\xd6\xe0\xad\xb7\xde\x42\x5d\x5d\x9d\x62\x99\x5e\xaf\xc7\x07\x1f\
+\x7c\x80\xdb\x6f\xbf\x9d\x5f\x3a\x22\x22\x62\x98\x21\x22\xba\x50\
+\xff\xf9\xcf\x7f\xf0\xf8\xe3\x8f\x37\x19\x38\xe2\xe3\xe3\xb1\x60\
+\xc1\x02\x2c\x58\xb0\x00\xd1\xd1\xd1\xe7\xb5\x7d\x59\x96\x71\xf0\
+\xe0\x41\x6c\xdd\xba\x15\x1b\x37\x6e\x44\x56\x56\x96\xff\x85\x5b\
+\xa5\xc2\x9d\x77\xde\x89\xa5\x4b\x97\x22\x2e\x2e\xae\xdd\x8e\x6d\
+\xfd\xfa\xf5\xf8\xfd\xef\x7f\xdf\xe4\xb1\x4d\x9f\x3e\x1d\x8b\x17\
+\x2f\xc6\xa0\x41\x83\x3a\xe4\xbc\x16\x15\x15\xe1\xef\x7f\xff\x3b\
+\xd6\xae\x5d\xab\x28\xb1\x52\xa9\x54\xf8\xfb\xdf\xff\x8e\x45\x8b\
+\x16\xf1\xcb\x47\x44\x44\x0c\x33\x44\x44\xe7\xc3\xe9\x74\xe2\xee\
+\xbb\xef\xc6\xc7\x1f\x7f\xec\xb7\x6c\xc0\x80\x01\x58\xbc\x78\x31\
+\xa6\x4f\x9f\xde\xae\x3d\x91\x49\x92\x84\x8d\x1b\x37\xe2\xb5\xd7\
+\x5e\x6b\xb2\xe7\xb0\x80\x80\x00\x3c\xf5\xd4\x53\x78\xfc\xf1\xc7\
+\x61\x30\x18\xce\xfb\x7d\xf2\xf2\xf2\xf0\xf0\xc3\x0f\x63\xf3\xe6\
+\xcd\x7e\xcb\x46\x8c\x18\x81\xe7\x9f\x7f\x1e\x13\x27\x4e\xec\x94\
+\xf3\x7c\xfc\xf8\x71\xdc\x75\xd7\x5d\x38\x7d\xfa\xb4\x62\xfe\x93\
+\x4f\x3e\x89\xa5\x4b\x97\xf2\x8b\x48\x44\x44\x0c\x33\x44\x44\xe7\
+\xc2\x6a\xb5\xe2\xe6\x9b\x6f\xc6\xb6\x6d\xdb\x14\xf3\x8d\x46\x23\
+\x16\x2d\x5a\x84\x47\x1e\x79\x04\x1a\x4d\xc7\x0d\xdb\x25\xcb\x32\
+\xbe\xf8\xe2\x0b\x2c\x59\xb2\xa4\xc9\x92\x9a\xc4\xc4\x44\xbc\xf2\
+\xca\x2b\xb8\xed\xb6\xdb\xce\x69\xbb\x2e\x97\x0b\xef\xbc\xf3\x0e\
+\x9e\x7e\xfa\x69\x54\x57\x57\xfb\x05\xa5\xc5\x8b\x17\xe3\x37\xbf\
+\xf9\x4d\xab\xed\x60\xda\x5b\x59\x59\x19\xe6\xcf\x9f\x8f\x83\x07\
+\x0f\x2a\xe6\x7f\xf2\xc9\x27\xb8\xf5\xd6\x5b\x3b\x7d\x7f\x88\x88\
+\x88\x61\x86\x88\xe8\x92\x54\x5a\x5a\x8a\x59\xb3\x66\x61\xff\xfe\
+\xfd\x8a\xf9\xd7\x5c\x73\x0d\xfe\xfe\xf7\xbf\x23\x21\x21\xa1\xd3\
+\xf6\xc5\xe5\x72\xe1\xed\xb7\xdf\xc6\xab\xaf\xbe\x8a\x9a\x9a\x1a\
+\xbf\xe5\x23\x47\x8e\xc4\x6f\x7e\xf3\x1b\xdc\x71\xc7\x1d\x2d\xb6\
+\x67\x29\x2d\x2d\xc5\xdb\x6f\xbf\x8d\xe5\xcb\x97\xa3\xa0\xa0\xc0\
+\x6f\xf9\x8c\x19\x33\xf0\xea\xab\xaf\xa2\x47\x8f\x1e\x5d\x76\xde\
+\xeb\xea\xea\xf0\xe0\x83\x0f\xe2\xab\xaf\xbe\xf2\xce\x0b\x0e\x0e\
+\xc6\xc1\x83\x07\xd1\xb3\x67\x4f\x06\x1a\x22\x22\x62\x98\x21\x22\
+\x6a\x2d\xc8\x4c\x9c\x38\x51\xd1\xe3\x96\x4a\xa5\xc2\x8b\x2f\xbe\
+\x88\x47\x1e\x79\xa4\xcb\xf6\xab\xac\xac\x0c\x4b\x96\x2c\xc1\xda\
+\xb5\x6b\x21\x49\x92\xdf\x72\xbd\x5e\x8f\x49\x93\x26\xa1\x67\xcf\
+\x9e\x48\x4c\x4c\x44\x5c\x5c\x1c\x0a\x0b\x0b\x71\xea\xd4\x29\x9c\
+\x3c\x79\x12\x87\x0f\x1f\x6e\xb2\x0b\xe9\xb0\xb0\x30\xfc\xe5\x2f\
+\x7f\x39\xe7\x12\x9e\x8e\x22\x8a\x22\x66\xcd\x9a\xa5\x28\xa1\x19\
+\x33\x66\x0c\x76\xed\xda\x05\x9d\x4e\xc7\x40\x43\x44\x44\x0c\x33\
+\x44\x44\x4d\x91\x24\x09\x73\xe6\xcc\xc1\xd7\x5f\x7f\xed\x9d\xa7\
+\x56\xab\xf1\x8f\x7f\xfc\x03\xf3\xe7\xcf\xbf\x28\xf6\xf1\xe8\xd1\
+\xa3\x78\xfa\xe9\xa7\xb1\x77\xef\xde\x0b\xde\xd6\xcd\x37\xdf\x8c\
+\xa5\x4b\x97\x22\x3c\x3c\xfc\xa2\xfa\x1c\x4e\x9c\x38\x81\xd9\xb3\
+\x67\x2b\xaa\xc1\x2d\x5e\xbc\x18\xcf\x3f\xff\x3c\x54\x2a\x15\x03\
+\x0d\x11\x11\xc3\x0c\xc3\x0c\x11\x91\x87\xe7\x92\xf8\xca\x2b\xaf\
+\xe0\xc9\x27\x9f\xf4\xce\xd7\xe9\x74\x78\xfb\xed\xb7\x31\x67\xce\
+\x9c\x8b\x6e\x9f\x37\x6d\xda\x84\xf7\xde\x7b\x0f\xbb\x77\xef\xc6\
+\xb9\x5c\xd2\x35\x1a\x0d\x6e\xb8\xe1\x06\x3c\xf4\xd0\x43\x18\x35\
+\x6a\xd4\x45\xf9\x79\x38\x9d\x4e\xac\x5a\xb5\x0a\xcf\x3d\xf7\x9c\
+\xf7\xd8\x82\x83\x83\x91\x99\x99\x89\xd0\xd0\x50\x06\x1a\x22\x22\
+\x86\x19\x86\x19\x22\x22\xdf\x20\xf3\xf3\xcf\x3f\x63\xca\x94\x29\
+\x10\x45\xd1\xbb\x6c\xc5\x8a\x15\x98\x37\x6f\xde\x45\xbd\xff\xa7\
+\x4f\x9f\xc6\xba\x75\xeb\xb0\x71\xe3\x46\x9c\x3e\x7d\x1a\x2e\x97\
+\xcb\x6f\x9d\xd0\xd0\x50\xf4\xee\xdd\x1b\x13\x27\x4e\xc4\x6f\x7e\
+\xf3\x1b\xc4\xc4\xc4\x5c\xf4\x9f\xcb\xd1\xa3\x47\xb1\x6c\xd9\x32\
+\x6c\xd9\xb2\xc5\x3b\xef\xf9\xe7\x9f\xc7\x73\xcf\x3d\xe7\x0d\x33\
+\x0c\x34\x44\x44\x0c\x33\x44\x44\x97\x7d\x90\x71\x38\x1c\x18\x30\
+\x60\x00\x72\x72\x72\xbc\xcb\x6e\xbf\xfd\x76\xbc\xf9\xe6\x9b\x97\
+\xd4\xf1\x48\x92\x84\xe2\xe2\x62\xe4\xe5\xe5\xa1\xa0\xa0\x00\xd1\
+\xd1\xd1\xe8\xd3\xa7\xcf\x45\x57\x8d\xac\x2d\x32\x32\x32\x90\x96\
+\x96\x86\x5f\xff\xfa\xd7\xde\x31\x68\x42\x43\x43\x91\x91\x91\x81\
+\xe0\xe0\x60\x6f\x77\xd8\x0c\x34\x44\x44\x97\x1f\x81\xa7\x80\x88\
+\x18\x64\x64\xef\xf3\xea\xd5\xab\x15\x41\xa6\x67\xcf\x9e\x58\xb6\
+\x6c\xd9\xa5\x77\x71\x17\x04\xc4\xc4\xc4\x60\xcc\x98\x31\x98\x3b\
+\x77\x2e\xc6\x8d\x1b\x77\x49\x06\x19\x00\x30\x99\x4c\x88\x89\x89\
+\xc1\x8c\x19\x33\xbc\xf3\x2a\x2a\x2a\xb0\x62\xc5\x0a\x48\x92\xe4\
+\xed\x04\x81\xff\x9b\x23\x22\x62\x98\x21\x22\xba\x6c\x03\x8d\xc3\
+\xe1\x50\x0c\xcc\xa8\x52\xa9\xb0\x72\xe5\x4a\x04\x04\x04\xf0\x04\
+\x75\x71\x98\x01\x80\x3b\xef\xbc\x53\x31\x28\xe9\xba\x75\xeb\x20\
+\x49\x12\x64\x59\x66\x90\x21\x22\x62\x98\x21\x22\xba\x3c\x43\x8c\
+\x2c\xcb\x90\x24\x09\xef\xbf\xff\x3e\x72\x73\x73\xbd\xcb\x66\xce\
+\x9c\x89\x91\x23\x47\xf2\x24\x75\x31\xa3\xd1\x08\x00\x88\x89\x89\
+\xc1\xb0\x61\xc3\xbc\xf3\x53\x52\x52\x90\x91\x91\xa1\x08\x34\x0c\
+\x35\x44\x44\x0c\x33\x44\x44\x97\x55\x90\x91\x65\x19\x6e\xb7\xdb\
+\xaf\x3a\xd9\xc2\x85\x0b\x79\x92\x2e\x02\x3a\x9d\xce\xfb\xf3\xc4\
+\x89\x13\x15\xcb\x3e\xff\xfc\x73\x88\xa2\xe8\x0d\x34\x44\x44\xc4\
+\x30\x43\x44\x74\x59\x04\x19\xcf\xb3\x24\x49\xd8\xb7\x6f\x9f\xa2\
+\xad\xcc\xe4\xc9\x93\x2f\xda\xee\x8a\x2f\x37\x2a\x95\x0a\x1a\x8d\
+\xc6\x1b\x66\x7c\x1b\xfa\x6f\xde\xbc\x19\xa2\x28\xc2\xed\x76\xb3\
+\x74\x86\x88\x88\x61\x86\x88\xe8\xf2\x0a\x34\x9e\x52\x99\xcf\x3f\
+\xff\x5c\xb1\xec\x81\x07\x1e\xe0\x09\xba\x88\x78\xc2\x4c\x58\x58\
+\x18\x06\x0e\x1c\xe8\x9d\xbf\x6f\xdf\x3e\x54\x54\x54\xc0\xed\x76\
+\x2b\x4a\x67\x18\x68\x88\x88\x18\x66\x88\x88\xba\x75\x88\x91\x24\
+\x09\x6e\xb7\x1b\xa2\x28\xe2\x8b\x2f\xbe\xf0\x2e\x37\x18\x0c\x98\
+\x32\x65\x0a\x4f\xd4\x45\x44\xab\xd5\x7a\x7f\xf6\x6d\xc7\xe4\x76\
+\xbb\x71\xf4\xe8\x51\x6f\x55\x33\x56\x37\x23\x22\x62\x98\x21\x22\
+\xba\x6c\x02\x8d\xdb\xed\xc6\xc9\x93\x27\x91\x96\x96\xe6\x5d\x36\
+\x69\xd2\x24\x6f\xa3\x73\xba\xf8\xc2\x4c\xaf\x5e\xbd\x14\xcb\x52\
+\x52\x52\xfc\xaa\x9a\x11\x11\xd1\xe5\x41\xc3\x53\x40\x44\x97\x63\
+\x88\xf1\x04\x19\x51\x14\xf1\xfd\xf7\xdf\x2b\xd6\xb9\xee\xba\xeb\
+\x3a\x75\x9f\x9c\x4e\x27\x6a\x6b\x6b\xbd\x37\xe3\x01\x01\x01\x0c\
+\x53\x2d\x84\x99\xa4\xa4\x24\xc5\xb2\xd4\xd4\x54\x38\x9d\x4e\x68\
+\x34\x1a\x08\x82\x00\x41\x10\xbc\x81\x86\x03\x69\x12\x11\x31\xcc\
+\x10\x11\x75\xbb\x40\xe3\x5b\xc5\x2c\x2b\x2b\x4b\xb1\xfc\xca\x2b\
+\xaf\xec\xb0\xf7\x2e\x29\x29\xc1\xb1\x63\xc7\x90\x92\x92\xe2\x7d\
+\x64\x66\x66\x7a\x07\x7e\x04\x00\xb5\x5a\x8d\xfe\xfd\xfb\x63\xe4\
+\xc8\x91\xb8\xfd\xf6\xdb\x31\x6e\xdc\xb8\x4e\x0b\x55\xe9\xe9\xe9\
+\x38\x71\xe2\x84\xf7\x61\xb7\xdb\xa1\xd3\xe9\xa0\xd1\x68\xa0\xd5\
+\x6a\xa1\xd5\x6a\xa1\xd7\xeb\x31\x78\xf0\x60\x4c\x9c\x38\x11\x03\
+\x07\x0e\xec\x94\xc0\xe0\x69\x33\x03\x00\xb1\xb1\xb1\xd0\xe9\x74\
+\x70\x3a\x9d\x00\x80\x53\xa7\x4e\xc1\xe9\x74\x7a\xf7\x53\x92\x24\
+\xa8\x54\x2a\x06\x19\x22\x22\x86\x19\x22\xa2\xee\x15\x62\x7c\xdb\
+\xcb\x88\xa2\x08\xa7\xd3\x89\xd3\xa7\x4f\x2b\xd6\x4b\x4c\x4c\x6c\
+\xd7\xf7\x2d\x28\x28\xc0\xaa\x55\xab\xb0\x7e\xfd\x7a\x14\x15\x15\
+\xb5\xba\xbe\xdb\xed\x46\x6a\x6a\x2a\x52\x53\x53\xb1\x66\xcd\x1a\
+\x4c\x9b\x36\x0d\xcf\x3c\xf3\x0c\x86\x0f\x1f\xde\x21\xe1\x6a\xcd\
+\x9a\x35\xd8\xb8\x71\x23\xd2\xd3\xd3\x21\x8a\xe2\x39\xbd\x3e\x2c\
+\x2c\x0c\xe3\xc7\x8f\xc7\xc4\x89\x13\x31\x61\xc2\x04\x0c\x18\x30\
+\xa0\xc3\x3f\x47\x41\x10\x10\x1f\x1f\x8f\xcc\xcc\x4c\x00\x40\x66\
+\x66\x26\x9c\x4e\x27\x5c\x2e\x17\xb4\x5a\x2d\xd4\x6a\xb5\xb7\x74\
+\x86\x81\x86\x88\x88\x61\x86\x88\xa8\x5b\x05\x1a\xdf\x52\x19\xa7\
+\xd3\x89\x33\x67\xce\x78\x97\x87\x87\x87\x7b\x47\x9c\xbf\x50\x7b\
+\xf6\xec\xc1\x3b\xef\xbc\x83\x2f\xbf\xfc\xf2\x9c\x43\x82\xaf\xef\
+\xbe\xfb\x0e\xdf\x7d\xf7\x1d\x66\xcd\x9a\x85\x3f\xff\xf9\xcf\xe8\
+\xd7\xaf\xdf\x05\xef\x9b\xc5\x62\xc1\xb3\xcf\x3e\x8b\x8d\x1b\x37\
+\xc2\xe5\x72\x9d\xf7\x76\xca\xcb\xcb\xb1\x79\xf3\x66\x6c\xde\xbc\
+\x19\x00\x30\x7e\xfc\x78\xbc\xf8\xe2\x8b\x18\x31\x62\x44\x87\x7e\
+\x8e\xe1\xe1\xe1\xde\x30\x53\x59\x59\x09\xbb\xdd\x0e\x83\xc1\x00\
+\x51\x14\xa1\xd1\x68\x14\xbd\x9a\x31\xd0\x10\x11\x75\x5f\xec\x00\
+\x80\x88\x2e\x9b\x10\xd3\xb8\x17\x33\x97\xcb\x05\x87\xc3\x81\xfc\
+\xfc\x7c\xef\x7a\x09\x09\x09\x17\xf4\x3e\x0e\x87\x03\x6b\xd7\xae\
+\xc5\xd5\x57\x5f\x8d\x39\x73\xe6\x78\x07\x75\x6c\x0f\x5f\x7d\xf5\
+\x15\x26\x4f\x9e\x8c\x45\x8b\x16\xc1\x62\xb1\x9c\xf7\x79\xf8\xf2\
+\xcb\x2f\x31\x79\xf2\x64\x7c\xf2\xc9\x27\x17\x14\x64\x9a\xb2\x7b\
+\xf7\x6e\x5c\x7b\xed\xb5\xb8\xff\xfe\xfb\xfd\x4a\xbc\xda\x53\x60\
+\x60\xa0\xe2\x98\x2a\x2b\x2b\xe1\x72\xb9\x14\x5d\x34\xb3\x23\x00\
+\x22\x22\x86\x19\x22\xa2\x6e\x17\x6a\x7c\xc3\x4c\x75\x75\x35\x2a\
+\x2a\x2a\x2e\x38\xcc\x1c\x38\x70\x00\x4f\x3d\xf5\x14\x86\x0e\x1d\
+\x8a\xdf\xff\xfe\xf7\x48\x49\x49\xe9\x90\xfd\x77\xbb\xdd\x58\xbd\
+\x7a\x35\xc6\x8c\x19\x83\xe5\xcb\x97\x7b\xdb\x8d\xb4\x76\xcc\x67\
+\xce\x9c\xc1\x07\x1f\x7c\x80\xab\xae\xba\x0a\xf7\xdc\x73\x0f\x8a\
+\x8b\x8b\x3b\xf4\x1c\xff\xf7\xbf\xff\xc5\x55\x57\x5d\x85\xe7\x9e\
+\x7b\x4e\x71\x7e\x3b\x22\xcc\x00\xf5\x25\x4d\x2e\x97\xcb\xdb\xab\
+\x19\xbb\x68\x26\x22\xba\x3c\xb0\x9a\x19\x11\x5d\x56\x41\xc6\xb7\
+\xbd\x8c\xcb\xe5\x42\x4e\x4e\x8e\xe2\xa6\xb7\x2d\x61\xc6\x66\xb3\
+\x21\x3f\x3f\x1f\x79\x79\x79\xd8\xbf\x7f\x3f\x3e\xf9\xe4\x13\x64\
+\x67\x67\x77\xea\xb1\x54\x57\x57\x63\xf1\xe2\xc5\x58\xba\x74\x29\
+\xae\xba\xea\x2a\x4c\x98\x30\x01\xa1\xa1\xa1\x50\xa9\x54\x10\x04\
+\x01\x85\x85\x85\x48\x4b\x4b\x43\x7a\x7a\x3a\xd2\xd3\xd3\x51\x57\
+\x57\xd7\xe9\xe7\xdb\xe9\x74\xe2\xad\xb7\xde\xc2\xda\xb5\x6b\x31\
+\x7b\xf6\x6c\x8c\x1f\x3f\x1e\x13\x26\x4c\x40\x7c\x7c\xfc\x79\x7d\
+\x76\x2d\x85\x99\xf2\xf2\x72\x38\x9d\x4e\xef\x78\x33\xac\x66\x46\
+\x44\xc4\x30\x43\x44\xd4\x2d\x83\x8c\x6f\x7b\x99\xdc\xdc\x5c\xbf\
+\xa0\xf2\xee\xbb\xef\x22\x37\x37\x17\x25\x25\x25\xb0\xd9\x6c\xde\
+\x87\xd5\x6a\x45\x71\x71\x31\x2a\x2b\x2b\xdb\x65\x9f\x74\x3a\x1d\
+\x22\x23\x23\x11\x14\x14\x84\xb2\xb2\x32\x58\x2c\x16\x45\xaf\x66\
+\x6d\x51\x5b\x5b\x8b\xed\xdb\xb7\x63\xfb\xf6\xed\x17\xed\xb9\xaf\
+\xaa\xaa\xc2\xda\xb5\x6b\xb1\x76\xed\x5a\x00\x40\x7c\x7c\x3c\xc6\
+\x8f\x1f\x8f\x2b\xaf\xbc\x12\xc9\xc9\xc9\x48\x4a\x4a\x42\x6c\x6c\
+\x2c\x04\xa1\xed\x95\x05\x02\x02\x02\x14\xd3\x9e\x6a\x66\x4d\x95\
+\xcc\x30\xd0\x10\x11\x31\xcc\x10\x11\x5d\xd2\x41\xc6\xf3\xdc\x52\
+\xe3\x7f\x00\x58\xb5\x6a\x55\x87\xec\x83\x56\xab\xc5\xf8\xf1\xe3\
+\x71\xfd\xf5\xd7\x63\xda\xb4\x69\x88\x8f\x8f\x47\x48\x48\x88\x62\
+\x1d\x49\x92\x60\xb1\x58\x90\x99\x99\x89\x2d\x5b\xb6\xe0\xeb\xaf\
+\xbf\xc6\xd1\xa3\x47\x3b\xed\x3c\xa9\x54\x2a\x8c\x1c\x39\x12\x13\
+\x26\x4c\x40\x4c\x4c\x0c\xa2\xa2\xa2\x10\x15\x15\x05\x9d\x4e\x87\
+\xd2\xd2\x52\x94\x94\x94\xa0\xa4\xa4\x04\x29\x29\x29\xd8\xb1\x63\
+\x07\x6c\x36\xdb\x79\xbd\xcf\x99\x33\x67\xf0\xf1\xc7\x1f\xe3\xe3\
+\x8f\x3f\x56\x04\xbb\x84\x84\x04\xf4\xec\xd9\x13\xbd\x7a\xf5\x42\
+\x72\x72\xb2\xf7\x39\x2e\x2e\xce\xaf\x64\xa6\x71\xf5\x3a\x59\x96\
+\xfd\xc2\x8c\x24\x49\x10\x04\x81\x41\x86\x88\x88\x61\x86\x88\xe8\
+\xd2\x0f\x34\x8d\xdb\xcb\xb8\x5c\x2e\x45\xe3\xff\x8e\x72\xef\xbd\
+\xf7\xe2\x2f\x7f\xf9\x0b\xc2\xc2\xc2\x5a\x5c\x4f\x10\x04\x44\x46\
+\x46\x22\x32\x32\x12\xe3\xc6\x8d\xc3\x0b\x2f\xbc\x80\xe3\xc7\x8f\
+\xe3\xb1\xc7\x1e\xc3\xee\xdd\xbb\x3b\x6c\xff\x7a\xf7\xee\x8d\x45\
+\x8b\x16\xe1\xba\xeb\xae\x43\x54\x54\x54\x9b\x5e\xe3\x70\x38\xb0\
+\x73\xe7\x4e\xbc\xf7\xde\x7b\xf8\xfc\xf3\xcf\x2f\x78\x1f\x9c\x4e\
+\x27\x32\x32\x32\x90\x91\x91\xe1\xb7\x4c\xaf\xd7\xa3\x47\x8f\x1e\
+\xe8\xdd\xbb\x37\x46\x8c\x18\x81\x91\x23\x47\xa2\xba\xba\x5a\xb1\
+\x8e\xd1\x68\x54\x74\x00\xc0\x36\x33\x44\x44\x0c\x33\x44\x44\xdd\
+\x2e\xd0\x34\x2e\x99\x69\x7c\x53\xdc\x9e\x04\x41\xc0\xa6\x4d\x9b\
+\x30\x7d\xfa\xf4\xf3\xde\xc6\xc0\x81\x03\xb1\x6d\xdb\x36\xbc\xfc\
+\xf2\xcb\xf8\xdb\xdf\xfe\xd6\xae\xfb\xa7\x52\xa9\xf0\xe8\xa3\x8f\
+\xe2\xc5\x17\x5f\x84\xd1\x68\x3c\xa7\xd7\xea\xf5\x7a\x5c\x73\xcd\
+\x35\xb8\xe6\x9a\x6b\xb0\x71\xe3\x46\x3c\xf6\xd8\x63\x28\x2b\x2b\
+\xeb\x90\xf3\xe8\x70\x38\x90\x99\x99\x89\xcc\xcc\x4c\x6c\xdd\xba\
+\x15\x80\x7f\x9b\x19\x83\xc1\xa0\x28\x99\xf1\xed\xbd\x8e\xd5\xcc\
+\x88\x88\xba\x2f\xf6\x66\x46\x44\x97\x4d\x90\x69\x1c\x66\xda\xbb\
+\x5b\xe2\xc6\x66\xcf\x9e\x7d\x41\x41\xc6\x37\x74\x3c\xf9\xe4\x93\
+\x6d\x2e\x35\x39\x97\xfd\x5b\xb6\x6c\xd9\x39\x07\x99\xc6\x6e\xba\
+\xe9\x26\xbc\xf6\xda\x6b\x9d\xfa\x79\x5a\xad\x56\xef\xcf\x6a\xb5\
+\x1a\x6a\xb5\xda\xaf\x8a\x19\xbb\x67\x26\x22\x62\x98\x21\x22\xea\
+\x56\x41\xa6\x33\xc3\x4c\xdf\xbe\x7d\xdb\x6d\x5b\x7a\xbd\x1e\x89\
+\x89\x89\xed\xba\x7f\xf7\xdc\x73\x4f\xbb\x6d\xeb\x96\x5b\x6e\x81\
+\xd9\x6c\xee\x92\xcf\xd7\xb7\x54\xa6\xb9\xae\x99\x19\x6a\x88\x88\
+\x18\x66\x88\x88\x2e\xc9\x20\xe3\xfb\x73\xe3\x6a\x66\x1d\x69\xd5\
+\xaa\x55\x8a\x12\x84\x0b\xb1\x77\xef\x5e\xfc\xf2\xcb\x2f\xed\xba\
+\x7f\x5b\xb6\x6c\x69\xb7\x6d\xfd\xf4\xd3\x4f\xa8\xa9\xa9\xe9\x92\
+\xcf\xd8\x68\x34\x36\x19\x64\x58\x32\x43\x44\xc4\x30\x43\x44\xd4\
+\x2d\x02\x4d\xe3\x92\x19\x4f\x07\x00\x1d\x79\xb3\x5b\x51\x51\x81\
+\x09\x13\x26\xe0\xa7\x9f\x7e\xba\xa0\x7d\x5f\xb5\x6a\x15\xe6\xce\
+\x9d\xdb\xee\xfb\xf7\xd1\x47\x1f\xe1\xd3\x4f\x3f\xbd\xe0\xed\xa4\
+\xa5\xa5\xe1\x89\x27\x9e\xe8\xb2\xcf\xd7\x13\x66\x7c\xab\x98\x35\
+\xee\x9a\x99\x88\x88\x18\x66\x88\x88\x2e\xf9\x40\xe3\x29\x95\xe9\
+\x8c\x6a\x66\x9e\x1b\xfd\x6b\xae\xb9\x06\xb7\xdf\x7e\x3b\x3e\xfa\
+\xe8\xa3\x36\x37\x92\xcf\xcc\xcc\xc4\xbf\xff\xfd\x6f\x4c\x9e\x3c\
+\x19\xbf\xfb\xdd\xef\x50\x55\x55\xd5\xee\xfb\x66\xb7\xdb\x71\xd7\
+\x5d\x77\x61\xde\xbc\x79\xe7\xd5\x05\x74\x49\x49\x09\x96\x2e\x5d\
+\x8a\xb1\x63\xc7\x76\x6a\x17\xd2\x4d\x85\x19\xb7\xdb\xed\x7d\xb0\
+\x64\x86\x88\xe8\xf2\xc1\xde\xcc\x88\xe8\xb2\x09\x32\x6d\x29\x99\
+\x49\x48\x48\xc0\x94\x29\x53\x10\x12\x12\xe2\x7d\x0d\x50\x3f\x06\
+\x4c\x71\x71\x31\x0e\x1c\x38\xe0\x37\xd0\x66\x5b\xde\x7f\xd3\xa6\
+\x4d\xd8\xb4\x69\x13\x04\x41\xc0\x90\x21\x43\x10\x1f\x1f\xef\x1d\
+\xc7\xc5\x33\x68\xa6\x67\x2c\x97\xcc\xcc\xcc\x26\xbb\x28\xee\x28\
+\x5f\x7e\xf9\x25\xbe\xfc\xf2\x4b\xf4\xe8\xd1\x03\x73\xe6\xcc\xc1\
+\xa4\x49\x93\x70\xc5\x15\x57\xf8\x8d\x33\x53\x5a\x5a\x8a\xe2\xe2\
+\x62\x1c\x3b\x76\x0c\x5f\x7e\xf9\x25\x7e\xf9\xe5\x97\x0b\x0a\x0b\
+\x7a\xbd\x1e\xe1\xe1\xe1\x08\x0b\x0b\x43\x78\x78\x38\x44\x51\x44\
+\x56\x56\x16\x8a\x8a\x8a\xce\x69\xbb\xbe\x25\x33\xec\x00\x80\x88\
+\x88\x61\x86\x88\xa8\x5b\x07\x19\x4f\xc9\x8c\xd3\xe9\xf4\xbb\xd9\
+\x7d\xef\xbd\xf7\x30\x62\xc4\x88\x16\xb7\x59\x56\x56\x86\x03\x07\
+\x0e\xe0\xc0\x81\x03\xf8\xfe\xfb\xef\x71\xf0\xe0\xc1\x36\xef\x8f\
+\x24\x49\x38\x72\xe4\x08\x8e\x1c\x39\x72\xd1\x9d\xab\xbc\xbc\x3c\
+\xac\x58\xb1\x02\x2b\x56\xac\xe8\x90\xed\x87\x84\x84\x60\xfe\xfc\
+\xf9\x98\x3f\x7f\x3e\x12\x12\x12\x60\x32\x99\x9a\x5c\xaf\xae\xae\
+\x0e\x59\x59\x59\xde\xc7\xa1\x43\x87\xb0\x77\xef\x5e\x94\x96\x96\
+\x36\xb9\xbe\xc1\x60\xf0\x7e\xae\x4d\x05\x19\x06\x1a\x22\x22\x86\
+\x19\x22\xa2\x4b\x32\xc8\xf8\xfe\xec\x09\x33\x2d\x95\xcc\x88\xa2\
+\xd8\xea\x76\x23\x22\x22\x30\x73\xe6\x4c\xcc\x9c\x39\x13\xcf\x3c\
+\xf3\x0c\x8e\x1e\x3d\x8a\xf7\xde\x7b\x0f\x9f\x7d\xf6\x19\xec\x76\
+\x7b\xa7\x1e\xe3\xc0\x81\x03\x31\x67\xce\x1c\x6f\x38\x30\x99\x4c\
+\x70\x3a\x9d\xf8\xe1\x87\x1f\xb0\x6d\xdb\x36\x9c\x3e\x7d\xba\xcb\
+\x3f\x87\x41\x83\x06\xe1\xbe\xfb\xee\xc3\xbc\x79\xf3\xda\xd4\x0d\
+\xb4\xd1\x68\xc4\xa0\x41\x83\x30\x68\xd0\x20\x00\xc0\xf1\xe3\xc7\
+\xe1\x70\x38\x90\x9b\x9b\x8b\xfd\xfb\xf7\xe3\xdb\x6f\xbf\x55\x94\
+\x5c\xe9\xf5\x7a\x45\x35\xb3\xc6\x55\xcd\x88\x88\x88\x61\x86\x88\
+\xe8\x92\x0e\x35\xbe\xa5\x33\xbe\x6d\x66\x1a\xdf\xec\xba\xdd\xee\
+\x73\xde\xfe\xd0\xa1\x43\xf1\xc6\x1b\x6f\xe0\x85\x17\x5e\xc0\xba\
+\x75\xeb\xf0\xc6\x1b\x6f\xc0\x62\xb1\x74\xd8\xf1\xe8\x74\x3a\x2c\
+\x58\xb0\x00\xf7\xdf\x7f\x3f\xfa\xf4\xe9\xd3\xe4\x3a\xb3\x66\xcd\
+\x82\x2c\xcb\xf8\xea\xab\xaf\xb0\x6c\xd9\x32\xa4\xa6\xa6\x76\xfa\
+\x79\x1f\x3c\x78\x30\x16\x2f\x5e\x8c\x69\xd3\xa6\x9d\xf7\x36\xdc\
+\x6e\x37\x1c\x0e\x07\x80\xfa\x2a\x80\x09\x09\x09\x28\x2e\x2e\x56\
+\x84\x19\x4f\x15\xb5\xe6\xaa\x99\x71\xe0\x4c\x22\xa2\xee\x8b\x1d\
+\x00\x10\xd1\x65\x11\x64\x7c\x3b\x00\xf0\x1d\x67\x46\xa3\x51\xfe\
+\x4f\xa7\xb6\xb6\xf6\xbc\xdf\x2b\x34\x34\x14\x8f\x3c\xf2\x08\x76\
+\xec\xd8\x81\xd1\xa3\x47\xb7\xfb\xb1\x18\x8d\x46\x3c\xfc\xf0\xc3\
+\x38\x74\xe8\x10\x96\x2d\x5b\xd6\x6c\x90\xf1\x50\xa9\x54\x98\x3d\
+\x7b\x36\xbe\xff\xfe\x7b\xac\x5a\xb5\x0a\xfd\xfa\xf5\xeb\x94\x73\
+\x9e\x90\x90\x80\x15\x2b\x56\x60\xc7\x8e\x1d\x17\x14\x64\x80\xfa\
+\x2a\x67\x8d\xf9\x76\x36\xa0\xd1\x68\x10\x12\x12\xd2\x62\x90\x21\
+\x22\x22\x86\x19\x22\xa2\x4b\x3a\xd0\xf8\x76\xd9\xeb\xdb\x6e\x46\
+\xa7\xd3\x29\xd6\xad\xac\xac\xbc\xe0\xf7\x8b\x8d\x8d\xc5\xa6\x4d\
+\x9b\xf0\xd0\x43\x0f\x41\xab\xd5\x5e\xf0\xf6\x82\x82\x82\xf0\x87\
+\x3f\xfc\x01\x87\x0f\x1f\xc6\xcb\x2f\xbf\x8c\xe8\xe8\xe8\x73\x7a\
+\xbd\x4a\xa5\xc2\x8d\x37\xde\x88\x5d\xbb\x76\x61\xf9\xf2\xe5\x48\
+\x4a\x4a\xea\x90\xf3\x1c\x16\x16\x86\x25\x4b\x96\x60\xcf\x9e\x3d\
+\x98\x37\x6f\x5e\xbb\x94\x84\x34\x0e\x97\x36\x9b\x0d\x59\x59\x59\
+\xde\xe9\xe0\xe0\x60\x45\xf5\xc1\xc6\x81\xc6\xf3\xf9\xfb\x3e\x13\
+\x11\x11\xc3\x0c\x11\xd1\x25\x13\x64\x7c\x03\x8d\xef\x4d\xaf\x28\
+\x8a\x7e\x61\xa3\xa2\xa2\xa2\x5d\xde\x57\xa7\xd3\x79\x6f\xec\x17\
+\x2c\x58\x70\xce\xa1\xa6\x77\xef\xde\x78\xe4\x91\x47\xb0\x61\xc3\
+\x06\x9c\x3a\x75\x0a\xcf\x3e\xfb\x2c\xc2\xc3\xc3\x2f\xec\x82\x2f\
+\x08\xf8\xd5\xaf\x7e\x85\x3d\x7b\xf6\xe0\xdd\x77\xdf\xc5\xa4\x49\
+\x93\xda\x25\x70\x04\x05\x05\x61\xe1\xc2\x85\xd8\xbf\x7f\x3f\x1e\
+\x7a\xe8\x21\xbf\x80\x78\x21\x1a\x0f\x3a\x7a\xec\xd8\x31\x6f\x0f\
+\x73\x00\x14\xa5\x32\x2c\x99\x21\x22\xba\xfc\xb0\xcd\x0c\x11\x5d\
+\x16\x81\xc6\xb7\xdd\x8c\xef\xcd\x6f\xe3\x90\xd1\x1e\x25\x33\xbe\
+\x12\x13\x13\xf1\xfa\xeb\xaf\xe3\xe5\x97\x5f\xc6\x0f\x3f\xfc\x80\
+\xed\xdb\xb7\x23\x23\x23\x03\x25\x25\x25\xa8\xaa\xaa\x42\x54\x54\
+\x14\x62\x62\x62\x10\x13\x13\x83\xd8\xd8\x58\xc4\xc5\xc5\x61\xc2\
+\x84\x09\x1d\x56\x7a\x02\xd4\x57\xcd\xba\xe9\xa6\x9b\x70\xd3\x4d\
+\x37\x21\x2b\x2b\x0b\xff\xf9\xcf\x7f\xf0\xed\xb7\xdf\x22\x3d\x3d\
+\x5d\x11\x14\x5a\x0a\x45\xc3\x86\x0d\xc3\xb4\x69\xd3\x30\x75\xea\
+\x54\x8c\x1e\x3d\xda\xaf\xba\x5e\x7b\x7d\x6e\x35\x35\x35\x7e\x61\
+\xc6\x57\x70\x70\xb0\xf7\x73\xf5\x7d\x66\x90\x21\x22\x62\x98\x21\
+\x22\xba\xe4\x43\x4c\x6b\x81\xa6\xa3\xc3\x8c\x87\xd9\x6c\xc6\x9c\
+\x39\x73\x30\x67\xce\x9c\x8b\xea\x1c\xf5\xea\xd5\x0b\x2f\xbc\xf0\
+\x02\x5e\x78\xe1\x05\xd8\x6c\x36\x1c\x3b\x76\x0c\x07\x0f\x1e\xc4\
+\x89\x13\x27\xe0\x76\xbb\xa1\xd3\xe9\xa0\xd5\x6a\xa1\xd3\xe9\xa0\
+\xd3\xe9\x30\x64\xc8\x10\x4c\x99\x32\xe5\x82\x4b\x89\xda\xc2\x66\
+\xb3\xf9\x85\x2b\xdf\xf6\x32\x2a\x95\x0a\x81\x81\x81\x2d\x06\x19\
+\xdf\x67\x76\x00\x40\x44\xc4\x30\x43\x44\x74\xc9\x05\x9a\xc6\x55\
+\xcd\x7c\x1f\x1d\x55\xcd\xec\x52\x14\x10\x10\x80\x71\xe3\xc6\x61\
+\xdc\xb8\x71\x17\xc5\xfe\x54\x57\x57\x2b\xa6\xeb\xea\xea\x90\x9e\
+\x9e\xee\x9d\x36\x99\x4c\x10\x04\xa1\x4d\x61\x96\x88\x88\xba\x27\
+\xb6\x99\x21\xa2\xcb\x2a\xd4\x34\x7e\xa8\xd5\x6a\xc5\x0d\xf1\xe5\
+\x1c\x66\x2e\x36\x8d\xc3\x4c\x6a\x6a\xaa\xa2\xeb\x6c\x93\xc9\x04\
+\x95\x4a\xe5\x2d\x71\x69\x5c\xf2\xc2\x92\x18\x22\x22\x86\x19\x22\
+\xa2\x6e\xcf\xb7\x74\xa6\xa3\xaa\x99\xd1\xb9\x71\xb9\x5c\x7e\xdd\
+\x32\x37\x6e\x2f\x13\x18\x18\x08\x95\x4a\x05\x41\x10\x20\x08\x82\
+\xf7\xe7\x96\x02\x0e\x11\x11\x31\xcc\x10\x11\x5d\xf4\x9a\xab\x62\
+\xe4\xb9\xd1\xf5\xbd\x09\xf6\x0d\x33\x2c\x99\xb9\x38\x34\x6e\xf8\
+\x0f\x00\x87\x0e\x1d\xf2\x0b\x33\x6a\xb5\x5a\xf1\xf0\x0d\x36\xbe\
+\x41\x86\xa1\x86\x88\x88\x61\x86\x88\xe8\x92\xd5\x38\xc4\xf8\xde\
+\xf8\xfa\x76\x25\xcc\x30\x73\x71\xa8\xaa\xaa\x52\x4c\xe7\xe4\xe4\
+\xe0\xc4\x89\x13\xde\x69\x83\xc1\x00\x9d\x4e\x07\x8d\x46\xa3\x78\
+\x34\x15\x68\x18\x64\x88\x88\x18\x66\x88\x88\xba\x45\x88\xf1\x04\
+\x19\xb5\x5a\xed\xbd\x01\x6e\x1c\x66\xda\xd2\x3d\x31\x75\x1c\x51\
+\x14\xfd\xc2\xcc\xa6\x4d\x9b\x14\xd3\x21\x21\x21\x8a\x5e\xd6\x3c\
+\xbd\xae\xf9\x06\x1a\x06\x19\x22\x22\x86\x19\x22\xa2\x4b\x3a\xc4\
+\x78\x7e\xf6\x0d\x32\x9e\x10\xa3\xd5\x6a\xa1\xd5\x6a\xa1\xd7\xeb\
+\x15\x37\xd2\x36\x9b\x8d\x27\xb0\x0b\x55\x54\x54\x28\xaa\x09\xd6\
+\xd6\xd6\x62\xdb\xb6\x6d\x0d\x7f\xb8\x04\x01\x61\x61\x61\xd0\xe9\
+\x74\xd0\xeb\xf5\xde\x07\x03\x0d\x11\x11\xc3\x0c\x11\x51\xb7\x0c\
+\x35\x9e\x40\xd3\x38\xc8\x78\x6e\x88\x7d\x35\x1e\x75\x9e\x3a\x57\
+\x79\x79\xb9\x62\xfa\xdb\x6f\xbf\x55\x74\x06\x60\x36\x9b\xa1\xd7\
+\xeb\x61\x30\x18\x60\x34\x1a\x61\x34\x1a\x61\x30\x18\x14\x81\xc6\
+\x37\xcc\x78\xbe\x07\x44\x44\xc4\x30\x43\x44\x74\x49\x06\x9a\xc6\
+\xd5\xcb\x3c\x41\x46\xab\xd5\xc2\x60\x30\x28\xd6\x6f\xaa\xf1\x39\
+\x75\x0e\xbb\xdd\x8e\xda\xda\x5a\xc5\xbc\xc6\x55\xcc\xc2\xc2\xc2\
+\xbc\x41\xc6\x64\x32\x79\x1f\x46\xa3\x11\x7a\xbd\xbe\xc9\xd2\x19\
+\x06\x1a\x22\x22\x86\x19\x22\xa2\x4b\x32\xc8\x34\x6e\xf8\xcf\x92\
+\x99\x8b\x97\xc5\x62\x51\x4c\x1f\x3e\x7c\x18\xb9\xb9\xb9\xde\x69\
+\x9d\x4e\xe7\x2d\x89\xf1\x84\x98\x80\x80\x00\x98\x4c\x26\x6f\xa7\
+\x00\x8d\x4b\x66\x18\x62\x88\x88\xba\x2f\x0d\x4f\x01\x11\x75\xe7\
+\x20\xe3\x69\x7b\xe1\x69\x33\xd3\xb8\xdd\x8c\x46\xa3\xf1\x2b\x99\
+\x61\x98\xe9\x1a\xb2\x2c\xfb\xf5\x26\xf7\xf9\xe7\x9f\xfb\xad\x97\
+\x97\x97\x87\xba\xba\x3a\xa8\xd5\x6a\xc4\xc7\xc7\x7b\x4b\x65\x3c\
+\x55\xcd\x3c\x25\x33\xbe\xa5\x32\x44\x44\xd4\x3d\xb1\x64\x86\x88\
+\xba\x7d\xa0\xf1\x7d\xf8\x8e\x49\xe2\x09\x33\x46\xa3\x91\x61\xe6\
+\x22\x50\x53\x53\x03\x97\xcb\xe5\x9d\x2e\x2d\x2d\xc5\xee\xdd\xbb\
+\x15\x9f\xa5\x46\xa3\x81\x4a\xa5\x82\xd5\x6a\xc5\xc9\x93\x27\xb1\
+\x71\xe3\x46\x7c\xff\xfd\xf7\xa8\xaa\xaa\x52\x74\xd7\xdc\xb8\x64\
+\x86\xa1\x86\x88\xa8\x7b\x62\xc9\x0c\x11\x5d\x16\x81\xc6\xf3\xdc\
+\x54\xe9\x0c\xdb\xcc\x5c\x1c\x1a\x57\x31\xfb\xf2\xcb\x2f\x15\xdd\
+\x64\xfb\x8e\x21\xe3\x09\xa4\x00\x90\x9a\x9a\x8a\xb4\xb4\x34\x0c\
+\x1b\x36\x0c\xb7\xde\x7a\x2b\xc6\x8f\x1f\xaf\x18\x6b\x86\x88\x88\
+\xba\x2f\x96\xcc\x10\xd1\x65\x13\x68\x9a\x1b\x34\x93\x25\x33\x5d\
+\xcf\xed\x76\x2b\xc6\x96\x29\x29\x29\xc1\x86\x0d\x1b\x14\xeb\x78\
+\xaa\x8e\x35\xf7\x38\x79\xf2\x24\x96\x2e\x5d\x8a\xc7\x1e\x7b\x0c\
+\x5b\xb6\x6c\x81\xd3\xe9\x64\xa9\x0c\x11\x11\xc3\x0c\x11\x51\xf7\
+\x0b\x33\xbe\xa1\x86\x61\xa6\xeb\x35\x1e\x5b\xe6\x1f\xff\xf8\x87\
+\xa2\x3b\x66\xdf\xf0\xd9\xb8\xfd\x93\x6f\x29\x8c\x4a\xa5\x42\x5e\
+\x5e\x1e\xfe\xf5\xaf\x7f\xe1\xce\x3b\xef\xc4\xea\xd5\xab\xfd\xba\
+\x7a\x26\x22\x22\x86\x19\x22\xa2\x4b\x3e\xd0\x78\x1e\xec\x00\xa0\
+\xeb\xf9\x56\x31\xfb\xf6\xdb\x6f\xb1\x7f\xff\x7e\xc5\x72\xdf\x06\
+\xfd\xbe\xed\x9e\x1a\x87\x1b\xdf\x92\x98\xea\xea\x6a\x7c\xf4\xd1\
+\x47\xb8\xe3\x8e\x3b\xb0\x6c\xd9\x32\x64\x65\x65\xf1\x44\x13\x11\
+\x31\xcc\x10\x11\x5d\x7a\x21\xa6\xa5\x40\xe3\x5b\x22\xe0\xb9\x71\
+\xa6\xce\xe3\x3b\xb6\x4c\x45\x45\x05\xde\x7a\xeb\xad\x26\x83\x4c\
+\x4b\x8f\x96\x1a\xfa\x8b\xa2\x88\xad\x5b\xb7\xe2\xfe\xfb\xef\xc7\
+\x73\xcf\x3d\x87\xbc\xbc\x3c\x9e\x74\x22\x22\x86\x19\x22\xa2\x4b\
+\x2b\xd0\x34\xd5\x11\x80\x20\x08\x70\xbb\xdd\x8a\x75\x4d\x26\x13\
+\x4f\x58\x27\xf2\xad\x06\xf6\xe6\x9b\x6f\x2a\x3a\x60\xf0\x94\xc4\
+\x34\xae\x56\xe6\x5b\x32\xd3\x38\xc4\xb4\xd4\x46\x66\xf7\xee\xdd\
+\xf8\xed\x6f\x7f\x8b\xb7\xde\x7a\x8b\x25\x70\x44\x44\xdd\x00\xff\
+\xfd\x48\x44\xdd\x3e\xc4\xf8\x96\xbc\x34\xee\xaa\x59\xa5\x52\xc1\
+\x66\xb3\x29\x5e\xd3\xb8\x0d\x0d\xb5\x9d\xc5\x62\xc1\xb1\x63\xc7\
+\x70\xfa\xf4\x69\x88\xa2\x08\x49\x92\xe0\x76\xbb\xbd\xcf\x6a\xb5\
+\x1a\x49\x49\x49\x48\x4e\x4e\x46\xcf\x9e\x3d\xa1\xd5\x6a\xbd\x61\
+\xe6\xa7\x9f\x7e\xc2\x0f\x3f\xfc\xa0\xd8\x9e\x5a\xad\xf6\x2b\x49\
+\x6b\xae\xfd\x4c\xe3\xc0\xda\x1c\x51\x14\xf1\xe9\xa7\x9f\xe2\x9b\
+\x6f\xbe\xc1\xbd\xf7\xde\x8b\x1b\x6e\xb8\x01\x82\xc0\xff\xed\x11\
+\x11\x31\xcc\x10\x11\x5d\x02\xe1\xc6\xf7\x39\x25\x25\x05\xbb\x76\
+\xed\x52\xac\xc3\x92\x99\xb6\xa9\xac\xac\xc4\xde\xbd\x7b\x71\xe4\
+\xc8\x11\x1c\x3b\x76\x0c\x47\x8f\x1e\x45\x7e\x7e\x7e\x9b\x5f\x2f\
+\x08\x02\x62\x63\x63\x11\x1d\x1d\x8d\x5e\xbd\x7a\x61\xeb\xd6\xad\
+\x7e\xcb\x9b\x6a\xf0\xdf\xb8\xbd\xcc\xf9\x8e\x25\x53\x5d\x5d\x8d\
+\x7f\xfe\xf3\x9f\xf8\xfc\xf3\xcf\xf1\xf0\xc3\x0f\x63\xcc\x98\x31\
+\xfc\x50\x89\x88\x18\x66\x88\x88\x2e\xfe\x20\x53\x50\x50\x80\x77\
+\xde\x79\x07\xe9\xe9\xe9\x70\x3a\x9d\x8a\xf5\x58\x32\xd3\xb2\x3d\
+\x7b\xf6\xe0\x83\x0f\x3e\xc0\xa6\x4d\x9b\xe0\x70\x38\xce\x7b\x3b\
+\x92\x24\x21\x2f\x2f\x0f\x79\x79\x79\x38\x70\xe0\x80\xdf\x67\xe5\
+\x5b\x8d\xac\xad\x8d\xfe\xcf\xa7\x1b\xe6\xd3\xa7\x4f\xe3\xa9\xa7\
+\x9e\xc2\xd8\xb1\x63\xf1\xd0\x43\x0f\x21\x21\x21\x81\x1f\x32\x11\
+\x11\xc3\x0c\x11\xd1\xc5\xc7\xe9\x74\x62\xed\xda\xb5\xf8\xe2\x8b\
+\x2f\x60\xb7\xdb\x01\xc0\xaf\x03\x00\x93\xc9\x04\xa7\xd3\x89\xf2\
+\xf2\x72\x58\x2c\x16\x58\x2c\x16\x54\x55\x55\x21\x3a\x3a\x1a\x49\
+\x49\x49\x88\x8a\x8a\xba\xec\xce\x5b\x45\x45\x05\xd6\xaf\x5f\x8f\
+\x35\x6b\xd6\x20\x2d\x2d\xad\xc3\xdf\x4f\x96\x65\xb8\x5c\x2e\x48\
+\x92\xd4\x64\x35\x33\xcf\xc3\x33\xff\x7c\x83\x8c\xaf\xbd\x7b\xf7\
+\x62\xff\xfe\xfd\x98\x3b\x77\x2e\xee\xbe\xfb\x6e\x98\xcd\x66\xfe\
+\xc2\x10\x11\x5d\xe4\x54\x72\xe3\xbf\xe2\x44\x44\xdd\x8c\xa7\xbd\
+\xc6\xce\x9d\x3b\xf1\xe6\x9b\x6f\xa2\xb8\xb8\x18\xa2\x28\xc2\xe9\
+\x74\xc2\xe1\x70\xa0\xa4\xa4\x44\xd1\x35\x70\xbf\x7e\xfd\x90\x95\
+\x95\x05\x97\xcb\xd5\xe4\xf6\x8c\x46\x23\x92\x92\x92\x30\x78\xf0\
+\x60\xdc\x71\xc7\x1d\x98\x34\x69\x52\xb7\x1d\x98\xb1\xa4\xa4\x04\
+\x2f\xbf\xfc\x32\x3e\xfb\xec\x33\xbf\x12\x2c\xe5\x5f\x13\x15\x42\
+\xa3\x13\x10\x95\xd0\x1f\x51\x89\xfd\x11\x19\xdf\x17\x5a\xbd\x01\
+\x2a\x41\x0d\x95\x20\x40\x10\xd4\x50\xa9\x04\xb8\x9c\x75\xa8\x28\
+\x3c\x8d\xf2\xa2\x1c\x94\x17\xe6\xa0\xa2\x28\x07\x55\x25\x79\x90\
+\x24\x77\xcb\x7f\xac\x54\x2a\x98\xcd\x66\x44\x44\x44\xc0\x60\x30\
+\x40\xa7\xd3\x41\xa7\xd3\x41\xa3\xd1\xf8\x75\x04\xd0\x1e\x9f\x85\
+\xd9\x6c\xc6\xbd\xf7\xde\x8b\xb9\x73\xe7\x72\xd0\x4d\x22\x22\x86\
+\x19\x22\xa2\xae\x53\x58\x58\x88\x7f\xfd\xeb\x5f\xf8\xf9\xe7\x9f\
+\x21\x49\x12\x44\x51\xf4\x86\x99\xaa\xaa\x2a\xe4\xe7\xe7\xb7\x7c\
+\xa3\xde\x8a\xc4\xc4\x44\x2c\x58\xb0\x00\xf3\xe7\xcf\x47\x74\x74\
+\x74\xb7\x09\x80\xef\xbf\xff\x3e\x96\x2c\x59\x82\xea\xea\xea\x26\
+\xd7\x09\x08\x0e\xc7\xa0\x89\x37\xa2\xe7\xd0\x89\x88\x4c\xe8\x07\
+\x9d\x21\xe0\xbc\xde\xcb\x51\x67\x45\xf6\x91\x5d\xc8\x38\xf0\x1d\
+\xb2\x8f\xfd\x04\x97\xa3\xae\xd9\x75\xb5\x5a\x2d\x62\x62\x62\x10\
+\x19\x19\x09\xad\x56\xeb\xd7\xab\x99\x27\xf8\xb4\x97\x61\xc3\x86\
+\xe1\xe9\xa7\x9f\x46\x64\x64\x24\x7f\x91\x88\x88\x18\x66\x88\x88\
+\x3a\x8f\xdb\xed\xc6\xa7\x9f\x7e\x8a\xf7\xdf\x7f\x1f\x0e\x87\x03\
+\xb2\x2c\x7b\xc3\x4c\x79\x79\x39\x72\x73\x73\xbd\xe3\x9b\xb4\x07\
+\x8d\x46\x83\x79\xf3\xe6\xe1\xe5\x97\x5f\x46\x68\x68\xe8\x25\x7b\
+\xde\x52\x52\x52\xf0\xc7\x3f\xfe\x11\x07\x0f\x1e\xf4\xff\xa3\xa1\
+\x12\x90\x34\xe4\x2a\x0c\x9d\x72\x2b\x86\x4f\x98\x81\xb0\x40\x03\
+\xb4\x6a\x15\x04\x41\x05\x41\x05\x38\x45\x19\x76\x97\x1b\x0e\x97\
+\x1b\x76\x97\x04\x87\xcb\x0d\xd1\xdd\xf6\x3f\x33\xa2\xcb\x89\xdc\
+\xd4\x9f\x91\x7e\x60\x07\x32\x0f\x7f\x0f\xbb\xb5\xaa\xc9\xf5\x62\
+\x62\x62\x90\x94\x94\xa4\x18\x4c\xb3\xbd\x4a\x65\x1a\x33\x9b\xcd\
+\x58\xb8\x70\x21\xa6\x4c\x99\xc2\x5f\x2a\x22\x22\x86\x19\x22\xa2\
+\x8e\x97\x9f\x9f\x8f\x97\x5e\x7a\x09\x19\x19\x19\x00\xea\xdb\x60\
+\xc8\xb2\x0c\xb7\xdb\x8d\xec\xec\xec\x16\x07\x4e\xd4\x68\x75\x88\
+\xee\x39\x18\x51\x09\x7d\x61\x08\x0c\x81\x21\x20\x18\x7a\x63\x20\
+\x6a\xab\x2d\xa8\x2c\xc9\x43\x65\xc9\x19\x94\xe5\xa5\xa3\xb6\xba\
+\xbc\xc9\xd7\x47\x46\x46\x62\xd9\xb2\x65\xb8\xe1\x86\x1b\x2e\xa9\
+\x73\x66\xb3\xd9\xb0\x74\xe9\x52\xbc\xfd\xf6\xdb\x7e\x63\xef\x18\
+\x02\x82\x30\x62\xc6\x1d\x18\x3d\x7d\x1e\x12\x12\x7a\x20\xd8\xa4\
+\x83\x5a\xa8\x0f\x0e\x92\x2c\xa3\xce\xe9\x86\xdd\xe9\x46\xdd\xd9\
+\x87\x24\xcb\x50\xa1\x7e\xb9\x5b\x92\x21\x9d\xc7\x9f\x1a\x59\x92\
+\x90\x77\xea\x00\x8e\xef\xfe\x12\xc7\x7f\xfa\x02\xb2\x2c\x29\x96\
+\x47\x47\x47\xa3\x5f\xbf\x7e\x1d\x56\x2a\xd3\xd8\xcc\x99\x33\xf1\
+\xd8\x63\x8f\xb1\x83\x08\x22\x22\x86\x19\x22\xa2\x8e\xb3\x73\xe7\
+\x4e\xbc\xf2\xca\x2b\x8a\x52\x17\x59\x96\x51\x57\x57\x87\xe3\xc7\
+\x8f\x37\x59\x6d\x2a\x30\x24\x12\x43\xae\xbe\x15\x49\x83\xc7\x23\
+\xa9\xef\x60\x98\x03\x0c\x30\xe9\xd5\x08\xd0\x6b\x60\xd2\xab\x21\
+\x49\x80\x53\x94\xe0\x14\x25\xb8\x44\x09\x75\x4e\x17\xf6\xef\xde\
+\x81\x43\x3b\x36\x20\xeb\xf0\x4e\x48\x6e\xd1\x6f\x9b\x37\xde\x78\
+\x23\x96\x2d\x5b\x86\x88\x88\x88\x8b\xfe\x9c\xfd\xf0\xc3\x0f\x78\
+\xec\xb1\xc7\x50\x50\x50\xe0\xb7\xac\xff\xd8\xeb\x30\xf5\xce\x27\
+\xd0\x33\x3e\x06\xe1\x66\xbd\xf7\x7c\xd6\xd8\x45\x54\xda\x9c\xb0\
+\xda\x45\x74\xf4\x5f\x92\xd2\x33\xe9\xd8\xf1\xd1\xdf\x91\x77\x4a\
+\xd9\xeb\x59\x72\x72\x32\xe2\xe3\xe3\x3b\x25\xcc\x00\x40\x6c\x6c\
+\x2c\xfe\xfc\xe7\x3f\xa3\x7f\xff\xfe\xfc\x45\x23\x22\x62\x98\x21\
+\x22\x6a\x3f\xa2\x28\x62\xe5\xca\x95\xd8\xb0\x61\x83\xdf\xb2\xba\
+\xba\x3a\x1c\x3c\x78\xd0\xaf\x2b\xe1\xc8\x84\x7e\xb8\x72\xd6\xaf\
+\x31\xf8\xaa\x6b\x10\x1d\x1a\x80\xc8\x60\x03\x0c\xda\xb6\x0d\xa0\
+\x28\x49\x40\x71\x95\x1d\x59\xb9\x05\xf8\xe5\xdb\xff\xc3\xde\xcd\
+\xef\x41\x74\x2a\xb7\x1f\x16\x16\x86\x57\x5e\x79\x05\x73\xe7\xce\
+\xbd\x68\xcf\xdb\x9a\x35\x6b\xb0\x68\xd1\x22\x88\xa2\x32\x90\x05\
+\x47\xf6\xc0\x8c\xbb\x9f\xc1\x80\x51\x13\x11\x17\x66\x84\x4e\xa3\
+\x86\xdd\xe5\x46\xb9\xd5\x89\xea\x5a\x17\xdc\x52\xe7\xfe\xf9\x90\
+\x25\x09\xdf\xbe\xff\x32\x52\x76\x6d\xf4\xce\x53\xab\xd5\x18\x3b\
+\x76\x2c\xf4\x7a\x7d\xa7\x35\xd4\x57\xab\xd5\xb8\xe7\x9e\x7b\x30\
+\x7f\xfe\x7c\x76\x0e\x40\x44\xc4\x30\x43\x44\x74\xe1\x4a\x4a\x4a\
+\xf0\xd2\x4b\x2f\xe1\xc4\x89\x13\x7e\xcb\x1c\x0e\x07\x0e\x1e\x3c\
+\x88\xba\x3a\x65\xc3\xf2\x91\xd7\xde\x89\xab\xff\x67\x21\x92\x63\
+\x82\x11\x19\xa4\x87\x4a\x55\x5f\x25\xaa\xd6\x51\x5f\x55\xaa\xd6\
+\xe1\x86\x74\xb6\x8a\x94\x24\xcb\x50\x0b\x02\x02\xf4\x6a\x98\xf4\
+\x6a\x98\xf4\x1a\x68\xd4\xf5\x37\xb2\xb2\x0c\x94\x54\xd9\x71\x24\
+\x35\x0d\x5b\x56\xbd\x88\x33\x27\x7e\x51\x5e\x68\x55\x2a\xbc\xf4\
+\xd2\x4b\x78\xf8\xe1\x87\x2f\xaa\x73\x26\xcb\x32\x96\x2c\x59\x82\
+\x37\xde\x78\x43\x31\x5f\x10\xd4\x18\x7d\xfd\xdd\x18\x3f\xf7\x21\
+\xc4\x46\x06\x21\xdc\xac\x87\xc3\xe5\x46\x49\x95\x03\xd5\x75\xae\
+\x2e\xdf\xef\xcd\x6f\x3d\x89\xb4\x7d\xdf\x78\xa7\xa3\xa3\xa3\x31\
+\x70\xe0\xc0\x4e\x0f\x16\x43\x86\x0c\xc1\x33\xcf\x3c\x73\x59\x76\
+\xd5\x4d\x44\xc4\x30\x43\x44\xd4\x4e\xf6\xee\xdd\x8b\xa5\x4b\x97\
+\x36\x59\x7d\x4c\x14\x45\x1c\x3c\x78\x10\x56\xab\xd5\x3b\x4f\xab\
+\x37\x62\xd6\x83\x7f\xc5\xb0\xab\x66\xa0\x4f\x8c\x19\x6e\x49\x46\
+\xb9\xd5\x89\x0a\xab\x13\x36\x87\xd8\xe6\xf7\xd5\x69\x04\x6f\x55\
+\xb4\xd0\x40\x1d\xb4\x1a\x01\x99\x85\x56\xec\xde\xfa\x09\x7e\xf8\
+\xf8\xff\xc1\x51\x5b\xa3\x58\xff\x0f\x7f\xf8\x03\x9e\x7d\xf6\xd9\
+\x8b\xe2\x9c\x39\x9d\x4e\xfc\xee\x77\xbf\xc3\x7f\xff\xfb\x5f\xc5\
+\xfc\x88\xb8\xde\x98\xf5\xd0\x5f\xd1\xa3\x57\x7f\xc4\x87\x9b\x20\
+\x43\x46\x69\x95\x03\x55\xb5\xae\x8b\xe6\xf3\xb6\x55\x59\xb0\xfa\
+\xe9\xb9\x70\xd6\xd9\xbc\xf3\x46\x8c\x18\x81\x90\x90\x90\x4e\x0f\
+\x34\x01\x01\x01\x58\xb8\x70\x21\xa6\x4e\x9d\xca\x5f\x44\x22\x22\
+\x86\x19\x22\xa2\xb6\x93\x24\x09\xab\x57\xaf\xc6\xba\x75\xeb\xd0\
+\xdc\xa5\xec\xd8\xb1\x63\x28\x2d\x2d\xf5\x4e\x6b\xb4\x3a\xdc\xbc\
+\xf0\xdf\x18\x7d\xd5\x24\xe8\x35\x02\x8a\xab\xec\x70\xb8\xa4\x43\
+\x95\x0d\xb6\x00\x00\x20\x00\x49\x44\x41\x54\x76\xd9\x1f\xb3\x51\
+\x8b\xd8\x30\x03\xec\x4e\x09\x27\x33\x72\xf1\xc5\x5b\x4f\x20\xef\
+\x94\xb2\x47\xb0\xbb\xef\xbe\x1b\xaf\xbe\xfa\xaa\x77\xa0\xc7\xae\
+\x50\x5e\x5e\x8e\xbb\xef\xbe\x1b\x7b\xf6\xec\x51\xcc\x4f\x1c\x7c\
+\x15\x6e\x78\xe4\x15\x44\x45\x84\x20\x26\xd4\x08\x4b\x8d\x13\xa5\
+\xd5\xf6\xf3\x6a\x0f\x23\xb9\x45\xd8\xaa\xca\x60\xad\x28\x85\xb5\
+\xa2\x04\xd6\xca\xb3\xcf\x15\x25\xb0\x56\x96\x40\x74\xda\x21\x08\
+\x1a\xa8\x04\xa1\xfe\xa1\x3a\x3b\x16\x8d\x20\x40\x25\x9c\xed\x6a\
+\xd9\xf3\xb3\x4a\xf0\x8e\x57\x13\x11\x97\x8c\x3e\xa3\x67\x20\xeb\
+\xc8\x2e\xec\xf8\xe8\xef\xde\xf7\x0b\x0c\x0c\xc4\x98\x31\x63\xea\
+\xff\xb0\x75\x41\xd5\xaf\x6b\xaf\xbd\x16\x7f\xfc\xe3\x1f\xa1\xd5\
+\x6a\xf9\x8b\x49\x44\xc4\x30\x43\x44\xd4\xfa\x0d\xf9\x92\x25\x4b\
+\x70\xe4\xc8\x91\x66\xd7\x29\x28\x28\xc0\xc9\x93\x27\xbd\xd3\x6a\
+\x8d\x16\x73\x7f\xff\x0f\x0c\x1e\x33\x05\x75\x4e\x77\x87\xb5\xf9\
+\x30\xea\xd4\x08\x0d\xd4\xa1\xac\xd2\x86\xff\xfb\xc7\x1f\x91\x75\
+\xf8\x07\xc5\xf2\x1b\x6e\xb8\x01\x2b\x57\xae\x84\x4e\xa7\xeb\xf4\
+\xf3\x96\x9d\x9d\x8d\xdb\x6f\xbf\x1d\x59\x59\x59\x8a\xf9\x43\xa6\
+\xdc\x82\x19\xf7\x3c\x83\xb8\xb0\x40\x04\x18\xd4\xc8\xb3\xd4\xa1\
+\xce\xe9\x6e\x75\x7b\x2e\x47\x1d\xf2\xd3\x0f\xe1\xcc\x89\x5f\x60\
+\x29\xc8\xf6\x06\x96\xba\x9a\x0a\xbf\xde\xc7\xda\x53\x64\x42\x3f\
+\x94\x9d\x49\x57\xbc\x87\xa7\x74\xa6\xab\x02\xcd\xd0\xa1\x43\xf1\
+\xd2\x4b\x2f\xc1\x6c\x36\xf3\x17\x94\x88\x88\x61\x86\x88\xa8\x69\
+\x87\x0f\x1f\xc6\x92\x25\x4b\x50\x51\x51\xd1\xec\x3a\x36\x9b\x0d\
+\xfb\xf7\xef\x57\x74\x31\x3c\xe3\x9e\x67\x31\xf4\xea\x5b\xdb\xf4\
+\x1e\x4e\xbb\x0d\x0e\x5b\x0d\xec\xb5\xd5\xb0\xdb\xaa\xe1\xb0\x55\
+\x43\xad\xd5\x23\x22\xbe\x37\xcc\xa1\x6d\x1b\x18\x53\xab\x16\x20\
+\xba\x45\x7c\xfd\xce\x62\x1c\xdf\xfd\xa5\x62\xd9\xe4\xc9\x93\xf1\
+\xe1\x87\x1f\xc2\x64\x32\x75\xda\x79\x4b\x4d\x4d\xc5\x2d\xb7\xdc\
+\x02\x8b\xc5\xe2\xf3\x57\x40\x85\x49\xf3\x1e\xc3\xf8\x1b\x7e\x8b\
+\x1e\x11\x46\xd8\x9d\x12\x8a\x2b\xed\xcd\x76\xa5\xec\x16\x9d\x28\
+\x48\x3f\x82\x33\x27\x7f\x41\xee\x89\x5f\x50\x94\x95\xd2\x64\x4f\
+\x6e\x5d\x21\x29\x29\x09\x13\x26\x4c\x40\x51\x51\x11\xba\xea\x4f\
+\x5b\x42\x42\x02\x96\x2e\x5d\xda\x6d\x06\x4f\x25\x22\x62\x98\x21\
+\x22\x6a\x47\x3b\x76\xec\xc0\xd2\xa5\x4b\xfd\x7a\xde\xf2\x25\xcb\
+\x32\x0e\x1f\x3e\xac\x08\x3b\xbd\x86\x4f\xc1\x4d\xff\xfb\xba\xdf\
+\xba\x92\xe4\x46\x41\xfa\x61\x64\x1d\xde\x89\x9c\x94\x9f\x61\xad\
+\x2c\x81\xa3\xb6\x06\xb2\xd4\x7c\xa9\x82\xde\x64\x46\x44\x5c\x6f\
+\x84\xf7\x48\x46\x44\x5c\x6f\x44\x27\x0e\x40\x4c\xf2\x10\xa0\xb9\
+\xd2\x00\x59\xc6\xf7\xeb\x5e\xc5\xc1\x6f\xd7\x2a\x66\x5f\x77\xdd\
+\x75\xf8\xcf\x7f\xfe\xd3\x29\x55\xce\xf2\xf3\xf3\x31\x73\xe6\x4c\
+\x14\x15\x15\x79\xe7\x69\xb4\x3a\x5c\x77\xff\x12\x8c\x98\x78\x3d\
+\xae\x08\x31\xa0\xb8\xca\x0e\xab\xdd\xff\xbc\x5a\x2b\x4b\x91\xfa\
+\xe3\x26\x9c\x39\xbe\x0f\x05\x19\x87\x21\xba\x9c\x17\xb4\x2f\x82\
+\x46\x07\xb5\xce\x04\xc8\x52\x7d\xc9\x8a\x2c\x43\x96\xdd\xf5\xe7\
+\x5c\x96\x21\xcb\xd2\xd9\xf3\x7f\x6e\x7f\x9e\x54\x2a\x15\xe6\xcf\
+\x9f\x8f\xa0\xa0\x20\x94\x94\x94\xa0\xbc\xbc\xbc\x4b\x4a\x68\xc2\
+\xc2\xc2\xf0\xd7\xbf\xfe\x15\x7d\xfa\xf4\xe1\x2f\x2c\x11\x11\xc3\
+\x0c\x11\x51\xbd\xcd\x9b\x37\xe3\xf5\xd7\x5f\x6f\xf1\xbf\xee\xb2\
+\x2c\xa3\xbc\xbc\x5c\x51\xfd\xcc\x14\x14\x86\xbb\x5f\xfe\x04\xa6\
+\xa0\x30\x00\x80\xdd\x56\x85\xec\xa3\x3f\x21\xeb\xc8\x4e\xe4\x1c\
+\xdb\xed\xd7\x50\xff\x7c\x84\x5e\x91\x88\x11\x33\xee\xc0\xa0\x89\
+\x37\x42\xab\x6f\x7a\x50\xc5\x3d\x9b\xde\xc1\xee\xff\x2e\x57\xcc\
+\x7b\xf4\xd1\x47\xf1\xc2\x0b\x2f\x74\xe8\x79\xab\xaa\xaa\xc2\xec\
+\xd9\xb3\x15\x55\xee\x8c\xe6\x50\xdc\xf4\xbf\x6f\xa0\xdf\x90\x91\
+\x08\x34\x68\x50\x5c\x69\xf7\xab\x76\x57\x9a\x7b\x0a\x07\xb6\xae\
+\xc1\xc9\xbd\x5b\xdb\x56\xfa\xa2\x52\x41\x6b\x30\x43\x63\x0c\x82\
+\xd6\x18\x04\xad\x29\x48\xf1\xb3\xd6\x18\x04\xad\x31\x18\x82\x56\
+\xdf\xc6\x3d\x97\x21\x4b\x0d\x81\xc7\xed\xac\x45\x45\xf6\x21\x94\
+\x67\xec\x85\xab\xae\xba\xc9\x57\x0c\x1b\x36\x0c\x63\xc7\x8e\x85\
+\x5a\xad\x86\x28\x8a\x28\x2c\x2c\x84\xcd\x66\xeb\xf4\x50\x63\x34\
+\x1a\xf1\xfc\xf3\xcf\x7b\xdb\xf1\x10\x11\x11\xc3\x0c\x11\x5d\xc6\
+\xd6\xad\x5b\x87\x77\xdf\x7d\xb7\xe5\x5b\x5f\x59\x86\x2c\xcb\xd8\
+\xbf\x7f\xbf\xa2\xf7\xb2\x59\x0f\xfe\x15\x3d\xfa\x8f\xc6\xf1\x9f\
+\x36\x23\xfb\xc8\x2e\x14\x64\x1e\x69\xb1\xe4\xe5\x42\xe8\x8d\x81\
+\x18\x3c\xe5\x66\x8c\x98\xfe\x3f\x08\x8a\x88\xf5\x5b\x7e\xf0\xdb\
+\xb5\xf8\x7e\xed\x2b\x8a\x79\xff\xfc\xe7\x3f\x31\x7f\xfe\xfc\x0e\
+\xd9\x1f\xa7\xd3\x89\xdb\x6e\xbb\x0d\x3f\xfd\xf4\x53\xc3\x3e\x9a\
+\xcc\xb8\xfd\x99\x55\x48\xee\x33\x00\xb2\x0c\x65\x77\xcb\xb2\x8c\
+\xac\xa3\x3f\xe2\xe0\xd6\x0f\x91\x7b\x62\x5f\x2b\xd9\x45\x80\x29\
+\x3c\x1e\x01\x57\xf4\x46\x60\x54\x2f\x98\x22\xe2\xa1\x12\x34\x9d\
+\xf2\x7d\xa8\x2b\xcf\x43\xee\x4f\xeb\xe0\xb4\x29\xab\x1a\xaa\xd5\
+\x6a\x2c\x58\xb0\x00\x06\x83\x01\x2a\x95\x0a\x82\x20\xc0\x6a\xb5\
+\xa2\xb0\xb0\x10\xa2\x28\x76\x6a\xa8\x51\xab\xd5\x58\xb8\x70\x21\
+\xae\xbf\xfe\x7a\xfe\x02\x13\x11\x31\xcc\x10\xd1\xe5\xea\xed\xb7\
+\xdf\xc6\xc7\x1f\x7f\xdc\x6a\x90\x01\x80\xa2\xa2\x22\xc5\x58\x33\
+\xc1\x91\x71\xe8\x3f\xf6\x3a\x1c\xf8\xe6\x23\x88\x4e\x7b\x8b\xdb\
+\x10\x34\x3a\x18\xc3\x7a\x40\xa3\x37\x41\xad\x33\xd6\x3f\xb4\x06\
+\xef\xcf\xa2\xa3\x16\xf6\xaa\x22\xd8\x2b\xeb\x1f\x92\xd8\x7c\x75\
+\x2b\x95\x20\x60\xc0\x55\xb3\x70\xf5\x1d\x8f\xc3\x10\x10\xac\x58\
+\xf6\xfd\xba\x57\x71\xf0\x9b\x8f\xbc\xd3\x3a\x9d\x0e\x9f\x7d\xf6\
+\x19\xae\xba\xea\xaa\x76\x3d\x6f\xb2\x2c\xe3\xc1\x07\x1f\x54\x0c\
+\x22\xaa\xd6\x68\x71\xcb\x9f\x96\x63\xd8\x98\xf1\xb0\x9f\x1d\x4b\
+\xc7\xe3\xf8\xee\x2f\xb1\x6f\xf3\xbb\x28\x2f\xcc\x69\xee\xa8\x60\
+\x08\x8e\x82\x39\x6e\x40\x7d\x78\x89\x4c\x84\xa0\xee\xba\xde\xbb\
+\x24\xb7\x0b\xa7\x77\x7e\x00\x6b\xb1\xb2\x33\x83\xf8\xf8\x78\xcc\
+\x9a\x35\x0b\x2a\x95\x0a\x6a\xb5\x1a\xb2\x2c\x43\xad\x56\xc3\x62\
+\xb1\xa0\xa4\xa4\x04\x92\x24\x75\xea\x7e\xde\x75\xd7\x5d\xb8\xf7\
+\xde\x7b\xf9\x8b\x4c\x44\xc4\x30\x43\x44\x97\x13\x59\x96\xf1\xfa\
+\xeb\xaf\x63\xf3\xe6\xcd\x6d\x0a\x32\x6e\xb7\x1b\xfb\xf6\xed\x83\
+\xdd\x6e\x6f\xf3\x7b\xe8\x02\xc3\x11\x14\xdb\x0f\xe6\xd8\xfe\x08\
+\x88\xea\x09\x95\xa0\x6e\xeb\xde\xc1\x69\xad\x40\x5d\x79\x3e\xca\
+\xb3\xf6\xc3\x5a\x94\x81\xa6\xda\x78\x04\x04\x87\x63\xc6\x3d\xcf\
+\x21\x79\xc4\x14\x9f\xfd\x95\xb0\xf1\xf5\xff\x45\xf6\xd1\x1f\xbd\
+\xf3\xc2\xc3\xc3\xf1\xcd\x37\xdf\x20\x31\x31\xb1\xdd\xce\xdf\x8b\
+\x2f\xbe\x88\x7f\xfd\xeb\x5f\x3e\x57\x7c\x15\x66\x3d\xf8\x57\x4c\
+\xbe\x76\x2e\xac\x76\xd1\x1b\x64\x6c\x95\x65\xf8\xf6\xfd\x97\x90\
+\x75\x64\x57\xb3\x21\x2f\xac\xf7\x58\x44\x0d\xbc\x1a\x6a\x9d\xf1\
+\x22\xfb\x8e\x48\xc8\xf9\xe1\x03\x58\x8b\xd2\x15\xf3\x87\x0c\x19\
+\x82\x1b\x6e\xb8\xe1\xec\x61\xab\xbc\x81\xc6\xed\x76\x23\x27\x27\
+\x47\xd1\x76\xa8\x33\x5c\x7b\xed\xb5\xf8\xd3\x9f\xfe\x04\x8d\x46\
+\xc3\x5f\x6c\x22\x22\x86\x19\x22\xea\xee\x44\x51\xc4\xdf\xfe\xf6\
+\x37\x7c\xff\xfd\xf7\x6d\x0a\x3d\x00\x70\xe6\xcc\x19\x64\x64\x64\
+\xb4\x7c\xd1\x13\xd4\x08\x88\x4c\x82\x39\xb6\x3f\xcc\xb1\xfd\xa0\
+\x37\x47\xb4\xcb\xfe\x3a\xaa\x4b\x50\x96\xf6\x33\x2a\xb3\x0f\x42\
+\x72\xfb\x0f\x30\x39\xe0\xaa\xd9\x98\x7a\xe7\x13\x30\x04\x04\x01\
+\xa8\xef\x2d\x6d\xfd\x92\x7b\x51\x96\xdf\xb0\xbf\x7d\xfb\xf6\xc5\
+\x96\x2d\x5b\x10\x14\x14\x74\xc1\xfb\xf3\xde\x7b\xef\xe1\xc9\x27\
+\x9f\x54\xcc\x9b\x74\xdb\xff\x62\xf6\x1d\x0f\xc1\x6a\x77\x79\x83\
+\xcc\xc9\xbd\x5b\xf0\xdd\x9a\xa5\xb0\xdb\xaa\xfc\xb6\xa1\x31\x04\
+\x22\x6a\xd0\x34\x84\x25\x8f\x39\x87\x90\xd7\x35\x4a\x52\xb6\xa1\
+\x38\xe5\x3b\xc5\xbc\xb1\x63\xc7\x62\xe6\xcc\x99\x50\xa9\x54\xde\
+\x87\x47\x55\x55\x15\x4e\x9e\x3c\x79\x4e\xc1\xf7\x42\x8d\x1a\x35\
+\x0a\x2f\xbc\xf0\x42\xa7\xf6\x60\x47\x44\xc4\x30\x43\x44\xd4\xc9\
+\x1c\x0e\x07\x5e\x78\xe1\x05\xec\xdb\xb7\xaf\xcd\x41\xc6\xe5\x72\
+\x61\xef\xde\xbd\x70\xb9\x9a\x1e\xa9\x5e\xa5\x12\x10\xd6\xfb\x4a\
+\x44\x0d\x9a\x06\x8d\x21\xb0\xc3\xf6\xdd\xed\xac\x43\x79\xe6\x3e\
+\x94\xa4\xee\xf0\xab\x86\x16\x10\x12\x81\x1b\x1e\x79\x05\xb1\x7d\
+\x86\x03\x00\xaa\x2d\x85\x58\xfb\xd2\x02\xd4\x56\x97\x7b\xd7\x99\
+\x36\x6d\x1a\xd6\xad\x5b\x07\xb5\xfa\xfc\xc3\xc3\xd7\x5f\x7f\x8d\
+\x7b\xee\xb9\x47\x51\x9d\x6a\xd8\xb4\x5f\xe1\xe6\x07\x16\x43\x94\
+\x24\xd4\x3a\xdc\xa8\xb3\x56\x62\xfb\x07\x7f\x41\xda\xfe\x6d\x7e\
+\xaf\xd7\x07\x45\x22\x66\xf8\xf5\x30\xc7\xf6\xbf\xa4\xbe\x37\x45\
+\x47\xbf\x41\xe9\x71\x65\xf8\x9d\x3a\x75\x2a\x26\x4f\x9e\xec\x0d\
+\x32\xbe\x81\x46\x14\x45\xa4\xa7\xa7\xa3\xa4\xa4\xa4\xd3\xf6\xb1\
+\x5f\xbf\x7e\x78\xf5\xd5\x57\x19\x68\x88\x88\xda\x89\xfa\x85\x8e\
+\xee\x46\x87\x88\xe8\x1c\xd8\x6c\x36\x3c\xf5\xd4\x53\x38\x74\xe8\
+\x50\x9b\x83\x8c\x2c\xcb\xc8\xcb\xcb\x53\x8e\x9f\xe2\x23\xf0\x8a\
+\x3e\xe8\x79\xf5\xaf\x11\x92\x34\x1c\x82\xa6\x63\x07\xaa\x14\xd4\
+\x5a\x04\x44\x26\x21\x24\x71\x18\xec\x15\x85\x70\xd5\x56\x7a\x97\
+\xb9\xec\xb5\x38\xb9\xe7\x6b\x84\x5e\x91\x84\xf0\xb8\x64\xe8\x4d\
+\x66\xc4\xf5\x19\x81\x13\x3f\x7f\x05\x59\xaa\x2f\x29\xc9\xce\xce\
+\x86\xcd\x66\xc3\xb4\x69\xd3\xce\xeb\xfd\x4f\x9c\x38\x81\xdb\x6e\
+\xbb\x4d\x11\xea\x92\x47\x5c\x8d\x1b\x1f\x5e\x02\x40\x85\x3a\xa7\
+\x1b\x15\x45\xa7\xb1\xfe\xaf\xbf\x46\x61\xe6\x51\xbf\x7d\x8f\xbb\
+\xf2\x66\xf4\xb8\xf2\x96\x76\x2b\xb1\xea\x4c\x81\xd1\xc9\x10\xeb\
+\x6a\x50\x57\x91\xef\x9d\x97\x93\x93\x83\xe8\xe8\x68\x44\x44\x44\
+\xf8\x95\xce\x08\x82\x80\xc8\xc8\x48\x18\x8d\x46\x54\x54\x54\x74\
+\xca\xd8\x34\x16\x8b\x05\xc7\x8f\x1f\xc7\xd4\xa9\x53\x2f\x28\xb0\
+\x12\x11\x11\xc3\x0c\x11\x5d\x64\xaa\xab\xab\xf1\xf8\xe3\x8f\x2b\
+\xba\x10\x6e\x0b\x59\x96\x91\x92\x92\xd2\x64\xc3\xee\xd0\x5e\xa3\
+\x90\x38\xfe\x0e\xa8\xf5\x9d\xfb\x9f\x70\xb5\xce\x88\xd0\x5e\x23\
+\xa1\xd6\x1a\x51\x5b\x9a\xe3\x1d\xa9\x5e\x92\xdc\x48\xdb\xbf\x0d\
+\x5a\xbd\x11\xb1\xbd\x87\xc1\x1c\x16\x8d\xe0\xc8\x38\x64\x1c\x68\
+\xa8\x22\x75\xe0\xc0\x01\x8c\x1d\x3b\x16\x49\x49\x49\xe7\xf4\x9e\
+\x0e\x87\x03\xbf\xfa\xd5\xaf\x50\x58\x58\xe8\x9d\x17\xd3\x6b\x08\
+\x6e\xfe\xc3\x1b\x50\x6b\xb5\x70\x8a\x12\x8a\x73\x8e\xe3\x93\x65\
+\x0f\xc2\x56\x59\xa6\x78\x6d\x40\x54\x2f\xf4\x9a\x76\x1f\x02\xa2\
+\x7a\x5e\xd2\xdf\xa1\xa0\xd8\x7e\x70\x54\x97\xc2\x51\xdd\x50\xda\
+\x52\x54\x54\x84\xa1\x43\x87\xc2\xed\x76\xc3\xed\x76\x43\x14\x45\
+\xc5\xc3\x60\x30\x20\x3c\x3c\x1c\x35\x35\x35\xcd\x96\xec\xb5\xa7\
+\xe2\xe2\x62\x64\x65\x65\x61\xca\x94\x29\x9d\x32\xc6\x10\x11\x11\
+\xc3\x0c\x11\x51\x07\x73\x3a\x9d\x78\xea\xa9\xa7\x70\xea\xd4\xa9\
+\x36\x07\x18\xcf\x73\x66\x66\x26\x2a\x2b\x2b\xfd\xd6\x09\xeb\x33\
+\x16\x3d\xc6\xdc\xd4\xfc\x60\x96\x1d\x4e\x05\x53\x44\x02\x82\xe3\
+\x07\xc3\x5a\x94\x01\xb7\xb3\xd6\xbb\xe4\x74\xea\x1e\xd4\xd6\x54\
+\xa0\xe7\x90\x09\x88\x4c\xe8\x0b\xd1\xe5\x40\x41\xfa\x61\xef\xf2\
+\x1f\x7f\xfc\x11\x77\xdc\x71\x07\x0c\x06\x43\x9b\xdf\x6d\xf1\xe2\
+\xc5\xd8\xb2\x65\x4b\xc3\x8d\x7d\x78\x0c\x7e\xf5\xd4\x3b\xd0\x99\
+\xcc\x90\x64\x20\xf7\xf8\x3e\xfc\xf7\xff\x3d\x0a\x47\x6d\xc3\x18\
+\x2d\x2a\x41\x8d\xb8\xd1\x73\x11\x3b\xea\x06\xa8\xb5\x86\x4b\xff\
+\x8b\xa4\x52\x21\xa8\xc7\x40\xd4\x14\xa6\x41\xac\xab\x1f\x3f\xa8\
+\xae\xae\x0e\x81\x81\x81\x30\x99\x4c\x70\x3a\x9d\xb0\xdb\xed\x7e\
+\xcf\x92\x24\x79\xdb\x2a\xd5\xd6\xd6\x76\xf8\x6e\xe6\xe5\xe5\xa1\
+\xb0\xb0\x10\x13\x27\x4e\xec\x92\x81\x3d\x89\x88\x18\x66\x88\x88\
+\xda\x89\x2c\xcb\x58\xb2\x64\x09\xf6\xef\xdf\x7f\xce\xaf\x73\x38\
+\x1c\x8a\xae\x98\x3d\x82\x13\x86\x22\x7e\xec\x3c\x00\x5d\x7f\xa3\
+\xa8\xd1\x07\x20\x24\x71\x18\x6a\x2d\xb9\x8a\x6a\x67\xc5\xd9\xa9\
+\xa8\x2c\xce\x45\xef\x91\xd3\x10\x3f\x60\x0c\xb2\x8e\xec\x82\xad\
+\xaa\xbe\xc4\xa4\xa6\xa6\x06\x79\x79\x79\xde\x1e\xb9\x5a\xb3\x7d\
+\xfb\x76\x3c\xf3\xcc\x33\x3e\x21\x45\xc0\xcd\x7f\xf8\x27\xc2\x62\
+\xea\x4b\x5a\x32\x0e\x7c\x87\x4d\xff\xfe\xa3\xa2\x7b\x6a\xb5\xce\
+\x88\x9e\x53\xef\x43\x50\xdc\x80\x6e\xf5\x7d\x52\xa9\x04\xe8\x02\
+\xc2\x50\x99\xd3\x50\x55\xb1\xb6\xb6\x16\x7d\xfb\xf6\x55\x84\xe0\
+\xa6\x9e\x03\x02\x02\x10\x18\x18\x08\xab\xd5\xda\xe1\x5d\x38\x67\
+\x65\x65\xa1\xa6\xa6\x06\x57\x5e\x79\x25\x2f\x02\x44\x44\x0c\x33\
+\x44\x74\xa9\x5a\xbe\x7c\x39\xb6\x6e\xdd\x7a\x4e\x21\xc6\xe3\xe8\
+\xd1\xa3\x70\x38\x1c\x8a\xe5\xba\x80\x50\x24\x4d\xb9\x07\x82\xfa\
+\xe2\xe9\x06\x57\xd0\x68\x11\x92\x34\x0c\x8e\x9a\x32\x38\xaa\x1a\
+\xaa\x40\x95\xe5\x67\xa0\xbc\x28\x07\x7d\x46\xcf\x40\x8f\x7e\xa3\
+\x90\xba\x6b\x23\xa4\xb3\xed\x67\x4e\x9c\x38\x81\x3e\x7d\xfa\x60\
+\xc0\x80\x96\xc3\x86\xc5\x62\xc1\xbc\x79\xf3\x60\xb3\xd9\xbc\xf3\
+\xc6\xdd\x70\x1f\x06\x4e\xa8\x0f\x42\x59\x47\x76\xe1\x8b\x37\x17\
+\x41\x72\x8b\xde\xe5\x5a\x63\x10\x7a\x4d\xbf\x1f\xc6\xd0\x98\x6e\
+\xf9\x9d\xd2\x05\x86\xa1\x26\xff\x04\x44\x7b\x7d\xe9\x8c\xdd\x6e\
+\xc7\xf0\xe1\xc3\x9b\xec\x08\xa0\x31\xad\x56\x8b\x88\x88\x08\xb8\
+\x5c\x2e\xd4\xd5\xd5\x75\x68\xc9\xc9\xc9\x93\x27\x21\xcb\x32\x86\
+\x0f\x1f\xce\x0b\x01\x11\x11\xc3\x0c\x11\x5d\x6a\x3e\xfd\xf4\x53\
+\xac\x59\xb3\xe6\x9c\x5f\x27\xcb\x32\x0a\x0b\x0b\x51\x50\x50\xe0\
+\xb7\x4c\x63\x0c\x82\xb5\x30\x0d\x35\x05\x27\x60\x2d\xce\x80\xad\
+\x34\x07\x6e\x47\x2d\x0c\xc1\xd1\x5d\x58\xe5\xac\xbe\xc4\x20\x38\
+\x7e\x30\x24\xd1\x89\xda\xb2\xdc\x86\x30\x92\x9f\x09\x4b\x41\x26\
+\x86\x5e\x7d\x2b\x74\xc6\x40\xe4\xa4\xec\xf6\x2e\xdb\xb5\x6b\x17\
+\x6e\xbb\xed\x36\x98\xcd\xe6\x66\xb7\x7b\xdf\x7d\xf7\xe1\xd8\xb1\
+\x63\xde\xe9\x98\x5e\x43\x70\xdd\xfd\x2f\x43\xa5\x12\x90\x7b\x62\
+\x1f\x36\xfd\x73\x21\xdc\x62\x43\x5b\x10\xbd\x39\x1c\xbd\xa6\x3d\
+\x00\x9d\x39\xfc\x92\xff\xfe\xb8\x9d\x76\x00\x72\x93\x5d\x47\xdb\
+\xab\x8a\x50\x57\x9e\x07\x00\x90\x24\x09\xc9\xc9\xc9\x30\x1a\x8d\
+\x6d\x0a\x34\xb2\x2c\x23\x24\x24\x04\x82\x20\xc0\x6a\xb5\x76\x68\
+\xa0\x39\x7a\xf4\x28\xcc\x66\x73\xab\xa1\x95\x88\x88\xfc\xb1\xe5\
+\x21\x11\x75\x99\x1f\x7e\xf8\x01\x2b\x56\xac\x38\xe7\x10\x03\x00\
+\xb9\xb9\xb9\x48\x4b\x4b\x6b\x72\x1d\x47\x75\x09\xac\xc5\x19\xa8\
+\x3a\x93\x82\xda\xb2\x5c\x18\x43\x63\x10\x9c\x30\xa4\x4b\x83\x8c\
+\x4f\xa4\x41\xcc\xf0\x59\x88\x1a\x78\xb5\x62\x6e\xfa\xfe\xed\xf8\
+\xe2\xcd\x45\x18\x36\xed\x36\x24\x0c\x68\xa8\x76\x54\x59\x59\x89\
+\x47\x1f\x7d\xb4\xd9\x9e\xb6\x56\xad\x5a\x85\x6f\xbe\xf9\xc6\x3b\
+\xad\xd5\x9b\x70\xfd\x83\x7f\x85\x20\xa8\x51\x98\x71\x14\x9f\xbf\
+\xb1\x10\xa2\xab\xa1\x8b\x68\x7d\x50\x14\x7a\x4d\x7f\x10\xda\x80\
+\x90\x6e\xf1\x1d\x52\x09\x02\xb2\x77\xac\x82\x68\xb7\xfa\x2d\xd3\
+\x07\x47\x2b\xa6\xab\xaa\xea\xc7\xd2\x11\x04\x01\x82\x20\x40\xad\
+\x56\x43\xa5\x52\x29\x9e\x3d\xf3\x05\x41\x80\x24\x49\x08\x0d\x0d\
+\x45\x42\x42\x42\x87\x1f\xc7\xf2\xe5\xcb\x15\x9f\x23\x11\x11\xb5\
+\x0d\x4b\x66\x88\xa8\x4b\xa4\xa4\xa4\xe0\xf9\xe7\x9f\x87\xdb\xed\
+\x3e\xa7\x20\x53\x55\x55\x85\xd4\xd4\xd4\x56\x47\x70\x37\x45\x24\
+\x20\x6e\xf4\x5c\xc4\x8c\x9c\x0d\x43\x48\xcc\x45\xd7\xc8\x3a\x30\
+\x3a\x19\x90\x25\xd8\x4a\x73\xbc\xf3\x2a\x8a\x72\x50\x9a\x9b\x86\
+\x69\x77\x3d\x85\xe3\xbb\x37\xc3\x7d\x36\x84\x9c\x3e\x7d\x1a\xa1\
+\xa1\xa1\x18\x35\x6a\x94\x62\x1b\xa7\x4e\x9d\xc2\xaf\x7f\xfd\x6b\
+\x88\x62\x43\xf5\xb1\x6b\xee\x7d\x16\x09\x03\xc6\xa0\x34\xf7\x14\
+\x3e\x7d\xf5\x61\x38\xed\x0d\x55\xcf\x74\x81\x61\x48\x9e\x76\x3f\
+\x34\x46\x73\xb7\xf9\x1e\xa9\x04\x35\xca\x33\xf6\xc2\x92\xf6\x33\
+\xcc\x31\x7d\xa0\xd1\x07\x78\x97\x39\x6b\x2c\xa8\xce\x4b\xf5\x4e\
+\xf7\xef\xdf\x1f\x89\x89\x89\xd0\xeb\xf5\x30\x99\x4c\xd0\xeb\xf5\
+\x08\x08\x08\x80\xc1\x60\x80\xc9\x64\x52\x3c\xfb\xce\x0f\x0a\x0a\
+\x42\x50\x50\x10\xca\xcb\xcb\x3b\xb4\xfb\xe6\x9f\x7f\xfe\x19\xc9\
+\xc9\xc9\x9d\x12\x9e\x88\x88\x18\x66\x88\x88\xce\xd3\x99\x33\x67\
+\xb0\x68\xd1\x22\xd4\xd5\xd5\xb5\xf9\x35\x4e\xa7\x13\x27\x4f\x9e\
+\x44\x46\x46\x86\x5f\x1b\x19\x0f\xbd\x39\x02\xe1\xbd\xc7\x22\x66\
+\xe4\x1c\x44\x0d\x9a\x7a\x76\xac\x94\x8b\xb7\xa7\xa8\xc0\xe8\x64\
+\x00\x80\xad\x24\xbb\x21\xd0\x14\x9f\x46\x65\x49\x2e\x06\x4f\xbe\
+\x19\x39\xc7\x94\xd5\xcd\xa2\xa3\xa3\x51\x5b\x5b\x8b\xb2\xb2\x32\
+\x94\x96\x96\xe2\xbe\xfb\xee\x43\x71\x71\xb1\x77\x9d\xbe\x63\xae\
+\xc1\xc4\x5b\x1f\x45\x79\x41\x36\x3e\x59\xf6\x00\xec\xb6\x2a\xef\
+\x32\xad\x29\x18\xbd\xa6\xdd\x0f\xad\x29\xb8\xdb\x7d\x9f\x1c\x35\
+\x65\xa8\x29\x4c\x43\xe5\xe9\xc3\x30\x86\xf5\x80\x2e\x30\x0c\x00\
+\x60\x2d\xce\x80\xb5\x28\xdd\xbb\xde\xc8\x91\x23\x11\x12\x12\x02\
+\x8d\x46\x03\xb5\x5a\xed\x2d\x81\xf1\x94\xc6\x34\x2e\x99\xf1\x7d\
+\x36\x99\x4c\x08\x0b\x0b\x83\xc5\x62\x39\xa7\x00\x7e\x2e\x64\x59\
+\xc6\x8f\x3f\xfe\x88\xa1\x43\x87\x22\x3a\x3a\x9a\x17\x0a\x22\xa2\
+\x36\x50\xc9\x9d\x31\x4a\x18\x11\x91\xe7\x66\xbd\xa2\x02\x8f\x3e\
+\xfa\x68\xab\x25\x2b\xbe\x2a\x2b\x2b\x91\x9a\x9a\xda\x64\x88\x51\
+\x6b\x0d\x08\xeb\x7d\x25\x42\x7b\x8d\x81\xfe\x12\x6d\x03\x52\x74\
+\x64\x2b\x4a\x4f\xfc\x70\xc1\xdb\x19\x34\xf1\x46\x18\xcd\xa1\x38\
+\xf9\xf3\x57\xb0\x56\x96\x7a\xe7\x6b\x0c\x81\xe8\x35\xfd\x81\x4b\
+\x72\x20\xcc\xb6\x70\xd5\x56\xe2\xd4\xe6\xff\x07\x59\x12\xa1\x12\
+\xd4\xe8\x71\xe5\xad\x08\x49\x1a\x8e\xc2\xc3\x5f\xa3\xec\xe4\x2e\
+\xef\x7a\xf7\xdc\x73\x0f\x22\x23\x23\xa1\xd5\x6a\xbd\x41\xc5\x33\
+\x90\x66\x5b\x4b\xee\xec\x76\x3b\x8e\x1d\x3b\xd6\xa1\xdd\x37\x87\
+\x86\x86\x62\xe5\xca\x95\x08\x0f\x0f\xe7\x05\x83\x88\x88\x61\x86\
+\x88\x2e\x16\x76\xbb\x1d\x0b\x17\x2e\x6c\xb6\xad\x4b\x53\x72\x72\
+\x72\x90\x9d\x9d\xed\x57\xbd\x47\x17\x18\x86\x98\xe1\xb3\x10\xd4\
+\x63\x60\xb7\x38\x37\x79\x7b\x3f\x45\x45\xf6\xc1\x76\xdf\xae\x5a\
+\x67\x44\xaf\x69\xf7\xc3\x10\x72\x45\xb7\xfe\x6e\x15\x1c\xdc\x0c\
+\x4b\x9a\xa7\x24\x4b\x85\xb8\xd1\x37\xa2\xa6\xf0\x14\xaa\xf3\x1b\
+\x06\x60\xbd\xff\xfe\xfb\x11\x10\x10\x00\x9d\x4e\x07\xad\x56\xeb\
+\x2d\x95\x69\x4b\x87\x00\xbe\x44\x51\x44\x6a\x6a\x6a\x93\x63\x1b\
+\xb5\x97\xa1\x43\x87\xe2\xb5\xd7\x5e\xe3\xa0\x9a\x44\x44\xad\xe0\
+\x55\x92\x88\x3a\x85\x2c\xcb\x78\xf9\xe5\x97\xdb\x1c\x64\x5c\x2e\
+\x17\x8e\x1c\x39\x82\xac\xac\x2c\x45\x90\x11\x34\x3a\x5c\x31\xfc\
+\x7a\xf4\x9d\xb5\xb0\xdb\x04\x19\x00\xe8\x31\x76\x1e\x82\xe2\xda\
+\xf7\x78\x04\x8d\x1e\x49\x53\xee\xed\xf6\x41\x06\x00\xa2\x87\xcc\
+\xf0\xa9\x42\x27\x23\x7f\xff\xe7\xa8\x29\x6c\xa8\x62\x16\x14\x14\
+\x04\x59\x96\x21\x8a\x22\xdc\x6e\x37\x24\x49\x82\x2c\xcb\xe7\xd5\
+\x06\x46\xa3\xd1\x60\xe8\xd0\xa1\x88\x8a\x8a\xea\xb0\xe3\x39\x7a\
+\xf4\x28\x56\xad\x5a\xc5\x0b\x07\x11\x51\x6b\xd7\x64\x9e\x02\x22\
+\xea\x0c\x1b\x36\x6c\xc0\x9e\x3d\x7b\xda\xb4\xae\x28\x8a\x38\x70\
+\xe0\x80\x5f\x55\x1e\x43\xc8\x15\x48\x98\x30\xbf\xdb\x56\x97\x4a\
+\x9c\xb4\x00\xe5\x19\x7b\xeb\xbb\x92\x76\x39\x20\x89\x0e\x48\xa2\
+\xf3\xec\xc3\x05\xc9\xed\x84\xe4\xb4\x43\x96\x5b\x1f\xcc\x51\x50\
+\x6b\x91\x34\xf9\x6e\x98\xc2\xe3\x2f\x8b\xef\x97\x5a\x6b\x40\x8f\
+\xb1\xf3\x90\xbd\x63\x15\x80\xb3\x03\x61\x4a\x0d\x6d\x5b\xa2\xa3\
+\xa3\xbd\x03\x61\x4a\x92\x04\xb7\xdb\x0d\x8d\x46\xa3\xe8\xcd\x0c\
+\xf0\x2f\x9d\x91\x65\x59\x31\xcf\x33\x2d\xcb\x32\x7a\xf5\xea\x05\
+\x59\x96\x51\x5a\x5a\xda\x21\xc7\xb4\x7e\xfd\x7a\x0c\x1e\x3c\x18\
+\xe3\xc6\x8d\xe3\x05\x84\x88\xa8\x19\xac\x66\x46\x44\x1d\x2e\x2b\
+\x2b\x0b\x8f\x3c\xf2\x08\x5c\x2e\x57\xab\xeb\xca\xb2\x8c\x23\x47\
+\x8e\xa0\xbc\xbc\x5c\x31\x3f\xb4\xe7\x48\xc4\x8e\x9e\x0b\x41\xad\
+\xe5\x09\x05\x20\xcb\x6e\x40\x92\x21\x4b\x6e\x48\x92\x08\x59\x72\
+\xd7\x3f\xdc\xf5\x3f\xab\xb5\x86\x6e\xd3\xfd\xf2\xb9\x28\x3c\xb8\
+\x19\x65\x69\xbb\xfd\xe6\x8f\x1a\x35\x0a\xd1\xd1\xd1\x30\x18\x0c\
+\x30\x1a\x8d\xd0\x6a\xb5\x7e\x55\xcd\x3c\x21\xc5\xd3\x2d\xb3\x67\
+\xba\xf1\x7c\xdf\xe5\x2a\x95\x0a\x79\x79\x79\xa8\xae\xae\xee\x90\
+\xe3\x31\x9b\xcd\x78\xfb\xed\xb7\x3b\xb4\x14\x88\x88\x88\x61\x86\
+\x88\xa8\x19\x4e\xa7\x13\x0f\x3f\xfc\x30\x72\x72\x72\xda\xb4\x7e\
+\x5a\x5a\x1a\xf2\xf2\xf2\x1a\x2e\x52\x82\x06\x71\xa3\xe7\x22\xb4\
+\xd7\x28\x9e\x4c\x6a\x3d\xe4\xb9\x45\xa4\x6f\xfd\x17\x1c\xd5\x0d\
+\xa5\x25\x3a\x9d\x0e\xa3\x47\x8f\x86\xc9\x64\x82\xc9\x64\x82\xd1\
+\x68\xf4\xb6\x9b\x69\xdc\x11\xc0\xf9\x50\xab\xd5\xc8\xcd\xcd\x85\
+\xd5\x6a\xed\x90\x63\xea\xdf\xbf\x3f\xde\x78\xe3\x0d\x68\x34\xac\
+\x4c\x41\x44\xd4\x18\xdb\xcc\x10\x51\x87\x5a\xb1\x62\x45\x9b\x83\
+\x4c\x5e\x5e\x9e\x22\xc8\x00\x40\xdc\x95\x37\x33\xc8\x50\x9b\xa9\
+\xd4\x1a\xc4\x8f\xfb\x15\x7c\xbb\xe4\x16\x45\x11\x76\xbb\xdd\xdb\
+\x56\xc6\xed\x76\x7b\xdb\xcb\xb4\xc7\xff\xf3\xdc\x6e\x37\xe2\xe2\
+\xe2\x60\x34\x1a\x3b\xe4\x98\x4e\x9e\x3c\x89\x95\x2b\x57\xf2\xc3\
+\x25\x22\x62\x98\x21\xa2\xce\xb4\x67\xcf\x1e\x7c\xfe\xf9\xe7\x6d\
+\x5a\xb7\xbc\xbc\x1c\xe9\xe9\xe9\x8a\x79\x91\x03\x26\x23\x34\x69\
+\x44\x17\x1e\x01\x0b\xae\x2f\x45\xc6\xb0\x38\x84\x24\x0e\xf3\x4e\
+\x4b\x92\x84\xdc\xdc\xdc\x0e\x09\x32\xbe\x12\x12\x12\xa0\xd5\x6a\
+\x3b\x64\x60\xcd\x0d\x1b\x36\x60\xe7\xce\x9d\xfc\x70\x89\x88\x18\
+\x66\x88\xa8\x33\x54\x54\x54\xe0\x95\x57\x5e\x69\xd3\xba\xb5\xb5\
+\xb5\x48\x49\x49\x51\xdc\x04\x9a\x63\xfb\xe3\x8a\xa1\x33\xbb\x6c\
+\xff\x5d\xb5\x55\x38\xb5\xf9\x35\xc8\x6e\x91\x1f\xe6\x25\x28\x66\
+\xc4\xf5\x10\x34\x7a\xef\x74\x59\x59\x19\xac\x56\xab\xa2\x1d\x0c\
+\x00\x6f\x15\x33\xdf\x01\x32\x1b\x4f\x37\x7e\x6e\x6a\xb9\x67\x3b\
+\xc9\xc9\xc9\xd0\xeb\xf5\x1d\x72\x4c\xaf\xbc\xf2\x0a\xf2\xf3\xf3\
+\xf9\xe1\x12\x11\xf9\x60\x05\x5c\x22\xea\x10\xcb\x96\x2d\x6b\xd3\
+\x38\x1c\x2e\x97\x0b\x47\x8f\x1e\x85\x28\x36\x84\x06\x43\x70\x34\
+\x12\xc6\xdf\x0e\x9c\x67\x1b\x86\x0b\x27\x23\x6f\xef\xa7\x70\x5a\
+\x2b\x2e\x68\x1f\xae\x9f\x3c\x12\x09\x31\x11\x50\xab\x05\xa8\x05\
+\x01\x1a\xb5\x1a\x6a\x41\x05\x95\xa0\x82\xdb\x2d\x43\x92\xdc\x70\
+\xbb\x25\xb8\x25\x09\xe2\xd9\x67\xb7\xbb\xbe\xf4\xc0\x2d\xc9\x67\
+\x97\xd5\xff\x6c\xb5\xd5\xc1\x52\x65\x45\x79\xa5\x15\xe5\x95\x35\
+\xa8\xa9\xad\xc3\xc5\xdc\xe2\xd1\x69\xb5\x40\x6b\x0c\x86\x4a\xdd\
+\x35\x7f\x66\x34\x06\x33\xa2\x06\x5d\x8d\xa2\x23\x5b\xbd\xf3\xb2\
+\xb3\xb3\x91\x94\x94\x04\xb3\xd9\x0c\xa3\xd1\x08\x83\xc1\x00\xb5\
+\x5a\xed\x0d\x1f\x82\x20\xf8\x35\xf8\x77\xbb\xdd\xde\xf9\x4d\x75\
+\x0c\xe0\xe9\x10\xc0\x33\xed\x76\xbb\x31\x74\xe8\x50\x1c\x3d\x7a\
+\x14\x4e\xa7\xb3\x5d\x8f\xa9\xb6\xb6\x16\x2f\xbe\xf8\x22\xde\x7c\
+\xf3\x4d\x68\xb5\xec\x08\x83\x88\x88\x61\x86\x88\x3a\xc4\x7f\xff\
+\xfb\x5f\xec\xdb\xb7\xaf\xf5\xc8\x20\xcb\x48\x4d\x4d\x55\x74\xc1\
+\xac\xd1\x07\x20\x71\xf2\xdd\x8a\xff\xaa\x77\x36\x4b\xfa\x5e\x58\
+\x8b\x33\xa1\xd1\x07\x40\x25\xa8\xcf\x7b\x3b\x83\x92\x7b\x20\x39\
+\xa1\x63\xc6\x78\x71\x89\x6e\x54\x54\x59\x61\xa9\xaa\x41\x79\x95\
+\x15\x96\xb3\x21\xa7\xbc\xaa\x06\xe5\x95\x36\x54\xd4\xd8\x20\x49\
+\x52\x97\x9c\x3f\x7b\x65\x21\x1c\x35\x65\x50\x09\x1a\x9f\xb1\x5f\
+\x3a\x5f\x44\xbf\x09\x28\xcf\xfc\x05\x4e\x6b\x7d\xcf\x78\xe5\xe5\
+\xe5\xa8\xae\xae\x46\x70\x70\x30\xd4\x6a\x35\xd4\x6a\x75\x93\x3d\
+\x9a\xf9\x52\xab\xd5\x2d\x4e\xfb\xfd\x51\xd5\x68\xa0\xd7\xeb\x31\
+\x74\xe8\x50\x1c\x3e\x7c\x58\x11\xd2\xdb\x43\x66\x66\x26\x3e\xfa\
+\xe8\x23\xdc\x7b\xef\xbd\xbc\xd0\x10\x11\x31\xcc\x10\x51\x7b\xcb\
+\xce\xce\xc6\xdb\x6f\xbf\xdd\xa6\x20\x93\x9f\x9f\xaf\xe8\x82\x59\
+\x25\xa8\x91\x30\x71\x3e\x74\x01\xa1\x5d\xb6\xff\x92\xe8\x44\x49\
+\xea\x77\xf5\x37\xae\x86\x80\x0b\xda\x96\x4e\xd7\x71\xff\x3d\xd7\
+\x6a\xd4\x88\x0a\x0f\x46\x54\x78\xd3\x61\x41\x96\x64\x54\xd4\xd8\
+\x50\x5e\x65\x45\x51\x69\x25\xce\x14\x95\x21\xbf\xa4\x1c\xf9\xc5\
+\x16\xd8\x1d\xae\x0e\xd9\x27\x59\x96\x50\x67\x39\x03\x57\x5d\x7d\
+\x37\xc5\xa2\xc3\xd6\xa5\x61\x46\x25\x68\x10\x3d\x78\x3a\xce\xec\
+\xf9\x44\xf1\xfd\x8c\x8f\xef\xf8\xb1\x77\x02\x02\x02\x30\x78\xf0\
+\x60\x1c\x39\x72\xa4\xdd\xdb\xd0\xac\x5f\xbf\x1e\x33\x66\xcc\x40\
+\x8f\x1e\x3d\x78\xc1\x21\x22\x86\x19\x9e\x02\x22\x6a\x2f\x2e\x97\
+\x0b\x7f\xf9\xcb\x5f\x5a\xad\x5e\x23\xcb\x32\x1c\x0e\x07\xb2\xb2\
+\xb2\x14\xf3\x63\x47\xdd\x88\x80\xc8\x9e\x5d\x7a\x0c\x65\x69\x3f\
+\x41\xb4\xd7\x77\xb1\x2b\xa8\xb5\x90\x44\xc7\x79\x97\x12\xed\xd8\
+\x9b\x02\x9d\x56\x03\x97\xe8\x86\xd3\xe5\x82\x4b\x14\xe1\x74\xba\
+\x21\xc9\x12\x34\x1a\x0d\x34\x82\x00\xad\x46\x0d\xb5\x46\x0d\xad\
+\x5a\x80\x46\xa3\x86\x46\xad\x3e\xfb\x2c\x40\xab\xd1\x40\xa3\x11\
+\xa0\x51\x6b\x10\x62\x36\x21\x3c\xd4\x8c\x88\x10\x33\xf4\x6d\x08\
+\x49\x2a\x41\x85\xb0\xe0\x40\x84\x05\x07\xa2\xb7\x4f\xe9\x90\x2c\
+\x03\x96\xca\x1a\xe4\x15\x5b\x90\x5f\x64\x41\x56\x5e\x31\x8e\x67\
+\xe6\xb5\x4b\x90\xb1\x95\x64\xc3\xed\x6c\x28\x65\x13\xed\xb6\x2e\
+\xff\x4e\x06\xc5\x0f\x86\x70\x60\x13\x24\x97\x03\x00\x90\x9b\x9b\
+\x0b\xb7\xdb\xdd\x29\xef\x1d\x1c\x1c\x8c\x9e\x3d\x7b\xfa\x7d\xcf\
+\xdb\xe3\xf7\xec\xf5\xd7\x5f\xc7\xab\xaf\xbe\xca\x8b\x0e\x11\x31\
+\xcc\xf0\x14\x10\x51\x7b\x59\xbd\x7a\x35\xb2\xb3\xb3\x5b\x0d\x32\
+\x40\xfd\x78\x32\xbe\x55\x70\x82\x13\x86\x20\x2c\x79\x4c\x97\xee\
+\xbf\xdb\x59\x87\xb2\x13\xbb\xbc\xd3\x82\x56\x0f\xa7\xb5\x1c\x86\
+\x90\x98\xf3\xda\xde\xcf\x87\x4f\x75\xc8\x7e\x06\x06\x18\x10\x11\
+\x12\x84\x88\x50\x33\x22\x42\xcf\x3e\x87\xd4\x3f\x42\x83\x03\x21\
+\x08\xcd\xf7\xed\xa2\x52\xe1\xec\xeb\xcc\x18\xde\x3f\x09\x79\x45\
+\xe5\x38\x9e\xf9\xe9\x85\x46\x19\xd4\x96\xe5\x2a\x82\x0c\x00\x48\
+\xa2\x1d\xb2\x5b\xec\xb2\x76\x33\x9e\x40\x1a\x92\x30\x14\xe5\x99\
+\xbf\x00\xa8\x1f\xf7\x28\x2b\x2b\x0b\x03\x06\x0c\xf0\xb6\x79\x11\
+\x45\xd1\x3b\x86\x8b\xa7\x9a\x99\x67\x99\x6f\xfb\x19\xcf\x77\xd7\
+\xb7\x5d\x4d\xc3\x79\x6d\xba\x1d\x4d\x54\x54\x14\x2c\x16\x0b\xaa\
+\xaa\xaa\xda\xf5\xb8\x0e\x1d\x3a\x84\xed\xdb\xb7\x63\xfa\xf4\xe9\
+\xbc\xf0\x10\x11\xc3\x0c\x11\xd1\x85\xca\xcf\xcf\xc7\x67\x9f\x7d\
+\xd6\xa6\x75\x4b\x4b\x4b\x51\x56\x56\xe6\x9d\x56\xeb\x0c\x88\x1d\
+\x39\xa7\xcb\x8f\xa1\x22\xeb\x00\xdc\x2e\xbb\x77\x5a\x67\x0a\x81\
+\xd3\x56\x09\x43\xf0\x15\xed\xd6\x19\x81\x4a\x05\xc4\x44\x86\x21\
+\x39\x3e\x1a\x46\xbd\x0e\x67\x8a\x2c\xc8\xc8\x2d\x84\x4b\x6c\x7b\
+\x69\x81\xd5\x66\x87\xd5\x66\x47\x4e\x7e\x89\xff\xcd\xbb\x20\x20\
+\x34\x38\x10\x11\x21\x81\xf5\x81\x27\x2c\x08\x31\x91\x21\x88\x89\
+\x08\x45\x64\x68\x10\x54\x82\xf2\x38\x9c\xe2\x85\x57\x39\xab\x2b\
+\x2f\x80\x68\xaf\x69\x72\x59\x57\x57\x35\x03\x80\xd0\x9e\xa3\xbc\
+\x61\xc6\x13\xa4\xe3\xe3\xe3\xe1\x74\x3a\xbd\x03\x67\xaa\x54\xaa\
+\x16\x43\x60\x4b\xe1\xbc\x71\x3b\x1b\xdf\x79\xb2\x2c\x23\x36\x36\
+\x16\xb5\xb5\xb5\x70\xb9\xda\xb7\x7a\xdf\xf2\xe5\xcb\x31\x76\xec\
+\x58\x04\x06\x06\xf2\x02\x44\x44\x0c\x33\x44\x44\x17\x62\xc5\x8a\
+\x15\xad\x36\x76\x96\x65\x19\x92\x24\xf9\x8d\x27\x73\xc5\xb0\xeb\
+\xa1\x31\x98\xbb\xfc\x18\xca\x33\x1b\x3a\x2d\x50\x09\x6a\x04\x44\
+\xf5\x84\x2c\x89\x70\xd5\x55\x41\x6b\x0a\xb9\xa0\x6d\x27\xc6\x46\
+\x62\xf6\x94\x51\x48\x4e\x88\x86\xc9\xa0\xac\xb6\xe6\x72\xb9\x91\
+\x7e\xba\x00\x47\x4e\xe5\xe0\xc7\x03\x27\x21\x5d\x40\x1b\x0b\x49\
+\x92\x60\xa9\xa8\x86\xa5\xa2\x1a\xa7\x50\xa0\xbc\xe0\x6b\x04\x44\
+\x87\x87\xd6\x87\x9b\xc8\x50\xc4\x44\x86\xc2\x56\xe7\xb8\xa0\xe3\
+\x72\x54\x97\xc2\x69\x2b\x6f\x76\x79\x75\xfe\x71\x68\x0c\x81\x30\
+\xc7\xf6\x87\xa0\xee\x9a\x1e\xb8\x4c\x11\x09\xd0\x9b\x23\xe0\xa8\
+\xa9\x0f\xd0\x25\x25\x25\xa8\xab\xab\x83\x46\xa3\xf1\x96\xbe\xa8\
+\x2e\x20\xac\x36\xd5\x26\xc6\x77\x9e\x2c\xcb\x88\x8f\x8f\x47\x66\
+\x66\xe6\x05\xbd\x4f\x63\x95\x95\x95\x78\xf7\xdd\x77\xf1\x87\x3f\
+\xfc\x81\x17\x20\x22\x62\x98\x21\x22\x3a\x5f\x07\x0f\x1e\xc4\xee\
+\xdd\xbb\xdb\x74\xc3\x97\x9f\x9f\x0f\x87\xa3\xe1\x06\x3a\x20\xaa\
+\x27\xc2\x92\x47\x77\xf9\x31\xd8\x4a\xb3\xbd\x37\xbb\x00\x60\x8a\
+\x4c\x82\xa0\xd1\x01\x00\x9c\xd6\x8a\xf3\x0e\x33\x1a\xb5\x1a\xb3\
+\xa7\x8c\xc4\xb5\x13\x86\x35\xfb\x9f\x7f\xad\x56\x8d\x81\xbd\xe3\
+\x31\xb0\x77\x3c\x86\x0f\xe8\x89\xf7\x3e\xfb\x0e\xb6\x5a\x7b\x8b\
+\xdb\xd5\x6a\xd5\x98\x30\xa2\x3f\xc6\x0e\xed\x03\xb3\xc9\x00\x41\
+\x2d\xe0\x44\x66\x3e\x7e\x3a\x78\x12\x59\x79\xc5\x8a\x75\x05\x95\
+\x0a\x92\x2c\x43\x14\x25\xe4\x17\x5b\x90\x5f\x6c\x69\x97\x73\xe6\
+\xaa\xad\x82\xbd\xaa\xb8\xf9\x20\x93\x77\x1c\x95\xa7\x8f\x00\x00\
+\x42\x7b\x8e\x44\x8f\xb1\xf3\xba\xec\xf3\x0d\x4e\x1c\x86\x92\x94\
+\xed\xde\xef\x62\x69\x69\x29\xcc\x66\x73\x87\x0c\x70\xd9\xf4\xe7\
+\xa5\x45\x4c\x4c\x0c\x0a\x0b\x0b\xdb\x35\xd0\x6c\xde\xbc\x19\x33\
+\x67\xce\xc4\x80\x01\x03\x78\x21\x22\xa2\xcb\x92\x4a\x96\x65\x0e\
+\x71\x4d\x44\xe7\x4d\x92\x24\x3c\xf0\xc0\x03\x2d\xb6\x95\xf1\x5c\
+\x66\x44\x51\xc4\xde\xbd\x7b\x7d\x3a\x08\x50\xa1\xcf\x75\x8f\x9e\
+\x77\x9b\x94\xf6\x74\x66\xcf\xff\xa1\x32\xe7\xb0\x77\x3a\x66\xf8\
+\xf5\xd0\x06\x34\x04\x18\x73\x4c\xdf\x73\xee\x08\xc0\x68\xd0\xe1\
+\x4f\xf7\xde\x80\xb8\xe8\xf0\x73\x7a\x5d\x45\xb5\x0d\xef\x7e\xb2\
+\xcd\x2f\x94\x78\x84\x87\x98\xf1\xc7\x7b\x6f\x40\x58\xb0\x7f\xf5\
+\x22\x59\x92\xf1\xd5\xae\x83\x50\x0b\x02\xae\x1c\xda\x07\x21\x66\
+\x13\x24\x59\xc6\x89\xcc\x7c\xec\x39\x92\x86\x83\xc7\xdb\xa7\x31\
+\xba\x24\x3a\x61\x2d\xca\x80\x2c\xbb\x9b\x09\x3a\xd5\x28\x3a\xfc\
+\x35\x64\xb9\xa1\x7b\xe8\x01\x37\xff\x19\x1a\x7d\x40\x97\x7c\xbe\
+\xb6\xd2\x6c\x64\x6d\x7f\xc7\x3b\xdd\xb7\x6f\x5f\x8c\x1d\x3b\xd6\
+\x5b\xcd\xac\xb9\xae\x99\xdb\xf5\x0f\xae\x4a\x85\x82\x82\x02\x54\
+\x57\x57\xb7\xeb\x76\x93\x93\x93\xb1\x62\xc5\x8a\xf3\xaa\x26\x47\
+\x44\x74\xa9\xe3\x95\x8f\x88\x2e\xc8\x57\x5f\x7d\xd5\x6a\xa3\x7f\
+\x8f\x82\x82\x02\x45\x4f\x67\xc1\x09\x43\x2e\x8a\x20\xe3\x76\xd6\
+\xa1\xea\x4c\x8a\x77\x5a\x1f\x14\xa5\x08\x32\x00\xbc\x63\x95\x9c\
+\x8b\x05\x73\x26\x9f\x73\x90\x01\x80\xd0\xa0\x00\x3c\xba\xe0\x3a\
+\x04\x98\x0c\x7e\xcb\x02\x8d\x06\x2c\xbc\x7b\x76\x93\x41\x06\xa8\
+\xef\xc5\x6c\xf6\x94\x51\xb8\x6e\xd2\x08\x84\x9d\xed\x0c\x40\xa3\
+\x56\x63\x48\xdf\x04\xdc\x7f\xdb\x0c\xdc\x7e\xfd\x04\xbf\x76\x33\
+\xe7\xa3\xae\x3c\xaf\xd9\x20\x03\x00\xe5\x99\xbf\x28\x82\x0c\x00\
+\xd4\x96\x9d\xee\xb2\xcf\xd8\x14\x1e\xaf\xe8\x88\xa0\xb4\xb4\xd4\
+\x1b\x5e\x04\x41\xf0\x06\x9a\xc6\xcf\x9e\x47\x73\xf3\x5b\x5b\xee\
+\x3b\x5f\xa5\x52\xa1\x47\x8f\x1e\xde\x41\x3a\xdb\x4b\x66\x66\x26\
+\x36\x6c\xd8\xc0\x8b\x11\x11\x5d\x96\x58\xcd\x8c\x88\xce\x5b\x6d\
+\x6d\x2d\x56\xaf\x5e\xdd\xe2\x3a\xbe\xa5\x32\xb9\xb9\xb9\x0d\x37\
+\xdd\x2a\x01\xd1\x43\x66\x5c\x14\xc7\x51\x99\x73\x18\xb2\xbb\xa1\
+\xbd\x8f\x39\xa6\xaf\xdf\x3a\x9e\xee\x9a\xdb\x6a\xe2\xc8\xfe\x18\
+\x39\xa8\x97\xdf\x7c\x97\xe8\xc6\x91\x93\x39\xc8\xce\x2b\x81\xdd\
+\xe9\x44\x72\x7c\x34\x06\xf5\x4e\x40\xb0\xd9\xa4\x58\xcf\xa8\xd7\
+\xe3\xc6\xa9\x63\xb0\xee\xcb\x5d\x8a\xf9\x93\xc6\x0c\x40\x78\x68\
+\xd0\x79\x1f\xeb\xd5\x57\x0e\x42\xb5\xad\x16\x5f\xef\x3c\x74\xde\
+\xdb\x70\xd4\x94\x41\x74\x34\xdf\xed\xb2\xad\x38\x0b\x8e\x6a\xff\
+\xce\x09\x6c\xa5\xa7\x11\x14\x37\xd0\xe7\xbb\x21\x41\xac\xad\xf6\
+\x0b\x8e\x1d\x41\x25\x68\x60\x0a\x4f\x80\xad\xa4\xbe\x64\xaa\xb2\
+\xb2\x12\x7a\xbd\x1e\x66\xb3\xb9\xbe\x9b\x6c\x8d\xc6\x1b\x6c\x7c\
+\x7b\x2b\x3b\xd7\x67\xcf\x77\xbe\xb9\xed\x00\xc0\xe0\xc1\x83\x71\
+\xe8\xd0\xa1\x76\x1d\xd4\xf4\xfd\xf7\xdf\xc7\x94\x29\x53\x10\x19\
+\x19\xc9\x0b\x13\x11\x31\xcc\x10\x11\xb5\xc5\x87\x1f\x7e\x88\xca\
+\xca\xca\x56\x83\x8c\xa7\x8d\x82\x6f\x6f\x4e\x21\x49\x23\xa0\x37\
+\x47\x74\xf9\x31\x48\x2e\x07\x4a\x8e\x7f\xef\x9d\x56\xeb\x03\x60\
+\x0c\xf7\x1f\x8c\xd0\xed\x72\x40\x96\xdc\x50\x09\xea\x56\xb7\xa9\
+\xd3\x6a\x70\xdb\x75\xe3\xfd\xe6\x9f\x29\xb6\x60\xf5\x67\xdf\xa1\
+\xb0\xb4\xc2\x3b\x6f\xf7\xa1\x53\xd0\x69\x35\xb8\x6b\xee\x14\x8c\
+\x1e\x94\xac\x0c\x2e\x23\xfb\x63\xd7\x81\x54\xe4\x15\x35\x94\x0a\
+\x4d\x1a\xa5\x6c\x1b\xe1\x72\xb9\xb1\x3f\x35\x03\xc9\x09\x31\x88\
+\x0a\x6b\x5b\xc8\xb9\x76\xfc\x70\xfc\x78\xe0\x04\x6a\x6c\xf6\x73\
+\x3e\x5f\x6e\x97\x1d\xf6\xca\xe6\xdb\xc9\xb8\x9d\x76\x54\xe4\x34\
+\x1d\x94\x6a\x4b\x73\x14\xd3\x05\xfb\x3f\x47\x48\xe2\xb0\x4e\x09\
+\x33\x40\x7d\xfb\x2c\x4f\x98\x91\x65\x19\xc5\xc5\xc5\x08\x09\x09\
+\x81\x46\xa3\xe9\xb4\xaa\x66\x40\x7d\xfb\x99\xa4\xa4\xa4\x76\x1d\
+\x7f\xa6\xae\xae\x0e\x6f\xbd\xf5\x16\x16\x2f\x5e\xcc\x0b\x13\x11\
+\x5d\x56\x58\xcd\x8c\x88\xce\x4b\x41\x41\x41\x9b\xbb\x62\xf6\xdc\
+\x38\xfa\x8a\x1c\x30\xe9\xa2\x38\x8e\xe2\x63\xdf\x2a\xba\x15\x0e\
+\xeb\x35\xba\x99\x9b\x59\x19\x6e\x67\x5d\x9b\xb6\xd9\x3b\x31\x06\
+\x3a\xad\xf2\x7f\x45\x56\x9b\x1d\xff\xfe\xf0\x2b\x45\x90\xf1\x70\
+\xba\x44\xbc\xf7\xe9\x76\x1c\x3d\xa5\xac\x86\xa5\x12\x54\x98\x71\
+\xd5\x30\xef\x74\x70\xa0\x09\xa1\x41\xca\xea\x65\x5b\x77\x1f\xc6\
+\x7f\x3e\xff\x01\x6f\xfc\x67\xb3\xdf\x76\x5d\x2e\x37\xbe\xfd\xe9\
+\x08\x4e\x65\x2b\x7b\x35\x33\xe8\xb5\xe8\x93\x18\x7b\xee\x27\x4b\
+\x96\x51\x67\x39\x03\xa0\xf9\x12\x85\xca\x9c\x83\x90\xc4\xa6\x07\
+\x4d\xad\xab\x28\xf0\x2e\x2b\x39\xfe\x3d\xca\x33\x7f\x81\xc6\xd0\
+\x79\xdd\x0a\x07\x46\x29\x07\x64\x3d\x73\xe6\x0c\x24\x49\x82\x24\
+\x49\x90\x65\x59\x11\xbe\x3b\x5a\x8f\x1e\x3d\x10\x10\xd0\xbe\xed\
+\x87\x76\xee\xdc\xd9\xee\x03\x74\x12\x11\x31\xcc\x10\x51\xb7\xb4\
+\x72\xe5\xca\x16\xbb\x62\xf6\xbd\x31\x74\x3a\x9d\xa8\xa8\x68\xb8\
+\x89\x37\x86\xc6\x42\x1f\x14\xd5\xe5\xc7\x60\xaf\x2c\x82\x25\x7d\
+\x4f\xc3\xcd\x6e\x74\x32\x8c\x61\xcd\xdf\xe4\x37\x1e\x14\xb2\x39\
+\xfd\x93\xfc\xb7\xb1\x71\xfb\x3e\x54\x5b\x5b\x0e\x43\x9f\x6c\xdd\
+\x0d\xb1\xd1\xe8\xf4\xd1\xe1\x0d\xa5\x16\x11\x4d\x54\x2f\xcb\x3e\
+\x53\x1f\x12\x6b\x6a\xfd\xb7\xbd\x7d\xef\x31\x6c\xd8\xb6\x17\xcb\
+\xd7\x6d\x81\x28\x2a\x03\x48\x44\xc8\xb9\x77\x85\xed\xb0\x5a\x14\
+\xe3\xf0\x34\x75\x3e\x6d\xa5\x0d\x81\x4c\xab\x37\x62\xe0\x84\x86\
+\xf1\x83\x64\xc9\x8d\xf2\xcc\x7d\x70\x5a\xcb\x51\x72\x6c\x1b\x80\
+\xfa\x92\xb0\xce\x62\x0a\x4f\x80\x4a\x68\x08\x99\xf9\xf9\xf9\x70\
+\xbb\xdd\x9d\x1e\x64\x80\xfa\xce\x00\xfa\xf6\xed\xdb\xae\xdb\x94\
+\x65\x19\x1f\x7e\xf8\x21\x2f\x4e\x44\xc4\x30\x43\x44\xd4\x92\x23\
+\x47\x8e\xe0\xc7\x1f\x7f\x6c\xd3\xcd\x95\x2c\xcb\x28\x2a\x2a\x52\
+\xcc\x0f\x49\x1c\xde\xe6\xf7\xaa\xca\x3d\x86\x9c\x1f\x56\xa3\x2a\
+\xf7\xa8\x5f\x83\xf2\x0b\xe1\xaa\xad\x42\xee\xee\x75\xde\x6d\x6a\
+\xf4\x01\x08\xed\x39\xb2\xc5\xd7\x88\x8e\xb6\x85\x99\x7e\xbd\xe2\
+\xfc\xe6\xa5\x64\xe4\xb6\xfa\xba\xb2\x8a\x1a\x14\x97\x29\xab\xed\
+\x45\x84\x99\x7d\xc2\x8c\x7f\x00\x29\xab\xac\x39\x1b\x4e\xfc\x83\
+\x4e\x6e\x41\x69\xfd\xb1\x36\x11\x3a\x4d\xc6\x73\x6b\x84\x2e\x4b\
+\x22\x1c\x55\x25\x2d\x2c\x77\x2b\x06\xa6\x04\x80\xf1\x37\x3f\x8c\
+\xb1\x73\x7e\x0b\x95\xaa\xe1\x4f\x4d\xe9\x89\x5d\x28\x4e\xd9\x5e\
+\x7f\xde\x55\x2a\x68\x74\xa6\x4e\xfb\xde\xaa\xd4\x1a\x98\xc2\xe3\
+\x1b\xce\x5d\x59\x19\x1c\x0e\x87\x5f\xc9\x4c\x67\x09\x0a\x0a\x42\
+\x4c\x4c\xfb\x76\x80\xb1\x73\xe7\x4e\x45\xdb\x34\x22\xa2\xee\x8e\
+\x6d\x66\x88\xe8\xdc\x6e\x6a\x65\x19\xcb\x97\x2f\x6f\x75\x1d\xdf\
+\x9f\x2d\x16\x9f\x71\x4d\x54\x2a\x04\x27\x0e\x6d\xf3\xfb\xe9\xcd\
+\x11\xb0\x16\x65\xa2\xa6\x30\x1d\xba\x80\x50\x44\x0f\xb9\x06\x21\
+\x49\xc3\x00\x9c\x5f\xbb\x06\x59\x72\xa3\xec\xc4\x4e\x14\xa5\x6c\
+\x03\x7c\xf6\x33\xbc\xcf\x38\x45\x6f\x57\x4d\x69\x6b\xc9\x8c\x5a\
+\xad\xfc\x3f\x91\xc3\xe9\x42\x55\x4d\xdb\x5e\x5b\x5a\x51\xa3\xe8\
+\x01\x2d\xd0\x68\x80\xd1\xa0\x43\x9d\xdd\x89\xf0\x46\xa5\x29\xb2\
+\x0c\x94\x57\xd5\x34\x1b\x74\x2c\x67\x83\x4e\x50\xa0\x09\x1a\x8d\
+\x72\x9f\xca\xab\xcf\xad\x43\x03\x7b\x55\x49\x8b\xbd\x97\x55\xe5\
+\xa6\x28\x3a\x49\x88\x4a\x1c\x80\x91\xd7\xdc\x09\x95\x20\xa0\xef\
+\x98\x6b\x70\x6a\xdf\xd6\xfa\x40\x68\xaf\xf1\x76\x81\xad\xd1\x99\
+\x80\x0e\x6e\x9f\xd2\x58\x40\x54\x4f\xd8\x4a\xeb\x7b\xdf\x93\x24\
+\x09\x39\x39\x39\xe8\xdd\xbb\x37\x44\x51\x84\x56\xab\x85\x4a\xa5\
+\x82\x5a\xad\x56\x7c\x7f\x3d\xd5\x0e\x55\x2a\x95\x77\x90\xcd\xd6\
+\x3a\x01\xf0\xac\xdf\xda\xeb\xe3\xe2\xe2\x50\x5a\x5a\xda\xea\x80\
+\xb3\xe7\xf2\xfb\xf9\xe1\x87\x1f\xe2\x99\x67\x9e\xe1\xc5\x8a\x88\
+\x18\x66\x88\x88\x1a\xdb\xb9\x73\x27\x32\x32\x32\xda\x74\x53\xe5\
+\x79\xd8\x6c\x0d\x3d\x5f\x99\xc2\xe3\xa1\x35\xb6\xbd\x37\x2e\x43\
+\x68\x0c\x22\x07\x4e\x41\x49\xea\x0e\x38\x6d\x15\x38\xb3\xe7\xff\
+\x50\x76\xea\x47\x5c\x31\xfc\x7a\x04\x46\x27\x9f\xd3\xbe\xd7\x5a\
+\xce\x20\x7f\xdf\x06\xbf\x81\x1e\xb5\xa6\x60\xed\x7e\x2e\x0b\x00\
+\x00\x20\x00\x49\x44\x41\x54\xe8\x83\x5b\xaf\xf6\x26\x4b\x6e\x48\
+\xa2\xa3\xd5\xf1\x66\x4a\xcb\xab\x11\x17\x15\xd6\x10\xc8\x74\x5a\
+\x04\x1a\x0d\xb0\xd6\xb5\xde\xe0\x3e\xc4\x1c\xe0\x17\x58\xd4\x67\
+\x4b\x36\x1a\x87\x99\x6a\x6b\xad\xb7\xfa\x58\x50\x80\x7f\x09\x47\
+\x79\xa5\xf5\x6c\xd0\xf1\x3f\xdf\x65\x15\x35\x6d\x3e\x6f\x92\xcb\
+\xd1\x62\xd7\xd4\x2e\x5b\x25\x6a\x0a\x4e\x34\xdc\xc4\x0b\x02\xae\
+\xb9\xf7\x39\xa8\xce\x8e\x7b\x32\xf6\xc6\xfb\x90\xb6\xff\x5b\xc8\
+\xde\xde\xbb\xea\x6f\xf8\x35\x46\x73\xa7\x7f\x7f\x03\xa2\x7a\x02\
+\xa9\x0d\xd3\x39\x39\x39\x88\x8c\x8c\x54\x8c\x37\xe3\xe9\x08\xc0\
+\x37\x88\x34\xfe\x6e\xb7\xd4\x49\x40\x6b\xcb\x1b\x8b\x8a\x8a\x42\
+\x7e\x7e\x7e\xbb\x75\x3c\xb0\x63\xc7\x0e\xdc\x73\xcf\x3d\x88\x8b\
+\x8b\xe3\x05\x8b\x88\xba\x3d\x56\x33\x23\xa2\x73\xf2\xe9\xa7\x9f\
+\xb6\x1a\x62\x7c\x7f\xb6\xdb\xed\x70\xfb\xb4\x03\x31\x86\x9e\x7b\
+\xc3\xf3\xa8\x41\xd3\x10\x92\x34\x02\x9e\xd2\x98\xba\x8a\x02\x64\
+\xef\x78\x0f\x19\xdf\x2c\x47\x79\xc6\x5e\xb8\x9d\x2d\x87\x04\x57\
+\x5d\x35\x0a\x0e\x7c\x81\xcc\x6d\x2b\x9a\x1c\xb1\xde\x55\x5b\x0d\
+\x57\x5d\xdb\x4a\x2a\x44\x47\xeb\x9d\x00\x94\x94\x57\xf9\xcd\xeb\
+\x9d\x78\x45\xab\xaf\x0b\x34\x1a\x90\x10\xab\xec\xe1\x2d\xaf\xc4\
+\xe2\x0d\x41\x91\x8d\x7a\x2b\x2b\xab\x6c\x18\x7c\xf1\x78\xe6\x19\
+\x64\xe6\x16\xc1\xe5\xaa\x3f\xd7\x69\x39\x85\xde\xd7\x35\xd5\x3e\
+\xc6\x53\x6a\xd3\x16\x75\x95\x85\xde\x00\xe2\xff\x81\x03\xe5\x99\
+\xfb\x14\x9f\xfb\xc8\x19\xf3\x11\x9d\xd4\xd0\xeb\x5a\x44\x5c\x6f\
+\x5c\x7d\xc7\x22\xbf\x97\xaa\x75\xc6\x4e\xff\xfe\x9a\x22\x12\x14\
+\x3d\xd2\x95\x94\x94\x40\x14\x45\xb8\xdd\x6e\x6f\x67\x00\xbe\x9d\
+\x02\x34\x9e\xd7\xd2\xfc\xb6\x2e\x6f\xfc\x08\x0e\x0e\x86\xd9\xdc\
+\x7e\xc1\x4e\x92\x24\x7c\xf4\xd1\x47\xbc\x58\x11\xd1\x65\x81\x25\
+\x33\x44\xd4\x66\xc7\x8f\x1f\xc7\xf1\xe3\xc7\x5b\x5d\xcf\xb7\x54\
+\xc6\x6a\x55\x86\x04\x7d\xd0\xb9\x8f\x83\xa1\x12\xd4\x88\x1f\x77\
+\x1b\x22\xfa\x4d\x40\xd1\xe1\x2d\xb0\x16\xd7\x97\x0c\xd5\x95\xe7\
+\x21\xbf\x3c\x0f\x05\x07\x37\xc3\x14\xd6\x03\xfa\xe0\x68\x48\x92\
+\x0b\x82\x4a\x03\x95\x46\x0b\xd9\x2d\xa2\xb6\x2c\xf7\x6c\x80\x69\
+\xa9\x3d\x84\x0c\x6b\xe1\x29\x84\xf6\x1a\xd5\xea\xbe\xb8\x9d\xb5\
+\x40\x2b\x5d\x09\x97\x94\xf9\x87\x99\x5b\xae\x19\x8b\x94\xf4\x33\
+\x7e\x0d\xfc\x7d\xdd\x7c\xcd\x58\x08\x8d\xfe\x3b\x7f\x32\x33\xdf\
+\xfb\x73\xe3\x92\x19\x4f\xc9\x0b\x00\x54\x54\xdb\xf0\xea\xea\x4d\
+\x50\xa9\x00\x93\xd1\x00\x5b\x6d\x43\xc0\x6b\x5c\x32\x23\xcb\x80\
+\xa5\xb2\x6d\xa3\xd0\x8b\x76\xab\xa2\xb7\xb7\xc6\x6a\x8a\x33\xe0\
+\xa8\x69\xa8\x46\x68\x0e\xbf\x02\xe3\x6f\x79\xc4\x6f\xbd\x11\x33\
+\xfe\x07\xc5\x39\xc7\x71\xfc\xa7\x2f\xba\xf4\x3b\x2c\xa8\xb5\xd0\
+\x9b\x23\xbc\xa1\xb6\xb6\xb6\x56\x11\x2c\x7c\xab\x8a\xa9\x3a\xa9\
+\x0a\x9c\x24\x49\x88\x89\x89\x41\x5a\x5a\x5a\xbb\xbd\xe7\xb6\x6d\
+\xdb\x70\xf7\xdd\x77\xe3\x8a\x2b\xae\xe0\x85\x8b\x88\xba\x35\x96\
+\xcc\x10\x51\x9b\x9d\x6b\xa9\x4c\xe3\x2a\x66\xf5\x61\xe6\xfc\x7b\
+\x31\x33\x86\xc6\xa2\xe7\xd4\xdf\x20\x69\xca\xaf\x11\x78\x45\x1f\
+\x6f\x7b\x0b\x59\x72\xc3\x56\x76\x1a\xe5\x99\xfb\x50\x99\x7d\x08\
+\xe5\x59\xbf\xc0\x92\xb6\x1b\xe5\x99\xfb\x60\xaf\x2a\xf2\x0b\x32\
+\x1a\xad\x1e\xd3\xef\x7a\x1a\x7a\x53\x43\x38\xb0\x96\x64\x41\x12\
+\x5d\x6d\x08\x33\xad\x97\xcc\x1c\x3c\x9e\x0d\x6b\xa3\x31\x5c\x22\
+\xc3\x82\xf1\xf0\x1d\xd7\x22\xc0\x64\x68\x22\xac\xa9\x70\xdd\xc4\
+\xe1\x18\x3f\xa2\x9f\xdf\xb2\x93\x59\x79\x00\x00\xb5\x20\x20\x24\
+\x48\x59\x05\xad\xa9\xaa\x62\xb2\x0c\x45\x90\xa9\x0f\x41\xca\xee\
+\x8f\xab\x6a\x6c\x7e\xbd\x9b\x35\xc7\x51\x5d\xda\xc2\xb9\xb0\xa3\
+\xea\x6c\xfb\x17\x8f\xe9\x77\x3d\x0d\xad\xbe\xe9\x12\x97\xea\xb2\
+\x02\xbf\xcf\xb3\x2b\x38\x6d\x3e\x3d\xeb\x19\x8d\x8a\x12\x95\xae\
+\xa2\x56\xab\xdb\x35\x78\xb8\xdd\x6e\xac\x5b\xb7\x8e\x17\x2d\x22\
+\xea\xf6\x58\x32\x43\x44\x6d\x52\x5c\x5c\x8c\x5d\xbb\x76\xb5\xba\
+\x9e\x6f\xa9\x4c\x53\x37\x88\x6d\x19\x74\xb2\x35\xe6\x98\x3e\x30\
+\xc7\xf4\x81\xab\xb6\x0a\x45\x47\xb7\x7a\x1b\x94\xb7\x46\xa5\x12\
+\x30\x64\xf2\x4d\x98\xba\xe0\x29\xa8\x35\x5a\x54\x95\x15\x60\xff\
+\xd7\x1f\xd4\xef\xb7\x5b\x84\xad\x38\x13\xe6\xb8\xfe\x2d\x6e\x43\
+\x12\x1d\xad\xbe\x4f\x9d\xc3\x81\x8d\xdb\xf7\x61\xc1\x8d\x93\x15\
+\xf3\x07\x26\xc7\xe3\xb9\x87\xe6\xe1\x97\x94\x0c\x9c\xc8\xaa\x2f\
+\x71\x89\x0c\x0d\xc2\xa4\x51\xfd\x15\x8d\xfe\x3d\x32\x73\x8b\x70\
+\xf2\xec\x18\x31\x61\x21\x81\x7e\xa5\x36\x6d\xad\x2a\xd6\xb8\x64\
+\xa6\xad\xaf\x73\x3b\xeb\x20\x3a\x9a\xaf\x7e\x57\x99\x73\x18\x92\
+\xbb\x21\x00\xf6\x1d\x73\x0d\x7a\x0d\x9b\xdc\xf4\xf7\x27\xe7\x04\
+\xf2\xd3\x0e\x2a\xf7\xab\x5f\xe7\x8f\x35\xe4\xaa\xad\x52\x8c\x83\
+\xe3\x3b\xd6\x8b\x67\xc0\x4c\xe1\x6c\x5b\x1f\xb5\x5a\xdd\x6c\xc3\
+\x7e\x49\x92\x20\x08\x82\xdf\x72\x59\x96\x9b\x9c\xef\x79\x5d\x73\
+\x1d\x06\xc8\xb2\x8c\xa8\xa8\x28\x58\x2c\x96\x76\xeb\x0c\x60\xcb\
+\x96\x2d\x58\xb0\x60\x01\x22\x23\x23\x79\x01\x23\x22\x86\x19\x22\
+\xba\xbc\x6d\xd8\xb0\x01\x92\xd4\xb6\xff\xe6\xfb\x86\x19\x8d\x46\
+\x79\x99\x11\xeb\xaa\xdb\x6d\x9f\xb4\xa6\x60\xb8\x6a\xab\x5a\x5d\
+\x2f\x20\x38\x1c\x43\xa7\xdd\x86\x21\x93\x6f\x41\x60\x48\xc3\x8d\
+\xdd\x88\x19\xff\x83\x83\x5b\x3f\x84\x24\xd5\x57\xfd\xaa\x2e\x4c\
+\x43\x60\x6c\xbf\x96\x1b\x77\x4b\x6e\xc8\x92\xbb\xd5\x50\xf6\xf3\
+\xe1\x53\x98\x3c\x66\x20\x12\x62\x94\x6d\x60\x82\xcd\x26\xcc\xb8\
+\x6a\x28\x66\x5c\xd5\x72\x8f\x6e\x55\xd6\x5a\xbc\xfd\xc9\xb7\xde\
+\x73\xde\x54\xd7\xcb\x65\x6d\x0c\x25\x8d\xab\xa7\xb5\xf5\x75\x2d\
+\x95\xca\x38\xad\x15\xb0\x95\xe6\x78\xa7\xf5\xc6\x40\x4c\x9d\xff\
+\x44\x93\xeb\x66\x1d\xfe\x01\x5f\xbe\xf5\x94\xe2\xc6\x5e\xd0\xea\
+\xa1\x35\x05\x75\xfa\xf7\xd8\xde\xa8\x7b\xe9\xb0\xb0\x30\x04\x04\
+\x04\xc0\x60\x30\xc0\x60\x30\x40\xa3\xd1\x78\x7b\x35\x6b\x1c\x4a\
+\xda\xd2\x6b\x59\x4b\xcf\x82\x20\x34\xdb\x1b\x9a\x27\x1c\x25\x26\
+\x26\x22\x33\x33\xb3\x5d\x8e\x55\x14\x45\xac\x5f\xbf\x1e\x8f\x3d\
+\xf6\x18\x2f\x60\x44\xd4\x6d\xb1\x9a\x19\x11\xb5\xaa\xb6\xb6\x16\
+\x5f\x7d\xf5\x55\xab\x01\xa6\xa9\x40\xd3\x38\xcc\xb8\xea\x6a\xda\
+\x6d\xbf\x64\xc9\x8d\xda\xb2\xd3\x8a\x9b\xca\xa6\x82\x88\xad\xca\
+\x82\xf2\x82\x6c\x98\x82\xc2\x14\xf3\xcd\x61\x57\xa0\xcf\xe8\x19\
+\xde\x69\xb7\xc3\x76\x76\x84\xfb\x96\x35\x37\xc2\xbd\x62\x1d\x59\
+\xc6\x7b\x9f\x6d\x47\x61\x69\xe5\x39\x1f\xd7\xff\x67\xef\xbd\xe3\
+\xe3\xa8\xef\xfc\xff\xd7\xd4\xed\xd2\xaa\x58\x96\x2c\x17\xb9\xcb\
+\xbd\x00\x36\x38\x18\x70\xb0\xb1\x09\x10\x88\x21\x70\x70\x39\xda\
+\x25\x01\x42\x49\x2e\x81\xe4\xbe\x21\x90\xbb\x04\xf2\x0b\xb9\x84\
+\x12\x7a\x20\x09\x39\x20\x1c\x84\x12\x43\x00\xdb\x84\x8e\x6d\x6c\
+\x6c\xb0\x31\x58\xb6\xdc\x25\x59\xbd\x6f\x9f\xfa\xfb\x63\x3d\xa3\
+\x99\x2d\x92\x76\xb5\x92\x25\xfb\xfd\x7c\x3c\xf6\xb1\x9a\xba\xbb\
+\x33\xb3\xab\xcf\x6b\xde\xef\xf7\xeb\xad\x6a\x1a\x9e\xf8\xdb\x3f\
+\x6d\x4d\x36\x8b\x0a\xbc\x49\xeb\x19\xb6\xcc\xbd\x91\x3a\x3d\xad\
+\xbb\x5f\x9f\x51\xee\x45\x78\x76\x1c\xfa\x0c\xd6\xf4\xbd\xc5\x17\
+\x7c\x1b\x1e\x7f\x71\xd2\x7a\xdb\xdf\xfe\x3f\xac\x79\xf0\x87\x90\
+\x13\x4c\x1a\x44\x57\xfe\x31\xb9\x96\x83\x4d\x7b\x6d\xd3\x79\x79\
+\x71\x41\x65\xb8\x98\xf1\x3c\x6f\x3e\x73\x1c\x07\x41\x10\x4c\x81\
+\x93\xf8\x6c\x3c\xd2\x2d\x4f\x7c\xee\x6d\x7f\xa2\x28\x82\xe7\x79\
+\x8c\x19\x33\x06\xa2\x28\xe6\xec\xf3\xbe\xf1\xc6\x1b\x76\x6b\x74\
+\x82\x20\x08\x12\x33\x04\x41\x9c\x68\xbc\xf9\xe6\x9b\x08\x87\xfb\
+\xee\x93\x92\x98\x62\xa6\x69\x9a\xad\x67\x07\x00\x04\x1a\xaa\x73\
+\xf6\xbe\x3a\x0f\x6f\xb7\xd8\xfd\x02\x63\xc7\x8e\xc5\xb2\x65\xcb\
+\x30\x73\xe6\xcc\x24\x11\xb5\x67\xf3\x3a\xbc\xf1\xe8\x7f\x9a\x51\
+\x18\x83\x85\x2b\xff\xd5\xfe\xfe\xea\xf7\xe4\x44\xcc\x00\x40\x73\
+\x5b\x17\xee\x79\xf2\x15\x6c\xfd\xb2\xff\x77\xda\x8f\x34\xb7\xe3\
+\xfe\xbf\xfc\x03\xfb\x6b\xec\x8d\x46\x0b\xf3\x7c\x49\x62\xc9\x6a\
+\x00\x90\x8e\xd4\xe9\x69\x7d\x6f\x17\x0b\xb4\x22\x9d\x69\x42\xa4\
+\xbd\x1e\x31\x8b\x2b\x5c\x5e\x51\x19\x16\xac\xb8\x3c\xe1\x5a\xd0\
+\xf0\xfe\x73\xbf\xc3\x3b\xcf\xdc\x63\x3b\x47\xe6\xfe\x83\x6d\xd0\
+\x35\x75\x48\xaf\x63\x4d\x95\xd1\x71\x60\x5b\x8f\xd0\xe3\x38\xf8\
+\xfd\xfe\x24\x27\x33\xab\x38\x1f\xea\x3a\x1a\x96\x65\x31\x6e\xdc\
+\xb8\x9c\xed\x4f\x92\x24\xbc\xf9\xe6\x9b\xf4\x23\x46\x10\x04\x89\
+\x19\x82\x20\x4e\x4c\x34\x4d\xc3\xcb\x2f\xbf\xdc\xef\xf5\x13\x05\
+\x8d\x71\xf7\xda\x20\xd8\xb8\x17\xc1\xc6\x7d\x39\x79\x6f\xad\x7b\
+\x36\xda\xa6\xc7\x8c\x19\x83\x40\x20\x80\xc2\xc2\x42\x9c\x7e\xfa\
+\xe9\x49\xb5\x02\xd5\x5b\xff\x99\x24\x68\xca\x26\xcd\x41\xd9\x94\
+\xb9\xb6\x41\xbc\xd5\x9d\x6b\x20\x62\x06\x88\x37\xcc\xfc\xe3\x8b\
+\x6f\xe3\xd9\x7f\x7c\x80\xfd\xb5\x8d\xd0\xb5\x34\x02\x21\x2a\xe1\
+\x6f\x6b\x37\xe2\xee\xc7\x5f\xc2\xbe\x04\x21\x03\x00\xfb\x2c\xb6\
+\xcb\x00\x70\xf8\x48\x33\xd4\x7e\xa4\xfd\x15\xa5\xb0\x65\x6e\xed\
+\xe8\x3d\x35\x4f\xd7\x54\xc8\x96\x22\xf9\xc4\xf3\xdb\x79\xe8\x33\
+\xdb\xbc\xd3\x2f\xb9\x19\x1c\xdf\x13\x4d\x50\xa4\x18\x5e\x7b\xe8\
+\x56\x6c\x5b\xff\x4c\xd2\x40\xdd\xfa\x1a\xb9\xba\x0e\xfa\x2d\x7e\
+\x0f\x6d\xb7\x19\x38\x8c\x1e\x3d\x1a\x40\xbc\x58\xde\x10\x34\xc6\
+\xb5\x7b\x2c\x29\x2b\x2b\xb3\x7d\x67\x06\xca\xba\x75\xeb\xe8\x87\
+\x8c\x20\x88\xe3\x16\xaa\x99\x21\x08\xa2\x57\x3e\xfa\xe8\x23\x34\
+\x36\x36\xf6\x29\x60\x52\x09\x1a\xe3\x4e\x77\x61\x61\x21\x9a\x9a\
+\x7a\xee\xe4\x37\x6c\x7f\x03\x53\xce\xb9\x71\x40\x66\x00\xba\x26\
+\x1f\x75\x2a\x8b\xe3\x70\x38\xe0\xf7\xfb\xd1\xd4\xd4\x04\x59\x96\
+\x21\x8a\x22\x16\x2e\x5c\x88\xfd\xfb\xf7\xdb\x9a\x7c\x56\x6f\xfd\
+\x27\xf0\xd8\xff\xc3\xf9\x37\xdc\x63\xba\xa1\x9d\x74\xce\xb7\xf0\
+\x8f\x7d\x3d\xf5\x1e\xc1\xfa\x3d\x70\x4c\x5f\x92\x5e\xcc\xa8\x52\
+\xe6\xc7\x71\xdb\x6e\x7c\xb4\x6d\x37\x5c\x0e\x07\x2a\x27\x8d\xc1\
+\xc4\xb1\xa3\x11\x08\x85\xd1\xda\x11\x40\x6b\x7b\x37\x9a\xda\xbb\
+\x20\xc9\xe9\x0b\xbf\x77\xed\xaf\xc5\x4f\x7e\xf7\x34\x8a\x0b\xf3\
+\xe0\xf7\xba\x71\xa0\xae\xb9\x5f\xaf\x9b\xe7\x75\xa5\x10\x33\xbd\
+\x47\x66\xa4\x50\x07\x74\x3d\xb5\x50\x0a\x36\xee\xb3\xa5\x9f\x8d\
+\xae\x98\x89\xca\xc5\xab\xcc\x69\x55\x91\xb0\xe6\xf7\x3f\xc0\xe1\
+\x2f\x3f\xb6\x6d\x37\x7a\xf4\x68\x8c\x1b\x37\x0e\x5b\xb7\x6e\x35\
+\xe7\xb5\xed\xdd\x04\xdf\x98\xe9\x43\x74\x25\xeb\x68\xdb\xbb\xc9\
+\x36\xa7\xa4\xa4\x04\xb1\x58\x0c\xd1\x68\x14\x3c\xcf\x9b\x29\x8a\
+\xd6\x5a\x2f\xa3\x6e\xc6\x78\x36\xae\xef\x4c\xeb\x66\x52\x6d\x6f\
+\xfd\xbe\x24\xae\x5f\x5a\x5a\x8a\xda\xda\xda\x9c\x7c\xf2\xfa\xfa\
+\x7a\xec\xdc\xb9\x13\x73\xe6\xcc\xa1\x1f\x34\x82\x20\x48\xcc\x10\
+\x04\x71\x62\xd1\x97\x1d\x73\x2a\x11\x93\x18\x9d\xf1\x78\x3c\x10\
+\x45\x11\x92\x14\x17\x01\xd1\xce\x46\x34\x7f\xf9\x0e\x46\xcf\x59\
+\x91\xf5\xfb\x6a\xdc\xf1\x56\xdc\x87\xf8\x28\x65\x65\x65\x90\xe5\
+\x1e\x67\x2d\x49\x92\xd0\xd2\xd2\x82\x09\x13\x26\x00\x80\x5d\xd0\
+\x7c\xf2\x16\x36\x95\x4f\xc6\x69\x17\x5e\x07\x00\x98\x7a\xd2\xd9\
+\xc8\x2b\x2a\x43\x77\x5b\x03\x00\x20\xdc\x56\x03\x7f\x6c\x3e\x38\
+\x87\x3b\xb5\x98\x51\xa4\xac\xdf\x77\x24\x16\xc3\x67\x55\x07\xf1\
+\x59\xd5\xc1\x2c\xb6\x95\x50\xdb\xd0\x8a\x4c\x86\xb8\x7b\x0e\xd6\
+\xe3\xd0\x91\x66\x8c\x2f\x2b\x06\xcb\xb2\xa8\x6d\x6c\x43\x67\xa0\
+\x77\x31\x23\x87\x53\xd7\xf9\xe8\x8a\x82\xee\xda\x9d\xb6\x79\x67\
+\xfe\xcb\x0f\x4d\x51\xa8\x69\x2a\xfe\xf1\xc8\x4f\x92\x84\x4c\x45\
+\x45\x05\x2a\x2b\x2b\x4d\xd1\x19\x8b\xc5\x1d\xe1\x82\xcd\x07\xfa\
+\x65\xa6\x90\x0b\xda\xaa\x37\x21\xda\xd9\x23\x7e\xdd\x6e\xb7\xd9\
+\x07\xc9\x28\xcc\x97\x65\x19\xd1\x68\x14\x0e\x87\x03\x0c\xc3\x98\
+\x29\x92\xd9\x14\xf4\x27\x2e\x4f\x25\x5c\x7a\xdb\xde\xe5\x72\x25\
+\x09\xa6\x81\xb0\x76\xed\x5a\x12\x33\x04\x41\x90\x98\x21\x08\xe2\
+\xc4\xa2\xaa\xaa\x0a\x5f\x7e\xf9\x65\xbf\x85\x4c\x3a\x51\xa3\x69\
+\x1a\x7c\x3e\x9f\xad\x10\xb9\x65\xd7\xfb\xf0\x8d\x99\x01\x77\xd1\
+\xd8\x8c\xdf\x97\x2a\x45\x92\xee\xb2\x97\x95\x95\x25\xd5\xf5\x68\
+\x9a\x86\xb6\xb6\x36\x8c\x1f\x3f\x3e\x49\xd0\x6c\x5a\xf3\x38\x46\
+\x57\xcc\xc0\xa4\x79\x67\x80\x61\x59\x2c\x58\x7e\x39\xde\x7f\xfe\
+\x5e\xf3\xfd\x07\x1a\xaa\xe1\xaf\x98\x3f\x20\x31\x93\xe7\x75\xc1\
+\x21\x8a\xe0\x39\x06\x2c\xc3\x82\x65\x19\x70\x1c\x0b\x80\x89\xa7\
+\x36\x69\x3a\x54\x4d\x3b\x9a\xe6\xa4\x43\xd5\xac\xcf\x1a\x14\x4d\
+\x4b\x9b\x96\xd6\x5f\xba\x02\x61\xdc\xf3\xe4\xdf\xc1\xb0\x0c\xfc\
+\x5e\x37\xba\x02\x61\xf4\x36\x3e\xd6\x94\x58\xda\x5e\x3a\x5d\x75\
+\x5f\x42\x95\x7b\xac\xa9\x27\x2f\x38\x13\x63\xa7\x9f\x74\xf4\x98\
+\x69\x58\xfb\x87\x9f\x61\xff\x67\xef\xd9\xb6\x99\x31\x63\x06\x2a\
+\x2a\x2a\xcc\xe9\xd2\xd2\x52\x1c\x3e\x1c\x37\x6d\xd0\x55\x05\x81\
+\xfa\x3d\xc8\x1b\x3b\x73\x50\xaf\x63\x29\xd4\x81\xc6\xcf\xd7\xdb\
+\xe6\xe5\xe7\xe7\x43\x55\x55\xe8\xba\x0e\x45\x51\xa0\x1d\x3d\x0f\
+\x1c\xc7\x41\x51\x14\xf0\x3c\x0f\x55\x55\x6d\xa6\x12\x89\x75\x34\
+\xea\xd1\x06\xa8\x89\xf3\xd3\x2d\x4f\xfc\xae\xf4\xb6\x3d\xcb\xb2\
+\x18\x3d\x7a\x74\x9f\x51\xd1\xfe\xf2\xfe\xfb\xef\xe3\xe6\x9b\x6f\
+\x86\xd3\xe9\xa4\x1f\x36\x82\x20\x48\xcc\x10\x04\x71\x62\x90\x4d\
+\xe1\x70\x2a\x13\x00\x5d\xd7\x21\x08\x02\x3c\x1e\x8f\xd9\x44\x53\
+\xd7\x35\xd4\x7d\xfc\x02\xa6\xac\xba\x19\x2c\x97\x59\x7d\xc0\xe1\
+\x0f\x9f\xb6\x15\x8f\x7b\xbd\x5e\xf8\x7c\x3e\x34\x37\xa7\x4e\xbd\
+\xea\xe8\xe8\xc0\xc4\x89\x13\x11\x8b\xc5\x7a\x52\x77\x74\x1d\x6f\
+\x3e\x7e\x3b\xae\xf8\xf9\xb3\x28\x18\x3d\x1e\xb3\xcf\xfc\x06\x36\
+\xad\x79\x1c\x52\x34\xfe\xfe\x82\x4d\xfb\x91\x3f\x6e\x36\x18\x8e\
+\x4f\x31\xe0\x97\x11\x2f\x8e\xef\xbd\x5b\xfb\xb5\xab\xcf\xc6\xf4\
+\x89\x03\x6b\x0c\xa9\xeb\x80\xaa\xa9\x08\x86\xa2\x68\xeb\x0a\xa0\
+\xa3\x2b\x84\xb6\xce\x00\xda\xbb\x02\x68\xeb\x0a\xa1\xbd\x33\x80\
+\xb6\xce\x40\xaf\x29\x6a\x00\xa0\x6b\x3a\x3a\xba\x43\xfd\x18\xf8\
+\xa7\xae\xa7\x51\xa3\x61\x04\x1a\x7a\xcc\x11\x58\x96\xc3\x19\x97\
+\xfe\xc0\x9c\xfe\xe7\x5f\xee\xc6\xee\xcd\x6b\x6d\xdb\x54\x56\x56\
+\xda\x84\x4c\xa2\x98\x01\x80\x96\xaa\xf7\x07\x59\xcc\xe8\x38\xb2\
+\xe5\x65\x9b\x00\x75\x3a\x9d\x70\x38\x1c\xb6\x5e\x48\x89\x3d\x91\
+\x12\x53\xc1\x86\x1a\x5d\xd7\xe1\xf7\xfb\xd1\xdc\xdc\xdc\x6f\x4b\
+\xf4\xde\x88\x44\x22\xf8\xe0\x83\x0f\x70\xce\x39\xe7\xd0\x0f\x1b\
+\x41\x10\x24\x66\x08\x82\x38\xfe\xd1\x34\x0d\x1b\x36\x6c\xc8\x78\
+\x00\x96\xf8\xb7\xd5\xa2\x39\x2f\x2f\x0f\x91\x48\xc4\x1c\x9c\xc5\
+\x02\xad\x68\xda\xb1\x0e\x65\x0b\xcf\xef\xf7\x6b\x04\x1a\xaa\x6d\
+\xfd\x4d\x00\x60\xd6\xac\x59\xbd\xa6\xe3\xe8\xba\x8e\xf6\xf6\x76\
+\x54\x56\x56\xa2\xbb\xbb\x1b\x5d\x5d\xf1\x01\x7b\x2c\x12\xc4\x6b\
+\x0f\xfe\x08\x57\xfc\xfc\x59\x38\x5c\x5e\xcc\x5a\xfa\x75\x7c\xf6\
+\xd6\x73\x47\x05\x8b\x84\x60\xf3\x41\xf8\xca\xa6\xa6\x1c\x20\x6b\
+\x8a\x0c\x96\xef\xdd\x42\xd7\x21\x0e\xfc\x27\x96\x61\x00\x9e\xe3\
+\xe0\xcf\xf3\xc4\x2d\x96\xd3\x18\x5d\x05\x23\x51\x74\x74\x06\xd1\
+\xd6\x15\x8c\x0b\x9d\x8e\x20\x8e\x34\xb7\xa1\xa6\xa1\x15\x91\x68\
+\xff\xd3\xe2\xd2\xa5\x98\x75\xd6\x6c\xb7\x09\xc8\x39\x67\x5d\x8c\
+\x82\xd2\xb8\x50\x79\xef\xb9\xdf\x62\xe7\xfb\x76\x93\x88\xa9\x53\
+\xa7\x62\xe2\xc4\x89\x49\xfb\x29\x28\x28\xb0\xa5\x9a\x85\xdb\x6a\
+\x11\xed\x6c\x80\xd3\x5f\x36\x28\xd7\x71\xeb\xee\x8f\x10\x6c\xda\
+\x6f\x39\x9e\x0c\x7c\x3e\x5f\x52\xf4\x70\xb8\x52\x52\x52\x92\xb3\
+\xe8\xcc\xda\xb5\x6b\x49\xcc\x10\x04\x41\x62\x86\x20\x88\x13\x83\
+\x1d\x3b\x76\xa0\xb3\xb3\x33\xab\x6d\x53\xd5\xce\x38\x1c\x0e\x84\
+\xc3\x61\x78\x3c\x1e\x04\x02\x3d\xfd\x51\x5a\xab\x37\x21\x6f\xec\
+\x4c\x78\x4a\x26\xf5\x63\xc7\x1a\x6a\x37\x3d\x6f\x9b\x35\x6e\xdc\
+\x38\x14\x16\xc6\xfb\xc7\xe4\xe7\xe7\x9b\x42\x25\x11\x55\x55\xd1\
+\xd9\xd9\x89\x05\x0b\x16\x60\xe3\xc6\x8d\x66\xfd\x4e\xeb\x91\x7d\
+\xd8\xf4\xf7\xc7\xb0\xf4\x9b\xb7\x60\xe1\x8a\x2b\xb0\xfd\x9f\xcf\
+\x9b\xc5\xef\xc1\x86\x3d\x69\xc4\x4c\xdc\xe6\xb7\x2f\x31\xc3\x73\
+\x3c\x24\x59\x81\xac\x28\x50\x14\x0d\xb2\xa2\x42\x56\x14\x68\xba\
+\x0e\x81\xe3\xc0\xf1\x2c\x04\x8e\x07\xcf\xb3\xe0\x39\x0e\x02\xc7\
+\x81\x61\xb3\x8b\x06\x78\x5d\x4e\x78\x5d\x4e\x8c\x4b\x68\xd2\xa9\
+\xeb\x40\x4b\x7b\x17\x0e\xd7\xb7\xe0\x70\x7d\x2b\xaa\x0f\xd7\xa3\
+\xb6\xa1\x35\xf5\x31\x92\x22\xd0\x94\x58\xd2\x7c\x29\xd8\x8e\x50\
+\x4b\x8d\x39\x2d\x3a\x3d\x58\x72\xd1\xf5\x00\x80\x8d\xaf\x3c\x82\
+\x4f\xd7\x3f\x6b\x5b\x7f\xd2\xa4\x49\x98\x32\x65\x4a\x1a\x71\xc6\
+\xa0\xa2\xa2\x02\x7b\xf6\xf4\x44\x79\x6a\x3f\xfe\x1b\xa6\xae\xba\
+\x25\xe7\xd7\x70\xf7\x91\xdd\x68\xd8\x61\x8f\x16\x19\xb5\x28\xc6\
+\x83\x65\x59\xf3\x19\xe8\xe9\x37\x63\xd4\xcb\x70\x1c\x67\x2b\xe0\
+\xb7\x36\xb8\x4c\x7c\xce\x76\x79\xba\x06\x9a\x9a\xa6\xa1\xa8\xa8\
+\x08\x0d\x0d\x0d\x39\x89\x12\x7d\xfe\xf9\xe7\x68\x68\x68\x40\x59\
+\x59\x19\xfd\xc0\x11\x04\x41\x62\x86\x20\x88\xe3\x9b\x0f\x3e\xf8\
+\x20\x6b\x21\x93\x88\xd1\x59\x5d\x92\x24\x88\xa2\x68\x33\x03\x00\
+\x74\xd4\x6e\x7e\x11\xd3\x56\x7d\x1f\xac\xe0\xe8\x6d\xcf\xd8\xff\
+\xf6\x13\xb6\x7a\x0e\x87\xc3\x61\x16\x96\x03\xf1\xa2\x6e\xc3\x9d\
+\x2a\x15\x46\x81\xf7\xfc\xf9\xf3\xf1\xc9\x27\x9f\x98\xef\x75\xdb\
+\xda\xff\xc5\xf4\x45\x2b\x50\x32\x61\x06\x26\x2f\x38\x13\xfb\x3e\
+\x7d\x37\xbe\x7e\x24\x80\x48\x7b\x3d\x5c\x85\xc9\xa9\x62\xba\xaa\
+\xf4\x79\x2c\xee\x7e\xfc\xc5\x8c\x8f\x1f\xc3\x32\x10\x38\x0e\x3c\
+\xc7\x81\x37\xc4\x8e\xc0\x21\xdf\xeb\x42\x71\x41\x3e\x8a\xfd\x5e\
+\x14\xf9\xf3\x50\x54\xe0\xc5\xa8\x82\x7c\xf8\x3c\x2e\xf4\x36\xce\
+\x65\x18\xa0\xa4\x28\x1f\x25\x45\xf9\x38\x65\xce\x14\xec\xda\x57\
+\x8b\x07\x9f\x4d\x9d\x3e\x98\x2e\x2a\x13\xa8\xdf\x0d\x6b\xcf\x99\
+\x53\xce\xbb\x06\x2e\x5f\x01\x76\x7f\xfc\x26\x3e\x7e\xf5\x09\xdb\
+\xba\x13\x26\x4c\xc0\xf4\xe9\xbd\x3b\x94\x55\x54\x54\xa0\xa6\xa6\
+\x06\x91\x48\xfc\x5c\x46\x3b\x1b\xd1\x55\xf7\x25\xf2\xc7\xce\xca\
+\xd9\xf5\x1b\xed\x6c\x40\xed\xa6\xff\xb3\x99\x44\xf0\x3c\x0f\xa7\
+\xd3\x09\x41\x10\x20\x8a\x22\x9c\x4e\x27\x5c\x2e\x17\xbc\x5e\x2f\
+\xbc\x5e\x2f\x3c\x1e\x8f\x99\x82\x66\x34\xcf\x34\x04\x4e\xaa\x02\
+\x7f\xab\x40\xcb\xc4\xe1\xac\xaf\xed\x12\x29\x2e\x2e\xce\x49\xe3\
+\x4b\x5d\xd7\xb1\x6e\xdd\x3a\x5c\x7d\xf5\xd5\xf4\x03\x47\x10\x04\
+\x89\x19\x82\x20\x8e\x5f\x74\x5d\xc7\x47\x1f\x7d\x94\x93\x7d\x19\
+\x69\x3d\xb1\x58\xcc\xbc\x03\xee\x70\x38\x20\xcb\xb2\x39\x80\x93\
+\x43\x9d\xa8\xff\xf4\x1f\x18\xbb\xf8\xe2\xb4\xfb\x39\xf0\xee\x9f\
+\x10\x6e\x3d\x6c\x9b\x37\x6b\xd6\xac\xa4\xe6\x98\xf9\xf9\xf9\x90\
+\x65\xd9\x2c\xae\x4e\x1a\xe4\x46\xa3\xf0\x7a\xbd\x98\x30\x61\x02\
+\x0e\x1d\x3a\x04\x20\xee\xc2\xb5\xee\x4f\xff\x8d\x7f\xfd\xf9\xb3\
+\x58\x78\xce\xb7\x4c\x31\x03\xc4\x1d\xb7\xb2\x15\x33\x59\x1d\x7b\
+\x4d\x87\xa4\x29\x49\x35\x30\x4d\xad\x9d\xa8\x3e\xd4\x90\xb4\xbe\
+\x20\x70\x28\xf6\xfb\x50\x94\xef\x43\x71\x61\x1e\x8a\xfc\x3e\x14\
+\x17\xe4\x61\x54\x81\x0f\xa3\x8b\xfd\xe0\x13\x9a\x96\x46\x63\x72\
+\xda\xd7\x56\xa2\xc9\x2e\x67\xaa\x1c\x43\xb8\xb5\xc7\x3f\xcd\xeb\
+\x1f\x85\x93\xce\xf9\x16\xda\x8e\xec\xc7\x5b\x4f\xfd\xd2\xb6\x6e\
+\x79\x79\x39\x66\xce\xec\xbb\xfe\x85\x65\x59\x4c\x9f\x3e\x1d\xdb\
+\xb7\x6f\x37\xe7\x1d\xd9\xf2\x32\xf2\xc6\x54\xe6\xc4\xd9\x4c\x0e\
+\x77\xe1\xd0\x07\xff\x6b\xab\x93\x61\x59\x16\x4e\xa7\xd3\xbc\x06\
+\x39\x8e\x03\xcf\xf3\xe6\xc3\xe8\x87\x24\x08\x02\x78\x9e\x07\xc7\
+\x71\xe0\x38\xce\x66\x00\x70\xac\x28\x2d\x2d\xcd\x89\x98\x01\x80\
+\xf5\xeb\xd7\xe3\xaa\xab\xae\x3a\xe6\x9f\x89\x20\x08\x82\xc4\x0c\
+\x41\x10\x83\xc6\xce\x9d\x3b\xd1\xde\xde\x9e\xb5\x78\xb1\x3e\x8c\
+\xbb\xdf\xb2\x2c\x9b\x29\x3d\x0c\xc3\x40\x14\x45\xb3\x6e\x02\x00\
+\x3a\x0e\x6e\x43\xde\xd8\x59\xc8\x2b\xaf\x4c\x1c\xde\x63\xff\x5b\
+\x8f\x21\xdc\x56\x9b\x34\xc0\x33\x9a\x1e\x26\x0e\x94\x0b\x0b\x0b\
+\xd1\xda\xda\x9a\xf6\x6e\x77\x30\x18\xc4\xc4\x89\x13\xd1\xd4\xd4\
+\x64\x46\x07\x5a\x6a\xf6\x60\xeb\x9b\xff\x8b\x45\xe7\x5d\x83\xfc\
+\x51\xe5\xe8\x6a\x39\x92\x76\x80\x1f\x17\x40\xca\xb0\x38\x57\xb2\
+\xac\xa2\xa1\xa5\x13\x0d\x2d\xc9\x51\x15\x8e\x65\x51\x3a\xaa\x00\
+\x63\x47\x17\x62\x6c\x69\x11\xc6\x95\x16\xa1\xad\x2b\xf5\xe7\xd1\
+\x55\x05\xaa\x9c\x1c\xd1\x0a\x35\x1f\xb4\xf5\x9c\x99\x73\xd6\xc5\
+\xd0\x34\x05\xaf\x3e\x74\x2b\xe4\x58\x4f\x94\xac\xa8\xa8\x28\x23\
+\xeb\xdf\xb2\xb2\x32\x1c\x3e\x7c\x18\x1d\x1d\xf1\xe6\x9c\xaa\x14\
+\x41\xe3\x8e\x75\x28\x5b\xf0\xb5\x01\x1d\x0f\x29\xd4\x81\x83\xef\
+\x3c\x09\x39\xdc\x65\xbb\x26\x05\x41\x30\x53\xc8\x0c\x31\x63\x3c\
+\x1b\x7f\x5b\x85\xcb\x70\x1a\xec\x17\x15\x15\x41\x10\x04\x9b\xf5\
+\x78\xb6\x34\x35\x35\xe1\xb3\xcf\x3e\xc3\xc2\x85\x0b\xe9\x87\x8e\
+\x20\x88\xe3\x02\x96\x0e\x01\x41\x10\x89\x64\x9b\x62\x66\x1d\x00\
+\x1a\x03\xc3\x82\x82\x02\xdb\x20\xd2\x3a\x98\xe4\x12\xa2\x06\x47\
+\x3e\x79\x19\x4a\xac\xc7\x71\x4b\x55\x62\xa8\x7e\xe3\xfe\x24\x21\
+\xe3\xf3\xf9\x30\x6b\x56\xfa\x94\x24\x9e\xe7\x51\x58\x58\xd8\xeb\
+\x80\x34\x10\x08\x60\xf6\xec\xd9\xb6\x79\x1f\xaf\x79\x0c\x1d\x8d\
+\x87\xe1\xf6\x15\xf6\x0c\xf2\xd3\xd8\x30\x0f\x56\x64\x26\x97\xa8\
+\x9a\x86\x23\x4d\x6d\xd8\xfc\xf9\x5e\xbc\xb4\xfe\x63\xdc\xff\xbf\
+\xaf\xe3\xe5\xb7\x3e\x4e\xb9\xae\xf5\xb8\xdb\x84\x5f\x63\x8f\x9d\
+\x35\xc3\xb2\x98\x73\xc6\x37\xb0\xfe\x4f\xff\x8d\x8e\xc6\x43\xe6\
+\x7c\xa7\xd3\x89\xf9\xf3\xe7\x67\x2c\x00\xac\x29\x82\x00\xd0\x5a\
+\xbd\xc1\x26\x42\x32\x25\x16\x68\xc5\x81\xb7\xff\x00\x29\xd4\x61\
+\x17\x75\x16\xc1\x62\xfc\x6d\x44\x66\xac\xcb\x12\x05\xcd\x70\x81\
+\x61\x18\x94\x94\x94\xe4\x6c\x7f\x6f\xbd\xf5\x16\xfd\xc8\x11\x04\
+\x41\x62\x86\x20\x88\xe3\x13\x5d\xd7\xf1\xe1\x87\x1f\x0e\x68\xe0\
+\x65\x2d\xae\xce\xcf\xcf\xb7\xa5\xf3\x58\x07\x8e\xd6\xae\xeb\x40\
+\x3c\x0a\x52\xbf\x75\x0d\x74\x4d\x45\xcb\xae\xf7\xb1\xfb\x95\x5f\
+\x21\xd6\xdd\x62\xdb\xff\xa8\x51\xa3\x70\xea\xa9\xa7\x42\x14\x7b\
+\x2f\xbe\x17\x45\x11\x05\x05\x05\x69\x97\x2b\x8a\x02\x51\x14\x31\
+\x76\x6c\x4f\x9f\x1b\x45\x96\xb0\xfe\xcf\xbf\x80\xe8\xf2\x98\xf3\
+\xd2\x45\x60\x74\x4d\x39\xae\xce\x7b\xaa\x08\x54\xb4\xb3\x11\x4a\
+\xb4\xc7\xac\x61\xd2\xbc\x33\xb0\xe7\x93\xf5\xa8\xfe\xe4\x2d\xdb\
+\xf9\x5e\xb0\x60\x41\x9f\xe7\x23\x15\x7e\xbf\xdf\x5e\x8c\xae\xeb\
+\xd8\xbb\xf6\xf7\x69\xfb\xdc\xf4\x46\xb4\xab\x09\x07\xde\xfe\x43\
+\x92\x18\x4a\x14\x2b\x89\xe9\x65\x89\x82\xc6\x7a\xfd\x0e\x27\x4a\
+\x4b\x4b\x73\xb6\xaf\x2d\x5b\xb6\x0c\x6b\x07\x37\x82\x20\x88\x4c\
+\xa0\x34\x33\x82\x20\x6c\xec\xda\xb5\x0b\xad\xad\xad\x59\x89\x18\
+\x63\x80\x64\x0c\x06\x7d\x3e\x9f\x4d\xd8\x58\x1f\xc6\x7c\xa3\x49\
+\xa1\x41\x57\xed\x17\xe8\xae\xdf\x9d\x32\xf2\x31\x7e\xfc\x78\xcc\
+\x9c\x39\xb3\xdf\x03\x4d\x87\xc3\x01\xbf\xdf\x9f\xd6\x95\x2d\x14\
+\x0a\x61\xd2\xa4\x49\x68\x69\x69\x31\x53\xde\x8e\x54\x7f\x8a\x92\
+\x09\x3d\x05\xec\xba\x92\x3a\xb5\x47\x53\x8f\x33\x31\x13\x4b\x16\
+\x33\xd6\xa8\x0c\x00\x94\x4f\x5d\x80\x0f\x9f\xbf\xdf\x36\x6f\xc6\
+\x8c\x19\xf0\xfb\xfd\x59\xbf\xee\xf4\xe9\xd3\xd1\xdc\xdc\x6c\xd6\
+\x38\xa9\x52\x04\x7b\xd7\xfe\x1e\xd3\xbe\xf6\x03\xb0\xbc\xa3\x5f\
+\xfb\x88\xb4\x1f\xc1\xc1\xf7\xff\x0c\x35\x66\x6f\x9a\x9a\x78\xad\
+\x25\xa6\x98\x19\xd7\xac\xd1\x30\xd3\xb8\x0e\x75\x5d\x37\xeb\x65\
+\x8c\xeb\xd9\x2a\xf6\x53\x39\x8f\xf5\x55\xe0\x9f\x6a\x7b\x63\xbb\
+\xc4\xf9\xa9\xbe\x53\x3c\xcf\xc3\xed\x76\x27\x35\x86\xcd\x86\xce\
+\xce\x4e\xec\xdf\xbf\x3f\xad\xe3\x1c\x41\x10\x04\x89\x19\x82\x20\
+\x46\x2c\xd9\xa6\x98\x59\x45\x8c\xf1\xf0\x78\x3c\x90\x65\x19\xb2\
+\x2c\x9b\x4d\x09\x53\x59\xe2\x1a\x36\xb4\xe6\x80\x2f\x41\x28\x30\
+\x0c\x83\xe9\xd3\xa7\xa7\xec\x5b\xd2\x17\x2e\x97\x0b\x9a\xa6\xa1\
+\xbb\xbb\x3b\xad\xa0\x99\x39\x73\x26\x3e\xfb\xec\x33\x73\x5e\x6b\
+\xdd\x7e\xcb\xe0\x53\x83\xae\x69\x60\x58\x7b\x20\xdb\xda\x73\x65\
+\xa4\xa3\xa9\xb2\xad\x58\x3e\x2e\x2a\xa2\x88\xb4\xd7\x99\xd3\xbe\
+\xc2\x52\x7c\xba\xfe\x19\x68\x96\xcf\x5d\x56\x56\x86\x09\x13\x26\
+\x0c\xe8\xb5\x5d\x2e\x17\x16\x2e\x5c\x88\x6d\xdb\xb6\x99\xd7\x80\
+\x1c\xee\xc2\xfe\xb7\x1e\xc5\x94\x73\x6e\x4a\xd9\xb4\xd4\x4a\xb8\
+\xb5\x06\x87\xde\x7f\x2a\xa9\xde\x27\x31\x42\x68\x15\x36\x86\x80\
+\x51\x14\xc5\x74\xb8\x63\x18\xc6\x8c\xd6\x19\x22\xdb\x2a\x38\x12\
+\xad\x96\x13\x9d\xc8\x58\x96\x85\xaa\xaa\x69\x9d\xcf\x7a\xdb\xae\
+\xaf\xfd\x1a\xcb\xf3\xf2\xf2\x72\x22\x66\x00\x60\xdb\xb6\x6d\x24\
+\x66\x08\x82\x38\x2e\xa0\x34\x33\x82\x20\x06\x2c\x66\x52\xd5\xca\
+\x30\x0c\x03\xaf\xd7\x6b\xa6\x93\x19\x8e\x51\x89\xa9\x3d\xc6\xdd\
+\xed\x74\xf8\xfd\x7e\x9c\x74\xd2\x49\x59\x09\x19\x03\x8f\xc7\x03\
+\x8f\xc7\x93\x72\x99\xaa\xaa\x70\x3a\x9d\xb6\x34\x9e\xc4\xa8\x8b\
+\x96\xa2\x6e\x46\x3f\x8e\x22\x33\x89\x11\x0d\x20\xee\xe2\x66\x8d\
+\x12\x88\x4e\x37\x82\x9d\x3d\x29\x7f\x5e\xaf\x37\xa3\x82\xff\xde\
+\x28\x2e\x2e\xc6\xbc\x79\xf3\x6c\xd7\x51\xb4\xab\x19\x7b\xd7\x3d\
+\xd4\xab\x68\x0c\x35\x1f\xc0\xc1\xf7\xfe\x94\xd2\xb8\xc0\x10\x02\
+\x89\xe9\x65\xe9\x5c\xcb\xcc\x73\x7d\xf4\x5a\xb4\x3e\xeb\xba\x0e\
+\x55\x55\x6d\xcf\xc6\x7c\xeb\x72\xeb\xfa\xa9\x96\xf7\x36\xbf\x3f\
+\xcb\x07\x12\x01\x4b\x25\x66\x08\x82\x20\x48\xcc\x10\x04\x71\x5c\
+\xb1\x7b\xf7\x6e\x34\x37\x37\x67\xbd\xbd\x31\x18\x65\x59\x16\x3e\
+\x9f\xcf\x1c\x3c\x1a\xbd\x65\x8c\x47\xe2\x40\x92\x4d\x88\x7a\xb0\
+\x2c\x8b\xf2\xf2\x72\x2c\x59\xb2\x04\xa7\x9d\x76\x1a\x46\x8d\x1a\
+\x35\xe0\xcf\x96\x97\x97\x07\x87\x23\x75\xda\x52\x24\x12\xc1\xe4\
+\xc9\x93\x21\x08\x42\xca\xe5\xa9\x52\xca\x74\x5d\xb5\xf5\x30\x19\
+\xc9\x24\x89\x35\x3d\xb1\xf0\x9f\x43\x5b\xfd\x01\x73\x9a\xe3\x38\
+\x2c\x58\xb0\x20\xc9\xc0\x21\x53\x24\x49\x42\x5b\x5b\x1b\x74\x5d\
+\x47\x69\x69\x69\x92\x21\x43\xac\xbb\x19\xbb\x5f\xbd\x07\xb1\xae\
+\xe4\x6b\x32\xd0\x50\x8d\x43\xef\xff\xc5\xf6\xde\xf9\x84\x3e\x45\
+\x46\xa4\x24\xd1\x7e\xd9\xb8\x06\x53\x5d\x87\xc3\xd9\xb2\x98\x61\
+\x98\x9c\x09\x9a\x9d\x3b\x77\x5a\x7a\x3d\x11\x04\x41\x8c\x5c\x28\
+\xcd\x8c\x20\x08\x93\x4d\x9b\x36\xe5\x64\xc0\xa5\x69\x1a\xf2\xf3\
+\xf3\x93\xee\x86\x8b\xa2\x08\x45\x51\xa0\x28\x0a\x54\x55\x35\xef\
+\x3a\x0b\x82\x60\xb3\x69\xce\xcb\xcb\xc3\xdc\xb9\x73\x73\xfe\xf9\
+\xfc\x7e\x3f\x5a\x5b\x5b\x53\xf6\xa0\x89\x46\xa3\xa8\xac\xac\xc4\
+\xce\x9d\x3b\x93\x85\x8b\x9a\x7a\xd0\xa7\x69\x0a\x58\x4e\xe8\xf3\
+\x75\x75\x4d\x85\x14\xea\x84\x12\xed\x86\x1a\x0b\x43\x89\x06\x21\
+\x85\x3b\xa1\x44\x02\x50\xa2\x41\xa8\x52\x14\x9a\x12\x85\x2a\xc7\
+\xa0\xc9\xb1\xf8\x00\x9d\x01\x18\x86\x03\xc3\x72\x60\x38\x1e\x2c\
+\x27\x80\xe1\x05\x08\xce\x3c\x88\xde\x02\x08\x6e\x3f\x04\x77\xfe\
+\xd1\x87\x1f\xa2\x27\x1f\x0c\x9b\xdd\x4f\x7a\xa2\x98\x89\x75\x37\
+\x43\xb5\xb8\x9b\x71\x1c\x0f\xc5\x12\x21\x99\x31\x63\x06\xbc\x5e\
+\xef\x80\x85\x4c\x7b\x7b\x3b\x74\x5d\x47\x47\x47\x07\x0a\x0b\x0b\
+\x31\x76\xec\x58\x28\x8a\x82\xaa\xaa\x2a\x73\x3d\x25\x1a\x44\xf5\
+\xda\x07\x50\x32\xe3\x2c\x94\xcc\x5a\x06\x86\xe3\xd1\x5d\xb7\x0b\
+\x35\x1b\x9f\xb3\x45\x6d\x7c\x45\xa5\x38\xff\xfa\x7b\xf0\xca\xfd\
+\x37\x23\x1a\xea\x3e\x7a\x7e\xe2\xd1\x0d\x9e\xe7\x93\x04\x75\xa2\
+\xa8\xb6\xa6\xa1\x0d\x57\x74\x5d\x47\x7e\x7e\x7e\xda\x1a\xb0\x4c\
+\x8f\xff\x17\x5f\x7c\x41\x16\xcd\x04\x41\x90\x98\x21\x08\xe2\xf8\
+\x61\xd7\xae\x5d\x03\x12\x31\xd6\xb4\xa4\xfc\xfc\x7c\x48\x92\x04\
+\x41\x10\xcc\x02\x6b\xe3\x61\x88\x19\x4d\xd3\xa0\x69\x1a\x04\x41\
+\x80\x24\x49\xe6\xf6\x9d\x9d\x9d\x68\x6f\x6f\x47\x61\x61\x61\x4e\
+\x3f\x5f\x6f\x3d\x68\x54\x55\x45\x7e\x7e\x3e\x8a\x8a\x8a\x92\x1a\
+\x14\xa6\x4b\x29\xd3\x55\x05\xe0\x04\xe8\xaa\x02\x29\xdc\x09\x39\
+\xd4\x81\x58\xb0\x1d\xd1\x8e\x7a\xc4\xba\x5b\x20\x85\x3a\xa1\x4a\
+\xe1\x94\x69\x6a\x7d\x8f\x5c\x01\x1d\x1a\xa0\xca\x80\xc5\x83\x20\
+\xd6\xd5\x0c\x34\xa5\x3c\x01\x10\xdd\x7e\xb8\x0a\xcb\xe1\x19\x35\
+\x11\xee\xe2\xf1\x70\xfa\x4b\xfb\xd5\x84\x32\x49\xcc\x04\xec\x06\
+\x10\x8a\xdc\x23\x34\x0b\x0a\x0a\x30\x6e\xdc\xb8\x9c\x09\x19\x00\
+\x88\xc5\x62\xe8\xea\xea\x42\x7e\x7e\x3e\x2a\x2a\x2a\x20\xcb\x32\
+\xf6\xed\xdb\x67\x1d\xc5\xa3\x79\xd7\xbb\x68\xdd\xf3\x11\xdc\xc5\
+\xe3\x10\x6a\x3e\x64\xeb\x7d\xe3\x2f\x19\x8b\x4b\x7e\xfc\x07\xe4\
+\x15\x95\xe1\xac\xcb\x6f\xc5\xda\x27\xef\xb4\x89\xd4\xbc\xbc\x3c\
+\x53\xc0\x38\x1c\x0e\x38\x1c\x0e\x9b\xa8\x49\x4c\x37\xb3\xd6\xd6\
+\x58\x8b\xf4\x0d\xa1\x6e\x08\x9e\x54\xcb\x13\xd7\x35\x96\x5b\xd7\
+\xcd\x66\xbf\x46\xda\x9b\xdb\xed\x36\xf7\x3b\x50\xb6\x6d\xdb\x46\
+\x62\x86\x20\x08\x12\x33\x04\x41\x1c\x1f\xe8\xba\x8e\xdd\xbb\x77\
+\x0f\x78\x3f\x0c\xc3\xa0\xb8\xb8\x18\xc5\xc5\xc5\x90\x24\x09\x8a\
+\xa2\x20\x1a\x8d\x22\x1a\x8d\x22\x18\x0c\xc2\xe1\x70\x98\x69\x3f\
+\x56\xa7\x29\x63\x3d\xab\xb0\x3a\xed\xb4\xd3\x06\x9c\xca\x94\xf4\
+\xa3\xc7\xf3\xf0\xfb\xfd\x66\xb3\x46\x2b\xc1\x60\x10\x33\x66\xcc\
+\xc0\xc6\x8d\x1b\x6d\x75\x3c\xb1\x60\x1b\x1c\xf9\x3d\x7d\x3e\x18\
+\x96\x07\xe7\x70\xa3\xe3\xc0\x36\xb4\xec\xfe\xd0\x66\x5f\x7c\x0c\
+\x4f\x20\xa4\x50\x07\xa4\x50\x07\xba\x6a\xbf\x30\xde\x29\x78\xa7\
+\x07\x4e\x7f\x29\xfc\x13\xe6\x21\x6f\xec\x2c\x70\x82\xb3\x4f\x31\
+\x23\x05\x3b\xd2\x8a\xc1\x81\xd6\xc9\x18\x42\xc6\x88\x9a\x58\x8f\
+\xbd\x91\x9e\x38\x75\xea\x54\xb8\xdd\x6e\x54\x55\x55\xd9\x1a\x45\
+\x6a\xaa\x8c\x60\xd3\x01\xdb\xfe\x0a\x4a\x2b\xf0\xcd\x1f\x3f\x0e\
+\x6f\x41\xfc\xfc\xcc\xfc\xca\x05\xd8\xb3\x65\x1d\x0e\x7e\xbe\xc1\
+\xbc\xae\x43\xa1\x10\x4a\x4b\x4b\xe1\xf1\x78\xe0\xf3\xf9\xcc\x1a\
+\x2a\xa7\xd3\x69\x0a\x1b\x6b\x53\x4d\xe3\xb3\xa6\x2a\xe4\x4f\x7c\
+\x4e\x14\xf3\xe9\x1c\xce\x32\x79\xee\xcb\x21\x2d\x2f\x2f\x0f\xc1\
+\x60\x30\x27\x62\xe6\x3b\xdf\xf9\x0e\xfd\xf8\x11\x04\x41\x62\x86\
+\x20\x88\x91\xcf\xa1\x43\x87\x06\xec\x94\x64\x0c\xbc\x8a\x8b\x8b\
+\xcd\xc1\xa1\x2c\xcb\xa6\x60\x31\xee\x4a\x1b\x11\x19\x6b\xc4\xc6\
+\xe9\x74\x42\x92\x24\x53\x44\x04\x02\x01\xec\xda\xb5\x2b\x67\x45\
+\xe6\x56\x9c\x4e\x27\xbc\x5e\x6f\xca\x01\xa1\x24\x49\x98\x32\x65\
+\x0a\xaa\xab\xab\xcd\x79\x81\xfa\x3d\x90\x02\x6d\xf1\x54\xb1\x58\
+\x10\x0c\x18\xe8\xd0\x47\x40\xcd\x8c\x0e\x25\x1a\x44\xb0\x71\x5f\
+\xbc\x06\x66\xf3\x4b\x10\x5c\x3e\x78\x4a\x26\xa1\x60\xd2\xc9\xf0\
+\x8e\x9e\x04\xe8\x71\x91\x60\x45\x0e\xa7\x4e\x63\x9a\x34\x69\x52\
+\x5a\x23\x85\xfe\x10\x8b\xc5\xd0\xd1\xd1\x61\x46\xe5\x12\xe9\xec\
+\xec\x84\x2c\xcb\x28\x28\x28\x40\x79\x79\x39\x46\x8d\x1a\x85\x5d\
+\xbb\x76\xa1\xa1\xa1\x21\xe5\xfe\xfc\x25\xe3\x71\xd9\xff\x7b\x12\
+\xee\xbc\x22\xdb\xfc\xe5\x57\xdf\x81\xbf\xdc\x7e\x31\xa4\x48\xc8\
+\x14\x4a\xd1\x68\x14\x25\x25\x25\x70\xbb\xdd\x70\xbb\xdd\x70\xb9\
+\x5c\x70\x3a\x9d\xa6\x90\xb1\xa6\x9a\x19\xd7\xf2\x70\xa5\xa0\xa0\
+\x20\x27\x62\x66\xdf\xbe\x7d\x66\x44\x8c\x20\x08\x62\xa4\x42\x06\
+\x00\x04\x41\x00\x00\xbe\xfc\xf2\xcb\x9c\xed\x6b\xd4\xa8\x51\x29\
+\x5d\xa4\x44\x51\x84\xd3\xe9\x34\x1f\x46\xca\x8f\x51\xbb\xe0\x74\
+\xda\xa3\x06\x75\x75\x75\xa8\xab\xab\x1b\x94\xcf\xeb\xf3\xf9\x52\
+\x1a\x02\x48\x92\x84\xb2\xb2\x32\xf8\x7c\x3e\x73\x9e\x2a\x45\x10\
+\x6e\xab\x8d\x47\x60\x74\x3d\x9e\xe2\x34\x42\x8b\xff\xe5\x48\x00\
+\x9d\x87\x77\xe0\xe0\xbb\x7f\xc4\x17\xcf\xdf\x81\xbd\x6b\x7f\x8f\
+\x50\xd3\x3e\x68\x47\xfb\xe9\xe8\xaa\x02\x39\x92\x6c\x63\xed\xf1\
+\x78\x30\x79\xf2\xe4\xac\x5f\x37\x18\x0c\xa2\xbd\xbd\x3d\xad\x90\
+\x31\x08\x85\x42\x68\x6e\x6e\x46\x38\x1c\x86\x20\x08\x98\x36\x6d\
+\x5a\xca\x86\x9c\x85\x65\x15\xb8\xfc\x8e\xbf\x24\x09\x19\x00\xf0\
+\x15\x8c\xc6\x99\x97\xfd\xd0\x36\xef\xe0\xc1\x83\xe0\x38\xce\x16\
+\x8d\x19\x49\xf5\x32\x89\x62\x26\x27\x52\x57\xd7\x6d\x96\xe4\x04\
+\x41\x10\x24\x66\x08\x82\x18\xb1\x58\x8b\xae\x07\x2a\x12\x8c\x5e\
+\x1d\xa9\xc4\x8c\x21\x60\xac\x62\xc6\x18\x58\x1a\x77\xc9\xad\xec\
+\xda\xb5\x0b\xed\xed\xed\x83\xf2\x99\xfd\x7e\x7f\xca\x01\x6c\x20\
+\x10\xc0\xcc\x99\x33\x8f\xfb\x73\xae\xeb\x1a\xa2\x5d\x4d\x68\xdb\
+\xb7\x05\x75\x9b\x5f\x44\xdd\xe6\x97\xd0\xb6\x6f\x73\xca\x75\xe7\
+\xcc\x99\x93\x55\x9d\x86\x51\xe0\x1f\x08\x04\xcc\x68\x5c\x5f\x48\
+\x92\x84\xce\xce\x4e\x04\x02\x01\x6c\xd9\xb2\xc5\xe6\xba\xc5\xf1\
+\x02\x96\x7c\xe3\x7b\xb8\xf2\x97\x7f\x83\xcb\x9b\xde\xd9\x6b\xce\
+\x99\xab\x31\x7e\xe6\x22\xdb\x3e\xab\xaa\xaa\x6c\xd7\x9b\x55\xcc\
+\x18\xd1\x43\x00\xc3\x5e\xd4\xe4\xe7\xe7\xe7\xa4\x66\x06\x00\xb6\
+\x6e\xdd\x4a\x3f\x7e\x04\x41\x8c\x68\x28\xcd\x8c\x20\x08\x53\x34\
+\xe4\x02\xaf\xd7\x6b\x4b\x17\x33\x9a\x13\x1a\xce\x65\x46\x71\x33\
+\xc3\x30\xe6\x60\xd2\x5a\x80\xed\x70\x38\x6c\x77\xef\x55\x55\xc5\
+\xd6\xad\x5b\xb1\x60\xc1\x82\x9c\x58\x34\x5b\x31\x1a\x11\x76\x75\
+\x75\xd9\xe6\x6b\x9a\x06\x8e\xe3\x30\x7e\xfc\x78\xd4\xd4\xd4\x98\
+\xeb\x1a\x29\x4a\x9a\xa6\x21\x16\x8b\x21\x18\x0c\x26\x19\x09\x8c\
+\x64\x34\x45\x42\xb8\xb5\x26\x69\xfe\xb8\x71\xe3\xb2\x8a\x06\x28\
+\x8a\x82\x8e\x8e\x0e\x28\x8a\x62\x1e\xd7\xfe\x9e\x17\xb7\xdb\x8d\
+\xcf\x3e\xfb\x0c\x91\x48\xc4\x9c\x2f\xba\x3c\xb8\xf8\xd6\x47\x51\
+\x36\xa9\x7f\xa9\x87\xe7\x5c\xf3\x73\xfc\xe5\x67\x97\x40\x8e\xc5\
+\xf7\x71\xf8\xf0\x61\xd4\xd5\xd5\x61\xca\x94\x29\xa6\x11\x85\x91\
+\xf6\x68\x88\x98\x44\x21\x63\xd4\xad\x24\x4e\xf7\x56\x37\x93\x38\
+\xdd\xdb\xf6\xa9\xe6\xa7\xdb\x9f\x75\xbe\xcf\xe7\x4b\xba\x6e\xb3\
+\x81\x22\x33\x04\x41\x90\x98\x21\x08\x62\xc4\x13\x0c\x06\x51\x5b\
+\x5b\x9b\x9b\x1f\x15\x9e\x47\x77\x77\x37\x54\x55\x35\x8b\x99\x0d\
+\x41\xa3\x28\x0a\x62\xb1\x18\x64\x59\x4e\xba\x4b\x6f\xbd\x2b\x9e\
+\xe8\x6e\xa6\xaa\x2a\xb6\x6d\xdb\x86\xf9\xf3\xe7\xdb\x9a\x5b\xe6\
+\x02\xb7\xdb\x8d\x48\x24\x92\xd4\x73\x23\x1c\x0e\x63\xca\x94\x29\
+\x98\x38\x71\x22\xf2\xf2\xf2\xe0\x72\xb9\xcc\xbb\xf8\x46\xad\x4f\
+\x38\x1c\x46\x75\x75\x35\x0e\x1d\x3a\x74\xdc\xf6\xec\x70\x38\x1c\
+\x98\x3e\x7d\x7a\xc6\xdb\x45\xa3\x51\x74\x76\x76\xf6\x6b\x70\x6e\
+\x85\xe3\x38\x78\xbd\x5e\x7c\xf6\xd9\x67\xb6\x1a\x2e\xc1\xe1\xc6\
+\xea\x1f\x3e\xdc\x6f\x21\x03\x00\x79\xc5\x63\xb0\xf4\x9b\xb7\xe0\
+\x9d\x67\xee\x31\xe7\x6d\xd8\xb0\x01\x85\x85\x85\xf0\x7a\xbd\xe0\
+\x79\xde\x8c\x20\x5a\xeb\xba\x8c\x73\x9c\x28\x3a\xac\xc5\xf9\x89\
+\xcb\xd3\x6d\xd7\xd7\x72\xab\x98\xe9\x6b\xbf\xd6\x67\x97\xcb\x85\
+\xce\xce\xce\x01\x47\x91\x1a\x1b\x1b\x11\x08\x04\x6c\x69\x95\x04\
+\x41\x10\x23\x09\x4a\x33\x23\x08\x02\x55\x55\x55\x39\x89\x30\x68\
+\x9a\x66\x46\x56\x8c\x69\xab\xbd\xac\x31\x70\x34\x1a\x19\x1a\x51\
+\x99\xc4\xc6\x85\xc6\x72\x2b\xba\xae\x63\xfb\xf6\xed\xd8\xb7\x6f\
+\x5f\xce\xa3\x21\xa9\x0a\xa0\x45\x51\x84\xd7\xeb\x45\x45\x45\x05\
+\x0a\x0b\x0b\xe1\x72\xb9\x6c\xe9\x70\x2e\x97\x0b\x45\x45\x45\x58\
+\xb8\x70\x21\x96\x2d\x5b\x96\x73\x91\x35\xd4\x18\xbd\x80\x12\x99\
+\x31\x63\x46\xda\x66\xa2\xe9\xae\x81\xce\xce\x4e\x74\x74\x74\x24\
+\x9d\xa7\xbe\x52\xa3\x78\x9e\x87\xc3\xe1\x48\x12\x32\xbc\xe8\xc4\
+\x37\xfe\xe3\x41\x8c\x99\x32\x2f\xe3\xcf\x35\xff\xab\x97\x61\xec\
+\xf4\x1e\xfb\xe1\x48\x24\x82\xf7\xde\x7b\xcf\x8c\x12\x1a\xd7\x96\
+\x11\xa1\xd1\x75\xdd\x8c\x22\x1a\xd3\x56\xb3\x8a\x74\xcb\x7b\x9b\
+\xdf\xd7\x7e\xfb\xda\x3e\xf1\x75\x55\x55\x85\xdb\xed\xce\xd9\xb9\
+\x3f\x78\xf0\x20\xfd\x08\x12\x04\x41\x62\x86\x20\x88\x91\x4b\xae\
+\x52\xcc\x8c\xc1\xa8\x81\x21\x60\xac\x42\xc6\x2a\x60\x8c\x01\x74\
+\xba\x6e\xec\xa9\x04\xcd\xde\xbd\x7b\xb1\x75\xeb\xd6\x9c\x46\x42\
+\x78\x9e\x4f\x1a\x1c\x1a\xbd\x49\xfa\xc2\xa8\xc1\xc8\xcb\xcb\x1b\
+\x71\xe7\xdd\xe5\x72\x61\xce\x9c\x39\xb8\xf0\xc2\x0b\x71\xc9\x25\
+\x97\xe0\xd2\x4b\x2f\xc5\x57\xbf\xfa\x55\x8c\x1b\x37\x0e\x2c\xcb\
+\xa2\xa4\xa4\x04\x65\x65\x65\xfd\xde\x5f\x34\x1a\x45\x4b\x4b\x8b\
+\x2d\x35\xcc\x4a\xaa\x34\x2e\xeb\x39\x08\x87\xc3\xd8\xba\x75\x6b\
+\x82\x90\x71\xe0\xc2\x9b\xef\xb5\x09\x92\x8c\x60\x18\xac\xb8\xe6\
+\xe7\x10\x9d\x3d\x2e\x6c\xcd\xcd\xcd\xf8\xf8\xe3\x8f\x47\x4c\xc1\
+\x7f\xba\x73\x97\x89\xc8\x24\x31\x43\x10\xc4\xf1\x0a\xa5\x99\x11\
+\x04\x91\xb3\xe2\x7f\xa3\x9e\x24\x15\x46\xdf\x0c\x43\xac\x18\x82\
+\x26\xf1\x61\x8d\xce\x18\xb5\x2b\x46\xa4\xc7\xa0\xb5\xb5\x15\x1b\
+\x36\x6c\xc0\xbc\x79\xf3\x72\xd6\x58\xd3\xeb\xf5\x9a\x83\x68\x23\
+\x0a\x93\xe8\xae\xd6\xdb\xe7\xee\xef\xba\xc3\x85\x69\xd3\xa6\x61\
+\xe1\xc2\x85\x49\x8e\x6e\xe3\xc6\x8d\x43\x79\x79\x39\x5a\x5b\x5b\
+\xfb\x2d\x18\x35\x4d\x43\x77\x77\x77\x5a\x11\x93\x28\x68\x12\x23\
+\x36\x0c\xc3\xa0\xae\xae\x0e\xad\xad\xf6\x66\x9d\xbc\x20\xe2\xdc\
+\xef\xfe\x0a\xa5\x93\x66\x43\xd7\x34\x30\x59\x16\xbd\x17\x8c\x1e\
+\x8f\x55\xdf\xf9\x25\x5e\x7d\xe8\x47\xa6\x0b\x5d\x55\x55\x15\x4a\
+\x4a\x4a\x50\x59\x59\x39\x22\x1a\x51\x5a\xcb\x00\x00\x20\x00\x49\
+\x44\x41\x54\xbf\xb3\xaa\xaa\xc2\xeb\xf5\xa2\xb3\xb3\x73\xc0\xfb\
+\x3a\x74\xe8\x10\xfd\x08\x12\x04\x41\x62\x86\x20\x88\x91\x89\xae\
+\xeb\x39\x13\x33\x1e\x8f\x27\x6d\x47\x74\xab\x20\x31\x52\x65\x1c\
+\x0e\x07\x14\x45\x81\x2c\xcb\x90\x24\xc9\x14\x34\x86\x61\x80\xb1\
+\x2f\x43\xd8\x58\x89\x46\xa3\xd8\xbc\x79\x33\xca\xcb\xcb\x51\x59\
+\x59\xd9\xaf\x28\x4a\x6f\x70\x1c\x07\x97\xcb\x85\x48\x24\x02\x9f\
+\xcf\x07\xa7\xd3\x69\x36\xec\xb4\xf6\xc3\x31\x6a\x1a\xac\x75\x14\
+\x0c\xc3\xc0\xe5\x72\x8d\x8c\x1f\x7d\x9e\xc7\x49\x27\x9d\x84\xa9\
+\x53\xa7\xa6\x6c\x48\xaa\xaa\x2a\x24\x49\xea\xf7\xf1\x8c\x46\xa3\
+\xe8\xea\xea\xca\xa8\xb8\xdf\x48\xeb\x32\x9a\xa5\xee\xdf\xbf\x3f\
+\x49\x38\x79\x0b\x4b\x70\xce\xd5\x77\xa2\x74\xd2\x1c\xe8\xba\x0e\
+\x59\x8a\x42\x74\x66\x9f\x5a\x35\x65\xe1\x32\x9c\x7a\xc1\xb7\xf1\
+\xf1\xab\x4f\x98\xf3\x3e\xfa\xe8\x23\x14\x17\x17\x63\xf4\xe8\xd1\
+\xb6\x26\x95\x7d\x35\xbd\xb4\x2e\x4f\x14\x69\xbd\x6d\x9f\x58\xf7\
+\x32\xd0\xe5\x46\xdd\xcc\x40\xa1\xc8\x0c\x41\x10\x24\x66\x08\x82\
+\x18\xb1\xd4\xd6\xd6\xe6\xa4\x01\x1f\x00\x94\x94\x94\xc0\xe7\xf3\
+\xa5\x74\x7b\x32\xf2\xff\x65\x59\x86\xa2\x28\x88\x44\x22\x88\xc5\
+\x62\x66\x7a\x59\xba\x14\x24\xab\x03\x9a\xb5\xce\xc1\xe0\xc8\x91\
+\x23\x68\x6a\x6a\xc2\xb4\x69\xd3\x30\x7e\xfc\xf8\x01\xa5\x0e\x79\
+\xbd\x5e\x33\x15\x4e\x51\x14\xb3\x2f\x4a\x7f\x6a\x74\x52\xf5\xac\
+\x19\x6e\xb0\x2c\x8b\xd3\x4f\x3f\x3d\xe5\x71\x32\xdc\xd9\x12\xa3\
+\x60\xe9\xd0\x34\x0d\x5d\x5d\x5d\x88\x46\xa3\x19\xbf\x0f\x86\x61\
+\xc0\x71\x1c\x5a\x5a\x5a\x70\xe4\xc8\x91\x14\xc2\xe3\xab\x38\xeb\
+\xf2\x1f\x41\x74\x79\x7b\x5e\x4f\x55\xa0\xa9\x0a\x58\x2e\xfb\x7f\
+\x5b\xa7\x5d\x74\x3d\x9a\x0f\xef\xc6\x81\x1d\x1f\x9a\xc2\x6d\xfd\
+\xfa\xf5\xf8\xf6\xb7\xbf\x0d\xb7\xdb\x9d\x24\x20\x58\x96\x4d\x29\
+\xaa\x7b\x13\x1e\xd6\xe9\xbe\xb6\xe7\x38\x2e\xa9\xe0\xbf\x2f\x21\
+\x63\x9d\x06\x90\xb6\xa1\x68\x26\x50\x64\x86\x20\x08\x12\x33\x04\
+\x41\x8c\x68\x31\x93\x0b\x18\x86\x41\x7e\x7e\x7e\xca\xbb\xfd\xd6\
+\x02\x6b\xa3\x76\xc6\x1a\xb1\x31\xa2\x33\xd6\x67\x23\x3a\x63\xb5\
+\x68\xb6\xee\xcf\x8a\xa2\x28\xd8\xb5\x6b\x17\x6a\x6b\x6b\x31\x6b\
+\xd6\xac\xac\x9b\x0a\xf2\x3c\x6f\xd6\xbe\xc8\xb2\x9c\xd1\xb6\x89\
+\x9f\x5b\x10\x04\x38\x1c\x0e\x5b\x43\x46\xe3\xef\xc4\x87\x35\xb5\
+\xce\x48\xab\x8b\xc5\x62\x88\x46\xa3\x88\x46\xa3\x88\x44\x22\xa6\
+\xbd\xf1\x40\x98\x37\x6f\x5e\x92\x90\xd1\x75\x1d\x81\x40\x20\x23\
+\x51\x92\x69\x34\x26\xf1\x3a\xd1\x75\x1d\xd5\xd5\xd5\xb6\xda\x18\
+\x00\x10\x1c\x2e\x9c\x71\xe9\x0f\x30\x7d\xf1\xaa\x94\xdb\x2a\x52\
+\xd4\x26\x70\x32\x7f\x6d\x16\xe7\x5e\xf7\x2b\xfc\xf5\xbf\xff\x15\
+\x1d\x4d\x71\x0b\xea\x40\x20\x80\x97\x5f\x7e\x19\x57\x5e\x79\xa5\
+\x79\x0e\xad\xc7\x27\xf1\xbc\xa6\xba\xbe\x33\xb9\x2e\x06\xba\x3f\
+\x2b\xb9\x72\x20\x0b\x04\x02\x68\x6b\x6b\x43\x51\x51\x11\xfd\x20\
+\x12\x04\x41\x62\x86\x20\x88\x91\x45\x53\x53\x53\x4e\xf6\xe3\xf1\
+\x78\x7a\x1d\x98\x25\xba\x99\x59\x9b\x69\x3a\x1c\x0e\x48\x92\x64\
+\x3e\x64\x59\x36\x85\x8c\x21\x84\xac\xfd\x40\xd2\x89\x9a\x40\x20\
+\x80\x8f\x3f\xfe\x18\x63\xc6\x8c\x41\x65\x65\xe5\x90\x46\x4b\x12\
+\xc5\xcf\x8d\x37\xde\x88\x9f\xfd\xec\x67\x39\xdd\x7f\x28\x14\x42\
+\x30\x18\x44\x28\x14\x32\x1f\x81\x40\x00\xf5\xf5\xf5\x68\x68\x68\
+\x40\x43\x43\x03\xea\xeb\xeb\x71\xe0\xc0\x01\xd4\xd7\xd7\xdb\xb6\
+\x9f\x34\x69\x12\x66\xcd\x9a\x65\x1b\xa8\xcb\xb2\x9c\x91\x28\x19\
+\x48\x34\xc6\x38\x5f\xa9\x6a\x63\x00\xa0\xa4\x62\x06\x56\x5c\x7d\
+\x27\xf2\x8b\xc7\xf4\xfa\xfa\xaa\x22\x83\xe3\xb3\x2f\x7c\x77\xb8\
+\xbc\xf8\xfa\x2d\xf7\xe1\xaf\xbf\xf8\x37\xc8\xb1\xb8\x98\x3a\x7c\
+\xf8\x30\xd6\xad\x5b\x87\x73\xcf\x3d\x37\xa5\x6d\xf2\x70\xc5\x48\
+\x85\xec\x6f\x34\xad\x37\x0e\x1e\x3c\x48\x62\x86\x20\x08\x12\x33\
+\x04\x41\x9c\xb8\x62\xa6\x3f\x77\x89\x53\xb9\x9a\x09\x82\x00\x51\
+\x14\x4d\x41\x63\x44\x66\xac\x35\x2a\x56\x8b\x67\x63\xe0\x9d\xaa\
+\xc9\xa0\x41\x7d\x7d\x3d\x9a\x9b\x9b\x31\x65\xca\x14\x54\x54\x54\
+\x0c\xc9\xc0\x34\x31\x72\x92\xeb\xbe\x1d\x82\x20\xc0\xef\xf7\xc3\
+\xef\xf7\xf7\xb9\xee\x75\xd7\x5d\x87\x97\x5e\x7a\xc9\x9c\x2e\x2a\
+\x2a\xc2\xa2\x45\x8b\x6c\x62\x53\x55\xd5\xa4\x3e\x30\x7d\xd1\xdd\
+\xdd\x9d\x52\xc8\x58\x6b\xa4\x52\xc1\xb2\x2c\x5a\x5a\x5a\x50\x57\
+\x57\x97\xa2\xf8\x9f\xc5\xc2\x73\xae\xc0\xa2\xf3\xaf\x05\xc3\xf4\
+\x1d\xa5\x50\xa4\x18\x38\x9e\x07\x90\xfd\x39\x2d\x1a\x33\x09\xab\
+\xbe\xf3\x0b\xbc\xf6\xf0\x6d\xa6\x21\xc0\x96\x2d\x5b\x50\x5a\x5a\
+\x8a\x85\x0b\x17\xda\xae\xaf\xe1\x8e\xdb\xed\x46\x20\x10\xc8\x89\
+\x98\x39\xf9\xe4\x93\xe9\x07\x91\x20\x08\x12\x33\x04\x41\x9c\x98\
+\x62\xc6\xe1\x70\x20\x16\x8b\x99\xf9\xfc\xd6\xba\x83\xc4\xba\x19\
+\x23\xb5\xcc\x5a\x8f\x92\xca\xb6\x59\x51\x94\x24\x31\x93\xaa\x6e\
+\x26\x9d\xb8\xd8\xbd\x7b\x37\x6a\x6b\x6b\x51\x59\x59\x89\x92\x92\
+\x92\x11\x2d\x66\x32\x39\x9f\x6b\xd6\xac\xb1\x9d\x97\x53\x4f\x3d\
+\xd5\x16\xa5\x32\x7a\xc1\x64\xda\xaf\x27\x3f\x3f\xdf\x4c\x05\xec\
+\x8f\x98\xe1\x38\x0e\x81\x40\x00\x07\x0f\x1e\x4c\x99\xb6\x57\x3c\
+\x6e\x1a\x96\x7e\xf3\x66\x94\x4d\x9a\xdb\xef\xf7\xa0\xeb\x1a\x14\
+\x59\x02\x2f\x0c\x2c\xea\x36\xf5\xa4\xb3\xb1\xf8\xbc\x6b\xb1\xf9\
+\x1f\x7f\x34\xe7\xbd\xf6\xda\x6b\x60\x59\x16\xf3\xe7\xcf\x1f\x31\
+\xdf\x5f\x8f\xc7\x93\x33\x31\x43\x10\x04\x41\x62\x86\x20\x88\x13\
+\x52\xcc\x18\x29\x60\x5d\x5d\x5d\xbd\x76\x3e\xb7\x8a\x11\x43\xa8\
+\x58\x53\xcb\xac\xc2\xc6\x5a\x4b\x62\x14\x4a\x5b\x85\x8c\x31\x9d\
+\x18\x9d\x11\x1c\x2e\xc8\xb1\x1e\x8b\xe0\x50\x28\x84\x6d\xdb\xb6\
+\xa1\xb0\xb0\x10\x95\x95\x95\x29\x1b\x64\x0e\x86\x98\x39\x56\x7d\
+\x67\x9e\x7a\xea\x29\xdb\x7b\xa9\xa8\xa8\xb0\xd5\x10\xe9\xba\x8e\
+\xce\xce\xce\xac\x52\x93\x18\x86\x41\x61\x61\x21\x5a\x5b\x5b\x7b\
+\xad\x61\xe2\x38\x0e\xb2\x2c\x63\xdf\xbe\x7d\x29\xcd\x25\x3c\xf9\
+\x45\xf8\xca\xea\x9b\x30\xf3\xf4\xf3\x21\x47\xc3\xc8\xb4\x07\xaa\
+\x2a\x4b\xe0\x78\x71\xc0\x91\x93\x25\xab\xbf\x87\xe6\x9a\xdd\x38\
+\xf8\xf9\x06\xf3\x73\xac\x59\xb3\x06\x92\x24\x61\xde\xbc\x79\x49\
+\x9f\xdd\xfa\x79\x13\xaf\xbb\x54\xa6\x17\xd6\xf9\x56\x51\x9f\x18\
+\xf5\xe9\x2d\xca\xd8\xdb\x7c\x00\x39\xb3\x04\x27\x13\x00\x82\x20\
+\x48\xcc\x10\x04\x71\xc2\x8a\x19\x20\x5e\x3c\x6f\x15\x2c\xd6\xe7\
+\xc4\x81\xaf\x75\x30\x97\x2a\xe5\xcc\x5a\x2f\x63\x8d\xca\x24\x92\
+\xf8\x7a\x00\x70\xca\x79\xd7\xa0\xbb\xa5\x1e\x5f\x7c\xb4\x06\xd6\
+\x51\x72\x7b\x7b\x3b\x36\x6e\xdc\x88\x31\x63\xc6\x60\xda\xb4\x69\
+\x39\xb7\x52\x4e\x1c\xb4\x17\x17\x17\x1f\x93\xf3\xf9\xe4\x93\x4f\
+\x9a\x7f\xb3\x2c\x8b\x69\xd3\xa6\xd9\xd2\xcb\x42\xa1\xd0\x80\xcc\
+\x04\x58\x96\x45\x61\x61\x21\xda\xda\xda\xcc\xa8\x59\xe2\x75\x70\
+\xf8\xf0\x61\xb4\xb4\xb4\x24\x5f\x23\x82\x88\x85\xe7\x7c\x0b\x8b\
+\x2f\xf8\x77\x08\x8e\xb8\xcd\x32\xcb\x09\x50\x95\xcc\xcc\x16\x74\
+\x5d\x87\x22\xc7\x20\x88\x03\x1b\xc8\x33\x0c\x8b\xf3\xae\xbf\x07\
+\x2f\xfd\xee\x06\x34\xec\xdf\x69\xee\xfb\x8d\x37\xde\x40\x30\x18\
+\xc4\xec\xd9\xb3\x93\x04\x79\x3a\x11\x92\xee\x39\xdd\x76\x56\x27\
+\xb4\xde\x96\xf7\xb5\xdf\x54\xe2\x28\x5b\x31\x33\x52\x52\xeb\x08\
+\x82\x20\x48\xcc\x10\x04\x01\xa0\xc7\x95\x6a\xa0\x18\x56\xbb\x99\
+\x6e\x63\x08\x19\xab\x68\x49\x2c\xfa\x4f\x97\xc2\x64\xd4\xdf\x24\
+\x0e\xa6\xa5\x48\x08\xe7\x5c\xfb\x73\xcc\x3f\xfb\x52\xbc\xff\xfc\
+\x7d\xa8\xad\xfa\xc4\xb6\xbc\xbe\xbe\x1e\x8d\x8d\x8d\x98\x30\x61\
+\x02\x26\x4f\x9e\x9c\xb3\x2e\xea\x6d\x6d\x6d\xe6\xdf\x1c\xc7\xe1\
+\xa4\x93\x4e\x1a\xf2\xf3\x79\xe8\xd0\x21\x74\x74\x74\x98\xd3\xe5\
+\xe5\xe5\xb6\xa8\x8c\xaa\xaa\xfd\x6a\x6c\xd9\x1f\xe1\x6a\x08\x1a\
+\x63\x00\xec\x70\x38\xd0\xd8\xd8\x98\xb2\x2e\x06\x00\xa6\x2f\x5a\
+\x89\xa5\x97\x7e\x1f\x79\x45\x65\x09\x02\xc7\x01\x55\x95\x81\xac\
+\xa2\x33\x02\x58\x96\x1b\xd0\x67\x11\x5d\x1e\x5c\x7c\xeb\xa3\x78\
+\xf9\xde\x9b\x50\xbf\x77\xbb\x39\xff\x83\x0f\x3e\x80\xaa\xaa\x98\
+\x3b\x77\xae\x4d\x90\x27\x7e\xb6\x44\xe1\x9e\x4e\xc8\x27\x6e\x67\
+\xcc\xef\x6b\x79\x5f\xfb\x15\x04\x21\x27\x02\x24\x16\x8b\xa1\xa3\
+\xa3\x23\x67\x4d\x68\x09\x82\x20\x48\xcc\x10\x04\x31\xe8\x34\x37\
+\x37\xe7\x64\x3f\xba\xae\xdb\x22\x33\x7d\x89\x18\x03\x23\xf5\x86\
+\xe3\x38\x08\x82\x90\x52\xcc\x24\x6e\x67\x88\x18\x6b\x74\xc1\x1a\
+\xf9\x09\x75\xc6\x9d\xb2\x4a\x26\xcc\xc0\x37\x7f\xfc\x07\x1c\xd8\
+\xf1\x01\x3e\x78\xe1\x7e\xb4\xd7\xf7\xd4\x04\x68\x9a\x86\x83\x07\
+\x0f\xa2\xae\xae\x0e\x53\xa6\x4c\xc1\xf8\xf1\xe3\xc1\x66\xd9\x5d\
+\xde\x78\x7d\x6b\xf3\xc2\x79\xf3\xe6\x1d\x93\x9a\x99\xed\xdb\xb7\
+\xdb\xa6\x4b\x4a\x4a\x6c\xc7\x3b\x14\x0a\x65\x5c\x27\x93\x0e\x41\
+\x10\x90\x9f\x9f\x8f\x70\x38\x8c\x8e\x8e\x0e\x54\x55\x55\xa5\xac\
+\x8b\x29\x9d\x38\x0b\x67\x5d\x7e\x2b\xc6\x4c\x4d\x5d\x87\xc2\xb0\
+\x2c\xb8\x2c\xa2\x33\xc0\x51\xab\x66\xa7\x67\xc0\x9f\x45\x74\x7a\
+\x70\xf1\x8f\x1e\xc6\x2b\xf7\xdd\x8c\xba\x3d\x9f\x9a\xf3\x37\x6c\
+\xd8\x00\x4d\xd3\x86\x75\x0d\x8d\x20\x08\x29\x9b\xca\x66\x43\x20\
+\x10\x20\x31\x43\x10\x04\x89\x19\x82\x20\x46\x0e\x8d\x8d\x8d\x39\
+\xd9\x8f\xc3\xe1\x30\x23\x2c\xa9\x1a\x08\xa6\x6a\x04\x68\x88\x00\
+\x6b\x0f\x96\xc4\x5e\x2c\x86\xe0\x31\x22\x3f\xd6\x9e\x2d\xc6\x43\
+\x55\x55\xdb\x20\x3a\xd4\x69\x4f\x6f\x9a\x34\xef\x0c\x54\xcc\xf9\
+\x0a\xbe\x78\xff\x15\x6c\xfc\xfb\xa3\x08\x77\xb7\x9b\xcb\x64\x59\
+\x46\x55\x55\x15\xa2\xd1\x28\x2a\x2b\x2b\xb3\xfe\xfc\x46\x84\xc2\
+\x60\xe9\xd2\xa5\xc7\xe4\x7c\xee\xdc\xb9\xd3\x36\xed\xf1\xf4\x0c\
+\xf4\x15\x45\xc9\xda\x52\x39\x1d\x9d\x9d\x9d\x29\xfb\xc5\x00\x80\
+\xb7\xa0\x04\xa7\x5f\x72\x0b\x66\x9e\xf6\x35\xa0\x8f\xc8\x01\x2f\
+\x3a\xa0\xa9\x4a\xc6\x42\x4b\x53\xd5\x01\x5b\x35\x9b\xa2\xc0\xe1\
+\xc6\x37\xfe\xe3\x21\xfc\xfd\x81\xef\xdb\xa2\x79\x9b\x36\x6d\x82\
+\xa6\x69\xa6\xcb\xd9\x70\x43\xd3\x34\xb8\x5c\x2e\x84\x42\xa1\x01\
+\xef\xab\xbb\xbb\x9b\x7e\x14\x09\x82\x20\x31\x43\x10\xc4\xc8\x21\
+\x97\x3d\x66\x8c\x82\x77\x23\x12\x90\x2a\x3d\xcc\x3a\x58\xb5\xa6\
+\xcd\x18\x36\xcc\x46\xb3\x4c\xa3\x61\xa4\xc7\xe3\x41\x24\x12\x41\
+\x24\x12\x41\x38\x1c\x36\xff\x8e\xc5\x62\x88\xc5\x62\xa6\x71\x40\
+\x2c\x16\x33\xf7\x17\xec\x4a\xae\xd5\x60\x59\x0e\x73\x97\x5d\x82\
+\xca\xd3\xce\xc5\x27\x6f\x3c\x85\x6d\xeb\x9e\x86\x22\xc5\xcc\xe5\
+\xa9\x8a\xd4\x33\x61\xff\xfe\xfd\xb6\xe9\x63\x25\x66\x12\xcd\x0d\
+\x8c\x3e\x34\x2c\xcb\x22\x16\x8b\xe5\xec\x75\xc2\xe1\x30\xbe\xfc\
+\xf2\xcb\x94\xfd\x62\x78\xd1\x89\x53\xce\xbd\x0a\xa7\x7c\xed\x6a\
+\xf0\xfd\xac\x69\x61\x18\x16\x1c\x2f\x40\x91\xa5\x8c\xdf\x8b\x22\
+\x0f\xdc\xaa\xb9\x47\xd0\xb8\xf0\x8d\x1f\x3c\x88\xbf\x3f\xf0\x7d\
+\xd4\xec\xda\x6c\xce\xdf\xbc\x79\x33\x34\x4d\xc3\xe2\xc5\x8b\xd3\
+\x16\xfd\x5b\x05\xbb\x75\x79\x2a\x21\x9f\x6e\xbb\x4c\x96\x1b\xf3\
+\xb3\x49\xf1\x24\x31\x43\x10\x04\x89\x19\x82\x20\x48\xcc\x58\x70\
+\x3a\x9d\x19\xd7\x9e\x58\xc5\x0c\xcf\xf3\x50\x55\x15\x3c\xcf\x43\
+\x51\x14\x9b\x21\x80\x61\xd5\x6c\x7d\x18\x51\x1a\x43\x28\x71\x1c\
+\x67\xa6\x9d\x75\xb7\x36\x40\xd7\x35\x30\x4c\x72\xda\x98\xe8\xf4\
+\xe0\x2b\xab\x6f\xc4\xdc\x65\x97\xe0\xff\xee\xbe\x1a\x81\xb6\xc6\
+\x01\x8b\x99\x96\x96\x16\x5b\x8a\xd9\xb4\x69\xd3\x8e\x99\x98\x59\
+\xb4\x68\x91\x6d\xba\xad\xad\x6d\x50\x2c\xa9\x53\x36\xbe\x64\x18\
+\x4c\x3b\x79\x05\x4e\xbd\xe8\xbb\x28\x1c\x3d\x01\x2c\x97\xd9\xbf\
+\x17\x4e\x70\x40\x55\xe4\x8c\xa3\x33\xba\x96\x1b\xab\xe6\x1e\x31\
+\xe6\xc0\x45\x3f\xf8\x3d\x5e\xfd\xfd\x7f\xe0\xd0\x17\x1b\xcd\xf9\
+\x9f\x7c\xf2\x09\xba\xbb\xbb\xf1\xf5\xaf\x7f\x1d\x0e\x87\x23\xa5\
+\xd0\x48\x17\x89\xd4\x34\xcd\x74\xe4\x4b\x57\xc8\x6f\x2d\xf8\x4f\
+\xb7\xdf\x74\x46\x00\xb9\x4a\x17\x25\x31\x43\x10\x04\x89\x19\x82\
+\x20\x4e\x58\x31\x93\x2d\x56\x57\x33\xeb\x3c\xeb\xc3\x9a\x5e\x66\
+\x7d\x36\x7f\xc8\x8e\x8a\x20\x20\x5e\x47\xd1\x5a\xb7\x1f\xa3\xc6\
+\x4d\x4d\xfb\x9a\xbe\x82\xd1\x28\x9b\x38\xdb\x14\x33\x91\x48\x04\
+\x8a\xa2\x80\xe7\x33\xfb\x49\xd4\x34\x0d\xd5\xd5\xd5\xb6\x79\x3f\
+\xf9\xc9\x4f\x72\x76\xa7\x3c\x53\xe6\xcf\x9f\x6f\xab\x9f\xa8\xad\
+\xad\x45\x45\x45\xc5\xa0\x3b\xb7\x95\x4e\x9a\x8d\xd3\x2f\xbe\x09\
+\x25\x13\x66\xc4\xcf\x81\x2c\x41\xcc\x50\xcc\x30\x0c\x03\x4e\x10\
+\x6d\x11\xb3\xfe\x62\x98\x01\xa4\x12\xb0\x59\xfd\x63\x14\x44\x5c\
+\xf8\xfd\xfb\xf0\xda\x43\xb7\xe2\xc0\x8e\x0f\xcd\xf9\x7b\xf6\xec\
+\xc1\x63\x8f\x3d\x86\x6f\x7c\xe3\x1b\x98\x34\x69\x52\xc6\xd7\x4b\
+\xba\xeb\xc2\x98\x9f\xed\x75\x23\x8a\x62\x4e\x3e\x77\x2e\xfa\xd5\
+\x10\x04\x41\x0c\x35\x2c\x1d\x02\x82\x38\x71\xb1\x3a\x70\x0d\xb5\
+\x98\xb1\xa6\x9f\x59\x05\x4b\xa2\x4d\xb3\xd3\xe9\x84\xcb\xe5\x82\
+\xdb\xed\x86\xc7\xe3\x81\xdb\xed\x86\xdb\xed\x86\xcb\xe5\x82\xd3\
+\xe9\x84\xc3\xe1\x48\x7a\xfd\x86\x7d\x3b\xfa\x7c\xfd\xc2\xf2\x49\
+\x03\x1e\xc8\x7d\xf9\xe5\x97\xb6\xbb\xd9\x73\xe6\xcc\xc1\xd7\xbf\
+\xfe\xf5\x63\x76\x3e\x9d\x4e\x27\xbe\xf6\xb5\xaf\xf5\x0c\xf2\x55\
+\x15\xbb\x76\xed\xca\xf9\xeb\x58\xc5\x8c\xaf\xa8\x0c\xab\x7f\xf8\
+\xb0\x29\x64\x00\xc4\xeb\x5f\xb2\x28\x48\xe7\xb3\xec\x1d\xa3\xeb\
+\x3a\x14\x29\xb7\xf5\x40\x1c\x2f\xe2\x82\x9b\x7e\x87\xe9\x8b\x56\
+\x26\x5d\x27\x4f\x3f\xfd\x34\xde\x7a\xeb\xad\xac\x7a\xf5\x0c\x06\
+\x99\x8a\xaa\x74\x50\x64\x86\x20\x08\x12\x33\x04\x41\x8c\x28\x52\
+\xb9\x4f\x65\x83\xb5\xbb\x7c\x2e\x05\x8d\x28\x8a\x49\x82\xc6\xfa\
+\x70\xb9\x5c\x70\x38\x1c\x70\xbb\xdd\xb6\xfd\xd6\xef\xef\x5b\xcc\
+\x8c\x9e\x30\xd3\x36\x6d\xb5\x34\xee\x0f\x87\x0e\x1d\x42\x5d\x5d\
+\x9d\xed\xfd\xdf\x79\xe7\x9d\xc7\xbc\x4f\xc7\xef\x7e\xf7\x3b\xdb\
+\x9d\xfa\xe6\xe6\x66\x54\x55\x55\xe5\x6c\xff\xaa\xaa\xda\x0a\xfe\
+\x8b\xcb\x27\xa7\x5e\x4f\x91\xb2\xb9\x20\xc0\x65\x99\x2e\xa6\x2a\
+\x4a\x76\xaf\xd9\xab\xa0\x11\x70\xde\x0d\xbf\xc6\xf2\xab\x7e\x66\
+\xab\xff\xd1\x75\x1d\x1b\x36\x6c\xc0\x93\x4f\x3e\x99\xb2\x6e\x68\
+\xa8\xc9\x95\xbd\x38\x45\x66\x08\x82\x18\x89\x50\x9a\x19\x41\x9c\
+\xc0\x0c\xa4\x79\xa2\x15\x5d\xd7\x11\x8d\x46\xd3\x76\x39\x37\xf2\
+\xfe\xfb\x6a\x30\x68\xb5\x63\x56\x55\xd5\xd6\x60\xd3\x28\x74\x36\
+\x44\x8e\x24\x49\x66\x4d\x8d\xd3\xe9\xb4\xa5\x57\x35\xec\xfb\xbc\
+\xcf\xf7\x5c\x3e\x6d\x7e\xdc\x65\xeb\xe8\xeb\x65\x22\x66\x0e\x1e\
+\x3c\x88\xdd\xbb\x77\xdb\xe6\xfd\xf8\xc7\x3f\xc6\xb2\x65\xcb\x8e\
+\xf9\x39\x2d\x2a\x2a\xc2\x1d\x77\xdc\x81\x3b\xee\xb8\xc3\x26\xbc\
+\x04\x41\xc0\x94\x29\x53\x06\xbc\xff\x60\x30\x68\xab\x6b\x29\x1e\
+\x3b\xd9\x7a\x18\x2d\xe2\x42\x8e\xd7\xb1\x64\x28\xee\x78\x41\x80\
+\x2a\x4b\xd0\xf5\xcc\x23\x3b\x8a\x14\x03\xcb\xf2\x60\xd8\xdc\xde\
+\xa7\x9b\x7b\xd6\xc5\x18\x3b\x6d\x21\x5e\x7f\xec\x3f\xd1\x52\xdb\
+\x93\x56\x58\x5f\x5f\x8f\xc7\x1e\x7b\x0c\xe7\x9c\x73\x0e\xe6\xce\
+\x9d\x6b\x73\xea\x33\xae\xfb\xde\xbe\x07\xa9\xbe\x2f\xfd\x31\x18\
+\xe8\xad\x21\xe7\x40\xa0\xc8\x0c\x41\x10\x24\x66\x08\x82\x18\x51\
+\xe4\x22\x32\xa3\xeb\x3a\x42\xa1\x10\x24\x49\x4a\xdb\xb9\xdc\xba\
+\x6e\x5f\x82\xc6\x58\xcf\x2a\x6a\x0c\xa7\x33\x59\x96\xcd\x67\xa3\
+\x1f\x8d\x81\x28\x8a\xa6\xf5\x70\x47\x53\x0d\x22\xc1\x4e\xb8\xbc\
+\xfe\xb4\xef\xdb\xe9\xc9\x47\xd1\x98\x49\x68\x3b\x12\x77\x22\x6b\
+\x69\x69\x41\x47\x47\x87\xad\xc9\x64\xaa\xcf\xba\x6b\xd7\x2e\xd4\
+\xd4\xd4\xd8\xe6\x5f\x78\xe1\x85\xb8\xf5\xd6\x5b\x87\xcd\x79\xbd\
+\xe1\x86\x1b\xb0\x69\xd3\x26\xbc\xf1\xc6\x1b\xe6\xbc\xbd\x7b\xf7\
+\x22\x10\x08\x60\xce\x9c\x39\x03\x4a\x4b\x6a\x6f\x6f\xb7\x4d\x8f\
+\x1a\x37\x1d\x6c\x8a\x3e\x31\x71\x97\x3a\x19\x1c\x9f\x69\x3d\x07\
+\x03\x5e\x14\x21\xc7\xa2\x59\x5d\x8b\x72\x2c\x02\xd1\xe5\xc9\xf9\
+\x31\x2d\x1c\x33\x11\x57\xdc\xf9\x34\x3e\x7c\xe1\x01\x7c\xfa\xcf\
+\xe7\x4c\xf5\x26\xcb\x32\x5e\x7f\xfd\x75\x7c\xf1\xc5\x17\x58\xb4\
+\x68\x11\x4a\x4a\x4a\x92\xae\xfb\x54\xef\x33\xd5\xf2\xc4\xef\x43\
+\x7f\xb7\x33\xbe\x7b\x03\x15\x35\x24\x66\x08\x82\x18\x89\x50\x9a\
+\x19\x41\x9c\xc0\xe4\x2a\xe7\x5f\xd3\x34\x53\x5c\x18\x11\x15\x63\
+\xda\x58\x66\x9d\xee\xed\xd9\x2a\x64\xac\x51\x19\x23\xfd\xcc\x88\
+\xce\x24\xba\x9b\x25\xa6\xba\xf5\xa7\x6e\xa6\x62\xce\x12\xdb\x40\
+\x71\xfb\xf6\xed\x88\x44\x22\x29\xd7\x0d\x85\x42\xf8\xf8\xe3\x8f\
+\x93\x84\xcc\xe2\xc5\x8b\xf1\xd0\x43\x0f\x1d\xf3\xf4\xb2\x44\x9e\
+\x7a\xea\x29\xb3\x7b\xbd\x41\x63\x63\x23\x36\x6e\xdc\x98\x75\x3a\
+\x51\x34\x1a\xc5\xc1\x83\x07\x6d\xf3\x4a\x27\xcd\x49\xdb\xe7\x45\
+\x95\xb3\x4b\xfb\xe2\x78\x31\xeb\x26\xa6\x9a\xa6\xe6\xbc\x7e\xc6\
+\xfa\xbe\xce\xba\xe2\x36\x7c\xe3\x07\x0f\xc2\x9d\x67\x6f\x2e\x79\
+\xf8\xf0\x61\xfc\xed\x6f\x7f\xc3\x9a\x35\x6b\x50\x5b\x5b\x6b\xbb\
+\xee\x13\x1f\x89\xdf\x8b\x74\xdf\x8f\xfe\x6e\xc7\xe6\x28\x12\x45\
+\x62\x86\x20\x08\x12\x33\x04\x41\x8c\x28\x72\x55\x33\x93\x6b\xf7\
+\x2e\x6b\x5a\x4e\xa2\x90\x49\x14\x33\xc6\xbc\x44\x13\x80\xfa\x7e\
+\xa4\x9a\x2d\xb9\xe8\x7a\x14\x94\x56\xd8\x06\xeb\x1f\x7d\xf4\x11\
+\xea\xeb\xeb\x93\x06\xaa\x1b\x36\x6c\xb0\x59\x30\x03\xc0\x45\x17\
+\x5d\x84\x97\x5f\x7e\x39\xe7\x6e\x61\x39\xf9\x71\x67\x59\xac\x5b\
+\xb7\x0e\x27\x9f\x7c\x72\x92\x28\xdb\xb4\x69\x13\x8e\x1c\x39\x92\
+\xd1\xfe\x22\x91\x08\x36\x6f\xde\x6c\xeb\x57\x33\x79\xc1\x99\xf0\
+\x97\x8c\x05\xcb\xa5\x4e\xed\xd2\x34\x0d\x9a\x9a\x5d\x2a\x23\x2f\
+\x66\x7f\x4c\x15\x59\xca\xfa\x75\xfb\xc3\xc4\xb9\x5f\xc1\x95\xbf\
+\x7c\x01\x15\xb3\x97\x24\x2d\xab\xab\xab\xc3\x6b\xaf\xbd\x86\x17\
+\x5f\x7c\x11\xfb\xf7\xef\xcf\xd8\x6a\x3a\x1b\xa8\x66\x86\x20\x08\
+\x12\x33\x04\x41\x9c\x90\xe4\xa2\x66\xc6\xb8\x5b\x9c\x6b\x12\xad\
+\x99\x53\x45\x67\xac\xcf\xc9\x62\xa6\xef\xc8\x8c\xe0\x70\xe3\x82\
+\x9b\xfe\x07\xbc\xe8\xb0\x1d\x93\x1d\x3b\x76\x60\xc7\x8e\x1d\x08\
+\x04\x02\xd8\xb2\x65\x0b\x76\xed\xda\x95\x14\xc5\xba\xe5\x96\x5b\
+\xf0\xc4\x13\x4f\x64\x6d\x7e\x30\x14\x08\x82\x80\xb5\x6b\xd7\xe2\
+\xbb\xdf\xfd\xae\x6d\xbe\xaa\xaa\xf8\xfc\xf3\xcf\xb1\x73\xe7\xce\
+\x7e\x45\xe7\x0c\x21\x63\x2d\xfc\xe7\x05\x11\x4b\xbf\xf9\x83\x1e\
+\x41\x9b\x2e\x3a\xa3\x64\x27\x98\x59\x8e\x03\x2f\x64\x6f\x39\x2c\
+\xc7\x22\x83\x2a\x24\xdc\x79\x45\x58\xfd\xc3\x87\xb0\xfc\xaa\xdb\
+\x91\x57\x54\x96\xb4\xbc\xa5\xa5\x05\xeb\xd7\xaf\xc7\x73\xcf\x3d\
+\x87\xaa\xaa\xaa\x41\xf9\x8e\x24\x7e\x57\x48\xcc\x10\x04\x71\x22\
+\xc2\xe8\x43\x71\xdb\x88\x20\x88\x61\xc9\xc5\x17\x5f\x9c\x14\x6d\
+\xc8\x46\xcc\xcc\x9c\x39\x33\x65\x03\xc0\xde\x3a\x97\xf7\xd5\x70\
+\xd0\xfa\x6c\x88\x0c\x5d\xd7\x21\x49\x12\x64\x59\x46\x38\x1c\x46\
+\x24\x12\x41\x20\x10\x40\x28\x14\x42\x30\x18\x44\x4d\x4d\x8d\x19\
+\x6d\xe2\x45\x27\x6e\x7a\xf4\x23\xb0\x6c\xdf\x51\xa3\x03\x3b\x3e\
+\xc0\x1b\x8f\xdf\x0e\x29\xd2\x77\xf3\x4c\xbf\xdf\x8f\xc7\x1f\x7f\
+\x1c\x67\x9f\x7d\xf6\x88\x3a\xd7\x2f\xbf\xfc\x32\x6e\xb8\xe1\x86\
+\x24\xf1\xe2\x72\xb9\x30\x67\xce\x1c\x14\x15\x15\xa5\xdc\xae\xb6\
+\xb6\x16\x7b\xf6\xec\xb1\x45\xf1\x78\x41\xc4\xd7\x6f\xb9\xcf\x16\
+\x99\xd0\x75\x0d\xb1\x70\x8a\xe3\xc7\x00\x0e\x97\x37\xbb\x1e\x30\
+\xba\x8e\x58\x34\x94\x95\xcd\x73\x5c\x10\xf1\x10\x9d\xee\x41\x3f\
+\xb6\x9a\xa6\x62\xf7\xc7\x6b\xf1\xc9\x1b\x7f\x36\x6b\xb0\x12\x71\
+\x3a\x9d\x18\x3f\x7e\x3c\x26\x4c\x98\x80\x09\x13\x26\x98\x8d\x37\
+\xd3\x7d\x3f\xd2\x19\x02\xa4\x5a\xce\xf3\x3c\x76\xec\xd8\x31\xe0\
+\x74\x33\xb7\xdb\x8d\xd7\x5e\x7b\x8d\x7e\x18\x09\x82\x18\x51\x90\
+\x01\x00\x41\x9c\xc0\xe4\xa2\x66\x86\x61\x18\xf8\x7c\x3e\xf0\x3c\
+\x6f\xde\x1d\x4e\x1c\x80\x59\x85\x4f\xaa\xed\x7b\xbb\xa7\x62\x2c\
+\xb7\x9a\x00\xc4\x62\x31\x88\xa2\x68\x16\xb2\x6b\x9a\x06\x45\x51\
+\xe0\x74\x3a\xcd\x41\xb7\x22\x45\xd1\x5a\x5b\x6d\xeb\x7f\x92\x8e\
+\xe2\xf2\x29\x70\xb8\xbd\x7d\x8a\x99\xe5\xcb\x97\xe3\xb1\xc7\x1e\
+\x83\xdf\xef\x1f\x71\xe7\x7a\xf5\xea\xd5\x98\x35\x6b\x16\xce\x3f\
+\xff\x7c\x9b\x73\x5b\x24\x12\xc1\x96\x2d\x5b\x30\x6e\xdc\x38\x54\
+\x56\x56\x9a\xc7\x34\x14\x0a\xe1\x8b\x2f\xbe\x48\x2a\xf8\xe7\x45\
+\x07\x2e\xfa\xfe\x03\x18\x3f\x73\x71\xc2\x79\x62\xc1\x71\x3c\xd4\
+\xc4\xf4\x2e\xdd\xe2\x6c\x96\xf9\xc5\x05\x41\x74\x42\x8a\x86\xb3\
+\x13\x19\xaa\x02\x45\x8e\x65\xf7\xda\x99\x88\x26\x96\xc3\xcc\x25\
+\xe7\x61\xe6\x69\x5f\xc3\xfe\xed\x1f\x60\xcb\x1b\x7f\x4a\x72\xd4\
+\x8b\x46\xa3\xa8\xae\xae\x46\x75\x75\x35\x18\x86\x41\x79\x79\x39\
+\xc6\x8c\x19\x83\x92\x92\x12\x8c\x1e\x3d\x1a\xc5\xc5\xc5\x10\x45\
+\x31\x23\x37\x33\x86\x61\xa0\x28\x0a\x22\x91\x08\x24\x49\x82\xa2\
+\x28\xa6\xf9\x86\x35\x9a\xd9\x5b\xc3\x59\x2b\xc7\xaa\xd9\x2b\x41\
+\x10\x04\x89\x19\x82\x20\xb2\x22\x97\x7d\x66\x58\x76\x70\xb2\x56\
+\x0d\x43\x00\x63\x20\x66\x0c\xe4\x14\x45\x81\x28\x8a\x10\x04\xc1\
+\xb4\x68\x76\xb9\x5c\xb6\x54\x99\xfa\x7d\x3b\xfa\x14\x33\x5d\x2d\
+\x47\xf0\xc2\xaf\xbf\x8d\x40\x7b\x63\xda\x75\x7c\x3e\x1f\xee\xbb\
+\xef\x3e\x5c\x74\xd1\x45\x23\xfa\x7c\x4f\x9f\x3e\x1d\x7b\xf6\xec\
+\xc1\xb7\xbe\xf5\x2d\xac\x5f\xbf\xde\xb6\xac\xb6\xb6\x16\xad\xad\
+\xad\x98\x35\x6b\x16\xba\xba\xba\xb0\x7f\xff\xfe\xa4\xd4\x28\xa7\
+\x27\x0f\x17\xdc\xf8\x5b\x8c\x9b\x71\x4a\xea\xc1\xb0\x20\x26\x8b\
+\x19\xc4\x8d\x00\xb2\x15\x14\x2c\xc7\x83\xe3\x85\xac\xd3\xd5\x14\
+\x29\x06\x80\x19\x50\xca\x5a\x26\xe2\x6b\xf2\x82\x33\x31\x79\xc1\
+\x99\xa8\xdb\xf3\x29\xb6\xbc\xfe\x47\x1c\xda\xb9\x31\xe5\x35\x5d\
+\x57\x57\x97\xd4\xa7\x28\xb1\x97\x92\xc3\xe1\x80\xaa\xaa\x66\x34\
+\x52\x96\x65\x48\x92\x04\x49\x92\x10\x8b\xc5\x20\x49\x52\x56\x37\
+\x24\x0c\x3b\xf3\xc4\x07\x00\x34\x35\x35\x61\xf4\xe8\xd1\xf4\xe3\
+\x48\x10\xc4\x88\x81\xd2\xcc\x08\xe2\x04\x66\xe5\xca\x95\x39\xa9\
+\x9b\x39\xe3\x8c\x33\x06\xcd\xcd\xcb\xf8\x89\xd2\x34\xcd\x8c\xce\
+\xc4\x62\x31\x44\x22\x11\x84\x42\x21\x74\x77\x77\xa3\xab\xab\x0b\
+\xdd\xdd\xdd\xe8\xe8\xe8\xc0\xa1\x43\x87\xcc\x6d\x2b\x66\x2f\xc1\
+\xea\x1f\x3d\x9c\x5e\xcc\xc5\x22\x78\xee\xae\xab\xd0\x5a\xb7\xd7\
+\x9c\xe7\xf1\x78\x70\xf7\xdd\x77\xe3\xf1\xc7\x1f\x47\x55\x55\x15\
+\x56\xac\x58\x81\x07\x1e\x78\x00\x25\x25\x25\xc7\xd5\xb9\x7f\xf3\
+\xcd\x37\xf1\xdd\xef\x7e\x37\xad\x7b\x5b\x22\xe5\xd3\x16\xe0\xfc\
+\xef\xfd\x0f\x3c\xf9\x45\xbd\xae\x17\x0b\x07\x52\x46\xda\x04\x87\
+\x2b\x6d\x5d\x4d\x7f\xae\x01\x29\x12\x1c\x50\x0d\x0c\x2f\x3a\x87\
+\x46\xd0\x24\xd0\x52\xb3\x07\x9f\xbf\xff\x32\x0e\xec\xf8\x00\x81\
+\xb6\xc6\x11\x71\x6d\x8c\x1d\x3b\x16\x4b\x96\x2c\xc1\x92\x25\x4b\
+\x70\xda\x69\xa7\x61\xc1\x82\x05\x39\x33\x19\x20\x08\x82\x20\x31\
+\x43\x10\x44\xce\xc8\x55\xdd\xc7\x99\x67\x9e\x39\x68\xef\xd1\x2a\
+\x66\x8c\x74\xb2\x58\x2c\x86\x68\x34\x6a\x8a\x19\x43\xd0\x04\x02\
+\x01\x1c\x3c\x78\xd0\x8c\x38\xb1\x2c\x87\xeb\x1f\x78\x1b\x4e\x6f\
+\x7e\xca\x7d\xbf\xfe\xe8\x7f\x62\xcf\x96\x75\xe6\xb4\xcf\xe7\xc3\
+\xf3\xcf\x3f\x8f\x45\x8b\x16\x41\x92\x24\x7c\xf0\xc1\x07\x58\xbe\
+\x7c\xf9\x71\x7b\xfe\x0f\x1c\x38\x80\x9b\x6f\xbe\x19\x9b\x37\x6f\
+\xee\x73\xdd\xe5\x57\xde\x8e\xb9\xcb\x2e\xe9\x73\x3d\x45\x8a\x41\
+\x91\x63\x49\xf3\x59\x8e\x83\xe8\xcc\xbe\xff\x8b\xaa\xca\x90\xa3\
+\x91\x01\x7d\xde\x63\x25\x68\x0c\x5a\xeb\xf6\x62\xff\xf6\x0f\x70\
+\xf0\xf3\x8f\xd0\x7c\x78\xf7\xa0\x59\x48\xe7\x1a\xa7\xd3\x89\x93\
+\x4f\x3e\x19\x4b\x96\x2c\xc1\xd2\xa5\x4b\xb1\x62\xc5\x8a\x61\x6d\
+\x7c\x41\x10\x04\x89\x19\x82\x20\x4e\x00\x14\x45\xc1\xca\x95\x2b\
+\x07\xfe\x23\xc2\x30\x58\xbc\x78\x71\xda\x06\x99\x89\xa2\x24\x5d\
+\x97\xf3\x74\xfb\x36\xb6\x35\xea\x66\x54\x55\x85\x2c\xcb\x88\x44\
+\x22\x08\x87\xc3\x08\x06\x83\x08\x04\x02\xa6\xa8\x69\x6a\x6a\xb2\
+\xf5\xcb\x58\x71\xcd\x9d\x98\x73\xc6\x37\x92\xf6\xbd\x6d\xed\xd3\
+\x78\xff\xf9\x7b\xcd\x69\x8e\xe3\xf0\xe2\x8b\x2f\x62\xe9\xd2\xa5\
+\x27\xcc\x35\xd0\xda\xda\x8a\xda\xda\x5a\x7c\xf2\xc9\x27\xb8\xeb\
+\xae\xbb\x6c\x6e\x65\x89\xe7\x65\xd1\x79\xd7\xe2\xf4\x4b\x6e\xee\
+\x5b\x7c\x6a\x1a\x62\x69\x6a\x8f\x44\x97\xa7\x5f\x86\x0c\xe9\x90\
+\x63\x91\xac\xd3\xcd\x7a\x04\x8d\x63\xd0\x6b\x68\xfa\x27\xd2\x35\
+\x74\x36\xd5\xa0\xb9\x66\x0f\x5a\x6a\xaa\xd1\xde\x78\x08\xd1\x60\
+\x27\x22\xc1\x2e\x44\x43\x5d\x88\x06\xbb\xe2\x9f\x95\x61\xc0\xf3\
+\x02\x38\xc1\x71\xf4\xbd\x3b\x21\x3a\xdd\x10\x5d\x5e\x38\x5c\x1e\
+\x88\x4e\x0f\x44\x97\x17\xa2\xcb\x03\x87\xcb\x03\xde\xe1\x82\xa6\
+\x28\xd0\x54\x19\xaa\x22\x43\x55\x14\xa8\x8a\x04\x55\x91\xa1\x29\
+\x32\xa4\x68\x18\x81\xf6\x46\x04\xda\x9b\x10\xec\x6c\xce\xca\x5c\
+\xc1\xef\xf7\x63\xf5\xea\xd5\xb8\xe2\x8a\x2b\xb0\x6c\xd9\xb2\x41\
+\x4b\x31\x25\x08\x82\x20\x31\x43\x10\x44\x2f\x83\x29\x1d\x2b\x57\
+\xae\x1c\xb0\x09\x80\xae\xeb\x98\x3d\x7b\x36\x54\x55\x4d\xeb\x46\
+\x96\xe8\xda\xc4\xb2\xac\xb9\x7e\x62\x41\xb3\xd5\x15\xcd\x3a\x5f\
+\x55\x55\x30\x0c\x03\x59\x96\xa1\xaa\x2a\xa2\xd1\xa8\x19\x9d\x31\
+\xdc\xcc\x0c\x61\xd3\xdc\xdc\x6c\xbe\xbf\x09\xb3\x4e\xc5\xc5\xb7\
+\x3e\x6a\x7b\xcf\x2d\xb5\xd5\x78\xf6\xbf\xae\x80\xa6\xf5\x7c\xf6\
+\xbb\xee\xba\x0b\xd7\x5f\x7f\xfd\x09\x75\x0d\x04\x83\x41\xec\xdd\
+\x1b\x4f\xb1\x53\x55\x15\x2f\xbc\xf0\x02\x9e\x7e\xfa\x69\x8c\x1b\
+\x37\x0e\x37\xdc\x70\x03\x6e\xbb\xed\x36\x73\xdd\x19\xa7\x7d\x0d\
+\xe7\x7e\xf7\xee\x7e\xed\x57\x8a\x86\x53\xf6\x79\xe1\x78\x01\x82\
+\x63\x60\x3d\x79\xe4\x58\x18\xea\x00\x53\x23\x59\x8e\x87\xe0\x70\
+\x0d\xbb\x46\xa7\x89\xa8\x8a\x9c\x75\x6a\x5e\xbf\xbe\xbb\x9a\x86\
+\x60\x57\x0b\x82\x6d\x4d\xe8\x6e\x6f\x40\xa0\xbd\x09\x6d\x47\x0e\
+\xa0\x7e\xdf\x0e\x74\x34\x1e\xea\xd7\x3e\xca\xca\xca\x70\xd9\x65\
+\x97\xe1\x8a\x2b\xae\xc0\x29\xa7\x9c\x42\x3f\xac\x04\x41\x0c\x39\
+\x64\x00\x40\x10\x27\xea\x9d\x8c\xa3\x2e\x64\x03\xb5\x66\x06\x80\
+\x58\x2c\x06\x8e\xe3\x4c\x61\x94\xf8\x6c\xdc\x33\x31\x9e\x8d\xf9\
+\x46\x81\x79\xba\xe5\xa9\xe6\x5b\xfb\xda\x58\xdd\x9a\x8c\x87\x61\
+\x06\x60\xd4\x02\xd5\x54\x6d\x41\x24\xd0\x01\x97\xaf\xc0\x50\x5f\
+\xf8\xe7\xff\xde\x6d\x13\x32\x97\x5d\x76\xd9\x09\x27\x64\x00\xd8\
+\x9a\x7d\x72\x1c\x87\xcb\x2f\xbf\x1c\xcb\x96\x2d\x43\x71\x71\x31\
+\x78\x9e\x87\xdb\xed\x36\xa3\x35\xdd\x19\xd4\x7b\x70\xbc\x90\x52\
+\xcc\x68\xaa\x92\x14\xb1\xcb\x14\xc1\xe1\x86\xae\x87\x07\xd4\x14\
+\x53\x53\x15\x48\x91\x20\x04\x87\x0b\x2c\x37\x7c\xff\x0d\x0e\xa6\
+\x90\x01\x00\x86\x65\xe1\x2b\x18\x0d\x5f\xc1\x68\x94\x61\xae\x6d\
+\x59\x24\xd8\x89\xfa\xbd\x3b\x50\xbf\x6f\x3b\x8e\xec\xdd\x8e\xa6\
+\x83\xbb\xa0\x2a\x52\xd2\x3e\x1a\x1a\x1a\x70\xff\xfd\xf7\xe3\xfe\
+\xfb\xef\xc7\x94\x29\x53\x70\xcd\x35\xd7\xe0\xa6\x9b\x6e\x42\x5e\
+\x5e\x1e\xfd\xc8\x12\x04\x31\x24\x50\x6c\x98\x20\x4e\x60\x72\x35\
+\xe0\x18\xcc\x86\x80\x89\x02\x2c\x55\x23\xcd\xc4\x87\x35\x9f\x5f\
+\xd7\x34\xec\xdd\xf6\xb6\x39\xbd\xf3\xc3\xbf\xdb\x6c\x73\x27\x4e\
+\x9c\x88\x7b\xef\xbd\xf7\x84\x3c\xff\x1c\xc7\x25\x15\x76\x97\x96\
+\x96\x9a\xf6\xcc\x56\x57\xab\xee\xb6\xfa\x8c\x06\xe1\xa9\x04\x8b\
+\xae\xeb\x50\x53\xd4\xd3\x64\x8a\xe8\x70\x81\x1d\xa0\x8d\xb0\xae\
+\xeb\x90\xa2\xe1\xa3\x6e\x67\x44\x92\xd0\xf5\xfa\x31\x79\xc1\x99\
+\x58\xfa\xcd\xef\xe3\x5f\x7e\xfa\x67\xdc\xf4\xe8\x47\xb8\xec\xa7\
+\x7f\xc2\x82\x15\x97\xc3\x9d\x97\xda\x04\x62\xdf\xbe\x7d\xb8\xfd\
+\xf6\xdb\x31\x71\xe2\x44\xdc\x75\xd7\x5d\xb6\x74\x4f\x82\x20\x08\
+\x12\x33\x04\x41\xe4\x1c\x9f\xcf\x97\x93\xfd\xe4\xc2\x11\x2d\x1b\
+\x51\x63\x15\x30\x1c\xc7\x81\xe3\xb8\x24\x31\x03\x00\xd5\x5b\xde\
+\x02\x00\x44\x83\x5d\xf8\xf0\x6f\x0f\xd8\x96\xdd\x73\xcf\x3d\x27\
+\x74\x31\xb3\x35\x3a\x93\x88\xd5\xc1\x2d\xd4\xd1\x92\x51\x7d\x45\
+\xba\xa8\x82\xaa\xc8\x18\x70\x76\x33\xc3\x40\x70\xb8\x73\x52\xab\
+\xa1\xc8\x31\x48\x91\xd0\x80\x22\x3d\x27\x84\xf0\xe5\x05\x94\x4f\
+\x5d\x80\x65\x57\xfc\x18\xd7\xdd\xb7\x1e\xab\x7f\xf4\x30\x66\x7e\
+\xe5\xfc\x94\xa6\x0e\xed\xed\xed\xb8\xe3\x8e\x3b\x48\xd4\x10\x04\
+\x41\x62\x86\x20\x88\xc1\x25\x97\x91\x19\xab\xa8\x60\x18\xc6\xf6\
+\x6c\xcc\x1f\xe8\x72\x86\x61\xc0\xf3\x3c\x58\x96\x05\xcf\xf3\xe0\
+\x38\x0e\x3c\xcf\x9b\x0f\x43\xd0\x58\x1b\x6a\x02\x40\xed\x9e\xad\
+\x08\x77\xb7\xe3\x83\xbf\xdd\x8f\x68\xb0\xcb\x9c\x7f\xc1\x05\x17\
+\xe0\xab\x5f\xfd\xea\x09\x7d\x0d\xf4\x57\xcc\x68\x9a\x8a\x60\x67\
+\x73\xff\xff\xb9\xa4\x11\x33\xb9\x8a\xce\x30\x0c\x03\xc1\xe9\x01\
+\x93\x03\x41\xa3\x69\x2a\xa4\x68\x18\x72\x2c\x02\x5d\xd7\xe8\x87\
+\xa1\xaf\x63\xcf\xb2\xa8\x98\xbd\x04\xab\xbe\xfd\x4b\x5c\xff\xc0\
+\xdb\x38\xef\x86\x5f\x63\xd2\xfc\x33\x93\xcc\x1d\x48\xd4\x10\x04\
+\x31\x14\x50\xcd\x0c\x41\x9c\xc0\xe4\x22\x32\xc3\x30\x0c\x9c\x4e\
+\x27\xfc\x7e\x7f\x46\x05\xfd\x89\x1d\xcd\xd3\x75\x38\xb7\x6e\x6f\
+\x38\x9a\x69\x9a\x66\x36\x0f\x0c\x85\x42\xa6\x70\x31\x7a\xd1\xa8\
+\xaa\x0a\xa7\xd3\x89\x60\x30\xee\xaa\xa5\x6b\x1a\xb6\xae\xfd\x0b\
+\xbe\xf8\x70\x8d\xf9\xbe\x8d\x7e\x32\x27\x3a\x46\xb3\xc4\xbe\xc4\
+\x0c\x00\x74\xb7\x35\xc0\x57\x58\xda\x3f\x31\xc3\x72\xe6\x79\x4b\
+\x44\x55\x64\x70\x82\x63\xc0\x05\xf8\x0c\xc3\x40\x74\x7a\x20\x47\
+\xc3\xb6\x1a\xa8\x6c\x51\x15\x19\x9a\xaa\x80\xe3\xc5\xb8\x85\xf3\
+\x30\x37\x08\x18\x16\x83\x08\xd1\x81\xe9\x8b\x56\x62\xfa\xa2\x95\
+\xe8\x6e\xad\xc7\xe6\xd7\x9e\xc4\x97\x1b\x5e\xb3\x45\xba\x0c\x51\
+\x73\xdf\x7d\xf7\xe1\xee\xbb\xef\xc6\x75\xd7\x5d\x37\xec\xcd\x17\
+\x08\x82\x18\x39\x50\x64\x86\x20\x4e\x60\x72\x15\x99\x51\x55\xd5\
+\x8c\x86\x18\x05\xf8\xd6\x67\xa3\x36\xc3\x3a\x3f\x71\xfd\xbe\xb6\
+\x37\xa2\x2f\xd6\xf5\x05\x41\x80\x28\x8a\x10\x45\x11\x0e\x87\xc3\
+\xfc\x9b\xe7\xf9\xa4\x88\xc3\x8e\x77\x5e\x04\x2c\xe9\x4d\xb7\xdd\
+\x76\x1b\xc6\x8c\x19\x73\xc2\x5f\x03\x6e\xb7\xbb\xdf\x62\x26\xd3\
+\xa6\x8f\x83\x1d\x9d\x31\x05\x8d\xcb\x0d\x8e\xcf\xcd\xbd\x39\x5d\
+\xd7\xa1\xc8\x31\xc4\x22\x41\x28\x72\x0c\x64\xf8\x99\xc1\xef\x49\
+\xf1\x18\xac\xb8\xe6\x4e\x5c\xfb\xeb\x35\x98\x73\xe6\xea\x24\x73\
+\x85\xf6\xf6\x76\xdc\x70\xc3\x0d\x58\xb1\x62\x85\xad\xb9\x2d\x41\
+\x10\x04\x89\x19\x82\x20\x8e\xa9\x98\x31\x9a\x54\x0e\x36\x56\x03\
+\x00\xa3\x66\xc6\x48\x2d\xb3\xa6\x99\x59\xc5\x93\xf9\x1e\x63\x3d\
+\x3d\x54\x2a\x2b\x2b\x71\xdd\x75\xd7\xd1\x05\x00\xc0\xe1\x70\xa4\
+\xad\x3d\x49\x8e\xcc\x64\x26\x66\x7a\x73\xe3\xca\x49\xed\x4c\xcf\
+\x95\x01\xc1\xe1\xce\x69\x43\x4c\x5d\xd7\xa1\x48\x31\x48\x91\x20\
+\x14\x29\x4a\xe9\x67\x99\x8a\x9a\xab\xef\xc0\xb5\xf7\xbc\x8a\xb9\
+\x67\x5d\x92\x74\x1d\xbc\xfd\xf6\xdb\x98\x33\x67\x0e\x1e\x7d\xf4\
+\x51\x12\x8b\x04\x41\x90\x98\x21\x08\xe2\xd8\x8b\x99\xa1\x30\x00\
+\xb0\xa6\xa5\xf4\x26\x68\xac\xa2\x26\x5d\x61\xff\x6f\x7e\xf3\x9b\
+\x24\x17\xaf\x13\x15\x86\x61\xd2\xd6\xcd\x58\xdd\xcc\xe2\x62\xa6\
+\x3e\xc3\x7d\xb3\x69\xad\x8f\x73\x19\x9d\x31\xe0\x45\x27\x04\xd1\
+\x99\xd3\x7d\xc6\x23\x35\x12\xa4\x48\x10\x72\x2c\x92\x93\x74\xb6\
+\x13\xe6\xf7\xa5\xa8\x0c\xcb\xaf\xba\x1d\xd7\xfe\xfa\x55\xcc\x5c\
+\x72\x9e\x6d\x59\x30\x18\xc4\xf7\xbe\xf7\x3d\x2c\x5f\xbe\x9c\xa2\
+\x34\x04\x41\x90\x98\x21\x08\x22\x3b\x72\xe5\x66\x36\x54\x91\x99\
+\xfe\x08\x19\xab\xa0\x49\x35\x48\xbf\xf4\xd2\x4b\xb1\x64\xc9\x12\
+\x3a\xf9\x16\xd2\xa5\x9a\x15\x15\x15\xd9\xa2\x36\x99\xa6\x99\x01\
+\x43\x19\x9d\x39\xfa\x7a\x82\x08\xd1\xe9\xce\x79\x4d\x86\xae\xc7\
+\xdf\xaf\x14\x09\xc5\x53\xd0\xa4\x28\x09\x9b\xfe\xfe\xce\x14\x95\
+\x62\xd5\x77\xee\xc2\x45\x3f\xf8\x3d\xbc\xfe\x51\xb6\x65\xef\xbc\
+\xf3\x0e\xe6\xcc\x99\x83\x47\x1e\x79\x84\xa2\x34\x04\x41\x90\x98\
+\x21\x08\x22\x33\x72\x15\x99\x91\x24\x09\xb1\x58\xcc\x7c\x44\xa3\
+\x51\xdb\x74\xe2\xfc\x68\x34\xda\xaf\x47\xaa\x7d\x18\x85\xff\xb2\
+\x2c\x9b\x0f\x45\x51\x6c\x03\x21\xab\x6d\xb3\x15\x51\x14\xf1\xf3\
+\x9f\xff\x9c\x4e\x7c\x3f\xc5\x0c\xcb\xb2\x28\x2e\x2e\x36\xa7\x83\
+\x1d\xcd\x19\xef\x9b\xe3\xf9\xb4\xc2\x62\x30\xa2\x33\x00\xc0\x72\
+\x3c\x44\xa7\x27\xc9\x5d\x2b\x67\xc2\x46\xd3\x8e\x46\x6b\x48\xd8\
+\x64\xc2\xa4\x79\x4b\x71\xd5\xdd\x2f\x61\xe6\x57\xce\xb7\xcd\x0f\
+\x06\x83\xb8\xf1\xc6\x1b\xb1\x7c\xf9\x72\xb4\xb4\xb4\xd0\x81\x22\
+\x08\x22\x23\xc8\xcd\x8c\x20\x48\xcc\x0c\x98\x50\x28\x84\x40\x20\
+\x00\x45\x51\xc0\x71\x9c\xcd\xb9\xcc\x70\xb4\x4a\xe5\x68\x96\xce\
+\xe9\xac\xb7\xe5\x40\x4f\x93\x4e\x49\x92\xa0\xaa\x2a\x22\x91\x08\
+\xa2\xd1\x28\x24\x49\x82\xa2\x28\x50\x55\x15\xba\xae\x23\x12\x89\
+\xd8\xde\xe7\x65\x97\x5d\x96\x94\x3a\x45\xf4\x6e\x02\x50\x56\x56\
+\x86\xe6\xe6\xb8\x88\xe9\x6c\xae\xcb\x62\xef\x0c\x58\x8e\x87\xaa\
+\xa4\x8e\xde\xc5\x9d\xcd\x44\x30\x4c\x6e\xef\xad\x31\x2c\x0b\xd1\
+\xe5\x81\x22\xc5\xa0\xc8\x83\xd7\x18\x53\xd7\x34\x28\x9a\x04\xc8\
+\x12\x18\x96\x05\xc7\xf1\x60\x79\x61\xd0\x84\xd4\x48\xc7\xe1\xf6\
+\x61\xd5\xb7\x7f\x89\x69\xa7\xac\xc0\x5b\x4f\xfd\x12\xa1\xce\x56\
+\x73\xd9\x3b\xef\xbc\x83\x53\x4f\x3d\x15\xaf\xbf\xfe\x3a\x2a\x2b\
+\x2b\xe9\x60\x11\x04\xd1\x2f\x28\x32\x43\x10\x27\x30\x05\x05\x05\
+\x39\xd9\x8f\xaa\xaa\x90\x24\xc9\xfc\x5b\xd7\x75\x9b\x95\xb2\xf5\
+\xd9\x98\x9f\xb8\x3c\x71\x7e\x5f\xcb\x55\x35\x7e\x27\xdc\x10\x3e\
+\xd6\xb4\x33\xfe\x68\x34\x20\x1c\xee\x29\xfa\x67\x18\x06\x37\xde\
+\x78\x23\x9d\xf4\x14\x38\x9d\x4e\x70\x5c\xea\xc1\x77\x79\x79\xb9\
+\xf9\xb7\x1c\x0b\x23\xd8\x99\xf9\x9d\xf3\xde\x52\xcd\x74\x5d\x87\
+\x12\x8b\x0e\xda\x67\xe3\x45\x47\x3c\xed\x8c\x1d\xfc\x7f\x77\xb6\
+\x88\x4d\x38\x00\x39\x1a\x86\x22\x45\xe3\x96\xcf\x9a\x4a\x69\x54\
+\x16\x26\xcd\x3b\x03\x57\xdd\xf5\x52\x52\x2d\xcd\x81\x03\x07\xb0\
+\x64\xc9\x12\xbc\xf3\xce\x3b\x74\x90\x08\x82\x20\x31\x43\x10\x44\
+\xef\x14\x15\x15\xc1\xe3\xf1\xe4\x64\x5f\xd1\x68\x74\x48\xde\x73\
+\x6f\x8e\x66\xd6\x47\x24\x12\x31\x05\x0f\x00\xac\x5a\xb5\x0a\x53\
+\xa6\x4c\xa1\x93\x9e\x86\x74\x26\x00\xe3\xc6\x8d\xb3\x4d\x77\x34\
+\x1c\xca\xfc\x1f\x0d\xc7\xf7\x2a\x26\x54\x55\xb1\xf5\x25\xc9\xf9\
+\x3f\xba\xa3\x69\x67\xbd\x89\xaa\x9c\x0b\x1b\x5d\x87\xaa\x2a\x50\
+\x64\x09\x72\x2c\x62\x0a\x9c\x58\x38\x00\xe9\xa8\xc8\x51\xe4\x98\
+\xd9\xdb\x26\x2e\x76\x4e\x2c\xc7\x34\xa7\x27\x0f\xab\xbe\x73\x17\
+\xce\xbb\xe1\xd7\x36\x27\xba\x8e\x8e\x0e\xac\x5a\xb5\x0a\x7f\xfe\
+\xf3\x9f\xe9\x8b\x49\x10\x04\x89\x19\x82\x20\x7a\xa7\xa2\xa2\x22\
+\x27\xfb\x89\xc5\x62\x43\xfa\xbe\x53\x89\x1a\xab\x01\x40\x47\x47\
+\x87\x6d\xfd\x9b\x6f\xbe\x99\x4e\x76\x2f\xa4\x4b\x35\x4b\x12\x33\
+\x8d\x87\xb3\xda\x3f\xc7\xf5\x2e\x24\x64\x29\x0a\x40\x1f\xd4\xeb\
+\x45\x70\xb8\x20\x38\x5c\x43\x12\xa5\xe9\x4d\xe4\x68\x47\x45\x8e\
+\x22\xc5\xe2\x42\x27\x1a\x3e\x2a\x76\x82\x88\x86\xba\xe3\xa2\x27\
+\x12\x8c\x47\x76\xe4\x18\x34\x55\x39\xae\xa3\x3a\xd3\x17\xad\xc4\
+\x37\x7f\xf2\x24\xdc\x79\x85\x3d\xd7\x83\x2c\xe3\xda\x6b\xaf\xc5\
+\xed\xb7\xdf\x4e\x11\x2d\x82\x20\x48\xcc\x10\x04\x91\x9e\x89\x13\
+\x27\xe6\x64\xa0\x18\x8b\xc5\xcc\xf4\x2e\x8e\xe3\xcc\x88\x89\xf1\
+\x6c\xcc\xef\x6b\x79\x26\xdb\xf1\x3c\x0f\x96\x65\x6d\x0d\x36\x05\
+\x41\x40\x28\x14\xb2\x45\x8a\x16\x2d\x5a\x84\x45\x8b\x16\xd1\xc9\
+\xce\x42\xcc\x8c\x1d\x3b\xd6\x36\xdd\xde\x78\x28\x3b\x31\xd3\x47\
+\x54\x44\xd7\x34\x28\x47\x53\x15\x07\x13\x8e\x17\xe0\x70\x79\xc0\
+\x8b\x8e\x61\xdb\x85\x5e\xd7\x75\xe8\x9a\x16\x8f\xec\x48\x31\x48\
+\xd1\x70\x3c\xa2\x73\xd4\x1e\x5a\x55\x24\xe8\xda\xf1\x15\xc5\x29\
+\x9b\x3c\x07\x97\xff\xec\x7f\x51\x38\xc6\xfe\x7b\xf4\xab\x5f\xfd\
+\x0a\x97\x5f\x7e\xf9\x90\x45\x7e\x09\x82\x18\x79\x90\x01\x00\x41\
+\x90\x98\xc9\xc9\x7e\x14\x45\x41\x5e\x5e\x5e\x92\x01\x40\xaa\x67\
+\xc3\x10\x20\xd5\xfc\xfe\x6c\x6f\xdc\xa9\x55\x55\xd5\xac\xd7\x91\
+\x24\x09\xe1\x70\x18\x3c\xcf\x63\xdb\xb6\x6d\xb6\xf7\x46\x51\x99\
+\xec\xc5\x4c\x69\x69\x29\x78\x9e\x37\x7b\x09\x75\x64\x29\x66\x18\
+\x96\x05\xcb\x71\xd0\xd4\xf4\xae\x5f\xaa\x12\x03\xc7\x0b\x43\x10\
+\x39\x61\xc0\x0b\x0e\x70\xbc\x00\x45\x8a\xa5\x35\x27\x18\x6e\x68\
+\x9a\x06\x68\x9a\xf9\x7e\x8f\x37\xc3\x81\xfc\x51\xe5\xb8\xfc\xf6\
+\xbf\xe0\xb5\x87\x6e\x45\x4d\xd5\x16\x73\xfe\xf3\xcf\x3f\x8f\x9a\
+\x9a\x1a\xac\x59\xb3\x06\xa3\x46\x8d\xa2\x2f\x2b\x41\x10\x36\x28\
+\x32\x43\x10\x24\x66\x72\xb2\x9f\x48\x24\x02\x41\x10\xc0\x71\x9c\
+\x2d\x52\x92\xea\x59\x14\xc5\xb4\xf3\xfb\xb3\xbd\xd1\x47\xc6\x88\
+\xc4\x88\xa2\x08\x51\x14\xe1\x70\x38\x10\x0a\x85\xd0\xd6\xd6\x66\
+\xbe\xaf\x29\x53\xa6\x60\xd5\xaa\x55\x74\xa2\xfb\xc0\xe1\x70\xa4\
+\x34\x01\xe0\x38\x0e\x65\x65\x65\xe6\x74\x7b\xc3\xe1\xac\x5f\xa3\
+\xcf\xe8\x8c\x6e\xa4\x9b\x0d\x0d\x0c\xc3\x42\x70\xb8\x06\xd5\xc6\
+\x79\x30\x39\x1e\x2d\xa2\x1d\x6e\x1f\x56\xff\xe8\x61\xcc\x3a\xfd\
+\xeb\xb6\xf9\x9b\x36\x6d\xc2\xe2\xc5\x8b\x11\x0a\x85\xe8\xcb\x4a\
+\x10\x04\x89\x19\x82\x20\x7a\xc8\x55\xcd\x8c\xa6\x69\x43\x9a\x0a\
+\x62\xa4\x08\x59\x7b\xca\xb0\x2c\x8b\xdd\xbb\x77\xdb\xd6\xbb\xf1\
+\xc6\x1b\x87\xb2\x94\x2f\x4b\x00\x00\x20\x00\x49\x44\x41\x54\x6d\
+\x3a\xd1\x70\xa3\x3f\xa9\x66\xdd\xad\xf5\x50\x95\xec\xd2\xc1\x38\
+\x4e\xe8\xf3\x5c\x68\xaa\x32\xe4\x91\x12\x96\xe3\x20\xba\x3c\x10\
+\x9d\xee\x78\x64\x68\x04\x5e\x2f\x49\xc2\x46\x8e\x8d\xd8\x5a\x13\
+\x96\xe3\xb1\xf2\xdf\xff\x1b\xc5\xe5\x76\xc3\x8e\x25\x4b\x96\xc0\
+\xed\x76\x53\x0d\x0d\x41\x10\x24\x66\x08\x82\xe8\x21\x3f\x3f\x3f\
+\x67\x16\xcd\x43\x75\xd7\xd4\x2a\x64\x8c\x67\x86\x61\xa0\xaa\x2a\
+\x0e\x1f\xee\x89\x1c\x94\x94\x94\xe0\xb2\xcb\x2e\xa3\x93\x3c\x40\
+\x31\x63\x35\x01\xd0\x75\x0d\x9d\x4d\xb5\xd9\x9e\xb8\x7e\x39\x8a\
+\x29\x52\xf4\x98\x0c\x58\x59\x8e\x87\xe0\x70\xc1\xe1\xf2\x42\x70\
+\x38\xc1\x72\x23\x33\x75\x2b\x5e\x7f\x14\x33\x6b\x6c\x46\x62\x7d\
+\xcd\xde\x6d\x6f\xa3\xf5\xc8\x3e\x73\xba\xa0\xa0\x00\xbf\xf9\xcd\
+\x6f\x4c\x6b\x76\x12\x34\x04\x41\x18\x50\xcd\x0c\x41\x10\x98\x38\
+\x71\x62\x92\xfb\x57\x36\x04\x02\x01\xf8\x7c\xbe\xa3\x83\x5e\xdd\
+\x76\x87\xbb\x3f\x75\x33\x56\xb1\xd2\xdb\xf6\xc6\x76\x9a\xa6\x41\
+\x55\x55\x68\x9a\x06\x49\x92\x50\x5d\x5d\x6d\xb3\x63\xbe\xf2\xca\
+\x2b\x21\x8a\x22\x9d\xe0\x01\x8a\x99\x54\x26\x00\x45\xe5\x93\xb3\
+\x7a\x0d\x4e\x10\xa1\xc8\xbd\x47\x76\x74\x5d\x87\x22\xc7\x20\x88\
+\xce\x63\x73\x20\x18\x06\x1c\x2f\x82\xe3\x45\xe8\x9a\x0a\x55\x91\
+\xa1\x2a\xf2\x88\x1b\x40\xeb\xba\x6e\xbe\x77\x96\xe3\xc1\x0b\x22\
+\x58\x6e\xf8\xff\xdb\x97\xa2\x21\xbc\xfb\xec\x6f\x6c\xf3\x7e\xf9\
+\xcb\x5f\xa2\xa0\xa0\xc0\xfc\xdd\x48\xbc\xb1\x41\x10\x04\x89\x19\
+\x82\x20\x4e\x60\x2a\x2a\x2a\xf0\xe9\xa7\x9f\x0e\x78\x3f\x5d\x5d\
+\x5d\xf0\x7a\xbd\x66\x01\x7f\xba\x01\x56\xaa\x65\x89\x62\xa7\x3f\
+\xdb\x59\x1b\x68\x4a\x92\x84\xaa\xaa\x2a\xdb\xf2\x4b\x2f\xbd\x74\
+\xd8\x1e\xf3\x03\x07\x0e\xe0\xb9\xe7\x9e\xc3\xc6\x8d\x1b\x11\x0c\
+\x06\xa1\xeb\x3a\xa6\x4f\x9f\x8e\xaf\x7c\xe5\x2b\xb8\xe0\x82\x0b\
+\x50\x54\x54\x34\x6c\xc4\x4c\xb2\x3d\x73\xcd\x00\x74\x02\x0b\x8e\
+\xe7\xa1\x2a\xbd\xf7\x95\x51\x65\x09\x2c\xcb\x0d\x69\x6f\x98\x94\
+\xef\x97\xe5\xc0\x8b\x1c\x78\xd1\x09\x4d\x53\xe3\x3d\x61\x54\x05\
+\xba\xa6\x62\x24\x69\x1b\x4d\x55\x20\xa9\x4a\xdc\x0d\xf0\xa8\xf9\
+\xc1\x70\x65\xc3\xcb\x0f\x23\xd8\xd1\x6c\x4e\x9f\x72\xca\x29\xb8\
+\xf4\xd2\x4b\x21\xcb\xf1\xf4\x43\xa3\x97\x14\x09\x1a\x82\x20\x48\
+\xcc\x10\x04\x01\x20\x77\x26\x00\x5d\x5d\x5d\x28\x2b\x2b\xeb\x33\
+\x0d\x24\xdd\x32\x63\x7e\x5f\xcb\x8d\xbf\xad\xd1\x99\x60\x30\x88\
+\xe6\xe6\x9e\x01\xd0\xc9\x27\x9f\x8c\x49\x93\x26\x0d\xab\xe3\x1c\
+\x0a\x85\xb0\x66\xcd\x1a\xfc\xf5\xaf\x7f\xc5\xc7\x1f\x7f\x9c\xb4\
+\x7c\xd7\xae\x5d\x78\xe5\x95\x57\xf0\x8b\x5f\xfc\x02\x0f\x3e\xf8\
+\x20\xce\x3b\xef\xbc\x21\x7d\x7f\x86\x31\x83\x92\x20\x34\x12\x23\
+\x33\xd9\x3a\x9a\x19\x70\xbc\xa3\x4f\x31\x03\xc4\xd3\xcd\x58\x96\
+\x05\x33\x4c\x8a\xf3\x59\x96\x8b\x1b\x05\x08\x0e\x40\xd7\x6d\xe2\
+\x46\x1b\x21\xa9\x5c\x9a\xa6\x41\x8b\x45\xa0\xca\x12\x78\x71\xf8\
+\xa5\xd2\x35\x1f\xae\xc2\xf6\xb7\x9f\xef\x19\xa4\xf0\x3c\xee\xbc\
+\xf3\x4e\x44\x22\x91\x04\x51\xcc\x50\x84\x86\x20\x88\xf8\x6f\x33\
+\x1d\x02\x82\x20\x72\x65\x02\xa0\xeb\xfa\x31\xeb\x07\x71\xe0\xc0\
+\x01\x9b\xd8\x19\x6e\x51\x99\x17\x5f\x7c\x11\x73\xe6\xcc\xc1\x2d\
+\xb7\xdc\x92\x52\xc8\x58\xe9\xee\xee\xc6\x55\x57\x5d\x85\x3b\xef\
+\xbc\x73\xc8\x07\xc9\xa9\xa2\x33\x7e\xbf\x1f\x5e\xaf\xd7\x9c\x6e\
+\x1f\xa0\x98\x61\x39\xae\x5f\xee\x61\xba\xae\x43\x8a\x45\x86\x67\
+\x7a\x17\xc3\xc4\x53\xb7\x44\x27\x44\x97\x17\x0e\xb7\x17\x82\xc3\
+\x35\x62\x0c\x04\x34\x4d\x85\x14\x0d\xc5\x6b\x6a\xf4\xe1\x23\xc4\
+\xde\xfd\xeb\x6f\x6d\x35\x3e\x97\x5c\x72\x09\x46\x8d\x1a\x85\x50\
+\x28\x84\x48\x24\x82\x58\x2c\x06\x45\x51\xcc\xf4\x52\xaa\x9d\x21\
+\x08\x82\xc4\x0c\x41\x10\xa8\xa8\xa8\xc8\xc9\x00\x8c\x61\x18\x04\
+\x83\xc1\x21\x7d\xef\x46\x74\xe6\xc0\x81\x03\xe6\x3c\x41\x10\x70\
+\xd1\x45\x17\x0d\x8b\x63\xab\x28\x0a\x7e\xfa\xd3\x9f\xe2\xfa\xeb\
+\xaf\x47\x77\x77\x77\xd2\x72\x8e\x17\xe0\x2b\x2a\x85\xb7\xa0\x24\
+\x69\xd9\x23\x8f\x3c\x82\xfb\xee\xbb\xef\x98\x8b\x19\xc0\x1e\x9d\
+\xe9\x18\x80\x3d\xb3\xf9\xb9\x85\xfe\xd5\x32\xe9\x9a\x06\x39\x16\
+\x19\xf6\xdf\xa1\x78\xfa\x9c\x10\x37\x10\x70\xfb\x20\x1e\x6d\xcc\
+\xc9\x72\x3c\x86\xb3\xb6\x51\x15\x19\xd2\x51\x5b\xe7\x63\x9d\x37\
+\xb7\x77\xdb\xdb\x38\x52\xdd\x93\xee\x3a\x6a\xd4\x28\xac\x5c\xb9\
+\x12\x1d\x1d\x1d\xe8\xee\xee\x46\x38\x1c\x46\x2c\x16\x83\x24\x49\
+\x50\x14\xc5\x66\x06\x40\xa2\x86\x20\x4e\x5c\x28\xcd\x8c\x20\x08\
+\xb8\xdd\x6e\x4c\x9e\x3c\x19\xfb\xf6\xed\x1b\xf0\xbe\x02\x81\x00\
+\x46\x8f\x1e\x9d\xb2\xf1\x65\x2a\xf1\xd3\x9f\xe5\xa9\x30\xf6\xaf\
+\x69\x1a\xda\xdb\xdb\xd1\xd5\xd5\x65\x2e\x5b\xbe\x7c\x39\x0a\x0b\
+\x0b\x8f\xf9\x71\x6d\x6e\x6e\xc6\xb5\xd7\x5e\x9b\x32\x12\x33\xba\
+\x62\x06\x66\x2f\xbd\x08\xd3\x17\xaf\x82\xd3\x93\x17\x17\x09\x4d\
+\x35\x58\xff\xc7\xff\xc2\x91\xbd\x9f\x99\xeb\xfd\xf6\xb7\xbf\xc5\
+\xca\x95\x2b\x31\x7b\xf6\xec\x63\x2e\x66\x0c\xdb\xeb\x68\xa8\x0b\
+\x91\x60\x27\x5c\x5e\x7f\xf6\x62\x86\x17\xfa\xed\x5a\xa6\xa9\x0a\
+\x14\x29\x0a\xfe\x58\x19\x02\x64\x41\x4f\x4a\x1a\x6c\x29\x69\xaa\
+\xaa\x0c\x3b\x77\x31\x5d\x07\x14\x59\x82\xaa\xc8\xf1\x66\xa2\xc2\
+\xd0\x9b\x66\xa8\x8a\x8c\x0f\x5f\xb8\xdf\x36\xef\xec\xb3\xcf\x46\
+\x20\x10\x30\x7b\x20\x25\x3e\x0c\x3b\xf6\x74\x75\x76\x04\x41\x90\
+\x98\x21\x08\xe2\x04\xe2\xa4\x93\x4e\xca\x89\x98\x89\x46\xa3\x70\
+\xbb\xdd\xe0\x79\x3e\xc9\xad\xac\x37\x37\xb3\x54\xee\x66\xbd\x3d\
+\x1b\x69\x26\xb2\x2c\xe3\x93\x4f\x3e\xb1\xbd\x87\xe1\x90\x62\xf6\
+\xc9\x27\x9f\xe0\x9a\x6b\xae\x41\x63\x63\xa3\x6d\x7e\xf9\xb4\x85\
+\x38\xfb\xdf\xfe\x13\xc5\x63\xa7\x26\x6d\x53\x30\x7a\x3c\x2e\xfd\
+\xcf\x27\xb1\xee\x8f\x77\x62\xd7\xc6\xd7\x01\x00\xb2\x2c\xe3\x86\
+\x1b\x6e\xc0\xdb\x6f\xbf\x3d\x24\xce\x6c\xfd\x36\x01\x68\x38\x04\
+\xd7\xd4\xf9\x03\x7a\x2d\x4e\x10\xa1\x48\xb1\x7e\xad\xab\xc8\x12\
+\x98\x61\x60\x08\x90\x15\x47\x53\xd2\x58\x8e\x07\x8f\xb8\xbd\xb5\
+\xe9\x90\x36\x8c\x84\x8d\xae\xeb\x90\xa5\x28\x54\xc5\xa8\xa7\x19\
+\xba\x21\xc2\xf6\xb7\xff\x0f\x9d\xcd\x75\xe6\x74\x49\x49\x09\x0a\
+\x0b\x0b\xd1\xde\xde\x6e\x36\xd4\xb5\x3e\x8c\x06\xba\x56\xb3\x11\
+\x12\x35\x04\x71\x62\x42\x69\x66\x04\x41\x00\x88\x17\xcc\xe7\x66\
+\xdc\x16\x4f\x35\x33\x06\x1b\xe9\x1e\x89\xcb\xfb\x5a\xdf\x78\x58\
+\xef\xc8\x1a\xe2\xa7\xba\xba\xda\x7c\xfd\xfc\xfc\x7c\xac\x5c\xb9\
+\xf2\x98\x1e\xcb\xad\x5b\xb7\xe2\xa2\x8b\x2e\x4a\x12\x32\x27\xad\
+\xfa\x37\x7c\xf3\x27\x7f\x48\x29\x64\xcc\xe3\xc7\xb2\x38\xfb\xca\
+\x9f\x22\x7f\x54\xb9\x39\xaf\xaa\xaa\x0a\x0f\x3c\xf0\xc0\x90\xbc\
+\x77\x41\x10\xe0\x70\x38\x92\xe6\x97\x97\x97\xdb\xa6\x07\x5a\x37\
+\x03\x00\x1c\x2f\x66\x34\xf8\x54\xa4\xe8\x88\xec\x99\x92\xfc\x1d\
+\x61\xc1\x0b\x0e\x38\x5c\xde\x61\xd9\xa8\x53\xd3\x34\x48\xd1\x30\
+\xa4\x68\x78\x48\x8e\x77\x34\xd8\x85\x8f\x5f\x7d\xc2\x36\x6f\xf2\
+\xe4\xc9\xe8\xec\xec\x44\x67\x67\x27\xba\xba\xba\x10\x08\x04\x10\
+\x0a\x85\x10\x8d\x46\xcd\x34\x33\x55\x55\xfb\x34\x0d\x21\x08\x82\
+\xc4\x0c\x41\x10\x27\x08\xb3\x67\xcf\xce\xd9\x9d\xff\xf6\xf6\xf6\
+\x94\x8d\x2d\x07\xfa\x9c\x98\x92\xa6\x69\x1a\x0e\x1d\x3a\x84\x70\
+\x38\x6c\xbe\xf6\x85\x17\x5e\x78\x4c\x7b\xcb\x1c\x3e\x7c\x18\xdf\
+\xfa\xd6\xb7\x10\x8b\xf5\x44\x1c\x44\x97\x07\x17\xdc\xf8\x5b\x9c\
+\x79\xd9\x0f\xfb\x55\xf8\x2e\x38\xdc\x58\xf5\xed\x5f\x80\x61\x7a\
+\x7e\xa2\xff\xf0\x87\x3f\xd8\x3e\xe7\x60\x62\xf4\x0a\xb2\x92\x6c\
+\xcf\x3c\xf0\xba\x19\xe6\x68\xc4\xa2\xbf\xc4\x0d\x01\xc2\xc7\xd5\
+\xc0\xd5\x68\xd4\x29\xba\xbc\x10\x44\x67\xbf\xae\x8f\x21\x13\x35\
+\xaa\x82\x58\x34\x08\x79\x90\x9b\x98\x6e\x78\xf9\x61\xc4\xc2\x01\
+\x73\xda\xef\xf7\x9b\x37\x45\x82\xc1\x20\x42\xa1\x10\xc2\xe1\xb0\
+\x29\x64\x64\x59\x36\x23\xb3\x64\x02\x40\x10\x04\x89\x19\x82\x20\
+\xe2\x03\x6e\x51\xcc\x59\x5d\x46\x2e\x1a\x70\xf6\x36\xa0\x35\x9e\
+\x35\x4d\xc3\x17\x5f\x7c\x61\x5b\x7e\x2c\x53\xcc\xba\xbb\xbb\x71\
+\xc5\x15\x57\xa0\xb5\xb5\xb5\x67\x60\x56\x32\x0e\xff\x7a\xe7\xb3\
+\x98\x7a\xf2\xd9\x19\xed\xab\x7c\xda\x42\xcc\x58\x72\x9e\xed\x98\
+\x3e\xf3\xcc\x33\xc7\x4c\xcc\x8c\x1d\x3b\xd6\x66\x85\xdb\x5c\xb3\
+\x27\x27\xaf\xc5\x8b\xce\x8c\xa2\x12\xba\xa6\x41\x8e\x86\x8e\xbb\
+\x01\x2c\xc3\x30\xe0\x04\x11\xa2\xcb\x03\xd1\xe5\x01\x27\x88\xc3\
+\x23\x5a\xa3\xc7\x7b\xfe\x48\x91\x20\x54\x45\xce\xf9\xee\xf7\x7d\
+\xfa\x2e\x76\xbc\xfb\x37\xdb\x71\xc8\xcf\xcf\x47\x34\x1a\x35\x1f\
+\x46\xd1\xbf\x2c\xcb\x66\xe1\x3f\x89\x18\x82\x20\x48\xcc\x10\x04\
+\x91\x44\xae\x52\xcd\x24\x49\x42\x28\x14\x1a\x14\x11\x63\x15\x32\
+\xb2\x2c\xe3\xe0\xc1\x83\xe6\xfc\x09\x13\x26\x60\xf1\xe2\xc5\xc7\
+\xe4\xd8\x29\x8a\x82\x6b\xae\xb9\x06\x7b\xf6\xf4\x0c\xf2\x9d\xde\
+\x7c\xac\xfe\xd1\xc3\x28\x28\x9d\x90\xd5\x3e\x4f\xf9\xda\xd5\xb0\
+\x5a\x61\x3d\xfa\xe8\xa3\x49\x3d\x60\x06\x4b\xcc\x24\x0e\xa4\x45\
+\x51\xb4\x59\x78\x37\x1d\xfc\x32\x67\x83\x78\x5e\x70\x64\xb4\x4d\
+\x3c\x0d\x2a\x34\xac\x2c\x85\x73\xfa\x8f\x99\xe5\x20\x88\x4e\x88\
+\x4e\xcf\x90\xd6\xad\xf4\xf5\xfd\x93\x63\x91\x78\xea\x59\x8e\x8e\
+\x7b\x57\x4b\x1d\xd6\x3d\x79\xa7\x6d\x9e\xcb\xe5\x32\x6b\xe2\x8c\
+\x47\xa2\x78\x21\x11\x43\x10\x04\x89\x19\x82\x20\x52\x72\xd2\x49\
+\x27\xe5\x6c\x5f\x2d\x2d\x2d\x66\x5a\x48\x2c\x16\x43\x2c\x16\x33\
+\xef\xb2\x26\xde\x75\xed\xed\xd9\xd8\x5e\x92\xa4\xa4\xe5\xfb\xf6\
+\xed\x33\xbb\x82\x03\xc0\xb9\xe7\x9e\x7b\xcc\xee\x66\xdf\x76\xdb\
+\x6d\x78\xff\xfd\xf7\xcd\x69\x8e\x17\xf0\xf5\x9b\xee\x85\xbf\x64\
+\x5c\xd6\xfb\x2c\x1a\x33\x09\x93\xe6\x2e\x35\xa7\x6b\x6b\x6b\xf1\
+\xea\xab\xaf\x0e\xfa\x67\xe1\x38\x2e\xa5\x11\x40\x65\x65\xa5\xf9\
+\x77\x34\xd4\x8d\xce\xe6\xda\xdc\xbc\x9e\x20\xda\xa2\x3e\xfd\x1a\
+\x5c\x1f\xad\xeb\x38\x1e\x6a\x68\xd2\x0a\x3d\x96\x85\xe8\x74\x43\
+\x70\xb8\x86\x4d\x4d\x8d\xa6\x2a\x90\x22\x21\xa8\xb2\x34\xa0\xfd\
+\xa8\x8a\x84\xd7\x1e\xfe\x31\x62\x91\xa0\xed\xba\xf3\x78\x3c\xa6\
+\xc8\x65\x18\x26\xad\x83\x99\xb1\x9c\x0a\xfe\x09\x82\x20\x37\x33\
+\x82\x20\x4c\x26\x4f\x9e\x8c\xfc\xfc\x7c\x9b\xcd\x71\xb6\x34\x37\
+\x37\xc3\xe3\xf1\x24\x59\x34\xdb\x06\xa4\x96\x79\x7d\x2d\x37\xa6\
+\x8d\xbb\xb4\x8a\xa2\x60\xef\xde\xbd\xb6\xf5\x57\xac\x58\x71\x4c\
+\x8e\xdb\x23\x8f\x3c\x82\xa7\x9f\x7e\xda\xfe\x5e\xae\xbe\x03\x63\
+\xa7\x2f\x1c\xf0\xbe\x4f\x39\xef\x6a\x1c\xd8\xf1\x81\x39\xfd\xfb\
+\xdf\xff\x1e\xab\x57\xaf\x1e\xf4\xcf\xe4\xf3\xf9\x92\xa2\x6b\xd3\
+\xa6\x4d\xc3\x1b\x6f\xbc\x61\x4e\x37\x1e\xfc\x72\x40\x62\xcd\xf6\
+\xcf\x48\x74\x42\x8a\x66\x56\x13\xa4\x1f\x8d\xd0\xf0\xa2\x03\x1c\
+\x2f\x1e\xb7\xdf\x4b\x8e\x17\xc0\x71\x3c\x14\x39\x06\x65\x80\x22\
+\x22\x17\x98\xae\x67\xaa\x0c\x41\x74\x81\x61\x33\xbf\x2f\xfa\xee\
+\x5f\xff\x07\xcd\x87\xab\x7a\x84\x1b\xc3\xc0\xe5\x72\x81\x65\x59\
+\xd3\x10\xc4\xea\x5e\xe6\x70\x38\x6c\x2e\x66\x86\xb0\x21\x41\x43\
+\x10\x04\x45\x66\x08\x82\xb0\x0d\x28\x16\x2c\x58\x90\x93\x7d\x19\
+\x1d\xbb\x0d\x01\x62\x15\x22\xd6\xb4\x91\x54\x7f\xa7\x9a\x67\x4d\
+\x3b\x51\x14\x05\x8a\xa2\xe0\xc8\x91\x23\xe6\xeb\x79\x3c\x1e\x9c\
+\x76\xda\x69\x43\x7e\xcc\xf6\xec\xd9\x83\xbb\xee\xba\xcb\x36\x6f\
+\xf1\xf9\xff\x8e\x99\x5f\xb9\x20\x27\xfb\x2f\x9f\xba\x00\x65\x53\
+\xe6\x9a\xd3\x5f\x7c\xf1\x05\xde\x7b\xef\xbd\x21\x11\x33\x89\x58\
+\x23\x33\x00\xd0\x74\xe0\xcb\x9c\xbd\x1e\xcb\xf1\xe0\x45\x47\xc6\
+\xdb\xc5\xd3\x9f\xa2\x90\x8f\x33\x63\x80\x14\x5f\x4e\xf0\xa2\x13\
+\x0e\x97\x07\x2c\x37\x3c\x4c\x02\x34\x55\x85\x14\x0d\x41\x91\x63\
+\x19\x6d\xb7\xe3\x9d\x17\xf0\xf9\xbb\x2f\xda\xe6\x59\xc5\x8a\xc3\
+\xe1\x80\xd3\xe9\x84\xcb\xe5\x82\xdb\xed\x86\xdb\xed\x86\xcb\xe5\
+\x82\xd3\xe9\x34\xd7\x49\x14\x33\x24\x68\x08\x82\xc4\x0c\x41\x10\
+\x04\x80\xdc\xd5\xcd\xb0\x2c\x8b\xae\xae\xae\x9c\x0f\x32\x8c\x6e\
+\xdf\x86\x5d\xab\xc1\x99\x67\x9e\x39\xe4\x2e\x66\x9a\xa6\xe1\xfb\
+\xdf\xff\x3e\x24\xa9\xe7\x6e\xf9\xb4\x53\x56\xe0\x2b\xab\x6f\xcc\
+\xe9\xeb\x9c\x72\xee\xd5\xb6\xe9\x87\x1e\x7a\x68\xd0\x3f\x9b\xc7\
+\xe3\x49\x4a\xfd\xaa\xa8\xa8\xb0\x1d\xe3\xfa\xfd\x9f\xe7\xf4\x35\
+\x79\xc1\x91\x75\x1f\x19\x55\x51\x20\x45\x82\xd0\x54\xe5\xb8\xfe\
+\x7e\x32\x2c\x07\xd1\xe9\x81\xe0\x70\x0e\x8b\x01\xbc\xae\xeb\x50\
+\xa4\x18\xa4\x48\x08\x9a\xa6\xf6\xba\xae\x1c\x8b\x60\xed\x93\x77\
+\xe0\xed\xa7\xff\x3f\xfb\x79\x3f\xda\x47\xc6\x10\x32\x2e\x97\x0b\
+\x1e\x8f\x07\x5e\xaf\xd7\x7c\x78\x3c\x1e\x53\xd0\x58\xa3\x33\xd6\
+\x63\x40\x82\x86\x20\x48\xcc\x10\x04\x41\xe4\xb4\x6e\xa6\xa3\xa3\
+\x23\xa7\x77\xcb\x0d\x21\xa3\xeb\x3a\xea\xea\xea\x6c\xcb\x8e\x45\
+\x8a\xd9\x13\x4f\x3c\x81\xad\x5b\xb7\x9a\xd3\xbe\xc2\x52\x9c\x73\
+\xed\xcf\x6d\x45\xfb\xb9\x60\xca\x82\xb3\x50\x50\x5a\x61\x4e\xbf\
+\xf7\xde\x7b\x49\x2e\x6e\x39\x1f\x34\x33\x4c\x52\x74\x86\xe3\x38\
+\x4c\x9d\xda\xd3\x23\xa7\xa5\x66\x4f\xce\x6b\x56\x04\x47\xf6\xf6\
+\xc4\xba\xae\x43\x8a\x86\x21\xc7\x22\xc7\x7d\x91\x38\xc7\x8b\x10\
+\x5d\x5e\x70\xc3\xc4\x20\x40\xd3\x54\x48\x91\x10\x14\x29\x0a\xc0\
+\x7e\xec\x03\x6d\x8d\xd8\xf0\xd2\x43\xf8\xe3\x8f\xcf\xc7\xae\x0d\
+\xff\x48\xba\xe9\xe1\x70\x38\x52\x0a\x99\xbc\xbc\x3c\xe4\xe5\xe5\
+\xc1\xe7\xf3\xc1\xe3\xf1\xc0\xed\x76\x9b\x11\x1c\xa3\x29\xaf\x11\
+\x9d\x21\x08\x82\xc4\x0c\x41\x10\x04\x80\x78\xe7\xed\xb1\x63\xc7\
+\xe6\x68\x80\xa3\x21\x14\x0a\x81\x65\x59\x33\x2d\x24\xb1\xe9\xa5\
+\xf1\xe8\x6d\x39\xc3\x30\xb6\x67\x5d\xd7\x6d\x29\x66\x00\xb0\x7c\
+\xf9\xf2\x21\x3d\x4e\x35\x35\x35\xb8\xfb\xee\xbb\x6d\xf3\xce\xbe\
+\xf2\xa7\x10\x9d\x9e\xc1\x50\x16\x38\xf9\xdc\x2b\x6d\xb3\x1e\x7c\
+\xf0\xc1\x41\xff\x8c\xa9\x52\xcd\xa6\x4f\x9f\x6e\xfe\xad\xc8\x31\
+\xb4\x1e\xd9\x9f\xeb\x0f\x0b\xc1\xe9\xca\xd8\x10\xc0\x8a\xaa\xc8\
+\x83\x66\x25\x3c\x9c\x60\x18\x06\x82\xd3\x9d\x55\x7a\xde\x60\xa1\
+\xc8\x92\x99\xf6\xb7\x6b\xe3\xeb\x78\xe9\x77\xdf\xc3\x93\x3f\x3e\
+\x0f\x9b\xff\xf1\x47\x84\xbb\xdb\x93\x84\x8c\x21\x4c\x44\x51\x84\
+\xd3\xe9\x84\xdb\xed\xb6\x09\x19\x43\xcc\x78\xbd\x5e\xb8\x5c\x2e\
+\x53\xf8\x50\x9a\x19\x41\x10\x06\x64\x00\x40\x10\x44\x12\x67\x9d\
+\x75\x56\x4e\x7a\x9a\x30\x0c\x83\x70\x38\x8c\xf1\xe3\xc7\xa7\x6c\
+\x7a\x69\xac\x63\xcc\xd7\x34\xcd\x14\x2b\x89\xf3\x75\x5d\x37\xeb\
+\x65\x82\xc1\x20\x9a\x9b\x9b\xcd\x7d\xcc\x9a\x35\x0b\x65\x65\x65\
+\x43\x7a\x8c\x7e\xf8\xc3\x1f\xda\x9a\x58\x56\x9e\x7a\x2e\x26\xcd\
+\x5b\x3a\x68\xaf\x37\x73\xc9\x79\xd8\xf8\xca\x23\x08\x75\xc6\x7b\
+\xd8\xac\x59\xb3\x06\x3f\xfb\xd9\xcf\x92\x9a\x59\x0e\xa5\x98\x01\
+\x80\x86\x03\x3b\x31\x6a\xdc\xd4\x1c\x0f\xd2\x59\x08\x4e\x0f\xe4\
+\x58\x18\x9a\xaa\x66\xb5\x0f\xc3\x4a\x58\x53\x64\xf0\x0e\xa7\xad\
+\x01\xe9\x71\xf7\x8f\x5c\x70\x80\x65\xb9\x63\x1f\x91\xd2\x75\xd4\
+\xef\xdb\x81\x3d\x5b\xd6\x61\xdf\xa7\xef\x42\x8e\x45\xd2\xae\xca\
+\xb2\xac\x99\x2e\x66\x14\xf8\xbb\x5c\x2e\x78\xbd\x5e\xf8\x7c\x3e\
+\xe4\xe7\xe7\x9b\x0f\x23\x32\x63\x88\x99\x44\x03\x00\x82\x20\x4e\
+\x6c\x28\x32\x43\x10\x44\x12\x2b\x57\xae\xcc\xd9\xbe\x8c\x54\x33\
+\xc3\xa1\xc8\x78\x36\x1e\xd6\xf9\xc6\x5d\x5a\xeb\x7c\x8e\xe3\xcc\
+\xc1\x8b\x31\x80\x39\x72\xe4\x08\x34\x4b\x7a\xd3\x39\xe7\x9c\x33\
+\xa4\xc7\xe7\xb9\xe7\x9e\xb3\x15\xe1\xbb\xbc\x7e\x2c\xfb\xd7\x1f\
+\x0f\xea\x6b\x72\xbc\x88\x05\xcb\xaf\x30\xa7\x15\x45\xc1\x13\x4f\
+\x3c\x31\xa8\xaf\x69\x14\x5c\xf7\x26\x66\xea\xab\x3f\x1b\x94\xd7\
+\x66\x18\x06\xa2\xd3\x93\x75\x0d\x8d\x81\x6a\x58\x09\x2b\xd2\x71\
+\xfd\x9d\x65\x39\x1e\xa2\xcb\x7b\x4c\xfa\xd2\xb4\xd4\x56\x63\xe3\
+\x2b\x8f\xe0\xa9\xdb\x2f\xc6\xdf\x1f\xf8\x3e\xaa\x36\xbd\xd1\xa7\
+\x90\x31\xbe\xd3\x86\x6b\x99\x91\x5e\x96\x4a\xc8\x78\xbd\x5e\x33\
+\xc5\x8c\xdc\xcc\x08\x82\x20\x31\x43\x10\x44\x9f\x8c\x19\x33\x06\
+\x73\xe6\xcc\xc9\xc9\xbe\x74\x5d\xb7\x45\x51\x32\xdd\xd6\xfa\xb7\
+\xe1\x6e\x66\x6d\x94\x09\x0c\x6d\x8a\x59\x6b\x6b\x2b\xee\xb8\xe3\
+\x0e\xdb\xbc\xb3\x2e\xff\x11\x5c\x5e\xff\xa0\xbf\xf6\xbc\x65\x97\
+\x80\x17\x9d\xe6\xf4\xb3\xcf\x3e\x8b\x48\x24\x32\xa8\xaf\xe9\xf7\
+\xfb\x93\xae\x0d\xaf\xd7\x6b\x4e\xd7\xec\xfe\x64\x50\x5f\x5f\x70\
+\xb8\xc0\x0b\xe2\x80\xaf\x41\x39\x16\x8d\x37\xda\x3c\x9e\xfb\xd2\
+\x30\x0c\x44\xa7\x3b\xe3\x26\xa4\xd9\x10\xe8\x68\xc2\xb6\x75\xcf\
+\xe0\xb9\xbb\xaf\xc4\xdf\xee\xf9\x0e\xb6\xbf\xfd\x3c\xc2\xdd\x6d\
+\x7d\xbe\x3f\x6b\x2a\xa9\x21\x64\x8c\xf4\x32\x9f\xcf\x87\xbc\xbc\
+\x3c\x53\xc8\x58\xeb\x65\x9c\x4e\x67\x52\x8a\x19\x41\x10\x04\x89\
+\x19\x82\x20\xd2\xb2\x6a\xd5\xaa\x9c\xed\xab\xb1\xb1\x71\xc0\x83\
+\x51\xab\x4d\xf3\xa1\x43\x87\xcc\x65\x05\x05\x05\x39\x73\x60\xeb\
+\x0f\xf7\xde\x7b\x2f\x3a\x3b\x3b\xcd\xe9\xf1\x33\x17\x63\xdc\x8c\
+\x45\x08\x75\xb6\x20\x1a\xea\xce\xd8\xa6\x36\x13\x1c\x6e\x1f\x66\
+\x2e\x39\xcf\x9c\xee\xea\xea\xc2\x0b\x2f\xbc\x30\xa8\x9f\xb7\xa0\
+\xa0\x20\x69\x40\x3a\x7f\xfe\x7c\x73\x3a\xd8\xde\x94\xb3\xe6\x99\
+\xe9\xe0\x45\x27\x04\x8b\x88\xcb\x96\x6c\xad\x84\x47\x1a\xbc\xe8\
+\x80\xe8\x74\x0f\x4a\xc4\xa2\xb5\xb6\x1a\xff\x78\xf8\x36\x3c\x7d\
+\xe7\x65\xd8\xfc\xda\x13\xe8\x68\x38\xdc\x6f\xa1\x65\x88\x19\x6b\
+\x2f\x99\xc4\x3a\x19\x6b\x54\x26\x2f\x2f\xcf\x8c\xca\x18\x2e\x66\
+\x54\x2b\x43\x10\x04\x89\x19\x82\x20\xfa\xc5\x99\x67\x9e\x09\xa7\
+\xd3\x99\x93\x7d\x85\x42\x21\x74\x74\x74\x20\x16\x8b\x21\x1a\x8d\
+\xa6\x7d\x36\x1e\xc6\xb4\x24\x49\x88\xc5\x62\x90\x24\xc9\x5c\xd6\
+\xd0\xd0\x60\x6b\xe6\xb8\x6c\xd9\x32\x70\x43\xd4\x77\xa3\xa1\xa1\
+\x01\x7f\xf9\xcb\x5f\x6c\x83\xec\xd3\x2f\xb9\xd9\x14\x5c\x8a\x14\
+\x45\x34\xd8\x85\x70\x77\xfb\x51\x57\xa7\xdc\x33\xff\xec\xcb\x6c\
+\xd3\x83\x9d\x6a\x66\xa4\xf7\x58\x49\x14\x8f\x87\x76\x6e\x18\xf4\
+\x63\xcf\x09\x22\x04\x87\x6b\xc0\x83\x57\xab\x95\xb0\xae\xa9\xc7\
+\xed\xf7\x37\x9e\x76\xe6\xc9\xda\x19\x2e\x91\xee\xb6\x06\xbc\xf5\
+\xd4\x2f\xf1\xc2\x6f\xbe\x8b\x9a\xaa\x2d\x40\x06\xb5\x39\x56\x21\
+\x63\xa4\x8d\xa6\x2a\xf8\xcf\xcf\xcf\x87\xdf\xef\x87\xdf\xef\x4f\
+\x8a\xca\x18\x29\xa8\x94\x5e\x46\x10\x44\xd2\x0d\x1c\x3a\x04\x04\
+\x41\xa4\xc2\xe5\x72\xe1\x8c\x33\xce\xc0\xfa\xf5\xeb\x73\xb2\xbf\
+\xc3\x87\x0f\xa3\xbc\xbc\xdc\x8c\xb2\x24\x1a\x02\x18\xcf\x2c\xcb\
+\x42\xd3\x34\x73\xda\x1a\x91\x91\x24\xc9\x16\x95\x01\x80\x33\xce\
+\x38\x63\xc8\x8e\xc9\xfd\xf7\xdf\x8f\x58\xac\xe7\xae\xfe\xec\xa5\
+\x17\xc2\xeb\x1f\x95\xb4\x9e\xa6\x2a\x88\x86\xba\xc1\x46\xc3\x70\
+\x7a\xf2\x72\x5a\xc7\x50\x3c\x76\x2a\xc6\x55\x9e\x8c\xda\xdd\x71\
+\x4b\xe8\xdd\xbb\x77\xe3\xc3\x0f\x3f\xc4\xd2\xa5\x83\x67\x3e\xe0\
+\xf7\xfb\xd1\xd4\xd4\x64\x4e\x2f\x5c\xb8\xd0\xb6\xfc\xe0\xe7\x1b\
+\x30\xff\xec\x7f\x19\x7c\x41\xc3\x0b\x60\x18\x36\x27\x0d\x32\x35\
+\x2d\x1e\xa5\xe1\x78\xc7\xb0\x72\x03\xcb\x25\x0c\xc3\x42\x74\xb9\
+\x21\x47\x23\x50\xb3\xec\xbf\x13\x0b\x77\x63\xdb\x9b\x4f\x63\xe7\
+\x87\xaf\x64\xec\x0e\x67\x88\x8d\xde\x84\x8c\xc7\xe3\x41\x5e\x5e\
+\x9e\x29\x62\xfc\x7e\xbf\x19\x95\xa1\xa2\x7f\x82\x20\xfa\x75\xf3\
+\x86\x0e\x01\x41\x10\xe9\xc8\x65\xaa\x59\x67\x67\x27\x24\x49\x32\
+\x9d\xc9\xd2\x3d\xab\xaa\x6a\x13\x30\xc6\x43\x55\x55\x68\x9a\x66\
+\x1b\x54\x03\xc0\xa2\x45\x8b\x86\xe4\x58\x1c\x39\x72\x04\x4f\x3f\
+\xfd\xb4\x39\x2d\x38\xdc\x98\x77\xd6\x37\x7b\x1f\x30\xab\x0a\xc2\
+\x81\x8e\x5e\x8b\xa1\xb3\x61\xfe\x72\xbb\x70\x18\xec\xe8\x4c\x62\
+\xaa\x59\x59\x59\x19\xca\xcb\xcb\xcd\xe9\xba\xea\x4f\xfb\x6c\x98\
+\x98\xb3\x7f\x5a\x1c\x77\x34\xe2\x30\xf0\x7f\x5f\xba\x1e\xb7\x97\
+\x96\x22\xc1\x21\x7b\xff\xc7\x40\xd2\x40\x70\xba\xc1\x65\x58\x77\
+\xa4\x2a\x32\x3e\x7b\xeb\xaf\x78\xe6\xe7\x97\x63\xfb\xbb\x2f\x64\
+\x24\x64\xac\x29\x60\x86\x88\x49\x17\x91\xb1\x46\x63\x0a\x0a\x0a\
+\x50\x50\x50\x60\x73\x30\x4b\x6c\x92\x49\x51\x19\x82\x20\x48\xcc\
+\x10\x04\xd1\x6f\xe6\xce\x9d\x9b\x33\xcb\x63\x86\x61\xd0\xd2\xd2\
+\x92\xd5\x20\xc4\x2a\x6e\x5a\x5b\x5b\x6d\x83\x6c\x6b\x13\xc7\xc1\
+\xe4\xde\x7b\xef\x85\x24\xf5\x38\x62\xcd\x5e\x7a\x21\x1c\x1e\x5f\
+\xbf\x46\xcc\xb1\x70\x00\xd1\x50\x37\x12\x9b\x09\x66\xcb\x94\x05\
+\xcb\xe0\x2b\x2a\x35\xa7\xd7\xae\x5d\x8b\x9a\x9a\x9a\x41\xfb\xec\
+\x46\xe7\x75\x2b\xd6\xe6\xaa\x72\x34\x8c\xc6\xfd\x3b\x87\x6e\x78\
+\xce\xb0\x71\xa7\xb3\x1c\x45\xbc\x34\x4d\x3b\xee\x6b\x69\x04\xd1\
+\x69\x33\x8f\xe8\x8d\xfd\x9f\xbe\x8b\x67\xff\xfb\x0a\x6c\x5a\xf3\
+\x38\x62\x91\x60\x46\x02\xc6\xda\x0f\x2a\x51\xc4\xa4\x6a\x8a\x69\
+\x88\x98\xc2\xc2\x42\x53\xc8\x58\xa3\x32\xa2\x28\x52\xd1\x3f\x41\
+\x10\x24\x66\x08\x82\xc8\x5e\x80\xe4\xda\xa6\xd9\x2a\x08\xfa\x23\
+\x62\xac\x8f\x68\x34\x8a\x40\x20\x60\x1b\x50\x0f\xc5\x1d\xda\x9a\
+\x9a\x1a\xfc\xf5\xaf\x7f\xed\x19\x18\x3a\xdc\x98\x7b\xd6\xc5\x19\
+\xed\x43\x91\xa2\x47\x05\x4d\x0e\xce\x0b\xcb\x62\xfe\x57\x2f\xb5\
+\x0d\xc6\xff\xf4\xa7\x3f\x0d\xea\x31\x48\x8c\xce\x24\xd6\xcd\x1c\
+\x1c\x82\xba\x99\x84\x8b\x33\xde\x30\x32\x57\xce\x5d\x3a\xe2\xb5\
+\x34\xd1\xf0\xb1\xed\xd5\x32\x88\xf0\x7d\xd4\x1d\xe9\xba\x8a\x0d\
+\x2f\x3d\x84\x75\x7f\xfa\x2f\x04\x3b\x9a\xfb\xf5\xfb\x90\x18\x85\
+\xb1\xa6\x93\x59\x45\x8c\x35\x1a\xe3\xf3\xf9\xe0\xf7\xfb\x51\x58\
+\x58\x88\xc2\xc2\x42\x14\x15\x15\x99\x62\xc6\xef\xf7\xc3\xe7\xf3\
+\x99\xb5\x5a\xd6\x5a\x19\x2a\xfa\x27\x08\x82\xc4\x0c\x41\x10\x19\
+\x73\xce\x39\xe7\xe4\x6c\xf0\xc0\xb2\x2c\xda\xda\xda\x20\x08\x02\
+\x18\x86\x31\xef\xb6\x1a\x03\x15\xeb\x33\x00\xdb\x00\x46\xd7\x75\
+\x5b\x54\x06\x18\xba\x14\xb3\x7b\xef\xbd\x17\xb2\xdc\x93\x66\x33\
+\xfb\x8c\x8b\xe0\x70\xfb\x32\xde\x8f\x22\xc5\x10\x0b\xe7\x46\xd0\
+\xcc\x39\x63\xb5\xcd\xb2\xf8\x99\x67\x9e\x19\x54\x9b\xe6\x44\x31\
+\x33\x6f\xde\x3c\xf0\x7c\x4f\x64\xe4\xd0\xce\x8d\xc7\x66\x80\x2e\
+\x3a\x72\x62\x0c\x60\x0a\xc3\xa3\x7d\x69\xb2\x6d\xd6\x39\xdc\xe1\
+\x78\x01\x82\x23\xd9\xe9\x2c\x1a\xec\xc4\xab\xff\x3f\x7b\xef\x1d\
+\x25\x47\x79\xe7\x7b\x7f\x3b\xe7\x3c\x39\x8f\x24\x24\xa1\x80\x84\
+\x00\xc9\x80\xc9\xc6\x18\x30\x18\x30\x8b\xd7\x5e\x63\xb3\x07\xd6\
+\x69\xf7\x35\xd8\xaf\xaf\xbd\x77\x6d\xf6\xf5\xfa\x78\x77\x7d\xd7\
+\xf7\xfa\xe2\x75\xc4\x0b\x8b\x8d\xd7\x80\xbd\x98\x60\x40\x12\x20\
+\x19\x21\x24\x24\xa1\x2c\xcd\xa0\x19\x4d\xce\xb1\x7b\xa6\x7b\x3a\
+\x77\x75\xf5\xfb\x87\x78\x4a\x4f\x57\x57\x4f\xea\x30\x41\xbf\xcf\
+\x39\x75\x3a\x57\x3d\xf5\x54\x75\xf7\xef\x5b\xbf\xf4\xef\xff\x2f\
+\x4e\xbe\xf5\xdf\x73\x16\x30\xcc\x03\xc3\x44\x0c\x5f\x72\xd9\x64\
+\x32\x65\x24\xf9\xbb\x5c\x2e\x78\x3c\x1e\x78\x3c\x1e\x94\x94\x94\
+\x48\xf7\x5d\x2e\x57\x86\x57\x46\xab\xd5\x52\x68\x19\x41\x10\x24\
+\x66\x08\x82\x98\x3f\xe5\xe5\xe5\xb8\xf4\xd2\x4b\xf3\xb6\xbe\xc9\
+\xc9\x49\xe8\x74\x3a\xb8\xdd\x6e\xe9\xea\xac\xd2\xad\xc7\xe3\x91\
+\xe2\xe9\x59\xa9\x56\xbf\xdf\x5f\x74\x31\xd3\xd3\xd3\x83\xe7\x9e\
+\x7b\x4e\x7a\xac\x33\x9a\x71\xc9\x75\x9f\x9c\xf7\xfa\x12\xb1\xe8\
+\xac\x43\x77\xa6\xc3\x68\x75\x60\xed\x87\x6e\x4b\x9b\xd7\xe7\x9f\
+\x7f\xbe\x60\xf3\x60\x30\x18\x60\x36\x9b\xa5\xc7\x66\xb3\x19\x17\
+\x5f\x7c\xb1\xf4\x78\xb4\xb7\x05\xd1\x90\x7f\xe1\x0c\x74\xa3\x19\
+\x2a\x55\x7e\xfe\xd2\x52\x29\x11\xf1\xd8\xf2\x0d\x3b\x53\x6b\x34\
+\xd0\x1b\x2d\x50\x7d\x10\xb6\x35\xd6\xd7\x8a\x3f\xfc\xaf\xbf\xc1\
+\x40\xdb\xf1\x39\x89\x18\xde\x0b\xc3\x04\x0c\x0b\x25\x63\xc9\xfd\
+\x7c\x38\x19\xf3\xc2\x94\x96\x96\xa6\x2d\x25\x25\x25\x52\x88\x99\
+\xbc\x41\xa6\x3c\xe9\x9f\x04\x0d\x41\x10\x24\x66\x08\x82\x98\x33\
+\xf9\x2c\x04\xa0\x52\xa9\x30\x38\x38\x08\x9d\x4e\x27\x25\xf6\xb2\
+\xfb\xfc\x73\xcc\x48\xe2\x8d\x19\x3e\xf9\x5f\xab\xd5\x66\x54\xd5\
+\x2a\x04\x3f\xfa\xd1\x8f\x20\x08\xe7\x2b\x41\x6d\xbc\xee\x6e\x18\
+\xcc\xd6\x9c\xd6\x99\x88\x86\x91\x4c\xe4\xde\x91\xfe\xd2\x22\x17\
+\x02\x90\x37\xd0\xe4\x43\xcd\x52\xa2\x88\x96\x43\xaf\x2f\xdc\x9f\
+\x99\xfa\x83\xc2\x00\xf9\x2a\xd3\xbd\xcc\xc3\xce\x54\xea\x73\x79\
+\x47\x67\x0f\xbf\x81\x17\xfe\xcf\xdf\x65\x0d\x2b\x9b\x49\xc0\xc8\
+\xbd\x30\x16\x8b\x05\x16\x8b\x05\x36\x9b\x2d\xcd\x0b\x53\x52\x52\
+\x82\xd2\xd2\x52\x94\x95\x95\xa1\xbc\xbc\x1c\xe5\xe5\xe5\x28\x2b\
+\x2b\x43\x69\x69\xa9\xe4\x95\x51\x2a\xc5\xcc\xb6\x49\x22\x86\x20\
+\x08\x12\x33\x04\x41\xcc\x9b\xeb\xaf\xbf\x1e\x15\x15\x15\x79\x5b\
+\xdf\xe8\xe8\xe8\xac\x42\xa2\xf8\xd2\xcc\x89\x44\x02\x63\x63\x63\
+\xd2\x6b\xeb\xd6\xad\x4b\xf3\x14\x14\x02\xb9\xb7\x43\xa5\x56\x63\
+\xdd\x95\x1f\xcf\xcb\xba\x63\xe1\xa9\x39\xf5\xea\x50\xa2\xb4\x6e\
+\x0d\xaa\x2f\x3a\xef\x35\x7b\xff\xfd\xf7\xb1\x7f\x7f\xe1\x72\x57\
+\x5c\x2e\x57\x9a\x51\x79\xc3\x0d\x37\xa4\xbd\xde\xb4\xf7\xa5\x85\
+\x35\xd0\x55\xaa\x73\x85\x01\xb4\xba\xbc\xad\x73\x39\x87\x9d\x1d\
+\xdf\xf5\x2c\x76\xfd\xe6\x9f\x91\x14\xe2\x73\x16\x31\x4a\x5e\x18\
+\x9b\xcd\x06\xbb\xdd\x2e\x25\xf4\x33\x2f\x0c\x13\x30\x15\x15\x15\
+\xa8\xac\xac\x44\x45\x45\x85\x24\x66\x98\x57\x86\x35\xc8\xcc\xd6\
+\x53\x86\x8d\x89\x20\x08\x82\xc4\x0c\x41\x10\x73\x46\xa3\xd1\xe0\
+\x33\x9f\xf9\x4c\xde\xd6\x97\x4a\xa5\xb2\x56\xdf\x62\x57\xc1\xe5\
+\x3d\x66\xc6\xc6\xc6\xd2\x3c\x24\xc5\x08\x31\xfb\xc3\x1f\xfe\x90\
+\xd6\x57\x26\x25\x8a\xd8\xff\xe2\xcf\x72\x16\x21\xc0\x07\x7d\x4e\
+\x62\xe1\x9c\xd7\x73\xe9\xcd\x9f\x4e\x7b\xfc\xab\x5f\xfd\xaa\x60\
+\xf3\xa1\xd7\xeb\xd3\xbc\x33\x95\x95\x95\xd8\xb0\x61\xc3\x79\x91\
+\xda\x73\x06\xbe\xc1\xae\x05\x3f\x5f\x75\x06\x53\xfe\x0a\x03\x60\
+\x79\x86\x9d\xbd\xf7\xda\x53\xd8\xf3\xcc\x0f\xe7\x25\x62\x78\x2f\
+\x8c\x52\x18\x59\x49\x49\x49\x86\x80\xa9\xaa\xaa\x42\x55\x55\x55\
+\x9a\x98\x29\x2d\x2d\x85\xdb\xed\x96\xc2\xcb\x58\x4f\x19\x0a\x2f\
+\x23\x08\x82\xc4\x0c\x41\x10\x79\xe7\x96\x5b\x6e\x41\x69\x69\x69\
+\xde\xd6\x37\x32\x32\x82\x70\x58\x39\x84\x47\x49\xd0\x0c\x0e\x0e\
+\xa6\xbd\xa7\x18\x62\xe6\xe9\xa7\x9f\xce\x78\xae\xeb\xe4\x3e\x1c\
+\x79\xfd\xe9\xbc\xac\x3f\x1e\x0d\xe7\xdc\xdf\x64\xd5\x65\x37\xc2\
+\xea\x2a\x93\x1e\xef\xdc\xb9\x13\x7d\x7d\x7d\x05\x9b\x13\xb9\x87\
+\x4e\x5e\xed\xae\xe9\x9d\x97\x17\xc5\xf9\xaa\xd5\xe7\xb9\x19\xe6\
+\x32\x0a\x3b\x7b\xf7\xc5\x9f\x63\xdf\xf3\xff\xae\x28\x64\xd8\x2d\
+\x13\x32\x4a\x9e\x98\xe9\xc2\xc8\x78\x01\x53\x5d\x5d\x9d\xb6\xf0\
+\x62\x86\x17\x32\xac\x7a\x19\xeb\x29\xc3\x8a\x09\x50\xf5\x32\x82\
+\x20\x48\xcc\x10\x04\x91\x3f\xe3\x50\xab\xc5\xa7\x3f\xfd\xe9\xfc\
+\xd9\x86\xa9\x14\xce\x9e\x3d\x8b\x44\x22\x81\x68\x34\x8a\x58\x2c\
+\x86\x68\x34\x8a\x78\x3c\x8e\x68\x34\x2a\x2d\xec\xf9\xe1\xe1\xe1\
+\xb4\xcf\x5f\x71\xc5\x15\x05\xdd\xdf\xc3\x87\x0f\xa3\xa5\xa5\x45\
+\xf1\xb5\x63\x6f\x3c\x83\x81\xb6\x13\xf9\x98\x04\x24\xa2\xb9\x79\
+\x67\xd4\x6a\x0d\x36\xdd\x70\xbe\x79\x67\x32\x99\x2c\x68\x99\x66\
+\xa3\xd1\x08\x87\xc3\x21\x3d\xbe\xf6\xda\x6b\x61\x30\x9c\x17\x0d\
+\x67\x0e\xbc\x8a\x94\x28\x2e\x8e\x73\x56\x67\x80\x6e\x96\xbd\x55\
+\x66\xcb\xb9\xb0\xb3\x20\xc4\xa4\xb0\xe4\xbe\xc3\xa9\x94\x88\xb7\
+\x7f\xff\x23\x1c\xfc\xd3\x7f\x28\x0a\x19\x79\x75\xb2\xd9\x88\x18\
+\x16\x46\x56\x51\x51\x81\xaa\xaa\x2a\x49\xb8\xd4\xd4\xd4\xa4\xdd\
+\x56\x55\x55\x49\x1e\x99\x92\x92\x12\xa9\xd0\x07\x5f\x86\x99\xcf\
+\x97\x23\x11\x43\x10\x04\x89\x19\x82\x20\xf2\xce\x6d\xb7\xdd\x06\
+\x8f\xc7\x93\xb7\xf5\x4d\x4e\x4e\xa2\xb7\xb7\x17\x81\x40\x00\x93\
+\x93\x93\x08\x04\x02\x98\x98\x98\x48\x7b\xec\xf3\xf9\x10\x08\x04\
+\xe0\xf5\x7a\xa5\xcf\x95\x95\x95\xa1\xb6\xb6\xb6\xa0\xfb\xaa\xe4\
+\x95\xe1\x39\xf4\xca\x13\x79\x09\x37\x13\xe2\xb9\x87\x2e\x5d\x72\
+\xfd\x27\xa1\xd1\xea\xd3\xc6\x1e\x08\x04\x0a\x36\x37\xe5\xe5\xe5\
+\xd2\x7d\xb3\xd9\x8c\x0f\x7f\xf8\xc3\xd2\xe3\x90\xdf\x8b\x9e\xf7\
+\x0f\x2e\x9a\x73\x56\xf3\x41\x6f\x95\xfc\x8a\x82\x14\xe2\xd1\xf0\
+\x92\x0a\x3b\x1b\xee\x6c\xc2\x33\xdf\xbb\x1f\x47\x77\xfe\x56\x41\
+\x10\xab\x15\x43\xca\x58\x7f\x18\x5e\xc4\xf0\xb9\x30\xcc\x0b\xc3\
+\x42\xc8\xe4\x42\x86\xf7\xc6\xb0\xb0\x32\xa5\x12\xcc\xd9\xfa\xc9\
+\x30\x91\x45\x10\x04\x41\x62\x86\x20\x88\xbc\xa0\xd3\xe9\xf0\xa9\
+\x4f\x7d\x2a\x6f\xeb\x53\xa9\x54\x18\x1a\x1a\x82\x28\x8a\x52\x38\
+\x19\x9f\x27\x93\x4c\x26\x91\x4a\xa5\x20\x08\x02\x82\xc1\xf3\xe5\
+\x8c\x2f\xba\xe8\xa2\x82\xee\x67\x20\x10\xc0\x4b\x2f\x4d\x9f\xcc\
+\x3e\xde\xdf\x86\x8e\x13\x7b\xf3\x60\x18\x8b\x39\x1b\xc5\x26\x9b\
+\x0b\x17\x5f\x75\xbe\x4c\xb3\xdf\xef\x2f\x68\xee\x0c\x33\x6e\x19\
+\x19\xa1\x66\x0b\x5c\x08\x20\x43\xd0\x68\x75\x1f\xf4\xa2\xc9\xef\
+\x7a\x59\xd8\x19\x16\x71\xd8\x59\x24\x38\x89\x37\x9f\xfa\x1e\x9e\
+\xf9\xfe\xe7\x30\xd2\xfd\xbe\xa2\x90\xe1\x3d\x32\xcc\x1b\xc3\x12\
+\xfb\x95\x3c\x31\xe5\xe5\xe5\x52\x1e\xcc\x74\x02\xa6\xa2\xa2\x22\
+\xad\x62\x19\x1f\x56\xc6\x0b\x19\x79\x8e\x0c\x09\x19\x82\x20\x48\
+\xcc\x10\x04\x51\x30\x3e\xfe\xf1\x8f\x67\x94\xe8\xcd\x05\x51\x14\
+\x33\x42\xc8\xce\x1b\xfa\xe7\x72\x66\x82\xc1\x20\x92\x5c\x35\xa9\
+\xd5\xab\x57\x17\x74\x1f\x9f\x7f\xfe\xf9\x59\x55\x5b\x7b\x6f\xfb\
+\x53\x79\xa9\x72\x95\x0f\xef\xcc\xb6\x8f\x3f\x08\xb5\xfa\x7c\x59\
+\xe2\xc7\x1f\x7f\x3c\x4d\x00\xe6\x1b\xde\x3b\xb3\x79\xf3\x66\x94\
+\x95\x9d\xcf\xdb\xe9\x3c\xbe\x27\x2f\xbd\x74\xf2\x2f\x68\xcc\x79\
+\x37\x90\xc5\xa4\x80\x78\x34\xb4\x68\x42\xeb\x78\x91\x7c\xf2\xad\
+\xff\xc6\x53\x7f\xff\x09\x9c\xde\xfb\xa2\xa2\xe0\x92\x7b\x63\xe4\
+\x21\x65\x7c\x62\xff\x74\x9e\x18\x26\x60\xe4\x22\x86\x35\xc4\x64\
+\xbd\xa2\xe4\x22\x86\xf7\xc6\x90\x47\x86\x20\x08\x12\x33\x04\x41\
+\x14\x05\x83\xc1\x80\xfb\xee\xbb\x2f\xaf\xeb\x9c\x9c\x9c\x44\x3c\
+\x1e\xcf\x10\x31\xcc\x4b\x23\x6f\x96\x59\x68\x31\xf3\x9b\xdf\xfc\
+\x66\x56\xef\x9b\xf2\x0e\xe1\xcc\x81\x57\x73\x17\x33\x89\x58\xce\
+\x57\xf7\x1d\xa5\x35\x58\x7b\xe5\x79\xef\xcc\xc4\xc4\x04\x9e\x78\
+\xe2\x89\x82\xcd\x11\xcb\x75\x60\x86\xe7\xcd\x37\xdf\x7c\x7e\x7f\
+\x84\x04\x4e\xec\xfa\xfd\xe2\xfb\xc3\xd3\x68\x3f\xf0\xd0\xe4\x59\
+\xd0\x88\x22\xe2\xd1\xd0\xa2\xc9\xa3\x19\x6a\x3f\x85\xdf\xfd\xd3\
+\x5f\x61\xf7\xd3\xff\x82\x68\x28\x33\xdc\x90\x4f\xf0\xe7\x93\xfc\
+\x59\x63\x54\xb9\x37\x86\x55\x26\xe3\xab\x92\xcd\x24\x60\x58\x4e\
+\x8c\xdd\x6e\x4f\x13\x31\xac\xf4\x32\x9f\x1f\xc3\x7b\x64\x28\x57\
+\x86\x20\x08\x12\x33\x04\x41\x14\x9c\x3b\xef\xbc\x13\x76\xbb\x3d\
+\x6f\xeb\x63\x8d\x34\x79\x03\x4b\xfd\x41\x77\x72\x95\x4a\x95\x91\
+\xff\x51\xc8\x30\xb3\xe3\xc7\x8f\xa3\xb9\xb9\x79\xf6\xef\x7f\xf3\
+\xd9\xdc\xaf\xca\xa7\x52\x48\x0a\x89\x9c\xc7\xbe\xed\x8e\x87\xa4\
+\xae\xee\x00\xf0\xf3\x9f\xff\x1c\xa1\x50\xa8\x60\x73\xc5\x57\x36\
+\xbb\xe5\x96\x5b\xa4\x63\x06\x00\x87\xb7\x3f\x85\x68\xd0\xbf\x38\
+\x05\x8d\x31\xff\x1e\x9a\x54\x2a\x85\x44\x2c\xac\xd8\xb3\xa5\x58\
+\x84\x03\x3e\xbc\xfe\xe4\xff\x87\x67\xff\xe5\x01\x8c\xf6\xb4\x28\
+\x7e\xcf\xe4\x25\x97\xf9\xb0\x32\x79\x6e\x8c\xbc\x3a\x19\x13\x2f\
+\xd3\x85\x91\xc9\x05\x0c\xab\x52\xc6\x3c\x31\x72\x11\x43\xe5\x97\
+\x09\x82\x20\x31\x43\x10\x44\xd1\x31\x99\x4c\xb8\xf7\xde\x7b\xf3\
+\xba\xce\x58\x2c\x86\x50\x28\x04\xa7\xd3\x29\x19\x44\x2c\x49\x38\
+\x1a\x8d\xa6\xbd\xb7\x90\x9e\x99\x99\x12\xff\x33\x0c\xc8\xa9\x09\
+\x0c\x76\x9c\xca\x79\xbb\xb9\x96\x68\x06\x00\x57\x79\x1d\xd6\x6e\
+\xfb\x98\xf4\xd8\xe7\xf3\x15\xb4\xb2\x99\xc3\xe1\x80\xd1\x78\xae\
+\x5a\x58\x65\x65\x65\x9a\x77\x26\x1e\x0d\xe1\xe0\x9f\x7e\xb5\x28\
+\xcf\x5f\xb5\x5a\xf3\x41\xc8\x59\x7e\xd7\x9b\x4a\x01\x89\x58\x14\
+\x42\x3c\x5a\xd4\xfd\x89\x06\xfd\xd8\xff\xc7\x9f\xe2\x3f\xbf\x75\
+\x27\x9a\xf7\xfd\x49\xd1\xcb\x27\x17\x32\x7c\xc9\x65\x79\x58\x99\
+\x3c\xc1\x9f\x09\x19\x79\x8f\x18\xa5\x30\x32\xab\xd5\x9a\xe1\x85\
+\x99\x8d\x88\x21\x21\x43\x10\x04\x89\x19\x82\x20\x8a\xca\x5d\x77\
+\xdd\x05\xab\xd5\x9a\xd7\x75\xf6\xf5\xf5\x41\x10\x04\x29\x86\x9f\
+\x19\x3e\x7c\x98\x99\xc5\x62\x41\x55\x55\x55\x41\xf6\x29\x1e\x8f\
+\x67\x24\xfe\xcb\xc3\x5f\x94\x0c\xaf\xae\x93\xef\x2c\x0a\x31\x03\
+\x00\xdb\xee\xf8\x1b\xa8\x54\xe7\x7f\xda\x7f\xfa\xd3\x9f\xce\x2a\
+\xff\x67\xbe\xf0\x55\xe5\x3e\xff\xf9\xcf\x43\xaf\x3f\x5f\x55\xed\
+\xe4\x5b\x7f\x40\x60\x7c\x70\x71\xfe\xf9\x69\x34\xd0\xe6\xb9\x6c\
+\x33\x43\x48\xc4\xcf\x95\xdc\x2e\x70\x61\x80\x70\xc0\x87\x77\xfe\
+\xfb\xc7\xf8\x8f\x6f\xdc\x86\x43\xaf\x3e\x89\x78\x54\xd9\x0b\x27\
+\x6f\x84\xc9\x3c\x32\x4a\xf9\x31\x7c\x58\x19\x13\x32\xbc\x88\x61\
+\xa1\x64\xb9\x78\x61\x28\xa4\x8c\x20\x08\x12\x33\x04\x41\x2c\x38\
+\x16\x8b\x05\x9f\xff\xfc\xe7\xf3\xba\x4e\x51\x14\xd1\xde\xde\x9e\
+\x56\xd1\x4c\x9e\x33\x53\xc8\x10\xb3\x7d\xfb\xf6\x61\x6a\x6a\x6a\
+\x46\x21\x23\x37\xc0\xba\x4f\xef\x47\x2a\x95\x5b\xa8\x59\x2a\x4f\
+\x62\xc6\x5d\xd9\x80\xd5\x57\x9c\xf7\x90\x78\xbd\x5e\x3c\xf5\xd4\
+\x53\x05\x9b\x33\xab\xd5\x2a\x35\x53\x2d\x2d\x2d\xc5\x5d\x77\xdd\
+\x25\xbd\x96\x14\x04\xec\xfb\xe3\x4f\x17\xed\x39\xac\xd1\xea\xa1\
+\xd5\xe9\x0b\xb2\xee\x64\x52\xf8\xa0\xc1\x66\xfe\x0b\x03\x84\xfc\
+\x5e\xbc\xfd\xec\xff\xc1\x13\xff\xe3\x76\x1c\xde\xfe\x6b\x24\x62\
+\xe1\x19\x45\x0c\x13\x32\x7c\x7e\x8c\xc9\x64\x82\xd5\x6a\x95\xf2\
+\x63\x4a\x4a\x4a\xd2\x84\x0c\x5b\x58\x28\x59\x49\x49\x09\x5c\x2e\
+\x17\x1c\x0e\x07\xec\x76\x3b\xac\x56\x2b\xcc\x66\x73\x86\x17\x86\
+\x4f\xea\xa7\x9c\x18\x82\x20\x48\xcc\x10\x04\xb1\x68\xb9\xeb\xae\
+\xbb\xf2\x2e\x2e\x7c\x3e\x1f\x06\x06\x06\x24\x41\x13\x0a\x85\xd2\
+\x8a\x03\x14\x32\xc4\x6c\xfb\xf6\xed\x19\xc6\xa0\x3c\x8f\x47\x5e\
+\x3e\x16\x38\x17\x6a\xa6\x54\xf6\x76\xae\x42\x2e\x5f\x6c\xbb\xf3\
+\x21\xf0\x31\x54\x3f\xfd\xe9\x4f\x33\x42\xf5\xf2\x49\x55\x55\x95\
+\xd4\x38\xf3\xd3\x9f\xfe\x74\x5a\xd9\xe6\x96\x43\x3b\x15\xf3\x37\
+\x16\x0b\x5a\xbd\x11\x6a\x8d\xb6\x20\xeb\x16\xc5\x24\xe2\x91\x50\
+\xde\xbc\x6e\x53\x13\x23\x78\xeb\x77\xff\x0b\x4f\xfe\x8f\xdb\x70\
+\xf4\x8d\xff\x9a\x36\x9c\x8d\x0f\xe1\xe2\xbd\x31\x3a\x9d\x0e\x46\
+\xa3\x51\x51\xc8\xb0\xd0\x32\x7e\x61\x22\x86\x95\x55\xe6\x45\x0c\
+\xef\x85\xd1\x6a\xb5\x33\x7a\x61\x08\x82\x20\x48\xcc\x10\x04\xb1\
+\xb8\x7e\x40\xd4\x6a\x7c\xed\x6b\x5f\xcb\x8b\xa1\x92\xe2\x42\x72\
+\xba\xbb\xbb\x31\x31\x31\x81\x68\x34\x9a\xd6\x2c\x13\x28\x9c\x67\
+\x26\x95\x4a\x61\xe7\xce\x9d\x19\xfb\xc7\x1b\x83\x4a\x05\x0a\x18\
+\x3d\xcd\x87\x72\xdb\x7e\x9e\x0c\x5e\x00\x28\xa9\x5e\x85\x8b\x2e\
+\xbb\x51\x7a\x3c\x3a\x3a\x3a\xeb\x0a\x6d\xf3\x3d\x0f\xea\xea\xea\
+\xa0\x52\xa9\x60\xb5\x5a\xf1\x99\xcf\x7c\x86\x9f\x58\xbc\xfa\x8b\
+\x6f\x2d\xea\xf3\xb8\x10\x15\xce\xf8\xf3\x2a\x11\x0d\xcf\xbb\xc0\
+\x83\x10\x8f\xa1\xf5\xd0\xeb\x78\xe1\x47\x7f\x8b\x27\xbe\x71\x1b\
+\x8e\xef\x7a\x0e\x42\x22\x3e\xad\x88\x91\x87\x94\xf1\x89\xfe\x46\
+\xa3\x31\xad\x62\x99\xdb\xed\x56\x14\x32\x7c\x65\x32\xd6\xe4\x92\
+\x55\xb0\xe3\x4b\x2b\xb3\x1e\x31\xbc\x07\x46\x49\xf0\x13\x04\x41\
+\x90\x98\x21\x08\x62\x51\xb2\x66\xcd\x1a\xdc\x79\xe7\x9d\x79\x35\
+\xfe\x44\x51\xc4\xd9\xb3\x67\x31\x39\x39\x89\xc9\xc9\xc9\xb4\xd7\
+\xf9\xfe\x26\xf9\xe4\xf8\xf1\xe3\x69\xfd\x6e\xf8\x8a\x4f\x4a\xf7\
+\xe5\x62\x26\x57\xef\x43\x4a\x14\xf3\x9a\x63\xf1\xa1\x3b\xbf\x90\
+\xe6\x9d\xf9\xc9\x4f\x7e\x92\xe6\xe1\xca\x37\x56\xab\x15\x75\x75\
+\x75\x00\x80\xeb\xaf\xbf\x3e\xcd\x90\x9d\x1c\xe9\x45\xfb\xb1\xb7\
+\x16\xed\x39\xac\x52\xa9\xa0\xd5\x1b\x0a\xb6\xfe\x73\x95\xce\x22\
+\xb3\xaf\x74\x96\x4a\x61\xe0\xec\x31\xbc\xf9\xd4\xf7\xf0\xcb\x47\
+\x6e\xc2\x6b\xbf\xfc\x7b\x74\x9f\x7e\x77\xc6\xaa\x79\x4a\xde\x98\
+\x6c\x15\xcb\x58\xff\x18\x26\x64\xca\xca\xca\xa4\x85\x17\x31\x0e\
+\x87\x43\x4a\xea\x67\x9e\x98\x99\x72\x61\x08\x82\x20\x8a\x89\x96\
+\xa6\x80\x20\x88\x5c\x79\xf0\xc1\x07\xf1\xce\x3b\xef\xc0\xe7\xf3\
+\xe5\x6c\xf4\x31\x12\x89\x04\x46\x46\x46\x10\x8b\xa5\x37\x94\xf4\
+\x78\x3c\x05\xd9\x87\x1d\x3b\x76\xa4\x3d\x56\x8a\xf7\xe7\xc5\x96\
+\x4a\xa5\x82\x20\x08\xd2\x98\xbd\xfd\xed\x48\xa5\xc4\xb4\xe4\xfb\
+\xb9\x22\x8a\xc9\xbc\x85\x3c\x95\xd6\xae\xc6\xca\xcd\xd7\xa1\xe3\
+\xf8\x1e\x00\xc0\xf0\xf0\x30\x7e\xfb\xdb\xdf\xe2\xc1\x07\x1f\x2c\
+\xd8\x79\xe0\x76\xbb\x11\x8f\xc7\x71\xff\xfd\xf7\xa7\x1d\x4b\x00\
+\x38\xba\xf3\x69\xac\xda\x72\x43\x4e\xeb\x4f\xc4\xc2\xf0\x8f\x0f\
+\x62\xca\x3b\x8c\x29\xdf\x30\xa6\xbc\xc3\x08\x78\x87\x11\xf2\x8f\
+\x41\xa5\x52\x43\xa3\xd5\x41\xa3\xd5\x43\xa3\xd5\x41\xad\xd5\x41\
+\xab\xd3\x43\xad\xd1\x41\xa3\xd3\x41\xa3\xd1\x41\xa3\xd3\x7f\xf0\
+\xba\x16\x06\x93\x0d\x66\xbb\x0b\x66\xbb\x07\x66\x87\x07\x66\x9b\
+\x1b\x6a\xb5\x26\x6f\x21\x61\xca\xe3\x8f\x02\x29\x40\xa3\x90\xa7\
+\x13\x8f\x86\x30\xd8\x7e\x12\x7d\x67\x8e\xe0\xec\xe1\x37\xe1\x1f\
+\xeb\x9f\x93\x18\x63\xb7\x4a\xa5\x97\xf9\x1e\x32\xf2\xf2\xcb\x6e\
+\xb7\x1b\x1e\x8f\x47\x0a\x25\x9b\x4e\xc0\x64\xfb\x4e\x90\x80\x30\
+\xf1\xe9\x45\x00\x00\x20\x00\x49\x44\x41\x54\x21\x08\x82\xc4\x0c\
+\x41\x10\x4b\x1a\x8b\xc5\x82\xaf\x7c\xe5\x2b\xf8\xfe\xf7\xbf\x9f\
+\x97\xf5\x31\x43\x38\x1c\x0e\x67\x34\xcc\x74\xb9\x5c\x45\x11\x33\
+\x7c\x12\x33\x33\x0e\xf9\xc2\x04\xc9\x64\x12\x6a\xb5\x1a\xc9\xe4\
+\x39\xe3\x37\x1e\x0b\x63\x72\xb4\x1f\xae\xf2\xba\x45\x21\x66\x80\
+\x73\xde\x19\x26\x66\x00\xe0\xc7\x3f\xfe\x31\xee\xbf\xff\xfe\xb4\
+\x8a\x63\xf9\xe6\x9b\xdf\xfc\x66\x9a\x87\x8b\x31\xd0\x76\x02\x5d\
+\xa7\xf6\xa3\xf1\x92\xab\xe7\x34\x1f\x43\x1d\xa7\xd0\xd3\x74\x00\
+\xdd\x4d\x07\x30\xd2\xf5\x7e\x41\x12\xea\x19\x7a\xa3\x05\x26\x9b\
+\x13\x26\xbb\x1b\x16\x9b\x1b\x46\x9b\x03\x66\x9b\x1b\x66\xbb\x1b\
+\x26\x9b\x0b\x66\xbb\x1b\x66\xbb\x07\x16\x47\x09\x34\x5a\xdd\xfc\
+\x04\x4d\x3c\x0a\xa8\x54\x88\x47\x82\x18\x6c\x3f\x85\xfe\xb3\x47\
+\xd1\xdf\x72\x14\xa3\xbd\x2d\xf3\xea\x57\xa4\x94\xe4\xcf\xaa\x01\
+\x32\x8f\x8c\x92\x90\x61\x0d\x31\xd9\xc2\xaa\x93\xb1\x12\xcb\x7c\
+\x4e\x0c\xcb\x87\x91\xf7\x7f\x22\x11\x43\x10\x04\x89\x19\x82\x20\
+\x96\x0d\x37\xdc\x70\x03\x76\xec\xd8\x81\xa3\x47\x8f\xe6\x45\xc8\
+\xb0\xfb\x7c\x75\x31\xa0\x30\x9e\x99\xae\xae\x2e\xb4\xb4\x9c\x0f\
+\x13\x63\xc6\xa0\xdc\x88\x63\x62\x26\x99\x4c\x9e\x0b\x4d\xd2\x6a\
+\x25\x31\x03\x00\x63\xbd\xad\x39\x89\x99\x54\x9e\xbd\x02\xe5\x0d\
+\x17\x63\xc5\xa6\x6b\xd0\xf9\x41\xe9\xe8\xc1\xc1\x41\x3c\xf3\xcc\
+\x33\x78\xe0\x81\x07\x0a\x72\x0e\x7c\xff\xfb\xdf\xcf\x28\xa2\xc0\
+\xb3\xef\x8f\x3f\x41\xe3\xc6\xab\x30\x5d\x83\x17\x21\x11\xc7\x99\
+\x03\xaf\xa1\xeb\xe4\x3b\xe8\x3d\xf3\x1e\xe2\x91\x50\xd1\xce\xe1\
+\x78\x34\x84\x78\x34\x04\xff\xd8\xc0\x8c\xef\x35\x5a\x6c\x30\xdb\
+\x4b\x60\x71\x78\x60\x76\xb0\x5b\x0f\x74\x3a\x23\x52\x29\xf1\x83\
+\x05\x48\xa5\x44\xc4\xc3\x53\x98\xf2\x8d\x22\x38\x31\x82\xa9\x89\
+\x11\x04\x27\x46\x91\x88\xe5\x5e\x2e\x9b\xcf\x4f\xe1\xfb\xc7\xf0\
+\x15\xcb\x58\x8e\x0c\x2b\xbf\xec\x70\x38\xa4\x10\x33\xe6\x95\x71\
+\xb9\x5c\x19\x79\x31\xac\x3a\x19\xff\x1d\x20\x6f\x0c\x41\x10\x24\
+\x66\x08\x82\x58\xd6\x3c\xfc\xf0\xc3\x78\xe8\xa1\x87\x72\xce\xcd\
+\x48\xa5\x52\xd2\xc2\x8b\x05\xe0\x5c\x28\x53\xbe\x91\x7b\x65\x58\
+\x4e\x00\x0b\xd1\xd1\x6a\xb5\x92\xf1\x96\x4c\x26\x21\x08\x02\x54\
+\x2a\x15\x44\x51\x4c\x0b\x83\x1b\xeb\x6d\x4d\x2b\x8b\x3c\x57\xc4\
+\x64\xfe\xbd\x0e\xdb\xee\xfc\x1b\x49\xcc\x00\xc0\x63\x8f\x3d\x86\
+\xbf\xfa\xab\xbf\x82\x4e\xa7\xcb\xeb\x76\x7e\xf8\xc3\x1f\xe2\xb1\
+\xc7\x1e\x4b\x7b\xce\xe9\x74\x22\x95\x4a\x49\xde\xb5\xb1\xde\x56\
+\xb4\x1e\x7e\x03\x6b\xb6\xde\x92\xf1\xf9\x44\x2c\x82\x53\x6f\x3d\
+\x8f\x23\x3b\x7f\x83\x90\xdf\xbb\xe8\xcf\xf5\x68\x68\x0a\xd1\xd0\
+\x14\x7c\x43\x5d\x45\xdf\x36\x3b\x17\xf9\x3c\x2e\x25\x6f\x8c\xc9\
+\x64\x82\xd9\x6c\x86\xd5\x6a\x95\x9a\xd0\x32\xe1\xe2\x72\xb9\xd2\
+\xc2\xca\xe4\x55\xca\xf8\x12\xcb\x94\x13\x43\x10\x04\x89\x19\x82\
+\x20\x2e\x08\xaa\xab\xab\xf1\x99\xcf\x7c\x06\xbf\xfe\xf5\xaf\xe7\
+\x2c\x5e\xb2\x89\x19\x41\x10\xa4\xe7\xd5\x6a\x35\x1c\x0e\x47\xde\
+\xc7\x2d\xf7\x26\xb0\xbe\x19\x06\x83\x41\xca\x17\x60\x9e\x99\x64\
+\x32\x89\x78\x3c\x8e\x58\x2c\x06\xb5\x5a\x8d\x60\x30\x28\x8d\x7f\
+\xb4\xef\x6c\x4e\xe3\x10\x45\x21\xef\xfb\x56\xb9\x62\x23\xea\x37\
+\x5c\x89\x9e\xa6\x03\x00\x80\xfe\xfe\x7e\x3c\xf7\xdc\x73\xb8\xff\
+\xfe\xfb\xf3\xb6\x8d\xaf\x7e\xf5\xab\x78\xe6\x99\x67\xd2\xff\x5c\
+\xb4\x5a\x6c\xda\xb4\x09\xe1\x70\x18\x87\x0f\x1f\x96\x9e\x7f\xf7\
+\xc5\x5f\xe0\xa2\xcb\x3f\x02\xb5\x5a\x03\x00\x88\x85\xa7\x70\x62\
+\xf7\x73\x38\xfa\xc6\xef\x10\x0d\xfa\xe9\x4b\x34\x0b\x11\x03\x20\
+\xad\xb1\xac\x3c\x37\x86\xf7\xc6\x30\x21\xe3\x70\x38\xa4\xf0\x32\
+\x97\xcb\x05\xa7\xd3\x99\x16\x56\x66\xb1\x58\xd2\xfa\xc5\xb0\x75\
+\x33\xaf\x8f\x7c\xfb\x04\x41\x10\x8b\x05\xaa\x66\x46\x10\x44\x5e\
+\xf9\xcb\xbf\xfc\x4b\xd4\xd4\xd4\xcc\xeb\xb3\x4c\xc0\xf0\x02\x87\
+\xf7\x7c\xa8\xd5\xea\x34\xc3\x38\x1f\xec\xdd\xbb\x17\x87\x0e\x1d\
+\x4a\x33\xc2\x59\xf3\x3f\xd6\x8f\x83\x19\x86\xac\xcb\x39\x5f\x9a\
+\x56\xab\x3d\x7f\x4d\x68\x62\xa8\x2b\xa7\x04\xf2\xa4\x90\x28\x48\
+\xd7\xf8\x2b\xef\xfc\x42\xda\xe3\xc7\x1e\x7b\x2c\x4d\x24\xce\x97\
+\xce\xce\x4e\x5c\x7d\xf5\xd5\x19\x42\xc6\x60\x30\x60\xeb\xd6\xad\
+\x30\x9b\xcd\x52\x62\xb9\x34\x47\xc3\x3d\x68\xde\xf7\x27\x20\x95\
+\xc2\x91\x9d\x4f\xe3\x3f\xbe\x71\x2b\xf6\xbf\xf0\x73\x12\x32\x33\
+\x88\x18\x3e\xbc\x4b\xa3\xd1\x48\xe7\x9f\x3c\x8c\x8c\x85\x90\x79\
+\x3c\x1e\xa9\xdc\x32\x6b\x7e\x59\x59\x59\x99\xd6\x04\xd3\xe3\xf1\
+\xc0\xe9\x74\xa6\x89\x19\xb9\x47\x86\x84\x0c\x41\x10\x24\x66\x08\
+\x82\xb8\xa0\xd0\xe9\x74\x78\xe4\x91\x47\x72\x32\x7e\x78\x41\x93\
+\x48\x9c\xef\xcf\x21\x08\x02\x6e\xbf\xfd\x76\x7c\xf6\xb3\x9f\x45\
+\x7f\x7f\x7f\x4e\xe3\x3c\x74\xe8\x10\x3e\xf2\x91\x8f\xe0\x9e\x7b\
+\xee\x49\xf3\x0c\xb1\x84\x67\x16\xaa\x63\x34\x1a\x33\x16\xbe\xc7\
+\x06\x1f\xae\x25\x24\xe2\x98\x1c\xed\x43\x0e\x3b\x0e\x41\xc8\x7f\
+\xf9\xe4\xaa\x8b\x36\xa3\xee\xe2\xad\xd2\xe3\x9e\x9e\x1e\x3c\xfb\
+\xec\xb3\xf3\x5e\x5f\x7f\x7f\x3f\x1e\x78\xe0\x01\x6c\xdb\xb6\x0d\
+\xad\xad\xad\x69\xaf\x59\xad\x56\x5c\x79\xe5\x95\x69\x1e\x34\x79\
+\xa3\xd3\x03\x2f\xfe\x02\x2f\x3e\xf6\xff\x60\xef\xef\xff\x6f\x51\
+\x73\x62\x96\xa2\x80\x91\x57\x2a\x53\xa9\x54\x92\x07\x25\x5b\x52\
+\x3f\x2f\x62\x2a\x2b\x2b\xa5\x85\x17\x32\xac\x09\x26\x13\x32\xcc\
+\x23\xc3\xaa\x96\xb1\xd0\x32\x12\x32\x04\x41\x2c\xfa\xdf\xcb\x54\
+\xaa\x00\x97\x01\x09\x82\xb8\xe0\x79\xe2\x89\x27\x66\x6d\x30\xcb\
+\x73\x64\x92\xc9\x24\x12\x89\x04\xe2\xf1\x38\x9a\x9a\x9a\x20\x2a\
+\x54\x79\xd2\x6a\xb5\xb8\xf7\xde\x7b\xf1\x89\x4f\x7c\x02\xd7\x5c\
+\x73\x0d\x8c\x46\xe3\x8c\xdb\x19\x1b\x1b\xc3\xce\x9d\x3b\xf1\xe4\
+\x93\x4f\xa2\xa9\xa9\x49\xf1\x3d\x1e\x8f\x47\x4a\x82\x66\x9e\x18\
+\x83\xc1\x00\x8d\x46\x23\x89\xab\x68\x34\x8a\x70\x38\x8c\x50\x28\
+\x84\xb1\xb1\x31\x4c\x4c\x4c\x48\x9f\xbf\xfe\x33\xdf\xc4\xea\xcb\
+\x6f\x9a\xbf\x18\x34\x98\x60\x30\xdb\xf2\x7e\x3c\xfa\x5b\x8f\xe2\
+\x0f\x3f\x78\x48\x7a\xac\x56\xab\xf1\xe1\x0f\x7f\x18\x5f\xfa\xd2\
+\x97\x70\xe3\x8d\x37\xa6\x79\x98\x94\x68\x6e\x6e\xc6\xce\x9d\x3b\
+\xf1\xd2\x4b\x2f\xe1\xcc\x99\x33\x59\xe7\x6e\xcb\x96\x2d\x8a\xeb\
+\x3a\x72\xe4\x08\xc6\xc6\xc6\x72\x36\xf0\x8b\xc1\x42\xfd\x2d\x2a\
+\xed\x9f\x5c\xcc\xf0\x1e\x14\x26\xb6\xf9\xdc\x18\x3e\x3f\x86\xe5\
+\xc2\xb0\x5b\x9b\xcd\x26\xbd\xc7\x64\x32\x65\x78\x18\xe5\x7d\x63\
+\x48\xc8\x10\x04\x41\x62\x86\x20\x88\x0b\x16\x51\x14\xf1\x8d\x6f\
+\x7c\x03\x27\x4f\x9e\x9c\xb3\x98\x11\x04\x41\x12\x33\xad\xad\xad\
+\x33\x16\x14\xd0\x6a\xb5\xd8\xbc\x79\x33\xee\xbe\xfb\x6e\x6c\xde\
+\xbc\x59\x4a\x64\x1e\x19\x19\x41\x67\x67\x27\x3a\x3b\x3b\xb1\x7b\
+\xf7\x6e\x34\x35\x35\x4d\x6b\xa8\xaa\xd5\x6a\x54\x54\x54\xa4\x19\
+\x86\xd9\xc4\x4c\x28\x14\x42\x30\x18\xc4\xc4\xc4\x04\x06\x07\x07\
+\xa5\x75\x5c\x72\xfd\xbd\xf8\xd0\x9d\x7f\x93\x83\x41\xab\x86\xc5\
+\x59\x52\x90\x63\xf2\x9b\x6f\x7f\x12\xde\xc1\x4e\x45\x83\xb9\xb4\
+\xb4\x14\x35\x35\x35\x52\xa8\x92\xd1\x68\xc4\xd0\xd0\x10\x7a\x7a\
+\x7a\x30\x3c\x3c\x8c\x68\x34\x9a\x75\xbd\x06\x83\x01\x2b\x57\xae\
+\x44\x5d\x5d\x5d\x56\xe3\x37\x10\x08\x60\xff\xfe\xfd\x39\x0b\x97\
+\xe9\x8c\x6b\xf9\x6b\x73\xfd\x7b\x9b\xcf\xdf\x61\xae\x7f\xa1\x33\
+\x09\x18\x5e\xc8\x98\x4c\x26\xb8\x5c\x2e\x29\x97\x8b\x0f\x81\xb4\
+\x5a\xad\xb0\xd9\x6c\x92\x97\x86\x09\x1a\x5e\xc4\x28\x85\x49\xca\
+\x1b\x60\x52\xc5\x32\x82\x20\x96\x1a\x54\x00\x80\x20\x88\x82\xa0\
+\x56\xab\xf1\x9d\xef\x7c\x07\x5f\xfc\xe2\x17\x67\xdd\x4c\x53\xa9\
+\x10\x80\x46\xa3\x49\x33\xf2\x34\x1a\x4d\x46\xbe\x87\x20\x08\x38\
+\x72\xe4\x08\x8e\x1c\x39\x92\xd3\x98\x59\xa2\x3f\x7f\x85\x9a\x5f\
+\x52\xa9\x54\x46\x4f\x0f\xbd\x5e\x0f\x95\x4a\x75\xbe\x79\xe6\x60\
+\x47\x4e\x63\x48\xa5\x44\x24\x13\x71\xc5\xc6\x8a\xb9\x72\xf9\x6d\
+\x0f\xe0\xf5\x27\xfe\x51\x71\xde\x47\x47\x47\x31\x3a\x3a\x3a\xb7\
+\x3f\x10\xad\x16\x8d\x8d\x8d\x68\x6c\x6c\x4c\x3b\x4e\x4a\xd8\xed\
+\x76\x94\x95\x95\xcd\x79\x1b\x72\xa3\x7a\x3a\x43\x5b\xe9\xb9\xe9\
+\xc4\x86\xfc\x35\xfe\x38\xce\x76\x3d\x33\x09\xa8\xd9\x08\x82\x6c\
+\xfb\xc7\x2f\x3a\x9d\x0e\x95\x95\x95\x52\xa8\x23\x9f\xc7\xc5\x84\
+\x0c\x13\x2e\xfc\xad\x92\x88\x61\x45\x2d\xf8\x02\x02\x4a\x61\x6d\
+\x04\x41\x10\x24\x66\x08\x82\xb8\xa0\x71\xbb\xdd\xf8\xce\x77\xbe\
+\x83\x6f\x7c\xe3\x1b\x8a\xa1\x62\xd9\x8c\x46\x7e\x91\x0b\xa4\x6b\
+\xaf\xbd\x16\x6d\x6d\x6d\x18\x1c\x1c\xcc\x28\xdb\x3c\x17\x98\x71\
+\xdd\xde\xde\x9e\xb6\x7e\xb6\x5d\xd6\x4f\x26\x91\x48\x48\xcd\x31\
+\x55\x2a\x15\x04\x41\x90\x42\xe1\xd8\x3e\x69\xb5\x5a\x29\xb7\xc7\
+\xdb\xdf\x9e\xf3\xbc\xc5\xa3\x21\x98\x0a\x20\x66\xd6\x5f\x7d\x07\
+\x8e\xbf\xf9\x0c\x46\x7b\x5a\xe6\xbd\x0e\x95\x4a\x05\xa7\xd3\x89\
+\xf2\xf2\x72\x54\x57\x57\xcf\xa9\x01\x67\x63\x63\xe3\xb4\x62\x46\
+\x6e\xd4\x67\x7b\x9c\xcd\xe0\x66\x62\x44\x7e\x3b\x1b\x61\xa2\x24\
+\xa4\xf9\xfb\xb3\xf1\xfa\x28\xbd\x6f\x26\xf1\x93\xcd\x0b\xc3\x2f\
+\x1a\x8d\x06\xf5\xf5\xf5\x70\x38\x1c\x8a\xde\x18\x16\x5a\xc6\x3c\
+\x33\xcc\xab\xc8\x8b\x18\x96\x13\x23\xef\x1d\x23\x0f\x2b\x23\x21\
+\x43\x10\x04\x89\x19\x82\x20\x08\x8e\x4d\x9b\x36\xe1\xaf\xff\xfa\
+\xaf\xf1\xe4\x93\x4f\xce\xe9\x73\xcc\x58\xe4\x0d\xab\x54\x2a\x05\
+\x83\xc1\x80\x0d\x1b\x36\x60\xdd\xba\x75\x98\x98\x98\xc0\xd8\xd8\
+\x18\xc6\xc6\xc6\x10\x0c\x06\x67\x34\x22\xdd\x6e\x37\xca\xca\xca\
+\x50\x56\x56\x86\x54\x2a\x85\x50\x28\x3d\xf9\x9c\x5d\xa5\xe6\x17\
+\x3e\x04\x87\xbd\x87\x35\x27\xe4\xcb\xe2\x32\x31\x13\x0d\x4f\x61\
+\x6a\x62\x14\x36\x57\xd9\xbc\xe7\x2c\x29\x24\x90\x14\xe2\xd0\x68\
+\xf3\x2f\x68\xae\xfd\xd4\xd7\xf0\xfc\xbf\x7d\x31\x4d\xc0\x39\x9d\
+\x4e\x4c\x4d\x4d\x41\x10\x84\x34\x23\x5d\xa5\x52\xa5\xe5\x64\xb0\
+\xe4\xf2\xf9\xf6\xa8\x71\xbb\xdd\xb0\xdb\xed\x08\x04\x02\xb3\x36\
+\xe8\xd9\x18\x95\x0c\xfd\xe9\xc4\xc1\x6c\x3c\x2c\xf2\xca\x79\xd9\
+\x9e\x9b\xcf\xf3\xd3\x09\x98\xd9\x88\x18\xbe\x19\x66\x75\x75\x35\
+\x6a\x6a\x6a\x60\x36\x9b\x15\x85\x0c\x2f\x60\x98\x88\x61\x39\x31\
+\xac\x60\x05\xdf\x33\x29\x5b\xef\x18\x12\x31\x04\x41\x90\x98\x21\
+\x08\x82\x50\xe0\xd3\x9f\xfe\x34\x9a\x9a\x9a\xd2\x4a\x20\xcf\x46\
+\xc8\x4c\x77\xb5\x5c\xad\x56\xc3\xe3\xf1\xc0\xe3\xf1\x60\xed\xda\
+\xb5\x88\x44\x22\xf0\xf9\x7c\x48\x24\x12\x92\xe7\x44\xa3\xd1\x48\
+\xc6\x9f\xc9\x64\x92\x9a\x5c\x4e\x4d\x4d\x65\x54\x4a\x03\x90\x66\
+\xec\xb1\xfb\xbc\x68\x61\x1e\x1b\xfe\x39\x16\x6a\x16\x0e\x87\xa5\
+\xf5\xf8\x06\x3a\x72\x12\x33\x00\x10\x8f\x84\x60\xb2\xe5\x5f\xcc\
+\xd4\x5d\xbc\x15\x15\x8d\xeb\x31\xdc\xd5\x0c\xe0\x5c\x6e\xd3\x9a\
+\x35\x6b\x50\x5d\x5d\x0d\x8d\x46\x23\xcd\x09\xeb\x59\x92\x6b\xd2\
+\xbe\x9c\xc6\xc6\xc6\x8c\x3c\x2a\x5e\xb4\x28\x79\x26\x78\xc3\x5e\
+\xe9\x75\x25\xd1\x30\x9d\xf7\x25\x9b\x88\xc9\xf6\x3a\x7f\xab\xf4\
+\x19\x51\x14\xa7\x0d\x51\x9b\xce\x1b\x93\x6d\x7f\xd9\xe2\x72\xb9\
+\xb0\x71\xe3\xc6\x0c\x21\x23\x5f\x78\x2f\xcc\x4c\x22\x46\x9e\x1b\
+\x43\x42\x86\x20\x08\x12\x33\x04\x41\x10\xd3\xa0\x52\xa9\xf0\x3f\
+\xff\xe7\xff\xc4\x17\xbf\xf8\x45\x8c\x8c\x8c\x64\x15\x28\x72\x83\
+\x52\x1e\xb6\xa3\xf4\x1c\xc3\x64\x32\xa1\xba\xba\x5a\x71\xfb\xd1\
+\x68\x14\x5e\x6f\x66\x57\x79\x79\x61\x01\x56\x96\x96\x19\x7e\xfc\
+\x2d\x0b\x41\x13\x45\x31\xc3\x7b\x23\xaf\xa4\x36\xd6\xdf\x86\xfa\
+\x0d\x57\xe6\x34\x67\x85\xf4\xce\x5c\x71\xdb\x5f\xe3\x95\x9f\x7d\
+\x43\x7a\xdc\xd9\xd9\x89\xba\xba\x3a\xc5\xf9\x8b\x44\x22\x33\x7a\
+\xbd\xe6\x42\x65\x65\x25\x5a\x5b\x5b\xd3\x0a\x0a\xf0\x06\xbc\xdc\
+\x98\x97\x3f\x9e\x4e\xd0\xcc\x47\xcc\x28\x9d\x73\xd9\xee\x2b\x3d\
+\x4e\x24\x12\x19\xf9\x42\x4a\x5e\x45\xb9\x88\x91\x8b\x19\xa5\x7d\
+\x35\x1a\x8d\xb8\xfa\xea\xab\xe1\x76\xbb\xd3\x84\x0c\xcb\x95\x61\
+\x02\x86\x17\x31\x7c\x4e\x8c\x92\x88\x91\xf7\x8d\x21\x11\x43\x10\
+\x04\x89\x19\x82\x20\x88\x59\x60\xb3\xd9\xf0\x8f\xff\xf8\x8f\x78\
+\xf8\xe1\x87\x15\x1b\x36\x2a\x85\xfa\x28\x31\x9b\xbc\x84\x0c\x61\
+\xa0\x90\x5b\xa3\x56\xab\x33\x2a\x74\xf1\x06\x20\xdf\x47\x86\x19\
+\x84\x2c\x6f\x26\x99\x4c\xa6\x09\x1f\x83\xc1\x90\x76\x65\xbe\xeb\
+\xd4\x3e\x5c\xfe\xb1\xcf\xe5\x3c\x67\xb1\x70\x10\x66\xbb\x0b\x40\
+\x7e\x0d\xce\x55\x97\xdd\x00\x57\x45\x3d\x26\x86\x7b\x00\x00\x23\
+\x23\x23\x18\x1a\x1a\x42\x59\x59\x59\x46\x08\x59\x69\x69\x69\x5e\
+\xc5\x8c\x4a\xa5\x42\x43\x43\x03\x5a\x5a\xd2\xf3\x76\x78\x4f\x17\
+\x0b\xe3\xe3\x8b\x31\xb0\x24\x75\xbe\x2b\xbd\x52\x77\x7a\xa5\x7c\
+\x99\x99\x3c\x2d\xd9\xc4\x0a\xcb\x89\x62\xb7\xf2\xaa\x7b\xb1\x58\
+\x0c\x3a\x9d\x6e\x56\x15\xcd\xe4\xe2\x41\x2e\xca\xe4\xe2\x4d\xab\
+\xd5\xe2\x23\x1f\xf9\x08\x1a\x1a\x1a\x24\xc1\xc2\x97\x0b\x67\xa1\
+\x7f\xf2\xde\x47\x7c\xaf\x18\x3e\x2f\x86\x42\xca\x08\x82\x20\x31\
+\x43\x10\x04\x91\x23\x6b\xd7\xae\xc5\x97\xbf\xfc\x65\xfc\xe4\x27\
+\x3f\x99\xf1\xbd\xd9\xbc\x30\xf3\x29\x85\xab\x54\x7c\x40\xa3\xd1\
+\x64\x78\x07\x58\x29\x66\x56\x05\xca\x66\xb3\x49\x86\x22\x1b\x47\
+\x2c\x16\x93\x1a\x6b\xb2\x75\x27\x93\x49\x18\x8d\x46\x44\x22\x11\
+\x00\xe7\xba\xdc\xfb\x86\xba\xe0\xae\x6c\xcc\x69\xbe\xc4\xa4\x80\
+\x78\x24\x0c\xbd\xc9\x92\xd7\xe3\xa0\x52\xa9\x71\xf9\xad\x9f\xc7\
+\x9b\x4f\x7d\x4f\x7a\xae\xb3\xb3\x13\x35\x35\x35\xa8\xa8\xa8\x48\
+\x7b\xaf\xd1\x68\x84\xcd\x66\xc3\xd4\xd4\x54\xde\xb6\x5f\x5b\x5b\
+\x8b\xf6\xf6\x76\x49\xd4\x8a\xa2\x28\xcd\x29\x1f\xda\x27\xf7\x94\
+\xf1\xcb\x74\x82\x46\xe9\x7c\xe1\x43\xc1\x66\xb3\x88\xa2\xa8\x28\
+\x68\x44\x51\x44\x24\x12\x41\x28\x14\x92\x8a\x1f\x4c\x27\xc4\x95\
+\x8a\x18\x4c\x17\x56\xc6\x96\x9b\x6f\xbe\x19\x1b\x37\x6e\x94\x3c\
+\x2e\xf2\x10\x32\x76\x5e\xca\x4b\x2c\xcb\x43\x20\x49\xc4\x10\x04\
+\x41\x62\x86\x20\x08\x22\x8f\xdc\x75\xd7\x5d\x38\x7d\xfa\x34\xf6\
+\xec\xd9\x93\x55\xc4\xcc\x24\x4c\x66\x2a\x03\x3c\x9b\x75\xca\x3d\
+\x33\xcc\x78\x66\x57\xb7\x99\x91\xc8\x6e\xd5\x6a\x75\xda\x15\x7a\
+\x66\x40\xb2\xea\x50\x56\xab\x55\x12\x33\x00\xd0\x71\xe2\xed\x9c\
+\xc5\x0c\x00\xc4\xa3\x61\x68\xf5\x06\xa8\x35\xf9\xfd\xb9\x5e\x77\
+\xd5\xed\x78\xf7\xc5\x9f\x23\x34\x39\x0e\x00\x18\x18\x18\xc0\xc8\
+\xc8\x08\x4a\x4b\x4b\x33\xe6\xb7\xb4\xb4\x34\xaf\x62\x46\xab\xd5\
+\xa2\xa6\xa6\x06\xdd\xdd\xdd\x69\xc2\x95\x35\x83\x64\x1e\x31\x66\
+\xa0\xcb\x45\x8d\x52\x18\x9a\x92\xa1\x9e\x2d\xb1\x7f\x36\x22\x46\
+\x2e\x68\xd8\x73\x7e\xbf\x1f\xc9\x64\x12\x06\x83\x61\xda\x1c\x1c\
+\x25\x41\x33\x53\x3e\x10\x5b\xae\xbf\xfe\x7a\x5c\x77\xdd\x75\x52\
+\xf1\x05\x26\x5c\x78\x0f\x8c\x52\x28\x19\x89\x18\x82\x20\x48\xcc\
+\x10\x04\x41\x14\x81\x6f\x7e\xf3\x9b\xf0\x7a\xbd\x38\x7d\xfa\x74\
+\x56\x23\xb0\xd8\x9e\x19\xde\x2b\xc0\x0c\x68\xb9\xf1\xcc\x44\x10\
+\x0b\x7b\xe2\x17\x8b\xc5\x82\xf1\xf1\x71\x69\x7c\x9d\xc7\xdf\xc6\
+\x15\xb7\x3e\x90\x87\xd9\x4a\x21\x1a\x9e\x82\xd9\xea\x04\xf2\x68\
+\x90\x6a\xb4\x7a\x6c\xb8\xe6\x2e\x1c\x7a\xe5\x09\x69\x5e\x3b\x3b\
+\x3b\x51\x5d\x5d\x8d\x92\x92\xf4\xa6\x9d\x06\x83\x01\x0e\x87\x03\
+\x7e\xbf\x3f\x6f\xdb\x6f\x68\x68\x90\xc4\x0c\x70\x2e\x7f\x89\x35\
+\x28\x65\x82\x92\x09\x45\xb9\xc1\xce\x87\x9d\x4d\xd7\xad\x7e\x3a\
+\x31\xc3\xee\xf3\x42\x65\x3a\x41\x93\x4a\xa5\x30\x36\x36\x86\x78\
+\x3c\x3e\xad\x90\xc9\xe6\x99\x99\x29\x4f\x86\xdd\x6e\xdb\xb6\x0d\
+\x77\xdf\x7d\x77\x9a\xd7\x45\x1e\x42\x96\xcd\x0b\x43\x22\x86\x20\
+\x08\x12\x33\x04\x41\x10\x45\xc0\x60\x30\xe0\x9f\xff\xf9\x9f\xf1\
+\xf5\xaf\x7f\x1d\x6d\x6d\x6d\x8a\x42\x26\xab\x69\x9f\xa7\x2e\xed\
+\x2a\x95\x2a\xad\x00\x00\x7f\xf5\x5f\xc9\x48\x9c\x4e\xcc\xa8\xd5\
+\x6a\xa9\xfa\x17\x13\x48\xfe\xf1\x41\x8c\xf6\xb6\xa0\xac\x6e\x6d\
+\xce\xf3\x25\x0a\x09\x44\x43\x01\x18\xad\x8e\x9c\xd6\x13\xf0\x0e\
+\xa1\xf7\xfd\x43\x18\x38\x7b\x1c\xfd\xad\xc7\xe0\x1f\xeb\x4f\x7b\
+\xbd\xb7\xb7\x17\x23\x23\x23\x70\xbb\xdd\xd2\xfe\x32\x4a\x4a\x4a\
+\x10\x08\x04\x72\xee\x78\xcf\x60\xdd\xec\x27\x26\x26\x00\x9c\x2b\
+\xd2\x60\x30\x18\x60\xb5\x5a\x15\x93\xd8\x67\x32\xdc\xa7\x33\xda\
+\x67\x2a\x32\x31\x1b\x6f\xcd\xc0\xc0\x80\x34\x46\xa5\xf5\x4c\x77\
+\x6e\xce\xa6\x7a\x99\x4a\xa5\xc2\x86\x0d\x1b\xf0\xe0\x83\x0f\xc2\
+\x68\x34\xa6\x79\xa7\x66\x9a\x07\x12\x31\x04\x41\x90\x98\x21\x08\
+\x82\x28\x32\x16\x8b\x05\x3f\xf8\xc1\x0f\xf0\xd5\xaf\x7e\x15\xfd\
+\xfd\xfd\xb3\x37\xec\x67\xd9\x7c\x73\xa6\xcf\xc8\x8b\x10\x68\xb5\
+\x5a\xc9\x00\x64\x79\x30\x82\x20\x48\xb9\x31\x2c\xcc\x4c\x10\x04\
+\xa9\xfc\x33\xbb\x6a\xcf\x1b\xe8\xbc\xb7\xe7\xe8\xce\xdf\xe2\xd6\
+\x2f\xfc\x73\x5e\xe6\x4b\x48\xc4\xce\x09\x1a\x8b\x7d\x4e\x9f\xf3\
+\x0d\x75\xa3\xed\xe8\x6e\xb4\x1d\xd9\x8d\xd1\x9e\x33\xd3\xbe\x37\
+\x99\x4c\xa2\xab\xab\x0b\x55\x55\x55\x70\xb9\x5c\x69\xaf\xe9\xf5\
+\x7a\x38\x9d\x4e\x49\x7c\xe4\x83\x8a\x8a\x8a\xb4\xf5\x05\x83\x41\
+\x94\x96\x96\xa6\x79\x66\x98\xc8\xe4\x05\x24\x1f\x5a\xc6\x4a\x66\
+\xf3\x89\xff\xcc\x98\x97\x97\x4c\x66\xaf\xb3\xe7\xf9\xb0\x41\xf9\
+\x2d\x4b\xf2\x17\x45\x11\xfd\xfd\xfd\x08\x87\xc3\x19\x39\x32\xf3\
+\x11\x33\xd9\x44\x4d\x63\x63\x23\xbe\xfe\xf5\xaf\xc3\x62\xb1\x64\
+\x08\x97\xd9\x08\x18\x12\x31\x04\x41\x90\x98\x21\x08\x82\x28\x32\
+\x4e\xa7\x13\xff\xf6\x6f\xff\x86\x87\x1f\x7e\x38\x6b\x67\xf8\x7c\
+\x84\x99\x29\x7d\x46\xde\x63\x46\xa3\xd1\x40\x10\x04\xc4\xe3\x71\
+\xc4\x62\x31\x49\xc4\x08\x82\x20\x19\xd0\xa9\x54\x0a\x82\x20\x20\
+\x16\x8b\x49\x4b\x3c\x1e\x87\x20\x08\x52\x12\x3b\x9f\x5b\xd3\xd7\
+\x72\x04\x43\x1d\xa7\x50\xb9\xf2\x92\xfc\x08\x9a\x78\x14\x31\xb5\
+\x1a\x06\x93\x75\xda\xf7\x4d\x4d\x8c\xe0\xf4\xdb\x2f\xa0\xed\xf0\
+\x2e\x78\x07\x3b\xe7\xb4\x8d\xee\xee\x6e\xac\x5e\xbd\x1a\x4e\xa7\
+\x33\x63\xee\x4b\x4a\x4a\x30\x39\x39\x99\x37\xef\x4c\x45\x45\x05\
+\xce\x9c\x39\x2f\xb0\xbc\x5e\x2f\x1a\x1b\x1b\xd3\x44\x28\xab\x44\
+\xc7\x3c\x24\xac\xa2\xdc\x4c\x55\xcc\xf8\xb1\xf3\xa2\x86\x17\x33\
+\x72\xb1\x2b\x17\x3d\xd1\x68\x14\x03\x03\x03\x52\xf5\xba\x99\x04\
+\xcc\x5c\xc4\x0c\x2f\x6a\xca\xca\xca\xf0\xe8\xa3\x8f\xc2\xed\x76\
+\x67\x84\x2f\x2a\x15\x07\x50\x12\x2f\x24\x62\x08\x82\x20\x31\x43\
+\x10\x04\xb1\x00\x94\x97\x97\xe3\x5f\xff\xf5\x5f\xf1\xc8\x23\x8f\
+\xcc\x2a\x27\x23\x5f\x39\x33\x4a\x3d\x66\x94\x42\x96\x94\xc2\x89\
+\x78\x03\x52\x9e\x88\x6e\x32\x99\x10\x0a\x85\xa4\xcf\x1f\x7a\xf5\
+\x49\xdc\xf5\xf0\x8f\xf3\x36\x5f\x89\x68\x18\x2a\x95\x0a\x7a\x63\
+\x66\x85\x33\xef\x40\x07\x0e\xef\xf8\x0d\x5a\x0e\xee\x80\x98\x14\
+\xe6\xb5\xfe\x78\x3c\x8e\xce\xce\x4e\x54\x54\x54\xc0\x6e\x4f\xf7\
+\x02\x69\xb5\x5a\xb8\x5c\x2e\xf8\x7c\xbe\xbc\xec\x8b\xd1\x68\x4c\
+\x0b\x35\x63\xcd\x4c\x59\x88\x59\xb6\xca\x5c\xbc\x10\x98\x4e\x34\
+\xf0\x42\x95\x87\x09\x21\x76\x3c\x59\x0f\x21\xfe\x98\x4f\x4e\x4e\
+\x62\x74\x74\x14\x2a\x95\x4a\x12\xb6\x73\x15\x31\xd9\x44\x39\x3f\
+\x4e\xab\xd5\x8a\x7f\xfa\xa7\x7f\x42\x75\x75\xb5\xa2\x68\x99\x4b\
+\xa3\x50\x82\x20\x08\x12\x33\x04\x41\x10\x0b\x40\x6d\x6d\x2d\xbe\
+\xf7\xbd\xef\xe1\x5b\xdf\xfa\x56\x46\x4f\x13\xb9\xb1\x36\x9f\x30\
+\x33\x25\x63\x53\x2e\x66\x58\xc5\xb2\xd9\x84\xf1\x28\x95\xd3\x65\
+\x06\x37\x2b\xd1\xcc\xc6\x39\xda\xd3\x82\x9e\xa6\x03\x39\x37\xd1\
+\x4c\x1b\x7b\x24\x04\x95\x4a\x0d\x9d\xc1\x04\x00\x18\x38\x7b\x0c\
+\x87\xb7\xff\x06\x9d\xa7\xde\x01\xf2\xe0\x35\xe9\xea\xea\xc2\x9a\
+\x35\x6b\x32\xc4\x0c\x00\x78\x3c\x1e\x4c\x4e\x4e\xce\xeb\x38\x28\
+\x51\x59\x59\x29\x89\x19\x96\x64\xef\xf1\x78\x32\x0a\x30\xe4\xdb\
+\x98\xcf\x56\x74\x42\xa5\x52\xa1\xaf\xaf\x0f\xa1\x50\x48\x51\xc4\
+\xe4\x2a\xac\xf9\xf1\xea\x74\x3a\x7c\xf7\xbb\xdf\xc5\xaa\x55\xab\
+\xd2\xf6\x71\x26\xe1\x46\x02\x86\x20\x08\xe2\x3c\x6a\x9a\x02\x82\
+\x20\x16\x03\x17\x5d\x74\x11\xfe\xfe\xef\xff\x3e\xcd\x80\x54\x32\
+\xdc\xf2\x11\x66\xa6\x52\xa9\x10\x8b\xc5\xd2\x9e\xd3\xe9\x74\x33\
+\x76\x99\x57\x12\x32\x4a\xe1\x40\x46\xa3\x31\x6d\xdd\x87\x5e\xfb\
+\x4f\x88\x0a\x8d\x3b\x73\x21\x16\x9e\xc2\x94\x77\x18\x3b\x7e\xf5\
+\x6d\xfc\xfe\x5f\x1f\x44\xe7\xc9\xbd\x79\x11\x32\x00\x10\x89\x44\
+\xd0\xd9\xd9\x99\xe6\x61\x62\x68\xb5\x5a\xb8\xdd\xee\xbc\xed\x87\
+\xbc\xaf\xcd\xd0\xd0\x50\xd6\xde\x32\xbc\xb0\x99\xcd\x71\x9a\xed\
+\x31\x64\x8f\x05\x41\x40\x57\x57\x17\xa2\xd1\xa8\x14\x5a\x38\x5d\
+\x2f\x98\x5c\x16\x8d\x46\x83\x6f\x7d\xeb\x5b\xb8\xf4\xd2\x4b\x15\
+\xfb\xc4\xcc\x24\xaa\x09\x82\x20\x08\x12\x33\x04\x41\x2c\x22\x54\
+\x2a\x15\x36\x6e\xdc\x88\xbf\xfb\xbb\xbf\x4b\xab\xa4\x95\xab\x67\
+\x46\xe9\xfd\xf2\x1e\x33\xc0\xb9\x0a\x6b\x4a\xc6\x33\x9f\x7c\x2e\
+\x17\x30\xf2\x72\xce\xac\xe3\x3a\xf3\xf2\x30\x26\x47\x7a\x71\x7c\
+\xd7\x33\x79\x9d\xaf\xe1\xae\x26\x3c\xf7\x2f\x0f\xe0\xcc\x81\xed\
+\x05\x39\x1e\x9d\x9d\x9d\x59\xc3\xc9\x58\x6e\x47\x3e\x30\x18\x0c\
+\x69\xc5\x06\x7c\x3e\x1f\x12\x89\x84\x62\x65\x39\xb6\xb0\xa2\x00\
+\x72\xd1\xa3\x94\x30\x9f\x4d\x14\xc9\xd7\x17\x0a\x85\xd0\xdd\xdd\
+\x9d\x56\x18\x62\x2e\x82\x68\x3a\x61\x25\x7f\x8f\x4e\xa7\xc3\xb7\
+\xbf\xfd\x6d\xdc\x78\xe3\x8d\x8a\xe7\x98\x52\x78\x19\x41\x10\x04\
+\xa1\x0c\x85\x99\x11\x04\xb1\x28\x84\x0c\xe3\xf2\xcb\x2f\xc7\x67\
+\x3f\xfb\x59\x3c\xf9\xe4\x93\x8a\xef\x9d\xab\x67\x46\xe9\xfd\xf2\
+\x1e\x33\x6a\xb5\x1a\x06\x83\x01\x16\x8b\x05\x36\x9b\x0d\x56\xab\
+\x15\x16\x8b\x45\x2a\x11\xcc\x8c\x4b\x96\x84\x1e\x8d\x46\x91\x48\
+\x24\xa4\x3e\x28\x7c\x72\xba\x20\x08\x48\x26\x93\x30\x1a\x8d\x08\
+\x87\xc3\xd2\x36\x8e\xef\x7a\x0e\x0d\x1b\xae\x82\xa7\x7a\x65\x4e\
+\x73\x25\x8a\x49\x1c\x7d\xfd\xb7\x38\xb1\xfb\xf7\x48\xe5\x29\xd4\
+\x4b\x89\xa9\xa9\x29\x74\x75\x75\xa1\xac\xac\x4c\x2a\x47\xcc\xcf\
+\x9f\xc7\xe3\xc9\x5a\xb4\x61\xae\xc8\x43\xcd\x46\x47\x47\x51\x5f\
+\x5f\x2f\x89\x19\x7e\xfe\xd9\x2d\x4b\xe4\xd7\x68\x34\x19\x09\xfe\
+\xec\x7d\x4a\x89\xff\xf2\xcf\x27\x93\x49\xb4\xb5\xb5\x61\x62\x62\
+\x62\x4e\xa2\x21\x5b\xb9\xef\xd9\x88\xb7\xef\x7e\xf7\xbb\xd8\xba\
+\x75\xeb\x9c\x3f\x4b\x10\x04\x41\x64\x42\x9e\x19\x82\x20\x16\x9d\
+\xa8\xb9\xf2\xca\x2b\x71\xe7\x9d\x77\x2a\x5e\x95\x9e\xab\x98\x99\
+\x4d\xc3\x4c\xb5\x5a\x8d\xf1\xf1\x71\x84\xc3\xe1\xb4\x26\x8d\xcc\
+\x03\x20\xef\xf5\xc1\x12\xd4\x59\x33\x43\xa3\xd1\x98\xd6\xe4\x51\
+\xab\xd5\x4a\xf7\xa5\x71\x24\x05\xec\x79\xf6\x7f\xe7\x14\x6e\x96\
+\x4c\x0a\xd8\xf1\xab\x7f\xc0\xf1\x37\x9f\x9d\x51\xc8\xcc\xd6\x9b\
+\xa0\x54\x21\x8b\xd1\xd9\xd9\x09\xaf\xd7\xab\xb8\x7e\x97\xcb\x95\
+\x11\x12\x38\x5f\xe4\xa1\x66\x03\x03\x03\x50\xab\xd5\x92\x57\x85\
+\xcd\xbb\xbc\x89\xa6\x5e\xaf\x4f\x7b\x5d\xe9\xb8\xc9\xdf\xcf\x3f\
+\x1e\x1f\x1f\xc7\xb1\x63\xc7\xe6\x55\x6e\x7a\x3e\xa1\x6d\x56\xab\
+\x15\x3f\xfc\xe1\x0f\xb1\x6d\xdb\x36\x0a\x1d\x23\x08\x82\x20\x31\
+\x43\x10\xc4\x72\x16\x34\xdb\xb6\x6d\xc3\x9d\x77\xde\x99\xd1\xbc\
+\x71\xae\x61\x66\xd9\xae\xa0\xf3\x39\x33\x2c\x64\x6a\x7c\x7c\x1c\
+\x03\x03\x03\x10\x04\x61\xc6\xe4\x7f\x79\x18\x93\x52\xce\x03\xf3\
+\xea\x30\xbc\x83\x9d\xf3\x0f\x37\x4b\xa5\xf0\xf6\x33\x3f\xc4\xc0\
+\xd9\x13\xb3\x32\xb0\xe5\xcf\xc9\xf3\x43\xb2\x55\xcd\xe2\xf1\xf9\
+\x7c\xe8\xed\xed\xcd\x28\x63\xcd\x04\xa0\xc7\xe3\xc9\xcb\x31\x67\
+\xcd\x32\x19\x63\x63\x63\x10\x45\x51\xea\xe3\x33\x53\x1f\x97\xb9\
+\x12\x0c\x06\x71\xec\xd8\x31\xb4\xb5\xb5\x65\xf4\x1b\x2a\x14\x4e\
+\xa7\x13\x3f\xfa\xd1\x8f\xb0\x61\xc3\x06\xfa\x92\x13\x04\x41\x90\
+\x98\x21\x08\x62\x39\x09\x97\x6c\x46\xf9\xaa\x55\xab\xb0\x7e\xfd\
+\xfa\x19\xc5\xc9\x74\x28\x89\x1f\x79\xb3\x4b\x3e\xd9\x7b\x6a\x6a\
+\x0a\x2d\x2d\x2d\x18\x1a\x1a\xca\x2a\x84\xe4\x82\x86\x17\x32\xf2\
+\x3c\x0f\xd6\x9f\x84\x71\x7c\xd7\x73\xf0\x0e\x74\xcc\x79\xae\x0e\
+\xbd\xf6\x14\xda\x8f\xef\x99\x76\xbe\xb2\x09\x18\x3e\xd7\x67\xba\
+\xc4\x7a\xb6\xf0\x74\x74\x74\x64\xcd\x9d\x71\xb9\x5c\x19\xfb\x37\
+\x5f\xf8\xca\x69\xc1\x60\x10\xc1\x60\x50\x12\x32\xbc\xa0\xc9\x85\
+\x64\x32\x89\xf6\xf6\x76\x1c\x3b\x76\x0c\x53\x53\x53\x45\x3b\xcf\
+\xcb\xcb\xcb\xf1\xef\xff\xfe\xef\x58\xb5\x6a\x15\x7d\xe9\x09\x82\
+\x20\x48\xcc\x10\x04\x71\x21\x21\x2f\x0f\x9c\x8f\x02\x00\x4a\x0d\
+\x33\x79\x11\x20\x8a\x22\x06\x06\x06\x70\xfc\xf8\x71\x8c\x8f\x8f\
+\x4f\x5b\x96\x99\x89\x17\x79\x28\x1a\x2b\x06\xc0\xc4\x83\x34\x9e\
+\x79\x84\x9b\xbd\xff\xee\xab\x38\xf9\xe7\xdf\x4f\x2b\x62\xe4\x63\
+\xe3\x85\x8a\x5c\x68\x29\x8d\x95\x4f\x42\xe7\x19\x19\x19\x41\x5f\
+\x5f\x9f\xa2\x77\x46\xa5\x52\xa1\xa4\xa4\x24\x2f\xc7\xd9\xe1\x70\
+\xa4\x3d\x1e\x1a\x1a\x42\x32\x99\xcc\x10\x32\xf3\xcd\x99\x1a\x1b\
+\x1b\xc3\x7b\xef\xbd\x87\x81\x81\x81\xbc\x79\x78\x66\x43\x5d\x5d\
+\x1d\x7e\xfc\xe3\x1f\xa3\xba\xba\x9a\xbe\xcc\x04\x41\x10\x05\x80\
+\x0a\x00\x10\x04\xb1\x28\x61\xc6\xb9\xdc\xb8\xce\x47\x01\x00\x25\
+\x31\xa3\x14\x56\x16\x8f\xc7\xd1\xda\xda\x8a\xa1\xa1\x21\xac\x58\
+\xb1\x02\x66\xb3\x19\x82\x20\x40\x14\x45\x29\xd1\x9f\xef\x50\x2f\
+\xef\x39\xc3\x0b\x1e\xde\x1b\xe4\x1d\xec\xc4\xb1\x5d\xbf\xc3\xe5\
+\xb7\x7c\x6e\xc6\xf1\xf7\xbe\x7f\x08\xfb\x5f\xf8\xd9\x8c\x73\xc5\
+\x6e\xe5\x61\x63\xd9\x4a\x19\xf3\x62\x8f\x5f\x92\xc9\x24\x34\x1a\
+\x8d\xb4\x5f\x00\xd0\xde\xde\x8e\xaa\xaa\x2a\x54\x55\x55\x29\x8a\
+\x10\xaf\xd7\x9b\xd1\xb7\x27\x57\x31\x33\x38\x38\x88\xba\xba\x3a\
+\x24\x93\x49\xa9\xa1\x29\x3f\x7e\x96\xc4\xcf\xf6\x5b\x29\xd9\x5f\
+\xa3\xd1\x48\x4d\x40\xe7\x93\x17\x93\x2b\xab\x57\xaf\xc6\x0f\x7e\
+\xf0\x83\x8c\x7d\x23\x08\x82\x20\x48\xcc\x10\x04\xb1\x8c\x05\x0c\
+\x6f\x6c\xe7\x2a\x66\x94\x3c\x33\x72\xc3\x9b\x89\x19\x25\x81\x00\
+\x9c\x0b\x7b\x3a\x79\xf2\x24\xdc\x6e\x37\xca\xca\xca\xd2\x2a\x97\
+\xc5\x62\x31\xc4\x62\x31\x08\x82\x00\x41\x10\x24\x4f\x82\x5c\x1c\
+\x69\x34\x9a\xb4\xfc\x8c\x13\xbb\x7e\x8f\xc6\x0d\x57\x4f\x5b\xdd\
+\x4c\x4c\x26\xb1\xff\x85\x9f\x29\x26\xfb\xcb\x3d\x32\xb3\xed\x87\
+\xc2\xcf\x2f\x1b\x6b\x32\x99\x94\x04\x5a\x2a\x95\xca\x10\x33\x83\
+\x83\x83\xe8\xed\xed\x85\xdb\xed\xce\xe8\xa1\xa3\x52\xa9\x50\x5a\
+\x5a\x8a\x81\x81\x81\x9c\x8e\xbd\xdd\x6e\x97\xc4\x08\x70\xce\x33\
+\xe3\xf7\xfb\xa1\xd3\xe9\xa0\xd7\xeb\xa5\x39\x54\x2a\x08\xc1\x7f\
+\x0e\x80\x54\xb1\xcc\xe7\xf3\x61\x74\x74\xb4\xa8\x9e\x18\xc6\xa6\
+\x4d\x9b\xf0\xfd\xef\x7f\x1f\x66\xb3\x99\xbe\xd8\x04\x41\x10\x05\
+\x84\xc2\xcc\x08\x82\x58\x34\x42\x46\x49\xd8\xc8\xc5\x4c\x3e\x0a\
+\x00\xc8\x1b\x66\x66\xf3\xcc\xc8\xc7\xe3\xf3\xf9\xd0\xd6\xd6\x86\
+\x40\x20\x20\xe5\x96\x30\x81\xc0\x87\x73\xb1\x6a\x5a\xf2\x06\x88\
+\x69\x1e\x91\xa4\x80\x3d\xcf\xfe\x70\xda\x70\xb3\xd6\xf7\x76\x62\
+\xca\x37\x92\x55\xf0\x29\xe5\xc3\xb0\xf0\x31\x56\x5d\xcd\x60\x30\
+\xc0\x68\x34\xc2\x64\x32\xc1\x64\x32\xc1\x6c\x36\x4b\x8b\xc9\x64\
+\x82\xd1\x68\x84\xd1\x68\x4c\x0b\x3b\x63\xe1\x69\x69\x63\x69\x6d\
+\xcd\x5a\x8a\xd9\x6e\xb7\x67\x94\x6f\x9e\x2b\x1a\x8d\x26\xcd\xf0\
+\x9f\x98\x98\x48\x13\x59\x4c\x40\xb2\xe7\xf8\x02\x01\xbc\xd7\x4b\
+\x14\x45\x8c\x8c\x8c\xe0\xcc\x99\x33\x18\x19\x19\x59\x10\x21\x73\
+\xcd\x35\xd7\xe0\x07\x3f\xf8\x01\x09\x19\x82\x20\x88\x22\x40\x9e\
+\x19\x82\x20\x16\xb5\xb0\x91\x27\xa4\xe7\xea\x99\x51\x6a\x98\xc9\
+\x4a\x0c\x67\x4b\xa4\xe7\x3f\x2b\x8a\x22\x86\x86\x86\xe0\xf5\x7a\
+\xe1\x72\xb9\x60\x30\x18\x32\x44\x44\x22\x91\x80\x4e\xa7\x93\xbc\
+\x35\xac\x17\x8a\x56\xab\x4d\x0b\x71\xf3\x0e\x76\x65\x0d\x37\x4b\
+\x26\x05\x1c\x7f\xf3\x59\xc5\x79\xc9\x26\x66\xf8\x1c\x9d\x6c\x4d\
+\x27\xf9\x7d\xe2\x3d\x4c\x7c\xf2\x7f\x2a\x95\x82\x4e\xa7\x4b\x0f\
+\x8d\xf3\x7a\xd1\xdd\xdd\x0d\xb7\xdb\x9d\x56\x79\x8c\x51\x5a\x5a\
+\x8a\xfe\xfe\xfe\x9c\x8e\xbb\xc3\xe1\x40\x28\x14\x02\x00\x44\xa3\
+\x51\x84\x42\x21\xa9\x8f\xcf\x74\xc7\x5d\xa5\x52\x21\x99\x4c\xc2\
+\xeb\xf5\x66\x2d\x56\x50\x0c\x34\x1a\x0d\x1e\x7a\xe8\x21\xdc\x77\
+\xdf\x7d\xf4\x25\x26\x08\x82\x20\x31\x43\x10\x04\x89\x9a\xfc\xe7\
+\xcc\xc8\x7b\xcc\xc8\x73\x31\x94\x44\x8c\x1c\xb5\x5a\x8d\x44\x22\
+\x81\xe1\xe1\x61\x00\x90\x1a\x6c\xf2\x42\x46\xaf\xd7\x4b\x62\x86\
+\x79\x13\x94\x42\xb8\x4e\xbc\xf9\x1c\x1a\xd6\x5f\x85\x92\x9a\xf4\
+\x4a\x57\x2d\x07\xb6\x23\x38\x39\xa6\x28\x66\x78\x6f\x10\x2f\x60\
+\x78\xcf\x50\xb6\xea\x6a\xec\xb3\xcc\xa3\x21\x08\x02\x12\x89\x44\
+\xda\xf3\x6c\x91\x87\xc6\xb5\xb4\xb4\xa0\xba\xba\x1a\x16\x8b\x25\
+\x63\x7e\x6c\x36\x1b\x4c\x26\x13\x22\x91\x48\x4e\x62\x66\x70\x70\
+\xf0\xbc\xd8\xf3\x7a\x61\xb3\xd9\xb2\x1e\x73\x76\x1c\x7c\x3e\x1f\
+\x7c\x3e\x5f\x5a\x1e\x4d\xb1\x29\x29\x29\xc1\xa3\x8f\x3e\x4a\xa5\
+\x97\x09\x82\x20\x48\xcc\x10\x04\x71\xa1\x0b\x18\xb9\xe1\xce\x93\
+\x6b\x35\x33\xb5\x5a\xad\xd8\x63\x46\xbe\xdd\xe9\xc6\xc5\x8c\x6b\
+\x96\x68\xee\xf7\xfb\xd3\x44\x8c\xd1\x68\xcc\x10\x32\x6c\x61\xde\
+\x9d\xf3\x61\x51\x49\xbc\xfd\xdc\xff\xc6\xdd\x5f\xfb\x19\xd4\x1f\
+\x8c\x45\x10\x12\x38\xb1\xeb\xb9\x8c\x71\x67\xeb\x73\x23\xaf\x50\
+\x26\x5f\x78\xb1\xc3\xe7\xcb\x88\xa2\x88\x44\x22\x81\x78\x3c\x9e\
+\x21\x66\x44\x51\x84\x4e\xa7\x93\x2a\x8a\x01\xe7\x72\x87\x3a\x3a\
+\x3a\xe0\x74\x3a\x15\x7b\xcc\x94\x96\x96\xa2\xb7\xb7\x77\xde\xc7\
+\x5e\x5e\xb9\x6e\x62\x62\x02\x0d\x0d\x0d\x69\x02\x53\xa5\x52\x49\
+\x1e\xae\xd1\xd1\xd1\x8c\x6a\x73\x0b\xc1\x65\x97\x5d\x86\x7f\xf8\
+\x87\x7f\x80\xd3\xe9\xa4\x2f\x30\x41\x10\x04\x89\x19\x82\x20\x48\
+\xc8\x9c\xbf\x95\x77\x99\xcf\xb7\x67\x46\x29\x31\x7e\x36\x5d\xd9\
+\xe5\x15\xc4\x58\xe5\xac\xa9\xa9\x29\xa8\xd5\x6a\xe8\xf5\x7a\xd8\
+\x6c\xb6\x34\xf1\xc0\x93\x11\x6e\xf6\xe6\x7f\xe1\xf2\x8f\x7d\x1e\
+\x00\x70\xf6\xbd\xd7\x11\x0a\x78\xd3\xb6\xa5\x24\x62\xf4\x7a\x3d\
+\x74\x3a\x9d\xe4\x15\x32\x18\x0c\xd2\xc2\x9e\xe7\x3d\x35\x7c\x98\
+\x19\x0b\x31\x63\x05\x0c\xc2\xe1\x30\x42\xa1\x50\x66\x6e\x8f\x28\
+\xa6\x89\xbf\xb3\x67\xcf\xa2\xa2\xa2\x02\x56\xab\x35\x23\x4f\xc6\
+\x62\xb1\xc0\x6c\x36\x23\x1c\x0e\xcf\x5b\xcc\xf0\x62\x31\x10\x08\
+\xc0\x6a\xb5\xc2\x64\x32\x49\xa2\x6d\x62\x62\x02\x23\x23\x23\x98\
+\x9c\x9c\x5c\x50\x01\xc3\xb6\xfd\xb9\xcf\x7d\x0e\xf7\xdf\x7f\xff\
+\x82\x8e\x83\x20\x08\x82\xc4\x0c\x41\x10\xc4\x22\x15\x36\xf9\xce\
+\x99\x61\x46\x3c\x2f\x6e\x78\xc1\x20\xcf\x99\xc9\x36\x36\xde\x3b\
+\xc3\xe7\xaf\x30\xaf\x81\xdf\xef\x97\xf2\x65\xf4\x7a\x7d\x46\xd2\
+\x7a\x2a\x95\xca\xa8\x6e\xd6\xb0\xe1\x6a\x94\xd4\xac\x42\x5f\xcb\
+\x91\xb4\xed\xc9\xfb\xc6\x30\x8f\x0b\x13\x2e\x26\x93\x49\x4a\xf4\
+\x37\x1a\x8d\x92\xb8\x61\x62\x87\x0f\x35\xe3\xf3\x65\x04\x41\x80\
+\x5e\xaf\x97\x3c\x36\xcc\x23\xc3\x12\xed\x99\x57\x29\x91\x48\x48\
+\xf3\x18\x8f\xc7\xd1\xdc\xdc\x0c\xbb\xdd\x8e\xfa\xfa\xfa\x8c\x39\
+\x2a\x2b\x2b\x43\x77\x77\xf7\xfc\xfe\x90\xb4\x5a\x98\xcd\x66\x29\
+\x6f\xc6\xef\xf7\x43\xa5\x52\x21\x1c\x0e\x63\x72\x72\x12\x3e\x9f\
+\x0f\xc9\x64\x72\x56\x62\xb3\xd0\x38\x9d\x4e\x7c\xfb\xdb\xdf\xc6\
+\x96\x2d\x5b\xe8\xcb\x4a\x10\x04\x41\x62\x86\x20\x08\x22\x53\x40\
+\x14\xa2\x9a\x19\x2f\x20\x98\x98\x91\x57\x32\x9b\xad\xa1\x2c\xf7\
+\xce\x30\xd1\xc1\x7a\x9c\x24\x93\x49\x44\x22\x11\x49\x0c\x30\x4f\
+\x13\x1f\xca\xc5\xf6\x87\x85\x9b\x7d\xe2\x91\x9f\x60\xb8\xe3\x74\
+\xc6\x1c\xf0\x21\x65\x4c\xac\xf0\x55\xca\x58\x65\x32\x26\x70\x98\
+\x90\x61\x95\xd5\xf8\x7c\x19\x36\x8f\x89\x44\x22\x43\xdc\xb0\xb0\
+\xb3\x44\x22\x21\x85\xc9\xe9\xf5\xfa\x34\x6f\xd6\xd0\xd0\x10\x7a\
+\x7a\x7a\x60\xb7\xdb\xe1\x76\xbb\xd3\xe6\xc4\x64\x32\xc1\x6a\xb5\
+\x22\x18\x0c\xce\xeb\xf8\x5b\x2c\x16\x49\xcc\x84\x42\x21\x34\x35\
+\x35\x21\x99\x4c\x66\x88\xb1\x85\x64\xe3\xc6\x8d\x78\xf4\xd1\x47\
+\x15\x43\xed\x08\x82\x20\x08\x12\x33\x04\x41\x5c\xc0\x02\x86\x3d\
+\x66\xcf\xe5\xbb\x00\x40\xb6\x86\x99\x33\x8d\x49\xe9\x75\x25\xef\
+\x0c\x5f\xb9\x4c\xde\x8c\x92\xe5\xd1\x30\x01\xc3\xde\xcb\xf0\x0e\
+\x76\x61\xf7\xd3\xff\x82\x58\x24\x98\xb6\x1d\xe6\xf1\x61\x39\x39\
+\xcc\x1b\xc3\x4a\x2d\xf3\x25\x96\x8d\x46\x63\x56\x21\xc3\x7b\xb9\
+\x58\xfe\x0e\xdb\x0f\x5e\xc8\x30\x31\xc3\x04\x0d\x13\x51\xbc\x10\
+\x6c\x6e\x6e\x46\x49\x49\x09\xac\x56\x2b\xf4\x7a\x7d\xda\xdc\x94\
+\x96\x96\xce\x5b\xcc\xf0\xe5\x8c\x53\xa9\x14\x26\x27\x27\x61\xb5\
+\x5a\xd3\xfa\xf7\x2c\xe4\x79\x7a\xdf\x7d\xf7\xe1\xc1\x07\x1f\xcc\
+\x38\x2f\x09\x82\x20\x08\x12\x33\x04\x41\x90\xa0\xc9\x78\x2e\x17\
+\xcf\xcc\x5c\x1a\x66\x66\xf3\xcc\xcc\x36\x77\x86\x35\x6a\x64\x55\
+\xc0\x78\x41\x23\x2f\x02\xc0\x87\x9a\xb1\x82\x00\x8c\x9e\xa6\x77\
+\x33\xc6\xc7\x87\x97\xc9\x73\x63\xe4\x79\x32\x7c\xe5\x32\xbe\xf7\
+\x0a\x2b\x5f\xcc\x44\x02\x6b\x96\xc9\xde\xc3\x7b\x96\xe4\x65\x9d\
+\xd5\x6a\x75\x46\x31\x80\x68\x34\x8a\xd3\xa7\x4f\xc3\x6a\xb5\xa2\
+\xae\xae\x2e\x6d\x9e\x8c\x46\x23\xec\x76\x3b\x02\x81\xc0\x9c\xcf\
+\x03\x8b\xc5\x92\xf6\x38\x1a\x8d\xc2\x62\xb1\x64\x88\xd2\x62\x0b\
+\x9b\xb2\xb2\x32\x7c\xed\x6b\x5f\xc3\xd6\xad\x5b\xe9\xcb\x4a\x10\
+\x04\x41\x62\x86\x20\x08\x62\x76\xe2\x26\x17\xcf\x8c\xd2\x7b\xe5\
+\x62\x86\xe5\x8b\xcc\x35\xc4\x8c\x8d\x91\xef\x40\xcf\x04\x0d\x13\
+\x12\x7c\x0e\x8a\x5c\xc4\xf0\x9e\x06\x79\x07\xfb\x6c\x62\x86\x17\
+\x1a\x7c\xdf\x18\x00\x52\x8e\x4b\x3c\x1e\x97\x3c\x2d\xac\x28\x01\
+\xf3\xc8\xf0\xfb\xc6\xe7\xc3\x24\x93\x49\x44\xa3\xd1\x34\xaf\x11\
+\x7b\xbf\x52\x15\x31\xc6\xe0\xe0\x20\x9a\x9b\x9b\xa1\xd5\x6a\x51\
+\x55\x55\x95\xb6\xfe\x92\x92\x92\x79\x89\x19\xb9\x97\x87\x17\x50\
+\x0b\xe1\x9d\xd1\x68\x34\xb8\xf7\xde\x7b\xf1\xb9\xcf\x7d\x0e\x46\
+\xa3\x91\xbe\x98\x04\x41\x10\x24\x66\x08\x82\x20\xb2\x8b\x03\x79\
+\x55\xb1\x7c\x7a\x66\x8c\x46\x23\xc6\xc6\xc6\x32\x8c\x55\xb9\xa1\
+\xcf\x8f\x65\xae\xe2\x8b\x17\x34\x4a\xe1\x66\x72\x51\xc3\x1b\xed\
+\x4a\xeb\x64\xa1\x60\x2c\xe1\x9f\x0f\x27\x53\xca\x8f\xd1\x6a\xb5\
+\x92\x87\x25\xdb\x3e\xf0\x22\x4a\xad\x56\x4b\x39\x29\xfc\xc2\x17\
+\x0e\x60\xb9\x33\x6c\xbd\xfc\x58\x5b\x5b\x5b\x61\xb3\xd9\x00\x20\
+\x4d\xd0\x18\x0c\x06\x38\x1c\x0e\xf8\xfd\xfe\x79\x89\x58\xfe\x18\
+\xca\xe7\xaa\x58\x82\x66\xc3\x86\x0d\x78\xe4\x91\x47\xd0\xd8\xd8\
+\x48\x5f\x4e\x82\x20\x08\x12\x33\x04\x41\x10\x73\x17\x36\xf9\xf4\
+\xcc\x98\x4c\xa6\x34\x31\xc3\xd6\x3f\xdf\x02\x00\x6c\x1d\xbc\x71\
+\xcd\x04\x82\x5c\xd0\x28\x85\x9a\xb1\xf7\xb1\xcf\x28\xf5\xc4\x61\
+\xfb\xc1\x1a\x5b\x6a\x34\x1a\x18\x8d\x46\x49\xdc\x98\x4c\x26\x49\
+\xcc\xb0\xd7\x95\x4a\x4d\x67\x13\x6c\xec\x33\xbc\x88\xe1\x9b\x7f\
+\x2a\x35\xfe\xe4\xfb\xe4\xa4\x52\x29\x9c\x38\x71\x02\x26\x93\x09\
+\x2a\x95\x0a\x95\x95\x95\xd2\x76\x4a\x4b\x4b\x11\x08\x04\xe6\x74\
+\xcc\x94\xaa\xd7\x29\x79\xb3\x0a\x89\xcd\x66\xc3\x17\xbe\xf0\x05\
+\xdc\x7a\xeb\xad\x54\x72\x99\x20\x08\x82\xc4\x0c\x41\x10\xc4\xf4\
+\x62\x60\x2e\xc6\xad\xbc\x1a\xd9\x74\xf0\xe2\x40\xa7\xd3\x61\x74\
+\x74\x34\xad\x67\x0a\x0b\x69\x9a\x6d\xc3\xcc\xd9\xee\x4f\xb6\x70\
+\x33\x25\xcf\x0c\x9f\x3b\x23\xf7\x40\x28\xe5\xaf\xa4\x52\x29\x44\
+\xa3\x51\x24\x93\x49\x04\x83\x41\xa8\xd5\x6a\x29\xe9\x9f\xf7\xd4\
+\xb0\x1e\x33\x06\x83\x41\x12\x38\xac\xac\x71\x32\x99\x84\x46\xa3\
+\x81\x20\x08\xd2\x76\xd9\x7c\xb1\xaa\x66\x7c\xc1\x02\x56\x08\x40\
+\x10\x04\x49\x00\xf2\xc7\x21\x91\x48\xe0\xe8\xd1\xa3\x52\x4f\x20\
+\x26\x68\x74\x3a\x1d\x9c\x4e\x27\x26\x26\x26\xe6\x75\xcc\x94\xc4\
+\x4c\xa1\xf9\xe8\x47\x3f\x8a\x2f\x7d\xe9\x4b\x70\x38\x1c\xf4\xe5\
+\x24\x08\x82\x20\x31\x43\x10\x04\x31\x7f\x81\xa3\x52\xa9\x60\xb3\
+\xd9\xa0\xd3\xe9\xa4\x5c\x8d\xd1\xd1\x51\xc9\xab\x31\x17\xc3\xd8\
+\x6c\x36\xa3\xa9\xa9\x29\xed\xf5\x2d\x5b\xb6\x20\x1c\x0e\x23\x1c\
+\x0e\xcf\xa9\x61\xa6\xd2\x78\xe5\x1e\x83\xb9\x86\x9b\xb1\x72\xce\
+\xbc\x48\xe0\x73\x63\x98\xd7\x84\x0f\xff\xe2\x05\x0e\xcb\x7d\xe1\
+\x1b\x56\xf2\xfb\xc4\x8b\x2b\xf9\xd8\x58\x13\x4d\x51\x14\x11\x8f\
+\xc7\x11\x89\x44\x10\x0e\x87\x11\x8d\x46\x11\x8d\x46\x25\x31\xc3\
+\x0b\x0a\xb9\x27\x29\x14\x0a\xe1\xe0\xc1\x83\xb8\xe2\x8a\x2b\xd2\
+\x04\x4d\x49\x49\x09\x26\x27\x27\x67\x2d\x44\x58\x59\x66\x7e\x0e\
+\x8a\x21\x64\xea\xea\xea\xf0\xc8\x23\x8f\x60\xd3\xa6\x4d\xf4\x05\
+\x24\x08\x82\x20\x31\x43\x10\x04\x91\xbb\x90\x61\x46\xf3\xca\x95\
+\x2b\xd1\xd2\xd2\x02\xe0\x9c\x17\x60\x74\x74\x14\x15\x15\x15\x33\
+\xae\x8b\x19\xc0\x1a\x8d\x06\xe3\xe3\xe3\x69\x86\xbe\xdb\xed\x46\
+\x7d\x7d\x3d\x6a\x6a\x6a\x10\x8d\x46\x71\xfc\xf8\xf1\xb4\x5e\x2a\
+\xb9\x0a\x9a\xb9\x84\x9b\xb1\x50\xba\x54\x2a\x25\xe5\xa8\x28\xf5\
+\x97\x91\x2f\xac\x02\x19\x5b\xa6\xab\xc2\xc6\x04\x0b\x70\x3e\xa9\
+\x9e\xdd\xf2\x85\x0a\x58\x11\x00\x16\x7e\xa6\xd3\xe9\xa4\x31\xb2\
+\xdb\x6c\xa1\x71\xe1\x70\x18\x07\x0e\x1c\xc0\x15\x57\x5c\x81\x78\
+\x3c\x8e\xaa\xaa\x2a\xe8\xf5\x7a\xb8\xdd\x6e\x78\xbd\xde\x79\x89\
+\x19\x9d\x4e\x97\x51\x00\x80\x2f\xba\x90\x6b\x18\x98\xc1\x60\xc0\
+\x67\x3f\xfb\x59\xdc\x77\xdf\x7d\x92\x67\x89\xf1\xd9\x33\xfc\x00\
+\x00\x20\x00\x49\x44\x41\x54\x20\x08\x82\x20\x31\x43\x10\x04\x91\
+\xb3\x90\x61\x5e\x92\x75\xeb\xd6\x49\x62\x06\x00\xfa\xfb\xfb\x67\
+\x25\x66\x98\xd7\xc1\x6c\x36\xe3\xe4\xc9\x93\x69\xaf\x35\x34\x34\
+\x48\x42\xe1\xe2\x8b\x2f\xc6\x75\xd7\x5d\x87\xa6\xa6\x26\xec\xd9\
+\xb3\x47\x31\x19\x7f\xae\x82\x26\x97\x70\x33\xb6\xae\x6c\x15\xcc\
+\x58\xd8\x18\xdf\x3f\x66\x2e\xe5\xa4\xa7\x13\x5f\xf2\xf2\xcc\xac\
+\x38\x00\x3f\x5e\x36\x46\x36\xbf\xbc\xd7\x24\x1e\x8f\xe3\xd0\xa1\
+\x43\xd8\xb2\x65\x0b\x62\xb1\x18\xca\xca\xca\xe0\x76\xbb\x31\x31\
+\x31\x31\xab\xe2\x0d\x53\x53\x53\xd2\x7d\x36\x96\x42\x84\x99\xe9\
+\xf5\x7a\x7c\xfc\xe3\x1f\xc7\xa7\x3e\xf5\x29\x94\x94\x94\xd0\x97\
+\x8f\x20\x08\x82\xc4\x0c\x41\x10\x44\xee\x42\x46\xe9\x71\x45\x45\
+\x05\x6c\x36\x9b\x64\xe8\x8e\x8f\x8f\x23\x1a\x8d\xce\x58\x2a\x37\
+\x95\x4a\xc1\xe1\x70\xa0\xa5\xa5\x25\xad\xa4\xb0\xc3\xe1\x80\xdb\
+\xed\x4e\x13\x07\x46\xa3\x11\xb7\xdf\x7e\x3b\xee\xb8\xe3\x0e\xbc\
+\xf4\xd2\x4b\xd8\xb7\x6f\x5f\x5e\xf6\x67\x36\xe1\x66\x7c\xce\x0a\
+\x33\xb4\x01\x4c\x5b\x92\x39\x5b\xb5\xb2\xf9\x7a\x2a\x78\x01\x26\
+\x17\x34\xcc\x6b\xc3\xf6\x81\x2f\x5c\xc0\xb6\xc7\x0b\x0d\x41\x10\
+\x70\xe4\xc8\x11\x34\x34\x34\x20\x16\x8b\xc1\xe9\x74\xc2\x6e\xb7\
+\x63\x72\x72\x72\xda\x31\xf8\xfd\xfe\xb4\xea\x67\xcc\x2b\xc3\x0b\
+\x19\xfe\x76\x3e\xfb\x6a\x30\x18\x70\xc7\x1d\x77\xe0\x53\x9f\xfa\
+\x14\xdc\x6e\x37\x7d\xf1\x08\x82\x20\x48\xcc\x10\x04\x41\x14\x4e\
+\xe0\xb0\xa5\xbe\xbe\x5e\xca\x79\x49\xa5\x52\x18\x18\x18\xc0\xca\
+\x95\x2b\xa7\xfd\xbc\xc9\x64\xc2\xf8\xf8\x38\x86\x86\x86\xa4\xe7\
+\xd4\x6a\x35\x6a\x6b\x6b\x15\xfb\xb7\xa8\xd5\x6a\xb8\xdd\x6e\x3c\
+\xfc\xf0\xc3\xf8\xe4\x27\x3f\x89\x17\x5e\x78\x01\xfb\xf7\xef\x9f\
+\xf3\x98\xe7\x1a\x6e\x26\x0f\x9d\xe2\xc5\x44\xb6\x71\xf2\x65\x9b\
+\x67\x2a\x60\x30\xd7\xb1\xf2\x15\xce\xd8\x18\xf9\x6a\x66\xd9\x2a\
+\x8b\xf1\x82\x46\x14\x45\x74\x76\x76\xa2\xaf\xaf\x0f\xab\x56\xad\
+\x42\x7d\x7d\xfd\x8c\xe3\xeb\xea\xea\x4a\x7b\xcc\x9a\x65\xe6\xc3\
+\x33\x63\x32\x99\x70\xe7\x9d\x77\xe2\xbe\xfb\xee\x83\xd3\xe9\xa4\
+\x2f\x17\x41\x10\x04\x89\x19\x82\x20\x88\xc2\x0a\x18\xde\x50\xaf\
+\xab\xab\x43\x73\x73\xb3\x64\xd0\x76\x76\x76\xa2\xa2\xa2\x22\xa3\
+\x63\x3c\x4f\x30\x18\xc4\xa9\x53\xa7\xd2\x9e\x73\xbb\xdd\x30\x1a\
+\x8d\x19\xb9\x28\xbc\x50\x50\xab\xd5\x58\xbd\x7a\x35\x1e\x7d\xf4\
+\x51\x8c\x8d\x8d\xe1\xc5\x17\x5f\xc4\xce\x9d\x3b\xd3\x72\x6e\x66\
+\x2b\x12\x94\xc2\xcd\x44\x51\x94\x72\x51\x78\xcf\x0c\x0b\x6f\xcb\
+\x16\x62\xa6\x94\x23\x33\x5f\x21\x23\x1f\x2b\x3f\xf7\x4c\xcc\xf0\
+\x9e\x24\x79\xae\x4f\x36\x81\x21\x7f\x9c\x48\x24\x70\xe6\xcc\x19\
+\xf4\xf4\xf4\x60\xf5\xea\xd5\x28\x2f\x2f\x57\x2c\xde\xd0\xd1\xd1\
+\x91\x21\x3a\x79\x31\x23\xdf\xc6\x6c\xf7\xd7\x6c\x36\xe3\xee\xbb\
+\xef\xc6\xbd\xf7\xde\x0b\xbb\xdd\x4e\x5f\x30\x82\x20\x08\x12\x33\
+\x04\x41\x10\x85\x13\x32\xf2\xfb\xcc\xc0\x36\x18\x0c\xf0\x78\x3c\
+\x18\x1f\x1f\x07\x70\x2e\x94\xe9\xf8\xf1\xe3\xb8\xea\xaa\xab\x14\
+\x8d\xe3\xa9\xa9\x29\x1c\x3d\x7a\x34\x2d\x4f\x43\xaf\xd7\xc3\xe9\
+\x74\x2a\x26\xd5\xcb\xf3\x4f\xd8\x52\x51\x51\x81\xbf\xfd\xdb\xbf\
+\xc5\x03\x0f\x3c\x80\xed\xdb\xb7\xe3\x85\x17\x5e\xc0\xe8\xe8\xe8\
+\x9c\xf7\x89\x17\x34\xac\x42\x97\xbc\x21\x24\x2f\x82\xe4\x9e\x98\
+\x6c\x22\x26\x17\x21\xa3\x34\xce\xf9\xf4\xc9\xe1\x05\x99\x3c\x87\
+\x86\x11\x0e\x87\x71\xe2\xc4\x09\xa8\xd5\x6a\x29\xcc\xcf\x66\xb3\
+\x21\x14\x0a\xc1\xe7\xf3\x65\x14\x08\x30\x99\x4c\x69\xe2\x68\xae\
+\xde\x19\xab\xd5\x8a\x7b\xee\xb9\x07\xf7\xdc\x73\x8f\xd4\xd4\x93\
+\x20\x08\x82\x20\x31\x43\x10\x04\x51\x70\x11\xc3\x7b\x08\xf8\xdb\
+\xc6\xc6\x46\x4c\x4c\x4c\x48\x1e\x8c\xa9\xa9\x29\x34\x37\x37\x63\
+\xc3\x86\x0d\x69\xeb\xe8\xe9\xe9\x41\x6b\x6b\x6b\x5a\x22\xbf\x5a\
+\xad\x86\xcb\xe5\x9a\xb6\xd4\xf1\x74\x0d\x27\x2d\x16\x0b\xfe\xe2\
+\x2f\xfe\x02\xf7\xdc\x73\x0f\xde\x79\xe7\x1d\x3c\xff\xfc\xf3\x38\
+\x73\xe6\xcc\xb4\xfb\x34\x9b\x70\x33\x25\x21\xc0\x7b\x47\x94\xc2\
+\xcb\x72\xf5\xc6\x4c\x37\xd6\xd9\x78\x92\xe4\x22\x8c\x85\xc6\xb1\
+\xe7\xb3\x09\x1a\xe0\x5c\xf8\xd9\xc4\xc4\xc4\xb4\xbd\x67\xb4\x5a\
+\x2d\x4c\x26\x53\x46\x9e\xcc\x6c\xa8\xa8\xa8\xc0\xed\xb7\xdf\x8e\
+\xbb\xee\xba\x0b\x66\xb3\x99\xbe\x5c\x04\x41\x10\x24\x66\x08\x82\
+\x20\x8a\x2b\x6c\xe4\x82\x86\x2d\x7a\xbd\x1e\x55\x55\x55\xe8\xeb\
+\xeb\x93\xde\xdf\xdf\xdf\x0f\xaf\xd7\x8b\xda\xda\x5a\x08\x82\x00\
+\xaf\xd7\x9b\x96\x44\xce\xd6\x69\xb5\x5a\x25\xe1\xc2\xba\xdc\x33\
+\x31\xc3\x9e\x57\xf2\xce\xc8\xd1\x68\x34\xb8\xfe\xfa\xeb\x71\xdd\
+\x75\xd7\xa1\xb9\xb9\x19\xcf\x3f\xff\x3c\xf6\xef\xdf\xaf\x58\xa9\
+\x6b\x36\xd5\xcd\x94\x7a\xb7\xc8\xc5\x8c\x92\xc7\x28\xdf\x82\x46\
+\x2e\x2c\xd9\x58\xd5\x6a\x75\x9a\x27\x49\x49\xd0\x68\x34\x1a\xa9\
+\x21\x27\x13\x1f\xd3\x09\x9a\xe9\xd0\x68\x34\xb0\x58\x2c\x19\xfb\
+\x35\xdd\xba\x8c\x46\x23\xae\xbd\xf6\x5a\x7c\xec\x63\x1f\xc3\x25\
+\x97\x5c\x92\xf7\x39\x21\x08\x82\x20\x48\xcc\x10\x04\x41\xcc\x5a\
+\xc4\xc8\x2b\x6a\xf1\xa5\x88\xad\x56\x6b\x5a\x65\x33\x00\x88\x44\
+\x22\x38\x7b\xf6\x6c\xd6\xf5\x1a\x8d\x46\xe8\x74\x3a\xa9\x6f\x8a\
+\x5e\xaf\x87\x5e\xaf\x87\xc1\x60\x90\x44\x0d\xef\x9d\x99\x6d\xe3\
+\xcc\xf5\xeb\xd7\x63\xfd\xfa\xf5\x18\x1e\x1e\xc6\x4b\x2f\xbd\x84\
+\x3f\xff\xf9\xcf\xf0\xf9\x7c\xb3\x12\x09\xcc\x3b\xc3\x27\xd2\xf3\
+\x02\x80\x89\x88\x6c\x82\xa6\x10\xf3\xaf\xe4\x49\xe2\xbd\x33\xbc\
+\x27\x89\x2f\x35\xcd\x0b\x32\x26\xea\xf8\x75\xcd\x56\xd4\x68\x34\
+\x1a\x18\x0c\x86\x59\x8f\x77\xe3\xc6\x8d\xf8\xd8\xc7\x3e\x86\xeb\
+\xaf\xbf\x5e\x0a\x4b\x23\x08\x82\x20\x48\xcc\x10\x04\x41\x2c\xa8\
+\xa0\x51\x0a\xb1\xe2\x0d\x7b\x87\xc3\x81\x58\x2c\x86\x78\x3c\x3e\
+\xe3\xfa\x78\xb1\xc2\x8b\x18\xa3\xd1\x28\x2d\xec\x3d\xbc\x68\xe0\
+\x05\xc8\x74\xc6\x3f\x70\x2e\xb4\xe9\xcb\x5f\xfe\x32\xbe\xf4\xa5\
+\x2f\xa1\xa9\xa9\x09\x7b\xf7\xee\xc5\xde\xbd\x7b\x31\x3e\x3e\x3e\
+\x6d\xb8\x19\x6b\xd2\xc8\x87\x99\x31\x31\xc0\x8b\x99\x42\x0b\x19\
+\x25\x41\x33\x9b\x3e\x39\xd9\x72\x58\x78\x41\x23\x9f\xab\xe9\x44\
+\x2c\x6b\x1e\x3a\x9d\x18\x2c\x2b\x2b\xc3\xcd\x37\xdf\x8c\x5b\x6f\
+\xbd\x15\xb5\xb5\xb5\x19\x3d\x76\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x0b\x22\x62\x94\x4a\x03\xcb\x43\xc1\x98\x81\x6f\xb3\xd9\x10\
+\x0e\x87\x11\x8b\xc5\xb2\x86\x78\xf1\x02\x88\x79\x64\x8c\x46\x23\
+\x4c\x26\x13\xcc\x66\x33\x4c\x26\x13\x8c\x46\x23\x0c\x06\x43\x5a\
+\xa8\xd9\x6c\x45\x83\x52\x8f\x97\x8d\x1b\x37\x62\xe3\xc6\x8d\xf8\
+\xca\x57\xbe\x82\x33\x67\xce\x60\xcf\x9e\x3d\xd8\xb7\x6f\x1f\x86\
+\x87\x87\x33\x44\x02\x2f\x14\xd8\xf3\xbc\x98\xe1\x45\x9d\xbc\x14\
+\x73\xa1\x0d\x78\x25\x4f\x92\x3c\x34\x4e\xa9\xff\xcb\x7c\x04\x8d\
+\x7c\x2e\xe5\xfb\xa8\xd7\xeb\x71\xc5\x15\x57\xe0\x96\x5b\x6e\xc1\
+\xd6\xad\x5b\x61\xb5\x5a\x67\xed\xc1\x21\x08\x82\x20\x48\xcc\x10\
+\x04\x41\x14\x4d\xd0\xc8\x85\x0c\xf3\xa6\xb0\x85\x17\x1d\xac\xca\
+\x16\xab\xb4\xc5\xaf\x8b\x89\x01\xb6\x1e\xe6\x8d\x31\x9b\xcd\xb0\
+\x58\x2c\x30\x9b\xcd\x92\xa0\x61\xe1\x66\x5a\xad\x56\x31\x3f\x65\
+\xbe\xfb\xb3\x6e\xdd\x3a\xac\x5b\xb7\x0e\x5f\xfe\xf2\x97\xd1\xd2\
+\xd2\x82\xb7\xdf\x7e\x1b\x7b\xf7\xee\xc5\xe0\xe0\x60\x46\x05\x36\
+\xb9\x98\xe1\xe7\xa2\x90\x55\xcc\x94\xc6\x3d\x5d\xe1\x82\xd9\x08\
+\x19\x46\xb6\x9e\x34\xbc\xc0\xc9\x26\x6a\x6d\x36\x1b\x56\xae\x5c\
+\x89\x4d\x9b\x36\xe1\xf2\xcb\x2f\x47\x75\x75\x35\x4a\x4a\x4a\xe6\
+\x24\x36\x09\x82\x20\x08\x12\x33\x04\x41\x10\x05\x17\x31\xbc\x71\
+\xab\x24\x66\x94\x42\xc2\xf8\x10\x2c\x96\x34\x2f\x0f\x91\x62\x9e\
+\x1c\xb9\x90\xb1\x5a\xad\xb0\x5a\xad\xb0\x58\x2c\x92\x77\x86\x89\
+\x19\xbe\x6a\x58\x3e\xf7\x71\xed\xda\xb5\x58\xb3\x66\x0d\x1e\x7a\
+\xe8\x21\xb4\xb6\xb6\x62\xcf\x9e\x3d\x38\x72\xe4\x08\x3a\x3a\x3a\
+\xa4\xf7\xb0\xf0\x2d\xb9\x20\xe3\xc5\x4c\x31\x8f\x09\x1b\xc3\x74\
+\x02\x45\x2e\x66\x78\x11\xc4\xef\x0f\xff\x79\x25\x2f\x8c\x46\xa3\
+\x81\xd9\x6c\x86\xc7\xe3\x41\x6d\x6d\x2d\x6a\x6b\x6b\x51\x53\x53\
+\x83\x9a\x9a\x1a\x18\x8d\xc6\xac\xd5\xe6\x08\x82\x20\x08\x12\x33\
+\x04\x41\x10\x0b\x2e\x68\xe4\x21\x66\xbc\x37\xc5\x64\x32\x49\xa2\
+\x43\x1e\x16\xc6\x92\xd2\x79\xa3\x9a\x0f\x2d\x63\xeb\x60\x22\xc6\
+\x66\xb3\xc1\x6e\xb7\xc3\x66\xb3\xc1\x6a\xb5\xc2\x6c\x36\x4b\x05\
+\x02\xe6\x1a\x66\x36\xdf\xfd\x5c\xbd\x7a\x35\x56\xac\x58\x81\xfb\
+\xef\xbf\x1f\xc1\x60\x10\xef\xbf\xff\x3e\xde\x7f\xff\x7d\xb4\xb4\
+\xb4\xa0\xad\xad\x0d\x81\x40\x20\x63\x4e\x94\x2a\x99\x15\xf3\xf8\
+\xf0\xde\x19\x5e\xd4\xc8\xdf\xc7\x60\xd5\xcd\x98\xa8\x51\x7a\x3f\
+\x3b\xd6\xfc\xf1\x71\xb9\x5c\xb0\x5a\xad\xd2\x71\x96\x87\x00\xce\
+\x36\xa7\x89\x20\x08\x82\x20\x31\x43\x10\x04\x51\x74\x41\xc3\x7b\
+\x65\x0c\x06\x83\x94\xdf\x62\xb1\x58\xa4\xf0\x30\x93\xc9\x84\x68\
+\x34\x8a\x44\x22\x01\x41\x10\xa4\x0e\xf5\x7c\xc3\x49\xfe\xf3\xcc\
+\x50\xb6\xdb\xed\x70\x38\x1c\xb0\xdb\xed\xb0\xdb\xed\x92\x98\x91\
+\x87\x99\x15\xa2\xec\xb1\xdc\x73\xc4\x44\x81\xcd\x66\xc3\xa5\x97\
+\x5e\x8a\x8d\x1b\x37\x4a\xfb\x33\x3c\x3c\x8c\x8e\x8e\x0e\x74\x74\
+\x74\xa0\xbd\xbd\x1d\xbd\xbd\xbd\x45\x37\xde\xe5\xe1\x66\x4c\x7c\
+\x30\x94\x42\xcb\xe4\xb9\x4f\x2c\x04\x90\x09\x44\x25\xf1\xaa\xd1\
+\x68\x32\x72\x99\xf8\x45\x2e\x5e\xc9\x33\x43\x10\x04\x41\x90\x98\
+\x21\x08\x62\x51\x8a\x19\xa5\x3c\x17\x5e\xcc\xb0\xf0\xb0\x70\x38\
+\x2c\x89\x19\xd6\x18\x53\x10\x04\xc9\xf8\x66\x95\xcb\x98\x90\xb1\
+\xd9\x6c\x70\x38\x1c\x70\x3a\x9d\x70\x3a\x9d\x92\xa0\xb1\x5a\xad\
+\x52\xce\x0c\x5f\xcd\xac\x90\xc6\xb2\x52\xe8\x16\x2f\xe2\x44\x51\
+\xc4\x8a\x15\x2b\xb0\x72\xe5\x4a\xc9\xd8\x17\x04\x01\x9d\x9d\x9d\
+\x68\x6b\x6b\xc3\xc8\xc8\x08\x46\x47\x47\x31\x36\x36\x86\x91\x91\
+\x11\x44\x22\x91\xa2\x09\x1a\xf9\xb8\xe5\xe2\x84\xcd\xb9\x4e\xa7\
+\x93\xde\x9b\x4c\x26\x11\x8f\xc7\x11\x8d\x46\x11\x8f\xc7\xa5\x63\
+\xc6\x1f\x2b\x83\xc1\x00\xb3\xd9\x2c\x1d\x5f\xe6\x35\x2b\x56\x18\
+\x20\x41\x10\x04\x41\x62\x86\x20\x08\x22\x6f\x86\xbe\x92\x67\x85\
+\x85\x87\x85\x42\x21\x44\x22\x11\xc4\x62\x31\xc9\x2b\xa3\x52\xa9\
+\xd2\xc4\x8c\x4e\xa7\x93\x42\x97\xec\x76\xbb\x24\x62\x5c\x2e\x17\
+\x5c\x2e\x17\x9c\x4e\x27\x6c\x36\x9b\x64\x2c\xf3\x86\x72\xa1\x85\
+\x8c\x3c\x17\x85\xf7\x52\xc8\x73\x4c\x98\xc8\x31\x1a\x8d\xd8\xbc\
+\x79\x33\xb6\x6c\xd9\x92\xf1\xd9\xa9\xa9\x29\x49\xe0\x8c\x8c\x8c\
+\xa4\xdd\x1f\x1d\x1d\x45\x20\x10\x80\x20\x08\xf3\x1e\xb3\x5e\xaf\
+\x87\xcd\x66\xcb\x10\x18\xcc\x9b\xa5\x56\xab\xa1\xd3\xe9\x60\x32\
+\x99\x90\x4c\x26\xe1\xf3\xf9\x30\x31\x31\x01\xbf\xdf\x0f\xbf\xdf\
+\x8f\xa9\xa9\x29\x04\x83\x41\x44\x22\x91\x0c\x6f\x1a\x2f\x66\x2c\
+\x16\x8b\x24\x38\x79\xb1\x69\xb1\x58\xd2\xc4\xcc\x42\x87\xdc\x11\
+\x04\x41\x10\x24\x66\x08\x82\x20\x32\x8c\x7c\x25\x31\xc3\xae\xf4\
+\xb3\xab\xf5\xa1\x50\x28\xcd\x2b\xc3\x1b\xc4\x89\x44\x42\xea\x58\
+\xcf\x3e\x67\xb3\xd9\xe0\x74\x3a\xe1\x76\xbb\xe1\xf1\x78\xe0\x76\
+\xbb\xe1\x72\xb9\xe0\x70\x38\x60\xb3\xd9\x14\x43\xcc\x8a\xe1\x99\
+\xe1\x05\x0d\xbb\x2f\x6f\x46\xc9\x7b\x43\x78\xc1\x23\x9f\x33\x26\
+\x34\x56\xad\x5a\x35\xed\x76\x05\x41\x80\x20\x08\x92\x98\xc8\xf6\
+\x38\x99\x4c\xc2\x6c\x36\x4b\xa1\x78\x7a\xbd\x3e\xad\xc7\x4c\x32\
+\x99\x44\x22\x91\x90\xbc\x2d\xa1\x50\x08\xc1\x60\x10\x81\x40\x00\
+\x7e\xbf\x3f\x23\x64\xcc\x62\xb1\x20\x18\x0c\x4a\x22\x94\x79\x67\
+\xb2\x89\x19\x76\x8c\x9c\x4e\x27\xec\x76\xbb\xa2\xe0\x24\xcf\x0c\
+\x41\x10\x04\x41\x62\x86\x20\x88\x45\x29\x6a\xb2\xe5\xbc\xd8\xed\
+\x76\x44\xa3\x51\xa9\x59\x26\x0b\x2f\x63\x5d\xe3\xe3\xf1\xb8\x94\
+\xa0\xce\xc2\x96\x6c\x36\x1b\x5c\x2e\x17\x4a\x4a\x4a\xe0\xf1\x78\
+\xe0\xf1\x78\x24\x23\x99\x0f\x31\xe3\x85\x4c\xb1\xf6\x53\x5e\xfe\
+\x98\x3d\x97\xad\x32\x58\xae\x02\x8b\x15\x4b\x30\x1a\x8d\xf3\x5e\
+\x87\x52\x78\x9c\x52\x9e\x13\x13\x33\x2c\x34\x70\x6a\x6a\x2a\xcd\
+\xa3\xc6\x42\xcd\xe4\x61\x66\x76\xbb\x1d\x2e\x97\x0b\x1e\x8f\x07\
+\x2e\x97\x4b\x12\x33\x4a\x9e\x19\x82\x20\x08\x82\x20\x31\x43\x10\
+\xc4\xa2\x12\x32\xcc\xb3\xc2\xaa\x91\xb1\xab\xfc\x16\x8b\x45\x12\
+\x31\x7c\x9e\x0c\x7b\x4f\x38\x1c\x96\x3c\x33\x4c\xcc\x30\x01\xc4\
+\x8c\x63\xe6\x99\x61\x21\x66\xd3\x55\x31\x2b\x86\xb1\xac\x94\x60\
+\x9f\x6d\xbb\x85\xee\x2d\x33\xdb\xf1\xca\x05\x8d\x52\x6f\x20\xbd\
+\x5e\x9f\x11\x1e\xc8\x7b\x66\x78\x31\xc3\x44\x96\x5e\xaf\x97\xc4\
+\xa7\xc3\xe1\x90\xc2\x01\xe5\x62\x86\x6f\x20\x4a\x21\x66\x04\x41\
+\x10\x04\x89\x19\x82\x20\x16\x9d\xa0\x61\x06\x33\x4b\x86\x67\x57\
+\xed\x59\x38\x14\x4b\x1e\xe7\x73\x35\x22\x91\x88\x14\xba\xc4\x87\
+\x2d\xb1\x7c\x19\x97\xcb\x95\x16\x62\xc6\xbc\x32\xac\x67\xcd\x42\
+\x19\xc8\x7c\x13\xc9\xd9\x6c\x77\xa1\x85\x0c\x43\x9e\xb7\x22\xef\
+\x0d\xc4\x17\x6e\x60\xe1\x81\x91\x48\x24\x4d\xcc\xb0\xdc\x20\xe6\
+\x85\x93\xe7\x46\x29\x79\xcf\xa8\x61\x26\x41\x10\x04\x41\x62\x86\
+\x20\x88\x45\x2f\x68\xf8\xa6\x97\x7a\xbd\x5e\x2a\xf1\xcb\x37\x94\
+\x64\x21\x53\x36\x9b\x4d\x12\x33\x72\xcf\x8c\xd5\x6a\x85\xc3\xe1\
+\x48\x5b\xf8\x72\xcc\xf2\x0a\x66\x0b\x2d\xe2\x96\x8a\xd8\x54\x6a\
+\x74\x9a\xcd\x3b\x13\x89\x44\x60\xb3\xd9\x10\x8d\x46\xa5\x5c\x27\
+\x5e\xcc\x30\x51\xaa\x54\x86\x9b\xf5\x17\xe2\xcb\x32\x53\x69\x66\
+\x82\x20\x08\x82\xc4\x0c\x41\x10\x8b\xd6\x58\xe6\x93\xe3\xd9\x55\
+\x7b\x79\x62\x3c\x4b\xf2\x37\x9b\xcd\x08\x85\x42\x52\x65\x33\x26\
+\x66\xe4\x65\x99\x59\x01\x01\xbe\x12\x97\x52\x29\x66\x32\x90\xe7\
+\x7e\x8c\xb2\x79\x68\xf8\x42\x00\xf1\x78\x5c\xf2\xc8\xf0\xd5\xcc\
+\x98\x98\xe1\x3d\x3a\x4c\xd4\xb0\xfb\xbc\xf7\x8c\xf2\x65\x08\x82\
+\x20\x08\x12\x33\x04\x41\x2c\x7a\x63\x99\x19\xb9\xc0\xf9\xe6\x8c\
+\xec\x96\x19\xbf\x2c\xfc\x8c\xf5\x2f\x61\xe5\x87\x99\xd0\xe1\xaf\
+\xf4\xb3\x46\x9b\xbc\x90\x91\x57\xc6\x22\x23\x79\x7e\x82\x86\xcd\
+\xb9\xdc\x43\xa3\xd3\xe9\x24\x81\xc2\x04\x0c\xcb\x95\xe1\xbd\x6c\
+\xf2\xde\x42\xac\x8a\x1d\xbb\xaf\x54\xc1\x8c\x8e\x15\x41\x10\x04\
+\x41\x62\x86\x20\x88\x45\x6f\x30\xb3\x4a\x59\xfc\x73\x7c\xf8\x99\
+\xd9\x6c\xce\x28\x0a\xc0\xbf\xce\xbc\x03\x4a\x57\xf9\xe9\x4a\x7f\
+\x7e\x44\xa7\x5c\xdc\x30\x31\x93\x4c\x26\xa1\xd5\x6a\x25\xf1\xc2\
+\xf2\x9d\x58\x2f\x1d\x3e\x4c\x8d\x1d\x67\xe6\xd5\x61\x02\x86\x1d\
+\x23\xf2\x9e\x11\x04\x41\x10\x24\x66\x08\x82\x58\x52\x86\xb2\xbc\
+\xb9\xa4\x92\x98\x61\x61\x4b\xf2\x7c\x1a\x3e\x19\x9d\x5f\xf8\xab\
+\xfc\x74\xa5\x3f\xff\xc7\x4a\x7e\xdc\x44\x51\x84\x46\xa3\x81\x28\
+\x8a\xd0\xe9\x74\x92\x88\xe1\x1b\x83\xf2\xc7\x55\x69\xa1\x06\x99\
+\x04\x41\x10\xc4\xb4\xff\x43\x29\xbe\xa9\x01\x41\x10\xc4\x22\x82\
+\xcf\x95\x49\xa5\x52\xd2\x55\x7e\xa5\xab\xfd\xf2\x84\x74\x76\x65\
+\x5f\xbe\xc8\xc3\xca\xc8\x40\xce\xef\xf1\xca\x76\xec\xe4\x8b\x5c\
+\xcc\x00\x50\x14\x2f\x74\x9c\x08\x82\x20\x08\x12\x33\x04\x41\x2c\
+\x79\x03\x99\x5d\xd1\x67\xb7\xf2\x45\x6e\x1c\xcf\x74\x95\x9f\x0c\
+\xe4\xe2\x1d\x37\xa5\x5b\xc5\x3f\xa4\x2c\xc7\x86\x8e\x13\x41\x10\
+\x04\x41\x62\x86\x20\x88\x65\x61\x18\xcf\xf6\x4a\x7f\xb6\x85\x0c\
+\xe4\x85\x3b\x7e\xd9\x1e\x2b\x1d\x0f\x3a\x3e\x04\x41\x10\x04\x89\
+\x19\x82\x20\x96\xa5\x41\x3c\xd3\xd5\x7e\xf9\xd5\x7d\x12\x31\x04\
+\x41\x10\x04\xb1\x3c\xa1\x02\x00\x04\x41\x2c\x09\x94\x44\xc8\x6c\
+\x85\x09\x09\x18\x82\x20\x08\x82\x20\x31\x43\x10\x04\xb1\x68\x85\
+\x0d\x41\x10\x04\x41\x10\x17\x1e\x6a\x9a\x02\x82\x20\x08\x82\x20\
+\x08\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\
+\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\
+\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\
+\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\
+\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\
+\x62\x86\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\
+\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\
+\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\
+\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\
+\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\
+\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\
+\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\
+\x41\x10\xc4\x07\x68\x69\x0a\x08\x82\x20\x08\x82\x20\x72\x23\x91\
+\x48\xa0\xb5\xb5\x15\x91\x48\x64\x56\xef\x57\xa9\x54\x68\x68\x68\
+\x40\x49\x49\x09\x4d\x1e\x41\xe4\x80\x2a\x95\x4a\xa5\x68\x1a\x08\
+\x82\x20\x08\x82\x20\xe6\xc7\xd0\xd0\x10\x76\xee\xdc\x39\x6b\x21\
+\xc3\x53\x5b\x5b\x8b\x3b\xee\xb8\x83\x26\x91\x20\xe6\x09\x85\x99\
+\x11\x04\x41\x10\x04\x41\xe4\xc0\xf1\xe3\xc7\xe7\x25\x64\x00\xa0\
+\xaf\xaf\x0f\x03\x03\x03\x34\x89\x04\x41\x62\x86\x20\x08\x82\x20\
+\x08\xa2\xb8\x88\xa2\x88\xde\xde\xde\x9c\xd6\xd1\xde\xde\x4e\x13\
+\x49\x10\x24\x66\x08\x82\x20\x08\x82\x20\x8a\x4b\x2a\x95\x82\x28\
+\x8a\x39\xad\x43\x10\x04\x9a\x48\x82\x20\x31\x43\x10\x04\x41\x10\
+\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\
+\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\
+\x82\x20\x08\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\
+\x62\x86\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\
+\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\
+\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\
+\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\
+\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\
+\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\
+\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\
+\x41\x10\xc4\x6c\xd0\xd2\x14\x28\x13\x89\x27\xe1\x0b\xc6\x11\x08\
+\x27\x10\x08\x27\xe0\x8f\x24\xce\xdf\x0f\x0b\x08\x84\x13\x08\xc5\
+\x04\x58\x0c\x5a\xd8\xcd\x3a\x38\xcc\xe7\x6e\xed\x66\x1d\x1c\x26\
+\x9d\x74\xdf\x6d\xd5\xc3\xa4\xd7\xd0\x84\x4e\xc3\x54\x44\xc0\x64\
+\x28\x8e\x40\x24\x01\x7f\x38\x81\xc0\x07\xf3\xeb\x0f\x27\x10\xf8\
+\x60\xde\xa3\x89\x24\xac\x46\x6d\xda\xfc\x3a\xcc\xe7\xe7\xd9\x6e\
+\x3a\x37\xd7\x06\x1d\xe9\xf3\xe9\x98\x0c\x25\x30\x19\x66\xe7\xb5\
+\x20\xcd\xaf\x3f\x7c\xfe\x36\x91\x4c\xc1\x6e\xd2\x66\xcc\x2f\x7f\
+\x8e\x7b\xac\x7a\x68\x35\x34\xd7\xd9\x48\xa5\x00\x5f\x30\x26\xfd\
+\x56\xc8\xe7\x99\x9d\xeb\x00\x60\x33\x9d\x3f\x97\xcf\xff\x76\x7c\
+\x30\xff\x26\x1d\xdc\x36\x3d\xd4\x2a\xd5\x85\xf1\xbb\x1b\x89\xa0\
+\xbb\xbb\x1b\x3e\x9f\x0f\xa1\x50\x08\xe1\x70\x18\xe1\x70\x18\xa1\
+\x50\x08\x00\x60\xb1\x58\xd2\x16\x8f\xc7\x83\xfa\xfa\x7a\x18\x0c\
+\x86\x82\x8c\x47\x14\x45\x0c\x0c\x0c\x60\x68\x68\x08\xa1\x50\x28\
+\x6d\x49\x24\x12\x30\x9b\xcd\xd2\x62\xb1\x58\x60\xb7\xdb\x51\x5f\
+\x5f\x0f\x97\xcb\x75\xc1\x9d\xf3\xa1\x50\x08\xc1\x60\x50\x3a\x6e\
+\x6c\x9e\xf8\xfb\x6c\xce\xd8\xf1\x53\xba\x6f\xb7\xdb\xa1\xd5\x92\
+\x69\xb2\x54\x10\x04\x01\x81\x40\x60\xda\xe3\x1e\x0e\x87\xa1\xd3\
+\xe9\x32\xbe\xbf\xfc\xf1\xb7\x5a\xad\x30\x9b\xcd\x34\xa1\x39\x10\
+\x0c\x06\x15\xbf\x83\xfc\x71\x10\x04\x01\x26\x93\x09\x66\xb3\x19\
+\x26\x93\x29\xe3\x7e\x49\x49\x09\xdc\x6e\xf7\x92\xdb\x77\x55\x2a\
+\x95\x4a\xd1\x29\x70\x8e\x51\x7f\x0c\xcd\x7d\x7e\x34\xf5\xf8\xd1\
+\x33\x1e\x42\x3e\x66\x46\xa5\x02\xea\x4b\x2c\xd8\x50\xef\xc0\xfa\
+\x5a\x07\xca\x1c\x06\x9a\x68\x00\x03\xbe\x08\x9a\x7a\xfc\x38\xdd\
+\xeb\xc7\xd0\x44\x24\x2f\xeb\xd4\xa8\x55\x58\x55\x69\xc5\x86\x3a\
+\x07\x36\xd4\x39\x60\x37\xe9\x2e\xf8\x79\x16\x53\x29\x74\x8d\x84\
+\xd0\xd4\xeb\x47\x53\xaf\x1f\xbe\x60\x3c\x2f\xeb\xd5\x6b\xd5\x58\
+\x5d\x65\xc3\x86\x3a\x07\xd6\xd5\xd8\x61\x31\x92\xf1\x21\x24\x45\
+\x9c\x1d\x0c\xa2\xa9\xd7\x8f\xe6\x3e\x3f\x82\x51\x21\x2f\xeb\xb5\
+\x18\xb4\xb8\xb8\xc6\x8e\x0d\xf5\x0e\xac\xa9\xb2\x41\xaf\x5d\x5e\
+\x22\x72\x62\x62\x02\x5d\x5d\x5d\xe8\xee\xee\xc6\xc8\xc8\x08\xe6\
+\xfa\x97\xa4\x56\xab\x51\x55\x55\x85\x15\x2b\x56\xa0\xa1\xa1\x01\
+\x56\xab\x35\xa7\xf1\x24\x12\x09\xf4\xf6\xf6\xa2\xb3\xb3\x13\x3d\
+\x3d\x3d\x88\xc7\xe7\xfe\x9d\x71\x38\x1c\x68\x6c\x6c\x44\x43\x43\
+\x03\x2a\x2b\x2b\xa1\x5a\x86\x62\x34\x95\x4a\x61\x64\x64\x04\x5d\
+\x5d\x5d\xe8\xea\xea\xc2\xe4\xe4\x64\x7e\x7e\xc7\x35\x1a\xd4\xd4\
+\xd4\x48\xf3\xb7\x14\x0c\xdc\x64\x32\x89\xc7\x1f\x7f\x3c\xa7\x75\
+\xac\x59\xb3\x06\x37\xdd\x74\xd3\x92\xba\xe8\xd0\xd5\xd5\x85\xbe\
+\xbe\x3e\x24\x93\xc9\xbc\xac\xd7\xe3\xf1\x48\xc7\xbd\xac\xac\x8c\
+\x0c\xa5\x59\x5c\x6c\x19\x1c\x1c\x94\x8e\xc5\xd4\xd4\x54\x5e\xd6\
+\x6b\x36\x9b\x51\x5b\x5b\x8b\xba\xba\x3a\xd4\xd4\xd4\xc0\x64\x32\
+\x91\x98\x59\xdc\x3f\xc6\x40\xcf\x78\x08\x4d\x3d\xe7\x8c\x8f\x51\
+\x7f\xac\xe0\xdb\x2c\x73\x18\xb0\xbe\xd6\x81\x0d\xf5\x0e\xd4\x97\
+\x58\x70\x81\x5c\x70\x95\x8c\xea\xd3\x1f\x18\xd5\x13\x79\x32\xaa\
+\xb3\x9e\xd8\x00\xea\x4a\x2d\x92\xb0\xb9\x90\x44\x64\x5c\x10\xd1\
+\x3a\x30\x85\xa6\x5e\x3f\xde\xef\xf7\x23\x1c\x4b\x16\x74\x7b\x6a\
+\x95\x0a\x0d\x65\x66\x6c\xa8\x73\x62\x43\x9d\x1d\x1e\xdb\x85\x33\
+\xd7\xa1\x98\x80\x33\xfd\x01\x34\xf5\xf8\xd1\x3a\x38\x85\xb8\x20\
+\x16\x74\x7b\x5a\x8d\x1a\xab\xab\xce\x09\xf6\xf5\xb5\x0e\x58\x97\
+\xb0\x88\x1c\x19\x19\xc1\xa1\x43\x87\xd0\xdf\xdf\x9f\xd7\xf5\xae\
+\x5c\xb9\x12\x5b\xb7\x6e\x9d\xb3\x77\x24\x1e\x8f\xe3\xf8\xf1\xe3\
+\x38\x75\xea\x14\x12\x89\x44\xde\xc6\xe3\x70\x38\xb0\x75\xeb\x56\
+\x5c\x74\xd1\x45\x4b\xfe\x7c\x4f\x26\x93\xe8\xef\xef\x97\xc4\x67\
+\x38\x1c\x2e\xf8\x36\xcb\xcb\xcb\x25\xa1\xba\x58\x3d\x5e\x17\x82\
+\x98\x09\x04\x02\xe8\xea\xea\x42\x67\x67\x27\x86\x87\x87\x51\x68\
+\xd3\xd1\x62\xb1\xa0\xb1\xb1\x11\x8d\x8d\x8d\xa8\xae\xae\x86\x5a\
+\x4d\x91\x00\xec\x77\xaa\xa7\xa7\x07\xdd\xdd\xdd\xe8\xed\xed\x45\
+\x2c\x56\x78\xbb\xb5\xb4\xb4\x14\xb5\xb5\xb5\x68\x6c\x6c\x44\x79\
+\x79\x39\x89\x99\xc5\xc2\xa8\x3f\x8a\xb7\x9b\xc7\xd0\xdc\xe7\xc7\
+\x54\x44\x58\xb0\x71\xd8\x4c\x5a\xac\xaf\x75\xe0\xba\xf5\xa5\x28\
+\x73\x18\x97\xe5\x5c\xf7\x7b\xc3\xd8\x77\x66\x1c\xef\xf7\x05\x10\
+\x8a\x2d\xdc\x5c\x97\x39\x8c\xb8\xa4\xde\x81\x6b\xd6\x95\x2e\x69\
+\x03\x70\x3a\x9a\x7a\xfd\x38\x78\xd6\x8b\xb6\xa1\x20\x84\xa4\xb8\
+\x60\xe3\xa8\x70\x1a\xb1\xa9\xc1\x89\x6b\xd6\x95\x2e\xcb\x10\x4b\
+\x31\x95\xc2\xe1\x76\x1f\x8e\x76\x4c\xa0\x6b\x24\x04\x71\x81\x7e\
+\x42\x55\x2a\xa0\xbe\xd4\x82\x2d\x2b\x5c\xf8\xd0\x6a\x0f\x34\xea\
+\xa5\x71\x65\xc4\xeb\xf5\xe2\xd0\xa1\x43\xe8\xee\xee\x2e\xe0\xdc\
+\xa8\xb0\x76\xed\x5a\x5c\x71\xc5\x15\x33\x7a\x6a\x92\xc9\x24\x4e\
+\x9f\x3e\x8d\xa3\x47\x8f\x16\xd4\x30\xf0\x78\x3c\xd8\xb6\x6d\x1b\
+\x1a\x1a\x1a\x96\xde\xef\x78\x7f\x3f\x9a\x9b\x9b\xd1\xdb\xdb\x9b\
+\x57\xa1\x37\x57\x9c\x4e\x27\x56\xae\x5c\x89\x4d\x9b\x36\xc1\x68\
+\x5c\x3c\xff\x99\xcb\x55\xcc\xc4\x62\x31\x9c\x3e\x7d\x1a\x1d\x1d\
+\x1d\xf0\x7a\xbd\x0b\x36\x0e\xbd\x5e\x8f\xfa\xfa\x7a\x5c\x72\xc9\
+\x25\x8b\xd6\x98\x2e\x34\x1d\x1d\x1d\x68\x6e\x6e\xc6\xe0\xe0\x20\
+\x44\x71\x01\xff\xdf\x2b\x2a\x70\xe9\xa5\x97\xa2\xb1\xb1\x91\xc4\
+\xcc\x82\x5d\x59\x88\x24\xf0\xfa\xf1\x61\xbc\xd7\xe6\x5b\x30\x03\
+\x44\x09\xb5\x5a\x85\x6d\x17\xb9\x71\xcb\xe6\x0a\xd8\x96\x49\x68\
+\x94\x77\x2a\x86\xed\xc7\x86\x70\xb2\x6b\x12\x8b\xe9\x04\x33\xe8\
+\xd4\xb8\x61\x43\x19\xae\x5b\x5f\xb6\x6c\xc2\x75\xba\xc7\x42\x78\
+\xf5\xc8\x20\xba\x46\x42\x8b\x6a\x5c\x66\x83\x06\x37\x5f\x52\x81\
+\xab\x2f\x2e\x59\x32\x86\xf6\x6c\x04\xe3\x6b\x47\x87\x30\xea\x8f\
+\x2e\xaa\x71\x79\x6c\x7a\xdc\xba\xa5\x12\x9b\x1b\x5d\x58\xac\x33\
+\x9d\x4c\x26\xb1\x7f\xff\x7e\x34\x35\x35\x15\x6d\x9b\x1a\x8d\x06\
+\x97\x5d\x76\x19\x2e\xbf\xfc\x72\xc5\xd7\xfb\xfa\xfa\xf0\xd6\x5b\
+\x6f\x21\x18\x0c\x16\x6d\x4c\x55\x55\x55\xb8\xf9\xe6\x9b\x61\xb1\
+\x58\x16\xfd\xf9\x3e\x3e\x3e\x8e\x83\x07\x0f\xa2\xb7\xb7\x77\x51\
+\x8d\x4b\xaf\xd7\xe3\xd2\x4b\x2f\xc5\xa6\x4d\x9b\x16\x45\x7e\xcd\
+\x72\x13\x33\xc9\x64\x12\xa7\x4e\x9d\xc2\xb1\x63\xc7\x8a\x72\xe5\
+\x7f\x2e\xac\x58\xb1\x02\xdb\xb6\x6d\xbb\x60\xf2\xd2\x06\x07\x07\
+\x71\xe0\xc0\x01\x8c\x8c\x8c\x2c\xaa\x71\xb9\x5c\x2e\x6c\xde\xbc\
+\x19\x6b\xd6\xac\x59\x14\x5e\xb3\x0b\x42\xcc\xc4\x12\x22\xde\x6a\
+\x1a\xc1\xdb\xcd\x63\x05\x0f\x03\xc9\xe9\x07\x5a\xab\xc6\xf5\xeb\
+\xcb\x70\xfd\x86\xb2\x25\x9b\xc8\x1e\x8c\x0a\x78\xf3\xe4\x08\x0e\
+\xb4\x8e\x23\x29\x2e\xde\x53\xcb\x66\xd2\xe2\xa3\x9b\x2a\xf0\xa1\
+\xd5\x1e\xa8\x97\xa8\xa1\x3d\x16\x88\xe1\xb5\xa3\x83\x38\xdd\xe3\
+\x5f\xd4\xe3\x74\x5b\xcf\x19\xda\x97\xae\x58\xbc\x86\xf6\x8c\x82\
+\x71\xf4\x03\xc1\x38\x1a\x5a\xd4\xe3\xac\xf1\x98\x71\xc7\xe5\x55\
+\x58\x55\x69\x5d\x5c\xbf\x0b\xc1\x20\x76\xee\xdc\x89\xd1\xd1\xd1\
+\x05\xd9\x7e\x43\x43\x03\x3e\xf2\x91\x8f\x40\xaf\xd7\x4b\xcf\x1d\
+\x3f\x7e\x1c\x07\x0f\x1e\xc4\x42\xfc\x05\x9a\xcd\x66\xdc\x72\xcb\
+\x2d\xa8\xac\xac\x5c\x9c\xbf\xe3\xc1\x20\x0e\x1d\x3a\x84\xb3\x67\
+\xcf\x62\x31\x9b\x08\x16\x8b\x05\x5b\xb7\x6e\xc5\xda\xb5\x6b\x17\
+\x34\x2f\x69\xb9\x88\x99\x54\x2a\x85\xd6\xd6\x56\xbc\xf7\xde\x7b\
+\x45\x15\xf8\x73\x36\x5c\x55\x2a\x5c\x7c\xf1\xc5\xb8\xe2\x8a\x2b\
+\x96\xc4\x45\x81\xf9\xe0\xf3\xf9\x70\xf0\xe0\xc1\x82\x7a\xb0\xf3\
+\xf5\x1d\xdc\xb4\x69\x13\xd6\xaf\x5f\x0f\x9d\x6e\xe1\x2e\xc6\x2f\
+\x6b\x31\x93\x14\x53\x38\xd0\x3a\x8e\x37\x4f\x8e\xe4\x2d\x19\xb7\
+\x18\x58\x8d\x5a\x7c\x74\x73\x05\xae\x5c\x42\x86\x76\x5c\x10\xf1\
+\x76\xf3\x28\xde\x6a\x1a\x45\x2c\x21\x2e\x99\xb9\x2e\xb1\x1b\x70\
+\xdb\x96\x4a\x5c\xd2\xe0\x5c\x32\x86\x76\x30\x2a\xe0\x8d\x13\xc3\
+\x38\x70\xd6\x0b\x51\x5c\x3a\x5f\xdf\x1a\x8f\x09\x77\x5c\x5e\xbd\
+\xe8\x0c\xed\xe9\x18\xf5\xc7\xb0\xfd\xe8\x20\x4e\xf7\xfa\xb1\x94\
+\x58\x5b\x6d\xc7\xc7\x2f\xaf\x44\xa5\x6b\xe1\x13\x37\x07\x06\x06\
+\xf0\xc6\x1b\x6f\x20\x12\x89\x2c\xe8\x38\x1c\x0e\x07\x6e\xbb\xed\
+\x36\x58\xad\x56\xbc\xf5\xd6\x5b\x68\x6f\x6f\x5f\xd0\xf1\xa8\xd5\
+\x6a\x5c\x75\xd5\x55\xb8\xe4\x92\x4b\x16\xcd\x79\x13\x8b\xc5\x70\
+\xf4\xe8\x51\x9c\x3e\x7d\x3a\x6f\x49\xdd\x45\xb9\x60\xe2\x76\xe3\
+\xca\x2b\xaf\x44\x7d\x7d\x3d\x89\x99\x79\xd2\xdd\xdd\x8d\x83\x07\
+\x0f\xc2\xe7\xf3\x2d\x99\xe3\xae\xd5\x6a\xb1\x71\xe3\x46\x6c\xd9\
+\xb2\xa5\x60\x15\x0d\x17\xe2\x42\xc2\xe1\xc3\x87\xd1\xd2\xd2\x82\
+\xa5\x64\x9e\x5b\xad\x56\xdc\x74\xd3\x4d\xa8\xae\xae\x26\x31\x93\
+\x4f\x9a\xfb\x02\x78\xf9\xbd\x01\x78\xa7\x62\x4b\x76\x1f\x4a\xed\
+\x06\xdc\xb5\xad\x1a\x6b\xab\xed\x8b\x7a\x9c\xef\xb5\xf9\xb0\xfd\
+\xd8\x10\xa6\x22\x89\x25\x3b\xd7\xb5\x25\x66\xdc\xf3\xa1\x1a\xd4\
+\x95\x2c\xde\xca\x39\x62\x2a\x85\x3f\x9f\x1e\xc5\x9f\x4f\x8f\x2c\
+\x29\xc1\xa8\x64\x68\xdf\xf3\xa1\x1a\x78\x6c\xfa\x45\x3b\xc6\x58\
+\x42\xc4\x2b\x47\x06\x70\xa8\xcd\xb7\xa4\x04\x63\xda\x8f\xbb\x0a\
+\xb8\x6c\x85\x1b\x9f\xd8\x5a\x0d\xb3\x61\x61\x72\x97\xda\xda\xda\
+\xb0\x7b\xf7\xee\x05\x8d\xf1\xe6\xd1\xe9\x74\xb0\x5a\xad\x98\x98\
+\x98\x58\x34\xc7\x69\xc3\x86\x0d\xb8\xf6\xda\x6b\x17\x7c\x1c\x27\
+\x4f\x9e\xc4\x91\x23\x47\x16\x5d\x58\xd1\x5c\xa8\xae\xae\xc6\xb5\
+\xd7\x5e\x5b\xf4\x10\xa4\xa5\x2c\x66\xbc\x5e\x2f\xf6\xee\xdd\x8b\
+\xa1\xa1\xa1\x25\x7b\xdc\x0d\x06\x03\xb6\x6e\xdd\x8a\x8d\x1b\x37\
+\x2e\xd9\x7d\x48\xa5\x52\x38\x7c\xf8\x30\x4e\x9c\x38\x01\x41\x10\
+\x96\xec\x7e\x6c\xda\xb4\x09\x1f\xfa\xd0\x87\xa0\xd1\x14\xf7\x3f\
+\x47\xf3\xdd\xef\x7e\xf7\xbb\xcb\x49\xc4\xa4\x00\xbc\x79\x62\x18\
+\x7f\x3c\xd0\x87\x70\x3c\xb9\xa4\xf7\x25\x1c\x4b\xe2\x78\xe7\x04\
+\x34\x6a\x15\x56\x94\x2f\xbe\xab\xd9\x49\x31\x85\x3f\x1e\xe8\xc7\
+\xeb\x27\x86\x17\x75\xf8\xde\x6c\x08\x84\x13\x38\xda\xe1\x83\xdb\
+\xaa\x47\x95\x7b\xf1\x95\x21\x8c\xc4\x93\xf8\xf5\x5b\x5d\x38\x78\
+\xd6\xbb\xa8\xc3\xf7\x66\xc3\xf8\x54\x0c\x47\x3b\x7d\xa8\x2b\xb1\
+\xc0\xbd\x08\x05\x8d\x77\x2a\x8e\x5f\xbe\xde\x8e\x96\x81\x29\x2c\
+\xf5\x4b\x3d\x83\x13\x11\x9c\xea\xf1\x63\x75\x95\xad\xe8\x85\x2f\
+\x06\x07\x07\xb1\x73\xe7\xce\x45\x23\x64\x80\x73\xa5\x4c\xa3\xd1\
+\xc5\x95\xef\x34\x3a\x3a\x0a\x8d\x46\xb3\x60\x21\x67\x89\x44\x02\
+\xbb\x76\xed\xc2\xc9\x93\x27\x97\x94\x37\x46\x89\xa9\xa9\x29\xb4\
+\xb6\xb6\xc2\xe3\xf1\xc0\xe9\x74\x16\xd5\x10\x3d\x7a\xf4\x68\x4e\
+\xeb\x28\x29\x29\xc1\x8a\x15\x2b\x8a\x3a\x5f\x9d\x9d\x9d\xd8\xbe\
+\x7d\x3b\xfc\x7e\xff\x92\x3e\xee\xc9\x64\x12\xbd\xbd\xbd\x08\x04\
+\x02\xa8\xaf\xaf\x5f\x72\x95\xcf\x62\xb1\x18\x76\xec\xd8\x81\x96\
+\x96\x96\x45\xf5\x7b\x39\x1f\x46\x46\x46\xd0\xd9\xd9\x89\x8a\x8a\
+\x8a\xa2\x86\x00\x2e\x2b\x31\x13\x17\x44\xfc\x6e\x6f\x0f\xde\x6d\
+\x19\x5f\x4e\xfa\x0c\x6d\x43\x41\x8c\xf9\x63\xb8\xb8\xd6\xbe\x68\
+\x12\xa9\x43\x51\x01\x4f\xec\xea\x5a\x72\xe1\x37\xd3\x1a\x3a\x29\
+\xe0\x74\xaf\x1f\x42\x52\xc4\x45\x95\xb6\x45\x53\x36\x7b\xd4\x1f\
+\xc3\x2f\x5f\x6f\x47\xef\x78\x78\xd9\xcc\x75\x22\x99\xc2\xb1\xae\
+\x09\x58\x0c\xda\x45\xe5\x0d\x6b\x1f\x0e\xe2\x57\x6f\x74\x60\x22\
+\x14\x5f\x36\x73\x1d\x89\x27\x71\xa4\xc3\x87\x4a\x97\x09\xa5\x45\
+\x2a\x51\x3e\x31\x31\x81\x57\x5e\x79\x65\x49\x5f\x61\x2c\x26\xfd\
+\xfd\xfd\x70\x3a\x9d\xf0\x78\x3c\x45\xdd\x6e\x30\x18\xc4\x2b\xaf\
+\xbc\x82\x81\x81\x81\xe5\xf3\x3b\x2e\x8a\x68\x6b\x6b\x93\xfa\x0f\
+\x91\x98\x51\xe6\xe8\xd1\xa3\x78\xfb\xed\xb7\x97\xbc\xf1\xcc\xe3\
+\xf5\x7a\xd1\xd7\xd7\x87\xfa\xfa\xfa\xb4\xfc\xb8\xc5\xcc\xc4\xc4\
+\x04\x5e\x7e\xf9\xe5\x05\xcb\x27\x2c\x04\xd1\x68\x14\x2d\x2d\x2d\
+\x00\x50\xb4\x3e\x5b\xcb\x46\xcc\x4c\x86\x12\x78\xfc\x8d\x0e\xb4\
+\x0f\x05\xb1\x1c\x19\x9e\x8c\xa2\x65\x60\x0a\xeb\x6a\xec\x30\x2e\
+\x70\xb9\xdb\xe1\x89\x28\x7e\xf1\x7a\x3b\x06\x27\x22\xcb\x72\xae\
+\xbb\x46\x43\x18\xf0\x85\xb1\xae\xd6\x01\xad\x66\x61\x15\x4d\xcb\
+\x40\x00\xbf\x7a\xb3\x13\x81\x70\x62\xd9\xcd\x73\x2a\x05\x9c\xe9\
+\x0f\x20\x18\x11\xb0\xa6\xda\xb6\xe0\x5d\xee\xdf\x6d\x19\xc7\x7f\
+\xed\xed\x59\xf2\x5e\x46\x25\x92\x62\x0a\x27\xba\x27\xa0\xd3\xaa\
+\xd1\x58\x56\xd8\xab\x65\xe1\x70\x18\x2f\xbf\xfc\x72\x51\x7a\x90\
+\x2c\x27\x7a\x7a\x7a\x50\x55\x55\x05\x9b\xcd\x56\x94\xed\x0d\x0d\
+\x0d\xe1\x4f\x7f\xfa\x13\x02\x81\xc0\xb2\x9c\xcf\x81\x81\x01\x4c\
+\x4e\x4e\x16\xe5\x4a\xfd\x52\x12\x33\xc9\x64\x12\xbb\x77\xef\xc6\
+\xa9\x53\xa7\x96\xe5\x71\x0f\x85\x42\x68\x6b\x6b\x43\x65\x65\x65\
+\xce\x0d\x74\x0b\x4d\x77\x77\x37\x5e\x7b\xed\xb5\x65\xf9\x5b\x99\
+\x4a\xa5\x30\x30\x30\x80\x70\x38\x5c\x94\x72\xf4\xcb\x42\xcc\x74\
+\x8f\x86\xf0\xcb\x37\xda\x31\x3e\x15\xc7\x72\x26\x10\x49\xe0\x58\
+\xd7\x24\x1a\xca\x2d\x70\x5a\x16\xe6\xaa\x43\x73\x9f\x1f\x4f\xec\
+\xea\x5c\x52\x05\x15\xe6\xc3\x58\x20\x86\xe6\x7e\x3f\x2e\xae\xb1\
+\x2f\x58\xaf\x94\x3d\xcd\xa3\xf8\xfd\xbe\x3e\x24\x92\xe2\xb2\x9e\
+\xeb\x3e\x6f\x18\x9d\x23\x21\xac\xab\xb5\x2f\x48\xb9\x6c\x51\x4c\
+\xe1\x85\x43\x03\x78\xe3\xc4\x30\x96\x7b\x6d\xc7\xb3\x83\x53\xf0\
+\x4e\xc5\x70\x71\x8d\xa3\x60\xc5\x45\x76\xed\xda\xb5\xe8\xca\x88\
+\x2e\x95\x3f\xff\xbe\xbe\x3e\xac\x5f\xbf\xbe\xe0\xf1\xe6\x2d\x2d\
+\x2d\x78\xfd\xf5\xd7\x17\xb4\x67\x4c\x31\xf0\xf9\x7c\xe8\xed\xed\
+\x2d\xf8\x95\xfa\xa5\x22\x66\xc2\xe1\x30\x5e\x79\xe5\x15\xf4\xf5\
+\xf5\x2d\xeb\xe3\x9e\x48\x24\x70\xf6\xec\x59\xd8\x6c\x36\x94\x94\
+\x94\x2c\xca\x31\x32\xcf\xd8\x52\x0f\xed\x9c\x09\xaf\xd7\x8b\x8b\
+\x2e\xba\xa8\xe0\x7d\xa1\x96\xbc\x98\x39\xdc\xee\xc3\x6f\xde\xea\
+\x46\x34\xb1\xbc\x0d\x3e\x46\x5c\x10\x71\xac\x73\x02\x4e\x8b\x1e\
+\xd5\x45\xce\xed\xd8\x7d\x6a\x04\xff\xfd\x6e\x1f\x04\xf1\xc2\x68\
+\x4d\x14\x8c\x0a\x38\xd6\x39\x81\xfa\x52\x0b\x5c\xd6\xe2\x89\x47\
+\x21\x99\xc2\xef\xf7\xf7\x61\x4f\xd3\x28\x2e\x94\x26\x50\x13\xc1\
+\x38\x4e\xf5\x4c\xe2\xa2\x22\xe7\x76\x84\x63\x49\x3c\xb9\xbb\x13\
+\x27\xbb\x27\x2f\x18\xa3\x79\x68\x22\x8a\xb3\x43\x53\x58\x57\x6b\
+\x87\x41\x97\x5f\xa3\xb9\xaf\xaf\x0f\x87\x0e\x1d\x22\x65\x92\x83\
+\x11\x96\x4a\xa5\x50\x5b\x5b\x5b\x30\xa3\xfb\xdd\x77\xdf\x5d\xb0\
+\x92\xd4\x0b\x41\x38\x1c\x2e\xf8\x95\xfa\xa5\x20\x66\xc6\xc6\xc6\
+\xf0\xf2\xcb\x2f\x63\x72\xf2\xc2\xf8\xad\x4b\xa5\x52\xe8\xea\xea\
+\x42\x3c\x1e\x47\x6d\x6d\xed\x82\x96\xee\x4e\xfb\x7f\x17\x04\xec\
+\xda\xb5\x0b\xa7\x4f\x9f\xbe\x60\x8e\x43\x69\x69\x69\xc1\x45\xe5\
+\x92\xee\x1a\x78\xe8\xac\x17\xcf\xed\xeb\x5d\xf2\x09\xd1\xf3\x31\
+\x76\x9f\xdb\xd7\x8b\x43\x6d\xc5\xeb\xc8\xbb\xfd\xd8\x10\xb6\x1f\
+\x1b\xc2\x85\x35\xd3\xe7\x72\x83\x7e\xf9\x7a\x7b\xd1\x1a\x52\xa6\
+\x00\x3c\xbd\xa7\x1b\x47\x3a\x7c\xb8\xd0\xf0\x4e\xc5\xf1\xd3\xed\
+\x6d\x18\x0f\x14\xa7\x9a\x52\x5c\x10\xf1\x8b\xd7\xdb\xd1\x3e\x1c\
+\xbc\xe0\xe6\xba\x77\x2c\x8c\x9f\xed\x68\x47\x24\x8f\x45\x52\x44\
+\x51\xc4\xbe\x7d\xfb\x48\x91\xe4\xc8\xc9\x93\x27\x0b\x66\x70\xee\
+\xd9\xb3\x07\x27\x4f\x9e\xbc\xe0\xe6\x94\x85\x3e\x2e\xa7\xbc\x84\
+\xb9\x30\x3e\x3e\x8e\x97\x5e\x7a\x09\xa1\x50\xe8\x82\xfc\x3e\xbd\
+\xfb\xee\xbb\x8b\x66\x3c\xbb\x77\xef\x5e\xf0\xb2\xf0\xc5\x44\xab\
+\xd5\x16\x25\x7c\x72\xc9\x8a\x99\xce\x91\x10\xfe\x78\xb0\xff\x82\
+\xfe\xd3\xfb\xe3\x81\xfe\xa2\x18\xd9\xc7\x3b\x27\xb0\xfb\xd4\x85\
+\x1b\x36\x92\x14\x53\xf8\xf5\x5b\x5d\xf0\x05\x0b\x1f\xc6\xb8\xe3\
+\xd8\x10\x9a\xfb\xfc\x17\xec\x5c\x47\xe2\xe7\x3c\x25\xd1\x02\x57\
+\x22\x4c\x01\x78\xf6\x9d\x5e\x0c\xfa\x22\x17\xec\x5c\x8f\x07\x62\
+\x78\x7a\x4f\x37\xc4\x3c\x5d\xa1\x3f\x75\xea\xd4\xa2\x2a\x79\xbc\
+\x54\x29\x94\x28\x3c\x75\xea\x14\xce\x9c\x39\x73\xc1\xce\xab\x20\
+\x08\xd8\xb1\x63\xc7\x05\x97\xcb\x15\x89\x44\xb0\x7d\xfb\xf6\x65\
+\x1f\x52\x38\x93\xa0\x79\xff\xfd\xf7\x17\x7c\x1c\x07\x0f\x1e\x44\
+\x47\x47\xc7\x05\x35\xf7\x1b\x37\x6e\x2c\x4a\x31\x86\x25\x29\x66\
+\x7c\xc1\x38\x7e\xf3\x56\xd7\x05\xe7\x91\xc9\x66\x64\x17\xb2\xf2\
+\x52\xdf\x78\x18\xcf\xed\xef\xc3\x85\x4e\x30\x2a\xe0\x3f\x77\x77\
+\x16\xb4\xbf\xcb\xf1\xae\x0b\x5b\x34\x32\x46\xfd\x31\xfc\xf6\xed\
+\x9e\xbc\x19\xd9\x4a\xbc\x71\x62\x18\xa7\x7a\x26\x2f\xf8\xb9\x3e\
+\x3b\x38\x85\x3f\x1d\x1e\xcc\xfd\xb7\x28\x99\xcc\x39\xcc\x86\x38\
+\x4f\x6f\x6f\x6f\x5e\xfb\x7e\xf4\xf5\xf5\x61\xff\xfe\xfd\x17\xfc\
+\xbc\x86\x42\x21\xec\xd8\xb1\x63\xd9\xe7\x29\xf0\xc2\x78\xc7\x8e\
+\x1d\x08\x06\x83\x17\xfc\xb1\xdf\xbb\x77\x2f\x06\x07\x07\x17\x6c\
+\xfb\xad\xad\xad\x38\x76\xec\xd8\x05\x35\xe7\x1b\x36\x6c\xc0\x95\
+\x57\x5e\x59\x94\x6d\x2d\xb9\x9c\x99\x58\x42\xc4\xe3\x6f\xb4\x17\
+\xe5\x2a\xb9\xa2\xfa\x53\xab\x60\x37\xeb\x50\xee\x30\xa2\xd2\x65\
+\x3a\xd7\x8c\x4e\x75\xae\xd4\xec\x42\x84\x20\xc7\x05\x11\x1d\xc3\
+\x41\x5c\xb6\xd2\x9d\xf7\xb2\xcd\x81\x48\x02\xbf\x78\xbd\x23\xaf\
+\xa1\x28\x73\x41\xa5\x02\x6c\x26\x1d\xca\x1c\x06\x94\x3a\x8c\xd0\
+\x6b\xd5\x10\xc5\x14\x84\xe4\xc2\x88\xd8\x60\x54\xc0\xf0\x64\x14\
+\x9b\x1b\x5d\x79\x2f\xdb\xdc\xef\x0d\xe3\xa9\xdd\xdd\x05\x35\xe0\
+\xb3\x9e\xd3\x2a\x15\xac\x26\x2d\xdc\x36\x3d\x2a\x9c\x46\x94\x39\
+\x8c\x30\x19\x34\xd0\xa8\x55\x10\xc5\xd4\x82\x5c\x34\x18\x9f\x8a\
+\x21\x26\x88\x05\x69\x18\x7b\xaa\x67\x12\x2f\x2e\xa0\x57\xd7\xa8\
+\xd7\xc0\x6d\x35\xa0\xd2\x6d\x84\xc7\x66\x80\x6e\x81\xcf\xeb\xde\
+\xb1\x30\x5c\x16\x3d\xaa\x3d\xf3\xcf\xc1\xeb\xec\xec\xc4\xd9\xb3\
+\x67\x0b\xf4\x9b\xab\x86\xdb\xed\x86\xc5\x62\x41\x34\x1a\x5d\x14\
+\xb9\x1e\x76\xbb\x1d\x4e\xa7\x13\xf1\x78\xbc\x60\xa5\x6d\xd5\x6a\
+\x75\x5e\xaa\x00\x4d\x4e\x4e\xe2\xd5\x57\x5f\x5d\xb0\x32\xd9\x5a\
+\xad\x16\x56\xab\x15\x6e\xb7\x1b\x6e\xb7\x1b\x3a\x9d\x0e\x00\x16\
+\x6c\x3c\xa1\x50\x08\xc1\x60\x30\xaf\xa1\x2f\x8b\x35\x67\xe6\xad\
+\xb7\xde\x42\x77\x77\xf7\x82\x7d\x4f\xf4\x7a\x3d\xec\x76\x3b\x3c\
+\x1e\x0f\x8c\x46\x23\x54\x2a\xd5\x82\x1d\xf7\x54\x2a\x85\xee\xee\
+\x6e\xac\x58\xb1\xa2\xe0\xc9\xe8\x72\x86\x86\x86\xb0\x73\xe7\xce\
+\x05\xfb\xed\x52\xab\xd5\xb0\x58\x2c\x70\xb9\x5c\x70\x38\x1c\xd0\
+\x6a\xb5\x48\xa5\x52\x05\x15\xf5\xc5\x6e\x06\xac\xc5\x12\x22\x05\
+\xe0\x99\x77\x7a\x30\x34\x51\x9c\xa6\x67\x7a\xad\x1a\x6b\xab\xed\
+\x58\x5f\x67\x47\xa5\xcb\x04\x87\x59\x07\x8b\x51\x0b\x55\x96\xb1\
+\x85\xa2\x02\x02\xe1\x04\x06\x27\x22\x68\xee\x0d\xa0\x65\x20\x50\
+\x94\x32\xaf\x03\xbe\x08\x9e\xdd\xd7\x8b\xcf\x5d\xdf\x80\x7c\xd9\
+\xd8\x42\x52\xc4\x53\xbb\xbb\x8a\x56\x12\xd8\xa8\xd3\x60\x6d\x8d\
+\x0d\xeb\x6b\x1d\x28\xb5\x1b\xe0\x30\xeb\x60\x35\x69\x15\xcb\xf5\
+\x26\x92\x22\x02\xe1\x73\x73\xdd\x3b\x1e\x46\x53\xaf\x1f\xdd\xa3\
+\xa1\xa2\x08\x81\xe6\x3e\x3f\xb6\x1f\x1b\xc2\xed\x97\xe5\xaf\xc1\
+\xdd\x54\x24\x81\xff\xfc\x73\x3f\x42\xb5\xc0\x00\x00\x20\x00\x49\
+\x44\x41\x54\x57\xd1\xaa\x96\x95\xda\x0d\x58\x55\x69\xc5\xca\x0a\
+\x2b\x56\x94\x5b\x61\x37\xeb\xa6\x3d\x6f\xe2\x82\x88\x7e\x6f\x18\
+\xed\xc3\x41\xb4\x0f\x05\xd1\x33\x16\x86\x50\x84\xb1\xee\x6d\x1e\
+\x43\xa5\xd3\x84\xad\x17\xb9\xf3\xb6\xce\x41\x5f\x04\xcf\xbe\xd3\
+\x5b\xb4\xdc\xaf\x32\x87\x11\x1b\xea\x1c\x58\x53\x65\x83\xcb\xaa\
+\x83\xcd\xa4\xcb\x5a\xb1\x8d\x9d\xd7\x93\xa1\x38\xda\x86\x82\x68\
+\xea\x9d\x2c\xda\x6f\xdd\xf3\x07\xfa\x50\xe6\x30\xa0\x61\x9e\x65\
+\x9b\xf3\x2d\x64\xcc\x66\x33\xb6\x6c\xd9\x82\x8a\x8a\x0a\x78\x3c\
+\x1e\xa9\xba\x97\x28\x8a\xf0\x7a\xbd\x18\x19\x19\xc1\xb1\x63\xc7\
+\x8a\x76\xc5\x59\xad\x56\x63\xd3\xa6\x4d\xa8\xab\xab\x43\x49\x49\
+\x09\x0c\x06\x83\x64\x20\xf9\xfd\x7e\x8c\x8d\x8d\xe1\xf4\xe9\xd3\
+\x18\x1e\x1e\xce\xdb\x36\xdb\xdb\xdb\x71\xcd\x35\xd7\xe4\x54\xd9\
+\x2c\x16\x8b\x61\xfb\xf6\xed\x88\xc5\x8a\x93\x87\x66\x36\x9b\xd1\
+\xd0\xd0\x80\xfa\xfa\x7a\x38\x9d\x4e\x98\xcd\x66\x69\xae\xe4\x88\
+\xa2\x88\x48\x24\x82\x50\x28\x84\xe1\xe1\x61\x74\x75\x75\x61\x68\
+\x68\xa8\x28\x7d\x4f\x58\x63\xcd\xcd\x9b\x37\x63\xb9\x72\xf2\xe4\
+\x49\xa9\xd7\x47\xa1\x51\xa9\x54\x28\x2f\x2f\x47\x63\x63\x23\x2a\
+\x2a\x2a\x60\x36\x9b\x61\xb1\x58\xa0\xd5\x6a\x15\x45\x05\x3b\xee\
+\x7e\xbf\x1f\xdd\xdd\xdd\xe8\xe9\xe9\x29\xca\x39\x1a\x8d\x46\xb1\
+\x7d\xfb\x76\x7c\xf2\x93\x9f\x2c\x5a\x1f\x1a\xbf\xdf\x8f\x1d\x3b\
+\x76\x14\xad\x9f\x8f\xd5\x6a\x45\x43\x43\x03\xea\xea\xea\x60\xb3\
+\xd9\x60\xb1\x58\xb2\x8a\x37\xf6\x1d\x1c\x1b\x1b\xc3\xc0\xc0\x00\
+\x06\x06\x06\x30\x3e\x9e\x7b\x9f\xc6\x62\x0b\x19\x00\x50\xa5\x96\
+\x50\x49\x93\xed\xc7\x86\x0a\x1e\x86\x63\x35\x6a\xb1\xa1\xce\x81\
+\x0d\x75\x0e\x5c\x54\x69\x85\x56\x33\xff\x48\x3c\x21\x29\x7e\x60\
+\x94\xf8\xd1\xd4\xeb\x2f\x78\x39\xe3\x5b\x2e\xad\xc0\x47\x37\x55\
+\xe4\x65\x5d\xbf\xdb\xdb\x83\x63\x9d\x85\x8d\x7f\xb7\x9b\x75\xe7\
+\xe6\xba\xd6\x81\x55\x95\xd6\x9c\x3c\x4b\xa1\x98\x80\xf7\xfb\x02\
+\x68\xea\xf5\xa3\x75\x60\xaa\xe0\xc2\xe0\x33\xd7\xd4\xe3\xb2\x95\
+\xae\x3c\x88\xc6\x14\x7e\xbe\xb3\x1d\x3d\x63\x85\xcd\x7d\xb2\x99\
+\x74\xb8\x6a\xad\x07\xdb\x56\x79\xe0\xb0\xe8\x72\x1e\xf3\x99\xfe\
+\x00\xde\x39\x33\x86\x8e\x02\x27\xcf\x6b\xd4\x2a\x7c\xf9\x63\xab\
+\xf2\xd2\x1b\x25\x18\x15\xf0\xd8\xab\x67\x31\x51\x60\xaf\x6e\x43\
+\x99\x45\xfa\x0d\x29\xb5\xe7\xd6\xa4\xd2\x17\x8c\x4b\xbf\x1f\x9d\
+\xc3\xc1\x82\x8a\x30\x9b\x49\x8b\x47\x3e\xbe\x06\xce\x39\x9e\x1f\
+\xd1\x68\x14\xbf\xfe\xf5\xaf\xf3\xf6\x67\xbd\x76\xed\x5a\x5c\x7d\
+\xf5\xd5\x59\x8d\x60\x49\x64\xc7\xe3\x38\x70\xe0\x00\x9a\x9b\x9b\
+\x0b\x2b\x48\xcb\xca\x70\xe3\x8d\x37\xc2\xed\x9e\x5e\x54\xa7\x52\
+\x29\x9c\x3e\x7d\x1a\x87\x0e\x1d\xca\x5b\x7e\xc2\x47\x3f\xfa\x51\
+\xac\x5a\xb5\x6a\x5e\x9f\x4d\xa5\x52\x78\xf5\xd5\x57\x0b\x5e\x86\
+\xd7\xe1\x70\x60\xc5\x8a\x15\x68\x6c\x6c\x44\x79\x79\x79\x4e\x55\
+\xa3\x62\xb1\x18\x7a\x7a\x7a\xd0\xd5\xd5\x85\x9e\x9e\x9e\x82\x5e\
+\xc5\x57\xa9\x54\xb8\xfd\xf6\xdb\x51\x57\x57\x97\xf3\xba\x92\xc9\
+\x24\x1e\x7f\xfc\xf1\x9c\xd6\xb1\x66\xcd\x1a\xdc\x74\xd3\x4d\x79\
+\xd9\xb7\xde\xde\x5e\xbc\xf6\xda\x6b\x05\xf5\x04\xa8\xd5\x6a\xd4\
+\xd6\xd6\xa2\xb1\xb1\x11\x0d\x0d\x0d\x30\x9b\xe7\xdf\xfc\x58\x14\
+\x45\x0c\x0d\x0d\xa1\xab\xab\x0b\x9d\x9d\x9d\x05\xbf\x48\x51\x57\
+\x57\x87\xdb\x6f\xbf\xbd\xe0\x15\xce\x62\xb1\x18\x5e\x78\xe1\x85\
+\x82\xe7\x12\xba\x5c\x2e\xe9\x3b\x58\x56\x56\x96\xb3\xe0\xeb\xee\
+\xee\xc6\xa9\x53\xa7\xe6\x25\x6c\x16\x42\xc8\x2c\x29\x31\x73\xb2\
+\x7b\x12\x4f\xef\xe9\x2e\xd8\xfa\x0d\x3a\x35\x6e\xd8\x50\x86\xeb\
+\xd6\x97\x15\xa4\xd7\x45\x5c\x10\xb1\xa7\x79\x14\x7b\x9a\x46\x0b\
+\x96\x77\xa1\x02\xf0\xd7\x37\x35\x62\x7d\xad\x23\xa7\xf5\xec\x69\
+\x1a\xc5\x2b\x47\x0a\x17\x5b\x6a\x31\x6a\x71\xf3\xa6\x72\x5c\xb5\
+\xa6\x24\xef\xa1\x71\xc0\xb9\xf0\xb8\x37\x4e\x0c\xe3\x50\x9b\x0f\
+\x62\x81\x42\xa4\xb4\x1a\x15\xfe\xff\xf6\xce\xfc\x2b\xae\x33\xbd\
+\xf3\xdf\x5b\xfb\x46\x15\x05\x14\x54\x15\x14\x54\xb1\xaf\x42\x08\
+\x09\xb4\x1b\xb4\x58\x42\x92\x65\x39\x96\xc7\x49\xa7\x13\x3b\xdd\
+\x49\x3a\x4b\x4f\x77\x67\x7e\xc8\x0f\xf3\x07\xcc\xcc\x2f\x73\xb2\
+\xcc\x49\xfa\x64\xa6\xa7\x3b\x33\xe9\x9e\x99\x1c\xdb\xed\x4d\xb2\
+\x1c\xcb\xb2\x64\xc9\x46\x58\x48\xb2\x16\x90\x40\x20\x56\x41\x41\
+\x21\x40\x55\x45\x6d\xd4\x36\x3f\x20\xd4\xb2\x5b\x4b\xc1\x7d\x6f\
+\x71\xeb\xf2\x7c\xce\xf1\xb1\x8f\x0f\xbc\xdc\xf7\x79\xef\xf2\x7c\
+\xdf\xf7\x59\x7e\xd8\x51\x01\x07\xcf\xee\xf5\xff\xfa\xe5\x18\x2e\
+\x0d\x08\x57\xb9\xac\x28\x57\x87\xdd\xb5\x79\xd8\xe8\x32\x0b\x62\
+\xeb\x89\xb9\x10\x2e\xdc\x9a\xc1\xd5\xa1\x79\xc1\xc2\xd1\x0c\x1a\
+\x05\xfe\xc3\xd1\x2a\x98\x74\xab\x17\x61\xc9\x24\xf0\x8f\x1f\x0f\
+\x60\x48\xc0\x82\x19\x4e\x8b\x1e\x47\x36\xdb\xe1\x2a\x10\xa6\x29\
+\xe5\xf8\xfd\x20\x3e\xbc\x3c\x29\xa8\x80\x2c\xcc\xd1\xe2\xc7\x47\
+\x2a\x57\x74\xaf\xf4\xf4\xf4\xe0\xfc\xf9\xf3\x4c\x9c\xcb\x8e\x8e\
+\x8e\x15\x87\x56\x8d\x8f\x8f\xe3\xe4\xc9\x93\x82\xec\x7c\x36\x36\
+\x36\x62\xfb\xf6\xed\x2b\x72\x7a\xfc\x7e\x3f\xde\x7b\xef\x3d\xf8\
+\xfd\x7e\xde\x7f\xbf\xa4\xa4\x04\x87\x0f\x1f\x5e\xd5\xef\x76\x76\
+\x76\xe2\xda\xb5\x6b\x82\xdd\x2b\x06\x83\x01\xad\xad\xad\xa8\xac\
+\xac\x14\xc4\x29\x0c\x04\x02\xb8\x74\xe9\x12\xfa\xfa\xfa\x04\x73\
+\xca\x55\x2a\x15\x5e\x7b\xed\x35\x98\x4c\xfc\xbe\x99\x62\x12\x33\
+\x5e\xaf\x17\x6f\xbd\xf5\x16\x16\x17\x85\xd9\xb4\xe1\x38\x0e\x95\
+\x95\x95\x68\x69\x69\x11\xa4\xc1\x6b\x32\x99\xc4\xed\xdb\xb7\xd1\
+\xdd\xdd\x2d\x68\xf5\xb5\xe6\xe6\x66\xb4\xb6\xb6\x0a\xea\xb7\x7e\
+\xfc\xf1\xc7\x18\x1a\x1a\x12\x54\xc4\x6c\xdd\xba\x15\x2e\x97\x4b\
+\x90\xf1\x27\x26\x26\x70\xfd\xfa\x75\x8c\x8e\x8e\xa6\xf4\x0c\xae\
+\x95\x90\x01\x32\x24\x67\x66\x31\x96\xc0\xcf\x4e\x0f\x21\x22\x40\
+\xc8\x96\x4c\xc6\x61\x7b\x55\x1e\xde\xdc\xe3\x42\x4d\x91\x51\x10\
+\x87\x0f\x58\xda\x61\x2e\xb3\x1a\xd0\x52\x91\x8b\xc5\x58\x02\x13\
+\xf3\x21\x41\x72\x6c\x46\x3c\x41\x6c\xaf\xce\x5d\x75\x43\x3c\x5f\
+\x30\x8a\x5f\x7c\x26\x4c\xee\x86\x4a\xb1\x24\x18\xff\xb0\xcd\x89\
+\xb2\x02\x83\x60\x1d\xdf\xd5\x4a\x39\x6a\x1d\x26\x6c\x74\x9a\xe1\
+\x0b\x45\xe1\xf1\xb2\x3f\xbe\x4e\x24\x97\xfa\x75\xb4\x56\xe6\xf2\
+\x58\xab\x00\xde\xfd\x6a\x42\x10\x1b\xe8\xd4\x72\xfc\xce\x56\x07\
+\x8e\x6f\x2b\x82\x3d\x47\x2b\x98\xad\x8d\xda\xa5\xd3\xb5\x46\xa7\
+\x19\xee\xf9\x10\xe6\x03\x51\x41\x9e\xff\x40\x38\x8e\x86\x92\xd5\
+\x3b\x1c\xdd\x83\x73\xf8\xe2\xf6\x7d\x41\x6c\x90\x67\x54\xe3\xb5\
+\xed\x0e\x1c\xdd\x52\x28\x68\x3f\x22\x93\x4e\x89\x2d\xe5\x39\x70\
+\xe4\xea\x30\x39\x17\x42\x20\xc2\x7e\xd7\xda\x1f\x8a\x41\xa7\x52\
+\xa0\x64\x05\x27\x61\xd7\xae\x5d\xc3\xdc\x1c\x7f\x41\xde\xd2\xd2\
+\x82\xda\xda\xda\x95\xdb\xc5\x64\x82\x5c\x2e\xc7\xbd\x7b\x6c\xf3\
+\xa0\x6c\x36\x1b\xf6\xef\xdf\xbf\x62\x47\x5d\xad\x56\xa3\xa0\xa0\
+\x80\x49\x88\x4f\x28\x14\xc2\xa6\x4d\x9b\x56\xfc\x7b\x73\x73\x73\
+\x38\x73\xe6\x8c\x30\xef\x57\xb5\x1a\x2d\x2d\x2d\xd8\xbf\x7f\x3f\
+\x2c\x16\x8b\x60\xbb\xdb\x2a\x95\x0a\x2e\x97\x0b\x65\x65\x65\xf0\
+\xf9\x7c\xf0\x7a\xd9\x57\x79\x8c\xc7\xe3\xf0\xfb\xfd\xa8\xa8\xa8\
+\xe0\xed\x80\x8b\x25\x67\xe6\xec\xd9\xb3\x98\x9d\x15\xa6\x6d\x43\
+\x71\x71\x31\x0e\x1c\x38\x80\xfa\xfa\xfa\xe7\x9e\x9c\xf2\x11\x4b\
+\x16\x8b\x05\xf5\xf5\xf5\x50\x2a\x95\xf0\x78\x3c\x82\xe4\x76\x78\
+\x3c\x1e\x54\x55\x55\x09\x36\x8f\x89\x89\x09\x74\x75\x75\x09\x32\
+\xb6\x5e\xaf\xc7\xce\x9d\x3b\xd1\xd6\xd6\x06\xb3\xd9\x0c\xa1\x30\
+\x1a\x8d\xa8\xa8\xa8\x80\xcb\xe5\xc2\xcc\xcc\xcc\x33\xc5\xe5\x5a\
+\x0a\x99\x8c\x11\x33\x67\x7b\x3c\x82\x94\xab\x2d\x2d\xd0\xe3\x07\
+\x2f\x96\xa1\xb9\x2c\x27\x6d\x9d\xc7\xd5\x4a\x19\x6a\x1d\x46\x6c\
+\x74\x66\x63\x62\x36\x84\x07\x8c\x73\x52\xc2\xd1\x38\x34\x2a\xf9\
+\xaa\xc3\x72\xde\xbf\x34\x89\xb1\xfb\xec\x4b\x57\x36\x94\x98\xf0\
+\xa7\xfb\xcb\x50\x5f\x6c\xe2\x15\xba\xb7\xa2\x07\x5e\xa3\xc0\x46\
+\x97\x19\x35\x85\x46\x0c\x7b\x16\x10\x88\xb0\x7d\x21\x7a\x83\x51\
+\xd8\xcd\x5a\x14\x64\xaf\x2e\x99\xf0\x97\x9f\x8f\xe2\x81\x00\xce\
+\x7f\x93\xcb\x8c\x3f\xde\x57\x2a\xd8\x09\xc1\xd3\x6c\xbd\xa5\x22\
+\x17\x59\x5a\x05\x86\xa7\x03\xcc\x1b\xab\xba\x1f\x84\x50\x5f\x6c\
+\x42\x96\x76\xe5\xa7\x33\xd1\x78\x02\xff\x7c\x76\x98\xf9\x89\xa8\
+\x5c\xc6\xe1\xe8\x96\x42\x7c\x67\x67\x31\xac\xe6\xf4\x35\xb0\xb5\
+\x98\xd4\xd8\x56\x9d\x8b\x2c\xad\x12\x03\x6e\x3f\x58\x1f\x88\x8d\
+\xcf\x06\xb1\xad\x2a\x0f\xca\x14\x9f\xd3\xcb\x97\x2f\x23\x14\xe2\
+\x57\xe2\xda\x66\xb3\x61\xcf\x9e\x3d\xab\x76\x8c\x6d\x36\x1b\xdc\
+\x6e\x37\x7c\x3e\x1f\x33\x87\xfd\xe8\xd1\xa3\xab\x76\x74\x0c\x06\
+\x03\x38\x8e\xc3\xc4\x04\xbf\xcd\x8a\x78\x3c\x8e\xba\xba\xba\x47\
+\x49\xf3\x2b\x71\x68\x85\xe8\x55\x53\x53\x53\x83\xc3\x87\x0f\xa3\
+\xa8\xa8\x08\x32\x59\x7a\xde\xe3\x5a\xad\x16\x95\x95\x95\xb0\xd9\
+\x6c\x98\x98\x98\x60\x7e\xe2\xf0\xe0\xc1\x03\x14\x15\x15\xf1\x3a\
+\x65\x10\x8b\x98\x71\xbb\xdd\xb8\x78\xf1\x22\xf3\x35\x30\x18\x0c\
+\x38\x78\xf0\x20\x36\x6f\xde\xcc\x2b\x9c\x6c\x25\xc8\x64\x32\xd8\
+\x6c\x36\xd4\xd6\xd6\x22\x1c\x0e\x33\xc9\xe5\xf8\xf6\x9a\x85\x42\
+\x21\x94\x95\x95\x09\x72\xfd\x9f\x7c\xf2\x09\xf3\x93\x25\x8e\xe3\
+\xb0\x79\xf3\x66\x1c\x38\x70\x80\x77\x48\xe7\x4a\xd0\xe9\x74\xa8\
+\xa9\xa9\x81\x52\xa9\xc4\xd4\xd4\xd4\x6f\x9d\x82\xaf\xb5\x90\x01\
+\x32\xa0\x34\x73\x20\x1c\xc3\xd9\x9b\xec\x1b\x5d\x6d\xad\xcc\xc5\
+\x9f\x1d\x28\x47\x9e\x51\xbd\x26\xf3\xca\x37\x69\xf0\xe7\x07\xcb\
+\xb1\xa5\x3c\x87\xf9\xd8\x67\x6e\x4c\xaf\xaa\x02\xd9\xf4\x83\x30\
+\xba\x07\xd9\x86\x3c\x71\x00\x5e\xdc\x68\xc5\x1b\xed\x2e\x18\x75\
+\xca\x35\xb1\x75\xb1\x45\x87\x1f\x1f\xae\x44\x55\x21\xfb\x23\xf1\
+\x8f\xae\x4e\xae\xea\x14\xab\x67\xcc\x8b\x61\x0f\xdb\x17\x9d\x52\
+\x2e\xc3\x1b\x6d\x4e\x7c\xf7\x85\x12\x18\x34\xe9\xaf\xed\xc1\x01\
+\xd8\x5e\x95\x87\xbf\x3e\x56\x8d\xa2\x5c\xb6\xce\x7d\x32\x09\x9c\
+\xb8\xb2\xba\xd0\xc7\x0b\xb7\x66\xe0\x65\x2c\x1a\x0d\x1a\x05\xfe\
+\xec\x40\x39\x76\xd7\x5a\x56\x7d\x0a\xca\xeb\xc5\xcd\x71\xd8\x51\
+\x9d\x87\xbf\x3c\x58\x01\xa3\x96\xed\x73\x15\x8c\xc4\xf1\xd9\xcd\
+\xe9\x14\xd7\x25\xc9\xc4\x69\x6e\x6b\x6b\xe3\xfd\x61\x6e\x6b\x6b\
+\x63\x66\x83\xcd\x9b\x37\xf3\xee\x16\xdf\xdc\xdc\x0c\xa3\x91\x7f\
+\x35\xbe\x95\xda\xd7\xed\x76\x33\xaf\x60\x25\x93\xc9\xb0\x6b\xd7\
+\x2e\xb4\xb7\xb7\x0b\xb6\x93\xfd\x3c\x8a\x8a\x8a\x70\xfc\xf8\x71\
+\x14\x14\x14\x30\x1f\x5b\x4c\x4d\x15\xf9\x20\x84\x90\xb1\x5a\xad\
+\x38\x7e\xfc\x38\x8a\x8a\x8a\xd6\x64\x4e\x1a\x8d\x06\xed\xed\xed\
+\xd8\xb5\x6b\x17\x73\x01\x3d\x30\x30\x20\x48\x23\x55\x21\xc6\x55\
+\x2a\x95\xe8\xe8\xe8\x40\x4b\x4b\xcb\x13\x0b\x2b\x08\xfe\x7d\xe7\
+\x38\x34\x35\x35\xe1\xf5\xd7\x5f\x47\x6d\x6d\x2d\x74\x3a\x1d\xcc\
+\x66\x33\xda\xdb\xdb\xd7\x5c\xc8\x64\x84\x98\x39\x7d\x63\x1a\xe1\
+\x28\xbb\x1d\x75\x19\xc7\xe1\x58\x6b\x21\x5e\xdb\xee\x10\x2c\xa4\
+\x2c\x55\x14\x72\x0e\xbf\xbb\xb3\x18\x2f\x6d\xb6\x33\x2d\xf5\x1b\
+\x5a\x8c\xe3\xd3\xeb\x2b\x2f\x94\x70\xf2\xca\x24\xd3\xf0\x32\x95\
+\x42\x86\x3f\x6c\x73\xe2\xc0\x46\x2b\xb8\x35\xbe\x8f\x34\x2a\x39\
+\xfe\x78\x5f\x29\x76\xd7\x5a\x98\x8e\xeb\xf1\x46\x56\x9c\xf3\x92\
+\x48\x24\x71\xf2\x0a\xdb\x9c\x24\x83\x46\x81\xbf\x38\x58\x8e\x0d\
+\xce\xec\x35\x7f\x66\x4d\x7a\x25\xfe\xe2\x60\x05\xf3\xb2\xca\xfd\
+\x13\x7e\xdc\x99\x5c\x59\x1e\x42\x20\x12\xc3\x19\xc6\x9b\x21\x36\
+\xb3\x06\x3f\x3e\x52\x89\xd2\x34\x9e\x7c\x3d\x4b\xa8\xff\xd5\x4b\
+\x95\xbc\x73\xb7\xbe\xcd\xf9\x5b\xf7\x53\x3a\x35\xf4\xf9\x7c\xbc\
+\x43\x40\x0c\x06\x03\x93\x50\x09\xa3\xd1\xc8\x3b\xf7\x61\x19\x87\
+\xc3\xc1\xe4\xe3\x5f\x58\x58\xc8\x7b\x9c\x95\x26\x0f\xb3\x76\xcc\
+\xd5\x6a\x35\x8e\x1c\x39\x82\x86\x86\x86\x35\xbf\xdf\x75\x3a\x1d\
+\x8e\x1d\x3b\x86\xaa\xaa\x2a\xa6\xe3\x4e\x4f\x4f\x67\x7c\x33\xc3\
+\xa1\xa1\x21\xa6\xd5\xf4\x80\xa5\x62\x1c\xc7\x8e\x1d\x4b\xdb\x69\
+\xcc\xb3\x68\x68\x68\xc0\x91\x23\x47\x98\x8b\x69\xd6\xfd\x97\xe2\
+\xf1\x38\xf3\xf0\x32\xa3\xd1\x88\x57\x5f\x7d\x95\x49\xa9\x76\xde\
+\xdf\x77\x93\x09\x6d\x6d\x6d\x78\xf3\xcd\x37\xf1\x7b\xbf\xf7\x7b\
+\xa8\xa9\xa9\x11\xc5\xfd\x2f\x6a\x31\x33\xb7\xb0\x88\xce\x3e\x76\
+\x47\x8b\x5a\x95\x1c\x7f\xb2\xbf\x14\xbb\x6a\x2c\xa2\x9a\x67\x5b\
+\x7d\x3e\xbe\xbf\xb7\x14\x6a\x25\xbb\xe5\xf8\xa2\x6f\x66\x45\x55\
+\x9b\x86\xa6\x03\xe8\x1d\xf7\xb1\xbb\xe1\xf5\x4a\xfc\xf0\x50\x85\
+\x28\x9c\xeb\xc7\x85\xec\xcb\x2d\x85\x78\x7d\x47\x31\x53\x21\xfb\
+\x6f\xd7\xa6\x56\x54\x82\xbb\x6b\x60\x96\x69\x1e\x4f\x9e\x51\x8d\
+\x1f\x1d\xae\x40\xb1\x45\x27\x1a\x5b\xab\x95\x32\x7c\x7f\x9f\x0b\
+\x5b\x79\xe4\x14\x3d\x89\x13\x97\x27\x57\x54\xd1\xeb\xf4\xf5\x69\
+\x84\x19\xf6\x49\xaa\x2f\x36\xe1\xdf\x1f\xaa\x44\x8e\x41\x25\x1a\
+\x5b\x1b\x75\x4a\xfc\xb0\xa3\x1c\x9b\x4a\xd9\xc5\x4e\xc7\xe2\x09\
+\x7c\xfc\xf5\xf3\x9b\x36\xb2\xa8\xd2\x63\xb7\xdb\x99\x5d\x37\x8b\
+\xb1\xb4\x5a\xed\x73\x2b\x97\xa5\x0a\x0b\x31\xb3\x92\x93\x99\xa1\
+\xa1\x21\x4c\x4f\xb3\xab\xf8\x99\x9d\x9d\xbd\xa6\xbb\xf2\x4f\x42\
+\x2e\x97\x63\xef\xde\xbd\xcc\x9b\xf1\x75\x75\x75\xa5\xad\x7c\x2e\
+\x6b\x12\x89\x04\x53\x07\x9a\xe3\x38\xec\xd8\xb1\x03\x7b\xf6\xec\
+\x49\x5b\x38\x61\x2a\x2c\x9f\xce\x65\x67\xb3\xf3\x2b\xdc\x6e\x37\
+\xd3\x24\xfd\x1b\x37\x6e\x30\x29\xfe\xf1\xf8\x3b\xed\xf8\xf1\xe3\
+\xcc\xde\x49\x52\x45\xd4\x62\xe6\xd4\x55\x37\xb3\x0a\x49\x32\x19\
+\x87\x3f\xda\xe3\x42\xa5\x3d\x4b\x94\x73\xad\x29\x32\xe2\x8d\x36\
+\x17\xb3\x44\xed\x58\x3c\x89\x53\x5f\xa7\xde\x41\xfa\x04\xc3\xea\
+\x65\x1a\xa5\x1c\x3f\xd8\x5f\x86\xc2\x1c\xad\x28\x6d\xdd\x52\x91\
+\x83\x57\xb7\xb1\xfb\x38\xfb\x82\x51\x5c\xb8\x35\x93\xd2\xcf\x2e\
+\xc6\x12\xf8\xe4\x1a\x43\x67\x43\xaf\xc4\x0f\x3b\x2a\x90\x9b\xa5\
+\x16\xdf\xcb\x85\xe3\xf0\xda\x76\x07\x53\x41\x33\x31\x17\xc2\xd7\
+\x29\x96\x0c\x9f\xf5\xb3\xdd\x0c\x29\xb7\x1a\xf0\x46\x9b\x93\xe9\
+\xa6\x03\x2b\x14\x72\x19\xbe\xb3\xab\x84\x77\x25\xc3\xc7\xb9\x7c\
+\x77\x0e\xee\xf9\x67\xe7\xc2\xb0\xc8\x51\x61\x29\x66\x58\x88\x07\
+\xb1\x89\xab\x54\x05\x23\x6b\x87\x56\xa7\xd3\xe1\xe8\xd1\xa3\xcc\
+\x4e\xbb\x58\xd3\xd4\xd4\xc4\xb4\x1a\x95\xd7\xeb\xc5\xad\x5b\xb7\
+\x32\xd2\x91\xbb\x7d\xfb\x36\xd3\x1c\xa9\xad\x5b\xb7\xa2\xb1\xb1\
+\x51\x94\x73\x35\x99\x4c\x38\x7a\xf4\x28\xd3\xd3\xa2\x8b\x17\x2f\
+\x32\x11\xb2\xe1\x70\x18\x57\xaf\x5e\x65\x76\x5d\x79\x79\x79\x38\
+\x7c\xf8\x70\xda\x9b\x7c\x92\x98\x61\xc8\x4a\x9c\x96\x54\x78\xa5\
+\xb5\x10\x65\x56\x83\xa8\x17\xa3\xaa\x30\x0b\x2f\x6d\x61\xf7\x21\
+\xbd\x7a\x77\x1e\x13\x73\xcf\x4f\xcc\xbd\x31\xfa\x80\x59\x9f\x13\
+\x8e\x03\xbe\xfb\x42\xc9\xaa\x93\xe2\xd3\x45\x6b\x45\x2e\x76\x31\
+\x0c\x39\xfb\xac\xc7\x93\x52\x75\xa9\x73\x3d\x1e\xf8\x43\x6c\xf2\
+\x37\x54\x0a\x19\xbe\xb7\xb7\x14\x59\x5a\x71\xf7\xbe\xfd\x9d\xad\
+\x45\x4c\x9f\xbd\x53\x57\xdd\x88\xc5\x93\x29\xfd\x1c\xab\xcd\x90\
+\xdc\x2c\x15\xfe\xb0\xdd\xb9\x26\xf9\x31\x2b\x79\xf6\x7e\x7f\x77\
+\x09\xac\x66\x36\xcf\x5e\x32\x09\x9c\xb8\xfc\xec\x0d\x11\x16\x7d\
+\x40\x58\xee\x38\xb2\x08\x57\x63\x59\x1d\xc8\x60\x30\xf0\x0e\x8b\
+\x49\xd5\xc6\x2c\x1d\x5a\xb9\x5c\x8e\x8e\x8e\x0e\xde\x79\x43\x42\
+\xd3\xdc\xdc\xcc\xbb\x12\xd9\xe3\x74\x77\x77\x33\xeb\x11\x94\x2e\
+\xa2\xd1\x28\xba\xbb\xbb\x99\x8d\x57\x59\x59\x89\xa6\xa6\x26\x51\
+\xcf\xd9\x60\x30\xa0\xa3\xa3\x83\x57\x43\xd9\x6f\x0b\xd9\x9e\x9e\
+\x1e\xde\xe3\x5c\xb9\x72\x85\x59\xf3\x4f\xad\x56\x8b\x43\x87\x0e\
+\xad\xb8\xf8\x07\x89\x19\x91\x71\xe6\xc6\x34\xb3\x06\x71\x3b\xaa\
+\xf3\xb0\xbd\x2a\x2f\x23\x16\x64\x77\xad\x05\xad\x15\x6c\x76\xb2\
+\x93\x00\x3e\x4b\xa1\xc9\xe8\x6a\xf2\x6b\x9e\xc6\xe1\x66\x3b\x6a\
+\x8a\x8c\x19\x61\xeb\xa3\x5b\xec\xa8\x62\x74\x52\x17\x5e\x8c\xe3\
+\xcb\xe7\x94\xfe\x8d\xc5\x93\x38\xd7\xcb\x26\x7f\x83\x03\xf0\x9d\
+\xdd\x25\xa2\x3d\xfd\xfa\x86\x63\x24\xe3\xf0\x46\xbb\x93\xd9\xe9\
+\xd1\xdc\xc2\xe2\x73\x1b\xba\xce\xfa\x23\xb8\x36\xcc\x66\x33\x44\
+\xad\x94\xe1\xfb\x7b\x4b\xa1\x57\x2b\x44\x6f\xeb\x47\xd7\xca\xa8\
+\x00\x44\xdf\x84\x2f\xa5\x0d\x11\x7e\x22\x8c\x13\xd5\x58\xac\x2b\
+\x04\xb1\x72\xb8\x52\x71\xa4\x58\xd1\xd6\xd6\x26\x48\xa2\xbd\x10\
+\xb4\xb7\xb7\xf3\x6e\x14\xb8\x4c\x28\x14\xca\xb8\xd3\x99\xdb\xb7\
+\x6f\x23\x18\x64\x53\x81\x34\x3f\x3f\x1f\xed\xed\xed\x19\x31\xef\
+\x82\x82\x02\xa6\x45\x3f\xf8\x36\xdf\x4d\x24\x12\x4c\xca\xb1\x03\
+\x4b\x05\x37\x0e\x1e\x3c\x28\xfa\xcd\x04\x12\x33\xcf\x21\x16\x4f\
+\xe0\xf6\x3d\x36\xf9\x1b\xe5\x36\x03\x8e\xb5\x14\x66\xd4\xa2\xbc\
+\xba\xad\x88\x59\x59\xdd\xdb\x13\xbe\x67\xee\x62\xcf\x2d\x2c\x32\
+\x73\x56\x36\x97\xe5\xa0\xbd\x3e\x3f\x73\x6e\x7e\x8e\xc3\x1f\xb4\
+\x39\x79\x77\x69\x5f\xe6\xc6\xe8\xb3\xcb\x87\x0f\xb8\xfd\xcc\xca\
+\x03\xef\x6b\x2c\x40\x43\xb1\x29\x63\x6c\xad\x57\x2b\xf0\xbd\xbd\
+\x2e\x28\xe4\x6c\x1c\xc5\x9b\x63\xcf\xde\x81\xbe\x39\xea\x65\xb2\
+\x19\xc2\x71\xc0\x77\x77\x3b\x45\x7f\xd2\xf8\x38\x39\x06\x15\xde\
+\x68\x73\x32\xcb\x0b\xbb\x39\xfa\x00\x84\xb8\xf1\x78\x3c\xcc\xba\
+\xa6\x37\x35\x35\x31\x4f\xb0\x17\x12\x85\x42\x81\x8e\x8e\x0e\x66\
+\x61\x47\x42\x36\x39\x14\x02\x56\xd7\xab\xd3\xe9\x98\x9e\x76\xa4\
+\x83\xaa\xaa\x2a\x66\xa7\x48\xf3\xf3\xf3\xbc\x72\x00\xef\xdd\xbb\
+\xc7\xec\x54\xa6\xad\xad\x0d\x36\x9b\x8d\x5e\x6c\x99\x2e\x66\xee\
+\x4c\x2e\xac\x28\xa1\xfa\x69\x28\x1f\xc6\x91\x8b\x39\x34\xe4\x49\
+\xc8\x65\x1c\xbe\xb3\xab\x84\x89\xe3\x17\x89\x26\x30\xe0\x7e\x7a\
+\x32\x5a\xef\x18\x9b\xfe\x3d\x46\xad\x92\x69\x1e\x4a\xba\xd0\xaa\
+\xe4\x78\x7d\x67\x31\x93\xb1\xdc\xf3\x21\xcc\xfa\x9f\x5e\x74\xa1\
+\x87\x91\xad\xf3\x8c\x6a\xec\xdb\x60\xcd\x38\x5b\x5b\xb3\x35\xcc\
+\xc4\xee\xf3\xde\x11\xac\x6c\xdd\x5a\x91\x8b\x5a\x87\x31\xe3\x6c\
+\x5d\x66\x35\x30\xab\xdc\xc7\xca\x96\x84\x70\x0c\x0f\x0f\x33\x19\
+\x67\xb9\xa3\x78\xa6\xa1\xd7\xeb\x99\x95\x87\x9d\x9a\x9a\xe2\xdd\
+\x37\x29\x5d\x84\xc3\x61\xb8\xdd\x6e\x26\x63\xed\xde\xbd\x1b\x7a\
+\xbd\x3e\xe3\xd6\x7e\xeb\xd6\xad\xcc\x42\x43\xf9\x08\x43\x56\xa2\
+\xd2\xe9\x74\xa2\xba\xba\x9a\x5e\x6a\x52\x10\x33\xac\x3e\x9e\xbb\
+\x6a\x2d\x30\xe9\x32\x33\xde\x30\xc7\xa0\xc2\xce\x6a\xe1\x9d\x91\
+\x9b\x8c\x6c\x7d\xa0\xc9\x9a\xb6\xc6\xa3\xac\x71\xe5\xeb\x51\xcf\
+\xe8\x94\xe3\x69\xb6\x4e\x02\xcc\xaa\xc5\xbd\xd2\x5a\xc8\xec\x84\
+\x23\xdd\xec\xdd\x50\xc0\xa4\x12\x58\x2c\x9e\x40\xff\x53\xca\x34\
+\xfb\x43\x31\x8c\x30\xc8\x01\x53\x29\x64\x38\xd0\x64\x45\xa6\xb2\
+\x77\x43\x01\xb4\x2a\xfe\xbb\xac\xee\xf9\x30\xe6\x16\x16\x41\x48\
+\x5f\xcc\x6c\xdd\xba\x35\x6d\x8d\xf8\x58\x53\x5a\x5a\xca\x64\x37\
+\x3b\x99\x4c\x62\x74\x74\x34\x23\xe6\x3c\x3a\x3a\x8a\x24\x83\x76\
+\x0a\x56\xab\x95\x77\xc3\xce\xb5\x82\xe3\x38\x66\x02\x7c\xb5\x82\
+\x24\x99\x4c\x32\x11\x33\x2c\xe7\x42\x62\x66\x8d\x49\x26\x81\xde\
+\x71\xfe\x0e\xb6\x5e\xad\xc0\xde\x86\xfc\x8c\x5e\x9c\x7d\x8d\x6c\
+\x9c\x91\xde\x71\xdf\x13\x43\x6e\x82\x91\x38\x86\xa7\xf9\x3b\x7d\
+\x05\x26\x0d\x5a\x2a\x32\xbb\x6c\xe0\xa1\x4d\x36\x26\x95\xe4\x7a\
+\x9e\x12\xfe\x34\x36\x13\x60\x92\xf8\xdf\x50\x62\x62\xde\xbf\x25\
+\x9d\x28\xe5\x32\x1c\x6b\x65\x73\x82\xf7\xb4\x53\xc5\xde\x71\x2f\
+\x58\xb4\x4b\xda\x5d\x6b\x61\xde\x90\x32\x9d\x68\x55\x72\xec\xdb\
+\xc0\x26\xef\x81\x4e\x67\xc4\x8b\xd7\xeb\xc5\xdc\x1c\xff\x66\xc7\
+\x36\x9b\x0d\x2e\x97\x2b\xa3\x6d\xb1\x7d\xfb\x76\x51\x89\xc3\x4c\
+\x11\xb1\xac\xec\xb6\x56\xb8\x5c\x2e\x58\xad\xfc\x37\x9e\x66\x66\
+\x66\x56\x55\x56\x79\x62\x62\x02\xe1\x70\x98\xf7\xdf\xaf\xaa\xaa\
+\xa2\x12\xcc\x52\x11\x33\xc3\x9e\x00\x16\xc2\xfc\x2b\xe4\xec\xdb\
+\x50\x00\x8d\x4a\x9e\xd1\x8b\xa3\x55\xc9\xb1\xaf\x91\xbf\x33\xe2\
+\x0f\x45\x31\xf6\x84\x9d\xea\xdb\xf7\xbc\x4c\x9a\x64\x1e\xde\x6c\
+\x63\x56\x52\x7a\xad\x28\xc8\xd6\x60\x4b\x79\x8e\x60\xf7\x2f\x2b\
+\x67\xf0\x70\xb3\x1d\x99\x4e\x9d\xc3\x08\x67\x3e\xff\x70\x86\x5b\
+\xe3\xbe\x27\xde\xbf\x2c\x6c\xad\xd7\x28\xd0\x9e\xe1\x9b\x21\x00\
+\xb0\xb3\xc6\x02\xb3\x9e\xff\x49\x18\x89\x19\xf1\xc2\x2a\xbc\x85\
+\x75\xdf\x96\x35\x79\x8f\x17\x14\xa0\xac\xac\x8c\xf7\x38\xe3\xe3\
+\xe3\x4c\x2a\xf5\x09\x49\x3c\x1e\xc7\xf8\xf8\x38\xef\x71\x4a\x4b\
+\x4b\x99\x08\x81\xb5\x86\xd5\xfd\xbb\x9a\xe7\x89\xc5\x33\x28\x97\
+\xcb\xd1\xd2\xd2\x42\x2f\x34\xa9\x88\x99\x9e\x31\xfe\xc9\xa6\x66\
+\xbd\x0a\x3b\x6a\xf2\x24\xb1\x40\x3b\xab\x59\x39\x23\xbf\x1d\xe2\
+\xc4\x22\xc4\xcc\x95\xaf\x67\xda\xdb\x62\x2d\x39\xd0\x64\xe5\x1d\
+\xbe\x95\x4c\x2e\x39\xd9\xa9\xd8\x7f\xa5\x94\x59\x0d\xcc\x8a\x15\
+\xac\x35\x2c\x7a\xcf\x04\x22\xb1\xdf\x3a\x59\x7c\x5e\x8e\xd8\x8a\
+\x36\x43\x94\xf2\x8c\xb7\xb3\x42\xce\x31\x09\x95\x1b\x9e\x0e\xa4\
+\x54\x7a\x9c\x48\x3f\x2c\x76\xe7\x59\xed\x6c\x8b\xe2\xdd\xc2\x20\
+\x54\x2e\x16\x8b\x31\x11\x0a\x42\x32\x3e\x3e\xce\xbb\x8c\xb4\x94\
+\xc2\x9a\x6c\x36\x1b\x4a\x4a\x4a\xd2\x2e\x66\x58\x85\x98\x35\x34\
+\x34\x50\xf5\x32\x69\x89\x19\xfe\x0e\xf6\x46\x57\x36\xd3\x0e\xef\
+\x6b\xed\x8c\x6c\x74\xf1\xef\x76\xfb\xed\x90\x9c\x58\x3c\x81\xfe\
+\x09\xfe\x4e\x1f\x8b\xd3\x0c\xb1\x60\xd2\x29\x51\x61\xe3\x5f\xaa\
+\xf9\xdb\x95\xb6\x66\x7c\x11\x78\xbc\xfc\x8f\xa0\xb7\x31\x6c\x3e\
+\xb9\xd6\x6c\x74\x65\x33\x39\x39\xed\xf9\x56\x48\x6a\xdf\x73\xaa\
+\xf7\xa5\xf6\x81\x07\x36\x95\x9a\x25\x63\xeb\x46\x67\x36\x14\x72\
+\x7e\xaf\xfa\x44\x32\xc9\xac\xc2\x24\xc1\x8e\x60\x30\x88\xe9\x69\
+\xfe\xa5\xf5\x33\xa9\x7a\xd9\x73\xdf\xe3\x26\x13\x13\x61\x26\xf6\
+\x50\x33\x16\xd7\x67\xb5\x5a\x91\x9d\x9d\x2d\x99\xb5\x67\x91\x38\
+\xef\x76\xbb\x57\x54\xea\x7a\xa5\x3f\x2f\xe4\xb5\x93\x98\x11\x09\
+\xd3\x0f\xc2\xcf\xac\x06\x95\x2a\xf5\xc5\x26\x49\x2d\x12\x8b\xf9\
+\x4c\x7b\xbf\x69\xdb\xc1\x29\xfe\x15\xe3\x38\x0e\xa8\x75\x90\xad\
+\xbf\xcd\x9d\xc9\x05\xc4\xe2\xbf\xb1\xed\x2d\x06\x89\xff\x7a\xb5\
+\x02\x0d\x25\xd2\xf9\xe8\x28\xe5\x32\x34\x33\x10\x0c\xdf\xb6\x2d\
+\x8b\x22\x0b\xae\x7c\x3d\x0c\x1a\x85\x64\x6c\xad\x52\xc8\x50\x65\
+\x37\x30\xb7\x35\xb1\xf6\xb0\x48\x00\x97\xcb\xe5\x70\x38\x1c\x92\
+\xb2\x0b\x8b\x64\x76\xb1\x17\x01\x60\x71\x7d\x4e\xa7\x53\x52\xeb\
+\x5e\x5c\x5c\xcc\xa4\xb4\xf4\x4a\x2a\xc4\xb1\xd8\x4c\x30\x1a\x8d\
+\x94\x2b\xc3\x13\x51\x7d\xb1\xef\xfb\xf9\xd7\xe8\x36\x68\x14\x28\
+\xb1\xe8\x25\xb5\x48\x25\x96\x25\xe7\x8a\x6f\x2e\xd1\x7d\x7f\x04\
+\xb9\x59\x4b\x21\x6b\xf7\x7d\xfc\x6d\x5d\x92\xa7\x17\x7d\xf7\xf9\
+\x95\x52\xe7\x30\xe2\x6d\x80\x57\x8f\x92\x58\x3c\x81\x07\x81\x28\
+\xf2\x1e\x86\x84\xb1\xb8\xaf\x93\x48\xe2\xbf\x9f\xbe\x2b\x29\x5b\
+\xb3\xc8\x8d\x9b\xf3\x2f\x22\x99\x5c\x12\xd6\x00\x30\xcb\xe0\xbe\
+\xae\x93\xd8\x66\xc8\xf2\x9c\xf8\x0a\x3d\x16\xef\x0c\x82\x2d\x5e\
+\x2f\xff\x48\x06\x87\xc3\x21\xb9\x2e\xe3\x4e\xa7\x13\x5f\x7e\xf9\
+\x25\xaf\x31\x42\xa1\x10\x16\x17\x17\xa1\x52\xa9\x44\x37\xbf\x68\
+\x34\xca\xe4\x34\x20\xd3\x0b\x3e\x7c\x1b\xa5\x52\x89\xc2\xc2\x42\
+\x8c\x8d\x8d\xf1\xfb\x36\xad\xa0\x67\xd3\x6a\x0a\x06\x48\x7d\x1d\
+\xd6\xbd\x98\xf1\x06\xf9\x57\x7b\xaa\x73\x98\xc0\x71\xd2\x5a\x24\
+\x8e\x5b\x9a\xd7\x57\x03\xb3\xbc\xc6\xf1\x3d\x66\x5f\x6f\x90\xbf\
+\x23\x59\x5f\x22\x3d\xa7\x2f\x4b\xab\x44\x89\x45\xcf\xbb\xb4\xaf\
+\x37\xf8\x1b\x31\xe3\x63\x70\x5f\x07\x23\x71\xdc\x9d\x5a\x00\xf1\
+\x4d\x12\xc9\x24\x16\xc2\x51\x64\x3d\xac\x3a\xe6\x65\x50\x31\xae\
+\xde\x21\x41\x31\xe3\x30\x81\xe3\xc6\x79\x55\x79\x63\xf1\x7e\x26\
+\xd8\x12\x08\xf0\xaf\x46\x29\xb5\xdd\x79\x60\x29\xd4\x2c\x27\x27\
+\x87\x77\x95\xb7\x40\x20\x20\x4a\x31\xc3\x62\xdd\xcd\x66\xb3\xa4\
+\x42\xcc\x96\x29\x2d\x2d\x25\x31\xb3\x0e\x11\x55\x98\x99\x8f\x81\
+\x83\x2d\xc5\x5d\x55\x56\xf3\x7a\xdc\xa9\xf6\x31\x12\x8e\x64\xeb\
+\x54\x84\x23\x39\x81\x42\xb2\x2c\xcc\x93\x0c\xee\xeb\x82\x6c\xcd\
+\x23\x11\x2a\x25\x58\x9c\x58\x07\xc2\x31\xc4\x13\x49\xba\xe1\x44\
+\x04\xdf\xdd\x79\x8e\xe3\x24\x29\x66\x58\x39\x88\x2c\x4e\x3f\xc4\
+\x2a\x66\xa4\xea\x40\xb3\xb8\x9f\x57\x22\x50\xf8\x8a\x19\x8d\x46\
+\xc3\xa4\x3f\x12\x89\x19\x51\x89\x19\xfe\x4e\x9f\x23\x57\x2b\xc9\
+\x85\x62\x31\xaf\xc7\x9d\x6a\x1f\xcf\x1d\x6c\xb5\x52\x86\x7c\x93\
+\x5a\x9a\xb6\xce\x63\x60\xeb\x10\x5b\xe1\x48\x3c\xff\xbd\x11\x64\
+\xe0\x6c\x17\xe5\xea\x24\x6b\x27\xbe\x73\x4b\xd2\xbd\x2c\x39\xa7\
+\x56\xaf\xd7\x43\xa7\x93\xe6\x3d\x6f\xb1\x58\xd6\xdc\xbe\x62\x16\
+\x33\x2c\xec\x23\x46\x74\x3a\x1d\xef\xaa\x60\xe9\x3c\x99\xc9\xcb\
+\xcb\xcb\xd8\x46\xb5\x24\x66\x52\x70\xb6\x57\x03\xc7\x01\x06\x89\
+\xe5\x70\x2c\x63\xd0\x2a\x78\x87\xcf\xb1\x3c\x2d\xc8\xe4\x66\x82\
+\xcf\x9d\x9b\x8e\xff\xdc\x96\x6d\x9d\x4c\x02\xfe\x30\x95\xb4\x15\
+\x54\xcc\x3c\x14\x8e\x3e\x06\x21\x66\x26\x9d\x42\xb2\x76\x62\x31\
+\x37\x3a\x65\x94\x9e\x98\x91\x2a\x2c\xe6\x26\x65\x31\x23\xe5\xb5\
+\xe7\x2b\xd0\x53\x15\x28\x91\x48\x84\x77\x79\x6c\x29\xaf\xc3\xba\
+\x15\x33\x7c\x3b\xa4\x1b\x34\xca\x8c\x6f\xde\xf8\xd4\x85\xe2\x38\
+\x18\x34\xfc\x9c\x6c\x5f\x28\xf6\x44\x61\xb3\x56\x0e\xbf\x68\xc5\
+\x8c\x96\x85\x98\x59\xb2\xf5\x42\x38\x86\x04\x85\xe6\x08\x2b\x66\
+\x1e\xde\xcb\x2c\xc2\x54\xa5\x2c\xd2\xb3\x18\xcc\x8d\xc4\x8c\x78\
+\x88\xc7\xe3\x88\x44\xf8\x15\x65\x90\xea\xa9\x0c\xab\xb9\x89\x35\
+\xcc\x8c\xc5\x75\x91\x90\x7d\x3a\xa1\x50\x08\xf1\x78\x9c\x99\xe8\
+\x59\xaf\xcf\xe0\xba\x15\x33\x7c\x3f\x94\x52\xde\x55\x65\x31\xbf\
+\x65\xa7\x2f\x1a\x4f\x20\xb4\x18\xe7\x35\x96\x94\xc5\x8c\x56\x25\
+\x87\x92\x67\x5f\x8e\xe5\x7b\x99\xc5\x69\x01\x91\x9a\xad\x59\x38\
+\xda\x52\xbe\xaf\x4d\x0c\x4f\x1c\x89\xb5\x87\x76\xe7\x85\x9f\x9b\
+\x94\x4f\x66\xa4\xec\x44\xb3\x58\xfb\x54\x42\xcd\x56\x12\x8e\xb6\
+\x1e\x9f\xc1\x75\x29\x66\xe2\x89\x24\x02\x3c\xc3\x71\xa4\xec\x88\
+\x00\xfc\x77\x56\x7d\xa1\xe8\xc3\xb8\x77\xfe\x3b\xd8\x26\xad\xb4\
+\x6d\xcd\xf7\x5e\x7a\x14\xfa\x44\xce\x9f\xe0\xb0\x0c\x33\xa3\xf0\
+\xc9\xd4\x84\x23\x41\x0e\xad\xe8\x9d\x1b\x99\x0c\x1a\x8d\x86\xc4\
+\xcc\x13\xd0\x68\x34\x4c\xfa\xb1\x88\x15\x16\xf7\x75\x2a\x42\x85\
+\xc5\xc9\x0c\x89\x19\x89\x89\x99\x40\x24\x06\xbe\xc1\x38\x52\x6a\
+\x74\xf7\x64\x31\xc3\x6f\x7e\xf1\x44\x12\xe1\xc5\x38\xef\x70\x3e\
+\x40\xba\xb9\x49\x8f\x6c\xcd\xf3\x5e\x5a\x78\x18\xd2\xe7\x0f\x51\
+\xbe\x8c\xd0\x2c\xdb\x7a\x81\x81\xad\xa5\xbc\x21\x92\xc5\xe0\xfd\
+\x28\xf6\xfb\x99\x85\x83\x96\x29\x4e\x5e\x28\x14\x22\x31\xf3\x1c\
+\xb4\x5a\xed\x9a\xdb\x58\x8c\x6b\xcf\xd7\x2e\xeb\x41\xcc\xa4\x22\
+\x18\xe9\x64\x86\xc4\xcc\x6f\xdf\x7c\x2a\xfe\x1f\x90\x60\x24\x2e\
+\xe9\xc5\xe2\x3b\x3f\x8e\x5b\xaa\x42\xc6\xa2\xbc\x2a\xdf\x30\x35\
+\xd1\x3b\x0a\x3c\xe7\xa7\x7d\x78\x3f\xeb\xd4\x72\x10\xc2\xa2\x54\
+\x3c\x7c\x8d\x31\x48\x97\x53\x29\xa4\x5b\x55\x46\x26\xe3\x3f\x37\
+\xb1\xa7\x24\x9a\xcd\x66\xe4\xe6\xe6\xf2\x98\x1f\x87\xf2\xf2\xf2\
+\x8c\x58\x4f\xb5\x9a\x7f\x35\x49\xbe\x39\x37\x62\x87\xef\xfc\x58\
+\xd8\x58\x08\xf8\xf6\xbe\xa1\x75\x7f\x3e\x89\x44\xe2\xb9\x3f\x93\
+\x4a\x5e\xcd\x7a\xdf\x50\x58\x77\x62\x46\x21\x97\x3d\x72\x00\x57\
+\x8b\xd4\xf3\x13\xf8\xce\x2f\x8b\x61\x81\x04\xa9\x87\x4f\xf1\x6d\
+\xbe\xb8\xbc\xc3\x2f\xf5\xd0\x47\x31\xc0\x62\x23\x84\x90\x0e\xcd\
+\xcd\xcd\xab\xea\x68\xcf\x71\x1c\xea\xea\xea\x60\x34\x1a\x33\x62\
+\x9e\x52\xce\x09\x61\x41\x32\x99\xe4\x7d\x82\x21\xd6\x5d\x73\x16\
+\x09\xee\xc9\xa4\x74\x0b\xd3\x88\xb5\x70\xc3\xd3\xde\x3b\x04\x03\
+\x0d\x21\xa6\x8b\x31\xea\x94\xbc\x76\xc4\xa5\xee\x60\xf3\xaf\x40\
+\xa6\x10\xcd\xb5\x88\x99\x68\x3c\x81\x30\xef\x02\x09\x4b\xb6\x36\
+\x6a\x49\xcc\x08\x2e\x66\xd4\x0a\x32\x02\xf1\x88\xf2\xf2\x72\x14\
+\x17\x17\x63\x70\x70\x30\x65\x67\x5d\xa1\x50\xa0\xac\xac\x2c\x63\
+\x84\x0c\x89\x99\xd4\x1c\x5a\xbe\x0e\xbb\x58\x77\xcd\xf9\xae\xfd\
+\xb2\xd0\x93\xea\xa9\x80\x94\xef\x6b\x22\x03\xc4\x8c\x49\xa7\xc4\
+\xf4\x83\xf0\xaa\x7f\xdf\x1f\x5a\xca\xbb\x91\xa2\xce\x4d\x82\x7f\
+\xbc\x3a\xcb\x53\x02\xaf\x84\x4f\xc1\x58\x08\xb5\xe5\xca\x51\x59\
+\x5a\x05\xb8\x87\xeb\x47\x08\x25\x66\xe8\x64\x86\xf8\x26\x2a\x95\
+\x0a\xb5\xb5\xb5\x92\x9e\xa3\x52\xa9\x84\x52\xa9\xe4\xd5\xe7\x22\
+\x93\x76\xb0\xd7\x62\x6e\x52\x3d\x99\x59\x76\xf8\x49\xcc\x10\x52\
+\x41\x54\xa5\x99\xf9\xee\x62\xb3\xa8\x88\x26\xda\x87\x93\x41\x77\
+\x73\x96\xa7\x04\xfe\xa0\x74\x13\xdb\x59\xf6\x2b\x91\xcb\x38\xe8\
+\x35\x74\x72\x40\x62\x86\x20\xc4\xe7\xd4\x4a\xd9\xe9\x93\x72\xe9\
+\x6a\x3a\x95\x5b\xbf\x22\x9d\xc8\x04\x31\xc3\xe0\xe4\x80\xcf\xc9\
+\x8e\x98\x61\x31\x2f\x13\xc3\x93\x99\x40\x24\x86\x05\x89\x0a\xc7\
+\x69\x6f\x98\xe9\xbd\x6c\xa2\xbc\x19\x41\xc9\xcb\x52\x93\x11\x08\
+\x12\x33\xab\x60\x61\x61\x81\x77\x07\x73\xb1\x32\x3f\x3f\xcf\x7b\
+\x0c\xb1\x9e\x5c\xb0\xb8\x2e\x16\xf6\x11\x23\xd1\x68\x94\x49\xc9\
+\x64\x82\xc4\x0c\x0f\x67\x9b\xff\x0e\x76\xef\xb8\x57\x92\x0b\xc5\
+\x62\x5e\xac\x93\xd1\xc9\xd6\xa9\xd9\x9a\x8a\x00\x08\x47\x41\xb6\
+\x06\x0d\x25\xd9\x64\x08\x62\x5d\xc2\xd7\xa9\x4d\x24\x12\x18\x1b\
+\x1b\x93\xa4\x6d\x86\x87\x87\xd7\x5c\x2c\x8a\x55\xc4\x02\xc0\xc8\
+\xc8\x88\x24\xd7\x7d\x6c\x6c\x2c\xa5\x4a\x64\x84\xb4\x10\x57\x01\
+\x00\x06\x61\x50\x3d\x63\x3e\x1c\xdd\x52\x28\xb9\x85\xea\x19\xf3\
+\x89\xc2\xbe\xdf\x70\xfa\xc7\xbc\x68\xad\xc8\x95\x94\x9d\x17\x63\
+\x09\xdc\x99\xe4\x5f\x3b\xfe\xf1\xa6\xa2\x2c\xec\x2e\x97\x71\xbf\
+\x29\x41\x4c\x40\x25\x97\xa1\xa1\xc4\x84\x9d\x35\x79\xa0\x62\x30\
+\xc4\x7a\x85\x85\x53\x3b\x3c\x3c\x8c\xb2\xb2\x32\x49\xd9\x25\x18\
+\x0c\x62\x7a\x7a\x9a\xc4\xcc\x33\x98\x9a\x9a\x42\x28\x14\x92\x5c\
+\xcf\x19\xa9\x8a\x34\x22\x83\xc4\x8c\xd9\xa0\xe2\x3d\xc6\xac\x3f\
+\x82\xa9\x07\x61\x58\xb3\x35\x92\x59\xa4\xa9\x07\x61\xcc\xfa\x23\
+\xa2\xb0\xef\xe3\xdc\x99\x5c\xc0\x62\x2c\x01\x95\x84\x9c\xec\xfe\
+\x49\x3f\x62\x71\x7e\xbb\x3a\x1c\x80\x6c\xbd\xf2\x31\xbb\xf3\x17\
+\x33\x26\x9d\x12\xff\xf1\x78\x2d\xc8\x6f\x27\x08\x62\x99\xac\xac\
+\x2c\xde\x63\x8c\x8e\x8e\x22\x91\x48\x40\x26\x93\xce\x7b\x7c\x64\
+\x64\x84\x77\x25\x33\xa5\x52\x09\x8d\x46\x9c\x7e\x84\x46\xa3\xe1\
+\x5d\xfc\x21\x99\x4c\x62\x74\x74\x14\xd5\xd5\xd5\x92\x59\xf7\x64\
+\x32\x49\x62\x66\x9d\x22\xaa\xb7\x57\x61\xae\x96\x49\xb2\x74\xcf\
+\x98\xb4\xc2\x9f\x58\xcc\xc7\xa8\x55\xc2\x6a\x66\xfb\x62\x8e\xc6\
+\x13\xb8\x33\x29\xad\xd8\xd4\x5e\x06\xb6\x2e\xb6\xe8\xa1\x79\xac\
+\xf7\x49\x95\x9d\x7f\xb9\xd7\xb9\x85\x45\xc9\xd9\x9a\x20\x08\x7e\
+\x38\x1c\x0e\xde\x63\x44\x22\x11\x4c\x4e\x4e\x4a\xca\x2e\x2c\x1c\
+\xda\xa2\xa2\x22\x51\xcf\x91\xc5\xf5\xb1\x08\xc5\x13\x13\x93\x93\
+\x93\x92\x6f\x08\x4a\x64\x80\x98\x91\x71\x1c\xea\x1c\xfc\x1d\xbf\
+\x6b\xc3\x0f\x24\x53\x0a\x37\xf9\x70\x3e\x7c\xa9\x2b\x36\x0a\xb2\
+\xab\xcf\xe2\xda\xc4\xc2\x62\x2c\xc1\x24\x5f\xa6\xbe\xd8\xf4\x4d\
+\x87\xc3\xa2\x63\x12\x6a\xd6\xd5\x3f\x4b\x6f\x2c\x82\x20\x1e\x91\
+\x9d\x9d\x0d\xb3\xd9\xcc\x7b\x9c\xc1\xc1\x41\xc9\xd8\x24\x1c\x0e\
+\x63\x7c\x7c\x9c\xf7\x38\x2e\x97\x4b\xd4\xf3\x64\x71\x7d\xe3\xe3\
+\xe3\x92\x72\xfe\xa5\x74\x1f\x13\x19\x2c\x66\x96\x1c\x41\xfe\xc9\
+\xbc\xee\xf9\x10\xae\x8f\x48\xc3\xc9\xbe\x36\x3c\x0f\xf7\x7c\x88\
+\x81\x5d\x4d\xc2\x5c\xdf\xc8\x3c\x26\xe7\x42\x92\xb0\xf5\xf9\x5b\
+\x33\x08\x46\xe2\xbc\xc7\x69\x28\xf9\xa6\xad\xb9\x87\x62\x92\x2f\
+\xbd\xe3\x5e\xde\xbd\x86\x08\x82\x90\x16\xa5\xa5\xa5\xbc\xc7\xe8\
+\xeb\xeb\x83\xd7\x2b\x8d\x88\x86\xcb\x97\x2f\x23\x1e\xe7\xf7\x1e\
+\xe7\x38\x0e\x4e\xa7\x53\xd4\xf3\x74\x3a\x9d\xbc\xbb\xc7\xc7\x62\
+\x31\x5c\xb9\x72\x45\x12\xeb\xee\xf3\xf9\x70\xfb\xf6\x6d\x7a\x21\
+\x90\x98\x11\x07\x55\x76\x03\x93\x1c\x8c\x53\x57\xdd\xbc\xfb\xb2\
+\xac\x35\xf1\x44\x12\xa7\xae\xba\x79\x8f\xa3\x56\xca\x50\x61\xcb\
+\x12\xe4\x1a\x93\x49\xe0\xc4\xe5\xcc\x0f\x51\x08\x84\x63\x38\x7b\
+\xd3\xc3\x7b\x9c\x02\x93\x06\x16\xa3\x5a\x10\x31\x19\x4f\x24\x71\
+\xe6\xe6\x34\x08\x82\x20\x96\x61\xb1\x43\x9f\x48\x24\xf0\xd5\x57\
+\x5f\x49\xc2\xa1\xed\xe9\xe9\xe1\x3d\x8e\xcd\x66\x13\x6d\xbe\xcc\
+\x32\x1a\x8d\x06\x56\xab\x95\xf7\x38\x37\x6f\xde\x94\x44\x29\xe3\
+\xaf\xbe\xfa\x8a\xaa\x98\xad\x63\x44\xd7\xcd\x4f\x21\x97\xa1\xba\
+\xd0\x88\x1b\xa3\xfc\x4e\x56\xee\xfb\x22\xe8\xba\x33\x8b\x1d\xd5\
+\x79\x19\xbb\x38\x9d\x7d\xf7\x31\xeb\x5f\xe4\x3d\x4e\x4d\xa1\x11\
+\x72\x99\x70\xa9\xe3\xfd\x93\x7e\xf4\x4f\xfa\x51\x65\xcf\xca\x58\
+\x5b\x9f\xbe\x3e\x8d\x70\x94\xff\xa9\x4c\x7d\xc9\x93\x45\x4b\x85\
+\x2d\x0b\x6a\xa5\x0c\x91\x28\xbf\x97\xed\x97\x7d\xf7\xd1\x5a\x91\
+\x0b\x9b\x39\x73\x0b\x5c\x0c\xb8\xfd\x38\x7d\x7d\x1a\xee\xf9\x10\
+\x56\xb2\xdf\x20\x97\x71\x28\xcc\xd1\xe2\xc8\x66\x3b\x0a\x73\xa4\
+\x55\x81\x87\x20\x56\x4b\x7e\x7e\x3e\x0c\x06\x03\x16\x16\xf8\x55\
+\x61\x1c\x1c\x1c\x44\x53\x53\x13\x2c\x16\xcb\xba\x77\x68\xc5\x1e\
+\x62\xf6\xf8\x75\xba\xdd\xfc\x36\x3c\xe3\xf1\x38\xba\xba\xba\xb0\
+\x7f\xff\xfe\x8c\x5d\xf7\x99\x99\x19\x0c\x0c\x0c\xd0\xcb\x60\x1d\
+\x23\xca\xf2\x25\xac\x42\xa2\x4e\x5f\x9f\xe2\xed\x3c\xae\x15\xe1\
+\xc5\x38\x4e\x5f\x9f\x16\x95\x3d\x9f\xc5\x89\xcb\x93\x48\x66\xe8\
+\x41\xd8\xac\x7f\x11\x9d\xfd\xf7\x05\xb5\xb5\x5c\xc6\xa1\xa6\x90\
+\x7f\xa8\x59\x22\x91\xc4\xaf\xbb\xc6\x91\xa9\xdc\x99\xf4\xe3\x67\
+\x9f\x0e\xe1\xee\xd4\x02\x82\x91\x38\xc2\x8b\xa9\xff\x13\x08\xc7\
+\x70\x67\xd2\x8f\x9f\x7e\x3c\x88\x40\x84\xc2\xed\x08\x62\x19\x56\
+\x21\x51\x17\x2f\x5e\xcc\x58\x1b\x78\x3c\x1e\x66\x0e\x6d\x26\x89\
+\x19\x16\x0c\x0c\x0c\xc0\xe3\xf1\x64\xec\xda\x67\xf2\x7d\x4b\x48\
+\x58\xcc\xd4\x3a\xd8\x9c\x24\xf8\x43\x31\x9c\xbc\x92\x99\x21\x50\
+\xef\x77\x4f\x30\x71\xd8\xe4\x32\x0e\x35\x45\x46\xc1\xaf\x77\x72\
+\x2e\x84\xcf\x7b\x33\xef\x65\x98\x48\x26\xf1\xce\xc5\x71\x26\x21\
+\x89\x26\x9d\x12\x8e\xbc\xa7\x37\xb1\xab\x63\x24\x2a\x87\xa6\x03\
+\xb8\x7c\x77\x2e\xe3\x6c\x7d\xdf\x17\xc1\xff\x3e\x37\x82\x58\x9c\
+\x9f\xad\x43\x8b\x71\xf4\x32\xe8\xbb\x44\x10\x52\x81\x45\xde\x0c\
+\x00\xdc\xbb\x77\x0f\xfd\xfd\xfd\x19\x37\xff\x78\x3c\x8e\xcf\x3f\
+\xff\x9c\xc9\x58\xb9\xb9\xb9\x30\x1a\x8d\x19\x31\x6f\x93\xc9\x84\
+\x9c\x9c\x1c\x26\x63\x9d\x3f\x7f\x9e\x77\xae\xd1\x5a\x70\xe7\xce\
+\x1d\xdc\xbb\x77\x8f\x5e\x02\x24\x66\xc4\x87\x56\x25\x47\x99\xd5\
+\xc0\x64\xac\x2f\xfb\xee\xa3\xeb\x4e\x66\x55\x81\xba\x70\x7b\x06\
+\x97\x06\xd8\x38\xab\x65\x56\xc3\x37\xca\x04\x0b\xc9\xc9\x2b\x6e\
+\xf4\x4f\x64\x56\xec\xed\xc9\xcb\x6e\xf4\x33\x2a\x79\x5c\x5f\x6c\
+\x7a\x66\xc5\xb8\x9a\x22\x76\xe1\x7e\xbf\xee\xba\xc7\xa4\x30\x44\
+\xba\x08\x47\xe3\xf8\xf9\x99\x61\x84\x16\xd9\x7c\x2c\x15\x72\xea\
+\xb8\x43\x10\xcb\xd8\xed\x76\xa8\xd5\x6a\x26\x63\x9d\x3b\x77\x8e\
+\x49\xc3\xc9\x74\xf2\xd9\x67\x9f\x61\x66\x66\x86\xc9\x58\x99\x72\
+\x2a\xc3\xfa\x7a\x3d\x1e\x0f\xce\x9d\x3b\x97\x51\x73\xf7\x78\x3c\
+\x38\x7b\xf6\x2c\xbd\x00\x08\x88\xb6\x4b\xd6\xee\x5a\x76\x71\xbb\
+\xbf\xee\xba\x87\xbb\x53\x0b\x19\xb1\x20\x77\x26\xfd\xf8\xe0\x12\
+\xbb\xd3\xa4\x17\xea\xd2\x17\xff\x9c\x48\x26\xf1\x2f\x9f\x8f\x60\
+\xc6\x97\x19\xa5\x1e\x2f\xdf\x9d\xc3\x39\x46\xa7\x49\x32\x8e\x7b\
+\x6e\x7e\x96\x56\x25\xc7\x96\x72\x36\xbb\x68\x91\x68\x02\xff\xf3\
+\xd3\xe1\x8c\xa8\x6e\x96\x04\xf0\x7f\xce\x8f\x62\xda\x1b\x66\x32\
+\x9e\x4a\x21\x43\x85\xcd\x00\x82\x20\x1e\xbe\x7f\x64\x32\x34\x34\
+\x34\x30\x19\x2b\x1e\x8f\xe3\xd4\xa9\x53\x08\x04\x02\x19\x31\xf7\
+\x2b\x57\xae\x30\x0b\x2f\x53\x28\x14\xa8\xab\xab\xcb\xa8\xb5\xaf\
+\xab\xab\x83\x5c\xce\x66\xc3\xb2\xbf\xbf\x1f\xd7\xaf\x5f\xcf\x88\
+\x79\x07\x83\x41\x9c\x3a\x75\x2a\x23\x4f\x93\x88\x75\x24\x66\x6a\
+\x8a\x8c\xcc\x4e\x67\xe2\x89\x24\xfe\xd7\xb9\x11\xcc\x2d\x2c\x8a\
+\x7a\x31\x66\x1e\x86\xe1\x24\x18\x25\x9f\x94\x5b\x0d\xa8\x2e\x4c\
+\xef\x71\x79\x68\x31\x8e\x9f\x9f\x19\x42\x78\x51\xdc\x2f\x98\xd1\
+\x99\x00\xde\xea\x64\x97\x7b\xb2\xa5\x3c\x07\x05\xd9\xcf\x4f\xca\
+\x3f\xd0\x64\x65\x52\xad\x0f\x00\xe6\x03\x8b\xf8\xf9\x67\x43\x88\
+\xc5\xc5\x9d\x17\x76\xea\xaa\x1b\xbd\xe3\xec\xc2\xc2\x76\x54\xe7\
+\x21\x8b\x41\xdf\x1e\x82\x90\x12\x4d\x4d\x4d\xd0\x6a\xd9\x14\xc6\
+\x08\x06\x83\xf8\xe8\xa3\x8f\x10\x8b\x89\x7b\xb3\x64\x78\x78\x98\
+\x69\x15\xb6\x0d\x1b\x36\x40\xaf\xd7\x67\xd4\xba\x1b\x0c\x06\x66\
+\x42\x16\x00\x3a\x3b\x3b\x99\xf4\xe9\x11\x92\x4c\x13\xdc\xc4\x3a\
+\x16\x33\x00\x70\xa4\xd9\xce\x6c\xac\x40\x38\x86\x9f\x9d\x1e\xc2\
+\xbc\x48\x05\xcd\xac\x3f\x82\x9f\x7d\x3a\xc4\x2c\x0c\x87\x03\x70\
+\x64\xb3\x7d\x4d\xe6\xe2\xf1\x46\xf0\x8b\xcf\x86\x45\x2b\x68\xdc\
+\xf3\x21\xfc\xe2\x33\xfe\xb9\x1b\xcb\x28\xe5\x32\x1c\x68\x4a\xad\
+\x44\xa6\x51\x13\x45\x30\x4c\x00\x00\x14\xec\x49\x44\x41\x54\xab\
+\x64\x7a\x5a\x36\x36\x13\xc4\xcf\xcf\x0c\x8b\xb6\xd0\xc5\xd7\x43\
+\xf3\x38\x73\x83\x5d\xc8\x8a\x5a\x29\x43\x7b\x43\x3e\xbd\xb9\x09\
+\xe2\xdb\xef\x21\xa5\x12\xcd\xcd\xcd\xcc\xc6\x9b\x99\x99\xc1\x27\
+\x9f\x7c\x82\x68\x34\x2a\xca\xf9\x4e\x4c\x4c\xe0\xd3\x4f\x3f\x65\
+\x36\x9e\x46\xa3\xc1\xa6\x4d\x9b\x32\x72\xed\x9b\x9b\x9b\x99\x85\
+\x19\x26\x93\x49\x7c\xf2\xc9\x27\xa2\x0d\x35\x8c\xc7\xe3\x38\x7d\
+\xfa\x74\xc6\x85\x42\x12\xeb\x58\xcc\x14\x5b\x74\xd8\x50\x92\xcd\
+\x6c\xbc\x69\x6f\x18\x7f\x7b\xe2\x0e\x86\xa7\xc5\xa5\xe6\x07\xa7\
+\x16\xf0\x77\x27\x06\x70\x9f\x61\x78\x56\xa3\x2b\xfb\x99\xc9\xe8\
+\x69\x99\xd3\x49\xb6\x73\x62\x41\xcf\x98\x17\x7f\x7f\x72\x00\xfe\
+\x10\xbb\x0f\xf4\xae\xda\x3c\x98\x74\xa9\x9f\x14\xb4\xd7\x17\xc0\
+\xa0\x61\x57\x15\xbd\x7f\xd2\x8f\x7f\x38\xc5\x76\x4e\x7c\x49\x24\
+\x93\xf8\xe8\xaa\x1b\xbf\x3a\x3f\xca\x74\xdc\x17\x6a\xf3\xa1\x57\
+\x8b\xae\xa2\x3c\x41\x88\x82\xfa\xfa\x7a\xa6\xc9\xeb\x23\x23\x23\
+\x78\xf7\xdd\x77\x79\x97\x7d\x66\xfe\x1e\xef\xe9\xc1\x87\x1f\x7e\
+\xc8\x54\x68\x35\x37\x37\x43\xa5\x52\x65\xe4\xba\xab\xd5\x6a\xa6\
+\x42\x36\x12\x89\xe0\xbd\xf7\xde\x13\x5d\x31\x88\x40\x20\x80\x77\
+\xdf\x7d\x17\x43\x43\x43\xf4\xb0\x13\x99\x23\x66\x00\xe0\x50\xb3\
+\x0d\x32\x86\x3d\x52\x16\xc2\x31\xfc\xf4\xdf\x06\x99\x25\xd8\xf3\
+\xa5\xb3\xef\x3e\xfe\xe9\x93\xbb\x4c\x4b\xcd\xca\x65\x1c\x0e\x6d\
+\xb2\xad\xf9\xdc\x3c\x0f\xc5\xe3\x9d\x49\x71\x14\x05\xf8\xf4\xc6\
+\x34\xfe\xf9\xb3\x61\x2c\xc6\xd8\x9d\x62\x68\x55\x72\xec\x69\x28\
+\x58\xd9\x87\x47\x29\xc3\xfe\xc6\x02\xa6\x73\x9b\x98\x0b\xe1\xef\
+\x4f\x0e\xc0\xc3\x28\x2f\x85\x0f\xde\x60\x14\x3f\xfd\x78\x10\x67\
+\x6e\x4c\x83\x65\xb5\x6e\xad\x4a\x9e\xd6\x1c\x30\x82\xc8\xb8\x0f\
+\xba\x4c\x86\xd6\xd6\x56\xa6\x63\xde\xbf\x7f\x1f\x6f\xbd\xf5\x16\
+\xef\x7e\x26\x2c\x48\x24\x12\xf8\xfc\xf3\xcf\x71\xfe\xfc\x79\xa6\
+\x0d\x12\x8d\x46\x23\xd3\x50\xad\xb5\xa0\xa1\xa1\x01\x06\x03\xbb\
+\x5c\xc2\x78\x3c\x8e\x33\x67\xce\xa0\xb3\xb3\x13\x49\x11\xf4\x5d\
+\xf0\x78\x3c\x78\xfb\xed\xb7\x33\xba\x84\x34\xb1\x8e\xc5\x8c\xc5\
+\xa8\x46\x6b\x45\x0e\xd3\x31\xe3\x89\x24\xfe\xf5\xcb\x31\xbc\x7f\
+\x69\x82\x59\xa8\xd1\x4a\x89\xc6\x13\x78\xa7\xeb\x1e\xde\xe9\xba\
+\x87\x44\x82\xed\x35\x6c\xab\xca\x43\x6e\x96\x5a\x14\xeb\x17\x5a\
+\x8c\xe3\x7f\x7c\x3a\x84\x0b\xb7\x66\xb0\x56\xaf\xc3\x48\x34\x81\
+\x5f\x7e\x3e\x8a\x53\x57\xdd\xcc\xaf\x61\xdf\x86\x02\x68\x57\x51\
+\x2d\x4e\x88\x35\x9a\x5b\x58\xc4\xdf\x9e\xb8\x83\xf3\xbd\x33\xcc\
+\xf2\xae\x56\x4a\xdf\x84\x0f\xff\xf5\x83\x7e\x0c\x09\x70\xfa\xb9\
+\xa7\x21\x3f\x6d\x95\xf9\x08\x22\x53\xa9\xa8\xa8\x40\x5e\x1e\xdb\
+\x66\xd1\xa1\x50\x08\xef\xbf\xff\x3e\x6e\xdd\xba\xb5\x66\xf3\x0a\
+\x06\x83\xf8\xf0\xc3\x0f\xd1\xdb\xdb\xcb\x7c\xec\xd6\xd6\x56\xc8\
+\x64\xb2\x8c\x5e\x77\xb9\x5c\xce\x5c\xc8\x02\xc0\xb5\x6b\xd7\x70\
+\xf2\xe4\x49\x84\xc3\x6b\xb7\x51\xd6\xdf\xdf\x8f\x77\xdf\x7d\x97\
+\x72\x64\x88\xcc\x15\x33\x00\xf0\xe2\x46\x76\x49\xd3\x8f\x73\xfe\
+\xd6\x0c\xfe\xcb\xaf\x6f\xa3\x7b\x70\x2e\x6d\x0d\x1f\x13\xc9\x24\
+\x2e\x0d\xcc\xe1\x3f\xbf\x73\x1b\x9d\x7d\xf7\x99\x8f\x2f\xc4\xae\
+\x3f\xef\x39\x27\x92\x78\xef\xd2\x04\xfe\xe6\x83\xfe\xb4\x9e\xd2\
+\xc4\x13\x49\x7c\x71\x7b\x06\xff\xe9\x9d\x5b\xf8\x7a\x78\x9e\xf9\
+\xf8\xd9\x7a\x25\x76\xd6\xac\xce\x69\x10\xea\xf4\x2c\x12\x4d\xe0\
+\xfd\xee\x09\xfc\xdd\x89\x3b\xb8\x37\x1b\x4c\xab\xad\x4f\x5c\x9e\
+\xc4\xcf\x4e\x0f\x21\x10\x66\x9f\x34\xec\xc8\xd3\xe1\x85\x3a\xca\
+\x95\x21\x88\x54\xd8\xb6\x6d\x9b\x00\xef\xf1\x04\xce\x9d\x3b\x87\
+\xb7\xdf\x7e\x1b\x13\x13\x13\x69\x9b\x4b\x34\x1a\x45\x77\x77\x37\
+\x7e\xf5\xab\x5f\x09\xf2\x77\x2d\x16\x0b\x2a\x2a\x2a\x24\xb1\xee\
+\x95\x95\x95\xc8\xcd\xcd\x65\x3e\xee\xd8\xd8\x18\x7e\xf9\xcb\x5f\
+\xe2\xea\xd5\xab\x69\x2d\x0a\x31\x35\x35\x85\x77\xdf\x7d\x17\x67\
+\xce\x9c\xa1\xaa\x65\xc4\x33\xc9\x88\xe0\x73\xa3\x56\x89\x3d\x0d\
+\x05\xf8\xf8\x6b\xf6\xc7\xdc\xf3\x81\x45\xfc\xbf\x2f\xc6\xf0\x79\
+\xaf\x07\x87\x9b\xed\x82\x36\x98\xbc\x35\xee\xc3\xc9\x2b\x93\x98\
+\x7a\x20\xdc\x0e\xc7\x8b\x8d\x56\xa6\xf9\x18\x2c\x99\x98\x0b\xe1\
+\x9f\x3e\xb9\x8b\x2a\x7b\x16\x0e\x6f\xb6\xa3\x30\x47\x2b\xc8\xdf\
+\x49\x02\xb8\x36\x3c\x8f\x53\x57\xdd\x98\xf5\x0b\x57\xf0\xe1\x48\
+\xb3\x1d\x0a\xf9\xea\x45\x76\xa3\x2b\x1b\x5f\xf4\xe9\x05\xc9\xe1\
+\xba\x37\x1b\xc2\xdf\x9d\x18\xc0\xe6\x72\x33\x76\xd7\xe6\xc3\x66\
+\xd6\x08\x62\x83\xf9\x85\x45\x74\xdd\x99\xc5\x57\x03\xb3\x82\x95\
+\x89\x56\x29\x64\xf8\xee\xee\x12\x66\x3d\x7a\x08\x42\xea\x38\x1c\
+\x0e\x94\x94\x94\x60\x74\x74\x94\xf9\xd8\x1e\x8f\x07\xef\xbf\xff\
+\x3e\x8a\x8b\x8b\xb1\x75\xeb\x56\xe6\xa7\x40\x8f\x8b\xa7\x5b\xb7\
+\x6e\xa1\xbb\xbb\x1b\xa1\x90\x30\x3d\xb5\x38\x8e\xc3\x8e\x1d\x3b\
+\x24\xb3\xee\xcb\xf3\xf9\xe0\x83\x0f\x98\x8f\xbd\xb8\xb8\x88\xae\
+\xae\x2e\xdc\xbc\x79\x13\x2d\x2d\x2d\xa8\xae\xae\x06\xc7\x09\xf3\
+\x4e\x9e\x9f\x9f\x47\x57\x57\x17\x86\x87\x87\xe9\x61\x26\xa4\x23\
+\x66\x00\x60\x5f\x63\x01\xee\xcd\x06\xd1\x33\xe6\x15\x64\x7c\xf7\
+\x7c\x18\x3f\xfb\x74\x08\xce\x7c\x3d\x36\x95\x9a\x51\xef\x30\xc1\
+\xa4\xe7\x5f\xfe\xd5\x1b\x88\xa2\x67\xdc\x8b\xab\x43\xf3\x18\xf1\
+\x08\x7b\x44\xda\xe8\xcc\xc6\x0b\xf5\xe2\xdf\xbd\xee\x9f\xf4\xe3\
+\xce\x07\xfd\x68\x28\xc9\x46\xa3\x2b\x1b\x35\x85\x46\xa8\x95\xfc\
+\x4f\xde\xe6\x16\x16\xd1\x3b\xe6\x45\xf7\xe0\x1c\x26\xe6\x84\x6d\
+\x28\xb9\xab\xd6\x82\xa6\x52\x33\xbf\x0f\x0f\x80\x37\xda\x9c\xf8\
+\x9b\x13\x77\xe0\x0d\xb0\x4f\xde\x5f\x3e\x05\xbc\x34\x30\x87\x72\
+\x9b\x01\xbb\x6b\x2d\xa8\x2d\x32\x81\xef\xf7\x27\x99\x5c\x0a\x27\
+\xeb\xec\xbf\x8f\xdb\xf7\x7c\x82\x9f\x6a\xbe\xd2\x5a\x84\x3c\xa3\
+\x1a\x04\x41\xac\xe0\x9b\xb9\x6f\x1f\xde\x79\xe7\x1d\x3c\x78\xf0\
+\x40\x90\xf1\xc7\xc6\xc6\x30\x3e\x3e\x0e\x97\xcb\x85\xb2\xb2\x32\
+\x94\x94\x94\x30\x49\xa0\x9f\x9b\x9b\xc3\xf0\xf0\x30\xfa\xfa\xfa\
+\xe0\xf5\x7a\x05\xb5\xd1\xb6\x6d\xdb\x60\xb7\xdb\x25\xb5\xee\x45\
+\x45\x45\x68\x6d\x6d\x65\x5a\xb2\xfa\x71\x02\x81\x00\xce\x9e\x3d\
+\x8b\x6b\xd7\xae\xa1\xa6\xa6\x06\x2e\x97\x0b\x26\x93\x89\xf7\xb8\
+\xb1\x58\x0c\x63\x63\x63\xb8\x7b\xf7\x2e\x06\x07\x07\x45\x91\xa7\
+\x43\x90\x98\x61\xbf\xe3\x00\xe0\x3b\xbb\x4a\xf0\xdf\x3e\x1a\x10\
+\xb4\xf3\xf9\x88\x27\x80\x11\x4f\x00\xbf\xee\xba\x87\xa2\x5c\x1d\
+\xea\x8b\x4d\xa8\x2f\x36\xa2\x20\x5b\x03\x59\x0a\x5e\x60\x22\x99\
+\xc4\xf4\x83\x30\x7a\xc6\x7c\xe8\x19\xf3\xa6\x2d\xd4\xa7\x30\x47\
+\x8b\xdf\xdd\x59\x8c\x4c\xd9\xbb\x4e\x02\xb8\x31\xfa\x00\x37\x46\
+\x1f\x40\x2e\xe3\x50\x61\xcb\x42\x5d\xb1\x11\x75\x0e\x53\xca\x95\
+\xc1\x92\x00\x26\x66\x43\xe8\x1d\xf3\xa2\x67\xdc\x8b\x49\x81\x05\
+\xcc\x32\x55\xf6\x2c\x1c\xdd\xc2\xe6\x03\x98\xa5\x55\xe2\x7b\x7b\
+\x4a\xf1\x0f\xa7\x06\x98\x16\x26\xf8\x36\x83\xee\x05\x0c\xba\x17\
+\x60\xd0\x28\x50\x6e\x35\xa0\xcc\x66\x40\xb9\xd5\x80\x7c\xd3\xf3\
+\x4f\x6c\xc2\x8b\x71\xcc\x2e\x2c\x62\x6e\x61\x11\xee\xb9\x10\xba\
+\x07\xe7\xd2\xd6\xb3\x69\xa3\x33\x1b\x2d\x8c\x73\xe6\x08\x62\x3d\
+\xa0\x56\xab\x71\xe8\xd0\x21\xbc\xf3\xce\x3b\x88\x44\x84\xa9\x2a\
+\x99\x4c\x26\x31\x34\x34\x84\xa1\xa1\x21\xc8\x64\x32\x14\x16\x16\
+\xc2\xe5\x72\xa1\xa4\xa4\x04\x59\x59\x59\xa9\x6d\xba\x24\x12\x98\
+\x9a\x9a\xc2\xf0\xf0\x30\x86\x87\x87\xe1\xf3\xf9\xd2\x62\x9f\xaa\
+\xaa\x2a\x6c\xdc\xb8\x51\x92\x6b\xdf\xdc\xdc\x8c\xb9\xb9\x39\x66\
+\xcd\x44\x9f\xc4\xfc\xfc\x3c\x3a\x3b\x3b\xd1\xd9\xd9\x09\xb3\xd9\
+\x0c\x97\xcb\x05\x97\xcb\x85\xfc\xfc\xfc\x94\x4f\x6c\x82\xc1\x20\
+\x46\x47\x47\x31\x3c\x3c\x8c\xf1\xf1\x71\x0a\x25\x23\xa4\x2f\x66\
+\x80\xa5\x7c\x90\xef\xef\x75\xe1\x6f\x4f\xdc\xc1\x42\x58\xf8\xb8\
+\xcd\x7b\xb3\x41\xdc\x9b\x0d\xe2\xe3\xaf\xdd\x90\x71\x1c\x0c\x1a\
+\x05\x8c\x3a\x25\x8c\x3a\x05\x8c\x5a\x25\xf4\x1a\x05\x02\xe1\x18\
+\x7c\xa1\x28\x7c\xc1\x18\x7c\xc1\x28\x16\xc2\xb1\xb4\x27\x5f\x67\
+\x69\x15\xf8\xde\xde\x52\x41\xf2\x8a\xd2\x41\x3c\x91\x44\xdf\x84\
+\x0f\x7d\x13\x3e\xbc\x73\xf1\x1e\xd4\x4a\x19\xb2\xb4\x4a\x98\x74\
+\x4a\x18\xb5\x4b\xf6\xd6\x28\xe5\x58\x08\xc7\xe0\x0d\x46\x1f\xda\
+\x3b\x0a\x7f\x28\x86\x78\x22\xbd\xb6\xce\x37\xa9\xf1\x07\x6d\xce\
+\x94\x84\x6d\xaa\x14\xe5\x6a\xf1\xfa\xce\x62\xfc\xcb\xb9\x11\xc1\
+\xaf\x7f\x21\x1c\xc3\xb5\x91\x07\xb8\x36\xb2\xb4\x5b\x6b\xd0\x28\
+\x90\xad\x5f\xba\x97\x0d\x1a\x05\xf4\x1a\x05\x64\x1c\x87\xb9\x85\
+\x45\xcc\xf9\x17\x31\xeb\x8f\x30\xeb\x7d\xb4\x52\xcc\x7a\x15\x8e\
+\x6f\x77\xd0\x5b\x9a\x20\x56\x49\x76\x76\x36\x5e\x7c\xf1\x45\x9c\
+\x38\x71\x42\xf0\x9d\xee\x44\x22\x81\xf1\xf1\xf1\x47\x0d\x17\x65\
+\x32\x19\xf4\x7a\x3d\x74\x3a\xdd\xa3\x7f\xab\x54\x2a\x04\x83\x41\
+\x04\x83\x41\x04\x02\x01\x04\x02\x81\x35\x49\x2c\xb7\x5a\xad\x68\
+\x6b\x6b\x93\xf4\xda\xef\xd9\xb3\x07\x5e\xaf\x37\x2d\xd5\xbf\xe6\
+\xe7\xe7\x31\x3f\x3f\x8f\xab\x57\xaf\x42\x26\x93\x41\xab\xd5\x42\
+\xaf\xd7\x3f\x5a\x77\x9d\x4e\x87\x68\x34\x8a\x40\x20\xf0\x8d\xb5\
+\x17\x6b\x0f\x23\x82\xc4\x8c\xf0\x0e\x8e\x41\x85\x37\xf7\xb8\xf0\
+\xd3\x8f\x07\xd3\xea\xc8\x26\x92\xc9\x25\x27\x3a\x14\x05\x66\x45\
+\xb4\x80\x72\x0e\x6f\xee\x71\x21\x5b\x2f\x9d\x8e\xe8\x91\x68\x02\
+\x91\x68\x44\x74\x3d\x6a\xb4\x2a\x39\xbe\xbf\xb7\x74\x55\xd5\xcb\
+\x9e\xc7\x46\x67\x36\xa6\x1a\xad\x38\x7d\x7d\x2a\xad\x73\x5a\x08\
+\xc7\xd2\xb2\x31\xb0\x1a\x5b\x7f\x6f\xaf\x4b\x10\x5b\x13\xc4\x7a\
+\xc2\xe1\x70\x60\xe7\xce\x9d\xb8\x70\xe1\x42\x5a\xff\x6e\x22\x91\
+\x80\xdf\xef\x87\xdf\xef\x17\x95\x3d\x0c\x06\x03\x0e\x1e\x3c\x08\
+\xb9\x5c\xda\xef\x16\xb9\x5c\x8e\x8e\x8e\x0e\xbc\xfd\xf6\xdb\x69\
+\xad\x02\x96\x48\x24\x1e\x89\x15\x82\x48\x17\x19\xb9\x95\xef\xca\
+\xd7\xe3\xf8\x36\xda\xb1\x05\x80\xe3\xdb\x1c\x70\x5a\xf4\x64\x08\
+\xa1\x1f\x14\x19\x87\x37\xda\x9d\x82\xe6\x6e\x1c\x68\xb2\xa2\xa1\
+\xc4\xb4\xee\x6d\xad\x56\xca\xf0\xa7\x2f\x96\xc1\x2e\x50\x81\x08\
+\x82\x58\x6f\x34\x34\x34\xa0\xb6\xb6\x76\xdd\xdb\x41\xa1\x50\xe0\
+\xd0\xa1\x43\xd0\xe9\x74\xeb\x62\xbe\x7a\xbd\x1e\x1d\x1d\x1d\x92\
+\x17\x6e\x04\x91\xb1\x85\xd5\x5b\x2a\x72\xd0\xb6\xce\x4b\xb5\xb6\
+\xd5\xe7\x63\x4b\x39\xe5\x13\xa4\x83\x63\x2d\x85\xa8\xb0\x65\x09\
+\xfa\x37\x96\xf3\xc2\xd6\xb3\x13\xaf\x94\xcb\xf0\xfd\xbd\xa5\x28\
+\xce\xd3\xd1\x4d\x47\x10\x0c\xd9\xbd\x7b\x37\x0a\x0b\x0b\xd7\xb5\
+\x0d\xf6\xee\xdd\x2b\x58\xf5\x35\xb1\x92\x9f\x9f\x8f\xf6\xf6\x76\
+\x7a\x00\x08\x12\x33\x62\xe5\xc8\x66\x3b\x76\xd5\xae\xcf\x8e\xe0\
+\xbb\x6a\x2d\x38\xd2\x6c\xa7\x3b\x58\x60\x38\x6e\xe9\x3e\xdb\x51\
+\x9d\x9e\x0f\xa0\x4a\x21\xc3\x9f\xec\x5f\x9f\xce\xbc\x5c\xc6\xe1\
+\xcd\x3d\x4e\x94\x59\x0d\x74\xe3\x11\x04\xeb\x8f\xbd\x4c\x86\x83\
+\x07\x0f\xa2\xa8\xa8\x68\x5d\xce\x7d\xcf\x9e\x3d\x28\x2b\x2b\x5b\
+\x97\x6b\x5f\x59\x59\x89\x17\x5e\x78\x21\xe3\x1b\x83\x12\x84\x24\
+\xc5\x0c\xc7\x2d\xed\x98\xbf\xb6\xdd\xb1\x6e\x7a\x50\xc8\x65\x1c\
+\xfe\xdd\x0e\x07\x8e\xb5\x14\x82\xa3\xb6\x1b\x82\xa2\x56\xca\xf0\
+\xbd\x3d\xa5\x68\x4f\x73\xb9\x6b\xa3\x56\x89\xbf\xec\x28\xc7\x26\
+\x9e\xa5\x9f\x33\x09\x85\x9c\xc3\x1f\xb4\x39\x51\x5d\x68\xa4\x1b\
+\x8f\x20\x84\x7a\xa7\xa9\xd5\x38\x72\xe4\x08\x1a\x1a\x1a\xd6\xcd\
+\x9c\xb5\x5a\x2d\x5e\x7e\xf9\x65\x54\x57\x57\xaf\xeb\xb5\xaf\xab\
+\xab\xc3\x4b\x2f\xbd\x04\xb5\x9a\xca\xdc\x13\x24\x66\x44\xc9\xd6\
+\xca\x5c\xfc\xe0\xc5\x32\xe8\x35\x0a\x49\x2f\x96\x41\xa3\xc0\x9f\
+\x1f\x28\x47\x6b\x45\x2e\xdd\xb9\x02\x93\x9b\xa5\xc2\x8f\x0e\x57\
+\xa2\xd6\xb1\x36\xce\xb5\x42\x2e\xc3\xef\xef\x2e\xc1\xe1\x66\x9b\
+\xe4\x45\xab\x59\xaf\xc2\x0f\x3b\x2a\xd0\x50\x4c\xf9\x42\x04\x21\
+\xf8\x47\x5f\x26\xc3\xae\x5d\xbb\xd6\xc5\x4e\x7d\x5e\x5e\x1e\x5e\
+\x7b\xed\x35\xd8\x6c\x36\x5a\x78\x00\x85\x85\x85\x38\x7e\xfc\x38\
+\xcc\x66\x33\x19\x83\x20\x31\x23\x46\xca\xac\x06\xfc\xe4\x48\x25\
+\xac\xd9\x1a\x49\x2e\x94\xcd\xac\xc5\x4f\x8e\x54\xc2\x55\x20\x8e\
+\x64\xff\xaa\xc2\x2c\xc9\x56\x9a\x2a\xb7\x1a\xf0\x63\x91\xdc\x4b\
+\x7b\x1a\x0a\xf0\x47\x7b\x5c\x4c\x9a\x8a\x8a\x91\x4a\x7b\x16\xfe\
+\xea\xa5\x4a\x38\x28\x47\x86\x20\xd2\x8a\xd4\x77\xea\x4b\x4b\x4b\
+\xf1\xca\x2b\xaf\xc0\x60\xa0\xb0\xd5\xc7\x31\x99\x4c\x38\x7e\xfc\
+\x38\x9c\x4e\xa7\x24\xe7\xa7\x54\x2a\x51\x59\x59\x49\x0b\x4d\x62\
+\x26\x73\xc9\x31\xac\xed\x6e\xba\x50\xd4\x17\x9b\xf0\xa3\xc3\x15\
+\x30\x1b\x54\xa2\xb9\xa6\xea\x42\x23\xfe\xfa\x58\xb5\xe4\xc2\x82\
+\xb6\x57\xe7\x2d\x9d\xf2\xa9\xc5\x73\xca\x57\xe7\x30\xe1\x47\x87\
+\x2a\x91\x23\xa2\xf5\xe7\x0b\x07\x60\xef\x86\x02\xfc\xe9\x7e\xe9\
+\x9f\xa8\x12\x84\x58\x91\xea\x4e\xfd\xe6\xcd\x9b\x71\xf0\xe0\x41\
+\x28\x95\x4a\x5a\xe4\xa7\x38\xfc\x1d\x1d\x1d\x68\x6a\x6a\x92\xd4\
+\xbc\x6c\x36\x1b\x5e\x7f\xfd\x75\x12\x33\x24\x66\x32\x9f\xe5\x3c\
+\x87\xfd\x8d\x05\x19\x9f\x47\xa3\x90\xcb\x70\xa0\xc9\x8a\x37\xf7\
+\xb8\x44\xd9\x10\xd3\xa8\x53\xe2\x4f\xf6\x97\xe2\xb5\xed\x8e\x8c\
+\x3f\x39\xd0\xa8\xe4\x78\x6d\xbb\x03\xaf\x6e\x2d\x82\x4c\x84\xf7\
+\x8d\xd5\xac\xc1\x4f\x8e\x48\x43\xa8\x1b\x34\x0a\xbc\xb9\xc7\x85\
+\x43\x9b\x6c\x94\xf7\x45\x10\x6b\x8c\xc9\x64\xc2\xab\xaf\xbe\x8a\
+\xf2\xf2\xf2\x8c\x9f\x8b\x56\xab\xc5\x81\x03\x07\xd0\xd2\xd2\x42\
+\x0b\xfb\x1c\x38\x8e\xc3\xb6\x6d\xdb\xb0\x6f\xdf\x3e\x68\x34\x99\
+\x1d\xd1\x22\x97\xcb\xb1\x7d\xfb\x76\x1c\x3b\x76\x0c\x46\x23\xe5\
+\x5d\xae\x47\x14\xd2\x7c\x48\x81\x83\x4d\x36\xb4\x54\xe4\xe2\xd4\
+\x55\x37\xbe\x1e\x9a\x47\x32\xc3\xae\x7f\x53\x69\x0e\x3a\x36\x59\
+\x61\xd6\x8b\x7f\x37\x7e\x6b\x65\x2e\x2a\xed\x59\xf8\xbf\x17\xc6\
+\x30\x34\xbd\x90\x59\x2f\x41\x19\x87\x1d\xd5\x79\xd8\xd7\x58\x20\
+\xaa\xd3\x98\x27\xa1\xd7\x28\xf0\xfd\xbd\xa5\x18\x74\x2f\xe0\xc3\
+\xcb\x93\xb8\x37\x1b\xcc\x38\x5b\xef\xae\xb5\x60\x5f\x63\x01\x34\
+\x4a\xea\x7b\x40\x10\x62\x41\xa5\x52\xe1\xc5\x17\x5f\xc4\x86\x0d\
+\x1b\x70\xf1\xe2\x45\xb8\xdd\xee\xcc\x72\x64\x14\x0a\x6c\xdc\xb8\
+\x11\x4d\x4d\x4d\x74\x1a\xb3\x42\x2a\x2b\x2b\xe1\x74\x3a\x71\xf5\
+\xea\x55\xdc\xb8\x71\x03\xb1\x58\x2c\xa3\xae\xdf\x62\xb1\x60\xdf\
+\xbe\x7d\x94\x07\x44\x62\x46\xba\xe4\x18\x54\xf8\xfd\xdd\x25\x78\
+\xa1\x2e\x1f\x27\xaf\x4c\xe2\xce\xa4\x5f\xf4\xd7\x5c\x65\xcf\xc2\
+\x91\xcd\xf6\x8c\xeb\x35\x92\x63\x50\xe1\x2f\x0e\x96\xe3\xcb\xbe\
+\xfb\xf8\xec\xe6\x34\xbc\xc1\xa8\xb8\x05\x23\x80\xa6\x52\x33\x3a\
+\x36\xd9\x32\x2e\x7c\xab\xdc\x66\xc0\x4f\x5e\xaa\xc4\xb5\xa1\x79\
+\x7c\x74\xd5\x8d\xb9\x85\x45\xd1\x5f\x73\x9d\xc3\x84\xa3\x5b\xec\
+\x82\x36\x1d\x25\x08\x82\x1f\x56\xab\x15\xaf\xbc\xf2\x0a\x46\x46\
+\x46\x70\xf1\xe2\x45\xcc\xcf\xcf\x8b\xfb\x3d\xce\x71\xa8\xa9\xa9\
+\x41\x4b\x4b\xcb\xba\x69\x84\x29\x94\x98\xdd\xba\x75\x2b\x1a\x1a\
+\x1a\x70\xe9\xd2\x25\xf4\xf5\xf5\x21\x99\x14\xf7\x16\xb0\x4e\xa7\
+\x43\x63\x63\x23\x1a\x1b\x1b\xa9\xe4\x34\x81\x75\x11\xac\x5e\x94\
+\xab\xc5\x0f\x5e\x2c\x43\xff\xa4\x1f\x27\x2f\x4f\x62\x62\x2e\x24\
+\xba\x6b\x2c\xcc\xd1\xe2\xc8\x66\x3b\x2a\xed\x59\x19\x6b\x67\x8e\
+\x03\x76\xd6\xe4\x61\x5b\x55\x2e\xae\xdc\x9d\xc7\xb9\x1e\x0f\xa6\
+\xbd\x61\xd1\x5d\x67\xa5\x3d\x0b\x87\x9b\xed\x28\xca\xcd\xdc\xe6\
+\x94\xcb\x62\x6c\x83\x33\x1b\x5f\xf6\xdd\xc7\xa7\xd7\xa7\x11\x88\
+\x88\x6f\x47\xcd\x66\xd6\xe2\xe8\x96\xcc\xbe\xaf\x09\x62\xbd\xe1\
+\x74\x3a\x51\x52\x52\x82\xdb\xb7\x6f\xa3\xbb\xbb\x1b\x81\x40\x40\
+\x94\xd7\xb8\x6d\xdb\x36\xda\x91\x67\x88\x5e\xaf\x47\x7b\x7b\x3b\
+\x1a\x1b\x1b\xd1\xd5\xd5\x85\x91\x91\x11\xd1\x5d\xa3\xc9\x64\xc2\
+\xc6\x8d\x1b\x51\x5d\x5d\x0d\xb9\x9c\x4e\xf8\x89\x75\x24\x66\x96\
+\xa9\xb2\x67\xa1\xf2\x68\x15\xae\xde\x9d\xc7\xd9\x9e\x69\xb8\xe7\
+\xd7\xde\xd1\xb6\x99\x35\x68\xaf\x2f\xc0\xa6\x32\x33\xa4\x92\x3e\
+\x20\x97\x71\x68\xa9\xc8\xc1\x96\x8a\x1c\xdc\x1a\xf7\xe2\xec\x4d\
+\x0f\x86\x3d\x6b\xfb\x31\xe4\x00\x38\xf3\xf5\xd8\xdf\x68\x45\x55\
+\xa1\x74\x1c\xeb\xe5\xd0\xad\x96\xf2\x1c\x9c\xb9\xe9\xc1\xa5\x81\
+\x59\x2c\x84\xd7\x56\xd4\xa8\x14\x32\x34\x3a\xb3\xd1\x5a\x91\x2b\
+\x9a\xea\x7b\x04\x41\xac\xf0\x9d\xc9\x71\xa8\xad\xad\x45\x65\x65\
+\x25\xae\x5f\xbf\x8e\xde\xde\x5e\x2c\x2c\x2c\xac\xf9\x35\xd9\xed\
+\x76\x6c\xd9\xb2\x05\x76\x3b\x35\x8d\x16\x8a\x9c\x9c\x1c\x1c\x3a\
+\x74\x08\x93\x93\x93\xe8\xee\xee\xc6\xe4\xe4\xe4\x9a\x9f\xd4\x14\
+\x14\x14\xa0\xa9\xa9\x09\x2e\x97\x0b\x1c\x25\x5b\x12\xeb\x59\xcc\
+\x2c\x3b\xb5\xcd\x65\x66\x34\x97\x99\x31\xeb\x5f\x44\xef\x98\x17\
+\x37\xc7\xbc\x18\xf1\x04\x90\x48\xc3\xc3\x2a\xe3\x38\x38\xf3\xf5\
+\x68\x28\x36\xa1\xae\xd8\x84\xdc\x2c\x95\xa4\x6d\x5d\xe7\x30\xa1\
+\xce\x61\xc2\xb0\x27\x80\xce\xbe\xfb\xb8\x33\xe9\x4f\x9b\xb3\x2d\
+\x97\x71\xa8\xb0\x65\xa1\xbe\xd8\x84\xba\x62\x23\x8c\x5a\xe9\xc6\
+\x52\x6b\x54\x72\x1c\x6e\xb6\xe1\xd0\x26\x1b\x46\x66\x02\xe8\x1d\
+\xf3\xa2\x67\xcc\x8b\x19\x5f\x24\x6d\xd7\x50\x94\xab\x45\x6b\x45\
+\x2e\x36\x95\x9a\xa1\x59\x83\xb2\xdd\x7c\xd7\x57\xa5\x90\x41\x2d\
+\xe1\x5c\x1e\x95\x42\x06\x8d\x52\x8e\x70\x34\xbe\xea\x31\xb2\xbe\
+\x65\x63\x16\xa1\x3d\x5a\xad\x16\x52\x46\xab\xd5\x22\x18\x5c\x7d\
+\x7e\xdb\x5a\x87\x4f\x29\x14\x0a\x34\x37\x37\xa3\xb9\xb9\x19\x1e\
+\x8f\x07\x23\x23\x23\x18\x1a\x1a\xc2\xdc\xdc\x5c\xda\xfe\xbe\xc3\
+\xe1\x80\xcb\xe5\x82\xd3\xe9\x14\x65\xb2\xba\x4c\x26\x83\x46\xa3\
+\x41\x38\xbc\xfa\x0d\x52\xbd\x5e\x7c\x1b\x3f\x76\xbb\x1d\x2f\xbf\
+\xfc\x32\x42\xa1\x10\x46\x46\x46\x30\x3c\x3c\x8c\xf1\xf1\x71\xc4\
+\xe3\xf1\xb4\x3d\x3b\x45\x45\x45\xa8\xab\xab\x5b\x91\x78\x65\xf1\
+\xcc\xa4\x32\x06\xdf\xbf\x23\x93\xc9\xa8\x89\x29\x89\x19\xfe\xe4\
+\x66\xa9\xb0\xbb\xce\x82\xdd\x75\x16\x04\x22\x31\xdc\x1a\xf7\xa1\
+\x77\xcc\x8b\xfe\x49\x3f\x16\x63\x09\xa6\x4e\x44\x95\x3d\x0b\x75\
+\xc5\x26\xd4\x3a\x8c\xa2\x4f\x34\x17\x02\x57\xbe\x1e\xae\x7c\x3d\
+\x92\x00\x26\xe7\x42\xb8\x33\xe9\xc7\x9d\x49\x3f\x86\xa6\x03\x88\
+\xc5\xd9\xd9\x5a\xa3\x94\xa3\xba\x68\x49\xc0\xd4\x14\x19\xd7\x5d\
+\xa2\x39\xc7\xfd\xc6\xd6\x47\x36\xdb\x31\xed\x0d\x3f\x14\x36\x3e\
+\x8c\xcd\x04\x98\x16\xc2\x30\x6a\x95\x70\x16\xe8\x51\x9a\xaf\x47\
+\xb9\x2d\x0b\x36\xf3\xda\x3a\x19\x5b\xca\xcd\xf8\xf8\x6b\x37\xe2\
+\x89\xd5\xcd\xb2\xa9\xd4\x2c\xca\xaa\x81\x2c\xc5\xfd\xe6\x72\x33\
+\xbe\xb8\x7d\x7f\xd5\x9b\x13\xad\x15\x39\xdf\xf8\x7f\x65\x65\x65\
+\xf8\xe2\x8b\x2f\xb0\xb8\xb8\xba\xbc\xad\xc2\xc2\x42\xc9\x57\x1f\
+\xaa\xad\xad\xc5\x85\x0b\x17\x56\xfd\xfb\x35\x35\x35\xa2\x99\x4b\
+\x7e\x7e\x3e\xf2\xf3\xf3\xd1\xd2\xd2\x02\xaf\xd7\xfb\x48\xd8\x4c\
+\x4d\x4d\x31\xdd\xb9\xd7\x6a\xb5\x70\x3a\x9d\x70\xb9\x5c\x28\x2a\
+\x2a\x82\x42\x21\xee\x6f\x26\xc7\x71\xa8\xae\xae\xc6\xb5\x6b\xd7\
+\x24\xb1\xce\x4f\x5a\x8f\x9a\x9a\x1a\xd4\xd4\xd4\x20\x1a\x8d\x62\
+\x6c\x6c\x0c\xc3\xc3\xc3\x18\x1d\x1d\x45\x24\xc2\x6e\xc3\x4c\x26\
+\x93\xc1\x66\xb3\xa1\xb8\xb8\x18\x0e\x87\x03\x79\x79\x79\xab\x1a\
+\x27\x2f\x2f\x0f\x16\x8b\x05\x33\x33\x33\xab\xfa\x7d\x83\xc1\x00\
+\x87\xc3\xf1\xdc\x9f\xab\xae\xae\xc6\xa5\x4b\x97\x90\x48\xac\xce\
+\x87\x29\x2b\x2b\x83\x4a\x25\xdd\x0d\xed\xb4\x3e\x83\x49\xb1\x67\
+\x79\xad\x01\xd1\x78\x02\x43\x53\x01\xcc\xfa\x23\xf0\x85\x62\xf0\
+\x05\xa3\xf0\x06\xa3\xf0\x85\xa2\xf0\x05\xa3\x08\x84\x63\xdf\x70\
+\x0a\x39\x2c\x55\x9a\x32\xea\x94\x30\x6a\x95\x30\xe9\x94\x0f\xff\
+\x5b\x81\xdc\x2c\x35\x4a\xad\x7a\x28\xe5\xe2\x71\x92\xee\x4e\x2d\
+\xe0\x1f\x3f\x1e\xe4\x35\xc6\xcb\x2d\x85\xd8\x5d\x6b\xe1\x7d\x2d\
+\xb1\x78\x02\x43\xd3\x01\x0c\x4e\x2d\x60\x7e\x61\x11\x0b\xe1\x18\
+\xfc\xa1\x18\x16\xc2\x51\x04\xc2\xf1\x27\x9e\x96\x69\x55\xf2\x47\
+\x36\x7e\xdc\xd6\x16\x93\x06\xe5\x56\x43\xc6\x97\xe4\x16\x0a\x7f\
+\x28\x8a\xa1\xe9\x00\xbc\x81\x28\xbc\x0f\xef\x65\xdf\xc3\xfb\xda\
+\x1b\x8c\x22\x12\x4d\x3c\xd1\x01\xd6\xab\x15\xd0\x69\xe4\xd0\xab\
+\x15\xc8\x37\xa9\x97\xc4\x52\x81\x41\x94\x85\x13\x2e\xf6\xcf\xe2\
+\x6c\xcf\x34\x66\xfd\xa9\x3b\xd7\x32\x8e\x43\xad\xc3\x88\xa3\x5b\
+\x0a\x25\x7d\x52\x0a\x00\xf3\x81\x45\x7c\x70\x69\x12\x3d\xe3\x5e\
+\x24\x56\x20\xfa\xb2\xf5\x4a\xec\xae\xcd\xc7\x0b\x75\xbf\xfd\xcc\
+\x0f\x0c\x0c\xe0\xd2\xa5\x4b\xf0\x7a\xbd\x2b\xba\x16\xbb\xdd\x8e\
+\x1d\x3b\x76\xc0\x62\xb1\x48\xda\xe6\xd1\x68\x14\x17\x2e\x5c\xc0\
+\xc0\xc0\xc0\x8a\x76\xb4\xd5\x6a\x35\x6a\x6b\x6b\xb1\x6d\xdb\x36\
+\xd1\xcf\x31\x1c\x0e\x63\x62\x62\x02\x81\x40\x00\x81\x40\x00\xc1\
+\x60\xf0\xd1\x7f\x07\x02\x81\xdf\x12\xbb\x1c\xc7\x41\xa7\xd3\x41\
+\xaf\xd7\x3f\xfa\xf7\xf2\x3f\x66\xb3\x19\x05\x05\x05\x19\x17\x4a\
+\x14\x08\x04\xd0\xd9\xd9\x89\xbb\x77\xef\xae\xc8\xb9\xd5\xeb\xf5\
+\xd8\xb8\x71\x23\x1a\x1b\x1b\x33\xee\xde\x4e\x24\x12\x70\xbb\xdd\
+\x98\x9f\x9f\xff\xc6\x7a\x2f\xaf\xff\x93\x4e\xaa\x38\x8e\x83\x46\
+\xa3\x81\x56\xab\x85\x56\xab\x85\x4e\xa7\x83\xc1\x60\x40\x61\x61\
+\x21\xec\x76\x3b\x33\xe1\xea\x76\xbb\xd1\xd9\xd9\x89\xe9\xe9\xe9\
+\x15\xfd\x5e\x6e\x6e\x2e\xb6\x6e\xdd\x8a\x92\x92\x92\x94\x7e\xbe\
+\xb7\xb7\x17\x57\xae\x5c\x59\x71\x08\x66\x71\x71\x31\x76\xee\xdc\
+\x89\xec\xec\x6c\x72\x4e\x48\xcc\xac\x0d\xf1\x44\x12\xbe\x50\x14\
+\xc1\x48\x1c\x3a\xb5\x1c\x46\xad\x32\xa3\x1c\x68\x31\x89\x99\x67\
+\x91\x4c\x02\x81\x48\x0c\x0b\xa1\x18\xc2\xb1\x38\xb2\x34\x4a\x98\
+\x74\x0a\x28\xe4\x54\xb9\x44\x08\x22\xd1\x04\x7c\xa1\x28\x16\x63\
+\x09\xe8\x54\x72\xe8\xd4\x8a\x8c\xec\x1f\xb4\x7c\xfa\x97\xea\x89\
+\x9f\x59\xaf\x82\x51\xb7\xbe\xca\xb9\xfa\x42\x51\xcc\xa7\x58\x05\
+\x4f\x2e\xe3\x60\xcf\xd1\x42\xf6\x1c\xe7\xd2\xe3\xf1\x20\x1a\x4d\
+\xad\x8a\xa1\x4e\xa7\x5b\x77\x89\xdb\xe1\x70\x18\xb3\xb3\xb3\xa9\
+\x7d\x98\x39\x0e\x16\x8b\x45\x32\x65\x86\x63\xb1\x18\x02\x81\x00\
+\xa2\xd1\x28\x74\x3a\x1d\xb4\x5a\xad\x64\xf3\x1e\x42\xa1\x10\x7c\
+\x3e\x5f\xca\xeb\x9c\x97\x97\x27\xd9\x6a\x5c\xf1\x78\x1c\xc1\x60\
+\x10\xc1\x60\x10\x0a\x85\xe2\x91\x80\x49\xe7\xda\xcf\xcd\xcd\x21\
+\x14\x4a\xad\xe8\x93\x4a\xa5\x5a\xd5\xe6\x4a\x32\x99\xc4\xf4\xf4\
+\x74\xca\x9b\x15\x59\x59\x59\xd4\x0f\x87\xc4\x0c\xb1\x5e\xc4\x0c\
+\x41\x10\x04\x41\x10\x04\x41\x3c\x0b\xda\xe2\x26\x08\x82\x20\x08\
+\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\x10\x04\x89\
+\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\
+\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\
+\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\x08\x82\
+\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\
+\x24\x66\x08\x82\x20\x08\x82\x20\x08\x82\x20\x48\xcc\x10\x04\x41\
+\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\
+\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\
+\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\x41\x10\x04\
+\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\x31\x43\xac\
+\x15\x56\xb3\x06\x0a\x39\xc7\x6b\x8c\x62\x8b\x8e\x0c\x49\x10\x04\
+\x41\x10\x04\x41\x90\x98\x21\xd2\x8b\x5e\xad\x40\xa3\xd3\xbc\xea\
+\xdf\x2f\xca\xd5\xc2\x69\xd1\x93\x21\x09\x82\x20\x08\x82\x20\x88\
+\x35\x85\x4b\x26\x93\x49\x32\xc3\xfa\x23\xbc\x18\x47\xf7\xdd\x39\
+\x7c\x75\x67\x0e\x0b\xe1\x68\x4a\xbf\xa3\x52\xc8\xd1\x5c\x66\xc6\
+\xb6\xca\x5c\x18\x75\x4a\x32\x22\x41\x10\x04\x41\x10\x04\x41\x62\
+\x86\x20\x08\x82\x20\x08\x82\x20\x08\x62\xa5\x50\x98\x19\x41\x10\
+\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\x82\
+\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\
+\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\
+\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\
+\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\
+\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\
+\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\
+\x04\x41\x10\x19\xcb\xff\x07\x11\x0e\xbe\xdb\x22\x35\xab\x4c\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0d\xfb\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x64\x00\x00\x00\x27\x08\x06\x00\x00\x00\xf9\x2e\xed\x96\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xfb\x00\xf9\x00\x47\x94\x0a\x46\x5f\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x0b\
+\x0b\x24\x29\x1e\xab\x03\xcd\x00\x00\x00\x19\x74\x45\x58\x74\x43\
+\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\x64\x20\x77\
+\x69\x74\x68\x20\x47\x49\x4d\x50\x57\x81\x0e\x17\x00\x00\x0d\x56\
+\x49\x44\x41\x54\x68\xde\xed\x9a\x7b\x74\x54\xd5\xbd\xc7\x3f\xfb\
+\xcc\x3b\x93\x64\xf2\x24\x04\x88\x90\x84\xf7\x9b\x40\x80\x10\x40\
+\x82\xd2\x28\xb0\x08\x74\xe1\xad\x8a\xae\x5b\x64\xd9\xca\x2d\x85\
+\xeb\xab\x55\xeb\xd5\xe5\x6a\x57\x7d\xb4\x5d\xb7\xda\x7b\x6b\xab\
+\xb5\x42\x45\xb8\x6a\x6b\xf1\xc1\x3b\x18\xa8\x08\x42\x78\x06\x42\
+\x48\xb8\x91\x84\x24\x10\x08\x79\xce\x64\x1e\x99\x99\xb3\xef\x1f\
+\x73\x72\x92\x21\x09\x25\xb5\x4b\x6e\xed\xfc\xfe\x99\x99\x75\xf6\
+\xd9\x67\x9f\xfd\xfd\x3d\xbe\xbf\xef\x1e\xe1\xf7\xe5\x4b\x22\xf6\
+\xff\xc6\x94\xc8\x16\x44\x00\x89\x58\x04\x90\x08\x20\x11\x8b\x00\
+\x12\x01\x24\x62\x80\xaa\x8a\xbf\xeb\x7c\xc6\x7f\x84\x97\x0e\x04\
+\x0d\x74\x04\x4c\x58\x4c\x1d\x18\x14\xf5\xa6\xaf\xe7\x17\x7f\x5e\
+\x85\xdb\x6b\xc3\xe5\xb5\x61\x35\x77\xf0\xdc\x8a\x97\xbf\xfe\x80\
+\x5c\x68\x48\x65\xed\x6f\x9e\xc5\xd7\x61\xa1\x23\x68\xc2\x6a\xf2\
+\xf1\xce\x93\x6b\x88\xb6\x7a\x6e\xea\xba\x8e\x57\x8e\x65\xdb\xe1\
+\x3c\x10\x02\xa4\xe4\x99\x7b\x5f\xf9\xe7\x88\x90\xb7\x3f\x59\x8a\
+\xd3\x13\x83\x44\x22\x10\xcc\x1e\x57\x7c\xd3\xc1\x00\xd8\xb8\xb7\
+\x00\x29\x04\x02\x88\x8d\x72\x31\x63\xd4\x89\xaf\x0e\x10\x29\xa1\
+\xb4\x7a\x24\x8d\xce\x38\xbc\x7e\x0b\x6e\xaf\x8d\x76\x9f\x0d\xb7\
+\xcf\x86\xdb\x6b\xa3\xcd\x63\xc7\xe3\xb3\x21\x25\xa4\x25\xd7\x33\
+\x7d\xe4\x09\xb2\x47\x9e\xfa\xd2\x8b\xf2\xf9\x4d\xec\x3b\x3d\x03\
+\x90\x08\x00\x09\xdf\xbe\xfd\x4f\x37\x1d\x8c\x56\x77\x34\x95\x17\
+\x87\x22\x50\x41\x0a\xa6\x8d\x28\xc1\x6a\xee\xb8\xee\x3d\x17\x1b\
+\x07\x50\x7a\x61\x04\x55\x97\xd3\xf0\xfa\x4d\xdc\x92\x7c\x89\x39\
+\xe3\x8a\x49\x88\x69\xed\x3f\x20\xfe\x80\x89\xe7\x36\xad\xa5\xb9\
+\xdd\x81\x54\x01\xd1\x9d\x03\x48\x40\xe8\x9f\x87\x2b\x24\xef\x7f\
+\x96\xcf\xfc\xc9\x07\x78\xe2\xae\x57\x31\x28\x7f\xbb\x22\x73\xa8\
+\x7c\x0a\x1d\x41\x23\x82\x50\x5a\x48\x4f\xbd\x40\x6a\x42\xc3\xcd\
+\x2b\xdc\x52\xd0\xd8\x16\x47\xe1\xf1\xd9\xb4\xb9\x63\x10\x02\x10\
+\x92\x46\x67\x1c\xcf\x6e\x5c\x47\xb3\xcb\x81\xcb\x1b\xc5\x6f\xd6\
+\x3c\x8d\xd9\x18\xd0\xeb\xde\x0b\xef\xad\x66\x7f\x69\x16\xfe\xa0\
+\xa9\xd3\xb5\x40\x0a\xde\xfa\x64\x19\xaf\xad\x7d\x92\x84\xe8\xb6\
+\xfe\x01\x52\xdd\x30\x88\x46\x67\x1c\x42\x08\xe8\x41\x26\x44\xd8\
+\xa7\x10\x21\x60\xf6\x9c\xc8\x25\x3f\xeb\x53\xa6\x8d\xf8\xdb\x23\
+\x65\xfc\xd0\x72\x36\x3c\xf2\x18\x76\x8b\x07\xab\xd9\x47\x94\xc5\
+\xdb\xef\x39\x3c\x1d\x16\x7c\x1d\x66\x3c\x1d\x56\x4c\x46\x3f\x49\
+\xb1\x2d\x00\x34\xb4\x26\x70\xb6\x36\x83\xb2\x9a\xe1\x94\xd7\xa4\
+\x53\xd7\x94\x4a\xab\x2b\x06\xa1\xa8\x0c\x8c\xbb\xca\xdc\x09\x87\
+\xb8\x3f\x6f\x0b\x06\x43\x17\x79\xf8\xd1\x86\xc7\x38\x5c\x3e\x29\
+\xe4\x7a\x42\xea\xef\x7c\xe2\x8b\x71\xa1\x6f\x42\x72\x57\xee\x76\
+\x1d\x8c\xb2\x9a\x4c\x9e\xdd\xb8\x8e\xab\x6d\x09\x21\xf0\x3a\x5d\
+\x57\x0a\x84\x50\x69\x76\xc5\xb1\xeb\xe8\x5c\xee\xbe\xf5\xe3\xfe\
+\x01\xf2\xee\xa7\x8b\xe8\x9b\xd4\x49\x2d\x38\x44\x18\x83\x16\xc0\
+\xbe\xd3\x33\xbe\x14\x20\x09\x31\xad\xbd\x86\x74\x93\x33\x96\xab\
+\x6d\x89\x34\x39\x1d\x34\xb6\xc5\x93\x3f\xf5\x2f\x18\x0d\xc1\x1e\
+\xe3\x9e\x58\xff\x38\x27\x2a\xc7\x82\x00\x7f\xc0\xc8\x6f\xd7\x3c\
+\x4d\x52\x6c\x0b\x35\x0d\xa9\x3c\xf8\xab\xe7\xf1\x07\x14\x90\x8a\
+\xb6\x76\x6d\x83\x03\x50\xdd\x30\x98\x3f\xec\xf9\x26\x46\x45\xe5\
+\xbe\xf9\x5b\x42\x69\xaa\x3d\x86\x43\xe5\x93\x11\x22\x54\xcb\xba\
+\x3b\xa4\x10\x20\x91\x98\x94\x00\xf7\xe4\x7d\x00\x40\x5d\x63\x0a\
+\xeb\x7e\xfb\x0c\x41\xd5\x00\x42\x90\x18\xd3\x48\xc1\xcc\x42\xea\
+\x1a\x07\xb2\xe3\xe8\x1c\x90\x21\xe7\xbe\xd8\x94\xd2\xbf\x94\xd5\
+\xe1\x37\xb1\xb7\x64\x66\xe7\xfd\x00\xc4\x47\xb7\xb0\x34\x67\x17\
+\x76\xab\x9b\x28\x8b\x97\x76\x6f\x14\x9b\xf6\x16\xd0\xec\x8a\xed\
+\x8a\x18\x21\x69\x75\x45\x77\xcd\x13\x30\xd2\xd8\x16\x8f\xdb\x67\
+\xc5\xed\xb3\x21\x84\x64\xfc\xd0\x73\x34\x39\x1d\x14\x9e\xc8\x65\
+\xdf\xa9\xe9\x5c\x6c\x1c\xc8\x43\x8b\xde\x26\x3f\xeb\x53\xca\x6a\
+\x32\xf9\xd9\x1f\xbf\x43\x50\x35\xd0\xee\xb3\x11\x1b\xd5\xce\x6b\
+\xdf\x7f\x12\x45\xa8\x3c\xb3\xf1\x51\xce\x5c\xc8\x44\x08\x81\x22\
+\x02\xcc\x9b\xf8\x39\x46\x43\x78\xa1\x2f\x3c\x31\x8b\xc3\xe5\x93\
+\x3a\x49\x10\xdf\x5b\xfc\x16\xc3\x07\x55\x87\x52\x61\xc5\x24\xfc\
+\x01\x63\x68\xad\x42\x82\x94\x1a\x1c\x52\x5b\x7e\x68\x93\x77\x1c\
+\x9b\xad\x03\xf2\xf1\xe1\x3c\x0c\x4a\x00\x04\xa8\xaa\x11\x29\x25\
+\x66\x83\x9f\xd1\x69\x95\x44\x5b\x3d\x58\x2c\x5e\x32\x06\xd6\xe0\
+\x88\x72\x51\xd3\x90\xca\x03\xbf\x7c\x1e\x55\x86\xc6\x2d\x99\x59\
+\xc8\xbf\x17\xbc\xa9\x45\xac\x99\x7d\xa7\x66\xe0\xf5\x5b\x00\x30\
+\x19\x02\xfd\x03\xe4\xf8\x17\x63\x51\xa5\x42\x28\x42\x43\x5c\x27\
+\x7b\xc4\x49\xee\xd3\x3c\x01\x1d\xa4\x56\x7e\xbc\xf9\xfb\x5d\x81\
+\x02\x24\x3b\x9a\xf4\xef\xeb\x0b\xef\xe2\xdd\x4f\xef\xd4\x37\xa8\
+\x60\x66\x21\x66\xa3\x9f\xc7\xde\x78\x0a\x97\xc7\x86\x10\x0a\x56\
+\x93\x87\xc9\x19\x67\x00\x78\x73\xf7\x5d\x54\x35\x0c\xd1\xaa\x93\
+\x64\x79\xee\x76\x3d\x0a\x02\xaa\xa2\xe3\x6e\xb3\xf8\x30\x28\xc1\
+\x1e\x4e\xf4\xc6\xce\x6f\xe9\x51\x3b\x2c\xa5\x96\x25\x33\x0a\xbb\
+\xc0\x3a\x3e\x1b\x81\xe4\xce\x69\x45\x4c\x1f\x59\x42\x4a\xfc\x55\
+\x8c\x86\x00\xaf\xef\xb8\x9b\x43\x15\x93\xb5\xa9\x25\xb1\x36\xb7\
+\x7e\x4f\xc1\xcc\x42\x16\x65\x17\xb1\xf2\x3f\x7f\x46\x9b\x27\x06\
+\x21\x04\x63\x87\x9d\xe3\x17\xab\x7e\xaa\xa5\xea\xae\xe7\xbf\xf0\
+\xde\x6a\x1d\x8c\xcc\xd4\x0b\x3a\x18\x00\x6e\x6f\x14\x41\xb5\xab\
+\x06\x0f\x4d\xa9\xed\x1f\x20\x07\xca\xb2\x90\x12\x84\x10\x21\x2f\
+\x92\x92\x45\xd3\xf7\xf6\x18\x67\x35\xfb\xc2\x16\x25\xa5\x60\xfc\
+\xb0\x72\xfd\xf7\xf6\x23\x73\x51\xa5\x21\x04\x2c\x10\x54\x15\x56\
+\xff\xf7\x4f\xf4\xb9\x41\x32\x28\xb1\x81\xc4\x98\x16\x9a\x9c\x0e\
+\x4a\xce\x8f\x42\x84\x2e\x62\x32\xf8\xb9\x33\x3b\xf4\xcc\x60\x50\
+\xc1\x28\x82\x7a\xda\x30\x1b\x3b\xb4\x7c\xde\x65\x2f\x7f\xf4\xaf\
+\x5c\x6e\x49\xd4\xd6\x13\xe4\x99\x7b\x5e\xc1\x64\x0c\x81\xd6\xee\
+\xb5\x71\xc7\xd4\xbd\x2c\x7c\x68\xaf\x9e\xeb\x3b\xed\xbb\x77\x6e\
+\xe6\x70\xf9\x24\xad\xb7\x80\xac\xe1\xa5\xfa\xb5\x68\x9b\x9b\xe2\
+\x73\x13\x68\x73\xc7\x20\x85\x44\x48\xb8\x3f\x6f\x4b\xd8\x3b\x03\
+\x6c\x39\xb8\x80\xb3\xb5\x99\x3a\x48\x93\xd2\xcb\x78\x63\xd7\x72\
+\xda\xdc\x31\x38\x3d\x76\xae\xb4\x24\xe1\x0f\x9a\xf4\xf1\x13\x86\
+\x96\xdf\x38\x20\x52\xc2\xe9\xaa\x91\xda\x86\x85\x42\x3a\x31\xb6\
+\x89\xf1\x43\x2b\x7a\x8c\xdd\x71\xe4\x56\xbd\x57\x90\xa8\x58\x4d\
+\x1d\x8c\x1a\x72\x1e\x80\x93\x5f\x8c\xa1\xad\x3d\x46\x4b\x09\x42\
+\x03\x68\x9e\x06\x86\xf6\x20\x21\xb8\x75\xfc\x21\x8c\x86\x20\xa5\
+\x17\x46\x10\x08\x1a\xf5\x28\xc8\xca\x3c\x83\x23\xca\xa5\x93\x06\
+\x5f\xd0\xa4\x3f\xcb\x64\x08\x84\x01\x52\x5c\x31\x91\xed\xc5\xf3\
+\x42\xe9\x48\x4a\x1e\x5f\xfe\x3b\x86\xa5\xd4\xe9\xd7\xed\x56\x0f\
+\x4b\x73\x0a\xc3\xa2\xa9\xa1\x2d\x9e\x96\xf6\x58\x3e\x3c\xb8\x40\
+\x7f\xa6\x04\x96\xe6\xec\x0a\x07\x7a\xcb\x03\x9d\x55\x03\x87\xbd\
+\x95\x29\x99\x67\xc2\xae\xb7\xb8\x62\x78\x75\xfb\xbd\x48\x29\x43\
+\x7b\x26\xe1\xfd\x83\xf9\x08\x2d\xdf\x4b\xad\xde\x0a\x2d\x2d\x26\
+\xc5\x34\x92\x3e\xb0\x1f\x11\x72\xa1\x61\x10\xd5\x57\x06\x77\x43\
+\x48\x70\xfb\x94\x03\x3d\xc6\x55\x5d\x1e\xcc\xfe\x33\xd9\x08\x24\
+\x52\xaa\x08\x21\x18\x39\xe4\x3c\xa9\xf1\x57\x00\x78\xff\x40\xbe\
+\x56\x83\x3a\x8b\x27\x04\x55\xc1\xd2\x9c\xdd\xe4\x8c\x3e\x86\xc3\
+\xee\xa2\xf4\xc2\x70\xe6\x4f\x3a\x08\x40\x51\x49\x0e\x52\x2a\x74\
+\x86\xd3\xec\x71\xc5\xfa\xb3\x82\xaa\x12\x2a\x88\x5a\x0d\x36\x9b\
+\xfc\x21\xa0\x35\x7b\x75\xeb\x0a\x2d\x2d\x4a\x32\x06\x55\xb3\x60\
+\xf2\xfe\xb0\xb5\x7a\x3b\xcc\xec\x39\x91\xcb\x81\xb2\x2c\x4e\x55\
+\x8d\xc2\xe5\x8d\xea\x91\x72\x40\x92\x96\x74\x89\x38\x7b\x17\x1d\
+\x2d\xaf\x4d\xe7\x52\x73\x72\x28\x6d\x4b\xc1\xaa\xfc\x77\x7b\xc9\
+\x26\x53\x09\xf8\xcd\x9a\x83\xc8\x2e\xf6\x29\x40\x51\x02\xd8\x2d\
+\x5e\x6c\x16\x0f\xd1\x56\x37\x16\x53\x07\xdf\xb9\x63\x73\xff\x1a\
+\xc3\x5d\xc7\xe7\x20\xbb\xe9\x8e\x46\x83\x9f\xb9\xe3\x0f\x87\x8d\
+\xf9\xdf\x8b\x43\x79\x62\xfd\xe3\xdd\x18\x47\xc8\x33\x9f\xbe\xfb\
+\xbf\x10\x02\xda\xdc\x76\x4a\xaa\x46\xeb\x29\xa6\x33\x86\x7e\xbe\
+\xea\x05\x26\x67\x94\xe9\xf3\x8c\x1c\x7c\x5e\xf7\xd8\x83\x67\xb2\
+\x74\x30\x40\x30\xb3\x5b\x17\x2c\x04\x04\x55\x83\x1e\xb5\x66\x43\
+\x40\xdf\xcc\xdf\xed\xfc\x16\xd5\x0d\x83\x01\x81\xa2\x04\x79\x69\
+\xe5\x8b\x61\xb4\xb5\xea\xf2\x60\x1e\x7d\xfd\x29\x5a\xdc\x71\x61\
+\xf3\xf5\xc6\x1c\x73\xc6\x1c\x0f\x63\x6e\xbb\x8e\xcf\xd1\xd7\x13\
+\x65\xf1\xf4\xca\x1e\x0f\x94\x65\xe9\xa4\xc0\x6c\xf4\xf1\xf3\x55\
+\xcf\x13\x17\xdd\x4a\x6c\x54\x3b\x16\x53\xa8\xd6\x29\xda\x7b\x09\
+\xd1\xcf\x4e\x3d\x10\x34\xb0\xb7\x24\x27\x6c\x91\x42\x91\x6c\x3d\
+\x94\xc7\x87\x07\x6f\xc7\xe5\xb3\x73\xa9\x71\x00\x95\xf5\x69\xdd\
+\x26\x97\x48\x09\x6b\x97\x6c\xd0\xf9\x7e\xd5\xe5\x34\x5c\x1e\x5b\
+\x58\x1e\xfc\x8f\x7b\x7e\x15\x06\x46\x77\xdb\x5a\x3c\x0f\x5f\xd0\
+\xa4\xc5\x92\x60\x5c\x5a\x05\x89\xda\x5c\x21\x55\x55\x21\xa8\x2a\
+\x7a\xf8\x1b\x0d\x01\x04\x92\x8a\xba\x74\x36\xef\x5b\x02\xa8\x48\
+\x09\x8f\x2c\x7d\x93\xf8\x6e\x0d\xd7\x91\x73\x13\x78\x6a\xc3\xa3\
+\x04\x55\x93\xb6\x0c\x49\xee\x98\xa3\xa4\x26\x5e\x61\x80\xa3\x89\
+\x6d\x47\x6e\xa5\xfa\x4a\x9a\x3e\x7e\x61\x76\x51\xf8\x66\x9f\xc9\
+\xd2\xa3\x72\xe4\xe0\xf3\xa4\xc4\x35\xf6\x58\xfb\xe9\xea\x11\xfa\
+\xf7\x31\x69\x95\x8c\x1b\x7a\xae\xd7\x77\xfc\xf8\x70\x1e\xdf\x98\
+\xb2\x1f\xb3\xc9\x7f\xe3\x80\x54\x5e\xba\x85\xfa\xe6\xa4\x30\xbe\
+\xed\x0f\x98\xd9\x76\x74\x7e\x58\x0b\x22\x84\xec\xea\xd5\x25\x2c\
+\x9b\xb5\x9b\xa5\x39\xbb\xf5\x21\x45\x25\x33\x51\xa5\x51\xbf\x61\
+\xea\xf0\x52\xe6\x4d\x3c\xd4\xe7\x42\xb6\x16\xcf\xef\xe2\xf9\x52\
+\xf2\x6f\x8b\xdf\xba\xb6\xeb\x41\x4a\x45\xa7\xe0\x26\x93\x1f\x83\
+\x41\xe5\xd7\x5b\x57\xe8\x69\x35\x2d\xb9\x9e\x45\xd3\x8b\xc2\x72\
+\xfb\x8f\x37\xaf\x21\xa8\xd5\xa5\xc4\x98\x46\x7e\xff\xf0\x0f\x75\
+\x4d\xcc\xd3\x61\xe1\xd7\x5b\xef\xd3\x6b\xd1\x94\xcc\x52\x6e\x49\
+\xbe\xa4\xdf\x7f\xac\x72\x2c\x57\x5a\x92\x74\x21\xf1\xda\xda\xd2\
+\x49\xeb\xf5\xee\x1d\x68\x6e\x8f\x0d\xab\xc5\x3e\xbf\x99\xcf\xcb\
+\xa7\xf0\xd2\x7b\x0f\xb2\x20\xeb\x33\x16\x4f\x2f\xea\x5f\x84\x94\
+\x54\x8d\x0e\x57\x46\x7a\x33\xad\x5b\x15\x48\xe2\xec\x2d\x3c\x78\
+\xc7\x3b\xdc\x31\xf5\x2f\x61\x43\x8a\x4a\x66\x76\xe5\x53\x09\x8b\
+\xa7\xef\xe9\x73\x11\xf5\xcd\x49\x5c\x6c\x1a\xa0\x35\x9b\x92\xf8\
+\x68\x27\x63\xd2\x2a\xaf\x91\x2f\x14\x02\x41\x45\x4f\xcf\x76\xb3\
+\x87\x3f\x7d\x96\xcf\xa9\xf3\xa3\x41\x40\x94\xd5\xcd\x2b\xdf\x7d\
+\x2e\xbc\x27\x39\x99\x8b\xd3\x63\xd7\xd9\xdc\xea\x45\x9b\xc2\x04\
+\xca\x97\x3f\xf8\xb6\x0e\x86\x94\x70\xf7\xdc\x8f\xc2\xee\x5f\xbf\
+\x7b\x79\x98\x20\x51\x5c\x31\x91\x26\x67\x1c\x4e\x8f\x9d\x65\xb3\
+\x76\x86\xe6\x92\xdd\xdb\x45\xc9\x85\xcb\x83\x79\xf8\xb5\xa7\x49\
+\x72\x34\xd1\xe4\x8c\xe3\x8b\xfa\x21\xb4\xb9\x63\x11\x42\xe5\xde\
+\x79\x1f\xf6\x5f\x5c\x3c\x50\x36\x55\x2f\x48\x9d\x1b\xa4\x4b\x58\
+\x5a\x4f\xa2\x08\x49\xb2\xa3\x89\xa5\x39\xbb\x28\x98\x51\xd8\x23\
+\x04\xf7\x97\x4e\xa3\xcd\x13\xad\x17\x73\xa3\xd1\x7f\x5d\x55\xb4\
+\xa2\x2e\x1d\x6f\x87\x45\x97\x68\x7a\x1d\x2b\x75\xa9\x11\x09\x5c\
+\x6c\x19\xc0\xeb\x3b\xee\xd1\x93\xf2\xea\x85\x9b\x70\xd8\x9d\xe1\
+\x8a\x71\x51\x81\xbe\x59\x52\x42\x7a\x4a\x4d\x58\xfa\xd8\x75\x6c\
+\x8e\xce\x7c\x92\x1d\x4d\x61\x4e\xa0\x4a\xc1\xf9\xcb\x43\xc2\xbc\
+\x72\xeb\x91\x3c\x90\x82\x21\x49\xf5\xfc\xcb\x9c\xad\xa1\x5a\x66\
+\xf2\x93\x96\x7c\x91\x9a\xab\x83\x74\xe4\x42\x4e\x2d\x74\x35\x43\
+\x08\xc9\xc4\x61\xe5\x24\xc5\x36\xf5\x0f\x10\x6f\x87\x99\xd3\x55\
+\x23\xc3\x36\x21\x7b\x54\x09\xb7\x4d\x3c\x80\xd5\xe2\x23\xda\xea\
+\x26\x36\xca\x49\x52\x6c\x33\x0e\xbb\xab\xcf\x49\x77\x1c\x9b\xd3\
+\x6d\xeb\x60\x71\x76\xd1\x75\x55\xd1\x4d\x7b\x97\x68\x1b\x13\x4a\
+\x83\xb9\x63\x8f\xf6\x22\xf0\x29\xa8\xaa\x41\xa7\x9f\xb5\x57\x52\
+\xf5\x68\x9d\x30\xac\x8c\x85\xd9\x7b\x7b\x28\xb3\xad\xed\xb1\xba\
+\x62\x2c\x04\xfc\xf2\x83\x07\xc8\x4c\xad\xe6\x6c\x4d\x06\x67\x6b\
+\x87\xeb\x60\x48\x60\xdc\x2d\xe5\xd8\xbb\x45\x8f\xa2\x39\x5e\x67\
+\x7d\xec\x8c\x32\x21\x24\xb7\x4d\xfa\x0c\x4b\x37\x27\x5c\x57\xf0\
+\x26\xcf\xbf\xf3\x3d\x1a\x5d\x71\xc8\xce\xe2\x2d\x25\x03\xe2\xae\
+\x32\x6d\xc4\x69\x66\x8f\x2b\x66\xc6\xa8\x93\xfd\x97\xdf\xb7\x1f\
+\x9d\x87\xaa\x77\xc3\xa1\xc8\x58\x96\xb3\xbb\x5f\x9a\x7f\xbb\xd7\
+\x46\x45\x4d\xa6\xee\x2d\x52\x4a\x96\xce\xda\xd5\xb7\xa4\xdd\x1e\
+\xc3\xb9\xba\x74\x64\x67\x07\x6e\xf2\x31\x73\xf4\xf1\xde\x02\x84\
+\xa0\x2a\xba\x49\x34\xa1\x0d\x8a\xb6\xb6\xf3\xe2\xca\x97\xfa\x9c\
+\x5f\x74\x95\x25\x4e\x55\x8d\xa6\xe4\xfc\x28\xe2\xa2\x9d\x2c\xcf\
+\xdd\xc6\x1f\xf7\x2f\xd4\x8b\xe0\xca\x05\x3d\xe5\xfd\x67\xef\x7d\
+\x85\x9f\xbc\xb3\x06\xb7\xd7\x82\xa2\x80\x40\xc5\x68\x50\x59\x36\
+\x6b\x67\xd8\xb8\x29\x99\x65\x6c\x7c\xfc\x61\xce\xd6\x66\x50\xdf\
+\x92\x8c\xc3\xe6\x22\x6d\xc0\x45\x06\x25\x5c\xf9\x72\xe7\x21\x1f\
+\x7d\x7e\x5b\x37\xed\x4a\x62\x50\x02\x8c\x1e\x52\xd9\xaf\x09\xeb\
+\x9b\x93\xb9\xea\x8c\xd7\xea\xa0\x4a\x5a\x72\x3d\xa9\xf1\x7d\x4b\
+\xe7\x9b\xf7\x2d\xd6\xbd\x1e\x29\x59\x34\xfd\x93\x5e\x8f\x69\xa5\
+\x54\x90\xea\xb5\xf2\x3f\xac\x5e\xf4\x76\x98\xb7\x76\x9a\x23\xca\
+\xc5\xe8\x21\x95\x94\xd7\x65\x74\x15\x01\x29\x99\x36\xe2\x14\xeb\
+\x0a\xd6\xf3\xa3\x0d\x8f\x32\x2c\xa5\x86\x84\x98\x56\x52\x13\x1a\
+\x48\xeb\x56\xcc\x3b\x2d\x6b\x78\x29\xff\xf3\x83\xb5\xb8\xbc\x51\
+\xd8\x2c\x5e\x6c\x66\x5f\x9f\xef\x61\x36\xf9\x99\x98\x5e\xce\x44\
+\xca\xff\x3e\x07\x54\x97\x5b\x12\xa9\x6b\x1a\xd0\x95\x73\x51\x18\
+\x35\xe4\x7c\x8f\xbc\xfc\xd7\xec\xcf\x07\xbe\xa1\x4b\xd4\x42\x08\
+\xc6\xa4\x55\xf6\xaa\xc8\x86\xce\x5b\x0c\x1c\x3c\x9b\xd5\xe5\xf4\
+\x8a\xca\x92\x19\x7b\xfa\x3c\x93\x50\xa5\xa2\xb3\x0d\x29\x05\x13\
+\x33\xca\x7a\x90\x89\xee\xf6\xc2\xca\x17\x79\x75\xdb\x0a\xca\x6b\
+\x32\x49\x72\x34\x72\xff\xfc\x0f\x98\xa0\xc9\x3a\xeb\x1f\xf9\xc1\
+\x0d\xbd\x8f\xd9\xe4\x27\xc1\xd4\xfa\x95\x9d\xbd\x18\xbb\x37\x7a\
+\x81\x80\x51\x8f\x71\x21\xb9\x21\x56\x70\xad\x6d\x3b\x92\xa7\x01\
+\xa2\x82\x54\x58\x94\xdd\x37\xcd\xab\x6f\x49\xa6\xf6\xea\x40\x6d\
+\x83\x21\x35\xbe\x91\x81\x7d\x44\x93\xd9\xe0\x67\xf9\xec\x6d\x44\
+\xdb\xdc\x38\xec\x4e\x6c\x26\x2f\x93\xaf\x91\x30\xae\xb5\xd8\xa8\
+\x76\x7e\xb8\xfc\x35\xfe\x91\xcc\xd8\xc5\x8c\xb2\x91\x74\xf1\x7c\
+\x83\x21\x10\xd6\x29\xdf\x88\xed\x3b\x3d\x5d\x63\x16\xa1\xbc\x67\
+\x36\xfb\x74\x8f\xec\xfd\x78\x33\x85\x6f\xce\xda\xc9\xa0\xc4\xcb\
+\x0c\x8c\x6b\x20\x63\x60\x6d\x9f\xd1\x64\xb3\xf8\x58\x91\xf7\x21\
+\x5f\x77\xd3\x01\xd9\x7d\x22\x37\xac\xad\xef\x8d\xe9\xfc\x35\x93\
+\xaa\xe0\xa1\x85\x6f\x13\x67\x6f\xc3\x11\xe5\x22\xc9\x71\x7d\x9a\
+\x37\x63\xd4\xc9\x1b\x66\x1f\xff\x2c\x66\xec\x3c\xfb\x90\xaa\x20\
+\xda\xe6\xc2\x60\x50\x31\x28\x41\x72\xc7\x1e\xe9\xf7\x64\xd7\xeb\
+\xc4\x23\x76\x63\x26\xfc\xbe\x7c\xd9\xec\x8a\xc5\xe7\x37\x63\x33\
+\x7b\xb1\x9a\x7d\xbd\xb2\x96\x88\x7d\x85\x11\x12\xdf\xcb\xbf\x1f\
+\x22\x76\x73\x2c\xf2\xdf\xde\x08\x20\x11\x8b\x00\x12\x01\x24\x62\
+\x11\x40\xbe\x26\xf6\x7f\x3d\xc1\x5e\x79\x92\xa1\xfe\x8d\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x10\x45\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x10\x0c\x49\x44\x41\x54\x68\x81\xed\x99\x79\x90\xe5\x57\
+\x55\xc7\x3f\xe7\xfe\xf6\xb7\x77\xf7\xeb\xd7\xd3\xdb\x2c\x99\x99\
+\x24\x84\x90\x49\x44\x16\x91\x09\x24\x28\x20\x8b\xb1\x00\xa3\xa2\
+\xa5\x94\x42\x20\x40\x59\x2e\x55\x9a\xb2\x4a\x4b\x2c\xaa\x90\x52\
+\x4b\xab\x22\x93\x80\x4a\x61\x89\x1a\x71\x29\x49\x00\xc3\x16\x30\
+\x81\x40\x98\x08\xd9\x66\x92\xcc\x4c\x7a\xa6\xbb\xa7\x67\x7a\xfa\
+\xf5\xf2\xfa\xad\xbf\xed\xde\xeb\x1f\xaf\x33\x64\x9b\x61\x22\x7f\
+\x20\x55\x9c\xaa\x5b\xef\xd5\x7b\xf7\xf7\xde\xf7\x7b\xce\xb9\xe7\
+\x7c\xef\xbd\x62\xad\xe5\x87\xd9\xd4\x0f\x1a\xc0\xf7\x6b\x3f\x22\
+\xf0\x83\xb6\x1f\x7a\x02\xee\x85\x4e\x2c\xdf\x30\x1a\x38\x8e\x1a\
+\x03\x42\xa0\x6b\x8c\x5d\x13\xd0\xa2\x64\x38\xc1\xcb\xe0\xd1\x17\
+\xc0\xc1\x97\x82\x97\x61\x01\xac\x45\x64\xf8\xbd\x41\x51\x94\x1e\
+\x6f\x2e\xde\x81\x4b\x8e\x65\xf8\xb9\xc5\xa2\x8d\x41\x29\x55\x51\
+\x22\xa3\x62\xc1\xc2\xba\xb1\xa6\x8d\xa8\xa7\x79\xf8\x96\xe3\xad\
+\x67\xe1\xba\xa0\x08\xd4\x6e\xac\xbf\xa6\x5c\x0c\x3f\x59\x19\x29\
+\x7c\xc7\x0b\x9d\x23\xa2\xe4\x5e\x47\xf8\x2b\x0b\x3b\x9f\x4f\x15\
+\x13\x2c\xc2\xd3\xe7\x6b\x63\xc2\xa2\x17\xde\x58\x0f\xcb\x9f\xa9\
+\xf8\x85\xc3\x8e\xa8\x47\x1d\x51\x77\x04\x8e\xf7\xeb\xd6\x9a\xef\
+\x89\xef\x7b\x46\x60\xfa\x77\x67\x6f\x7a\xf9\x55\x17\x7f\xe8\x92\
+\xdd\x17\xb1\xb0\xba\xc8\x91\xb9\x53\x9c\x5a\x6a\xed\xde\x36\x5b\
+\x7b\x7f\xe0\x78\xd7\x9f\x38\xb1\xfa\x7a\x6b\xf9\x8e\x00\xc8\xb9\
+\xc9\x08\x96\x0c\x8f\xd4\xfa\x14\xa4\x8f\x45\xd0\x56\xd7\x77\x8c\
+\x4e\x7f\x6a\xdf\xce\xcb\xaf\xf1\x5d\x9f\xa5\x85\x63\x1c\x6d\x2d\
+\x31\xd0\xe9\xd5\xbb\x2a\x13\x57\xb7\xd2\xfe\xcf\x2c\x76\x9a\xbf\
+\xea\x29\x67\x70\xae\xdf\x3d\x2f\xc3\xb1\xf7\x35\x7e\xee\xe5\x57\
+\x5d\xfc\xa1\x3f\xbc\xee\x8f\xb8\xe9\xea\x3f\x61\xa2\x51\xc3\x75\
+\x15\xd6\x58\xfa\xfd\x94\x42\xc9\x6f\xec\xdd\xb3\xed\x76\x6b\x6d\
+\xc9\x1a\x60\x7d\xf4\x9c\x24\x04\xcb\xc0\x46\xb4\x4c\x0d\x85\x21\
+\x37\x9a\xc9\xea\xc4\x81\xd7\xbc\xe4\xb5\xd7\xbc\xee\xc0\x01\xf6\
+\x5d\xf7\x36\x8a\xca\x47\x44\xc8\x8d\xa6\x9b\x0e\x98\x29\x8d\xbf\
+\x6d\xb6\xd2\xf8\x40\x6e\x35\xe7\x72\xcd\x79\x09\x4c\x8c\xd5\x7e\
+\xb3\xbe\xad\xcc\xa1\xcd\x83\x7c\xfc\x91\xbf\xe4\xe8\x89\x93\xac\
+\x9c\x69\x63\xb4\x65\xd0\x4b\xd9\x6c\xf7\x89\x22\x6f\xa6\x50\xf0\
+\xaf\xb7\xb9\x03\xad\x1a\xc6\xe4\x18\xad\xa7\xb0\xbc\x11\x78\x3b\
+\xc8\xcf\x5a\x6b\xb7\x5b\x63\xb0\x56\x98\xcf\x77\x20\x62\x70\x44\
+\xed\xbc\x68\x6c\xe6\x2d\xb6\x3f\x60\xe9\x1f\xff\x8d\x43\xff\xfe\
+\x29\x4e\xf6\x56\xd9\x4c\x7b\xe4\x56\xd3\xc9\x62\x7a\xe9\x80\xb1\
+\xa0\xf4\x1b\xc0\xc4\xd6\x92\x79\x96\x9d\x33\x85\xca\x37\x8c\x8e\
+\xcd\xce\xd4\xf7\x3d\xfa\xc4\x22\x8f\xcf\x9f\xa0\xdd\x8e\x39\xbd\
+\xd4\xa6\xdf\x4d\x51\x22\x24\x89\x66\xbd\xdd\x43\x7c\x70\x2b\xf9\
+\x5b\xbd\xf6\xc4\xc7\xb3\xd5\xda\x25\xb5\xc9\x91\x3f\x2b\xd7\xc7\
+\xaf\xd1\x79\x5e\xea\x6e\x6c\xd0\xdb\x68\xe1\x47\x51\xdf\xf5\xfd\
+\x2f\x76\x5a\x9d\xdf\x5a\xce\x1b\x27\x7a\x3a\xa0\xe4\xc9\xab\x7a\
+\x49\xc7\x79\xf8\xb1\xff\xe1\xd0\xe1\x83\xac\x24\x6d\x4e\x0f\x5a\
+\x68\x6b\x00\xa1\x97\x0d\x58\xef\xad\x53\xf1\xc2\xd1\x29\x27\x7c\
+\x99\xc0\xed\xcf\x8b\x80\x52\x32\xd1\x19\x0c\x6a\xcd\x47\x37\xd1\
+\xb9\x41\x6b\x03\x16\x04\x41\x3c\xf0\xab\xa0\xca\x9a\x6e\xd0\x45\
+\xf7\x92\xba\xbb\xb8\xf3\xe2\x5d\x57\x5e\xf9\xb5\x17\xbc\x62\x4f\
+\xbd\x51\x2f\x71\xe8\x48\x93\x93\x47\xe6\x88\xbb\x5d\x44\xa9\xc2\
+\xc4\x45\x3b\xaf\x1b\xcb\xd2\xab\x8e\x3e\x78\x74\xff\xf1\x6c\xd7\
+\xc2\x8b\x83\xb9\x8b\xce\xb4\x9b\xac\xf6\xba\xb0\x55\x89\x86\x5e\
+\x16\x0a\xa2\xa8\xe2\x50\xce\x33\x82\x5c\x33\x8b\x3f\x76\x8e\x00\
+\x9c\x2f\x85\xa4\x1d\xc7\xe9\x20\xcf\x0c\x3a\xb7\x43\xe0\x08\x12\
+\x42\xb8\x4d\x51\x9e\xf1\xa9\xed\x08\x18\xd9\xe3\xa1\x5b\x5e\xb9\
+\x3e\xd8\xff\xd1\x2b\xae\xdd\x57\xff\xf3\xdf\xdb\xcf\x0d\xbf\x74\
+\x15\x7e\xb1\x80\xd5\x06\xa3\x0d\x46\x6b\x3a\x6b\xeb\xf8\x51\xb4\
+\x7d\xf6\x05\x7b\x3f\xd9\xcc\xc6\xd0\x46\xaf\x0e\xd2\x04\x6d\x35\
+\xda\x1a\x44\x04\x85\x50\x15\x87\x29\xf1\x98\x15\x9f\xed\x04\xec\
+\x94\x80\x19\xbc\x6c\x0a\xef\x39\x51\x9e\x33\x02\x22\x9c\xca\x92\
+\x7c\x5e\x44\x5d\x26\xc2\xd0\xfb\x1e\x84\x75\x45\x69\xc2\xa5\x38\
+\xee\x11\x8e\x3a\x44\x0d\xc3\x60\x62\x66\xac\x51\xdf\x7d\xe9\x20\
+\xcd\xb8\xed\xab\xcb\x3c\x70\x68\x99\xe5\xe3\x27\x69\x2d\x9f\x41\
+\x67\x19\xc6\x18\x92\x7e\x9f\xb8\xdb\xa3\x32\x52\xd9\xbf\xa4\xb6\
+\xff\xd8\x66\xfe\xd0\x3d\x15\x52\xe4\x6c\x3f\x80\x92\x28\x26\x70\
+\x69\x58\x8f\xba\xb8\xd4\xc4\xa1\x28\x2e\x22\x9c\xe6\x1c\xcb\xf8\
+\x9c\x04\x5a\xb7\xac\x9a\xda\xfb\xc6\x0f\x03\x97\x9d\x9d\x5c\x11\
+\x0a\x63\x0e\x85\x31\x97\x62\xc3\xa5\x30\xee\x52\xaa\x63\x9a\x6b\
+\x8d\xb4\xdf\x4e\xe5\xf8\xe1\x39\x8e\x3d\xb6\x48\xdc\x6a\xb1\xb1\
+\x78\x92\xde\xda\x06\xa2\x14\xd6\x68\xfa\x9b\x1d\xc4\xf1\x30\x28\
+\x74\x69\xf6\x8d\x3d\x5d\xfe\x8b\x92\x39\xd3\x13\xdc\xa2\xc1\xe2\
+\x8a\x30\x22\x2e\xa3\xb8\xd4\x71\xd9\xa6\x3c\x46\xdc\x10\xcf\x0f\
+\x37\xac\xb5\x8f\x9c\x0b\xe7\x79\xfb\x80\xef\xaa\x23\x9e\xef\x92\
+\xc4\x39\x46\x69\xfc\xb2\x10\x54\x5c\xc2\x11\x97\x42\xdd\xa5\x56\
+\x2e\x50\xcd\xc3\xce\xb1\x27\x2e\x69\x2e\x2f\x2c\xce\xc4\xd9\x1a\
+\x22\x42\x3a\x88\xd1\x59\x86\xa8\x61\x86\x3a\x5e\x84\xf8\x25\xe2\
+\xd4\x27\xdf\xb0\x48\x71\xdb\x74\xda\xaf\xf5\x0b\xb2\xbe\x1c\xe3\
+\xee\xce\x8d\x26\xb2\x50\xc6\xa1\x2a\x2e\x63\xe2\x32\xea\x45\xf8\
+\xa5\x31\x24\x2c\x3e\x80\xd1\x67\xce\x85\xf1\xbc\x65\x34\x4d\xf5\
+\xe7\xc2\xd0\x67\x6a\xaa\x46\xb1\xec\xe3\x45\x0a\x2f\x52\xf8\x65\
+\x45\x14\x79\x54\xa5\x48\x41\x97\x7a\x83\x65\xb5\x34\xe8\x77\x89\
+\xdb\x1d\x06\xed\x0e\x3a\xcf\xb7\xc0\x0b\x4e\x50\xc2\x2d\x37\xf0\
+\x2a\x93\x78\xd5\x29\x54\x71\x02\xb7\x36\xeb\xe6\xc1\x28\x71\x1e\
+\x7f\xa1\x11\xd5\x18\x0b\x2b\x14\x95\x47\x84\x50\x40\x51\x16\x17\
+\x2f\x2c\xa3\x4a\x23\xa8\x62\xed\x88\x2a\x8d\xa0\x4a\x23\xcf\x9f\
+\x80\x31\xf6\xde\x34\xcd\xbf\x50\x1b\x2d\x52\x1b\x2d\x12\x84\x2e\
+\xca\x07\xc7\x17\x3c\xe5\x52\xf0\x02\x16\x8e\xae\x2e\xb7\x07\xa7\
+\x0f\xe6\x59\x8a\x38\x0e\xa2\xd4\x59\xfd\xe3\x84\x25\xdc\xd2\x38\
+\x5e\xb9\x81\x57\x99\xc0\xab\x4e\xe2\x8f\x4c\xe3\x55\xa7\x5a\x6b\
+\x23\xaf\x26\xd1\xfa\x23\x4a\xa4\x3b\x1e\x56\xa8\x78\x21\x1e\x0a\
+\xdf\x82\x27\x2e\xe2\x05\xb8\x41\xb4\xe9\x7a\xc1\xcd\xae\x1f\xe1\
+\xfa\xd1\xf3\x27\xd0\xfe\xe8\x9a\x6d\x6f\xf6\x6f\x6c\x9e\x69\xf7\
+\x94\x12\x40\xce\xae\x25\xe5\x42\x1a\xeb\x47\x3e\xfd\x81\x07\xfe\
+\x2e\x3f\xdd\x78\xd0\xda\x94\xef\xea\x22\x8b\xf2\x42\xdc\xc2\x28\
+\x6e\x71\x0c\xb7\x58\xc7\x2b\x4f\xe0\x95\x27\xf1\x2b\x53\x04\xe5\
+\xf1\xe3\xbd\xf1\xfd\x68\xa7\x78\x68\xa9\xdb\xfc\x60\x3f\x4f\x78\
+\x9a\x6c\xb3\x16\x47\x84\xb5\xb4\xfb\x17\x2b\xdd\xf5\x43\xcd\xde\
+\x3a\xcd\xde\xfa\x73\x62\xfc\x9e\x5a\x48\x90\xf9\x53\x4b\xad\x53\
+\x95\x2c\xd8\xeb\xd6\x35\x4e\x2c\xe4\xb9\xc2\xe9\x94\xb8\xe3\xd6\
+\x47\xbf\x56\x1e\xdb\x79\x40\x67\xf6\x25\xae\x2f\x38\x4e\x40\x9e\
+\xa4\x80\x42\x05\x25\x9c\xa8\x8a\x13\xd5\x86\x24\x4a\xe3\x78\xc5\
+\x32\x7e\xa8\x72\xab\xfc\xaf\x87\x41\x79\xd8\x10\x75\xfa\xed\x85\
+\x6e\x93\x49\x27\x24\xca\x73\x06\xda\xa0\x2a\x15\x1e\x76\x63\xfb\
+\xa9\xb9\x6f\x7f\xc6\xb1\x16\x64\x58\xab\xfe\xfa\xf9\x46\x00\xa0\
+\x75\xeb\xaa\xb6\xd8\xac\xdb\x4a\x29\xd9\x11\x76\x85\x17\xb3\xbd\
+\x7b\x19\x0f\xdd\xb6\xce\xc6\x46\xff\x09\x15\x18\x10\xf3\x68\x58\
+\x2a\x2e\x79\x41\x80\x72\x1d\x1c\xcf\x47\xf9\x45\x94\x5f\xc4\x09\
+\x2b\x38\x61\x0d\xaf\x58\xa6\x54\x75\x28\xd7\x64\xa9\x54\x2f\x1e\
+\xaa\x0f\x0e\xa2\x74\x8c\x83\xea\x27\x3a\xa3\xad\x0c\xce\xcc\x34\
+\xe1\x8b\x2e\xe7\xf0\xae\x06\xff\xb1\x72\x24\xb3\x56\xaf\x6a\x01\
+\x8d\x21\xc7\xfc\xdf\x22\x50\xff\x9d\xc6\xab\x2a\xdb\xdd\x69\x71\
+\x85\x76\xaf\xcd\x89\xa3\x86\x54\x27\xf4\x9d\x1e\xb5\xe9\xe2\x75\
+\x83\xf5\xce\x3f\xd9\x2b\x1e\x3c\x15\x3f\xf4\x13\x9f\xad\xcd\x8e\
+\xde\x10\x96\x0a\xc4\x03\x8d\xf5\x42\x94\x17\x21\x7e\x84\x0a\x0a\
+\x04\x05\x87\x42\x49\xf0\x6a\xb5\xe3\xd1\xe2\xdd\xd9\xb6\xfb\xff\
+\x80\x5c\xa4\x38\xee\xf8\x6f\x2a\xa2\x70\x33\xcb\xe2\xda\x19\x4e\
+\x77\xd6\xa1\x37\x60\x07\xca\x6b\xb9\xe1\x9b\x9a\x26\xfd\x84\x63\
+\xe5\x9c\x6a\xf4\x39\x09\xd4\xde\x53\x2f\x01\x37\x7a\x15\x79\x7b\
+\x71\xda\xbd\xb2\xb1\xa7\x40\x10\xba\xa0\xc0\x5a\x83\x52\x01\x22\
+\x11\xab\x4b\xbd\x57\x6a\xf2\xc7\xd2\x2b\x0f\xdf\x9d\xa9\xfc\x1b\
+\x41\xff\x57\xba\x41\xd9\x2f\x75\x36\xfa\xc4\x3a\x00\xc7\x45\xb9\
+\x3e\xca\xf7\xf0\x02\x70\xca\x95\x41\x71\xf9\xeb\xbf\x3f\xfe\xf9\
+\x77\x5c\xe2\xa6\xbd\x9b\xea\x5e\xf1\xa7\x76\x49\x38\x33\xee\x46\
+\xb8\xa2\x10\x63\xb0\x31\xb8\x7e\x44\x82\x91\xa3\x69\xfb\x40\x8e\
+\x73\x53\x07\xf3\x39\x83\xfd\x30\x70\xe2\x99\x58\xe5\xa9\x1b\x92\
+\xe2\xbb\x6a\xbb\x5c\xcf\xf9\xa0\xb8\x5c\xad\x3c\x66\xbc\xa2\x50\
+\x18\x77\x29\x4f\x06\xcc\xec\xaa\x32\x52\x2b\xe0\x39\x0e\x49\x9e\
+\xb1\x78\xa2\xc5\xf2\x5c\x97\xa4\xad\xd1\x89\x41\xdb\xd8\xca\xdd\
+\xd7\xe6\xf5\xde\x6b\xbd\xc4\xa4\xc4\x59\x84\x14\x26\xf0\x6b\x33\
+\xf8\xb5\x09\x2a\xdb\x6a\x4c\xac\xdf\xf9\xd8\xf4\x5d\xef\x3e\x14\
+\xe8\xf4\x8d\xae\x13\x86\x23\x38\x8c\xe3\xb2\xdd\x2b\x32\x5b\x6a\
+\x10\xf9\x05\x04\xa1\x93\x74\x78\xbc\x73\x9a\x65\x1d\xd3\xc3\x90\
+\x60\x49\xb0\x9d\x2e\xe6\xb3\xa9\x35\x37\xdf\x72\xbc\x75\xef\xb3\
+\x08\x8c\xbe\xbf\xfe\xae\x3d\xbb\xa6\x6f\x8e\x6a\x2a\x38\xb1\xb2\
+\x4c\x66\x73\x1c\x4f\xe1\x15\x14\x7e\xd9\x21\xa8\x28\x46\x46\x8a\
+\x8c\x57\x2b\x9c\x5c\x59\x63\x73\x3d\xc6\x24\xa0\x33\x83\x4d\x2c\
+\xda\xa4\x0c\x0e\x37\xd0\xff\xf9\x06\x8a\xdb\x1a\x64\x14\x51\xc5\
+\x6d\x78\xd5\x29\xbc\x91\xed\x34\xaa\x31\x6f\x7e\xe4\xb7\xa9\xac\
+\x3e\xcc\x6a\xdc\xc7\xb5\xe0\xa3\x28\x89\xa2\x8c\xa2\xa2\x3c\xea\
+\x95\x06\x4a\x39\x9c\xda\x58\xa2\x6b\x35\x29\x96\xcc\x5a\x12\x6b\
+\x48\x8c\x25\xc6\x90\x29\x68\x91\xff\x6d\x82\x7d\xef\xad\xc7\x5b\
+\x99\x0b\x50\x7a\x77\xed\x92\x57\xbe\xf4\x8a\x8f\xfd\xcd\x3b\x6e\
+\xe1\x96\x87\xfe\x94\xd6\x83\x2d\x3a\xd9\x00\xcf\x77\x50\xde\xb0\
+\xee\xa3\x60\xa3\xdb\x63\xa3\xdb\xc5\x51\x8a\xb0\xea\x62\x0d\x58\
+\x6d\x31\x99\x45\x67\xa0\x26\x0d\xcd\xa4\x83\xac\x2a\xbc\x11\x0f\
+\x9d\x25\x44\xa2\xd9\x51\x6d\xb3\x70\xff\x1d\xbc\xfa\x17\xae\xa7\
+\xff\xe9\x3e\x8f\x2f\x1e\xc6\xb3\xe0\x89\xc2\xb3\xe0\x23\x58\xa3\
+\x59\xdb\x58\x02\x2b\xf8\xca\x61\x44\x5c\x0c\x16\x2d\x90\x58\x43\
+\xdf\x1a\x7a\x56\xe3\x88\xa2\x26\xce\x3b\x8f\xd9\xe4\x0e\xe0\x76\
+\x17\xc0\xf3\xdc\x6b\x6c\x98\xf0\xb1\x47\x3f\xcc\x5c\x7b\x9e\x91\
+\xf1\x22\x55\x37\x44\xf9\x20\xbe\xe0\xb8\x82\x72\xc1\x8a\x25\x17\
+\x8d\xb1\x06\x63\xc1\x1a\x8b\xd1\x43\x12\x04\x1a\x59\xf5\x51\xaa\
+\x80\x45\xa8\x46\x10\x56\x33\xc6\xab\x6b\x2c\x7c\xeb\x5e\x56\x16\
+\x96\x58\xbb\xf3\x3b\x8c\x66\x7d\xb6\x17\xc7\x70\xad\xc5\xb7\xe0\
+\x8b\xc2\x45\xe1\x60\x11\xa3\x41\x6b\xac\x19\xee\xc0\xb4\xb5\xe4\
+\x32\x1c\x31\x96\x8e\xc9\xb1\x22\xc4\x62\x59\xb0\xe9\x35\x67\x09\
+\x88\xc3\x6b\x4e\x26\xcb\xac\x1f\x59\xa5\x58\x0a\x29\x8f\x86\x44\
+\x91\x8f\x1b\x80\xf1\x35\xb9\x9b\x63\x5d\x8d\xa3\x04\x8b\x25\xb7\
+\x96\xdc\x18\x0c\x39\xd6\xcf\x49\x37\x15\x1b\xdf\xd8\x41\xff\xab\
+\x3f\x49\x71\xe2\x22\x8c\xc4\xac\x6d\x26\x48\x7b\x99\x93\xf3\xcb\
+\x28\x2f\x24\xda\xbe\x8f\x5b\x4f\x1e\xe4\x95\xe9\x3c\xd7\x8e\x56\
+\xa8\x87\x21\x79\x06\x2a\xcb\x70\xf3\x0c\xc7\x0a\xca\x55\x58\x3b\
+\x24\xa0\x75\x46\x6e\x72\x72\x93\x93\x61\x49\x95\xa5\x2c\x8a\x18\
+\x4b\x82\xa1\x84\xda\x7b\xb6\x0a\xb9\x45\x35\x21\x15\x43\xec\x26\
+\xbc\x7c\xf6\x12\xb6\x4f\x8c\xa3\x55\x4e\x26\x29\x09\x09\x03\x1b\
+\x03\x16\x41\x0d\x3b\xb1\x67\x20\xc8\x69\x2e\x68\x0e\xfd\x43\x81\
+\xe5\x2f\x4c\x92\xcc\x5d\x8a\x3f\x3a\x4b\x71\xc7\x08\x8e\x17\x80\
+\x28\x44\x86\x6d\x46\x14\xa4\xbd\x2e\x77\xc7\xfb\xf8\x72\xbe\x8d\
+\x3b\x3a\x3d\xde\x1a\x24\xfc\xe2\x78\xcc\x38\x09\xfd\x38\x21\xb7\
+\x0a\x94\x80\xb5\x58\x6b\xb0\x3a\xc3\x24\x7d\x74\xd2\x23\x8f\xbb\
+\xe4\x79\x4a\xa4\x73\xba\xd6\x20\x62\x99\x14\x6f\xe2\xbb\x04\x0a\
+\x32\x59\x6c\x78\xe4\xfd\x1c\x47\x41\x14\x78\xa4\x5a\x10\x2b\x18\
+\x6d\x11\xab\x10\x2b\x20\xe0\x15\x34\x1b\x27\x84\xfb\x3f\x52\xe3\
+\xd8\x9d\x15\xba\x67\x42\x9c\xc8\xc5\xab\x69\x2c\x5d\xd2\x7e\x91\
+\x91\x5d\xd3\x04\x95\xca\x50\xeb\x8b\xd0\x5f\x5d\xa5\xbd\x74\x92\
+\x90\x1c\x3f\x2c\xf0\x40\xea\xf1\xad\x85\x9c\x03\xa7\x13\xde\x50\
+\xed\xf2\xde\x6d\x03\x66\x42\xa1\x6f\x86\x87\x2e\x4f\xee\xbe\xc4\
+\x18\x1c\x93\xa3\xb2\x94\x50\xa7\xf4\x36\x96\xe9\xae\x2d\xb1\x3b\
+\x88\xd8\x6e\x83\x99\x77\xee\xaa\x56\x5c\xe7\xb5\x61\x6d\xf6\xf5\
+\x23\x63\xfd\x95\x9c\xc1\x7a\xc2\x72\x6d\x83\xc6\x74\x95\x7e\x16\
+\x93\xd9\x0c\x6d\x35\x82\xa0\x94\x42\x39\x86\x83\x07\x46\x99\xff\
+\xcc\x3e\xf2\x6e\x19\xeb\xac\x13\x34\x34\xe2\xb8\x28\x37\x00\x20\
+\x8f\xbb\xac\x1f\x9f\xa7\x38\x56\xa3\x36\x51\xa3\xdd\x6c\xd3\x5e\
+\x3e\x33\xec\x1f\x41\x11\x71\x7d\x0a\x41\x4a\xa4\x53\x56\x72\x9f\
+\x03\xeb\x3e\xff\xba\x9e\x72\xd3\x78\x93\x5f\x9b\x48\x48\xec\x90\
+\x84\xb5\x16\xac\x61\x18\x72\x8b\xe3\x45\x6c\x60\xf8\x56\xba\xc9\
+\xa2\x93\x31\xa5\x82\x89\xf5\x4e\x7c\x95\xc3\x0e\x77\xa6\x74\x91\
+\xff\x3e\x15\x28\xdf\x73\x15\x03\x3f\x26\x1a\x75\x31\xe4\x64\x5b\
+\xc7\x19\x56\x2c\x4e\x98\xf3\xc8\x6d\x55\x92\xaf\x5e\xcf\xc7\x6e\
+\xfe\x65\x4e\x11\x72\x66\x25\x26\x4d\x05\x27\xa8\xa0\xfc\x22\xe2\
+\x86\x28\x27\x00\x84\x74\x90\xd1\x5e\xd9\x24\xe9\x27\x88\xe3\xa0\
+\x1c\x1f\xe5\x85\x28\xaf\x80\xf2\x02\xc4\xf1\x50\x8e\x43\xe4\xfb\
+\xa4\xde\x08\x5f\xea\x84\x5c\x1b\x34\x99\xf6\x72\x72\x63\xc0\x68\
+\x30\x06\x6b\x0c\x58\x83\xc9\x12\x4e\xac\xcc\x31\xd0\x39\x03\xc7\
+\x72\x9a\x4c\x16\x92\xf8\xcb\xae\xb9\x2b\x3e\xe6\xbe\x3e\x7a\xcf\
+\xc4\x2b\x8a\x7f\x1c\x14\x9d\x5d\x88\x55\xa7\x2e\x6b\xb2\xbd\xda\
+\xc0\xc9\x1c\x74\xae\x11\x0b\xa9\xce\x39\x73\xff\x34\xbb\xf7\xee\
+\xe0\x9e\xc7\x37\x59\x59\x4d\x08\x4a\x15\x6a\x5e\x09\x71\x03\x10\
+\x17\x2b\x2e\xa0\xb0\x56\x61\xac\xc2\x6e\xa5\xdd\x93\x0a\x76\x08\
+\x66\xab\xca\xe8\x04\x95\x76\x31\x79\x82\x8b\x62\x53\x79\xdc\xd3\
+\x9e\xe3\xc7\xa3\x36\xb1\x56\xc3\x87\xac\x41\x10\x7c\x6b\xe9\xae\
+\x2f\xd1\x4f\xfb\x2c\xe6\x89\xf6\x44\x9d\x3a\x14\x77\xff\x7e\x2d\
+\x4d\xff\xc5\x05\xc8\xef\x1c\x7c\x52\xf6\xfb\xff\x85\x70\x29\x4a\
+\xae\x6a\xde\xdf\x7f\xf5\xfc\x8b\xda\x57\xed\xbe\x7c\x7c\xb6\xb1\
+\xa3\xe2\x05\x45\x07\xeb\x08\xdd\x15\x87\x87\x8e\xcf\xf3\xd8\xdc\
+\x0a\xd9\x40\x63\xa5\x80\x5b\x08\x50\x5e\x80\x13\x04\x28\xcf\x47\
+\x94\x87\xc5\xc1\x58\x41\x6b\x30\xda\x9e\xdd\xd8\xdb\xad\x12\x89\
+\xce\xb1\x26\x43\x05\x25\x4c\xd6\x07\x6d\x70\x25\x64\xbe\x13\x10\
+\x59\x83\xde\xd2\x98\xb9\x85\x6e\xd2\xe5\xa1\xd5\x85\xf5\xfb\x36\
+\x4f\x1f\x3e\x98\x76\xbe\xd8\xd4\xf9\x57\x64\xc0\xe1\x7b\x5a\x76\
+\xed\x59\x52\xe2\x69\x1a\xe3\x65\x6e\x9d\x40\xed\x2a\x4f\x84\x53\
+\xd5\x29\x77\x2c\xf2\x6a\xd3\xdd\xbb\xde\x79\x93\x38\x3b\x0b\x38\
+\x2e\x93\x7b\xa7\xa8\x4f\xd7\x11\xd7\x07\xc7\x47\x5b\x97\x38\x55\
+\x0c\x06\x60\xac\x20\x4a\x10\x11\xac\x61\x48\x20\x37\xe8\x54\x93\
+\xa7\x06\x93\x67\x58\x93\x83\x4e\x31\xd9\x00\x9b\x27\xa4\xb9\x61\
+\x72\xf1\xf6\xb9\xb7\xc4\xb7\x7d\x3c\x53\x4a\xc7\xc6\xf4\x5a\xd9\
+\x60\xed\x74\xdc\x3e\xbd\x92\x65\x0b\xb9\xb0\xf0\xcd\x96\xcd\xce\
+\xab\x85\xce\x67\xd1\xd4\xcf\xef\xac\x8d\xbd\xee\x68\x30\x3e\xe5\
+\xe6\xda\xb0\xf7\xc5\x33\x6c\xbf\x6c\x17\xc6\x0c\x0b\x6c\xae\x21\
+\x89\x2d\x49\x6a\x10\x19\x56\x44\xb6\x16\xa3\xb5\xc3\x94\xd6\xda\
+\x92\x25\x96\xb8\xa7\x19\x74\x34\x69\xaa\xc9\xe3\x1e\x18\x03\x26\
+\xa7\x75\xfc\xe0\xc3\xfa\xd8\x27\xae\xd8\x2d\x5f\xc3\x7b\xf2\xd0\
+\xfb\x29\xbf\x75\xd7\xc6\xb3\xb1\x5e\xf0\xfd\x40\x64\x2e\xba\xc2\
+\xab\xd6\x5c\x27\xac\x60\xd1\xe8\x3c\xc1\x0f\x7c\x5c\x47\x10\x0c\
+\x26\xcb\x31\x79\x86\x2b\x1a\x57\x34\x6a\x6b\x38\xca\xe0\x3a\x06\
+\xcf\x33\x84\xa1\xa5\x5c\x81\xb1\x6d\x0e\x93\x3b\x3d\x66\xf6\x94\
+\x70\xcd\x19\xb2\xfe\x06\x4e\x34\x42\x54\xdb\xb6\x37\xf6\x5e\xb8\
+\x63\xde\x7b\x0b\x48\x81\xa2\x03\xce\xb9\x4e\xb4\xb6\xec\x82\xef\
+\x07\x92\x7c\x75\x4f\xc5\x0d\x49\x56\xe7\xc8\xb3\x01\xed\x66\x44\
+\x7b\x53\x93\x26\x19\x79\x6e\xd1\xf9\x96\x77\x86\xa5\x7f\xab\x07\
+\x6c\x3d\xbc\x15\x85\x67\x0d\x9d\xd3\x6b\x9e\x24\x5e\x6b\x92\x36\
+\x8f\x11\x8c\xee\x08\x75\xb2\xba\x7f\xa5\xdf\x9a\x5f\x97\x97\xb0\
+\x3b\x7c\x82\x1d\xe1\x49\x72\x7b\xae\x53\xa1\xe7\x41\xc0\xe8\xbc\
+\x9e\xb5\x4f\x23\x4e\x80\x13\x46\x6c\x34\x07\x9c\x59\xec\xe0\x17\
+\x5c\x8c\xb1\x28\x05\x22\xc2\xd6\x7e\x1e\x79\xc6\x29\xf5\x77\x81\
+\x0f\xc9\x88\x72\x68\xaf\xac\x93\x25\x06\x27\x2c\xa2\x7b\x6b\xc4\
+\x69\x0f\xe5\x06\x7b\x21\x25\xb7\x3e\x8f\x0f\x2e\xa5\x67\x0a\xec\
+\x89\x9e\x40\xa1\x9f\x13\xd7\x05\xa7\x50\xdc\x3a\xf1\xd1\xd6\xc2\
+\x7d\x9f\xd7\x59\x0f\x74\x4e\xd6\xef\xb2\xb6\x62\x49\x53\x17\xac\
+\x60\x72\x30\x5b\x91\x30\x7a\xf8\xaa\xf5\xd6\x78\xca\x7b\xa3\x01\
+\x2b\xc4\xdd\x9c\xd6\x4a\x02\x40\x3e\x68\xa1\xb3\x7e\xd2\x9a\xff\
+\xe6\x3f\x0f\xda\xa7\x6e\x06\x8f\xa1\xcf\x35\x27\x93\x5d\xac\xa4\
+\xf5\xb3\xeb\xe0\x99\x76\xc1\x11\xb0\xf6\xbf\xe7\x45\xae\xbe\xae\
+\xbf\x3e\x77\xad\x72\x82\x7d\xca\xf5\x2e\x8f\x37\x4e\xfe\x74\x72\
+\xc9\xfe\x46\x63\xef\x1e\xa2\x52\x84\x3c\x45\xcb\x80\x19\xba\x1c\
+\xb6\x72\x4a\xa1\x44\x61\x0d\xf4\x7b\x86\xe6\xb1\x39\xd6\x1e\xfb\
+\xd2\xe9\xee\xe2\x7d\x5f\x4e\xbb\xab\xf7\x01\x07\xc1\xde\x07\xce\
+\x33\xfe\xf9\xb9\x3d\xff\xa4\x5d\x70\x15\x1a\xe2\xb8\x96\x27\x5b\
+\x3b\x58\x07\xd2\x1d\xe0\xbd\x30\x1a\xdd\x71\x59\x79\xdb\xec\xc5\
+\x51\xb5\xde\x28\xd4\x27\xc7\x83\x4a\x63\xc4\x0d\x4a\x91\xe3\x05\
+\x1e\x60\x74\x16\x27\x59\x7f\xb3\xd3\x5b\x3b\xbd\xdc\x6b\x9e\x3a\
+\xd5\x69\x9e\x39\xde\x5f\x39\x7a\xc8\x64\x1b\xdf\x06\xff\x04\x38\
+\xe7\x01\xe1\x70\x59\xe1\x61\xa6\x82\x33\x7c\x71\xfd\xd9\xd3\x2e\
+\x38\x02\x4f\xa1\xb1\x35\xd0\x10\xce\x41\x3a\x37\x58\x3f\xfa\x95\
+\xc1\xfa\xf1\x49\x51\x41\xcd\x2f\x96\x47\xfd\x62\xb5\xe6\x04\xa5\
+\x82\xe3\x47\xbe\x80\xce\xd3\xde\x20\xef\x77\x36\xe3\xce\x46\x33\
+\x8f\x7b\x6b\x90\x36\x81\x4d\x08\xf8\x7e\x2f\x4a\x9f\x57\x04\xfe\
+\x3f\xda\x0f\xfd\x3d\xf1\x8f\x08\xfc\xa0\xed\x87\x9e\xc0\xff\x02\
+\x82\xe5\x0b\x53\x02\xc9\x87\xf5\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\x11\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x11\x02\x49\x44\x41\x54\x68\x81\xd5\x99\x79\x94\x5d\x45\
+\x9d\xc7\x3f\x75\x97\x77\x97\xb7\xf5\xbe\x27\xe9\x0e\x49\x87\x24\
+\x84\x3d\x61\x11\x90\x2d\x61\x33\x28\x20\xc2\x19\x11\x75\x9c\xa3\
+\x1e\x99\x05\x98\xa3\x33\x03\xea\xe8\x30\x33\x3a\x11\x15\x14\x95\
+\x20\xea\x30\x82\x32\x80\x82\x88\x80\x82\x22\x23\x11\x54\x40\x40\
+\x48\xc8\xde\x49\x77\xd2\x4b\x5e\xba\xfb\xed\xef\xbe\x7b\xab\x6a\
+\xfe\x78\xaf\x5f\xd2\x21\xa2\x1c\x83\x73\xa6\xce\xb9\xef\xd6\xbd\
+\xaf\xaa\x7e\xbf\xef\xaf\x7e\xf5\xfd\xfd\xaa\xae\xd0\x5a\xf3\xff\
+\xb9\x18\xff\xd7\x0a\xfc\xa9\x45\x9c\xfa\x96\x13\xb0\x0c\x13\x84\
+\x00\x04\x1a\x40\xd4\x70\x69\xc4\xfe\x4d\x1b\x77\x8d\x46\xd4\xdb\
+\x5a\x51\xae\xf6\x4e\x18\xb5\x36\xf5\x71\x10\x06\x5a\x18\xef\xd2\
+\x18\xeb\x81\x97\xeb\x23\x03\xba\x76\x69\x8d\x40\x23\xb4\xda\xf7\
+\x5e\x2b\xd0\x9a\xc8\x4a\xee\x27\x75\x7f\x69\xfb\x6b\xa5\x09\x4a\
+\xf9\x37\x75\x06\xde\x2d\x0a\xe3\x77\x5b\xc1\xd4\xc3\xc0\xc2\x37\
+\x4b\xc8\x9b\x05\xe0\xaa\xea\xf4\xc8\xb7\x57\x5f\x71\x95\x58\xb0\
+\xf4\xa8\x39\x2a\xbf\xfb\x09\x60\xf9\x9b\x21\xe8\xcd\x00\x70\x7d\
+\x31\x33\x7c\xcb\xc5\xef\xbf\x5a\x5c\x73\xf5\xdf\x72\xeb\xed\xff\
+\x45\xef\x61\x4b\x7a\xa3\xec\xae\x9f\x02\x67\x1d\x6a\x61\x87\x1a\
+\xc0\xa7\x0b\x7b\x47\xfe\xf5\x2f\xff\xfe\x06\xae\xbd\xfa\x6a\x76\
+\xec\xd8\x41\x3e\x5f\xe0\xbb\xf7\x3c\xc0\xfc\xa5\x27\x24\xab\x53\
+\x3b\x1e\x02\x56\x1e\x4a\x81\x87\x12\xc0\x0d\x85\xc9\x5d\x9f\xbc\
+\xea\x1f\x3e\xc3\x87\x3e\xf0\x3e\x86\x86\x86\x08\xc3\x90\xb1\xb1\
+\x51\x72\xb9\x1c\x77\xdc\x79\x17\x4b\x57\x9c\xe9\x56\xa7\x86\x7f\
+\x00\x9c\x7b\xa8\x84\x1e\x2a\x00\x37\x95\xa6\xc6\x3e\x7e\xed\xa7\
+\x6e\xe6\xbd\x57\x5e\xc1\x96\xad\x5b\x09\xc3\x88\x64\x32\x49\x2a\
+\x95\x62\x7c\x7c\x9c\x4c\x26\xc3\x6d\x5f\xff\x26\xc7\x9f\x76\x81\
+\x57\xdd\xbb\xf3\x07\xc0\xc5\x87\x42\xb0\x39\x6f\x6e\x1f\x86\x30\
+\xf6\xd1\x1f\xd4\xeb\xec\x7b\x9e\x55\x17\xf5\x5f\x01\x60\x19\x2a\
+\xb8\xb5\x94\xcb\x7c\xe4\xba\xcf\xde\xc6\x25\xef\x58\xcd\xe6\xcd\
+\x9b\x31\x84\x20\x99\x4c\xe2\xfb\x3e\xb6\x6d\x03\x90\xcf\xe7\xa9\
+\x46\x21\x97\x5e\xfa\x2e\x36\x0e\x8d\x9a\xdb\x7f\xf7\xcb\x77\x5a\
+\x5e\x6a\x48\xa0\x5f\xdc\x27\xa3\x46\x95\xca\x70\x0e\x90\x2a\x0e\
+\xaa\x89\x0c\xab\x7f\x12\x00\xcf\x0a\xa7\xbe\x53\x29\xe6\xae\xf8\
+\x97\x9b\xee\xe0\xbc\x55\x67\xb2\x65\xcb\x16\x5c\xd7\xa5\xa9\xa9\
+\xa9\x01\xc0\x71\x1c\x1c\xc7\x21\x16\x8b\x51\x2e\x14\x29\x55\xca\
+\x5c\x7c\xd1\x45\x8c\x4c\xe4\x8c\x8d\xcf\x3f\x71\x91\xed\xa5\x0a\
+\xc0\xd3\x7f\x6e\x00\x9e\x19\x4c\xdd\x1d\x94\x8a\x17\x7d\xea\xa6\
+\x3b\x58\x79\xc6\x29\x6c\xdc\xb8\x91\x58\x2c\x46\x3a\x9d\x26\x95\
+\x4a\x35\x2c\x0f\x60\x9a\x26\xae\xeb\x62\x98\x06\xf9\x7c\x9e\x62\
+\xb1\xc4\xea\x0b\x57\x33\xb2\xb7\xcc\xfa\xdf\x3c\xbe\x2a\xe6\xa7\
+\xcb\xc0\xba\x3f\x17\x80\x94\x59\x99\xbc\x2f\x8a\xa2\x0b\xbe\xf8\
+\xf5\x7b\x38\xf5\xe4\xe5\x6c\xd8\xb0\x01\xdf\xf3\x68\x6d\x6b\xe3\
+\xc9\x27\x9f\x64\xcd\x9a\x35\x7c\xfb\xce\x6f\x33\x6f\x60\x80\x2d\
+\x9b\x37\x73\xfd\x75\xd7\x71\xed\xb5\xd7\xd2\xdc\xdc\xcc\x59\x67\
+\x9d\xc5\xd4\x54\x86\x6c\x36\xc7\xdb\x2f\x5c\x4d\x51\xb9\x3c\xff\
+\xd4\x43\x2b\x63\x5e\xda\x00\xfd\xf3\x37\x0a\xc0\xe2\x8d\x95\x66\
+\x51\xc9\xdc\x2f\x0c\xe3\xad\x5f\xfa\xcf\xef\x71\xc4\xe1\x8b\x58\
+\xbf\x61\x03\x9e\xeb\x12\x4f\x24\x48\x24\x12\x54\x2a\x15\x7e\xf7\
+\xf2\xcb\x8c\x8f\x8d\x91\xcf\xe6\x29\x55\xca\x3c\xfc\xc8\x23\x4c\
+\x4f\x4f\x23\xea\x86\x89\xc7\x93\xe4\x72\x39\xb6\x6f\xdf\xce\xdf\
+\xfd\xcd\x55\xf8\x89\x38\xdf\xb8\xf1\x13\x9f\x8c\xb7\x74\x7b\xc0\
+\xc7\xde\x88\x42\x6f\x64\x06\xba\x45\x65\xcf\x83\xb1\x98\x77\xca\
+\xcd\xdf\xba\x8f\x85\xf3\xe7\xb2\x6d\x5b\xcd\xe7\x7d\xdf\x27\x1e\
+\x8f\x63\xdb\x36\xb9\x5c\x9e\xdd\xbb\x77\xd3\xd1\xd6\xc7\xe5\x97\
+\xbe\x07\xa4\xc5\x2b\xeb\xd7\xb3\x68\x70\x21\x97\x5f\x7e\x19\x7d\
+\x7d\x7d\x00\x68\xad\xa9\x56\xab\x4c\x4d\x4f\x73\xf6\x19\x67\xe0\
+\xb6\xf4\xb1\xee\x27\x0f\xbc\x25\xe6\xc6\xdb\x95\xe1\x3c\x4a\xdd\
+\x9f\x0e\x95\x0b\x2d\x30\x4a\xe3\x8f\xbb\xf1\xa6\xa3\x6e\xb9\xe3\
+\x5e\x7a\x3b\xdb\xd8\xb9\x63\x07\xae\xeb\x12\x8f\xc7\xf1\x7d\x9f\
+\x44\x22\x01\x80\x52\x1a\xc7\x4a\x70\xe6\xb9\xcb\xc9\x3a\xbf\x40\
+\x39\xbb\x38\xfe\x88\x95\x2c\xe8\x3f\x82\xa5\xcb\x16\xd3\xd4\x94\
+\xc6\xb6\x6d\xb4\xd6\x08\x21\x88\xc2\x90\xc9\xc9\x49\x4e\x3f\xed\
+\x54\x9a\xfb\x0e\xe3\xc9\x87\xef\x5b\xe1\xc6\xc4\x12\x65\xb8\x3f\
+\x00\xe4\xa1\x70\xa1\x01\x51\x1c\xff\x91\x93\x6a\x59\x78\xd3\xad\
+\x77\xd1\xd9\xda\xc2\xf0\xf0\x30\x5e\xdd\xf2\x9e\xe7\xe1\x79\x5e\
+\xa3\xf1\x33\x4f\xff\x8a\xcf\x7e\xee\xdf\xe9\x3f\x71\x8c\x5c\x71\
+\x02\xd3\xb6\x58\xb0\x60\x90\xa9\x97\x0f\xe7\xb0\x85\x03\xcc\x9b\
+\x37\x07\x00\xdf\xf7\x1b\x33\x51\x2e\x97\xd9\xb2\x65\x2b\x97\x5c\
+\xb8\x9a\x28\x54\xdc\xf4\xe9\xab\x2f\xf5\x93\x10\xd9\x4d\x57\x00\
+\xd5\xd7\x53\xee\x0f\x01\x58\x44\x61\xec\xc7\x2d\xbd\xfd\xf3\xbe\
+\x74\xdb\x9d\xf8\x6e\x8c\x91\xe1\x9d\xc4\xe3\xf1\x86\xeb\x78\x9e\
+\x87\x69\x9a\x8d\x0e\xe9\x76\x83\xe3\x56\x79\xc4\xe3\x4b\x98\xd8\
+\x76\x18\xe9\xb4\x47\x53\x4c\xe0\x2e\x9d\xc4\x6f\xde\x37\xb0\x69\
+\x9a\xf8\xbe\x8f\x10\x02\xc3\x30\x28\x97\xca\x6c\xda\xb4\x89\x4b\
+\x2f\x79\x3b\xad\x6d\xad\xfc\xcb\xb5\x7f\x75\xa9\xad\x95\x23\x63\
+\xcd\x97\x03\xe5\x83\x29\xe7\xfa\x89\xd7\x75\xa1\x65\xba\x30\xfa\
+\x58\x4f\xff\xe1\x73\x6e\x5e\x7b\x27\xb6\x01\x99\x89\x09\xfc\xb8\
+\x87\xeb\x7a\xf8\xbe\x8f\xef\xfb\xb3\x94\x07\x78\xfa\xa9\x67\xd1\
+\x85\x6e\xe6\xb5\x9e\x48\x7f\xcf\x71\x74\x34\x2f\xc5\x8d\x06\x89\
+\x72\x6d\x98\x86\xc5\x11\x4b\x97\x36\xda\x1a\x86\x81\x65\xed\xb3\
+\xa1\xd6\x8a\x3d\x13\x13\x1c\x7d\xd4\x51\x2c\x3a\xe6\x24\x1e\x7f\
+\xe4\xfe\x45\x96\x2c\x9f\xa0\x2c\xff\x21\x01\x95\x99\x76\xfb\x3b\
+\xf8\xef\x03\x70\x82\xce\xef\x7e\xb4\x7f\xf1\xb1\x5d\x5f\xf8\xda\
+\x37\x11\xb2\xca\xf4\xf4\x14\x9e\xeb\xe2\xd5\x15\xf7\x7d\x1f\xc3\
+\x78\x6d\x26\x92\xcd\x66\x69\x6e\x4e\xd3\xde\xd9\x42\x4b\x6b\x13\
+\xad\xad\x4d\xb4\x77\x36\xd3\xd1\xd1\x4a\x6f\x6f\x6f\x63\x11\x37\
+\x94\x11\xa2\x01\x62\x86\xa5\xf6\x4e\x8c\xb3\x64\xc9\xe1\x1c\xb9\
+\xfc\x74\x7e\xfa\xc8\x03\xf3\x8d\xa8\xf0\x56\x6d\xf9\x3f\x04\x8a\
+\x07\x02\x38\xd8\x8e\xec\x6c\x95\x1b\xb9\x7f\xe0\xc8\x93\x13\x9f\
+\xff\xd2\x6d\x54\x4b\x39\xf2\xf9\x3c\x9e\xe7\xcd\x72\x9b\x83\x29\
+\x0f\x30\x3d\x3d\x8d\xd6\x1a\xd3\x34\x1b\x4b\x4f\xa3\x89\xa2\x08\
+\xd3\x34\x49\xa7\xd3\x07\xed\xa7\x94\xa2\x54\x2a\x51\x2e\x97\x09\
+\x2a\x15\xca\x95\x0a\x3d\x7d\x73\xd8\xbc\x75\x88\x6b\x3e\x78\x39\
+\xa6\x0c\x36\x46\x5e\xd7\x4a\xd0\xc3\x33\xa3\x0a\xf4\x6b\x00\xac\
+\x8a\x72\x23\xf7\x2f\x3c\xe6\x54\xff\x33\x37\xde\x42\x54\x29\x50\
+\x28\x14\xf0\x7d\x1f\xd7\x75\x1b\xac\x23\x84\x38\xa8\x12\x35\x37\
+\xd0\xb3\xac\xb9\xff\xfb\xd7\xeb\x37\xd3\xa6\x58\x2c\x52\xa9\x54\
+\xa8\x54\x2a\x94\xcb\x65\xba\x7b\xfb\xd8\xb8\x71\x2b\x1f\xfb\xeb\
+\xf7\xa2\xa3\xe2\x26\xe5\x75\x9d\x2b\x60\xfb\x0c\x80\xfd\xcd\x78\
+\xa1\xcc\x8e\x3c\x78\xe2\xd9\x17\xfb\x37\x7f\xf5\x1b\xe8\xb0\x4c\
+\x10\x04\x8d\xd4\x20\x9d\x4e\x93\x48\x24\xfe\xa0\x12\x42\x88\x83\
+\xb6\xf9\x43\xfd\x66\xda\x24\x12\x89\x86\xcc\x54\x2a\x45\x66\x62\
+\x9c\x25\x87\x2f\xe0\xb6\xef\x3c\x48\xaa\xb5\x6f\xd0\x28\xed\xfe\
+\x39\xb0\x78\xa6\xcf\x0c\x80\x77\x47\xb9\x5d\xdf\x3f\xf3\xe2\xf7\
+\x3b\x9f\xbc\x61\x0d\x13\x63\xbb\x98\xce\x66\x31\xcd\x5a\x3e\xa3\
+\xeb\xee\x25\xb5\x22\x8a\xe4\x9b\x7a\x49\xad\xa8\x1d\x12\xd4\x23\
+\x80\x69\xb2\x63\xe7\x4e\x9a\x52\x71\xbe\x72\xc7\x7d\x74\xcc\x39\
+\x7c\xae\x28\x8c\x3c\x01\x1c\x0b\xb5\x35\xf0\x01\x0a\x13\xb7\xaf\
+\xbe\xe2\x23\x5c\x76\xf9\x7b\xf8\xe1\x83\xf7\x12\x49\x89\x6b\x3b\
+\xb8\x71\x9f\x44\x3c\x45\x2c\x16\xc3\x34\x05\x52\xe9\xba\x8b\x08\
+\x66\x4e\x16\x00\x0e\x76\xb2\xf4\x7a\xf6\xd6\x07\xb6\xd9\x2f\x70\
+\x0a\xa8\xc9\x92\xb5\x48\x9d\xcf\x4f\x53\xae\x54\xa8\x94\xcb\xf4\
+\xf6\xcd\xe1\xe4\x53\xcf\xe4\xba\x6b\x3e\xcc\xc8\xa6\xe7\x8b\x24\
+\x7a\xce\xb1\xda\x5b\x5b\xb7\x2f\xbf\xe0\xc2\xc2\xaa\x73\xce\x4b\
+\x3c\xf3\xd4\x13\xf9\x4a\x39\x9f\xf4\x3c\x17\xd3\x52\xb8\x31\x93\
+\x9e\xae\x4e\x2c\xdb\x42\x29\x49\x10\x04\xd8\x76\x0c\xc3\x30\x50\
+\x52\x52\x2c\x16\x90\xaa\x7e\x44\x62\x18\x80\xae\xeb\x22\x78\x3d\
+\x08\x5a\x6b\x74\xdd\xd2\xb5\x78\x50\x8b\x25\x4a\x69\xaa\x41\x80\
+\xe3\xba\xf5\x67\xc5\xf6\xed\x39\xa2\x50\xa1\x2d\x18\xda\xb2\x81\
+\xce\xf6\x36\x3e\x7e\xc3\x1a\xbe\xf0\x99\x4f\x55\x36\x6d\x78\x39\
+\x6f\x01\x3f\x3b\xe5\xb4\xd3\x57\x0c\x6d\xdd\x1c\xf3\xe2\xbe\x35\
+\x77\xee\xbc\x67\x2d\xcb\x22\x1e\xf7\x70\x9c\x38\x7b\x27\xa7\x90\
+\x32\x44\x29\x45\x5f\x5f\x1f\x99\x4c\x86\x30\x0c\x01\xe8\xeb\x9b\
+\x83\x65\x99\x48\x29\x09\xc3\x10\xcb\xb2\x90\x52\x36\x94\x3c\xd8\
+\x7d\xa6\x38\x8e\x83\x61\x18\x54\x2a\x15\x46\x47\x47\x51\x4a\xe1\
+\xba\x2e\x9d\x9d\x9d\xec\xde\xbd\x1b\x21\x04\xa6\x69\xd1\xdb\x3b\
+\x87\x72\xb9\x48\xa9\x54\xa2\x5a\x0d\xa3\xbd\x99\xcc\x65\xe9\x54\
+\x53\xfb\x79\xab\x2f\x7a\x6a\xd3\x86\x97\x5f\x99\x89\x22\x1b\x00\
+\x06\x07\x07\x8f\x1c\x19\x19\xaa\xe7\xf5\x29\x4c\xd3\xe4\xc6\x1b\
+\xff\x99\xf1\xf1\x71\x4a\xa5\x02\xb7\x7c\xe5\xab\xdc\xba\x76\x2d\
+\x2f\xbd\xf8\x22\x63\x63\x63\xbc\xfa\xea\x46\x6c\xdb\xa2\x5a\xad\
+\x52\xae\x94\x19\xdd\x3d\xca\xe4\xe4\x24\x42\x88\x9a\xc2\x4a\xa3\
+\xd1\x20\x6a\xae\x91\x48\x26\x89\xa2\x88\x81\x81\x01\x12\x89\x04\
+\xb6\x6d\x33\x35\x35\xc5\xda\xb5\x6b\x19\x1e\x1e\x66\xde\xbc\x79\
+\xfc\xd3\xf5\xd7\xb3\x66\xcd\x1a\x36\x6f\xde\x82\x69\x9a\xac\x5b\
+\xf7\x73\xf2\xf9\x69\xb2\xd9\x7c\xdd\x48\xf6\xaf\x81\x91\x19\x43\
+\x34\xc2\xe0\xf2\x15\xcb\x01\xcc\xb6\xb6\x56\x3c\xcf\xad\x73\xbd\
+\x4d\x18\x86\x4c\x4f\x4f\x11\x04\x01\x1d\xed\x6d\x04\x95\x0a\x43\
+\x43\x43\x00\xb4\xb7\xb7\x21\x84\xa0\x5c\x2a\x61\xdb\x36\x85\x64\
+\x81\x25\x47\x1c\x41\x31\x9f\xc7\x34\x0c\x3c\xdf\x47\x2a\x45\xa5\
+\x54\xaa\x45\x6c\xd3\x64\xe7\xb6\x21\x52\xa9\x14\xc9\x64\x92\x58\
+\x2c\x86\x10\x82\x62\xb1\x48\x36\x9b\x25\x0c\x43\x3a\x3b\x3a\xc8\
+\x66\xb3\x8c\x8f\x8f\xd1\xd3\xd3\x47\x5b\x5b\x0b\xa6\x29\x70\x1c\
+\x97\x20\x08\x30\x4d\x7b\x5f\xe2\x05\x58\x77\xdc\x75\xf7\x01\xfe\
+\x19\x60\xdb\x16\xb6\x6d\xe3\x38\x71\xe6\xcf\x3f\x0c\xd7\x75\xb0\
+\x2c\x8b\x9e\x9e\x3e\xe6\xcf\x9f\xcf\xb1\xc7\x1e\x4b\x7f\x7f\x7f\
+\x23\x21\x8b\xc5\x62\xd8\xa5\x12\xb9\x6c\x16\xdf\x75\xa9\x06\x01\
+\x86\x10\xb8\x8e\x83\xd4\x35\xbf\x36\x4d\x13\xc7\xf5\xf1\x13\x3e\
+\xa9\x64\x92\x54\x3a\xdd\xa0\xdc\xfe\xfe\x7e\xe2\xf1\x38\xcb\x96\
+\x2d\xa3\xbb\xab\x8b\xf9\xf3\xe7\x63\x5b\x36\x2b\x4e\x58\x81\xeb\
+\xfa\x24\x12\x21\xae\x6b\x53\xad\x4a\x2c\xab\xc6\x8c\xad\xad\x2d\
+\x9c\xf8\xfd\x07\xb0\x66\x94\xa8\x17\x19\x86\x3e\xa6\x69\xe0\xba\
+\x0e\x42\x98\xf4\xf5\xf5\xd2\xda\xda\x8c\xd6\x1a\xcf\x73\x18\x1d\
+\x1d\x7b\x4d\x06\x6a\x9a\x26\xf1\x78\x1c\xa7\x1e\xec\x5a\x0d\x0b\
+\x8d\xc2\xb4\x6d\xb4\x52\x58\xa6\x85\x61\x1a\x28\xad\x89\xc5\x62\
+\xf8\xfb\x05\x43\xc7\x71\x58\x38\xb8\x90\xee\xee\x6e\x06\x06\x06\
+\x30\x0c\x83\x3d\x13\x7b\x88\x27\xe2\x38\xae\x87\x65\xb9\xf8\x7e\
+\x40\xb5\x6a\x60\x59\xaa\x6a\x18\x46\x30\x6b\x06\xf2\xf9\xc9\xfd\
+\x9f\x8b\x5a\x6b\x29\xa5\x32\x23\x25\x31\x30\x58\xbf\x7e\x03\x93\
+\x93\x7b\xa9\x56\x43\xf2\xb9\x12\xc3\xc3\xc3\x0c\x0f\x0f\xbf\x26\
+\x89\x0b\xc3\x90\x28\x0c\x51\x5a\x83\xd0\x68\x0d\x51\x18\xd6\xd8\
+\x16\x8d\x56\x1a\x19\x49\xa2\x28\x22\x92\x61\x63\xcf\x1c\x45\x11\
+\x2f\xbd\xf8\x12\x99\x4c\x86\x7c\xbe\x40\xa5\x5c\x65\xdb\xf6\xed\
+\x18\x86\xa0\xa7\xa7\x17\x88\x90\x52\x12\x49\x49\x5d\x37\x39\x0b\
+\x40\xb5\x3a\x0b\x10\x82\xda\xb4\xca\xaa\x04\xd3\xa4\xb7\xb7\x87\
+\xa6\x54\x9a\xcc\x78\x1e\x2f\xd6\xc4\x19\xa7\x9c\x4f\x66\x72\x84\
+\xf6\xae\xf6\x59\xfd\x94\x52\x48\xa5\x51\x52\x12\x4a\x09\x5a\xd7\
+\xf2\x25\xad\x88\x42\x89\x65\x59\x18\x86\x40\x29\x90\x91\x6a\xf4\
+\x93\x52\xd2\xd3\xdd\x43\x32\xd1\x4c\xca\x6f\x27\x95\x6c\xe2\x9c\
+\xb3\xde\x8e\x61\x47\x2c\x1c\x3c\x8c\x72\xb9\x8c\x0c\x25\x2a\x52\
+\x35\xfa\x65\x36\x9d\x59\x4a\x2a\x0e\x2c\x42\x40\x14\x19\x18\x26\
+\xac\x58\x7e\x12\x1b\x5f\xdd\xca\xaa\x77\xba\x3c\xb6\xe1\x93\x9c\
+\x7e\x69\x17\xe3\xeb\x17\x61\xdb\x26\x51\x24\x1b\x34\x1a\x45\x51\
+\x9d\xdb\xa9\xe5\x56\x68\x42\x29\x11\x40\x2c\xe6\x60\xdb\x26\xc5\
+\x52\x11\x21\xf4\x2c\x4a\x8d\xd9\x31\x56\xac\x38\x99\x1d\x3b\x86\
+\x59\x76\xaa\xc5\xc3\x2f\x7c\x82\x77\x7d\xf0\x78\x46\x5e\x71\x68\
+\xeb\x48\x53\xad\x56\x51\xb2\x36\x0b\x5a\xab\x48\xca\x3a\x87\x37\
+\x00\xa8\x83\x01\x10\x68\xad\xd0\x0a\xd6\x7e\xed\x76\xc6\x2b\xbf\
+\x66\xdd\xae\x02\xb9\xc9\x0a\x1d\xbd\x71\xba\xd3\x47\x91\x2c\x9f\
+\x86\x92\xef\x04\xab\xc6\xf1\x4a\x29\x0c\xc3\xa0\x54\x0e\xa8\x06\
+\x65\xb4\x10\xb8\x31\x17\xa9\x23\xa2\xa0\x40\x22\x9d\xe6\x9e\xbb\
+\xff\x9b\xe6\xe6\x66\x16\x2f\x5e\xdc\x48\xee\x82\x72\x95\x2f\x7e\
+\xfe\x8b\x58\x1d\x43\xac\x1b\xce\x92\x9d\xac\xd2\xbf\xa8\x99\x64\
+\x74\x34\xfd\x53\x17\x70\xe6\x99\x27\xa3\x54\x6d\x7c\xad\x15\x4a\
+\xcd\x8e\x27\x56\x24\xe5\x01\xea\xd7\xa2\xa9\x88\x04\x32\xaa\x72\
+\xcc\xa9\x5d\x58\xc9\xb7\x30\x3d\x26\x29\x49\x45\x67\x9b\x87\x34\
+\xf3\xa4\x5b\x72\x94\x4a\x65\x2c\xd3\x27\x0c\xc3\xba\x85\x34\x8e\
+\x63\x23\x50\xf5\x5c\x46\x63\x0a\x13\xd3\x71\x48\x24\x12\x44\x91\
+\x24\x0c\xab\x28\xa5\x08\xc3\xda\x3a\xa8\x04\x15\x4e\x38\xbb\x87\
+\xa6\xae\x5e\xf6\x8e\x54\xe9\x48\x2b\xfa\xd2\x29\x0a\xc1\x24\xa9\
+\xbe\x22\xd5\xa0\x8a\x22\x24\x92\x21\x5a\x83\x3e\xc0\xe0\x96\x9c\
+\x0d\x40\x23\x84\x16\xc2\xc0\xd2\x9a\xe9\x5c\x86\x74\x6c\x11\x56\
+\x60\xd3\xd5\xe7\x43\xaf\x40\x49\x49\xb9\x5c\x61\x7a\xe7\x38\x23\
+\x23\x3b\x58\xbc\x64\x31\x4a\xe9\xba\x0b\xd5\xd2\x0a\xa9\x14\x1a\
+\x81\x69\xd4\x56\x55\x35\x94\x4c\x4d\x4e\xf2\x9e\x2b\xaf\x64\xdb\
+\xb6\x2d\x14\x0a\x05\x92\xc9\x24\x86\x61\xb0\x77\x2a\x43\x8b\x73\
+\x24\x4d\xb2\x9d\xee\x01\x17\xa1\x05\x52\x2a\x5c\x59\x60\x72\x67\
+\x40\x2e\x9f\xc5\x8f\xbb\x44\x0a\xea\x08\x66\x03\x50\x2a\x9a\x05\
+\x40\x60\x6a\xc7\x4e\x61\x2a\x13\x37\x66\xb2\x6a\xd5\x59\xb5\x19\
+\xd9\x2f\xb5\xd1\x4a\x13\x54\x03\x92\xa9\x24\xe5\x72\x09\x29\x15\
+\x5a\xd7\x66\x40\x69\x8d\xd6\xa2\xee\xeb\xfb\xfa\x28\xa5\x50\x5a\
+\x11\x45\x8a\x28\xaa\xf9\x74\xa5\x52\xc1\x75\x3d\xce\x3f\xff\x5c\
+\x5c\xd7\x23\x66\x27\x70\x6d\x1f\x34\x28\xad\x29\x57\x0b\x98\x96\
+\xa8\xad\x03\x55\xff\x34\xc5\x01\x00\x84\x9e\xb5\xaf\x8f\x04\x82\
+\xd1\xec\xb3\x14\xc2\x3d\x2c\xec\x7c\x2b\xc7\x1c\x75\x0c\x95\xa0\
+\x42\x24\xc3\x5a\xe7\x3a\x2d\xd6\x7c\x52\x13\x04\x41\xed\x78\x24\
+\x8a\x40\xd7\x94\xd6\x5a\x02\x02\xa5\x34\x06\x46\x0d\x9c\x34\x90\
+\x68\x94\x92\x28\x55\x03\xa1\x94\xc2\xf7\x3d\x96\x2c\x59\x4a\x2a\
+\x91\x44\x03\xbf\x58\xff\x75\x4a\xd1\x18\x73\x5b\x8f\x67\x60\xee\
+\x69\x84\xc5\x90\xa9\xdc\x2e\x1a\x5f\xcb\xc4\x01\x00\xd6\x3e\xf8\
+\xe1\xc6\xc3\x49\xc7\xae\xec\xaa\xca\xb2\xf9\xca\xce\x27\x08\xaa\
+\x65\x9e\x4e\xde\xc5\x85\x27\x5d\xcf\xa2\xee\xd3\x29\x4a\x81\x69\
+\x58\x28\x29\xa9\xaa\x12\x5a\x29\x22\xa9\x80\x1a\x5d\x46\x51\xcd\
+\x6d\xb4\xd6\x48\x29\xeb\x44\x20\xd0\x86\x26\x8a\x14\x42\xc8\xda\
+\x34\xea\x9a\xbb\xc9\x48\x22\x95\xc2\x34\x2d\x7c\x27\xc9\xe6\xd1\
+\x75\x3c\xfe\xdb\x9b\x19\x1e\xdd\x4e\x21\x1f\x60\xc5\xee\x61\xc9\
+\x82\x63\x58\xb9\xe4\x1f\xf1\xec\x56\x8a\xc1\x24\x5a\x4b\x69\xd9\
+\x7a\x96\xcb\x98\xa7\x9c\x33\xd0\xa8\x6b\x3b\x77\xd7\xff\xfc\xf2\
+\x17\xfd\x7b\x46\x4a\xbc\xfa\xdc\x14\x41\x35\x60\x4b\xe6\x27\x74\
+\xb6\x1c\xc6\xdc\xae\x45\xec\x9c\xf8\x2d\x91\xa8\x90\xb0\x3a\x09\
+\xa5\x42\xc9\xa0\xc1\x40\x61\x18\x12\x45\x61\xe3\x60\xd7\xb6\x6d\
+\xa2\x28\x42\x08\x8d\xeb\x39\x38\x31\x87\x48\x46\x64\xb3\x59\x7c\
+\xcf\x23\x16\x73\x10\x98\x24\xbd\x56\x0a\xd5\x31\xbe\x7c\xef\x7b\
+\x79\xf2\xb1\xdf\x92\xcb\x58\x64\x76\x56\xc9\x8c\x06\xd8\xc9\x0a\
+\xeb\x77\xfd\x84\x81\xb6\x13\x49\xfb\x73\xa9\x84\x85\xa2\x6d\xf3\
+\x65\x21\x44\x65\x26\x0d\x31\x17\x2c\x6d\xa3\x90\xab\x52\xc8\x55\
+\xff\x62\xcf\x78\xf6\x9a\xa1\x0d\x7b\x69\xeb\x6c\xc1\x36\x2d\x0a\
+\xd3\x21\x8e\x1b\x63\xfb\xf8\x0b\x8c\xe5\x5f\xe6\xde\xc7\xff\x83\
+\x75\x2f\xde\x8d\xb2\xf3\x1c\x39\x70\x36\x7e\x3c\x81\xe3\xc6\x70\
+\x9c\x18\x33\x74\x6c\xc6\x5c\x64\x14\x22\x23\x89\x30\x05\x02\x03\
+\x59\xe7\x71\x29\x35\xd5\xa0\x42\x2a\x99\xa2\xad\xa5\x9b\x98\xe9\
+\x10\x18\x53\xdc\xf3\xe8\x8d\x3c\xf0\xbd\x1f\x11\x64\x7d\xba\xe7\
+\xb6\x92\x48\xbb\xe4\x27\xab\x18\x22\xc6\xae\xdd\x23\xc4\x5b\x02\
+\xe2\xe9\x18\xd5\x20\x28\xba\x31\xf7\x73\x1a\x2d\x6b\x79\xae\xc6\
+\x8a\xa2\x06\x0b\x1d\x97\x9f\xaa\x52\x99\x14\x64\x86\x0b\x94\xf2\
+\x01\xed\x7d\x29\xf6\x0c\x4b\x3c\xb7\xcc\x77\xbe\x7b\x37\x84\x16\
+\x41\x50\x45\xf2\x2d\xca\x41\x99\xc1\xf4\x65\x94\x2b\xd3\x84\x51\
+\x95\x8e\x8e\x8e\x5a\x04\x57\x1a\xa5\xd5\x7e\xdb\xb4\xba\x38\x51\
+\x7b\x15\x45\x8a\xf1\xb1\x3d\x0c\x0f\x8f\xb0\x7e\xf2\x4e\x9e\xfb\
+\xdd\x13\xb4\xb5\x76\x30\xb8\x70\x31\x9b\x7f\x93\x61\x6c\x53\x9e\
+\xa0\x1c\x91\x6e\xf5\xd9\xbd\x25\xcb\xb2\x13\x16\x30\x9c\x59\xcf\
+\x63\x4f\x3e\x44\xff\xbc\x85\xad\x4b\x16\x1d\xfe\xfe\x3d\x93\x63\
+\xb7\xce\x8c\x2e\xce\x7b\xf7\xe0\x4c\xfd\x9a\x74\xb3\xff\x85\x89\
+\x2d\x05\x2a\xd9\x88\x78\x73\x8c\x30\x50\x74\xcc\x4d\x62\x26\x43\
+\x36\x3f\x9f\xa1\xb5\x2b\x8e\xe3\xda\x98\x7e\x8d\x15\x5e\xf9\x99\
+\x4d\xb1\x5c\x22\x91\xf0\xf8\xe8\x47\x3f\x8a\xe7\x79\x04\xc1\xec\
+\xd4\x64\xff\x22\x84\xc0\x71\x1c\xf6\x8e\xe7\xb8\xfb\xd1\xcf\x11\
+\x39\x43\xa4\xdc\x2e\xe2\xc9\x38\x8b\x8e\xec\x63\xc3\xba\x31\x76\
+\xbc\xba\x97\xce\x81\x14\xa6\xb4\x30\x1d\x83\xfe\xa3\x9b\xd8\xba\
+\x61\x1c\x3f\xee\x10\x4b\x40\x4f\x6f\x1b\x73\xe7\x76\x1f\x03\xbc\
+\x00\x20\x8e\x3f\xa2\x71\xd0\xd4\x61\xa4\xe4\x8f\x5b\xbb\xdc\xa3\
+\xab\x95\x88\x20\x90\x54\x72\x21\xc5\x52\x55\x37\xf7\x79\xa1\x6d\
+\xa8\x58\x76\xb2\x8c\x6b\x39\x64\x4b\x25\xda\x3a\xba\x33\xf9\xf1\
+\xe6\xe7\x64\x14\xd8\x7e\xdc\xb7\x07\x07\x07\x53\x52\xca\x99\x0d\
+\xf3\xeb\x15\x6d\x88\x98\xda\x39\xf6\x82\x59\x8c\xb6\x1d\x55\x9e\
+\x96\xb8\xbe\x81\xe9\xc6\x54\xd2\x73\x8d\x72\x58\xa6\x52\x8c\xb0\
+\x89\x11\x4a\x45\xcb\x1c\x07\x59\x88\x81\x12\x34\xb7\x24\xb1\x53\
+\x06\xdd\x5d\xed\x27\x02\xbf\x82\xd9\x67\xa3\x13\x97\xbc\xe3\x43\
+\x2b\x0b\xc5\xa9\xf7\x8d\xee\xd9\xba\x4c\x45\x86\xf2\x9c\x44\xee\
+\xa4\xe5\x67\xaf\x4b\x37\x37\x95\x36\x6c\x7e\xe6\x92\x5d\xa3\x3b\
+\xfa\xa3\x00\x96\x2e\x3e\x6e\x68\xd9\xb2\x15\xeb\x6c\xcb\x9b\x06\
+\x6d\x6b\xad\x0d\x29\x65\x6d\x53\xfc\x47\x00\x00\xb4\x10\xa6\x31\
+\x35\x3d\x7c\x7c\xae\xb0\xb7\x45\x47\x66\xb9\xad\xbd\x77\x7d\x21\
+\x9f\xf7\xa7\x73\x13\x29\x21\x08\x64\x24\x72\xad\x4d\x1d\xaf\x3e\
+\xfd\xdc\x8f\xcf\x7f\x69\xfd\x53\x57\x46\x81\xb6\x46\xb7\xe5\x02\
+\xaf\xd5\xbc\x6b\xf7\xce\xa9\xc6\x77\xb5\x03\x0f\x77\x33\xc0\x8d\
+\x07\x4a\x7c\xdb\xdb\x2e\x32\xde\xc6\x45\x0f\x03\x1e\x60\xd7\xfb\
+\x25\x00\xb7\x5e\xb7\x01\xb3\x7e\x19\xf5\xeb\x40\x20\xaa\xae\xbc\
+\xac\xd7\x23\x38\xf1\x19\x6a\xa7\xcf\xf5\x20\x43\xa5\x7e\x55\x6f\
+\xff\xc6\x2d\x33\x84\xff\xa3\x35\x37\xdc\xf5\x6f\x77\x7c\xf7\xcb\
+\xb1\x67\x9f\xf9\x4d\x19\x82\xf1\xfd\x07\xfd\x63\xbf\xd0\xcc\x0c\
+\x56\x3c\x00\xec\x81\xe5\x60\x5f\x46\xf6\x2f\xfa\x80\xfb\x1f\x5b\
+\x76\xff\xbe\x3f\xfe\x17\xc5\x37\x77\xd8\xac\xb5\xda\x4f\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x1f\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x05\xe6\x49\x44\x41\x54\x58\x85\xc5\x96\x7f\x70\x54\xd5\
+\x15\xc7\x3f\x6f\x7f\xbc\x5d\x36\xbb\x24\xbb\xf9\x41\x42\xba\x40\
+\xb2\x06\x68\x22\xd4\x12\x53\x98\xa6\x50\xcd\x0c\x82\x56\x8b\x92\
+\x52\xd4\x42\xb5\x6a\x47\x47\x67\xfa\xeb\x8f\xda\x5a\x98\xa1\x74\
+\x68\x29\x62\x55\x86\x88\x4d\x65\xa2\xd8\x91\xa8\x84\x28\x60\x41\
+\x88\x04\x57\x63\x02\x88\xb4\x68\x24\x96\x6c\x42\x08\x31\x3f\xc8\
+\x92\x64\xc3\xdb\xec\xef\xd3\x3f\xb2\xc4\xd0\x46\xdb\x4d\x01\xbf\
+\x33\x67\xde\xbc\xfb\xee\xb9\xf7\x73\xcf\x79\xf7\xdc\xab\x88\x08\
+\x5f\xa6\x0c\x5f\xf4\xf1\xce\xbb\x7e\x68\x72\xb9\x5c\xc5\xb9\x39\
+\x53\x17\x84\x23\xe1\x1c\x04\x93\x51\x35\x76\x77\xf7\x78\x8f\x37\
+\x35\x9d\x3c\xb0\xed\xf9\xe7\x3a\xfe\x5f\x00\xe5\xf3\x22\xf0\xfb\
+\xf5\x4f\xdc\xeb\xcc\xce\x7c\x74\xf7\xeb\xd5\xd6\x57\xab\xaa\x9a\
+\x80\x33\x40\x04\x98\x34\xab\xa0\x60\xe6\xca\x95\x2b\x93\x2d\xd6\
+\xe4\xbf\xbd\x79\xa0\x66\xd5\xae\xd7\x76\x74\x5e\x36\x80\xd2\xef\
+\xdd\x95\xb4\x74\xe9\x92\xbf\xee\xd9\xfd\xfa\xbc\xca\xca\xca\x0d\
+\xc0\x3b\xf9\x05\xb3\x0d\x0b\x6e\xb8\xd1\x60\x32\x4d\xb8\x70\xee\
+\x5c\x5f\xdf\xce\x9d\xd5\xfa\x80\xd6\x73\xbd\x23\x25\xe9\x27\x7f\
+\x7a\x6a\x4b\x6e\xed\xa1\x77\x56\x3c\x5f\x51\x7e\x70\x5c\x04\x22\
+\x32\x62\x8b\x16\xdf\x66\xdc\xbe\xfd\x95\xda\x29\x4e\xa7\x1b\xc8\
+\x5f\xb3\x66\xdd\x3d\x22\xb2\x5d\x44\xb6\x89\xc8\xef\x44\xe4\x01\
+\x11\x29\x11\x11\x87\x88\xa0\x4f\x9d\x9b\x0c\xac\xdb\x52\x56\x36\
+\xf8\x83\x95\xf7\x95\x8c\x1e\xeb\x7f\xb5\x4b\x5e\x36\x6e\x7c\xf2\
+\xe9\x79\x45\x45\xef\x01\x39\x1e\x4f\xdb\x8b\x22\xd2\x26\x22\xbb\
+\x44\x64\xbd\x88\x3c\x2c\x22\x0b\x45\x24\x79\xb4\xcf\xac\x1b\x1e\
+\x51\x80\xdf\x96\x97\x97\xb7\x2e\xbe\x65\x49\x7a\xa2\x00\xba\x91\
+\x5c\x28\xca\x1c\xd5\xa0\xdc\xd1\x70\xf4\xd8\x83\x67\xbb\xb5\x5f\
+\xe5\xe6\x4e\x59\x06\x34\x03\x9d\xc0\x20\xe0\x05\x4e\x74\x41\xa0\
+\x0b\xac\xa7\xc1\xfa\xa1\x86\xb5\xa2\x6a\xb3\x71\xee\x2d\x8f\x3d\
+\xf5\x72\xe5\xcb\x2d\x85\x85\x5f\x7f\x2c\xd1\x0c\x8c\x00\x2c\x5a\
+\xb4\xe8\xa1\xb7\xeb\x4f\xd4\xac\xde\xec\x0e\x64\x67\x58\x3e\x00\
+\x9a\x00\x1f\xa0\x01\x43\xc0\x29\x1f\x28\x36\xc8\xb0\x80\x3d\x09\
+\xec\xb6\x24\xec\x8a\x8e\x49\xab\x1f\x5f\xa7\x8f\x4e\x98\x59\x6e\
+\xb7\x59\x6e\x5d\x7c\xf3\x77\xd3\x13\x06\x50\x14\xc5\x79\x7d\x61\
+\xe1\x3c\x6b\xda\xec\xda\xb5\x8f\x14\x6f\x8a\x81\x3d\x0c\x8f\xc7\
+\x27\x8f\x02\xe7\xfc\x10\x36\x43\x96\x1e\xd2\x0c\x90\x66\x82\x34\
+\x33\xa4\x99\x2d\xa4\x59\x6d\x64\x97\x2c\x79\xb8\x25\x86\x31\x98\
+\xea\x70\x7c\x2b\x11\x80\x8b\x75\x20\x3f\x6b\x72\xb6\x39\x6d\x7a\
+\xb1\x01\xc8\xd3\xc1\x54\x81\x4d\x40\x0d\x70\x0d\xe0\xd7\x41\x16\
+\xa0\xbb\x18\x32\x7d\xdc\x4c\x2a\x18\x74\x30\xc5\x95\x1f\xd0\x75\
+\xb5\x76\xda\x3c\x9f\xcc\x06\xaa\x13\x05\x98\x6c\x4f\xcd\x54\xcc\
+\x59\x39\xa9\x0c\xef\x75\x4d\x0f\xdf\x01\xea\xc2\x70\x46\xc0\xa6\
+\x03\xdb\x58\xe1\x53\x00\x45\x01\x93\x99\x40\xba\xd3\x15\xd6\xeb\
+\xf5\xc9\xe3\x89\x40\xc8\xa4\x9a\x54\x8b\xc5\x9a\x01\x84\x80\x70\
+\x7c\xec\xaf\xe9\xa1\x25\x04\x83\xba\x51\xff\xcb\x68\x09\x10\x15\
+\x50\x74\x04\x33\x1c\xa9\xf6\x60\x30\x14\x1a\x0f\x40\xc7\x79\x6f\
+\x97\x21\x23\x4f\xf7\x95\x28\x04\xf5\xc3\xed\x26\x20\x12\x81\xcc\
+\x18\xd8\x75\xc3\x40\xc4\xe2\x16\x8d\x53\x86\x43\xe0\xbf\x00\x16\
+\x95\xb0\x45\x8d\x66\xf5\xf5\xf5\x9f\x1a\x0f\xc0\x27\x07\xde\xdc\
+\xdb\x51\xb2\xe4\xfe\xfc\x8f\xbb\x18\xca\xcf\x64\x62\x14\x24\x06\
+\x6a\x18\x54\x1d\xc4\x22\xa3\x57\x0c\x04\x81\x00\xc3\x93\xf7\xf7\
+\x23\xd7\x3a\x31\x7e\xea\x39\x65\xf5\x9e\xef\xaf\x4f\x18\x40\x44\
+\x3a\x15\x45\x79\xe3\x89\x4d\xde\x5f\x77\x0d\xa6\xb6\x34\x9b\x49\
+\x4a\x4e\xc1\x0c\x44\x74\x10\xd1\x83\xe8\xe3\x0e\x17\x57\x3f\x04\
+\x68\x7e\xf0\x7a\x21\x1a\x22\x56\x30\x99\xac\x55\xcf\x1c\x78\xff\
+\x50\xed\xfe\x8f\x13\x01\xf8\xac\x24\xc2\x35\x0f\x3d\xf8\x63\x4f\
+\x48\x24\xf6\xc6\x71\xd1\xea\xce\x88\xff\x84\x4f\xb4\xa6\x88\x68\
+\x6d\x22\xda\xd9\xb8\xb5\x89\x68\xcd\x51\xd1\xfe\xee\x13\xad\xc6\
+\x23\x5a\xc5\x5b\xa2\xf5\x04\x65\xc8\xed\x76\x87\xb2\x9d\xd3\x6e\
+\x4c\xb4\x12\x5e\x72\x18\x29\x8a\x72\xdf\x6b\xd5\xd5\xcf\xde\x7a\
+\xfb\xed\xc6\xdd\x47\x21\xac\x83\xf4\x54\xb0\xd9\xc0\xa0\x0e\xf7\
+\x89\x46\x61\x48\x83\x73\xbd\x30\xd0\x07\x0b\x8b\xc0\x16\xf3\x73\
+\xd3\x4d\x0b\xf7\xd5\xd7\xd7\xdd\x9c\xd0\xea\xe1\x3f\x00\x8c\xc0\
+\xa3\xaf\x54\x56\xae\x5e\xb6\x7c\xb9\xfa\x41\x3b\xfc\xf3\xcc\x70\
+\xc8\x0d\xea\xf0\x36\x08\x87\x41\xa2\x90\xe5\x80\x92\x02\xf0\x78\
+\x5a\x62\x47\x8f\x1e\x8b\xe5\xb8\x5c\x91\xdc\x69\x53\x0f\x39\x52\
+\xed\x7f\xd0\xeb\x74\xee\x84\x53\x30\x2a\x15\x2a\x70\x7f\x69\x69\
+\x69\x73\x47\x47\xb7\x88\x88\x0c\x44\x45\xda\x7c\x22\xad\x03\x22\
+\x3d\x21\x19\x51\x59\x59\x99\x06\xfc\x06\xf8\xf9\x47\x8d\x4d\xf2\
+\xe4\xa6\xcd\xd2\xdd\xd3\x3b\x14\x89\x44\x1f\x18\x57\x0a\x2e\x09\
+\x8d\xa2\x7c\x15\xf8\xfe\x9c\xeb\xae\x5b\x7c\x47\x69\x69\xde\x8c\
+\x19\x33\x6c\xaa\xaa\xea\x3a\x3b\x3b\x02\x07\x6b\x0e\x9e\x7d\xb5\
+\xaa\xaa\x16\xf8\x8b\x88\x1c\x57\x14\x65\xf2\x9a\xb5\x6b\x77\x3b\
+\x9d\xd3\xe6\x34\x1c\x3e\xcc\x2f\x7e\xf6\x53\x66\xce\xc8\xdb\x78\
+\xbe\xbf\xff\x97\x8e\x94\x94\x2f\xbc\xf3\x7d\x2e\x40\x1c\x42\x01\
+\x1c\xc0\x94\xf8\x53\x01\xfa\x80\xd3\x22\xe2\xfd\xb7\xbe\x0b\xb6\
+\x56\x54\xbc\xe0\x1b\xf4\x4f\x6b\x6f\x6f\xe7\xce\xe5\xcb\x28\x2a\
+\x9c\xb3\x43\xf3\xfb\xef\x4d\xb2\x58\xb4\x71\x01\x24\x2a\x45\x51\
+\x96\xee\xda\xb3\x67\x6b\xcb\xe9\xf6\x94\x50\x30\xc0\xbc\xb9\xdf\
+\x60\x7e\xf1\x37\xdf\x0e\x85\xc2\x4b\x55\xd5\x78\x7e\x2c\x9f\x31\
+\xcb\xeb\x78\x25\x22\x3b\x57\xdc\x7d\xf7\x9f\x67\x15\x14\x84\x26\
+\x26\x4f\xe4\x74\x5b\x3b\xef\x35\x1c\xfe\xb6\xaa\x1a\xf7\xf5\xf7\
+\xfb\x32\xaf\x38\x00\x80\xcf\xe7\x5b\xf5\xa3\x7b\x56\x54\x5c\x5b\
+\x90\x2f\x46\xa3\x81\x40\x20\xc0\x3f\x3e\x6c\x2c\x4a\x49\x99\x58\
+\xf5\x69\x57\x97\x7d\x2c\xea\xcb\x6e\xc0\x84\xe9\xd3\xa7\x6f\x7b\
+\xb7\xae\x5e\xf6\xee\xaf\x91\xc6\xc6\x93\xd2\xec\x69\x95\x50\x28\
+\xe2\xf6\xb4\xb6\x5d\x72\xa5\xbb\x22\x00\x71\x08\xab\xcb\x95\xf7\
+\xa2\xfb\xdd\x3a\xa9\x6b\x38\x22\x3d\x3d\xbd\xd2\xd9\xdd\x23\x03\
+\x3e\xdf\xbe\xfa\x86\x23\x13\xae\x38\xc0\x67\x10\xae\x6d\xee\xba\
+\x3a\xf9\xa8\xf1\xa4\x84\x22\x11\x19\xf0\xf9\xa4\xb7\xd7\xbb\xe3\
+\xc8\xfb\xc7\x92\xaf\x38\x40\x1c\xc2\x92\x9d\x9d\xbd\xf5\xad\x43\
+\xee\x88\xa7\xb5\x4d\xa2\xf1\x22\xf6\x6c\x79\xf9\x1f\xaf\x0a\x40\
+\x1c\xc2\x9c\x9e\x9e\xbe\x65\xef\xfe\x9a\xa0\xef\x82\x26\xeb\x37\
+\x6c\x38\x06\x64\x5e\x35\x80\x38\x84\xd1\x66\xb3\x3d\x5d\x3c\x7f\
+\xfe\x4b\xc0\xa4\x8b\xed\x97\xb5\x10\xfd\x37\x29\x8a\x62\x89\xef\
+\x3c\xff\x48\xdb\xd5\x04\x18\x4b\xff\x02\xd4\x0b\x2a\x1c\x3a\xea\
+\xb0\x7f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x07\x11\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\xd8\x49\x44\x41\x54\x58\x85\xb5\x97\x5b\x8c\x1d\x75\
+\x1d\xc7\x3f\xff\xdb\xcc\x9c\x99\x73\x99\x73\xeb\x6e\xb7\xa7\xd0\
+\x2e\x97\x16\x21\x6a\x25\x41\x31\x0a\x06\xd4\x04\x63\xd1\xa8\x2f\
+\x84\x78\x89\x11\x9a\xfa\x24\x6a\x24\xbe\x10\x83\xfa\x60\x44\xa3\
+\x89\x09\xf2\xe2\x83\x41\xdf\xc0\x88\x46\xa3\xd2\x44\x42\x30\x08\
+\xbd\x68\x01\xa9\xb5\x37\x7a\xd9\xd2\xbd\x9c\xdd\x3d\x7b\x2e\x33\
+\x73\x66\xfe\x7f\x1f\x96\x54\x09\xd0\xdd\x25\xf4\x97\xcc\xcb\xcc\
+\xef\xf2\x99\xf9\xcd\x77\x7e\xf3\x13\xce\x39\xd6\x6b\x95\xfa\x3d\
+\x15\xe3\xfb\x77\x28\xad\x3f\x52\xe4\xc5\x94\xb5\xc5\xcb\x38\xb7\
+\xcf\x16\xf6\xaf\xbd\xee\x23\xf9\xba\x13\xfd\x9f\x89\xf5\x02\xd4\
+\xdb\x7b\x6f\xde\x7c\xcd\xf4\xa3\xb5\xc9\x89\xe9\x71\x9a\x32\x7f\
+\xfa\x1c\xcb\xb3\x73\x54\x5b\x4d\xb4\xa7\xf7\x2d\x9c\x9d\xb9\x7b\
+\x69\xee\xe7\x17\x36\x0a\x20\xd7\xe3\x54\x6d\xec\xb9\x6a\xe7\xcd\
+\xbb\x9e\xd8\xfb\xb5\xdd\xd3\x3f\x7c\xf0\x93\x6c\xbd\xee\x2a\x82\
+\x5a\x05\x01\x38\x67\x89\xa7\x26\x6f\x6f\x6f\xbb\xe2\x57\xd5\xe6\
+\x1e\x71\x59\x00\x9a\x53\x9b\x1e\xd8\xb2\xf3\xea\x56\xa7\xd3\xe4\
+\xd8\x4c\xc2\xc2\xec\x22\x83\xee\x12\x79\x9e\x93\x0e\x46\xf4\x66\
+\x17\x68\x6e\xdd\x72\x7b\x10\x85\x9f\xdb\x28\xc0\x9a\x2d\xa8\x36\
+\xf6\x6c\xd9\x7e\xc3\xce\x97\x1b\x5b\xa7\x2a\xce\x0f\xe8\x2f\x2e\
+\xb3\x70\xe2\x04\x4b\x33\x17\x70\xce\x81\x80\xa8\x1e\x53\x9d\x98\
+\x60\xb0\xb8\xf2\xeb\xd3\x2f\x3e\x70\xf7\x46\x00\xf4\x9a\x0e\x46\
+\x77\x46\x83\xac\x72\xec\xc0\x0b\x58\x57\x30\x1e\x26\xa4\xa3\x11\
+\x02\x40\x4a\xa4\x0e\xc8\x72\x8f\xa5\x6e\x81\x50\xf1\x8e\x8d\x14\
+\x5f\x17\x80\x03\x86\xbd\x01\x83\xe5\x45\x6c\x3e\x06\x21\x11\x12\
+\x84\xd4\xa8\xb0\x8e\x2e\xd5\x51\xa5\x2a\xd2\x84\x08\xe3\xaf\x99\
+\x6f\xe3\x00\xd6\xce\x24\x83\xc1\x00\x21\x22\xa1\xd4\xea\x49\x21\
+\xd1\x61\x1d\x53\x99\x44\x45\x0d\x54\x18\xa3\xfc\x2a\x42\x79\xaf\
+\xbe\xe3\x00\xc0\xf9\x22\x4f\xcf\x58\x5b\xec\x04\x87\x10\xa0\xbc\
+\x10\x15\x36\x51\xe5\x26\x26\x6a\xa1\xa2\xd6\xea\x53\x50\xfa\xe5\
+\x8d\x02\xac\xa9\x82\xa5\xb9\x87\x73\x21\xc5\x53\x61\xb5\x8c\x36\
+\x1a\x21\x14\x2a\xa8\xa0\xc3\x1a\x3a\x6c\xa0\xca\x2d\xbc\x6a\x93\
+\x4a\x23\xa4\xd2\xf0\x9e\x7f\xc7\x01\x00\xa4\x12\x4f\x29\xad\xf1\
+\xc2\x12\x3a\x08\x91\x5e\x19\xe9\x95\x51\x41\x0d\x1d\xc6\x44\x35\
+\x43\xb5\x21\x5d\x25\x96\x87\x2f\x0b\x40\x36\x4a\xff\x6c\x02\xff\
+\xdc\xe4\xd5\xd3\x94\x9b\x4d\x94\x1f\x20\x8c\x8f\xf0\x4a\x18\xdf\
+\x23\x88\x04\x41\x28\xff\xfe\xe4\x83\x9b\x5e\xbc\x2c\x00\xbd\xee\
+\x23\x0b\xbd\xf9\xee\x77\xf3\x2c\xc3\x0b\x03\xa4\xd6\xab\x6a\x10\
+\x0a\x94\x40\x7b\x06\x69\xbc\x07\x37\x5a\x7c\xdd\x00\x00\x79\x9a\
+\xfe\xe6\xc2\xf1\x53\x8b\xe3\x24\xc5\xe5\x39\xb8\x82\x71\x3e\x46\
+\x6b\x8f\xde\x91\xe7\x9f\xf9\xdd\x37\xab\x7f\xbc\xac\x00\x42\xca\
+\xc5\xa4\x3f\x58\xec\xcf\xce\x22\x5d\x06\x76\x4c\xbb\x0a\xe5\xe5\
+\x7f\x70\x7c\xdf\xe3\xa7\xdf\x4e\x71\x58\x9f\x0c\x57\x01\x94\x8a\
+\xb4\x29\x45\x4e\x18\x42\xdf\x31\xd1\x1a\x43\xef\x45\x8e\x1c\x7e\
+\x09\x74\x65\xc3\x1f\xa0\x8b\x79\xd7\x9a\x05\x71\x7b\xaf\x8f\x90\
+\x37\xf9\xb5\xc9\x7b\xfc\x78\xf2\xf3\x28\x0d\x48\x10\x82\xa2\xb0\
+\x68\xad\xb0\x59\xb2\xb4\x7c\xe6\xa5\xef\xa5\xb7\xfe\xec\x39\x27\
+\xdc\x8d\xd6\x5a\x2b\xa4\x20\x90\x25\x5c\xca\x73\xfd\xc7\x07\xcf\
+\xbe\x55\xfe\xb7\x24\xaf\x35\xf7\x34\x84\x94\x5f\x44\xc8\xbd\x26\
+\x8c\xaf\x51\x51\x1b\x2f\x9e\xa2\xd4\x6c\x81\x58\xed\x9c\x54\x92\
+\x22\xcb\xe8\x9d\x39\x1e\x7b\x5e\xe7\xa1\x46\xf9\x4e\x7e\xfc\x93\
+\xcf\xe2\xfa\x02\xd7\x97\x74\xe9\xf2\xf5\x1f\xdd\xf7\x1d\x60\xfd\
+\x00\x95\xfa\xbd\x55\x2b\xcd\x37\x4a\x51\xe5\xab\xce\xc9\x16\x52\
+\x83\xf6\x71\x45\x46\xb2\xd2\x43\x97\x6b\xd4\x3b\x93\xf8\x51\x40\
+\x7f\x61\x99\xde\xf9\x19\xf2\x34\x45\x06\x65\xf0\x0d\x67\xf3\x93\
+\xe4\xa9\x64\x3c\xcc\x99\x67\x01\x97\x5c\xba\x3b\xaf\xbb\x5a\xa9\
+\xdf\x5b\xbf\x72\xe7\xf6\x7d\x9f\xbe\xeb\xb6\x5d\xcf\x1c\x9a\xe5\
+\xe8\xc1\xe3\xe4\x63\x87\x50\x1a\x61\x7c\xc0\x32\x98\x9b\x25\xeb\
+\xf5\x30\x25\x9f\xa4\x3f\xc4\xe6\x19\xba\x54\x46\x58\x85\xf0\x42\
+\x72\x97\x91\x3a\x18\xcb\x31\xb9\xc8\x90\x27\xde\x77\xc3\xba\x01\
+\xa4\x1f\xdc\xf5\xfe\x3b\x6e\xdd\x75\xcb\xed\xef\xe1\xe0\xa9\x83\
+\x04\xf5\x15\x8a\x42\x21\xb5\x07\x42\xe3\x84\x42\xc8\xd5\x90\x2c\
+\x11\x40\x0b\xed\x69\x70\x16\x51\x78\x20\x63\x06\xe3\x3e\xe3\x42\
+\x52\xb8\x82\xc4\xa5\x08\xb7\xf9\xe3\xd5\xfa\xde\x56\x6f\xf1\xe1\
+\xf9\x35\x01\xb4\x36\xbb\xfe\x79\x78\x96\x7f\x9d\x7a\x96\xe1\x52\
+\x42\x10\x6f\x42\xea\x00\x69\x3c\x84\xf2\x40\x19\x9c\x33\x00\xa4\
+\x1c\xa2\x31\xbd\x48\x37\x9b\xc3\x39\x47\x91\x49\xda\x57\x2d\x93\
+\xa7\x31\x2b\x69\x8f\x7c\x6c\xa9\x87\x0d\x76\xdc\xe2\x55\x4f\x5c\
+\xf7\xc4\x2f\xda\xdf\x7e\x74\xc1\x15\x28\x25\xb4\xea\x34\x3a\xcf\
+\x1d\xb8\xff\x85\x9f\xbe\x01\x40\x98\x70\xfb\xab\x67\xfa\x48\xaf\
+\xa0\xb3\xa3\x43\xa5\x15\x23\xb4\x8f\x15\x86\x2c\x57\x8c\x46\x92\
+\xa2\xf0\x01\xe8\x25\xc7\x78\xef\x27\x8e\x10\x36\x35\x93\xd1\x14\
+\x12\xc9\x85\x91\xcf\xca\x28\xa1\x3b\xec\x62\x33\x47\xcd\x8f\xb9\
+\xf3\x2b\x15\xa6\x82\xfb\x77\x1b\x5b\x42\x4b\x43\xa0\x43\x7e\xf0\
+\xd8\xf7\xb7\x00\xaf\x07\x68\x6c\xbe\x4f\x7b\xcd\x2b\x3a\x3a\x6a\
+\xe1\x24\xb4\xb7\xb5\x69\x6e\x69\x53\x58\xc8\x73\x48\x33\x47\x9a\
+\x14\x48\xb1\x1a\xb2\x74\x62\x86\xdf\xbe\xf0\x07\x5c\x3c\x64\xaa\
+\xd1\x21\xf6\xea\x54\x54\x0d\x91\x0b\xec\xd8\x62\x84\xe1\x95\xfe\
+\x09\xca\x79\x85\x5e\x32\xa4\xe4\x95\x08\x4d\x44\x60\x03\xce\xcd\
+\xcf\x5c\xd4\xfe\x45\x80\x22\x4f\x63\x1d\xb5\x36\x49\x2f\x22\x1b\
+\xce\x52\x14\x05\x4a\x2b\xf2\x64\x4c\x91\x5b\x8a\xcc\x82\x73\x08\
+\x8a\xd7\x22\x2c\x76\x01\x56\x66\x13\x86\x13\xc7\xd0\x81\x22\x30\
+\x01\xb1\x6e\x30\x11\x4e\x52\x8f\x9a\x48\x4f\xa2\x02\x89\x0a\x14\
+\xda\x33\x18\x4f\xa3\x95\x46\x0c\xff\xf7\xf3\x7c\x11\x60\xb8\x72\
+\x76\x47\x4d\x79\xf5\xac\x7b\x92\x71\x3e\x64\xfe\xdc\x12\x7e\x6d\
+\x82\x2c\x19\x53\x14\x0e\xe7\x40\x08\x70\xc2\xae\xbe\xb0\x56\x71\
+\xc5\xd6\xcd\x9c\xb4\x8b\xc8\x40\x81\xe7\xa8\x54\xcb\x28\x15\x70\
+\x72\xfe\x38\x69\x29\xe1\xdd\xfe\x8d\xb8\xa1\x60\x25\xed\x93\xca\
+\x8c\xbe\x1d\x51\xd6\x11\x0d\xdd\x7c\x23\x80\xcd\xd3\xe1\x70\xf6\
+\xc8\x72\xd8\xbe\xb6\xa6\xbd\x2a\x73\xe7\x13\xfc\x46\x82\x17\x88\
+\xd5\x3b\x17\x20\xa4\xa0\x60\x75\x01\x6a\xc7\xbb\xe9\xef\x8f\x89\
+\xf3\x8f\x01\x02\x0a\x43\xa6\xf6\xb3\xf5\x4b\x29\x83\x5e\x97\xc4\
+\x0c\x39\x39\xf7\x6f\x0e\x3c\x14\x33\x38\xee\xef\x4f\xb6\xfd\xe1\
+\x49\xca\x99\x95\x4e\xa8\xc0\xf7\x0e\xbd\x49\x0b\xfe\x74\x48\xaa\
+\x8f\xee\x4e\xfb\xb3\xdf\x12\xc6\xbf\x3e\x59\x7c\x75\xb3\x5f\x99\
+\x0c\x36\x6d\x9f\xc4\xf3\xc1\xb9\x02\x67\x2d\x60\x01\x41\xe4\x7f\
+\x90\x8a\xff\x21\x1c\x02\x10\x48\x57\xe2\xe8\xca\x17\x18\xbb\x97\
+\x08\xfc\x80\xb0\x14\x92\x0e\x33\x16\x8e\x5e\xf8\xbd\x3d\xd6\xb9\
+\xd7\x1d\x49\xcf\xaf\x29\x43\x5b\x3c\xf9\xb4\x10\x1f\x7e\x06\x5c\
+\x03\x9e\xbf\xbe\x77\xea\x6f\xb7\x5d\xe8\xbc\x6b\x57\x63\xdb\xb5\
+\xd3\xb5\xcd\x57\xb6\xfd\x5a\xab\xa2\xfd\xa8\x24\x95\x01\x99\x83\
+\x73\x38\x5b\x50\x64\xa3\x74\x34\x97\x74\x07\xcc\x44\x46\xfb\x55\
+\x63\x0c\x9e\xf1\x91\x52\xe0\xae\x3c\x78\xce\xfd\xe7\xc0\x9b\x16\
+\x7f\x03\x00\x80\x73\x4f\x5b\x60\x1e\x78\xea\xb5\x03\x21\x3e\x50\
+\x06\x2f\x56\x5e\x14\x6b\xbf\x54\x91\x3a\x28\x49\x6d\xb4\xb3\x45\
+\x6e\xf3\x74\x54\x24\xe9\xf2\x38\xed\xbf\x12\x7c\x6a\xff\x2f\x8d\
+\xba\xe9\x33\xda\x68\xb4\xd1\xb8\x42\x40\xa9\xb8\xe4\xba\xb6\xae\
+\x31\xea\xdc\xb3\x7d\xa0\x0f\x9c\xbd\x94\x5f\xe5\xcb\x41\x1e\xb8\
+\x08\xdf\xf8\x04\xc6\x47\x68\x8d\x58\x63\xf7\x7d\xdb\x73\xfc\xcd\
+\xac\x5e\x8a\x0f\x1f\x7d\xec\xc8\xf5\xe7\x97\xcf\x8e\xa4\x38\x2d\
+\xb6\x57\xa7\x45\xab\xde\xfc\xcb\xa5\x62\xfe\x0b\x98\xed\xc4\xbe\
+\x20\x31\x63\xee\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x06\x3c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x03\x49\x44\x41\x54\x58\x85\xc5\x97\xdb\x8f\x1c\x57\
+\x11\xc6\x7f\x55\xe7\x74\xcf\xec\xce\xce\xf8\xbe\xc6\x8e\x1d\x05\
+\x19\xc5\x98\x04\x1b\x5f\xb8\x98\x6c\x36\xc4\x41\x4e\x04\x48\x08\
+\x09\x81\x84\x64\x24\x78\x40\x88\xf0\x4f\xf0\xc4\x23\xff\x02\xb6\
+\xcc\xe5\x85\x07\x84\x0d\x92\x89\x42\x2e\x84\x17\xe2\x28\x8e\x25\
+\x3b\xb1\x23\x20\x24\x06\x3b\x8e\x63\x6d\xef\x65\x66\xba\xfb\x9c\
+\xe2\xa1\x7b\x2e\x5e\x4f\xbc\x6b\x81\x44\x49\xe7\xa1\xeb\x1c\xf5\
+\xf7\x9d\xaa\xaf\xab\xaa\xc5\xcc\xf8\x7f\x9a\xff\xf2\xcf\xae\x10\
+\x2d\x72\xfe\x9d\x25\xbc\x0a\x22\x82\x8e\x1d\x10\x11\xc4\x2b\xb7\
+\xaf\xbe\x8f\x78\x45\x44\x86\x7b\x66\x60\x66\x6c\x9c\x76\xf4\xf2\
+\xc8\x4a\x11\x99\x4a\x1d\xe6\x14\x71\x0a\xf5\x12\xa7\x48\xa2\x80\
+\x23\x7a\x25\x17\xe1\xd8\x43\x53\xf4\x4b\xee\xc0\xba\xa7\x99\x19\
+\x58\x0d\x4a\xb5\x00\x62\x34\x42\xb0\x5d\x45\x11\x67\xca\xd2\x88\
+\xf7\x19\xd1\xf5\x11\x30\xab\x80\xe3\x80\x81\xd5\x3e\x23\x04\x63\
+\x7e\xdf\x86\x77\xbf\x75\x74\x76\x91\x6e\xd1\x09\x45\xac\xce\xfd\
+\xaf\x08\x18\x86\x45\x63\xcb\x27\xb7\xd3\x4a\x85\x56\x43\xab\xd5\
+\x74\xb4\x1a\xca\x4c\x43\xf8\xc3\xd5\x95\x72\xd3\x77\xf6\xf3\x99\
+\xa3\x3b\x16\xfa\x2b\x79\x2b\x94\x6b\x93\x50\xa9\xd7\xda\xb7\xaf\
+\x2f\x5c\x46\xd2\x07\xb7\xd2\x8b\x42\xdf\x94\xbe\x29\x39\x4a\x81\
+\x12\xd2\xb4\xf7\xef\x08\x5f\xfc\xd1\x41\x0e\x1e\x9c\x5d\x1a\x92\
+\x30\x63\x12\x0d\x55\xf0\x02\xc9\xba\x08\xc0\x28\x05\x21\xd2\xde\
+\xb5\x11\x13\x01\x27\x43\x91\xa9\x10\x1b\x2b\xf0\x8b\x2b\x30\xf7\
+\xe3\x23\x1c\x3a\xb0\x6d\x29\xef\xe6\xed\x50\xc4\x91\x68\x6a\x13\
+\x2a\xf0\x73\x7f\xef\x73\xb1\xef\xd7\x2f\xc2\x71\x1d\xb4\x77\x74\
+\x6a\x12\x43\xa5\x9b\x18\x34\x72\x38\xfd\x16\x3c\xfe\xec\x61\x0e\
+\x3c\xb2\x39\xcb\xbb\x45\x3b\x94\x11\x63\x44\x42\x04\x54\x84\x44\
+\x61\x51\xdc\x7d\x10\x18\x90\x88\x86\x05\xa3\xbd\x75\xa6\x4e\xa2\
+\x62\xaa\x26\x54\xe1\x6c\x94\x70\xfa\x2a\x3c\xf1\xec\x11\x0e\xee\
+\xdb\x98\xe5\xdd\xb2\x1d\xca\x4a\xb0\xc3\x28\x48\xb5\xec\xc6\xc2\
+\x88\x80\x0d\xbe\xad\x5a\xdd\xf7\x5a\x31\x46\x42\x19\x69\xb6\x52\
+\x0a\x33\xf2\x10\x57\x42\x09\x16\x40\x83\x91\xf6\xe0\xd4\x9b\x30\
+\xf7\x83\xc3\xec\xff\x44\x27\x2b\xfa\x45\x3b\x04\xab\x04\x3d\x24\
+\x51\xa9\xd0\x0b\x40\xac\x42\x1b\xac\xca\x91\x54\xe2\x51\xcc\x1a\
+\xd5\xee\x24\x2d\x49\x0c\x65\x2c\x77\x6f\x6e\xcc\xce\x75\xba\x3b\
+\x8b\x2e\xd8\x72\x01\x16\x51\x11\x52\x81\x93\x6f\x24\x9c\xf8\xde\
+\x21\xe2\xcf\x5f\xcb\x2e\x5f\xeb\x76\x50\xb7\xe8\xfc\x28\x17\x22\
+\x86\x77\x18\xad\x99\xb4\xf9\xa0\xeb\x1d\xf6\x5b\x3a\x0f\x5b\x23\
+\x7d\x54\xf2\xf2\x48\x4c\xfd\xa3\x86\xdb\x8c\xaf\x72\x3f\xc9\x42\
+\x84\x54\x8c\x6b\x2d\xc7\xb6\x5e\x41\xec\xe5\x44\xac\x0a\x31\x90\
+\x4a\xc1\xa9\xd7\x3c\x27\xbe\x7d\x08\xfb\xe5\xf9\xec\xcd\x9b\xa1\
+\x43\xe2\x16\xc5\xaa\x14\x80\xe0\x2f\xdd\xec\xb1\x65\xd7\x54\xf3\
+\x83\xfd\x9f\x42\xbd\xb6\x4c\xa5\x5d\x22\xfe\xeb\x7b\x9a\xad\x95\
+\x00\x61\xac\xf4\xde\xad\x09\x08\x40\xcc\x0d\xd7\xcb\xa1\x9b\xd7\
+\x21\xac\xb6\x15\x48\xad\xe0\xe4\xeb\x05\x27\xbe\x79\x80\xf0\x9b\
+\x0b\xd9\xdb\x0b\xa1\xa3\x89\x2e\x6a\xad\x03\xbf\x10\x1d\x7d\xf3\
+\xa8\x13\xb1\x60\x50\x06\xd4\x24\xfc\xf6\x52\x76\x2b\x06\x76\xde\
+\x53\x94\xe3\x09\xc1\xf0\x40\xd4\x21\x7e\xe5\x37\x21\xcd\x0b\x4e\
+\x9d\xcf\x39\xf1\xb5\x47\x88\x67\x2e\x67\xff\xe8\xda\x86\x44\x2d\
+\x43\xc0\x6b\xa2\x20\x8a\xf5\x0b\x23\x58\xc0\xac\x14\x88\x1a\x31\
+\x19\xc4\x7e\xfc\x5b\x89\x43\xc4\x55\x04\x46\x42\x59\x9d\x31\x01\
+\x12\x2b\x38\xf9\x6a\xce\x77\x9f\x79\x98\xe7\xce\x5d\x59\xb8\xd6\
+\x97\x8f\x79\xec\x86\x57\x55\xac\x9f\x13\x4d\xc0\x62\x15\x53\xaa\
+\x2a\x46\x18\x74\x9e\x00\x51\x18\x55\xd7\x38\x22\x62\x76\x27\x97\
+\xc1\xc3\x78\xea\x14\xcc\x14\x0c\x7e\xfd\x4a\x8f\x6f\x1c\x7a\x80\
+\x3f\xfd\xea\x2f\x3f\xbd\xbd\x77\xdf\xf7\x3d\x40\xb9\xdc\xaf\x30\
+\x6a\x02\x42\xdd\xd5\x62\x05\x60\x13\xde\xc9\x98\x4f\x00\x71\x35\
+\xf6\xa4\x30\x44\x28\x63\xa4\xd5\x74\xa4\x44\x5e\x3e\xfd\xe2\xed\
+\xdb\x9f\x3e\xf0\x13\x09\x11\x2f\x5e\x48\xc4\x70\x0d\x41\x71\x22\
+\x82\x20\xa2\x2a\xa2\xa2\x93\x41\xc7\xcd\x2b\x74\x2d\xb2\xb8\x14\
+\x51\xe4\xae\xf3\x66\x50\x98\xd0\x9e\x76\x4c\x27\x9e\xe6\xf3\x7f\
+\xce\xae\x7f\xee\xb3\xc7\xe8\x87\x77\x30\xf0\x04\xcf\x9e\xcd\x89\
+\x4e\x77\x34\x8d\x22\x2d\x27\x6c\xf4\x4e\xb6\x78\x27\xb3\x89\xd3\
+\x7b\x13\x10\xf0\x6a\x2c\xbd\x6b\xbc\xe2\x7a\xc3\x68\x0c\xc1\x81\
+\x10\x8d\xce\xb4\xa7\xd5\x74\x34\xce\xbd\x9c\x5d\xff\xc2\xe7\xe7\
+\xca\xbc\xbc\x28\x66\x95\x70\xd3\x05\x87\x76\x5c\xfc\xf0\xd2\x3f\
+\x8b\xbc\x5f\x64\xa1\xd1\xb8\x1a\x8a\x10\x75\xb9\xdb\x2b\x35\xd9\
+\xa6\xdd\xee\xb4\x18\xe5\x44\x7c\x47\x59\xf4\x7c\xef\xfa\xd2\xde\
+\x3d\xad\x27\x1c\x21\x04\x06\x45\xc3\x10\x82\x09\x9d\x56\xc2\x4c\
+\xc3\xe1\xcf\xbd\xb8\x78\xe3\xb1\xa3\xf3\x65\xaf\xa8\xc0\xeb\x73\
+\xbe\x6c\x44\xde\xeb\x15\x4b\xe5\xec\xce\x57\xcb\x68\xaf\x03\x1e\
+\x68\x82\x4c\x8b\xd2\xa9\xae\x24\x93\x4a\x91\x61\x2c\xb3\xa0\xf2\
+\xc0\xdf\x2e\xbc\x75\x2b\x3d\xa8\x92\x4b\x5d\x45\x2b\xc1\xce\x4c\
+\x39\x66\x1a\x8e\xe4\xec\x0b\xd9\x8d\xf9\xc7\xe6\x8a\x6e\x05\x3e\
+\xde\x17\xbc\x00\x19\xb1\x8c\xb9\x94\x77\xc2\xac\xea\xa1\xab\x2d\
+\x82\x39\xc1\x9a\xc2\x8c\x53\x15\x55\xc4\xd5\x93\x92\x08\xad\xd4\
+\xd1\x4a\x1d\xc9\xd9\xe7\xb3\x9b\x4f\xce\xcd\x0f\xc0\x65\x55\x59\
+\xf5\x5a\xbf\x5f\x27\x8e\x0e\x77\x73\x19\xf9\x0c\x82\xe0\x3b\x29\
+\xe2\x14\x75\x0e\xa2\x11\x81\x66\xea\x69\x3a\xa1\x71\xf6\x85\xec\
+\xe6\x53\xf3\x73\xf9\x84\x9b\x0f\x09\x8c\x3f\xac\x21\xf8\x21\xb0\
+\x01\x44\x23\xd9\x38\x45\x14\xad\x7c\x89\xc7\x44\x68\xa8\x90\x38\
+\x61\xfa\xcc\x73\xd9\x07\xc7\xbf\x34\x5f\x74\xf3\x8b\x32\x98\x23\
+\x27\x98\xbf\xb3\x86\xad\x0d\x3e\x68\xd9\xe9\xe6\x19\x0c\xaa\x91\
+\xdb\x29\xd2\x74\x24\x41\x48\x22\xb4\x7f\xf7\xc7\xec\xe6\xd3\xc7\
+\xe6\x8b\x5e\x71\x61\x00\xfe\x51\x08\xf7\x37\x11\x51\xb5\xed\x74\
+\x7b\x07\xf3\x82\x79\x81\x54\x89\xd1\x90\x65\x47\xb3\xe9\x98\x39\
+\x73\x2e\x7b\xff\x99\xa7\xe6\x43\x19\x2e\x88\xc5\xbb\x72\x3e\x21\
+\x02\xeb\xbc\x39\x40\x88\x34\x76\x6f\x82\x60\x88\x08\xa6\x60\x5e\
+\xf8\xf0\xd6\x76\x76\x5c\x53\xd2\x97\x7e\xbf\xf2\xaf\xaf\x1e\x7f\
+\x3c\xf6\x8b\x37\x24\xae\x0d\x0e\xeb\x9a\x8a\x47\x03\x69\xba\x69\
+\x2b\x31\x13\xc2\x92\x12\x96\x95\xb8\xa4\xd8\xa2\x50\xec\xfe\xf8\
+\x4b\xed\x1b\x7f\x5d\x59\xfe\xca\xf1\x27\x63\x08\xeb\x06\x87\xb5\
+\x22\x30\xd0\x4e\x8c\x34\xb6\xcf\x62\x31\x20\x26\x75\x55\xa8\xa6\
+\x0a\x13\x74\xc3\x5e\xfb\x61\x36\x7d\x40\x7a\x79\xb8\x4c\x88\x1f\
+\x29\xb8\xfb\x27\x50\x33\x98\x7a\x68\x16\x0b\x71\x28\xc0\x3b\xf6\
+\x85\x88\xb7\xcb\xb9\x07\x09\x36\x18\xe7\xd6\x6d\xeb\x4c\x41\xfd\
+\x0d\x0f\xc0\xc7\x7f\x0e\x0d\x88\xa3\xce\x79\xbf\xb6\x4e\x11\xae\
+\x02\x1d\xf7\xff\x97\xf6\x1f\x55\x71\x66\xb1\x3b\xac\xe4\xa6\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x09\x2a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x08\xf1\x49\x44\x41\x54\x58\x85\xa5\x97\x7d\x70\x54\xd5\
+\x19\xc6\x7f\xe7\xde\xbb\x7b\x77\xb3\x5f\xd9\x64\x09\x49\x48\x02\
+\x09\x12\x02\x49\x15\x50\x5b\x30\xa2\x54\xd0\x42\x6b\xb1\x56\x5a\
+\x44\x04\x8a\x0a\x52\x2a\x68\xad\x75\xd4\x8e\xed\xa8\xa5\x71\x94\
+\xa2\x23\xca\xd4\xc2\x94\xa1\x53\xad\xfe\x51\x67\xac\x55\x0b\x4e\
+\xa7\xa8\x54\x22\x28\x20\x45\xa3\x12\x86\xaf\x90\x90\x2c\xc9\x66\
+\xb3\xc9\xdd\xbd\x9f\xa7\x7f\xe4\x53\x2c\x56\xe9\x3b\x73\xe7\xbc\
+\xf7\xce\x39\xef\x79\xce\x73\x9e\xf3\x9e\xf7\x0a\x29\x25\xe7\x6b\
+\x57\xce\xac\x5f\x85\x50\x0e\xbf\xf9\xd6\xdb\xff\x38\xdf\x18\x62\
+\xc6\xa5\x53\x51\x14\x01\x08\x84\x22\x40\x0a\x18\x78\x07\x01\x42\
+\x20\x84\x00\xa1\x20\x10\x48\x04\x42\x80\x10\x22\x0f\xb3\xe7\xb0\
+\x14\xea\x31\xd7\xb1\xea\xa5\x94\x28\x42\xa0\xe4\xc5\x41\x02\x78\
+\xf4\xaf\x4d\xd2\xef\xc8\x81\xef\xfd\xef\x52\x7a\x44\xa3\x11\x94\
+\xf3\x04\x5e\x24\xb3\xa9\x13\xb7\xac\x5c\x5d\x3a\x67\xf6\x9c\xcb\
+\x80\xfd\xe7\xcb\x80\x76\x1e\x63\x12\xae\xd1\xf5\xe1\x8d\x37\x2f\
+\x2f\x5c\xba\xfc\x36\x00\xba\xba\x3b\xa7\xec\x69\x6c\x7c\x1f\xb8\
+\xf8\xab\x06\xfb\xaa\x0c\x4c\x50\xac\xf4\x91\x15\xab\xef\x4c\xdc\
+\x71\xe7\xdd\xb4\xb6\xb6\xd1\xd5\x95\xe2\x89\x8d\xbf\x67\xf6\x9c\
+\x6b\xa6\x01\x9f\xf0\x15\x17\xf5\x55\x00\xd4\xc8\x5c\xd7\xfe\x65\
+\xb7\xdf\x11\x5d\xb6\xfc\x36\x4e\x9c\x38\x49\x24\x1c\x42\x55\x55\
+\xda\xdb\x3b\x78\xb8\x61\x3d\x57\x7e\xf3\xaa\x6a\xb7\xaf\xb3\x09\
+\xf0\x7f\xd9\xa0\x6a\xf9\x98\x92\x7e\x91\x21\x86\x5a\xc4\xe7\x44\
+\x78\x9d\xcf\xeb\xdd\xb9\xfa\xae\xfb\x03\x8b\x97\x2c\xe3\x4c\xf2\
+\x0c\xa5\xa5\x25\xe8\xba\x4e\x20\xa0\x13\x0e\x87\xc8\xf4\xf6\x32\
+\xef\x3b\xf3\x69\xef\x68\x2f\x68\xfe\x68\xff\x1a\xb4\xc0\x4b\x40\
+\xd7\xb9\xa7\x96\xe8\xba\xfe\xa5\x00\xcc\xd5\xc9\xfd\xf5\xfe\x87\
+\x7f\xab\xce\xbb\x76\x3e\x5d\x9d\x67\x48\xa7\xbb\xd9\xbc\x79\x33\
+\x79\xc1\x3c\xda\x3b\xda\x79\xe4\x91\x47\x98\x50\x5d\x4d\x30\x18\
+\x64\xf6\xd5\xdf\x22\x6b\xd9\x81\x43\xef\xed\xba\x05\x2d\xf8\x1c\
+\x90\xfe\x22\x00\xff\x6b\x0b\x96\x44\xfc\xde\xab\x0f\x3d\xf6\x8c\
+\x52\x7f\x79\x3d\xad\x2d\x27\x18\x95\x48\x60\x9a\x16\x4f\x6c\x78\
+\x92\x77\x77\xef\x63\xc7\x8e\xb7\xd8\xb4\x69\x13\xae\xe3\x10\x89\
+\x44\x68\x6d\x39\xc5\x8f\x57\xaf\x65\xc5\x9a\x9f\x87\x34\x27\xd3\
+\xc4\x17\x08\xb3\x37\x93\xf9\x42\x06\x96\x84\x54\x67\xdb\xc3\xeb\
+\x9f\x55\xea\xea\xea\xe8\x4c\x26\x89\x46\xa3\x04\x02\x01\x22\x91\
+\x28\x05\xb1\x22\x2e\xaa\x1f\xc5\xa8\x62\x9d\x69\x93\xe7\x30\xef\
+\xdb\x73\x51\x35\x05\xd7\xf3\xe8\xec\x3c\x43\xfd\xcc\x2b\xc8\x0b\
+\xc7\x7c\x7b\xdf\x7e\x63\x39\x5a\xe0\x65\xa0\xfd\x6c\x06\x84\x38\
+\xb7\x62\xd7\xc6\x43\xda\x93\xbf\x6c\x78\x46\x54\x57\x5f\x40\xaa\
+\xab\x93\x58\x2c\x4a\x2c\x16\x03\xa0\xf5\x54\x2b\x2f\xfd\xf3\x31\
+\xfe\xb4\xf3\x63\x0a\x8a\xc2\x14\x87\xa7\x63\xf4\x2e\xc2\xaf\x47\
+\xc9\xcf\xcf\x07\xa0\xed\xd4\x29\xbe\xf7\xfd\x1f\xa2\x6a\x9a\xef\
+\x77\x1b\x1a\xde\x33\x95\xe0\x3c\xe0\x73\x19\xf3\xbf\x31\x70\x4f\
+\x3c\xe4\xdb\xb0\xee\xa9\x2d\xa2\x72\x6c\x25\x3d\xe9\x6e\x62\xb1\
+\xd8\xd0\xe4\x00\x47\x8f\x1d\x21\x9d\xca\x31\xb9\x74\x3e\xe3\x0a\
+\xaf\x40\x71\xf3\xa8\x18\x5b\xc5\xe8\xa2\xd1\x00\x04\x02\x01\xa4\
+\x94\x74\xa7\xba\x98\x32\xed\x12\x46\x8f\xa9\x54\x1b\xdf\x7c\xf5\
+\x66\x4f\xe8\x8d\xc0\x91\x91\x0c\x9c\x0d\xe0\xc1\x44\x7e\xa8\xe1\
+\xa1\xc7\x37\x51\x5e\x5e\x86\xd1\x9b\x21\x1a\x8d\x12\x8d\x46\x3f\
+\x83\xda\xb6\x5c\xe2\xe1\x62\x6a\x6a\x26\x31\x76\x6c\x15\xe5\x25\
+\xe3\xa9\xa8\xa8\x20\x12\x09\x0f\xf5\x09\x04\x02\x00\xa4\xbb\x53\
+\xd4\x4c\xae\xa5\xb4\xac\x4a\xbc\xf7\xce\x1b\x37\x39\x52\x6b\x02\
+\x3e\x1a\x04\x30\xf2\x2e\x78\xbc\x24\x11\xbb\xa7\x61\xe3\x1f\x48\
+\xc4\xe3\xe4\x72\x06\xd1\x68\x84\xbc\xbc\xd0\xb9\x34\xf4\xa5\xcc\
+\x30\x0c\x7a\x7a\x7a\x88\xc7\x13\xbc\xbb\xa7\x91\x75\x0f\xac\x95\
+\x59\x4f\xbf\x55\x4a\x6f\xab\x32\x82\x81\x0d\x15\xa5\x45\x3f\x6b\
+\xd8\xb8\x95\x31\x25\xc5\xd8\xb6\x4d\x41\x41\x1c\x5d\xd7\xff\xaf\
+\xc9\x01\x7c\x3e\x1f\xc1\x60\x10\xc3\xe8\xa3\xba\xba\x9a\x0b\x6a\
+\xa7\x89\x3d\x6f\xbd\x36\xdf\xb4\x39\x2d\x04\xef\x8b\x19\x97\x4e\
+\x7d\x61\xd2\xc4\xf1\x0b\x6f\x5d\x73\x2f\xc9\xd3\x6d\x38\x8e\x4d\
+\x3c\x5e\x40\x38\x12\x41\xa0\xe0\x49\x17\x29\x25\xd2\xf5\x70\xbd\
+\x81\xab\x5b\x80\x40\x0c\xfb\x03\x9f\xa5\x94\x48\x40\x55\xfa\x6f\
+\x56\x21\x04\x8a\xa2\x81\x90\x64\x32\x19\x52\x9d\x9d\x44\x62\x71\
+\x74\xbf\x9f\xa7\x1e\xfd\x05\x67\xd2\xb9\x5f\xab\x0b\x16\x2c\xb8\
+\xfc\xba\x1b\x16\xd5\x75\xb4\xb7\x8a\xd6\x96\x63\x2a\xb8\x14\x14\
+\x24\xc8\x0b\x06\x31\xcd\x1c\x9a\xaa\x22\x80\xde\xde\x0c\xa6\x99\
+\xc5\x32\x4d\x5c\xc7\xc6\x32\x73\xd8\x96\x89\x6d\x99\x58\x96\x85\
+\x65\x99\xe4\x72\x59\x6c\xcb\xc4\x71\x6c\x34\x55\x45\x55\x55\x5c\
+\xc7\x22\x18\x08\xe2\xd8\x36\xa7\x4f\x1f\xa7\xe5\xe4\x31\xe2\xf1\
+\x42\x6f\xca\x25\x97\x39\x07\xf6\xed\x7d\x43\x03\xee\x02\xee\x2a\
+\x2f\x2b\x7b\x3e\x51\x18\x5b\x54\x56\x36\x86\xed\xdb\x77\xf2\xca\
+\x2b\xaf\xb0\x74\xe9\x52\x76\xee\xdc\x49\x53\x53\x13\xdb\xb6\x6d\
+\x23\x18\x0c\x92\x4c\x26\x49\x26\x93\xe8\x81\x00\xae\xe3\xe2\x22\
+\x51\x85\x20\x9d\x4e\x53\x56\x56\x46\x49\x49\x09\xd9\x6c\x96\x75\
+\xeb\xd6\xe1\x79\x1e\xd7\x5e\xfb\x5d\xd6\xaf\x5f\xcf\xac\x59\x57\
+\xb2\x6a\xd5\x72\x8e\x1f\x3f\x81\xeb\x7a\x5b\x80\xdb\x61\x20\x0f\
+\xd4\xd6\xd6\x00\x04\x0c\xa3\x9b\xb1\x63\x2b\xe8\xe9\x49\xb3\x7b\
+\xf7\x6e\x56\xac\x58\xc1\xc1\x83\x07\x39\x70\xe0\x00\xe3\xc6\x8d\
+\x43\xd3\x34\x72\xb9\x1c\xba\xae\x13\x0a\x85\xf0\x07\x74\xa4\xeb\
+\xe1\xb8\x2e\xc9\x8e\x0e\x22\x91\x08\x63\xc6\x8c\xc1\x30\x0c\x9a\
+\x9a\x9a\xd0\xfc\x7e\x74\xdd\xcf\xde\xbd\x7b\x98\x3a\x75\x0a\x55\
+\x55\x95\x48\x29\x71\x5d\xa9\x0e\x6a\x44\xfb\xcd\xa3\x0d\x83\xbe\
+\x0c\x87\xfd\xe8\x7a\x3e\x75\xb5\x17\xb2\x68\xe1\x22\xea\xea\x2e\
+\xa4\xaa\xb2\x8a\xaa\xaa\x2a\x7c\x3e\x1f\x00\x85\x85\x85\x18\x86\
+\x41\x2c\x1a\x45\xd1\x34\xa4\x27\x71\x5d\x17\xcb\xb4\x28\x28\x88\
+\x23\x84\x20\x14\x0a\x31\x7b\xf6\x6c\x0a\x0b\x0b\x29\x2e\x2e\xa6\
+\xb6\xb6\x8e\x99\x33\x67\x02\x01\x12\x89\x04\x9e\x27\x6d\x80\xe7\
+\x5e\x7c\x01\x2d\x97\xeb\x1d\x04\x90\xed\xcf\x07\xd0\x76\xfa\x34\
+\xfb\xf7\xfd\x9b\xce\x8e\x5e\x5a\x5a\x3a\x50\x35\x6f\x48\xd5\xae\
+\xeb\x02\xa0\x6a\x1a\xae\xf4\x90\x9e\x44\xd3\x34\xa4\xf4\xf0\x9c\
+\xe1\x7e\xcd\x87\x0f\xd3\xd1\x96\xe2\xa2\xda\xe9\x1c\x6d\x3e\x41\
+\x77\x2a\x3d\x2c\x54\xe9\xd9\x43\x0c\xd8\xd6\x90\xdf\x9f\x90\x64\
+\x8e\xb2\xd2\x0a\x2e\xfe\xc6\x14\x52\xea\x2e\x16\xfe\xe8\x2a\xac\
+\xae\xf8\x50\x1f\xc7\x71\xb0\x1d\x07\xdb\xb6\x41\x4a\x5c\x24\x08\
+\xb0\x2c\x0b\xdb\x1d\x8e\x35\x71\xc2\x45\x68\xd1\x14\x6e\xfe\x07\
+\xdc\x7d\xef\x5a\xaa\x2f\x98\x8c\xe7\x18\xd8\x96\x83\xeb\x3a\xce\
+\x10\x00\x67\xd8\x47\x08\x81\xe7\xc2\xa7\x47\x0e\x71\xf0\xd4\xf3\
+\x34\x3d\x9d\xa1\x62\x7c\x11\xe3\xa3\x3f\x40\x3a\x20\xb4\x7e\x06\
+\x3c\xd7\xc3\xb6\x1d\xa4\x27\x41\x01\xcf\xf5\xf8\xfb\xeb\xaf\xb3\
+\xf0\xc6\x1b\xfb\x59\x72\xe0\xc0\xa7\xdb\xc9\xf8\xf6\xb0\xeb\x63\
+\xc9\xd8\xf2\x6a\x0c\x7b\x2a\x96\xe9\xe0\x38\x36\xae\x6b\x0f\x51\
+\xa5\xd9\xc3\x00\x3c\x55\x55\xe9\xc9\xf4\x51\x34\x7a\x14\xf3\x66\
+\xac\xc1\xe7\x85\xf0\x54\x0b\xd3\xcc\xd2\x71\x26\x49\xd1\xe8\x04\
+\xae\xeb\xa2\xaa\x03\x15\xf4\x40\x2a\x50\x15\x95\xcb\xea\xeb\xfb\
+\x59\x01\x3a\x3b\x93\x5c\x3a\x75\x26\x3e\x65\x2e\x7e\x2d\x84\x61\
+\xa6\xc8\xf4\x64\xe8\xcd\xf6\x61\xbb\x2e\xd2\x73\x87\x16\xad\xe1\
+\x89\x41\xdf\x46\x68\x78\x0e\xcc\xb9\xe2\x7a\x72\xb9\x5e\xa4\xe2\
+\xe1\x79\x2e\x66\xce\x44\xd5\x14\xfa\x8c\x3e\x5c\xdb\x01\x55\xc1\
+\xf3\xbc\x81\xfd\x94\x78\x12\x0a\x0a\x0a\x71\x1c\x07\xc3\x30\x50\
+\x7d\x2a\x8b\x6e\x58\x49\x61\x7e\x29\x59\xa7\x1b\x81\x40\x25\x88\
+\x95\xed\xc2\xb1\x6c\x60\x58\x2b\x5a\xc3\xd6\x45\x00\x2c\xbe\xee\
+\xa7\xe1\x63\x1d\x07\xe8\xe8\xf9\x84\x79\xd3\xd7\x30\x79\xc2\x9c\
+\xfe\x12\xde\x01\x23\x67\x60\xda\x26\x66\xce\xc4\x95\x1e\x1a\xea\
+\x00\x00\x31\x50\xf2\xdb\xb8\x6e\xff\x7f\x80\x99\x33\x09\x68\x79\
+\x4c\xa8\x29\xe0\xdd\x4f\xff\xcc\x8e\xc6\x2d\xf8\xb5\x00\xb3\xa6\
+\x2c\x61\x42\xfc\x1a\x8c\x6c\x1f\x88\x61\xb5\x0e\xd6\x03\xe5\xaf\
+\xfd\x6b\xcb\xf5\x4d\x1f\x1d\x21\x9d\x32\x68\x3e\xde\xc4\xaa\xeb\
+\x37\x82\xea\x82\xa7\xf0\xb5\x8a\xb9\xa8\x9a\x0f\x84\x4b\x5f\xa6\
+\x0f\xcd\xdf\x9f\xdf\x2d\xcb\x42\x08\x81\x4f\xf5\xd1\xe3\xeb\x41\
+\x53\x54\xc2\x79\x71\x7c\x01\xd8\xf1\xce\x56\xd6\x3d\xb3\x92\x88\
+\x5e\x8c\x6d\x7b\x1c\x39\xde\xc4\xd5\xd3\x4e\x32\x7d\xe2\x42\x3c\
+\x69\xf4\x0d\x01\xe8\x3e\x63\x01\xfc\xa4\xfd\x64\xbb\xcf\xe8\xd6\
+\xd0\xf5\x7c\x3a\x8f\x29\x3c\xfb\xe2\xbd\xb4\xb4\xb4\xa2\x05\x5d\
+\x6e\x5d\xf0\x2b\xaa\x62\xf3\xe9\xcb\xa6\x88\xc6\xc2\xf8\x15\x48\
+\xa5\x52\x48\x44\xbf\x10\xf1\xf0\x3c\x49\xce\x74\x38\xd4\xdc\xc8\
+\xc1\x93\x7f\x61\xff\xa1\x37\x31\x4e\x45\xd0\xa2\x1a\xaa\x26\x48\
+\x36\x6b\x7c\x50\xf0\x37\x5a\x3a\x9a\x18\x57\x36\xe1\xeb\x47\xdb\
+\xf6\xf5\x0b\x7f\xc6\x9c\x52\x80\x25\xd1\x98\xfe\x47\xa3\xdb\x41\
+\x00\x96\x93\x43\x8b\x78\xf4\xb4\x9b\xf8\xc3\x1e\xf8\x7c\xb4\x7d\
+\x18\x42\x08\x95\xc5\x8b\x6f\x42\xd7\x75\x46\x9e\x1e\x00\xbf\xdf\
+\x4f\x26\x6d\xb0\xbd\x71\x33\x86\xd9\x4b\xf9\xb8\x10\x01\x2d\x44\
+\xdb\x91\x34\xba\x4f\x27\x3a\x3a\x80\x96\xa7\xd0\xd7\x63\x30\x79\
+\x5a\x25\x13\x6b\xc6\xcd\x00\x1a\x07\x01\x70\xf1\xa4\x59\xdb\x72\
+\x5e\xf7\xfc\x5c\x9f\xa5\x16\x27\x2a\x5b\x63\x89\x88\x77\xec\x78\
+\x53\x95\x2a\xfd\xd4\x4c\xba\xe4\x68\xc0\x37\xea\x63\x21\x64\x50\
+\xd7\xf5\x30\x20\xe4\x88\xbf\x5a\x31\x98\xc1\x50\x2c\xc3\x4c\x26\
+\xda\x93\xcd\x95\xaa\x08\x98\xd1\x58\x3c\xdd\xd9\xd5\x16\x71\x4c\
+\xb2\x7a\x40\xef\x3e\xf4\xc9\xae\xda\x74\x57\x46\x11\x1a\x69\x2d\
+\xa0\xd4\x02\xa7\x46\xd6\x84\xcb\x38\xcb\xb6\x6c\x7a\x2d\x1f\xd0\
+\x81\x3c\x60\xd0\xf7\x03\x2a\xe0\x1b\xd1\x55\x02\x0e\xe0\x02\x7d\
+\x40\x06\xc8\x0e\xb4\xbd\xf7\x3d\xb0\xca\x01\x78\x7a\xc3\xcb\x25\
+\xf7\x3d\xb8\x72\x54\x6b\x5b\xf3\xc1\xb3\x45\x78\x2e\xeb\x1e\xe1\
+\x2b\x67\x3d\x23\xc7\x7a\x0c\x9f\x2d\x8b\x91\xe7\xec\xb3\xd6\x36\
+\xf0\x0c\xd9\x7f\x00\x69\x59\xf6\xa1\xa7\xc9\x42\x6a\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0d\x73\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0d\x3a\x49\x44\x41\x54\x68\x81\xd5\x9a\x5d\x6c\x1c\xd7\
+\x75\xc7\x7f\x77\xe6\xce\xcc\x7e\x68\x97\x4b\x51\xa4\x44\x51\x6e\
+\x4a\xc5\xa5\x98\x26\x76\x61\x51\x31\x10\xa3\xad\x5a\xa7\x36\x1c\
+\x03\x49\x93\x34\xb0\x1f\x0a\x3f\x38\x40\x8d\xc2\x30\x20\xd4\x46\
+\x51\xbf\xf4\xa5\x40\x0b\x15\x81\xdd\x08\x85\x6d\xa0\xe8\x83\x0b\
+\x08\x6e\xf3\x62\xc5\x4f\x0d\x10\xf8\x21\x85\x0b\xd5\x76\x14\x18\
+\x6e\x28\x5b\xa8\x0d\x43\xb2\x69\x50\x24\x25\x72\xb9\x5f\xf3\x79\
+\xa7\x0f\xbb\xe7\xfa\xee\x92\x74\x90\xbe\xf5\x02\x83\x59\xce\xce\
+\xde\x39\xff\xf3\x3f\xdf\x43\x55\x96\x25\xff\x9f\x97\xbe\x78\xf1\
+\xe2\xd8\x85\xb2\x2c\xc9\xb2\x6c\x61\x79\x79\xf9\x17\x4a\xa9\x1d\
+\x20\xd3\x5a\xe3\xfb\xbe\x1f\x86\x61\xa1\xb5\x26\x8a\x22\xb4\xd6\
+\x04\x41\x40\x18\x86\xca\xf3\xbc\xd2\xf7\x7d\x55\x96\x65\x99\x65\
+\x19\x59\x96\xa9\x3c\xcf\xcb\xc1\x60\x40\x51\x14\x24\x49\x42\x96\
+\x65\x24\x49\x42\x1c\xc7\x7e\x96\x65\x45\xaf\xd7\x53\x59\x96\x95\
+\x49\x92\x30\x3a\x54\x9a\xa6\xe5\x60\x30\x20\x49\x12\x06\x83\x81\
+\x1f\xc7\xf1\xb1\xad\xad\xad\x3f\xd2\x5a\x5f\xd9\x4f\xf8\xa2\x28\
+\xd0\x4a\xa9\x3d\x5f\x28\xa5\xbe\xbf\xb4\xb4\x34\x77\xe4\xc8\x91\
+\xb9\x49\x70\x45\x51\xa0\xb5\xb6\x7f\xbb\xbf\x17\x36\xb3\x2c\xc3\
+\x18\xc3\x08\x0c\xc6\x18\xe2\x38\xb6\x20\xe4\x7a\x92\x24\xf4\x7a\
+\x3d\xd2\x34\xa5\xd7\xeb\xd1\xef\xf7\x49\x92\x84\xdd\xdd\x5d\xaa\
+\xd5\x2a\x00\xdb\xdb\xdb\x3f\xf0\x3c\xef\x7e\xcf\xf3\xf6\x93\x13\
+\x1d\x04\xc1\x98\x00\xa3\xe3\x2f\xae\x5c\xb9\x42\x10\x04\xcc\xcc\
+\xcc\x30\x3d\x3d\xcd\xdc\xdc\x1c\x95\x4a\xc5\x0a\x2f\x1b\x88\xd0\
+\xc6\x18\x8c\x31\xf6\x73\x96\x65\x14\x45\x61\x8f\x3c\xcf\xc9\xf3\
+\x1c\x80\x3c\xcf\xed\xb5\xb2\x2c\x49\xd3\x94\xa2\x28\xc8\xb2\x8c\
+\x3c\xcf\xf1\x3c\x0f\xcf\xf3\x30\xc6\x50\xa9\x54\xfe\x30\x0c\x43\
+\xf6\x03\x50\x96\x25\x7a\x7d\x7d\x7d\x8f\x86\x4f\x9c\x38\x31\xad\
+\xb5\xc6\x18\xc3\xe6\xe6\x26\x5b\x5b\x5b\x5c\xbf\x7e\x9d\x46\xa3\
+\x41\xa3\xd1\xa0\xd9\x6c\x32\x35\x35\x45\x10\x04\x28\xa5\x28\x8a\
+\x02\x63\x8c\x15\xd2\x18\x33\x26\x90\x68\x3c\xcb\x32\xd2\x34\xb5\
+\xda\x1f\x99\x14\x69\x9a\x5a\x86\x5c\x70\x23\x00\x5c\xbb\x76\x6d\
+\x4c\x71\xb2\x8c\x31\x7b\x4d\xc8\xf3\x3c\x7c\xdf\xc7\x18\x83\x52\
+\x8a\x20\x08\x08\x82\x00\xcf\xf3\xc8\xb2\x8c\xdb\xb7\x6f\xd3\x6e\
+\xb7\x59\x5f\x5f\x27\x0c\x43\xea\xf5\x3a\xcd\x66\x13\x61\xd2\xf3\
+\x3c\xab\x88\x49\xe1\xf7\x3b\xd2\x34\x25\x4d\x53\xcb\x5e\x59\x96\
+\x96\xcd\x2c\xcb\xa8\xd7\xeb\x28\xa5\x4e\x7b\x9e\xf7\x8b\x49\x59\
+\x95\x52\x68\xf9\x21\x20\x9a\xbc\xc7\xf3\x3c\x8a\xa2\x40\x29\x85\
+\xe7\x79\x16\x08\x80\xd6\x1a\xad\x35\x9e\xe7\x91\xe7\x39\x3b\x3b\
+\x3b\x6c\x6f\x6f\xdb\x7b\x6a\xb5\x1a\x4a\x29\x7c\xdf\xb7\xb4\x8b\
+\x69\x8a\xd0\xa2\x65\xd1\xba\x6b\x66\xc2\xa6\x28\x61\xa4\xc0\xbf\
+\x8a\xa2\xe8\xd1\x49\x33\xca\xf3\x7c\x9c\x01\xdf\xf7\x29\xcb\xf2\
+\x1f\xca\xb2\x24\x8e\x63\xa2\x28\xa2\x28\x0a\x8b\xd6\x15\x46\x80\
+\xf9\xbe\x6f\xbf\x4b\xd3\x94\x7e\xbf\x4f\x96\x65\x7b\x40\x88\x50\
+\x79\x9e\x93\xa6\x29\x83\xc1\xc0\x82\x11\x93\x13\xa1\x5d\xff\xc8\
+\xf3\x1c\xa5\xd4\x77\x6f\xdc\xb8\xb1\xc7\x8c\x8c\x31\xe8\x30\x0c\
+\xc7\x2e\x28\xa5\xce\xca\x66\x22\x88\x52\xca\x52\x2a\x14\x8b\xe0\
+\x2e\x20\x61\x33\x08\x02\x1b\x3e\xc5\x8c\x5c\xf3\x90\x48\x34\xe9\
+\x37\xc2\x80\x00\x11\x76\x5a\xad\x96\xf5\x55\x97\x05\x63\x0c\xfa\
+\xea\xd5\xab\xf6\x0f\x63\x0c\xa7\x4e\x9d\x22\x8e\x63\xeb\x9c\x79\
+\x9e\x13\x86\x21\x79\x9e\x5b\xdf\x10\xed\x97\x65\x69\x1d\x59\x42\
+\xaa\xab\x69\xa5\x94\x15\x3e\x49\x12\x6b\xeb\xae\xe9\x88\x53\xa7\
+\x69\x6a\x81\xb9\x8e\x6d\x8c\xa1\xd9\x6c\x52\x14\xc5\x77\x80\x4b\
+\x2e\xa3\xc6\x18\xb4\x84\x36\x79\x68\x96\x65\xf4\x7a\x3d\xeb\xb4\
+\x5a\x6b\xd2\x34\x25\x0c\x43\xcb\x86\x6b\x36\xae\x59\xc9\xa6\x12\
+\x16\x05\x90\x0b\x26\x4d\x53\x00\xfa\xfd\xbe\x7d\x66\xb7\xdb\xb5\
+\xd7\x84\x65\xb9\x37\x8e\x63\x7c\xdf\x27\xcb\xb2\xc7\xdf\x79\xe7\
+\x9d\x4b\xf2\xcc\x27\x9e\x78\x62\x18\x46\x1f\x7a\xe8\x21\x17\xd1\
+\x5f\x2e\x2d\x2d\x59\xaa\x24\x02\x89\xe3\xfa\xbe\x6f\x23\x92\x80\
+\x08\xc3\x70\xdf\x10\x77\xd0\xea\x74\x3a\x96\x09\xd1\x38\xb0\x27\
+\xcc\xba\x0e\x1f\x86\x21\x6f\xbe\xf9\xe6\x37\xdd\x7d\xe2\x38\x06\
+\x40\xcf\xcc\xcc\xb8\x00\x16\x6a\xb5\x1a\x5b\x5b\x5b\xd6\x8e\xd3\
+\x34\xb5\xd1\xc8\x15\xde\x5d\x62\x36\xa2\x39\x39\x03\x36\x08\xb8\
+\xbe\x02\x58\x96\x5c\x67\x95\xbd\xe4\x99\x62\x66\x41\x10\x70\xf2\
+\xe4\xc9\xb1\x67\xde\x79\xe7\x9d\x43\x00\xfd\x7e\xdf\x05\x90\xc4\
+\x71\x6c\xb3\xa1\xd8\xb5\x08\x2f\x4e\xad\xb5\xb6\x25\x85\xeb\xc0\
+\x72\x2f\x7c\x96\xa5\xc3\x30\xb4\x4e\x29\x81\x40\xee\x15\xa6\xe5\
+\x79\x12\x81\x00\xeb\xdc\xa2\x90\x4e\xa7\xb3\x87\x49\xe0\xb3\x3c\
+\x20\x25\x81\x68\x4f\xcc\xc7\x2d\xdc\x44\x30\x09\x8f\x62\x56\x4a\
+\x29\xab\x49\x01\x28\x42\xbb\x49\x4a\x04\x14\x10\xf2\x59\xd8\x90\
+\xb2\xc2\xcd\xc6\x45\x51\xec\x5b\x46\xc8\x9e\x5a\x9c\x6a\xf4\x40\
+\x25\x42\xf8\xbe\xcf\xee\xee\x2e\x1b\x1b\x1b\xdc\x71\xc7\x1d\x00\
+\x7c\xfa\xe9\xa7\xd4\xeb\x75\x6e\xdc\xb8\xc1\xee\xee\xae\x35\x93\
+\x43\x87\x0e\xb1\xb4\xb4\xc4\xf1\xe3\xc7\xd9\xdc\xdc\xe4\xf8\xf1\
+\xe3\x44\x51\x64\xf7\x15\x70\x92\x5f\xb4\xd6\x24\x49\x32\xe6\xf8\
+\xae\x1f\x74\xbb\x5d\xd2\x34\x65\x6a\x6a\x8a\x24\x49\xec\xf7\xee\
+\x12\xa6\xb4\x1b\xa3\x5d\x7b\xf4\x7d\x9f\xe7\x9e\x7b\x8e\x4b\x97\
+\x2e\x8d\xfd\xf0\x0f\x7e\xd4\xe7\xcf\xef\xf9\x1a\xf5\xbc\x4f\x37\
+\x51\x84\x35\xc5\x97\xaa\x21\x67\x2e\xfc\x37\xf3\xbf\x7b\x8a\x8d\
+\xbf\x7d\x99\xe2\xbd\xbf\xdf\xf3\xc0\x5f\x67\xd5\x80\x02\x78\xed\
+\x27\x3f\xb1\x26\xb6\x1f\x08\x00\x2d\xde\x2c\x82\x0b\x95\xc6\x18\
+\x6a\xb5\x1a\x7f\x76\xe6\x3b\xac\xb6\x8e\x51\x7e\xf5\x7b\x9c\xf9\
+\xd6\xfd\xcc\x7f\x19\xbe\x5d\x81\xed\xb4\x46\xa1\x61\x21\x1a\xed\
+\x34\x13\xf0\x2f\x8f\x28\x92\x3f\x3d\xcf\xf7\xbe\xff\x28\x33\xf5\
+\x80\x32\xaf\x60\x7c\x9f\xb8\x5f\x42\xd9\x27\x24\x27\x29\x3d\xf2\
+\xbc\x87\xce\x72\x28\x73\xbc\xb2\x20\xac\x94\x50\x96\x54\xa7\x0e\
+\x73\xfd\x67\xff\xc6\xdf\x7d\x7d\x9a\x97\xff\xf9\x05\x2b\x0b\xb0\
+\x07\x80\x35\xa1\x89\x22\xca\x17\xe7\x19\x0c\x06\x04\x41\xc0\x97\
+\x7e\x7b\x81\x5f\x7e\xfb\x1f\x99\xbd\x07\xfe\x6b\x0d\x4e\x5d\x85\
+\x4b\x47\x61\x33\x01\x34\x9c\xa8\xc0\x56\x0c\x24\x15\xde\xfa\x18\
+\x66\x9b\xf0\xe8\x5f\xdf\xc3\xf2\x22\xe4\x40\xc0\xf0\x5c\x00\x69\
+\x0a\x71\x08\x2a\x83\x6e\x17\xf2\x12\x06\x7d\x88\x93\xe1\x77\x5a\
+\xc1\xc7\x7f\x7c\x86\x4f\xde\xfe\x29\x5f\x39\xfc\x4f\x74\xbb\x5d\
+\xeb\x27\x93\x9d\xa3\x05\x30\x99\xc8\xe4\xc6\xc1\x60\x40\xad\x56\
+\xc3\x9c\xfe\x13\x1e\xfe\x1a\x7c\x1d\xe8\x9d\x80\x76\x01\x3b\x3d\
+\x43\xa8\x3c\x42\x05\xed\x2e\x2c\x1f\x83\xf4\x07\x5f\x61\x3b\x81\
+\x76\x0a\xdf\x6d\x80\x36\xd0\x02\xf0\x60\x90\x1b\xaa\xa9\x22\x09\
+\x72\x82\x54\x81\xa7\xc8\xeb\x3e\x49\x61\xf0\x5a\x25\x59\xe1\x93\
+\x6b\xe8\x15\x70\x7e\x19\x7e\xf8\x85\x07\xa8\xbc\xd2\xa0\xdf\xef\
+\xdb\x88\x37\x59\x89\x8a\x9c\x7b\x7c\xc0\x8d\x14\xf5\x7a\x9d\xa7\
+\xce\x1e\x23\x3a\x06\xd0\x03\xca\x91\x2e\x0b\xc0\x07\xcc\x50\x42\
+\x72\xa0\x64\x2e\x8a\x98\x8b\x8a\xd1\x23\x02\xa0\xe0\xe7\x6f\xdf\
+\xe6\xae\x95\xdf\x84\x1a\x84\x68\x54\x31\xd4\xbc\xf6\x4b\x8c\xa7\
+\xf0\x72\xc5\x5a\x07\xfc\xdd\x36\x5f\x5c\xec\x00\x27\x78\xe9\x14\
+\xfc\xcd\xd2\x97\xd9\xd9\xd9\x61\x76\x76\xd6\x46\x24\x77\xc9\xdf\
+\xda\xb5\x31\x09\x63\xc6\x18\xfa\xfd\x3e\x0b\x0b\x0b\x44\xd3\x2d\
+\x5e\x78\xbb\x4b\x61\x52\x02\x4a\x28\x3c\x4a\xad\x50\xa4\xa4\x26\
+\xc4\x4f\x0a\x62\x53\x50\x66\x1e\x89\xd9\x21\x4e\x7c\x32\x53\x60\
+\xb2\x82\xf5\x9b\x1d\x8e\x7f\x75\x99\xac\x84\x0f\xae\x83\x2e\x15\
+\x45\x02\xb7\xaa\xe0\xf5\x20\x2e\x87\x3a\x49\x42\xf8\xf9\xc7\x53\
+\xdc\xf9\x9f\x1b\x54\xe6\x3e\xe5\xfe\x2f\x1e\xe7\x1b\x67\x97\x79\
+\xf5\xe6\x4d\x5a\xad\xd6\x98\x2f\xfc\x4a\x13\x72\x13\xc8\xc9\x93\
+\x27\x59\xd3\x47\xf8\xe1\xbb\x09\xbf\xff\x85\x29\xc2\xc8\x67\xaa\
+\x0e\x95\x08\x1a\x1e\xd4\x22\xa8\x85\x70\xb4\x02\x55\x0f\xa6\x0e\
+\x41\xc5\x87\xaa\x3f\xe4\x27\x1c\x71\xb5\x75\x1b\x8e\x46\x43\xc2\
+\x8a\x08\xa6\x32\x50\x11\xc4\x40\x2f\x05\x95\xc3\xdc\x6f\xc0\xad\
+\xd9\xdf\x62\x2d\x81\x0b\x9b\xf0\xda\xe9\xdf\xe1\xe5\x1f\xbd\x6e\
+\x73\xc6\x41\xd3\x93\x49\x13\xf2\x24\xc1\x24\x49\xc2\xfc\xfc\x3c\
+\x8d\x48\x31\x9d\xed\x12\x24\x29\xbe\x8a\xc8\xd2\x00\xea\x01\xa9\
+\x07\x9d\x5d\xf0\x8a\x91\xa3\x8e\x84\x0e\x34\x34\x02\xa8\x7b\x50\
+\x0f\xa1\x5a\x83\x56\x09\xad\x00\x9a\x53\x50\x14\x43\x67\x55\x75\
+\x28\x32\x18\x78\x90\x00\x89\x81\x2e\xb0\xbc\x0b\x1f\x1a\xe0\xe8\
+\x69\xe6\xff\xe3\xaa\x14\x72\x07\x87\xd1\x09\x06\x8c\x24\x93\xd5\
+\xd5\x55\x56\x57\x57\x81\x7f\xe5\xf7\x00\xfe\xe7\xb3\x1f\x65\xa3\
+\x73\xb2\xef\x96\xb0\x7e\xc0\xf5\x5f\x67\x3d\x33\x3a\x4f\x4f\x4f\
+\x93\x24\xc9\x9e\xfa\x6b\x8f\x0f\x8c\xec\x4c\x25\x49\x42\xa7\xd3\
+\xe1\xe1\x87\x1f\xe6\xde\x7b\xef\xb5\x91\x40\x5a\xc6\x28\x8a\x6c\
+\x0f\xf0\x7f\x59\xa2\x20\xa9\xf5\xc5\xef\xe2\x38\x26\x8e\x63\xe4\
+\xf9\xdb\xdb\xdb\x6c\x6f\x6f\xb3\xb6\xb6\x46\xa5\x52\xd9\xb3\x8f\
+\xcd\xc4\x13\x0c\x68\xb7\x94\xed\x76\xbb\xcc\xcf\xcf\xdb\x07\x0b\
+\x72\x69\x6a\x24\xbc\xb9\x75\x8b\xc4\xec\x34\x4d\x2d\xfd\x92\x18\
+\xdd\xe1\xc0\x60\x30\xb0\x95\x67\x1c\xc7\x78\x9e\x47\xbb\xdd\x66\
+\x6b\x6b\x0b\x63\x0c\x8d\x46\x83\x30\x0c\x6d\xcd\xe4\x8e\x7f\x64\
+\x95\x65\xf9\x59\x22\x1b\xd5\x24\xd6\x07\xd2\x34\x65\x75\x75\x95\
+\xf7\xde\x7b\x8f\xc5\xc5\x45\x66\x66\x66\x50\x4a\x8d\x95\xd7\x93\
+\x4b\xaa\x56\x63\x0c\x5a\x6b\xdb\x10\xb9\x43\xae\xa2\x28\xe8\x74\
+\x3a\xf8\xbe\x3f\x36\x4e\x31\xc6\xb0\xb6\xb6\xc6\xfc\xfc\x3c\x9f\
+\x7c\xf2\x09\x37\x6f\xde\x24\x08\x02\x0b\x6e\xf2\x79\x36\x0a\x89\
+\x66\x47\xda\x35\x32\x0e\x34\xc6\x58\x0d\x7c\xf8\xe1\x87\xdc\xbc\
+\x79\x93\x85\x85\x05\x9a\xcd\xe6\x58\xbd\x3f\xb9\xa9\x14\x6d\xb2\
+\x87\x3b\xe3\x91\xee\x2c\x0c\x43\x5b\x75\xba\x05\xdd\xfb\xef\xbf\
+\x4f\xa5\x52\xe1\xf0\xe1\xc3\x6c\x6f\x6f\xdb\x67\xc9\x3e\x93\xda\
+\x07\xd0\x6e\xc3\x51\x14\x45\x3e\x99\x91\x95\x52\x44\x51\x44\x9a\
+\xa6\x7c\xf4\xd1\x47\x4c\x4d\x4d\x31\x37\x37\x47\x18\x86\xb6\x2b\
+\x72\x37\x14\xe1\xc5\xec\x04\x94\xdb\x61\x89\x09\xc9\x73\x92\x24\
+\xb1\x4d\xcb\xe5\xcb\x97\x51\x4a\xb1\xb4\xb4\x34\xd6\xf0\x4c\x2a\
+\xcc\x32\xe0\x02\x30\xc6\x68\xb7\xad\x93\x1f\xcb\x1c\xc8\xf7\x7d\
+\xba\xdd\x2e\xdd\x6e\x97\x66\xb3\x49\xab\xd5\xb2\x9d\x93\xdb\x17\
+\xbb\x5a\x73\x27\x0f\x22\xbc\x5c\x13\x65\x19\x63\xe8\x76\xbb\xcc\
+\xce\xce\x72\xfa\xf4\x69\xcb\x52\xa7\xd3\xb1\x53\x3c\x29\xcf\x0f\
+\x64\x40\x7c\xc0\xd5\x9e\x8b\x5c\xc2\x98\x34\x30\x9d\x4e\x87\x5e\
+\xaf\x47\xa3\xd1\xa0\x52\xa9\x8c\x99\x83\xf4\x14\x6e\xdb\xe8\xce\
+\x4b\xc5\xae\x05\x94\x94\x2f\x71\x1c\x5b\xc1\x44\x78\xb7\xbc\xdf\
+\x17\x80\x5b\x63\xe4\x79\x6e\x64\xbc\x21\x03\xa8\xd1\xf5\xb1\xb2\
+\x56\xd8\x28\x8a\x82\x9d\x9d\x1d\x60\xd8\xd4\x48\xb8\x95\xfb\x45\
+\x19\x72\xaf\x3b\x53\x72\x47\x8f\x2e\x43\x6e\x1b\x29\x32\x48\x03\
+\xb4\x2f\x80\x09\x27\xf6\x25\x14\x4e\x9a\x90\x2c\xe9\xd6\xa4\xaf\
+\x95\x7c\x30\x18\x0c\x78\xe4\x91\x47\x68\xb7\xdb\x63\x6d\xa1\x44\
+\xa6\x46\xa3\x41\xab\xd5\xe2\xc2\x85\x0b\xd6\xee\x5d\x9f\x70\x27\
+\xd8\x6e\xef\x0c\xc3\x98\x3f\xc9\x80\xac\x3d\xc5\x9c\xeb\x78\x6e\
+\xf4\xf0\x7d\xdf\xf6\xc2\xee\x70\x4b\x42\xdc\xd6\xd6\x16\x8d\x46\
+\x83\x6b\xd7\xae\xb1\xbe\xbe\x6e\x41\xe7\x79\xce\xe2\xe2\x22\x4f\
+\x3d\xf5\x14\x1f\x7c\xf0\xc1\x58\xbe\x70\xcd\xc7\x9d\x8b\xba\x3d\
+\xb1\x34\xfc\x93\x89\xd3\x66\x62\x37\x91\x15\x45\x61\x64\x63\x99\
+\x1a\xbb\x61\x4e\x26\x10\x62\xe3\xee\xf0\x37\xcf\x73\x1e\x7f\xfc\
+\x71\xaa\xd5\x2a\x8b\x8b\x8b\x7b\x34\x75\xe1\xc2\x05\xce\x9e\x3d\
+\x6b\x27\x70\x92\xd0\x26\x4d\xc9\x65\x5f\x0e\x61\xfd\x73\x7d\x60\
+\x04\xc0\x73\x43\x9e\xfb\x82\x42\x26\x0d\x22\xb4\x38\xb3\xcb\xc4\
+\xe5\xcb\x97\x59\x5e\x5e\xb6\xf9\x43\xfc\xa0\x52\xa9\xd0\xe9\x74\
+\x78\xf0\xc1\x07\x49\x92\x64\x6c\xee\x79\x90\x1f\xb8\x73\x26\x71\
+\xf8\x7d\x4d\x48\xe6\x42\x23\x44\x81\x4b\x9f\x4c\x0e\x46\x53\x6b\
+\x6b\x8b\xee\x78\x51\x3e\xe7\x79\xce\x7d\xf7\xdd\xc7\xab\xaf\xbe\
+\x4a\xbd\x5e\xb7\x42\x8a\xa6\x1f\x78\xe0\x01\xe6\xe6\xe6\xc6\x1c\
+\x74\x32\xac\xba\x40\xc4\x4f\xe4\xb9\x93\x4e\x2c\xc1\x43\xb7\x5a\
+\x2d\x00\xb1\xe5\x6a\xad\x56\xb3\xce\x23\x60\xc4\xfe\x25\x7a\xb8\
+\xc3\x28\xb1\xcd\x3c\xcf\x39\x77\xee\x1c\xcf\x3c\xf3\x0c\x9f\xb7\
+\x5e\x7c\xf1\x45\xeb\x47\x93\xaf\x9f\x5c\x10\x62\xb6\x87\x0e\x1d\
+\xb2\x75\x97\xbb\xee\xba\xeb\x2e\x00\xd4\x4b\x2f\xbd\x04\x0c\x43\
+\x5d\xb5\x5a\xfd\xc6\x63\x8f\x3d\xf6\x1a\xe0\x3d\xf9\xe4\x93\xfe\
+\xca\xca\x0a\xbd\x5e\xcf\x3a\xaf\x80\x70\x9d\x57\x00\x48\x76\x15\
+\xd3\x10\xfa\xdd\x10\xea\x79\x1e\xd5\x6a\xd5\x32\xb6\x1f\x00\xd7\
+\x02\xe2\x38\xe6\x85\x17\x5e\x00\x60\x76\x76\xf6\xa7\x1b\x1b\x1b\
+\x0f\x0a\x80\xe7\x9f\x7f\x7e\xc8\x80\xd0\x3c\x5a\xff\xce\xb0\x91\
+\xe2\xc8\x91\x23\xa5\xbc\x41\x14\xc1\xdd\x49\xb3\x0b\x04\xb0\xe5\
+\xb6\xfb\xce\x40\x80\x8b\xfd\x4a\x00\x90\x84\x35\x69\x4e\x2e\x80\
+\x24\x49\x68\xb7\xdb\x94\x65\xa9\x94\x52\x6c\x6c\x6c\x8c\x31\xf0\
+\xf4\xd3\x4f\x0f\x01\xc8\x05\x77\xc0\x7a\xf1\xe2\x45\x06\x83\x81\
+\x0d\x87\x42\xb7\x2b\xb4\x94\xd2\x07\xbc\xa6\xb5\x80\xa4\x32\xdd\
+\xef\x2d\x8c\x9b\xa5\x27\xcd\x28\x49\x12\x6e\xdd\xba\x65\x65\x3b\
+\x68\x69\x89\xd7\xe2\xa8\xe7\xce\x9d\xe3\xad\xb7\xde\x22\xcf\x73\
+\x8e\x1d\x3b\x66\x9d\x6c\x72\x80\xeb\x9a\xcf\x41\x23\x0f\x11\xd6\
+\xad\x50\x27\x07\xbd\x6e\x4d\xe4\x26\x32\xf9\xfc\xab\x96\x7e\xe3\
+\x8d\x37\xc6\xb4\x36\xf9\xf2\x22\x08\x02\x6b\x0a\xee\x60\x57\x84\
+\x92\xb9\x8d\x98\x98\xcb\x82\x84\x5d\x37\xa3\xbb\xe6\x24\x4d\x4a\
+\x9e\xe7\x76\x9c\x2f\x67\x61\x0d\xe0\xd9\x67\x9f\xe5\xfc\xf9\xf3\
+\xfb\x03\x58\x59\x59\xd9\x73\xd1\xf7\x7d\xc2\x30\xe4\xc6\x8d\x1b\
+\xf4\x7a\x3d\x3a\x9d\x8e\xed\xa0\x26\x05\x14\x66\xdc\xc6\xc8\x7d\
+\x5f\xe6\x8e\xcb\xc5\x1f\x64\x4c\x3f\x39\x8f\x95\xca\x56\xf6\x93\
+\x77\x17\xaf\xbf\xfe\x3a\x77\xdf\x7d\x37\xef\xbe\xfb\xee\x5e\x00\
+\x93\xe1\xc9\x79\x1f\xa0\xce\x9f\x3f\xef\x03\xdf\x04\xce\x54\xab\
+\x55\xa5\xb5\xf6\xc2\x30\x8c\x9a\xcd\xa6\xae\xd7\xeb\xe5\xd1\xa3\
+\x47\xe3\x56\xab\x95\x47\x51\x14\x46\x51\xa4\xb4\xd6\xd5\x4a\xa5\
+\xa2\xc2\x30\xf4\x95\x52\x25\xa0\x7d\xdf\x2f\x47\xc2\x7a\x45\x51\
+\x94\x4a\xa9\x34\x4d\xd3\x74\x67\x67\xa7\xd1\x6e\xb7\x75\x1c\xc7\
+\xc5\x60\x30\xc8\x8d\x31\x79\xaf\xd7\xcb\xfa\xfd\xbe\x77\xeb\xd6\
+\x2d\xca\xb2\xbc\xf2\xca\x2b\xaf\xbc\xbc\xb2\xb2\xf2\xf9\x63\x95\
+\xc9\x0b\x36\x45\x0f\x7d\xa3\x00\x7e\x0c\xfc\x58\x12\x1e\xc3\x28\
+\x75\x64\x74\x4c\x03\x47\x47\xe7\xa9\xd1\x51\x03\xaa\xa3\x73\x00\
+\xa8\xd1\x61\x46\xfb\xc9\x78\x6f\x13\xd8\x76\x8e\x5b\xc0\xed\xd1\
+\x79\x93\xe1\xd8\x88\x2b\x57\xf6\xfd\x3f\x8f\x83\x01\xb8\x4c\x4c\
+\x82\x1a\x09\x55\x41\xe6\x86\x20\xaf\x4d\xda\xce\x77\xd1\xe8\xac\
+\x19\x8e\x8a\xa4\x88\x91\x99\x64\x0e\xa4\xa3\xa3\x07\x0c\x46\x47\
+\xcc\x70\x62\x13\x00\x8d\x11\xd0\x83\x26\x37\x76\xfd\x2f\x2b\x41\
+\x07\x20\x56\x8c\x01\xf4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x1c\x16\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x60\x00\x00\x00\x31\x08\x06\x00\x00\x00\x25\x4a\xac\x6a\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x0a\
+\x0f\x00\x06\xfb\x27\x10\x8b\x00\x00\x00\x19\x74\x45\x58\x74\x43\
+\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\x64\x20\x77\
+\x69\x74\x68\x20\x47\x49\x4d\x50\x57\x81\x0e\x17\x00\x00\x1b\x71\
+\x49\x44\x41\x54\x78\xda\xed\x9c\x79\x90\x65\x57\x7d\xdf\x3f\xbf\
+\x73\xee\xbd\xef\xbe\xf7\xba\x5f\x2f\xd3\x3d\x5b\x8f\x66\x34\x8b\
+\xa4\x91\x2c\x84\x34\x83\x04\x12\x42\x12\x10\x16\x63\x01\x0e\xc4\
+\x6c\x31\x86\x0a\xc1\xd8\x29\xe2\x32\x45\x25\x55\xa4\x52\xb6\x0b\
+\x30\x14\x0e\x4e\x25\xf9\xc3\x31\x81\x54\x88\x1d\x13\x43\x8c\x21\
+\x2c\x42\x82\x20\x21\xc1\x20\x21\xb4\x61\x21\x90\x66\x46\xb3\x48\
+\x9a\xb5\x7b\x66\x7a\x79\xeb\xbd\xf7\x9c\x5f\xfe\x38\xb7\x5f\x77\
+\xcf\x74\xcf\xf4\x80\x2c\xe7\x8f\xbc\xa9\x57\xdd\xd3\x7d\xdf\xd9\
+\x7e\xfb\xf7\xfb\x3b\x2d\xaa\xaa\xfc\xff\xd7\x3f\xd8\x2b\xba\xa8\
+\xa7\x55\x51\x3c\x22\x0a\xce\x81\x58\x54\x23\xc4\x2e\xf7\xa8\x42\
+\x11\xbe\x17\x2b\xa8\x78\xbc\x77\x58\x0c\x8a\x45\xac\x02\x0a\x4e\
+\xc1\x08\xf8\x1c\xb5\x31\xe2\x0d\x2a\x19\xd0\x43\xa4\x0a\x6a\x50\
+\xed\x21\x26\x06\x22\xd4\x81\x18\x8f\x52\xe0\xbd\x45\x4d\x8e\x10\
+\x63\xbc\x45\x04\x54\x32\x44\x0c\x9a\x5b\x30\x39\x98\x1e\x48\x0c\
+\x5a\x99\x5f\x19\x39\x8e\x18\x0b\xde\x84\x1f\x99\xb0\x16\x41\xca\
+\x05\x2b\x50\xfe\x0e\x5f\x7e\x35\xe5\xf7\x1e\xd4\x82\xf7\x60\x65\
+\xd1\x73\xbf\xd8\x4b\x56\x6b\x01\xaa\x8a\xa8\xa0\xe2\xf0\x78\x2c\
+\x16\xe4\x02\x93\x7b\x50\xa7\x48\xa4\xa8\x84\xf3\xc6\x1b\xc4\xf8\
+\x95\x3f\xeb\xc1\x89\xc3\x69\x46\x62\xaa\xe7\x59\xcf\x1c\x50\x29\
+\x37\x91\xa0\x4e\xf1\x06\xac\xd5\x15\x0f\xc5\x69\x18\xd7\x6a\x82\
+\xaa\x62\x25\x42\x4c\xd8\xbe\xc3\x63\x65\xe1\x40\x15\xc8\x73\x4f\
+\x27\xcb\x10\x6b\x88\x4c\x44\x25\x11\xec\xbc\x90\x00\xa5\x40\x2e\
+\x52\x87\x7f\x61\x01\xe0\x01\xf1\xa0\x1e\x4c\xc4\xb1\xc9\x59\xbe\
+\x74\xe7\x8f\xc2\x20\xa4\x00\xa4\x15\x43\xb7\xe7\x69\x75\xdb\x6c\
+\x9d\x18\xe1\x8d\xb7\x5d\x4b\xbd\x96\xa0\x74\x41\x0d\x42\x5c\xce\
+\x2a\xdc\xf7\xf0\x3e\xf6\x3c\x72\x80\x7a\x5a\xa3\x6e\x13\xa6\xda\
+\x39\xdb\x36\x35\xf8\x8d\xd7\x5f\xd3\x17\xf8\xf7\x1f\xd9\xcf\x0f\
+\xee\x7f\x8a\xfa\x50\xa5\xbf\x8c\x76\xd7\xf3\x92\x5f\xd9\xcc\xad\
+\xd7\x6f\x25\x89\x2b\x38\xf5\x58\x0c\xa8\xa0\x06\xf6\x4d\xce\xf2\
+\xe5\xaf\xde\x4f\x3d\xad\x61\xa2\x94\x9e\x2b\x98\x6b\x76\xd9\xb2\
+\x76\x80\x7f\xfc\xaa\xcb\x19\x1e\xae\x53\x14\x84\xc3\x97\xa0\x20\
+\xc4\xe1\xc4\x9f\x9b\x6b\xb3\xe7\x07\x4f\x70\xf0\xc8\x19\x4e\x9f\
+\x9c\xe3\xc4\x99\x39\x7a\x59\x42\x25\xc9\x50\x5b\x63\x7d\xc3\x32\
+\x32\x94\x32\x30\x34\xc4\x4d\xd7\xef\x60\xf7\x15\xeb\x10\x31\x2f\
+\x90\x0b\x12\x05\xaf\x38\xa3\x58\xe0\xc8\xa9\x16\xff\xe5\xcf\xef\
+\x66\x26\x1d\x62\xb0\x32\xb0\xe4\xd1\xb9\x5e\x13\x80\x1d\xdb\x2e\
+\xe1\x25\x3b\x37\x94\x67\x6e\x82\x5a\x95\x0a\x74\xd7\x03\x4f\xf3\
+\xef\x3f\x77\x27\x6b\x46\xd7\x33\x60\x3b\x9c\x3a\x5e\xf0\xfa\x5f\
+\xbd\x26\x08\x40\x15\x11\x61\xcf\x23\x07\xf8\xc3\xff\x70\x27\x97\
+\x5f\xbd\x8d\xac\xe7\x00\x38\xb4\xef\x30\x1f\xfa\xc0\xaf\x72\xd3\
+\xb5\xdb\x49\xac\x60\xc4\x80\x08\x3e\xcf\x30\x49\xc2\xdc\xe9\xd3\
+\x7c\xf4\xcf\xbe\xc5\x9a\xd1\xf5\x54\x13\x4b\x52\xb1\x1c\x3c\x72\
+\x86\x9b\xb7\x8d\xf1\x8a\xeb\xb7\x32\x3c\x1c\x11\x59\x05\x05\x55\
+\x20\x16\x66\x5b\x5d\xfe\xec\x0b\xf7\xf2\xf5\xbb\x9f\x66\x72\xba\
+\xd5\xdf\x47\x52\x59\xec\x5b\xcf\x90\xf5\x1c\x49\xc5\x72\xf2\xc0\
+\x29\x5e\x75\xdb\x55\x7c\xfe\xdf\xfd\x06\xd5\x4a\xf2\x42\x09\x40\
+\x40\x14\x43\x30\x98\x5a\x12\x31\xb8\x71\x94\xa1\x81\x06\x43\xd1\
+\xd9\xc3\x54\xd9\xff\xdc\x69\xbe\x71\xc7\x63\xec\xbe\x62\x3d\x60\
+\xf0\xb9\x47\x6c\x04\xd6\x23\x08\x6b\x1b\x96\x6d\x5b\x36\x33\x3e\
+\x36\x46\x44\x4e\xdc\xe8\x32\x32\x56\x2b\xe7\x0a\x5f\xc6\xab\x29\
+\xc3\xeb\x36\xb2\x69\xe3\x16\x0a\x9d\x41\x72\xa5\x93\x39\x46\x86\
+\x23\x8c\x0d\x16\xe9\xbd\x60\x2d\x65\x1c\xf2\xc4\xb6\xc2\xb6\x2d\
+\x9b\xa9\xd7\xd6\x30\x38\xe4\xfa\x2b\x1a\x59\x37\x46\xba\xe8\x3c\
+\xd5\x29\x12\x0b\x87\x8e\xcd\xf2\x91\x8f\xfd\x4f\xee\x7e\xf4\x19\
+\xd6\x4e\x6c\x64\x62\x62\x1d\x03\xb1\xa7\x9b\x3b\x34\x96\x73\x8e\
+\x61\x20\x89\xf1\x59\x42\x52\x8d\x5e\xd8\x20\xac\x00\xc6\x30\x1f\
+\x59\x63\x01\x13\xd5\x29\x7a\x29\x44\x45\xff\xb9\xac\xe8\x91\x44\
+\x15\xc6\x87\xeb\xdc\x79\xff\x4f\x79\xdb\xaf\xbf\x84\xab\xb6\x8d\
+\xa3\x64\xe0\x35\x04\xbc\x72\x5f\xf3\x5a\x1d\x0b\xd4\xa5\x4d\xda\
+\xf7\xdd\x0a\x38\xc4\xa4\x54\x52\x43\x2f\x6b\x11\x95\x82\xaf\x26\
+\x96\x9e\x4b\xfa\x82\x32\x56\x16\xe2\x24\xc1\x57\x03\x44\xda\x62\
+\xa0\x07\x93\x1a\x4e\xbd\x92\x64\x0b\xb1\xc0\x7b\x6c\x64\x68\xb5\
+\xdb\x7c\xfc\xd3\x5f\xe4\xee\x47\x9f\xe1\xda\xeb\x76\x11\xeb\x1c\
+\xdd\x3c\xa7\x9b\x43\xdb\x15\xd0\x72\xcc\xe5\x4b\x3d\x74\x67\x30\
+\x07\x60\x7d\xc3\x12\x5b\xf3\x4b\x0b\xe0\xe2\x46\x50\x10\x17\x4e\
+\x2f\x57\xf0\x45\x8b\x48\x5b\xe4\x1a\xfe\x3f\x53\x14\x38\x3b\x40\
+\x16\x09\xa4\x96\x53\x4d\xf8\xd2\x57\x1f\x0a\x13\x59\xbb\x24\xa7\
+\x88\x7a\x0b\x53\xe7\x0a\x79\xf7\x6c\x53\xb6\xb8\x52\xb0\x03\xb1\
+\x27\x16\x88\x4c\x4a\x24\x67\x07\xe6\x02\x67\x14\xcf\x82\x7a\xa7\
+\xce\x52\x8f\xea\x64\xb6\x42\x23\x1e\xc0\x44\x15\x7a\xd9\xc2\xf8\
+\xc6\x04\x8b\xbe\xe3\xbe\xfd\x7c\xfb\xde\x27\x78\xd9\x0d\x3b\xe9\
+\x65\x2d\x5c\x76\x1a\x75\x3d\xda\xad\x1e\xbd\xa9\x2e\xd5\x14\xae\
+\xda\x38\xcc\xb5\xdb\xc7\xb8\x6a\xe3\x30\xeb\x86\x53\xe8\x3a\xa6\
+\x9e\x3b\xf6\x0f\x94\x86\x0a\x60\x16\x6d\x24\xaa\x43\x6a\x51\xd7\
+\x43\x6c\x85\x2a\x0e\x07\x48\xae\x54\xd3\x98\xb4\x5e\xe3\xdb\x3f\
+\x3e\xc8\x6f\x3e\x3b\xc5\x8e\x4b\xc6\x10\xe3\xb1\x65\xce\xea\xce\
+\xf2\x9d\x5d\xeb\xe8\x2e\x49\xf9\xa0\x5b\x2e\xcf\x15\xc1\x52\x0a\
+\xdf\xa5\xd0\x0e\x15\x9b\x95\x81\xba\x28\xdd\x09\x78\x93\x63\x09\
+\xc2\x99\x2d\x32\x2a\x51\x97\x9a\x46\xc4\x74\xf1\x45\x8f\xae\xf8\
+\xa5\xf3\xb9\x9c\xaf\x3f\xf0\x33\x2a\xe3\x13\x34\xb3\x1c\xeb\xba\
+\x64\xe9\x30\x9d\xe9\x2e\xe3\x55\x78\xe7\xbb\x6f\xe4\x65\x57\x6e\
+\x64\x78\x64\x90\x8a\xa9\xd0\xcc\x73\x8e\x9d\x69\x72\xe2\xe4\x34\
+\xdf\xbe\xe7\x09\x36\x6d\x1e\x42\x44\x5e\x60\x01\x2c\xf7\xea\x3a\
+\xa4\x5e\x21\x32\x29\x05\x90\xb9\x0e\xd5\x28\x22\xcf\x95\xc1\xc1\
+\x88\xc9\xe3\xb3\x7c\xe9\x7f\x3f\xc0\xbf\xf9\xe0\xed\x21\x47\xa7\
+\xb2\xe0\xe4\x2f\xe2\xb5\xd8\x13\x18\xa9\x2f\xa4\x9f\x0a\x62\x1d\
+\xa6\x1c\xb3\xf0\x0b\xee\x30\x96\x95\xc2\x99\xa5\xd9\xf5\xec\x7d\
+\xe2\x59\x46\x46\xd6\x02\x0e\x67\x07\x68\xcf\x28\xae\x99\xf3\xce\
+\x77\xdf\xc8\x3b\xde\x70\x43\x69\xaf\xa6\x8c\x6a\x11\xe3\x6b\x06\
+\x61\xc7\x06\x5e\x73\xd3\x95\xcc\x74\xe6\x30\x46\x5e\x60\x17\xb4\
+\x92\x14\x4d\x4a\xd7\x07\x2d\xf5\xcd\x59\xb2\xa2\x47\x64\x52\x6a\
+\x36\xa2\x11\x25\xdc\xf3\xa3\x53\xec\x7f\x76\x0a\x21\x29\x53\x8f\
+\x55\x47\x9d\xa5\x3f\x29\x4f\xd4\x6b\x99\xa9\x18\x8f\xe0\xb0\xf3\
+\x35\x11\x10\x99\x30\xe7\xd9\x42\x3b\x47\x08\x2e\xc3\x34\x33\x6a\
+\x35\xc1\xe5\x11\x11\x39\x91\xb6\xa8\x14\x4d\xd6\x0c\x0f\x96\x2b\
+\xc8\x50\xdf\xc1\x39\x87\xfa\x1c\xf5\x1d\x34\x57\xf0\x30\x54\x1d\
+\x7c\x5e\x5c\xd0\xf3\x22\x00\xd1\x2e\xa9\xb1\xb4\x5b\x3d\x6e\xb8\
+\x61\x67\x70\x1b\x9d\x82\x58\xa0\x32\x96\x72\x68\xea\x24\x5f\xbe\
+\xeb\x49\x94\x90\x32\xae\xde\xdf\x95\xd1\x20\xb2\x68\x2c\x48\xae\
+\x58\xd7\xa4\x96\x9a\x32\xfd\x33\x60\x2d\x58\xdb\xaf\x45\x1a\xa9\
+\x50\x29\x9a\xd0\x75\x2b\x5a\x00\x80\xda\x04\x3f\x90\xd0\x6e\x2f\
+\x48\xa9\x9a\x42\x2f\x1a\xe0\x73\x7f\xfd\x08\x0f\x3d\x7e\x10\xa8\
+\x20\xa6\x8a\xb5\x16\x31\x55\xc4\xc4\xa1\x0a\x77\x8a\xba\x6c\x59\
+\x25\xf9\x7b\x73\x41\x17\x3a\xb6\xc8\xe6\xcc\x74\xba\xbc\xe5\x2d\
+\x2f\x66\xba\xd5\xe2\xee\xef\x1f\x62\xf7\xd5\x13\x54\xb3\xf0\xc9\
+\xef\x3c\xf0\x14\xff\xf4\x0d\x3b\xd9\xb4\x71\x6c\x79\x4d\x88\x2a\
+\x2b\x5a\x80\x2b\x5c\x40\x07\x80\xb8\xb1\x96\x93\xb3\x8e\xfb\x1e\
+\xde\x47\x64\xc2\x67\xba\x3d\x4f\x5a\x09\xba\x74\xe4\xc4\x34\x7e\
+\x20\xc1\xa4\xf6\xbc\x55\xe5\x40\x0a\x97\x6f\x19\xe3\xfe\x27\x4e\
+\x32\x38\xb4\x06\xed\x86\x38\x36\xbe\x61\x88\xfd\x07\xa7\xf8\xe0\
+\x47\xff\x86\x5b\x6e\xb8\x8a\x9b\x6e\xd8\xc6\xa6\xd1\x94\xeb\xae\
+\xde\x84\x95\x18\x6c\x80\x2e\x42\xe5\x6c\xfe\x1f\x88\x01\xa9\x25\
+\xd7\xb0\xae\x99\xb9\x8c\xc1\x74\x84\x5b\xaf\xdb\xca\x5d\x77\x3d\
+\x4e\xab\x95\x31\x50\x4f\x18\x5f\xdf\xe0\xc9\x83\x93\xdc\xf1\x83\
+\xa7\xf8\xed\xb7\x05\x01\xd8\x5e\xd6\xcf\x68\x62\x01\x5f\xf4\xce\
+\x2b\x72\x75\x21\xbd\x9d\x18\x1d\xe6\x81\x87\x0e\xf0\xdd\xef\x3d\
+\xbe\x34\x19\x20\x64\x65\x0d\x93\x30\x30\x34\x8a\xc6\x42\x9e\xeb\
+\xb2\x56\xe0\xd4\x91\xda\x98\x57\xde\x74\x35\x77\xed\xf9\x2a\x55\
+\xc6\x69\xda\x01\xac\x6b\x22\x02\x6b\xd7\x0f\xf0\xcc\xe4\x0c\x5f\
+\xb9\xfb\x67\x7c\xfd\x9e\x83\x8c\x0c\x19\x76\x6d\x1b\x63\xf7\xee\
+\xad\xbc\xf6\xb6\x6b\x99\x18\x8d\xb1\xf3\xee\x54\x3c\xaa\x82\xaa\
+\x20\x06\x44\x35\xd4\x9b\xab\xb4\xf4\x55\x8b\x50\x2f\x60\x70\x85\
+\x8b\x19\xb0\x1d\x7a\x27\xcf\xf0\xba\xeb\xb7\xb3\xfd\xd2\x09\x0e\
+\x1f\x39\x4d\xd6\xce\xfa\x85\xda\x37\xf7\x1c\x60\xf2\xd4\xdc\x92\
+\xcf\xc5\x3d\x3d\xaf\xaf\xee\x57\xa5\x51\xa5\xef\xee\x3a\xdd\xf0\
+\xb3\x96\xd6\xfa\x07\x3f\x97\x2b\x26\xaa\xd3\x34\x71\x38\xf4\x6e\
+\x77\xe5\xbd\x38\x41\x81\xdb\x6f\xdd\xc9\x4b\x77\xaf\xe7\xc7\x8f\
+\xed\xa3\x92\xd4\x89\xe3\x21\xb2\xa2\x47\x56\xf4\xd8\xba\x61\x94\
+\xf1\xf5\x0d\x46\x86\x0c\x73\xb9\x72\xd7\x23\x87\xf9\xf4\x5f\x7c\
+\x9f\xdf\xfa\xf0\x67\xf9\xeb\x3b\x1e\x44\x30\x25\x28\x99\x23\x68\
+\x00\x1f\x55\xf1\x2a\x17\x95\x1d\x3d\x2f\x31\x60\x3e\x38\x4a\x34\
+\x4e\xab\xd3\x62\xd3\x86\x35\xbc\xf1\x55\xdb\x99\x9e\xcd\x83\x75\
+\x44\x96\xcd\x9b\x47\x78\xf8\xa7\x47\xf8\xde\x8f\x0f\x06\x81\x55\
+\x3c\x85\x76\xb0\xd5\x08\x75\xbd\x65\x5c\xd0\xb9\x59\x50\xae\xa0\
+\x92\x52\x8f\xea\x98\xa8\xce\xfa\xea\x00\x66\xa0\x81\x19\x68\x84\
+\xc0\x99\x5a\x48\x2d\x59\x24\x88\xad\x9c\xa7\xa8\x17\xbc\x53\xc6\
+\xd7\x0c\xf2\xa7\x1f\x7e\x07\xbb\xae\x5a\xc3\x63\x8f\x3e\xc2\x91\
+\xd3\xd3\x38\x3b\x40\x1c\x0f\x01\x30\x14\x45\x0c\xd5\xba\x6c\x1a\
+\x49\x99\x98\x58\x47\xbd\xb6\x86\xe3\x67\xba\x7c\xec\x8f\xbf\xc2\
+\xe7\xfe\xc7\xbd\x01\x15\x35\x71\x59\x10\x82\xaa\xac\x90\x3e\xfc\
+\x3d\x0b\x60\x5e\xdb\xe6\x7a\x4d\xac\xa9\x82\x08\x6f\x7e\xf5\x2e\
+\xb6\x6f\x8c\x39\x31\xdd\xa5\x83\xa7\x9a\x06\x20\xee\x6b\xf7\xfc\
+\x9c\xd9\x6e\x46\xbb\xeb\xfb\xb9\x7d\xb2\xec\xe1\xeb\x92\x20\x1c\
+\x4a\xae\x98\xae\x77\xb4\x8a\x16\x33\x9d\x2e\xcf\x9e\x38\xc0\xe4\
+\xf1\x59\xce\x9c\xc8\x39\x71\x74\x96\xc9\xe3\xb3\xf8\xe6\x2c\x73\
+\x33\x96\xc8\xa4\x2b\x2e\xd7\x02\x96\x10\x44\x2f\xdb\x3a\xce\x67\
+\x3f\xf1\x5e\x7e\xff\x9f\xdd\x42\x5d\xda\xec\x3f\x78\x94\xa7\x9f\
+\x3d\xca\xe1\xc9\x16\x2a\x29\x36\x19\x25\x2b\x7a\x0c\xc4\x9e\x5a\
+\x4d\x58\xbf\x61\x18\xc6\xc7\xf9\xd4\x5f\x3d\xc8\xdd\x3f\x3a\x0c\
+\x62\x70\xea\x42\x89\x24\x5a\xa2\xab\xfa\xc2\x06\x61\xb1\x15\x0a\
+\xbf\xd4\xe4\x77\x6c\x1d\xe6\x5d\x6f\x7a\x19\x7f\xf2\xf9\x3d\xac\
+\x1d\x0f\xbe\x7e\xe7\xd6\x71\xee\x79\xe8\x20\x8f\x3d\x71\x98\xad\
+\x13\x23\x8b\x62\xe2\x0c\x8b\xd2\xf7\x73\x66\x74\x45\x99\xd1\x68\
+\xce\xb1\xa9\x19\x5e\xfd\xf2\xcb\xf8\xf5\x57\xbc\x88\x28\xce\x29\
+\xf2\x78\x21\x1c\x55\x0c\x47\x4e\x4c\xf3\xa7\xff\xf5\x2e\x66\xf3\
+\x06\x35\xbb\xfc\xf6\x0a\x55\x22\x89\x50\x97\x83\x89\x98\x58\x37\
+\xca\x87\xdf\xfb\x1a\xde\xfd\xa6\xeb\xb9\xff\xd1\xe7\xb8\xf7\xfb\
+\x4f\xf2\xc8\x81\x29\x7e\xfa\xf4\xb3\x0c\x0d\x26\x6c\x1e\x1f\xa2\
+\x9b\x3b\x22\x1c\x45\x1e\xb3\x69\xe3\x16\x9e\x78\x6a\x1f\x5f\xfe\
+\x3f\x0f\x73\xf3\xee\xcd\xc4\x91\x01\xef\x50\x8d\x4a\xa8\x45\x57\
+\x5d\xeb\x44\x5a\x96\x92\x22\x76\x55\x59\xf9\x39\xee\xad\xeb\xd0\
+\xd4\xf5\xb5\xd8\xf9\x4e\xf0\xd9\x62\xb9\xed\xc6\x1d\x7c\xe1\x6b\
+\x0f\x70\x72\xb2\xc3\xba\xe1\x94\x34\x0e\x73\xdc\xff\xe8\x09\x36\
+\xac\x6b\x90\xd6\x83\x0f\xcf\x7c\x0a\x74\x17\x61\x41\x2b\xf9\xee\
+\x1e\xae\x3d\xc3\x86\xe1\x84\x1b\xaf\xdb\x18\x52\xd1\xc5\x75\x85\
+\x08\xfb\x0e\x56\x31\xcd\x0c\x22\x07\xf5\x68\x05\x85\x29\xf1\x23\
+\x1f\x97\x80\x92\x27\x89\x85\x4d\xeb\x1a\xbc\xf5\xb5\xd7\x70\xfb\
+\x2b\x77\x72\xe4\xe4\x2c\x8f\x3e\x71\x94\xbf\xfc\xc6\xbd\xec\xdd\
+\xfb\x0c\x9b\x36\x6f\x0e\xd6\xe3\x9a\xc4\xea\x19\x19\x19\xe4\xd1\
+\x27\x4e\x70\x74\xaa\xc9\xa5\x1b\x1a\xa0\xc5\x22\x32\xc7\xaf\xda\
+\xb9\x98\xe7\xc3\x13\x89\xad\xf4\xdd\x44\x9e\x49\x5f\x83\x5f\xb4\
+\x7d\x3d\xef\x7a\xd3\xcb\x38\x7e\x6c\x86\x34\xb6\xb8\xc2\x71\xc5\
+\xe6\x06\xdf\xbb\xff\x41\x7e\xf4\x93\x7d\x54\x93\x01\x0a\x62\xaa\
+\x69\xad\x84\x1e\xfc\xca\x41\xbe\x1b\x61\x8a\xfa\x59\xa4\x4c\x86\
+\xc3\x83\x2e\x68\x45\xc7\x15\xcc\x54\xaa\x90\xda\x95\xeb\x00\x31\
+\x78\xb1\x25\x13\xa7\xa8\x1a\x9c\x03\x7c\x84\x8a\x23\xad\x78\x76\
+\x5c\x32\xca\x3f\x79\xdd\x8b\xf8\xcc\x1f\xbe\x87\x1b\x6e\xba\x92\
+\x63\x53\x33\xfd\xf1\x5c\xe1\x18\x1c\x8c\x60\xfa\x0c\xb3\xad\x16\
+\x7d\x3c\x64\xde\xa0\x2f\x82\xe5\x7d\x1e\x8a\xe9\x72\xe3\x78\xaa\
+\x89\x3d\x27\xd8\xbd\xe6\xc6\x4b\xb8\x6e\x53\x9d\xc3\x93\xad\x7e\
+\x70\xcc\x7c\xca\x93\x4f\x9f\xa0\x51\x2b\x88\xc8\xe9\xe6\xee\xbc\
+\x63\x67\x91\xa0\x95\x02\xad\x04\xb0\x6f\x61\xfc\x24\x50\x9c\xc6\
+\xf7\x0f\x60\x1e\x0d\x3d\x3b\x7e\x2c\xd5\x3a\x87\xd1\x1e\x62\x02\
+\x24\x2d\x92\x61\x75\x0e\x15\x2d\x99\xba\x14\xe7\x04\x8f\x67\xc3\
+\x78\x83\xdf\x7b\xeb\x4b\x19\x8c\x1d\xa7\x5a\x51\x3f\x40\x57\x59\
+\xba\x66\x2d\x4f\xd2\x3b\x45\x71\xab\x17\x40\x20\xc4\xfc\xaa\x62\
+\x80\x5c\x54\x88\x0f\x0f\x5e\xb9\xe3\x52\x5e\xf9\x8f\x76\x72\xe6\
+\xcc\x1c\x2e\x8f\x42\x45\x6b\x2b\xcf\x1f\xab\x5d\xfa\x44\x5d\x26\
+\xf5\x53\x49\xfb\x40\xde\x39\x61\xd8\xc6\x9c\x9a\x6b\x73\xe8\xd8\
+\x2c\xce\x19\x88\x06\x11\x09\x94\xa3\x50\x16\xd8\xa5\x5b\x6e\x67\
+\xc1\xbd\x74\xb2\xe6\x82\xc2\x75\x81\xe1\x11\x6a\x95\x92\x4e\x2b\
+\xc1\x3e\x63\x04\x2b\xab\x2f\xaf\x4c\x30\x65\xfb\x4b\x9d\x41\x7c\
+\x01\x33\x7a\xed\x2d\x57\xb0\x79\x6d\x83\xb9\x13\x67\xa8\x96\xee\
+\xee\x6c\x21\x9c\x2f\x0d\x4d\x0a\x3d\x6f\xa3\x40\x50\x10\x59\x16\
+\x22\x59\x81\x87\x05\x0c\x8f\xfc\xf4\x19\x3e\xf0\x2f\xfe\x23\xff\
+\xfd\x9b\x0f\xb3\xff\xd9\x53\x1c\x9b\x9c\xe5\xd4\x6c\x8b\x99\x56\
+\x97\x56\x3b\x67\xf2\xd4\x1c\xfb\x9f\x9d\xe2\x73\x5f\x7f\x98\xb9\
+\xdc\x32\x38\x18\xf5\xc7\x3c\x33\xe3\x19\x1d\xae\x31\x32\x54\x0d\
+\x02\x50\x53\x66\x40\x17\x47\xd4\x47\x22\x82\xbf\x88\xa8\x7d\x21\
+\xa4\xf2\x1c\x22\x5f\xe0\xda\xcb\x27\x78\xed\xf5\x5b\xf9\xdc\x37\
+\x7f\xc2\x48\x3e\x70\xae\x7f\x27\xc6\x17\x33\xe7\x75\x41\x72\xa1\
+\x6a\x4d\x97\x27\xfa\x97\x73\x41\xa8\x01\x81\xe9\xd9\x9c\xfb\x0e\
+\x9d\xe2\xc0\x9f\xdf\xc7\x67\x07\xee\x63\x6c\x6c\x9c\x4b\x47\x6b\
+\xd4\x86\x43\xac\x69\x4f\xb7\x78\x68\xef\x61\x4e\x35\x61\xcb\xc4\
+\x28\xb1\x84\xbd\xa6\xb1\x65\x6a\x66\x96\xf7\xee\xbe\x96\x35\x8d\
+\x3a\xaa\xa1\x13\x03\x1f\x58\x43\xaf\xda\x07\x07\x2f\x28\x00\xef\
+\xf9\xe5\x60\xd5\x32\xd8\x65\x2b\x2a\xa8\xc7\x4a\xcc\x5b\x5e\x77\
+\x0d\x77\xde\xff\x53\x8e\x4d\xcd\xb0\x75\xc3\x68\xdf\x35\xe4\x0a\
+\x11\xf9\x79\xeb\x80\xa4\xd0\x0b\xea\x87\x8a\x9c\xf7\x91\x54\xcd\
+\xa2\x67\x1d\x82\xa5\xd9\xee\xb1\x69\xfd\x04\x13\x13\xeb\xe8\xce\
+\x9c\xe0\xa9\x43\x93\x1c\x3c\x66\xc9\x7a\x8e\x4e\xe6\xa8\x26\x96\
+\xb4\x5e\x63\x62\x62\x90\x34\xf6\xb8\xc2\x11\x99\x94\xc7\xf6\x3e\
+\xcb\xf6\x8d\x31\x6f\x7d\xdd\x4e\x54\x15\xe7\x3d\x91\x8d\x40\xb4\
+\xd4\xff\x8b\xb1\x00\x03\x68\x06\x92\xf4\x81\x2a\x9d\x77\x13\x80\
+\xf6\x99\x74\x5d\x71\x83\x2a\x29\xd0\x5b\xa1\x76\x30\xa0\x9e\xcb\
+\x76\x8c\x73\xcb\x0d\x57\xf1\x85\x3b\x1f\xa7\x3b\x16\xf2\xfa\x2c\
+\x0a\x50\xf0\xf9\x2a\x8f\x5e\xd7\x2f\xb1\x80\x4e\xe6\x56\x76\x2b\
+\x72\xae\x65\xce\xeb\xff\x62\x42\xc6\x87\xe0\xc7\xb1\xa3\x27\x98\
+\x9d\x9e\x66\xdb\xd6\x6d\x0c\x8c\x8d\x33\xb6\x3c\x4e\x88\x2b\x72\
+\x7a\xcd\x88\x56\xd1\x63\x72\xfa\x34\xd5\xc4\xf2\xb1\x0f\xdd\xce\
+\x8e\x4b\xd6\x80\xf3\x88\x89\x43\xc7\x0d\x1e\xab\x65\xe3\x8a\xb0\
+\xe8\xe4\x56\xd6\x9f\x28\x3c\x9c\x2c\x2a\x52\x32\x72\x2a\x58\x20\
+\xf1\x19\xb9\x49\x70\x28\x09\x1e\x23\x02\xe4\x08\x09\x45\x27\xe3\
+\xe9\x43\x47\x88\x6b\x83\x0c\x56\x72\x0a\xed\x70\xea\x99\x67\x68\
+\x75\x4b\xb6\x0a\x4f\x7f\xfb\xda\xa3\x5a\xa9\xf2\xb6\x37\xee\xe2\
+\x6b\xdf\x79\x90\x1f\xfe\xe4\x10\x13\x63\x8d\x25\x0b\x39\x32\x35\
+\xcb\x74\xab\xb5\x44\xff\x5b\x33\xd3\x4c\x9f\x38\xca\xd1\xc3\x0d\
+\x0a\x0d\xf5\xc5\x89\xc3\xcf\x71\xfa\xe4\x8e\xbe\xf3\xd2\x72\x0e\
+\x15\x8f\x94\x01\xf3\xc0\xe1\x67\x58\x33\xb7\xbe\x9f\x95\x1d\x3e\
+\x7c\x9a\xc1\xd8\xd1\x2d\x65\x67\xc5\x90\xe5\xca\x99\x99\x2e\x95\
+\xbc\xc5\x33\x87\x96\x52\x8c\x35\xeb\xc8\x2a\x11\xc5\x22\xa8\x7a\
+\xae\xd7\xa4\x9a\x58\x5e\x76\xcd\x66\xde\xff\xb6\x5d\xdc\xb2\xfb\
+\xb2\x20\x4a\x6b\xb0\x08\xaa\x41\x6d\x55\x42\xff\x54\x47\xc3\xca\
+\x12\x14\x8f\xf6\x03\xfa\x05\x2b\x61\x8f\xa5\x2a\x12\xe4\xe9\x04\
+\x6b\x42\x37\x98\x23\xc2\x69\x31\xdf\xd9\xc3\xe8\x48\x85\xdf\xba\
+\xfd\x3a\xda\x2a\xd8\x4a\x82\xeb\x65\xf4\xae\x1a\x66\x62\xdd\x70\
+\x99\x0b\x4b\x29\x7e\x8f\x38\x45\x8c\xe7\x9a\x2b\xd6\xf3\xbb\xef\
+\xbe\x99\x87\x9f\x3e\xc5\xfa\xfa\x52\x42\xa3\x3d\xdd\x62\xf7\x35\
+\x5b\xfb\xc7\xef\x81\xcb\x2f\x5b\xc3\x7b\xde\xfc\x62\x46\xd7\x6f\
+\xec\xd7\x08\xed\xab\x86\xd9\x7d\xdd\x66\x22\x35\xa8\x7a\xbc\x58\
+\x8c\x2a\xe2\x83\xba\x0f\xd7\x63\xde\xf7\x86\x9b\xa8\xd6\x0c\x92\
+\x54\xe9\xe2\x39\x33\xd5\xe6\xca\x4b\xea\xd4\xd3\xa4\x2f\xdd\xc8\
+\x1a\xde\xfe\xa6\xdd\x6c\xda\x3c\xc4\x91\xe3\x19\xc7\xa6\x9a\xcc\
+\x76\x33\x9a\xb3\x73\x74\xba\x86\xe1\x14\x18\x14\xaa\x69\x8d\x91\
+\x46\x95\xcd\x9b\x77\x70\xfd\xd5\x5b\x78\xd5\xae\x4b\x69\x0c\x56\
+\xcb\x98\xd3\xcf\x0d\x4b\x00\x4e\x16\x4e\xb1\xc8\x20\x0a\xed\x1a\
+\xf6\x3c\xa9\xe3\x39\x8d\x59\x53\xad\x9c\x27\x27\x5b\x54\x63\xcb\
+\xee\x89\x41\x50\x8f\xfa\x02\x6f\x2c\x0e\x43\x5c\xb6\xf0\x39\x0f\
+\xdd\x5e\x4e\xa1\x3e\xb4\x00\xfa\x18\xf1\x4a\xad\x1a\x13\x59\x8b\
+\x96\x92\x07\xb0\x7e\x9e\x09\x87\xac\x50\xf2\xbc\x58\x3e\xdb\x31\
+\x86\x38\x89\x50\xe3\x71\x9a\x91\xe5\x4a\x9e\x0b\x62\x0d\xb6\xc4\
+\x2a\x0a\x35\x24\x91\x21\x89\xe2\xa0\x18\xc6\x13\x63\x11\x35\x21\
+\x21\xf2\xca\x6c\xd6\x2b\x7d\xeb\xa2\x2c\xcb\x42\x45\xca\xe6\x00\
+\x6b\x51\xf5\xfd\xa6\xaa\x56\xbb\x4d\x2b\xef\xd1\x6e\x5b\xda\x9d\
+\x1e\x9d\xbc\x55\x5a\x02\x54\xeb\xa3\xd4\x13\x61\x74\xb8\x86\x2d\
+\x1b\x0b\x70\x0e\xf5\x06\x8c\x2c\xdb\x96\xe9\x50\xd0\x02\x43\xc4\
+\x73\x73\x6d\x0e\x9f\xce\xb9\xf9\xd2\xe1\xd5\x09\x60\xef\xe4\x2c\
+\xbf\x73\xe7\x71\x86\xab\x35\x3e\x72\xdb\x18\xd7\x8f\x55\xe8\xba\
+\x82\x8a\x51\xbc\xc4\x18\x24\xa4\xbc\xe2\xfb\xb9\x6f\x48\xbb\x16\
+\x69\x80\x6a\x29\x00\x07\x18\xac\xda\x00\x9d\xe3\x4a\xee\x50\x56\
+\xf4\x8a\xaa\x1a\x34\x4b\x33\x44\xa2\x45\x29\x9d\x2e\x89\x0d\x9a\
+\x2b\x44\x3e\x38\xba\x72\xfc\x85\xca\x7c\xf1\xb3\x45\x39\x86\x41\
+\x5d\x86\x37\x16\x23\x16\xaf\x6e\x11\xa1\xa2\xab\x48\x1d\x3d\x8a\
+\x0f\x96\x0d\x38\x0c\x91\xca\xbc\x5e\x2d\x93\xfd\x09\x53\x3d\xc7\
+\xfb\xef\x3e\xca\xc9\x59\xd8\xf3\xf6\x4b\x56\x87\x86\xd6\x6a\x35\
+\x6c\xad\xc6\x83\x39\x7c\xe2\xc7\x93\xb4\xda\xb3\xa4\x36\xa2\x4b\
+\x8c\x9d\x8f\x73\xa2\xa8\x2f\x02\x4f\x4a\x81\xe6\x82\xe6\x65\x31\
+\x3a\x9f\x97\xab\x41\x9d\xf4\xc9\xf2\xb0\x4d\x07\x2e\x47\x35\x47\
+\x35\x0b\x6f\x8a\xd2\x97\x17\xe5\xf7\xa1\x9a\x0c\xfd\x9e\x06\x75\
+\x61\x5c\xcd\xc3\x7b\xbe\x3f\x36\xd4\x3a\x66\xc1\xb7\xfa\x80\x44\
+\x8a\xf1\x81\x64\x57\x5f\xf6\x82\x4a\xd9\x65\xa4\x78\x1b\x63\xc4\
+\x92\x6b\x1e\x32\x15\x1f\x22\xa5\xe6\x12\xb4\x5a\x5d\x18\xdc\x17\
+\xe1\x8d\x47\xd5\x95\xe3\x84\xd6\x17\x17\xea\x68\x1c\xa0\x46\x57\
+\x84\xbb\xb3\xdc\xf3\x57\x7f\x77\x92\x3b\x9f\x9e\x61\x6d\xe3\x22\
+\xe0\xe8\xb1\x54\x79\xdf\x35\xe1\x13\x87\xe6\x52\xfe\xe0\x91\x8c\
+\xb9\x9e\x96\x71\x21\x1c\xb0\x13\xc8\x4d\x8c\x37\x69\xe0\x4d\xad\
+\x84\x68\x62\x3c\x2a\x81\xae\x53\x29\x9b\x5f\xd5\x84\x86\x5e\xe3\
+\xf0\xc6\x92\x99\x04\xd5\x04\x51\x13\x7a\x79\x54\x50\x35\x48\xf9\
+\x06\x1f\xc6\x31\xe1\x2b\xc6\x23\x56\x51\x2b\xa1\x87\xd3\xf8\xd0\
+\xbc\x4b\xf0\xc1\xf3\x10\x8c\x5a\x29\xe7\x05\x57\x36\x0e\xbb\xd2\
+\xfa\xc4\x1b\xac\x17\x8c\x06\xc8\x22\x16\x1b\x40\x33\x13\x2c\x95\
+\x48\x51\x23\x88\xda\x80\xe9\x1b\x5b\x02\xfc\xa1\xc0\x33\xe5\x3f\
+\xf1\x42\xa4\xe1\x5d\xd1\xa5\xca\xb5\xc4\x56\x3c\x7c\xea\x27\xb3\
+\x7c\xe9\x40\xc1\xf6\x81\x3a\xbb\xc6\x07\x57\x2f\x80\xd4\x0a\xd7\
+\x8e\x57\x18\xee\xe5\x6c\xaf\x79\xbe\x75\xb8\xc3\x07\xee\x39\xc5\
+\x93\xd3\xbd\x32\xe8\x28\xa8\xc7\xe2\x71\x25\x49\xe2\x8c\xe2\x05\
+\xbc\x08\x1e\x29\xc1\x2e\xf0\x56\xcb\xdf\x99\x12\x78\x12\x62\x51\
+\x44\x14\x35\x16\x2b\x12\xfc\xb0\x08\x2a\x01\x53\xf3\xf3\x79\xb4\
+\x2b\x05\x22\x1e\xa7\x05\x85\x04\xe6\x2c\xd3\x30\x3e\x62\x70\x45\
+\x51\x22\x11\x05\x86\x02\x23\x82\x57\xc5\xa8\x62\x34\x64\x20\x2a\
+\x19\x4a\x27\xb4\xc4\xa8\x22\xa5\x3b\x02\x21\x90\x58\xa1\x28\x13\
+\x91\xb2\xcb\x22\xb0\x5b\x0e\xc8\x10\x32\x04\x2f\xc1\x05\x19\xe3\
+\x31\xa6\xfc\xb4\x53\xc4\xf5\x50\xba\x38\xcd\x71\xa5\x26\xcc\x76\
+\x33\xfe\xd5\x0f\x27\xf9\xcc\xbe\x00\x5b\x0c\x55\x23\xae\x5b\x63\
+\x57\x1f\x84\x55\xe7\x98\xf5\x75\x3e\xff\xc8\x09\xfe\xf2\x89\x69\
+\xb6\xac\x1f\xe7\xf8\x4c\x87\x75\x56\x78\xeb\x15\x15\x6e\xbf\x6a\
+\x0d\x43\x06\xf0\x39\xd8\x12\xce\xf5\xf3\x6a\x28\xa5\x3b\x29\x33\
+\x83\x7e\xeb\x9e\x39\x4b\xd6\xbe\x34\x6f\x8f\xf8\x52\xfb\x24\x0a\
+\xaa\xa3\x0e\xb5\x4a\xcf\x59\xd4\x44\x24\x02\xd6\x4b\x09\x94\x49\
+\x3f\xb0\x8b\x17\x8c\xf8\x3e\xff\x5a\x94\x85\x9d\x44\x16\x1c\x18\
+\xeb\xf0\x4e\xc1\x18\xac\x68\xff\x9e\x01\x46\x42\x7b\x4c\xd9\xd8\
+\xb5\xb4\xbb\x79\x51\x2c\x53\x05\x5f\x46\x31\xe3\xc2\x9d\x03\x1f\
+\xee\x22\x60\x42\xa3\xb1\x52\x04\x65\x50\x4b\x0e\x7c\xfb\x50\x93\
+\xbf\x78\x7c\x96\x7d\xdd\x84\x89\xb4\xe0\x4c\xa7\x60\xc7\xa8\xf0\
+\xf1\x97\x8e\x70\x49\xa3\xbe\x3a\x01\x50\xcc\x82\x54\xd8\x7b\xba\
+\xc7\xef\xdc\x79\x9c\x5e\x52\xe5\x45\x23\x11\x8f\x9f\x09\xfe\x79\
+\x9d\x15\x5e\x77\xc5\x20\xbb\x36\x54\xd8\x50\x8d\x18\x8a\x0c\xb5\
+\x48\x16\xa8\xa6\xc5\xd9\x40\x59\x3c\x15\x0a\xed\xdc\xd1\x45\x68\
+\xe6\x8e\xb9\x12\xdb\x99\xed\x2e\x9d\xba\x91\x0a\xeb\x13\xc7\xd8\
+\x60\x8d\x54\x14\xc8\xf0\x6a\x71\x40\xec\x15\x41\x4b\x0a\xd0\xe0\
+\x3d\x88\x84\x9f\xa9\x18\xf2\xb2\xfc\x77\xb9\x42\x24\x65\xaf\x90\
+\x80\x81\x2c\xf7\xcc\x66\x8e\xa9\xdc\x73\xa4\xe9\xcf\x99\x13\x60\
+\x30\x12\xea\xa6\xa0\x6a\x13\x12\xab\xa4\x36\xc2\x9a\xe5\xf7\x95\
+\x29\x64\x5e\xc9\x0b\x65\xaa\x53\xf0\xd8\x64\x8f\xbf\x79\xaa\xc3\
+\x53\xad\x26\x0d\x12\xb6\x0c\xa5\x4c\xb6\x7a\x9c\x99\x9b\xe3\x8f\
+\x6e\xdd\xc4\xed\x5b\xab\x2b\x72\x5f\xe7\x5a\x80\xcb\x40\x1c\x5e\
+\x12\xfe\xd7\xfe\x16\x9f\xde\x73\x84\x91\xc1\x41\x1a\xf5\x40\xf1\
+\xf5\xb2\x9c\xe3\xa7\xa7\x01\xd8\x36\xda\xe0\x92\xd1\x84\x51\x53\
+\x30\x10\x43\x5a\xe2\xfa\x00\x1d\x15\xe6\x32\xcf\x74\x37\xa7\xd5\
+\x2e\x98\xca\x0c\x33\xbd\x9c\xe3\x45\x0f\x57\x2c\xb0\x58\x26\x77\
+\xf8\x78\x61\x87\x13\xa9\xe1\xb6\x0d\x96\x5b\x37\x56\xd9\xb5\xb1\
+\x41\x35\xc9\x40\xf3\x70\x5b\xa6\x4c\x01\x91\x60\x1d\xb9\x2a\x09\
+\x8a\x13\xc1\x29\x24\xea\x50\xf2\xe0\xba\x6c\x85\x76\xe6\x79\xe4\
+\xe8\x2c\xf7\x4c\xc1\xe3\x47\x5b\x1c\x38\x3d\x4b\xaf\x9a\x94\xd5\
+\x6d\xbc\xe4\x20\x46\x4a\x25\x1a\xa9\x46\xac\xa9\x3a\xc6\xaa\x15\
+\x86\xd3\x98\xc1\xc4\x50\x15\x5d\xb2\xaf\x56\xb3\xc5\x69\x1f\x71\
+\x7c\xa6\xc7\xb1\xd3\xed\x70\x2e\x49\x95\x91\x6a\x44\x6a\x0c\x5d\
+\xef\x39\xdc\x69\xf3\x8e\x4b\x6a\x7c\xe8\x25\xc3\xd4\x92\x78\xf5\
+\x02\x70\x28\x2e\x57\xe2\xd8\x70\xaa\xe7\xf8\xe4\x8f\x4f\x73\xd7\
+\xfe\x26\x57\x8d\x86\x85\xc7\x65\x8a\xd7\xd3\x98\x99\x5e\xce\x91\
+\xee\xca\x50\xb6\x8d\x16\x30\x9e\x06\x49\x7f\x81\xa1\xa9\xad\xc0\
+\x9f\x85\xdd\x1b\x5f\xd0\xc6\x70\x60\x2e\xc7\xe4\x8e\x9b\x37\xa6\
+\xbc\x6f\xd7\x08\x2f\x5e\x53\x21\x16\xc1\x6b\xc8\x3f\xc4\x07\x4b\
+\xc8\x08\x01\xb1\x10\xc5\xe2\xb1\xae\x55\x06\xe4\x94\xa7\x66\x94\
+\x2f\xff\xec\x34\x5f\xd9\x3b\xcd\xcf\xa3\x06\x97\x0e\x58\x26\x2a\
+\x11\x0d\x77\x2e\x94\x61\xca\x1a\xa3\x8d\xa1\x97\x3b\xda\x85\xd2\
+\xeb\x34\x97\x12\x7f\x65\xe3\xd7\xbc\xb2\xcc\x1a\xc3\x16\xa3\xac\
+\x6d\x80\x91\x2a\xd5\xdc\xd1\x15\x48\x22\xc3\xf1\xc9\x33\x0c\x8d\
+\x55\xf9\xe4\x8d\x6b\xd9\x39\x1c\x83\xcb\x61\x05\x08\xfe\x5c\x01\
+\x38\x45\xd5\xe1\xad\x12\x8b\xe3\x48\x2b\xe2\xe3\x7b\x26\xd9\x7b\
+\x62\x8e\xe1\x6a\x0d\x93\xc6\x74\xbd\xa7\x86\x27\x29\x71\x6f\x1f\
+\x1b\xc4\xf5\xc8\xcb\xce\xe9\xd8\x2a\x6a\x2b\x34\x4c\xd8\x58\xb3\
+\x67\xe8\x0a\xb8\xb2\xa9\x36\xce\x57\xce\xb9\x63\xab\xb8\x7a\x8d\
+\xd3\x1d\xcf\xd1\x13\x73\xac\xb5\x39\x6f\xbf\x76\x1d\xef\xbc\xac\
+\x4a\x23\x4d\xf0\x1e\x0c\x05\x2a\x82\x17\x83\x51\x4f\x8e\xc1\x38\
+\x87\x35\x39\x98\x98\xbb\x9f\xcb\xf9\x83\x3d\x53\x1c\xf6\xc2\xb5\
+\x75\x4b\x23\x89\x10\xd7\xa3\xa7\xf1\x39\x87\xbe\x24\x7b\x31\x11\
+\x1a\x59\x2a\x67\x55\xae\xe2\x7a\x67\x75\xd5\x55\xfa\xe3\xa5\x0a\
+\x6a\x72\xda\x46\x91\x96\xf0\x4c\x73\x8e\xf5\xa3\xc3\x7c\xfa\x96\
+\x51\x76\x0e\x27\xa8\xef\xe2\x25\x59\x11\x8a\x38\x37\x06\x78\x50\
+\xe3\x91\xa2\x89\x9a\x18\x31\x31\x53\x2d\xe5\x93\x8f\x4e\xf3\xad\
+\xc3\x1d\x26\x52\x43\x25\x9e\xef\xb9\x0f\x1b\xaa\x5e\x88\xd1\xd2\
+\xa0\xed\x5d\xef\xfb\x1a\xd6\xaf\x3b\x4a\xd3\x6f\x9f\x85\xf9\x6f\
+\xa8\x27\x68\x64\x39\x3e\xd3\xa1\xd7\x69\xf2\xae\x8d\xc2\x3f\xbf\
+\x65\x1b\x8d\x34\xc1\x69\x1e\xee\x9a\x89\x45\x25\x27\xf7\x65\x86\
+\x6a\x2d\x5f\xdc\xd7\xe4\xd3\x7b\x8e\xe0\x6a\x63\x6c\x6b\x08\x52\
+\x38\x7c\x37\x58\xe2\x5c\xe9\xd2\xcf\x9e\xab\x1f\xc3\x80\x4a\x6c\
+\x89\xe3\x02\xeb\x92\xbe\x90\xbc\x89\x70\x36\xc3\xba\xe5\x6f\xc3\
+\xf8\x6e\xce\x41\x5f\x61\xd2\xf5\x78\xf5\x18\x7c\xe4\xfa\xf1\x52\
+\xf3\x95\x4c\x32\x90\x94\x64\x85\x5e\xa1\x55\xdf\x11\xcb\x54\xf9\
+\xdb\xfd\x73\x7c\xf9\xef\x0e\x72\xb4\x18\xa5\x2d\x29\x35\xed\xf6\
+\x17\x5f\x89\x97\x4a\xb8\xb7\x48\x28\xf3\x1b\xae\x45\x42\x25\xb6\
+\xa4\x26\xc0\x09\x1b\x4a\x6a\x60\x38\x8d\x99\x2e\x0f\xe9\x50\x53\
+\xb0\x59\x8f\x33\xb9\xd2\x2e\xb4\x3f\xfe\xb1\xb9\x9c\x77\x5e\x9e\
+\xf2\x2f\x77\xad\xa1\x91\x1a\x8a\x22\x74\x39\x3b\x53\x10\x97\x8c\
+\xd4\x17\xf7\x65\x7c\xf4\xc1\x69\x2a\x71\x95\x31\xdb\xeb\x7f\x7e\
+\x50\xa1\x5a\x85\xc1\xd8\x52\xaf\x45\x8c\x9a\x82\xd3\x3e\x58\xef\
+\x54\xa7\xc7\x6c\xa1\xe4\x79\xc4\x99\x4e\xb1\xac\x60\xce\xde\xdb\
+\xe2\xfd\x1d\x2f\x7a\xf8\x4a\x9d\x8d\xae\xe0\xf6\xcd\x96\x0f\xee\
+\x5a\x4f\x40\x2c\x56\x07\xf1\xaf\xfe\x92\x5e\x49\x78\x4c\xf5\x1c\
+\x77\xed\x3d\xcd\xf7\x8f\x15\x9c\x9c\x75\xcc\x49\x58\xc4\xb2\x9a\
+\x51\xa9\x33\x51\x89\xd8\x66\x73\xae\x1c\x81\x75\xc3\x75\xc6\xab\
+\x31\x97\x37\x3c\xeb\xaa\x96\x24\x4e\x96\x96\xfa\xea\x99\xeb\xc1\
+\xf1\xb9\x2e\x7b\x9b\xc2\x4f\x8e\x35\x79\xf8\xa8\xe3\x84\x53\xda\
+\x92\x92\xb7\x9b\xbc\xff\x57\x52\x7e\x77\xf7\x30\x56\x12\x5c\x21\
+\xc4\x08\x12\x3b\xbe\x71\xb0\xc3\xbf\xfe\xe1\x19\x2a\x71\x95\x9a\
+\x76\xd9\x18\x9d\xe6\xda\x0d\x6b\xd9\x3e\x5e\xe7\xb2\x9a\xb0\x65\
+\x38\x65\x4d\xcd\x94\xa0\xd9\x82\x0b\xcc\x72\xcf\x5c\xa7\xc3\x5c\
+\xcb\xf1\x40\x13\x66\xba\xca\xde\x99\x8c\xe3\x33\x3d\x4e\x76\xcf\
+\xb5\x96\xb3\x85\xb3\x7d\xd0\xf2\x8a\x0d\x11\xb7\xae\xb5\x6c\x5a\
+\xd7\x08\x8c\xb3\xae\x8c\x7e\xfe\xe2\x02\xf0\x05\xbe\xf0\x98\x24\
+\x29\x79\x52\xcf\xcf\x27\x5b\x4c\x6b\xc4\x64\x27\x67\xa6\xab\x74\
+\xbb\x21\x23\x48\xd3\x1a\x43\xa9\x30\x10\x09\xeb\x06\x63\xb6\x0e\
+\xc6\x8c\xf5\x2f\xbc\xf9\x45\x58\x90\x5f\x04\x96\xfb\x73\x31\x25\
+\xe0\xc9\xe9\x1e\xf7\x3e\xdb\xe5\xbb\x07\x9b\xfc\xec\x74\x86\x8f\
+\x2d\x7f\x72\xd3\x08\xbf\xb6\xb5\x1e\xae\x9c\x62\x78\xe8\x94\xe7\
+\xf7\xbf\x3b\xc9\x61\x2f\x0c\x55\x23\x7e\x7b\x42\x79\xf3\xa6\x3a\
+\x97\xae\xad\x94\xc1\x6f\x11\x32\xaf\xba\xc0\x9e\x09\xcb\xd4\x27\
+\xd0\xe9\x15\x3c\x3b\xdb\x65\x2e\x13\x8e\x65\x70\xa4\xe9\xfb\x7b\
+\x0b\x68\x41\xc4\xd0\x40\xca\x86\x04\xb6\x8c\xd5\x16\xf6\xe6\x0b\
+\x3c\x11\x6a\x74\xc9\x75\xd6\xe7\x45\x00\x0e\x25\x53\x48\xbc\xc7\
+\x48\x56\x16\x34\xd1\xd2\x22\xcb\x17\xfd\x2a\x75\x39\x66\x6b\x31\
+\xfd\xbf\x18\x46\x91\x92\x5c\x9f\x9f\xa3\x8a\x82\x9b\x8f\x41\x29\
+\x20\xec\x9d\x9c\xe5\x33\x4f\xf5\xf8\x4f\x4f\xc2\x0d\x83\x5d\xfe\
+\xdb\xab\x86\xd8\x3e\x56\xc7\xe1\x79\xe7\x5d\x33\xdc\xb1\xff\x38\
+\xef\xb9\x7c\x0d\xbf\x79\x79\x95\x97\x6f\x09\xb7\x57\xb4\xc4\x95\
+\x28\x6f\xe6\xa8\x0b\x80\xa0\xda\x3c\xd0\x92\x65\xf5\xea\x4b\x3e\
+\x44\xc9\xb1\x98\x45\x20\xa0\xf6\x81\x3a\x87\x62\xbd\x5b\x66\x7f\
+\x1e\x75\xa6\xbc\x24\xae\x78\x7c\xa0\x09\xec\xea\x2c\x60\xf5\xf4\
+\x7d\x09\x3f\x60\x0c\x79\x79\xd7\xce\x6a\x5e\x5e\x4f\xb4\xf3\xed\
+\x36\x65\x93\x6a\x06\xd8\x3e\x58\xaa\x56\x10\xef\xfb\x07\x6d\x44\
+\xfa\xdd\x0c\x41\xef\x43\x85\xeb\x14\x62\xe7\x70\x56\x50\x49\x02\
+\x16\xa3\x1e\x8b\x70\xf9\x78\x83\x3f\x6a\x78\x86\xd3\x59\x3e\xf1\
+\xc0\x09\x3e\xf3\x54\xca\xa7\x46\x13\xbe\xfd\x4c\xce\x1d\xfb\x8f\
+\xf3\xe6\xab\x37\xf2\xc7\xbb\x2a\xac\x69\x54\x29\xb4\x87\xd5\x1c\
+\x2f\x03\xe5\xd2\xc2\x01\x62\x01\x67\x40\xe3\x70\xef\xbd\x74\x13\
+\xa6\xb4\x3a\x2f\x95\xa0\x20\xae\xc4\x3b\x4d\x99\xf2\x52\x1e\x68\
+\x99\x42\xab\x3a\xc4\x17\x64\x26\xc1\x21\x24\x28\x16\x17\x2a\x79\
+\x73\x71\x0d\x0e\x17\x71\x53\x3e\x5c\x09\x35\x25\x88\x38\x2f\x14\
+\x73\xbe\xa6\x96\xf2\x4f\x01\x18\xb3\xc0\x0d\x9c\x03\x40\x95\x3e\
+\xd9\xa3\x7d\x78\x01\x35\xc1\x51\x89\x2e\x70\x7a\x5e\xc0\x64\xe4\
+\xc4\xfc\xde\x77\x8e\xf3\x83\xa3\x5d\xfe\xf6\xd7\xd6\xf0\xd6\xbb\
+\x27\xd9\x19\x35\xf9\xcf\xb7\x5f\xcd\x58\xc5\xa2\xbe\x13\x18\x66\
+\x89\x48\xc4\x96\x9f\x55\xdc\x7c\x0b\x9a\x94\xa0\x93\x2c\xc3\x3f\
+\xfb\x5e\x00\x0f\x4d\xb0\x80\xbc\x94\x45\x42\x50\x02\x2d\x9f\xf3\
+\xe5\xde\xac\x38\x5c\x59\xa4\x19\x0c\x39\x06\x1b\x74\x74\xd5\x1d\
+\xd2\x17\x71\x3f\x40\xb0\x25\x68\x06\x01\xec\xca\x09\x7e\x74\x45\
+\x54\xd0\x06\xad\x2e\xaf\xa4\xa3\xb8\x45\x26\x2e\x67\x75\xea\x48\
+\x29\x99\x72\xcc\x3e\xc7\x2b\x38\x29\x59\xea\x22\x26\x89\x95\x7f\
+\xfb\xf2\x71\xbe\xb4\x67\x3f\x33\x92\xf0\xfa\xfa\x34\xef\xbb\xf9\
+\x6a\xc6\x2a\x82\xfa\x0e\x18\x21\xd1\x64\x81\xc1\x2e\x63\xae\x95\
+\x45\xec\xac\x2c\xcf\x3f\xab\x24\xa5\x6b\x0d\x0c\x78\x0c\x58\x14\
+\xa3\xa6\x74\x9f\x8a\x15\xc1\xa8\x94\x4a\x17\x05\xb7\x64\x82\xbb\
+\xb3\xf3\xa0\xde\x45\x34\xe7\xae\x3e\x08\x97\x78\xbd\x10\xe1\x34\
+\x40\xb7\xf3\xda\xbf\x1c\x29\x81\x2a\xea\x05\x8c\x96\xfe\x58\xf1\
+\x5a\x36\x2f\x89\xbd\xa8\x26\x18\x57\xba\xa7\x44\x1d\xf8\x36\x1a\
+\x25\x74\x7b\x86\x2c\x8a\xc8\xbb\x8e\x91\x7a\x84\x64\x39\xc6\x2a\
+\x99\x31\x58\x89\x42\x8f\xac\x3c\x3f\x7d\x7f\xaa\x01\xed\xb5\xf3\
+\x84\xd1\xfc\x3d\xe6\x45\x8a\x34\xef\x1d\xb4\xdc\xfb\x6a\xe7\x5e\
+\xbd\x0b\xc2\x2f\x34\xa0\xce\x13\x2e\x1a\x95\xa8\xe7\x0a\x0d\x53\
+\xde\xb3\xf8\x01\x9d\xc7\x54\x2e\xd0\x42\xb2\x5c\x83\x4a\xae\x5a\
+\xe6\xfb\x59\x49\xbe\xa4\xe5\x1c\x79\x7f\x7c\x67\x2c\x4e\x83\x26\
+\x1a\x84\xe7\xab\xed\x72\x3e\x73\xf3\x5e\x4a\xb7\xa8\xe0\x7b\x20\
+\x05\x48\x1c\x6e\x7e\xfa\x00\x6f\x63\xfb\x58\xf0\xf3\x2c\x00\x57\
+\x9a\xa0\x2d\x75\xd2\xe7\xa0\x16\x21\x70\xac\xcb\x1d\x9b\x6a\x8e\
+\x16\x05\xc6\x26\xa1\x3b\xa5\x4c\xff\x04\x7b\x71\x8d\x60\xaa\x41\
+\xf6\xa6\xb4\x28\x75\xa8\x04\x5a\x4c\x42\x63\x13\x8e\x00\xc8\xc5\
+\xa2\x48\x28\xe7\x2f\xfc\xd7\x5c\x56\x3b\x37\xbe\x1f\xab\x16\x1c\
+\x4c\xf8\x93\x0b\x6e\x91\x0b\x75\x2e\x38\xaa\xd5\x66\x40\x00\xff\
+\x17\x0a\x9d\x3f\x92\x8a\xc5\x5c\x4e\x00\x00\x00\x00\x49\x45\x4e\
+\x44\xae\x42\x60\x82\
+\x00\x00\x51\xb6\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\xc0\x00\x00\x00\xc0\x08\x06\x00\x00\x00\x52\xdc\x6c\x07\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0a\x3e\x00\x00\x0a\x3e\x01\
+\x3c\x37\xb1\x9c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x1e\
+\x09\x1d\x1f\xc1\x16\x3b\x4d\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xbd\x79\x7c\x5c\x77\x79\xef\xff\x3e\xeb\xec\x33\xda\x77\
+\x4b\xb6\x65\xc9\xfb\x1e\x3b\x9b\x8d\xb3\x91\x10\xb6\xb0\x15\x1a\
+\x28\xfd\x41\x1a\x02\x97\xde\x72\xdb\x12\xc2\xab\x94\x14\x2e\x25\
+\x50\x4a\xd9\xda\x9b\xa6\x90\xd0\x04\x4a\x20\xdc\x40\x12\x20\x01\
+\xec\x90\xdd\x8e\xe3\xc4\x89\x77\x79\x93\x2c\x5b\xd6\x36\x92\x66\
+\x46\xb3\x6f\x67\xf9\xfd\x31\x3a\xc7\x33\x92\xbc\x24\x10\xe0\x56\
+\xe7\x79\xbd\xce\xcb\x96\x74\xf6\xf3\x7c\xbe\xcf\xfe\x3c\x82\x69\
+\x9a\x26\x0e\x39\x34\x47\x49\x74\x5e\x81\x43\x0e\x00\x1c\x72\xc8\
+\x01\x80\x43\x0e\x39\x00\x70\xc8\x21\x07\x00\x0e\x39\xe4\x00\xc0\
+\x21\x87\x1c\x00\x38\xe4\x90\x03\x00\x87\x1c\x72\x00\xe0\x90\x43\
+\x0e\x00\x1c\xaa\xa0\xb3\x05\xd1\xcf\x15\x5c\x7f\xad\x7f\x73\xc8\
+\x01\xc0\x1f\x1d\xf3\x0b\x82\x00\xc0\x89\x13\x27\x78\xf2\xc9\x27\
+\x19\x18\x18\x00\x40\x10\x84\x59\x99\xd9\x3a\x26\x12\x89\xf0\xe9\
+\x4f\x7f\x9a\xd5\xab\x57\xb3\x76\xed\x5a\x3e\xf0\x81\x0f\x70\xf8\
+\xf0\xe1\xb3\x1e\xe7\x90\x03\x80\x3f\x3a\x12\x04\x81\x57\x5e\x79\
+\x85\xf9\xf3\xe7\xd3\xd9\xd9\xc9\xb5\xd7\x5e\x4b\x47\x47\x07\xab\
+\x57\xaf\x66\xc7\x8e\x1d\x36\x38\x4c\xd3\xb4\x99\x5a\x10\x04\x7e\
+\xf2\x93\x9f\xb0\x70\xe1\x42\xee\xbe\xfb\x6e\x54\x55\x05\xe0\xc9\
+\x27\x9f\x64\xcd\x9a\x35\xfc\xc7\x7f\xfc\x87\x7d\x9c\x43\xbf\xbf\
+\x95\xcc\xa1\x57\x41\x86\x61\x98\xa6\x69\x9a\xdf\xfb\xde\xf7\x4c\
+\xb7\xdb\x6d\x7e\xec\x63\x1f\x33\x1f\x7a\xe8\x21\xf3\x89\x27\x9e\
+\x30\x7f\xf4\xa3\x1f\x99\x1f\xfc\xe0\x07\xcd\xda\xda\x5a\xf3\x6b\
+\x5f\xfb\xda\x8c\x63\xbf\xf9\xcd\x6f\x9a\xf5\xf5\xf5\xe6\xe7\x3f\
+\xff\x79\xb3\xaf\xaf\xcf\xcc\x66\xb3\x66\x2e\x97\x33\xc7\xc6\xc6\
+\xcc\x3b\xef\xbc\xd3\x6c\x6e\x6e\x36\xff\xeb\xbf\xfe\xab\xe2\x3a\
+\x0e\xbd\xbe\xe4\x00\xe0\x35\xd0\xee\xdd\xbb\xcd\x40\x20\x60\xfe\
+\xe8\x47\x3f\x32\xc3\xe1\xb0\x39\x31\x31\x61\x4e\x4c\x4c\x98\x91\
+\x48\xc4\x1c\x1f\x1f\x37\x7f\xf0\x83\x1f\x98\x35\x35\x35\xe6\x27\
+\x3f\xf9\x49\xfb\x98\x2f\x7d\xe9\x4b\x66\x6d\x6d\xad\xf9\xe0\x83\
+\x0f\x9a\xe3\xe3\xe3\xf6\x31\xd6\x36\x36\x36\x66\xde\x7f\xff\xfd\
+\x66\x57\x57\x97\x99\x4c\x26\x9d\x97\xfc\x7b\x22\xc1\x49\x87\x7e\
+\xf5\x74\xd1\x45\x17\xf1\xee\x77\xbf\x9b\x5b\x6e\xb9\x65\x56\x1d\
+\x5f\x96\x65\x9e\x7a\xea\x29\x3e\xfa\xd1\x8f\x92\xcf\xe7\x01\x28\
+\x16\x8b\xdc\x7d\xf7\xdd\x5c\x77\xdd\x75\x33\x6c\x08\xd3\x34\x11\
+\x45\x91\x58\x2c\xc6\x17\xbe\xf0\x05\x56\xad\x5a\xc5\x27\x3f\xf9\
+\xc9\x8a\x7d\x1c\x7a\x9d\x54\x59\x07\x00\xaf\xce\xe8\x7d\xf4\xd1\
+\x47\xf9\xea\x57\xbf\xca\x7d\xf7\xdd\x47\x30\x18\x3c\xeb\x7e\xa2\
+\x28\x72\xe2\xc4\x09\x1e\x7f\xfc\x71\x34\x4d\xe3\xca\x2b\xaf\x64\
+\xc9\x92\x25\x33\x98\xbf\x9c\x74\x5d\xe7\x91\x47\x1e\xe1\xc1\x07\
+\x1f\xe4\xf1\xc7\x1f\x77\x5e\xfa\xef\x81\x64\xe7\x15\x5c\xb8\xd1\
+\x0b\xf0\xc3\x1f\xfe\x90\xf7\xbf\xff\xfd\x78\x3c\x9e\xb3\xee\x67\
+\x9a\x26\x86\x61\x30\x7f\xfe\x7c\x6e\xbe\xf9\xe6\x8a\xe3\xcf\xb5\
+\xaa\x4b\x92\x44\x5b\x5b\x1b\x92\x24\x71\xea\xd4\x29\x3a\x3a\x3a\
+\x1c\x29\xe0\x78\x81\xfe\x38\x56\x7f\x8b\x0e\x1e\x3c\xc8\xda\xb5\
+\x6b\x6d\x0f\xce\xf9\xfc\xf7\x82\x20\x54\x30\xf0\xf9\x98\x39\x18\
+\x0c\x52\x53\x53\xc3\xc1\x83\x07\x2f\x68\x7f\x87\x1c\x09\xf0\x7b\
+\x5b\xfd\xf7\xee\xdd\xcb\xa2\x45\x8b\xf0\x7a\xbd\x33\xd4\x1d\xaf\
+\xd7\x8b\x24\x49\xe8\xba\x4e\xa1\x50\xa0\x50\x28\xcc\xd0\xf1\x5d\
+\x2e\x97\x0d\x9c\x7c\x3e\x6f\xdb\x07\xe5\xe4\xf7\xfb\x09\x06\x83\
+\x9c\x38\x71\xc2\x79\xf1\x8e\x04\xf8\xe3\xa2\xfe\xfe\x7e\x9a\x9b\
+\x9b\x71\xb9\x5c\x15\xab\xfe\xd8\xd8\x18\x1f\xfa\xd0\x87\xa8\xaa\
+\xaa\xa2\xbb\xbb\x9b\xc7\x1e\x7b\x0c\x8f\xc7\x63\xc7\x00\x24\x49\
+\x22\x12\x89\x70\xc7\x1d\x77\xb0\x76\xed\x5a\xd6\xac\x59\xc3\xb7\
+\xbe\xf5\x2d\x1b\x00\xe5\xe7\x72\xb9\x5c\xb8\x5c\x2e\x86\x87\x87\
+\x2f\x48\xc2\x38\xe4\x48\x80\xdf\x1b\x8d\x8c\x8c\x10\x0a\x85\xf0\
+\x7a\xbd\xb8\xdd\x6e\x46\x47\x47\x79\xf4\xd1\x47\xf9\xd4\xa7\x3e\
+\x45\xb1\x58\x04\x20\x93\xc9\x70\xcb\x2d\xb7\x30\x30\x30\xc0\x07\
+\x3e\xf0\x01\x0c\xc3\xe0\xd0\xa1\x43\xdc\x76\xdb\x6d\xb6\x5a\x03\
+\xf0\xd9\xcf\x7e\x96\x7b\xee\xb9\x87\x7b\xef\xbd\x97\xb5\x6b\xd7\
+\x02\x60\x18\x06\xb2\x2c\xa3\xaa\x2a\x93\x93\x93\x17\xac\x36\x39\
+\xe4\x78\x81\x5e\x77\xef\x0f\xc0\x1d\x77\xdc\xc1\x8e\x1d\x3b\xa8\
+\xad\xad\x25\x1a\x8d\x72\xf2\xe4\x49\x7a\x7a\x7a\x00\x58\xb7\x6e\
+\x1d\xdd\xdd\xdd\x1c\x38\x70\x80\x43\x87\x0e\xe1\x76\xbb\x59\xb4\
+\x68\x11\xa2\x28\xd2\xdf\xdf\x4f\x32\x99\x44\x14\x45\x96\x2d\x5b\
+\xc6\xf8\xf8\x38\xe1\x70\x18\x80\x9a\x9a\x1a\x36\x6d\xda\xc4\x9b\
+\xde\xf4\x26\x36\x6e\xdc\x48\x6b\x6b\x2b\x77\xde\x79\x27\xfd\xfd\
+\xfd\xdc\x77\xdf\x7d\xc8\xb2\xb3\x46\xbd\xde\x1f\xd8\xa1\x0b\x8c\
+\x00\x7f\xfa\xd3\x9f\x36\x3d\x1e\x8f\x09\x54\x6c\xff\xf4\x4f\xff\
+\x64\x1a\x86\x61\xe6\xf3\x79\x33\x12\x89\x98\x9f\xf9\xcc\x67\x66\
+\xec\x73\xf1\xc5\x17\x9b\x07\x0e\x1c\x30\x35\x4d\x33\x4d\xd3\x34\
+\xbf\xf2\x95\xaf\x98\xb2\x2c\xcf\xd8\x2f\x18\x0c\x9a\x6b\xd6\xac\
+\x31\x6f\xba\xe9\x26\x33\x9d\x4e\x3b\x2f\xfe\x75\x26\xc7\x06\xb8\
+\x40\x2a\x16\x8b\x14\x0a\x85\x59\xf5\xf1\x37\xbf\xf9\xcd\xb6\xaa\
+\x52\x53\x53\xc3\x25\x97\x5c\x32\x63\x9f\xf7\xbd\xef\x7d\x74\x77\
+\x77\xa3\x69\x1a\x85\x42\x81\xdb\x6e\xbb\xad\xc2\x93\x64\x51\x22\
+\x91\x60\xff\xfe\xfd\xc8\xb2\x3c\xab\x91\xec\x90\x63\x04\xff\x41\
+\x01\xe0\xf5\x7a\x69\x6d\x6d\xad\xf8\xdb\x07\x3f\xf8\x41\x1e\x7a\
+\xe8\x21\x8e\x1c\x39\xc2\x3d\xf7\xdc\xc3\xad\xb7\xde\x3a\xe3\xf8\
+\x7f\xff\xf7\x7f\xe7\xd1\x47\x1f\x45\x51\x14\x26\x27\x27\xf9\xc8\
+\x47\x3e\x42\x2e\x97\x9b\xf5\x5a\x92\x24\x61\x9a\x26\xc5\x62\xd1\
+\x31\x80\x1d\x15\xe8\x8f\x83\x22\x91\x88\x79\xe3\x8d\x37\x9a\x5f\
+\xf9\xca\x57\xcc\x70\x38\x6c\x46\xa3\x51\xf3\x1f\xff\xf1\x1f\x4d\
+\x55\x55\x67\xa8\x31\x80\x59\x5d\x5d\x6d\x5e\x7b\xed\xb5\xe6\xba\
+\x75\xeb\x66\xfd\xbb\xb5\xcd\x9f\x3f\xdf\xdc\xb9\x73\xa7\x99\x4e\
+\xa7\xcd\xc1\xc1\x41\xf3\x8b\x5f\xfc\xa2\xd9\xde\xde\x6e\xde\x74\
+\xd3\x4d\xe6\xe0\xe0\xa0\x93\x14\xe7\xa8\x40\x7f\x1c\x86\x70\x3e\
+\x9f\x47\xd7\x75\x72\xb9\x1c\xf9\x7c\x1e\xc3\x30\xf8\xdb\xbf\xfd\
+\x5b\x1e\x7b\xec\x31\x6a\x6b\x6b\x2b\xf6\xbf\xe6\x9a\x6b\x78\xf8\
+\xe1\x87\xd9\xba\x75\x2b\xbf\xfe\xf5\xaf\xb9\xfd\xf6\xdb\xf1\xf9\
+\x7c\x33\xce\xfb\x9e\xf7\xbc\x87\x1d\x3b\x76\xb0\x64\xc9\x12\xb2\
+\xd9\x2c\xaa\xaa\x72\xd9\x65\x97\xb1\x6e\xdd\x3a\x4c\xd3\xa4\x50\
+\x28\x38\x2f\xdf\x71\x83\xfe\x71\x00\xc0\xd2\xff\xb3\xd9\xac\xad\
+\x96\x64\x32\x19\xd6\xad\x5b\xc7\xd6\xad\x5b\xf9\xe9\x4f\x7f\x8a\
+\x61\x18\x6c\xde\xbc\x99\x95\x2b\x57\x12\x0c\x06\x99\x98\x98\x40\
+\x92\x24\x3e\xf1\x89\x4f\xb0\x79\xf3\x66\xee\xba\xeb\x2e\x76\xed\
+\xda\x45\x7b\x7b\x3b\x7f\xf5\x57\x7f\xc5\x15\x57\x5c\x81\xcb\xe5\
+\x42\xd3\x34\x04\x41\xc0\x30\x0c\x26\x26\x26\x18\x1a\x1a\xa2\xb1\
+\xb1\x11\x4d\xd3\x9c\x54\x08\x07\x00\x7f\x04\xbe\x62\x41\x40\xd7\
+\x75\x44\x51\x24\x93\xc9\x60\x18\x86\xfd\x7b\xd3\x34\x99\x3f\x7f\
+\x3e\xb7\xdd\x76\x1b\x50\x4a\x68\x33\x4d\x13\x5d\xd7\x2b\x2a\xbc\
+\xd6\xad\x5b\xc7\x7d\xf7\xdd\x67\xeb\xf7\xe5\x06\x75\x79\xc4\x38\
+\x1e\x8f\x33\x36\x36\x86\xdb\xed\x76\xf4\x7f\x07\x00\x7f\x5c\xb1\
+\x00\x45\x51\xc8\xe5\x72\x36\x00\xca\x49\xd7\xf5\x0a\xc0\x4c\x07\
+\x90\x65\x48\x5b\x01\xb3\xb3\x49\x99\x78\x3c\x4e\x34\x1a\x25\x10\
+\x08\x20\x8a\x8e\x86\xea\x78\x81\xfe\x48\x24\x80\xa2\x28\xf8\x7c\
+\x3e\x5b\xff\x7f\x3d\x28\x16\x8b\xd1\xdb\xdb\x8b\xd7\xeb\x25\x14\
+\x0a\xe1\x72\xb9\x1c\xf5\xc7\x01\xc0\x1f\x07\xb9\x5c\x2e\x02\x81\
+\xc0\x59\x63\x01\xbf\x0b\x29\x33\x3e\x3e\x4e\x4f\x4f\x0f\xf5\xf5\
+\xf5\x34\x34\x34\xcc\x6a\x38\x3b\xe4\x00\xe0\x0f\x26\x01\xfc\x7e\
+\x3f\xc5\x62\xf1\x75\x93\x00\xd1\x68\x94\x3d\x7b\xf6\x30\x3e\x3e\
+\xce\x9e\x3d\x7b\xc8\x64\x32\xb6\x1d\xe1\xd8\x03\x0e\x00\xfe\xa0\
+\x24\x49\x12\x1e\x8f\xc7\x0e\x4e\xfd\x2e\x55\x13\xd3\x34\x49\xa7\
+\xd3\xec\xd9\xb3\x87\x64\x32\x89\x2c\xcb\x6c\xdf\xbe\x9d\xcf\x7d\
+\xee\x73\xec\xdb\xb7\xaf\xc2\x48\x76\xc8\x01\xc0\x1f\x4c\x0a\x48\
+\x92\xf4\x5b\x19\xa6\xd6\x4a\x2e\x8a\x22\xba\xae\x33\x3e\x3e\xce\
+\xd0\xd0\x10\xa3\xa3\xa3\x9c\x3e\x7d\x9a\x5f\xfe\xf2\x97\xc8\xb2\
+\x6c\xd7\x0d\x1c\x3f\x7e\x9c\xdb\x6f\xbf\x9d\x6d\xdb\xb6\xd9\x85\
+\x35\x0e\x08\x7e\xb7\xe4\x78\x81\x2e\x80\x69\x2d\x1f\xfd\x81\x03\
+\x07\x4a\xab\x86\x28\xe2\xf1\x78\x30\x0c\x83\x5c\x2e\xf7\xaa\x24\
+\x42\x20\x10\x60\xfb\x8e\x1d\x7c\xfb\x3f\xee\x62\xd7\xce\xe7\x89\
+\x46\x26\x50\x5d\x2e\x9a\x9a\x5b\x38\x7c\xe4\x18\x7e\xbf\x1f\x55\
+\x55\x11\x45\x11\x45\x51\x88\xc7\xe3\x7c\xf3\x9b\xdf\x24\x91\x48\
+\xf0\x8e\x77\xbc\x03\x59\x96\x9d\xd8\x80\x03\x80\xdf\x2f\xf3\x03\
+\x7c\xf7\xbb\xdf\x65\xe7\xce\x9d\x0c\x0f\x0f\xf3\xeb\x5f\xff\x0a\
+\x59\x92\xb9\xe5\xa3\xb7\xf0\xf7\x7f\xff\xd9\x0a\x17\xe8\xb9\xce\
+\x15\x0c\x06\xf9\xda\xd7\xbe\xc6\x97\xef\xf8\x22\xee\xda\x76\xd6\
+\x5f\xff\x97\x34\xce\x5f\x4c\x2e\x95\xe0\xf0\xce\x5f\x62\x1e\x3e\
+\x4a\x36\x9b\xc1\x34\x4d\x3b\x0d\x5a\x96\x65\x72\xb9\x1c\xdf\xfa\
+\xd6\xb7\xd0\x75\x9d\x77\xbe\xf3\x9d\xa8\xaa\xea\x80\xe0\x77\x25\
+\xd9\x9d\x7a\x80\x73\x33\xbf\x69\x9a\xdc\x7d\xf7\xdd\x7c\xe7\x3b\
+\xdf\xa1\xa7\xe7\x30\x81\xda\x66\xba\x56\x5f\x42\x31\x97\x61\xef\
+\x0b\x4f\xb1\x71\xcd\x72\xee\xff\xe1\x0f\xf1\xfb\xfd\x18\x86\x71\
+\x56\xa6\x54\x14\x85\x6f\xff\xc7\x5d\xdc\xf1\x4f\x5f\x65\xf3\x3b\
+\x6f\xe1\xba\xf7\x7e\x84\x54\x4e\x23\x16\xcf\xa2\x03\xa2\xa4\x10\
+\x1f\x3b\xcd\x93\x3f\xf8\x0a\xe1\xe3\x2f\xb1\x66\xcd\x1a\x14\x45\
+\xa9\xb8\x9f\x42\xa1\xc0\x67\x3f\xfb\x59\xae\xbd\xf6\x5a\x44\x51\
+\x74\x40\xe0\x00\xe0\xf5\x5f\xf9\x1f\x7e\xf8\x61\xee\xbc\xf3\x4e\
+\x5e\xd8\xf9\x3c\x97\xbc\xf9\xcf\xb9\xf6\x7d\x1f\xc3\x13\xa8\x42\
+\x91\x15\xa2\x23\xfd\x7c\xfb\x4b\x7f\x43\x57\x73\x80\x47\x7e\xf6\
+\xf3\x59\xd3\x97\xad\x95\xff\xfe\xfb\x7f\xc0\xdf\xff\xc3\x3f\x72\
+\xd5\x8d\x7f\xcb\xe2\x0d\xd7\x90\xc8\x16\x41\x94\x90\x24\x19\x41\
+\x94\x4a\x3a\xbe\x28\x91\x8e\x4f\xf0\xc4\x7d\xff\x9b\xdc\xf0\x41\
+\xe6\x2f\x5c\x64\x47\x94\xa1\x54\x31\xa6\x28\x0a\xb7\xdf\x7e\x3b\
+\x9b\x36\x6d\x72\x98\xdf\x01\xc0\xeb\x4b\x3b\x76\xec\xe0\xeb\x5f\
+\xff\x3a\x2f\xef\x7e\x11\x7f\xeb\x0a\xae\xf8\xd3\x4f\xe2\xad\x6e\
+\xb2\xdd\xa0\xa6\x69\xe2\x77\x99\xdc\x75\xdb\x7b\xf8\xcb\xbf\xf8\
+\x33\x3e\x79\xeb\xad\xe4\x72\xb9\x0a\xaf\x8d\xa2\x28\x1c\x3d\x72\
+\x84\x8f\x7c\xe4\x66\x3a\xdf\x70\x23\x8b\x2f\x79\x0b\x9a\x21\x92\
+\x49\xc6\x38\xfe\xf2\x13\x8c\xf4\xee\x67\xb4\xff\x10\x7a\x31\x8f\
+\xa8\xa8\xb8\x3c\x7e\x04\x41\x24\x1f\x39\xc9\xda\x75\xeb\x67\xa8\
+\x57\x16\x38\xbf\xfb\xdd\xef\xd2\xd1\xd1\xe1\x80\xc0\x01\xc0\xeb\
+\x43\xbd\xbd\xbd\x7c\xf5\xab\x5f\x65\xff\xbe\x7d\x9c\x1c\x18\x60\
+\xf5\x5b\x3e\x4e\x75\xe3\x3c\x7a\x9e\x7f\x94\xc8\xe0\x71\x54\xb7\
+\x8f\xce\xb5\x57\xd0\xb9\xfe\x6a\x32\xf1\x71\x7e\xfe\xf5\x8f\xf1\
+\xcc\xd3\x4f\xd3\xd1\xd1\x61\x27\xb7\x59\xdb\xff\xfa\xc4\xff\xe4\
+\xd0\xa8\xce\x55\x7f\xfa\x37\x8c\x0d\x9f\x64\xd7\x63\xf7\x72\x74\
+\xd7\x56\x04\xd9\x83\xe2\xf1\xa3\x78\x82\x08\x92\x84\xa9\x6b\x18\
+\x7a\x91\x6c\x7c\x9c\xfa\x6a\x3f\xeb\xd7\x5f\x84\xa6\x69\x15\x52\
+\x00\x40\xd3\x34\xba\xba\xba\xf8\xc6\x37\xbe\x41\x20\x10\x70\x3e\
+\x96\x03\x80\xdf\xad\xea\x93\x4c\x26\xb9\xe7\x9e\x7b\x78\xe8\xa1\
+\x87\x48\x26\x13\x0c\x8f\x4f\xa2\x19\x02\x89\x89\x11\x3c\x75\xf3\
+\xf1\xd6\xb6\xa1\x15\x32\xc4\x4e\xee\xa3\xba\xbe\x89\x37\x7f\xf4\
+\xcb\x0c\x1c\xdc\x41\x28\xd3\xcb\x43\x8f\xfc\xdc\x2e\x68\xf7\x7a\
+\xbd\x3c\xf2\xf0\x43\x7c\xfd\xae\xfb\x58\xf9\x96\x8f\x73\xf2\xc0\
+\xf3\x3c\xff\xd0\x9d\xb8\xea\x17\x51\xdb\x79\x11\xae\x60\x03\xb2\
+\xdb\x87\xa4\x78\xc0\x62\x70\xd3\x20\x31\x7c\x94\xe8\xc1\x5f\xb1\
+\x71\xf5\x52\xda\x3b\xe6\x33\x30\x30\x30\x03\x04\xf9\x7c\x9e\x1b\
+\x6e\xb8\x81\x4f\x7d\xea\x53\x8e\x2d\xf0\x5b\x90\x13\x07\x98\x45\
+\xef\x7f\xf9\xe5\x97\xf9\xe9\x4f\x7f\x8a\xdb\xed\x26\x95\x4a\x33\
+\x3e\x3c\x80\x2e\x79\x59\x74\xfd\xff\x62\xc1\x15\x1f\xa6\x71\xe5\
+\x35\xb4\xae\x7f\x3b\xcb\xdf\x7d\x3b\xa6\xab\x9a\x9f\x7c\xe5\x16\
+\x3a\x56\x6c\x62\xdf\xe1\x3e\x9e\xf8\xcd\x6f\x50\x55\x15\x49\x92\
+\x18\x1f\x1f\xe7\x91\x9f\x3d\x82\xbf\x63\x3d\xa7\xf6\x6f\xe7\xf9\
+\x47\xbe\x43\xd3\x45\xef\xa2\xe3\xf2\x3f\x25\xd0\xdc\x8d\xe2\x0d\
+\x21\x4a\x0a\xa6\xa1\x61\xea\xc5\xd2\x66\xe8\x04\x9a\xbb\xf0\xcd\
+\xbf\x98\x53\xa7\x4e\x52\x5f\x5f\xcf\xfc\xf9\xf3\x6d\xa3\xd7\x5a\
+\xaf\x5c\x2e\x17\x8f\x3e\xfa\x28\xcf\x3c\xf3\x8c\x13\x1f\x70\x00\
+\xf0\x3b\x10\x85\x53\xcc\x3f\x30\x30\xc0\xdd\x77\xdf\x8d\x24\x49\
+\xe4\x72\x39\xe2\x93\x51\xfc\xad\xcb\x69\xdd\xf8\x6e\x5c\x81\x3a\
+\x4c\xd3\xb0\x19\x51\x30\xa1\xfd\xb2\x3f\xc5\xd7\xba\x94\x5f\xdf\
+\x73\x3b\xdd\x9b\xde\xc3\xbf\xfd\xeb\x37\x50\x55\x15\x55\x55\x79\
+\xfa\xc9\xdf\xd0\x1f\x31\x30\x8a\x39\xf6\x3d\xf3\x73\x9a\xd6\xbf\
+\x83\x50\xfb\x4a\x04\xe1\xec\x1e\x1c\x8b\x91\x83\xcd\x8b\x89\x53\
+\xc3\xc1\xfd\x7b\x69\x6c\x6c\xa4\xbe\xbe\x7e\xc6\xfe\x92\x24\xf1\
+\x6f\xff\xf6\x6f\x64\xb3\x59\x47\x02\x38\x00\xf8\xed\x56\x7f\x80\
+\x5c\x2e\xc7\xe3\x8f\x3f\xce\x89\x13\x27\x50\x55\x95\x54\x2a\x49\
+\x3a\xa7\xe1\xad\x69\x41\x94\x64\x4c\x43\xaf\xd0\xed\xc1\xc4\xd0\
+\x35\x9a\x56\x5f\x4f\xde\x10\x38\x79\xf0\x05\x46\xe2\x1a\x2f\xbd\
+\xb8\x8b\x78\x3c\xce\x0b\x2f\xed\x21\x55\x14\x18\xe9\xdd\x87\xda\
+\xb4\x84\x50\xdb\x52\xb0\xc0\x73\x2e\x86\x35\x4d\xdc\xc1\x7a\xf0\
+\x35\x30\x32\x3a\x4a\x3c\x1e\xa7\xaa\xaa\x8a\x40\x20\x50\xb1\xda\
+\x5b\xd3\x66\xee\xbe\xfb\xee\x8a\xe7\x70\xc8\x01\xc0\x6b\x5a\xfd\
+\xc3\xe1\x30\xf7\xdf\x7f\x3f\x1e\x8f\x87\x6c\x36\xcb\xc8\xc8\x28\
+\xd9\x74\x12\x2d\x1b\xc7\xd0\x35\x40\x98\x7e\x60\xe9\x1f\x49\xa1\
+\x69\xdd\xdb\x39\xd5\xf3\x02\xe9\x02\x3c\xf0\xa3\x1f\x71\xb8\xe7\
+\x10\xfb\x7a\x87\x29\xa6\x63\x44\xe3\x29\xaa\xda\x57\xc1\x14\xf3\
+\x9e\x8b\xf9\x05\x41\xa4\x98\x4d\x90\x1a\xeb\x43\x50\xdc\x88\xb2\
+\x0b\xf7\x54\x26\x6a\x67\x67\x67\x45\x5b\x46\x28\x45\xa5\x1f\x7b\
+\xec\x31\x4e\x9e\x3c\xe9\xa8\x42\x0e\x00\x5e\x3b\xe5\xf3\x79\xbe\
+\xff\xfd\xef\x53\x28\x14\xd0\x34\x8d\xde\xde\x5e\x62\x39\x81\x05\
+\x57\x7c\x98\xd6\x0d\xef\x44\x76\xfb\x30\x4d\xe3\xac\x00\x52\x3d\
+\x41\xea\x97\x5f\xc3\xd1\xdd\x4f\x72\xef\xbd\xf7\xf2\xe1\x0f\x7d\
+\x88\x57\x76\x3c\xc1\xe4\xf8\x30\x81\xd6\xe5\xa8\xfe\x1a\xcc\x73\
+\x04\xca\xca\x96\x7f\x44\xd9\x45\x6e\x72\x94\x89\x23\xdb\x51\xd5\
+\x12\xf3\x07\x02\x01\x6a\x6b\x6b\x59\xb4\x68\x91\xdd\x4e\xc5\x62\
+\x76\x5d\xd7\xb9\xeb\xae\xbb\x2a\xc0\xec\xd0\x85\x91\x93\x0a\x31\
+\xc5\x48\xfd\xfd\xfd\x6c\xdb\xb6\x0d\x59\x96\x19\x3c\x3d\x40\x5c\
+\x73\xb1\xf0\x8a\xf7\xa3\xfa\xaa\x31\x0d\xfd\xfc\x2b\xb7\x28\x51\
+\xd5\xb1\x06\x53\xd7\xc8\x27\x27\x88\x17\x72\x28\x41\x1f\xae\x86\
+\xc5\x04\x5a\xba\x31\xf5\x22\x17\xca\x9a\xb2\xcb\x8b\xe2\x0d\x61\
+\xe6\xe2\x14\xf2\x59\x62\x93\x93\x36\xd3\xbb\x5c\x2e\x6a\x6a\x6a\
+\x18\x1b\x1b\xb3\xe3\x11\x86\x61\xd0\xd3\xd3\xc3\xc1\x83\x07\x59\
+\xb1\x62\x85\xf3\x41\x1d\x00\xbc\x3a\xd2\x75\x9d\x9f\xfc\xe4\x27\
+\x08\x82\x40\x36\x9b\x61\x2c\x91\xa7\x79\xcd\x5b\x51\x7d\x35\x18\
+\x7a\xb1\x22\x13\x73\xba\x0e\x5e\xa1\x8e\x28\x2e\x6a\x97\x6c\x2e\
+\x03\x8a\x00\x18\x98\x86\x31\x03\x40\x15\x3f\x9b\xe6\x19\x37\x28\
+\x60\x9a\x06\xee\xaa\x66\xaa\xe6\x2d\x23\x97\x4d\x13\x8b\xc5\x2a\
+\xe6\x11\x54\x55\x55\x11\x89\x44\x2a\xea\x12\xb2\xd9\x2c\x0f\x3c\
+\xf0\x00\x5f\xfc\xe2\x17\x9d\x0f\xea\x00\xe0\xd5\xd1\xd8\xd8\x18\
+\x4f\x3c\xf1\x04\xa2\x20\x30\x3e\x11\x45\xf0\x35\x11\x6c\x5e\x8c\
+\xa1\xe5\xa7\xf5\xf6\x17\xd1\xf2\x49\x8a\xd9\x24\xee\x60\x03\x08\
+\x12\x00\x17\xaf\xee\x46\x95\x25\x74\xc3\x40\xd3\x0d\xf2\x85\x22\
+\x91\xc9\x24\x91\x58\x92\x44\xba\x94\x1e\x21\x4b\x62\x05\x68\x04\
+\x41\xc0\xd4\x35\x04\x51\xc2\x14\x84\x4a\xe9\x60\x9a\xa8\xbe\x2a\
+\x94\x50\x2b\xd9\xc4\x21\x24\x49\xc2\xeb\xf5\x56\x1c\xdb\xd1\xd1\
+\x41\x5f\x5f\x9f\xfd\xb3\xae\xeb\x1c\x3a\x74\x88\xc3\x87\x0f\xb3\
+\x74\xe9\x52\xe7\xa3\x3a\x00\xb8\x30\xd5\xc7\x1a\x5d\x6a\x18\x06\
+\xc5\x62\x81\xd1\x48\x82\xb6\x4d\x37\x60\xe8\x33\x0b\x5f\x04\x49\
+\x22\x7e\xfa\x20\xaa\xbf\x16\x82\x0d\xf6\xef\x37\xaf\x5f\x4a\x51\
+\xd3\x51\x64\x09\xb7\xaa\xe0\xf7\xb9\x09\xf8\xdc\xe4\xf2\x1a\xb1\
+\x78\x8a\x83\xc7\x07\xd8\xb5\xff\x38\xa3\x13\x93\x67\xa4\x87\x28\
+\x91\x89\x0d\xe2\x09\x35\x23\x2a\xae\x99\xf7\x05\xb8\xab\x9a\x30\
+\xf3\x43\x08\x98\x54\x55\x55\x55\xdc\x73\x28\x14\x22\x1a\x8d\x12\
+\x8b\xc5\x6c\x10\xa4\x52\x29\x7e\xfe\xf3\x9f\xb3\x74\xe9\x52\x27\
+\x38\xe6\x00\xe0\xc2\xbc\x3f\xb9\x5c\x8e\x5f\xfc\xe2\x17\x88\xa2\
+\x48\x34\x36\x89\x12\x6a\xc1\x57\x33\x0f\xad\x90\x99\xd9\xdd\x41\
+\x94\x49\x0e\x1d\xa5\x7a\xc1\xda\x8a\xdf\xff\xf3\x77\x1f\xa1\xa9\
+\xb6\x1a\xd3\x34\x18\x1e\x8f\x61\x9a\x26\x55\x41\x1f\x4b\x17\xb6\
+\xd1\x3d\xbf\x85\x8b\x57\x77\x53\x5b\x1d\xe0\xa7\xdb\x5e\x20\x16\
+\x4f\x21\x8a\x12\x5a\x36\x4e\x31\x93\x40\x71\x05\x50\x15\x57\x05\
+\xc3\x96\xd4\x2c\x03\x57\xa0\x86\xe4\x88\xc2\xe8\xc8\x08\xa1\xaa\
+\x6a\x1b\x3c\xd6\xbf\xd5\xd5\xd5\xc4\x62\x31\xfb\xd8\x62\xb1\x48\
+\x4f\x4f\x0f\xb1\x58\x8c\xea\xea\x6a\x87\xbb\x1d\x2f\xd0\xf9\xe9\
+\xa9\xa7\x9e\xa2\x50\x28\x94\x9a\x52\x45\x13\xd4\x2c\xbc\x08\x43\
+\x2f\xcc\xb2\x7a\x0a\xe8\xf9\x34\x5a\x3e\x8d\x69\x9c\x49\x50\x33\
+\x0c\x83\xf7\xbe\xe9\x32\xbe\xf1\x99\x0f\xf1\xc5\xbf\x7e\x3f\xd7\
+\x5e\xbe\x1a\x49\x12\x59\xbd\x78\x3e\x2b\xbb\xdb\x19\x8b\x4c\xf2\
+\xdd\x9f\x3c\xc1\x03\xbf\xdc\x41\x32\x9d\xb5\xe3\x07\xd9\xc9\x30\
+\x98\x26\x03\xcf\x3f\x00\x08\x76\x70\xac\x5c\x0d\x72\xf9\xaa\x28\
+\xa2\x32\x19\x8f\x91\xcd\x66\xc9\x64\x32\x64\x32\x19\xb2\xd9\x2c\
+\xd9\x6c\x16\x45\x51\x70\xbb\xdd\x67\x3e\xe6\xd4\xa4\xc9\xa7\x9e\
+\x7a\xaa\x02\x28\x0e\x39\x12\xe0\xac\xea\xcf\xaf\x7e\xf5\x2b\x44\
+\x51\x24\x9f\xcf\x93\xc8\xe4\x69\x6d\x5d\x8c\xa9\x6b\xb3\x78\x79\
+\x44\xd2\xe1\x53\x28\xde\x10\x86\x5e\x04\x4a\x01\xad\xa6\xba\x6a\
+\xae\xbe\x64\x25\x8f\x3c\xf1\x22\x6e\x55\xe1\xca\x8d\x2b\x18\x1c\
+\x8d\xb0\x65\xc3\x32\x16\xb4\x35\xb0\x79\xfd\x52\x4e\x8f\x46\xb8\
+\xf7\xa1\x27\x39\x31\x18\x46\x96\x64\x8a\xd9\x38\xa6\x5e\x20\x13\
+\x39\x4d\x36\x36\x44\x31\x33\x89\x20\x48\xc8\x1e\x7f\xe5\xea\x24\
+\xab\xe8\xa2\x8a\xac\x88\xd4\xd5\xd6\x32\x1b\x3b\xab\xaa\x5a\x51\
+\x37\x1c\x8f\xc7\x79\xe1\x85\x17\x78\xd7\xbb\xde\xe5\xa8\x40\x8e\
+\x04\x38\xb7\xfa\x33\x36\x36\xc6\x81\x03\x07\x10\x04\x81\x44\x32\
+\x85\xb7\x7e\x3e\x82\x20\x61\x1a\x3a\x7a\x31\x57\xb9\x82\x0a\x22\
+\x93\xa7\x0f\xa0\xfa\xab\x11\x24\xd9\xb6\x11\x3a\xdb\x1b\x99\x88\
+\x25\xf9\xde\xc3\x4f\xf1\xf3\x27\x5e\x22\x9b\x2f\xb0\xb2\xbb\x83\
+\x70\x24\xce\x73\xbb\x0f\x73\xfc\xd4\x08\xa9\x74\x8e\xea\xa0\x1f\
+\xd3\x04\x04\x81\x62\x2a\x0a\x40\x6a\xf4\x18\xfe\x9a\x46\xc6\x0e\
+\x3f\x4b\x3e\x39\x0e\x82\x38\x03\xa4\x8a\x3b\x40\xbe\x58\xea\x14\
+\xad\x28\x0a\x8a\xa2\x20\xcb\xb2\xbd\xd5\xd4\xd4\xe0\xf3\xf9\x6c\
+\x40\x0b\x82\x40\x38\x1c\xb6\x07\x77\x38\xe4\x00\xe0\xac\xb4\x75\
+\xeb\x56\xdb\xad\x99\x4a\xa7\xf1\xd6\xce\xc3\x34\x0d\xb4\x7c\x9a\
+\x89\xc3\xcf\x31\x79\xf2\x15\x44\x59\x45\x52\xbd\x44\xfb\x5e\x24\
+\x1d\xee\x2b\xa5\x2e\x8b\x32\x46\xb1\xe4\xdd\xf1\xb8\x55\xa2\xf1\
+\x24\x92\x28\x81\x00\x93\xc9\x34\x7e\xaf\x1b\x97\xaa\x80\x20\x30\
+\x99\x48\x13\x89\x27\x40\x28\x81\xc9\x28\xe6\xd0\x8a\x39\xf2\xc9\
+\x09\xdc\x2e\x37\x57\xbc\xef\x6f\x89\x1e\xdf\x89\xec\xf6\xc1\xf4\
+\x35\xde\x34\x71\xf9\x42\xc4\xd3\x39\xc6\xc6\xc2\x24\x12\x09\xe2\
+\xf1\x38\x89\x44\xc2\xde\xe2\xf1\x38\xd5\xd5\xd5\x15\xae\xd9\x89\
+\x89\x09\xbb\x7e\xd9\x51\x83\x1c\x15\xe8\xac\xea\xcf\x8e\x1d\x3b\
+\x6c\x17\x62\x36\x97\xc7\xeb\xaf\x01\xd3\x40\xf1\x86\x08\xce\x5b\
+\xc1\xc8\x9e\xc7\x18\x3f\xfc\x2c\xa2\xac\xa2\x65\x26\xd1\xf2\x19\
+\x3b\x1a\x6c\x68\x05\x24\x20\x32\x99\x62\x7e\x6b\x03\x1e\xb7\x8a\
+\xc7\xad\xd2\xda\x50\xc3\xee\x43\x27\xa8\xad\x0a\x70\xdf\xc3\x4f\
+\xd1\x58\x17\xe2\xda\xcb\x56\x53\x28\xe8\x08\xa2\x48\x31\x5d\x5a\
+\xfd\xe3\x83\x47\x58\x7f\xe5\xbb\xe9\xda\xf0\x46\xd4\xef\x7d\x11\
+\x41\x52\x98\xa9\xe3\x98\x48\x2e\x0f\xb9\xa8\x41\x22\x91\xc0\xe5\
+\xf6\xcc\xca\xd0\x5e\xaf\xb7\xa2\x44\x32\x91\x48\x70\xe4\xc8\x91\
+\x0a\xb7\xab\x43\x0e\x00\x2a\xd4\x9f\x78\x3c\xce\xc9\x93\x27\xed\
+\x95\xd6\xd0\x0d\x84\x29\x15\xc4\x34\x0c\xbc\x75\xed\x34\xac\xb8\
+\x8a\xc1\x17\xfe\x2f\xf9\xc4\x38\xd7\xdf\x72\x07\x23\xbd\x7b\x19\
+\x1a\x1e\x41\x76\x07\x30\xf4\x52\xd1\xcb\xc1\xe3\x03\x18\x86\xc9\
+\x57\x3f\xf5\xe7\x98\xa6\xc9\xc8\x44\x8c\xe1\x70\x94\x85\x6d\x0d\
+\xc4\x93\x69\x5a\xea\xab\x31\x0c\x93\x82\xa6\x21\x20\xa0\xe5\xd2\
+\x98\x7a\x81\xfc\xe4\x08\x2b\xdf\xf0\x0e\xfa\xf7\x3d\x47\x21\x93\
+\xc2\x1d\x6a\x42\x2f\xe6\xa6\x31\xac\x80\x5e\xc8\xe1\x16\x4c\x7b\
+\x7c\xea\xd9\x00\x5d\x5b\x5b\xcb\xf8\xf8\x38\xa2\x28\x22\x8a\x22\
+\xc3\xc3\xc3\xf4\xf5\xf5\xd1\xd9\xd9\xe9\x70\xb9\xa3\x02\xcd\xa4\
+\x5d\xbb\x76\xd9\x91\x54\xdd\x30\x10\x45\x81\xec\xe4\xa8\xad\x87\
+\x0b\x08\xe4\x92\x51\xaa\xfd\x6e\xea\x6b\xab\x99\x38\x7d\x8c\x86\
+\x8e\x25\x08\x5a\xae\xa4\xff\x1b\x25\x43\x59\xd3\x74\xbe\xf3\xe0\
+\x36\x26\x13\x69\x86\xc2\x11\x7e\xfc\xd8\x0e\x92\x99\x2c\x03\xc3\
+\x13\x14\x35\x1d\x9f\xb7\xd4\xdf\x53\xd3\x74\x0c\x2d\x8f\x69\x68\
+\x24\xc3\xfd\x2c\x5c\xb3\x99\x5c\x2a\xce\xaf\xee\xbe\x1d\x59\x75\
+\xa1\x4f\x73\xbb\x9a\xa6\x89\x20\x8a\xe4\x53\x11\x24\x23\x87\xc7\
+\xeb\xc3\xe3\xf1\xe0\xf5\x7a\xf1\x78\x3c\xf6\xff\xad\xad\xbe\xbe\
+\xbe\x42\x0d\x1a\x1b\x1b\xa3\xb7\xb7\xd7\x51\x83\x1c\x09\x70\x7e\
+\x00\x98\xa6\x89\x4b\x91\x18\xeb\x7f\x85\xc6\xe5\x57\x96\x18\xb6\
+\x90\x41\x4f\x47\x71\xab\x12\xf5\x8d\x6d\x1c\xd9\xfe\x10\x9b\xde\
+\xff\x77\x08\x7a\x6e\xaa\x78\x45\x07\x4c\x04\x41\xa4\x7f\x68\x9c\
+\x6f\xfd\xe0\x31\x8a\xc5\x92\x2a\xa5\x8f\x1a\x1c\xee\x1b\xc4\xed\
+\x52\x19\x1e\x8b\xb1\x6b\xdf\x31\x62\x89\x34\xa6\x56\x1a\x89\x94\
+\x1c\xe9\xe5\xca\xb7\xff\x6f\x1e\xbf\xef\x8b\xb4\x36\xd5\x91\x4a\
+\x67\xc8\x44\x87\xf0\xd5\xcf\x07\xd3\x6a\xbd\x2e\xa2\xe5\x33\x14\
+\xe3\xa3\x14\xcd\x34\xd1\x68\xf4\x9c\x2a\x8d\xd5\xbe\xdd\x6a\xbc\
+\x15\x8d\x46\x39\x75\xea\x94\xa3\x06\x39\x00\x98\x9d\x0e\x1d\x3a\
+\x64\xb7\x31\x31\x0c\xa3\xd4\xf1\xad\x30\x49\xfc\xf4\x01\x42\xf3\
+\x56\x92\x89\x0e\x63\x26\x87\xf1\xf9\x83\x88\xa2\x44\xd0\xef\x65\
+\xfc\xe4\x21\xd0\x8b\x98\x5a\x61\xca\x15\x5a\xa2\x2f\x7e\xe2\x46\
+\x24\x51\x44\x14\x05\x24\x51\x44\x37\x0c\x26\x26\x93\x0c\x85\xa3\
+\x1c\xed\x1f\xe2\xe8\x89\x21\x52\x99\x3c\x86\x96\xa7\x98\x89\xe3\
+\x52\x15\xe2\xe3\xc3\x44\x07\x0f\xf3\x86\xcd\x9b\xe9\x3b\xd1\x4f\
+\x6c\xf8\x28\xfe\xc6\x85\x18\x5a\x29\xc6\x20\x4a\x32\x99\x70\x1f\
+\xf9\xe8\x00\x72\x43\x68\x46\xfe\xd1\x0c\x51\x2e\x8a\x04\x83\x41\
+\xe2\xf1\x38\xa2\x28\xa2\x69\x1a\x23\x23\x23\x64\xb3\xd9\x8a\x3c\
+\x22\x87\x1c\x00\x30\x32\x32\x42\x26\x93\xa9\xf8\x9d\xdb\xed\x46\
+\x11\x21\xd2\xfb\x22\xa1\x79\x2b\x48\x8c\x1c\x43\x2e\xc6\x69\x6e\
+\x59\x4e\x22\x91\xa0\xbe\xb1\x89\xbe\x97\x1f\xa7\xb1\x73\x1d\x91\
+\xc9\x38\x86\x76\x66\x7c\xd1\x3f\xdd\xfd\x30\x86\x61\x22\x49\x02\
+\x92\x28\xa1\xaa\x32\xd5\x01\x1f\xcd\x0d\xd5\x6c\x5c\xd5\xc5\xc2\
+\xb6\x46\x7e\xf9\xdc\x3e\x92\xe3\x79\x52\x63\x27\x59\xb8\x7a\x33\
+\xcf\xff\xfc\x3b\xac\x5a\xb1\x02\x41\x10\x68\x6a\x6c\xa4\xff\xe5\
+\xbd\xb4\xac\x7d\xf3\x14\x83\x0b\xe8\x85\x0c\x89\xa1\x1e\xf4\x4c\
+\x14\x7f\x60\x1e\xa1\x50\x88\x9a\x9a\x9a\xb3\xb6\x66\x34\x0c\x83\
+\x42\xa1\x60\xd7\x23\x4b\x92\x44\x38\x1c\x66\x70\x70\x90\xae\xae\
+\x2e\x87\xd3\x1d\x00\x9c\xa1\xa3\x47\x8f\x56\xb4\x1b\x11\x45\x91\
+\x50\x28\xc4\xd8\x58\x98\x74\x7c\x94\xd1\xfd\x8f\x93\x39\xf5\x22\
+\x8b\x3b\x17\xe0\xf5\x7a\x29\x14\x0a\x64\x32\x06\x6e\x45\x24\x3a\
+\xd4\x4b\x51\x70\xe1\x36\xcf\x1c\x3f\x11\x4b\xcc\xb8\xc6\x00\xe3\
+\xec\x3f\x76\x8a\xad\xdb\xf7\xda\x1e\x1d\x01\x93\x7c\x72\x82\xe8\
+\x30\x04\x3d\xaa\x9d\xdf\xe3\xf1\xb8\x09\x78\x14\xe2\x03\xfb\x09\
+\xcd\x2b\xa5\x33\xa7\x46\x7b\x89\xf6\xee\x22\xe8\x2f\xe9\xfe\x2e\
+\x97\x0b\x59\x96\xcf\x0a\x00\xd3\x34\x09\x85\x42\x18\x86\x61\xf7\
+\x30\x1d\x1b\x1b\x63\x64\x64\xc4\x01\x80\x03\x80\x99\x00\xd0\x34\
+\xad\x02\x00\x5e\xaf\x17\x45\x51\x29\xc6\xc6\x18\xdb\xbf\x95\xae\
+\xee\x2e\x5a\x5a\x5b\xd1\x75\xdd\x06\x41\x4d\x4d\x2d\xc7\x8f\x1f\
+\x43\xa9\x9e\x57\x96\x0e\x21\x20\x88\xa2\xbd\x72\xdb\x69\x9d\x56\
+\x01\xbb\xed\x36\x2d\x62\xe8\x45\x8c\x7c\x9a\xd1\x13\x23\x6c\xb8\
+\x68\x9d\xad\xce\x88\xa2\xc8\xbc\xb6\x66\x8e\xec\xdb\x46\xb0\x75\
+\x29\x85\x54\x94\xb1\x9e\xa7\x31\x0d\x1d\xd5\xe5\xb2\x47\x33\x9d\
+\xaf\x31\x6f\xb1\x58\xc4\xed\x76\xdb\x6d\x59\x62\xb1\x18\x13\x13\
+\x13\x15\xae\x5f\x87\xe6\x30\x00\x2c\x26\xe8\xed\xed\xad\x90\x00\
+\x6e\xb7\x1b\x97\xcb\x85\xcf\xe7\x23\xee\x72\xd1\xd8\xd8\xc8\xa2\
+\x45\x5d\xf6\xbc\x2f\x59\x96\x51\x55\x15\xc3\x30\xf0\xfb\x7c\x14\
+\x4a\x21\x5d\x44\x49\x25\x9f\x1c\x23\x1b\x19\x22\x97\x1c\xa7\x98\
+\x9c\x40\x2b\x64\x11\x25\x05\xd5\x5f\x8b\xb7\x7e\x3e\x81\xa6\x45\
+\x48\x2e\x1f\x7a\x31\x4f\x21\x19\x45\x2b\x64\xa9\x0a\xf9\xed\xfa\
+\x5e\x4b\x7d\xf1\xb8\xdd\x84\xdc\x70\xe2\x99\xef\xe1\xad\x6a\x44\
+\x32\xf2\xd4\x34\xce\xc3\xad\x98\x78\x3c\x1e\x7b\x52\xe5\xb9\x5c\
+\xbb\xba\xae\xe3\x76\xbb\x49\x26\x93\x08\x82\x40\x26\x93\x21\x12\
+\x89\x38\x86\xb0\x03\x00\x2a\x98\x20\x1c\x0e\x57\xf4\xd9\xa9\xad\
+\xad\xa5\xae\xae\x8e\x44\x22\x41\x34\x1a\x25\x99\x4c\x56\xb8\x0e\
+\x4d\xd3\xc4\xe7\xf3\x95\xa4\x40\x6d\x2d\xc3\xe3\x09\x52\x23\xc7\
+\x18\x79\xe5\x31\xf4\x42\xe6\xec\x17\x3c\xfc\x0c\x08\x22\x35\x0b\
+\xd7\x53\xb3\xe8\x12\xb4\x7c\x1a\xbd\x90\xa7\xbd\xbd\x0b\x49\x92\
+\xec\x73\x4f\x4e\x4e\x92\xcb\xe5\xe8\x5c\xb8\x80\xdd\x2f\xbd\x84\
+\x5b\xd4\xb8\xee\xe6\x7f\xe4\xd8\x8b\x5b\xd1\xc2\x07\x59\xb0\x60\
+\x01\x75\x75\x75\xf6\x31\x67\x23\x6b\x8c\x6b\x22\x91\xb0\xe3\x01\
+\x91\x48\x84\x54\x2a\x85\xdf\xef\x77\xb8\x7d\x36\xe7\xc1\x5c\x7b\
+\xe0\x78\x3c\x6e\xcf\xdf\xb5\x00\x10\x08\x04\x70\xb9\x5c\x54\x57\
+\x57\x13\x0a\x85\xc8\x64\x32\x9c\x3e\x7d\xba\x82\x49\x25\x49\x42\
+\x55\x55\xaa\xaa\xaa\x51\x85\x02\x66\xec\x04\xe8\xb9\x0b\x10\x3b\
+\x06\xd1\xbe\x97\xe8\xdd\xfa\x6f\x8c\x1f\x7d\x1e\xaf\xd7\x4d\x75\
+\x75\x8d\x7d\xed\x74\x3a\x4d\x3a\x9d\xc6\x30\x0c\x12\xf1\x38\x55\
+\x75\x8d\xac\x7f\xd3\x07\x59\x7a\xe9\xf5\x34\x2c\x58\x81\x8e\x88\
+\x38\xb5\xaf\xae\xeb\xe7\xdc\x0c\xc3\xc0\xe5\x72\x55\x14\xcc\x47\
+\x22\x11\xdb\x30\x76\xc8\xb1\x01\x18\x1d\x1d\xb5\x75\x64\x8b\x34\
+\x4d\x23\x9d\x4e\x23\x8a\x22\x6e\xb7\x1b\xc3\x30\x18\x18\x18\xa0\
+\xaa\xaa\x8a\x50\x28\x64\xab\x42\x56\xb7\x88\x4d\x9b\x36\xe3\xf7\
+\xfb\x19\x1e\x1e\xe6\xd9\x67\x9f\xbd\xa0\xeb\xfa\xbc\x5e\x44\x09\
+\x5a\x5b\xdb\x90\x65\xd9\x2e\x60\xb1\xd4\x15\x80\x48\x6c\x92\x86\
+\x45\x1b\x58\x73\xd5\xfb\xc8\xa5\x13\xb4\x76\xad\xe1\xf4\xfe\xa7\
+\xe9\xeb\x3b\x8e\xac\x28\x15\x76\xcb\xb9\xa4\x40\x79\xf9\x66\x3c\
+\x1e\x27\x99\x4c\x3a\x9c\xee\x48\x80\x33\x00\x28\x1f\x55\x6a\x9a\
+\x26\xae\x29\x43\xd3\xeb\xf5\xe2\xf7\xfb\xf1\x78\x3c\x24\x12\x09\
+\x8e\x1e\x3d\x5a\xd1\x74\x4a\x96\x65\x7b\x1f\x51\x14\xa9\xab\xab\
+\xbb\xa0\x6b\x7a\xbd\x5e\xde\xb0\x65\x0b\xef\x7a\xd7\xbb\x59\xb4\
+\x68\x11\x92\x24\x91\xc9\x64\x48\x24\x12\xb6\x24\x8a\x44\x22\x64\
+\x34\x81\xcb\xdf\xf5\x71\x74\xad\x58\xea\x37\x34\x7f\x29\xd5\xf3\
+\x96\x33\x34\x34\x62\xdf\xc7\xf9\x36\x51\x14\xed\xd9\x02\x56\x9b\
+\xc7\xe9\x2e\x5f\x87\xe6\xb0\x04\x18\x1f\x1f\xb7\x0d\x60\x2b\x6a\
+\xda\xda\xda\x8a\x61\x18\xf8\x7c\x3e\x92\xc9\x24\x63\x63\x63\x64\
+\x32\x19\xc6\xc7\xc7\xd9\xb7\x6f\x1f\x2b\x56\xac\xc0\xe7\xf3\x95\
+\x8c\x60\xbf\x9f\xc9\xc9\x33\xa5\x8d\x7e\xbf\x9f\x3f\xfb\xb3\x3f\
+\x03\xb0\x55\x26\x4b\xad\x19\x19\x19\x61\xdf\xbe\x7d\x74\x75\x75\
+\x51\x55\x55\xc5\xc4\xc4\x04\x86\x61\x90\xcd\x66\xed\x73\x08\x82\
+\x40\x34\x1a\x21\x9e\x29\xf2\x96\x8f\xfd\x13\x9e\x40\x15\x86\x56\
+\x44\x10\x45\x0c\x43\xa7\x7b\xe3\x35\xec\x3c\xb5\x8f\x5c\x26\x4d\
+\x47\x47\xc7\x39\x87\x71\x08\x82\x40\x3a\x9d\x66\x78\x78\xd8\x06\
+\x4c\x2a\x95\x72\x00\xe0\x00\xe0\x0c\x25\x93\xc9\x0a\x26\x52\x55\
+\xd5\xd6\xc1\x8b\xc5\xa2\x3d\x0e\x35\x16\x8b\xa1\xeb\x3a\x91\x48\
+\x84\x57\x5e\x7e\x99\xd5\x6b\xd6\x10\x0c\x06\xed\xf4\x09\x2b\xda\
+\xda\xd8\xd8\xc8\xd7\xbf\xfe\x75\xdb\xae\x28\xf7\x36\x6d\xdf\xbe\
+\x9d\xaf\x7e\xf5\xab\xf6\x80\x6d\x2b\x5d\xc1\x1a\xb5\x2a\x49\x12\
+\xa7\x4e\x9d\x22\x99\xce\x71\xc3\x5f\x7f\x93\xc6\x8e\xa5\x68\x85\
+\x3c\xa8\x02\xb2\xa8\x62\xe8\x1a\xcd\x0b\x96\x53\xd5\xb6\x9c\x9e\
+\x23\x7b\x69\x6c\x6e\xc1\xef\xf7\x9f\x69\xcd\x78\x96\x2e\x13\x8a\
+\xa2\x90\xcd\x66\x11\x45\x91\x64\x32\x49\x3a\x9d\x76\x5c\xa1\x0e\
+\x00\x4a\x94\x48\x24\x2a\xda\x89\x88\xa2\x48\x22\x91\xc0\x34\x4d\
+\x0c\xc3\x40\x96\x65\xaa\xaa\xaa\x88\x46\xa3\xe4\xb2\x19\x9a\xbb\
+\xd6\x82\x20\xb1\x67\xcf\x5e\x56\xae\x5c\x51\x51\x6b\x9b\xcb\xe5\
+\xa8\xae\xae\xa6\x58\x2c\xce\xd0\xcf\xdd\x6e\x37\xe1\x70\x98\x74\
+\x3a\x4d\x6b\x6b\xab\x0d\x10\xd3\x34\x09\x04\x02\x64\xb3\x59\x4e\
+\x9c\x38\x41\xc1\x94\xf8\xe0\x17\x1e\xc0\x5f\xd5\x40\x21\x9f\x2d\
+\x35\x52\xd1\x35\x50\x4a\x7d\x80\x74\xad\xc8\xda\x2b\xdf\xc5\x2f\
+\xee\x7a\x91\x3d\xaf\xbc\x4c\xf7\xe2\x25\xf6\x79\x66\x93\x00\xd3\
+\xef\xc3\x2a\xa5\x74\x5c\xa1\x0e\x00\x6c\x09\x50\x0e\x00\xcb\xff\
+\x6f\x31\x94\x32\x65\x6c\xe6\x72\x39\x72\x99\x34\xb2\xea\x66\xf3\
+\x9f\xfc\x35\x47\x5e\x7a\x9c\x13\xbb\x7f\xc9\x32\x97\x0b\xcf\x54\
+\x8b\x92\x58\x2c\xc6\xba\x75\xeb\xce\x3a\x37\x38\x93\xc9\xd8\x43\
+\xf4\xca\xa5\x8e\xae\xeb\xf4\xf5\x1e\xc3\xd7\xb8\x88\x3f\xf9\xd8\
+\x97\x09\xd6\xb7\xa1\x4f\x15\xd8\x98\x94\xd2\xb1\x0d\x5d\x47\x94\
+\x24\x0c\x5d\xa3\xb6\x75\x11\x6b\xae\x7a\x2f\x7b\x7f\x75\x0f\xcd\
+\xcd\xcd\xd4\xd4\xd6\x9d\x35\xc3\xd3\x9a\x69\x5c\xce\xf0\xe5\xd2\
+\xc9\x21\x47\x02\xcc\x08\x82\x05\x83\x41\x9b\xa1\x7c\x3e\x9f\x3d\
+\x84\x2e\x95\x4c\x90\xcd\xa5\xd0\x0d\x9d\x4b\xde\x7a\x13\x13\x27\
+\xf6\x51\x2c\x16\xf1\x4c\x49\x8e\x81\x81\x01\x6e\xbb\xed\xb6\x59\
+\x99\xd1\x4a\x4d\xb0\x5c\xaf\x56\x4f\x4f\x51\x14\x19\x1f\x0b\x53\
+\xd3\xbe\x82\x6b\x3e\xfc\x79\x02\xb5\x4d\x53\xfd\x81\xc4\xa9\xc2\
+\x78\x03\xd3\x34\x30\xf4\x22\xe2\x94\x4d\x51\xc8\xa5\x59\x75\xc5\
+\xbb\xe8\xdf\xff\x3c\x3b\x9e\x7f\x81\xf7\xbe\xf7\x4f\xec\xe0\xd8\
+\x74\xe6\x2f\x16\x8b\xc4\xe3\xf1\x8a\xe4\x39\x4b\xe5\x72\x24\x80\
+\xe3\x05\xb2\x07\x5d\x97\xab\x40\x85\x42\x81\x42\xa1\x40\x3e\x9f\
+\x47\xd3\x34\xbb\xd6\xb6\xa1\xa1\x01\xbd\x90\x21\x13\x8f\x10\xa8\
+\x6d\x46\x47\x44\xd7\x35\x44\x51\x24\x1c\x0e\xa3\xaa\x2a\xd7\x5e\
+\x7b\xed\xac\x12\x40\xd3\x34\x96\x2f\x5f\x4e\x6b\x6b\x2b\x23\x23\
+\x23\x15\xcc\x97\x4e\xa7\x98\xb7\x74\x23\x8a\x3a\xe5\xb3\x9f\x4a\
+\xa3\x90\x64\xc5\x06\x8f\xa1\x57\xb6\x63\xd4\x8b\x05\xae\xbb\xe9\
+\x76\xd2\xa6\x97\xc7\xb7\x6d\x23\x99\x4c\xa0\x69\x9a\xbd\x15\x8b\
+\x45\xbb\xaf\xe9\x74\x50\x14\x0a\x85\x0b\x9a\x64\xe9\x00\x60\x0e\
+\xd0\x74\x66\xcd\xe5\x72\x4c\x4c\x4c\x30\x31\x31\x41\x24\x12\x21\
+\x12\x89\x90\x48\x24\x28\x14\x0a\xa8\x2e\x17\xc5\x6c\x92\x6c\x6a\
+\x12\x49\x92\xa9\x6e\x59\x40\x78\x3c\xc2\xc4\xc4\x04\x2f\xbd\xf4\
+\x12\xff\xfc\xcf\xff\x6c\xcf\xed\x9d\x4e\xba\xae\xd3\xdd\xdd\xcd\
+\x75\xd7\x5d\x67\xe7\xe4\x58\xcc\x3c\x3a\x3c\x44\x5d\x5b\x17\x20\
+\x60\x94\xb5\x58\x91\x64\xb9\xe2\x3e\x75\xad\x78\x06\x10\x86\x81\
+\xea\xf1\xf3\x8e\x4f\x7c\x8d\xfe\xd1\x38\x0f\x3c\xf0\x00\x7d\x7d\
+\x7d\xc4\xe3\x71\xfb\xbe\x23\x91\x08\xb1\x58\x8c\x42\xa1\xb2\xad\
+\xcb\x6c\xc0\x70\x68\x0e\x03\xa0\x9c\x61\x15\x45\xc1\xe7\xf3\xcd\
+\xd8\x82\xc1\x20\xd5\xd5\x35\xa0\xe7\xc9\xa5\xe3\x14\x0b\x59\xd6\
+\x5c\xf5\x27\x44\x53\x79\x76\xed\xda\xc5\x27\x3f\xf9\x49\xae\xbf\
+\xfe\xfa\xb3\x1a\x97\xd6\x58\xd3\x0f\x7d\xe8\x43\xbc\xfd\xed\x6f\
+\xe7\xe0\xc1\x83\x64\xb3\x59\x7a\x0e\x1d\xc4\xdb\xb0\x90\xe6\x45\
+\xab\x11\xa7\xe6\x82\x59\xe7\x10\x44\xd1\x56\x7b\x4a\x6a\x90\x86\
+\x69\x1a\xb6\x8f\x5f\xd7\x8a\x04\x6a\x9a\xf8\xc0\x3f\xfc\x17\x52\
+\x68\x1e\x3f\x79\xf0\x41\x9e\x7f\xfe\x79\xa0\xd4\x24\xab\xaa\xaa\
+\x8a\xaa\xaa\x2a\x5c\x2e\x97\x1d\x10\x93\x24\xa9\x6c\x9e\x81\x53\
+\x1d\x36\xe7\x6d\x80\xe9\xaa\x80\xdb\xed\x26\x14\x0a\xcd\x60\x0c\
+\x4d\xd3\xc8\x64\x32\xf8\x7c\x3e\x32\xf1\x09\xb4\x42\x9e\x23\x2f\
+\x3c\xce\xbc\xa6\x3a\xde\xf3\xb6\xeb\xb8\xf5\xd6\x5b\x2b\xe6\xf8\
+\xce\x66\x8c\x5a\xa9\xc9\x9f\xfb\xdc\xe7\x08\x87\xc3\x3c\xf6\xd8\
+\xa3\x98\x26\xfc\xe9\xdf\xdf\x87\xdb\x17\xa4\x90\xcb\xa0\xeb\x5a\
+\xd9\x47\x10\x90\x65\x95\x82\x9e\x2d\x81\x55\xd7\xd0\x35\x0d\x79\
+\xca\x23\x54\x3a\xa7\x8e\xea\xf6\x72\xe3\x67\xbf\xcf\x33\x0f\x7c\
+\x8d\xfd\xcf\x3c\xc4\x2b\xaf\xbc\x82\x2c\x49\xa5\xa1\xda\x76\xc2\
+\x9c\x08\x94\xa4\x5d\x2a\x95\xc4\xed\x72\x71\xd5\xd5\x57\x33\x6f\
+\xde\xbc\x0a\x30\xcc\x75\xbb\x60\xce\x37\xc7\xcd\xe7\xf3\x76\xae\
+\x4c\xb9\xe1\x68\x18\x06\xb9\x5c\x0e\x59\x56\x48\x45\x47\x19\x3c\
+\xbe\x97\x91\x63\x2f\xf2\x9d\x6f\x7c\x89\x4b\x2f\xbb\xdc\xb6\x25\
+\xce\x3d\xec\xa2\x94\xa1\x59\x5d\x5d\xcd\xa7\x3f\xfd\x69\x6a\x6b\
+\x6a\x78\xf8\x67\x3f\xc7\x57\xd5\x00\x82\x80\x28\xc9\x68\x85\xdc\
+\xd4\x2a\x5f\x4a\xa9\x16\x25\x19\x51\x94\x30\xa6\x5a\xb2\xeb\xc5\
+\x02\xa2\x28\x95\xa4\x45\x59\x77\xea\x42\x2e\xcd\x1b\xde\xf7\xd7\
+\xac\xb9\xfa\xbd\x84\xfb\x0f\x93\x9c\x1c\xc3\xd0\x35\x54\x97\x07\
+\xd5\xe3\x47\x94\x64\xf4\x62\x81\x6c\x2a\x46\x78\xe0\x38\x1f\xfd\
+\xc4\x6d\xf8\xa4\x02\xef\xfb\xd3\x1b\xf9\xec\xed\xb7\xd3\xd6\xd6\
+\xe6\x18\xc5\x73\x11\x00\xaa\xaa\xce\x98\xb6\x98\xcd\x66\x67\x48\
+\x00\xd3\x34\xd1\x34\x0d\xd5\xe5\x26\x3d\x39\xc6\x8b\xbf\xba\x9f\
+\x37\x5d\xb5\x99\x85\x0b\x3b\x5f\x95\x3e\x6d\x79\x66\x6a\x6b\x6b\
+\xf9\x1f\x1f\xff\x38\x2f\xec\xdc\x61\x97\x53\x4a\x92\x4c\xd1\x2c\
+\x8d\x59\x92\x64\x75\xea\x00\x11\x59\x75\x51\xcc\x65\x30\x01\xc3\
+\xd0\xd1\x0a\x39\x14\x97\xbb\xd4\x49\xba\x0c\x74\xc5\x7c\x0e\x6f\
+\xb0\x96\x05\xab\x37\x9d\x57\xed\xbb\xe6\xcf\x3e\xcd\xc9\x9e\x9d\
+\xfc\xf0\x7b\x77\x70\xff\x0f\xef\x67\xdb\xb6\xc7\xb9\xf4\xd2\x4b\
+\x1d\x1b\x60\xae\x3d\xb0\xdb\xed\xae\x28\x2c\x91\x65\x99\x50\x28\
+\x34\xeb\x56\x5d\x5d\x4d\x4d\x4d\x2d\x99\x58\x98\x13\xbb\xb7\xf1\
+\x86\xcb\x36\x50\x37\xad\xfb\xc2\x85\x90\x55\x53\x20\x49\x12\x7e\
+\x9f\x17\x2d\x9f\x85\xa9\xae\x0f\xa2\x28\xa2\x4f\x01\xaa\xc4\xdc\
+\x20\x4a\x92\xed\x11\x2a\x49\x11\x8d\x62\x3e\x87\x61\xe8\xaf\x49\
+\x7d\x11\x45\x11\x04\x81\xce\xd5\x57\x70\xcb\xd7\x7e\x4d\xd7\xa5\
+\x37\x70\xd9\x65\x97\xf3\xfd\xef\x7f\x7f\xce\xdb\x05\x73\x4e\x02\
+\x78\x3c\x9e\x19\x43\x2e\xca\x03\x61\xd3\x19\xb7\xba\xa6\x86\xdc\
+\xfe\xfd\xac\x5d\xbb\x8a\xae\xae\xae\x8a\x4c\xcb\x57\x43\x8a\xa2\
+\x20\x08\x02\x81\x60\x90\x42\x26\x59\x1a\x97\x24\x8a\x08\xa2\x34\
+\x65\xec\x4e\xa9\x37\x94\x3a\x42\x48\x8a\x0b\xc3\x30\x6c\xa6\xd7\
+\x75\x0d\x23\x97\x41\x56\x5c\xc8\x8a\xfa\xaa\xaf\x5f\x32\xa2\x0b\
+\x08\x82\xc8\xd5\x7f\xfe\x19\xda\x97\x6e\xe4\x23\xb7\x7c\x8c\x54\
+\x2a\xc5\xc7\x3f\xfe\xf1\x39\x6b\x0f\xcc\x39\x00\xb8\xdd\xee\x19\
+\x2a\xd0\x74\x1b\xc0\x62\x98\x5c\x2e\x37\xc5\x84\x06\x57\x5f\x7d\
+\x8d\x9d\x34\xf7\x5a\x18\xc5\x02\x40\x28\x18\xa4\x90\x4d\x96\xf4\
+\x7e\xc4\x92\xbe\xaf\x6b\x53\x6a\x90\x82\x30\x15\x17\x10\x25\xa9\
+\xa4\x0a\xe5\xb3\x67\xc0\x61\x18\x14\xf3\x59\x74\xad\x80\xa2\xba\
+\x11\x25\xb9\x02\xac\xe7\xbb\x2f\xab\xed\xba\xa1\x15\x59\xb4\xee\
+\x4a\xde\xf9\xb7\x77\xf2\x57\x7f\x75\x33\xad\xad\xad\xdc\x70\xc3\
+\x0d\x73\x12\x04\x73\x4e\x05\xf2\xfb\xfd\x15\x95\x55\xd9\x6c\x96\
+\x74\x3a\x4d\x2a\x95\xb2\xb3\x38\xad\x2d\x9f\xcf\xdb\x45\x26\x2b\
+\x56\xac\xb0\x8b\xce\x5f\x2d\x99\xa6\x69\x03\xa0\xaa\xba\x9a\x5c\
+\x6a\x12\xd3\x4a\xaa\x93\xe4\x29\x7b\x63\x2a\x57\xa8\x6c\x56\x8c\
+\x24\x2b\xc8\x2e\x77\x85\xd4\x11\x04\x01\x43\xd7\xc9\x67\xd3\xe4\
+\x33\x49\x8a\xf9\x1c\xba\x56\xc0\x34\xf4\x0a\x17\xaf\x59\xba\xf0\
+\xac\x20\x60\xca\xb6\x68\x5f\xb6\x91\xeb\x3f\xf6\x65\x3e\xfc\xe1\
+\x0f\x33\x30\x30\x30\x27\xa7\x4c\xce\x39\x09\x50\x5b\x5b\x5b\x01\
+\x00\x4d\xd3\xa8\xa9\xa9\x99\xc1\xd8\x96\x27\x68\x74\x74\x94\x55\
+\xab\x56\x31\x6f\xde\xbc\xdf\x2a\x9a\x6a\xb9\x4c\xab\xab\x6b\x74\
+\xae\x08\x63\x00\x00\x20\x00\x49\x44\x41\x54\x18\x18\x8d\x61\x98\
+\x06\xd2\x94\x7e\x5e\x1a\x97\xa4\x97\xe6\x10\x8b\x52\xc5\x8a\x2e\
+\xc9\x2a\x82\x09\xc5\x42\x6e\x86\xed\x51\x92\x4e\x79\x28\x5a\xc1\
+\xe4\x92\x44\x91\x65\x15\x51\x96\xcf\x39\x96\x55\x10\x04\xb4\x62\
+\x81\x25\x1b\xdf\xc4\xf8\xc0\x31\xde\xfd\xae\x77\xb0\x7d\xc7\x4e\
+\x5c\x2e\x97\x23\x01\xe6\x0a\x00\x2c\x37\xa5\xa2\x28\x78\x3c\x1e\
+\xdc\x6e\x77\xc5\xe6\xf3\xf9\xc8\x66\xb3\x74\x75\x75\x31\x6f\xde\
+\xbc\x73\xaa\x3f\x56\x8a\xf2\xf4\x29\x2e\x15\xcc\x2c\x49\xd4\xd6\
+\xd6\x91\x4f\xc5\x6c\x09\x60\xb9\x43\x4b\x60\x2c\xce\x54\x67\x4c\
+\x13\x49\x51\x51\xdd\x3e\x24\x49\xb6\x57\xe9\x72\x30\xd8\x1d\x29\
+\x4c\x13\x5d\x2b\x52\xc8\xa5\x4b\x5e\x24\xd3\x38\x67\x00\xcc\x52\
+\x89\xd6\x5f\xfb\x67\xf4\x9f\xe8\xaf\xb8\x5f\x47\x02\xfc\x37\x06\
+\x80\x5c\x96\x72\x20\x08\x02\xa3\xa3\xa3\x15\xb5\xb4\xe5\x15\x56\
+\xa3\xa3\xa3\x6c\xd9\xb2\x85\xa6\xa6\xa6\xb3\x66\x55\x9a\xa6\xc9\
+\xb6\x6d\xdb\xf8\xd5\x2f\x1f\xe3\xba\x37\xbd\x89\xb7\xbf\xfd\x86\
+\x8a\xaa\x33\x8b\x69\x65\x59\xa6\xb6\xb6\x96\x6c\x6a\x77\xc5\xcc\
+\x61\x49\x92\x4b\x55\x60\x9a\x86\xa9\x4c\x9b\x4b\x36\x75\xac\x28\
+\x49\xa8\x6e\x2f\x9a\xd5\x5e\x65\x2a\x57\x68\xc6\x1c\xb3\xa9\xfd\
+\x35\xad\x88\x61\x1a\xb6\xad\x70\x2e\xe3\xfd\xf0\xce\x47\x79\xd3\
+\xf5\x6f\xb2\x57\xff\xb9\x64\x07\xcc\x39\x09\x30\x5b\x77\x85\x54\
+\x2a\x65\x27\xc4\x59\x49\x71\x85\x42\x81\x68\x34\x8a\xd7\xeb\xa5\
+\xb5\xb5\xd5\xee\xbb\x39\x9d\xf1\x45\x51\xe4\x9e\x7b\xee\xe1\x03\
+\x1f\xf8\x00\x4f\xbd\x72\x82\xcf\x7d\xfe\x1f\xd9\xbd\x7b\xf7\xac\
+\x51\x62\x59\x96\xa9\x99\x2e\x01\xa6\xec\x80\xd2\xf9\x8c\x33\x69\
+\xd1\xd3\x0c\x72\x2b\x69\x4e\x56\x54\x14\x97\x17\xd5\xe3\x43\x56\
+\x55\x04\x81\x59\xb3\x42\x01\x0c\x5d\xa7\x90\xcf\xda\x39\x45\xd3\
+\x75\x7c\xab\x01\xef\xc1\x67\x1f\x62\xf3\x1b\xb6\x30\x39\x39\xf9\
+\x9a\x6c\x1c\x47\x02\xfc\x3f\x44\xad\xad\xad\x28\x8a\x52\xb1\xda\
+\x4b\x92\x44\x73\x73\xf3\x8c\x42\x99\x53\xa7\x4e\xd1\xd4\xd4\x64\
+\xeb\xff\xd3\x2b\xb0\x44\x51\x64\xef\xde\xbd\xfc\xdd\xdf\xfd\x3d\
+\x37\xfe\xfd\xf7\x68\xea\x5c\xc9\xbe\x27\x7e\xc8\xf7\xee\xbd\x87\
+\x4d\x9b\x36\xcd\xa8\x3d\x96\x65\x99\xda\xba\x5a\xb2\xd3\x00\x80\
+\x20\xd8\xd1\x5f\x5d\xd3\x90\x14\x73\xc6\x8a\x3d\x7d\x95\x07\x11\
+\x45\xf5\xa0\xa8\x6e\x0a\xb9\x1c\xba\x5e\x00\x93\x19\xfb\x5b\x9e\
+\x23\xd3\x34\x4b\xf6\x44\x85\x41\x2d\x12\x3e\xd1\x43\x6e\x32\x4c\
+\x36\x9b\x23\x1a\x8d\x12\x08\x04\x1c\x1b\xe0\xbf\x2b\x59\x65\x88\
+\xd3\x7b\x6c\x5a\x5d\xd7\xa6\x17\x97\x47\xa3\x51\xaa\xaa\xaa\x66\
+\x35\x80\xad\xfd\x3e\x75\xeb\x27\xb9\xe2\x03\xb7\x32\x6f\xd9\x46\
+\x44\x51\xa2\xb1\x73\x1d\xc7\xfa\x4e\xd9\xbd\xfa\xcb\x49\x55\x55\
+\xaa\xab\xaa\x29\x66\xe2\x18\x66\xe5\x4a\x6b\x65\x82\x9a\xa6\x81\
+\x36\x25\x05\xce\x97\x66\x51\xf2\xf5\x08\xa8\x6e\x0f\xaa\xcb\x8b\
+\x30\x8b\x94\xb2\x55\xa2\x7c\x16\x5d\xcb\x57\xa4\x53\x48\xb2\xc2\
+\xee\x6d\xdf\xc7\x1f\x08\x30\x34\x34\x44\x26\x93\x99\x73\x5e\xa0\
+\x39\x05\x00\x8b\xa1\xe6\xcf\x9f\x5f\xa1\x06\x25\x12\x89\x8a\x94\
+\x62\x6b\x1b\x1a\x1a\x22\x14\x0a\xd1\xd2\xd2\x32\x43\x35\x90\x65\
+\x99\x9f\x3d\xf2\x08\xa7\xc6\xd3\xac\xbb\xe6\xc6\x52\x4e\x0f\x26\
+\xde\x40\x15\xae\xda\xf9\xec\x7c\x7e\x7b\x85\x1a\x64\x9a\x66\x29\
+\x0a\x2d\x49\x54\x07\xfd\xe4\x53\x65\x33\x83\xa1\xb4\x3a\x4f\xed\
+\xa7\x6b\xc5\x8a\x54\xe8\x73\x3c\x51\x85\xcb\x54\x75\x7b\x67\x55\
+\xd5\xac\x00\x9b\xed\x32\x9d\xb2\x29\xa2\xc3\x27\x38\xf6\xe2\xe3\
+\x78\xbd\x3e\xdc\x6e\xf7\x8c\x34\x11\x07\x00\xff\x4d\x69\x3a\x00\
+\x74\x5d\xb7\x8b\xe5\x35\x4d\x43\xd7\x75\x7b\x35\xac\xaf\xaf\xb7\
+\x2b\xc4\x2a\x56\x6c\x49\xe2\xce\x3b\xff\x0f\x9b\xdf\xf3\x57\x53\
+\x3e\xc8\x92\xc7\xc6\x13\xa8\x42\xad\x9e\xc7\xae\x9d\x3b\x2b\x54\
+\x2d\x4b\x05\x12\x45\x91\x96\xd6\x56\x12\x13\xc3\x67\xfc\xf4\x82\
+\x00\x82\x80\x34\x35\x30\xdb\x34\x0c\xb4\x42\xde\x9e\x42\x73\x21\
+\x9e\x99\x92\x4a\x26\xa1\xba\x7d\xb3\x82\xc0\x76\xfb\x16\xf2\x18\
+\x5a\x91\x54\x6c\x9c\x47\xfe\xf5\xaf\x51\x64\x89\xc6\xc6\x46\xe6\
+\xcd\x9b\x47\x30\x18\x3c\x6f\xff\x51\xc7\x06\xf8\x6f\x40\x56\x6f\
+\x9e\xe9\xab\xa4\x15\x0f\xb0\xea\x7d\x43\xa1\x10\xad\x53\x0d\x72\
+\xcb\x57\x46\x49\x92\x78\xf9\xe5\xdd\xf4\x0f\x4f\xf0\x86\x55\x9b\
+\x4a\x69\x0d\x53\x7f\x77\x7b\xfc\x78\x6a\x5a\xe9\x39\xf2\x2b\xb2\
+\xd9\x4c\xc5\xec\x2e\xd3\x34\x51\x55\x95\x96\x96\x56\x06\x23\xc3\
+\xf6\x44\x78\xdb\x16\x51\x94\x92\x87\x67\x2a\x05\xa2\x98\xcf\xa2\
+\xb8\x3c\x53\x5e\x9c\x0b\x93\x6e\x82\x28\xa2\xb8\x3c\x14\x72\x99\
+\x8a\xeb\x02\x28\xaa\x9b\x68\xf8\x14\x47\x5f\xf8\x15\x7b\x7e\xf3\
+\x00\x5a\x21\x47\x5d\x5d\x1d\xf3\xe7\xcf\x67\xc1\x82\x05\xf8\xfd\
+\x7e\x47\x02\xcc\x05\x5a\xb9\x72\x65\x85\x2b\xd4\x34\x4d\x52\xa9\
+\x94\x3d\x86\x54\x51\x14\xf2\xf9\x3c\x1e\x8f\xc7\x4e\x7f\x28\xdf\
+\x57\x55\x55\xee\xbb\xf7\x3f\x59\x7a\xe9\xdb\x28\xe6\xb3\x15\xbe\
+\x79\x13\xf0\x57\x37\x50\x54\x82\x1c\xd8\xbf\x7f\xc6\x75\xdc\x6e\
+\x37\xed\x1d\x1d\x4c\x86\x4f\xda\xae\xd0\x33\xad\x0c\x25\x14\x97\
+\xc7\x56\x6d\x8c\x29\x03\xd6\xd0\x35\x40\xb8\x20\x29\x60\x79\x95\
+\x14\x97\xbb\xc2\x43\xe4\xf2\xfa\x39\xf8\xdc\xc3\xfc\xec\x5b\x7f\
+\xcd\x4b\xbf\xbc\xaf\x94\x61\xaa\x28\xd4\xd7\xd7\xb3\x78\xf1\x62\
+\xda\xdb\xdb\xed\xa1\xdb\x73\xc9\x0e\x98\x73\x00\xb0\x0c\xe1\x05\
+\x0b\x16\x54\xa8\x17\xd1\x68\x94\x70\x38\x4c\x38\x1c\x66\x6c\x6c\
+\x8c\xc1\xc1\x41\x64\x59\xa6\xb9\xb9\xb9\xc2\x00\xb6\x82\x67\x5b\
+\xb7\x6e\x63\xc1\x9a\xcd\xe4\xd2\x09\x0a\xb9\xb4\x6d\x14\x9b\xa6\
+\x41\xa0\xaa\x1e\xc3\x55\xcd\xbe\xbd\x7b\x66\x94\x4c\xba\x5c\x2e\
+\x3a\x3b\x17\x11\x1d\x39\x31\x6b\x56\xa9\x20\x4a\x28\xaa\x6a\xff\
+\x5c\x02\x41\xae\x42\x1d\x02\xf3\x9c\x52\xa0\x04\x02\x05\x49\x76\
+\x4d\x79\xb9\x64\x5e\x7c\xf4\x3f\x79\xf6\xc1\x7f\x25\x19\x19\xb1\
+\xa5\x58\x30\x18\x64\xe1\xc2\x85\x2c\x5d\xba\x74\x46\x80\xd0\x01\
+\xc0\x7f\x73\x43\x78\xf5\xea\xd5\x15\xfa\xae\x55\x00\xa3\xaa\x2a\
+\x8a\xa2\xd8\xbd\xf6\x1b\x1a\x1a\x2a\x24\x80\xa2\x28\x3c\xf1\x9b\
+\xc7\xf1\x35\x2c\x44\x75\x97\x54\x86\x42\x36\x6d\x1b\xad\x98\x26\
+\xbe\x50\x2d\x86\xbb\x9a\x83\x07\x0f\xd8\xde\x25\x0b\x68\x2e\x97\
+\x8b\x85\x9d\x9d\x4c\x8e\x9c\x9c\xc1\xc8\x76\xc4\x58\x51\x2b\xd2\
+\xa1\x0d\x43\xa7\x58\xc8\xdb\x33\x09\x4c\x53\x38\x2f\xc8\x85\xa9\
+\x98\x81\xac\xba\xd9\xfb\xe4\x8f\x79\xf1\xd1\xef\xa2\xe5\x4b\xcd\
+\xb2\x14\x45\x21\x18\x0c\xd2\xd1\xd1\xc1\xea\xd5\xab\x59\xb4\x68\
+\xd1\x9c\x54\x7f\xe6\xac\x0a\x04\xb0\x66\xcd\x9a\x0a\x00\x58\x35\
+\xbc\x75\x75\x75\x54\x57\x57\x23\x49\x12\x2e\x97\x8b\x9a\x9a\x9a\
+\x8a\x15\x5c\x55\x55\x1e\x7b\xec\x51\xe6\x2d\xbf\x14\xa1\xec\xf8\
+\x42\x36\x65\xe7\xde\x88\xb2\x8c\xaf\xba\x89\x89\x78\x96\xc1\xd3\
+\x03\x15\xd7\x29\xcd\xf2\x0a\x51\x5b\xe5\x2f\x19\xc2\xb3\xe9\xf1\
+\x82\x88\xac\xb8\x10\xa7\x0a\x60\xa0\x54\x1e\xa9\x15\xf2\x53\xe9\
+\x0d\xe7\x56\x53\x2c\x95\x4c\x71\x7b\x39\x75\xe8\x05\xf6\x3e\xf1\
+\x63\xb4\x62\x1e\x49\x92\xf0\x7a\xbd\x34\x34\x34\xd0\xdd\xdd\xcd\
+\xc6\x8d\x1b\xd9\xb0\x61\x83\x1d\x1b\x99\x6b\xea\xcf\x9c\x07\x80\
+\xd5\xab\xc7\x92\x00\xb1\x58\xac\x62\x10\x45\x7d\x7d\xfd\x0c\xa6\
+\x10\x04\x81\x17\x5e\xd8\xc5\xc0\x91\x57\x6c\x2f\x4e\xc9\x75\xa9\
+\x95\x7a\x7a\x4e\xa5\x2d\x57\xd5\xb5\x90\xd6\x5d\x1c\x3e\xdc\x53\
+\xa1\x06\x59\xb3\x06\x56\xaf\x5a\xcd\xf0\xb1\x3d\x67\x59\xc1\x99\
+\x4a\x87\x56\x2b\x02\x5b\x9a\x56\x44\x2b\x16\xca\x8c\xdb\x73\x78\
+\x84\x24\x99\xc9\xf0\x00\xfb\x9f\xfe\x09\xa9\xd8\x58\x29\x06\x51\
+\x5d\xcd\x82\x05\x0b\x58\xbf\x7e\x3d\x57\x5c\x71\x05\x57\x5d\x75\
+\x15\xcb\x97\x2f\x27\x14\x0a\xd9\x20\x75\x8c\xe0\x39\x62\x07\x00\
+\x5c\x72\xc9\x25\x15\x1f\xbd\x50\x28\x70\xf2\xe4\x49\xc6\xc6\xc6\
+\xc8\xe7\xf3\x34\x36\x36\x56\x24\xc0\x49\x92\xc4\xd1\xa3\x47\x99\
+\x98\x88\xd0\xb7\xe7\x69\xb2\xa9\x78\xf9\x59\xd1\xad\x94\x66\xc3\
+\xa0\xba\xb1\x8d\x44\x51\xe6\xd0\x81\x03\x33\xe2\x01\x3e\x9f\x8f\
+\x35\x6b\xd7\x32\x74\xfc\x95\x59\x57\x5d\x41\x30\xcb\xf4\x78\xb5\
+\x62\x9f\x92\x1b\xb3\x60\x57\x8f\xcd\x6a\xe3\xc8\x0a\xd9\x64\x8c\
+\xe7\x1f\xbe\x8b\xfe\x7d\xcf\xa1\x28\x0a\x35\x35\x35\x2c\x5e\xbc\
+\x98\xcb\x2f\xbf\x9c\xeb\xae\xbb\x8e\x6b\xaf\xbd\x96\xf5\xeb\xd7\
+\xd3\xd2\xd2\x62\xfb\xff\xe7\x62\x65\xd8\x9c\x04\x80\xc5\xd0\x5b\
+\xb6\x6c\xa9\xf8\xe8\xba\xae\x13\x8d\x46\x6d\x09\x30\x3d\x4d\x5a\
+\x51\x14\x76\xed\xda\x45\x36\x57\x1a\x8c\x71\x72\xff\xf6\x8a\xf3\
+\x96\xec\x80\x52\x84\xd6\xe3\x0b\x21\x07\xea\xe9\x3d\x39\x40\x2c\
+\x1a\xad\x50\x83\x5c\x2e\x17\x1b\x2f\xbe\x98\x53\x07\x77\x62\x62\
+\x22\x30\x9d\x93\x85\x32\x7b\x40\xb1\x5b\xa5\xd8\x40\xcd\xe7\x30\
+\xa7\x8a\xe6\x67\xae\xfc\x12\xa9\xc9\x71\x9e\xba\xff\x9f\x39\xf8\
+\xdc\x23\x76\x93\xaf\xa5\x4b\x97\xb2\x65\xcb\x16\xae\xbb\xee\x3a\
+\x36\x6f\xde\xcc\x8a\x15\x2b\x68\x6e\x6e\xb6\x2b\xe4\xe6\xe2\xea\
+\x3f\xa7\x55\x20\x80\x8d\x1b\x37\xda\x2d\x06\xcf\x64\x51\x96\x3a\
+\xbf\x79\x3c\x1e\xaa\xab\xab\x67\x04\xb2\x5e\x7a\xe9\x25\x72\x53\
+\x00\x18\xea\xdd\x57\xc9\x80\x86\x61\x07\x67\x0d\x43\xa7\x61\x5e\
+\x17\xe1\x78\x81\xa3\x47\x8f\x54\xb8\x43\x0d\xc3\x60\xfe\x82\x85\
+\x2c\x6c\x6f\xe6\xf4\xa1\x5d\x20\x0a\x67\xd5\xe3\x45\xb1\x54\x1f\
+\x3c\x3d\x37\xa8\x90\xcf\xda\x46\xb4\x59\x66\x5f\x44\x06\xfb\xd8\
+\x7a\xf7\xed\x1c\xde\xf9\x18\x92\x24\x11\x08\x04\xe8\xea\xea\x62\
+\xd3\xa6\x4d\x5c\x71\xc5\x15\xac\x5d\xbb\x96\x05\x0b\x16\x50\x53\
+\x53\x33\xa3\x3e\x7a\x2e\xd2\x9c\x7d\x7a\x2b\x99\xed\xea\xab\xaf\
+\xae\x58\xe5\xf3\xf9\x3c\xa7\x4f\x9f\x46\x14\x45\xaa\xaa\xaa\xec\
+\xbf\x59\x49\x73\x3d\x3d\x3d\x68\x9a\x86\x24\x49\x8c\x9f\x3e\x56\
+\xa6\x00\x99\x18\xd6\x8a\x6c\x9a\x18\x86\x4e\x63\x7b\x37\x23\xb1\
+\x3c\x47\x66\xb1\x03\xaa\xab\xaa\x78\xdb\xdb\x6f\xe0\xc0\xb3\x8f\
+\x54\x18\xbb\x25\x1f\xbe\x17\xd5\xe3\xc7\xe5\x0d\xa0\xba\x7d\xb8\
+\x7d\x21\x14\x97\x77\x2a\x6b\x54\x38\x53\x1e\x39\x05\xc4\x12\x40\
+\x44\xf6\x3e\xf1\x63\x1e\xfa\xc6\xff\xa4\xff\xc0\x0e\x84\xa9\x69\
+\x37\xed\xed\xed\x6c\xdc\xb8\x91\x4d\x9b\x36\xb1\x7c\xf9\x72\x1a\
+\x1b\x1b\xf1\x7a\xbd\xf6\x94\x9a\xb9\xba\xf2\x5b\x34\x67\xfb\x02\
+\x59\x1f\xfd\x1d\xef\x78\x07\x8f\x3c\xf2\x88\xdd\x41\xcd\x9a\x09\
+\x50\x57\x57\x67\xf7\xe2\xb7\x56\xd7\xd3\xa7\x4f\x13\x89\x44\x50\
+\x55\x15\x59\x96\x49\x4e\x8e\x63\xe8\x9a\x5d\xd6\x88\x69\x94\xc6\
+\xa3\x0a\x02\x82\x69\xe2\xaf\xaa\x43\xf0\xd6\x72\xbc\xaf\x9f\x44\
+\x22\x61\xa7\x54\x58\xee\xd0\x78\x3c\x41\xdf\xde\xa7\xd1\xa7\x7c\
+\xfc\xa6\x69\x72\xf2\xe0\xf3\xec\x7b\xf2\x41\x26\xc3\x03\xc8\x8a\
+\x0b\xc5\xe3\x23\x50\xdd\x48\x4d\x53\x07\x35\x2d\x0b\xa8\x9b\xb7\
+\x18\xb7\x2f\x38\xa5\x68\x95\xba\x4e\x1f\x7b\xe9\x71\x9e\x7f\xe8\
+\x2e\xa2\xa3\xfd\xf6\xb3\x79\xdc\x6e\x5a\x5a\x5a\x58\xbd\x7a\x35\
+\x97\x5e\x7a\x29\x4b\x97\x2e\xa5\xae\xae\xce\x2e\xcd\x2c\x77\x97\
+\xce\x65\x9a\xd3\x8d\xb1\x4c\xd3\xb4\x03\x41\x47\x8f\x1e\xb5\x03\
+\x41\x9a\x56\xea\xd2\x60\x79\x89\xac\x9a\xde\x63\xc7\x8e\x91\xcb\
+\xe5\xa8\xaa\xaa\x42\x51\x14\xd2\xa9\x24\xc9\xc8\x28\xa1\x86\xb6\
+\x8a\x73\x96\xe7\xe3\xb7\x74\x2e\xa7\x7f\xe4\x25\x4e\x9d\xec\x67\
+\xc9\xd2\x65\x14\x8b\x45\x54\x55\xa5\xb7\xb7\x97\xfb\xee\xbb\x0f\
+\x97\x22\xd3\xf7\xf2\x93\x54\x35\xb4\xb1\xed\xde\x2f\x30\xda\x7f\
+\xe8\xbc\xf7\x2d\x29\x2a\xc1\xda\x16\x0c\x43\x27\x3e\x76\xba\x52\
+\xa4\x4f\xa9\x6f\xcd\xcd\xcd\xac\x59\xb3\x86\xcb\x2f\xbf\x9c\x15\
+\x2b\x56\x54\x30\x7f\x79\x7d\xf1\x5c\xa7\x39\xad\x00\x5a\x0c\xf0\
+\xee\x77\xbf\xbb\xa2\xda\x4b\x10\x04\x8e\x1d\x3b\xc6\x33\xcf\x3c\
+\x83\xdb\xed\xa6\xba\xba\x9a\xc9\xc9\x49\xee\xbe\xfb\x6e\xe2\xf1\
+\x38\x2d\x2d\x2d\xb4\xb4\xb4\xe0\x76\xbb\x49\x44\x46\xcb\x92\xe1\
+\xb0\x7b\x7d\x96\x00\xa0\xd1\xda\xb9\x92\xe3\x03\xe3\x1c\xee\x39\
+\x84\xcf\xe7\xa3\xae\xae\x8e\xe7\x9f\x7f\x9e\xf7\xbe\xf7\xbd\xd4\
+\xd5\xd5\xd1\xdd\xdd\xcd\x8e\x87\xff\x9d\x9f\xfc\xcb\xff\xb8\x20\
+\xe6\x87\x52\xa7\xe8\xd8\xe8\xc9\x59\x99\xdf\xeb\xf5\xd2\xde\xde\
+\xce\xfa\xf5\xeb\xd9\xb2\x65\x0b\x1b\x36\x6c\xa0\xa5\xa5\x05\x97\
+\xcb\xe5\xa8\x3c\x8e\x04\x98\x9d\xb6\x6c\xd9\x42\x5b\x5b\x1b\xe3\
+\xe3\xe3\x76\x2d\xc0\xd8\xd8\x18\x7f\xf9\x97\x7f\xc9\x7f\xfe\xe7\
+\x7f\xd2\xd1\xd1\xc1\xb3\xcf\x3e\xcb\xc4\xc4\x04\x75\x75\x75\x54\
+\x55\x55\x21\xcb\x32\x1e\x8f\x97\x64\x6c\x14\x81\x52\xba\xb1\x35\
+\x08\x43\xb4\xdb\x9c\x1b\x84\x6a\x9b\xf0\xd5\x34\xf3\xe1\xbf\xf8\
+\x08\xff\xf0\xf9\x2f\x90\xcd\x66\x99\x98\x98\xa0\xa9\xa9\x89\xd5\
+\xab\x57\x03\xb0\x67\xcf\x1e\x9b\x31\xa7\xaf\xcc\xd3\x13\xda\x66\
+\xab\x39\xb6\xa2\xcd\x2e\x97\x8b\xc5\x8b\x17\xb3\x72\xe5\x4a\x2e\
+\xbd\xf4\x52\x2e\xba\xe8\x22\xe6\xcf\x9f\x8f\xcf\xe7\x73\xd4\x1e\
+\x07\x00\xe7\x78\x09\xb2\xcc\x9f\xff\xf9\x9f\xf3\xa5\x2f\x7d\x09\
+\xb7\xdb\x6d\xf7\xf3\x6c\x68\x68\xe0\xe4\xc9\x93\xf4\xf4\xf4\xd8\
+\x11\xe2\xf2\xae\x09\x8a\xaa\x90\x8c\x86\xcb\xd2\xf2\x4b\xb1\x00\
+\xc5\xed\xb1\x33\x44\x75\x5d\xa3\xb9\x73\x35\x0d\x6d\x9d\xe4\xb2\
+\x71\x5c\x2e\x17\x6b\xd6\xac\xa1\xa5\xa5\xc5\x66\xe2\xfa\xfa\x7a\
+\xc6\xc7\xc7\x91\xa6\x1a\xdc\x5a\x69\xd3\x76\x14\x78\xaa\xdd\x89\
+\xd5\xa3\xa8\xbc\xfd\x89\x05\x58\x45\x51\xe8\xee\xee\xe6\x8a\x2b\
+\xae\x60\xdd\xba\x75\xac\x5c\xb9\x92\x79\xf3\xe6\xd9\x13\x2d\x5f\
+\x6b\x43\x2f\x07\x00\x73\x80\x24\x49\x62\xf3\xe6\xcd\x74\x74\x74\
+\x30\x34\x34\x64\x33\x4a\x43\x43\x03\xed\xed\xed\xe4\xf3\x79\x72\
+\xb9\x1c\x87\x0e\x1d\xc2\xe3\xf1\x50\x55\x55\x35\xd5\xe6\xd0\xcf\
+\x64\xf8\x14\x16\x02\x4c\xd3\xc4\xd0\x8a\x98\xba\x6e\xa7\x49\x18\
+\x7a\x91\xa6\x85\xcb\xf1\xd7\x34\xb2\xbe\x7b\x0d\xa1\xaa\x6a\x7b\
+\x56\xb1\xc5\xc0\x0d\x0d\x0d\x44\x22\x11\x02\x81\x00\x3e\x5f\xa9\
+\x38\xa5\x3c\x35\xc1\xaa\x53\xb0\xb6\x74\x3a\x6d\x27\xe8\x49\x92\
+\x84\xa2\x28\x54\x55\x55\xf1\xbe\xf7\xbd\x8f\x55\xab\x56\xb1\x68\
+\xd1\x22\x9a\x9a\x9a\xf0\x7a\xbd\x15\xc3\xbe\x1d\xe6\x77\x00\x70\
+\x56\xf2\xf9\x7c\xdc\x78\xe3\x8d\xdc\x71\xc7\x1d\x67\x74\xf8\x32\
+\x17\xa8\x69\x9a\x14\x8b\x45\x82\xc1\x20\xf5\xf5\xf5\xa5\x39\xc1\
+\xf5\xf5\xec\xd9\xdf\x53\x96\x09\x6a\x62\x98\x06\x5a\x31\x87\xe2\
+\xf2\xda\x86\x70\x55\x7d\x1b\xb2\xa7\x8a\x48\x34\x4a\x43\x63\xd3\
+\x0c\x46\xac\xaf\xaf\xe7\xc8\x91\x23\xb4\xb7\xb7\xdb\xde\x27\x55\
+\x3d\x13\x01\xb6\x26\xc0\xe8\xba\xce\xd0\xd0\x10\xaa\xaa\xda\x35\
+\x0a\x96\xd1\xfb\xce\x77\xbe\x93\xeb\xae\xbb\x8e\xc6\xc6\x46\x7b\
+\x46\x40\x79\x2d\x82\xc3\xfc\x0e\x00\xce\xe9\x0d\x92\x65\x99\x2d\
+\x5b\xb6\xf0\x8b\x5f\xfc\x82\xa7\x9e\x7a\x6a\x56\x7d\xdb\x8a\x05\
+\x58\x6a\x88\x24\x49\xe8\xf9\x34\xe3\x83\xc7\xa9\x6b\x59\x58\x72\
+\x71\x4e\xa5\x2f\x2b\x6e\x1f\xba\x56\x64\xa0\x67\x17\xaf\x6c\xfd\
+\x01\xa7\x0e\xbd\x00\x5d\x5d\x2c\x5d\xba\x0c\xb7\xdb\x6d\x7b\x9a\
+\xa0\x14\x19\xf6\x7a\xbd\xd4\xd7\xd7\xd3\xdc\xdc\x8c\xcb\xe5\xb2\
+\x03\x67\x96\xea\x63\x9a\x26\x91\x48\xc4\xf6\xe1\x97\xbb\x67\x3b\
+\x3a\x3a\xf8\xf8\xc7\x3f\x4e\x20\x10\xc0\xe3\xf1\xcc\xf0\xf6\x38\
+\xe4\x00\xe0\x82\x28\x18\x0c\x72\xd3\x4d\x37\xf1\xd4\x53\x4f\xcd\
+\xc8\xd5\xd7\xb4\x33\xbe\xfa\x4c\x26\x63\xff\xdf\xed\xf1\x70\x7c\
+\xf7\x13\xd4\xbf\xb3\x1b\x8c\x33\xa3\x50\xe3\x63\xa7\x79\x65\xdb\
+\x0f\xd9\xfb\xe4\xff\xb5\xd3\x98\x07\xa7\x0a\xcf\x03\x81\x00\xe9\
+\x74\xba\xc2\x90\x0d\x85\x42\xe4\xf3\x79\x3b\x2f\xa7\xbc\x0a\x4d\
+\x14\x45\x52\xa9\x94\x1d\x4b\x28\xcf\x2d\xd2\x75\x9d\x5b\x6f\xbd\
+\x95\xe6\xe6\xe6\x0a\x23\xda\x61\x7e\xc7\x0d\xfa\xaa\xdd\xa1\x82\
+\x20\xd0\xd9\xd9\xc9\x1b\xdf\xf8\x46\x7b\xb2\xa2\x45\x16\x00\x7c\
+\x3e\x9f\xdd\x3e\x3d\x18\x0c\xe2\xf5\x7a\x39\xf6\xd2\xb6\x92\xde\
+\x3f\xd5\x6a\xa4\x90\x4b\xb1\x7b\xeb\xf7\xd9\xf3\x9b\x1f\xd9\xcc\
+\x0f\xa5\xee\x13\xd1\x68\xd4\x36\x4c\xcb\x29\x14\x0a\x91\xcd\x66\
+\xa9\xad\xad\xb5\x47\x1d\x85\x42\x21\xaa\xaa\xaa\x50\x55\x95\x78\
+\x3c\x6e\x77\xb1\xb3\x36\x49\x92\xb8\xfe\xfa\xeb\xb9\xec\xb2\xcb\
+\x90\x24\xa9\xe2\x9c\x0e\xf3\x3b\x00\x78\x4d\x14\x08\x04\xb8\xe4\
+\x92\x4b\xf0\xfb\xfd\xb6\x0d\x50\xee\x81\x49\xa7\xd3\x76\x6c\xa0\
+\xa6\xa6\x86\x40\x20\x80\x96\xcf\x70\xf4\xc5\xad\x53\xee\x4f\x93\
+\xa1\xa3\x7b\xd8\xf7\xc4\x83\xf6\xea\x2d\xcb\xb2\xbd\x6a\x9f\x3a\
+\x75\x0a\xa8\xec\x52\x2d\x08\x02\x7e\xbf\x9f\x54\x2a\x65\x03\x2b\
+\x10\x08\xd8\x69\xca\x83\x83\x83\xa4\x52\xa9\x8a\x95\xdd\x34\x4d\
+\x9a\x9a\x9a\xf8\x9b\xbf\xf9\x9b\x19\x6a\x9a\x43\x0e\x00\x7e\x2b\
+\x72\xb9\x5c\x15\x9d\xa0\x2d\x4f\x8c\x24\x49\x24\x93\x49\x7a\x7a\
+\x7a\x88\xc7\xe3\x36\x23\x2b\xb2\xcc\x81\xe7\x1e\x46\x96\x55\xd2\
+\xf1\x09\x0e\x3d\xff\xa8\xed\xa1\x51\x55\xd5\x1e\xbc\xa7\x28\x0a\
+\x27\x4f\x9e\x24\x9f\xcf\x13\x0c\x06\x2b\xae\xe9\x76\xbb\x89\x46\
+\xa3\xc4\xe3\x71\x12\x89\x04\xa9\x54\x8a\x70\x38\x4c\x4f\x4f\x0f\
+\x93\x93\x93\x33\x62\x04\x85\x42\x81\xcf\x7c\xe6\x33\x76\xba\x86\
+\xc3\xf8\x8e\x0d\xf0\x3b\x31\x86\xad\x55\x74\xfa\x10\x0d\x4b\x05\
+\x92\x24\x89\x54\x2a\xc5\xe1\xc3\x87\x09\x85\x42\xb6\xcb\x32\x31\
+\x3e\xcc\xc0\xe1\x5d\xa8\x6e\x1f\x43\x47\x5f\x46\x92\x24\xdc\x6e\
+\x37\x81\x40\xc0\xee\xb6\x26\x49\x12\x91\x48\x69\xcc\x6a\x6b\x6b\
+\x6b\xc5\x8a\x2e\x49\x12\xb9\x5c\x8e\x58\x2c\x86\x2c\xcb\xa4\xd3\
+\x69\x46\x47\x47\x29\x14\x0a\x33\x2a\xd7\x34\x4d\xe3\x2f\xfe\xe2\
+\x2f\x58\xb1\x62\x85\xb3\xea\x3b\x00\x78\x1d\xc4\x62\x59\x1d\x6f\
+\xb9\x04\xb0\xdc\x8e\xa2\x28\xa2\x69\x1a\xe1\x70\x78\xaa\xc4\x31\
+\x48\x76\x6c\x8c\x7d\x4f\x3c\x48\xc7\xca\xcb\x00\x6c\xaf\x4e\x53\
+\x53\x13\xd5\xd5\xd5\xe8\xba\x8e\x2c\xcb\xc4\xe3\x71\x8e\x1e\x3d\
+\x4a\x5b\x5b\x1b\x5e\xaf\x97\x74\x3a\x6d\x33\xb1\xcb\xe5\x22\x93\
+\xc9\xa0\xeb\x3a\x13\x13\x13\x76\x6a\x76\x39\x65\xb3\x59\xde\xfa\
+\xd6\xb7\xf2\xc1\x0f\x7e\x70\xce\xa7\x32\x3b\x00\x78\x1d\x8d\xe2\
+\xe9\xe9\x07\xe5\x00\xb0\xf6\x11\x45\xd1\x0e\x48\xc9\x92\xc4\xd0\
+\xf1\x3d\x64\x53\x93\xa8\xaa\x42\x5d\x5d\x1d\x0b\x17\x2e\x64\xde\
+\xbc\x79\xb6\x87\x27\x9f\xcf\x13\x0e\x87\x39\x7a\xf4\x28\x97\x5e\
+\x7a\x29\xc1\x60\xb0\x02\x00\x56\xc5\x99\xa5\x7e\x4d\x67\xf0\x7c\
+\x3e\xcf\x25\x97\x5c\xc2\x47\x3f\xfa\xd1\x73\x8e\x68\x75\xc8\xb1\
+\x01\x7e\x2b\xc6\xb7\x98\x7b\x7a\xb5\x98\x28\x8a\x76\xda\xb4\x25\
+\x29\x54\x55\xc5\xed\x76\x23\x49\x12\x5a\x31\xcf\xd8\xc0\x11\xbc\
+\x5e\x9f\x3d\xb8\x5a\x51\x14\xbb\xdb\x9c\xe5\xef\x2f\x16\x8b\x1c\
+\x38\x70\x00\xbf\xdf\x5f\x71\x6d\x59\x96\xed\x8e\x74\xd3\x25\x90\
+\xa6\x69\x74\x75\x75\xf1\xa9\x4f\x7d\x8a\xba\xba\x3a\x67\xe0\xb5\
+\x03\x80\xd7\x5f\x05\x2a\xb7\x01\xf2\xf6\x00\xea\x4a\xb7\xa9\xaa\
+\xaa\x78\xbd\x5e\xdc\x6e\xb7\x5d\x64\xa2\xaa\x2a\x92\x24\x91\xcf\
+\xe7\xed\xf1\x4b\xb9\x5c\x0e\x51\x14\x71\xb9\x5c\xb8\x5c\x2e\x5e\
+\x7e\xf9\x65\x12\x89\x44\x45\xcd\x01\x30\x6b\x7b\xf2\x6c\x36\xcb\
+\xea\xd5\xab\xf9\xc2\x17\xbe\x40\x4b\x4b\x8b\xf3\x81\x1c\x00\xbc\
+\xfe\x5e\x20\x55\x55\x49\xa7\xd3\xb6\x9a\x93\x4e\xa7\xd9\xb4\x69\
+\x13\x8d\x8d\x8d\x15\x13\x5a\xc4\xa9\xca\x2b\x2b\x7d\x41\x51\x14\
+\xbb\xc3\x5a\x32\x99\x64\x74\x74\x94\xd3\xa7\x4f\x33\x34\x34\xc4\
+\xe4\xe4\xa4\x1d\x75\x2e\x16\x8b\xfc\xe6\x37\xbf\xa9\xa8\x39\x28\
+\x16\x8b\x33\x8a\xd3\xb3\xd9\x2c\x9b\x37\x6f\xe6\xb6\xdb\x6e\x63\
+\xde\xbc\x79\xf6\xbe\x8e\xe1\xeb\x00\xe0\x75\x23\x6b\x3c\x52\x22\
+\x91\x40\x14\x45\xe2\xf1\x38\xb2\x2c\xd3\xda\xda\xca\xed\xb7\xdf\
+\xce\xba\x75\xeb\x6c\x15\xc9\x52\x83\x7c\x3e\x1f\x1e\x8f\xc7\x1e\
+\xb5\x54\xde\x69\xc1\xda\x24\x49\xc2\xe3\xf1\xd8\xa9\x0e\x83\x83\
+\x83\xec\xdc\xb9\xd3\xce\xf5\xb1\xae\x63\xc5\x1c\xa0\x54\xab\xf0\
+\xd9\xcf\x7e\x96\xb6\xb6\x36\xc7\xd7\xef\x18\xc1\xbf\x1f\x52\x14\
+\x05\x9f\xcf\x47\x32\x99\x64\x70\x70\xd0\x6e\x93\xe8\xf3\xf9\xa8\
+\xaf\xaf\xe7\xcb\x5f\xfe\x32\x5b\xb7\x6e\xe5\xdb\xdf\xfe\x36\xc9\
+\x64\xd2\x76\x79\xfa\x7c\x3e\x8a\xc5\xa2\xcd\xe0\xd3\xd5\x28\x0b\
+\x00\x5e\xaf\xd7\xf6\xf6\x1c\x3b\x76\x8c\x70\x38\x5c\xc1\xd4\x85\
+\x42\x81\x96\x96\x16\x3e\xfc\xe1\x0f\x73\xdd\x75\xd7\xd9\xb9\x3f\
+\x0e\xe3\x3b\x12\xe0\xf7\x62\x08\x5b\x7d\x33\x35\x4d\xe3\xe5\x97\
+\x5f\x26\x1a\x8d\x12\x0c\x06\x09\x85\x42\x76\x0a\xc2\xdb\xde\xf6\
+\x36\xee\xbd\xf7\x5e\x36\x6c\xd8\x60\x1b\xb8\x7e\xbf\x1f\xaf\xd7\
+\x5b\xd1\x67\xbf\x3c\x78\x65\xd9\x07\x56\xca\xb3\x95\xaa\x1c\x8f\
+\xc7\x89\xc7\xe3\x76\x74\xf8\x8d\x6f\x7c\x23\xf7\xdc\x73\x0f\x6f\
+\x79\xcb\x5b\x1c\xe6\x77\x00\xf0\xfb\x07\x80\xdb\xed\x26\x18\x0c\
+\xe2\xf3\xf9\x6c\x9b\xa0\xbe\xbe\x9e\x86\x86\x86\x8a\x56\x22\xf5\
+\xf5\xf5\xfc\xcb\xbf\xfc\x0b\xff\xfa\xaf\xff\xca\xaa\x55\xab\xa8\
+\xab\xab\xc3\xe3\xf1\x54\x74\x5c\x28\xf7\xe4\x08\x82\x60\x4b\x17\
+\xcb\x66\xb0\xce\x25\x49\x12\xf5\xf5\xf5\xdc\x7c\xf3\xcd\x7c\xee\
+\x73\x9f\xa3\xaa\xaa\xca\x51\x79\x1c\x15\xe8\x0f\xe3\x01\x0a\x04\
+\x02\x34\x36\x36\x12\x0c\x06\xed\xb9\x59\xed\xed\xed\xcc\x9b\x37\
+\xcf\x06\x45\x39\xad\x5d\xbb\x96\x6f\x7d\xeb\x5b\xbc\xfc\xf2\xcb\
+\xec\xdd\xbb\x97\xbd\x7b\xf7\x72\xec\xd8\x31\x52\xa9\x94\x5d\xdd\
+\x55\x3e\xdb\x17\xb0\x55\x2a\x97\xcb\x45\x3e\x9f\x27\x10\x08\x70\
+\xf1\xc5\x17\xb3\x6e\xdd\x3a\x5b\x8d\x72\x18\xdf\x01\xc0\x1f\x0c\
+\x00\xed\xed\xed\xb4\xb7\xb7\x93\x4e\xa7\x69\x6e\x6e\x66\xd9\xb2\
+\x65\xb4\xb5\xb5\x9d\x95\x31\x15\x45\x61\xdd\xba\x75\xac\x5a\xb5\
+\x8a\x9b\x6e\xba\x09\x80\xa1\xa1\x21\xf6\xef\xdf\x4f\x38\x1c\x26\
+\x97\xcb\x51\x28\x14\xa8\xad\xad\xa5\xbe\xbe\xde\x2e\xbc\xdf\xb1\
+\x63\x07\xfd\xfd\xfd\xf8\x7c\x3e\x16\x2d\x5a\x64\x37\xe6\x75\xbc\
+\x3d\x0e\x00\xfe\x60\x2a\x90\xdf\xef\xa7\xb3\xb3\x93\xd5\xab\x57\
+\xa3\x28\x0a\xed\xed\xed\xac\x5e\xbd\x9a\x86\x86\x86\x8a\x0e\x6f\
+\xd3\xc9\x72\x83\x5a\x7a\xff\xc2\x85\x0b\x59\xb8\x70\xe1\xac\xfb\
+\xc6\xe3\x71\xea\xeb\xeb\xf1\x78\x3c\xf4\xf5\xf5\xd9\xb5\xc2\xe5\
+\x63\x5c\x1d\xe6\x77\x00\xf0\x07\x01\x80\xcb\xe5\xa2\xa3\xa3\x83\
+\xcb\x2e\xbb\x8c\xb6\xb6\x36\x9a\x9b\x9b\x59\xba\x74\x29\x81\x40\
+\x60\xd6\xee\x0a\xb3\x8d\x33\x3d\xdf\xea\x6d\xad\xf8\x3e\x9f\x8f\
+\xae\xae\x2e\x24\x49\xa2\xbd\xbd\x7d\x46\x96\xa8\x43\xaf\xf3\xf7\
+\x36\x9d\x98\xfa\x0c\x43\xd5\xaa\xfa\x0a\x87\xc3\xc4\xe3\x71\x02\
+\x81\x00\x0d\x0d\x0d\x76\x21\xcb\x6f\xab\x9a\x58\xc7\xeb\xba\x4e\
+\x36\x9b\x25\x9b\x2d\x8d\x59\xb2\xe2\x08\xbf\x8b\x6b\x38\xe4\x00\
+\xe0\xb7\x22\xc3\x30\xc8\xe7\xf3\x68\x9a\x86\x2c\xcb\xb6\xc7\xe6\
+\x77\xc5\x94\x16\x83\x5b\xf5\xbe\x56\xa0\xcc\x29\x67\x74\x00\xf0\
+\x47\x23\x05\x66\x53\x8f\x7e\x97\xcc\x39\x9b\x1a\xe5\x30\xbf\x03\
+\x00\x87\x1c\xfa\xbd\x91\x13\x08\x73\xc8\x01\x80\x43\x0e\x39\x00\
+\x70\xc8\x21\x07\x00\x0e\x39\xe4\x00\xc0\x21\x87\x1c\x00\x38\xe4\
+\x50\x39\x95\x57\xc1\xfd\x77\x22\x27\x15\xc2\xa1\x0b\x22\x2b\x36\
+\x31\x34\x34\x44\x2a\x95\xc2\x34\x4d\x6a\x6a\x6a\x68\x68\x68\x70\
+\x00\xe0\xd0\xdc\xa0\x6c\x36\xcb\xf6\xed\xdb\x89\x44\x22\x08\x82\
+\x40\x55\x55\x15\x37\xde\x78\xa3\x03\x00\x87\xe6\x06\x15\x0a\x05\
+\x34\x4d\xc3\x98\x9a\x7e\x63\xf5\x34\x72\x6c\x00\x87\xe6\x94\x1a\
+\xe4\x18\xc1\x0e\x39\xe4\x00\xc0\x21\x87\x1c\x00\x38\xe4\x90\x03\
+\x00\x87\x1c\xfa\x7f\x95\x5e\x93\x17\xa8\x3c\x67\x3d\x91\x29\x92\
+\xca\x69\xe4\x8a\x3a\xb2\x28\xe0\x75\xc9\x54\xf9\x14\x64\x49\x9c\
+\xb1\xef\x85\x9e\xb3\xa8\x1b\xc4\x92\x05\xb2\x45\x1d\xd3\x04\x97\
+\x22\x52\xed\x53\x71\xab\x67\x8a\xc5\x41\xe0\x7c\xa7\x2d\x6f\x2b\
+\x62\x9a\x26\xf1\x74\x91\x54\x5e\xa3\xa0\x19\xa8\xb2\x88\xd7\x25\
+\x53\xe3\x57\x5f\xd5\x7d\x4e\xdf\x37\x9d\xd3\x48\x64\x8b\xe4\x8a\
+\x06\xa2\x00\x5e\x55\x26\xe4\x53\x50\xe5\x57\xf7\xfc\x9a\xa6\x11\
+\x8b\xc5\x28\x16\x8b\xa8\xaa\x6a\xf7\x20\x2a\x3f\x3e\x99\x4c\xda\
+\xb3\xc5\x7c\x3e\x9f\x5d\x3e\x79\xbe\x6b\x54\xbc\xdb\x62\x91\x74\
+\x3a\x4d\x3e\x9f\xc7\x30\x0c\xbb\xb7\xa9\xc7\xe3\x79\xd5\xef\xe1\
+\xd5\xbc\xa7\x5c\x2e\x47\x26\x93\x21\x9f\xcf\xdb\xdd\xf4\x02\x81\
+\x40\xc5\x30\xc0\x57\x73\xdd\xf2\xfd\x35\x4d\x23\x99\x4c\x92\xcf\
+\xe7\x31\x4d\x13\x55\x55\xf1\xfb\xfd\xf6\x4c\xe7\x73\x9d\x5b\x7e\
+\xad\x0f\x95\x2b\xe8\x3c\x71\x60\x8c\x43\x03\x93\x4c\x66\x8a\x64\
+\xf2\x3a\x8a\x24\xe0\x77\x2b\xb4\xd5\x7a\xd8\xbc\xac\x9e\xee\x96\
+\xc0\x05\x15\x79\x94\xff\xfd\xe0\x40\x9c\x67\x7b\xc6\x19\x8d\x65\
+\x49\xe7\x75\x4c\xd3\xc4\xa3\x4a\xd4\x06\x5d\x6c\xe8\xac\xe1\xb2\
+\x25\x75\x48\xa2\x60\x83\xe0\x42\x98\x7f\x24\x96\xe3\xd9\x43\x63\
+\xf4\x8e\xa6\x48\x64\x8b\xe4\x8b\x06\x6e\x45\xc4\xef\x51\x58\xd4\
+\xe4\xe7\xea\x55\x8d\xd4\x07\x5d\x17\xf4\x11\xec\x72\x46\xd3\xe4\
+\xe9\x83\x63\xec\xed\x8f\x11\x4d\x15\xc9\xe6\x4b\x03\x34\xfc\x6e\
+\x99\xe6\x6a\x37\x97\x2d\xa9\x63\x55\x47\xd5\x39\x9f\xdf\xfa\x7d\
+\x2c\x16\xe3\xe9\xa7\x9f\x66\x7c\x7c\x9c\x42\xa1\x80\xaa\xaa\xb4\
+\xb4\xb4\xb0\x61\xc3\x06\x1a\x1b\x1b\x01\xd8\xbb\x77\x2f\x07\x0f\
+\x1e\xb4\x27\xd3\xf8\xfd\x7e\x16\x2f\x5e\xcc\x25\x97\x5c\x72\xc1\
+\x8c\xd2\xd7\xd7\xc7\xa1\x43\x87\x88\x44\x22\xe4\x72\x39\x0c\xc3\
+\xc0\xe5\x72\x11\x08\x04\x58\xb4\x68\x11\x6b\xd6\xac\x41\x92\xa4\
+\xdf\x09\x08\xac\x73\x14\x8b\x45\x8e\x1c\x39\xc2\x91\x23\x47\x48\
+\x24\x12\x64\xb3\x59\x24\x49\xc2\xe5\x72\x51\x53\x53\xc3\xf2\xe5\
+\xcb\xe9\xea\xea\x7a\xcd\x8b\xe5\x91\x23\x47\x38\x7c\xf8\x30\xb1\
+\x58\xcc\x7e\x26\xb7\xdb\x4d\x28\x14\x62\xc9\x92\x25\x2c\x5b\xb6\
+\xec\x9c\xcf\xf4\xaa\x0a\x62\xac\x93\x44\x53\x05\xfe\xfd\x57\xbd\
+\xc4\xd2\x85\xb3\x86\xc7\x15\x49\xe4\xea\x55\x8d\x5c\xbb\xa6\xe9\
+\x82\x1e\xae\xa8\x1b\x6c\xdb\x3b\xca\xaf\xf7\x8c\xa2\xca\xe2\xac\
+\xe7\xd5\x0c\x93\x15\xed\x55\x7c\x60\x73\x3b\x3e\xf7\x85\x75\x4c\
+\xdb\xd3\x1f\xe3\x91\x5d\x43\x24\x32\xc5\x59\x25\x86\x20\x08\x28\
+\x92\xc8\x87\xaf\x9a\xcf\xe2\xd6\xe0\x39\xcf\x59\x0e\xfe\xff\xf3\
+\xcb\xe3\x8c\x4c\xe6\xce\xfa\xfc\x82\x20\xb0\x69\x69\x1d\x6f\xdf\
+\xd0\x6a\x03\x76\xb6\xf3\xa6\x52\x29\xee\xbf\xff\x7e\x7b\x70\xb6\
+\x45\x86\x61\x50\x5f\x5f\xcf\x95\x57\x5e\xc9\xa9\x53\xa7\xd8\xbd\
+\x7b\xf7\x8c\x6b\x99\xa6\xc9\xb2\x65\xcb\xb8\xea\xaa\xab\x66\x3d\
+\x7f\x79\x95\xd9\xb3\xcf\x3e\x4b\x4f\x4f\xcf\xac\xdd\xa7\xad\xfb\
+\xad\xad\xad\xe5\x86\x1b\x6e\xc0\xed\x76\xcf\x7a\xbe\x44\x22\xc1\
+\x2f\x7e\xf1\x0b\x62\xb1\x98\xdd\x3c\xe0\xe6\x9b\x6f\x3e\xeb\x7b\
+\x4a\xa5\x52\x3c\xf7\xdc\x73\x1c\x3f\x7e\xdc\xee\x74\x31\xfd\x9a\
+\x00\xdd\xdd\xdd\x5c\x73\xcd\x35\xaf\x1a\x64\xbf\xfe\xf5\xaf\x39\
+\x71\xe2\xc4\x59\xbf\x81\x61\x18\x2c\x5a\xb4\x88\xcd\x9b\x37\x9f\
+\x75\x94\x94\xf4\xf9\xcf\x7f\xfe\xf3\xaf\x86\xf9\x4f\x8e\xa5\xf9\
+\xf6\xd6\x3e\x62\x99\x82\xfd\x10\xb3\x6d\x9a\x61\xd2\x37\x9a\xa2\
+\xa8\x9b\x2c\x68\xf4\x21\x9d\xa3\xd0\xbb\xa8\x1b\xfc\x74\xe7\x20\
+\xbf\xd9\x1f\xc6\xad\x48\x67\x3d\xaf\x24\x0a\x0c\x47\x33\x9c\x1c\
+\x4f\xb3\xb4\x2d\x84\x4b\x11\xcf\xfa\xd1\x01\x5e\xec\x8d\xf0\xd3\
+\x9d\x83\x24\xb3\x45\x24\x49\x9c\xf5\x9c\x00\xba\x61\xb0\xb7\x7f\
+\x92\x6a\xbf\x4a\x6b\xad\xf7\x9c\xcc\x34\x91\xc8\x73\xe7\xaf\x7b\
+\x19\x9d\xcc\x9d\xf3\xf9\x4d\xd3\xa4\x3f\x9c\x26\x91\xd5\xe8\x6c\
+\xf4\xa3\xc8\x33\x9f\xdf\x30\x0c\x1e\x7e\xf8\x61\xd2\xe9\xf4\x8c\
+\xe3\x45\x51\x24\x9d\x4e\x73\xf2\xe4\x49\xc2\xe1\x30\xc5\x62\xd1\
+\xae\x49\x2e\xdf\xc2\xe1\x30\xa1\x50\x88\xfa\xfa\xfa\x59\x4b\x2c\
+\x0b\x85\x02\xcf\x3c\xf3\x0c\x87\x0e\x1d\x3a\xef\xfd\x5a\xd7\x6b\
+\x6d\x6d\xc5\xeb\x9d\xf9\x1e\xf2\xf9\x3c\xc7\x8e\x1d\x23\x97\xcb\
+\xd9\xf3\x0c\xd6\xad\x5b\x37\xeb\x7b\x9a\x9c\x9c\xe4\xc9\x27\x9f\
+\xa4\xaf\xaf\xaf\xa2\x55\xcc\xf4\x77\x0f\x30\x3e\x3e\xce\xf8\xf8\
+\x38\x9d\x9d\x9d\xe7\x6c\x08\x60\xfd\x5e\xd3\x34\x1e\x7d\xf4\x51\
+\xfa\xfb\xfb\xcf\xfa\x3c\xd6\x3b\x1c\x1b\x1b\x23\x1e\x8f\xd3\xdc\
+\xdc\x6c\x77\xed\x7e\xd5\x46\x70\xf9\xca\xff\x93\x9d\xa7\x89\x67\
+\x8b\x08\x9c\x3b\x30\x22\x0a\x02\xa6\x09\x4f\x1f\x1a\xe3\xa5\xde\
+\x58\x05\xe2\xa7\xab\x29\x8f\xef\x0b\xf3\xfc\xd1\x09\x3c\xea\xf9\
+\x6f\xc7\xa5\x48\x9c\x18\x4d\xf3\xe3\xed\x03\xb3\xaa\x40\xd6\x25\
+\x7a\x47\x52\x3c\xba\x7b\x98\x4c\x5e\xb3\xed\x91\x73\x91\x6e\x98\
+\x3c\xba\x7b\x98\x63\xc3\xc9\x59\x6b\x82\x05\x41\x20\x5f\xd4\xf9\
+\xf1\x8e\x01\xc6\xe3\xb9\xf3\x3e\xbf\x05\xd8\x17\x8e\x45\xd8\x7e\
+\x64\x02\xdd\x98\x5a\x8d\xcb\xf6\xb1\xd4\x91\xb3\x9d\x47\x14\x45\
+\xb2\xd9\xac\x3d\x5b\xe0\x6c\xfb\xbc\xf0\xc2\x0b\xf6\x0c\xb3\xf2\
+\xeb\x9b\xa6\xc9\xbe\x7d\xfb\x38\x72\xe4\xc8\x79\xa7\xc5\x5b\x7f\
+\x8f\x46\xa3\x3c\xf7\xdc\x73\x36\x93\xbf\x9a\x04\x38\x8b\x4f\xb2\
+\xd9\x2c\xbb\x77\xef\xe6\xd4\xa9\x53\x17\x34\xc9\x46\x10\x04\x4e\
+\x9d\x3a\xc5\x33\xcf\x3c\x33\x2b\x9f\x4c\x97\x18\x4f\x3f\xfd\x34\
+\x83\x83\x83\x17\xa4\x2e\x29\x8a\xc2\x89\x13\x27\x78\xe5\x95\x57\
+\xc8\xe5\x72\xaf\x0d\x00\xd6\x85\x7e\xf6\xe2\x10\xc3\xd1\x6c\xc5\
+\xc7\x2f\x6f\xff\x3d\x3d\x63\x50\x14\x05\x34\xdd\xe4\xf1\x7d\xa3\
+\xf4\x8d\xa6\x66\x7d\x59\xc7\x86\x93\x6c\xdd\x33\x82\x22\x89\x36\
+\x43\xcf\x76\xce\xf2\xf3\x2a\xb2\xc8\xc1\xd3\x71\x9e\x3c\x18\xae\
+\x00\xd2\xd4\xdd\x32\x91\xc8\xb3\x75\xef\x28\x93\xa9\x62\x05\xf3\
+\x9f\xed\x9c\xb6\x41\x9f\x2d\xf2\xb3\x17\x87\xc8\x16\xf4\x59\x3f\
+\xfe\xcf\x5e\x1a\xa6\x7f\x2c\x3d\xe3\x23\x9d\xed\x3e\x4b\x4c\x05\
+\x8f\xef\x1b\xe5\xc8\x70\x72\xea\xee\xce\xd0\xbe\x7d\xfb\xce\xfa\
+\x1e\xa7\x33\xe6\xd9\xf6\xb1\x18\xee\xe8\xd1\xa3\x33\xbe\xdb\x89\
+\x13\x27\xd8\xbb\x77\xef\xac\x13\x67\xce\x76\x2e\x41\x10\x18\x1c\
+\x1c\x64\xd7\xae\x5d\xe7\x64\xc6\xb3\x31\xbf\x61\x18\xf4\xf5\xf5\
+\x71\xf0\xe0\xc1\x19\x3d\x52\xcf\x75\x5d\xd3\x34\xe9\xeb\xeb\xa3\
+\xa7\xa7\xe7\x9c\xd7\x39\x70\xe0\x00\xfd\xfd\xfd\x33\xa4\xdd\xf9\
+\xde\x5f\x3c\x1e\xaf\x18\x72\x72\xc1\x00\xb0\x4e\xb6\xb7\x7f\x92\
+\x93\x63\x69\x4c\xb3\x92\xf9\x35\xdd\x24\xe4\x55\x69\xab\xf5\xd2\
+\x50\xe5\x46\x96\x44\x34\xfd\x8c\x9e\x29\x89\x02\xe1\xc9\x2c\xfb\
+\x4f\x4d\x92\x2b\xe8\x95\x6a\x8a\x59\x02\x95\x24\x56\xbe\x24\xc3\
+\x04\x59\x12\x69\xaa\xf6\xd0\x52\xe3\xc1\xa3\x4a\x18\x66\x25\xa3\
+\xcb\xa2\xc0\xb6\xbd\xa3\x24\xb3\xda\x34\xb5\xc2\xa4\x77\x34\x45\
+\xcf\xe9\x38\xb2\x24\x54\xac\xf0\x00\x75\x41\x17\xed\xf5\x3e\xea\
+\x82\x2e\x0c\x13\x8c\xf2\x8f\x0f\x4c\x24\xf3\x3c\x7d\x70\x6c\xc6\
+\xf3\xf7\x87\x53\x1c\x1f\x4e\xa2\xe9\x95\x2f\xbe\xa8\x19\xf8\xdc\
+\x32\xad\xb5\x5e\x9a\xaa\x3d\xb8\x14\x89\xa2\x66\x54\x48\xc2\x4c\
+\x5e\x63\xf7\xf1\x08\x89\x4c\xb1\x42\xec\xa7\x52\x95\x8b\x82\x24\
+\x49\xd4\xd4\xd4\xa0\xaa\xea\xac\xba\xba\x69\x9a\x84\x42\x21\x7b\
+\xea\x64\xf9\x0c\xb3\x63\xc7\x8e\x55\xfc\x2e\x93\xc9\xd0\xdb\xdb\
+\x6b\x0f\xf9\x28\xf7\x36\x29\x8a\x42\x4d\x4d\x0d\xf5\xf5\xf5\x78\
+\xbd\x5e\x74\x5d\xaf\x60\x46\xc3\x30\x38\x7d\xfa\x34\x83\x83\x83\
+\xb3\x2c\x30\xe7\x5e\x24\x13\x89\x04\x7b\xf6\xec\xa9\x18\x25\x65\
+\x8d\x78\x72\xbb\xdd\xd4\xd5\xd5\x51\x53\x53\x63\x1b\xa6\xe5\x54\
+\x28\x14\x38\x78\xf0\xe0\x0c\x7b\xa8\x5c\x05\x3b\x74\xe8\xd0\x0c\
+\x46\x36\x0c\x03\x59\x96\xa9\xad\xad\xa5\xae\xae\x0e\x97\xcb\x85\
+\xa6\x69\x36\x18\x44\x51\x64\xc1\x82\x05\xf6\x7b\x7b\x55\x5e\x20\
+\x41\x10\x28\x6a\x06\xaf\x9c\x88\x12\xcf\x14\xb1\x78\xd5\x34\x4d\
+\x4c\xe0\x7d\x9b\xda\x59\xda\x16\xc4\xa5\x88\x18\x86\xc9\x78\x22\
+\xcf\xe3\xfb\xc2\xec\x3f\x39\x69\xbb\x2d\x5d\x8a\xc4\xce\xa3\x11\
+\x56\xcf\xaf\x62\x61\xa3\xdf\x7e\x31\x2f\xf5\x45\x19\x89\x65\x67\
+\xe8\xad\xcb\xdb\x82\xbc\x79\x5d\x13\x21\x9f\x8a\x00\x64\x0a\x3a\
+\xcf\xf6\x8c\xb3\xeb\x58\x84\xa2\x6e\x20\x4e\xa1\x3a\x5f\x34\xd8\
+\xb6\x77\x84\x77\x5f\x3a\xef\x8c\x47\x25\x5d\xe0\x99\x43\x63\xc8\
+\x52\xd9\x4c\x5d\xcd\xa0\xa5\xda\xc3\x5b\xd6\xb7\x30\xbf\xc1\x8b\
+\x2c\x09\x14\x75\x93\xa1\x48\x96\x1f\x3e\x77\x92\x74\x5e\x47\x9c\
+\xda\x37\x5f\x34\x38\x74\x3a\xce\x45\x8b\x6a\xa8\x0f\xba\xec\xf7\
+\xf0\xc2\xf1\x28\x13\xc9\x3c\x65\x58\xa5\xa8\x9b\xbc\xed\xa2\x16\
+\xd6\x77\x56\xe3\x52\x24\x30\x4d\x62\xe9\x22\x4f\x1f\x1a\xe3\x85\
+\xa3\x11\xfb\xf9\x55\x59\x64\xcf\x89\x49\xd6\x77\xd6\xb0\xa2\x3d\
+\x04\x94\xd2\x8a\xcb\x19\x58\x96\x65\xae\xb9\xe6\x1a\xda\xda\xda\
+\x18\x1a\x1a\xe2\xa9\xa7\x9e\x22\x9b\xcd\xda\xcc\x5b\x2c\x16\x59\
+\xb6\x6c\x19\x17\x5d\x74\x11\x6e\xb7\x9b\x27\x9e\x78\x82\x81\x81\
+\x01\xfb\xf8\x58\x2c\x66\xcf\x32\x06\x18\x19\x19\xa1\xb7\xb7\xb7\
+\x42\x05\xc9\xe7\xf3\x2c\x5f\xbe\x9c\x35\x6b\xd6\xd8\x4d\xbe\xf2\
+\xf9\x3c\x7d\x7d\x7d\x6c\xdf\xbe\xdd\x66\x5a\x51\x14\x89\xc5\x62\
+\xf4\xf6\xf6\xda\xe3\x5c\x2f\x84\x34\x4d\xa3\xaf\xaf\x8f\x48\x24\
+\x62\x5f\xd7\x7a\xc6\x8b\x2e\xba\x88\xa5\x4b\x97\xda\x06\x76\x36\
+\x9b\x65\xd7\xae\x5d\xf4\xf5\xf5\x55\xf4\x43\x9a\x9c\x9c\x64\xff\
+\xfe\xfd\xac\x5b\xb7\x6e\x46\xab\x98\x7d\xfb\xf6\x11\x8f\xc7\x2b\
+\xed\x37\x5d\xa7\xbb\xbb\x9b\x8d\x1b\x37\xda\x7d\x5b\xb3\xd9\x2c\
+\x3d\x3d\x3d\xec\xdd\xbb\x17\x4d\xd3\x58\xb2\x64\xc9\x59\xed\x8b\
+\x73\x1a\xc1\xd6\xce\x47\x06\x13\xbc\xd4\x1b\x25\x53\xd0\x11\xa7\
+\x3c\x1a\x92\x28\xf2\x89\xb7\x74\xb3\xb2\x23\x84\x5b\x11\x51\x65\
+\x09\x55\x16\xa9\xf1\xbb\x58\xda\x1a\x24\x93\xd7\x19\x18\xcf\x20\
+\x0a\xa5\x55\x30\x5b\xd0\xa9\xf6\xa9\x74\xd4\x7b\x6d\xb5\xe4\x81\
+\xe7\x4e\x91\xca\x9d\x91\x0a\x92\x28\xb0\x7e\x61\x35\xff\xdf\x55\
+\x0b\x08\x7a\x15\x14\x49\x40\x91\x45\x7c\x6e\x99\x65\x6d\x41\x24\
+\x49\xe4\xf4\x44\xc6\x96\x30\x82\x00\xc3\xd1\x1c\x57\xad\x6c\xb0\
+\x8d\xec\xde\x91\x14\xbf\xd9\x1f\xc6\xa5\x94\x56\x18\xdd\x28\x19\
+\xe1\x1f\xbc\xa2\x83\xce\x26\x3f\xaa\x2c\xa2\x48\x12\x2e\x45\xa4\
+\x21\xe4\x66\x63\x57\x2d\xaf\xf4\xc5\xc8\x17\x75\x5b\x0a\x14\x34\
+\x13\x9f\x5b\x66\x61\x63\x69\x88\xdd\xa9\xf1\x0c\x3b\x8f\x4e\x90\
+\xc8\x6a\xf6\xf3\x9b\xc0\xcd\xd7\x2c\xe4\xb2\x25\x75\x78\x54\x09\
+\x97\x22\xa1\xc8\x22\x21\x9f\xca\x92\xb6\x20\xa2\x20\x70\x7c\x38\
+\x89\x28\x60\x3b\x05\x54\x59\x64\x41\x63\xe9\x1e\x7a\x7a\x7a\x88\
+\x44\x22\xf6\x22\x33\x7f\xfe\x7c\x36\x6e\xdc\x88\x2c\xcb\xf8\xfd\
+\x7e\x34\x4d\x63\x60\x60\xc0\xfe\x68\x1e\x8f\x87\x37\xbc\xe1\x0d\
+\xd4\xd5\xd5\xa1\x28\x0a\x4d\x4d\x4d\x1c\x3a\x74\xc8\x66\x30\x49\
+\x92\x98\x3f\x7f\x3e\x5e\xaf\x97\x6c\x36\xcb\x81\x03\x07\x18\x1d\
+\x1d\xb5\x57\x5a\x5d\xd7\xd9\xb8\x71\x23\x97\x5f\x7e\x39\xc1\x60\
+\xd0\x9e\x5e\xef\x76\xbb\x69\x6e\x6e\xa6\xb1\xb1\xd1\x96\x22\xe5\
+\x93\x6d\xea\xea\xea\xec\x95\xf3\x7c\x46\x70\x26\x93\x61\xfb\xf6\
+\xed\xf6\x6c\x63\xab\xd9\xd7\x96\x2d\x5b\x58\xbf\x7e\xbd\xdd\x3a\
+\x5e\x51\x14\x3c\x1e\x0f\xdd\xdd\xdd\xe4\x72\x39\xc6\xc6\xc6\x2a\
+\x40\x64\x9a\x26\x4b\x96\x2c\xa9\x68\x37\xa9\x69\x1a\x2f\xbe\xf8\
+\x22\x93\x93\x93\x15\x03\x0c\xd7\xac\x59\xc3\x55\x57\x5d\x65\xcf\
+\x6b\x96\x65\x19\xaf\xd7\x4b\x7b\x7b\x3b\x2e\x97\x8b\xc9\xc9\x49\
+\x36\x6c\xd8\x30\xc3\x49\x70\x41\x2a\x90\xb5\x73\xff\x58\x9a\x48\
+\xaa\x80\x28\x60\x33\xd5\xfb\x37\xb7\xd3\x51\xef\xad\xd8\xcf\x7a\
+\x71\x3e\xb7\xcc\x75\x6b\x9b\x58\xdc\x12\xa0\xa8\x9b\xb6\xca\xd2\
+\x73\x3a\x41\x2a\x57\x12\x6f\xe1\x78\x8e\xf0\x94\x27\xc5\xba\xb1\
+\xf9\x0d\x7e\xde\xbb\xa9\xbd\xe2\x77\xe5\xba\xf8\x55\x2b\x1a\x58\
+\xb7\xb0\x1a\x49\x3a\x33\xaa\x54\x37\x0c\xf6\x9d\x9c\x04\x20\x5b\
+\xd0\xd9\x7f\x6a\xd2\x06\x98\x61\x96\x54\x9e\xb7\x5e\xd4\x42\x53\
+\x95\xa7\xec\x9c\x67\xee\xd5\xef\x96\xf9\xc8\xb5\x9d\x28\xd2\x99\
+\x97\x9a\xce\x6b\x9c\x1c\x4b\xdb\xea\x51\xff\x58\xaa\x62\xf5\x2f\
+\x6a\x26\x6f\xbf\xa8\x95\x95\x1d\x55\xb3\x3e\xbf\x4b\x16\xd9\xb2\
+\xbc\x81\xf5\x9d\x35\x33\x9e\x3f\x3d\xf5\xfc\x56\x40\xcb\x32\x64\
+\x17\x2c\x58\x60\x3f\xb7\xa2\x28\x34\x34\x34\xd8\xab\xbf\x61\x18\
+\x34\x37\x37\x57\xcc\x13\x0b\x06\x83\x15\x22\xdd\x6a\xe7\x68\xb9\
+\x56\x07\x07\x07\x6d\x69\xa0\x69\x1a\xdd\xdd\xdd\xac\x5d\xbb\x76\
+\x46\x70\xcd\xa2\x8e\x8e\x0e\x36\x6f\xde\x6c\x33\xa0\x28\x8a\x44\
+\xa3\x51\xc6\xc7\xc7\x2f\xd8\x06\x98\x9c\x9c\x64\x7c\x7c\xbc\xe2\
+\x9b\xad\x5e\xbd\x9a\xa5\x4b\x97\xce\xf8\xa6\xd6\x3e\x5b\xb6\x6c\
+\xa1\xbd\xbd\xdd\x4e\xb1\x16\x04\x81\x64\x32\x69\x4b\x37\x8b\x4e\
+\x9f\x3e\x4d\x2a\x95\xaa\x68\x33\xbf\x70\xe1\x42\x36\x6d\xda\x34\
+\xeb\x79\x01\x56\xac\x58\xc1\x8d\x37\xde\x68\xcf\x56\x9b\x4d\x92\
+\x9d\xd7\x06\x98\x4c\x17\x18\x8e\x66\x6d\x2f\x86\x66\x98\xac\x5d\
+\x50\xcd\xb2\x79\xc1\x73\x82\xa6\x36\xe0\xe2\xd2\x25\x75\xf8\x5c\
+\x12\xc6\xd4\xea\x7e\x72\x3c\x4d\x24\x59\x72\x9f\xbe\xdc\x17\xa5\
+\x5c\xcb\x55\x65\x91\xb7\x5d\xd4\x32\xab\xcf\xbc\xfc\xa1\xde\x76\
+\x51\x2b\x21\xaf\x52\xf1\x42\x77\xf7\xc5\x6c\xf5\x65\xff\xa9\x92\
+\xee\x5f\x5a\xc1\x60\xc3\xa2\x1a\xba\x9a\x03\x9e\x3f\x01\xd0\x00\
+\x00\x11\x1e\x49\x44\x41\x54\xe7\xbc\xd7\xe6\x6a\x37\x57\xad\x6a\
+\xa4\x38\xa5\xdf\x8b\x53\xee\xce\x53\x63\x19\x4c\x13\x4e\x8f\x67\
+\xc8\xe6\x75\xdb\x96\x58\xd8\xe4\xe7\x92\xee\xda\x73\x9e\x33\xe0\
+\x91\xb9\xb8\xbb\xa4\x46\x95\xde\x1d\x44\x53\x05\x4e\x4f\x64\xec\
+\xd5\xb4\x9c\xa6\xeb\xa7\x8a\xa2\xd8\xae\x48\x4b\x02\x58\x51\x53\
+\xeb\x1a\xa1\x50\xa8\x82\x01\x0b\x85\xd2\xbb\x8d\x46\xa3\xb6\xaf\
+\xde\x30\x0c\x82\xc1\x20\x2b\x56\xac\xb0\xa3\xbd\xb3\x06\x84\x04\
+\x81\xae\xae\xae\x0a\x66\x2c\x16\x8b\x8c\x8d\x8d\xcd\x6a\x3c\xce\
+\xa6\xfe\xf4\xf6\xf6\xda\xea\x8c\xae\xeb\x34\x37\x37\xb3\x64\xc9\
+\x92\xf3\xf6\x3a\xbd\xf2\xca\x2b\x2b\x82\x55\x16\x80\xcb\x55\xa8\
+\xc1\xc1\x41\x1b\x00\xd6\x22\xb1\x65\xcb\x96\xb3\x7e\x03\x4b\xfa\
+\xb8\x5c\xae\x19\x23\x6f\x5f\x15\x00\x26\x92\x05\x62\xe9\xc2\x94\
+\x5b\xd3\xc4\x30\xe0\xaa\x55\x8d\x76\xa8\xff\x5c\xb4\xa8\xd9\xcf\
+\x92\xb6\xe0\x94\xe1\x38\x85\xe4\x48\x76\xca\xa8\x2c\x19\xd4\xd6\
+\x0d\x2f\x6c\xf4\xd3\x5e\xef\x3d\x7b\xc4\xce\x5a\x5d\x15\x91\x8b\
+\xbb\x6a\xa6\xbc\x46\x25\x3a\x39\xe5\x99\x89\x24\xf3\x24\xb3\x45\
+\x44\x41\x40\x37\x4c\xe6\xd5\x79\x58\xda\x76\xfe\x74\x01\x51\x10\
+\xb8\x7c\x4a\x95\x29\xed\x57\x4a\xf1\x18\x4f\xe4\x88\xa6\xf2\xc4\
+\xd2\x05\xfb\xfe\x8b\x9a\xc1\x35\xab\x1a\x70\x5d\x80\xcb\xb6\xb3\
+\xd1\xcf\xd2\xb6\x20\xfa\x94\x41\x2b\x89\x02\x03\x13\x19\x8c\x73\
+\x00\xe7\x5c\x2e\xd1\xb3\x1d\x53\xe1\xce\xd5\x75\x7b\x15\xb6\x7e\
+\xee\xec\xec\xbc\xa0\xd2\x45\x8f\xc7\xc3\x9a\x35\x6b\x6c\xa3\xd8\
+\x1a\x10\x98\x4c\x26\xcf\x7b\xac\x61\x18\x8c\x8e\x8e\xda\xcc\x26\
+\xcb\x32\xff\x7f\x7b\xd7\xfa\xdb\xc6\x95\xdd\x7f\xf7\xce\x83\xaf\
+\x21\xc5\xa7\x5e\xa4\x29\x5b\x96\x64\x2b\x8a\xfc\x2c\x6c\xa7\x81\
+\x01\x37\xd8\x04\x9b\x45\x80\xa0\x5b\xa0\x1f\xfb\xa5\xdf\xf6\x73\
+\xff\x98\xf6\x53\xd1\x7e\x28\x50\x6c\x11\x20\x2d\xb6\x5d\x38\xdb\
+\x76\x53\x74\x53\x64\x13\xc7\x95\xd3\x35\x12\x5b\x91\x25\xcb\x16\
+\x65\x52\x22\x25\x8a\xaf\xe1\xcc\xdc\xe9\x87\xe1\xbd\x9a\x91\x44\
+\x72\x68\xc9\xaf\x5d\x1e\xc0\x10\x0c\x89\xc3\x3b\xf7\xde\x73\xee\
+\x39\xbf\xf3\x3b\xe7\xe6\xf3\x79\x24\x12\x89\x9e\x6b\x0a\x00\xe1\
+\x70\x18\x8b\x8b\x8b\xe2\x32\x72\xd3\x34\x45\xc6\x9b\x2b\x71\xb5\
+\x5a\x15\xbf\xb7\x2c\x0b\x17\x2f\x5e\x14\xb8\x7e\xaf\x67\xf7\x9a\
+\xab\x9e\x0a\xc0\x35\x66\xa7\xd6\x16\x59\x54\x8b\xd9\x98\x19\xd7\
+\x90\x8c\xa8\xbe\x30\xe2\x58\x48\xc1\x54\x26\xd2\xb1\xc8\xce\x46\
+\xdb\xac\x34\xd1\x6a\x5b\x28\xee\xea\xfb\xfe\x2b\x25\xb8\x36\x9b\
+\xec\x0b\xbb\xf1\xdf\x5d\x99\x4e\x40\x96\xbd\x08\xcf\xd3\xed\x26\
+\x36\x2a\x2d\x71\x82\x30\x1b\xc8\x26\x43\xc8\x1f\x70\xd3\xba\x89\
+\x2a\x53\x5c\x39\x9b\x70\x94\x15\x40\x5d\xb7\x50\xa9\x19\xd8\x6d\
+\x38\xff\x48\x27\xaf\xc1\x51\x24\xda\xe7\xfd\x6d\xdb\x86\x22\x53\
+\xe4\x33\x61\x44\x02\x0a\x6c\x00\x94\x00\x1b\x95\x26\x0c\xab\x17\
+\x89\xa3\xf7\x7a\xf4\x05\x2c\x0c\x03\xe5\x72\x59\xbc\xaf\xaa\xaa\
+\x18\x1b\x1b\x83\xaa\xaa\xbe\x60\xcc\x64\x32\x89\x74\x3a\x2d\x4e\
+\x81\xbd\xbd\x3d\xe1\x5a\xf5\xcc\xa3\x58\x96\xc8\x69\xd8\xb6\x8d\
+\x78\x3c\xee\xfb\x4e\x63\x42\x08\xce\x9d\x3b\x27\x4e\x3b\x1e\xc8\
+\x72\x25\xd8\xdd\xdd\x15\x1d\xb4\xf9\x3c\xcc\xcd\xcd\x9d\x08\x67\
+\x89\xf6\xdb\x6c\x95\x7a\xdb\x81\x1a\x3b\x1b\x6d\x6e\x32\x0a\x45\
+\xa6\x7d\x37\x15\x1f\xe8\x78\x3c\x88\x94\xe6\x40\x8e\x12\x05\x36\
+\x77\x5a\x58\x2b\x35\x04\x2c\xc9\xe5\xad\x9c\xff\xbe\xf8\xa9\x68\
+\x00\xf1\xf0\xfe\x45\x74\x36\x80\x47\xa5\x3a\x36\xca\x4d\x81\xe6\
+\x84\x03\x12\x72\xe9\x08\x88\xcf\xad\xa6\xca\x14\x8b\xf9\x11\x98\
+\xcc\x06\x3a\xca\xbe\xdb\x30\xb0\xbe\xdd\xc4\x5e\xd3\x04\x25\x0e\
+\x15\x63\x6e\x32\x0a\x55\xc0\xab\xa4\xd7\xaa\x8a\xf7\xcf\x8c\x04\
+\xc0\x98\x0d\x4a\x08\x36\xca\x4d\x98\xd6\x8b\x63\x37\xb6\xdb\x6d\
+\x94\xcb\x65\x50\x4a\xc1\x18\x43\x32\x99\x44\x3c\x1e\xef\xab\x44\
+\x7c\x2e\x03\x81\x00\x26\x27\x27\x3d\x0a\xd0\xaf\xf4\x91\xfb\xff\
+\xee\x7b\x8e\xa3\xd1\x28\x32\x99\x8c\x2f\xe3\x43\x08\x11\x97\x10\
+\xba\x15\xa0\x5a\xad\x1e\xa9\x00\xc9\x64\x12\x9a\xa6\x9d\x88\x02\
+\xf4\x85\x41\x1b\xba\x05\x66\xdb\x20\x84\x82\xd9\xc0\x44\x32\x08\
+\x45\x22\xbe\xb4\x1a\x00\x12\x11\x05\xb1\xb0\x8c\x52\xb5\x05\x4a\
+\x08\xf6\x9a\x06\xca\xb5\xb6\x08\x30\x01\x20\xa5\xa9\x47\x52\x05\
+\x7a\x49\x2e\x15\xc2\xb3\x9d\x96\x93\x59\xb5\x6d\x54\x6a\xed\x8e\
+\xa5\xe6\x16\xc9\xc6\x2f\xbe\x7e\x8a\x5f\x7e\xb3\x31\x80\x95\x05\
+\x82\x0a\x05\x01\x01\x81\x0d\xdd\xb4\x50\xae\xea\xd0\x0d\x0b\x12\
+\x25\x60\xcc\xc6\x64\x22\x04\x59\x18\x80\x1e\xef\xdf\xf9\x99\xd0\
+\x54\xc4\x42\xb2\x93\x3f\xa1\x8e\x6b\x65\x75\x94\xec\x45\x88\x65\
+\x59\x68\x34\x1a\xc2\x75\xe0\x37\x57\xfa\x4d\x6a\xf1\x1c\x01\x57\
+\x00\xd3\x34\x7d\xc5\x00\x6e\xff\x9c\xbb\x35\x7e\xb2\xc0\x6e\x17\
+\x6f\x74\x74\x14\x7b\x7b\x7b\xe2\x7b\x79\xe6\x56\xd7\x75\x18\x86\
+\xe1\xe1\x48\x75\xcb\x8c\x9f\xa8\x02\x98\x16\x83\xd1\x81\x1c\xf9\
+\xf1\x94\xd4\x54\x50\xea\x7f\xf5\xb4\xa0\x82\x48\x60\x7f\x03\xe8\
+\x06\x43\x43\x37\xe1\xe6\x04\x8c\xc6\x83\x03\x65\x1d\x01\x20\x33\
+\x12\x04\x21\xce\xa6\xb5\x01\x34\x74\x73\x1f\xca\x24\x04\xcc\xb6\
+\xd1\x36\x6d\x0c\xd2\xc9\x86\x78\x7c\x71\xa0\x6d\x30\x34\x88\xd5\
+\x89\x55\x3a\xd6\x27\xa6\x7a\x12\x77\xfd\xdf\x5f\x46\x38\x20\xc3\
+\x16\xa8\x95\x8d\xb6\xc5\xf0\xa2\x5a\xec\xf0\x60\x98\xa3\x3d\xfc\
+\xe2\x6e\xbf\x22\x49\x12\xa2\xd1\xa8\x27\x31\xd6\x2d\x31\xe5\xfe\
+\x4e\xb7\x92\xf0\x9b\x30\xfd\x90\x20\xdd\x0a\x10\x8b\xc5\xc0\x18\
+\x83\x24\x49\xb0\x2c\x4b\x6c\xfa\x76\xbb\x2d\xfc\x7f\x9e\x0c\x3c\
+\x29\xca\x76\x4f\x05\x30\x2c\x1b\x6d\x93\x09\x4b\xa7\xca\x14\x32\
+\x25\x03\xbd\x98\x22\x13\x27\x06\xe8\xfc\xbf\xd5\xb6\xd0\xd0\x4d\
+\xcf\xc6\x0c\xab\xd2\xc0\x03\x0f\x29\x5e\x0b\x50\xd7\x2d\x34\x0d\
+\x4b\x18\x56\xb1\x91\x8f\x31\x39\xcd\xb6\x25\x10\x9c\x4e\xe2\x1a\
+\x21\x59\x12\x6e\x96\x2f\xcb\xd6\x61\x9b\x72\x8d\x27\x20\x87\xde\
+\xff\x24\x37\xbf\x61\x18\x9e\x2c\xb2\x2c\xcb\x47\x32\x31\x7b\xba\
+\x83\xaa\xea\x71\x99\x0c\xc3\xe8\x1b\x83\xe8\xba\x2e\xe6\x9c\x52\
+\x2a\xac\xbf\xdf\x8d\xca\xd9\xa5\x02\xde\x76\x29\x80\x61\x18\xb0\
+\xac\x7d\xbf\xf1\x24\x6f\xd0\x94\xfb\x4d\xa8\x9b\x77\x2f\x51\x37\
+\xa1\xca\xdf\x00\x28\x25\x9e\x13\x83\xd9\x36\x5a\x06\xf3\x72\x86\
+\xa4\xc1\x5f\xc6\x43\x70\xb3\x01\xcb\x62\xb0\xac\x93\xdb\x56\x84\
+\x10\x71\xfa\xb9\xbe\x06\xaa\x3a\xf8\xd1\x2b\x39\x49\x62\x31\x6d\
+\x86\x69\xa3\x9f\x06\x70\x18\x94\x6f\x82\x50\x28\xe4\x6b\x23\x1f\
+\xe4\xd7\x50\x4a\x07\x76\x17\x78\x36\xf8\xf0\x3e\xe8\xed\x7a\xb9\
+\x3f\x3f\xa8\xd2\x1d\x44\xba\x2c\xcb\x12\x27\x8f\x69\x9a\xe2\xf9\
+\xbc\xe0\xe5\xa4\x44\xee\xb7\xc9\x14\xc1\xd9\x20\x68\x19\x16\x18\
+\x0f\x5e\x89\xed\x4b\x09\x0c\x93\x09\x64\x05\x00\x82\x8a\x84\x83\
+\x1e\x44\x4b\x1f\x3c\x2a\x6c\xb4\x2d\x8f\xef\x12\x0e\xc8\x08\x29\
+\x27\x69\x59\x9d\xdc\x85\x74\x50\x39\xed\xc1\x9e\xd1\x71\xac\x06\
+\xfe\xf6\x74\x3a\x8d\xf7\xdf\x7f\x5f\x50\xa5\xd3\xe9\x74\xdf\x85\
+\xe7\x17\x71\xbb\xe9\x03\xa6\x69\x8a\x6b\x9e\xfc\x8a\xbb\xf7\x0f\
+\x3f\x45\xfa\x29\x51\x20\x10\x10\x4a\xc2\x18\x13\x8a\x3b\xa8\xeb\
+\xd6\xeb\xdd\x0e\x92\xf6\x5e\xb8\x02\x28\x12\x15\x88\x8f\xe3\x03\
+\x03\x35\xdd\x04\x60\xfb\x46\x57\x9a\x6d\x0b\xad\x0e\xee\x67\xdb\
+\x40\x50\x3d\xec\x42\xec\x36\x8d\x81\x07\x5e\x6d\x18\x70\x19\x55\
+\x84\x03\x12\x82\xea\xbe\xb2\x72\xba\xc2\xf3\xfa\xda\xa6\x65\x43\
+\x95\xf9\x33\x9f\xfb\x1c\x79\x6e\x57\x46\x96\x65\x64\x32\x19\x81\
+\xa4\x1c\xb4\xee\xbd\xac\xa8\x3b\xf8\x6c\xb7\xdb\x30\x0c\xc3\xb7\
+\x02\x70\x9e\x8e\x9b\x9f\xe5\x27\x98\xe5\xee\x0b\xb7\xde\x3c\x80\
+\x1d\xa4\xca\x8b\x07\xef\x2f\x53\xe4\xde\x16\xc5\xa9\xc7\xe5\xd6\
+\x8c\x76\xca\x0b\xcf\x8e\x6b\xbe\x90\x20\x00\xd8\xa9\x1b\xa8\x36\
+\x9c\xe4\x94\x0d\xc7\x52\x93\x03\x47\x40\xa1\xdc\x1c\x68\x73\x10\
+\x42\xf0\x64\xbb\xe1\xd9\x98\xd1\xa0\x82\x6a\xc0\xf4\x60\xf0\x57\
+\xa7\x93\x58\x9c\x1a\x39\xe4\xca\xf8\x31\xdc\x84\x10\x64\x62\x01\
+\x7c\xf9\x70\xdb\x83\x58\xbd\x0c\xe9\xc7\x87\xef\xe7\x46\xf0\xdb\
+\xe7\x29\xa5\xa8\xd5\x6a\x68\x34\x1a\x22\x0b\xdc\xf7\xc4\x76\xe5\
+\x11\xb8\x0b\xd5\x4f\x01\x08\x21\x9e\x2a\x32\x5e\xa3\x3b\x48\x0c\
+\xc0\x18\x43\xa9\x54\x3a\x31\x74\xe7\xd8\x0a\xc0\x5f\x66\x24\xac\
+\x20\xa4\xca\xb0\x18\x73\xe8\x0c\xc5\x3a\xae\x75\x32\xb1\xbd\x9c\
+\x20\x77\x05\x55\xb9\xd6\x16\x89\xb4\xb1\x78\x00\xca\x01\x05\x30\
+\x2c\x1b\x8f\xb7\x1a\xc8\xa7\xc3\xfe\x7c\x73\x93\x89\x44\x1a\x3f\
+\x0e\x73\xa9\x10\x2c\xe6\x24\xc0\xa4\x4e\xb0\x1d\x54\xa9\xc8\x04\
+\x3f\xaf\x98\xec\xcd\xea\x88\xac\x28\x0a\x12\x89\x04\x0a\x85\x82\
+\xa8\x37\xae\x56\xab\x48\xa5\x52\xbe\xca\x3d\x75\x5d\x47\xb1\x58\
+\x14\x19\xdd\x48\x24\x22\x60\xd4\x5e\x92\x4a\xa5\x3c\xae\x57\xbd\
+\x5e\x47\xa5\x52\x41\x22\x91\xf0\x35\xee\x76\xbb\x8d\xad\xad\xad\
+\xd7\xe7\x04\x10\x38\xbe\xa6\x62\x24\x2c\x63\x6b\xaf\x0d\x59\x22\
+\xf8\xdd\xe3\x5d\xb4\xae\x65\x11\x09\x00\xc4\x29\x0e\xe8\xfa\x79\
+\xd3\x62\x58\xdf\x6a\xa0\xde\x32\xa1\xca\x54\xe0\xe8\x07\x03\x2a\
+\x66\xdb\xb8\xbb\x52\x41\x3e\x1d\xf6\x75\x64\xde\x7b\xbc\x8b\xb6\
+\x8b\x73\x4f\x08\x70\x7a\x2c\x82\xb6\xc5\xc0\x98\x0d\x22\x53\xd8\
+\xb0\xf1\x64\xbb\x89\xad\xaa\x8e\xb4\x8b\xd6\xdc\x15\xc5\x30\x2c\
+\xfc\xdd\xaf\x57\xf1\xb0\x50\x03\x01\x30\x95\x89\xe0\x4f\x6f\xe4\
+\x04\xea\xf5\x26\x08\x77\x57\x12\x89\x04\x9e\x3e\x7d\x0a\x59\x96\
+\xb1\xb7\xb7\x87\xad\xad\x2d\x9c\x39\x73\xc6\x57\x96\xbd\xd9\x6c\
+\x62\x7d\x7d\x1d\x92\x24\x81\x31\x86\x68\x34\xda\x57\x01\x08\x21\
+\xa2\x93\x45\xad\x56\x13\x14\x8a\x42\xa1\xd0\x93\x0a\xe1\xb6\xfe\
+\x8f\x1e\x3d\x82\x65\x59\x03\xc5\x2a\x27\x21\x7d\xcf\x9b\xa4\xa6\
+\x62\x24\xa2\xee\x17\x84\x1b\x16\xbe\x59\x29\x3b\x94\xe4\x1e\xd6\
+\x04\x70\x68\xc4\x0f\x0b\x7b\x1e\x76\x66\x36\x15\x76\x92\x5e\x9e\
+\x09\xb0\xf1\xbf\x8f\x76\xa0\x1b\xcc\x17\xc5\xe2\xb7\x0f\xb6\x3d\
+\x0a\x90\xd4\x54\x04\x15\x09\x63\x23\x41\x48\x12\x11\xd4\xea\xf5\
+\xad\x06\x96\x0f\x54\xa2\x75\x1b\xef\x83\x42\x0d\x77\x57\x76\x60\
+\x59\x0c\x6d\x93\xa1\x52\x6b\x63\xbb\xaa\x0f\x94\xf3\x78\x5d\x4e\
+\x00\x37\x95\x41\x92\x24\xac\xae\xae\x0a\xea\xf5\x51\x73\xeb\x86\
+\x3b\xbf\xfb\xee\x3b\x0f\x0f\x5f\xd3\x34\x68\x9a\xe6\xcb\xf5\xe2\
+\x94\x63\xc0\xa1\x46\x3f\x79\xf2\x44\x94\x6a\xf6\x5a\x53\xcb\xb2\
+\xf0\xed\xb7\xdf\x7a\x8a\x68\x5e\x1b\x05\x18\x8f\x07\x31\x36\x12\
+\x10\x15\x59\xaa\x4c\xf1\xab\xa5\x67\xd8\xa9\x1b\x5d\x27\x93\xd7\
+\xcf\x2e\xad\xee\x60\xa3\xd2\xea\xd0\xa8\x9d\x8c\xef\x44\x22\x78\
+\x64\x22\xa9\xd6\x32\xf0\x8b\x3b\x1b\x7d\xe1\xbd\xaf\x97\xcb\x58\
+\xdf\x6e\x78\xac\xca\xc5\xd3\xce\x31\x1b\x09\x48\x98\x9d\xd0\x60\
+\x75\x68\x07\xf5\x96\x89\xbb\x2b\x15\x6c\x55\xf5\xae\x8b\xcf\x03\
+\xde\x7f\xf9\xea\xa9\x93\x05\xe6\x5c\x16\x4d\x41\xb6\xe3\x56\xbd\
+\x69\x92\xc9\x64\x10\x0a\x85\xc0\x18\x03\xa5\x14\x85\x42\x01\xab\
+\xab\xab\x9e\x64\xd2\x51\x08\xcb\xf6\xf6\xb6\x28\x65\xe4\x7f\x93\
+\xc9\x64\x7c\x29\x80\x2c\xcb\x98\x9e\x9e\x16\x1b\x9e\x52\x8a\xb5\
+\xb5\x35\x2c\x2f\x2f\xf7\x5d\x53\x5e\x1b\xf1\xb2\xfd\xff\xbe\x0a\
+\xc0\x07\x98\xcf\x44\x30\x12\x56\x44\x36\x53\x37\x18\xfe\xfe\xd7\
+\xab\x30\x5d\xb8\xfb\x41\x84\x62\x69\xcd\xe9\xef\xa3\x48\xfb\x5d\
+\x22\xe6\x4f\xc5\xa0\x05\xe5\x43\xa8\x0a\xcf\x90\x7e\xb3\x52\xc1\
+\xd2\xea\xce\xa1\x5a\x4f\xfe\x37\xc5\x5d\x1d\xb7\x97\x36\xd1\xd4\
+\xbd\x0b\x79\xf5\xac\xa3\x00\x01\x55\xc2\x85\xa9\x38\x4c\xcb\xf9\
+\x9c\x2c\x11\xdc\x7f\x52\xc5\xff\x74\x4e\x0c\xf7\x73\xdd\xe3\xfe\
+\x87\xff\x7e\x8c\xe2\xae\x2e\x8a\x5d\x28\x25\x18\x8f\x07\x91\xd4\
+\xd4\x7d\xd8\xf7\x0d\x12\x4d\xd3\x90\xcd\x66\x3d\xa7\xc0\x97\x5f\
+\x7e\x29\x28\xc6\x47\xcd\x43\xab\xd5\xc2\x67\x9f\x7d\x26\x3e\xc3\
+\x09\x6d\x7e\x58\xa4\x3c\x58\xce\x66\xb3\x22\x18\xa6\x94\xa2\xd5\
+\x6a\xe1\xde\xbd\x7b\x78\xf6\xec\x59\xd7\x35\x2d\x95\x4a\xa2\x1a\
+\xed\x55\x88\xaf\x82\x98\xd9\x09\x0d\xa3\x1d\x42\x17\x00\xc1\xed\
+\xff\x9b\xdb\x3f\xe0\x49\x87\xdf\xce\xff\xb6\xa1\x5b\xf8\x8f\x6f\
+\x8b\xf8\xa7\x2f\x1e\x0b\x6a\x81\x6d\x3b\x79\x80\xb7\x72\xb1\xae\
+\x34\x6a\x42\x08\xea\xba\x89\x9f\x7f\xb1\x8e\xdf\x3e\xdc\xdf\xb0\
+\x9c\xd6\xf0\xb0\xb0\x87\xbf\xfd\xf7\x15\x94\x76\x75\x8f\xe7\x95\
+\x4f\x87\x45\x53\x2b\x45\xa2\x98\x9d\x88\x3a\x3d\x83\x38\x2e\x2e\
+\x11\xfc\x6a\x69\x13\xff\xfc\xd5\x53\x6c\xef\xe9\x9e\xb1\x96\xaa\
+\x3a\xfe\xf1\x37\x8f\xf1\xf5\x72\x59\x9c\x4a\xfc\xa4\xba\xd0\x29\
+\x76\x79\x13\x45\xd3\x34\xe4\xf3\x79\x0f\xbb\x92\x31\x86\xdb\xb7\
+\x6f\xe3\xfe\xfd\xfb\x02\xa3\xe7\xf3\xb0\xb1\xb1\x81\x4f\x3f\xfd\
+\xd4\x53\x6d\xc5\x18\x43\x3a\x9d\x16\x8d\xb9\xfc\xec\x93\x40\x20\
+\x80\xd9\xd9\x59\x91\xc0\x92\x24\x09\x85\x42\x01\x9f\x7f\xfe\x39\
+\xd6\xd6\xd6\x3c\xa0\x85\x61\x18\x58\x5e\x5e\xc6\x27\x9f\x7c\x32\
+\x10\x5a\xf4\x52\x61\x50\x11\xe1\x47\x03\x98\xcf\xc5\xb0\x51\x69\
+\xa1\xdd\xe1\xdb\x28\x12\xc5\xf2\x66\x0d\x7f\x7d\xfb\x07\x8c\x27\
+\x82\x18\x8d\x05\xd1\xd0\x4d\x6c\xee\xb4\x50\xaa\xea\x60\x1d\x4b\
+\xca\x51\x9e\xb7\xf3\x23\x98\xca\x44\x38\xca\x78\xb4\x36\x76\x0a\
+\xc8\x7f\xfe\xc5\x13\xfc\xd7\xfd\x12\x26\x12\x21\xc8\x94\xe0\xd9\
+\x6e\x0b\x85\x4a\xab\xc3\xf5\x81\xab\x85\xa2\x8d\x8f\xaf\x65\xbd\
+\x31\x4b\x54\xc5\xcd\xf9\x0c\xfe\xed\x6e\x01\x21\x55\xea\xb4\x27\
+\x01\x7e\xf3\xdd\x16\xee\xaf\x57\x91\x4d\x85\x10\x0d\x29\x28\xed\
+\xea\xd8\xaa\xb6\x50\xa9\x1b\x9e\x36\x86\x20\xc0\x64\x32\x84\xb9\
+\xc9\xe8\x4b\x87\x3f\x4f\xcc\xaa\x51\x8a\x5c\x2e\x87\xc9\xc9\x49\
+\x51\x16\x49\x29\x15\x3d\x82\xee\xdd\xbb\x87\x64\x32\x09\x59\x96\
+\x51\xa9\x54\x50\x2e\x97\xa1\xeb\xba\xb0\xc2\x1c\xfd\x39\x7d\xfa\
+\xb4\x6f\xf8\x94\x2b\xc0\xc2\xc2\x02\xbe\xff\xfe\x7b\xb1\xd9\x15\
+\x45\x41\xb1\x58\xc4\xed\xdb\xb7\x91\x4c\x26\x91\x4c\x26\x61\x18\
+\x86\xf8\x5e\x77\xc2\xed\xb5\x55\x00\x00\xb8\x31\x97\xc6\xef\xd6\
+\xab\x58\x2d\xd6\x41\x61\x8b\xbe\x37\xcd\xb6\x85\x95\xcd\x1a\x56\
+\x3a\xc1\xa6\xe0\x83\xb8\x8e\x3c\x89\x12\x5c\x9f\x4d\x22\xa1\xa9\
+\x3d\x21\x38\xfe\x79\x66\xdb\xd8\x28\x37\xb1\xe1\xca\x0f\x78\xb3\
+\x7f\x36\x2c\x06\x5c\x98\x1a\xc1\xe9\xd1\x88\x27\x68\x0b\x2a\x12\
+\x2e\x9d\x89\xe3\xab\xe5\x6d\x54\x9b\xa6\xa0\x6f\x10\x00\xbb\x0d\
+\x03\x3b\xf5\xfd\x6c\x23\xe9\x9c\x66\xe2\x68\xee\x04\xd4\xb7\xde\
+\x1e\x45\x4f\x4d\x7d\x03\x24\x95\x4a\x61\x6e\x6e\x0e\x9b\x9b\x9b\
+\x87\xca\x4b\xcb\xe5\xb2\x08\x8a\xf9\xdc\x72\xff\x9b\x9f\x1a\x63\
+\x63\x63\x98\x9b\x9b\x1b\xf8\x7b\x13\x89\x04\x16\x16\x16\xb0\xb4\
+\xb4\x24\xda\xa2\x50\x4a\x61\x18\x06\x36\x37\x37\xb1\xb9\xb9\x79\
+\xe4\x9a\xfa\x49\xf2\xbd\x92\x20\x98\x0f\x2e\x1a\x92\xf1\xde\xe2\
+\x18\xa2\x21\xf9\xd0\xbe\x38\xaa\xdb\x17\xff\x9c\xc9\x6c\xdc\x9c\
+\xcf\xe0\xdc\x64\xac\x4f\x22\xc4\xee\xfa\xcc\x83\xcf\x65\x0c\x18\
+\x09\x2b\xf8\xe9\x0d\x6f\xad\x27\xff\x39\x99\x0c\xe1\xfd\x4b\xe3\
+\xa2\x86\xb9\xeb\x58\x0f\x3c\x57\xa6\x04\x97\xcf\x24\x44\x31\xfc\
+\x9b\x2a\xfc\x9d\x67\x66\x66\x30\x3b\x3b\xeb\x69\x7b\xe2\x67\xcd\
+\xe2\xf1\x38\x2e\x5f\xbe\xec\x09\x86\xfd\x4a\x30\x18\xc4\xe2\xe2\
+\x22\xd2\xe9\xb4\x87\x1f\xd4\x6b\x4d\x5f\xe5\xed\x93\x03\x35\xc6\
+\xba\x30\x35\x82\x9b\xf3\x19\xc8\x3d\x6a\x2c\x3d\xc9\x0d\xd3\xc6\
+\x7c\x2e\x86\x5b\x6f\x67\x10\x0a\x48\x5d\x3f\x73\xe1\x74\x5c\xd4\
+\xce\xfa\x59\x5c\x8b\xd9\xf8\x8b\x5b\xa7\x91\xd4\x94\x23\x7f\x2f\
+\x51\x82\x6b\x33\x49\xbc\x7b\x3e\x03\xfd\x00\xf1\xae\xd7\x09\x74\
+\x3e\x1b\xc3\x47\x7f\x34\x89\x37\x5d\x44\x73\x82\x48\x04\x57\xaf\
+\x5e\xc5\xe8\xe8\xe8\xa1\xcd\xd8\x0d\x8f\x0f\x04\x02\xb8\x72\xe5\
+\x0a\xb2\xd9\xec\xc0\x16\x99\xcf\x73\x2a\x95\xc2\x3b\xef\xbc\x83\
+\x60\x30\xd8\xb5\x17\xe9\x51\xee\xd3\x85\x0b\x17\xfa\x52\xaf\x5f\
+\x89\x02\xb8\x5f\xf0\x83\x4b\xe3\xf8\x93\xc5\x51\xd1\xc0\xf6\xa8\
+\x86\xad\x7c\x93\xbe\x75\x2a\x86\x3f\xbb\x9e\x43\x2a\xda\xbb\xf3\
+\x72\x2c\xac\xe0\x67\x1f\xce\x38\xa7\x4b\x17\xe6\xa1\x53\xe6\xe8\
+\x50\x1c\x7e\xf6\xe3\x19\x4c\x8f\x45\xfa\xd4\x0e\x4b\xf8\xc9\x95\
+\x09\xdc\x7a\x7b\xd4\xa9\x19\xe8\x31\x56\x4a\x09\xce\x4d\x46\xf1\
+\x97\x3f\x9a\xc6\xef\x8b\xf0\x79\xe0\x0d\x76\xc7\xc7\xc7\xc1\x18\
+\xeb\x39\x0f\xa1\x50\x08\xd7\xaf\x5f\xc7\xc2\xc2\xc2\x73\x59\x65\
+\xf7\x7a\x4c\x4f\x4f\xe3\xbd\xf7\xde\x13\x70\x6c\xb7\x35\xe5\x8a\
+\xfa\xd1\x47\x1f\x21\x1e\x8f\x77\x55\x98\x17\x75\x4a\x0c\x98\x76\
+\x73\x26\xf5\x27\x57\x26\x30\x11\x0f\xe2\x8b\xef\xb7\xf1\x60\xa3\
+\xea\x04\xbc\xae\xe2\x94\x44\x44\xc1\xb5\xd9\x14\x6e\xce\x67\x30\
+\x12\x51\x7c\x65\x77\xe3\x11\x15\x7f\xf5\xf1\x79\xfc\xeb\x9d\x0d\
+\xdc\x5b\xdb\x45\xb5\x69\x88\x2c\xac\xc5\x1c\xdf\x7e\x6e\x32\x8a\
+\x1f\x5f\x99\x10\x94\x89\x7e\x05\xf4\xa1\x80\x84\x8f\xaf\x65\x31\
+\x91\x08\x76\x5a\xae\xb7\x60\x63\x7f\xac\xcc\xb6\x31\x91\x08\xe1\
+\x8f\xcf\xa7\x71\x6b\x61\xf4\xd0\x33\x29\x25\x00\x71\xf2\x04\x12\
+\x65\xe8\x91\xf8\xee\x6f\x5d\xed\xfd\x02\x23\x27\x2e\x81\x67\x63\
+\x3c\x0f\x06\xce\x79\xf3\xdc\x7a\x1f\x55\x08\xce\xfd\xf9\x0f\x3e\
+\xf8\x00\x4b\x4b\x4b\x78\xf0\xe0\x81\x20\x9d\x71\x74\x88\xf7\x14\
+\x5a\x5c\x5c\xc4\xd4\xd4\x54\xd7\x79\xe5\x65\x96\x7c\x93\xf6\xa3\
+\x55\xcc\xcc\xcc\x20\x12\x89\xe0\xce\x9d\x3b\x78\xfc\xf8\xb1\x68\
+\xf0\xcb\x37\x7e\x30\x18\xc4\xd9\xb3\x67\x71\xe3\xc6\x0d\x68\x9a\
+\x86\x52\xa9\x24\x9a\x7b\xb9\xdd\x24\x77\x9f\x22\x9e\xcb\x78\x25\
+\x0a\x20\x2a\xb0\x6c\x1b\x97\xa7\x9d\xd6\x28\xcf\x76\x5a\x58\xd9\
+\xac\xa3\xb0\xd3\x44\x38\x20\x63\x2a\x13\xc1\x99\xb1\x30\xa2\x21\
+\x45\x14\x8e\xfb\x1d\xf0\x48\x58\xc1\x9f\xbf\x9b\xc7\x8f\x2e\xb6\
+\xf1\xc3\x66\x0d\xab\xa5\x06\x6c\x66\x63\x32\x19\xc4\xcc\x44\x14\
+\x63\x23\x01\xdf\x17\x6f\xf0\x49\x53\x65\x8a\x77\xe7\xd3\xb8\x32\
+\x9d\xc4\x5a\xa9\x8e\xd5\x62\x1d\xdb\x7b\x3a\xb4\x90\x82\xf3\xd9\
+\x18\x72\xa9\x10\xb4\x60\xf7\x4b\x1a\xde\xca\xc5\xb0\xd7\x30\xd0\
+\x32\x19\xd2\x51\x55\x04\xf2\xfe\xee\x12\x70\xe6\x6c\x31\x3f\x82\
+\x66\xa7\x10\x48\x0b\xc8\x18\x8d\x29\xb8\x74\xe9\x92\x40\x4b\xc2\
+\xe1\xf0\x73\x5d\x38\xcd\x3b\x29\x00\x4e\xbd\x40\x2e\x97\xeb\x3a\
+\x0f\xf1\x78\x1c\x37\x6f\xde\xc4\xe5\xcb\x97\x51\x28\x14\x44\xc7\
+\xe9\x74\x3a\x8d\x6c\x36\x8b\x78\x3c\xde\xd7\xe7\xd7\x34\x0d\xf3\
+\xf3\xf3\x28\x16\x8b\x60\x8c\x21\x9f\xcf\xf7\x9c\x7b\x42\x08\x26\
+\x26\x26\xf0\xe1\x87\x1f\xa2\x5c\x2e\xa3\x50\x28\xa0\x58\x2c\x8a\
+\x36\x86\xbc\x91\x17\x6f\x89\x72\xea\xd4\x29\x9c\x3f\x7f\x1e\x96\
+\x65\x21\x1a\x8d\x8a\x7e\x3e\xf9\x7c\x1e\xd5\x6a\x15\xf5\x7a\x1d\
+\xb2\x2c\x23\x9b\xcd\x9e\x58\xd2\x6c\xa0\xfb\x01\x7a\xa1\x37\x83\
+\xfc\xee\x3f\xff\xaf\x88\x5f\xde\x2d\xc0\xe8\x60\xfd\xef\xce\xa7\
+\xf1\xd3\xeb\xb9\x63\x3d\xb3\xdf\x46\x04\x06\xff\x6c\xbf\x36\xdd\
+\xc7\x9d\xa3\xa3\x8e\xf8\xe3\x3e\xf7\x79\xe7\xcf\xcf\x25\x26\xcf\
+\x8b\xd2\x1c\xe7\xd9\xbd\xde\xf3\x24\x50\xa3\x63\x31\x8f\xfc\x90\
+\xab\x5e\x8f\x67\x72\xd0\xf3\x64\xc6\x32\xc8\x38\x06\x29\x09\x7c\
+\xd1\x63\x3b\xce\xdc\x1e\x67\xa3\x1d\xe7\xd9\x27\xb1\x06\x27\x16\
+\x04\x0f\x65\x28\xbf\x6f\x32\x54\x80\xa1\x0c\x15\x60\x28\x43\x19\
+\x2a\xc0\xcb\x94\x83\x71\xb7\x3d\x5c\x88\xa1\xbc\x1a\x91\x5f\xc5\
+\x97\x8e\x27\x42\x88\x47\x54\xb4\x0d\x0b\x20\x04\xb9\x54\x78\xb8\
+\x12\x43\x79\x25\x72\x2c\x18\xf4\x38\x52\xae\xb5\x9d\xa6\x53\x70\
+\xd8\xa6\x84\x0c\x17\x63\x28\x7f\x00\x0a\x70\x12\xd8\xfa\x50\x86\
+\xf2\xc6\x9f\x00\x43\x19\xca\x1f\x6e\x10\x3c\x94\xa1\xbc\x26\xf2\
+\xff\x2a\xca\xb1\x93\x8e\x67\x83\xcb\x00\x00\x00\x00\x49\x45\x4e\
+\x44\xae\x42\x60\x82\
+\x00\x00\x05\x71\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xaf\xc8\x37\x05\x8a\xe9\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x05\x03\x49\x44\x41\x54\x78\xda\x62\
+\xfc\xff\xff\x3f\xc3\x40\x02\x80\x00\x62\x62\x18\x60\x00\x10\x40\
+\x03\xee\x00\x80\x00\x1a\x70\x07\x00\x04\x10\x0b\x23\x23\x23\xdd\
+\x2d\x15\x5d\xcd\xe0\xc8\xcc\xc4\xd0\xc0\xc4\xcc\x60\x07\x10\x40\
+\x4c\x2c\x0b\x19\x1c\xa1\x21\x41\x73\x97\xb0\x2e\x62\x70\xe4\x58\
+\xc2\x70\xf0\xeb\x1f\x86\x7d\x9f\x7e\x31\xd8\x7d\x7a\xc8\x30\x0d\
+\x20\x80\x18\x19\x16\x32\xfc\x67\xf8\xc9\xb0\x8c\x21\x8d\x21\x03\
+\xa8\xe6\x1b\x10\xff\xa5\xba\xcd\x73\x81\x9e\x64\x64\x68\x60\x00\
+\xfa\x18\x2e\x76\x85\xa1\x95\xa1\x9b\x61\x33\x40\x00\x31\x31\xfc\
+\x62\x78\x04\xf4\x7f\x14\x43\x1f\xd0\x29\x0c\x0c\x7c\x40\xcc\x4c\
+\x35\x8b\xa7\x32\x28\x32\xcc\x04\x7b\x71\x1f\x37\x0b\xb7\x1d\xc3\
+\x6f\xa0\x18\x08\x9f\x01\x5a\xdd\xcd\xb0\x1d\xc8\x7a\x03\x10\x40\
+\x4c\x40\x3f\x6f\x65\xf8\x03\x64\x72\x31\x04\x32\x74\x32\xcc\xa3\
+\x8a\x23\x26\x02\x2d\x9e\x0a\xb4\x98\x99\xe1\x9e\x10\x8f\x50\x5c\
+\x98\x59\x18\x83\x08\xa7\x08\x03\xd0\xb3\x5f\x18\x0e\x33\x34\x31\
+\x4c\x66\xd8\x08\x54\xf5\x1c\x88\x5f\x02\x04\x10\xc8\x01\x87\x40\
+\x0e\xb0\x33\x04\x86\x0e\x37\x43\x00\x43\x1b\x05\x8e\xe8\x05\x5a\
+\x3c\x11\x62\x31\x3f\x0f\x7f\x9c\x8f\xbd\x0f\x43\x5a\x70\x1a\xc3\
+\x91\xab\x47\x18\x1e\x3e\x7b\xf8\x95\x61\x2d\x43\x39\x50\x16\xe4\
+\xf3\xa7\x20\xcb\x41\x51\x0e\x10\x40\xa0\x84\xc7\xca\xd0\xcf\xf0\
+\xcb\xd6\xcd\x96\xe1\x2f\xe3\x5f\x86\x63\x3b\x8f\x31\x30\x7c\x66\
+\xd8\xc0\x50\xc7\x90\x04\x94\xfb\x44\x54\x9a\xe8\x04\x5a\xcc\x0c\
+\x8e\xe3\x38\x56\x76\x56\x06\x0d\x23\x0d\x06\x63\x73\x63\x86\x0f\
+\xaf\x3f\x30\xec\xdb\xbc\x8f\xe1\xd3\xfb\x4f\x5f\x81\xe1\x5c\xc6\
+\xb0\x9f\xe1\x2c\x50\xf5\x33\x50\xd0\x03\xf1\x4f\x20\xfe\x07\x10\
+\x40\x10\x5f\xda\x33\x98\x7d\x67\xfa\xae\x2a\x65\x2b\xc5\xc0\xc6\
+\xcb\xc6\xf0\xf6\xc1\x5b\x0d\x06\x4b\x06\x75\x86\x83\x0c\x3b\xa0\
+\xb1\xf6\x1f\x87\xc5\x02\x0c\xae\x0c\x1d\xc0\x34\xb4\x9c\x99\x9d\
+\x59\x5f\xc6\x54\x86\x41\xdb\x5b\x9b\x81\x57\x9e\x97\xe1\xf9\xab\
+\xe7\x0c\x87\x56\x1e\x62\xf8\xfe\xfa\xfb\x3d\x86\x95\x0c\xa5\x0c\
+\x27\x18\x2e\xa1\x59\x0e\x36\x13\x20\x80\x98\xc1\x0c\x1b\x06\x99\
+\x9f\xdf\x7f\xba\x00\x2d\x65\xf8\x27\xf6\x8f\x81\x89\x97\x89\xe1\
+\xfb\xfd\xef\x1a\x0c\xe6\x40\x47\x1c\xc6\xe2\x88\x56\xa0\xc5\xce\
+\x0c\x95\x0c\xff\x18\x56\x30\xb2\x33\xda\xf3\x99\xf3\x31\x88\xfb\
+\x89\x33\xb0\x28\xb2\x30\x7c\x66\xf9\xcc\xf0\xe6\xe5\x1b\x86\x9b\
+\xcb\x6e\x32\xfc\x79\xff\xe7\x1e\xc3\x6c\x86\x12\x86\xdb\x40\x08\
+\xb1\xfc\x2d\x03\x28\x25\x20\x99\x05\x10\x40\x90\xbc\x9f\x03\xb4\
+\x48\x9c\xe1\x06\x4b\x2c\x0b\x03\xa3\x3c\x44\xe8\xef\xc5\xbf\x0c\
+\xff\x36\xff\x83\x44\x47\x17\x34\x3a\x1a\x19\x78\x81\x74\x21\x10\
+\xe7\x33\x70\x32\xf0\x03\x1d\xc8\xc0\x62\x06\xd4\xc3\x81\x54\x84\
+\x5c\x04\xba\x76\x33\xd0\xbd\x3f\x18\xee\x31\xcc\x07\x5a\xfe\x8c\
+\xe1\x01\x34\xce\xdf\x03\xf1\x1f\xf4\xd0\x04\x08\x20\x98\x4e\x66\
+\x86\x5a\x86\xfb\x40\x03\x65\x19\xdc\x18\x50\x0c\x63\xd8\x0c\xc4\
+\x5f\x80\x8e\x60\x66\xb8\xc5\xc0\xc1\x90\x0e\xcc\xcf\xfc\x0c\xb6\
+\x40\x31\xa0\xe5\x40\x3e\x2a\x80\xa9\x7f\xcb\xb0\x87\x61\x3d\xc3\
+\x14\xa0\xe5\x0f\xa1\x3e\x7f\x0f\x0d\x45\x0c\x00\x10\x40\x88\x94\
+\x6e\xc6\xa0\x0a\x74\x9f\x29\x83\x3e\x34\xd9\x81\xb0\x28\x10\x83\
+\xfc\x7c\x8f\x41\x03\xe8\x00\x6b\x06\x1d\xa0\x95\x41\x40\xbe\x2a\
+\xd4\xe9\x7f\x91\xf0\x79\x20\xde\x04\x8e\xe1\x3d\x0c\xd3\x81\x79\
+\xe9\x33\xc3\x63\x68\x56\xfb\x80\xcb\x72\x10\x00\x08\x20\x16\x28\
+\xfd\x9f\xe1\x3b\x30\x3b\x3e\x63\xc8\x64\x78\x0d\xe4\xf1\x23\xa9\
+\xd0\x00\x62\x41\x20\x66\x07\x62\x01\xa8\xd8\x2f\x34\x53\xb6\x02\
+\xf1\x65\x20\x7e\x07\xb4\x7c\x0e\xd0\x72\x48\x16\x7b\x4e\x4c\x2e\
+\x02\x08\x20\xe4\xf2\x9f\x15\x18\xbb\xbf\x18\xbc\x80\x2c\x5d\x12\
+\xf2\xfe\x56\x70\xb1\xca\xc0\x70\x07\x98\x99\x37\x83\x0b\x98\x57\
+\x40\xfc\x82\xd8\x2c\x0c\x10\x40\xa8\x85\x8d\x21\x30\x22\xfe\x03\
+\x03\x58\x15\x2d\x78\xb1\x61\x50\xad\xb1\x1d\xea\xf3\xdb\x40\xcb\
+\xb7\x32\xac\x83\xfa\xfa\x05\x38\xd5\x10\x59\xa7\x00\x04\x10\x0b\
+\x12\xfb\x1f\xd0\xff\x07\x81\x49\xd1\x13\x23\x88\xd1\x01\x28\x17\
+\xaf\x02\xe2\xd7\xe0\xf4\xd1\xcf\xb0\x13\x6e\xf9\x4b\xa8\xd3\xfe\
+\x11\x1b\x80\x00\x01\x84\x1a\x02\xca\xc0\x24\xc4\x04\xcc\x94\xc2\
+\xd0\x74\x80\xcb\xe7\x2b\xc0\xd6\x7d\x65\x38\x09\x8c\xb4\x63\x0c\
+\xfb\xa0\x96\xbf\x22\xd5\x72\x10\x00\x08\x20\xd4\x16\xd1\x1a\x60\
+\x4c\xfe\x06\xa6\xde\x7b\xd0\x84\x86\x8e\x41\x65\xd8\x72\x70\xae\
+\xfe\xca\x70\x0a\x58\xb4\x5e\x02\x17\xad\x4f\xa0\xc1\x4e\xb2\xe5\
+\x20\x00\x10\x40\xe8\x4d\xb2\x7f\xc0\xe0\xdd\x02\xcc\xf1\x98\x96\
+\x83\x72\xf3\x22\x20\x7e\x0c\xf4\xe9\x19\xa0\xe5\x57\x80\x24\xa4\
+\x80\x01\xf9\xfc\x3b\x39\x96\x83\x00\x40\x00\xa1\x3b\xe0\x3f\x30\
+\x04\x0e\x31\x7c\x44\x2a\x34\x7f\x41\x03\x78\x2d\x38\x5d\xdf\x63\
+\xd8\x05\x6c\xb8\x5c\x03\xfa\x1f\x62\x39\x4a\xb9\x4e\x0e\x00\x08\
+\x20\x6c\xcd\x30\x56\x86\x68\xa0\xb5\xa0\x92\x4e\x1b\x88\x1f\x01\
+\xf1\x21\x70\xba\xbe\xc7\xb0\x17\x58\xb4\xbe\x03\x17\xad\xc8\xa5\
+\x1b\x45\x1d\x0b\x80\x00\xc2\x5e\xe7\x6b\x01\xb3\x23\x0b\x30\x33\
+\x82\x8c\x3f\x08\xc4\x5f\x81\x99\x6d\x1f\xb0\xf2\xc1\xb4\x9c\x62\
+\x00\x10\x40\xd8\x9a\xe5\xff\x80\x7e\x3a\x08\x2e\x48\x8f\x81\x83\
+\x7d\x0f\x30\xf8\x0b\x80\x96\xdf\x43\xaa\x54\xa8\x62\x39\x08\x00\
+\x04\x10\xf6\x7e\xc1\x57\x60\xe5\xc3\x00\x0e\xf6\x1d\xc0\xd2\x0d\
+\x56\xb4\x3e\xa1\xb6\xe5\x20\x00\x10\x40\x8c\x78\xa2\x46\x08\x88\
+\xc5\xa0\x55\xe8\x2b\xa2\x5b\x47\x24\x02\x80\x00\x62\xc4\x23\xce\
+\x0a\xad\x82\x40\xd9\xeb\x07\x4d\x9a\xeb\x40\x00\x10\x40\x8c\x03\
+\xdd\x3b\x06\x08\xa0\x01\xef\x1b\x02\x04\x18\x00\x8f\x7b\x95\x11\
+\xa5\x12\x2b\xb0\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x0e\xa8\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0e\x6f\x49\x44\x41\x54\x68\x81\xb5\x9a\x69\x90\x5d\xc5\
+\x75\xc7\x7f\xbd\xdc\x7b\xdf\x7b\xb3\x8f\xd6\xd1\x08\x2d\xc8\x92\
+\x02\x48\x80\x04\x88\x58\x2c\x02\x64\x16\x09\x10\x58\x2c\x89\x91\
+\x00\xb1\x06\x70\xa8\x18\x07\xa7\x9c\xf8\x43\x5c\x8e\x8b\xc2\x01\
+\xec\xb8\x0a\xc7\x14\x36\x24\x84\x9d\x72\x20\x36\x06\x43\x14\x16\
+\xc7\x44\xd8\x38\x26\x96\x41\x20\x04\x08\x04\x48\x02\x6d\xb3\xbc\
+\xed\x6e\xdd\x9d\x0f\x6f\x99\xf7\x66\x91\x06\x91\x9c\xa9\x53\x33\
+\xef\xbe\xbe\xb7\xff\xff\x73\x4e\x9f\x73\xba\xef\x08\xe7\x1c\xe3\
+\x95\x36\xb1\x6e\x94\xab\x12\x07\x18\x12\x99\x12\x76\x19\xca\x3d\
+\x82\xb4\x1b\x92\x89\x12\xd7\x05\x60\x11\x7b\xc1\xdf\xe7\xd0\x7b\
+\x14\xd9\x8f\x35\x99\x3e\x85\x76\x82\xca\xb7\xe3\x95\xbc\xfb\xe7\
+\x11\xd7\xc4\xa7\x21\x30\x5c\x32\x62\xad\x1f\xd3\x77\x58\x20\xc2\
+\x93\x27\xf6\x78\x27\xcf\x98\xd3\x33\xff\xd0\x79\x73\x7a\x26\x4f\
+\x9d\xdc\xde\xde\xd1\xee\xfb\x99\x00\x70\x44\xe5\x88\x81\xfe\x81\
+\x78\xd7\xce\x4f\xfa\xdf\x7d\xeb\xdd\x9d\x1f\x6e\xfd\xe4\xcd\xbd\
+\x9f\xa4\xbf\x8c\xc9\xbe\x14\xd0\xb5\xb9\xec\xee\x4f\x0f\x16\xc3\
+\xa7\x22\x50\xf1\x80\x22\xa6\xd4\x65\xf8\xf8\xdc\xe9\x33\x73\x17\
+\x1f\x77\xe2\x82\x13\x8e\x3f\x79\x59\xe7\xac\xd9\x73\x69\x6f\xef\
+\xc6\xf3\x02\x70\x30\xfc\xb9\x42\x08\x10\x10\x27\x21\x03\xfd\x7b\
+\x78\xef\x9d\x2d\x6c\xf8\xe5\x8b\x7b\x7f\xf7\x5f\x6f\xbc\xb8\x73\
+\x47\xfc\x98\x66\xea\xb3\x3e\xd9\x01\x30\x63\xce\xff\x99\x3d\x90\
+\x15\x97\x05\x31\x1f\x5e\xf0\xb9\xc3\xda\x6f\x58\xf1\xc5\x33\x4f\
+\xf8\xe3\x93\x96\xd3\xd5\x39\x09\x93\x1a\xd2\x24\xc6\x5a\x8b\x73\
+\xae\x02\x76\x0c\x11\x08\xa4\x52\x68\xcf\x43\x2a\xc9\x9e\x3d\x3b\
+\x78\xe9\xc5\x67\x79\xe6\x89\xff\x78\x61\xdb\xd6\xe4\x1f\x32\xf4\
+\x3e\x55\x72\xf7\x8d\xcd\xe2\x60\x09\x78\xe2\xfc\x85\x1d\xdd\xfb\
+\xfe\xf6\xbc\x35\x67\xaf\x3e\xed\xac\xf3\x44\x7b\x4b\x17\x61\xb9\
+\x84\xb5\xa3\xcf\xb5\x3f\x12\x35\x71\xce\xa1\xb5\x26\xc8\x64\xe9\
+\xeb\xdf\xc5\x33\x4f\xfe\x24\xfe\xf9\x23\xcf\x3d\x58\x2a\x4c\xf9\
+\x76\x86\xce\xad\xc3\xbd\x71\xd0\x1e\x50\x62\xf9\x45\x0b\x8f\xeb\
+\xfc\xfb\x4b\xff\xec\xfa\x59\x33\x67\xcc\x27\x2a\x17\x31\xc6\x20\
+\x84\x38\xa0\xc5\xc7\x2b\x4a\x69\xfc\x4c\x86\xb7\xb7\xfc\x9e\x7f\
+\xb9\xeb\xee\x4d\x5b\x5e\x4f\x6e\x32\xee\xd9\xf5\x07\xba\xef\x80\
+\x04\x3c\x71\xd2\x57\x96\x9f\x7f\xd4\x2d\x17\xac\xb9\x26\xeb\x2b\
+\x9f\x38\x2a\x23\x00\x46\x01\xfd\x59\x88\xd4\x70\x04\x99\x1c\xc5\
+\xf2\x00\x0f\xdd\xfb\x8f\xfd\x1b\xd6\x6f\xbb\x39\xc3\xec\x7b\x44\
+\x35\x53\x7d\x6a\x0f\xf8\xf2\xc4\x9b\x57\x7e\x69\xe9\xad\x2b\xcf\
+\x5f\xab\x4c\x14\x61\x4c\x3a\x02\xe4\x78\x40\x37\x8e\x39\x90\xc1\
+\x2a\x61\xe5\x81\x14\xfc\xeb\xc3\x77\x87\xcf\xff\xec\x8d\x9b\x52\
+\xf7\x9f\x77\x8d\xf9\xec\xb1\x1e\xe8\x89\x93\x6f\x3c\xfd\xc2\xc5\
+\xdf\x5d\x71\xde\x5a\x9d\x94\x4b\x38\x37\x94\xaf\x47\x03\x3d\xda\
+\x35\x63\x2c\xd6\x3a\x3c\x4f\xed\x17\x74\x23\xf8\x9a\x48\xa9\x90\
+\x9e\xe6\xf1\x87\x7f\x14\xbe\xf4\xcc\xfb\xd7\x66\x99\x75\x7f\xde\
+\xdd\x33\x3e\x02\x5a\x9c\x71\xee\x31\xcb\xa6\x3c\xb2\xfa\x92\x6b\
+\x73\x26\x0e\x71\xd5\x85\x3a\x5e\xeb\x0b\x21\x88\xe3\x94\x69\x53\
+\x3b\xe8\xee\x6c\xe1\xb5\xcd\x3b\x08\x7c\x7d\x40\xd0\xc3\xaf\x49\
+\xa9\x70\x52\xf0\xc8\xbd\x77\xee\x7e\xe3\xbf\xe3\xd5\x89\x7b\xea\
+\xa5\x11\x58\x87\x5f\x08\xc4\x45\x73\x7a\x67\xdb\xdb\x4f\x5d\x79\
+\x61\xae\x9c\x1f\xc4\x98\x18\x21\xe4\xa8\x20\x47\xfb\x2c\x84\x20\
+\x8c\x12\xa6\x4d\xe9\x60\xf5\x8a\xa3\xe8\xea\xc8\x22\x84\xe3\x37\
+\xaf\x6e\x25\x13\x78\xf5\x85\x7f\x20\x22\xb5\xcf\xda\xf3\x39\xfd\
+\xbc\x8b\x27\xed\xda\x7e\xd7\xf7\x32\xe2\x4b\xab\x42\xf7\xf0\xce\
+\x31\x09\xb4\x8a\x2b\xb4\x0e\xb6\x7f\xe3\xc4\x95\x17\xcd\x93\x4e\
+\x52\x28\x0c\x36\x01\x1b\x0d\xf8\x70\x02\x61\x94\x30\xeb\x90\x89\
+\xac\x59\xbd\x84\xae\x8e\x2c\xa9\xb1\xac\x3a\x63\x21\x02\xcb\x8b\
+\x1b\x36\x13\x04\x1e\x72\x9c\x24\x00\xc2\x30\x24\x93\x69\xe5\x84\
+\xb3\x4e\x3d\xf6\xa9\xfb\xd7\x7f\x15\xf8\xda\x98\x04\x62\x76\x7e\
+\x61\xc1\x71\x87\x5e\x32\x69\xf2\x4c\x06\x07\xf6\x42\x43\x8a\x3c\
+\x50\xf8\x08\x21\x28\x87\x31\xf3\xe7\xf4\xb0\xee\x4f\x4e\xa0\xbd\
+\x35\x4b\x14\xa7\x55\x60\x92\x55\x67\x1c\x0d\x38\x9e\x7d\x7e\x23\
+\x9e\xaf\x91\xc3\xee\x1f\xcb\x03\x00\x51\x18\x72\xc8\xcc\xc3\x39\
+\x74\xe1\xef\xaf\x0d\xc4\xaa\x27\x22\xf7\xb3\x0d\x23\x08\xb4\x88\
+\xcb\x83\x6c\x7b\xfe\xc6\xb9\x0b\x57\x04\xa5\xc1\x3e\x4c\x1a\x8d\
+\x0a\x7e\x2c\x8f\x94\xc3\x98\x23\x0f\x9b\xc9\xd5\x6b\x4e\x21\x97\
+\x0b\x88\xe2\xa4\x9e\x6a\x4d\xb5\x42\xaf\x3a\x73\x11\x4a\xc2\xbf\
+\x3d\xfd\x5b\xb4\x56\x48\x29\xea\x60\xf7\x47\xc0\x39\x87\x4a\x52\
+\xfe\x68\xd1\x92\xf6\x6d\x6f\x3e\x79\x63\xab\xb8\xe2\x95\x82\xfb\
+\xa7\xb4\x89\x40\xca\xee\x65\x33\xe7\xf7\x9e\xee\xfb\xad\x14\xf2\
+\xfd\x4d\xb9\x7e\x38\x81\xe1\x5a\x2a\x47\x2c\x59\x34\x97\x6b\x2f\
+\x5f\x4e\x26\xf0\x88\xe3\xb4\x72\x6b\x03\x08\xe3\x1c\x2e\x76\x9c\
+\x73\xfa\x22\xa4\x84\x87\x1f\x7f\x09\x25\xe5\x08\x12\x35\xe0\xc3\
+\x09\x40\x99\x96\xd6\x2e\xa6\xce\x99\xb0\xf2\xa3\x4d\xfb\x16\x03\
+\xaf\xd4\x09\xb4\x8a\x2b\xa4\xf2\x07\xff\x74\xd2\x21\x8b\xbc\x52\
+\xbe\x0f\x9b\x94\x81\x21\x80\x63\x01\x17\x42\x50\x2c\x45\x2c\x5b\
+\x7a\x04\xd7\xad\x3b\x03\xcf\x53\xc4\x49\x2d\x6c\x18\x21\xc6\x39\
+\xca\x51\xc2\xca\xe5\x8b\xd0\x4a\x70\xcf\x83\xcf\x55\xc2\x40\x09\
+\x9c\x6b\x26\x31\x1a\x19\x95\x18\xa6\xce\x9a\xdd\xbe\xfd\xcd\xdf\
+\x5d\xdc\x44\xc0\x52\x9c\x95\x9b\xa8\xce\xf4\xfd\x56\x0a\x83\xfd\
+\xe0\xec\x08\xa0\x52\xca\xa6\xcf\xb5\xb0\x39\xf3\xd4\xc5\x5c\x77\
+\xe5\x0a\xa4\x14\xc4\xc9\x81\x7b\x30\xe7\x1c\xa5\x30\xe6\x8c\x53\
+\x16\xa1\x94\xe4\x07\x3f\x7e\x8a\xd0\x18\xb4\x56\x4d\xc0\x6b\x8d\
+\x61\xa3\x0a\x51\x26\x93\xeb\x22\xd3\x25\x4f\x6f\x11\x6b\x27\x14\
+\xdd\x03\x7b\x35\x80\x63\x70\x49\xb6\x6b\xc2\xb4\xb8\x5c\xc6\x46\
+\x79\xa8\x02\xae\xe9\x70\x32\x35\xf0\x5f\x3c\x7b\x29\xd7\x5f\x75\
+\x36\xce\x39\x92\xc4\x8c\xd6\x5d\x8c\x2a\xd6\x42\xb1\x1c\x72\xda\
+\x49\x47\xa2\x94\xe0\x8e\x3b\x1f\x67\x30\x5f\xc6\x1b\x46\xa2\x91\
+\x4c\x8d\x90\xf4\x32\xe4\xba\xb3\x87\x87\x7b\x07\x16\x03\xeb\x2b\
+\x04\x64\xe1\x78\x9d\x9d\x4a\xa9\x30\x80\x4d\xcb\x4d\xe0\x1b\x09\
+\x48\x29\x71\xce\x11\x46\x09\x97\x5c\x78\x1a\xd7\x5f\x75\x2e\x69\
+\x6a\x30\xc6\x8e\x19\x36\x63\x7b\x02\x8a\xa5\x90\x65\x4b\x17\xa2\
+\x95\xe2\xdb\xb7\x3f\xc8\xe0\x60\x01\xdf\xd7\x4d\xd6\xaf\xfd\x5d\
+\x23\x21\xe3\x14\x2f\xdb\xa6\x9d\xe8\x3b\x06\x58\x2f\xdb\xd4\x95\
+\x3e\x7e\x79\xa1\x43\x52\x2c\xe6\x09\xc3\x90\x28\x8a\x08\xc3\xb0\
+\x49\xa3\x28\xa2\x54\x2a\xd1\x3f\x90\x67\xed\xc5\xa7\x71\xc3\x55\
+\xe7\x92\x24\x29\xa9\x31\xb8\x83\xfc\xb1\xce\x91\x2f\x96\x59\xba\
+\xe4\x70\xbe\xf9\xf5\x4b\xc9\x64\x34\xfd\x03\x83\xa3\xce\x5f\xd3\
+\x72\xa9\x80\x13\x3e\x4e\xc7\x0b\xda\xd4\xd5\x42\x3a\x61\x3a\x85\
+\xc7\x74\xe7\x24\x69\x1c\x93\xa6\x29\x49\x92\x90\xa6\x69\x5d\x4d\
+\x9a\x12\x45\x31\xc5\x52\xc8\x75\x57\x9e\xcb\x75\x57\xae\x22\x8a\
+\x13\x52\x63\xc1\xf1\x99\xd4\x39\xc8\x17\xcb\x1c\xb7\x78\x3e\xdf\
+\xf9\xe6\x35\x74\x77\xb6\x51\x28\x94\x30\xc6\x54\xe6\xae\xfe\xae\
+\x69\x1c\xc7\x08\xa9\x10\x7e\x34\xd7\x49\xdb\x2a\x9d\x48\xba\x84\
+\x1f\x74\x0a\x21\xb1\xce\xd4\x5d\xd5\xa8\x95\x3c\x6e\xf9\xea\x97\
+\x2f\xe4\x9a\xcb\xce\xa6\x1c\x46\xa4\xa6\xea\xda\xcf\xa8\xb5\x50\
+\xc9\x17\xca\x1c\xb9\x60\x0e\xdf\xbd\xe5\x06\x7a\xa7\x4d\x24\x8c\
+\xe2\x51\x43\xc8\x5a\x53\x6d\xf4\x98\xe4\x84\x69\x91\x42\xd1\x61\
+\x70\x2d\x85\xfc\x20\x49\x1c\xd7\xbb\xce\xc6\x18\x2c\x95\x43\xd6\
+\x5d\xb2\x82\xab\x2f\x3d\x87\x72\x14\x63\xcc\xc8\x0c\xc1\x28\x7a\
+\xa0\xef\x87\x8f\x2b\x14\xcb\x1c\x75\xc4\x1c\xee\xb8\xe5\xcb\xb4\
+\xb6\x64\x48\x92\xb4\x62\x40\x63\xaa\x63\xaa\x8b\xd9\x3a\x84\x92\
+\x2d\x48\xd3\xa1\x91\x42\x58\xeb\xe4\xde\xdd\xbb\x18\x70\x65\x72\
+\xb9\x2c\x2d\x2d\x2d\x64\x32\x19\x7c\xdf\x47\x29\x85\xa7\x35\x2f\
+\xfc\xea\x55\xf6\xec\x1b\x60\xf9\x29\xc7\x70\xfc\xb1\x87\x13\xc7\
+\x49\x9d\xa8\x52\x12\xdf\xf3\x70\x54\x56\xb1\x40\x60\xac\xad\x8f\
+\x01\xf0\x7c\x0f\x25\x65\x7d\x4c\x6d\x9c\x75\xb6\x5a\xf8\x04\x69\
+\x6a\xb8\xef\x91\x67\xf9\xc3\xa6\x77\x29\x95\xc2\x11\x86\x74\x0e\
+\x9c\x75\x58\x1c\x48\xe9\x23\x45\x4e\x23\x05\x48\x1f\x54\x06\x1b\
+\x97\x28\x95\x4a\x44\x51\x84\xe7\x79\xf8\xbe\x4f\x26\x93\x21\x08\
+\x02\x36\xbd\xb9\x95\xdf\xbe\xba\x99\x23\x0e\x9b\x8d\x52\xb2\x5e\
+\x5c\x7c\xdf\xe3\xf5\x37\xde\xe3\x81\x47\xd7\xe3\x79\x1a\x21\x20\
+\x49\x0d\x87\xce\xec\xe1\x8a\xb5\x67\x61\xad\x43\x6b\xc5\xbd\xf7\
+\xff\x82\xb7\xdf\xfd\xa8\xbe\x37\x70\x0e\x92\x24\xa5\xb7\x67\x02\
+\xd7\xac\x3b\x17\xcf\xab\xa4\xd0\x07\x1e\xfd\x77\xde\x7e\xf7\x43\
+\xda\x5a\x73\x08\xe1\x30\xa6\xe2\x81\x38\x8e\x89\xe3\x98\x28\x0a\
+\x29\xa7\x1a\x93\x1a\xab\x95\x30\xda\x49\x19\x09\xa1\x62\xa9\x74\
+\x4e\x29\x85\x14\xa0\x54\x65\x92\x34\x4d\x29\x95\x4a\x84\x61\x88\
+\x52\x8a\x24\xb5\x18\x93\x36\x1d\x9b\x28\x29\xd9\xb5\xbb\x8f\x5f\
+\xac\xff\x35\xd9\x6c\x80\x14\x92\x30\x4e\x38\xf6\xe8\xf9\x5c\xb1\
+\xf6\xac\x8a\xa5\x85\xe0\xd5\x8d\x5b\x78\xf9\x37\x9b\x08\x32\x7e\
+\x3d\x6c\xc2\x28\xe6\xb0\x79\x33\xb8\xfa\xf2\x73\xea\xd6\xf6\xb4\
+\x04\x67\x29\x14\x0a\xf5\x84\x52\xd3\xca\xa2\x4e\x31\x32\x87\x72\
+\x94\x91\x7a\x40\x23\xbd\x7d\x0a\x93\x47\xe9\x4e\xa5\x3c\xa4\xb0\
+\x28\xa5\x46\xd4\x02\x29\x25\xd6\xa6\x98\xd4\xd4\x53\x60\x6d\x52\
+\xeb\x0c\x49\x12\xa1\x95\x40\x4a\x81\x49\x52\x8c\x49\x86\xda\x03\
+\x1c\xd6\xa4\xa4\x69\x8c\x4e\x87\xc2\x22\x4d\x22\x92\x34\x6e\x58\
+\xd4\x96\x42\xb1\x48\x3e\x9f\x47\x6b\xd5\x94\x48\x6a\x75\x08\x34\
+\x28\x8d\x32\x2a\x0f\x7e\x41\x23\xfd\x01\xe1\xec\x6e\xa5\xd4\x21\
+\x4a\x7b\x48\x12\xa4\x94\x4d\x24\x6a\x37\x2b\x29\xab\x19\xa9\x9a\
+\x06\xab\x04\x70\x02\x81\x00\x1c\xce\xd1\x50\x39\x87\xc6\x85\x51\
+\x4c\xa9\x54\xc6\x3a\x5b\xf5\x00\x84\x61\x44\x1c\x25\xf5\x94\x6a\
+\x6d\x85\x98\xac\xce\x3d\x5a\x07\x20\x84\x04\x25\x11\x64\xb7\x21\
+\x75\x5e\xa3\xfc\xbc\x70\xfe\x7b\x42\xba\xc5\x52\x07\x48\x3b\xba\
+\x07\x84\x10\x48\x25\xeb\x3b\xaa\xe1\x8d\x56\x8d\x74\x85\xec\xd0\
+\x91\x8b\x75\x8e\x38\x4a\xf8\x8b\xeb\x2f\x62\xdd\x9a\x95\xf5\xee\
+\x13\x2a\x44\x5b\x72\x19\x10\x55\xd2\xd5\x3d\x74\xed\x59\xd6\x36\
+\x9f\x9b\x3a\xe7\x40\x2a\x10\x02\x2b\xb2\x9b\x8b\x7b\xee\x8c\x75\
+\x71\xf7\xf7\x6d\xcb\xa4\xf3\x5f\x51\x22\xbd\x40\x7a\x39\x54\x1a\
+\x8f\xed\x01\xa5\x40\xd4\xc2\xa2\x0a\xa2\x92\x4e\x50\xaa\x99\xa8\
+\x94\xb2\x5e\xaf\xac\xb1\x1c\x71\xd8\x6c\xa4\x92\x4d\xfd\x86\x10\
+\x02\x6b\x2d\x61\x94\xd4\x43\x4d\x29\x89\x92\xaa\x1a\x2e\xc3\x37\
+\x4e\x0e\x44\x06\xd2\x3c\x46\x74\x6f\x84\x6a\x37\xea\x64\xc7\xcb\
+\x22\xd9\x1e\xa9\x96\xde\x40\x52\x42\x62\xea\xa0\x1b\x49\x54\x16\
+\xf7\xe8\x1e\x50\x4a\xd5\x3d\x50\x23\x5f\xaf\x03\xd5\x10\xda\x9f\
+\x58\x57\x69\xa9\xa5\x50\x15\x12\xd5\x67\x0d\xf7\x02\x3a\xc0\xc6\
+\x03\xfb\x9c\xea\x7a\x05\x40\x02\x38\xdd\xb9\xd1\xa5\x6e\xa3\x54\
+\x0a\xa9\x33\x48\xa9\xaa\x9b\x8d\x21\xad\x64\x28\x85\x1d\xb5\x88\
+\x51\x25\xd6\xdc\xd0\x39\x37\x72\xec\x7e\xb5\x1a\x8a\x63\xaa\xf6\
+\x91\xd2\x61\x8d\xb7\x01\xaf\x7d\x4b\xdd\x03\xe5\xed\xdf\x1f\x6c\
+\x99\xb6\xfa\x09\x61\x06\x97\x48\xbf\x0d\x99\x54\x76\x54\x8d\xe0\
+\x6b\x1e\xf1\x7d\x8f\x96\x5c\xa6\x5e\x90\xb2\x41\x40\x5b\x5b\x8e\
+\x49\x13\x3b\x09\x02\x1f\x21\x04\x51\x1c\xd3\xd5\xd9\x46\x36\x1b\
+\xd4\x17\x66\x3d\x6c\x86\x9b\xbe\xb2\xf5\xab\x18\x4c\x49\x94\x56\
+\x75\x0f\x36\x85\x8e\x93\xa0\x5a\xb1\x51\x3f\x46\x74\xff\xb4\xfc\
+\xe1\x1d\x49\x9d\x00\x80\xf1\x7a\x1e\x4f\xc3\xb7\xbf\xe2\xe5\x26\
+\x4f\x91\x84\x28\x17\x21\xa5\x68\x0a\xa1\x20\xe3\xf3\xf2\x2b\x9b\
+\x28\x96\x22\x92\x06\x92\xe5\x30\x62\xd9\x89\x8b\x90\x52\x54\xb2\
+\x84\x80\xc0\xf7\x79\xe8\xb1\xe7\x6a\xd3\xd7\x33\xcf\x90\xc5\x87\
+\x5a\x96\xd4\x58\x04\x95\xc2\x56\x28\x94\xab\x05\x71\x28\xf3\x38\
+\xe7\x10\x4a\xa3\xb4\x47\x39\x1f\xbe\x65\x83\x79\x4f\xd7\xf9\x37\
+\x5a\xa7\xe5\x90\xf3\xbe\xd3\xd9\xdd\xfa\x57\xda\x6b\x43\x25\xfd\
+\x48\x69\x2b\xe1\xd4\xb0\xa0\x2b\x2d\xb4\xad\x7c\xae\x4e\xa2\x3d\
+\x4d\x10\x04\x95\x75\x50\x1d\x07\x02\x63\x4c\x25\xb4\xa8\x82\xae\
+\x36\x86\xd6\x18\x52\x63\x30\xc6\x60\x8d\x69\x6a\xea\x32\x81\x57\
+\x59\x13\xd5\x1e\xc8\x56\xc7\x1b\xdd\x46\x12\xf6\xd1\x5f\xf0\x6f\
+\x2e\x6e\x7b\xf4\x8e\xfa\x92\x68\xf4\xa6\x09\x0e\xfd\x61\x98\xdf\
+\x74\x61\xc7\x94\x89\x87\x0a\xd1\x82\xb4\xa5\xa6\x2c\x24\x84\x20\
+\x93\x09\x9a\x16\xb8\xd6\xba\xae\x8d\x0b\xb9\x36\xbe\x66\xc1\x9a\
+\x9a\x2a\xf0\x5a\x9b\x9c\x24\x49\x43\xb3\x36\xd4\x7d\xd6\xee\x03\
+\x87\x93\x39\x94\x54\x0c\x96\x0a\xff\x63\x82\xa3\x1f\x68\x8a\xc0\
+\xe1\xc7\x19\xd9\x39\x97\xad\x9b\xd8\x52\xbc\x37\xdb\x31\x5b\x88\
+\x78\x1f\xaa\x5a\xd8\x46\x4b\xa9\x9e\xe7\xe1\x79\xde\x08\x02\x8d\
+\x63\x1b\x09\xd4\xac\x3a\x9c\x40\xad\x4d\x18\xad\x75\x36\x4e\xe2\
+\x74\x3b\xc5\xbe\xad\xd1\x9e\xb8\xe7\xa2\xf0\x9d\x1f\x3f\xd9\x88\
+\x77\xc4\xd1\xa2\xcd\xce\x7c\xa8\xbf\xf8\x87\x53\x83\x5c\xff\x65\
+\x7e\x66\x02\x22\xed\x47\xba\x04\x59\x2f\xe5\x95\x94\xe9\xfb\x7e\
+\x9d\x40\x8d\x44\x8d\x40\xcd\x0b\xc3\x4f\xa5\x1b\x09\xa4\x69\x3a\
+\xc2\x30\x49\x92\x54\xb6\x8d\x52\x80\x13\x20\x35\xe8\x76\xa2\xd2\
+\x6e\xfa\xe3\xec\x0f\x5c\xae\xf7\xe7\xc3\xf1\x8e\x7a\xb8\xeb\x2f\
+\xf8\x7a\x6f\x5b\xfc\xda\x63\x53\x7a\x3e\xb7\x54\xeb\x00\x91\x0c\
+\x22\x49\xeb\x39\x3e\x08\x82\x11\x04\x1a\x49\x8c\xc7\x03\x8d\xd6\
+\x8f\xe3\x98\x24\x49\x88\xa2\x88\x24\x49\xaa\x7d\xbf\xc0\x79\xad\
+\x24\x51\x81\x9d\xbb\x3f\x7e\xba\x98\x3d\x7a\x4d\xbc\xf1\xef\xfa\
+\xc7\x45\x00\xc0\x3b\xf2\xe6\x05\xdd\xe9\x5b\x3f\x99\xd2\x33\x7f\
+\xbe\x52\x1e\x22\xc9\x23\x49\xf0\x7d\xbf\x4e\x60\x34\x2f\x68\xad\
+\x9b\x52\x6f\xa3\xf5\x6b\x04\x1a\xb7\xad\x35\xf0\x95\x56\x39\x22\
+\x8e\x22\x12\x03\xc2\x6b\x25\x49\x4a\xec\xd8\xf9\xfe\x86\x81\xcc\
+\xc2\x35\xc9\xc6\x5b\xdf\x1f\x0d\xe7\xfe\x5f\x70\x2c\xfa\xda\xe7\
+\xbb\xe3\xb7\xee\xee\xe9\x99\xbb\x40\xf9\xad\x28\x5b\x24\xa3\x1d\
+\xbe\xef\x35\x11\xd9\x9f\x17\xc6\x0a\x9f\xe1\x96\xaf\xf7\xfb\x89\
+\x25\x21\x4b\x5c\xee\x63\xfb\x27\x1f\xfc\xaa\x3f\xb3\xe0\x72\x29\
+\x33\xef\x61\x0d\xd1\xab\xdf\xfa\x74\x04\x00\xbc\xe3\xfe\x7a\x7e\
+\x47\xb8\xf9\x87\xd3\x27\x4d\x3b\xb5\xbd\x7b\x06\x9e\x88\xf1\x95\
+\x25\xf0\x14\xbe\xef\x11\xf8\x3e\x7e\xe0\xe3\x79\x43\x44\x54\x43\
+\x37\x59\x93\x5a\x06\x6a\x02\x5f\x03\x1d\xc7\x44\x71\x4a\x62\x04\
+\x89\xd3\xf4\xed\xda\xca\xb6\x3d\xfb\x9e\x1c\xcc\x1d\xf1\xe7\xe9\
+\x2b\xdf\xfa\x60\x7f\xf8\xc6\xf7\x92\x6f\xe9\xb7\x26\xb7\x94\xb6\
+\x7c\x63\x66\xbb\xbe\xae\xf7\x90\x05\x7e\x26\x9b\x43\x8b\x84\x40\
+\x83\xef\x6b\x02\xdf\xc3\xf7\x7c\xbc\xaa\x37\xf6\xf7\xda\xa9\xb6\
+\xbb\x4a\x92\x98\x28\x8a\x89\xe3\x94\xc8\x38\x8c\xd3\x94\x0a\x83\
+\x7c\xb0\xed\xf5\xe2\xfb\x45\xfd\xbd\x72\xcb\xdc\xdb\x94\x63\x50\
+\x24\x29\x98\x4a\x0b\x7e\x50\x1e\x68\x14\xff\xf3\x37\xad\x9a\x62\
+\x3e\xfe\x9b\xb9\xbd\x33\x8e\x9f\xda\x3b\x97\x6c\xae\x05\x2d\x0d\
+\x9e\x86\xc0\xd3\x78\x5a\x8f\xe3\x74\x4e\x90\x1a\x43\x9c\xa4\xa4\
+\x29\xa4\x56\x50\x2a\xe6\xd9\xfe\xe1\x66\x36\xef\xf8\xf8\xf9\x5d\
+\xba\xf7\xd6\x74\xc3\x6d\x07\x7c\x3b\x79\x50\x04\xf4\x17\x6e\xc7\
+\xba\x64\x82\x5f\xde\xbe\x66\xba\x57\xb8\x7c\x5e\xef\x8c\xc5\xd3\
+\x7b\x67\xd1\xd9\x3d\x15\x3f\xf0\xc1\x59\xac\x89\xc1\xd9\x7a\x11\
+\xaa\x81\xae\xbc\xa9\x97\x48\xe5\xa1\xa4\x26\x4e\x22\xfa\x76\xef\
+\xe4\x83\x8f\xb6\x9a\x37\xb7\x7f\xf4\xeb\x1d\xa6\xf3\x47\x49\xae\
+\xf7\x09\x89\x1c\x94\x69\x52\xb1\x7a\x6a\x11\xa9\xfd\xbf\xf3\x40\
+\xd3\x8d\x2b\x6e\x9b\xa0\xc3\x5d\xcb\x27\xba\x81\x73\x66\x76\xb7\
+\x9d\x38\x63\x42\xd7\xec\x89\x13\xa6\xd2\xd6\xd6\x8d\xd6\x3e\x4a\
+\x7b\x50\xdf\xa5\x39\xac\x49\x48\x93\x88\xc1\xc1\xbd\xec\xd9\xfb\
+\x89\xfd\xa0\xaf\xff\x9d\xf7\xfb\x8a\x2f\xed\x91\x9d\x3f\xb5\xc1\
+\xe4\x17\xdc\xd3\x7f\x99\x3f\x28\x1c\x9f\x86\x80\xb7\xfc\x56\x50\
+\x0a\xb4\xc4\x49\x85\xf3\x34\x56\x20\x48\x4b\x33\x44\xdc\xbf\x20\
+\xe7\xa2\xc3\x3b\x7c\x39\xaf\x55\xbb\xe9\x39\x69\x27\x7b\x42\x64\
+\x9c\xc0\x25\x86\x72\xc9\x8a\x8f\x0b\x56\xec\x1c\x8c\xdd\x5b\x25\
+\x91\x7d\xdd\xf9\x1d\xaf\xa1\x73\x3b\xa4\x35\x88\x34\x45\x98\xaa\
+\xa5\x8d\x1d\xfa\xfb\xff\xd3\x03\xfb\x13\x71\xd9\xdd\x1e\xb8\x16\
+\x84\x13\x08\x01\x16\x83\x90\x45\x77\xdf\x35\xe3\xfe\x1f\x88\xf1\
+\xca\xff\x02\xe3\xa9\xbe\x7c\x92\x24\xf8\x5e\x00\x00\x00\x00\x49\
+\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x61\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x28\x49\x44\x41\x54\x58\x85\xb5\x97\xdf\x6f\x54\xc7\
+\x15\xc7\x3f\x33\x3b\x7b\xf7\xfa\x7a\x0d\x66\x6d\x63\xaf\x1d\x9c\
+\x18\xc5\x98\x46\x2a\x24\xa1\x84\x52\x70\xdd\x14\x12\x64\x90\x50\
+\x79\x68\x24\x4b\x95\x12\x50\xd5\x2a\x52\xa3\x52\x45\x95\xda\x3f\
+\xa2\x95\x2a\xa5\x12\xa2\xea\x0b\x8d\x44\x95\x97\x24\x0a\x20\xd2\
+\x2a\x0a\x7d\x68\x70\x78\x70\x6d\x6a\xb5\xc1\x05\x6c\x60\x0d\x36\
+\xd8\xde\x65\xd7\xbb\x7b\xf7\xde\x3b\x33\x7d\x70\xfc\x0b\x0c\xfe\
+\x51\xf7\x48\x57\xba\xbb\x67\x66\x3e\xdf\x39\x67\x7e\x9c\x2b\x58\
+\xc6\x4e\x9f\xfe\xb8\x29\x9d\x4e\xf5\x7b\x9e\xeb\x2e\xd7\x76\xa1\
+\xdd\xbe\x3d\x3a\x70\xfc\xf8\x0f\xbe\x07\xd8\xa7\xb5\x53\xcb\x0d\
+\x14\x45\xe1\xd6\x9d\x3b\xdb\x1b\xb7\x6c\x69\x7c\x6a\x3b\x6b\xc1\
+\x62\xb1\x16\xa4\x10\x7c\xfe\xb9\xdd\x05\xd4\x02\xd9\xff\x49\xc0\
+\x4a\x4c\x1b\x8b\x31\x16\x6d\x2d\xda\x58\x1c\x15\x5b\x71\x5f\xb9\
+\x5c\x83\x28\x0a\xb1\xf6\xc9\x51\x7c\x14\x6e\x0c\x58\x6b\xd1\x5a\
+\xaf\x8f\x80\x20\x08\x30\xc6\xac\x10\x6e\xd1\xc6\x60\xe1\xff\x2f\
+\x60\x69\xf8\xcc\x6f\xac\x45\xeb\x68\xbd\x04\x54\x1e\x13\xf0\x34\
+\xf8\xec\x7b\x14\xad\x93\x80\x30\x0c\xb0\x76\x5e\xc0\x72\xf0\x20\
+\xd4\xab\x8a\xc0\xb2\xbb\x60\x36\x02\xf6\x11\xf8\x2c\xd8\x3c\x02\
+\x37\x5a\x63\xed\x3a\x45\xa0\xbb\xbb\x3b\x9e\xc9\x0c\x75\x1b\x63\
+\x31\x76\x65\x70\xad\xcd\xac\x00\xb5\x77\xef\xde\xef\xac\x29\x02\
+\x87\x0f\x1f\x7e\x0e\xd8\xa9\xb5\x7e\xf3\xe5\x97\x77\x1c\x33\xc6\
+\x60\x0d\x2b\x82\x9b\x68\x26\x02\x52\x8a\x44\x67\x67\xe7\x27\x89\
+\x44\xe2\xb7\x9e\xe7\x9d\x07\x7a\x2f\x5c\xb8\x50\x7e\xa2\x80\x23\
+\x47\x8e\x74\x68\xad\x7f\xb7\x7b\xf7\xde\xd7\x76\xef\xfe\xb6\x6c\
+\x6e\x7e\x06\xcf\xf3\xb8\x74\xe9\xaf\x58\x6b\x30\xac\x0c\x3e\x93\
+\x02\xf0\x7d\x9f\x37\xde\xe8\x11\x6f\xbd\xf5\xf6\xbb\xb9\x5c\xee\
+\xdd\xe1\xe1\xeb\xb4\xb7\x77\xdc\xbb\x7a\xb5\xff\x23\xcf\xf3\x7e\
+\x7d\xfe\xfc\xf9\x87\x73\x02\xba\xbb\xbb\x7f\xdc\xd3\xf3\xe6\x1f\
+\xf6\xed\xeb\x44\xca\xf9\xac\x48\x29\xc8\xe5\x72\x18\x63\xf0\x03\
+\x43\xa1\x1c\x51\xaa\x68\x4a\x81\xa6\x5c\xd1\xe4\x4b\x11\x12\x43\
+\x5c\x42\x5c\x58\xe2\xd2\xa2\xa4\x25\x15\x69\xb4\xd6\xe4\xf3\x39\
+\x1a\x1a\x9a\xa9\xae\xf6\x68\x69\x69\x66\xff\xfe\xef\xa6\xcb\x65\
+\xff\xed\xf7\xdf\xff\xe3\x89\x4c\x26\xb3\x63\x60\x60\x60\x48\x1d\
+\x3d\x7a\xb4\xa6\xad\xed\xf9\xdf\x77\x75\xbd\xfa\x58\x2a\x1c\x47\
+\x91\x15\x9b\xb9\x1b\xd5\x31\x79\x3d\x47\x22\x2e\x49\x28\x49\x22\
+\x2e\x48\x55\x2b\x9a\x6b\x1d\x22\x63\x09\x42\x43\x10\x59\x2a\x91\
+\xa1\x14\x59\xfa\x6f\x97\xd9\xb8\xbd\x8b\x89\x7b\x97\xd9\xb4\xa9\
+\x80\x94\x02\x29\x25\x42\x08\xa4\x14\xf4\xf4\x1c\x4f\xf4\xf6\x7e\
+\x71\x0a\x38\xa0\x8c\x31\xaf\x9f\x38\xf1\x13\x27\x16\x13\x4b\xac\
+\x06\x43\xaa\xb5\x83\xf6\xb6\xd4\x92\x0b\x28\x64\xe6\xaa\x33\x0a\
+\xa4\x85\x84\xb5\xc4\x2d\x54\x59\xa8\x69\x80\x4b\x83\x21\xed\xcf\
+\x5b\xa2\xc8\x70\x2f\x77\x9f\x1b\xe1\x5d\xf6\x37\x7c\x13\x80\xae\
+\xae\x83\x9d\x03\x03\x03\x4d\xca\x5a\xfb\x5a\x7d\x7d\x1d\xb1\xd8\
+\xe3\x1b\x22\x9f\xcf\x62\x36\xb5\x30\x94\x5f\xec\x8b\x8c\x25\x1f\
+\x42\x21\x80\x7c\x60\xd1\x73\x57\xc5\xe2\x49\xdc\x2a\x6d\xe0\x58\
+\xb2\x0a\xdf\x0f\x88\xb9\x92\xec\xbd\x02\x4e\xcb\xcc\xb2\xdb\xb7\
+\xaf\x4b\x7d\xf8\xe1\x07\x07\x94\x94\xf2\x99\x78\x3c\x8e\x58\xd0\
+\xd7\x18\x8b\xef\x57\x98\x9a\x9a\xa4\xec\xbd\xc0\x8d\xc2\x8c\xd3\
+\x8f\xe0\x46\xde\x92\x99\x16\x0b\x2e\xf9\xa5\x22\x37\x63\x65\xbd\
+\x19\xd7\x8d\xa3\xb5\xa1\xad\x2e\x4d\x5b\x5d\x7a\xce\x97\x4a\x6d\
+\xc2\x71\x9c\x56\x95\x4a\xa5\x1a\x95\x9a\x9f\x61\x18\x46\x94\x4a\
+\x15\xac\xb5\xdc\x1c\x2f\x52\x48\x79\xe4\x1e\xc2\x3f\xa7\xe0\xab\
+\x2c\x68\xfb\x64\xe0\xa3\x16\xb7\x4d\x04\x41\x19\xc7\x71\x1e\xf3\
+\xc5\x62\x1e\xf1\x78\xbc\x5e\x81\xac\x0b\x82\x10\xd7\x4d\x10\x86\
+\x11\x41\x10\x32\x2b\xe8\xef\x63\x2e\xd3\x09\xc1\x85\x61\xb8\x5f\
+\x5a\x31\x77\xce\x44\x94\x62\x7a\x7a\x98\x54\xaa\x61\xb1\xb0\x78\
+\x8c\x9b\x37\xc7\x50\x4a\xa5\x54\x10\x04\xf2\xcb\x2f\xbf\xc2\x75\
+\x1d\x3a\x3a\x5a\xa8\xa9\xf1\x30\xc6\x22\x84\xe0\x76\x61\x23\xbd\
+\x7d\x70\xbf\xb8\x7a\x38\x80\xc5\x63\xe0\x76\x91\x43\x4d\x69\x62\
+\x31\x49\x10\x44\x8c\x8f\xe7\x18\x1d\x9d\x20\x93\x19\x41\x08\x11\
+\x57\x4a\xc5\x1f\x02\xf8\x7e\xc0\xc0\xc0\x30\x00\xc9\x64\x15\x0d\
+\x0d\xb5\xfc\xe8\x5b\x49\x9e\x1b\xce\x30\x9a\xd5\x8c\xe5\x2d\x53\
+\xe5\x18\x85\xd0\xa1\xa4\x1d\xca\xc6\xa1\x62\x5d\x62\x68\x12\xa2\
+\x42\x55\x2c\xa0\x5a\x05\x6c\x70\x02\xea\x3d\x4b\x7a\xa3\xa4\xa5\
+\x56\xf2\x42\x5b\x33\x23\x23\xe3\x4c\x4c\xe4\x89\xa2\xf9\x1a\x41\
+\x29\x85\xd6\x7a\x4a\x95\xcb\xc5\xb1\x58\x4c\xee\x10\x0b\x56\xa1\
+\xef\x07\xdc\xb9\x73\x9f\x6a\xe0\x50\x03\x88\xcd\xe0\x79\x2e\x9e\
+\x97\x20\x16\x2b\x13\x8b\x49\x5c\xd7\x41\x29\x01\x48\x2a\x95\x90\
+\x20\x88\xd0\x5f\x9f\x88\xd3\xd3\x3e\xbe\x1f\x00\x30\x7e\x8b\x05\
+\xd0\xf9\x52\x2d\x0c\x7d\xa2\x28\x9a\x50\xc6\xe8\x71\x63\x42\xaa\
+\xab\x93\x73\xce\x42\xe1\x21\x7d\x7d\xbd\x6b\x8b\xfb\x12\x56\x55\
+\xe5\xf1\xca\x2b\x9d\x8b\xfe\xab\x54\xca\x84\x61\xf8\x40\x01\xe3\
+\x61\x58\xc6\x75\xe7\x0f\x9b\x07\x0f\xf2\x7c\xf6\xd9\xb9\x75\x13\
+\xd0\xd0\xd0\xc8\xfe\xfd\xaf\x2e\x3a\xe6\x2b\x95\x22\x95\x4a\x65\
+\x4c\x09\x21\x86\x2a\x95\x12\xae\x3b\xbf\x55\x84\x80\xda\xda\x5a\
+\x5c\xd7\xe5\xe4\xc9\x93\x2c\x4c\xcf\x6a\x6c\x74\x74\x94\x33\x67\
+\xce\xb0\x61\xc3\x06\x84\xd0\xb8\x0b\x3e\x2d\x8a\xc5\x82\xce\x64\
+\x32\x43\xca\x71\x9c\xbf\x8c\x8e\x8e\xf0\xd2\x4b\xbb\xe6\x9c\xf5\
+\xf5\x29\x0e\x1e\x7c\x9d\x74\xba\x85\x74\x3a\xbd\xd4\xd8\xcb\x9a\
+\xb5\xb0\x65\xcb\x16\xae\x5d\x1b\xa6\xb1\xb1\x9e\x64\xd2\x25\x91\
+\x98\x11\xa0\x75\xc4\xc8\xc8\xf5\x5b\x93\x93\x93\x77\xd4\xd9\xb3\
+\x67\x6f\xb9\x6e\xd5\x7f\x8e\x1d\xfb\x61\xfb\xec\x81\xb1\x6d\xdb\
+\x76\x6a\x6b\x1b\x49\xa7\x53\xa4\xd3\x75\x6b\x82\x6b\x6d\x90\x52\
+\x70\xe0\x40\x37\xcd\xcd\x8d\x28\x25\x99\xad\xee\x07\x07\xaf\x72\
+\xf7\xee\xdd\xbf\x01\xd3\x12\x20\x9b\x9d\xfa\xc5\xc5\x8b\x9f\x44\
+\x53\x53\x93\x73\x83\x64\xb3\xf9\x35\xc2\xed\xd7\xbb\x41\x13\x86\
+\x11\xdb\xb6\xb5\x32\x32\x72\x07\x10\xe4\x72\x59\x06\x07\xaf\xf2\
+\xe9\xa7\xe7\xff\x75\xe5\xca\x95\xdf\x00\x7a\x2e\xb9\xc9\x64\xd2\
+\xdd\xb3\x67\xcf\x4f\x95\x52\x5b\x9b\x9a\x5a\x3a\xde\x79\xe7\x97\
+\x87\x76\xed\xda\xbe\x06\xb8\x59\xf0\x68\xaa\xab\xab\x38\x75\xea\
+\x4f\xa5\x73\xe7\xfe\xfc\x91\xef\xfb\x23\xfd\xfd\xfd\x17\xb3\xd9\
+\xec\xbf\x81\x49\x9e\xf4\xdd\xf8\xde\x7b\x1f\xfc\x2a\x9f\x2f\xda\
+\xd5\x98\x31\xc6\x86\x61\x64\x7d\x3f\xb0\xc5\xa2\x6f\xf3\xf9\xa2\
+\xcd\x66\x0b\xb6\x58\xf4\xed\xe5\xcb\xff\xb0\x5d\x5d\xdd\xdf\x5f\
+\x8a\xb5\x64\x51\xfa\xec\xb3\x4d\x3f\xab\xa9\xf1\x56\x39\x7b\xe6\
+\x0a\x0e\xa5\x24\x8e\xa3\x48\x24\x1c\xa4\x14\xbc\xf8\xe2\x37\x68\
+\x6d\xdd\xfa\xf3\xa5\xfa\x3d\x56\x94\x9e\x3e\xfd\x71\x52\x08\xd9\
+\xd8\xd7\x77\x6d\xd5\x02\xb4\x8e\x88\xa2\x88\x28\x0a\x17\xbc\xcf\
+\x3c\x35\x35\xd5\xdb\x81\x2a\x60\x51\x61\xfa\x5f\x15\x59\xfb\x56\
+\x1b\x1f\x81\x0d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x17\x84\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x0c\x9f\
+\x49\x44\x41\x54\x78\xda\xec\x9a\xe9\x93\x5d\xc5\x79\xc6\x7f\x7d\
+\xf6\xbb\xcc\x5d\xe6\x6e\x73\x47\xd2\x48\x68\x24\x8d\x90\xac\x8d\
+\x45\x20\x22\xbb\x22\x02\x88\x38\x38\xd8\x29\x7f\x8d\xe3\x38\x7f\
+\x5a\xaa\xf2\x25\xe5\x0f\x54\x52\x89\x2b\xf1\x00\xc1\x06\x22\x61\
+\x0c\x32\xc2\x48\x2c\x1a\x18\xcd\x7e\xf7\xf5\xac\xdd\x9d\x0f\xd2\
+\x8c\x67\x24\x04\xa3\x25\x95\xb8\xca\x5d\xd5\x75\x7a\xfa\xdc\xdb\
+\xfd\xbc\xf7\x79\xfb\xdd\x7a\x84\xd6\x9a\x3f\xe6\x66\xf0\x47\xde\
+\xac\x7b\xbd\x10\x42\x88\xd7\x5e\x7b\x6d\xf1\xff\x03\xc8\x57\x5f\
+\x7d\x75\x46\xdf\x43\x55\xac\x6f\xf8\x9e\xe9\x79\x5e\xe3\xa5\x97\
+\x5e\x3a\xf3\xbf\x0d\x50\x6b\x8d\x52\x6a\xeb\xb9\xd9\x5d\xd7\x65\
+\x7e\x7e\xfe\x03\xc0\x04\x92\xfb\x15\x40\x48\x29\x13\x80\x38\x8e\
+\x37\x59\xd9\xf1\xbc\xd7\x78\xfb\xdc\xbd\x00\x6f\xef\xdb\xc1\x6f\
+\x17\xc2\x34\x4d\x6e\x63\x10\xf7\xad\x42\xb7\x81\xe8\xcd\x0d\x37\
+\x9f\x42\x08\xb4\xd6\x2c\x7f\xb5\xcc\x7b\xef\x5f\xe6\xd8\xc9\x13\
+\xf4\x7a\x5d\x4a\xc5\x22\xd7\x3e\xb9\x41\xa1\x90\xe5\xc4\xe9\x13\
+\xac\x35\x56\x79\xef\x57\x97\xf8\xdb\x9f\xfe\x1d\x86\x61\xec\x00\
+\xff\x35\xfb\xdc\xf5\x34\x0c\x03\xc3\x30\xb6\x30\x3c\xd4\x21\xde\
+\xbe\xe9\xe6\x58\x69\x45\x28\x43\x1c\x60\x94\x8c\x51\x0a\xa4\x0a\
+\x88\xc5\x18\xc7\x4a\x41\xa4\xe8\x05\x3d\xc2\x30\x04\x20\x49\x6e\
+\x69\x80\x52\x6a\x6b\x0c\x20\xa5\x44\x08\x81\x52\x0a\x21\x04\x49\
+\x92\x6c\x8d\xb7\x0b\xfe\xa0\x0c\xdc\x05\x7c\x93\x81\x89\x6a\x96\
+\xfd\xfb\x0e\x50\x9c\x2a\x81\x61\x52\x9d\x2c\xe0\x3f\xb6\x9f\x4c\
+\x26\x4d\x2a\x65\x53\x2e\x4f\x71\xea\xc4\x19\xba\x83\x11\x1b\xed\
+\x26\xaf\xff\x72\x9e\xbf\x7c\xf9\x22\x1f\x7f\xfa\x09\xbd\xd5\x0e\
+\x07\x1f\x3f\x84\xab\xe0\xd3\xa5\x05\xce\x3e\x75\x8e\x8f\xae\x5e\
+\xe7\xf0\xc1\xbd\xbc\xff\x9b\xcb\xcc\x1e\x9a\x63\x6e\x6e\x6e\x93\
+\x81\x07\x17\x60\xf3\x17\xd8\x54\x9d\xed\x63\x2b\x86\x6c\x3a\x8b\
+\xa3\x1c\x1c\xcf\xc5\x70\x5c\xb2\x99\x09\x6c\xcb\x02\x2d\x10\xa6\
+\x24\xe5\x65\xa8\xe4\x32\x28\x2b\xc7\x93\x67\xcf\x50\x2d\x57\xd0\
+\x5a\x33\x9c\x1e\xb3\x6f\xaa\x8e\xd4\x0e\x86\x63\x51\x2c\x94\x98\
+\x3b\xb4\x97\x72\xb9\xce\xec\xec\x11\xaa\xf5\x3d\x5b\xe0\xbf\x8d\
+\x05\xe3\x7e\x2c\xc5\xf6\x16\x69\xc5\x4a\xa3\x41\x7f\x34\xa6\xdd\
+\x6b\x30\xea\xfa\xac\x36\x36\xe8\x74\x1a\x68\x99\xe0\x8f\x02\x1a\
+\x8d\x36\xbd\x41\x80\xdf\x1f\xb1\x7c\xbd\x41\x1c\x85\x74\x9a\x5d\
+\x5a\x8d\x16\xcd\x76\x8b\x76\xa7\x41\xab\xd3\x45\xe9\x98\x6e\xa7\
+\x4f\x1c\x4a\xda\xdd\x16\xc1\x68\xb0\x2b\xf5\xd9\x15\x03\x9b\xc0\
+\xdb\xed\x16\x9f\x5c\xfd\x1d\x09\x16\xa7\x4e\x1f\x47\x08\x1b\x22\
+\x1f\xa5\x62\xcc\xd8\x24\xc0\xc7\x08\x05\xb1\x27\x91\x0a\x94\xd2\
+\x44\x61\x08\x5e\x88\x8a\x3d\x42\x67\x84\x12\x82\x38\x49\x48\x74\
+\x8c\xe1\x99\x98\xa1\x46\x0e\x87\xa0\x15\xb1\x0c\x30\xdd\x18\x95\
+\x68\x20\xd9\x62\xfc\x91\x30\xa0\xb5\x46\xa2\x91\x18\xa8\x24\x46\
+\x27\x10\x87\x11\x89\x94\xf4\xe3\x88\x41\x34\x22\x0c\x63\xba\x61\
+\x87\x60\x04\x49\x14\xe1\x47\x63\x82\x68\x40\xbf\x1b\xa1\x12\x45\
+\x38\xd0\xf8\x63\xcd\x38\x1e\xd2\xef\x85\xf8\x4d\x9f\x91\x1f\xe1\
+\x1b\x1e\x3a\xd6\x20\x13\xe2\x61\x42\x24\x25\x51\x2c\xbe\x55\xf7\
+\xef\x69\x93\x37\x3b\x60\xcf\xcf\xcf\x5f\x52\x4a\xe9\xf1\x78\xbc\
+\xd5\x7d\xdf\xd7\xbe\xef\xeb\x20\x08\xb6\x7a\x18\x86\x3a\x0c\x43\
+\x1d\x45\x91\x8e\xa2\x48\xc7\x71\xbc\xd5\x93\x24\xd9\xea\x52\x4a\
+\x2d\xa5\xd4\x4a\xa9\xad\xbe\xbd\x6d\xce\x49\x29\x75\x92\x24\x5a\
+\x6b\xad\xe7\xe7\xe7\x2f\x01\xf6\xbd\x70\x1a\xbb\xd5\xfd\x71\x30\
+\x66\x75\x65\x95\xd5\xf5\x55\xa4\x8c\x49\x12\xc9\xe2\xca\x22\x71\
+\x24\xe9\xf7\x7a\x44\x32\xa1\xb1\xbe\x4e\xa3\xd9\x45\x68\x83\xc8\
+\x1f\xb1\xb4\xbc\x44\x1c\x2b\x84\x12\x2c\x2e\x2d\x21\x91\x34\x9b\
+\x2d\x56\x56\x56\x08\xfc\x80\x38\x08\x59\x5a\xba\x89\x94\x92\xe6\
+\x46\x03\x29\x25\x37\x17\x17\x19\x8d\xc7\xbb\x66\x60\x57\x66\x54\
+\x6b\x4d\xb7\xdb\xe7\xbd\x4b\x97\x49\x0c\xc9\xb9\xb3\xe7\x48\x94\
+\xe2\x3f\x7f\xf1\x2f\x9c\x7e\xe6\x2c\xcd\x9b\x6d\x6a\xf5\x12\x57\
+\xae\x5c\x21\x9b\xab\xf2\xca\x0b\xdf\xe3\xea\xc2\x27\xbc\xfe\xcb\
+\xb7\xf9\xf1\x8f\x7e\x80\xe1\x78\xfc\xe2\xdf\x7e\xce\xdf\xfc\xf0\
+\x67\x5c\xf9\xed\xdb\xac\x35\x1b\x1c\x3f\x75\x92\xb4\x72\xf8\xe0\
+\xda\x55\x5e\xb9\xf8\x0a\x97\xdf\x7f\x97\x63\xc7\x4e\xf0\xab\xd7\
+\xff\x8b\xa3\x27\x8f\xf1\xf4\x53\x4f\xef\xca\xab\x5b\xbb\x65\xa0\
+\x32\x99\xe3\xe4\xa9\x53\xa4\x1c\x93\xa9\xda\x14\x18\x9a\xe7\x9f\
+\x7f\x91\xfd\xfb\x66\xe9\xee\xf1\xc9\x15\x53\xcc\x54\x67\x70\x0a\
+\x16\x99\x42\x89\x27\xf2\x67\x29\x7b\x15\x1e\x9b\x3d\x84\x00\x5e\
+\xba\xf0\x23\xea\xf5\x12\xde\x73\xdf\xc3\x4f\x02\xa6\x26\xcb\x48\
+\xa5\x29\xd4\x26\xc9\x57\xb2\x3c\xf1\xc4\x33\x4c\x96\x0b\x9c\x3b\
+\xff\x67\xd4\xea\xb5\x5d\x33\x60\xec\x96\x81\x71\xa8\x18\xf9\x03\
+\x1a\xfd\x0e\xc3\x70\xc4\x70\x38\xa2\xd9\x1e\x30\xea\x77\xe8\x35\
+\xd6\xf1\x1b\x43\x96\x1a\x2b\xb4\xd6\x9b\xa8\x30\xa4\xd3\x69\x72\
+\x73\x63\x05\x7f\xe4\xe3\xcb\x98\x56\x77\x8d\x38\x89\xe9\x75\x5b\
+\x34\x5b\x0d\x1a\x1b\xeb\x0c\xc6\x63\x5a\x9d\x16\x32\x4e\x68\x34\
+\x56\xe9\xb4\x3b\x2c\xaf\xad\x92\xcb\xe5\xbe\xd6\x99\x3e\x14\x03\
+\xbe\x3f\xa0\xd1\x6c\xa0\x62\xa8\x56\xea\x08\xad\x59\x59\xfe\x92\
+\xc9\xbc\x47\xab\xdd\x27\x34\xc7\xdc\x58\xfd\x8c\x89\x46\x8d\x6a\
+\x6d\x0f\x9d\x9b\x2d\x16\x6e\x7c\xce\x81\x83\x75\x5c\x5c\xbe\x5c\
+\xfc\x92\x83\xb3\x73\x5c\x5b\x5c\x42\xf6\x07\xb8\x47\x1d\x8c\xd1\
+\x90\xe5\xa5\x25\xf6\xd6\xf7\x81\x6d\x53\xab\xd6\x6e\xb1\x7b\x1f\
+\x4d\xdc\x2b\x23\x13\x42\xd8\x6f\xbc\xf1\xc6\xaf\xcf\x9f\x3f\x7f\
+\x36\x08\x82\x6f\x8c\x44\x77\x1b\x9d\x3e\xc8\xe7\xde\x7c\xf3\xcd\
+\xcb\x17\x2e\x5c\x38\xaf\xb5\x8e\x1f\x88\x81\xcd\xd6\xeb\xf5\x58\
+\xbe\x6d\x49\x0e\x3e\x76\x04\x19\x87\x7c\xf6\xd9\x0d\xf6\xcc\xd4\
+\x09\x46\x63\xd2\x99\x2c\x1b\xeb\x1b\x08\xcb\xe4\xc4\xdc\x49\x56\
+\x37\x6e\x72\x63\x61\x81\x33\x27\x8e\x83\xed\x70\xe5\xb7\x1f\xf0\
+\xcc\x93\xdf\xe5\x8b\x9b\xd7\x19\xc5\x21\x7b\xab\x53\x58\xa6\xc9\
+\xda\xd2\x02\x87\x8f\x9d\x66\xe5\xe6\x02\xe5\xda\x34\x9f\xfd\xfe\
+\x33\x0e\x1c\x9c\xa1\x5a\x9f\xda\xd5\x39\xd8\xb5\x19\x8d\x65\x42\
+\xaf\xdb\xa6\xdd\xf5\x89\x82\x00\x4b\x6b\x56\xdb\x0d\x74\xa2\xe8\
+\xb6\xbb\xf8\x61\x42\xb7\xdb\x47\x8e\x22\x62\xc3\x47\xa2\x69\xb4\
+\x3a\x84\x81\x89\x4c\x12\xd6\xfa\x6b\x24\x0e\x44\xa3\x80\x7e\xbb\
+\x45\x34\x1e\x33\x0a\x62\x9a\xad\x1e\x08\xc5\x7a\x77\x40\x62\x9a\
+\xb4\xfb\x0d\x86\x7e\xf8\x68\x73\x62\xad\x35\xae\xe9\x80\xb2\xb1\
+\x08\x31\x0c\x45\xa0\x24\xb6\x8e\x49\x44\x8c\x69\x29\x6c\xc3\x24\
+\x4e\x42\xfc\x24\xc6\x32\x3d\x92\x30\x42\xc6\x11\x91\x1b\xa0\x4d\
+\x17\x1d\xc4\x58\x28\x24\x31\x68\x03\x65\x0a\x10\xb7\x3c\xbc\xc0\
+\xc4\xd5\x12\xc3\x08\x40\x98\x28\x15\x3f\x7c\x4e\x7c\x97\x10\x86\
+\x62\x62\x32\x8d\x50\x39\x2c\x27\x85\x63\x98\x54\x8b\x65\x72\x6e\
+\x06\x55\x48\x30\x53\x16\xd5\xd2\x24\xae\xe5\x61\x0a\x81\x97\xce\
+\x52\x9f\xaa\x52\xf4\xb2\x08\x61\x53\x28\x4c\x63\x61\x92\x2b\x4e\
+\x62\x09\x93\x74\xba\x80\x09\x14\x72\x53\x78\xa6\x81\x5b\x28\xe0\
+\x90\x62\x32\x5f\x24\xed\xa6\x77\x44\xc0\x0f\x2c\xc0\x76\x97\x6d\
+\x59\x16\x13\xe9\x0c\xda\xb0\xb1\x0d\x13\x6d\x24\xa4\xab\x25\x94\
+\x99\xc2\x75\x14\x59\xd3\x22\x2e\x16\x30\xa4\x41\xa2\x14\x9e\x6b\
+\x33\x59\xce\x92\x48\x48\x19\x11\xa5\x3d\x55\x84\xad\x30\x5c\x83\
+\x7c\xbe\x88\x6d\x81\x69\x5b\x54\x6b\x05\x12\x14\xe5\xdc\x24\xa6\
+\x16\xe4\xcb\x93\xa4\x27\x52\xdf\x98\xc1\xed\xb6\x2a\xb1\xe3\x6f\
+\xd7\xf1\xd8\xb3\x6f\xff\x56\x74\x28\x84\xcd\x91\xfd\xb3\xb7\xc6\
+\xf9\x0c\x00\xd9\x42\xe1\xf6\xae\x8a\x42\xa1\x40\x3e\x7f\x0a\x21\
+\x6e\x05\x66\xa7\xe7\x1e\x47\x6b\xc1\x81\xe9\x03\x3b\xd6\xcf\x65\
+\x27\x00\xa8\x4d\x55\x01\x38\x78\xe0\xc0\x8e\x28\xf8\xdb\x7c\x81\
+\xb5\x9b\x64\x06\x60\x75\x7d\x95\xcb\x6f\x5f\x42\x5a\x8a\xb3\xcf\
+\x9e\x47\x84\x31\xff\xfa\xef\x3f\xe7\xe9\xa7\x9e\x65\xb9\xd9\x67\
+\x5f\x35\xc7\x6f\xfe\xfb\x03\x26\xca\x93\xbc\x7c\xf1\x22\x1f\xfd\
+\xee\x06\xf3\x6f\xff\x07\x3f\xfe\xe1\x5f\x53\x70\x72\xfc\xe3\x3f\
+\xff\x13\xff\xf0\xb3\x9f\xf0\xde\x3b\xef\xd3\x6c\xaf\x70\xf4\xf8\
+\x19\xd2\x8e\xc7\xb5\xdf\x7f\xc4\x0b\xdf\xbf\xc8\xfb\x97\x3e\xe4\
+\xf1\xef\x1c\xe5\xdd\x77\x7e\xcd\xc9\xd3\xc7\x39\x7d\xf2\xa9\xbb\
+\xb0\x3c\x90\x00\x9b\x42\x4c\x4c\x4c\x72\xec\x3b\xc7\x10\x18\x4c\
+\x55\x4b\x58\x31\x9c\x7b\xee\x45\x8e\xcd\xcd\x32\xdd\x6e\x31\x39\
+\x59\xa3\x58\xa8\xe0\x7a\x59\x6a\xe5\x0a\x99\xd3\x1e\xa5\xb2\xcd\
+\xa9\xc3\xc7\x11\xae\xc5\xcb\x17\x5e\x64\x6f\x7d\x06\x71\xde\x65\
+\x3c\x1a\xb1\x77\x7a\x0f\xd2\x86\x4c\xde\xa3\x52\xae\x72\xe2\xe4\
+\x1c\xf5\xfa\x34\xe1\x99\x27\x28\x95\x6b\x3b\x18\x78\x20\x01\xee\
+\xd4\x41\x43\x28\x0c\x1b\x0c\x09\x3a\xd1\x44\x96\xc2\x30\x63\xc2\
+\x30\x80\x44\x63\x84\x92\x24\x49\x70\x74\x44\x12\x4b\x12\x9d\xa0\
+\xc6\x21\x03\x1d\x92\x13\x60\xd8\x36\xc2\xd0\xc4\x63\x9f\x76\x7b\
+\x09\x53\x49\xb4\x67\xb0\xbe\xd6\x61\xba\x16\xb0\xde\x69\x93\xce\
+\xe4\x68\x35\x37\x98\xc8\x4c\x3c\x1a\x2b\xa4\x94\xfa\x43\x42\x93\
+\x48\x46\x03\x89\x69\x29\x54\x12\x43\xa2\x09\x7a\x11\xc9\x8c\x20\
+\x48\x22\x46\x32\x20\x8e\x12\x7c\xc3\x47\xd8\x1a\xa9\x4d\xbe\xea\
+\x75\x98\x19\x0e\x58\xed\xb4\xb9\xf2\xd1\x87\xec\x3f\x38\xc3\x27\
+\xd7\xaf\xf3\xf2\xcb\x2f\x6e\xed\x31\xbb\xef\x20\x00\x4f\x9f\x7e\
+\x12\x80\xf3\xdf\xfb\xf3\xad\xc2\xc1\x76\x0c\xf7\x2d\x80\x6d\xdb\
+\x3b\x18\x90\x71\x48\xb7\xb3\x8e\xc0\x26\x9c\xaa\xa1\xb4\xe2\xab\
+\xd6\x32\x53\xcd\x0a\xed\xd6\x1a\x60\xb0\xb0\xf0\x05\x85\x52\x99\
+\x43\x07\x0e\xd3\x6a\xaf\xb1\xf6\xe9\x17\xe4\x9f\x7f\x11\xc3\x30\
+\xf8\xfb\x9f\xfe\x04\x80\x8b\x17\x5f\xb8\xab\xc2\xb1\x1d\xf0\xf6\
+\xb9\x3b\xb1\x3c\x94\x1f\xb0\x5d\x8f\xa9\xfa\x34\x42\x08\x32\xf9\
+\x34\x52\x6b\x8e\xee\x3b\x4c\xb5\x58\x41\x1a\x26\xd3\xf5\x3a\x4a\
+\x26\xd8\xb6\x8d\x9d\x72\x29\x56\xa7\x78\xfc\xf4\x49\x6c\xc3\x22\
+\x51\x31\x9f\xdf\x58\x64\xf6\xc8\x2c\xcd\xe5\x35\x42\x19\x51\xc8\
+\x15\xc0\x80\x6e\xa7\xcd\xcc\x9e\x19\x36\x5a\x0d\xf2\xb9\x49\x56\
+\xd6\x6e\x52\x29\x57\xc8\xe7\xf3\x8f\xc6\x13\x6f\xfa\x81\x38\x49\
+\x88\xe2\x84\x38\x8e\x09\x23\x05\x12\xc6\xd1\x88\xa1\xf2\xd1\x89\
+\x62\x38\x0a\x08\x47\x03\xfc\x38\x41\xe9\x04\xd3\x8f\xd0\x31\xf4\
+\x07\x3d\x06\x72\xc8\xc2\xc2\x35\x44\x1c\xd3\xe9\x35\x58\x5a\x5c\
+\xc4\x1f\xf4\xf0\x83\x3e\x6b\x2b\x2d\xfc\x38\xa6\xd9\xd8\xc0\x1f\
+\x87\x6c\x34\xd6\x19\x0e\x87\x0f\x1f\x4a\x6c\xcf\x05\xb4\xd6\x24\
+\x51\xc4\x7a\x6b\x9d\x8d\x66\x83\x60\x30\xa2\xd3\xef\xb3\xb1\xb2\
+\x41\xa7\x3b\xa0\xd1\x5c\x67\xd4\xeb\xf1\xc5\xd2\x32\x6b\x4b\xab\
+\x44\xa3\x31\xeb\xcd\x0d\xae\xdf\xf8\x82\xae\x1f\xa0\x86\x8a\x8d\
+\x46\x8b\x71\x18\xd0\x1a\x8c\xe8\x0d\x87\x8c\xc3\x90\xc1\xc0\xa7\
+\xdd\xdf\x20\x0a\x63\x06\x83\x11\x51\x32\xa6\xd3\xee\x11\x84\xfe\
+\xc3\xfb\x81\xbb\x4a\xd5\x86\x45\xa5\x58\x20\x89\x4c\x6c\xcf\x25\
+\x6d\x28\x26\xcb\x93\x14\xd3\x39\x64\x29\x66\x22\xeb\xb1\x6f\xef\
+\x14\x29\x23\x8f\xe9\xa5\x98\x2c\xe7\x39\x74\x60\x9a\x94\xeb\xe0\
+\x39\x69\x0e\x4c\xd7\x49\xb9\x2e\xb5\xc9\x12\x69\xc7\xc0\x4b\x7b\
+\x18\x86\x45\xad\x52\x26\xe3\x19\x14\x2a\x45\x1c\xdb\xa5\x5c\xaa\
+\xe2\xb9\xa9\x47\x1f\x0b\x09\x53\x60\x99\x69\xec\x9c\x04\x34\x71\
+\x02\x76\xda\x24\x52\x31\x8e\xb0\x08\xe2\x98\x44\x4b\x2c\x53\x32\
+\x0e\x24\x23\xa9\xb0\x2d\x0f\x15\x27\x44\x8c\x30\xcd\x3c\xc3\x20\
+\x40\xc7\x26\xb6\x69\x01\xd6\xad\x0a\x9f\x9b\x22\x8a\x0d\x6c\xdb\
+\x44\x18\x1a\xd7\x75\x31\x2c\xe3\xd1\x09\xb0\xa9\x42\xd9\x6c\x96\
+\x23\x47\xb2\x3b\x28\x3d\x73\xe2\xc9\x1d\x49\x48\xb5\x5a\xbd\x3d\
+\x86\xe9\x4a\x95\xe9\x4a\x75\xeb\xfd\xd9\xe7\xce\x20\x84\x20\x7b\
+\x64\x06\x98\xd9\x9a\xaf\x54\x2a\xb7\x42\x88\xec\xad\xb0\xe4\xc4\
+\x89\xfc\x0e\xab\xf4\x30\x37\x34\x3b\x16\x69\x35\x1b\x7c\x78\xe5\
+\x63\x2c\x21\x39\x7e\xf2\x14\x5a\x69\x2e\x5f\x7a\x97\xc7\x8e\x1c\
+\xa2\xdb\x6b\x52\x2c\x54\xf8\xfc\xfa\xa7\x14\x33\x45\x9e\x38\xfb\
+\x2c\xcb\x37\xbf\xe4\x9d\xcb\x97\xf8\x8b\xef\x5e\xc0\x9b\x70\x79\
+\x73\xfe\x0d\xfe\xea\x07\xdf\xe7\xea\x47\x1f\xd3\xee\xf7\x38\x3c\
+\x77\x10\x4b\x5a\xdc\x58\xb8\xc1\xd9\x73\x67\xb9\xf6\xe9\xe7\xcc\
+\xec\xdd\xcb\xd5\xab\x1f\x33\x3b\x3b\xcb\xdc\xdc\x91\xbb\xea\xb2\
+\x0f\xe5\x89\x53\xb6\x47\xa9\x54\xc0\x30\x0d\x52\x4e\x0a\x29\xa0\
+\x5e\x9d\x66\xba\x54\x23\xed\xa4\x99\x28\x14\x09\xfc\x88\x89\x8c\
+\x47\xa6\x90\xa1\x38\x2e\x73\xf4\xe8\x41\x0a\xd3\x45\x1c\xc7\x65\
+\x7a\xef\x3e\x52\xb9\x09\xca\xb5\x2a\x29\x2f\x43\x69\xa2\x44\x88\
+\xa4\x36\x5d\xc5\x75\x32\x14\x0a\x05\xb2\xd9\x2c\xa5\x52\x11\xcf\
+\xb3\x1f\x9e\x81\x3b\xef\x04\xb4\x69\x90\xc9\xa4\x50\x86\x89\xe1\
+\x08\x94\x14\xb8\x19\x0f\xc3\x32\x31\x6d\x03\x47\x9b\xe4\xb2\x13\
+\xb8\xae\x8d\xa9\x34\x76\xca\xc6\x49\xa7\xf0\x4c\x0f\x62\xc8\xe5\
+\xd2\x88\xd8\xc0\xf3\x3c\x94\x92\x98\xb6\xc5\x04\x06\x63\x27\x03\
+\x86\xc4\x34\x6c\xa2\x38\x26\x89\x13\xf2\xf9\xd2\x37\x16\x96\x1f\
+\x48\x85\xa4\x52\x44\x71\x02\x42\xa1\x43\x09\x5a\x12\x45\x11\xa3\
+\xd0\x27\x8a\x14\xbe\xe7\x33\x18\x0e\x20\x70\x19\x8e\x22\xc6\x81\
+\x8f\x1c\x27\x0c\x47\x03\x4c\xc7\xc1\x8f\x63\xc2\x78\x48\x22\x63\
+\xfc\x71\x4c\x10\xfa\x08\x61\xe0\x13\x11\x46\x31\xf9\x7c\x86\x4a\
+\xb9\x4c\xf5\xf6\x99\xd8\x0e\xfe\x91\xa8\x90\xe7\x38\x4c\x95\xaa\
+\x28\x61\x60\xb8\x0e\x96\x09\x7b\x66\xf6\x32\x91\xcd\x93\x49\x85\
+\x38\xb6\x8b\x35\x63\x61\x5b\x16\x29\x17\x0c\x23\x47\xea\xe8\x1c\
+\xb5\x5a\x19\x2d\x61\xee\xd0\x21\x52\x19\x8f\x92\x2c\x93\xcf\xe6\
+\xc9\xe4\xb2\xe8\x44\xe0\xd8\x0e\x69\x27\x83\x6d\x58\x77\x5d\x63\
+\x3d\x32\x33\xaa\xb5\xc6\x72\x6c\x8a\x95\xd2\x0e\x2b\x54\x29\x55\
+\x10\x42\x90\xf2\xdc\x5b\xe7\x24\xed\x6d\xbd\xf7\x2c\x0b\x2f\x95\
+\x66\x75\x7d\x83\xb4\x9b\xa1\x38\x59\x42\x20\xc8\xe5\xec\x3f\xac\
+\xe1\x42\x2a\xe3\x22\x84\xc0\xc1\xda\x01\xfe\x51\x55\xe6\xc4\x66\
+\x46\xb5\xb9\xe9\x37\x8d\xef\x9c\x4b\x92\x84\xce\xea\x1a\xfd\x5e\
+\xef\x81\xd6\xd8\xc4\xf0\xc0\x66\x54\x29\x85\x94\x72\x47\x48\x7b\
+\xaf\x82\xd4\xd7\x45\x94\xa6\x69\x72\xf8\xd8\xf1\xad\xb0\xf8\xce\
+\x5f\xf7\xce\xcf\xdf\xb9\xee\xe6\x75\xeb\x03\x9d\x81\x30\x0c\x93\
+\x20\x08\xea\x6f\xbd\xf5\xd6\xd2\xff\xf1\x45\x7d\x3d\x0c\xc3\xe4\
+\xbe\x4b\x8b\x7f\xfa\x67\x8f\x3f\x09\xb0\xbb\xf6\x3f\x03\x00\x82\
+\x5e\x1a\xab\x04\x6d\x7c\x63\x00\x00\x00\x00\x49\x45\x4e\x44\xae\
+\x42\x60\x82\
+\x00\x00\x0f\x7e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0f\x45\x49\x44\x41\x54\x68\x81\xd5\x99\x7f\xb0\x5d\x55\
+\x75\xc7\x3f\x6b\xef\x73\xce\xbd\xf7\xbd\x97\xe4\xbd\xfc\x16\x12\
+\x20\x89\x21\x48\x30\x30\xd3\xda\x36\xa0\xd2\x22\x52\x4c\xd3\x32\
+\x75\xd4\xfe\x52\x68\x18\xeb\x60\x65\xaa\x62\xa1\xda\x3a\x2d\x50\
+\x3a\x75\x1c\x11\xb1\x76\xfc\xd5\x99\xfe\x51\xab\x33\xd8\x4a\xdb\
+\x11\x31\xb5\x54\xab\xd0\x19\x0c\x04\x84\xc2\x18\x12\x20\xf8\x48\
+\xde\xcb\x8f\x97\xe4\xe5\xbd\xfb\xeb\x9c\xbd\xd7\xea\x1f\xfb\xdc\
+\x97\x20\x79\x19\x05\xa7\xda\x3d\xf7\xce\x3d\xe7\x9e\x7d\xf6\x59\
+\x3f\xbf\xfb\xbb\xd6\x11\x33\xe3\xff\xf3\x70\x3f\x6d\x01\x5e\xee\
+\xc8\x7e\x9c\xc9\xef\x7d\xef\xfb\xc8\xf3\x82\x3c\xcf\x29\x1a\x05\
+\xad\xc2\xb1\xfb\xd8\x79\xec\x3b\xb6\x02\x91\x80\x46\xa5\xd7\xed\
+\xe3\x9d\x30\xb6\x74\x8c\x33\xcf\x3e\x93\x4f\xbe\xef\xac\xd3\xae\
+\xf9\xce\x5b\xf7\xe2\x1c\x38\x27\x78\x6f\xf8\xac\x41\x5e\xe4\x3c\
+\xf9\x8d\x1b\x38\x3a\xf1\x24\x86\xe3\xd8\x91\x23\x54\x31\xf2\xcc\
+\xde\x67\x5f\x9e\x02\x2f\x1a\x22\x27\x8e\x07\x91\x68\x06\x08\xff\
+\x7c\xc7\xe6\x1f\x69\x89\xa9\x89\x49\x9c\x13\x9c\x13\xb2\x2c\xc7\
+\x67\x4d\xe2\xec\x77\xe9\x1d\xdf\x4f\x96\x15\xc4\x18\x41\x04\x99\
+\xe7\xfe\x97\xa7\xc0\xc9\xf9\x53\x3f\xe1\xbf\xbe\xb8\xf5\xc7\x5a\
+\x62\xff\x53\xcf\x20\xce\x21\xae\x49\x91\x77\x28\x74\x07\x61\x76\
+\x07\x86\xc3\x79\x8f\x9a\x21\x02\x22\xa7\x56\xe1\xe5\x29\x30\x18\
+\x22\xdc\xfb\xd9\xcb\x5e\xd2\xad\x33\x47\xdb\xf8\x0c\x46\x47\x76\
+\xd2\x62\x37\xe8\x34\x52\xb4\x88\x31\x62\xc4\x24\xfc\xbc\xf6\xff\
+\x09\x85\xd0\xd7\x3f\xfb\xba\x97\x74\xfb\xfa\x8d\x77\x32\x36\x76\
+\x98\xa5\x63\xe3\x34\xb3\x43\x84\x4a\x08\xa1\x89\x69\xc0\x69\x12\
+\x5b\xc4\x25\xeb\xcf\xe3\x01\x79\xa9\x30\x6a\xaa\x27\xdc\x3a\xcf\
+\xe2\xff\x17\xe3\x34\x1e\x30\xd4\x00\x35\x10\x43\xd5\x30\xd3\x14\
+\xf7\x22\xc9\x32\x08\xb7\xfe\xd5\x6d\xee\xc3\x7f\xfa\x21\x15\x13\
+\xa2\x2a\xd1\x02\x5b\xb7\xfe\x3a\x9d\xd9\x2e\xf7\xdd\x77\x1f\x79\
+\xe1\x71\x3e\xc3\x3b\x41\x6a\xd4\x36\x0c\x43\xd1\x68\x84\x10\xa8\
+\x42\x24\x56\x25\x65\x55\x51\x55\x15\x6a\x46\xe6\x1c\x59\x91\xd3\
+\x6a\xb5\x28\xb2\x82\xa2\x51\x9c\x52\x4a\x31\x33\xae\xb8\xe2\x8a\
+\x5b\x87\x86\x86\x6e\xe8\x74\x3a\x45\xa3\xd1\x90\x56\xab\x65\xcd\
+\x66\x93\x66\xb3\x49\xab\xd5\xa2\xd1\x68\x48\xa3\xd1\xb4\xa2\x91\
+\xe7\x8d\xbc\x49\xd1\x2c\x68\xe6\x39\x45\xa3\x15\x87\x17\x8e\x30\
+\xb9\x6f\xbf\x3d\xf2\xe8\x23\x55\x59\x96\xfd\x4e\xb7\xd3\x8d\x55\
+\x68\x08\x2c\x74\x79\x36\xde\x6a\x0e\x8d\x36\x1a\x45\xe3\xa2\x8b\
+\x2e\xca\x57\xae\x5c\x49\xbb\xd3\xa6\xdf\xeb\x53\x55\x95\xf4\xfa\
+\x3d\xab\xca\x92\x5e\xb7\x2f\xdd\x5e\xd7\xfa\xfd\xbe\xeb\xf7\xfb\
+\xf4\xfb\x7d\xca\xb2\xb2\x99\xd9\x19\xda\x33\x6d\x1b\x5d\x3c\xba\
+\xfb\x5f\xee\xbe\x7b\xe3\x29\x3d\x60\x66\xb4\xdb\xed\xdf\xe9\xf5\
+\x7a\xc3\x97\xbf\xe1\x0d\x3c\xf3\xec\xb3\xb4\x86\x86\x70\xce\x21\
+\x80\x59\xa4\xd7\xeb\xd1\xe9\xb4\xc1\x40\xc4\xe3\x7c\xba\xe6\x9c\
+\xf8\xac\xc8\x89\x65\x1f\x33\xb2\xa8\xda\x5a\xbe\x7c\xd9\x68\x0c\
+\x20\x28\x98\xac\x99\x69\x77\x70\x22\x8c\x8f\x8f\x73\xe8\xf0\xa1\
+\x94\x9c\x6a\x68\x54\x2a\x8d\x84\x32\xa0\xa1\xa4\x52\x23\x86\x8a\
+\x18\x23\xd1\x0b\x33\x6a\x8c\xae\x5a\x4d\x6b\x7a\x9a\xbd\x7b\x76\
+\x9f\x3f\x6f\x08\xc5\x18\xe9\xf5\x7a\x71\xa8\xd5\xe2\xf2\x37\xfe\
+\x2a\x47\x8f\x1d\xe1\xd7\xb6\x6c\x99\x3f\xb0\xea\x10\x32\x35\xd4\
+\x14\x33\x01\x94\xa8\x91\x7e\xbf\x8c\x87\x0e\x1d\xf6\x5f\xff\xc6\
+\xb7\xb8\xf6\xea\xdf\x4d\x61\x23\x06\xe2\xe7\xd2\x24\x73\x02\xce\
+\x63\x66\xb8\xfa\x4f\xc3\x5e\x84\x34\x8f\x6f\x38\x93\x57\xbb\xfd\
+\xe0\x60\x43\xd8\x30\xaf\x3c\xae\x2a\x4b\x00\xd4\x8c\xb2\xec\xd1\
+\xeb\xf5\xe6\x04\x55\x33\x62\x8c\x84\x18\x89\x31\x32\x33\x3b\x8b\
+\x88\xd0\xef\xf7\x79\xf4\x7b\x8f\xd2\xed\xf7\x79\xfc\xf1\xef\x71\
+\x7c\x66\x96\x99\xe3\x33\x1c\x3e\x7c\xd8\x6f\xbf\xe7\xab\x1c\x3e\
+\xbc\x9f\xcf\x7c\xe6\xd3\x7c\xff\x89\xef\x33\x3d\x3b\xcb\xec\x4c\
+\x9b\x5e\xaf\x47\x59\x96\xf4\xca\x8a\x4e\x37\x79\xa5\xdb\xeb\x11\
+\x63\xe4\xd1\x9d\x8f\x12\x55\x79\xe0\x81\x07\xe6\x04\x3b\xd0\x0e\
+\x29\x43\x3d\xf8\x6c\xfe\x54\xcd\x3a\xbd\x1e\x06\x59\x88\x11\x9f\
+\x65\x29\x51\x6b\x05\xa2\x19\xa8\xce\x6d\xb2\x43\x43\x2d\xca\x7e\
+\xc5\x93\x4f\x3e\xc9\x86\xf5\xe7\xb2\x6b\xd7\x2e\xce\x5d\xbf\x9e\
+\xb2\x0a\xe4\x79\xc1\xb3\xbb\x9f\xe1\xba\x77\xbf\x07\xe7\xc0\x44\
+\xb8\xe7\x9e\xed\xac\x59\xbb\x8e\xca\xaa\x64\x10\x4d\x20\x20\xe2\
+\xe8\xf4\xba\x64\xce\xf3\xbd\xc7\x1e\x63\xd3\x45\x9b\xd8\xf1\xd0\
+\x0e\x36\x5f\x7c\x62\xf7\x0e\x65\x75\xe2\x58\x75\x7e\x05\x66\xa6\
+\xa7\x01\x9c\x86\x40\x9e\xe5\x84\x2a\x00\x35\xfe\x12\xf0\xce\xa7\
+\x50\x11\x49\x6e\xcf\x85\x8d\x1b\x2f\x40\x43\x60\xc3\x86\x73\xe9\
+\x97\x25\x88\x90\x99\x63\xd5\x9a\x55\xfc\xe5\xcd\xb7\x72\xa8\xdb\
+\x61\x51\x01\xd7\x5d\xff\x47\x60\x11\x41\x08\xf5\xfa\x26\x06\x02\
+\x99\xf3\x20\x8e\x0b\x37\x6d\x02\xe0\x17\x5e\xf3\x1a\x44\x12\x23\
+\x11\x20\xc4\x98\xa8\xa6\x81\xc6\x30\xbf\x02\x47\x8f\x4d\x03\x96\
+\x57\x21\x90\x37\x1a\xc4\xa8\xb5\x02\x30\x39\x71\x00\x07\x04\x13\
+\xb0\x08\x66\x58\x34\x4c\x40\x4c\x50\x51\x62\x30\x96\x2f\x5f\x46\
+\x20\xd2\xeb\x55\xbc\xe3\xba\xeb\x78\xe7\xb6\x77\x71\xdf\xf6\x7f\
+\x65\xba\x3d\x8b\x06\x21\x2b\x84\x23\x07\x0e\x22\x99\x47\x70\x38\
+\x2f\x03\xca\x54\x47\xbe\x20\xa6\x74\xca\x3e\xeb\xd7\xae\x4b\x56\
+\x8f\x9a\x2e\x1a\x58\x75\x4a\xd9\x01\x70\xb3\x33\xd3\x80\x64\xa1\
+\x0a\x34\x8b\x82\x32\x44\x00\xd4\x22\x62\x60\x38\x32\x31\x72\x71\
+\x64\xe2\xc9\x8b\x9c\x3c\xcb\xc9\x8a\x8c\xc2\xe7\x0c\xb5\x0a\x0c\
+\x87\x95\x91\xe1\xc2\xf3\x95\x7f\xfc\x22\xad\xbc\xe2\xb6\x5b\x6f\
+\xe6\xf1\x9d\x0f\x27\xcf\xa9\xa3\x68\x16\x14\x79\x4e\x9e\x7b\xbc\
+\x73\x64\xde\x91\x39\x41\x10\x44\x0d\x4c\x98\x93\x18\x58\xa1\x0a\
+\x5d\x20\x42\x60\x7e\x0d\xb2\x4e\xaf\x8b\x80\x0f\x55\x45\xd1\x6c\
+\x50\xc5\x7e\xba\x22\xc6\xb2\x65\xcb\xc0\x81\x45\x03\x97\x90\xc7\
+\xc4\xf0\x80\x46\xad\xe3\x1a\xfa\x55\x09\xde\x33\xd3\x09\x7c\xe0\
+\xa6\xf7\x73\xe3\x4d\x37\xa0\x66\x7c\xeb\xdb\x0f\xe0\xf2\x48\x2c\
+\x2b\x16\x2e\x5e\x84\xd3\x24\xa4\xb8\x39\xbb\x23\x5e\x40\x1c\x19\
+\x2e\x49\x6b\x11\x24\xe3\xc6\xc6\xd7\xf8\xb9\xcb\xd6\x31\x1a\xfa\
+\xe8\xbd\xaf\x67\xd7\xee\xa7\x39\x6b\xd5\x19\x34\x5a\x4d\xdc\x49\
+\x88\x95\x55\xbd\x0a\x03\x89\x1a\x29\xbc\x87\x90\x2c\xe0\xc8\xc8\
+\xb2\x14\x4e\x2a\x0a\x0a\xea\x0c\xa5\x46\xa8\x84\xf3\x44\x0d\x80\
+\xc3\x1c\x0c\x8d\x0d\x73\xe3\x0d\xef\xe7\x99\xe7\xf7\x33\xda\x1a\
+\xe6\x13\x77\xdc\x49\xac\x92\xa8\x56\x0a\xea\x05\x2f\xe9\xdc\x49\
+\xad\x88\x38\x7c\x7d\x2c\x14\x73\xac\xf6\x0c\xd9\xc3\xd2\x32\xe2\
+\xab\x31\xde\xb2\x68\x9a\xbf\xff\xdc\xe7\xae\x6f\x0e\x0f\x7f\x63\
+\xcf\xd3\x4f\x1d\xf8\xc2\x3f\x7c\xe1\xd8\x9c\x02\x51\x15\x31\xc4\
+\x48\xf4\x20\x48\x52\xc0\xcc\xd8\xb7\x6f\x02\xe7\x65\xee\xdc\x00\
+\x6a\x94\x52\x4d\xf3\xa2\x1a\x4b\x46\x17\x81\x1a\x8b\x5a\x8b\xf9\
+\xb3\x9b\x6f\xe1\xaa\xdf\xfa\x6d\xbe\x72\xd7\x5d\x68\x8c\x1c\x99\
+\x99\x22\xcb\x5a\x1c\x3a\x74\x10\x9f\xf9\x9a\x1a\x3b\x0c\x70\x22\
+\xf5\x2f\x10\x95\x6e\x55\xf1\xca\xb5\x6b\xd3\xba\xde\x61\xe4\x84\
+\x58\xd1\xbd\xec\xed\x5c\x78\xfe\xab\xee\xf4\xde\xb9\x6e\xb7\x5d\
+\x5e\x7d\xf5\xd5\x77\x3e\xfc\xe0\x77\xef\x7a\x62\xd7\xf7\x1f\x72\
+\x21\x2a\x26\x26\x41\x23\xe2\x1c\x16\xe3\x9c\x7b\xab\xaa\x4f\x19\
+\x02\x21\x04\x62\x0c\x68\x8c\xa8\xda\x9c\xf0\x00\xa2\xc9\x8a\xb9\
+\x17\xfe\xfb\xfe\xef\xf0\xd1\xdb\x6e\x66\xf1\xc8\x30\x6f\x79\xdb\
+\x9b\x79\xf8\x7f\x1e\xa3\x70\xc3\x88\x13\xbc\x68\xe2\x40\x0a\x51\
+\x15\x53\x25\x86\x48\x0c\x91\x50\xf5\xe9\x86\x8a\xaa\xea\xcf\xe5\
+\x40\x66\x05\xce\x02\x20\x34\xf2\x82\x03\x87\x0e\xba\x2b\xaf\x7c\
+\x13\xce\xb9\x02\x78\x7f\x6b\xc1\xc8\x1f\x02\x64\x4e\x0c\xcc\xe1\
+\x2c\x61\x58\x26\x75\x99\x2c\xb0\x7a\xf5\x6a\x04\x41\x4d\x01\xc3\
+\x2c\xed\x9a\x58\xf2\x88\xc3\x30\x33\x7a\x55\x24\x4a\xc1\xd1\xa3\
+\x13\x7c\xe4\xa3\x1f\x4f\x3b\xb5\x19\xb7\xdf\xfe\xd7\x5c\xf8\xee\
+\xf3\xe9\x86\x92\x95\x2b\x5e\x41\xf4\x82\x68\x5d\x9c\xd4\x3c\xdf\
+\x3b\x30\x71\x38\xe7\x93\xec\x56\x5f\xcb\x41\xc5\x50\xef\x89\xdf\
+\xfe\x3b\x96\xbf\xe7\x6f\xf7\x6e\xff\xf7\xed\xe7\x00\x84\x10\x42\
+\x8c\xb1\x03\x35\x1b\x75\x62\xa6\x12\x51\x01\x95\x84\xb9\x4a\x24\
+\xcf\xf3\x24\xa8\x39\xd4\x92\xb0\x83\x2f\xaa\xa8\x41\xac\x95\xd1\
+\x60\xac\x5f\x77\x1e\x1f\x7c\xef\x0d\x90\x8d\x30\xd9\x99\xe0\x03\
+\xd7\xfd\x31\x65\x0e\x28\x04\x71\x88\x1a\x22\x92\x2a\x30\x91\x39\
+\x9e\xef\xc5\x23\xee\x85\x74\x62\xac\x5a\xc4\xe8\x81\xc5\xcc\x2e\
+\x28\xe8\x4c\x0a\x3b\x3e\xf1\xbe\x25\x8f\x2d\xd8\x84\x08\x5c\x7a\
+\xe9\xa5\xcc\xcc\xcc\x14\x49\x01\x11\xc4\x10\x67\x0e\x67\x10\x63\
+\xbd\x88\xc1\x0f\xf6\x3f\x8f\xb3\xb4\xab\xca\x20\x07\xea\x7c\xa0\
+\x3e\x57\x33\x16\x2e\x5c\x48\xd4\x3e\x1b\x37\x5d\x48\x99\x39\xde\
+\x73\xfd\x1f\xb0\xeb\x91\x27\x88\x06\x53\x07\x0f\x91\x37\x1b\x1c\
+\x38\x7c\x10\xe7\x73\x5c\x1d\xf4\x52\xef\x5a\xa2\x86\x65\x82\xa9\
+\x52\xc6\xc8\x2b\xcf\x59\x03\xc0\xe7\xff\xe4\x1a\x7e\x71\xcb\xdb\
+\x88\x3a\xc2\x25\xdb\x1c\xf7\xf5\xd6\x2e\x38\x6b\xf1\x18\xe7\x9d\
+\x77\x1e\x2b\x57\xae\xec\x1e\x99\x3a\x36\x91\xc0\x06\xd0\xa4\x04\
+\x6a\x90\xe1\x13\x0a\x89\x27\x56\x15\xaa\x11\x8b\x11\xad\xe3\xd6\
+\x6a\x3a\x50\x47\x19\x1e\x21\x73\x1e\xef\x85\x7e\x77\x9a\x1f\x3c\
+\xf5\x14\x6b\xcf\x5e\xcb\x27\x6f\xff\x3c\x51\x4b\x8a\x56\x93\xcc\
+\x37\xf1\x6a\x08\x56\x43\xbd\xa5\xb5\x4c\x89\x18\x1a\x03\x1a\x94\
+\x58\x56\x27\x9a\x03\xc7\x3c\x0b\x8f\x2e\xa2\x51\x79\xfe\x69\x7c\
+\x29\x08\x41\x55\xfb\x55\x55\x7d\x67\xcf\xee\x3d\x3f\xdf\x6c\x0d\
+\xdd\x56\xa3\x90\x61\x66\x62\x92\xe2\x2f\x72\x62\x9c\xb5\x7a\xf5\
+\x1c\xfa\x98\x1a\x75\x06\xcc\xe5\x80\xd5\x39\x50\x96\x11\x51\xe1\
+\xfe\x07\x1f\x64\xdb\xb5\xdb\xd8\x76\xed\x36\x1c\xc2\xc7\x3f\xf6\
+\x31\xde\x75\xfd\xbb\x09\x65\xc9\xca\x33\xcf\x40\xc9\x11\xe2\x49\
+\x39\x90\x90\x48\xf0\x88\x4b\x39\x31\xa0\x12\x98\xa1\x02\x4e\x95\
+\x05\xc3\x05\x82\xdd\x60\xf0\xc5\x3b\xee\xb8\x63\xea\x24\x11\xc9\
+\xd2\x5e\x6b\x28\x86\xf8\x88\x97\x13\x08\xe3\x7d\x96\x12\xd7\x14\
+\x15\x3b\x29\x74\xea\x5f\xab\xe1\x54\x0c\x8a\x8c\x65\x8b\x56\xf0\
+\xa9\x4f\x7f\x8a\xa7\x9f\xd8\xc3\x92\xc5\x4b\x79\xeb\xef\xfd\x26\
+\xce\xe5\xe0\x41\x55\x30\x09\x89\x42\x0f\x76\x60\x49\xed\x14\xc4\
+\xd5\xf5\xef\x89\x1c\x48\x39\x92\x9c\x1d\x22\x6c\xff\xb7\xaf\xfe\
+\xcd\xb2\xe5\xcb\xf9\xe1\x91\x25\x81\xc4\x44\x1d\x62\xae\x46\x9c\
+\x04\xf7\xe3\xfb\xc6\xf1\xce\xd5\x5e\xb5\x3a\x72\x6c\xf0\x01\x0c\
+\x8d\xc6\xe8\x92\xc5\x68\xaf\xc7\xf2\x15\x4b\xd9\xba\xee\xcd\x5c\
+\x7c\xdb\xc5\x4c\x3c\xbf\x97\xbd\x93\xcf\xd3\x3e\x7e\x8c\x66\x73\
+\x88\x89\xc9\x7d\x64\x59\x96\x6a\x83\x41\xfc\xd5\x36\x37\x1c\xa0\
+\x94\x65\x60\xdd\x9a\x35\x20\x83\x28\x15\x9c\x53\xbc\x17\xce\x5c\
+\xbd\xea\x45\xc2\x03\xb8\xa0\x8a\xd5\x99\x6c\x35\x42\x00\xa8\x42\
+\x34\x25\x68\x44\x35\xd6\x35\xf1\x00\x4a\xe7\xec\x04\x5e\xc0\x04\
+\x29\x3c\x59\x23\xe3\xb1\x87\x1e\x60\xf3\xaf\xbc\x96\x2f\x7d\xf9\
+\x4b\x2c\x19\x5b\x4e\x73\xa8\x01\xe6\x10\x5f\x80\xf8\x5a\xed\x24\
+\xa0\x9a\x11\x0d\xd4\x02\x21\x28\x21\xc6\x01\x11\x40\xcc\xb3\xb7\
+\xcc\x98\x09\x19\x15\xa7\xa1\xd3\xa6\x11\x13\x13\x95\x64\x8d\x41\
+\xb3\xd4\x65\xb0\xfa\x8c\x55\x60\x8a\xd6\xc5\xcd\xc9\x30\x6a\x9a\
+\xe8\x84\x46\x25\x54\x15\x45\xe1\x78\xf0\xfe\x07\x78\xfb\x35\xd7\
+\x70\xd5\x5b\xde\x0a\xc0\x2d\xb7\xdc\xc2\x4d\x1f\xba\x91\x76\xb7\
+\xcf\xd8\xe8\x22\xbc\xab\x77\xe2\x93\x60\x54\xbc\xc7\x23\x38\x47\
+\x1d\x52\xe9\xf9\xfb\x5f\x35\xc9\x92\x57\xed\x06\x3d\xc0\xf9\x75\
+\x68\xa9\xc2\xc1\xa9\x83\x14\x2e\xa3\x68\x16\x8c\x0c\x8f\x90\x85\
+\xaa\xc2\x81\x5a\x4c\x85\x4b\xe4\x24\x84\xf1\x0e\xb3\x04\xa1\xf2\
+\xc3\x0a\x88\x22\x96\x62\xd9\x0c\xa4\x82\xac\x68\xf0\xcd\xff\xf8\
+\x36\x53\x9d\x69\xd6\xad\x3e\x83\xdf\x7f\xc7\x35\xc4\x4a\xc9\xb3\
+\x1c\x9f\x83\x93\x0c\x87\xbd\x50\x81\x3a\x0f\x9c\xb8\x17\xb4\x67\
+\x0e\x36\x3c\x4b\x3a\xc7\xb1\x86\x67\xa0\x55\xa7\x3b\xc3\xca\x65\
+\x2f\xcc\x83\x4c\xa3\x61\xa8\x17\x9f\x90\x26\xab\x7d\xa0\xc0\xf8\
+\x73\xe3\x89\xbb\x0f\x66\x0f\x12\xb8\x0e\xd2\x14\x0a\xc6\x92\xc5\
+\x8b\xe9\x5b\x60\xf3\xa5\xaf\xa7\xea\xb5\xf9\xf0\xb5\x7f\xc1\xfd\
+\xdf\xfc\x4f\x0e\x1e\x9a\xa6\xd3\xe9\xd1\x1c\x1a\xe6\xd0\xc4\x04\
+\xce\x65\x88\x33\x98\xe3\x42\x29\xfe\x93\xd8\x91\x10\x8c\x73\xd6\
+\xac\xc1\x51\x47\x5b\x8a\xb3\xa4\x1c\x30\x32\xbc\xe0\xc5\x39\x50\
+\xf6\xfb\x98\x89\x89\x46\x50\x23\x9e\x30\x02\x91\x8a\x60\xa9\x1f\
+\x94\x18\xe8\xc0\x37\xe9\x37\x75\x26\x0c\xb5\x44\x04\x27\x9f\x9b\
+\x60\xcf\xae\xa7\xb9\x6a\xcb\x95\x6c\xff\xfa\xbd\xb4\x8f\x1f\xa5\
+\xc8\x72\x04\x4d\x15\x9e\x07\x70\x29\x41\x6b\x74\x31\x53\xe2\x80\
+\x63\x45\x9b\x5b\xdd\x39\x49\x56\x34\xc1\x9d\xa6\x6f\x96\xb5\x3b\
+\x6d\x44\x84\x68\x89\x12\xc7\x90\xc4\x74\xc0\x9a\x73\xd6\x82\xd6\
+\x3b\xae\xa6\x5c\x88\xaa\x78\x84\xa8\x29\xf9\x50\xa5\x8a\x8a\x03\
+\x0e\x1c\x19\x67\xeb\x9b\x7e\x83\x2b\xaf\xbc\x1c\x15\xb8\xeb\xae\
+\x2f\xb3\xf5\xca\xad\x68\x54\x96\xae\x58\x86\x77\x0e\x57\x37\x6d\
+\xa3\x29\x79\xe6\x01\x57\xef\x05\xcc\xd5\x09\xe9\xf9\x02\x12\x13\
+\x68\x9c\x46\x83\x2c\x62\x78\xf1\x59\x2e\x8e\xe1\xe1\x61\xce\x3e\
+\xfb\x04\x5c\x09\x03\xcc\x06\x57\xc7\x61\xa5\x81\x4c\x32\x72\x01\
+\x2c\x43\x15\x0a\x4d\x5d\x8b\x75\xab\xd7\x71\xf7\xdd\x5f\x01\x73\
+\x2c\x1c\x69\xb1\xf9\xe2\x4b\x68\x8e\x0c\xe1\x10\xbc\x77\xa4\x3a\
+\x00\x10\x41\x35\x26\x02\x37\xcf\x58\xb0\x40\xb1\x56\x44\x82\xa1\
+\xe5\xfc\x35\xb1\x6c\xd9\xb2\x85\x7e\xd5\x9f\x3d\x3a\x35\x35\x7c\
+\xc9\x25\xaf\x43\xc5\x33\x3a\x36\x4c\xe8\x54\x64\x59\x86\x64\x0e\
+\xef\x1c\x6a\x42\x9e\x65\x28\x8a\x73\x1e\x31\x12\xb7\x71\xc6\xf4\
+\x91\xa3\xb4\xcb\x36\xed\xe3\x5d\x8e\x4f\x1f\xc7\xe5\x8e\xe5\x4b\
+\x97\x82\x78\x1a\x45\x4e\xde\x2c\x18\x1d\x1a\xc1\x15\x39\x65\xaf\
+\x24\x84\x00\x06\x65\x0c\x29\xbe\x2d\xa0\xe6\x10\x22\x4e\x32\x7a\
+\x95\x67\xcf\xb3\xcf\xf1\x8a\x95\xaf\x60\xc1\xb0\x67\xfb\xbd\x5f\
+\xe5\x91\x47\x77\x9e\xd2\x0d\x22\x22\x72\xc1\xc6\x8d\x77\x9f\xff\
+\xea\x0d\x57\xb5\x8f\x75\x99\x9a\x9a\xc2\xe7\x05\x23\x23\xc3\x2c\
+\x58\xb4\x88\xe1\xe1\x21\x5a\x8d\x9c\xc6\x70\x93\x56\xd1\xa2\x35\
+\x34\x44\x23\x6f\x31\xd4\x6a\xd2\x1a\x69\x52\x64\x39\x0f\xee\xd8\
+\xc9\xf8\x73\xcf\x31\x79\x60\x92\x6e\xa7\x53\x21\x62\x55\x59\xb9\
+\x56\xb3\xe1\x96\x2c\x59\xea\x1a\xad\x16\xaf\xbd\x64\x33\xab\x56\
+\x9f\x45\x59\x75\xe9\x77\x03\x55\x59\x32\xdb\x39\x4e\xe8\x1b\xc7\
+\x66\xa7\xa9\xfa\x25\xb3\x33\x6d\xda\xb3\xc7\x69\x57\x5d\x2c\x28\
+\x47\xa6\x8e\x10\x52\x7e\x4c\xed\xdc\xf9\xf0\xd2\x53\x2a\x40\xa2\
+\xd4\x7f\x2e\xb8\x5f\x36\xec\x08\x98\x17\x28\x45\x1c\x26\x56\x89\
+\x89\x13\x27\x6a\x42\x4c\xe4\x57\x54\xc4\xc4\x70\xea\x48\x3d\x92\
+\x68\x09\x00\xd4\xf4\x18\xc2\xb8\x38\x57\x89\xd1\x30\x8b\x2b\x70\
+\x7e\x91\x13\xac\xc8\x1b\xb9\x01\x1a\xa3\x33\x55\x67\x06\x26\xe6\
+\x48\xe0\x20\xb5\x0b\x94\x9a\xf3\x99\xa0\x0e\x31\xf1\x0e\x53\x7d\
+\x3e\x84\x70\xd3\x7c\x0a\x50\x2b\xc1\x05\x17\x6c\xe2\xb5\x9b\x7f\
+\xc9\xf5\xab\x60\x43\x0b\x47\xfc\xc8\x50\x8b\x46\xd1\x90\x46\xab\
+\x25\xcd\xcc\x65\xae\xd5\x72\xad\xbc\xc0\x09\x2e\xf3\x99\x43\xbc\
+\x2f\xbc\x17\xf2\x2c\x77\xe2\x1b\x99\xa3\x18\x5b\xb6\x4c\x73\xe7\
+\xe8\x76\xbb\xd9\xc1\xc3\x53\x23\x55\xbf\x13\xa2\x4a\x55\xc5\x2a\
+\x58\xd0\x5e\xd4\x58\x46\x0d\xbd\x6e\xb7\x24\x54\x65\xd9\xeb\xf6\
+\xb5\x8c\x7d\xeb\xf6\x3a\xd6\x99\xed\x6a\xaf\xdd\x63\xb6\xdd\xa6\
+\x57\xf6\x64\xdf\x0f\xc6\x99\x9c\x9c\xf0\xc7\xa6\xa7\xc5\xcc\x8e\
+\x9f\x4a\x81\xec\xda\x6d\xdb\x50\x23\xb4\x9a\x2d\xda\x9d\x59\x3e\
+\xfd\xb9\xcf\xb6\x80\x16\x50\x00\x4d\x60\xa8\x3e\x6f\x01\xc3\xf5\
+\x7f\xc3\xf5\xf5\x46\xfd\x3d\xb9\xf7\x17\x6b\xc3\xf4\x81\x50\x7f\
+\x15\xa8\xea\xe3\xd2\xcc\x7a\x08\x95\x29\x6d\xb3\x58\x2a\x36\xa3\
+\x6a\xa5\x45\xeb\xab\xd1\xb7\x18\xda\x55\xa8\xaa\x7b\xbe\xf6\x35\
+\xcb\xb3\x82\x9b\x3e\x78\x4a\xe3\x27\x0f\x9c\xe2\x05\x87\x07\x9c\
+\x99\x39\x12\x9a\x66\xf5\x1c\x6f\x90\xa1\x8a\x89\x78\x4c\x3d\x88\
+\x37\x55\x35\x11\x6f\xa8\x23\x8a\x57\x82\x80\x17\x11\x23\x75\x27\
+\x4d\x0c\x8b\x98\x99\x99\xa8\xa1\xc1\xd4\x02\x40\x54\xad\x62\x50\
+\xcc\x62\x88\xd1\x4c\x55\x83\x9a\x9a\x86\x10\x5d\xe6\x55\x4c\xac\
+\x0c\x81\x4f\xdd\xf9\x09\x6e\xff\xf8\xed\xa7\x54\xe0\x54\x5d\xd3\
+\x58\x5b\xec\x45\xca\x02\x96\xda\xcd\xb8\xc4\xa1\x13\x27\x4e\xb5\
+\x95\x13\x9c\xe1\x6c\x40\xc8\xeb\xe9\xf5\xb1\xd5\x75\xd3\xa0\xe6\
+\x35\x33\x13\xc1\x9c\x43\x54\x9d\x8a\xc4\x54\x26\x18\x26\xce\x11\
+\x43\x40\x0d\x9c\xf3\xc4\xd3\xf4\x46\x4f\xf3\x8a\x69\xae\xb4\x00\
+\xa8\xb3\x4b\xea\x62\x06\xc4\x91\x8a\x0e\x04\x77\x12\x3f\xb5\xc1\
+\xa6\x34\x68\xb6\xcd\xad\x62\x98\x09\x26\x29\x4b\xd3\x63\x1d\x66\
+\x69\x13\x4c\x5d\xfa\xd4\xba\x1f\xec\x39\x3f\xca\x38\xcd\xcc\x17\
+\xc2\xae\x63\xf0\xd2\x2d\x71\xab\x41\x01\xe2\x85\x17\x12\xb3\xc1\
+\x9d\x75\xc5\x75\x52\x89\x92\xee\x25\xbd\x6a\x72\xe2\x70\x02\xde\
+\x39\xc4\xd5\xe7\xde\xcf\x09\x6f\x66\x3c\xbb\xf7\x39\x1e\xda\xf1\
+\x30\xeb\xcf\x5d\xff\x52\x14\xf8\xe9\x8e\x54\x9d\x39\xd6\xae\x5f\
+\xcf\x1b\x2f\xbf\x62\xde\x79\x3f\x99\xf7\xc4\x3f\xe1\x31\xfe\xfc\
+\xbe\xd4\x44\xb0\x54\x6b\x78\x3f\x3f\xe5\x78\xc9\xaf\x59\x7f\x56\
+\xc6\xcf\x6c\x08\xfd\xa8\xe3\x7f\x01\x21\xd8\x73\x1b\xf0\x48\xeb\
+\x76\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x6b\x7f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x37\x34\
+\x34\x2e\x30\x39\x34\x34\x38\x38\x31\x39\x22\x0a\x20\x20\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x35\x32\x2e\x33\x36\x32\x32\
+\x30\x34\x37\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x33\
+\x31\x32\x36\x22\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\
+\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x37\x70\
+\x72\x65\x31\x20\x72\x32\x31\x37\x32\x30\x22\x0a\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\x6f\x63\x6e\x61\x6d\x65\x3d\
+\x22\x4e\x65\x77\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x20\x36\x22\
+\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x6f\x75\x74\
+\x70\x75\x74\x5f\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x3d\x22\x6f\
+\x72\x67\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x75\x74\x70\
+\x75\x74\x2e\x73\x76\x67\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\
+\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x64\x65\x66\x73\x33\x31\x32\x38\x22\x3e\x0a\x20\x20\
+\x20\x20\x3c\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\
+\x70\x65\x63\x74\x69\x76\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x76\x70\x5f\x78\x3d\x22\x30\x20\x3a\x20\x35\x32\x36\x2e\x31\x38\
+\x31\x30\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\
+\x20\x3a\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\
+\x7a\x3d\x22\x37\x34\x34\x2e\x30\x39\x34\x34\x38\x20\x3a\x20\x35\
+\x32\x36\x2e\x31\x38\x31\x30\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\
+\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x33\x37\
+\x32\x2e\x30\x34\x37\x32\x34\x20\x3a\x20\x33\x35\x30\x2e\x37\x38\
+\x37\x33\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x33\
+\x31\x33\x34\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\
+\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x65\x72\
+\x73\x70\x65\x63\x74\x69\x76\x65\x33\x30\x37\x30\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\
+\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x30\x2e\
+\x35\x20\x3a\x20\x30\x2e\x33\x33\x33\x33\x33\x33\x33\x33\x20\x3a\
+\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x76\x70\x5f\x7a\x3d\x22\x31\x20\x3a\x20\x30\x2e\
+\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\x20\x3a\
+\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\
+\x22\x30\x20\x3a\x20\x30\x2e\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\
+\x73\x70\x33\x64\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x74\x65\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x73\x74\x6f\x63\x6b\x69\x64\x3d\x22\x53\
+\x74\x72\x69\x70\x65\x73\x20\x31\x3a\x31\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x53\x74\x72\x69\x70\x73\x31\x5f\x31\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x74\x65\x72\x6e\
+\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\
+\x78\x28\x32\x30\x2e\x34\x37\x30\x36\x32\x36\x2c\x33\x35\x2e\x34\
+\x35\x36\x31\x36\x33\x2c\x2d\x33\x35\x2e\x34\x35\x36\x31\x36\x33\
+\x2c\x32\x30\x2e\x34\x37\x30\x36\x32\x36\x2c\x30\x2c\x30\x29\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\
+\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3d\
+\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x74\x65\
+\x72\x6e\x55\x6e\x69\x74\x73\x3d\x22\x75\x73\x65\x72\x53\x70\x61\
+\x63\x65\x4f\x6e\x55\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\
+\x3d\x22\x61\x6c\x77\x61\x79\x73\x22\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x72\x65\x63\x74\x35\x30\x39\x38\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x32\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\
+\x3d\x22\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x79\x3d\
+\x22\x2d\x30\x2e\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x62\x6c\x61\x63\x6b\
+\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x3c\x2f\x70\x61\x74\x74\x65\x72\x6e\x3e\x0a\
+\x20\x20\x20\x20\x3c\x66\x69\x6c\x74\x65\x72\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x63\x6f\x6c\x6f\x72\x2d\x69\x6e\x74\x65\x72\x70\x6f\
+\x6c\x61\x74\x69\x6f\x6e\x2d\x66\x69\x6c\x74\x65\x72\x73\x3d\x22\
+\x73\x52\x47\x42\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\
+\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x66\x69\x6c\x74\x65\x72\x35\x38\x35\x34\x22\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x3c\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\
+\x42\x6c\x75\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\
+\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x64\x44\x65\x76\x69\x61\x74\x69\x6f\x6e\x3d\x22\x31\
+\x2e\x37\x36\x30\x30\x38\x36\x35\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x66\x65\x47\x61\x75\x73\x73\x69\x61\
+\x6e\x42\x6c\x75\x72\x35\x38\x35\x36\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x66\x69\x6c\x74\x65\x72\x3e\x0a\x20\x20\x20\x20\
+\x3c\x66\x69\x6c\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x63\
+\x6f\x6c\x6f\x72\x2d\x69\x6e\x74\x65\x72\x70\x6f\x6c\x61\x74\x69\
+\x6f\x6e\x2d\x66\x69\x6c\x74\x65\x72\x73\x3d\x22\x73\x52\x47\x42\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\x6c\x77\x61\x79\
+\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x66\x69\
+\x6c\x74\x65\x72\x34\x33\x37\x34\x22\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\x42\x6c\x75\x72\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\x6c\x77\x61\
+\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x64\
+\x44\x65\x76\x69\x61\x74\x69\x6f\x6e\x3d\x22\x34\x2e\x31\x39\x30\
+\x31\x37\x30\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\x42\x6c\x75\
+\x72\x34\x33\x37\x36\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\
+\x66\x69\x6c\x74\x65\x72\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\
+\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\
+\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x62\x61\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x70\x61\x67\x65\
+\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\x66\x66\x66\x66\x66\x22\x0a\
+\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\
+\x3d\x22\x23\x36\x36\x36\x36\x36\x36\x22\x0a\x20\x20\x20\x20\x20\
+\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\
+\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x70\x61\x67\x65\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x30\
+\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x70\x61\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\
+\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\
+\x6f\x6f\x6d\x3d\x22\x30\x2e\x33\x35\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x78\x3d\x22\x33\x37\x35\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x63\x79\x3d\x22\x39\x38\x37\x2e\x35\x37\x34\x36\x33\x22\x0a\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x6f\x63\
+\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\x70\x78\x22\
+\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\
+\x75\x72\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\
+\x79\x65\x72\x31\x22\x0a\x20\x20\x20\x20\x20\x73\x68\x6f\x77\x67\
+\x72\x69\x64\x3d\x22\x66\x61\x6c\x73\x65\x22\x0a\x20\x20\x20\x20\
+\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\
+\x2d\x77\x69\x64\x74\x68\x3d\x22\x39\x31\x39\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\
+\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x39\x33\x22\x0a\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\
+\x64\x6f\x77\x2d\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x79\
+\x3d\x22\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x6d\x61\x78\x69\x6d\
+\x69\x7a\x65\x64\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x6d\
+\x65\x74\x61\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x6d\x65\x74\x61\x64\x61\x74\x61\x33\x31\x33\x31\x22\x3e\x0a\
+\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\
+\x22\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\
+\x66\x6f\x72\x6d\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\
+\x2b\x78\x6d\x6c\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x79\x70\
+\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\
+\x3a\x72\x65\x73\x6f\x75\x72\x63\x65\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x64\x63\
+\x6d\x69\x74\x79\x70\x65\x2f\x53\x74\x69\x6c\x6c\x49\x6d\x61\x67\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\
+\x63\x3a\x74\x69\x74\x6c\x65\x3e\x3c\x2f\x64\x63\x3a\x74\x69\x74\
+\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\x63\x3a\x57\
+\x6f\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\
+\x44\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\
+\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\
+\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\
+\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\
+\x79\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x36\x30\x33\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\
+\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x37\x32\x35\x30\x34\
+\x31\x39\x2c\x30\x2c\x30\x2c\x32\x2e\x33\x31\x32\x39\x30\x36\x35\
+\x2c\x2d\x34\x31\x35\x37\x2e\x35\x33\x30\x31\x2c\x2d\x36\x31\x35\
+\x37\x2e\x39\x35\x37\x39\x29\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x67\x35\x38\x39\x38\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x32\x34\
+\x32\x34\x32\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\
+\x7a\x65\x72\x6f\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\
+\x2e\x32\x30\x30\x30\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\
+\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\
+\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\
+\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\
+\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x36\x33\x39\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x63\x79\x3d\x22\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\
+\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x38\x38\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x2d\x31\x37\
+\x39\x32\x2c\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x20\x63\x20\
+\x30\x2c\x34\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\x33\x39\x33\
+\x2e\x39\x38\x39\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\x30\x2c\x38\
+\x38\x30\x20\x2d\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\x2d\
+\x38\x38\x30\x2c\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\x32\x20\x2d\
+\x38\x38\x30\x2c\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\x38\x36\x2e\
+\x30\x31\x30\x35\x38\x20\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x2d\
+\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x38\x38\x30\x2c\x2d\x38\
+\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x34\x38\x36\x2e\x30\x31\x30\
+\x36\x2c\x30\x20\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\x38\x39\x34\
+\x20\x38\x38\x30\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x30\
+\x2e\x31\x36\x38\x38\x39\x32\x35\x2c\x30\x2e\x31\x30\x38\x30\x30\
+\x31\x2c\x2d\x30\x2e\x31\x30\x38\x30\x30\x31\x2c\x30\x2e\x31\x36\
+\x38\x38\x39\x32\x35\x2c\x32\x39\x37\x36\x2e\x38\x30\x35\x32\x2c\
+\x33\x33\x31\x35\x2e\x38\x35\x38\x36\x29\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x30\x2e\x31\x34\x35\x35\
+\x39\x37\x2c\x30\x2e\x30\x39\x33\x31\x30\x34\x32\x39\x2c\x2d\x30\
+\x2e\x30\x39\x33\x31\x30\x34\x32\x39\x2c\x30\x2e\x31\x34\x35\x35\
+\x39\x37\x2c\x32\x39\x32\x34\x2e\x33\x38\x36\x32\x2c\x33\x32\x36\
+\x30\x2e\x36\x38\x37\x39\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x2d\x31\x37\x39\x32\x2c\x2d\
+\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x20\x63\x20\x30\x2c\x34\x38\
+\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\x33\x39\x33\x2e\x39\x38\x39\
+\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\x30\x2c\x38\x38\x30\x20\x2d\
+\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\x2d\x38\x38\x30\x2c\
+\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\x32\x20\x2d\x38\x38\x30\x2c\
+\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\x38\x36\x2e\x30\x31\x30\x35\
+\x38\x20\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x2d\x38\x37\x39\x2e\
+\x39\x39\x39\x39\x38\x20\x38\x38\x30\x2c\x2d\x38\x37\x39\x2e\x39\
+\x39\x39\x39\x38\x20\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\
+\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\x38\x39\x34\x20\x38\x38\x30\
+\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\
+\x78\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\
+\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x36\
+\x34\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x38\x31\x38\x31\
+\x38\x31\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\
+\x65\x72\x6f\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\x2e\
+\x32\x30\x30\x30\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\x3a\
+\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\
+\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\
+\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\
+\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\
+\x2e\x31\x38\x33\x39\x39\x39\x39\x39\x3b\x66\x69\x6c\x6c\x3a\x75\
+\x72\x6c\x28\x23\x53\x74\x72\x69\x70\x73\x31\x5f\x31\x29\x3b\x66\
+\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\
+\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\x2e\x32\x30\x30\x30\
+\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\x3a\x6e\x6f\x6e\x65\
+\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\x76\x69\x73\x69\
+\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x69\x6e\x6c\x69\
+\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\x76\x69\x73\x69\
+\x62\x6c\x65\x3b\x66\x69\x6c\x74\x65\x72\x3a\x75\x72\x6c\x28\x23\
+\x66\x69\x6c\x74\x65\x72\x35\x38\x35\x34\x29\x3b\x65\x6e\x61\x62\
+\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\
+\x63\x75\x6d\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x35\x38\x31\
+\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\x2d\x36\x35\x39\x2e\x36\
+\x33\x37\x38\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x38\x38\
+\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\
+\x2d\x31\x37\x39\x32\x2c\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\
+\x20\x63\x20\x30\x2c\x34\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\
+\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\
+\x30\x2c\x38\x38\x30\x20\x2d\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\
+\x30\x20\x2d\x38\x38\x30\x2c\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\
+\x32\x20\x2d\x38\x38\x30\x2c\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\
+\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x33\x39\x33\x2e\x39\x38\x39\
+\x34\x2c\x2d\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x38\x38\x30\
+\x2c\x2d\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x34\x38\x36\x2e\
+\x30\x31\x30\x36\x2c\x30\x20\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\
+\x38\x39\x34\x20\x38\x38\x30\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\
+\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\
+\x78\x28\x30\x2e\x31\x34\x39\x36\x30\x39\x38\x2c\x30\x2e\x30\x38\
+\x36\x35\x30\x38\x39\x35\x2c\x2d\x30\x2e\x30\x38\x36\x35\x30\x38\
+\x39\x35\x2c\x30\x2e\x31\x34\x39\x36\x30\x39\x38\x2c\x32\x39\x33\
+\x39\x2e\x34\x35\x39\x2c\x33\x32\x34\x35\x2e\x37\x31\x32\x32\x29\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\
+\x72\x69\x78\x28\x31\x2e\x31\x31\x34\x34\x38\x35\x37\x2c\x30\x2c\
+\x30\x2c\x31\x2e\x31\x31\x34\x34\x38\x35\x37\x2c\x2d\x33\x31\x37\
+\x2e\x39\x33\x34\x39\x36\x2c\x2d\x38\x37\x35\x2e\x37\x31\x36\x33\
+\x38\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x67\x35\x38\x35\x38\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\
+\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
+\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\
+\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\
+\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\
+\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\
+\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\
+\x6e\x65\x3b\x66\x69\x6c\x74\x65\x72\x3a\x75\x72\x6c\x28\x23\x66\
+\x69\x6c\x74\x65\x72\x34\x33\x37\x34\x29\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x34\x31\
+\x2e\x38\x34\x33\x38\x2c\x33\x31\x39\x39\x2e\x31\x35\x36\x32\x20\
+\x63\x20\x2d\x32\x30\x2e\x30\x38\x33\x37\x2c\x2d\x30\x2e\x30\x37\
+\x34\x20\x2d\x32\x33\x2e\x34\x36\x30\x37\x2c\x31\x32\x2e\x37\x38\
+\x36\x35\x20\x2d\x33\x35\x2e\x39\x36\x38\x38\x2c\x31\x32\x2e\x39\
+\x36\x38\x38\x20\x2d\x31\x33\x2e\x38\x30\x32\x2c\x30\x2e\x32\x30\
+\x31\x20\x2d\x31\x37\x2e\x33\x33\x37\x36\x2c\x2d\x31\x34\x2e\x38\
+\x32\x31\x31\x20\x2d\x34\x32\x2e\x35\x2c\x2d\x31\x30\x2e\x37\x35\
+\x20\x2d\x31\x38\x2e\x31\x37\x39\x32\x2c\x35\x2e\x38\x38\x38\x39\
+\x20\x2d\x32\x33\x2e\x35\x38\x35\x33\x2c\x31\x38\x2e\x33\x37\x30\
+\x38\x20\x2d\x32\x34\x2e\x36\x32\x35\x2c\x33\x33\x2e\x31\x32\x35\
+\x20\x2d\x30\x2e\x31\x36\x38\x36\x2c\x30\x2e\x30\x33\x32\x20\x2d\
+\x30\x2e\x33\x32\x39\x37\x2c\x30\x2e\x30\x35\x39\x20\x2d\x30\x2e\
+\x35\x2c\x30\x2e\x30\x39\x34\x20\x6c\x20\x2d\x31\x2e\x31\x32\x35\
+\x2c\x31\x31\x2e\x36\x35\x36\x32\x20\x63\x20\x30\x2e\x34\x39\x38\
+\x31\x2c\x2d\x30\x2e\x31\x39\x37\x33\x20\x31\x2e\x30\x33\x39\x39\
+\x2c\x2d\x30\x2e\x33\x37\x34\x31\x20\x31\x2e\x35\x36\x32\x35\x2c\
+\x2d\x30\x2e\x35\x33\x31\x32\x20\x30\x2e\x34\x39\x38\x34\x2c\x31\
+\x33\x2e\x31\x31\x30\x37\x20\x32\x2e\x35\x37\x39\x31\x2c\x32\x37\
+\x2e\x30\x35\x32\x31\x20\x31\x2e\x33\x31\x32\x35\x2c\x33\x39\x2e\
+\x32\x35\x20\x2d\x30\x2e\x31\x33\x33\x38\x2c\x30\x2e\x30\x33\x38\
+\x20\x2d\x30\x2e\x32\x37\x33\x2c\x30\x2e\x30\x35\x34\x20\x2d\x30\
+\x2e\x34\x30\x36\x32\x2c\x30\x2e\x30\x39\x34\x20\x2d\x39\x2e\x36\
+\x38\x32\x2c\x32\x2e\x38\x34\x37\x31\x20\x2d\x31\x35\x2e\x30\x33\
+\x37\x2c\x31\x33\x2e\x33\x39\x36\x37\x20\x2d\x31\x39\x2e\x31\x38\
+\x37\x36\x2c\x32\x32\x2e\x37\x35\x20\x2d\x30\x2e\x37\x34\x33\x33\
+\x2c\x30\x2e\x39\x32\x38\x31\x20\x2d\x31\x2e\x34\x37\x31\x37\x2c\
+\x31\x2e\x39\x31\x31\x32\x20\x2d\x32\x2e\x31\x35\x36\x32\x2c\x32\
+\x2e\x39\x36\x38\x37\x20\x2d\x31\x2e\x30\x33\x33\x31\x2c\x30\x2e\
+\x32\x33\x30\x37\x20\x2d\x32\x2e\x30\x35\x32\x39\x2c\x30\x2e\x34\
+\x35\x35\x39\x20\x2d\x33\x2e\x34\x30\x36\x32\x2c\x30\x2e\x37\x35\
+\x20\x6c\x20\x30\x2e\x37\x31\x38\x37\x2c\x32\x2e\x31\x38\x37\x36\
+\x20\x63\x20\x2d\x33\x2e\x30\x31\x31\x39\x2c\x31\x2e\x36\x30\x36\
+\x35\x20\x2d\x36\x2e\x33\x37\x31\x2c\x33\x2e\x36\x39\x30\x36\x20\
+\x2d\x39\x2e\x32\x31\x38\x37\x2c\x36\x2e\x33\x31\x32\x34\x20\x2d\
+\x39\x2e\x37\x31\x39\x32\x2c\x39\x2e\x38\x33\x36\x35\x20\x2d\x32\
+\x31\x2e\x33\x39\x33\x2c\x32\x39\x2e\x31\x38\x31\x35\x20\x2d\x31\
+\x33\x2e\x35\x39\x33\x38\x2c\x33\x37\x2e\x38\x31\x32\x36\x20\x33\
+\x2e\x36\x30\x37\x31\x2c\x35\x2e\x31\x33\x37\x20\x35\x2e\x35\x35\
+\x30\x32\x2c\x38\x2e\x32\x38\x39\x31\x20\x39\x2e\x39\x33\x37\x35\
+\x2c\x31\x34\x2e\x34\x36\x38\x37\x20\x2d\x30\x2e\x35\x39\x34\x34\
+\x2c\x30\x2e\x32\x30\x38\x34\x20\x2d\x31\x2e\x31\x39\x33\x33\x2c\
+\x30\x2e\x33\x39\x35\x31\x20\x2d\x31\x2e\x38\x31\x32\x35\x2c\x30\
+\x2e\x35\x36\x32\x35\x20\x32\x2e\x37\x34\x39\x39\x2c\x38\x2e\x31\
+\x36\x39\x33\x20\x39\x2e\x39\x30\x33\x31\x2c\x31\x33\x2e\x37\x39\
+\x32\x34\x20\x31\x38\x2e\x32\x31\x38\x38\x2c\x31\x38\x2e\x37\x38\
+\x31\x32\x20\x30\x2e\x36\x36\x33\x39\x2c\x31\x31\x2e\x33\x39\x31\
+\x35\x20\x33\x2e\x32\x37\x36\x31\x2c\x32\x34\x2e\x34\x38\x32\x20\
+\x39\x2e\x36\x35\x36\x32\x2c\x34\x30\x2e\x38\x37\x35\x20\x2d\x31\
+\x31\x2e\x33\x35\x36\x38\x2c\x32\x32\x2e\x32\x37\x39\x35\x20\x2d\
+\x31\x39\x2e\x33\x30\x37\x35\x2c\x35\x35\x2e\x36\x35\x31\x35\x20\
+\x2d\x31\x39\x2e\x35\x39\x33\x38\x2c\x37\x33\x2e\x38\x31\x32\x36\
+\x20\x30\x2e\x30\x33\x39\x2c\x30\x2e\x30\x32\x34\x20\x30\x2e\x30\
+\x38\x36\x2c\x30\x2e\x30\x33\x38\x20\x30\x2e\x31\x32\x35\x2c\x30\
+\x2e\x30\x36\x32\x20\x6c\x20\x30\x2e\x38\x34\x33\x38\x2c\x34\x35\
+\x2e\x37\x31\x38\x38\x20\x63\x20\x36\x2e\x39\x30\x32\x34\x2c\x32\
+\x33\x2e\x36\x32\x31\x35\x20\x31\x38\x2e\x38\x32\x34\x38\x2c\x39\
+\x2e\x37\x32\x33\x31\x20\x32\x33\x2e\x35\x2c\x2d\x31\x2e\x37\x35\
+\x20\x6c\x20\x34\x2e\x37\x31\x38\x38\x2c\x2d\x34\x33\x2e\x37\x38\
+\x31\x32\x20\x63\x20\x30\x2e\x31\x32\x38\x33\x2c\x2d\x30\x2e\x30\
+\x38\x34\x20\x30\x2e\x32\x34\x36\x2c\x2d\x30\x2e\x31\x36\x33\x37\
+\x20\x30\x2e\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\x20\x32\x2e\x36\
+\x33\x31\x39\x2c\x2d\x39\x2e\x37\x30\x35\x38\x20\x35\x2e\x37\x35\
+\x35\x37\x2c\x2d\x31\x38\x2e\x34\x31\x32\x35\x20\x39\x2e\x31\x32\
+\x35\x2c\x2d\x32\x35\x2e\x39\x36\x38\x38\x20\x31\x33\x2e\x35\x31\
+\x32\x35\x2c\x31\x34\x2e\x37\x36\x39\x34\x20\x36\x2e\x37\x33\x32\
+\x39\x2c\x33\x30\x2e\x34\x38\x37\x36\x20\x31\x37\x2e\x35\x33\x31\
+\x32\x2c\x34\x37\x20\x6c\x20\x31\x36\x2c\x32\x34\x20\x63\x20\x30\
+\x2e\x39\x31\x34\x35\x2c\x2d\x36\x2e\x32\x33\x33\x39\x20\x32\x2e\
+\x37\x35\x36\x37\x2c\x2d\x31\x31\x2e\x30\x38\x37\x34\x20\x35\x2e\
+\x32\x38\x31\x32\x2c\x2d\x31\x34\x2e\x39\x30\x36\x32\x20\x33\x2e\
+\x30\x34\x32\x32\x2c\x2d\x33\x2e\x32\x35\x35\x31\x20\x36\x2e\x33\
+\x38\x36\x39\x2c\x2d\x36\x2e\x30\x37\x35\x33\x20\x38\x2e\x39\x33\
+\x37\x36\x2c\x2d\x38\x2e\x34\x36\x38\x38\x20\x36\x2e\x30\x33\x35\
+\x36\x2c\x2d\x33\x2e\x36\x38\x39\x20\x31\x33\x2e\x32\x39\x30\x36\
+\x2c\x2d\x35\x2e\x35\x32\x34\x37\x20\x32\x30\x2e\x36\x35\x36\x32\
+\x2c\x2d\x37\x2e\x32\x31\x38\x38\x20\x36\x2e\x33\x39\x39\x34\x2c\
+\x31\x34\x2e\x32\x38\x33\x36\x20\x31\x32\x2e\x37\x39\x34\x37\x2c\
+\x32\x38\x2e\x36\x39\x31\x34\x20\x32\x33\x2e\x37\x31\x38\x38\x2c\
+\x33\x37\x2e\x30\x33\x31\x33\x20\x31\x39\x2e\x36\x37\x39\x31\x2c\
+\x31\x33\x2e\x31\x39\x37\x32\x20\x32\x31\x2e\x39\x36\x38\x39\x2c\
+\x2d\x33\x2e\x36\x38\x30\x35\x20\x31\x39\x2e\x35\x33\x31\x32\x2c\
+\x2d\x31\x35\x2e\x34\x30\x36\x33\x20\x2d\x31\x2e\x37\x32\x37\x2c\
+\x2d\x31\x32\x2e\x37\x38\x30\x35\x20\x2d\x35\x2e\x36\x38\x34\x32\
+\x2c\x2d\x32\x33\x2e\x34\x37\x39\x33\x20\x2d\x31\x30\x2e\x34\x36\
+\x38\x38\x2c\x2d\x33\x33\x2e\x34\x30\x36\x32\x20\x31\x35\x2e\x37\
+\x31\x30\x35\x2c\x2d\x31\x32\x2e\x38\x31\x37\x39\x20\x33\x35\x2e\
+\x33\x35\x34\x2c\x2d\x38\x2e\x35\x31\x37\x36\x20\x35\x34\x2e\x33\
+\x34\x33\x38\x2c\x2d\x37\x2e\x31\x32\x35\x20\x31\x35\x2e\x35\x31\
+\x39\x37\x2c\x31\x2e\x39\x35\x38\x32\x20\x33\x30\x2e\x38\x37\x39\
+\x33\x2c\x34\x2e\x31\x34\x33\x32\x20\x36\x32\x2c\x2d\x31\x36\x20\
+\x36\x2e\x39\x37\x38\x2c\x2d\x36\x2e\x36\x36\x36\x38\x20\x31\x32\
+\x2e\x31\x30\x36\x35\x2c\x2d\x31\x33\x2e\x33\x33\x33\x33\x20\x33\
+\x34\x2e\x35\x2c\x2d\x32\x30\x20\x39\x2e\x38\x35\x32\x38\x2c\x2d\
+\x32\x2e\x34\x31\x32\x31\x20\x31\x33\x2e\x31\x39\x34\x35\x2c\x2d\
+\x31\x35\x2e\x36\x37\x35\x39\x20\x31\x39\x2e\x35\x2c\x2d\x32\x34\
+\x20\x2d\x32\x33\x2e\x30\x39\x37\x39\x2c\x2d\x32\x32\x2e\x31\x31\
+\x30\x35\x20\x2d\x34\x38\x2e\x30\x38\x35\x33\x2c\x2d\x32\x36\x2e\
+\x34\x38\x38\x37\x20\x2d\x37\x34\x2e\x35\x36\x32\x35\x2c\x2d\x32\
+\x34\x2e\x32\x31\x38\x38\x20\x2d\x32\x38\x2e\x35\x31\x37\x34\x2c\
+\x32\x2e\x34\x34\x35\x20\x2d\x34\x39\x2e\x39\x38\x34\x38\x2c\x2d\
+\x31\x36\x2e\x33\x35\x32\x31\x20\x2d\x36\x38\x2e\x32\x31\x38\x37\
+\x2c\x2d\x34\x37\x2e\x31\x38\x37\x34\x20\x36\x2e\x31\x39\x32\x39\
+\x2c\x2d\x35\x2e\x38\x38\x36\x36\x20\x31\x33\x2e\x33\x31\x34\x2c\
+\x2d\x31\x33\x2e\x39\x32\x33\x39\x20\x31\x33\x2e\x34\x30\x36\x32\
+\x2c\x2d\x32\x32\x2e\x37\x31\x38\x38\x20\x2d\x31\x2e\x38\x37\x30\
+\x35\x2c\x2d\x39\x2e\x31\x33\x33\x39\x20\x2d\x34\x2e\x32\x39\x36\
+\x39\x2c\x2d\x31\x39\x2e\x33\x36\x32\x34\x20\x2d\x38\x2e\x39\x33\
+\x37\x35\x2c\x2d\x32\x35\x2e\x37\x31\x38\x38\x20\x6c\x20\x31\x2e\
+\x38\x37\x35\x2c\x2d\x31\x2e\x33\x37\x35\x20\x63\x20\x2d\x30\x2e\
+\x33\x30\x34\x33\x2c\x2d\x30\x2e\x34\x37\x31\x37\x20\x2d\x30\x2e\
+\x35\x39\x31\x32\x2c\x2d\x30\x2e\x38\x35\x30\x33\x20\x2d\x30\x2e\
+\x38\x37\x35\x2c\x2d\x31\x2e\x32\x35\x20\x34\x2e\x35\x38\x36\x34\
+\x2c\x2d\x31\x33\x2e\x38\x31\x38\x37\x20\x2d\x34\x2e\x38\x35\x33\
+\x33\x2c\x2d\x31\x37\x2e\x35\x34\x35\x32\x20\x2d\x31\x30\x2e\x33\
+\x37\x35\x2c\x2d\x32\x33\x2e\x33\x31\x32\x34\x20\x2d\x30\x2e\x32\
+\x37\x31\x37\x2c\x2d\x30\x2e\x31\x39\x30\x34\x20\x2d\x30\x2e\x35\
+\x35\x37\x36\x2c\x2d\x30\x2e\x33\x35\x36\x39\x20\x2d\x30\x2e\x38\
+\x34\x33\x37\x2c\x2d\x30\x2e\x35\x33\x31\x33\x20\x32\x2e\x31\x32\
+\x38\x38\x2c\x30\x2e\x36\x37\x36\x35\x20\x33\x2e\x31\x33\x33\x32\
+\x2c\x31\x2e\x33\x31\x36\x20\x35\x2e\x32\x31\x38\x37\x2c\x34\x2e\
+\x34\x30\x36\x33\x20\x2d\x34\x2e\x33\x32\x35\x32\x2c\x2d\x39\x2e\
+\x37\x34\x38\x20\x2d\x34\x2e\x32\x33\x39\x2c\x2d\x31\x34\x2e\x38\
+\x33\x30\x38\x20\x2d\x31\x39\x2e\x35\x2c\x2d\x31\x38\x2e\x36\x32\
+\x35\x20\x6c\x20\x30\x2e\x35\x36\x32\x35\x2c\x2d\x30\x2e\x32\x31\
+\x38\x38\x20\x63\x20\x36\x2e\x36\x30\x33\x32\x2c\x2d\x38\x2e\x30\
+\x37\x39\x36\x20\x31\x31\x2e\x37\x31\x37\x36\x2c\x2d\x32\x30\x2e\
+\x33\x39\x34\x32\x20\x31\x33\x2e\x39\x30\x36\x32\x2c\x2d\x33\x33\
+\x2e\x30\x33\x31\x32\x20\x30\x2e\x35\x38\x31\x2c\x30\x2e\x31\x37\
+\x38\x39\x20\x31\x2e\x31\x35\x36\x34\x2c\x30\x2e\x33\x37\x30\x32\
+\x20\x31\x2e\x37\x35\x2c\x30\x2e\x35\x36\x32\x34\x20\x6c\x20\x30\
+\x2e\x34\x30\x36\x33\x2c\x2d\x31\x30\x2e\x35\x39\x33\x37\x20\x63\
+\x20\x2d\x30\x2e\x33\x34\x36\x33\x2c\x2d\x30\x2e\x31\x32\x33\x35\
+\x20\x2d\x30\x2e\x36\x38\x37\x2c\x2d\x30\x2e\x32\x33\x30\x36\x20\
+\x2d\x31\x2e\x30\x33\x31\x33\x2c\x2d\x30\x2e\x33\x34\x33\x37\x20\
+\x30\x2e\x36\x38\x38\x32\x2c\x2d\x31\x38\x2e\x32\x32\x33\x35\x20\
+\x2d\x35\x2e\x36\x37\x35\x36\x2c\x2d\x33\x34\x2e\x39\x30\x31\x33\
+\x20\x2d\x32\x33\x2e\x35\x33\x31\x32\x2c\x2d\x33\x38\x2e\x30\x39\
+\x33\x38\x20\x2d\x32\x2e\x34\x36\x34\x32\x2c\x2d\x30\x2e\x33\x31\
+\x32\x39\x20\x2d\x34\x2e\x37\x30\x33\x36\x2c\x2d\x30\x2e\x34\x36\
+\x31\x20\x2d\x36\x2e\x37\x38\x31\x32\x2c\x2d\x30\x2e\x34\x36\x38\
+\x38\x20\x7a\x20\x6d\x20\x2d\x31\x32\x34\x2e\x32\x35\x2c\x31\x35\
+\x38\x20\x63\x20\x2d\x32\x2e\x30\x38\x31\x37\x2c\x35\x2e\x31\x31\
+\x34\x38\x20\x2d\x34\x2e\x39\x33\x34\x39\x2c\x38\x2e\x39\x35\x33\
+\x39\x20\x2d\x38\x2e\x34\x33\x37\x36\x2c\x31\x31\x2e\x36\x35\x36\
+\x33\x20\x33\x2e\x35\x37\x37\x34\x2c\x2d\x33\x2e\x30\x35\x30\x39\
+\x20\x36\x2e\x33\x34\x35\x32\x2c\x2d\x36\x2e\x39\x39\x36\x35\x20\
+\x38\x2e\x34\x33\x37\x36\x2c\x2d\x31\x31\x2e\x36\x35\x36\x33\x20\
+\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x32\x33\x34\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x34\x31\x35\x36\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x30\x2c\x31\x30\x39\x34\x29\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x34\x31\x35\x38\x22\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x65\x63\
+\x65\x63\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x39\x2e\x38\x37\x38\x37\
+\x2c\x32\x31\x37\x38\x2e\x31\x31\x32\x32\x20\x63\x20\x33\x2e\x37\
+\x32\x37\x34\x2c\x2d\x33\x30\x2e\x33\x37\x33\x38\x20\x2d\x31\x34\
+\x2e\x39\x30\x30\x37\x2c\x2d\x37\x32\x2e\x33\x31\x30\x37\x20\x32\
+\x33\x2e\x35\x2c\x2d\x38\x34\x2e\x37\x35\x20\x32\x35\x2e\x31\x36\
+\x32\x34\x2c\x2d\x34\x2e\x30\x37\x31\x20\x32\x38\x2e\x36\x39\x38\
+\x2c\x31\x30\x2e\x39\x35\x31\x20\x34\x32\x2e\x35\x2c\x31\x30\x2e\
+\x37\x35\x20\x31\x33\x2e\x38\x30\x32\x2c\x2d\x30\x2e\x32\x30\x31\
+\x20\x31\x36\x2e\x34\x36\x35\x31\x2c\x2d\x31\x35\x2e\x38\x33\x37\
+\x33\x20\x34\x32\x2e\x37\x35\x2c\x2d\x31\x32\x2e\x35\x20\x33\x33\
+\x2e\x34\x39\x36\x31\x2c\x35\x2e\x39\x38\x39\x20\x32\x36\x2e\x35\
+\x31\x36\x32\x2c\x35\x39\x2e\x34\x35\x35\x36\x20\x38\x2e\x35\x2c\
+\x38\x31\x2e\x35\x20\x6c\x20\x2d\x34\x34\x2e\x32\x35\x2c\x31\x38\
+\x2e\x35\x20\x2d\x31\x37\x2e\x32\x35\x2c\x32\x35\x2e\x32\x35\x20\
+\x2d\x31\x37\x2e\x37\x35\x2c\x2d\x34\x20\x2d\x32\x35\x2e\x37\x35\
+\x2c\x2d\x33\x30\x2e\x32\x35\x20\x2d\x31\x32\x2e\x32\x35\x2c\x2d\
+\x34\x2e\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\
+\x36\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x7a\x63\x63\x63\x63\x63\x63\
+\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x37\x32\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\
+\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\
+\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\
+\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x32\
+\x33\x2e\x38\x37\x38\x37\x2c\x32\x32\x32\x39\x2e\x33\x36\x32\x32\
+\x20\x63\x20\x2d\x31\x2e\x33\x32\x32\x33\x2c\x32\x39\x2e\x32\x31\
+\x37\x39\x20\x2d\x31\x33\x2e\x30\x37\x35\x38\x2c\x34\x39\x2e\x33\
+\x30\x38\x37\x20\x35\x2c\x39\x35\x2e\x35\x20\x6c\x20\x31\x37\x2e\
+\x35\x2c\x34\x36\x20\x63\x20\x31\x35\x2e\x34\x37\x37\x33\x2c\x31\
+\x35\x2e\x32\x31\x33\x39\x20\x37\x2e\x38\x32\x38\x36\x2c\x33\x31\
+\x2e\x34\x31\x37\x31\x20\x31\x39\x2c\x34\x38\x2e\x35\x20\x6c\x20\
+\x31\x36\x2c\x32\x34\x20\x63\x20\x33\x2e\x37\x34\x37\x36\x2c\x2d\
+\x32\x35\x2e\x35\x34\x35\x33\x20\x32\x33\x2e\x30\x39\x30\x37\x2c\
+\x2d\x32\x37\x2e\x36\x39\x37\x33\x20\x34\x31\x2c\x2d\x33\x32\x20\
+\x6c\x20\x32\x34\x2e\x35\x2c\x2d\x38\x2e\x35\x20\x63\x20\x31\x36\
+\x2e\x30\x34\x32\x32\x2c\x2d\x31\x35\x2e\x30\x39\x34\x39\x20\x33\
+\x36\x2e\x36\x33\x38\x32\x2c\x2d\x31\x30\x2e\x34\x35\x36\x35\x20\
+\x35\x36\x2e\x35\x2c\x2d\x39\x20\x31\x35\x2e\x35\x31\x39\x37\x2c\
+\x31\x2e\x39\x35\x38\x33\x20\x33\x30\x2e\x38\x37\x39\x33\x2c\x34\
+\x2e\x31\x34\x33\x32\x20\x36\x32\x2c\x2d\x31\x36\x20\x36\x2e\x39\
+\x37\x38\x2c\x2d\x36\x2e\x36\x36\x36\x37\x20\x31\x32\x2e\x31\x30\
+\x36\x35\x2c\x2d\x31\x33\x2e\x33\x33\x33\x33\x20\x33\x34\x2e\x35\
+\x2c\x2d\x32\x30\x20\x39\x2e\x38\x35\x32\x38\x2c\x2d\x32\x2e\x34\
+\x31\x32\x20\x31\x33\x2e\x31\x39\x34\x35\x2c\x2d\x31\x35\x2e\x36\
+\x37\x35\x39\x20\x31\x39\x2e\x35\x2c\x2d\x32\x34\x20\x2d\x32\x33\
+\x2e\x30\x39\x37\x39\x2c\x2d\x32\x32\x2e\x31\x31\x30\x34\x20\x2d\
+\x34\x38\x2e\x30\x38\x39\x38\x2c\x2d\x32\x36\x2e\x34\x37\x35\x34\
+\x20\x2d\x37\x34\x2e\x35\x36\x37\x2c\x2d\x32\x34\x2e\x32\x30\x35\
+\x34\x20\x2d\x33\x32\x2e\x30\x38\x36\x34\x2c\x32\x2e\x37\x35\x30\
+\x39\x20\x2d\x35\x35\x2e\x32\x36\x34\x36\x2c\x2d\x32\x31\x2e\x33\
+\x36\x35\x38\x20\x2d\x37\x34\x2e\x39\x33\x33\x2c\x2d\x35\x39\x2e\
+\x32\x39\x34\x36\x20\x6c\x20\x2d\x31\x35\x2c\x2d\x34\x30\x2e\x35\
+\x20\x2d\x33\x36\x2e\x35\x2c\x31\x34\x2e\x35\x20\x63\x20\x30\x2c\
+\x30\x20\x2d\x31\x39\x2e\x35\x2c\x31\x32\x2e\x35\x20\x2d\x32\x32\
+\x2e\x35\x2c\x31\x32\x2e\x35\x20\x2d\x33\x2c\x30\x20\x2d\x34\x32\
+\x2c\x2d\x31\x36\x20\x2d\x34\x32\x2c\x2d\x31\x36\x20\x6c\x20\x2d\
+\x31\x33\x2e\x35\x2c\x2d\x37\x2e\x35\x20\x2d\x31\x34\x2e\x35\x2c\
+\x38\x2e\x35\x20\x2d\x32\x2c\x37\x2e\x35\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x31\x36\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\
+\x63\x63\x63\x63\x63\x63\x63\x63\x63\x73\x63\x63\x63\x73\x63\x63\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x65\x63\x65\x63\x65\x63\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\
+\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x34\
+\x31\x2e\x39\x31\x38\x34\x2c\x32\x33\x30\x36\x2e\x31\x38\x38\x31\
+\x20\x63\x20\x37\x2e\x34\x38\x32\x33\x2c\x31\x2e\x39\x31\x32\x37\
+\x20\x31\x37\x2e\x37\x32\x32\x38\x2c\x2d\x31\x32\x2e\x31\x39\x33\
+\x35\x20\x31\x38\x2e\x33\x35\x33\x36\x2c\x2d\x32\x35\x2e\x38\x30\
+\x35\x38\x20\x31\x36\x2e\x31\x39\x32\x36\x2c\x2d\x31\x2e\x31\x30\
+\x38\x37\x20\x33\x32\x2e\x33\x38\x35\x33\x2c\x2d\x30\x2e\x38\x37\
+\x36\x36\x20\x34\x38\x2e\x35\x37\x37\x39\x2c\x31\x2e\x33\x31\x31\
+\x39\x20\x2d\x38\x2e\x31\x36\x34\x37\x2c\x36\x2e\x37\x32\x32\x31\
+\x20\x2d\x31\x35\x2e\x34\x39\x39\x32\x2c\x31\x33\x2e\x36\x34\x33\
+\x35\x20\x38\x2e\x39\x35\x2c\x32\x38\x2e\x31\x39\x33\x20\x30\x2e\
+\x34\x30\x38\x2c\x31\x2e\x36\x35\x30\x32\x20\x35\x2e\x34\x30\x38\
+\x35\x2c\x2d\x35\x2e\x32\x35\x39\x36\x20\x35\x2e\x37\x37\x33\x37\
+\x2c\x2d\x32\x2e\x32\x38\x32\x35\x20\x32\x2e\x31\x33\x32\x37\x2c\
+\x31\x37\x2e\x33\x38\x35\x34\x20\x35\x2e\x38\x37\x35\x35\x2c\x36\
+\x31\x2e\x37\x30\x39\x36\x20\x31\x39\x2e\x34\x37\x30\x38\x2c\x38\
+\x31\x2e\x38\x30\x33\x37\x20\x2d\x37\x2e\x32\x38\x33\x33\x2c\x39\
+\x2e\x30\x34\x30\x38\x20\x2d\x31\x34\x2e\x38\x35\x36\x34\x2c\x31\
+\x37\x2e\x36\x34\x36\x39\x20\x2d\x33\x32\x2e\x35\x37\x38\x33\x2c\
+\x31\x31\x2e\x30\x32\x39\x37\x20\x2d\x31\x38\x2e\x33\x37\x38\x35\
+\x2c\x2d\x33\x33\x2e\x38\x38\x32\x33\x20\x2d\x32\x32\x2e\x39\x36\
+\x37\x2c\x2d\x35\x37\x2e\x31\x31\x38\x37\x20\x2d\x33\x30\x2e\x33\
+\x31\x39\x34\x2c\x2d\x35\x39\x2e\x39\x35\x33\x20\x2d\x31\x32\x2e\
+\x31\x39\x38\x39\x2c\x2d\x34\x2e\x37\x30\x32\x36\x20\x2d\x33\x30\
+\x2e\x37\x33\x31\x39\x2c\x31\x38\x2e\x34\x30\x31\x20\x2d\x34\x31\
+\x2e\x34\x33\x30\x36\x2c\x35\x37\x2e\x38\x35\x34\x38\x20\x2d\x31\
+\x31\x2e\x38\x33\x30\x34\x2c\x37\x2e\x39\x32\x34\x37\x20\x2d\x32\
+\x31\x2e\x30\x32\x32\x34\x2c\x35\x2e\x32\x39\x35\x38\x20\x2d\x32\
+\x39\x2e\x35\x34\x37\x37\x2c\x30\x20\x30\x2e\x33\x38\x37\x37\x2c\
+\x2d\x32\x34\x2e\x35\x39\x36\x38\x20\x31\x34\x2e\x37\x39\x36\x36\
+\x2c\x2d\x37\x37\x2e\x31\x30\x36\x36\x20\x33\x32\x2e\x37\x35\x2c\
+\x2d\x39\x32\x2e\x31\x35\x31\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\
+\x61\x74\x68\x34\x31\x36\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\
+\x73\x63\x63\x73\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\
+\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\
+\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\
+\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\
+\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\
+\x6d\x20\x32\x35\x30\x39\x2e\x32\x35\x33\x37\x2c\x32\x33\x39\x37\
+\x2e\x34\x38\x37\x33\x20\x63\x20\x36\x2e\x35\x35\x32\x33\x2c\x34\
+\x2e\x34\x38\x38\x20\x31\x35\x2e\x32\x35\x36\x2c\x38\x2e\x35\x33\
+\x38\x32\x20\x32\x39\x2e\x31\x32\x35\x2c\x30\x2e\x37\x35\x20\x6c\
+\x20\x2d\x34\x2e\x37\x35\x2c\x34\x34\x2e\x31\x32\x35\x20\x63\x20\
+\x2d\x34\x2e\x36\x37\x35\x32\x2c\x31\x31\x2e\x34\x37\x33\x31\x20\
+\x2d\x31\x36\x2e\x35\x39\x37\x36\x2c\x32\x35\x2e\x33\x37\x31\x35\
+\x20\x2d\x32\x33\x2e\x35\x2c\x31\x2e\x37\x35\x20\x6c\x20\x2d\x30\
+\x2e\x38\x37\x35\x2c\x2d\x34\x36\x2e\x36\x32\x35\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x36\x36\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\
+\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\
+\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x36\
+\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x31\x30\x2e\x33\x35\x35\x2c\
+\x32\x34\x30\x30\x2e\x30\x37\x38\x38\x20\x63\x20\x36\x2e\x31\x39\
+\x31\x32\x2c\x33\x2e\x34\x37\x39\x37\x20\x32\x34\x2e\x36\x36\x39\
+\x31\x2c\x33\x2e\x39\x34\x33\x20\x33\x32\x2e\x35\x33\x35\x31\x2c\
+\x2d\x31\x30\x2e\x38\x36\x30\x32\x20\x37\x2e\x33\x35\x34\x2c\x31\
+\x33\x2e\x33\x36\x35\x33\x20\x31\x34\x2e\x31\x37\x34\x34\x2c\x32\
+\x37\x2e\x32\x32\x38\x38\x20\x31\x36\x2e\x36\x30\x31\x38\x2c\x34\
+\x35\x2e\x31\x39\x32\x33\x20\x32\x2e\x34\x33\x37\x37\x2c\x31\x31\
+\x2e\x37\x32\x35\x37\x20\x30\x2e\x31\x34\x35\x38\x2c\x32\x38\x2e\
+\x36\x30\x38\x31\x20\x2d\x31\x39\x2e\x35\x33\x33\x33\x2c\x31\x35\
+\x2e\x34\x31\x30\x39\x20\x2d\x31\x34\x2e\x32\x31\x32\x39\x2c\x2d\
+\x31\x30\x2e\x38\x35\x30\x36\x20\x2d\x32\x30\x2e\x37\x31\x30\x33\
+\x2c\x2d\x33\x32\x2e\x30\x30\x38\x33\x20\x2d\x32\x39\x2e\x36\x30\
+\x33\x36\x2c\x2d\x34\x39\x2e\x37\x34\x33\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\
+\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\
+\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\
+\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\
+\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\
+\x64\x35\x38\x38\x36\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\
+\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\
+\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x30\x36\x2e\x33\x33\x39\x39\
+\x2c\x32\x32\x31\x32\x2e\x30\x31\x37\x33\x20\x63\x20\x33\x2e\x32\
+\x37\x37\x2c\x2d\x33\x2e\x30\x31\x37\x31\x20\x37\x2e\x32\x36\x36\
+\x34\x2c\x2d\x35\x2e\x33\x32\x34\x34\x20\x31\x30\x2e\x35\x37\x38\
+\x39\x2c\x2d\x37\x2e\x30\x30\x38\x33\x20\x39\x2e\x33\x36\x37\x36\
+\x2c\x2d\x31\x36\x2e\x38\x35\x37\x38\x20\x32\x36\x2e\x33\x34\x35\
+\x37\x2c\x2d\x31\x38\x2e\x37\x30\x32\x32\x20\x33\x34\x2e\x38\x32\
+\x38\x36\x2c\x2d\x31\x39\x2e\x32\x37\x33\x34\x20\x32\x30\x2e\x33\
+\x32\x38\x36\x2c\x32\x2e\x31\x31\x38\x32\x20\x32\x31\x2e\x34\x35\
+\x39\x33\x2c\x31\x33\x2e\x38\x33\x35\x34\x20\x32\x38\x2e\x38\x32\
+\x33\x36\x2c\x32\x32\x2e\x34\x33\x35\x37\x20\x6c\x20\x31\x38\x2e\
+\x37\x35\x33\x35\x2c\x30\x2e\x36\x36\x34\x20\x63\x20\x39\x2e\x36\
+\x38\x30\x38\x2c\x2d\x31\x32\x2e\x35\x32\x30\x34\x20\x32\x33\x2e\
+\x39\x39\x30\x35\x2c\x2d\x31\x39\x2e\x34\x38\x36\x32\x20\x34\x30\
+\x2e\x37\x32\x36\x33\x2c\x2d\x32\x33\x2e\x35\x34\x30\x37\x20\x2d\
+\x31\x2e\x31\x39\x33\x32\x2c\x30\x2e\x33\x37\x30\x33\x20\x32\x30\
+\x2e\x39\x38\x36\x35\x2c\x2d\x34\x2e\x36\x35\x37\x35\x20\x33\x31\
+\x2e\x36\x34\x36\x39\x2c\x32\x2e\x38\x31\x30\x31\x20\x35\x2e\x38\
+\x35\x35\x2c\x36\x2e\x31\x31\x35\x33\x20\x31\x36\x2e\x31\x30\x32\
+\x32\x2c\x39\x2e\x39\x32\x37\x31\x20\x39\x2e\x33\x37\x36\x34\x2c\
+\x32\x35\x2e\x39\x31\x39\x32\x20\x34\x2e\x36\x34\x30\x37\x2c\x36\
+\x2e\x33\x35\x36\x34\x20\x37\x2e\x30\x36\x33\x37\x2c\x31\x36\x2e\
+\x35\x37\x38\x39\x20\x38\x2e\x39\x33\x34\x32\x2c\x32\x35\x2e\x37\
+\x31\x32\x38\x20\x2d\x30\x2e\x31\x34\x36\x31\x2c\x31\x33\x2e\x39\
+\x34\x33\x37\x20\x2d\x31\x38\x2e\x30\x34\x33\x37\x2c\x32\x35\x2e\
+\x39\x39\x30\x38\x20\x2d\x32\x31\x2e\x37\x31\x37\x34\x2c\x33\x30\
+\x2e\x35\x36\x34\x37\x20\x2d\x31\x2e\x38\x37\x38\x33\x2c\x32\x2e\
+\x33\x33\x38\x35\x20\x2d\x31\x36\x2e\x39\x31\x31\x36\x2c\x2d\x38\
+\x2e\x33\x31\x38\x20\x2d\x32\x30\x2e\x31\x39\x33\x31\x2c\x2d\x32\
+\x35\x2e\x33\x37\x34\x20\x6c\x20\x31\x2e\x34\x38\x30\x32\x2c\x2d\
+\x35\x2e\x31\x39\x33\x33\x20\x63\x20\x2d\x34\x2e\x35\x35\x37\x37\
+\x2c\x2d\x34\x2e\x30\x35\x34\x34\x20\x2d\x34\x2e\x35\x37\x36\x34\
+\x2c\x2d\x38\x2e\x31\x30\x38\x38\x20\x2d\x35\x2e\x35\x37\x32\x35\
+\x2c\x2d\x31\x32\x2e\x31\x36\x33\x32\x20\x2d\x31\x33\x2e\x37\x37\
+\x32\x31\x2c\x32\x31\x2e\x33\x31\x32\x32\x20\x2d\x32\x33\x2e\x36\
+\x37\x37\x39\x2c\x33\x37\x2e\x38\x32\x32\x39\x20\x2d\x32\x32\x2e\
+\x34\x30\x37\x31\x2c\x34\x38\x2e\x37\x39\x33\x31\x20\x2d\x32\x31\
+\x2e\x39\x37\x31\x36\x2c\x2d\x39\x2e\x30\x36\x35\x20\x2d\x35\x30\
+\x2e\x32\x37\x33\x36\x2c\x2d\x39\x2e\x37\x35\x39\x37\x20\x2d\x37\
+\x36\x2e\x33\x36\x37\x36\x2c\x2d\x32\x2e\x34\x37\x34\x39\x20\x6c\
+\x20\x2d\x30\x2e\x38\x39\x31\x34\x2c\x2d\x31\x36\x2e\x34\x32\x30\
+\x36\x20\x2d\x38\x2e\x39\x30\x31\x33\x2c\x2d\x32\x30\x2e\x31\x35\
+\x38\x37\x20\x63\x20\x2d\x33\x2e\x36\x34\x39\x35\x2c\x32\x2e\x35\
+\x37\x37\x35\x20\x2d\x37\x2e\x38\x39\x32\x35\x2c\x35\x2e\x38\x31\
+\x31\x37\x20\x2d\x31\x32\x2e\x39\x31\x30\x34\x2c\x34\x2e\x37\x34\
+\x30\x32\x20\x6c\x20\x2d\x32\x2e\x35\x39\x32\x2c\x30\x2e\x37\x33\
+\x36\x39\x20\x63\x20\x2d\x33\x2e\x30\x34\x32\x31\x2c\x31\x30\x2e\
+\x31\x34\x35\x31\x20\x2d\x38\x2e\x32\x34\x31\x31\x2c\x31\x37\x2e\
+\x39\x35\x33\x35\x20\x2d\x31\x36\x2e\x39\x33\x32\x37\x2c\x32\x31\
+\x2e\x39\x37\x38\x34\x20\x2d\x34\x2e\x36\x33\x37\x39\x2c\x2d\x36\
+\x2e\x35\x30\x38\x39\x20\x2d\x36\x2e\x35\x35\x36\x38\x2c\x2d\x39\
+\x2e\x36\x35\x39\x31\x20\x2d\x31\x30\x2e\x32\x35\x38\x33\x2c\x2d\
+\x31\x34\x2e\x39\x33\x30\x36\x20\x2d\x37\x2e\x37\x39\x39\x33\x2c\
+\x2d\x38\x2e\x36\x33\x31\x20\x33\x2e\x38\x37\x36\x31\x2c\x2d\x32\
+\x37\x2e\x39\x38\x31\x20\x31\x33\x2e\x35\x39\x35\x32\x2c\x2d\x33\
+\x37\x2e\x38\x31\x37\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x31\x37\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x63\
+\x63\x63\x63\x73\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x37\x32\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\
+\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\
+\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\
+\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x39\x33\
+\x2e\x35\x31\x32\x34\x2c\x32\x32\x30\x39\x2e\x32\x31\x39\x32\x20\
+\x37\x2e\x36\x30\x31\x34\x2c\x30\x2e\x31\x37\x36\x38\x20\x63\x20\
+\x39\x2e\x34\x36\x36\x36\x2c\x2d\x38\x2e\x36\x38\x39\x31\x20\x31\
+\x36\x2e\x32\x35\x30\x35\x2c\x2d\x32\x36\x2e\x31\x36\x35\x33\x20\
+\x36\x35\x2e\x33\x38\x35\x39\x2c\x2d\x32\x33\x2e\x31\x38\x38\x31\
+\x20\x35\x2e\x38\x30\x32\x2c\x31\x2e\x39\x37\x36\x32\x20\x36\x2e\
+\x34\x32\x39\x36\x2c\x31\x2e\x31\x32\x36\x37\x20\x39\x2e\x35\x36\
+\x33\x37\x2c\x35\x2e\x37\x37\x30\x38\x20\x2d\x34\x2e\x35\x32\x37\
+\x39\x2c\x2d\x31\x30\x2e\x32\x30\x35\x20\x2d\x34\x2e\x31\x37\x32\
+\x32\x2c\x2d\x31\x35\x2e\x33\x31\x30\x37\x20\x2d\x32\x31\x2e\x37\
+\x30\x35\x38\x2c\x2d\x31\x39\x2e\x31\x36\x32\x39\x20\x2d\x31\x37\
+\x2e\x35\x33\x33\x36\x2c\x2d\x33\x2e\x38\x35\x32\x33\x20\x2d\x33\
+\x38\x2e\x31\x32\x30\x39\x2c\x31\x2e\x30\x30\x36\x20\x2d\x36\x30\
+\x2e\x38\x34\x35\x32\x2c\x33\x36\x2e\x34\x30\x33\x34\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x37\x32\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x7a\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x7a\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x31\x37\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2e\x35\
+\x36\x33\x34\x2c\x32\x32\x30\x38\x2e\x39\x36\x39\x32\x20\x2d\x36\
+\x2e\x33\x35\x31\x34\x2c\x2d\x30\x2e\x33\x32\x33\x32\x20\x63\x20\
+\x2d\x39\x2e\x34\x36\x36\x36\x2c\x2d\x38\x2e\x36\x38\x39\x31\x20\
+\x2d\x32\x32\x2e\x30\x37\x31\x35\x2c\x2d\x32\x37\x2e\x35\x39\x37\
+\x20\x2d\x35\x30\x2e\x35\x31\x30\x39\x2c\x2d\x31\x36\x2e\x31\x38\
+\x38\x31\x20\x2d\x35\x2e\x38\x30\x32\x2c\x31\x2e\x39\x37\x36\x32\
+\x20\x2d\x39\x2e\x34\x32\x39\x36\x2c\x37\x2e\x38\x37\x36\x37\x20\
+\x2d\x31\x32\x2e\x35\x36\x33\x37\x2c\x31\x32\x2e\x35\x32\x30\x38\
+\x20\x34\x2e\x35\x32\x37\x39\x2c\x2d\x31\x30\x2e\x32\x30\x35\x20\
+\x39\x2e\x39\x32\x37\x39\x2c\x2d\x32\x34\x2e\x35\x32\x33\x20\x32\
+\x31\x2e\x34\x35\x35\x38\x2c\x2d\x32\x37\x2e\x39\x31\x32\x39\x20\
+\x31\x31\x2e\x35\x39\x37\x38\x2c\x2d\x33\x2e\x34\x31\x30\x35\x20\
+\x32\x35\x2e\x32\x34\x35\x39\x2c\x2d\x33\x2e\x34\x39\x34\x20\x34\
+\x37\x2e\x39\x37\x30\x32\x2c\x33\x31\x2e\x39\x30\x33\x34\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x37\x32\
+\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\
+\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\
+\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\
+\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\
+\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x35\x36\
+\x2e\x31\x39\x31\x31\x2c\x32\x32\x37\x30\x2e\x37\x30\x37\x31\x20\
+\x63\x20\x31\x36\x2e\x37\x33\x37\x31\x2c\x2d\x31\x2e\x36\x39\x32\
+\x31\x20\x33\x30\x2e\x34\x33\x35\x34\x2c\x2d\x36\x2e\x30\x39\x37\
+\x34\x20\x35\x39\x2e\x36\x39\x32\x36\x2c\x33\x2e\x33\x38\x39\x31\
+\x20\x6c\x20\x2d\x37\x2e\x33\x36\x36\x37\x2c\x38\x2e\x34\x35\x34\
+\x39\x20\x63\x20\x2d\x32\x30\x2e\x31\x38\x37\x34\x2c\x2d\x32\x2e\
+\x37\x31\x31\x35\x20\x2d\x33\x36\x2e\x34\x34\x38\x38\x2c\x2d\x32\
+\x2e\x33\x38\x35\x37\x20\x2d\x35\x33\x2e\x30\x33\x33\x2c\x2d\x31\
+\x2e\x39\x34\x34\x35\x20\x6c\x20\x30\x2e\x37\x30\x37\x31\x2c\x2d\
+\x39\x2e\x38\x39\x39\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x31\x37\x36\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\
+\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x63\x63\
+\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x37\x38\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\
+\x3d\x22\x6d\x20\x32\x36\x33\x31\x2e\x33\x31\x31\x34\x2c\x32\x32\
+\x39\x39\x2e\x32\x32\x33\x37\x20\x63\x20\x2d\x30\x2e\x31\x39\x35\
+\x33\x2c\x35\x2e\x37\x32\x31\x37\x20\x2d\x38\x2e\x31\x38\x39\x38\
+\x2c\x39\x2e\x31\x38\x31\x35\x20\x2d\x31\x31\x2e\x39\x38\x35\x33\
+\x2c\x31\x31\x2e\x37\x35\x33\x20\x2d\x39\x2e\x33\x33\x35\x34\x2c\
+\x2d\x36\x2e\x32\x34\x39\x33\x20\x2d\x32\x31\x2e\x37\x34\x33\x35\
+\x2c\x2d\x31\x32\x2e\x39\x31\x30\x32\x20\x2d\x31\x38\x2e\x32\x30\
+\x32\x38\x2c\x2d\x32\x31\x2e\x37\x39\x34\x37\x20\x2d\x30\x2e\x32\
+\x30\x31\x31\x2c\x2d\x32\x2e\x39\x38\x38\x33\x20\x31\x31\x2e\x31\
+\x37\x34\x39\x2c\x2d\x31\x39\x2e\x36\x35\x31\x38\x20\x32\x30\x2e\
+\x31\x38\x35\x2c\x2d\x31\x33\x2e\x34\x35\x37\x31\x20\x39\x2e\x32\
+\x35\x37\x36\x2c\x2d\x31\x36\x2e\x30\x34\x38\x37\x20\x31\x38\x2e\
+\x30\x32\x35\x36\x2c\x2d\x32\x35\x2e\x32\x34\x33\x37\x20\x32\x36\
+\x2e\x36\x32\x30\x31\x2c\x2d\x33\x32\x2e\x30\x30\x39\x31\x20\x33\
+\x2e\x31\x30\x31\x32\x2c\x31\x32\x2e\x38\x36\x34\x35\x20\x31\x30\
+\x2e\x34\x33\x36\x35\x2c\x32\x33\x2e\x39\x31\x32\x36\x20\x31\x39\
+\x2e\x36\x36\x35\x31\x2c\x32\x36\x2e\x34\x30\x37\x37\x20\x2d\x39\
+\x2e\x32\x36\x37\x37\x2c\x31\x31\x2e\x36\x37\x31\x20\x2d\x32\x31\
+\x2e\x37\x30\x39\x34\x2c\x31\x36\x2e\x37\x37\x38\x32\x20\x2d\x33\
+\x35\x2e\x35\x37\x35\x2c\x32\x34\x2e\x38\x35\x37\x35\x20\x6c\x20\
+\x2d\x30\x2e\x37\x30\x37\x31\x2c\x34\x2e\x32\x34\x32\x37\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\
+\x34\x39\x34\x39\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\
+\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\
+\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\
+\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\
+\x36\x2e\x33\x39\x32\x2c\x32\x32\x39\x37\x2e\x32\x32\x33\x37\x20\
+\x63\x20\x30\x2e\x31\x39\x35\x33\x2c\x35\x2e\x37\x32\x31\x37\x20\
+\x34\x2e\x36\x38\x39\x38\x2c\x37\x2e\x36\x38\x31\x35\x20\x38\x2e\
+\x34\x38\x35\x33\x2c\x31\x30\x2e\x32\x35\x33\x20\x39\x2e\x33\x33\
+\x35\x34\x2c\x2d\x36\x2e\x32\x34\x39\x33\x20\x31\x38\x2e\x39\x39\
+\x33\x35\x2c\x2d\x31\x31\x2e\x30\x33\x35\x32\x20\x31\x35\x2e\x34\
+\x35\x32\x38\x2c\x2d\x33\x32\x2e\x39\x31\x39\x37\x20\x2d\x34\x2e\
+\x34\x32\x33\x39\x2c\x2d\x31\x2e\x39\x38\x38\x33\x20\x2d\x35\x2e\
+\x39\x32\x34\x39\x2c\x2d\x33\x2e\x37\x37\x36\x38\x20\x2d\x31\x33\
+\x2e\x36\x38\x35\x2c\x2d\x32\x2e\x30\x38\x32\x31\x20\x2d\x35\x2e\
+\x37\x30\x36\x33\x2c\x2d\x38\x2e\x30\x39\x34\x36\x20\x2d\x31\x35\
+\x2e\x38\x31\x37\x39\x2c\x2d\x32\x39\x2e\x35\x33\x33\x33\x20\x2d\
+\x32\x36\x2e\x39\x35\x38\x35\x2c\x2d\x32\x39\x2e\x39\x36\x33\x36\
+\x20\x2d\x33\x2e\x31\x30\x31\x32\x2c\x31\x32\x2e\x38\x36\x34\x35\
+\x20\x2d\x39\x2e\x35\x39\x38\x31\x2c\x31\x39\x2e\x38\x36\x37\x31\
+\x20\x2d\x31\x38\x2e\x38\x32\x36\x37\x2c\x32\x32\x2e\x33\x36\x32\
+\x32\x20\x34\x2e\x35\x31\x37\x37\x2c\x31\x33\x2e\x34\x32\x31\x20\
+\x32\x30\x2e\x39\x35\x39\x34\x2c\x32\x30\x2e\x30\x32\x38\x32\x20\
+\x33\x34\x2e\x38\x32\x35\x2c\x32\x38\x2e\x31\x30\x37\x35\x20\x6c\
+\x20\x30\x2e\x37\x30\x37\x31\x2c\x34\x2e\x32\x34\x32\x37\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x30\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x63\x63\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x30\x36\x37\x39\
+\x36\x31\x31\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\
+\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\
+\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\
+\x6d\x20\x32\x37\x39\x35\x2e\x35\x2c\x32\x33\x35\x36\x2e\x32\x33\
+\x37\x32\x20\x63\x20\x2d\x31\x38\x2e\x30\x36\x31\x35\x2c\x2d\x31\
+\x31\x2e\x36\x39\x37\x20\x2d\x33\x39\x2e\x36\x31\x31\x36\x2c\x2d\
+\x32\x37\x2e\x32\x37\x34\x31\x20\x2d\x36\x37\x2c\x2d\x32\x37\x2e\
+\x38\x37\x35\x20\x2d\x31\x30\x2e\x30\x34\x32\x32\x2c\x2d\x30\x2e\
+\x32\x31\x34\x38\x20\x2d\x33\x35\x2e\x30\x35\x35\x34\x2c\x2d\x38\
+\x2e\x30\x37\x39\x35\x20\x2d\x34\x36\x2e\x35\x2c\x2d\x32\x31\x2e\
+\x37\x35\x20\x2d\x31\x31\x2e\x33\x34\x32\x33\x2c\x2d\x31\x33\x2e\
+\x35\x34\x38\x32\x20\x2d\x31\x34\x2e\x35\x31\x38\x39\x2c\x2d\x32\
+\x35\x2e\x37\x34\x31\x38\x20\x2d\x32\x31\x2e\x37\x34\x32\x38\x2c\
+\x2d\x33\x34\x2e\x30\x30\x36\x37\x20\x2d\x38\x2e\x33\x31\x32\x35\
+\x2c\x2d\x39\x2e\x35\x31\x30\x34\x20\x2d\x31\x34\x2e\x32\x35\x37\
+\x32\x2c\x31\x2e\x32\x35\x36\x37\x20\x2d\x31\x34\x2e\x32\x35\x37\
+\x32\x2c\x31\x2e\x32\x35\x36\x37\x20\x30\x2c\x30\x20\x31\x32\x2e\
+\x34\x31\x38\x34\x2c\x32\x38\x2e\x34\x32\x39\x37\x20\x32\x30\x2c\
+\x33\x37\x2e\x35\x20\x37\x2e\x35\x38\x31\x36\x2c\x39\x2e\x30\x37\
+\x30\x33\x20\x31\x37\x2e\x36\x32\x34\x36\x2c\x31\x36\x2e\x38\x34\
+\x37\x32\x20\x32\x38\x2e\x35\x2c\x32\x32\x2e\x35\x20\x31\x30\x2e\
+\x38\x37\x35\x34\x2c\x35\x2e\x36\x35\x32\x38\x20\x32\x39\x2e\x39\
+\x34\x38\x36\x2c\x37\x2e\x33\x38\x36\x32\x20\x34\x33\x2e\x37\x35\
+\x2c\x31\x34\x2e\x32\x35\x20\x31\x34\x2e\x31\x30\x31\x39\x2c\x37\
+\x2e\x30\x31\x33\x32\x20\x33\x31\x2e\x36\x32\x35\x2c\x32\x33\x2e\
+\x36\x32\x35\x20\x33\x31\x2e\x36\x32\x35\x2c\x32\x33\x2e\x36\x32\
+\x35\x20\x6c\x20\x32\x35\x2e\x36\x32\x35\x2c\x2d\x31\x35\x2e\x35\
+\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x32\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\
+\x63\x73\x7a\x73\x63\x7a\x7a\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\
+\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\
+\x33\x38\x2e\x32\x34\x36\x2c\x32\x31\x32\x36\x2e\x35\x38\x35\x38\
+\x20\x63\x20\x38\x2e\x38\x36\x31\x31\x2c\x2d\x31\x2e\x38\x32\x39\
+\x33\x20\x31\x35\x2e\x34\x33\x37\x37\x2c\x30\x2e\x31\x31\x32\x37\
+\x20\x32\x32\x2e\x32\x32\x35\x39\x2c\x2d\x33\x2e\x34\x38\x32\x20\
+\x36\x2e\x37\x38\x38\x32\x2c\x2d\x33\x2e\x35\x39\x34\x37\x20\x31\
+\x30\x2e\x35\x38\x33\x37\x2c\x2d\x34\x2e\x35\x38\x36\x34\x20\x31\
+\x36\x2e\x32\x36\x31\x32\x2c\x2d\x35\x2e\x31\x34\x38\x39\x20\x31\
+\x32\x2e\x39\x33\x38\x37\x2c\x2d\x31\x2e\x32\x38\x31\x38\x20\x31\
+\x33\x2e\x30\x33\x32\x2c\x37\x2e\x39\x33\x32\x35\x20\x32\x34\x2e\
+\x34\x31\x32\x37\x2c\x36\x2e\x39\x32\x30\x36\x20\x31\x31\x2e\x37\
+\x33\x31\x36\x2c\x2d\x31\x2e\x30\x34\x33\x31\x20\x38\x2e\x36\x31\
+\x30\x33\x2c\x2d\x33\x2e\x36\x32\x39\x36\x20\x31\x35\x2e\x30\x33\
+\x39\x31\x2c\x2d\x35\x2e\x33\x36\x32\x31\x20\x38\x2e\x33\x36\x39\
+\x33\x2c\x2d\x32\x2e\x32\x35\x35\x35\x20\x31\x39\x2e\x33\x38\x36\
+\x35\x2c\x2d\x32\x2e\x31\x30\x35\x35\x20\x32\x38\x2e\x37\x39\x30\
+\x37\x2c\x34\x2e\x39\x30\x34\x32\x20\x38\x2e\x36\x34\x38\x34\x2c\
+\x32\x2e\x39\x39\x35\x34\x20\x31\x37\x2e\x39\x37\x37\x2c\x31\x2e\
+\x39\x39\x34\x32\x20\x32\x38\x2e\x32\x30\x32\x32\x2c\x35\x2e\x36\
+\x33\x39\x39\x20\x6c\x20\x2d\x30\x2e\x34\x30\x30\x35\x2c\x31\x30\
+\x2e\x35\x39\x30\x32\x20\x63\x20\x2d\x31\x32\x2e\x35\x36\x31\x39\
+\x2c\x2d\x34\x2e\x30\x36\x37\x36\x20\x2d\x32\x32\x2e\x32\x38\x37\
+\x34\x2c\x2d\x35\x2e\x32\x33\x35\x33\x20\x2d\x32\x39\x2e\x32\x33\
+\x38\x38\x2c\x2d\x30\x2e\x36\x31\x31\x37\x20\x2d\x32\x33\x2e\x36\
+\x32\x34\x39\x2c\x31\x35\x2e\x37\x31\x33\x36\x20\x2d\x33\x35\x2e\
+\x39\x31\x39\x39\x2c\x2d\x30\x2e\x35\x38\x31\x31\x20\x2d\x34\x32\
+\x2e\x39\x33\x37\x37\x2c\x2d\x31\x2e\x30\x38\x34\x38\x20\x2d\x37\
+\x2e\x30\x31\x37\x38\x2c\x2d\x30\x2e\x35\x30\x33\x37\x20\x2d\x38\
+\x2e\x33\x38\x35\x34\x2c\x32\x2e\x34\x31\x37\x38\x20\x2d\x31\x34\
+\x2e\x31\x32\x39\x35\x2c\x34\x2e\x34\x33\x31\x20\x2d\x37\x2e\x37\
+\x39\x38\x34\x2c\x32\x2e\x37\x33\x33\x33\x20\x2d\x31\x37\x2e\x30\
+\x37\x33\x38\x2c\x34\x2e\x37\x35\x31\x20\x2d\x32\x35\x2e\x30\x31\
+\x33\x31\x2c\x2d\x32\x2e\x36\x36\x34\x35\x20\x2d\x37\x2e\x31\x37\
+\x34\x32\x2c\x2d\x33\x2e\x39\x33\x36\x34\x20\x2d\x31\x37\x2e\x31\
+\x32\x31\x35\x2c\x2d\x35\x2e\x33\x33\x32\x20\x2d\x32\x34\x2e\x33\
+\x31\x39\x38\x2c\x2d\x32\x2e\x34\x38\x31\x31\x20\x6c\x20\x31\x2e\
+\x31\x30\x37\x36\x2c\x2d\x31\x31\x2e\x36\x35\x30\x38\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x34\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x7a\x73\
+\x7a\x73\x63\x63\x63\x73\x7a\x73\x63\x63\x63\x22\x20\x2f\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x32\x35\x34\x30\x2e\x34\x38\x32\x32\x2c\x32\x32\x32\x33\x2e\
+\x34\x30\x39\x37\x20\x63\x20\x2d\x33\x2e\x37\x39\x33\x36\x2c\x31\
+\x31\x2e\x32\x38\x36\x39\x20\x2d\x37\x2e\x34\x31\x33\x2c\x31\x35\
+\x2e\x34\x30\x35\x35\x20\x2d\x31\x32\x2e\x36\x34\x38\x33\x2c\x31\
+\x36\x2e\x36\x38\x38\x34\x20\x2d\x35\x2e\x32\x33\x35\x33\x2c\x31\
+\x2e\x32\x38\x33\x20\x2d\x31\x31\x2e\x31\x37\x37\x35\x2c\x2d\x30\
+\x2e\x38\x31\x39\x20\x2d\x31\x36\x2e\x37\x31\x38\x37\x2c\x2d\x34\
+\x2e\x32\x38\x31\x32\x20\x2d\x34\x2e\x30\x38\x38\x2c\x2d\x32\x2e\
+\x31\x33\x39\x35\x20\x2d\x35\x2e\x31\x39\x36\x39\x2c\x2d\x31\x2e\
+\x36\x37\x32\x33\x20\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x37\x38\x31\
+\x32\x20\x35\x2e\x39\x32\x32\x37\x2c\x33\x2e\x37\x30\x30\x36\x20\
+\x31\x32\x2e\x36\x38\x31\x32\x2c\x36\x2e\x32\x39\x37\x33\x20\x31\
+\x39\x2e\x32\x35\x2c\x34\x2e\x36\x38\x37\x36\x20\x36\x2e\x35\x36\
+\x38\x37\x2c\x2d\x31\x2e\x36\x30\x39\x38\x20\x31\x32\x2e\x34\x31\
+\x32\x34\x2c\x2d\x37\x2e\x34\x36\x31\x33\x20\x31\x36\x2e\x34\x30\
+\x36\x32\x2c\x2d\x31\x39\x2e\x33\x34\x33\x38\x20\x32\x2e\x34\x30\
+\x38\x39\x2c\x2d\x31\x34\x2e\x31\x34\x34\x37\x20\x2d\x31\x2e\x38\
+\x36\x36\x39\x2c\x2d\x35\x2e\x37\x39\x34\x37\x20\x2d\x34\x2e\x35\
+\x33\x39\x32\x2c\x2d\x30\x2e\x35\x33\x32\x32\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x31\x38\x36\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x73\x63\x63\x73\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\
+\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\
+\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x30\x2e\x30\x35\x32\
+\x36\x2c\x32\x32\x30\x32\x2e\x33\x38\x33\x37\x20\x63\x20\x2d\x36\
+\x2e\x32\x38\x32\x32\x2c\x2d\x31\x2e\x31\x39\x34\x35\x20\x2d\x38\
+\x2e\x30\x30\x36\x35\x2c\x2d\x30\x2e\x34\x31\x38\x31\x20\x2d\x31\
+\x35\x2e\x32\x30\x38\x38\x2c\x31\x2e\x31\x34\x37\x35\x20\x6c\x20\
+\x31\x2e\x33\x37\x35\x2c\x34\x2e\x32\x35\x20\x63\x20\x36\x2e\x37\
+\x32\x39\x34\x2c\x2d\x31\x2e\x37\x30\x30\x31\x20\x38\x2e\x30\x32\
+\x30\x34\x2c\x2d\x32\x2e\x35\x35\x32\x35\x20\x31\x33\x2e\x38\x33\
+\x33\x38\x2c\x2d\x35\x2e\x33\x39\x37\x35\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\
+\x61\x74\x68\x34\x31\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\
+\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\
+\x31\x39\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x37\x32\x2e\x35\x39\x37\x36\
+\x2c\x32\x32\x30\x32\x2e\x33\x34\x30\x36\x20\x63\x20\x30\x2e\x38\
+\x37\x36\x39\x2c\x36\x2e\x33\x33\x34\x34\x20\x32\x2e\x39\x35\x39\
+\x34\x2c\x36\x2e\x36\x35\x39\x32\x20\x36\x2e\x37\x34\x35\x37\x2c\
+\x31\x32\x2e\x39\x38\x32\x38\x20\x6c\x20\x33\x2e\x35\x38\x37\x32\
+\x2c\x2d\x32\x2e\x36\x36\x31\x37\x20\x63\x20\x2d\x33\x2e\x37\x36\
+\x32\x35\x2c\x2d\x35\x2e\x38\x33\x32\x35\x20\x2d\x35\x2e\x37\x37\
+\x38\x35\x2c\x2d\x35\x2e\x37\x32\x32\x35\x20\x2d\x31\x30\x2e\x33\
+\x33\x32\x39\x2c\x2d\x31\x30\x2e\x33\x32\x31\x31\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\
+\x33\x33\x34\x39\x35\x31\x34\x38\x3b\x66\x69\x6c\x6c\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\
+\x3d\x22\x6d\x20\x32\x35\x33\x37\x2e\x30\x39\x39\x32\x2c\x32\x32\
+\x33\x36\x2e\x34\x31\x32\x34\x20\x38\x2e\x31\x33\x31\x37\x2c\x2d\
+\x31\x36\x2e\x30\x38\x36\x37\x20\x63\x20\x35\x2e\x36\x38\x32\x31\
+\x2c\x31\x30\x2e\x31\x39\x34\x31\x20\x37\x2e\x37\x32\x30\x39\x2c\
+\x32\x38\x2e\x35\x39\x34\x35\x20\x39\x2e\x31\x39\x32\x33\x2c\x34\
+\x38\x2e\x36\x31\x33\x37\x20\x6c\x20\x2d\x37\x2e\x30\x37\x31\x2c\
+\x31\x2e\x39\x34\x34\x35\x20\x2d\x31\x30\x2e\x32\x35\x33\x2c\x2d\
+\x33\x34\x2e\x34\x37\x31\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x31\x39\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\
+\x39\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x32\x36\x34\x33\x2e\x36\x39\x35\x35\x2c\
+\x32\x32\x32\x36\x2e\x38\x36\x36\x34\x20\x2d\x32\x2e\x32\x39\x38\
+\x32\x2c\x2d\x39\x2e\x31\x39\x32\x34\x20\x63\x20\x2d\x31\x32\x2e\
+\x32\x32\x32\x38\x2c\x38\x2e\x34\x32\x36\x33\x20\x2d\x32\x35\x2e\
+\x33\x39\x38\x36\x2c\x33\x33\x2e\x37\x32\x31\x31\x20\x2d\x32\x36\
+\x2e\x38\x37\x2c\x35\x33\x2e\x37\x34\x30\x33\x20\x6c\x20\x34\x2e\
+\x32\x34\x32\x36\x2c\x31\x2e\x35\x39\x30\x39\x20\x32\x34\x2e\x39\
+\x32\x35\x36\x2c\x2d\x34\x36\x2e\x31\x33\x38\x38\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x33\x33\
+\x34\x39\x35\x31\x34\x38\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\
+\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\
+\x2e\x33\x34\x39\x35\x31\x34\x35\x39\x3b\x66\x69\x6c\x6c\x3a\x23\
+\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x64\x3d\x22\x6d\x20\x32\x36\x35\x32\x2e\x37\x31\x31\x33\x2c\x32\
+\x32\x36\x34\x2e\x36\x39\x36\x36\x20\x63\x20\x32\x2e\x34\x30\x30\
+\x31\x2c\x32\x2e\x38\x39\x37\x34\x20\x35\x2e\x35\x31\x37\x34\x2c\
+\x36\x2e\x38\x33\x30\x32\x20\x38\x2e\x38\x33\x38\x38\x2c\x37\x2e\
+\x34\x32\x34\x36\x20\x2d\x39\x2e\x37\x38\x31\x37\x2c\x31\x31\x2e\
+\x30\x34\x39\x34\x20\x2d\x31\x38\x2e\x38\x35\x36\x32\x2c\x31\x33\
+\x2e\x31\x32\x36\x37\x20\x2d\x32\x38\x2e\x36\x33\x37\x38\x2c\x31\
+\x39\x2e\x30\x39\x31\x39\x20\x6c\x20\x2d\x36\x2e\x30\x31\x30\x34\
+\x2c\x2d\x36\x2e\x37\x31\x37\x36\x20\x63\x20\x39\x2e\x35\x33\x31\
+\x36\x2c\x2d\x35\x2e\x39\x38\x30\x36\x20\x31\x39\x2e\x30\x34\x30\
+\x36\x2c\x2d\x31\x31\x2e\x39\x37\x36\x33\x20\x32\x35\x2e\x38\x30\
+\x39\x34\x2c\x2d\x31\x39\x2e\x37\x39\x38\x39\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x31\x39\x36\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\
+\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\
+\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x34\x31\x39\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x31\x39\x2e\x36\
+\x38\x36\x38\x2c\x32\x32\x35\x32\x2e\x38\x35\x32\x35\x20\x63\x20\
+\x31\x2e\x33\x33\x39\x34\x2c\x2d\x32\x2e\x38\x34\x37\x38\x20\x31\
+\x2e\x37\x31\x36\x37\x2c\x2d\x33\x2e\x39\x35\x33\x32\x20\x32\x2e\
+\x31\x32\x31\x33\x2c\x2d\x36\x2e\x37\x31\x37\x35\x20\x37\x2e\x30\
+\x36\x36\x33\x2c\x33\x2e\x36\x33\x39\x20\x31\x34\x2e\x31\x36\x39\
+\x37\x2c\x31\x34\x2e\x34\x37\x30\x33\x20\x32\x32\x2e\x38\x39\x32\
+\x36\x2c\x32\x38\x2e\x39\x39\x31\x34\x20\x6c\x20\x2d\x33\x2e\x37\
+\x31\x32\x33\x2c\x36\x2e\x38\x30\x35\x38\x20\x63\x20\x2d\x36\x2e\
+\x32\x30\x31\x35\x2c\x2d\x31\x34\x2e\x39\x39\x36\x32\x20\x2d\x31\
+\x39\x2e\x32\x33\x31\x36\x2c\x2d\x32\x34\x2e\x30\x38\x35\x35\x20\
+\x2d\x32\x31\x2e\x33\x30\x31\x36\x2c\x2d\x32\x39\x2e\x30\x37\x39\
+\x37\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x30\x2e\x33\x34\x39\x35\x31\x34\x35\x39\x3b\x66\x69\x6c\x6c\
+\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\
+\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x30\x2e\x31\x32\x31\x33\x35\x39\x31\x39\x3b\x66\
+\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x34\x33\x2e\x33\
+\x37\x34\x39\x2c\x32\x32\x38\x30\x2e\x39\x36\x20\x63\x20\x31\x2e\
+\x33\x33\x39\x34\x2c\x2d\x32\x2e\x38\x34\x37\x38\x20\x31\x2e\x38\
+\x30\x35\x31\x2c\x2d\x32\x2e\x39\x38\x30\x39\x20\x32\x2e\x32\x30\
+\x39\x37\x2c\x2d\x35\x2e\x37\x34\x35\x32\x20\x34\x2e\x39\x34\x35\
+\x2c\x2d\x30\x2e\x37\x38\x30\x34\x20\x35\x2e\x39\x35\x37\x31\x2c\
+\x2d\x30\x2e\x37\x36\x32\x39\x20\x31\x30\x2e\x30\x34\x32\x33\x2c\
+\x30\x2e\x30\x33\x34\x20\x6c\x20\x32\x2e\x33\x33\x32\x31\x2c\x34\
+\x2e\x39\x31\x35\x36\x20\x63\x20\x2d\x34\x2e\x30\x38\x30\x31\x2c\
+\x2d\x30\x2e\x36\x37\x37\x32\x20\x2d\x31\x30\x2e\x32\x31\x36\x2c\
+\x2d\x30\x2e\x31\x33\x32\x32\x20\x2d\x31\x34\x2e\x35\x38\x34\x31\
+\x2c\x30\x2e\x37\x39\x35\x36\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x32\x30\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x31\
+\x32\x31\x33\x35\x39\x31\x39\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\
+\x66\x66\x66\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\
+\x22\x6d\x20\x32\x36\x31\x37\x2e\x34\x38\x38\x37\x2c\x32\x32\x37\
+\x36\x2e\x39\x35\x36\x20\x63\x20\x31\x2e\x32\x38\x37\x2c\x2d\x30\
+\x2e\x31\x33\x35\x32\x20\x32\x2e\x39\x38\x35\x31\x2c\x31\x2e\x30\
+\x36\x30\x38\x20\x34\x2e\x35\x30\x37\x35\x2c\x32\x2e\x35\x37\x33\
+\x33\x20\x2d\x36\x2e\x32\x37\x34\x35\x2c\x30\x2e\x34\x34\x35\x39\
+\x20\x2d\x31\x32\x2e\x30\x35\x31\x2c\x35\x2e\x38\x36\x30\x36\x20\
+\x2d\x31\x35\x2e\x33\x38\x30\x32\x2c\x31\x33\x2e\x36\x31\x30\x39\
+\x20\x2d\x32\x2e\x37\x36\x32\x2c\x30\x2e\x38\x30\x35\x33\x20\x2d\
+\x33\x2e\x36\x32\x39\x33\x2c\x2d\x30\x2e\x34\x31\x39\x34\x20\x2d\
+\x33\x2e\x30\x39\x33\x32\x2c\x2d\x33\x2e\x31\x34\x37\x38\x20\x33\
+\x2e\x37\x30\x32\x31\x2c\x2d\x37\x2e\x32\x36\x33\x20\x37\x2e\x39\
+\x31\x33\x33\x2c\x2d\x31\x32\x2e\x35\x39\x30\x31\x20\x31\x33\x2e\
+\x39\x36\x35\x39\x2c\x2d\x31\x33\x2e\x30\x33\x36\x34\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x32\x30\x32\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\
+\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\
+\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x35\x32\x2e\x37\x30\x36\
+\x35\x2c\x32\x32\x33\x30\x2e\x30\x38\x34\x36\x20\x63\x20\x2d\x34\
+\x2e\x36\x31\x35\x32\x2c\x34\x2e\x34\x32\x36\x35\x20\x2d\x33\x2e\
+\x36\x35\x36\x34\x2c\x36\x2e\x33\x30\x33\x35\x20\x2d\x36\x2e\x35\
+\x35\x35\x39\x2c\x31\x33\x2e\x30\x37\x39\x37\x20\x6c\x20\x34\x2e\
+\x32\x36\x2c\x31\x2e\x33\x34\x33\x33\x20\x63\x20\x32\x2e\x35\x31\
+\x35\x38\x2c\x2d\x36\x2e\x34\x36\x38\x38\x20\x31\x2e\x32\x34\x33\
+\x39\x2c\x2d\x38\x2e\x30\x33\x36\x38\x20\x32\x2e\x32\x39\x35\x39\
+\x2c\x2d\x31\x34\x2e\x34\x32\x33\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x32\x30\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\
+\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x30\
+\x36\x37\x39\x36\x31\x31\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x64\x3d\x22\x6d\x20\x32\x37\x32\x37\x2e\x35\x33\x30\x33\x2c\x32\
+\x33\x39\x32\x2e\x38\x33\x34\x35\x20\x63\x20\x31\x2e\x39\x36\x33\
+\x2c\x2d\x30\x2e\x38\x31\x37\x39\x20\x2d\x32\x38\x2e\x36\x39\x37\
+\x37\x2c\x2d\x32\x36\x2e\x31\x36\x37\x38\x20\x2d\x35\x31\x2e\x32\
+\x32\x31\x38\x2c\x2d\x33\x39\x2e\x33\x31\x35\x34\x20\x2d\x32\x32\
+\x2e\x35\x32\x34\x31\x2c\x2d\x31\x33\x2e\x31\x34\x37\x37\x20\x2d\
+\x34\x30\x2e\x38\x30\x38\x35\x2c\x2d\x36\x39\x2e\x36\x35\x36\x39\
+\x20\x2d\x34\x30\x2e\x38\x30\x38\x35\x2c\x2d\x36\x39\x2e\x36\x35\
+\x36\x39\x20\x6c\x20\x2d\x34\x2c\x39\x20\x63\x20\x31\x34\x2e\x32\
+\x33\x36\x31\x2c\x33\x34\x2e\x32\x34\x33\x39\x20\x31\x37\x2e\x39\
+\x34\x31\x31\x2c\x35\x33\x2e\x31\x33\x36\x20\x32\x37\x2e\x38\x37\
+\x35\x2c\x36\x33\x2e\x32\x35\x20\x39\x2e\x37\x35\x35\x36\x2c\x39\
+\x2e\x39\x33\x32\x35\x20\x33\x30\x2e\x31\x38\x34\x31\x2c\x32\x32\
+\x2e\x31\x34\x35\x33\x20\x33\x37\x2e\x31\x33\x34\x35\x2c\x33\x36\
+\x2e\x37\x31\x39\x37\x20\x6c\x20\x33\x31\x2e\x30\x32\x30\x38\x2c\
+\x30\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x30\x36\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x31\x30\x36\x37\x39\
+\x36\x31\x34\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x32\x35\x39\x36\x2e\x35\x2c\x32\x34\x31\x39\x2e\x31\x31\x32\
+\x32\x20\x63\x20\x2d\x32\x2e\x35\x31\x33\x35\x2c\x31\x2e\x36\x35\
+\x36\x39\x20\x2d\x31\x37\x2e\x37\x31\x33\x35\x2c\x2d\x31\x33\x2e\
+\x35\x32\x33\x31\x20\x2d\x31\x38\x2e\x30\x38\x30\x36\x2c\x2d\x32\
+\x39\x2e\x38\x35\x33\x20\x2d\x30\x2e\x35\x30\x33\x2c\x2d\x32\x32\
+\x2e\x33\x37\x38\x35\x20\x2d\x31\x38\x2e\x31\x35\x35\x2c\x2d\x32\
+\x39\x2e\x35\x34\x37\x38\x20\x2d\x32\x33\x2e\x33\x34\x37\x37\x2c\
+\x2d\x32\x39\x2e\x31\x31\x34\x35\x20\x6c\x20\x2d\x36\x2e\x35\x37\
+\x31\x37\x2c\x31\x30\x2e\x32\x31\x37\x35\x20\x63\x20\x34\x2e\x31\
+\x37\x31\x37\x2c\x36\x2e\x38\x31\x39\x33\x20\x39\x2e\x39\x36\x38\
+\x32\x2c\x31\x34\x2e\x35\x30\x30\x33\x20\x31\x32\x2e\x33\x37\x35\
+\x2c\x33\x32\x2e\x33\x37\x35\x20\x32\x2e\x34\x30\x36\x38\x2c\x31\
+\x37\x2e\x38\x37\x34\x37\x20\x31\x33\x2e\x36\x38\x37\x35\x2c\x32\
+\x38\x2e\x35\x39\x37\x32\x20\x31\x39\x2c\x33\x35\x2e\x38\x37\x35\
+\x20\x32\x2e\x39\x37\x38\x2c\x2d\x38\x2e\x30\x39\x31\x38\x20\x31\
+\x31\x2e\x38\x30\x38\x33\x2c\x2d\x31\x34\x2e\x38\x30\x35\x35\x20\
+\x31\x36\x2e\x36\x32\x35\x2c\x2d\x31\x39\x2e\x35\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x30\x38\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x73\x63\x63\
+\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x66\x37\x66\x37\x66\x37\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x31\x30\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x63\x78\x3d\x22\x32\x35\x37\x37\x2e\
+\x38\x37\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\x32\
+\x31\x33\x31\x2e\x33\x36\x32\x33\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x72\x78\x3d\x22\x39\x2e\x31\x32\x35\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x72\x79\x3d\x22\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2c\x32\
+\x31\x33\x31\x2e\x33\x36\x32\x33\x20\x63\x20\x30\x2c\x32\x2e\x32\
+\x30\x39\x31\x20\x2d\x34\x2e\x30\x38\x35\x34\x2c\x34\x20\x2d\x39\
+\x2e\x31\x32\x35\x2c\x34\x20\x2d\x35\x2e\x30\x33\x39\x36\x2c\x30\
+\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x31\x2e\x37\x39\x30\x39\x20\
+\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x34\x20\x30\x2c\x2d\x32\x2e\x32\
+\x30\x39\x31\x20\x34\x2e\x30\x38\x35\x34\x2c\x2d\x34\x20\x39\x2e\
+\x31\x32\x35\x2c\x2d\x34\x20\x35\x2e\x30\x33\x39\x36\x2c\x30\x20\
+\x39\x2e\x31\x32\x35\x2c\x31\x2e\x37\x39\x30\x39\x20\x39\x2e\x31\
+\x32\x35\x2c\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\
+\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x33\x32\x38\x37\x36\x37\x31\
+\x2c\x30\x2c\x30\x2c\x31\x2e\x33\x32\x38\x37\x36\x37\x31\x2c\x2d\
+\x38\x34\x39\x2e\x30\x32\x30\x35\x35\x2c\x2d\x37\x30\x30\x2e\x34\
+\x37\x31\x38\x36\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\
+\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x33\x32\x38\x37\x36\
+\x37\x31\x2c\x30\x2c\x30\x2c\x31\x2e\x33\x32\x38\x37\x36\x37\x31\
+\x2c\x2d\x38\x30\x30\x2e\x37\x37\x30\x35\x35\x2c\x2d\x36\x39\x39\
+\x2e\x39\x37\x31\x38\x36\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2c\
+\x32\x31\x33\x31\x2e\x33\x36\x32\x33\x20\x63\x20\x30\x2c\x32\x2e\
+\x32\x30\x39\x31\x20\x2d\x34\x2e\x30\x38\x35\x34\x2c\x34\x20\x2d\
+\x39\x2e\x31\x32\x35\x2c\x34\x20\x2d\x35\x2e\x30\x33\x39\x36\x2c\
+\x30\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x31\x2e\x37\x39\x30\x39\
+\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x34\x20\x30\x2c\x2d\x32\x2e\
+\x32\x30\x39\x31\x20\x34\x2e\x30\x38\x35\x34\x2c\x2d\x34\x20\x39\
+\x2e\x31\x32\x35\x2c\x2d\x34\x20\x35\x2e\x30\x33\x39\x36\x2c\x30\
+\x20\x39\x2e\x31\x32\x35\x2c\x31\x2e\x37\x39\x30\x39\x20\x39\x2e\
+\x31\x32\x35\x2c\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\
+\x79\x3d\x22\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\
+\x39\x2e\x31\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\
+\x22\x32\x31\x33\x31\x2e\x33\x36\x32\x33\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x63\x78\x3d\x22\x32\x35\x37\x37\x2e\x38\x37\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x31\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x66\x37\x66\x37\x66\x37\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x61\x72\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\
+\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\x73\x74\
+\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x32\x3b\x6d\x61\x72\x6b\x65\x72\x3a\
+\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\
+\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\
+\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\
+\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x37\x33\x2e\x32\x30\x30\
+\x39\x2c\x32\x32\x32\x34\x2e\x31\x38\x39\x37\x20\x63\x20\x2d\x36\
+\x2e\x31\x35\x34\x35\x2c\x30\x2e\x32\x32\x36\x39\x20\x2d\x31\x31\
+\x2e\x32\x39\x36\x31\x2c\x35\x2e\x30\x38\x37\x36\x20\x2d\x31\x31\
+\x2e\x37\x30\x33\x37\x2c\x31\x31\x2e\x33\x36\x31\x34\x20\x2d\x30\
+\x2e\x34\x33\x34\x37\x2c\x36\x2e\x36\x39\x32\x32\x20\x34\x2e\x36\
+\x36\x39\x34\x2c\x31\x32\x2e\x35\x30\x30\x38\x20\x31\x31\x2e\x33\
+\x36\x31\x34\x2c\x31\x32\x2e\x39\x33\x35\x37\x20\x36\x2e\x36\x39\
+\x32\x31\x2c\x30\x2e\x34\x33\x34\x37\x20\x31\x32\x2e\x35\x32\x33\
+\x36\x2c\x2d\x34\x2e\x36\x36\x39\x34\x20\x31\x32\x2e\x39\x35\x38\
+\x36\x2c\x2d\x31\x31\x2e\x33\x36\x31\x34\x20\x30\x2e\x34\x33\x34\
+\x39\x2c\x2d\x36\x2e\x36\x39\x32\x34\x20\x2d\x34\x2e\x36\x36\x39\
+\x35\x2c\x2d\x31\x32\x2e\x35\x30\x30\x39\x20\x2d\x31\x31\x2e\x33\
+\x36\x31\x36\x2c\x2d\x31\x32\x2e\x39\x33\x35\x37\x20\x2d\x30\x2e\
+\x34\x31\x38\x32\x2c\x2d\x30\x2e\x30\x32\x37\x20\x2d\x30\x2e\x38\
+\x34\x34\x34\x2c\x2d\x30\x2e\x30\x31\x35\x20\x2d\x31\x2e\x32\x35\
+\x34\x37\x2c\x30\x20\x7a\x20\x6d\x20\x30\x2e\x32\x30\x35\x32\x2c\
+\x35\x2e\x38\x31\x37\x36\x20\x63\x20\x30\x2e\x32\x31\x35\x32\x2c\
+\x2d\x30\x2e\x30\x31\x20\x30\x2e\x34\x34\x32\x31\x2c\x2d\x30\x2e\
+\x30\x31\x34\x20\x30\x2e\x36\x36\x31\x36\x2c\x30\x20\x33\x2e\x35\
+\x31\x34\x37\x2c\x30\x2e\x32\x32\x38\x33\x20\x36\x2e\x31\x36\x30\
+\x32\x2c\x33\x2e\x32\x33\x38\x33\x20\x35\x2e\x39\x33\x31\x37\x2c\
+\x36\x2e\x37\x35\x33\x20\x2d\x30\x2e\x32\x32\x38\x34\x2c\x33\x2e\
+\x35\x31\x34\x35\x20\x2d\x33\x2e\x32\x33\x38\x33\x2c\x36\x2e\x31\
+\x35\x39\x39\x20\x2d\x36\x2e\x37\x35\x33\x2c\x35\x2e\x39\x33\x31\
+\x38\x20\x2d\x33\x2e\x35\x31\x34\x35\x2c\x2d\x30\x2e\x32\x32\x38\
+\x36\x20\x2d\x36\x2e\x31\x36\x2c\x2d\x33\x2e\x32\x33\x38\x35\x20\
+\x2d\x35\x2e\x39\x33\x31\x36\x2c\x2d\x36\x2e\x37\x35\x33\x31\x20\
+\x30\x2e\x32\x31\x34\x2c\x2d\x33\x2e\x32\x39\x35\x31\x20\x32\x2e\
+\x38\x36\x34\x32\x2c\x2d\x35\x2e\x38\x31\x36\x39\x20\x36\x2e\x30\
+\x39\x31\x33\x2c\x2d\x35\x2e\x39\x33\x31\x37\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x32\x31\x34\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x66\x69\x6c\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\
+\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\
+\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x32\x3b\x6d\x61\x72\x6b\x65\x72\
+\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\
+\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\
+\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\
+\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x39\x37\x2e\x30\x36\
+\x34\x32\x2c\x32\x32\x32\x36\x2e\x30\x34\x33\x38\x20\x63\x20\x2d\
+\x33\x2e\x36\x35\x32\x2c\x2d\x30\x2e\x34\x36\x37\x39\x20\x2d\x37\
+\x2e\x30\x31\x34\x35\x2c\x31\x2e\x39\x39\x35\x36\x20\x2d\x37\x2e\
+\x37\x35\x39\x35\x2c\x35\x2e\x35\x34\x33\x34\x20\x2d\x33\x65\x2d\
+\x34\x2c\x30\x20\x2d\x34\x65\x2d\x34\x2c\x30\x20\x2d\x39\x65\x2d\
+\x34\x2c\x30\x2e\x30\x31\x20\x2d\x30\x2e\x30\x34\x38\x2c\x30\x2e\
+\x31\x31\x38\x31\x20\x2d\x30\x2e\x30\x38\x2c\x30\x2e\x32\x34\x32\
+\x33\x20\x2d\x30\x2e\x30\x39\x34\x2c\x30\x2e\x33\x36\x39\x20\x6c\
+\x20\x2d\x31\x2e\x38\x33\x34\x37\x2c\x31\x34\x2e\x33\x31\x38\x31\
+\x20\x63\x20\x2d\x30\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\x34\x31\
+\x20\x30\x2e\x34\x34\x39\x31\x2c\x31\x2e\x34\x38\x31\x35\x20\x31\
+\x2e\x32\x32\x33\x2c\x31\x2e\x35\x38\x32\x32\x20\x6c\x20\x32\x2e\
+\x35\x37\x39\x31\x2c\x30\x2e\x33\x33\x30\x35\x20\x63\x20\x30\x2e\
+\x37\x37\x34\x2c\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\x31\x35\
+\x2c\x2d\x30\x2e\x34\x34\x39\x31\x20\x31\x2e\x35\x38\x32\x2c\x2d\
+\x31\x2e\x32\x32\x32\x38\x20\x6c\x20\x31\x2e\x38\x30\x34\x34\x2c\
+\x2d\x31\x34\x2e\x30\x38\x31\x38\x20\x63\x20\x30\x2e\x30\x31\x35\
+\x2c\x2d\x30\x2e\x30\x35\x32\x20\x30\x2e\x30\x32\x37\x2c\x2d\x30\
+\x2e\x31\x30\x34\x32\x20\x30\x2e\x30\x33\x36\x2c\x2d\x30\x2e\x31\
+\x35\x37\x33\x20\x30\x2e\x31\x35\x35\x34\x2c\x2d\x30\x2e\x38\x33\
+\x39\x32\x20\x30\x2e\x39\x31\x32\x39\x2c\x2d\x31\x2e\x34\x30\x37\
+\x38\x20\x31\x2e\x37\x37\x34\x35\x2c\x2d\x31\x2e\x32\x39\x37\x33\
+\x20\x30\x2e\x38\x36\x31\x36\x2c\x30\x2e\x31\x31\x30\x34\x20\x31\
+\x2e\x34\x35\x31\x31\x2c\x30\x2e\x38\x35\x31\x36\x20\x31\x2e\x33\
+\x39\x30\x32\x2c\x31\x2e\x37\x30\x32\x38\x20\x30\x2c\x30\x2e\x30\
+\x33\x31\x20\x30\x2c\x30\x2e\x30\x36\x32\x20\x30\x2c\x30\x2e\x30\
+\x39\x34\x20\x6c\x20\x2d\x30\x2e\x35\x34\x39\x2c\x34\x2e\x32\x38\
+\x34\x37\x20\x63\x20\x2d\x30\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\
+\x34\x31\x20\x30\x2e\x34\x34\x39\x2c\x31\x2e\x34\x38\x31\x35\x20\
+\x31\x2e\x32\x32\x32\x39\x2c\x31\x2e\x35\x38\x32\x31\x20\x6c\x20\
+\x32\x2e\x35\x37\x39\x31\x2c\x30\x2e\x33\x33\x30\x34\x20\x63\x20\
+\x30\x2e\x37\x37\x34\x2c\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\
+\x31\x35\x2c\x2d\x30\x2e\x34\x34\x39\x20\x31\x2e\x35\x38\x32\x32\
+\x2c\x2d\x31\x2e\x32\x32\x32\x36\x20\x6c\x20\x30\x2e\x35\x34\x30\
+\x33\x2c\x2d\x34\x2e\x32\x31\x37\x39\x20\x63\x20\x30\x2e\x30\x31\
+\x35\x2c\x2d\x30\x2e\x30\x35\x32\x20\x30\x2e\x30\x32\x37\x2c\x2d\
+\x30\x2e\x31\x30\x34\x34\x20\x30\x2e\x30\x33\x36\x2c\x2d\x30\x2e\
+\x31\x35\x37\x33\x20\x30\x2e\x31\x35\x35\x38\x2c\x2d\x30\x2e\x38\
+\x34\x31\x39\x20\x30\x2e\x39\x30\x37\x37\x2c\x2d\x31\x2e\x34\x30\
+\x38\x35\x20\x31\x2e\x37\x36\x39\x34\x2c\x2d\x31\x2e\x32\x39\x38\
+\x31\x20\x30\x2e\x38\x36\x31\x35\x2c\x30\x2e\x31\x31\x30\x34\x20\
+\x31\x2e\x34\x35\x31\x31\x2c\x30\x2e\x38\x35\x31\x35\x20\x31\x2e\
+\x33\x39\x30\x32\x2c\x31\x2e\x37\x30\x32\x39\x20\x30\x2c\x30\x2e\
+\x30\x35\x36\x20\x30\x2c\x30\x2e\x31\x31\x31\x35\x20\x2d\x36\x65\
+\x2d\x34\x2c\x30\x2e\x31\x36\x36\x39\x20\x6c\x20\x2d\x31\x2e\x38\
+\x30\x33\x36\x2c\x31\x34\x2e\x30\x37\x36\x38\x20\x63\x20\x2d\x30\
+\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\x34\x31\x20\x30\x2e\x34\x34\
+\x39\x2c\x31\x2e\x34\x38\x31\x35\x20\x31\x2e\x32\x32\x32\x38\x2c\
+\x31\x2e\x35\x38\x32\x32\x20\x6c\x20\x32\x2e\x35\x37\x33\x37\x2c\
+\x30\x2e\x33\x32\x39\x38\x20\x63\x20\x30\x2e\x37\x37\x34\x33\x2c\
+\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\x31\x37\x2c\x2d\x30\x2e\
+\x34\x34\x39\x20\x31\x2e\x35\x38\x32\x33\x2c\x2d\x31\x2e\x32\x32\
+\x33\x20\x6c\x20\x31\x2e\x38\x33\x34\x36\x2c\x2d\x31\x34\x2e\x33\
+\x31\x38\x20\x63\x20\x30\x2e\x30\x31\x34\x2c\x2d\x30\x2e\x31\x31\
+\x38\x20\x30\x2e\x30\x31\x34\x2c\x2d\x30\x2e\x32\x33\x37\x34\x20\
+\x30\x2c\x2d\x30\x2e\x33\x35\x35\x32\x20\x30\x2e\x31\x39\x30\x32\
+\x2c\x2d\x33\x2e\x36\x33\x33\x35\x20\x2d\x32\x2e\x34\x34\x35\x31\
+\x2c\x2d\x36\x2e\x38\x38\x32\x32\x20\x2d\x36\x2e\x31\x30\x37\x36\
+\x2c\x2d\x37\x2e\x33\x35\x31\x37\x20\x2d\x31\x2e\x36\x30\x39\x37\
+\x2c\x2d\x30\x2e\x32\x30\x36\x31\x20\x2d\x33\x2e\x31\x37\x30\x37\
+\x2c\x30\x2e\x31\x34\x39\x34\x20\x2d\x34\x2e\x34\x37\x32\x39\x2c\
+\x30\x2e\x39\x32\x30\x35\x20\x2d\x31\x2e\x30\x36\x35\x36\x2c\x2d\
+\x31\x2e\x30\x37\x33\x39\x20\x2d\x32\x2e\x34\x38\x36\x36\x2c\x2d\
+\x31\x2e\x38\x31\x32\x32\x20\x2d\x34\x2e\x30\x39\x36\x34\x2c\x2d\
+\x32\x2e\x30\x31\x38\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\
+\x32\x31\x36\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\
+\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\
+\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x36\x34\x2e\x31\x32\x36\x35\
+\x2c\x32\x32\x35\x31\x2e\x32\x37\x35\x32\x20\x63\x20\x30\x2c\x30\
+\x20\x31\x31\x2e\x34\x31\x33\x39\x2c\x2d\x30\x2e\x34\x31\x39\x39\
+\x20\x32\x32\x2e\x35\x36\x34\x2c\x30\x2e\x31\x36\x36\x32\x20\x31\
+\x31\x2e\x32\x32\x33\x31\x2c\x30\x2e\x35\x38\x39\x39\x20\x32\x32\
+\x2e\x38\x35\x36\x39\x2c\x33\x2e\x33\x38\x39\x31\x20\x32\x32\x2e\
+\x38\x35\x36\x39\x2c\x33\x2e\x33\x38\x39\x31\x20\x6c\x20\x2d\x30\
+\x2e\x31\x36\x34\x32\x2c\x33\x2e\x37\x39\x30\x39\x20\x63\x20\x30\
+\x2c\x30\x20\x2d\x31\x32\x2e\x30\x38\x38\x34\x2c\x2d\x32\x2e\x34\
+\x38\x39\x36\x20\x2d\x32\x32\x2e\x38\x35\x37\x2c\x2d\x33\x2e\x33\
+\x38\x39\x31\x20\x2d\x31\x30\x2e\x36\x39\x35\x38\x2c\x2d\x30\x2e\
+\x38\x39\x33\x35\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x20\x6c\x20\x30\x2e\x31\x36\x34\x32\x2c\x2d\x33\
+\x2e\x37\x39\x31\x31\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\
+\x31\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\
+\x70\x65\x73\x3d\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x32\x32\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x36\x34\x2e\x31\x32\x36\
+\x35\x2c\x32\x32\x31\x37\x2e\x38\x37\x34\x35\x20\x63\x20\x30\x2c\
+\x30\x20\x31\x31\x2e\x34\x31\x33\x39\x2c\x2d\x30\x2e\x34\x31\x39\
+\x39\x20\x32\x32\x2e\x35\x36\x34\x2c\x30\x2e\x31\x36\x36\x32\x20\
+\x31\x31\x2e\x32\x32\x33\x31\x2c\x30\x2e\x35\x38\x39\x38\x20\x32\
+\x37\x2e\x38\x33\x37\x37\x2c\x33\x2e\x39\x37\x35\x20\x32\x37\x2e\
+\x38\x33\x37\x37\x2c\x33\x2e\x39\x37\x35\x20\x6c\x20\x2d\x30\x2e\
+\x31\x36\x34\x32\x2c\x33\x2e\x37\x39\x30\x39\x20\x63\x20\x30\x2c\
+\x30\x20\x2d\x31\x37\x2e\x30\x36\x39\x32\x2c\x2d\x33\x2e\x30\x37\
+\x35\x35\x20\x2d\x32\x37\x2e\x38\x33\x37\x38\x2c\x2d\x33\x2e\x39\
+\x37\x35\x20\x2d\x31\x30\x2e\x36\x39\x35\x38\x2c\x2d\x30\x2e\x38\
+\x39\x33\x35\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\x2e\
+\x31\x36\x36\x31\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x31\x20\x6c\x20\x30\x2e\x31\x36\x34\x32\x2c\x2d\
+\x33\x2e\x37\x39\x31\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x30\x2e\x33\x33\x34\x39\x35\x31\x34\x38\x3b\
+\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x35\x2e\
+\x30\x30\x30\x38\x2c\x32\x34\x30\x33\x2e\x32\x32\x32\x36\x20\x63\
+\x20\x2d\x31\x2e\x37\x38\x37\x34\x2c\x31\x2e\x30\x34\x31\x20\x2d\
+\x34\x2e\x33\x32\x34\x37\x2c\x32\x2e\x30\x38\x32\x31\x20\x2d\x36\
+\x2e\x38\x31\x32\x31\x2c\x32\x2e\x34\x32\x33\x31\x20\x6c\x20\x2d\
+\x32\x2e\x37\x36\x35\x32\x2c\x34\x34\x2e\x32\x36\x38\x39\x20\x63\
+\x20\x32\x2e\x32\x32\x38\x34\x2c\x2d\x31\x2e\x38\x39\x39\x32\x20\
+\x34\x2e\x31\x33\x35\x34\x2c\x2d\x35\x2e\x30\x38\x34\x20\x35\x2e\
+\x36\x35\x36\x38\x2c\x2d\x39\x2e\x38\x31\x31\x31\x20\x6c\x20\x33\
+\x2e\x39\x32\x30\x35\x2c\x2d\x33\x36\x2e\x38\x38\x30\x39\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x32\x32\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\
+\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x32\x34\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x31\
+\x36\x2e\x32\x30\x35\x39\x2c\x32\x34\x30\x34\x2e\x38\x38\x30\x38\
+\x20\x63\x20\x32\x2e\x30\x34\x35\x36\x2c\x30\x2e\x33\x30\x36\x32\
+\x20\x34\x2e\x31\x36\x39\x33\x2c\x30\x2e\x33\x33\x35\x32\x20\x36\
+\x2e\x36\x30\x36\x35\x2c\x2d\x30\x2e\x32\x36\x37\x39\x20\x6c\x20\
+\x32\x33\x2e\x32\x37\x31\x35\x2c\x34\x34\x2e\x37\x30\x34\x31\x20\
+\x63\x20\x2d\x32\x2e\x37\x37\x32\x38\x2c\x2d\x30\x2e\x39\x34\x30\
+\x34\x20\x2d\x38\x2e\x39\x39\x32\x36\x2c\x2d\x36\x2e\x35\x35\x33\
+\x31\x20\x2d\x31\x32\x2e\x31\x35\x34\x33\x2c\x2d\x31\x30\x2e\x33\
+\x38\x32\x34\x20\x2d\x37\x2e\x30\x38\x35\x31\x2c\x2d\x31\x30\x2e\
+\x31\x38\x31\x39\x20\x2d\x31\x30\x2e\x33\x34\x31\x35\x2c\x2d\x31\
+\x37\x2e\x32\x38\x36\x33\x20\x2d\x31\x37\x2e\x37\x32\x33\x37\x2c\
+\x2d\x33\x34\x2e\x30\x35\x33\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x32\x32\x33\x33\x30\x30\
+\x39\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\
+\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x34\x30\x32\
+\x39\x31\x32\x36\x33\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\
+\x66\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\
+\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\
+\x22\x6d\x20\x32\x35\x33\x31\x2e\x38\x37\x35\x2c\x32\x31\x38\x35\
+\x2e\x37\x33\x37\x32\x20\x63\x20\x34\x2e\x34\x31\x36\x34\x2c\x2d\
+\x33\x2e\x35\x34\x37\x37\x20\x36\x2e\x39\x32\x33\x2c\x2d\x35\x2e\
+\x39\x36\x38\x39\x20\x31\x35\x2e\x37\x35\x2c\x2d\x37\x20\x39\x2e\
+\x32\x39\x36\x35\x2c\x2d\x30\x2e\x35\x34\x36\x35\x20\x31\x32\x2e\
+\x35\x31\x38\x32\x2c\x34\x2e\x39\x38\x31\x38\x20\x31\x38\x2e\x32\
+\x35\x2c\x38\x20\x2d\x31\x30\x2e\x34\x30\x32\x37\x2c\x2d\x36\x2e\
+\x34\x38\x37\x20\x2d\x32\x32\x2e\x34\x33\x33\x2c\x2d\x37\x2e\x32\
+\x30\x34\x20\x2d\x33\x34\x2c\x2d\x31\x20\x7a\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x34\x32\x32\x36\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\x2f\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\
+\x73\x3d\x22\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\
+\x32\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x32\x36\x30\x35\x2e\x37\x36\x39\x34\x2c\
+\x32\x31\x39\x38\x2e\x31\x35\x38\x38\x20\x63\x20\x32\x2e\x36\x31\
+\x34\x37\x2c\x2d\x35\x2e\x30\x32\x35\x34\x20\x31\x35\x2e\x30\x37\
+\x31\x36\x2c\x2d\x31\x35\x2e\x31\x34\x35\x31\x20\x32\x32\x2e\x37\
+\x33\x36\x38\x2c\x2d\x31\x39\x2e\x36\x34\x32\x32\x20\x38\x2e\x32\
+\x39\x2c\x2d\x34\x2e\x32\x34\x32\x35\x20\x39\x2e\x37\x35\x32\x32\
+\x2c\x2d\x31\x2e\x33\x36\x32\x37\x20\x31\x36\x2e\x32\x31\x34\x31\
+\x2c\x2d\x30\x2e\x39\x30\x37\x31\x20\x2d\x31\x32\x2e\x31\x33\x34\
+\x2c\x2d\x31\x2e\x37\x35\x30\x37\x20\x2d\x33\x30\x2e\x38\x35\x39\
+\x38\x2c\x31\x30\x2e\x32\x31\x33\x39\x20\x2d\x33\x38\x2e\x39\x35\
+\x30\x39\x2c\x32\x30\x2e\x35\x34\x39\x33\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x33\x30\x35\x38\
+\x32\x35\x32\x31\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\
+\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\
+\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\x20\x20\x3c\
+\x2f\x67\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x30\x2e\x32\x30\x38\x37\x33\x37\x38\x34\x3b\x66\
+\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\
+\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\
+\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x33\x39\x34\x2e\x34\x38\x38\x36\x38\x2c\
+\x32\x33\x33\x2e\x34\x39\x30\x39\x31\x20\x63\x20\x32\x31\x2e\x35\
+\x38\x34\x37\x35\x2c\x2d\x36\x39\x2e\x36\x35\x33\x34\x31\x20\x32\
+\x39\x2e\x38\x32\x30\x34\x35\x2c\x2d\x31\x31\x38\x2e\x34\x36\x30\
+\x31\x33\x20\x31\x38\x2e\x32\x39\x36\x38\x32\x2c\x2d\x31\x38\x30\
+\x2e\x33\x31\x30\x39\x34\x38\x20\x30\x2e\x35\x30\x35\x39\x37\x2c\
+\x2d\x31\x2e\x35\x38\x32\x37\x32\x32\x20\x37\x2e\x38\x33\x39\x38\
+\x2c\x35\x2e\x39\x39\x39\x32\x30\x38\x20\x31\x32\x2e\x31\x33\x34\
+\x36\x35\x2c\x32\x35\x2e\x32\x34\x39\x37\x37\x20\x34\x2e\x34\x35\
+\x39\x35\x37\x2c\x31\x39\x2e\x39\x38\x37\x39\x20\x36\x2e\x39\x39\
+\x36\x35\x39\x2c\x34\x32\x2e\x37\x39\x39\x31\x37\x38\x20\x33\x2e\
+\x34\x31\x37\x36\x34\x2c\x37\x31\x2e\x32\x34\x33\x32\x39\x38\x20\
+\x2d\x33\x2e\x35\x37\x38\x39\x34\x2c\x32\x38\x2e\x34\x34\x34\x31\
+\x33\x20\x2d\x31\x34\x2e\x38\x32\x31\x39\x31\x2c\x36\x35\x2e\x39\
+\x37\x30\x33\x33\x20\x2d\x32\x33\x2e\x32\x38\x34\x32\x37\x2c\x38\
+\x31\x2e\x30\x35\x30\x37\x32\x20\x2d\x36\x2e\x31\x39\x38\x37\x36\
+\x2c\x31\x31\x2e\x30\x34\x36\x34\x35\x20\x2d\x31\x30\x2e\x35\x36\
+\x34\x38\x34\x2c\x32\x2e\x37\x36\x37\x31\x36\x20\x2d\x31\x30\x2e\
+\x35\x36\x34\x38\x34\x2c\x32\x2e\x37\x36\x37\x31\x36\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x36\x30\x39\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x73\x7a\x73\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x73\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x36\x30\x39\x39\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x33\x36\x38\x2e\x37\x39\x34\
+\x35\x33\x2c\x38\x30\x31\x2e\x33\x30\x39\x34\x37\x20\x63\x20\x30\
+\x2e\x33\x31\x33\x36\x31\x2c\x2d\x38\x2e\x32\x37\x32\x38\x31\x20\
+\x31\x30\x2e\x33\x34\x30\x30\x37\x2c\x2d\x35\x2e\x32\x37\x37\x31\
+\x33\x20\x36\x2e\x39\x34\x36\x35\x36\x2c\x2d\x31\x32\x2e\x37\x33\
+\x38\x33\x33\x20\x2d\x32\x30\x2e\x34\x30\x37\x30\x37\x2c\x2d\x34\
+\x34\x2e\x38\x36\x37\x38\x35\x20\x2d\x33\x34\x2e\x35\x32\x32\x32\
+\x33\x2c\x2d\x31\x36\x34\x2e\x33\x34\x36\x35\x39\x20\x2d\x33\x39\
+\x2e\x31\x30\x33\x30\x37\x2c\x2d\x32\x30\x35\x2e\x39\x32\x37\x37\
+\x39\x20\x2d\x34\x2e\x34\x35\x39\x35\x38\x2c\x31\x39\x2e\x39\x38\
+\x37\x39\x31\x20\x2d\x39\x2e\x35\x38\x34\x31\x36\x2c\x31\x2e\x31\
+\x36\x36\x38\x36\x20\x2d\x32\x30\x2e\x36\x36\x38\x30\x38\x2c\x2d\
+\x30\x2e\x34\x35\x36\x38\x20\x32\x2e\x31\x38\x30\x31\x31\x2c\x31\
+\x31\x2e\x35\x33\x38\x31\x36\x20\x31\x38\x2e\x33\x31\x38\x32\x33\
+\x2c\x31\x37\x37\x2e\x38\x37\x33\x33\x38\x20\x35\x32\x2e\x38\x32\
+\x34\x35\x39\x2c\x32\x31\x39\x2e\x31\x32\x32\x39\x32\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x32\x30\x38\x37\x33\x37\x38\
+\x34\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\
+\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\
+\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\
+\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x12\x5a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x07\x75\
+\x49\x44\x41\x54\x78\xda\xec\x9a\x5d\x6c\x1c\x57\x15\xc7\x7f\xe7\
+\xde\x99\x5d\x7b\x1d\x27\x4d\x9a\xd8\x49\x49\x29\xa4\x34\x04\xd2\
+\x94\x22\x08\x48\x80\x0a\xa4\x90\x42\x14\x1a\x2a\x4b\x20\x51\x24\
+\x84\x40\xf4\x09\x1e\x10\xaf\xbc\x14\x95\x56\xa8\x2a\x8a\x02\xcf\
+\xbc\x80\x10\xf4\x85\xd0\x12\x95\x88\x16\x14\x81\x20\x08\x35\x0f\
+\x44\xa4\x22\x2a\xb8\x49\xdc\x24\xc4\x4e\xec\x78\xbd\x1f\x33\xf7\
+\xde\xc3\xc3\xcc\x7e\xd8\xd9\x5d\xaf\xb3\x9b\x42\xa5\x8e\x74\x35\
+\xbb\x77\x3d\x33\xff\xff\x3d\xff\xf3\x71\xcf\x58\x54\x95\x37\xf3\
+\x61\x78\x93\x1f\x51\xb7\x1f\x44\x44\x8e\x1e\x3d\x7a\xee\xff\x01\
+\xe4\xa1\x43\x87\xde\xae\x5d\xa4\x12\xf5\xb8\xce\x8e\x8c\x8c\x5c\
+\xd9\xbf\x7f\xff\xfb\x6f\x35\x40\x55\x25\x84\xd0\x3c\x37\x46\xb1\
+\x58\xe4\xc5\x17\x5f\x3c\x05\x58\xc0\xad\x95\x80\x78\xef\x1d\x40\
+\x9a\xa6\x0d\xab\x2c\x3b\x77\xfb\xdc\x3e\xd7\x0d\x70\xfb\x68\x07\
+\xdf\x4e\xc2\x5a\x4b\x8e\x41\xd6\x2c\xa1\x1c\x88\x36\x1e\xd8\x38\
+\x8b\x48\xf3\xdc\x3e\xb7\x12\x60\x37\x92\x9d\x94\xb0\x92\xb8\x88\
+\x60\x8c\xc1\x18\xd3\xc4\x30\x90\x13\xb7\x3f\xb4\x9d\x4c\x3f\x73\
+\xbd\xc0\xae\x1c\x39\xe0\x65\xdf\x07\x8a\x42\x2b\x57\x6e\x25\xd0\
+\xb5\x10\x6b\x9f\xef\x45\xa2\x9d\x48\xe3\x7c\x53\x51\x08\x68\xae\
+\x40\x27\xc9\xf4\x92\x53\x03\x6c\x2f\xb9\x75\x03\x66\x8c\x59\x76\
+\xfd\x6a\x56\x30\x6b\x89\x14\xdd\xe6\x56\x93\x4e\xaf\xdf\xbb\x49\
+\xa8\x1f\xf9\xac\x4a\xa0\x7d\x35\x6e\x56\x3a\xab\xf9\x44\x2f\x59\
+\xb5\xab\xe0\x96\x38\xf1\xad\xf6\x89\x81\x32\x71\xfb\x8d\x2b\x55\
+\xc7\xcf\x9f\x9f\xa6\x9c\x5a\x44\x20\x87\x81\x18\x21\x8a\x04\x89\
+\x2d\xc6\x48\x16\xae\xb3\xc0\x8b\xfa\x00\x01\x82\xf7\x10\x14\x14\
+\x4c\x7e\x71\x14\x09\x5f\x9d\x7a\x17\x63\xa3\xd1\x32\xf0\x9d\x42\
+\xf2\x40\x4e\xdc\x58\xad\xe3\x27\x2e\x30\xf6\xce\x1d\xdc\x35\x31\
+\x86\x14\xc0\x2a\x58\x03\x2e\x78\xe6\x9d\x12\xc5\x82\x8d\xb2\x6c\
+\x13\x7c\x96\x33\x35\x28\xde\x05\x34\x05\xef\x03\xea\x14\xef\x20\
+\xa4\x4a\x6c\x0d\x2f\xfc\xfe\x35\xa6\x0e\xdc\x7d\x83\x63\x77\x22\
+\x31\xb0\x05\x4e\x9e\x76\xbc\xe7\xd3\x25\x0e\x2e\x1e\x27\x79\xee\
+\xd7\xd8\x87\xdf\x4b\xb4\x75\x8c\xd7\x37\x7c\x89\xc3\xa7\x2d\x71\
+\x0c\x71\x41\x10\x40\xbd\x42\x9a\x01\x0f\x29\xe0\x14\x75\xa0\xa9\
+\xa2\x4e\xc1\x29\x12\x94\xea\xab\x09\x53\x07\xe8\x18\x9d\xfa\x89\
+\x56\x6b\xb2\x00\x00\xd7\x17\xa8\x1e\x3d\xcc\x95\xd9\x2a\xc5\xbf\
+\x5c\xa1\x74\x6f\x44\xfd\x9e\x7d\x14\xe4\x4e\x6c\xf0\x18\xa7\x18\
+\x01\x02\x99\x8c\x44\x51\x51\xb4\xa1\x2c\x93\x55\x34\x9a\x5b\xaf\
+\xda\x25\x8b\xf7\x03\x7a\xed\x89\x4c\xa1\xb8\x61\x1d\xa5\x0f\x7d\
+\x80\xc9\x6b\xe7\x99\xd8\x1e\xb3\xfe\xb6\x12\xe3\xeb\x36\x62\x7c\
+\xc0\x78\xcd\x08\x38\xb0\x5e\xb1\x9a\x0f\x84\x48\x20\x12\x25\x32\
+\x42\x64\xa0\x18\x09\xb1\x6d\x3a\x52\x57\xc7\x1e\xaa\x0f\x00\x9c\
+\x9d\x89\xf8\xd9\x7d\x8f\x23\xbb\x1f\xc7\x16\xc1\x18\xa8\x4e\x83\
+\x4b\x40\x23\x83\x06\x10\x01\xd1\x6c\xe0\xf3\x91\x5b\x44\x14\x52\
+\x07\xb3\xd7\x02\x57\xaf\x07\xb6\xf5\xa8\x9d\x86\xb2\x1f\x68\x3f\
+\xee\xba\xe3\x15\x76\x4c\x9e\x26\xbd\x6e\x30\xb1\xc1\x7a\x83\xb1\
+\xc2\x3a\x2b\x6c\x9f\x30\x88\x18\x4c\x33\xf4\x09\x92\xeb\xc6\x8a\
+\xc9\xc9\x2c\x52\xa9\xcc\x33\x5f\x56\xaa\x85\x80\x4c\x2a\x7f\x3e\
+\x79\x11\xd5\xef\xde\xa0\xfb\xa1\x3a\x71\xd3\x8c\xe5\x69\x0e\x8d\
+\xfd\xaa\xf3\x8f\x69\x9f\x4f\x2a\x00\x9b\x5a\x5f\x5f\xbe\xb4\xc4\
+\x4b\x4f\x5f\xca\x1f\x90\x0d\xc9\xe5\x6a\xa2\x98\x3d\x87\x1e\x63\
+\xcb\xdd\xf7\x0e\x4e\x40\x55\x39\x33\xf3\x41\x3e\xfc\x83\x4f\x22\
+\x46\xb1\x56\x6e\x18\x51\x9e\x0f\xac\x81\x24\x08\x33\x97\x6b\xfc\
+\xe7\x4a\x95\x72\x25\x25\x04\x41\x11\x50\x41\xf3\x7c\xe0\xbd\x21\
+\xbe\xfa\x57\x9e\x38\x76\x99\x91\xdb\x00\x1f\x81\x18\x32\x8f\x07\
+\x24\xe2\xb7\x47\xbe\xc5\x43\x4f\xbd\x34\x1c\x0b\x8c\x8c\xdf\xce\
+\x81\x47\x76\x82\x84\x3c\xe6\xe7\x80\xf3\x73\x50\xe5\x7a\x4d\x99\
+\x5b\x52\x2a\x89\x32\xe9\x35\x93\x51\x50\x82\x07\x75\x01\x9f\x2a\
+\xc1\x29\x21\x55\xd2\xd4\x72\xee\x65\xcb\xc2\xa9\xaf\x31\x72\xa7\
+\x40\x88\x41\x6c\x16\xa6\xc4\x82\xb5\xc0\xe8\xf0\x24\x94\x49\xc5\
+\xa1\x12\x50\xcd\x34\xee\x9c\x50\xf6\x19\xe8\x72\xa2\xb8\xd0\x54\
+\x02\x68\x96\xc8\x82\xcf\xf2\x42\xf0\x19\x78\x75\x8a\x4f\x15\x97\
+\x06\x5c\xe2\xc0\xc7\x10\x22\xd0\x42\x16\x67\xc5\x82\x44\x40\x11\
+\xd4\x0d\x4e\xa0\x19\xda\x14\x0a\x06\x8c\xc9\x32\xee\x42\x45\x99\
+\x2d\x7b\x54\xc0\x05\x48\x5c\x6b\xcf\x17\xb2\x0b\xd1\xb0\x82\x84\
+\x6b\x1f\x01\x51\x41\x29\x82\x46\x04\x2d\x80\x89\x41\x62\x70\x09\
+\x52\x9e\x06\xb6\xf7\x55\x04\x46\xfd\x6c\x66\x00\xce\x5d\x72\x8c\
+\x8e\x28\xdb\x27\x0d\x5b\xc6\x85\x8d\x25\x21\x8a\x60\x76\x51\x39\
+\x7b\x31\x34\x9d\x50\xa1\x09\x5e\x03\x4d\x19\x2d\x27\x90\x59\x25\
+\xf1\x45\x94\x12\x1e\x8b\xd6\x97\xd0\xca\xbf\xd0\xa5\x0b\x08\x1e\
+\x78\x5b\x5f\xb9\x20\xea\x67\x33\x03\x30\x73\xd9\x61\x6c\x60\xfa\
+\xa2\x80\x11\x8a\x45\x21\x71\x30\x32\x22\xcd\x6c\xe8\xf3\x5c\x60\
+\x01\x2b\x59\x9a\xac\xd4\x15\x54\x29\x08\x38\x51\x82\x28\xa9\x53\
+\x50\x83\x53\x43\x5a\xb9\x4a\xb2\x70\x0e\xad\xcd\x35\x23\xd2\x4a\
+\xbc\xbd\x4a\x6a\xb3\x1a\x01\xc8\x57\x33\x0d\x8c\x5a\x78\xec\xe0\
+\x38\xef\xd8\x6c\xb8\xbd\x24\x8c\x5a\xe5\xeb\xfb\xc7\xd8\x3a\x2e\
+\x3c\xfa\x89\x12\x21\x09\x8c\x1a\xe5\x2b\x9f\x2a\xb1\x65\x9d\xf0\
+\xc8\x47\x47\xc1\x29\x53\x0f\x94\xd8\x30\x2a\x4c\x7d\xbc\xc4\x17\
+\x1e\x1c\xc3\x25\x0a\x2e\x50\x99\xf9\x3b\xf5\xd7\x4f\x91\x96\xe7\
+\x48\x5d\x96\xe8\xd2\x34\x1b\xfd\x12\xe8\x2b\x8c\x06\x1f\x30\xc1\
+\xb0\x54\x56\x7e\xfc\xcb\x45\x4c\x94\x2d\x93\xb1\xc2\x91\x67\xcb\
+\xd4\x7d\xc4\x3f\xa6\x13\x8c\x29\x50\xae\x28\x3f\xfc\x45\x1d\x55\
+\xe1\xf4\xab\x75\x84\x22\x3f\x79\xce\x13\x5c\xcc\xd9\xd7\x1c\xea\
+\x15\xef\x4b\x78\xa7\x68\x52\x23\x71\x99\x1f\xe5\xae\x93\x03\x1e\
+\x52\x26\x0e\x21\xbb\xf3\x17\x3f\xb7\x99\x67\x8f\xcd\xb4\x34\xd9\
+\xde\xa6\x11\x78\xe5\x9f\xa7\x28\x98\x45\xbc\x1a\x08\x20\x12\x63\
+\x4c\x44\x70\x29\x9a\xcc\x62\x9c\xc3\x88\xcd\x6f\x6a\x50\x8d\xf9\
+\xf2\xde\x53\x6c\x8c\x13\x6a\x49\x0b\x78\x83\x44\x6b\xcf\xd1\xc2\
+\xb0\x66\x02\x71\x1c\x37\x2d\xb0\x67\xe7\x38\x7b\x76\x8e\x77\x6d\
+\x5e\xfd\xf1\x7b\xdf\xe4\x81\xf7\x5d\xa3\x56\xcf\x1e\xeb\x6b\x15\
+\xdc\xd2\x55\x5c\x79\x81\x50\xd7\x4c\xa8\xd2\x22\x2c\x26\x03\xe9\
+\x4a\x59\x26\xef\x44\xa0\x13\x96\xc1\xf2\x40\x07\x69\xb5\x57\xab\
+\xd5\xe2\x7a\xfc\xa6\x9d\x60\x62\x92\xb9\x33\xe8\xe4\x7d\x44\xbe\
+\x8c\xd6\xe7\xa9\x5f\xfc\x5b\x13\xbc\x6a\x9e\x27\xe8\x0c\x3e\x5b\
+\x1c\x5a\x26\x18\x46\x29\xd1\xad\xcc\x6d\x9f\x5f\x9c\xfe\x13\xf5\
+\xc2\x39\xd0\x80\x04\x87\x8e\x6c\x81\xfa\x55\xc4\xd7\xd0\x7a\xbe\
+\x45\x30\x59\xa2\x08\xa1\xb5\xca\x2a\xa0\x3e\x97\x4d\x83\x80\x1d\
+\x42\x7b\xbd\xbd\x97\xb3\xda\xc6\x3c\x4d\x1d\x49\x1d\x6c\x54\x62\
+\xfb\x43\x4f\xa2\xc5\x2d\x84\xf2\x65\xb4\xbe\xc4\xd6\x7d\xdf\xc6\
+\x6c\xda\xcd\x1d\x9f\x3f\x82\x73\x16\xb7\xfe\xdd\x6c\x7b\xf8\x19\
+\xfc\xfa\x7b\xd8\xfc\x99\xef\xe3\x65\x8c\x89\x83\x4f\xe3\x37\xdd\
+\xcf\xe6\x07\xbf\xc3\xa6\x8f\x7d\x83\xa4\x96\xdd\x73\xa0\x3c\xd0\
+\x53\x32\x2b\x9d\xdd\x79\x52\x07\x61\x7e\x8e\x7f\xbf\xf0\x14\xa1\
+\x36\x8f\xd6\x16\x11\x63\x99\xfe\xcd\x33\xa8\x2d\x32\xfd\xfc\x13\
+\xf8\x34\xa0\x0b\xb3\x4c\x1f\x3f\x8c\x56\xe7\x38\x7f\xec\x49\xd4\
+\x3b\xce\xff\xee\x47\x68\x6d\x81\xf3\x7f\xf8\x29\xa2\x9e\xe0\xc0\
+\x3b\x37\xe4\x5a\xa8\x47\x73\x97\xcd\xbb\x48\x92\x93\xb8\xa5\x59\
+\xb8\x36\xdb\xde\x9c\x00\x96\x5a\x3a\x17\xd0\xea\x1c\xe8\x5c\xcb\
+\x1f\x00\xca\xd3\xcb\x24\x2f\x06\x4a\x3b\x3e\x32\x5c\x1f\xe8\xd5\
+\x3e\xdc\xfd\xd9\x47\x39\x73\x3c\x46\x63\x8f\x22\x79\x3d\xd4\x8a\
+\xb3\xa1\xad\xc8\x6b\x45\xa3\x8c\xa5\xe4\x42\x96\xa6\xf3\x2a\x36\
+\x2e\x70\xff\xbe\xa9\x81\xdf\xd0\xdc\xa0\xfd\x4e\x3d\x4e\x55\x65\
+\x62\xd7\x5e\x26\x76\xed\x5d\xf5\xbd\x41\x3f\xef\x13\x56\xce\xad\
+\xb6\x43\x33\xfd\x58\xa0\x9f\x1e\x67\xbf\x7f\xbb\x5a\xf7\xae\xdf\
+\x56\xe4\xaa\x04\xd6\x0a\x60\xb5\x7e\x68\xbf\x24\xd6\x4a\xc6\xac\
+\x45\x42\x6f\x94\x25\xba\x49\xf7\x96\x49\x68\xd0\xd5\xef\xd7\x12\
+\x43\xed\x4e\xbf\x11\x24\x86\xd1\x1b\x95\xf6\x56\xf7\xcd\x44\x93\
+\x41\x22\x52\x03\xc3\x4d\x87\xd1\x10\x02\xde\xfb\x65\x25\x6d\xb7\
+\x87\x76\x7a\xb5\xd4\xed\xf3\xb2\x24\xd8\xc1\xdf\x1a\xbf\x37\x5e\
+\xb7\xde\x54\x29\x51\xaf\xd7\x5d\xad\x56\xdb\x76\xe2\xc4\x89\x0b\
+\xfc\x6f\x8f\x6d\xf5\x7a\xbd\x6b\x5d\x21\x6f\xfd\xb3\xc7\x5b\x04\
+\x06\x3b\xfe\x3b\x00\x91\x52\x5d\xd7\x27\xb9\xe7\xe3\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x63\x4f\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x02\xfa\x00\x00\x00\xd5\x08\x06\x00\x00\x00\x26\x7a\x54\x1f\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x06\xb8\x00\x00\x06\xb8\x01\
+\x57\xbd\xea\x84\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x10\
+\x0a\x24\x22\x75\x63\x33\x8c\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xbd\x77\x70\x1c\xe7\x7d\xff\xff\xbe\xde\xef\x50\x0e\x1d\
+\x44\x63\x05\x09\x90\x20\x09\xf6\x2a\x92\x60\x15\x65\xaa\x98\xb2\
+\x6c\x2b\x71\xec\x6f\x1c\x27\xce\xd8\x49\x26\xdf\x99\xdf\x6f\x26\
+\x93\xc9\x78\xc6\xdf\x3f\x92\xf9\x26\x4e\x9c\x58\x16\x6d\x49\x96\
+\x64\xc9\x56\x27\x25\xf6\x5e\x45\x82\x24\x48\xa2\x10\x44\x3f\x94\
+\x43\xaf\xd7\xfb\xee\xf7\x0f\x18\x07\x1c\x01\xdc\xdd\x1e\x0e\x77\
+\x0b\xf0\xf3\x9a\xc1\xf0\x0e\xdc\xc5\x3e\xcf\xee\xb3\xbb\xef\xe7\
+\xf3\x7c\x8a\x80\x65\x59\x16\x04\x41\x10\x04\x41\x10\x04\x41\xcc\
+\x2b\x84\x74\x0a\x08\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\x10\
+\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\
+\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\
+\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x09\
+\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\
+\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\
+\x04\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\
+\x20\x08\x12\xfa\x04\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\
+\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\
+\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\
+\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\
+\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\
+\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\
+\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\x41\x10\x04\x41\
+\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\
+\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\x20\
+\x08\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\
+\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\
+\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\
+\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\
+\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\
+\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\
+\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\x41\x10\x04\x41\x10\
+\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\
+\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\
+\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\
+\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\
+\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\
+\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\
+\x82\x98\xaf\xf8\x7c\x3e\xb0\x2c\x4b\x27\x82\x87\x88\xe9\x14\x10\
+\x04\x41\x10\x04\x41\x10\x53\x61\xb7\xdb\x61\x34\x1a\xd1\xd1\xd1\
+\x01\xa3\xd1\x88\xe1\xe1\x61\x58\xad\x56\xff\x8f\xc5\x62\x81\xc7\
+\xe3\x01\x00\x08\x85\x42\x88\xc5\x62\x88\xc5\x62\x88\x44\x22\xa8\
+\x54\x2a\xe8\xf5\x7a\xa4\xa4\xa4\x40\xaf\xd7\x43\xaf\xd7\x23\x35\
+\x35\x15\xb9\xb9\xb9\x90\xcb\xe5\x74\x72\x63\x80\x80\xa5\x29\x18\
+\x41\x10\x04\x41\x10\xc4\x33\x0f\xcb\xb2\x30\x18\x0c\xa8\xae\xae\
+\xc6\x93\x27\x4f\x60\x34\x1a\x31\x34\x34\x14\x7d\xf1\x29\x10\x20\
+\x3b\x3b\x1b\x8b\x16\x2d\xc2\xe2\xc5\x8b\xb1\x68\xd1\x22\x64\x65\
+\x65\x41\x20\x10\xd0\x45\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x44\
+\x03\x93\xc9\x84\x87\x0f\x1f\xa2\xaa\xaa\x0a\x35\x35\x35\xb0\x5a\
+\xad\x71\x69\x87\x56\xab\x45\x69\x69\x29\x36\x6e\xdc\x88\xc2\xc2\
+\x42\x88\x44\x22\xba\x38\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x2e\
+\xf8\x7c\x3e\x3c\x78\xf0\x00\xd7\xae\x5d\x43\x65\x65\x25\x7c\x3e\
+\x1f\xaf\xda\xa7\x56\xab\xfd\xa2\xbf\xb8\xb8\x98\x2c\xfd\x24\xf4\
+\x09\x82\x20\x08\x82\x20\x88\x60\x18\x8d\x46\x5c\xb9\x72\x05\x37\
+\x6f\xde\x84\xc5\x62\x99\x13\x6d\x4e\x4b\x4b\xc3\x81\x03\x07\xb0\
+\x63\xc7\x0e\xc8\x64\x32\xba\x88\x24\xf4\x09\x82\x20\x08\x82\x20\
+\x88\x31\x0c\x06\x03\xbe\xf8\xe2\x0b\x54\x54\x54\xcc\xd9\xec\x38\
+\x2a\x95\x0a\xbb\x76\xed\xc2\xbe\x7d\xfb\x90\x94\x94\x44\x17\x95\
+\x84\x3e\x41\x10\x04\x41\x10\xc4\xb3\x4b\x63\x63\x23\xbe\xf8\xe2\
+\x0b\x3c\x7a\xf4\x68\xde\xf4\x49\x24\x12\x61\xc7\x8e\x1d\x38\x7a\
+\xf4\x28\xb4\x5a\x2d\x5d\x64\x12\xfa\x04\x41\x10\x04\x41\x10\xcf\
+\x0e\xbd\xbd\xbd\xf8\xdd\xef\x7e\x87\xca\xca\xca\x79\xdb\x47\x85\
+\x42\x81\x23\x47\x8e\x60\xff\xfe\xfd\x90\x48\x24\x74\xd1\x49\xe8\
+\x13\x04\x41\x10\x04\x41\xcc\x5f\x3c\x1e\x0f\xbe\xfc\xf2\x4b\x7c\
+\xf9\xe5\x97\xfe\xdc\xf6\xd1\x51\x8b\x02\x88\x64\x6a\x88\xe4\xda\
+\xd1\x1f\x85\xee\x4f\xff\x6a\x21\x92\xeb\x20\x92\xab\xc1\x32\x5e\
+\x30\x1e\x27\x18\x8f\x03\x8c\xc7\x09\x76\xc2\xe7\xd1\xef\x0e\xf8\
+\x9c\x66\xb8\x4d\x3d\x00\xcb\x44\xad\x69\xa9\xa9\xa9\xf8\xce\x77\
+\xbe\x83\x75\xeb\xd6\xd1\x00\x20\xa1\x4f\x10\x04\x41\x10\x04\x31\
+\xff\xa8\xa9\xa9\xc1\x3b\xef\xbc\x83\xee\xee\xee\x99\x8b\x43\xa1\
+\x18\x32\x7d\x3e\xe4\x69\x4b\x21\x4d\xc8\x82\x48\xae\x01\x04\xc2\
+\xa8\xb4\x93\xf5\xba\xe1\x1a\x6a\x83\x6b\xb0\x15\xae\x01\x03\x7c\
+\x8e\x91\xa8\xfc\xdd\x95\x2b\x57\xe2\x47\x3f\xfa\x11\x12\x12\x12\
+\x68\x30\x90\xd0\x27\x08\x82\x20\x08\x82\x98\xfb\xb8\xdd\x6e\xbc\
+\xfb\xee\xbb\xb8\x72\xe5\xca\xcc\x04\xa1\x58\x0a\x79\xca\x22\xc8\
+\x53\x97\x40\xa6\xcf\x87\x40\x14\x1b\x77\x18\x9f\x7d\x04\xae\x41\
+\xc3\xa8\xf0\x1f\x6a\x03\xeb\x75\x47\xfc\xb7\x34\x1a\x0d\xfe\xea\
+\xaf\xfe\x0a\x6b\xd6\xac\xa1\x81\x41\x42\x9f\x20\x08\x82\x20\x08\
+\x62\xee\xd2\xd3\xd3\x83\x5f\xfc\xe2\x17\x68\x6f\x6f\x8f\x68\x7f\
+\xa1\x44\x01\x79\xea\x62\xc8\xd3\x96\x40\x9a\x94\x0b\x81\x30\xce\
+\x45\xaa\x58\x06\xee\x91\x2e\xd8\x3b\xab\xe0\xec\x79\x02\x96\x89\
+\x2c\xbf\x7f\x59\x59\x19\xbe\xf3\x9d\xef\x40\x2a\x95\x92\xd0\x27\
+\xa1\x4f\x10\x04\x41\x10\x04\x31\xb7\x28\x2f\x2f\xc7\x9b\x6f\xbe\
+\x09\xa7\xd3\xc9\x79\x5f\x91\x32\x01\xda\xc5\x3b\x20\x4f\x5d\x02\
+\xf0\xb4\x18\x15\xe3\xb2\xc1\xd6\xf1\x00\xf6\x8e\x47\x60\x3c\x0e\
+\xce\xfb\x67\x67\x67\xe3\xa7\x3f\xfd\x29\xb2\xb2\xb2\x48\xe8\xd3\
+\xed\x42\x10\x04\x41\x10\x04\xc1\x7f\x18\x86\xc1\xfb\xef\xbf\x8f\
+\x73\xe7\xce\x71\xde\x57\x28\x51\x40\xbd\x70\x33\x54\x0b\x56\x47\
+\xcd\xe7\x7e\xb6\x61\x19\x2f\x1c\x9d\x55\xb0\x34\x7f\x0d\xc6\x6d\
+\xe7\xb4\xaf\x52\xa9\xc4\x3f\xfc\xc3\x3f\x60\xf9\xf2\xe5\x24\xf4\
+\x09\x82\x20\x08\x82\x20\x08\xfe\xe2\xf5\x7a\xf1\xcb\x5f\xfe\x12\
+\xf7\xee\xdd\xe3\x26\xf6\x84\x22\x28\x73\xd6\x42\x5d\xb0\x09\x42\
+\xf1\xdc\xac\x2e\xcb\x7a\x5d\xb0\xb4\xdc\x86\xbd\xbd\x82\x93\x4b\
+\x8f\x58\x2c\xc6\x0f\x7f\xf8\x43\x6c\xdd\xba\x95\x84\x3e\x41\x10\
+\x04\x41\x10\x04\xc1\x3f\x5c\x2e\x17\xfe\xfd\xdf\xff\x1d\xd5\xd5\
+\xd5\x9c\xf6\x53\x64\x2c\x87\x66\xd1\x76\x88\x14\xf3\xa3\xb8\x94\
+\xcf\x3e\x02\x73\xc3\x15\x38\xfb\x1a\x39\xed\x77\xf4\xe8\x51\x1c\
+\x39\x72\x84\x84\x3e\x41\x10\x04\x41\x10\x04\xc1\x1f\xec\x76\x3b\
+\xfe\xf5\x5f\xff\x15\x0d\x0d\x0d\x61\xef\x23\x4d\xcc\x86\x76\xe9\
+\x2e\x48\xb4\xe9\x31\x69\xa3\xd7\x3e\x0c\xaf\x75\xc0\xff\x5d\x24\
+\x53\x41\xa2\xcb\x9c\xb5\xe3\x39\x7b\x1b\x60\xaa\x3d\x0b\xc6\x13\
+\x7e\x8c\xc2\x9e\x3d\x7b\xf0\x17\x7f\xf1\x17\x10\xf0\x34\x2e\x81\
+\x84\x3e\x41\x10\x04\x41\x10\xc4\x33\x84\xd5\x6a\xc5\xcf\x7f\xfe\
+\x73\xb4\xb5\xb5\x85\xbd\x8f\x3a\x6f\x03\x34\x4b\x76\xc4\xa4\x7d\
+\x8c\xdb\x0e\x4b\xe3\x35\xd8\x3b\x27\xaf\x34\x88\x55\x49\x50\x2e\
+\x58\x03\x65\x56\x11\x04\xa2\xe8\x67\xc0\xf1\x39\x2d\x18\xa9\x3e\
+\x09\xf7\x70\x47\xd8\xfb\x1c\x3c\x78\x10\xdf\xfd\xee\x77\x49\xe8\
+\x13\x04\x41\x10\x04\x41\x10\xf1\xc3\xe3\xf1\xe0\xe7\x3f\xff\x79\
+\xf8\x96\x7c\x81\x10\xba\xe5\xfb\xa0\xcc\x2a\x8e\x4d\xfb\x2c\x7d\
+\x18\xba\xff\x51\xc8\xac\x38\x22\xb9\x06\x89\xab\x5f\x82\x44\x93\
+\x16\xfd\x46\xb0\x2c\xac\xad\xe5\xb0\x34\xdd\x0c\xbb\xe2\xee\xab\
+\xaf\xbe\x8a\x6f\x7c\xe3\x1b\x24\xf4\x09\x82\x20\x08\x82\x20\x88\
+\xd8\xc3\xb2\x2c\xfe\xf3\x3f\xff\x13\x77\xef\xde\x0d\x6b\x7b\xa1\
+\x44\x8e\xc4\x55\x47\x20\x4d\xca\x89\x4d\xfb\x7c\x6e\x0c\xdc\x7e\
+\x17\x5e\xfb\xb0\xff\x77\x69\x69\x69\x50\xab\xd5\xf0\x78\x3c\x30\
+\x1a\x8d\x60\x98\x71\xe1\x2d\x10\x49\x90\xb0\xf2\x30\xe4\x29\x8b\
+\x66\xa5\x3d\xae\xa1\x36\x0c\x3f\x3a\x0e\xd6\xeb\x0a\x6b\xfb\xef\
+\x7f\xff\xfb\xd8\xb3\x67\x0f\x09\x7d\x82\x20\x08\x82\x20\x08\x22\
+\xb6\xbc\xf7\xde\x7b\x38\x7b\xf6\x6c\x58\xdb\x8a\x95\x89\x48\x5c\
+\xf3\x32\xc4\xca\xa4\x98\xb5\x6f\xa4\xe6\x14\x1c\x5d\x8f\x47\x27\
+\x19\x42\x21\xfe\xe9\x9f\xfe\x09\x4b\x96\x2c\x81\x50\x28\x84\xd5\
+\x6a\x45\x6f\x6f\x2f\x6e\xde\xbc\x89\xcb\x97\x2f\xc3\xe3\xf1\xfc\
+\x49\x75\x0a\xa0\x59\xbc\x03\xaa\xec\x55\xa3\xae\x3c\x51\xf6\x95\
+\xf7\x5a\x07\x30\xf4\xe0\x53\xf8\x9c\xe6\xd0\x02\x58\x20\xc0\x4f\
+\x7e\xf2\x13\x6c\xd8\xb0\x81\x84\x3e\x41\x10\x04\x41\x10\x04\x11\
+\x1b\x4e\x9f\x3e\x8d\xdf\xff\xfe\xf7\x61\x6d\x2b\x4d\xca\x41\xe2\
+\xaa\x23\x10\x4a\xe4\x31\x6b\x9f\x6b\xd0\x80\xa1\x8a\x4f\xfc\xdf\
+\x27\x5a\xc7\xdd\x6e\x37\xac\x56\x2b\xc6\xe4\x65\x6b\x6b\x2b\x8e\
+\x1d\x3b\x06\x8b\xc5\x12\xf0\x37\x84\x12\x39\x14\x59\xc5\x50\x2d\
+\x58\x03\x91\x42\x17\xb5\xb6\x31\x2e\x2b\x86\x1e\x7e\x06\x8f\xb9\
+\x37\xe4\xb6\x32\x99\x0c\x3f\xfb\xd9\xcf\xb0\x60\xc1\x82\x79\x3b\
+\x96\x84\x74\x3b\x11\x04\x41\x10\x04\x41\xf0\x83\xda\xda\x5a\x7c\
+\xf0\xc1\x07\x61\x6d\xab\xcc\x2a\x46\xf2\xda\xa3\x31\x15\xf9\x00\
+\x60\x6b\xab\xf0\x7f\x5e\xbe\x7c\x39\x76\xec\x18\x0d\xfc\x75\x3a\
+\x9d\xb0\x58\x2c\x98\x68\x43\xce\xcb\xcb\xc3\x3f\xfe\xe3\x3f\x22\
+\x3d\x3d\x30\xfb\x0f\xe3\x71\xc2\xd6\x7a\x0f\x7d\x37\x8f\xc1\x5c\
+\x7f\x19\x88\x92\xdd\x59\x28\x53\x23\x79\xdd\xb7\x21\xd1\x65\x84\
+\x9e\xb0\xb8\x5c\xf8\xc5\x2f\x7e\x11\x51\x75\x61\x12\xfa\x04\x41\
+\x10\x04\x41\x10\x44\xf8\x02\xda\x66\xc3\xaf\x7e\xf5\x2b\x84\xe3\
+\x6c\xa1\xce\xdb\x00\xdd\x8a\x03\x31\xaf\x70\xeb\xb3\x8f\xc0\x35\
+\xd0\xe2\xff\xfe\xda\x6b\xaf\x41\x22\x91\xc0\xeb\xf5\xc2\x66\xb3\
+\x4d\xb9\x4f\x52\x52\x12\xfe\xf6\x6f\xff\x16\x09\x09\x09\x93\xff\
+\x93\x65\x61\x6b\xbb\x8f\xa1\x87\x9f\x81\xf5\xba\xa3\xd2\x46\x81\
+\x48\x82\xa4\xd5\x2f\x41\x24\xd7\x84\xdc\xb6\xbb\xbb\x1b\xbf\xf9\
+\xcd\x6f\x48\xe8\x13\x04\x41\x10\x44\xac\xb1\xdb\xed\xb0\x58\x2c\
+\xd3\xfe\x78\xbd\x5e\x3a\x49\xc4\xbc\xe1\xb7\xbf\xfd\x2d\x86\x86\
+\x86\x42\x6e\xa7\xc8\x58\x11\xb3\xf4\x99\x93\x26\x23\x1d\x0f\xfd\
+\x9f\xf3\xf2\xf2\x90\x9b\x9b\x0b\x96\x65\x27\xb9\xe6\x3c\x8d\x4e\
+\xa7\xc3\x8f\x7e\xf4\x23\xc8\x64\xe3\x95\x79\x45\x22\x91\xff\xb3\
+\x6b\xa0\x05\x03\x77\x3f\x00\xe3\xb6\x47\x47\xe0\x4a\x55\x48\x5c\
+\xfd\x72\x58\x69\x3d\x6f\xdf\xbe\x8d\x8b\x17\x2f\xce\xcb\x31\x25\
+\xa6\xdb\x8a\x20\x08\x82\xe0\x1b\x2c\xcb\xe2\xfc\xf9\xf3\x68\x6e\
+\x6e\x0e\xba\x9d\x54\x2a\xc5\xba\x75\xeb\xb0\x6a\xd5\x2a\x3a\x69\
+\xc4\x9c\xe6\xea\xd5\xab\x28\x2f\x2f\x0f\xb9\x9d\x2c\x39\x17\x09\
+\x45\x07\xe2\x73\x5f\xfa\x3c\x70\x74\x8d\xe7\xcb\x7f\xe5\x95\x57\
+\x20\x16\x8b\xe1\x70\x38\x02\x32\xec\x8c\xdd\xc3\x0c\xc3\x04\x88\
+\xf9\xac\xac\x2c\x7c\xef\x7b\xdf\xc3\xb1\x63\xc7\xc0\xb2\x2c\x7c\
+\x3e\x1f\x54\x2a\x95\x7f\x25\xc0\x6b\xed\xc7\xd0\xc3\xcf\x90\xbc\
+\xee\x35\x08\x84\x33\x97\xa8\x12\x4d\x2a\x12\x56\x3e\x8f\xe1\x47\
+\x5f\x84\x74\x0d\x7a\xff\xfd\xf7\x51\x58\x58\x88\xac\xac\xac\x79\
+\x35\xae\xc8\xa2\x4f\x10\x04\x41\xf0\x8e\x8e\x8e\x8e\x90\x22\x1f\
+\x18\x0d\xfc\x2b\x2f\x2f\x87\xdb\xed\xa6\x93\x46\xcc\x59\x7a\x7b\
+\x7b\xf1\xde\x7b\xef\x85\x21\x5c\x53\x90\xb8\xea\xc5\x98\xbb\xeb\
+\x8c\xe1\xe8\x79\xe2\xaf\x44\xab\xd1\x68\xb0\x62\xc5\x0a\xb0\x2c\
+\x3b\xc9\xc7\x9d\x65\x59\x98\xcd\x66\x58\x2c\x16\xd8\x6c\xb6\x80\
+\x49\x40\x51\x51\x51\x40\x0e\x7b\x9b\xcd\x06\xbd\x5e\xef\xff\xee\
+\x31\x75\x63\xa4\xea\xab\xa8\xf9\xec\xcb\x53\x16\x41\xbb\x38\xf4\
+\xea\x87\xc7\xe3\xc1\x5b\x6f\xbd\x85\xf9\x96\xa3\x86\x84\x3e\x41\
+\x10\x04\xc1\x3b\x86\x87\x87\xc3\xde\xd6\xeb\xf5\xc2\x6c\x36\xd3\
+\x49\x23\xe6\x2c\x6f\xbf\xfd\x76\xc8\x80\x50\x81\x58\x86\xc4\x92\
+\x97\x21\x10\x4b\xe3\xd6\x4e\x7b\xfb\x03\xff\xe7\x9d\x3b\x77\x42\
+\x2a\x95\xc2\xe5\x72\x4d\xb2\xe6\x3b\x1c\x0e\xb0\x2c\x0b\x81\x40\
+\x00\x9f\xcf\x07\xbb\xdd\x3e\x9e\x62\x13\xc0\xee\xdd\xbb\xb1\x79\
+\xf3\x66\xff\xf7\x81\x81\x01\x68\x34\xe3\xfe\xf4\xce\xbe\x46\x58\
+\x9a\x6e\x44\xad\xdd\xaa\xbc\xf5\x61\x15\x11\xab\xab\xab\xc3\xf5\
+\xeb\xd7\x49\xe8\x13\x04\x41\x10\x04\x41\x10\x33\xe7\xe1\xc3\x87\
+\xa8\xae\xae\x0e\xb9\x9d\xae\xb0\x0c\x22\x85\x36\x6e\xed\x74\x8f\
+\x74\xc2\x63\xe9\x1b\x15\x8f\x42\x21\xf6\xec\xd9\x03\x81\x40\x00\
+\x87\x23\xb0\x2a\xae\xdb\xed\x86\xdb\xed\x86\x40\x20\x08\xf8\xf1\
+\x78\x3c\x01\x62\xff\xd5\x57\x5f\x45\x49\x49\x89\xff\xbb\xc5\x62\
+\x81\x50\x38\x2e\x4b\xad\x86\x3b\x70\x74\x3f\x8e\x5a\xfb\xb5\x85\
+\x7b\x21\x4d\x0c\x9d\x46\xf3\xc3\x0f\x3f\x84\xd5\x6a\x25\xa1\x4f\
+\x10\x04\x41\x10\x04\x41\x44\x8e\xcf\xe7\x0b\x2b\x5f\xbe\x22\x63\
+\x39\x14\x19\xcb\xe3\xda\x56\x47\xe7\xf8\x64\xa4\xb8\xb8\x18\x89\
+\x89\x89\x93\xac\xf9\x2c\xcb\xc2\xe1\x70\x4c\x12\xf9\x63\x3f\x3e\
+\x9f\x0f\x3e\x9f\xcf\x3f\x59\xf8\xfe\xf7\xbf\xef\x4f\xcd\x09\x60\
+\xd2\xca\x80\xa9\xe6\x0c\xec\xc6\x47\x51\x71\xe3\x11\x08\x45\x48\
+\x2c\x39\x02\x91\x22\x21\xe8\x76\x16\x8b\x05\x1f\x7e\xf8\x21\x09\
+\x7d\x82\x20\x08\x82\x20\x08\x22\x72\xce\x9d\x3b\x87\xee\xee\xee\
+\xa0\xdb\x88\x14\x3a\xe8\x0a\xf7\xc6\xbd\xad\x13\x53\x6a\x3e\xf7\
+\xdc\x73\x10\x8b\xc5\x93\x62\x63\xc6\x2c\xf6\x13\xc5\xbd\x50\x28\
+\x9c\x24\xf6\xfd\xe2\x5b\x20\xc0\x2b\xaf\xbc\x82\x6f\x7e\xf3\x9b\
+\x50\xab\xd5\x93\xf6\x65\x59\x06\xa6\xda\xf3\xe8\xb9\xfc\x9f\x18\
+\xae\x3c\x01\x7b\x67\x15\x18\xb7\x2d\x72\xd1\x2b\x51\x40\x57\x58\
+\x16\x72\xbb\x6b\xd7\xae\xa1\xad\xad\x6d\x5e\x8c\x31\xca\xba\x43\
+\x10\x04\x41\x10\x04\x11\x63\x2c\x16\x0b\x3e\xff\xfc\xf3\x90\xdb\
+\x25\xac\x38\x10\x57\xbf\x7c\x00\xf0\x5a\x07\xe1\x73\x8d\xba\xb3\
+\x88\x44\x22\x14\x16\x16\x82\x65\xd9\x00\x57\x1c\x00\x53\xba\xec\
+\x4c\xf5\x33\xe6\xbf\x3f\xc6\xf6\xed\xdb\xb1\x65\xcb\x16\xd4\xd4\
+\xd4\xe0\xde\xbd\x7b\x68\x68\x68\x00\xc3\x30\x60\x18\x66\x34\x85\
+\x2e\xe3\x81\xb3\xb7\x1e\xce\xde\x7a\x98\x04\x42\xc8\x53\x17\x41\
+\x99\xb5\x12\x32\x7d\x01\xe7\xbe\xc8\xf4\xf9\x90\x25\xe7\xc2\x35\
+\x38\xbd\x90\x67\x59\x16\xc7\x8f\x1f\xc7\x4f\x7f\xfa\x53\x12\xfa\
+\x04\x41\x10\x04\x41\x10\x04\x37\xbe\xfa\xea\x2b\xd8\xed\xc1\x73\
+\xc6\xcb\x53\x17\x43\x9a\x94\x13\xf7\xb6\xba\x06\x0d\xfe\xcf\x05\
+\x05\x05\x90\xcb\xe5\xf0\x7a\xbd\x01\x19\x6a\xc6\xdc\x72\x9e\xb6\
+\xe0\x4f\xfc\x01\x10\xf0\x79\x22\x22\x91\x08\xab\x56\xad\xc2\xaa\
+\x55\xab\x60\xb5\x5a\x51\x53\x53\x83\xe6\xe6\x66\xb4\xb6\xb6\xc2\
+\x6a\xb5\xfa\x83\x95\xbd\x5e\x2f\x9c\xbd\x0d\x70\xf6\x36\x40\xa2\
+\xcb\x80\x6e\xf9\x5e\x48\x34\x69\x9c\xfa\xa3\x59\xf2\x1c\x5c\xb7\
+\x7f\x17\x74\x9b\xbb\x77\xef\xa2\xb3\xb3\x73\xce\xa7\xdb\x24\xa1\
+\x4f\x10\x04\x41\x10\x04\x11\x4b\xe1\xec\x72\xe1\xf2\xe5\xcb\x41\
+\xb7\x11\x08\x45\xd0\x2c\xd9\xc9\x8f\xf6\x0e\xb6\xfa\x3f\x17\x17\
+\x17\x43\x22\x91\x4c\xaa\x82\xeb\xf5\x7a\x27\x09\xfb\x89\xa2\x1f\
+\x18\xf5\xcb\x9f\x18\x70\x3b\xad\x10\xd7\x68\xb0\x79\xf3\x66\x6c\
+\xd9\xb2\x05\x3e\x9f\x0f\x46\xa3\x11\xad\xad\xad\xa8\xaa\xaa\x42\
+\x57\x57\x17\x2c\x16\x0b\x18\x86\x81\xc7\xd4\x8d\x81\xdb\xef\x42\
+\x9e\xb6\x04\xba\xe5\xfb\x20\x94\x28\xc2\xea\x8f\x44\x93\x0a\x45\
+\xe6\x0a\x38\xba\xa6\x0f\xf6\x1d\xb3\xea\xff\xf8\xc7\x3f\x26\xa1\
+\x4f\x10\x04\x41\x10\x04\x41\x84\xc7\xb5\x6b\xd7\x42\x5a\xf3\x95\
+\x0b\xd6\x40\xac\x4c\x8c\x7b\x5b\x59\xc6\x07\xf7\x70\x87\xff\xfb\
+\x9a\x35\x6b\x00\x60\x92\xdb\x0e\xc3\x30\xd3\x5a\xf3\x01\x4c\xfa\
+\x1e\xd6\xb1\x59\x16\x22\x91\x08\x79\x79\x79\xc8\xcf\xcf\xc7\x73\
+\xcf\x3d\x07\xa3\xd1\x88\xbb\x77\xef\xe2\xf6\xed\xdb\xfe\x6a\xbc\
+\xce\xde\x06\xb8\xfa\x9b\xa1\xcc\x59\x03\x75\xee\x7a\x08\x65\xaa\
+\xd0\x93\x89\x45\xdb\xe1\xec\xa9\x07\xcb\x4c\x5f\x5d\xfb\xf6\xed\
+\xdb\x78\xf9\xe5\x97\x91\x9e\x9e\x3e\x67\xc7\x1a\x05\xe3\x12\x04\
+\x41\x10\x04\x41\xc4\x4a\x38\xb3\x2c\xce\x9c\x39\x13\x5c\x9c\x49\
+\x14\x50\x2f\xdc\xcc\x8b\xf6\x7a\x46\x8c\x60\x7d\xa3\xa2\x5e\xa5\
+\x52\x21\x33\x33\x33\x20\x7b\xce\x18\x3e\x9f\x2f\xa4\xc8\x1f\x9b\
+\x08\x84\x62\xaa\x09\xc1\x98\x9b\xd0\x82\x05\x0b\xf0\xf2\xcb\x2f\
+\xe3\xef\xff\xfe\xef\x91\x93\x93\xe3\xdf\x8e\x65\x7c\xb0\xb5\xde\
+\x43\xdf\x8d\x37\x61\xae\xbb\x08\x9f\xd3\x12\xf4\x18\x22\xb9\x06\
+\xaa\xdc\xb5\x41\xb7\x61\x18\x26\xe4\xb5\x22\xa1\x4f\x10\x04\x41\
+\x10\x04\x41\x00\x00\x1e\x3c\x78\x80\xde\xde\xde\xa0\xdb\x28\x17\
+\xac\x86\x50\x2c\xe3\x45\x7b\x27\xba\xed\x2c\x5d\xba\x14\x12\x89\
+\x64\x4a\x6b\xfe\x44\x81\x1e\xa9\xc8\x17\x08\x04\x90\x48\x24\x90\
+\x4a\xa5\x90\x4a\xa5\x90\xc9\x64\x90\x48\x24\x53\xee\x97\x9d\x9d\
+\x8d\x9f\xfc\xe4\x27\xc8\xcc\xcc\x0c\x9c\x10\x30\x5e\xd8\xda\x1f\
+\xa0\xff\xd6\x6f\xe1\xea\x0f\x5e\x5d\x5b\x9d\xbf\x31\xa4\xbb\xcf\
+\xad\x5b\xb7\x26\xf5\x97\x84\x3e\x41\x10\x04\x41\x10\x04\x31\x89\
+\x73\xe7\xce\x05\x17\xbb\x42\x11\x54\x39\xab\x79\xd3\x5e\xd7\xc0\
+\xb8\xd0\x5f\xbd\x7a\x35\x44\x22\xd1\xa4\xb4\x9a\x0c\xc3\x84\xcc\
+\xb4\x13\xca\x37\x5f\x20\x10\x40\x2c\x16\x07\x4c\x10\x84\x42\x21\
+\x24\x12\x09\xe4\x72\x39\xc4\xe2\x51\x6f\xf3\x89\x01\xc0\x6a\xb5\
+\x1a\x3f\xf8\xc1\x0f\xa6\x9c\x08\xb0\x3e\x0f\x86\x2b\x4f\xc0\x35\
+\x34\x7d\x76\x1d\x81\x58\x16\x72\xe5\xc4\x6e\xb7\xe3\xfe\xfd\xfb\
+\x24\xf4\x09\x82\x20\x08\x82\x20\x88\xe9\x31\x99\x4c\x78\xfc\x38\
+\x78\xb5\x57\x45\xc6\x72\x08\xa5\x2a\x5e\xb4\x97\xf1\x38\xe0\xb1\
+\x8c\xaf\x3e\x14\x17\x17\x83\x65\xd9\xd1\x94\x97\x4f\x0b\xca\x20\
+\xd9\x76\xc2\x09\xc0\x15\x89\x44\x41\x57\x03\xe4\x72\x39\x64\xb2\
+\xc0\x55\x0e\x96\x65\x91\x9a\x9a\x8a\xc2\xc2\x42\xff\xef\xf2\xf2\
+\xf2\x20\x97\xcb\x47\xff\x9f\xf1\x62\xa4\xea\xab\xa0\x7e\xf8\xca\
+\xec\x92\x90\x3e\xfd\xd7\xae\x5d\x23\xa1\x3f\x17\x71\xb8\x7d\xf0\
+\x31\xec\x33\xd9\x77\xaf\x8f\x81\xd3\xe3\x7b\x26\xfb\xce\xfe\xe9\
+\xda\x33\xec\xb3\x79\xed\x5d\x1e\x06\x6e\x2f\x33\x6f\xfa\xc3\x30\
+\x0c\x5c\x2e\xd7\xec\x9f\xb7\xa7\x2a\x40\xd2\xb9\x23\x9e\xd5\x71\
+\x43\x63\x2e\x72\xee\xdd\xbb\x17\x60\x91\x9e\x0a\x55\xee\x3a\xde\
+\xb4\xd7\x33\xd2\xe5\xff\x9c\x92\x92\x82\x84\x84\x04\x78\x3c\x9e\
+\x49\x7d\x18\xcb\x8b\x1f\xa9\xcb\x4e\xa8\x94\x9c\x63\x7f\x6f\xe2\
+\x84\x81\x65\x59\x30\x0c\x03\x96\x65\x91\x98\x38\x1e\xb4\xac\xd7\
+\xeb\xf1\x8d\x6f\x7c\x03\x52\xe9\x68\xed\x01\xc6\x6d\x0f\x9a\x5d\
+\x47\x20\x14\x41\x9e\xba\x24\x68\xfb\xaa\xab\xab\x31\x34\x34\x34\
+\x27\xc7\xdc\xbc\xcf\xba\xd3\x3d\xec\x44\x7d\xa7\x19\xc3\x36\x37\
+\xcc\x76\x2f\xcc\x76\x0f\xcc\x8e\xd1\x1f\xaf\x8f\x85\x00\x80\x4a\
+\x2e\x86\x56\x29\x81\x56\x21\x81\x56\x29\x86\x4e\x29\xc1\x02\xbd\
+\x0a\x4b\x32\xd5\x90\x88\xe6\xee\x5c\xc8\xe1\xf6\xe1\x89\xd1\x8c\
+\xee\x61\x07\x4c\x76\x2f\x2c\x0e\x0f\x4c\x76\x0f\xcc\x76\x0f\x1c\
+\xee\x51\x91\x2f\x15\x0b\xff\xd4\xf7\xf1\x73\xa0\xd7\xca\xb0\x3c\
+\x5b\x8b\x44\xb5\x74\xce\xf6\x9d\x65\x81\xb6\x01\x1b\x9a\xba\xad\
+\x30\xd9\xfe\x74\xcd\xed\x1e\x98\x1c\x1e\x58\x1c\x5e\x30\x0c\x0b\
+\xa1\x40\x00\xf5\xd8\xb5\x57\x8a\xa1\x55\x48\xa0\x53\x4a\x50\x90\
+\xae\x46\x41\xaa\x0a\x42\xa1\x60\xce\xf6\xdf\x6c\xf7\xa0\xd6\x68\
+\x46\xbf\xc9\x05\xd3\x9f\xfa\x3e\x36\xf6\x5d\x9e\x51\xd1\x21\x97\
+\x8a\xfc\x63\x7e\xac\xef\x69\x09\x72\x14\x66\x6b\xa1\x96\xf3\xf3\
+\xd1\xe0\x74\x3a\xd1\xd6\xd6\x86\xd6\xd6\x56\x0c\x0f\x0f\xc3\x6e\
+\xb7\xfb\x73\x2b\x8b\x44\x22\xa8\x54\x2a\xa8\x54\x2a\xa4\xa7\xa7\
+\x23\x3f\x3f\x1f\x69\x69\x69\x9c\x32\x3c\x8c\xbd\x3c\xba\xbb\xbb\
+\x61\x30\x18\xd0\xd7\xd7\x07\xab\xd5\x0a\xbb\xdd\xee\x0f\x34\x93\
+\xcb\xe5\x50\xa9\x54\x48\x4c\x4c\x44\x5e\x5e\x1e\x72\x72\x72\x26\
+\x59\x99\xf8\x26\xac\x8c\x46\x23\x7a\x7a\x7a\x60\xb7\xdb\x61\xb3\
+\xd9\x60\xb3\xd9\x60\xb7\xdb\xe1\x70\x38\xc0\xb2\x2c\x84\x42\x21\
+\x94\x4a\xa5\xff\xfc\x29\x95\x4a\xa8\xd5\x6a\x64\x67\x67\x23\x35\
+\x35\x95\xd4\x69\x08\x06\x06\x06\xd0\xd1\xd1\x01\x8b\xc5\x32\xe9\
+\x1c\x8f\xb9\x34\x28\x14\x8a\x49\xe7\x38\x23\x23\x03\x59\x59\x59\
+\x61\x59\x3b\xe7\x9a\x98\xef\xec\xec\x44\x77\x77\x77\xd0\x31\xa7\
+\x50\x28\xfc\xe7\x45\xa9\x54\x22\x35\x35\x15\xd9\xd9\xd9\x48\x48\
+\x48\x98\xb7\x63\xa5\xbc\xbc\x3c\xe8\xff\x4b\x13\xb3\x21\x56\xeb\
+\xf9\x23\xf4\xcd\x3d\xfe\xcf\xb9\xb9\xb9\x90\x48\x24\xd3\x66\x0b\
+\x9a\x49\xf0\xed\xc4\xed\x82\xe5\xdd\x9f\xe8\x32\x34\x26\xf2\x01\
+\x60\x78\x78\xd8\xff\x7b\x8d\x46\x03\xbd\x5e\x8f\xa2\xa2\x22\x3c\
+\x78\xf0\x00\x00\x60\x37\x56\x42\x99\xbd\x6a\xda\xe3\x2b\xd2\x96\
+\xc0\xde\xf1\x30\xe8\x7b\xe1\xd6\xad\x5b\x38\x7c\xf8\x30\x09\xfd\
+\xb8\x3f\x60\x58\x16\x86\x5e\x1b\x6a\x3a\x4c\x78\xdc\x6e\xc2\xa0\
+\xc5\x1d\xfc\xa5\x0e\xc0\xea\xf4\xc2\xea\xf4\xa2\x0b\x8e\xc0\x1b\
+\x4e\x2c\xc4\x92\x4c\x0d\x8a\x72\x74\x58\xbe\x40\x0b\x95\x8c\xff\
+\xa7\xcb\x6c\xf7\xa0\xa6\xdd\x84\xea\x76\x13\x9a\x7b\xac\x21\x57\
+\x2c\xdc\x5e\x06\x03\x66\x17\x06\xcc\x81\x16\x96\xcf\x01\x64\x27\
+\x2b\x50\x94\x93\x80\xe2\x5c\x1d\xd2\x13\xe4\xbc\xef\xbb\xd7\xc7\
+\xa0\xb1\xdb\x8a\xea\x76\x13\x6a\x3b\x4c\xb0\x38\xbc\x21\xc7\xca\
+\xd8\xa4\x0f\x83\x81\xff\xa7\x94\x89\x50\x98\xad\x43\x51\x8e\x16\
+\xcb\xb2\xb4\x90\x8a\xf9\xff\x22\xee\x19\x71\xe2\xf1\x9f\xae\xbd\
+\x71\xc0\x8e\x50\xeb\x15\x4e\xb7\x0f\x4e\xb7\x0f\x7d\xa6\xa7\x1f\
+\xd6\x40\x7e\xaa\x0a\x2b\x72\x74\x28\x5a\xa0\x83\x5e\x1b\x7f\x11\
+\x6b\x34\x1a\x51\x51\x51\x81\xae\xae\xae\x69\xad\x61\x3e\x9f\x0f\
+\x66\xb3\x19\x66\xb3\x19\xdd\xdd\xdd\x78\xf8\xf0\x21\x14\x0a\x05\
+\x96\x2e\x5d\x8a\x35\x6b\xd6\xf8\x97\x72\xa7\xc3\x6e\xb7\xa3\xa2\
+\xa2\x02\x8d\x8d\x8d\xfe\xc9\xc3\x54\x0f\x7b\x87\xc3\x01\x87\xc3\
+\x81\x81\x81\x01\x34\x36\x36\x42\x28\x14\x22\x3b\x3b\x1b\xa5\xa5\
+\xa5\xbc\x49\xc1\xe6\x76\xbb\xd1\xd6\xd6\x06\x83\xc1\x80\xb6\xb6\
+\xb6\x90\x81\x64\x0c\xc3\xc0\x6a\xb5\xc2\x6a\xb5\x4e\xb6\x2e\xaa\
+\x54\xc8\xcf\xcf\x47\x7e\x7e\xfe\xbc\x14\xa5\x91\x19\x12\xc6\x27\
+\x83\x2d\x2d\x2d\xfe\x14\x7f\xc1\xb6\xb7\xdb\xed\xb0\xdb\xed\x18\
+\x18\x18\x08\x7c\xcf\x48\xa5\xc8\xc9\xc9\x41\x7e\x7e\x3e\xef\x27\
+\x8d\xc1\x70\xb9\x5c\x68\x6f\x6f\x87\xc1\x60\x40\x7b\x7b\xfb\x24\
+\x1f\xee\xa9\xc6\xdc\xd8\x04\x60\x8c\xba\xba\x3a\x00\xf0\x4f\x32\
+\xb3\xb3\xb3\x91\x97\x97\xe7\xb7\xcc\xce\x75\xcc\x66\x33\x9e\x3c\
+\x79\x12\x74\x9b\x48\x2a\xbd\xce\xea\xb3\x64\x82\xd0\x5f\xb5\x6a\
+\xd5\x24\xb1\xfd\xb4\xd0\x7f\x5a\xa8\x73\x11\xf9\x53\x59\xf0\x27\
+\xfe\x78\xbd\x5e\xbf\xc1\x85\x61\x18\xf8\x7c\x3e\xb0\x2c\x8b\xe1\
+\xe1\x61\x34\x34\x34\xf8\xf7\xd3\xe9\x74\x00\x80\x85\x0b\x17\xfa\
+\x85\xbe\xcf\x65\x09\x31\xc1\xca\x81\x50\xa2\x00\xe3\x71\x4c\xbb\
+\x4d\x65\x65\x25\x09\xfd\x78\x0b\xdc\x8b\x55\xbd\x78\x64\x18\x81\
+\xcd\xe5\x8d\xce\x00\xf7\x32\xa8\x69\x37\xa1\xa6\xdd\x04\xa1\x40\
+\x80\xfc\x34\x15\x76\x15\xa7\x62\x59\x96\x96\x5f\x2f\x1d\x00\x0f\
+\x5b\x86\x71\xe3\x49\x3f\x3a\xfa\x43\x0b\xbc\xb0\xc5\xd5\xa0\x03\
+\xc6\x41\x07\xce\x3e\xec\x86\x5e\x2b\xc3\x86\xc5\xc9\xd8\xb6\x5c\
+\xcf\xbb\x55\x8e\x5e\x93\x13\x17\x1e\xf5\xe2\x71\x87\x29\x6a\x2e\
+\x29\x76\x97\x0f\x15\xcd\x43\xa8\x68\x1e\x82\x58\x24\xc4\xb2\x2c\
+\x0d\xca\x56\xa5\x21\x3b\x59\xc9\xab\xbe\x7b\x7c\x0c\x6e\xd4\x0e\
+\xe0\x4e\xc3\x20\x06\x2d\xd1\x59\x0e\x67\x59\xa0\xa5\xd7\x86\x96\
+\x5e\x1b\xbe\xba\xd7\x85\xf4\x04\x39\x36\x2f\xd3\x63\xe3\x92\x64\
+\x88\x62\xbc\xca\xd1\xdb\xdb\x8b\x3b\x77\xee\xa0\xb3\xb3\x33\xa2\
+\xfd\x1d\x0e\x07\x1e\x3d\x7a\x84\xda\xda\x5a\xac\x5e\xbd\x1a\xab\
+\x56\xad\xf2\x07\x74\x4d\x14\xc5\x8f\x1e\x3d\x42\x65\x65\x65\x44\
+\x99\x15\x18\x86\x41\x7b\x7b\x3b\xda\xdb\xdb\x91\x97\x97\x87\x0d\
+\x1b\x36\x20\x39\x39\x39\x2e\xe3\xa1\xbb\xbb\x1b\x15\x15\x15\x30\
+\x1a\x8d\x51\x73\x17\xb1\xd9\x6c\xa8\xa9\xa9\x41\x4d\x4d\x0d\xa4\
+\x52\x29\xf2\xf3\xf3\xb1\x6e\xdd\x3a\x68\xb5\xfc\x7a\x0e\xc6\x02\
+\x9b\xcd\x86\x8a\x8a\x0a\x34\x35\x35\x4d\x3b\x19\x8c\x64\x52\xd6\
+\xd4\xd4\x84\xa6\xa6\x26\xff\xa4\x71\xed\xda\xb5\xc8\xc8\xc8\x98\
+\x13\xe7\x64\x36\xc6\x9c\xd5\x6a\x45\x5d\x5d\x1d\xea\xea\xea\x20\
+\x95\x4a\x51\x54\x54\x84\x95\x2b\x57\x42\xa9\x54\xce\xe9\xf1\x73\
+\xff\xfe\xfd\x90\xe7\x48\x96\x9c\xcf\xaf\x77\x8c\xa9\xdb\xff\x79\
+\xe1\xc2\x85\xb0\xd9\x6c\x53\xf6\x41\x28\x14\x06\xa4\xd7\x0c\xb7\
+\x30\xd6\x54\x42\xff\x69\x6b\xfe\xc4\xc9\x24\xcb\xb2\x60\x59\xd6\
+\x2f\xf2\x01\xe0\xd4\xa9\x53\xfe\x98\x01\x9d\x4e\xe7\xbf\x77\x26\
+\xae\x3c\x88\x64\x9a\xe0\x8d\x10\x08\x20\x4f\x5d\x04\x7b\x67\xf5\
+\xb4\x9b\x34\x36\x36\xc2\xed\x76\xcf\xb9\x89\xe7\x9c\x17\xfa\x4e\
+\x8f\x0f\x57\xaa\xfb\x70\xbd\xb6\x7f\x56\xfd\x8e\x19\x96\x45\x73\
+\x8f\x15\xcd\x3d\x56\x2c\xce\xd0\xe0\xf9\xd2\x4c\x64\x27\x2b\xe2\
+\xde\xff\xc6\x6e\x0b\x4e\xde\xef\x82\x71\xd0\x31\xab\xc7\x19\x30\
+\xbb\x70\xaa\xa2\x0b\x37\x9f\xf4\x63\xdf\xea\x74\xac\x5b\x94\x04\
+\xa1\x20\xbe\xae\x2d\x66\x87\x07\xe7\x1e\xf6\xe0\x6e\xe3\xd0\xac\
+\xfa\xdb\x7b\x7d\xa3\x13\xbe\xc7\xed\x26\x94\xe4\x27\xe2\xc0\x9a\
+\x0c\x24\x6b\xe2\x7b\xa3\xb3\x2c\x70\xaf\x69\x08\x67\x1f\x75\xc3\
+\x64\x9b\xdd\xb4\x5f\x3d\x23\x4e\x7c\x7e\xc7\x88\xeb\xb5\xfd\x38\
+\xb0\x26\x03\xab\xf2\x12\x10\x8b\x2b\x5f\x51\x51\x81\xbb\x77\xef\
+\x86\xf4\x67\x0d\x57\x4c\x95\x97\x97\xa3\xa1\xa1\x01\x07\x0f\x1e\
+\xf4\x5b\x7c\x06\x07\x07\x71\xe6\xcc\x19\x98\xcd\xe6\xa8\xb4\xb9\
+\xb5\xb5\x15\xed\xed\xed\xd8\xba\x75\x2b\x8a\x8a\x8a\x62\x36\x1e\
+\x86\x87\x87\x71\xfb\xf6\x6d\xb4\xb6\xb6\xce\xea\x71\xdc\x6e\x37\
+\xea\xeb\xeb\xd1\xd8\xd8\x88\xa2\xa2\x22\x94\x96\x96\x86\x5c\x29\
+\x99\x0f\xb8\xdd\x6e\x3c\x7c\xf8\x10\x95\x95\x95\x53\x06\x21\x46\
+\xed\x3d\x33\x61\xd2\x98\x9f\x9f\x8f\x8d\x1b\x37\x06\xf8\x1e\xf3\
+\x89\xa1\xa1\x21\xdc\xb9\x73\x27\x26\x63\xee\xc1\x83\x07\xa8\xac\
+\xac\x44\x61\x61\x21\x4a\x4a\x4a\xe6\xec\x24\xb3\xaa\xaa\x2a\xb8\
+\xe0\x95\x2a\x21\xd1\xa6\xf1\xa6\xbd\x3e\xa7\x19\x8c\xdb\xee\x17\
+\xdc\x52\xa9\x74\xda\xf8\x8a\xa7\x03\x6f\xb9\x88\xfc\xe9\xdc\x76\
+\x26\xfe\x8c\xb9\x4f\x8e\xf9\xe5\x8f\x31\x56\x3c\x6b\x8c\x0d\x1b\
+\x36\xf8\x8f\xdd\xd6\x36\x9e\x6d\x47\xa4\x08\x3d\x66\xe4\x69\x4b\
+\x83\x0a\x7d\x8f\xc7\x83\xba\xba\x3a\xac\x5c\xb9\x92\x84\x7e\x4c\
+\x06\x20\xc3\xe2\x76\xfd\x00\x2e\x54\xf6\xc2\xea\xf4\xc6\xf4\xd8\
+\x8d\xdd\x16\xfc\xe2\xab\x7a\x94\x14\x24\xe2\xe0\x9a\x0c\x24\xc5\
+\xc1\x97\xbd\x6b\xc8\x81\x93\x15\x5d\xa8\xef\xb4\xc4\xf4\xb8\x26\
+\xbb\x07\x1f\xdf\xea\xc0\xb5\x9a\x7e\x1c\x2a\xcd\xc0\x8a\x05\xba\
+\x98\xf7\xdd\xe5\x61\x70\xa5\xa6\x17\xd7\x1e\xf7\xc7\x34\xa8\x94\
+\x05\xf0\xd0\x30\x8c\xaa\xb6\x11\x6c\x5e\xa6\x47\xd9\xaa\xb4\xb8\
+\xb8\x73\x3d\x31\x9a\x71\xb2\xa2\x0b\x3d\xc3\xce\x98\x1e\x77\xc0\
+\xec\xc2\xfb\x57\x5b\x71\x55\xaf\xc4\xf3\xa5\x99\x58\x94\xae\x9e\
+\xb5\x17\xfb\xa5\x4b\x97\x60\x30\x18\x66\x45\x10\x7f\xf2\xc9\x27\
+\x28\x2b\x2b\x83\xd7\xeb\xc5\xe5\xcb\x97\xa3\x9e\x1f\x99\x61\x18\
+\x5c\xbf\x7e\x1d\x3d\x3d\x3d\xd8\xb9\x73\xe7\xa4\x15\x84\x68\x62\
+\xb3\xd9\x70\xf7\xee\x5d\xd4\xd5\xd5\x45\x65\x42\xc4\xa5\x8f\x55\
+\x55\x55\xa8\xab\xab\x9b\x76\xa5\x64\x3e\xc0\x30\x0c\x6a\x6a\x6a\
+\x70\xff\xfe\xfd\xa8\x59\xf0\xc3\xc5\x60\x30\xa0\xb5\xb5\x15\x85\
+\x85\x85\x58\xb7\x6e\x1d\x54\x2a\x7e\x64\x61\xb1\x58\x2c\xb8\x7b\
+\xf7\x2e\x1a\x1a\x1a\x62\x3a\xe6\x7c\x3e\x1f\x6a\x6a\x6a\x50\x5b\
+\x5b\x8b\xd2\xd2\x52\xac\x59\xb3\x66\xce\xb9\x91\x35\x35\x35\x05\
+\xfd\x7f\x59\x52\x2e\xaf\xda\xeb\x31\x8d\xbb\xed\xa4\xa5\xa5\x05\
+\x75\x2b\x8b\x44\xe4\x8f\x09\xfd\x89\xfb\x8f\x7d\x9e\xf8\xaf\xc3\
+\xe1\xf0\x07\x00\x4f\x1c\x73\x16\x8b\x05\xbf\xfd\xed\x6f\xfd\xbf\
+\xd3\xeb\xf5\x58\xbc\x78\xf1\xa8\x56\x31\x99\x50\x5b\x5b\x3b\x2e\
+\xe2\x53\x17\x87\x6c\x8b\x34\x29\x17\x02\xb1\x14\xac\x77\x7a\xb7\
+\xb3\x9a\x9a\x1a\x12\xfa\xb1\xa0\x77\xc4\x89\xdf\x5d\x31\xa0\xcf\
+\x14\xbf\xc8\xfd\x31\x77\x99\xaa\xd6\x11\x3c\xbf\x36\x13\xdb\x57\
+\xa4\xc4\xe6\xc5\xc3\xb2\xf8\xea\x7e\x17\x6e\xd4\xf6\x23\x9e\x49\
+\x63\x7a\x4d\x4e\xbc\x7d\xc9\x80\x25\x99\x1a\x7c\x77\x7b\x2e\x54\
+\x31\x0a\xde\x6c\xea\xb6\xe2\xfd\x6b\xad\x31\x9f\xdc\x3d\x3d\xc9\
+\xbc\x51\xdb\x8f\x7b\x4d\x43\xf8\xd6\x96\x1c\x14\xe7\xc6\x66\xb2\
+\xe3\x74\xfb\xf0\xc1\x8d\x36\xd4\x76\x98\xe3\x7a\xff\x75\x0c\xd8\
+\xf1\xc6\xd9\x26\x94\xe4\x27\xe0\xd5\x2d\x39\x51\x8d\x5f\xf0\x7a\
+\xbd\xf8\xea\xab\xaf\x42\x16\x93\x99\xe9\x44\xe2\xf4\xe9\xd3\xb3\
+\x2e\x52\x1a\x1a\x1a\xe0\x70\x38\x70\xe8\xd0\xa1\x59\x11\x24\xb5\
+\xb5\xb5\xb8\x79\xf3\xe6\xac\x5a\x98\xc3\x39\x97\xe5\xe5\xe5\x78\
+\xfc\xf8\x31\xf6\xed\xdb\x87\xb4\x34\xfe\x58\x23\x67\xca\xe0\xe0\
+\x20\xce\x9e\x3d\x0b\x93\xc9\x14\xbf\xf7\x0c\xcb\xa2\xb6\xb6\x16\
+\x0d\x0d\x0d\xd8\xb9\x73\x27\x96\x2c\x59\x12\xd7\x73\xf2\xe4\xc9\
+\x13\x5c\xbf\x7e\x7d\x52\x45\xd4\x58\x4f\xbe\xee\xde\xbd\x8b\xd6\
+\xd6\x56\xec\xd9\xb3\x67\xce\x04\xee\x0e\x0d\x0d\x85\xcc\xda\x22\
+\xd3\xf3\xd7\x6d\x27\x27\x27\x27\xe8\xb6\x02\x81\xc0\x9f\x1e\x33\
+\x5c\x9e\x0e\xd6\x9d\xca\x75\xc7\xe9\x74\xfa\x5d\x76\x02\xda\xe6\
+\xf1\xe0\xd8\xb1\x63\x18\x1c\x1c\x0d\xb0\x13\x89\x44\xd8\xbe\x7d\
+\xbb\xff\xff\x6f\xdd\xba\xe5\xb7\xfc\x8b\x55\xc9\x50\xa4\x2f\x0f\
+\xdd\x1e\xa1\x08\xf2\x94\x45\x70\x74\xd7\x06\x15\xfa\x73\x8d\x39\
+\x17\x55\xf5\xc4\x68\xc6\x7f\x9d\x6a\x8c\xab\xc8\x7f\x5a\xf4\x9d\
+\xb8\xd7\x89\x3f\xde\x6c\x9f\xf5\x54\x9d\x0e\xb7\x0f\xbf\xbd\xd0\
+\x82\xeb\x8f\xe3\x2b\xf2\x03\xc4\x4c\x97\x05\xbf\x38\xd9\x80\x9e\
+\x91\xd9\xb7\x76\xdd\xaa\x1b\xc0\x9b\x17\x9a\xe3\x2a\xf2\x9f\x16\
+\xde\xef\x5e\x31\xe0\x7c\x65\x0f\x66\xfb\x72\x0c\x98\x5d\xf8\xcf\
+\x53\x0d\x71\x17\xf9\x13\x79\x64\x18\xc1\x7f\x9f\x6e\x8c\x9a\xeb\
+\x10\xcb\xb2\xb8\x78\xf1\xe2\xac\x8a\xfc\x89\xc7\x8a\xc9\xa4\xa8\
+\xa3\x03\xd7\xaf\x5f\x8f\x7a\xdb\x6f\xdd\xba\x85\xab\x57\xaf\xc6\
+\x55\xe4\x4f\xc4\x6a\xb5\xe2\xf8\xf1\xe3\x01\x01\x71\x73\x19\x83\
+\xc1\x80\xcf\x3f\xff\x3c\xae\x22\xff\xe9\x09\xf0\xc5\x8b\x17\x71\
+\xfb\xf6\xed\x98\x5a\xd1\x27\x8e\xb9\x9b\x37\x6f\xe2\xca\x95\x2b\
+\x71\x15\xf9\x13\xe9\xeb\xeb\xc3\xc7\x1f\x7f\x1c\xd2\x1d\x86\x2f\
+\x34\x36\x36\x86\xdc\x46\x9a\x9c\xc7\x9b\xf6\xfa\xec\x23\xb0\x19\
+\xc7\xb3\xd0\xe4\xe6\x86\x5e\x6d\xe0\x9a\xe1\xec\xe9\xbc\xf9\x13\
+\x05\x3e\xcb\xb2\xb0\xd9\x6c\x70\x3a\x9d\x53\xa6\xf2\x7c\xef\xbd\
+\xf7\x02\xdc\xc6\x76\xee\xdc\xe9\xf7\xcd\x2f\x2f\x2f\x0f\x58\x11\
+\xd6\x2c\xda\x36\x9a\x65\x22\x0c\x42\xa5\xd9\x6c\x6f\x6f\x9f\x73\
+\x55\x72\xe7\x94\xd0\xbf\x52\xd3\x87\xb7\x2e\xb5\xf0\x32\xff\xfb\
+\xbd\xa6\x21\xfc\xea\x6c\x53\xc8\x4c\x2f\x33\x11\x7a\xff\x75\xaa\
+\x01\xf5\x5d\x16\xde\xf5\x7d\xc8\xea\xc6\x7f\x9d\x6a\xc0\x13\xe3\
+\xec\x88\x50\x1f\xc3\xe2\xb3\xdb\x46\x7c\x7e\xc7\x08\x86\x67\x75\
+\x0f\x58\x00\xe7\x1e\xf6\xe0\xfd\xab\xad\xb3\xe6\x46\x34\x36\x99\
+\xe2\xcb\xe4\x76\x22\x9d\x43\x0e\xfc\xc7\xc9\x06\xb4\xf5\xdb\x66\
+\xfc\xb7\xee\xdc\xb9\x83\x96\x96\x16\xcc\x37\x6a\x6b\x6b\xf1\xe8\
+\xd1\xa3\xa8\xfc\x2d\xb7\xdb\x8d\x53\xa7\x4e\xa1\xb2\xb2\x92\x77\
+\xfd\xf4\xf9\x7c\xb8\x78\xf1\x22\xee\xdc\xb9\x33\xa7\xaf\x57\x45\
+\x45\x05\xce\x9c\x39\xc3\xcb\x97\xf9\xc3\x87\x0f\x71\xea\xd4\xa9\
+\x90\x19\x6d\xa2\x89\xcb\xe5\xc2\xc9\x93\x27\x79\x29\xa8\xbd\x5e\
+\x2f\x6e\xde\xbc\x89\xfa\xfa\x7a\xde\x8f\xab\x50\x6e\x3b\x62\xb5\
+\x1e\x22\x99\x9a\x1f\x8d\x65\x19\x0c\x57\x7f\xe5\x77\x61\xd1\x6a\
+\xb5\x28\x2d\x2d\x8d\xbe\x00\x9d\xc6\x6d\x67\x2c\x23\xd3\x74\x86\
+\x8c\x13\x27\x4e\x04\x3c\x53\x4b\x4b\x4b\xb1\x6c\xd9\x32\x00\xa3\
+\x99\x9b\x26\x56\xb1\x95\xa7\x2e\x86\x3c\x2d\xfc\x95\x30\x99\x3e\
+\x1f\x02\xa1\x68\xda\xff\x67\x18\x06\x5d\x5d\x5d\x24\xf4\xa3\x7e\
+\x33\xfb\x58\x7c\x78\xa3\x0d\x27\xef\x77\x81\xcf\x35\x8e\x5a\xfb\
+\x6c\xf8\xc5\xc9\x7a\x74\x0e\x45\x37\x30\xb6\xb1\x9b\xbf\x42\xcf\
+\xff\x32\xf0\x30\x78\xeb\x52\x0b\xae\xd6\xf4\x45\xf5\xef\xda\x5c\
+\x5e\xbc\x79\xbe\x19\x5f\xd7\x0f\xf0\x7a\x8c\x56\xb6\x8e\xe0\x7f\
+\xce\x34\x62\x24\xca\x81\xb1\x37\x9e\xf4\xe3\x37\x17\x5a\xfc\x75\
+\x0f\xf8\x88\xc5\xe1\xc1\xaf\xce\x36\xa1\xa2\x79\x38\xf2\x89\xec\
+\xc0\x40\xd4\xc4\x30\x1f\xb9\x7b\xf7\x6e\xc8\x14\x8c\xa1\x30\x99\
+\x4c\xf8\xec\xb3\xcf\xd0\xde\xde\xce\xeb\xbe\x3e\x78\xf0\x80\xb7\
+\x42\x39\x94\x68\xbc\x70\xe1\x42\xc8\x3c\xe7\xf1\xa6\xbd\xbd\x1d\
+\x9f\x7e\xfa\x29\x46\x46\x46\x66\xfd\x58\x23\x23\x23\xf8\xf4\xd3\
+\x4f\xd1\xd1\xd1\xc1\xeb\x73\x32\x17\x84\x7e\x73\x73\x73\x70\x81\
+\xc9\xa3\x6c\x3b\x96\xe6\x5b\x7e\xb7\x1d\x81\x40\x80\xd7\x5f\x7f\
+\x3d\xea\x19\x8f\x26\x66\xda\x19\x3b\xce\xd8\xc4\x72\xba\xcc\x3e\
+\xc0\xa8\x4b\xce\xa5\x4b\x97\xfc\xdf\x17\x2f\x5e\x8c\x0d\x1b\x36\
+\x00\x00\x3a\x3b\x3b\x71\xf5\xea\x55\xff\xff\x49\xb4\xe9\x48\x28\
+\x7e\x9e\x53\xbb\x04\x22\x09\x44\x72\x6d\xc8\x7b\x90\x84\x7e\x34\
+\x27\x96\x00\xde\xbf\xd6\x3a\x23\x11\x11\x4b\x46\x6c\x1e\xfc\xea\
+\x4c\x13\x7a\x4d\xd1\x71\x65\x69\xea\xb1\xf2\x5e\xe8\xf9\xaf\x15\
+\x0b\x7c\x75\xbf\x0b\x17\x2a\xa3\xe3\x7a\xe1\xf6\x32\x78\xf3\x5c\
+\x33\x9a\x7b\xac\x73\xe2\xda\x1b\x07\x1d\xf8\x9f\x33\x8d\xb0\x45\
+\xc9\xb5\xe8\xda\xe3\x7e\x1c\x2f\xef\x9c\x13\x15\x7c\xc7\x26\xe3\
+\x0f\x5a\x22\xbb\x4f\x6f\xdc\xb8\x11\x17\x97\x84\x58\x8a\xc8\x9b\
+\x37\x6f\x46\x3e\xe1\xb5\xd9\xf0\xc5\x17\x5f\x04\x14\x85\xe1\x33\
+\x06\x83\x01\xa7\x4f\x9f\x9e\x33\x15\x61\x59\x96\xc5\xd9\xb3\x67\
+\xc3\x72\xaf\xe0\xc5\x7b\x66\x64\x04\x27\x4e\x9c\x08\xc8\x41\x1f\
+\x6d\x6c\x36\x1b\x4e\x9c\x38\xc1\x1b\xf7\xa5\x60\x84\xe3\x56\x12\
+\x6f\x42\xb9\x24\xf2\xc5\x3f\xdf\x3d\x6c\x84\xd5\x30\xbe\x2a\xf7\
+\xdc\x73\xcf\xf9\xad\xe5\xd1\xe4\x69\xb7\x1d\xaf\xd7\x0b\xbb\xdd\
+\x1e\x74\xb5\xaa\xb6\xb6\x16\x1f\x7f\xfc\xb1\xff\x7b\x46\x46\x06\
+\x76\xef\xde\xed\xbf\x27\xce\x9c\x39\xe3\x77\x2d\x13\xc9\x35\x48\
+\x5a\xfd\x12\x04\x22\x09\xf7\xb6\x85\xc8\xd0\xc3\xf7\x89\xef\x9c\
+\x13\xfa\x67\x1e\x74\xa3\xa6\xdd\x34\xa7\x4e\xaa\xd3\xe3\xc3\xdb\
+\x97\x0c\xb0\xbb\x66\x26\xce\x07\x2d\x2e\xbc\x7b\xc5\x30\xeb\xbe\
+\xff\xd1\xe6\xdc\xc3\x6e\x54\xb7\xcd\xec\x9a\xb1\x00\xfe\x70\xa3\
+\x3d\xea\xab\x23\xb3\xcd\x90\xd5\x8d\x77\xaf\xb6\xce\xf8\x9a\xd5\
+\x77\x8d\xa6\x4d\x9d\x6b\x7c\x74\xab\x03\xed\x03\x76\x4e\xfb\x34\
+\x37\x37\xa3\xbb\xbb\x1b\xf3\x1d\x83\xc1\x10\x51\x3d\x00\xaf\xd7\
+\x8b\xd3\xa7\x4f\x4f\x5b\x8d\x92\xaf\x74\x76\x76\xce\x68\x72\x13\
+\x4b\xbe\xfe\xfa\xeb\x39\x67\xa5\xb3\xd9\x6c\x38\x7d\xfa\xf4\xac\
+\xc4\x69\x78\xbd\x5e\x9c\x39\x73\x66\x56\x27\x12\xd1\x22\x27\x27\
+\x27\xa6\xa9\x6c\x23\x3d\x9f\xa1\x56\x60\xc4\xaa\xe4\xb8\xb7\x93\
+\xf1\xba\x30\x52\x7d\x12\x63\xae\x13\xd9\xd9\xd9\x78\xe1\x85\x17\
+\x66\x6d\x72\xcd\x30\x0c\x3c\x1e\x0f\x1c\x0e\xc7\x94\x01\xb7\x13\
+\x69\x69\x69\xc1\xdb\x6f\xbf\xed\x37\x1e\xe8\x74\x3a\x1c\x3c\x78\
+\x10\x22\x91\x08\x4e\xa7\x13\x27\x4f\x9e\xf4\xa7\xfe\x14\x88\xa5\
+\x48\x5c\xfd\x0a\x84\x11\xba\x42\x89\xe4\xba\x79\x25\xf4\x79\x9d\
+\x75\xe7\x61\xcb\x30\x2e\x55\x45\x2f\x30\x4f\x20\x00\xb4\x0a\x09\
+\xb4\x4a\x09\x74\x4a\x09\xb4\x0a\x09\x9c\x1e\x1f\x4c\x76\x0f\x4c\
+\x76\x0f\xcc\x76\x4f\xd4\xfc\xac\x07\xcc\x2e\xbc\x77\xb5\x15\x3f\
+\x2c\x2b\x80\x30\x82\x22\x43\x4e\xb7\x0f\x6f\x5d\x9c\xf9\x64\x61\
+\x22\x72\x89\x08\x5a\xa5\x18\x1a\xc5\x68\xdf\x45\x42\x01\x2c\x0e\
+\x0f\xcc\x0e\x2f\x2c\x0e\x4f\xd4\x82\x5c\x59\x00\x1f\xde\x68\xc3\
+\xdf\x6a\x16\x23\x2b\x29\xb2\x5a\x03\xe7\x1f\xf5\xa0\xaa\x6d\x24\
+\xaa\xd7\x3e\x55\x2b\x87\x46\x31\xda\x7f\xa5\x4c\x04\x87\xdb\x07\
+\xab\xd3\x0b\xb3\xc3\x83\x3e\x93\x2b\x6a\xfe\xff\xcd\x3d\x56\x7c\
+\x51\x6e\xc4\x2b\x9b\x16\x44\x3c\x76\xde\xbf\xda\x1a\x55\x4b\xbe\
+\x4a\x2e\x86\x56\x31\x3a\xee\x75\x4a\x09\x58\xb0\xfe\x71\x6f\xb2\
+\x79\xa2\xb6\x62\xe4\xf5\x31\x78\xe7\x92\x01\x7f\x7f\x78\x09\xb4\
+\xca\xf0\x2c\x29\x13\x53\xa0\x71\x45\x2a\x95\x42\xaf\xd7\x43\xa5\
+\x52\x61\x70\x70\x10\xc3\xc3\xc3\x51\x5f\x19\x10\x0a\x85\x48\x4a\
+\x4a\x42\x62\x62\x22\xac\x56\x2b\x06\x06\x06\x22\x76\x4b\x79\xf2\
+\xe4\x09\xb2\xb2\xb2\x38\xed\x73\xf9\xf2\x65\xf4\xf7\xf7\x47\xef\
+\xa1\x2f\x16\x43\xa5\x52\xf9\x7f\xa4\x52\x29\x1c\x0e\x87\xbf\x3b\
+\x82\x1d\x45\x00\x00\x20\x00\x49\x44\x41\x54\x4a\xa9\xdd\x6e\x8f\
+\x9a\x25\xbe\xa6\xa6\x06\xc9\xc9\xc9\x58\xb1\x62\x05\x6f\xdf\x33\
+\x75\x75\x75\x51\x8d\x79\x10\x08\x04\x50\x2a\x95\xfe\x1f\x85\x42\
+\x01\x8f\xc7\x03\xbb\xdd\xee\x3f\xbf\xd1\x12\xe7\xfd\xfd\xfd\xb8\
+\x78\xf1\x22\xf6\xef\xdf\x1f\xd5\x73\x72\xe9\xd2\x25\xf4\xf5\xf5\
+\x45\x75\xcc\x29\x95\x4a\xa8\x54\x2a\x28\x95\x4a\x7f\x3e\x76\x87\
+\xc3\x01\xbb\xdd\x1e\xf1\xaa\x41\x4e\x4e\x0e\x0e\x1c\x38\x00\x91\
+\x48\xc4\x6b\xa1\x35\x38\x38\x18\xf2\xb9\x24\x94\xc4\xbf\x1e\x85\
+\xb9\xf6\x1c\x7c\xce\xd1\x58\x3b\x89\x44\x82\x3f\xff\xf3\x3f\x9f\
+\xb5\x73\xcb\xe5\x1e\xa8\xa9\xa9\xc1\xdb\x6f\xbf\xed\x7f\xee\xca\
+\xe5\x72\x3c\xff\xfc\xf3\x90\xcb\xe5\xf0\x78\x3c\x38\x75\xea\xd4\
+\xf8\x18\x12\x08\x90\xb8\xf2\x1b\x90\x68\x22\xcf\x84\x28\x52\x04\
+\x17\xfa\x73\xcd\x47\x9f\xb7\x42\xbf\x63\xc0\x8e\x3f\xde\x9a\xf9\
+\xac\x49\x26\x11\x62\x69\x96\x16\x45\x0b\x74\x28\xcc\xd6\x42\x29\
+\x13\x05\x99\x61\x8e\xfa\xd9\xd7\x74\x8c\x56\xc3\x1d\x30\xcf\xcc\
+\x27\xbe\xb1\xdb\x82\x13\xf7\x3a\xf1\xe2\x86\x6c\x6e\xb3\x6a\x96\
+\xc5\xfb\xd7\xda\xa2\xe2\xfe\x93\x91\xa8\x40\x71\xae\x0e\xc5\x39\
+\x3a\x64\x86\x10\xdd\x26\x9b\x07\xd5\xed\x26\x54\xb7\x8f\xa0\xa5\
+\xd7\x36\x23\xe1\xeb\xf6\x32\x78\xfb\x52\x0b\xfe\xee\xf9\xa5\xd0\
+\x28\xb8\x0d\xb3\xca\xd6\x11\x5c\x78\xd4\x13\x95\x89\xcd\xfa\xc5\
+\x49\x58\x9c\xa1\x41\x7e\x9a\x0a\x0a\xe9\xf4\xd7\xde\xe5\x61\xd0\
+\xda\x6f\x43\x53\xb7\x15\xe5\x8d\x83\x33\x76\xbf\xb9\x5d\x3f\x88\
+\xf4\x04\x05\xb6\x16\xea\xb9\x4d\xf0\x3c\x3e\xbc\x75\xc9\x30\x63\
+\xe1\x2d\x14\x0a\x90\x9f\xaa\x42\x51\x8e\x0e\x2b\x16\xe8\x42\x16\
+\xf8\xea\x33\x39\xf1\xb8\xc3\x8c\x9a\x76\x13\xda\xfa\x6d\x33\x8a\
+\x85\x31\x3b\x3c\x78\xfb\xb2\x01\x7f\x7b\x60\x11\xc4\x21\xaa\x28\
+\xdb\xed\x76\x18\x8d\x46\xce\xc7\xd0\xe9\x74\xd8\xb1\x63\x07\xb2\
+\xb3\xb3\x27\xbd\x3c\x1e\x3d\x7a\x84\x8a\x8a\x8a\x19\x67\x07\x91\
+\x48\x24\xd8\xb0\x61\x03\x8a\x8a\x8a\x02\xd2\x63\xb2\x2c\x8b\xb6\
+\xb6\x36\xdc\xb8\x71\x83\xb3\xdf\x7d\x4b\x4b\x0b\x3c\x1e\x0f\x24\
+\x92\xf0\x26\x41\xf7\xef\xdf\x0f\x19\xc4\x17\x0e\x1a\x8d\x06\xf9\
+\xf9\xf9\xc8\xcf\xcf\x47\x46\x46\x46\xd0\x74\x9f\x1e\x8f\x07\xed\
+\xed\xed\x30\x18\x0c\x68\x6b\x6b\x9b\xb6\x40\x4e\xb8\xdc\xb8\x71\
+\x03\x09\x09\x09\x9c\x27\x38\xb1\xa0\xbb\xbb\x3b\xc0\xa7\x77\x26\
+\x63\x25\x27\x27\x07\x05\x05\x05\xc8\xcd\xcd\x0d\x5a\x39\x93\x65\
+\x59\x74\x75\x75\xa1\xa5\xa5\x05\x06\x83\x01\x56\xeb\xcc\x5c\x13\
+\x5b\x5a\x5a\x70\xe7\xce\x1d\x6c\xdc\xb8\x31\x2a\xe7\xa4\xbc\xbc\
+\x3c\xa4\x3f\x79\x38\xa8\xd5\x6a\xe4\xe7\xe7\xa3\xa0\xa0\x00\x99\
+\x99\x99\x41\x33\xb2\x38\x1c\x0e\x18\x8d\x46\x18\x8d\x46\x34\x35\
+\x35\x85\x35\x91\xce\xcd\xcd\xc5\xfe\xfd\xfb\x79\x2f\xf2\x81\xd1\
+\x18\xa4\xa0\x93\x43\xa1\x28\x22\x17\x93\x68\xe2\xe8\xaa\x81\xa3\
+\xa7\xce\xff\xfd\xe5\x97\x5f\x46\x7a\x7a\x7a\xdc\xcf\x5d\x79\x79\
+\x39\x3e\xfc\xf0\x43\xbf\xf1\x41\x22\x91\xe0\xc0\x81\x03\x48\x48\
+\x48\xf0\x5b\xf2\x27\xba\x45\xe9\x96\xed\x99\xb1\x1b\x54\x28\x1f\
+\xfd\x68\x15\x58\x8c\x15\x02\x96\x87\x8e\xb1\x56\xa7\x17\xff\xf7\
+\xcb\x7a\x98\xed\x91\x07\x73\xa9\xe5\x62\xec\x59\x95\x86\x4d\x4b\
+\xf4\x10\x8b\x22\xab\xe3\xd9\xd6\x6f\xc3\xa9\x8a\xee\x19\xfb\x88\
+\xbf\xba\x25\x07\xeb\x17\x27\x85\xbd\xfd\xc9\xfb\x5d\xb8\x32\xc3\
+\xa0\xd6\xe2\x5c\x1d\x0e\xac\xce\x40\x5a\x42\x64\x56\x02\x9b\xd3\
+\x8b\xcb\x35\x7d\xb8\xf9\x64\x00\x5e\x5f\xe4\xd6\xbd\xbc\x14\x15\
+\x7e\x7c\x70\x51\xd8\x55\x74\xbb\x87\x9d\xf8\xaf\x53\x0d\x33\x5a\
+\x59\x11\x8b\x84\xd8\xb2\x2c\x19\xbb\x8b\xd3\x22\xca\xef\xef\xf2\
+\x30\xb8\xfa\xb8\x0f\xd7\x1e\xf7\xc1\xe5\x89\xbc\x1d\x42\xa1\x00\
+\x3f\xda\xbb\x10\x0b\x39\x14\x96\x7a\xfb\x52\x0b\x1e\xcf\x20\x85\
+\xa6\x48\x28\xc0\xe6\x65\x7a\xec\x59\x99\x06\x75\x84\xb5\x0d\x4c\
+\x76\x0f\xce\x3f\x9a\x79\xc5\xe1\xb5\x0b\x93\xf0\xed\x6d\xc1\x73\
+\x2f\x57\x56\x56\xe2\xd6\xad\x5b\x9c\xfe\xee\xd2\xa5\x4b\xb1\x73\
+\xe7\xce\xa0\x2f\xf8\x91\x91\x11\x7c\xf9\xe5\x97\x11\x8b\xa8\x84\
+\x84\x04\x1c\x3e\x7c\x18\x1a\x8d\x26\xa8\x20\xbe\x74\xe9\x12\xe7\
+\x4c\x41\x7b\xf6\xec\x09\x2b\x1f\x7a\x6b\x6b\x2b\x4e\x9f\x3e\x3d\
+\xa3\xe7\x40\x5a\x5a\x1a\x36\x6e\xdc\x18\xb1\xc8\x66\x18\x06\x0d\
+\x0d\x0d\xb8\x7b\xf7\xee\x8c\x04\xa9\x5c\x2e\xc7\xd1\xa3\x47\xa1\
+\x56\x87\x7f\x2f\x70\x1d\x1b\x47\x8f\x1e\x85\x5e\x1f\xfe\xc4\xda\
+\x6e\xb7\xe3\xa3\x8f\x3e\x82\xc3\x11\xb9\x7b\xa0\x42\xa1\x40\x69\
+\x69\x29\x96\x2f\x5f\x1e\xb1\xe0\x34\x1a\x8d\xb8\x73\xe7\xce\x8c\
+\x2d\xe8\xfb\xf7\xef\x47\x41\x41\xc1\x8c\xfe\x86\xc1\x60\xc0\x99\
+\x33\x67\x66\xf4\x37\x52\x53\x53\xb1\x71\xe3\xc6\x49\x93\xf0\xb0\
+\x8d\x44\x6e\x37\x9e\x3c\x79\x82\xaa\xaa\xaa\x69\x27\xd2\x79\x79\
+\x79\xd8\xbf\x7f\xff\x9c\x29\x98\x75\xed\xda\x35\xbc\xf9\xe6\x9b\
+\xd3\xbf\x2b\x64\x2a\xa4\xed\xf8\x71\xdc\xda\xe7\xb3\x8f\xa0\xff\
+\xf6\xef\xc0\xfa\x46\xfd\xe3\x57\xae\x5c\x89\xbf\xfc\xcb\xbf\x8c\
+\xfb\x79\xbb\x74\xe9\x12\x4e\x9c\x38\xe1\x5f\x0d\x19\xb3\xe4\xa7\
+\xa5\xa5\xc1\x6a\xb5\xe2\xcb\x2f\xbf\x0c\x88\x5b\x52\xe5\xad\x83\
+\x76\xc9\x73\x33\x3e\xae\x7b\xd8\x88\xc1\x7b\x1f\x06\xdd\xe6\xdd\
+\x77\xdf\x0d\xdb\x60\x13\x6f\x44\xff\xf2\x2f\xff\xf2\x2f\x7c\x6b\
+\xd4\xc9\xfb\x5d\x68\xea\x8e\xec\xa5\x22\x15\x0b\xb1\xbb\x38\x0d\
+\xaf\xef\xcc\x43\x41\x9a\x3a\x22\xb7\x19\xff\xcb\x5e\x25\xc5\xba\
+\x45\x49\xc8\x4d\x51\xa2\x7b\xd8\x11\xb1\x6b\x8b\xa1\xcf\x8a\x4d\
+\x4b\xf5\x90\x88\x42\x3f\x94\x7a\x4d\x4e\xfc\xe1\x46\x7b\xc4\x79\
+\xd9\x0b\xd2\xd4\x78\x7d\x67\x2e\x76\xae\x48\x8d\x58\xe8\x8d\x9d\
+\xc7\xa5\x99\x1a\xac\x5b\x94\x04\xa7\xc7\x87\xae\xe1\xc8\x5e\x86\
+\x23\x76\x0f\x12\x54\x52\x64\x27\x87\x17\xb1\xff\xfb\xeb\xad\xe8\
+\x8f\x70\x25\x45\x28\x10\x60\xfd\xe2\x64\x7c\xef\xb9\x7c\xac\xca\
+\x4b\x88\xb8\x90\x93\x58\x24\xc0\xa2\x74\x35\x36\x2c\x49\x06\xc3\
+\xb0\xe8\x1c\x72\x20\x92\xc5\x0d\x96\x05\x8c\x83\x76\x6c\x5a\xaa\
+\x0f\x2b\x85\xef\xe3\x0e\x33\xce\xcf\x60\x25\x63\xed\xc2\x44\x7c\
+\x6f\x57\x3e\x56\xe7\x27\xce\xa8\x88\x95\x5c\x22\xc2\x8a\x05\x3a\
+\x94\xe4\x27\x60\xc4\xe6\x89\xf8\x7a\x74\x0f\x3b\xb0\x38\x43\x83\
+\xc4\x20\x95\xa3\x2b\x2b\x2b\x39\x05\x98\x26\x26\x26\xe2\xe0\xc1\
+\x83\x21\xab\xb0\xca\xe5\x72\xe8\xf5\xfa\x88\xf2\xba\x0b\x85\x42\
+\x3c\xff\xfc\xf3\x48\x4c\x4c\x0c\xfe\xf0\x14\x89\x90\x93\x93\x83\
+\xc6\xc6\x46\x4e\xe9\x0e\x55\x2a\x55\xc8\xe0\x41\x86\x61\x70\xea\
+\xd4\xa9\x88\xad\xe9\x09\x09\x09\xd8\xb9\x73\x27\xb6\x6c\xd9\x02\
+\xad\x56\x1b\xf1\x58\x10\x08\x04\xd0\xeb\xf5\x28\x2a\x2a\x82\x4c\
+\x26\x43\x5f\x5f\x5f\x44\x2b\x25\x63\x81\x76\x0b\x17\x2e\x0c\x7b\
+\x9f\xde\xde\x5e\x4e\xbe\xb0\x2b\x56\xac\xe0\x94\x19\xe4\xe6\xcd\
+\x9b\x11\xc7\x86\x48\x24\x12\xac\x5d\xbb\x16\x7b\xf7\xee\x0d\xb9\
+\x42\x12\x0a\xad\x56\x8b\xe5\xcb\x97\x23\x29\x29\x09\x03\x03\x03\
+\x11\x5f\xf3\xbe\xbe\x3e\x14\x15\x15\x71\xce\x65\x3e\x71\xcc\x9d\
+\x3e\x7d\x3a\xe2\xe3\xeb\x74\x3a\xec\xdc\xb9\x13\x5b\xb7\x6e\x9d\
+\xd1\x98\x13\x89\x44\x48\x4f\x4f\xf7\xfb\xdd\xf7\xf6\xf6\x06\xb8\
+\xbd\xcc\x35\x91\x0f\x00\x55\x55\x55\x41\x0b\x2d\x89\x14\x5a\xa8\
+\x16\xac\x89\x4f\xe3\x58\x06\x43\x0f\x3f\x85\xcf\x61\xf2\x5f\xc7\
+\xbf\xf9\x9b\xbf\x09\xba\x2a\x35\xeb\x4d\x62\x59\x9c\x38\x71\x22\
+\x60\xd2\xa9\xd1\x68\x70\xe4\xc8\x11\xe8\xf5\x7a\x0c\x0f\x0f\xe3\
+\xf8\xf1\xe3\x01\x96\x75\x75\xde\x06\x68\x97\xec\x8c\x4e\x03\x04\
+\x02\xd8\xda\xee\x07\xdd\x64\xef\xde\xbd\x90\xcb\xe5\x73\x62\xfc\
+\xf1\xee\x4e\x19\x30\xbb\x70\xbb\x61\x30\xa2\x7d\x13\xd5\x52\xfc\
+\xe4\xd0\x62\xec\x5b\x9d\x0e\x99\x24\x7a\x5d\x5b\x96\xa5\xc5\xdf\
+\x3d\xbf\x14\xa5\x0b\x93\x22\xda\xdf\xee\xf2\xe1\x72\x75\x78\xb1\
+\x06\xa7\x2b\xba\x23\xb2\xa2\x0a\x00\xec\x2b\x49\xc7\xdf\x1c\x58\
+\x84\xdc\x94\xe8\x95\x4a\x4f\x50\x49\xf0\xea\x96\x1c\xfc\xc5\xae\
+\x82\x88\xcf\xe9\xb9\x87\x3d\x61\x59\xe8\xeb\x3a\xcd\x11\x4f\xf0\
+\xb2\x92\x14\xf8\xdf\x47\x96\xe1\xe8\x96\x05\x48\x50\x45\x67\x96\
+\xad\x96\x8b\xf1\x8d\xf5\x59\xf8\xff\x5e\x2a\xe4\x64\x95\x0f\x14\
+\xbb\x4e\xdc\x6f\x1e\x0a\xfd\x92\x65\x59\x9c\xaa\x88\xcc\xef\x4f\
+\x2c\x12\xe2\xbb\xdb\x73\xf1\xed\x6d\xb9\x48\x52\x47\xef\xe1\x9c\
+\xaa\x93\xe3\xfb\xbb\xf3\xf1\xd2\xc6\xec\x88\x27\xcc\x5f\xdd\x0f\
+\x1e\x7c\xca\xd5\x37\x77\xf7\xee\xdd\x21\x45\xbe\x7f\x4c\x64\x65\
+\x45\xe4\x1b\x5e\x52\x52\x82\x94\x94\xf0\xfc\x3b\xa5\x52\x29\x76\
+\xee\xe4\xf6\x72\x09\x27\x2d\x62\x75\x75\x75\xc4\xcb\xc3\x05\x05\
+\x05\x38\x7a\xf4\xe8\x8c\xad\xbb\x4f\x8b\xaf\x92\x92\x12\x7c\xf3\
+\x9b\xdf\x0c\x39\x01\x9a\x8e\xc6\xc6\xc6\xa8\xc6\x1a\xcc\x84\xa1\
+\xa1\x21\xd4\xd5\xd5\x45\x2c\xcc\x5f\x79\xe5\x15\xac\x5b\xb7\x2e\
+\xaa\x16\xbd\x85\x0b\x17\xe2\xe8\xd1\xa3\x9c\x26\x43\x13\x31\x9b\
+\xcd\xa8\xae\xae\x9e\x91\x18\x8d\x74\xcc\xcd\xb4\xed\xd3\x8d\xb9\
+\x0d\x1b\x36\xe0\x95\x57\x5e\x41\x7e\x7e\x3e\x94\x4a\x25\x56\xaf\
+\x5e\x3d\xe7\x44\x3e\x80\x90\xae\x48\x42\xb1\x22\x6e\x6d\x9b\x2a\
+\x95\xa6\x4a\xa5\x8a\x5b\x7b\x18\x86\xc1\xef\x7f\xff\xfb\x80\x14\
+\x9a\x49\x49\x49\x78\xe9\xa5\x97\x90\x98\x98\x88\xde\xde\x5e\x7c\
+\xfe\xf9\xe7\x01\x2b\x8c\xda\x25\xcf\x41\xb3\x64\x47\xf4\xc6\x9e\
+\x4c\x0d\x08\x82\x8f\xb1\x99\xa6\x4b\x7e\xa6\x85\xfe\xa9\x8a\xee\
+\x88\x7c\xc3\xf3\xd3\x54\xf8\xbb\xe7\x97\x20\x23\x71\x76\x6e\x18\
+\xb1\x48\x80\xd7\xb6\xe5\xe0\xd0\xda\x0c\x44\x22\x79\xae\xd7\x0e\
+\x84\xcc\xb1\x6e\xe8\xb5\x45\x94\x61\x48\x2a\x16\xe2\xcf\x76\xe6\
+\x61\x6f\x49\x3a\x04\xb3\x74\x5d\x56\x2c\xd0\xe2\x27\x87\x96\x44\
+\x24\x24\xcd\x0e\x0f\xae\x3d\xee\x0f\x31\x83\x07\x4e\xde\x8f\xcc\
+\xba\x96\x91\x28\xc7\x5f\xed\x5b\x88\x54\x9d\x6c\x56\xfa\x9e\xa8\
+\x92\xe2\x7f\xed\x29\x40\x7e\x6a\x64\x0f\xbf\x33\x0f\xbb\x43\xba\
+\x3f\xdd\x6b\x1c\x42\x6f\x04\xd5\x85\x35\x0a\x09\x7e\xbc\x7f\x11\
+\x56\x17\x24\xce\xda\x3d\xb9\x65\x99\x1e\x3f\x2c\x2b\x08\x1a\xe3\
+\x30\x1d\xed\xfd\x76\x54\xb5\x8e\xcc\x48\xf4\x8e\xa1\x52\xa9\x90\
+\x9a\x9a\xca\xe9\xf8\x79\x79\x79\xdc\x9f\x25\xf9\xdc\xfc\x3b\xb3\
+\xb2\xb2\x38\x09\xbe\x50\x7d\x76\xbb\xdd\xa8\xa8\xa8\x88\xe8\x5a\
+\xad\x5d\xbb\x16\xfb\xf7\xef\x0f\x7b\x32\x14\x89\xc8\x7d\xf9\xe5\
+\x97\x91\x93\x93\x13\xd1\xfe\xb7\x6f\xdf\xe6\xc5\x7b\x26\xd2\x0a\
+\xb3\x59\x59\x59\x78\xe5\x95\x57\x22\x9e\xec\x84\x42\x22\x91\x60\
+\xdf\xbe\x7d\x11\x17\x27\xba\x7f\xff\x7e\x44\x16\x79\xa7\xd3\x19\
+\xf1\x98\x2b\x2d\x2d\xc5\xbe\x7d\xfb\x66\xcd\x8d\x41\xaf\xd7\xe3\
+\xc0\x81\x03\xf8\xde\xf7\xbe\x87\x4d\x9b\x36\xcd\x39\x91\x0f\x20\
+\xe4\x2a\x58\xbc\x02\x71\xbd\xd6\x81\x80\x54\x9a\xbb\x76\xed\xc2\
+\xd2\xa5\x4b\xe3\x3a\x21\x3a\x76\xec\x18\xee\xde\xbd\xeb\xff\x5d\
+\x5a\x5a\x1a\x5e\x7c\xf1\x45\xa8\xd5\x6a\xb4\xb7\xb7\xe3\xc4\x89\
+\x13\x70\x3a\xff\xf4\xae\x14\x08\x91\x50\x74\x08\xaa\xbc\x75\xd1\
+\x6d\x88\x40\x00\x91\x5c\x13\x74\x93\xb9\x90\x91\x8a\x97\x42\xbf\
+\xad\xdf\x16\x51\xa6\x95\x65\x59\x5a\xfc\xf5\xbe\x45\x33\x72\x55\
+\x09\x97\x5d\xc5\x69\xf8\xd6\x36\xee\x2f\x39\xaf\x8f\xc1\xd9\x87\
+\xc1\x85\xec\x57\x11\xa4\x53\x94\x88\x84\xf8\xeb\x7d\x8b\xb0\x32\
+\x2f\x61\xd6\xfb\x9e\x9e\x20\xc7\xdf\x3d\xbf\x04\x29\x5a\xee\x82\
+\xfa\x4a\x4d\x6f\x50\xd7\xa7\xfb\xcd\x43\xe8\x8e\xc0\x3d\x28\x2d\
+\x41\x8e\x1f\xed\x5b\x04\x95\x6c\x76\xaf\xbd\x54\x2c\xc4\xff\x2a\
+\x2b\x40\x8e\x9e\x7b\xd1\x10\x93\xcd\x83\xeb\xb5\xd3\x07\x63\xb9\
+\xbd\x0c\xce\x46\xe0\xb2\xa3\x55\x48\xf0\xd3\x43\x8b\x91\x93\xa2\
+\x9c\xf5\x6b\xbf\x38\x43\x83\x9f\x1c\x5a\x12\x34\x98\x7d\xda\xc9\
+\xfb\x83\xee\x29\xd3\x8d\x5a\xad\x56\x4e\x99\x17\x22\xf1\x33\xcf\
+\xc8\xc8\xe0\xe4\xca\x20\x91\x48\xc2\xb6\xe6\xfb\x1f\xa2\x42\x21\
+\xa7\xa0\x35\x8b\xc5\x12\xd4\xc2\xf7\xe0\xc1\x83\xf1\x17\x19\x07\
+\xb6\x6d\xdb\xe6\x2f\x1c\x33\xab\xf7\x82\x54\x8a\x43\x87\x0e\x45\
+\x64\xbd\x35\x1a\x8d\x71\x4f\x63\xd9\xd5\xd5\x85\xb6\xb6\xb6\x88\
+\x26\x80\x87\x0f\x1f\x8e\xc9\x72\xfd\xfa\xf5\xeb\x39\xaf\x14\x01\
+\xa3\xc5\x86\x22\x11\xec\xf7\xee\xdd\x8b\x68\x82\xb0\x73\xe7\x4e\
+\xac\x5f\xbf\x1e\x44\x88\xf7\x7f\x88\xe7\x9c\x20\x4e\x42\xdf\x5c\
+\x7f\xd9\x9f\x4a\x33\x2b\x2b\x0b\x87\x0f\x1f\xe6\xb6\xbf\xd9\x8c\
+\xf2\xf2\xf2\xa0\x6e\x49\xe1\x32\x3c\x3c\x8c\xff\xf8\x8f\xff\xc0\
+\xe3\xc7\x8f\xfd\xbf\xcb\xcd\xcd\xc5\x91\x23\x47\x20\x97\xcb\xd1\
+\xd0\xd0\x80\x53\xa7\x4e\xf9\x9f\x9d\x02\xa1\x18\x49\x25\x2f\x42\
+\x91\x39\x3b\x19\xbd\x84\x62\x79\xc8\x49\x09\x09\xfd\x08\x88\x24\
+\x6f\x78\xaa\x4e\x8e\xd7\x77\xe4\x42\x24\x14\xc4\xac\x9d\xa5\x0b\
+\x93\xb0\x7b\x65\x1a\x77\x6b\x4b\xf3\x10\xba\x87\xa7\x7e\x81\x57\
+\xb7\x8d\x66\x3b\xe1\xca\xb7\xb6\xe6\xc4\x44\xe8\x8d\xa1\x92\x8b\
+\xf1\x83\x3d\xdc\xad\xbb\x2e\x0f\x33\x6d\x21\xad\x70\x26\x41\x53\
+\x5f\x7b\x19\xfe\x7a\xdf\xc2\x98\x4c\xf0\x80\x51\xdf\xf5\x1f\xee\
+\x5d\x18\x51\xca\xd0\x4b\xd5\xbd\xd3\xa6\x4a\xbd\x51\xdb\xcf\x39\
+\xf0\x5c\x2c\x12\xe2\x2f\x76\xe7\x07\xf5\x7f\x8f\x36\xa9\x3a\x19\
+\xfe\x7c\x67\x3e\x67\x37\x9e\x01\xb3\x0b\x77\xa6\x70\xc7\xe3\x2a\
+\x66\x93\x92\xb8\xbb\xce\x49\x24\x12\x4e\xcb\xd0\x89\x89\x89\x11\
+\x59\x0c\x93\x93\xb9\xe5\xc0\x9e\xee\x25\x61\xb5\x5a\x51\x55\x55\
+\xc5\xf9\xf8\x45\x45\x45\x28\x2e\x2e\x8e\xd9\x58\x10\x08\x04\xd8\
+\xbd\x7b\x37\xe7\x49\x11\x00\xdc\xb9\x73\x27\xae\xc5\xd1\xbe\xfe\
+\xfa\xeb\x88\xae\xef\x9e\x3d\x7b\x62\x6a\x4d\x5e\xbe\x7c\x39\x56\
+\xad\x5a\xc5\x79\xbf\xea\xea\x6a\x4e\x81\xd3\x66\xb3\x39\x40\x5c\
+\x85\xcb\xaa\x55\xab\xb0\x7c\xf9\x72\x52\xf1\x51\x10\xfa\x42\x69\
+\xec\x5d\x77\x5c\xfd\xcd\x70\x0d\xb6\xfa\xbf\xbf\xf2\xca\x2b\x9c\
+\x02\xca\x6f\xdc\xb8\x81\x7f\xfe\xe7\x7f\xc6\xef\x7f\xff\x7b\xbc\
+\xf9\xe6\x9b\x33\xaa\x6c\xde\xdc\xdc\x8c\x7f\xfb\xb7\x7f\x0b\x88\
+\xc9\x59\xb2\x64\x89\x3f\x1e\xeb\xce\x9d\x3b\xb8\x70\xe1\x82\x3f\
+\xf3\x8e\x50\x2c\x43\x52\xe9\xab\x90\xa5\x2c\x9c\xb5\xf3\xc3\x78\
+\x83\xbf\x9f\x66\x6b\xd5\x74\x5e\x0b\xfd\x9e\x61\x27\x5a\x7a\xb9\
+\x09\x5d\x85\x54\x84\x1f\xec\xce\x87\x5c\x1a\xfb\xf4\x5a\x07\xd6\
+\x64\xa0\x28\x47\xc7\x69\x1f\x96\x05\x6e\xd7\x4f\x6d\xd9\xbd\x55\
+\x37\xc0\xb9\x0d\x65\xab\xd2\x51\x92\x9f\x10\xf3\xbe\xa7\x68\x65\
+\x78\x7d\x67\x5e\xd8\x99\x74\xc6\xb8\xdb\x38\x38\xa5\x0b\x4b\x6d\
+\x87\x39\xa4\x5b\xd3\x24\xd1\xa7\x96\xe2\xaf\xf7\x2d\x82\x46\x11\
+\xdb\xa8\x77\x85\x54\x84\xbf\xda\xb7\x10\x69\x3a\x6e\x16\x18\xa7\
+\xdb\x37\x65\xd5\x58\x36\xc2\x6b\xff\xea\x96\x05\x11\xad\x2e\xcc\
+\x94\x45\x19\x6a\x1c\x59\xcf\xdd\xb2\xfe\x75\x04\x7d\x8c\xa6\x28\
+\x9d\x8d\x6d\xa3\xb1\xdf\xd3\xd4\xd5\xd5\x71\xce\xb1\x9e\x95\x95\
+\x85\xad\x5b\xb7\xc6\xfc\xbc\x8a\xc5\x62\x1c\x3c\x78\x90\x53\x00\
+\x2c\x30\x9a\x6a\xb0\xa7\xa7\x27\x2e\x63\xa1\xaf\xaf\x8f\x73\x76\
+\x1b\x85\x42\x81\x83\x07\x0f\xc6\x25\xc3\xc6\xe6\xcd\x9b\x39\xbb\
+\x49\xf9\x7c\x3e\x4e\x15\x7e\x1b\x1b\x1b\x39\xd7\x4d\xc8\xc9\xc9\
+\xc1\xe6\xcd\x9b\x49\xc1\x73\xb8\x26\x41\x85\x98\x58\x16\xdb\x06\
+\xb1\x0c\xcc\xf5\x57\xfc\x5f\x4b\x4a\x4a\xb0\x68\xd1\xa2\xb0\x77\
+\x3f\x7f\xfe\x3c\x3e\xfe\xf8\xe3\x80\x7e\x45\x2a\xf4\x6f\xdd\xba\
+\x85\x5f\xfe\xf2\x97\x01\x3e\xef\x6b\xd6\xac\x41\x59\x59\x19\x7c\
+\x3e\x1f\x4e\x9d\x3a\x15\xb0\x4a\x25\x92\xa9\x91\xbc\xfe\xdb\x90\
+\x26\xcc\x6e\xba\x5e\xc6\xe3\x20\xa1\x1f\x6d\xaa\x23\xf0\x4d\x7f\
+\x79\x63\x36\xf4\x5a\x59\x5c\xda\x2b\x00\xf0\xda\xb6\x1c\xce\xd6\
+\xe4\x9a\x8e\xc9\xfd\x74\xb8\x7d\x68\xee\xe5\x16\x84\x9a\x93\xa2\
+\xc4\xbe\xd5\xf1\xcb\x71\xbb\x34\x53\x83\x1d\x2b\xb8\x59\xf3\xdc\
+\x5e\x06\x8d\x53\x04\xdb\x46\x72\xed\x0f\xae\xcd\x08\xbb\x20\x53\
+\xb4\x51\xc9\xc4\x78\x61\x7d\x26\xe7\xfd\xa6\x8a\xbf\xe8\x18\xb0\
+\xc3\xc4\xd1\x9a\xbf\x6e\x51\x12\xd6\xcc\xa2\x4f\x7e\x28\xb6\x2c\
+\xd3\x63\xc5\x02\x6e\x93\xdc\x9e\x11\xe7\x8c\xeb\x52\x3c\x0b\x18\
+\x0c\x06\x4e\xdb\x4b\x24\x12\xec\xdd\xbb\x37\x6e\x7e\xcb\x2a\x95\
+\x0a\xbb\x76\xed\x9a\xf5\x7e\xc6\xeb\xfc\x02\xa3\xee\x29\xc1\xd2\
+\xac\xce\xf6\x24\xb5\xac\xac\x0c\x32\x19\xb7\xf7\x1c\x97\x3c\xf8\
+\x5c\x73\xe6\xcb\x64\x32\x94\x95\x95\x45\x6d\x72\xfb\x2c\x10\xea\
+\xfa\x31\xee\xd8\x56\xbd\xb6\xb5\x57\xc0\x6b\x1f\xf2\x0b\xd6\x23\
+\x47\x8e\x84\x6f\xb4\xf9\xfa\x6b\x7c\xf5\xd5\x57\x93\xfb\xc0\x71\
+\xb2\xe8\xf3\xf9\xf0\xd1\x47\x1f\xe1\x8f\x7f\xfc\xa3\x7f\xc2\x20\
+\x16\x8b\xb1\x77\xef\x5e\x6c\xda\xb4\x09\x26\x93\x09\x9f\x7e\xfa\
+\x29\x5a\x5b\x5b\xc7\x9f\x77\x9a\x34\x24\x6f\xf8\x2e\xc4\xea\x94\
+\xd9\x3d\x41\x2c\x03\xd6\x1b\x3c\x93\xda\x5c\xa8\xdf\xc0\x3b\xa1\
+\xff\xb8\x83\x9b\xd8\xcb\x4e\x56\xa0\x24\x8e\x62\x07\x18\x75\xe5\
+\xd8\x5b\xc2\x4d\x6c\x9b\x6c\x1e\x18\x07\x03\x6f\xea\x27\x46\x33\
+\xe7\x00\xe4\xe7\xd7\x66\x22\xde\x8f\xd9\xdd\x2b\xd3\x38\xbb\xf0\
+\x3c\x2d\x76\x19\x86\xc5\x13\x23\xb7\x4c\x0f\x69\x3a\x39\x4a\xf2\
+\xe2\x7b\xed\x97\x65\x69\x39\xbb\x4c\xb5\xf4\x5a\x27\x15\xc2\xe2\
+\x1a\x7c\x2d\x11\x09\x71\x60\x75\x46\xdc\xef\xd7\x43\x6b\x33\x38\
+\xaf\xe8\xd4\x74\x98\x40\x4c\x8f\xd5\x6a\xe5\x9c\x95\xa6\xa4\xa4\
+\x04\x0a\x85\x22\xae\xed\xce\xc9\xc9\xe1\x1c\x3f\x11\x2f\xa1\xcf\
+\xb5\xe6\x41\x46\x46\x06\xe7\xe0\xec\xd9\x10\x89\x6b\xd6\x70\x4b\
+\xbd\xd8\xd7\xd7\x17\x96\xfb\x8e\xd9\x6c\x0e\x59\xcc\xe9\x69\xd6\
+\xae\x5d\xcb\x79\xe2\xf1\xac\x13\xca\x7d\xd0\xe7\x8c\x5d\x06\x17\
+\xc6\xe3\x80\xb5\x79\xdc\x7d\xed\xb9\xe7\x9e\x0b\xdb\xf5\xd0\x68\
+\x34\xe2\xd3\x4f\x3f\x9d\xf2\xff\x0a\x0b\x0b\xc3\x6e\x83\xc7\xe3\
+\xc1\x7f\xff\xf7\x7f\xe3\xe6\xcd\x9b\xfe\xdf\xa9\xd5\x6a\xbc\xf4\
+\xd2\x4b\x58\xbc\x78\x31\x8c\x46\x23\x3e\xf9\xe4\x13\x0c\x0d\x8d\
+\x67\xac\x93\xa7\x2f\x43\xf2\xfa\x6f\x87\x2c\x66\x15\x9d\x73\x14\
+\xda\xad\x94\x2c\xfa\x1c\x31\xd9\x3d\x30\x0e\x70\x9b\xd1\x1e\xe2\
+\x81\xd0\x05\x80\x8d\x4b\x92\x39\xaf\x2a\xd4\xb4\x07\x0a\xdb\xc7\
+\x1c\xc5\x5e\x61\xb6\x36\xe2\x74\x8f\xd1\x44\x21\x15\x71\x8e\x55\
+\x78\xdc\x61\x0e\xa8\x11\xd0\xd2\x6b\xe3\x5c\x05\x76\xcf\xaa\x34\
+\xf0\xc1\x98\xb4\x77\x15\xb7\x49\x9e\x6f\x8a\x49\x4d\x75\x1b\xb7\
+\x6b\xbf\x6d\x79\x0a\x74\xaa\xf8\x17\xe9\x48\x4b\x90\xa3\x74\x11\
+\xb7\xc9\xd6\xe3\x76\x12\xfa\xc1\x98\x68\xb9\x0a\xeb\xfe\x53\x28\
+\x50\x52\x52\xc2\x8b\xb6\x6f\xda\xb4\x89\xdb\x33\xdf\x64\xe2\x54\
+\x3f\x21\x1a\x8c\x8c\x8c\x70\x3e\x26\x5f\xdc\x53\x8a\x8b\x8b\x39\
+\xa7\x3c\x0c\xc7\x52\xcf\xd5\x9a\xaf\xd1\x68\x62\x1a\x0b\x32\x5f\
+\x08\xb5\x22\x34\x96\xc3\x3e\x16\x58\x9a\x6e\x80\xf1\xba\xfc\xed\
+\xda\xb7\x6f\x5f\x58\xfb\x39\x1c\x0e\xbc\xf5\xd6\x5b\x53\xc6\x17\
+\x89\x44\x22\x4e\xf1\x24\xe7\xce\x9d\x0b\xa8\xf8\x9d\x91\x91\x81\
+\xa3\x47\x8f\x22\x25\x25\x05\x66\xb3\x79\x52\x0d\x11\xcd\xa2\x6d\
+\x48\x5c\xf9\x42\xcc\xaa\x07\x87\x23\xf4\xe7\x4a\xb1\x2c\xde\x08\
+\xfd\x9a\x76\x13\xa7\x02\x51\xf9\xa9\x2a\x2c\xc9\xd4\xf0\xe2\x04\
+\x8a\x84\x02\xce\x82\xaf\xa6\x7d\x24\x40\xfc\xd5\x75\x72\x9b\xcd\
+\xef\x5f\x9d\xce\x9b\x01\xb4\xad\x50\xcf\xa9\xfa\xac\xc5\xe1\x41\
+\xfb\x84\xa0\x63\xae\x6e\x3b\xa9\x3a\x19\x56\xe7\x27\xf2\xa2\xef\
+\x85\xd9\x5a\x2c\xe0\xe8\x27\x3f\xd1\x82\xdf\x67\x72\xa2\xcf\x14\
+\x7e\x40\xea\x68\x31\xb8\x54\xde\x5c\xfb\xbd\x25\xe9\x9c\x26\x5c\
+\x86\x3e\x5b\xc4\x45\xe7\x9e\x05\xb8\x5a\xb9\x57\xaf\x5e\xcd\x9b\
+\x97\x4d\x6a\x6a\x2a\xe7\x54\xa6\x5c\xad\xeb\xb1\x3e\xbf\xb9\xb9\
+\xb9\x48\x4b\x4b\xe3\xc5\xf9\x15\x8b\xc5\x9c\xad\xfa\xe1\x9c\x5f\
+\xae\x42\x7f\xed\xda\xb5\x73\xca\x65\x81\x2f\x84\xb6\xe8\x9b\x63\
+\xd2\x0e\xaf\x7d\x18\x76\x63\xa5\xff\xfb\xe1\xc3\x87\xc3\x5e\x9d\
+\xf9\xe0\x83\x0f\xfc\xab\x3f\x4f\xbb\x6d\xad\x5e\xbd\x3a\xec\x58\
+\x9d\x81\x81\x81\x80\x1c\xf9\x85\x85\x85\x38\x72\xe4\x88\x7f\x65\
+\xb2\xa2\xa2\xc2\x1f\xa7\x24\x10\x4b\x91\xb8\xfa\x25\xa8\x0b\x36\
+\xc5\xf4\x7a\x85\x23\xf4\x67\x2b\xc5\xee\xbc\x15\xfa\x5c\xdd\x76\
+\x56\xc5\x21\x00\x35\x18\x45\x39\x3a\x4e\x59\x7f\xba\x87\x9d\x18\
+\xb2\x8e\xfa\x7f\x35\xf5\x58\xe1\xf4\x84\x6f\xd1\x4e\xd6\xc8\xc2\
+\xae\x32\x1b\x93\x17\x90\x48\x88\x22\x8e\xfe\xda\x8f\x3b\xcc\x11\
+\x5f\xfb\xb2\x55\xe9\xe0\x93\x6b\xe8\x3e\x8e\xae\x5b\x75\x9d\x66\
+\x7f\xaa\xc9\xa7\x57\x76\x42\xb1\x34\x53\x13\x97\xc0\xf3\x69\x1f\
+\x74\x2a\x29\x72\xf5\xe1\x5b\x19\x59\x16\x9c\xdd\xb4\x9e\x15\xdc\
+\x6e\x37\x3a\x3b\x3b\x39\xed\xc3\x25\x78\x2e\x16\x70\x6d\x0f\xd7\
+\x15\x8c\x58\x0b\x7d\xbe\x9d\x5f\xae\xe9\x4c\xbb\xbb\xbb\x83\xa6\
+\xcc\x74\xb9\x5c\x9c\x02\x93\x05\x02\x41\x54\x0b\x62\x3d\x4b\x84\
+\xb2\xe8\x33\x1e\x67\x48\x9f\xf0\x68\x60\x6b\xbb\xef\x4f\xa7\x99\
+\x9d\x9d\x8d\x8d\x1b\x37\x86\xb5\xdf\x95\x2b\x57\x50\x59\x39\x3e\
+\x41\xd0\xeb\xf5\xfe\xcf\x22\x91\x08\x87\x0e\x1d\x0a\xbb\x0d\x9f\
+\x7d\xf6\x99\x5f\xc8\x8f\x55\xf0\x1e\x8b\x31\xb2\x5a\xad\xa8\xaf\
+\xaf\xf7\x6f\xab\x2b\xdc\x0b\x79\x4a\xec\xef\x43\x36\x44\x20\xae\
+\x4a\xa5\x9a\x33\x55\x71\x01\x80\x17\x4e\x46\x5c\x0b\x05\x71\x0d\
+\x04\x9c\x6d\x64\x12\x21\x16\x65\xa8\x51\xcf\xc1\x32\xdf\x3b\xe2\
+\x44\x92\x5a\x8a\x9e\x61\x6e\x7d\x2f\xce\xd5\xf1\x6e\x10\x15\xe7\
+\xea\x50\xde\x18\x7e\x35\xe3\x9e\x3f\xe5\xcb\x77\x7b\x19\x0c\x5b\
+\xb9\x3d\xdc\xae\xd7\xf6\xe3\xc6\x93\x7e\x5e\xf5\x5f\x00\x84\xbd\
+\x22\xe5\xf2\x30\x18\xb1\x79\x90\xac\x91\xa2\x87\xeb\xb8\xcf\xe1\
+\xdf\xb5\x5f\x91\xa3\x43\x2b\x87\xb4\xb0\x91\x14\x05\x7b\x16\x30\
+\x99\x4c\x9c\x82\xd9\x52\x53\x53\xa1\x56\xab\x79\xd5\x87\xdc\xdc\
+\x5c\x08\x85\xc2\xb0\xfb\x31\xd1\xff\x36\x16\x70\x39\x9e\x40\x20\
+\x40\x6e\x6e\x2e\xaf\xce\xaf\x52\xa9\x44\x5a\x5a\x1a\x7a\x7b\x7b\
+\xc3\xde\xc7\x62\xb1\x4c\x6b\xb1\xe5\x5a\x05\x37\x33\x33\x93\x7c\
+\xf3\x23\x44\xab\x0d\xed\x57\xee\x73\x9a\x21\x56\xeb\x67\xad\x0d\
+\x8c\xdb\x0e\x47\xe7\x78\xe5\xe4\xfd\xfb\xf7\x87\x15\x50\x6d\x30\
+\x18\x70\xe2\xc4\x09\xff\xf7\x82\x82\x82\x80\x58\xa2\x4d\x9b\x36\
+\x05\x08\xff\x60\xd4\xd6\xd6\x06\xe4\xdc\xdf\xba\x75\x6b\x40\x22\
+\x81\x87\x0f\x1f\x8e\x07\xe6\x2a\x13\xa1\x48\x2f\x8c\xcb\xf5\x0a\
+\x65\xd1\x0f\xb7\xbf\x24\xf4\xc7\x66\x4e\x00\x2c\x8e\xf0\x97\xf3\
+\x33\x12\x15\x11\x55\x67\x9d\x6d\x8a\x16\xe8\x38\x09\x7d\xb3\x63\
+\xd4\xcf\xcd\x64\xe7\x26\x74\x8b\x79\x28\xf6\x16\x67\x68\x20\x93\
+\x08\xe1\xf2\x84\xf7\x82\x1f\xcb\x32\x63\x71\x70\x2f\x38\xd1\x31\
+\x60\xc7\x5c\xc7\xec\x18\x15\xfa\x5c\xfa\x2f\x14\x08\xb0\x3c\x5b\
+\xcb\xbb\xbe\xac\xc8\xd1\xe2\x54\x45\x17\xe7\x71\x4f\x04\xc2\xb5\
+\xca\x62\xbc\x03\x44\xa7\x34\x78\xc8\x64\xc8\xca\xca\x0a\xc8\x85\
+\x1d\x0c\x8f\xc7\x03\x8f\xc7\x13\x13\xf7\x23\x8f\xc7\x03\xb7\x3b\
+\xfc\x67\x6d\x46\x46\x06\x2f\x2d\x76\xf9\xf9\xf9\x9c\x84\xbe\xd5\
+\x6a\x9d\x56\x94\x70\xc9\xb5\x0f\x44\x56\x65\x9a\x18\x25\x2d\x2d\
+\x2d\xe4\x24\xd8\xe7\x30\xcd\xaa\xd0\xb7\xb5\x3f\x00\xcb\x8c\x6a\
+\xad\x94\x94\x14\xac\x5c\xb9\x32\xac\xf1\xf3\xf6\xdb\x6f\xfb\xc5\
+\x77\x42\x42\x02\x52\x53\x53\xfd\x6e\x61\x52\xa9\x14\x07\x0e\x1c\
+\x08\xeb\xf8\x3e\x9f\x0f\x9f\x7d\xf6\x59\xc0\x78\x9a\x38\x99\xb6\
+\xdb\xed\xa8\xad\xad\xf5\x7f\x57\xe5\x6f\x44\xbc\x96\xef\x43\xa5\
+\xd6\x8c\xa4\x7e\x48\x3c\x89\xbb\xeb\x8e\xcd\xe9\x9d\xb2\x6a\xe6\
+\xb4\x0f\xba\x34\x15\x2f\x4f\x24\xd7\x76\x8d\x15\x48\xe2\x92\x5a\
+\x51\x28\x10\x20\x37\x85\x7f\xfd\x17\x8b\x04\x9c\xdc\x89\x4c\xfe\
+\xbe\x3f\x9b\xfe\xda\x91\x5c\xfb\x14\xad\x8c\x53\x2c\x44\xcc\x5e\
+\x60\x3a\x39\xa7\xcc\x4b\x5c\x53\x89\x92\xd0\x9f\x5e\x88\xf2\x11\
+\x2e\x15\x82\x23\x11\x9b\x91\x62\xb7\xdb\x67\xb5\x1f\x73\xf1\xfc\
+\x72\x3d\xf7\x7c\x3d\x27\x73\x01\x89\x44\x12\xf2\xfc\xcd\xa6\x9f\
+\x3e\xeb\xf3\xc0\xde\xf1\xc0\xff\x7d\xd7\xae\x5d\x61\x59\xf3\x3f\
+\xfa\xe8\x23\x8c\x8c\x8c\xc6\x14\x8a\xc5\x62\xec\xd9\xb3\x27\xa0\
+\xa0\xdf\x8e\x1d\x3b\xc2\x5a\xad\x00\x46\xdd\x7f\xc6\x5c\xc5\x44\
+\x22\xd1\xa4\xda\x1f\x95\x95\x95\x7e\x97\x1e\x91\x42\x0b\xe5\x2c\
+\x55\xbc\x0d\xcb\x30\x60\x09\xee\xd2\x36\xd7\x2c\xfa\x71\x17\xfa\
+\x5c\xad\xba\x3a\x25\x3f\x23\x9d\xb9\xe6\x74\x37\xff\x69\x15\x83\
+\x8b\xf0\x51\xcb\xc5\xe0\x6b\xea\x62\x2e\xfd\xb7\x3a\x46\x27\x77\
+\xcf\xaa\x75\x77\xac\xdf\x5c\xaa\xe1\xf2\x21\xd3\x4e\x34\xda\x66\
+\xb1\x53\x30\x6e\x34\x84\x3e\xd7\x22\x55\xb1\x82\x6b\x66\x18\xae\
+\xfd\x8e\xd5\xf9\xe5\x9b\x5b\x54\xa4\xe7\x77\x62\x11\x22\x2e\xff\
+\x17\x8d\x63\x13\x81\x64\x67\x67\xc7\x4d\xe8\xdb\x3b\xab\xfc\xee\
+\x28\x6a\xb5\x1a\x1b\x36\x6c\x08\xb9\x4f\x65\x65\x65\x40\x11\xac\
+\xed\xdb\xb7\xa3\xb3\xb3\xd3\x3f\x69\x56\x28\x14\xd8\xb3\x67\x4f\
+\x78\xef\x3c\xb3\x19\x67\xcf\x9e\xf5\x7f\x2f\x29\x29\x81\x4e\x37\
+\xee\x9d\xe0\x74\x3a\x51\x5d\x3d\xee\x56\xa4\xce\xdb\x00\x08\xe2\
+\x27\x4f\xdd\x13\x2a\x06\xcf\x25\x43\x0b\x6f\x85\x3e\x57\x0b\x9f\
+\x56\xc1\x4f\xc1\xa3\x92\x89\x21\x16\x85\xaf\xc2\xc7\x44\x1e\x17\
+\xb1\xa7\x51\xf0\x37\x6f\x2b\x97\xb6\x8d\xb9\x6b\x99\x9f\x51\xeb\
+\xae\xd9\xee\x81\xd7\xc7\x70\x4a\x2b\xca\xd7\x71\x0f\x00\x3a\x0e\
+\x6d\x33\x91\xeb\xce\xd4\x93\x5f\x8e\xd6\x55\xbe\x0a\x7d\xae\xed\
+\x8a\x95\xd0\xe7\x6a\xd1\x9f\x2f\x13\xa9\x68\x5a\xf4\xf9\x7a\x4e\
+\xe6\x8b\xd0\xf7\x58\x66\x29\xf6\x8c\x65\x60\x6b\xbb\x17\x20\xd8\
+\x43\xb9\xcb\xd9\xed\x76\x7c\xfc\xf1\xc7\xfe\xef\xb9\xb9\xb9\xc8\
+\xcd\xcd\x0d\xa8\x50\x5b\x56\x56\x16\xf6\x98\x38\x7e\xfc\xb8\x3f\
+\x30\x5c\xa5\x52\x61\xed\xda\xb5\x01\xff\x5f\x55\x55\xe5\x4f\xdb\
+\x29\x94\xa9\xa1\xc8\x8a\x5f\x0a\x57\xaf\x75\x00\x3e\x57\xf0\x7b\
+\x83\x6f\x81\xfa\xbc\x17\xfa\x66\x8e\x16\x3e\x3e\x5b\x36\xb9\x88\
+\xb1\x48\xdc\x37\xb4\xca\xf9\xd1\xf7\xd1\x7e\xbb\x9f\x61\xa1\xef\
+\xf5\xaf\xe8\xcc\x87\x71\xcf\xa5\x6d\x4e\xb7\x0f\x1e\x1f\x03\x22\
+\x72\x21\x2a\x16\x8b\x21\x95\x4a\x79\xd9\x0f\xbe\x0a\xfd\xf9\x62\
+\xd1\x17\x8b\xc5\x9c\x02\x62\xa3\x25\xf4\x65\x32\x59\xdc\xaa\x2f\
+\xcf\x17\x16\x2c\x58\x10\xf4\xff\xdd\x43\x6d\xb3\x92\x79\xc7\xd1\
+\x53\x07\x9f\x63\x74\xb5\x40\x2a\x95\x62\xfb\xf6\xed\x21\xf7\xf9\
+\xe2\x8b\x2f\xfc\xc1\xda\x12\x89\x04\x3b\x77\xee\xc4\x8d\x1b\x37\
+\xfc\x71\x2e\x5a\xad\x16\x3b\x76\xec\x08\xeb\xf8\x2d\x2d\x2d\xb8\
+\x77\x6f\x7c\xa2\xb1\x65\xcb\x96\x80\x89\x86\xc7\xe3\x09\x70\x07\
+\x52\xe7\xad\x83\x40\x18\x3f\xa3\xa6\x6b\xc0\x10\xf2\x5e\xc8\xc9\
+\xc9\x21\xa1\xcf\x69\xb2\xc9\x72\xab\x08\x2b\xe4\x71\xd5\x6d\x21\
+\x87\xc6\x31\x2c\xc0\xb0\x2c\xbc\x3e\x76\x7e\xf4\x9d\xa3\x4f\x11\
+\xc3\xf8\xb3\x7c\x3d\x73\x78\x19\x86\xb3\xd8\x95\x4b\xf8\xfb\x92\
+\x95\x49\xb8\xa5\xfc\x74\xba\x63\x2b\xf4\xc3\xad\xfa\xc8\x75\xdb\
+\x68\xc2\x25\xe3\x8e\x40\xc0\xdf\x07\x81\x80\xf3\x73\x20\x36\x63\
+\x81\xeb\x7b\x66\xbe\x9c\xe3\xa9\x8a\x1b\xf9\x05\x4d\x90\xd4\x9b\
+\x33\x9d\xc0\x11\x93\x09\x65\x05\x66\x19\x1f\x9c\x03\xcd\x51\x3f\
+\xae\xad\xf5\xae\xff\xf3\xc6\x8d\x1b\x43\xae\x0a\xd5\xd7\xd7\xe3\
+\xce\x9d\x3b\xfe\xef\x9b\x37\x6f\xc6\xe0\xe0\x60\x40\x81\xab\x17\
+\x5f\x7c\x31\x2c\x63\x03\xcb\xb2\xf8\xe4\x93\x4f\xfc\xdf\x33\x32\
+\x32\xb0\x78\xf1\xe2\x80\x6d\xaa\xab\xab\xfd\x63\x51\x28\x51\x40\
+\x99\x1d\xdf\x22\x80\xae\xc1\xe0\x42\x7f\xe1\xc2\x85\x73\xae\x96\
+\x44\xdc\xd5\x03\x67\xdf\x76\x1e\x5b\x81\xcd\x9c\xac\xf3\x62\xce\
+\xe2\x98\xab\x15\x38\xa6\x7d\xe7\x1a\x6b\xa1\x92\x40\xa3\x14\xe3\
+\x59\x44\x29\x13\x43\x80\x67\x99\xd8\xce\xf0\x4a\x4b\x4b\xc3\x12\
+\xf0\xa9\xa9\xa9\x71\xab\x34\xcb\xc5\x25\x63\x2c\x5b\x0d\x1f\xe1\
+\xea\x22\x13\x2b\xcb\x39\x5f\x57\x1a\x22\x99\x10\x3a\x9d\xd1\x49\
+\x51\xcb\x65\xf2\x43\x45\xb2\xa2\x63\x70\xc8\xcc\xcc\x0c\x6e\x04\
+\xe9\x6d\x88\xea\x31\xdd\xc3\x1d\xfe\xc0\x52\xa1\x50\x88\xe7\x9e\
+\x7b\x2e\xf8\xf6\x6e\x37\xfe\xf0\x87\x3f\xf8\xbf\x67\x66\x66\x62\
+\xe9\xd2\xa5\xb8\x7e\xfd\xba\xff\x77\xcb\x96\x2d\x43\x69\x69\x69\
+\x58\xc7\xbf\x71\xe3\x06\x8c\x46\xa3\x7f\x82\xfa\xf4\x6a\x82\xdb\
+\xed\x0e\x88\x03\x50\xe5\x96\xc6\xac\xfa\xed\xd4\x93\x2d\x2f\xdc\
+\xc3\xc6\xa0\xdb\x3c\x3d\x51\x99\x0b\xc4\x5d\x69\x71\x15\xfa\x7c\
+\xcd\xda\xe1\x70\xfb\xe0\xf6\x86\x6f\x9d\x8a\xc4\xe7\x9a\xcf\xc1\
+\xab\x5c\x83\xaa\xb5\x0a\x09\x27\xdf\xee\x79\x25\xf4\xa5\xf4\xd2\
+\x8c\x25\xa9\xa9\xa9\x78\xf5\xd5\x57\xe1\x70\x38\xa6\x15\x37\x02\
+\x81\xc0\x5f\x99\x91\xef\x42\x7f\x4c\x50\x4f\x0c\x66\x9b\xab\x42\
+\x3f\x56\x01\x9e\x7c\x0d\x12\xe6\x0a\x5f\xdb\x45\x84\x47\x71\x71\
+\x31\xba\xba\xa6\x4f\x47\xec\x1a\x68\x01\xcb\x78\xa3\xe6\xba\xe2\
+\xe8\x7a\xec\xff\x5c\x54\x54\x14\x32\x5b\xcc\xc9\x93\x27\x31\x38\
+\x38\x5a\x13\x47\x2c\x16\x63\xd7\xae\x5d\xb8\x7f\xff\x7e\x80\x1b\
+\xcf\xab\xaf\xbe\x1a\xd6\xb1\x7b\x7a\x7a\x70\xfc\xf8\x71\xff\xf7\
+\x15\x2b\x56\x4c\x3a\xfe\x9d\x3b\x77\xe0\x70\x8c\xa6\xb2\x14\x8a\
+\x65\x50\xe5\xac\x89\xeb\xf5\x71\x0f\x1b\xfd\x29\x48\xe7\x93\xd0\
+\x8f\xbf\x45\x9f\xb3\x6f\x37\x3f\xad\xda\x5c\x57\x1a\x22\xc9\x1e\
+\x64\x75\x78\xc1\x57\x6f\x17\x2e\xb5\x10\xc6\x02\x97\xf9\x1c\x73\
+\x30\x9b\x28\x64\x24\xf4\xe3\x72\xde\x15\x0a\x28\x95\xca\x29\x7f\
+\xe2\x29\xf2\x01\xee\x96\x6d\xae\x82\xfa\x59\x17\xfa\xf3\xc5\xa2\
+\x4f\x42\x7f\x6e\x13\x2a\x77\x3d\xeb\xf3\x84\xf4\x11\x0f\x17\x96\
+\xf1\xc1\xd9\x3b\x5e\x65\x76\xfd\xfa\xf5\x41\xb7\x6f\x6d\x6d\xc5\
+\xd5\xab\x57\x03\xb6\xf7\x7a\xbd\x01\x16\xf7\xfd\xfb\xf7\x87\x95\
+\x5a\xd2\xe3\xf1\xe0\x9d\x77\xde\xf1\xaf\x3c\xaa\xd5\xea\x49\x55\
+\x78\xfb\xfb\xfb\x03\x8a\x67\xa9\x17\x6d\x83\x40\x1c\xdf\x82\x6c\
+\xa1\xce\xbd\x44\x22\xc1\xf2\xe5\xcb\x49\xe8\x73\x7e\xc1\xc9\xc5\
+\x9c\x7c\xdb\xf9\x5a\x30\xa9\x9d\x63\xbb\x22\x11\xb9\x3e\x86\x45\
+\xd7\x90\x83\x77\x7d\x67\x58\x16\x9d\x83\x0e\xce\x7d\x7f\x56\x85\
+\xfe\xc2\x34\x35\x08\x62\x26\x82\x77\x2c\x1f\x35\xdf\xe0\xda\x2e\
+\xbe\x5a\xf4\xe7\xcb\xf9\x25\xf8\x45\x61\x61\x61\x48\x37\xa8\x68\
+\xb9\xef\xb8\xfa\x9b\xc1\x78\x5d\xfe\x89\x6e\x51\x51\xd1\xb4\xdb\
+\x7a\xbd\x5e\x7c\xf0\xc1\x07\xfe\x15\xcf\xd4\xd4\x54\xac\x5a\xb5\
+\x0a\x57\xaf\x5e\xf5\xc7\xd1\x64\x64\x64\x60\xf7\xee\xdd\x61\x1d\
+\xfb\xf8\xf1\xe3\xfe\x95\x0b\x81\x40\x80\xb2\xb2\xb2\x49\x41\xe4\
+\xd7\xae\x5d\xf3\x1f\x4f\xa2\x49\x85\x6a\xc1\xea\xb8\x5f\x9f\x50\
+\xfe\xf9\x2b\x57\xae\xe4\x65\x21\xbd\x50\xc4\xdd\x75\x47\x20\x00\
+\x34\x72\x71\xd8\x2e\x39\xed\xfd\x36\x58\x1c\x1e\x68\x78\xe6\xf6\
+\xf1\xb8\xdd\xc4\x4d\xe8\x47\xd8\xfe\x9a\x36\x13\xb2\x92\x14\xbc\
+\xea\x7b\x4b\xaf\x0d\x36\x57\xf8\x16\xfd\xb1\xd5\x8c\x48\xce\x41\
+\xa2\x5a\x8a\xb9\x8a\x52\x2a\xc2\xfa\xc5\xc9\x58\xa0\x57\xa2\xcf\
+\xe4\x04\x41\x44\x2a\x44\x0d\x06\x03\x56\xad\x5a\xc5\xab\x3e\x78\
+\xbd\xde\xb0\xab\xe2\x02\xdc\x33\xc8\xcc\x04\xa9\x54\x0a\xb1\x58\
+\xec\x2f\xc8\x13\x8a\xce\xce\xce\x98\x55\xed\xe5\x7a\xdd\x89\xb9\
+\x8b\x5c\x2e\x47\x61\x61\x61\x80\x25\x7b\xb2\x40\x6f\x02\x58\x66\
+\xc6\x79\xe4\x1d\xdd\xe3\x6e\x3b\xab\x57\xaf\x0e\x3a\xc1\xb8\x7c\
+\xf9\x32\x7a\x7a\x7a\x00\x8c\xfa\xf2\xef\xda\xb5\x0b\x4f\x9e\x3c\
+\xf1\xff\x4e\x20\x10\xe0\xb5\xd7\x5e\x0b\x2b\x56\xa3\xa6\xa6\x26\
+\xc0\xa7\xbf\xb4\xb4\x74\x52\x6c\x42\x6d\x6d\x6d\x40\x85\x67\x6d\
+\xe1\x5e\xc4\xbb\x48\x90\xcf\x61\x82\xd7\x3a\x10\x74\x9b\x50\xab\
+\x22\x24\xf4\x83\x90\xa2\x95\x85\x2d\xf4\x59\x00\xb5\x1d\x66\x6c\
+\x58\x92\xcc\x9b\x93\xe8\xf5\x31\xa8\xef\xe2\x56\x7c\x24\x45\x17\
+\xd9\x0b\xae\xba\x7d\x04\xfb\x56\xf3\xab\x42\x61\x75\x9b\x29\xa2\
+\xbe\xcb\x24\x42\x68\x15\x12\x4e\xb1\x07\x47\xd6\x67\xa1\x28\x47\
+\x07\x82\x98\x4f\xe8\x74\x3a\x08\x04\x82\xb0\x03\x24\xbb\xbb\xbb\
+\xe1\x70\x38\xe2\xee\x72\x34\x91\xf6\xf6\xf6\xb0\x85\x34\x00\x24\
+\x24\x24\xc4\xb4\x7d\x09\x09\x09\x18\x18\x18\x08\xef\xa5\xef\xf3\
+\xa1\xbd\xbd\x1d\x0b\x17\x2e\xe4\xcd\xf9\x75\xb9\x5c\xe8\xee\xee\
+\xa6\x9b\x65\x8e\xb3\x75\xeb\xd6\xa0\x42\x9f\xf1\xba\xe0\x1a\x6c\
+\x83\x4c\x9f\x1f\xf1\x31\x18\x8f\x13\xae\x81\x96\xb0\x04\xaa\xc9\
+\x64\xc2\xf9\xf3\xe7\x03\x26\x05\x0a\x85\x02\xb7\x6f\xdf\xf6\xff\
+\x6e\xcb\x96\x2d\xc8\xcf\x0f\xdd\x1e\x93\xc9\x84\x0f\x3e\xf8\xc0\
+\xff\x3d\x33\x33\x13\xeb\xd6\xad\x0b\xd8\xc6\xe9\x74\x06\xfc\x6d\
+\x65\x56\x31\xa4\x09\x99\x71\xbf\x2e\xb6\x09\x95\x83\xa7\x42\x24\
+\x12\x4d\xca\xff\x3f\x57\xe0\x45\xce\xbe\x15\x0b\xb8\x09\xb7\x2a\
+\x8e\xc2\x72\xb6\xa9\xeb\xb4\x70\x0a\xc4\x4d\xd1\xca\x90\xa2\x8d\
+\x4c\xe8\x77\x0f\x3b\xd1\x6f\x76\xf1\xa6\xef\x0c\xcb\xa2\xba\x7d\
+\x84\xd3\x3e\xcb\xb3\xc7\x4b\x66\x2f\x5f\xa0\xe5\xb4\xef\x85\xca\
+\x1e\x7a\x53\x10\xf3\x0e\x99\x4c\xc6\xa9\xda\x22\xcb\xb2\xbc\xb3\
+\xee\x36\x37\x73\x4b\x0d\x98\x97\x97\x17\xd3\xf6\x71\x3d\x5e\x4b\
+\x4b\x0b\xaf\xce\x6f\x6b\x6b\x6b\xcc\xd2\x91\x12\xb3\xc7\x86\x0d\
+\x1b\x42\xba\x7f\x38\x7a\x6a\x67\x74\x0c\x67\x6f\x3d\x58\x66\xb4\
+\x20\xa3\x5e\xaf\x47\x41\x41\xc1\xb4\xdb\x4e\x2c\x66\xa5\x50\x28\
+\xb0\x76\xed\x5a\x5c\xbe\x7c\xd9\xff\x3b\xad\x56\x8b\x17\x5e\x78\
+\x21\xb4\x16\x60\x18\xbc\xf7\xde\x7b\xfe\xfa\x0c\x32\x99\x0c\x65\
+\x65\x65\x93\xd2\xc1\x5e\xbe\x7c\xd9\x9f\x39\x4a\x28\x91\x43\xb3\
+\x64\x67\xdc\xaf\x09\xeb\x75\xc3\x6e\xac\x0a\xae\x53\x57\xac\x98\
+\xb3\x69\x66\xf9\x21\xf4\x39\x5a\x68\xeb\x3b\xcd\xbc\xf1\xd5\x67\
+\x01\x5c\xa8\xec\xe5\xb4\xcf\x4c\x2d\xd2\xe7\x1f\xf1\x47\xec\xde\
+\x6b\x1c\x82\xc9\x16\xbe\x45\x5e\x21\x15\x61\x61\xba\x3a\xe2\x73\
+\x61\x1c\x74\xe0\x71\x87\x09\x04\x31\xdf\x08\xc7\x62\x36\x91\x07\
+\x0f\x1e\xf0\x46\xf8\x0d\x0f\x0f\x07\xe4\xd9\x9e\x8d\xfe\xce\x94\
+\x60\x62\x67\x2a\x9a\x9a\x9a\x30\x3c\x3c\xcc\x8f\xf7\x0c\xcb\x06\
+\x54\x25\x25\xe6\xf6\xa4\x3e\x94\x0b\x88\xa3\xbb\x36\xa4\x1b\x49\
+\xf0\x89\xc2\x13\xff\xe7\xa7\x2d\xea\x13\x31\x18\x0c\x01\xe3\x6a\
+\xeb\xd6\xad\x68\x68\x68\x40\x5b\x5b\x9b\xff\x77\x2f\xbf\xfc\x72\
+\x58\x2b\x87\x9f\x7e\xfa\x29\x1a\x1a\xc6\xe3\x0b\x76\xed\xda\x35\
+\x29\xc9\xc0\xbd\x7b\xf7\x02\x0c\x14\x9a\xc5\x3b\x20\x94\xc4\x7f\
+\x55\xd2\xde\x55\x0d\xd6\x1b\xdc\x80\xba\x79\xf3\xe6\x39\x3b\xe6\
+\x78\x21\xf4\x93\x35\x52\x64\x24\x86\x1f\xe0\xc0\x02\x38\x59\xd1\
+\xc5\x8b\x13\xf8\xb0\x65\x18\xc6\x41\x6e\x93\x8e\x99\x0a\xfd\x87\
+\x2d\xc3\xbc\x08\xca\xf5\xf8\x18\x9c\xe3\x38\xe9\x28\xcc\xd6\x42\
+\x34\x21\xf8\x7a\x71\x86\x06\x32\x8e\xc5\xa0\xce\x3f\xea\xe5\xc5\
+\xb5\x1f\xb2\xba\x71\xa1\xb2\x07\xc7\xef\x76\x06\xfd\xb9\xf6\xb8\
+\x9f\xd3\x8a\x0f\xf1\x6c\xc2\xd5\xe2\x6c\x36\x9b\xf1\xf8\xf1\x63\
+\x5e\xb4\xbd\xbc\xbc\x9c\x53\x5e\x76\xb5\x5a\x8d\x94\x94\x94\x98\
+\xb6\x51\xaf\xd7\x43\xa3\xd1\x70\x12\xd7\x13\x5d\x0c\xe2\xc9\x93\
+\x27\x4f\x30\x32\x32\x42\x37\xc9\x3c\x21\x64\x55\x59\x96\x85\xb9\
+\xe1\x4a\x64\x93\x42\x9f\x27\x20\x17\xfc\x74\xb1\x3c\x63\xc5\xac\
+\xc6\xee\x5b\xa5\x52\x89\xd4\xd4\x54\xdc\xba\x75\xcb\xbf\xcd\x9a\
+\x35\x6b\xb0\x66\x4d\xe8\x94\x97\x97\x2f\x5f\xc6\x8d\x1b\x37\xc6\
+\x35\x4e\x51\xd1\xa4\x89\x75\x6b\x6b\x2b\xee\xde\x1d\x2f\xde\x25\
+\x4f\x5f\x06\x65\x36\x0f\xe2\x8c\x58\x16\xb6\xb6\xfb\x41\x37\xd1\
+\x6a\xb5\xd8\xb4\x69\xd3\x9c\x1d\x6f\xbc\xa9\x58\x54\x94\xa3\x43\
+\xf7\x70\xf8\x01\x8a\x4d\xdd\x56\xd4\x77\x5a\xb0\x34\x4b\x13\xb7\
+\x36\x7b\x7d\x2c\xce\x3c\xe0\xe6\x33\xa9\x96\x8b\x91\x9b\x32\xb3\
+\x4c\x13\x2c\x80\x53\x15\xdd\xf8\xcb\xb2\x82\xb8\x5e\xb3\x1b\xb5\
+\x03\x9c\xeb\x1a\x3c\x3d\xc9\x11\x8b\x04\x58\x9a\xa5\x45\x55\x6b\
+\xf8\x2f\x31\xe3\xa0\x1d\xb5\x1d\x66\xce\x6e\x3f\xd1\x64\xd0\xe2\
+\xc2\x7f\x9d\x6a\x84\xd5\x19\x9e\x4f\xf2\xd5\x9a\x3e\xfc\xff\x2f\
+\x17\x42\x2a\xa6\x32\xf2\xc4\xd4\xe8\x74\x3a\x24\x25\x25\x61\x68\
+\x68\x28\xec\x7d\xee\xdf\xbf\x8f\x65\xcb\x96\xc5\x35\x68\xb4\xb7\
+\xb7\x97\xb3\x9b\x4b\xac\xad\xf9\x13\x8f\x5b\x55\x55\x15\xf6\xf6\
+\xad\xad\xad\xe8\xea\xea\x0a\x59\xe8\x68\x56\xdf\x33\x5e\x2f\xee\
+\xdd\xbb\x47\x37\xc8\x3c\x62\xd9\xb2\x65\x48\x4b\x4b\x0b\x08\x48\
+\x7d\x1a\xd7\x80\x01\xae\xc1\x56\xc8\x92\xb9\x19\x00\xdc\xc3\x1d\
+\xa3\xc1\xbc\x00\x34\x1a\xcd\xb4\x63\xf7\xf6\xed\xdb\x01\xc1\xf3\
+\x25\x25\x25\xb8\x78\xf1\xa2\x3f\x25\xa6\x4e\xa7\x0b\x2b\x67\x7e\
+\x55\x55\x55\x40\xbe\xfc\xec\xec\x6c\x6c\xdb\xb6\x2d\x60\x9b\x91\
+\x91\x11\x5c\xb8\x70\x61\xfc\xbd\xaf\x4e\x41\xc2\x8a\x03\xbc\xb8\
+\x16\x8e\xee\xc7\xf0\x39\x82\x7b\x09\x94\x95\x95\xf1\x2e\x30\x9f\
+\x0b\xbc\x51\x1d\x5c\xfd\xf4\x01\xe0\x93\xaf\x3b\xc2\x16\x5a\xb3\
+\xc1\xf1\xbb\x46\x0c\x59\xdd\x9c\xfb\x19\x8d\xe0\xf2\xba\x4e\x33\
+\xbe\xae\x1f\x88\x5b\xdf\x8d\x83\x0e\xce\xfe\xf2\x22\xa1\x00\xcb\
+\xb2\x26\x8b\xf3\xa2\x08\xae\xfd\xc9\x8a\x2e\x38\xdc\xbe\xb8\xf4\
+\xdd\xe5\x61\xf0\xf6\x25\x03\xa7\xb1\x67\x76\xb0\xf3\x1d\xd1\x00\
+\x00\x20\x00\x49\x44\x41\x54\x78\x78\x5d\xd5\x99\xe0\x07\x5c\x05\
+\xb0\xc3\xe1\x08\xc8\x7d\x1d\x6b\xdc\x6e\x37\x2e\x5d\xba\x34\xeb\
+\xfd\x8c\x16\x5c\xdd\x77\x80\x40\x9f\xe2\x78\x70\xed\xda\x35\xca\
+\x9f\x3f\xcf\x10\x08\x04\x38\x7c\xf8\x70\xc8\xed\x2c\x0d\x57\x01\
+\x96\x5b\xf5\x1c\xd7\xe0\xb8\xdb\xcd\xd2\xa5\x4b\x27\xf9\xc8\x8f\
+\x3d\x37\x4e\x9e\x3c\x19\xb8\x9f\xcb\xe5\x9f\x78\x08\x04\x02\x7c\
+\xf7\xbb\xdf\x0d\xe9\x93\xde\xde\xde\x8e\x77\xdf\x7d\xd7\xbf\x2a\
+\x90\x98\x98\x88\xfd\xfb\xf7\x43\x28\x1c\x97\x96\x1e\x8f\x07\xa7\
+\x4f\x9f\x86\xdb\x3d\xaa\x95\x84\x12\x39\x92\x56\xbf\x18\xd7\x0a\
+\xb8\x63\xb0\x3e\x0f\x2c\x8d\xd7\x83\x6e\x23\x91\x48\x50\x56\x56\
+\x36\xa7\xc7\x1b\x6f\x84\xfe\x02\xbd\x92\x73\xda\xc8\x61\x9b\x1b\
+\xef\x5c\x36\xc0\xc7\xc4\xbe\x8c\xd4\xad\xba\x01\xdc\xae\x1f\xe4\
+\xbc\xdf\x86\x25\x49\x51\x6b\xc3\x17\xe5\x9d\x68\xee\xb1\xc6\xbc\
+\xef\x16\x87\x07\x6f\x5f\x6e\xe1\xec\x8e\x52\x92\x9f\x30\xa5\x9b\
+\x4e\x51\x8e\x0e\x6a\x39\xb7\xc5\xa5\xde\x11\x27\xde\x3c\xdf\x0c\
+\x67\x8c\xc5\x3e\x0b\xe0\x0f\x37\xda\xd0\x33\xc2\xed\xc5\x2f\x12\
+\x0a\x20\x95\x90\x35\x9f\x08\xce\xb2\x65\xcb\x02\x5e\x92\xe1\xd0\
+\xd8\xd8\x18\x17\xff\x6d\x96\x65\x71\xfe\xfc\x79\xce\x2e\x25\x3a\
+\x9d\x2e\x6e\x16\xf2\x8c\x8c\x0c\xce\xd9\x7e\xcc\x66\x33\xce\x9d\
+\x3b\x17\x97\x78\x88\x47\x8f\x1e\xa1\xbe\xbe\x9e\x6e\x8c\x79\xc8\
+\xf6\xed\xdb\x91\x9c\x1c\x3c\x7b\xa0\xc7\xd2\x17\x90\x26\x33\xac\
+\xc9\xf7\x50\x6b\xc0\xf3\x64\x2a\xce\x9c\x39\x03\x8b\x65\x3c\x53\
+\x60\x62\x62\x22\x1e\x3e\x7c\xe8\xff\xbe\x6d\xdb\xb6\x69\xf7\xf5\
+\xeb\xaf\xe1\x61\xbc\xf9\xe6\x9b\x7e\x01\x2f\x97\xcb\x71\xf8\xf0\
+\xe1\x80\x94\xb9\x2c\xcb\xe2\xe2\xc5\x8b\xe3\xb1\x2e\x02\x01\x12\
+\x56\x1e\x86\x48\x91\xc0\x8b\x6b\x60\x35\xdc\x81\xcf\x15\x5c\x43\
+\x6d\xd9\xb2\x05\x5a\xad\x76\x4e\x8f\x35\x5e\x29\x8f\xe7\x4b\xb9\
+\x3f\xfc\x5b\xfb\x6c\xf8\xe4\xeb\x8e\x98\xb6\xb3\xa1\xcb\x82\xe3\
+\x77\x3b\x39\xef\x57\x9c\xab\x9b\xb1\xdb\xce\x44\x18\x86\xc5\xbb\
+\x57\x5a\x31\x68\x89\x5d\x16\x1e\xaf\x8f\xc1\x3b\x97\x5b\x39\x05\
+\xe0\x02\xa3\x2e\x3a\xfb\x57\x4f\x9d\x55\x44\x26\x11\xa2\x6c\x55\
+\x1a\xe7\xb6\x74\x0c\xd8\xf1\x9b\x0b\x2d\x70\x79\x62\xf7\x02\xbe\
+\x50\xd9\x83\xea\x76\xee\xc1\xc0\x1b\x97\x24\x47\x5c\x3b\x81\x78\
+\x76\xd0\xe9\x74\x11\x55\x5e\x2c\x2f\x2f\x8f\x79\x96\x98\x5b\xb7\
+\x6e\xa1\xbd\xbd\x9d\xfb\xbd\xb0\x71\x23\xe7\xc9\x4c\xb4\x10\x08\
+\x04\x93\x2a\x74\x86\x43\x67\x67\x67\x80\x0f\x72\x2c\x68\x6b\x6b\
+\xe3\x4d\x8c\x00\x11\x7d\xc4\x62\x71\x58\xd9\x6c\x2c\x8d\xd7\xc1\
+\x32\xe1\xad\x1e\x33\x6e\x3b\x3c\x96\x7e\xff\xf7\xa5\x4b\x97\x4e\
+\xda\xa6\xbb\xbb\x3b\x20\xcf\x3d\x30\x6a\xe1\x1f\x9b\xc8\xa6\xa5\
+\xa5\xe1\xc8\x91\x23\x41\x8f\xe3\x74\x3a\xf1\xeb\x5f\xff\x1a\x66\
+\xb3\x79\x54\x48\x0a\x85\x78\xfe\xf9\xe7\x03\x62\x60\x58\x96\xc5\
+\xa5\x4b\x97\x02\x9e\x4b\x9a\x45\xdb\x21\x4b\xce\xe7\xc5\xf9\xf7\
+\x39\xcc\xb0\xb5\xde\x0b\xf9\xbc\x38\x70\xe0\xc0\x9c\x1f\x6b\xbc\
+\x12\xfa\x4b\x32\x35\x58\x92\xc9\xdd\xe7\xfe\x5e\xd3\x10\xde\xbb\
+\xda\x1a\x93\x80\xc7\x07\x2d\xc3\x78\xeb\x92\x01\x0c\xc7\x55\x04\
+\xa1\x50\x80\x83\x6b\xa2\x6f\xc5\xb2\xb9\xbc\xf8\xe5\xe9\x46\xb4\
+\xf6\xcd\xfe\xd2\xae\xd9\xe1\xc1\xff\x9c\x69\x42\x5b\x3f\xf7\x63\
+\x6d\x59\xa6\x47\x52\x90\x62\x57\x9b\x96\xea\x91\xac\xe1\x5e\x0c\
+\xab\xb5\xdf\x86\xdf\x5c\x6c\x9e\xf5\x6b\xcf\xb2\xc0\xb9\x47\x3d\
+\x38\xff\x90\x7b\xc6\x23\xb1\x48\x88\x3d\x2b\xd3\x40\x10\xe1\x50\
+\x5a\x5a\x1a\x91\x3f\xe8\xf9\xf3\xe7\x63\x12\x9c\xcb\x30\x0c\xae\
+\x5c\xb9\xc2\xc9\xd7\x7d\x8c\xd4\xd4\xd4\xb8\xe7\xa6\x2f\x28\x28\
+\x40\x7a\x3a\xf7\x5a\x24\x8f\x1f\x3f\xc6\xc5\x8b\x17\xe1\xf3\xcd\
+\xfe\x2a\x62\x5d\x5d\x1d\xce\x9c\x39\xc3\x29\xc0\x99\x98\x7b\xec\
+\xdc\xb9\x13\x89\x89\x89\xc1\x05\xa9\xcb\x1a\x52\x90\x8e\x31\x31\
+\x08\x37\x35\x35\x75\xd2\xea\x15\xcb\xb2\xf8\xe8\xa3\x8f\x26\x8d\
+\x61\x7f\xba\x4b\xa1\x10\x7f\xf6\x67\x7f\x16\xf4\xf9\xe3\x76\xbb\
+\x71\xec\xd8\x31\x7f\xe5\x5b\x00\xd8\xbb\x77\x2f\xd2\xd2\xd2\x02\
+\x9e\x11\xe7\xcf\x9f\x0f\x58\x8d\x92\xa7\x2d\x85\x3a\x7f\x03\x6f\
+\xce\xbd\xb9\xe1\x72\xc8\x09\xd4\xd6\xad\x5b\xb1\x60\xc1\x02\x12\
+\xfa\xd1\xe6\xd0\xda\x4c\x44\xe2\xc2\x5e\xd9\x3a\x82\xff\x3e\xdd\
+\x88\x61\x8e\x3e\xf3\x5c\x84\xde\xa9\x8a\x6e\x7c\x70\xbd\x0d\x5e\
+\x1f\x77\x51\xb9\x61\x71\x12\x52\x75\xb3\x53\x05\xd2\xe2\xf0\xe2\
+\x57\x67\x9b\x70\xaf\x69\x68\xd6\xae\x4b\xc7\x80\x1d\xbf\xf8\xaa\
+\x01\xed\x11\xa4\x35\x55\x48\x45\xd8\xb3\x32\xf8\x8b\x55\x24\x14\
+\xe0\xc0\x9a\x8c\x88\xda\x66\xe8\xb5\xe1\xb7\x17\x5b\x60\x71\x78\
+\x67\xe9\xfc\x7a\xf0\xeb\xf3\x4d\x38\xff\xa8\x07\x91\xbc\x76\x37\
+\x2f\x4b\x86\x56\x49\xd6\x7c\x22\x3c\x94\x4a\x25\x4a\x4a\x4a\x22\
+\x12\xe0\xd7\xae\x5d\xc3\xf5\xeb\xd7\x67\xcd\xcd\xc4\xe1\x70\xe0\
+\xc4\x89\x13\x78\xf2\xe4\x49\x44\xfb\xf3\x25\x73\x45\xa4\xa9\xf2\
+\x1a\x1a\x1a\x70\xfc\xf8\x71\xd8\xed\xb3\x93\xde\x99\x65\x59\xdc\
+\xba\x75\x0b\x97\x2f\x5f\xa6\x9c\xf9\xcf\x00\x12\x89\x24\x2c\x5f\
+\x7d\x6b\x6b\x39\x18\x77\xe8\x31\xe7\xb5\x8f\x6b\x80\x9c\x9c\x9c\
+\x49\xff\x5f\x5e\x5e\x1e\xb4\xde\xc5\xc1\x83\x07\xa7\xdc\x6f\xa2\
+\xc8\xff\xf5\xaf\x7f\x8d\xc6\xc6\x46\xff\xef\x56\xae\x5c\x19\x30\
+\x79\xf7\xf9\x7c\x38\x7b\xf6\x6c\x40\xba\x5d\x59\xca\x42\x24\x14\
+\x3f\xcf\x9b\xf3\xee\xe8\x7e\x0c\x67\x6f\x43\xd0\x6d\x64\x32\x19\
+\xbe\xf5\xad\x6f\xcd\x8b\x71\xc6\x3b\xa1\x9f\x9d\xac\x40\x49\x41\
+\x62\x44\xfb\x76\x0e\x39\xf0\x1f\x27\x1b\xf0\x75\xdd\x00\x67\x8b\
+\x7b\x30\x8c\x83\x0e\xbc\x71\xae\x09\x97\xab\x23\x4b\xeb\x28\x15\
+\x0b\xb1\xb7\x64\x76\xab\xd9\xfa\x18\x16\x7f\xbc\xd9\x8e\x0f\x6f\
+\xb4\x63\xc4\x16\xbd\xa0\x4f\xb7\x97\xc1\x85\xca\x1e\xfc\xcf\x99\
+\x26\xce\x19\x76\xc6\xd8\x55\x9c\x06\xa5\x2c\x74\xe9\xec\x92\xfc\
+\x44\x64\x27\x47\x56\x90\xa2\xb9\xc7\x8a\xff\xf3\x59\x2d\xce\x3c\
+\xe8\x8e\xaa\xdf\x7e\x53\xb7\x15\xff\xf7\xcb\x06\x34\x75\x47\x16\
+\x0b\xa1\x51\x88\xb1\xa7\x98\xac\xf9\x04\x37\x4a\x4a\x4a\x22\xae\
+\x7a\x5b\x53\x53\x83\x2f\xbe\xf8\xc2\x5f\xbe\x3e\x5a\x02\xb4\xa1\
+\xa1\x01\x9f\x7c\xf2\x49\xc4\xd5\x59\x73\x72\x72\x90\x95\x95\xc5\
+\x8b\xf3\x9b\x9e\x9e\x1e\x71\x40\x70\x6f\x6f\x2f\x3e\xfe\xf8\x63\
+\xd4\xd7\xd7\x47\xd5\xe2\xde\xd7\xd7\x87\xe3\xc7\x8f\xa3\xb2\xb2\
+\x92\x6e\x80\x67\x88\xb2\xb2\x32\x64\x67\x67\x07\xbf\xff\xbc\x6e\
+\x8c\x54\x9f\x0a\x19\x98\xeb\xb3\x8f\xc7\xcb\x3c\x9d\xbe\xd6\x6e\
+\xb7\xe3\xc4\x89\x13\x13\x7e\x13\x68\x52\xcd\xcb\xcb\x0b\x1a\x74\
+\xea\x76\xbb\xf1\xc6\x1b\x6f\x04\x88\xfc\xe4\xe4\xe4\x80\x0c\x3b\
+\x5e\xaf\x17\xa7\x4f\x9f\x0e\xc8\x95\x2f\x4f\x5b\x82\xa4\x92\x17\
+\x21\x10\x8a\x78\x71\xbe\x7d\x0e\x13\x4c\x4f\x2e\x84\xdc\xee\x85\
+\x17\x5e\x08\xb9\xda\x32\x57\x10\xf3\xb1\x51\x07\xd7\x64\xe0\x89\
+\xd1\x1c\x91\x60\xb3\x39\xbd\xf8\xec\x8e\x11\xd7\x6a\xfb\x71\x60\
+\x4d\x06\x56\xe5\x25\x20\xd2\x24\x37\x83\x16\x17\xce\x3c\xe8\xc1\
+\x23\xc3\x30\x66\xf2\x38\xdf\xb3\x32\x2d\x66\xfe\xd9\x15\xcd\x43\
+\xa8\x6c\x1d\xc1\xf6\xe5\x7a\xec\x2e\x4e\x83\x5c\x1a\xd9\xcd\xc5\
+\xb0\x2c\xee\x36\x0e\xe1\xdc\xc3\x1e\x98\x1d\x91\x4f\x1c\x52\x75\
+\x32\x6c\x5f\xae\x0f\x6b\x5b\x01\x80\x6f\xac\xcf\xc2\x1b\x67\x9b\
+\xc0\x44\xf0\x02\x75\x7b\x19\x5c\xac\xea\xc5\xd7\xf5\x03\xd8\x55\
+\x9c\x86\xad\x85\x7a\x48\x44\xc2\x88\xfa\xfe\xc4\x68\xc6\xd7\x75\
+\x83\xa8\xef\x34\x47\x7c\xed\x05\x00\x5e\xdb\x9a\x0b\x95\x5c\x0c\
+\x82\xe0\x82\x44\x22\xc1\xa6\x4d\x9b\x70\xf9\xf2\xe5\x88\xc5\xe8\
+\xe7\x9f\x7f\x8e\xfc\xfc\x7c\x6c\xdc\xb8\x71\x46\x2f\xac\xf6\xf6\
+\x76\xdc\xb9\x73\x07\x03\x03\x91\x67\xf9\x12\x8b\xc5\xbc\x2b\x38\
+\xb3\x79\xf3\x66\x18\x8d\x46\x7f\x3a\x41\x2e\xd8\xed\x76\x5c\xba\
+\x74\x09\x95\x95\x95\xd8\xb4\x69\xd3\x8c\x96\xf7\xcd\x66\x33\xca\
+\xcb\xcb\x03\x04\x14\xf1\xec\x20\x12\x89\xf0\x83\x1f\xfc\x00\x3f\
+\xfb\xd9\xcf\x82\x4e\x1c\x5d\x83\x06\x98\xeb\x2f\x41\xbb\x6c\xcf\
+\xb4\xdb\x78\x1d\x23\x01\x22\x7c\x22\x27\x4e\x9c\xf0\x57\xad\x15\
+\x8a\x65\x60\x26\x14\x88\x12\x8b\xc5\xf8\xce\x77\xbe\x33\x6d\xec\
+\xcc\x98\xc8\x9f\x68\xa5\x17\x8b\xc5\x78\xf1\xc5\x17\xfd\xdf\x3d\
+\x1e\x0f\x4e\x9d\x3a\x85\xce\xce\xf1\xf8\x45\x45\xc6\x72\x24\x14\
+\x1d\x04\x04\x3c\xb1\x29\xb3\x2c\x46\xaa\x4f\x82\xf5\x06\xf7\xfc\
+\xd0\xeb\xf5\x38\x74\xe8\xd0\xbc\x19\x63\xbc\x54\x20\x49\x6a\x29\
+\x5e\xdf\x91\x8b\xb7\x2e\x1a\x22\x12\x7c\x00\x30\x60\x76\xe1\xfd\
+\xab\xad\x38\xa9\x92\xa2\x28\x57\x87\xe2\x1c\x1d\xf2\xd3\x54\x10\
+\x86\xc8\x6d\x39\x6c\x75\xa3\xa6\xdd\x84\xea\x76\x13\x0c\xbd\xb6\
+\x88\x8f\x3f\xc6\xca\xbc\x04\xec\x8a\xb1\x7f\xb6\xd7\xc7\xe0\x72\
+\x75\x1f\x6e\xd5\x0d\x60\x69\x96\x16\x45\x0b\x74\x28\xcc\xd6\x86\
+\xb4\xaa\x7b\x7d\x2c\x9a\x7a\x2c\xa8\x69\x37\xe1\x71\x87\x79\xc6\
+\xe9\x20\x15\x52\x11\xbe\xbf\xbb\x00\x62\x0e\x62\xbb\x20\x4d\x85\
+\x6f\xac\xcf\xc2\x17\xe5\xc6\x88\x8f\x6b\x77\xf9\x70\xf2\x7e\x17\
+\x6e\xd4\xf6\x63\x6b\x61\x0a\x96\x66\x69\x90\x99\xa8\x08\x9a\xd6\
+\x94\x65\x47\x0b\x60\x55\xb4\x0c\xe1\x4e\xc3\x20\xe7\x60\xe3\xa9\
+\xd8\xb1\x22\x35\xae\x75\x1e\x88\xb9\xcd\xb2\x65\xcb\xd0\xd7\xd7\
+\x87\x9a\x9a\x9a\x88\xff\x86\xc1\x60\x80\xc1\x60\x40\x7a\x7a\x3a\
+\x0a\x0a\x0a\x90\x9f\x9f\x0f\x9d\x2e\x74\x3a\xdb\xb1\xdc\xf8\x2d\
+\x2d\x2d\x30\x99\x66\x5e\x89\x7a\xf7\xee\xdd\x48\x4a\x4a\xe2\xd5\
+\xf9\xd5\xe9\x74\xd8\xbd\x7b\x37\xce\x9e\x3d\x1b\xf1\xdf\x18\x18\
+\x18\xc0\x57\x5f\x7d\x85\xc4\xc4\x44\xe4\xe7\xe7\x23\x3f\x3f\x3f\
+\xc0\x57\x79\x3a\x2c\x16\x0b\x0c\x06\x83\x3f\x4f\x3f\xb9\xe9\x3c\
+\xdb\x2c\x5d\xba\x14\x3b\x76\xec\x08\x99\x2a\xd7\xd6\xfe\x00\x62\
+\x55\x12\x94\x0b\xa6\x2e\x62\xe5\xb3\x0f\x07\x88\xd5\x31\x5a\x5b\
+\x5b\x03\x02\xbb\xa5\xc9\x79\x70\xf6\x8e\xfb\xcf\x1f\x3c\x78\x70\
+\xda\xb8\x15\x97\xcb\x85\x37\xde\x78\x63\x92\xcb\xcf\x8e\x1d\x3b\
+\xfc\x19\x76\xdc\x6e\x37\x4e\x9e\x3c\x19\xb0\xda\xa7\xcc\x2a\x86\
+\x6e\xf9\x7e\x44\x25\x9f\x78\x94\xb0\x1a\x6e\xc3\x3d\x12\x3a\x91\
+\xca\x6b\xaf\xbd\x06\xa9\x54\x3a\x6f\xc6\x17\x6f\x4d\x8d\xcb\xb2\
+\xb4\x38\xbc\x2e\x13\x27\x22\xc8\x6e\x13\x20\xdc\x6d\x6e\xdc\xa8\
+\xed\xc7\x8d\xda\x7e\xa8\x64\x62\xa4\x68\x65\xd0\x28\xc5\xd0\x2a\
+\x24\x50\x2b\xc4\x70\x79\x18\x98\xed\x1e\x58\x1c\x5e\x98\xec\x6e\
+\xf4\x99\xa2\x97\xc1\x26\x3b\x59\x81\xd7\xb6\xe6\x20\x5e\xc3\xdc\
+\xe5\x61\x50\xd5\x3a\x82\xaa\xd6\x11\x08\x85\x02\xa4\x27\xc8\xa1\
+\x53\x4a\xa0\x53\x4a\xa0\x55\x4a\x20\x16\x0a\x60\xb2\x8f\xe6\x77\
+\x37\xd9\x3d\xe8\x35\x39\xa3\x96\xc1\x46\x28\x10\xe0\xf5\x9d\x79\
+\x48\xd1\x72\x8f\x4b\xd8\x5a\xa8\x47\xcf\x88\x23\xa2\xf4\xa5\x13\
+\x31\xd9\x3d\x38\x55\xd1\x85\x53\x15\x80\x52\x26\x42\x8e\x5e\x05\
+\xb5\x5c\x0c\x95\x5c\x04\xb9\x54\x04\x8b\xdd\x8b\x41\xab\x0b\x83\
+\x16\x37\x86\xad\xee\xa8\xa6\x69\xcd\x4e\x56\xe2\xe0\xda\x0c\x10\
+\xc4\x4c\xd8\xba\x75\x2b\x46\x46\x46\x60\x34\x1a\x67\xf4\x77\x7a\
+\x7a\x7a\xd0\xd3\xd3\x83\xaf\xbf\xfe\x1a\x3a\x9d\x0e\x6a\xb5\x1a\
+\x4a\xa5\x12\x4a\xa5\x12\x32\x99\x0c\x0e\x87\x03\x76\xbb\x1d\x76\
+\xbb\x1d\x26\x93\x29\xaa\x3e\xe8\xeb\xd6\xad\x8b\x7b\x00\xee\xb4\
+\x86\x85\x82\x02\xac\x5f\xbf\x3e\xa0\x62\x67\x44\xef\x99\xe1\x61\
+\x0c\x0f\x0f\xe3\xc1\x83\x07\x50\x28\x14\x48\x48\x48\x80\x4a\xa5\
+\x82\x4a\xa5\x82\x52\xa9\x84\xcb\xe5\x82\xcd\x66\x83\xcd\x66\x83\
+\xd5\x6a\xa5\x2a\xb7\xc4\x24\xbe\xfd\xed\x6f\xe3\xfe\xfd\xfb\x7e\
+\xab\xfb\xb4\xef\xb5\xba\x4b\x10\x29\x13\xa7\xcc\x5e\x33\x31\x55\
+\xe4\xd8\x2a\x9e\xd5\x6a\x0d\xc8\x75\x2f\x56\x27\xc3\x63\x1e\x17\
+\xe4\x79\x79\x79\xd8\xbd\x7b\xf7\xd4\xc2\xd8\x6a\xc5\xb1\x63\xc7\
+\x02\x5c\x71\x80\x51\x37\xbc\xb1\xf4\x9b\x2e\x97\x0b\x5f\x7e\xf9\
+\x25\xfa\xfa\xfa\xc6\x45\xfe\x82\xd5\xd0\x15\xf2\x2b\xf7\xbc\xb3\
+\xb7\x01\x96\xe6\x5b\x21\xb7\x5b\xbb\x76\xed\x9c\xae\x82\x3b\xa7\
+\x84\x3e\x00\x6c\x5f\x9e\x82\x9e\x11\x27\xca\x1b\x06\xa3\xf2\xf7\
+\x6c\x2e\x2f\x6c\xfd\xb1\x29\xb0\xa5\x51\x48\xf0\xfd\x5d\x05\xbc\
+\xa9\x84\xca\x30\x2c\xba\x86\x1c\xe8\x1a\x72\xc4\xe4\x78\x87\xd7\
+\x65\x62\x69\x66\xe4\xd6\xec\x17\x37\x64\xa3\xdf\xe4\x42\x53\x94\
+\xea\x04\xd8\x5d\x3e\xd4\x75\x9a\x63\xd2\xf7\x64\x8d\x14\x3f\xd8\
+\x9d\x0f\x91\x50\x00\x82\x98\xd1\x84\x59\x28\xc4\xbe\x7d\xfb\xf0\
+\xe9\xa7\x9f\x46\xc5\xb2\x0e\x00\x26\x93\x29\x6a\x7f\x2b\x14\x0b\
+\x17\x2e\xc4\xba\x75\xeb\x78\x7d\x8e\x4b\x4b\x4b\x31\x38\x38\x18\
+\x34\x48\x91\x0b\x0e\x87\x03\x0e\x87\x83\x06\x2f\xc1\x09\xb5\x5a\
+\x8d\xd7\x5f\x7f\x1d\x6f\xbc\xf1\x46\xf0\x0d\x59\x16\xc3\x95\x5f\
+\x42\xbf\xfe\xbb\x10\xab\x03\xdd\x73\x04\x22\x29\xd8\x3f\xb9\xe4\
+\xb8\xdd\x6e\x7f\xf0\xac\xdf\xed\x4e\x20\x80\x50\x2c\x83\xdb\x3a\
+\xaa\xa9\x24\x12\xc9\xb4\x2e\x3b\x9d\x9d\x9d\x38\x76\xec\xd8\xa4\
+\x4a\xdd\x32\x99\x0c\xbb\x76\xed\x1a\x15\xcf\x4e\x27\x4e\x9c\x38\
+\x11\xe0\xd6\xa7\xca\x2d\x85\x76\xe9\x2e\x5e\x9d\x5b\xf7\x48\x27\
+\x46\xaa\x4f\x86\x8c\x71\x48\x48\x48\xc0\x0f\x7f\xf8\xc3\xf9\xf7\
+\x1e\xe1\x7b\x03\x5f\xde\x98\x8d\x82\x34\xf5\xdc\x9a\x3d\x89\x84\
+\xf8\xfe\xae\x7c\xe8\x54\xcf\x66\xa6\x95\xf5\x8b\x93\xb0\x7d\x79\
+\xca\x8c\xfe\x86\x48\x28\xc0\x9f\x3f\x97\x8f\x64\x8d\x6c\x4e\xf5\
+\x5d\xa7\x92\xe0\x47\xfb\x16\x51\x96\x1d\x22\x6a\xc8\x64\x32\x1c\
+\x3a\x74\x28\xa0\x10\xcd\x5c\x20\x25\x25\x65\x5a\x4b\x21\xdf\xd8\
+\xb5\x6b\x57\x80\xab\x03\x41\xc4\x83\x6d\xdb\xb6\x05\x04\xb7\x4e\
+\xab\xf5\xbd\x2e\x0c\x3d\xfc\x14\x8c\x27\x70\x42\x29\x94\xc8\xfd\
+\x9f\x2d\x16\x0b\xde\x79\xe7\x1d\xb4\xb5\x8d\x57\xca\x55\xe5\x94\
+\xfe\xbf\xf6\xee\xf4\xb7\x8d\xf3\x40\x03\xf8\xc3\x19\xde\x14\x25\
+\x4a\xd6\x2d\xd3\x92\x2c\xc9\x97\x7c\x48\x59\xc5\x76\x64\x5b\x76\
+\x7c\xd4\x46\xac\x46\x76\x9a\x8d\x03\xf4\xc3\x6e\x2e\x20\x09\xba\
+\x89\x01\x63\x8b\xfd\x03\xfa\xb5\x68\x3f\xb4\x40\x50\x34\x45\x16\
+\x05\x36\xd9\x14\xa9\x0b\xbb\x8d\x03\xc3\x6d\xd2\xba\xf1\x59\xc3\
+\x46\xd6\x71\x6c\x2b\xb6\x0c\x2b\xd6\x61\x4b\x96\x25\x91\x22\x25\
+\xf1\xd8\x0f\xaa\x6c\x92\xe2\x31\x33\x9c\x19\x0e\xa9\xe7\x07\x10\
+\xbc\x66\x86\xe4\x70\xc8\x79\xde\x77\xde\x79\x5f\xcc\x8c\x3f\xa9\
+\xcd\xdf\xbf\x7f\x7f\xd2\x26\x3b\x5f\x7d\xf5\x15\x7e\xf6\xb3\x9f\
+\x2d\x08\xf9\xc0\x5c\x93\x1d\x97\xcb\x05\xbf\xdf\x8f\xa3\x47\x8f\
+\xc6\x85\xfc\xa2\xc6\xcd\x86\x0b\xf9\xa1\xa9\x87\x18\xbb\xfc\xfb\
+\x8c\x5d\x69\x9a\x4c\x26\xbc\xf9\xe6\x9b\x71\x63\x01\x30\xe8\xeb\
+\x44\x14\x4c\x78\x6d\x57\x63\xde\xb4\x75\x76\xda\x44\xbc\xb1\x7b\
+\x39\x96\x55\x38\xb1\x18\x6d\x6a\x59\x82\x17\x9f\xf1\xaa\xb6\x2e\
+\xdf\xda\xdb\x84\xda\x32\x47\x5e\x7c\x76\xb7\xc3\x8c\xb7\xf6\x36\
+\xa7\x1d\x2f\x80\x48\x09\x8f\xc7\x83\xe7\x9f\x7f\x1e\x2e\x97\x2b\
+\x2f\xde\x6f\x4d\x4d\x0d\xba\xbb\xbb\x61\x36\xe7\xc7\x89\xe8\x16\
+\x8b\x05\xdd\xdd\xdd\x92\xda\xd7\x13\x69\xe9\xd5\x57\x5f\xcd\xd8\
+\x0b\x0f\x30\xd7\x7b\xcc\xd8\xe5\xa3\x88\x46\xc2\x31\x41\xff\xc9\
+\xbe\xf2\xbd\xf7\xde\x8b\x3b\xbf\xa7\xa8\x71\xd3\x5c\xd8\xfd\x67\
+\xad\xb6\xd7\xeb\xc5\xb3\xcf\x3e\xbb\x60\xb9\x27\x4f\x9e\xc4\xaf\
+\x7f\xfd\x6b\x4c\x4f\x2f\x6c\xc6\xdc\xdc\xdc\x8c\x96\x96\x16\xf4\
+\xf5\xf5\xe1\xa3\x8f\x3e\x8a\x2b\x08\xb8\x9b\xb7\xc2\xdd\xd2\x65\
+\xa8\x75\x19\x0e\x4e\xe2\xe1\xa5\x85\x05\xa2\x64\xf6\xed\xdb\x87\
+\xf5\xeb\xd7\x17\xe4\x36\x25\xe4\xc3\x9b\xb4\x5b\x45\xbc\xbe\x7b\
+\x39\xba\x5a\x2b\x0c\xfd\x3e\xab\x3c\x76\x1c\xee\x5e\x81\xe6\x9a\
+\x22\x2c\x36\x82\xc9\x84\x9e\xa7\xeb\xf0\xd2\x16\xaf\xaa\x4d\x56\
+\x4a\x8b\xac\xf8\x8f\xe7\x5a\xb0\xae\xbe\xc4\xd8\xdf\x7d\x89\x1d\
+\x6f\xef\x6b\x51\x74\x4e\x02\x91\x14\x15\x15\x15\x78\xf1\xc5\x17\
+\x51\x59\x59\x69\xe8\xf7\xb9\x6a\xd5\x2a\xf4\xf4\xf4\x28\xee\x1e\
+\x34\x57\x9c\x4e\x27\x0e\x1c\x38\x80\x15\x2b\x56\x70\x63\xa3\x9c\
+\xb1\xd9\x6c\x38\x7c\xf8\x30\xec\x76\x7b\xc6\x69\x67\x1e\x7d\x87\
+\xf1\xaf\x4f\x3c\x0e\xef\xf6\xaa\x27\x23\xe1\xce\xcc\x3c\xe9\x59\
+\xc6\x51\xbd\x1a\xae\x86\x8d\x08\x0c\x3c\x09\xfe\xdf\xfb\xde\xf7\
+\xe2\x9a\xec\x4c\x4e\x4e\xe2\xfd\xf7\xdf\xc7\xf1\xe3\xc7\x1f\xb7\
+\xe7\x37\x89\x4f\x8e\x4c\x3b\x1c\x0e\x74\x76\x76\xe2\x8b\x2f\xbe\
+\xc0\xa7\x9f\x7e\xfa\x78\x90\x2d\x00\x28\x5e\xb1\x03\x45\xcb\x8d\
+\xd5\xab\xd6\xec\xf8\x20\x46\xce\xff\x16\xe1\x40\xe6\xf3\x61\xea\
+\xeb\xeb\x0b\xa6\xcf\xfc\xbc\x0d\xfa\xb1\x41\xf2\xd0\x96\x65\x86\
+\x6c\xfb\xbc\x7a\x69\x31\xde\xd9\xdf\xa2\x69\x53\x13\x6f\xb9\x13\
+\xe5\x06\x0c\x92\x76\xab\x88\xd7\x76\x37\x6a\x56\x10\xb3\x9a\x05\
+\xfc\xdb\xb3\x8d\xd8\xb3\xa1\xda\x90\xdb\x66\x5b\x83\x07\xef\x76\
+\xaf\xd0\x6c\x40\x34\xa2\x79\x2e\x97\x0b\x07\x0f\x1e\x44\x4b\x4b\
+\x8b\xe1\xde\x9b\xc9\x64\xc2\x96\x2d\x5b\xb0\x73\xe7\xce\x94\xdd\
+\xf4\x19\x9d\x28\x8a\xd8\xbd\x7b\x37\x9e\x79\xe6\x19\x98\x4c\xc6\
+\xdb\xcf\x2c\x5b\xb6\xac\x20\x9b\x16\x50\xbc\xda\xda\x5a\xbc\xfe\
+\xfa\xeb\x92\xa6\x0d\x0c\x5e\xc3\xc3\xcb\x9f\x20\x1a\x9e\x45\x51\
+\xc3\x46\xd8\x2b\x9a\x9f\xfc\x26\x45\x0b\x5c\xf5\x1d\x28\x59\xfb\
+\x1c\xa6\xfa\xaf\x20\x1a\x9e\xeb\x4d\x6e\xc9\x92\x25\x71\xb5\xd7\
+\xe7\xcf\x9f\xc7\x4f\x7e\xf2\x13\x5c\xb9\x72\xe5\xf1\x63\x66\x57\
+\x7c\xfb\x7f\xaf\xd7\x8b\x63\xc7\x8e\xc5\x8d\xbe\x2d\x58\xec\x28\
+\xdd\xd0\x03\x57\xc3\x46\x43\xad\xbf\xe0\xd0\x75\x8c\x5e\xfc\x10\
+\x91\xe9\xcc\xe7\xf8\x79\x3c\x1e\x1c\x39\x72\x44\xd1\x68\xe4\xf9\
+\x22\xef\x3a\xf8\xde\xd8\x52\x86\x8a\x12\x1b\xfe\xfb\xf3\x3e\xcd\
+\x46\x42\x95\xb5\x73\x03\xb0\x63\x6d\xe5\xdc\x88\xbe\x1a\xef\x17\
+\xaa\x3d\x76\xbc\xb0\x79\x29\xfe\x74\x69\x10\x5f\x7e\xf3\x00\x46\
+\x18\x1c\xbd\xbc\xd8\x86\x57\x77\x35\xa2\xaa\xc4\xae\xf9\x7a\xde\
+\xd7\x5e\x8d\xea\x52\x3b\xfe\xf7\xef\x77\x31\x13\xca\x7d\x77\x74\
+\xa2\x60\x42\xf7\xbf\xd4\x1a\xfe\x48\x13\x15\x16\x51\x14\xb1\x67\
+\xcf\x1e\x94\x96\x96\xe2\xe2\xc5\x8b\xaa\x0e\xda\xa4\xb8\x30\x6e\
+\xb5\x62\xcf\x9e\x3d\xa8\xaf\xaf\x2f\x88\x75\xdc\xde\xde\x8e\xd2\
+\xd2\x52\x9c\x3a\x75\x2a\xae\x66\x34\x57\x2c\x16\x0b\x3a\x3b\x3b\
+\xd1\xda\xda\x8a\x8f\x3f\xfe\x18\x93\x93\x93\xfc\x21\x14\xb8\xce\
+\xce\x4e\xf4\xf7\xf7\x27\x0c\x72\x95\xdc\xf4\xc8\x6d\x8c\x5e\xfc\
+\x1f\x94\xb5\xbf\x88\xd2\xb6\x03\x08\x0c\x7e\x83\x68\x64\x16\x8e\
+\xea\x35\x30\x99\xe7\x9a\x92\x06\xef\x3f\x19\xa7\x61\xc7\x8e\x1d\
+\x10\x04\x01\x43\x43\x43\xf8\xe4\x93\x4f\x70\xfd\xfa\xf5\xb8\xe5\
+\xd9\x2b\x5b\x60\x2e\xaa\x80\xef\xf6\x99\xc7\x8f\xdd\xbc\x19\x3f\
+\x92\xac\xb5\xac\x1e\x9e\xb5\xcf\x41\xb4\x1b\xab\xe0\xe9\xbb\x75\
+\x06\x93\xb7\xfe\x2e\x69\x5a\xbb\xdd\x8e\x1f\xff\xf8\xc7\x05\x7f\
+\x7e\x4e\x5e\x8e\xe4\xd3\x58\xe9\xc2\x7f\xbd\xb0\x1a\x7f\xf9\xbf\
+\xfb\x38\x7d\xed\x41\xce\x42\x5f\x73\x75\x11\xba\x3b\x6a\xe1\x2d\
+\xd7\xaf\x3d\xbe\xd5\x2c\xe0\xe0\xa6\x3a\xac\xaf\x2f\xc1\x47\x7f\
+\xbf\x8b\x87\xbe\xdc\xec\x84\x1c\x56\x11\xbb\xd6\x57\x61\xdb\xea\
+\x72\x59\xfd\xe4\x67\xab\xad\xc1\x83\xe5\x95\x2e\x7c\x76\x65\x08\
+\x17\x7b\x1f\x66\x3d\xce\x81\x52\xab\xea\x8a\xd1\xb3\xb1\x16\x95\
+\x1a\x17\x70\x88\x52\xe9\xe8\xe8\xc0\xf2\xe5\xcb\x71\xf6\xec\xd9\
+\xb8\x13\xee\xf4\x24\x08\x02\x5a\x5b\x5b\xd1\xd1\xd1\x91\x77\x4d\
+\x75\x32\x69\x68\x68\x78\xdc\xe5\xe1\xb5\x6b\xd7\x72\xd6\xd7\x7d\
+\x4d\x4d\x0d\x76\xee\xdc\x29\x69\xfc\x03\x2a\x2c\x87\x0e\x1d\x82\
+\xdf\xef\xc7\xa9\x53\xa7\x32\x4e\x3b\x3b\x31\x8c\x91\x0b\xbf\x45\
+\xd9\x53\xff\x0a\x47\x6d\xeb\xc2\x09\xa2\x4f\xb6\xdf\x81\x81\x01\
+\xfc\xf4\xa7\x3f\xc5\x9d\x3b\x77\xe2\x7f\xcf\x16\x07\x8a\x57\xee\
+\x84\xa3\xb6\x15\x63\x5f\x1d\x4b\xfa\x3a\x26\x41\x84\xbb\x79\x9b\
+\xe1\x6a\xf1\xa3\x91\x10\xc6\xaf\x9e\x40\x60\xe8\x1b\xc9\x15\x26\
+\x87\x0f\x1f\x46\x43\x43\x43\xc1\x6f\x47\x79\x3b\x64\xa7\xdd\x22\
+\xe2\xb9\xa7\x6a\xb0\x75\x55\x39\x3e\xbb\x3c\x84\x8b\xdf\xea\x17\
+\xfa\x6a\x4a\xed\xe8\xee\xa8\xc5\xaa\xba\xe2\x9c\x7d\xfe\xa6\xea\
+\x22\xfc\xe7\x81\x55\xf8\xf2\xfa\x08\xfe\xf6\xf5\x83\xac\x46\xaf\
+\x95\xb5\xc1\x88\x26\x6c\x5d\x5d\x81\x5d\xeb\xaa\x32\x0e\xc0\xa5\
+\x95\x62\xa7\x05\x2f\x75\x7a\xb1\x7d\x4d\x05\xfe\x74\x69\x10\x5f\
+\xf7\x8f\xeb\xf6\xda\x95\x25\x36\x3c\xff\x74\x1d\x56\x2f\x2d\x06\
+\x51\xae\x95\x95\x95\x61\xff\xfe\xfd\x18\x18\x18\xc0\xd9\xb3\x67\
+\x31\x3c\x3c\xac\x5f\x45\x47\x73\x33\x36\x6d\xda\x54\xd0\x01\xd4\
+\xe9\x74\xa2\xab\xab\x0b\xeb\xd7\xaf\xc7\xf9\xf3\xe7\x55\xeb\x82\
+\x53\x8a\xd2\xd2\x52\x3c\xf5\xd4\x53\x58\xb1\x62\x85\x21\x9b\x11\
+\x91\x3e\x5e\x79\xe5\x15\x4c\x4d\x4d\xe1\xcc\x99\x33\x19\xa7\x0d\
+\x07\x26\x30\x72\xee\xb7\x28\x59\xbd\x1b\x8e\xda\xb5\xf1\x01\xdd\
+\xfc\xa4\x93\x88\xd8\xc1\xb3\xe6\x39\xaa\x57\xa3\x78\xd5\x2e\x08\
+\xd6\xb9\x8a\x4b\xc1\xbc\xb0\x12\xcb\x5c\xb4\x04\x9e\x75\xdf\x87\
+\xc5\x6d\xac\xf3\x84\x22\x33\x7e\x3c\xbc\xfc\x7b\xcc\xc6\xf4\x28\
+\x94\xc9\x6b\xaf\xbd\x56\xb0\x27\xdf\x16\x4c\xd0\x8f\x0b\x7d\x5b\
+\xbc\xd8\xde\x5a\x81\x13\x97\x07\x71\xad\x7f\x42\xd5\x81\x8f\xe2\
+\x43\x9e\x1d\x3b\xd7\x55\xa2\xa3\xa9\xcc\x10\x83\xbd\x59\xcd\x02\
+\x9e\x5d\x5b\x89\xae\x35\x15\xf8\xc7\xad\x87\xf8\xe2\xea\x7d\x55\
+\x07\xfc\x8a\x65\x11\x05\xb4\x35\x7a\xb0\xb7\xbd\x1a\xa5\x2e\x63\
+\xf4\x2a\x53\xe5\xb1\xe3\xd5\x5d\x8d\xb8\x3d\xec\xc7\x67\x97\x07\
+\x71\x7b\xd8\x07\x2d\xca\x7a\xa6\x7f\x16\xac\x36\xad\x58\x82\x0d\
+\x0d\x1e\xf6\x8f\x4f\x86\x53\x5b\x5b\x8b\x1f\xfc\xe0\x07\xb8\x75\
+\xeb\x16\x2e\x5d\xba\x14\xd7\xe5\x9d\xaa\xbf\x05\x93\x09\x5e\xaf\
+\x17\x1b\x37\x6e\x34\xfc\x49\xc1\x6a\xf2\x78\x3c\xd8\xbb\x77\x2f\
+\x86\x87\x87\x71\xee\xdc\x39\x0c\x0c\x0c\x68\xd6\x64\xaa\xa6\xa6\
+\x06\xed\xed\xed\x8b\xa2\xa6\x91\xa4\xfd\xe6\xde\x7a\xeb\x2d\x04\
+\x02\x01\x5c\xbe\x7c\x39\xe3\xf4\xd1\xf0\x0c\x1e\x5d\xfd\x14\xc1\
+\x91\xdb\x28\x59\xb3\x17\x82\x79\xee\xdc\x31\x47\xcd\x1a\xcc\x8c\
+\x2d\x1c\x78\xcf\xea\xa9\x43\xd1\xf2\x67\x60\x2b\x5f\x1e\x5f\xc8\
+\xf5\xb6\x21\x30\x70\x15\xd1\x48\x08\x26\xc1\x0c\xa7\xb7\x0d\xee\
+\x96\x2e\x98\x04\x63\xc5\xc6\xd9\xc9\xfb\x18\xbb\xfc\x7b\x84\x83\
+\x13\x92\xd7\xe7\x0f\x7f\xf8\x43\xec\xd8\xb1\x63\xd1\x6c\x43\xe6\
+\x42\xf9\x20\x55\x1e\x3b\xfe\xfd\xd9\x46\x04\x67\xc3\xb8\xfe\xdd\
+\x24\xae\xf6\x8f\xe3\x9b\xef\x26\x10\x9c\x09\x67\x15\xf0\x96\x55\
+\xb8\xb0\x76\x59\x09\xd6\x2e\x2b\x36\x6c\x33\x0d\x51\x30\x61\x53\
+\xcb\x12\x6c\x6c\x5e\x82\x6b\xdf\x4d\xe0\xeb\xbb\xe3\xb8\x39\x30\
+\x89\x31\x7f\x76\xcd\x7a\x9c\x36\x11\x6b\x96\x96\x60\x6d\x7d\x09\
+\x56\xd6\xba\x0d\x33\xf8\x57\xa2\xe5\x55\x2e\xbc\xbd\xaf\x19\xbe\
+\x60\x08\x5f\xf7\x8f\xe3\xea\xdd\x71\xdc\x1c\xf0\x21\x14\xce\xee\
+\x50\x7b\x59\x91\x15\x6d\x8d\xa5\xd8\xd4\x52\xa6\xfa\x49\xd0\xc5\
+\x0e\x0b\x2c\xa2\x80\x59\x89\xef\xd1\xc8\xe3\x09\x94\xbb\xad\xb2\
+\xb6\x29\x87\x75\xee\x6f\xc7\xe5\x72\x41\x10\x04\xc9\x4d\x22\x8a\
+\x8b\x8d\x7b\x14\x45\xce\x7b\xb3\xd9\x6c\x9a\xf5\x89\xdf\xd4\xd4\
+\x84\xa6\xa6\x26\x4c\x4c\x4c\xa0\xaf\xaf\x0f\x7d\x7d\x7d\x18\x1c\
+\x1c\xcc\x2a\x94\x5a\x2c\x16\x78\xbd\x5e\x34\x36\x36\xa2\xbe\xbe\
+\x5e\x52\x6f\x20\x6a\x90\x73\xa4\x40\x10\x04\x14\x15\x69\xdf\xdb\
+\x59\x55\x55\x15\x7a\x7a\x7a\x30\x35\x35\x85\x3b\x77\xee\xe0\xce\
+\x9d\x3b\xe8\xef\xef\x47\x38\x1c\xce\xee\xbf\xa6\xac\x0c\x5e\xaf\
+\x17\x4d\x4d\x4d\x49\xfb\x35\x8f\xe5\x76\xbb\x25\x17\xe4\xd2\x9d\
+\xb8\x5b\x5c\x5c\x2c\x79\x84\x5e\x9e\x00\x9c\xe3\x7d\xbc\x28\xe2\
+\xdd\x77\xdf\xc5\xcf\x7f\xfe\xf3\xb8\x13\x66\xd3\x09\x0e\x5d\xc7\
+\xec\xa3\x01\x78\xd6\x75\xc3\x5a\xba\x14\xce\xba\x0d\x10\x6d\x6e\
+\x04\x1f\xdc\x42\x38\x30\x0e\x8b\xa7\x16\xce\x9a\x56\x88\x4e\x4f\
+\xf2\xdf\xbd\xbb\x12\x55\x3b\xdf\x45\x64\x36\x00\xd1\xea\x02\x0c\
+\x76\x54\x29\x12\x9a\x86\xef\xf6\x59\x4c\xdd\xbd\x14\xd7\xc5\x68\
+\xa6\xff\x89\x37\xde\x78\x03\xdb\xb7\x6f\x5f\x5c\x85\xc5\xa8\x11\
+\xce\xe4\xd2\x48\x38\x12\xc5\xad\x21\x1f\x6e\xdc\x9b\xc4\x43\xdf\
+\x0c\xc6\xa7\x66\x31\x3e\x35\x83\x89\x40\x08\x91\x84\x5a\x7f\x97\
+\xcd\x8c\x62\xa7\x19\x25\x4e\x2b\x4a\x9c\x16\x2c\xab\x70\xa2\xd5\
+\x5b\x0c\xb7\x43\xdb\x33\xb1\x8f\x7c\x70\x45\xf2\xb4\x4f\x37\x97\
+\xe1\xe5\xad\xcb\x24\x4f\xff\x60\x62\x1a\x37\x07\x26\x71\x73\x60\
+\x12\xa3\x93\x33\xf0\x05\x43\xf0\x4f\x2f\xfc\xec\xa2\x60\x82\xdb\
+\x61\x46\xb1\xd3\x82\x62\x87\x05\xe5\x6e\x1b\xd6\x78\x8b\xd1\x58\
+\xe5\x82\x90\xa7\x87\x8c\x67\x42\x11\xdc\x18\x98\xc4\xb7\x83\x93\
+\x78\xe4\x9f\x9d\xfb\xee\xfd\xb3\x98\x0c\xce\x2e\xa8\xf5\x17\x04\
+\x13\x5c\x36\x33\x4a\x5d\x16\xd4\x57\xba\xd0\x58\xe9\x42\x43\xa5\
+\x0b\x25\x1a\x0f\x7a\x75\xf2\xca\x10\x4e\x7d\x35\x9c\xf1\x08\x54\
+\x63\x95\x0b\x6f\xed\x6d\x36\xec\x91\x84\xe0\x4c\x18\xbf\x38\xf1\
+\x2d\x06\xc7\xd2\xf7\x55\x6c\x16\x05\xec\x7f\xaa\x26\xee\xe4\xe5\
+\x73\xe7\xce\xe1\xca\x95\x2b\x19\xc3\x7e\x4d\x4d\x0d\x7a\x7a\x7a\
+\x0c\xdb\x9b\xcb\xec\xec\x2c\xfe\xf0\x87\x3f\xe0\xc1\x83\x07\x19\
+\x77\xd8\x9b\x37\x6f\xc6\x86\x0d\x1b\xf4\xfb\x7e\x82\x41\xdc\xb9\
+\x73\x07\x43\x43\x43\xf0\xfb\xfd\xf0\xfb\xfd\xf0\xf9\x7c\x71\xdd\
+\xe3\xcd\xd7\x74\x39\x9d\x4e\xb8\x5c\x2e\x14\x15\x15\xa1\xa8\xa8\
+\x08\x4b\x97\x2e\x85\xd7\xeb\x85\x28\xea\xdf\x4c\x2f\x1a\x8d\xe2\
+\xd8\xb1\x63\xb8\x77\xef\x5e\xc6\x9d\x77\x5b\x5b\x1b\x36\x6f\xde\
+\x9c\xb3\xef\xbe\xbf\xbf\x1f\xfd\xfd\xfd\xf0\xf9\x7c\xf0\xfb\xfd\
+\x98\x9a\x9a\x42\x20\x10\x58\x50\xc0\x12\x45\x11\x0e\x87\x03\x0e\
+\x87\x03\x65\x65\x65\x8f\xd7\xaf\xd3\x29\xfd\x3c\xaf\xa1\xa1\x21\
+\x7c\xf6\xd9\x67\x98\x9a\x9a\x4a\x5f\xa8\x76\x3a\xb1\x6f\xdf\xbe\
+\x94\x05\x87\x7b\xf7\xee\xe1\xe4\xc9\x93\x19\x47\xf1\xcd\xb4\x1c\
+\xd2\x31\xd3\x84\xc3\xf8\xcd\x6f\x7e\x83\xcf\x3f\xff\x5c\xd6\x7c\
+\x8e\xda\xb5\x28\x6e\xe9\x82\x60\x2b\x80\xae\xbf\xa3\x11\xf8\xfb\
+\x2f\xc3\x77\xeb\x8c\xa4\xfe\xf1\x63\x2b\x2c\x7e\xf4\xa3\x1f\x19\
+\x7e\xa4\x6e\x06\x7d\xd5\x76\x20\x80\x2f\x38\x8b\x89\x40\x08\x76\
+\x8b\x88\x12\xa7\x59\xd7\x13\x4a\xf5\x0a\xfa\x49\x3f\x3b\x80\xa9\
+\xe9\x10\x7c\x81\x10\x22\xd1\x28\x8a\x1d\x16\x38\xed\x66\x2c\x96\
+\xc6\x28\x91\x68\x14\x93\x81\x10\x7c\xc1\x10\x6c\x66\x01\x2e\xbb\
+\x19\x76\xab\x98\xb3\xcf\x3f\x19\x08\xe1\xa1\x2f\x75\x73\x2b\x87\
+\xd5\x9c\x37\xdd\x76\x0e\x8d\x05\x31\x1d\x4a\x5d\xb3\x52\x51\x6c\
+\x4f\x7a\x5e\xc7\xd4\xd4\x54\xda\x5e\x44\x6c\x36\x1b\x3c\x1e\x4f\
+\x5e\xac\x83\xb1\xb1\xb1\xb4\xbd\xb4\x94\x94\x94\xe8\x56\x23\x9e\
+\xf1\xb7\x10\x89\xc0\xef\xf7\x63\x7a\x7a\x1a\x4e\xa7\x13\x0e\x87\
+\xc3\x90\x6d\xc1\x1f\x3d\x7a\x94\x74\xf0\x9e\x79\x6e\xb7\x5b\x56\
+\x50\xd6\xb3\xa0\x32\x1f\xf8\x2d\x16\x0b\x1c\x0e\x07\xac\x56\xab\
+\x6a\xdf\xdd\xc8\xc8\x48\xca\x23\x35\x26\x93\x09\xe5\xe5\xe5\x19\
+\x0b\xc6\xe1\x70\x18\xa3\xa3\xa3\x59\x2f\x87\xf4\x75\xf4\xe8\x51\
+\xfc\xee\x77\xbf\x93\x17\xf6\x44\x2b\x8a\x1a\x37\xc1\xd5\xf0\xb4\
+\xe1\x9a\xdf\x48\xae\xb4\x18\xbe\x89\xc9\xde\xbf\x22\x34\x35\x26\
+\x6b\x3e\xbb\xdd\x8e\x23\x47\x8e\xa0\xb5\xb5\x75\x51\x6e\x2f\x8b\
+\x32\xe8\x1b\x89\xde\x41\x9f\x88\x88\x88\xf2\xdb\xe9\xd3\xa7\xf1\
+\xab\x5f\xfd\x4a\x76\xb3\x31\xd1\x51\x82\xa2\xe5\x9d\x70\xd4\xac\
+\x81\x49\x10\xf3\xe2\xb3\xce\x8e\x0f\x62\xe2\xc6\x5f\x30\xf3\xe8\
+\x9e\xec\x79\xab\xaa\xaa\x70\xf8\xf0\xe1\x82\xe9\xfa\x57\x09\x33\
+\x7f\x2e\x44\x44\x44\x44\xf9\x63\xdb\xb6\x6d\xa8\xa8\xa8\xc0\x2f\
+\x7f\xf9\x4b\x8c\x8e\x8e\x4a\x9e\x2f\x1c\x18\xc7\xf8\xd7\x27\x30\
+\xd9\xfb\x57\x38\xbd\xed\x70\x79\xdb\x20\x58\x5d\xc6\x0c\xf8\x93\
+\xc3\xf0\xf7\x9d\x47\x60\xe8\xba\xa2\xf9\x3b\x3a\x3a\xf0\xe6\x9b\
+\x6f\x1a\xf2\x88\x9f\x9e\x58\xa3\x9f\x63\xac\xd1\x27\x22\x22\x22\
+\x25\xfc\x7e\x3f\xde\x7f\xff\x7d\x9c\x3b\x77\x4e\x59\x08\x14\x44\
+\xd8\xab\x57\xc3\x5e\xb5\x02\xb6\xb2\x65\x30\x89\xb9\xed\x55\x6f\
+\xe6\xd1\x00\x82\xf7\x6f\x20\x38\x7c\x13\xe1\x80\xb2\xae\xb3\x45\
+\x51\xc4\xcb\x2f\xbf\x8c\xfd\xfb\xf7\x73\x03\x01\x6b\xf4\x89\x88\
+\x88\x88\xf2\x92\xcb\xe5\xc2\x3b\xef\xbc\x83\xb6\xb6\x36\x7c\xf0\
+\xc1\x07\x0b\x4e\xb2\xcf\x24\x1a\x09\x23\x30\x70\x15\x81\x81\xab\
+\x80\x49\x80\xd5\x53\x07\x5b\x79\x23\x6c\x4b\x1a\x60\x71\x57\x69\
+\xdf\xdb\x4e\x34\x8a\x99\xb1\xbb\x08\x0c\xf7\x62\xfa\xfe\x4d\x84\
+\xa7\x7d\x59\x2d\xae\xa2\xa2\x02\x6f\xbf\xfd\x36\x56\xae\x5c\xc9\
+\x8d\x83\x41\x9f\x88\x88\x88\x28\xff\x75\x75\x75\x61\xe5\xca\x95\
+\x78\xef\xbd\xf7\x70\xe3\xc6\x0d\x85\xa1\x3b\x82\x99\xb1\x7e\xcc\
+\x8c\xf5\x63\xb2\xf7\x6f\x10\x2c\x0e\xd8\x96\x34\xc0\xba\xa4\x01\
+\xb6\xf2\x46\x88\x2a\xf4\xda\x13\x99\x99\x42\x38\x38\x81\xf0\xd4\
+\x23\x4c\x8f\xf6\x21\x78\xff\x5b\x59\xbd\xe7\xa4\x22\x8a\x22\xba\
+\xbb\xbb\x71\xf0\xe0\x41\xd5\x4e\x7a\x2f\x14\x6c\xba\x93\x63\x6c\
+\xba\x43\x44\x44\x44\x6a\x39\x73\xe6\x0c\x3e\xfc\xf0\x43\x59\x6d\
+\xf7\x25\x85\x69\x47\x31\x04\x8b\x13\x82\xc5\x01\xc1\x62\x87\xe9\
+\x9f\xd7\x73\x97\xf9\xc7\xec\x40\x34\x8a\x70\x70\x1c\xe1\xc0\xc4\
+\x5c\xa8\x7f\x7c\x3d\x8e\x68\x24\xa4\xfa\xe7\x5d\xb3\x66\x0d\x5e\
+\x79\xe5\x15\xd4\xd5\xd5\xf1\xcb\x4f\x82\x35\xfa\x44\x44\x44\x44\
+\x05\xa2\xb3\xb3\x13\x1d\x1d\x1d\xf8\xe3\x1f\xff\x88\xe3\xc7\x8f\
+\xa7\xed\x9e\x56\x8e\x70\x60\x2e\xb4\x1b\x45\x79\x79\x39\x5e\x7a\
+\xe9\x25\x6c\xdd\xba\x95\x5f\x3a\x83\x3e\x11\x11\x11\xd1\xe2\x60\
+\xb5\x5a\xf1\xc2\x0b\x2f\x60\xc7\x8e\x1d\xf8\xf8\xe3\x8f\xf1\xe5\
+\x97\x5f\x66\x3d\x82\xb3\x51\x54\x54\x54\xa0\xa7\xa7\x07\xdb\xb7\
+\x6f\xcf\xc9\x60\x7e\xf9\x86\x4d\x77\x72\x8c\x4d\x77\x88\x88\x88\
+\x48\x4b\x63\x63\x63\x38\x79\xf2\x24\xfe\xfc\xe7\x3f\xc3\xe7\xf3\
+\xe5\xe5\x67\xa8\xaa\xaa\x42\x4f\x4f\x0f\xb6\x6d\xdb\xc6\x80\x2f\
+\x03\x6b\xf4\x89\x88\x88\x88\x0a\x58\x69\x69\x29\x0e\x1d\x3a\x84\
+\x03\x07\x0e\xe0\xf4\xe9\xd3\x38\x71\xe2\x04\x06\x07\x07\x8d\x1f\
+\x52\xcd\x66\xb4\xb7\xb7\x63\xfb\xf6\xed\x68\x6b\x6b\xe3\x28\xcd\
+\x0c\xfa\x44\x44\x44\x44\x94\x8c\xcd\x66\xc3\xee\xdd\xbb\xb1\x6b\
+\xd7\x2e\xf4\xf6\xf6\xe2\xc2\x85\x0b\xb8\x70\xe1\x02\x46\x46\x46\
+\x0c\xf5\x3e\x1b\x1a\x1a\xd0\xd5\xd5\x85\x2d\x5b\xb6\xc0\xed\x76\
+\xf3\x8b\xcb\x02\x9b\xee\xe4\xd8\x2f\x3e\xed\x45\xdf\x7d\xbf\xa4\
+\x69\x5f\xea\xf4\x62\xd3\x8a\x25\x5c\x69\x44\x44\x44\xa4\x8a\x68\
+\x34\x8a\x5b\xb7\x6e\xe1\xc2\x85\x0b\xb8\x78\xf1\x22\x86\x87\x87\
+\x75\x7f\x0f\x0e\x87\x03\xad\xad\xad\x58\xb7\x6e\x1d\xd6\xad\x5b\
+\x87\xea\xea\x6a\x7e\x31\x0c\xfa\x85\xe1\xee\x83\x29\x1c\xff\xc7\
+\x00\xee\x8e\xa4\x0e\xfb\x66\x51\x40\x5b\x83\x07\x3d\x1b\xeb\x60\
+\x35\xf3\xb0\x15\x11\x11\x11\x69\x63\x62\x62\x02\xbd\xbd\xbd\xb8\
+\x79\xf3\x26\x7a\x7b\x7b\x71\xfb\xf6\x6d\xcc\xcc\xcc\xa8\xb6\x7c\
+\x41\x10\x50\x55\x55\x85\xa5\x4b\x97\xa2\xa1\xa1\x01\xad\xad\xad\
+\x68\x6a\x6a\x62\xbb\x7b\x06\x7d\x22\x22\x22\x22\xd2\x53\x38\x1c\
+\xc6\xfd\xfb\xf7\x31\x3a\x3a\x8a\x91\x91\x91\xc7\xd7\x0f\x1f\x3e\
+\x44\x30\x18\x44\x28\x14\xc2\xec\xec\x2c\x66\x67\x67\x11\x0a\xcd\
+\xf5\x93\x5f\x54\x54\x04\xb7\xdb\x1d\x77\x99\x0f\xf7\x75\x75\x75\
+\xb0\x58\x2c\x5c\xb1\x0c\xfa\x44\x44\x44\x44\x44\xa4\x14\xdb\x81\
+\x10\x11\x11\x11\x11\x15\x20\xf6\xba\x43\x44\x44\x44\x54\x40\x16\
+\x73\x63\x0d\x93\xc9\xc4\x0d\x80\x41\x9f\x7f\x00\x44\x44\xc4\x60\
+\x41\x85\xb3\xcf\xce\x66\xdf\x6e\xe4\x5c\x20\xf7\xf7\x95\xf8\x59\
+\xa4\xcc\x5f\xc8\xbf\xe1\x82\x6e\xa3\x9f\xaf\x1f\x8d\x41\x9c\xeb\
+\x91\xeb\x85\x41\x8f\xeb\x86\x0a\x61\x1d\xf2\xfb\xcf\xfe\xff\x39\
+\xf6\xb1\xc4\xe7\xd3\x3d\x97\xe9\xff\x5e\xca\xbe\x40\xc9\xfe\x62\
+\x7e\x1e\x25\xdf\x7d\xb6\xa1\x3c\xf1\xb9\x74\xf7\xe5\x4c\x9b\xcf\
+\xcc\x46\xda\x98\x8d\xb2\xec\x7c\x9f\xdf\x28\xa1\x2e\x1f\x02\xa5\
+\x11\xde\xa3\xde\xef\x81\x41\x3f\xff\xc3\x8c\x11\x76\x40\xf9\xb0\
+\x13\xcc\xe5\x7b\x54\xf3\xb5\xd5\x58\x56\x36\xcb\xc8\x66\xde\x68\
+\x34\xaa\xf9\xf7\x90\xef\x81\x2c\x55\x78\x8f\xbd\x4e\xbc\x9d\xea\
+\xb9\x64\xd7\x4a\x0a\x04\x52\x0b\x0d\x72\xf6\x27\xa9\xbe\x27\x29\
+\x01\x5b\x6a\x28\x4f\x16\xe4\x4d\x26\x53\xda\xdb\x89\xf3\x4a\x79\
+\xfd\xbc\xda\x3f\x65\x53\xa3\xaf\x46\x60\x50\xf3\x90\x94\x92\x92\
+\xab\x9a\xf3\x28\x2d\x39\x67\x53\xe2\xd6\xba\x44\x6e\x84\x10\xa9\
+\xf6\x32\xd5\x5a\x9e\x11\x96\x63\xb4\xcf\x92\xab\xd7\xd3\xf3\x4f\
+\x58\xad\xd7\xca\x55\xf0\x32\xe2\xe7\xd1\xe3\xfb\x54\xba\xcc\x5c\
+\xd4\x4a\x4a\x99\x46\xc9\x73\x6a\xce\xa3\xe4\x35\xd4\x78\x5e\xcd\
+\xed\x24\xd7\xe1\x2d\x59\xf8\x8e\x0d\xf2\xf3\x97\x48\x24\xb2\xe0\
+\x76\xb2\xc7\xb2\x2d\x04\x64\x2a\x18\x28\x3d\x7a\x20\xb5\x56\x3d\
+\x55\x48\x57\x1a\xe6\x93\x5d\x04\x41\x58\x70\x3b\xf6\xb1\xf9\xfb\
+\xc9\x0a\x02\xf9\x1a\xf8\x93\x06\x7d\xad\x82\xa1\xdc\x40\x2b\xb7\
+\xd4\xa9\xc6\x73\x6a\xdd\x56\x3a\x9d\x92\xfb\x6a\x95\xbe\x95\x16\
+\x2a\xb4\x2e\x48\x68\x35\xad\x1e\x85\x1a\xb9\xcb\xd6\x72\x7a\x23\
+\xb5\xdf\x34\x72\xd0\xd7\x2b\x80\xcb\x7d\x1d\xad\xa6\xd7\x2b\x00\
+\x6b\xb5\x6e\xd4\x0e\xe2\x7a\x84\x6b\xb9\x35\x98\x72\x9b\x18\xc8\
+\x09\x52\x52\x6f\xab\x3d\x8f\x92\xfb\xd9\x16\x32\xf4\x2e\xf0\x49\
+\xf9\x0f\x4c\x16\xf0\x23\x91\xc8\x82\x4b\x38\x1c\x4e\x79\x3b\x76\
+\x9e\x54\xc1\x3f\xd3\x51\x02\xa9\x05\x03\xa9\xa1\x5f\xca\xf6\xac\
+\xe4\x5a\x4e\xb0\x8f\x0d\xf2\xc9\x2e\xa2\x28\xc6\x5d\x27\x5e\x92\
+\x2d\x33\x1f\xc3\xbe\x59\xad\xa0\xa0\x76\x50\x97\x5a\xb2\x94\xf2\
+\x9c\x9c\x6b\x35\x97\x21\xf7\x47\x92\x4d\x49\x5b\xcb\x82\x85\x92\
+\x82\x43\xb6\x47\x22\xf4\x3a\x92\xa1\xd7\x11\x25\xb5\x0a\x5b\x5a\
+\x05\x7c\x23\x1d\xc1\xd1\xad\x96\x43\xc3\x1d\xbe\x16\x41\x55\x8d\
+\x9a\x50\x35\xdf\xbb\x9a\xd3\x29\x0d\xd7\xd9\x2c\x3f\x9b\x60\x9e\
+\x4d\x80\x95\x5a\x43\x29\xb5\x56\x53\x69\x80\x4a\x9c\x2f\xdb\xd0\
+\x25\xa7\xc6\x55\x49\x8d\xad\x94\x75\xae\xe4\x24\x4c\xa9\xdb\x85\
+\xd4\xda\x6a\xa5\x21\x3f\x36\xa4\xcf\x07\xf8\xd8\x4b\x28\x14\x8a\
+\xbb\x4e\xbc\x24\x0b\xfe\x89\x85\x87\xc4\x02\x45\xba\xa6\x41\x99\
+\x6e\xa7\xca\x27\xb1\xf7\x33\x35\xaf\x49\xb5\x0d\x49\x7d\x5c\x4e\
+\xb8\x8f\x0d\xf5\xa2\x28\xc2\x6c\x36\xc7\x5d\x27\xde\x8e\x46\xa3\
+\x8f\xe7\x4d\xb6\x9d\xe5\x53\xd8\x37\xab\x15\xb4\xe4\xdc\x97\x13\
+\x72\xe5\x86\xf3\x74\xa5\xe4\x54\xd3\xcb\xbd\xaf\xf6\xed\x6c\x0b\
+\x19\xc9\x0a\x18\xe9\x0a\x1d\xf9\x56\x30\xd0\xf2\x64\x22\x35\x42\
+\x70\xae\xdf\x5f\x2e\x0a\x35\x8b\x31\xe8\x1b\x29\x48\x6b\x1d\x9e\
+\xd5\x08\xd8\xd9\x3c\xaf\x64\xde\x6c\xc2\xbc\x1a\x35\xe4\xd9\x84\
+\xf4\x4c\xd3\x48\x0d\xd7\x72\x03\x94\x94\x10\xa5\xc6\xb4\x99\xde\
+\x93\x9c\x02\x86\x9c\x02\x81\xd4\x40\x16\x3b\x4d\xb2\xff\xb4\x74\
+\xcb\xc8\xb6\x70\x91\xac\x99\x4e\x62\xc0\x9f\xbf\xcc\x8f\x3c\x3b\
+\x7f\x49\x0c\xfe\xb1\xb5\xfd\xa9\x9a\xf9\xa4\xca\x38\x72\x72\x50\
+\xaa\xcc\x92\x2e\xe8\xcb\xd9\x6e\xe5\x86\xfb\xc4\xa0\x3f\x1f\xf6\
+\x13\xc3\x7d\x6c\xa0\x9f\xbf\x44\x22\x11\x98\xcd\xe6\xa4\x9f\x25\
+\xb6\xf0\x28\x77\x9b\xca\x8b\xa0\xaf\x34\xb8\xa9\x55\x43\x2f\x27\
+\x14\x4b\x09\xf2\x52\x36\x62\xb9\x3f\x82\x74\xcb\x90\xfb\x3e\xf5\
+\x2e\x00\xe8\x79\x34\x40\x8d\xc0\xaf\x76\x01\x41\xeb\xe7\xb5\x0e\
+\xf8\x6a\xd7\xd2\xeb\x1d\xee\x8d\xd6\x74\x27\x97\x4d\x6e\xb4\x0c\
+\xc4\x46\x0e\xec\x72\x9f\xcb\xb6\x19\x87\x5a\xf7\x95\xb4\x2f\x96\
+\x1a\xe4\xe5\x06\xe2\x6c\xc3\x78\xaa\x00\x95\x2e\x54\xa5\x7a\x4e\
+\xad\x02\xc3\x7c\x90\x4a\x75\x9d\xea\xbb\x8e\x0d\x64\xa9\x6e\xa7\
+\x0a\xa1\xd9\xf4\x12\xa3\xe6\x7f\x5f\xaa\xca\x3a\x29\x99\x25\x55\
+\xbb\xfe\x54\xcd\x78\x94\x66\x98\x74\x21\x3f\x5d\xe0\x4f\xf7\x7d\
+\x26\xbb\x9d\xea\x7e\xe2\x63\xb1\x6d\xea\x63\x8f\x8e\x08\x82\x20\
+\xeb\xf3\xa6\xab\x2c\x4d\xb6\x5d\xe4\x53\xe0\x37\xcb\xdd\x61\x25\
+\x2b\xbd\x4a\x2d\x01\xa5\xfb\x21\xca\xfd\x61\xa7\x7a\x6f\xf3\xd7\
+\x89\xb7\xe5\x04\x7d\x2d\x6a\xfe\xa5\x06\x77\x39\x41\x3f\xd5\x74\
+\x52\x6a\xf4\xb5\x08\xf6\x5a\xd6\xec\x6b\x15\x8a\x73\x1d\xc8\xf3\
+\xad\x09\xd3\x62\xae\xd1\xcf\x45\xcd\xbe\x96\x4d\x5a\x8c\x56\x23\
+\xaf\x75\xd0\x97\x53\x53\xaf\x66\xf0\xd7\xa2\x6d\xb2\x9a\xe1\x5f\
+\x49\xf0\x97\x3b\x8d\xd4\xcf\xa0\x56\xad\xbe\x92\xb6\xff\x7a\x85\
+\xb6\x54\x99\x29\x36\xb0\xce\xef\xbb\x45\x51\x5c\x50\x00\x9c\xaf\
+\xa9\x16\x45\x11\xe1\x70\x18\x66\xb3\x39\x65\x6d\x7e\xa6\xb6\xfa\
+\xd9\x04\xfb\x4c\x2d\x06\x52\xad\x5f\xb9\xed\xee\x95\xd4\xec\xa7\
+\x6b\x8f\x9f\xd8\x64\x67\xbe\x66\x3f\xf6\xb1\x64\x27\xe9\x66\xda\
+\xc6\x0c\xbd\xaf\x8b\x44\x22\x92\xf7\xd4\xd9\x04\xb9\x6c\x6a\xfe\
+\xf5\x68\x87\x9f\x4d\x10\xcf\xb6\xe6\x3d\xdb\xf6\xfb\xa9\x9e\xd7\
+\xbb\xa6\x5e\x8d\x73\x38\xd4\x08\xd8\x6a\x35\x51\xc9\xf5\x6b\x68\
+\xb1\x1c\x35\x5f\xd3\xe8\x05\xe6\x63\x0f\x8e\x00\x00\x02\xab\x49\
+\x44\x41\x54\x01\x3d\xbb\x24\x54\xfb\x88\x80\x1e\x35\xf5\x7a\x15\
+\x08\xb2\x59\x86\xda\xf3\xa9\xd9\x8d\x9f\xdc\xc2\x82\x5a\xb5\xff\
+\xc9\x6a\xfe\xa5\x14\x00\xd4\x9a\x46\xe9\x32\xa4\xde\x97\x13\xe8\
+\x95\x14\xd8\xb2\x2d\xa4\xaa\x31\x5f\xaa\xa3\xee\x89\x21\x3d\xf1\
+\xe4\xdb\x64\x4d\x74\x62\xdb\xe7\xcb\x09\xf8\x4a\xf2\x4b\xba\xd6\
+\x02\xd9\x04\x7d\x25\xdb\xa8\x9c\x1e\x76\xd2\x9d\x80\x1b\xdb\xa4\
+\x47\xca\x09\xb9\x7a\x17\x0c\x55\xd9\x17\x26\xf6\xba\xa3\x45\xaf\
+\x1f\x7a\x14\x10\xd4\x2c\x3c\x28\x9d\x5f\xab\xdb\x52\x6a\xce\xf5\
+\xe8\x99\x27\x9b\x5e\x77\xf4\x3c\x01\x35\x57\xd3\x69\x19\xa2\xf3\
+\xb9\xe7\xa1\xc5\x58\xa3\xaf\x57\xa1\x21\x5f\x96\xab\x77\x41\x48\
+\x8b\x82\x85\xd2\xde\x73\xb4\x2a\x2c\xc8\x2d\x48\x48\x09\xcd\x5a\
+\x9d\x2c\x9b\x6d\x6f\x3d\x6a\x3c\xa6\xc6\xef\x58\xcf\x9e\x77\x52\
+\x35\xc1\x49\xd5\xbb\x8e\x92\x2e\x36\xe5\x56\x34\x4a\xc9\x40\x72\
+\xc2\x7e\x36\x8f\x65\x2a\x04\x64\x0a\xfe\x89\xed\xf9\x53\x75\xb5\
+\x29\xa5\xa0\x99\x77\x41\x5f\xcb\x9d\xba\x96\x3d\xfc\xa8\x51\xa8\
+\x50\x23\xf8\xe6\x63\xf3\x15\x2d\x83\x64\x3e\x85\xce\x5c\x76\x3f\
+\xc9\x41\xd6\x0a\xb7\x60\xa0\xf6\x72\xf2\x79\xfe\x42\x28\x5c\x19\
+\xe9\x9c\x06\x2d\x9a\x33\x65\x53\x60\x51\xfb\x71\xad\x0b\xb3\x5a\
+\x07\x79\x25\xff\xb9\x52\xc2\x7f\xb2\xc7\x13\x43\xbd\x9c\x50\xae\
+\x45\x67\x1c\x52\xd7\xb1\x96\xdd\xc8\xca\x69\xfa\x93\x6c\xba\x7c\
+\x0f\xf8\x8a\x82\xbe\xd1\x82\x83\x5e\x81\xd0\x68\xd3\x1b\x35\x20\
+\xea\x15\x16\x0b\x79\x24\xd9\x5c\x85\x6c\x86\x7b\xe3\x87\x81\x42\
+\x1e\x7d\x37\x1f\x47\x4e\xcd\xe5\x68\xb5\x7a\xd4\x46\xeb\x35\x70\
+\x95\x51\xbf\x1b\xa3\xfc\x0f\x2b\x6d\x51\x90\xe9\x7f\x5d\xaf\xe7\
+\xb4\x38\x59\x5f\x69\x61\x54\xad\x23\x4b\x0c\xfa\x8b\x38\x9c\x18\
+\x71\x55\x16\x4a\x80\x5b\x6c\x41\x94\xc1\x9b\x0a\x69\x47\xb3\x18\
+\x3f\xb3\x11\x3f\x03\xdf\x53\x61\xed\x0b\x0a\xe9\x7c\x2b\xbd\x0a\
+\xce\x6a\x8e\xcc\xcc\xa0\x4f\x0c\x73\xc4\xed\x8a\x18\x68\x88\xdb\
+\x15\xf1\x3f\x9f\xbf\x13\x06\x7d\x22\x22\x22\x22\x22\x52\x8f\xc0\
+\x55\x40\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\
+\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\
+\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\
+\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\
+\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\
+\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\
+\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\
+\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\x0c\xfa\x44\
+\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\
+\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\
+\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\
+\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\
+\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\xc4\xa0\
+\x4f\x44\x44\x44\x44\x44\xf9\xea\xff\x01\xca\x94\x80\x1d\xd0\xc1\
+\xde\x2b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0f\xd3\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xd9\x04\xdc\xb2\xda\x02\
+\x00\x00\x0f\x8a\x49\x44\x41\x54\x78\x9c\xed\x99\x59\x8c\x5c\xc7\
+\x75\x86\xbf\xaa\xbb\xf4\xbd\xb7\xf7\x9e\xe9\x59\x34\x1b\x77\x93\
+\x22\x2d\x71\x31\x19\xd1\x92\xe0\x35\x81\x0d\x59\x0a\x04\x38\x36\
+\x02\x23\x32\x84\x20\x88\xec\x07\xc3\x10\xac\x07\x07\x31\x84\x00\
+\x01\x0c\xbd\x50\x06\x12\x06\x06\x11\x04\x08\x20\x01\x4c\x9c\x38\
+\x04\x44\x89\x08\x1c\xda\x5a\x22\x52\x0b\x68\x52\x63\x6e\x23\x72\
+\x24\x4a\x9c\x21\x67\x48\xce\xf4\xf4\xf4\x7a\x97\xaa\xca\xc3\xed\
+\x19\x49\xb4\xe4\xc8\x76\x9c\x3c\x44\x67\x70\x30\xb7\x6f\x77\xdf\
+\xfa\xff\x53\xa7\x4e\xfd\xa7\x1a\x3e\xb2\x8f\xec\xff\xb7\x89\xdf\
+\xf6\x01\x8f\x3e\xfa\xa8\xdc\xbb\x77\xef\x88\x6d\xdb\x1b\x5c\xd7\
+\x1d\x75\x5d\x77\x2c\x93\xc9\x0c\x08\x21\x7c\x21\x84\x31\xc6\x08\
+\xa5\x54\x17\xb8\x3e\x39\x39\x39\xe3\x79\xde\xe5\x6e\xb7\x3b\xfd\
+\xe0\x83\x0f\x5e\x06\xd4\xff\x29\x81\x23\x47\x8e\x0c\x67\x32\x99\
+\x9d\x9e\xe7\xdd\x9e\xcd\x66\x6f\xf7\x7d\x7f\xcc\xf3\xbc\x7e\xcf\
+\xf3\x8a\x52\x4a\x57\x4a\x69\xb4\xd6\x42\x6b\x1d\xc7\x71\x5c\x9f\
+\x9b\x9b\x5b\xd0\x5a\xcf\x2c\x2c\x2c\x4c\xfe\xec\x67\x3f\x7b\x6d\
+\x66\x66\xe6\xc4\x93\x4f\x3e\x39\xf3\xbf\x4a\xe0\xc8\x91\x23\x6b\
+\x7c\xdf\xbf\xaf\x52\xa9\xdc\x5b\xa9\x54\x76\x97\xcb\xe5\x62\x10\
+\x04\xbf\xf6\xc0\xc6\x18\xde\x7a\xeb\xad\xc6\xec\xec\xec\x89\xe3\
+\xc7\x8f\x1f\x3e\x78\xf0\xe0\xa1\x13\x27\x4e\x4c\xff\xba\xcf\xf9\
+\xd0\x04\x1e\x7d\xf4\xd1\x3d\x5f\xfc\xe2\x17\xbf\x51\xad\x56\xef\
+\x1f\x1c\x1c\x2c\x66\xb3\xd9\xd5\xf7\x9a\xcd\x26\xf3\xf3\xf3\xcc\
+\xce\xce\x72\xe3\xfa\x75\x96\xea\x75\xa2\x30\x64\xb9\xd1\xa0\x50\
+\x28\xe0\xba\x2e\x85\x42\x81\xbe\xbe\x3e\x6e\xb9\xe5\x16\x86\x86\
+\x86\x28\x16\x8b\x37\x93\x69\xbe\xf4\xd2\x4b\x87\x9f\x78\xe2\x89\
+\xbf\x7b\xfa\xe9\xa7\x5f\xf8\x1f\x23\xf0\xc4\x13\x4f\x4c\x8c\x8e\
+\x8e\x7e\x6f\x64\x64\xe4\x81\xa1\xa1\x21\xc7\xf7\x7d\xa4\x94\xd4\
+\x6a\x35\xa6\xce\x9f\xe7\xec\xb9\xb3\x5c\x99\xbd\x42\xb3\xd5\x42\
+\x4a\x89\x90\x92\x4c\xc6\xc3\xb2\x6d\x6c\xdb\xc2\xb6\x6d\x2c\x29\
+\xd1\x5a\x23\x80\x24\x49\xb0\x6d\x8b\x72\xa9\xcc\xda\x75\xeb\xd8\
+\xb2\x65\x0b\xd5\x6a\x15\x21\x04\x49\x92\x70\xe3\xc6\x0d\x7d\xf8\
+\xf0\xe1\x83\xfb\xf6\xed\xfb\xab\xf3\xe7\xcf\xbf\xfe\x5b\x11\x38\
+\x78\xf0\xe0\x03\x6b\xd6\xac\x79\x6c\xfd\xfa\xf5\x43\x2b\xc0\x17\
+\x16\x16\x38\x71\xe2\x04\x67\xcf\x9e\xa1\xd9\x6a\x13\xe4\xf2\x14\
+\x2b\x15\x0a\xa5\x32\xf9\x5c\x9e\x20\x1b\xe0\xfb\x01\x71\x14\xd2\
+\x58\xae\x33\x36\x31\x81\x4e\x14\xda\x18\x74\x92\xa0\x54\x42\x1c\
+\x46\x34\x1b\x75\x6a\x0b\x8b\x74\xda\x2d\xaa\x03\x55\xb6\x6f\xdf\
+\xc1\xf0\xf0\x30\x5a\x6b\x8c\x31\x5c\xba\x74\xa9\xf6\xc3\x1f\xfe\
+\xf0\x7b\xfb\xf7\xef\xdf\xff\x9b\x10\x90\xfb\xf7\xef\x7f\xfc\x9e\
+\x7b\xee\xf9\x56\x2e\x97\x43\x08\x81\xd2\x9a\xc9\x53\xa7\x78\xf5\
+\xd5\x57\x09\x95\xa6\x6f\x60\x88\x81\xe1\x5b\xa8\x56\xab\x54\xfb\
+\x2a\x94\x0a\x05\xb2\x81\x8f\xe7\x3a\x38\xb6\x4d\x37\x0c\x69\x36\
+\x1a\x0c\x0c\x54\xd1\xda\xa0\xb4\x26\x4e\x12\xc2\x30\xa2\x13\x86\
+\x74\xbb\x29\x41\xad\x14\xd7\xe7\xe7\x98\xbb\x7a\x85\xa1\xa1\x41\
+\x6e\xbf\x7d\x3b\x9e\xe7\x61\x8c\xa1\xd1\x68\x70\xe8\xd0\xa1\x7f\
+\xf8\xf6\xb7\xbf\xfd\x2d\xa0\xf5\x61\x09\x38\xfb\xf6\xed\xfb\xfb\
+\x2f\x7f\xf9\xcb\x0f\xd8\xb6\x8d\x10\x82\x66\xb3\xc9\x0b\x2f\x3c\
+\xcf\xcc\x95\x79\xaa\xa3\xe3\x8c\x8e\xad\x61\x6c\x64\x98\xa1\x6a\
+\x3f\xc5\x5c\x80\x65\xdb\x80\xc1\x68\x83\x31\x06\x83\x41\x2b\x83\
+\x31\x1a\xdb\xb6\x91\x42\x20\xa4\x40\x0a\x81\xec\x8d\xd8\x6c\xb5\
+\x98\xbe\x78\x11\xcb\xcd\x50\x2c\xf7\xd3\x6a\x2e\x73\x69\xfa\x22\
+\x4b\xb5\x45\x6e\xbb\xed\x36\x2a\x95\x0a\xc6\x18\x94\x52\x1c\x3d\
+\x7a\xf4\xf0\x23\x8f\x3c\xf2\xc7\xd7\xaf\x5f\x6f\xde\x0c\xd6\xba\
+\xf9\xc6\xbe\x7d\xfb\x0e\xdc\x7f\xff\xfd\x0f\x1a\x63\xd0\x5a\x53\
+\xab\x2d\x72\xf4\xe8\x51\xda\x09\x6c\xda\xb6\x93\xdb\xb6\x6d\xe3\
+\xd6\x8d\xeb\x18\x1e\xa8\xe0\x58\x36\x51\x92\x10\x45\x09\x89\x52\
+\x68\x6d\x40\x08\x04\x02\xcb\x92\x58\xb6\x8d\x40\x00\x22\x4d\x21\
+\x63\x00\xc1\xb9\x73\xe7\x38\x7f\xf6\x0c\x02\x28\x97\xcb\x0c\x54\
+\xab\xb8\x19\x9f\xfe\x81\x41\xb2\xb9\x1c\xe7\xcf\x9e\x41\x4a\x89\
+\xe7\x79\x68\xad\x19\x1b\x1b\xdb\x34\x3e\x3e\xbe\xf9\xe9\xa7\x9f\
+\xfe\x37\x40\x7f\x20\x81\x87\x1f\x7e\xf8\x1b\x5f\xfb\xda\xd7\xbe\
+\x17\xc7\x31\x4a\x29\x5a\xcd\x26\xc7\x5f\x7a\x19\x27\xd7\xcf\x96\
+\x8f\xef\xe0\xd6\x8d\xeb\x18\xaa\x56\x30\x06\xda\xed\x88\x38\x51\
+\x08\x29\xb0\x2d\x0b\xc7\xb6\xb1\x6d\x1b\xdb\xb2\xb0\x2c\x89\x94\
+\x02\x4b\x08\xa4\x25\xd2\x6b\x29\x70\xa4\xe0\xf4\xe9\xd3\xbc\xfc\
+\xd2\x71\xa6\xa6\xa6\x58\x58\xac\x63\xdb\x3e\x23\x23\xc3\x94\xf2\
+\x01\xd2\xb2\xf0\x82\x3c\x7d\xd5\x2a\x17\x2e\x4c\x61\x49\x89\xe3\
+\x38\x18\x63\x18\x1f\x1f\xdf\x22\x84\xd0\xaf\xbe\xfa\xea\xb3\xef\
+\x4b\x60\xcf\x9e\x3d\x6b\x1f\x79\xe4\x91\x7f\x06\x3c\xa5\x14\x2a\
+\x49\x38\x73\xf6\x1c\x6e\x71\x80\x8d\x9b\xb6\xb0\x66\x64\x08\xcf\
+\x75\x68\xb4\x42\xe2\x44\x61\x59\x12\xc7\xb1\x71\x6c\x0b\xcb\xb2\
+\xb0\x2d\x89\x25\x57\xc0\x82\x10\x20\x05\xbd\xf8\xa7\x7e\xea\xb5\
+\x49\x8e\x1f\x7b\x91\xd9\xd9\x59\xfc\x20\xcf\x2d\xa3\x6b\xd9\xb4\
+\x69\x23\x95\xbe\x0a\x89\xd2\xb8\x8e\x8d\x6d\x49\x1c\xd7\xa3\xaf\
+\xbf\xca\x5b\x6f\x4e\x93\xc9\x64\xd2\x99\x05\x36\x6f\xde\x7c\xc7\
+\xc9\x93\x27\x8f\x5e\xbd\x7a\x75\x75\xf3\x93\x2b\x17\x5f\xff\xfa\
+\xd7\xff\xc2\xf7\xfd\x52\xb7\xdb\x25\x8e\x63\xae\x5c\xbd\x8a\xf4\
+\x8b\xac\x59\xbb\x91\xc1\xfe\x12\x4a\x69\x6a\xcb\x6d\x94\xd6\x58\
+\x96\xec\x01\x96\x48\x4b\x62\xbd\x2b\xca\xef\x06\xfd\x6e\x3b\x79\
+\xf2\x24\xff\xf9\xc2\x73\x4c\x4f\x4f\xe3\xba\x01\xe3\x13\x1b\xd9\
+\xb5\x73\x3b\x1b\x37\xae\xc1\x18\x43\xa2\x35\xdd\x30\x46\x0a\x41\
+\xc6\xb1\x29\x95\xcb\x78\x85\x3e\x66\x67\x67\x49\x92\x98\x6e\xb7\
+\x4b\x10\x04\xde\x03\x0f\x3c\xf0\x97\xef\x0e\xbc\x04\xd8\xb0\x61\
+\xc3\xe8\x8e\x1d\x3b\xfe\xa8\xd9\x6c\x12\xc7\x31\xdd\x4e\x87\x4e\
+\xac\x19\x1e\x5d\x47\x21\xe7\x13\xc7\x8a\x46\xab\x03\xc2\xe0\xd8\
+\x16\xd9\x20\x8b\xef\xfb\x38\xbd\x1a\x2f\x45\x9a\x32\x42\xbc\x7f\
+\x55\x78\xf1\xd8\x31\x9e\x7b\xee\x39\xa6\xa6\xa6\xc8\x64\x02\xd6\
+\xaf\xdf\xc2\xde\xbd\x9f\x60\xc3\xfa\x31\x92\x24\x4d\x69\x01\x18\
+\x03\x61\xa4\xb0\xa4\xa4\xbe\xdc\xc2\xd8\x39\x62\x63\xd3\x6e\xb7\
+\x08\xc3\x90\x56\xab\xc5\xae\x5d\xbb\xfe\x60\xc3\x86\x0d\xbb\xdf\
+\x43\xe0\xae\xbb\xee\xfa\x42\x10\x04\xc5\x6e\xb7\x8b\x52\x8a\x4e\
+\xb7\x4b\xb6\x50\x25\xf0\x3d\xb4\x32\xb4\xda\x5d\x64\x2f\xd7\x8d\
+\xd1\xbc\x7c\xfc\x45\x26\x5f\x3b\x45\xb3\xd9\xc4\xb2\x2c\x5c\x5b\
+\x60\xbd\x0f\xf8\x38\x8e\xf9\xe9\x4f\x7f\xca\xb1\x17\x5f\xe4\xcc\
+\x99\xd3\xb8\x6e\x96\x2d\x5b\xb6\x73\xe7\x5d\xbb\x19\x1f\x1b\x26\
+\xd1\xa4\x8b\x5e\x80\xa0\xf7\x5f\xc0\xc2\x52\x83\x5a\xbd\x85\xef\
+\x65\xc8\x95\xaa\x74\xba\x21\x4a\xa9\x95\x59\x70\x3e\xf7\xb9\xcf\
+\xdd\xbb\x32\x86\x0d\x70\xf7\xdd\x77\xdf\xd9\x6a\xb5\x88\xa2\x08\
+\x4b\x4a\x84\xe5\x90\x2b\x96\x71\x33\x2e\x51\x14\x81\x10\x48\x21\
+\xc9\x66\xb3\xfc\xfb\x33\x4f\xf1\xd0\x9f\xfe\x09\x6b\xd6\xae\x65\
+\xdb\xb6\x8f\xb3\x7d\xc7\x4e\xb6\x6e\xbd\x95\x8d\x1b\x36\x30\x34\
+\x34\x44\xa5\x52\xc1\xb2\x2c\xb4\xd6\x4c\x4f\x4f\x73\xf2\xe4\x49\
+\x26\x5f\x3b\x45\xff\xc0\x08\xbb\x77\xdf\xc9\xa7\x3e\x75\x07\xc3\
+\xc3\x03\x98\x14\x3b\x42\x80\xe9\xcd\x81\x10\x82\x56\xbb\xcb\xdc\
+\x8d\x3a\x42\x4a\x7c\xcf\x43\xeb\x22\x9d\xa4\x85\x56\x09\x51\x94\
+\xa6\xd2\xc6\x8d\x1b\xf7\x00\x1e\xd0\xb5\x01\x27\x97\xcb\xad\x0f\
+\xc3\x10\x63\x0c\xda\x68\x5c\xaf\xc0\x9b\x6f\xbe\xc1\xe2\x8d\x79\
+\xfa\xab\x83\x6c\xde\xbc\x05\xd1\x5b\x2d\x42\x58\x8c\x8c\xad\x65\
+\x6e\xfe\x3a\x6f\xbf\xfd\x0c\xcf\x3f\xff\x1c\x23\x23\x23\xac\x5b\
+\xb7\x8e\xcd\x9b\xb7\xb0\x61\xc3\x06\x36\x6d\xda\xc4\xf8\xf8\x38\
+\xd5\x6a\x95\x35\x6b\x26\x98\x9a\x7a\x83\x4f\xec\xda\xcb\x67\x3e\
+\xfb\x49\x06\x07\xfa\x7f\x29\xc5\xd2\xe8\x6b\x9a\xed\x90\xc5\x7a\
+\x0b\xad\x35\x93\x27\x7f\x4e\xb7\xd3\x61\x7c\xed\x7a\x4a\xd9\x3c\
+\x71\xbb\x86\xd6\x9a\x4e\xa7\xc3\xf0\xf0\xf0\x18\x50\x01\xae\xd8\
+\x80\x2d\x84\xc8\x68\xad\x11\x22\xad\xda\x96\xed\x90\xc4\x11\x9d\
+\x4e\x87\x24\x4e\x56\x6b\x79\x1c\x45\x6c\xdd\xfa\x71\xfe\xfa\xfb\
+\x8f\x33\x7f\xf5\x2a\x97\x2e\xbd\xc9\xe5\xb7\x2e\x71\x75\x6e\x86\
+\x8b\x17\x2f\x71\xe1\xf5\x69\xfc\xc0\x63\xcf\x9e\xdd\x7c\xe7\x3b\
+\x8f\xb0\xbc\x5c\x67\x64\x64\x9c\xbb\xef\xfe\x0c\x9f\xff\xfc\xdd\
+\x1f\x08\x5e\x99\x14\x7c\xb3\xd5\x4d\xab\x97\x84\x28\x8a\xe8\x74\
+\xda\x28\xa5\xb0\xec\x80\xb8\xf7\xf9\x28\x8a\xf0\x7d\x3f\x93\xcf\
+\xe7\xf3\x8d\x46\x03\x1b\x10\x52\x4a\xa4\x94\xbd\x08\x4b\x8c\xd1\
+\x7c\x6c\xf3\x56\xb6\x6f\xdf\x49\xba\x27\x24\x38\xb6\x8b\x52\x8a\
+\x91\xd1\x5b\x18\x1b\x1f\x21\x8e\x22\xda\xad\x36\xb5\xc5\x1a\xd7\
+\xe6\xaf\x33\x3b\x7b\x85\x99\xcb\x33\x5c\xba\xf4\x06\x5a\xbb\xfc\
+\xe2\x17\xbf\xe0\xfc\xf9\xf3\xec\xda\xb5\x9b\x2f\x7d\xe9\xf7\x29\
+\x97\x8b\xbf\x04\x1e\x20\x4e\x12\xda\x9d\x90\x30\x4e\x56\xd3\x49\
+\x08\xc9\x27\xef\xbc\x0b\xad\x0d\x9d\x6e\x88\x0e\x1b\x08\x21\x7a\
+\xf8\x04\x52\x4a\x8c\x31\xd6\xea\x1a\x70\x5d\x77\xe5\x26\x08\x10\
+\x18\xe2\x24\x41\x86\x86\x8c\xeb\x90\x28\x85\xe9\xfd\x69\xad\x71\
+\x1c\x87\xa0\x98\x67\x60\xa0\x8f\x4d\x1b\xc6\x7a\x2a\x53\xd1\x6c\
+\xb6\x98\xbf\x76\x83\xf9\xb9\xeb\x74\xbb\x6d\xc6\xc7\xd7\xb0\x63\
+\xc7\xed\xef\x0b\x5e\x6b\x43\x14\x2b\xa2\x28\x41\x6b\xb3\x5a\x85\
+\x8c\x36\x48\x29\x90\xc2\xd0\xee\x76\x51\xda\x20\xd1\xbd\xf7\x0d\
+\x8e\xe3\xa0\xf5\x3b\x9b\xb1\x0d\xe0\xfb\x3e\x9e\xe7\xd1\xe9\x74\
+\x10\x08\xa4\x51\x68\xd2\x01\xb2\x7e\x86\x8c\xeb\x10\xab\x74\xa0\
+\x54\x9f\x68\x92\x44\x21\x88\xd0\xb6\x85\x63\x49\x6c\xdb\xa2\x54\
+\x2a\x50\x2a\x15\xf8\xd8\xa6\x75\xef\x1b\xed\x15\x4b\x34\x24\x89\
+\x41\xa9\x77\xb4\xd3\x8a\x74\x11\x02\x72\xbe\x47\xbb\x1b\x92\xa8\
+\xf4\xb5\x30\x49\xba\xda\x7b\xc1\x36\xc6\xac\x3e\x4b\xf6\x6e\x8a\
+\x42\xa1\xd0\x9b\x01\x81\x14\x1a\x8b\x04\x6d\x0c\xed\x6e\x88\xe7\
+\x3a\xe4\x03\x3f\x8d\xb4\xd2\x68\x6d\x56\xdd\x18\x83\x32\x06\x65\
+\x56\xaa\xc9\x07\x9b\x01\xb4\xa1\xf7\x5d\x8d\x36\x3a\xd5\x48\xda\
+\x90\xa8\x74\x77\x2f\xe4\x7c\x2c\x29\x68\x77\x42\x00\x2c\x12\x24\
+\x1a\x10\x18\x63\xc8\xe5\x72\xd8\xb6\x2d\x8c\x31\x62\x85\x80\x92\
+\x52\x76\xca\xe5\xf2\xaa\xee\x10\x08\x3c\x4b\x61\x09\xe8\x84\x31\
+\x8d\x56\x07\xcf\x75\x29\xe4\x03\x1c\x27\x2d\x91\x89\xd6\x29\x88\
+\x1e\x21\xa5\x4d\x9a\x02\xbf\x02\xbc\x31\xa0\x56\xc8\x1b\x8d\xd2\
+\x9a\x44\x69\x8c\x36\x78\xae\x4b\x3e\xd7\x6b\x96\x1a\xed\x54\x67\
+\x09\x70\x45\xb2\x12\x7c\x6c\xdb\xa6\x54\x2a\x51\xab\xd5\xa2\x38\
+\x8e\x63\x48\x8b\x63\x78\xfe\xfc\xf9\x37\xf2\xf9\x3c\xfd\xfd\xfd\
+\x24\x49\x82\x90\x12\x47\x42\xd6\x4d\xd5\x63\xbd\xd9\xa6\xb6\xdc\
+\xc4\x92\x92\x42\x2e\x20\x1b\x78\xd8\x52\xac\x02\x50\x89\x42\x2b\
+\x4d\xa2\x0c\x5a\xa7\x51\x36\xbc\xe3\xba\x17\xf9\x44\x1b\x92\x44\
+\x93\x28\x95\xce\xa4\x01\xd7\xb6\xc8\x65\x3d\x72\x41\x06\xa3\x61\
+\x61\xa9\x49\xbb\x13\x01\x82\xc0\x31\x38\x52\x23\x84\x24\x8e\x63\
+\xca\xe5\x32\xbe\xef\x33\x33\x33\x73\x35\x8a\xa2\xce\x6a\x0a\x1d\
+\x3b\x76\xec\x15\x29\x25\x83\x83\x83\x78\x9e\x47\x92\xa4\x39\x97\
+\xcb\x48\xca\x59\x0b\x6d\x60\xa9\xd1\xe2\xda\x42\x9d\x28\x8c\xf1\
+\x5c\x9b\x7c\xe0\x13\xf8\x19\x1c\xc7\x5a\x6d\x78\x12\xa5\x89\x95\
+\x4e\x81\xaa\x9b\x3c\xd1\xa8\x44\xa3\x31\x48\x01\x19\xc7\x21\xeb\
+\x67\x08\xfc\x0c\xb6\x6d\xd1\xea\x86\x5c\x5b\xac\xd3\x6a\x77\x31\
+\xc6\x90\xf7\x25\xb9\x4c\x1a\x63\xa5\x14\xae\xeb\x52\xad\x56\x89\
+\xe3\x98\x57\x5e\x79\x65\x12\xe8\x00\xc6\x06\x38\x7a\xf4\xe8\x73\
+\x73\x73\x73\x4b\xd9\x6c\xb6\x34\x3a\x3a\xca\xdb\x6f\xbf\x9d\xae\
+\x74\x21\x28\x65\x1d\x1c\xdb\x61\xb1\x19\xd2\x68\x75\x51\x5a\x53\
+\x8a\xb2\x14\x73\x01\x9e\xe7\x60\x59\x69\xed\x33\x2b\x89\xb2\x72\
+\x6d\xd2\x92\x67\x48\x2b\x8c\xb0\x04\xc2\x16\xbd\x7e\x21\x4d\xa7\
+\x44\x1b\xba\x9d\x88\xa5\x46\x9b\x46\xab\x4d\x27\x8c\xd1\xc6\xd0\
+\x57\xc8\x90\x73\x21\x8c\xd2\xf6\x32\x8a\x22\x46\x46\x46\x50\x4a\
+\x51\xab\xd5\xc2\x67\x9f\x7d\xf6\x65\x20\x4c\xd7\x08\x50\xaf\xd7\
+\x6b\x13\x13\x13\x9b\x76\xef\xde\xbd\x5d\x29\x45\x2e\x97\x63\x61\
+\x61\x21\x15\x6c\x8e\x43\x3e\x9b\x21\x1f\x64\x88\x55\xaf\xf4\xc5\
+\x09\x61\x1c\x91\x24\x0a\x48\xeb\xb2\x65\xf5\xf4\xff\x8a\xf7\x94\
+\xa9\x7c\xd7\x3d\x21\x04\xc6\x40\x9c\x28\x5a\xed\x88\xfa\x72\x8b\
+\x5a\xa3\x4d\xbb\x1b\x12\xc5\x09\xae\x6d\x31\x58\xf6\xc9\x7b\x76\
+\xda\x82\xc6\x31\x4b\x4b\x4b\x0c\x0d\x0d\x61\x8c\xc1\xb2\x2c\x0e\
+\x1f\x3e\x7c\xec\xc7\x3f\xfe\xf1\x3f\x02\x73\x80\x5a\xd5\x5f\x13\
+\x13\x13\x7b\x7f\xf2\x93\x9f\x1c\xf1\x3c\xaf\x08\x20\xa5\x64\x7e\
+\x7e\x9e\x52\xa9\x44\xa1\x50\xc0\x71\x6c\x2c\xcb\xa6\xd5\x8d\xa9\
+\x37\xd3\x9e\x40\x4a\x89\xeb\xd8\xb8\xae\x43\xc6\xb1\x71\x9c\xb4\
+\x2f\x70\x6c\x9b\xa5\xa5\x25\xce\x9e\x3d\xc3\xde\xbd\x7b\xd3\xd2\
+\x99\xa4\xe9\x15\xc7\x8a\x28\x49\x88\xe3\x84\x28\x4e\x50\x5a\x63\
+\x5b\x92\x42\x36\x43\x36\x63\xa3\x55\x42\x9c\x24\x34\x1a\x0d\x16\
+\x16\x16\x18\x18\x18\x20\x8e\x63\x3a\x9d\x0e\x71\x1c\x77\xbf\xf2\
+\x95\xaf\x7c\x67\x7a\x7a\xfa\x5f\x7b\x04\xde\xd1\xd5\xf5\x7a\x7d\
+\xbe\xd1\x68\x38\xf7\xdc\x73\xcf\xa7\x97\x97\x97\x01\xe8\xef\xef\
+\x67\x79\x79\x99\x38\x8e\x09\x82\x00\xc7\x71\xc8\x06\x19\x2a\xc5\
+\x2c\xd9\xc0\xeb\x1d\x97\x18\x54\xa2\x88\x12\x45\x14\x2b\xc2\x30\
+\x41\x19\x38\x37\x35\xc5\xa1\x43\x87\xd8\xbe\x6b\x0f\x61\xac\x69\
+\x77\x63\xc2\x28\x26\x8a\x52\xd0\x52\x42\x36\xc8\xd0\x5f\xce\x33\
+\x50\xce\xe1\x67\xec\x94\xa8\x52\x2c\x2e\x2e\xd2\xe9\x74\x18\x1a\
+\x1a\xa2\xd5\x6a\xd1\x6c\x36\x29\x16\x8b\x3c\xf6\xd8\x63\xff\xf4\
+\xec\xb3\xcf\xfe\x33\x30\x0b\x24\xef\x21\x00\x98\x53\xa7\x4e\xbd\
+\x3e\x38\x38\xb8\x7e\xf7\xee\xdd\x9b\x97\x96\x96\x68\xb5\x5a\xf4\
+\xf5\xf5\xad\x9e\x03\x09\x21\xf0\xbc\x34\xad\x32\x8e\x4d\x2e\xf0\
+\x28\xe6\x03\xb2\x7e\x06\x3f\xe3\x60\xdb\x69\xa3\x23\xa5\xc0\xf7\
+\x7d\x46\x47\x47\x19\x18\x18\xc4\xb6\x2c\x5c\x47\xa6\x8b\x3f\xe7\
+\x51\xce\x07\xf4\x15\xb3\xe4\xb3\x1e\x19\xd7\x46\x4a\x81\x52\x8a\
+\xe5\xe5\x65\x6e\xdc\xb8\x81\xe7\x79\xe4\x72\x39\xae\x5d\xbb\x46\
+\xbb\xdd\xa6\x52\xa9\x70\xf0\xe0\xc1\xe3\x8f\x3f\xfe\xf8\xdf\x00\
+\xaf\x03\xf5\x15\xd0\x37\x4b\x78\xdb\x71\x9c\x8f\xfd\xe0\x07\x3f\
+\xf8\xdb\xfb\xee\xbb\xef\xd3\x37\x6e\xdc\xa0\xdb\xed\x52\x28\x14\
+\xa8\x54\x2a\x28\xa5\x88\xe3\x98\x5c\x2e\x47\xb1\x58\xc4\x71\x9c\
+\x0f\xa8\xfa\x1f\xde\xe2\x38\xa6\x5e\xaf\xd3\x68\x34\xb0\x6d\x1b\
+\xc7\x71\xa8\xd5\x6a\x2c\x2e\x2e\x62\xdb\x36\xe5\x72\x99\xa3\x47\
+\x8f\x4e\x3e\xfc\xf0\xc3\xdf\xef\x76\xbb\x2f\x01\xef\x39\x14\xbe\
+\xf9\x54\x42\x6b\xad\x97\x9f\x79\xe6\x99\x9f\x57\x2a\x95\x91\x9d\
+\x3b\x77\x6e\x4a\x92\x84\x5a\xad\xc6\xb5\x6b\xd7\xd0\x5a\x13\x04\
+\x01\xc6\x18\x9a\xcd\x26\xed\x76\x3b\xed\x17\x78\x47\x64\xfd\x77\
+\xa6\x94\x22\x0c\x43\x1a\x8d\x06\x4b\x4b\x4b\x2c\x2f\x2f\xa3\x54\
+\xba\x9e\x96\x96\x96\xb8\x7c\xf9\x32\xcd\x66\x13\xcf\xf3\xc8\xe7\
+\xf3\xfc\xe8\x47\x3f\x7a\xf1\xbb\xdf\xfd\xee\xe3\x51\x14\x9d\x04\
+\x66\x60\x55\x98\xa6\xe3\x7e\xc0\x38\x3e\xb0\xee\xab\x5f\xfd\xea\
+\x9f\x7f\xf3\x9b\xdf\x7c\xb0\x50\x28\xe4\x16\x17\x17\x59\x69\x39\
+\x83\x20\xa0\x52\xa9\x50\x2a\x95\xc8\x66\xb3\x08\x21\xde\xd9\xc5\
+\x85\x78\x8f\x38\x14\x42\xa0\x7b\x15\x45\x29\xb5\x7a\x84\x68\x8c\
+\xa1\xd3\xe9\xd0\x6a\xb5\xa8\xd5\x6a\xb4\x7a\x47\x93\xbe\xef\x53\
+\x2c\x16\x69\x36\x9b\xdd\x03\x07\x0e\x1c\x7a\xf2\xc9\x27\x0f\x02\
+\xe7\x80\xb7\x81\xee\xcd\x40\x7f\xd5\xd1\xa2\x07\x0c\x4e\x4c\x4c\
+\x7c\xf6\xa1\x87\x1e\xfa\xb3\x3b\xef\xbc\x73\x6f\x92\x24\xd4\xeb\
+\xf5\xd5\xe8\xc7\x71\x8c\x6d\xdb\x64\xb3\xd9\x55\x0f\x82\x00\xcf\
+\xf3\x88\xe3\x98\x30\x0c\x71\x5d\x17\xd7\x4d\x3b\xbb\x30\x0c\x69\
+\xb7\xdb\x74\xbb\x5d\xda\xed\x76\xef\x9c\xd4\xc6\xf7\x7d\x82\x20\
+\x20\x9f\xcf\x23\xa5\xe4\xf8\xf1\xe3\xa7\x0e\x1c\x38\xf0\x2f\x17\
+\x2e\x5c\x38\x06\xbc\x01\x5c\xb9\x39\xf2\x1f\x86\x00\xa4\x6a\xb5\
+\x04\xac\xdb\xb3\x67\xcf\x17\xee\xbd\xf7\xde\x3f\xdc\xba\x75\xeb\
+\xed\x52\x4a\xab\xd1\x68\xd0\x6c\x36\x69\x36\x9b\x34\x1a\x0d\x1a\
+\x8d\xc6\x2a\xb0\x76\xbb\x4d\xa3\xd1\xa0\xd3\xe9\xe0\x79\x1e\x95\
+\x4a\x85\x5c\x2e\x47\x3e\x9f\x27\x08\x02\x72\xb9\xdc\x2f\xb9\x52\
+\x4a\x4f\x4e\x4e\x9e\x7b\xea\xa9\xa7\xfe\xe3\xd8\xb1\x63\xcf\xf7\
+\x80\xcf\x00\x8b\xdc\x74\x98\xf5\xeb\x10\x58\xb1\x2c\x69\x0b\x37\
+\xb1\x7e\xfd\xfa\xdf\xbb\xe3\x8e\x3b\x3e\xb5\x6d\xdb\xb6\x1d\xc5\
+\x62\x71\xc4\x18\x23\x56\x4a\xdd\x8a\xb7\x5a\x2d\x1a\x8d\x06\xed\
+\x76\x1b\xdf\xf7\xa9\x54\x2a\xe4\xf3\x79\x0a\x85\x02\x85\x42\x81\
+\x5c\x2e\x47\x36\x9b\xc5\xb2\x2c\x16\x17\x17\xaf\x9e\x3e\x7d\xfa\
+\xcc\x0b\x2f\xbc\x70\x6c\x6a\x6a\x6a\x92\x34\x55\xe6\x80\xeb\xbc\
+\x4f\xca\xfc\xa6\x04\x20\xd5\x4d\x3e\xe9\x8c\x54\x2d\xcb\x5a\x33\
+\x3e\x3e\xbe\x65\x6c\x6c\xec\xd6\xc1\xc1\xc1\xb5\xd9\x6c\x76\xc4\
+\x75\xdd\x62\x1c\xc7\xd9\x30\x0c\xdd\x95\x99\xf0\x3c\x8f\x52\xa9\
+\x84\xef\xfb\x71\x26\x93\x69\x45\x51\x54\x6f\xb5\x5a\xf3\xb3\xb3\
+\xb3\x6f\xce\xcc\xcc\x5c\xb8\x78\xf1\xe2\x05\xad\xf5\x2c\x70\xa3\
+\xe7\x8b\xa4\x3a\xe7\x43\xd9\x6f\xfa\x13\x53\x86\x74\x56\xf2\x3d\
+\x2f\x01\xe5\x20\x08\xfa\x2d\xcb\x2a\x1a\x63\x7c\xcf\xf3\xf2\x80\
+\x63\x8c\x89\xc3\x30\x6c\x09\x21\xc2\x24\x49\x1a\x9d\x4e\x67\x91\
+\xb4\x8e\x37\xde\xe5\xcb\x40\x93\x0f\xc8\xf3\xdf\x05\x81\x77\x7f\
+\xdf\x06\xdc\x1e\x29\xb7\xe7\x4e\xef\xfe\x4a\x5d\x55\x3d\x8f\x7b\
+\xde\x25\x15\x63\x11\xbd\x1d\xf5\xb7\x01\xf0\xbb\xb0\x95\xe7\x4a\
+\xde\xdb\x1a\x7c\x64\x1f\xd9\x47\xf6\x91\xbd\xd7\xfe\x0b\x99\x8c\
+\xcd\xc2\xec\xe1\x6f\x3e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x14\x3c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x09\x57\
+\x49\x44\x41\x54\x78\xda\xec\x9a\x5d\x68\x5b\xe7\x19\xc7\x7f\xef\
+\x7b\x3e\x24\xf9\x48\xb2\x1d\xad\x76\x5c\x67\x8d\x13\x87\x2c\x69\
+\xd3\x8b\x92\x86\x41\xbb\x76\x90\x41\xc6\x9a\xb2\x50\x8f\x5e\x98\
+\xb1\x41\x20\x50\x02\x4d\x29\x34\x37\x61\xa3\xd0\xec\x6e\x30\x4a\
+\x28\xcc\x59\x7d\xd1\x65\x37\x4d\x47\x7a\x51\x4a\x47\x0b\x4d\xc7\
+\xc2\x4a\x3e\x8a\x13\x92\x26\xc1\xde\x88\x1d\x3b\x5e\xd2\xda\xb5\
+\xeb\x4f\x49\x47\xe7\x7d\xcf\xbb\x0b\x49\x27\x92\x6c\x27\x96\xed\
+\x7d\x14\x7a\xe0\xf0\x4a\x47\xd2\x39\xcf\xff\x79\xfe\xcf\xe7\x2b\
+\x61\x8c\xe1\x9b\x7c\x48\xbe\xe1\x87\xbd\xd4\x07\x42\x08\xf1\xde\
+\x7b\xef\x8d\xfc\x3f\x08\xb9\x6f\xdf\xbe\x87\xcc\x12\x54\xb1\xef\
+\xf1\x3b\x2b\x1e\x8f\x8f\xef\xd9\xb3\xe7\xb1\xff\xb4\x80\xc6\x18\
+\xc2\x30\x8c\xd6\xf2\x19\x8b\xc5\x38\x7d\xfa\xf4\x25\xc0\x02\x54\
+\xbd\x00\x84\xd6\x5a\x01\x04\x41\x50\xb6\x4a\xd5\xba\xd4\xeb\xca\
+\x6b\x4b\x09\x5c\x79\x56\x0a\x5f\x09\xc2\xb2\x2c\x4a\x32\x88\xba\
+\x29\x54\x12\xc4\x94\x1f\x58\x5e\x85\x10\xd1\x5a\x79\xad\x56\xc0\
+\xa5\x40\x2e\xc6\x84\x5a\xe0\x42\x08\xa4\x94\x48\x29\x23\x19\x56\
+\xe5\xc4\x95\x0f\xad\x04\xb3\x9c\x6b\xf7\x12\xb6\xf6\x2c\x09\x5c\
+\xf5\x7e\x55\x51\xa8\x56\x73\xb5\x82\x56\xae\xf7\x03\x56\x6b\xc5\
+\xa5\x40\x54\x02\x29\xaf\x2b\x06\x50\xd6\xc0\xbd\xb4\xad\x94\x62\
+\x6a\x6a\x9a\x42\x21\xa8\xfa\xac\x96\xd7\xe5\xf3\xda\xd5\xab\x5c\
+\xbf\x76\x6d\x01\xc5\x2a\x85\xaf\xa0\xcf\x7d\xad\x20\xeb\x89\x14\
+\x8b\x5d\x1b\x1d\xfd\x17\xd7\xaf\x5d\x63\x62\x72\x72\x81\xb6\x2b\
+\xc1\x08\x21\x98\x99\x99\xe1\xe6\xcd\x61\x9a\x9a\xd7\x31\x36\x36\
+\x16\xf9\x53\xf9\xfb\xb5\x3e\xb0\xea\x44\x26\xa5\x5c\x16\xd7\xa5\
+\x94\x5c\xfd\xfc\x0a\xf9\x7c\x7e\x01\xfd\xca\xda\x34\xc6\x30\x3e\
+\x36\x8e\x31\x86\x8b\x17\xfb\x18\x19\x1e\x2e\xc6\x6a\xcb\xaa\xd2\
+\x78\x2d\x65\xd6\xc4\x02\xb5\x02\x57\x86\x3a\x69\x42\x74\x50\xe0\
+\xa3\x0f\x3f\x22\x9f\xcb\x2d\x19\x1a\x8d\x31\x64\xe7\xe7\x48\x7b\
+\x0d\x9c\x3f\x7b\x96\xb1\x2f\xbf\x58\xd4\x37\x96\x02\xb2\xd2\x30\
+\x5a\x25\xf8\x9f\x4e\xfc\x91\xbe\x1b\xb7\x99\x16\x09\x04\x86\x82\
+\x0a\x48\xc4\x13\x38\xa1\xcf\x23\x1d\x9b\x79\xe9\x77\xbd\x04\x81\
+\xc2\x70\x17\x04\xa6\x44\xa3\x92\xb0\xcd\x8d\x69\xd6\x29\xf8\xa0\
+\xaf\x9f\xdf\x7f\x78\x16\xc7\xb6\x11\x52\x22\xa5\xc5\xba\x70\x9e\
+\x7d\xbb\x7f\xc0\x4f\x9e\x79\x66\x01\xad\x56\x04\xa0\x56\xfb\xd7\
+\x2f\x5f\x22\xfc\xf1\x41\xfe\x3c\x64\x40\x86\x60\xb9\x30\x70\x8e\
+\x03\xb1\x11\x52\xdf\xed\xe4\x6d\xf3\x1d\xb0\x6c\xa0\xc2\x5f\x4c\
+\x29\x0d\x49\x0b\x66\xbf\x66\x5b\xdf\x49\x0e\xef\x79\x9c\xdf\x06\
+\x5b\xf9\x47\x3a\x05\xd2\x44\xa2\xbc\xd4\x36\xcb\xad\xc1\xbe\x65\
+\x6b\x7f\xd9\x61\xb4\x6c\x6a\xcb\xb2\x41\x2b\x08\x03\x08\x0a\xa0\
+\x02\xec\x20\xcb\xcc\xcd\x7e\x8e\x9f\xfa\x00\x0a\x85\xe2\x75\x1d\
+\x14\x4f\x15\xf0\xa3\x0d\x0d\x74\x78\x12\xfc\x3c\x68\x45\xda\x9f\
+\xe2\xa3\xbf\x9f\x63\x9d\x9e\x67\xcf\xe6\x46\x28\xf8\xa0\x0a\x10\
+\x06\x04\x7e\x1e\x69\x59\x75\x65\x75\xbb\xee\x24\x66\x0c\x84\x86\
+\x8e\xe6\x38\xeb\x1a\x5c\x86\x82\x1d\x0c\x6e\x5c\xcf\x84\x72\xf8\
+\x5e\x6b\x12\xcf\xb5\xb9\xf4\xe5\x5c\xd1\x06\x02\xc6\xb3\x01\xad\
+\x0d\x2e\x2d\x9e\xcb\x4c\xce\xe5\xc2\xb6\x9f\x72\x21\x97\x65\x4b\
+\xac\x19\x99\xf7\x79\xfc\xc1\x34\x52\xc0\x85\x31\x9f\x42\xa1\x10\
+\x45\xac\x55\x57\xa3\xb5\x16\x10\x42\x80\x31\x84\xa1\xc1\x72\x2c\
+\x8e\x7c\xbf\x9d\xde\x4b\x5f\xf0\xb3\x47\xda\x79\xc0\x34\xf3\x97\
+\x5b\x73\x74\x6d\x7f\x00\x6d\xa0\x39\x66\x71\xfa\xc6\xd7\xe0\x48\
+\x32\x09\x87\x56\xcf\x61\x22\xa7\x50\xda\x81\x64\x33\x24\x52\x24\
+\x13\x71\xda\x93\x2e\xf9\x40\x33\x1f\x84\x20\x04\x41\x10\x14\xfd\
+\x66\x09\x3f\x5c\x95\x05\x8c\x31\x98\x12\xb7\xb5\xd2\xfc\x75\x78\
+\x9a\x2d\x99\x04\x99\x74\x1c\x19\xba\xe4\x9d\x22\xdd\x6f\xcd\xfa\
+\xdc\x99\x2b\x80\x14\x60\x20\xa7\x42\xe6\x83\x10\x5b\x42\x60\x80\
+\x44\x0a\x4c\xc8\x94\x12\x48\x40\x1b\xc8\xaa\x10\x42\x83\xd6\x8a\
+\x50\xeb\xb5\x6f\x68\x2a\x41\x68\x63\x40\x08\xee\xcc\x16\x68\xf3\
+\x5c\x92\xb6\x24\x67\x1c\x32\x5e\x9c\x19\x5f\xf3\xd6\xe5\x2f\xb9\
+\x3e\x3e\x5f\xbc\xb3\x31\x3c\x94\x76\x79\xd0\x73\x98\x29\x68\xa6\
+\x72\x01\x48\x1b\xa4\x43\x6b\x83\xcd\x7a\xcf\x61\x2c\x1b\xf0\x55\
+\x2e\x00\x0c\x4a\xe9\x05\x16\x58\x15\x85\x16\xd6\xec\x10\xb7\x04\
+\x49\xd7\x22\x0f\x7c\x30\x34\xc5\x64\x5e\xb1\xa5\x29\x4e\x56\x69\
+\xde\xee\xff\x8a\x64\xbc\xfa\x96\x67\x46\x67\x01\xc3\xb4\xaf\x31\
+\x06\x92\x09\x1b\x0c\x0c\x4e\xf9\x0c\x4d\xfb\x7c\x9d\x57\x48\x21\
+\x48\xc6\x62\xd8\x81\x41\x97\xf2\xc6\x72\xe8\x53\xb7\x13\x67\x03\
+\xc5\xe1\xc7\xd6\xf3\x9b\xbd\xed\x14\x94\x46\x0a\x81\x00\x94\x31\
+\x38\x96\x45\xb2\xc1\x26\x0c\x21\x97\x2b\x44\xbf\x09\x4d\x51\x90\
+\x44\xdc\xc1\xb1\x20\x04\x7c\x3f\x24\x50\x0a\x63\x8a\x4c\x03\x10\
+\x52\x72\xfe\x6f\x63\x7c\xde\x77\x63\xed\x2d\x50\x76\xe2\x30\x34\
+\x78\xb6\xa0\x25\x61\x43\x58\xa1\x1d\x69\x31\x37\x33\xcd\xbb\x6f\
+\xbd\xcb\x96\xce\x4e\x9e\x7c\xfa\x69\x08\xc3\x62\xc4\x2a\xe5\x85\
+\x8b\x9f\x5d\xa0\xbf\xbf\x9f\x54\x3a\xcd\x93\x4f\x3c\xc1\xfa\x07\
+\x5a\x20\xd4\x55\xf7\x48\x48\x22\x0b\xac\x49\x26\x5e\xd0\x45\x61\
+\x50\x5a\x63\x8c\xa1\x10\x28\x8c\x31\xb8\xae\x0b\x61\xc8\x91\x5f\
+\xfd\x9a\x9e\x9e\x1e\xf6\xef\xdf\xcf\x93\x4f\xff\x10\x3f\x50\x38\
+\x8e\xc3\x3f\x07\x06\x38\x7c\xf8\x30\x7d\x7d\x7d\x4c\x4f\x4f\xe3\
+\x38\x0e\x1b\x36\x6c\xe0\xc8\x91\x23\x74\x77\x77\x47\xdd\x5e\x2c\
+\x66\x11\x28\x8d\x09\xcd\x92\x8d\x52\xdd\x4e\x5c\x59\x06\x47\x4e\
+\xac\x35\x4a\x29\x94\x52\xd8\xb6\xcd\xe4\xe4\x24\x2f\xbf\xfc\x32\
+\xa7\x4e\x9d\xa2\xb5\xb5\x95\x78\x3c\x1e\x95\x11\x4a\x29\x5e\x7d\
+\xf5\x55\x3e\xfd\xf4\x53\x36\x6d\xda\xc4\xd1\xa3\x47\x79\xee\xb9\
+\xe7\x98\x9a\x9a\xe2\xb5\xd7\x5e\x63\x60\x60\x00\x29\x25\x4a\xa9\
+\xa8\xb6\x32\x26\x5c\x56\x63\xb4\x9c\xa9\xc4\x42\x30\x61\x51\x30\
+\xad\x8b\xda\x3d\x7f\xfe\x3c\x87\x0e\x1d\x62\x64\x64\x84\x96\x96\
+\x16\xa6\xa7\xa7\x31\xc6\xa0\x54\xd1\x3a\xe3\xe3\xe3\x0c\x0f\x0f\
+\x63\x59\x16\xaf\xbc\xf2\x0a\x5d\x5d\x5d\x4c\x4c\x4c\xb0\x77\xef\
+\x5e\x86\x86\x86\xb8\x7a\xf5\x2a\x5b\xb7\x6e\x45\x6b\x8d\xd6\xba\
+\x94\x07\x16\x56\xbc\xf7\xb2\x84\x5d\x6f\x33\x53\xb4\x80\x26\x16\
+\xb3\xb9\x72\xe5\x0a\x37\x6f\xde\xe4\xc5\x17\x5f\xc4\xf7\x7d\x7a\
+\x7b\x7b\xa3\xef\xf8\xbe\x4f\x2c\x16\xe3\xc4\x89\x13\x4c\x4c\x4c\
+\xb0\x79\xf3\x66\xe6\xe7\xe7\xf1\x7d\x3f\xba\x7f\x3c\x1e\x27\x08\
+\x02\xb4\xd6\x14\x0a\x05\x66\x67\x66\xa0\x64\xf1\x4a\xa1\xef\x55\
+\x52\xcb\xfb\x01\xa8\xca\x03\xdc\xa5\x46\x36\x9b\x65\xfb\xf6\xed\
+\x9c\x3c\x79\x92\xa3\x47\x8f\x12\x8b\xc5\x22\x1a\x94\x29\x06\xd0\
+\xd2\xd2\xc2\x8e\x1d\x3b\x70\x5d\x17\xdb\xb6\x79\xe7\x9d\x77\x18\
+\x19\x19\xa1\xb5\xb5\x95\xad\x5b\xb7\x92\xcb\xe5\x22\xc0\x53\xd3\
+\xd3\x51\xb2\xac\x54\xdc\xbd\x00\xd4\x97\x89\x43\x83\xd6\x61\xa4\
+\xb1\x47\x1f\x7d\x14\x29\x25\xb3\xb3\xb3\x28\xa5\xa2\x0e\xab\x4c\
+\x89\x72\xcb\x29\x84\x20\x99\x4c\x72\xfc\xf8\x71\x5e\x7f\xfd\x75\
+\xb4\xd6\xbc\xf0\xc2\x0b\xb4\xb5\xb5\x91\xcd\x66\x11\x42\x50\x28\
+\x14\x4a\xbe\x60\xd6\x2e\x8c\x96\xb3\x62\x14\x46\x4d\x48\x58\x72\
+\x62\xad\x35\xb9\x5c\x0e\x00\xcf\xf3\xaa\x80\x56\x5a\x40\x08\x81\
+\xe7\x79\xf4\xf4\xf4\x70\xec\xd8\x31\x0a\x85\x02\x07\x0e\x1c\xe0\
+\xf9\xe7\x9f\x67\x6e\x6e\x8e\x30\x0c\xb1\x6d\x9b\x99\x99\x99\xa8\
+\xde\xaa\xd4\xfe\xfd\x32\xf3\x92\x00\x1c\xc7\x59\x74\xb2\xa0\xc3\
+\xb0\x4a\xc3\x00\x5a\xeb\x2a\xb0\x95\x9f\x7b\x9e\xc7\x9b\x6f\xbe\
+\xc9\xb1\x63\xc7\x10\x42\x70\xe8\xd0\x21\x0e\x1e\x3c\x48\x3e\x9f\
+\x8f\xac\xe3\x38\x0e\x77\x6e\xdf\xc6\xb1\x1d\x42\xb3\x30\x0f\x94\
+\x65\x59\x55\x1e\xb8\xab\x11\xbd\x00\x40\x39\xea\x94\x29\x54\xb6\
+\x50\x22\x91\xe0\xfd\xf7\xdf\xe7\x8d\x37\xde\x40\x4a\x49\x77\x77\
+\x37\xdd\xdd\xdd\xdc\xbe\x7d\x1b\x63\x0c\xe9\x74\x9a\x54\x2a\x45\
+\x2e\x9b\x65\x6e\x2e\x4b\x83\x97\x8c\x7a\xa1\xe5\x4e\xcd\x97\xe5\
+\x03\xd1\xcd\xa2\xf8\xae\x23\x8a\x54\x5a\xa0\x32\xfe\x1b\x63\x98\
+\x9c\x9c\xa4\xb7\xb7\x17\x29\x25\xae\xeb\xf2\xc9\x27\x9f\xf0\xf1\
+\xc7\x1f\xd3\xd4\xd4\xc4\xc3\x0f\x3f\xcc\xfe\xfd\xfb\xe9\xe8\xe8\
+\xe0\x6c\xff\x00\x96\xe5\x10\x8b\xb9\x20\x58\x9b\x4c\x5c\xdb\x8d\
+\x95\xdf\x87\xba\x98\x07\x6a\x2d\x50\x4b\x21\xcb\xb2\xb8\x78\xf1\
+\x22\xa3\xa3\xa3\xc4\x62\xb1\x62\x2d\x95\xcd\xd2\xd9\xd9\xc9\xae\
+\x5d\xbb\xd8\xb5\x6b\x17\xdb\xb6\x6d\x23\x97\xcb\x71\x6b\xe4\x16\
+\x1d\x1d\x9b\x99\x9f\x9f\x5d\x74\xf2\xb1\xa2\x3c\xb0\x78\x29\x01\
+\xa1\x09\x23\x8a\x94\x8f\xb9\xb9\x39\xba\xba\xba\xd8\xbd\x7b\x37\
+\xa9\x54\x2a\x8a\x2c\x9d\x9d\x9d\xf4\xf4\xf4\x20\xa5\xc4\x71\x1c\
+\x1a\x1b\x1b\xc9\x64\x32\x64\x32\x19\x1a\x1b\x1b\x99\x9d\x9d\xe5\
+\xfc\xb9\x73\x24\x1a\x3c\x52\xe9\x14\xae\xe3\xd4\xd5\x8d\xd5\xef\
+\x03\x86\x28\xd6\xeb\x28\x3a\x18\x30\xd0\xd4\xd4\x44\x26\x93\x89\
+\x28\x04\x90\x4a\xa5\xc8\x64\x32\x34\x34\x34\x90\x4c\x26\x49\xa7\
+\xd3\x58\x96\x45\x3e\x9f\xe7\xb3\x0b\x17\xb8\x71\x63\x10\xcf\x4b\
+\xd1\xda\xda\x4a\x83\xe7\x61\x3b\xee\x02\x8b\xaf\x99\x0f\xdc\x9d\
+\x4a\x17\x6b\x17\xad\xaa\xc7\xf5\x65\x8b\xd4\x46\x2d\xc7\x76\x10\
+\x08\x94\x52\x8c\x8e\x8e\x32\xf1\xd5\x04\x77\xee\xdc\x41\xeb\x90\
+\x8d\x1b\x37\x91\x4e\xa7\xf1\x92\x49\x32\xeb\x32\x24\x12\x89\xa8\
+\x23\x5b\xb5\x13\x97\x05\xae\x6e\x68\x34\x57\x2e\x5f\xc6\x75\x63\
+\x84\x51\x29\x7c\x37\x76\x87\x26\x44\x97\x1c\x3c\x08\x0a\x04\x81\
+\x42\xa9\x20\x2a\x00\x03\x15\xe0\xd8\x0e\x9e\xe7\xe1\xc6\x62\x0c\
+\x0e\x0e\xe2\xba\x2e\x8e\xe3\x90\x48\x24\x18\x1f\x1b\x47\x5a\xd6\
+\x7d\xc7\xf7\x2b\x6e\x68\xda\xdb\xdb\xe9\xfd\xc3\x71\xa6\xa6\xa6\
+\xb0\x2d\x0b\xc7\x75\x71\x5c\x17\xd7\x75\x70\x6c\x07\xdb\xb1\xb1\
+\x6d\x27\x1a\x17\x22\x8a\x4e\xaf\x74\xd1\x62\x45\x60\x0a\x15\x04\
+\x04\xaa\xb4\x96\x6a\x21\x63\x0c\x99\x4c\x86\x9f\xff\xf2\x17\x6b\
+\x63\x81\x5a\xed\x0b\x21\xd8\xfb\xec\xb3\xe8\x92\x0f\x88\x52\x8d\
+\x22\xa4\x2c\x76\x66\x42\x20\x2d\xab\x6a\x2c\x28\x10\xd1\x94\x8e\
+\xda\x5d\x19\x53\x71\xbd\xf4\x0c\xd7\x71\x79\xea\xa9\xa7\x96\x35\
+\x58\x5e\x11\x85\x76\xee\xdc\xc9\xce\x9d\x3b\x97\xb5\xb5\xb4\xd2\
+\xd7\xcb\xd9\x01\xaa\x6b\x2a\xb1\x54\x73\x51\xcf\x0e\xcd\x4a\xee\
+\xb1\x5c\x0a\xad\x78\x8b\xe9\xbf\x01\x62\x2d\x26\x73\xa2\x8a\xd3\
+\x75\xec\x4e\xae\x86\x42\xb5\x32\xac\x38\x8c\x86\xa5\xca\xb3\xb2\
+\xa4\x5d\xea\xa1\x95\x3e\x73\xbf\xd7\x95\xfc\x5e\xcc\xdf\xa2\xb2\
+\xa5\x1c\x30\x56\x12\x46\x7d\xdf\x57\xf9\x7c\xbe\xed\xcc\x99\x33\
+\xa3\xff\xe3\x8d\xfa\x36\xdf\xf7\xd5\x92\x8a\xfe\xf6\xcf\x1e\xdf\
+\x02\x58\xdd\xf1\xef\x01\x00\xe7\xd7\xca\x8c\x43\x4f\x3e\xb3\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x08\x94\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x08\x5b\x49\x44\x41\x54\x58\x85\xa5\x97\x79\x8c\x55\xd5\
+\x19\xc0\x7f\x67\xb9\xef\xde\x3b\x6f\x66\x18\xb6\x61\x60\x1c\xb1\
+\x28\x82\x05\x54\xa0\x68\xd5\xba\x83\x45\x64\x09\x8a\x5a\xc4\xad\
+\x4d\x6c\xd2\x34\x0a\x4d\x34\xb5\xad\xd6\xc6\xa4\x6a\xa4\x2d\xa6\
+\x5a\x6b\xd3\xb4\x26\x95\x58\x8b\x58\xad\x04\x4d\x6b\xac\xad\x52\
+\x0c\x55\x24\x5a\x95\x68\xac\x30\x40\x58\x07\x99\x79\xeb\xdd\xce\
+\x39\xfd\xe3\x2d\x30\x2c\x0a\xe9\x49\x4e\x72\x72\x97\xef\xfb\x7d\
+\xdb\x39\xdf\x11\xce\x39\x8e\x77\x28\x71\x75\x47\x8e\x6c\x72\xfb\
+\x90\xdc\x19\xed\x43\xc3\x9e\xb0\x25\x37\xc2\x39\x5c\xb5\x12\xef\
+\x1b\xf8\xac\xba\xad\x50\x4c\x3f\xcc\xf0\x3e\x30\xee\xb9\xe2\xf1\
+\xca\x14\xc7\x03\xe0\x8b\x79\x17\x8c\x9b\x30\xf4\x86\x19\x17\x4e\
+\x9e\x35\x65\xea\xe4\x53\xc7\xf4\xf4\xc8\xb6\xb6\x36\xb4\x97\x03\
+\x20\x4d\x62\x8a\x85\x01\x76\x6c\xdb\x9e\xbd\xfb\xf6\x7b\x1f\xbf\
+\xf5\xc6\xfb\x2f\xf7\x6e\x29\x3d\x9d\xba\x35\xef\xfc\x5f\x00\x5a\
+\xcc\x9f\x34\x71\x72\xc7\x8f\xe6\x2f\x9e\x7d\xcd\xb4\x73\xce\xcd\
+\xb5\xe6\x87\x60\x32\x8b\xc9\x32\xac\xb5\x34\xfe\x15\x42\x20\x95\
+\x44\x6b\x8d\xd2\x92\x81\x81\xfd\x6c\x58\xb7\xae\xf2\xe2\x33\xaf\
+\xac\xdc\xf2\x49\xf4\x40\xe6\x5e\xe8\x3d\x61\x80\xb6\xe0\xaa\x6f\
+\x2d\xb8\xe9\x6b\x0f\xcd\x5e\xb0\x60\x64\xe8\xb7\x12\x47\x55\xac\
+\xb5\x88\x9a\xc6\xcf\xb5\x4a\x4a\x49\x10\x86\x14\x8a\xfb\xf9\xcb\
+\x9f\x56\xf7\xbe\xfc\xec\xa6\x65\xd5\x6c\xed\x0b\xc7\x0d\x30\x72\
+\xf8\xdc\xfb\x6e\xb9\xe3\xda\x9f\x9c\x3d\xed\x5c\xa2\x4a\x84\xb5\
+\xa6\x69\xe9\x89\x0c\xa5\x14\xb9\xc0\xe7\xcd\xd7\x5f\x4d\x57\xfe\
+\x7a\xed\x9d\x03\xa5\x97\x7e\xf9\x85\x00\xc3\x3b\xae\xba\xf7\xd6\
+\xef\x5d\x7f\xff\xf8\xf1\x93\xa8\x56\xca\x47\x28\x3e\x74\x9d\x66\
+\x06\x1c\x78\x9e\x3a\x2a\x40\x43\x76\x98\xcf\xf3\xee\x3b\x6f\xb2\
+\xf2\xb1\xb5\xdf\x2d\x54\x5e\x7a\xfc\x98\x00\xf9\xdc\x9c\x25\x8b\
+\xbe\x3d\x73\xe5\xe4\x33\xa7\x13\x55\xca\xc7\x54\x2c\x84\x20\x8a\
+\x53\xa6\x4c\x1c\x43\x3e\xef\xb3\xe1\x9d\xad\xe4\x3c\x3d\x28\x32\
+\x83\x0c\x73\x8e\x20\x9f\x67\xc3\xba\xbf\xc7\x2f\xfe\xe1\xad\x79\
+\x91\x5d\xfb\x4a\xe3\x95\x6e\x2c\x7c\x71\xf5\xb8\x19\x97\x7f\xe9\
+\x67\x63\xc7\x4d\xa0\x6f\xef\x1e\x84\x10\xc7\x04\xa8\x46\x09\x53\
+\x27\x8f\x65\xfe\x15\x53\xf0\x73\x1a\x9b\x65\xbc\xf6\xaf\xcd\xe4\
+\x72\x1a\x29\xe5\x11\x00\xce\x39\x4a\xe5\x32\x13\xa7\x4c\xf3\x3f\
+\x99\xb1\xe5\x51\x5f\x5c\x77\x61\xec\x56\xed\x1b\x04\xd0\x31\x22\
+\xfd\xc1\x19\xd3\xa7\x76\x1d\xd8\xb7\xaf\x16\xf3\x43\x00\x1a\x30\
+\xce\x39\xaa\x51\xca\xf9\x33\x4e\xe7\xfa\x05\x33\x90\x52\x10\xa7\
+\x19\x73\x66\x4e\xc1\x3a\xc3\xda\x57\x36\x91\xf3\x54\xf3\xbf\xc3\
+\x21\x54\x45\x73\xd6\x79\xd3\x26\x6c\xfd\xf0\xaf\x4b\x81\x7b\x9a\
+\x00\x81\x58\x38\xe9\xac\xcb\x7b\x16\x67\x89\xa1\x3f\x2e\x02\x07\
+\x95\x4b\x29\x9b\xeb\x28\x4e\xb9\xfc\xa2\x33\xb9\x71\xd1\xf9\x40\
+\x3d\x07\x00\x67\x1d\x73\x67\x9d\x8d\xc0\xb2\xea\x85\xf5\x28\x2d\
+\x91\x75\xe0\x06\x44\x63\xed\x05\x01\x27\x4f\x1a\x71\x5b\x20\x16\
+\x3d\x11\xb9\xd5\x3b\x34\x80\x9f\x8f\x97\x0c\x19\xd9\x99\x3f\xd0\
+\xb7\x0f\xe7\x6c\xad\xae\xeb\x8a\xa5\x94\x38\x20\x8e\x53\xe6\xcf\
+\x3e\x97\x9b\xaf\xbb\x18\x6b\x2d\xc6\x58\xa8\x47\xc5\x38\x47\x1c\
+\xa7\xcc\x9d\x35\x0d\x81\xe3\xc9\xa7\x5f\x45\x08\x50\x4a\x62\xad\
+\x6d\xee\x19\xce\x39\x64\xb9\xc2\xf0\xee\x51\x9d\xda\x7b\x7f\x21\
+\xf0\xa8\xce\x8b\x25\x61\xdb\xc9\x7a\x4e\x12\x67\x24\xa5\x02\x52\
+\x2a\xa4\x94\xcd\x09\x10\x27\x19\x8b\xaf\xb9\x84\x5b\x16\x5f\x46\
+\x96\x19\xac\xb5\x75\xbf\x1e\xcc\x33\xe3\x1c\x95\x28\x61\xce\xac\
+\xe9\x08\xe1\x78\xec\xb7\x6b\xb0\xd6\x0e\x82\xb0\xd6\xe2\xac\xc5\
+\x4a\x41\x38\xcc\xcd\xcb\x8b\x9b\x7f\xa5\x1d\xd1\x38\x19\x7a\xa7\
+\x17\xfa\x0f\x80\x49\x50\x4a\xa1\x94\x6a\x2a\x4f\x53\xc3\x6d\xb7\
+\x5c\xc5\x37\x6f\x98\x45\x92\x66\x83\x2c\x3f\x62\x58\x47\xb9\x12\
+\x71\xe5\xcc\xaf\x20\xa5\xe0\xa1\x15\x7f\x24\x49\xd2\x41\x10\xc6\
+\x18\x90\x0a\x15\xca\x33\x1d\x49\x97\x46\xa5\xe3\x9d\xd4\x61\xa5\
+\x54\x42\x60\x9a\x00\x00\xc6\x38\x96\x7e\x67\x11\xb7\x2e\xf9\x3a\
+\x51\x94\x60\xad\x3b\xc2\xf2\xc3\x87\x73\x50\x2c\x57\xb9\xe2\xb2\
+\xe9\x28\x29\xf8\xf1\x83\x4f\x52\x28\x56\xd0\x4a\x62\x8c\xc1\x18\
+\x83\x43\x80\x16\x23\x9d\x4a\x4f\xd1\xce\x33\x27\x39\x91\xc3\x9a\
+\x0c\x29\x69\xc6\xcb\xf3\x34\xf7\x7e\xff\x66\xae\x5d\x70\x09\x85\
+\x52\x05\xe7\x1c\x82\xc1\xe5\xe8\x9c\xc3\xc1\x11\xcf\x71\x50\x28\
+\x56\xb8\xec\xe2\xa9\xb4\xb7\xe7\xb9\xfb\xbe\x27\xd8\xb7\xbf\x1f\
+\x01\x35\x00\x07\x42\x29\x89\x36\xa3\xa5\xd0\xa2\xb5\xaf\xaf\x8f\
+\xdd\x7b\x76\x53\x2c\x16\x49\x92\x04\x63\x0c\xbe\x9f\xa3\xbf\xbf\
+\xc8\x96\x6d\xbb\x10\xa2\xa6\xcc\x3a\x87\xb1\xb6\x39\x6d\x3d\xb1\
+\x0e\x7f\x6e\xac\x05\x1c\x07\xfa\x8b\x1c\xe8\x2f\xd0\xda\x1a\x62\
+\xea\xb9\xe3\x9c\xc3\x58\x53\x33\x48\xb9\xa1\x1a\xa9\xad\x75\x9a\
+\x4a\xb9\x4c\x12\x57\xf1\xfd\x80\x20\x08\x28\x95\x4a\xdc\xf7\xc0\
+\xef\x18\x7f\x5a\x0f\x5d\x9d\xc3\x90\x42\xb2\xf9\xe3\x5e\x7e\xf1\
+\xd8\xaa\xda\xc9\xa7\x14\x77\xde\x7e\x3d\x67\x4c\x18\xcb\xaa\xe7\
+\xff\xc1\xf3\x6b\xde\x20\x08\x72\x24\x69\xc6\x98\xae\xe1\xdc\x73\
+\xd7\x8d\xa4\x69\xc6\x4f\x97\x3f\xc5\xae\xdd\x7d\x68\x2d\xa9\x56\
+\x13\xa2\x28\xa2\x1a\x45\x44\x71\x82\x54\x23\x53\x2d\xa4\xde\xaf\
+\xb5\x87\x92\x39\xb4\xa8\xb9\x32\xcb\x32\x8c\x31\x08\x21\xb0\xb6\
+\xee\x32\x21\x28\x14\x4a\xac\xdf\xf0\x1e\x9e\xd6\x78\x9e\x47\xa9\
+\x52\x45\x2b\x45\xef\xf6\x5d\xbc\xf6\xc6\x46\x5a\xf3\x21\x51\x14\
+\x73\xda\xb8\x6e\x8c\xb1\x58\x07\x69\x1a\x53\x28\x0c\x20\x04\xa4\
+\x69\x4a\x96\x65\x64\x99\xc1\x09\x89\x50\x5e\x9f\x46\xfa\xdb\xb4\
+\xaa\x22\x55\x80\x16\x19\x4a\xe9\x66\x15\x38\x07\xd6\xd4\x6b\x98\
+\x5a\xbc\xb5\x92\x48\x09\x42\x38\x9c\x75\xa4\xc6\x30\x6a\xe4\x50\
+\xa6\x9f\x3d\x9e\x96\xd0\x27\x49\x32\xba\xc7\x8c\xa8\x15\x85\xad\
+\xf5\x0e\x88\xda\x86\xa6\x75\x7d\xe3\x95\x1a\x6b\x5d\x8c\x0c\x76\
+\x68\x27\x5b\x3e\x52\xa2\xf0\x99\xf6\xc2\x61\xca\x56\x6a\x4d\x85\
+\x52\x08\x21\x1b\xd9\x85\x75\xb6\xae\x9e\xfa\xfb\x83\xc2\xca\xe5\
+\x0a\x73\xaf\x3c\x9f\x79\x73\x2e\x18\x94\x84\x42\xd6\x3c\x29\x95\
+\xaa\xfd\xd3\xdc\x51\x1d\xc2\x69\xd2\x24\xdb\x6e\x74\xcb\x56\x89\
+\x97\xdf\x81\x95\x1b\xb5\x17\xa0\x95\xd7\x2c\x43\xcf\xab\x81\x34\
+\x92\xac\xb1\xad\xd7\x76\xc8\xda\x74\xd4\x9e\x5b\xeb\x06\xcf\x7a\
+\x72\x3a\x40\x29\x8d\xa7\x0f\xca\xd5\x4a\xa3\x3c\x0d\x04\xeb\x2b\
+\x7b\x1e\x1f\xd0\x95\x9d\x8f\xd8\xfc\x49\x37\x3c\x27\x95\x9b\xa5\
+\x64\x88\x12\x59\xf3\x63\x61\x1d\x5a\x6b\x7c\xdf\xc3\x59\x47\x4b\
+\x4b\xc0\xa8\xce\x61\x75\x77\x2a\xc2\xc0\xc7\xf3\x74\xd3\x3b\x8d\
+\x21\x10\x28\x25\x49\x72\x1e\x5a\xd7\x65\x89\x86\x6b\x7c\xac\xb1\
+\x58\x31\xe4\xcf\x50\xef\x07\x82\x53\xee\xe8\x6c\xcd\xed\x7c\xbb\
+\xa5\xb5\xbd\x47\xa5\x03\x28\xad\x51\xaa\x76\xb4\xce\x98\x36\x91\
+\x11\x23\x3a\x70\xd6\x91\x19\x43\xa9\x14\x21\x95\x42\x49\xc9\x90\
+\x21\xad\x78\x5a\xd5\x2c\x6e\x94\xe6\x21\x33\x49\x52\xfe\xbd\x71\
+\x33\xe5\x72\xa5\x99\x0f\x46\xfa\x94\x4a\xe5\x4d\x65\x7b\xea\x85\
+\xd1\xa7\x3f\x2f\x37\x1b\x92\xd6\x53\x6f\x5a\x36\xbc\x43\xaf\xf0\
+\x04\x68\x22\x54\xdd\x6d\x69\x5a\xab\x59\xa5\x35\x81\xef\x13\x84\
+\x01\x5e\x3d\x4f\x1a\xa1\x71\xce\x61\x4c\x2d\xbb\xd3\x34\x21\x49\
+\x52\xb2\x34\xc5\x39\x47\x2e\xa7\xb1\xd6\x92\x65\x19\xd6\x29\xe2\
+\x34\xa1\xaf\xd4\xb2\xb8\xfc\xdf\xdf\x3f\x03\x87\xf4\x03\x69\x6e\
+\xcc\x6f\x2a\x95\xad\x0b\x87\x0f\xef\xbc\x48\x1a\x90\xc2\x21\xa5\
+\x24\x0c\x6b\x25\xe7\xfb\x3e\xbe\xef\x93\xcb\xe5\xf0\x3c\x6f\xd0\
+\x79\x51\x03\x30\x64\x59\x46\x92\x24\x24\x49\xad\xde\x93\x24\xa9\
+\x1f\x5c\x0e\xa5\x73\x08\x34\xa5\x52\xbc\x3a\xf3\xbb\x9e\x6d\x86\
+\xeb\xd0\xa6\x21\xf8\xf2\xb2\xc9\x9d\x7e\xdf\xdf\x3a\x86\x8e\x1a\
+\x2d\xb3\x22\x12\x8b\xf6\x3c\xc2\x30\x24\x0c\xc3\x26\xc4\xb1\x00\
+\xd2\x34\x25\x49\x12\xe2\x38\xae\x6d\x38\xd5\x2a\x49\x1c\x63\x1c\
+\x38\x19\xd0\x77\x60\xdf\x47\x7d\xb6\x67\x66\xfc\x9f\xe5\x3b\x8e\
+\x0a\x00\x10\x9c\x79\xfb\xac\xee\xb0\xb4\x6a\x68\xc7\xa8\x0e\x61\
+\xca\x04\x39\x45\x4b\x4b\x0b\x61\x18\x12\x04\xc1\x11\x5e\x68\xd4\
+\x7b\xc3\xfa\x86\xf2\x28\x8a\xa8\x54\xca\x54\xa3\x14\x83\x47\xdf\
+\x81\xbd\xbd\xbb\x92\x91\x0b\xe3\xf7\x56\x6c\x1a\x94\xb0\x47\x6b\
+\xcb\x83\x69\xcb\x2e\x1d\x93\x2b\x3c\x39\xa6\xb3\x7b\x6c\x4b\xe0\
+\x11\x78\xd0\x12\x06\x84\x2d\x0d\x88\x00\xcf\xf3\x06\x79\xa0\x61\
+\x7d\xc3\xf2\x6a\xb5\x4a\x9c\x3a\x4a\xa5\x0a\xbd\x7b\x77\x7e\xb0\
+\x3b\xeb\x5c\x12\x6f\x5c\xfe\xee\xe1\xba\x8e\x79\x31\xf1\xce\xfb\
+\xe1\xf8\x4e\xd1\xb7\xfc\xf4\xd1\x5d\x0b\xba\x3a\x47\x13\x04\x9a\
+\xc0\x93\x04\x41\x2d\x0c\x47\xde\x11\x1c\x49\x92\x12\xc5\x09\x49\
+\x62\xa8\x54\x63\x76\xee\xde\xc1\xe6\xdd\xfb\x9f\xea\x63\xd4\xdd\
+\xd9\xfa\xfb\x77\x1e\x4d\xcf\xe7\x5e\xcd\xe4\xa5\x0f\xca\x30\xeb\
+\xfb\xc6\xb8\x36\x96\x4e\xec\xe9\x3e\xa7\x7b\x54\x37\xed\xed\xed\
+\x08\xd1\x38\xb6\x6b\x9d\x51\xb3\x85\x43\x50\x2c\x0e\xb0\x6d\xe7\
+\x0e\xf7\xc1\xf6\x9d\xaf\x6d\xa9\xe8\x47\xaa\xff\x7c\x78\xcd\x31\
+\x15\x7c\x11\x40\xf3\xa3\xd9\x0f\x07\xbe\x2d\x5e\x32\x3a\x34\xf3\
+\x4f\x19\xda\xfa\xd5\xce\xf6\xb6\xb1\x6d\x41\xd8\xe1\x69\x2d\x71\
+\x90\x64\x69\x56\x88\xaa\x03\x7b\x06\x8a\x9f\xf6\x0e\x94\xd7\xed\
+\x8a\xf4\x9a\x54\xb5\xbd\xee\x5e\xba\xcb\x7c\xa1\xec\x13\xb9\x9e\
+\x03\x88\x6b\x56\x04\x88\x6c\xb4\x12\xb6\x4b\x6b\xda\x70\xb8\xd4\
+\xd2\x6f\x9d\xda\x8b\xf3\x76\xb9\xd5\x4b\x93\x13\x91\xf7\x3f\x3e\
+\xd5\xa3\xca\x19\xd0\x45\x57\x00\x00\x00\x00\x49\x45\x4e\x44\xae\
+\x42\x60\x82\
+\x00\x00\x07\x7b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\
+\x67\x9b\xee\x3c\x1a\x00\x00\x07\x0d\x49\x44\x41\x54\x58\x85\xc5\
+\x97\x49\x6c\x1c\x65\x16\xc7\x7f\xef\xab\xea\xcd\x6e\xdb\xe9\xb6\
+\xe3\x71\x1c\xdb\x31\x31\x6d\x07\x05\xc5\x09\x4b\x34\xc9\x44\x80\
+\x66\xc4\xa2\x44\x42\x39\x70\xe4\x80\x10\x20\x84\x10\x52\x0e\x13\
+\x0e\x20\x61\x09\x44\x16\x89\x1c\xb8\xc0\x81\x2b\x42\x82\x03\x17\
+\x92\x81\x64\x32\x08\x65\x63\x11\x0e\x26\x13\x5b\x4a\x3c\xce\x82\
+\xdb\x59\xec\x76\xa7\xbb\xdd\x5d\xd5\xdd\xb5\xcc\xa1\xaa\xab\x17\
+\x5b\x73\x8b\xe6\x93\x4a\x5f\x2d\xaf\xde\xff\x5f\xff\xf7\xbe\xf7\
+\xbd\x12\xd7\x75\x39\x28\xb2\x17\x98\x00\xc6\x81\x30\xf7\x77\x54\
+\x80\x29\x60\xe2\xa8\xeb\x9e\x90\xbf\xc3\xde\xae\x58\xec\xf8\xdf\
+\x1e\x7a\x88\x1d\x43\x43\x44\x74\xfd\xbe\xa2\x97\x2d\x8b\x8b\x37\
+\x6f\x72\x7a\x66\x86\x9c\x61\xec\xd3\x81\x89\xbf\x6e\xd9\xc2\xf8\
+\xc6\x8d\x5c\x99\x9f\x67\x3e\x93\xa1\x6a\x59\x6b\xbe\x2c\x22\x68\
+\x22\x28\xa5\xd0\xfc\x43\x29\x85\x26\x12\x9c\x2b\xa5\x50\xbe\x4d\
+\xeb\xac\x2b\x45\x22\x1e\xe7\xd1\xa1\x21\x5c\xd7\xe5\xeb\x8b\x17\
+\x27\x74\x60\x7c\x7c\x70\x90\xab\xe9\x34\xf9\xe1\x61\x52\xaf\xbe\
+\x8a\x16\x89\xac\x85\x8e\x00\x4a\x04\x44\x50\xfe\x3d\x25\x82\xf8\
+\xcf\xa4\xe5\x9c\xc6\xfb\x00\xd5\x2a\xa5\x33\x67\xc8\xcd\xce\x32\
+\x3e\x38\xc8\xd7\x17\x2f\x8e\xeb\x40\x38\xac\x69\xa4\x33\x19\x52\
+\xaf\xbd\x86\x1e\x8f\xaf\xc6\x6e\x70\x12\xea\xea\x22\xdc\xdd\x4d\
+\x28\x91\x40\xeb\xea\xc2\xb2\x6d\xcc\x4c\x06\x29\x14\xd0\x56\x56\
+\x70\x56\x56\x02\xb5\xa4\x75\x0e\x85\x88\x3f\xf1\x04\xf9\xcb\x97\
+\x59\xe7\xe1\x84\x75\x00\xd7\x75\xa9\xda\x36\xae\x6d\x63\xf9\x0e\
+\x5a\xc1\xe3\x23\x23\x24\x77\xed\x42\x8f\xc5\x56\x11\xec\xec\xef\
+\xaf\xc7\xb8\x58\xe4\xc6\xe9\xd3\x24\x0b\x05\x10\x09\xd4\x0b\x66\
+\xc7\x01\x11\x5c\xd7\x05\x20\x20\x00\x60\x15\x8b\x88\xa6\x35\xc7\
+\x3c\x16\xa3\xf7\xa9\xa7\xe8\x18\x1d\x5d\x33\x2f\x5a\x47\xa4\xbd\
+\x9d\xd1\xe7\x9f\xe7\xc6\xe4\x24\x32\x39\x49\xbb\x52\x75\x70\x11\
+\xc4\x71\x50\xad\x04\x1c\xff\xc2\x2e\x16\xc1\x27\x20\x40\x7c\x78\
+\x98\xfe\xfd\xfb\x09\x35\x84\xc5\xb1\x6d\x96\xe6\xe7\xb9\x33\x37\
+\xc7\xdd\xb9\x39\xda\x22\x11\x12\x43\x43\x74\x0f\x0f\xd3\x3d\x30\
+\x80\xf2\x01\x37\x3d\xf2\x08\xc5\xcd\x9b\xb9\xf6\xd5\x57\xf4\x57\
+\x2a\x01\x01\xd7\x71\x50\x4a\x05\x98\x1e\x01\xc7\x01\xa0\x9a\xcf\
+\x23\xa1\x10\x4a\x04\x3d\x1e\x5f\x05\x7e\xed\xb7\xdf\xf8\xd7\xa7\
+\x9f\xb2\x29\x14\x62\x7d\x3c\xce\x48\x2c\x86\x52\x0a\xb9\x71\x83\
+\xdc\xf7\xdf\x73\x2b\x12\xa1\x6f\xff\x7e\x7a\xb7\x6c\x01\xa0\x7d\
+\xdd\x3a\x1e\x78\xe1\x05\xa6\x3e\xfa\x88\x2d\x89\x84\xa7\x80\xeb\
+\xa2\x44\x02\x4c\x05\x60\xfb\x17\xb7\x4e\x9e\xa4\xba\xbc\x8c\x5d\
+\x2a\xd1\xbf\x6f\x5f\x00\x5e\x35\x4d\xfe\xf1\xf1\xc7\x9c\x3b\x72\
+\x84\x3f\xb7\xb7\xf3\x40\x7b\x3b\x1d\x80\x6b\x9a\xb8\x86\x81\x6b\
+\x18\x44\x2c\x8b\x64\xa9\x84\xf5\xc5\x17\x5c\xff\xf2\x4b\xaa\xe5\
+\xb2\x47\x22\x91\x60\xfd\x73\xcf\x91\xcb\x66\xc1\x34\x11\xd3\x44\
+\x44\x02\x4c\xd5\x14\x82\x5c\x8e\xa5\x1f\x7e\xa0\x63\x64\x84\x75\
+\xdb\xb7\x07\x5f\x7e\xea\x93\x4f\xa8\x5e\xb8\xc0\x63\x3d\x3d\x84\
+\x2c\xcb\x03\x35\x4d\x22\x03\x03\x44\x06\x07\x71\x0d\xc3\x73\xee\
+\xcf\x91\xc9\x49\xf2\xdf\x7c\x13\xbc\x9f\xda\xb3\x87\x74\x77\x37\
+\xf8\x64\x95\x48\x80\x19\x28\xa0\xc0\x93\xb3\x5a\x65\xe8\xc5\x17\
+\xeb\xb2\xff\xfa\x2b\x37\x4f\x9c\x60\x24\x16\xf3\x80\x4b\x25\x1c\
+\xc3\x20\xf9\xec\xb3\xf4\xbf\xf1\x06\x7d\xaf\xbf\x4e\x61\xd7\x2e\
+\x8c\x5c\x0e\xd7\x34\xa1\x54\x02\xc3\xc0\x3a\x73\x86\xc2\xcc\x4c\
+\xe0\xe7\xd1\x97\x5f\xe6\xf2\xfc\xbc\xa7\x40\x83\xea\xaa\x96\x03\
+\xb5\x8a\xd6\x91\x4a\x11\x4e\x26\x83\x84\x3b\xfe\xc1\x07\xec\xe8\
+\xec\xf4\xd8\x97\x4a\x01\x89\xf8\xce\x9d\x81\xf3\x4d\x4f\x3e\xc9\
+\xd5\x3b\x77\xa0\x54\xf2\x48\x18\x06\x18\x06\xe5\xcf\x3f\xc7\xb5\
+\x6d\x00\x62\x5d\x5d\x64\xc3\x61\x9c\x4c\x06\x59\x95\x03\xae\x1b\
+\x94\xd3\x75\xdb\xb6\x05\x8e\xef\x5e\xb9\x42\x78\x66\x86\x68\x0b\
+\x38\xa6\x89\x34\x54\xcb\x70\x2c\x46\xae\x50\x80\x1a\xb8\x69\x82\
+\x69\xe2\xcc\xcf\x53\x4d\xa7\x03\xbb\xe8\x86\x0d\x54\xd3\x69\x94\
+\x08\x76\x63\x08\x1c\xc7\x09\x6a\x79\x57\x03\x81\xf4\xd4\x14\x5d\
+\x8e\x43\x35\x9d\xc6\x5a\x5a\xf2\xe4\xad\x81\x34\x0e\xd7\x85\x4a\
+\x05\xca\x65\xa4\x5c\x0e\x08\x88\x69\xe2\xcc\xcd\x05\x66\xbd\xa9\
+\x14\xf7\x2c\x6b\x0d\x05\x6a\x21\x50\x8a\x8e\x87\x1f\x0e\x5e\x58\
+\xf8\xfd\x77\x92\xa1\x90\xb7\xb6\x0d\x03\x7b\x79\x19\xf7\xde\x3d\
+\xdc\x62\xd1\x03\x6d\x1c\x95\x4a\xf0\xf5\x52\x2a\x41\x3e\x8f\x9b\
+\xcd\x62\x5d\xba\x14\x98\xfc\x69\xeb\x56\x32\xd5\x2a\x4a\xa9\x20\
+\x07\x74\x00\xdb\xb6\xd1\x94\x42\x6a\x55\xcb\x1f\x22\x42\x5c\xd7\
+\x83\xdd\x4c\x03\xc4\xb6\xbd\xaf\x6c\x19\x52\x2e\x23\x86\x51\xdf\
+\x90\xfc\x8d\xaa\xc5\x21\x2b\xb6\xed\x2d\x43\x3f\x37\x14\x80\xe5\
+\x87\x40\x53\x0a\x63\x7a\x3a\xb0\xdf\x38\x3e\x4e\xb1\x41\x9d\xc6\
+\xed\xb6\x75\x28\x1f\x50\x35\x80\x8b\x08\xa1\xb1\xb1\xc0\x66\xf1\
+\xf2\x65\x12\xe1\x30\x4a\x04\xab\x29\x04\xb6\x8d\xf8\xab\xa0\xd8\
+\x40\xa0\x7f\xdb\x36\x0a\xb5\xfc\x68\xd9\xdb\x57\x29\xb0\x06\xb8\
+\x12\x41\x4f\xa5\xea\x04\xa6\xa7\x59\x1f\x89\xac\x56\xc0\x76\x9c\
+\xa0\xd1\x30\x1a\xd6\xee\xfa\x54\x0a\xab\xaf\x6f\xcd\x06\xa3\x55\
+\x83\x46\xd0\xda\xa1\xf5\xf5\xa1\x86\x86\x02\x9b\xcc\xcc\x4c\x9d\
+\x40\x6b\x12\x8a\x2f\x6f\xe5\xfa\x75\x2a\xd9\xac\xf7\x50\xd3\x78\
+\xfc\xfd\xf7\x29\xf8\x3b\x58\x23\x89\x46\xa2\x77\x2e\x5d\x22\xa2\
+\x69\xcd\x21\x50\x8a\xb6\x03\x07\x82\xdd\xd5\xc8\x66\x51\xe9\x34\
+\xba\x52\xab\x0b\x91\x65\xdb\x75\xe7\x22\xa4\x8f\x1e\x0d\x9c\x0f\
+\xef\xde\x8d\xb1\x6f\x5f\xd0\xfd\xd4\xec\x4a\x9f\x7d\xc6\xad\x1f\
+\x7f\xe4\xe6\xf9\xf3\x9c\x3f\x76\x8c\x91\xb6\xb6\x26\xf0\xf0\xde\
+\xbd\xe8\xe3\xe3\x81\x9f\x73\x87\x0e\x31\x16\x8f\x7b\xca\x89\x60\
+\xf9\x21\xd0\x6b\x0a\xa8\x5a\x5f\x27\x42\xe9\xf4\x69\x16\x4f\x9d\
+\x62\xfd\xd3\x4f\x03\xb0\xfb\xed\xb7\xf9\xb7\xae\x93\x38\x79\x32\
+\x20\x61\xcf\xce\x22\xef\xbc\x43\xbe\x5a\x65\x4f\x28\x44\x5b\x34\
+\xda\x04\x1e\x79\xe5\x95\x00\x7c\xf6\xdb\x6f\x29\x9f\x3d\xcb\x58\
+\x6f\x6f\xd0\xa6\xad\x0a\x41\x6b\xa2\xe5\x8e\x1d\xc3\xcc\x64\x00\
+\x08\xc5\x62\xec\x78\xf7\x5d\xc2\x87\x0f\x53\xee\xe9\xa9\xc7\x59\
+\x29\xfa\xa2\x51\xda\x74\xdd\x6b\x5e\x36\x6c\xa0\xfd\xc3\x0f\x89\
+\xbd\xf9\x26\x2a\x1a\x05\xa0\xb4\xb8\xc8\xcf\x47\x8e\xf0\x97\x64\
+\xd2\x03\x6f\x21\xa0\xd7\x42\x10\x0d\x87\x9b\x62\xec\xe6\x72\xdc\
+\x7d\xef\x3d\x7a\x26\x26\x68\xeb\xe9\x01\xa0\x7f\xf7\x6e\x9c\x9d\
+\x3b\x29\x5e\xbb\x46\xe5\xca\x15\xe4\xea\x55\x22\x9a\x86\x36\x3a\
+\x8a\x4a\xa5\x08\x6d\xda\xd4\xd4\x51\x95\x16\x17\xf9\xe7\xc1\x83\
+\x6c\xd7\x34\xda\x43\xa1\x00\xdc\x6d\x0d\x41\x53\x0e\x34\xcc\xf6\
+\xd4\x14\x0b\x2f\xbd\x44\xe4\xad\xb7\x18\x7c\xe6\x19\x4f\x32\x5d\
+\xa7\x23\x95\x82\x86\xe5\xb5\xd6\xf8\xcf\x77\xdf\x31\x79\xf4\x28\
+\x8f\xe9\x3a\x03\x1d\x1d\xf5\xce\xd8\x6f\x4a\x56\x13\x80\xb5\x7b\
+\xf9\x95\x15\xd4\xe1\xc3\xcc\x9e\x3d\xcb\xc6\x03\x07\x88\x25\x12\
+\xff\x13\xd8\xc8\x66\x39\x77\xe8\x10\xea\xc2\x05\xf6\x26\x12\x84\
+\x35\xad\x19\xdc\xb7\x6b\x26\xe0\x38\xb8\xb0\xe6\x7a\xd7\x94\x42\
+\x44\xe8\x38\x7f\x9e\xc5\x73\xe7\xb8\xdd\xdb\x8b\x1a\x1d\x25\x36\
+\x36\x46\xf7\xd6\xad\x80\x57\xe1\x32\xd3\xd3\x54\x66\x67\x89\x2e\
+\x2c\x30\x12\x8b\x31\xd0\xdd\xdd\x14\xf3\xc6\x7f\x84\xaa\x6d\x07\
+\x95\x50\x07\x2a\xa6\x65\x85\x8b\xa6\x49\xb4\xb3\x73\x4d\xf0\x5a\
+\xd2\xb5\x29\xc5\x83\xcb\xcb\xc8\x4f\x3f\xa1\x7e\xf9\x05\xd3\x71\
+\xc8\x59\x16\x09\x4d\x63\x73\x38\xec\xad\xf1\x64\xb2\x0e\xb8\x06\
+\xb8\x88\x90\x5e\x5a\xc2\xf4\xfe\xbe\x2a\x3a\x30\x75\xbb\x50\x78\
+\x5c\xc3\xeb\x84\x93\x9d\x9d\x28\xd7\x45\xfc\xd6\xb9\x26\x59\x6d\
+\xef\x73\xfc\xbf\x22\xc7\x75\x89\x2a\x45\x9b\x5f\xd9\xc4\xbf\x27\
+\xae\x5b\x07\xac\x9d\xfb\xfe\x6c\xdb\x66\x7e\x71\x91\xab\x0b\x0b\
+\xdc\x2e\x14\x00\xa6\x74\x60\xe2\x66\x3e\x7f\xdc\x05\xca\xb6\xcd\
+\x82\x5f\x05\xef\xd7\xb0\x5d\x97\xc5\x52\x89\x3f\xf2\x79\x80\x09\
+\xf9\x7f\xff\x9e\xff\x17\xc5\xd6\x3d\x9a\xb0\xf3\x6b\xe8\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x05\x25\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd3\x0a\x1a\x16\x3a\x2d\x55\xb7\x36\xb5\x00\x00\x00\x1d\x74\x45\
+\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\
+\x64\x20\x77\x69\x74\x68\x20\x54\x68\x65\x20\x47\x49\x4d\x50\xef\
+\x64\x25\x6e\x00\x00\x04\x89\x49\x44\x41\x54\x78\xda\xbd\x96\xcf\
+\x6b\x1d\x55\x14\xc7\xbf\x93\xbc\x24\x8f\x97\x5f\x2f\xa6\xa9\x0d\
+\x69\x93\xa5\x28\x6a\x40\xed\x4a\x41\xa8\xd5\x65\x45\xd0\xff\xc0\
+\xb5\xb8\x10\x97\x42\x37\xe2\xa2\x22\xee\xb4\x7f\x80\x5d\x35\x6e\
+\x44\x41\x30\x12\xac\xab\x0a\x6d\x08\xd8\x8a\x29\x54\x1a\x9a\xe6\
+\x19\xdb\x97\xf7\x63\xde\xcc\x3d\x3f\xae\x8b\x7b\xdf\xfc\xca\x4c\
+\x21\x85\xe6\xc2\xe5\xde\xb9\x73\x67\xce\xf7\x9e\xf3\x39\x67\x26\
+\xc0\x63\xda\xd5\xb5\xdf\x2c\x11\x83\x8c\x20\x08\x00\x66\x01\x33\
+\x83\x28\x1d\xf3\x73\x06\x73\x76\xcc\xaf\x11\x09\x5a\xfb\x07\x78\
+\xf4\xb0\x8b\xcd\x9b\x97\x03\x00\xa8\x55\x19\x5f\x5b\xbb\x66\xdf\
+\x78\xf3\x65\x30\x2b\x44\x15\xa7\x4f\xcd\x01\x00\xb6\xfe\xda\xc9\
+\xed\x7b\xe9\xb9\xd3\x38\x4a\xfb\x69\x63\x0b\x6c\x08\x5f\x7d\x31\
+\x6d\x7f\x5d\xff\x32\xa8\x14\x40\xcc\x88\x62\x42\x3f\x8c\xc1\x92\
+\x0a\x38\xfb\xee\x45\x2c\x2e\x34\x51\xaf\x8f\xa1\x3e\x31\x86\x1b\
+\x3f\x5c\x3c\x92\x80\xed\x7f\x5a\x10\x11\x9c\x7b\xfb\x35\xdc\xfa\
+\xf3\x7d\x5b\x2d\x80\x04\x22\x0a\x62\x37\x0e\xdb\x64\x63\x02\xaf\
+\xbc\xb8\x82\xb9\x99\x06\x9a\xb3\x0d\x1c\xb5\xb1\x7f\x9f\x31\x06\
+\xb5\xda\x48\x75\x08\x98\x05\x2c\xea\x3a\x4b\xb2\x3e\x3e\x56\xc3\
+\xe2\xc9\x26\x9a\x33\x0d\x34\x67\x9e\x4c\x00\x8b\xa2\xdd\xee\x40\
+\x55\xf1\x18\x0f\x30\x44\xd5\x79\x42\x53\x0f\x9c\x5a\x98\xc5\xe2\
+\xc9\x59\x2f\x60\xf2\xc8\x02\x88\x05\x9d\x83\x2e\x06\x61\x04\x55\
+\x8b\xe0\x69\xd3\x7e\xf3\xc6\xb7\x39\x01\x9f\x7e\xfe\x1d\xc2\x6e\
+\x1f\x9d\xbd\x7d\xfc\xfc\xe3\x1f\xa8\x3d\x6d\xda\xcf\xbd\xf5\x09\
+\xd6\x7f\xb9\x04\x55\x45\xab\xd5\x46\xaf\xd3\x03\x31\x83\x0c\xb9\
+\x10\x1c\x07\xed\x8b\x8b\x1f\xe0\xeb\x6f\x3e\x46\xbf\x1f\xc1\x18\
+\x06\x33\xc3\x18\x82\xb5\x16\xb5\xe3\xa2\x7d\xfd\xf7\x2d\x17\x46\
+\x62\x10\x33\x0c\x11\x54\x2d\x6a\xc7\x45\xbb\x89\x9d\x61\xf6\x9d\
+\x28\xf1\xc0\xf1\xd0\x6e\x88\x9c\x61\xf6\xb0\x1a\x76\x02\x98\x05\
+\xc2\x0a\x96\x7c\x08\xde\x7b\xe7\x55\xac\x3e\xbf\x8c\xa9\xc6\x04\
+\xa6\x26\xeb\x47\x16\xd0\x6e\x77\x10\x76\xfb\x88\x7d\xac\x9f\x9d\
+\x9f\x01\x31\xe3\xee\x4e\x0b\x4c\x2e\x04\xce\x03\xcc\x60\x91\xc4\
+\x65\xc3\xf6\xd9\x47\x17\xf0\x24\xad\x8a\xf6\x0b\xe7\xcf\x82\x59\
+\x70\xe9\xf2\xf7\x3e\x5d\x7d\x16\x30\x09\x44\x2c\x88\x15\x22\x8a\
+\xbf\xef\xee\x41\xd5\x42\xad\x85\xf5\xa3\xaa\xc2\x5a\xf8\x75\x85\
+\xb5\x36\xd9\xa3\x6a\x93\x6b\x22\xc2\xfe\xbf\xed\x52\xda\x8b\xb5\
+\x83\x89\x33\x59\xa0\x0e\x40\x51\xc5\xad\xed\xdd\xdc\xb5\x78\x40\
+\xb3\xa3\x9b\x3b\xe1\x2c\xee\xa5\xdd\x4e\x1f\xfd\x5e\x3f\x2d\x60\
+\x05\xda\x73\x02\xc4\x89\x4b\x43\xc0\xe2\xc3\xe0\x8a\x51\x95\x21\
+\x29\x08\x89\x0d\xa1\xdf\x0b\x11\xf6\x43\x6f\xc0\x55\xd3\x32\xda\
+\x6f\xdf\x7e\x80\x95\x95\x67\x40\x4c\x10\x76\x7b\x1c\x84\xde\x03\
+\x2e\x04\x52\x7a\x62\xce\x88\x89\x63\x83\x38\x36\x18\x84\x11\xe2\
+\x98\x52\xc3\xc4\x60\x4a\x8d\x17\x69\x5f\x58\x98\x4a\xf6\x48\xde\
+\x03\x92\xd4\x00\x11\xc5\xfc\xdc\x14\x54\x15\xa2\x36\x19\x4d\x4c\
+\x88\x22\x83\xc1\x20\xc2\x58\x30\x86\x89\xd1\x00\x8d\xb1\x51\x67\
+\x84\x24\x13\x5b\x6f\xb4\x84\xf6\x5e\x6f\x80\xe9\xe9\x09\x30\x53\
+\xf2\xad\x49\xeb\x80\x3f\x1d\xb3\xe2\xfc\xeb\x2f\x24\x44\x8b\x28\
+\xc2\x30\x46\x1c\x1b\xff\x90\xdb\xe3\xc4\x4a\x66\x4d\x0e\xdd\x2f\
+\xd2\xde\xed\x46\xa8\xd7\x47\xfd\x57\x36\x23\x60\x78\xf2\x62\x21\
+\x8a\x63\x42\x18\x46\xb9\x97\x0e\xbb\x88\xf8\x1f\x16\x29\xbd\x5f\
+\x46\xfb\x89\x13\x93\x0e\x4e\x61\xa8\x08\x84\x33\x59\xc0\x99\x38\
+\x5b\x6b\x7d\x1a\x51\xe9\x8b\xf3\x42\xaa\xef\x17\x69\xdf\xde\x6e\
+\x61\x69\x69\x16\xc2\x8e\x01\x11\x06\x90\x0d\x81\x7f\xb0\xd7\x1b\
+\xe0\xfa\xf5\x7b\x2e\x23\x44\x12\x30\xf3\x63\x6a\xbc\xec\x5e\x19\
+\xed\xf3\xf3\x0d\xef\x15\x4a\x42\x9e\x40\x38\xfc\x1a\x86\xfd\x08\
+\x51\x44\x58\x5e\x9e\x2d\xc4\x59\x0b\x31\xd7\x43\x0c\x64\x0f\x51\
+\x46\xfb\xc8\x48\xe0\x43\x20\x50\x1e\x86\x60\x14\x35\x26\x06\x8b\
+\x62\x30\x88\x11\x0e\x22\x30\x33\xda\xed\x30\x73\xc2\xbc\xc1\xaa\
+\xeb\xe1\x5c\x44\x4a\x69\xbf\x7f\xff\x1e\x44\x04\xfd\xd6\x03\xa8\
+\x5a\x70\x1c\xc3\xda\x86\xf3\x00\x31\xa3\xd7\x0b\x93\xdf\xa9\x76\
+\x7b\x90\x73\x6b\xd6\xd5\xd9\xd0\xe4\xd7\xd3\x79\x19\xed\x57\xae\
+\x5c\x83\xb5\x40\xe7\xe1\x08\x00\xc0\xda\x06\x44\x36\x82\x1a\x91\
+\xb8\xa2\x62\x0c\x98\x04\xc6\x30\xce\x9c\x99\x29\x4d\xad\x62\x26\
+\x54\x41\x59\x46\xfb\xce\xce\xd5\xa0\xec\xe3\x55\x23\x43\x88\xa2\
+\xd8\xfd\x30\xf8\x62\xb2\xb9\xb9\x0b\x11\x81\x6a\xd6\xb5\x5a\xf0\
+\x4a\xea\x09\xd5\xfc\x5a\x19\xed\x55\xad\x16\x1b\x02\x91\xb8\xb4\
+\x23\x27\x62\x69\x69\xfa\x50\x8e\x67\x4f\x9c\x05\x2e\xeb\xfe\xb4\
+\x46\x1c\xa6\xbd\x52\x80\x23\x96\x7d\xde\x3b\x06\xc6\xc7\x47\xc0\
+\x6c\x11\x04\xc3\x1e\x20\x08\x46\xfc\x49\xdc\x1a\x10\x00\x08\x10\
+\x04\x41\x32\xb7\xd6\xf5\x32\xda\x2b\x05\x98\x81\x41\xef\xbf\x47\
+\xe8\xec\xb6\x40\xcc\xb8\x73\x67\xfb\x50\x8e\x33\x6b\x09\x6c\x5a\
+\x5a\x0f\x86\x61\x28\xd2\x5e\xd5\x02\x00\x58\x5d\xfd\xd0\x1e\x1c\
+\xf4\x60\x0c\xa3\xd9\x6c\x24\xbf\x66\xd6\x5a\xdf\x91\xb8\x31\x7f\
+\x9d\xce\x8b\x6b\x7b\x7b\xfb\x7e\x3f\x20\xb2\x11\x54\x09\xf8\x1f\
+\x7a\x09\xcc\x18\xfc\x59\xc6\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\xaf\x0c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x01\x29\x00\x00\x00\xb4\x08\x06\x00\x00\x00\xc8\x16\xda\xab\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x17\
+\x0b\x17\x02\x5c\xb3\x77\x9a\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xdc\x9d\x77\x98\x5d\x55\xd5\xff\x3f\x7b\x9f\x72\xdb\x94\x3b\
+\x93\x99\xb4\x99\x4c\x7a\x83\x84\x50\x12\x7a\x02\x02\x82\x54\x01\
+\x01\x69\xbe\x22\x28\xa0\x58\x11\x45\xc4\xd7\xd7\x82\x15\x51\x2c\
+\x28\xaf\x05\x95\x17\x0b\x08\x28\x3f\x05\x41\x50\x54\x20\xf4\x92\
+\x90\x06\xa4\x97\x49\x32\xc9\xf4\x5b\x4f\xd9\xfb\xf7\xc7\xb9\xf7\
+\x66\x26\x99\x72\xee\x14\x08\x9e\xe7\x99\x67\x66\x6e\x39\x67\xaf\
+\xbd\xd6\x5e\x7b\xad\xef\x5a\x7b\x2d\xd1\xbe\x6b\xbb\x66\x94\x2e\
+\xad\x7b\xdf\x5a\x08\xd1\xe7\xfb\x7d\xbd\xbe\xf7\x6b\xfb\xf3\xa5\
+\xb5\x46\x03\xa2\xc7\xd8\xfb\x1a\x7f\x7f\x74\xed\xef\xf4\xee\xcd\
+\xc7\x9e\xfc\xec\xf9\x5e\x7f\xb4\xbd\x1d\x79\xdc\x8b\xe6\x22\x73\
+\xfb\xa1\xb1\x3f\x7a\xde\x6e\x72\x3c\x10\xaf\x7b\xd2\x5e\xa4\x6b\
+\xb4\xe9\x93\x52\xb2\x6a\xf5\x1a\xe4\x68\x12\x5b\x53\x5f\xc7\x75\
+\x9f\xbd\x01\xe5\xfb\x7c\xfb\x3b\xdf\xa5\xbb\xbb\x9b\x5c\x2e\x87\
+\xef\xfb\xe4\xf2\x79\x5a\x5b\x5b\x59\xb9\x6a\x35\xad\xad\x6d\xf8\
+\xbe\x8f\xeb\xba\x74\x75\x77\xbf\xed\x98\x6a\xdb\x36\x8d\x53\x66\
+\xb0\xf8\x1d\x27\xf1\xc7\x07\xfe\x1f\xf1\x78\x9c\x6c\x36\x4b\x2a\
+\x95\x26\x9b\xcb\xe1\x38\x2e\xe9\x74\x9a\xfb\xee\xff\x13\x52\x08\
+\x32\xe9\x0c\x4a\x29\x1c\xc7\xc1\xf7\xfd\xfd\x7e\xb1\x9a\xa6\xc9\
+\xd6\x6d\xdb\x78\xe6\xd9\xe7\x59\xb7\x6e\x3d\xf7\xde\xff\x47\x3a\
+\x3b\xbb\xe8\xea\xea\x22\x95\x4e\x73\xcc\x92\x13\xa8\xa9\x1f\x4f\
+\x3a\x9d\x26\x9d\xc9\xe0\x79\x1e\x99\x4c\x16\xdf\xf7\x89\xc4\xe2\
+\x7c\xec\x13\xd7\x22\x84\x20\xef\x38\xb4\xb5\xb5\x93\xcb\xe5\xf6\
+\x51\x70\xfb\xdd\x42\xd5\x9a\xbb\x7e\xfb\x3b\x0e\x3a\xe4\x70\x3e\
+\xf2\xf1\x4f\xf2\xf5\x6f\x7e\x1b\xcb\xb2\xd0\x5a\xd3\xd1\xd9\x11\
+\xd0\x9a\x4e\x93\xcb\xe7\xc9\x14\x68\xee\xee\xee\x26\x9f\xcf\x93\
+\x4e\xa7\x51\x4a\xbd\x2d\x15\x54\x4d\xfd\x58\x6a\xc7\x4e\xe4\xc4\
+\x53\x4e\x23\x99\x4c\xd2\xd9\xd9\xc9\x23\x7f\x7b\x94\x55\xab\x56\
+\xe3\xb9\x2e\x99\x4c\x06\x29\x25\xb9\x5c\xfe\x4d\xa3\xcf\xf8\xdc\
+\x67\xaf\xfb\xd2\xa8\x11\xed\xfb\x4c\x18\x3f\x8e\x67\x9e\x7f\x9e\
+\xb3\xce\x38\x83\x6b\x3e\xf6\x29\x00\x26\x4c\x18\xcf\x63\x7f\x7f\
+\x9c\x37\xd6\xad\xc3\xb2\x2d\x9e\x78\x72\x29\x35\xc9\x6a\x5e\x59\
+\xf6\x2a\x4f\x3c\xf1\x24\x47\x1d\x79\x04\x4a\xa9\xb7\x05\x63\x85\
+\x10\xf8\xbe\xcf\x4d\x5f\xfb\x06\x97\x5e\x78\x1e\xf3\x0e\x3c\x00\
+\xd7\xf5\xb8\xeb\x37\xbf\xe3\x99\x67\x9f\xc3\x75\x1d\x9e\x7e\xfa\
+\x19\x36\x6f\xd9\xca\xb2\xe5\xcb\x99\x33\x67\x0e\xf7\xde\xff\x47\
+\xaa\xab\xaa\x58\xb9\x72\x15\xd5\xc9\x6a\xe2\xb1\xd8\x7e\x4d\x1f\
+\x80\xe3\xba\xfc\xed\xd1\xc7\x30\x4d\x93\x95\xab\x56\x91\x77\x1c\
+\x9e\x78\xf2\x49\x56\xae\x5c\xc5\xb3\xcf\x3d\xcf\xf9\xe7\x9c\xc5\
+\xef\xee\xfe\x03\x2f\xbc\xf0\x22\x8d\x0d\x13\xf9\xfd\x3d\xf7\x32\
+\x6d\xda\x54\x1e\x7e\xe8\x61\xb6\x36\x37\xd3\xd6\xd6\x46\x3a\x9d\
+\xe2\xfb\x3f\xb8\x8d\xba\xba\x3a\x66\xcd\x9c\x89\xe7\x79\xfb\xe5\
+\x42\x2e\x8e\x69\x72\x53\x13\xff\x7e\xea\x69\x3e\xfd\xe9\x4f\x73\
+\xd5\xd5\x1f\x66\xc1\xfc\xf9\x4c\x18\x3f\x8e\xcb\x3f\x74\x35\x20\
+\x78\x6a\xe9\xd3\xbc\xf8\xc2\x8b\xe4\x72\x39\xec\x88\xcd\x27\xae\
+\xfd\x0c\xed\x1d\x1d\xac\x5a\xbd\x9a\x19\x33\x66\x10\x8d\x44\x78\
+\xbb\x5d\x52\x68\xa4\x10\x7c\xf5\x4b\xff\xc3\xfa\xf5\x1b\xd8\xba\
+\x6d\x2b\x0f\xfc\xf9\x2f\xcc\x9c\x39\x83\x27\x97\x3e\xc3\xd6\x6d\
+\xdb\x88\xc7\x62\xac\x5d\xb7\x8e\xc9\x4d\x4d\xa3\xba\xd1\x08\x21\
+\xd8\xb5\x7b\xf7\xe8\x2a\x29\x00\xdb\xb6\xb8\xfd\xa7\x3f\xe7\xe2\
+\x8b\xde\xcb\xf2\x57\x57\xf0\xae\x77\xbd\x93\xa9\x53\xa6\x30\xa9\
+\xb1\x01\x43\x1a\xd4\xd6\xd6\xd0\x34\xa9\x91\xbc\xe3\xf0\xd2\x2b\
+\xcb\xf8\xdc\xe7\x6f\x20\xd5\xd5\xf9\xb6\xd9\x85\x8a\x26\x6f\xba\
+\xbb\x93\x54\x2a\x45\x2a\x9d\x21\x93\xc9\xd0\xb2\x7b\x37\x0b\xe6\
+\xcf\xe3\xf0\x45\x0b\x59\xbb\x6e\x3d\x73\xe7\xce\x21\x99\xac\x66\
+\xf6\xec\x59\x8c\x1f\x37\x8e\xa7\x9e\x7e\x9a\x03\x0e\x38\x80\xe9\
+\xd3\xa6\xed\xb7\x8b\xb5\x17\x7d\xa9\x14\x6d\xed\xed\xac\xdb\xb0\
+\x9e\xf3\xcf\x3d\x97\xc6\xc6\x06\x0e\x5f\xb8\x10\x43\x1a\x38\x4e\
+\x9e\x8b\x2f\xb9\x08\xdb\xb2\x31\x0c\xc9\x41\xf3\xe7\xa3\xb4\x62\
+\x52\x63\x23\x63\xc7\x8e\x65\xf7\xee\x56\x0e\x98\x33\x97\x64\xb2\
+\x9a\xc5\xc7\x1e\xcb\xe1\x0b\x17\x96\xac\xa9\xfd\x99\xe6\x4c\x26\
+\x43\xf3\xf6\x1d\x1c\x76\xe8\x21\xec\xdc\xb1\x83\x25\x8b\x8f\x25\
+\x1a\x8d\xd0\xd1\xd1\xc9\x27\x3f\xfe\x51\x92\xc9\x24\x4f\x3e\xb5\
+\x94\x4b\x2f\xb9\x88\xf6\xf6\x0e\x5e\x7b\xfd\x0d\xd6\xae\x5b\xcb\
+\xe1\x0b\x17\x31\x67\xf6\x6c\x0c\xc3\x78\x5b\x29\x28\x21\x04\xae\
+\xe3\x72\xdc\x71\x8b\xa9\xac\xac\xc4\xb6\x2c\x62\xb1\x38\xa6\x69\
+\x32\x69\x52\x23\x8b\x0e\x3d\x94\x8a\x8a\x04\xbf\xbe\xeb\xb7\x7c\
+\xf8\xaa\x0f\x91\xcd\x66\x47\x95\x87\x45\x25\x25\xda\x5a\x9a\xf5\
+\x68\x3e\x48\x6b\x4d\x34\x1a\x25\x9b\xcd\x52\x59\x59\xc9\xce\x96\
+\x9d\x54\x24\x2a\x50\x4a\x91\xcd\x66\xb1\x6d\x1b\xcf\xf3\xf0\x3c\
+\x9f\xee\xee\x6e\x1a\x1b\x27\xa2\x94\xe6\xed\x7a\x39\x8e\x83\xeb\
+\xba\x24\x93\x49\xba\xbb\xbb\x4b\x02\x2f\xa5\xc4\x71\x1c\x12\x89\
+\x04\xe9\x4c\x86\x74\x2a\x4d\x45\x45\x82\x8a\x8a\x8a\xfd\xd6\xed\
+\xd9\xfb\xb2\x2c\x0b\xd7\x71\x91\x86\x24\x9d\x4e\x23\xa5\xc4\xf7\
+\x15\x96\x65\x62\x9a\x26\x96\x65\x91\xcd\xe5\x50\xbe\x8f\xe7\x7b\
+\xc4\x62\x31\xba\x3a\xbb\xa8\xae\xae\xa6\xbb\xbb\x1b\x10\x98\xa6\
+\x49\x2c\x16\x63\x24\x45\x6e\xb4\xb0\x11\xad\x35\x4a\xa9\x02\x9d\
+\x7e\x81\x4f\x02\x29\x05\x86\x61\xd0\xde\xde\x41\x63\x63\x03\xdb\
+\xb6\x35\x53\x5d\x5d\x85\x65\x59\x2c\x7d\xfa\x19\xe6\xcf\x9f\x47\
+\x22\x1e\x7f\xdb\x78\x03\x7b\x5f\x3d\x5d\x55\xa5\x14\xf9\x7c\x1e\
+\xdb\xb6\xf1\x7d\x1f\xdf\xf7\xd9\xb5\x7b\x37\x53\x26\x4f\x1e\x75\
+\xb9\x2d\x62\x52\xa2\x7d\xd7\x76\xad\xb5\x46\x2b\x55\x02\x07\x47\
+\x58\x1f\xf6\x64\x3b\x42\x48\xb4\x56\x40\x01\x5c\xd6\xba\xf0\x11\
+\x81\x21\x25\xae\xe7\x21\x46\x69\x1c\x7b\x9e\x3d\x9a\x93\x2b\x28\
+\x91\x25\x8a\xa0\xeb\x9e\x17\x82\x05\x15\x30\x40\xa9\xd1\x9a\x77\
+\xd1\x03\xf3\xd1\x23\x7b\x5f\x40\xa3\x0b\x7f\x15\x68\x83\xc2\xbc\
+\x06\x9f\xd0\xd0\x1b\x58\xed\x31\x19\x02\x81\xd2\x23\xb4\x78\x35\
+\x98\x05\x9c\xc8\xf7\xfd\x91\xa3\xb5\x04\x94\x8b\x7d\xe8\xd8\xc3\
+\xce\x3d\xb2\x1c\xfc\x0e\x9e\x1d\x8d\x46\x71\x9c\x3c\xca\x1f\x79\
+\xbe\x56\x54\x54\x92\x4a\xa5\x7a\x0c\x72\xf4\x64\xb8\x67\xb4\xa0\
+\xc4\xc3\xc2\x5b\x86\x61\xe0\xba\xa3\xb3\x4e\xb5\xd6\xc4\xe3\x09\
+\x1c\xc7\x41\x00\xab\xd6\xbc\x86\x59\x9c\xec\x44\xb2\x06\x3d\x02\
+\x84\x0b\x21\x90\x22\xd8\x79\xf6\x61\x92\xde\x87\xfe\x7d\xae\x08\
+\x03\xbf\x3f\x34\x3f\x5b\xe2\x39\x39\xb2\x99\x14\xd1\x78\x05\x86\
+\x65\x8f\x08\x0b\x65\x61\x90\xaa\xbf\x79\x1b\x88\x8e\xfe\xde\x1b\
+\x2e\xed\x1a\xd0\x1e\x99\x54\x8a\x58\xa2\x12\xc3\xb4\x86\xcf\x57\
+\x0d\x52\x08\x10\x3d\x14\xcc\x50\xc6\x39\x82\x7c\x15\x05\x05\xb2\
+\x7a\xd5\x0a\x92\x55\x95\x8c\x9b\xd0\x00\x52\x0e\x9f\xaf\x4a\x11\
+\x89\x25\xc8\xe7\x32\xf4\xbb\x0a\x07\xe1\x6b\xcc\x8e\xed\xbd\x37\
+\x0f\x9b\x6e\xa5\x34\xdf\xfe\xf6\xb7\xf8\xcc\x75\xd7\xa2\xb4\xc0\
+\xb0\xec\x61\xf3\xd5\x30\x4c\xa4\x10\xb8\xae\xdb\xff\x5a\x65\x80\
+\x75\x3a\x0a\x6b\x35\x12\x89\xf1\xab\x5f\xfe\x82\x23\x17\x1d\x46\
+\x63\x63\x23\x00\x26\x85\x9d\xd1\x75\xf2\x38\x03\x31\x66\x30\x82\
+\xad\x18\x9e\x36\xf1\xf2\x19\xdc\x6c\x17\x15\xc9\x1a\x7c\x27\x47\
+\x55\x65\x25\xe9\x6c\x16\xdf\xf7\xa8\x1d\x53\x47\x7b\x6b\x2b\x95\
+\x55\x95\x74\x75\x76\x23\xa4\xd8\xc7\x9d\xb0\x2d\x13\x21\x24\xae\
+\xe3\x06\xee\x85\xeb\x62\x48\x49\xde\x71\xf1\x95\x3f\x24\xc1\x73\
+\x5c\x17\xcf\xf5\xb0\x6d\x13\x3b\x12\x25\xdd\xdd\x39\x64\x53\x5c\
+\x08\x81\x36\x63\x68\x2d\xf1\x9c\x3c\x86\x09\x86\xef\x20\xa4\x2c\
+\xb9\x05\x91\x48\x14\xcf\x75\x49\x54\xc4\xe9\xee\x4e\xa1\x7a\x85\
+\xb3\x75\xc9\xe5\x71\x1d\xb7\x84\x5b\x38\xae\x83\xe7\x7a\x24\x12\
+\x09\xba\xbb\xba\x11\x43\x5c\x70\x96\x61\xb2\x76\xdd\x3a\xa6\x4d\
+\x9b\x86\x61\x58\xa4\x3a\xda\x10\xc6\xd0\x17\xaf\xb0\x2b\xf1\x15\
+\x78\x4e\x16\x9d\xef\x22\x12\x8b\x61\x59\x36\xf1\x68\x8c\xce\xee\
+\x4e\x0c\xc3\x44\x20\x30\x4d\x83\xec\xde\x38\x93\xd6\x24\x12\x09\
+\x3c\xdf\xc3\x75\x3c\x12\x89\x38\xa9\x54\xe0\x26\x46\xed\x08\x8e\
+\xeb\xe0\x7a\xde\xb0\xdc\x81\x2d\x9b\xb7\x10\x9b\x39\x83\x6c\x3a\
+\x35\xec\x45\xab\x8d\x04\x76\x2c\xce\xfd\xb7\xfd\x88\x73\x2e\x7f\
+\x3f\x99\xee\x6e\x84\x90\x44\x6c\x1b\xa5\x14\x96\x65\x91\x77\x1c\
+\x2a\x12\x09\x3a\x3b\x3a\xa1\x87\xfc\x6a\xad\x89\xc5\xa2\x58\xa6\
+\x89\xef\xfb\x48\x69\xe0\x3a\x2e\xb6\x6d\xa1\x81\x6c\x36\x8b\xef\
+\x0d\xd1\xba\xd2\x10\x8f\x45\xb9\xe7\xde\xfb\xb9\xf1\xf3\x9f\xa3\
+\xa3\xb3\x13\x72\x99\xe1\xa9\xf8\x48\x15\x3b\xb7\xac\xc7\xe9\x6e\
+\x65\xca\xcc\x19\x78\x4a\x11\x8b\x44\x71\x5c\x17\x5f\x79\xd4\xd4\
+\x8c\xa1\xb3\xbd\x0d\xd3\xb6\x70\x5d\x6f\x1f\xd7\x2e\x11\x8f\x91\
+\xcf\xbb\x44\x63\x51\xb2\xe9\x2c\x96\x65\x06\x11\xdc\x5c\x1e\xc3\
+\x32\x03\xc5\x37\x14\x0c\x5b\xc2\x43\x0f\xfd\x95\x19\xd3\xa6\xd0\
+\xd4\xd4\x14\xf0\xb9\x0f\x7b\xab\xec\x1f\x21\x0d\x56\xdd\xff\x35\
+\x12\x8f\x9c\x46\xf2\xc9\x4b\xd9\x71\xdb\x91\xac\xfd\xc7\xef\xa9\
+\x1d\x3b\x91\x4f\x5c\x7b\x1d\xcd\xcd\xcd\xd4\x54\x27\x99\x31\x73\
+\x2e\x91\x78\x05\x1f\xfa\xd0\xd5\xd4\x8e\x1d\x8b\x65\x9a\x58\xa6\
+\x19\xf0\x4d\x6b\x9e\x7d\xf6\x39\x6e\xfa\xfa\xb7\xb8\xfe\x86\x1b\
+\xf9\xeb\xc3\x8f\x70\xe3\x7f\xff\x0f\x7f\x7d\xf8\x6f\xfc\xf8\x7f\
+\x7f\xc6\x96\x2d\x9b\x83\xdd\xbc\xdc\xf1\x15\xee\xad\xb5\x2a\x58\
+\xc8\x62\x48\x34\x52\x30\xf9\xb3\x5d\x1d\xa4\x1e\xb9\x81\xaa\x27\
+\x2e\x25\xf9\xe0\xe1\x3c\x7c\x49\x1d\x56\xe5\x18\xba\xbb\xbb\x59\
+\xbb\x6e\x1d\x5a\x29\x7e\xf3\xdb\xdf\xf2\xc6\xfa\xf5\xbc\xe7\x82\
+\x4b\x48\xa5\xd3\x98\x86\x81\x69\x18\x18\x52\x62\xdb\x36\x6b\x5e\
+\x7b\x9d\xab\x3e\xf2\x51\x7e\xf7\xfb\x7b\xf8\xf2\x57\xbf\xc6\xcd\
+\xdf\xb9\x85\xe7\x9e\x7b\x01\xcf\xf3\xf8\xec\x0d\x37\x52\x5b\x5b\
+\x13\xb8\x81\x43\x18\xa3\x46\xf5\xb0\x62\x75\xc1\x35\x1b\x22\x5f\
+\x95\xcf\xce\x5f\x9d\xce\x98\xa5\x67\x90\xbf\x7d\x06\x3b\xfe\x7e\
+\x3b\x55\x35\x63\x79\xfe\xb9\xe7\xb9\xe4\xbf\x2e\xc3\x34\x0c\xd6\
+\xbe\xb1\x96\x55\xab\x57\x71\xcf\x1f\xee\xa5\xaa\xa2\x82\x68\x24\
+\x52\xa2\x35\x16\x8b\xf1\x3f\x5f\xf9\x2a\x0f\x3e\xf8\x30\xad\x6d\
+\xad\x5c\x7d\xcd\x47\x49\xa7\x52\x6c\xda\xb8\x89\x6f\x7d\xe7\x16\
+\x5e\x7c\xf1\x65\xb4\x3f\x34\x3a\x8b\x34\x05\x9b\x4d\xc1\xad\x1d\
+\x2a\x5f\x01\xa5\x04\xf6\x3f\xaf\x24\xf1\xcf\xf3\x79\x57\xee\x46\
+\x7e\x7e\xf1\x02\xaa\xc6\x4c\x04\xa5\x78\xf8\x91\x47\x78\xe6\xd9\
+\xe7\xb8\xf5\x07\x3f\x64\xc3\xfa\x0d\x9c\x7f\xe1\x25\x24\x2a\xe2\
+\x98\x86\x81\x6d\x99\xa0\x35\x15\x89\x04\x77\xdd\xf5\x3b\x3e\xfe\
+\xa9\xeb\xf8\xdf\x9f\xff\x82\x2f\x7e\xe9\xcb\x3c\xf2\xe8\xa3\x7c\
+\xf2\xba\xcf\xf2\xf9\x2f\x7c\x91\x2d\x5b\xb6\x62\x1a\x72\x68\x63\
+\x44\xa3\x05\x78\x9e\x3b\x64\x5e\xf6\x5a\x0f\x4e\x37\xfe\x9d\x8b\
+\x99\xbd\xfe\x63\xe4\x7f\x7b\x02\xab\x1f\xf9\x15\xb1\x68\x8c\x5f\
+\xff\xdf\xff\xb1\x79\xcb\x66\xa4\x90\x1c\x74\xf0\x61\x38\xae\xcb\
+\xe3\xff\xf8\x17\xb9\x6c\x0e\xd3\x30\x90\x42\x60\x99\x81\xf5\xf5\
+\xb5\x6f\x7c\x9b\x35\xaf\xbf\xc6\x67\xaf\xbf\x81\x4d\x9b\x36\x71\
+\xd7\x6f\x7f\xc7\x4f\x7f\x7e\x07\xe9\x4c\x9a\xa5\x4b\x9f\x1e\xb2\
+\xfc\x82\xc6\xf7\x02\xa5\x58\xd4\xe7\xe6\x48\xf9\xf0\x89\x0a\x8b\
+\xe6\x59\x17\x32\x7e\xdc\x05\x18\x8d\xf7\xd2\x3d\xf9\x40\x9e\x7d\
+\xe2\xdf\xdc\xf8\xf9\x1b\xb0\x2d\x93\xae\xee\x6e\xee\xbd\xfb\xb7\
+\xfc\xfa\x57\xbf\xe2\x63\x1f\xbd\x86\xc5\xc7\x1e\xc7\x19\xa7\xbf\
+\x8b\x96\x96\x5d\x5c\x7c\xe1\x7b\x39\xf0\xc0\x03\x78\x63\xed\x3a\
+\xce\x39\xfb\x2c\x0e\x98\x3b\x97\xe7\x9e\x7b\x81\x5b\x6e\xfd\x01\
+\x9f\xbf\xfe\x33\x2c\x59\x7c\x0c\xb6\x1d\x2d\xe1\x39\x6f\x1d\xce\
+\x2c\x10\x42\x51\x5d\x5d\xcf\xe6\xd9\x17\x33\x2e\x3a\x93\xed\x07\
+\xfd\x10\x23\x9d\xc1\xf5\x3c\x9e\x7c\x6a\x29\xbe\xaf\xb8\xe0\xfc\
+\xf3\x78\xe8\xa1\x87\xf9\xc4\x47\xaf\xe6\xc5\x17\x5f\xe4\xb1\xbf\
+\x3f\xce\x91\x47\x1c\xce\xa6\xcd\x5b\xf8\xe4\xc7\xae\x61\x72\xd3\
+\x24\x2e\x7f\xff\x7f\x51\x53\x53\xc3\xe5\x57\x5c\xc6\x11\x47\x1e\
+\xcb\xb4\x69\xd3\xc9\xcd\xcc\x31\x6b\xc6\x74\x5a\xdb\xda\x31\xa4\
+\x1c\x32\x30\x39\x52\x20\xb2\x06\x2a\xc7\xcd\xe0\x89\x25\x37\xd0\
+\x34\xb7\x1d\xd9\xf1\x06\x86\x61\xf0\xf5\x6f\xdf\xcc\x09\xc7\x1f\
+\x8f\x52\x8a\x86\x86\x06\xfe\xf8\xa7\x07\x98\x37\xef\x00\x9e\x7b\
+\xe1\x45\xfe\xfb\x7f\xbe\xcc\x71\x8b\x8f\xa5\xa1\xb1\x91\x93\xdf\
+\x79\x22\x5f\xfb\xca\x97\xf9\xce\x77\xbf\xc7\xe2\xc5\xc7\xf2\xdf\
+\x9f\xbf\x81\x57\x57\xac\xc4\x30\x0c\x3a\xbb\x3a\x03\xcb\x47\x88\
+\x61\xe5\x4c\x89\x11\xa1\x53\x10\xc3\xe3\x4f\xb2\x9e\x53\x97\xdc\
+\xc4\xb6\xa5\x9f\xc2\xbd\x61\x22\xba\xb3\x9b\xdd\x6d\x6d\xd4\xd7\
+\x8f\x65\xf1\xf1\x27\xf2\xb3\x5f\xdc\xc1\x3b\x8e\x3f\x8e\x57\x96\
+\x2d\x63\xd5\xaa\x35\xfc\xfa\xff\xee\x62\xd2\xa4\x49\x5c\x7c\xe1\
+\x05\x64\xb3\x39\x4e\x3b\xf5\x5d\x4c\x9f\x3e\x8d\xef\xff\xf0\x36\
+\xfe\xfa\xf0\x23\xb4\x34\x6f\xe6\x1d\xc7\x1f\xc7\xad\x3f\xbc\x8d\
+\xaf\x7f\xeb\x66\xee\xbc\xe3\x67\x74\x75\x75\x0f\x59\xf6\x46\x0a\
+\x6d\x72\x80\x1d\xf5\xf3\xb1\x67\x7d\x85\xcd\x6d\x5f\xa3\x66\x7e\
+\x53\xe0\x05\x28\x55\xf2\x30\x3a\x3a\x3a\x78\xe2\xa9\xa5\x3c\xf1\
+\xe4\x93\x6c\xda\xb2\x99\x58\x2c\xc6\x8c\xe9\xd3\x68\x6b\xeb\x60\
+\xc9\xe2\x63\xb8\xec\xfd\xef\xe3\x97\xbf\xbc\x93\x7b\xef\xff\x13\
+\x27\x9d\x78\x02\xef\xbb\xe4\x22\xb6\x6d\x6b\xe6\x07\x3f\xfa\x09\
+\xb1\x58\x94\x43\x0f\x39\x78\x88\xd1\xcd\x7d\xe9\x94\xc5\x97\x03\
+\xc8\x41\x0c\xe9\x07\xed\x33\xe1\xa8\x0f\x72\xc8\x8a\xcf\x70\xf9\
+\xa6\x2b\xf8\x68\xcb\x1d\xac\x5e\xff\x0a\x8b\x0e\x39\x8c\x78\x2c\
+\x5a\xfa\x5c\x24\x62\xb3\x7e\xfd\x06\x00\xea\xeb\xc7\x70\xcc\xd1\
+\x47\x71\xda\xa9\xef\xa2\xbe\xbe\x8e\x7c\x3e\xcf\xc4\x89\xe3\x19\
+\x53\x5b\xcb\x77\xbe\x77\x2b\x8e\xeb\xf0\xa3\x1f\x7c\x97\x53\x4e\
+\x79\x27\xeb\x36\x6c\xc4\xf3\x5c\xa4\x94\x25\x30\xb3\xec\x31\xf6\
+\x24\x7e\xc8\x74\x2a\xc6\xd7\x4c\xe6\x93\xfe\x46\xde\xff\xfa\x27\
+\xb8\x6c\xcb\x65\x7c\xe5\x9f\xdf\x27\x1a\x89\x83\xd6\xcc\x99\x3d\
+\x9b\xad\x5b\xb7\x10\x8f\xc5\xd8\xdd\xd6\x8a\xaf\x14\x1b\x37\x6e\
+\xe6\x9b\x5f\xff\x2a\xb3\x66\xcd\xe4\x95\x57\x96\x11\xab\xac\x60\
+\xd9\xab\xaf\xf2\xe2\x2b\xcb\x70\x7d\x8f\xef\xde\x72\x2b\x1f\xbe\
+\xea\x4a\x0e\x38\x60\x0e\xb1\x58\x8c\xf6\xce\x2e\xc6\xd4\xd6\xf6\
+\xca\x5c\x2f\xf7\x47\xf7\x00\x39\x8b\x0a\x6b\x28\xf7\xf1\xd1\x7c\
+\x3a\xd1\xc9\x4d\xcb\x2e\xe5\xbd\xaf\x7d\x88\x3f\x67\xd6\x40\xce\
+\xe3\xa6\x2f\xfd\x0f\x5b\x36\x6f\x41\x08\x89\x94\x82\x96\xdd\xbb\
+\x69\x6f\xef\x60\xc6\xf4\x69\x5c\xf6\xfe\xf7\x71\xcf\xbd\xf7\xd3\
+\xd4\x34\x89\x89\x13\x26\x70\xfe\x85\x97\xf0\xe1\xab\xaf\x24\x93\
+\x4e\x71\xc7\xaf\xef\x64\xd1\xc2\xc3\x98\x3e\x6d\x1a\x07\x1f\x74\
+\x10\x15\x15\x15\x25\x00\x78\xc8\xb2\x47\x11\x97\x17\x43\xfe\x91\
+\x02\x3c\x6d\x73\xaf\xb5\x96\xcb\x9e\x3d\x87\xcf\xbe\x67\x07\xbf\
+\x5d\xfa\x47\xac\x78\x25\x95\x15\x15\x24\x93\x49\xb4\x93\xe1\x7d\
+\x97\x5e\xc2\x4f\x7f\x76\x07\xe7\x9e\x7d\x36\x93\x27\x4f\x62\xd1\
+\xc2\xc3\x38\xe3\xf4\x77\xf1\x89\x6b\xaf\x63\x62\xd3\x24\xb6\xef\
+\xd8\x4e\x7d\x7d\x3d\x57\x5f\xf9\x21\xbe\xff\xbd\xef\xf0\xc2\x8b\
+\x2f\xf2\xe3\x9f\xfc\x2f\x11\xdb\xe2\xfb\xdf\xb9\x99\x54\x2a\x3d\
+\xac\x71\xf6\xcc\xde\x1f\xce\x4f\x5e\xc0\x79\x2d\xff\xe4\x7d\x9d\
+\x1f\xe2\xe6\xf1\x2f\xb0\x2e\xb3\x1b\xed\xfb\xd4\xd5\xd5\x11\x8b\
+\x46\x01\xc1\x01\x07\x1e\x80\x65\x5a\x7c\xe6\xda\x4f\x71\xe8\xc1\
+\x0b\x58\xb2\xf8\x58\x7e\x75\xe7\x5d\x1c\x7b\xcc\x91\x98\xa6\xc9\
+\xb6\xad\x5b\xf9\xe0\x15\x97\xf1\xa5\x2f\xde\xc8\xdc\xb9\x73\xf8\
+\xcb\x83\x7f\xe5\xa9\xa7\x9f\xe1\xc6\x1b\x3e\xcb\x59\x67\x9e\x86\
+\x61\x18\x43\x1c\x5f\x1f\x27\x55\xda\x5a\x9a\x03\x27\xc8\x30\xc9\
+\x65\xd2\x43\xde\x85\x95\x56\xfc\xf9\xc5\xbf\x72\xea\x61\xef\xc4\
+\x71\x5d\x62\x46\x74\x1f\x4d\x2a\x0b\x2e\x40\x2e\x97\x23\x99\x4c\
+\xb2\x62\xc5\x4a\x72\xf9\x1c\x4d\x4d\x4d\x25\x57\xc8\x75\xdd\x00\
+\xaf\x71\x5d\x4c\xd3\x2c\xfd\x76\x1c\x07\x5f\xa9\x21\xed\x27\x45\
+\xff\x38\x1a\x8d\x52\x55\x53\x4f\x67\x5b\xcb\x30\x30\x29\x49\xaa\
+\x2b\xc5\x4b\x3b\x5e\x66\x4e\xe3\x6c\xe2\x32\x46\x22\x52\x81\x10\
+\x60\x9a\x01\x63\xf2\x79\x87\x58\x2c\x86\xe7\x79\x58\x96\x49\x2e\
+\x97\x67\xd3\xa6\xcd\x6c\xde\xb2\x85\xe3\x8f\x5b\x02\x42\x60\x1a\
+\x06\xae\x5b\xc0\x2c\x74\x30\x46\xdf\xf7\x89\xc7\xe3\xa4\xd2\xe9\
+\xc0\xb5\x1d\x82\xe5\x63\x48\x83\xe6\xe6\x66\xa6\x4e\x9d\x8a\x1d\
+\x8b\xd1\xb6\x6b\x27\x86\x31\x74\x83\x79\x67\x6b\x0b\xbf\x7a\xf9\
+\xff\xf8\xf4\x49\x9f\x44\x79\x3e\x96\x61\x63\x59\x26\xd1\x68\xb4\
+\x14\x69\x8a\xc7\xe3\xb8\xae\x8b\xe7\x79\x44\xa3\x51\xfe\xf2\xe0\
+\x43\x2c\x58\x70\x10\xf5\x75\x75\x54\x54\x54\xd0\xdd\x1d\x60\x6c\
+\xb1\x68\xb4\x94\xb1\x6c\x17\xb0\x8e\x20\x2a\x37\xf4\x20\xcd\x0b\
+\x2f\xbe\xc4\xac\x59\x33\xa9\xae\xaa\x1a\x56\xc8\x3f\x66\x47\xf9\
+\xd1\x83\xff\xcb\xd9\xc7\x9c\x85\x6d\x9a\x98\x58\xc4\xed\x28\x5a\
+\xec\x89\x3a\x47\x23\x11\x6c\x3b\x08\xba\xa4\x52\x29\x4c\xd3\xe4\
+\xff\xee\xfa\x2d\x57\x5d\xf9\x41\x3a\x3a\x3b\xb1\x4c\xb3\xc0\x03\
+\x89\x69\x9a\x25\xfe\x83\x20\x9b\xcd\xa2\x7a\xb8\x30\xe5\xf2\xd5\
+\x8e\xc6\x38\xf3\xcc\x77\xf3\xef\xc7\x1f\xa3\xb5\xb5\x75\xc8\xf7\
+\x02\xc8\x7b\x0e\xaf\x6d\x7d\x83\xe9\x0d\x53\x51\xca\x27\x6a\x46\
+\x31\xa5\x49\x24\x12\xc1\xf5\x3c\xb4\x52\x24\x93\x49\xd2\xe9\x34\
+\x9e\xe7\x61\x98\x06\x9e\xeb\xb1\xe6\xb5\xd7\x98\x36\x75\x2a\xb6\
+\x6d\x63\x9a\x26\xbe\x52\x44\x23\x11\xf2\xf9\x3c\xa6\x69\x22\x04\
+\xe4\xf3\x0e\x86\x69\xe2\x0f\x11\x6b\xac\xac\xac\xe4\xca\x0f\x5f\
+\xc3\x35\x1f\xbe\x8a\x05\x07\x1d\xc4\xf2\x57\x57\x04\x4a\x4a\x29\
+\x4d\x2a\x9d\x26\x93\x4e\x0d\xc3\x55\x10\x54\x46\x2b\x48\xe5\x02\
+\x45\xa7\x51\x03\x9a\xf0\x1a\xb0\x4c\x2b\x48\x20\xf3\xdc\x51\xf5\
+\xe1\x34\x50\x51\x51\x41\x45\x22\x81\x1d\x89\xd2\xbc\x6d\x1b\xbe\
+\xef\x0d\xf9\x5e\x86\x34\x88\x1a\x11\xf2\xbe\x83\x46\xa3\x42\x00\
+\xfa\x96\x65\x61\xd9\x16\xe9\x74\x86\x51\xcb\x4a\x0b\x8c\x3d\x92\
+\x35\x49\x62\xd1\x20\xc2\xb4\x75\xcb\x56\xcc\x02\x6e\x32\x94\xcb\
+\x34\x4c\xaa\x22\x55\xb4\x67\xda\x0b\x29\x14\x83\x2b\x82\x8a\x8a\
+\x0a\xb2\xd9\x1c\x9e\xef\x8d\x2e\xad\x1a\x3c\xd7\x63\xfc\xf8\x71\
+\x74\x74\x74\x0e\x99\xa7\x88\x20\x7a\x56\x93\xa8\x21\x95\xeb\x0e\
+\xa6\x4a\xe8\xc1\x95\x9e\x10\x54\x55\x56\xd2\xd1\xd9\x39\xa4\x4d\
+\xa5\xac\x20\x81\x61\xb0\x72\xe5\x2a\x4e\x3a\xf1\x04\x76\xed\xde\
+\x4d\x3e\x9f\x1f\xf2\xdc\x0a\x21\xb0\xcd\x08\xae\xe7\x00\x83\xaf\
+\xd5\xe2\x24\x45\x22\x36\x8e\xe3\x8c\x6a\x7e\x94\x69\x9a\xbc\xba\
+\x62\x25\x87\x1c\x7c\x30\x63\xc6\xd4\xb2\x72\xd5\xea\x20\x4f\xca\
+\xf7\x7d\x5a\x5a\x76\xed\x13\x6d\xfb\x4f\xb9\x74\x21\xca\x94\xac\
+\xae\xa6\xad\xad\x8d\x5c\x3e\xff\x16\x0d\x04\x78\x13\xa6\x38\x91\
+\x48\x90\x88\xc7\xe9\xe8\xe8\xc0\x71\xdc\xe1\x3f\xb3\xdc\x71\xbf\
+\x49\x74\x6a\xa5\xa9\xab\xab\x2b\x24\x93\x1a\x6c\xdd\xda\x3c\xfc\
+\xf4\x0d\xb1\x7f\xf2\x54\x2b\xcd\xac\xd9\xb3\xe9\xee\xec\x20\xef\
+\x38\xb4\xb6\xb6\x21\x0d\xf9\x1f\xb7\x56\x95\xaf\x18\x3f\x7e\x02\
+\xa6\x19\x04\x19\x56\xad\x79\xad\x90\x82\xa0\x35\xf9\x7c\x8e\x9a\
+\x9a\x9a\xb7\x4d\xf6\x73\x79\x4a\x2a\xd0\xd0\x86\x61\xd0\xbc\x7d\
+\x07\x63\xeb\xeb\x31\x4d\x83\xff\xc8\xab\x40\xab\xef\xfb\xec\xde\
+\xdd\xca\xc4\x89\x13\xf0\x5c\xef\x4d\x59\x48\x6f\xc5\xe6\x63\x18\
+\x06\xc9\x9a\x1a\x2e\xbc\xe8\x52\xbe\xfd\xed\x6f\xa0\xfe\x83\x69\
+\x15\x86\xc5\xb6\xed\xdb\x59\xb9\x72\x15\xc7\x2d\x59\x4c\x36\x93\
+\xfd\x8f\xa3\x55\x29\x85\x69\x47\xd0\xca\x2b\xa4\x05\x17\xa2\x7b\
+\x42\x08\xe2\x89\x04\x63\x6a\x6b\xc3\x67\x03\x17\x53\x6f\x87\x32\
+\xd9\xe5\x7e\xaf\x94\xe9\x5b\xfe\xf7\xe8\x51\x5e\x02\xc0\xf7\x7d\
+\xaa\x93\xd5\x44\x6c\x9b\xf0\x59\xbb\xa2\xd7\xbd\x42\x4f\x90\x16\
+\x65\x0b\x51\x7f\xa5\x4d\x42\xd1\x5a\x70\x41\xb4\xd6\xe4\x72\x39\
+\x10\x50\x57\x37\x06\x27\xef\x84\x1c\xc7\x30\xca\x6f\x94\x3d\x3f\
+\xc3\x3c\xce\x52\x9c\x27\xc3\x04\x23\xc2\x83\x0f\xfd\x95\x5f\xfe\
+\xe2\xa7\x41\xa6\xb2\x08\xcf\xa2\xe2\x9c\x8d\x94\x22\x19\x12\xef\
+\x42\x98\x6a\xba\xe0\x7a\xa6\x53\x29\x5a\x76\xed\x62\xdc\xb8\x71\
+\x74\x76\x76\x86\x1c\xba\x78\x53\xd7\xdd\x50\x9f\x85\x10\x28\xa5\
+\x88\xc6\x62\xe4\x32\xa9\x92\x48\x9b\x3d\x6f\xdc\x33\x04\x39\xd8\
+\x65\x18\x06\xbe\xef\x05\x9f\xd7\x7b\xd6\xb2\x94\x12\xad\x74\xe9\
+\xe8\x84\x46\xf7\x12\x86\x31\x75\xb5\xb4\xec\xdc\x85\x61\xc8\xd2\
+\xeb\xa5\xe8\x05\x7a\x4f\xad\x9a\xc2\xf9\x3d\xad\x35\x89\x8a\x44\
+\x70\xe0\x33\x9d\xe9\x6d\xe9\x09\x51\xaa\xe1\xd4\x97\x5e\x89\xd8\
+\x11\x1c\x37\x88\x0a\xee\x11\xa0\x40\x5b\x2b\xa5\xca\xb2\x1a\x2d\
+\xcb\x0a\x0e\xc5\x16\x6f\x2f\x0b\xd1\x96\x42\x64\x49\x97\x14\x53\
+\x11\x6f\x33\x41\xe8\xc0\x8a\xe9\x39\x3f\x42\x06\xc9\x9d\x45\x3a\
+\x7b\xcd\x4f\xe0\xaa\xd9\x76\x84\xd6\xd6\xd6\x12\xce\x51\x04\x63\
+\x95\x56\x7d\xea\x55\x4d\x10\x14\xf0\x0a\xa0\xa7\x28\x64\x87\x17\
+\xcd\x67\x3f\x04\x4f\x85\x10\x28\xe5\x53\x59\x51\x41\x2a\x9d\x0a\
+\x8e\x75\xf4\x98\xcb\x5e\x47\x44\xa0\xd7\xb8\x85\x94\xc4\x62\x51\
+\xd2\xe9\xf4\x9e\xe3\x32\x85\xd7\x45\x61\x77\x94\x86\xec\x25\x2b\
+\x4a\x2b\xea\xc7\x8d\xa3\xbd\xb5\x0d\xd5\x13\x3c\xef\xf1\x2c\x0a\
+\xf2\xb0\x37\xcd\x42\x08\xa4\x61\x04\x65\x64\x64\x30\x03\x76\x24\
+\x52\x96\xfc\x42\x20\xab\xb6\x65\x91\xce\xf4\x1e\x77\xcf\xb1\x14\
+\xf9\x55\x4a\x7d\xe9\x47\x66\x94\xd6\xd4\x24\x93\x78\x9e\x47\x2a\
+\x35\x00\xb6\xdb\xe3\x75\x59\x58\x94\x03\xe2\x9f\x85\x28\x59\xf0\
+\xb9\xe0\x68\x97\x21\x0d\x7c\xdf\x0f\x45\x6b\x91\xaf\x55\x55\x55\
+\x74\x76\x76\xf4\x9e\x4b\xb1\x67\x03\x2e\xc9\xb0\x2e\x49\x32\xb6\
+\x6d\x51\x91\x48\xd0\xd6\xd6\xde\x1b\x73\xeb\x11\x85\xeb\xb9\x56\
+\x29\xc8\x45\x65\x45\x25\xa9\x74\xba\xd7\xc6\x19\x04\xc7\x7b\x6e\
+\x64\xbd\xf5\x82\x65\x1a\xf8\x85\x63\x62\x7b\xaf\x4b\xb3\x2f\xa2\
+\xc2\x30\x77\xdb\xd6\xad\x8c\x6b\x68\xa2\xb6\x6e\x4c\xe9\x75\xcf\
+\xf3\xd8\xbe\x7d\x07\xc9\x64\x35\x55\x95\x95\x64\xb2\x59\x2c\xcb\
+\xc2\x34\x83\xc7\x38\x8e\xc3\x7f\x5d\xf6\x21\xee\xfc\xbf\x3b\x7b\
+\xed\x3a\xe9\x74\x9a\xb6\xb6\x36\x62\xf1\x38\x75\x63\xc6\xd0\xda\
+\xda\xca\x98\xb1\x63\x4a\x93\xf0\x87\x7b\xfe\x80\xeb\xb9\x9c\x7b\
+\xce\x39\x44\xa2\xd1\xd2\xf3\x5c\xd7\x25\x95\xea\x66\x4c\xed\x98\
+\x82\x42\x53\x25\x80\x40\x29\xc5\xb3\xcf\x3c\xcd\xfc\xb9\xb3\xfa\
+\x5d\xa4\x61\xb5\xbd\xe7\xfb\xac\x58\xbe\x8a\xc5\x4b\x96\x94\xc6\
+\xd4\xda\xda\x4a\x6d\x6d\x2d\xa0\xe9\x4e\xa5\x89\x44\x22\x18\xd2\
+\xc0\x30\x24\x42\x08\x36\x6c\xd8\x80\x10\x92\x49\x8d\x0d\xc8\x42\
+\x94\xd3\xf3\x3c\x76\xec\xd8\x41\x6d\x6d\x2d\xf1\x78\x9c\x4c\x36\
+\x8b\x6d\x5b\x98\x85\xe8\x9b\x52\x8a\xbb\xef\xbe\x9b\x17\x5f\x7c\
+\x91\x5b\x6e\xb9\xa5\xd7\x1c\xad\x5b\xbf\x9e\xa9\x53\x26\x23\xa5\
+\xd1\x67\x31\xc1\x7f\xff\xf3\x1f\xcc\x9a\x31\x8d\x68\x8f\xf9\x29\
+\x87\x56\xad\x35\x55\x55\x55\xdc\x76\xdb\xed\xbc\xef\x03\x1f\xa0\
+\xb6\xae\xb6\xf4\x7a\xf1\x79\x2d\xbb\x76\x51\x5d\x5d\x8d\xef\xf9\
+\xc4\xe3\xb1\x42\x4a\x08\x74\x77\x77\xf3\xd0\xa3\x8f\xf1\x9e\x73\
+\xcf\xed\x35\xe6\x9d\x3b\x77\x92\xcb\xe7\x69\x9a\x34\x89\x75\xeb\
+\xd6\x33\x6d\xda\xd4\x5e\x29\x11\xe7\x9f\x77\x1e\xdf\xbb\xf5\x56\
+\x1a\x1a\x1a\x4a\xe3\xf0\x7d\x9f\x7c\x3e\x5f\x98\x1b\x9b\xca\xca\
+\x8a\x7d\x14\x88\x93\xcf\x91\xee\x6a\x43\x08\x39\x64\x5a\x0d\xc3\
+\xa0\x65\xf7\x6e\x96\xaf\x7c\x8d\x73\xcf\x39\xa7\xcf\x0d\xcb\xf3\
+\x3c\x76\xb6\xec\x64\xcc\x98\x3a\xd2\xdd\xdd\x44\x62\x51\x2a\x2b\
+\x2b\xfb\xfc\xac\x10\x82\xaf\x7c\xe5\x2b\x4c\x9b\x36\x8d\x4b\x2f\
+\xbd\xb4\x9f\xcf\x40\x2a\x9d\x09\x12\x23\xa5\xa4\xa5\x65\x27\x13\
+\x27\x36\xf4\x3b\x5e\x21\x04\x1d\xbb\x77\xf4\x71\x2f\x5d\x16\xad\
+\x15\x89\x04\x5f\xfb\xe6\xcd\xdc\xf0\xf9\x1b\xb1\x2c\xab\xc7\x5c\
+\x7b\x28\x15\xd4\x43\x6b\x6f\x6f\x23\x62\x47\x89\xc7\xa3\xa5\x4d\
+\xe2\xe5\x97\x5f\xe6\xbe\xfb\xef\xe7\xa6\xaf\x7e\xb5\x17\x5f\x95\
+\x52\x74\x76\x76\x51\x5b\x93\xa4\xa3\xbd\x9d\x64\x0f\x98\x48\x08\
+\xc1\x1d\x77\xdc\xc1\xfb\xde\xf7\xbe\x3d\xeb\x3e\xef\x90\xce\x64\
+\x18\x53\x5b\x43\x3e\x9f\x47\xf9\x3e\x96\x6d\x97\xa2\xff\xae\xeb\
+\xb2\x69\xe3\x06\xc6\x24\x2b\xfb\xd6\x37\x43\xb6\x42\xfb\xc8\xdb\
+\x68\x6e\x6e\x66\xf2\xe4\x26\xae\xbc\xf2\x4a\x1e\x7e\xe4\x11\x16\
+\x2d\x5a\xc4\xb2\x65\xcb\x7a\xe5\x41\x18\x05\x2c\xa8\x67\x9e\xcb\
+\x29\xa7\x9c\x42\x53\x53\x13\xb7\xff\xe4\x27\x5c\x70\xc1\x05\x5c\
+\x73\xcd\x35\xbd\x18\x20\x8d\xe0\xc8\x49\xcf\xfc\xa6\x6c\x36\xcb\
+\xa3\x8f\x3e\x8a\x61\x98\x5c\x7b\xed\xb5\xdc\x7e\xfb\xed\x08\x21\
+\x7b\xe7\xd0\x88\x91\x4b\x80\x93\x3d\x16\x17\xc0\xad\xb7\xde\x4a\
+\x53\x53\x13\x6d\x6d\xed\x5c\x74\xe1\x85\x1c\x7d\xd4\x51\xa4\x52\
+\xdd\xbd\x16\x21\x3d\x92\x15\x8b\xf3\xd3\xd4\xd4\xc4\x55\x57\x5d\
+\xc5\xe3\x8f\x3f\xce\x61\x87\x1e\xca\x2b\x2f\xbf\xd2\x6b\x2e\x64\
+\x21\x7c\xdd\x73\x8e\x76\xee\xdc\x89\xe7\xba\x14\xab\x08\x14\x4b\
+\x64\xf4\xfc\xde\x48\xb9\x18\x45\x25\xdb\x33\x37\xe7\xbe\xfb\xee\
+\x63\xc9\x92\x25\x7c\xee\xfa\xeb\x39\xe6\xe8\xa3\xb9\xf6\xda\x4f\
+\x95\xac\x85\x3d\xb9\x46\x62\x1f\xbe\xce\x9b\x37\x8f\xdf\xdc\x75\
+\x17\x9b\x36\x6d\xa2\xb9\x79\x5b\x10\x91\xea\xf1\xbe\x69\x59\xfb\
+\xe4\xc9\x64\xb3\x59\xfe\xf9\xf8\xe3\x7c\xfc\x63\x1f\x23\x59\x5d\
+\xcd\x53\x4f\x3e\xb5\x2f\xad\x23\xe6\x49\x05\xe7\x4c\x7b\x8e\x5b\
+\xec\xc5\xaf\x99\x33\x66\xf2\xdb\xdf\xfc\x86\x8e\xce\x4e\x36\x6c\
+\xd8\x50\x2a\xab\xd3\x57\xbe\x56\x11\xf7\xec\xeb\x7e\x45\x49\x7a\
+\x7a\xe9\x52\x76\xec\xd8\xc1\x49\x27\x9d\xc4\xa4\x49\x4d\x05\xf7\
+\xb4\xff\x1c\xb0\x91\xa0\xb6\xa7\x45\xd6\xf3\xa7\xbb\x3b\x45\x2a\
+\x95\x62\xc5\x8a\x15\xbc\xfa\xea\x8a\x42\x74\xb4\xb7\x2c\x5a\x7b\
+\xc9\xe2\xf3\xcf\x3f\xcf\xc4\x89\x13\xf9\xc3\x1f\xee\xe1\xfc\xf3\
+\xcf\xe7\xfa\xcf\x7d\x6e\x1f\xbe\x4b\xd9\x5b\x86\x5e\x7f\xe3\x75\
+\xa6\x4e\x9d\xc2\x37\xbf\xf9\x4d\xee\xbe\xfb\x6e\xa6\xcf\x98\xc1\
+\xf2\xe5\xcb\x7b\x7f\x6f\x00\xf9\x35\x07\xf2\x29\x7b\x2a\xa1\x30\
+\xae\x51\x75\x75\x35\x5f\xfe\xf2\x97\x39\xeb\xac\xb3\x98\x3c\x79\
+\x32\x0f\x3e\xf8\x60\xe9\x90\xe0\x40\xd7\x6d\xb7\xdd\xc6\x03\x0f\
+\x3c\xc0\x17\xbe\xf0\x05\x5e\x78\xe1\x05\x16\x2e\x5c\x38\xa8\x5f\
+\x5b\x3c\xf9\x9e\xcf\xe7\xf9\xee\x77\xbf\x3b\x24\x5f\xb8\xe7\xe7\
+\x07\x2a\x91\xdb\xd7\x75\xf8\xe1\x87\x73\xe3\x8d\x37\xe2\xba\x2e\
+\xbf\xfe\xf5\xaf\x69\x69\x69\x09\x92\xfe\x06\x18\x43\x75\x75\x35\
+\x37\xdd\x74\x13\xe7\x9d\x77\x1e\x63\xc7\x8e\xe5\xa1\x87\x1e\x62\
+\xd2\xa4\x49\x83\x8e\xd3\x75\x5d\x66\xcf\x9e\xcd\x4b\x2f\xbd\x84\
+\x57\xc8\x3f\x19\x2a\x9e\x33\x94\xc0\xc8\xa9\xa7\x9e\xca\x71\xc7\
+\x1d\x47\x5b\x5b\x1b\x91\x48\x84\x89\x13\x27\x12\x8d\x46\x07\x1d\
+\xc3\xcd\x37\xdf\x4c\x73\x73\x33\x3b\x77\xee\x64\xc9\x92\x25\xac\
+\x59\xb3\x86\x39\x73\xe6\xf4\x39\x96\xe2\xbd\x62\xb1\x18\xa7\x9d\
+\x7e\x3a\x55\xd5\xd5\x5c\x71\xc5\x15\x1c\x75\xd4\x51\x43\xc6\x3d\
+\xcb\xe5\x69\x7f\xf2\x7c\xfc\xf1\xc7\x33\x65\xca\x14\x1e\x78\xe0\
+\x01\x6a\x6b\x6b\xfb\x95\xe9\xfe\x9e\x57\x1c\x4f\x2a\x95\xe2\xe8\
+\xa3\x8f\x26\x91\x48\x70\xe7\x9d\x77\x72\xf7\xdd\x77\x97\x36\xa4\
+\x91\xc4\xc3\xc2\xf2\xb8\xb8\x69\x2c\x5f\xbe\x1c\xad\x35\x47\x1c\
+\x71\x44\xbf\x25\xbe\x8b\x7f\x2f\x5a\xb4\x88\x8d\x1b\x37\x12\x8d\
+\x46\x59\xb4\x68\x11\x87\x1c\x72\xc8\xa0\xcf\xa9\xad\xad\xe5\x37\
+\xbf\xf9\x0d\x67\x9c\x71\x06\x1d\x1d\x1d\x2c\x5c\xb8\x90\x59\xb3\
+\x66\x85\xe6\x83\xd9\x1f\x13\x8b\x65\x71\x8b\x6e\x5a\x34\x1a\x0d\
+\x0e\xfb\x1a\x46\x69\xa1\xec\x5d\xcb\x3b\x99\x4c\xf2\xc5\x2f\x7e\
+\xb1\xf4\x7f\x4d\x4d\x4d\x28\xe1\x58\xb0\x60\x01\x0b\x16\x2c\x00\
+\x60\xe1\xc2\x85\xfb\x7e\x56\xec\xfb\xac\x44\x22\xc1\x59\x67\x9d\
+\xd5\xef\xfd\x85\x10\x7d\xe3\x0c\x7d\xd0\x29\x84\x20\x62\xdb\x25\
+\xb7\x50\x08\x51\x28\x47\xe1\xee\xf1\xfb\xf7\xba\xd5\x99\x67\x9e\
+\x09\x05\x2c\xa8\xb2\xb2\x92\xba\xba\xba\x5e\x63\xe8\xcb\xc2\x49\
+\x26\x93\xdc\x78\xe3\x8d\xfd\xce\x8f\xec\xe7\x50\x71\x71\x51\x1c\
+\x7a\xe8\xa1\x65\x2f\xb4\xbe\x16\x4b\x2c\x16\x23\x9b\xcd\x06\x3b\
+\xa5\x65\xa1\x7c\x1f\xbf\x80\x05\x68\x7a\x2b\x1e\xc3\x30\xa8\xac\
+\xac\xa4\xb2\xb2\x92\x71\xe3\xc6\xf5\x39\xdf\xfd\xd5\x74\xbf\xec\
+\xb2\xcb\x7a\xfd\xdf\x53\x41\xed\xfd\xbd\x9e\xd6\x08\xc0\xe2\xc5\
+\x8b\xfb\xe5\x59\x90\xfd\xdf\xbf\x91\x51\xe4\xab\x61\x48\x2c\x2b\
+\xc8\xed\x29\x46\x3c\x6d\xdb\x0e\x82\x0a\x21\xe6\x31\x99\x4c\xf2\
+\xd9\xcf\x7e\xb6\xf4\xff\xb9\xe7\x9e\x3b\xa8\x3c\x0d\xf4\x7a\x90\
+\x61\x1f\x5c\x53\xa6\x4c\xe1\xfa\xeb\xaf\x1f\x31\x05\x25\xa5\x24\
+\x1a\x0d\x70\x41\xab\x60\xa1\xa2\x35\x5e\x0f\xbc\x6f\xef\xf1\x8d\
+\x1f\x3f\x1e\x80\x8b\x2f\xbe\x38\x14\x4d\xc5\xbf\x8b\x90\xc2\x40\
+\x0a\xaa\xe7\xf7\x1a\x1a\x1a\x4a\x2e\x7d\x32\x99\x24\x99\x4c\xee\
+\xcb\x53\x86\x60\x49\x59\x96\xc5\xb2\xe5\xaf\x62\x1a\x06\x73\xe7\
+\xce\xe1\xc9\xa7\x96\x32\x73\xe6\x0c\x9a\x9b\xb7\xb3\xe0\xa0\xf9\
+\x18\x52\x06\x19\xc7\x42\x86\xb6\x48\x5d\xc7\xc5\x71\x1c\x94\x52\
+\x74\x74\x74\x84\xfa\x5e\x2c\x1a\x23\x9d\x4a\xe3\xba\x2e\xed\xed\
+\xed\x44\x22\x91\x50\xa7\xdd\xb5\xd2\xe4\xf2\xb9\x41\x5d\xbe\x20\
+\x43\x3c\xcf\xab\x2b\x56\x52\x37\xa6\x16\x84\x20\x9b\xc9\xd2\xd6\
+\xd1\xce\x94\xa6\x26\xea\xea\xea\xd0\x1a\x32\x99\x2c\xdd\xdd\xdd\
+\x41\xe2\xe9\x60\x2e\x93\x34\x02\xfa\x0a\xca\xd4\x30\x64\xa8\x38\
+\xa2\x56\x8a\x74\x2a\x4d\x2e\x97\xc3\x71\x1c\x52\xe9\x54\x38\x50\
+\xdf\xb4\x4a\x05\xd9\x06\xc3\x12\xd3\xe9\x34\xff\x78\xfc\x9f\x1c\
+\x73\xf4\x51\x74\x75\x75\xb1\x65\xeb\x36\xaa\xab\xab\x48\xc4\x13\
+\xcc\x9c\x39\x03\xd3\x34\xe9\xec\xec\x0a\xce\x7b\x86\x18\xb5\x20\
+\xb0\x10\x52\xa9\x14\x99\x4c\x26\x98\xf3\x30\x56\x4a\x55\x35\xf9\
+\x7c\x9e\x54\x2a\x45\x7b\x7b\x7b\xe8\x0a\x06\x22\x00\xef\x06\xad\
+\x12\x21\x85\xa0\xad\xad\x9d\xb5\xeb\xd6\x33\x73\xe6\x0c\x76\xee\
+\xd8\x41\x6d\xed\x18\x56\xaf\x79\x8d\x85\x87\x1d\x42\x22\x91\x40\
+\x6b\x45\x67\x67\x27\xe9\x74\x9a\xbc\x33\xbc\xdc\xb9\x44\x3c\x41\
+\x2e\x97\x25\x93\xc9\x8c\xc8\xfd\x82\x80\x50\x90\x9d\x2b\x07\xb1\
+\x8e\x8a\x56\xda\xdf\xff\xf1\x4f\x4e\x79\xe7\x89\xac\xdf\xb8\xb1\
+\xa4\x98\xc7\x8d\x1d\x47\x22\x1e\xc7\x75\xdc\x20\x1a\x18\x32\x17\
+\xd2\x90\x06\xe9\x74\x9a\x4c\x26\x43\xde\x09\xea\xb6\x87\xb9\x62\
+\x91\x28\xd9\x5c\x96\xb6\xf6\xb6\x50\x67\xf7\x04\xe0\xba\x5e\x80\
+\x2d\x27\xfb\x2e\x00\xd9\xaf\xad\x59\x91\xac\xe5\x27\x3f\xfd\x19\
+\x6b\xdf\x58\xc7\xd3\x4f\x3c\xce\x6b\xaf\xbf\xce\xc4\x89\x13\xd8\
+\xb2\x65\x0b\x87\x1e\xbc\x80\xaa\xaa\x6a\x52\xd9\x2c\x6d\xf9\x6c\
+\xe8\x89\xf7\x3c\x9f\xa6\xc6\x06\xda\x5b\x5b\x68\x6b\x6b\x0f\x05\
+\x19\x99\xa6\xc5\x94\x49\x0d\x6c\xdf\xb1\x83\xb6\xdd\x2d\xd8\xb6\
+\x15\x3a\xa2\x59\x9b\xac\x1a\x38\xeb\xbd\x00\xa0\x6e\xde\xb2\x85\
+\x1b\xbe\xf0\x45\x3e\x73\xed\xa7\x98\x30\x61\x1c\xbb\x76\xed\x66\
+\xd3\xe6\xcd\xd4\x26\x93\xd4\xd5\xd5\x21\x04\xd4\xd6\x54\xd1\xb2\
+\xa3\x39\x54\xc6\xb5\x94\x92\x6c\x3a\x38\x48\xda\xb6\xbb\x05\x19\
+\x52\x30\xb4\x86\x49\x8d\x13\x78\x63\xed\x6b\xec\xde\xb9\x9d\x4c\
+\x36\x64\x39\x0e\x21\x19\x37\xb6\xbe\x70\x04\x63\x20\x65\x66\xf2\
+\xcf\x7f\x3f\xc1\xa6\x4d\x9b\xa9\xaf\xab\x23\x9e\x48\xf0\xc6\xda\
+\xb5\x34\x4c\x9c\x48\xdd\x98\x31\xb8\xae\xcb\xc2\x85\x87\x91\xcb\
+\xa4\x70\xf3\xe1\x4b\x81\x64\xb3\x39\x84\xf6\x69\xdb\xb5\x33\xb4\
+\x92\xca\xa7\x53\x4c\x69\x9a\x84\x9b\xcf\xd0\xba\x6b\x27\xe5\x14\
+\x71\x8b\xd8\x36\x55\x95\x15\xfd\x46\xb7\xb4\xd6\x48\xc3\xa0\xad\
+\xbd\x9d\x27\x9f\x7c\x8a\x69\x53\xa7\xf0\xf4\x33\xcf\xf1\xc7\x07\
+\xfe\x1f\x27\x9f\x74\x22\xcb\x96\x2f\xe3\xd3\x9f\xfa\x24\xb1\x68\
+\x94\x86\x09\xe3\x68\xd9\xb1\x6d\x58\xc7\x73\x00\xb2\xb1\x38\x75\
+\xb5\x35\x24\x62\x11\x76\xb7\xec\xc0\x75\x9d\x61\x5b\x48\xbe\xaf\
+\xa8\x1f\x53\x13\x6a\xa3\x4d\xa7\xd3\x3c\xf8\xd0\x43\xbc\xeb\xb4\
+\x53\xb8\xea\xea\x6b\x98\x31\x63\x3a\x3b\x5b\x76\xf1\xf1\x8f\x5d\
+\xc3\x29\x27\x9d\xc8\x11\x47\x2c\xa4\xb3\xbd\x35\xd4\xe9\x88\xa2\
+\x05\xad\x3c\x87\x8a\x78\x94\xdd\x3b\xb7\x93\xcd\x86\x5b\xe7\x91\
+\x48\x84\xca\x78\x8c\xf6\xdd\x2d\xfd\x7a\x06\xfb\x44\x46\x95\xc2\
+\x34\xfa\x3f\x68\xde\xaf\x54\x7b\xb9\x0c\x4b\x8e\x39\x86\xf9\x07\
+\x1e\x48\x3e\x9f\x67\xd2\xa4\x49\x44\xa3\x51\xc6\x8d\x1b\x8b\xe7\
+\xfb\x44\x63\x51\x22\xd1\x48\x59\xc2\xe5\xfb\x8a\x39\xb3\x66\x50\
+\x55\x11\x47\x68\x15\x4a\x49\x69\x0d\x87\x1c\x7c\x10\xd1\x35\x36\
+\x63\x6a\xaa\x43\x2b\x29\x00\x39\xa6\x66\xd0\x6e\x2c\x5a\x6b\x92\
+\xc9\x24\x67\x9d\x71\x1a\xe3\xc7\x8d\x25\x11\x4f\xa0\xc6\x04\x47\
+\x22\xe2\x89\x44\x89\x61\xd3\xa7\x4d\x45\xf7\x55\xc8\xaf\x4f\xa1\
+\x91\x88\x82\x32\xab\xaa\xaa\x0a\xad\xa4\x40\x90\xac\x9a\xc7\xea\
+\xd5\xab\xa8\x4d\x56\x11\x8b\x86\x57\xc8\x46\x21\x24\x3f\x10\x4e\
+\xe4\x2b\xc5\xf4\xa9\x53\x11\x40\x5d\x7d\x1d\x42\x08\x1a\x1b\x1a\
+\xa9\xad\xad\xa1\xb2\xaa\x12\xc7\x71\x98\x3d\x6b\x56\x99\x55\x2e\
+\x05\xb9\x58\x8e\xf1\xe3\xc6\x52\x93\xac\xc2\xc9\x47\x42\xcd\x51\
+\x34\x12\x65\xee\x9c\x59\x8c\xa9\x49\x12\x89\x94\x27\x47\xc5\xbc\
+\x9f\xc1\xdc\xf8\x8a\x44\x05\xf3\xe7\xcf\x63\xcd\x6b\xaf\x33\x6e\
+\xdc\x58\xde\x7b\xfe\x7b\xa8\xa9\xad\xa1\x26\x59\x83\xe7\x79\x54\
+\x54\x24\x58\x78\xe8\x82\x20\x05\x62\x98\x99\xea\x91\x68\x84\x69\
+\x53\x27\x53\x93\xac\xa1\x36\x59\x59\x82\x44\x86\xe7\xc6\x85\x73\
+\xeb\x8b\x25\xba\x0f\x39\xe4\x60\xd6\xaf\x5b\xcf\xc5\x17\x5d\x58\
+\xea\x58\xd4\xd8\x30\x91\x4c\x36\xcb\xe2\x63\x8e\x2a\x2b\xa9\x57\
+\x4a\x83\x7c\x2e\x4b\x63\x63\x03\x35\xd5\x55\xc4\xa3\x76\xa8\x79\
+\xb0\x6c\x9b\x49\x0d\x13\x19\x53\x93\x2c\x4b\xee\x07\xc2\xd2\xfa\
+\x55\x52\xa9\x54\x8a\xd3\x4f\x7b\x17\xb6\x6d\x93\xcd\xe5\x98\x33\
+\x7b\x16\x15\x89\x04\x4d\x4d\x4d\xa5\x7a\xcf\xfb\x54\x17\x18\x74\
+\xf1\x6a\x54\xc1\x7f\xee\x0f\xc7\xe8\x2b\x6c\x5b\xcc\x69\x0a\xbe\
+\x23\xcb\x91\x9d\x41\x77\x20\xa5\x14\xf5\x75\x75\xfc\xd7\xa5\x97\
+\x94\x6a\x5a\x57\x54\x56\x50\x5b\x53\x43\x65\x65\x45\x2f\x89\x09\
+\x5b\x88\x6e\x1f\x6c\xac\x8c\x31\x2b\x5f\xf7\x38\xd5\x1f\xf6\x79\
+\xe1\x00\x71\xcf\xf3\x98\x3b\x77\x36\xf1\x78\x9c\x09\xe3\xc7\x93\
+\xcd\x66\x99\x35\x73\x3a\xb6\x1d\xc1\xb2\xcc\x92\x65\x52\x3e\x5f\
+\x7b\xe0\x4a\x61\xf9\x2a\x65\xa9\x96\x76\xb9\xcf\x0b\x13\x00\x08\
+\x36\x9f\x6a\x0e\x39\xf8\x60\x3c\xcf\xc3\x34\x4d\x26\x4e\x1c\xcf\
+\xfa\x0d\x1b\x99\x3a\x79\x32\xb9\x02\x68\xac\xcb\xe0\xeb\x40\x3e\
+\x4b\xf1\x5e\xba\xb8\x49\x89\xe1\x1f\x59\x29\x07\x76\x8c\xc7\xe3\
+\x9c\xf0\x8e\xe3\xa9\x49\x26\xb9\xec\xfd\xef\x23\x93\xcd\x60\x99\
+\x56\x21\x9f\x31\xd8\xa8\xcb\xa1\xb3\x88\x13\x95\xb3\xee\x8a\x78\
+\xe6\x50\xd6\xea\x40\xa0\xff\x80\xc0\x79\x3c\x1e\x2f\x31\x7c\xfc\
+\xd8\xb1\xe8\x82\x39\x37\xec\x9e\x62\x6f\xe2\xc9\x9b\xb0\xe3\xdc\
+\x27\xbf\xa8\xaa\x37\xd8\xfc\x66\x5f\x7a\x88\xcf\x1e\xec\xf3\x4a\
+\x69\x9a\x9a\x26\x15\x2a\x49\xc6\x88\xf5\x68\xa7\x35\xe4\x88\xe1\
+\x90\x22\x51\x7a\x58\xa2\x30\x58\x14\xab\x18\xf8\xa9\xad\xb5\x7b\
+\xb9\xa5\x0d\x13\x27\x96\x14\xd4\x88\xf1\xaa\x8f\x71\xbc\x99\x72\
+\x53\xec\x8d\xd8\x30\x71\x22\x5a\x6b\x3c\xcf\xc3\x2e\x94\xc8\x2e\
+\x2a\xa8\x72\xc6\xb3\x87\x1e\xfd\x96\xd0\xb3\x8f\x55\x17\xd6\x1a\
+\xd0\x43\x58\xf8\x6f\x87\x4b\x84\xf0\xf7\xff\xd3\x68\x1d\x6e\x68\
+\xfe\xed\xca\xd7\x37\xa3\xeb\xee\xfe\xc6\xd7\x91\xce\xa3\xdb\xaf\
+\x94\xd4\xde\xf9\x11\x7b\xbf\x37\xac\x83\xc8\x62\x64\x15\xc9\x48\
+\xef\x82\x23\x41\x6b\xb1\x80\x57\xd9\x43\x1f\x45\x59\x0a\x43\xeb\
+\x9b\xc0\xce\x37\xcd\xba\x18\x0d\x5a\xf7\x47\xe5\x3e\xd2\xb4\x8e\
+\x64\x22\xe9\x48\x5c\xe6\x40\x03\x2d\xe6\x93\x44\x22\x11\x9c\xbc\
+\x83\x69\x99\xa5\x9c\x0c\x00\xc7\xf5\xcb\xaa\x53\xe4\x2b\x1f\xcf\
+\xf5\x71\x1c\x1f\xd7\x09\x0f\x56\xca\xbd\xce\x07\x8d\xf4\x2e\x14\
+\xf4\x16\x73\x30\x4d\x03\x43\x1a\x78\xca\x47\x16\x7a\xe5\xc9\x02\
+\x76\xe2\xba\x5e\x68\xa6\x49\x21\x71\x1c\x0f\x84\xc0\x71\x7c\x84\
+\x50\x21\x17\xbb\xc0\x71\x47\xaf\xed\x7a\xd0\x6d\x59\x91\xcb\x65\
+\x89\xc5\x62\x25\xd7\xc0\xb4\xac\xa0\x23\x8c\x14\x78\x9e\x87\x2a\
+\xb3\x13\x96\xe3\x78\xa1\xce\x07\xbe\xd9\x97\xe7\x79\xa5\xd6\x4b\
+\x5a\x69\x22\xd1\x48\x50\xf1\xc3\x71\x88\xc7\x62\x05\xbe\xaa\x11\
+\x39\x98\x20\x84\x81\xeb\xaa\xb7\xa4\x8a\x48\xb1\x8b\x76\x36\x97\
+\x23\x1a\x89\x94\x0a\xe2\xe5\x72\x39\xa2\xd1\x68\xa9\xa1\x89\xd6\
+\xe1\x09\x35\xa4\x81\xeb\xf9\x43\xa2\xc7\xf7\x15\x8e\xe3\x23\x0b\
+\x18\xaa\x68\x00\x00\x20\x00\x49\x44\x41\x54\xa5\x2a\x83\x06\xfa\
+\x8d\x4e\x9b\x7d\xe3\x16\x8a\xda\xb1\x13\x39\xf3\xcc\xd3\x79\x7a\
+\xe9\xd3\xec\x6e\xd9\xce\xf7\x6e\xfd\x3e\xf3\xe7\xcf\xe7\xb5\xd7\
+\x5f\xe7\x43\x97\x7f\x80\x8e\x8e\x56\x1e\x7e\x6c\x1d\xbb\xdb\xc3\
+\x9f\x3a\x57\xbe\xcf\x53\x4f\x3e\x8b\xb2\x0e\x24\x93\x4e\x87\x3e\
+\x99\xef\xe4\xdb\x99\x37\xa7\x8a\xe9\x23\xbc\x78\xb5\xd6\x98\x86\
+\xc1\xf2\x57\x57\xf0\x5f\x1f\xb8\x82\x1f\x7c\xef\x16\x0e\x3d\xe4\
+\x60\xbe\x75\xf3\x2d\x98\x96\xc5\x7b\xce\x79\x37\xf3\xe7\xcd\xc3\
+\x71\x3c\x7e\x7f\xdf\x52\x14\xd5\x08\x11\x22\x77\x48\x48\xba\xbb\
+\x5a\x0b\x07\x86\x93\x65\x29\x1d\xe5\x75\x90\xac\x1c\x9d\xf6\xdc\
+\x91\x48\x84\x9f\xfe\xfc\x0e\xea\xea\xc6\x50\x5b\x53\x43\x32\x59\
+\xcd\xe5\x1f\xbc\x9a\xaf\xdd\xf4\x65\xaa\x2a\x2b\x79\xc7\x71\x8b\
+\xf9\xc7\xe3\xff\x66\xe5\x1b\x0a\x8d\x51\x86\x92\xca\xa3\xbd\xed\
+\x9c\x70\xfc\x62\xf2\x6f\x55\xad\xae\xbd\xf8\x6a\x18\x06\x5b\xb6\
+\x6c\xe5\x1f\xff\xfc\x17\x07\xcd\x9f\xc7\xcf\x7e\xf1\x4b\x3e\xf5\
+\xf1\x8f\x12\x8d\xc7\xb8\xed\xb6\x9f\xf0\xc3\x5b\xbf\xcb\xe6\xad\
+\x3b\xb9\xeb\x9e\x67\x48\x56\x8f\x45\x33\x3c\x25\x6b\x9a\x36\xcb\
+\x5e\x59\xc1\x39\x67\x2c\x2c\x23\xaa\x35\x72\x4a\xaa\xbd\xa3\x83\
+\xdb\x7e\x7c\x3b\x1f\xbc\xfc\x32\xae\xfa\xc8\xc7\xb9\xe5\xdb\xdf\
+\xe0\x8a\x2b\xaf\xe6\x8b\xff\x7d\x23\xe7\x9f\x7b\x36\x77\xfe\xee\
+\x61\xda\x3a\x63\x65\xdc\x53\x92\x4e\xb5\x50\x1d\x4f\x95\x45\x8f\
+\x65\x19\x3c\xf1\xf4\x1b\x2c\x5b\xad\x42\xe7\x64\x29\xa5\xa9\xab\
+\xb5\x78\xcf\x59\x07\xe3\x38\x2a\x9c\x92\x12\x42\x80\x97\xe5\xa4\
+\x77\xbc\x83\xba\xda\x31\x38\xf9\x3c\x0b\x0e\x3a\x88\xaa\xaa\x2a\
+\x1a\x1b\x1a\x02\xad\x9d\xe9\xa6\x6e\xfc\xe1\x54\x8e\xa9\x0a\xad\
+\xa4\x7c\x1f\x5e\x7d\xf5\x59\xa6\xcf\x3e\x8e\xee\xae\x90\xae\x90\
+\x80\x7c\x66\x27\xb6\xbd\x92\xd1\x40\xdc\x55\xe1\x60\xed\xbb\xcf\
+\x3a\x93\xa9\x53\xa6\x50\x51\x51\xc1\xa1\x87\x1c\x8c\xeb\x79\x54\
+\x56\x16\xf2\xac\x84\x89\x1d\x9f\x4d\xe3\xa4\x43\x08\x63\x30\x08\
+\x09\x6d\xad\xbb\x10\x40\x75\xb2\xbe\xac\x9d\x3a\x9f\xd9\x48\xe7\
+\xae\x7b\x47\x45\x98\x95\x52\x34\x36\x4c\xe4\xa8\x23\x8f\x64\xf3\
+\x96\xcd\xd4\xd6\xd6\x72\xf2\xc9\x27\x31\x66\x4c\x2d\x89\x78\x1c\
+\x21\x05\xcd\xdb\x9b\x69\x98\x7c\x29\x96\x15\x5e\xa0\xb3\x59\x87\
+\x1d\x5b\x1f\x46\x6b\x9f\xfd\xe1\x2a\x5a\xc7\xb5\xb5\xb5\x1c\x73\
+\xf4\x91\x4c\x9b\x3a\x95\x53\x4f\x79\x27\xc9\x64\x12\x3b\x62\x73\
+\xca\xc9\xef\xc4\xf5\x1c\x6c\x3b\xc1\xf4\x99\xa7\x52\x59\x5d\x3f\
+\x6c\xd1\xb2\x6c\xd8\xb9\x3b\x57\x6a\x56\xfa\x66\x2b\xe5\x8a\x44\
+\x82\x73\xce\x3e\x8b\xba\xba\x3a\x8e\x3a\xf2\x08\x1a\x1a\x26\xf2\
+\xa1\x2b\x3e\xc0\x8c\xe9\xd3\x70\x9c\x1c\x63\xc7\xcd\xa4\xba\xfe\
+\xa0\xf0\x38\x90\x84\x96\x96\xd5\xb4\x6c\xba\xb3\xcc\x28\x9d\x22\
+\x96\x98\xc6\x94\x19\xa7\x87\x6e\x83\xa8\x34\x54\xc4\x52\x28\xd5\
+\x15\xde\x92\x0a\x4e\xf9\xb7\xf1\xd1\x6b\x3e\x8c\x11\xb1\x69\x6b\
+\xd9\xc5\x51\x47\x1e\x81\xef\xfb\xcc\x3b\xf0\x80\xa0\x64\x89\x10\
+\x28\x15\x9c\xa2\x0e\x6b\x29\x28\xdf\x05\xad\xf0\x15\x28\x15\x1e\
+\xaf\x51\xca\x2d\x60\x43\x43\xf3\xaf\x07\x02\x8a\x95\x52\xcc\x98\
+\x3e\x95\xef\xdf\xfa\x5d\x52\x5d\x9d\xb8\xae\xc7\xa5\x97\x5c\x1c\
+\x98\xcb\xf9\xfc\x9e\x7c\x17\xe5\xe0\x79\x0a\xad\xbc\x10\x4a\x4a\
+\xa2\xfc\x34\x20\xf0\xbc\x5c\xe9\x10\x6b\x38\x5a\xf3\xbd\xdc\xca\
+\x72\xe8\x1d\x8c\x0f\x8e\xe3\x70\xc6\xe9\xa7\x92\xcb\xe5\x99\x3f\
+\x6f\x1e\xbe\xef\xf3\xfd\x5b\x6f\x21\x93\x4a\x97\x5c\x5a\x29\x0d\
+\x7c\x2f\x8b\x14\xe1\x2d\x29\xdf\x4f\x83\x76\x87\xb8\xc2\x86\x8b\
+\x9b\xf4\xbf\x70\x2b\x2b\x2b\xa8\xa9\x99\x8b\xeb\xba\x5c\x54\xe8\
+\xe8\x82\xd6\x9c\x7e\xda\xa9\x64\xb3\x99\x42\xca\x89\x83\xf2\x87\
+\xab\x24\xc0\xf0\x29\xc8\x86\x35\xa2\xb8\x57\x39\x79\x52\x0b\x0f\
+\x0b\xda\x50\xdd\xfc\xed\x6f\xd0\xd9\xd1\xc1\xc7\xae\xf9\x08\x99\
+\x6c\x16\xd7\xf3\x50\xca\xc5\xf7\x9c\x50\x85\x44\x35\x41\x9e\x94\
+\xf2\xbd\x00\xda\xd1\xe5\xce\x87\x8b\xef\x65\xd1\xd2\x08\xa9\xa4\
+\x34\xca\xcf\xf6\x3b\x2e\x73\x20\x73\xb9\xab\xab\xab\xa0\x55\x65\
+\x09\x9f\x72\xdd\x62\xd7\x16\x8d\x10\x66\x79\xc8\xb0\x30\x40\x48\
+\x94\x1f\x28\xa9\xb0\x98\x94\xc6\x20\x1a\xb5\xa9\x88\x47\x30\xcb\
+\xe8\x3e\xec\x2b\x45\x36\x9b\xef\x55\x4f\x6a\x6f\x3a\x85\x10\xb8\
+\xae\x47\x7b\x6b\x6b\x49\x28\xf6\xb4\xb2\xa6\x47\x5d\x23\x0f\xad\
+\xf2\xa8\x10\x4a\x4a\x22\xd1\xda\x01\x64\xf0\x9d\x72\x72\xbb\xb4\
+\x47\x34\x1a\x21\x1a\x8f\x20\x45\xb8\x49\x0a\x0a\xe0\x7b\x78\xbd\
+\xf2\xd7\xfa\x16\xf8\x4c\x26\x5b\x52\x58\x00\xed\xad\x6d\xa5\xf7\
+\x4b\x89\xb2\xda\x2b\x28\xcb\x90\x63\x56\xf9\x5e\x65\x72\xc2\x2a\
+\x27\x21\x04\x89\x78\x84\x68\x34\x52\x06\xb4\xa9\xf1\x7c\x45\x2e\
+\xe7\xf6\xdf\x60\xb8\x30\x07\x4a\xa9\x52\x95\x81\x54\x6a\xcf\xb1\
+\x8e\xa0\x19\xc4\x68\xb8\x64\x82\x68\xc4\x26\x11\x8f\x60\x99\x72\
+\xd8\xc0\xb3\x94\x90\x4a\xe7\x07\x9d\x9b\x22\xbf\x8b\x75\xcf\xdb\
+\xdb\x02\x9e\x76\x16\xd6\xaf\x6d\x1b\x80\x42\x6b\x17\xad\x55\xb8\
+\x23\x5a\x98\x43\xb4\x2e\x05\xe0\xa1\x95\x83\x0a\x59\x64\x25\x30\
+\x40\x8a\x98\x6f\x19\x19\xe7\xfd\x59\x21\xa5\x05\x20\x2c\x3c\x67\
+\x2b\x6e\xce\x2a\x43\x69\xf8\x78\x5e\x17\x0d\xe3\x1c\xda\xac\xd6\
+\x50\xbb\x84\x69\x58\x34\x37\x6f\xe2\xd9\xe7\xd7\xb0\xb5\x39\x8b\
+\x69\x5a\xa1\xe6\x4e\x00\x95\x15\x82\xc5\x47\x1f\x80\xe7\xa9\x50\
+\xd6\x56\x5f\x87\x29\x8b\x80\xb6\x94\x36\xd2\x88\x81\x18\x7c\xdb\
+\x95\x42\x22\x44\xb4\x50\x9c\x2d\x5e\x5e\x32\xa7\x36\x78\x72\xe9\
+\x6a\xaa\x6a\x5e\x21\x9f\xcf\x0d\x2a\xe7\x02\x70\x3d\xc5\x81\x73\
+\x6a\x69\x6a\x1c\x37\xe8\x51\x84\xbe\xe6\x7c\x1f\x05\x2e\x6d\xa4\
+\x11\x2f\x63\x31\x29\x84\x30\xca\x72\xc7\x85\x94\xa4\xd2\xdd\xfc\
+\xf9\xe1\x57\x31\x0b\x5d\x56\xc2\x2e\x81\x71\x63\x2b\x39\xec\xe0\
+\x26\x5c\xd7\x0f\x6d\x45\xef\xfd\xf7\xc8\xbb\x98\xa0\xfc\x0c\x4f\
+\x3e\xd3\xcc\xee\xf6\xa0\x53\xcc\x70\x74\x94\x00\xd2\x59\x97\x33\
+\x4e\x3e\x10\xcb\x32\x42\x29\xf1\x12\x5d\xbd\xaa\x40\x14\x17\xbe\
+\x81\x90\x91\x41\x0f\xdd\xef\xe1\xa9\x44\x88\xa1\x20\x2c\x1a\x21\
+\x2c\x84\x11\x43\x86\xb4\xa4\x82\xb5\xe7\x02\xf9\xf2\xdc\x3d\xa5\
+\x14\xb6\x6d\xe3\xfb\x1e\xbe\xaf\x88\xc7\xe3\xc1\xa1\x45\xc3\xc0\
+\x71\x5d\xd0\x3e\x86\x39\x16\x33\x92\x0c\xcd\x0b\xe1\xbb\x38\x8e\
+\xe4\xa0\x03\x6d\xf2\x4e\x7d\xa8\xef\xd9\xb6\xc9\x9f\xfe\xf4\x2f\
+\x72\x6e\x1d\x58\x47\xa0\x4d\x2b\x34\xe1\xad\x1d\xab\x91\x62\xe0\
+\xbc\xa0\xe2\x7b\xa6\x69\x96\x14\x95\x94\x12\xc3\x90\x7b\xb5\x5c\
+\x92\x85\xcc\xe2\x10\x13\x2f\x01\x11\xb4\x32\x12\xc2\x2c\x73\x51\
+\x98\x28\xd9\x88\xb6\x8e\x02\x9d\x09\x21\x12\x20\x0d\x93\xd6\xb6\
+\x97\x69\x98\xe0\x21\xa5\x3d\xe0\x9c\x40\x70\xe8\x39\x9d\x4e\x63\
+\x9a\x26\xa6\x19\x64\x9a\x17\x4f\x11\x04\xf3\x62\x84\xa3\xb3\xa4\
+\x70\x2c\xca\x2d\x4d\x26\xa5\xa4\xad\x75\x07\x63\x9b\x66\x83\x55\
+\x57\xde\x32\x30\x5c\x04\xe9\x7e\x2d\x95\x22\x5f\xa5\x94\x41\x64\
+\xda\x09\x22\xb7\x8e\xe3\x12\x8f\xc7\x49\xa7\xd3\x41\x65\xd8\x91\
+\x35\xa2\x70\x9c\x6e\xbc\xe8\x04\xb0\x8f\x04\xe9\x0e\xff\x96\xbe\
+\x40\x8b\xce\x41\x35\x45\x4f\x5a\x33\x99\x0c\x46\xa1\xa8\x5e\xb1\
+\x9c\x11\xba\x98\xd5\x5f\x46\x26\xbc\x00\xc4\x9e\xfe\x8d\xe5\x4e\
+\x46\x39\x32\xa4\xb5\x0a\x80\xdc\x72\xdd\xbd\x58\x2c\xc6\xbd\xf7\
+\xdd\xcf\x09\xc7\x1f\x4f\x75\x75\x15\x57\x5f\xf3\x31\xae\xfc\xe0\
+\x15\xfc\xed\xd1\xc7\xf8\xef\x1b\x6f\xa0\xab\x73\x17\x08\x33\xd0\
+\x9a\x21\x17\xa1\x28\x60\x51\x00\x11\x3b\x7c\x1d\x1d\xad\x5d\x84\
+\x8c\x63\x5a\x31\x4c\xd3\x0e\x4d\xb8\x97\x37\x0b\x9a\x7d\x60\x5c\
+\xca\xf3\x3c\x96\x3e\xfd\x0c\xf1\x78\x9c\x5d\xbb\x76\xd1\xd2\xd2\
+\xc2\xcb\xaf\x2c\xe3\xbd\x17\x9c\xcf\x11\x87\x2f\x42\xa3\xf0\xdc\
+\xdd\xb8\xb9\x6d\xa1\xc0\x61\x21\x24\xbe\xb3\x1d\x81\xc0\xcd\xe7\
+\xcb\xb0\xa4\x34\xca\x6b\xc3\x30\x62\x58\x16\x68\x1d\xce\x9a\x51\
+\x3a\x9c\x24\x09\x21\x30\x4d\x83\xe3\x4f\x3c\x99\x7f\x3c\xfa\x30\
+\xff\xf8\xc7\xe3\x3c\xf0\xe7\x07\x39\xf0\x80\x39\x4c\x9e\x3c\x99\
+\x77\x9f\x75\x3a\x52\x4a\x52\x5d\x9b\x31\xcd\xf0\xc0\x79\x2e\x97\
+\xc1\x75\xba\x42\xef\xd2\x3d\x79\x64\x9a\x51\x4c\x2b\x5e\xce\xb7\
+\x30\x0c\x81\xd6\xa9\x01\x69\x36\x4d\x83\x15\x2b\x57\xf3\xc7\x3f\
+\xfd\x89\x4b\x2e\xbe\x88\x27\x9e\x7c\x8a\x0f\x5d\x71\x39\xe7\x9c\
+\x77\x01\x0f\x3d\xf4\x17\x3a\x5a\x77\x17\x16\xe2\xf0\x1b\x72\x88\
+\x62\x29\x7b\xad\x31\x0c\xab\x50\x2a\xc5\x1a\xf6\x7d\x4d\x1f\x04\
+\x5d\x83\x2a\x29\x29\x25\xdb\xb6\x35\x73\xd3\x37\xbe\xc9\x6f\xee\
+\xfc\x15\xeb\x37\x6c\xe0\xb5\xd7\x5f\x67\xc2\xf8\xf1\xcc\x98\x3e\
+\x3d\x58\x78\x65\x62\x6c\xfb\x53\xee\x5b\xbf\x9a\x22\x56\x91\x60\
+\xfb\xf6\x1d\x34\x4e\x9d\x81\xf6\xf3\x7c\xe3\xa6\xaf\x62\xdb\x16\
+\xd3\xa7\x4f\x0d\x5d\xb6\xa1\xaf\x45\x52\x91\x88\x73\xcf\x1f\x77\
+\x90\x4e\xb5\x87\x04\x05\x05\xb6\x35\x9d\x44\x45\x6e\xc4\xa3\x26\
+\x45\xec\x6d\xc3\xc6\x8d\xdc\xf6\xe3\xdb\xf9\xcc\x75\xd7\x72\xfa\
+\x69\xa7\x92\x4e\xa7\x79\xcf\x7b\xce\x0d\x9a\x3d\x96\x9e\xe9\xa1\
+\xb5\x13\x32\x82\x25\x03\xff\x1f\x4a\xd8\x54\xd8\x05\xa8\x71\xd1\
+\x3a\x28\xb1\xea\x7b\xe9\x90\x4a\xca\x42\x33\xf8\xb8\x6c\xdb\xe6\
+\xf7\x77\xdf\xc3\x3f\x1e\x7d\x98\x3f\xff\xe5\x21\xde\x79\xd2\x09\
+\x1c\x7a\xe8\x21\x81\x69\x2f\x25\x9e\xa7\x68\x6d\xdd\xcd\xfb\x3f\
+\x30\x91\xea\x64\x4d\xe8\x79\xcc\x64\x52\xfc\xed\x91\xd5\x0c\xad\
+\x90\x80\x2e\x6f\xf1\x88\x70\x7c\xf5\x7d\xc5\xd4\x29\x93\x79\xef\
+\x05\xe7\x33\x69\x52\x23\x93\x9b\x9a\x48\x54\x8f\x61\xd3\xba\xd7\
+\x38\xed\xb4\x33\x79\xe0\xfe\x7b\xe8\xec\x6a\xc3\xcd\x6d\xc2\xb1\
+\x3a\x87\xd5\xf7\x51\x6b\x40\xc5\xf0\xdd\x36\x94\x9a\x80\xef\xe7\
+\xf1\xbd\xe1\x97\x6a\x51\x9e\x2c\x94\xb0\x19\xd8\xef\xd2\x3a\x68\
+\xed\x75\xe5\x15\x97\xb3\x65\xfb\x76\x66\xcd\x9d\xcf\xb9\xef\x3e\
+\x8b\x17\x5f\x7e\x85\x1b\x6f\xf8\x2c\x97\x5f\x76\x09\x6f\xe7\x26\
+\x50\xfd\x2a\x29\xe5\xba\xb4\xb6\xb5\xb2\x75\xe3\x5a\x52\x5d\x5d\
+\xbc\xff\xf2\x0f\x72\xc3\x67\x3f\xc3\x7d\x7f\xfa\x13\x3f\xbc\xf5\
+\xbb\x74\xb4\xef\x04\x1d\x00\x64\x61\x73\xc4\xb4\x72\xd1\x28\x92\
+\x63\xc6\x63\x5a\xe3\x43\xef\x52\x9e\xb3\x15\xf4\xa6\x51\x99\x00\
+\xad\x35\x63\xeb\xeb\x39\xf9\xe4\x93\x10\x42\xf0\xbb\xbb\xef\x61\
+\xfb\xf6\x1d\x2c\x7d\xfa\x19\xae\xbe\xf2\x83\x1c\x7f\xdc\x12\x04\
+\x12\xd3\x9a\x80\x1d\x9b\x8a\x0e\x99\x82\x60\x65\x82\x5a\xd1\x76\
+\x74\x42\x59\xb1\x05\xcf\x17\xf8\xee\x2e\xdc\xfc\x5a\xdc\x90\x65\
+\x70\x94\x96\x50\x31\x78\x69\x10\xcf\xf3\x38\x7e\xc9\x12\x0e\x5d\
+\x74\x24\xaf\xbc\xf8\x2c\x0f\xfc\xf9\x41\xee\xfa\xcd\xef\x38\xf4\
+\x90\x05\xcc\x9c\x31\x83\x8b\x2f\xbd\x18\x43\x1a\xe4\x1d\x2f\xe8\
+\xd7\x17\xf2\xca\x66\x5d\x9c\x32\x92\x73\x45\x01\xe7\x1b\xad\xab\
+\x68\x31\xbe\xfc\xca\x2b\x3c\xf1\xe4\x52\x3a\x3a\xda\xe9\xec\xea\
+\xa6\x79\xf3\x7a\x4e\x3c\xe5\x54\x5e\x7c\x66\x29\x99\x4c\x06\x30\
+\xb1\x22\xd3\x88\xc4\x26\x0c\x7b\x11\x47\x22\x20\xad\x7a\x94\xd7\
+\x8c\x97\x7f\x0d\xcf\x1b\x6e\xa9\x16\x81\xe7\x78\x08\xdd\x08\x83\
+\xe4\xac\x49\x29\xd9\xb4\x69\x13\xbf\xbf\xe7\x0f\x1c\xb7\x64\x09\
+\xcb\x5e\x78\x96\x17\x5e\x7a\x89\x0f\x5e\xf1\x01\x16\x2e\x3c\x34\
+\x28\xa5\x53\x4e\x7c\x4b\xbc\x0d\x94\x94\x10\x82\xf6\xf6\x0e\xbe\
+\xf9\xf5\x9b\xe8\xee\x4e\xe1\xba\x2e\x7f\x7b\xf4\x61\xd2\x9d\x9d\
+\x1c\x7f\xfc\x92\x42\xc1\x3a\x13\xcf\x69\xc6\xc9\xb7\x84\x16\x37\
+\xdf\xf7\xd0\x2a\x13\x34\x8a\x08\xbd\x2b\x32\x6a\x79\x27\x45\xec\
+\x2d\x99\x4c\xf2\xd1\x8f\x7c\x98\x7c\x3e\xcf\x51\x47\x1e\x81\x61\
+\x18\x98\xd1\x08\xd9\xee\x54\x8f\xe4\x44\xbf\x30\xee\x10\x1d\x3a\
+\xb4\x44\x6b\x1f\x21\x8a\xbf\xc3\xba\x14\x41\x07\x0d\xd3\x6e\x24\
+\x9a\x98\x1d\xc0\x5a\x61\x94\x14\x20\xc4\xf3\x21\xe6\xdf\xa7\xae\
+\xbe\x8e\x55\xab\xd7\xd0\xd6\xd2\xcc\x19\xa7\x9d\xca\xf9\x17\x9c\
+\x8f\xef\x38\xb8\xae\x43\x3e\x93\x21\x96\x48\xb0\x6c\x79\x07\x76\
+\x24\xfc\x22\xcb\x64\xd3\xec\x6e\x75\x83\xde\x40\x21\xa2\x7c\x5a\
+\x07\xdd\x62\x46\x33\x9f\xc8\x75\x3d\x8e\x5b\xb2\x84\x53\x4e\x3e\
+\x39\x08\x26\x48\x49\x67\x7b\x3b\xaf\xbe\xba\x82\xb6\x96\xed\x3d\
+\x30\x29\x35\x6c\x05\x55\xfc\x7e\x3e\x97\xa7\x7e\xea\x18\xe6\xcc\
+\x9e\x54\x8a\x9e\x0e\xe7\xf2\x3c\x90\x86\x0a\xc5\xd7\xb9\x73\xe7\
+\x70\xfb\x8f\x7f\x44\x2e\x97\xc3\xf3\x3c\x66\xcd\x9e\x55\x2a\xaf\
+\xbd\xe7\x68\x97\x0e\x25\xbf\x45\x19\x2e\xf2\xb1\xc8\xa7\xf0\xfc\
+\x0a\x9e\x13\x3e\xc3\x5d\x31\xd0\xee\x3f\x60\x0a\x42\x47\x47\xe7\
+\x1e\xa5\xb5\x6b\x17\x10\x84\xae\x83\xdc\x09\x0f\x2b\x3a\x8d\x88\
+\x51\x55\x86\x92\x52\x48\x59\xc5\xfe\x62\x79\xf6\x0c\x55\x77\x77\
+\x77\x97\xe8\x03\xa0\xf0\x7f\xb1\xed\x94\xd2\x41\xae\x49\x98\x14\
+\x84\xc0\xdd\xcb\x23\x44\x94\xa1\x79\xf7\x65\x2e\x1c\x1d\xce\x6d\
+\x2a\x1e\x9f\x68\xdf\xb5\xbd\x94\x56\xd2\xb3\x94\x6e\x22\x11\xc7\
+\xb6\x4c\x76\x77\x8e\xc7\xb4\x2a\x43\x3f\x3e\x9f\xcb\x92\xca\xae\
+\x63\xfd\x16\x49\x26\x6b\x86\xca\xc3\x49\xc4\x4d\x3a\xbb\x19\x15\
+\x37\xa4\xc8\xd7\x7c\x3e\xbf\x4f\x06\x7c\xfb\xae\x1d\x7b\x45\x40\
+\xe5\x60\xde\x54\x38\xcb\xa3\xd0\xf2\xaa\xa2\x22\x41\x6d\x6d\x0d\
+\xf9\xfc\xf0\x81\x73\xa5\x25\x42\xec\x1a\x74\x70\x41\x1a\x4d\x50\
+\xb9\x76\x8f\x92\x76\xf7\xd8\xad\x42\xd0\x33\x05\x21\x9c\x4c\x1a\
+\x68\x05\xd2\xd0\xd8\x96\xc4\xb3\x44\x28\x31\xb4\x2d\x81\x10\x2a\
+\x80\x2c\x54\x78\xe0\x7c\x74\x52\x10\xca\xc4\x13\xf6\xe7\x6b\xef\
+\x14\x84\x7d\x73\x8d\x8a\xd1\x0a\x2b\x54\x7e\x4d\x50\x4f\xc8\x1a\
+\xe2\x1c\x69\xb4\xca\xe0\xfb\x59\x7c\x37\x33\xb8\xb9\xa9\x35\x0a\
+\x13\xf0\x42\xd3\xba\xf7\xdf\xbd\x0f\x93\x83\x10\x8a\x72\x82\x5f\
+\xa6\xa1\xf1\x55\x8c\x95\x6b\xab\x71\xdd\x8a\x50\xdf\x89\x46\x0d\
+\x5a\xdb\xad\xb7\x84\xaf\x7b\x5e\x53\xf8\x7e\x0a\xdf\x8d\x0e\x4f\
+\x96\xb5\xc6\x37\xe2\xc4\xa2\x1e\x1b\x37\x49\x96\x3e\x1f\x58\x41\
+\xc3\xc5\xa4\xd2\x59\x38\xeb\x44\x90\x66\x79\x7c\xed\xa9\xac\xf7\
+\xc8\xa0\x28\x58\xf4\x46\xa8\x44\x58\x21\x0d\x84\x34\xe8\xec\x8e\
+\xb0\xe2\xb5\x3c\xb9\x30\x4a\x57\x6b\xa2\x51\x49\xde\x51\x85\xb5\
+\x12\x32\x99\x53\x15\x53\x58\xfc\xf2\xdc\x3d\xdf\x57\x24\x12\x31\
+\x40\x90\xc9\x64\xb0\x6d\xbb\x14\xea\x74\x5d\x17\x21\x0c\x3c\x67\
+\x1b\x6e\x7e\x77\x78\x4b\x4a\x79\x28\x95\x2e\xab\x3a\x80\x28\x85\
+\xfd\xc5\xa8\x09\xb1\x61\x18\x44\x23\x11\x32\xd9\x6c\x29\x7b\xb7\
+\xb8\x1b\x29\xa5\x0a\x18\x4a\x21\x6f\x04\x33\xd4\x98\x43\xfb\x6a\
+\xfd\x58\x62\x02\x0b\xa4\x15\x4a\x9a\x85\x36\x09\x03\xce\x17\x6b\
+\x2c\x39\x8e\x53\xaa\xe4\x19\x8f\xc7\x83\x5e\x68\x4a\x15\xf2\x6b\
+\x02\x1a\xcb\x39\xcf\xad\xb4\x11\x34\x78\xb4\x40\x84\x3c\xf3\x67\
+\x5b\x0c\x29\x9b\xb9\x5c\xe5\x64\x18\x06\xbe\xe7\x11\x89\x46\x0a\
+\x87\xc4\x83\x83\xac\x7b\x9a\x89\x18\x08\x61\x87\x0a\x3c\x0c\xfc\
+\x50\x13\xad\x25\x86\x09\x11\x1b\x0c\x39\x7c\x05\x1c\xa4\xf7\x0d\
+\x6e\xe6\xf5\xa4\xb5\x58\x71\x34\x9d\xce\x04\xcd\x53\x1c\xb7\xc0\
+\x57\x09\x18\xa1\x4a\xfa\x16\xd7\xa7\x90\x26\x5d\x99\x3a\x5e\xdb\
+\x50\x83\xe3\x44\x43\x8d\xd9\xb2\x6c\xf2\x8e\x04\x22\xe1\x59\x2b\
+\x00\x61\x03\x4e\x79\xee\x5e\x4d\x4d\x92\x9f\xfd\xfc\x0e\xec\x88\
+\xc5\x05\xe7\x9d\xc7\xb2\xe5\xcb\xb1\x4c\x8b\xad\xdb\x9a\x39\xf5\
+\x5d\x27\xd3\xd5\xa5\x90\x46\x2d\x86\x59\x19\x1e\x68\xf3\x5d\xa4\
+\xb4\xc9\xa7\x36\x91\x4b\x77\x86\x03\x4f\x85\x44\xa9\xb6\xd0\xbe\
+\x74\xb9\x6e\x81\x94\x92\x0d\x1b\x36\xf2\xf0\x23\x7f\xe3\x8a\x2b\
+\x3e\x80\x6d\x5a\xdc\x7d\xcf\x1f\xc8\x64\x73\x1c\x7d\xd4\x11\x4c\
+\x99\x3c\x79\xa8\x77\x1f\xa2\x62\x15\x08\x19\x45\x1a\x26\x86\x51\
+\x15\x52\x49\x10\x4a\x49\x59\x96\xc5\x23\x7f\xfb\x1b\xe7\x9e\x7f\
+\x3e\xab\x57\xac\xc0\x32\x2d\x7e\xf0\xa3\xdb\x38\xe7\xec\x77\x53\
+\x51\x91\xe0\xb0\x43\x0f\xc1\x75\x5d\xe2\xf2\x55\x6c\x23\x7c\x0a\
+\x82\x34\x72\x98\x62\x77\x09\x6b\x0c\xed\xa1\x8e\xb2\x15\xe5\x7a\
+\x1e\xed\x6d\x6d\x4c\x9f\x39\x93\x3f\xff\xf9\x2f\xcc\x3f\xf0\x40\
+\xec\x88\xcd\xda\x75\xeb\x58\x74\xd8\xa1\x80\x44\xca\x04\xd2\x4c\
+\x0c\x7b\x40\xd2\x00\xd1\x23\x47\x6d\x08\x5d\xe7\x87\x45\xab\xef\
+\xfb\x6c\xd9\xb2\x85\x86\xa6\xc9\x7c\xe6\xfa\xcf\xf3\xc5\x2f\x7c\
+\x9e\xff\xf7\x97\xbf\x70\xd0\xbc\x79\x4c\x9d\x32\xa9\xcc\x75\xb1\
+\x27\x45\xca\x30\x6d\x22\x51\x03\x29\x2b\x42\xf1\xd4\xb6\x40\xb0\
+\x95\x88\xf1\x52\x59\x96\x94\x54\x1e\x9a\x49\x05\x84\x35\xa4\xbb\
+\x27\x4d\x93\x57\x57\xae\xe4\xb7\xbf\xfb\x3d\x1f\xb8\xfc\x03\xbc\
+\xf8\xe2\x4b\x9c\x76\xea\xa9\x18\x66\x61\x17\xd2\xba\xb0\x98\xc2\
+\x2b\x29\x8d\x0b\x18\xd8\xf1\xc9\xd8\x5e\x2e\x14\x17\x05\x12\xdf\
+\xdd\x86\x10\xdb\x46\x8d\xc9\x76\xc4\xe6\x91\x47\x1f\x43\x1a\x06\
+\xa7\x9e\xfc\x4e\x0c\xc3\x60\xee\x9c\xd9\x54\x57\x55\xbf\x15\x48\
+\x59\xf9\x4b\xb8\x8c\x8f\x8f\xad\xaf\x67\xf1\xb1\xc7\xf1\xa5\x2f\
+\x7e\x81\xea\xea\x6a\x26\x37\x35\xd1\xd8\x30\x11\x21\x24\x4a\xf9\
+\x98\xa6\x85\xab\xa6\x83\x5f\x06\x26\xa5\xb2\x78\xba\x03\x43\x76\
+\xa1\x44\xb8\xd0\xbb\x21\x2a\x11\xe4\x46\x25\x21\xa7\x58\xa9\xf2\
+\x95\x65\xcb\xf9\xdb\xa3\x8f\x02\x92\x8d\x9b\x36\x32\xa5\xa9\x09\
+\x2b\x67\xf1\x93\xdb\x7f\xca\x31\xbf\xbe\x83\x20\xc3\x59\x0f\x5b\
+\x41\xbd\xd5\xe1\x7d\x29\x04\x9b\xb6\x6d\xe3\x9b\xdf\xfe\x0e\x97\
+\x5c\x74\x21\xc7\x1e\x73\x34\x8f\xfd\xfd\x71\x3e\xfe\xc9\xeb\xb8\
+\xf9\x5b\x5f\x67\xf6\xac\xe9\x43\x23\x51\x2b\x84\xea\xc2\x10\x29\
+\x7c\xb2\x21\xf9\x1a\x05\xc6\xe3\xf8\xb3\x91\x3a\xfc\xd9\x3d\x5b\
+\x64\x10\xe5\x64\x9c\x03\x74\xb6\xb7\xf3\xb9\xcf\x7c\x9a\xcf\x7d\
+\xe6\xd3\x74\xb4\xb6\xf1\xde\x0b\xce\x47\x4a\x49\x55\x55\xe5\x9e\
+\x2e\x1d\x5a\x16\xa2\x6f\x61\x99\x59\xcc\x7a\xa5\x70\x6c\x24\xec\
+\x6c\x19\xa3\xa7\x12\x0a\x29\x08\xbf\xbe\xe3\x67\x44\x63\x31\x0c\
+\x29\xa9\xab\x0f\x2a\x17\x8c\x54\xe3\xc6\xf2\xd1\x08\x11\x44\xc0\
+\x54\x19\x3a\x2a\xc4\x5c\x7a\x9e\xc7\xac\x59\xb3\xf8\xc3\xef\x7f\
+\x53\xa2\x6d\xc2\x7b\xcf\x2f\x34\x42\x10\x28\x55\x2c\xe9\x6b\x83\
+\x88\x86\x3c\x8a\x01\xa0\x10\x44\x50\xaa\x0a\x5f\x7b\x83\xf3\x55\
+\x83\xd2\x66\xf0\x9c\x51\x72\xf7\x7c\xdf\x67\xfe\xbc\x03\x99\x33\
+\x7b\x16\x52\x4a\x3c\xcf\x23\x12\x89\x20\x84\xe0\xd6\xef\x7e\x87\
+\x5c\x36\xcb\x7f\xca\xa5\xb4\x66\x52\x63\x23\x37\x7f\xeb\x1b\xc4\
+\x62\x31\xf2\xf9\x3c\xb6\x65\xf1\xfc\x33\x4f\x12\x8b\x46\x83\x82\
+\x00\x43\x9a\x48\x89\x16\x09\x94\xae\x40\xe9\xe8\xa0\x32\xa6\x35\
+\xf8\xda\x2c\x9c\xd1\x8d\x96\x51\xee\x47\x81\xe8\xbf\xcb\xd0\x80\
+\xc7\x62\x8a\xcd\x0c\x7b\x36\x0a\x2d\xfe\xaf\xb5\xc4\x90\xdb\xb0\
+\x64\x5b\x68\xbb\x56\x69\x0f\x48\xed\x37\x70\x7b\x4f\x4c\xaa\xb2\
+\xb2\xb2\x07\xa8\x1b\x79\x0b\x47\xa5\xd1\xaa\x05\xdb\xd8\x81\x92\
+\xd9\x70\x47\xd6\x31\xd0\x7e\x76\x50\xa5\xb2\x37\x1f\x61\x8f\x22\
+\xee\x09\x9e\x07\xd1\x19\x15\xca\x44\x0b\x36\x1e\x85\xa6\x58\x62\
+\xda\x0c\xa5\x54\x35\xe1\x5c\xd4\x7d\x15\x62\xf8\xcd\xc7\x30\x8c\
+\x52\xef\xb7\x9e\x74\xc7\x63\xb1\x51\x91\xc1\x60\x0e\x8b\x3b\x8b\
+\xcf\xf0\x8b\xd7\xca\x3e\xdd\x9f\xfe\x60\x8b\x8a\x44\x22\xc0\x19\
+\x0b\x75\xeb\xab\x2a\x2b\x4b\xfd\x13\xb5\x2e\x46\xdd\xc2\x0e\x4a\
+\x16\x38\x2a\x0b\xfc\x32\xcb\x56\x74\xa1\x3d\xac\x41\x86\x34\x60\
+\x65\xce\xbe\xfe\xee\x29\xc8\xbe\x6e\xc4\xd3\xe1\x33\x93\x7d\x7c\
+\x20\x31\x44\x01\xf0\xd1\x2a\x57\xda\xed\xc3\x98\xaa\x1a\x6f\x50\
+\xe0\x71\xff\xab\xfd\x2c\x10\x72\x2c\x8e\x1a\x8f\x17\xd2\xf3\x53\
+\x1a\x2a\xe4\x8e\x41\x85\x22\x0c\xad\x52\x9a\xe4\x53\xcb\xf0\xcc\
+\xf0\x8a\xda\x71\xf3\xf8\xee\x76\x94\x02\xa5\xc2\xe5\x07\x29\xdf\
+\x06\x34\x4a\xfb\xf8\xbe\x5b\x96\xcf\xaa\x95\x1f\xaa\x3b\xf5\x40\
+\x8b\x7a\x34\xf8\x2e\x0d\x13\x37\xbf\x99\x6c\xf7\x0b\x78\x9e\x3b\
+\x5c\x31\x20\x9b\x71\x41\x4f\x2f\x78\x12\xe1\x64\x78\x5f\xba\x34\
+\x60\xa2\xfc\x56\xb2\xa9\x17\x42\xcf\xb3\x94\x92\x7c\xa6\x75\xc0\
+\xb3\xa0\x6f\xd6\x65\x0e\xc4\xc4\x01\x99\x29\x04\xe8\x3c\x4a\x65\
+\xc3\x6b\x4c\xe5\x0d\x29\x8a\x22\x84\xc4\x77\x77\xe0\x64\x6d\x94\
+\x17\xfe\x80\xb1\xef\xed\x02\x26\xbf\xe9\xc2\x3a\x12\x98\x94\x28\
+\x63\x27\x12\xa1\xdd\xed\xde\xf4\xf6\x45\xbf\x52\x2e\xd1\xea\x45\
+\x98\x76\x48\x30\x59\x80\x91\xcf\x63\x98\x7f\xa7\x32\xb6\x15\xc7\
+\x08\xb7\x38\x63\xf1\x0a\x94\xea\x22\x6a\xb5\x92\x88\xe5\x43\x5b\
+\x1d\x42\x40\x2c\x62\xa0\xb0\xfb\x5d\x70\x7d\xd1\xd5\xf3\xb5\xd1\
+\xe2\xb9\xf2\x3d\xac\xc8\x34\x62\x55\x0b\x19\xb6\x8e\x12\x04\xa5\
+\xa9\xc4\xce\x41\xad\xa9\xc1\xca\xf3\x80\x8f\x61\xd6\x11\xab\x5c\
+\x10\x5e\xe1\x4a\xc8\x38\xeb\x50\x6a\xcb\xfe\xa9\xa4\xf6\xce\x8f\
+\x2a\xc6\xa9\x82\xea\x00\xc5\x3e\x5e\x12\xe5\x67\x51\xbe\x28\xa3\
+\x7c\xb0\x07\xda\x2b\xdb\x6c\xd4\xda\xc7\x8a\x4c\x21\x5a\x71\x18\
+\xa6\x69\x84\x5e\xea\xb9\xd4\x8a\x01\x19\xbc\x37\x9d\xc5\xff\x8b\
+\xd5\x01\x1c\xc7\xc1\xb2\x2c\x72\xf9\xa1\xe2\x17\xe5\xf6\x1e\x13\
+\x05\x13\x5f\xec\xf1\xe4\xc2\xfb\x06\x65\xb9\x25\xc5\x7e\x77\xb6\
+\x6d\x07\xd1\x95\x42\x3d\x77\x10\x41\x29\xdd\x90\x78\xb2\xd0\xe0\
+\x79\x2e\x11\x2b\xc7\x89\xef\x68\x2c\x6b\x1c\xb7\xdf\xd6\xc5\xf1\
+\xc7\xd6\x33\xa6\x6e\x7c\x99\xf3\xea\xd2\xba\xb3\xff\x0e\xb9\x3d\
+\x37\x58\xd3\x30\x30\x0a\xbc\xd4\x4a\x15\xfa\xe2\x8d\x56\x0d\xf9\
+\x02\xd7\xf4\x08\x40\x6d\x65\xc4\x4f\xb4\xd6\x05\x5c\x31\xc0\x1d\
+\xfb\x6e\x88\xab\xca\x92\x29\x5d\x72\x5f\xc5\xfe\xa9\xa4\x20\x28\
+\x0c\x96\x4c\x26\x59\xb9\x6a\x15\x75\x75\x75\x58\x96\xc5\x2b\xaf\
+\x2c\xa3\xb3\xb3\x93\xf9\xf3\xe7\x11\x8d\x08\x0c\xab\x01\x53\x57\
+\x87\xdf\xf1\xa5\x8f\x10\x91\x21\x30\x50\x14\xb2\x65\x3d\x42\x83\
+\xe8\x5a\x85\xae\x16\x19\x54\x06\xf4\xd9\xb2\x75\x1b\x93\x27\x4f\
+\xe2\xd9\xe7\x9e\x63\xfd\xfa\x8d\x4c\x9d\x32\x99\xce\xae\x2e\xde\
+\xf1\x8e\x93\x86\x30\x62\x03\xe5\xb7\xe3\x39\xa2\xac\xf2\x18\xca\
+\x6f\xc7\xf7\x3b\x71\x9d\x96\x42\xab\xf3\xc1\x41\x29\xad\x4c\x74\
+\xcc\x09\xa5\x98\xf2\xf9\x3c\x96\x65\xb1\x72\xd5\x6a\x0e\x98\x3b\
+\x87\xdf\xfc\xf6\xf7\xd4\xd6\x26\x69\x6d\x6d\xe3\xe4\x77\x9e\x84\
+\x69\x9a\x78\xf9\x6d\xa0\x62\xa1\xeb\x76\xf9\x6e\x1a\xd7\x4d\xb3\
+\x73\x67\x27\x99\x6c\x2e\x14\x8c\x16\x60\x80\x16\x9b\xb7\x76\xd0\
+\x9d\x16\xa1\x56\x4f\x71\xc9\x58\x86\x26\x11\x93\x03\x5a\x5f\x42\
+\x08\xba\xba\xba\x58\xfe\xea\x0a\x36\x6d\xde\xcc\xd9\x67\x9d\xc9\
+\xb6\xe6\x66\xa6\x4e\x99\xc2\x9a\xd7\x5e\xe7\x90\x05\xf3\x47\x61\
+\x39\x49\x7c\xb7\x0d\x27\xdf\x3c\x6c\x77\x4f\x00\x4e\x4e\x83\x8e\
+\x0c\x08\x59\x68\xad\xa9\x4e\x56\xf3\xcd\x6f\x7d\x87\xc9\x4d\x4d\
+\xd4\xd7\xd7\x71\xc4\xe1\x8b\xd8\xb8\x69\x13\xca\x57\x44\xa3\x51\
+\x1a\x1b\xc7\xa3\x54\x16\x37\xbf\xb9\x70\x60\x39\x9c\xbb\xe7\x3b\
+\xbb\x83\xc2\x96\xfb\xa3\x92\x32\x0c\x83\x6d\xcd\xdb\xd9\xb1\x73\
+\x27\xaf\xbd\xb1\x16\xdb\xb2\x59\xbb\x7e\x3d\xcf\x3d\xf7\x3c\x2b\
+\x56\xae\xe2\xca\x8a\x4a\x9a\x26\xd5\x17\xba\xa0\x94\xa1\x6d\x43\
+\x82\xb1\x23\x89\xef\x84\xd9\x85\x76\xee\xdc\xc9\xf6\xed\x3b\xc8\
+\x3b\x0e\x86\x94\x3c\xf6\xf7\xc7\x79\xec\xb1\xbf\x73\xd6\x59\x67\
+\xb2\x6a\xd5\x1a\x4e\x39\xf9\xb4\x21\x6d\x85\x42\xd8\x08\x69\x97\
+\x65\x4d\x05\x9f\xb7\x90\x32\x16\xba\x46\xb4\x16\x46\xe1\xac\xd5\
+\xc0\x57\x24\x12\xe1\x89\x27\x9f\xe4\xe8\xa3\x8e\x62\xe5\xaa\x55\
+\x4c\x18\x3f\x9e\x9f\xfe\xfc\x17\x1c\x38\x77\x2e\xcb\x57\xac\x60\
+\xd6\xac\x99\x98\x96\x89\x2b\x6c\x84\x8c\x85\xde\x43\x0d\x13\x94\
+\x4e\xf2\xd2\x72\x8b\xbc\x13\x2e\x24\x19\x8b\x59\x08\x59\xc3\xda\
+\x0d\x11\xec\x6d\x91\xd0\x8b\x47\x00\xf5\xb5\x9a\x83\xe6\xe4\x70\
+\xbd\x81\x47\xd8\xd1\xd9\xc9\x23\x8f\x3e\xca\xa3\x8f\xfe\x9d\x13\
+\x8e\x3f\x8e\x37\xd6\xae\xa5\xb1\xa1\x81\x95\x2b\x57\x72\xd8\xa1\
+\x07\x8f\x8e\xc4\x49\xb3\xc0\x3b\x73\xd8\x92\x2b\x0d\x1d\xca\xd5\
+\x33\xec\x04\x5f\xfd\xda\x37\x38\x6e\xf1\xb1\x1c\x7e\xf8\x22\x8e\
+\x3c\xe2\x70\x36\x6f\xde\x82\xe3\xba\x24\x93\xd5\x4c\x9c\x50\x8f\
+\xc0\x44\x18\xd1\xd0\xd0\x40\x50\x19\xc3\x02\xd4\xfe\xa9\xa4\x94\
+\x52\x8c\x1b\x5b\x8f\xeb\xba\x1c\xbe\xf0\x30\xaa\x2a\x2b\xb1\x6c\
+\x8b\x99\xd3\xa7\x93\x77\x1c\xea\xeb\xea\xd0\x3a\xcb\xf6\xf6\x32\
+\x7d\x8d\x21\xb4\xd3\x1e\x75\x35\x26\x04\x55\x95\x95\x18\x52\x12\
+\x8d\x46\x51\x4a\x73\xd1\x85\x17\x70\xf6\x59\x67\x12\x4f\xc4\x39\
+\xeb\xcc\xd3\x7b\x9d\x6f\x0b\xaf\xa2\x14\x42\xc6\x91\x46\x6d\x59\
+\xa5\x6a\xa5\x68\x43\xca\x38\x86\x59\x89\xa9\xc2\xe5\x2a\x29\x4d\
+\xa8\x0c\x77\xcf\x73\x99\x3a\x65\x0a\x42\x08\x96\x1c\x7b\x0c\x89\
+\x44\x82\x1f\x7c\xef\x16\x22\x91\x08\xb9\x7c\x8e\xd9\xb3\x67\xf1\
+\xf0\xc3\x8f\x62\x56\xd6\x61\x5a\x55\xa1\xc7\xac\x54\x16\x21\xab\
+\x70\xfd\x38\xbe\x0a\x57\x1b\xca\x53\x20\x44\x04\xcf\x4f\x20\x75\
+\xb2\xac\xbd\xcb\xd7\x39\x04\xd9\x41\x65\xa9\xbe\xbe\x9e\x0f\x5e\
+\xfe\x01\xde\x7b\xde\x79\xd4\xd5\xd5\xb1\xf0\xb0\xc3\x88\x44\x22\
+\x2c\x59\xb2\x18\x7f\xb8\xe7\x56\xfa\x9e\x09\xa4\x51\x85\x69\xd5\
+\x8c\x88\x98\x1b\x3e\x20\x76\x30\x18\x68\x9e\xe9\x6a\xe3\x4f\xf7\
+\xdd\x43\x5d\x5d\x1d\x91\x82\xfb\x7e\xe0\x81\x07\xa0\xb5\xc6\x32\
+\x4d\x0c\xd3\x44\x48\x1b\xd3\xac\x0f\xbd\xfe\xa4\x04\x69\xb6\x8f\
+\x4a\x12\xf5\x88\x28\x29\x5d\xe8\xa0\xd2\xf3\x9a\x38\x61\x42\x09\
+\xc7\x00\xe8\xec\xf4\x51\x5e\x07\xbe\x1b\x9e\xd9\xbe\xef\xa1\x74\
+\x7e\xbf\x6b\x26\x99\x48\x24\x48\x24\xf6\x44\x1d\x6b\x6a\x92\xbd\
+\x70\x8d\x6c\xce\x0f\xdc\xcc\xb0\x07\x51\x05\x41\x31\x40\x44\xf9\
+\xf8\x87\x90\xa1\xad\x8a\x5e\x7e\x50\x08\x65\xec\x79\x3e\x0d\x0d\
+\x0d\x00\x8c\x1f\x3f\x1e\x21\x04\x07\x1c\x30\xb7\x44\x67\x3c\x1e\
+\x2d\x1c\x03\x2a\xbb\x7b\x6b\x2f\x94\x3f\xc4\x71\xc3\x3d\xd6\xa6\
+\x2c\x3c\xad\xac\xbd\xce\x18\x94\x64\xad\x35\xb1\x68\x94\xc9\x4d\
+\x4d\x25\x5e\x8e\xad\xaf\x07\x60\xc2\xf8\xf1\xa8\x51\xc9\xc0\xdc\
+\x23\x20\x23\x97\x71\x3e\x78\x74\xba\x58\xbd\xa3\x48\xb7\xd6\x9a\
+\xda\x9a\x9a\x1e\x0a\x47\x50\x3a\x68\xac\xcb\x79\xf2\x7e\xdc\x1c\
+\x74\xa0\x68\xc1\x9e\xf7\x24\xbe\xd7\x8e\xe7\x85\x2f\x80\xa7\x94\
+\x57\x28\x02\x37\x34\x7f\x5f\x6b\x11\x3e\xc1\x51\x8b\x42\x8c\x6c\
+\x70\x9c\xa6\xbf\xf7\xf6\xfc\x56\x78\xee\x26\xf2\x69\x3b\x74\x65\
+\x4e\x27\x1b\x94\xb0\xc9\x59\xb5\x65\x75\x8b\x71\x9d\x56\x04\xa3\
+\x87\x03\xf4\x15\xf5\x2a\x5a\xcf\x5a\x83\x34\x0c\xf2\xd9\x35\xf8\
+\x6e\x19\x29\x08\x4e\x0e\xdf\xdd\x55\xf6\xa2\x94\x46\x84\x7c\x66\
+\x23\xda\xdb\x5e\xd6\xf7\xdc\x8a\x08\x42\x24\xfb\x75\x45\xfa\x8a\
+\x62\xf6\xcf\x6b\x31\x22\x55\x10\xde\xea\xe5\xbc\x77\x00\xa8\xf7\
+\x86\x20\xf1\xbd\x0e\xf2\xb9\x57\x43\x67\x5e\x0b\x21\x71\xf2\xbb\
+\x90\xd2\x0e\x1d\x69\x1e\xad\x40\xf9\xd0\x57\x83\xf6\xb0\x22\x53\
+\x89\xc8\x9a\x32\xfa\xee\x79\x18\xb2\x72\x08\x75\x01\x0c\xe2\x91\
+\x8d\x4c\xa8\x33\xb1\xed\x48\x68\xa6\x35\x6f\xdd\x80\xa6\x81\xb0\
+\x15\x02\xfa\xdf\x51\x24\xa6\xd5\x44\x24\x71\x60\xb8\xa2\x77\x02\
+\xac\x5c\x33\x02\x41\x24\x36\xbe\x2c\x77\xcf\x57\x6b\xd1\xbc\xf4\
+\x96\x09\xbb\xf2\x7d\x22\x15\xb3\xcb\x72\xf7\x84\x91\x45\x9a\x99\
+\xb2\x93\x17\x95\x9f\xc7\x8e\x4d\x26\x12\x19\x5b\xd6\xf7\x2c\x3b\
+\x87\xd6\xad\x94\x93\x0c\xda\xb7\x82\x72\x71\x72\x9b\xc9\x9b\xad\
+\xc3\xd2\x52\x5a\x83\xf6\x62\x78\x4e\x0b\xd0\x08\xfb\x81\xc2\xea\
+\x4d\xaf\xc2\x30\xab\x89\xc4\xe6\x85\x36\x59\x83\xc2\x8d\x6b\x70\
+\x72\xff\x22\x97\x7e\x1d\xd7\xcd\x85\x9a\x07\xdf\xb6\x60\x84\xfb\
+\x2f\x86\x4a\x41\x28\x02\x69\x7b\x6b\x6c\x5d\x8a\x93\x96\x93\x5a\
+\xba\xa7\x7c\x44\xd8\x0e\x18\xbe\xaf\x68\x6c\xac\xe7\x98\xa3\x17\
+\x84\xae\x71\x0e\xf0\xdc\xb3\x19\x7c\x3f\x7c\x0a\x42\x4f\x61\xee\
+\x19\xa6\x2f\xd8\x1a\x65\xca\x71\xb1\x6e\x8f\x42\x23\x43\xba\x64\
+\x05\x17\xa8\x8f\xdd\x71\x70\x97\x60\x68\x3b\x6e\x31\x5b\x39\xa0\
+\xb5\x88\x71\x85\x2f\x72\x16\x78\x10\x43\xc5\x2d\xc4\x10\x0e\xbe\
+\xe9\x41\xdd\xe1\xbd\x73\xfc\x7a\xf2\xb9\x77\xc7\x18\x0b\x3b\x3a\
+\x87\x68\x62\xdc\x88\x54\xe6\x34\xed\x71\x3d\xbc\x6f\x3d\xbc\x8c\
+\xf3\x32\x7d\xe0\xbe\xca\x0c\xed\xe1\x5f\xb1\x2d\x5b\x19\xdd\x7c\
+\xb4\x00\x61\x60\x45\x27\x11\x4d\xcc\x42\x86\x74\x80\x2c\x1b\x10\
+\x2b\xcb\x7e\xde\x90\x94\x54\x47\x47\x27\xd5\xd5\x55\x64\xb3\x39\
+\x6c\xdb\x62\xd5\x9a\x35\x28\x5f\x31\xb9\x69\x52\x90\x3b\x94\xcb\
+\x95\x6f\xde\x15\x26\x5e\xfb\xa0\x54\x2e\x94\xcf\xab\x85\x89\xd0\
+\x2e\xe9\xb4\x47\xcb\xae\x1c\x91\x48\x38\xdb\x5c\x29\x4d\x2a\xad\
+\x42\x8d\x31\x68\x8a\x19\x1c\x05\x6a\x6d\x6b\x23\x9b\xcd\xd1\x34\
+\xa9\x91\xae\xae\x2e\xd6\x6f\xd8\xc8\xc1\x0b\x0e\x1b\x22\x96\xe0\
+\x20\xc8\x21\x8a\x85\xd5\x42\xad\xc1\x7c\x21\xbb\x3e\xe8\x67\x17\
+\x6e\xd9\x5a\x83\x66\x74\x16\x95\x51\x67\x67\x17\x15\x15\x09\x32\
+\x99\xa0\x39\xa6\xeb\x79\x74\x75\x75\xb3\x79\xf3\x66\x0e\x3f\x7c\
+\x21\x42\x0a\xa4\xf0\x80\x5c\xa8\x96\xf2\x01\xa5\x79\xc4\x50\xac\
+\x55\x11\x6c\x70\x21\x6b\xf6\xf5\x98\x57\x39\xe8\x74\x0a\x82\x3e\
+\x74\x5b\xb7\x6e\x63\x5b\x73\x33\x8b\x16\x1e\x46\x57\x57\x17\x35\
+\x35\x35\x38\xae\x4b\x55\x45\x11\x83\xf4\x46\xa4\x32\x67\x51\x31\
+\xa1\x55\x90\x8f\xa5\x86\x57\x99\x53\x0b\x50\xbe\x24\x4c\x99\x96\
+\x48\x34\xca\xbf\xfe\xf5\x6f\xd0\x30\x75\xda\x14\xc6\x8d\x1d\xcb\
+\xee\xdd\xad\xd8\xb6\x45\x2c\x16\xc3\xb6\x22\x28\xdf\x2b\xb4\x8d\
+\x0a\x59\x99\x53\x48\x24\x7e\x29\xb7\x2c\x0c\xc6\x56\xb2\x41\xb4\
+\x8f\x52\xf9\xd0\x0d\x66\xb5\x56\xa0\xdc\xf2\x95\x54\x57\x77\x17\
+\x63\xc6\xd4\xf2\xd2\x4b\x2f\x33\x73\xe6\x74\xfe\xfc\x97\x07\x69\
+\xdd\xdd\xc6\xc5\x17\xbd\x97\xea\xea\x6a\x9c\x5c\x57\x99\x89\x8a\
+\x7b\x11\xa3\x1c\x74\x88\x93\xa8\x02\x0f\x29\x5d\xb6\x6d\x8f\xf0\
+\xc4\x33\x0a\xd3\x74\x43\x3f\x24\x9b\xb2\x30\x24\x03\x36\x08\xd0\
+\x5a\x17\x12\xe0\x3c\x36\x6c\xdc\x48\xf3\x8e\x5d\x3c\xf1\xc4\xbf\
+\xb9\xfe\xba\x6b\x59\xb1\x72\x15\x3f\xfc\xd1\x6d\xfc\xf1\xbe\x3f\
+\x0e\xd1\x4e\xf0\x10\x22\x8f\xa4\x9c\xe6\xa0\x2e\xc1\xb9\xaf\xa0\
+\x21\x43\x98\x3c\x29\xa5\x07\x2e\xbf\xda\xd3\x1a\x4e\xa5\xd3\x24\
+\x12\x71\x9e\x5a\xfa\x0c\x33\x66\x4e\xe7\xb1\x47\xff\x4e\x65\x55\
+\x25\xdf\xf9\xee\xad\xfc\xfc\x67\xb7\x63\xdb\x36\x82\x1c\xb2\x8c\
+\x43\xdd\x42\xe4\x29\x37\x54\x2d\x00\xa5\x24\x52\xb4\x63\xa2\x43\
+\xd7\xc9\x87\xe0\xd4\xbf\x1e\x6c\x4e\x85\xa0\xad\xad\x8d\x3f\xdc\
+\x77\x3f\xf7\xdc\x7b\x1f\x0f\xfc\xf1\x3e\x5e\x7e\xe9\x25\x8e\x38\
+\x7c\x11\xaf\x2c\x7b\x95\x33\x4f\x7f\x17\x42\x78\x80\x59\xa6\x92\
+\x1c\x40\xa6\x91\xa5\x26\xb2\x01\xf6\x3a\x74\x90\x46\x94\x9c\x8e\
+\xc1\x95\x54\xbc\xb2\x86\x8f\x7c\xec\x13\x8c\xa9\xad\xe5\x63\xd7\
+\x7c\x98\x73\xce\x7e\x37\xcf\x3c\xfb\x2c\xd9\x5c\x8e\x05\x07\xcd\
+\x67\xce\xec\x19\x28\xed\x22\x65\x2e\xb4\xe5\x2a\x91\x41\x8f\x49\
+\x61\xf4\xe8\x32\x1d\x66\xc3\x24\x38\x55\xa2\x9c\xd0\x1d\x8c\x83\
+\x86\xa5\x6e\xbf\xf3\x65\xf6\x8d\x1d\xf9\x4c\x99\x3c\x19\x21\x04\
+\x91\x68\x90\xc3\x72\xfd\x75\x9f\xa6\xb5\xb5\x15\xcb\xb6\x88\xd8\
+\x11\x52\x29\x8b\xd6\x8d\x65\x9a\xf9\x85\x49\x37\x2c\x30\xac\xea\
+\x50\x3c\x14\x80\x56\x09\x20\x02\xc4\x81\x90\x2d\xad\xd0\x85\x42\
+\x5a\x7a\x50\xeb\x22\x91\x88\x93\xce\x04\x3d\xee\xde\x79\xd2\x89\
+\x54\x56\xc4\x31\x4d\x93\x83\xe6\xcf\xe3\x6b\x5f\xfd\x0a\xd9\x5c\
+\x0e\x44\x50\xbd\x21\x6c\x65\x00\x81\x44\x53\x81\xd2\x35\x83\x02\
+\xf8\xbd\xbe\x27\xab\x10\x22\x82\x34\x2d\x0c\x15\xae\x54\x8c\x54\
+\x30\x58\x92\x6b\xb1\x75\x57\x63\xc3\x44\x3c\xcf\x23\x9e\x88\x33\
+\x7d\xda\x34\x5e\xaa\x7d\x99\xf7\x9c\x7b\x36\x73\xe7\xce\xe5\xa0\
+\x79\x07\xf0\xf0\x23\x8f\x61\x46\xaa\x51\x54\x94\xc1\xd6\x18\x10\
+\x0d\x5d\xcc\xb0\x54\x6e\x57\x09\xa4\xc8\x23\x44\x36\xd4\x0c\x15\
+\x81\x05\x81\x2c\xc8\xc1\xc0\xcc\xa8\xaa\xae\xe6\xbd\x17\x9c\xc7\
+\x69\xa7\x9e\xc2\xd8\xba\x31\x1c\x75\xe4\x91\x44\x22\x36\xb1\xc2\
+\x01\x63\xa5\x1c\x7c\x77\x2d\x11\xd9\x15\x28\xfa\xe1\xb8\x7b\x46\
+\x14\x29\x76\x82\x98\x88\x61\xc6\x0a\x73\x32\xbc\x2b\x48\xb5\xca\
+\x32\xd8\xa9\x89\x7c\xaa\x83\x6f\x7e\xfd\xab\x4c\x6a\x9c\xc4\xd8\
+\xb1\xf5\x08\x21\x38\xf8\xe0\x05\xbc\xf6\xda\xeb\x58\xa6\x05\x68\
+\x4c\x33\x4e\xce\xaf\x2e\x29\x9b\x30\x7c\x52\xca\x04\xb5\x09\x5b\
+\x6e\x42\xcb\x5c\x28\x06\xd9\x32\x68\x73\x27\xad\x1a\x64\x19\x28\
+\x90\x90\x02\x48\x97\x67\x49\x15\x1b\x46\x1e\x75\xe4\x11\xa5\xc6\
+\x91\x63\xc7\x8e\xdd\xd3\x9a\xdc\x19\x42\x35\x03\x11\x98\x91\x5d\
+\x1d\x2e\xa9\xee\x8e\x90\x2d\xad\x24\x11\x2b\xbb\x07\xaf\x11\xe1\
+\x97\xce\xa0\x2e\x41\xe1\x66\x4a\x29\xe2\xb1\x18\x87\x1c\x7c\x30\
+\xbe\xef\x73\xfc\x92\xc5\xb8\xae\x4b\x22\x91\xa0\xae\xae\x8e\x54\
+\x3a\x87\xe7\xee\x20\x9f\xdd\x10\x3a\xba\xe7\xe6\xb7\x61\xda\x0d\
+\x14\xfb\xfe\x85\xd7\xe2\x0a\xdf\xcb\xd3\xd5\x91\xc1\x71\x32\xa1\
+\xca\x9e\xf8\xda\xa4\x2a\x1a\xa2\x41\x44\xa1\x84\x89\x94\x92\x13\
+\x8e\x5b\x82\xe3\xba\x5c\x7a\xc9\x85\xe4\xf3\x0e\x8b\x0e\x3b\x94\
+\x68\xc4\x46\x6b\xf0\xf2\x5b\xc1\x0f\xbf\xc8\x5c\x27\x8b\xe7\xb6\
+\xe0\xe6\x77\xe0\x3a\x61\xeb\x49\x25\x10\xa2\x13\x4f\x4f\x40\xaa\
+\xfa\xb2\xc4\xc8\xd7\x79\x04\xbb\xfb\x05\xce\x4b\x4d\x50\xe3\x71\
+\x66\x4c\x9f\x5e\x52\xd0\xe3\xc6\x05\xe5\x67\x4e\x3c\xe1\x38\x5c\
+\xd7\x2b\x94\x79\x4e\xa0\x74\x1c\xa5\xd5\x90\xed\x1e\x0d\x28\x1d\
+\x43\xeb\x37\xbf\xe8\x9d\x10\x82\x74\x26\xc3\x99\xa7\x9f\x5e\x5a\
+\xb3\x9e\xe7\x31\xb9\xa9\x89\x69\x53\xa7\xe2\xfb\x3e\xa6\x01\xae\
+\xca\xd2\x99\x6f\x46\x1a\x92\x49\xb5\xe3\xe9\xc8\x74\xd3\x95\x49\
+\xed\x09\x6e\x16\xda\xde\x17\x95\xb5\x14\x92\xb4\xdb\x81\x14\x09\
+\x14\xf1\xa0\xde\x7a\x28\x2b\x2a\x82\xf6\x3b\xf1\x72\xeb\xcb\x68\
+\x0e\xaa\xf1\x4d\x17\xa8\xa0\xac\x1a\xe7\x45\x65\xe4\xf5\x48\x7a\
+\x53\x3d\xe2\xff\x43\x01\xc5\xb4\xd6\x64\xb2\x59\xce\x3e\xdd\xa2\
+\xab\x2b\x1e\xae\x83\x71\x24\xc6\xdf\x1e\xf9\x37\xd9\x8c\x3d\x6a\
+\x79\x1b\x45\x25\xe2\x79\x5e\xa9\xa8\x7d\x91\xbe\xe2\x6b\x96\x5d\
+\x87\x69\x8d\x2b\x94\x9b\x19\xcc\x1d\x31\x30\x2c\x1f\x21\xec\x21\
+\x89\x7c\x55\xc5\x0e\xce\x3f\x3b\x4e\x2a\x15\x6e\x8e\x4d\x2b\xc2\
+\xcb\x2f\x64\xf1\x7d\x85\x65\x85\xa3\xd5\x2d\xd0\x95\xcf\x3b\x05\
+\x5c\xce\xc5\xb6\xad\x82\xa5\x9b\xc4\x30\xc3\x5b\x52\x86\xce\x62\
+\x98\x55\x18\x66\x2d\x2a\x64\x8a\x89\x61\x55\x20\x44\x2c\x28\xac\
+\x26\xca\x56\x09\x03\x6e\x90\x3d\x37\x85\xe2\x06\x1b\x6c\xbc\x01\
+\x98\xeb\x38\x0a\x29\x83\xee\xd2\xd2\x9c\x84\xa7\xc7\x0f\x1b\x97\
+\xf2\x14\x68\x92\x6f\x7a\x3b\xa8\xa2\x37\xe0\x38\x4e\xaf\x60\x8f\
+\xef\xfb\xa5\xb4\x12\x61\x48\x26\x68\x9f\x23\xc8\xd2\xdd\xd1\xc6\
+\xa9\xd7\x9e\xc4\x55\xef\xba\x88\x4b\x16\xbf\x1b\xad\x21\x62\xdb\
+\x68\xa5\xd9\xde\xd1\xc2\xd8\xda\x71\x41\x17\x6f\x24\xaf\x0b\xc5\
+\x1a\x39\x16\x4f\xd5\xe3\x87\x9c\x1f\x57\x81\x90\x95\x48\xb3\x2e\
+\x54\xa9\xe2\x22\x0d\x86\x99\x21\x74\x8d\xf3\xfe\x4e\xca\xf7\x97\
+\x87\x51\xae\x29\x65\xdb\x16\x2f\x2d\x87\xce\x4e\x23\x94\xd2\x31\
+\x0c\xf0\xf4\x4c\xec\x48\x6b\xf9\x49\x8e\x21\x27\xa8\xbf\xd7\xf6\
+\xcc\x85\x40\xca\x28\xd2\x88\x87\x3a\x56\x10\xb8\x6d\xf1\x9e\x3e\
+\x6e\x59\x73\x94\xcd\xd7\xf3\xec\x4b\x90\xcb\x86\xcc\x10\x11\x06\
+\xd2\x8f\x0e\x98\xea\xd0\x1f\x1f\xf7\xa6\x3f\x28\xc2\x1f\x43\x1a\
+\xe1\x95\x94\x90\x32\x38\x02\x64\xd8\x08\xdf\x0e\xe7\xf2\xc9\x62\
+\x7d\x71\x59\xf6\xfc\x84\x3d\x4f\xd6\x17\x6d\x7d\xd9\xdb\x6a\x08\
+\xc5\x50\xfb\x04\xcf\xdf\xc2\x12\x9d\x7d\xf1\xb7\x24\xc7\x04\x05\
+\x15\xc6\x01\xe3\x2a\x6b\x78\xf6\xe6\x07\x78\xe1\xf5\x57\xf8\xf2\
+\x2f\xbf\xc6\xa2\x59\x87\x70\xe5\x6d\xd7\xf3\xa9\x33\x3e\xc0\x07\
+\x4f\xbc\x80\xf1\x53\xeb\xd0\x9d\xbb\x11\x52\xd2\x52\x98\x9b\xf2\
+\x0a\x5b\x02\xc2\x44\x1a\x89\x32\xca\x07\x6b\x10\x5e\xc1\xb5\x0d\
+\xa1\xa4\x8a\xae\x9e\x65\x59\x78\x9e\x87\x6d\xdb\xe4\xf3\x79\x4c\
+\xd3\x2c\x15\xed\xb7\x2d\x9b\x8e\x76\x5d\xc0\x06\xca\x0b\x93\x1a\
+\xd2\xa4\xa3\x0b\xba\xbb\x23\xe1\xbe\x29\x04\x9a\x2a\xa4\xec\xe8\
+\x0d\x6d\x8d\x20\x63\xf7\xde\x79\xa3\xd1\x28\xae\xeb\x52\x51\x51\
+\x51\x6a\x75\x55\xee\x16\x29\x84\x2c\x71\xb6\xbc\x44\x02\x81\xd2\
+\x31\x3a\x3a\xc1\xc9\x87\xb3\xc4\x94\x16\xd4\xc4\x07\xee\x02\x52\
+\xe4\xab\x69\x9a\x85\xee\x1c\xc1\x6e\x6b\x9a\x26\xb6\x65\x95\x2c\
+\xab\xb0\x00\x69\x1f\x08\x60\xd9\xd3\x24\x8d\x08\x4e\x6e\x0b\xf8\
+\x2d\x65\x3d\x2d\x48\xe6\xac\x64\xa0\x64\xce\x60\x83\x93\x18\x46\
+\x50\xee\xda\xf3\x3c\x92\xc9\x6a\x52\xa9\x34\x95\x95\x95\x74\x76\
+\x76\xe2\xfb\x39\x0c\x56\x33\xa5\x71\x3e\xbe\x3f\x8c\x5c\x3a\x0d\
+\xf1\x58\x9c\xea\x8a\xae\x5e\x29\x2f\xc3\x91\x53\x51\xc6\x9a\xf2\
+\x7d\x9f\x9a\x9a\x1a\x3a\x3a\x3a\x48\xc4\xe3\x64\x73\x39\xe2\xf1\
+\x78\xe9\x3d\x57\xb9\x85\xc0\xba\xa4\x3b\xdd\xc5\x47\x6f\xff\x02\
+\x47\xcc\x3c\x88\xba\x8a\x1a\x9c\x6c\x96\x4f\x9e\x76\x19\x87\x4d\
+\x9d\xc7\xdc\xa9\x07\x70\xe3\x8f\x6f\xe4\x6b\x57\x7d\x05\xb2\x69\
+\x94\xf2\x88\x5a\x5b\x98\xd2\xd0\x4a\x36\x17\x29\x7b\x86\x7f\x00\
+\x00\x20\x00\x49\x44\x41\x54\xae\x00\x63\x2c\x16\xe1\xa5\xe7\xa1\
+\xdc\xa0\x81\x28\x14\xd7\x0b\x8d\x49\xd9\xb6\xcd\x53\x4b\x97\x72\
+\xcc\xd1\x47\x73\xef\x7d\xf7\x73\xfe\x79\xef\xe1\x8d\x37\xd6\xf2\
+\xf1\x6b\x3f\xcd\x45\xef\xbd\x80\xd5\x6b\xd6\xf0\x85\xcf\x5d\x87\
+\x9f\x5f\x87\x9f\x33\xcb\xe8\x16\xa3\xd0\xaa\xab\x07\x40\x55\x86\
+\x40\x0b\x8d\x21\x7d\x0c\xe9\x87\x3b\x31\x2f\x14\x08\x15\x8a\xc1\
+\x5d\x5d\x5d\x38\xae\x8b\x56\x8a\x59\x33\x67\xf2\xc3\x1f\xff\x84\
+\xc3\x17\x2d\xe4\x73\x9f\xff\x02\x77\xdd\xf9\x2b\x22\x76\x14\x95\
+\xdf\x88\x9f\x16\xe1\x30\x29\x29\xf1\xd2\xdb\xb1\xe2\x53\x31\xa4\
+\x0a\x0d\x20\x06\xf3\xe1\xed\xd9\x99\x43\x8a\xb9\x0e\x79\x90\x3a\
+\x1a\x8d\xf2\xc2\x8b\x2f\x32\x7b\xd6\x2c\x3a\x3b\x3b\xa9\xaf\xaf\
+\xe7\x89\xa7\x9e\xe2\xf9\xe7\x5f\x60\xee\xdc\xb9\x1c\x73\xf4\x11\
+\x3d\x9a\x66\x96\x27\x62\x5a\xa5\xc9\xa7\xd7\xf4\xe8\xf7\x36\xc8\
+\x37\x54\x02\x37\xbf\x03\x2b\xda\x80\x1d\x19\x57\xd6\xd3\xcc\x41\
+\x92\x39\x8b\xca\xf6\x8d\xb5\xeb\x58\xfe\xea\x0a\x16\xcc\x9f\xcf\
+\xa1\x87\x2f\xe2\xf8\xe3\x4e\xe0\xa7\xb7\xdf\xc6\x91\xc7\x1e\xc7\
+\xaa\xe5\x2f\xd3\xd6\xde\x41\x55\x2c\xc3\xc2\x43\xc6\xa3\x9c\xe1\
+\x25\xfc\x4a\xdb\xe4\x89\x7f\xd9\xb4\xb4\xfb\x18\x12\xb4\x1c\x6e\
+\xf7\x19\x30\xa5\x31\xa8\xaa\x53\x4a\x31\x66\x5c\x03\xd3\xa6\x4e\
+\xe1\x8d\x35\x2b\xf9\xd4\x75\x9f\xe1\x9a\xab\xaf\xe2\x96\x5b\x7f\
+\x40\x57\x57\x17\x33\x66\xcc\xe0\x9a\x8f\x5c\x45\xa7\xce\xf3\xb2\
+\xb3\x15\x4c\xb8\xe1\x13\x37\xec\xb1\xb8\x34\x1c\x23\x02\xf9\x78\
+\x29\xb3\x91\x0b\x2e\xbc\x94\x97\xda\x56\x63\x18\x06\x5b\x9c\x1d\
+\x8c\x4f\x9a\xfc\x7f\xf6\xde\x3b\x4c\x8e\xea\x4c\xfb\xfe\x9d\x53\
+\xa1\xc3\xf4\xe4\x19\x49\xa3\x51\xce\x02\x44\x14\x48\x02\x4c\x32\
+\x19\x4c\xf2\x62\x13\x8d\x8d\xe3\x6b\x9b\x25\x39\x60\x03\x66\x17\
+\x9c\xe3\xe2\x35\xcb\xda\x24\x63\xc0\x78\x6d\x0c\x4e\x98\x64\xb2\
+\x01\x21\x92\x48\x4a\x20\xa1\x34\x0a\x93\xa7\x73\x57\x38\xe7\xfb\
+\xa3\xba\x7b\x46\xd2\x84\xea\x19\x89\xe5\xfd\xae\xb7\xb8\x06\xd0\
+\xa8\xbb\xaa\x9e\x13\x9e\xf3\xc4\xfb\xde\x77\x41\x63\xe8\xf1\x91\
+\xb6\xc9\x1f\xef\xdb\x46\x21\xfb\x66\x68\x2b\x59\x6b\x4d\xd4\xd0\
+\x08\x31\x9e\xd0\x44\x0c\xae\xeb\x72\xf0\xc2\x85\x64\x32\x69\x4e\
+\x3e\xf9\x24\xd2\xe9\x80\xc5\xf8\xd2\x4b\xbe\xcc\xef\xef\x7b\x80\
+\x7f\xbf\xee\x1a\xde\x5c\xb3\x86\x43\x8d\x09\x24\x44\x70\x82\x4b\
+\xc3\x40\x2b\x55\x0c\xbc\x0d\xbe\x69\x3c\x3c\x5e\x11\x95\xf7\x55\
+\xfb\xbe\x64\x4a\x6b\x37\xc7\x1c\x99\x26\x1a\x0d\x37\x58\x4a\x29\
+\x5e\x7e\xb9\x17\x5f\x4d\x1e\xd2\xd7\x85\x20\x2d\x9f\xa8\xae\xc6\
+\xf7\x15\x86\x14\xe4\x5c\x45\x2a\x9d\xe1\x84\x93\x4f\xe3\x0f\xbf\
+\xbb\x87\xd3\x4e\xff\x28\x4b\x9f\x79\x8a\xfd\x3c\x9f\x83\xa5\x81\
+\x42\x22\xa5\x11\xb0\x31\x0f\xe5\xa2\x4a\xc9\x46\x47\xc0\xc2\x2c\
+\x2d\xf3\x32\xa1\x7d\x73\xa5\x14\x0f\xfc\xe9\x25\xb4\xca\x22\xf4\
+\x76\x84\x0a\x87\x63\x25\xb4\x09\xba\x30\xa2\x42\x76\x0a\x05\x66\
+\xcd\x99\x83\x6d\xdb\xc4\x6b\x6a\x68\xef\xe8\xe0\x73\x9f\xff\x12\
+\x67\x9c\xfe\x11\x6e\xbd\xf5\x6b\xdc\x72\xeb\x2f\xb1\xed\xc8\x28\
+\x2a\x9e\x34\x42\x44\xb1\xa3\xb3\x10\x46\xb8\xc0\xb9\x15\xa9\x42\
+\x9a\x35\x45\xd8\xe1\x4a\x01\x98\xc2\xe5\x4b\x45\xf1\x1f\x64\x40\
+\x6e\xfb\x9b\x5f\xdf\x46\xa2\xaa\x8a\x87\xfe\xf6\x67\x92\xa9\x24\
+\x09\x2b\xc6\xde\x3d\x0d\x24\xef\x7e\xbd\x7c\x20\x68\xc0\x30\xcc\
+\xe2\xba\xf3\x42\x67\x1d\x13\xd1\x38\xb9\x65\xed\xec\x77\xc6\x44\
+\x4e\x39\x6e\x57\x52\xd2\x51\xe9\x29\x29\xc8\x24\x43\x5a\xb6\xa5\
+\xc2\x63\xa5\x99\x32\x65\x0a\xd7\x5d\x73\x35\x1a\x8d\x21\x25\xd5\
+\x55\x31\x92\x46\x2d\x5b\x63\x7b\x57\xf0\x6c\x83\x54\xd5\x7a\xc6\
+\xad\x7c\x8b\xc2\xef\x57\xe1\xf8\x2e\x5a\x0d\xcf\x80\xac\x81\x6a\
+\xcb\xc6\xd0\x75\x58\xd1\xe9\x15\xd4\x49\x69\x0c\x2b\x3d\xa4\xa0\
+\x83\x2a\xa9\x58\x2c\xc6\x6d\x77\xfc\x9a\xed\xdb\xb7\xf3\xf6\xdb\
+\x2b\xf9\xe4\x27\x2e\xe0\x9f\xcf\xbf\x40\xf3\xb8\x71\x7c\xed\xab\
+\x97\xf3\xec\x33\xcf\x70\xf2\x19\xa7\x60\x2e\x4b\x13\x35\xa2\xb8\
+\xbe\xcb\xb3\x2b\xdf\x60\x66\x73\x2b\x53\x27\x4c\xee\x77\x62\x85\
+\x80\x92\x19\xad\x03\x25\x25\x30\x46\x91\x15\xd4\x68\xcf\xc0\xcd\
+\x68\xa4\x17\xae\xca\x5d\x69\x0d\x7e\xb8\x93\xe8\xf1\xc7\x9f\xe0\
+\xd1\xc7\x1e\x67\xe6\xcc\x19\xb4\x6f\xdf\xce\x87\x3f\x7c\x0c\xc9\
+\xee\x76\xfe\xed\xfa\x6f\xf3\xda\xeb\xaf\xd3\xb9\x69\x13\xb6\xb4\
+\x31\xed\x6a\x36\x74\x6c\x62\xe5\xe6\xb5\x2c\x99\xbd\x3f\xb5\xd5\
+\x75\xe0\x14\xc0\x8e\x04\x72\xfa\x7e\x31\x47\x2e\x89\xc8\x08\x22\
+\x92\x20\x1a\xaf\x45\x86\xc5\x80\x57\x0a\x43\x5a\xd4\x57\xf5\x72\
+\xea\x71\xcd\x14\x32\xe9\x5d\x57\x81\xd8\x55\x7c\xcb\xb4\x78\xee\
+\xc5\xd5\xc3\x06\xce\xb5\xd6\xd4\x37\x35\xf1\xb1\xe3\x4f\xe4\xee\
+\xdf\xfc\x9a\x73\xcf\x39\x8f\xbb\xee\xbc\x83\xb7\x96\xbf\xcc\x2b\
+\xaf\xbd\xc6\x35\xdf\xbc\x8a\xba\xba\x5a\xee\xfb\xe3\x9f\xb0\xec\
+\x01\x05\x96\xa1\x5e\x5d\x82\x30\x10\x86\x89\x54\xe1\xe2\x45\xd2\
+\x00\x21\x6c\x4c\x37\x8d\x21\x7c\x0c\x29\xf1\x95\x3f\xb2\x9f\x24\
+\x40\xfa\xa0\x43\x9c\xd2\xb5\xb5\x35\xcc\x9c\x39\x83\xda\xea\x1a\
+\x6a\x6b\x6b\xf8\xe1\x8f\x7f\xca\x17\x3e\xff\x59\x7e\xf8\xa3\x9f\
+\xf0\xd3\x9f\xfc\x90\x82\xce\x11\x35\x6c\x6a\xaa\x6a\xfa\xeb\xcc\
+\x0c\x8b\xa7\xde\x7e\x11\x04\x1c\xb5\xe0\xb0\x01\xeb\x57\x05\x2f\
+\xed\x7b\x83\xd7\xa4\x45\xab\xb0\xa3\x31\x9c\xb4\x47\x3e\xe5\xe3\
+\x3a\x7a\xa7\xd8\xaa\x11\x90\x88\x2a\x9f\xca\x3a\x34\x06\x8f\x1d\
+\xee\xe0\xc6\x3b\x59\x2e\x3c\xef\x5c\x0a\x85\x02\x87\x1f\x76\x18\
+\x5b\xb7\x6d\xe3\xc1\x07\x1f\x22\x97\xcb\x31\xa1\x65\x02\xa7\x9c\
+\x78\x2c\x86\x30\xb0\x65\x34\xb4\x3f\x2e\x24\x58\x52\x61\x5a\x36\
+\xa6\x34\x78\x65\xfd\x2a\x26\xd5\x35\x31\x65\xc2\xd4\x60\x0c\x0c\
+\xb3\x78\x2f\x0d\xee\x00\xf8\x67\x2b\x82\x90\x36\x52\x26\xc2\x1f\
+\xce\x1a\x84\xf4\x80\x6c\x78\x25\x95\xcd\x66\xb9\xf8\x93\x17\x21\
+\xa5\xc4\x34\x4d\xf2\xf9\x3c\x27\x9c\x70\x3c\x4a\x29\x5c\xd7\x65\
+\xaf\xb9\x73\xd9\xb0\xbd\x8d\x58\xb1\xf3\x70\x4b\x77\x3b\x3f\x7b\
+\xe0\xbf\x39\xf7\x43\xa7\x51\x57\x55\xcd\xa6\xae\xad\x58\xc2\xa0\
+\xa0\x3c\xf6\x9d\xb5\x2f\x14\x72\x10\x8b\xa3\xd3\x7d\xa3\x3b\x51\
+\x0c\x89\xff\x6e\x1f\xed\xd9\x95\x58\x86\x45\xa2\xa6\x81\x4c\xaa\
+\x27\x18\x40\xd3\xc6\x73\x1d\x0c\xd3\xc2\xf3\x9c\x32\xd8\x58\x50\
+\x4d\xdd\x07\x07\x49\xf0\x87\x8e\x5d\x18\x86\xc1\x69\x1f\x39\x85\
+\x7f\x39\xeb\xcc\x00\xd1\xb0\x48\x7e\xda\xdb\xdb\xcb\x37\xbe\xfe\
+\x55\x7a\x3a\xb6\x22\x64\xf1\xb4\x8f\x27\xb8\xf3\xe9\x3f\x73\xf7\
+\x53\xf7\xf3\xc0\xd5\xb7\xf2\xe2\x9a\xd7\x38\x7e\xc9\x49\xdc\xf5\
+\xd0\x5d\x9c\x78\xe0\x51\x34\x37\x8e\x07\xcf\x05\xcb\x46\x69\x85\
+\x2c\x36\xb6\x86\x5d\x18\x5a\x07\x16\x42\x22\x69\xb2\xe9\x8f\xaf\
+\xa2\x85\x44\x15\x91\x42\x1d\xa7\x40\x2c\x9e\x20\x93\x4e\x52\x55\
+\x55\x4d\x3e\x9f\xc3\x73\x0b\x20\x04\xd2\x17\x18\x13\x24\xd2\x30\
+\x86\xb5\xa4\xba\xda\xdb\x79\xf8\xc1\xbf\x92\x4c\x26\x79\xe6\xc9\
+\x7f\x90\x4c\x06\xf1\xb6\x25\x8b\x17\xe3\x79\x1e\xa6\x69\x20\x04\
+\x18\x7e\x0a\x29\x14\x8d\xd5\x75\xe4\x9c\x02\xd9\x42\xae\x68\xba\
+\xeb\x5d\xe2\x2d\x02\x90\x7e\x16\x51\xcc\xea\x85\xae\x4c\x06\x1c\
+\x61\x32\xd7\xd9\x40\x9d\x88\xb0\x6a\xf3\x3a\xe6\xb5\xce\x08\xb8\
+\xdb\x22\x31\x9c\x42\x0e\xd3\xb2\x51\xbe\x8f\xbf\x13\xb5\xbd\xed\
+\x25\xf0\x44\xcb\x90\x16\x72\x69\x43\x37\x35\x35\x31\x7e\xfc\x78\
+\x7c\xdf\xa7\xb7\xb7\x8f\x7f\xbf\xee\x1a\x72\xb9\x3c\x37\xfe\xec\
+\x27\xa4\x8b\x07\x80\x1e\x48\x16\xa8\x35\x44\xa2\xdc\xf2\xd4\xfd\
+\x80\x60\xef\xe9\x7b\xb3\xa1\xed\x5d\x1c\xc7\xa1\x36\x9e\x60\x7b\
+\xaa\x87\xf9\x13\xa7\xd3\xd2\x34\x91\x1d\xf0\x81\x8b\xd4\x3e\x91\
+\xea\x18\xb9\x77\xbb\xd9\xfe\xd0\xdb\x38\x03\xfe\x5e\x01\xef\xb6\
+\xad\xa3\xe0\x7b\x2c\x9e\xbf\x90\x42\x71\x3c\x3d\xd7\x61\x38\xa7\
+\x5e\x65\x5d\x9a\x4f\x99\x85\xb0\x87\x9f\xd7\x9e\x9e\x1e\xae\xf9\
+\xe6\x55\xa4\xd2\x69\x3e\x72\xea\xc9\x38\x8e\xc3\x67\x3f\xfd\x29\
+\x28\xc6\x21\x29\x66\xa4\x35\x3a\x5c\x97\x87\xee\x2f\x26\x95\x42\
+\xd0\x91\xea\xe1\x9e\xe7\x1f\xe4\x23\x07\x1f\xcb\xb3\x6b\x96\x73\
+\xe6\xc2\x0f\xf3\xc8\xf2\xa7\xd1\x08\x6c\xd3\xe2\xf8\xfd\x0e\xc7\
+\x8e\x27\xd0\xf9\x4c\xd0\x3f\xa0\x0a\x28\x3f\x89\xd6\x21\xdd\x3d\
+\x15\xb0\x76\x87\xa6\x59\x2f\xa5\x34\x0b\x85\xc2\x0e\x99\x3e\xc7\
+\x71\x76\xa8\x2b\x12\x3b\x55\x36\xee\x3f\x7d\x6f\x5e\x7a\xf7\x0d\
+\x9e\x5f\xf9\x32\x0d\xd5\xf5\xac\x6a\x5b\x4b\x32\x9b\x62\xef\x59\
+\x0b\xb8\xe1\xfc\xaf\xf0\xa7\xa7\xee\xe7\xe3\x87\x1c\x37\x2a\x25\
+\xe5\xa3\x69\xb1\xaa\x99\x1b\x6d\xc1\x88\x57\xf3\x95\x3b\xbf\xc7\
+\xf7\xcf\xbe\x84\xd7\xd6\xaf\x62\xf9\x86\xd5\xec\x3b\x6d\x1e\xef\
+\x6e\xdf\xc4\x01\x53\x66\xb3\xd7\xa4\x59\xe5\x91\x2e\xe4\x0a\xc3\
+\x66\x5c\xfa\x65\x73\x71\x9c\x5d\x63\x29\xb9\x5c\x6e\xc7\x60\xb4\
+\xd6\xc4\xed\x28\x4b\xf6\x3a\x84\x9b\xfe\x72\x1b\xcf\xbd\xb5\x94\
+\x97\x37\xae\xe1\xb6\xbf\xfd\x9a\xbb\x9f\xfc\x23\x1f\xfd\xd0\xa9\
+\x2c\xde\xe7\x50\xda\xb6\x6f\xe2\xc0\x96\x99\x8c\x06\x9b\x51\x00\
+\x4d\x46\x82\xc9\x75\x33\xf9\xfb\xf3\x7f\xa7\x36\x12\x63\xd5\xd6\
+\xf7\x38\x72\xee\x41\xfc\xec\x8f\x77\x73\xdd\x19\x9f\xe3\x3b\xbf\
+\xbd\x95\x73\x16\x9f\xc0\xbe\x33\xf6\x0e\x4e\x35\x65\xd0\x2b\x37\
+\x0c\x1b\xc3\x2a\x29\xe4\x64\x32\x89\xd6\x9a\xbe\xbe\xe4\x0e\xee\
+\x7d\x80\x14\x00\x4a\x08\xe6\xbb\x1d\x54\x9b\x0e\xdf\xbd\xfd\xdf\
+\x38\x7c\xde\x42\x8e\xda\xef\x43\xb8\xf9\x4c\xb0\xe8\x75\x00\xe5\
+\x22\x06\x9c\x92\x79\x2f\x4f\x4a\x65\x2b\x76\xe3\x3d\xed\xd3\x62\
+\x4d\x60\x5c\x34\xc1\xd7\xef\xfb\x0e\xa7\x2e\x3c\x86\x93\x0e\x3c\
+\x8a\x17\xde\x5c\xce\xf1\x0b\x96\xf0\xc6\xba\x77\x18\x5f\xdb\xc8\
+\xf4\xc6\x96\x1d\x34\x9f\x6f\x18\xf4\x6a\x35\x64\xcd\xf9\xc0\xde\
+\x35\xcf\xf3\xca\x6b\x3a\x9b\x0d\x18\xaa\xd3\xe9\x74\xb1\x78\x70\
+\xb0\x97\x72\x39\x68\xf6\xfe\x64\x9c\x3c\xef\xae\x7b\x8b\x17\xd6\
+\x2c\xe7\x9e\x67\xfe\xc2\x77\xce\xbf\x92\xdf\x3c\xf5\x00\x97\x9e\
+\x72\x11\x5d\xe9\x3e\xf6\x9a\x38\x63\x17\x4b\x41\x69\xc5\x38\xab\
+\x8e\xa9\xb1\x89\xe0\x39\xe5\x19\x6d\x2f\x64\xf9\xf9\x6f\x6e\xe6\
+\xfa\xf3\xaf\xe4\xcd\xd7\xdf\xa0\xb5\xb6\x91\xbe\x5c\x9a\x85\x33\
+\x17\x60\x89\xe1\x0e\x17\x4d\x6f\xb9\x77\x74\xf8\x79\xcd\x64\xb3\
+\xe5\x52\x04\x80\x5c\x3e\x5f\xb4\xc0\xc0\xb6\x47\x5f\x17\xa1\xb5\
+\x26\x1e\x89\xb3\x60\xfa\xde\xec\x3d\x6d\x3e\xa7\xdd\x76\x3d\xff\
+\x78\xe5\x29\xfa\x72\x29\xfe\xb9\xe2\x65\x66\x4c\x9c\x46\x7d\x53\
+\x0b\xa9\xbe\x2e\x4e\x3c\xe0\x88\xfe\x44\x8a\x76\x11\xba\x82\xb6\
+\x18\xad\x18\xaa\x20\x79\xc4\x3a\xa9\xc1\x1a\x16\x77\xde\xb8\xe3\
+\xeb\x9b\x98\x36\x7e\x32\x86\x94\x8c\xaf\x6d\x62\xfa\xb8\x56\x36\
+\x74\x6c\xc1\xd7\x8a\x8e\xbe\x4e\x0c\xad\x69\x49\xd4\x8f\x7a\xa0\
+\x04\xe0\x6b\x85\x8f\x8f\xa1\x5c\x66\x35\x8d\xc7\xd1\x2e\xb6\x21\
+\x89\x99\x02\x29\x34\x11\x03\x0c\x51\x3a\xb7\x34\x0a\x8d\x1f\x8a\
+\x92\x69\xd7\x06\xe3\x21\x15\x5b\x3e\xcb\xf1\x0b\x96\x50\x1f\x89\
+\x21\xa4\xe4\xe3\x4b\x4e\x62\x6b\xcf\x76\xfe\xf0\xb5\xff\xe2\xb5\
+\xf5\x2b\x68\xae\x6b\xa6\xda\xb2\x69\xae\xaa\xde\xa1\xa6\xac\xc2\
+\x44\x51\xf0\xde\xca\xa3\x3e\x1e\xa7\x3a\x12\x23\x2a\x21\x62\x9a\
+\x44\x51\x60\x08\xe2\x12\x12\xb1\x58\xf1\x84\x0c\xe1\x22\x0d\x22\
+\xef\x50\x32\x6a\xad\x99\x26\x4d\x12\xb1\x1a\x7e\xf5\xdb\x1b\x89\
+\x9f\x7c\x11\x87\x4e\x9c\xcd\xed\x7f\xbf\x93\x6f\x9d\x73\x19\xe9\
+\x74\x92\xfa\x44\x1d\x52\x98\x65\xaf\xa5\x20\x7d\xde\x16\x72\x14\
+\xc5\x16\xa0\xf0\x41\x79\x9c\x7c\xf0\xd1\x4c\x6c\x1c\x8f\x46\x61\
+\x1b\x02\x5f\x28\xe2\x11\x1b\xdb\x34\x50\x3a\xc0\xec\x16\xe5\xf1\
+\x09\x57\x31\x17\xa6\x04\x81\x9d\x6d\x43\xad\x69\x34\x0c\xaa\x4d\
+\x8b\x85\xb3\xf7\x63\x66\xcb\x74\xe6\x4e\x9a\xc5\xb1\xfb\x1e\xca\
+\xd4\xe6\x56\x26\x37\xb5\xd0\xd1\xd7\x55\x94\x7d\xd7\xfb\x29\x54\
+\x71\x4e\xfc\xb2\x94\xb6\x80\xd3\x0f\x3d\x9e\xbd\xa7\xcd\xe1\xf9\
+\x55\xaf\x00\x3e\xd5\x91\x08\x4a\xfb\x28\x39\x1c\x96\x83\xae\x48\
+\x99\x0c\xb5\x5f\xc7\xd2\x9e\xa3\x01\x53\x40\x83\x61\xe0\xf4\x76\
+\xf2\xeb\x2f\xff\x90\x37\x36\xae\xe1\x43\xf3\x0f\xe2\x9d\xad\x1b\
+\xa8\xab\xae\xa3\xa9\xba\x9e\x0e\xa7\xd0\x6f\x46\xcb\x28\x86\xd9\
+\x18\xda\xdd\x13\x1a\x84\xd1\x47\xe8\x8a\xf3\x52\xaa\xba\xbe\xbe\
+\x8e\x9e\x9e\x5e\x1a\xc6\x8d\xa7\x6b\xfb\x36\x22\x91\x08\x96\x65\
+\x95\xb3\x37\x52\x4a\x4c\x11\xf0\x72\x45\xad\x38\x9f\x3e\xe1\x82\
+\x7e\xdf\x5d\x29\xe6\x4d\x9d\xdf\x9f\x93\x76\x1d\x8e\xde\xef\x43\
+\x28\x27\x8f\x14\x15\xd6\x5e\x14\x79\xe2\x6d\x61\x62\x69\x13\x1c\
+\xc5\x17\x4e\xfa\x34\x38\x79\xf6\x9b\xba\x0f\xfb\x4d\x0d\x82\x81\
+\x07\x4f\x5b\x10\x7c\xb8\xa8\x1b\xa4\x56\x58\x23\xc4\xbf\xca\x60\
+\xfd\xa6\x19\xc4\x8d\x84\x20\x9b\xcd\xd2\x34\xae\x99\x64\x6f\x1f\
+\x86\x61\x10\x8f\xc5\xe8\x6a\xef\xc2\xc0\x00\xcf\x67\xdf\xa9\xf3\
+\xd9\x77\xc6\x82\x7e\x59\x85\x00\xa5\x38\x70\xee\x41\xc1\x9f\x7d\
+\x9f\xe9\xcd\x93\xd9\xb2\x71\x1d\xa6\x69\x61\xc8\xf0\xd9\x32\xc3\
+\x08\x92\x10\x16\x06\x38\x8a\x25\xb3\x16\x82\x80\x7d\x26\xce\x05\
+\x29\xb9\xfe\xec\xcb\xc1\x30\xb9\xe6\xac\x4b\xc0\xb4\xc0\x0b\x7a\
+\xcf\x50\x46\xb1\x1c\x64\xe4\x4c\x66\x6d\x6d\x2d\x99\x4c\x06\xcb\
+\x34\xf1\x7c\x8f\x9a\x86\x26\x52\x3d\xdd\x54\xd7\xd6\xa0\x7d\x1f\
+\xad\x05\x52\x9b\x90\xce\xb2\xf4\xc7\x0f\x31\xa5\xb6\x99\xda\x68\
+\x15\x17\x1c\xfd\x71\x22\x58\x58\xf1\x86\x40\x41\xe9\x7e\x00\x35\
+\xa9\x24\x52\xcb\xfe\xb6\x18\x31\xf2\x94\x16\xf1\x71\x31\xb5\x09\
+\xbe\xe0\x13\x87\x9f\x15\xc8\xe4\x7b\x1c\xbf\xef\x51\x00\xec\xd5\
+\x3a\x9f\x52\xd3\x2e\x4a\x94\xbf\x6b\x69\x39\x6c\xb8\xac\xb4\x39\
+\x4d\xd3\xc4\xb6\x6d\x1c\xc7\x09\xe8\xe3\xe3\xf1\x72\x69\x49\x4f\
+\x6f\x0f\x02\x30\x31\x8a\xfd\x69\xc5\x6c\xb3\xe3\x70\xd1\x71\xe7\
+\x06\x77\x77\x1d\xc6\xd5\x8d\xe3\x94\x43\x4e\x00\xcf\x65\xfe\x94\
+\x79\xa0\x15\x89\x58\xcd\x8e\x71\x29\x41\x50\xab\x26\x24\xa6\x36\
+\x40\x99\x3b\x30\xbb\xd6\x99\x71\xbe\x78\xdc\x85\x28\xdf\xe3\xf8\
+\x05\x47\x06\x0b\xdf\x30\xfa\x3f\xa3\x86\x09\xd6\x84\x28\x41\xf0\
+\x3c\x8f\xa6\x09\xad\x74\xb7\x6f\x2d\xef\xdb\xaa\xaa\x38\x91\x68\
+\x8c\x7c\x2e\x17\x9a\x66\x6c\xb0\x89\x12\x1a\xe2\x35\xcd\x7c\xec\
+\x88\xb3\x40\x79\x20\x24\xfb\xcd\x3e\x00\x7c\x8f\x69\x2d\x33\xca\
+\xae\xee\xf4\xa6\xd6\xc0\x05\xb6\x4d\xc0\x42\x69\x19\x3a\x43\x16\
+\x4c\xd7\xd0\xb1\xcc\x41\xff\x26\x91\x48\x70\xe5\x57\xaf\xe2\xfa\
+\x6f\x5f\xcf\xa1\x4b\x0e\xe3\xd9\xa7\x1e\xe7\xc5\x65\x2f\xb1\xee\
+\xbd\x75\xcc\x9a\x39\x8b\xda\xda\x1a\x32\x4e\x9e\x82\xe7\x61\x38\
+\xba\xd4\xf0\x3f\xb2\x79\xef\xfb\xf4\xe4\x7b\xa9\xb1\x5f\x01\xb3\
+\x2f\x64\x31\xa7\x41\x67\x67\x3b\xcb\xf5\x56\xb2\x55\x46\xb1\x17\
+\x89\xfe\x16\x3e\xb1\x53\x40\x79\xc0\x42\xed\x28\x74\x30\x8d\x05\
+\xb8\x43\xc4\x2e\x84\x10\x38\x8e\xc3\xea\xd5\x6b\x48\xa5\x52\xf8\
+\x4a\x71\xc2\xc9\x1f\xe1\xb3\x9f\xf9\x14\x5f\xbb\xf2\x4a\xb6\x6d\
+\xdb\xc6\x23\x8f\x3d\xc6\xd7\xaf\xb8\x92\xcd\x7e\x37\x09\x67\x13\
+\x7e\x98\x46\x5e\x21\xd9\xa6\xda\x51\x1b\x3c\x3a\xc9\x85\x0e\x9c\
+\x6b\xad\xc9\xbb\x2e\x6f\xea\x36\x5e\xa8\x7e\xb7\x1f\xb6\x58\x0c\
+\x12\x34\xd7\x3b\x2d\x54\xe5\x30\x49\x0f\x7f\xef\xc6\xc6\x46\xbe\
+\xf3\xbd\x1f\xf0\x89\x0b\xce\x63\xf5\x9a\x35\x4c\x9f\x36\x9d\xb3\
+\xce\x3e\x97\x9f\xfe\xf8\x07\xfc\xec\xc6\xff\xe4\x8a\xcb\xfe\x15\
+\x89\xe6\x99\xd8\x7b\x44\x6c\x1b\x63\xdf\x18\xab\x55\x12\x74\x2f\
+\xa2\xd9\x60\x9b\xbf\x6e\xd0\xb0\x41\xc1\x2a\xb0\x5e\x6c\x60\x52\
+\xef\x8b\x78\x5e\xb8\xa6\x68\xed\x56\xe1\xf7\x6d\x62\x59\x7c\x1d\
+\xb1\x12\x19\xab\xde\x69\x4e\x87\xd8\x38\x75\xd1\x1a\x66\xea\xa9\
+\x45\x1e\xc7\xa1\xdd\xbd\x75\xeb\xd6\xb1\x62\xe5\x2a\xf6\xda\x6b\
+\x3e\xb3\x66\xcc\xe0\x91\x47\x1e\x65\xda\xf4\x69\xdc\x75\xcf\xbd\
+\x7c\xfb\xfa\xeb\xe8\x4e\xe6\x58\xeb\x6e\x27\x55\x28\xec\x58\xc3\
+\xee\x56\x6e\x6e\xc4\x45\x8c\xce\x6c\x37\x7d\x8d\x9a\x44\xe2\xdd\
+\x5d\x4b\x31\x44\x85\xc6\x91\x80\x82\xe9\xb0\x50\xec\x8b\x39\xcc\
+\xd7\x94\x52\x34\x4d\x98\xc4\xc2\x83\x0e\x64\xe9\x73\xcf\xf0\xcd\
+\x6b\xae\xe3\xda\x6f\x5e\xc5\xfd\x0f\xfc\x99\x27\x9e\x7c\x8a\xe3\
+\x8f\x3f\x8e\x63\x8e\x3a\x7c\x54\x0a\x4a\x69\xc5\x16\xaf\x87\xf5\
+\xf9\x0d\xe4\x9d\x42\xb8\x3a\x29\x1d\xc5\xf7\xdf\x26\x6a\xd6\x54\
+\x94\xd5\xc6\x17\x68\xf6\x1a\x34\xce\x38\xa8\x92\xca\x64\x32\x5c\
+\x7b\xf5\x37\x70\x73\x39\x1e\xfc\xcb\x03\xa4\x52\x29\x5e\x5b\xbe\
+\x9c\xf5\xeb\x37\xd2\xd2\x32\x91\x48\xc4\xc6\x2f\xa4\xd8\x10\x3f\
+\x98\xac\xac\xa9\x00\xf4\xce\xa5\x10\x7b\x94\x9c\x7b\x10\x39\xcf\
+\x0f\xf7\x3d\x65\x60\xc5\x37\xe2\x9a\x9b\xe9\x76\x0f\xc0\x0a\xdb\
+\x60\xac\x35\x9e\xf1\xd6\x88\x10\x22\x96\x65\x31\x67\xce\xec\xa2\
+\x75\x68\xb0\xe9\xbd\x77\xe8\xee\xee\x41\x08\xe8\xe9\xeb\xe3\xb5\
+\xe5\x6f\x80\x69\xb3\x29\x32\x07\x37\xb1\x10\x1d\xc2\x8d\x13\x52\
+\xb2\xdd\xd9\xca\x91\x5b\xb6\x30\x37\x25\xfb\xe3\x37\x21\xb2\x65\
+\xa6\x9c\xce\x13\x66\x07\x5d\xee\x61\x14\x3c\x3f\xa4\xac\x06\xf5\
+\x55\x2f\x0e\x3b\x9e\xa5\x00\xeb\x17\xbf\xf0\x39\x00\x0e\x3c\xf0\
+\x40\xd6\xae\x5d\x47\x55\xa2\x8a\x35\xef\xbc\xc3\xd2\xa5\x2f\xd2\
+\xdd\xd3\x43\x2c\x1a\xa5\xcf\x5f\x8c\xe9\xd5\x84\xc6\x0a\x74\xdc\
+\x1c\x8e\x8c\x11\xab\x5d\x84\xeb\x84\x7b\xe7\x68\xd4\x20\x51\x3d\
+\x9e\x3e\xff\x40\x72\xee\xb8\x8a\x5c\x1b\xd3\x77\x90\x74\xe3\x0f\
+\x63\x3d\x96\x5a\x7e\x7a\x7a\x7a\x29\x14\x1c\xa4\x61\xd0\xd5\xd3\
+\xc3\xf4\xe9\xd3\x83\x42\x47\xad\x71\x45\x84\xb5\xf1\x03\x68\x4f\
+\xb4\x86\x42\x91\x18\xce\x25\x8a\x46\x24\x5d\x89\x97\xa9\x17\xad\
+\x74\xb9\x47\xe0\x79\x63\x07\x7e\xcb\xba\x12\xcd\xf6\x50\x63\xf3\
+\xd6\x8a\x15\x01\x81\x4a\xdb\x16\x7c\xa5\x48\x67\x32\x44\x62\x51\
+\x6c\xdb\x1a\x5d\xab\x8e\x06\x5f\x98\x6c\x8e\xce\xe2\x8d\xc4\x21\
+\xb8\x21\x08\x36\x34\x60\xd8\x92\xb9\xbc\xc6\x49\xd9\x49\x15\xb5\
+\xc5\xa4\xab\xbc\x21\xc3\x33\xe6\x48\xbe\x6d\xc9\x74\xbe\xe8\xc2\
+\x0b\x30\x0d\x03\xb7\xd8\xcb\xd7\xd7\xdb\x4e\xc7\x6a\xb5\x4b\xc5\
+\xf6\xf0\xca\x59\x96\x39\xc9\x82\x96\x88\xb0\x03\x16\x1c\xad\x41\
+\x43\x68\x05\xfc\xf2\x15\x07\x09\x15\xf1\x78\x9c\x3f\xfc\xee\x1e\
+\xd2\xe9\x0c\x13\x26\x4c\xe0\x94\x13\x4f\xa0\xa3\xb3\x8f\xb2\x17\
+\x13\x22\xf5\x2d\x76\x2c\x5f\x29\x1a\x06\x02\x4f\xe8\x80\xef\x71\
+\x60\xdb\x51\x71\x62\x44\xb1\x5e\x28\xc0\xe4\x29\x81\xb5\x85\x0d\
+\x3c\xf6\x7f\x27\x4c\xcc\xa2\xf4\x8e\x73\xe7\xcc\xe6\xcf\xf7\xff\
+\x81\x54\x5f\x92\x8f\x9e\x79\x26\x5a\x6b\xee\xb9\xe7\x5e\x6c\xbb\
+\x92\x71\x2e\x8d\x89\x28\x53\xbe\x87\xca\xee\x95\xba\x5a\x75\xa5\
+\xdc\x84\xe1\xe2\x8c\x5a\x6b\xe6\xcf\x9b\xcb\x82\x05\xfb\xe0\x79\
+\x1e\xb9\x5c\x8e\x73\x3e\x76\x36\x9e\xe7\xf1\xad\xab\xbf\x41\x2a\
+\x95\x2c\xce\x69\x29\xd6\x25\x47\xad\x4c\xc4\x8e\x3e\x6c\x51\x7e\
+\x63\xcc\x7d\x7c\xfd\xc0\x77\x43\xcb\x2c\xa5\xa4\x73\xdb\x66\xf2\
+\xb9\x34\x5d\xdb\xb7\x73\xfb\xad\xbf\x24\x99\x4c\x72\xc1\xb9\xe7\
+\xf0\xe9\x4f\x5e\x44\xbe\x50\x28\x67\xf7\x46\xa7\x81\x45\x19\xd5\
+\x23\x54\x87\x71\x71\xad\xcb\xe2\xba\xf7\x8a\x6b\x2e\xd2\x2f\xd0\
+\x80\x4c\x63\xbf\x57\x3b\x5c\x67\x92\x39\x94\xa9\xbc\x33\xaa\xa1\
+\xeb\xba\x3b\xc4\xa3\x82\xd4\xa6\x2e\x72\xe1\x85\x5d\x5e\xde\x98\
+\xfa\xef\xb4\xf6\xc2\xa7\x35\xb5\x0e\xf5\xac\x9d\xfb\x14\x0d\xc3\
+\x28\x67\xbe\x7c\xdf\xc7\x75\xdd\x72\xff\x5e\x65\x97\xec\x4f\xfd\
+\x27\x7b\x58\xd9\xb6\x96\x9f\xfc\xf9\x56\xfe\xf4\xad\x5f\x93\x4e\
+\xf7\x62\x19\xc1\x09\x67\x95\xfa\x9b\xf6\x70\x63\xea\x60\xec\xbd\
+\xbe\xef\xd3\xd3\xdd\x03\x10\xb4\x54\x54\xc5\x8a\x0b\xc9\x2f\xce\
+\x6b\xc8\xa0\xa1\xf6\x18\x5d\x87\x6e\x40\x44\x1a\xfe\x59\xa5\x6f\
+\xa9\x61\x07\xac\xdc\x30\xee\xfb\x78\x45\x30\xb1\x52\xc6\x1a\x20\
+\x95\x4a\x21\xa5\x2c\xb2\x69\xbb\x44\x6c\xc6\x0e\xd5\x62\x49\x0c\
+\xa9\xdf\xf7\xfe\xbd\x12\x99\x6d\x4f\x47\x07\x86\x61\x94\x65\xcb\
+\x17\x0a\x81\x82\x02\x6c\x5b\x8e\x49\x53\x56\x02\x12\x2a\x06\xb8\
+\xb5\x7e\x34\xc6\x19\xd7\x9e\x47\x57\xa6\x8f\x17\x6f\x7c\x98\x9e\
+\xce\x6d\xc4\x22\x51\x4c\x21\x31\xa4\x1c\x40\xd4\x3a\xfc\x98\x99\
+\x95\x2c\xf0\x9d\x4f\x4f\xe5\x77\xe3\xbb\xf9\xd0\x02\x28\x3f\x20\
+\x62\x10\xa3\x18\x28\xe5\x27\xf1\xdd\x76\x04\x91\x70\x0b\x5a\x6b\
+\x94\x4a\x51\x09\xca\xfe\x50\x34\xdc\x1a\x85\x52\x39\x94\x9f\x46\
+\xa9\x10\x28\x08\x52\xa2\x54\xb2\x0c\xab\x1b\xb1\x6c\x1e\x5e\xfe\
+\x2c\x97\x9f\xf1\x59\xde\x5e\xfb\x16\xeb\x3b\xda\x98\xda\x3c\x91\
+\x98\x1d\x61\x66\xcb\xb4\xa2\xb2\xd7\xef\x3b\x9a\xff\xce\x0a\xba\
+\xc4\xb8\xec\xbb\xdd\x40\x3e\xb4\x92\xf2\xbc\x5c\x50\xe7\x52\x31\
+\x31\x8e\x81\xef\xa6\xf1\xa5\xae\x88\x77\xcf\xf7\x4a\x56\xa6\xae\
+\x68\xdd\xee\x00\xb1\x8b\xc0\xf7\xb3\xd8\x72\x25\xfb\xcc\x8b\xe3\
+\xb9\xa3\x27\xf3\xd4\x40\x55\xbc\x8a\xd7\x96\xa5\xc9\x3a\xea\x7f\
+\x65\x0e\x87\xfa\xef\x98\x51\x47\x55\x0e\xdf\xcf\xe3\x7b\x21\x69\
+\xdd\xbc\x48\xe0\xc5\x88\x60\xbf\x0b\xc3\xe0\x86\xf3\xae\xe4\x91\
+\x17\x1e\x66\x7d\x47\x1b\x87\xce\xd9\x9f\x96\xc6\x09\x34\x54\xd5\
+\x86\x5e\x2e\x43\xb2\xc5\x94\xac\xa5\x52\xa3\x71\x29\x88\xad\x94\
+\x2a\x56\xcf\x2a\x0c\xb3\x09\x53\x57\x42\xc4\xe0\x23\x45\x74\x34\
+\xc7\x05\xd2\xac\xc3\x8a\x4c\xc6\x34\xc3\x73\x47\x78\xee\xf0\x00\
+\xfb\x3b\xe3\x60\x97\x32\x9b\xa5\xf6\x02\xc3\x34\x8a\xb2\x6b\x94\
+\xd7\x8d\xeb\x6c\x46\x2b\x3f\x94\x92\xf2\x9c\x6d\x20\x03\x7c\xa6\
+\xea\x78\x35\xdf\xb9\xf8\xda\x60\x8b\x39\x59\xf6\x9e\xb5\xa0\x5c\
+\x47\xa3\x8b\x27\x7d\x85\x6c\x43\xa3\x3e\x75\xa5\x94\xe5\xff\x96\
+\xe8\xb8\x77\x54\x56\x0a\xc3\x9e\x80\x65\x55\x02\x7a\x97\x47\x1a\
+\x9b\x2b\x16\x40\x2b\x0f\xd3\xae\xc3\x8c\x34\x57\xf4\x5d\x69\x16\
+\xd0\x7a\x64\x3c\x29\x21\x44\x59\xde\x52\x73\xb5\xef\xfb\x58\x96\
+\x85\xef\x7b\x48\x69\xe2\x78\x8d\xac\xdf\xe8\xe3\xfb\x63\x1b\xfd\
+\x58\xcc\xa7\x2f\xa9\x89\xc4\x25\xef\xf7\x55\xb2\xa6\x4a\x6b\x37\
+\xe8\x5c\x90\x41\x73\xfe\x58\xb4\x94\x56\x28\xaf\x1b\xaf\xb0\x19\
+\x2f\x24\x4e\x98\xd4\x76\x59\x33\xda\x9e\xc3\x83\x3f\x7c\x20\xe8\
+\xca\x70\x0a\x41\xf6\xd6\xc9\x17\xd9\xc5\x55\x68\xf7\xdd\x1c\x6a\
+\x93\xf5\xf6\xf6\xd2\xd8\xd8\xc8\x33\xcf\x3c\xcb\x61\x87\x1d\x4a\
+\xa1\x50\x60\xdd\x7b\xef\x31\x63\xfa\x74\xb6\x6c\xdd\xc6\x84\x71\
+\xb5\xa3\x20\x62\x50\x68\x34\x9e\x00\xbf\x02\xf3\x51\x49\x13\xd7\
+\x75\xc8\x66\x93\xa1\x89\x18\xb4\xd6\xf8\xae\x33\xac\x25\x55\x72\
+\x65\x3d\xcf\x27\x9b\xcd\xe0\x38\x2e\xcd\xcd\x4d\xf4\xf5\xf5\x31\
+\x69\x52\x2b\x4b\x97\x2e\xe3\xd0\xc3\x0f\x65\xeb\x96\x4e\xcc\xc8\
+\x64\xa2\xf1\x79\xa1\x28\xb5\xa4\x04\x3b\xdf\x44\xc4\x6d\x2b\xd2\
+\x59\x09\xc8\x0f\xe8\xc3\x73\x9c\x01\xef\x60\xec\x60\x25\xd8\xc2\
+\xd8\x63\x90\x34\x52\x4a\x92\xc9\x24\xb1\x58\x8c\xee\xee\x6e\x5a\
+\x5a\x5a\x30\x4d\x93\xed\xdb\xb7\xd3\xd4\xd4\x54\x36\xbd\xb5\xca\
+\xa3\x94\x15\xda\x02\x55\x2a\x87\xc6\x2f\xc2\xaf\x84\x9b\x53\x51\
+\x4c\xdb\x6b\xa5\xd0\x7e\xa1\x22\x99\xb5\x76\x46\x44\x7c\x80\x00\
+\x0b\x6c\xdb\xf6\xed\xc4\x62\x31\x26\x8c\x1f\xcf\xcb\xaf\xbc\xca\
+\xfc\x79\x73\x79\xf9\xe5\x57\x58\xb2\xf8\x10\xa4\x8c\xa2\xe5\x1c\
+\x3a\xba\xc7\x8f\x6d\xc4\x35\x44\xf2\x90\x2d\xd4\x10\x4b\xc8\x32\
+\xc5\xdd\xd8\xad\xa4\x70\xf3\x6a\x59\x16\xef\xbe\xbb\x96\x58\x2c\
+\x8a\xe3\xb8\x8c\x1b\xd7\xcc\xa6\x4d\x9b\xf1\x3c\x8f\x58\x3c\xce\
+\xf4\xa9\xad\xa3\x7c\x01\x03\xd3\x9e\x4c\xa4\x6a\x16\x61\xd9\xd6\
+\xa5\x0d\xae\x78\x26\x28\xd9\x11\x12\x7a\xbb\x07\x58\x0d\xde\x80\
+\x95\xde\xbf\xee\xa5\xd0\x44\x84\x22\x4f\x05\xbd\x7b\x5a\x6b\x62\
+\xb1\x18\x91\x48\x84\xb9\x73\xe7\xf0\xf8\x13\x4f\x72\xc8\x21\x0b\
+\x59\xbb\x6e\x1d\x7f\xfa\xf3\x5f\x39\xe7\x63\x67\xb3\x75\xdb\x36\
+\xa4\x18\x57\xa1\xd0\x60\x48\xcd\x84\xcc\x3a\x7a\x32\x99\x50\x93\
+\x10\x20\x04\xf6\x30\x69\x5c\x86\x03\x17\x4a\x22\x76\x48\x8c\x1a\
+\xad\x59\xfb\x8e\x13\x4a\xa9\xd8\xb6\x4d\x7d\x7d\x1d\x77\xdf\x73\
+\x2f\x07\x1c\x74\x00\xaf\x2f\x7f\x9d\x3f\xff\xe5\x6f\x7c\xe2\xfc\
+\xf3\xb8\xf4\xd2\x2b\xb9\xfe\xdf\xae\x07\xed\x57\x84\xa9\x63\xa1\
+\x79\xc3\xeb\xa0\x2d\xdf\xbb\x43\x75\xf6\x48\x57\x9f\x9b\xc2\xaa\
+\x24\x68\x5d\xc1\xa5\x94\xa2\xae\xbe\x0e\xe5\xf9\xdc\xf1\x9b\xbb\
+\xb8\xea\xaa\xab\xb8\xf8\x33\x9f\x67\xdf\x05\xfb\xf0\xfa\x9b\x6f\
+\x72\xc5\x15\x97\x05\xfd\x67\xce\x26\xb4\x0a\xcf\xbb\xe7\x39\x79\
+\x7c\x77\x1b\x4e\x6e\x13\xae\xeb\x84\x8a\xaf\x4a\x51\x85\xf2\xd3\
+\xb8\x85\xad\x48\xba\x2b\x74\xf7\x6c\x86\x42\x71\x1c\x78\x6d\xdd\
+\xba\x95\xbe\x64\x92\xf1\x45\x44\xd9\x78\x55\x00\x5f\x52\x95\x48\
+\x04\x16\x86\x0e\xda\x9b\xa5\x64\xcc\x4a\x4a\x4a\x30\xa4\x89\xef\
+\x75\xe2\xe4\x36\xe2\x79\xee\xd8\xbc\x77\x01\x85\x9c\x02\x5d\x55\
+\xb4\x18\x87\x7e\xc3\x44\x5d\x3d\xdf\xbc\xf6\x5b\xdc\x7b\xf7\x6f\
+\xe8\xea\xee\x2e\xc2\x7e\x47\x31\x7d\x9f\x88\x6d\x8f\x41\x63\xea\
+\x80\x14\x44\x87\x6f\x77\x92\x1a\xde\x53\x49\x9e\x2a\x6c\x0c\x8d\
+\x27\xa5\x95\x22\x62\x5b\xec\x25\xea\xf0\xc2\x94\x20\x94\x14\xd4\
+\x3d\xf7\xfe\x8e\xed\xed\x1d\xbc\xf2\xf2\xcb\x9c\x75\xe6\x99\x5c\
+\x7f\xc3\x77\x29\x14\x1c\x12\x55\x71\x9e\x78\xea\x69\x3e\x72\xf2\
+\x31\xe8\xee\xca\x7d\x77\xa1\xe1\x40\x61\x91\x95\x02\xd3\x30\x51\
+\x5a\xe1\x0f\xa3\x49\x0c\x21\xd8\xa4\x05\xef\xd5\xc2\xcc\x19\x31\
+\x2c\x33\x12\xfa\x69\x1d\xdb\xc5\x88\xf5\x70\x4a\x29\x1e\x79\xf4\
+\x31\x1e\x7b\xec\x71\xa2\xb1\x18\x2f\xbd\xf2\x0a\x51\xdb\x66\xda\
+\xd4\x29\xdc\x77\xff\x03\x2c\x3a\x64\x21\x4a\x55\x9e\x4e\x96\xda\
+\xa3\xd3\x9e\x46\x21\x56\x5f\x91\x92\x2a\xe8\xcd\x18\x7a\x4d\x65\
+\x40\x63\x21\xef\x5d\xdf\xdc\xc4\xf1\xc7\x9d\xc8\x3d\x77\xdd\xc9\
+\x6d\xb7\xdf\xc9\x27\x2e\xbc\x90\xba\xda\x1a\x36\x6c\xdc\x48\x3c\
+\x1e\xc3\x94\x12\x94\xc2\xb2\x27\x60\x5a\xd5\xa1\x63\x52\x9a\x2c\
+\xd2\x68\xc7\xb0\x9a\x8b\x80\xfa\x23\x5f\x86\x99\x08\x1a\x8c\x23\
+\xf5\x98\x76\x23\x95\x14\x10\x99\xa6\x07\x3a\x3b\xa2\x05\xaf\x94\
+\xe2\xb6\xdb\x7f\xcd\xb1\xc7\x7e\x98\xf3\xcf\x3f\x97\x7b\xee\xbe\
+\x97\xcb\x2e\xbb\x84\xff\xfe\xe5\x2d\xdc\xf2\xcb\x9b\x50\x64\x70\
+\xf2\x6b\x29\x58\x9d\x63\x2e\x41\x40\xc5\x71\x0b\xdb\x90\xb5\xf3\
+\x31\xad\x71\x20\xdc\x31\x1f\x2a\xa6\x05\x88\xcc\x88\x21\x0b\x30\
+\x78\xf4\xd1\x7f\xf0\xed\xef\x7e\x9f\x39\xb3\x67\x73\xec\x87\x8f\
+\xe6\xe1\x47\x1e\x25\x9b\xcb\xd2\xda\x32\x91\x33\x4e\x3f\x69\xd4\
+\x9a\x52\x48\xa3\x22\x72\x50\x29\xa1\xcf\x1c\xcf\x96\xd8\x3e\x15\
+\x28\x29\x4d\x8d\x9d\x43\x0c\x31\x07\x83\x66\xf7\x72\xb9\x1c\x67\
+\x7f\xf4\x2c\x34\x1a\xd7\xb9\x98\x58\x2c\xca\xc9\x27\x9f\x18\x9c\
+\x3c\x42\x60\x18\x06\xd9\x6c\xcf\xe8\xfc\x5d\x0d\xc8\x2a\x0c\x3f\
+\xc5\xcb\xef\xbc\xc9\xf4\xf1\x93\x69\x19\x3f\x19\x22\xf1\x20\x4e\
+\xe3\xb9\x60\x5a\xe8\x4c\xb2\xb8\xb9\x25\x31\x23\x4b\x2e\xeb\xd2\
+\xde\xde\x47\x34\x1a\x0d\xb5\x9e\x95\x56\xe4\xb2\x85\x11\xcb\x23\
+\xa4\x94\x1c\x73\xcc\xd1\x7c\xe8\x88\x0f\x61\x15\x7b\xa8\x06\xfa\
+\xf6\x41\x73\xaf\x3b\x0a\x31\x15\xa6\xac\xc2\x32\x1b\x42\xd7\x8b\
+\x00\x78\x46\x17\x5a\x67\x90\xd2\x43\x88\x70\xec\xd0\x12\x6b\xc4\
+\x2c\xab\x10\xd0\xdb\xd9\xcd\x6d\xb7\xdd\x82\x69\x18\xbc\xfa\xea\
+\x8b\xc4\xed\x08\xd7\x7d\xeb\x9a\xf2\xb4\xd4\xd7\xd5\xb0\x62\xc5\
+\x4a\xac\x58\x55\xe5\xc8\x9c\x32\x8a\x34\xa2\x08\x3f\x1a\xce\x42\
+\x36\x08\xe0\x7b\x45\x65\x28\xa0\xc1\x03\xf3\x68\x32\xc3\x2a\x29\
+\xad\x35\x93\x26\x4d\xe2\x3b\xdf\xbe\x1e\xd3\x34\xe9\xed\xee\xe1\
+\xaa\xaf\x7f\x05\xdb\xb6\xf9\xde\x77\x6f\x28\xf6\x65\x5a\x58\x91\
+\x69\xd8\xd1\x89\xc3\x42\x90\x84\xb9\xec\x48\x04\xd3\xaa\x43\xc8\
+\x08\xd2\x88\x22\x75\x74\xcc\x4a\x2a\xd8\xe3\x59\x46\xa2\x59\xef\
+\xed\xda\xc6\x7b\xef\xac\x0a\xe0\x9f\xa5\xc4\x32\x4d\x2e\xba\xf0\
+\xfc\x72\xcc\x35\x1a\x8d\x00\x3d\x15\x5b\x72\x68\x0f\x2f\xbf\x91\
+\x42\x66\x35\x4e\xa8\x98\x94\x46\x39\x36\x12\x13\xdb\x6c\xa8\x08\
+\x99\xd3\x30\x7a\x09\x8d\xcc\x39\xd0\x05\x02\x88\x14\x19\x83\x63\
+\x03\x9a\x20\xa5\x94\xe4\xb2\xa5\xb4\xfc\x28\xc8\xf7\xa4\x64\xe9\
+\x9a\xe5\xe4\x7c\x97\x9f\xfe\xed\x0e\x9a\xab\xeb\xf8\xf9\x83\xbf\
+\xe1\xa4\x03\x8e\xe4\x98\x05\x8b\x79\xe2\xad\xa5\xdc\xf2\xf5\x9b\
+\xa1\xd8\x23\x25\xa5\x62\xcb\xf6\x3a\xfe\xb9\xac\x1a\x2b\x2c\x39\
+\xa8\x56\x64\xd3\xb5\x2c\x92\x6a\x48\x4a\xab\xd2\x24\xda\x96\x85\
+\x3d\x0c\x38\x78\xa1\x30\xda\x05\x5c\x29\x2e\xad\x46\x68\x45\x5d\
+\xa2\x9d\x53\x8e\x33\xd1\x3a\x1c\x8b\xb0\x10\x82\x67\x9f\x2e\x8c\
+\x80\x71\x2e\xd0\x5a\x51\x1d\x0f\x60\x8d\x13\xd1\x80\x68\x21\x1a\
+\x8d\xf6\x9b\xea\xd2\x18\x55\x36\x48\x0c\xf8\xf7\x28\xed\x90\xd0\
+\x6e\xb4\x10\x23\x8f\x69\x3f\x32\x67\xd0\xd6\x54\xfa\x5d\x49\xd6\
+\xd2\xef\xd0\x20\x84\x55\xfc\x19\x4b\xbc\xaf\x54\x2a\x66\xee\xf4\
+\xae\x7b\x3e\x68\x5e\x4a\xf2\x54\xd7\x54\x0f\xba\x7f\xc3\xc6\xb6\
+\x06\x77\x7b\x0c\x0c\x7b\x22\x56\x6c\x2e\xda\x08\x57\x6a\x64\xdb\
+\x26\x88\x15\xa3\xb1\xd9\x2a\x43\xe6\x1c\xc9\xfa\xd0\xc5\x59\x51\
+\x7e\x37\x9e\x9b\x0f\x5d\xcc\xe9\xf9\x2e\xaa\xc8\x25\x17\xb5\x23\
+\xfc\xf2\xef\xbf\xa3\xb1\xba\x8e\xdb\xfe\xf1\x28\xef\xde\xbe\x94\
+\xd9\x9f\x5e\xcc\xfa\x8e\xcd\xec\x3b\x6d\x3e\xcf\x2f\x7b\x8c\x59\
+\x2d\x53\x89\x9a\x11\x44\x54\xa2\x91\xc5\x1a\x29\x23\xec\x76\x1f\
+\xb1\x48\x50\xbc\xdf\xa8\xf9\xa1\xde\x5b\xd2\xdd\x37\x8e\xdf\xdf\
+\xdf\x47\xc1\x0d\x47\xf5\xe4\x2b\x93\xd6\xa6\xe8\x88\xa8\x9a\xc3\
+\xcb\xdb\x9f\x11\xf3\xdd\x2e\xc4\x10\xd8\x3e\x83\xce\xab\x9b\x43\
+\x79\x3d\xf8\x4e\x4f\xa8\xf5\xa0\x35\x98\x46\x62\x54\x65\x0b\x61\
+\x37\xee\x70\xbf\xdb\x11\xc7\x5f\xf3\x7f\xfb\x35\xdc\x78\x8f\xbd\
+\x6c\x4b\x14\x13\x22\x66\xa8\x98\x54\x00\x8e\x92\xc6\x73\xb7\x55\
+\x60\x49\x29\x7c\xbf\x80\x20\x4a\x68\xb6\x98\x5d\xb9\xe4\x07\xb7\
+\x54\x0c\xa3\x01\xd3\x0a\x5f\x82\x20\xa4\x87\x14\x11\xf0\x5d\x16\
+\xcd\x5f\xc8\x6f\x0f\x3a\x26\x70\x62\x4d\x0b\xba\xb6\xb1\xe9\xbe\
+\x77\xc0\x75\x82\x63\x29\x97\x06\xdf\x05\x24\x69\x67\xfb\x6e\x1e\
+\xf8\x0a\xe4\x7c\xff\x97\x1c\x86\x19\x27\x9e\xa8\xc5\x74\xc2\xf1\
+\xee\x29\x0d\x42\xac\xab\x48\xde\x92\x3b\x5b\x4a\xd1\x0f\xac\x21\
+\x32\xac\x46\x4c\xab\x26\xf4\x1b\x2b\x95\xc3\x30\x37\x62\xd8\xf5\
+\x58\x21\x87\xd3\xb4\x8a\x64\x15\xba\x12\x8c\xfc\x70\x16\xdb\x60\
+\x68\x1d\x3b\xcb\xbe\xe7\x15\xc7\xfb\x78\xb0\x0d\xc0\xea\x2f\xc3\
+\x28\x0d\xf2\x1e\xa1\x3b\x43\x44\xa9\x53\x42\x94\x3b\x26\x2a\xe1\
+\x53\x14\xb2\x1a\xd3\x9a\x38\x2c\x31\xc8\x2e\x01\x77\xa3\x97\xd0\
+\xa0\x77\xa5\x54\x75\x57\x77\x37\xf5\x75\x75\xb8\xae\x47\xa1\x50\
+\xa0\xae\xae\xb6\x4c\x9b\x63\x18\x46\x71\x21\x54\x56\x82\x50\x2e\
+\x59\xd0\x2e\xbe\x9b\x85\xbe\xec\x00\xd3\x52\x40\xe7\xa6\x41\x02\
+\xe7\x46\x80\x2b\xae\x4b\x94\xe5\x2a\x64\x6a\x56\x81\x0e\x57\x82\
+\xe0\xba\x2e\x96\x65\xd1\xd7\x97\xa4\xba\xa6\x9a\x74\x3a\x4d\xa2\
+\xaa\xaa\x8c\x47\x24\xa4\xfd\x3e\x2a\xa9\x51\x50\x97\xe8\x70\x0b\
+\xd9\x30\x0c\x7a\x7a\x7a\xa8\xa9\xa9\x61\xfb\xf6\x76\x5a\x5a\x26\
+\xb0\x65\xcb\x16\x5a\x5a\x5a\xc8\x64\x32\x44\xa3\x76\xf1\x24\xd4\
+\x15\x3e\x3e\xa8\x1a\x97\x78\x80\x1b\x2a\xbb\x27\x88\x21\x44\x91\
+\xa9\x59\xe5\x2b\x2b\x41\x50\xee\xb0\xcd\xe9\x65\xdc\x33\xad\xe9\
+\xed\xed\x25\x62\xdb\x24\x12\x89\xa0\x87\x4f\x0a\x92\xa9\x14\x4d\
+\x8d\x0d\x3b\x38\xab\xbb\x6d\xf6\x94\x87\x52\xfe\xe8\x91\x07\x06\
+\x86\x84\xd4\xc8\x85\xc8\xa5\x79\xed\xee\xee\x26\x9d\xce\x30\x79\
+\xf2\xa4\xa0\x51\x3d\x9f\x27\x93\xc9\x10\x8b\xc5\xa8\xad\xa9\xc2\
+\x71\x1c\x92\xe9\xbe\xd0\x44\xb5\x52\x4a\xfa\x92\x69\x52\xa9\x34\
+\xe9\xb4\x83\x53\x08\x47\xc4\x60\xdb\x11\xd2\xa9\x24\xe9\x74\x4f\
+\x45\x96\x94\x50\xe9\xa2\xbb\x1c\xc2\x92\x2a\x15\xc0\xb5\xb5\xb5\
+\x51\x57\x5b\x4b\x3e\x9f\x67\xe3\xa6\x4d\xfc\xe3\xc9\xb5\x24\xfb\
+\x92\x1c\x71\xf8\x61\x54\x55\xc5\xc9\x66\x7b\x11\x62\x72\xe5\xb1\
+\x0b\x21\xd8\x26\x2c\x3a\x89\xf4\x6b\xf6\x61\x84\x37\x84\xa4\x57\
+\xd8\x28\xd1\x8d\xa4\x0f\x81\x1d\x7a\xeb\x68\x9d\x0f\x31\x40\x9a\
+\x5c\x2e\x87\x65\x59\xac\x5d\xb7\x8e\xae\x9e\x1e\xba\xbb\xba\x38\
+\xed\xd4\x53\x78\x6f\xc3\x06\x1e\x7a\xe8\x61\xbe\x72\xe5\xd7\xf8\
+\xff\xc3\x65\x18\x06\xdb\xb6\xb7\x53\x53\x53\xc3\xb3\xff\xfc\x27\
+\xc7\x1c\x7d\x34\x6f\xbc\xf9\x36\xef\xbc\xbb\x96\x3f\xff\xf5\xaf\
+\x5c\xf2\xe5\x2f\x61\x59\xf6\x28\x1d\x20\x17\x29\x92\xc8\x10\x70\
+\x18\x02\x90\xc2\x47\xe0\xa1\xfc\x1c\xbe\x9f\xac\x4c\x31\xeb\x70\
+\x47\x7b\x57\x57\x17\xcb\x5e\x7a\x99\xf9\xf3\xe6\xd1\xd8\xd8\xc0\
+\x0b\x2f\x2c\x65\xde\xbc\xb9\x6c\xdc\xb8\x89\x71\xcd\x8d\x3b\x68\
+\xf8\xb1\xb7\xb3\x88\x62\xdc\x2f\x40\xa5\x54\x9e\xc3\x58\x6b\x10\
+\x7c\x4f\x0f\x6c\x74\x1c\xf2\x93\x35\xf5\x75\x5c\x7a\xf9\x57\x38\
+\xe5\xe4\x93\x88\x44\x6c\x6a\x6a\x6b\x79\xeb\xad\xb7\x71\x5c\x87\
+\xa9\x53\xa7\x52\x57\x57\xcb\x86\xf7\x96\xd1\x32\xb9\x1b\x21\xc2\
+\xc5\x57\x85\x90\xc8\xfa\x3e\xf6\x9a\x9f\xa6\x26\xf6\x24\x9e\xe5\
+\x86\xd0\xaa\x60\x9a\x16\xb3\x66\x74\x52\x9f\x78\x2e\xb4\xe5\xa6\
+\xb5\x22\x1e\xb3\xd1\xfa\x40\x06\xeb\x6a\x1f\xd4\xdd\xf3\x3c\x8f\
+\x03\x0f\x38\x00\xcf\xf3\xc8\x66\x33\xd4\xd5\xd5\xb2\x75\xeb\x56\
+\x9c\x82\x53\xac\xde\xd5\xa3\x03\x75\xd3\xe0\x69\x78\x39\xda\x44\
+\xda\x6d\x0a\x6d\x7a\x2a\x61\xe2\xe0\xe2\xeb\x16\xa4\xb6\x2a\x08\
+\x66\x76\xc0\x88\x68\x95\x92\xfa\xfa\x7a\x3c\xcf\xa3\xba\xba\x9a\
+\x8d\x1b\x37\x11\x8b\xc5\x30\x0c\x03\xdf\xf3\x49\xa5\x32\x1f\xc8\
+\xd8\xd5\x68\xe2\x16\x85\x42\x81\x7d\xf6\x9e\x8f\xe3\xb8\x34\x36\
+\x36\x92\xcb\xe7\x99\x3e\x7d\x1a\x6f\xaf\x58\x41\x2a\x99\xde\x81\
+\x08\xb6\xf2\x07\x44\xf1\x54\x43\x68\x12\x49\x4f\x83\xd2\x11\x0c\
+\xab\x26\x48\xd9\x57\x70\x49\x63\xf8\x8a\xf3\xb2\xda\x74\x5c\x66\
+\xcd\x98\xc1\xa4\x49\xad\x28\xa5\xf1\x8b\xd9\xda\x96\x09\x13\x8a\
+\x5c\x6f\x0a\xa5\x0a\x28\x3f\x33\xc6\xec\x9e\x46\x79\x55\x68\xe5\
+\x20\x8d\x2a\x4c\xab\x7e\xb7\x18\x68\x96\x0f\x88\xed\x8c\xd8\x2c\
+\xaf\xc1\x57\x3e\xa7\x9e\x7c\x22\xef\xae\x5d\x87\xf2\x7d\x0c\xd3\
+\xa4\xa5\xa9\x89\x9a\xea\x1a\xa4\xb4\x49\xf6\x2e\xe7\xd2\xcb\x86\
+\x27\x25\xd9\xf5\x8a\x00\x07\x00\x29\xfa\x93\x64\x3b\x4f\x70\x29\
+\x4e\x5c\xf2\x5a\xf2\xc0\x1c\x42\x61\x37\x0d\x14\x40\x47\xe8\xee\
+\x10\xe1\xdd\xbd\x12\xce\x92\x94\x92\x48\x24\x42\xc2\xb2\xb8\xec\
+\x92\x2f\xe3\x38\x0e\xbe\xef\x07\x4d\xb8\xbd\x82\xad\x3d\x46\x7f\
+\x9b\x7f\xa8\x85\x6c\x22\x90\x44\x44\x51\x84\x30\x7e\x2e\xe0\x21\
+\x8b\x6e\x5e\x25\x6c\xb7\x6a\xc4\xda\x97\x92\xbb\x17\x30\xbd\x6a\
+\x1a\xea\xeb\x39\xf3\x8c\xd3\x48\xa5\xd2\x98\xa6\xc9\xde\x7b\xcd\
+\x67\xfe\xfc\xb9\xe4\x73\xf9\xff\xeb\x95\x54\x3f\xd3\x6d\x70\x22\
+\xce\x99\x3d\x9b\x29\x93\x27\xd1\xd6\xb6\x85\x7f\x39\xeb\x4c\x4e\
+\x3a\xf1\x04\xea\x6a\xaa\x59\xf9\xf6\x4a\xcc\xe8\x58\x15\xe2\xc8\
+\x07\x48\x69\x71\x96\xd0\x30\x2a\xb2\x63\x42\xa0\x26\x68\xad\x19\
+\x3f\x7e\x1c\xcd\xcd\x4d\x98\xa6\x81\xe3\x38\x2c\x3a\xe4\x60\x80\
+\x01\x25\x25\xa2\x18\x10\xb6\x40\xf8\x63\xd1\x51\x08\x69\x0c\x08\
+\xca\xec\xa6\x98\x56\xc8\xfb\xf4\xf5\xf4\xf0\xed\x7f\xbf\x8e\x64\
+\x2a\xc5\xd4\xa9\x53\xf0\x7d\x9f\xbd\xf6\x9a\x4f\x3a\x95\x42\x1a\
+\x41\x21\xa8\x90\x16\xae\x2b\xb0\x2a\x1a\x68\x55\x54\x36\x12\x85\
+\xa6\x90\x77\x88\xd5\xc4\xc0\xf5\xc1\x8a\x83\x97\x23\x95\xca\xb1\
+\x79\x4b\x0f\xf3\xf7\x9e\x0e\x5e\x01\xad\x14\xa2\x52\x40\x2e\x01\
+\x9e\x37\xf4\x8b\x0d\x8b\x82\xa0\x94\xa2\xa1\xa1\xa1\x48\x4d\xed\
+\x94\x5d\x86\x80\xc2\x2a\x82\x93\x5d\x41\x3e\x2f\x2a\xea\xdd\x53\
+\xaa\x87\x5c\xdf\x4a\x72\xe9\xbe\x90\x16\x8a\x44\xab\x3e\x74\x48\
+\x0b\x6a\x34\x16\x46\xc9\xaf\x6f\x6e\x6e\x42\x6b\x4d\x4d\x4d\x75\
+\x3f\xba\xa3\x30\xc9\xfb\x7e\x91\x32\x28\x5c\xd0\xbe\x0c\x6d\xf1\
+\x01\xca\x1c\xed\x18\x4c\x15\x4c\x9a\xd4\x8a\xe7\x79\xb4\xb4\x4c\
+\xc0\xf3\x3c\x22\xb6\x8d\x90\x72\xd4\x6f\x2c\x06\x04\x5c\xc3\x8d\
+\x0f\x48\x33\x46\x3e\xfd\x26\xca\x89\x55\xe6\x58\xc6\xe2\x08\x31\
+\x8e\x91\xc9\x41\x8d\xa0\xcf\x94\xfe\xfe\x36\x80\xc6\xc6\x86\x62\
+\xc5\xb9\x40\x88\x28\xd2\xb0\xc7\x5e\x71\x6e\x80\x61\x44\x28\xe4\
+\x3a\x49\xf6\x6c\xc4\xf3\x9c\x31\xcf\x59\x26\xa7\xd1\x2a\x31\x62\
+\x5c\x55\x29\x45\x6d\x6d\x6d\x7f\x0c\x55\x08\x22\xb6\x4d\xb4\x29\
+\x58\xcf\xbb\x80\x2e\x8e\xc2\x33\xf0\x5c\x9f\x15\x2b\x37\xd1\xd1\
+\x99\xe4\xc4\xe3\xf7\xe7\x9a\x6f\xde\xc6\xd7\xbf\x7a\x06\x4b\x97\
+\xae\xe1\xb9\x17\x56\x71\xe2\x09\x69\x66\xcf\x9c\x40\x63\x53\xf5\
+\x28\x96\xfd\x18\x50\x10\x86\xc3\xfb\xd6\xca\xc5\x8a\xce\x20\x22\
+\xab\x2b\x40\x41\x70\x91\xb2\x86\x48\x62\x3e\x8e\xca\x85\xb3\xa4\
+\x84\xc4\x73\xda\x10\x62\xeb\x1e\xdf\xc0\x83\xe1\x7f\x97\xb0\x89\
+\x72\xd9\x5e\x7a\x7b\xb6\x87\x82\xa6\x91\x42\x92\xea\xdb\x42\x55\
+\xa2\x99\xf7\x1d\xda\xa0\x02\x60\xfa\xdb\x74\x00\x00\x20\x00\x49\
+\x44\x41\x54\x59\x07\xce\xef\x58\x62\x32\xc1\x46\xf1\xe8\xed\xe9\
+\x08\xbd\x39\xf3\xd1\x04\x85\x5c\x2f\x91\xd8\x4c\xec\x48\x53\x45\
+\x2c\xcf\x66\xc4\x47\xeb\xe4\x90\x63\x3b\x52\x09\x42\x90\xd5\x14\
+\x08\xa1\x71\x9d\x5e\x7a\x7b\xc6\xce\xb3\x1e\x8d\x56\xd1\xde\xde\
+\xc5\xc9\x27\xcc\xe2\xcc\x33\x27\xe3\xb8\xee\xee\x98\x2d\xdc\x6c\
+\xd7\x88\x27\xe3\x0e\x38\x61\x3b\x65\x34\x03\xc8\xa2\xb1\x5f\x52\
+\x08\x9a\x9a\xaa\x89\x44\x2c\x36\x6c\xec\x64\x9f\xbd\x26\x53\x55\
+\x53\xcd\xac\xd9\x2d\x1c\xb2\x64\x3e\xa9\xde\x14\xa6\xb9\x67\x9a\
+\xab\x43\x83\xde\xed\x3a\xe1\x3a\x70\xdf\x64\xb4\x82\x00\x99\x19\
+\x2c\x2c\x09\x42\xc6\xc2\x97\x2e\x08\x6b\x8f\x6d\x5a\x1d\x62\x01\
+\x58\x16\x2c\x3a\xd0\xe6\xb0\x0f\x8d\x0f\xd5\x2d\x2f\xa5\xa0\xa3\
+\xc3\xe7\x99\xe7\x79\xdf\xf1\x85\x86\x93\x73\xe7\x79\x15\x63\xed\
+\x92\x2f\xc7\x30\x7d\x6c\x2b\xc9\x85\xe7\x34\x87\x46\x13\x30\x0c\
+\xc1\x2b\xcf\x6b\x90\x56\xb0\x16\x2a\xf2\xad\x4a\x30\x32\x22\xf4\
+\xdc\xee\x2c\xab\x10\x12\xc7\x49\xd1\x50\xbb\x86\xb3\xce\x3c\x63\
+\xcc\x28\x08\x86\x21\x58\xbb\xca\x43\x29\x07\xdb\x16\x3b\x14\x53\
+\x8e\xe5\xea\xcd\x0d\x3f\x47\xbb\x73\x1e\x87\x97\x4f\x32\x65\x72\
+\x73\x99\x8f\x71\xd2\xbf\x34\x22\x95\xc7\xb4\x29\xcd\x08\x21\xa8\
+\x89\x37\x84\x31\x8a\x76\x8f\x92\x2a\x09\x5c\x82\x6a\x89\x45\xa3\
+\x65\x7a\x1c\xcb\x32\x71\x5d\x0f\xd3\x34\xfb\x29\x90\x94\x1f\x5a\
+\xd9\x94\xb1\x98\x54\x90\xaa\xd5\xa1\x2c\x29\x03\xad\x55\xf1\x79\
+\x7e\xf8\x3e\x3a\xad\xca\x40\x66\x7a\x84\x09\x2e\xc9\x2d\xa5\xc0\
+\xf3\xfc\x00\x6a\xc5\xf3\x88\x46\xa3\x65\x9c\xf1\xfe\x44\x81\x0a\
+\xf5\xce\xca\xf7\x51\x4a\x80\x54\x84\xcd\x31\x88\xd2\xc6\x2a\x8f\
+\x6d\x48\xb6\x66\xcc\x11\x53\xf8\x3b\xcf\xab\x61\x98\x45\x8e\x42\
+\x81\x61\x1a\xf8\xe5\xa0\xb9\x06\xed\x87\x7e\x76\xf0\x15\xbf\x1f\
+\x65\x51\x85\xec\xdd\x33\xec\xa2\xc0\x7e\xb0\x16\x2a\xb0\xa4\x08\
+\x01\xbd\xa5\x07\xb4\x70\x05\xc5\x82\x3e\x91\x48\x14\xd7\x75\x88\
+\x44\x22\xfd\x0c\xc3\xe5\xcd\x3d\x56\x1c\x28\x63\x87\xf2\x0d\xdf\
+\x1f\x3b\x7c\x70\xe0\x7e\x87\x9b\x57\xcb\xb2\xca\x35\x52\x9e\xe7\
+\x63\x59\x41\xf1\xa5\x56\x7a\x87\xd8\xab\xaf\xf5\x6e\xd3\x24\xbe\
+\x3f\x18\xdc\xca\x68\xee\x1d\x24\xe3\x86\x0a\xa7\x0c\x6a\x49\x99\
+\xa6\xc9\xaa\xd5\xab\x59\xb0\xcf\x3e\x5c\x73\xed\x75\x2c\x5e\xbc\
+\x88\x39\xb3\x67\xf1\x83\x1f\xfd\x84\x44\xa2\x9a\x7d\x17\xec\xcd\
+\x91\x47\x1c\x41\x77\xfb\xfd\x64\x33\xd9\x0a\xc8\x2f\x15\x4d\x0d\
+\xed\x6c\x5e\x77\x0b\x8e\x93\x0b\xe5\x0a\x05\x1b\xb7\x80\x72\x25\
+\xbd\x9d\x6d\xc3\x12\x60\xee\x2c\x47\x26\xb9\x15\x29\x2f\x00\x0a\
+\xc3\xfa\xf3\xb9\x5c\x9e\x54\x3a\xc5\x1d\xbf\xbe\x8b\xb3\xce\x3c\
+\x9d\x27\x9f\x7c\x8a\xcd\x6d\x5b\xc8\xe7\x73\xec\xbd\xf7\x5e\x7c\
+\xf2\x13\x17\xf0\xd2\xcb\x8f\x63\x5a\xdd\x78\xae\x1f\x62\x71\x09\
+\xd2\xe9\x3e\x7a\xbb\x04\x5a\x24\x2a\xca\x0e\xfa\x6e\x37\x75\xd5\
+\xef\xb0\x75\xc3\xcd\xf8\xbe\x4b\x98\xe2\x14\xa5\x35\x46\x73\x23\
+\x4a\x4d\x18\x76\x3c\x2c\xcb\x62\xed\xda\x75\x4c\x6c\x9d\xc8\x79\
+\x17\x7c\x92\x3f\xdd\xff\x7b\x2e\xb9\xf4\x72\x0c\xd3\x24\x97\xcd\
+\x71\xc5\xe5\xff\xca\xd6\x6d\xed\xd8\xbd\x77\x10\x8d\xd8\x61\x71\
+\x39\xf1\x3c\x97\xed\x5b\xd7\x70\xf5\xd5\x7f\x0f\xdd\xa7\x2b\x0d\
+\x49\x77\xd7\x46\x3a\xb7\xfd\x0f\x96\x61\x55\xa4\xa4\xa2\x72\x12\
+\x42\x1e\x39\xe4\xbc\x96\xdc\x93\x77\xd7\xae\xe3\xa9\xa7\x9f\x66\
+\xc9\x92\x25\x2c\x59\xbc\x88\xab\xae\xbe\x96\x2f\x7e\xfe\xb3\x7c\
+\xef\x07\x3f\xe2\x3f\x6f\xfc\x19\x5b\xb6\xb6\xb1\xfc\xf5\x27\x98\
+\x38\x51\xe2\x16\xc6\x06\x7a\x17\x89\x46\xb0\xcc\x1e\x32\x69\xcd\
+\x0b\xcf\xff\x09\xcf\xf5\xc6\xa8\xa1\xa0\xe0\xe4\xd9\x7f\xc1\x51\
+\x98\x86\x39\xa4\xa5\xa4\x94\xa2\x61\xdc\x44\xaa\x6b\xaa\x79\xe4\
+\xc1\xbf\xb0\x72\xd5\x6a\x3e\x7c\xf4\x51\xfc\xe5\xaf\x0f\x92\xcd\
+\xe5\x68\x99\x30\x9e\x33\x4e\x3f\x03\xcf\xaf\xe5\x6f\x7f\xdd\x34\
+\x40\xb1\x8c\x1c\x38\xf4\x9c\x3c\xe9\x74\x1f\xf5\x8d\x13\x42\x61\
+\xfb\x97\x42\x1d\x7d\xc9\x4e\x12\xd5\xf5\x21\x89\xc7\x02\xbd\x50\
+\x53\xd3\xc0\xe1\x8b\x05\x83\x0d\xdb\x90\x94\x56\x13\xc6\x8f\x67\
+\xd3\xa6\xcd\x5c\x71\xc5\x65\x3c\xf6\x8f\x7f\x90\xcd\xe5\xf9\xc8\
+\x29\xa7\xf0\xd4\xd3\x4f\x73\xf4\xd1\x47\xb1\x6e\xdd\x16\x4e\x3f\
+\xb9\x9e\xba\xe6\xa6\x0a\xe3\x2e\xb3\x08\xe8\x38\x44\x65\x33\x16\
+\x6c\xe1\x8a\x96\xce\xca\x37\x25\x05\x47\x0c\x4f\x3e\x22\x82\x9e\
+\xb6\x44\x22\xc1\xac\x99\x33\xe8\xea\xea\xa2\xb1\xb1\x81\xc7\x1e\
+\x7f\x82\xcb\x2f\xbd\x84\x3f\xfe\xf1\x01\x6c\x5b\x32\xb9\x35\xcd\
+\x92\x43\x2b\x71\x3b\x1b\x46\x79\xb2\x8c\x03\x4e\x23\x34\x0b\x42\
+\x71\x7c\x5e\x7b\x79\x64\x24\x4d\xa5\x14\xa6\x65\x12\xb1\x6d\x26\
+\x4f\x6e\xa5\x2f\x95\xa6\xad\xad\x8d\x43\x0e\x39\x84\x65\xcb\x96\
+\xe1\x78\x9a\x77\xd7\xbe\xc7\xf7\x7f\x70\x24\x0d\x0d\x15\x36\xfd\
+\x32\x97\x8a\xb0\xc5\x02\xd8\x7e\x2a\x4b\x55\x97\xfc\xcb\x06\xba\
+\xba\x7c\x86\xeb\xdb\xd6\x04\x94\x56\xfb\xef\xbf\x3f\xd3\xa7\x4d\
+\x25\x95\x4a\x71\xfe\x79\xe7\x50\x55\x55\xc5\xe7\x3f\xf7\x19\xf2\
+\xf9\x02\x91\x88\x60\xd1\x42\xc9\xe2\xc5\xc6\x6e\xb0\xa4\x5c\x16\
+\x2d\x3a\xaa\x78\x1f\x9f\xb0\xed\x5b\x23\x59\x67\xbd\x9d\xc3\x87\
+\xa4\x44\x91\xbd\xf0\xa0\x03\x0e\x60\xaf\xf9\xf3\x49\x24\x12\x24\
+\x12\xd5\x9c\x70\xfc\x71\x28\xad\xb0\x2d\x0b\x21\x5c\x3e\x74\xe4\
+\xa7\x49\x17\xe6\x86\x46\x72\x97\x12\x52\x1d\x1b\x78\x6b\xcd\xe3\
+\x9c\x70\xf2\xc5\x03\x21\xd0\x86\x1d\xf4\x48\x04\x96\xaf\xf8\x0b\
+\x07\x2c\x3c\x8d\xb0\x7d\xf5\x5a\x83\x11\xcd\xa3\xe9\x1a\x74\xfd\
+\x0c\xd9\xbb\xd7\xdb\xd7\x47\x3e\x5f\x60\x73\x5b\x1b\x1f\x3d\xf3\
+\x4c\xde\x5e\xb1\x92\x05\x0b\xf6\xe6\x84\x13\x8e\x65\x7b\x7b\x07\
+\x93\x5a\x5b\xc9\xe6\x56\x53\xeb\xe8\xd0\x1a\xb3\xb8\xc2\xde\x97\
+\x18\x8c\xd2\x9a\x7c\x41\x85\xca\xc8\x65\x32\x59\xb6\x6e\xdb\xca\
+\xa9\xa7\x9e\x4c\x5f\x6f\x1f\x7b\xcd\x9f\xc7\x67\x3e\x7d\x31\xcb\
+\x97\xbf\xce\x1d\x77\xdc\x4a\xfb\xf6\xcd\xf8\x5e\xd1\x25\x78\x5f\
+\xe0\x61\x2b\x74\x15\x2c\x51\x6c\xa2\x1e\x7e\x1e\x4c\xd3\x64\x73\
+\x5b\x1b\x13\xc6\x8f\xe7\x9b\x57\x7d\x0d\xcf\x29\x70\xff\x7d\xbf\
+\xa7\xb3\xab\x8b\xaf\x5e\x79\x39\xf1\x9a\x1a\x6e\xfe\x2f\x97\x42\
+\xc1\x0b\xd2\xcc\x15\xc5\x39\xde\x9f\x79\xd5\x80\xeb\xfa\xa1\xfa\
+\x4b\x27\x4d\x6a\x2d\x03\xc1\x55\x57\x4b\x0a\xb9\x7c\x90\x04\xc9\
+\xf5\xb3\xfb\xba\x8e\xde\x8d\xf3\x5a\xd8\x8d\x92\x06\xa1\x82\x30\
+\x1f\x4b\x75\x77\x72\xf3\x4d\x3f\xa7\xb3\xb3\x93\x58\x34\x8a\x52\
+\x0a\xc7\x75\x50\x9e\x5f\x6e\xfe\x76\x9c\x6c\xd1\x8a\x92\xa1\x07\
+\x5a\xeb\x02\x52\xfa\x3b\x02\x69\x8e\xe8\x02\x82\x10\x2e\x5a\xf9\
+\xa8\x0a\x18\x8c\x95\x9f\x1d\x52\x8f\x98\x83\x3f\xc8\x67\xea\x94\
+\x29\xe5\x7e\x20\xcf\xf3\xd8\x6b\xfe\xbc\x72\xb6\x60\xf2\xa4\x49\
+\xac\x58\xb1\x8e\x72\x81\xd7\x07\xb1\xd8\x51\xeb\xd0\x71\x8b\x96\
+\x96\xf1\xb4\xb6\x4e\xc4\xf7\x7d\xaa\xe2\x71\x20\x68\xa7\x98\x35\
+\x6b\x26\xbd\x3d\x3d\x41\xa3\xb2\xe8\x37\x83\x3f\x68\x72\x86\xcb\
+\x92\x06\xc5\x9c\x87\x2d\x59\x82\xe7\x79\x34\x34\x34\x14\x5d\xdd\
+\x1c\x89\xaa\xa0\x6d\x22\xae\x76\x22\x38\xf8\xc0\xcd\xab\x0e\xd5\
+\xeb\x37\xb0\x04\x61\xc2\x84\x09\xe5\xd6\xa7\x79\xf3\xe6\xe2\xfb\
+\x3e\x0b\xf6\xd9\x7b\xa7\x98\xd1\x07\x70\x0d\x87\x34\x4a\x85\x10\
+\x78\xbe\xcf\xa4\xd6\xd6\x20\x26\x55\x3c\xa0\xa7\x4e\x99\x32\x20\
+\xfe\x57\xd9\x94\x0e\xac\x63\x53\x5e\x0f\xae\xd3\x89\xe7\xe4\xc3\
+\xbd\xb2\xb6\x41\xfb\x15\x2d\x1f\x3d\x42\x07\x81\x39\x5c\xac\x66\
+\x67\xc5\xd5\xef\x36\xf8\x63\xce\xac\x6b\xad\xfb\xc1\xe0\x94\xda\
+\x91\xfb\xb2\x58\x48\x33\x30\xe8\xb7\x27\xaa\xbe\xcb\x3d\x5e\x4a\
+\x97\x03\xc5\x03\x53\xb9\xbb\x23\xf8\x59\x96\xd5\x28\xd2\x79\x15\
+\x17\x12\x03\x65\x1d\x24\x90\xbf\x27\xae\xd2\x81\xb3\x63\x22\xa0\
+\x3f\x55\xbd\x5b\xe4\x14\x02\xa4\x00\xa5\x8b\x84\x07\x3b\xc9\x3a\
+\x60\x5e\xf7\xa4\x9c\x03\x5d\xdc\x9d\xe7\xd3\xf3\x3c\x0c\xc3\xdc\
+\x5d\x0f\xdb\x61\x4e\x77\xd9\xb4\x7b\x70\xfd\x0e\x94\xb7\x24\x9b\
+\xde\x49\xee\x80\x2c\x59\x8c\xe1\xde\x26\x42\x44\x8b\x10\x39\x21\
+\x3e\x2f\xed\xdd\xae\xf0\x47\x28\x41\x18\xc6\xe2\xd7\x63\x5a\xcd\
+\x08\x43\xd2\xdd\x95\x42\x2b\x45\xe3\x84\xc6\x22\x0b\x8c\x87\xc0\
+\x07\x2c\x9c\x6c\x0a\x3b\x5e\x85\x2a\x64\x2b\x02\x8d\x1b\xcd\xc6\
+\x2a\x69\xfd\x3d\x95\xc5\x15\x42\xb0\xb5\xad\x9b\x68\xd4\xa2\x7e\
+\x5c\x4b\x39\x26\x27\x50\x68\xb7\x80\xb0\x22\x68\x27\x57\x21\xff\
+\xdc\xe8\x14\xc8\x50\x25\x08\xbb\x43\x49\x95\x36\xcb\xb6\xb6\x5e\
+\x5a\xa7\x34\x23\xb4\x06\x23\x01\xe4\x11\xc5\xac\xac\x57\x70\x31\
+\x4d\xe3\x7d\x41\xa0\x18\xae\x04\x61\x77\xdd\xdf\x29\xb8\x44\xaa\
+\x22\x20\x22\x94\xfa\x23\xc0\x04\x2f\x87\x30\x6d\x54\x21\xb7\xc7\
+\xd7\xef\x60\x75\x52\x3b\xca\x3a\xda\x71\x16\x48\xa3\x1a\xd3\x4a\
+\xa0\x74\xb8\x18\xa5\x61\x11\xde\xa5\x0c\x1b\x1f\x1b\xca\x8a\xaa\
+\x4e\x24\xd0\x3a\xa8\xf7\x88\xc7\xe3\xc4\x62\x51\x12\x89\x04\xb6\
+\x6d\x61\x48\xa3\x58\x6e\x3f\xb6\xcb\xf3\x7c\x1a\x9a\xeb\xf9\xd5\
+\x2f\x1f\xe6\x88\x23\x2e\xe3\xf2\x4b\x6f\xe6\x91\xbf\xbf\xc4\x61\
+\x87\x5d\xce\x0d\xdf\xf9\x1f\xbe\x7d\xc3\xdd\xc8\x48\xd5\x1e\xab\
+\x01\x29\x4d\x70\x50\x89\x2c\xa8\xae\x4e\x10\x8b\x45\xa9\xab\xab\
+\xc3\x30\x0c\x22\x91\x08\xf5\xf5\xf5\xa1\x33\x1b\xc3\xfb\xea\x8a\
+\x8e\x8e\x3e\x0e\xd8\xff\x73\x5c\xf5\xb5\x5b\xf9\xd2\xff\xf9\x39\
+\xff\xf1\x93\x3f\xd2\xd3\x9d\x66\xfa\xb4\x4f\xa1\x64\x7c\x8f\xd6\
+\xba\x94\xe6\xb5\xaa\xaa\x0a\x80\xfa\xa6\xa0\x77\xb2\xbe\xa1\x01\
+\xdb\xb6\x69\x68\x6e\x06\x69\x8d\xf9\x1d\xb4\x06\x3b\x62\x71\xfd\
+\xf5\xff\x43\x3a\x99\x63\xce\x9c\x8b\xf8\xdd\x3d\x4f\xb1\x65\x73\
+\x27\xb7\xdf\xfe\x0f\x2e\xfe\xec\x4d\x60\x45\xf7\xa8\x77\x55\xb2\
+\x0c\x0d\xc3\xa0\xbe\xae\x8e\x58\x2c\x86\xef\xfb\xc4\x62\x51\x4c\
+\xd3\xa4\xba\xba\xba\xec\x1a\x8d\x75\xfd\xfe\xe8\xa7\x7f\x66\x7b\
+\x7b\x96\xcf\x5c\xfc\x13\x3e\x7e\xf6\x0d\xdc\x7e\xcb\x43\x7c\xe2\
+\xc2\xef\x93\xec\xcb\x72\xd3\xcf\xff\x84\x8c\x58\x7b\xee\xf4\x2b\
+\xce\xab\xeb\xba\xd4\x37\x8f\xa7\xbe\xb1\xb1\x0c\xbd\x13\xa0\x1f\
+\xd4\x10\x89\x44\x8a\x80\x72\x12\xa4\x44\x05\x11\xb8\x61\x7f\xb4\
+\x28\xfe\x20\x83\x72\x18\xc2\x89\xb0\x1b\xab\x1b\x86\x57\x52\x00\
+\xb1\x58\x8c\x5b\xef\xb8\x13\x29\x04\x8f\x3c\xf2\x28\x7f\x7b\xf0\
+\xef\xfc\xf8\x67\x37\x72\xd9\x95\x5f\x65\xd9\xcb\xaf\xb0\xe6\xdd\
+\xb5\x6c\xde\xdc\x16\x1a\x2f\x66\x50\x23\xcc\xb0\x78\x7b\xd5\x16\
+\x2e\xbf\xec\x16\x4e\x3c\x76\x5f\x5e\x7f\x7d\x3d\xfb\xec\x35\x99\
+\x13\x4f\xb9\x81\x33\x4f\x3f\x18\xc3\xb0\xf9\xc6\x55\xe7\x92\xea\
+\xea\x42\x48\xb1\xc7\x26\xd8\xf3\x3c\x36\x6c\xd8\x48\x2a\x95\xe2\
+\x17\xff\xf5\xdf\xdc\x72\xeb\x1d\x7c\xf9\xd2\xcb\xe8\xee\xe9\xe1\
+\x1f\x4f\x3c\xc9\x49\xa7\x9c\x46\xa2\xba\x7a\xd4\x83\xaf\xb5\x06\
+\x29\x78\xe4\xd1\xd7\x78\xf0\xe1\xd7\xb8\xf9\xbf\x2f\xe3\xb9\xe7\
+\x57\xd2\xb6\xa5\x8b\x3b\xef\x7a\x92\x6d\xdb\x7a\xf8\xcb\xfd\xdf\
+\xe0\x9e\xbb\x1e\x41\x18\x72\x8f\x2a\xe4\xea\xea\x6a\xfe\x70\xdf\
+\xfd\xf8\xbe\xcf\x85\x17\x5c\x44\x7b\x47\x07\x57\x5f\xf3\x2d\x7e\
+\xf7\xfb\x3f\x30\x67\xee\x5e\x3c\xf7\xcf\x7f\x12\x8d\xc5\xc6\x32\
+\xa0\x14\xf2\x2e\x7f\xfd\xeb\x4b\x9c\x74\xe2\x01\x7c\xf7\xfb\xf7\
+\x71\xd6\xe9\x8b\xf8\xe5\xaf\x1e\xe1\x9b\xd7\xdc\xc3\x41\x07\xce\
+\x60\xd5\xea\xcd\x2c\x7b\x71\x05\x58\xf6\x1e\x93\xb5\x14\x4b\xdd\
+\xb8\x71\x23\x57\x7e\xf5\x2a\x1e\x79\xf4\x31\x6a\x6a\x6a\xb8\xf7\
+\xde\xff\x61\xf3\xe6\x36\xee\xba\xe7\xb7\xd8\xb6\xbd\x5b\xf6\xd3\
+\xc6\x8d\x1d\xdc\x7e\xcb\xdf\x69\x6c\xa8\xc6\xb6\x4d\x5e\x7f\x63\
+\x3d\x1f\x3d\x63\x31\x77\xde\xf5\x24\xff\x71\xe3\xdf\x80\xd8\x1e\
+\x6d\x8e\x52\x4a\xd1\xdc\x32\x99\xc9\x93\x26\x73\xf5\x35\xdf\xe2\
+\xb9\xe7\x5f\xc0\x75\x5d\x7e\xff\x87\xfb\xb8\xf1\x17\xff\xc5\x2b\
+\xaf\xbd\x46\xc1\xf5\x89\xf9\x5d\x4c\x4a\x2d\xa5\x35\x1d\xee\x67\
+\x52\x6a\x19\xe3\xb3\x6b\xf0\xa4\xfd\xbf\xde\x33\x31\xa8\x63\x9e\
+\xcf\xe7\x39\xef\x9c\x8f\x21\x84\x60\xca\xd4\xa9\x3c\xf6\x8f\xc7\
+\x39\xfd\x23\xa7\xf2\xc6\x9b\x6f\x11\x8b\x46\x89\x16\x7f\xf4\x28\
+\xb3\x19\x42\x08\xb4\x53\xe0\xe8\xa3\xf6\xe6\xe8\x63\xf6\x07\xe5\
+\xd2\xd7\xf7\x07\x40\xf1\xe9\xcf\x9f\x52\xd6\xe9\xda\x75\xa8\xae\
+\x89\xef\xb1\x18\x46\xa9\x26\x6c\xf2\xe4\x49\x18\x86\xc1\xc6\x8d\
+\x9b\xf8\xf0\x71\x27\xf0\xea\xeb\x6f\x50\x28\x14\xa8\xad\xad\xe1\
+\x80\x03\xf7\xc7\xf7\xbd\x31\x6d\x18\xe5\xf9\x7c\xfa\xf3\x27\x52\
+\xec\xa4\xe4\xd9\x7f\xfe\xb8\xff\xc8\xf1\x5c\x40\xb3\xe0\xc0\x99\
+\xa8\x82\xb3\xc7\x5c\x03\x21\x04\xe9\x74\x9a\x53\x4f\x39\x09\x21\
+\x04\x6f\xbd\xbd\x82\xfa\xe6\x16\x1e\x7a\xf8\x11\xee\xfe\xcd\x1d\
+\x1c\xba\x78\x11\x8d\x8d\x75\xa3\x22\x9d\x28\x8f\xa7\x52\x54\x25\
+\xa2\x5c\xfc\xb9\x13\x40\x29\x0e\x5e\x3c\x9f\x72\x72\x45\x7b\xa0\
+\x34\xcb\x5e\xba\x11\x94\x8b\x76\x9c\x3d\xee\xee\xc5\x62\x71\xb6\
+\x75\xb4\xd3\xd5\xd5\x85\x10\xd0\xd0\xd4\x44\xa1\x50\xe0\xc5\x65\
+\x2f\x71\xc1\xb9\xe7\x8e\xf9\xfe\x96\x65\xf2\xab\x5b\x2f\x19\x10\
+\x4d\x2d\xf5\x6b\x06\x59\xb4\x4b\x2e\x3b\x0b\x55\x48\xee\x51\x77\
+\xaf\x74\x4d\x6c\x6d\xe5\x37\x77\xde\xc5\xd5\x57\x7d\x8d\x7c\xbe\
+\x80\x61\x98\x2c\x7d\x71\x19\xcd\xcd\x4d\xcc\x99\x3b\x9b\x06\x61\
+\xb3\x9f\xdd\x1c\x5e\xe1\x08\xc9\xdb\x96\xcf\x83\x6c\x83\x0f\xa2\
+\x92\x2a\xb9\x06\x4a\x29\xe6\xcc\x9e\xc5\x3e\x7b\xef\x85\xe3\x38\
+\xcc\x9c\x31\x23\x20\xf8\x94\x82\x74\xda\x41\xab\xde\xb1\x05\x58\
+\x3d\x3f\xe0\x6b\x0b\x1c\xa2\x41\x3c\xe2\x3d\x8b\xa4\xd8\x1f\x38\
+\x0f\x64\xfd\xc1\xf7\xbe\x8d\x53\x70\x38\xe1\xc3\x47\x92\xcd\x66\
+\x98\xd8\xd2\xc2\xa1\x8b\x17\xd1\xd3\xdb\x39\x6a\xb7\xbe\x4c\xc8\
+\xe9\x0c\x00\x83\xdb\x25\x53\x22\xd0\x8e\xbb\x0b\x4a\xe6\x9e\x72\
+\xf9\x00\x5e\x7b\x79\x29\x3d\x3d\x3d\xbc\xfa\xd2\x52\xfa\xfa\xfa\
+\xb8\xf5\x57\xff\x8d\x19\x8d\x95\x1b\xc9\x47\x3d\x9e\x5a\x43\x19\
+\x65\x60\xd7\x39\xd5\xbe\x5f\x6c\x46\xde\x73\x01\xe5\x92\x85\xd6\
+\xd4\xd4\xc8\x6f\x6e\xbb\x05\xc7\x75\x48\x26\x53\x1c\x7b\xcc\xd1\
+\xf8\xbe\xcf\x7f\xfe\xc7\x4f\xc9\x64\xb2\x63\xb7\x10\x76\x90\x75\
+\x70\x8f\x61\x4f\xcf\xa9\x94\x92\xae\xed\x6d\xbc\xf8\xdc\x33\x20\
+\x25\x3d\x45\x85\x7c\xe6\x19\xa7\x71\xce\xc7\xcf\xa6\x50\x28\xe0\
+\xe3\x97\x3b\x44\x40\x93\x77\x0b\x48\x21\x91\x52\x96\xd5\xab\x21\
+\x24\x79\xb7\x40\xcc\x8e\x56\x44\xab\xfe\xbf\xa6\xa4\x06\x6e\x2e\
+\xdf\xf7\xc9\xe5\x72\xc5\xb8\x4a\xb0\xe8\x4a\x81\xcf\xb1\x2a\x87\
+\x32\xcf\xfc\xff\xf2\x55\x7a\x9f\x74\x3a\x60\x67\xe9\x6f\x0e\x55\
+\x64\x32\x3e\x63\x79\xcb\xb0\x90\xb5\x7b\x5a\x21\xef\xfc\x3e\x3d\
+\x3d\x3d\x08\x21\xe8\xe9\x09\x58\x44\x52\xa9\x14\xf5\xb6\xcd\x98\
+\x67\x64\x44\x39\x07\x59\x07\x7b\xf0\xf0\x49\xa6\x52\xe5\xcd\x5c\
+\x52\xc0\xe9\x74\x1a\xc3\x30\xc7\xee\x86\x85\x94\x75\x4f\xce\xe9\
+\x40\xc4\xd5\x81\xcf\x2a\x14\x0a\xe5\xd6\x1f\xc3\x36\xca\x6f\xa3\
+\xb5\xe6\xcd\x0d\xab\xc9\x14\x72\x74\x66\x92\x34\x24\xea\x30\xb4\
+\xa2\x3a\x96\xa0\x37\x9b\xe4\xa8\x7d\x96\x60\xf0\xc1\xba\xe4\x50\
+\xa7\xd0\xfb\x89\x07\xfd\xbf\x7d\x7d\x50\x9a\x80\xff\x9f\x8c\xff\
+\xef\xda\x1d\xca\x79\xa4\xcf\x1c\x32\x7b\x7f\x9a\xeb\x9a\x79\xaf\
+\xa7\x9d\xce\x42\x8e\x64\x3e\xcb\xa6\xee\xed\x1c\x36\xf7\x20\x8c\
+\x0f\xe0\x7e\x1f\xb2\xc1\xd8\x34\x4d\x3c\xcf\x2b\x53\x01\xb9\xae\
+\x4b\x2c\x16\xc3\x29\x14\x88\x44\x23\x03\x16\xbd\xfe\xc0\x12\x6e\
+\x8c\xb4\x2f\x4b\x66\x78\xc9\x62\x8c\x45\xa3\x65\xa2\x52\xcf\xf3\
+\x88\xc7\xe3\x64\x32\x99\x1d\x65\xfc\x20\x6e\x76\x0d\x84\x6c\x44\
+\x35\x0c\x03\xdf\xf7\x49\x24\x12\x24\x93\x49\x2c\xd3\xc4\x28\xce\
+\xf5\x2e\x96\xc1\x07\x52\xb1\xe9\x10\xf3\x5e\x2a\xe6\x94\x08\x21\
+\x8b\x38\x66\x41\xc6\x3a\x9b\xcb\x51\x55\x55\x55\xb6\x9a\xfb\xd7\
+\xf0\x07\x4d\xd6\x70\x35\x31\xe5\x6c\x7c\x75\x35\xa9\x54\xaa\x8c\
+\x9f\x15\x8d\x06\xe8\x24\xca\xf7\xf1\xf0\xcb\xfc\x02\xc1\x14\x2b\
+\xf6\x99\x3a\x97\x7d\x66\xef\x47\xd0\x4a\x51\x74\xfa\x9c\xfc\x0e\
+\xb5\x6d\x1f\x58\x4b\x2a\x98\x5c\x83\x55\xab\x56\xe1\xba\x2e\x0d\
+\xe3\x26\xf2\xe8\x63\x8f\x93\x4c\x26\xf9\xf1\xcf\x7e\xc6\x3b\xeb\
+\xd6\xf1\xdb\x7b\x7f\x47\x34\x1a\xa3\x3a\x21\x11\xb6\x05\x15\xfd\
+\x54\x83\x6d\x54\xf0\x79\x13\x6c\x1b\xec\xe8\x80\x3f\x8f\xfc\x3d\
+\x19\x31\xa9\x49\x0c\xcf\x23\x57\x9a\xe0\x64\x32\x49\x22\x91\xe0\
+\x89\xa7\x9f\xe1\x95\x57\x5f\xe5\xcd\x37\xdf\x22\x5e\x55\xc5\x0f\
+\x7e\xfc\x13\xea\x9b\x5b\xd0\x80\x1d\xd5\x40\xa5\xef\x6c\x57\x38\
+\x36\x56\xf1\x3b\x89\xd0\x72\x62\x9b\x20\xac\x22\x96\xcf\xf0\x90\
+\x1e\xa5\x06\x63\xc3\x30\xf8\xf9\x2f\x6e\xa2\xb1\xb1\x01\xc7\x75\
+\x79\xfe\x85\xa5\xa4\xd2\x69\xf0\x3c\x1c\xa7\x40\x2c\x66\x82\x55\
+\xc1\xf3\x6d\x0b\xec\x58\x05\xef\x6c\x15\xd7\x40\x75\x45\x73\x8a\
+\x6d\x22\x6c\x0b\xbb\xca\x1c\xd6\x32\x2c\x65\xf7\x3a\x3a\xba\xd8\
+\xdc\xd6\x86\x69\x1a\xd4\xd7\xd7\x73\xfd\x77\xbe\x47\x5f\x5f\x1f\
+\x57\x7c\xf5\xeb\xc4\xe3\x71\xa4\xd0\x04\xf4\x83\x56\x85\xef\x3e\
+\xd4\x38\x54\x8d\x62\x1c\x86\xb9\x9f\x69\x13\x86\x88\xa1\xb6\xa6\
+\x86\x9f\xfe\xc7\x8d\xe5\x83\x67\x7b\x7b\x3b\xb7\xdf\x71\x27\xbf\
+\xb8\xe9\x66\xee\xff\xd3\x9f\xc9\xe6\x72\x58\x42\x22\x85\x41\xd0\
+\x53\x68\x04\xfd\x2b\xb9\x0c\x38\x85\x20\x46\xea\x14\x00\x89\x10\
+\x06\x08\x03\x84\xc4\x64\xb4\x20\x88\x92\x4a\x6a\xa5\x84\x90\x08\
+\x8c\xca\x78\xf7\x7c\xdf\x67\xee\x9c\xb9\xd4\x34\x8e\xe3\xb4\x8f\
+\x9c\xc2\xa1\x4b\x96\x70\xe8\x92\x45\x4c\x9c\xd0\xc2\x7f\xfc\xfc\
+\xbf\xf8\xf2\x17\xbf\x40\x26\xdd\xc1\xbd\x7f\x2c\xd0\xd5\xd3\x1d\
+\xda\x25\x54\x4a\xb1\x7a\xe5\x73\xec\x77\xe0\x89\x14\xf2\x99\x90\
+\xb5\x32\x12\xad\xd2\xf4\xf5\xf5\x51\x5d\x33\xae\x7c\x52\x84\x39\
+\x4d\xbd\x42\x8a\xaf\x5d\x21\xc8\x66\x87\xb7\xa4\xc6\x8d\x1f\x4f\
+\x4f\x4f\x0f\x3f\xfc\xf1\x4f\xf8\xfa\xd7\xaf\xe2\xd5\xe5\x6f\x70\
+\xc1\x27\x2f\xe6\xfb\xdf\xb9\x81\x0f\x1f\x73\x34\xf7\xdf\xf7\x7b\
+\x9e\x5b\x5a\xc3\x3b\xeb\xb7\x84\xc4\xc2\x16\xe4\x72\xa9\xe2\x89\
+\x56\x55\x91\xcb\xec\x3a\x49\xd6\xbf\xb7\x9a\x79\x7b\x1f\x8a\xef\
+\x85\xeb\xcc\xf7\x7c\x98\x39\x25\x4e\xcb\x84\xe1\x19\x54\x1c\xc7\
+\xe1\x80\x03\xf6\xa7\xb3\xb3\x93\xeb\xfe\xfd\xdb\x7c\xf1\x4b\x97\
+\x70\xd4\x87\x8f\xe7\xa8\x23\x8e\xe0\xd2\xcb\xae\xe4\x17\x37\xfd\
+\x9c\xc3\x0f\x3f\x8c\xff\xbc\x29\x89\x65\x87\xe7\xdd\x73\x5d\x97\
+\x4c\x7a\x13\x87\x2f\x9e\x4b\x21\x24\x9a\x80\x1d\xb1\x79\xec\xb1\
+\x3f\x30\xbe\xf5\x70\x0c\xc3\xa2\x12\x9a\xf5\x99\xd3\x0d\x4e\x3d\
+\x41\x92\x1f\xa1\x53\x23\x93\xc9\xf0\xc4\x53\x4f\x63\x1a\x06\x1f\
+\x3d\xf3\x74\xfe\xe5\xa3\x67\x12\x8b\xc5\xf8\xc4\x05\xe7\xe1\xba\
+\x05\x0a\xae\xcd\x5f\x1f\xae\xe1\xf5\x15\x5b\x03\x46\xa2\x31\xd8\
+\x76\xa6\x69\xb3\xee\xdd\x57\x88\xc5\xaa\x99\xd0\x32\xab\x32\xa8\
+\x9b\x21\xe4\xec\x4b\x66\xb8\xf4\x0b\x9a\x68\x64\x68\xa3\x4a\x6b\
+\x8d\x11\x4d\x70\xdb\xed\x77\x32\x79\xd2\x24\x7a\xfb\xfa\xb8\xf0\
+\xfc\xf3\x38\xea\xa8\x23\x50\xbe\x22\x12\xb1\x89\xd9\x36\x5b\xb4\
+\xc7\x46\x3f\x13\x14\xd8\x86\x79\xba\x94\xb4\xab\x1c\xb1\x61\x48\
+\x3b\x87\x1c\x0f\x95\xc4\x73\x36\x05\x90\xca\xa1\x3e\xaf\xf0\x2d\
+\x07\x41\x9c\xd0\xbc\x7b\x89\x44\x82\xab\xaf\xbd\x8e\x57\x5e\x7d\
+\x8d\x5b\x7e\xf9\x5f\xdc\x75\xd7\x3d\x9c\x77\xe1\x45\x34\x36\x34\
+\x72\xd4\x51\x47\x72\xdf\x7d\xf7\x71\xe5\xa5\x9f\x67\x4b\xf7\x5c\
+\x62\x35\x35\xa1\xcd\x43\xdf\xf7\x78\x63\xf9\x1a\xa6\xcf\x3a\x87\
+\x74\x2a\x13\xee\x7b\xc2\xc0\x77\x36\xa2\xc5\x66\x5a\x5a\x0f\xc0\
+\x32\x23\xe1\x4c\x7e\x34\x4e\xee\x6d\x7c\xdf\x19\x76\xe3\x7a\x9e\
+\xc7\x4d\x37\xdd\xcc\x1b\x6f\xaf\xe4\xd8\x63\x8f\xe7\xda\x6b\xae\
+\xe5\x94\x93\x4e\xe0\x8e\x5b\x7e\xc9\x77\x7f\xf0\x23\x6e\xfe\xc5\
+\x8d\x14\xf2\x1e\x93\xa7\x1d\x47\xf3\xf8\x85\xe8\x10\x78\x49\x42\
+\x1a\xf4\x74\x6f\x02\x04\x35\xb5\x13\x76\x85\x6f\x1d\xc6\xc2\xcf\
+\xa5\xd7\xf1\xee\xda\x3c\x53\xa7\x5f\x88\x53\x08\xa7\x28\x7c\x6d\
+\xd1\x50\xf7\xea\xb0\x75\x6b\x5a\x6b\x1a\xc6\x4d\x64\xfa\xb4\x69\
+\xbc\xb9\xfc\x25\x9a\x9b\x9b\x78\x77\xcd\x4a\xae\xbf\xee\x5a\xde\
+\x7c\xfb\x6d\xbe\x71\xd5\x57\x99\x35\x7d\x1a\xdb\xb6\x6c\x25\x52\
+\x73\x1c\xa6\x59\x13\x52\x71\x08\xf2\xf9\x34\xed\x5b\x9e\xe4\xf0\
+\x25\x47\x92\xce\x84\xc3\x83\x4f\x24\x12\x3c\xf9\xf8\x73\xb4\x4c\
+\x3a\x11\xdb\x6e\x0e\xef\x6e\x09\x68\x68\x0c\x58\x66\x46\x4a\x41\
+\x39\xae\xc3\xa4\xd6\x89\xdc\xf0\x9d\xef\xb1\xe4\xf0\x23\xb8\xfe\
+\xdf\x6f\xe0\xa7\x3f\xfa\x3e\x5f\xbc\xe4\x32\x96\x3e\xfb\x24\xb1\
+\x68\x2d\xfb\xec\x7b\x11\xd5\x35\xad\xe5\x7e\xb3\xd1\x2a\xa9\x48\
+\x34\xc6\x7b\xef\xf5\x12\xab\x6a\x65\xca\xb4\x8f\x8c\x1d\x3e\x58\
+\x08\xea\xb3\x20\x65\x3a\xd4\x3c\x24\x53\x29\x4e\x3e\xf5\x14\xa6\
+\x4d\x9b\xc5\xd9\x1f\x3d\x8b\x5f\xfe\xea\x56\xd2\xe9\x34\x33\x66\
+\x4c\xe7\xb3\x17\x7f\x02\xcf\xa8\x26\x1b\x99\x0d\x15\x50\x5a\x15\
+\x6c\x89\xd4\xef\x54\xfe\xea\x32\x8e\x61\x8d\xab\x88\x66\x5d\x1a\
+\x49\x86\x42\xc4\x18\x54\x49\xa5\xd3\x69\xbe\xf1\xf5\xaf\x96\xff\
+\xfc\xaf\x97\x7c\x89\x7f\xbd\xe4\x4b\x3b\x6c\xee\x64\x5f\x07\xd1\
+\x48\x13\xc8\xea\x0a\x30\xce\x5d\xa2\xd1\x28\x55\x55\x12\xe5\x87\
+\xff\x9e\x67\x56\x11\x8b\xc5\x89\xc7\x13\x58\x56\x24\xa4\x25\xa5\
+\x90\x3a\x16\xb4\xe0\x0c\xd3\x12\x61\x18\x06\x9f\xfa\xe4\x27\xca\
+\x93\xf7\xe5\x2f\x7c\xa6\xdc\x22\x73\xef\xdd\x77\x16\x1b\x73\x15\
+\x11\x3b\x4a\xbc\x2a\x8a\x56\xd1\x30\xeb\x8b\x7c\x3e\x81\x00\xe2\
+\xf1\x44\x05\x75\x32\x1a\x54\x15\xd1\x68\x94\x78\xdc\xc0\x34\xab\
+\xc3\x4d\xb2\xa6\x8c\xdf\x3d\x9c\x42\xee\xe9\xd8\xca\x6b\x2f\x2d\
+\xc5\x75\x3d\x5e\x7d\x69\x29\x68\xcd\xa4\xd6\x56\x8e\x3e\xfa\x28\
+\x00\xaa\xaa\xe2\x41\x6c\x2e\x51\x85\x65\x25\x2a\x58\x94\x41\x01\
+\x70\x55\x22\x56\x64\x8e\x1e\x19\xa1\x20\x51\x15\x27\x16\x8b\x10\
+\x8f\x57\x61\xdb\x95\xc1\xc2\xd8\x91\x1c\x5a\x67\x87\xdd\x70\x5a\
+\x6b\x66\xce\x98\xc1\xcc\x19\x33\xf8\xf0\x31\xc7\x00\x9a\x5f\xdf\
+\xf6\x2b\x00\x1e\x79\xf0\x2f\x24\x53\x29\xa4\x90\xc4\xe3\x55\xc4\
+\x8b\xd4\xf3\x63\x89\x7d\x46\xa2\x10\x8b\x46\x89\xc5\x62\xc4\xab\
+\x22\x78\x5e\x84\x31\x5f\x12\x84\xc8\x0c\xab\xa4\xa4\x94\xf4\x74\
+\x6c\x65\xd5\x9b\xaf\xa1\x3d\x8f\xf5\x6b\x57\xa3\xb5\xe6\xdf\xbe\
+\x75\x4d\xff\x78\xd9\x12\x41\x1f\x52\x58\xa1\x5b\xaf\x84\x04\x29\
+\x0c\x74\x91\xa9\xaf\xb2\x78\xba\x2c\x52\xd7\x1b\x21\xf5\xb1\x0a\
+\x5c\xcc\xb0\xee\xde\x60\xbd\x40\x3b\x6f\xf0\x60\x11\x4a\x94\xca\
+\xe0\x7b\x32\xb4\x76\x56\xda\x45\xeb\xd1\x80\x8b\x09\xb4\xca\xe1\
+\x7b\x7d\x48\x11\x09\x79\xe8\x2a\xb4\xca\x33\x12\x67\xd9\x60\x01\
+\xd9\x9d\xef\xaf\xd1\x28\x95\xc3\x77\x33\xa1\xcc\x78\x29\x25\xca\
+\x4f\x62\xc8\xaa\x3d\x12\x18\x1e\xcd\x57\x42\xc3\x06\x0b\x81\xf2\
+\xb3\xf8\x15\x90\x4e\x28\x2f\x53\x2c\xec\xad\x04\x04\x58\x57\x2c\
+\x6f\x40\xe3\x1d\xd2\x5d\xd9\x41\xc6\xc1\x21\xb0\xf5\x1e\xcc\x11\
+\x94\x28\xc7\xf7\x7c\x72\x28\x0c\x2c\xb4\x40\x6b\x0f\xe5\xa7\x8a\
+\xbf\x17\xa1\xd6\xb0\xf6\x3d\xb4\xca\xe3\xb9\x05\x3c\x37\x0c\x48\
+\xa5\x46\x19\x51\x76\x77\x26\x6d\x44\x22\x86\xa1\x7f\xa7\x90\x32\
+\x8e\x34\x6a\xfa\x31\xcf\x47\x34\xa5\x3c\x84\x18\x4d\x7d\x8a\x46\
+\xc8\x28\xd2\xa8\x41\x1a\x21\xdd\x3d\xad\x8b\x4d\x9f\xe1\xb2\x5e\
+\x43\x2b\xe3\x60\x92\x85\x88\x21\xcd\x2a\x84\x0a\x03\x1f\x2c\x91\
+\xb2\xba\xb8\x4a\x3f\xb8\xa9\xff\x41\x65\xd7\x1a\x29\xab\x90\x46\
+\x75\x68\x77\x4f\x1a\xb2\x48\xda\xfa\x7f\x81\xac\x3b\x1e\x47\x20\
+\x0a\x44\x6c\x3d\xa6\x98\x14\x40\xc4\x36\x31\x0c\xf5\x01\x2d\xf5\
+\xd0\x08\x61\x62\x18\x35\xa1\x99\xa2\xa5\x94\x08\x69\x21\x44\x14\
+\xc3\x8c\x60\xa8\x70\x80\x8f\x41\x4f\xef\x1e\x46\x41\x18\x58\x82\
+\xe0\xfb\x7e\xf1\xff\x0d\x7c\x5f\x21\x07\x56\x09\x97\x1a\x10\xcb\
+\xe6\x63\x98\x17\x33\xc6\x24\x40\x29\x6b\x13\xee\x1e\x2a\x94\xdb\
+\x51\x2a\x41\x50\x45\xe2\x48\xa5\x14\x86\x94\x78\xbe\x5f\xfe\xbb\
+\xe0\x5e\xb2\xc8\x85\x26\x43\xbc\x27\x65\xf3\xb5\x32\x64\x83\xc0\
+\x42\xdd\x93\x9b\xb4\x54\x5a\x62\xdb\x36\x8e\xe3\x60\xdb\x36\xae\
+\xeb\x62\x9a\x66\x7f\x07\x7d\x99\x08\x32\x6c\x2c\xcd\xe0\x83\x54\
+\xa2\x3c\xd0\x0b\x28\xc9\x5d\xae\xfc\xd7\x1a\xcb\x30\xf0\x95\xc2\
+\x73\x93\x54\x59\x6f\x70\xc2\xd1\x4d\x38\x85\xb1\x01\xd6\xc5\x13\
+\x55\xac\x79\x33\xc3\xf6\x1e\x7f\xb7\xc1\x53\x89\x0a\xe6\xb5\x34\
+\x9f\xa5\x12\x13\xc3\x30\x8a\x16\xbd\xa2\x04\x4e\xa5\x2b\x99\x53\
+\xd8\x01\x2e\x4e\x84\xe2\x3a\xdc\xe9\x8b\x95\xc4\x0b\xa8\x10\x4f\
+\xca\x34\x4d\x96\xbd\xf4\x32\xfb\xed\xbb\x80\x78\x2c\xc6\x8a\x95\
+\xab\x98\x3e\x7d\x1a\x5d\xbd\xbd\xd8\xb6\x5d\x1c\x10\x0f\x43\x74\
+\x62\x92\x0d\xcf\xfa\x22\x3d\x20\xf7\xfe\x2d\x67\x3d\xf2\x04\xfb\
+\xbe\x4f\x5f\x32\x49\x53\x43\x03\xab\xd7\xac\xa1\xb1\xa9\x99\x0d\
+\xeb\xd7\x33\x6f\xee\x1c\x0a\x8e\x43\x57\x67\x17\x93\x27\x4f\x45\
+\xf9\xed\xe0\xb5\x85\x3a\x71\x85\x90\xe0\x6f\x45\x69\x0b\xcf\x51\
+\x15\x29\x2a\xe5\xf7\x04\xca\x7f\x0f\x6c\xdc\x48\x24\xc2\xab\xaf\
+\x2d\x67\x9f\xbd\xf7\xe2\x99\x67\xff\xc9\xa2\xc5\x8b\x79\xe8\xe1\
+\x47\x38\xea\xc8\x23\x78\x7b\xc5\x8a\x32\xb0\xa1\x29\xb7\x62\x8a\
+\x54\x68\xcb\xc8\x20\x8b\x28\xb3\xdc\x7e\x30\xac\x26\x08\xb2\x7b\
+\xe9\x4c\x86\x9a\xea\x6a\x62\xb1\x18\x1d\x1d\x1d\x44\xa3\x51\xd6\
+\xbc\xf3\x2e\x87\x1c\xbc\xb0\xc8\xa5\x68\x04\x6c\x44\x72\x8c\x48\
+\x17\xda\x44\x6b\x89\xf6\x93\x78\x4e\x27\xde\x58\x29\xad\x44\x09\
+\x35\x54\x0c\x1b\xb2\x28\xd5\x31\x3e\xf6\xd8\x3f\x38\xee\xb8\x63\
+\x79\xe3\x8d\x37\x99\x3f\x7f\x1e\x6d\x6d\x6d\x6c\xdc\xb4\x99\xd6\
+\xd6\x89\x4c\x99\xdc\x8a\x53\xe8\xc5\xb2\xda\x50\x3a\xac\xf2\x93\
+\x18\xa2\x1b\xb4\x51\x46\x41\x08\x0d\x62\xa7\x52\x78\xce\x96\xf0\
+\x81\x73\xad\x51\x56\x01\x18\xdc\x55\x34\x87\x32\xf5\xfa\xfa\xfa\
+\x30\x4d\x93\x97\x5f\x7d\x8d\xbf\x3f\xf4\x30\x33\xa6\x4f\xe7\xdd\
+\xb5\x6b\x39\xe9\xc4\xe3\xa9\xab\xab\xa3\x90\xcf\x20\x45\x14\x21\
+\xb2\xa1\x53\xec\x01\xb3\xa9\xe2\x83\x76\x79\x9e\x87\xd2\x8a\x5f\
+\xdc\x74\x33\x13\x5b\x27\xb3\xb9\x6d\x13\xd7\x5d\xfd\x0d\x56\xac\
+\x5a\xcd\xaf\x6e\xb9\x95\xdf\xde\x7d\x37\x52\x78\x68\x9d\x0e\x95\
+\x05\x0a\x94\x4c\x2e\x80\x45\x55\xe1\x71\xa2\x02\x26\x14\x8f\x3d\
+\xd5\x2c\x24\xa5\x24\x9d\x4e\x03\xf0\xb1\x73\x2f\x60\xd5\x8a\xb7\
+\xb9\xef\x8f\xf7\xa3\x35\xfc\xdb\x0d\xdf\xe6\xe6\x9b\x7e\x8e\x6d\
+\xdb\x08\x9d\xaf\x48\xb1\x0a\x91\x0d\xac\xcd\x0f\x90\x35\x25\x84\
+\xa0\xad\x6d\x0b\xef\xae\x5d\xc7\xa2\x43\x16\xd2\xd0\xd0\xc0\xb3\
+\xff\x7c\x8e\x83\x0e\x3a\x90\x17\x5e\x7c\x91\x43\x97\x2c\xc2\x30\
+\xa2\x64\xf2\x93\x78\x7e\x59\x66\x6c\x8d\xd5\x5a\x13\x8b\x49\xda\
+\x3b\x25\x86\xe1\xa3\xfd\x5c\x68\xd6\x9c\xe1\xd6\x42\x00\x11\x14\
+\x67\xa4\x04\x41\xac\xba\x9e\x0b\x3e\xf9\x69\xde\x7e\xfd\x15\xf2\
+\xc5\x76\x98\xe7\x5f\x58\xca\xca\x55\xab\x39\xfa\xa8\x23\x69\x9d\
+\x38\x01\xa5\x7c\x0c\x91\x2d\x1e\x7f\x23\xc7\x96\xa4\x90\x88\x32\
+\x75\x7a\xa5\x03\xe2\xa3\x55\x0e\x45\xf8\x72\xa1\xe0\xf0\x8f\x85\
+\x57\x52\x85\x42\x81\x53\x4e\x3a\x11\xc7\x75\x89\xc7\x62\x9c\x79\
+\xc6\x69\x24\x93\x29\x26\x4d\x6a\x65\xca\x94\x29\x44\x6c\x9b\x74\
+\x4a\xd0\x95\x6e\xc5\x55\x35\xe1\xb3\x7b\x4a\x01\x09\x74\x25\x31\
+\x62\x31\x96\xb8\xf2\xc8\x85\x70\x86\x61\xd0\x32\x61\x02\x8e\xe3\
+\x70\xee\x39\x1f\xc7\xf3\x3c\xea\xeb\x8f\xa7\xb6\xb6\x96\x59\x33\
+\x67\x70\xd1\x85\x17\xe0\x38\x3e\x66\x64\x3a\xc2\x9c\x1b\xea\xf9\
+\x42\x00\x46\x3d\x86\x09\x76\x74\x7c\x45\xa6\xbf\xe7\xd3\x6f\xad\
+\xe9\xdd\xbb\x69\xb3\xd9\x2c\x47\x1d\xf9\x21\x72\xb9\x3c\x3f\xfd\
+\xf1\x0f\x30\xa5\xe6\xba\x6b\xaf\xa1\xb7\xb7\x97\x2b\x2f\xbf\x94\
+\x69\x53\xa7\xd2\xb6\x79\x0b\xae\x9e\x01\x2a\x7c\xc6\xcd\xd3\x39\
+\x34\x1b\xd0\x1f\xa0\x03\x48\x6b\x4d\x4b\xcb\x04\x6a\x6a\xaa\xa9\
+\xad\xad\xc5\x75\x1c\x0e\x3c\x70\x7f\xc6\x35\x8f\xe3\xbc\x73\x3e\
+\x4e\xa1\x50\x40\xca\x08\x4a\xcc\x64\x5b\x47\xe3\x98\x03\xe7\x91\
+\x08\xa4\x32\x31\x9a\x9a\xc6\x61\x45\x27\x23\x76\x03\xe4\xbb\x2d\
+\x00\xb6\x0d\xbb\x10\x84\x10\x14\x32\x7d\xfc\xe2\xc6\x9f\xe1\x7a\
+\x1e\x8b\x17\x1d\x42\x6f\x6f\x2f\x8b\x17\x2d\xe2\x88\x0f\x1d\x4e\
+\x22\x91\xc0\xb2\x0c\x62\xf1\x66\xb2\xee\xec\xf0\x07\x1a\xe0\x29\
+\x0d\x62\x65\xe5\x6b\xcd\xa8\xc7\x8a\xce\x0a\x0d\xe5\xa4\x35\x18\
+\x56\x12\x48\x87\x73\xf7\x4a\xbe\x7b\xb6\xd8\x54\x3c\x67\xce\xec\
+\x1d\xfa\xf8\xfc\x62\xac\x46\xab\x1c\x08\x19\x14\xa7\x86\x7d\xf9\
+\xe2\x58\x4b\x11\x2a\xb4\x53\xde\xf0\x42\x9a\x08\x69\x23\xa4\x19\
+\x3e\x64\xa3\x25\x8c\x40\x2a\x5a\xf2\xe7\x3d\xcf\x43\x4a\xc9\x61\
+\x87\x2e\xd9\xc1\xba\x6a\x9d\xd8\xc2\xd4\x29\x93\x49\xa5\x0b\x41\
+\xc0\x51\x84\x57\xac\x42\x68\xd0\x0a\xad\xfd\xd0\xa9\x58\xd0\x68\
+\xad\x8a\xf2\x86\x0f\x4f\x89\x10\x5a\xbf\x34\xaf\xb9\x5c\x50\xc7\
+\x74\xc1\x79\xe7\x52\x28\x14\x98\x34\xa9\x95\xd6\xd6\x89\xec\xb7\
+\xdf\xbe\xd8\xb6\x85\xe7\xb9\x44\x64\xf8\xf9\x09\xdc\xf8\x0f\x16\
+\x46\x78\x29\x26\x55\x53\x53\x43\x6d\x6d\x2d\x4a\x29\x5c\xcf\x63\
+\xfa\xb4\xe9\x28\xa5\x88\xc7\x63\xe8\xa2\xe5\x24\xa4\xc0\xdc\x0d\
+\xb8\x74\xa6\x1d\xc0\xf4\x6a\x1d\x94\x84\xa8\x31\xde\x4f\x40\x91\
+\xaf\x51\x8c\xa8\xa4\x32\x99\x0c\x67\xff\xcb\x59\x14\x0a\x05\xb2\
+\xd9\x2c\x91\x48\x84\xc9\x93\x27\x95\x3b\x2a\x82\x92\x1a\xaf\x1c\
+\x5b\x0d\xff\x12\x6a\x54\x07\xa5\x28\x07\xb2\x2a\x39\x44\x65\xf8\
+\x8a\xf3\x81\x0a\xa9\x44\x28\xb8\x73\xc6\x42\x4a\x89\x16\x16\x4e\
+\x6e\x25\xf9\xbc\x0c\x6d\xe6\xfb\xca\x43\xe9\x3e\x72\xa9\xb5\xe4\
+\x52\xbd\xe1\xbe\x27\x24\x5a\xa5\x70\xf3\x9b\xc9\xa7\x14\xa6\x69\
+\x85\xdd\xee\x78\x4e\x3b\x30\x9e\xe1\xd8\x57\x06\x66\xb8\xdc\x9d\
+\xe2\x08\xbe\xaf\x8b\x66\xbb\xc2\x77\xb7\xe3\xe6\x6a\x43\xc7\xa4\
+\xdc\x7c\x1b\x86\x3d\x61\x14\xe6\xb2\xc6\x2b\x6c\x24\x9f\x5a\x41\
+\xa1\x10\xae\x30\x52\x69\x41\x5d\x24\x37\xac\x56\x1b\xe8\x92\x0b\
+\x21\xc8\x17\x09\x5f\x3d\xcf\x2b\x93\x34\x98\xa6\x81\x94\x26\x85\
+\xcc\x9b\x78\x46\xf8\x3a\x9f\x7c\x21\x8b\xef\x6d\xdf\x63\x41\xff\
+\xd1\xc6\xa4\x06\xe2\x9b\x0f\x3c\x60\x4b\x70\x43\x4a\x3b\x14\x32\
+\xab\xc9\x8b\xfa\xb1\x23\x92\x3a\x31\xf2\xd9\xad\x44\xc6\xc5\xa9\
+\x89\x6d\xc1\x75\x9d\x31\x6b\x29\x4b\x2a\x04\x51\xfa\x71\xaa\x86\
+\x3e\x7c\x4a\xf3\x59\x92\x7d\x47\x7c\xfe\xe0\xc4\xab\xcc\x85\x07\
+\x31\xca\xf9\xf4\xbd\x2d\xe4\xd3\x2f\x23\x43\x3e\x4f\x6b\x4d\x44\
+\x08\x84\x98\x38\x68\x38\x28\x54\x09\xc2\xa0\x31\x27\xe5\x62\x45\
+\x67\x10\x95\xf5\xa1\xf7\xa1\xef\xbb\x48\xf1\x27\x22\x55\x33\x71\
+\x43\x42\xf2\x0a\x21\xf1\x9c\x8d\x98\xb6\x20\x52\xb5\x2f\xa6\x19\
+\x72\xf3\x68\x45\x4e\xbf\x45\x38\xc6\xe1\x91\x10\x1f\x24\x86\xd9\
+\x88\x15\x9d\xbc\x0b\x41\xc5\x50\xb1\x1f\xd3\x16\xc5\x45\x51\xf9\
+\xe2\x37\xad\x16\xec\xf8\x5e\x60\xaa\x90\x4a\x4a\x82\x58\x16\xea\
+\x59\x3b\xcb\xba\xb3\xcc\x4a\xf9\x58\x89\xf9\x58\x56\x4d\xf8\x0d\
+\x6a\xa4\x31\x8c\x8e\x0f\x5c\xbc\x71\x67\xd9\x76\xf9\x33\x16\x76\
+\x6c\x0e\x91\xaa\x49\x21\xdb\x9d\x86\xbe\xa2\x51\x49\xc1\xad\x63\
+\xc6\xb4\x2a\x8e\x39\x6a\x62\x78\x12\xce\x61\xcf\x67\x49\x5f\xd7\
+\xb6\x11\xfb\x14\x87\x93\x35\xf8\xaa\x00\xb2\x64\x52\x2b\x42\x2f\
+\x47\x21\x25\xf9\x6c\x3b\x52\x5a\x15\xbf\xb7\x34\xc7\x11\x89\xef\
+\x17\x3a\x70\xae\xb5\xc2\xb4\x93\xa0\xf3\xe1\x2c\xa9\x81\xda\x6d\
+\xa8\xa2\xbf\x81\xf5\x43\x95\x98\xf9\x65\xcd\x5c\x31\xaa\x56\x29\
+\xc3\x21\x8b\x78\xcd\xa1\x46\x39\xd4\x13\x86\x5a\x00\xbb\x82\xb2\
+\x89\x21\x82\x64\xc3\x05\xa6\x2a\x95\xb3\x7f\x4c\xc3\xa6\x7d\x77\
+\x74\xf7\x2a\x93\x77\x70\xd0\xfe\xa2\xc1\x5e\x51\xe9\xc4\x58\x2c\
+\x28\xb1\x47\x3e\x3a\xdc\xdc\xee\xe2\x9a\xc0\x98\x48\x30\x4a\xf5\
+\x91\x03\x99\x99\x0c\x63\xf7\x58\x95\xc1\x7a\x1f\xde\x8d\x1f\x48\
+\x9c\x32\x58\xf6\xce\x32\x23\x2c\x5b\xfa\x10\xd7\x7e\xeb\xba\x8a\
+\x58\x72\x56\xac\x34\x78\xfd\xcd\x55\x25\x24\xaa\x90\x2e\xb1\x28\
+\xae\x9f\x4a\xca\x10\x64\xe5\x94\x56\x00\xb9\x7c\x9e\xda\x9a\x6a\
+\x9e\x78\xf2\x19\x66\xce\x98\x46\x53\x53\x13\x1b\x37\x6e\x22\x12\
+\x89\x10\x89\xd8\x44\x22\x02\xad\xf2\x28\x3f\x1d\xfa\x55\x94\xef\
+\xa1\xf1\x03\x24\xd9\x90\xdf\xd3\xc2\x44\xab\x7c\xf9\x59\x4a\xd8\
+\xa1\x17\xa8\xd2\x0e\x61\x02\x49\x5a\x6b\xb2\xd9\x2c\xab\x57\xaf\
+\x61\xfa\xf4\xe9\xb8\xae\x1b\x80\xfd\xe5\x73\xd4\xd7\xd7\x93\x48\
+\xd4\x16\x9f\x9f\x43\x87\xa8\x38\x57\x5a\xa2\xfd\x2c\x48\x1b\xad\
+\x1d\xb4\xaa\x60\x77\x69\x8f\x3d\x01\x96\x51\x5a\xcc\x8e\xe3\x60\
+\x9a\x26\x4f\x3f\xfb\x4f\x8e\x3f\xee\x58\xd6\xaf\x5f\x1f\xd4\xd2\
+\x08\x98\x3a\x65\xf2\x0e\x2e\xc3\x1e\x53\x36\x3b\xbc\x97\x8b\xd6\
+\x4e\xe8\xa0\x90\x2e\x8e\x51\x98\xe7\xe5\xf3\x79\xf2\xf9\x3c\xdb\
+\xda\xdb\x99\x31\x6d\x1a\xdb\xb6\x6f\xa7\x75\xe2\x44\x36\x6c\xd8\
+\xc8\x9c\x39\xb3\x76\xfb\x18\x4b\x21\x70\x3d\x1f\xcf\xd3\x63\x42\
+\x38\xed\x1f\x4e\x19\xaa\xf8\xd2\xb6\x6d\x9e\x5f\xba\x94\x43\x16\
+\x1e\xc4\xd2\x17\x96\xb1\xe8\x90\x85\x6c\xdb\xbe\x1d\xe5\xfb\xd8\
+\x76\x84\xe8\xa4\x28\x86\x61\xd2\xdd\xd5\x8d\x61\x86\x53\x52\x52\
+\x0a\x92\x7d\x7d\x48\x5c\x94\x17\xf4\x4a\x8a\x10\x73\xa3\xfc\x18\
+\xa8\x02\x78\xa9\xf0\x0d\xc6\x5a\x21\x54\x0e\x3d\xc4\x5e\x1d\x34\
+\x70\x6e\x18\x06\xdd\xdd\xdd\x18\x86\xc1\x15\x5f\xf9\x1a\xff\xfa\
+\xe5\xff\xc3\x3e\x0b\xf6\xe1\xe9\xa7\x9f\x65\xe9\xd2\x17\xb9\xf2\
+\x8a\x4b\xa9\xaf\xab\x46\xfb\x1a\xd7\xe9\x0e\xdf\x60\xac\x7c\x94\
+\x9f\xc5\x75\x36\xe1\x3a\x7d\x21\x1b\x8c\x25\x5a\xf5\xe2\xfb\x5d\
+\x78\xce\x46\x50\xe1\x63\x52\xca\xef\x0d\xb5\x98\x53\xa9\x34\x6f\
+\xbd\xfd\x36\x3f\xfc\xd1\x4f\xf8\xe2\x17\xbf\xc0\xaa\x55\xab\xb9\
+\xf7\x77\xbf\xe7\x73\x9f\xfb\x34\x4f\x3e\xf9\x14\xbf\xbd\xfb\x1e\
+\x7c\xaf\x13\xd7\x59\x5f\x0e\xb8\x8e\x64\x2a\x7b\x6e\x3b\x42\x9a\
+\x78\x85\xca\xa8\xaa\x7c\xbf\x73\xd4\xb1\x80\x91\x2e\xcb\xb2\x58\
+\xb5\x6a\x35\xd3\xa7\x4f\xe3\x73\x5f\xf8\x12\xab\x56\xad\xe4\x9c\
+\xf3\x3e\xc1\xc1\x0b\x0f\x62\xd9\x4b\x2f\xf3\xf3\x1b\x7f\x42\x24\
+\x1a\xc5\xf3\xd3\xf8\x15\xbc\x82\xf2\x33\xe8\x22\x4d\x57\x65\xee\
+\x98\x85\xe7\x74\x20\x54\xba\xc2\x98\x87\x8d\x10\xb1\x11\x03\xca\
+\x1b\x36\x6e\x64\xe3\xc6\x8d\xbc\xb6\xfc\x0d\x3e\xf5\xc9\x0b\xd9\
+\xb4\x69\x33\xe3\xc7\x8d\xe3\xdd\x75\x6b\x99\x37\x6f\xce\x6e\x3e\
+\x04\xa0\x3a\x11\x65\xcd\x3b\x29\xfe\xf6\xd0\x7b\x78\x9e\x3b\xe6\
+\x7b\x66\xf3\x8a\x93\x8e\xae\xc5\x32\x87\x26\xe8\xd0\x5a\x13\xaf\
+\x69\xe0\x94\x8f\x9c\x49\xba\xb7\x93\x1f\xfc\xe8\xc7\x3c\xf8\x97\
+\x07\xd8\xba\x75\x1b\x9e\xe7\x91\xa8\x4e\x30\x61\xc2\x78\x26\xb7\
+\xb6\xf0\xdb\xbb\x7f\x13\x3a\xf6\x26\xa4\x20\x95\xce\x13\x8d\xc6\
+\x71\x9c\xf7\xf0\x9c\x42\xc8\x7d\x17\xa5\xd1\x6d\x63\x76\xee\xf5\
+\x1d\xe0\x89\x87\x9c\xaa\x22\x0f\x23\xa6\x89\x12\xb3\x06\x8d\x1f\
+\x0f\x1a\x38\x17\x42\xd0\xd7\x97\x64\xdd\xba\xf7\x78\xfe\xd9\x27\
+\xe9\xee\xee\x66\xf9\xf2\x37\x98\x3e\x6d\x2a\x93\x5a\x27\x62\x9a\
+\x16\xb5\xb5\x55\xb4\xf7\x4d\x27\x22\xaa\x2b\x40\x41\x50\x18\x46\
+\x2d\xd1\xaa\xc9\xb8\xfe\xe4\xd0\x5e\x93\xe7\x6c\xc1\xb4\x4d\x22\
+\xf1\x7d\x31\xcd\x90\xda\x19\x8a\x16\x8c\x1a\xd1\xc2\xe8\xe8\xec\
+\xc0\xb2\x2c\x7e\x7d\xc7\xad\x6c\xdc\xb8\x11\xdf\xf7\xf9\xca\x15\
+\x97\x62\xdb\x11\x2e\xfe\xe4\x45\xb8\x8e\x8b\x19\x99\x46\x24\x3e\
+\x3f\x14\xdd\xb4\x94\x60\xe7\x1b\x11\x08\xec\xd8\xb8\x8a\x12\x5f\
+\xbe\xb2\xd1\xbc\xb8\x47\x94\x94\x69\x9a\xac\x58\xb9\x8a\x79\xf3\
+\xe6\x72\xff\x1f\xee\xa5\xb7\x73\x3b\x5f\xfe\xe2\x17\x88\x46\x23\
+\x2c\x3c\xe8\x40\xa6\x4f\x9d\x4a\x7b\x7b\x07\xbe\xee\x44\x90\xa9\
+\x40\x69\x64\x03\xcb\xb1\x42\x25\xa5\x95\x83\x1d\x9d\x84\x65\x37\
+\x55\x14\xba\x33\x6d\x17\xad\xdb\x87\x75\x33\xb5\xd6\xd4\xd6\xd6\
+\x32\x6f\xde\x3c\x3a\x3a\xbb\x31\x0c\xb3\x0c\x68\xa8\xd4\x1e\x02\
+\x76\x13\x0a\x61\x4c\x40\x58\x33\xc6\x7c\x7f\x21\x40\xfa\x10\xa6\
+\x04\x01\xbf\xc0\x85\xe7\x9f\x47\x3e\x9f\xe7\x63\x67\x7f\x94\x42\
+\xa1\x50\xf4\x24\x14\xa8\xc0\x4b\xb8\xe0\xfc\xf3\x82\xbd\x1d\x3a\
+\xae\x64\xf0\xce\xba\xcd\xfc\xf8\xc6\x67\x88\x56\xcd\x46\x86\xf4\
+\x12\x65\x04\x26\x9a\x0d\xec\x17\x99\x12\x6c\x04\xc3\x04\xe5\x07\
+\x84\x7c\xca\x0b\x44\xb1\x6c\x70\x9d\x7e\xee\x76\xad\x49\x5b\x2e\
+\xce\x10\x9b\x6b\xd0\x47\x7b\x9e\xc7\xfe\xfb\xed\x8b\x94\x12\xcf\
+\xf3\x98\x38\x71\x22\x53\xa7\x4e\x2d\xf7\xe8\x69\xa5\xe9\x68\xdf\
+\x8c\x0b\x15\x9d\x9f\xbe\x10\x94\x8a\xf4\xc3\x56\xb0\xea\xd2\xbf\
+\xb5\x57\x4c\xa3\x1a\x61\x77\x00\x8c\xd0\xcc\x5c\xca\x8c\xcc\x9b\
+\x3b\x37\x68\x27\xf0\x3c\x26\x8c\x1f\xbf\x4b\xc9\x45\x2a\x9d\xab\
+\x28\x00\xae\x8b\x03\xaf\xf1\x47\x51\x82\xe0\x05\x96\x94\xa8\x6c\
+\x41\x87\x09\x22\x67\x32\x19\x2e\x3c\xff\x5c\xd2\x99\x0c\x87\x1c\
+\x7c\x30\x8e\x53\x28\x22\x40\x94\x94\x98\xc1\x73\xcf\xbf\x80\x1d\
+\x9f\x51\x11\xcd\x43\x87\xda\x00\x00\x20\x00\x49\x44\x41\x54\x0a\
+\x82\x22\x87\x34\xd7\x8f\x32\x70\x3e\x0a\x64\x57\x3d\xb2\xfb\x0e\
+\xd0\x3a\x71\x22\x42\x08\xe6\xce\x99\x43\x3e\x9f\xe7\x84\xe3\x8e\
+\x25\x9f\xcf\x73\xd6\x19\xa7\x93\xcb\x65\xcb\xed\x4b\x63\x25\x86\
+\xed\xcf\xb6\x4b\xd0\x6a\x00\xb6\xf9\xee\x89\x4a\x8d\xa4\xa4\xba\
+\x3a\x3b\xb9\xf5\x57\x37\xd3\xdd\xdd\xc3\x67\x3e\xf5\x49\xd2\x99\
+\x0c\x4b\x16\x2f\x2a\x97\x20\xb8\xae\x4b\xaa\x88\xf5\x1e\xf6\x32\
+\x0c\x83\x5c\x3a\x15\x20\x14\xe8\x70\xfb\x55\x07\x55\x37\x78\x28\
+\x7c\x3c\xb4\xb4\xf9\xd5\x83\xb7\xb1\x68\xf6\xfe\x74\xa7\xfb\xd8\
+\x7f\xda\x7c\xe2\x91\x18\x77\x3d\xfc\x00\x67\x1f\x7a\x12\x0d\x89\
+\x3a\x84\x69\xa1\x5c\x17\x57\xfb\x43\xca\x6a\x0e\x17\xbb\xd8\x59\
+\x71\xf5\x5b\x0a\x12\x5f\x98\x8c\x2f\xbc\x87\xce\x9b\xe1\x21\x57\
+\x94\x47\x4c\xa7\x71\xf2\x29\xbc\x42\x6f\x48\xae\x7b\x89\xef\xb5\
+\xa3\xf1\x47\x39\xc1\xc3\x6f\x5c\xad\x35\xae\xeb\x96\xcb\x0f\xdc\
+\xa2\x9c\x3b\x06\xce\x35\xca\xed\xc4\xcd\x6f\x09\x55\x82\x20\xa5\
+\x0c\xac\x3f\x6b\x42\x05\x0a\xaa\x14\x34\x37\x50\x7e\x0f\x5e\xa1\
+\x13\xb7\x90\x0b\xa7\x24\xb4\x01\xb1\x70\x0a\x39\x9d\xc9\x20\x84\
+\x28\x93\x6b\x64\x07\x20\x02\x56\x55\x05\xd5\xcd\x95\x36\xdb\x6a\
+\xed\xc3\x28\xb2\x63\x42\x5a\x78\x4e\x17\x42\x15\x42\x37\xbe\x0a\
+\xc0\xf7\x8c\x61\x5d\xe8\x9d\xd3\xf0\xa5\x32\x8b\x81\x32\x4b\x19\
+\xc8\xe9\xb9\x1d\xb8\x05\x7f\xcc\xd9\x3d\x49\x0c\xe5\x25\x41\xb4\
+\xf2\x7e\x5e\x03\x89\x18\xa4\x14\xe5\xf9\x2d\xec\xd4\x8b\x58\x49\
+\x9c\xb1\x14\x84\x0f\x02\xe0\x46\xe8\xfc\x98\x28\x7f\x2e\xc8\x22\
+\x78\xa6\xc5\x4f\xff\x72\x1b\x3f\xfb\xd4\x35\xbc\xb0\x66\x39\xcb\
+\xd7\xaf\x64\x55\xdb\x5a\x22\xa6\xcd\x94\xa6\x16\x4e\x3a\xe4\x38\
+\x5e\x5c\xf5\x0a\x8b\xe6\x1c\x40\xc0\xfc\x1c\x32\x70\x1e\x96\x80\
+\xc1\x05\x66\xe0\x53\x53\x6a\xbc\x0d\x71\x60\xba\x68\xfe\xa4\x35\
+\xd2\xac\x46\x5a\x32\x34\xe8\x9d\xd6\xd9\x8a\xdc\x8f\xca\x4e\x41\
+\x11\xe2\xef\x04\xc2\xa8\xc2\xb0\x1a\x43\x05\xce\x85\x94\x18\x96\
+\x83\xeb\xb6\x51\xc8\x25\xc3\x83\xde\x01\xbe\xd3\x89\x90\xd5\x48\
+\xb3\x11\xc3\x0f\x07\x7a\x27\xb4\x09\x6c\x0c\x25\xe7\x50\xf3\x3b\
+\x90\x6e\x1e\x64\x70\x2a\x86\x3d\xe7\x75\x65\x70\xb1\x03\x95\x9b\
+\x34\xaa\x90\x56\x7d\x45\xd6\x94\x90\x2e\xe8\x91\xdd\xcb\xa1\xd3\
+\xf2\xba\xac\x5a\xa4\xac\xc1\x30\x1b\xc6\xac\xa4\x0c\x33\x86\x30\
+\xa2\xbc\xdf\xd7\x50\xf3\xba\x7b\x08\x54\x14\x5e\xa1\x0d\x27\xbb\
+\x0e\xc7\xc9\x87\xd9\xe2\x48\x2f\x12\xb4\x8e\x09\xb0\xdd\x02\x77\
+\x5f\xf6\x33\x66\x8c\x9f\xcc\x3e\x53\xe6\x90\x77\x0b\x1c\x3e\xef\
+\x40\x5a\x1b\x5b\x82\x43\x4d\x29\x26\xd6\x8f\x1b\xf1\x80\x33\x87\
+\x3b\x75\x95\x52\xe5\xae\xea\x1d\x8a\x01\x8b\x81\x69\x4b\xda\x44\
+\x65\x24\xb4\x5d\x2b\xf1\x82\x9e\x20\x03\xa4\xac\x0a\x6d\x81\x29\
+\x11\x1d\xc5\x26\x18\xb9\xe2\x75\x30\x3e\xb4\x81\xdd\xf2\xfd\x93\
+\x2d\xfe\xbf\xf6\xce\x3b\xce\xae\xaa\xda\xe3\xdf\xbd\x4f\xb9\x6d\
+\xee\xf4\x92\x5e\x49\x01\x42\x0a\x45\x5a\x20\x40\x68\x81\x10\xa4\
+\x83\x14\x45\x04\x04\xa5\x88\x0f\xc5\x0a\x08\xa2\x52\x14\x15\x51\
+\x10\xb1\x20\x28\x82\x8d\xf2\x90\x26\x45\x50\x5a\x02\x92\x10\x54\
+\x5a\x48\x21\x65\xfa\xdc\x7e\xca\xde\xef\x8f\x73\xef\x64\x12\x26\
+\x99\x73\x67\x26\x6d\x9e\x87\xcf\x90\x64\x66\xee\xcc\xdd\x67\xed\
+\xbd\xce\x2a\xbf\xf5\xfb\x21\x64\x04\x29\x23\x68\x11\x09\xb1\x71\
+\x40\x88\x08\xa6\x35\x12\x2b\xd2\x10\x1a\xd4\x06\x1a\xcf\x37\x41\
+\x18\x48\x29\x90\x46\x22\xec\xcb\x42\xdd\x9f\x8d\xd7\xb6\x71\xc4\
+\x28\x84\xc0\x71\x5d\x2a\xac\x55\xd8\x76\x19\x44\x70\x7e\x06\x29\
+\x3a\xfa\x31\xbb\xa7\x8b\xf7\xb5\x3c\xde\x2d\x21\x73\x68\x32\x9b\
+\x74\x52\x1b\x2b\x1e\x6d\xfc\xef\x80\xd9\x22\xc0\x0d\x48\x19\x43\
+\xc8\xd8\x80\x6a\x48\x5a\x17\x69\xc1\x85\xc5\xb6\xb8\x7a\x9e\xd7\
+\x8d\x1d\x55\x69\xed\xfd\xd3\xfe\x93\x18\x56\x03\x56\x74\x02\x5a\
+\x14\xc2\x39\xa9\x48\x04\x5f\x3c\x19\xbc\x5a\x6b\xf6\x99\x3c\x0b\
+\xad\x15\x8d\x55\x75\x1b\x7a\x0f\xad\x11\x5a\x31\xaa\x6e\x58\xb7\
+\xe4\x7d\x59\x1c\xe7\x52\x4a\xd6\xad\x6b\xa6\xb1\xb1\x81\xff\xbc\
+\xf5\x16\x53\x26\x4f\xc6\xf7\xfd\xe2\xbc\x93\xc4\x30\x8c\xe2\x0d\
+\x11\x84\xa3\xd0\xda\xb0\xc2\xd4\x3f\x43\x38\x28\x3f\x8b\x92\x5e\
+\xc8\xef\x57\x45\xaa\xdf\x4d\x2f\xbf\x64\x44\xc7\x71\x82\x94\x40\
+\x4a\xea\xeb\xea\x78\x7f\xf9\x72\xaa\xab\xaa\xd0\x04\x73\x8c\x11\
+\x3b\x8e\xf6\xf3\x28\xbf\x50\xac\x8b\xf5\x9d\xa2\x2a\x3f\x8b\x21\
+\x41\x0a\x17\x21\xc3\x0f\x18\x6b\x5d\x28\xff\xb0\x87\x24\xbd\x33\
+\x0c\x83\x96\xd6\x56\xaa\x2a\x2b\x71\x3d\x0f\xdb\xb2\x58\xb9\x6a\
+\x15\xa3\x47\x8f\xa2\xb3\xa3\x93\x48\x24\x42\x36\x93\xe1\xb8\xd9\
+\x8d\x54\x56\x26\x43\xd7\x69\xd2\xe9\x14\x8f\x3f\x16\xc1\x57\xfd\
+\x39\xea\x83\x4f\x7a\x57\x3a\x8c\xae\xeb\xa2\x94\x22\x91\x48\x74\
+\xeb\x47\x4a\x29\xe9\xe8\xe8\x60\xd8\xb0\xa6\x01\xef\xc9\xed\xe1\
+\x2a\xd9\x75\xd5\xaa\x0f\x18\x3e\x7c\x58\x77\x1d\x39\x97\xcb\x93\
+\x4a\xa5\x48\x24\x12\x24\x12\xf1\xfe\xab\x28\x17\x6b\x76\x42\x46\
+\x42\x99\x32\x70\xff\x0a\x4f\x39\x41\x19\x22\xc4\x9e\x57\x5a\xe3\
+\xa3\x36\xb9\xeb\xcd\xbe\x76\x45\x65\x32\xc9\x1b\x4b\xdf\xe4\xab\
+\x5f\xbf\x0a\xcf\xf7\xf8\xda\x57\xbe\x44\x65\x45\x92\xce\x42\x86\
+\xe1\x72\x4c\xe8\xe8\xe4\xc3\x9f\x0b\x19\x5e\x8b\x12\x9c\x7f\xcb\
+\x12\xc8\xc5\x62\x31\x5e\x5f\xbc\x98\x6b\xef\xff\x03\x4d\x8d\x8d\
+\x7c\xfa\xbc\x4f\xf1\xec\xdf\x9e\xe7\xca\x6f\x7c\x83\x57\x5e\x78\
+\x69\x6b\x6d\xb9\xad\xb1\xab\x31\x0c\x83\x7b\xef\xbb\x9f\x19\xd3\
+\x77\x23\x16\x8b\x71\xd5\xd5\xd7\x72\xeb\x4f\x6e\xe7\x8f\x7f\xbc\
+\x9f\xa6\x61\xc3\x79\xe2\x19\x8d\x65\x85\x4f\x7f\x72\x39\xcd\xda\
+\xd5\x26\x52\x6e\x3f\x88\x73\x21\xe0\xdd\xf7\xde\xc3\x32\x2d\xee\
+\xbd\xef\x7e\x3e\x7e\xd6\xe9\x3c\xf7\xfc\x3f\x38\xe2\xb0\x43\x43\
+\x63\x85\x76\x14\x27\x55\x59\xdb\xc8\x94\x5d\x67\xf0\x9f\xa5\xaf\
+\x73\xf7\x3d\xbf\xe5\x84\xe3\x3f\xca\xdf\x9e\x7b\x8e\xa9\x53\xa6\
+\x50\x59\x59\x39\xd0\x3b\x19\xa4\xfe\x21\xcf\xab\x81\xe4\x3f\xb2\
+\x9a\x87\xed\xf1\x65\x70\x9c\x2b\x2a\x8c\x14\xfb\xa0\x7a\xad\x4c\
+\x99\x9b\x7a\x51\x43\x43\x3d\x89\x44\x82\x6f\xdf\x70\x13\xdf\xbb\
+\xf1\x7a\x7e\x7b\xf7\xaf\x58\xbd\x7a\x35\xd1\x68\x8c\x58\x3c\x4a\
+\x24\xd3\x85\x7e\xb7\xa8\x51\xa7\x7c\x96\xa7\x3a\xa9\x8e\x44\xa9\
+\x8d\xc6\x3f\x1c\xd6\x95\xda\x27\x1a\x94\xe7\x12\x31\x56\xe1\x19\
+\xe1\x24\xda\xa5\x34\xe8\xca\xac\x44\x6b\x13\x69\x54\x20\x8d\xf0\
+\x60\x4e\x21\x37\xaf\x42\x52\x7a\x6f\xb1\x58\x8c\x77\xde\x79\x17\
+\xd7\xf5\xb8\xf5\xc7\xb7\xf1\xb3\x9f\xde\x46\xa1\x50\x60\xfa\xf4\
+\x69\xdc\x7c\xe3\x0d\x64\x73\x79\x84\x11\x45\x1a\x11\xb4\x0e\x99\
+\xee\x19\xf1\xa2\xd2\x59\x45\xe8\xc8\x28\x40\x2c\xc7\xd8\x12\xe3\
+\x25\xa5\x4e\x65\x5d\x5d\x1d\xf9\x7c\x9e\x49\x3b\x4d\x64\xca\xe4\
+\xc9\x7c\xef\xfb\x3f\xe4\xeb\x5f\xfd\x32\x07\xcc\xde\x9f\x3d\x66\
+\x4e\xe7\xa9\xa7\x9e\x45\x5a\x26\x52\x85\x9f\xdd\x0b\x68\xa1\xcd\
+\x7e\x1f\x82\x72\x1c\x4f\x58\x42\x35\xad\xa1\xa1\xbe\x1e\x8d\x66\
+\xe7\x9d\xa7\x60\x59\x36\xfb\xee\xb3\x37\x9e\xe7\xf3\xd7\xa7\x9f\
+\xe6\x8c\x8f\x9d\x02\xfd\xc0\x76\x6d\x6f\x97\x10\x02\x3f\x9f\xe6\
+\xb2\x4b\x2e\x42\x29\x45\x55\x75\x25\x55\x95\x95\x8c\x1d\x3b\x86\
+\x67\x9f\x7b\x9e\xe9\xd3\xa7\xb1\xcb\xd4\xa9\xd8\xb6\x5d\xb6\x5d\
+\x7c\xbf\x40\x6d\xf2\xdf\x1c\x32\xbb\x85\x4c\x26\x5c\x7d\xb4\x22\
+\x61\xb3\xf0\x65\x89\x2f\xa3\xe8\xb0\x60\x4e\x34\x4a\x16\x10\xe4\
+\xc2\x47\x52\xa5\xa8\x27\x95\x4e\xf3\x93\x1f\xfd\x90\x6c\x36\x8b\
+\x65\x99\x8c\x1b\x3b\x16\x55\x3c\xd8\x39\xdf\x0d\x90\xa2\x42\xb2\
+\xb2\x79\x15\x47\x5d\x73\x36\x9f\x9d\x77\x26\xe7\x1d\x76\x2a\x6b\
+\x3a\x5a\xf0\x8b\xd3\xd7\xe3\x46\x8c\x07\xd7\x0d\xb0\x11\xca\x43\
+\x9a\x36\x05\x7f\x24\x8e\x0a\xd9\x05\xd1\x60\xda\x95\x48\x63\x59\
+\x99\x91\x46\xf8\xb4\xc0\xf7\x7d\x26\x4e\x9c\xc0\xa4\x49\x3b\xd1\
+\xb6\xee\x03\x4e\x3b\xe5\x24\x5c\xd7\xa5\xba\xaa\x8a\x51\x23\x47\
+\x92\x4e\xe7\x03\x7e\x1c\x3f\x1c\xef\x50\xc0\x0f\x9d\x2a\x22\x70\
+\xe3\x68\x15\x36\xdd\xd3\x01\xbb\x04\x5b\x4e\x7e\x5c\x29\x45\x24\
+\x12\x61\xdf\x7d\xf6\xc1\xf3\x3c\xbe\xfe\x95\x2f\x91\xcb\xe7\x99\
+\x77\xe4\x11\x44\x22\x56\x30\x7c\x4b\x7f\xda\xe7\xfd\x89\x02\x83\
+\xb4\x58\xf9\x5d\xe1\xc5\x62\x04\x68\xe5\x6d\xb6\xbe\x52\xaa\xc3\
+\xd4\xd5\x05\x75\x90\x93\x4f\x3c\x11\xd7\x75\xbb\xd3\xfb\xd3\x4f\
+\x3b\x15\xa7\xe0\x00\xaa\xf8\xfb\xd3\x03\x2e\x9c\x2b\x3f\x8a\x56\
+\x85\x6d\xe2\xa4\x3a\xbb\xba\xb8\xe8\xb3\x17\x92\xcb\xe5\x58\x30\
+\x7f\x3e\x99\x6c\x96\x69\xbb\xee\xca\xcc\x19\x33\xf0\x3c\xaf\x9b\
+\x61\xb7\xdc\x9a\x94\x00\x6c\x3b\x46\x22\x51\x4f\x24\x12\x6e\x6d\
+\xa6\x69\x23\x8b\xc2\xa6\x22\xf4\xce\xd1\xe5\x17\xce\x7b\xde\x80\
+\x52\x8b\x5a\x6b\xf0\x7b\x18\xb2\xe7\x0f\x16\x08\xae\x3b\xe3\x7f\
+\xd0\x5a\xf3\xb3\xbf\xde\x87\xe3\x79\x2c\x7c\x67\x31\xc9\x68\x9c\
+\x39\x7b\x1c\xc4\xb1\x7b\x1c\xc2\xa2\xb7\xfe\xc9\x5e\x63\x26\x6f\
+\xb0\x99\x43\x33\xfd\x69\x1f\xad\xdc\x60\x34\x45\xe9\xb0\x45\x98\
+\x62\xfd\xa8\xef\x34\xb1\x74\x78\x95\x52\x48\x29\xbb\xe1\x17\x1a\
+\x50\xae\x1b\x14\xb4\xdd\x76\x3c\x77\x4d\x28\xc4\xb9\x92\x12\xdf\
+\x6b\x0d\x9e\x72\xae\x0e\x8f\x38\x17\x81\x66\x19\x42\x6e\xd1\x4d\
+\x0d\xeb\x21\x25\xb9\xa2\x78\x9d\xe3\x38\x58\x96\xb9\x95\x0f\x98\
+\x81\xf2\xda\xf1\x84\x53\x8e\xec\x1e\xca\xb7\xd9\x14\x8b\x63\x6f\
+\x05\xf3\x6e\x7b\x16\xff\x1d\xd4\x56\x03\xa0\xaf\xef\xb7\xe1\xb9\
+\x62\xc0\x5c\x2d\xbe\x8c\xa1\xfc\x0c\xdb\xe2\xea\xc9\x82\x50\x72\
+\xc6\xbe\xef\x6f\xc0\x84\xd0\xaf\x6e\x9f\x30\xe8\x4c\x59\x2c\x59\
+\xda\x49\x2e\x17\x2e\x92\x8a\xc5\x22\xf8\x4a\x0f\x52\x77\x71\x13\
+\x4e\x2a\x8c\xaa\xc8\x06\x6f\x40\x6b\x1a\xab\xeb\x79\x67\xf5\x72\
+\x84\x10\x8c\xaa\x1b\xc6\xd4\x91\x13\x19\x5d\x3f\x1c\xc7\x73\x59\
+\xb1\xf2\x1d\xf4\x1e\x87\xd0\xdc\xf2\x01\x62\xec\x94\x81\x6c\x83\
+\x60\xce\x2b\x64\x54\x12\x70\x39\xa9\x10\xbe\x2c\x84\x50\x03\x12\
+\x21\x9b\x88\xc4\x27\x12\x86\xbc\x41\x08\xb0\x72\xc9\x00\x71\x1e\
+\x2f\x13\x71\xee\x5b\x03\x16\x05\xd8\x5c\x6a\x1b\x5a\x35\x66\x6b\
+\xd4\x53\x94\x83\x15\x1d\x1d\x20\xce\xcb\xd9\xb4\x56\xdf\x88\xf3\
+\x8d\x6d\xdb\xeb\x5a\x85\x89\x15\x19\x4f\x24\xde\x34\x60\x3e\x29\
+\x3b\x02\x86\x5d\xb7\xd5\xeb\xf0\x61\xed\x59\xbe\xd3\xd0\x48\x69\
+\x91\x2d\x8c\xe2\x3f\xef\x55\xe1\x3a\x55\xa1\x62\x69\xcb\x26\x54\
+\xc1\x7c\x40\x4e\xaa\x14\x55\x44\xa3\x11\xf2\xf9\x42\x40\x1a\xe6\
+\xfb\xe4\xf2\x79\x2a\x6b\x6b\x70\x32\x59\xec\x88\xcd\x9a\xf6\x96\
+\xee\x88\x2a\x66\x47\xb8\xfc\xe4\x8b\xba\x9d\x03\xbe\xcf\xcc\x49\
+\x33\x8a\xe5\x03\x09\x85\x1c\x0b\xf6\x9d\x87\x5b\x14\xbb\x2c\x67\
+\x40\x3a\x68\xe7\x1b\x08\x11\x2d\xd6\xa4\x22\xa1\x6f\xb2\x10\x76\
+\xa8\x9a\x54\xe9\xa3\xb2\xaa\x92\x5c\x36\x87\x21\x65\xd0\x8a\xaf\
+\xaa\xa2\xb3\xad\x6d\xfd\x7b\x0e\x19\xc4\x6d\xb0\x36\x5d\xee\xd6\
+\xd8\x72\x11\x54\x29\xd5\x73\x5d\x97\x9a\x86\xe1\xb4\xac\x59\x49\
+\x22\x1e\x0f\x38\xeb\x5d\xb7\x38\xb9\x1f\x40\x8b\xcb\x7b\x1f\x65\
+\x12\xef\x0f\xf4\x3e\x85\x80\x96\x04\xa9\x87\x89\x6d\x5b\x18\xd2\
+\x20\x95\x4e\x53\xd3\x50\x4f\x57\x5b\x3b\x95\xb5\xf5\xb4\x37\xaf\
+\x09\xd8\x23\x74\x19\x76\x0d\x55\x54\xdc\xfa\xe9\x9e\xe7\x79\xd4\
+\x0f\x1b\x49\x47\xcb\x5a\x6a\xea\xea\xe8\x6c\x6f\xa7\xaa\xb2\x12\
+\xa4\xc0\xf7\x3c\xd2\xe9\x4c\x91\xfc\xae\x1f\x10\x11\xa1\xb1\xcb\
+\x20\x05\xb4\xad\xfe\xd4\x1a\x37\xbf\x7f\x7a\x8d\xef\x2d\xcb\x62\
+\xd1\xa2\xd7\x98\x39\x73\x06\x3f\xbe\xed\x76\xea\x6b\xeb\xd8\x73\
+\xcf\xdd\xf9\xc2\x15\x5f\xe6\xb0\x43\xe7\xb2\x6c\xd9\xfb\x9c\x78\
+\xfa\x49\x20\x7a\x00\xbc\x36\x06\x7b\x15\xd3\xa2\xee\x5c\xd8\x2b\
+\x16\x29\xb5\xa6\x90\x59\x8d\x93\xeb\x0c\x4d\x7a\xa7\xbc\xd6\xee\
+\xd4\x2d\xec\x8d\x5e\x8f\x9a\xed\xa3\xe8\xa8\x14\x99\x74\x1a\x5f\
+\x29\x6e\xfa\xde\xcd\x1c\x78\xc0\x6c\x3a\x3a\x3b\x99\x32\x79\x32\
+\x3f\xfc\xd1\xad\x5c\x73\xd5\x95\x08\x24\x9e\xb3\x92\x42\x2e\x19\
+\x72\xc0\x58\xe0\xe6\xd7\x01\x02\xc7\x6e\x2d\x63\xc0\x58\x07\x60\
+\x4e\x61\x0c\xfa\x66\x2e\x09\x31\xbc\xb1\x74\x29\x13\x27\x4c\x60\
+\xc1\xfc\xa3\x78\xe0\x81\x3f\xf1\xfc\x73\xcf\xb1\x74\xe9\x9b\x8c\
+\x9f\x30\x9e\xe9\xd3\xa6\x21\x0d\x03\xa5\x3d\x94\x0a\x3f\xc5\xaf\
+\xb4\xd3\xcf\x89\x00\x8b\x42\x6e\x05\xca\x6b\x2b\x0b\x71\xee\x3a\
+\x16\x42\xc4\xfb\x4c\xf7\x56\xac\x58\xc9\x7b\xcb\x96\x91\xc9\x64\
+\x98\x37\xef\x08\x3e\x7d\xfe\x85\x7c\xf1\xf2\xcf\xf3\xa9\xf3\x2e\
+\xe0\xee\xbb\x7e\x4e\x57\xaa\x0d\xb7\xb0\x82\x42\xae\x73\x80\xe9\
+\x9e\x46\xa8\x38\xbe\xd3\x02\x7a\xeb\x23\xce\xeb\x9b\x9a\x38\xe1\
+\xf8\xe3\xb9\xe3\xb6\x5b\xf9\xe2\x17\xbf\xc4\x85\x17\x9c\xcf\x2d\
+\xb7\xfe\x84\x4c\x26\xc3\xa8\x51\x23\xf9\xe8\x82\x63\xfa\x29\x80\
+\xaa\xc1\x5f\x87\xef\xae\x42\xb9\xf9\x50\xdf\xae\xb0\xf1\xdc\x3c\
+\xd9\x6c\x2a\x34\xec\x41\x2b\x8d\x29\x37\x8d\x7b\xeb\xd5\x49\xb9\
+\xae\xcb\xcc\x99\x33\xa8\xa8\xae\x61\xa7\x89\x13\x19\x39\x62\x04\
+\x96\x69\xb1\xf7\x47\xf6\xe2\xae\xbb\xef\xe1\xda\xab\xaf\xe4\xed\
+\xb7\xdf\x66\x4f\x31\x26\x74\x0d\xa4\x7b\x15\x42\x60\xda\xc3\x31\
+\xad\x44\x48\x27\x65\xe0\xa3\x11\xa2\x99\xf2\x39\xa8\xfa\x36\xb0\
+\x21\x25\x8d\x8d\x8d\xf8\xbe\xcf\xfe\xfb\xed\xcb\xde\xfb\xee\xcf\
+\xcd\x37\x7f\x9f\x33\xcf\x3a\x87\xbb\x7e\x75\x27\x87\x1f\x39\x9f\
+\xe7\x9f\xfb\x1b\xd2\xa8\xc1\xb4\x46\x86\x47\x9c\x9b\xc1\x5b\x30\
+\xac\xa6\xb2\xc0\x9c\xae\xeb\xf5\x6b\xc4\x24\x8c\x1d\xf2\xf9\x3c\
+\x1f\xf9\xc8\x47\x68\x6d\x69\xe1\xcc\x33\xcf\x60\xcd\x07\xab\x39\
+\xee\x84\x53\x58\x70\xcc\xd1\x7c\xf5\xeb\x57\x73\xe7\xcf\xef\xc0\
+\x8a\x44\x99\xed\xac\x24\xae\xa2\xdd\x8e\x63\x73\x1c\x5e\x02\x48\
+\x3b\x59\xfe\xae\x52\xf8\x65\x00\x6e\x05\x90\x03\x0e\x42\x93\xa4\
+\x5c\x42\x70\x03\x27\x44\xad\x51\x1a\x92\x47\xfe\xf2\x18\x0f\x3c\
+\xf4\x10\x93\x27\xed\xc4\x65\x97\x5e\x4c\x32\x99\xe4\x6b\x5f\xfd\
+\x12\xf9\x7c\x1e\x30\x30\xac\x7a\x4c\x6b\xc4\x80\xef\xb9\x61\x25\
+\x10\x66\x35\x5b\x3b\xdf\x0b\xf4\x25\x2d\x16\x2e\x5a\xc4\xf4\x59\
+\x7b\xf1\xad\x6f\x5e\x4b\x53\x63\x23\x27\x9f\x74\x42\x20\xdf\x65\
+\x99\x44\xa3\xd1\x7e\xfc\x5c\xb0\x2d\xc9\xac\xdd\x92\xcc\xd9\x3b\
+\x42\x28\xc5\x2f\x0d\x76\xc4\x46\x3b\x31\xa6\x4c\x5e\x1d\xde\x49\
+\x69\x30\x2d\x89\xaf\x2a\x08\xcd\xcc\x19\x8f\xc5\xf8\xd5\xdd\xbf\
+\x61\xf5\x07\x1f\xe0\x6b\xc5\xc1\x73\xe6\xf0\x9b\x7b\x7f\x47\x6d\
+\x4d\x2d\x97\x5d\x76\x29\x2f\xbd\xb2\x90\x43\xe7\x1d\x86\x5a\x94\
+\xeb\xd7\x8d\x95\x26\x45\xf1\xc9\x90\x69\x8a\x1f\x2f\x2a\x18\xb7\
+\x23\x43\xf3\x49\x29\x94\x9f\xa3\x2f\x30\xa7\xef\xfb\x3c\xf8\xd0\
+\xc3\x3c\xff\x8f\x17\xd8\x63\xe6\x4c\x6e\xb8\xfe\x7a\xa6\xed\xba\
+\x33\xef\xbd\xfd\x26\x3f\xbe\xed\xa7\xfc\xe3\xf9\xa7\xe9\xec\xca\
+\x20\x65\x14\x69\xc4\x50\x21\xc0\x84\x52\x0a\x84\x11\x47\x20\x90\
+\x46\x45\x78\xf2\xba\x6e\xd0\x9c\xde\x22\x9b\xb9\xae\xa1\x81\x63\
+\x3f\x7a\x3c\x3f\xbb\xfd\x27\x3c\xf6\xd8\x13\xcc\x9a\x31\x83\xbf\
+\x3d\xfd\x24\xff\xfa\xf7\xbf\xb9\xf8\xa2\xcf\x30\x66\xcc\x68\x1e\
+\x78\xf8\x11\x12\x11\x49\x12\x81\xac\xaa\x03\xa5\x50\xa9\xf6\x0f\
+\x6d\xb8\x52\xe0\x21\x04\x98\x42\x62\xf7\x23\xcf\x51\x40\x54\xda\
+\xd4\x18\x91\xf0\xb5\x31\x01\xae\x30\x49\x87\x60\xdd\x32\x0c\x83\
+\x63\x17\xcc\xe7\xf8\xe3\x8e\x65\xf2\xe4\x49\x7c\xe7\xfa\x9b\x38\
+\xe7\x93\x67\xf3\xb3\x3b\x7f\xc1\x77\xbe\x75\x2d\xe0\x14\x05\x6e\
+\x13\x03\xae\xcd\x49\x53\x04\xb8\xa0\xad\xcc\xf5\x1e\x64\x29\x79\
+\x8e\x3b\x76\x01\x5f\xfd\xf2\x15\xfc\xe2\x57\xbf\xa6\xb9\xb9\x99\
+\x27\x9e\xf8\x2b\xb9\x7c\x8e\xa6\xa6\x26\x0e\x39\xe8\x20\x62\xb1\
+\x68\x3f\x7e\x36\x58\x96\x41\x24\x62\x14\xeb\x7f\x7d\xeb\x58\xda\
+\xb6\xa4\xba\x32\x41\x63\x43\xb2\xff\x00\xd2\x30\x4e\x2a\x97\xcf\
+\x73\xea\xc9\x27\x6e\xf0\xcb\xf7\xd8\x7d\x56\x31\x34\x53\xcc\x9a\
+\x3e\x9d\xd5\xed\xcd\x54\xa0\x51\xa5\x11\xe9\x50\x69\x81\x2e\x2b\
+\xd2\xd9\xc0\x99\x78\xed\x78\xce\x72\x84\xb6\x42\x1f\x4a\xdf\xef\
+\xd8\xec\xa6\x29\xa1\x75\x0f\x3f\xec\x50\x8e\x3c\xe2\xf0\xee\xbc\
+\xbd\xc4\xed\x7e\xd9\xa5\x17\x93\xcf\x17\x10\x65\x46\x68\xeb\xbf\
+\xaf\xbc\x82\x87\xde\x48\x50\x21\x7c\x5b\x5c\xf6\x49\xcf\x29\x84\
+\xa0\xbd\xb5\x95\xbb\x7f\xf9\x73\x3c\xdf\xe7\xbb\x37\x7e\xa7\xbb\
+\xfb\x33\x6c\x58\x53\xc0\x4b\x14\x8b\x15\x0f\xab\x46\x56\x54\x21\
+\x0e\xaf\x67\x7c\xd3\x18\xde\xfd\xd5\x22\xb2\xad\xab\x51\x5a\xe1\
+\xfb\x8a\xa8\x1d\xc1\x36\xad\x41\xeb\xe0\x68\xad\xf1\x94\x1f\xd4\
+\xcc\x2c\xbb\xf7\x3a\x5d\xb7\xfa\x70\xb8\x08\x19\x02\x9c\x54\x63\
+\x43\x03\x00\x85\x82\xc3\xe7\x2f\xbb\x14\xa5\x14\xd7\x5c\x7d\x65\
+\x31\x92\x1a\x48\x61\xb9\x37\xbb\x6d\xfd\x4b\x08\x41\x7b\x7b\x3b\
+\x57\x5f\xf9\x35\x7c\xdf\xe7\xdc\x73\xce\x46\x29\xc5\xe9\x1f\x3b\
+\xb5\xfb\x5e\x94\x3e\x06\xba\x46\x21\xca\x7b\x5f\x83\xb5\x3f\xcc\
+\xcd\x15\x59\x7b\x33\x3c\x04\x60\xcf\x88\x30\x58\xe8\xb5\xe1\x14\
+\xc2\x17\xe4\x7c\xdf\xa3\x45\x15\x8a\x49\x81\x1f\xf2\xc0\x4b\xb4\
+\xf6\x30\xed\xd1\x44\x13\xb3\x30\x43\xa2\x85\x03\x94\xec\xe2\xcd\
+\x86\xf1\x3d\x5b\xd5\xa5\x03\xdb\x73\xce\xab\xdb\x69\x6d\xe0\x68\
+\x54\xa8\xf7\x2c\x84\xc0\x77\x56\xe3\xe6\xd3\x65\x91\xde\x79\xee\
+\x5a\x0c\x56\x32\xaa\x69\x05\xb9\x5c\xb8\x96\xb6\x90\x26\xe9\xce\
+\x14\x4a\x0f\xeb\xbb\xc8\x5a\x5c\x67\xcf\xf6\x74\x69\x13\x6f\x58\
+\x04\xd7\xc4\xec\x28\xff\xfa\xc3\xbf\xb8\xee\x07\x5f\x62\x5d\xba\
+\x83\x88\x15\xe1\xb5\x65\x6f\x72\xe5\x49\x17\xb1\xd7\x4e\xbb\x91\
+\xd2\x9a\x6a\x6b\xe0\xf3\x6a\xc2\x30\xf9\xcc\x6d\x5f\x65\x75\xaa\
+\x9d\xfb\x2e\xbf\x95\xbc\xe7\x90\xf5\x3d\x2c\x0d\xb6\x69\x93\x34\
+\xcc\x1e\x43\xda\xe1\xf1\x6f\xbd\xd9\x13\x28\xaa\x03\xed\xd8\x20\
+\xce\xde\xce\x6b\xcf\x35\x6e\x7c\x7e\x85\xd8\x71\xd7\xdb\x6f\x08\
+\x82\x50\x05\x0a\xf1\x59\xe4\xed\x44\xe8\xd8\xc2\xf3\x35\x0e\x8f\
+\x33\xb2\x09\x3a\x23\x99\x50\x3e\xca\x34\x6d\x96\x2f\x5b\x83\xef\
+\xe5\xca\x04\xdc\x69\x08\x51\xcc\xdd\x78\x7d\x1b\xaf\x59\x08\x90\
+\x42\x53\x11\xcf\x30\xbc\x29\x87\xef\xf7\xcd\xb8\x28\xa5\x81\x25\
+\xba\x68\xeb\x1c\x81\x15\x1b\x41\x39\xe7\x41\xf9\x06\xf5\x96\x66\
+\xe6\xf0\x06\x0a\x99\x58\x28\xca\x56\xdb\xb4\x79\x21\xb3\x72\xb3\
+\xe7\xb7\x6c\xc8\x81\xe3\xf0\xd9\x79\x67\x72\xca\x25\xf3\x89\x46\
+\xe3\xcc\x1a\xb7\x0b\x13\x86\x8d\xc6\x36\x4d\xae\xbd\xff\x47\xfc\
+\xf2\xa2\x1b\xb8\xfb\xd9\x3f\x71\xe9\x49\x17\x41\x48\x0c\xcd\x66\
+\xbc\x2c\xff\xf8\xcf\xab\xdc\x72\xd5\xed\x4c\x39\x67\x3f\x8e\xdc\
+\xf3\x60\x16\xbd\xfb\x06\x4a\x29\x46\xd7\x0f\xe7\x86\x4f\x7e\x8d\
+\xda\x78\x92\xaa\x78\x05\xa6\x11\xbe\xa9\xb0\x2d\xe1\x15\x5b\xb3\
+\x26\xf5\xe1\x3d\x2b\x7a\xdd\xd7\x43\xc6\x49\x95\xbc\x71\x22\x11\
+\x27\x9b\xcd\x91\xac\xa8\x20\x93\xcd\x62\x48\x89\x2c\x32\x22\x04\
+\x07\x51\x06\x5c\xd3\x61\x03\x22\x00\x5f\x51\x28\xe4\x99\x36\x15\
+\x20\xfc\x4c\xd1\xda\x95\xef\x93\xcf\x9b\x68\x9d\x43\x95\xd8\xfd\
+\xfa\x3c\xbc\x7d\x0f\x18\x97\x0c\x2c\x65\x10\xf9\x18\x86\x81\xe3\
+\x38\x54\x24\x12\x64\x8b\xc3\xa8\x91\x48\x04\xcf\x4f\x31\x69\xa2\
+\xc1\x3e\x7b\xc6\x08\x54\x56\xfb\xbe\x3a\x3a\x92\x3c\xf1\x8c\x0c\
+\x70\x55\x65\xa5\xe6\x82\xa6\x6c\x1c\x9e\x6f\xc6\x0e\xc9\x27\x25\
+\xb4\x81\x5d\x6f\xb2\x39\x6f\x58\xb2\x6b\x2c\x16\xa3\x50\x28\x10\
+\x8d\x46\x28\x14\x1c\x2a\x2a\x12\x64\x32\x59\xe2\xb1\x18\x42\x06\
+\x9b\x5b\x22\xc1\x75\xb8\xfe\xfc\x6b\xd6\x03\x4b\x7d\x0f\x94\xe2\
+\xc4\x83\x4f\x02\xc3\x80\x6c\x8a\x4b\x4f\xf8\x0c\x64\xd3\x48\x21\
+\x91\x03\xe9\xbd\x2b\x9f\x53\x66\x2f\xe0\xfa\x5b\xae\x66\xaf\x69\
+\x7b\xb3\xfb\xa4\x19\x1c\xb7\xef\x3c\x1e\x5f\xfc\x77\x56\xb5\xad\
+\xe3\xfd\xb5\xcb\xe9\x48\x54\x32\x6d\xd4\x4e\xa1\x9c\x54\xe9\x80\
+\x1a\x86\xc4\x34\x2d\x62\xd1\x28\xa9\x74\x1a\xc3\x90\xf8\x7e\x00\
+\xc3\x58\x4f\x7a\x67\x0e\x0e\xe9\x9d\x28\xfe\x65\x2b\xfb\xc5\x52\
+\x5d\xb5\xb6\xb6\x86\x42\x21\xe8\xc8\x96\xb4\xf7\x6c\xcb\xc2\x29\
+\x72\xa5\x0d\x34\xdd\xdb\xae\x9c\x14\x40\x24\x12\xe1\xe1\xff\xfd\
+\x0b\x73\x0f\x9d\xcb\x2f\xef\xfa\x35\x87\xce\x9d\x4b\x7b\x47\x3b\
+\xed\xed\x1d\x8c\x18\x31\x9c\x58\x2c\x46\x3a\x95\xc3\x14\xab\xb0\
+\xe4\xba\xf0\x32\xeb\xd2\x45\x8a\x34\xf9\x9c\x43\x7b\x47\x7b\x28\
+\xef\x16\x89\xd8\xb8\x9e\x28\x92\x94\x79\x68\x1d\x1a\xa6\xde\x67\
+\x6a\x56\x32\x70\x73\x4b\x0b\x5a\x29\x56\xaf\x59\xc3\x4e\x13\x27\
+\xf2\x97\x47\x1f\xe3\xc0\x03\x66\xd3\xde\xd1\xc1\xd2\xa5\x6f\x72\
+\xd8\xa1\x73\x69\x6f\x4b\xd1\xda\xdc\xba\x01\xf9\xdf\xa6\x23\x29\
+\xc9\xda\x75\x2d\xe0\xe5\x88\xd8\x9d\xe1\x0b\x88\x1a\xf2\xde\x2a\
+\xb4\x30\xc1\xb6\x10\x51\x2b\x70\x0e\x9b\xd2\xdf\x2b\xdd\x77\xd5\
+\xb7\x74\x96\xd6\x9a\x78\x3c\xce\xd3\xcf\x3c\xcb\xee\xb3\x66\xf2\
+\xdc\xf3\x7f\x67\xcf\x3d\x76\xe7\xfe\xdf\xff\x91\xfd\xf7\xdb\x97\
+\xbf\x3d\xff\x3c\x47\x1c\x7e\x18\xb6\x65\xb1\xd6\x4f\x91\x16\x0e\
+\xf4\xc5\xe6\x58\x0c\x2a\x33\x5e\x96\xac\x76\xfa\xed\xa6\xb4\xf2\
+\xf9\xea\x99\x5f\x84\x52\xea\x58\xc8\x83\xf2\x39\xf2\x80\xf9\x20\
+\x0d\xc8\xa6\x8b\x94\x8f\x6e\x28\xa8\x42\x69\x3f\x76\x74\x74\xf2\
+\xde\xb2\xf7\x59\xb8\x70\x11\x1f\xfd\xe8\x02\xda\xdb\xdb\xa9\xab\
+\xad\x63\xc9\xd2\xa5\x1c\x74\xe0\x6c\xb4\x76\xf0\x9c\xd5\x38\xf9\
+\xec\x80\xa3\x2e\xa1\xa3\x28\xb7\x6d\x9b\x90\xde\x55\x55\x57\x71\
+\xe3\x77\x6f\x66\xe7\x9d\x77\x06\xad\x39\xf8\xa0\x39\x2c\x5e\xbc\
+\x98\x95\x1f\xac\x66\xe2\x84\xf1\x8c\x1e\x35\x2a\x74\x99\x64\x87\
+\x71\x52\x4a\x29\xaa\xaa\x2a\xb1\x2d\x8b\x25\x6f\x2c\x65\x97\x5d\
+\x76\xe1\xbd\xf7\x97\xf1\xc6\x92\xa5\xcc\x99\x73\x20\x75\x75\xb5\
+\xb8\x85\x0c\x88\x5a\xb4\x0e\xdf\x35\xd0\xc2\x22\x12\x89\xf1\xca\
+\x3f\x4d\x3a\x3a\xec\x50\xce\x4d\x4a\x03\x5f\x4f\x26\x1a\xeb\x44\
+\xca\x24\x46\x59\x03\xc6\xe1\x3a\x65\xb6\x65\x91\x4a\xa5\x59\xbc\
+\x64\x29\xf5\xf5\xf5\xdc\xf6\xd3\x9f\x31\x63\xfa\x74\xde\x7a\xfb\
+\x1d\xee\xfc\xe5\xaf\x98\x7f\xe4\x3c\x62\x2b\x1d\x6c\xd9\x8a\x54\
+\x7e\x9f\x55\x44\x29\x24\xb2\xad\x93\xa9\x5e\x81\xfa\x2a\x63\x3d\
+\x04\x21\x44\xf5\xf1\x5d\x95\xe5\x45\x69\xd2\xd9\xb6\x86\xeb\x7e\
+\x7f\x2b\xbb\x8c\x9c\xc8\xc7\x8f\x3d\x07\x7c\x3f\x78\xad\x1d\x09\
+\xa2\x9b\x54\x07\xda\xcd\x97\x55\xef\x52\x4a\x91\xac\x08\x64\xee\
+\x9f\xfd\x5b\x30\x25\xff\xad\xeb\x6f\xe4\x96\xef\x7f\x97\xeb\x6f\
+\xbc\x89\xc9\x93\x76\xc2\x36\x4d\x96\xc8\x46\x2c\x33\x3c\x7d\x70\
+\xce\xcf\xb0\x4e\xbe\x8f\xec\x57\x18\x51\x94\xcf\xca\x74\x7e\xf8\
+\x4b\x1f\x8a\x24\x45\xf7\x7f\x61\xae\xf6\xf6\x76\xfe\xf4\xe7\x07\
+\xf8\xc1\x2d\xb7\x72\xc0\x01\xb3\x59\xbc\x64\x09\xbb\x4d\xdb\x95\
+\xfb\xee\xff\x03\x47\x1c\x7a\x08\x90\x45\x08\x1b\x21\xe3\x88\x81\
+\x32\x73\xca\x28\x88\xad\xef\x08\xb4\xd6\x98\x91\x0a\xbe\x70\xc5\
+\x57\x98\x73\xe0\x6c\x66\xcd\x9c\xc5\xbc\x23\x0e\xe7\xc5\x97\x5f\
+\xe1\xb1\xc7\x9f\xe4\xc4\x13\x8e\xa7\xa9\xb1\x69\xe8\x39\x29\xcf\
+\xf3\xf8\xc8\x5e\x7b\x51\xc8\xe7\xf9\xdc\xa5\x17\x63\x99\x26\x23\
+\x47\x8e\x60\xaf\x3d\xf6\x20\x91\x48\x60\x99\x26\xa9\xae\x16\x5a\
+\xdf\xab\xc3\xa3\x3a\xb4\xee\x9b\xaf\x3c\xa4\xac\x20\x9d\x97\xe4\
+\x9d\x9a\xf0\xdd\x02\x59\x87\x10\x19\x06\x7b\xc0\xb8\xd4\xdd\xab\
+\xae\xae\x26\x99\x4c\xb2\xe0\x98\xa3\x89\xd8\x36\x3f\xbc\xf9\x26\
+\x1a\x1a\xea\xa9\xac\x4c\x32\x69\xc2\x75\xe4\x73\x79\x92\xbe\x4d\
+\x32\x6b\x82\x15\x87\xaa\x5a\x68\x6f\x29\x02\x54\x7b\xc9\x28\xa5\
+\x24\x93\xb7\x10\xd2\xa2\xc9\xaf\x09\xa4\x7d\x0c\x13\xe2\x09\xe8\
+\x6c\x0b\x08\xea\x37\xf1\x3e\x3b\x65\x01\x4f\x7b\x54\x55\xd5\x71\
+\xee\x09\x17\x30\xbc\x61\x24\xa7\x7e\xfb\x7c\x3e\x7b\xe8\xa9\x3c\
+\xb2\xe8\x29\xde\x6d\x5e\x45\x3a\x97\xe5\x86\xb3\xae\x60\xea\x2e\
+\x7b\xa1\xda\xd6\x04\xe9\x59\x88\xe8\x22\x60\x76\xd8\x0d\xcf\xf3\
+\x38\xff\xbc\x73\xa8\xaa\xac\xe2\xfe\x7b\xef\xa6\xa1\xbe\x81\x7b\
+\xef\xf9\x35\x13\xc6\x8f\xe7\xe1\x87\x1f\xc1\xab\xac\xc3\x2f\x43\
+\x1c\x34\xef\x25\xf0\xfa\x50\x6f\xe9\xed\x32\xa4\xa4\x90\xed\xa2\
+\xad\x50\x28\xef\xb5\x15\x31\xa4\x88\xf6\x19\x55\x0d\x1f\x31\x82\
+\x4f\x9f\xf7\x29\x4e\x3b\xe5\x64\xc6\x8e\x19\x4d\x53\x53\x03\xd1\
+\x48\x94\x2f\x5f\x71\x39\xb9\x7c\x0e\x81\x81\x61\x36\x62\xda\x4d\
+\x03\x4e\xd3\x0c\x3b\x3c\xac\x66\xb0\xd3\xbd\x74\x47\x0b\x2f\x3c\
+\xff\x0c\xb6\x6d\x93\x4c\x26\x49\x67\x32\x1c\xbb\xe0\x18\x0e\x3b\
+\x74\x2e\xc9\x8a\x24\xd1\x68\x84\x1d\xf9\xda\x64\xe1\xbc\x94\xd6\
+\x54\x55\x56\x06\xa9\x42\x8f\x4e\x98\x94\x92\x9c\x65\xa2\x51\x08\
+\xc2\xe7\xba\xa2\xd8\x25\x2b\x8a\x60\x87\xf5\x50\xac\x6f\xe3\xab\
+\x32\x8a\xe7\x7d\xeb\xd8\xf7\x94\xe3\x96\x52\x76\xaf\x75\xec\xd8\
+\x31\xf8\xbe\xc2\x32\x4d\x2a\x93\x49\x9c\x9c\x13\x1c\x88\x44\x92\
+\x07\x5f\xf8\x0b\x9f\xb9\xe5\x8b\xfc\xee\x4b\xb7\xb1\xcf\x94\xdd\
+\xc1\xc9\x07\xaf\x2f\x8e\x92\x88\x22\x2b\xbf\x12\xba\x5b\x03\xb5\
+\x2d\xd5\xce\xb2\xe6\x95\xdc\xfa\xe8\x3d\xdc\x71\xe9\x77\xa1\x90\
+\xc7\xf7\x3d\x10\x02\xd9\xa3\x55\xab\x8b\x90\x0e\x29\x0d\x56\x37\
+\xaf\xe2\x9c\x9b\x3f\xc7\x69\x07\x1c\x43\xa5\x69\x71\xd8\x55\x67\
+\x70\xe9\xfc\xb3\x79\xf1\x5f\x8b\x30\x4c\x8b\x74\x24\xc2\xe9\x57\
+\x9f\xc5\xdd\x5f\xbe\xa3\xef\xb4\x6c\x23\xbb\x0a\x21\xa8\xaf\xab\
+\x47\x6b\xcd\xc4\x09\x13\xf0\x7d\x9f\x49\x3b\xed\x44\x34\x1a\x41\
+\x69\x8d\x19\x48\xed\x94\x91\xea\x78\x88\x72\xe9\x65\x84\x20\xdf\
+\x9e\xc6\x3a\x64\x34\x55\x0d\x8d\x65\x39\x29\xcf\x77\xc9\xe4\xbb\
+\x36\xb9\xef\x4a\xa9\x9b\x6d\x59\x0c\x1f\x3e\x9c\x91\x23\x47\xe2\
+\x79\x1e\x91\x48\x80\xc7\x1a\x3e\x6c\x58\x40\x8a\x18\x72\x9f\x84\
+\xaa\x2c\x6c\xa3\xab\x34\x54\xbc\xeb\x2e\xbb\x74\x43\x67\x94\x52\
+\xd4\x54\x57\x53\x57\x5b\x83\x52\x83\x03\x41\xd8\xee\x0a\xe7\x1b\
+\x17\x5b\x7b\x1a\xbe\xfb\xef\xfd\x8b\xec\x01\x81\xef\xfa\x28\xaf\
+\x2d\x94\xfc\x84\x90\x06\xca\x4f\x21\xe8\xc2\x10\x2d\x98\x32\x12\
+\x72\x53\x28\xb4\x4e\x01\x23\x08\xc3\x82\xd0\xd3\x90\x9e\xe7\x77\
+\xc7\x38\xba\x67\x2b\xd7\xb4\xf8\xcf\xea\xf7\xc8\xe4\x52\x8c\x6c\
+\x18\xc9\x98\x4f\xec\xc5\x5b\x3f\x7e\x8a\xbf\x2f\x7d\x85\x83\x67\
+\xee\x8f\x72\x1d\x8c\x5e\x46\x5a\x94\x56\x3c\xbc\xf0\x69\x86\x57\
+\xd7\xf3\xf6\xb2\x7f\xb1\xf0\x9d\xc5\xec\xb5\xd3\x74\x6c\xd3\x66\
+\x54\xfd\xf0\x0f\xbd\x3f\x5f\xf9\x0c\x6f\x1c\xcd\x63\x57\xdd\x85\
+\xa1\x41\xcf\x3d\x85\xef\x9f\x7f\x2d\x16\x70\xd5\xe9\x97\x03\x1a\
+\x03\xb8\xf3\xe2\x1b\xd1\xe9\x0e\x44\x08\x05\x9d\x8d\xb9\xaf\x7b\
+\xb6\xe3\x4b\x7f\x6a\x6d\x83\x10\x28\xaf\x03\x25\x9c\xd0\x63\x8a\
+\xbe\x97\xe9\x21\xc4\x5a\x46\xbd\x5c\x29\x64\xcc\xc2\x48\x94\xc7\
+\x75\xa4\x3d\x20\xb7\xe9\xd4\x79\x63\x68\xc9\xc6\xf0\x12\xdf\xf7\
+\x87\x0c\x04\xa1\xb4\x67\x4b\x42\x22\x3d\xcf\x6d\xcf\xad\x3b\xa4\
+\xba\x7b\x3d\x17\x3e\xe8\xde\xb7\xa8\x12\x68\xda\x06\x86\xd5\x10\
+\x9e\xaa\x45\x65\xd0\x54\xe1\xeb\x46\x84\x8e\x84\x74\x90\x0a\x21\
+\x37\xaf\x59\xd6\x73\x7d\x1b\x3b\xe7\x5e\x8f\x63\x57\x1b\x9f\x3f\
+\xfa\x6c\x3e\x7f\xf2\x25\xa8\xce\x56\x96\xff\x66\x09\xba\xab\x8d\
+\x83\x67\xec\x87\xf6\x3c\x0c\x69\x7c\x68\x66\x50\x69\x4d\x7d\x55\
+\x2d\x5f\x3b\xed\x12\xb0\x63\x90\x4d\xb1\xd3\x98\x49\x81\xee\x18\
+\xeb\x01\x9b\x1f\xfa\x95\x42\x10\xe9\x76\xec\x1a\xab\xdb\x60\xeb\
+\xa1\xde\xa6\xd6\x65\x11\x96\x6e\xbc\xde\x9e\xff\xee\x7e\x08\x69\
+\x8d\xb0\xaa\x30\xac\xaa\xd0\x66\x35\xbc\x28\x52\x44\xcb\x4e\xf7\
+\x12\xf1\x08\x8b\x97\xb6\x10\x79\x27\x13\x3e\x1a\x11\x50\x55\x61\
+\x30\x6e\x54\x04\xdf\xd7\x9b\x8d\xa4\x76\xe4\x83\x59\x4e\x24\xd5\
+\xdb\x79\x0d\xc3\x8e\xbb\xc3\xa7\x7b\xae\xeb\x62\xdb\x36\xcd\xcd\
+\x2d\x24\x93\x15\x58\x96\x45\x3a\x9d\x21\x1e\x8f\xe1\xb8\xee\x80\
+\x20\xef\xfd\x8b\x8e\x55\xa0\x42\x11\x92\xc6\x44\x87\xa0\x6a\xe9\
+\x19\x41\xf9\x4a\x91\xcd\x64\x88\xc5\x62\x08\x21\x88\x44\x22\x74\
+\x74\x74\x50\x5b\x5b\x8b\x5f\xf0\x8a\x41\x60\xd0\x9a\xa7\xa3\x39\
+\x00\x17\x76\xb5\x05\x86\xef\x31\x61\xde\x4d\xf6\x5f\x2c\xef\xca\
+\x52\x3e\xe0\x7a\xe0\x76\x05\xde\xc8\x71\xba\x83\x8e\x8d\x05\x2e\
+\x64\x31\xed\x43\xfb\xa8\xcd\xa5\x50\x7a\xfd\x9f\x52\x8b\x3e\xeb\
+\x33\x3d\xd3\x3d\xc3\x30\x68\x6d\x6d\xa5\xb1\xb1\x11\xa5\x14\x05\
+\xc7\xc1\xb6\x7a\xb0\x98\xea\x2d\x6f\xd5\x60\xe0\x59\xb0\xae\xad\
+\x11\xcb\x6a\x28\xcb\x49\x69\x9d\xc7\x10\xad\x9b\x9c\x15\xec\x19\
+\x2d\xfa\xbe\x4f\x26\x93\x25\x59\x99\x24\x9d\x4a\x91\x4c\x26\xe9\
+\xec\xec\xa4\xae\xae\xb6\x67\x78\xbf\x43\x47\x52\x52\x4a\xba\xba\
+\x52\x24\x93\x15\x34\xb7\xb4\x50\x5f\x57\x47\x26\x93\xe9\xae\xb9\
+\x46\xa3\xd1\x41\x1b\x51\xd9\x6e\xd2\x3d\x29\x05\xeb\xd6\x35\x33\
+\x75\xea\x14\xbe\x73\xc3\x4d\xcc\x9a\x39\x83\x7d\xf6\xde\x9b\x7b\
+\x7e\x7b\x2f\x63\xc7\x8d\xc5\x10\x82\xbd\xf7\x9a\xbe\xf5\xc6\x94\
+\x84\x44\x79\x1d\xb8\xce\x4a\xb4\xb2\xc3\x5a\x0f\xe5\x75\x02\xa3\
+\xd9\x1c\xa8\x53\x6b\x8d\xe7\x79\x64\xb2\x59\x7e\x72\xfb\x1d\xcc\
+\x3f\xfa\x28\xda\xdb\xdb\x10\x5a\xf0\xaf\x7f\xff\x9b\x03\x66\xef\
+\xcf\x94\x89\x93\xe8\xd2\x2e\x2d\xaa\x80\x17\x92\x99\xb3\x55\x3b\
+\x98\x5a\x80\x2a\x20\x74\xf8\x0d\x92\xd6\x2e\x6d\xaa\xc0\x32\xbf\
+\x8b\x9c\x17\x0e\x27\x25\x95\xa4\x80\xea\xb3\xeb\x65\x18\x92\xd6\
+\xd6\x2e\xaa\xaa\x2a\xb9\xe8\xd2\xcf\xf3\xc8\xc3\x0f\x70\xdf\x7d\
+\xf7\x93\x4a\xa7\x89\x44\x22\x1c\x30\x7b\x7f\x0c\xc3\xd8\xaa\x1b\
+\x50\x88\x62\x1f\xa1\x8c\xd9\x3d\x21\xc2\x71\x26\xac\x5d\xbb\x8e\
+\xce\xae\x2e\xfe\xf2\xe8\x63\x9c\x75\xc6\xe9\x3c\xf2\xe8\xa3\x1c\
+\x7b\xcc\x31\xfc\xe6\xde\xfb\xb8\xec\xd2\x8b\x00\x07\xa5\x72\x28\
+\x95\x0d\xfd\xf0\xdb\xe4\x3e\xf2\x63\xe8\x32\x98\x23\x06\xf3\xaa\
+\xaa\xa9\xe6\xd2\xcb\x2e\xe7\x47\x3f\xfc\x1e\x37\x7d\xf7\x66\xbe\
+\x79\xcd\xd5\x3c\xfb\xdc\x73\x14\x0a\x0e\x75\x75\x75\xec\xbd\xd7\
+\x9e\x44\x22\x91\xa1\xe3\xa4\x20\x68\xa1\x37\xb7\xb6\xb0\xf8\xfe\
+\x25\x5c\xf7\xed\x6f\xf3\xc0\x1f\xff\xc0\x83\x0f\x3f\x8c\x52\x3e\
+\x0f\x3e\xf0\x10\x67\x9c\x7e\x1a\x2d\xad\xad\x08\x31\x7a\x2b\xbd\
+\x4d\x5d\x14\x64\x30\x82\x4e\x59\xc8\x48\x2a\x2c\xc3\xe5\x3b\xef\
+\xbe\x47\x2e\x9f\xe3\xa8\x23\x8f\x60\xf9\x8a\x95\x2c\x7e\xfd\x75\
+\x1e\x7f\xfc\x49\x4e\x3d\xf5\x64\xbe\x77\xf3\x0f\xf8\xe9\xed\xb7\
+\xb3\x10\x78\x4f\x85\x2b\xdc\x0b\x05\x9d\xc5\x59\xb3\x0a\xad\xcb\
+\x2a\x2a\x7b\x1a\xd6\x1a\x95\xbc\x68\x8d\xc0\x51\xe1\x90\xdc\xbe\
+\x36\x19\x49\x8e\xbe\x58\xa0\x22\x91\x28\x8f\x3d\xf1\x24\x67\x7c\
+\xec\x54\x0e\x9b\x7b\x08\x6f\xbc\xf9\x26\xd7\xdf\xf8\x5d\x66\xec\
+\xb6\x1b\xaf\xbe\xf6\x4f\x86\x8f\x18\x81\x65\x59\xf8\x5b\x6d\xfb\
+\x19\x78\x4e\x07\x12\xb7\xac\x57\x29\x8f\x3e\xa1\x17\x42\x08\x3a\
+\x3a\x3a\x68\x6d\x6b\xe3\xd8\x63\xe6\x53\x5b\x53\x43\x53\x53\x13\
+\x86\x69\x30\x7a\xd4\xc8\x62\x4d\x4e\xa1\xbc\x36\x7c\xd7\x18\x50\
+\xf5\x5b\x03\x86\x8c\x05\xce\x6e\x1b\x44\x52\xc8\x08\xf7\xfc\xe6\
+\x5e\x7e\xf2\xa3\x1f\xb0\xe0\x98\xf9\xb8\xae\x4b\x7d\x5d\x3d\xae\
+\xe7\x52\x99\x4c\xee\xd0\x51\xd4\x26\x9d\x94\x90\x92\x8e\xb6\x0e\
+\x5a\x5b\xdb\x68\x59\xf3\x01\x7b\x7f\x64\x2f\x96\xff\x7e\x05\x23\
+\x47\x8c\xe0\xe0\x39\x73\x58\xd7\xdc\xcc\x88\xe1\xc3\x59\xdd\xae\
+\xb7\x96\x25\x90\x66\x0d\x56\x64\x6c\x59\xb3\x7b\xbe\xdb\x49\x98\
+\x2e\x62\x3a\x9d\x66\xe5\xca\x95\x9c\x7c\xd2\x89\xa4\xd3\xcf\x72\
+\xc0\xec\xfd\xb9\xf0\xd3\xe7\xf1\xc8\xa3\x8f\xf1\xe3\x5b\x7f\x48\
+\x2e\x57\x20\x61\x8f\xa1\x36\xb1\x73\xa8\xa6\x97\x90\x40\xbe\x36\
+\x20\xd2\x8b\x37\x85\x8e\x38\x85\x80\xac\x7e\x0f\x4b\x2e\x22\x61\
+\xd7\x60\xe9\x9a\x70\x87\x56\x83\x14\xef\xf7\x6d\x6c\xd3\x60\xc5\
+\xaa\x95\x78\x9e\xc7\xb1\x0b\x8e\xa1\x90\xcf\x73\xd7\x2f\x7e\xc6\
+\x8a\x95\x2b\xb9\xf8\xa2\x0b\x19\x3b\x76\x0c\x0f\x3e\xf4\x08\xe6\
+\x56\x7c\xe8\x0a\xe1\xa0\x89\x96\x45\x1f\x1c\x76\x22\xbf\xa9\xa9\
+\x29\xe8\x64\xd6\xd7\x91\x48\xc4\x69\x69\x69\x41\xf9\x3e\xcd\xcd\
+\xcd\xc5\x94\xd0\xc0\xb4\x47\x63\x47\x87\x0d\x0e\x33\xa7\x59\xb3\
+\xd5\x0f\xb0\x10\x02\xaf\x90\xe6\xaa\x2b\xbf\x8a\x52\xaa\x5b\x91\
+\xbb\xab\xab\x2b\xa0\x49\xee\x65\x0e\x77\x48\x38\xa9\x42\xa1\xc0\
+\x91\x47\x1e\x8e\x65\x9a\x74\xa5\x52\x58\x96\xc5\x05\xe7\x9f\x8b\
+\x52\xc1\x0d\x30\x4d\x93\xd5\xab\x97\x0d\x28\x30\x0a\x8b\xf0\xed\
+\xae\xd9\x68\x55\x44\x9c\x87\x8d\xa4\x74\x9f\x51\x4f\x29\x9f\x9f\
+\xbd\xff\x7e\x98\xa6\x49\x3a\x9d\x66\xee\x21\x07\x03\x01\x2f\xf6\
+\x39\x67\x7f\x82\x4c\x26\x83\xe3\xfa\x01\xcf\xba\xde\x98\xc9\x61\
+\x13\xef\x59\x0b\x34\x1e\xe8\x40\xca\x3b\x2c\x89\x9d\xee\xe6\x65\
+\xd7\x83\x0d\x09\x2b\x4e\xcb\x77\x70\xdd\x37\xae\xa6\xbd\xbd\x9d\
+\x86\x86\xfa\xee\x49\xf5\x71\x63\xc7\xe2\xf9\x3e\xd1\xa8\x5d\x14\
+\x6d\xdc\x4a\xb4\xc2\xda\xc3\xb4\x83\x9a\x54\x59\xf1\x97\xe9\xa0\
+\x75\x33\x9b\x9a\x37\x2a\xbd\xf7\xfa\xfa\x3a\x9a\x9a\x1a\xf1\x3c\
+\x8f\x54\x3a\xcd\xa7\x3e\x79\x36\x99\x4c\x86\x4b\x2f\xbe\x88\xae\
+\x54\x57\x29\x0e\x1d\xb0\x83\x5a\xdf\xec\xd6\xdb\xc4\x49\x75\x76\
+\x74\x72\xc5\x17\xfe\x87\xf6\xf6\x76\xe6\x1e\x72\x30\x85\x42\x81\
+\x63\xe6\x1f\x5d\xec\xf2\xf9\xe4\xf3\x85\xa1\x57\x38\x97\x52\x92\
+\xcb\xe5\xc8\xb1\xbe\x9d\xd9\xd5\xb5\x1e\x8b\xe3\xba\x6e\x3f\xd4\
+\x6a\xe9\x86\x20\x28\x9f\x00\x56\x10\x4a\x5f\x3e\x98\xd9\xd3\x2a\
+\x8f\xf2\xd3\x28\xe1\x84\x3e\xf0\xe8\x02\x61\xc4\x41\x4b\xb4\x1d\
+\x42\x08\x72\xb9\xf5\x75\xa0\x54\x2a\x55\x34\xac\x46\xab\x3c\xbe\
+\x9f\x0d\x47\x7a\xa7\x0c\xb4\x9f\x46\x18\x89\xed\xa6\x30\x5b\x2a\
+\xa2\xb6\xb7\xb7\x77\x8f\x03\xf5\xb4\x27\x80\x6d\x5b\x01\x04\x41\
+\x65\x51\x7e\xd8\xb6\xa1\x08\xd4\x56\xfa\x23\x0f\x25\x44\x59\x43\
+\xe3\x25\x71\xd0\xbe\x58\x40\x7b\xaa\x00\xf5\x9c\x35\x4d\x15\xf1\
+\x64\x9d\x5d\x5d\x43\x0a\x82\x60\x18\x06\x1d\x1d\x1d\xdd\xe7\x16\
+\xe8\x16\x50\xf9\xd0\xc3\x7e\x28\x38\xa9\xf0\x2d\xf9\x7e\x26\xef\
+\x68\xa4\x01\x86\x91\x08\x45\x50\x13\xa8\x01\x47\x03\x39\x6e\x23\
+\x11\x9a\xe3\x3c\xa8\x49\xd9\x84\xc1\x48\xf5\x65\x4c\x81\x40\xca\
+\x08\x86\x11\x47\x89\xbe\x0f\x95\x94\x12\x21\x13\xac\x07\xa2\x6e\
+\xfb\x6b\x63\xbb\xf6\xd6\xa2\x2e\x79\x02\x21\xa3\xe1\x25\xde\x01\
+\x69\x68\x04\x16\xdb\x9b\x1a\xf0\xa6\x6c\x3b\x94\xd8\x11\xfa\xb2\
+\xeb\x50\xb8\xcc\xcd\x79\x67\xdf\xf7\x31\x4d\x03\xdf\x57\xdd\x81\
+\x90\xee\x79\x43\xca\x25\xe0\x2f\x11\xae\x0b\xa0\x2c\x1e\x6f\xd9\
+\xfd\x51\xce\xac\x9a\x08\x51\xb7\xe8\x0d\xbc\xba\x5e\x46\xbe\xa4\
+\x16\xd3\x1d\x06\x96\x21\x4f\x55\xba\x37\xe5\x14\x2d\x05\xfd\x12\
+\x35\x08\x3d\x73\x1d\x44\xc9\x3d\x71\x35\x25\x3b\x07\x4c\x10\x3d\
+\xee\x5c\x59\xb2\x5a\xdb\x57\x61\x76\x63\x9c\xd4\xc6\xd4\x25\x86\
+\x61\xf4\x88\xe0\xc4\x80\xc5\xb1\xb7\xb5\x5f\xd8\xd8\x8e\xa5\x09\
+\x8a\x9e\x10\x9b\x21\xc7\x82\x10\x8d\x46\xf9\xe5\x5d\x77\x73\xe6\
+\xe9\xa7\x71\xe5\x37\xae\xe5\xa2\x0b\x2f\xc0\x75\x5d\x56\x7d\xf0\
+\x41\x50\x84\x8c\xc7\xc9\xe5\x0a\x78\xce\x72\x9c\xdc\x07\xa1\x8d\
+\xe4\x2b\x1f\xd7\x69\x27\x66\xac\xc4\x91\x6d\xa1\x4e\x97\x94\x06\
+\x05\x67\x25\x4a\x59\x83\xbe\xf8\x12\x6e\x68\xed\xda\x75\x38\xae\
+\xc3\x8a\xe5\x2b\x38\xf8\xd0\xc3\xb8\xe3\x8e\x9f\x72\xdc\xb1\x0b\
+\xe8\xea\xec\xe2\xf5\x25\x4b\x38\x6a\xde\xd1\xe5\x15\x80\x10\x08\
+\x61\xe2\x15\xde\xc7\xc9\xb6\x96\xd5\x5d\xf1\xdd\x66\x7c\xaf\x05\
+\x27\xfb\x2e\x05\x27\x17\xca\xff\xf8\xca\x40\xc7\x0a\x9b\xbd\x9f\
+\x5a\x6b\x2a\x2a\x2a\xb8\xef\xfe\xdf\x73\xc8\xc1\x07\xf1\xe4\x53\
+\xcf\x70\xe8\xdc\x83\xf9\xf6\xf5\x37\x70\xc9\x45\x9f\xe5\x81\x07\
+\x1f\x62\xc1\xfc\xa3\x7b\x34\x26\xb6\x66\xb4\xa1\x07\x75\xb4\xa4\
+\x74\x18\xd7\xae\x5d\x8b\x34\x0c\x5e\x7d\xf5\x35\xf6\xdc\x63\x0f\
+\xd6\xad\x5b\x47\x6d\x6d\x0d\x8f\x3f\xf9\x57\x3e\xf9\x89\xb3\xd0\
+\xe4\x71\x0b\x2b\x70\x32\xe1\x1a\x2c\x9b\x4b\x43\xf1\x62\x78\x4e\
+\x0b\x30\x6a\xab\x3b\xa8\x9a\x9a\x1a\x2e\xfd\xfc\xe5\x7c\xe3\xca\
+\xaf\xf1\xc2\x8b\x2f\x31\x7b\xff\xfd\xf8\xc7\x0b\x2f\xf2\xca\xa2\
+\x57\xd9\x73\xf7\x59\xec\x36\x6d\xd7\x7e\x28\x18\x6f\xe7\x4e\x2a\
+\x97\xcb\xf1\xa9\xb3\x3f\x4e\x57\x2a\xc5\x8d\x37\x7d\x8f\x1f\x7c\
+\xef\x26\x9e\x7a\xe6\x59\x5c\xc7\xe5\x0b\xff\xf3\x39\x0a\x15\x05\
+\xf2\xb9\x0e\xec\xe8\x81\x78\x22\x11\xde\x49\xf9\x3e\x76\xa4\x96\
+\x9c\x37\x8a\x82\x1f\xce\x98\x42\x81\x19\xa9\x45\x1a\xef\x6d\x11\
+\x03\x9b\xa6\xc9\xe8\xd1\xa3\xa8\xac\xa9\xe6\xf9\x17\x5e\xe2\xf8\
+\xe3\x8f\xe7\xe8\x79\xf3\x88\xc7\x62\xbc\xf6\xda\xeb\xdc\xf2\xa3\
+\x9f\x70\xdc\xb1\xc7\x81\xce\x23\xc8\x43\x08\xd1\x00\x81\x44\xe8\
+\x4e\xac\xc8\x58\x22\x89\x61\xe5\xe9\xee\xe9\x65\x18\x66\x03\x91\
+\xc4\x84\x3e\xa4\x5b\x37\x74\x9b\x82\xce\xcd\x3a\x16\x21\x04\xa9\
+\x54\x8a\x13\x4f\x38\x1e\xd7\x75\xf9\xed\xbd\xf7\x32\x63\xfa\x34\
+\xce\x3d\xe7\x93\xdc\xfa\xe3\xdb\xf9\xe5\xaf\xee\x62\xca\xce\x53\
+\x31\x4c\x13\xc8\x87\x1a\xb5\x59\xbf\xde\x0c\xfd\x95\x2c\xd7\xb2\
+\x28\xb1\xf9\x00\x00\x0e\x50\x49\x44\x41\x54\xbe\x40\xf9\x99\x41\
+\x55\x30\x2e\x5d\xe9\x74\x86\x54\x2a\xc5\xdc\x43\x0e\x21\x99\xac\
+\xe0\xe9\x67\x9f\xe5\xb0\xb9\x87\xb0\x60\xfe\xd1\xb8\x8e\x83\x10\
+\x26\x56\x74\x32\x91\xc4\xc0\x75\xf7\x22\x51\x30\x23\x0d\xdb\x44\
+\x77\x0f\x33\xca\xe3\x4f\x3c\xc9\xb7\xae\xfd\x06\x93\x26\x4d\x62\
+\xdd\xba\x66\xba\xba\xba\x58\x70\xf4\x51\xd4\xd6\xd6\x62\x59\x16\
+\x3b\xf2\xb5\xc9\xc2\x79\x2a\x9d\x46\x4a\x49\xdb\xba\x0f\xf8\xf8\
+\x59\x67\x70\xfe\xb9\xe7\x74\x13\x68\x49\x29\xe9\xea\x6c\xa6\xed\
+\xad\x02\x10\x2f\x23\xdf\x50\x45\x69\xf6\x1e\x44\x61\x21\x52\x99\
+\xa0\x53\x36\xf8\xd6\x2f\x85\xc3\xbe\xef\xd3\xde\xd2\xca\x19\xa7\
+\x9e\xcc\x05\xe7\x7e\x92\xd5\x6b\xd6\x22\xa5\xe4\xc0\x03\x67\x33\
+\x67\xce\x01\xa4\xd2\x99\x22\xae\xc0\x08\xc7\x67\x84\x04\xcc\x62\
+\x37\xd2\x2f\x43\xa2\x4a\xa3\xb5\x4b\x30\x77\x58\xc6\x46\x55\x7d\
+\xe7\x7c\x25\xbb\x66\x32\x01\x25\xf1\x3d\x77\xfd\x12\xdf\xf7\x59\
+\xb3\x76\x2d\x57\x7d\xfd\x2b\x5c\xf1\x85\xcf\x53\x51\x91\xe0\xde\
+\xdf\xdd\x4f\xc4\x36\x8a\xd3\x81\x61\x2f\xa3\xff\x29\x5f\x89\x78\
+\xae\x9c\xd3\x2d\xc2\x89\xbe\x8e\x1f\x3f\xae\x58\x38\xd7\x64\x8a\
+\xcc\x00\x5a\x29\xba\xba\xba\xd6\x13\xd4\x75\x0f\x1a\x0f\xd4\x59\
+\x14\xff\xb7\x0d\x74\xf7\x3a\x5b\xd6\xf2\xf8\x23\x0f\x05\x64\x86\
+\x11\x8b\x78\x3c\xc1\xec\xfd\xf7\xa3\xab\x2b\x85\xe7\x7b\x58\xda\
+\x1c\xda\x85\xf3\xd2\x41\x2e\xc9\x71\x07\xb9\xee\x40\x36\xa4\xc6\
+\x73\x3a\xf0\x9c\x4c\x48\x27\x25\x51\x6e\x2b\x1a\xb5\xc5\x8c\xdc\
+\xb3\x8e\xd1\xd5\x95\x0a\x38\x97\x36\xa8\x6b\x08\x10\x51\xb4\xb0\
+\x20\x84\x10\x84\x16\xa0\x88\x23\xb6\xa3\x42\xf2\xc6\xf6\x2c\x75\
+\xbd\x46\x0c\x1f\x8e\xe3\x38\x18\x86\x51\xaa\xba\xa1\x45\x84\xb0\
+\x0c\xa4\xc1\x4b\x74\x71\x2b\xe9\xb2\x4f\xb6\x30\x40\x1a\xd1\xb2\
+\x5e\x2a\x84\x2c\x0e\x8f\x6f\x9e\x05\x41\x4a\xd9\x9d\x6a\x97\xe4\
+\xcb\x90\x92\xba\xba\xba\xe2\xf7\x28\x3c\xb7\x15\xaf\xc0\x80\xd2\
+\x3d\x00\x43\x44\x51\x7e\x6a\x9b\xd8\x55\x69\x45\x45\x45\x05\xbe\
+\xef\x13\x8b\xc5\x51\x4a\x61\x59\x16\xf5\xf5\x75\xdd\xf7\x62\xc8\
+\xd5\xa4\x7a\xdb\xdc\x1f\x4e\x30\xfa\x7d\x5b\x51\x7e\x0e\xad\xb2\
+\x84\x21\xd9\x14\x48\x94\xce\x6f\x71\x3e\x8c\x4d\x15\x59\x4b\x9b\
+\xd9\x77\x5b\x70\xf3\xab\x42\x49\xa0\x0b\x11\x88\x89\x9a\xd6\x30\
+\xb6\xc7\xd9\xb0\x9e\x36\xed\x49\xdc\xaf\x09\xa2\xad\x6c\xa6\x0d\
+\xc3\x70\xc2\xd9\x59\x40\x21\x9f\xc5\x73\xf3\x65\xc3\x52\xa4\x61\
+\x92\x4b\xa7\x71\x2c\xa3\xac\xb1\x98\xca\xb8\xda\xec\x83\xb2\xd7\
+\x0e\xed\x46\x6b\x0e\x20\x08\xaa\x08\x6f\xc9\x0e\xf8\x21\xa8\xfc\
+\x12\x5d\xf5\xb6\xb1\xa7\xea\x65\x7e\x74\x63\xde\xf3\x21\x95\xee\
+\x85\x11\x62\xe8\x67\x7d\x34\x10\x10\x8c\x0d\xc7\xf2\x42\x1e\x5f\
+\x01\xd2\x89\x22\x42\x20\xaa\x07\x9c\xdb\x6f\x72\xc3\x0b\x84\x88\
+\x20\x8d\x28\x2a\xe4\xec\x9e\x94\xf1\x62\xda\xb7\x7d\x5c\xbd\xd9\
+\xf5\xc3\x04\xfe\x06\xe9\x74\x9a\x7d\x66\x1b\x54\x24\xc3\xd7\x31\
+\xb2\x19\x87\x57\x17\x6a\xca\x01\x36\x0b\x21\x48\xa5\x0b\x4c\xdf\
+\x55\x52\x53\x63\x95\x05\x38\xb7\x2d\x1f\xd7\xf3\x42\xa5\xb8\x1b\
+\xa7\xf6\x1b\x6f\x7f\xcb\x1e\x87\x1d\x1b\x04\xc4\x79\x14\x0c\xab\
+\x6e\x9b\xda\x75\x73\x6b\x1d\x72\xe9\x5e\xa9\xa5\xe9\x79\x1e\x55\
+\x55\x55\xe4\xf3\x79\x7c\xdf\x27\x1e\x8f\x77\x43\xef\x3b\xd1\x48\
+\x61\x04\x42\x98\x61\x4b\x52\x86\x85\x10\x12\xd3\x0c\xb8\xfc\xc3\
+\x3a\x29\x0c\x0b\x8d\x44\x29\x89\xaf\x08\x29\xc4\x50\xfc\xde\x10\
+\x06\x86\xa0\x2d\x1d\x8b\xc5\xc8\xe7\xf3\x58\x96\x19\x38\x1a\x21\
+\x71\x3d\x8f\x7c\x21\x8b\x34\x92\x18\x56\x1d\x32\xe4\x58\x8c\x61\
+\x3a\x94\xdf\xca\x2f\x17\xb2\x50\xfe\xd3\xd6\x34\x4d\x94\x52\x54\
+\x57\x57\xd3\xde\xde\x4e\xb2\xa2\xa2\xbb\x05\x6f\x59\x26\xb9\x6c\
+\x96\xc9\x3b\xd5\x10\x8b\x87\xc7\x49\x79\x5e\x94\x77\xde\xb2\xca\
+\x3a\xe8\x42\x40\x36\x5b\x60\xfc\xb8\x24\xb5\xb5\x95\x65\xae\xc6\
+\xa7\x75\x6d\x76\x93\x80\xcc\xf5\x42\x0c\x01\x03\x80\x69\x9a\x74\
+\x75\x75\x91\x48\x24\xc8\x66\xb3\x54\x24\x12\xa4\xd2\x01\x50\xd7\
+\x30\x6d\x0c\x63\xe0\x81\xba\x61\x04\x9d\x68\xad\x05\x3d\x20\x67\
+\x03\xaf\x73\x85\xb0\xab\xe7\x79\xd4\x37\x36\xe2\xe4\xf3\x01\x53\
+\x67\x3a\x5d\x64\xf3\x00\xdf\x57\x38\x8e\x33\xf4\xd2\x3d\xc3\x30\
+\x58\xb1\x72\x25\x93\x76\x9a\xc8\xd7\xaf\xba\x86\x83\x0f\x3a\x90\
+\x51\xa3\x46\xf1\xeb\xbb\xef\x41\x29\xc5\xee\x33\x67\xb2\xe7\x9e\
+\x33\x68\x69\x7e\x95\x96\x56\x27\xb4\x93\x52\x5a\xd1\xde\xbe\x9c\
+\xbf\x3f\x73\x27\x85\x7c\x2e\x74\x2a\xe4\x3a\x29\x26\x4c\x18\xc7\
+\xb8\x11\x0d\x98\xa6\x19\xee\xa9\xab\x35\xbe\x27\x36\xeb\xa8\x4a\
+\x07\xb7\x34\xeb\xf4\xe7\x07\x1e\x62\xde\x91\x47\xf0\xfc\xdf\xff\
+\xce\xbb\xef\x2e\xa3\x22\x59\x41\x4d\x75\x35\x1f\x3b\xed\x8c\xb2\
+\xd3\x36\x21\x6c\x7c\xf7\x03\xdc\x42\xbe\x58\x38\x0f\x29\xa0\xea\
+\x37\x6f\x11\x47\x15\x48\x6e\x5b\xac\x5e\xb3\x86\xda\x9a\x1a\x2e\
+\xf8\xcc\x45\x7c\xf7\xa6\xeb\xf9\xd2\xd7\xae\x24\x99\x48\xd0\xd1\
+\xd1\xc1\x27\x3e\x7e\x16\x3b\xef\x3c\x95\x3f\xff\xf9\xcf\x65\xc1\
+\x26\xf2\x85\x02\xed\xad\xad\xc8\x32\x18\x14\x7c\xcf\x67\xfc\xb8\
+\x71\x2c\x7a\xf9\xe5\xe2\x84\x7e\xf8\x58\xaa\xaa\xaa\x92\x71\x63\
+\x47\x6f\x80\x9a\xef\x2d\x6a\xf8\x60\xf5\x6a\xfe\xf4\xe7\x07\x59\
+\xb2\xe4\x0d\xae\xfb\xe6\xd5\xfc\xee\xfe\xdf\x73\xf4\xbc\x23\xb9\
+\xe3\xce\x5f\x70\xd1\x85\x9f\x66\x5d\xf3\x2a\x5e\x7c\xee\x67\xd4\
+\xd4\x34\x0c\x18\xe0\x69\x59\x16\xef\xbd\xfd\x1c\x7b\xec\x39\x97\
+\x88\xb9\x02\xa9\x07\xce\x88\xa0\x0c\x8d\x20\xce\xe6\x40\xc1\x4a\
+\x29\xea\x87\x8d\x62\xdf\x7d\xf7\xe1\xe0\x83\xe6\x10\x8f\xc5\xf8\
+\xf4\x79\x9f\xe2\x81\x87\x1e\xc6\x29\x38\xd4\xd6\xd6\xb0\xc7\xee\
+\xb3\x86\x16\x0b\x42\x09\xf8\x65\x59\x16\xef\x2f\x5f\xc1\xc8\x11\
+\xc3\x48\x26\x2b\x58\xb1\x62\x05\x75\x35\x35\x3c\xf5\xcc\xb3\xcc\
+\x3b\xf2\x08\xf2\x79\x97\xe3\x8e\x9e\x56\xd4\xa2\x0f\xb9\x31\x7d\
+\x9f\xfa\xe4\x0a\x3e\xfe\xf1\x8f\xd1\xd5\x99\x0a\xe9\xdc\x02\xea\
+\x98\x25\x6f\x2c\x65\xec\x18\x93\x48\x19\x78\x0f\x4d\xe3\x26\x89\
+\xd1\x7a\x6e\xe8\x5c\x2e\x47\x73\x73\x0b\xa3\x46\x8d\x42\x29\xc5\
+\xda\xb5\xcd\x3c\xf0\xd0\x43\x5c\x76\xe9\x25\xfc\xf9\x81\x07\x39\
+\xeb\xcc\xb3\x70\x9d\xf7\x28\x64\xac\xd0\x35\xa9\x7c\xe6\x03\xec\
+\xe8\x24\x4c\x7b\x4c\x19\xf4\xca\xe0\x7a\xde\x16\x6d\x12\xb4\xb7\
+\x77\x50\x57\x5b\xcb\xb8\x71\x63\x69\x69\x6e\xe1\xc9\x27\xfe\xca\
+\x3e\xfb\xec\xcd\x3f\xfe\xf1\x02\x87\xce\x9d\xcb\x21\x87\x1c\x84\
+\xef\x79\x65\x21\x14\xf3\xf9\x3c\x8b\x97\xbc\xb1\x01\x3b\x64\xdf\
+\x0f\xac\x00\xdf\xb3\xeb\x2e\x53\xfa\x75\x80\xc2\x0c\xcd\x2a\x5f\
+\xd1\xd6\xde\xce\x3f\x5f\x5f\x4c\x67\x67\x8a\x9d\xa7\x4c\xc1\xb2\
+\x2c\xa6\xed\xb6\x2b\x8e\xe3\xd0\xd4\x58\xc7\xb7\xbe\x71\xe1\xa0\
+\x20\xd0\x23\x91\x28\x4f\x3c\x51\x4f\x75\x75\x35\xd3\xa7\xc7\xf1\
+\xbc\xc1\xc1\x25\x85\x1d\x1b\x5a\xb5\x6a\x15\x2f\xbd\xfc\x32\xf3\
+\x8f\x9a\x47\x2c\x16\x63\xec\x98\x31\xf8\xbe\x47\x2c\x1e\xdf\xea\
+\xf4\x3b\x5b\x25\xdd\x0b\x0e\x8c\xc0\x71\x1c\x0e\x38\x60\x7f\x6a\
+\xab\x6b\xe8\x48\x74\x32\x76\xcc\x18\x4e\xff\xd8\xa9\xa4\xd2\x69\
+\x1a\x1a\x1a\xf0\xbc\xf2\x0a\x85\xbe\x1f\xf0\x2f\x7b\xae\x1b\x70\
+\x7c\x87\x2d\xb0\x06\x84\x43\x1b\xf0\x81\x87\x3d\xf4\x61\xaf\x44\
+\x22\xc1\x5e\x7b\xed\x41\x3e\x9f\xe3\xe3\x67\x9d\xc1\xe7\x2e\xf9\
+\x2c\x2b\x56\xad\xe2\x63\xa7\x9d\x42\x57\x2a\x87\x69\x8d\xc4\x8e\
+\xed\x12\x6e\x76\x4f\x48\xec\x68\x12\x21\xcd\xf2\x52\x38\xa1\xbb\
+\xe5\xc4\xb7\x5c\x91\x35\xb0\xf1\x11\x87\x1f\x46\x34\x16\xe3\xa9\
+\x27\xff\x52\x24\x33\x8c\x23\x84\xf8\x90\xfc\x78\xa8\x48\xd7\xf5\
+\xfa\x31\x69\x1f\x30\x98\x8a\x1e\x1d\xb8\xc1\xbe\x1a\x1b\x1b\xb8\
+\xe8\xc2\x4f\x73\xc9\x67\x2f\xa4\xa2\xa2\x02\x29\x03\x8d\xc5\x11\
+\x4d\xc3\x50\xc5\x87\x71\x39\x8e\x75\xb3\x07\xc9\x70\xf1\x95\x5f\
+\x1c\x40\xd7\x65\x0a\xd9\x6e\xfe\xc1\xd2\xd7\xd7\xbb\xda\xd6\xf1\
+\xe8\xff\x3e\x48\x43\x7d\x1d\xad\x6d\xed\xe4\x72\x39\x6a\x6b\x6a\
+\x50\xca\xc7\xb2\xec\xf5\x6a\x45\x43\xc5\x49\x95\x9e\x52\x8d\x8d\
+\x0d\x1b\x44\x57\x15\xc9\x64\xf7\xdf\xeb\xa3\x51\x7c\xdf\x2f\x3b\
+\xc7\x2d\x7d\xbb\x60\xfb\x98\x33\x2a\xe5\xe9\xd5\xd5\xd5\xd4\xd4\
+\xd4\x6c\xf0\x79\xcf\xf7\xbb\xdb\xf3\x02\x11\x70\x59\x09\x09\xd2\
+\x0e\xe9\x08\x2c\x84\x50\x18\xd2\x29\x73\x9d\x2e\x5b\xc2\x4d\x95\
+\xd8\x56\xa7\x4e\x99\x82\x52\x8a\x89\xe3\xc7\x77\x33\x3a\x54\x54\
+\x54\xf4\x5a\xa7\xdb\x22\x4f\x83\xad\x64\x57\x00\xd3\x34\x49\x16\
+\xf7\xad\x52\x8a\x51\x23\x47\x76\x0b\x6d\xf4\xec\x86\x0d\xca\xef\
+\x13\xe5\x3b\x98\xc1\xb2\xab\x5f\xdc\xab\x5a\x6b\x86\x35\x35\xa1\
+\xb5\xfe\xd0\xf9\x1d\x72\x35\xa9\xde\xba\x03\x1b\xb7\xe5\x87\xc2\
+\x20\x63\xcf\x35\xf4\x16\xf2\x0f\x24\x0d\x70\x7d\xc9\x88\xda\xb7\
+\x19\x31\x7c\x75\xe8\xe2\xb9\xd6\x9a\x25\x2d\x6f\x22\x65\x64\x8b\
+\xad\xb7\x1b\x72\xb0\xd9\x6e\xe6\xd0\xb1\x6b\x6f\x7b\x7a\xa8\xec\
+\xdf\x4d\xad\xad\xb7\xbd\x3b\xe4\x21\x08\x83\x0e\x45\xd8\x0e\x9f\
+\xba\x9b\x6e\xcb\xf7\x6f\x8d\x86\xa1\xe9\x4a\x37\x60\xb6\x56\x97\
+\xd5\xe1\x93\x96\x83\x56\x2f\x6f\xb1\xa8\xb1\xb7\x56\x75\xcf\xcf\
+\x6f\x11\x01\x8e\x6d\x6c\xdb\xde\x0e\xf4\x50\x59\xe7\xff\x6b\x08\
+\x82\x6d\xdb\x38\x8e\x43\x22\x91\xa0\x50\x28\x60\x59\x16\x52\x4a\
+\x0a\x85\x42\x77\xf8\x38\x98\x21\xf3\xb6\x34\x70\x69\x0d\xd1\x68\
+\x34\x68\xd3\x1b\x06\xb9\x7c\xbe\x08\x4b\x88\x92\xcf\x77\xf6\xe3\
+\xe9\xa6\xc8\xbb\xb5\xa4\x73\xc3\x08\x4d\x9c\x00\x48\x23\xd7\x27\
+\x5f\xd2\x40\xa2\x28\xdb\xb6\xf1\x3c\x8f\x8a\x8a\x0a\x32\x99\x4c\
+\xf7\x9a\x63\xb1\x18\x99\x74\x1a\xd7\xf3\x86\xc4\xc1\x85\xa0\x96\
+\x19\x89\x44\x30\x0d\x83\x74\x26\x83\x6d\xdb\xb8\xae\x8b\x65\x59\
+\x41\x1a\x3f\x44\xa2\x46\xdf\xf7\xa9\xab\xad\xa5\x50\x28\x00\x90\
+\xcd\xe5\xb0\x6d\xbb\x1b\x9e\x50\x82\x0d\x0d\xa9\x74\xcf\x34\x4d\
+\x16\x2e\x7a\x95\x3d\xf7\xd8\x9d\xeb\x6f\xbc\x89\x83\xe6\x1c\xc8\
+\xab\xaf\xfd\x93\x5c\x2e\xc7\x61\x73\xe7\x12\x8b\x45\xb1\x2c\x7b\
+\x03\xd8\xfd\x8e\x6b\x60\x45\x26\x93\x21\x97\xcf\xf1\xf4\x33\xcf\
+\x62\x18\x06\xb6\x65\x71\xf8\xe1\x87\xf1\xce\x3b\xef\xf0\xc0\x43\
+\x0f\xf3\xe5\x2f\x7e\x05\x84\x15\x8c\x7b\x85\xc2\xae\x80\x10\x11\
+\xd0\x2e\x42\xf8\xc8\xb2\x66\xf7\xbc\x2d\x52\xe2\x09\xd4\x59\x22\
+\x2c\x79\x63\x29\x13\xc6\x8f\xe3\xf2\x2b\xbe\xcc\xc5\x9f\xb9\x90\
+\xf7\x97\xbf\xcf\xda\xb5\xcd\x3c\xf2\xe8\xa3\x9c\xf7\xa9\x73\x98\
+\x31\x7d\xb7\x1d\xfe\x00\x97\xde\x7b\x73\x73\x0b\xaf\x2c\x5c\x48\
+\x3a\x9d\xe6\x98\x63\x8e\xe6\xc5\x97\x5e\x62\xe7\xa9\x3b\xd3\xd6\
+\xde\xc6\xf8\x71\xe3\x86\x04\xaf\x94\xd6\x9a\xba\x86\x7a\xce\x3d\
+\xf7\x02\x8e\x3f\xee\x58\xde\x7f\xff\x7d\x4e\x39\xf9\x24\x5e\x7c\
+\xe9\x65\x62\xd1\x28\xc3\x86\x35\x51\x55\x59\x59\x16\x3c\x64\x7b\
+\xbb\x64\x6f\x8b\x56\x4a\x31\x6a\x54\x50\x64\x1c\x39\x72\x04\xd1\
+\x68\x8c\x9d\x26\x4e\x20\x62\x47\xc8\x64\x32\x14\x9c\xa0\x93\x31\
+\x14\x2e\x29\x05\xb1\x58\x94\x48\x24\x42\x5d\x6d\x2d\xfb\xcd\x3e\
+\x90\xbf\x3c\xf6\x24\x5d\x5d\x5d\x64\x73\x39\xda\xdb\x3b\x10\xc2\
+\xc7\xcd\xbf\x4d\x2e\xfd\x1a\xf9\xcc\xc2\x3e\x3f\x72\xe9\x57\x29\
+\x64\x5e\x42\x29\x07\xad\x0d\x94\x22\xdc\x87\x16\x08\x61\x6d\xb1\
+\x89\x3f\xdf\xf7\x19\x56\xe4\xfd\x1e\x3f\x6e\x2c\x08\xb8\xfa\x9a\
+\xeb\x18\x39\x72\x38\x6b\xd6\xae\x1d\x32\xd1\xc5\xfa\xf5\x7a\x2c\
+\x5c\xf4\x2a\x57\x5d\xf3\x4d\xd6\xae\x5d\x47\x3a\x9d\xa1\xad\xbd\
+\x8d\xbb\xee\xfe\x0d\x11\xdb\x1e\x32\x4e\x0a\x19\xe1\xd9\xbf\x3d\
+\xc7\xd7\xae\xbc\x9a\x5c\xbe\x40\x22\x91\x60\xf9\x8a\x15\xfc\xf4\
+\xce\x9f\xf3\xca\xc2\x45\x38\xae\xbb\x43\xaf\xd1\xdc\x54\x5a\x50\
+\x5b\x53\x83\xe3\x38\xcc\x3f\xea\x28\xa4\x94\x4c\x18\x3f\x8e\xdd\
+\x67\xed\xde\xdd\xc6\xdd\x54\x9d\x6a\x47\x4c\xf7\x2c\xcb\xa2\xaa\
+\xb2\x92\x83\xe6\x1c\x88\x65\xd9\x5c\x77\xcd\x55\x24\x8b\x40\xce\
+\x5d\xa6\x4e\x25\x97\x77\x31\xed\x91\x44\xe2\xd3\x50\x21\x20\x08\
+\x52\x48\xcc\x6c\x1d\xb6\xf9\x6f\xe2\xe6\xf2\x62\x4d\x2a\xdc\xbd\
+\x4a\xe5\xd6\x20\xc4\xe0\x73\xff\x94\xd2\x82\xaa\xaa\x40\x4a\xfe\
+\xb4\x53\x4f\xc6\x90\x06\xb7\xff\xf8\x47\xd4\xd6\xd6\x70\xfb\xad\
+\xb7\x10\x8b\xc5\x86\x94\xa3\xaa\xaf\xaf\xe7\xe2\xcf\x7e\x86\x4f\
+\x7d\xf2\x6c\x6a\x6b\x6b\x19\xd6\xd4\x84\x94\x92\x8b\x2f\xbc\x80\
+\x7c\xa1\x30\x64\xd2\xbd\xce\xd6\xb5\xfc\xef\x43\x7f\xc2\xf7\x3c\
+\x2a\x2b\x2b\xc9\x66\xb3\x1c\x79\xf8\x61\xcc\x39\x60\x36\xd1\x68\
+\x74\x87\xe6\x92\xda\x64\xba\xd7\xd3\x78\x3d\xb9\x68\x22\x11\xbb\
+\xd7\x43\xbe\xa3\xa7\x05\xa5\x75\x04\x23\x23\x3e\xd5\xd5\x81\x7a\
+\xaf\x61\x18\x58\x96\x45\xa1\xa0\x10\xc2\x44\x08\x13\x29\xcd\x10\
+\x3f\x37\xd0\xb8\xf3\xd4\x34\x72\x5e\x03\xa2\x0c\x3e\x6d\x3b\xb6\
+\x0c\xad\xff\xb4\xc5\xd6\xdb\xed\x98\x4d\x0b\xad\x35\x0d\x0d\xf5\
+\x00\x54\x56\x56\x0e\x09\x9b\xf6\xac\x49\x19\x86\x41\x32\x59\x41\
+\x32\x59\xb1\xc1\xd7\xab\xaa\xab\x86\x54\x87\x5a\x29\x45\x5d\x6d\
+\xed\x06\xeb\x8f\x46\xa3\x44\xa3\xd1\x21\x71\x56\xcd\x30\x87\xb8\
+\xbf\x5f\xdf\xd1\x9c\xd5\xe6\xd7\xa4\x8b\x35\xa9\x30\x88\x73\x23\
+\x10\x0c\x28\x6a\xff\x85\xef\xee\x15\xf1\x2c\xdb\x70\xad\x43\x15\
+\x82\x30\x54\xf7\x6e\x6f\x6b\x19\x6a\x76\x35\xf9\xef\xd5\xe7\x65\
+\x18\x8a\x89\x63\xbb\xd8\x7b\xdf\x3c\x5e\x88\xfc\x5e\x1a\x06\x6b\
+\xd7\x66\x78\xfd\x8d\x18\x02\xb7\x4c\x36\x04\x1f\x8d\xf8\xef\x4d\
+\xff\xef\xf5\xdf\x6b\x6b\x3b\x29\xad\x03\x4e\x4b\xdf\xf7\xfb\x85\
+\x50\x0e\x60\x0f\xdb\xee\x49\x15\x8f\x5b\x54\x55\x46\x81\x68\xa8\
+\xd7\xe4\x73\x15\x34\xd5\x37\x53\x51\x41\xe8\xce\x8a\xd6\x9a\xc5\
+\xaf\xbf\x89\xe7\x49\x94\x02\x3f\x64\x6f\x42\x69\x50\xaa\xc8\x83\
+\xb3\x6d\xf2\xab\x7e\x8c\xc5\x08\x7c\xcf\xdf\xde\x04\x66\x06\xb2\
+\x4b\x8a\x9c\x52\x6a\xc8\x38\x07\xad\x83\xf3\x5a\xee\x71\x1d\x6c\
+\x31\x52\x73\x6b\x1e\x74\x01\x8c\x1b\x3b\x0e\xc7\x29\xbf\xdb\x50\
+\x55\x59\x85\x61\x6c\xa3\x19\x24\x21\xa8\xae\xaa\xc4\x77\x0b\x78\
+\x5e\x38\x3e\x29\xe5\x29\xa6\x4e\x6e\xa0\xae\xae\x0e\x19\x32\xd4\
+\xd6\x5a\x93\xee\xac\x22\x9f\x9f\xc8\xb0\x7a\x0f\xd7\x0b\xab\x31\
+\x68\x90\xb0\x13\x65\xd0\x14\x0f\x72\xa4\x69\x9a\xd4\xd7\xd7\x6f\
+\x92\x95\xa0\xb7\xcb\xf3\x3c\x26\x4c\x9c\xb0\xed\x6c\x3a\xc8\x97\
+\xef\xfb\x0c\x1b\x36\x8c\x44\x22\xbe\xc3\x2b\x06\x97\xf6\x62\x2c\
+\x16\x65\xdc\xb8\x40\x38\xb6\x1c\x07\x55\x57\x57\xb7\xe5\x9c\xd4\
+\x96\xee\xd8\x49\x29\xd9\x7f\xff\x7d\xc9\xe5\x72\x65\x0d\x95\x96\
+\x20\x11\xe5\x1c\x82\xcd\x3d\xf1\xca\x7e\xdf\x42\x30\x76\xf4\x48\
+\x3a\xdb\x9a\x43\xbf\xbe\x22\x66\x83\x80\xae\xf6\xb6\xb2\xa2\x85\
+\x3d\x67\x4d\x67\xbf\x8f\x48\x0a\x85\x35\x65\xd5\x11\x94\x6e\xc4\
+\xf3\xd4\x80\xd7\xda\x9f\xcb\xb6\x2c\x26\xed\x34\x31\x10\x8d\x0d\
+\x59\x0f\x72\x5c\x97\x39\x07\x1e\xd0\x0d\x40\xdc\xfa\x56\x1d\xdc\
+\x07\xb0\xeb\xba\x4c\x9b\xb6\x6b\x30\x40\xbf\x25\x01\xb1\x62\xcb\
+\xaf\xb6\x54\x8c\xaf\xae\xae\x66\xf6\x7e\xfb\x92\xcf\x17\x42\xdb\
+\xd5\xf3\x3c\x26\x4e\x9c\x80\xe7\x79\x83\xeb\xa4\xb4\xd6\x78\xae\
+\x8b\xf2\xfd\x2d\xfe\x14\xc8\x15\x95\x55\x55\x99\x0e\xc7\x75\x9c\
+\x81\xde\x79\x84\x10\x14\x0a\x79\x94\xef\xa1\x7c\xa3\x1f\xbf\x3f\
+\xfc\xe6\xe8\xaf\x43\xcd\xe7\xf2\xe4\x73\xfd\xd9\x88\xee\x06\x9b\
+\x05\xad\x71\x9c\x02\x5a\x07\x29\xc8\x96\xce\xaa\x9c\xe2\x7a\x75\
+\x3f\xf6\xc2\x80\x9e\xf8\x45\xad\x9c\xd6\xb6\xb6\x40\x54\x61\x2b\
+\xac\x75\x53\x57\xa1\x07\x83\xc4\x60\xbf\x07\x55\xec\xce\x79\xae\
+\x4b\x3a\x9d\x46\xa0\xd1\x6a\xcb\xd6\x2f\x7d\xa5\xc8\x15\x9d\x4d\
+\x39\xeb\x71\x06\xf0\xe0\x51\xfa\xc3\xac\x96\xa2\x6d\xdd\x07\x1a\
+\x21\xb0\x22\x31\x4c\xb9\x63\xf3\xce\x6c\xee\xe9\xe3\xba\x0e\x5e\
+\x21\x8f\x12\x06\xf1\x58\x7c\x48\x2a\xbd\x76\xbb\x2b\xcf\x09\xc8\
+\xf6\x0c\x8b\x78\x3c\x8e\x56\x7a\xc8\xda\xd5\xf3\x3c\x50\x1e\x8b\
+\xdf\x7c\x8b\x59\x33\x77\x03\x35\x34\x97\xaa\x85\x46\x20\xe8\x68\
+\x6b\xc1\x53\xd0\xd8\xd8\x58\x7c\xd0\x0f\xad\x7d\xac\xd1\x18\xa6\
+\x45\x2e\xd3\x85\xd0\x9a\xa5\xff\xfa\x77\xe0\xa4\x84\x10\x08\x29\
+\x8b\x33\x1f\x43\xf3\xf0\x06\x85\x77\x15\x14\xb1\x87\xe8\x99\xed\
+\xb9\x56\xd0\x43\xde\xa6\x3d\xed\x6a\x59\x76\x91\xa3\x6c\x28\xaf\
+\x35\xf0\xc0\xd2\x30\x8a\x05\xfa\xa1\xba\x56\xdd\x2d\xc1\xb6\xf4\
+\xcd\x7f\x61\x76\x4b\x31\xfb\x3e\x43\xfd\x12\x42\x94\x9d\x66\xee\
+\xc0\x41\xc6\xff\x9f\xb5\x0a\x81\xeb\x3a\xfc\x7f\xb9\xfc\x41\xac\
+\xf7\xec\x08\xfb\xf8\xff\x00\x5f\x00\xbd\xb4\x89\xbf\x85\xe7\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x5a\xec\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x94\x00\x00\x00\x77\x08\x02\x00\x00\x00\x6a\x8e\xfe\xaf\
+\x00\x00\x0a\x45\x69\x43\x43\x50\x49\x43\x43\x20\x70\x72\x6f\x66\
+\x69\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\
+\xde\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\
+\x80\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\
+\x11\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\
+\x0c\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\
+\x7b\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\
+\xb3\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\
+\x11\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\
+\x08\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\
+\x07\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\
+\xff\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\
+\x80\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\
+\x53\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\
+\x7f\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\
+\xa0\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\
+\x45\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\
+\x57\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\
+\x30\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\
+\x99\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\
+\x99\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\
+\x1e\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\
+\x99\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\
+\x83\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\
+\xbf\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\
+\x74\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\
+\xee\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\
+\xe9\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\
+\xe4\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\
+\x57\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\
+\x81\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\
+\xdc\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\
+\x58\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\
+\x42\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\
+\x00\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\
+\x58\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\
+\x68\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\
+\x92\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\
+\x44\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\
+\xdc\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\
+\x80\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\
+\xd4\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\
+\x3d\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\
+\x13\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\
+\x21\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\
+\x48\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\
+\x46\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\
+\x51\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\
+\x74\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\
+\xd0\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\
+\x6c\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\
+\x0c\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\
+\x12\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\
+\x58\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\
+\x51\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\
+\x31\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\
+\x37\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\
+\xd2\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\
+\xda\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\
+\xe4\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\
+\xe2\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\
+\x41\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\
+\xb6\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\
+\xa5\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\
+\xdd\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\
+\x77\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\
+\x19\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\
+\xeb\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\
+\x0a\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\
+\x0b\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\
+\xe3\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\
+\x3b\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\
+\xc3\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\
+\x19\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\
+\xd9\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\
+\x33\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\
+\x74\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\
+\x1b\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\
+\xab\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\
+\xfb\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\
+\x53\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\
+\xa5\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\
+\x4c\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\
+\xa7\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\
+\x35\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\
+\x61\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\
+\x8c\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\
+\x26\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\
+\x4c\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\
+\x9b\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\
+\x65\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\
+\x58\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\
+\xa7\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\
+\xb7\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\
+\x67\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\
+\x0d\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\
+\xde\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\
+\xcf\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\
+\x17\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\
+\x9b\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\
+\x9d\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\
+\x9f\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\
+\xd1\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\
+\xe7\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\
+\xef\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\
+\x5f\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\
+\x7f\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\
+\x81\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\
+\xf6\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\
+\xc1\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\
+\x0e\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\
+\x85\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\
+\xd1\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\
+\xaf\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\
+\xc6\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\
+\xae\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\
+\x17\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\
+\x12\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\
+\x8c\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\
+\x36\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\
+\x91\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\
+\x4c\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\
+\x31\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\
+\x66\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\
+\xc9\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\
+\xd7\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\
+\x2b\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\
+\x12\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\
+\xb2\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\
+\x8a\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\
+\x6b\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\
+\x7d\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\
+\x1b\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\
+\xe5\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\
+\x66\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\
+\x6e\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\
+\xcd\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\
+\xce\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\
+\x61\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\
+\xf7\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\
+\xfb\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\
+\x71\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\
+\xd2\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\
+\x77\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\
+\xf7\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\
+\x76\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\
+\x62\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\
+\x9c\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\
+\xf2\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\
+\xe7\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\
+\xe7\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\
+\x57\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\
+\x9c\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\
+\x1b\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\
+\xdd\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\
+\xce\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\
+\xd9\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\
+\xa0\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\
+\x05\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\
+\x72\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\
+\xae\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\
+\x97\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\
+\x1e\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\
+\xef\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\
+\xd0\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\xef\x35\x94\
+\x82\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\xc4\x00\x00\x0e\
+\xc4\x01\x95\x2b\x0e\x1b\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\
+\x05\x1c\x0c\x21\x0f\x3e\xf0\x71\x06\x00\x00\x20\x00\x49\x44\x41\
+\x54\x78\xda\xec\xbd\x79\x94\x65\x59\x59\x27\xfa\xfb\xbe\xbd\xf7\
+\x99\xee\x18\x71\x63\xcc\xcc\xca\xca\x9a\x8b\x2a\x8a\x2a\x28\x8a\
+\xb9\x50\x14\x15\x27\x44\xa4\x97\xd0\x8a\xae\xf5\x14\x64\x70\xa0\
+\x9f\x13\x3c\x01\x11\x15\xb1\x45\x5b\x6d\xdf\x5b\x4f\xdb\xd6\xf5\
+\x6c\xd0\x7e\x8f\xc9\x81\x49\x50\x10\x81\x42\xa1\x26\x0a\xaa\xa8\
+\x39\x2b\xe7\xc8\xc8\x18\xef\x70\xa6\x3d\x7c\xef\x8f\x73\x23\x33\
+\x32\xab\xb0\xdb\x3f\x2a\x0b\x93\xbe\xeb\xae\xc8\xc8\x88\xb8\x67\
+\x9f\xb3\x7f\xfb\x9b\x27\x12\x11\x3c\xae\x2f\x01\x08\x40\x00\x3c\
+\x10\x80\x00\x68\x80\x00\x06\x78\xe7\xb7\x00\x1c\xe0\x01\x83\xc0\
+\x00\xc0\x43\x60\x04\x58\x20\x05\x06\x08\x5a\x3c\x88\x10\x00\xb0\
+\x63\xb6\x00\x80\x18\xc2\x67\x16\x3a\xb3\x4a\xf3\x0d\x37\xab\x88\
+\x30\x64\x67\x11\x41\x10\x10\x81\x00\x9c\xf9\xa8\x77\x36\x68\x63\
+\x20\xbb\x2f\x05\xa1\xd3\xdf\x7e\x9d\xbe\xf4\x79\x5c\xab\xd9\x87\
+\xd3\x7b\xc6\x67\xa3\xcb\x38\xbd\x79\xd3\xff\x6a\x40\x03\x29\x44\
+\x43\x40\x04\x10\x58\x01\xf0\x80\xb7\x3e\x20\x68\xc5\xcc\xaa\x81\
+\x0a\x3b\x98\x35\xab\x98\x66\x09\x11\x01\x84\x98\x4e\x2f\x44\x02\
+\x00\x21\x40\x3c\x08\x9e\x35\x01\xa2\x23\x35\xbd\x0d\xc1\xbf\xa1\
+\xd7\x79\x03\x8f\x77\xa8\x01\x3b\x64\x77\xce\x4e\xf1\x94\x2e\x99\
+\x01\x07\x10\xd0\x02\x0c\x10\x23\x4c\xf7\xdd\x0b\x14\x26\x40\xd9\
+\x5c\x81\xc9\x30\x03\x18\x03\x15\x60\x00\x05\x44\xc0\x94\x80\x76\
+\x18\x0a\x11\x07\xc0\x01\x0e\xe4\x01\x45\x48\x01\x90\x82\x40\x04\
+\xbe\x01\x14\x08\x20\x40\x78\x0a\xfd\x19\x9a\x0b\xbb\x29\xf4\x1b\
+\x0f\x3c\x3a\x07\x1e\x4c\x19\xe6\x63\xb0\x56\x0d\x84\x1d\xfe\xc9\
+\x80\x86\x18\xc8\x14\x63\xef\x41\x3a\x08\x4a\x42\x0d\x68\xad\x0c\
+\xc9\xe9\x05\xd4\xae\x6b\x06\x10\x37\xc8\x00\x20\x3e\x77\x75\x81\
+\x17\x21\x66\x10\x02\x81\x04\xde\x87\x40\xa4\x98\xb0\x8b\x99\x86\
+\x5d\x5f\xf1\x75\x8b\xdf\xf9\x64\x9b\x67\x63\x26\x8f\x12\x8d\xd3\
+\xcd\x0e\x3b\x7f\xa9\xa6\x3f\x6f\xa8\x83\xc1\xcc\x00\x59\x58\x88\
+\x37\x14\x83\x50\xe4\x21\x4d\x5b\xbb\x8e\x88\x03\x2c\x10\x40\x01\
+\x0a\x10\x26\x32\x80\x9e\x8a\x46\x89\x41\x10\x71\x3e\x14\x41\x48\
+\x2b\xdd\x60\x49\xc4\x44\xcd\x4a\x61\x17\x60\xf2\xbf\xd8\xe6\x63\
+\x21\xf4\x3f\xd0\x6e\x34\x76\xf3\xab\x1d\x16\xbb\xf3\xd9\xd8\x40\
+\x84\x3c\xe0\x80\x22\xcd\xd2\x33\xbb\x8d\xe6\xb3\xb2\xf3\xd9\x40\
+\xa4\x76\xf3\x67\x09\x10\x80\xb5\x30\x9f\xbe\x28\x7c\x60\x02\x2b\
+\x52\xb2\x4b\x53\x79\x4c\xbe\xf1\x75\xf8\xa2\xc7\x5d\xdb\xfc\x17\
+\x90\xa3\xb3\x7f\x75\xce\xa6\x51\x98\xc2\x20\x53\x36\x28\x02\xd6\
+\x00\x2a\x8f\xf1\x78\xb2\x69\x22\xca\xcc\x0c\xd0\x39\x2d\xe7\xfe\
+\xe5\x57\x08\x08\x12\x98\x73\xeb\x4a\x62\x13\xe9\x4c\xa0\xbc\x27\
+\x11\x62\x7d\x9a\x39\x04\x20\xd0\xd7\xe2\x16\xdf\x78\x94\x17\xa6\
+\x26\xc1\x19\xde\xb8\x1b\xb9\x30\xe5\x96\x72\x0e\xff\x9c\x12\x06\
+\x60\x41\x1a\x64\x48\x60\x6b\x18\x06\xb1\x1a\x0e\xc7\x0f\x3e\x7c\
+\x8f\x89\xdd\x81\x03\x17\xf7\xd3\x01\xc0\x20\xb5\xa3\x9d\x12\xa0\
+\x77\xec\x04\xd9\x11\xa2\x22\xb0\x41\x59\x11\xba\xed\xf6\xaf\x68\
+\x95\x0d\x06\xcb\xcb\x4b\x07\xb4\x61\x62\x40\xce\x18\x2c\x01\xcc\
+\xa7\xc5\x9e\xf0\xd7\x39\xed\x3d\xde\x94\xb7\x8b\x7a\x76\xd3\x16\
+\x01\x84\xed\xe1\x5a\xaf\xdb\x01\x78\x3c\x2e\xda\xed\x6e\xf0\x70\
+\x16\x46\x83\x08\x60\x04\x09\x82\x52\x71\x73\x05\x05\x44\x65\x55\
+\x49\xa0\x34\xd5\x36\x8c\x35\x57\xf7\x3e\x7c\xeb\x1d\x77\x7d\x6a\
+\xb0\x18\xd2\x16\xfa\xbd\x41\xbf\x3f\xdb\x6e\xf5\x8d\x4e\x08\xa6\
+\x81\xc3\x7b\xbf\xb2\x72\xc2\xba\xc2\xda\xea\xe1\x83\x0f\x4c\x26\
+\xa3\xd9\xde\xa5\xd7\x5f\xf5\xe2\xfd\x7b\x9e\xbe\xb1\x31\x99\x9d\
+\x99\xab\x2a\x04\x81\x89\x51\xd4\x48\xe3\xa9\xde\x89\x00\x45\xa8\
+\x2a\xaf\x48\xe9\xe8\x1b\x1d\x3c\x3f\xa5\x06\x39\x0b\x3c\x21\x4b\
+\x70\xeb\x9b\xab\x83\x99\x01\x60\xb6\xb6\x47\xfd\xde\x5c\xf3\x37\
+\x22\x10\x80\x19\x20\x07\x54\x01\xb9\x0b\x25\xc0\x11\x27\x80\x5a\
+\x5d\x5f\x8d\x13\xdd\x6b\xa5\x40\xb1\x55\x1f\xfc\xfc\xad\x1f\x08\
+\xd8\xf6\x5e\xbc\xf7\x00\x13\x11\x33\x33\xe9\xba\xae\xf3\xbc\x18\
+\x0c\x06\x65\x59\x12\xd1\xc5\x17\x5f\xbc\xb0\x30\xbf\xb7\xf5\xe4\
+\x71\xb9\xa8\xb1\xf7\xf7\x7e\xf7\xbf\x7e\xe2\x13\xb7\xdc\x79\xe7\
+\xc1\xd1\xb8\x9a\x19\xcc\xff\xf8\xab\x7f\xec\xad\x6f\x7d\xe5\xe6\
+\x16\x06\xb3\xb0\x35\x62\x0d\x3e\x6d\xf3\xf1\x37\x34\x78\x16\xe0\
+\xa9\x58\x92\x33\x64\x57\xd6\x9b\x49\x44\x80\xdf\x18\x6e\xcc\x76\
+\x17\x01\x53\x56\x3e\x89\xdb\x40\xf0\x5e\x08\x8a\x1b\x5a\xa5\x1a\
+\xd8\x22\x8c\x81\xca\xa2\x3a\x7c\x74\xe5\xd0\x23\xc7\x9f\xf5\xcc\
+\x9b\x33\xd3\xde\x39\x19\x05\x60\x37\x8a\xd5\xf5\x8d\xd5\xed\xe1\
+\x7a\x51\x0e\x9d\x2b\x01\x0c\x06\x03\xe6\x48\xab\x78\xcf\xf2\x01\
+\xa6\xb8\xad\x7a\x01\xfc\xa6\xb7\xbc\xfd\x23\x7f\xf5\x99\xa3\x87\
+\xb7\x96\x16\xaf\xbc\xf7\xfe\xa3\xed\xd6\xfe\xda\xe9\x99\xd9\xc1\
+\xc9\xd5\xe3\x49\x2a\xc7\x57\xee\x6c\xb5\x60\x2b\x64\x11\x26\x63\
+\xdb\x6e\x99\xaa\x94\x38\xa3\x6f\x58\xf0\xdc\x0e\x78\xf1\xd9\xe0\
+\x85\x80\x71\x51\x6d\xb4\x62\x3d\x2c\x87\xdd\x64\x00\xc4\x6b\x1b\
+\xa3\xb9\xd9\x05\x2f\x56\x51\x0c\x31\x12\xe0\x03\x94\x29\x09\x6b\
+\xc0\x46\x8e\xd5\x3b\xef\xba\x7d\xe5\xf8\xf6\xf2\xe2\x25\xcf\x7e\
+\xea\x0b\x0b\x17\xf2\x49\x99\x24\x59\x16\x67\x00\x04\x16\x08\x84\
+\x40\xf0\x8d\xa8\x2b\x42\x95\x72\x06\x68\x8b\x60\x90\x1e\x3c\x72\
+\xe4\xce\x3b\xbe\xfc\xfd\x2f\xfe\x01\x40\x01\x69\x31\xe1\x24\x06\
+\x9b\xeb\xfa\x33\x17\x6d\x6d\x6e\xe8\x58\xb9\xea\xe4\x0b\xbf\xfb\
+\x5b\xde\xff\x81\x3f\x8a\x18\xb1\x86\xb7\xd0\xea\xcc\x51\xfb\x86\
+\x05\xaf\x02\x18\x48\xcf\x06\xcf\x02\x23\x8b\x6d\x41\x19\x21\xaa\
+\x21\x5f\xfc\xe7\xbb\x9e\x7e\xe3\xcd\xb1\xce\x02\x3c\x23\x86\xc4\
+\xd6\x42\x1b\x21\xda\x0e\x38\xb2\x5e\xdc\x7f\xdf\x03\xb7\x1f\x3a\
+\x74\x68\x30\x73\xe0\x5b\x9e\xf7\x92\x10\xda\x9b\x1b\xb9\xad\xfd\
+\x60\x30\x0f\x04\xa5\x8c\x56\xb1\xa6\x04\x50\x02\xe5\x3d\x82\x47\
+\x9e\x97\xfd\x7e\xb7\xaa\x8b\x38\xd2\x80\x1b\xe7\xa3\x76\x96\x6c\
+\x8d\xb6\xfa\x9d\xb9\xc9\x38\xb4\xb2\xae\x75\x78\xcf\xbb\xef\xfc\
+\xf1\x57\xbf\x81\xb5\xe9\xce\xb4\xda\x3d\x39\x74\xdf\x17\x47\xf6\
+\x78\xa4\x00\x91\x88\xe9\x1c\x57\xe7\x37\xac\x9d\x17\x1e\xe5\x67\
+\x72\x82\xba\x51\xf0\xd7\x27\xc7\xee\xfe\xca\x03\x49\xdc\x8b\x35\
+\x03\xc2\x30\x80\xb2\x56\x88\x3d\x51\x05\x6c\x1d\x5d\xbf\xfb\xab\
+\x0f\x7c\x6e\x34\x5e\x9b\x1d\xf4\xaf\xbc\xfc\xca\x08\xc9\xb1\xf5\
+\x4d\xa6\x38\x8a\x79\x52\x6c\x94\x45\xa5\x75\x14\x99\x2c\x89\x3b\
+\x49\xdc\xd1\xac\xb5\x32\x50\x1c\x45\xc9\x64\x32\x69\xb5\xe2\xa2\
+\x1c\x17\xe5\xb0\xb6\xf9\xd1\xe3\xeb\x57\x5e\x7e\xa5\xf8\xba\xd5\
+\xee\x22\xa0\xae\xe1\x9d\x78\x5f\x7a\x5f\xe7\x39\xad\xaf\x1c\xa2\
+\x56\xcb\x68\x30\x40\x24\xd6\xd6\x46\xc7\xce\x7a\x6d\xd4\x37\xb2\
+\xa9\x20\x8f\x65\xde\x05\x87\x52\xc1\x32\xec\xed\x77\x7c\x71\x7b\
+\x2b\xff\xde\xef\x79\x8e\x47\xa5\x10\x03\xb1\xb3\x4c\x04\xad\x3d\
+\xb0\xb9\x32\xbc\xfb\xf0\xf1\xdb\x47\xf9\xb1\x76\xa7\x73\xc5\x65\
+\x57\x2f\xcf\x5d\x3a\xb6\xde\x3b\xd6\x31\x83\xf3\xd1\x64\xab\xdf\
+\x9b\x97\x20\xde\x0f\x87\x93\xcd\xcd\xa1\x17\x91\x86\x97\x38\xe7\
+\xb4\xd6\x13\xdb\x62\xe6\x23\xc7\x8e\xcd\xce\xce\x5e\x7d\xf9\x81\
+\x2f\xdd\x73\xdb\xe5\xfb\xaf\x6e\xb5\x3b\x79\x0e\xef\xf1\x1b\xff\
+\xf1\x37\xfb\xb3\x4b\xd6\x4b\xa0\x72\xdf\x95\x97\x1f\x7d\xe8\x36\
+\x17\x40\x1c\xb6\xb7\x4e\xcd\xf7\x67\x6d\x9d\x9b\x28\xf9\x7a\xf6\
+\xb4\x3c\xde\xe0\x31\x60\xce\x32\x75\x09\x80\x05\xc6\x06\xc3\x0a\
+\xeb\x1f\xfe\xf8\xdf\x64\x69\xe7\xba\xeb\xae\x87\xb0\x22\x05\x10\
+\x84\x25\xc0\x44\x00\xaa\xb1\x3f\xfc\xd0\xa1\xcf\x6f\x0e\x0f\xce\
+\x0e\xda\xa1\x9e\x99\x9f\xb9\x3a\xc5\xbe\x23\x6b\x1b\x59\xda\x9e\
+\x14\x5b\x71\x42\xfd\xde\xac\x73\x16\x20\x62\x18\x05\x43\x02\x04\
+\x90\x88\xf8\x10\x90\x65\x26\x9f\x6c\x97\x65\xb8\xfa\x49\x17\x17\
+\x45\x7d\xff\x23\x77\x5f\x76\xd9\x25\xad\xb8\x0b\x50\x9a\x61\x6d\
+\x1d\x0f\x3d\xf4\x80\x36\x73\x5a\x2b\x18\x77\xf4\xfe\xfb\x7f\xef\
+\x8f\x7e\x5f\x33\x1c\x8a\xd9\x7e\x5f\x00\x13\x65\xae\xf6\x3a\xfa\
+\x57\x31\x98\xf3\xaa\x9e\x3e\xde\x2b\x71\xb0\x31\x82\x29\x27\xe1\
+\xb4\xcc\x1b\x8e\x8f\x00\x27\x0a\xdc\xf5\x77\xb7\xfc\x9f\xdd\x99\
+\xad\xbc\x38\xb1\x6f\xcf\x45\x31\xf5\x81\x18\x88\x24\xc0\x18\x00\
+\xd8\x1a\x9f\x2c\xec\xe1\x71\xf5\xa0\x95\x93\x55\x69\x9f\x77\xd3\
+\xcb\xbb\xea\xa6\xda\x2e\xc4\x7a\xd1\xf9\x3a\x49\x22\xf1\x89\xaf\
+\x5b\x22\xb1\x40\x4b\xe0\x10\x28\x78\x1d\xbc\x0e\x5e\x49\xd0\x14\
+\x0c\x4b\x54\x15\x2e\x8d\xb3\xd1\xf6\xd8\x5b\xab\x18\xed\xb8\xed\
+\xa1\x0b\x4f\x13\x8b\xa7\xdd\xf8\x3d\xcc\xfd\x99\xee\x82\x78\x11\
+\x5b\x2f\x5e\xb4\xf8\xb2\x97\x7d\x17\xa1\x92\x50\x0a\xc2\xd6\x78\
+\xe2\x01\x65\xd4\x59\xde\x83\xc7\x7c\x9f\x25\x1a\x76\x7b\x47\xff\
+\xad\x83\x27\x60\x85\x7c\x8c\x24\xe1\xcd\x8d\xc2\x39\x80\x26\xdd\
+\x76\xb5\x32\xbe\xf3\xd3\x5f\x78\x9f\x8a\x26\x2b\xab\x47\x9e\xff\
+\xfc\x6f\x4e\x4d\x1f\x48\x81\x54\xbc\xf2\x01\x02\x54\xb5\xed\xb4\
+\xe3\xa3\xc7\xef\x8b\x92\x2a\x4e\x30\x33\xdb\x53\x68\x03\x9d\xe0\
+\x75\x08\x0e\x5c\x90\x2a\x89\x44\x84\x1a\x62\xdd\xf1\x03\xd0\x8e\
+\x3b\x4d\x13\xa9\xd5\xd5\xb5\x7d\xcb\x07\x6c\xed\xf3\xbc\xd0\x2a\
+\x5e\x98\x5d\xf2\x50\x93\xda\x7b\xa8\xf7\xbd\xef\x33\x47\x8f\x1c\
+\xd2\xca\x6c\x6c\xae\x45\x86\xab\x72\xf2\xe9\x7f\xf8\xbb\xb9\x99\
+\x36\x23\xc4\x1c\x03\x1c\xc5\x2d\x08\xf2\x72\x1a\x92\xfd\xfa\x7c\
+\x3d\xce\xe0\x11\x00\x69\xfc\xfe\x33\xb3\xa9\xc7\x36\x70\x6a\xe8\
+\xbf\x7a\xe7\xdd\x7f\x5b\xd5\xe3\x24\xea\x75\xd2\x8b\xe6\x92\xab\
+\x08\x6d\x20\xab\x0a\x45\xc4\xda\x38\x70\xa9\x74\xad\x10\xac\xad\
+\xca\xb2\x4e\x92\x64\x71\x71\x4e\xa1\x06\x86\x1e\xeb\x9e\x4e\x41\
+\x6d\xb1\x19\x92\x9e\x80\x27\x20\x7f\xb6\x7c\x6d\xfc\x6d\x81\x95\
+\xea\xcf\x0c\xee\x7b\xe0\x7e\xef\x78\xff\xde\xcb\xf3\x89\xaf\x9d\
+\x62\xb4\x93\x68\xe6\xc4\xf1\xf2\xc7\x7e\xfc\x75\x59\x67\xae\xd5\
+\x4e\x3a\xdd\x64\x34\x59\xf9\xb5\x5f\x7b\xdb\x65\x07\xda\xce\x62\
+\x7b\x38\x21\x98\x20\x60\x28\x06\xb2\x04\xf4\x75\xac\x73\x3e\xde\
+\x6c\xd3\x59\x3f\x24\x65\xab\x0a\x20\xc4\x71\x39\xb4\xf7\x7f\xfa\
+\xf3\x7f\xee\x64\x75\x6e\x6e\xae\x2e\xe3\x1b\x6f\xf8\x8e\x51\xa9\
+\x08\x5d\x88\xf6\xb6\x11\xc0\xde\x85\x89\x56\xa8\xe1\xf6\xed\xbd\
+\x62\x73\xdd\x8a\x6f\x2f\x76\x0f\x30\x34\xe0\x82\x14\x41\x0a\x90\
+\x25\x0a\x80\x03\x4d\xa1\x9a\x86\x81\x9a\xaf\x14\x00\x84\x10\xbc\
+\x0f\xed\x56\x3f\x4d\xba\x0f\x3c\x70\x78\xb6\xbf\x77\xd0\xbf\xb8\
+\xac\xb8\x2c\xf0\xb2\x97\xfe\x68\x28\x6d\x55\x17\xb5\x1d\x8d\x27\
+\xa7\x2e\xbf\xe2\x92\x9f\xff\xc5\x17\x5b\x0b\x5b\x87\x7e\x77\x8e\
+\x61\xc4\x51\x62\x98\x04\xce\x9e\xce\xae\x08\x8f\x8d\x1f\x3d\x3a\
+\xe6\x75\xe1\xc8\x3c\x31\x46\x04\x93\x38\xc5\xd6\xf6\x71\xc1\xea\
+\xed\x77\x7d\x14\xfa\xe4\xec\xbc\x5e\x5b\xdb\x34\x3c\xbf\x6f\xf6\
+\x06\x25\x8b\x8d\x15\x98\x65\x4d\xa8\xd4\x2a\x56\x02\x03\xdf\x5e\
+\x6c\x5f\x6b\xb0\x6f\x7b\x2d\x8d\xb0\x17\x68\x9f\xd1\x7d\xc4\x40\
+\x12\x48\x8a\x10\x93\xf0\x0e\x71\xc8\x4e\x20\x22\x00\x21\x04\x8c\
+\x86\x93\xf9\x85\xbd\xd6\xf1\xdc\xdc\x7e\x63\x66\x80\x2c\x8a\xb2\
+\xd7\xbd\xf6\x57\xef\xba\xf5\xee\xa8\x33\x67\x12\x5d\xba\x2d\x15\
+\xe5\x9f\xff\xe7\xf7\x81\x60\x22\xb4\x33\x66\xc0\x7b\x8e\x54\xd4\
+\x20\x17\x82\x3f\x5b\x98\x85\xa9\xcd\x4e\x5f\x17\xb4\x78\x1e\x8e\
+\x49\xb0\x2e\x07\x8d\xa3\x74\xfc\xc5\xaf\x7c\x6c\x52\x1d\xe9\xf6\
+\xe2\xad\xcd\xb1\xa6\xc1\xd3\x9e\xf2\xad\x40\x3f\x4b\xe7\x21\x9c\
+\xe7\x55\x83\x8b\xa2\x9a\x61\xab\x7a\x12\xa9\x4c\x61\xe6\xd2\xfd\
+\xcf\x28\xc7\xed\xe3\x6b\x79\x40\x0c\x68\x26\xc5\xac\x21\x91\xf8\
+\x08\x21\x86\x44\x10\xda\x21\xbb\xb3\x9e\xcb\x98\x28\x8a\xb2\xf5\
+\xb5\x91\x51\xed\xc1\xcc\xde\xa2\x20\x04\xfe\x8b\xf7\x7c\xf2\x3d\
+\xef\xf9\xab\xce\xec\xfe\xba\xa8\x66\x66\x5b\xbe\x5c\x3d\x7a\xfc\
+\xf6\x28\x01\x18\xb6\x86\xf7\xa8\x4a\x94\xb9\x25\x02\x00\xeb\xf2\
+\x38\x21\x4c\xb3\x30\x70\x6e\x78\x9d\xce\xff\x4e\x9e\x77\xf0\x7c\
+\x40\xa4\x95\xc7\x6a\x50\xc7\x8f\xac\xdc\x9a\xb5\x51\x16\x52\x8c\
+\x93\x1b\xae\xfd\x8e\x5e\x74\x39\xd0\x86\xe8\x3c\xdf\x26\x95\x83\
+\x27\xa0\x35\x87\xb5\x80\xed\xca\x6e\x02\xce\x83\xaf\xb8\xec\xfa\
+\x03\x17\x3d\xe5\xde\x7b\x0e\x7b\x21\x00\x4a\x29\xc5\x1a\x62\x82\
+\xd7\x12\x62\x88\x79\xd4\x23\xb0\x80\x05\x1c\x84\x80\xa8\xdb\x9d\
+\x1b\xcc\xee\x3b\x76\x7c\x33\x6b\x25\x22\x78\xe5\x2b\x7f\x82\x90\
+\x4c\xf2\xaa\xdd\xeb\x9c\x38\x78\xcf\xdf\xfe\xe3\x87\x5b\x5d\x24\
+\x29\x2a\xeb\x59\x41\x69\xc4\x31\xda\x6d\x03\xc0\x96\x65\x1c\x01\
+\xa8\x76\x92\xde\xe4\x8c\x40\xfd\x9a\xfa\xe4\xf9\x0e\xfe\x3d\xde\
+\x8b\x91\xe2\x04\x08\xb9\x3d\xf4\x4f\xb7\xbd\x7f\x6e\x91\x47\xe3\
+\x75\x96\xd9\x8b\x16\x9f\xb5\xb7\xff\xf4\xa2\x4a\x81\xa8\x2c\x47\
+\x49\xe6\xd2\xb4\x1c\x57\x0f\x4e\xdc\x83\x47\x4f\xdd\x76\xfb\x57\
+\xff\x76\x54\x1c\x3c\xb1\xf1\x55\xa0\xea\x46\x9d\x1b\x6e\xb8\x61\
+\x75\x75\xd5\x87\x02\xa8\x58\x57\xac\x2d\xe0\x44\x44\xc4\x13\xc9\
+\x59\x5b\x29\x8d\xce\xa9\x21\xc6\x59\x4a\xe2\x4e\x1c\x75\x03\xf4\
+\xd2\xf2\x3c\x02\x5a\xed\x27\x75\xba\x0b\x46\x27\xdd\x4e\x6b\xbc\
+\x7e\xf4\xf7\xff\xe8\x3f\x7f\xd3\xcd\x4f\x61\xd8\xdc\xae\xa7\xc6\
+\x69\x0d\x06\xbc\x45\xf0\x28\x0b\x6b\x92\x88\x8d\x4c\xf2\xed\x5d\
+\xbb\x44\x8f\x41\x7f\x17\xb4\x91\xae\x21\x3a\xd0\x46\x1d\x8e\x4e\
+\xec\xfd\x71\x5d\xf5\x7b\xf3\x9b\x2b\xb3\xdf\x72\xe3\xcb\x7d\xd8\
+\x9b\x46\x7d\xc0\x26\xa9\x2f\xec\xc9\xd4\xd4\x5f\xb8\xf3\xfd\xd6\
+\x6f\x7a\x9a\x48\xa0\xb5\x8d\x47\xf2\xb1\x94\x65\x79\xc5\x15\x57\
+\x5c\x77\xcd\x75\x3f\xfc\xb2\x97\xfe\xdd\x67\x3f\xf2\xad\xcf\xfb\
+\x8e\x88\x2c\x78\x2c\xa1\x64\x16\x16\xe3\x5c\xa5\x98\x6c\xed\x84\
+\x42\x9a\xc5\x5a\x6b\x67\x43\x65\x9d\x04\x6a\x77\x06\x8a\x5a\x01\
+\x46\x80\xe1\x36\x5e\xfd\xaa\x9f\xad\x6a\x90\x92\x38\xd1\x5b\xa7\
+\x0e\xbd\xed\x37\x7e\xf9\xd5\xaf\x7a\x09\x60\xab\xb0\x1e\x19\xec\
+\x38\x60\x8d\x36\x90\x80\x24\x31\x20\x07\x48\x2b\x6b\xef\x82\x6d\
+\x57\xa2\xa7\xf7\x4a\x3d\x61\xdc\xf2\x3c\xba\xc7\x04\x5e\x64\x6d\
+\xf3\x41\x36\x9b\xac\xd9\x7b\xec\x5d\x7c\x9a\xc2\x25\x90\xb6\x78\
+\x90\x09\xc0\x98\xcd\xd6\x43\x27\xef\xb0\x72\x18\xba\x84\xb8\xc9\
+\xc4\xee\x5d\x9a\x7f\xe6\x33\x6f\xb4\x36\x3c\xf4\xe0\xc1\xcf\xfd\
+\xf3\xa7\x3b\xed\xd9\x17\x3c\xef\xf9\x2b\x5b\x87\x7a\xbd\x4e\x92\
+\x44\x55\xed\xe3\x28\x19\x0f\x6b\x6d\x52\x45\x4c\x14\x05\x88\xb3\
+\x28\x8b\x32\x78\x8a\xe2\x56\xab\xd3\xd3\xa6\x6b\x54\xa7\x89\x23\
+\x7e\xf8\xc3\x9f\xfc\xcb\xbf\xfe\xb0\x90\x0a\x90\x7c\xeb\xd8\x6b\
+\x7f\xf2\xb5\x3f\xf1\xaa\x1f\x22\x60\x58\xac\xf5\xd3\x08\x08\x79\
+\xbd\x9d\x28\x16\x62\x4d\x8a\xce\xa4\x91\x35\x31\x3d\x05\x68\x11\
+\xa9\xaa\xca\x5a\xab\xb5\x4e\xd3\x58\x29\xf5\x0d\x40\x79\x02\x08\
+\x88\xd4\xf1\x95\x87\x4d\x52\xb1\x32\x55\x2e\x4f\xb9\xea\x46\xf8\
+\x36\x9a\xb8\xb9\x71\xc0\x08\x58\xbf\xef\xa1\xcf\x72\xb4\x61\x8c\
+\xd9\x38\x69\x5f\xf8\x82\xef\x9f\x37\xfb\x73\xf8\x44\xeb\x67\x5f\
+\x77\x73\x0e\xfb\xd5\xaf\x3e\xf8\xa9\xcf\xfe\xe3\x0b\x9f\xf7\x22\
+\x00\x23\x8c\xea\xb2\xde\x5a\x1f\x2e\x2d\x5e\xe4\x5c\xb0\x55\x1d\
+\x42\x00\xc0\xac\x93\x38\x35\xba\x95\xb5\xba\x1a\x69\x61\x19\x4a\
+\x03\xb8\xed\x8e\xc3\x3f\xf2\xc3\x3f\x32\xb7\x74\x60\x38\x9c\x94\
+\xc5\xe8\xa7\xdf\xf0\xfa\xff\xfd\xe7\x5e\x3b\x37\x00\x80\x5e\xda\
+\x26\xd4\x00\xa7\x51\x4b\x4f\x1d\xe2\xf0\x1e\x10\x61\x15\xb4\xd1\
+\x4c\x1c\x82\x66\x02\x81\x92\x38\x49\x92\x04\x40\x03\x64\x92\x44\
+\x4f\x88\x4b\xec\x7c\x47\x15\x14\xd3\xf6\x70\xb3\xb7\x10\x07\x2f\
+\x65\x51\x0f\x7a\xcb\x70\x40\x68\x02\x66\x0e\x28\xc6\xf6\x78\x5e\
+\x1d\x9f\xe9\x10\x41\x5d\xb2\xff\xfa\xae\xb9\x04\x68\xe5\xc5\x26\
+\x33\xa2\x38\xce\xd0\xbf\xf1\x49\x7b\xd6\x46\xdb\x7f\xff\x99\x5b\
+\x9e\xfd\xec\xe7\x76\xcc\xf2\xa6\xad\x17\xe6\x97\x8b\xa2\x2a\xcb\
+\x5c\xb3\x0a\x21\x28\x65\x92\xb8\xd5\x69\xcd\x11\x12\x81\x09\x88\
+\x9b\x48\x97\xf3\x78\xd6\x33\x9f\x1b\xb7\x7b\x65\x95\xd7\x65\xf1\
+\x93\x3f\xf5\xfa\xdf\x7c\xe7\x6b\x8d\x41\x31\x76\x59\x9b\x08\xbc\
+\x3e\x1a\x33\x73\xaf\x35\xdb\x24\x59\x6b\xdd\xdc\x15\x81\x34\x48\
+\x4b\x03\x4b\x93\x9f\xdb\x58\x7a\x04\x62\x8a\xa2\x68\x57\x1a\xea\
+\x85\x4a\x79\xd4\x24\x86\x08\x42\xac\xb9\x5d\xbb\x8a\x58\x80\xaa\
+\xae\xa1\x04\x2a\x82\x75\x95\xd1\xd5\x89\xd5\x07\xd3\x16\x04\xbe\
+\x2e\xf8\xd9\xd7\xbd\xc8\xda\xb9\x61\x31\x56\x7a\x8e\x83\x7e\xf8\
+\xf0\x3a\x21\xba\x7c\xff\x55\x73\x9d\xd9\x17\xdc\x7c\xe9\x97\xbf\
+\xf2\xd5\xbd\x7b\xf7\xee\x5f\xba\xe6\xd8\xc9\xc3\x51\xac\x45\x84\
+\x99\xe3\x38\x8e\xa3\x2c\x89\xbb\x84\x04\x88\x43\x30\x65\x8d\x28\
+\x02\x02\x0e\x5c\xfc\xcc\x6e\x6f\x0e\xa0\xe1\xfa\xa9\x37\xfc\xe2\
+\x1b\x7f\xe9\x8d\xaf\x8f\x0d\x08\x08\xbe\x66\x64\x40\xdc\xcd\xe6\
+\x8d\x8a\x00\x5d\x14\x4e\x2b\x56\x3b\xfb\x21\x01\x75\x0d\x6b\x11\
+\x69\x24\x11\x88\xa0\x15\x42\x00\x08\x4c\xa7\x93\x79\x9f\x60\xfc\
+\x1e\x77\xca\xf3\xde\x31\xfb\x6e\x7b\x29\xb8\x5a\xc4\xb6\xdb\x19\
+\x90\xab\xa8\x96\x2a\xda\x71\x8e\xc8\xf1\x13\x87\xb2\x96\x29\xca\
+\x51\xb0\x51\x8a\x8b\x60\x96\x6d\x79\x74\x34\xdc\xc8\x32\xda\xb3\
+\x7c\x71\x3e\xa9\x0e\x1e\x39\x32\x3f\xb7\xa7\x2c\xdd\xf5\x4f\x7e\
+\x5a\x40\xf8\xf2\x3d\x77\x2d\x2e\xf5\x95\xae\x92\x94\x82\xb3\x49\
+\xd2\x69\xc5\x3d\x20\xf6\x81\x45\xb4\x62\x24\x11\x04\xb8\xf9\x9b\
+\xfe\x7d\x5e\xd4\xa3\x8d\xb5\xa8\xd3\xfd\xb5\xdf\xfa\xad\x57\xbd\
+\xea\xe5\xdd\xee\x54\xf7\xe8\x76\x32\x08\x6c\x0d\xad\x33\x12\xac\
+\x6f\x54\xb3\x33\x31\x04\x01\xb0\x0e\x12\xc0\x8c\x28\x42\x14\x41\
+\x09\x08\xb0\x16\x4a\x35\x95\x12\x00\x50\x95\x3e\x4e\xd4\x85\x2e\
+\xf3\x10\xc0\x15\x41\x16\xe6\x2e\x59\xd9\x38\xe5\x64\x34\x98\x49\
+\x05\x1b\x4a\x8f\x24\x0c\x40\x30\x2a\x02\x30\x99\x6c\x0f\xda\x0a\
+\x21\xee\x75\x96\x81\xec\xe4\xea\xf6\x38\x1f\xa5\x6d\x2d\x70\x45\
+\xb9\xc5\x5a\xb7\x3a\x7a\x63\xeb\x58\xbf\x37\x77\xe4\xc4\x03\x4b\
+\x4b\x4b\xd7\x5d\x73\xe9\x03\x87\xbf\x04\xb5\xbd\xbc\xbc\xb4\xbd\
+\xee\x7c\x6d\x2b\x55\x6b\x8e\x99\x0d\x40\x08\x70\x16\xff\xe9\x77\
+\xff\xfb\x3f\x7d\xf6\x96\xfd\x97\x5e\x19\x02\xde\xf2\xcb\xbf\xf4\
+\x33\x3f\xf3\xb2\x40\xb0\x16\x10\xc7\xc1\xea\x28\x85\xc0\x68\x0d\
+\xa0\x2e\xd1\xcd\xe2\x8f\x7d\xf4\xb6\xb5\x53\x1b\x0f\x3d\x72\xe8\
+\xfe\x07\x1e\x3e\x72\xf8\xc4\xda\xc6\x76\x59\x38\xf1\x76\xd0\x8f\
+\xf7\xef\x5f\xba\xf1\xc6\xa7\x3e\xf7\x79\xcf\xba\xfe\xfa\x6b\x67\
+\x07\x1a\x80\xd6\xdf\x08\x0a\x0b\xa0\x94\x06\xcc\x6c\xef\xc0\xb1\
+\x95\xbb\x1d\xb9\x24\xd5\x05\x8a\x0c\x81\x14\x9c\x85\xd6\x11\x10\
+\x37\xfe\x91\xc8\xb4\xe7\x07\xfb\x81\x24\x4d\x4c\xd6\x5e\x10\x1e\
+\x6d\x0d\x4f\x30\x23\x4b\xfb\x21\x38\xa5\xd9\xfa\x3c\x4e\xc3\xa1\
+\x23\xf7\xa4\x99\x9e\x5f\xe8\x14\x95\xcb\xf3\xc2\x98\x6c\x52\x16\
+\xa3\x5c\xb2\x84\xfb\xbd\x59\x08\x36\xb7\x71\xf4\xe8\xe6\x5b\xde\
+\xfc\xcb\x59\xa7\x77\xf8\xe1\xfb\xfe\xf1\xf3\x9f\x7f\xc6\x33\xf7\
+\xe4\x39\xd2\x16\x84\x41\x41\xeb\x48\x43\x70\xcb\x67\xef\xfe\xc2\
+\x17\x6f\xff\xec\x67\xff\xe9\xa3\x1f\xfb\xb8\x52\xc6\xfa\x20\x22\
+\x02\xf6\xa2\x00\x05\x89\x40\x9a\x24\x1c\x3d\x3a\xbe\xf7\xfe\x87\
+\x3f\xf4\xb1\x4f\x3b\x37\x06\xf8\x05\xdf\xfa\xfc\x9f\xfc\xc9\xd7\
+\xbc\xf8\xfb\x9e\xeb\xa7\x7c\x93\x77\xdc\xef\xd8\xf1\xf2\xf0\x05\
+\x03\x1e\x43\x34\xa8\xb5\x67\xe6\x29\xff\x34\xfc\x58\x7f\x4f\x7a\
+\xf2\xe4\x89\xeb\x96\x97\xbd\xcf\xd4\xb4\x5e\x2b\x03\xda\x4a\xb1\
+\xf3\x79\x55\x1a\xa3\xbb\x80\x31\x26\xde\x18\x6e\xab\x68\xac\x35\
+\x98\x39\x8e\x93\xb2\x28\x08\x54\xd7\x25\xa9\xb2\xd3\x03\x2b\x5f\
+\xd7\x9e\xc2\x8c\xb3\xd4\xee\x76\x56\x56\x37\x18\x7a\x71\x71\x10\
+\x80\xa2\x40\xb7\x87\xa7\x2f\x3d\x9d\x95\x12\x5f\xdf\x76\xfb\xad\
+\x4f\xbe\x7e\x1e\x82\x34\x06\x07\x9c\x5c\xc5\x47\xff\xe6\xef\x3e\
+\xf4\xa1\x8f\x7c\xf2\x93\x9f\x9c\x4c\x8a\x2c\xcb\x42\x08\x1e\xa9\
+\x8e\xd2\x4c\x6b\xef\x83\xb5\x1e\x9e\x20\x8a\x59\x6b\x95\x28\x45\
+\xdb\x43\x89\xba\x33\xc5\x30\x37\xc9\x1e\x3b\x19\x7f\xea\x73\x07\
+\x3f\xf5\xa9\x9f\x7c\xda\x73\x6e\xf8\xcc\x67\xfe\x14\x02\x45\xd0\
+\x80\x38\xa7\x15\xd7\x93\x71\x94\x65\xe7\x94\xfe\xfd\x5b\xd7\x36\
+\x15\x60\x9c\x44\x7b\x96\xae\xd8\xaa\x1e\x21\x21\xc0\x28\x36\x68\
+\xa4\xbe\x30\x28\x8a\x4c\x0a\x94\x8a\x23\x82\x02\x02\x73\x60\x86\
+\x52\x90\x00\xeb\xea\xaa\xb4\x12\xa0\x94\x06\x55\x22\x16\x5c\x07\
+\x21\x42\xc2\x94\x92\x32\xa7\xd6\x87\x7b\xf6\xee\xdf\xde\x74\x80\
+\x29\x2a\x29\x2b\x5a\x58\xb8\xcc\xd6\xc5\xc2\xe2\x9e\x63\xc7\x6f\
+\x6d\xee\xe0\xbe\xfb\x36\x3e\xf6\xb1\x8f\xbf\xe3\xd7\xdf\x09\xa8\
+\xed\x61\xed\xad\x03\x04\xa4\x6b\xe7\xbd\x78\xf1\xc1\x05\x2f\xb6\
+\x04\x00\x4e\xb5\x89\x49\x50\x59\x5b\xfa\x11\x10\xd2\xde\xa0\xb0\
+\x41\xea\xb0\x7c\xe9\xe5\xeb\x6b\x5b\x93\x8d\xb5\xd6\xfc\xc2\xed\
+\xb7\x7c\xa9\xd5\xb9\x61\x38\xbc\x53\x01\xd6\x23\xd1\x3a\xd4\x55\
+\x94\x66\x62\x2d\x45\xf1\x05\x65\x2a\x00\xf0\x5e\x2e\x39\x70\xe5\
+\xad\x77\x7f\xd6\xfb\xc6\x8f\x6c\x01\x4d\xc4\x8d\xa1\xd4\xca\xe6\
+\x6c\xc8\x59\x89\xf3\x79\x93\xdf\x4e\xec\x9b\xf4\x59\x67\xbd\x33\
+\xb5\xd2\x9a\x09\x02\x02\x11\x84\x45\x40\xd4\xe4\xd7\x1a\xad\x92\
+\x72\xe2\x35\x45\x55\xe5\xd3\xd8\x7c\xfb\xb7\x7c\x5f\xa4\xe3\xd7\
+\xff\xdc\x4f\xbf\xf3\x9d\x3f\x03\xc1\x9b\xde\xf4\x3b\x7f\xfd\x37\
+\x7f\x79\xdf\x7d\xf7\x41\xa4\xdf\x1f\x6c\x6d\x6d\x0f\xe6\xf6\x5c\
+\x76\xc5\x53\xae\xba\xe2\xb2\xb9\xc5\xf9\xa5\xf9\x85\xbd\xfb\xf7\
+\x2e\xce\xcd\xeb\x38\x9a\x9b\x99\xb5\x41\xea\xa2\xda\xd8\x1a\x9e\
+\x3c\x7e\xf2\xe0\xa1\x23\x27\x8e\x1e\x5f\xdb\xda\xfe\xe0\xfb\x3f\
+\x00\x41\x67\xee\xa2\xc3\xf7\xdc\x09\x95\xc1\x07\xef\x3d\xb5\x67\
+\x64\xbc\x72\xd1\xbe\x67\xaf\x1c\xfb\xbc\x56\x98\xe4\x75\x1a\x33\
+\x20\xd4\x24\x01\x5c\x58\xe0\xb1\x52\x66\xae\xbb\xb7\x9d\xee\x5b\
+\x59\x59\x11\x58\x42\x05\xc4\x3b\x46\x14\xcd\x74\xf7\xad\x6c\x9c\
+\xf4\xde\x8e\x26\xab\x40\xc5\xca\xf8\x50\xc3\xd7\xda\xa8\xc6\x97\
+\x61\x8c\x71\xce\x11\x11\x31\x0b\x94\x08\x85\x00\x0a\x02\xf2\xdd\
+\xac\x7f\x6a\x7d\x78\xd9\xc5\xd7\x00\xf1\xab\x7e\xfc\x0d\x9f\xbf\
+\xe5\xb3\x7f\xfe\xe7\x1f\xb8\xea\xaa\x27\xdd\x78\xe3\x8b\xbe\xf4\
+\xa5\x5b\xbb\xbd\xfe\x78\x3c\x7c\xc9\x4b\x5e\x7c\xc3\x0d\x37\xbc\
+\xe2\x15\x3f\xb4\x77\xef\x0c\x80\x38\x01\x01\x79\x09\xf1\xc8\xda\
+\x20\x20\x08\xc4\x37\x31\x0d\x08\x16\x49\xae\xb0\x1e\xde\xc2\x79\
+\xfc\xc5\xff\xfb\xf6\xbf\xfe\x9b\xbb\x7f\xf8\x95\xaf\x82\xe6\xfe\
+\xfc\x9c\x75\x61\xb2\xb1\x41\xa9\xee\x2d\xed\xdf\x3e\x7e\xff\x1f\
+\xfc\xc1\x7b\x5f\xf9\x43\x2f\x99\x9b\x89\x18\x80\x38\x71\x8e\x4c\
+\x74\x41\x81\x67\x6d\x6d\x4c\x0a\x74\x97\x17\xae\x3d\x71\xb4\x18\
+\xd5\x9b\xdd\x68\x0e\xe8\x9c\xe6\xab\xf3\x83\x4b\x8e\xaf\xde\xe3\
+\xc3\xe6\xd6\x70\x05\x98\x18\x95\x02\xce\xda\x2a\x8a\x52\x63\x62\
+\x00\x22\x5e\xc4\x13\x07\x66\x2d\x80\x77\x21\x78\x46\x10\x22\x8c\
+\xca\xfc\xb2\x8b\xaf\x2c\xaa\xfa\x0f\xfe\xf3\xff\xf5\xee\x77\xbf\
+\xe7\xcd\x6f\xf9\xe5\xd7\xbc\xe6\xd5\xc3\xe1\xf0\x7b\x5f\xfc\x5d\
+\xaf\xf8\xa1\x97\xfe\xe8\x8f\xbe\x72\x76\x36\x25\x06\x33\x56\x4f\
+\x4e\x92\x74\xea\xa7\x64\x41\x96\x9d\xa9\xd6\x75\x01\x91\x41\x00\
+\x58\x10\x08\x2c\x30\x8c\x58\x23\x00\x42\xf8\xf6\x17\x5e\xbb\xb9\
+\x76\xcb\xdc\xdc\x73\xb7\x4e\x1c\x4c\xfa\x7b\xd3\xfe\x4c\x08\x7e\
+\xfb\xf8\xd1\x8b\xae\xbc\xee\x6d\xbf\xf2\x1b\xaf\x7b\xed\xbf\x9b\
+\xe6\xb2\x90\x04\x82\xba\x90\x28\x4f\x42\xf3\x44\xca\xc1\x2c\xcf\
+\x3f\x79\xb6\xb7\x76\xf2\xe4\x4a\xf7\xa2\xfd\x53\xe7\x19\x07\x88\
+\x9e\x6d\x1d\xa0\xd0\x01\xd6\x8b\x6a\xa3\xc2\x56\x8c\x76\x14\xab\
+\xbc\x08\x22\xc2\xac\xbd\xf7\x2e\xd4\x44\x3b\xa5\x3c\xa2\x00\x26\
+\x62\x66\xa3\xd8\x2c\xcd\x2d\x6d\x4d\xc6\x87\x1e\x39\xfe\xb6\xb7\
+\xbd\x6d\x79\x79\xff\xa7\xfe\xe1\x13\x7f\xfb\xf1\x0f\x5d\xfd\xa4\
+\x2b\xd2\x14\x7a\x87\x87\xad\x6f\xac\x0f\x66\x07\x0b\x8b\xad\xba\
+\xac\x9d\xaf\x99\x11\x69\xa3\x8d\x21\xc0\xd9\x92\x89\x22\x6d\x20\
+\x04\x88\x08\x8b\x88\x0f\x14\x84\x7c\x40\x80\x54\xd6\xb7\xda\x26\
+\x04\x3c\xf8\xe0\xe7\x2e\xbf\xf2\x85\x4c\x34\x59\x5f\x47\xda\x5e\
+\xba\xe4\xea\x23\xf7\xdf\x05\x8c\x15\x63\x6d\xad\x98\x9f\x4b\x6d\
+\x5d\x27\xe7\x51\xe0\x9d\x0f\xf0\x9c\x73\x26\x36\x40\x10\x9f\x74\
+\xcc\xa5\x17\xef\xdb\x3c\x7e\xfc\xe1\x2b\x2e\x72\xd3\xa8\x34\x20\
+\xc2\x86\xe6\x14\xf5\xa3\x28\xaa\xab\x6a\x65\xed\xe1\x8b\xe7\xe6\
+\x92\x54\x17\x25\x89\x28\x02\x88\x28\x88\x67\x45\x68\x6a\xec\x82\
+\x48\x50\x8a\xe3\x24\x4a\xe3\xa8\x2d\xf0\xe3\xe1\xd6\x0f\xff\xfb\
+\x57\xfc\x3f\x7f\xfa\x5f\x5e\xfc\xbd\x3f\x60\xb4\x52\x0a\x02\xf8\
+\xe0\x18\xd8\x1e\xad\x09\xfc\xfc\x6c\x7f\x5c\x9c\x4c\xe2\x76\x92\
+\x68\xc2\x69\xb1\x64\x01\x61\x76\x46\x69\xc0\x06\x11\x66\x26\x52\
+\x0c\x02\xef\xf8\xc5\x44\x22\x43\xe3\x51\xd1\x6a\xa5\x73\x03\x2c\
+\x2d\xcc\xe6\xb9\x2a\xca\xd0\x6e\xb7\x47\xc3\xa2\x3d\xd8\x3b\x1e\
+\x1d\xbd\xeb\x2b\xab\xd7\x5f\xb7\x50\x3b\x89\xa2\xb4\xb2\x65\x6c\
+\x92\x0b\xc9\xc3\x22\x06\x2c\x22\x4c\x31\xa0\x97\xe6\xaf\xbc\xe7\
+\xde\x3b\x76\x7b\x95\x82\x67\x70\x47\xa1\xc7\x51\x12\x42\xbe\xb2\
+\xfa\xc8\xfe\xb9\x27\x6b\xcd\x44\x0a\xc2\x44\xac\x14\x98\xa7\xb1\
+\x50\x11\x09\xbe\xd9\x53\x93\x24\x49\xc4\x51\x2d\x75\x92\x98\x3b\
+\xef\xbc\x95\xc8\x30\x68\x3c\x19\xd7\x75\x99\xb5\xe2\x8d\xcd\x95\
+\x56\x3b\x72\xa1\x1a\x4f\x86\x95\xdd\xd4\x2a\xda\xdc\x5a\x09\x01\
+\x9d\xb4\xd7\xca\xda\x51\x14\x85\x10\x98\xd9\x28\x05\x48\xe3\x66\
+\x43\xd3\x59\x60\x6a\xab\x79\x00\x44\x81\x28\x74\x3b\x71\x5d\x83\
+\x15\x5e\xfa\x92\x97\xfc\xf6\x6f\xfd\x7e\x6f\xee\x92\xed\xe1\x18\
+\xd5\xb0\xb7\xd0\x01\x6b\xa3\x63\x01\x9a\xae\x12\x74\x7e\x8d\xf7\
+\xc7\x1d\xbc\x24\x8d\x6d\x55\x9b\x98\xbd\x65\x15\xb5\xb3\x64\x71\
+\xa6\xbf\x60\xe1\x8c\x4c\x8b\x01\x98\x8c\x20\x3c\xeb\xa6\x17\x7c\
+\xe8\x1f\xfe\xa1\xdd\x31\x27\x57\x0f\xb9\x6b\x26\x29\xb5\x43\x08\
+\xce\x49\x1c\x45\x79\x9e\x47\xb1\x0a\x62\x1b\x09\xa5\x94\x81\x28\
+\xe7\xdc\xe6\xe6\x26\xb0\xc9\xda\x80\x78\x63\xeb\x84\x04\x15\x42\
+\x93\x30\x1d\x4a\xeb\xc0\x55\x51\x79\xa5\x25\x6d\xf9\x10\xc6\x95\
+\x83\x8e\x14\x21\xaa\xaa\x82\x49\x29\xa5\x8c\x89\x76\xc8\x2b\x88\
+\x10\xd1\x63\xc7\xc1\x6b\x9b\x47\x86\x95\x8a\x01\xf4\xba\x6d\x80\
+\x26\xa3\xb1\x02\xab\x56\xbb\x2c\x4b\x84\x70\xf5\xd5\xbd\x49\x0e\
+\x63\xbc\x36\xa2\x88\x2f\x28\xf0\x10\x60\xa2\x08\xf0\xde\x0b\x44\
+\x1b\xdd\x5b\x9c\xbf\xb8\x2c\xbd\x89\x9b\x78\x19\x33\x47\x04\x62\
+\xb4\x8c\xce\x88\x1c\xb1\xad\x64\x68\x28\x8b\x4c\x22\x41\x85\xc0\
+\xcc\x2c\xe2\xcf\x2e\x78\x60\x08\x35\x1e\x0d\x41\x05\x82\x88\x12\
+\x28\x62\x82\x04\xc0\x83\x6a\x62\x07\xb2\x01\x5e\x20\x20\x56\x5a\
+\x11\x09\x07\x53\x7a\x2b\x42\xbb\x32\xbd\x84\x60\x88\xbf\x66\x2d\
+\x50\x64\xe2\xb2\x2c\x92\x38\xae\x2d\xee\xba\xeb\xce\xde\xcc\x2c\
+\x71\x56\x54\xb5\x36\x34\x19\x6d\xc2\x95\x00\xda\x19\x18\x0a\x70\
+\x93\xc9\xa8\xdb\xea\x5f\x48\x6c\x13\xaa\x29\x0f\xa6\x86\xd4\xcc\
+\xc5\x17\x3d\x29\xcf\xc7\xed\x88\xa7\xf1\x69\xd2\x00\x34\xd2\x2c\
+\x9d\x01\x6f\xb1\xf6\x93\x7c\xb3\xd5\x9a\x8f\xe3\xb4\xcc\xd9\x3b\
+\x30\x73\x08\x8e\x94\x9f\xea\x38\x67\x42\x16\x1e\x08\x12\x1a\x46\
+\xa7\x89\x08\x60\xa2\x00\xf2\x20\x47\xec\x82\x54\xc1\xbb\x26\xd4\
+\xa7\x98\x08\x0a\x0c\x22\xd5\xbc\x9b\x1a\x68\x09\x4d\xdf\x01\x3a\
+\xbb\x99\xd2\x99\x9e\x10\x22\xd4\xdc\xa1\x52\xf8\xe4\x27\x3f\xb9\
+\xbd\x5d\x47\x09\xbc\xf7\x55\x91\xeb\x54\xbd\xe0\x05\xdf\x53\x94\
+\x68\xa5\xcd\xad\x49\x9a\xa6\xe7\x93\xf2\x1e\xf7\x8c\xe9\x9d\x62\
+\xd7\x10\xc7\xb1\x04\x00\xc8\xe2\x05\xa3\xfa\x72\xba\x6c\x9f\x34\
+\x44\x13\xe2\x76\x36\x20\x44\xcc\x28\xab\x51\x40\x88\x4c\x2a\x41\
+\x79\x47\xcc\x5a\xe0\xcf\x4d\x26\x9f\x96\x25\x38\x81\x13\x38\x11\
+\x0b\xf2\x20\x4b\xec\x88\x7d\x43\x76\x80\x03\x39\x22\x21\x22\x11\
+\xf1\xde\x5b\x6b\x4d\x1c\x69\x63\xb4\x8a\x9a\xf2\x5c\x1f\x78\xa7\
+\x8d\xcb\xae\x84\x3e\xe1\xdd\xfd\x7e\xa2\x38\x1b\x8e\x02\x80\xd1\
+\x68\x04\x12\x86\x37\x86\x5b\xbd\x96\x1b\xaf\xfd\xd2\x9b\x7e\xde\
+\xd6\x60\xc0\x5a\x17\x9c\x33\xac\x2f\x20\xf0\x9a\xea\x64\xc0\x7b\
+\x4f\x24\xc4\xa8\x4a\x07\x64\xad\x74\x61\x57\x9b\x15\x16\x01\xa0\
+\xdb\xd9\xbc\xf8\xb8\x81\x64\x87\x37\x2a\x88\x3a\xc3\x7f\xcf\xaa\
+\x04\x68\xfe\x4c\x44\xbc\xc8\xae\x8c\x4d\x0a\x44\x20\x92\x69\x78\
+\x9d\x34\xb3\x26\xe8\xe0\xd9\x59\x72\x56\xb2\x2c\x8b\xd3\x04\x44\
+\xd2\x84\x56\x99\x64\x77\x37\x0a\xda\xf5\xb5\x31\x08\xc5\x40\xd8\
+\x3b\xfc\xb7\x77\x7f\x2a\x8a\xa2\x99\x99\x9e\x88\x15\xd8\x76\xcb\
+\x00\xf5\x0d\x4f\x5d\xee\xf7\x20\x01\xae\x2e\x23\xad\x7d\xf0\x17\
+\x14\x78\x44\x0d\xe5\x79\x20\x80\x5d\x08\x01\x41\x6b\x95\x35\xdb\
+\xd3\x3c\x6c\x08\x01\xe0\x34\xe9\x06\xaf\x82\xf8\x24\x89\x19\x5c\
+\xd7\x8e\xc8\x28\x15\x87\x00\x22\x39\x9d\x0a\x7d\x56\x9f\x1b\x72\
+\x44\x44\x74\x96\xb8\x6a\xe0\x6c\xae\xa9\x94\x69\x90\x0b\x5e\x11\
+\x22\xad\xb2\x24\x6d\x19\xa5\x04\xa1\xe9\x70\xc5\xcc\xbb\xdb\xc4\
+\xed\x6a\x5a\x11\xa6\xed\x7b\x48\x3b\x8f\x6e\x9f\x7f\xe7\x77\xfe\
+\x53\x9e\xe7\x45\x51\x54\xf5\x44\x1b\x39\x79\xe4\xc1\xb7\xbd\xe3\
+\xd7\x93\x78\xfa\x8c\xed\x2c\xdd\xf9\xd0\x05\x04\xde\x0e\xfd\x35\
+\x1d\xc5\x7c\xd2\xc4\x49\xe5\xf4\x46\x9f\x06\x0f\x91\x69\x7b\x87\
+\x10\x42\x2b\x4d\x09\x54\x95\x35\x41\x29\x36\x8d\x4e\x7f\x4e\x4d\
+\xce\x6e\x42\x24\x22\xda\xe9\x60\x25\x81\xa6\xfa\x88\x50\x43\x73\
+\x80\x0e\x5e\x41\x4c\x64\xba\xed\x56\x4f\x93\xde\x9d\x02\x7d\x56\
+\x96\xf5\x99\x77\xd8\x79\x03\x04\xc5\x78\xe4\xe0\xe4\x81\x87\x0e\
+\xea\xc8\x38\x5f\x67\x9d\x96\x52\x14\xb7\x5b\xbf\xf8\xc6\x1f\x04\
+\x61\xb4\xed\x14\x81\x88\x7c\x5d\x2b\x7d\x61\xb1\xcd\x46\xa7\x63\
+\x25\x65\x5d\x00\xa1\xd1\xa5\xbd\x3d\x0b\x08\x41\x09\x04\xc5\x49\
+\x70\xa9\xb8\x34\x46\x17\xe0\xda\x56\xc4\x9e\x95\x0b\x21\x10\x0c\
+\xc4\xec\xa4\xd8\xf2\xae\x9a\x04\x9e\xaa\x1b\xa7\x19\x69\xa3\xc5\
+\x88\x10\x29\x82\x26\x32\x12\x1a\xf0\x92\x48\x77\x5a\x59\x1f\x20\
+\xc0\x85\xe0\x20\xc2\x60\x3e\xab\xc2\x20\xf0\xb4\x88\xde\x9f\xee\
+\x05\x11\x04\xc3\x09\xde\xf8\xa6\xb7\x55\xa5\x8f\xe3\x94\x08\xad\
+\x34\x1a\xae\x1d\x79\xc7\xaf\xbf\xdd\x3b\x28\x41\xbf\xa7\x01\x48\
+\x70\x2a\xd2\xf0\xf6\x02\x32\x15\xc8\x81\x4a\xa0\x26\x48\x12\xa5\
+\x53\x0d\x80\xa0\x0c\xbc\x07\x00\x52\x00\x59\x87\x49\x84\x6a\x38\
+\xaa\x99\x06\x33\xbd\x81\xc1\xa2\x07\x7c\xc8\xa3\xb4\x23\xa8\xeb\
+\xba\xec\x74\x66\xca\x8a\x8d\xd1\xce\x79\xef\x45\x1b\xb2\xd6\xfb\
+\x60\xd3\xa4\xe5\x1d\x4f\x37\x59\x1a\x29\xe8\x9a\xc2\x1e\x63\x34\
+\xa0\xbc\xe3\xe0\xb4\xa2\x34\x8e\x3a\x49\xdc\x63\x44\x40\xad\xc0\
+\x8a\xe3\xa6\x13\xe4\xb4\x7f\x0e\x01\x70\x0c\xbb\xb5\xbd\xd6\xef\
+\xcd\xac\x6f\x6d\x0c\xfa\x8b\x80\xb1\x1e\x02\x8c\x26\x78\xdf\xfb\
+\x3f\xda\xed\x0d\xaa\xca\xda\x62\xb4\x66\x27\xb3\x73\x83\x9f\x7e\
+\xfd\x77\x82\xa0\x76\xba\x06\x82\x05\x70\x50\x7c\x3e\x1b\x05\x3e\
+\xde\x64\x2e\x4d\x03\xa2\x26\xaa\x77\x66\x39\x82\x52\xd8\xde\xae\
+\x7b\x33\x11\x50\x08\x8d\x01\x5b\x14\xe3\x7c\x62\xaf\xbd\xea\x7a\
+\x60\x60\x43\x09\x90\x0f\x05\x11\xb1\xf2\xb5\x2d\xaa\xaa\x14\x89\
+\xbc\xf7\x22\xe0\x60\x88\x58\x71\xc2\x14\xd7\xbe\xde\xd1\x53\x1a\
+\x0b\x2f\x48\x90\xa9\xce\x18\x48\x82\x56\x9c\x46\x71\x27\x36\x5d\
+\xad\xe2\x33\x34\x26\x7c\x4e\xcf\xac\xbc\x1c\x65\xa9\x99\xe9\x75\
+\x36\xb6\x57\x07\xfd\x45\x17\x42\x55\xd8\x34\x8d\x9d\xe0\xc7\x5e\
+\xfd\xe6\xac\x3d\x5b\xd5\xb6\xdb\x6d\xd7\x29\xbb\xba\xfe\xd0\xdf\
+\xbc\xef\x4c\xa9\x89\xe0\x51\x95\x12\x17\x88\x9d\x67\x80\xee\x19\
+\xfe\x7c\x76\x77\x31\xa1\x12\xf0\xdb\x93\x95\x5e\x0b\xc0\xe4\xd4\
+\xfa\x23\xad\x56\xb6\x77\xe1\x5a\x60\xa6\x9c\x9c\x62\xe9\x79\x27\
+\xda\xf8\x28\xf1\x2e\x6c\x9a\x24\x44\x91\x38\x07\x67\x85\x28\x82\
+\x68\xf1\x2a\x78\x23\x52\x11\x87\x33\x1d\x6f\x64\xaa\x88\x48\x30\
+\xc1\x2b\x26\x1d\x99\x34\x4b\x3b\x91\x6e\x9d\x31\xf0\x77\xcb\x8b\
+\x9d\xaa\x9f\x2c\xcd\xac\xcf\x49\x61\xa6\xb7\x50\x59\x29\xf2\xaa\
+\xdf\xed\x3b\x8f\x5b\x6f\xdb\xfc\xf8\x47\x3e\x0a\x5f\xf5\xe6\x06\
+\x1b\x1b\x6b\x4a\xe3\x15\x2f\x7f\xe9\x4d\x37\x2d\x4f\x3f\x28\xbb\
+\xc5\x83\x3e\x9f\x6a\xc4\x79\x59\x49\x18\x81\x4f\xab\x07\x67\x4e\
+\x7a\x61\xfb\xfd\xac\xb4\xa3\x5e\x2b\x03\x6c\x8d\xe2\xc8\xd1\x83\
+\xd7\x3e\xf9\x49\x0a\x6a\x38\x1a\x97\x45\x1d\x45\x89\x08\x85\x10\
+\xb4\xd6\x22\x02\xe1\x46\xb1\x14\x21\x09\x44\x4d\x22\xbd\x87\x52\
+\xc4\x4c\x4a\x29\x66\x4d\x30\x84\x98\x90\x20\xc4\x90\x58\x73\x2b\
+\x89\xbb\x69\xda\x89\x74\x72\xda\xe4\x06\x76\x9b\x1f\xa7\xc9\x27\
+\x00\xb0\xd6\x29\x44\xb5\x93\x22\x77\xfd\x6e\x7f\x34\x04\x01\xdf\
+\xff\x92\x7f\xd7\x9f\x99\x6d\xf7\x67\x99\xe1\xeb\x51\x5d\x8d\xfe\
+\xf8\x8f\xde\x5a\xdb\x9d\xbd\xa3\xd3\x76\x61\xd3\xf6\xf3\x42\xf2\
+\x6d\xca\x99\x86\x99\x67\xac\xe0\x86\x24\x23\x00\x3e\x31\x3a\x20\
+\x67\xf0\x17\xee\xb8\xed\xda\x6b\x9e\xba\x3c\xb3\x3c\x71\x27\x46\
+\x85\x23\x92\x38\x89\xea\xda\x39\x27\x1a\xa9\x78\x53\x5b\xab\x28\
+\x0d\x1e\xae\xb6\x6c\x94\x52\x1a\x0a\xac\x42\x03\x89\x4c\xe3\x69\
+\x4d\xf5\x9e\x22\xd1\x9a\xd3\xc8\xa4\x69\xd2\xd1\x1c\xef\x34\x94\
+\x03\x4d\x73\xd9\x77\x4c\xf2\x33\x1d\xae\x83\x13\x9f\x26\x6d\x80\
+\x27\xe3\x71\xaf\x3f\x28\x4a\xb4\xda\x78\xd7\xbb\xde\x7b\x6a\xe5\
+\x38\x60\xfa\x83\xd9\xed\xad\x35\x40\xaa\xfa\xe1\x8d\x4d\xcc\x0e\
+\x76\x3d\xe0\xf4\x1b\xbd\xeb\x28\x5c\x48\xa6\x02\x9d\xf3\x0e\xa0\
+\x60\x0c\x6d\x6e\x6d\x02\x9a\x10\x6d\x15\xd5\xe6\x7a\xfd\xac\x6b\
+\x5f\xe8\xc1\x79\xb9\x19\x68\x4b\x99\x8a\x95\x25\x22\xef\xc8\x5b\
+\x4d\x92\xb4\xd2\xb9\x4e\x6b\x21\x4b\x7b\x91\x49\x59\x11\xc8\x0a\
+\x95\x2e\x4c\x44\x5c\x63\xd5\x79\x27\x21\x30\x42\xcc\x94\x69\xd5\
+\x4a\xa2\x7e\x12\xcd\x68\x6e\x7a\x1d\x53\x08\x53\x83\xe4\xdc\x9e\
+\xe2\x84\x46\x2a\xd7\x75\x0d\xe8\xaa\x0e\x33\xfd\x41\x93\x59\x74\
+\x6a\x15\x6f\x79\xf3\xdb\x95\x6e\x2d\x2c\xed\x29\x8a\x49\x12\xeb\
+\x3f\xfb\xf3\x3f\x03\x21\x49\xcf\x34\x01\x7d\x62\xeb\x2b\xcf\x47\
+\xc6\xf4\xd9\xad\xdd\x4f\x37\xb2\xe5\x99\xfe\x60\x6d\x63\x65\x6e\
+\xb6\x77\xdf\x3d\x27\xbe\xf9\xe6\x97\xd6\x80\xf3\x93\x10\xb6\x4d\
+\x14\x80\xba\xae\x01\x62\xad\x23\xcd\x49\x14\x25\x44\x64\x54\x2c\
+\xe2\x59\x79\x90\x27\x15\x24\x14\x21\x88\x31\xb1\xf8\xa9\x8f\x46\
+\x51\x62\x74\x16\x99\xb6\x56\x69\x1c\x67\x74\xda\xef\x05\x10\x79\
+\x00\x22\x3b\x3d\x6d\x69\x37\xc3\x14\x01\x8c\x89\x01\x65\x22\xb3\
+\xb1\x69\xbb\x1d\xa3\x15\x9e\xf3\xec\x17\x69\x95\x25\xad\x76\x91\
+\x8f\xab\x7c\xe3\x0d\x6f\xf8\x99\x57\xfc\xe0\xf3\x00\xa4\xc9\x6e\
+\x43\x13\x00\x4f\x5b\x4e\xca\xf9\x86\xf3\xf1\x4f\xba\x9d\x22\xe7\
+\x76\x15\x27\x0a\x00\x1f\xbc\x62\x33\x37\xbb\xf4\x91\x8f\xfd\xf5\
+\x77\xbe\xe8\x85\x04\x57\x85\xd1\x78\x38\x16\xd2\x5a\xeb\xba\x0e\
+\xce\x56\x51\x94\x44\x11\x1b\x83\x2c\xe1\xc3\x47\x0f\xd7\x3e\x0b\
+\xc1\xe7\xe5\x30\x8a\x38\x36\x5a\x9b\xc6\x98\x63\x88\x96\xc0\x44\
+\x91\x56\x49\x1c\x75\xd2\xa4\xcf\x64\x1a\xe5\xa5\x31\x48\x94\x06\
+\x91\x02\x42\x08\x42\xa7\xbb\xd9\x4e\xb3\x9f\xa6\x4e\x11\xcd\xb1\
+\x08\xd7\x16\xfd\x9e\x81\xe0\x0f\x7e\xff\x23\x07\x0f\x1d\xe9\x75\
+\xe6\x5c\x55\xd6\x36\x7f\xd1\x8b\xbe\xf3\x37\xde\xf9\x53\xcd\x87\
+\x8a\xaa\xce\x52\xbd\x33\x03\xe0\x89\x24\xbd\xf3\xd3\x6f\x53\x76\
+\xda\x7e\x9f\x0e\x75\x12\xa0\xf3\xa2\x74\xce\xa5\x69\xac\xb5\x10\
+\x6c\x61\xc7\x1b\x9b\xab\x5a\xeb\xf1\x78\xb8\xef\xa2\xe5\xed\xe1\
+\x3a\x2b\x3f\xd7\xee\x03\xf6\xa3\x9f\xfe\xd0\x4d\x37\xdd\xe8\x7c\
+\x2d\x81\x98\x19\x50\xc1\x83\x48\x29\x8e\x9c\x65\x09\x9a\x29\xce\
+\xd2\x7e\x3b\x1b\x30\x62\x20\xb6\x35\x19\x43\x67\xab\x24\xcd\xcd\
+\xb0\xad\x61\x74\xe3\xbd\x94\x20\x35\x33\xef\x44\x28\x34\x01\xf9\
+\x04\x59\x82\xcd\x2d\xec\xdf\xf7\x54\x48\xa4\xb5\xae\x6d\xde\x69\
+\xa7\x27\x56\x6e\x21\x46\x51\xa1\x95\x02\x04\xe7\x4b\xad\x08\x00\
+\x61\xc7\xaf\x7d\x96\xc9\x78\x81\xc8\xbc\x46\x81\x36\xbb\xde\x8d\
+\x43\x84\x8b\xb2\xc8\xd2\xac\xdb\x69\x6b\x8d\xb2\x1e\x02\x36\x35\
+\xbc\x77\x61\xce\x85\xd1\x45\xfb\x07\xab\x6b\x07\xdb\x5d\x9e\x6b\
+\xa7\x9b\xd5\xb1\xbf\xfe\xfb\xff\xce\xba\xca\x32\x65\x0c\x83\x02\
+\xa0\x14\xa7\x5a\xb5\x18\x2d\x48\x0a\x89\x23\xd3\x6a\x65\xbd\x34\
+\x69\x33\x0c\xa0\x45\x88\x99\xce\xd5\x9b\x4e\x2b\x4a\x66\xba\xbf\
+\xde\x7b\x1f\x82\x17\xef\x43\x70\x7e\xaa\x58\x65\x29\x82\xc7\xbe\
+\xbd\x4f\x06\x50\x54\xc3\x20\xb5\xb3\xf9\xca\xc9\x5b\xea\x12\xde\
+\xa2\x95\x62\x73\x6b\x0c\x34\x45\x0d\x8f\x25\x23\x2e\x28\x99\x77\
+\xc6\x36\xd0\x20\xbd\xab\x2d\x86\x28\xd5\x7c\x63\x27\xe5\xfa\xb1\
+\x13\x0f\x46\xb1\x5f\xde\x33\x48\x10\xf6\xce\x59\xe0\xe8\xe2\x7c\
+\x9d\x52\xa2\xd8\x81\x00\x00\x20\x00\x49\x44\x41\x54\xfb\x43\xff\
+\x7c\xc7\x97\x8e\x1c\x39\xda\x69\x0f\xbe\xed\xb9\xdf\xeb\xc0\x8c\
+\x54\x9c\x13\xa4\x50\x29\x49\x24\x9e\x04\xd0\x8c\x24\x4e\xdb\x49\
+\xaf\x69\x53\x1c\x44\x20\xf4\x2f\xd7\x3e\x86\x00\x2f\x41\x6b\x56\
+\xd0\x00\xc2\x94\xf7\xe2\xd4\xaa\x6f\xb7\xd5\x2f\xfc\xfc\xbb\xb4\
+\xd6\x5a\x9b\xa4\x95\x6e\xae\xaf\x9c\x3c\xfe\x30\x13\x26\x13\x3b\
+\xbf\x60\xc6\x63\x3b\xdb\x6f\x17\xc5\x24\x4d\xe3\x27\x40\xc4\x9d\
+\x6f\xb6\xb9\xbb\x64\x9c\xce\x51\x13\x50\xd5\x63\x65\x9c\x0f\xe3\
+\x07\x0f\x7e\xe9\xd0\x91\xaf\xc6\x09\x06\x0b\xaa\xb0\x87\x56\x56\
+\x1f\x89\x4c\xab\xc8\x43\xa7\xb5\x10\x9b\xfe\x75\xd7\x3e\xb3\x9b\
+\x2c\xe7\xa5\x54\x25\x5c\xad\x98\x62\x42\x1c\x82\x10\x29\x66\xce\
+\xb2\x38\x49\x12\xcd\x8d\xdb\x53\x7b\x0f\x6a\x86\x65\x7c\x8d\x1e\
+\xed\xde\xc1\xfb\xa0\x22\x30\x85\x1d\xef\x88\x06\x30\xda\x46\xa7\
+\x8d\x2f\xdd\xb5\x71\xe3\xd3\x6e\x04\xd4\xd2\xd2\xe2\xca\xca\xe1\
+\x13\x27\x8f\x2c\x0e\xb0\xbd\xed\xfa\x7d\x7d\xfa\x11\xaa\xaa\x8a\
+\x63\x73\xf6\xd4\x85\x1d\x17\x04\x5d\x60\xe0\x3d\xa6\x9d\x47\x8d\
+\x9d\x3e\x4c\x53\x26\x14\xb9\x3f\x79\xcf\xbd\xb7\x1e\x5f\x79\x20\
+\xaf\x8e\x2c\xed\xb7\xca\x54\xb6\x32\x27\x8e\x8d\x2f\x3b\xf0\xd4\
+\x41\xff\xb2\x4b\x96\x9f\xaa\xd1\x3f\xba\xb2\x4d\x92\x68\x95\x32\
+\x6b\xe7\x9c\xf7\x5e\x6b\x4e\xd3\xb4\xdb\xed\xd3\xae\xab\xef\xa4\
+\x38\xe0\x9c\x38\xd1\x59\x77\x24\x68\x7c\x69\x01\x70\x41\x08\x91\
+\x22\x88\xc0\x3b\x24\xf1\x65\x59\xd6\x15\x96\x62\xbc\x76\xf8\xc4\
+\xe1\xe5\x45\x1e\xae\x17\xb3\xb3\x29\x80\xf1\xb8\x68\x77\xd2\x7c\
+\x52\x64\xed\xd4\x7b\xbf\xab\xb2\x39\xec\x64\x0f\x9f\x6f\x4a\xa4\
+\xf3\x31\x08\xea\x9c\x67\xda\x59\x30\x08\x98\x2d\x30\x01\xc6\x35\
+\x36\x4f\x6d\x3e\xf2\xc8\x91\x3b\xd7\xb7\xef\x75\x7e\xd2\xca\xe6\
+\xae\xb9\xea\xa6\x24\x9a\x9b\x4f\x2f\x01\x3a\x87\x4e\xac\x8a\x4f\
+\x22\xd3\x8a\xa3\x8c\x99\xeb\xba\x72\xbe\x4e\xd3\xb8\xd3\x9e\x69\
+\x0a\xcf\xbd\xf7\x4d\xe0\x97\x88\x80\x10\x24\x30\x3d\x6a\x68\xd1\
+\x99\x2d\x0e\x02\xe7\xbc\x03\xb3\xa2\xa8\x69\xc8\x3f\x1a\xe1\x49\
+\x57\xdf\x3c\x1e\x15\xcc\x6c\xa5\xfc\xe8\xc7\xfe\xf2\xd9\xcf\xbd\
+\x54\x3c\x62\x85\x53\x27\x57\x07\x83\x81\x73\xce\x7b\x49\xb3\x64\
+\xfa\x2c\x67\xd1\x59\xd8\x11\x84\x4c\x17\x50\x95\x90\x03\x55\x3b\
+\xe3\x65\x9a\xa6\xf9\x6a\xba\xa8\x80\x01\x09\xa6\xac\x15\x58\xa5\
+\xd1\xec\xde\x99\xac\xd7\x59\x8a\xf4\x8b\x05\x14\x23\x0e\xc0\x6d\
+\x77\xdd\xa6\x2e\xf3\xb3\x2d\x5e\x5a\x9e\x59\x5f\xdf\x60\xae\x82\
+\xda\x16\x22\xd1\x56\x69\x98\xb4\x65\x54\x0a\xb4\x21\x20\x28\x62\
+\xd0\x8e\xc5\xbd\x63\xcd\x9d\x45\x19\x3b\x27\xc6\xf1\x8e\xe8\x55\
+\x34\x6d\xe3\xb2\xbd\x8d\x37\xbe\xf1\x1d\x2b\x2b\x27\xe6\xe6\xf7\
+\xaf\x9d\x3a\x7c\xcb\x3f\x7f\xee\xc6\x9b\x16\x27\x39\x3a\x19\x4e\
+\xae\x1e\x5b\x5c\x5c\x00\x24\xd2\xa6\x31\xf0\xeb\xd2\x33\xb3\x36\
+\xf4\x28\xfc\xe4\x3c\x97\xa8\x9f\x87\x36\xc5\x25\xe0\x76\xc1\x36\
+\xcd\xdc\xb2\x35\xbc\x97\x24\x6e\xaa\x9e\x7d\xc0\x44\x91\x05\xea\
+\xdc\xe6\x99\x89\x37\xf3\x95\x2f\x7c\xe1\x0b\xcf\xb8\xe9\xe6\x99\
+\xd6\xdc\xb8\x1a\x6e\x6c\x9e\x6c\x75\xd8\xf9\x22\x84\xd0\xdc\xb0\
+\xe2\xa4\xdd\x1a\xb4\xf4\x12\xa4\xbf\x33\xb3\x0b\xd2\xcc\x68\x43\
+\xc0\x74\x90\xdb\x8e\x55\xb7\xe3\x8c\x16\x04\x17\x0a\xcd\x00\xd8\
+\x8b\x10\x25\x00\xaf\x1c\x2f\xbf\x7a\xcf\x23\xdf\xf6\x6d\xdf\xbd\
+\x67\xf9\x92\xe3\x27\x0e\x7f\xe6\x96\xcf\x3e\xfd\xa6\x85\x26\x19\
+\xc5\xfb\x2a\x55\x31\x10\x9c\xaf\x89\xa0\x58\x57\x95\xd5\x9c\x2a\
+\x7d\x8e\x40\x75\x8f\x92\xb1\xfa\xcc\xf1\xd9\xc5\x7b\x08\x76\xc7\
+\x5f\x7f\x16\x27\xa2\xff\x49\x1e\x46\xe7\xdb\x54\x48\x80\x2e\xa4\
+\x0d\x49\x21\x4d\x54\xc8\x02\x13\x13\x15\x49\xea\x41\xc8\x27\x20\
+\x51\x4a\xba\xdb\xdb\x1a\x48\x33\x53\x97\xb8\xe7\xce\x7b\xff\x9b\
+\xd7\xf7\xb5\x5b\x06\x48\x57\x4f\x54\x9a\x67\x9c\x73\xc4\x0e\xe4\
+\xbc\xb7\x44\x2a\x4b\x06\xa9\x3e\x00\x0c\x20\xca\x15\x65\x03\x54\
+\xee\x30\x2c\xc5\x82\x1d\x74\x2d\x2a\xc0\x34\x89\x2c\x75\x55\x01\
+\xec\x5c\x00\x82\xe6\xaa\xc4\x96\x45\x49\x14\x01\x5c\x15\x58\x58\
+\x48\xbe\xfd\xdb\xbe\xbf\xdb\x5e\xde\xda\x1a\xbe\xfb\xdd\xef\x79\
+\xd6\x33\x16\xb4\xc6\x78\x3c\x66\x54\xb5\x2d\xbd\x40\x84\x95\x8a\
+\x98\x45\x90\x47\x71\x50\x66\xba\x95\x4d\x3e\x95\x73\xb5\xf7\x15\
+\xe0\x20\x02\x84\x80\xa2\xb2\xc3\xda\x55\xb2\x63\xd8\x5a\xdb\x0c\
+\x53\x69\x68\x73\x02\x4c\x76\x6b\x03\xb2\xcb\x63\xbf\xcb\x6f\x7f\
+\x76\x60\xff\x31\xda\x7b\x9e\x37\x3b\xaf\x09\x9e\x9d\x89\x2a\x34\
+\xd1\xea\xca\x4b\x29\x82\x38\x9a\xfe\x3c\x89\x3b\x40\x70\x18\x7e\
+\xf9\xfe\xcf\x6c\x8e\x0e\x5e\xff\xd4\xcb\x18\xe1\xe4\xda\xa9\xd9\
+\x99\x45\x09\xcd\x24\xbc\x00\x08\x11\x11\x34\x21\x41\x68\x21\x30\
+\x3c\xeb\x38\x41\x40\x10\x28\x8d\x38\x21\x0f\x58\xc0\x79\x42\x93\
+\x57\x28\xd3\x81\x36\x5a\xf3\x0e\x7d\x8a\xc1\xd4\x05\x13\x47\xb8\
+\xe6\xaa\xef\xca\xb2\x6e\x51\x14\x4b\x4b\x0b\x3f\xf8\x83\x37\x35\
+\xa7\xbb\xdb\x4e\xc6\xe5\x56\x2b\xc9\x70\x26\x31\xc2\x36\xb7\x2d\
+\xb0\x4d\x9b\xcf\xca\x96\xa0\x89\xd2\x5b\x4a\x6d\x02\xeb\x0e\xab\
+\x01\xeb\x8c\x61\x6c\x6c\x34\xcd\xb5\x90\x20\xf0\x67\xfa\xc4\x06\
+\xc0\x0b\xfc\x63\x22\xf1\x28\xcf\xc6\xff\xb8\xef\xea\x79\x19\x47\
+\xb3\x7b\xda\xcc\x2e\xdd\x5a\x02\xd5\x36\xc4\x11\x03\x28\x2b\x49\
+\x52\x0f\xe4\x0f\x1f\xbf\xfb\xc4\x89\x63\xc1\xc5\x7b\x5a\x97\x13\
+\xd4\x70\xb4\xbe\x77\xb9\x97\x57\x6e\x3a\x83\x12\x81\x48\x33\x25\
+\x4c\xd1\x4e\x22\x28\x20\x38\x72\x6c\xe3\xe4\xc6\xb8\x33\xb3\x24\
+\xca\x78\xef\xeb\xaa\x74\xc5\xb0\x9b\x45\xab\x27\x0e\xdf\xfc\xbc\
+\xa7\x45\xf1\xb4\xd5\x77\x59\x56\xca\x50\xac\xbb\x75\x1d\xa2\x88\
+\x57\x4e\x8c\x97\x16\xdb\xdb\x9b\x27\x15\x53\x1c\xcb\x9b\xdf\xfc\
+\x73\x60\x6c\x6d\xa3\xd3\x83\x62\xc4\x71\x9c\xd7\xe3\x56\x34\x03\
+\x00\xa8\x00\x0b\xd4\x00\x13\x0a\xa0\x02\xb9\x2a\x1c\x77\x76\xa8\
+\x4d\x0e\x54\x04\x29\xac\x37\x3a\x2b\x0b\x57\xd7\xf1\xf2\xcc\xb5\
+\xcd\x24\x46\xa2\x8c\xd5\x4e\xb4\x7d\xca\x3d\x79\x37\x2f\x25\x01\
+\xd3\x6e\x76\xf8\xb5\x31\xa3\x27\xc6\xb7\x79\xce\x50\x1e\x6e\xb2\
+\x06\xb4\x8a\x5c\x1d\x40\x1c\x02\x48\x4d\x80\xea\xd4\xe8\xc1\x7b\
+\xee\xfd\x62\xab\x13\xcf\xa5\x7b\x26\xa2\xdb\xc4\xed\x4e\x34\x9a\
+\xac\xb2\x72\xd3\xb0\x8b\x04\x82\x6e\x62\xe8\x53\xf0\x08\xf9\xd0\
+\xbe\xfd\xed\xff\xf1\x8f\xff\xe4\xcf\x80\x14\x50\x50\x31\xc7\xa6\
+\x93\x1a\xb8\x49\x5d\x6c\x7d\xe0\xfd\x7f\xf1\x1d\x2f\xba\xd9\x5a\
+\xaf\x8d\x4a\xd3\x16\xa0\x8b\xb2\x48\xa2\x36\x09\x96\x97\xda\xce\
+\x81\xd8\x0d\xc7\x6b\x89\xc9\x86\xa3\x53\xe3\x11\xfa\x33\xa8\xad\
+\x04\xf1\x46\xa5\x3a\x92\x1d\xc9\xed\x77\x6d\x57\x00\x6c\xee\x4e\
+\xde\xf1\xe5\x8f\xe7\xd5\xc3\x26\x99\xb8\x30\x04\xe0\x9d\x4e\xe3\
+\x7e\xf0\x31\x87\xc1\xcc\x33\x16\x13\xbd\xa8\xa0\x03\xac\x52\x66\
+\xf7\xb3\x13\xf8\x1c\x5d\x6a\xda\x72\xf2\x4c\x6e\xdc\xff\xac\xd1\
+\x71\x1e\xf4\x22\x0f\xb8\xb3\xef\x44\x01\xc6\x7b\x02\x48\x6b\x0d\
+\x02\xb8\x8a\xa3\x0a\xd8\x38\x78\xf8\xce\xda\x6d\x84\xe0\x2f\x3b\
+\x70\xa3\xb8\xee\x66\x3e\x6c\xb5\xa3\xca\x6e\x09\x95\x90\xa6\xcd\
+\xa6\x62\x4a\x18\x2d\xc5\xd9\xf4\xea\x16\x59\xd7\xa4\xad\x7e\xbb\
+\xbf\x6f\x61\xff\x35\xed\xa5\xab\x74\xb6\x14\x7c\xbb\x2a\xf4\x78\
+\x1c\x8a\x1a\x9d\xf6\x80\x08\x5a\x99\x10\x60\xad\xb7\x15\xa5\x71\
+\x9f\xa0\x21\x18\x0f\xc3\xc6\x7a\xf9\xb9\xcf\xfd\x7d\xbb\xa5\xb2\
+\x16\xfd\xdc\xcf\xff\x54\xa7\x0b\x08\xca\xb2\x34\x2a\x06\x8c\xf3\
+\xd4\xe8\x3e\x0c\xc5\x88\x9b\x5e\xca\xcd\x90\xc6\x4c\x93\x32\x5b\
+\x30\x27\x54\x7a\x42\x45\x47\x55\x74\x34\x4a\x4f\xa8\x68\xa5\xb6\
+\x87\x46\xc5\x23\x91\xae\x81\x8a\x50\x31\x6a\x21\xc8\x19\x5d\xe3\
+\xec\xb9\x80\x38\x2d\x47\x9a\xf3\xe1\x77\x8d\xf1\x93\x47\x05\x67\
+\xce\x37\x78\x61\xd7\x10\xde\xdd\xe4\xae\x88\x34\xc0\xda\x20\x04\
+\xc7\x54\x00\xa3\xb5\xfc\xc1\xd5\xf5\xfb\x17\x96\x5a\x5b\x5b\x5b\
+\x83\xf6\xc5\x1d\xb3\x6f\x7d\x6d\xb3\xb6\x93\x38\x0d\x82\xba\xc9\
+\x6c\x20\xc4\x04\xad\x38\x63\x6a\x32\x26\xd1\xa4\x3e\x6f\x6c\x8e\
+\xc7\x5b\xc3\xd5\x93\x5b\xe3\xcd\x92\xa8\x95\xa4\xb3\x75\xad\x7a\
+\x9d\xa5\x76\x34\xd3\xe0\x64\x0c\x31\xc3\x18\x65\x4c\x54\x4d\xac\
+\xab\x42\x31\xae\xda\x5d\x5e\x58\x4c\x96\x96\x67\xee\xfe\xca\x6d\
+\xf3\xf3\xad\xc5\x85\xee\xd5\x57\x5e\x2f\x82\x5e\x27\x05\x30\xc9\
+\x6d\xa4\x62\x9e\x32\xf9\x18\x48\x80\x36\xd0\x06\x32\xc0\x00\xbe\
+\xaa\x87\xa4\x8a\x38\xad\x74\x9c\x9b\xa4\xd0\x51\xed\xc2\x46\xab\
+\x67\x81\x2d\x86\x17\x58\x81\x07\x9c\xa6\xc0\xfc\xaf\xda\xb1\xc7\
+\xf2\xc9\x3e\x41\x94\xf7\x98\x4c\x9c\x15\x9f\x2e\x6b\xae\x81\xc2\
+\x61\xe3\xf0\xf1\x3b\x03\x6f\xb0\xb6\xb3\xb3\x03\x42\x07\x68\x33\
+\x73\x55\x8f\xb4\xf1\x4a\x07\x80\x20\x06\x50\x84\x88\x29\x66\x8a\
+\x80\xe9\xc8\x28\x01\x5a\x9d\x4e\xd2\x9b\xeb\x0d\x16\x54\xdc\x56\
+\xba\x55\x57\xcc\x94\x10\x22\xa3\x13\xe7\x42\x95\x9f\x09\x2c\x4c\
+\x86\x79\x9c\x19\x1d\x73\xda\x8e\x9b\x13\xdd\xee\xa8\xfe\x4c\xeb\
+\xde\xfb\xee\xf8\xd0\x87\x3f\xf8\xba\xd7\xbf\xfa\xc9\x4f\x7e\xea\
+\x07\x3f\xf8\x91\xba\x42\x3b\x8b\xbd\xdf\xd9\x25\xd1\x10\x4d\x1e\
+\xe4\x01\xcf\x40\x3b\x20\x96\x60\x34\x29\x45\x24\x81\x14\x1b\xa3\
+\x13\x11\x61\x2e\x2b\xbb\x05\x88\x97\x26\xa6\xab\x76\xec\x16\xec\
+\x98\x2b\x3b\x82\x8f\x1e\xd3\x1b\xf5\xaf\xe8\x75\x7c\xbe\xdc\x01\
+\xf4\xe8\x76\xcc\xa8\x6b\x07\x80\xd8\x03\x55\x29\x6b\x6b\x9b\x0f\
+\x46\x49\xb5\xbe\x7e\xea\xaa\x2b\xaf\x75\xc1\x6c\x8f\xca\x5e\x6f\
+\x46\x69\xd4\x36\x37\xd3\xb1\x22\x0c\x69\x12\x55\xcc\x69\x19\x4f\
+\x84\x40\xb0\xd6\x56\xb6\x9e\x8c\x0b\x3f\xce\xbd\x13\x81\x8a\xd3\
+\xf6\xe6\xf6\x68\x3b\x1f\x13\x94\x49\x00\xc2\x78\x32\x04\xd0\xea\
+\x65\xbb\xcf\x74\x91\x97\x75\x55\x75\x7b\x19\x08\x37\x5c\x7f\xed\
+\x6b\x5e\xf3\x13\xf7\x7c\xe5\x8e\xeb\xaf\xbf\x3e\x8a\x30\x1d\x11\
+\xbd\x5b\x59\x38\xa3\xb2\x6b\x46\xac\xb5\x21\x52\xb6\x0e\x65\x69\
+\xbd\x63\xc5\x29\xb3\x21\xf2\x10\x0b\x28\x4d\x6d\x46\x2a\x30\x00\
+\x97\x76\x9a\xc0\xdf\x14\x94\x0a\x9d\xbd\x27\xa2\x21\x7a\x27\xb9\
+\x86\x20\xbb\xd3\x0e\xfe\x25\x8c\xce\x03\x78\x5f\x73\x89\x28\xd2\
+\xde\x7b\x86\x07\x8a\xed\xd1\x71\x8f\x4d\x65\x6a\x6b\xfd\x72\xef\
+\x80\xe1\xd6\x64\x5c\x01\x4d\x7d\x57\xa8\xeb\x52\xab\xc8\xd6\x8e\
+\x59\x97\x65\x9d\xa6\x99\x73\x80\xc0\x39\x01\xc1\x79\x98\x88\xc5\
+\xd5\x3e\x58\x64\x99\x0d\x9e\x19\x9d\x4e\x2f\x48\x1d\x47\xad\xac\
+\xdd\xca\x4b\x58\x8f\x56\xbb\x5d\x3b\x9b\xe7\xf5\xee\x9c\x8c\x24\
+\x4b\x74\x64\x1a\x44\x26\x45\x9e\x24\xda\xb9\x70\x60\xff\x5e\x45\
+\x60\xa0\x98\x4c\x08\x15\xa1\x00\xea\x1d\xf7\xc0\x99\xa9\x9a\x91\
+\x8a\x98\x22\x42\x9c\x98\x8e\xa6\xcc\xd7\x9a\x42\x2c\x22\x49\x9c\
+\x01\xad\xaa\x8c\x80\x76\xd3\x37\x21\x32\x1a\xc0\xa4\xa8\x05\x7a\
+\x58\xe4\x01\x10\xc6\xc6\xf6\xf8\x4c\xfe\x99\xc0\x5b\x0e\xb6\xb1\
+\xee\xb5\xb5\xb2\x3b\x19\x58\x80\xe1\x68\x22\x04\x17\x9e\x00\xca\
+\xe3\xaf\x1d\xf1\x0a\x01\x2e\xa0\x3a\xb5\x7e\x18\x3c\x26\xae\xd3\
+\xb8\xcf\xe8\x4c\x3d\x90\x22\x10\xa2\xe9\x24\xca\xa9\x91\xa6\x94\
+\x69\x08\xee\xb4\xf7\x99\xa7\xcc\xd9\x9d\xee\xf1\x2e\x84\x95\x63\
+\x8f\x24\x69\xb7\xa8\xc7\xc3\xbc\x48\xdb\x10\xc2\xb8\xb2\xac\xe3\
+\xb8\x15\x95\x15\x8a\x4a\xac\xc3\x64\xe2\x41\x20\xe6\x10\x50\x14\
+\x55\x96\x66\xb5\xad\xa3\x08\x5a\xbb\xbc\x18\x06\x29\xbb\x1d\x99\
+\xd4\x47\x2a\x39\x4a\x38\xa5\xd4\x06\x99\x09\xb4\xf5\x52\x56\xf5\
+\x2a\x30\x71\xbe\xa8\xeb\x32\x84\x00\x4c\x73\xda\x94\x52\xac\x60\
+\x7d\x00\x32\x0a\xed\xe0\x51\xd5\x28\x2a\x0c\x47\x4e\x04\xca\x44\
+\x01\x26\x4d\xfb\xa3\x7c\xec\x01\x65\x8c\x00\x2e\x60\xb8\x3d\x0d\
+\xf7\xb3\x21\x08\xc6\xe3\x4a\x1b\x53\x96\x8d\x75\x24\x5b\x5b\x5b\
+\x00\xda\xed\x16\x80\x73\x42\x5d\xe7\x61\x1c\xcd\x63\x72\xf0\xa9\
+\xfd\xa0\x54\x53\xaa\x65\x8f\x9f\x38\x64\xda\x5e\x04\xfd\xee\x3e\
+\x85\x8e\x15\x0b\xae\x44\xbc\x40\x31\xc5\xcd\x63\x34\x79\x7f\x5a\
+\x19\x40\x68\x5a\xf3\x77\x9a\xad\x35\x7d\x71\x3c\xe0\xc0\x0a\x01\
+\x94\x66\x83\xb9\xf6\xb1\x23\x27\x9b\xce\x8b\x50\x88\x54\xec\x81\
+\x71\x2e\x89\xa1\xe1\xd0\x29\xa5\x66\x7b\xca\x0b\xf2\x1c\xad\x0c\
+\xac\x63\x00\x5a\x23\x48\xae\xc8\xb5\x52\x0b\x4c\x02\xc6\xad\x68\
+\x08\x54\x00\x3c\xc8\x23\x62\xc4\x5a\x67\x0a\x15\xb0\xa9\x4c\x0e\
+\x9f\x43\x6a\xa5\x20\xb0\xe2\x2a\x15\x29\xe7\x5c\x1c\xcd\x02\x9d\
+\xe0\x41\x01\x86\xe1\x15\x54\xac\x47\x13\x64\x19\x02\xb8\xa8\xea\
+\x2c\x6b\x0f\x27\xbe\xdb\x8e\x8f\x9d\x28\xbb\xed\x24\xeb\xe2\xd4\
+\x26\xe2\x04\x71\x04\x11\xa4\xed\x78\x52\x60\x3a\x83\x98\x08\xa4\
+\x9a\x7f\x8b\x3c\xcf\xb2\xec\x3c\x1b\xe9\x0a\xbb\x2d\x9b\xa9\x27\
+\x10\xbb\xf2\xaf\x84\x21\xc3\xd1\xc6\xe2\x4c\xa8\x4a\xcc\xcd\x5f\
+\x06\x74\x9c\xcf\xc1\x13\x11\x11\xd1\xcc\x6a\x0a\x1e\x43\x44\xe2\
+\x28\x02\x42\x13\xb1\xe3\xd3\x03\x9d\x65\x47\x33\x22\x0f\x84\x40\
+\x8c\x62\x92\x57\x11\x60\xac\x28\x0f\x0c\x47\xf8\xfc\x3f\xdd\xfa\
+\x3b\xbf\xf7\xbb\x87\x1e\x39\xfa\xc8\x83\x0f\x83\xf4\x4c\x7f\x90\
+\x65\xad\x6f\x7f\xe1\xb7\xbd\xee\xb5\xaf\xbe\xe1\x29\xf3\xda\x60\
+\x63\x7b\x3c\xdb\x33\x95\xdb\x56\xda\x02\x93\xed\xea\xe4\x23\x87\
+\xef\x39\xb9\xf6\x40\xa0\x42\x82\x15\x91\x24\xea\xcd\x0d\xf6\x5e\
+\xb4\x7c\xe9\x4c\x3a\x0b\xe4\x51\x5a\x9b\x00\x56\xc2\xc4\xce\x3a\
+\xeb\x26\x2a\xce\xac\xab\x3a\xbd\x99\xdf\xfd\xbd\x3f\x1c\x9e\xba\
+\xa4\xdd\xed\xaf\x6d\x9e\xec\x0c\x74\x51\xe5\x59\x3a\x58\xdf\x5a\
+\xff\x96\x17\xde\x74\xf3\xf3\x9f\x2c\xc0\xdf\x7e\xe2\x1f\xdf\xfa\
+\xe6\xb7\x55\xa5\x1c\x79\xe8\x04\x40\xed\xfe\xcc\x25\x97\xec\x7f\
+\xf9\x0f\xfe\xc0\xff\xf6\x63\x2f\x6f\x65\x48\x53\xf8\xa0\x1a\x1e\
+\xd9\x6a\xb5\xa6\x2c\x2a\xb8\x73\x9c\xec\xfa\xbc\x30\xcc\xdd\x6c\
+\xf3\xb4\xe5\x70\x7a\x82\x76\xb0\xa8\x44\x3c\xb1\x54\x65\x98\xe9\
+\x5e\x02\xb4\xad\x3f\x09\x1e\x03\xa9\x04\xc3\xca\x78\x6f\x9b\x32\
+\x49\x11\x89\xa2\x48\x60\x01\x23\xa2\x9b\xe0\x81\x6a\xa6\x1d\x08\
+\x48\xce\x4c\x8f\x99\xbb\xe8\xe2\xb5\x23\xf7\x01\xa6\xd3\x59\xb0\
+\x01\xcf\x7d\xfe\xf7\x3f\x70\xe7\xed\x66\x30\x6b\xad\xf4\x16\x2e\
+\x1b\x0e\xf3\xcd\xb5\x72\x18\x47\x7f\xfa\x27\x1f\xf8\xcb\xbf\xfc\
+\xbb\xe7\x3e\xe7\xc6\xff\xfa\x5f\xde\xd5\xe9\x65\xc0\x38\xd1\x55\
+\x85\x63\x0f\x1d\xfc\xe2\xca\xea\x03\x01\x79\xd2\xd6\xac\xac\xa0\
+\xb4\xae\x70\xd5\xa9\x13\xa7\x1e\x59\xdf\xb8\x27\x8a\x92\xa7\x3f\
+\xe5\x7a\x60\x4c\xec\x82\xd4\x86\x21\xe4\x2b\x38\x90\x22\x2d\xcb\
+\x8b\x7b\x5e\xfc\xd6\x77\x4c\x86\x57\xa5\x51\x6f\x52\xaf\xa9\xc4\
+\x91\x66\x37\x0e\xd0\xe6\xf0\xd1\x17\x3f\xef\xe6\x27\xcf\x2d\x3e\
+\xb5\xae\x2c\xa0\x5b\xe9\xec\xdc\xbe\x27\x69\x95\xac\x1c\x3b\xf2\
+\xe0\xc1\xd5\x5f\x7a\xe3\x5b\x7f\xe9\x2d\x6f\xfb\xad\x77\xfd\xda\
+\x4f\xfd\xf4\xcb\x48\xa1\xac\xa0\x15\x22\xcd\x55\x5d\x25\x91\x69\
+\xb7\xb3\x73\xa2\x16\xe7\x45\x61\x91\xc7\x76\xdc\x59\x6b\x01\x78\
+\xf8\xed\x7c\x3b\x8a\x8d\xf7\xce\x7b\x74\xdb\x7b\x80\x56\x6d\x47\
+\xe0\x02\x00\x82\x21\x49\x24\x68\x00\xc4\x02\x20\x8a\x4d\xa3\xb0\
+\x87\x5d\x41\x18\xde\xa9\x65\x3d\x3d\x3d\x66\x7b\x7b\xd4\x9e\xdb\
+\x67\x5a\xfd\xe3\x27\x37\x3a\xe6\xfa\x07\xee\x3e\x4c\xdd\x3d\xd6\
+\xa6\xe0\xce\xf6\x91\x2d\x41\xa7\x33\x7f\x85\x2f\x63\x84\xae\xb5\
+\xe9\x27\x3e\xf1\xb9\xd7\xbc\xee\x3f\x68\xc5\x80\xdd\xcc\x0f\xdf\
+\xf7\xc0\xe7\x8e\xae\xdc\x36\xa9\xee\x35\xc9\xfa\xfa\xda\xc1\x8d\
+\xad\x63\x93\xf2\x44\xa0\x75\x15\x6f\xe8\x64\x53\xd4\xa9\xda\x9f\
+\x3a\xb2\x7a\x6f\x51\x0e\x83\xb8\xba\x72\xde\x7b\x66\x26\x12\xe2\
+\x50\x56\x93\xc1\xfc\xec\x68\x38\x01\x12\x13\x77\xb5\x9e\x55\xa6\
+\x43\x9c\xb6\x67\x0f\xc0\x45\x97\x5f\xfe\xb4\x2b\xae\xf8\x9e\xc9\
+\x84\xad\x4d\x92\x78\x71\xeb\xe4\x68\x9c\xf3\xca\xa1\x63\x51\x7b\
+\xbe\xb2\x1a\xdc\x66\x93\xbd\xe3\x37\x7f\xe7\x47\x7e\xf4\x17\x8a\
+\x12\x26\x86\xf5\xd2\x38\x61\x1a\xb3\xbd\xaa\xcb\xf3\xab\xb0\xc8\
+\x63\x66\x46\x34\xd9\x92\x1e\x80\xf3\x6e\x6d\x6d\x2d\xcb\x32\x11\
+\x49\xe2\x76\xca\xf3\x3e\x68\xeb\x72\x52\xcd\x8d\x6a\x42\x24\x41\
+\x89\x08\x11\x44\xbc\x86\x6e\x74\x93\xb0\x93\x47\x48\x01\x14\x34\
+\xc9\x59\xad\x18\xec\x70\x33\x8e\x53\x5b\xe3\x65\xdf\xfb\x92\x85\
+\x8b\xaf\x41\x88\x85\x5a\x40\x4b\x45\x73\xc9\xbe\x27\x81\x7a\xa3\
+\xed\xd0\x9e\xbd\x24\xee\xec\x19\x6f\x39\xe7\xe3\x0f\xbe\xf7\x03\
+\x7f\xf4\xc7\x7f\x22\x28\xee\xbd\xff\xb6\x43\xc7\xee\x50\xd1\xfa\
+\xe2\x72\xe0\x68\x63\x69\x79\x76\x76\x76\x36\xcd\x14\xa9\x1a\x3c\
+\x09\x18\x79\x19\xb9\x30\x3e\xb9\x7a\xdc\x39\x67\xd8\x88\x43\xf0\
+\xc4\xac\x89\x94\x88\x38\xa9\xb6\x87\x1b\x20\x9a\x9f\x59\x32\x51\
+\xd6\xee\xf4\x15\x47\xb6\x0c\x93\x3c\x20\x9d\xff\xed\x77\xfd\xe1\
+\xc9\x95\x1c\x2e\x41\x68\x13\xf5\xd2\xd9\x4b\xca\xa1\xef\x2c\x5f\
+\x25\x30\x71\xd6\x4b\x07\x4b\x2a\x6a\x07\xd1\xff\xdf\x9f\xbf\xef\
+\x0f\xff\xf0\xdd\x00\x92\x98\x1a\xb5\xbc\x09\x3f\xf0\xa3\xed\xad\
+\xf3\x9c\x35\x03\x44\x40\x04\x80\x99\x00\x07\xae\x46\x93\x13\x71\
+\x42\x24\xad\x56\xb2\x4c\x88\x43\x40\xf0\x04\x61\xe2\x00\xaa\x41\
+\x56\xa4\xe9\x26\xa0\x20\xd1\xe9\x70\xae\xc8\x74\x38\x8c\x10\x84\
+\x1a\x3b\x9a\x4f\x3b\x29\x5a\xf3\xfb\xd6\xd7\xb6\xe2\x2c\xe5\x56\
+\xaf\x28\xc7\xf0\xae\x15\xa7\x46\xc5\x3e\xaf\xca\xcd\x09\x9c\x02\
+\x99\xf1\x68\x28\x40\x6b\x76\x41\x9b\xa4\xd5\x9f\xfd\x99\x37\xbc\
+\xce\x61\x6b\x7b\x7c\x28\x4e\xad\x0b\xdb\x8e\x46\xce\x4f\x46\xe3\
+\xe1\x78\x3c\xae\xeb\x8a\x88\x22\x3d\x93\x98\xf9\xc8\x74\xb4\x32\
+\x45\x39\x52\x3a\x98\x38\x03\x27\x10\x0d\xd6\x40\xf0\xa1\x1a\xcc\
+\xf4\x37\xd6\x37\xbb\xb3\x83\x51\x99\x9f\x5a\x3f\xba\x95\x17\x50\
+\x19\x45\x1d\x1d\x27\x69\xd6\xa9\xaa\x00\xcf\x69\xaf\x17\xb7\xd2\
+\xd1\x64\x54\xe4\x63\x9d\xc5\xa3\x8d\x53\xb6\x76\xc5\xa4\x2c\x2a\
+\x08\xa5\xdb\x23\x67\xb2\xb9\x37\xbd\xe9\x57\xd7\x4e\x09\x49\x83\
+\x10\x17\x93\x1c\x10\x13\x45\xe7\x17\xbc\xb3\x2c\xce\xd0\x4c\xac\
+\x80\x18\x11\xd6\x0a\x82\x32\xa2\x6a\x58\x3c\x10\x30\x2c\xc7\xdd\
+\xe5\xb9\xa7\x39\xd4\x45\xb9\x6d\xd4\xac\xa2\x19\x90\xd3\x71\xee\
+\xb1\x1e\xa5\xb6\xc8\x2d\x49\xd6\xef\x2e\x07\x89\x15\xda\x22\x51\
+\xd4\xb8\xae\x14\x3c\x23\x40\x35\xe6\x30\x09\x40\x1e\x14\x26\x93\
+\x32\x6e\xf7\xaa\xaa\x8c\x13\x8c\x36\x1f\x9e\x59\x8c\x62\xc9\x75\
+\x35\x31\xb6\x58\xe8\xb5\x31\xde\x52\xec\x28\x29\x6a\xda\x9e\x54\
+\x93\x40\x28\xeb\x42\xa8\xfa\xc2\x1d\x1f\x55\x7a\x2b\x8e\x25\x8e\
+\x4d\xf0\x5c\x5b\x40\x4c\xaf\x35\xe3\xad\x35\xe8\x6c\xad\x76\xeb\
+\xd1\x45\xe5\x68\xa6\xcc\x95\x90\xd5\x71\x70\x5e\x98\x13\x21\x5d\
+\x54\x25\x99\x20\xe2\x6c\xee\x3a\x69\x6f\x3c\xca\x85\x02\xb5\x62\
+\xa4\x54\x04\x25\x9c\x39\xf2\xa5\x9b\xa0\xb6\x26\xd2\x21\x8c\xab\
+\xad\x87\x04\xeb\xa8\x57\x83\x5d\xeb\xf4\x14\x42\xc1\x51\x84\xc2\
+\x39\xca\x48\xcf\x5a\x9f\xb5\x5a\x7b\xbe\xf9\xf9\xdf\xcd\x01\x52\
+\xc3\x97\x21\x4b\x5a\x8f\xae\x62\x39\x2f\x21\xa1\xdd\xa7\x64\xc7\
+\x21\x4b\xac\xc2\x74\xbe\xb2\xf3\x32\x4c\x22\x2a\x46\x59\x3b\xdb\
+\x43\x10\x90\x0f\xce\x04\xd4\xa4\xca\x20\x16\x42\x84\x34\x4b\x7b\
+\x49\xd4\x33\xba\xf1\x6a\x72\xd3\x4a\x80\x48\x40\x2c\xc4\x32\xb5\
+\x05\x9b\xe6\x2c\x04\x0a\x60\x55\xad\xaf\xed\xbd\xea\xa2\x63\x47\
+\xbe\x62\x12\xda\x3c\xf9\xb0\xd6\x33\xc1\x69\xad\xb2\xd5\xe3\x0f\
+\x2c\xee\xb9\x7a\x58\xe6\xc5\x78\x13\x9d\xb6\xe6\xc4\x56\x4e\x6b\
+\x5c\x71\xf9\x1e\xd2\x23\x8d\x09\xa8\x02\x10\x44\x31\x89\xd2\x98\
+\xe4\xa3\xba\x54\x0b\xb3\x17\xcd\xec\xbd\x76\xa6\x77\xf1\xa4\x38\
+\x35\x29\x8f\x6c\x8c\xef\x9a\xe4\x9b\x84\xd8\x18\x13\xe0\x01\xb0\
+\x8a\x05\x01\x22\x2c\x0c\x20\x10\x84\x3d\x1a\x96\x80\x20\xe5\x04\
+\x84\xd9\x85\xb9\xe1\xf6\x4a\x65\xd7\x7e\xf1\x57\x7e\x61\xdf\xde\
+\x4b\x1e\x7c\xe0\x91\xdf\xff\xed\x3f\x18\xad\x6e\x75\x16\xf6\x8f\
+\x6b\x37\x38\x70\xe9\xfa\x03\x0f\xc9\x6c\xbf\xd3\xcd\xc6\x5b\xc7\
+\xb6\xb5\x1c\x39\xec\xf6\xef\xd7\xd0\x0c\xe2\x50\x17\xa4\xcf\x6a\
+\xd3\xa3\xf1\xc4\xbd\xac\xb5\x91\x61\x80\x9d\x85\x56\x91\xb3\xd2\
+\xeb\xce\x08\x7c\x08\x12\xc4\x09\x84\x44\x2b\x56\x10\x66\x4a\xdb\
+\xd9\xc0\xa8\x8e\x51\xc9\xce\x39\x08\x53\x9c\xce\x08\xd3\xb3\xb8\
+\x88\x32\x8a\xfa\x33\xc7\xee\xbf\x5b\xf7\x68\xd0\xeb\x7e\xf4\x96\
+\x4f\x1d\xd8\x3b\xef\x2a\xfc\xdf\x7f\xf8\x57\x6f\xf9\xe5\x5f\x19\
+\x8e\xb6\x82\x66\x24\x19\xb1\x76\x65\xa5\x0d\x29\xe5\x9e\xfd\x9c\
+\xa7\x81\x0a\x6d\xbc\xf7\x56\x44\x24\xb0\x52\x4a\x51\xe5\x4a\x9e\
+\xed\x1d\xb8\x68\xe9\x19\xdd\xe8\xa6\x58\x2d\x04\x6c\x95\xe1\xd0\
+\x7d\x8f\x6c\x1d\x3f\xb5\xce\x6a\x98\x25\xa9\xb5\xb5\x78\xa5\xb9\
+\x63\x6d\xcd\xca\x87\x73\x83\x76\x0e\x84\xb8\xd7\x86\xb3\x1b\x6b\
+\x27\x50\xaf\x15\xe1\x9e\xe6\xc6\x27\x63\xfc\xe6\xaf\xfe\x58\xa2\
+\xaf\x1e\x4f\x36\x5b\xfd\x85\xf5\x87\xee\x43\x92\x31\xf3\x68\x63\
+\x13\x41\xb6\xb6\x86\xef\x7d\xef\x7b\x7f\xf6\x67\x5f\x31\xcd\x28\
+\xf1\x36\x3a\x7b\xfa\xf0\xf9\x94\x79\xe7\x8e\xa0\x6b\x1a\x36\x00\
+\xec\x1d\x44\x54\xf0\x9c\x51\xdb\x8b\x0b\x62\x45\x44\x29\x93\x24\
+\xad\x76\x6b\xa6\xd7\x5d\xe8\x75\x16\x92\xa8\x63\x54\xeb\xec\xd3\
+\xb6\x43\xc5\x82\x47\x0d\x98\x0c\xbe\x2a\x9c\xb7\xe9\x60\xd6\x6d\
+\x6f\x1e\x7c\xe4\x96\x7d\xfb\xe6\x5b\x19\x7a\x7d\xbc\xf1\xff\xf8\
+\xbe\xe7\x3e\xff\x39\xc5\x68\xad\xaa\x2a\xd2\x3a\x49\x12\x78\x0f\
+\xaa\x83\x14\xcf\x7c\xf6\x75\x1e\x23\x70\x29\xa8\x41\x21\x04\x56\
+\xca\x38\x9f\x33\xe3\xe2\x7d\x37\xcc\xa7\x4f\x8b\xd5\xc5\xc0\x3c\
+\x63\x6f\xc6\x97\x5c\xbc\xef\xa9\x59\x32\xaf\xb4\x44\xb1\x07\xb9\
+\x10\x02\x53\x12\xbc\x81\xe8\xb3\x77\xb5\xd1\xce\x5c\x35\xd9\x76\
+\xf5\x04\xf5\x70\x65\xfd\xcb\x93\x49\x93\x3e\x8a\x76\x1b\x00\xbe\
+\x72\xef\x57\x64\xb2\x3e\x3e\xf6\xc8\xdc\xa5\x07\x90\xa6\x61\x92\
+\x47\x59\x3b\x4a\x5a\xb5\xf5\xef\xff\xe0\x5f\x35\x93\xc3\xb1\x93\
+\x1c\xf7\x84\x80\xf7\x18\xd1\x61\xa6\xe6\x39\x15\x73\x54\x57\x12\
+\x99\x16\x81\x43\x70\x21\xd4\x40\x50\x1c\x25\x71\x37\x33\x33\xa9\
+\x9a\x8d\x55\x9f\x9a\x40\xcc\xae\xec\x01\x6a\x5a\xc9\x01\xe1\xdc\
+\xb4\x9c\x00\x41\x9c\xa5\x80\x2d\x36\x56\x7f\xe2\x3f\xbc\x9e\x00\
+\x65\xc0\x1a\xac\xe1\x3c\x5e\xfa\x03\xdf\x6d\xb2\x94\x08\x32\xce\
+\x21\xcc\x91\x76\xb6\xb4\x7e\xeb\xf2\x2b\x17\x5d\xd8\x74\x61\x9b\
+\xd8\x01\x90\xc0\x8a\x13\x1f\x9c\xb3\x34\xd3\xbe\x1a\xd8\x0b\x3f\
+\xe3\xcb\x2c\xd4\x5d\x60\x7e\x36\xba\xa6\x93\x5e\xc4\x14\x05\xb1\
+\x21\xb8\x9d\xb4\x28\x2d\x50\x42\xbb\x43\x06\x8d\x41\xe3\x49\x79\
+\xcd\xb6\x3d\x93\xba\x1a\xbd\x36\x8c\x86\xab\xea\x2a\x97\x95\x13\
+\x93\x2b\xae\xd0\x88\x28\x5b\x9c\x5d\x5b\x39\x86\x22\xef\x2f\x2c\
+\xd4\x79\x69\x74\xcc\x14\xdd\x79\xe7\x97\x43\x00\x37\x79\x5b\x9a\
+\xcf\x49\xb3\x3f\xcf\xda\x66\x38\xdb\x31\x9d\x10\x18\xd0\x69\xd2\
+\xae\xca\x30\xd3\x5f\x12\x28\x81\x15\x58\x00\x44\x8a\x11\x33\x32\
+\x20\x05\x62\x48\x24\x01\x22\xd3\xee\x1f\xe7\xce\xef\x7a\x54\x52\
+\x5c\xb5\xb6\x32\xd3\xeb\x82\xfd\xb3\x9e\xf5\x74\x00\x49\x04\x06\
+\x46\xdb\x10\xc1\x55\x57\x1f\xb0\xe5\x30\x8a\x22\x28\x55\x6c\x6f\
+\x07\x6f\xe3\x54\x23\xe4\xfd\xd9\x58\x68\x62\xdd\xb8\xa9\xd9\x0c\
+\x5e\x13\xe2\x34\x69\x8b\x4f\x22\xb5\x07\x98\x05\x45\xca\x10\x73\
+\x1c\x5c\x0a\xcc\xc7\x7a\x4f\x70\x71\x91\x3b\x91\xa6\x64\xd7\x4e\
+\xb3\xca\xa6\x59\x33\xbc\xeb\xa9\x9d\xe2\x50\x6d\xaf\x7e\xd3\xf3\
+\x9f\xdd\xf8\xc0\x0c\x6c\x37\xd3\x9d\x8c\xf6\xef\x6d\x9d\x5a\xb5\
+\x97\x5c\xba\x37\xdf\x5c\x23\x86\x6a\x25\x5b\x87\x1e\xe6\x28\xb2\
+\xd6\x2b\xa5\x8b\x32\x0f\xd3\xb0\x57\x10\x16\x0b\x2f\x4f\xa8\xa9\
+\xb0\xc3\xf2\xa4\x29\xb1\x61\x07\xe9\xb4\x67\x9d\xe5\xf9\xb9\xbd\
+\x02\xed\xbd\xf3\xa1\x0e\xe2\x21\x4c\x88\x80\x18\x88\x43\x88\x09\
+\xa7\x27\x13\x9d\x66\x9a\x12\xa6\x9e\xb6\x73\x9e\x25\x00\x61\xcf\
+\xd5\x57\x6d\x1e\x7d\x18\xae\x7e\xca\x75\xd7\x10\x50\x16\x43\x22\
+\xf4\xfb\x88\x12\x78\x99\x20\x14\x40\x30\x9d\x0e\x26\x05\x00\xe2\
+\x00\x05\xa5\x03\x2b\xeb\x25\x57\x0a\x44\xe4\x1d\x24\x44\x9a\x7b\
+\x24\x9d\x88\x16\x21\xd9\xe9\x3a\x20\x46\x0b\x98\x4b\xd4\xc5\x2c\
+\x83\xba\x34\x8a\x13\xa5\xc8\x85\x11\xa9\xb2\x99\x61\x1b\xe8\x34\
+\x23\x6f\xba\x8e\x48\xb7\xdb\x01\xdc\x65\x17\xef\x1b\xf4\x30\x19\
+\xae\x05\xc9\xad\x1b\x4d\x26\x5b\x1b\xeb\xdb\x4b\x8b\xe6\xf2\xcb\
+\x0e\x00\xbe\xd7\xeb\xf8\xbc\xe8\xed\x3b\x10\xf2\xca\x5a\xaf\x4d\
+\xcc\x9c\x0c\x27\x08\x04\x2b\x5e\x93\xde\xb1\x6d\x9f\x18\x99\x77\
+\xe6\xdc\x78\x3f\x6d\xf8\x16\xc0\x69\xd2\x0b\xce\xf4\xbb\x8b\x02\
+\xe5\xbd\x0f\x52\x4f\x1b\xa9\x90\x01\x62\xc0\x34\xc8\x11\x9d\xc3\
+\xf3\xb1\x2b\xe9\x94\xcf\x79\xa8\xe3\x07\x0f\xb6\x16\x97\xb3\x85\
+\xc1\xff\xdf\xde\x97\x47\x59\x56\x95\xf7\xfe\xf6\x70\xa6\x7b\xee\
+\x50\x53\x57\xf5\xa8\x0d\x68\x83\x12\x1c\x00\xe3\x6c\x54\x12\x87\
+\x24\x26\x46\xc5\xe7\x10\xf2\x54\x40\x54\x90\x07\x62\x34\x68\x04\
+\x5f\x14\x04\x82\x32\x29\xc6\x08\x8a\x43\x9e\x13\x84\x41\x10\xd0\
+\x48\xb7\x60\xa7\x01\x85\x46\x86\xa6\xa1\x07\xe8\xa9\xaa\xab\xea\
+\xd6\x9d\xce\x7c\xf6\xf0\xe5\x8f\x53\xd5\x5d\x0d\xea\xd3\x95\x17\
+\xcd\x5b\x8b\xbd\xce\xaa\x75\xef\xa9\xbb\xd7\xbe\xf7\xec\xe1\x9b\
+\x7e\xdf\xef\x9b\x9e\xda\x55\x68\xd5\x6c\x04\xd6\x54\x24\xaa\x88\
+\x93\xae\xdb\xa8\x6b\x53\x6a\x65\xe1\x79\xf5\x46\x2b\xef\xf5\xb8\
+\x00\x41\x09\xc9\xac\xd5\x15\x94\xbd\x32\x37\xf3\x4c\x59\x23\x01\
+\x0f\xc4\xb3\x34\x46\x65\x5c\x0a\x07\xe4\x05\xde\x98\x23\x9a\x20\
+\x4f\x0a\x5f\x08\xa1\x4d\x61\xa9\xf8\x55\xb8\xdb\xce\xe4\x6e\xaf\
+\xd1\x2c\x55\x6e\x2c\x86\x5a\x2d\xa3\x4b\x57\xca\x7a\x18\x8c\x8e\
+\xb5\x88\x00\x6b\x60\x55\x9e\xa5\xe0\xe8\x4f\x4d\x05\x43\x43\x8c\
+\x31\x29\xa5\xeb\xba\xbd\x5e\x1f\x40\x51\x14\x04\xc8\x03\x43\xf2\
+\xbf\x9b\x78\x1e\x7f\xf2\xc9\x29\xf8\x3c\x0c\xc9\x45\xe0\xc8\x5a\
+\x59\x90\xe7\x0e\x09\xf8\x51\xd4\x0f\x02\xdf\xf3\x3c\xad\xad\xe0\
+\x3e\xe0\x94\x05\xd8\x2f\x83\x04\x30\x08\xc1\x9c\x79\xac\x6d\xb5\
+\xd2\x17\x29\x9c\xdc\xf5\xf2\x34\x49\x3b\x73\x8e\x23\x7c\xc9\x39\
+\x2c\x67\x9a\x31\x08\x8e\x7a\x23\x28\x93\x81\x10\x82\xca\x12\x7e\
+\x10\x47\x89\xa8\x35\x6d\x8c\x7a\x38\x64\x0d\x9a\xcd\xa1\x3c\xcf\
+\x8b\x5c\x39\x8e\xc3\x18\x13\x42\x68\x3d\xcf\x16\x62\xa9\x80\x30\
+\x59\x12\xc3\x96\x60\xe8\x76\xbb\xd6\x22\xf0\xc3\x24\xc9\x88\xa8\
+\xd5\x6a\xe5\x79\xfe\xab\x9e\x82\xdf\x6a\x15\x71\x9c\x24\x09\x80\
+\x38\x8a\x5d\x27\x48\xd3\x64\x21\xad\x02\x93\x93\x93\x6e\xd8\xcc\
+\x3b\x1d\xe1\xba\xbc\x5e\x07\xb3\x9c\x43\x9b\x32\xcf\x07\x13\x13\
+\x2d\x00\x35\xbf\xd6\x19\x74\xd8\xef\xdb\xc3\x72\xc0\xe8\x64\x05\
+\xe0\xd6\x82\x96\xd1\xd2\x73\x9a\x55\x49\x5f\x63\x94\xb5\x96\xcd\
+\x97\x3e\x07\x67\xbf\xba\xfb\xfe\x95\x61\x0f\x34\x18\xf8\xa2\x39\
+\xae\x22\xd3\x7a\x01\x49\x6d\xf7\x2b\x81\xfb\x6a\x90\x90\xeb\x0d\
+\x35\xf6\xec\x6e\xab\x92\x97\x05\x29\x65\x87\x86\x46\xaa\x94\x06\
+\xa5\x53\xb0\xc2\xa2\x0b\x96\x86\x0d\x07\x28\xfd\x80\x41\x94\x40\
+\xa4\x6d\x5f\xe9\x58\x48\x72\x5d\x69\x2d\x54\x69\xa5\xf0\x9e\x24\
+\xdd\x2b\xf9\xc7\xf2\x38\x6b\x2e\x59\x7a\xcd\xd5\xd7\x0b\x8e\x7a\
+\x63\x18\x70\x2c\x39\x80\x53\xe4\x00\xe1\xd1\x2d\x8f\x13\x31\x56\
+\x6f\x48\x29\x6d\x96\x65\x51\xbf\x5e\xaf\x65\x51\xaf\xd9\x1c\xf2\
+\x3c\x68\x0d\x00\x23\xcd\x61\x75\x20\x31\xdd\xef\x5e\x61\xd9\x47\
+\x2d\x8d\x4a\xa3\x03\x44\xb3\x31\xa6\x0a\xee\xf3\x16\xe0\x73\xce\
+\xb5\xd6\x15\xdf\x18\x63\x62\x5f\xdc\x07\x4f\x80\x0e\x60\x1f\x7b\
+\xc6\x93\xb4\x21\xe2\x9c\xaa\x20\xc3\x3e\x57\xf5\x2f\xcd\x85\x5c\
+\x50\x79\x48\x82\x1c\x8e\xc6\x9d\xeb\x1f\xf4\x9c\x51\x32\x35\x55\
+\x70\x21\x9c\xa2\xcc\x08\xb9\x17\x58\xc7\xcf\xa6\x3b\x9b\x80\x0e\
+\x58\xae\x55\x9c\x15\x6d\x63\x67\x14\x76\x24\xe5\xf6\x42\xcf\x82\
+\x67\xd2\x81\x31\xa4\x95\x70\x2a\xb6\x17\xa6\x39\x2c\x5b\xbc\x38\
+\x20\x6b\xcd\xd1\x2c\x35\x85\x16\x15\x46\xac\x37\xc8\xc3\x70\x98\
+\x08\xae\x8b\xcd\x9b\x07\x2a\x23\x6d\x05\x67\x6e\xa1\x34\x1c\xce\
+\x5d\x99\x66\x11\x93\x9c\xc1\x08\x06\xab\x4d\xe5\x80\x10\xfc\xf7\
+\x63\xe7\x3d\x71\x20\xb6\x9f\x81\x46\x86\x72\xa8\xe2\x4f\x29\xb4\
+\xe6\x5c\x68\xad\x01\x48\xe9\x56\x19\x37\x9c\x63\x11\xfe\x60\xf1\
+\x3c\x2d\xb6\xa8\xe8\x80\x49\x21\xb6\x9f\xe9\x68\xa1\xe2\xcf\xfe\
+\x33\xfc\x09\x3c\x2c\x24\x60\xbd\x6c\xc0\x7e\xb2\xf6\xbe\xe1\xe6\
+\xd3\x5d\x31\xe2\xb9\xcd\x3c\x2b\xad\x55\x5c\x68\x63\x4b\x8b\xe8\
+\xf1\xdd\x77\xc6\x6a\x13\xd0\x95\x4e\x56\x0b\x8d\xe0\xbd\xed\xbb\
+\x36\x24\xf9\x4e\x26\x72\x63\x2a\x76\x34\xce\x20\x38\x17\xbf\x04\
+\xb8\x07\x06\x12\xa5\x82\x8a\xf3\x66\x73\xfc\xb5\xaf\x3b\x85\x08\
+\xae\xdf\x32\x84\x34\xc7\xf4\x2c\xce\xf8\xf0\x59\xb5\xa1\xa5\x5c\
+\x04\x86\x80\x38\x16\xbe\xe3\xf9\x6e\x59\xc4\x13\x4b\x47\x57\xae\
+\x5a\x2a\x38\x7c\x57\x58\x63\x18\x98\x84\x64\xff\x1d\x8e\x4d\xc6\
+\x40\xf3\xbb\x4a\x38\x08\xea\xe1\x30\xe0\x64\xa9\xe6\x4c\x5a\x6b\
+\x39\x13\xee\x22\x27\x2c\xd1\x62\xef\xa8\xfe\xb5\xdf\x7c\x3f\x41\
+\x15\x27\xb6\x40\x6f\xc3\xf7\xa7\x8d\x63\x1f\x42\xcb\x2e\xda\x79\
+\x01\x63\x43\xf7\xdd\xf3\x78\x91\x06\x46\x85\xf5\x70\x54\x6b\x53\
+\x0b\x5d\x2e\x48\x6b\xed\x07\x62\x90\x6f\xde\xbe\xfb\xb6\xd9\x68\
+\x63\xa2\xb6\x14\xd8\xba\x7d\xef\x1d\xbb\xa6\x7e\xc6\xdd\x5e\x18\
+\x06\xd6\x08\xad\xc0\x39\x67\x9c\x8c\xd1\x95\xfc\x9d\x9f\xbf\xfd\
+\x50\x30\x39\x3c\xb2\xd4\x1b\x5a\xd6\xed\x16\xff\xbe\xe1\x81\xd7\
+\xbe\xfe\xbd\x69\x06\x03\x74\x7a\x38\xe3\x8c\xf3\x6e\xbd\xf9\xc7\
+\x5a\x3b\xae\xdb\xe4\xb2\xc2\x0c\x98\x2c\xed\xd7\x9b\x61\xbb\x3d\
+\x7d\xc2\x89\xef\xaa\xd4\x34\xa3\xb5\xca\x0b\xf6\x3b\xf7\x6d\xfe\
+\x6a\x34\xae\xa9\xca\x44\x72\x40\x2c\x5f\xbe\x0a\x90\xaa\x24\xee\
+\x48\x00\xae\xeb\xfa\x9e\xbf\x6f\xe1\x2e\x58\xbd\x7a\x51\xc9\x72\
+\xfe\xcb\xb2\x6b\xf6\xef\x30\x46\x55\x37\xce\xa9\xf2\x56\xcf\x67\
+\x2c\xa0\xc2\x44\xec\xdb\xa4\xc4\x01\x01\xeb\xd5\xfc\x25\x7b\x77\
+\x6e\x7a\xf0\x17\x3b\x97\x4c\x30\xdf\x95\xd6\xc2\xf1\x79\x51\x64\
+\x64\x9d\xb0\x56\xcb\x65\x7f\x6a\xee\xae\xc9\xc9\x5d\x1c\x75\xc6\
+\xf5\x20\x99\xf4\xc3\x74\xa8\xe5\x39\x72\x38\xcb\x12\x50\xc6\x85\
+\x24\xe4\x86\x72\xce\xcc\x93\xc2\x99\x12\xc0\xec\xb6\xed\xb5\x25\
+\x13\xad\xe1\x46\xbf\xbd\xed\x9e\x7b\x1e\x5e\x32\x7e\x28\x4a\x53\
+\x19\x42\x5e\xb0\xbc\x88\x0a\xc7\x15\x16\x40\xe0\x43\x70\x90\x26\
+\x90\xce\xfb\xef\x3d\xe1\x1d\xd5\xb1\xe2\x3a\x2e\x98\x63\x8d\xe1\
+\x8b\x70\x2c\xfc\xf7\x3a\x79\x76\x41\xef\x60\x4f\x5b\xb5\xba\x02\
+\x4c\x54\x81\x31\xd7\xf5\x79\x95\x30\x3e\xef\xc5\xc6\x02\xa6\x58\
+\xff\x06\xc5\x22\xd9\x81\xd1\x44\xbe\x9f\xba\x96\x16\x19\xd1\xfb\
+\x3f\x23\x41\x0e\x19\x0f\x36\xdc\xbc\x69\xd7\x50\x6b\x59\x96\x1a\
+\x10\xd7\xba\x34\xc6\xe8\xd2\x2b\x72\x2b\xbd\x98\x7b\x93\xdc\xdf\
+\x2d\x82\x3d\x70\x77\x8f\x2f\x67\x5e\xad\x00\x6c\x99\xbb\xa6\x6c\
+\x08\x56\x27\x32\xda\x46\xc2\xc9\xc1\x4a\x4e\x0b\xd2\x8e\x2d\x60\
+\x34\x49\x4c\xac\x39\x22\xed\xc4\xfd\xf6\xec\xc8\xc4\x33\x20\x6a\
+\x20\xb7\x35\x71\x70\x63\x6c\x35\xd0\x5a\xbe\xe2\x10\x78\x43\x2a\
+\x37\xd0\x00\x77\x38\x67\xd2\x77\x92\xb8\xfb\x57\xc7\xbe\x25\x08\
+\x2a\x60\x59\x59\x19\x49\xec\xb7\x75\x8f\x2d\xa4\x92\xce\x5f\xff\
+\x09\x7f\xd8\x22\x30\xd2\x02\x1f\xc3\x02\x9a\xb1\x36\xd6\x3a\x08\
+\x90\x9c\x0b\x46\x2e\x83\x2f\x78\x30\x4f\x94\x62\xed\x93\xba\xf3\
+\x03\xc4\x1b\xc0\x08\x1c\x96\x41\x33\x68\x41\x96\x11\x71\x02\x87\
+\x99\xcf\xd6\x9b\x27\xf8\x73\xe6\x23\xd2\x04\x46\x12\xb0\x0c\x1a\
+\x16\xc2\x56\x1d\x6d\x99\xe9\x5a\x73\x59\x16\x07\xab\x9f\xf6\x42\
+\xa3\xeb\x42\x34\xad\x92\x9e\x5b\x0b\xc3\xb0\x54\x89\xd2\x09\x13\
+\x79\xad\xa1\xbd\x5a\x51\xea\xae\x70\x4a\xc7\x71\xca\xd2\x46\x83\
+\x44\x29\x2b\x84\x43\xc4\xac\x35\xae\x5b\x31\x14\xec\x13\x75\x1e\
+\xac\x5f\x45\x39\xa6\xb7\x6f\x65\x81\x33\xba\x62\x59\x67\x66\xf7\
+\x60\x10\x87\xcd\x25\xa5\x66\x51\x2f\x1a\x19\x5f\xf5\xd8\xd6\xad\
+\x61\x38\x0c\xc3\x84\x64\x30\xa9\x55\x89\x2e\x06\x0c\xf9\x55\x5f\
+\xbb\xa8\xc8\x01\x06\x9a\x27\xab\x90\x8c\xb9\x07\x98\x43\x00\xb2\
+\x2c\xdb\x07\xc3\x03\xe6\x53\x92\x4a\x65\xa2\x24\x26\x20\x53\x19\
+\xc1\xc6\x79\x64\x61\x4c\xe5\x9e\x59\xc0\x9e\xe6\x99\xb6\xa6\xc2\
+\x4f\xda\x85\x40\x41\x91\xe7\x29\x60\x93\x34\x02\x6c\x92\x44\x07\
+\x4e\x9e\xb3\xf8\xd1\xfb\xbe\x63\x2c\x00\x47\x60\xb9\xc4\xca\x3c\
+\x37\x52\xb8\x51\xdf\xae\x1c\x7f\x36\xa3\x00\x70\xb4\xb6\xf3\x79\
+\x59\xf3\x1b\xc8\xc9\x32\xab\xf5\x7c\xea\xa2\x25\x0b\x06\xa3\xe0\
+\x71\x98\x32\x21\xd3\x75\x50\xba\xcc\xb8\x20\x9f\xa1\xe6\x81\x74\
+\x02\x52\xd5\x0a\x51\x8a\x67\x59\x0e\x06\xa5\xd0\xaa\x37\x40\x46\
+\xc5\xd1\x92\xd6\x88\xcf\x38\x65\xd3\x1c\x89\x94\x3c\xed\x97\xd6\
+\xac\x58\x31\xfc\x12\x47\xac\x6e\xef\x45\xab\x7e\x90\x55\x4e\x5e\
+\x4e\xfb\xa1\x72\x44\x1d\xa6\xa9\x4a\x9b\x24\x89\x23\x03\x55\x70\
+\xa3\x7c\x06\xb7\x56\x17\xae\xaf\x95\xce\xc8\x0a\x57\x36\x61\x43\
+\xc6\x7d\x26\x24\x38\x27\x48\xe4\x3e\x32\x07\x06\x8c\x5b\x5e\x13\
+\x8e\xcc\x92\x64\xe7\x0b\x5f\x7e\x38\x83\x49\xe6\xfa\xae\x90\xb0\
+\xe8\x74\xa3\xa0\xb5\x3a\xcf\x08\xa5\x75\x59\xe1\xb9\x85\xed\xef\
+\x75\x59\xb6\x61\xc3\x4d\x61\x80\x0a\x67\x25\xab\x12\x10\x04\xa8\
+\x27\xca\x3c\xeb\x79\x4e\x55\x4c\xa2\x62\x94\xa9\x54\x73\xc7\x11\
+\x8e\x53\xb7\xb0\x9e\xe3\x58\x40\x08\x61\xa0\xc9\x82\x33\xc7\x68\
+\x54\x74\xbc\x52\xca\xaa\x0e\x08\x63\x2c\x8e\x63\xdf\x77\x85\x10\
+\x8e\xe3\x00\x36\x08\x02\xc0\x72\xf1\x6b\x4f\x35\x56\x21\x1e\xc1\
+\x58\x05\x4a\x34\x52\x9a\x56\x73\x4c\x5b\x16\x78\x0d\x80\x17\x45\
+\x2e\xa5\x5b\x2a\xed\x3a\xb2\xdf\x4b\x9a\xcd\x30\xa8\x88\xbf\x80\
+\xaa\xcc\x5e\x9e\x97\x9e\xf4\x09\x08\x6a\xac\x16\x38\x8e\x28\xb2\
+\x52\x81\x1c\x4b\x4c\xab\x68\x7c\xe9\xd2\x99\xbd\x99\x94\x2c\x8e\
+\x51\x6f\xc0\x71\x6b\x95\xd6\x1a\x0d\x3a\x40\x06\x2b\xbb\xb3\xbb\
+\xb5\x62\xcd\xe6\xb8\x5f\x73\x06\xfd\xb2\x56\x1f\x35\xba\x6e\x30\
+\x76\xf4\x91\xaf\x79\xf0\x61\x36\xbd\xe7\xa1\xb0\xd9\x0c\x6a\x6e\
+\x9a\xf6\x19\x9a\xae\x1b\x08\x1e\xb8\x81\xab\x15\xc5\xbd\xfc\x15\
+\x2f\x7b\xe5\x4c\x7b\x66\xef\xde\xbd\x49\x1e\x71\xe1\x49\xc9\xca\
+\x54\xf5\x55\x24\x64\x98\x67\x9e\xd5\xe0\x3e\x17\x5e\x60\x18\x07\
+\xb7\x64\x95\xe7\xb0\x7c\x6e\xda\xad\xdb\x75\xeb\xbe\xd8\xac\x1d\
+\x19\x0e\xb7\xfa\x33\x53\x43\xcb\x9e\x0e\x34\x7b\xd3\x93\xb5\x56\
+\x3d\x55\x03\xce\x4c\x36\xb7\x03\xb0\xd7\x5f\x77\xfd\xd3\x57\x2e\
+\xe1\x00\x73\x16\xd2\x6c\x8d\x06\x93\x4f\x50\x51\x24\xc1\x70\xce\
+\x00\xb2\xd6\x2c\xde\x16\x49\x9a\x04\x41\x90\xab\x9c\x73\x70\xce\
+\x3d\xc7\x33\xd0\x92\x4b\x06\x68\x53\x82\x49\x29\xf9\xbe\x4a\x4b\
+\x8c\x99\x45\xd8\x26\x5b\xaa\xd2\x75\x5c\x80\x02\x3f\x58\xe4\x2e\
+\xb2\x4f\xf8\x5b\xa1\xc1\x16\xe0\x81\x56\x08\xe6\xb8\x22\x0c\x87\
+\xf6\x1d\xb9\x61\x18\x00\x96\x31\x02\x43\x6b\x28\xb4\x76\xde\x3d\
+\x56\x14\x19\x17\x70\xa4\x53\x15\x2b\x1f\xf4\x0b\xc7\xb5\x23\x63\
+\x41\x12\xe7\x9e\x90\xa3\x23\x23\x8e\xe7\x2a\xd5\x28\x8a\xb4\xd9\
+\xf2\x97\x2e\x6f\x05\x35\x0c\xe2\x01\x67\xba\x51\x6f\x3a\x9e\xb4\
+\x48\x96\x2e\x1b\x72\xdc\x90\xe0\x1b\x2b\x9a\xf5\xc6\xdc\x5c\xe7\
+\x90\x43\x56\x3c\xf4\xe0\x86\x7a\xd8\x04\x9c\xba\x5c\xf6\xa2\x23\
+\x5e\x37\x9b\x1e\xb2\x7e\xfd\x0f\xfc\xb2\x99\x65\xa1\xe7\x05\x0e\
+\x9a\x33\x73\x11\x63\xce\xb2\xa5\x2b\x0f\x7e\xf6\xd3\x5d\x8c\x0b\
+\x6a\x91\x0a\x48\x47\x82\x4b\x57\x48\x4e\x1a\x36\x6a\x34\x7c\xdf\
+\x39\x04\x08\x00\xcd\x65\x01\x2e\x0c\x29\x58\xca\xe7\xda\x2b\x9f\
+\xf1\x8c\xdd\xdb\x37\xa4\x29\xa2\xf8\xde\x4b\x2f\xbd\xe9\x23\x1f\
+\xfa\x68\x6f\x6a\x2b\x98\x00\xa5\x85\x72\xbd\x06\x25\xed\xd9\x0f\
+\x9c\x7e\xea\x45\x9f\xfb\xfb\xfd\x51\x09\x9e\x11\x53\x0c\xc2\x42\
+\x71\xe1\x2d\x64\x87\x2f\xa0\x26\x4b\x15\x39\xd2\x23\x10\x5b\xc8\
+\x1f\x60\x42\xca\x85\xa4\x6b\x0b\x14\x2a\x73\x1d\xc9\xc0\x0a\x53\
+\xb8\xc2\x15\x10\x5a\x29\x21\x9c\x6a\x83\x2e\xb0\x77\x43\x9b\x52\
+\x29\xe5\xfb\x7e\xe5\xc2\x31\xd6\x70\xce\x93\x24\xa9\x87\xcd\x5f\
+\x27\x18\xe7\xeb\xd3\xf3\x05\xf9\x6a\x88\x34\x67\xb0\x84\x2c\x2b\
+\x6a\xb5\x90\x41\xa4\x69\xee\xfb\x3e\xe7\xbc\x28\x94\xeb\x4a\xc6\
+\x98\xb5\xba\xea\x51\x94\x05\x67\xae\x74\x9c\x6a\xe1\x55\x47\xba\
+\x05\xe2\x14\x61\x08\x55\xa2\xcc\x11\x36\x20\x39\x38\x14\x83\x4e\
+\xd2\x4c\x8a\xd0\xf5\xbc\x41\xbf\xa8\x37\x3d\x02\x94\x46\x35\x9c\
+\xe0\x28\x4a\x04\x7e\xf5\xd8\xe6\x04\x22\x86\x18\xc8\x0c\x54\x3b\
+\x6e\xcf\x4e\xb7\x47\xc7\x26\xea\x41\xcb\x73\x43\x0e\x47\xce\x17\
+\xff\xb3\x16\x46\x43\x31\x68\x0e\x2e\xc0\x00\xdb\x57\x1d\xc6\x56\
+\x8e\xb4\xfe\x82\x70\x90\x15\x00\x17\x60\x0e\xac\xe1\x56\xbb\x22\
+\xe6\x7c\xaa\xdf\xd9\x02\x42\x51\x82\x31\xec\xd9\x83\xdb\xd7\xaf\
+\xb3\x48\x1a\x4d\x5a\xb5\x6a\xf9\x0b\x9e\x7f\x24\x80\xc9\x3d\x7b\
+\x57\xad\x58\xca\x2b\x8a\x72\xb4\x85\xd4\x1c\x2e\x2c\x72\x70\xa7\
+\x99\x00\x00\x10\x22\x49\x44\x41\x54\x03\xf7\x9f\x38\x79\xca\x0c\
+\x24\x97\x4a\x1b\x47\x7a\x00\x4b\xd3\x3c\xa8\xd5\xab\xff\xe5\x79\
+\xe9\xfa\x6e\x51\x16\x9e\xeb\x01\x48\x8b\xa4\xe6\x05\x1c\xb0\x56\
+\x09\xee\x00\xb6\x2a\x23\x50\xd5\x10\xdd\x37\x19\xd5\x4c\x28\xa5\
+\x1c\xc7\x29\x8a\xc2\xf3\xbc\xdf\x7c\xf2\x00\x6b\x49\x55\x2c\x1c\
+\x49\x9a\x85\xb5\xfa\x7e\xbc\x3e\xed\xdb\x76\x85\x52\x55\xc9\x6e\
+\xe4\x79\xee\xf9\x3e\x2a\x1e\x7f\x29\x95\x06\x03\xa4\x7b\x80\xba\
+\xc5\x19\x18\x54\x92\xf7\x1b\x7e\x00\xb0\xb2\x24\xcf\x0d\x08\x3c\
+\x2b\x95\xeb\x3a\x5a\x83\x09\x30\x20\xcf\xe1\xfb\x00\xd0\xef\x95\
+\xb5\x3a\x49\x59\x6a\xd5\xaf\xb9\x8e\x86\x96\x90\x85\x2e\x1d\x19\
+\x08\xb8\x04\xde\xeb\xf7\xc2\x7a\xd3\x68\xed\x7a\x9e\x00\x08\xc4\
+\xa0\x35\x94\x58\xc0\xea\x18\x8c\x84\xf5\xa3\x15\x0d\x11\xaf\x04\
+\x4c\xc0\xe1\x0c\x87\x61\x77\xf6\x51\x5b\x3e\xaa\xa9\xab\x14\x1c\
+\x09\x02\xba\x7d\x0c\xb7\x90\x15\x36\xf0\xd3\x92\x52\x66\x42\x57\
+\x86\xf3\xd9\x09\x1a\xa5\x82\x13\xcc\x71\x96\xcf\x07\xc5\xac\x0f\
+\x0b\x08\xb1\x4f\xee\x70\xc9\x65\xf5\xac\xab\xf7\x9e\x17\x00\x98\
+\x9e\x9e\xd3\x1a\x42\xb8\x00\x3c\xd7\x8b\xa2\x1c\x40\xe0\x85\x45\
+\x69\xa8\xaa\xf1\x37\xef\x99\x64\x82\x3b\x00\x2f\x0a\xd5\xeb\x0d\
+\x2a\x45\x3f\x8e\x73\xad\xe1\x48\x2f\x4d\xb4\xe7\x05\x07\x6a\x89\
+\x4f\xbc\xaa\xca\x30\x8b\x8b\xfb\x70\xe6\x4c\xed\x9d\x01\x9c\xb0\
+\xd6\x9c\xf7\xa1\x10\x06\xfd\x54\x95\xb6\xc8\x4d\x59\x58\xcf\xf5\
+\xea\x61\x5d\x6b\x64\x99\xf2\xfc\x1a\x11\x2f\x4b\x2d\x5d\x29\x38\
+\x3c\x17\xae\x3b\xbf\x2c\x0b\xad\x00\xcc\x75\xa6\x95\xcd\x0a\x55\
+\x18\x43\xd5\xb2\x75\xa4\xa7\x4b\x43\x54\xfa\x2e\x04\xb4\xa5\x4c\
+\x30\x74\xfb\xb9\x74\xa0\x35\x92\x04\xad\x21\xd7\x71\x3c\xc1\x1a\
+\x9e\xbb\xd2\x62\x22\x8e\x43\x8b\x25\xae\x5c\x09\x8c\x25\xa9\x6f\
+\x51\xf7\xdd\x15\x42\x34\x7d\x77\x04\x08\x2d\x85\x16\x75\xc2\x10\
+\xc3\x28\x30\xa4\xa8\x69\x31\x52\x2a\x68\x25\x18\x63\xcc\x65\x90\
+\x60\x8c\x71\xcb\xe3\x7e\x6c\x4b\x3d\x34\x3a\xce\x08\x8e\x40\x96\
+\x45\x8c\xa9\xe1\x21\x43\x1a\x75\x9f\x0f\xa2\xe9\x80\x99\x40\xaa\
+\xa8\x3f\xcd\x00\xab\xc1\x00\xcf\x03\x67\x0c\xa0\x4e\xaf\x0d\x48\
+\x58\x61\x8c\x78\xb2\xfa\x2e\x39\x77\x00\x41\x24\x04\x17\x33\x33\
+\xdd\x8b\x2f\xba\x6c\xdd\xda\xf5\x64\xa1\x15\x6e\xba\x71\xdd\x99\
+\x7f\x77\xf6\xe4\x9e\xfe\xcd\x37\xdf\xfe\xfe\xf7\x9d\x46\x96\x31\
+\x21\x09\xdc\x58\x0e\xe6\x10\x78\xa9\x68\xcf\xe4\xcc\xe9\x1f\xfa\
+\xe8\xd4\x54\x97\x08\xae\x5b\x13\x82\x13\xf0\xb7\x1f\xf9\xf8\x8d\
+\x37\xfe\x1b\x1d\x48\x75\xb0\xef\xaa\x62\x8c\x55\x98\x87\xc0\x16\
+\x6c\x11\x4e\x90\x67\x9d\x75\xce\xcf\x7e\x7e\x3f\x81\xc7\x49\xa9\
+\x0d\x36\xdc\xb9\xf1\xdc\xcf\x5c\x70\xee\x67\x2e\xbc\xe0\x1f\x2f\
+\xfe\xc2\xe5\x5f\xbe\x77\xe3\x66\x02\x84\xe0\xfd\x7e\x06\x42\x91\
+\x93\x32\xfc\xc0\x3c\x2c\x22\x52\xa6\xcc\x18\xcc\x92\xd1\x31\xab\
+\xc9\x73\x6a\xcd\x70\xc9\x6c\x27\x06\x3c\xce\xa4\x94\x0e\x83\xcb\
+\xc0\x6e\xba\xf9\xc6\xd3\x4f\x3f\x95\x41\x8f\x0e\xf9\x64\xe0\x4a\
+\x7c\xf9\xcb\xdf\x38\xf5\x83\xe7\x7c\xe2\xe3\x97\x9f\x7a\xea\xf9\
+\x97\x5c\xf2\xdd\xbc\x44\xa3\x3e\x74\xd1\x25\x5f\x3a\xfb\x93\x17\
+\xc4\x09\x84\x74\x09\x70\x7d\xa6\x35\x2a\x06\xa5\xac\x40\x5e\x56\
+\xc5\xa6\xb8\x85\x84\x75\xac\x81\x56\x55\x20\xd7\x61\xac\x8a\x19\
+\x33\x80\x17\x71\x16\xd6\x47\xf3\xc4\x72\xc0\x1a\x55\xaf\xd1\x83\
+\x9b\x6f\x9c\xda\xfb\x33\x87\x83\x29\x8c\x34\x26\x94\xc9\x80\x78\
+\xa8\xe5\x64\x49\x2a\x16\x51\x3a\x45\xd9\x60\xf3\xe6\x4d\x00\x27\
+\x3b\x5f\x95\x69\x7f\xd3\x26\x27\x32\xc6\x18\x22\xb2\x86\xc8\xd2\
+\x6d\xb7\xdd\xed\x3a\xa3\x1f\xff\xd8\x05\xd6\x50\x9a\xd1\x47\xff\
+\xee\x42\xe9\x2c\xdb\xb1\x33\xbd\xe2\xab\x37\x00\x4d\x6b\xc9\x12\
+\x59\x4b\x65\x49\x5a\x93\xb5\xd4\xed\x16\x77\xdc\x71\x0f\x10\x6e\
+\xbc\x77\xab\x35\x94\x67\x64\x0d\x59\x43\xc0\xd0\xc7\x3f\x76\x81\
+\xb5\xf4\x4b\xaf\xaa\x6f\x75\x19\x43\x5a\x93\x52\xa4\x35\x69\x4d\
+\x40\xf0\xc5\x2f\x7e\xc3\x5a\x8a\x22\xb2\x96\x2e\xbb\xec\xab\x82\
+\x0f\x01\xf5\x56\x73\x25\x50\x1f\x5f\xf2\xcc\xab\xbe\x7a\x6d\x35\
+\x84\x35\xa4\x0d\x69\x4b\xda\x52\x56\x50\x92\x93\x26\x52\x8b\x2e\
+\x4d\x24\xbc\xda\x9f\xfd\xc5\x9b\x35\x51\x5a\x90\xb6\x54\x7d\xa2\
+\xdf\x2d\x89\xe8\xc3\x1f\x39\x1d\x1c\xb9\x8a\x73\x53\x68\xa2\xd9\
+\xae\x7a\xf6\x73\xff\xc4\x0b\x0f\x93\xfe\xe1\x90\xcf\x62\xce\xe1\
+\x6e\x78\x78\x61\x69\x7c\xf9\x9a\x55\xab\x9f\xab\x2c\x29\x4b\x71\
+\x46\xb9\x22\x65\xa9\x34\xa4\xec\xfc\x28\x85\xa5\xc2\x52\x59\x8d\
+\x68\x29\x2f\x88\xcb\x97\xf3\xda\xeb\xd1\x78\x35\x1a\xaf\x42\xfd\
+\x0d\xb2\x7e\xec\xe8\x92\x77\x31\xbc\x42\x60\x8d\x29\x89\x2c\x25\
+\xf9\x96\x6b\x6e\x3e\xed\xc1\x6d\x5f\x21\x43\x36\x21\xb2\x73\x44\
+\x8f\xae\xbf\xfb\xe2\x6b\xae\x3f\x9b\x68\x8e\xa8\x54\xc5\x0c\xd1\
+\x64\x5c\xde\xbb\x7d\xcf\x0d\xdf\xf8\xce\x99\x44\x53\xa6\x20\x2a\
+\x89\xe6\xcb\xcc\x11\x11\x71\x6b\x24\xc0\xc9\x72\x55\xce\x87\xcd\
+\xc6\x46\x97\x69\xc5\x3d\xb7\x59\x09\x8c\x91\xe1\x09\xa3\x79\x9e\
+\x99\x3f\x7c\xc1\x4b\xff\xf9\x8a\x6f\x18\x8d\x38\xa2\xef\xdf\xb0\
+\xf6\xaf\xdf\x79\xc2\xe3\x8f\xb5\xbf\x76\xd5\xb5\x8f\x3f\x36\xa5\
+\x4a\x0e\x78\x2b\x57\x1c\xfc\xe1\x33\x3e\xf3\xe1\x33\xfe\x77\x15\
+\xe6\xc0\x7c\x25\x0b\x4c\xef\xcd\x4e\xfe\xc0\x99\x6f\x7f\xdb\x49\
+\xd7\x5c\xfd\xa3\xb2\x40\xaf\x6b\xcf\x3d\xe7\xf3\x9c\xe1\xc4\x13\
+\xce\x38\xed\x7f\x9d\x55\x8d\x6b\x34\x2e\xbb\xf4\x2b\xef\x7c\xc7\
+\x49\xbb\x77\x0d\x7c\x6f\xc8\x91\xb5\x38\x42\x58\x03\x08\x52\x04\
+\x8e\x0c\x1f\xbc\x7f\xcb\xce\x1d\xbb\xac\x8e\x8c\xe6\xef\x7a\xf7\
+\x09\x20\x18\x8d\x3d\xbb\xf4\xc9\x1f\xf8\xf4\x7b\x4f\xfc\x24\x2c\
+\x1c\x89\x7f\xbd\xe6\xa6\x1f\xde\xba\x7e\xdb\xd6\x3d\xc7\xfd\xf5\
+\xf1\x57\x7d\xf5\xff\x30\xe0\xda\x6b\x6f\x81\xf5\x07\x7d\xf5\x83\
+\x1b\xef\x64\xc0\x4f\x6f\xdf\x72\xdc\x3b\xce\x7c\xcf\xbb\x3f\xb1\
+\xf5\xd1\x49\x58\x70\x0a\x38\x67\x52\x78\x92\xbb\x00\x3c\x4f\x3a\
+\x8e\x53\x24\xe9\x60\xf0\x60\x1c\x6d\xfa\xd6\xb7\xaf\x2e\x93\x6c\
+\xcb\x96\x9e\x2a\xa9\xd5\x1a\x05\x90\x65\x38\xef\xbc\xcb\x8e\x3d\
+\xf6\x84\x4f\x7d\xea\x0b\x8c\x21\x8e\x71\xee\xb9\x97\xf6\xfb\xfa\
+\x82\xf3\x2f\x79\xdf\xfb\x3e\x38\x3d\x3d\xa7\xcd\x3c\xa3\x88\xd5\
+\x11\x63\x22\xf0\x5b\xb0\x9e\xef\xd6\x8d\x31\x79\x9e\x0d\x0f\x8d\
+\x1a\x38\x9c\x40\x25\x84\xb4\x32\x98\xb6\xe2\x71\xf0\x59\x4b\x11\
+\x58\x0a\xb4\x0b\x7a\x60\x7c\xe5\xdc\x8e\xdd\x3f\x01\xb6\x4a\xf7\
+\xfe\xfb\xb7\x7e\x65\xb2\xfd\x53\x92\xbb\xea\xa3\xd3\x0a\x8f\x70\
+\x77\x40\xe2\x00\xf7\x11\x77\xa4\x00\x81\x08\x64\x51\x96\xc8\x33\
+\x68\x65\x3d\xaf\xf6\xa3\x1f\xfe\xf8\xa3\x1f\xb9\xf8\xf4\xd3\xce\
+\xfb\xc1\x4d\x3f\x74\x64\x60\x0d\xbf\xe1\xfa\x1f\x9c\x7e\xda\x47\
+\x99\xc0\xf7\xbe\x7b\xdd\x5f\xbe\xf1\x2d\x49\xac\x5e\xfa\x92\x57\
+\xbe\xfb\x3d\x27\x5e\xfd\xbd\xeb\x27\xc6\x57\x3a\x22\x18\x9f\x58\
+\x71\xff\x2f\x36\x7d\xfe\xf2\x2f\xbd\xfd\x6d\x27\xf7\xba\x00\xe4\
+\xca\x15\xab\xa3\x01\x9e\xfd\xac\xe7\xac\x5b\xbb\xfe\xe5\x2f\x7b\
+\xd5\xb1\x6f\x7d\xfb\x67\x2f\xfc\xd2\xec\x4c\xef\x93\x67\x7f\x9a\
+\x8b\xb1\xce\xdc\xe0\x8b\x97\x5f\xf1\x9c\x23\x5e\x1a\x0d\xf0\xda\
+\xd7\xbc\xe5\x63\x67\x9e\xcd\x99\xf7\xf2\x97\xbd\x32\x2f\xca\xd1\
+\x91\xf1\x7a\x38\x7f\xc2\x86\xb5\x66\x5e\xe6\xdb\xb6\x6d\x6f\x34\
+\x30\x37\x87\x53\x3f\xf8\xa1\x46\x6d\x64\xe3\xbd\x7b\xbf\x7f\xc3\
+\x5d\xab\x56\xaf\xee\x74\xe2\xeb\xae\xbd\xc9\x73\x0f\x06\xe1\x7b\
+\xdf\xbd\xee\x4f\x5f\xf7\x97\x47\x1f\xf5\xe2\xdb\x7f\xb2\xe1\xc4\
+\xf7\x9c\x74\xdf\xc6\xad\xff\x74\xf9\x57\xc3\xda\xf0\x63\xdb\x26\
+\x1f\x7e\xf8\xb1\x6f\x7f\x6b\xed\x2b\x5f\xf9\xc7\x2b\x57\xae\x49\
+\x12\x7b\xd4\x0b\x5f\x36\x3b\x63\x9a\x8d\xd1\xc0\x6d\x1a\xcd\x8c\
+\x32\xdd\x76\x5c\xf3\xe1\x70\x51\x6b\x34\x41\x90\x0e\x1e\xdd\xfc\
+\x30\x77\x83\x3c\xd3\xcf\x7f\xde\x1f\xc6\x51\xa6\x15\x86\x5a\x4f\
+\x3b\xe7\xd3\xe7\xfd\xcd\x71\xef\x3e\xf7\x9c\xcf\xbc\xe4\xc5\x6f\
+\xa8\xd7\x71\xce\xa7\xcf\x1f\x1b\x5e\x72\xed\xb5\x37\x7c\xed\xaa\
+\x7f\x39\xec\xd0\xe7\x38\x02\x92\xdb\x79\x1f\x96\xd1\x65\xa6\x39\
+\xf7\xf2\x24\x09\x7c\x2f\x89\xba\x56\x95\x35\xd6\x00\x81\x49\x38\
+\x82\xa4\x97\x32\xa7\x0f\x64\x22\xf0\x01\x7a\x7c\xcf\x16\xe9\xa6\
+\xed\xee\xa3\xed\xce\x8e\x54\x4f\x7d\xef\x96\x4b\xba\xf1\x83\x73\
+\xdd\x9d\x3b\x76\x3e\x5a\xea\x39\x07\x25\x50\x3c\xa1\xb6\xa2\x04\
+\x50\x96\x44\xc4\x3c\x77\x5e\x62\xd4\x6a\xa1\x52\xea\xce\x3b\xef\
+\x7c\xe0\x81\x87\x0a\x65\x1c\xc7\x31\xc6\x8c\x8d\xd5\xca\xb2\x4c\
+\xe2\x7e\x96\xe2\xf8\x13\x4e\x7a\xe3\x1b\xdf\xfa\xed\x6f\x7f\x51\
+\x4a\x34\x1a\x07\xfb\xb5\x7a\x92\x15\x86\xd8\x43\x9b\x1e\x59\xb1\
+\xa2\xf1\xe6\x37\x1d\x7f\xe3\x0f\x6e\x69\xb4\x20\xb8\xbf\x7d\xc7\
+\x4e\x70\xfc\xc3\x39\xe7\xbc\xff\x7d\x6f\x9d\x6d\xdb\x53\x4e\x3d\
+\x75\xcf\xde\xbd\x2b\x56\x8d\x68\x6b\x6f\xbd\xf5\xb6\xa3\x5f\xf0\
+\x9c\x93\x3f\x70\xfa\xed\x77\xac\xf3\x02\xac\xbb\x7d\xdd\x95\x57\
+\x7e\xfd\xb8\xe3\xfe\xf4\xe1\x87\x67\x8e\x39\xe6\x98\xad\xdb\x1f\
+\xcf\x8a\x97\x79\x3e\x06\x03\xa4\x45\x1e\xd4\xea\x4c\x38\x49\x86\
+\xe1\x51\x3c\xf3\xb0\x43\x35\x21\x2b\xd4\xf1\x27\x9e\xf4\x57\x6f\
+\x3c\xf6\xbc\xf3\xce\x53\x96\x0e\x7b\xe6\xea\xab\xbe\xf6\x6f\x07\
+\xad\x3e\x54\xca\xa0\x3f\xb7\x93\x31\x8c\x8d\xad\xf9\xf6\x37\xaf\
+\xb9\xf5\x96\xef\xb4\x5a\x6b\xde\xfc\x96\x77\x9c\x76\xda\xdb\x7f\
+\xb2\x6e\xdb\x2d\xb7\xac\x3b\xe6\x55\x07\x7d\xe9\x9f\xd6\x7e\xf7\
+\xda\x6f\x6e\xdb\xbe\xc3\xf3\xc3\x24\xcd\x5d\x29\x88\x61\x74\xb4\
+\x9e\x15\xa8\x87\x41\x1a\xcd\xd5\x82\x83\x01\x16\xd4\xeb\x61\xdd\
+\x3b\xe2\x0f\xc6\xee\xdc\x70\xef\xf2\xe5\xcb\xa5\xc0\x15\x5f\xfe\
+\xda\x71\xc7\xbd\x0a\xc0\xaa\x95\x87\xfc\xec\xae\x7b\x8c\x46\x99\
+\xa9\x93\x3f\xf8\xa1\x8b\x2f\xfe\xc4\xd7\xbf\x71\xe3\xf1\xef\xfa\
+\x9f\x00\xf2\x7c\x10\xf8\x43\xbe\x47\xd2\x65\x46\x08\xe9\x04\x51\
+\x34\x8b\x9a\xe7\xfa\x04\xae\xe6\xe9\x8c\x14\x94\x21\x82\xf2\x3c\
+\x01\x88\xde\x6c\x3a\x34\x31\xb2\x7a\xc5\x51\x99\x7d\x48\x69\x71\
+\xd4\x73\x5e\xbd\x7b\x7a\x07\x41\xfd\xd1\xf3\x5e\x4d\x78\xda\x7d\
+\x8f\x3c\xdc\xe9\x74\x00\xaf\xd7\x4f\x1b\x01\x84\x7b\xa0\x6f\xd3\
+\x75\x99\xe7\xc1\x18\xb4\xdb\x59\xaf\x67\xbb\xdd\x0e\xe7\xb8\xe8\
+\xe2\xcf\x4e\x4f\x3f\xd4\x1f\x6c\xfe\xc4\x59\x67\x1a\x9b\x26\xa9\
+\xf2\x03\x59\xab\xd7\x83\x00\x00\x5f\xb3\xe6\x30\x29\x31\x39\x69\
+\x8c\xa1\x5a\xad\xc6\x18\xb3\xd6\xf6\x7a\x9d\x30\x84\x74\xb8\xe7\
+\x3b\x4a\xc3\x92\x5e\xb5\x6a\x45\x14\x99\x2b\xaf\xbc\x52\xca\xb1\
+\x53\x4e\x39\x25\xa8\xd5\x8a\xa2\x48\x33\x00\xb6\x3f\xe8\xb6\x5a\
+\x68\x34\xc3\xc9\x3d\xbb\x84\x44\x58\x6f\x4e\x2c\x5d\x62\x2c\x0e\
+\x3f\x7c\xbc\xdf\xef\x2f\x5b\x3e\xe1\xf9\x88\x22\x34\x9b\xa8\xd7\
+\xc3\x2c\x8d\x9e\xf6\xf4\x15\x59\x0e\x30\xfc\xfc\xe7\x77\x1b\xa3\
+\x5e\xf4\xe2\x55\xdd\x5e\x7b\xc3\x5d\x1b\xde\x74\xec\x9b\x5e\xf3\
+\x9a\x57\x1f\xfb\xd6\xff\x11\x86\x61\x9a\xa6\x42\x38\x69\x8a\xb2\
+\x44\xa7\xd7\xab\xd5\xea\x59\x8c\xa2\x50\x8c\x31\xce\x31\x39\xbd\
+\xf7\xf5\x7f\xfe\x7a\xbf\xfe\xdc\xfb\x1f\xdc\x08\x58\x70\x5e\x68\
+\x35\x31\xb1\x7c\x6e\x2e\x66\x84\x24\x81\xef\x20\x4f\x92\xb1\xb1\
+\xd1\xcf\x7f\xfe\xc2\x0b\x3e\xfb\xa9\x6f\x7e\xf3\x9f\xdb\xb3\xf7\
+\x24\x11\x56\xaf\x3e\xc8\xf3\x7c\x00\x97\x5e\x7a\xa9\x23\x57\x1e\
+\x73\xcc\xdf\x78\x5e\xd0\x68\x0e\x0b\x0e\x30\x67\xc9\x92\x09\xa5\
+\x30\x3a\x32\xee\xd7\x5a\xc9\xc0\x56\x7e\x89\xbc\x68\xc7\xf1\x4c\
+\x9e\x75\xf2\xa2\x0f\x8f\x3b\x52\x33\x96\x15\xaa\xa3\x28\xae\x20\
+\xfa\x8e\x5b\x4f\x12\x4a\x33\x05\xe4\x41\xc3\x16\x59\x04\x98\x38\
+\x49\xe6\x7a\xdd\x54\x75\xa5\xc7\xa2\xac\x07\x68\x06\x19\x04\x0d\
+\x63\x08\xd0\xcd\x96\x23\xdc\x03\x01\x48\x4a\xab\x34\x4b\xab\xb4\
+\xda\xb1\x25\xc1\xd0\x30\x0f\x6a\xc2\xd8\x7c\x10\xcd\x49\x07\x79\
+\x01\x6d\xb2\xaa\xa7\xe3\xda\x34\xeb\x83\xe1\x79\xcf\x7b\xfe\x05\
+\x17\x7c\x66\xdb\xb6\xc1\x0d\x37\x5c\xa7\x54\x61\x8c\x22\x32\xbe\
+\xef\x2e\x5f\xbe\x34\xcb\xd1\xeb\xcf\x78\x3e\x73\x3d\x10\x65\x83\
+\xa8\xf3\xf9\x2f\x5c\x72\xdf\xc6\xbb\xe3\xa4\xfd\x9d\xef\x5c\xce\
+\x98\x0d\x02\xd7\x71\xd0\x1a\x6a\x8d\x8e\x0e\x01\x50\x2a\x6f\x34\
+\x1b\x8c\x81\x48\x5f\x74\xd1\x85\xc6\xe0\xc7\xb7\x6d\x54\x2a\xe9\
+\xf7\x3b\x60\xe0\x02\xc6\xa2\x3d\x37\x59\x6f\x06\xb7\xdc\x7a\xc3\
+\xee\x3d\x8f\x5f\x79\xe5\x35\x9f\xfb\xdc\xf9\x96\x4a\x00\x13\x13\
+\xe3\xab\x0f\x5a\xf9\xa3\x1f\xff\xeb\x96\x6d\x6b\x5d\x8f\x5e\xf1\
+\x47\x2f\xea\x74\xf7\x96\x45\x5c\xaf\x81\x2c\x96\x8f\x2f\x65\x8c\
+\xc2\x3a\xb4\x8e\xba\xbd\x69\x30\x7c\xf0\xd4\xf7\xbe\xee\xcf\x5e\
+\x9d\xe4\xbf\x78\xcf\xfb\xdf\x29\x03\x51\x6b\xc8\xbc\x48\xa6\xa7\
+\x27\x47\x47\xeb\xc6\x20\x0c\xc0\x18\xb4\x29\xdb\x73\x53\xef\x3b\
+\xe9\x4d\x27\x9e\xf0\x8e\x3f\x7f\xc3\x0b\xc1\xd1\x68\x22\x8e\x7a\
+\x9e\x2b\xd6\xde\xf6\xf0\x7d\x1b\x37\x68\xbd\xfb\xc6\xef\x7f\x7d\
+\xc9\x58\x33\x8e\xba\x0c\x70\xa4\xf0\x3d\x07\x84\xa9\xc9\xdd\x45\
+\x9e\x92\xad\x42\xbb\xf0\xa4\x6d\x35\xec\xd0\x30\x8c\xed\x85\xa1\
+\xe8\xf7\xa7\x47\xc6\x3c\xdf\x57\x8c\xf7\x2d\xc1\x18\x70\x34\x05\
+\x4d\x38\xb2\xd9\x2d\x37\xf7\xd5\xc6\x52\x3c\x06\xf4\x7a\xc9\xf4\
+\xb2\x95\xa3\x35\x87\x94\x6d\x2f\x5b\x3e\x32\x40\xbb\x5d\xec\x56\
+\x3a\x52\x3a\xb6\xe8\x73\xec\x35\xd8\x03\x64\x8b\x64\x9e\xc3\x1c\
+\x97\x11\x4c\x51\x16\x95\x75\x38\x39\xb5\xc3\xf5\xd8\xee\x3d\x8f\
+\x31\x81\x5a\x88\x38\x99\x03\xf2\xad\xdb\x1e\x29\x55\x02\x93\x02\
+\xf8\xe9\xfa\x9b\x8f\x3a\xfa\xc8\x43\x0f\x3d\xf8\xde\x8d\x3f\xe7\
+\x02\xed\xb9\x69\x82\xce\xf3\xc1\x6c\x7b\xd2\xf3\xc0\x39\xf5\x7a\
+\x73\x60\x00\x54\x96\x0f\x8e\x3f\xe1\x38\xe9\x8a\xd6\xd0\xe8\xd0\
+\xf0\xca\x2c\x8f\x1e\x7c\xe8\xbe\xb9\x4e\xbb\xdf\x9b\xe9\xf5\xdb\
+\xda\x20\xcb\xa3\x68\x30\x97\xa4\xf8\x87\x4f\x9d\xb5\x76\xdd\x8f\
+\x9e\xb9\xe6\x59\xaf\x7d\xdd\xab\x1a\xad\x5a\x14\x77\xe2\xc4\x84\
+\x75\x08\x09\x30\x15\x0f\x66\xce\x39\xf7\x93\x47\x3e\xef\xd9\x27\
+\x9f\xf2\xde\x35\x87\x1d\x9c\x17\x7b\x8c\xc5\xfd\x0f\xdc\x73\xd7\
+\xdd\x3f\x1d\x1f\x1d\xf6\x82\x25\x37\xde\x74\xcd\xf8\x04\x6b\x84\
+\x2e\xa1\xd0\x06\xbe\x8f\xc9\x99\x5d\xd1\xa0\x6b\x2c\x0e\xff\x83\
+\xc3\xaf\xb9\xfa\x5b\xc7\xbc\xf6\xd8\x3f\x7e\xcd\xcb\x6f\x5b\x7b\
+\xd3\xb3\x8e\x78\xc9\x8b\x8e\x5e\xa3\x8b\xf6\x3d\xbf\xb8\x53\xba\
+\x70\x02\x87\x18\x38\x47\x9a\x02\x84\x41\xaf\x0b\x2a\x38\x43\xa3\
+\x0e\x22\x02\x21\x49\x90\x17\xfd\xbc\xe8\x3f\xff\xc8\xc3\xea\x0d\
+\x5f\xba\x23\xa3\x4b\x26\xee\xb8\xe3\xd6\x20\xe4\xa5\x86\x52\xfd\
+\x6d\xdb\x37\xbb\x1e\xb4\xc9\xc8\x66\x81\xcf\x61\xe5\x60\xb6\xd7\
+\xa8\xbb\xfd\xfe\xae\xee\xd4\x23\x36\xda\x5d\xaa\x01\x74\x3c\xb5\
+\x6b\x53\xb7\xb7\x6d\x6c\xc2\xed\x0d\x62\x2e\xa0\xb4\xcc\xe2\xc6\
+\xa3\x9b\x67\x6f\xfd\xd1\x2d\xeb\xd6\xff\xf0\x8a\xaf\x5c\x31\x97\
+\xc7\x7f\x72\xd4\xdb\x1e\xdd\x34\x77\xfe\x65\x97\xaf\x1a\x39\x22\
+\x8f\x1b\xb7\xad\x7d\xf8\x27\x3f\xde\x34\x3d\xa9\x42\x7f\xa5\x45\
+\x0d\x90\x4a\x1f\x08\x70\x52\x66\x40\x94\x13\x95\x44\x2a\xcb\x12\
+\xa5\x94\x25\x9a\x99\xed\x5a\x22\xa5\x69\x90\x94\x9a\x68\x72\xba\
+\xa3\x89\x66\x7b\xd1\x74\x27\x56\x96\xfe\xfe\xec\x4b\x3f\xf4\xb7\
+\xe7\x29\x4b\xb9\xa2\x91\x25\x6b\xce\xbf\xf0\xcb\xca\xd2\x20\xa5\
+\x76\x4f\x2b\xa2\x28\xa3\xed\x3b\xe7\x32\x45\x93\x33\x51\x61\x68\
+\x7a\x2e\x2d\x0c\xad\xbf\xeb\xfe\x6e\xa4\xe3\x9c\x66\xbb\x79\x61\
+\xa8\x17\x1b\x45\x54\x18\xea\x27\x76\x6f\x3b\xa9\x14\xee\xbd\xed\
+\xe4\xea\xeb\x6e\x2d\x2d\x65\x9a\xa6\xda\x83\xf9\x9b\x9d\xce\x5c\
+\xd4\x2f\xc9\xee\x9e\x99\x49\xb5\x56\x44\x71\x61\x0a\x33\xaf\xa3\
+\x67\x8a\xd6\x6d\xb8\x67\xfd\xc6\x5f\x54\x6f\x3b\x9d\x74\xe3\xc6\
+\x47\xc8\x10\x69\x1a\x74\x74\xa7\x5d\x58\x4b\x51\x4a\x0f\x3f\xba\
+\x6b\xba\x97\x17\x44\x77\x3f\xf4\xc8\x0d\xeb\xd6\x25\x44\x5d\x95\
+\xb5\xb3\xfe\x4c\xaf\xdd\x4f\x07\xfd\x41\x5c\x16\x44\x86\x6c\x49\
+\x51\xd7\xf6\x3a\x85\x25\xda\xbd\x77\x4a\x53\xa9\xa9\xd4\x44\xfd\
+\x41\xf6\xd0\xa6\x2d\x96\xc8\x58\x5a\xbb\xee\xa7\xc6\x92\x25\xda\
+\xba\x6d\x87\x25\xda\xb9\x6b\xca\x12\xf5\xfa\x69\x96\x9b\x38\x29\
+\xc9\x10\x95\x44\x25\xed\xd8\xb2\x27\xcf\x29\x27\x4a\x88\x12\x43\
+\xdd\x84\x0a\xa2\x4c\x95\x93\xd3\xdb\x89\x4a\x32\x44\x44\xbd\x7c\
+\x63\x42\xff\x1e\xd1\xcf\x34\x6d\xd3\xb4\x37\xd5\x8f\x17\xf4\x50\
+\x41\x9b\x73\xdd\xb1\x14\x13\x3d\x16\x15\x0f\xcc\xcd\xed\xc9\xb3\
+\xa8\x1f\x6d\x23\xda\x4b\xd4\x57\xaa\x4f\xa4\xf6\x99\x0a\x20\xca\
+\xb3\xbc\xa7\x4d\x66\x6c\x4e\xa4\x8a\x22\xb3\x44\x71\x9a\x64\x79\
+\x69\x89\x2c\x51\x9c\x17\x96\xa8\xb4\xa4\x89\x92\x42\xe7\x8a\xee\
+\xbb\xff\x31\xb0\xe6\xf0\xe8\x6a\x20\x5c\xb1\xea\x59\x9a\xa8\x3b\
+\x50\x95\xdd\xa3\x89\x06\x89\xd6\x44\x9a\x28\xd7\xf3\x96\x56\x2f\
+\xca\xa3\x54\x69\xa2\xb4\xb0\x49\x6e\x34\x51\x92\x9b\x42\x93\x26\
+\xca\x4a\xaa\x3e\x5c\xad\x92\xd2\x50\xae\xe7\xef\x44\x59\xde\x4f\
+\x62\x4d\xa4\xc9\x14\xb6\xd4\x64\x34\x51\x94\xa5\x69\xa9\x34\x51\
+\x94\xaa\x5c\xed\xb7\xe7\x4a\xa2\x41\x9a\x69\x43\x64\x29\x8e\x0a\
+\x32\x44\x0b\xaf\x2b\xd3\x2e\xd3\x54\x58\xca\x89\x72\x32\xb3\x79\
+\xb7\xab\xfa\x05\x95\x8a\x54\x37\xee\x58\xa2\x22\x37\x64\xa8\xcc\
+\x88\x0c\x19\x4d\xfd\x7e\x64\xc9\x18\xca\x4a\x13\xa7\x79\x52\x3d\
+\x87\x52\x2b\x6d\x55\xb7\xdf\xb1\x64\xb4\x55\x96\x8c\x25\x13\xa7\
+\x91\x25\xa3\xad\xb1\x44\x51\x9c\x5a\x4d\x54\x12\xa5\x44\x86\xb4\
+\x21\x45\xd4\x2f\xa9\x9f\x51\x6e\x29\x55\x94\x9b\xcc\x52\x34\x88\
+\xa7\xc9\x54\x5f\x6c\x4e\xd3\x2e\x4b\x93\xed\x78\xab\xa5\x5c\x53\
+\xae\xa8\x67\x29\xb7\x96\x92\xc4\x58\x2a\x88\xd4\xfc\xb3\xb0\x14\
+\x47\x7d\xaa\x56\xcd\xa2\xc6\xe6\xf3\x16\x7f\x75\x78\x96\x0e\xac\
+\x56\x65\x2d\x38\x47\x51\x98\x99\x99\x19\x00\xe3\xe3\xe3\x9e\x27\
+\xaa\x9b\xbf\xf7\xc6\x7e\x83\xe4\xdc\x05\x36\xd5\xfd\xbf\xf3\x00\
+\x62\xe1\x27\x91\x0f\xff\xd6\x60\x83\x45\xd4\x09\x74\x20\x8b\x38\
+\x2a\x48\x59\x15\xbb\x67\x00\x14\x41\xb3\x79\xff\xab\xb3\x88\x24\
+\x63\x11\x98\x91\xf8\xaf\xf9\x61\xbf\x35\xd3\xed\x3e\x6e\xec\xa2\
+\x28\x00\x54\x7e\xe7\x03\x09\xb3\x9f\x6a\xbf\xa3\xf6\x5b\x03\x90\
+\xf6\x4d\xf6\xe2\x70\xc1\x7f\x39\xcb\xf8\x53\xed\xff\xc9\xce\xab\
+\xe2\x38\xfb\xc2\xee\xd6\x5a\xc6\x18\xff\xef\x70\x68\x3e\x35\x79\
+\xbf\xf9\xfe\xab\x90\x4c\xfb\x5e\x3c\xd5\x7e\x0f\xd9\x02\xff\x99\
+\x99\xab\xc0\x68\x4f\x9d\x99\xff\xdf\x4c\xde\xbe\xb0\xed\xff\xf5\
+\xe6\x53\xed\xbf\xba\xfd\x07\x27\xe9\x64\x4d\x7b\x70\x37\xda\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x02\x49\x44\x41\x54\x58\x85\xc5\x96\xcf\x6f\x5c\x57\
+\x15\xc7\x3f\xe7\xdc\xf7\x63\x9c\xf1\x1b\xdb\x69\x63\xbb\x34\x09\
+\xa5\xa2\xd0\x04\xa9\x26\x49\x23\x1a\x62\xbb\x6d\x2a\x99\x8a\xb0\
+\x40\x42\x02\x81\x58\xb0\x62\x51\xd8\xb3\x66\xc5\xdf\x91\x00\x12\
+\x5b\x10\x2d\x94\x5f\xca\xaf\x0a\xa1\xb6\xd0\x34\x15\x34\x6d\xb3\
+\xa8\x50\x81\xc4\x49\xd3\x8c\x9d\x99\xf1\xbc\x7b\xef\x61\xf1\xde\
+\x73\x9c\xc4\xe3\xd8\x6c\x38\xd2\xd1\x7b\xf3\xde\xbc\x73\xbe\xf7\
+\x7b\xbe\xf7\x9c\x2b\x66\xc6\xff\xd3\x64\xf2\x47\x97\x40\x04\x2c\
+\x60\x65\x84\x32\x02\xd5\xbd\x85\x08\xb5\x5b\x88\x48\x88\xf4\x87\
+\x81\x5d\xa9\xd2\xca\x94\x4f\x7a\x01\x11\x41\xe4\x4e\x40\x33\xc3\
+\x7c\x64\xea\x89\x69\xcc\x47\x36\x2e\x30\xd6\xef\x7d\x34\x9e\xfe\
+\x74\x41\x92\x66\xe8\x4e\xd0\x46\x33\xbc\x37\xca\x32\x8e\x87\x60\
+\x7b\x63\xac\x82\x5b\xe3\xf5\xcd\x4e\x58\xdd\x36\x00\x8b\x46\x28\
+\x23\xf4\xcb\xce\x37\x8f\x4d\xaf\x2c\x1e\x98\xf8\x67\x08\x56\x25\
+\xdb\xe0\x16\xad\x06\xb2\x3d\x10\xdb\x02\x60\xd1\x08\x3e\xb2\xd6\
+\x1b\xb6\xbf\x78\xec\x91\x5b\x53\xdf\x79\x8a\xdf\xbc\xdf\xf3\xe3\
+\xb9\xd0\xce\x95\x76\xcb\x55\xd7\x5c\x69\x67\xc2\x43\x4f\xce\x54\
+\x40\x78\x30\x88\x64\xcb\xc4\x54\x2b\x69\x92\x1f\x3a\x34\xbd\xfa\
+\xcc\x4b\x87\xf8\x77\x09\x21\xcb\x06\xf4\x87\x44\x14\x4c\xd6\x57\
+\x5f\xec\x7f\xb8\xae\x7d\x13\xe0\x7f\x65\xa0\xa6\x31\x94\x91\x61\
+\x7f\x58\x1c\x9e\xdb\xb3\x3a\xff\xc3\xa7\xf9\xf9\x7b\x90\xf7\x40\
+\x85\x88\x53\x2a\x17\x4c\x84\x62\xef\x24\x16\xe2\x0e\x4a\x60\x23\
+\x18\x30\x30\xaa\x95\x0f\xfb\x65\x31\xf7\x85\xdd\xdd\x85\x1f\x1c\
+\xe1\xf4\x65\xc8\x23\x88\x01\x4e\xad\x01\x60\x66\x14\x8f\x14\x3b\
+\xae\xbf\xd9\x08\x00\x66\x46\xf0\xc6\xb0\xef\x8b\x43\x07\x26\xbb\
+\x0b\x2f\x1d\xe1\xa7\xef\x43\xee\xc1\x14\x04\x30\x55\x13\x55\x50\
+\xa1\x98\x6a\x63\x8d\x20\xb7\x69\x86\x61\x31\xde\x0d\xa0\xd9\x54\
+\x21\x18\xe5\x5a\x59\x3c\xf5\xd9\x4e\x77\xfe\xfb\x87\x39\xfd\x2e\
+\xe4\x25\x88\x19\xde\x84\xe0\x61\x18\x62\xcf\x99\xd1\x6e\x67\x04\
+\x1f\xd9\x56\xc1\xeb\x24\x0d\xce\xfb\x19\xb0\x26\xb9\x2f\x0e\x3e\
+\x36\xde\x5d\xf8\xde\x61\x4e\xbd\x6d\xb4\x7c\x89\xd6\xfb\xdb\x44\
+\x29\xfb\x29\xdf\xdd\xd3\xff\xd4\x85\x3c\x9f\xbe\xd1\x0f\xd7\x5c\
+\x62\x49\xc5\xcd\x7d\x26\x80\x22\xb2\x26\x10\x4d\xa4\x96\x96\x41\
+\x04\x71\x1b\x76\x81\x59\xd5\xf4\xca\x61\x2c\x9e\x9c\x6d\x75\x17\
+\xbf\x75\x98\xd3\x7f\x5d\x23\x37\x8f\x98\xd5\x5d\x0c\x22\x42\x1c\
+\xc0\x47\xb3\xb3\x14\x45\xb8\x9a\x9b\xe0\x46\x48\x59\x04\xf0\x82\
+\x10\x3e\xd6\xa1\x7f\xc7\xb2\xe4\x0d\x59\x1b\xbe\xe3\x6f\x74\xdf\
+\xeb\x8c\x3f\xf4\xe6\xa0\x5f\x0e\x92\x26\x79\x8c\x86\xf7\xa1\x78\
+\x62\xda\x75\x17\xbe\x31\xc7\xa9\xb7\x56\x69\x79\x8f\xca\x06\x6a\
+\xeb\xad\xe5\x06\x30\xf1\xf9\xfd\x4c\x65\x82\x6b\xd6\x39\xc2\x9c\
+\x19\xbb\x1c\xed\x5f\x5e\x19\x24\x09\x56\x48\xb4\x76\x7c\x34\x92\
+\xad\xdd\x6e\xdd\x58\x5e\x19\x24\x0d\x25\x3e\x58\xe7\xf1\x09\x77\
+\xeb\xd9\xaf\x1d\xe0\xf4\x9b\x5d\x72\x0b\x95\xd8\xe4\x4e\x3b\x31\
+\x40\x23\xbc\xfa\x41\x89\x6d\x95\xf5\x1e\x53\xc7\x0d\x45\x03\x52\
+\x95\x50\x9d\xc8\xbf\x2c\x61\x10\x1d\x89\x19\x78\x93\x99\xbd\x6d\
+\xfb\xcf\x73\x4b\x9f\xe3\xd4\x1b\x9f\x90\x5b\xac\xe6\x13\xf7\x4b\
+\xcb\x00\xb7\xc9\xf3\xf5\x07\x1b\xcb\x11\xab\x8b\x88\x98\x28\x11\
+\xf0\x88\x04\x73\x62\x88\xa2\xa9\x92\x68\x96\x32\x73\xf9\x1f\x3f\
+\x59\xf8\xf6\x97\xf9\xc5\x6b\xcb\x30\x28\x31\x81\x20\x71\x3d\x40\
+\x95\xc0\xee\x4e\xd4\xdc\x36\xa3\x50\xef\x64\x57\x01\xd4\x2a\x95\
+\x09\x98\x13\x44\x2a\x3d\xe2\x00\x51\x44\x0c\x55\x25\x11\x8c\x9b\
+\x07\x0f\xfe\xf8\xfc\xcf\xce\x7e\xbd\x7d\xf4\xc8\x54\x9a\x18\xfd\
+\x41\x20\xd1\xd1\xdb\xca\x00\x0b\x1b\x26\xe0\xba\x85\xbb\xb0\x0a\
+\xbe\x02\xa8\xa0\x22\x55\xd9\x1c\xa8\x68\x83\x8d\x04\x03\xa2\x7d\
+\x78\xf3\xf0\xa1\x13\xb3\x7f\xfe\xcb\xd9\xc1\x89\xf9\x4e\xd2\xf2\
+\xac\xf4\x02\xa9\xd8\x5d\xb3\xbe\x09\x1e\x31\x8a\x29\x65\x4c\x14\
+\x1f\xd9\xd2\xcc\xc0\x22\x1a\xcd\x14\x33\x31\x43\x62\xdd\x6b\x7c\
+\x22\x15\x03\x18\x78\x1f\xdf\xba\xfa\xcc\x97\xe6\x67\xcf\xbc\x76\
+\x41\x97\x16\x3a\xe2\x02\xab\x3d\x4f\xa2\x72\x9f\xdc\xc4\x60\x2e\
+\x6b\x31\xbe\x4f\xf0\x51\xb6\xec\x41\x66\x50\x86\x38\xed\x83\xdd\
+\xf4\xc1\x26\x83\xd1\x56\xb3\xac\xd7\x8d\x7a\x79\xb9\xac\xfa\x80\
+\xd4\xb3\xdc\x87\x78\xe9\xea\xf1\x63\x8b\x33\x7f\x38\x7f\xde\x2d\
+\x3d\x5b\xa8\x53\x56\x06\x1e\x27\x86\x34\x59\x44\xc8\x9c\xe3\xcc\
+\xef\x03\xb3\xe3\x97\xaf\xa4\x2d\xdf\xb2\x30\xa2\xa5\x0b\x49\x1c\
+\x1b\xeb\x25\xb1\x5c\x8e\xed\xb1\x77\x5d\xea\xae\xb8\xb5\xb5\x6e\
+\x96\xa7\xe5\xae\x3d\xfb\x63\x76\x6b\x63\x2b\x36\x43\xcc\x28\xcb\
+\x70\xf1\xda\xc2\xf1\xe3\x33\xaf\x9e\xbb\x30\x7e\xf2\xb9\x8e\x25\
+\xca\xed\x7e\xc0\x09\x15\x08\x11\x42\xe6\x78\xb4\xf3\xb7\xb8\xf2\
+\xf8\xdc\x8b\x4c\x44\x43\x68\xb3\x69\x37\xb0\x8a\xe0\x48\x17\xac\
+\x07\x0c\x00\x9f\xa8\xf8\xa4\x5f\x7a\x9f\xc7\x5a\x03\x52\xd1\xda\
+\x30\x51\x0e\xc3\xa5\xe5\xe7\xe7\x17\xf7\xbc\x72\xe6\x5c\xfb\xe4\
+\x89\x0e\xaa\xf4\x87\x01\x31\xab\xd4\xac\x8a\x39\xd5\x5e\xcb\x3e\
+\x90\x32\x22\xc1\x36\x1f\xec\x23\x4a\x33\x10\x43\xeb\x51\xac\xf7\
+\xfd\xb3\x66\x62\x38\x0c\x17\x97\x5f\x58\x9c\xcf\x5f\x3e\xdb\x6d\
+\x65\x09\xad\xb1\x0c\x4b\x1c\xe2\x14\x75\xd5\x35\x2d\x1c\x12\x22\
+\x62\xb1\x02\x77\xaf\xb3\xb9\x6b\xdd\xc6\x94\x4d\x70\x4b\xad\x09\
+\xa9\x99\xb8\xbe\xb4\xb8\xb8\xeb\x95\x3f\x75\xd3\xd4\x91\xb7\x32\
+\x62\x96\x62\x69\x52\xa9\x4b\x94\xb4\x68\x41\xb4\x75\xe0\xd2\xc4\
+\xd8\xc2\x37\x9a\x4a\xee\x36\xe5\x4b\x36\x32\xf1\x95\x13\x8b\xc5\
+\xcb\x7f\xec\xa6\xa9\x23\x1b\x4b\x90\x56\xc5\x80\x38\x45\x54\xc9\
+\x76\x8f\xd7\x20\xd8\xf6\x61\x64\x1d\x80\xea\xe8\x6f\x2a\x10\x91\
+\xe0\xc3\xc5\x6b\x2f\xbe\xb0\x38\xfe\xeb\xdf\x75\x5b\x2d\x87\xdc\
+\x76\xc4\x68\x90\x29\x96\x08\x96\x08\xd9\x4c\xa7\x3e\x88\xee\x0c\
+\x84\x4a\xea\x48\x3b\xf9\xc8\xad\x2c\xd5\xa8\x24\x86\x70\xf1\xfa\
+\xc9\xa5\x85\xc9\x5f\xfd\xb6\xb7\xe7\x23\xe5\xe3\x1b\x33\x68\x22\
+\x68\xaa\xa8\x53\x44\x85\x7c\xdf\x64\x35\xd3\x77\x00\x42\xfd\x75\
+\xf0\xd7\x05\xd4\x30\xd9\xfc\xa3\xaa\x7d\x45\x62\x08\x6f\xdf\xfe\
+\xea\xd2\xf3\xc5\xd5\xd7\x7b\xe5\xbe\xcf\x9c\xb3\x15\x21\xae\x2a\
+\xe1\xb6\x12\x56\x95\xd8\x15\xb2\xa9\x87\x77\x74\x30\x4d\xf2\x58\
+\x49\x43\x6e\x8d\x31\xd8\x3d\xc4\x64\xc4\x78\xaf\x4f\x2c\x83\x61\
+\x78\xbd\x7b\x74\xee\xe8\x44\xcf\x6c\xe8\x50\x51\xa9\xb3\x49\xa3\
+\x60\xf2\x99\x69\xd6\xae\x5e\xc3\x54\xab\x58\x5b\x4c\xee\x64\x3d\
+\xf8\x36\xe6\x7b\xc5\x84\xd9\x30\xb1\xbf\xd3\x32\xc4\x19\x77\x48\
+\xbb\xd3\x29\x45\x22\x63\x8f\x4d\xd3\xff\x70\x99\x07\x21\x48\xca\
+\x89\x26\x38\x9b\x1f\x00\xee\xb5\xfa\x3c\x47\xdc\xd0\x7c\x9a\x6f\
+\xa4\x7a\xbf\x2e\xc4\x6d\x2c\x2c\x69\x56\x30\xa2\xfc\x0f\x00\xb3\
+\xc5\xef\x6d\xc6\xfb\x2f\x6e\xea\x7f\x4f\x3f\x06\xf0\x89\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x02\x49\x44\x41\x54\x58\x85\xc5\x96\xcf\x6f\x5c\x57\
+\x15\xc7\x3f\xe7\xdc\xf7\x63\x9c\xf1\x1b\xdb\x69\x63\xbb\x34\x09\
+\xa5\xa2\xd0\x04\xa9\x26\x49\x23\x1a\x62\xbb\x6d\x2a\x99\x8a\xb0\
+\x40\x42\x02\x81\x58\xb0\x62\x51\xd8\xb3\x66\xc5\xdf\x91\x00\x12\
+\x5b\x10\x2d\x94\x5f\xca\xaf\x0a\xa1\xb6\xd0\x34\x15\x34\x6d\xb3\
+\xa8\x50\x81\xc4\x49\xd3\x8c\x9d\x99\xf1\xbc\x7b\xef\x61\xf1\xde\
+\x73\x9c\xc4\xe3\xd8\x6c\x38\xd2\xd1\x7b\xf3\xde\xbc\x73\xbe\xf7\
+\x7b\xbe\xf7\x9c\x2b\x66\xc6\xff\xd3\x64\xf2\x47\x97\x40\x04\x2c\
+\x60\x65\x84\x32\x02\xd5\xbd\x85\x08\xb5\x5b\x88\x48\x88\xf4\x87\
+\x81\x5d\xa9\xd2\xca\x94\x4f\x7a\x01\x11\x41\xe4\x4e\x40\x33\xc3\
+\x7c\x64\xea\x89\x69\xcc\x47\x36\x2e\x30\xd6\xef\x7d\x34\x9e\xfe\
+\x74\x41\x92\x66\xe8\x4e\xd0\x46\x33\xbc\x37\xca\x32\x8e\x87\x60\
+\x7b\x63\xac\x82\x5b\xe3\xf5\xcd\x4e\x58\xdd\x36\x00\x8b\x46\x28\
+\x23\xf4\xcb\xce\x37\x8f\x4d\xaf\x2c\x1e\x98\xf8\x67\x08\x56\x25\
+\xdb\xe0\x16\xad\x06\xb2\x3d\x10\xdb\x02\x60\xd1\x08\x3e\xb2\xd6\
+\x1b\xb6\xbf\x78\xec\x91\x5b\x53\xdf\x79\x8a\xdf\xbc\xdf\xf3\xe3\
+\xb9\xd0\xce\x95\x76\xcb\x55\xd7\x5c\x69\x67\xc2\x43\x4f\xce\x54\
+\x40\x78\x30\x88\x64\xcb\xc4\x54\x2b\x69\x92\x1f\x3a\x34\xbd\xfa\
+\xcc\x4b\x87\xf8\x77\x09\x21\xcb\x06\xf4\x87\x44\x14\x4c\xd6\x57\
+\x5f\xec\x7f\xb8\xae\x7d\x13\xe0\x7f\x65\xa0\xa6\x31\x94\x91\x61\
+\x7f\x58\x1c\x9e\xdb\xb3\x3a\xff\xc3\xa7\xf9\xf9\x7b\x90\xf7\x40\
+\x85\x88\x53\x2a\x17\x4c\x84\x62\xef\x24\x16\xe2\x0e\x4a\x60\x23\
+\x18\x30\x30\xaa\x95\x0f\xfb\x65\x31\xf7\x85\xdd\xdd\x85\x1f\x1c\
+\xe1\xf4\x65\xc8\x23\x88\x01\x4e\xad\x01\x60\x66\x14\x8f\x14\x3b\
+\xae\xbf\xd9\x08\x00\x66\x46\xf0\xc6\xb0\xef\x8b\x43\x07\x26\xbb\
+\x0b\x2f\x1d\xe1\xa7\xef\x43\xee\xc1\x14\x04\x30\x55\x13\x55\x50\
+\xa1\x98\x6a\x63\x8d\x20\xb7\x69\x86\x61\x31\xde\x0d\xa0\xd9\x54\
+\x21\x18\xe5\x5a\x59\x3c\xf5\xd9\x4e\x77\xfe\xfb\x87\x39\xfd\x2e\
+\xe4\x25\x88\x19\xde\x84\xe0\x61\x18\x62\xcf\x99\xd1\x6e\x67\x04\
+\x1f\xd9\x56\xc1\xeb\x24\x0d\xce\xfb\x19\xb0\x26\xb9\x2f\x0e\x3e\
+\x36\xde\x5d\xf8\xde\x61\x4e\xbd\x6d\xb4\x7c\x89\xd6\xfb\xdb\x44\
+\x29\xfb\x29\xdf\xdd\xd3\xff\xd4\x85\x3c\x9f\xbe\xd1\x0f\xd7\x5c\
+\x62\x49\xc5\xcd\x7d\x26\x80\x22\xb2\x26\x10\x4d\xa4\x96\x96\x41\
+\x04\x71\x1b\x76\x81\x59\xd5\xf4\xca\x61\x2c\x9e\x9c\x6d\x75\x17\
+\xbf\x75\x98\xd3\x7f\x5d\x23\x37\x8f\x98\xd5\x5d\x0c\x22\x42\x1c\
+\xc0\x47\xb3\xb3\x14\x45\xb8\x9a\x9b\xe0\x46\x48\x59\x04\xf0\x82\
+\x10\x3e\xd6\xa1\x7f\xc7\xb2\xe4\x0d\x59\x1b\xbe\xe3\x6f\x74\xdf\
+\xeb\x8c\x3f\xf4\xe6\xa0\x5f\x0e\x92\x26\x79\x8c\x86\xf7\xa1\x78\
+\x62\xda\x75\x17\xbe\x31\xc7\xa9\xb7\x56\x69\x79\x8f\xca\x06\x6a\
+\xeb\xad\xe5\x06\x30\xf1\xf9\xfd\x4c\x65\x82\x6b\xd6\x39\xc2\x9c\
+\x19\xbb\x1c\xed\x5f\x5e\x19\x24\x09\x56\x48\xb4\x76\x7c\x34\x92\
+\xad\xdd\x6e\xdd\x58\x5e\x19\x24\x0d\x25\x3e\x58\xe7\xf1\x09\x77\
+\xeb\xd9\xaf\x1d\xe0\xf4\x9b\x5d\x72\x0b\x95\xd8\xe4\x4e\x3b\x31\
+\x40\x23\xbc\xfa\x41\x89\x6d\x95\xf5\x1e\x53\xc7\x0d\x45\x03\x52\
+\x95\x50\x9d\xc8\xbf\x2c\x61\x10\x1d\x89\x19\x78\x93\x99\xbd\x6d\
+\xfb\xcf\x73\x4b\x9f\xe3\xd4\x1b\x9f\x90\x5b\xac\xe6\x13\xf7\x4b\
+\xcb\x00\xb7\xc9\xf3\xf5\x07\x1b\xcb\x11\xab\x8b\x88\x98\x28\x11\
+\xf0\x88\x04\x73\x62\x88\xa2\xa9\x92\x68\x96\x32\x73\xf9\x1f\x3f\
+\x59\xf8\xf6\x97\xf9\xc5\x6b\xcb\x30\x28\x31\x81\x20\x71\x3d\x40\
+\x95\xc0\xee\x4e\xd4\xdc\x36\xa3\x50\xef\x64\x57\x01\xd4\x2a\x95\
+\x09\x98\x13\x44\x2a\x3d\xe2\x00\x51\x44\x0c\x55\x25\x11\x8c\x9b\
+\x07\x0f\xfe\xf8\xfc\xcf\xce\x7e\xbd\x7d\xf4\xc8\x54\x9a\x18\xfd\
+\x41\x20\xd1\xd1\xdb\xca\x00\x0b\x1b\x26\xe0\xba\x85\xbb\xb0\x0a\
+\xbe\x02\xa8\xa0\x22\x55\xd9\x1c\xa8\x68\x83\x8d\x04\x03\xa2\x7d\
+\x78\xf3\xf0\xa1\x13\xb3\x7f\xfe\xcb\xd9\xc1\x89\xf9\x4e\xd2\xf2\
+\xac\xf4\x02\xa9\xd8\x5d\xb3\xbe\x09\x1e\x31\x8a\x29\x65\x4c\x14\
+\x1f\xd9\xd2\xcc\xc0\x22\x1a\xcd\x14\x33\x31\x43\x62\xdd\x6b\x7c\
+\x22\x15\x03\x18\x78\x1f\xdf\xba\xfa\xcc\x97\xe6\x67\xcf\xbc\x76\
+\x41\x97\x16\x3a\xe2\x02\xab\x3d\x4f\xa2\x72\x9f\xdc\xc4\x60\x2e\
+\x6b\x31\xbe\x4f\xf0\x51\xb6\xec\x41\x66\x50\x86\x38\xed\x83\xdd\
+\xf4\xc1\x26\x83\xd1\x56\xb3\xac\xd7\x8d\x7a\x79\xb9\xac\xfa\x80\
+\xd4\xb3\xdc\x87\x78\xe9\xea\xf1\x63\x8b\x33\x7f\x38\x7f\xde\x2d\
+\x3d\x5b\xa8\x53\x56\x06\x1e\x27\x86\x34\x59\x44\xc8\x9c\xe3\xcc\
+\xef\x03\xb3\xe3\x97\xaf\xa4\x2d\xdf\xb2\x30\xa2\xa5\x0b\x49\x1c\
+\x1b\xeb\x25\xb1\x5c\x8e\xed\xb1\x77\x5d\xea\xae\xb8\xb5\xb5\x6e\
+\x96\xa7\xe5\xae\x3d\xfb\x63\x76\x6b\x63\x2b\x36\x43\xcc\x28\xcb\
+\x70\xf1\xda\xc2\xf1\xe3\x33\xaf\x9e\xbb\x30\x7e\xf2\xb9\x8e\x25\
+\xca\xed\x7e\xc0\x09\x15\x08\x11\x42\xe6\x78\xb4\xf3\xb7\xb8\xf2\
+\xf8\xdc\x8b\x4c\x44\x43\x68\xb3\x69\x37\xb0\x8a\xe0\x48\x17\xac\
+\x07\x0c\x00\x9f\xa8\xf8\xa4\x5f\x7a\x9f\xc7\x5a\x03\x52\xd1\xda\
+\x30\x51\x0e\xc3\xa5\xe5\xe7\xe7\x17\xf7\xbc\x72\xe6\x5c\xfb\xe4\
+\x89\x0e\xaa\xf4\x87\x01\x31\xab\xd4\xac\x8a\x39\xd5\x5e\xcb\x3e\
+\x90\x32\x22\xc1\x36\x1f\xec\x23\x4a\x33\x10\x43\xeb\x51\xac\xf7\
+\xfd\xb3\x66\x62\x38\x0c\x17\x97\x5f\x58\x9c\xcf\x5f\x3e\xdb\x6d\
+\x65\x09\xad\xb1\x0c\x4b\x1c\xe2\x14\x75\xd5\x35\x2d\x1c\x12\x22\
+\x62\xb1\x02\x77\xaf\xb3\xb9\x6b\xdd\xc6\x94\x4d\x70\x4b\xad\x09\
+\xa9\x99\xb8\xbe\xb4\xb8\xb8\xeb\x95\x3f\x75\xd3\xd4\x91\xb7\x32\
+\x62\x96\x62\x69\x52\xa9\x4b\x94\xb4\x68\x41\xb4\x75\xe0\xd2\xc4\
+\xd8\xc2\x37\x9a\x4a\xee\x36\xe5\x4b\x36\x32\xf1\x95\x13\x8b\xc5\
+\xcb\x7f\xec\xa6\xa9\x23\x1b\x4b\x90\x56\xc5\x80\x38\x45\x54\xc9\
+\x76\x8f\xd7\x20\xd8\xf6\x61\x64\x1d\x80\xea\xe8\x6f\x2a\x10\x91\
+\xe0\xc3\xc5\x6b\x2f\xbe\xb0\x38\xfe\xeb\xdf\x75\x5b\x2d\x87\xdc\
+\x76\xc4\x68\x90\x29\x96\x08\x96\x08\xd9\x4c\xa7\x3e\x88\xee\x0c\
+\x84\x4a\xea\x48\x3b\xf9\xc8\xad\x2c\xd5\xa8\x24\x86\x70\xf1\xfa\
+\xc9\xa5\x85\xc9\x5f\xfd\xb6\xb7\xe7\x23\xe5\xe3\x1b\x33\x68\x22\
+\x68\xaa\xa8\x53\x44\x85\x7c\xdf\x64\x35\xd3\x77\x00\x42\xfd\x75\
+\xf0\xd7\x05\xd4\x30\xd9\xfc\xa3\xaa\x7d\x45\x62\x08\x6f\xdf\xfe\
+\xea\xd2\xf3\xc5\xd5\xd7\x7b\xe5\xbe\xcf\x9c\xb3\x15\x21\xae\x2a\
+\xe1\xb6\x12\x56\x95\xd8\x15\xb2\xa9\x87\x77\x74\x30\x4d\xf2\x58\
+\x49\x43\x6e\x8d\x31\xd8\x3d\xc4\x64\xc4\x78\xaf\x4f\x2c\x83\x61\
+\x78\xbd\x7b\x74\xee\xe8\x44\xcf\x6c\xe8\x50\x51\xa9\xb3\x49\xa3\
+\x60\xf2\x99\x69\xd6\xae\x5e\xc3\x54\xab\x58\x5b\x4c\xee\x64\x3d\
+\xf8\x36\xe6\x7b\xc5\x84\xd9\x30\xb1\xbf\xd3\x32\xc4\x19\x77\x48\
+\xbb\xd3\x29\x45\x22\x63\x8f\x4d\xd3\xff\x70\x99\x07\x21\x48\xca\
+\x89\x26\x38\x9b\x1f\x00\xee\xb5\xfa\x3c\x47\xdc\xd0\x7c\x9a\x6f\
+\xa4\x7a\xbf\x2e\xc4\x6d\x2c\x2c\x69\x56\x30\xa2\xfc\x0f\x00\xb3\
+\xc5\xef\x6d\xc6\xfb\x2f\x6e\xea\x7f\x4f\x3f\x06\xf0\x89\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x07\xff\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\
+\x67\x9b\xee\x3c\x1a\x00\x00\x07\x91\x49\x44\x41\x54\x58\x85\xe5\
+\x97\x6d\x8c\x54\xd5\x19\xc7\x7f\xe7\xde\x73\xef\xcc\xec\xec\x0e\
+\xb3\x3b\xbb\x33\xbc\x2c\xcb\xee\x22\xd6\x82\x50\xa1\x10\xad\x81\
+\xae\x21\x80\xc5\x88\xac\xd6\x8d\x8d\xd6\x68\x0b\x4d\x5f\xd2\x62\
+\xd0\xa4\x36\x36\x52\x43\xd3\x84\xf8\x41\x69\x6b\x34\x25\x4d\x13\
+\xa8\x25\xad\x42\x2b\xd1\x6a\x14\x05\xac\x42\xd0\xe5\x65\x15\x76\
+\x41\xcc\xbe\x02\xfb\x36\xbb\xdc\xd9\xd9\x9d\x97\x7b\xe7\xde\x7b\
+\xfa\x61\x77\x71\x11\x74\xeb\x4b\xe2\x87\x9e\xe4\x7c\x3c\xe7\xff\
+\xfb\x3f\xcf\x73\xce\x79\x8e\x50\x4a\xf1\x55\x0e\xed\x2b\x55\xff\
+\x32\x01\xc4\xe8\x08\x6f\xaa\xaf\x5c\xfd\xbb\xdb\xab\xd6\x0b\x21\
+\x8a\x84\x10\x62\xd2\x85\x4a\xa9\x2f\x3c\x01\x09\x54\xbc\xf6\xcb\
+\x85\xaf\x26\xdf\xdd\x5d\x48\xb5\x1c\x72\xf7\x6e\xba\xa5\x6b\xed\
+\xc2\xc4\x22\xc0\xfc\xd4\xb5\x5f\x50\x58\x00\xe1\x1f\xde\x18\x5f\
+\x75\xf2\x99\xef\x0f\x65\x4e\x35\x7a\xde\x99\x66\xe5\x9f\x39\xa9\
+\xec\xd3\xef\xab\x53\xcf\x6f\xb1\x9f\x68\x98\xbb\x0b\x88\x02\xfa\
+\x95\xf6\x10\x9f\xb7\x08\x85\x10\x12\x28\x7d\xe6\xee\x79\x4f\x7f\
+\xe7\x9e\x9f\xd6\xcf\x98\xfe\x4d\x29\x94\x87\x90\x3e\x76\xde\xc3\
+\xb0\x3d\x0c\xcf\xa3\xaf\x30\xec\x35\xbe\xbe\x23\xbb\xeb\xed\xf7\
+\x1f\xd8\x7e\xb0\xe3\x39\x20\xab\x26\x88\x7e\x66\x80\xb1\xbc\x86\
+\x56\xcd\x8d\x2f\xf9\xf9\x6d\xdf\xfa\xe7\x0d\xb7\xac\x8f\x96\x61\
+\x6a\x18\x2e\x9e\xef\xe2\x8c\x78\x04\x6d\x17\x1d\x97\x2c\x2e\x2a\
+\xe7\x61\x2a\x97\x63\x03\xed\xce\xdb\xaf\xbe\xd4\xf1\x8f\xe6\xde\
+\x3b\x8e\xb4\xf5\x7f\xa8\x94\x72\xc6\x73\xf7\x99\x5d\xff\x6a\xc5\
+\xb5\x8f\xaf\x69\xb8\xf3\xee\x85\x57\x2f\x36\xa5\xe3\xa0\x07\xb3\
+\x64\x52\x0e\x6a\xc4\x25\x5c\x28\xe0\x53\x60\xc0\x2d\x90\x4a\x15\
+\x48\x98\x05\xcc\x7c\x81\x1b\x7c\xcd\xac\xaa\x5b\x73\xd5\x94\xe8\
+\xc1\xc6\xc5\xe5\x91\xbf\x0b\x21\x1e\x04\x86\xfe\xa7\x08\x8c\xbb\
+\xbe\x6e\x5a\xf9\x82\xfb\x6e\x5a\xf8\xc2\xad\x77\xdd\x5f\x5e\x63\
+\x9a\xba\x27\x6d\xc0\x21\x37\xe4\x10\xcc\x38\x04\x5c\x87\xac\x70\
+\x48\x0e\xdb\x78\x76\x81\x19\x38\x98\x8e\x83\x17\x74\x48\xa6\x47\
+\xe0\x68\x33\x89\x33\x27\xf8\x6b\xc5\xf4\xec\x31\x47\xeb\xfc\xc3\
+\xd1\x8e\xeb\x27\x8d\xc0\xb8\xeb\xbb\xbf\x31\x77\xd3\x6d\x6b\x56\
+\xff\xe8\x96\x6f\x2f\x0d\x04\x0a\x59\x94\x31\x4c\x21\x93\xc7\x39\
+\x9f\x24\x72\xb6\x1d\x31\xdc\xcf\x39\x37\xcf\xd9\x9e\x3c\x71\x3d\
+\x47\x75\xc1\x01\x6c\x52\x81\x2c\xed\x9d\x17\xb0\xbb\xf3\x2c\x29\
+\x86\x42\xf5\xec\xce\xef\xa6\x53\x34\x7b\x81\x18\x50\xfc\x89\x00\
+\xe3\xae\xbf\x36\x35\x76\xcd\x5d\x8b\x16\xbc\xb8\xe6\x9e\xfb\x12\
+\x8b\x62\x61\xbd\xe0\xa6\xd1\x7b\x8e\xd2\x7b\x60\x3f\x81\x96\x36\
+\xca\x9d\x0c\x99\x22\x68\xc9\x42\x7f\x0a\xae\x2f\x83\x98\x0b\xa2\
+\x02\xba\x7c\xe8\xea\x83\x2a\x05\x55\x95\x11\x97\x79\x8b\x8e\xeb\
+\xc7\x0f\xcf\x0f\xe4\xf3\x41\x19\x9e\xd6\x0f\x9f\x50\x03\x63\xae\
+\xa3\x0d\x0d\x0d\x6b\x1b\x16\xd4\x3c\x75\xf3\x8a\x9b\x83\x91\xe1\
+\x0b\x78\xef\xbe\x82\x7d\xea\x65\xce\x9f\xea\x65\x86\x03\x01\x13\
+\xba\x4b\xe0\x83\x01\x08\x69\xb0\xa2\x7c\x74\x43\xbb\x12\xda\x86\
+\x60\xb0\x1f\x16\x15\x43\x78\x51\xdd\x59\x72\x43\x79\x8e\xbc\xb9\
+\x44\xb8\x0a\x14\x48\x39\x7a\x47\x5d\x06\x20\x84\x28\x8a\xc5\x62\
+\x33\x1f\x7e\xf8\xe1\xa7\xd7\xae\x5d\xbb\xac\xa2\x3c\x26\x07\xdf\
+\x39\x30\x18\xdc\xfa\x8b\x62\x73\xb0\x37\x50\x0c\x44\x04\x10\x80\
+\x34\x70\xa2\x07\xae\x2e\x83\x6a\x01\xaa\x08\x06\x42\xd0\xd1\x07\
+\xa1\x2c\xdc\x58\x55\xea\xeb\x37\xd5\x9f\xe2\xc0\x9e\x1a\x2e\x5c\
+\x28\xc2\x07\x14\xe0\x83\xd4\x50\x97\x00\x8c\xbb\xae\xaf\xaf\x5f\
+\xbe\x7e\xfd\xfa\xa7\x96\x2d\x5b\x56\xe1\x79\x1e\x5d\x9d\x9d\x58\
+\xa1\x58\xec\x44\xc3\xa3\xc9\xeb\xde\xd9\x3d\x54\xd5\xfc\x9f\xab\
+\xf0\x5c\x00\x22\xc0\xaa\x38\x88\xb1\x3a\x76\x6d\xe8\xb7\xa0\xd6\
+\x80\xf2\xdb\xef\xe8\xa7\xe0\x64\x79\x69\xfb\x3c\x5c\xff\xa2\x30\
+\x0a\x94\xff\xb1\x08\x08\x21\x42\x91\x48\x64\xc6\xa6\x47\x1f\x7d\
+\xe2\xce\x86\x86\x9b\x13\x89\x84\x69\x59\x16\x6d\xad\xad\x78\x9e\
+\x87\x26\x04\xd1\x39\xf3\x2a\x4e\x55\xd6\x56\x74\xce\x5f\xde\xb6\
+\xb0\x71\x77\x34\xd4\xd6\x54\x26\x00\x26\x9c\x22\x43\xc1\xb5\x95\
+\x15\x8a\xfa\x9f\x74\xf0\xca\xb3\x71\xce\xb6\xc7\xf1\x3f\x12\x1e\
+\x9f\x0a\xd0\xa5\x36\x1a\x01\x21\x44\x70\xe5\xca\x95\xcb\x37\x6e\
+\xdc\xf8\xe7\xe5\xcb\x97\x4f\xd5\x34\x8d\x74\x3a\x4d\x7b\x5b\x1b\
+\x42\x08\x0c\xc3\x40\x08\x81\xa6\x69\x04\x83\x41\xd4\xf5\x2b\x6a\
+\x0f\xcd\x9a\x97\xad\xec\x38\xd2\x31\x73\xdf\x5f\x66\x89\xb4\x25\
+\x50\x0a\x01\xc8\xd5\xf7\x59\x86\x26\xb3\xda\x8e\x2d\x35\x38\x85\
+\x4b\x44\xc7\xe7\x90\x19\xe0\x85\xaa\x8a\xac\x95\x0b\xbd\x0e\xf8\
+\x12\x28\xad\xab\xab\xdb\x34\xbb\xb6\x36\x24\x84\xc0\x71\x1c\xda\
+\xdb\xda\x2e\x11\x46\x08\x26\x3e\x6b\xe5\x95\x33\x8b\xd2\xf1\x44\
+\xf5\x7b\x55\xf3\x07\xab\x5b\x0f\x11\x6c\x7e\x2b\x56\xf2\xbd\x07\
+\xfb\xc4\x9e\x6d\xc5\xda\xf1\xb7\x4a\xf1\x26\x88\x4e\xc8\x7b\x53\
+\xcd\x54\xe7\xf4\x14\x99\x79\xee\x03\xf5\xd0\xcb\x4d\x67\x0e\x02\
+\x29\x09\xe0\xfb\xbe\xb0\x6d\x7b\xca\xe9\x96\x96\x94\x6e\x18\x59\
+\xa1\x69\xd3\xa5\xa6\xa1\xe9\x3a\x9a\x10\x08\x21\x10\xda\xe8\xcb\
+\xad\x7c\x1f\xa5\x14\x86\x61\xe0\x55\x5f\x1d\x4b\x56\xd5\x0e\x4f\
+\x5f\xb2\x32\xe5\x3d\xbe\x2e\x11\x4c\x25\x2f\x11\x1c\x87\xc8\x07\
+\x0c\x8e\x2d\x4e\xe4\xce\x8c\x04\x1a\x7f\xb0\xb3\x75\x23\x30\x00\
+\x24\x95\x52\xb6\x1c\x4d\xa3\xf2\x0d\xc3\x20\x97\xcb\x45\xfb\xbb\
+\xbb\xa7\x94\x96\x95\xb5\x17\x85\xc3\xe5\xbe\xef\x97\x68\x9a\x36\
+\x0a\x30\xe6\x5e\x8d\x02\x83\x52\x18\xa6\x79\xae\xa7\xbb\xbb\xc4\
+\xf9\xf0\x7d\x4b\xa6\x2f\x44\x35\x5f\x5d\x16\xf2\x73\xd7\x4c\x2d\
+\x0c\xd6\xe8\xb9\x1d\x47\x79\xe4\x4f\xfb\x5a\xdf\x00\x92\x40\x4a\
+\x29\xe5\x4d\x3c\x05\x42\x1a\x06\x86\xeb\x62\x9a\xa6\xe8\xeb\xed\
+\xad\x49\xa7\xd3\x99\x99\x33\x67\x9e\x0f\x04\x02\xd3\x95\xef\x0b\
+\xc6\x7a\x0b\xa5\x14\x52\xca\xbc\xf2\xfd\xa1\x9e\xde\xde\x4a\xa5\
+\x14\xa4\xad\xa4\xee\x7b\x97\x84\xdd\xd6\x75\x9a\x97\xce\xc8\xa5\
+\x4c\xa3\xe5\xd6\x27\x5b\x7f\x96\x73\xe9\x03\xfa\x95\x52\xb9\x89\
+\xc7\xfe\x22\x80\x21\x25\x9e\x61\x10\x0e\x87\x19\x19\x19\xc1\xce\
+\xe7\xc3\x1d\x1d\x1d\xe1\x69\x53\xa7\x0e\xc6\xe3\x71\xcd\x57\xaa\
+\x54\x29\x45\x30\x18\x4c\xa5\xd3\x69\x2d\x65\x59\x09\x4d\xd3\x90\
+\x52\xa2\xd9\x59\x5f\xf7\xd5\xc5\xb0\x9f\x9e\x96\xf0\x7a\xaa\x64\
+\xfe\xb5\x0e\xfd\xb7\x5b\x5e\x6a\xdd\xf3\x71\xd7\x97\x01\x08\x21\
+\x84\x61\x9a\xb8\x9e\x47\x20\x10\x20\x1c\x0e\xe3\x38\x0e\xba\xae\
+\x63\x59\x56\x2c\x9f\xcf\x7b\x55\xb3\x66\x59\xa1\x50\x48\x4f\x59\
+\x56\xc4\xb6\x6d\x4d\x4a\x89\xaf\x14\x4a\x4a\x64\xc1\x56\x28\x70\
+\x94\xe0\xdf\xb5\xd5\xf9\x91\x80\xec\x7c\xe0\xd9\xb6\xfb\xad\x11\
+\xaf\xe7\x4a\xae\x2f\x03\xc8\x64\x32\x19\xcf\xf3\x94\x61\x18\xc2\
+\x33\x4d\xa2\xd1\x28\x96\x65\xa1\x4b\x89\x94\x12\xa5\x94\x6e\x59\
+\x56\xa9\x10\xc2\x13\x42\x68\xba\xae\xa3\xc6\x01\x94\xc2\xcb\x66\
+\x8d\xf7\x42\x71\xff\x50\x91\x69\x9f\x49\x87\xb6\x6e\x7d\xb5\x65\
+\xc7\x58\xa1\x59\x57\x72\x3d\x71\xe8\x00\x27\x4e\x9c\x38\x6e\xdb\
+\x76\x75\x59\x59\xd9\xb4\x58\x2c\x66\xe8\xba\x8e\x62\xb4\xdf\x92\
+\x63\x10\xc1\x50\x88\xe2\xe2\x62\xe1\x7b\x9e\x50\x63\xb5\x00\xe0\
+\xb9\x2e\xff\xda\xf5\x37\xd9\xe2\xf9\x7d\x5b\xdf\xe9\xb9\xe3\xb5\
+\xe6\xde\x7d\x40\xb7\x52\x2a\xfd\xd8\x63\x8f\x4d\xfa\xd6\xeb\x40\
+\xc1\xb6\xed\xcc\xe1\xc3\x87\xdf\x6c\x6a\x6a\x6a\x0c\x04\x83\x4b\
+\xe2\xf1\x78\x38\x1a\x8d\xea\x85\x42\x01\x29\x25\xba\x94\x04\x83\
+\x41\x15\x0e\x87\x85\xef\x8d\x19\x52\x8a\x64\x32\xe9\xef\x7a\xfe\
+\xf9\xae\xf7\x3a\xcf\xff\xf1\x99\x37\x9a\x1e\x49\xe7\xbd\xae\xb1\
+\x90\x3b\x93\x09\x8f\x8f\x8b\x0d\x89\x10\x22\x00\x94\x01\xb1\x75\
+\xeb\xd6\xfd\x78\xe9\xd2\xa5\xf7\xcc\x99\x33\x27\x1a\x29\x29\x11\
+\x86\x69\x52\x5c\x5c\xec\x95\x96\x96\xea\x8e\x6d\x63\x3b\x0e\x7b\
+\xf7\xee\x1d\x3a\x78\xf0\x60\xe3\xce\x9d\x3b\x7f\x33\x3c\x3c\x7c\
+\x9e\x49\x72\x3d\x29\xc0\x18\x84\x00\xc2\x40\x79\x22\x91\x98\x75\
+\xef\xbd\xf7\x6e\x99\x3d\x7b\xf6\xdc\xba\xba\xba\x48\x24\x12\xf1\
+\xa2\xd1\xa8\x3e\x30\x30\xa0\xb6\x6f\xdf\xde\xbd\x7f\xff\xfe\x27\
+\x0f\x1c\x38\xf0\x32\x1f\x55\xb8\xfb\x59\xc5\x2f\x03\x98\x00\xa2\
+\x33\xfa\xd8\x95\xaf\x5e\xbd\x7a\xc5\xe2\xc5\x8b\x7f\xbd\x6a\xd5\
+\xaa\x8a\x4c\x26\xe3\xef\xdb\xb7\xef\xe4\xb6\x6d\xdb\x1e\x4a\xa5\
+\x52\x5d\x40\x3f\x90\x53\x9f\xb7\xb5\x86\x4f\xff\x17\x00\x01\x60\
+\x1a\x30\x7f\xf3\xe6\xcd\x2f\x6e\xd8\xb0\xe1\xf7\xc0\xd7\x81\x72\
+\x40\x7e\x19\x9f\x9a\x49\x9b\xd2\x09\x69\x29\x61\xf4\x9e\x4b\x7f\
+\x61\xd7\x13\xf7\xff\xbf\xff\x1d\xff\x17\x23\x3b\x69\xdd\xc6\xda\
+\x29\x91\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x07\xdd\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x07\xa4\x49\x44\x41\x54\x58\x85\xbd\x97\x69\x8c\x5f\x55\
+\x15\xc0\x7f\xf7\xde\xb7\xfc\x97\xd9\x3a\xd3\x85\x76\x3a\xa5\xa5\
+\x0c\x6d\x51\x4a\xa4\x80\x26\x80\x45\x50\xb6\x62\xd5\x4a\x05\x94\
+\x68\x94\x48\xf8\x80\x7e\x31\x12\xd1\x18\xf9\xa4\x09\x6a\xd0\xd6\
+\x25\x25\x50\x8c\x11\x89\x0b\x8b\x88\xda\x4a\x14\x45\xd4\x82\x24\
+\x84\x82\x01\x2c\xd3\x4e\x1d\xa0\x94\x59\xff\xdb\x5b\xef\xbd\xc7\
+\x0f\x53\x6a\xc9\x14\xea\x87\x89\x27\xb9\x79\x27\x79\xe7\xdd\xf3\
+\x7b\x67\xbb\xef\x21\x22\xcc\xe7\x5a\xbf\xf6\x94\xcf\xbd\xfb\x9c\
+\x0d\x77\xff\xaf\xf6\xf3\xea\x5c\x44\xb8\x7a\x49\xef\x3d\xcf\xfc\
+\xe3\x71\xd9\xf0\x8e\xd3\xb6\xd7\x15\xea\x44\xf6\x9a\x79\x96\xaa\
+\xf1\xf2\xce\x53\x97\x71\xff\x3d\x3b\x6e\x3a\xe7\xac\x35\xf7\x2c\
+\x56\xca\xbc\x9d\xfd\xbc\x03\x54\x8c\xa7\x3d\xba\x97\x15\xbd\x8a\
+\x9f\x7c\xf7\xd6\x6b\xcf\x5c\xbb\xf2\x47\x4b\xae\x0f\xde\xd2\xcf\
+\xbc\x03\x44\xca\x49\x3e\x7e\x90\xc6\xe8\x3f\xe9\x97\x19\xbe\x7f\
+\xeb\x0d\xd7\x5d\xb4\xb7\xe7\x91\x45\x77\x57\x15\xc0\xfa\xdb\x4e\
+\x51\x4b\x6f\xec\x51\x6f\xd8\x07\x6f\x28\x57\x9e\xbd\x3c\xac\x84\
+\xf4\x65\x53\xaf\xd0\x5b\xd5\xd4\x43\xa8\x85\x50\x09\x66\x57\x64\
+\x20\xd4\x60\x14\x4a\xe9\x59\x70\x11\x85\x17\x70\x02\xa5\x87\x4e\
+\xe6\xba\x16\x2f\x5b\xbe\xb4\x98\x39\x44\xe1\x2d\xce\x59\x7a\x43\
+\xcd\x17\x3e\xbe\xf5\x22\x77\xfb\xbd\xbb\xf9\x34\x97\xec\xbd\x79\
+\xbf\xac\xfb\xf6\xe0\x51\x00\x25\x22\x00\x5c\x7d\xfe\x8a\xaf\x7f\
+\x64\x68\xdd\x2d\x94\x89\x57\x0a\x14\x1e\xa5\x40\xab\xd9\xab\x52\
+\x1e\xa5\x04\x40\x29\x04\x10\xf0\x0e\x11\xc1\x7b\xc1\x3b\xc1\x5a\
+\x4f\x18\x55\xd5\xb9\x9b\xd6\x90\x76\x32\xca\xd2\x61\x6d\x49\x64\
+\x14\x2f\x1f\x2e\xd9\xfe\xc0\x9f\x77\x3f\xf4\xaf\xf4\xb2\x63\x23\
+\x76\x34\x02\x35\x95\x0d\x7e\xf0\xfa\x8d\x84\x36\xd1\x4e\x4a\xb4\
+\x76\x98\xc0\xa2\x03\x8b\x36\x0e\xb4\x05\x05\xa8\x23\x8f\xb8\x12\
+\x5c\x0a\x65\x02\x79\x4e\x91\x59\xf2\xcc\x93\x75\x32\x3a\x8d\x7d\
+\xb8\xc4\x92\x25\x8e\x4e\x6a\x29\xcb\x92\x58\xc3\x35\xef\x59\x79\
+\xe9\xd6\x35\xdd\xbf\xf9\xc5\x8b\xad\x4d\x73\x00\xba\x43\xef\x9b\
+\xaf\xed\x87\xd6\x34\xa2\x2c\x51\xec\x88\x62\x4b\x18\x39\xa2\xc0\
+\x62\x42\x20\xa8\x83\xa9\x02\x06\xc4\x83\xcb\xa0\x68\x42\x36\x8d\
+\xc9\x5a\x44\x59\x86\x4b\x1d\x51\xe6\xc9\x13\x8b\xb4\x1d\x45\xdb\
+\xd3\x68\x3b\x8a\xd2\x11\x29\xe1\xc2\xe1\x05\x57\x6c\x59\x5b\xbb\
+\xef\xfe\x17\x92\x8f\xbe\x09\xa0\x1e\x7a\x3a\x13\x63\x48\x63\x9c\
+\x20\xb2\x48\x64\x21\x2a\x09\x2a\x25\x3a\xf6\x50\xe9\x87\x8a\x81\
+\x30\xe2\x08\xcd\x2c\x88\x31\x10\x06\x18\xab\x31\x3a\x25\x94\x29\
+\xb4\xb3\x58\x81\x7c\xd6\x02\xe7\xa1\x99\x82\x42\x91\x8a\x62\x61\
+\xc7\x56\xe6\xa6\x20\x70\xb4\x27\xc6\x30\xed\x57\xa9\xd4\x1c\x33\
+\x1d\xc7\x40\x97\xa6\xaf\x3f\x44\x75\x9f\x04\xd1\x32\x08\x96\x43\
+\x6d\x09\xc4\x7d\x10\x54\x41\x69\x10\x0b\x45\x07\xd2\x49\xe8\x1c\
+\x42\x07\xfb\xe8\x4e\x9f\xc3\xba\x0e\x2d\x07\x45\x09\x8d\x1c\x5e\
+\x49\x34\x56\x0f\x30\x3d\x32\xf3\xbb\x3b\xc6\x8a\xb9\x29\xa8\x06\
+\x42\x9e\x4d\x53\xb1\x0d\x70\xd0\x85\x62\xd1\x8a\xd3\x39\x30\x5a\
+\x49\xf6\xfe\xea\x40\x16\x55\x66\x94\xd6\xcf\xa2\x82\x08\x4c\xc0\
+\xd1\x0e\x16\x8f\x78\x8f\xf7\x0e\x5b\x14\xbe\x6f\x70\x59\xed\xc2\
+\x0b\xce\xa8\xf6\xcb\x73\x20\x6d\xf2\x12\xd2\x5c\x51\xaa\x01\x9e\
+\x79\x76\x72\xd7\x8e\x83\xee\x8a\xe3\x17\x61\x88\xc2\x28\x4c\x08\
+\x71\x00\xbd\x75\x45\x18\xd7\xf9\xc3\xcf\x9f\xde\x73\xe3\x48\x71\
+\x71\x71\xb3\xaa\xa8\x08\x42\x0f\x44\x1a\xb4\x3a\x52\x07\x82\xb3\
+\xd0\xb1\xd0\x73\x9b\x64\x77\xae\x89\x1e\xdf\xb8\x79\xeb\x79\xca\
+\x65\xf4\xca\x8b\x2c\xd6\x25\x8d\x60\x31\x8f\x3d\x36\xf5\xc7\x1d\
+\x23\xee\xf2\x65\x3f\x1e\xa8\xf7\xd6\x62\xff\xfc\x55\xaf\xa6\x6f\
+\x02\xa8\x04\x14\xca\x28\x02\x43\x5a\x0d\xa0\x2b\xae\xa3\xe2\x9e\
+\xaa\x11\xdb\x06\x88\x6e\x93\x8c\xb7\x10\x03\xf4\x1c\xd1\xc3\x80\
+\x52\x2d\x58\x05\x36\x43\xf9\x0e\x59\xd5\xf3\xe8\xdf\x9a\x7f\xff\
+\xeb\x03\x6b\xae\x8b\x1f\x50\x6b\x16\xe9\x7e\x03\xb4\x80\x31\x38\
+\x66\x12\xc6\x01\xaf\x69\xc5\x68\x60\x18\xa9\x19\x46\x4c\x7d\x60\
+\x44\x57\x07\x0e\x7a\xa7\x0a\x80\x8d\x4f\x5f\xbc\x65\xdd\xb6\xd5\
+\x77\xbd\x15\xc4\x51\x18\x6d\x50\xbd\x43\xd0\xbf\x9a\xe9\x68\x90\
+\xef\x3d\xdc\x1c\x9d\x78\xf4\xca\x5b\x74\x61\xcf\x02\x86\x51\x0c\
+\x8b\xc8\xe0\x9c\x14\xc4\x86\x31\xa5\x18\x09\x14\x49\x64\x34\x54\
+\x07\x20\xee\xad\x75\x9c\x49\xde\xb7\x67\xed\x7b\x57\x4f\x9f\x7d\
+\x9f\x1e\x68\xef\x39\x11\x00\x26\x82\x85\xa7\xc2\xc8\x53\xfe\xee\
+\x1d\x4f\x3c\xf5\xf0\xd6\x25\x93\x57\xe4\x7e\x83\xb5\xe5\x91\xe9\
+\xa7\x42\xef\x7d\x0c\xec\x79\x53\x04\x42\xc3\x24\x70\xc0\xc0\xa8\
+\x36\xd1\x28\x71\xef\x28\x41\xcf\x33\xe9\x07\xfa\x7a\x25\x3b\x69\
+\xf7\xb5\x97\x5f\x4d\xd0\x1d\xbb\x13\xf9\x17\x51\x3a\x79\x72\x37\
+\x77\x7c\x69\xe7\xc3\xfb\xb6\x0d\x6f\x11\xab\x86\x8b\x22\x3f\xb3\
+\x28\xcb\x33\xf0\x9c\x81\xe7\x4c\x67\xdd\xaa\x39\x11\x30\x8a\x19\
+\x2f\x1c\x54\x42\xae\x09\x40\x57\x3a\xbf\x56\x87\xce\xdb\xf5\xb1\
+\x15\x9b\xcf\xb9\x70\x58\x8d\x32\x42\x66\xd3\x13\x06\xa0\x5e\x31\
+\x8f\xfd\xec\x8b\xdb\x5a\x37\x8c\xba\x0f\x9d\xb7\xff\xfc\xf5\x95\
+\x28\x59\x98\xe5\xd9\x86\x3c\xcf\x45\x2c\x88\xa5\x2a\x48\x32\x07\
+\x40\x6b\x1a\xce\x31\x26\x8e\x52\x89\x6e\x3d\x64\x5f\xb9\xf8\x2b\
+\xe3\xfb\xae\x39\xe5\xfc\x15\x6a\xba\x35\xc1\x58\xf7\x41\x12\x97\
+\x1c\xdf\xeb\x31\xb2\xe5\x89\xc9\xaf\xbe\xa1\xfb\xa4\x55\x55\x46\
+\xf7\x25\x49\xa7\x37\x4b\x73\x91\x02\x24\x13\x0d\x1c\x9c\x03\x00\
+\x34\x0b\xcb\xab\x71\xc9\xd4\x83\xce\x5e\xfe\xf9\xf6\xa1\x9b\xfa\
+\x56\x77\xe9\xf6\xcc\x0c\x91\xd6\x8c\xc7\x87\xc9\x9b\x69\xbc\xfe\
+\xb7\x27\x87\xd5\x85\xd5\x6a\x10\x86\x2a\x08\x0d\x46\x6b\x94\xd2\
+\xa0\x20\x55\x40\xe9\x28\xbd\xc7\xce\xa4\x49\x78\xc0\x0f\xe1\x0c\
+\xcd\x76\x53\xa5\x9d\x5c\x49\x06\x24\x20\x8a\xb9\xc7\xb1\x08\x4d\
+\x63\xfd\x0b\x3f\xcd\xcd\xe6\x6f\xa4\xe1\xd7\xd2\xe5\x93\xc6\x34\
+\x0a\xe2\xc0\x60\x8c\xc6\x84\x86\xd5\xf1\xd0\xbb\x46\x5f\x7c\x7d\
+\xca\x8f\xc5\x08\x11\xa2\x02\x3c\x06\x94\x60\xc5\x21\x58\x0a\x11\
+\xac\x2f\xb1\x25\xf4\x66\x7d\x41\x75\x91\xa2\xd1\x6c\x90\x76\x72\
+\xa4\x0d\xd2\x00\x89\xfe\xfb\xd6\x47\x01\x36\xdd\xd9\x3c\xfc\xe5\
+\xcf\x2e\xfd\xe4\x2f\x6b\x43\xb7\xdb\x7c\x2a\x88\x27\x03\x8a\xd8\
+\xd1\x09\x13\x34\x06\xef\x85\xc5\xef\x5f\x64\x2e\xe8\xd9\xd0\x55\
+\x8b\xeb\x74\x9b\x6e\x6a\x74\x11\x12\x22\x08\x39\x19\x4d\x9a\xb4\
+\xcb\x26\xad\x4e\x8b\x76\xa7\x4d\x2b\x6d\x33\x35\x3e\xc5\xf8\xc4\
+\x24\x79\xc3\xa2\xa6\x80\x0e\x48\xf5\x38\x00\x9f\xb8\xb4\xba\x79\
+\xef\xe9\xa7\xee\x5c\xb9\x6c\xd0\x0c\x66\x29\x0e\x8f\xcd\x4b\x24\
+\xb3\x88\xf2\x74\x5c\xc9\xfe\x7c\x8c\x91\xa9\x83\x48\xec\x90\xc8\
+\xe2\x43\x87\xd7\x1e\xa7\x1c\x0e\x8b\x2d\x4b\x8a\xc2\x51\xa4\x25\
+\x45\xbb\xc4\xb6\x3c\xe5\x8c\x50\x4e\x0b\x7e\x1c\x64\x1c\x88\x40\
+\x32\x99\x0b\xf0\x7a\x87\xba\xb7\x98\x38\x0c\x91\xd2\xa2\x32\x0b\
+\xd3\x60\x15\xe0\x1d\xde\x83\x58\x8f\xcf\x41\x22\xc1\x47\xe0\x63\
+\xc1\x07\x1e\xa7\x1d\x0e\x8f\x73\x82\xb7\x82\xe4\x20\x05\x78\x0b\
+\xe2\x40\x72\x60\x1a\x48\x81\x18\xe4\x98\x66\x3a\x3a\x07\x1e\x79\
+\x3c\xbd\x77\x78\xdf\x6b\xd7\xef\x7b\x69\x84\xa8\x1a\xa3\x50\xe8\
+\x8e\x42\x8f\x6b\x98\x54\x48\x43\xe1\x9a\x0a\xd5\x09\x21\x89\xd0\
+\x79\x84\x2e\x22\x4c\x19\x61\x6c\x8c\xb6\x11\xda\x47\x18\x1f\xa1\
+\x09\xd1\x3a\x42\x29\x83\x52\xb3\x45\xaa\x7b\x34\x6a\x81\x46\x45\
+\x1a\xd7\x3e\x4e\x0a\x00\x1e\xdc\x35\xbe\xf3\x92\x73\x83\xe0\x80\
+\xd1\x3b\x4e\x5e\x39\x44\x96\x24\xe8\x54\xe3\x0b\x8d\x4a\x3c\x69\
+\x27\x97\x99\x76\x43\x30\x22\x68\x99\x3d\x04\x14\xa0\x05\x01\x3c\
+\x7e\xf6\x67\xc3\x6b\xbc\x0b\x31\xce\x80\xc5\x07\x56\x10\x0b\x81\
+\x0a\xa4\xbf\x32\x10\x05\x46\x1d\x9a\x03\xf0\xbd\xab\x06\xd4\x84\
+\xea\xe3\xf7\x4f\xda\x3b\x3e\x7c\x61\x97\x79\x49\xeb\x1f\x0c\x0e\
+\x9d\x44\x96\xa6\x68\xab\x91\x46\xc0\xc4\xf8\xf8\xbf\xf3\xca\xf4\
+\x05\x84\x44\x2a\x50\x4a\x05\x80\x56\xa8\x23\x4d\x25\x1e\x94\x03\
+\x64\xf6\x33\x81\x12\xc8\x28\x25\x45\x7c\x0a\x59\x5b\x78\x39\x4b\
+\x75\x17\xdd\x93\x73\x00\x26\x0e\xb7\xe9\x5f\xbc\x60\x36\x12\x7f\
+\x6a\xff\xf0\x33\x97\xd5\x82\x27\x51\xdb\x96\x0e\x2d\x22\x4b\x52\
+\x34\x8a\x46\xb3\x95\xe4\xdb\xfd\x18\xf3\x28\x47\x01\x6e\xfd\x4b\
+\x2e\xc7\xde\xd8\xb9\x2b\xd9\x5e\x5f\x57\x37\xc1\x26\x6e\x5f\xb8\
+\x6c\x80\xcc\xe6\x68\xaf\xe6\xee\x30\x5f\x00\xc7\x93\xce\xf3\x9d\
+\xef\xf4\x0c\x77\x07\x6c\x92\x6f\x0e\x9c\x3e\x80\x94\xf2\x76\xe6\
+\xf3\x0f\x00\xd0\xdc\xd7\xfa\x56\x6d\x49\x75\x6a\xcd\xa7\xd4\x5d\
+\xb5\xb4\x36\xf3\x7f\x07\x00\x48\x0e\xa7\x3b\x57\x0d\xaf\xaa\xd5\
+\x4e\xab\x6f\x9c\x6f\x80\xff\x00\xf5\x6b\x6f\xe6\x91\xd8\x77\x63\
+\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x09\xc1\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\
+\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd6\x07\x0c\x16\x01\x39\xae\xf0\x50\xb1\x00\x00\x09\x4e\x49\x44\
+\x41\x54\x58\xc3\xc5\x56\x7b\x70\x54\xd5\x19\xff\x9d\x7b\xee\xdd\
+\xbb\x9b\xcd\x66\xf3\xce\x6e\x5e\x64\x13\xc3\x2b\x90\x90\xb7\x06\
+\x30\x09\xa0\x14\xa6\x3e\x21\x8a\xe3\xa3\xad\xa2\xce\x94\x29\x3a\
+\x5a\x94\xaa\x58\x99\x96\x29\xe2\x54\x9d\x8a\x8f\xa2\x9d\xe9\xa8\
+\xb5\x20\xca\x63\x10\x10\x23\x46\x34\x04\x42\x48\x10\x50\x30\x4d\
+\xb2\x9b\x6c\xb2\xaf\x64\xb3\x49\x36\xbb\x7b\x77\xf7\xde\xdd\xd3\
+\x3f\xdc\xc4\x34\x15\xc4\x8e\x4e\xbf\x99\x6f\xee\x9d\x73\xbe\x7b\
+\x7e\xbf\xf3\x9d\xef\xfb\xdd\x03\xfc\x9f\x8d\x4c\x1f\x58\xb3\xa6\
+\x21\x23\x0a\xe6\x34\xe5\x99\x30\x23\xcf\xd4\xd6\xd4\x74\xf4\xee\
+\xfa\xfa\xa5\x6f\xf5\xf5\x5a\x2a\x2d\xbd\x16\x70\x20\x59\x3b\x77\
+\xee\xb6\xff\x64\x8c\x1a\x6e\x5f\xc5\xce\x9c\xe9\x60\x56\x6b\x2f\
+\xdb\xbb\xef\x7d\xf9\xc4\xc9\x16\x65\xef\xbe\xf7\x65\xab\xb5\x97\
+\x9d\x39\xd3\xc1\x1a\x6e\x5f\xc5\x7e\x4c\x3c\x7e\xfa\x40\xbe\x29\
+\x9f\x25\x27\x27\x93\xf4\x74\x03\x6e\xf8\xf9\x8d\xbc\x2c\x2b\x10\
+\x2a\x2a\xa1\x28\x11\x30\xf6\xcd\xfc\x8f\x49\x80\x9b\x3e\x30\x23\
+\x6f\x46\x47\x7b\x7b\x9b\x4c\x29\xc5\x5b\x6f\xbf\x29\xdd\xff\xe0\
+\x7d\xc1\xb7\xde\x7e\x53\xa2\x94\xa2\xbd\xbd\x4d\x9e\x91\x37\xa3\
+\xe3\x27\x25\xd0\xd4\xd4\xb4\x36\x23\xc3\x28\x28\x8a\x82\x43\x87\
+\x0f\x69\x42\x92\x7c\xdd\xa1\xc3\x87\x34\x8a\xa2\x20\x23\xc3\x28\
+\x34\x35\x35\xad\x9b\x5b\x5a\x3a\xa3\xa4\xb2\xfa\xaf\x55\x0b\x17\
+\xf7\x57\xd4\x2c\x66\xc5\xe5\xe5\xb7\xfd\xc7\x31\x36\x34\xd0\x92\
+\xf2\xab\xcb\xff\x27\x02\xf5\xf5\xf5\x6f\xb8\x5c\x0e\x99\xe7\x79\
+\xac\x5c\xb1\x52\x12\x35\x42\xe3\xca\x15\x2b\x25\x9e\xe7\xe1\x72\
+\x39\xe4\x6b\xaf\xad\x7d\x55\xa5\x52\xf7\xde\xfb\xcb\x7b\x1e\xd8\
+\xf1\xea\xf6\xec\x2d\x9b\x9f\x86\x4a\xa5\x7e\x6c\xea\x1a\x5d\x7d\
+\xd6\x9d\x82\xc8\x9f\xae\x5a\xb4\xd8\x55\x54\x59\xb9\xf4\x07\xa5\
+\xe4\xf1\x8d\x1b\xa2\x7d\x7d\xbd\x2c\x18\x0c\x32\x45\x91\x99\x24\
+\x49\x4c\x51\x64\x16\x0c\x06\x59\x5f\x5f\x2f\x7b\x7c\xe3\x86\x68\
+\x4d\x5d\x5d\xc4\x33\xe2\x61\x36\xfb\x00\x73\x3a\x9d\xac\xa6\x6e\
+\x49\x64\x62\x33\xf3\x2a\x2a\xea\x96\xfc\x6c\x05\x1b\x1c\x1a\x64\
+\xad\x6d\xa7\xd8\x92\xe5\x2b\x58\x49\x65\xd5\x0b\x57\x5c\x84\x66\
+\x8b\x99\x78\x3c\x1e\x10\x02\xb4\x77\xb4\x2b\x06\x83\x91\x38\x9d\
+\x0e\x56\x5e\x56\xce\x7b\x3c\x1e\x98\x2d\x66\x02\xc0\x63\xee\x31\
+\xa7\x28\xd1\x30\xb4\x71\x3a\x2c\xad\xaf\xe3\x14\x45\x56\x28\xa5\
+\xa1\x48\x24\xa2\xfa\xdd\x86\x47\x31\x3c\x3c\x8c\x9c\xec\x6c\x3c\
+\xfc\x9b\x5f\xe3\x99\x2d\x5b\xcb\x7f\x88\x0e\xcc\x88\x82\xf5\x4e\
+\xe8\xc0\x3f\x77\xef\xfe\x88\xa7\xfc\xaf\x52\x12\x75\x99\x1c\xc7\
+\xc1\xe7\x93\xd6\xbb\x86\x47\xb7\x3d\xf6\xc8\x43\xea\xb9\x73\x66\
+\x43\xaf\xd7\x43\x10\x04\xf0\x94\x87\x14\x94\xe0\x74\x39\x01\x06\
+\x0c\xba\x5d\x28\xcc\x9f\x85\xf5\x8f\xfc\x16\x4e\xf7\x60\xde\xd9\
+\xd6\xd6\xbe\x2b\x22\x30\xd5\xe6\x97\x55\x55\x25\xe8\xe3\x5b\x6f\
+\xbd\xe9\x46\xec\xdd\xbf\x9f\x29\x4a\xa4\x13\x20\x33\x5f\xfc\xf3\
+\x36\x6e\xde\xdc\xb9\x70\x0f\xbb\xd1\x3f\x60\x85\x2c\x87\x21\x2b\
+\x32\xb4\x5a\x2d\xd2\x53\x33\xa0\xd7\xeb\x61\xb3\xdb\xd0\xd3\x63\
+\xc1\xd6\xe7\x5e\xe8\x6c\x3f\xd9\x32\xfb\x8a\x33\x30\xd5\x2a\x6b\
+\x16\xf5\x3f\xf5\xe4\xc6\xec\x25\xb5\xb5\x18\x1a\x1a\xc2\xc1\x0f\
+\x3f\xc4\xd2\xba\x5a\x18\x0c\x46\xb4\x9e\x6a\x81\xcf\xef\x03\xc7\
+\x71\x31\x27\x93\xef\xa2\x28\xa2\x20\xbf\x10\x01\x7f\x00\xeb\xd6\
+\x3f\xc2\x46\x47\x47\xae\xf9\xe2\xf4\xe9\x56\x00\x28\x2e\x2e\xd6\
+\x9e\x3b\x77\xce\xff\xbd\x04\x4a\x4a\x6a\x8a\x55\x5a\xee\x6c\xe3\
+\xe1\x0f\x30\xec\x19\x82\xdd\x61\x47\xa2\x2e\x09\x79\x26\x13\x3e\
+\x3d\x76\x14\xa1\x70\x68\x0a\xf8\x7f\x93\xe0\x79\x1e\x39\x59\xb9\
+\xf0\xf9\xfc\x78\x60\xdd\x43\xe1\x28\x98\x93\xe7\xf8\xcc\x70\x38\
+\xc4\x2b\xd1\x48\xdd\xf9\xb6\xb6\x63\x00\x40\x2f\x45\xc0\x64\xca\
+\xf2\x32\x82\x45\x4d\xc7\x3e\xcb\xab\xaa\xac\x00\x4f\x79\xcc\x99\
+\x3d\x07\xcd\x2d\xc7\x20\x05\x25\x50\x9e\x82\xa7\x3c\x74\x3a\x1d\
+\x92\x93\x53\x90\x94\x98\x0c\x4d\x5c\x1c\x22\x91\x08\x08\x07\x70\
+\x84\x43\x20\x18\x40\x46\xba\x01\x59\x59\x46\xba\xac\xb6\x4e\x7f\
+\xd7\x1d\x6b\xb8\xfc\xfc\x7c\x9c\x38\xd1\x9a\xe4\xb2\xdb\x76\x5e\
+\x96\xc0\xc0\xc0\x80\x62\xef\xef\xff\xbb\xa0\xd6\x5e\x68\x3c\xfa\
+\xc9\xea\x15\xcb\xaf\x23\x94\x52\xf4\x59\x2d\xa0\x94\x82\xe7\x79\
+\xa4\xa5\xa6\x83\x01\xd8\xf5\xee\x1e\xf4\x59\xad\x48\x4d\x4d\xc1\
+\xcc\xc2\x59\x90\x82\x01\x00\x0c\x1c\xc7\x81\xf2\x14\x09\x09\x09\
+\x18\x1e\x76\x83\xa7\x14\x39\xd9\xd9\xf8\xe8\xe3\x8f\x8d\x03\xd6\
+\xbe\xad\xdf\x29\x44\xd3\xed\x7c\xfb\xa9\xdd\x8c\xb1\xb0\xc1\x60\
+\x80\xc3\x69\x03\xa5\x14\x94\x52\x24\x26\x26\xc1\x1f\x90\xb0\x61\
+\xe3\x26\xa5\xe9\x58\xf3\xba\x3d\xfb\x0f\xdc\xfb\xd4\xa6\x3f\x4a\
+\x03\x76\x1b\x72\xb2\x72\x27\xe3\x82\xa1\x20\x12\x74\xf1\x88\xd3\
+\xc4\x41\x1b\xa7\x85\xcd\xee\x40\x58\x96\xf5\x75\x75\x75\xfc\x77\
+\xea\xc0\x25\x4c\xa5\x8d\xd3\xc2\x3b\xee\x05\xa5\x14\x1c\xc7\x21\
+\x51\x9f\x84\xfd\x07\x0e\x42\x92\xc2\xeb\xce\x9d\x3e\xb5\x03\x00\
+\x4a\xca\xaa\x6c\x9b\xff\xb0\xf5\xc8\xfe\xdd\xbb\x60\x73\xf4\x83\
+\xe3\x38\x10\x02\x08\x2a\x01\xed\x67\xce\xa2\xf1\xe3\x4f\x58\x30\
+\x24\x5d\x08\xcb\xd1\x17\x3e\x3d\xf9\x69\xe4\xb2\x04\x8a\xcb\xaa\
+\x6a\x38\x8a\xa7\xd4\x6a\xcd\xb2\xb4\xd4\x14\x12\x0a\x87\x20\xaa\
+\x54\x90\xe5\x30\x38\x8e\x83\x5a\x54\x63\xc8\xed\x06\x89\x30\x69\
+\xf2\x23\x81\x04\x12\xf5\x7a\x08\x82\x0a\x82\xa0\x02\xc0\x40\x08\
+\x01\xe5\x78\x7c\x72\xec\x73\x38\x07\xac\x9a\xee\xee\xee\xd0\x65\
+\x95\x70\x72\x2d\x15\x7f\xbc\x61\xf5\xad\xa8\x5d\xbc\x10\x94\xe3\
+\x10\x0a\x85\xa0\x12\x45\xd0\xa0\x04\x8e\xe3\xa0\x44\x14\xdc\x75\
+\xc7\xed\x38\xde\x72\xea\xf5\xf9\x15\x15\x0e\x12\xa5\x21\x81\x17\
+\x0e\xdc\x73\xe7\x1a\x04\x24\x3f\x38\x42\x40\x38\x0e\x02\x2f\x40\
+\x56\x64\x84\x43\xe1\xc8\x74\xf0\xcb\xd6\x00\xcf\x53\x67\x65\x79\
+\x19\xe2\xb5\x71\x70\x0d\x3a\x31\x3a\x3a\x82\xe4\xa4\x14\x50\x9e\
+\x82\xf2\x14\xa3\x63\x1e\x14\x14\x5c\x85\xe7\xb7\x6d\x11\x2b\x4a\
+\x4b\x1b\xd3\xd2\x93\x3f\x7b\xfe\xd9\x2d\xfa\xeb\x97\x5d\x07\xe7\
+\xa0\xed\x9b\x38\x4a\x21\xa8\x54\x18\x1a\x1a\x82\x1c\x91\xb9\x92\
+\x8a\x8a\x9b\xa6\xe3\x5c\xaa\x0b\x48\x6a\x9a\x61\x9e\x5e\x9f\xb0\
+\x60\x41\x49\x09\x82\xc1\x10\xac\xfd\xfd\x98\x3d\x73\x36\xbc\x3e\
+\xef\x64\x90\xcf\xef\xc3\xcc\xc2\x59\xb8\x6d\xd5\x6a\xdc\x73\xd7\
+\x9d\x48\x4d\x49\xc5\x80\xd3\x8a\x60\x28\x08\x42\x08\x08\x08\x44\
+\x51\x0d\x6b\x9f\x15\x25\xf3\xe7\x91\x2e\xb3\x65\x4d\x62\x52\xea\
+\x42\xad\x46\xfd\xae\xc7\xe3\x89\x5e\x4a\x88\x08\x00\x52\x58\x5a\
+\x3a\x4b\xaf\xd1\x5e\x10\x78\x1e\x8c\x30\x49\x0e\x2b\xc2\x2b\x7f\
+\x79\x9e\xcf\xc8\x48\x87\xd3\x65\x03\x08\x26\x45\x67\xa2\x30\x09\
+\x21\x20\xe4\xdb\x25\x35\xea\x38\xb8\x87\xdc\x38\x79\xe2\x24\xb2\
+\xb2\x73\x90\x69\xcc\xc2\xc6\xa7\x37\x63\x74\x68\x64\xf5\xf9\xb3\
+\x6d\x7b\x01\x30\x32\xe5\x27\x94\x14\x61\x51\x4f\xbe\x29\x1f\x26\
+\x93\xe9\xf3\x0f\x0e\x1e\xdc\x54\x7d\xf5\xd5\x2f\x8f\x8f\x8d\x15\
+\x59\x7a\x2d\x18\x1c\x74\xff\x3e\x4a\x84\x67\x5e\x7b\xf9\x45\xa2\
+\x4b\xd0\xc1\xed\x76\x81\xc5\x7a\x7d\xc2\xbf\xdd\x01\x81\x28\x8a\
+\xf0\xfb\x03\x38\x7c\xe8\x23\xcc\x9d\x33\x07\x3a\x9d\x0e\xfe\x40\
+\x00\x9b\xb7\xfc\xc9\x7f\xba\xa5\x25\x15\x40\x04\x40\x84\x4e\x05\
+\xbf\xff\x81\xb5\x28\x2d\x5f\x80\xa0\x24\x65\x5d\x7f\xfd\xf2\x5f\
+\x88\x2a\x3e\xa5\x66\x71\x0d\x57\x54\x54\x84\xce\xaf\xbf\xae\x77\
+\xb8\xdc\x16\xcf\xb0\x27\xa9\xa0\xc0\x04\x83\x21\x13\x3c\xcf\x03\
+\x84\x4c\x56\x3b\xc7\x51\xa8\x04\x15\x44\x51\x0d\x8f\x67\x14\x9b\
+\x9e\xde\x82\x96\xd6\x36\x73\x5b\x7b\x47\xa2\xa8\x56\x93\xf7\xf6\
+\xec\xc3\xa0\xcb\xbd\x7e\x78\xd0\x75\x11\x00\x03\xc0\x78\x00\x60\
+\x1c\x53\xe5\xe7\xe6\x33\xbd\x3e\x81\x14\x16\xcc\x42\xf1\xdc\x05\
+\xbc\x2f\xe0\x43\x75\x65\x35\xa4\x90\x84\xae\xee\xaf\x11\x8d\x46\
+\x99\x4a\x54\x99\x6a\xaf\x5d\x84\x2f\xcf\x9d\x83\xc3\xee\x40\x5a\
+\x7a\x1a\xd2\x52\x53\x21\xc6\xab\x20\xcb\x0a\x42\xe1\x20\xdc\x43\
+\xc3\xf8\x57\x97\x19\x2f\xbd\xb2\x23\x3a\xe8\xb4\x3f\xd1\x6f\xb1\
+\x34\xeb\x92\x92\x74\xe3\x63\xde\x27\x19\x21\xe3\x9d\x5f\x9e\x3d\
+\x0c\x40\x05\x20\x0a\x20\xca\x03\xc0\xae\x77\xde\x73\xbd\xf2\xda\
+\xf6\x8e\x9e\x6e\x73\xf1\xfc\xa2\x05\xc2\x8e\x37\x5e\x0b\xb6\xb6\
+\x9e\x22\xd5\xd5\x55\xec\xfe\xb5\x0f\xaa\xbb\xbb\x7a\x14\xbb\x6b\
+\x78\x64\x41\x71\x49\x5a\x76\x76\x16\xc0\xa2\x08\x05\xc3\x78\xf8\
+\xd1\xc7\xc1\xa2\x2c\x22\x88\x6a\x9a\x6d\x34\xe0\xe6\x1b\x56\xc2\
+\xe1\xb2\x23\x51\x9f\x0c\x8e\x40\xea\xb7\x58\xce\x02\xd0\x8c\x8f\
+\x8c\x48\xe7\x47\xda\x37\x00\x90\x62\xe0\x72\xcc\x39\x2e\x56\x74\
+\xdc\x91\x23\x47\x1e\x32\x1a\x32\x05\x7f\xc0\x8f\xe6\xe6\xe3\x6a\
+\x6b\xef\xc0\xdd\xcd\xcd\xc7\xd5\xfe\x80\x1f\x99\xc6\x2c\x5e\x91\
+\x15\xf7\xc5\x8b\x17\xd1\xd9\xd9\x05\xa3\x31\x0b\xff\xd8\xb5\x1b\
+\x76\xbb\xfd\xd5\xd6\xe6\xcf\x1b\x9a\x8f\x36\xae\xea\x31\xf7\x46\
+\x18\x00\x43\x86\x11\xc6\x0c\x03\x40\xb8\xb8\x2b\xbd\x94\x52\x00\
+\xe2\xb2\x65\xcb\xb6\x3b\x9c\x76\x59\x1b\xa7\xc5\xa2\x45\x0b\x83\
+\xb9\x79\xd9\x6f\x2f\x5c\x58\x13\xd2\xc6\x69\x61\x77\xd8\x94\x35\
+\x0d\xb7\xd0\x1e\xb3\xf9\x89\x17\x5f\x7a\x79\xfc\xd1\x8d\x4f\xc2\
+\x62\xe9\x35\x5b\xbb\xbb\xf7\xc7\x76\x25\xf9\x03\xfe\x2f\x3b\xbb\
+\xba\x21\x8a\x6a\x9c\xff\xea\x2b\x00\x20\xc9\x69\x69\x29\x13\xf3\
+\x31\x0f\x01\x08\xc7\x76\x1f\x01\x10\x25\x00\x34\x33\x67\x15\x1a\
+\x6f\xb9\xe5\xe6\xee\x5b\x57\xdf\x4c\x0a\xaf\x9a\x0d\x8d\xa8\x81\
+\x2f\xe0\x43\x7c\x5c\xfc\x64\x0d\xec\x79\x6f\x1f\x7b\x76\xeb\x73\
+\xb5\x00\x42\x39\x79\x85\x55\x63\x1e\xd7\x05\xaf\xd7\xeb\x9f\x68\
+\xe5\xcc\xdc\xdc\xf2\xb4\x74\xc3\x76\x41\x14\xa4\x40\x20\xf8\x85\
+\xcf\x3b\xfa\x8e\xb5\xa7\xa7\x19\x80\x32\x25\xe5\xe1\x18\x89\x09\
+\x22\x0a\x0f\x40\x18\xf7\x8e\xab\xcd\x16\x33\x19\x1b\xf3\xa2\xab\
+\xa7\x13\x3d\x5d\x3d\x51\xa3\x31\x0b\x0e\x87\x0d\x05\x85\x05\xdc\
+\xd8\x98\x77\xe2\x32\x1a\x06\xe0\xeb\xef\xed\x3a\x12\xab\xe2\x49\
+\x35\xb5\x5b\xad\x8d\x6e\xa7\x73\x5e\x38\x1c\x0e\xc5\xe6\xa2\x13\
+\xad\x16\x73\x65\x9a\x4f\x66\x20\x01\x40\x52\x6e\x6e\x4e\x51\xf5\
+\x35\x55\x07\x01\xa0\xac\xac\xac\xef\x8d\xd7\xff\x76\xe0\xbe\xb5\
+\xf7\xde\x38\x36\x3a\x96\x6b\xb6\x98\x71\xe8\x83\xc3\xcb\xfd\xfe\
+\x80\x0d\x80\x37\x46\x24\x32\x21\x5a\xd3\x8e\x75\x02\x7c\xe2\x39\
+\xdd\x23\x53\x63\x08\x00\x0d\x00\x2d\x00\x3d\x80\x44\x00\xf1\xb1\
+\x31\x1a\x0b\x0e\x01\xf0\x03\x18\x03\x30\x0e\x20\x10\x4b\x67\x74\
+\x0a\x38\x99\x02\x3e\xf1\xfc\x3e\x07\x00\xf6\x6f\xd9\xb9\x33\xf9\
+\x65\x1b\x9d\x32\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x01\x2e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x18\x00\x00\x00\x09\x08\x06\x00\x00\x00\x28\xfd\xec\xc6\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd1\x0c\x12\x05\x2c\x2f\xbe\x7d\x83\x23\x00\x00\x00\xbb\x49\x44\
+\x41\x54\x78\x9c\x63\x60\xa0\x31\x60\x44\xe6\x30\x31\xb1\xfc\xc7\
+\xa5\xf0\xdf\xbf\x3f\x64\xa9\x85\x33\x98\x98\x58\xfe\x47\x44\x44\
+\x30\xf4\xf5\xf5\x32\xbc\x78\xf1\x02\x45\xc3\xfe\xfd\x07\x18\x8a\
+\x8b\x8b\xe1\x1a\x99\x98\x58\xfe\xf7\xf6\xf6\x32\xa8\xa9\xa9\x32\
+\x18\x1b\x1b\xa3\xa8\x3d\x7b\xf6\x2c\x83\xaf\xaf\x1f\x86\x83\x18\
+\x98\x98\x58\xfe\x6f\xdd\xba\xed\x3f\x13\x13\x0b\x45\xf8\xc5\x8b\
+\x97\xff\x91\x7d\xc7\x82\x6c\x89\xb4\xb4\x34\x86\x17\x99\x98\x58\
+\xfe\xe7\xe4\x64\x31\xb8\xbb\x7b\xc0\xe5\x19\x18\x18\x18\x9e\x3e\
+\x7d\x8a\xe1\x52\x88\x05\xa8\xbe\x47\xf1\xc1\x85\x0b\x17\x69\xeb\
+\x83\x79\xf3\xe6\x32\xcc\x98\x31\x85\xc1\xcc\xcc\x12\xee\xca\xa7\
+\x4f\x1f\x31\x7c\xfd\xfa\x13\x23\x0e\x60\xbe\x42\x0f\x81\xb6\xb6\
+\x56\x14\x31\x9a\xa7\x22\x9a\x03\x00\xe1\x38\x80\xe3\xdb\x0c\xa8\
+\xab\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x09\x17\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x08\xce\x49\x44\x41\x54\x58\x85\xa5\x96\x69\x6c\x5c\xd5\
+\x15\xc7\x7f\xf7\x2d\xb3\x8f\xed\xcc\x78\x62\x7b\xe2\x78\x8d\xad\
+\x04\xc2\x16\xc2\xd6\x84\x86\x16\x08\x01\x89\x02\x05\xd1\x42\x55\
+\x1a\x4a\x69\x4b\x55\x29\x48\xfd\xd0\x42\xfb\xa5\x55\x91\xfa\xa1\
+\x45\xa8\xad\x5a\xa9\xa5\xa0\x14\x5a\x4a\xba\x08\xb1\x84\x84\x86\
+\x26\x90\xb0\x24\x21\x2c\x71\x4c\x62\x67\x33\x4e\xbc\x7b\x6c\x8f\
+\x67\x9f\x37\xef\x9e\x7e\x98\x89\x63\xc7\x09\xa1\xea\x95\xae\xf4\
+\xee\xb9\xf7\x9d\xff\xff\xde\x7b\xfe\xe7\x1e\xc5\x19\xad\xf9\xd6\
+\xc7\x56\x18\x62\xfd\x43\xb4\x6e\x01\xd4\x99\xf3\x9f\xd6\x4c\x53\
+\xf0\x7b\x4b\x54\x07\x8b\x04\xfc\x25\x2c\xd3\xa5\xe8\x98\x52\x74\
+\xac\x93\x35\x55\xb9\x7b\x5f\x7c\xe2\x57\x6f\x2b\x85\x9e\xfd\x8f\
+\x35\x7b\xb0\x7d\xfb\x76\xeb\x7b\xbf\xd9\xbb\xa5\xbe\xa1\x21\x16\
+\xaf\x8f\x60\xa8\xcf\x86\xaf\x10\x82\xbe\x0c\x0b\x6b\x12\x04\xfd\
+\x59\xfc\x1e\x13\xcb\x2c\xa1\x94\xe0\x6a\xa5\x46\xc7\x8b\x8b\x07\
+\x47\x0a\x9b\xb2\xc9\xa5\xb7\x8a\x94\x0e\x2b\x75\x64\x7a\x1e\x81\
+\xad\xff\xd9\x7a\x79\xa1\x94\xf9\x73\x2e\xef\xc6\xea\x17\x46\xf8\
+\xf6\x2d\x1d\x7c\x7e\x45\xc7\x67\x80\x77\xd1\xfa\x24\x22\xfd\x88\
+\x36\x11\x99\x04\x0c\x44\x0a\x80\x4b\xc9\x85\xcd\xef\x8e\xa3\xf4\
+\x74\x83\x58\xe6\xf2\x4c\xc6\x8a\x66\xb3\xcb\x0f\xfa\xfd\x07\x06\
+\x94\x42\x5b\x00\xdb\x77\xfd\x7b\xb5\x65\x58\x9b\xf3\x3a\x12\xb6\
+\xed\x83\xec\xde\x7b\x80\x77\x76\xef\x3f\x2f\xb4\xa1\x84\xe6\x86\
+\x14\xed\x8b\x92\xc4\x63\x19\xea\x22\x19\xa2\xd5\x79\xaa\x42\x05\
+\x02\x3e\x4d\xdb\xe2\x6f\x71\xfc\xc4\xb3\xf8\x4d\x87\xce\x26\x3f\
+\x03\xa3\xc1\xd5\x8d\xb1\xcc\x87\xe2\x28\x3b\xc7\x72\xe0\xc0\x09\
+\x6b\xfb\x9e\xed\xf5\x21\xcb\xf7\x62\x73\x63\x6b\xf8\xd1\xdf\xed\
+\xe0\xee\x2f\xad\xe2\x8a\xe5\x4d\x98\xc6\xf9\x8f\xdf\x6b\x4d\x12\
+\xf6\xf5\x10\xf0\x0c\xe0\xb3\x87\xf0\xd9\x23\x78\x2d\x07\xcb\x74\
+\x08\xf8\xbe\x88\xdf\xff\x55\x16\x46\x4a\xa4\x32\x4f\x33\x91\x2a\
+\x71\xac\xbf\xe6\x9e\x45\xb5\xa9\x94\x32\x0c\xb4\x56\xce\xc4\x44\
+\xdb\xb4\x15\x0d\x84\x37\xb6\x36\x77\x2e\x48\x67\xd2\xbc\xbe\xf7\
+\x38\x8f\xaf\x5b\xc5\xbb\xbd\x09\x8a\x25\xfd\xa9\xe0\xa6\xe1\xb0\
+\x38\x72\x8c\x58\xd5\x49\x6a\xc3\x43\x44\x43\xc3\x78\xcd\x61\x3c\
+\x56\x02\xdb\xaa\xc6\xeb\x7d\x10\x00\x8f\xe7\x2e\x02\xce\x33\xd8\
+\x35\x23\xa4\x53\x9e\xe0\xbe\xc1\xcc\x06\x8f\xa5\xb6\x5f\x54\x1f\
+\x7a\xc6\x6b\x04\x3a\x0c\x57\x58\x6b\xd9\x16\xe3\x13\x23\x58\xa6\
+\x81\x02\xb4\xc8\x79\x77\x1f\xf0\x64\x09\x78\x52\x04\xbd\x29\x42\
+\xbe\x49\xaa\xfc\x09\xaa\x03\x63\xd8\x56\x27\x1e\xcf\x4f\x31\x8c\
+\x7a\x00\x94\xf2\x61\xfb\x7e\x81\xc7\x6a\x21\x1e\x4b\xb3\x34\xde\
+\x66\x4c\xe5\xf4\x17\xd0\x6a\x21\xb6\x8a\x59\x99\x74\x9a\x4c\x26\
+\x43\x72\x3a\x09\x80\x20\x68\xad\xf9\xa4\x6f\x10\x80\xc5\x4d\x0d\
+\x18\x86\x31\x8f\x40\xc8\x37\x85\xd7\xce\xe2\xb3\x53\xc4\xaa\x16\
+\xd3\x18\xbb\x1f\x8f\xd5\x8e\x32\xea\x80\xb9\xeb\x6d\xeb\x32\x6c\
+\x6b\x13\xbe\xc0\x38\x25\xdd\x47\x6b\xf4\x59\x43\xa9\x6d\x35\x4a\
+\xab\x6a\x23\x5f\xc8\xe7\x0b\xf9\x3c\x88\xe2\xba\x4b\xa3\x88\xeb\
+\x72\xb0\xab\x9b\x3a\x2b\xc1\xaa\xc6\x34\x03\x3d\xf3\x83\x51\x29\
+\x8d\x6d\xe4\xb1\xcc\x02\xb6\x59\xc4\x36\x0b\x78\x3d\x57\xa1\x8c\
+\x86\x79\xe0\xb3\xfe\x42\xa9\x18\xb6\xb9\x12\xaf\xe5\x47\x50\x01\
+\x2d\xe2\x37\x72\xf9\xc2\xde\xbe\xfe\x63\xb4\x36\xb7\xf3\xb5\x1b\
+\xda\xd0\xa3\x7b\x58\xff\x39\x9b\xf5\xeb\x3a\xf9\xc6\x9d\x37\x72\
+\xd9\xc2\xc9\x39\x6e\x44\x04\xc4\x45\x51\xee\x86\x51\x22\x5f\xd8\
+\x4f\x2e\xfb\x03\xa0\x74\x9e\x8b\x13\x0a\x85\x5f\x32\x91\x7e\x1e\
+\x85\xb6\x15\xca\xb2\xe2\x75\x0b\xf5\x54\x72\x9a\xde\xc3\x87\x68\
+\x6e\x6a\x66\xf9\x05\xcb\x71\x1c\x87\xc4\x44\x82\x9d\x3b\xdf\x60\
+\x2a\x67\xcc\x00\x8b\x54\x08\x28\x30\x0c\x93\xf8\x82\x00\xf1\x48\
+\x90\xa0\xd7\x4b\xa9\xf4\x26\xf9\xfc\x93\xf8\x7c\xdf\x3d\x27\x7c\
+\xa1\xf0\x3c\x45\xe7\x59\xb4\x80\xa0\x5c\x85\xd2\x96\x61\xd9\x6b\
+\xae\xb9\x6a\x35\x6f\xef\xde\xc5\xdf\x5f\x7a\x9d\x48\xd8\xa0\xe0\
+\x08\x89\x94\x30\x90\xf2\xe1\x8f\x5f\x8d\x21\x52\x21\x50\x26\x71\
+\xf9\x92\x18\xb7\x5d\xe9\xc5\x67\x59\xe4\x8b\x69\x44\x8f\x61\x19\
+\x41\x44\x6f\x01\xce\x4d\xc0\x2d\x6d\xa1\x24\x36\xc5\x92\x60\x28\
+\xc9\x69\xa5\xf3\x46\x26\x9d\x26\x9b\xcd\xe2\xf3\x79\x79\x72\x5b\
+\x92\xf0\x92\xb5\x1c\xb7\xaf\x60\xff\x74\x23\xe3\x12\x45\x94\x89\
+\xd6\x32\xd3\xd7\xad\x68\xe0\xde\x35\x2d\x7c\x7c\xd2\x64\xd3\x5b\
+\x09\xb6\x7d\x94\xa2\xbb\x5f\x18\x99\xf2\x21\x92\xfd\xd4\x0b\x70\
+\x75\x08\x9d\x9c\xa0\xa9\xe4\x32\x35\x90\x59\xaa\xb4\x4a\xcd\x0f\
+\x42\x29\x71\xa8\xab\x9b\x3a\x6b\x9c\xd5\x8d\x19\x06\x0f\xef\x47\
+\x8b\xa0\x45\xe8\x88\x87\x59\xb7\x22\xce\xa6\x9d\x7d\xfc\x65\x47\
+\x82\xd1\xa4\x07\xdb\x8a\x50\x70\x17\x30\x9d\x8b\x90\x77\x2e\x9b\
+\x15\x2b\x29\x1c\xe7\x1d\xb4\x1e\x9d\xb1\x65\x0b\xcb\x08\x2d\xb8\
+\x88\xda\x45\xd7\x91\x1a\x4d\xdf\x6c\xc0\x84\x95\xcb\xe5\xdf\xea\
+\xeb\x3f\x76\x7d\x39\x08\x5d\xc6\x13\xfb\x58\xbf\xca\xa6\xb9\x69\
+\x09\xed\xed\x9d\xe4\x9f\xda\xc8\xa0\xd6\x88\xc0\xcd\x2b\xe2\x74\
+\xf7\x4f\xb1\xa3\x6b\x84\xaa\x60\x88\x7b\xd6\x5c\x43\x6d\xe8\x13\
+\x5c\xb7\x8a\xa9\xb4\x9f\x70\xa0\x0d\x57\x27\x71\x8a\xcf\xa1\xdd\
+\x8d\x68\x3d\x4d\xc9\xf5\xa2\xcc\x3b\x09\x06\xbe\x49\x26\x17\xa1\
+\xc6\x1a\xc7\xb0\x5b\x29\x66\x1d\x8f\x6b\x70\xc4\x12\xaf\xb1\x61\
+\x78\x64\xb8\xab\x58\x74\xd4\xd9\x82\x70\x32\xab\xd0\x41\x21\xe0\
+\xb3\x68\xaf\x0f\xf3\xfb\x57\x7b\xd0\x22\xdc\x76\xe5\x62\x62\x55\
+\x35\x6c\xda\x79\x98\x80\x17\x6e\xbc\xa4\x05\x91\x11\xf6\xf5\x6c\
+\xa0\xca\x9f\xa2\xa5\xae\x89\xa1\x89\x69\xf2\x8e\xa2\x50\x7c\x0f\
+\xaf\xe7\x38\x6f\xbf\x9f\xe4\xbe\x1b\xfc\x18\x52\x45\x31\x5b\x64\
+\xf3\xe6\xee\x31\xab\x65\x61\xfc\xf1\x96\x95\x1d\xea\xc0\xc1\x2e\
+\x36\xbd\xb4\x8d\x68\xd8\x24\x5f\x14\x12\x29\x4d\xff\xb4\x07\xbb\
+\x76\x25\x4a\x84\x68\xc8\x83\x52\x30\x30\x9e\x41\xb4\xd0\xb9\x28\
+\x4c\xef\x60\x96\x37\x0e\x04\xa9\xaf\x09\xd1\xd1\x60\xd3\x11\x0f\
+\x33\x38\x91\x66\xda\x57\x45\x5b\x43\x0d\xe3\xa9\x31\xa6\xd2\x2e\
+\x05\xc7\x43\x24\x5c\xcb\xf1\x01\x8d\xa1\x8b\x40\x84\x7c\xaa\xc8\
+\xdd\xf7\xe1\x5a\xae\xb0\xd6\xf6\xd8\x84\xc3\x41\xfe\xb4\x6d\x9a\
+\x1f\x7d\xff\x0e\x7a\xfb\x92\xb8\x41\x8d\x37\x70\x5a\x7a\xa7\xd2\
+\x73\xc9\x15\xb4\x68\x0c\xa5\xd0\x5a\xc8\x17\x6d\xfa\xc7\xe3\x64\
+\x0a\xd5\x28\xa3\xc8\xf0\xe4\x38\x2d\x75\xa0\x8c\x5a\x8e\x0e\x59\
+\x64\x0b\x9a\xa2\xe3\x41\xd4\x42\x8e\x0e\x24\x51\x08\x06\x11\x44\
+\x97\xfd\xcd\x4b\xc5\x5a\x0b\x6e\xa9\xc4\x89\x13\x23\x08\x42\x7d\
+\x43\x1d\x4a\xc1\xd8\x54\x0e\x11\x88\x47\xfd\x8c\x25\x73\x1c\x19\
+\x4a\xb1\xa2\x3d\x4a\x47\x3c\x4c\xbe\xe8\xb2\xac\xe9\x62\x4c\xd3\
+\x41\x4b\x86\x2b\x3a\x6b\xe8\x3d\x39\xc1\xe1\xa1\x34\xae\x6b\x90\
+\x77\x3c\x28\xb3\x85\x8f\x7a\x87\x51\xa2\x99\x5d\x68\x59\x15\x15\
+\xf8\x4e\xa9\x40\x6b\x97\x63\x3d\xbd\xb4\xd4\x6a\x96\xd4\xfb\x78\
+\xeb\xd0\xc7\x44\x9a\x96\x31\x9d\x75\x38\x3e\x92\xe2\xda\x0b\xeb\
+\xf8\xf0\x68\x82\x7f\xee\xea\xa3\xad\x3e\xc4\xa3\x5f\xb9\x04\x01\
+\x8e\x0e\x4e\xb3\x24\x5e\xc5\x43\xb7\x5e\xcf\xde\x9e\x51\xfe\xf0\
+\xea\x34\xb9\x42\x2b\xae\x5b\x3e\xa9\xda\xaa\x6a\x0a\x8e\xc5\xfe\
+\x87\x7f\x0d\x40\xd0\x52\x7c\x78\xbf\xfa\xce\x59\x54\xd0\xc5\x03\
+\x9f\xf7\xd2\xdc\xd4\x4c\x7b\x7b\x27\xc5\xa7\x36\x72\xa4\x92\x84\
+\x5e\x7c\xb7\x9f\x87\x6f\xbf\x90\x55\x17\xd4\xf1\x66\xd7\x10\x8f\
+\x3c\xfd\x1e\xad\xf5\x21\x92\x99\x22\x8e\xa3\x89\x47\x03\xf4\x8f\
+\xa6\x19\x9d\xca\x95\x93\x16\xc6\x4c\xf2\x72\x2b\x47\x7e\xe9\x8f\
+\x9f\x2e\x5f\x65\x3e\x4d\xf7\x13\x1b\x1e\x3f\xaf\x0a\x26\x32\xa0\
+\xc3\x82\x20\x7c\x70\x2c\xc1\x2b\x7b\x4f\xf0\xc0\x4d\x9d\x2c\x8a\
+\x06\x78\x79\x4f\x3f\xdd\x7d\x93\x88\x08\x7e\x8f\xc5\x8a\x8e\x28\
+\xeb\x56\x36\xf2\xf3\xbf\x7e\x80\x9e\x95\xba\x45\x04\x57\x97\xeb\
+\x0b\x7d\xa8\x4c\xc0\x5c\xba\x1e\x71\x75\xe0\xac\x2a\xc8\x15\x34\
+\xe3\x29\xcd\x27\x49\x1b\xa9\xbe\x04\x25\x7a\xc6\xd9\xdf\x76\x1c\
+\x65\x6c\x2a\xc7\x5d\xd7\xb6\xb2\xee\xf2\x45\x8c\x25\xf3\x94\x5c\
+\x4d\xdd\x82\x00\x5a\x84\xad\xef\x9d\x98\xf5\x76\xcc\x0a\x62\xf7\
+\x8c\x1a\x43\x97\x1f\xae\x79\x2a\x78\x68\xfd\x2d\x74\x9f\x48\xe2\
+\x9a\x1a\x16\x00\x52\x4e\xc1\x33\xbb\x41\x78\xed\xfd\x01\xde\xec\
+\x1a\xe2\xe2\xd6\x08\x8d\xb5\x21\x4c\x03\x86\x27\x73\xec\xeb\x1d\
+\x63\x2a\x53\x98\x03\x3c\x73\x05\x52\xa9\xb0\x0c\x0f\xe8\x62\xb9\
+\x9f\x4d\x05\x52\x51\xc2\xf0\xd0\x28\x82\x10\xab\x8b\xa1\x0c\x05\
+\x22\x28\x51\x28\x29\xaf\x29\x38\x9a\x3d\x3d\x63\xec\xee\x19\x43\
+\x38\x0d\xa4\x8c\xca\x1a\x01\x11\x55\x99\x03\x39\x15\xf9\x96\x1f\
+\x5c\x75\xfa\x04\xce\x54\x81\xa9\x60\xe0\xf8\x51\xda\x6a\x85\x25\
+\x0d\x3e\x76\x1d\x3c\xcc\x82\xc5\xcb\x2a\xbb\x2f\x53\x94\x0a\x00\
+\x15\x9b\x54\x0c\x52\xd9\x80\xcc\x2c\x60\x66\xad\x65\x98\x00\x28\
+\xd3\x8b\x88\x3e\x4d\x60\xbe\x0a\x3e\xe6\xc1\x35\xbe\x39\x2a\x38\
+\x66\x1a\x33\xce\x4e\x11\x80\xb9\xdf\x52\x66\x74\xc6\xb8\x4c\x08\
+\x11\x4c\xdb\xac\x5c\x81\x0d\xaa\x00\xe2\x56\x08\x48\xf1\x9e\xc1\
+\xa1\x81\xde\x62\xd1\xa9\x39\xd7\x5b\x60\x05\xcd\x53\x9e\x98\x85\
+\xcd\x1c\x8b\x70\x7a\x6e\x0e\xc9\x32\x19\xcb\xaa\x9c\x40\xfd\xd5\
+\xe0\x16\x28\xa5\x27\x51\xa6\x91\x55\x00\x37\xdd\x74\x4d\xe4\xcb\
+\x77\x7f\xfd\xb9\xc9\xb4\x5a\x1b\xad\x3a\xfd\x16\x9c\x4c\x79\xf1\
+\xd4\x2d\xc5\xb4\x3d\xcc\x6b\x33\x80\xe7\xa8\xa0\x67\x11\x32\x94\
+\xa2\x39\x16\xe4\xb7\x7f\x7c\x81\x7f\x45\x1e\x29\xdb\x0c\x95\xc7\
+\x54\x0f\x2b\xc0\x06\x62\x40\xb4\xf5\x96\xc7\xb6\xde\x71\xfb\xf5\
+\x0d\xad\x8d\x11\x14\x8a\xb9\x7b\x9a\xeb\xfc\x2c\x78\x67\x1d\x08\
+\xa0\x45\x73\xb4\x7f\x9c\x97\x5f\xd9\x31\xd2\xb7\xf9\x27\xb7\x01\
+\x09\x60\x1c\x98\xb2\x00\xf7\x54\x4f\x1c\x7c\xed\x87\x2f\x88\x3c\
+\xa6\x0d\x73\x11\x72\xce\xf2\xf6\x7f\x6f\x0a\xad\xdc\xd2\xc0\x64\
+\xcf\x96\x9f\x51\xae\x5c\x4b\x15\xcc\x99\x57\xc1\xa4\xac\xfa\x10\
+\xe0\xad\xd8\xad\xb3\xb8\xfa\x7f\xda\x29\xe0\x2c\x90\x04\x32\x00\
+\xff\x05\x36\xcd\x09\x53\xa6\xd0\xdb\x95\x00\x00\x00\x00\x49\x45\
+\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x1d\xb5\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x01\x00\x00\x00\x01\x00\x08\x06\x00\x00\x00\x5c\x72\xa8\x66\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x1d\x57\x49\x44\x41\x54\x78\xda\xec\
+\x9d\x6b\x90\x1c\xd7\x55\xc7\x6f\xef\x43\x92\x2d\xd9\x5e\xc7\xb6\
+\x56\x8b\x1d\x90\x63\x28\xc7\xd8\x49\xc6\x49\x0a\xaa\xf8\xc2\xea\
+\x23\x45\xc0\x12\x6f\x88\x83\x77\xc1\x76\x12\x08\x44\x1b\x02\xc5\
+\x23\x44\x52\x9c\xe0\x47\x0c\x92\x21\x40\x1c\x1c\x76\x6c\xec\x84\
+\x84\x50\x92\x21\xe1\x0d\xda\xf0\x11\x3e\x78\xab\x52\x7c\x80\x54\
+\x39\x6b\x5b\xd6\x6a\x57\xb2\xbd\x96\xa5\xb5\x1e\xbb\x7b\xb9\xb7\
+\x77\x7a\xa6\xbb\xe7\xbe\xef\xed\x9e\xee\x99\xff\x5f\xb5\x35\xa3\
+\x9e\x7e\xce\xf4\xf9\xdd\x73\xce\x3d\xf7\x76\x44\x29\x25\x10\x04\
+\x0d\xa6\x86\xf0\x15\x40\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\
+\x00\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\
+\x00\x41\x10\x00\x00\x41\x10\x00\x00\x41\x50\x8d\x35\x82\xaf\xa0\
+\xa3\x28\x8a\xfa\xfe\x1a\xef\x7f\x6a\xa2\xc1\x5e\xee\x21\x11\x99\
+\x64\xaf\x8d\xf8\xba\x49\xfb\xba\x17\xd8\xdb\x79\xf6\xfa\x2c\xfb\
+\x3b\xf6\xf8\xdd\x27\x57\xfa\xfd\xfb\x18\xf4\x52\xf8\x08\x63\x01\
+\x06\x03\x00\xf7\x3d\x39\xc1\x0d\xfe\x40\xb4\x69\xf8\xad\x0b\x4e\
+\x5d\x7b\xf6\x3f\x5c\xdc\xf8\x1f\x63\x7f\x47\xfa\x19\x04\x00\x00\
+\x00\xd0\xd7\x00\xb8\xf7\xc9\x89\x31\xf6\x72\x98\x5d\xd9\x54\xe7\
+\x3a\x09\x31\x84\xc0\xa6\x57\x40\xc8\x3e\x06\x81\x79\x00\x00\x00\
+\x00\x00\xea\x64\xfc\x4d\x66\xfc\x11\x39\xde\x71\xf5\xf3\xd7\x6b\
+\x0c\x02\xee\x01\xcc\x30\x08\x34\x01\x00\x00\x00\x00\xa8\x81\x7e\
+\x79\x76\x62\x2c\x4a\x19\xbf\xb8\x71\xb7\xf6\x06\xa6\xfb\x0d\x02\
+\x00\x00\x00\xd0\x77\x00\xe0\xc6\xcf\x5e\x62\xe3\x97\x1b\xb8\xb3\
+\x27\xb0\xa7\x9f\xc2\x81\x41\xbf\xff\xd1\x0d\xd8\x9f\x3a\x9c\xb4\
+\xfc\x99\xfb\x9b\x0a\xdf\x2a\xd6\xe9\xda\x20\x06\xcb\x07\x9f\xfe\
+\xae\x06\xbe\x62\x78\x00\xf0\x00\xaa\xd9\xfa\xcf\x92\x54\xc2\x4f\
+\xdf\xca\x3b\x7b\x02\x77\x32\x4f\x60\x01\x1e\x00\x3c\x00\xa8\x22\
+\xfa\xa5\xbf\x9c\x38\xcc\xee\xe7\x29\xf1\x8d\x1e\xdc\x13\x38\xca\
+\x3c\x81\x31\x7c\xeb\xf0\x00\xe0\x01\x54\xc1\xf8\xbf\x38\x31\xc5\
+\x5a\xe7\x59\x61\x6b\x5e\x9c\x27\x30\xdf\xca\x09\xd4\xb6\x4e\x00\
+\x1e\x00\x54\xff\x96\x9f\x1b\x3f\x61\xc6\x4f\x25\xad\x79\xae\x95\
+\x6f\x7f\x46\x3b\x2d\x7d\xea\xad\x8d\x27\xc0\x73\x01\x47\xf1\x0b\
+\x00\x00\x50\x8f\x34\xfd\xc5\x89\x49\x66\x8b\xb3\x94\x08\x8c\x9a\
+\xaa\x41\xa0\x0a\x09\xba\x40\x21\x87\xc0\x24\x0b\x05\x66\xf1\x4b\
+\x00\x00\x50\xd9\xc6\xff\xc4\x44\x83\x19\xe1\x51\x51\x3c\x6f\xea\
+\x0d\x18\xe7\x05\xd4\x10\x98\x02\x04\x00\x00\xa8\x44\x4d\x3d\x11\
+\x0f\xea\xe1\x7d\xfd\x63\x32\xe3\xed\x01\x04\xf6\xe3\x97\xa9\x97\
+\x90\x04\x4c\x7f\x19\x35\x49\x02\x32\xe3\xe7\xd9\xf7\xef\x70\xe3\
+\xcf\x9c\xb1\x24\xa9\x97\x59\x1e\x38\x39\x28\x48\x0c\xd6\xaa\x5a\
+\x10\x49\x40\xa8\x56\xba\xe7\x2f\x26\xc6\xd8\x3d\xbb\xd9\xf2\xab\
+\x5a\xfc\x22\x3d\x81\xd4\x07\x02\x4f\x60\x96\x79\x02\x53\xf8\xa5\
+\xe0\x01\xc0\x03\x08\x6d\xfc\x5f\xc8\x0d\xee\x31\x69\xf1\x7b\xe3\
+\x09\xd4\xa6\x64\x18\x1e\x00\x54\x27\xf1\xae\xbe\x86\xa8\x45\x4e\
+\x77\xe3\xc9\xba\xf7\xf2\x3d\x04\x41\x3c\x01\x71\x4e\x00\x25\xc3\
+\x00\x00\x14\x52\xbf\xf8\x85\x5d\x3c\xcb\xbe\x57\x64\xc8\xd4\xc4\
+\xf5\x17\x2c\x97\x75\x13\x06\x4a\x0c\x26\x10\xd8\x8d\x5f\x0f\x00\
+\x80\x7c\x8c\xff\xf1\xd8\xf8\xa7\x28\xa1\xa2\x98\x5b\xe8\x0d\xf8\
+\xe6\x05\x02\x42\x00\x25\xc3\x00\x00\xe4\x61\xfc\x53\xdc\xf8\x35\
+\x5d\x70\x85\x41\x60\xc7\xd5\x43\xe4\xe6\x5b\x47\xc8\xd8\x75\x43\
+\xae\x10\x68\xb4\x3c\x01\x40\xa0\x82\xc2\xa4\xa0\x15\xd6\x07\x3e\
+\xbf\x6b\x8a\x19\xd8\x6c\x3b\xe9\xc6\xed\x2a\xea\x18\x59\xd4\xf9\
+\x4f\x67\x39\xed\x24\xe9\x52\x8b\x73\xdb\x4a\x96\xd3\x6c\x82\xef\
+\xfa\x5d\xc3\xe4\x1d\x3f\x30\x1a\x2f\xe3\x7e\xfc\x89\xe7\xd7\xc9\
+\xb7\xff\xe7\x72\xd7\x3e\xda\xdb\xc9\xcf\xaf\xd1\x4a\x5e\xde\x89\
+\x5f\x15\x1e\x00\x64\x66\xfc\x3c\xde\x9f\x55\xbb\xe3\xc5\x79\x02\
+\x23\xa3\x11\xb9\xad\x31\x1a\x7f\x96\x2c\xbb\xe9\x6d\xc3\x64\xd7\
+\x4d\xc3\xce\x9e\x00\xaa\x05\x01\x00\xc8\xcc\xf8\x1b\x89\xf1\xeb\
+\x63\xf2\x62\x20\x70\xd3\xcd\xc3\x64\x78\xb4\xb5\x98\x76\x12\x86\
+\xb7\xdd\x39\x4a\xae\x1f\x17\x43\x40\x7b\x7e\x28\x19\x06\x00\x20\
+\xb5\xee\xfe\xf3\x5d\x8d\x74\xa1\x8f\x12\x02\xa9\x62\x1c\x2a\xe8\
+\xf7\xf3\x81\xc0\x38\x6f\xe9\x53\xbb\x4c\xef\x93\x43\x80\xe7\x06\
+\xf2\x9b\x69\x21\xd5\x29\x19\x3e\x88\x5f\x1a\x00\x80\xf2\xc6\xff\
+\x67\xbb\x92\xb9\xfc\xc6\x54\x5d\x74\x36\xde\x40\x7a\x7d\x53\x08\
+\xf0\xd8\x7f\xdb\x15\xd1\xe6\x76\xad\x3f\x9a\x82\xcb\xf0\x08\x0b\
+\xe6\x7f\x68\x0b\x19\x19\x89\x5c\x21\x70\x00\xd5\x82\x00\x00\x94\
+\xd2\xfb\x13\xe3\xa7\xb9\xc1\x3d\xd6\x05\x3b\xea\x90\xc0\x04\x02\
+\x63\x6f\x19\x12\xc6\xf6\x34\xe5\x0d\x70\x08\x34\x72\x10\xd0\x9d\
+\x5b\x6e\x19\x4a\x86\x01\x00\x28\x6d\xfc\x94\x74\xaa\xfc\x7a\x09\
+\x81\x6b\x18\x00\x32\x9e\x43\xf2\x3e\x17\x12\xec\xb8\x3a\x22\x6f\
+\x6f\x8c\x66\x97\x2b\xce\x4d\x32\x6e\x00\xd5\x82\x00\xc0\x80\x6b\
+\x73\x4c\x7f\x43\x69\x9c\x05\x40\x80\x0a\x3e\x1f\x1e\x8d\xc8\xf6\
+\xab\xa3\x8c\xf1\x67\xb6\xcd\x85\x04\xd7\x8f\x0f\x91\xef\xbd\xdd\
+\x0b\x02\x28\x19\x06\x00\x06\xb8\xf5\xff\xd3\xb8\xca\x6f\xb2\x98\
+\x91\x7c\x16\x3d\x04\x34\xdb\xfa\xa7\x5b\x7e\x2a\xda\x96\x76\xb6\
+\xe5\x3d\x06\xbb\xde\x3a\xac\x87\x80\xf8\xbc\x30\x6e\x00\x00\x18\
+\x4c\xfd\xc2\xe7\x76\xcd\x66\x66\xf1\xed\x11\x04\xd2\x9f\xef\xb8\
+\x2a\x12\xb6\xfc\xb2\x90\x20\x71\x0a\xde\xfe\xae\x51\xf7\x6a\xc1\
+\xcd\x1e\x8f\x59\x54\x0b\x02\x00\x03\xa3\x9f\xff\xdc\x2e\x3e\x7b\
+\xce\x94\xda\x78\x43\x8d\xe4\x33\xcf\x09\x5c\xc3\x8d\x38\x31\x6e\
+\xd1\xba\xa2\x90\xa0\xf5\x72\xc7\x7b\xb7\x30\x80\x88\x21\xa0\x3c\
+\xaf\xce\x04\xa3\x28\x19\x06\x00\x06\xc2\xf8\xb9\xe1\x1f\xce\xb7\
+\x92\xa2\xd9\x7a\x65\xde\x80\xfd\x48\x3e\x33\x08\x6c\xdd\x16\x65\
+\xa0\x23\x6a\xf9\x65\x79\x01\x5e\x38\xc4\x93\x82\x36\xdd\x83\xb9\
+\x65\xc9\x34\x67\x10\x00\xd0\xa7\xc6\xff\x27\xbb\xf8\xc0\x9e\x59\
+\xe1\x78\x7d\x62\x36\x0a\xcf\x7d\x24\x9f\x1e\x02\x5b\xb7\x91\xae\
+\x2e\x3f\x59\x48\x20\x72\xf1\x79\x02\xf1\x8e\xf7\x8e\x4a\x67\x1a\
+\xee\x02\x99\x60\xaa\x71\x54\x0b\x02\x00\x7d\xa9\x9f\xfb\xe3\xb8\
+\xca\xef\xb0\xce\xc0\x7b\x05\x81\x6b\x5a\xfd\xff\xf1\x2c\x39\xf9\
+\x2a\x40\xaa\xcf\x0b\x24\x1b\xf0\x30\x22\xdd\x3d\xa8\x3b\x2f\xcc\
+\x32\x0c\x00\x0c\x84\xf1\x93\x54\x95\x5f\x15\x21\x30\x3c\x92\xde\
+\x96\x66\xbb\xfc\x88\x3e\x2f\x90\x4e\x0e\xf2\x52\x62\xe7\x9e\x01\
+\xd2\x86\xc0\x41\xdc\x39\x00\x40\x3f\x18\xff\xee\xc4\xf8\x6d\x0c\
+\xbc\x6c\x08\xf0\x04\x5e\xd6\xc0\x3b\xd6\x9b\x0e\x09\x4c\x93\x83\
+\xb7\xba\xf6\x0c\x74\x96\xa1\x64\x18\x00\xa8\xb7\x7e\xf6\xb1\x5d\
+\xbc\xc5\x3f\x4a\x4c\x06\xf7\xf4\x18\x02\xed\xf8\x3f\xe3\xda\x53\
+\x61\x48\x60\x9a\x1c\xbc\xdd\xb2\x67\x40\xb0\x0c\x25\xc3\x00\x40\
+\x4d\x8d\xff\xc8\x78\x32\xb8\xa7\x61\xdc\x75\x47\x7b\x07\x81\xad\
+\x57\x44\x8a\xc4\x1f\x95\x8e\x0e\xcc\xe7\x05\xd2\xff\x1f\x19\xd9\
+\xf4\x04\x4c\x7b\x06\x24\xe1\x09\x87\xc0\x24\xee\x28\x00\xa0\x6e\
+\x3a\xca\xee\xf2\x86\xcc\x40\xa4\xcb\x25\x0f\xec\x14\xbb\xcd\xe1\
+\x20\x30\x3c\xb2\x59\x02\x2c\x4f\xfc\x51\xe1\xe8\x40\x1d\x04\xf8\
+\x98\x81\xdb\xdf\x63\x90\x14\x94\xe7\x03\xe2\xef\xf2\x43\xcf\xa0\
+\x5a\x10\x00\xa8\x89\x7e\xe6\xc8\x38\x7f\x60\xe7\xa4\xc8\x2a\xc2\
+\x3f\xa6\x2b\x0c\x04\xb6\xef\xe8\x54\x01\xca\x13\x7f\xd9\xbc\x00\
+\x21\x66\x10\xe0\xb9\x00\xee\x09\x28\x3d\x1c\x75\x3e\x20\x7e\x20\
+\x0a\x20\x00\x00\x54\xdf\xf8\x0f\x8f\xc7\xb3\xf8\x76\x1b\x67\xd5\
+\x21\x90\x6d\xd5\xa9\x34\xe6\xef\xe4\x05\x74\x10\x48\xe7\x09\xf8\
+\x74\x62\xb2\x29\xc5\x0c\xf3\x01\x63\x2d\x4f\x00\xd5\x82\x00\x40\
+\x65\x8d\xff\x20\xe9\x9a\xc5\xb7\xfa\x10\xb8\xe6\xda\x21\xa9\x41\
+\xeb\xf2\x02\xa6\x3d\x04\x34\xe9\x19\x78\x8b\xd9\x6c\x42\x92\x09\
+\x4e\x76\xf3\xbc\x0a\x20\x00\x00\x54\x4e\x3f\xfd\x47\xe3\x7c\x16\
+\xdf\x03\x3a\xe3\xad\x2a\x04\xf2\x03\x7c\xd2\x2d\xbf\x36\x2f\x40\
+\xe4\x3d\x04\xf9\xd7\xdb\xdf\xb3\x85\x6c\xdb\x16\x39\xe7\x03\x68\
+\x6b\xaa\x71\x40\x00\x00\xa8\x8c\x7e\x8a\x19\x3f\xd1\xce\xe2\x5b\
+\x5d\x08\xf0\x79\x00\xda\xff\x97\xb4\xfc\xca\xbc\x80\xc2\x5b\xc8\
+\xbf\xf2\x82\x23\xde\x3d\x98\xf4\x0c\x38\xe4\x03\xb8\x38\x04\x0e\
+\xe3\xce\x03\x00\xaa\x60\xfc\xf1\x2c\xbe\xf6\x5d\x77\xd5\x81\x40\
+\x92\x00\xcc\x40\x80\x8a\xf3\x02\x21\x20\xb0\xfd\xaa\x88\xdc\xfa\
+\xce\x51\xe7\x7c\x40\x6b\x3f\x53\xcc\x0b\x40\xc9\x30\x00\xd0\x43\
+\xe3\xff\x43\x66\xfc\xb4\x33\x82\xcd\x64\x84\x5f\x76\x98\x6f\x67\
+\xa5\xf0\xcf\xea\xd3\x18\x93\xec\x5c\x89\x78\xe2\x0f\x59\x72\xb0\
+\x0b\x02\xd4\x0c\x02\xd7\x8d\x0f\x91\x5b\x6e\x1b\xb5\xcf\x07\x90\
+\x2e\x08\xc0\x13\x00\x00\xca\xd7\x4f\x3e\x3a\xde\xae\xef\x97\x1a\
+\x78\x20\x6f\x20\x24\x04\x44\xfb\xe7\x35\x00\x44\x31\xc0\x47\x95\
+\x1c\x54\x76\x13\x6a\x20\x70\xe3\xee\x61\x32\x7e\xe3\xb0\x5d\x3e\
+\xa0\xfb\xb3\xfd\x0c\x02\x53\xb8\x23\x01\x80\x32\x8d\x3f\x9e\xc5\
+\x86\xdd\xa8\x01\x07\xf7\xf4\x0e\x02\xdc\x25\x97\x19\xac\x2c\x39\
+\x98\x87\x40\xba\x9b\xd0\x06\x02\x3c\x14\x48\xca\x85\x75\xd7\xa2\
+\xb8\x8e\x59\x40\x00\x00\x28\xd3\xf8\x8f\x93\xd4\x2c\xbe\x55\x82\
+\x80\xe9\xe7\xf9\x96\x3b\xfe\x93\x40\x42\x94\x1c\xa4\xca\x98\xdf\
+\x0e\x02\xef\xfc\x41\x71\x52\xd0\x22\x14\x48\x20\x30\x89\x3b\x14\
+\x00\x28\x54\xad\x27\xf7\x34\xbc\x5a\xe8\x02\x21\xa0\x3d\x86\x22\
+\x29\x98\x81\x00\x35\x83\x00\xa5\xfe\x10\x18\x19\x6d\x41\x60\x34\
+\xf2\x09\x05\xb8\x50\x32\x0c\x00\x14\xa7\x9f\xf8\x6c\x5c\xe5\xd7\
+\x08\x92\xb5\xaf\x10\x04\xae\xdc\x31\xd4\x0d\x01\x62\x06\x81\x76\
+\xa8\xe0\x09\x01\x3e\x66\xe0\x96\xdb\x46\x7c\x43\x81\xd8\x3b\x03\
+\x04\x00\x80\xf0\xc6\xff\xc8\x38\x9f\xca\x6b\x4a\x65\x98\x75\x80\
+\x80\x68\xd9\xf0\xb0\x20\x24\xd0\x41\x80\x86\x87\x00\x4f\x08\xde\
+\xb8\x7b\xc4\x37\x14\x48\x20\x80\x42\x21\x00\x20\x8c\xf6\x3d\xd2\
+\x2a\xf1\x15\xb4\x9e\xda\x11\x7e\x92\x1e\x82\x22\x21\xa0\xfa\x5c\
+\xda\x3d\x48\xc5\x10\x50\x95\xf9\x16\x01\x01\xee\x05\x5c\xd7\x7a\
+\x02\x31\x75\x0f\x05\x00\x01\x00\x20\x98\xf1\x73\xc3\x3f\x20\x9b\
+\xa6\xdb\xc7\x1b\x28\x0a\x02\xd4\x12\x02\xca\xbe\x7d\xa2\x2e\xf3\
+\x2d\x02\x02\xb7\xbe\x23\xfb\x04\x62\x87\x50\x80\xb4\xf2\x34\x80\
+\x00\x00\xe0\x61\xfc\x0f\x8f\x67\x66\xf1\x55\xb5\xa0\xb5\x81\x40\
+\x6e\xff\x7c\x2a\x70\x62\xd0\xad\xa7\x32\xda\xd0\x10\xe0\x49\xc1\
+\xef\x7f\xf7\x68\x9c\x14\xf4\x08\x05\x12\x08\xa0\x5a\x10\x00\xb0\
+\xd7\xde\x87\xc7\x27\x69\xfa\xe6\xa9\x10\x04\xb4\xc7\x50\xe5\x1d\
+\x72\xfb\xdf\xb2\x2d\x52\x26\xf7\xda\xe1\x80\xa4\x9b\x30\x14\x04\
+\xf2\xe1\x13\x7f\x44\xf9\xed\xef\x1e\x35\xb8\x46\x65\x28\x10\xff\
+\x94\x28\x19\x06\x00\xec\x8c\xff\xa1\xb8\xca\xef\xa8\xd2\xd8\x7b\
+\x08\x01\xed\x31\x2c\x0a\x85\x32\x9f\x29\x4a\x79\xd3\x79\x81\x22\
+\x20\x20\x9a\x4f\x80\x4f\x55\xce\x0b\x85\x8c\xc7\x0a\xc8\x7f\x03\
+\x8c\x1b\x00\x00\xac\x8c\xff\x78\xeb\xc1\x95\xa4\xdf\x20\xa0\x5a\
+\xa8\x32\xe4\xc2\x20\x40\xd4\x10\xe0\x3d\x03\xfc\xcf\x23\x21\xd8\
+\x86\xc0\x87\xbf\x84\x6a\x41\x00\x40\xa1\xbb\x1e\xdc\x39\xc6\x6e\
+\x4c\xde\x52\x8c\x19\x1b\x7b\x05\x21\x60\xbb\x7f\x6d\x72\x8f\x16\
+\x08\x01\xaa\x87\x40\x5c\x2e\x7c\xf5\x90\x91\x27\xa3\x1a\xf3\xc0\
+\x96\xcd\x32\x08\xec\xc5\x9d\x0e\x00\xc8\xc4\x27\xf4\x68\x50\x2a\
+\x7e\x4a\xa7\xf4\x81\x9d\x24\xd4\x83\x3c\x2d\x20\x40\x94\x37\xba\
+\x59\x4b\xcf\x73\x00\x5b\x23\xbd\x21\x93\xf0\x10\x48\xef\xc7\x04\
+\x02\x3c\x29\xe8\x99\x10\x4c\xc4\x21\x80\x9e\x01\x00\x20\xab\x1f\
+\x7f\x70\xe7\x6e\x76\xbf\xec\xcf\xdc\xe0\x94\xda\xb5\xfa\x86\x2d\
+\x51\x10\x08\x04\xea\x19\xd8\xb2\xcd\x6c\x20\x50\x68\x08\xc8\xe6\
+\x13\x10\x1d\x87\x8b\xf7\x56\xf0\xe9\xc4\x7c\x43\x01\xba\x19\xda\
+\xed\xc7\x1d\x0f\x00\x74\x85\xff\x5d\xad\x79\x2e\x56\xad\x35\x04\
+\x88\x04\x02\x8a\x7a\xfe\xcc\x3a\x81\x20\x20\x6f\xe9\xe5\x13\x8d\
+\x52\x89\x5d\x2b\x43\x01\xb5\x17\x70\x0f\x6e\x77\x00\x20\x6f\x19\
+\x77\xc9\xb3\xe7\xe5\x43\xc0\xf4\x73\x63\x08\x18\x84\x12\xba\x81\
+\x40\xce\x10\x20\xea\xa1\xc4\x52\x08\xa4\xf6\x71\xf9\x32\x21\xe7\
+\xcf\x52\x9d\xbd\x9b\x7a\x01\xbb\x59\x18\xd0\x00\x00\xa0\xb4\x26\
+\x55\x86\x52\x36\x04\xec\xaa\xf9\x0c\x6b\x04\x44\x5e\x86\xc8\x45\
+\x27\x81\x21\xa0\x30\x7a\x91\xbb\x9f\xf7\x1a\x2e\xbc\x49\xc9\xb7\
+\xfe\xeb\x12\x59\xbb\x4c\x8d\xae\xcd\xe4\x7b\x67\xcb\x26\x07\xfd\
+\x86\x1f\x81\xcd\x67\x6f\xa4\x28\x4a\xdd\x38\x51\xd7\xdb\xf8\x26\
+\x8f\xa2\x48\xb9\x8e\x6e\x79\xe6\x38\x9a\xe3\x67\x8f\xdd\xbd\x5d\
+\x76\xff\x9b\x2b\xc8\xf6\x2f\xde\xa8\x63\x6c\x51\xda\x48\xa3\xd6\
+\x2a\xc9\x67\x51\xea\x10\xfc\x55\xfa\xf9\xe6\xc1\xa3\xdc\x31\x92\
+\xed\xda\xd7\x44\xbb\x8f\xb3\xb6\xc6\x5a\xf8\x37\x36\x5a\xcb\x22\
+\x72\xf1\x02\x8d\xff\x5e\x59\xda\x88\x97\xab\xbe\x9b\xfc\xb5\x71\
+\x14\x45\x24\xd2\xfd\xe4\x63\x00\x00\x54\x5d\x08\x10\xd1\xb1\x5b\
+\x9f\xcb\xf6\xaf\xda\x8f\x04\x30\x89\x15\xe7\x8d\xda\x17\x02\xaf\
+\x2d\x6f\x90\x53\x27\xd6\xdb\x27\x97\x00\x60\x7d\x8d\x92\xd5\x37\
+\x68\x6a\x61\xee\x6d\xb2\x7e\x64\xfe\xdd\x28\xa1\xa7\xf9\xce\x01\
+\x00\x48\xe8\x52\xb6\x0d\x8d\xa4\x8d\x25\xb9\xe1\x68\x6b\x9d\xa8\
+\x38\x08\x48\x01\xa4\xf8\x3c\xb5\x53\x2d\x04\x5a\xe2\xdd\x80\x31\
+\xd4\xd8\xbf\x50\x10\xb8\xc8\x5c\xf6\xff\xfd\xd6\xa5\x4e\x2b\x2c\
+\x30\xea\x48\x4a\x2f\xf9\xf7\x23\xba\x76\xe2\xe7\x05\x20\x07\x00\
+\xd9\x25\xe7\x84\x79\x81\xa2\x72\x02\x2e\xd3\x7e\x59\x26\x05\xb7\
+\x6c\x8b\xc4\x09\x38\xea\x9e\x13\x58\x7c\x69\xcd\x38\x16\x37\x2b\
+\xe2\x53\x47\x34\xda\x34\x88\xf8\xf8\x73\x00\x00\x94\xd6\x7c\xa9\
+\x10\x30\xcb\xdf\x39\x4e\xf6\x41\x8d\xad\xc7\xa4\x2b\xce\x18\x02\
+\xad\x65\xab\xe7\x92\xe0\x82\x9a\x5c\x96\x6d\xf2\x4e\xbf\x03\xb3\
+\xe2\xa0\x79\x00\x00\x4a\xdf\x18\x73\xa5\x7a\x02\x3e\x0f\xf1\x24\
+\xe6\x3d\x03\xc6\x8f\x05\x73\x84\x40\x3a\x91\x98\xac\x74\xf6\xb5\
+\x0d\x2b\xa3\x56\x79\x01\x46\x2d\xbb\xea\x7b\x14\xef\xbc\xf9\xf9\
+\xf7\x9f\x5c\x01\x00\xa0\xb4\x1e\xf3\x9b\xe6\xab\x3c\x08\x28\xb7\
+\x31\x34\xa2\x50\x10\x90\x16\xfc\x18\xb4\xc2\xca\x99\xca\xec\x8b\
+\x7b\x4c\x3d\x84\x15\xb6\xce\x21\xdc\xee\x00\x40\x46\x5f\xff\xc4\
+\xf2\x02\x6f\x19\xea\x00\x01\xe3\x67\x01\x58\x96\x0b\x5b\x41\x80\
+\x68\xc6\x0e\xe8\x5b\xe1\x20\x06\x6f\x92\x43\xc8\x1d\x7f\xe6\xf1\
+\xbb\x4f\x2e\xe0\x8e\x07\x00\x44\x9a\xe1\xb1\x61\x59\x10\x20\x2e\
+\x10\x50\xd9\x8b\x43\x3e\xc0\xe4\x99\x7f\x42\x08\xa8\xaa\xfe\x1c\
+\x8b\x73\x0a\xf6\x02\xb8\xcb\xbf\x8f\x19\x7f\x13\xb7\x39\x00\x20\
+\xf3\x02\xf8\x4d\x32\x5d\x16\x04\x9c\x1e\xe7\x1d\x38\x1f\x60\x0d\
+\x01\xa2\x81\x00\x95\xb5\xd0\xd4\xcd\xe0\x0d\x80\xa1\xf1\x02\x78\
+\xb2\xef\x10\x3b\xfe\xcd\x8f\x7f\xe0\xe4\x31\xdc\xe5\x1d\x45\x94\
+\x52\x7c\x0b\xc9\x97\x91\xea\x74\x7e\xdf\xa7\x77\x26\x23\xc6\x3e\
+\xca\xfe\xc6\x44\xfd\xf5\x99\x65\x91\xf0\x6d\x67\x9f\x92\xcf\x49\
+\xa4\x58\x66\x78\xcc\x48\xf4\xb9\xb0\xc0\x26\x12\xee\xe7\xfb\xee\
+\x18\x25\x57\x5d\xb3\xd9\xa1\x1f\x45\xd9\x82\x9c\xf6\xe9\xa7\xae\
+\x23\xca\x9d\x63\x94\x5b\x97\xeb\xbf\xbf\x79\x51\x78\x3e\x91\xe0\
+\xc4\x5a\xeb\xcc\x35\xef\x5d\xdc\x53\xf6\x6f\x3e\xe8\xf7\x3f\x0a\
+\x81\xd4\x9e\xc0\x41\xfe\xc7\x60\x30\x49\x48\x77\xdd\xb8\x49\xd5\
+\x60\xa6\x85\x92\x7f\xfe\x3d\x6c\xd9\x94\x49\xa1\x90\x71\xb9\xb0\
+\xa6\x48\x48\xd6\x8a\xca\x8a\x7f\xda\xd5\x8f\x49\xc5\x60\xea\x1c\
+\x49\xd4\x29\xed\x8d\x1c\x8a\x73\x50\xa1\x07\x00\x54\x1d\x06\x73\
+\xa4\xc0\xa2\x91\x7d\x8f\x8c\x73\xb8\x4c\x39\x95\xf4\x12\x33\xe8\
+\xe4\x37\xce\xef\xa3\x03\x89\x1c\x04\x52\xc7\x93\x41\xa0\xbd\xbd\
+\x00\x02\xe2\x73\x6d\x41\x40\x55\xcd\x07\x21\x07\x30\x30\xf2\xe9\
+\x19\x70\xc9\x07\x10\x71\xdc\x6e\x96\xe8\x93\x4f\xe6\x29\x1c\xe9\
+\x47\xbc\xc6\xec\x43\x00\xc0\xe0\x41\x80\x18\x42\x40\xb5\xad\xb2\
+\xd7\x20\xf7\xe1\x96\xad\xf2\x8a\x3e\x97\xc9\x3c\x4d\x6a\x7a\xa9\
+\x6f\xfd\x2f\x04\x00\xf4\x2b\x04\xb4\x5d\x86\x86\x2d\xbd\xba\x2b\
+\xae\xd3\x2b\x10\xcf\x09\x98\xf7\x04\x1c\xe7\xf1\xa3\xba\x73\xa5\
+\x86\xf0\x83\x00\x80\x81\x6c\xfc\x15\x10\x08\x51\x1f\x60\x54\x26\
+\xe0\x39\x8f\x1f\x25\xa6\x5d\x76\xb0\x7c\x00\x00\xb2\x6a\x18\xbd\
+\xf2\x01\x8a\x50\x20\xd8\x3c\x7e\xc4\x70\xd6\x23\x78\x01\x00\x00\
+\x24\x33\x4c\xf5\x32\x5b\x92\x68\x43\x01\x83\xc9\x3c\x8d\xe7\xf1\
+\xb3\xcc\x5b\xc0\x0b\x00\x00\x20\x4b\x97\x20\x74\x28\x60\x3b\x99\
+\x27\x11\xfd\x5f\xe2\x35\x58\x79\x01\x10\x00\x30\xb0\xc6\x4e\x0d\
+\xf3\x01\x05\x84\x02\xb6\x93\x79\x8a\x47\x04\x52\x25\x50\xe0\x05\
+\x00\x00\x50\x88\x7c\x40\x88\xae\x41\xe1\x67\x54\xfa\xa4\x5e\x59\
+\xa2\xaf\x3b\x7f\x40\xcd\xba\x00\x55\x63\xf6\x21\x00\x00\x96\x6f\
+\x36\x38\xc6\xdc\xb8\x34\xa1\x80\x36\xd1\x47\xb4\x35\x02\xf9\x7c\
+\x80\x2e\x64\x31\xb9\x16\x08\x00\x18\x0c\xbb\xa7\xba\x39\xc3\x14\
+\xe1\x81\x75\x4b\x2f\xd9\x3d\xed\x9c\x87\x16\x02\x26\xdd\x83\x9a\
+\xe3\x22\x17\x00\x00\x40\x1a\x08\xf8\x74\x0d\x9a\xec\x4b\xdc\xf2\
+\xd3\x2e\x77\x3f\xbf\x8d\x91\xd7\x60\xd3\xc2\x03\x06\x00\x00\x24\
+\x69\x39\x6d\xc3\x03\x83\x50\x80\x52\x75\x38\xd0\xce\x07\xe4\x0c\
+\xdb\xa9\x67\x00\x5e\x00\x00\x00\x99\x37\x80\x94\xda\x36\xff\x9e\
+\xa1\x80\x28\x96\xcf\x43\x80\x28\x26\xfc\x50\x94\x00\xc3\x0b\x00\
+\x00\x20\x07\x08\xf4\x22\x14\xa0\xe9\xd7\x3c\x04\x24\x3d\x03\xb2\
+\xa4\x20\x7f\x7f\xc5\xf6\x08\x5e\x00\x00\x00\xb9\x40\xc0\x34\x14\
+\x30\x69\x3d\xad\x5c\x72\x22\x32\x6c\x6a\x9c\x14\x4c\xef\x63\x78\
+\x38\xb2\xf7\x02\x20\x00\x00\x32\x0f\x05\x42\x79\x01\xc2\x82\x1f\
+\x89\x61\xab\x92\x82\xae\xad\x39\xbc\x00\x00\x00\x4d\xbf\x41\xb6\
+\x3e\xe4\x1c\xfa\xd4\x24\xb6\x4f\x85\x02\xf9\x98\x3f\xbf\x5f\xd5\
+\x90\x60\x6a\x90\xaf\x80\x00\x00\x28\x50\x28\xe0\xfa\x38\x2d\x61\
+\x6c\x9f\xcf\x07\xe8\xc0\x61\x78\x2c\x78\x01\x00\x00\x64\x10\xcb\
+\x17\x12\x0a\x48\xbc\x00\x55\x6c\x6f\x9c\x14\x94\x18\x3f\xbc\x00\
+\x00\x00\x32\x69\xfd\xca\x08\x05\x44\x71\xbc\x2a\xb6\x17\x1d\xcb\
+\x74\x1b\x18\x3a\x00\x00\xb9\xb9\xc0\xce\xa1\x80\x89\x17\xa0\x98\
+\x42\x4c\x9d\xe8\xd3\xe7\x03\xb4\x86\x0f\x2f\x00\x00\x80\xec\x42\
+\x01\x93\xcf\xbc\x12\x82\x26\x7d\xfd\x92\x7c\x80\x6a\x1b\xad\x57\
+\x03\x01\x00\x50\x01\x5e\x80\xc5\x48\xbc\xf5\x35\x62\xd5\xd7\x9f\
+\x9c\x8f\x2a\x14\x30\xf6\x40\x40\x05\x00\x00\x32\x88\xd3\x89\x7b\
+\x42\x50\x07\x9a\x37\x57\xa9\x5d\x6c\xaf\xa8\x0f\x90\x1a\x34\xbc\
+\x00\x00\x00\x72\x0b\x05\xa8\xab\x41\xb9\xb6\xc4\xd4\x21\x1f\x90\
+\xcb\x21\x50\x93\x3c\x84\xc5\x3a\x10\x00\x80\x50\x80\x68\x1e\x66\
+\xe9\xea\x05\x50\xa2\x1e\xd4\xa3\x88\xed\x65\x5d\x83\x46\x29\x0e\
+\x18\x3e\x00\x00\xd9\x87\x02\xc1\xbd\x00\x92\x9d\x1e\xdc\x24\x1f\
+\x60\xd2\x35\x48\x6d\xae\x05\x02\x00\xd0\xe2\x9b\xb5\x9c\x45\x78\
+\x01\xc6\xb5\xff\xa4\x3b\x1f\xe0\xf5\x88\x6d\x24\x03\x01\x00\xc8\
+\xbd\x7c\x37\x84\x17\x40\x5b\x8f\xf2\xd1\x3d\xdc\x53\x54\xf6\x2b\
+\x0a\x05\x4c\xae\x05\xf6\x0e\x00\x40\x0e\x9e\x80\x4d\xb7\x20\x75\
+\x3d\x26\x55\x4d\xfa\x69\x16\x0a\xc0\xd0\x01\x00\xc8\xd2\x0d\xb6\
+\xcd\x05\x28\xbb\x05\x7d\xbc\x00\x4d\x3e\xc0\x3b\x14\xa0\x62\x60\
+\x41\x00\x00\x58\xe0\xe9\xee\xfb\x78\x01\xf9\x50\x40\xbd\x9e\x3a\
+\x14\x18\xdd\x22\xf2\x5a\xf0\xfb\x02\x00\x90\xbb\x17\x40\x8a\xf5\
+\x02\x84\xad\xbb\x63\x28\x70\xed\x0d\xc3\x76\x2d\x3b\xe0\x00\x00\
+\x00\x02\x61\xbc\x00\xeb\x75\x69\xb7\x17\x40\x2c\x42\x01\x22\x0a\
+\x05\x24\x2b\x22\x19\x08\x00\x40\x81\x43\x83\xbc\x17\xe0\x5b\x17\
+\x60\x1b\x0a\x98\x0c\x4f\x86\xa1\x03\x00\x90\x89\xf7\xdb\x03\x2f\
+\xc0\x28\xd1\xa7\x7a\xf2\xaf\x60\xac\xc0\xf9\xb3\xd4\xf6\xfa\xc7\
+\x70\x27\x00\x00\x80\x40\x19\x5e\x80\x6c\x7f\x9a\x50\x40\x04\x0b\
+\xea\x50\x02\x2c\xe9\xd9\x68\xe0\x2e\x00\x00\xa0\x32\xbc\x80\xdc\
+\x46\xab\xe7\x54\xe3\xfb\xa9\x36\xfe\x17\x25\x04\x29\x41\x09\x30\
+\x00\x00\x95\xea\x05\x38\xc1\x41\xe0\xe2\x2b\x13\x7d\x01\xa6\x01\
+\x77\xbd\x76\x08\x00\xe8\x57\xcb\x5f\x71\xf2\x02\xba\x5c\x6b\x6a\
+\x6e\x68\x26\x85\x41\x44\x5c\x20\x24\x5f\xaf\xbb\x12\xd0\x32\x0c\
+\x80\x00\x80\xc1\xd3\x37\x3e\xb9\x3c\xef\x14\xbb\x5b\xc0\x41\x3b\
+\x95\x98\x36\xd1\x47\xcd\xd6\x23\xe2\x79\x06\x61\xe8\x00\x00\x54\
+\x44\x2e\x40\xe6\x05\x78\x3c\x90\xd3\x34\xd1\x27\x5c\x0f\x86\x0e\
+\x00\x40\x9e\x06\x1f\xd8\x0b\xd0\xee\xdf\x20\xae\x37\x4d\x08\x9a\
+\x9c\x13\xc2\x00\x00\x00\x2a\xc0\x0b\x20\x12\x2f\x80\x5a\x1e\xcf\
+\x34\xd1\x27\x5a\xcf\x79\x58\x33\x04\x00\x40\x7e\x5e\x80\x53\xe9\
+\xbd\xa2\x9e\x3f\x7f\x1c\x5d\x85\x20\x04\x00\x40\xae\x76\x5f\xd4\
+\xe4\x99\x26\x43\x6f\xa9\x38\x14\xd0\x1a\x3a\x95\x7b\x01\x14\x61\
+\x00\x00\x00\x05\xf2\x02\x9c\xaa\xed\xcc\x37\x7a\xf3\xfc\x86\x65\
+\xa2\x8f\x5a\xdb\x2b\x0c\x1d\x00\x80\x0a\x68\xe1\x43\x26\x03\xbb\
+\x2a\xfa\x4c\x5a\xf1\x02\x8b\x83\x20\x00\x00\x50\xc8\x1b\x6d\x01\
+\xc9\x40\xa7\x44\x1f\x2c\x1d\x00\x80\x0a\xf4\x02\xa8\xfb\x36\xd4\
+\xe3\xb8\xaa\xc7\x81\x89\x36\xb2\xf1\x02\x64\xe7\x09\x96\x00\x00\
+\x30\xfc\x82\x43\x05\xd3\x30\x40\xb4\x9e\x69\x77\x5f\x97\xe7\x00\
+\xc3\x06\x00\xa0\x80\x46\xea\x94\x23\x30\xac\x09\xa0\x66\x13\x7d\
+\x98\x7a\x01\x10\x00\x00\x39\x7a\x01\x21\x92\x81\x34\xf0\x89\xb9\
+\x78\x01\x4e\xe7\x0f\x01\x00\x90\x81\x57\x10\x30\x0c\x58\x3d\xcf\
+\x5b\x71\xea\xee\x05\x10\x41\x8f\x40\x2f\x40\x05\x01\x00\x7d\x63\
+\xe7\x01\x0d\xc5\xab\x34\xd8\xc4\x0b\x50\xd4\xff\xa2\x65\x07\x00\
+\x20\x97\x78\xbf\x6c\x68\xc4\xc6\xed\xe7\x05\xc0\x9d\x07\x00\xa0\
+\x12\x72\x04\x3d\x7b\xa0\xa6\xc6\x0b\x48\x27\x00\xd7\xd7\xf1\x7b\
+\x01\x00\x90\x97\xa1\x17\x52\x3e\xab\xea\x59\x08\xe8\x05\x5c\x58\
+\xa5\x52\x8f\x00\x79\x00\x00\x00\x52\x36\xf1\xe1\xc3\x00\xdd\xd8\
+\x00\x5b\x6f\xc2\xc4\x0b\x40\x2c\x00\x00\x40\x45\xe7\x0c\x02\xd9\
+\xd8\xc5\x0b\xd4\xcc\x0b\x40\x81\x0f\x00\x00\xf5\x2e\x0c\xa0\x05\
+\x1d\x6c\x7d\xc3\xdf\xb0\x5d\x47\x0a\x42\x00\x00\x0c\xbe\xc0\xe1\
+\xb2\xb2\xf9\x02\xa9\x2e\xfc\xd0\x78\x01\x3e\x1e\x01\xf2\x00\x00\
+\x00\x14\x1a\x1e\x9e\x30\xa1\x19\x43\xf7\x33\x49\x9a\x3b\x19\x84\
+\x0d\x00\x00\x14\xc8\x3b\xf0\x19\x1b\xe0\xef\xe2\xab\xbd\x00\x0c\
+\x15\x06\x00\xa0\xd0\x86\x5e\x56\xd2\x81\x0a\xbc\x00\xe7\xa4\x1f\
+\x20\x00\x00\x40\xd5\x81\x8b\x26\x0f\xf0\xe6\xaa\xbf\xc1\xd2\x5e\
+\x15\x28\x41\x00\xc0\xa0\x5b\x76\xa8\x3c\x80\xce\x0b\x50\x85\x01\
+\xbe\x1e\x0f\x04\x00\x40\xd2\x96\xbb\xf8\xf0\x20\x74\xcb\x8d\x44\
+\x20\x00\x00\xf5\x61\xab\x18\xba\x4b\x10\x02\x00\xa0\x5e\x86\x0f\
+\xec\x6f\x63\xbd\xdb\xb8\xc3\x24\x03\x21\x00\x00\xaa\x84\x37\xa1\
+\x1a\x17\xd0\x2e\x05\x86\x00\x00\xa8\x5e\x06\x5d\xe4\xf0\x60\x97\
+\x64\x20\x9e\x12\x0c\x00\x40\x45\x18\x7a\x49\xc7\x75\x1d\x02\x1c\
+\xe2\x5a\x21\x00\x00\xea\xbf\x34\x03\x7a\x02\x00\x00\xa8\xca\xba\
+\x74\x91\x4a\xbd\x80\x32\x6a\x02\x20\x00\x00\x2a\x31\x9c\xc8\x57\
+\x04\x62\x0a\x2f\x00\x00\xaa\x73\x7e\xa0\x6a\x65\xb8\xf0\x02\x6a\
+\xa1\x11\x7c\x05\x7a\xed\xf9\xad\x1b\x1a\x24\x22\xbb\xd9\xdb\x46\
+\x94\x2c\x6c\xbd\x89\xa2\xec\xba\xed\xff\x47\x99\x17\xe9\xf2\xe4\
+\x03\x6e\xb8\xe9\x7d\xb5\xff\x4f\x37\x57\xa6\xe9\x6d\x0a\x84\x0b\
+\x3f\x66\xe6\x95\x2f\x6f\x9d\xc7\xe6\x7b\x4a\x22\xb6\x80\x92\xee\
+\x75\xa2\x32\x4e\x12\x02\x00\xca\xd2\xe4\x6f\xde\x30\xc5\x6e\xf2\
+\x03\xec\xed\x6e\xa7\x16\x30\x65\xb8\x52\x83\xce\x5b\x7e\x0f\xb5\
+\x76\x99\x90\xd1\x2d\x01\x3c\x14\x40\xa0\x36\x8a\x28\xd2\xb2\xa9\
+\xd6\x3b\x4a\x0c\x7f\x8c\xbd\x1c\x66\x7f\x53\xf9\x96\x3b\xdb\x7a\
+\x87\xf5\x02\xfc\xf7\x63\x7b\x3e\xd9\x05\x13\x6f\x1d\x26\x57\x6c\
+\xcf\x9e\x4b\xfc\x1a\x6d\xae\xd2\x79\xbf\xb9\x40\xb4\x4e\xb2\xfc\
+\xc4\xf3\x6b\xed\x11\x86\xde\xd7\xe9\x75\xad\xf1\x9b\x79\xf6\xf2\
+\x2c\x7b\x6d\x3e\x79\xdf\xe2\x42\x16\x58\x83\x7d\xff\x23\x07\x20\
+\x56\x6c\xfc\xa2\x98\x1b\xb2\xcf\x03\xe8\xba\x02\x4b\x78\x6c\x78\
+\x83\xfd\x71\x4f\xee\xb9\xa9\x27\x26\xa6\xf0\xc3\x00\x00\x4a\xb7\
+\x3f\x31\xfe\x81\xb4\x59\x2a\x78\x75\xe8\x0e\xac\xa8\xb8\x67\x37\
+\x0b\x08\x00\x00\x0a\x03\xa0\x07\xfa\xc5\x88\xf5\x2d\x6c\x76\x01\
+\xcf\x01\x0c\x88\x66\xa7\x9f\x98\x98\xc4\xdd\x0e\x00\x64\xf4\xc3\
+\x1f\xbf\x7e\x2f\x71\x49\xf8\x15\x6d\xc8\x32\xd7\x38\xf0\x1c\x81\
+\x6b\x97\x07\x2a\xce\x39\x80\x3b\x1e\x00\xc8\xeb\xae\x22\x63\x60\
+\xb9\xe1\x56\xa3\x4c\x56\x38\xc1\x27\x71\x1b\x1b\xb0\x75\x5b\xe5\
+\xbb\x02\x26\x99\x17\xd0\x00\x00\xa0\xb4\x76\xdb\xb4\xc4\xda\xe9\
+\xb8\xfa\x35\x47\x60\x90\x07\xd8\x7a\x45\x2d\xfa\x02\xf7\x02\x00\
+\x50\xba\x05\x6c\x64\x62\xe3\x01\x53\x32\x1e\x20\x84\xb6\x5f\x35\
+\x44\x86\x86\x2b\x7f\xc9\xef\x1a\xf4\x7b\x1e\x85\x40\x59\x8d\x0d\
+\xf2\xc5\x6f\x6c\x04\x6c\x59\x98\xf1\xdf\xf4\xb6\x11\x72\x66\xb1\
+\x35\xc8\xa0\x55\x27\xb0\x7a\x1e\xbf\x37\x00\x50\x5d\xad\x0c\xfa\
+\x4d\x11\x17\xf2\xb5\x5c\xf9\x74\x59\xb0\x8b\x78\x1e\xe0\xa6\x9b\
+\x47\x04\x45\x43\x51\xa6\x68\x28\x6a\xc1\x27\x99\x95\x28\x29\x2c\
+\xba\xb8\x4a\xe3\xe5\xab\xe7\x36\xc8\xf9\x73\x28\xc4\x00\x00\x8a\
+\xd7\x3c\xfb\x9b\x1c\x58\x0f\x60\x5d\x1d\xfb\xeb\xc6\x05\xf8\x7a\
+\x0c\x57\xee\x88\x32\x00\xd8\xbe\xa3\x55\x71\xc8\x22\xd5\xcb\x97\
+\x29\x39\x75\x62\x83\x9c\x5b\xd9\x08\xfd\x7b\x23\x07\x00\xe1\x86\
+\x08\x91\x03\x28\x72\xb6\xe0\xd1\x2d\x11\xf9\xee\x5b\x46\xc8\xb6\
+\x2b\x83\x26\x17\x5f\x00\x00\xa0\xb4\xbe\x89\xaf\xa0\xe0\x10\x23\
+\xfd\x08\x71\x07\x30\x5c\x35\x16\xf4\x96\x3d\x06\x00\x40\x6d\xfd\
+\xe7\xa3\x67\xf8\x0d\xb1\x30\xf0\x06\xda\x83\xbc\x83\xa8\xfe\x40\
+\x18\xa6\xac\x05\x3b\xe6\xdc\xec\xbd\x8b\x0b\x00\x00\x94\xd7\xa1\
+\x41\xbe\xf8\x8b\x6f\x52\x75\x41\x50\x89\x54\xa0\xe9\xd7\x96\xce\
+\x26\x39\x00\xc3\x47\xa2\xd1\x5c\xf1\x46\x6a\xfd\x43\xb8\xd5\x01\
+\x80\xee\x18\xe0\xd1\x33\x4d\xf6\x32\x37\xb0\x1e\x80\xa1\x61\xe6\
+\x0b\x82\xca\x38\xb1\xc5\x97\xd6\xc8\xa5\x4b\x41\x0e\x76\xa4\x79\
+\xef\xe2\x1c\xee\x76\x00\x40\xa6\x7d\xa4\xa4\x84\xa0\xf7\x50\x59\
+\xdb\xea\x44\xcd\x80\x20\xdf\xd0\xa1\xa8\x29\xc5\x57\x5e\xdd\x20\
+\xaf\x2e\x07\xe9\x01\x68\x32\xe3\x9f\xc1\x2d\x0e\x00\xa8\xbc\x00\
+\x5e\x0f\xb0\x87\x6c\xd6\x05\x04\x36\x38\x12\xc4\xe0\x8a\x0c\x01\
+\x82\xba\xf1\x01\x66\x0a\xbe\xc0\xce\x69\xe9\xa5\x20\xb3\x96\x72\
+\xa8\xc3\xf8\x01\x00\xbd\xe6\x3e\x7b\xba\x0b\x02\x50\x48\x2f\xc1\
+\x8c\x08\x7c\xb6\xe2\x17\xff\x6f\x2d\xc4\xac\xc5\xdc\xf8\xf7\x3c\
+\x79\xdf\x22\x7e\x4f\x00\xc0\x18\x02\xf3\x03\x07\x81\x12\xe7\xf7\
+\xef\xaa\x17\xc8\x1b\xff\x1a\x21\x2f\x7c\x3b\x88\xf1\x2f\xc0\xf8\
+\x01\x00\x1f\x08\x4c\x0f\xca\xf5\x5e\xc8\x85\x00\xa5\xf6\x00\xe4\
+\xea\x02\x96\x4e\xac\x93\x0b\xab\xde\x07\xe6\x46\xbf\xef\xc9\xfb\
+\x61\xfc\x00\x80\x3b\x04\x8e\x45\xd1\xe0\x40\x40\xeb\xc6\x97\x90\
+\xf8\x7f\x65\x79\x83\xbc\xfe\xea\x46\x08\xe3\xdf\xc3\x8c\x7f\x1e\
+\xbf\x1c\x00\xe0\xa5\xe3\x8f\x9c\x6e\x0e\x82\x27\x60\x33\x22\xb0\
+\xa8\xae\xc0\x37\x5e\xdf\x20\x4b\x2f\x07\x49\xfa\xed\x7b\xea\xfe\
+\x53\x30\x7e\x00\x20\x28\x04\x9a\xfd\x7c\x8d\x3e\xe3\x01\x42\x84\
+\x0b\xbc\x17\x62\xf1\xc5\x20\xc6\x3f\xcd\x8c\x7f\x0e\x77\x2d\x00\
+\x10\x1a\x02\xd3\xfd\x0e\x81\x60\xf1\xbc\xe5\x26\x3c\xd9\xc7\x8d\
+\x3f\x40\xd2\x6f\xfa\xa9\x0f\x9e\xc2\x6f\x04\x00\x14\x04\x81\x87\
+\x4f\x4f\x47\x7d\x3c\x90\x24\xe8\xec\xc0\x16\x03\x7e\x5e\x5e\x58\
+\xeb\x4a\x42\x3a\xe8\x08\x8c\x1f\x00\x28\x43\xdc\x13\x98\x2f\xed\
+\xe9\x40\x25\x6a\x7d\x2d\x7c\x8a\x4f\x37\xfa\x6f\x99\xc5\xfc\xab\
+\xfe\x93\x7e\x34\xff\xea\x43\xa7\x50\xe8\x03\x00\x14\xaf\xff\x78\
+\xb8\x5d\x28\x54\x4e\x92\xa9\xa4\xc7\x83\xc5\xb3\xf3\xac\x97\x3b\
+\xf0\x87\x67\xfb\x5f\x3d\xbd\x11\xc2\xf8\xd1\x53\x03\x00\xf4\x04\
+\x02\x7d\xd5\xc7\x9c\x24\x02\x8b\x2c\x06\x4a\xaa\x01\xb9\xcb\x7f\
+\xea\xa5\x75\xdf\xe7\x20\xce\xc3\xf8\x01\x80\xde\x40\xe0\xa1\xfe\
+\x2f\x19\x2e\xca\x1b\xb8\x7c\x99\x90\x97\x9e\x5f\xf3\x3d\xb7\xa4\
+\x5a\x13\x02\x00\x7a\x06\x81\xbe\x2a\x19\x96\x75\x05\x86\x04\x01\
+\x0f\x33\x4e\x2e\xac\x2b\xe7\x21\x34\x50\xfc\xbd\xb3\xd6\x1f\x55\
+\x7e\x00\x40\x6f\xf5\xef\x0f\xf6\x4f\xc9\x30\xdd\x28\xde\x23\x38\
+\xf5\xf2\x7a\x7b\x16\x60\xb7\x93\x8c\x61\x3b\xfd\xf4\x87\x61\xfc\
+\x00\x40\x75\x20\x70\xac\x1f\x20\xb0\xb6\x66\x64\x80\xce\xe2\x65\
+\xbe\xe7\xcf\x7a\x51\x24\x0e\xbb\x98\xf1\xa3\xca\x0f\x00\xa8\x1c\
+\x04\x9a\x75\x87\x80\xe9\x43\x42\x5d\x4c\xf8\xec\x0a\x25\xaf\x2c\
+\x79\x67\xfc\xf7\x3c\xfd\x2b\x30\x7e\x00\xa0\xda\x10\x38\x52\x6f\
+\x08\x18\x7a\xe2\x16\x14\xe0\x2e\xff\xe9\x45\xef\x32\xbf\x69\x18\
+\x3f\x00\x50\x79\xfd\xdb\x1f\x9c\xe6\x05\x29\xcd\xba\x9e\x7f\xe8\
+\x62\x20\x9e\xec\x3b\xf1\x9d\x35\xdf\xa4\x1f\x37\xfe\x26\xee\x2e\
+\x00\xa0\x2e\x10\xa8\xed\xb8\x81\x35\x9b\xde\x39\xaa\x37\xfe\x97\
+\xfd\x8d\xff\xd0\x33\x30\x7e\x00\xa0\x86\x9a\x89\x6a\xf8\xc4\x21\
+\xd3\x3c\x80\x89\xce\x9c\xf2\xcc\xf8\x33\x88\x32\xe3\x3f\x88\x5b\
+\x09\x00\xa8\x9f\x17\xf0\x99\x4e\xc9\x70\x1d\xc6\x01\x24\x0a\xf5\
+\xa8\x70\x5e\xe2\x7b\xd6\xef\x79\x7e\xcd\x67\x7e\x15\x55\x7e\x00\
+\x40\x8d\xf5\xaf\x1d\x08\x2c\x38\xed\xc0\x73\x1c\x80\x8b\x68\x80\
+\x19\xb8\xdf\x58\xe1\x35\xfe\x5e\x7e\xff\x3c\x8c\x1f\x00\xe8\x27\
+\x08\xf0\xe7\x0d\x94\x5e\xb8\x62\x33\x10\x28\x79\xe3\x3b\x2c\x97\
+\xbb\xfc\xdc\xf5\xf7\x31\x7e\x82\x12\x5f\x00\xa0\x9f\xf4\x2f\x9f\
+\xae\x57\xc9\xb0\xf1\xf4\x60\x39\x8f\x23\x2e\xf3\x7d\x61\xad\xbd\
+\x7d\xe4\x68\xfc\x5f\xfa\x08\xaa\xfc\x00\x80\xfe\x84\xc0\xbe\x3a\
+\x9c\xab\x4b\x1e\x60\x3d\x31\xfe\x75\xb9\x2b\xa2\x19\xaa\x1c\x97\
+\xf8\xc2\xf8\x01\x80\xfe\x85\xc0\x03\xa7\xe7\xa2\x1a\x54\x0b\x5e\
+\x36\x00\x40\xde\x98\x5f\x61\x6e\xbf\x47\x02\x31\xce\x95\x7c\xf9\
+\x23\x28\xf4\x01\x00\xfa\x5c\xff\xfc\x40\xab\x64\x58\xd2\x2a\x56\
+\x41\xb6\x53\x83\xbd\x76\x7a\x23\x9e\xd1\xd7\xd9\xf8\x29\x8c\x1f\
+\x00\x18\x3c\x08\x1c\x51\xb6\xac\x9a\x1e\x80\x5e\x7a\x00\xe9\x53\
+\x38\xcb\x0c\xff\xb5\x33\x5e\x49\xbf\x99\x2f\xff\x1a\x8c\x1f\x00\
+\x18\x34\x08\x7c\x6a\xd9\xab\x64\xd8\x76\x2a\x30\x1b\xc9\x7a\x02\
+\xe2\x7d\xa6\xf6\x77\xc9\xbf\xc6\x7f\x9a\x19\x7f\x13\x77\x03\x00\
+\x30\xa8\x10\x28\xad\x64\xd8\xa4\x0b\x30\xfd\x7f\x5d\x3c\xcf\x67\
+\xf5\x39\xf9\xa2\x77\xcb\x0f\xe3\x07\x00\x06\x5b\xff\x74\x68\x79\
+\x73\x96\xe1\x8a\x29\xed\x05\xe4\xbd\x0b\xde\xcd\xc7\x9f\xe0\xc3\
+\x5f\x1d\x23\x92\xe6\x5f\xff\xfa\xa9\x23\xf8\xf5\x01\x00\x68\x53\
+\x7b\xaa\x06\x01\xfe\xa4\x1e\x59\x82\x92\x1b\x7f\xde\x43\xb0\x28\
+\x77\xe6\xc6\x8f\x2a\x3f\x00\x00\x4a\x79\x01\x71\x37\x18\x33\x92\
+\x79\x91\x11\xf5\xa2\xa7\x40\x96\x07\x38\xb3\xb8\xe1\xf3\xe4\xde\
+\x39\x18\x3f\x00\x00\xc9\x21\xc0\x8d\x63\x45\x17\xc8\x17\x31\x06\
+\x20\x2f\xee\xde\xe7\x1f\xd8\xf1\xfa\x6b\x1b\xe4\xdc\x59\xe7\xee\
+\xbe\xda\x14\x42\x01\x00\x50\x4f\xf4\x8f\x07\x97\x83\x94\x0c\x9b\
+\x8e\x01\xd0\x29\x3d\x9a\xef\xdc\x59\x4a\x5e\x5d\xf6\x32\xfe\x3d\
+\xac\xf5\x47\x95\x5f\x45\x14\xd1\x32\x1f\x01\x53\xf5\x2f\xa3\x62\
+\xd5\x38\x3f\x72\x68\x67\x83\xbd\x3c\x57\xc6\xd3\x80\x74\xfb\xbd\
+\xf6\x86\x21\x32\x3a\x1a\xc5\x03\x7c\xe2\xa4\x9f\xfd\xa3\xcf\xb8\
+\xd1\xdf\xf9\x95\x8f\x9e\x5a\xa8\xd2\x77\x3c\xe8\xf7\x3f\x3c\x80\
+\x2a\x7b\x02\x07\x96\xe7\xab\x52\x32\xcc\xab\xfc\x96\x4f\xda\x19\
+\x7f\x4a\x71\x6e\xa3\x6a\xc6\x0f\x01\x00\x95\xd7\x3f\x1c\x58\x6e\
+\xf2\x9c\x40\x19\x73\x00\x04\xf7\xa8\xb2\xc6\x8f\x2a\x3f\x00\x00\
+\xf2\x80\xc0\xa1\x10\xf1\x7f\x0f\x34\xf3\x95\xfd\x4b\x30\x7e\xe4\
+\x00\x90\x03\xf0\xd5\x8f\x7e\x6a\xe7\x2c\xb3\xe4\xa9\x22\xe3\x7f\
+\xbf\x7d\x77\x2d\x9f\x66\xc6\xdf\xac\xf2\x77\x8a\x1c\x00\x54\x1b\
+\x7d\xe3\x93\xc5\x97\x0c\x1b\x1b\xbf\x59\xcb\xdf\xc4\xaf\x06\x0f\
+\x00\x1e\x40\x60\xbd\xef\x81\x9d\xcf\xb1\x97\x86\x2a\xfe\x0f\xd9\
+\x03\xe0\xd0\xfa\x37\xbf\xba\x7f\xa9\x16\x85\x3e\xf0\x00\xa0\x3a\
+\x4a\x59\x32\xdc\xe3\xf8\xbf\x36\xc6\x0f\x01\x00\xb5\xd4\xd7\x7f\
+\x7f\x79\x85\x38\x8c\x1b\x30\x89\xff\x3d\x75\x0c\xc6\x0f\x00\x40\
+\xe5\x41\x20\xe8\x2c\xc3\x9e\x5d\x8b\x7d\xf3\x78\x74\x00\x00\xaa\
+\x07\x04\x3e\xb1\xbc\xc0\x8c\x34\x53\x32\x5c\x64\x1a\x43\x11\x5a\
+\xc4\x25\xbe\x5f\x9d\x59\x42\x89\x6f\xcd\x84\x24\xa0\xc8\x45\xae\
+\x99\x7e\xec\x33\x71\xc9\xf0\x71\xf6\x37\x66\x53\xff\x1f\x28\x01\
+\xc8\x8d\xfe\xe6\xbf\xf9\x58\x3d\x8d\x1f\x49\x40\xa8\xf6\xfa\xfb\
+\xdf\x8b\x07\x0f\xcd\x78\xb9\xfb\x6e\x87\x8e\x73\x11\x75\x35\x7e\
+\x08\x00\xe8\x27\x08\x34\x59\x0b\xed\x1f\x83\x9b\xf7\xff\x27\xc6\
+\x8f\x2a\x3f\x00\x00\xaa\x82\xfe\xee\x77\xe3\x92\xe1\x19\xa9\xfb\
+\x1f\x24\x4e\x6a\xbf\x9b\x86\xf1\x03\x00\x50\xf5\x20\xc0\xe7\xd8\
+\x6b\x2a\x5b\xf7\x6e\x63\xb6\xd5\xf4\xd7\x3e\xb6\x74\x0c\xdf\x36\
+\x00\x00\x55\x11\x02\xbf\x63\x57\x32\x6c\xd9\xfd\xc7\x8d\xbf\x89\
+\x6f\xb9\x3f\x84\x5e\x80\x4c\x9c\x1b\xf5\xd5\xf5\xdc\xf5\xe0\xce\
+\xe3\xec\x9a\x26\x75\x1e\x80\x45\xfd\x7f\xf3\x6b\xbf\xd1\x5f\x85\
+\x3e\xe8\x05\x80\xfa\x59\xbc\x50\x68\x2e\x90\xfb\xdf\x77\xc6\x0f\
+\xc1\x03\xe8\x6b\x0f\x20\xd1\xde\x87\xc6\x0f\x33\x83\xdf\xef\xd2\
+\xfa\x33\xad\xb0\x65\x33\xcc\xf8\xfb\xd2\xed\x87\x07\x00\xf5\xbd\
+\x8e\xfd\xf6\x12\xaf\x11\xd8\xd3\xf6\x06\x2c\x5a\x7d\xf6\x77\x67\
+\xbf\x1a\x3f\x04\x0f\x60\x20\x3c\x80\x4c\x4c\xf0\xf0\x38\x1f\x46\
+\x7c\x0f\x7b\xcb\x73\x03\x0d\x81\x07\xc0\x21\xf1\x2c\xe7\xc6\xdf\
+\x7e\x7c\x69\xa1\xdf\xbf\x8f\x41\xbf\xff\x01\x00\x08\x42\x08\x00\
+\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\x00\
+\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\x00\x41\x10\x00\x00\
+\x41\x10\x00\x00\x41\x10\x00\x00\x41\x50\xbd\xf4\xff\x02\x0c\x00\
+\xd4\x86\x60\x8f\x8e\xd3\xe2\x10\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\x3f\xe2\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\
+\x00\x00\x20\x00\x49\x44\x41\x54\x78\x9c\xec\xbd\x77\x98\x64\x57\
+\x79\xee\xfb\x5b\x6b\x87\xca\x9d\xa7\xd3\x48\x33\x23\x8d\x46\xa3\
+\x8c\x22\x20\x21\x40\x20\x93\xc4\x91\x00\xdb\xd8\x17\xdb\xd7\xf8\
+\x98\x63\xb0\xf1\x01\x1e\x0c\x18\x9b\x73\x6c\x9f\x63\xf9\x1a\xec\
+\x8b\xed\x6b\x0c\x38\x1d\xdb\x38\xe0\x84\x49\x26\x09\x81\x84\x50\
+\x40\x81\x91\x18\x8d\x34\x39\x87\x0e\xd3\xb9\xbb\xe2\x0e\x6b\xad\
+\xfb\xc7\xda\xd5\xbd\x67\x4f\xf5\x68\x94\x50\x40\xdf\xf3\xec\xa9\
+\xae\x5d\x53\x55\xbb\xf6\x97\xde\xef\x5d\xdf\x5a\x0b\x5e\x90\x17\
+\xe4\x05\x79\x41\x5e\x90\x17\xe4\x05\x79\x41\x5e\x90\x1f\x39\x11\
+\xcf\xf4\x05\x3c\xc7\xa4\x1f\xe8\x03\xba\x81\x2e\xc0\x03\x24\x60\
+\x80\x10\x68\x00\xb5\xe4\x58\x4a\x8e\xf8\x19\xb9\xd2\xd3\x94\x17\
+\x0c\xe0\xb1\x65\x3d\xb0\x09\x38\x07\xb8\x04\x38\x77\x4d\xa9\xbc\
+\xb1\xb7\x50\x5a\xef\x3b\x9e\x90\x42\xa0\xd1\x44\x4a\x51\x6b\xb5\
+\xa6\xe6\x5b\xf5\xa3\x8d\x28\x3a\x06\x8c\x03\x87\x80\x83\xc0\x04\
+\x70\x24\x39\x9e\x55\xf2\x82\x01\xac\x2e\x9b\x81\x57\x02\xaf\x1b\
+\x2e\x57\xae\x3b\xab\x7f\xa8\xef\x8c\xee\x5e\xd6\xf7\xf4\xb1\x71\
+\x60\x90\x75\x3d\x03\x54\x72\x05\x3c\x29\x89\xb4\xa2\x1a\xb4\x98\
+\xaa\x55\x19\x5f\x9c\x67\xbc\xba\xc0\x4c\xbd\xc6\x5c\xa3\xc6\x54\
+\x6d\x89\xb1\xc5\xf9\xa3\x33\x8d\xda\x7d\xc0\xfd\xc0\xb7\x80\x6d\
+\xcf\xe8\x2f\x4b\xc9\x0b\x06\x70\xb2\x9c\x0d\xfc\x1a\xf0\x63\x6f\
+\xd8\x7c\xc9\xe6\x9f\xbc\xe4\x4a\x2e\x19\x39\x93\x0d\xbd\x03\x0c\
+\x54\xba\xc0\xf3\x41\x6b\x30\x1a\x8c\x59\x79\x97\x10\x80\x00\x29\
+\xec\xdf\x4a\xd3\x68\xd6\x99\xa9\x55\x19\xaf\x2e\xb0\x77\xe6\x38\
+\xb7\xef\xdb\xc9\x3f\x6c\xb9\xe7\x98\xc6\xdc\x0b\x7c\x12\xb8\xf3\
+\x19\xf9\x85\x29\x79\xc1\x00\x4e\x94\x5f\x07\xde\xba\x79\x60\xe8\
+\xf2\x0f\xbc\xf2\x06\x79\xfd\x39\xe7\x73\xf6\x9a\x61\x90\x12\xb4\
+\xb2\x0a\x4f\x2b\xfd\xb1\x44\x48\x6b\x10\x52\x82\x36\x4c\x2f\xce\
+\xf3\xdd\x03\xbb\xf8\xe4\xf7\x6e\xe3\xbb\x07\x76\x1f\x04\xfe\x0e\
+\xf8\x38\xd0\x7c\x7a\x7e\xce\x69\x5c\xe2\x33\xf5\xc5\xcf\x42\x79\
+\x07\xf0\xb1\x37\x5f\x78\xf9\xc0\xff\xbc\xfe\x46\xae\x58\xbb\x1e\
+\x5c\x17\x94\x7a\xea\xbe\x41\x3a\x60\x34\x47\xe7\x67\xf9\x97\xad\
+\xf7\xf3\xbb\xdf\xfe\x52\xad\x1e\x86\x77\x01\xef\x03\xf6\x3e\x75\
+\x5f\x74\xfa\xe2\x3c\x13\x5f\xfa\x2c\x94\x5f\x05\x7e\xfb\xc3\xd7\
+\xdd\x30\xf4\xbf\x5e\xfb\x66\xce\x1b\x5a\x6b\xc3\xb8\xd6\x4f\xed\
+\xb7\x24\xd1\xa3\xbb\x54\xe1\xaa\xb5\xeb\x79\xd5\x39\xe7\xfb\x5b\
+\x8e\x1e\xdc\x38\x55\xab\xbe\x0e\x78\x98\x67\x00\x24\xbe\x60\x00\
+\xf0\x21\xe0\x23\xbf\xfd\x63\x6f\x1a\xfe\xf5\xeb\x6e\x60\xb0\xab\
+\x3b\x51\xd4\xe3\x08\xf5\x8f\x57\x8c\xc6\x71\x1c\xd6\xf5\xf4\x73\
+\xd3\x85\x97\x89\x43\x73\xd3\x03\x3b\xa7\x26\xde\x00\xec\x06\xf6\
+\x3c\x7d\x5f\x7c\xb2\xfc\x28\x1b\x80\x04\x7e\x0e\xf8\xc3\xf7\x5d\
+\xfb\xda\xde\xb7\x5d\x76\x35\x78\x0e\xb5\x38\xa2\x66\x62\x5a\x5a\
+\x81\x14\x78\x8e\x83\x30\x10\x3b\x12\xed\x48\xe4\x53\x1c\x14\xba\
+\xf2\x45\xde\x78\xde\x8b\x98\x6b\xd6\xca\x0f\x1d\x3b\xf4\x1a\x60\
+\x3b\x3f\xc4\x74\xf0\xa3\x8a\x01\x9c\x75\xeb\xd6\xfd\xd7\x4a\xa5\
+\xf2\x17\xeb\xd7\xaf\x77\x06\x7a\x7b\xa9\x94\x2b\x14\x0a\x79\x7c\
+\x3f\x07\x80\xd6\x8a\x30\x08\x59\x9c\x99\xd1\xf9\x7a\xc8\xe6\xde\
+\x35\xf2\xe2\x8d\x9b\xd8\x54\xe9\x65\x20\x32\xb8\xc6\xe0\x08\xf9\
+\x14\x5d\x8e\xa0\x15\x87\xfc\xea\x17\xfe\x91\xbf\xdd\x72\xd7\x18\
+\xf0\x66\x60\xcb\x53\xf4\xe1\x8f\xf1\xcd\x3f\x62\x32\x34\x34\x54\
+\x7a\xfd\xeb\x5f\xff\x9e\x0d\x1b\x36\x7c\x74\xd3\xa6\x4d\x0c\x0f\
+\x8f\x20\x04\x48\x29\x69\xdf\x0e\x63\x74\xf2\x08\x06\xc3\xdc\xec\
+\x1c\xfb\xf7\xef\x33\x8f\x6e\x7f\x54\x84\xcd\xc0\x8c\x16\x2b\x5c\
+\xe1\x96\xc4\x35\x43\xeb\x18\x29\x77\x51\xf0\x7d\xc4\x32\x21\xf8\
+\xc4\xa5\x16\xb4\xf8\xf1\x7f\xf8\x33\xf3\xad\xbd\x3b\x76\x00\x3f\
+\x06\x4c\x72\xfa\x3a\x7a\x42\x5f\xfe\xa3\x96\x02\x0a\xc5\x62\xf1\
+\x17\x87\x87\x87\xff\xe8\xea\xab\xaf\xe5\xfc\xf3\x2f\xc0\x71\x1c\
+\x3c\xcf\xc7\xf3\x7c\xa4\x74\x10\x42\xe0\xba\x0e\x8e\xe3\x92\xcf\
+\xe7\x29\x97\x4b\x0c\x0e\x0e\xb1\x79\xf3\x66\xf1\x92\x97\x5c\xcd\
+\xe6\xf3\xce\x13\x3a\xe7\xf3\xc0\xec\x04\x7f\x7e\xdf\xed\xfa\xbe\
+\x3d\x3b\x45\x6f\xb9\x2c\x7a\xcb\x15\xf2\xae\x0b\xe6\x89\xfb\x94\
+\xef\xba\xbc\x62\xe3\x79\xe2\xf3\x0f\x6f\xe9\x5b\x0a\x9a\x1b\x81\
+\x7f\x4f\x5e\x6a\x5b\x67\xf6\x48\xcb\x6a\xe7\x4f\x29\x3f\x4a\x06\
+\x50\x04\x7e\xc5\x75\xbd\xff\xef\x9a\x6b\x5e\xa1\xdf\xfa\xd6\xb7\
+\x89\x7c\xbe\x48\x2e\x57\xa0\x50\x28\x27\x47\x29\x79\x5e\xa4\x58\
+\x2c\xd0\xd5\xd5\xcd\xc0\xc0\x1a\x2a\x95\x0a\xbe\xef\xe2\xfb\x39\
+\x7a\x7b\x7b\xd9\xb8\x71\x93\xb8\xe8\xc2\x8b\xc4\xa5\x97\x5e\x26\
+\x8f\x34\x6b\xfc\xf5\xf7\x6e\xd7\x07\x83\x9a\x18\xed\x5f\x23\xfa\
+\xfc\x3c\xce\x93\x08\xac\xdd\xf9\x22\x9b\xd7\x8c\xc8\x7f\xde\x7a\
+\xdf\x5a\xa0\x0a\x7c\x9f\xce\x06\xc0\x2a\xe7\xb2\xe7\x4f\x29\x3f\
+\x2a\x06\x50\x02\x7e\xb5\xbb\xbb\xf7\xe3\xef\x78\xc7\x3b\xcd\x87\
+\x3f\xfc\x3f\xa4\xd6\x06\x21\x04\x8e\xe3\xe1\x38\x0e\xae\xeb\x51\
+\x28\x14\x28\x95\xca\x74\x77\x77\xd1\xdf\xdf\x4f\x4f\x4f\x37\xc5\
+\x62\x91\x7c\x3e\x47\xa1\x50\xa2\x50\xc8\xe3\x38\xf6\x96\x69\x0d\
+\xe5\x72\x85\x2b\xaf\xb8\x42\x5c\x7a\xc9\x8b\xe4\x3d\x8f\x6e\x13\
+\x77\x8d\x1d\xd4\xc5\x4a\x59\x0c\xba\x79\x0a\xae\xf7\xf8\x48\xa3\
+\x44\x84\x10\x0c\x16\xcb\xec\x38\x3a\x9e\xdf\x33\x3f\x79\x2e\xf0\
+\x1d\xe0\x38\x56\x57\xa7\x63\x00\x9d\x8c\x61\x55\xf9\x51\x30\x80\
+\x12\xf0\xde\x9e\x9e\xbe\x8f\xbd\xf3\x9d\xbf\x6c\xde\xff\xfe\xdf\
+\x10\x41\xd0\xc2\xa4\x94\xe3\x38\x82\x7c\xde\x23\x9f\xf7\xf1\x7d\
+\x0f\xcf\x73\x70\x1c\x89\xe3\x38\x38\x8e\x40\x4a\x89\x94\x02\xd7\
+\x75\xc9\xe5\xf2\x88\x04\xfc\x09\xe1\x10\x45\x11\xe5\x72\x99\x6b\
+\x5f\x76\x2d\xcd\xa0\xc5\x96\xa9\x31\xe6\x5a\x75\x31\xec\xe5\xe9\
+\xca\x15\x1e\xbf\x11\x08\x70\x84\x83\x8f\xcb\x1d\xfb\x77\xf5\x35\
+\x54\xd8\x0b\x7c\x15\x9b\xe3\x1f\xaf\x01\x64\x1f\x4f\x92\xe7\xbb\
+\x01\x14\x81\xf7\xf7\xf4\xf4\xfd\x3f\xef\x7a\xd7\xbb\xf5\x7b\xde\
+\xf3\x01\x19\x86\x27\x2a\x1f\xc0\xf7\x6d\x14\x10\x02\x8c\x31\x48\
+\x29\xf1\x3c\x07\x29\x25\x42\x48\x84\xb0\x9e\x09\x24\x18\xc1\x43\
+\x4a\x07\x63\x24\x52\xba\x18\x03\x51\x14\xb0\x71\xe3\x39\xa2\xab\
+\x5c\x12\x7b\x97\xe6\xd9\x39\x7e\x94\x11\xe9\xd1\x57\xee\x7a\xdc\
+\x84\x92\x10\xd0\x6c\xc5\x1c\x9c\x98\x61\xcf\xd2\xc4\x10\x76\x34\
+\xf1\x07\x80\xcb\xea\xca\x3f\x95\x01\x64\xcf\x2f\xcb\xf3\xd9\x00\
+\x0a\xc0\x07\xba\xbb\x7b\x6e\xfe\x95\x5f\xf9\xef\xbc\xfb\xdd\xef\
+\x95\x61\x18\x9e\xf4\x9f\x1c\x47\xe2\xba\x2e\xae\xeb\x26\x29\x41\
+\xe2\xba\x4e\xe2\xf5\xd6\xd3\x8d\x01\xad\x0d\x5a\x1b\x94\xd2\x80\
+\xc1\x18\x43\x14\x29\xb4\x36\xb8\xae\x8f\xe3\x38\x28\x15\xd3\xdb\
+\xdb\x4b\x7f\x7f\x2f\x63\xf5\x2a\x77\x6c\x7f\xd8\xac\x75\x72\x0c\
+\x75\xf7\x8a\xc7\x6b\x04\x0b\xf5\x06\x07\xc6\x66\x68\xea\xa8\x74\
+\xbc\xb9\x58\x06\xbe\x88\xed\x2d\x68\xd7\x9e\xa7\xa3\xfc\x4e\xa9\
+\xe0\x04\x23\x78\xbe\x1a\xc0\x30\xf0\x97\xeb\xd7\x6f\x78\xcf\x1f\
+\xfc\xc1\x1f\x8b\x9f\xfc\xc9\xb7\x89\x38\x8e\x96\x5f\x6c\x23\x7d\
+\xcf\x73\xc9\xe7\x73\x14\x8b\x79\x0a\x85\x1c\xb9\x9c\x87\xe7\xb9\
+\xcb\x5e\x6f\xef\x95\x55\x7c\x18\xc6\xd4\x6a\x0d\x9a\xcd\x90\x38\
+\x56\x44\x91\x22\x0c\x43\x94\xd2\xc9\xe7\xf9\xb8\xae\x0f\x40\xb1\
+\x58\x64\x64\x64\x84\x30\xef\x89\x7f\xbc\xfb\x36\xe3\x36\x5a\x9c\
+\x3f\xba\x5e\x18\xad\x4e\x0b\x1e\x1a\x63\x98\x98\x5f\xe2\xc0\xf8\
+\x34\x95\x5c\x81\x03\x4b\x53\xa3\x81\x8e\x1f\x00\x76\x01\x3e\x9d\
+\xbd\xff\x54\x55\xc2\xaa\x86\xf0\x7c\x34\x80\x33\x80\x4f\xac\x5b\
+\xb7\xe1\xad\x37\xdf\xfc\x51\x5e\xf9\xca\x57\xa3\xd4\x4a\x53\x8e\
+\x94\x92\x42\xc1\xa7\x5c\xce\x53\x28\x58\xc5\x7b\x9e\x9b\xe4\x7c\
+\x89\x10\x02\x21\x04\xc6\x68\xb4\x36\xcb\x03\x80\x61\x18\x53\xaf\
+\xb7\x68\xb5\x62\xa2\x28\x26\x8e\x63\xb4\x56\x27\xa4\xf8\x76\x19\
+\xe9\x38\x0e\xbe\xe7\xd3\xd7\xdb\x8b\xf2\x5c\xf1\x95\x7b\xef\xa4\
+\x47\xc3\xa6\xd1\x75\xe2\x74\x06\x97\x62\x6d\x38\x30\x39\xcd\xfe\
+\xc9\x29\x0a\xae\x4f\x35\x6e\xb9\x63\xf5\xf9\x3d\xc0\x43\x80\xe2\
+\xc4\xaa\x80\x55\x1e\x3b\x95\x89\x64\xce\x8b\xe7\x9b\x01\x9c\x05\
+\xfc\xd9\xc6\x8d\xe7\xbc\xe5\xe6\x9b\x3f\xc6\xb5\xd7\xbe\x72\xf9\
+\x05\x21\x2c\xd8\x2b\x16\xf3\xcb\x1e\xef\xfb\x6e\x12\xee\x05\x52\
+\x8a\x65\xe5\xb7\xff\xd6\xda\x10\xc7\x0a\x63\x6c\xe8\x0f\x82\x08\
+\xa5\xec\xf3\xb6\x71\x64\x45\x08\x89\x52\x0a\x10\x48\xe9\xb0\x66\
+\x70\x0d\x75\x94\xb8\xf5\xbe\xef\x89\xf3\x2b\xbd\x0c\xf5\xf4\xdb\
+\x5e\x82\xd5\x44\x08\xc2\x30\xe2\xa1\x03\x47\x98\x5a\xac\x52\xf4\
+\x7c\x9a\x71\xc4\x8e\x85\xf1\x1a\xb6\x24\x9c\x63\x05\x0b\x3c\x96\
+\xc7\x3f\x56\x14\x78\x5e\x45\x80\xf3\x80\x3f\xbb\xf0\xc2\x8b\xde\
+\xf8\x7b\xbf\xf7\x07\x5c\x7b\xed\x2b\xc8\xe7\xbd\x04\xd5\xbb\x78\
+\x9e\xbb\x0c\xea\x40\xe0\x38\x16\xd5\xaf\x48\x1b\x64\xaf\x00\x41\
+\x63\x04\x41\x10\x12\x04\x11\x51\x14\xa3\x54\x8c\xd6\x8f\x8d\xea\
+\xa5\x74\xf0\x3c\x0f\x29\x5d\x1c\xc7\x61\x68\x70\x90\x23\x8b\x73\
+\xdc\xbf\xf5\x41\x5e\x77\xd6\x79\x38\xae\xbb\x7a\x75\x20\x04\xd5\
+\x66\x8b\x5b\x7f\xb0\x1d\x0d\x38\x08\x02\x15\xb1\x67\x71\xa2\x1c\
+\x6a\x75\x07\x70\x18\xdb\x8b\xd8\x56\x7a\x1b\x13\x64\xb9\x02\x58\
+\x3d\x0a\x2c\xff\xfd\x7c\x31\x80\x21\xe0\x33\x97\x5e\x7a\xf9\x8f\
+\xdd\x7c\xf3\x47\x79\xd9\xcb\xae\xa5\x5c\x6e\x7b\xba\x4f\x3e\xef\
+\x93\xcb\x59\x63\xb0\xc0\xce\xa0\x94\x41\x6b\x8d\xe3\xb4\x81\x9e\
+\x7d\xde\x06\x7c\xf6\x51\xd1\x68\x04\x34\x9b\x21\x4a\xa9\xd3\x52\
+\xbe\x8d\x20\xd6\xd0\xda\x2c\xa3\xef\xfb\xf4\xf4\x74\xb3\x65\xff\
+\x1e\xdd\xdd\x0c\xd9\x34\x34\xba\x2a\x28\x8c\xb5\xe6\xde\x5d\xfb\
+\xd9\x37\x39\x8d\x93\x44\xa4\x48\x2b\xf6\x2e\x1d\xaf\xd4\xe2\xe0\
+\x56\x60\x07\x90\xe3\x44\x85\x9f\x8a\x29\x34\xac\x1e\x09\x9e\x17\
+\x06\xb0\x0e\xf8\xf8\xd5\x57\x5f\x7b\xe3\x6f\xff\xf6\xcd\x5c\x7e\
+\xf9\xe5\x09\xaa\x77\x70\x5d\xb9\x5c\xc3\x5b\xb2\xc7\x49\x50\xbe\
+\x5c\xfe\x5b\x6b\x9d\x1c\x56\xb9\x5a\x2b\xa2\x28\x26\x08\x22\x5a\
+\xad\x88\x56\x2b\x40\x29\x7d\x5a\xca\xcf\x4a\xdb\x18\x1c\xc7\xa5\
+\x5c\x2a\x22\x7c\x57\xdc\xb3\xe5\x01\x71\x7e\xa5\xd7\x96\x87\x99\
+\x28\x60\x8c\x61\xff\xe4\x34\xdf\x78\x68\x3b\x52\xb4\x3f\xc3\x3e\
+\xee\x5c\x98\x60\x31\x6c\xdc\x87\x35\x80\xd3\x51\x3c\x9c\x1c\x01\
+\x4e\x3a\xff\x5c\x37\x80\x73\x81\x4f\x9c\x7d\xf6\x39\x3f\xfe\xd1\
+\x8f\xfe\xbf\x9c\x7b\xee\x79\x04\x41\x48\xab\x15\xd0\x68\x34\x59\
+\x5a\xaa\xb2\xb0\xb0\x48\xad\xd6\x20\x8a\x62\x60\x05\xdc\xb5\xf3\
+\xbd\x25\x7b\x64\xe2\xb5\xed\x92\x8f\xc4\x00\x02\xe2\x58\x9f\xc4\
+\x1b\x3c\x5e\x69\x33\x8d\x3d\x5d\x15\xee\xde\xf9\x88\x71\xab\x0d\
+\x71\x61\xdf\xd0\x32\xab\xd8\x96\x89\xb9\x05\x3e\xf7\xbd\x07\x89\
+\xe2\x74\x27\xb9\xc0\x95\x92\x5d\x0b\x13\xcc\x06\xb5\x1d\xd8\x86\
+\xd2\x90\x15\xdd\x9d\x8a\x0f\x78\x2c\x11\xee\x63\xff\x9f\x67\xad\
+\x5c\x05\xfc\x47\xa1\xe0\xac\xab\xd5\xc6\xd4\x2f\xfd\xd2\x5b\x8c\
+\x52\x4a\x28\x15\x8b\x28\xd2\xc2\x18\x3b\x2a\xe3\x79\x0e\x5d\x5d\
+\x5d\xf4\xf7\x0f\x70\xc6\x19\xeb\xf4\xe6\xcd\x97\x8a\x4b\x2f\x7d\
+\xb1\xb8\xf0\xc2\x0b\xe9\xef\xef\xa3\x54\x2a\xe2\xfb\x3e\xae\xeb\
+\x20\x84\xc4\x96\xfe\x3a\x01\x7e\xe6\x49\x2b\x1f\xac\x67\xbb\xae\
+\x47\x5f\xdf\x10\x2f\xbb\xe6\x1a\xbe\xf6\x85\x2f\xeb\x8b\x7b\x07\
+\xc5\x15\xeb\x37\x0a\xb4\x46\x29\xc5\xec\x52\x9d\x7f\xff\xde\x83\
+\x34\x82\xe0\xc4\xf7\x62\xf0\xa4\x43\xce\x71\x01\x06\x81\x0a\x76\
+\xfe\x81\x04\x2c\x29\x71\xf2\xa3\x60\xa5\x5a\x20\x39\x0f\x2b\x23\
+\x86\xcb\xe9\xe1\xb9\x6a\x00\x97\x01\x9f\xbe\xe0\x02\xd6\xdd\x74\
+\x93\x62\xdd\xba\xa6\x23\x25\x38\x0e\x78\x1e\xf8\x3e\xe4\xf3\xed\
+\x43\xe3\x38\xb3\xd4\xeb\xb3\xec\xd8\xb1\x5b\xde\x79\xe7\x6d\xfa\
+\x0b\x5f\xf0\xf1\xbc\x2e\x36\x6d\xba\xd4\xbc\xf5\x2d\x3f\x23\xcf\
+\xbf\xf0\x62\x06\x06\x87\xe8\xee\xee\xc6\x71\x1c\xb4\xd6\xf8\xbe\
+\x47\x1c\x2b\x82\x20\x7a\xca\x8c\xc0\xf3\x7c\xae\xb8\xec\xc5\xe2\
+\x8e\xbb\xef\x16\xdf\x3a\xb4\x87\x0d\x3d\x03\x38\x38\xec\x38\x36\
+\xce\xf7\x76\xef\xa7\xde\x6c\x75\x7c\xaf\x40\x90\x77\x7c\xb0\x13\
+\x53\x8a\x58\xef\x77\x58\x51\x7a\xfb\x10\xac\x18\x81\x49\x9d\x6b\
+\x1b\x4b\xda\x68\xe0\x39\x1a\x01\x5e\x0c\xfc\xed\xab\x5f\xcd\x85\
+\x7f\xfd\xd7\x70\xf6\xd9\xa7\xff\xc6\x37\xbc\x01\x3e\xf0\x01\x2d\
+\x1b\xcd\x16\x77\xdc\xd6\xe2\x96\x2f\xdd\xaa\x3f\xff\xa9\xbb\xe3\
+\x79\xb3\x56\x8c\x6e\xbe\x46\xbe\xfe\x75\x37\x70\xf1\xc5\x17\x89\
+\xd1\xd1\x51\x72\x39\x8f\x62\x31\x0f\x18\x5a\xad\xe8\x31\x3f\xfb\
+\x74\x44\x08\xc1\xe0\xe0\x08\x97\x5f\x72\xb9\xf9\xc7\xbf\xf8\xb4\
+\xd1\x0b\xa1\x94\x2d\x87\x7a\xd0\xc2\x91\x72\x99\x6e\xee\x24\x39\
+\xc7\x45\x40\xc5\x58\x86\xd3\xc1\x96\x82\x59\x03\xd0\x58\xcf\x4f\
+\x2b\x19\x56\x0c\x01\x4e\x4c\x0d\xe6\xb9\x86\x01\xae\x06\x3e\xf3\
+\xda\xd7\x72\xc1\xdf\xfd\x1d\xac\x5f\xff\xc4\x3e\xc4\xf3\x60\xd3\
+\x28\xbc\xe1\xa2\x35\xf2\x35\x3f\xf6\x0b\x8d\x73\xcf\x7b\x49\xfe\
+\x8e\xdb\xbf\xc1\x5f\xfd\xd5\x5f\x98\xed\xbb\xf6\xd3\xdd\xdd\x43\
+\x7f\xff\x80\x28\x97\x4b\xf8\xbe\x4b\x1c\xeb\x84\x02\x7e\xf2\x22\
+\xa5\xcb\x40\xff\x80\xf9\xca\xb7\xbf\x21\x0e\xee\x3b\x24\xd6\x96\
+\xfb\xf0\x1c\xf7\x94\xca\x97\x42\x70\xa4\x36\xc7\x91\xda\xec\xac\
+\xc6\xdc\x09\xcc\x73\xe2\xe8\x60\xba\x14\x6c\x4b\xa7\x0f\x34\x99\
+\xc7\xe7\x14\x11\xf4\x32\xe0\x33\x37\xdc\xc0\xe6\xbf\xfd\x5b\x58\
+\xbb\xf6\x09\x7e\x4a\x84\x1d\x5c\x9d\x38\x23\xa0\xeb\x17\xe2\xe2\
+\x39\xef\x2e\x9e\x3d\x9a\xe3\x67\x5f\x9e\x13\x17\x9e\xd5\x2d\xee\
+\x7d\xe0\x41\x3e\xf3\x4f\xff\xae\x14\xae\x1c\x19\x1e\x65\x60\xa0\
+\x1f\xdf\x77\x96\xc9\xa0\x93\xab\xaa\xc7\x27\x42\x08\x7c\xdf\x9d\
+\xdb\xf1\xc8\xc3\xe6\xc1\x9d\xdb\xfc\x8d\xa5\x41\xca\x7e\xfe\x94\
+\xef\x71\x84\xe4\x70\x6d\x96\xc3\xd5\x99\x39\x8d\xb9\x83\x15\x32\
+\x28\x3b\x2e\x90\x95\xf6\xc5\xae\x9a\xc3\x9e\x2b\x06\xf0\x0a\xe0\
+\x6f\xde\xf8\x46\xce\xfd\x9b\xbf\x81\x91\x91\x27\xf8\x29\x2d\xe0\
+\xa8\x80\xb9\x33\x43\x86\x7f\x05\x86\x7f\x39\x4f\xbd\x05\x87\x6f\
+\x81\xe6\x04\x9b\x37\x0f\xf1\x7f\xbd\xe6\x3c\x11\xab\xd8\x7c\xe6\
+\xb3\x5f\x14\xbb\x0f\x8c\x8b\x73\x36\x9e\xc3\x99\x67\x9e\x99\x8c\
+\x0e\x8a\x84\x19\x7c\xe2\x3f\xc4\x75\x3d\x0e\x1e\xdc\x77\xa4\x5e\
+\xaf\x16\xee\xdb\xfa\x50\xa1\x2b\x76\x18\x2e\xf6\x9c\x32\x02\x38\
+\x42\x72\xa8\x3e\xc3\xa1\xda\xcc\x8c\x36\xe6\xbb\x9c\xcc\x06\xb6\
+\xe5\x84\xf0\x7e\x3a\x8f\xcf\x05\x03\x78\x15\xf0\x97\x37\xde\xc8\
+\xe6\xbf\xfc\xcb\x27\xa1\xfc\x00\x38\x22\x60\x61\x7d\xc8\xf0\xbb\
+\x60\xf0\x1d\x39\x54\x11\x8e\x7e\x09\xe6\x1f\xb5\xf5\x5f\xac\x70\
+\x1d\xc1\x2b\xaf\x3e\x53\x6e\x5a\xdb\x23\xbe\x7a\xeb\x3d\xdc\x7a\
+\xe7\x43\xe6\x82\xf3\xce\xe3\xac\xb3\xce\x16\x9e\x67\xcb\xc5\x28\
+\x52\x49\xdf\xe0\xe3\x8f\x04\xae\xeb\xb1\x7d\xfb\x0f\x9a\xc6\xa8\
+\xe2\xc1\x83\x07\x73\xe3\xc7\x27\xd9\xdc\x35\x8c\x2f\x57\x57\x85\
+\x23\x24\x07\xaa\x53\x1c\xaa\xce\x1c\xd7\x98\xbb\xb0\x29\xa0\x8d\
+\xdf\x56\x9a\x19\x3b\x4b\xb6\x02\x38\xa1\xe7\xfd\xa9\x6a\x6b\x7d\
+\xba\xe4\x7d\xc0\xbf\xfe\xd6\x6f\xb1\xf9\x9f\xff\x19\x46\x47\x9f\
+\xe0\xa7\xb4\x80\xbd\x8e\x21\x7a\x71\x93\x73\xfe\x08\x46\xdf\xeb\
+\x13\x49\x38\xf8\x6f\x30\x71\x0f\x84\x4d\x6b\x00\x51\x00\x61\x0b\
+\x6a\x75\x6e\x7a\xf9\x19\x7c\xe5\x4f\x6e\xe4\xa5\xeb\x17\xc4\xdb\
+\x7e\xf6\x67\xf4\xdf\xff\xfd\x67\x8c\xe7\xf9\x94\xcb\x05\xba\xbb\
+\x4b\xa7\xf4\xd8\xd5\xc4\x75\x5d\x26\x27\x8f\x8d\x1d\x3f\x3e\x51\
+\x6e\x34\x1a\x95\xab\x5f\xf2\x52\xa6\x69\xb1\x10\x36\x38\x95\x0e\
+\x05\x82\x40\xc5\xc4\x46\x37\x92\x53\x1e\xd6\x00\xda\x8f\xed\xc3\
+\xc1\xea\xf4\x74\x8e\x67\x3d\x15\xfc\x6b\xc0\x47\x7e\xfb\xb7\x19\
+\xfc\xd0\x87\xa0\x52\x79\x12\x9f\x34\xe5\x41\xf4\xd2\x26\xc5\xff\
+\xea\x33\xf2\x56\x8f\x56\x15\x8e\x7c\x05\x26\xee\x02\x42\x90\x2e\
+\x84\xc9\xbd\x55\x31\xb8\x3e\x20\xa9\xf4\x55\x78\xe9\x85\xc3\xd4\
+\x6a\x0b\xfc\xd9\xdf\xdf\x62\xfa\x7a\x7b\xc5\xe5\x97\x5f\x29\x1c\
+\x47\x2c\xf7\x02\x3c\x9e\x12\x51\x4a\x87\x47\x1e\x79\xa8\x7e\xf8\
+\xf0\xa1\x02\xe0\xf7\xf5\xf5\xf1\xd0\xb6\x87\xe9\x8a\x1d\x86\x0a\
+\xdd\xab\x1a\x95\x23\x25\xdb\xe6\x8e\x32\xd1\x58\xd8\x0d\x3c\x80\
+\xe5\x01\xd2\xba\x4b\xd3\xbe\xd9\x0b\x32\x99\xf3\xe9\xe7\xcf\xda\
+\x2a\xe0\x37\x81\xdf\xf8\xdd\xdf\x65\xe0\x03\x1f\x78\x92\xca\x9f\
+\xf5\xa0\x7a\x79\x93\xfc\x7f\xf3\x18\xf9\x69\x0f\x1d\xc3\xe1\x2f\
+\xc3\xd1\x6f\x83\x63\xc0\xf1\x20\x57\x00\x2f\x0f\x5e\xce\x92\x09\
+\x5a\x81\x8a\x20\x8a\x28\xb8\x9a\x97\x9c\xd3\x2d\xa2\xb0\xc5\x9f\
+\x7c\xe6\x56\xd3\x55\xa9\x88\xcb\x2f\xbf\x42\x48\x69\xec\x24\x60\
+\x75\x7a\x4c\xa1\xef\xfb\xcc\xcd\xcd\x2c\xde\x7f\xff\x3d\x5a\x6b\
+\xd5\x2b\xa5\x24\x9f\xcf\x73\xf4\xc8\x11\xdd\x9a\x5b\x14\x67\x95\
+\x07\x90\x1d\xe6\x19\xb4\xdb\x12\xb6\xce\x1e\x61\xba\x55\x7d\x18\
+\x3b\x24\x1c\x71\x72\xc8\x68\x73\x00\x70\xa2\x11\x98\x0e\xc7\xb2\
+\x3c\x1b\x0d\xe0\x7f\x03\x1f\xfc\xd8\xc7\xe8\x79\xdf\xfb\xa0\x5c\
+\x7e\x02\x9f\xd0\xfe\x99\xaa\x00\x07\xce\x89\xc8\xbd\xcb\x61\xed\
+\x4f\x7b\x38\x12\xc6\xbf\x03\xd3\x77\x81\x6a\x01\x32\x09\xfd\x91\
+\x7d\x43\x1c\xda\x09\x9c\x60\x0d\xc1\x71\x40\xba\xe4\x8a\x39\xae\
+\xbc\x60\x48\x34\x9a\x55\xfe\xe0\xcf\xbf\x64\x4a\xc5\x02\x2f\x7b\
+\xd9\xcb\x84\x6d\x16\xd1\xc4\xf1\xa9\x4b\x44\xc7\x71\x68\x36\x1b\
+\xf5\x87\x1f\x7e\x70\x66\x6c\xec\xe8\x88\xeb\xba\xb2\x3d\x4e\x10\
+\x04\x01\xe3\x47\x8e\x8a\x4d\xa5\x35\xb8\x1d\x70\x80\x14\x82\x50\
+\xc5\x6c\x9d\x3b\xc2\x7c\x50\xbf\x07\x3b\x73\x28\x8d\xee\xd3\xde\
+\x9f\xbd\x03\x69\x76\xb0\xe3\xf1\x6c\x23\x82\x7e\xd6\x75\xf9\xc0\
+\xc7\x3f\x4e\xe9\x5d\xef\xb2\x4c\xde\x69\x4b\xda\xb6\x05\x20\x8a\
+\xf0\xe8\x3a\x45\xf9\x3d\x92\x33\xde\xea\x60\x02\x38\xf8\x4d\x98\
+\xbc\x13\x08\x2d\x5d\x88\x48\xc2\x3d\x49\xdf\x9e\x49\xa6\x72\x6b\
+\x8b\x05\x54\x13\xc2\x00\x84\xa0\x9c\x2f\xf0\x81\xb7\x9c\x2d\x6b\
+\x4b\x4b\xe6\x0f\x3f\xfe\x47\xe6\xe5\x2f\x7f\x39\x17\x5f\x7c\x09\
+\x4a\xd9\x9e\x81\x30\xec\xbc\x12\x8c\x55\x72\x18\xec\xdc\xf9\xe8\
+\xfc\xee\xdd\x3b\x86\x3d\xcf\x73\xda\xa1\xde\xf7\x7d\x06\x07\x07\
+\xc5\x43\x52\x9f\x62\x56\x87\xa0\xa9\x22\x9a\x71\x08\x16\xfd\x87\
+\xd8\x7c\x9f\x26\x7b\xd2\x0d\xa3\xa4\xfe\x4e\x0f\x18\x75\x94\x67\
+\x4b\x04\x70\x80\x5f\xf4\x3c\x3e\xf1\xa9\x4f\x51\x79\xe7\x3b\x21\
+\x97\x7b\x9c\x9f\x10\xb1\x12\x18\x9d\x3c\x6c\x3f\x53\x51\xf9\x75\
+\x38\xf3\xc7\x1d\x4c\x0b\x26\x6f\x83\xa5\x87\x41\xc4\xe0\xe6\x6c\
+\xde\x47\x40\xd0\x84\xa0\xb1\x02\x00\xdb\xd1\xc0\x68\xf0\x0b\x50\
+\xac\x40\xa1\x02\x7e\x81\x5c\xb9\xcc\x8b\x36\x0d\x8a\xfd\xfb\x0e\
+\x8a\x6d\x87\x9a\xbc\xf8\xaa\x2b\xa8\x54\x4a\x44\x91\x6d\x11\xcb\
+\x8a\x10\x82\x28\x8a\xc2\x1d\x3b\x1e\x9d\x7a\xf0\xc1\x7b\xfb\x5d\
+\xd7\x2d\x4a\x29\x59\x5c\x5c\xa4\xd9\x6c\xe2\xfb\x3e\xf3\xf3\xf3\
+\x3c\xbc\x6d\x1b\x97\x56\xd6\xe2\x75\x88\x00\x8e\x10\xcc\xb6\x6a\
+\x6c\x9d\x3d\x1c\xb4\x54\x74\x1b\x30\xc6\x4a\x05\x00\x27\x33\x7e\
+\xed\x73\x59\x86\xb0\x63\x44\x78\x36\x44\x80\x1c\xf0\x8b\xc5\x22\
+\x7f\xfa\xee\x77\xe3\xbd\xf3\x9d\x4f\xf0\x53\x7c\x92\x9f\x94\x83\
+\x47\x37\x28\xba\x7f\x07\x86\x5f\xe3\x60\x42\x38\x76\x0b\x4c\x3d\
+\x08\x71\x0d\x74\x6c\x15\x1d\x87\x50\xec\x06\x84\xcd\xfd\xae\x07\
+\xd2\xb3\xe3\xaf\x02\x6b\x10\x2a\x86\xa8\x0e\x71\xf2\x9e\xb0\xc9\
+\x70\xa5\xc4\xfb\xde\x7c\x0e\x6f\xfb\xc3\xcf\x9a\x2b\xaf\xb8\x9c\
+\x9f\xfb\xd9\x9f\x11\xb9\x9c\xb7\xdc\x33\x90\x96\x56\xab\xd9\xdc\
+\xb2\xe5\xde\x63\x7b\xf6\xec\x5a\xef\x38\x8e\x6f\xfb\x0f\x1c\xe2\
+\x38\x66\xef\xde\xbd\xec\xdf\xbf\x1f\xcf\xf7\xa9\xb7\x9a\xab\x46\
+\x00\x21\x04\x0d\x15\xb0\x18\x36\x8f\x00\x8b\xac\x20\x7d\xc3\x0a\
+\xa2\x6f\xd7\xa4\xab\x11\x42\xab\x9d\xe7\x99\x36\x80\x22\xf0\xae\
+\xae\x2e\xfe\xf8\xbd\xef\x45\xdf\x7c\xf3\x93\xfc\xb4\xc0\x81\x3d\
+\x1b\x34\x6b\x7e\x4f\xd0\x7f\x95\xa4\x39\x05\xe3\x77\xc2\xd4\x7d\
+\x20\x94\xf5\x7a\x37\x07\xf9\x2e\xab\x68\xad\x20\x8e\xac\x51\x54\
+\x67\xad\xf7\x4b\x09\x42\xda\xf3\xe5\x1e\x9b\x22\xbc\x02\x14\xbb\
+\xc0\x71\xc1\x68\x2e\xbf\xb4\x9b\xd7\xbf\xe8\x80\xf9\x97\x7f\xfa\
+\x8c\x39\x63\xed\xa8\xbc\xf2\xca\x17\x8b\x54\x6f\x81\x89\xe3\x38\
+\x9e\x9b\x9b\xad\xde\x71\xc7\x37\x8e\x37\x9b\xc1\xf9\x52\xda\x12\
+\x70\x7e\x7e\x9e\x30\x0c\x71\x5d\x17\xad\x35\xe3\xe3\xe3\x8c\x8e\
+\x8e\xa2\x4d\x96\xba\x5f\x91\xd8\x68\xe6\x5a\x35\x34\xe6\x30\x2b\
+\x06\x70\x2a\x65\xb7\xe5\xb1\x5e\x07\x9e\x59\x03\x28\x03\xbf\xd2\
+\xdf\xcf\x1f\xfe\xda\xaf\xa1\x3f\xf2\x91\x27\xc1\x49\x68\x60\x1a\
+\xc3\xb1\x61\xcd\xf0\xaf\x43\xdf\xc5\x0e\x8d\x19\x98\x7e\x08\x96\
+\xb6\x41\x3e\x67\xbd\x58\xc5\x10\x85\x56\xe1\x51\x08\x71\x13\xdc\
+\x04\xfd\xe7\x0a\x50\xea\x05\x3f\xbf\x02\x04\x4d\x92\x0a\xb4\xb6\
+\xc6\xd2\xaa\x41\xb3\x0a\x39\x9f\xf7\xbc\xed\x32\xf9\x73\x37\xdf\
+\xc9\x6d\xb7\x7f\xd7\x6c\xda\x74\xae\x6a\xb5\x22\xa3\x35\xaa\xd5\
+\x6a\xc5\xf7\xdd\x77\xd7\xfe\x89\x89\xa3\xe7\x68\xad\xcf\x3f\x7c\
+\xf8\x30\xf9\x7c\x9e\xa1\xa1\x21\xe2\x38\x66\x6c\x6c\x8c\xbe\xbe\
+\x3e\x84\x10\x84\x61\x68\xdb\xcf\x56\x29\xff\xa4\x10\x2c\x85\x4d\
+\x8e\xd6\xe7\xc0\xb6\x82\x2d\xb2\x92\xff\x57\x6b\x00\x39\x15\x57\
+\x7d\x92\x51\x3c\x53\x06\x50\x06\xfe\xfb\xe0\x20\x1f\xfd\xe0\x07\
+\x31\x1f\xfa\xd0\x93\x24\xa4\x62\x0c\x8b\x7d\x11\x23\xef\x11\x74\
+\x6d\x70\x99\xdb\x0f\xd3\xdb\x61\xe6\x07\x50\x9f\x85\x5c\xd1\x96\
+\x7b\x9e\x67\x91\xbd\xeb\x5a\x45\xd3\x6d\xdf\xef\xe7\xec\xeb\x06\
+\x6b\x1c\x71\xb8\x42\x0c\xc5\x21\xb4\xea\x36\x62\xe4\x8a\xd0\x3b\
+\x0c\x6e\x8e\x73\x86\x5d\x6e\x7a\xc5\xd9\xfa\x4f\xff\xe6\x13\x71\
+\xd0\x5a\x5a\xe8\xee\xee\xd1\xae\xeb\x4f\xb7\x5a\xf5\x75\xb9\x5c\
+\xee\x92\x5c\x2e\x47\xb3\xd9\xa4\xd5\x6a\x71\xf4\xe8\x51\x94\x52\
+\x54\x2a\x15\xea\xf5\x3a\x9e\xe7\x21\x84\x20\x8e\x63\x82\x30\xc0\
+\x93\xe9\xf9\x1e\x2b\x22\x80\xe9\x56\x95\x7d\xd5\xe3\x75\xe0\x68\
+\x72\xba\x3d\x0c\x0c\x27\xc2\xde\x6c\x15\xd0\x49\x4e\x3a\xff\x4c\
+\x80\xc0\x12\xf0\xde\xc1\x41\x3e\xfa\xe1\x0f\x63\x3e\xf8\xc1\x27\
+\x31\xb2\x02\x16\x13\x8f\x15\x43\xba\x7f\x0f\x0a\xeb\x7c\x66\xc6\
+\x05\x53\x3b\xa0\xba\xd7\xae\xe8\xd5\x35\x00\xa5\x1e\xab\xbc\x76\
+\x9d\xad\x23\x7b\x2b\x72\x25\x1b\xd6\xb5\xb6\xd1\x21\x0e\xad\x97\
+\x07\x0d\x68\x35\xec\xf3\x42\x19\xca\xbd\x50\xee\xb3\xff\x5f\x48\
+\x7b\x3e\x8e\xd9\xbc\x61\x40\x7c\xf5\xce\xdd\xce\xd1\xe3\xcd\xd2\
+\x86\x0d\xeb\xca\x13\x13\x63\x43\xbe\xef\xe7\x95\x52\x04\x41\x80\
+\x31\x86\x20\x08\x98\x9a\x9a\x22\x8a\x22\x7c\xdf\x67\x61\x61\x61\
+\x59\xf9\x0b\x0b\x0b\x04\xad\x90\xd6\x52\x95\xcb\x7a\xcf\x3c\x01\
+\x04\x4a\x04\xd5\xb8\xc5\x3d\xc7\xf7\x70\xb4\x3e\xbf\x13\xf8\x26\
+\x27\x36\x7e\xb4\x87\x7d\xb3\xc3\xc0\xd9\xe7\x8a\x13\xc1\x5f\x1a\
+\x14\xfe\xd0\x23\x40\x01\x78\xcf\x9a\x35\xfc\xfe\x6f\xfc\x06\xe6\
+\xfd\xef\x7f\x92\xca\x8f\x31\x8c\x95\x42\xea\x6f\xd7\x0c\xbd\xb4\
+\x40\x7d\x11\xe2\x49\x90\x55\x68\x4f\xc9\x8a\x93\xd9\x40\x2a\xb6\
+\x94\xaf\x74\x2c\xe9\x03\xf6\xb5\x20\x51\xb4\x90\x16\x23\x78\x3e\
+\xe4\x7a\x2c\x28\xd4\x1a\x8c\x6d\xf1\xc6\xa8\xc4\x50\x22\x1b\x11\
+\x1c\x97\xc1\x33\xfb\xb9\xe1\x9a\xb3\xf4\x5f\xff\xe7\x6e\xb1\x6b\
+\xd7\xa8\xa8\xd7\xeb\xcc\xcf\xcf\x2f\x7b\xfa\xfc\xfc\x3c\x1b\x36\
+\x6c\xc0\x71\x1c\xe6\xe6\xe6\xc8\xe7\xf3\xe8\xa4\x03\x28\x8a\x22\
+\x5c\xd7\xa5\x5a\xaf\x9a\xa2\xf0\x85\x4c\xdd\x0a\x81\x20\x34\x31\
+\x3f\x98\x39\xcc\xc3\x73\x47\x17\x80\xef\x62\x57\x1f\xed\x34\xdc\
+\x9b\xad\xed\x4f\x59\xf7\x67\xdf\xfb\xc3\x8c\x00\x39\xe0\x7d\xbd\
+\xbd\x7c\xec\xc3\x1f\xc6\x7c\xe0\x03\x4f\x52\xf9\x01\x86\x23\x6b\
+\x42\xa2\xf7\x68\xce\x7e\x7b\x8e\x56\x4d\x30\xb3\x1d\xea\x07\x40\
+\x07\x56\xb1\xcd\x2a\xd4\xe7\x92\x25\xde\xb4\xfd\xf9\xad\xfa\x0a\
+\x16\x40\x5b\x90\x57\xea\x81\x52\x77\x92\xff\x25\xa8\xd0\x1a\x8b\
+\x36\x56\xe1\x18\x9b\x02\x54\x64\xcf\xe5\x4b\x36\xa2\x20\x59\x53\
+\x40\x7c\xe1\xb6\x9d\xa2\x1e\xf9\xa8\x38\xa2\xd1\x68\xd0\x68\x34\
+\x28\x97\xcb\x6c\xdd\xba\x15\xdf\xf7\x31\xc6\xb0\xb4\xb4\x84\xe7\
+\x79\x44\x51\x44\x2e\x97\x23\x08\x02\x0a\x85\x02\xe3\x13\x13\x66\
+\x80\xbc\xd8\xdc\x3d\x82\x93\x98\x81\x32\x9a\x07\x67\x0f\x73\xfb\
+\xd8\x8e\x50\x63\xbe\x06\xdc\x86\x8d\xd6\x59\x2f\xce\x7a\xba\xca\
+\x3c\x4f\x47\x80\x4e\x51\xe0\x87\x16\x01\x7c\xe0\xbd\x5d\x5d\xfc\
+\xde\x87\x3f\x0c\x1f\xfa\xd0\x93\x54\x7e\x0b\xd8\xd5\x17\x23\xde\
+\x0d\xe7\xbf\x23\x4f\x38\x23\x38\x72\x07\x2c\xee\x03\xa1\x6d\x9b\
+\x43\x7d\xde\x7a\xac\xe7\x5b\xe5\x19\x01\x9e\x0b\x5e\x8f\xad\xef\
+\x65\x42\xf9\xea\x18\xe2\x00\x9a\x8b\x2b\x1d\xa1\x5a\xd9\xf7\x14\
+\xbb\x93\xd2\x10\x40\x82\x5f\xb4\xdf\xaf\x63\x10\xd0\x5c\xa8\xd1\
+\xed\xeb\xa5\xcd\xeb\xfa\x73\xdb\x27\x26\x7d\xd3\xbb\x46\x08\x60\
+\x7e\x7e\x9e\xbe\xbe\x3e\xd6\xad\x5b\xc7\xe1\xc3\x87\x19\x19\x19\
+\x21\x8a\x22\xea\xf5\x3a\x60\xc9\x21\xdf\xf7\x29\x14\x0a\xd4\x1b\
+\x0d\xd1\x5f\x1e\xa0\x1d\x01\x34\xb0\x75\xee\x28\xb7\x1f\xdb\x1e\
+\x47\x46\xdd\x0a\xdc\xc2\x8a\xf2\xa1\xb3\x57\x67\xbd\x3e\xfd\x9c\
+\x55\xce\x01\x3f\x1c\x03\xe8\x05\xfe\xf8\x8c\x33\xf8\x85\x4f\x7d\
+\x0a\x6e\xba\xe9\x49\x7e\xda\x02\xf0\xc8\x86\x90\xd2\xfb\x24\x9b\
+\xdf\x94\x63\xfa\x07\x70\xf4\xbb\xd0\x18\x07\x47\x82\xf0\x6c\x38\
+\xef\x1a\xb4\x80\x4f\x24\x94\xae\x31\x09\xf2\x0f\xa1\x36\x6f\x01\
+\x9e\xe3\x26\xc6\xa1\xed\xa3\x97\x87\x9c\x9f\x70\x02\xed\x8e\xab\
+\xc4\x56\x83\x3a\xd4\x17\x2d\x71\x24\x0d\x93\x75\x97\xf1\xc3\x63\
+\xb5\xfe\x35\xa3\xc1\x7f\xbb\xf1\xa2\xe2\x5f\xff\xcb\xdd\x62\x22\
+\x2e\xd1\x52\x0e\x8d\x66\x93\xc9\xc9\x49\x86\x86\x86\x38\x7a\xf4\
+\x28\x71\x1c\x13\x86\x21\xd5\x6a\x95\xc1\xc1\x41\x7a\x7a\x7a\x58\
+\x5a\x5a\xa2\xd9\x6c\x12\xc5\x91\x58\x5f\xee\xc7\x91\x96\x96\xbe\
+\x7d\x62\x07\xf7\x1e\xdf\x17\xc4\x46\x7f\x16\xb8\x9b\x13\x7b\xfd\
+\xda\xb2\x5a\x24\xc8\xe2\x80\xc7\x24\x83\x9e\x6e\x03\xe8\x05\xfe\
+\x68\x68\x88\xb7\x7f\xf2\x93\x4f\x81\xf2\x6b\xc0\x96\xc1\x80\xfc\
+\x4f\x3b\x9c\xff\x16\x97\xf0\x30\xcc\x6e\x05\x35\x0f\xa5\x2e\xeb\
+\xd5\xd2\x59\x01\x7b\xed\xe5\xde\x1a\x55\x0b\xee\xa4\x9b\x28\x57\
+\x5a\xe5\x3b\x09\x1e\x68\x2b\x5c\xc8\x95\x46\x7c\x8c\xa5\x81\x5b\
+\x55\xcb\x09\xa8\xc8\x46\x06\x09\x8d\xf9\x2a\x3b\x76\xce\xd4\x87\
+\x7a\xcb\xda\xcb\xe5\x07\x5e\x72\x6e\x49\x7c\xbd\x1b\x53\x6d\x68\
+\xd1\xd2\x36\xab\x2e\x2e\x2e\x52\x2e\x97\x29\x95\x4a\x78\x9e\x5d\
+\x7c\xc2\xf7\x7d\xd6\xae\x5d\x4b\x77\x77\x37\x4b\x4b\x4b\xcc\xce\
+\xcd\x51\x72\x72\xf4\xe4\x8a\x38\x42\xf2\x9d\x89\x9d\xdc\x37\xb5\
+\x5f\xc7\x46\xff\x07\x70\x1f\x2b\x54\x6e\xbc\x72\x51\x27\x28\xb1\
+\x93\x62\xb3\x1d\xc2\xab\xe1\x02\xe0\xe9\x8d\x00\xfd\xc0\xc7\x87\
+\x87\x79\xfb\xa7\x3f\x8d\x78\xd3\x9b\x9e\xe4\xa7\xc5\xc0\x83\xbd\
+\x01\xfc\xb8\xc3\xe5\xff\xcd\x45\x4c\xc1\xdc\x2e\x08\xa7\x21\x5f\
+\x5e\x19\x36\x0b\x1a\x36\xcf\xc7\x91\x55\xac\xeb\xdb\xe5\x5a\x0b\
+\x5d\x36\xb7\x07\x75\xa8\xf4\x40\xbe\x68\x7b\x62\x65\x5b\xe9\x49\
+\x24\x08\x5b\x2b\xf8\xc1\x49\x5e\x77\x3d\x6b\x00\xc2\xd0\x58\x6a\
+\xf0\xc0\xa3\xe3\x51\x77\xb9\x5b\xf7\x0c\x8e\x96\xa5\x57\x10\x45\
+\x47\xb1\x7e\xb0\x60\x8e\x1c\x8b\x85\x08\x3c\x00\x6a\xb5\x1a\xb3\
+\xb3\xb3\xe4\xf3\x79\x2a\x95\x0a\x71\xd2\xeb\xdf\xfe\xdb\x18\xc3\
+\xd8\xd8\x98\x19\xf6\x2a\xa2\xe8\xe6\xb8\xeb\xf8\x6e\xee\x9d\xda\
+\x4b\xa4\xd5\xe7\x80\xef\x25\xbf\xba\xad\xfc\x4e\x4a\xcf\xe6\xfa\
+\x4e\xff\x27\x6b\x20\x27\x0d\x0b\x3f\x5d\x06\x90\x03\xfe\x64\x64\
+\x84\x9f\xfb\xd4\xa7\x10\x6f\x79\xcb\x53\xf0\x89\x77\x77\x07\x38\
+\x3f\x2f\x78\xc9\x3b\x5d\xfc\x06\x4c\x6c\x85\xe9\x6d\x10\xd6\x57\
+\xe8\xdd\x76\x5e\xf7\xf2\x50\x2a\xae\xb0\x7a\x52\xda\x54\xa0\x3c\
+\xcb\x04\xba\x39\x7b\x5e\x6b\x88\x5a\x56\xb9\x61\x62\x1c\x42\x82\
+\x30\xd6\x60\xa4\x80\xda\x02\xe4\x04\x14\x2b\x44\x11\x6c\x3b\x34\
+\x13\x35\x9b\x34\xce\xdd\x34\x50\xf1\x3d\x57\x36\xaa\x0b\x78\x39\
+\xc9\xe5\x6b\x73\xf2\xe8\x5c\xdd\x8c\x37\x0a\x22\x19\x03\x20\x08\
+\x02\x72\xb9\x1c\xb5\x5a\x0d\xcf\xf3\x70\x5d\x3b\x57\xb0\x5a\xad\
+\xd2\x68\x34\x58\xac\x55\xc5\x35\x03\xe7\xb1\x65\xe6\x20\xf7\x4c\
+\xee\xa1\xa9\xa2\x2f\x00\xf7\xb0\xa2\xf4\x74\x09\x97\x2d\xe7\xda\
+\xcf\xe1\x44\x00\x98\x7d\xdf\x6a\x11\x02\x78\x7a\x22\x40\x01\xf8\
+\xb5\x75\xeb\xf8\xbf\x3f\xf1\x09\x78\xd2\x9e\x0f\x70\x4f\xa5\x45\
+\xfc\xd3\x0e\x97\xbe\xd3\xc5\x0d\xe0\xe0\xb7\xe0\xe0\xfd\x10\x35\
+\xad\x97\x96\x7a\x2d\x8a\x97\xc9\xcf\x69\x2b\xfe\x04\x7e\xc4\x24\
+\x58\x40\x27\x11\x22\xc1\x03\x5e\x61\x05\x07\x14\xba\x2c\x21\x14\
+\xd6\x93\x70\xef\x42\xa5\x17\x72\x25\x94\x36\xec\xde\x73\x38\x9e\
+\x5b\x6c\x35\x2e\x38\x7b\xa8\x1c\x23\xa4\x89\x41\xc6\x2d\x72\xf1\
+\x3c\xb9\x9c\xc3\x70\xae\x49\x18\xb4\x96\xe7\x16\x14\x0a\x05\x46\
+\x47\x47\x99\x9e\x9e\xc6\x71\x1c\x72\xb9\x1c\x4a\x29\x5a\xad\x16\
+\x73\x73\x73\x14\xa4\xcb\x58\x7d\x81\xdd\x4b\x13\xd4\xe3\xf0\xab\
+\xac\x28\x3f\x0d\x92\xd3\x0a\xcc\x22\xfb\xd5\x50\x7f\x36\x32\x74\
+\x02\x80\x4f\x4b\x04\x28\x03\x1f\xec\xe9\xe1\x7f\xfc\xf9\x9f\xc3\
+\x0d\x37\x74\xa2\xa3\x4f\x02\xa2\xa7\x96\xad\xe5\x3a\x73\xd7\x79\
+\x5c\xfd\x4b\x1e\x6e\x08\x47\xbf\x01\xc7\xf7\xda\xd2\xcd\x5d\x93\
+\x90\x9b\x4e\x2a\x77\x67\xbf\x2b\x91\x38\x86\xc6\x82\xad\x04\x1c\
+\x3f\x21\x75\x9c\x24\xcb\x7a\x90\x73\x20\x6e\x41\x2b\xe1\x0a\xf2\
+\x85\x64\xd4\xd0\x7e\xf6\xec\xd4\x6c\x74\x7c\x6a\x61\xf1\xc2\xb3\
+\x06\x7b\xca\xf5\x09\xa7\x11\xf9\x38\x71\x1d\x27\xa8\x61\xca\x65\
+\xf2\xbe\x4f\x8f\x1b\x81\x8e\xd0\xc2\xae\x3a\x52\x2c\x16\xe9\xea\
+\xea\xe2\xc8\x91\x23\x74\x77\x77\x93\xcf\xe7\xa9\xd5\x6a\xb4\x5a\
+\x2d\xc6\xc7\xc7\x8d\x13\x1b\xb1\xbd\x39\x46\x53\x85\xb7\x60\x6b\
+\xfd\x30\x75\xe1\x69\xcf\x4f\x83\x3b\xd5\xe1\x58\x8d\x10\x5a\xad\
+\x22\x58\x7e\xfe\x54\x1a\x40\x0e\x78\xe7\xc0\x80\xf8\x9d\xdf\xfa\
+\x4d\xc1\x0d\x2f\x91\xb0\xd7\x45\xb5\x72\x81\x09\xbb\x1b\x46\x95\
+\x5b\x26\xca\xc5\x26\x5f\x88\xc5\x99\xb1\x70\x7a\x0f\xad\x71\xdc\
+\x5a\x09\x1d\x1b\xdb\x96\x85\x38\xc9\x56\x76\xe7\xaa\x1c\xbc\xca\
+\xe3\xca\x5f\xf2\x91\x4b\x30\x73\x18\xaa\xc7\x93\xfc\xdd\xc9\xb0\
+\x12\x83\x8b\x02\x0b\xfa\x8c\x59\x51\xb8\x4c\xe8\xdf\xa0\x09\xba\
+\x69\x07\x77\x7c\xdf\x62\x85\xfa\xbc\x8d\x0e\xf9\x12\xe4\x2b\xc9\
+\xa0\x8f\x80\xa0\x8a\x09\x9a\x4c\x4d\x57\xe3\xfd\x47\x67\x97\x36\
+\xf4\xe4\x7b\xbb\xa3\x19\x67\xc9\x2d\xd9\x28\x13\x46\x04\xa1\x41\
+\xe4\xfa\x29\xe5\xa7\x28\xf8\x8a\x82\xef\xd0\x68\x58\xd6\xaf\x52\
+\xa9\x50\xab\xd5\x92\xb9\x81\x2e\xa5\x52\x89\x7a\xbd\xce\xe2\xe2\
+\x22\x8d\x46\x43\xd4\x5b\x75\x80\x5b\x81\x3b\xb0\x6d\xab\x59\xc5\
+\x67\x15\x1b\xa7\x8e\x4e\xde\x9e\x35\x98\x34\x07\x70\x12\x00\xe4\
+\x29\x8e\x00\x17\x77\x95\xfc\x8f\xfc\xd2\x4d\x97\x2f\xfc\xf2\xcb\
+\x5e\x5e\x5d\x3c\x38\x50\xa6\x38\x50\x92\xc5\x42\x4e\x14\x64\x4e\
+\x48\x89\x31\xda\xe0\xe6\x31\x0d\x10\xc7\x27\x8c\x69\xcd\xcc\x99\
+\x4a\x34\xe9\x15\x76\xc7\xae\xba\x6b\x9d\x1c\x9c\xeb\x76\xfc\xc0\
+\x52\x61\x0b\xde\x2c\x47\x5f\xe1\x72\xe5\x3b\x7d\x0a\x02\x26\xef\
+\x85\xe6\x94\xcd\xf7\x98\xe4\x67\x08\x4b\xeb\x36\xdb\xa0\xcf\xb1\
+\x21\x5c\xba\x2b\xa3\x77\x69\x03\x31\x06\x0a\x49\x49\x18\x36\x2d\
+\x06\xc8\x15\xa0\x67\x30\x19\x00\x4a\x06\x7f\x82\x06\xb4\x9a\xe8\
+\xfa\x22\x0b\x2d\x1d\x1f\x9d\xa8\xcf\x8d\x16\xdc\x81\x1e\x4f\xcb\
+\x66\x5d\x63\xa4\xc1\x15\x02\x15\x47\xe8\x7c\x85\x5c\x6d\x82\x30\
+\x56\x2c\x06\x02\x2f\x5f\xa4\xe2\x48\x0a\x85\x02\xe7\x9c\x73\x0e\
+\x0f\x3f\xfc\x30\x9e\xe7\x51\x2a\x95\xe8\xea\xea\xa2\x56\xab\x71\
+\xf0\xe0\x41\x1a\x8d\x06\xc0\xed\xc9\xd1\xe0\x44\x6f\xed\xf4\x98\
+\x55\x6a\xc4\xc9\x91\xa0\x6d\x18\xa7\x62\x03\xe1\x69\x88\x00\x39\
+\xe0\xe5\x17\x9f\x7b\x46\xff\xbb\xde\xf1\x33\x04\xeb\xce\xed\x91\
+\x46\x80\xe3\xe0\x08\x0f\x21\xbd\x04\x68\x3b\x02\x69\x10\x4a\xa0\
+\xbb\x06\x04\x9a\x3e\x1d\x35\xfa\x74\x7c\x29\x35\xe7\xed\x2d\x39\
+\x7e\xf0\x50\x41\x7f\xba\x5b\x06\x47\x5c\x77\xcf\x19\x0e\x83\xe7\
+\x56\xa8\x1d\x90\x4c\x4d\x43\x54\x4d\x50\x7c\x72\xaf\x84\xb3\x82\
+\xd2\x73\x79\x3b\x74\xdb\x49\xda\xa5\xa0\x8a\xc1\x24\x8c\xa0\x4a\
+\x9c\xad\x4d\x08\xb5\x07\x7e\x6a\x73\x89\x91\x94\x89\xf3\x65\x76\
+\x1d\x9c\x8f\x66\xe7\x82\xf9\x91\x81\xc1\xbe\x35\xd1\x51\x19\xe1\
+\xd1\xcc\xf5\x10\x2f\xcd\xe1\xba\x3e\x71\x18\x92\x77\x1c\x5c\x22\
+\x9a\xca\x21\x88\x05\x95\xae\x1e\xfa\x4b\x3d\x78\x9e\x47\x2e\x97\
+\xa3\x58\x2c\x32\x38\x38\xc8\xc0\xc0\x00\x8d\x46\x83\xc3\x87\x0f\
+\x33\x31\x31\x61\x8c\x31\xdb\x81\xbb\xb0\xca\x6f\xd7\xf9\x69\xa0\
+\xd6\x56\x68\xa7\x70\x1f\xa7\x1e\x3b\x85\xfc\x4e\x11\xe4\x24\xe5\
+\xf3\x14\x46\x80\x7e\x29\xc5\x4d\x9b\x2e\x38\x97\x33\x2e\xb8\x98\
+\x7a\xa3\x85\x74\x7c\xa4\xe3\xe1\x38\x3e\xc2\xc9\x21\x1c\x81\x50\
+\xc2\x32\x75\x8e\xc4\x11\x05\x4c\x1c\xa1\xa4\x44\xb9\x1e\x9e\x56\
+\x79\xd1\x73\xc1\x59\xf5\xd6\x9f\xd6\xf3\x87\xfe\xa3\x21\xa6\xbe\
+\xdc\xe5\x1c\xfd\x27\x49\xdf\x7a\xe8\x19\x82\xae\x7e\x3b\x6c\x9b\
+\x2f\xd9\xd2\xce\xc9\x5c\xba\x59\xfe\xc7\x02\x38\x95\xb0\x7c\x06\
+\xab\xf0\x28\x4a\x46\x04\x7d\x70\x0b\xe0\xbb\xd6\x20\x1a\x4b\x36\
+\x12\xf8\x79\x0b\xf8\xfc\x22\x51\xa4\xd8\xb7\xf3\x90\x9a\x99\x6d\
+\x2c\x74\x77\x0f\xf4\x0d\xbb\x8b\xae\xa9\x55\xa9\x16\xcf\xc4\x0b\
+\x17\xc8\x17\x72\x78\xba\x89\x32\x1a\x57\x07\x18\x99\xa3\x4b\x06\
+\xe4\x3d\x4d\x77\xa1\x97\x72\xcf\x1a\xaa\xd5\x25\xa6\xa7\xa7\x19\
+\x1a\x1a\x62\xdd\xba\x75\x34\x1a\x0d\x76\xef\xde\xcd\x8e\x1d\x3b\
+\x8c\x52\xea\xfb\xd8\xb5\xff\x16\x58\x41\xaa\xab\x91\x37\xed\x90\
+\x1f\xa5\x0e\x95\x3c\x66\x53\x43\xa7\xbc\xdf\x89\x06\x6e\xdf\xac\
+\xa7\xcc\x00\xce\x58\xbf\x6e\xe4\xba\x1b\x5e\x77\x35\xb1\x32\x38\
+\x4e\x21\x31\x00\x89\xe3\xe6\x92\xb9\xf8\x8e\x65\xea\x30\x16\xa1\
+\x1b\x30\x8e\x00\x21\x10\x42\x62\x54\x84\xc1\x90\xcb\xcb\x92\xb8\
+\xfc\xa7\x4a\x51\x2e\x5f\x67\xf7\x2d\xda\x89\x83\x82\x6d\xd9\xee\
+\xb3\x23\x73\x90\xa0\x76\xec\x6f\x69\xaf\xb4\xb1\xfc\x18\xdb\xd2\
+\x2e\x8e\x6d\x74\xf0\xfc\xa4\x09\x24\x69\x2d\x8e\x02\x68\x2e\x25\
+\x46\x12\x5b\xe4\x9f\x2b\x5b\xac\x60\xac\xf1\xec\x7d\x78\x97\x3a\
+\x72\x64\x71\xb1\xd2\x3f\xd8\x7b\x46\xaf\xe3\x7a\x93\x07\xa9\x77\
+\x9d\x8d\x68\x45\xc4\x5a\x51\xec\x2a\x13\x07\x2d\xb4\xb1\xb8\xc3\
+\x89\x5a\x2c\x34\x41\x0a\x17\x04\xc4\x71\x84\xe3\x38\x14\x0a\x05\
+\x3c\xcf\xc3\x18\xc3\xb1\x63\xc7\xd8\xb6\x6d\x1b\x41\x10\xdc\x0f\
+\x7c\x1b\xbb\x0c\x6c\x9b\xe2\x3d\x15\xaf\xdf\x29\xcc\xa7\xcb\xc4\
+\xd5\xc6\x00\xb2\x46\x90\xdc\xb0\xe5\xc7\xa7\x2c\x05\xe4\x80\xeb\
+\xd6\x8e\x0e\x70\xed\xd5\x97\xa0\x8c\xb0\x4a\x97\x12\xc7\xcf\xe1\
+\x38\x39\x30\x32\xc1\x67\xae\xbd\xe9\xed\xe5\x2f\x1c\x81\x54\x20\
+\xb4\x41\x09\x81\x8e\x35\x46\x3a\x28\x0c\xf2\xf2\x5f\x28\x05\x83\
+\x97\xcc\xbb\x47\xbe\xad\x9c\x85\x03\x25\xe7\xc8\xa3\x82\xe1\x73\
+\x6d\xa8\xf7\x7d\x50\xda\xe6\xff\xf6\x48\x9e\x8a\x13\xf0\x66\xc0\
+\xc9\x59\xa5\x4a\x61\xcf\x07\x4d\x4b\xec\xc4\xc9\xf8\xbe\x70\xa0\
+\xd2\x67\x23\x82\xeb\x63\xa4\x83\xd0\x06\x24\x8c\xef\x3b\xa0\xeb\
+\xe3\x63\x8d\xae\xee\x33\xba\xfa\xca\xbe\x5b\x9c\xdd\x4e\x24\x8b\
+\xb4\x44\x01\x5a\x47\xd0\xc2\x47\x86\x2d\x82\xd0\xe0\x17\x4b\xb8\
+\x32\xc6\x48\x07\xa9\x62\xf6\x2d\x78\x26\xee\xd1\x22\x0c\x43\xf2\
+\xf9\x3c\x03\x03\x03\x00\xec\xd9\xb3\x87\x5b\x6e\xb9\x85\xd9\xd9\
+\xd9\xed\xc0\xd7\xb1\xfb\x09\xa6\x95\x9f\xf6\xd2\x74\xd8\x6f\x7b\
+\x7e\xa7\x54\x90\x4d\x11\xe9\xfa\x3f\xad\xf0\x8e\x9e\xdf\x56\xde\
+\x53\x61\x00\x95\xae\xae\xd2\x9b\x2f\xbd\x78\x13\x23\xc3\x83\x34\
+\x9a\x0a\xe1\x48\x1b\xfe\xdd\x1c\xa2\x3d\x03\xdd\x60\x09\x96\xf6\
+\xf8\xbb\x2b\x40\x0b\x84\x14\x28\xa5\x6d\x1b\xbe\xd6\xf6\x8a\x55\
+\x84\xd3\x8a\xf0\x87\x2f\xee\x0d\xf3\x7d\xb3\xde\xa3\xff\x82\xb3\
+\xb4\xa5\xc4\x91\x47\x04\x7d\x67\xc0\x9a\x11\xab\x44\xa3\x6d\xa8\
+\x77\xb0\xe4\x8f\x74\xec\x77\x44\x31\x54\x93\xc1\x1d\x15\xdb\xba\
+\x3e\x5f\xb6\xe9\xc3\x5f\xb3\x42\x0c\x25\x7b\xf8\x08\x15\x83\xd4\
+\x2c\x8e\xcf\xc5\x87\xf7\x4c\x34\xf3\x7d\xeb\x73\xbd\x7d\x7d\x6e\
+\x69\x71\x3f\x26\x0c\x58\x2a\x9d\x85\x5b\x3f\x4e\x4b\x1b\x0a\x05\
+\x87\x28\x68\x12\x2a\x9f\x5c\x4e\x22\x5a\x55\x54\xec\xb2\xd4\x0c\
+\xd9\x5f\x2b\x0a\x59\xd6\x88\x28\x62\x78\x78\x18\x29\x25\xbb\x77\
+\xef\xe6\x9b\xdf\xfc\x26\xb3\xb3\xb3\xdb\x80\xaf\x61\x3d\xbf\xdd\
+\xd5\x93\xf5\xf8\xec\xb9\xb8\xc3\xd1\xe9\x7c\xa7\xca\x61\x35\x10\
+\xf8\x94\x57\x01\x6b\x87\x06\x7b\xaf\x7e\xfd\x6b\xae\x26\x8e\xc1\
+\x71\xf2\x48\xd7\x43\xb4\x39\x79\x91\xec\xb8\xd5\x9e\xce\xde\x66\
+\xb7\xb5\xc6\x18\x8d\x41\xa0\x71\xda\x34\x5a\x0d\x00\x00\x1f\x9d\
+\x49\x44\x41\x54\x51\xc2\x20\xa4\x83\xd0\x0a\x83\x47\x28\x40\x87\
+\x11\x39\x21\xfa\x83\xb3\xae\xaf\x92\x2b\x2e\xe6\x0e\x7e\xa7\xcc\
+\xfc\x98\x4b\xa9\x04\xe5\xfe\x95\xb1\xfe\x30\x00\xcf\x24\x7d\xfd\
+\x22\xb9\x05\x31\x48\xdf\x32\x82\xbd\x83\x80\x58\x19\x27\x68\xe3\
+\x85\x76\x8f\x80\x23\x68\xd4\xa2\x70\xdb\xa3\x63\x8d\xc2\x9a\x8d\
+\xf9\x35\x43\x03\x7e\xfd\xd0\x36\x4a\xde\x12\xb3\xf4\x60\xb4\xc4\
+\x8b\x1a\x48\x2f\x4f\xde\xb4\xa8\x0b\x0f\x0d\x48\x15\xd1\x32\x2e\
+\x25\xcf\x67\xe7\x64\xcb\xcc\x45\xbd\x62\xd0\x71\x28\x95\x4a\xf4\
+\xf5\xf5\xb1\x6b\xd7\x2e\xbe\xf9\xcd\x6f\x32\x33\x33\xf3\x30\xd6\
+\xf3\xa7\xe9\xec\xf9\x59\x14\x9f\xce\xe9\xd9\x94\xd0\x89\x1b\x38\
+\xd5\x78\x40\xd6\xf3\x9f\xd2\x08\x90\x13\x0e\x3f\x79\xe6\x19\x43\
+\xbc\xea\xe5\x97\xa3\x8c\x44\xba\x39\xa4\x48\xd6\xd8\x4d\x6e\xb4\
+\x11\x58\xc0\xa5\x59\xe9\x4a\x53\x86\x28\x56\x08\x34\x46\x82\xe7\
+\x3b\xc4\x4a\x11\xb7\xec\x7f\x95\x52\x13\x2b\x41\xec\xaf\xc1\xef\
+\xef\xa9\xd4\x7a\xcf\x6e\x44\x5d\xa3\x0b\xe5\xfd\x5f\xcd\x33\x37\
+\x59\xa6\xbe\x94\x74\xea\xf4\xd8\x10\xef\x7a\xd6\xc3\xed\x74\x9d\
+\xe4\x27\x9b\x14\x19\x98\x94\x81\xed\x21\x60\x1d\x5b\x02\xa8\x50\
+\xa0\xb9\xb0\xd4\x38\xbc\xfb\x68\x58\x12\x94\xd6\xac\xe9\xf2\xbc\
+\xb9\x3d\x74\xc5\x53\x34\xfd\x3e\xe6\x54\x9e\xe1\x70\x8e\x7a\x53\
+\x31\x90\x9f\xa7\x1e\xe7\x08\x0b\xbd\x14\x1a\xc7\xf0\xa5\xa4\x5a\
+\x1c\xa6\x2c\xaa\xdc\xb2\x33\x10\x4b\xe4\x38\xb7\xa7\x97\xb3\xce\
+\x3a\x8b\xfb\xef\xbf\x9f\xbb\xee\xba\x4b\xb7\x5a\xad\x6f\x63\x49\
+\x9e\x66\x46\xf9\xab\xe5\xf8\x36\xd0\x8b\xb1\xc4\x50\xfb\x79\x98\
+\x3a\xbf\x9a\x81\xac\x46\x00\x65\x81\xe0\xb2\x3c\x59\x03\xf0\x87\
+\x06\xfa\x7e\xf2\xda\x6b\x5e\x44\xb1\x58\x24\x8c\x9c\x64\xb5\x4c\
+\x2c\xe8\x23\xe1\xdb\x45\xa2\x85\xf6\xa3\xb1\x06\xe2\x39\x1e\xa0\
+\x31\x18\x74\x72\x8d\xb1\x54\x18\x07\xb4\x11\x18\xa3\x90\x42\x12\
+\x69\x70\x04\xc5\x60\xed\x55\x92\x38\xac\x97\x77\x7d\xde\xc1\x95\
+\x85\xe5\xd6\x6d\x2f\x6f\xc3\xfe\x09\x1b\x39\x26\xb3\x7e\x5c\x2f\
+\xa9\xf1\x45\xa2\xf4\xa4\x33\xd8\x78\xa0\x23\xe2\xf9\xe9\xd6\xf4\
+\xde\x63\x91\x59\x6a\x94\xf3\xa5\x5e\x37\x57\x1b\xa7\x36\x33\x41\
+\x77\xa9\xc2\x44\xe0\x33\x50\x92\x44\xf5\x26\x39\x1f\xb4\x74\x68\
+\x38\x7d\xc4\x41\x8b\xbc\x84\xc8\xb8\xf8\xc1\x1c\x33\xcd\x80\x89\
+\x45\x45\x69\xb4\xc2\xc0\xc0\x1a\xb6\x6c\xd9\xc2\x9d\x77\xde\x69\
+\x82\x20\xb8\x15\x3b\xa4\x9b\x55\x7e\x9a\xcf\x6f\x87\xf5\xac\x72\
+\xd3\x75\x7e\x3a\xfc\x9f\xaa\xf5\xeb\x54\xe1\xff\x24\xe5\x3f\x69\
+\x03\xf0\x3c\xce\xed\xee\x29\x9f\xf7\xda\x57\xbe\x98\x58\x09\x84\
+\xe3\x2d\x03\x3c\x41\xd2\x84\xb1\x2c\x49\xfb\xfa\x32\x61\xe7\x20\
+\xa5\x02\x1c\x0c\x06\x21\x0c\x42\x0a\x84\x8c\x97\x37\xe6\x14\xc2\
+\x49\x6c\xc6\x01\x62\xa4\x70\xf2\xc1\xda\xab\x1c\x13\xb5\x1a\xc5\
+\xfd\x5f\x37\x8e\xd2\x45\x94\x82\xfe\x11\x8b\xf6\x9d\x24\xb7\xa7\
+\x87\x75\xdb\x83\x41\x08\xd0\x8e\x1d\x34\x6a\xd5\x92\xca\xdb\xc4\
+\x7b\xf7\xcf\x37\x1b\x71\x4f\xa9\x54\xca\xbb\x79\x19\xe1\x54\x27\
+\xed\x6c\x1e\x3c\xc2\xd8\x50\x0e\x26\xa9\xc5\x31\x95\x92\x4f\xd5\
+\x5b\x83\x5b\xab\xd2\x68\x29\x0a\x7d\x25\xaa\x8d\x98\x62\x63\x8a\
+\x07\x27\x8b\xd4\x62\xc7\xbc\xe8\xfc\xcd\x62\xeb\xd6\x1f\xb0\x65\
+\xcb\x16\x82\x20\xf8\x06\x76\x54\xaf\x95\xdc\xe7\x2c\x7f\x9f\x05\
+\x7b\x69\xc5\x77\xca\xfb\xe9\x3c\xdf\x09\x2f\xa4\x3f\x9f\xd4\xff\
+\x4f\xa7\x80\x93\xe4\xc9\x18\x80\x23\x84\xff\x5f\x06\x07\xfa\xb9\
+\xf4\xd2\x73\x51\xc6\xe0\x3a\x8e\x55\xbc\x10\x09\x48\x4b\xea\xfe\
+\x13\xd6\x28\x52\x36\x2a\x48\x40\x4a\x0c\x0a\xad\x34\xc2\x08\xa4\
+\x90\x76\xa3\x4d\x40\x09\x8d\x30\x60\x74\x94\x54\x0e\x01\x18\x90\
+\x5e\xde\x0b\xd7\xbf\xac\x28\x9b\xf3\xad\xd2\xa1\x3b\x22\x7a\x46\
+\x3d\x0c\xc9\x54\x22\xb1\xe2\xf9\x2a\xf1\x76\x13\x43\x10\xda\x2a\
+\x40\x1b\xdb\x22\x9e\xcf\x11\x45\x44\xfb\x0f\xcf\x2c\x2e\xc6\xa5\
+\xae\x91\x35\x5d\x7e\x3c\xb5\x97\x92\x6c\xd1\x52\x39\x8a\x39\xc3\
+\x9c\xca\x33\x5a\xa8\xd3\xa8\xb6\xe8\x72\x62\x62\xb7\x87\x38\x68\
+\x11\x87\x4d\xca\x8e\x44\x84\x11\x2c\xcd\x91\xeb\xef\xe1\xf6\x3d\
+\x75\x9d\xef\x1e\x92\x3b\x77\xee\x34\x7b\x76\xef\x16\xad\x56\xeb\
+\x3f\xb1\xb3\x78\x5b\x58\xcf\xef\xe4\xb5\x69\xaf\x4f\x2b\x3d\x8b\
+\xfe\xd3\x29\x20\x1b\x09\xb2\xa3\x80\xed\x24\x9b\x36\x82\x55\x95\
+\x0f\x4f\xce\x00\xdc\xae\xae\xfc\x4f\xbf\xf2\x65\x97\x90\xcb\xe5\
+\xd1\x26\xf1\xba\xa4\xae\x47\x26\x91\x47\x1b\x96\x3b\x6e\x8c\x06\
+\xe3\x20\x64\x92\x9b\xb5\xc6\x88\x08\x15\x6b\x1c\xd7\xae\xe2\xe9\
+\xba\x2e\x4a\x6b\xb4\xd1\x48\x21\x10\x46\xa3\x5b\x8b\xe0\x4b\x8c\
+\xb1\x11\x43\xfa\x45\x2f\x3c\xfb\xd5\xc8\xda\x6c\xcb\x9f\x1d\xc7\
+\xc9\xf9\x1e\xf5\x05\xdb\xde\x2d\x9d\x24\xc4\xc7\xd0\x4c\xc6\x03\
+\xfc\x62\x42\x20\xe5\xc0\x75\x69\x05\x2a\x3a\x32\x31\xb3\x38\x33\
+\xb1\x54\xea\x1b\x1a\xf2\x0b\xad\x49\x22\x5a\x68\xaf\x9b\x56\xb3\
+\x01\x7e\x11\x2f\x6e\x10\xb5\xea\xb6\x27\xb4\x67\x90\x7a\xbd\x41\
+\x1c\x2a\xa6\xab\x9a\xf3\x47\xf3\xcc\xcd\x4c\x92\xf3\x40\xe4\x4a\
+\xec\x9b\x98\x96\xd3\xf3\xc2\x34\xc6\xa7\x44\x14\x86\x5f\x04\x1e\
+\xc4\x72\xfb\x6d\x86\x2f\x1d\xf2\x3b\x45\x80\xb4\xd2\xd3\x18\x20\
+\x4b\xf7\xae\xc6\x0c\x76\x02\x80\x9d\x98\xbf\xa7\xd4\x00\x36\x4b\
+\xe9\x9c\x7b\xdd\xcb\x2f\x43\xa9\xd8\x96\x7b\x46\x5b\xcf\x47\x58\
+\xc5\x0b\x48\x90\x60\xe2\x99\x1a\xa4\x4e\x2e\x31\xc6\x08\x41\xd8\
+\x52\x84\x71\x88\xa7\x0c\x52\xba\x68\x65\x30\x49\x9e\x50\x4a\x21\
+\x85\x87\xeb\xe7\xd0\x22\xc2\x15\x12\xa5\x93\xd7\x4b\x03\x5e\x6b\
+\xd3\x6b\x90\x5b\xff\x29\x70\xc6\x0e\x78\xac\xdd\x68\x7f\x67\xb3\
+\x0e\xa2\x6e\x39\xfe\x7c\x19\xfc\xa4\xf5\x5b\x0a\xb4\x32\x8c\x1d\
+\x39\xae\xf6\xef\x9b\x6c\xce\xcf\xd4\x2a\x9b\xd7\xf5\xe7\x4a\x8d\
+\x31\x4c\x54\x25\x14\x25\x5a\xca\xc3\x29\x94\xa9\x07\x01\x65\x19\
+\x11\x06\x4d\xba\xfa\x7a\x51\xcd\x25\x9c\x46\x93\x86\xe8\xa6\xab\
+\xbb\x44\xd8\x9c\xa7\xa5\x5c\xca\x3d\xdd\xec\x99\x85\x43\x73\x11\
+\x8b\x8b\x2d\x01\xe6\x3f\xb0\x1b\x3b\xa4\x3b\x78\x56\xf3\xfa\xb4\
+\x82\xb3\x8a\xcf\x46\x80\xec\x00\xd0\x6a\xde\x7f\x52\x99\xf7\x58\
+\x4a\x7c\x32\x13\x32\xde\xd4\x55\x29\x99\x2b\x2e\xdb\x94\x4c\x8f\
+\x36\x2b\x68\x5b\x62\x15\x2f\xdb\x91\x48\xda\xcb\x73\x24\x42\xcb\
+\x64\x95\x3b\xdb\xa9\xe3\x78\x12\xe9\xb8\x04\x41\x8b\x66\xab\x81\
+\xd2\xb1\x05\xef\x12\x84\x51\x88\x04\x14\x0a\x04\xaa\x1d\xe0\x74\
+\x6c\x69\xe4\xee\xf5\x5e\x63\xf3\x4d\x6e\xd0\x0c\x97\x98\x1b\x83\
+\x56\x0b\xbc\x3c\xa6\xd0\x83\x29\xf5\x42\xa1\xdb\xd2\xc6\xc9\xca\
+\xdf\x47\x8f\x1d\xd7\x3b\xb6\x1d\xa9\x4f\x4f\x35\xfc\xde\xa2\x9b\
+\x13\x3a\xa0\x1e\x28\xa6\x54\x11\xb7\xd2\x8d\xaf\x02\xb4\x74\x28\
+\x88\x26\xba\xb9\x40\xb9\x00\x12\xcd\x54\x2d\x24\xc8\xf7\x13\x49\
+\x8f\x61\x67\x81\x86\xf2\x18\xe8\xaf\xa0\xa4\xcf\xef\x7c\x71\xcc\
+\xec\x9a\x68\x01\xe6\x5f\xb1\x9e\x9f\xa5\x64\x57\xf3\xf6\xf6\x11\
+\xb2\x3a\x06\xc8\x7a\x7e\x27\x20\x08\x27\x1a\x40\xfb\x79\xa7\xba\
+\xff\x24\x79\xa2\x06\x20\x5c\xd7\xf9\xa9\xd7\xbd\xea\x4a\xd7\x77\
+\xac\x67\x5b\xbc\x67\x07\x7a\xac\xd3\x0b\x50\x49\x53\x26\x0a\xa4\
+\xb1\x6c\x1b\xc6\x62\x03\x1d\x83\x56\xb8\xd2\x25\xef\x39\x78\xbe\
+\x40\xa2\x51\x3a\x46\x45\x11\x52\x1b\x5c\x5f\x20\x09\x6c\xa9\xa8\
+\x35\x32\xac\x5b\x34\x21\x93\xa5\xdb\xa2\x98\x66\xff\xf9\xf9\xea\
+\xc6\x37\x7a\x6a\x61\xb6\x49\xd8\x80\xc6\x22\x22\x58\x80\x85\x69\
+\x4c\x63\xc9\xb2\x7f\x18\xa6\x27\x66\xf4\xf7\xef\xdd\xdb\x38\x32\
+\xa3\xfc\xd1\xe1\xfe\x7c\xc1\x33\x84\xad\x88\x16\x39\x44\x65\x10\
+\x15\x2a\x84\x9f\xa7\xd6\x8a\x91\x8d\x05\x14\x1e\xb9\x52\x17\x8d\
+\x85\x39\xe6\x55\x17\x33\x2a\x87\xdf\x5a\x60\x5e\xe5\x91\x28\xaa\
+\x2d\xc3\x2f\xff\xf3\x24\x5f\xdb\x3a\xd7\xc4\x98\xcf\x00\x5b\x39\
+\x31\xcf\x67\x3d\x3f\x4b\xe2\xac\xe6\xf1\x9d\x00\x62\xa7\x32\x6f\
+\xb5\xb0\xdf\x11\xed\xaf\x26\x4f\xd4\x00\x2e\x10\x70\xce\x1b\x5e\
+\x73\x15\xda\x08\x04\x89\xd2\xa5\x44\x38\x09\xfa\xd7\xc6\x56\x04\
+\xc6\x7a\xaf\x68\xa7\x43\x47\x80\x91\x18\x61\x00\x07\xa3\x05\x02\
+\x89\x27\x04\x92\x10\x54\x84\x90\x02\x88\x91\x3a\x42\x6a\xdb\x20\
+\x23\x84\x40\x79\x25\x82\x50\x13\x37\x42\xe2\x30\x20\x8a\x14\x2a\
+\x8c\x69\x0d\x5f\x59\xa8\x0d\x5c\xa6\xd5\xf4\xc1\x08\x1d\x41\x79\
+\x0d\xa2\x6f\x10\x51\xec\x02\x2f\xc7\xc2\x62\x55\xdf\x77\xcf\xae\
+\xc6\x91\x45\xe1\x0d\x9e\x31\x9a\xef\x96\x0d\xf2\x22\x04\xd7\xa3\
+\x41\x01\xc7\x28\x4c\x2e\xc7\x92\xf2\xe9\x09\x27\x69\x84\x9a\x58\
+\x78\xa8\x56\x8b\xfd\x0b\x3e\x3d\x25\x07\x59\x9f\xc5\x2d\xf7\x22\
+\xe2\x26\xca\x18\xde\xfb\xb9\x59\xbe\xfc\xfd\xe9\x79\xa3\xcd\x67\
+\xb1\x8b\x36\x64\xf3\xf1\xa9\x78\xfc\x53\x1d\xe9\x01\x9f\xc7\x93\
+\xef\xb3\x1e\xff\x98\xde\x0f\x4f\x1c\x03\xfc\xc4\xc0\x40\xb7\x78\
+\xe9\x55\xe7\x63\x10\x08\xd7\xb5\x43\xbe\xc8\xa4\xf4\x4b\x50\xbe\
+\x6e\xc7\xf2\xa4\x57\x4f\xf8\xa0\x62\x8c\x89\xed\xb8\x80\xb6\xa9\
+\x52\xc7\x21\x46\x47\x48\x5a\x60\x5c\x5b\x38\x88\x00\x63\x42\x10\
+\x0a\x13\x2b\x8c\xd6\xc4\x4a\xa1\x23\x45\x10\xda\x0e\x5d\x69\x0c\
+\xa1\x56\x08\x42\xa6\xcf\x7c\xa3\xa1\xb9\x14\x74\x4f\x3c\xea\xd0\
+\x33\x22\xc9\x97\x30\xc6\x30\x37\xb3\x64\x1e\xb8\x7b\x7b\xa3\x6b\
+\x60\x44\xac\x29\xf9\xb9\x33\xbb\x05\x5e\x10\xa3\x9c\x3c\x5a\x2b\
+\x7a\x92\x30\xaf\x73\x7d\xe4\x6b\x07\x70\xa2\x00\x17\x43\x8f\x13\
+\x32\x59\x75\xa8\x14\x1d\xdc\xe6\x3c\x6e\xbe\x9b\xee\xbc\x61\xb6\
+\xe5\xf1\x97\x77\x35\xf9\xda\xd6\xf9\x09\xec\x3e\x3e\xfb\x58\x99\
+\x62\x97\xf5\xfe\x4e\xf4\x6d\xc4\xea\x39\x3f\x8d\x11\xd2\xde\xdf\
+\x29\xb2\x74\x1a\xec\x79\x5c\xca\x87\x27\x1e\x01\xde\xf4\xe6\x37\
+\x5e\x93\x73\xbd\x5c\x52\xab\x3b\x08\xc7\x45\x38\xa9\x26\x4c\x92\
+\xe6\x4a\x01\xe8\xc4\x30\x4c\xbc\x4c\xff\x1a\x63\x0d\x41\xab\x10\
+\x6d\x62\xb4\x0a\xec\xd6\x2e\xba\x01\xba\x86\x34\x4d\x8b\xe4\x95\
+\x42\x2b\x45\xac\x63\x62\x15\x13\x84\x11\x2a\x36\x28\x25\x89\x95\
+\x46\x2b\x43\x1c\x80\x0a\x74\xf9\xd8\xe8\x7f\x69\xd6\xdc\xbe\x16\
+\x73\x63\x10\x47\x2c\x2d\xd4\xf4\xf7\xef\xdd\x55\xf7\x8a\xbd\x62\
+\xe4\xac\xf5\xa5\xa1\x92\x40\x37\xe6\x88\xb4\x8b\x0a\x43\x1a\xca\
+\xa3\xec\xc6\x08\xaf\x88\x99\x9b\xa0\x10\x54\xa9\xc6\x06\x2f\xe7\
+\x12\x79\x45\x26\xe6\xea\x48\xa3\xa8\xca\x1e\xba\x4b\x79\xa6\xeb\
+\x82\x4f\xdf\xbd\xc8\x27\xbf\x35\x3e\x87\xdd\xd5\x73\x0f\x2b\x73\
+\xf5\xb3\xf5\xf9\x6a\x65\xdd\xa9\x3c\xbe\x53\x99\xf7\x58\xca\xcf\
+\xd2\xbe\xa7\xad\x7c\x78\x62\x11\x60\x33\x70\xf6\x0d\xaf\xb9\x06\
+\x84\xc4\x71\x3d\x1c\xe9\xdb\xb0\x2d\x12\xef\x37\x36\xcc\xdb\xe5\
+\x56\x0c\x08\x8b\xeb\xd1\xf1\x09\xfb\xf2\x6a\xa3\x31\x3a\x51\xbe\
+\xb6\x5e\x8e\x89\x6c\xe6\xd0\xd8\x6d\x5b\x92\x8d\x1c\x54\xa8\x6c\
+\x79\x18\xd9\xf5\xfd\x0d\x06\x69\x04\x26\x32\x28\x0c\x2a\x56\x68\
+\x51\x58\x33\x57\xb9\xa8\xe5\x85\x87\x75\x30\x3d\x23\x76\xee\x9e\
+\xa9\xb9\x95\x5e\x59\xea\x5e\x53\x9a\x3c\x7c\x8c\xd1\xb2\xa4\xb1\
+\x64\x68\x35\xeb\xc4\xc2\xa3\xcf\x6b\x11\x16\xd6\x93\x43\xa3\xab\
+\x13\x48\x11\xe0\x23\x29\x54\xba\x98\x9c\x0f\xe8\x2e\xdb\x46\x96\
+\x2e\xdf\xb0\x18\x39\x7c\xf4\xeb\x63\xfc\xdb\xf7\x66\xa6\x80\x6f\
+\x00\x87\x58\x59\xaf\x37\x0d\xf8\xd2\xde\xdf\x7e\xec\x14\xfe\xb3\
+\x9e\x7e\xaa\x1a\x3f\x9b\x02\xb2\x86\x90\x05\x80\xa7\x2d\x4f\x24\
+\x02\xfc\xc4\x40\x7f\xb7\x7f\xd9\x8b\x36\xd9\x35\xf6\xa5\x9b\x0c\
+\xe2\x38\x08\x93\x5a\xbd\xb4\xed\xfd\x12\xbb\x46\xbf\x52\x18\xa1\
+\x31\x46\xa1\x75\x8c\x56\x31\x5a\x87\x36\x02\xe8\xd0\xf6\x03\x24\
+\xe3\xeb\xb6\xa0\x30\xcb\x9b\x39\xa8\xd8\x92\x45\x71\xb2\x67\x8f\
+\x1d\xfb\xd7\x76\x0b\x97\x64\x5c\x01\xa5\x50\x51\xc8\x6c\xe5\x62\
+\x8e\x37\x2a\xfa\xf0\xfe\xc9\xa6\x09\x94\xd8\x70\xe6\x48\x79\x6e\
+\x72\x9c\x5e\xe6\x10\xc6\xd0\x5f\x72\x70\x45\x8c\x27\x42\x8a\xbe\
+\x83\x97\xcb\x23\x6b\xe3\x98\xa8\xce\x5c\x20\xf1\xba\xba\xa9\x51\
+\xa2\x16\xb9\xf8\x85\x22\x03\x7d\x05\x16\x42\xc1\xcd\x5f\x3e\xc6\
+\xbf\x7d\xef\xf8\x38\xf0\x15\xec\x4a\x5d\xe9\xc5\x9a\x3b\xe5\xfa\
+\x74\x79\x97\xe6\xf4\xb3\x47\x96\xe3\x5f\xcd\xfb\x4f\x27\xf7\x3f\
+\x2e\xe5\xc3\x13\x33\x80\xd7\xdf\xf0\xda\x2b\x0b\xb9\xbc\x97\x84\
+\x7f\x17\x21\x5d\x90\x0e\xa6\x4d\x44\xb5\xbb\x6d\xc1\x7a\xbd\x8a\
+\xc0\x28\x8c\x56\xf6\x2a\xb5\x46\xeb\x16\x3a\x0a\x88\xa3\x10\x1d\
+\xb7\xbd\xdf\x92\x46\x76\x53\x07\x8d\x8a\x63\xe2\x28\x22\x8c\x22\
+\x94\xd2\xc4\x2a\xb6\xbc\x12\x22\x09\x34\x06\x6d\x34\xca\x68\x62\
+\x0d\x2a\x8c\x20\xd7\x9b\x3f\x56\xcd\xab\xa9\x5a\x5e\xf6\x97\x44\
+\x45\x4d\xee\xa3\xbb\x35\x0e\xf9\x6e\xa6\xab\x11\x79\x5a\x20\x5d\
+\x86\xdd\x45\x1a\x14\x29\x34\xa7\xf1\x82\x25\x02\x93\xa3\x91\xef\
+\x45\x96\xfb\x98\x9f\x6f\xe0\x9a\x80\xbe\xee\x22\x07\xea\x5d\xfc\
+\xfe\x2d\xf3\x7c\xfe\xde\x89\xa3\xc0\x7f\x02\x0f\x63\xe7\x3a\x76\
+\x42\xfb\x59\x8f\xef\x54\xcb\x77\xc2\x01\x59\x03\xe8\x64\x54\x9d\
+\xbc\xfe\x09\x85\xfd\xb4\x3c\xde\x14\x70\x05\x70\xee\xcf\xfe\xd4\
+\x6b\x84\xe7\x5a\xa5\x0b\xe9\x60\x84\x44\x0a\x93\x20\xfd\x84\x0f\
+\x90\x22\x09\xef\x2a\x61\xf0\x0c\x46\x1b\x4b\x06\xaa\x10\x6d\x14\
+\x5a\x05\xf6\xf5\x24\x35\xb4\x15\x6f\x92\x05\x18\xe3\x24\xec\xab\
+\x28\x46\x69\x83\x30\x22\x31\x1e\xbb\xb7\x8f\x94\x0a\x69\x04\xb1\
+\x32\xc4\x51\x44\xac\x14\x46\x40\xd8\x7f\xae\x3b\x3d\xb5\x45\x0e\
+\xf5\xaf\xa1\xb1\xef\x6e\xba\x2a\xdd\x2c\x88\x2e\x7a\xe5\x18\x73\
+\x75\x45\x45\x34\x09\x8a\x6b\x71\xba\x06\x70\x66\xb6\x51\xa3\xc0\
+\x7c\xae\x87\xb5\x83\x5d\xcc\x4d\x4d\xa2\x9a\x73\x8c\x0c\xf5\xb1\
+\x65\x5c\xf0\xe1\xcf\xee\x62\xd7\xb1\xa5\x07\xb1\x93\x34\xa7\xb1\
+\xca\xcf\x72\xf3\x9d\xf2\x7e\x36\xb7\xa7\x41\x5e\xb8\xca\xeb\x9d\
+\xca\xc6\xd5\xf2\x7f\x27\x10\xf8\xb8\xe5\xf1\x46\x80\x1b\xcf\x18\
+\x1d\x28\x6d\xdc\x30\x6a\xe9\x5e\x03\x26\x29\xf9\x8c\xd1\x98\x36\
+\x0b\x88\x46\xeb\x88\x38\x6e\xa1\xe3\x96\x55\xb0\x56\x18\x21\x30\
+\x26\x5a\x51\xbe\x8e\x13\x30\xa8\xec\x98\x80\xd1\x68\x65\xe7\xcf\
+\xc7\x61\x8c\x8a\x6d\xf8\x37\xca\x60\x94\xc0\x44\x76\x30\xc9\x24\
+\x4b\xba\x29\x65\x08\x22\x1b\x29\xa2\x38\x01\x84\x51\x84\x5b\x59\
+\xe3\x34\x63\xc7\xcc\x44\x3e\xf3\x81\x24\x72\xbb\x88\x6b\x0b\x94\
+\x8b\x1e\xc4\x01\x85\x42\x9e\x46\x7e\x88\xb2\x5a\x60\x21\x3f\xca\
+\xd1\x46\x9e\x72\x0e\xba\xd4\x02\xa6\x59\x65\xa8\xaf\xcc\xa3\x93\
+\x8a\xdf\xfc\xec\x5e\x76\x1d\x5b\x7a\x00\xdb\xc8\x31\xc3\xc9\x39\
+\x3f\x8b\xf6\x3b\xd5\xf8\x69\x85\x87\x58\x8a\x78\xb5\xdc\x7f\x2a\
+\xc2\xe7\xb1\xca\xbe\x27\x24\x8f\x37\x02\x5c\xff\xba\xeb\xaf\x2a\
+\x17\x0a\x05\x8c\x31\x89\xf2\x22\x0c\x0e\xc6\x38\xa0\x03\x6b\x08\
+\x3a\x42\xe9\x08\xad\x24\xc2\x68\x3b\x49\x47\x3a\x96\xfb\x37\x76\
+\xf0\x57\xeb\xd8\x1a\x40\xdb\xa3\x93\x23\x8e\xb5\xdd\x90\x51\x69\
+\xe2\x28\x06\x21\x91\x08\xb4\x8a\x2c\xbf\xda\xfe\x7f\x06\xb4\x52\
+\x84\xad\x98\x28\x06\x65\x0c\x02\x63\x0d\x08\x89\x97\x2b\x30\x3b\
+\xbf\x48\x8f\x5f\xa0\x52\x72\x98\x5b\xa8\xd3\xca\xfb\xac\x65\x9a\
+\xaa\x3c\x83\x2e\x2f\x20\x88\x34\xb3\xa1\x0b\x51\x44\xbf\x0f\xe1\
+\xc2\x22\xa3\x03\x45\xbe\x7b\x50\xf1\x3b\x9f\x3f\xcc\x8e\x63\xf5\
+\xfb\xb0\x2b\x73\x2c\x70\xe2\x88\x5e\xa7\x90\x1f\x75\x78\xec\x44\
+\xeb\x66\x43\x7e\x76\xc4\x2f\x4b\xf9\xae\x16\xee\x9f\x94\xe2\xdb\
+\xf2\x78\x0c\xe0\x12\xe0\x8c\x37\xbc\xe6\xc5\xe4\xf3\x9e\xf5\x5a\
+\xa3\x50\x51\x60\x15\x24\xdd\x95\x1d\x37\x8d\xdd\x55\x53\x20\x31\
+\xc2\xa1\x3d\x40\x6c\x94\xb6\x91\x40\xdb\xc5\x91\x8c\x36\x68\x6d\
+\x01\x9e\xd6\x06\x15\xc7\x16\xe9\xc7\x06\x94\x46\x4a\x89\x36\x9a\
+\x58\x18\x62\x23\x2c\x79\x14\x6a\x62\x6d\x08\x83\x98\x48\x87\x98\
+\xc8\xa0\x71\x31\x5a\xa1\x8c\xc5\x11\xc2\x11\x14\xbb\xfa\x4d\x6d\
+\x72\x2f\x83\x9e\x87\xce\x75\xe1\x78\x31\xb2\x31\x87\x29\xf6\x13\
+\xf8\x3d\xb8\xcd\x2a\x63\x8d\x02\x85\xc6\x18\xbd\x65\x97\xa2\x30\
+\xe4\x4b\x0e\xff\xb1\x23\x34\x37\x7f\x71\x4c\xec\x9d\xa8\xdf\x03\
+\x7c\x8b\x13\xfb\xf7\x4e\x05\xfa\xd2\x61\x3e\x4b\xf3\xa6\x0d\x62\
+\x35\xf4\x6f\x52\x8f\x9d\x40\xdf\xa9\xea\xfe\x27\x2c\x8f\xc7\x00\
+\x6e\x18\x5a\xd3\xdb\xbb\x69\xe3\x5a\x1c\x29\x2d\x5e\x53\x1a\x23\
+\x94\x1d\x0c\x42\x22\x64\xe2\xc9\xca\xd8\xbc\x2f\x8d\x1d\xd2\x95\
+\x02\x62\x85\xc1\x1a\x80\x8e\x15\x46\xa9\xc4\xeb\xc1\x28\x83\x52\
+\x0a\x15\x29\x1b\xf6\x8d\xc5\x01\xc2\xd8\x21\x61\x54\xe2\xd9\x61\
+\x84\x36\x86\x20\x8a\x51\xb1\x22\xd6\x1a\x61\x24\x9a\x38\xb9\x2b\
+\x76\x1f\x5f\x29\x40\x78\x39\x93\xcf\xfb\xc6\x31\x52\x4c\xcd\x07\
+\x2c\x34\x0c\x9b\x7b\x02\x76\x07\x43\x9c\x51\x76\x99\xd7\x3d\x14\
+\xcc\x71\x3c\xd5\xa2\xc7\x71\xa9\xe4\x8a\xfc\x9f\x07\x8c\xf9\xd8\
+\x7f\x1e\x15\x87\xa7\x9a\x77\x60\x27\x6c\xd4\x38\xb1\x67\x3f\x9b\
+\xef\x3b\xd1\xbc\x59\xef\xee\x64\x20\x9d\xc6\x07\xb2\xca\x7e\xac\
+\x70\xff\x43\x8f\x00\xd7\xbf\xee\xfa\xab\xba\x7b\xba\xcb\x49\xe3\
+\x8d\xbd\x5e\xad\x63\xcb\xff\x63\x95\x61\xda\xf5\x3c\x06\xb4\xb0\
+\xe5\xa0\x49\x30\x82\x8e\xd1\x71\x60\xa3\x87\x56\x18\x15\xa3\xe3\
+\x44\xf9\x71\xa2\x7c\x6d\xa7\x4e\x6b\xa5\xd1\xd8\xf1\x81\x28\x52\
+\xa8\x18\x94\xb6\xdb\xb9\xc5\x5a\x61\x8c\x40\x47\x00\xc9\x38\x84\
+\x21\xd9\xf4\xd9\xe2\x84\x42\xb1\x18\xfa\xb4\xf2\x8e\xef\x8a\xa3\
+\x0b\x01\x1b\x72\x0b\x48\xbf\x88\x14\x15\x8c\xd0\x04\xb5\x45\x72\
+\xb5\x49\xfa\x73\x11\x3d\xdd\x7d\x7c\xea\xee\x45\xf3\x87\x5f\x39\
+\x2a\xc6\xe7\x5a\xb7\xb2\x32\x61\x23\x7b\xf3\x3b\x81\xb4\xc7\x42\
+\xfc\xab\xd5\xfd\xed\xe7\xab\x11\x3d\xab\xa1\xfc\xa7\x2c\xfc\xc3\
+\xe9\x1b\xc0\x65\xc0\x99\xaf\x7d\xf5\x15\x94\x4b\x36\xff\x5b\xc0\
+\xaf\x41\xc7\x36\xff\xea\x38\x59\xee\xdc\x2a\xdb\xb6\x84\x19\x8c\
+\x6c\xd7\xed\xa0\x55\x82\xf6\xe3\x08\xa3\x94\x55\x7e\x18\xda\x5d\
+\x3c\x95\x22\x8e\x92\xdd\x3b\x25\x18\x63\x49\xa4\x58\x19\x0b\xee\
+\x54\x98\x18\x82\x46\xc5\x7a\x99\x65\xc6\x08\x84\x1d\x70\xb0\x97\
+\xa4\x04\xc6\xd1\x48\x9a\x81\xa3\x1b\xf9\x7a\xb5\x4e\xec\xf5\xb2\
+\x6e\xc0\x67\xbf\x1a\xe4\xec\x72\x95\xa6\x29\xe1\x34\xe6\x88\xeb\
+\x55\x7a\x47\x46\xf8\xe8\x2d\xb3\xe6\x93\xb7\x8e\x89\xd9\x6a\xf8\
+\x15\xe0\x5e\x2c\x50\x6b\x4b\x7b\x48\x33\x5b\xa2\xa5\x15\x9a\x55\
+\x7e\x36\xe7\x77\x62\x06\x3b\x79\x7d\xfb\xdc\x93\xe2\xf7\x1f\x8f\
+\x3c\xd6\x22\x51\xed\x6a\xfe\xe7\x3d\xcf\x79\xf5\x45\x17\x6c\x98\
+\x12\x86\xa5\x28\xd6\x42\x0a\x7c\xad\x6d\xd2\x75\x1c\x23\xc1\x24\
+\xbb\x69\xb7\x97\x4f\x37\x49\xed\xaf\x2d\xe5\x9b\x80\x37\x54\x64\
+\x87\x8f\x95\xb2\x75\xbe\x36\x44\x4a\x11\x86\x11\xb1\x8a\x2c\x16\
+\xd0\x06\xa1\x41\x2b\xdb\x2b\xd8\x0c\x62\x74\x64\x88\x82\xe4\xfe\
+\x6b\xdb\xf9\x63\x5b\xc9\x92\x39\xa5\xed\x49\x1a\x08\x8c\xe3\x40\
+\x75\x3c\x10\xb3\xfb\x73\x85\x62\x51\xf4\x0f\xf4\xe0\x14\x2a\x2c\
+\x36\x0d\x83\x65\x87\xda\xc2\x22\xb9\xea\x31\xd6\xac\xe9\xe7\xe3\
+\x77\xb5\xf8\xd3\xaf\x1f\xd6\x0b\xf5\xf8\xcb\xd8\x55\x39\x02\x4e\
+\x0e\xbf\xd9\x7a\xbc\x53\xed\xde\x7e\x0c\x3b\x9c\xcb\x62\x05\xbd\
+\xca\xe7\x66\xa9\xdd\xa7\x14\xf1\x77\x92\x4e\x73\xaa\xb3\xaf\x19\
+\xe0\x6b\x42\x88\x1b\xda\xeb\xe2\x3b\x8e\x8b\x10\xcc\x9c\x73\xd6\
+\xe8\xa1\xb7\xfe\xf8\x2b\xf3\x37\xbe\xee\xa5\x1b\x07\x06\x7a\xdc\
+\x72\xa9\x28\x73\x39\xcf\xd1\xda\xd8\xce\xa0\x84\xd8\xc3\x88\x24\
+\x05\xd8\x92\x2e\x8e\x15\x71\x14\x13\x46\x31\x3a\x8a\x88\x62\x45\
+\x1c\x2b\xab\xd8\x84\x01\x14\x52\xd8\xc1\x9f\x38\xa6\xd5\x54\xa0\
+\x0d\xca\xa8\x24\xda\x88\x44\xf9\xd2\x7a\xbf\x11\x68\xa3\x93\x76\
+\x34\x10\x8e\x47\x7c\xec\xde\x60\x69\xc7\x9d\x7e\xcf\x99\x1b\xc5\
+\xb9\x23\x79\x0e\xd4\xcb\x6c\x2c\x2e\x5a\x63\x9a\x3e\x08\xc5\x1e\
+\x6e\xd9\xef\xf2\x81\xbf\xdd\xd6\x0a\x63\xf3\x65\x56\xc6\xf2\x3b\
+\xf1\xeb\x9d\x14\xba\x1a\xca\x0f\x39\x31\xcc\xa7\x2b\x83\xf6\xf9\
+\xb4\xc7\xa7\xa3\x0a\x1d\xbe\xfb\x69\x53\x3e\x74\x8e\x00\xe9\x49\
+\xfd\x06\xb8\x12\x78\xbb\x94\x72\xd0\xf7\x73\x6c\xd8\x70\x16\x57\
+\x5f\x7d\x0d\xe7\x9f\x7f\x41\xb1\xde\x54\xa3\x5f\xf9\xfa\x5d\x83\
+\x9f\xfe\x3f\x5f\x0a\xbe\xfa\x8d\x7b\xf7\xf6\x74\x97\xa2\xe1\xc1\
+\x9e\x62\x3e\xef\x5b\xc7\x34\xda\x72\x04\x2a\x41\xfa\xca\xae\xaa\
+\x1d\x85\x91\xf5\xf8\x28\x26\x8c\x22\x4c\x2c\xc0\xac\x28\x1e\x03\
+\x2a\x8a\x09\x82\x98\x38\x88\x08\xe3\xa4\x0b\x48\xd8\xc6\x4e\x2d\
+\x4c\xd2\xf1\x6d\x68\x9f\xb6\xca\x37\xd8\x79\x06\xa8\x70\x72\xbb\
+\x2b\xea\xc7\x45\xff\xd0\x10\xf9\x7c\x9e\xa8\xd5\xa2\xdb\x6b\x12\
+\x2f\xcd\x80\x90\x7c\x69\x8f\xcb\x6f\xfe\xe3\xf6\x30\x88\xcc\xe7\
+\xb0\xca\xd7\xa9\xdf\x9c\x2e\xc7\x3a\x01\xba\x2c\x8b\x97\xf6\xfc\
+\xb4\x11\x9c\x8a\xe2\xcd\xd6\xf9\x59\xc3\x4b\x5f\xcb\xd3\xa2\x7c\
+\x38\xd9\x00\x44\xe6\x6f\x03\xfc\x8c\xeb\xba\x6f\xec\xee\xee\x29\
+\x9c\x7f\xfe\x05\xdc\x78\xe3\x5b\x78\xe3\x1b\x6f\xe2\xf5\xaf\xbf\
+\x91\x6b\xae\xb9\x16\x21\x0c\x93\x93\x13\xfe\xe4\xf1\xd9\xa1\xaf\
+\x7c\xe3\x7b\xde\xdd\xdf\x7b\xf4\xe8\x85\xe7\xaf\x17\x23\x43\x7d\
+\x79\x29\xa4\xb0\xbb\x6e\x2b\x94\x56\xc4\xa1\x5d\x57\x5f\xc5\x9a\
+\x28\xb0\x84\x8f\x56\x9a\x38\x06\xa3\x14\x08\x61\x47\xf8\x22\x4d\
+\x14\x69\x82\x28\x24\x8a\x6c\xc7\xb0\x1d\x60\xb2\xf7\xc6\x08\x81\
+\xd3\x6e\xfe\xd4\xc9\x85\x4a\x2c\x67\x20\x25\x61\x10\xb7\xd4\xdc\
+\x01\x57\x34\xe6\xc5\xba\xb3\xd6\x73\x74\x49\x33\xea\xd7\x09\xeb\
+\x75\x9c\xb8\xc1\xbf\x3d\x1c\xf2\x9b\xff\x7a\xa0\x19\xc5\xdc\x81\
+\x6d\xdb\x4e\xdf\xec\x2c\xd2\x4f\x47\x80\x2c\xa2\xcf\x92\x3e\x59\
+\x10\x98\xc6\x09\x9d\x3c\x3e\xfd\x98\x56\x3c\x9c\xe8\xfd\x4f\x9b\
+\x74\xda\x77\xa6\x1d\x01\x0c\x40\x3e\x9f\xff\x60\x4f\x4f\xcf\x65\
+\x1b\x37\x6e\xe2\xfa\xeb\x5f\xc7\x05\x17\x5c\xc0\x9a\x35\x83\x78\
+\x9e\x8b\xeb\xba\x6c\xd8\x70\x36\x23\x23\xc3\x80\x60\x69\x69\xc1\
+\x3b\x78\x78\xac\xff\x0b\x5f\xb9\xbb\x7e\xd9\x25\x9b\x96\xd6\x8e\
+\xf6\x97\x1c\x21\x44\x14\x2a\xa2\x38\x26\x8a\x62\xc2\x20\xb6\xf5\
+\xbe\xd2\xa8\x30\x4e\xf5\x00\xda\x7c\x11\x05\x31\x51\x18\x11\x04\
+\x16\x0f\x08\xec\xa2\xc9\x3a\x81\xfa\x32\x69\x30\xb6\x21\x46\x24\
+\x1d\xe0\x49\x37\x30\x76\x0d\xbe\x46\xad\xda\x5a\x38\xb8\xc5\xab\
+\x78\x4a\xae\x19\x5d\xcb\xd2\xfc\x0c\x43\x65\x41\x63\x6e\x9a\x7f\
+\xd8\xd2\xe2\xb7\xbe\x38\x51\x33\x86\xdb\xb1\x93\x34\xdb\x6c\x68\
+\x96\xd9\xeb\xc4\xcc\x75\x52\x7e\x36\xd4\x77\x6a\xe6\x48\x2b\x7a\
+\x35\xe5\x9f\x0a\xfc\x3d\x6d\x92\xde\x81\x3a\xfd\x48\xf2\xe5\x67\
+\xf6\xf4\xf4\xbc\x7b\x70\x70\x68\xf8\xaa\xab\xae\xe6\xba\xeb\x5e\
+\xc5\xf9\xe7\x5f\x40\x57\x57\x9f\x0d\xc1\x82\x64\xb7\x0c\xbb\x2e\
+\x4e\xb9\x5c\x62\x61\x7e\x9e\x85\xc5\xa5\xd2\x2d\xdf\xba\x6f\x69\
+\xfd\xba\xa1\xa5\x0d\x67\x8e\x54\x30\x42\x44\x61\x44\x1c\x29\x54\
+\x18\x12\x29\x8d\x8a\x14\xda\xa8\x84\x07\x50\x44\x81\x22\x6c\x85\
+\xc4\x61\x4c\x9c\x70\xfd\x42\x1b\x8b\xf7\x84\x5c\x9e\x62\x20\xa4\
+\x44\x63\x27\x8c\x58\xeb\x38\x91\xcd\x16\x42\xd0\x68\x34\xea\xea\
+\xf8\x8e\x5c\xb9\xab\x24\x73\xa5\x32\x45\x5d\xc5\xb4\x1a\xfc\xf3\
+\xdd\xe3\xfc\xaf\xaf\xcd\x2d\x62\x15\xff\x1d\x56\xc6\xf2\xb3\x48\
+\x3c\xeb\xed\xab\x29\x3d\xcd\xe1\xa7\x23\x41\xd6\x00\x1e\x4b\xf9\
+\x9d\x42\xfe\xd3\xae\x7c\x38\xf5\xda\xf3\xa6\x54\x2a\x5d\x59\xa9\
+\x54\xde\xb5\x6e\xdd\x59\xf9\x57\xbc\xe2\x95\x5c\x74\xd1\x25\x54\
+\x2a\x15\x96\x96\x16\x39\x7e\x7c\x82\xb1\xb1\x71\x26\x27\x27\xd8\
+\xb7\x6f\x0f\x07\x0e\xec\xe7\xcc\x33\xcf\x20\xe7\xe7\x99\x9e\x3a\
+\x4e\xb5\xd6\xe8\xba\xed\x8e\x87\xea\x17\x9d\xbf\xa1\xb1\x76\xa8\
+\xbf\xa8\xa2\x58\x44\x61\x44\x14\xda\xdf\x1c\x05\xc9\x08\x5f\x14\
+\x11\x05\x11\xb1\xd2\xc4\x26\x21\x86\x34\xb6\x92\x30\x22\x59\xbf\
+\xc1\x24\x17\x68\x43\x3e\x32\x69\x3d\xef\xb0\x59\x93\x74\x1c\x96\
+\xe6\xa6\xab\x7e\x30\x91\xef\xed\x29\x3b\x7d\x8d\x43\x38\xd2\xf0\
+\xd9\xbb\xa7\xf9\xdf\x5f\x9b\x5b\x34\x76\x49\x96\xbb\xe8\xbc\xf7\
+\x6e\x27\xe5\x77\x2a\xf3\x56\x0b\xfd\x69\xc0\x97\xf5\xfa\xd5\x06\
+\x77\x3a\x95\x79\x3f\x14\xe5\xc3\xca\xee\x13\x69\x69\x1b\x83\xe3\
+\x79\xde\x4f\x74\x75\x75\xdf\x78\xc1\x05\x17\x71\xdd\x75\xd7\x33\
+\x32\x32\x8a\xd6\xb0\xb8\x38\xc7\x8e\x1d\xdb\xd9\xb2\xe5\x01\x76\
+\xed\xda\xce\xcc\xcc\x14\x77\xdd\xf5\x5d\x16\x17\x17\xe9\x1f\x58\
+\x03\x08\xa6\xa6\x8e\x13\xc5\xaa\xf2\xcd\xef\x3c\x18\x5f\x7d\xc5\
+\xe6\xb0\xbb\x52\xca\xa9\x58\x89\x30\x52\xb6\x15\x3c\x8a\x21\x82\
+\x58\x29\x3b\xd3\x3b\x51\x85\x91\x96\xc8\xc1\x11\x18\x48\x96\x50\
+\x35\x08\x99\x34\x9f\x62\x12\x8e\x81\x95\xd9\x3f\x99\xcb\x9f\xde\
+\xf7\x50\x60\x6a\x53\xf9\x0d\xc5\x9a\x74\x54\xc0\xfb\xff\xed\x38\
+\x7f\xf1\xdd\xd9\xa3\x06\xfe\x15\xdb\xbc\x99\xde\x73\x27\xcd\xe9\
+\x77\x02\x78\x9d\xce\x75\xe2\xf3\x3b\xf5\xf3\xa7\xcb\xbe\x6c\x04\
+\xe8\xe4\xf9\xf0\x43\x54\x3e\xac\xae\x7c\x0d\x9c\x19\x04\xc1\x65\
+\xc6\x68\x7a\x7a\xfa\xa8\x54\xca\x38\x8e\x24\x0c\x5b\x34\x9b\x41\
+\xb2\xe8\x03\x1c\x39\x72\x98\x83\x07\xf7\xb3\xb0\x30\xcf\xee\xdd\
+\xbb\xb8\xff\xfe\x7b\x39\x7a\xf4\xc8\xf2\x07\x36\x1a\xad\x9e\xff\
+\xf9\xfb\x9f\x69\xcc\x2d\xd4\x95\xd2\xda\x0e\xf1\xc6\x1a\x13\x1b\
+\x5b\x06\x1a\x43\x32\x29\xdc\x4e\x0f\x33\x62\x25\xbf\x63\x73\xff\
+\xf2\xc8\xa3\x90\xd6\x10\x56\x13\x21\xd0\x71\x84\x13\xd7\xf3\xba\
+\x59\x97\x93\x61\x89\x5f\xfd\xdc\x02\xff\xb9\x75\xe9\x28\xf0\x79\
+\xe0\x00\x27\x4f\xd0\xec\xa4\xb0\x4e\x8a\x5d\x4d\xe1\xd9\x68\xb1\
+\x5a\xce\xef\x94\xef\xe9\xf0\xf7\x0f\x55\xb2\xcb\x8f\xa7\x01\xe0\
+\x59\x4a\xa9\x97\x7b\x9e\xc7\xc8\xc8\x08\xe5\x72\x17\x61\xa8\x98\
+\x98\x98\xe0\xf0\xe1\x83\x4c\x4e\x8e\x33\x3e\x3e\xce\x81\x03\xfb\
+\xd9\xbb\x77\x2f\x95\x4a\x85\x4a\xa5\x8b\xe9\xe9\x29\x16\x17\x17\
+\x4e\xf8\x92\x9d\xfb\x8e\xf5\x7f\xe3\x3b\xdf\x3f\x5e\xab\x06\x4a\
+\xa9\x64\x14\xd0\x28\x8c\x04\xa5\xad\xc7\x2f\xbb\x83\x00\x8c\x41\
+\x6a\x6d\xa7\xf1\xa3\x97\xef\x90\xe8\x98\xa9\x52\x62\x60\xfe\xf8\
+\x58\xd8\x57\x11\xbe\xec\x19\x10\x1f\xf9\xdc\x11\x6e\x79\x64\xf1\
+\x28\xb6\x7f\xef\x20\x2b\x9b\x2d\x64\x51\x79\x27\xe5\xa7\x3b\x76\
+\xd2\xe5\x5d\x16\xe8\x65\x4b\xc4\x4e\x21\xfe\x54\xb5\xfd\x33\xa6\
+\x7c\x38\x71\xff\x59\x58\xb9\xbb\x2e\x70\x2e\xb0\x76\xcd\x9a\x61\
+\xce\x3a\x6b\x23\xb9\x5c\x81\xe9\xe9\x09\x1e\x79\x64\x2b\x0f\x3d\
+\xf4\x7d\x8c\x31\xdc\x7d\xf7\x9d\x34\x1a\x75\xba\xba\xba\x51\x2a\
+\x66\x69\x69\x71\xb5\xef\xf1\x3f\xf1\x57\x5f\xa8\xbc\xf2\xaa\x4b\
+\x44\xa9\x98\x43\x25\x3d\x7d\x16\xe1\x4b\xdb\x00\x22\x40\x1a\x83\
+\x14\x12\x9d\x6c\xa3\xa6\x21\x69\x11\x3f\x15\x5f\x65\x81\x9f\xe7\
+\x3a\xa0\x23\x82\xda\x4c\xe3\xd1\x3d\x53\xa5\xcf\xdf\x73\x4c\x3c\
+\x7c\x60\xfe\x30\xf0\x05\xec\x6e\x1b\xc9\xc4\xc4\x93\xbc\xb2\xd3\
+\xa0\x4d\x7a\x24\x2f\x5b\xce\xa9\xd4\xeb\xd9\x12\x31\x9b\xe3\xd3\
+\xcf\xe1\x19\x42\xfa\xa7\x92\xec\x16\xe4\x60\x2f\x68\x04\x78\xa9\
+\xeb\xba\x6c\xda\xb4\x89\xb5\x6b\xd7\x12\x86\x21\xdb\xb6\xfd\x80\
+\xfb\xee\xbb\x87\x66\xb3\xc5\xfe\xfd\x7b\x71\x5d\x8f\xb5\x6b\xcf\
+\xe4\xf0\xe1\x83\x00\x27\xed\x9a\x95\x96\x46\x2b\xec\xba\xed\xee\
+\x07\xa7\x5e\xf7\xf2\x2b\x06\x96\x37\x4e\x84\xa4\xb3\x07\x94\x31\
+\x48\xe1\x2c\x83\x3f\x8b\xfe\x57\x57\xbc\x10\x02\x47\x4a\x5c\xd7\
+\xa1\x11\x04\xdc\x7b\xff\x0e\xee\xd9\xf2\x28\xbb\x76\xee\xed\x99\
+\x5d\xac\x31\x57\x8b\x16\xb0\x61\xff\x58\xf2\x96\x6c\x99\xf7\x58\
+\x24\x4f\x27\xd0\xd7\x89\xde\x3d\x55\xb9\x97\xf5\xf6\xf4\x39\x78\
+\x86\x95\x0f\x2b\x11\xa0\x7d\xa7\x25\x96\x0b\x5f\x07\xbc\xaa\xb7\
+\xb7\x8f\xf5\xeb\x37\x52\x28\x94\x19\x1b\x3b\xc6\xfd\xf7\xdf\xc7\
+\x81\x03\xfb\xf1\x7d\x9f\x83\x07\x0f\x12\x45\x11\x0b\x0b\xf3\xa7\
+\x54\x7c\x5a\xfe\xf1\xf3\xb7\x45\xd7\x5d\x7d\x09\x8e\xe7\xda\xe6\
+\x8d\xf6\x28\x1e\x2e\x8e\x54\x16\x08\x26\xdb\xb6\x75\x84\x77\x49\
+\x49\x28\x85\x60\xa9\xd6\x60\xcb\xb6\x3d\xdc\xb3\x65\x07\x8f\xee\
+\x39\x44\xb5\xd6\xa0\xd1\x6c\x4d\xc4\xb1\xde\x05\xec\xc2\x76\xf0\
+\xb4\x73\x51\xd6\x23\xd3\x06\x90\xf5\xee\x4e\xad\x5a\x9d\xc6\xf0\
+\xdb\x7f\xa7\x39\xfd\x4e\x83\x3a\xab\x11\x3a\xcf\xb8\xf2\x61\x65\
+\x0f\x7a\x52\x8f\x3e\xb0\xc9\x71\x9c\x75\x23\x23\x23\x8c\x8e\x0e\
+\x53\xad\x2e\xb1\x63\xc7\x23\xec\xde\xbd\x8b\xae\xae\x5e\xb6\x6e\
+\x7d\x90\x56\xab\x09\xc0\x69\xea\x1e\x80\x85\x6a\x7d\xb8\x51\x6f\
+\xc5\xe5\x42\xd1\x37\xda\x2e\xce\x69\xef\x94\x5e\xe6\x15\x56\x13\
+\x63\x0c\x53\x33\x8b\xdc\xf7\x83\x9d\xdc\xf5\xc0\x76\xb3\x73\xef\
+\x11\xe2\x38\x56\x71\xac\x26\x62\xad\x77\x00\x8f\x60\x9b\x37\xda\
+\xb4\x6c\xa7\x9a\x3b\x8d\xca\x3b\x01\xb8\x53\x75\xee\xa4\x73\x7c\
+\xf6\xef\x4e\xde\x9f\x36\x00\x52\xe7\xd2\x6c\xdf\x33\x2e\xe9\xe1\
+\xe0\x36\xfa\x1f\x02\x5e\x01\x50\x28\x94\x28\x16\x4b\xcc\xce\x1e\
+\xe7\xee\xbb\xef\xa0\x56\xab\xb3\x77\xef\xee\x53\xe5\xfa\xc7\x12\
+\xe7\x1b\xdf\x7d\x68\xec\xe7\xde\x72\xfd\x3a\xe9\x08\x94\x59\x26\
+\xf0\x96\x27\x8f\xd9\x89\x9c\xda\x32\x85\x5a\x33\x36\x39\xc3\x7d\
+\x3f\xd8\xc5\x5d\xf7\x3d\xa2\xf6\x1e\x1a\x37\xda\xe8\x10\xc3\x41\
+\x6d\xcc\x4e\x2c\xaa\x5f\x64\xc5\x0b\xd3\x37\x5d\xa5\xce\xa5\x95\
+\xdf\x49\xe9\x59\x8f\x4f\x87\xfc\xd3\x41\xf9\x59\x3e\x21\x1d\xe6\
+\x61\xf5\x28\xf0\x8c\x4b\x36\x05\x68\x60\x18\x78\xb5\x52\x8a\x6a\
+\x75\x91\xd9\xd9\x59\x76\xec\xd8\xc6\xd8\xd8\x31\x8e\x1f\x9f\x64\
+\x69\x69\x09\xa5\x9e\x98\x11\x07\x41\xc4\xad\x77\x6e\xd1\x3f\xff\
+\x13\xd7\x5b\x3c\x2f\xed\x57\x0b\x20\x56\x9a\x20\x8c\x68\xb4\x02\
+\xf6\x1f\x9e\x60\xcb\xc3\xbb\xb9\xf3\xfe\x47\xc2\xc9\xe9\x79\x85\
+\x4d\x4b\xfb\xb0\xa1\x7d\x3f\x76\xe1\x85\xf6\x75\x67\x73\x6c\xf6\
+\xb1\xad\xa8\x6c\x18\xef\x14\xe2\xd3\x00\x30\x4d\xea\x64\x95\xdf\
+\x29\xd7\x77\xf2\xfe\x67\x15\xe0\xeb\x24\xed\x14\xd0\x3e\x5c\xe0\
+\x1c\x60\xbd\x5d\xe2\x74\x98\x7b\xef\xbd\x9b\x9d\x3b\xb7\x33\x31\
+\x31\xce\xd2\xd2\xc2\x69\xe7\xfb\xd5\x64\x7a\x76\xa1\x5f\x6b\xa3\
+\x7d\xcf\x91\xad\x20\xa4\xd1\x0a\xa8\xd6\x9a\x1c\x38\x32\xc1\xfd\
+\x5b\x77\x71\xfb\xdd\x5b\x5b\xcd\x20\x0c\xb1\xe1\x7c\x3f\xb0\x1b\
+\x3b\x0b\x47\xb1\x3c\xd5\xa4\xa3\xe2\x3b\x29\x27\x8b\xdc\x57\xcb\
+\xf7\x9d\x14\x9f\x8d\x18\x8f\x35\x88\xd3\x7e\x0e\x27\x1a\x61\xfb\
+\xf9\xb3\x4e\xf9\x70\x62\x0a\xd0\xc0\x00\xf0\x2a\xb0\x60\x6b\x7e\
+\x7e\x8e\x03\x07\xf6\x51\xad\x56\xa9\xd5\xaa\x44\x51\xfc\xa4\xbf\
+\x50\x6b\x2a\x5b\x1e\xd9\x5b\xaf\x94\x0a\xa5\xed\x7b\x0e\xf1\xc0\
+\xc3\x7b\xcc\x0f\x1e\xdd\x57\x8f\x63\xd5\xc2\x82\xb6\xed\x58\xa5\
+\x4f\x91\x70\x82\xc9\x75\xb6\xc7\x2d\x3a\x79\xd5\x6a\x5c\x7b\x27\
+\x84\xdf\x29\x02\x74\x1a\xed\xcb\x1a\x4e\x56\xd9\xd9\x94\xd3\xa9\
+\xdc\xcb\xfe\xfd\xac\x13\x81\x05\x7d\xed\x1a\x79\x33\xf0\x65\xe0\
+\xec\xa7\xef\x1b\x05\xe5\x62\xae\x5e\xab\xb7\x02\x6c\xd3\xe5\x34\
+\x36\xbc\xef\x05\x8e\x63\x95\xdd\x56\xb8\x61\xc5\xeb\xd3\x37\x32\
+\xab\x8c\xb4\x12\xd2\xde\x9a\xee\xbb\xcb\x76\xea\x74\x1a\xe4\x49\
+\x47\x86\x4e\xde\x9f\x0d\xf9\xa7\x43\xee\x3c\x6b\x95\x0f\x27\x46\
+\x00\x17\xd8\xc0\xd3\xa7\xfc\x26\xb0\x88\x31\x0b\xb5\x7a\x6b\x1c\
+\xab\xf0\x03\x58\xaf\xf7\xb0\x0a\x6f\x1b\xe3\xf2\x70\x34\x9d\x01\
+\x54\x27\x2f\xec\x14\xaa\xd3\x8a\x0d\x39\x51\xc1\x2a\x73\xbe\x53\
+\xc8\x5f\x2d\xcf\x9f\x2a\xc7\x3f\x67\x94\x0f\x2b\x18\xc0\x60\x77\
+\xfb\x78\xc5\x53\xfc\xf9\x0b\xc0\x5c\x72\x1c\xc6\x2a\xfc\x30\xd6\
+\x18\xfc\xe4\xfb\x0b\x9c\x48\x42\x69\x4e\x1c\x93\x80\xce\x06\x91\
+\x0d\xf7\x9d\x8e\x4e\x25\x5e\xd6\x00\x56\x53\x7c\xb6\xd4\xeb\x84\
+\xf8\x9f\xd3\xca\x07\x7b\x63\xf3\xd8\x8b\xdd\x80\x6d\x8a\x5c\x65\
+\xe1\xfd\xd3\x92\x18\x3b\x67\xfe\x20\x56\xd9\x33\xc0\x2c\x16\xd0\
+\x09\xac\xa7\x7b\xb0\xbc\xef\x7d\x9a\x80\xca\x5e\x57\x5b\xb2\x9e\
+\xdf\xbe\xf1\x59\x06\xae\x93\xf2\x3a\xe5\xfa\x4e\xf9\xbd\x13\x9b\
+\x97\x8e\x26\x9d\xca\xcc\x4e\x2c\x5f\xf6\x7a\x9f\xf5\x92\x2e\x03\
+\x5d\x9e\x98\xf2\x67\x80\x47\xb1\x88\xfd\x18\xd6\xdb\x17\x80\x3a\
+\xc9\x32\xce\xac\x84\xf8\x74\x2e\xef\xe4\xe9\x6d\x69\xdf\xc4\xf4\
+\xa4\x0c\x38\xf1\xe6\x77\xf2\xd2\xf4\xf3\x34\x78\xeb\x94\xe7\xb3\
+\x58\x20\x0d\x26\xb3\xe1\x3f\xcb\xe8\x65\x8f\x6c\xdd\xff\x9c\x91\
+\x76\x53\x84\xc4\x02\xb2\x3b\x80\xeb\x4e\xe3\x7d\x3b\x80\x6d\xc0\
+\x4e\x2c\x5a\x5f\x4c\xde\x1f\x62\x43\xbb\xcf\xc9\x4a\x87\xce\xca\
+\x87\x13\x79\x88\x74\x3a\x48\x1b\x40\x3a\xd7\x77\xca\xf9\x59\xb6\
+\x2e\xcd\xfa\x65\xeb\xfa\xf4\x7b\x56\x43\xf8\x59\x52\x27\x8b\xf0\
+\x4f\x45\xf3\x3e\x67\x24\x1d\x01\x16\xb1\xc3\xa6\xd7\x75\xf8\x7f\
+\xb3\xd8\xce\xd9\x2d\x58\xc4\x3e\x8f\x55\x78\x1d\xab\x60\x1f\xbb\
+\x6f\x40\x3b\xaf\x67\xeb\xf4\xec\xd1\x0e\xff\xe9\xdc\xde\x56\x38\
+\x9c\x78\x53\xb3\xb4\x6a\x3a\xfc\x67\xa9\xd9\xd5\xbc\x3b\x0b\xfe\
+\x56\x0b\xf3\xab\x51\xbb\x9d\x42\x7d\xba\xec\x7b\xce\x4a\xba\x0a\
+\x88\xb1\xdb\x98\xe4\x81\x9b\xb0\x1e\xbc\x13\xb8\x13\x5b\x9e\xd5\
+\x93\x23\x62\x25\xac\xb7\x3d\x3d\xdb\x5b\x07\x9d\xf3\x78\x5b\xf1\
+\xd9\x08\xd0\x09\x3c\xe9\xd4\xff\x4d\xe7\x5f\x43\x67\x5a\xf6\xb1\
+\x30\x40\x36\x5a\x64\x15\x7c\x2a\xd4\x9f\xbe\xb6\xac\x21\x3c\xa7\
+\x45\x60\x3d\xb7\x1d\xaa\x25\x50\x04\xba\x58\x69\x9b\x6a\x2f\x79\
+\xda\xae\xcd\x3d\x56\x6a\xf5\x74\xcd\x9e\x7e\xad\xfd\x5c\xa4\x3e\
+\xbb\x5d\xcf\xb7\xbf\x37\x5b\xdf\x67\x51\x74\xda\xd3\xb2\x06\x90\
+\x56\x72\x56\xa9\xd9\xfa\xbf\x93\x31\x74\x42\xf6\xe9\xd4\x92\x36\
+\x80\xf6\xf5\x64\x8d\xf4\x39\x1b\xf6\xd3\xd2\x69\x6e\x60\x88\x05\
+\x72\x12\xab\xbc\xb4\x81\x64\x43\x74\x27\xaf\x48\x87\xd3\x36\x99\
+\xd3\x36\x2e\xc5\xc9\x9d\x47\x69\x10\x98\xbe\xe1\xd9\x50\x9b\xfe\
+\x3f\x9d\x50\x7b\xfa\x79\x36\xd4\x9f\x6e\x6d\xdf\x89\xdc\x81\x93\
+\x95\xff\xbc\x91\x4e\x06\x90\x46\xe0\xe9\xe7\xed\x90\x9c\xbe\x09\
+\x59\x85\xb6\xd1\x74\x7a\xbe\x41\xda\x6b\xb3\x2d\x68\xab\x95\x78\
+\x9d\x8c\x29\xeb\xfd\x59\x4f\xcd\x86\xf6\x2c\xd8\x4b\x47\x88\xec\
+\x61\x56\xf9\x2e\xe8\xac\xfc\xe7\x8d\x11\xb4\x0d\x40\xb3\x7a\x38\
+\x6e\xdf\xa4\xb6\xc2\xda\x8a\x8c\x59\x59\x0a\xbd\x53\x64\x68\xbf\
+\xa7\x1d\x49\xb2\x39\x3f\xfb\x9e\xd5\x6a\xeb\xf4\x6b\xe9\x23\x4e\
+\xbd\xde\x09\xb8\x65\x0d\x61\x35\x32\xa7\xd3\xb9\xd5\x0c\x20\xfd\
+\xf8\xbc\x90\xec\x60\x50\x76\xc0\x25\x7d\x63\xb2\x9e\x9e\x6d\x26\
+\x49\xa3\xfb\xb6\x41\xb5\x8f\x34\x60\x4a\x87\xfe\xec\x77\xa5\xc3\
+\xee\x6a\xca\x6a\x8f\x48\xad\x66\x00\x59\xe5\x77\x02\x74\xab\x29\
+\xbf\x2d\xcf\xfb\xd0\xdf\x96\xcc\xde\xaa\x27\x28\x3b\x1d\x72\xf9\
+\xff\xdb\x39\xa3\xed\x06\x61\x18\x86\xaa\xdb\xff\xff\xf1\x46\xf7\
+\xa4\xb3\x8b\x90\x43\x9f\x01\xbd\x24\x0d\x09\xd9\xa9\x6c\xcb\x31\
+\x65\x3a\xbe\x40\x62\x22\xfc\x05\x32\x4f\xd8\xb4\x4f\x2c\x73\xbd\
+\xd7\xb4\x73\x7e\x1a\x04\x75\xd9\xfb\x26\xd1\x53\x94\x68\xc7\x39\
+\x66\xf5\x8a\xfe\x99\xf7\x5f\x0e\x2e\x04\x49\xdd\x23\x3d\x6e\xaf\
+\x4f\xfc\x68\xff\x6e\x5d\x7a\x3d\x0d\x20\x31\x91\x9f\x7a\xcf\xb6\
+\x25\x6a\xa9\xdd\xf6\x7c\x69\x1f\x05\x1a\xc9\xbc\x8f\x74\x34\x8e\
+\xcb\x12\x6f\x64\x04\x60\xe6\xde\xf4\x3c\x93\x3e\x66\xed\xdf\x31\
+\xd7\xfa\xef\xdc\x22\x43\xbf\xd7\x49\xeb\xf3\xb6\x49\x4c\x92\xf9\
+\x59\x9a\x13\xbc\x33\x23\xcb\xeb\xf9\xb7\x5d\x1a\x36\x00\x5a\xfc\
+\x16\x73\xf2\xa7\x9a\x94\x87\xcc\x01\x5e\x3a\x4a\x45\x4b\xfe\x58\
+\x0c\x5a\x49\x80\xdb\xf4\xe8\x0c\xe5\x2d\x61\x9c\x12\x4b\x2d\xf6\
+\xbc\x05\xe9\x84\x25\xc0\x04\x26\xf9\xc2\xb5\x1c\xdb\xa2\x65\x9d\
+\xa0\x19\x00\x93\xc4\x46\x9a\xd1\x12\xbf\x0c\xff\x2b\x63\xc9\x71\
+\xe9\x33\x03\xb8\x25\x18\x01\xa6\xfa\x3d\x43\xba\xe7\xb2\xc0\x63\
+\xad\x4f\xef\xcf\x07\x3d\x44\xca\x47\x23\x27\x8d\x63\x25\x13\x2b\
+\x23\x78\xc7\x1a\xee\x21\xdd\x98\x7c\x69\x2e\x04\xa5\x57\x7e\x95\
+\x31\x93\xc8\x9f\x6e\xbd\x62\x8d\xef\xe7\xf9\x9e\xb7\x95\xf1\x24\
+\x65\x4a\xd4\xa6\xd0\x7d\xa6\xeb\xd9\x67\x7b\x5b\xa4\x04\x90\x0c\
+\x97\x6e\x8d\x4c\xfe\x48\xf0\xa4\xfb\xf9\xb4\x2f\x49\x17\xae\x71\
+\x4e\x1a\xdb\xef\x30\x47\x3a\x92\xfe\x49\x21\xe7\xf6\xc4\x1b\x7e\
+\x58\xd3\x42\x36\x49\x64\x35\x8f\xff\x55\xa4\xbd\x5d\xcc\x7b\xe4\
+\x5e\xf4\x62\xe6\x0f\x93\xe7\x4b\x7b\xa9\xc8\x39\xfc\xfc\x69\x05\
+\xef\x21\x1f\x60\x1d\x40\x3a\x46\x02\xc3\x5f\x2e\x8f\x74\xac\xf8\
+\x79\x2d\x5b\x62\x45\xc6\x99\x01\x64\xe8\x9f\xee\x33\xe9\xfa\x43\
+\xfc\x02\xed\x11\xed\x14\x09\xd8\xcf\x0a\x1f\xfb\x34\x90\x49\x83\
+\x85\x31\x62\xca\xda\x57\x72\xe1\x7e\x2b\xe5\xb6\x3d\x1e\x00\x2b\
+\xed\xe6\x1c\x95\xf1\x76\xec\xcb\xba\x80\xf4\x6f\x10\x52\x27\x23\
+\xbd\x7e\x3a\x92\x9e\x69\xfa\x99\x71\x3d\x28\xf8\x03\xe9\x4a\x01\
+\xef\xb4\x3e\x14\xed\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\
+\x82\
+\x00\x00\x08\x79\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xaf\xc8\x37\x05\x8a\xe9\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x08\x0b\x49\x44\x41\x54\x78\xda\x62\
+\xfc\xff\xff\x3f\x03\x0c\x30\x32\x32\x32\x90\x03\x36\x6f\x3e\x64\
+\xc8\xc5\xc5\xb1\x9e\x95\x95\x55\xfe\xce\x9d\x3b\x3e\x49\x49\xa1\
+\x7b\x80\xc2\xbf\x80\xf8\x3f\x3e\x7d\x20\xbb\x01\x02\x88\x89\x81\
+\x42\xb0\x6a\xd5\x4e\x45\x66\x66\xe6\x7d\x26\x26\x5a\xf2\x62\x62\
+\x82\x0c\xd7\xae\x5d\x16\x07\x0a\xf3\x01\x31\x33\x31\xfa\x01\x02\
+\x88\x62\x07\xfc\xfe\xfd\xaf\x41\x53\x53\x41\x80\x8f\x8f\x1b\xc8\
+\xfe\xc3\xf0\xee\xdd\x3b\x1e\xa0\x30\x07\x28\x40\xd1\xd5\xee\xd9\
+\x73\x4a\x60\xf3\xe6\xfd\x82\xc8\x72\x00\x01\x44\xb1\x03\x80\xc0\
+\x5e\x41\x41\x0a\xcc\xf8\xf3\xe7\x2f\xc3\xaf\x5f\xbf\xb1\xc6\xe3\
+\x86\x0d\x07\x04\x7e\xfe\xfc\x75\x80\x95\x95\x7d\x23\x90\x0b\x72\
+\x24\x0b\x48\x1c\x20\x80\x58\x28\xb5\x9d\x9b\x9b\x53\xfe\xef\xdf\
+\x7f\x60\x36\xd0\x72\x20\xfe\x83\xa1\x66\xf1\xe2\x6d\x60\xcb\x0d\
+\x0d\xd5\xf5\xdf\xbe\xfd\x08\x12\x92\x00\xe2\xe7\x40\xfc\x05\x20\
+\x80\x28\x0e\x81\x1f\x3f\x7e\x41\x2d\xfe\xcd\x00\xb4\x04\x18\x0a\
+\xa8\x0e\x98\x3e\x7d\x2d\xd8\x72\x60\x1a\xd1\x97\x93\x93\x60\x00\
+\x26\x56\x90\x30\x28\x1a\xd8\x40\x0c\x80\x00\xa2\xd8\x01\xdf\xbf\
+\xff\x84\x3b\x00\xe4\x18\x50\x3a\x80\x81\xee\xee\xc5\x60\xcb\xad\
+\xad\xf5\xf5\x95\x94\xa4\xc1\x62\x8f\x1e\xbd\x80\x85\x3c\x38\xaa\
+\x00\x02\x88\x85\x1a\x21\xf0\xf3\xe7\x6f\x30\x1b\x14\x02\xb0\x28\
+\x48\x4c\x2c\x01\x59\xbe\xdb\xc9\xc9\x04\x6c\xf9\xbf\x7f\xff\x18\
+\x3e\x7c\xf8\xcc\x70\xeb\xd6\xbd\xcb\x40\xe9\xbf\xb0\x2c\x0a\x10\
+\x40\x54\x70\x00\x24\x04\x60\x8e\x01\x85\x80\xb6\xb6\x29\x9f\xb8\
+\xb8\xfc\x16\x7b\x7b\x23\x3d\x65\x65\x19\xb0\xd8\x9b\x37\x1f\x19\
+\xb6\x6d\x3b\xf2\x75\xcb\x96\xd5\xd3\x81\x4a\xbf\x81\x32\x10\x48\
+\x0f\x40\x00\xb1\x50\x2b\x0d\xc0\xd8\xcc\xcc\x6c\x3c\x76\x76\x41\
+\xab\x1c\x1d\x4d\xb4\x54\x54\x64\x81\x96\xff\x05\x5a\xfe\x01\x54\
+\x58\x7d\xdd\xb4\x69\x79\xd9\xfe\xfd\x5b\xce\x02\x95\xbe\x01\x29\
+\x07\xe9\x01\x08\x20\xaa\x84\x00\x28\xe8\x61\x51\x20\x25\xa5\x56\
+\xe1\xe6\x66\xc1\xa3\xaa\x2a\x07\x4e\x90\xaf\x5f\xbf\x67\xd8\xb8\
+\xf1\xe0\xd7\x9d\x3b\x57\x97\x1d\x39\xb2\x13\x64\xf9\x33\x20\x7e\
+\x0f\xca\xb5\x20\x3d\x00\x01\x44\xa5\x10\xf8\x03\xa6\x2f\x5e\xbc\
+\xcd\xe0\xea\x6a\xc1\xa3\xa6\x26\x0f\xb7\x7c\xfd\xfa\x7d\x5f\xf7\
+\xef\xdf\x58\x76\xf2\xe4\x5e\x90\xe5\x4f\xa1\xbe\xff\x09\x4b\x03\
+\x00\x01\xc4\x42\x79\x49\xf8\x87\xe1\xd3\xa7\xaf\x0c\x2b\x57\xee\
+\x66\x30\x32\x52\x67\xd0\xd0\x50\x00\x5b\xfe\xea\xd5\x3b\x86\xb5\
+\x6b\xf7\x7e\x3d\x7a\x74\x5b\xd9\xf9\xf3\x07\xb1\x5a\x0e\x02\x00\
+\x01\x44\x94\x03\x0e\x34\x68\x3a\xfe\xfb\xff\x9f\x09\x58\x57\x31\
+\x3a\x36\xdc\x38\x80\x9c\x8a\x41\x3e\x5f\xb1\x62\x17\x83\xae\xae\
+\x0a\x83\xba\xba\x3c\xdc\xf2\x55\xab\x76\x7d\x3d\x73\x66\x77\xd9\
+\x95\x2b\xc7\x70\x5a\x0e\x02\x00\x01\x84\xd3\x01\x5b\xca\x34\x05\
+\x98\x99\x18\x26\xf0\x8a\x32\x07\x48\x68\x73\xf0\xb3\x71\x32\x31\
+\xfc\xff\xf5\x9f\xe1\xec\x04\x9d\x4f\x6f\xde\xfe\xaa\x72\x6f\xbe\
+\x35\xf7\x40\x93\x1a\xd7\x91\x37\xb7\x19\xd8\x64\xec\xc0\x16\x7f\
+\xfd\xfa\x9d\xe1\xdb\xb7\x1f\x0c\x6b\xd6\xec\xfd\x7a\xfa\xf4\xae\
+\xb2\x5b\xb7\x4e\xe1\xb5\x1c\x04\x00\x02\x08\xab\x03\x56\xe6\x6a\
+\x38\x32\xb2\x32\xae\x33\x0c\xe5\x13\x10\xd7\x62\x47\x91\x93\x36\
+\xe7\xe4\xbb\xbb\xf9\xe3\x94\xd5\xc5\xca\x9c\x82\xdc\x2c\x71\x82\
+\x7f\x98\x18\xa2\xd3\x02\xc1\x16\xf7\xf7\x2f\x67\x78\xfa\xf4\x15\
+\xd0\xe7\xc4\x59\x0e\x02\x00\x01\x84\xe1\x80\x45\x19\xea\x8e\xfc\
+\xe2\xcc\xfb\x9c\x92\x78\x19\x58\x39\x18\x19\xbe\xde\xfc\xc6\xf0\
+\xeb\xc3\x3f\x06\x26\x36\x46\x06\x5e\x05\x16\x06\x66\x56\x46\x06\
+\x65\x67\x4e\x86\x6f\xaf\xfe\x74\xcb\x58\x71\x30\x28\x3d\xf9\xc0\
+\xb0\x7a\xf5\x5e\x70\x6e\x78\xf1\xe4\x21\xc3\xef\xd7\x47\xfa\x80\
+\x96\x9f\x83\xa6\x76\xbc\x96\x83\x00\x40\x00\x31\x22\x37\x48\xe6\
+\xa6\x68\x0a\x70\x71\x33\xde\x0f\xce\xe3\x02\x05\x3f\xc3\x83\xa3\
+\xbf\x18\x6e\x5c\xff\xbe\xe7\xf0\xb5\x2f\x3b\xe5\x45\xd9\x44\x6d\
+\x74\x78\xb2\xb4\x7c\x39\x79\x98\x81\x8e\xf9\xf9\xe5\x1f\x03\x3b\
+\x0f\xa4\x24\xbf\x71\x95\x9b\xe1\xf5\x95\x3f\x0c\x92\x8a\xbf\x19\
+\xe6\x2e\x7e\x54\xd4\xb1\xfe\xc5\x16\xa8\xef\xbf\xe3\xb3\x1c\x64\
+\x37\x40\x00\xa1\x84\x00\x30\x41\x17\x9a\xd8\x31\x09\xb0\xfd\xfd\
+\xcd\x70\x79\xcf\x5f\x86\x2d\x87\x3e\xf6\x57\x2d\x7b\x02\xaa\x3e\
+\xdf\x01\xf1\xd7\x39\x99\x8a\x1f\xc4\xd4\x99\xda\xc4\x15\x99\x18\
+\xd8\x41\x25\xf9\x57\x60\x91\xf6\xf1\x3f\xc3\xff\x7b\xdf\x19\x4c\
+\x83\x79\x19\x3e\xdc\xff\xcb\x60\xa3\xc1\xeb\x76\xac\x55\x20\xfc\
+\xdf\x7f\x86\x73\xdf\x7e\xfc\xdb\xe8\xd6\x72\x6b\x1f\x34\xcf\x63\
+\x75\x08\x40\x00\xa1\x54\x46\xcc\x6c\xff\xe3\x55\x15\xff\x32\x7c\
+\x7a\xf2\x8b\xe1\xd4\xf9\x1f\x7b\xa0\x96\x83\x82\xf2\x11\xc8\x47\
+\xac\x8c\xcc\x0f\x3f\xbf\x06\x9a\xf5\xe5\x17\x18\x7f\x7d\xfe\x8b\
+\xe1\xd6\xb1\x7f\x0c\xf2\x4e\x5c\x0c\x1c\xc0\x1a\x9e\x5b\x98\x91\
+\xc1\x3a\x98\xcf\xc3\x32\x5d\xc0\x5c\xdb\x83\x3b\x53\x56\x85\x7d\
+\xc7\x8e\x6a\xf5\x69\xa0\x5a\x1b\x57\xc5\x07\x10\x40\x28\x82\x12\
+\xa2\xff\xe4\x19\xbe\xfe\x62\xf8\xf1\xe1\x37\xc3\xc3\x97\xbf\xef\
+\x02\x85\x3e\x00\xf1\x6b\x20\xfe\x0c\x8a\x4b\x66\x06\xe6\x08\x11\
+\x7e\x60\xb1\x0b\x54\xf3\xf9\xe5\x1f\x86\x33\x07\x19\xbe\x32\x73\
+\x31\x02\xab\x58\xa0\xe7\xbe\xff\x61\xe0\x05\x56\xb2\x02\xe2\x8c\
+\x60\x36\x88\xd6\x70\x66\x67\x50\xd6\x66\x4b\x59\x5d\xa8\xda\x0e\
+\xd4\xcf\x8b\xcd\x11\x00\x01\x84\x22\x20\xcc\x0b\xcc\xde\xdf\x7e\
+\x31\xfc\xfd\xfa\x87\x81\x89\x91\x59\x14\x5a\x5e\x83\xca\xd9\x7f\
+\xd3\xe2\x35\x12\x65\x25\xfe\xf8\x0a\xb0\xfd\x64\xf8\xf4\xea\x2f\
+\xc3\xf1\x63\xcc\x5f\xa7\x6e\x7f\x55\xf6\xe7\x37\xd0\xf2\x1f\xbf\
+\xe1\xf8\xf3\xfd\x5f\x0c\xef\xae\xfd\x02\xd3\x20\xbe\x8a\x29\x13\
+\x83\xb4\x24\x6b\x4e\xbc\xbd\xa8\x21\xd0\x1c\x4e\xf4\xa6\x1a\x40\
+\x00\xa1\xa4\x81\x07\x8f\x18\x19\xac\xd4\x7e\x31\x48\x02\x03\xcc\
+\x48\x91\x3b\xa8\xc6\x47\x99\x85\x99\x99\xf1\x26\x17\x1b\x93\x85\
+\x96\xec\x77\x5b\x73\xd5\x1f\x0c\x1f\x5e\x31\x33\x1c\xba\xcc\xfd\
+\x75\xc1\x81\xd7\x65\xeb\x4f\xbf\x3b\x5b\x1a\x01\x6c\x83\xfe\x80\
+\x54\xc1\x8f\xaf\x30\x30\x5c\xba\xfc\x0b\x98\x68\x3f\xef\x74\xd0\
+\xe6\x75\xd1\xd6\x61\x73\x97\xd5\x61\x60\x90\x57\x67\x60\x30\xbc\
+\xca\xed\xbf\xf0\xe0\xeb\xeb\x50\x4f\xfd\x85\xd9\x09\x10\x40\x28\
+\x0e\xb8\xfd\x8c\xf9\xe8\xcb\x67\xff\xad\xc5\xf9\x7e\x33\xf8\xe9\
+\xff\x62\xd0\x97\x62\xf5\x03\x89\x0b\x70\xff\x63\xe0\xe7\xfa\xcb\
+\xf0\xfe\x03\x2b\xc3\xde\xeb\xfc\x5f\x17\x1f\x7d\x5d\xb6\xe9\xec\
+\x3b\x70\x3e\x87\x84\x00\xb0\x10\x02\x46\xd2\xe5\x4b\xff\x2f\xfb\
+\xb4\xdf\x06\x05\xf7\xdb\xce\x0d\x2f\x36\x6c\xaf\x56\x9f\x25\x24\
+\xce\xe0\x28\x0a\x0c\x4b\x11\x5e\x36\x47\xa0\xf8\x54\x20\xfe\x88\
+\xec\x00\x80\x00\x42\x89\x82\x57\x1f\x7f\x95\x2f\x3a\x28\xf0\xf9\
+\xe5\x4b\x50\x8d\xfd\x9b\x41\x9e\xfb\x1b\x18\x73\xfe\xf9\xc5\x70\
+\xee\x2e\x17\xc3\xa6\xf3\x02\x2f\xe7\x1f\x7c\x03\xb2\xfc\x0c\xac\
+\x90\xf9\xf3\x0b\xe2\x80\x17\x0f\xff\x33\xec\xbb\xfc\x79\x3d\xb4\
+\xa6\x03\x25\xdc\x27\xcf\xdf\xfd\x59\x00\x12\x67\xfd\xfb\x87\x01\
+\xd8\x68\x06\xb5\x03\xb9\x80\x98\x15\xd9\x4e\x80\x00\x42\x09\x81\
+\x69\x07\x1e\x9c\x8a\xb1\x90\x09\x9a\xf0\x4d\xb8\x46\x4d\xe4\x9f\
+\x3d\x17\xfb\x3f\x06\x70\x79\xf0\x81\xed\xde\xb3\x8f\x3f\x76\xaf\
+\x3f\xfb\x78\xeb\x83\xd7\x3f\x40\x16\x83\x9c\xf8\x16\x94\x30\xff\
+\xfc\xf9\xf7\x11\x18\xd7\xfc\xbf\x80\x39\xfe\xfd\x97\x7f\xa0\x44\
+\xfb\x09\x9a\x68\x7f\x00\x13\xed\xf3\x5f\xdf\xff\x82\xd3\x02\x37\
+\x27\x33\xa8\xbf\xc0\x8e\x6e\x27\x40\x00\xa1\x97\x84\x7f\x96\x9c\
+\x78\x72\x04\x48\x47\x02\xb1\x10\xb4\xf9\x0c\xea\x60\xfc\x83\x96\
+\x68\x9f\xa0\x39\xe3\x33\xb4\x45\xf3\xff\xe1\x53\xa6\xcb\xc0\x10\
+\xb0\xe1\x01\x36\x31\x65\x85\x38\xf5\x81\x62\xeb\xa1\xea\x19\x80\
+\x2d\x74\x3b\x36\xc6\x3f\xe0\x10\xba\x76\xff\xdf\x65\x6c\x7d\x05\
+\x80\x00\x42\xcf\x16\xff\xa1\x16\x81\x8a\xd0\x87\xa0\x64\x01\xc4\
+\x37\x81\xf8\x16\x10\xdf\x85\x06\xfb\x07\xe4\x6e\x17\xd0\x73\x0f\
+\xdf\xbe\xfe\xcf\x20\xce\xf5\x93\x41\x51\x84\x25\x38\xcc\x4c\x1c\
+\x94\xda\xd9\xba\xc3\x55\x8d\x18\xfe\xfd\xcf\x95\xe5\xff\xc1\x00\
+\x92\xff\xf4\xed\xdf\x0b\xa8\xa3\xff\x21\x5b\x08\x10\x40\xd8\x2a\
+\xa3\xff\x50\x85\xbf\x89\xa9\xaa\xdf\x7f\xf9\xbb\xe4\xe2\x6d\xf6\
+\x68\x27\xad\x4f\x0c\x9e\x7a\x1f\x79\x7e\xfc\xe0\x5f\xa7\x23\xc5\
+\x77\x82\x87\xfd\xbf\xa6\x9f\xd1\x07\x7e\xb6\xbf\x7f\x19\x2e\xde\
+\xe6\x63\xb8\xf5\xfc\xfb\x51\x68\x0e\x40\x69\xb7\x03\x04\x10\x23\
+\x15\x3a\xa7\xac\x3d\x11\x6a\x07\xc3\x8d\xdf\x59\xca\x08\xfc\xc4\
+\x90\x7c\xfd\x85\x95\x61\xd6\x11\xc1\xcb\x35\x6b\xef\x66\x43\x43\
+\xf5\x05\x34\x04\xc1\x75\x01\x40\x00\x51\xa3\x6b\xf6\xe7\xc6\xb3\
+\x6f\xe9\xeb\xce\x09\x7e\x7e\xfc\x92\x19\x52\x26\x40\x31\x88\xbf\
+\xec\xa4\xd0\xd7\xb5\xa7\x5f\x75\x43\xb3\xdf\x47\xf4\x10\x00\x08\
+\x20\x6a\x84\x00\x38\x14\x82\x8c\x24\x0c\xd4\xc4\xb9\x6b\x55\x44\
+\xfe\xf9\x8a\x71\xff\x62\x78\xf5\x95\x8d\xe1\xda\x4b\x86\x3d\x7b\
+\xaf\xbf\x5d\x78\xf1\xf1\xa7\xeb\xd0\xf4\xf3\x16\x39\x6a\x41\x76\
+\x03\x04\x18\x00\x02\x25\xa9\xd2\x7a\x2a\xd4\xc0\x00\x00\x00\x00\
+\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x01\x45\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x18\x00\x00\x00\x09\x08\x06\x00\x00\x00\x28\xfd\xec\xc6\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd1\x0c\x12\x00\x36\x0d\xdd\xfb\xfa\xf7\x00\x00\x00\xd2\x49\x44\
+\x41\x54\x78\x9c\xbd\x52\x31\x0a\xc2\x40\x10\x9c\x5b\xee\x17\x5b\
+\x6b\xab\x10\x08\xf8\x82\xd8\xc4\x3a\x6f\x90\x74\x79\x83\xe9\x62\
+\x65\x91\xc6\xfc\x22\xb6\xf1\x03\x27\xfa\x05\xe1\xe0\x7c\x40\x0a\
+\x21\xdc\x59\x08\x92\xa0\x89\x8d\x71\x60\xab\x9d\xd9\xdd\xd9\x5d\
+\x60\x64\x08\x00\x20\x92\xae\x8f\x60\x6d\x23\x86\x0a\x7c\xd3\x0a\
+\x22\xe9\xa2\x28\xc2\x76\x9b\xc1\x18\xd3\x21\x54\xd5\x11\x49\x92\
+\xf4\x36\x21\x92\x2e\xcb\x32\x4c\xa7\x13\x78\x9e\xd7\xc9\x29\xa5\
+\x10\x86\xab\x27\xa9\x2c\x0f\x8e\x48\x0e\xc6\xa7\xe2\x43\x61\xcc\
+\xcd\x11\x49\x27\x01\x80\x99\xdf\xd6\x41\x24\x5d\x1c\xaf\x11\x04\
+\x4b\x30\x33\xe6\xf3\x59\xa7\xc1\xe9\xa4\x00\x00\x5a\x6b\x84\xe1\
+\xea\x4d\xfb\xda\x06\x91\x74\xe7\xf3\x65\x5c\x07\x45\xb1\x47\x9e\
+\xef\xe0\xfb\x8b\xd7\x54\x5a\x5f\x51\xd7\xf7\xde\x1b\x58\xdb\x88\
+\xb6\xcb\x36\x98\x19\x69\xba\x01\xf0\x87\x2f\x1a\xd2\xfe\x04\x0f\
+\x26\x4c\x83\xdb\xee\x28\xff\x47\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+"
+
+qt_resource_name = "\
+\x00\x0e\
+\x05\x73\xce\xc7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x66\x00\x61\x00\x6d\x00\x69\x00\x6c\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x06\xe1\x5a\x27\
+\x00\x64\
+\x00\x6f\x00\x77\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x05\xab\xbf\x87\
+\x00\x6d\
+\x00\x6f\x00\x6e\x00\x74\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x01\x31\x8d\xc7\
+\x00\x73\
+\x00\x70\x00\x65\x00\x61\x00\x6b\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x05\xe2\x59\x27\
+\x00\x6c\
+\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x07\x17\x80\x27\
+\x00\x73\
+\x00\x63\x00\x68\x00\x65\x00\x64\x00\x75\x00\x6c\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x05\x4b\xcb\x27\
+\x00\x6e\
+\x00\x65\x00\x77\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x08\x4b\x76\xc7\
+\x00\x70\
+\x00\x72\x00\x69\x00\x76\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x0f\xa1\x1a\x07\
+\x00\x6b\
+\x00\x64\x00\x6d\x00\x63\x00\x6f\x00\x6e\x00\x66\x00\x69\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0c\x0e\x3c\xa7\
+\x00\x6b\
+\x00\x66\x00\x6d\x00\x5f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x08\x94\x60\x47\
+\x00\x73\
+\x00\x65\x00\x61\x00\x72\x00\x63\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x05\x30\x1a\xc7\
+\x00\x61\
+\x00\x64\x00\x64\x00\x5f\x00\x75\x00\x73\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x08\x5d\x84\xe7\
+\x00\x66\
+\x00\x6f\x00\x72\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x06\x3d\x9c\xa7\
+\x00\x67\
+\x00\x6f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x07\
+\x01\xd0\x57\xa7\
+\x00\x6b\
+\x00\x66\x00\x6d\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x08\xf8\x7a\x67\
+\x00\x6e\
+\x00\x68\x00\x73\x00\x5f\x00\x73\x00\x63\x00\x6f\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x19\
+\x01\x13\x2f\xc7\
+\x00\x6e\
+\x00\x65\x00\x77\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x5f\x00\x6c\x00\x61\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x70\x00\x61\x00\x64\
+\x00\x53\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x09\xcd\x39\x67\
+\x00\x62\
+\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x6f\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x06\x38\x5a\xa7\
+\x00\x68\
+\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x06\
+\x07\x76\x57\x47\
+\x00\x70\
+\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x07\
+\x0b\xf7\x57\xa7\
+\x00\x74\
+\x00\x78\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x10\
+\x05\x5b\x5a\xc7\
+\x00\x6b\
+\x00\x61\x00\x64\x00\x64\x00\x72\x00\x65\x00\x73\x00\x73\x00\x62\x00\x6f\x00\x6f\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x0e\x5d\xf3\x47\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x6d\x00\x6f\x00\x6c\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x09\
+\x08\x87\xae\x67\
+\x00\x76\
+\x00\x63\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0a\xa1\x0f\x27\
+\x00\x77\
+\x00\x69\x00\x64\x00\x65\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x08\x90\x59\x67\
+\x00\x6b\
+\x00\x61\x00\x72\x00\x6d\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x03\xb5\x0e\x27\
+\x00\x76\
+\x00\x63\x00\x61\x00\x6c\x00\x65\x00\x6e\x00\x64\x00\x61\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x05\
+\x00\x6f\xa6\x53\
+\x00\x69\
+\x00\x63\x00\x6f\x00\x6e\x00\x73\
+\x00\x0c\
+\x0a\xcd\x1c\xa7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x0f\x07\x5a\xc7\
+\x00\x65\
+\x00\x78\x00\x69\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0b\x1e\xc1\xe7\
+\x00\x73\
+\x00\x61\x00\x76\x00\x65\x00\x5f\x00\x61\x00\x6c\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x06\xb9\xb8\x07\
+\x00\x61\
+\x00\x70\x00\x70\x00\x74\x00\x5f\x00\x6f\x00\x76\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x07\
+\x0e\xb3\x57\x87\
+\x00\x68\
+\x00\x64\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x07\x9e\x5a\x47\
+\x00\x62\
+\x00\x61\x00\x63\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x09\xc8\xc6\x47\
+\x00\x65\
+\x00\x72\x00\x61\x00\x73\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0e\
+\x08\x3a\x46\xc7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x72\x00\x65\x00\x6c\x00\x6f\x00\x61\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x00\x6d\xa2\x27\
+\x00\x61\
+\x00\x63\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x08\x01\x84\x87\
+\x00\x63\
+\x00\x68\x00\x61\x00\x69\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x04\x66\xb0\xc7\
+\x00\x6d\
+\x00\x65\x00\x6d\x00\x6f\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x08\x4a\xc9\x87\
+\x00\x65\
+\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x09\xf1\x8f\xc7\
+\x00\x70\
+\x00\x65\x00\x6e\x00\x63\x00\x69\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x07\xa0\x86\x47\
+\x00\x73\
+\x00\x65\x00\x70\x00\x61\x00\x72\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x10\
+\x01\xbc\x1f\x87\
+\x00\x63\
+\x00\x68\x00\x61\x00\x69\x00\x6e\x00\x2d\x00\x62\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+"
+
+qt_resource_struct = "\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x01\
+\x00\x00\x02\xfc\x00\x02\x00\x00\x00\x07\x00\x00\x00\x26\
+\x00\x00\x01\xb6\x00\x00\x00\x00\x00\x01\x00\x01\xd0\x26\
+\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x00\x11\x1f\
+\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x01\xa6\x95\
+\x00\x00\x02\xdc\x00\x00\x00\x00\x00\x01\x00\x03\x54\x7b\
+\x00\x00\x01\x30\x00\x00\x00\x00\x00\x01\x00\x01\x90\x12\
+\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x44\x98\
+\x00\x00\x02\x4a\x00\x00\x00\x00\x00\x01\x00\x02\x53\xee\
+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x38\x00\x00\x00\x00\x00\x01\x00\x00\x0e\xa6\
+\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x16\x6f\
+\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x02\x27\x55\
+\x00\x00\x01\x6a\x00\x00\x00\x00\x00\x01\x00\x01\x9d\x67\
+\x00\x00\x03\x5e\x00\x00\x00\x00\x00\x01\x00\x03\x7d\xfb\
+\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x08\x3f\
+\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x29\xfd\
+\x00\x00\x02\x24\x00\x00\x00\x00\x00\x01\x00\x02\x36\x01\
+\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x04\x8e\x3a\
+\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x04\x87\xfb\
+\x00\x00\x03\xbe\x00\x00\x00\x00\x00\x01\x00\x04\x9c\x7c\
+\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x01\x00\x01\x5a\x68\
+\x00\x00\x01\x4e\x00\x00\x00\x00\x00\x01\x00\x01\x97\x27\
+\x00\x00\x02\x90\x00\x00\x00\x00\x00\x01\x00\x02\xce\xf3\
+\x00\x00\x02\xc6\x00\x00\x00\x00\x00\x01\x00\x03\x44\xa4\
+\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x01\x89\xef\
+\x00\x00\x01\x98\x00\x00\x00\x00\x00\x01\x00\x01\xb4\x0c\
+\x00\x00\x03\xa4\x00\x00\x00\x00\x00\x01\x00\x04\x94\x79\
+\x00\x00\x01\xee\x00\x00\x00\x00\x00\x01\x00\x02\x21\xe0\
+\x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x02\xe1\x51\
+\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x03\x68\xbb\
+\x00\x00\x03\x40\x00\x00\x00\x00\x00\x01\x00\x03\x78\xd2\
+\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x02\x3c\x66\
+\x00\x00\x00\xf8\x00\x00\x00\x00\x00\x01\x00\x01\x78\xb0\
+\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x02\x63\x70\
+\x00\x00\x03\x7a\x00\x00\x00\x00\x00\x01\x00\x04\x2d\x0b\
+\x00\x00\x03\x2a\x00\x00\x00\x00\x00\x01\x00\x03\x71\x53\
+\x00\x00\x00\xd8\x00\x00\x00\x00\x00\x01\x00\x01\x68\x67\
+\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x01\x00\x04\xa4\x5d\
+\x00\x00\x04\x7c\x00\x00\x00\x00\x00\x01\x00\x05\x1e\x8b\
+\x00\x00\x04\x12\x00\x00\x00\x00\x00\x01\x00\x04\xaf\x54\
+\x00\x00\x04\x5e\x00\x00\x00\x00\x00\x01\x00\x05\x16\x0e\
+\x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x04\xae\x22\
+\x00\x00\x04\x2a\x00\x00\x00\x00\x00\x01\x00\x04\xb8\x6f\
+\x00\x00\x04\x44\x00\x00\x00\x00\x00\x01\x00\x04\xd6\x28\
+"
+
+def qInitResources():
+ QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+def qCleanupResources():
+ QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+qInitResources()
diff --git a/src/openmolar/qt4gui/customwidgets/schedule_control.py b/src/openmolar/qt4gui/customwidgets/schedule_control.py
new file mode 100644
index 0000000..0fd638d
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/schedule_control.py
@@ -0,0 +1,532 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.dbtools.brief_patient import BriefPatient
+
+from openmolar.qt4gui.appointment_gui_modules.draggable_list \
+ import DraggableList
+from openmolar.qt4gui.appointment_gui_modules.list_models \
+ import SimpleListModel, BlockListModel
+
+from openmolar.qt4gui.dialogs.find_patient_dialog import FindPatientDialog
+
+from openmolar.qt4gui.pt_diary_widget import PtDiaryWidget
+
+LOGGER = logging.getLogger("openmolar")
+
+class DiaryScheduleController(QtGui.QStackedWidget):
+ BROWSE_MODE = 0
+ SCHEDULE_MODE = 1
+ BLOCK_MODE = 2
+ NOTES_MODE = 3
+ mode = BROWSE_MODE
+
+ CLINICIAN_SELECTED = 0
+ CLINICIAN_ANY_DENT = 1
+ CLINICIAN_ANY_HYG = 2
+ CLINICIAN_ANY = 3
+ selection_mode = CLINICIAN_SELECTED
+
+ appointment_selected = QtCore.pyqtSignal(object)
+ patient_selected = QtCore.pyqtSignal(object)
+ show_first_appointment = QtCore.pyqtSignal()
+ chosen_slot_changed = QtCore.pyqtSignal()
+ move_on = QtCore.pyqtSignal(object)
+ find_appt = QtCore.pyqtSignal(object)
+ start_scheduling = QtCore.pyqtSignal()
+
+ pt = None
+ available_slots = []
+ hygienist_slots = []
+
+ _chosen_slot = None
+
+ excluded_days = []
+ ignore_emergency_spaces = False
+ finding_joint_appointments = False
+
+ use_last_slot = False
+
+ pt_diary_widget = None
+
+ def __init__(self, parent=None):
+ QtGui.QStackedWidget.__init__(self, parent)
+ self.patient_label = QtGui.QLabel()
+
+ icon = QtGui.QIcon(":/search.png")
+ self.get_patient_button = QtGui.QPushButton(icon, "")
+ self.get_patient_button.setMaximumWidth(40)
+
+ self.appt_listView = DraggableList(True, self)
+ self.block_listView = DraggableList(False, self)
+
+ self.appointment_model = SimpleListModel(self)
+ self.appt_listView.setModel(self.appointment_model)
+ self.appt_listView.setSelectionModel(
+ self.appointment_model.selection_model)
+ self.appt_listView.setSelectionMode(QtGui.QListView.SingleSelection)
+
+ block_model = BlockListModel(self)
+ self.block_listView.setModel(block_model)
+
+ icon = QtGui.QIcon(":vcalendar.png")
+ diary_button = QtGui.QPushButton(icon, "")
+ diary_button.setToolTip(_("Open the patient's diary"))
+
+ icon = QtGui.QIcon(":first.png")
+ self.first_appt_button = QtGui.QPushButton(icon,"")
+ self.first_appt_button.setToolTip(_("Launch the Appointment Wizard"))
+
+ icon = QtGui.QIcon(":back.png")
+ self.prev_appt_button = QtGui.QPushButton(icon, "")
+ self.prev_appt_button.setToolTip(_("Previous appointment"))
+
+ icon = QtGui.QIcon(":forward.png")
+ self.next_appt_button = QtGui.QPushButton(icon, "")
+ self.next_appt_button.setToolTip(_("Next available appointment"))
+
+ self.appt_controls_frame = QtGui.QWidget()
+ layout = QtGui.QGridLayout(self.appt_controls_frame)
+ layout.setMargin(1)
+ layout.addWidget(diary_button,0,0)
+ layout.addWidget(self.first_appt_button,0,1)
+ layout.addWidget(self.prev_appt_button,0,2)
+ layout.addWidget(self.next_appt_button,0,3)
+ self.appt_controls_frame.setSizePolicy(
+ QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
+ QtGui.QSizePolicy.Minimum))
+
+ # now arrange the stacked widget
+
+ #page 0 - Browsing mode
+ self.addWidget(QtGui.QLabel("Browsing"))
+
+ #page 1 -- scheduling mode
+ widg = QtGui.QWidget()
+ layout = QtGui.QGridLayout(widg)
+ layout.setMargin(0)
+ layout.addWidget(self.patient_label,0,0)
+ layout.addWidget(self.get_patient_button,0,1)
+ layout.addWidget(self.appt_listView,2,0,1,2)
+ layout.addWidget(self.appt_controls_frame,3,0,1,2)
+
+ self.addWidget(widg)
+
+ #page 2 -- blocking mode
+ widg = QtGui.QWidget()
+ layout = QtGui.QVBoxLayout(widg)
+ layout.addWidget(self.block_listView)
+ self.addWidget(widg)
+
+ #page 4 -- notes mode
+ self.addWidget(QtGui.QLabel("Notes"))
+
+ #connect signals
+
+ self.appointment_model.appointment_selected.connect(
+ self.update_selected_appointment)
+
+ self.get_patient_button.clicked.connect(self.find_patient)
+
+ self.first_appt_button.clicked.connect(self.show_first_appt)
+ self.prev_appt_button.clicked.connect(self.show_prev_appt)
+ self.next_appt_button.clicked.connect(self.show_next_appt)
+
+ diary_button.clicked.connect(self.show_pt_diary)
+
+ self.appt_listView.pressed.connect(self.appointment_pressed)
+ self.appt_listView.clicked.connect(self.appointment_clicked)
+ self.appt_listView.doubleClicked.connect(self.appointment_2x_clicked)
+
+ def set_mode(self, mode):
+ if self.mode == mode:
+ return
+
+ if mode == self.SCHEDULE_MODE:
+ self.update_patient_label()
+ self.enable_scheduling_buttons()
+
+ self.mode = mode
+ self.setCurrentIndex(mode)
+
+ def set_patient(self, pt):
+ self.clear()
+ self.pt = pt
+ if pt is not None:
+ self.appointment_model.load_from_database(self.pt)
+ self.patient_selected.emit(self.pt)
+ self.enable_scheduling_buttons()
+
+ def set_chosen_appointment(self, appointment):
+ self.appointment_model.set_current_appt(appointment)
+
+ def get_data(self):
+ if self.pt is None:
+ self.clear()
+ return
+ self.appointment_model.load_from_database(self.pt)
+
+ @property
+ def patient_text(self):
+ if self.pt:
+ return "%s %s (%s)"% (
+ self.pt.fname, self.pt.sname, self.pt.serialno)
+ else:
+ return _("No patient Selected")
+
+ def find_patient(self):
+ dl = FindPatientDialog(self)
+ if dl.exec_():
+ self.clear()
+ pt = BriefPatient(dl.chosen_sno)
+ self.set_patient(pt)
+ self.update_patient_label()
+
+ def update_patient_label(self):
+ self.patient_label.setText(self.patient_text)
+
+ @property
+ def min_slot_length(self):
+ msl = 0
+ if self.mode == self.SCHEDULE_MODE:
+ msl = self.appointment_model.min_slot_length
+ return msl
+
+ @property
+ def min_hyg_slot_length(self):
+ msl = None
+ if self.mode == self.SCHEDULE_MODE:
+ msl = self.appointment_model.min_unscheduled_hyg_slot_length
+ return msl
+
+ def set_selection_mode(self, mode):
+ assert mode in (
+ self.CLINICIAN_ANY,
+ self.CLINICIAN_ANY_DENT,
+ self.CLINICIAN_ANY_HYG,
+ self.CLINICIAN_SELECTED), "selection mode misunderstood"
+ self.selection_mode = mode
+
+ @property
+ def selectedClinicians(self):
+ if self.selection_mode == self.CLINICIAN_ANY_HYG:
+ return localsettings.activehyg_ixs
+ if self.selection_mode == self.CLINICIAN_ANY_DENT:
+ return localsettings.activedent_ixs
+ if self.selection_mode == self.CLINICIAN_ANY:
+ return localsettings.activedent_ixs + localsettings.activehyg_ixs
+
+ return self.appointment_model.selectedClinicians
+
+ @property
+ def involvedClinicians(self):
+ return self.appointment_model.involvedClinicians
+
+ def set_ignore_emergency_spaces(self, bool_):
+ self.ignore_emergency_spaces = bool_
+
+ def sizeHint(self):
+ return QtCore.QSize(150, 200)
+
+ def update_appt_selection(self, appt):
+ '''
+ sync with the "patient diary" via signal/slot
+ '''
+ if appt is None or self.pt is None:
+ return
+ if appt.serialno != self.pt.serialno:
+ return
+ index = self.appointment_model.set_current_appt(appt)
+ self.appt_listView.setCurrentIndex(index)
+
+ def update_selected_appointment(self, appt):
+ self.available_slots = []
+ self._chosen_slot = None
+ self.enable_scheduling_buttons()
+
+ def appointment_clicked(self, index):
+ LOGGER.debug("ScheduleControl.appointment_clicked")
+
+ def appointment_pressed(self, index):
+ LOGGER.debug("ScheduleControl.appointment_pressed")
+ self.appointment_selected.emit(self.appointment_model.currentAppt)
+
+ def appointment_2x_clicked(self, index):
+ LOGGER.debug("ScheduleControl.appointment_clicked")
+ self.show_first_appointment.emit()
+
+ def clear(self):
+ self.appointment_model.clear()
+ self.reset()
+
+ def reset(self):
+ self.available_slots = []
+ self.hygienist_slots = []
+ self._chosen_slot = None
+ self.finding_joint_appointments = False
+
+ def show_first_appt(self):
+ '''
+ resets the chosen slot and emits show_first_appointment signal
+ '''
+ self._chosen_slot = None
+ self.show_first_appointment.emit()
+
+ @property
+ def _chosen_slot_no(self):
+ try:
+ return self.available_slots.index(self._chosen_slot)
+ except ValueError:
+ return 0
+
+ def show_next_appt(self):
+ try:
+ self._chosen_slot = self.available_slots[self._chosen_slot_no + 1]
+ self.chosen_slot_changed.emit()
+ except IndexError:
+ self._chosen_slot = None
+ self.move_on.emit(True)
+
+ def show_prev_appt(self):
+ try:
+ i = self._chosen_slot_no - 1
+ if i < 0:
+ raise IndexError
+ self._chosen_slot = self.available_slots[i]
+ self.chosen_slot_changed.emit()
+ except IndexError:
+ self._chosen_slot = None
+ self.move_on.emit(False)
+
+ def set_available_slots(self, slots):
+ self.available_slots = []
+ self.hygienist_slots = []
+
+ for slot in sorted(slots):
+ if (slot.dent in self.selectedClinicians
+ and slot.day_no not in self.excluded_days) :
+ self.available_slots.append(slot)
+
+ def set_joint_slots(self, dent_slots, hyg_slots, max_wait=10):
+
+ LOGGER.debug(
+ "ScheduleControl.set join slots %s %s"% (dent_slots, hyg_slots))
+ self.available_slots = []
+ self.hygienist_slots = []
+
+ all_dent_slots = []
+ all_hyg_slots = []
+ for slot in sorted(dent_slots):
+ if (slot.dent in self.selectedClinicians
+ and slot.day_no not in self.excluded_days) :
+ all_dent_slots.append(slot)
+
+ for slot in sorted(hyg_slots):
+ if slot.day_no not in self.excluded_days :
+ all_hyg_slots.append(slot)
+
+ appt = self.appointment_model.currentAppt
+
+ for slot in all_dent_slots:
+ hyg_slot, wait = slot.best_joint(
+ appt.length,
+ self.min_hyg_slot_length,
+ all_hyg_slots)
+
+ if wait <= max_wait:
+ self.available_slots.append(slot)
+ self.hygienist_slots.append(hyg_slot)
+
+ @property
+ def chosen_hyg_slot(self):
+ if self.hygienist_slots == [] or self.chosen_slot is None:
+ return None
+
+ appt = self.appointment_model.currentAppt
+
+ best_slot, wait = self.chosen_slot.best_joint(
+ appt.length,
+ self.min_hyg_slot_length,
+ self.hygienist_slots)
+
+ logging.info("WAIT TIME FOR HYGIENIST = %s minutes"% wait)
+ return best_slot
+
+ @property
+ def last_appt_date(self):
+ '''
+ returns the latest date of patient's appointments,
+ or today's date if none found
+ '''
+ last_d = QtCore.QDate.currentDate().toPyDate()
+ for appt in self.appointment_model.scheduledList:
+ if appt.date > last_d:
+ last_d = appt.date
+ return last_d
+
+ @property
+ def is_searching(self):
+ appt = self.appointment_model.currentAppt
+ return appt is not None and appt.unscheduled
+
+ @property
+ def search_again(self):
+ '''
+ this determines whether it is worth continuing
+ '''
+ return ( self.is_searching and
+ len(self.selectedClinicians)>0 and
+ len(self.available_slots)==0
+ )
+
+ @property
+ def chosen_slot(self):
+ if self.available_slots == []:
+ return None
+ if self._chosen_slot is None:
+ if self.use_last_slot:
+ i = -1
+ self.use_last_slot = False
+ else:
+ i = 0
+ self._chosen_slot = self.available_slots[i]
+ return self._chosen_slot
+
+ def set_excluded_days(self, days):
+ self.excluded_days = days
+
+ def show_pt_diary(self):
+ if self.pt is None:
+ QtGui.QMessageBox.information(self, _("error"),
+ _("No patient selected"))
+ return
+
+ def _find_appt(appt):
+ dl.accept()
+ self.find_appt.emit(appt)
+
+ def _start_scheduling():
+ dl.accept()
+ QtCore.QTimer.singleShot(100, self.start_scheduling.emit)
+
+ pt_diary_widget = PtDiaryWidget()
+ pt_diary_widget.find_appt.connect(_find_appt)
+ pt_diary_widget.start_scheduling.connect(_start_scheduling)
+ pt_diary_widget.appointment_selected.connect(
+ self.appointment_model.set_current_appt)
+
+ pt_diary_widget.set_patient(self.pt)
+ pt_diary_widget.layout_ptDiary()
+
+ dl = QtGui.QDialog(self)
+ but_box = QtGui.QDialogButtonBox(dl)
+ but = but_box.addButton(_("Close"), but_box.AcceptRole)
+ but.clicked.connect(dl.accept)
+
+ layout = QtGui.QVBoxLayout(dl)
+ layout.addWidget(pt_diary_widget)
+ layout.addStretch()
+ layout.addWidget(but_box)
+
+ dl.exec_()
+
+ self.appointment_model.load_from_database(self.pt)
+ self.enable_scheduling_buttons()
+
+ #now force diary relayout
+ self.appointment_selected.emit(self.appointment_model.currentAppt)
+
+ def enable_scheduling_buttons(self):
+ appt = self.appointment_model.currentAppt
+ enabled = (appt is not None and appt.unscheduled)
+ for but in (self.next_appt_button, self.prev_appt_button,
+ self.first_appt_button):
+ but.setEnabled(enabled)
+
+class TestWindow(QtGui.QMainWindow):
+ MODES = ("Browse", "Schedule", "Block", "Notes")
+ def __init__(self, parent=None):
+ QtGui.QMainWindow.__init__(self, parent)
+ self.schedule_controller = DiaryScheduleController()
+ self.but = QtGui.QPushButton()
+ self.but.clicked.connect(self.change_mode)
+
+ self.mode = self.schedule_controller.BROWSE_MODE
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QVBoxLayout(frame)
+ layout.addWidget(self.schedule_controller)
+ layout.addWidget(self.but)
+
+ self.set_but_text()
+
+ scroll_area = QtGui.QScrollArea()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+ self.setCentralWidget(scroll_area)
+
+ self.schedule_controller.appointment_selected.connect(
+ self.sig_catcher)
+ self.schedule_controller.patient_selected.connect(self.sig_catcher)
+ self.schedule_controller.show_first_appointment.connect(
+ self.sig_catcher)
+ self.schedule_controller.chosen_slot_changed.connect(self.sig_catcher)
+ self.schedule_controller.move_on.connect(self.sig_catcher)
+ self.schedule_controller.find_appt.connect(self.sig_catcher)
+ self.schedule_controller.start_scheduling.connect(self.sig_catcher)
+
+
+ def set_but_text(self):
+ self.but.setText("set mode (current='%s')"% self.MODES[self.mode])
+
+ def change_mode(self):
+ '''
+ toggle through the modes
+ '''
+ self.mode += 1
+ if self.mode > self.schedule_controller.NOTES_MODE:
+ self.mode = self.schedule_controller.BROWSE_MODE
+
+ self.set_but_text()
+ self.schedule_controller.set_mode(self.mode)
+
+ def sig_catcher(self, *args):
+ QtGui.QMessageBox.information(self, "signal",
+ "signal emitted %s"% str(args))
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("openmolar")
+
+ from openmolar.settings import localsettings
+ localsettings.initiate()
+
+ app = QtGui.QApplication([])
+ obj = TestWindow()
+ obj.show()
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py b/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py
new file mode 100644
index 0000000..14c0dec
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/simple_chartwidget.py
@@ -0,0 +1,274 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+'''
+has one class, a custom widget which inherits from QWidget
+'''
+
+from __future__ import division
+
+import re
+import sys
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui import colours
+from openmolar.settings import images
+
+GRID = (
+["ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1',
+'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8'],
+["lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1',
+'ll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8']
+)
+
+
+class SimpleChartWidg(QtGui.QWidget):
+ '''
+ a custom widget to show a standard UK dental chart
+ - allows for user navigation with mouse and/or keyboard
+ '''
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Expanding))
+
+ self.grid = GRID
+
+ self.selected = set()
+ self.highlighted = [-1, -1]
+ self.prevSelect = ()
+ self.setMinimumSize(self.minimumSizeHint())
+ self.showLeftRight = True
+ self.showSelected = False
+ self.setMouseTracking(True)
+
+ def sizeHint(self):
+ '''
+ set an arbitrary size
+ '''
+ return QtCore.QSize(800, 200)
+
+ def minimumSizeHint(self):
+ '''
+ arbitrary minimum size
+ '''
+ return QtCore.QSize(600, 200)
+
+ def setShowLeftRight(self, arg):
+ '''
+ a boolean for user preference whether to display right / left text
+ on the widget
+ '''
+ self.showLeftRight = arg
+
+ def setHighlighted(self, x, y):
+ '''
+ for mouseOver.
+ indicates a faint line is required around the tooth
+ '''
+ if [x, y] != self.highlighted:
+ self.highlighted = [x, y]
+ self.update()
+
+ def getSelected(self):
+ '''
+ returns a list of selected teeth in form ["ur8", "uld"]
+ '''
+
+ #return (self.selected, self.multiSelection)
+ selectedTeeth = []
+ for x, y in self.selected:
+ self.prevSelect = (x,y)
+ selectedTeeth.append(self.grid[y][x])
+ selectedTeeth.sort(reverse=True)
+ return selectedTeeth
+
+ def setSelected(self, x, y):
+ '''
+ set the tooth which is currently selected
+ '''
+ if not (x,y) in self.selected:
+ self.selected.add((x,y))
+ self.prevSelect = (x,y)
+ else:
+ self.selected.remove((x,y))
+ self.update()
+
+ def mouseMoveEvent(self, event):
+ '''
+ overrides QWidget's mouse event
+ '''
+ xOffset = self.width() / 16
+ yOffset = self.height() / 2
+ x = int(event.x() / xOffset)
+ if event.y() < yOffset:
+ y = 0
+ else:
+ y = 1
+ if x > 15:
+ x = 15
+ if x < 0:
+ x = 0
+
+ if self.grid[y][x] is None:
+ self.setHighlighted(-1, -1)
+ else:
+ self.setHighlighted(x, y)
+
+ def leaveEvent(self, event):
+ '''
+ cursor is leaving the widget
+ clear any selections
+ '''
+ self.setHighlighted(-1, -1)
+
+ def mousePressEvent(self, event):
+ '''overrides QWidget's mouse event'''
+ shiftClick = (event.modifiers() == QtCore.Qt.ShiftModifier)
+ ctrlClick = (event.modifiers() == QtCore.Qt.ControlModifier)
+ if not (shiftClick or ctrlClick):
+ self.selected.clear()
+ xOffset = self.width() / 16
+ yOffset = self.height() / 2
+ x = int(event.x() / xOffset)
+ if event.y() < yOffset:
+ y = 0
+ else:
+ y = 1
+
+ if self.grid[y][x] is None:
+ return
+
+ if (x,y) not in self.selected and shiftClick and self.prevSelect:
+ prevX, prevY = self.prevSelect
+ self.prevSelect = (x,y)
+ if x > prevX:
+ setX = range(prevX, x+1)
+ else:
+ setX = range(x, prevX+1)
+ for row in set([prevY, y]):
+ for col in setX:
+ self.selected.add((col, row))
+ self.update()
+ else:
+ self.setSelected(x,y)
+
+ def paintEvent(self, event=None):
+ '''
+ overrides the paint event so that we can draw our grid
+ '''
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ midline = self.width() / 100
+ #-- cell width
+ xOffset = (self.width() - midline) / 16
+ #-- cell height
+ yOffset = self.height() / 2
+ #--red pen
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 2))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 2))
+ sansFont = QtGui.QFont(14)
+ painter.setFont(sansFont)
+ fm = QtGui.QFontMetrics(sansFont)
+ leftpad = fm.width("Right ")
+ rightpad = fm.width(" Left")
+
+ #--big horizontal dissection of entire widget
+ painter.drawLine(leftpad, self.height() / 2, self.width() - rightpad,
+ self.height() / 2)
+ #--vertical dissection of entire widget
+ painter.drawLine(self.width() / 2, 0, self.width() / 2, self.height())
+
+ highlight_rects, selected_rects = [], []
+
+ for x in range(16):
+ midx = midline if x > 7 else 0
+ for y in range(2):
+ ident = self.grid[y][x]
+ rect = QtCore.QRect(x * xOffset + midx, y *yOffset,
+ xOffset, yOffset)
+
+ if ident is not None:
+ self.tooth(painter, rect.adjusted(-2, -2, 2, 2), ident)
+
+ if [x, y] == self.highlighted:
+ highlight_rects.append(rect.adjusted(1, 1, -1, -1))
+
+ if (x, y) in self.selected:
+ selected_rects.append(rect.adjusted(1, 1, -1, -1))
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.cyan, 1))
+ painter.setBrush(colours.TRANSPARENT)
+ for rect in highlight_rects:
+ painter.drawRoundedRect(rect, 5, 5)
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.darkBlue, 2))
+ for rect in selected_rects:
+ painter.drawRoundedRect(rect, 5, 5)
+
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+
+ textRect = QtCore.QRect(0, 0, self.width(), self.height())
+
+ if self.showLeftRight:
+ #--show left/right (this is done here to avoid being overwritten
+ #--during the rest of the paint job
+ painter.drawText(textRect, QtCore.Qt.AlignRight|
+ QtCore.Qt.AlignVCenter, (_("Left")))
+
+ painter.drawText(textRect, QtCore.Qt.AlignLeft|
+ QtCore.Qt.AlignVCenter, (_("Right")))
+
+ #--free the painter's saved state
+ painter.restore()
+
+ def tooth(self, painter, rect, ident):
+ if ident is None:
+ return
+ painter.save()
+ pm = images.toothPixmaps().get(ident)
+ if pm:
+ painter.drawPixmap(rect, pm)
+ else:
+ painter.drawText(rect, QtCore.Qt.AlignCenter, ident)
+
+ painter.restore()
+
+ def set_regex_mask(self, mask):
+ new_grid = ([],[])
+ for i, arch in enumerate(self.grid):
+ for tooth in arch:
+ if re.match(mask, tooth):
+ new_grid[i].append(tooth)
+ else:
+ new_grid[i].append("")
+ self.grid = new_grid
+ self.update()
+
+ def disable_lowers(self):
+ self.set_regex_mask("u[lr][1-8]")
+
+ def disable_uppers(self):
+ self.set_regex_mask("l[lr][1-8]")
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ app = QtGui.QApplication(sys.argv)
+ form = SimpleChartWidg()
+ #form.disable_lowers()
+ #form.disable_uppers()
+ form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/static_control_panel.py b/src/openmolar/qt4gui/customwidgets/static_control_panel.py
new file mode 100644
index 0000000..0798972
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/static_control_panel.py
@@ -0,0 +1,127 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from functools import partial
+from PyQt4 import QtCore, QtGui
+
+class StaticControlPanel(QtGui.QWidget):
+ '''
+ emits such strings as "AT", "TM", "RP" etc.
+ '''
+ clicked = QtCore.pyqtSignal(object)
+ deciduous_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ tm_button = QtGui.QPushButton("TM")
+ tm_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ tm_button.setToolTip(_("Mark the selected tooth as missing"))
+
+ at_button = QtGui.QPushButton("AT")
+ at_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ at_button.setToolTip(_("Mark the selected tooth as artificial"))
+
+ rp_button = QtGui.QPushButton("RP")
+ rp_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ rp_button.setToolTip(_("Mark the selected tooth as root present"))
+
+ perm_button = QtGui.QPushButton("+P")
+ perm_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ perm_button.setToolTip(_("Permanent Tooth Also Present"))
+
+ sup_button = QtGui.QPushButton("+S")
+ sup_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ sup_button.setToolTip(_("Supernumary Tooth Present"))
+
+ pe_button = QtGui.QPushButton("PE")
+ pe_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ pe_button.setToolTip(_("Mark the selected tooth as partially erupted"))
+
+ oe_button = QtGui.QPushButton("OE")
+ oe_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ oe_button.setToolTip(_("Mark the selected tooth as over erupted"))
+
+ ue_button = QtGui.QPushButton("UE")
+ ue_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ ue_button.setToolTip(_("Mark the selected tooth as partially erupted"))
+
+
+ dec_button = QtGui.QPushButton("Deciduous")
+ dec_button.setFocusPolicy(QtCore.Qt.NoFocus)
+ dec_button.setToolTip(_("Toggle selected tooth/teeth as deciduous"))
+
+ layout = QtGui.QGridLayout(self)
+ layout.setMargin(0)
+ layout.setSpacing(2)
+ layout.addWidget(tm_button, 0, 0)
+ layout.addWidget(at_button, 0, 1)
+ layout.addWidget(rp_button, 0, 2)
+
+ layout.addWidget(perm_button, 1, 0)
+ layout.addWidget(sup_button, 1, 2)
+
+ layout.addWidget(ue_button, 2, 0)
+ layout.addWidget(pe_button, 2, 1)
+ layout.addWidget(oe_button, 2, 2)
+
+ layout.addWidget(dec_button, 3, 0, 1, 3)
+
+ tm_button.clicked.connect(partial(self._but_clicked, "TM"))
+ at_button.clicked.connect(partial(self._but_clicked, "AT"))
+ rp_button.clicked.connect(partial(self._but_clicked, "RP"))
+
+ perm_button.clicked.connect(partial(self._but_clicked, "+P"))
+ sup_button.clicked.connect(partial(self._but_clicked, "+S"))
+
+ pe_button.clicked.connect(partial(self._but_clicked, "PE"))
+ oe_button.clicked.connect(partial(self._but_clicked, "OE"))
+ ue_button.clicked.connect(partial(self._but_clicked, "UE"))
+
+ dec_button.clicked.connect(self.deciduous_signal.emit)
+
+ def sizeHint(self):
+ return QtCore.QSize(150,150)
+
+ def _but_clicked(self, message):
+ self.clicked.emit(message)
+
+ def setEnabled(self, arg):
+ '''
+ this unneccesary re-implementation allows the code to run on python 2.6
+ (untested)
+ '''
+ QtGui.QWidget.setEnabled(self, arg)
+
+if __name__ == "__main__":
+
+ def sig_catcher(*args):
+ print args, widg.sender()
+
+ from gettext import gettext as _
+
+ app = QtGui.QApplication([])
+ widg = StaticControlPanel()
+ widg.clicked.connect(sig_catcher)
+ widg.show()
+ widg.setEnabled(1==2)
+ app.exec_()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/customwidgets/toothProps.py b/src/openmolar/qt4gui/customwidgets/toothProps.py
new file mode 100644
index 0000000..932378e
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/toothProps.py
@@ -0,0 +1,851 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009-2013 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+import logging
+import re
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.settings import allowed
+from openmolar.qt4gui.compiled_uis import Ui_toothProps
+from openmolar.qt4gui import colours
+from openmolar.qt4gui.dialogs.crown_choice_dialog import CrownChoiceDialog
+from openmolar.qt4gui.dialogs.implant_choice_dialog import ImplantChoiceDialog
+from openmolar.qt4gui.dialogs.chart_tx_choice_dialog import ChartTxChoiceDialog
+from openmolar.qt4gui.dialogs.bridge_dialog import BridgeDialog
+
+from openmolar.qt4gui.dialogs import toothprop_fulledit
+
+LOGGER = logging.getLogger("openmolar")
+
+class chartLineEdit(QtGui.QLineEdit):
+ '''
+ A custom line edit that accepts only BLOCK LETTERS
+ and is self aware when verification is needed
+ override the keypress event for up and down arrow keys.
+ '''
+ def __init__(self, parent=None):
+ QtGui.QLineEdit.__init__(self, parent)
+ self.om_gui = parent
+ self.originalPropList = []
+
+ def unsavedChanges(self):
+ '''
+ checks for unsaved changes
+ '''
+ result = not (self.originalPropList == self.propListFromText())
+ return result
+
+ def deleteAll(self):
+ '''
+ deletes all props
+ '''
+ self.setText("")
+ self.finishedEdit()
+
+ def deleteProp(self, prop):
+ '''
+ deletes all props
+ '''
+ new_props = []
+ for ex_prop in self.propListFromText():
+ if ex_prop.upper() != prop:
+ new_props.append(ex_prop)
+ self.updateFromPropList(new_props)
+
+ def finishedEdit(self):
+ '''
+ we have finished editing the text.. let the main gui know by
+ means of a signal
+ '''
+ props = str(self.text().toAscii())
+ if props != "" or (props == "" and self.originalPropList != []):
+ if not re.match ("..* $", props):
+ if props != "":
+ props = props + " "
+ self.emit(QtCore.SIGNAL("Changed_Properties"), props)
+
+ def additional(self, checkedAlready = False):
+ '''
+ we have finished editing, and moving on
+ '''
+ if checkedAlready or self.verifyProps():
+ self.updateFromPropList(self.propListFromText())
+ self.om_gui.tooth.clear()
+ self.om_gui.tooth.update()
+ self.finishedEdit()
+
+ def propListFromText(self):
+ '''
+ returns the current property list
+ '''
+ text = str(self.text().toAscii())
+ propList = text.strip(" ").split(" ")
+ return propList
+
+ def updateFromPropList(self, propList):
+ text = ""
+ for prop in propList:
+ if not prop in (""," "):
+ text += "%s "% prop
+ self.setKnownProps(text)
+ ##not sure these are needed??
+ self.om_gui.tooth.clear()
+ self.om_gui.tooth.update()
+ self.finishedEdit()
+
+ def setKnownProps(self, arg):
+ '''
+ put a string of props into the text, and set the known list of
+ properties
+ '''
+ self.setText(arg)
+ self.originalPropList = self.propListFromText()
+
+ def verifyProps(self):
+ '''
+ verify that the current text is valid
+ '''
+ snapshotPropList = self.propListFromText()
+ if snapshotPropList == self.originalPropList:
+ return True
+ for prop in self.originalPropList:
+ if not prop in snapshotPropList:
+ self.originalPropList.remove(prop)
+ verified = True
+ for prop in snapshotPropList:
+ if (self.om_gui.selectedChart == "st" and
+ not self.propAllowed(prop)):
+ verified = False
+ else:
+ self.originalPropList.append(prop)
+ return verified
+
+ def deleteComments(self):
+ snapshotPropList = self.propListFromText()
+ deleted = False
+ for prop in snapshotPropList:
+ if prop[:1] == "!":
+ snapshotPropList.remove(prop)
+ deleted = True
+ if deleted:
+ self.updateFromPropList(snapshotPropList)
+ self.emit(QtCore.SIGNAL("DeletedComments"))
+
+ def addItem(self, item):
+ if not item in ("", " "):
+ snapshotPropList = self.propListFromText()
+ snapshotPropList.append(item)
+ self.updateFromPropList(snapshotPropList)
+
+ def removeItem(self, item):
+ if item == "":
+ return
+ snapshotPropList = self.propListFromText()
+ snapshotPropList.remove(item)
+ self.updateFromPropList(snapshotPropList)
+
+ def removeEndItem(self):
+ '''
+ user has pressed the delete button
+ remove the last item
+ '''
+ snapshotPropList = self.propListFromText()
+ self.updateFromPropList(snapshotPropList[:-1])
+
+ def propAllowed(self, prop):
+ '''
+ check to see if the user has entered garbage
+ '''
+ #print "checking Prop '%s' origs ='%s'"% (prop, self.originalPropList),
+ if prop[:1] == "!": #comment
+ return True
+ if prop in self.originalPropList:
+ # print "already present, ignoring"
+ return True
+
+ allowedCode = True
+ if prop!= "":
+ if self.om_gui.tooth.isBacktooth and not (prop in allowed.backToothCodes):
+ allowedCode = False
+ if not self.om_gui.tooth.isBacktooth and \
+ not (prop in allowed.frontToothCodes):
+ allowedCode = False
+ if (not self.om_gui.is_Static) and (prop in allowed.treatment_only):
+ allowedCode = True
+ if not allowedCode:
+ message = '''"%s" is not recognised <br />
+ do you want to accept anyway?'''% prop
+ input = QtGui.QMessageBox.question(self, "Confirm", message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No )
+ if input == QtGui.QMessageBox.Yes:
+ allowedCode = True
+ else:
+ allowedCode = False
+ if allowedCode:
+ LOGGER.debug("toothProps - accepting new entry '%s'"% prop)
+ return allowedCode
+
+ def specialKeyPressed(self, arg):
+ '''
+ handles the events when a user hits space, up, down or return
+ '''
+ if arg in ("up", "down"):
+ self.emit(QtCore.SIGNAL("NavKeyPressed"),(arg))
+ else:
+ self.additional()
+
+ def keyPressEvent(self, event):
+ '''
+ overrides QWidget's keypressEvent
+ '''
+ if event.key() == QtCore.Qt.Key_Up:
+ self.specialKeyPressed("up")
+ elif event.key() in (QtCore.Qt.Key_Return, QtCore.Qt.Key_Down):
+ self.specialKeyPressed("down")
+ elif event.key() == QtCore.Qt.Key_Space:
+ QtGui.QLineEdit.keyPressEvent(self,event)
+ self.specialKeyPressed("space")
+ else:
+ inputT = event.text().toAscii()
+ if re.match("[a-z]", inputT):
+ #-- catch and overwrite any lower case
+ event = QtGui.QKeyEvent(event.type(), event.key(),
+ event.modifiers(), event.text().toUpper())
+ if not (inputT == "!" and not self.om_gui.is_Static):
+ #don't allow comments if not in static
+ QtGui.QLineEdit.keyPressEvent(self,event)
+
+class ToothPropertyEditingWidget(QtGui.QWidget, Ui_toothProps.Ui_Form):
+ static_chosen = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.om_gui = parent
+ self.setupUi(self)
+ hlayout=QtGui.QHBoxLayout(self.editframe)
+ hlayout.setContentsMargins(0,0,0,0)
+ self.lineEdit=chartLineEdit(self)
+ self.lineEdit.setMaxLength(34) #as defined in the sql tables for a static entry - may exceed the plan stuff.... but I will validate that anyway.
+ hlayout.addWidget(self.lineEdit)
+ self.tooth = Tooth() #self.frame)
+ self.toothlayout = QtGui.QHBoxLayout(self.frame)
+ self.toothlayout.setContentsMargins(0,0,0,0)
+ self.toothlayout.addWidget(self.tooth)
+ self.am_pushButton.setStyleSheet(
+ "background-color: %s"% colours.AMALGAM_ )
+ self.co_pushButton.setStyleSheet(
+ "background-color: %s"% colours.COMP_ )
+ self.gl_pushButton.setStyleSheet(
+ "background-color: %s"% colours.GI_ )
+ self.gold_pushButton.setStyleSheet(
+ "background-color: %s"% colours.GOLD_ )
+ self.porc_pushButton.setStyleSheet(
+ "background-color: %s"% colours.PORC_ )
+
+ self.is_Static = False
+ self.selectedChart = ""
+ self.selectedTooth = ""
+ self.comboboxes = []
+ self.crown_but = QtGui.QPushButton(_("Crowns"))
+ self.bridge_but = QtGui.QPushButton(_("Bridges"))
+ self.implant_but = QtGui.QPushButton(_("Implants"))
+ self.fs_but = QtGui.QPushButton(_("Fissure Sealants"))
+ self.endo_but = QtGui.QPushButton(_("Endodontics"))
+ self.surgical_but = QtGui.QPushButton(_("Surgical Tx"))
+
+ frame = QtGui.QFrame()
+ vlayout = QtGui.QVBoxLayout(frame)
+ vlayout.setMargin(0)
+ vlayout.addWidget(self.fs_but)
+ vlayout.addWidget(self.endo_but)
+ vlayout.addWidget(self.crown_but)
+ vlayout.addWidget(self.bridge_but)
+ vlayout.addWidget(self.surgical_but)
+ vlayout.addWidget(self.implant_but)
+ vlayout.addStretch(100)
+
+ self.cb_scrollArea.setWidget(frame)
+ self.cb_scrollArea.setWidgetResizable(True)
+
+ self.signals()
+
+ def sizeHint(self):
+ return QtCore.QSize(120, 500)
+
+ def setTooth(self, selectedTooth, selectedChart):
+ '''
+ make the widget aware of exactly what it is editing
+ selectedTooth will be 'ur8' etc..
+ selectedChart will be 'st' or 'pl' or 'cmp'
+ '''
+ self.setSelectedChart(selectedChart)
+
+ self.selectedTooth = selectedTooth
+
+ self.tooth.setBacktooth(int(selectedTooth[2])>3)
+ self.tooth.setRightSide(selectedTooth[1] == "r")
+ self.tooth.setUpper(selectedTooth[0] == "u")
+
+ self.tooth.clear()
+ self.tooth.update()
+
+ #--ALLOWS for deciduous teeth
+ self.tooth_label.setText(
+ self.om_gui.pt.chartgrid[selectedTooth].upper())
+
+ if selectedChart == "st":
+ self.isStatic(True)
+ props = self.om_gui.pt.__dict__["%sst"% selectedTooth]
+ else:
+ self.isStatic(False)
+ props = self.om_gui.pt.treatment_course.__dict__[
+ "%s%s"% (selectedTooth, selectedChart)]
+
+ self.setExistingProps(props)
+
+ def setSelectedChart(self, arg):
+ '''
+ make the widget aware which chart it is linked to
+ '''
+ self.selectedChart = arg
+ self.isStatic(arg=="st")
+ self.static_chosen.emit(arg=="st")
+
+ def isStatic(self, arg):
+ '''
+ if the editing is of the static chart,
+ then different buttons are enabled
+ '''
+ self.is_Static = arg
+ self.comments_comboBox.setEnabled(arg)
+
+ def comments(self,arg):
+ '''
+ comments combobox has been nav'd
+ '''
+ if arg ==_("ADD COMMENTS"):
+ return
+ elif arg ==_("DELETE COMMENTS"):
+ self.lineEdit.deleteComments()
+ else:
+ newComment = "%s"% arg.replace(" ","_")
+ self.lineEdit.addItem(newComment)
+
+ self.comments_comboBox.setCurrentIndex(0)
+
+ def fulledit(self):
+ '''
+ user has clicked the edit button
+ allow the user to edit the full contents of a tootget\ h
+ '''
+ Dialog = QtGui.QDialog(self)
+ lineEdit = chartLineEdit()
+ if self.selectedChart == "st":
+ lineEdit.setMaxLength(34)
+ lineEdit.setText(self.lineEdit.text())
+
+ dl = toothprop_fulledit.editor(self.selectedTooth, self.selectedChart,
+ lineEdit, Dialog)
+
+ if dl.exec_():
+ self.lineEdit.setText(dl.result)
+ self.lineEdit.additional()
+ else:
+ self.lineEdit.updateFromPropList(self.lineEdit.originalPropList)
+
+ def setExistingProps(self, arg):
+ self.lineEdit.setKnownProps(arg)
+
+ def updateSurfaces(self):
+ existing = str(self.lineEdit.text().toAscii())
+ if " " in existing: #we have an existing filling/property in the tooth
+ colonPos = existing.rindex(" ")
+ keep = existing[:colonPos+1]
+ currentFill = existing[colonPos:]
+ else: #we don't
+ keep = ""
+ currentFill = existing
+ if "," in currentFill: #we have a material
+ split = currentFill.split(",")
+ mat = "," + split[1]
+ currentFill = self.tooth.filledSurfaces+mat
+ elif "/" in currentFill: #we have a lab item
+ split = currentFill.split("/")
+ mat = split[0]+"/"
+ currentFill = mat+self.tooth.filledSurfaces
+ else: #virgin tooth
+ currentFill = self.tooth.filledSurfaces
+ self.lineEdit.setText(keep+currentFill)
+
+ def changeFillColour(self,arg):
+ self.tooth.fillcolour=arg
+ self.tooth.update()
+
+ def plasticMaterial(self,arg):
+ existing=str(self.lineEdit.text().toAscii())
+ if " " in existing:
+ colonPos=existing.rindex(" ")
+ keep=existing[:colonPos+1]
+ currentFill=existing[colonPos+1:]
+ else:
+ keep=""
+ currentFill=existing
+ if "," in currentFill: #already a material set! replace it.
+ split=currentFill.split(",")
+ surfaces=split[0]
+ currentFill=surfaces+","+arg
+ elif "/" in currentFill: #already has a lab item
+ split=currentFill.split("/")
+ surfaces=split[1]
+ currentFill=surfaces+","+arg
+ else:
+ currentFill+=","+arg
+ self.lineEdit.setText(keep+currentFill)
+
+ def labMaterial(self,arg):
+ existing=str(self.lineEdit.text().toAscii())
+ if " " in existing:
+ colonPos=existing.rindex(" ")
+ keep=existing[:colonPos+1]
+ currentFill=existing[colonPos+1:]
+ else:
+ keep=""
+ currentFill=existing
+ if "," in currentFill: #already a material set! replace it.
+ split=currentFill.split(",")
+ surfaces=split[0]
+ currentFill=arg+"/"+surfaces
+ elif "/" in currentFill: #already has a lab item
+ split=currentFill.split("/")
+ surfaces=split[1]
+ currentFill=arg+"/"+surfaces
+ else:
+ currentFill=arg+"/"+currentFill
+ self.lineEdit.setText(keep+currentFill)
+
+ def am(self):
+ self.changeFillColour(colours.AMALGAM)
+ self.plasticMaterial("AM")
+
+ def co(self):
+ self.changeFillColour(colours.COMP)
+ self.plasticMaterial("CO")
+
+ def gl(self):
+ self.changeFillColour(colours.GI)
+ self.plasticMaterial("GL")
+
+ def go(self):
+ self.changeFillColour(colours.GOLD)
+ self.labMaterial("GI")
+
+ def pi(self):
+ self.changeFillColour(colours.PORC)
+ self.labMaterial("PI")
+
+ def keyNav(self, arg):
+ if arg == "up":
+ self.prevTooth()
+ elif arg == "down":
+ self.nextTooth()
+
+ def leftTooth(self):
+ if self.tooth.isUpper:
+ self.prevTooth()
+ else:
+ self.nextTooth()
+
+ def rightTooth(self):
+ if not self.tooth.isUpper:
+ self.prevTooth()
+ else:
+ self.nextTooth()
+
+ def prevTooth(self):
+ if self.lineEdit.verifyProps():
+ self.lineEdit.finishedEdit()
+ self.emit(QtCore.SIGNAL("NextTooth"),("up"))
+
+ def nextTooth(self):
+ if self.lineEdit.verifyProps():
+ self.lineEdit.finishedEdit()
+ self.emit(QtCore.SIGNAL("NextTooth"),("down"))
+
+ def static_input(self, value):
+ self.lineEdit.addItem(value)
+ self.nextTooth()
+
+ def ex(self):
+ self.lineEdit.addItem("EX")
+ self.nextTooth()
+
+ def rt(self):
+ self.lineEdit.addItem("RT")
+ self.lineEdit.additional()
+
+ def dressing(self):
+ self.lineEdit.addItem("DR")
+ self.lineEdit.additional()
+
+ def crown(self):
+ dl = CrownChoiceDialog(self.is_Static, self.om_gui)
+ if dl.exec_():
+ self.lineEdit.addItem(dl.chosen_shortcut)
+ self.lineEdit.additional()
+
+ def bridge(self):
+ dl = BridgeDialog(self.om_gui)
+ if dl.exec_():
+ for tooth, tx in dl.chosen_treatments:
+ LOGGER.debug("adding bridge unit '%s' '%s'"% (tooth, tx))
+ self.setTooth(tooth, self.selectedChart)
+ self.lineEdit.addItem(tx)
+ self.lineEdit.additional()
+
+ def implant_but_clicked(self):
+ dl = ImplantChoiceDialog(self.is_Static, self.om_gui)
+ if dl.exec_():
+ self.lineEdit.addItem(dl.chosen_shortcut)
+ self.nextTooth()
+
+ def fs_but_clicked(self):
+ dl = ChartTxChoiceDialog(self.is_Static, self.om_gui)
+ if self.is_Static:
+ dl.set_items(dl.FS_ITEMS)
+ else:
+ dl.add_buttons(
+ self.om_gui.pt.fee_table.ui_lists["fs_buttons"],
+ localsettings.FEETABLES.ui_fs_chart_buttons)
+ if dl.exec_():
+ self.lineEdit.addItem(dl.chosen_shortcut)
+ self.lineEdit.additional()
+
+ def endo_but_clicked(self):
+ dl = ChartTxChoiceDialog(self.is_Static, self.om_gui)
+ if self.is_Static:
+ dl.set_items(dl.ENDO_ITEMS)
+ else:
+ dl.add_buttons(
+ self.om_gui.pt.fee_table.ui_lists["endo_buttons"],
+ localsettings.FEETABLES.ui_endo_chart_buttons)
+ if dl.exec_():
+ self.lineEdit.addItem(dl.chosen_shortcut)
+ self.lineEdit.additional()
+
+ def surgical_but_clicked(self):
+ dl = ChartTxChoiceDialog(self.is_Static, self.om_gui)
+ if self.is_Static:
+ dl.set_items(dl.SURGICAL_ITEMS)
+ else:
+ dl.add_buttons(
+ self.om_gui.pt.fee_table.ui_lists["surgical_buttons"],
+ localsettings.FEETABLES.ui_surgical_chart_buttons)
+ if dl.exec_():
+ self.lineEdit.addItem(dl.chosen_shortcut)
+ self.lineEdit.additional()
+
+ def signals(self):
+ QtCore.QObject.connect(self.am_pushButton,
+ QtCore.SIGNAL("clicked()"), self.am)
+
+ QtCore.QObject.connect(self.co_pushButton,
+ QtCore.SIGNAL("clicked()"), self.co)
+
+ QtCore.QObject.connect(self.gl_pushButton,
+ QtCore.SIGNAL("clicked()"), self.gl)
+
+ QtCore.QObject.connect(self.gold_pushButton,
+ QtCore.SIGNAL("clicked()"), self.go)
+
+ QtCore.QObject.connect(self.porc_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pi)
+
+ #user has clicked a surface
+ QtCore.QObject.connect(self.tooth,QtCore.
+ SIGNAL("toothSurface"), self.updateSurfaces)
+
+ QtCore.QObject.connect(self.clear_pushButton,
+ QtCore.SIGNAL("clicked()"), self.lineEdit.removeEndItem)
+
+ QtCore.QObject.connect(self.edit_pushButton,
+ QtCore.SIGNAL("clicked()"), self.fulledit)
+
+ QtCore.QObject.connect(self.pushButton,
+ QtCore.SIGNAL("clicked()"), self.lineEdit.additional)
+
+ QtCore.QObject.connect(self.lineEdit,
+ QtCore.SIGNAL("NavKeyPressed"),self.keyNav)
+
+ QtCore.QObject.connect(self.rightTooth_pushButton,
+ QtCore.SIGNAL("clicked()"), self.rightTooth)
+
+ QtCore.QObject.connect(self.leftTooth_pushButton,
+ QtCore.SIGNAL("clicked()"), self.leftTooth)
+
+ QtCore.QObject.connect(self.ex_pushButton,
+ QtCore.SIGNAL("clicked()"), self.ex)
+
+ QtCore.QObject.connect(self.rt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.rt)
+ self.dressing_pushButton.clicked.connect(self.dressing)
+
+ QtCore.QObject.connect(self.comments_comboBox,
+ QtCore.SIGNAL("currentIndexChanged (const QString&)"), self.comments)
+
+ self.crown_but.clicked.connect(self.crown)
+ self.bridge_but.clicked.connect(self.bridge)
+ self.implant_but.clicked.connect(self.implant_but_clicked)
+
+ self.fs_but.clicked.connect(self.fs_but_clicked)
+ self.endo_but.clicked.connect(self.endo_but_clicked)
+ self.surgical_but.clicked.connect(self.surgical_but_clicked)
+
+class Tooth(QtGui.QWidget):
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.isBacktooth = True
+ self.quadrant = 1
+ self.isUpper = True
+ self.isRight = True
+ self.setMouseTracking(True)
+ self.shapes()
+ self.clear()
+
+ def sizeHint(self):
+ return self.parent().size()
+
+ def minimumSizeHint(self):
+ return QtCore.QSize(80, 80)
+
+ def setBacktooth(self,arg):
+ if self.isBacktooth!=arg:
+ self.isBacktooth=arg
+ self.shapes()
+
+ def setRightSide(self,arg):
+ self.isRight=arg
+
+ def setUpper(self,arg):
+ self.isUpper=arg
+
+ def clear(self):
+ self.filledSurfaces=""
+ if self.isBacktooth:
+ self.fillcolour=colours.AMALGAM
+ else:
+ self.fillcolour=colours.COMP
+
+ def sortSurfaces(self,arg):
+ '''sort the filling surfaces to fit with conventional notation eg... MOD not DOM etc..'''
+ retarg=""
+ if "M" in arg:
+ retarg+="M"
+ if "D" in arg and not "M" in retarg:
+ retarg+="D"
+ if "O" in arg:
+ retarg+="O"
+ if "D" in arg and not "D" in retarg:
+ retarg+="D"
+ if "B" in arg:
+ retarg+="B"
+ if "P" in arg:
+ retarg+="P"
+ if "L" in arg:
+ retarg+="L"
+ if "I" in arg:
+ retarg+="I"
+
+ return retarg
+
+ def setFilledSurfaces(self,arg):
+ if arg in self.filledSurfaces:
+ self.filledSurfaces=self.filledSurfaces.replace(arg,"")
+ else:
+ self.filledSurfaces+=arg
+ self.filledSurfaces=self.sortSurfaces(self.filledSurfaces)
+ self.update()
+
+ def leaveEvent(self,event):
+ self.mouseOverSurface=None
+ self.update()
+
+ def mouseMoveEvent(self,event):
+ y=event.y()
+ x=event.x()
+ if self.mesial.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ self.mouseOverSurface=self.mesial
+ self.update()
+ elif self.occlusal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ self.mouseOverSurface=self.occlusal
+ self.update()
+ elif self.distal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ self.mouseOverSurface=self.distal
+ self.update()
+ elif self.buccal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ self.mouseOverSurface=self.buccal
+ self.update()
+ elif self.palatal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ self.mouseOverSurface=self.palatal
+ self.update()
+
+ def mousePressEvent(self, event):
+ y=event.y()
+ x=event.x()
+ if self.mesial.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ if self.isRight:
+ self.setFilledSurfaces("D")
+ else:
+ self.setFilledSurfaces("M")
+ elif self.occlusal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ if self.isBacktooth:
+ self.setFilledSurfaces("O")
+ else:
+ self.setFilledSurfaces("I")
+ elif self.distal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ if not self.isRight:
+ self.setFilledSurfaces("D")
+ else:
+ self.setFilledSurfaces("M")
+ elif self.buccal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ if self.isUpper:
+ self.setFilledSurfaces("B")
+ else:
+ self.setFilledSurfaces("L")
+ elif self.palatal.containsPoint(QtCore.QPoint(x,y),QtCore.Qt.OddEvenFill):
+ if self.isUpper:
+ self.setFilledSurfaces("P")
+ else:
+ self.setFilledSurfaces("B")
+ else:
+ return #missed!!
+ self.emit(QtCore.SIGNAL("toothSurface"))
+
+ def resizeEvent(self,event):
+ self.shapes()
+
+ def shapes(self):
+ self.toothRect=QtCore.QRectF(0,0,self.width(),self.height())
+ irw=self.toothRect.width()*0.25 #inner rectangle width
+ if self.isBacktooth:
+ irh=self.toothRect.height()*0.25 #backtooth inner rectangle height
+ else:
+ irh=self.toothRect.height()*0.40 #fronttooth inner rectangle height
+ self.innerRect=self.toothRect.adjusted(irw,irh,-irw,-irh)
+
+ self.mesial=QtGui.QPolygon([0,0,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y(),
+ self.toothRect.bottomLeft().x(),self.toothRect.bottomLeft().y()])
+
+ self.occlusal=QtGui.QPolygon([self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y()])
+
+ self.distal=QtGui.QPolygon([self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.toothRect.topRight().x(),self.toothRect.topRight().y(),
+ self.toothRect.bottomRight().x(),self.toothRect.bottomRight().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y()])
+
+ self.buccal=QtGui.QPolygon([0,0,
+ self.toothRect.topRight().x(),self.toothRect.topRight().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y()])
+
+ self.palatal=QtGui.QPolygon([self.toothRect.bottomLeft().x(),self.toothRect.bottomLeft().y(),
+ self.innerRect.bottomLeft().x(),self.innerRect.bottomLeft().y(),
+ self.innerRect.bottomRight().x(),self.innerRect.bottomRight().y(),
+ self.toothRect.bottomRight().x(),self.toothRect.bottomRight().y()])
+
+ self.mouseOverSurface=None #initiate a value
+
+ def paintEvent(self,event=None):
+ '''override the paint event so that we can draw our grid'''
+ if self.isBacktooth:
+ if self.isUpper:
+ if self.isRight:
+ surfs="DBPMO"
+ else:
+ surfs="MBPDO"
+ else:
+ if self.isRight:
+ surfs="DLBMO"
+ else:
+ surfs="MLBDO"
+ else:
+ if self.isUpper:
+ if self.isRight:
+ surfs="DBPMI"
+ else:
+ surfs="MBPDI"
+ else:
+ if self.isRight:
+ surfs="DLBMI"
+ else:
+ surfs="MLBDI"
+
+ painter = QtGui.QPainter(self)
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ painter.setPen(QtGui.QColor("gray"))
+ painter.setBrush(colours.IVORY)
+ painter.drawRect(self.toothRect)
+ painter.drawRect(self.innerRect)
+ painter.drawLine(self.toothRect.topLeft(),self.innerRect.topLeft())
+ painter.drawLine(self.toothRect.topRight(),self.innerRect.topRight())
+ painter.drawLine(self.toothRect.bottomLeft(),self.innerRect.bottomLeft())
+ painter.drawLine(self.toothRect.bottomRight(),self.innerRect.bottomRight())
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ rect=self.toothRect.adjusted(0,0,-self.innerRect.right(),0)
+ painter.drawText(QtCore.QRectF(rect),surfs[0],option)
+ rect=self.toothRect.adjusted(0,0,0,-self.innerRect.bottom())
+ painter.drawText(QtCore.QRectF(rect),surfs[1],option)
+ rect=self.toothRect.adjusted(0,self.innerRect.bottom(),0,0)
+ painter.drawText(QtCore.QRectF(rect),surfs[2],option)
+ rect=self.toothRect.adjusted(self.innerRect.right(),0,0,0)
+ painter.drawText(QtCore.QRectF(rect),surfs[3],option)
+ painter.drawText(QtCore.QRectF(self.innerRect),surfs[4],option)
+ painter.setBrush(self.fillcolour)
+ if "M" in self.filledSurfaces:
+ if self.isRight:
+ painter.drawPolygon(self.distal)
+ else:
+ painter.drawPolygon(self.mesial)
+ if "O" in self.filledSurfaces or "I" in self.filledSurfaces:
+ painter.drawPolygon(self.occlusal)
+ if "D" in self.filledSurfaces:
+ if not self.isRight:
+ painter.drawPolygon(self.distal)
+ else:
+ painter.drawPolygon(self.mesial)
+ if "B" in self.filledSurfaces:
+ if self.isUpper:
+ painter.drawPolygon(self.buccal)
+ else:
+ painter.drawPolygon(self.palatal)
+ if "L" in self.filledSurfaces:
+ painter.drawPolygon(self.buccal)
+ if "P" in self.filledSurfaces:
+ painter.drawPolygon(self.palatal)
+ if self.mouseOverSurface!=None:
+ painter.setBrush(colours.TRANSPARENT)
+ painter.setPen(QtGui.QColor("red"))
+ painter.drawPolygon(self.mouseOverSurface)
+
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ mw = QtGui.QMainWindow()
+ ui = ToothPropertyEditingWidget()
+ ui.setExistingProps("MOD B,GL !COMMENT_TWO")
+ mw.setCentralWidget(ui)
+ mw.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/customwidgets/upper_case_line_edit.py b/src/openmolar/qt4gui/customwidgets/upper_case_line_edit.py
new file mode 100644
index 0000000..d8c6953
--- /dev/null
+++ b/src/openmolar/qt4gui/customwidgets/upper_case_line_edit.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+
+from PyQt4 import QtGui, QtCore
+
+class UpperCaseLineEdit(QtGui.QLineEdit):
+ '''
+ A custom line edit that accepts only BLOCK LETTERS.
+ '''
+ def setText(self, text):
+ QtGui.QLineEdit.setText(self, QtCore.QString(text).toUpper())
+
+ def keyPressEvent(self, event):
+ '''
+ convert the text to upper case, and pass the signal on to the
+ base widget
+ '''
+ QtGui.QLineEdit.keyPressEvent(self, event)
+ self.setText(self.text())
+ self.textEdited.emit(self.text())
+
+if __name__ == "__main__":
+ app = QtGui.QApplication([])
+ te = UpperCaseLineEdit()
+ te.show()
+ app.exec_()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/__init__.py b/src/openmolar/qt4gui/dialogs/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/dialogs/add_treatment_dialog.py b/src/openmolar/qt4gui/dialogs/add_treatment_dialog.py
new file mode 100644
index 0000000..d6e69b7
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/add_treatment_dialog.py
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from __future__ import division
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+
+from openmolar.qt4gui.compiled_uis import Ui_addTreatment
+from openmolar.qt4gui.compiled_uis import Ui_treatmentItemWidget
+
+class itemWidget(Ui_treatmentItemWidget.Ui_Form):
+ def __init__(self, parent, widget):
+ self.parent = parent
+ self.setupUi(widget)
+ self.feelist = []
+ self.ptfeelist = []
+ self.description = ""
+ self.itemcode = ""
+
+ def setItem(self, itemcode):
+ self.itemcode = itemcode
+
+ def setDescription(self, description):
+ self.description = description
+ self.label.setText("%s (%s)"% (self.description, self.itemcode))
+
+
+class AddTreatmentDialog(QtGui.QDialog, Ui_addTreatment.Ui_Dialog):
+ '''
+ a custom dialog to offer a range of treatments for selection
+ '''
+ def __init__(self, usercodes, pt, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+ self.items = []
+ feetable = pt.fee_table
+ for att, shortcut in usercodes:
+ item = feetable.getItemCodeFromUserCode("%s %s"% (att, shortcut))
+ item_description = feetable.getItemDescription(item, shortcut)
+ self.items.append((item, item_description, (att, shortcut)))
+
+ self.showItems()
+
+ def use_completed_messages(self):
+ '''
+ if called, the dialog shows different messages, indicating to the
+ users that treatment will be COMPLETED upon entry
+ '''
+ self.setWindowTitle(_("Complete Treatments"))
+ self.label.setText(_("What treatment has been performed?"))
+
+ def showItems(self):
+ self.itemWidgets = []
+ vlayout = QtGui.QVBoxLayout()
+ for item, item_description, usercode in self.items:
+ iw = QtGui.QWidget()
+ itemW = itemWidget(self, iw)
+ itemW.setItem(item)
+ itemW.usercode = usercode
+ itemW.setDescription(item_description)
+ self.itemWidgets.append(itemW)
+ vlayout.addWidget(iw)
+ self.frame.setLayout(vlayout)
+
+ def getInput(self):
+ '''
+ yields selected usercodes (allowing multiple selections)
+ '''
+ if self.exec_():
+ retarg = ()
+ for item_widg in self.itemWidgets:
+ number = item_widg.spinBox.value()
+ if number != 0:
+ for n in range(number):
+ yield item_widg.usercode
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ app = QtGui.QApplication(sys.argv)
+
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(11956)
+ items = (
+ ("exam", "CE"),
+ ("xray", "M"),
+ ("perio","SP")
+ )
+
+ dl = AddTreatmentDialog(items, pt)
+ dl.use_completed_messages()
+ for att, shortcut in dl.getInput():
+ print "chosen item = %s %s"% (att, shortcut)
+
diff --git a/src/openmolar/qt4gui/dialogs/address_match_dialog.py b/src/openmolar/qt4gui/dialogs/address_match_dialog.py
new file mode 100644
index 0000000..5b9d251
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/address_match_dialog.py
@@ -0,0 +1,177 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import datetime
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+QUERY = '''select
+ case when addr1 = %s then 4 else 0 end +
+ case when addr1 like %s then 3 else 0 end +
+ case when addr2 like %s then 3 else 0 end +
+ case when addr3 like %s then 1 else 0 end +
+ case when town like %s then 1 else 0 end +
+ case when pcde = %s then 5 else 0 end as matches ,
+ serialno, title, fname, sname, dob, addr1, addr2, addr3, town, pcde
+from patients
+where
+addr1 like %s or
+((addr2 != "" and addr2 is not NULL) and addr2 like %s) or
+((town != "" and town is not NULL) and town like %s)or
+(pcde=%s and pcde != "")
+order by matches desc
+limit 12
+'''
+
+HEADERS = ['score', 'serialno', _('Title'), _('Forename'), _('Surname'),
+_('dob'), _('Address1'), _('Address2'), _('Address3'), _('Town'),
+_('POSTCODE')]
+
+
+class AddressMatchDialog(BaseDialog):
+ def __init__(self, om_gui):
+ BaseDialog.__init__(self, om_gui, remove_stretch=True)
+
+ self.om_gui = om_gui
+
+ title = _("Address Matches")
+ self.setWindowTitle(title)
+
+ self.table_widget = QtGui.QTableWidget()
+ self.table_widget.setSelectionBehavior(
+ QtGui.QAbstractItemView.SelectRows)
+ self.table_widget.setAlternatingRowColors(True)
+ self.table_widget.setSortingEnabled(True)
+
+ addr = "%s, %s, %s, %s, %s, %s"% (
+ self.om_gui.pt.addr1,
+ self.om_gui.pt.addr2,
+ self.om_gui.pt.addr3,
+ self.om_gui.pt.town,
+ self.om_gui.pt.county,
+ self.om_gui.pt.pcde)
+
+ while re.search(", *,", addr):
+ addr = re.sub(", *,",", ", addr)
+
+ message = u"<b>%s<b><hr />%s"% (
+ _("Top 12 address matches for"), addr)
+
+ label = QtGui.QLabel()
+ label.setText(message)
+
+ self.insertWidget(label)
+ self.insertWidget(self.table_widget)
+
+ self.load_values()
+
+ self.table_widget.itemSelectionChanged.connect(self.enableApply)
+
+ def sizeHint(self):
+ return QtCore.QSize(1000,600)
+
+ def load_values(self):
+ db = connect()
+ cursor = db.cursor()
+ values = (
+ self.om_gui.pt.addr1,
+ self.om_gui.pt.addr1[:10],
+ self.om_gui.pt.addr2[:10],
+ self.om_gui.pt.addr3[:10],
+ self.om_gui.pt.town[:10],
+ self.om_gui.pt.pcde,
+ self.om_gui.pt.addr1[:10],
+ self.om_gui.pt.addr2[:10],
+ self.om_gui.pt.town[:10],
+ self.om_gui.pt.pcde[:10],
+ )
+
+ cursor.execute(QUERY, (values))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ self.table_widget.clear()
+ self.table_widget.setSortingEnabled(False)
+ #--good practice to disable this while loading
+ self.table_widget.setRowCount(len(rows))
+ self.table_widget.setColumnCount(len(HEADERS))
+ self.table_widget.setHorizontalHeaderLabels(HEADERS)
+ self.table_widget.horizontalHeader().setStretchLastSection(True)
+ #table.verticalHeader().hide()
+ for row, result in enumerate(rows):
+ for col, field in enumerate(result):
+ if field is None:
+ continue
+ if col == 5:
+ item = QtGui.QTableWidgetItem(
+ localsettings.formatDate(field))
+ elif col == 0: #match
+ item = QtGui.QTableWidgetItem("%04d"% field)
+ elif col == 1: #serialno
+ item = QtGui.QTableWidgetItem("%d"% field)
+ else:
+ item = QtGui.QTableWidgetItem(field)
+ self.table_widget.setItem(row, col, item)
+
+ self.table_widget.resizeColumnsToContents()
+ #hide match and serialno column
+ self.table_widget.setColumnWidth(0, 0)
+ self.table_widget.setColumnWidth(1, 0)
+ self.table_widget.setSortingEnabled(True)
+ self.table_widget.sortItems(0, QtCore.Qt.DescendingOrder)
+ #--allow user to sort pt attributes
+
+
+ @property
+ def selected_patients(self):
+ '''
+ selected patients (list of serialnos)
+ '''
+ patients = []
+ rows = set()
+ for index in self.table_widget.selectedIndexes():
+ rows.add(index.row())
+ for row in rows:
+ patients.append(int(self.table_widget.item(row, 1).text()))
+ return patients
+
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ from family_manage_dialog import _DuckPatient
+
+ mw = QtGui.QWidget()
+ mw.pt = _DuckPatient((1,"","","","The Gables",
+ "Craggiemore Daviot","Inverness","","","IV2 5XQ", "", "active", ""))
+
+ print mw.pt
+ dl = AddressMatchDialog(mw)
+ if dl.exec_():
+ print dl.selected_patients
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/advanced_tx_planning_dialog.py b/src/openmolar/qt4gui/dialogs/advanced_tx_planning_dialog.py
new file mode 100644
index 0000000..2fdd983
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/advanced_tx_planning_dialog.py
@@ -0,0 +1,329 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import re
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.dbtools.treatment_course import CURRTRT_ROOT_ATTS
+from openmolar.qt4gui.customwidgets.upper_case_line_edit \
+ import UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+
+class TxDisplayWidget(QtGui.QWidget):
+ text_edited = QtCore.pyqtSignal()
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.pl_lineedit = UpperCaseLineEdit()
+ self.cmp_lineedit = UpperCaseLineEdit()
+
+ icon = QtGui.QIcon(":forward.png")
+ but = QtGui.QPushButton()
+ but.setIcon(icon)
+ but.setMaximumWidth(30)
+ but.clicked.connect(self._complete_treatments)
+
+ layout = QtGui.QHBoxLayout(self)
+ layout.setMargin(0)
+ layout.addWidget(self.pl_lineedit)
+ layout.addWidget(but)
+ layout.addWidget(self.cmp_lineedit)
+
+ def set_plan_text(self, text):
+ self._initial_pl_text = text
+ self.pl_lineedit.setText(text)
+ self.pl_lineedit.textChanged.connect(self.text_edited.emit)
+
+ def set_completed_text(self, text):
+ self._initial_cmp_text = text
+ self.cmp_lineedit.setText(text)
+ self.cmp_lineedit.textChanged.connect(self.text_edited.emit)
+
+ def _complete_treatments(self):
+ self.cmp_lineedit.setText(u"%s %s"% (self.cmp_text, self.plan_text))
+ self.pl_lineedit.setText("")
+
+ @property
+ def plan_text(self):
+ txt = unicode(self.pl_lineedit.text().toUtf8())
+ #denture codes are dumb!
+ return re.sub("SR\ ", "SR_", txt)
+
+ @property
+ def cmp_text(self):
+ txt = unicode(self.cmp_lineedit.text().toUtf8())
+ #denture codes are dumb!
+ return re.sub("SR\ ", "SR_", txt)
+
+ @property
+ def plan_edited(self):
+ return self.plan_text != self._initial_pl_text
+
+ @property
+ def cmp_edited(self):
+ return self.cmp_text != self._initial_cmp_text
+
+ @property
+ def has_been_edited(self):
+ return not (self.plan_edited or self.cmp_edited)
+
+
+class AdvancedTxPlanningDialog(ExtendableDialog):
+ SHOW_CHART_ITEMS = False
+ def __init__(self, parent=None):
+ ExtendableDialog.__init__(self, parent, remove_stretch=True)
+ self.setWindowTitle(_("Advanced Treatment Planning"))
+
+ self.om_gui = parent
+ self.pt = self.om_gui.pt
+ self.widgets = {}
+ frame = QtGui.QFrame()
+ form_layout = QtGui.QFormLayout(frame)
+
+ plan_header_label = QtGui.QLabel(_("Planned Text"))
+ plan_header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ cmp_header_label = QtGui.QLabel(_("Completed Text"))
+ cmp_header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ layout = QtGui.QHBoxLayout()
+ layout.addWidget(plan_header_label)
+ layout.addWidget(cmp_header_label)
+ form_layout.addRow(_("Field"), layout)
+
+ tooth_atts = []
+
+ for att in CURRTRT_ROOT_ATTS:
+ if re.match("[ul][lr][1-8]", att):
+ tooth_atts.append(att)
+ else:
+ widg = TxDisplayWidget()
+ self.widgets[att] = widg
+ form_layout.addRow(att, widg)
+
+ chart_frame = QtGui.QFrame()
+ form_layout2 = QtGui.QFormLayout(chart_frame)
+
+ plan_header_label = QtGui.QLabel(_("Planned Text"))
+ plan_header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ cmp_header_label = QtGui.QLabel(_("Completed Text"))
+ cmp_header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ layout = QtGui.QHBoxLayout()
+ layout.addWidget(plan_header_label)
+ layout.addWidget(cmp_header_label)
+ form_layout2.addRow(_("Field"), layout)
+
+ for att in tooth_atts:
+ widg = TxDisplayWidget()
+ self.widgets[att] = widg
+ form_layout2.addRow(att, widg)
+
+ left_scroll_area = QtGui.QScrollArea()
+ left_scroll_area.setWidget(frame)
+ left_scroll_area.setWidgetResizable(True)
+
+ self.chart_scroll_area = QtGui.QScrollArea()
+ self.chart_scroll_area.setWidget(chart_frame)
+ self.chart_scroll_area.setWidgetResizable(True)
+
+ upper_frame = QtGui.QFrame()
+ layout = QtGui.QHBoxLayout(upper_frame)
+ layout.addWidget(left_scroll_area)
+ layout.addWidget(self.chart_scroll_area)
+
+ self.insertWidget(upper_frame)
+
+ self.deleted_plan_items = []
+ self.new_cmp_items = []
+ self.deleted_cmp_items = []
+ self.new_plan_items = []
+
+ self.load_values()
+
+ self.chart_but = QtGui.QPushButton(_("Show Chart Items"))
+ self.chart_but.clicked.connect(self._show_chart)
+ self.add_advanced_widget(self.chart_but)
+ self.chart_scroll_area.setVisible(self.SHOW_CHART_ITEMS)
+
+ def load_values(self):
+ if self.pt is None:
+ return
+ for att in CURRTRT_ROOT_ATTS:
+ pl = self.pt.treatment_course.__dict__["%spl"% att]
+ cmp = self.pt.treatment_course.__dict__["%scmp"% att]
+ widg = self.widgets[att]
+ widg.set_plan_text(pl)
+ widg.set_completed_text(cmp)
+
+ widg.text_edited.connect(self.check_appliable)
+
+ def _show_chart(self):
+ self.SHOW_CHART_ITEMS = not self.SHOW_CHART_ITEMS
+ self.chart_scroll_area.setVisible(self.SHOW_CHART_ITEMS)
+ self.hide_extension()
+ self.resize(self.sizeHint())
+ if self.SHOW_CHART_ITEMS:
+ self.chart_but.setText(_("Hide Chart Items"))
+ else:
+ self.chart_but.setText(_("Show Chart Items"))
+
+ def check_appliable(self):
+ for widg in self.widgets.values():
+ if widg.has_been_edited:
+ self.enableApply()
+ return
+ self.enableApply(False)
+
+ def sizeHint(self):
+ if self.SHOW_CHART_ITEMS:
+ return QtCore.QSize(800, 600)
+ return QtCore.QSize(500, 500)
+
+ @property
+ def _new_plan_items(self):
+ for att in CURRTRT_ROOT_ATTS:
+ att_widg = self.widgets[att]
+ if att_widg.plan_edited:
+ exist_items = \
+ self.pt.treatment_course.__dict__["%spl"% att].split(" ")
+ new_list = att_widg.plan_text.split(" ")
+ for item in set(new_list):
+ if item == "":
+ continue
+ n_adds = new_list.count(item) - exist_items.count(item)
+ for i in range(n_adds):
+ yield att, item
+ @property
+ def _new_cmp_items(self):
+ for att in CURRTRT_ROOT_ATTS:
+ att_widg = self.widgets[att]
+ if att_widg.cmp_edited:
+ exist_items = \
+ self.pt.treatment_course.__dict__["%scmp"% att].split(" ")
+ new_list = att_widg.cmp_text.split(" ")
+ for item in set(new_list):
+ if item == "":
+ continue
+ n_adds = new_list.count(item) - exist_items.count(item)
+ for i in range(n_adds):
+ yield att, item
+ @property
+ def _deleted_plan_items(self):
+ for att in CURRTRT_ROOT_ATTS:
+ att_widg = self.widgets[att]
+ if att_widg.plan_edited:
+ new_items = att_widg.plan_text.split(" ")
+ exist_items = \
+ self.pt.treatment_course.__dict__["%spl"% att].split(" ")
+ for item in set(exist_items):
+ if item == "":
+ continue
+ n_adds = exist_items.count(item) - new_items.count(item)
+ for i in range(n_adds):
+ yield att, item
+ @property
+ def _deleted_cmp_items(self):
+ for att in CURRTRT_ROOT_ATTS:
+ att_widg = self.widgets[att]
+ if att_widg.cmp_edited:
+ new_items = att_widg.cmp_text.split(" ")
+ exist_items = \
+ self.pt.treatment_course.__dict__["%scmp"% att].split(" ")
+ for item in set(exist_items):
+ if item == "":
+ continue
+ n_adds = exist_items.count(item) - new_items.count(item)
+ for i in range(n_adds):
+ yield att, item
+
+ @property
+ def completed_items(self):
+ planned = list(self._deleted_plan_items)
+ for item in self._new_cmp_items:
+ if item in planned:
+ yield item
+
+ @property
+ def reversed_items(self):
+ completed = list(self._deleted_cmp_items)
+ for item in self._new_plan_items:
+ if item in completed:
+ yield item
+
+ def exec_(self):
+ if ExtendableDialog.exec_(self):
+
+ self.deleted_plan_items = list(self._deleted_plan_items)
+ self.new_cmp_items = list(self._new_cmp_items)
+ for item in self.completed_items:
+ try:
+ self.deleted_plan_items.remove(item)
+ except ValueError:
+ pass
+ try:
+ self.new_cmp_items.remove(item)
+ except ValueError:
+ pass
+
+ self.deleted_cmp_items = list(self._deleted_cmp_items)
+ self.new_plan_items = list(self._new_plan_items)
+ for item in self.reversed_items:
+ try:
+ self.deleted_cmp_items.remove(item)
+ except ValueError:
+ pass
+ try:
+ self.new_plan_items.remove(item)
+ except ValueError:
+ pass
+
+ return True
+
+ return False
+
+
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ from openmolar.dbtools.patient_class import patient
+
+ app = QtGui.QApplication([])
+ mw = QtGui.QWidget()
+ mw.pt = patient(11956)
+ dl = AdvancedTxPlanningDialog(mw)
+ if dl.exec_():
+ for att, item in dl.deleted_plan_items:
+ print "%spl %s deleted" %(att, item)
+ for att, item in dl.deleted_cmp_items:
+ print "%scmp %s deleted" %(att, item)
+ for att, item in dl.new_plan_items:
+ print "%spl %s added" %(att, item)
+ for att, item in dl.new_cmp_items:
+ print "%scmp %s added" %(att, item)
+ for att, item in dl.completed_items:
+ print "%s %s was completed" %(att, item)
+ for att, item in dl.reversed_items:
+ print "%s %s was reveresed" %(att, item)
diff --git a/src/openmolar/qt4gui/dialogs/alterAday.py b/src/openmolar/qt4gui/dialogs/alterAday.py
new file mode 100644
index 0000000..05ced53
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/alterAday.py
@@ -0,0 +1,244 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_activeDentStartFinish
+from openmolar.qt4gui.compiled_uis import Ui_aslotEdit
+from openmolar.qt4gui.customwidgets import fiveminutetimeedit
+from openmolar.settings import localsettings
+from openmolar.dbtools import appointments
+
+class adayData():
+ '''
+ a custom data structure to stor data
+ '''
+ def __init__(self,dent):
+ self.apptix = localsettings.apptix.get(dent)
+ self.dent = dent
+ self.active = False
+ self.start = QtCore.QTime(8,30)
+ self.finish = QtCore.QTime(18,0)
+ self.memo = ""
+
+ def setStart(self,arg):
+ '''
+ takes a time in form 800 (==8:00)
+ '''
+ self.start = QtCore.QTime(arg/100,arg%100)
+
+ def setFinish(self,arg):
+ '''
+ takes a time in form 800 (==8:00)
+ '''
+ self.finish = QtCore.QTime(arg/100,arg%100)
+
+ def sqlStart(self):
+ '''
+ returns an int
+ '''
+ return int(self.start.toString("hmm"))
+
+ def sqlFinish(self):
+ '''
+ returns an int
+ '''
+ return int(self.finish.toString("hmm"))
+
+ def setMemo(self,arg):
+ if arg != None:
+ self.memo = arg
+
+ def __repr__(self):
+ return"%s %s %s %s %s %s"%(
+ self.apptix,self.dent,self.active,self.start,self.finish,self.memo)
+
+ def __cmp__(self, other):
+ eq = 0
+ if (self.active != other.active or self.start != other.start or
+ self.finish != other.finish or self.memo != other.memo):
+ eq = 1
+ return eq
+
+
+class dentWidget(Ui_activeDentStartFinish.Ui_Form):
+ '''
+ a custom widget collection to get user input
+ '''
+ def __init__(self,widget):
+ self.setupUi(widget)
+
+ QtCore.QObject.connect(self.checkBox,
+ QtCore.SIGNAL("stateChanged(int)"),self.toggle)
+
+ self.addTimeEdits()
+
+ def addTimeEdits(self):
+ self.start_timeEdit = \
+ fiveminutetimeedit.FiveMinuteTimeEdit(self.widget)
+
+ l = QtGui.QVBoxLayout(self.widget)
+ l.addWidget(self.start_timeEdit)
+
+ self.finish_timeEdit = \
+ fiveminutetimeedit.FiveMinuteTimeEdit(self.widget_2)
+
+ l = QtGui.QVBoxLayout(self.widget_2)
+ l.addWidget(self.finish_timeEdit)
+
+ self.start_timeEdit.setMinimumTime(localsettings.earliestStart)
+
+ self.finish_timeEdit.setMaximumTime(localsettings.latestFinish)
+
+ def toggle(self,arg):
+ self.start_timeEdit.setEnabled(arg)
+ self.finish_timeEdit.setEnabled(arg)
+
+ def setData(self,arg):
+ '''
+ set the data with an instance of adayData
+ '''
+ self.dent = arg.dent
+ self.checkBox.setText(arg.dent)
+ self.checkBox.setChecked(arg.active)
+ self.start_timeEdit.setEnabled(arg.active)
+ self.finish_timeEdit.setEnabled(arg.active)
+ self.start_timeEdit.setTime(arg.start)
+ self.finish_timeEdit.setTime(arg.finish)
+ self.lineEdit.setText(arg.memo)
+
+class alterDayDialog(Ui_aslotEdit.Ui_Dialog):
+ '''
+ a custom dialog to enter the start dates, end dates and availability
+ of a clinician
+ '''
+ def __init__(self, diary_widget, date):
+ #date passed in is a QDate
+ self.dialog = QtGui.QDialog(diary_widget)
+ self.diary_widget = diary_widget
+ self.setupUi(self.dialog)
+ self.data_list = []
+ self.date = date
+ self.dialog.setWindowTitle(_("Clinician Times") +
+ " - %s"%date.toString())
+ self.loadData()
+ self.showItems()
+
+ QtCore.QObject.connect(self.copy_pushButton,
+ QtCore.SIGNAL("clicked()"), self.copy_to_clipboard)
+
+ self.pastebutton_orig_text = self.paste_pushButton.text()
+ if diary_widget.alterAday_clipboard_date:
+ self.setPasteButtonText()
+ else:
+ self.paste_pushButton.setEnabled(False)
+
+ QtCore.QObject.connect(self.paste_pushButton,
+ QtCore.SIGNAL("clicked()"), self.paste)
+
+ def setPasteButtonText(self):
+ text = self.pastebutton_orig_text
+
+ self.paste_pushButton.setText(text + " " + _("values from") +
+ " " + self.diary_widget.alterAday_clipboard_date.toString())
+
+ def copy_to_clipboard(self):
+ self.diary_widget.alterAday_clipboard_date = self.date
+ self.diary_widget.alterAday_clipboard = self.current_list
+ self.paste_pushButton.setEnabled(True)
+ self.setPasteButtonText()
+
+ def paste(self):
+ i=0
+ for clinician in self.diary_widget.alterAday_clipboard:
+ dw = self.dentWidgets[i]
+ dw.checkBox.setChecked(clinician.active)
+ dw.start_timeEdit.setTime(clinician.start)
+ dw.finish_timeEdit.setTime(clinician.finish)
+ dw.lineEdit.setText(clinician.memo)
+ i += 1
+
+ def showItems(self):
+ '''
+ load the dentWidgets into the gui
+ '''
+ self.dentWidgets = []
+ vlayout = QtGui.QVBoxLayout(self.frame_2)
+ vlayout.setSpacing(0)
+ for clinician in self.data_list:
+ iw = QtGui.QWidget()
+ dw = dentWidget(iw)
+ dw.setData(clinician)
+ self.dentWidgets.append(dw)
+ vlayout.addWidget(iw)
+
+ vlayout.insertStretch(-1)
+
+ def loadData(self):
+ dentData = tuple(appointments.getWorkingDents(self.date.toPyDate()))
+ for clinician in localsettings.activedents + localsettings.activehygs:
+ startData = adayData(clinician)
+ for dent in dentData:
+ if dent.ix == startData.apptix:
+ startData.setStart(dent.start)
+ startData.setFinish(dent.end)
+ startData.setMemo(dent.memo)
+ startData.active = dent.flag
+ self.data_list.append(startData)
+
+ @property
+ def current_list(self):
+ retlist = []
+ for dw in self.dentWidgets:
+ alteredClinician = adayData(dw.dent)
+ alteredClinician.active = dw.checkBox.isChecked()
+ alteredClinician.start = dw.start_timeEdit.time()
+ alteredClinician.finish = dw.finish_timeEdit.time()
+ alteredClinician.memo = str(dw.lineEdit.text().toAscii())
+ retlist.append(alteredClinician)
+ return retlist
+
+ def checkForChanges(self):
+ retarg = []
+ i = 0
+ #-- iterate through the initial values, and compare with the
+ #-- inputted values
+ #-- make a list of changes
+
+ updated_vals = self.current_list
+ for clinician in self.data_list:
+ alteredClinician = updated_vals[i]
+ if alteredClinician != clinician:
+ retarg.append(alteredClinician)
+ i+=1
+ return retarg
+
+ def applyChanges(self,changes):
+ d = self.date.toPyDate()
+ changed = False
+ for change in changes:
+ changed = True
+ appointments.updateAday(d,change)
+ return changed
+
+ def getInput(self):
+ if self.dialog.exec_():
+ changes = self.checkForChanges()
+ return self.applyChanges(changes)
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ from openmolar.qt4gui.diary_widget import DiaryWidget
+ d_widg = DiaryWidget()
+ date = QtCore.QDate.currentDate()
+ dl = alterDayDialog(d_widg, date)
+
+ print dl.getInput()
+
diff --git a/src/openmolar/qt4gui/dialogs/alter_cashbook_dialog.py b/src/openmolar/qt4gui/dialogs/alter_cashbook_dialog.py
new file mode 100644
index 0000000..193bb9d
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/alter_cashbook_dialog.py
@@ -0,0 +1,174 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+from openmolar.qt4gui.dialogs import permissions
+
+from openmolar.dbtools.cashbook import cashbookCodesDict
+
+
+QUERY = '''select cbdate, ref, descr, code, dntid, amt from cashbook
+where id = %s'''
+
+UPDATE_QUERY = '''update cashbook
+set cbdate=%s, ref=%s, descr=%s, code=%s, dntid=%s, amt=%s
+where id = %s'''
+
+
+class AlterCashbookDialog(ExtendableDialog):
+ def __init__(self, ix, parent=None):
+ ExtendableDialog.__init__(self, parent)
+
+ self.ix = ix
+ title = _("Alter Cashbook Entry")
+ self.setWindowTitle(title)
+ label = QtGui.QLabel(u"<b>%s</b>"% title)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ frame = QtGui.QFrame()
+ form_layout = QtGui.QFormLayout(frame)
+
+ self.serialno_le = QtGui.QLineEdit()
+ self.patient_le = QtGui.QLineEdit()
+ self.date_edit = QtGui.QDateEdit()
+ self.dentist_cb = QtGui.QComboBox()
+ self.dentist_cb.addItems(localsettings.activedents)
+
+ self.code_cb = QtGui.QComboBox()
+ self.amount_sb = QtGui.QDoubleSpinBox()
+ self.amount_sb.setRange(0,10000)
+
+ self.codestrings = cashbookCodesDict.values()
+ self.code_cb.addItems(self.codestrings)
+
+ form_layout.addRow(_("Patient Number"), self.serialno_le)
+ form_layout.addRow(_("Patient Name"), self.patient_le)
+ form_layout.addRow(_("Date"), self.date_edit)
+ form_layout.addRow(_("Dentist"), self.dentist_cb)
+ form_layout.addRow(_("Payment Type"), self.code_cb)
+ form_layout.addRow(_("Amount"), self.amount_sb)
+
+ self.serialno_le.setEnabled(False)
+ self.patient_le.setEnabled(False)
+ self.date_edit.setEnabled(False)
+ self.dentist_cb.setEnabled(False)
+ self.amount_sb.setEnabled(False)
+
+
+ self.insertWidget(label)
+ self.insertWidget(frame)
+
+ self.load_values()
+
+ adv_button = QtGui.QPushButton(_("Enable Full Edit"))
+ self.add_advanced_widget(adv_button)
+ adv_button.clicked.connect(self.enable_all)
+
+ def enable_apply(self, *args):
+ ExtendableDialog.enableApply(self, True)
+
+ def enable_all(self):
+ if permissions.granted(self):
+ self.date_edit.setEnabled(True)
+ self.dentist_cb.setEnabled(True)
+ self.code_cb.setEnabled(True)
+ self.amount_sb.setEnabled(True)
+ self.patient_le.setEnabled(True)
+ self.showExtension(False)
+
+ def check_enable(self):
+ self.date_edit.dateChanged.connect(self.enable_apply)
+ self.dentist_cb.currentIndexChanged.connect(self.enable_apply)
+ self.code_cb.currentIndexChanged.connect(self.enable_apply)
+ self.amount_sb.valueChanged.connect(self.enable_apply)
+ self.code_cb.currentIndexChanged.connect(self.enable_apply)
+
+ def load_values(self):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (self.ix,))
+ cbdate, ref, descr, code, dntid, amt = cursor.fetchone()
+ cursor.close()
+
+ self.serialno_le.setText(ref)
+ self.patient_le.setText(descr)
+ self.date_edit.setDate(cbdate)
+ self.dentist_cb.setCurrentIndex(0)
+
+ try:
+ pos = localsettings.activedent_ixs.index(dntid)
+ except ValueError:
+ pos = -1
+ self.dentist_cb.setCurrentIndex(pos)
+
+ code_str = cashbookCodesDict.get(code)
+ self.code_cb.setCurrentIndex(self.codestrings.index(code_str))
+
+ pounds = amt // 100
+ pence = amt % 100
+ double_val = float("%s.%s"% (pounds, pence))
+ self.amount_sb.setValue(double_val)
+
+ self.check_enable()
+
+ def apply(self):
+ date_ = self.date_edit.date().toPyDate()
+ ref = str(self.serialno_le.text().toAscii())
+ descr = str(self.patient_le.text().toAscii())
+ for key, value in cashbookCodesDict.viewitems():
+ if self.code_cb.currentText() == value:
+ code = key
+ break
+ dntid = localsettings.ops_reverse[str(self.dentist_cb.currentText())]
+
+ currency = "%.02f"%self.amount_sb.value()
+ amt = int(currency.replace(".", ""))
+
+ values = (date_, ref, descr, code, dntid, amt, self.ix)
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(UPDATE_QUERY, values)
+ db.commit()
+
+ def sizeHint(self):
+ return QtCore.QSize(300,350)
+
+ def exec_(self):
+ if ExtendableDialog.exec_(self):
+ self.apply()
+ return True
+ return False
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ dl = AlterCashbookDialog(152039)
+
+ print (dl.exec_())
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/alter_denture_dialog.py b/src/openmolar/qt4gui/dialogs/alter_denture_dialog.py
new file mode 100644
index 0000000..f246672
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/alter_denture_dialog.py
@@ -0,0 +1,476 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.customwidgets.upper_case_line_edit import \
+UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+from openmolar.qt4gui.customwidgets.simple_chartwidget import SimpleChartWidg
+
+LOGGER = logging.getLogger("openmolar")
+
+VALID_INPUTS = (
+ "A/T/.*[LR](\d)",
+ "A/(\d+)C",
+ "RL",
+ "SL",
+ "RE",
+ "IMP",
+ "", # this one in case of no input whatsoever!
+ )
+
+class _OptionPage(QtGui.QWidget):
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.dialog = parent
+ self.label = QtGui.QLabel(_("Choose from the following options"))
+ self.label.setWordWrap(True)
+ self.frame = QtGui.QFrame()
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(self.label)
+ layout.addWidget(self.frame)
+ layout.addStretch(100)
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 400)
+
+ @property
+ def is_completed(self):
+ '''
+ should be overwritten!
+ '''
+ return True
+
+ @property
+ def error_message(self):
+ '''
+ should be overwritten!
+ '''
+ return _("You haven't completed this option")
+
+ @property
+ def return_text(self):
+ return ""
+
+ @property
+ def next_index(self):
+ return 1
+
+ def cleanup(self):
+ pass
+
+class PageZero(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_("What are you Modifying?"))
+
+ self.upper_radioButton = QtGui.QRadioButton(
+ _("An existing Upper Denture"))
+ self.lower_radioButton = QtGui.QRadioButton(
+ _("An existing Lower Denture"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.upper_radioButton)
+ layout.addWidget(self.lower_radioButton)
+
+ @property
+ def is_completed(self):
+ return (self.upper_radioButton.isChecked() or
+ self.lower_radioButton.isChecked())
+
+ @property
+ def return_text(self):
+ return ""
+
+ @property
+ def chosen_arch(self):
+ if self.upper_radioButton.isChecked():
+ return "upper"
+ return "lower"
+
+class PageOne(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+
+ options = ["Reline", "Soft Reline", "Repair",
+ "Tooth Addition(s)", "Clasp Addition(s)"]
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ self.rad_buts = []
+ for i, option in enumerate(options):
+ rad_but = QtGui.QRadioButton(option)
+ layout.addWidget(rad_but)
+ self.rad_buts.append(rad_but)
+
+ @property
+ def is_completed(self):
+ '''
+ simply check user has checked a box
+ '''
+ for widg in self.rad_buts:
+ if widg.isChecked():
+ return True
+ return False
+
+ @property
+ def next_index(self):
+ if self.rad_buts[3].isChecked():
+ return 2
+ if self.rad_buts[4].isChecked():
+ return 3
+ return 4 #ALL DONE!
+
+ @property
+ def return_text(self):
+ if self.rad_buts[0].isChecked():
+ return "RL"
+ if self.rad_buts[1].isChecked():
+ return "SL"
+ if self.rad_buts[2].isChecked():
+ return "RE"
+ if self.rad_buts[3].isChecked():
+ return "A/T/"
+ if self.rad_buts[4].isChecked():
+ return "A/C"
+ return ""
+
+class PageTwo(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+
+ self.label.setText(_("What best describes the denture type?"))
+
+ self.acrylic_radioButton = QtGui.QRadioButton(_("Acrylic Denture"))
+ self.metal_radioButton = QtGui.QRadioButton(_("Metal Denture"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.acrylic_radioButton)
+ layout.addWidget(self.metal_radioButton)
+
+ @property
+ def is_completed(self):
+ return (self.acrylic_radioButton.isChecked() or
+ self.metal_radioButton.isChecked())
+
+ def cleanup(self):
+ text = self.dialog.default_lineedit.text()
+ if self.acrylic_radioButton.isChecked():
+ text = "%s%s"% ("SR_", text)
+ if self.metal_radioButton.isChecked():
+ text = "%s%s"% ("CC_", text)
+ self.dialog.default_lineedit.setText(text)
+
+ @property
+ def return_text(self):
+ return ""
+
+class PageThree(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_(
+ "Please select teeth to be added to this denture"))
+ self.chartwidg = SimpleChartWidg(self)
+ if parent.is_upper_input:
+ self.chartwidg.disable_lowers()
+ else:
+ self.chartwidg.disable_uppers()
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.chartwidg)
+
+ @property
+ def is_completed(self):
+ return self.return_text != ""
+
+ @property
+ def return_text(self):
+ r_teeth, l_teeth = set([]), set([])
+ for tooth in self.chartwidg.getSelected():
+ m = re.match("[ul]([lr])(\d)", tooth)
+ if m:
+ if m.groups()[0] == "r":
+ r_teeth.add(m.groups()[1])
+ else:
+ l_teeth.add(m.groups()[1])
+ retval = ""
+ if r_teeth:
+ retval += "R"
+ for tooth in sorted(r_teeth, reverse=True):
+ retval += tooth
+ if l_teeth:
+ if retval != "":
+ retval += ","
+ retval += "L"
+ for tooth in sorted(l_teeth):
+ retval += tooth
+ return retval
+
+ @property
+ def next_index(self):
+ return 2
+
+
+class PageFour(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_("How Many Clasps?"))
+
+ self.clasp_input = QtGui.QSpinBox()
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.clasp_input)
+
+ @property
+ def is_completed(self):
+ '''
+ simply check user has checked a box
+ '''
+ return self.clasp_input.value() > 0
+
+ def cleanup(self):
+ n_clasps = self.clasp_input.value()
+ if n_clasps > 1:
+ text = unicode(self.dialog.default_lineedit.text().toUtf8())
+ text = text.replace("A/C", "A/%dC"% n_clasps)
+ self.dialog.default_lineedit.setText(text)
+
+ @property
+ def return_text(self):
+ return ""
+
+class PageFive(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(
+ _("Does this work require the taking of an impression?"))
+
+ self.yes_radioButton = QtGui.QRadioButton(_("Yes"))
+ self.no_radioButton = QtGui.QRadioButton(_("No"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.yes_radioButton)
+ layout.addWidget(self.no_radioButton)
+
+ @property
+ def is_completed(self):
+ return (self.yes_radioButton.isChecked() or
+ self.no_radioButton.isChecked())
+
+ @property
+ def _additional_text(self):
+ text_ = ""
+ if self.yes_radioButton.isChecked():
+ text_ += " IMP"
+ return text_
+
+ @property
+ def return_text(self):
+ if self.dialog.odu_le.text() != "":
+ return self._additional_text
+ return ""
+
+
+class AcceptPage(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText("%s<hr />%s"% (
+ _("You have completed your input."),
+ _("Please click on Apply")))
+ self.frame.hide()
+
+class AlterDentureDialog(ExtendableDialog):
+ def __init__(self, om_gui = None):
+ ExtendableDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ message = (_("Alterations to an existing Denture"))
+ self.setWindowTitle(message)
+ self.header_label = QtGui.QLabel(message)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.odu_le = UpperCaseLineEdit()
+ self.odl_le = UpperCaseLineEdit()
+
+ self.set_default_lineedit(self.odl_le)
+
+ self.wizard_widget = QtGui.QStackedWidget()
+
+ page0 = PageZero(self)
+ page1 = PageOne(self)
+ page2 = PageTwo(self)
+ page3 = PageThree(self)
+ page4 = PageFour(self)
+ page5 = PageFive(self)
+
+ accept_page = AcceptPage(self)
+
+ self.wizard_widget.addWidget(page0)
+ self.wizard_widget.addWidget(page1)
+ self.wizard_widget.addWidget(page2)
+ self.wizard_widget.addWidget(page3)
+ self.wizard_widget.addWidget(page4)
+ self.wizard_widget.addWidget(page5)
+ self.wizard_widget.addWidget(accept_page)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(self.wizard_widget)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QFormLayout(frame)
+ layout.addRow(_("Upper Denture"), self.odu_le)
+ layout.addRow(_("Lower Denture"), self.odl_le)
+
+ self.add_advanced_widget(frame)
+
+ self.next_but = self.button_box.addButton(
+ _("Next"), self.button_box.ActionRole)
+
+ self.apply_but.hide()
+
+ self.odu_le.textChanged.connect(self.enable_apply)
+ self.odl_le.textChanged.connect(self.enable_apply)
+
+ self.odu_le.editingFinished.connect(self.advanced_apply)
+ self.odl_le.editingFinished.connect(self.advanced_apply)
+
+ @property
+ def current_index(self):
+ return self.wizard_widget.currentIndex()
+
+ @property
+ def current_page(self):
+ return self.wizard_widget.widget(self.current_index)
+
+ def next_widget(self):
+ if not self.current_page.is_completed:
+ QtGui.QMessageBox.information(self, _("Whoops"),
+ self.current_page.error_message)
+ return
+
+ if self.current_index == 0:
+ self.set_default_lineedit(self.current_page.chosen_arch)
+
+ le = self.default_lineedit
+ le.setText(le.text() + self.current_page.return_text)
+
+ self.current_page.cleanup()
+
+ index_ = self.current_index + self.current_page.next_index
+ if index_ >= self.wizard_widget.count() - 1:
+ index = self.wizard_widget.count()
+ self.apply_but.show()
+ self.next_but.hide()
+
+ self.wizard_widget.setCurrentIndex(index_)
+
+ @property
+ def is_upper_input(self):
+ return self.default_lineedit == self.odu_le
+
+ @property
+ def default_lineedit(self):
+ return self._default_lineedit
+
+ def set_default_lineedit(self, value="upper"):
+ if value == "upper":
+ self._default_lineedit = self.odu_le
+ else:
+ self._default_lineedit = self.odl_le
+
+ def _clicked(self, but):
+ '''
+ "private" function called when button box is clicked
+ '''
+ role = self.button_box.buttonRole(but)
+ if role == self.button_box.ActionRole:
+ self.next_widget()
+ else:
+ ExtendableDialog._clicked(self, but)
+
+ @property
+ def check_valid_input(self):
+ odus, odls = self.upper_input, self.lower_input
+ for odu in odus.split(" "):
+ matched = False
+ for input_ in VALID_INPUTS:
+ if re.match(input_, odu):
+ matched = True
+ break
+ if not matched:
+ LOGGER.debug("failed to match %s %s"% (input_, odu))
+ QtGui.QMessageBox.warning(self, _("Warning"),
+ _("Your upper denture input is invalid"))
+ return False
+ for odl in odls.split(" "):
+ matched = False
+ for input_ in VALID_INPUTS:
+ if re.match(input_, odl):
+ matched = True
+ break
+ if not matched:
+ LOGGER.debug("failed to match %s %s"% (input_, odu))
+ QtGui.QMessageBox.warning(self, _("Warning"),
+ _("Your lower denture input is invalid"))
+ return False
+ return True
+
+ def enable_apply(self, *args):
+ self.enableApply(self.upper_input != "" or self.lower_input != "")
+
+ def advanced_apply(self, *args):
+ self.apply_but.show()
+ self.enableApply(self.upper_input != "" or self.lower_input != "")
+
+ @property
+ def upper_input(self):
+ return str(self.odu_le.text().toAscii()).strip(" ")
+
+ @property
+ def lower_input(self):
+ return str(self.odl_le.text().toAscii()).strip(" ")
+
+ @property
+ def chosen_treatments(self):
+ for input_ in self.upper_input.split(" "):
+ if input_ != "":
+ yield ("odu", input_)
+ for input_ in self.lower_input.split(" "):
+ if input_ != "":
+ yield ("odl", input_)
+
+ def exec_(self):
+ result = ExtendableDialog.exec_(self)
+ if result:
+ result = self.check_valid_input or self.exec_()
+ return result
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ LOGGER.setLevel(logging.DEBUG)
+ dl = AlterDentureDialog(None)
+ if dl.exec_():
+ for att, tx in dl.chosen_treatments:
+ print att, tx
diff --git a/src/openmolar/qt4gui/dialogs/alter_todays_notes.py b/src/openmolar/qt4gui/dialogs/alter_todays_notes.py
new file mode 100644
index 0000000..6b85bfa
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/alter_todays_notes.py
@@ -0,0 +1,166 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+if __name__ == "__main__":
+ import os, sys
+ sys.path.insert(0, os.path.abspath("../../../"))
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+from openmolar.qt4gui.phrasebook.phrasebook_dialog import PhraseBookDialog
+
+from openmolar import connect
+from openmolar.dbtools import patient_write_changes
+from openmolar.dbtools import db_patients
+
+class AlterTodaysNotesDialog(BaseDialog):
+ result = ""
+ patient_loaded = True
+ def __init__(self, sno, parent):
+ BaseDialog.__init__(self, parent)
+ self.sno = sno
+ self.notes = []
+
+ self.main_ui = parent
+ QtCore.QTimer.singleShot(0, self.get_todays_notes)
+ self.text_edit = QtGui.QTextEdit(self)
+
+ self.patient_label = QtGui.QLabel("searching for patient...")
+
+ phrasebook_button = QtGui.QPushButton(_("Open Phrasebook"))
+ phrasebook_button.clicked.connect(self.show_phrasebook)
+
+ self.insertWidget(self.patient_label)
+ self.insertWidget(self.text_edit)
+ self.insertWidget(phrasebook_button)
+ #self.text_edit.setLineWrapMode(self.text_edit.FixedColumnWidth)
+ #self.text_edit.setLineWrapColumnOrWidth(80)
+
+ QtCore.QTimer.singleShot(0, self.get_patient_name)
+
+ def sizeHint(self):
+ return QtCore.QSize(800,200)
+
+ def get_patient_name(self):
+ try:
+ self.patient_label.setText(db_patients.name(self.sno))
+ except localsettings.PatientNotFoundError as exc:
+ QtGui.QMessageBox.warning(self, "Error", exc.message)
+
+ def show_phrasebook(self):
+ dl = PhraseBookDialog(self)
+ newNotes = ""
+ if dl.exec_():
+ for phrase in dl.selectedPhrases:
+ newNotes += phrase + "\n"
+ self.text_edit.append(newNotes)
+
+ def get_todays_notes(self):
+ query = '''select ix, note from formatted_notes
+ where serialno = %s and ndate=DATE(NOW()) and ntype ="newNOTE"
+ and op1 = %s and op2 = %s
+ '''
+ ops = localsettings.operator.split("/")
+ op1 = ops[0]
+ try:
+ op2 = ops[1]
+ except IndexError:
+ op2 = None
+ query = query.replace("op2 =", "op2 is")
+ db = connect.connect()
+ cursor = db.cursor()
+ count = cursor.execute(query, (self.sno, op1, op2))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ if self.patient_loaded and not count:
+ QtGui.QMessageBox.information(self, "message",
+ "No notes found for today!")
+ return
+
+ text = ""
+ for ix, note in rows:
+
+ self.notes.append((ix, note))
+ text += note
+ self.text_edit.setText(text)
+
+ self.text_edit.textChanged.connect(self.item_edited)
+
+
+ def item_edited(self):
+ self.enableApply()
+
+ def apply_changed(self):
+ lines = (unicode(self.text_edit.toPlainText())).split("\n")
+ short_lines = []
+ for note in lines:
+ while len(note)>79:
+ if " " in note[:79]:
+ pos = note[:79].rindex(" ")
+ #--try to split nicely
+ elif "," in note[:79]:
+ pos = note[:79].rindex(",")
+ #--try to split nicely
+ else:
+ pos = 79
+ #--ok, no option (unlikely to happen though)
+ short_lines.append(note[:pos])
+ note = note[pos+1:]
+ short_lines.append(note+"\n")
+
+ values = []
+ i = 0
+ for ix, note in self.notes:
+ try:
+ values.append((short_lines[i], ix))
+ except IndexError: #a line has been deleted.
+ values.append(("", ix))
+ i += 1
+
+ query = 'update formatted_notes set note=%s where ix=%s'
+
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.executemany(query, tuple(values))
+ cursor.close()
+
+ if len(short_lines) > i:
+ patient_write_changes.toNotes(self.sno,
+ [("newNOTE", n) for n in short_lines[i:]])
+
+
+ def exec_(self):
+ if BaseDialog.exec_(self):
+ self.apply_changed()
+ return True
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ localsettings.operator="NW"
+ app = QtGui.QApplication([])
+
+ dl = AlterTodaysNotesDialog(11956, None)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/appointment_card_dialog.py b/src/openmolar/qt4gui/dialogs/appointment_card_dialog.py
new file mode 100644
index 0000000..5d1c413
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/appointment_card_dialog.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+from openmolar.dbtools import appointments
+from openmolar.qt4gui.printing import apptcardPrint
+
+
+class AppointmentCardDialog(BaseDialog):
+
+ def __init__(self, patient, parent):
+ BaseDialog.__init__(self, parent)
+ self.pt = patient
+
+ self.main_ui = parent
+ patient_label = QtGui.QLabel("%s<br /><b>%s</b>"% (
+ _("Appointment Card for"), patient.name_id))
+
+ patient_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.appointments_label = QtGui.QLabel()
+
+
+ self.check_box = QtGui.QCheckBox(_("Include Today's appointments?"))
+ self.check_box.setChecked(True)
+
+ icon = QtGui.QIcon(":/ps.png")
+ self.apply_but.setText(_("Print"))
+ self.apply_but.setIcon(icon)
+
+ self.remove_spacer()
+
+ self.insertWidget(patient_label)
+ self.insertWidget(self.appointments_label)
+ self.layout().insertStretch(2)
+ self.insertWidget(self.check_box)
+
+ self.check_box.toggled.connect(self.today_check_box_toggled)
+
+ QtCore.QTimer.singleShot(100, self.get_data)
+
+
+ def sizeHint(self):
+ return QtCore.QSize(260, 300)
+
+ def set_label_text(self):
+ html = "<ul>"
+ for appt in self.appts:
+ html += "<li>%s</li>"% appt.html
+ html += "</ul>"
+ self.appointments_label.setText(html)
+
+ def get_data(self):
+ '''
+ poll the database for appointment data
+ '''
+
+ self.appts = appointments.get_pts_appts(self.pt, True)
+ self.set_label_text()
+
+ print_today_issue = False
+ for appt in self.appts:
+ print_today_issue = print_today_issue or appt.today
+
+ self.check_box.setVisible(print_today_issue)
+
+ self.enableApply()
+
+ def today_check_box_toggled(self, checked):
+ if not checked:
+ for appt in self.appts[:]:
+ if appt.today:
+ self.appts.remove(appt)
+ self.set_label_text()
+ else:
+ self.enableApply(False)
+ self.get_data()
+
+ def accept(self):
+ if self.appts == []:
+ QtGui.QMessageBox.information(self, "warning",
+ _("No appointments to print!"))
+ self.reject()
+
+ card = apptcardPrint.Card()
+ card.setProps(self.pt, self.appts)
+
+ card.print_()
+ self.pt.addHiddenNote("printed", "appt card")
+ BaseDialog.accept(self)
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ from openmolar.qt4gui import resources_rc
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(20862)
+
+ app = QtGui.QApplication([])
+
+ dl = AppointmentCardDialog(pt, None)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/apptOpenDay.py b/src/openmolar/qt4gui/dialogs/apptOpenDay.py
new file mode 100644
index 0000000..fb558dd
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/apptOpenDay.py
@@ -0,0 +1,208 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_apptOpenDay
+from openmolar.settings import localsettings
+from openmolar.dbtools import appointments
+
+class apptDialog(Ui_apptOpenDay.Ui_Dialog):
+ def __init__(self,dialog,parent=None):
+ self.setupUi(dialog)
+ self.dialog=dialog
+ self.comboBox.addItems(
+ localsettings.activedents+localsettings.activehygs)
+
+ self.comboBox.setCurrentIndex(-1)
+ self.minTime=self.getMinTime()
+ self.maxTime=self.getMaxTime()
+ self.setTimeLimits()
+ self.dateEdit.setDate(QtCore.QDate.currentDate())
+ self.init_es1("11:00","11:40")
+ self.init_es2("16:00","16:40")
+ self.init_lunch("13:00","14:00")
+
+ def getMinTime(self):
+ return QtCore.QTime.fromString("08:30","hh:mm")
+
+ def getMaxTime(self):
+ return QtCore.QTime.fromString("18:00","hh:mm")
+
+ def setTimeLimits(self):
+ '''
+ set the boundary values for the time widgets
+ '''
+ for widg in (
+ self.dayStart_timeEdit,
+ self.dayFinish_timeEdit,
+ self.es1Start_timeEdit,
+ self.es1Finish_timeEdit,
+ self.es2Start_timeEdit,
+ self.es2Finish_timeEdit,
+ self.lunchStart_timeEdit,
+ self.lunchFinish_timeEdit,
+ ):
+ widg.setMinimumTime(self.minTime)
+ widg.setMaximumTime(self.maxTime)
+ self.day_limits()
+
+ def day_limits(self,start=None,finish=None):
+ '''
+ set day start and finish
+ '''
+ if start==None:
+ self.dayStart_timeEdit.setTime(self.minTime)
+ else:
+ self.dayStart_timeEdit.setTime(
+ QtCore.QTime.fromString(start,"hh:mm"))
+
+ if finish==None:
+ self.dayFinish_timeEdit.setTime(self.maxTime)
+ else:
+ self.dayFinish_timeEdit.setTime(
+ QtCore.QTime.fromString(finish,"hh:mm"))
+
+ def init_es1(self,start,finish):
+ self.es1_checkBox.setChecked(True)
+ self.es1Start_timeEdit.setTime(
+ QtCore.QTime.fromString(start,"hh:mm"))
+
+ self.es1Finish_timeEdit.setTime(
+ QtCore.QTime.fromString(finish,"hh:mm"))
+
+ def init_es2(self,start,finish):
+ self.es2_checkBox.setChecked(True)
+ self.es2Start_timeEdit.setTime(
+ QtCore.QTime.fromString(start,"hh:mm"))
+
+ self.es2Finish_timeEdit.setTime(
+ QtCore.QTime.fromString(finish,"hh:mm"))
+
+ def init_lunch(self,start,finish):
+ self.lunch_checkBox.setChecked(True)
+ self.lunchStart_timeEdit.setTime(
+ QtCore.QTime.fromString(start,"hh:mm"))
+
+ self.lunchFinish_timeEdit.setTime(
+ QtCore.QTime.fromString(finish,"hh:mm"))
+
+ def checkDate(self):
+ if self.dateEdit.date()>=QtCore.QDate.currentDate():
+ return True
+ else:
+ print 'date chosen is in the past!'
+
+ def checkDent(self):
+ self.chosenDent=localsettings.apptix.get(str(self.comboBox.currentText()))
+ if self.chosenDent!=None:
+ return True
+
+ def checkTimes(self):
+ result=True
+ #-- does the day end before it starts?
+ result=result and \
+ self.dayStart_timeEdit.time()<self.dayFinish_timeEdit.time()
+
+ #-- is es1 ok?
+ if self.es1_checkBox.isChecked():
+ result=result and \
+ self.dayStart_timeEdit.time()<=self.es1Start_timeEdit.time()
+
+ if self.lunch_checkBox.isChecked():
+ result=result and \
+ self.es1Finish_timeEdit.time()<=self.lunchStart_timeEdit.time()
+
+ elif self.es2_checkBox.isChecked():
+ result=result and \
+ self.es1Finish_timeEdit.time()<=self.es2Start_timeEdit.time()
+ else:
+ result=result and \
+ self.es1Finish_timeEdit.time()<=self.dayFinish_timeEdit.time()
+
+ #-- is lunch ok?
+ if self.lunch_checkBox.isChecked():
+ result=result and \
+ self.dayStart_timeEdit.time()<=self.lunchStart_timeEdit.time()
+
+ result=result and \
+ self.lunchStart_timeEdit.time()<self.lunchFinish_timeEdit.time()
+
+ if self.es2_checkBox.isChecked():
+ result=result and \
+ self.lunchFinish_timeEdit.time()<=self.es2Start_timeEdit.time()
+ else:
+ result=result and \
+ self.lunchFinish_timeEdit.time()<=self.dayFinish_timeEdit.time()
+
+ #-- is es2 ok?
+ if self.es2_checkBox.isChecked():
+ result=result and \
+ self.dayStart_timeEdit.time()<=self.es2Start_timeEdit.time()
+
+ result=result and \
+ self.es2Start_timeEdit.time()<self.es2Finish_timeEdit.time()
+
+ result=result and \
+ self.es2Finish_timeEdit.time()<=self.dayFinish_timeEdit.time()
+
+ return result
+
+ def writeToDB(self):
+ '''
+ user has entered a good sequence, so write it to the DB now
+ '''
+ print "writing to DB"
+ day = appointments.DentistDay(self.chosenDent)
+ day.date = self.dateEdit.date().toPyDate()
+ day.start = int(self.dayStart_timeEdit.time().toString("hmm"))
+ day.end = int(self.dayFinish_timeEdit.time().toString("hmm"))
+ day.memo = str(self.memo_lineEdit.text())
+
+
+ #QtGui.QMessageBox.information(self.dialog,"sorry","this method is deprecated")
+ #return
+#########################################################################################
+
+ result=appointments.alterDay(day)
+ if result:
+ return True
+ else:
+ QtGui.QMessageBox.information(self.dialog,"error",
+ result.message)
+
+ def exec_(self):
+ while True:
+ if not self.dialog.exec_():
+ return False
+ else:
+ result=True
+ if not self.checkTimes():
+ result=False
+ QtGui.QMessageBox.information(self.dialog,
+ "Error","Incorrect Time sequence - Please Try Again")
+ if not self.checkDent():
+ result=False
+ QtGui.QMessageBox.information(self.dialog,
+ "Error","Dentist not understood - Please Try Again")
+ if not self.checkDate():
+ result=False
+ QtGui.QMessageBox.information(self.dialog,
+ "Error","Date is in the past - Please Try Again")
+ if result:
+ return self.writeToDB()
+
+
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ dl = apptDialog(Dialog)
+ if dl.exec_():
+ print "accepted"
+
diff --git a/src/openmolar/qt4gui/dialogs/appt_mode_dialog.py b/src/openmolar/qt4gui/dialogs/appt_mode_dialog.py
new file mode 100644
index 0000000..658477c
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/appt_mode_dialog.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+if __name__ == "__main__":
+ import os, sys
+ sys.path.insert(0, os.path.abspath("../../../"))
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+
+class ApptModeDialog(BaseDialog):
+ VIEW_MODE = 0
+ SCHEDULING_MODE = 1
+ BLOCKING_MODE = 2
+ NOTES_MODE = 3
+
+ mode = VIEW_MODE
+
+ def __init__(self, parent=None):
+ BaseDialog.__init__(self, parent)
+
+ self.setWindowTitle(_("User choice"))
+
+ label = QtGui.QLabel(_("Set the Appointment Viewing Mode"))
+ self.insertWidget(label)
+
+ for mode, description, value in (
+ ( _("Browsing"),
+ "",
+ self.VIEW_MODE
+ ),
+
+ ( _("Scheduling"),
+ _("make appointments for a patient"),
+ self.SCHEDULING_MODE
+ ),
+
+ ( _("Blocking"),
+ _("block time periods. eg. lunch times etc."),
+ self.BLOCKING_MODE
+ ),
+
+ ( _("Note Checking"),
+ _("check notes for today's patients"),
+ self.NOTES_MODE),
+ ):
+
+ but = QtGui.QPushButton(mode)
+ but.setToolTip(description)
+
+ but.appt_mode = value
+ but.clicked.connect(self.but_clicked)
+ self.insertWidget(but)
+
+ self.apply_but.hide()
+
+ def sizeHint(self):
+ return QtCore.QSize(300,300)
+
+ def but_clicked(self):
+
+ self.mode = self.sender().appt_mode
+ self.accept()
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+
+ dl = ApptModeDialog()
+ if dl.exec_():
+ print (dl.mode)
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/appt_prefs_dialog.py b/src/openmolar/qt4gui/dialogs/appt_prefs_dialog.py
new file mode 100644
index 0000000..55a3c1c
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/appt_prefs_dialog.py
@@ -0,0 +1,223 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+from openmolar import connect
+
+RECALL_METHODS = ["post","email","sms"]
+
+class ShortcutButs(QtGui.QWidget):
+ clicked = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ layout = QtGui.QHBoxLayout(self)
+ layout.setMargin(0)
+ for term in (1,2,3,6,9,12):
+ but = QtGui.QPushButton("%d"% term)
+ but.setMaximumWidth(40)
+ layout.addWidget(but)
+ if term == 9:
+ layout.addStretch()
+ but.clicked.connect(self._but_clicked)
+
+ def _but_clicked(self):
+ but = self.sender()
+ self.clicked.emit(int(but.text()))
+
+class ApptPrefsDialog(BaseDialog):
+ def __init__(self, patient, parent):
+ BaseDialog.__init__(self, parent)
+ self.pt = patient
+
+ self.main_ui = parent
+ self.patient_label = QtGui.QLabel("%s<br /><b>%s</b>"% (
+ _("Appointment Preferences for Patient"), patient.name_id))
+
+ self.patient_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.recall_groupbox = QtGui.QGroupBox(
+ _("Recall Patient Periodically"))
+ self.recall_groupbox.setCheckable(True)
+
+ self.recdent_groupbox = QtGui.QGroupBox(
+ _("Dentist Recall"))
+
+ self.recdent_groupbox.setCheckable(True)
+ self.recdent_groupbox.setChecked(False)
+
+ self.recdent_period_spinbox = QtGui.QSpinBox()
+ self.recdent_period_spinbox.setMinimum(1)
+ self.recdent_period_spinbox.setMaximum(24)
+ self.recdent_period_spinbox.setValue(6)
+ self.recdent_date_edit = QtGui.QDateEdit()
+ self.recdent_date_edit.setCalendarPopup(True)
+ self.recdent_date_edit.setDate(QtCore.QDate.currentDate())
+ self.dent_shortcut_buts = ShortcutButs()
+
+
+ layout = QtGui.QFormLayout(self.recdent_groupbox)
+ layout.addRow(_("dentist recall period (months)"),
+ self.recdent_period_spinbox)
+ layout.addRow(_("Next Recall Date"), self.recdent_date_edit)
+ layout.addRow(_("Shortcuts (months from today)"),
+ self.dent_shortcut_buts)
+
+ self.rechyg_groupbox = QtGui.QGroupBox(
+ _("Hygienist Recall"))
+
+ self.rechyg_groupbox.setCheckable(True)
+ self.rechyg_groupbox.setChecked(False)
+
+
+ self.rechyg_period_spinbox = QtGui.QSpinBox()
+ self.rechyg_period_spinbox.setMinimum(1)
+ self.rechyg_period_spinbox.setMaximum(24)
+ self.rechyg_date_edit = QtGui.QDateEdit()
+ self.rechyg_date_edit.setCalendarPopup(True)
+ self.rechyg_date_edit.setDate(QtCore.QDate.currentDate())
+
+
+ layout = QtGui.QFormLayout(self.rechyg_groupbox)
+ layout.addRow(_("hygienist recall period (months)"),
+ self.rechyg_period_spinbox)
+ layout.addRow(_("Next Recall"), self.rechyg_date_edit)
+
+
+ self.recall_method_combobox = QtGui.QComboBox()
+ self.recall_method_combobox.addItems(
+ [_("Post"), _("email"), _("sms")])
+
+ #self.sms_reminders_checkbox = QtGui.QCheckBox(
+ # _("sms reminders for appointments?"))
+
+ #self.combined_appointment_checkbox = QtGui.QCheckBox(
+ # _("Don't offer joint appointments"))
+
+ layout = QtGui.QGridLayout(self.recall_groupbox)
+ layout.addWidget(self.recdent_groupbox,0,0,1,2)
+ layout.addWidget(self.rechyg_groupbox,1,0,1,2)
+
+ layout.addWidget(QtGui.QLabel(_("Recall method")), 2,0)
+ layout.addWidget(self.recall_method_combobox, 2,1)
+
+ self.insertWidget(self.patient_label)
+ self.insertWidget(self.recall_groupbox)
+
+ #self.insertWidget(self.sms_reminders_checkbox)
+ #self.insertWidget(self.combined_appointment_checkbox)
+
+ QtCore.QTimer.singleShot(0, self.get_appt_prefs)
+
+ self.dent_shortcut_buts.clicked.connect(self.dent_shortcuts)
+
+ def sizeHint(self):
+ return QtCore.QSize(500, 400)
+
+ def get_appt_prefs(self):
+ appt_prefs = self.pt.appt_prefs
+ self.recall_groupbox.setChecked(appt_prefs.recall_active)
+
+ if appt_prefs.recdent_period is not None:
+ self.recdent_groupbox.setChecked(True)
+ self.recdent_period_spinbox.setValue(appt_prefs.recdent_period)
+
+ self.recdent_date_edit.setDate(appt_prefs.recdent)
+ if appt_prefs.rechyg_period is not None:
+ self.rechyg_groupbox.setChecked(True)
+ self.rechyg_period_spinbox.setValue(appt_prefs.rechyg_period)
+ self.rechyg_date_edit.setDate(appt_prefs.rechyg)
+
+ try:
+ method_index = RECALL_METHODS.index(appt_prefs.recall_method)
+ except ValueError:
+ method_index = -1
+ self.recall_method_combobox.setCurrentIndex(method_index)
+
+ self.init_edited_signals()
+
+ def dent_shortcuts(self, period):
+ self.recdent_date_edit.setDate(
+ QtCore.QDate.currentDate().addMonths(period))
+
+ def init_edited_signals(self):
+ for widg in (
+ self.recall_groupbox,
+ self.recdent_groupbox,
+ self.rechyg_groupbox,
+ #self.sms_reminders_checkbox,
+ #self.combined_appointment_checkbox
+ ):
+ widg.toggled.connect(self._set_enabled)
+ for widg in (
+ self.recdent_date_edit,
+ self.rechyg_date_edit,
+ ):
+ widg.dateChanged.connect(self._set_enabled)
+
+ self.recdent_period_spinbox.valueChanged.connect(self._set_enabled)
+ self.rechyg_period_spinbox.valueChanged.connect(self._set_enabled)
+ self.recall_method_combobox.currentIndexChanged.connect(
+ self._set_enabled)
+
+ def _set_enabled(self, *args):
+ self.enableApply()
+
+ def item_edited(self):
+ self.enableApply()
+
+ def apply_changed(self):
+ print "applying changes"
+
+ self.pt.appt_prefs.recall_active = self.recall_groupbox.isChecked()
+
+ if self.recdent_groupbox.isChecked():
+ self.pt.appt_prefs.recdent_period = self.recdent_period_spinbox.value()
+ self.pt.appt_prefs.recdent = self.recdent_date_edit.date().toPyDate()
+
+ if self.rechyg_groupbox.isChecked():
+ self.pt.appt_prefs.rechyg_period = self.rechyg_period_spinbox.value()
+ self.pt.appt_prefs.rechyg = self.rechyg_date_edit.date().toPyDate()
+
+ i = self.recall_method_combobox.currentIndex()
+ if i == -1:
+ self.pt.appt_prefs.recall_method = None
+ else:
+ self.pt.appt_prefs.recall_method = RECALL_METHODS[i]
+
+ def exec_(self):
+ if BaseDialog.exec_(self):
+ self.apply_changed()
+ return True
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(1)
+
+ app = QtGui.QApplication([])
+
+ dl = ApptPrefsDialog(pt, None)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/appt_wizard_dialog.py b/src/openmolar/qt4gui/dialogs/appt_wizard_dialog.py
new file mode 100644
index 0000000..44b7766
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/appt_wizard_dialog.py
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings, appointment_shortcuts
+from openmolar.qt4gui.compiled_uis import Ui_apptWizard
+from openmolar.qt4gui.compiled_uis import Ui_apptWizardItem
+
+class apptWidget(Ui_apptWizardItem.Ui_Form):
+ def __init__(self, parent, widget):
+ self.parent = parent
+ self.setupUi(widget)
+ self.signals()
+ self.appointments = []
+
+ def signals(self):
+ '''
+ sets the various signals required to monitor user input
+ '''
+ QtCore.QObject.connect(self.pushButton,
+ QtCore.SIGNAL("clicked()"), self.add)
+
+ def addAppointments(self, arg):
+ '''
+ let this widget be self aware, give it control over the appointments
+ '''
+ self.appointments = arg
+ self.comboBox.addItems(["%d appointments"% len(self.appointments)])
+ for appt in self.appointments:
+ if not appt.has_key("clinician"):
+ if self.parent.parent.pt.dnt2 != 0:
+ appt["clinician"] = self.parent.parent.pt.dnt2
+ else:
+ appt["clinician"] = self.parent.parent.pt.dnt1
+ initials = localsettings.apptix_reverse.get(appt.get("clinician"))
+ mystr = "%s %d mins with %s"% (
+ appt.get("trt1"), appt.get("length"), initials )
+ self.comboBox.addItems([mystr])
+
+ def setLabelText(self, arg):
+ '''
+ this label has the description for the shortcut
+ '''
+ self.label.setText(arg)
+
+ def add(self):
+ '''
+ user is applying the appointments contained by this widget
+ '''
+ self.parent.dialog.emit(QtCore.SIGNAL("AddAppointments"),
+ (self.appointments))
+ self.parent.dialog.accept()
+
+class apptWizard(Ui_apptWizard.Ui_Dialog):
+ def __init__(self, dialog, parent=None):
+ self.setupUi(dialog)
+ self.dialog = dialog
+ self.items = []
+ self.parent = parent
+ self.setShortcuts()
+
+ def setShortcuts(self):
+ self.shortcuts = appointment_shortcuts.getShortCuts()
+ self.showAppts()
+
+ def showAppts(self):
+ self.apptWidgets = []
+ vlayout = QtGui.QVBoxLayout(self.frame)
+ for shortcut in self.shortcuts:
+ iw = QtGui.QWidget()
+ i = apptWidget(self, iw)
+ i.setLabelText(shortcut.get("description"))
+ i.addAppointments(shortcut.get("appointments"))
+ self.apptWidgets.append(i)
+ vlayout.addWidget(iw)
+ spacerItem = QtGui.QSpacerItem(1, 20, QtGui.QSizePolicy.Minimum,
+ QtGui.QSizePolicy.Expanding)
+
+ vlayout.addItem(spacerItem)
+
+
+if __name__ == "__main__":
+ import sys
+ from openmolar.dbtools import patient_class
+
+ class testGui():
+ def __init__(self):
+ self.pt = patient_class.patient(3)
+ def test(a):
+ print "signal caught",a
+
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ mainGui = testGui()
+ ui = apptWizard(Dialog, mainGui)
+ Dialog.connect(Dialog, QtCore.SIGNAL("AddAppointments"), test)
+ Dialog.exec_()
+
diff --git a/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py b/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py
new file mode 100644
index 0000000..7afd034
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/assistant_select_dialog.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from PyQt4 import QtGui, QtCore
+import types
+from openmolar.settings import localsettings
+from xml.dom import minidom
+
+class Dialog(QtGui.QDialog):
+ def __init__(self, parent=None):
+ super(Dialog, self).__init__(parent)
+ self.setWindowTitle(_("Select an Assitant"))
+
+ layout = QtGui.QVBoxLayout(self)
+ self.listwidget = QtGui.QListWidget()
+ self.listwidget.setSelectionBehavior(
+ QtGui.QAbstractItemView.SelectRows)
+ self.listwidget.setSelectionMode(
+ QtGui.QAbstractItemView.SingleSelection)
+
+ assistants = [_("NONE")] + localsettings.allowed_logins
+ self.listwidget.addItems(assistants)
+
+ self.listwidget.setCurrentRow(0)
+
+ self.buttonBox = QtGui.QDialogButtonBox(self)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(
+ QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+
+ layout.addWidget(self.listwidget)
+ layout.addWidget(self.buttonBox)
+
+ self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), self.accept)
+ self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.reject)
+
+
+ @property
+ def selectedAssistant(self):
+ if self.listwidget.currentRow() == 0:
+ return ""
+ return str(self.listwidget.currentItem().text().toAscii())
+
+ def result(self):
+ if self.exec_():
+ u2 = self.selectedAssistant
+ localsettings.setOperator(localsettings.clinicianInits, u2)
+ return (True, u2)
+ return (False, None)
+
+if __name__ == "__main__":
+ from openmolar.qt4gui import resources_rc
+ localsettings.initiateUsers()
+ app = QtGui.QApplication([])
+ ui = Dialog()
+ print ui.result()
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/dialogs/auto_address_dialog.py b/src/openmolar/qt4gui/dialogs/auto_address_dialog.py
new file mode 100644
index 0000000..2480c79
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/auto_address_dialog.py
@@ -0,0 +1,167 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+
+class AutoAddressDialog(BaseDialog):
+ def __init__(self, om_gui):
+ BaseDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ title = _("Apply Saved Address")
+ self.setWindowTitle(title)
+ label = QtGui.QLabel(u"<b>%s</b>"% title)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QGridLayout(frame)
+
+ label_1 = QtGui.QLabel(_("Address 1"))
+ label_2 = QtGui.QLabel(_("Address 2"))
+ label_3 = QtGui.QLabel(_("Address 1"))
+ label_4 = QtGui.QLabel(_("Town"))
+ label_5 = QtGui.QLabel(_("County"))
+ label_6 = QtGui.QLabel(_("Post Code"))
+ label_7 = QtGui.QLabel(_("Home Telephone"))
+
+ self.old_addr1_le = QtGui.QLineEdit()
+ self.old_addr2_le = QtGui.QLineEdit()
+ self.old_addr3_le = QtGui.QLineEdit()
+ self.old_town_le = QtGui.QLineEdit()
+ self.old_county_le = QtGui.QLineEdit()
+ self.old_pcde_le = QtGui.QLineEdit()
+ self.old_tel1_le = QtGui.QLineEdit()
+
+ self.addr1_le = QtGui.QLineEdit()
+ self.addr2_le = QtGui.QLineEdit()
+ self.addr3_le = QtGui.QLineEdit()
+ self.town_le = QtGui.QLineEdit()
+ self.county_le = QtGui.QLineEdit()
+ self.pcde_le = QtGui.QLineEdit()
+ self.tel1_le = QtGui.QLineEdit()
+
+ self.addr1_cb = QtGui.QCheckBox()
+ self.addr2_cb = QtGui.QCheckBox()
+ self.addr3_cb = QtGui.QCheckBox()
+ self.town_cb = QtGui.QCheckBox()
+ self.county_cb = QtGui.QCheckBox()
+ self.pcde_cb = QtGui.QCheckBox()
+ self.tel1_cb = QtGui.QCheckBox()
+
+ self.old_header_label = QtGui.QLabel(u"%s"% _("Existing"))
+ new_header_label = QtGui.QLabel(u"%s"% _("New"))
+
+
+ rows = (
+ (label_1, self.old_addr1_le, self.addr1_le, self.addr1_cb),
+ (label_2, self.old_addr2_le, self.addr2_le, self.addr2_cb),
+ (label_3, self.old_addr3_le, self.addr3_le, self.addr3_cb),
+ (label_4, self.old_town_le, self.town_le, self.town_cb),
+ (label_5, self.old_county_le, self.county_le, self.county_cb),
+ (label_6, self.old_pcde_le, self.pcde_le, self.pcde_cb),
+ (label_7, self.old_tel1_le, self.tel1_le, self.tel1_cb),
+ )
+
+ layout.addWidget(self.old_header_label, 0, 1)
+ layout.addWidget(new_header_label, 0, 2)
+
+ for row, (lab, old_le, new_le, cb) in enumerate(rows):
+ layout.addWidget(lab, row+1, 0)
+ layout.addWidget(old_le, row+1, 1)
+ layout.addWidget(new_le, row+1, 2)
+ layout.addWidget(cb, row+1, 3)
+ cb.setChecked(True)
+
+
+
+
+ self.insertWidget(label)
+ self.insertWidget(frame)
+
+ self.load_values()
+ self.enableApply()
+
+ def load_values(self):
+ '''
+ default NP has been pressed - so apply the address and surname
+ from the previous patient
+ '''
+ dup_tup = localsettings.LAST_ADDRESS
+
+ self.addr1_le.setText(dup_tup[1])
+ self.addr2_le.setText(dup_tup[2])
+ self.addr3_le.setText(dup_tup[3])
+ self.town_le.setText(dup_tup[4])
+ self.county_le.setText(dup_tup[5])
+ self.pcde_le.setText(dup_tup[6])
+ self.tel1_le.setText(dup_tup[7])
+
+ self.old_addr1_le.setText(self.om_gui.ui.addr1Edit.text())
+ self.old_addr2_le.setText(self.om_gui.ui.addr2Edit.text())
+ self.old_addr3_le.setText(self.om_gui.ui.addr3Edit.text())
+ self.old_town_le.setText(self.om_gui.ui.townEdit.text())
+ self.old_county_le.setText(self.om_gui.ui.countyEdit.text())
+ self.old_pcde_le.setText(self.om_gui.ui.pcdeEdit.text())
+ self.old_tel1_le.setText(self.om_gui.ui.tel1Edit.text())
+
+ def apply(self):
+ if self.addr1_cb.isChecked():
+ self.om_gui.ui.addr1Edit.setText(self.addr1_le.text())
+ if self.addr2_cb.isChecked():
+ self.om_gui.ui.addr2Edit.setText(self.addr2_le.text())
+ if self.addr3_cb.isChecked():
+ self.om_gui.ui.addr3Edit.setText(self.addr3_le.text())
+ if self.town_cb.isChecked():
+ self.om_gui.ui.townEdit.setText(self.town_le.text())
+ if self.county_cb.isChecked():
+ self.om_gui.ui.countyEdit.setText(self.county_le.text())
+ if self.pcde_cb.isChecked():
+ self.om_gui.ui.pcdeEdit.setText(self.pcde_le.text())
+ if self.tel1_cb.isChecked():
+ self.om_gui.ui.tel1Edit.setText(self.tel1_le.text())
+
+ def sizeHint(self):
+ return QtCore.QSize(600,350)
+
+ def exec_(self):
+ if localsettings.LAST_ADDRESS == ("",) * 8:
+ self.om_gui.advise(_("No previous address details found"), 1)
+ elif BaseDialog.exec_(self):
+ return True
+ return False
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ mw = QtGui.QWidget()
+
+ dl = AutoAddressDialog(mw)
+
+ print (dl.exec_())
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/base_dialogs.py b/src/openmolar/qt4gui/dialogs/base_dialogs.py
new file mode 100644
index 0000000..be11a48
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/base_dialogs.py
@@ -0,0 +1,214 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+this module provide 2 classes, BaseDialog and ExtendableDialog.
+These are backported from openmolar2
+'''
+
+
+from PyQt4 import QtGui, QtCore
+
+class BaseDialog(QtGui.QDialog):
+ '''
+ A base class for all my dialogs
+ provides a button box with ok and cancel buttons,
+ slots connected to accept and reject
+ has a VBoxlayout - accessed by self.layout_
+ '''
+ def __init__(self, parent=None, remove_stretch=False):
+ QtGui.QDialog.__init__(self, parent)
+
+ self.button_box = QtGui.QDialogButtonBox(self)
+ self.button_box.setOrientation(QtCore.Qt.Horizontal)
+ self.button_box.setStandardButtons(
+ self.button_box.Cancel|self.button_box.Apply)
+
+ self.cancel_but = self.button_box.button(self.button_box.Cancel)
+ self.apply_but = self.button_box.button(self.button_box.Apply)
+
+ self.button_box.setCenterButtons(True)
+
+ self.layout_ = QtGui.QVBoxLayout(self)
+
+ self.button_box.clicked.connect(self._clicked)
+
+ self.check_before_reject_if_dirty = False
+ self.dirty = False
+ self.enableApply(False)
+
+ self.spacer = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Expanding)
+ self.layout_.addItem(self.spacer)
+ self.layout_.addWidget(self.button_box)
+ self.insertpoint_offset = 2
+
+ if remove_stretch:
+ self.remove_spacer()
+
+ def sizeHint(self):
+ '''
+ Overwrite this function inherited from QWidget
+ '''
+ return self.minimumSizeHint()
+
+ def minimumSizeHint(self):
+ '''
+ Overwrite this function inherited from QWidget
+ '''
+ return QtCore.QSize(300, 300)
+
+ def remove_spacer(self):
+ '''
+ If this is called, then the spacer added at init is removed.
+ sometimes the spacer mucks up dialogs
+ '''
+ self.layout_.removeItem(self.spacer)
+ self.insertpoint_offset = 1
+
+ def set_check_on_cancel(self, check):
+ '''
+ if true, then user will be asked if changes should be abandoned
+ if the dialog is rejected, and given the opportunity to continue
+ '''
+ self.check_before_reject_if_dirty = check
+
+ def set_accept_button_text(self, text):
+ '''
+ by default, the text here is "apply"...
+ change as required using this function
+ '''
+ self.apply_but.setText(text)
+
+ def set_reject_button_text(self, text):
+ '''
+ by default, the text here is "cancel"...
+ change as required using this function
+ '''
+ self.cancel_but.setText(text)
+
+ def insertWidget(self, widg):
+ '''
+ insert widget at the bottom of the layout
+ '''
+ count = self.layout_.count()
+ insertpoint = count - self.insertpoint_offset
+ self.layout_.insertWidget(insertpoint, widg)
+
+ def _clicked(self, but):
+ '''
+ "private" function called when button box is clicked
+ '''
+ role = self.button_box.buttonRole(but)
+ if role == QtGui.QDialogButtonBox.ApplyRole:
+ self.accept()
+ else:
+ if not self.check_before_reject_if_dirty:
+ self.reject()
+ if (not self.dirty or QtGui.QMessageBox.question(self,
+ _("Confirm"), _("Abandon Changes?"),
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Yes):
+ self.reject()
+
+ def enableApply(self, enable=True):
+ '''
+ call this to enable the apply button (which is disabled by default)
+ '''
+ self.apply_but.setEnabled(enable)
+
+ def get_confirm(self, message,
+ accept="ok", reject="cancel", default="accept"):
+ '''
+ a convenience function to raise a dialog for confirmation of an action
+ '''
+ if accept == "ok":
+ accept_but = QtGui.QMessageBox.Ok
+ elif accept == "yes":
+ accept_but = QtGui.QMessageBox.Yes
+
+ if reject == "cancel":
+ reject_but = QtGui.QMessageBox.Cancel
+ elif reject == "no":
+ reject_but = QtGui.QMessageBox.No
+
+ buttons = accept_but|reject_but
+ default_but = accept_but if default == "accept" else reject_but
+
+ return QtGui.QMessageBox.question(self,_("Confirm"),
+ message, buttons, default_but) == accept_but
+
+class ExtendableDialog(BaseDialog):
+ '''
+ builds on BaseDialog, adding an area for advanced options
+ unlike BaseDialog.. this dialog has no spacer item by default
+ '''
+ def __init__(self, parent=None, remove_stretch=False):
+ BaseDialog.__init__(self, parent, remove_stretch)
+
+ self.button_box.setCenterButtons(False)
+
+ icon = QtGui.QIcon.fromTheme("go-down")
+ #: a pointer to the Advanced button
+ self.more_but = QtGui.QPushButton(icon, "&Advanced")
+ self.more_but.setFlat(True)
+
+ self.more_but.setCheckable(True)
+ self.more_but.setFocusPolicy(QtCore.Qt.NoFocus)
+ self.button_box.addButton(self.more_but, self.button_box.HelpRole)
+
+ self.setOrientation(QtCore.Qt.Vertical)
+
+ frame = QtGui.QFrame(self)
+ layout = QtGui.QVBoxLayout(frame)
+ self.setExtension(frame)
+
+ def set_advanced_but_text(self, txt):
+ self.more_but.setText(txt)
+
+ def _clicked(self, but):
+ '''
+ overwrite :doc:`BaseDialog` _clicked
+ checking to see if addvanced panel is to be displayed.
+ '''
+ if but == self.more_but:
+ self.showExtension(but.isChecked())
+ return
+ BaseDialog._clicked(self, but)
+
+ def add_advanced_widget(self, widg):
+ self.extension().layout().addWidget(widg)
+
+ def hide_extension(self):
+ self.more_but.setChecked(False)
+ self.showExtension(False)
+
+if __name__ == "__main__":
+ app = QtGui.QApplication([])
+
+ dl = BaseDialog()
+ QtCore.QTimer.singleShot(1000, dl.accept)
+ dl.exec_()
+
+ dl = ExtendableDialog()
+ QtCore.QTimer.singleShot(1000, dl.accept)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/begin_make_appt_dialog.py b/src/openmolar/qt4gui/dialogs/begin_make_appt_dialog.py
new file mode 100644
index 0000000..ecc970d
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/begin_make_appt_dialog.py
@@ -0,0 +1,211 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+WEEK_VIEW = True
+FIRST_AVAILABLE = True
+ANY_HYGIENIST = False
+
+
+class BeginMakeApptDialog(BaseDialog):
+ CLINICIAN_SELECTED = 0
+ CLINICIAN_ANY_DENT = 1
+ CLINICIAN_ANY_HYG = 2
+ CLINICIAN_ANY = 3
+
+ APPT_FIRST = 0
+ APPT_WEEKS_TIME = 1
+ APPT_FOLLOW_ON = 2
+
+ def __init__(self, pt, appt, parent=None):
+ BaseDialog.__init__(self, parent)
+ self.setWindowTitle(_("Begin Make Appointment Dialog"))
+
+ label = QtGui.QLabel("<b>%s</b>"%
+ _("Please set criteria for making this appointment"))
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.pt = pt
+ self.appt = appt
+
+ #WHEN TO LOOK
+ begin_search_frame = QtGui.QFrame()
+ w_label = QtGui.QLabel("<b>%s</b>"% _("When to Look"))
+ w_label.setAlignment(QtCore.Qt.AlignCenter)
+ layout = QtGui.QGridLayout(begin_search_frame)
+ layout.addWidget(w_label,0,0,1,3)
+
+ self.first_available_appointment_radiobut = QtGui.QRadioButton(
+ _("Find First Available Appointment"))
+ self.first_available_appointment_radiobut.setChecked(
+ FIRST_AVAILABLE)
+ self.week_ahead_appointment_radiobut = QtGui.QRadioButton(
+ _("7 Days Hence"))
+ self.follow_on_appointment_radiobut = QtGui.QRadioButton(
+ _("After Patient's last appointment"))
+
+ layout.addWidget(self.first_available_appointment_radiobut)
+ layout.addWidget(self.week_ahead_appointment_radiobut)
+ layout.addWidget(self.follow_on_appointment_radiobut)
+
+ #DAY OR WEEK VIEW
+ day_week_frame = QtGui.QFrame()
+ w_label = QtGui.QLabel("<b>%s</b>"% _("Day or Week Graphical View"))
+ w_label.setAlignment(QtCore.Qt.AlignCenter)
+ layout = QtGui.QGridLayout(day_week_frame)
+ layout.addWidget(w_label,0,0,1,2)
+
+ self.day_radio_but = QtGui.QRadioButton(_("Day View"))
+ self.day_radio_but.setChecked(not WEEK_VIEW)
+ week_radio_but = QtGui.QRadioButton(_("Week View"))
+ week_radio_but.setChecked(WEEK_VIEW)
+
+ layout.addWidget(self.day_radio_but)
+ layout.addWidget(week_radio_but)
+
+
+ #CLINICIAN POLICY
+ clinician_frame = QtGui.QFrame()
+ c_label = QtGui.QLabel("<b>%s</b>"% _("Clinician selection policy"))
+ c_label.setAlignment(QtCore.Qt.AlignCenter)
+ layout = QtGui.QGridLayout(clinician_frame)
+
+ self.specified_clinician_radiobut = QtGui.QRadioButton(
+ _("Specified Clinician"))
+ self.specified_clinician_radiobut.setChecked(not ANY_HYGIENIST)
+ self.any_dentist_radiobut = QtGui.QRadioButton(_("Any Dentist"))
+ self.any_hygienist_radiobut = QtGui.QRadioButton(_("Any Hygienist"))
+ self.any_hygienist_radiobut.setChecked(ANY_HYGIENIST)
+ self.any_clinician_radiobut = QtGui.QRadioButton(_("Any Clinician"))
+
+ layout.addWidget(c_label,0,0,1,2)
+ layout.addWidget(self.specified_clinician_radiobut,1,0)
+ layout.addWidget(self.any_dentist_radiobut,1,1)
+ layout.addWidget(self.any_hygienist_radiobut,2,0)
+ layout.addWidget(self.any_clinician_radiobut,2,1)
+
+
+ ignore_emergencies_frame = QtGui.QFrame()
+ layout = QtGui.QVBoxLayout(ignore_emergencies_frame)
+ emergency_label = QtGui.QLabel(
+ "<b>%s</b>"% _("Emergency time management"))
+ self.ignore_emergency_checkbox = QtGui.QCheckBox(
+ _("Ignore Emergency Spaces"))
+ self.ignore_emergency_checkbox.setChecked(False)
+ layout.addWidget(emergency_label)
+ layout.addWidget(self.ignore_emergency_checkbox)
+
+
+ #DAY OF WEEK
+ self.dow_checkboxes = []
+ dow_frame = QtGui.QFrame()
+ dow_label = QtGui.QLabel("<b>%s</b>"%
+ _("Look for appointments on these days"))
+ dow_label.setAlignment(QtCore.Qt.AlignCenter)
+ layout = QtGui.QGridLayout(dow_frame)
+ layout.addWidget(dow_label,0,0,1,7)
+ self.add_dow_checkboxes(layout)
+
+ #JOINT APPOINTMENTS
+ self.joint_appt_checkbox= QtGui.QCheckBox(
+ _("Look for Joint Appointments with the hygienist"))
+
+
+ self.insertWidget(label)
+ self.insertWidget(self.joint_appt_checkbox)
+ self.insertWidget(clinician_frame)
+ self.insertWidget(begin_search_frame)
+ self.insertWidget(ignore_emergencies_frame)
+ self.insertWidget(day_week_frame)
+ self.insertWidget(dow_frame)
+
+ self.apply_but.setText(_("Search Now"))
+
+ self.enableApply()
+
+ def add_dow_checkboxes(self, layout):
+ for i in range(7):
+ cb = QtGui.QCheckBox(QtCore.QDate.shortDayName(i+1))
+ cb.setChecked(True)
+ layout.addWidget(cb,1,i)
+ self.dow_checkboxes.append(cb)
+
+ @property
+ def clinician_selection_mode(self):
+ if self.any_clinician_radiobut.isChecked():
+ return self.CLINICIAN_ANY
+ if self.any_dentist_radiobut.isChecked():
+ return self.CLINICIAN_ANY_DENT
+ if self.any_hygienist_radiobut.isChecked():
+ return self.CLINICIAN_ANY_HYG
+ return self.CLINICIAN_SELECTED
+
+ @property
+ def excluded_days(self):
+ days = []
+ for i in range(7):
+ if not self.dow_checkboxes[i].isChecked():
+ days.append(i+1)
+ return days
+
+ @property
+ def use_week_view(self):
+ return not self.day_radio_but.isChecked()
+
+ @property
+ def ignore_emergency_spaces(self):
+ return self.ignore_emergency_checkbox.isChecked()
+
+ @property
+ def start_search_criteria(self):
+ if self.first_available_appointment_radiobut.isChecked():
+ return self.APPT_FIRST
+ if self.week_ahead_appointment_radiobut.isChecked():
+ return self.APPT_WEEKS_TIME
+ if self.follow_on_appointment_radiobut.isChecked():
+ return self.APPT_FOLLOW_ON
+
+ @property
+ def joint_appointment_search(self):
+ return self.joint_appt_checkbox.isChecked()
+
+ @property
+ def message(self):
+ message = "<body>%s <b>%s</b><br />%s"% (
+ _("begin making appointment for patient"),
+ self.pt.name_id,
+ self.appt.html)
+
+ return message
+
+if __name__ == "__main__":
+ from openmolar.settings import localsettings
+ app = QtGui.QApplication([])
+
+ dl = BeginMakeApptDialog(None, None)
+ if dl.exec_():
+ print "clinician_selection_mode", dl.clinician_selection_mode
+ print "excluded days", dl.excluded_days
+ print "start search criteria", dl.start_search_criteria
diff --git a/src/openmolar/qt4gui/dialogs/block_wizard.py b/src/openmolar/qt4gui/dialogs/block_wizard.py
new file mode 100644
index 0000000..5202593
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/block_wizard.py
@@ -0,0 +1,118 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_block_wizard
+from openmolar.qt4gui.customwidgets import fiveminutetimeedit
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import appointments
+
+class blocker(Ui_block_wizard.Ui_Dialog):
+ def __init__(self,dialog,parent=None):
+ self.setupUi(dialog)
+ self.progressBar.hide()
+ self.dialog=dialog
+ self.clinicianDict = self.addClinicians()
+ self.dayDict = self.addDays()
+ self.addTimeEdit()
+ self.start_dateEdit.setDate(QtCore.QDate.currentDate())
+ self.end_dateEdit.setDate(localsettings.bookEnd)
+ self.lineEdit.setText(_("emergency"))
+ QtCore.QObject.connect(self.buttonBox,
+ QtCore.SIGNAL("clicked(QAbstractButton*)"),self.writeToDB)
+
+ def addClinicians(self):
+ '''
+ assemble some checkboxes to put into the gui
+ '''
+ retarg = {}
+ vbox = QtGui.QHBoxLayout()
+ for clinician in (localsettings.activedents
+ + localsettings.activehygs):
+ cb = QtGui.QCheckBox(clinician)
+ vbox.addWidget(cb)
+ retarg[clinician] = cb
+ self.clinicians_groupBox.setLayout(vbox)
+ return retarg
+
+ def addDays(self):
+ '''
+ assemble some checkboxes to put into the gui
+ '''
+ retarg = {}
+ vbox = QtGui.QGridLayout()
+ for day in range(7):
+ cb = QtGui.QCheckBox(localsettings.DAYNAMES[day])
+ if day < 4:
+ row = 0
+ else:
+ row = 1
+ vbox.addWidget(cb, row, day%4)
+ retarg[day] = cb
+ self.day_groupBox.setLayout(vbox)
+ return retarg
+
+ def addTimeEdit(self):
+ '''
+ adds a custom widget which enforces a five minute time
+ '''
+ vlayout = QtGui.QVBoxLayout(self.time_frame)
+ vlayout.setMargin(0)
+ self.start_timeEdit = fiveminutetimeedit.FiveMinuteTimeEdit()
+ vlayout.addWidget(self.start_timeEdit)
+ self.start_timeEdit.setTime(QtCore.QTime(12,0,0))
+
+ def writeToDB(self, arg):
+ '''
+ user has entered a good sequence, so write it to the DB now
+ '''
+ if self.buttonBox.buttonRole(arg) == (
+ QtGui.QDialogButtonBox.RejectRole):
+ self.dialog.reject()
+ return
+ sdate = self.start_dateEdit.date()
+ fdate = self.end_dateEdit.date()
+
+ total = sdate.daysTo(fdate)
+
+ start = localsettings.humanTimetoWystime(
+ self.start_timeEdit.time().toString("h:mm"))
+ end = localsettings.minutesPastMidnighttoWystime(
+ localsettings.minutesPastMidnight(start) + self.spinBox.value())
+
+ self.progressBar.show()
+ for clinician in self.clinicianDict.keys():
+ if self.clinicianDict[clinician].isChecked():
+ self.progress_label.setText("%s %s"%(
+ _("applying changes for"), clinician))
+
+ dt = sdate
+
+ while dt <= fdate:
+ progress = int(100 * (total - dt.daysTo(fdate))/total)
+ if self.progressBar.value() != progress:
+ self.progressBar.setValue(progress)
+ if self.dayDict[dt.dayOfWeek()-1].isChecked():
+ appointments.make_appt(dt.toPyDate(),
+ localsettings.apptix[clinician],
+ start, end, self.lineEdit.text().toAscii(),
+ 0,"","","","",-128,0,0,0)
+
+ dt = dt.addDays(1)
+
+ self.dialog.accept()
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ dl = blocker(Dialog)
+ Dialog.exec_()
+
diff --git a/src/openmolar/qt4gui/dialogs/blockslot.py b/src/openmolar/qt4gui/dialogs/blockslot.py
new file mode 100644
index 0000000..84fc36e
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/blockslot.py
@@ -0,0 +1,183 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+
+from PyQt4 import QtCore, QtGui
+from openmolar.settings import localsettings
+from openmolar.dbtools import search
+from openmolar.dbtools import patient_class
+
+from openmolar.qt4gui.compiled_uis import Ui_blockSlot
+
+from openmolar.qt4gui.dialogs.find_patient_dialog import FindPatientDialog
+from openmolar.qt4gui.customwidgets import fiveminutetimeedit
+
+class blockDialog(Ui_blockSlot.Ui_Dialog):
+ def __init__(self, Dialog, om_gui = None):
+ self.Dialog = Dialog
+ self.om_gui = om_gui
+ self.setupUi(Dialog)
+ vlayout = QtGui.QVBoxLayout(self.blockStart_frame)
+ vlayout.setMargin(0)
+ self.start_timeEdit = fiveminutetimeedit.FiveMinuteTimeEdit()
+ vlayout.addWidget(self.start_timeEdit)
+
+ vlayout = QtGui.QVBoxLayout(self.blockEnd_frame)
+ vlayout.setMargin(0)
+ self.finish_timeEdit = fiveminutetimeedit.FiveMinuteTimeEdit()
+ vlayout.addWidget(self.finish_timeEdit)
+
+ vlayout = QtGui.QVBoxLayout(self.startTime_frame)
+ vlayout.setMargin(0)
+ self.appointment_timeEdit = fiveminutetimeedit.FiveMinuteTimeEdit()
+ vlayout.addWidget(self.appointment_timeEdit)
+
+ self.reason_comboBox.addItems(localsettings.apptTypes)
+ self.pt_label.setText(_("No patient chosen!"))
+ self.patient = None
+ self.block = True
+ self.tabWidget.setCurrentIndex(0)
+
+ QtCore.QObject.connect(self.changePt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changePt)
+
+ QtCore.QObject.connect(self.start_timeEdit,
+ QtCore.SIGNAL("verifiedTime"), self.changedTimes)
+
+ QtCore.QObject.connect(self.finish_timeEdit,
+ QtCore.SIGNAL("verifiedTime"), self.changedTimes)
+
+ QtCore.QObject.connect(self.appointment_timeEdit,
+ QtCore.SIGNAL("verifiedTime"), self.changedStart)
+
+ QtCore.QObject.connect(self.length_spinBox,
+ QtCore.SIGNAL("valueChanged (int)"), self.changedLength)
+
+ self.earliestStart = None
+ self.latestFinish = None
+ self.minimumLength = 0
+ self.length = 0
+
+ def changedLength(self, mins):
+ '''
+ user has modded the appointment start time, sync the other start
+ '''
+ finish = self.start_timeEdit.time().addSecs(mins*60)
+ self.finish_timeEdit.setTime(finish)
+ self.setLength()
+
+ def changedStart(self,t):
+ '''
+ user has modded the appointment start time, sync the other start
+ '''
+ self.start_timeEdit.setTime(t)
+
+ def changedTimes(self,t):
+ '''
+ user has altered the block start
+ '''
+ self.setLength()
+
+ def exec_(self):
+ while True:
+ if self.Dialog.exec_():
+ errors = []
+ if self.start_timeEdit.time() < self.earliestStart:
+ errors.append(
+ _("Start is outwith slot bounds (too early)"))
+ if self.start_timeEdit.time() > self.latestFinish:
+ errors.append(
+ _("Start is outwith slot bounds (too late)"))
+ if self.finish_timeEdit.time() > self.latestFinish:
+ errors.append(
+ _("Finish is outwith slot bounds (too late"))
+ if self.finish_timeEdit.time() > self.latestFinish:
+ errors.append(
+ _("Finish is outwith slot bounds (too early"))
+ if self.length < self.minimumLength:
+ errors.append(_("length of appointment is too short"))
+ if self.tabWidget.currentIndex() == 0:
+ if self.comboBox.currentText() == "":
+ errors.append(_("no reason for the block given"))
+ else:
+ if not self.patient or self.patient.serialno == 0:
+ errors.append(_("no patient selected"))
+ if errors:
+ errorlist = ""
+ for error in errors:
+ errorlist += "<li>%s</li>"% error
+ message = "<p>%s...<ul>%s</ul></p>"% (
+ _("Unable to commit because"), errorlist )
+ QtGui.QMessageBox.information(self.Dialog,_("error"),
+ message)
+
+ else:
+ self.block = self.tabWidget.currentIndex() == 0
+ return True
+ else:
+ return False
+
+ def changePt(self):
+ dl = FindPatientDialog(self.om_gui)
+ if dl.exec_():
+ serialno = dl.chosen_sno
+ try:
+ self.setPatient(patient_class.patient(serialno))
+ except localsettings.PatientNotFoundError:
+ QtGui.QMessageBox.information(self.Dialog,
+ _("Error"), _("patient not found"))
+
+ self.setPatient(patient_class.patient(0))
+
+ def setPatient(self, pt):
+ '''
+ let's the dialog know who the patient is
+ '''
+ if pt is not None and pt.serialno != 0:
+ self.pt_label.setText(
+ _("Chosen Patient is")+"<br />%s"% pt.name_id)
+ else:
+ self.pt_label.setText(_("no patient chosen"))
+
+ self.patient = pt
+
+ def setTimes(self, start, finish):
+ '''
+ update the 3 time fields, and the available appointment length
+ '''
+ self.earliestStart = start
+ self.latestFinish = finish
+ self.appointment_timeEdit.setTime(start)
+ self.start_timeEdit.setTime(start)
+ self.finish_timeEdit.setTime(finish)
+ self.setLength(True)
+
+ def setLength(self, initialise = False):
+ start = self.start_timeEdit.time()
+ finish = self.finish_timeEdit.time()
+
+ self.length = (finish.hour() * 60 + finish.minute()) -(
+ start.hour() * 60 + start.minute())
+
+ self.length_label.setText("%d<br />"% self.length + _("minutes"))
+ if initialise:
+ self.length_spinBox.setMaximum(self.length)
+ self.length_spinBox.setValue(self.length)
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ dialog = QtGui.QDialog()
+ dl = blockDialog(dialog)
+ start = QtCore.QTime(14,40)
+ finish = QtCore.QTime(15,15)
+ dl.setTimes(start, finish)
+ dl.exec_()
+
+ app.closeAllWindows()
+
diff --git a/src/openmolar/qt4gui/dialogs/bridge_denture.py b/src/openmolar/qt4gui/dialogs/bridge_denture.py
new file mode 100644
index 0000000..d3814f8
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/bridge_denture.py
@@ -0,0 +1,121 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from __future__ import division
+from PyQt4 import QtGui, QtCore
+
+
+class tooth(QtGui.QWidget):
+ def __init__(self,name="",parent=None):
+ super(tooth,self).__init__(parent)
+ self.name=name
+ self.setRect()
+ self.setDefaultColors()
+ self.setMouseTracking(True)
+ def setRect(self):
+ rect=QtCore.QRectF()
+ rect.setRect(10,10,20,20)
+ self.rect=rect
+ def setDefaultColors(self):
+ self.boundaryColour=QtGui.QColor("blue")
+ def mouseMoveEvent(self,event):
+ self.boundaryColour=QtGui.QColor("red")
+ self.update()
+ def mousePressEvent(self,event):
+ print "clicked %s"%self.name
+ def leaveEvent(self,event):
+ self.setDefaultColors()
+ self.update()
+
+ def paintEvent(self,event=None):
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ painter.setPen(QtGui.QPen(self.boundaryColour,2)) #red pen
+ sansFont = QtGui.QFont("Sans", 8)
+ painter.setFont(sansFont)
+ painter.drawText(self.rect,QtCore.Qt.AlignCenter,(self.name[2]))
+ painter.drawRect(self.rect)
+ painter.restore()
+
+class labChartWidget(QtGui.QWidget):
+ '''a custom widget to show a standard UK dental chart
+ - allows for user navigation with mouse and/or keyboard
+ '''
+ def __init__(self, parent=None):
+ super(labChartWidget,self).__init__(parent)
+ self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Expanding))
+ self.grid = (8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,8)
+ self.setMinimumSize(self.minimumSizeHint())
+ self.showLeftRight=True
+ self.showSelected=True
+ self.selected = [-1,-1]
+ self.props={}
+ self.teeth=[]
+ self.addTeeth()
+
+ def sizeHint(self):
+ return QtCore.QSize(100, 200)
+ def minimumSizeHint(self):
+ return QtCore.QSize(200, 300)
+ def setShowLeftRight(self,arg):
+ self.showLeftRight=arg
+ def setShowSelected(self,arg):
+ self.showSelected=arg
+ def setSelected(self,x,y):
+ self.selected=[x,y]
+ self.repaint()
+ self.emit(QtCore.SIGNAL("toothSelected"),self.grid[y][x]) #emit a signal that the user has selected a tooth
+
+ def addTeeth(self):
+ for i in self.grid:
+ t=tooth("ur%s"%i,self)
+ self.teeth.append(t)
+ self.update()
+
+ def paintEvent(self,event=None):
+ '''override the paint event so that we can draw our grid'''
+
+ centrepoint=(self.width()/2,self.height()/2)
+
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ midline=self.width()/100
+ xOffset = (self.width() - midline) / 16 #cell width
+ yOffset = self.height() / 2 #cell height
+ painter.setPen(QtGui.QPen(QtCore.Qt.red,2)) #red pen
+ sansFont = QtGui.QFont("Helvetica", 8)
+ painter.setFont(sansFont)
+ fm = QtGui.QFontMetrics(sansFont)
+ leftpad=fm.width("Right ")
+ rightpad=fm.width(" Left")
+
+ painter.drawLine(leftpad,centrepoint[1],
+ self.width()- rightpad,centrepoint[1]) #big horizontal dissection of entire widget
+
+ textRect=QtCore.QRectF(0,0,self.width(),self.height())
+ painter.drawText(textRect,QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter,(QtCore.QString("Left")))
+ painter.drawText(textRect,QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter,(QtCore.QString("Right")))
+
+ for tooth in self.teeth:
+ tooth.update()
+
+ painter.restore()
+
+
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Form = QtGui.QWidget()
+ ui = labChartWidget(Form)
+ #Form.setEnabled(False)
+ Form.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/dialogs/bridge_dialog.py b/src/openmolar/qt4gui/dialogs/bridge_dialog.py
new file mode 100644
index 0000000..cd652a1
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/bridge_dialog.py
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+from openmolar.qt4gui.dialogs.new_bridge_dialog import NewBridgeDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class BridgeDialog(BaseDialog):
+ chosen_treatments = []
+ def __init__(self, om_gui = None):
+ BaseDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ message = _("Bridge Treatment Dialog")
+ self.setWindowTitle(message)
+ self.header_label = QtGui.QLabel(message)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QHBoxLayout(frame)
+
+ new_but = QtGui.QPushButton(_("Plan a New Bridge"))
+ new_but.setMinimumSize(QtCore.QSize(150,150))
+ alt_but = QtGui.QPushButton(_("Recement/Repairs"))
+ alt_but.setMinimumSize(QtCore.QSize(150,150))
+
+ layout.addWidget(new_but)
+ layout.addWidget(alt_but)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(frame)
+
+ self.apply_but.hide()
+
+ new_but.clicked.connect(self.new_bridge)
+ alt_but.clicked.connect(self.recement_bridge)
+
+ if om_gui.ui.toothPropsWidget.is_Static:
+ self.hide()
+ QtCore.QTimer.singleShot(10, self.new_bridge)
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 400)
+
+ def new_bridge(self):
+ self.hide()
+ dl = NewBridgeDialog(self)
+ if dl.exec_():
+ LOGGER.debug(dl.chosen_properties)
+ material = dl.chosen_properties["material"]
+ for key, value in dl.chosen_properties.iteritems():
+ if re.match("[ul][lr][1-8]", key) and value == "pontic":
+ self.chosen_treatments.append((key, "BR/P,%s"% material))
+ elif re.match("[ul][lr][1-8]", key) and value == "retainer":
+ self.chosen_treatments.append((key, "BR/CR,%s"% material))
+ self.accept()
+ else:
+ self.reject()
+
+ def recement_bridge(self):
+ QtGui.QMessageBox.information(self, "todo", "not yet implemented")
+ self.reject()
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ LOGGER.setLevel(logging.DEBUG)
+ dl = BridgeDialog(None)
+ if dl.exec_():
+ print dl.chosen_treatments
+ else:
+ print "dialog rejected"
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/chart_tx_choice_dialog.py b/src/openmolar/qt4gui/dialogs/chart_tx_choice_dialog.py
new file mode 100644
index 0000000..ac7828f
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/chart_tx_choice_dialog.py
@@ -0,0 +1,149 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from collections import namedtuple
+from functools import partial
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+#these lists are shortcut, description, tooltip
+
+FS_ITEMS = (
+ ("FS", _("Fissure Sealant"), ""),
+ ("FS,CO", _("PRR restoration with composite"), ""),
+ )
+
+ENDO_ITEMS = (
+ ("PX", _("Pulp Extirpation - 1 canal"), ""),
+ ("PX+", _("Pulp Extirpation - multiple canals"), ""),
+ ("RT", _("Root Canal"), ""),
+ ("IE",_("Incomplete Endodontics"), ""),
+ )
+
+SURGICAL_ITEMS = (
+ ("EX", _("Extraction"), ""),
+ ("EX/S1", _("Surgical Extraction"), ""),
+ ("AP", _("Apicectomy"), ""),
+ )
+
+
+class ChartTxChoiceDialog(ExtendableDialog):
+ FS_ITEMS = FS_ITEMS
+ ENDO_ITEMS = ENDO_ITEMS
+ SURGICAL_ITEMS = SURGICAL_ITEMS
+ def __init__(self, static, parent=None):
+ ExtendableDialog.__init__(self, parent, remove_stretch=True)
+ self.setWindowTitle(_("Chart Treatment Choice Dialog"))
+ self.om_gui = parent
+ self.chosen_shortcut = None
+
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+ self.but_layout = QtGui.QVBoxLayout(frame)
+ self.insertWidget(scroll_area)
+
+ self.apply_but.hide()
+ self.all_tx_buttons = []
+ if static:
+ self.more_but.hide()
+ else:
+ all_tx_but = QtGui.QPushButton(
+ _("Show Treatments from all feescales"))
+ all_tx_but.clicked.connect(self._show_all_txs)
+ self.add_advanced_widget(all_tx_but)
+
+ def sizeHint(self):
+ return QtCore.QSize(300, 300)
+
+ def set_items(self, items):
+ but_list = []
+ for shortcut, description, tooltip in items:
+ button = namedtuple('Button',
+ ("shortcut", "description", "tooltip"))
+ button.description = description
+ button.tooltip = ""
+ button.shortcut = shortcut
+ but_list.append(button)
+ self.add_buttons(but_list)
+
+ def add_buttons(self, chart_buttons, all_tx_buttons=[]):
+ self.all_tx_buttons = all_tx_buttons
+ while self.but_layout.count():
+ widget_item = self.but_layout.takeAt(0)
+ try:
+ widget_item.widget().setParent(None)
+ except AttributeError: #stretch item has no attribute "widget"
+ pass
+
+ if chart_buttons == []:
+ label = QtGui.QLabel(_(
+ "No Matching items to show. "
+ "Perhaps this is due to the feescale for this patient?"))
+ label.setWordWrap(True)
+ self.but_layout.addWidget(label)
+ for button in chart_buttons:
+ but = QtGui.QPushButton(button.description)
+ but.setToolTip(button.tooltip)
+ but.clicked.connect(
+ partial(self.but_clicked, button.shortcut))
+ self.but_layout.addWidget(but)
+ self.but_layout.addStretch(100)
+
+ def but_clicked(self, shortcut):
+ self.chosen_shortcut = shortcut
+ self.accept()
+
+ def _show_all_txs(self):
+ if self.all_tx_buttons == []:
+ QtGui.QMessageBox.information(self, _("Error"),
+ _("No items of this type have found in any feescale"))
+ self.add_buttons(self.all_tx_buttons)
+ self.hide_extension()
+
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ from openmolar.dbtools.patient_class import patient
+
+ app = QtGui.QApplication([])
+ mw = QtGui.QWidget()
+ mw.pt = patient(11956)
+ dl = ChartTxChoiceDialog(True, mw)
+ dl.set_items(dl.FS_ITEMS)
+ if dl.exec_():
+ print dl.chosen_shortcut
+ dl.set_items(dl.ENDO_ITEMS)
+ if dl.exec_():
+ print dl.chosen_shortcut
+ dl.set_items(dl.SURGICAL_ITEMS)
+ if dl.exec_():
+ print dl.chosen_shortcut
+
+ dl = ChartTxChoiceDialog(False, mw)
+ dl.add_buttons([])
+ if dl.exec_():
+ print dl.chosen_shortcut
diff --git a/src/openmolar/qt4gui/dialogs/child_smile_dialog.py b/src/openmolar/qt4gui/dialogs/child_smile_dialog.py
new file mode 100644
index 0000000..bee6aae
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/child_smile_dialog.py
@@ -0,0 +1,188 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+import urllib2
+from xml.dom import minidom
+from PyQt4 import QtGui, QtCore
+
+if __name__ == "__main__":
+ import os, sys
+ sys.path.insert(0, os.path.abspath("../../../"))
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.customwidgets.upper_case_line_edit import UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+LOOKUP_URL = "http://www.psd.scot.nhs.uk/dev/simd/simdLookup.aspx"
+
+## here is the result when using this
+
+EXAMPLE_RESULT = '''
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>
+ SIMD Lookup for PSD
+</title></head>
+<body>
+ <form method="post" action="simdLookup.aspx?_=1348071532912&pCode=IV2+5XQ" id="form1">
+<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUMU0lNRCBBcmVhOiA0ZGRkXUm1+PLLKbrXDulhPdHkxpJgof6hEmrnSC3uCZiOeQ0=" />
+ <div>
+ <span id="simd">SIMD Area: 4</span>
+ </div>
+ </form>
+</body>
+</html>
+'''
+
+class ChildSmileDialog(BaseDialog):
+ result = ""
+ is_checking_website = False
+ def __init__(self, parent):
+ BaseDialog.__init__(self, parent)
+
+ self.main_ui = parent
+ self.header_label = QtGui.QLabel()
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.pcde_le = UpperCaseLineEdit()
+ self.pcde_le.setText(self.main_ui.pt.pcde)
+ self.simd_label = QtGui.QLabel()
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(self.pcde_le)
+ self.insertWidget(self.simd_label)
+
+ self.pcde_le.textEdited.connect(self.check_pcde)
+
+ @property
+ def pcde(self):
+ try:
+ return str(self.pcde_le.text())
+ except:
+ return ""
+
+ @property
+ def valid_postcode(self):
+ return bool(re.match("[A-Z][A-Z](\d+) (\d+)[A-Z][A-Z]", self.pcde))
+
+ def postcode_warning(self):
+ if not self.valid_postcode:
+ QtGui.QMessageBox.warning(self, "error", "Postcode is not valid")
+
+ def check_pcde(self):
+ if self.valid_postcode:
+ QtCore.QTimer.singleShot(50, self.simd_lookup)
+ else:
+ self.header_label.setText(_("Please enter a valid postcode"))
+ self.simd_label.setText("")
+ self.enableApply(False)
+
+ def check_hung(self):
+ '''
+ this is called by a timout of the web polling
+ '''
+ if self.is_checking_website:
+ QtGui.QApplication.instance().restoreOverrideCursor()
+ QtGui.QMessageBox.warning(self, "error",
+ "unable to poll NHS website")
+ self.reject()
+ return
+
+
+ def simd_lookup(self):
+ '''
+ poll the server for a simd for a postcode
+ '''
+ try:
+ self.is_checking_website = True
+ QtCore.QTimer.singleShot(15000, self.check_hung)
+
+ self.header_label.setText(_("Polling website with Postcode"))
+ QtGui.QApplication.instance().setOverrideCursor(
+ QtCore.Qt.WaitCursor)
+
+ pcde = self.pcde.replace(" ", "%20")
+
+ url = "%s?pCode=%s" %(LOOKUP_URL, pcde)
+
+ req = urllib2.Request(url)
+ response = urllib2.urlopen(req)
+ result = response.read()
+ self.result = self._parse_result(result)
+ self.simd_label.setText(self.result)
+
+ self.enableApply(True)
+ self.is_checking_website = False
+ QtGui.QApplication.instance().restoreOverrideCursor()
+ except Exception as exc:
+ LOGGER.exception("error polling NHS website?")
+ QtGui.QApplication.instance().restoreOverrideCursor()
+ QtGui.QMessageBox.warning(self, "error",
+ "unable to poll NHS website")
+ self.reject()
+
+ def _parse_result(self, result):
+ dom = minidom.parseString(result)
+ e=dom.getElementsByTagName("span")[0]
+ return e.firstChild.data
+
+ @property
+ def simd_number(self):
+ return int(re.search("(\d+)", self.result).groups()[0])
+
+ def exec_(self):
+ self.check_pcde()
+ QtCore.QTimer.singleShot(0, self.postcode_warning)
+ if BaseDialog.exec_(self):
+ if self.valid_postcode:
+ self.main_ui.pt.pcde = self.pcde
+
+ self.main_ui.addNewNote("CHILDSMILE (postcode '%s'): %s"%
+ (self.pcde, self.result))
+
+ return True
+
+
+if __name__ == "__main__":
+
+ def _mock_function(*args):
+ pass
+ from collections import namedtuple
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ ui = QtGui.QMainWindow()
+ ui.pt = namedtuple("pt",("pcde",))
+
+ ui.pt.pcde = "Iv1 1P"
+ ui.addNewNote = _mock_function
+
+ dl = ChildSmileDialog(ui)
+ #print dl._parse_result(EXAMPLE_RESULT)
+ if dl.exec_():
+ print (dl.result)
+ print (dl.simd_number)
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/choose_clinicians.py b/src/openmolar/qt4gui/dialogs/choose_clinicians.py
new file mode 100644
index 0000000..51de734
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/choose_clinicians.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2010 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_choose_clinicians
+
+class dialog(Ui_choose_clinicians.Ui_Dialog, QtGui.QDialog):
+ def __init__(self, widg, parent=None):
+ super(dialog, self).__init__(parent)
+ self.setupUi(self)
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(widg)
+
+if __name__ == "__main__":
+ import gettext
+ app = QtGui.QApplication([])
+ gettext.install('openmolar')
+ l = QtGui.QListView()
+ dl = dialog(l)
+ dl.exec_()
+ app.closeAllWindows()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/choose_tooth_dialog.py b/src/openmolar/qt4gui/dialogs/choose_tooth_dialog.py
new file mode 100644
index 0000000..85ade0e
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/choose_tooth_dialog.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.compiled_uis import Ui_choose_tooth
+from openmolar.qt4gui.customwidgets.simple_chartwidget import SimpleChartWidg
+
+class ChooseToothDialog(QtGui.QDialog, Ui_choose_tooth.Ui_Dialog):
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+ self.chartwidg = SimpleChartWidg(self)
+
+ layout = QtGui.QHBoxLayout(self.frame)
+ layout.addWidget(self.chartwidg)
+
+ def getInput(self):
+ if self.exec_():
+ return self.chartwidg.getSelected()
+ else:
+ return []
+
+
+if __name__ == "__main__":
+ app = QtGui.QApplication([])
+ dl = ChooseToothDialog()
+ dl.getInput()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py b/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py
new file mode 100644
index 0000000..68dc60e
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/clinician_select_dialog.py
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from PyQt4 import QtGui, QtCore
+import types
+from openmolar.settings import localsettings
+from xml.dom import minidom
+
+class Dialog(QtGui.QDialog):
+ def __init__(self, parent=None):
+ super(Dialog, self).__init__(parent)
+ self.setWindowTitle(_("Select a Clinician"))
+
+ layout = QtGui.QVBoxLayout(self)
+ self.listwidget = QtGui.QListWidget()
+ self.listwidget.setSelectionBehavior(
+ QtGui.QAbstractItemView.SelectRows)
+ self.listwidget.setSelectionMode(
+ QtGui.QAbstractItemView.SingleSelection)
+
+ clinicians = [_("NONE")] + localsettings.activedents + \
+ localsettings.activehygs
+ self.listwidget.addItems(clinicians)
+
+ try:
+ i = clinicians.index(localsettings.clinicianInits)
+ except ValueError:
+ i = 0
+ self.listwidget.setCurrentRow(i)
+
+ self.buttonBox = QtGui.QDialogButtonBox(self)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(
+ QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+
+ layout.addWidget(self.listwidget)
+ layout.addWidget(self.buttonBox)
+
+ self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), self.accept)
+ self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.reject)
+
+
+ @property
+ def selectedClinician(self):
+ if self.listwidget.currentRow() == 0:
+ return ""
+ return str(self.listwidget.currentItem().text().toAscii())
+
+ def result(self):
+ if self.exec_():
+ chosen = self.selectedClinician
+ change_needed = chosen != localsettings.clinicianInits
+ localsettings.clinicianInits = chosen
+ localsettings.clinicianNo = localsettings.ops_reverse.get(
+ chosen, 0)
+ curr_operator = localsettings.operator.split("/")
+ u2 = curr_operator[-1]
+ if u2 == chosen:
+ u2 = ""
+ if u2:
+ input = QtGui.QMessageBox.question(self, _("Confirm"),
+ _("Set assistant as") + " %s?"% u2,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if input == QtGui.QMessageBox.No:
+ u2 = ""
+ localsettings.setOperator(chosen, u2)
+ return (change_needed, chosen)
+ return (False, None)
+
+if __name__ == "__main__":
+ from openmolar.qt4gui import resources_rc
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+ ui = Dialog()
+ print ui.result()
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/dialogs/complete_treatment_dialog.py b/src/openmolar/qt4gui/dialogs/complete_treatment_dialog.py
new file mode 100644
index 0000000..c4cfca9
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/complete_treatment_dialog.py
@@ -0,0 +1,269 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+
+from functools import partial
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.dbtools.treatment_course import CURRTRT_ROOT_ATTS
+from openmolar.qt4gui.customwidgets.upper_case_line_edit \
+ import UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class CompleteTreatmentDialog(ExtendableDialog):
+
+ def __init__(self, treatments, parent=None):
+ ExtendableDialog.__init__(self, parent, remove_stretch=True)
+ self.om_gui = parent
+
+ LOGGER.debug("CompleteTreatmentDialog %s"% treatments)
+ self.setWindowTitle(_("Complete Multiple Treatments"))
+
+ label = QtGui.QLabel(u"%s<br />%s"%(
+ _("You have selected multiple treatments."),
+ _("Please complete, reverse or delete then apply changes.")
+ ))
+ self.insertWidget(label)
+
+ self.treatments = treatments
+
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+
+ self.but_layout = QtGui.QGridLayout(frame)
+ row = 0
+
+ col = 1
+ for header in (_("Planned"), _("Completed")):
+ label = QtGui.QLabel(u"<b>%s</b>"% header)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+ self.but_layout.addWidget(label, row, col)
+ col += 1
+
+ delete_icon = icon = QtGui.QIcon(":/eraser.png")
+ self.uncomplete_icon = QtGui.QIcon(":back.png")
+ self.complete_icon = QtGui.QIcon(":forward.png")
+
+ for i, (att, treatment, completed) in enumerate(treatments):
+ row = i+1
+ label = QtGui.QLabel(
+ "%s - <b>%s</b>"% (att.upper(), treatment.upper()))
+ label.setAlignment(QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.but_layout.addWidget(label, row, 0)
+
+ if completed:
+ icon = self.uncomplete_icon
+ col = 1
+ else:
+ icon = self.complete_icon
+ col = 0
+ but = QtGui.QPushButton(icon, "")
+ but.setIconSize(QtCore.QSize(10, 10))
+ but.setMaximumWidth(50)
+ self.but_layout.addWidget(but, row, col+1)
+
+ but.clicked.connect(partial(self._but_clicked, row))
+
+ but = QtGui.QPushButton(delete_icon, "")
+ but.setIconSize(QtCore.QSize(20, 20))
+ but.setMaximumWidth(50)
+
+ self.but_layout.addWidget(but, row, 3)
+
+ but.clicked.connect(partial(self._del_but_clicked, row))
+
+ self.but_layout.addItem(QtGui.QSpacerItem(0, 10))
+ self.but_layout.setRowStretch(row+1, 2)
+
+ but_frame = QtGui.QFrame()
+ layout = QtGui.QHBoxLayout(but_frame)
+ layout.setMargin(0)
+ complete_all_but = QtGui.QPushButton(
+ self.complete_icon, _("Complete All"))
+
+ self.reverse_all_but = QtGui.QPushButton(
+ self.uncomplete_icon, _("Reverse All"))
+
+ complete_all_but.clicked.connect(self._complete_all)
+ self.reverse_all_but.clicked.connect(self._reverse_all)
+
+ layout.addWidget(complete_all_but)
+ layout.addWidget(self.reverse_all_but)
+
+ self.insertWidget(scroll_area)
+ self.insertWidget(but_frame)
+
+
+ #no advanced options yet
+ self.more_but.hide()
+
+ def sizeHint(self):
+ height = 200 + 50 * len(self.treatments)
+ if height > 500:
+ height = 500
+ return QtCore.QSize(300, height)
+
+ def hide_reverse_all_but(self):
+ self.reverse_all_but.hide()
+
+ def _del_but_clicked(self, row):
+ but = self.sender()
+ label = self.but_layout.itemAtPosition(row, 0).widget()
+ label.setStyleSheet("")
+ label.setEnabled(False)
+ for col in range(1, 3):
+ item = self.but_layout.itemAtPosition(row, col)
+ if item is not None:
+ item.widget().hide()
+
+ but.setEnabled(False)
+
+ self._enable()
+
+ def _but_clicked(self, row):
+ but = self.sender()
+
+ label = self.but_layout.itemAtPosition(row, 0).widget()
+ if "red" in label.styleSheet():
+ label.setStyleSheet("")
+ else:
+ label.setStyleSheet("color:red;")
+
+ if self.but_layout.itemAtPosition(row, 1) is None:
+ icon = self.complete_icon
+ col = 1
+ else:
+ icon = self.uncomplete_icon
+ col = 2
+
+ but.setIcon(icon)
+ self.but_layout.addWidget(but, row, col)
+
+ self._enable()
+
+ def _complete_all(self):
+ for button in self.plan_buttons:
+ button.click()
+
+ def _reverse_all(self):
+ for button in self.cmp_buttons:
+ button.click()
+
+
+ def _enable(self):
+ for val in self.completed_treatments:
+ self.enableApply()
+ return
+ for val in self.uncompleted_treatments:
+ self.enableApply()
+ return
+ for val in self.deleted_treatments:
+ self.enableApply()
+ return
+ self.enableApply(False)
+
+ @property
+ def all_completed(self):
+ return list(self.plan_buttons) == []
+
+ @property
+ def all_planned(self):
+ return list(self.cmp_buttons) == []
+
+ @property
+ def plan_buttons(self):
+ '''
+ iterate and return all buttons in the left column
+ '''
+ for i in range(len(self.treatments)):
+ row = i+1
+ item = self.but_layout.itemAtPosition(row, 1)
+ if item is not None:
+ yield item.widget()
+
+ @property
+ def cmp_buttons(self):
+ '''
+ iterate and return all buttons in the right column
+ '''
+ for i in range(len(self.treatments)):
+ row = i+1
+ item = self.but_layout.itemAtPosition(row, 2)
+ if item is not None:
+ yield item.widget()
+
+ @property
+ def uncompleted_treatments(self):
+ for i, (att, treat, prev_completed) in enumerate(self.treatments):
+ row = i+1
+ now_planned = self.but_layout.itemAtPosition(row, 2) is None
+ if now_planned and prev_completed:
+ yield (att, treat)
+
+ @property
+ def completed_treatments(self):
+ for i, (att, treat, prev_completed) in enumerate(self.treatments):
+ row = i+1
+ now_completed = self.but_layout.itemAtPosition(row, 1) is None
+ if now_completed and not prev_completed:
+ yield (att, treat)
+
+ @property
+ def deleted_treatments(self):
+ for i, (att, treat, prev_completed) in enumerate(self.treatments):
+ row = i+1
+ if not self.but_layout.itemAtPosition(row, 0).widget().isEnabled():
+ yield (att, treat, prev_completed)
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ from gettext import gettext as _
+ from openmolar.dbtools.patient_class import patient
+ from openmolar.qt4gui import resources_rc
+
+ app = QtGui.QApplication([])
+ mw = QtGui.QWidget()
+
+ dl = CompleteTreatmentDialog([
+ ("perio", "SP", False),
+ ("perio", "SP", True),
+ ("ur5", "MOD", False),
+ ("ur5", "RT", False),
+ ("ur4", "DR", True)
+ ], mw)
+ if dl.exec_():
+ for att, treat in dl.completed_treatments:
+ print "%s %s was completed"% (att, treat)
+
+ for att, treat in dl.uncompleted_treatments:
+ print "%s %s was reversed"% (att, treat)
+
+ for att, treat, completed in dl.deleted_treatments:
+ print "%s %s %s was deleted"% (att, treat, completed)
diff --git a/src/openmolar/qt4gui/dialogs/crown_choice_dialog.py b/src/openmolar/qt4gui/dialogs/crown_choice_dialog.py
new file mode 100644
index 0000000..00c3f59
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/crown_choice_dialog.py
@@ -0,0 +1,118 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from collections import namedtuple
+from functools import partial
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+
+STATIC_LIST = []
+for shortcut, description in (
+("CR,PJ", _("Porcelain Jacket")),
+("CR,GO", _("Gold")),
+("CR,V1", _("Porcelain/Metal")),
+("CR,LAVA", _("Lava")),
+("CR,OPAL", _("Opalite")),
+("CR,EMAX", _("Emax")),
+("CR,EVER", _("Everest")),
+("CR,SS", _("Stainless")),
+("CR,SR", _("Resin")),
+("CR,OT", _("Other")),
+):
+ crown_chart_button = namedtuple('CrownType',
+ ("shortcut", "description", "tooltip"))
+ crown_chart_button.description = description
+ crown_chart_button.tooltip = ""
+ crown_chart_button.shortcut = shortcut
+ STATIC_LIST.append(crown_chart_button)
+
+
+class CrownChoiceDialog(ExtendableDialog):
+ def __init__(self, static, parent=None):
+ ExtendableDialog.__init__(self, parent, remove_stretch=True)
+ self.setWindowTitle(_("Crown Choice Dialog"))
+ self.om_gui = parent
+ self.chosen_shortcut = None
+
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+ self.but_layout = QtGui.QGridLayout(frame)
+ self.insertWidget(scroll_area)
+
+ self.apply_but.hide()
+
+ if static:
+ self.more_but.hide()
+ self.add_buttons(STATIC_LIST)
+ else:
+ all_crowns_but = QtGui.QPushButton(
+ _("Show Crowns types from all feescales"))
+ all_crowns_but.clicked.connect(self._show_all_crowns)
+ self.add_advanced_widget(all_crowns_but)
+
+ self.add_buttons(
+ self.om_gui.pt.fee_table.ui_lists["crown_buttons"])
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 500)
+
+ def add_buttons(self, crown_chart_buttons):
+ while self.but_layout.count():
+ widget_item = self.but_layout.takeAt(0)
+ widget_item.widget().setParent(None)
+ row = 0
+ for row, crown_button in enumerate(crown_chart_buttons):
+ but = QtGui.QPushButton(crown_button.description)
+ but.setToolTip(crown_button.tooltip)
+ but.clicked.connect(
+ partial(self.but_clicked, crown_button.shortcut))
+ self.but_layout.addWidget(but, row//2, row%2)
+ self.but_layout.setRowStretch((row+2)//2,100)
+
+ def _show_all_crowns(self):
+ self.add_buttons(localsettings.FEETABLES.ui_crown_chart_buttons)
+ self.hide_extension()
+
+ def but_clicked(self, shortcut):
+ self.chosen_shortcut = shortcut
+ self.accept()
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ from openmolar.dbtools.patient_class import patient
+
+ app = QtGui.QApplication([])
+ mw = QtGui.QWidget()
+ mw.pt = patient(11956)
+ dl = CrownChoiceDialog(True, mw)
+ if dl.exec_():
+ print dl.chosen_shortcut
+ localsettings.loadFeeTables()
+ dl = CrownChoiceDialog(False, mw)
+ if dl.exec_():
+ print dl.chosen_shortcut
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/denture_dialog.py b/src/openmolar/qt4gui/dialogs/denture_dialog.py
new file mode 100644
index 0000000..0e7a220
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/denture_dialog.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+from openmolar.qt4gui.dialogs.alter_denture_dialog import AlterDentureDialog
+from openmolar.qt4gui.dialogs.new_denture_dialog import NewDentureDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class DentureDialog(BaseDialog):
+ chosen_treatments = []
+ def __init__(self, om_gui = None):
+ BaseDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ message = _("Denture Treatment Dialog")
+ self.setWindowTitle(message)
+ self.header_label = QtGui.QLabel(message)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QHBoxLayout(frame)
+
+ new_but = QtGui.QPushButton(_("Plan a New Denture"))
+ new_but.setMinimumSize(QtCore.QSize(150,150))
+ alt_but = QtGui.QPushButton(_("Alter an Existing Denture"))
+ alt_but.setMinimumSize(QtCore.QSize(150,150))
+
+ layout.addWidget(new_but)
+ layout.addWidget(alt_but)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(frame)
+
+ self.apply_but.hide()
+
+ new_but.clicked.connect(self.new_denture)
+ alt_but.clicked.connect(self.alt_denture)
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 400)
+
+ def new_denture(self):
+ self.hide()
+ chosen_dialog = NewDentureDialog(self)
+ if chosen_dialog.exec_():
+ self.chosen_treatments = list(chosen_dialog.chosen_treatments)
+ self.accept()
+ else:
+ self.reject()
+
+ def alt_denture(self):
+ self.hide()
+ chosen_dialog = AlterDentureDialog(self)
+ if chosen_dialog.exec_():
+ self.chosen_treatments = list(chosen_dialog.chosen_treatments)
+ self.accept()
+ else:
+ self.reject()
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ LOGGER.setLevel(logging.DEBUG)
+ dl = DentureDialog(None)
+ if dl.exec_():
+ print dl.chosen_treatments
+ else:
+ print "dialog rejected"
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/duplicate_receipt_dialog.py b/src/openmolar/qt4gui/dialogs/duplicate_receipt_dialog.py
new file mode 100644
index 0000000..207454f
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/duplicate_receipt_dialog.py
@@ -0,0 +1,199 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import docsprinted
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+from openmolar.qt4gui.printing import om_printing
+from openmolar.qt4gui.printing import receiptPrint
+
+from openmolar import connect
+
+LOGGER = logging.getLogger("openmolar")
+
+RECALL_METHODS = ["post","email","sms"]
+
+class DuplicateReceiptDialog(BaseDialog):
+ duplicate_printed = False
+ def __init__(self, patient, parent):
+ BaseDialog.__init__(self, parent)
+ self.pt = patient
+
+ self.main_ui = parent
+ patient_label = QtGui.QLabel("%s<br /><b>%s</b>"% (
+ _("Duplicate receipts for Patient"), patient.name_id))
+
+ patient_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.no_receipts_found_label = QtGui.QLabel(
+ _("No previous receipts found!"))
+
+ self.prev_receipts_groupbox = QtGui.QGroupBox(
+ _("Reprint an existing receipt"))
+
+ self.prev_buts_layout = QtGui.QVBoxLayout(self.prev_receipts_groupbox)
+
+ self.prev_receipts_groupbox.hide()
+
+ new_dup_receipt_groupbox = QtGui.QGroupBox(
+ _("Generate a Duplicate receipt"))
+
+
+ self.dup_date_edit = QtGui.QDateEdit()
+ self.dup_date_edit.setDate(QtCore.QDate.currentDate())
+
+ self.amount_spinbox = QtGui.QDoubleSpinBox()
+ self.amount_spinbox.setMaximum(10000)
+
+ icon = QtGui.QIcon(localsettings.printer_png)
+ print_dup_button = QtGui.QPushButton(icon, "Print")
+ print_dup_button.clicked.connect(self.print_duplicate)
+
+ layout = QtGui.QFormLayout(new_dup_receipt_groupbox)
+ layout.addRow(_("Date"), self.dup_date_edit)
+ layout.addRow(_("Amount"), self.amount_spinbox)
+ layout.addRow(print_dup_button)
+
+
+ self.insertWidget(patient_label)
+ self.insertWidget(self.no_receipts_found_label)
+ self.insertWidget(self.prev_receipts_groupbox)
+ self.insertWidget(new_dup_receipt_groupbox)
+
+ self.apply_but.hide()
+ self.prev_receipts = {}
+
+ QtCore.QTimer.singleShot(0, self.get_previous_receipts)
+
+
+ def sizeHint(self):
+ return QtCore.QSize(260, 400)
+
+ def get_previous_receipts(self):
+ query = '''select printdate, ix from newdocsprinted
+ where serialno = %s and docname like "%%receipt (pdf)"'''
+ db = connect.connect()
+ cursor = db.cursor()
+ count = cursor.execute(query, (self.pt.serialno,))
+ rows = cursor.fetchall()
+ cursor.close()
+
+ for printdate, ix in rows:
+ self.prev_receipts[ix] = printdate
+
+ self.add_buttons()
+
+ def add_buttons(self):
+ self.prev_receipts_groupbox.setVisible(self.prev_receipts != {})
+ self.no_receipts_found_label.setVisible(self.prev_receipts == {})
+
+ for ix in sorted(self.prev_receipts.keys())[:3]:
+ printdate = self.prev_receipts[ix]
+ but = QtGui.QPushButton(localsettings.readableDate(printdate))
+ but.ix = ix
+ but.clicked.connect(self.print_existing)
+
+ self.prev_buts_layout.addWidget(but)
+
+ no_receipts = len(self.prev_receipts)
+ if no_receipts > 3:
+ widget = QtGui.QWidget(self)
+ label = QtGui.QLabel("%d more receipts"% (no_receipts-3))
+ but = QtGui.QPushButton(_("show"))
+ but.clicked.connect(self.show_all_prev_receipts)
+ layout = QtGui.QHBoxLayout(widget)
+ layout.addWidget(label)
+ layout.addWidget(but)
+ self.prev_buts_layout.addWidget(widget)
+
+ def show_all_prev_receipts(self):
+ dl = BaseDialog(self)
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ layout = QtGui.QVBoxLayout(frame)
+
+ for ix in sorted(self.prev_receipts.keys())[3:]:
+ printdate = self.prev_receipts[ix]
+ but = QtGui.QPushButton(localsettings.readableDate(printdate))
+ but.ix = ix
+ but.clicked.connect(self.print_existing)
+
+ layout.addWidget(but)
+
+ scroll_area.setWidgetResizable(True)
+ scroll_area.setWidget(frame)
+
+ dl.insertWidget(scroll_area)
+ dl.exec_()
+
+ def print_existing(self):
+ ix = self.sender().ix
+ print "reprint document %s"% ix
+ try:
+ data, version = docsprinted.getData(ix)
+ f = open(localsettings.TEMP_PDF, "wb")
+ f.write(data)
+ f.close()
+ localsettings.openPDF()
+ except Exception:
+ LOGGER.exception("view PDF error")
+ QtGui.QMessageBox.warning(self, "error",
+ _("error reviewing PDF file"))
+
+ def print_duplicate(self):
+ amount = self.amount_spinbox.value()
+
+ myreceipt = receiptPrint.Receipt()
+
+ myreceipt.setProps(self.pt.title, self.pt.fname, self.pt.sname,
+ self.pt.addr1, self.pt.addr2, self.pt.addr3, self.pt.town,
+ self.pt.county, self.pt.pcde)
+
+ myreceipt.total = amount*100
+
+ myreceipt.receivedDict = {_("Professional Services"):amount*100}
+ myreceipt.isDuplicate = True
+ myreceipt.dupdate = self.dup_date_edit.date()
+
+ if myreceipt.print_():
+ self.pt.addHiddenNote("printed", "%s %.02f"% (
+ _("duplicate receipt for"), amount))
+
+ self.duplicate_printed = True
+ self.accept()
+
+ def apply_changed(self):
+ print "applying changes"
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(10781)
+
+ app = QtGui.QApplication([])
+
+ dl = DuplicateReceiptDialog(pt, None)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/exam_wizard.py b/src/openmolar/qt4gui/dialogs/exam_wizard.py
new file mode 100644
index 0000000..355cb84
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/exam_wizard.py
@@ -0,0 +1,190 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import logging
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+
+from openmolar.ptModules.estimates import TXHash
+from openmolar.qt4gui.compiled_uis import Ui_exam_wizard
+from openmolar.qt4gui.fees import manipulate_plan
+
+LOGGER = logging.getLogger("openmolar")
+
+class ExamWizard(QtGui.QDialog, Ui_exam_wizard.Ui_Dialog):
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.om_gui = parent
+ self.pt = self.om_gui.pt
+
+ self.setupUi(self)
+ self.dateEdit.setDate(QtCore.QDate().currentDate())
+ self.dents_comboBox.addItems(localsettings.activedents)
+
+ performingDent = localsettings.apptix_reverse.get(
+ localsettings.clinicianNo, None)
+ if performingDent in localsettings.activedents:
+ pos = localsettings.activedents.index(performingDent)
+ self.dents_comboBox.setCurrentIndex(pos)
+ else:
+ self.dents_comboBox.setCurrentIndex(-1)
+
+ def getInput(self):
+ result = True
+ while result == True:
+ result = self.exec_()
+ if self.examA_radioButton.isChecked():
+ exam = "CE"
+ elif self.examB_radioButton.isChecked():
+ exam = "ECE"
+ else:
+ exam = "FCA"
+ dent = str(self.dents_comboBox.currentText())
+ if dent == "":
+ message = _("Please enter the examining Dentist")
+ QtGui.QMessageBox.information(self, _("Whoops"), message)
+ else:
+ break
+
+ if result:
+ return (exam, dent, self.dateEdit.date().toPyDate())
+ else:
+ return()
+
+ def check_dent(self, examdent):
+ if examdent == localsettings.ops.get(self.pt.dnt1):
+ if (self.pt.dnt2 == 0 or
+ self.pt.dnt2 == self.pt.dnt1): #--no dnt2
+ APPLIED = True
+ else:
+ message = u'''<p>%s %s<br />%s</p>
+ <hr /><p><i>%s %s</i></p>'''% (
+ examdent,
+ _("is now both the registered and course dentist"),
+ _("Is this correct?"),
+ _("confirming this will remove reference to"),
+ localsettings.ops.get(self.pt.dnt2))
+
+ if QtGui.QMessageBox.question(self,
+ "Confirm", message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ self.pt.dnt2 = 0
+ self.om_gui.updateDetails()
+ APPLIED = True
+ else:
+ message = u'<p>%s %s<br />%s</p>'%(
+ examdent,
+ _("performed this exam"),
+ _("Is this correct?"))
+
+ if examdent != localsettings.ops.get(self.pt.dnt2):
+ message += u'<br /><i>%s, %s</i></p>'%(
+ _("confirming this will change the course dentist"),
+ _("but not the registered dentist")
+ )
+ else:
+ message += u'<i>%s %s %s</i>'%(
+ _("consider making"),
+ examdent,
+ _("the registered dentist"))
+
+ if QtGui.QMessageBox.question(self,
+ _("Confirm"), message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ self.pt.dnt2 = localsettings.ops_reverse[examdent]
+ self.om_gui.updateDetails()
+ APPLIED = True
+
+ return APPLIED, examdent
+
+
+ def perform_exam(self):
+ '''
+ perform an exam
+ '''
+ if self.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ return
+ if self.pt.treatment_course.has_exam:
+ self.om_gui.advise(u"<p>%s</p><hr /><p>%s</p>"%(
+ _('You already have a completed exam on this course of treatment'),
+ _("Unable to perform exam")), 1)
+ return
+
+ APPLIED = False
+ while not APPLIED:
+ result = self.getInput()
+ if not result:
+ self.om_gui.advise(_("Examination not applied"), 2)
+ return False
+
+ examtype, examdent, examd = result
+
+ APPLIED, examdent = self.check_dent(examdent)
+ if APPLIED:
+ courseno = self.pt.treatment_course.courseno
+ self.pt.treatment_course.examt = examtype
+ if self.pt.treatment_course.examt == "CE":
+ self.pt.pd5 = examd
+ if self.pt.treatment_course.examt == "ECE":
+ self.pt.pd6 = examd
+ if self.pt.treatment_course.examt == "FCA":
+ self.pt.pd7 = examd
+ self.pt.treatment_course.examd = examd
+
+ self.update_recall_date()
+
+ self.pt.addHiddenNote("exam", "%s"% examtype)
+
+ dentid = localsettings.ops_reverse[examdent]
+
+ hash_ = localsettings.hash_func("%sexam1%s"% (courseno, examtype))
+ tx_hash = TXHash(hash_, True)
+
+ manipulate_plan.add_treatment_to_estimate(
+ self.om_gui, "exam", examtype, dentid, [tx_hash])
+
+ newnotes = unicode(
+ self.om_gui.ui.notesEnter_textEdit.toPlainText().toUtf8())
+ if newnotes != "" and newnotes[-1] != "\n":
+ newnotes += "\n"
+ newnotes += "%s %s %s\n"%(
+ examtype, _("performed by"), examdent)
+ self.om_gui.ui.notesEnter_textEdit.setText(newnotes)
+
+ return APPLIED
+
+ def update_recall_date(self):
+ if not self.pt.appt_prefs.recall_active:
+ self.om_gui.advise(
+ _("WARNING - Not updating recall due to patients recall settings")
+ ,1)
+ else:
+ date_ = localsettings.formatDate(self.pt.appt_prefs.new_recdent)
+ self.om_gui.advise("updating recall date to %s"% date_, 1)
+ self.pt.appt_prefs.update_recdent()
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ localsettings.station="reception"
+
+ from openmolar.qt4gui import maingui
+ from openmolar.dbtools import patient_class
+
+ app = QtGui.QApplication([])
+ mw = maingui.OpenmolarGui()
+ mw.getrecord(11956)
+
+ dl = ExamWizard(mw)
+ print dl.perform_exam()
diff --git a/src/openmolar/qt4gui/dialogs/family_manage_dialog.py b/src/openmolar/qt4gui/dialogs/family_manage_dialog.py
new file mode 100644
index 0000000..dee3d8b
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/family_manage_dialog.py
@@ -0,0 +1,423 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import datetime
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+from openmolar.qt4gui.dialogs.find_patient_dialog import FindPatientDialog
+from openmolar.qt4gui.dialogs.address_match_dialog import AddressMatchDialog
+
+from openmolar.ptModules import patientDetails
+
+QUERY = '''select serialno, title, fname, sname,
+addr1, addr2, addr3, town, county, pcde, dob, status, tel1 from patients
+where familyno = %s order by dob'''
+
+LINK_QUERY = 'update patients set familyno=%s where serialno=%s'
+
+SYNC_QUERY = '''update patients set
+addr1=%s, addr2=%s, addr3=%s, town=%s, county=%s, pcde=%s
+where familyno=%s'''
+
+NEXT_FAMILYNO_QUERY = "select max(familyno)+1 from patients"
+NEW_GROUP_QUERY = "update patients set familyno=%s where serialno=%s"
+
+DELETE_FAMILYNO_QUERY = "update patients set familyno=NULL where familyno=%s"
+
+HEADERS = (
+ _("Address 1"),_("Address 2"),_("Address 3"),
+ _("TOWN"), _("County"), _("Postcode")
+ )
+
+class _DuckPatient(object):
+ def __init__(self, result):
+ self.serialno = result[0]
+ self.title = result[1]
+ self.fname = result[2]
+ self.sname = result[3]
+ self.addr1 = result[4]
+ self.addr2 = result[5]
+ self.addr3 = result[6]
+ self.town = result[7]
+ self.county = result[8]
+ self.pcde = result[9]
+ self.dob = result[10]
+ self.status = result[11]
+ self.tel1 = result[12]
+
+ def getAge(self):
+ '''
+ return the age in form (year(int), months(int), isToday(bool))
+ '''
+ today = localsettings.currentDay()
+
+ day = self.dob.day
+
+ try:
+ nextbirthday = datetime.date(today.year, self.dob.month,
+ self.dob.day)
+ except ValueError:
+ #catch leap years!!
+ nextbirthday = datetime.date(today.year, self.dob.month,
+ self.dob.day-1)
+
+ ageYears = today.year - self.dob.year
+
+ if nextbirthday > today:
+ ageYears -= 1
+ months = (12 - self.dob.month) + today.month
+ else:
+ months = today.month - self.dob.month
+ if self.dob.day > today.day:
+ months -= 1
+
+ isToday = nextbirthday == today
+
+ return (ageYears, months, isToday)
+
+class _ConfirmDialog(BaseDialog):
+ def __init__(self, serialno, parent=None):
+ BaseDialog.__init__(self, parent)
+ self.browser = QtGui.QTextBrowser()
+
+ label = QtGui.QLabel(u"%s %s %s" %(_("Add Record"), serialno,
+ _("to this family group?")))
+
+ self.insertWidget(label)
+ self.insertWidget(self.browser)
+
+ self.load(serialno)
+ self.enableApply()
+
+ def load(self, serialno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY.replace("familyno", "serialno"), (serialno,))
+ member = cursor.fetchone()
+ cursor.close()
+ pt = _DuckPatient(member)
+ self.browser.setText(patientDetails.header(pt))
+
+class _ChooseAddressDialog(BaseDialog):
+ def __init__(self, addresses, parent=None):
+ BaseDialog.__init__(self, parent)
+
+ self.addresses = list(addresses)
+ label = QtGui.QLabel(_("Which address should be used?"))
+ self.table_widget = QtGui.QTableWidget()
+ self.table_widget.setSelectionBehavior(
+ QtGui.QAbstractItemView.SelectRows)
+ self.table_widget.setAlternatingRowColors(True)
+
+ self.table_widget.setRowCount(len(addresses))
+ self.table_widget.setColumnCount(len(HEADERS))
+ self.table_widget.setHorizontalHeaderLabels(HEADERS)
+ self.table_widget.horizontalHeader().setStretchLastSection(True)
+
+ for row, fields in enumerate(addresses):
+ for col, field in enumerate(fields):
+ if field is None:
+ continue
+ item = QtGui.QTableWidgetItem(field)
+ self.table_widget.setItem(row, col, item)
+
+ self.insertWidget(label)
+ self.insertWidget(self.table_widget)
+ self.table_widget.resizeColumnsToContents()
+
+ self.table_widget.itemSelectionChanged.connect(self.enableApply)
+
+ def sizeHint(self):
+ return QtCore.QSize(800,200)
+
+ @property
+ def chosen_address(self):
+ return self.addresses[self.table_widget.currentIndex().row()]
+
+class _AdvancedWidget(QtGui.QWidget):
+ sync_address_signal = QtCore.pyqtSignal()
+ add_member_signal = QtCore.pyqtSignal()
+ find_others_signal = QtCore.pyqtSignal()
+ delete_group_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ icon = QtGui.QIcon(":/agt_reload.png")
+ sync_address_but = QtGui.QPushButton(icon, _("Synchronise Addresses"))
+ sync_address_but.clicked.connect(self.sync_address_signal.emit)
+
+ icon = QtGui.QIcon(":/search.png")
+ add_member_but = QtGui.QPushButton(icon, _("Standard Search"))
+ add_member_but.clicked.connect(self.add_member_signal.emit)
+
+ find_address_but = QtGui.QPushButton(icon, _("Address Search"))
+ find_address_but.clicked.connect(self.find_others_signal.emit)
+
+ icon = QtGui.QIcon(":/eraser.png")
+ delete_group_but = QtGui.QPushButton(icon,_("Delete this group"))
+ delete_group_but.clicked.connect(self.delete_group_signal.emit)
+
+ layout = QtGui.QHBoxLayout(self)
+
+ add_groupbox = QtGui.QGroupBox(_("Add members"))
+ add_layout = QtGui.QVBoxLayout(add_groupbox)
+ add_layout.addWidget(add_member_but)
+ add_layout.addWidget(find_address_but)
+
+ manage_groupbox = QtGui.QGroupBox(_("Manage Group"))
+ manage_layout = QtGui.QVBoxLayout(manage_groupbox)
+ manage_layout.addWidget(sync_address_but)
+ manage_layout.addWidget(delete_group_but)
+
+
+ layout.addWidget(add_groupbox)
+ layout.addWidget(manage_groupbox)
+
+
+class FamilyManageDialog(ExtendableDialog):
+ def __init__(self, om_gui):
+ ExtendableDialog.__init__(self, om_gui, remove_stretch=True)
+
+ self.om_gui = om_gui
+
+ title = _("Manage Family Group")
+ self.setWindowTitle(title)
+ label = QtGui.QLabel(u"<b>%s</b>"% title)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ frame = QtGui.QFrame()
+ self.frame_layout = QtGui.QGridLayout(frame)
+
+ scroll_area = QtGui.QScrollArea()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+
+ self.insertWidget(label)
+ self.insertWidget(scroll_area)
+
+ self.member_dict = {}
+ self.widgets = []
+ self.apply_but.hide()
+ self.cancel_but.setText(_("Close"))
+
+ self.advanced_widg = _AdvancedWidget(self)
+ self.advanced_widg.sync_address_signal.connect(self.sync_addresses)
+ self.advanced_widg.add_member_signal.connect(self.record_search)
+ self.advanced_widg.find_others_signal.connect(self.address_search)
+ self.advanced_widg.delete_group_signal.connect(self.delete_group)
+ self.advanced_widg.setEnabled(False)
+ self.add_advanced_widget(self.advanced_widg)
+
+ self.load_values()
+
+ def sizeHint(self):
+ return QtCore.QSize(800,600)
+
+ def load_values(self, mes1 = _("Unlink"), mes2=_("from group")):
+ self.family_no = self.om_gui.pt.familyno
+ self.member_dict = {}
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(QUERY, (self.family_no,))
+ members = cursor.fetchall()
+ cursor.close()
+ for widget in self.widgets:
+ self.frame_layout.removeWidget(widget)
+ widget.setParent(None)
+ for i, member in enumerate(members):
+ pt = _DuckPatient(member)
+
+ browser = QtGui.QTextBrowser()
+ browser.setText(patientDetails.header(pt))
+
+ row = (i//4)*2
+ column = i%4
+ self.frame_layout.addWidget(browser, row, column)
+ message = u"%s %s %s"% (mes1, pt.serialno, mes2)
+ if mes1 == _("Unlink"):
+ icon = QtGui.QIcon(":/eraser.png")
+ else:
+ icon = QtGui.QIcon(":/logo.png")
+ member_but = QtGui.QPushButton(icon, message)
+ self.frame_layout.addWidget(member_but, row+1, column)
+
+ self.member_dict[member_but] = pt
+ member_but.clicked.connect(self.member_but_clicked)
+
+ self.widgets.append(member_but)
+ self.widgets.append(browser)
+
+ if len(members) == 0:
+ label = QtGui.QLabel(
+ _("This patient does not belong to any family group."))
+ label.setAlignment(QtCore.Qt.AlignRight)
+ but = QtGui.QPushButton(_("Create a New Family Group"))
+ but.clicked.connect(self.new_family_group)
+
+ but2 = QtGui.QPushButton(_("Show similar addresses"))
+ but2.clicked.connect(self.show_addresses)
+
+ self.widgets.append(label)
+ self.widgets.append(but)
+ self.widgets.append(but2)
+
+ self.frame_layout.addWidget(label, 0, 0)
+ self.frame_layout.addWidget(but,0, 1)
+ self.frame_layout.addWidget(but2,1, 1)
+ else:
+ self.advanced_widg.setEnabled(True)
+
+ def member_but_clicked(self):
+ pt = self.member_dict[self.sender()]
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ u"%s %s %s %s %s" %(_("Remove"), pt.title, pt.fname, pt.sname,
+ _("from this family group?")),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel:
+ return
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(LINK_QUERY, (None, pt.serialno,))
+ cursor.close()
+ self.load_values()
+
+ def confirm_add(self, serialno):
+ if not serialno:
+ return False
+
+ dl = _ConfirmDialog(serialno, self)
+ return dl.exec_()
+
+ def record_search(self):
+ dl = FindPatientDialog(self)
+ if dl.exec_():
+ self.add_member(dl.chosen_sno)
+
+ def add_member(self, serialno):
+ if self.confirm_add(serialno):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(LINK_QUERY, (self.family_no, serialno))
+ cursor.close()
+ self.load_values()
+
+ def sync_addresses(self):
+ address_set = set([])
+ for member in self.member_dict.values():
+ address_tup = (
+ member.addr1,
+ member.addr2,
+ member.addr3,
+ member.town,
+ member.county,
+ member.pcde
+ )
+ address_set.add(address_tup)
+
+ if len(address_set) == 1:
+ QtGui.QMessageBox.information(self, _("Information"),
+ _("Addresses are all identical - nothing to do!"))
+ return
+
+ dl = _ChooseAddressDialog(address_set, self)
+ if dl.exec_():
+ db = connect()
+ cursor = db.cursor()
+ values = tuple(dl.chosen_address) + (self.family_no,)
+ count = cursor.execute(SYNC_QUERY, values)
+ cursor.close()
+ QtGui.QMessageBox.information(self, _("Information"),
+ u"%d %s"% (count, _("Address(es) updated")))
+ self.load_values()
+
+ def address_search(self):
+ dl = AddressMatchDialog(self.om_gui)
+ if dl.exec_():
+ for serialno in dl.selected_patients:
+ self.add_member(serialno)
+
+ def show_addresses(self):
+ dl = AddressMatchDialog(self.om_gui)
+ dl.table_widget.setSelectionMode(
+ QtGui.QAbstractItemView.NoSelection)
+
+ dl.exec_()
+
+
+ def new_family_group(self):
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(NEXT_FAMILYNO_QUERY)
+ familyno = cursor.fetchone()[0]
+ cursor.execute(NEW_GROUP_QUERY, (familyno, self.om_gui.pt.serialno,))
+ cursor.close()
+ self.om_gui.pt.familyno = familyno
+ self.load_values()
+
+ def delete_group(self):
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ _("Delete this family group?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel:
+ return
+
+ db = connect()
+ cursor = db.cursor()
+ cursor.execute(DELETE_FAMILYNO_QUERY, (self.family_no,))
+ self.load_values()
+
+class LoadRelativesDialog(FamilyManageDialog):
+ chosen_sno = 0
+ def load_values(self):
+ FamilyManageDialog.load_values(self,_("Load Patient"), "")
+
+ def member_but_clicked(self):
+ pt = self.member_dict[self.sender()]
+ self.chosen_sno = pt.serialno
+ self.accept()
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ mw = QtGui.QWidget()
+ mw.pt = _DuckPatient((1,"","","","The Gables",
+ "Craggiemore Daviot","Inverness","","","IV2 5XQ", "", "active", ""))
+
+ mw.pt.familyno = 1
+
+ dl = FamilyManageDialog(mw)
+ dl.exec_()
+
+
+ #dl = LoadRelativesDialog(mw)
+ #dl.exec_()
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/finalise_appt_time.py b/src/openmolar/qt4gui/dialogs/finalise_appt_time.py
new file mode 100644
index 0000000..e8cfea8
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/finalise_appt_time.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_finalise_appt_time
+from openmolar.settings import localsettings
+
+class ftDialog(Ui_finalise_appt_time.Ui_Dialog, QtGui.QDialog):
+ '''
+ a custom dialog,
+ the initialiser takes the following params
+ slotstarttime (datetime.time) - the earliest available time in the slot
+ slotLength(int) - the length (in minutes) of the slot
+ apptLength(int) - the appointment being fitted in
+ parent widget (optional) - parent qt widget
+
+ if exec_() returns true then the user has accepted the dialog and the
+ values of selectedtime gives the user chosen time
+ '''
+ def __init__(self, slotstarttime, slotLength, apptLength, parent=None):
+ super (ftDialog, self).__init__(parent)
+ self.setupUi(self)
+ self.starttime = localsettings.pyTimeToMinutesPastMidnight(
+ slotstarttime)
+ self.maxtime = self.starttime + slotLength
+ self.length = apptLength
+ self.minslotlength = 5
+ self.selectedTime = slotstarttime #this value is what the user chooses
+ self.verticalSlider.setMinimum(self.starttime//self.minslotlength)
+ self.verticalSlider.setMaximum(
+ (self.maxtime-self.length)//self.minslotlength)
+ QtCore.QObject.connect(self.verticalSlider,
+ QtCore.SIGNAL("valueChanged(int)"),self.updateLabels)
+ self.updateLabels(self.verticalSlider.value())
+
+ def updateLabels(self,arg):
+ minB4 = (arg-self.verticalSlider.minimum())*self.minslotlength
+ minL8r = (self.verticalSlider.maximum()-arg)*self.minslotlength
+ self.selectedTime = localsettings.minutesPastMidnighttoPytime(
+ self.starttime+minB4)
+ self.minutesB4label.setText("%d minutes"% minB4)
+ self.apptTimelabel.setText("%s - %s"% (
+ localsettings.humanTime(arg*self.minslotlength),
+ localsettings.humanTime(arg*self.minslotlength+self.length)))
+ self.minutesL8Rlabel.setText("%d minutes"% minL8r)
+
+
+if __name__ == "__main__":
+ import datetime, sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = ftDialog(datetime.time(8,30), 60, 15)
+ if Dialog.exec_():
+ print "accepted - selected appointment is (%s, %d)"% (
+ Dialog.selectedTime, Dialog.length)
+ else:
+ print "rejected"
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/find_patient_dialog.py b/src/openmolar/qt4gui/dialogs/find_patient_dialog.py
new file mode 100644
index 0000000..878dfe5
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/find_patient_dialog.py
@@ -0,0 +1,147 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import datetime
+import logging
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+
+from openmolar.dbtools import search
+
+from openmolar.qt4gui.compiled_uis import Ui_patient_finder
+from openmolar.qt4gui.compiled_uis import Ui_select_patient
+
+
+class FindPatientDialog(QtGui.QDialog, Ui_patient_finder.Ui_Dialog):
+
+ chosen_sno = None
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+
+ self.sname.setFocus()
+
+ self.repeat_pushButton.clicked.connect(self.repeat_last_search)
+
+ def repeat_last_search(self):
+ self.dateEdit.setDate(localsettings.lastsearch[2])
+ self.addr1.setText(localsettings.lastsearch[4])
+ self.tel.setText(localsettings.lastsearch[3])
+ self.sname.setText(localsettings.lastsearch[0])
+ self.fname.setText(localsettings.lastsearch[1])
+ self.pcde.setText(localsettings.lastsearch[5])
+
+ def exec_(self):
+ if QtGui.QDialog.exec_(self):
+ dob = self.dateEdit.date().toPyDate()
+ addr = str(self.addr1.text().toAscii())
+ tel = str(self.tel.text().toAscii())
+ sname = str(self.sname.text().toAscii())
+ fname = str(self.fname.text().toAscii())
+ pcde = str(self.pcde.text().toAscii())
+ localsettings.lastsearch = (sname, fname, dob, tel, addr, pcde)
+
+ try:
+ serialno = int(sname)
+ except:
+ serialno = 0
+
+ if serialno > 0:
+ self.chosen_sno = serialno
+ #self.getrecord(serialno, True)
+ else:
+ candidates = search.getcandidates(dob, addr, tel, sname,
+ self.snameSoundex_checkBox.checkState(), fname,
+ self.fnameSoundex_checkBox.checkState(), pcde)
+
+ if candidates == ():
+ QtGui.QMessageBox.warning(self.parent(), "warning",
+ _("no match found"))
+ return False
+ else:
+ if len(candidates) > 1:
+ dl = FinalChoiceDialog(candidates, self)
+ if dl.exec_():
+ self.chosen_sno = dl.chosen_sno
+ else:
+ self.chosen_sno = int(candidates[0][0])
+
+ return True
+
+ return False
+
+class FinalChoiceDialog(QtGui.QDialog, Ui_select_patient.Ui_Dialog):
+ chosen_sno = None
+ def __init__(self, candidates, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+ self.tableWidget.clear()
+ self.tableWidget.setSortingEnabled(False)
+ #--good practice to disable this while loading
+ self.tableWidget.setRowCount(len(candidates))
+ headers=('Serialno', 'Surname', 'Forename', 'dob', 'Address1',
+ 'Address2', 'POSTCODE')
+
+ widthFraction=(0, 20, 20, 15, 30, 30, 10)
+ self.tableWidget.setColumnCount(len(headers))
+ self.tableWidget.setHorizontalHeaderLabels(headers)
+ self.tableWidget.verticalHeader().hide()
+ self.tableWidget.horizontalHeader().setStretchLastSection(True)
+ row=0
+
+ for col in range(len(headers)):
+ self.tableWidget.setColumnWidth(col, widthFraction[col]*\
+ (self.width()-100)/130)
+
+ for candidate in candidates:
+ col=0
+ for attr in candidate:
+ if type(attr) == datetime.date:
+ item = QtGui.QTableWidgetItem(
+ localsettings.formatDate(attr))
+ else:
+ item = QtGui.QTableWidgetItem(str(attr))
+ self.tableWidget.setItem(row, col, item)
+ col+=1
+ row+=1
+ self.tableWidget.setCurrentCell(0, 1)
+
+ self.tableWidget.itemDoubleClicked.connect(self.accept)
+
+ def exec_(self):
+ if QtGui.QDialog.exec_(self):
+ row = self.tableWidget.currentRow()
+ result = self.tableWidget.item(row, 0).text()
+ self.chosen_sno = int(result)
+ return True
+ return False
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ dl = FindPatientDialog()
+ print ("chosen sno = %s"% dl.chosen_sno)
+ if dl.exec_():
+ print (dl.chosen_sno)
diff --git a/src/openmolar/qt4gui/dialogs/gp17_printdialog.py b/src/openmolar/qt4gui/dialogs/gp17_printdialog.py
new file mode 100644
index 0000000..fe6523c
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/gp17_printdialog.py
@@ -0,0 +1,212 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+from openmolar.qt4gui.printing.gp17.gp17_data import Gp17Data
+from openmolar.qt4gui.printing.gp17 import GP17Front, GP17iFront, GP17iBack
+
+class ChooseFormWidget(QtGui.QWidget):
+ FORMS = (GP17Front, GP17iFront, GP17iBack)
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ layout = QtGui.QVBoxLayout(self)
+
+ self.checkboxes = []
+ for form in self.FORMS:
+ cb = QtGui.QCheckBox(form.NAME)
+ cb.setChecked(form.is_active())
+ self.checkboxes.append(cb)
+ layout.addWidget(cb)
+
+ self.boxes_checkbox = QtGui.QCheckBox(_("use test mode (print boxes)"))
+ self.image_checkbox = QtGui.QCheckBox(
+ _("use a background image for the form (if available)"))
+
+ layout.addWidget(self.boxes_checkbox)
+ layout.addWidget(self.image_checkbox)
+
+ def sizeHint(self):
+ return QtCore.QSize(300,100)
+
+ @property
+ def chosen_forms(self):
+ for i, form in enumerate(self.FORMS):
+ if self.checkboxes[i].isChecked():
+ yield form
+
+
+class GP17PrintDialog(ExtendableDialog):
+ def __init__(self, patient, parent=None):
+ ExtendableDialog.__init__(self, parent)
+
+ self.pt = patient
+ self.data = Gp17Data(patient)
+
+ title = _("GP17 Dialog")
+ self.setWindowTitle(title)
+ label = QtGui.QLabel(u"<b>%s</b>"% title)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+
+ self.dentist_combobox = QtGui.QComboBox()
+ self.dentist_combobox.addItems(localsettings.activedents)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QFormLayout(frame)
+ layout.addRow(_("Use this dentists stamp?"), self.dentist_combobox)
+
+ self.chart_cb = QtGui.QCheckBox(_("Chart"))
+ self.bpe_cb = QtGui.QCheckBox(_("BPE"))
+
+ self.accd_cb = QtGui.QCheckBox(_("Acceptance Date"))
+ self.cmpd_cb = QtGui.QCheckBox(_("Completion Date"))
+ self.tx_cb = QtGui.QCheckBox(_("Treatments"))
+
+ self.charting_gb = QtGui.QGroupBox(_("Include Chart Details"))
+ self.charting_gb.setCheckable(True)
+ layout = QtGui.QVBoxLayout(self.charting_gb)
+ layout.addWidget(self.chart_cb)
+ layout.addWidget(self.bpe_cb)
+
+ self.course_gb = QtGui.QGroupBox(_("Include Course Details"))
+ self.course_gb.setCheckable(True)
+ layout = QtGui.QVBoxLayout(self.course_gb)
+ layout.addWidget(self.accd_cb)
+ layout.addWidget(self.cmpd_cb)
+ layout.addWidget(self.tx_cb)
+
+ self.insertWidget(label)
+ self.insertWidget(frame)
+ self.insertWidget(self.charting_gb)
+ self.insertWidget(self.course_gb)
+
+ self.set_dentist()
+ self.set_default_values()
+ self.enableApply()
+
+ self.choose_form_widget = ChooseFormWidget(self)
+ self.set_advanced_but_text(_("select form(s) to print"))
+ self.add_advanced_widget(self.choose_form_widget)
+
+ self.course_gb.toggled.connect(self.toggle_cbs)
+ self.charting_gb.toggled.connect(self.toggle_cbs)
+
+ def toggle_cbs(self, value):
+ group_box = self.sender()
+ for cb in group_box.children():
+ try:
+ cb.setChecked(value)
+ except AttributeError:
+ pass
+
+ def set_dentist(self):
+ '''
+ attempt to set the correct dentist for the form
+ '''
+ if localsettings.apptix_reverse.get(self.data.dentist) in \
+ localsettings.activedents:
+ pos=localsettings.activedents.index(
+ localsettings.apptix_reverse.get(self.data.dentist))
+ self.dentist_combobox.setCurrentIndex(pos)
+ else:
+ self.dentist_combobox.setCurrentIndex(-1)
+
+ def set_default_values(self):
+ self.charting_gb.setChecked(True)
+ self.chart_cb.setChecked(True)
+ self.bpe_cb.setChecked(True)
+
+ self.course_gb.setChecked(True)
+ self.accd_cb.setChecked(True)
+ self.cmpd_cb.setChecked(True)
+ self.tx_cb.setChecked(True)
+
+ def sizeHint(self):
+ return QtCore.QSize(300,350)
+
+ @property
+ def chosen_forms(self):
+ return self.choose_form_widget.chosen_forms
+
+ @property
+ def print_boxes(self):
+ return self.choose_form_widget.boxes_checkbox.isChecked()
+
+ @property
+ def print_background(self):
+ return self.choose_form_widget.image_checkbox.isChecked()
+
+ @property
+ def dent_inits(self):
+ return str(self.dentist_combobox.currentText())
+
+ @property
+ def chosen_dentist(self):
+ return localsettings.ops_reverse.get(self.dent_inits)
+
+ def apply(self):
+ '''
+ todo - apply changes to the gp17 data object
+ '''
+ self.data.dentist = self.chosen_dentist
+
+ for att, cb in (
+ ("accd", self.accd_cb),
+ ("cmpd", self.cmpd_cb),
+ ("chart", self.chart_cb),
+ ("bpe", self.bpe_cb),
+ ("tx", self.tx_cb),
+ ):
+ if not cb.isChecked():
+ self.data.exclusions.append(att)
+
+ def exec_(self):
+ if ExtendableDialog.exec_(self):
+ self.apply()
+ return True
+ return False
+
+if __name__ == "__main__":
+ import os
+ from openmolar.dbtools import patient_class
+
+ os.chdir(os.path.expanduser("~")) #for save pdf
+
+ localsettings.initiate()
+
+ app = QtGui.QApplication([])
+
+ pt = patient_class.patient(20862)
+ dl = GP17PrintDialog(pt)
+ if dl.exec_():
+ for Form in dl.chosen_forms:
+ form = Form()
+ form.set_data(dl.data)
+
+ form.set_testing_mode(dl.print_boxes)
+ form.set_background_mode(dl.print_background)
+ form.controlled_print()
+
diff --git a/src/openmolar/qt4gui/dialogs/hygTreatWizard.py b/src/openmolar/qt4gui/dialogs/hygTreatWizard.py
new file mode 100644
index 0000000..c05800c
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/hygTreatWizard.py
@@ -0,0 +1,142 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.ptModules.estimates import TXHash
+
+from openmolar.qt4gui.fees import manipulate_plan
+
+from openmolar.qt4gui.compiled_uis import Ui_hygenist_wizard
+
+class HygTreatWizard(QtGui.QDialog, Ui_hygenist_wizard.Ui_Dialog):
+ def __init__(self,parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+ self.om_gui = parent
+ self.practitioners=localsettings.activedents+localsettings.activehygs
+ self.dents_comboBox.addItems(self.practitioners)
+ self.setPractitioner(localsettings.clinicianNo)
+
+ if self.om_gui.pt.has_planned_perio_txs:
+ tx_list = ""
+ for trt in self.om_gui.pt.treatment_course.periopl.split(" "):
+ tx_list += "<li>%s</li>"% trt
+ self.label.setText(u"<b>%s</b><hr /><ul>%s</ul>"% (
+ _("WARNING - THE FOLLOWING TREATMENTS ARE ALREADY PLANNED."),
+ tx_list
+ ))
+ self.buttonBox.setEnabled(False)
+ self.pushButton.clicked.connect(self._re_enable)
+ self.groupBox.hide()
+ self.clinicianGroupBox.hide()
+ self.dents_comboBox.hide()
+ else:
+ self.planned_groupbox.hide()
+
+ def _re_enable(self):
+ self.planned_groupbox.hide()
+ self.groupBox.show()
+ self.buttonBox.setEnabled(True)
+ self.clinicianGroupBox.show()
+ self.dents_comboBox.show()
+
+ def setPractitioner(self, arg):
+ '''
+ who's performing this treatment?
+ '''
+ try:
+ inits = localsettings.ops[arg]
+ self.dents_comboBox.setCurrentIndex(self.practitioners.index(inits))
+ except:
+ self.dents_comboBox.setCurrentIndex(-1)
+
+ @property
+ def trt(self):
+ if self.sp_radioButton.isChecked():
+ return "SP"
+ elif self.db_radioButton.isChecked():
+ return "SP-"
+ elif self.extsp_radioButton.isChecked():
+ return "SP+"
+
+ @property
+ def dent(self):
+ return str(self.dents_comboBox.currentText())
+
+ def getInput(self):
+ '''
+ called to exec the dialog
+ '''
+ result = True
+ while result == True:
+ if self.exec_():
+ if self.dent == "":
+ message = _("Please enter a dentist / hygienist")
+ QtGui.QMessageBox.information(self, _("Whoops"), message)
+ else:
+ break
+ else:
+ result = False
+ return result
+
+ def perform_tx(self):
+ pt = self.om_gui.pt
+ if pt.serialno == 0:
+ self.om_gui.advise(_("no patient selected"), 1)
+ return
+
+ if "N" in pt.cset:
+ self.db_radioButton.hide()
+ self.extsp_radioButton.hide()
+ else:
+ self.extsp_radioButton.setChecked(
+ "SP+" in pt.treatment_course.periopl)
+
+ result = self.getInput()
+
+ if result:
+ courseno = pt.treatment_course.courseno
+ if self.trt in pt.treatment_course.periopl:
+ n_txs = pt.treatment_course.periocmp.split(
+ " ").count(self.trt) + 1
+ hash_ = localsettings.hash_func("%sperio%s%s"% (courseno, n_txs, self.trt))
+ tx_hash = TXHash(hash_)
+ manipulate_plan.tx_hash_complete(self.om_gui, tx_hash)
+ else:
+ trts = (("perio", "%s"% self.trt),)
+ manipulate_plan.add_treatments_to_plan(self.om_gui, trts, True)
+
+ newnotes = unicode(
+ self.om_gui.ui.notesEnter_textEdit.toPlainText().toUtf8())
+ if newnotes != "" and newnotes[-1] != "\n":
+ newnotes += "\n"
+ newnotes += "%s %s %s\n"%(
+ self.trt,
+ _("performed by"),
+ self.dent)
+ self.om_gui.ui.notesEnter_textEdit.setText(newnotes)
+ return True
+ else:
+ self.om_gui.advise("Hyg Treatment not applied", 2)
+
+ return False
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ localsettings.station="reception"
+
+ from openmolar.qt4gui import maingui
+ from openmolar.dbtools import patient_class
+
+ app = QtGui.QApplication([])
+ mw = maingui.OpenmolarGui()
+ mw.getrecord(11956)
+
+ dl = HygTreatWizard(mw)
+ print dl.perform_tx()
diff --git a/src/openmolar/qt4gui/dialogs/implant_choice_dialog.py b/src/openmolar/qt4gui/dialogs/implant_choice_dialog.py
new file mode 100644
index 0000000..0827acd
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/implant_choice_dialog.py
@@ -0,0 +1,101 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from collections import namedtuple
+from functools import partial
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+
+STATIC_LIST = []
+for shortcut, description in (
+ ("IM/TIT", _("Titanium Implant")),
+ ("IM/ABUT", _("Implant Abutment")),
+ ("CR,IC", _("Implant Crown")),
+ ("BR/CR,IC", _("Implant Bridge Retainer")),
+ ("BR/P,IC", _("Implant Bridge Pontic")),
+ ):
+ implant_chart_button = namedtuple('ImplantType',
+ ("shortcut", "description", "tooltip"))
+ implant_chart_button.description = description
+ implant_chart_button.tooltip = ""
+ implant_chart_button.shortcut = shortcut
+ STATIC_LIST.append(implant_chart_button)
+
+
+class ImplantChoiceDialog(ExtendableDialog):
+ def __init__(self, static, parent=None):
+ ExtendableDialog.__init__(self, parent, remove_stretch=True)
+ self.setWindowTitle(_("Implant Choice Dialog"))
+ self.om_gui = parent
+ self.chosen_shortcut = None
+
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+ self.but_layout = QtGui.QVBoxLayout(frame)
+ self.insertWidget(scroll_area)
+
+ self.apply_but.hide()
+ self.more_but.hide()
+ if static:
+ self.add_buttons(STATIC_LIST)
+ else:
+ self.add_buttons(localsettings.FEETABLES.ui_implant_chart_buttons)
+
+ def sizeHint(self):
+ return QtCore.QSize(300, 300)
+
+ def add_buttons(self, implant_chart_buttons):
+ while self.but_layout.count():
+ widget_item = self.but_layout.takeAt(0)
+ widget_item.widget().setParent(None)
+
+ for implant_button in implant_chart_buttons:
+ but = QtGui.QPushButton(implant_button.description)
+ but.setToolTip(implant_button.tooltip)
+ but.clicked.connect(partial(self.but_clicked, implant_button.shortcut))
+ self.but_layout.addWidget(but)
+ self.but_layout.addStretch(100)
+
+ def but_clicked(self, shortcut):
+ self.chosen_shortcut = shortcut
+ self.accept()
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ from openmolar.dbtools.patient_class import patient
+
+ app = QtGui.QApplication([])
+ mw = QtGui.QWidget()
+ mw.pt = patient(11956)
+ dl = ImplantChoiceDialog(True, mw)
+ if dl.exec_():
+ print dl.chosen_shortcut
+ localsettings.loadFeeTables()
+ dl = ImplantChoiceDialog(False, mw)
+ if dl.exec_():
+ print dl.chosen_shortcut
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/medNotes.py b/src/openmolar/qt4gui/dialogs/medNotes.py
new file mode 100644
index 0000000..4097ce9
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/medNotes.py
@@ -0,0 +1,106 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+import datetime
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_medhist
+from openmolar.dbtools import updateMH
+
+def showDialog(Dialog,pt):
+ def updateDate():
+ dl.dateEdit.setDate(datetime.date.today())
+ dl.dateEdit.show()
+ dl.date_label.show()
+ dl = Ui_medhist.Ui_Dialog()
+ dl.setupUi(Dialog)
+ Dialog.connect(dl.checked_pushButton,QtCore.SIGNAL("clicked()"),updateDate)
+ data=pt.MH
+ chkdate=None
+ alert=False
+ if data != None:
+ item=0
+ for lineEdit in (
+ dl.doctor_lineEdit,
+ dl.doctorAddy_lineEdit,
+ dl.curMeds_lineEdit,
+ dl.pastMeds_lineEdit,
+ dl.allergies_lineEdit,
+ dl.heart_lineEdit,
+ dl.lungs_lineEdit,
+ dl.liver_lineEdit,
+ dl.bleeding_lineEdit,
+ dl.kidneys_lineEdit,
+ dl.anaesthetic_lineEdit,
+ dl.other_lineEdit
+ ):
+ lineEdit.setText(data[item])
+ item+=1
+ alert=data[12]
+ chkdate=data[13]
+
+ if chkdate:
+ dl.dateEdit.setDate(chkdate)
+ else:
+ dl.date_label.hide()
+ dl.dateEdit.hide()
+ dl.checkBox.setChecked(alert)
+
+ if Dialog.exec_():
+ newdata=[]
+ for lineEdit in (
+ dl.doctor_lineEdit,
+ dl.doctorAddy_lineEdit,
+ dl.curMeds_lineEdit,
+ dl.pastMeds_lineEdit,
+ dl.allergies_lineEdit,
+ dl.heart_lineEdit,
+ dl.lungs_lineEdit,
+ dl.liver_lineEdit,
+ dl.bleeding_lineEdit,
+ dl.kidneys_lineEdit,
+ dl.anaesthetic_lineEdit,
+ dl.other_lineEdit
+ ):
+ newdata.append(str(lineEdit.text().toAscii()))
+ newdata.append(dl.checkBox.isChecked())
+ chkdate=dl.dateEdit.date().toPyDate()
+ if chkdate != datetime.date(1900,1,1):
+ newdata.append(chkdate)
+ else:
+ newdata.append(None)
+ result=tuple(newdata)
+ if data!=result:
+ print "MH changed"
+ updateMH.write(pt.serialno,result)
+ pt.MH=result
+ pt.MEDALERT=result[12]
+
+ pt.addHiddenNote("mednotes")
+
+ mnhistChanges=[]
+ if data!=None:
+ for a in range(11):
+ if data[a]!=result[a] and str(data[a])!="":
+ mnhistChanges.append((a+140,data[a]))
+ if mnhistChanges!=[]:
+ updateMH.writeHist(pt.serialno,mnhistChanges)
+ pt.addHiddenNote("mednotes","saved previous")
+ return True
+ else:
+ print "unchanged"
+
+
+if __name__=="__main__":
+ app=QtGui.QApplication([])
+ Dialog = QtGui.QDialog()
+ from openmolar.dbtools import patient_class
+ try:
+ pt=patient_class.patient(11956)
+ showDialog(Dialog,pt)
+ except localsettings.PatientNotFoundError:
+ print "no such pt in THIS database"
diff --git a/src/openmolar/qt4gui/dialogs/newBPE.py b/src/openmolar/qt4gui/dialogs/newBPE.py
new file mode 100644
index 0000000..f3059ea
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/newBPE.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_newBPE
+from openmolar.settings import localsettings
+
+class Ui_Dialog(Ui_newBPE.Ui_Dialog):
+ def __init__(self,dialog,parent=None):
+ self.setupUi(dialog)
+ self.dialog=dialog
+ for cb in (self.bpe_comboBox,self.bpe2_comboBox,self.bpe3_comboBox,self.bpe4_comboBox,self.bpe5_comboBox,self.bpe6_comboBox):
+ cb.setCurrentIndex(-1)
+ def getInput(self):
+ if self.dialog.exec_():
+ return (True,self.getBPE())
+ else:
+ return (False,None)
+ def getBPE(self): #####this could be simplified!!!!
+ retarg=""
+ for i in (self.bpe_comboBox.currentText(),self.bpe2_comboBox.currentText(),
+ self.bpe3_comboBox.currentText(),self.bpe4_comboBox.currentText(),
+ self.bpe5_comboBox.currentText(),self.bpe6_comboBox.currentText()):
+ val=str(i)
+ if val=="":
+ val="_"
+ retarg+=val
+ return retarg # a 6 character string.
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog(Dialog)
+ print str(ui.getInput())
+ #if Dialog.exec_():
+ # print "accepted"
+ #else:
+ # print "rejected"
diff --git a/src/openmolar/qt4gui/dialogs/newCourse.py b/src/openmolar/qt4gui/dialogs/newCourse.py
new file mode 100644
index 0000000..a3612ef
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/newCourse.py
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_newCourse
+from openmolar.settings import localsettings
+
+class NewCourseDialog(Ui_newCourse.Ui_Dialog):
+ '''
+ a custom dialog to set the variables for a new course of treatment
+ '''
+ def __init__(self, dialog, dnt1, dnt2, csetype, parent=None):
+ self.setupUi(dialog)
+ self.dialog=dialog
+ self.dateEdit.setDate(QtCore.QDate().currentDate())
+ self.dnt1_comboBox.addItems(localsettings.activedents)
+ try:
+ pos=localsettings.activedents.index(dnt1)
+ except ValueError:
+ pos=-1
+ self.dnt1_comboBox.setCurrentIndex(pos)
+ self.dnt2_comboBox.addItems(localsettings.activedents)
+ try:
+ pos=localsettings.activedents.index(dnt2)
+ except ValueError:
+ pos=-1
+ self.dnt2_comboBox.setCurrentIndex(pos)
+ self.cseType_comboBox.addItems(localsettings.csetypes)
+ try:
+ pos=localsettings.csetypes.index(csetype)
+ except ValueError:
+ pos=-1
+ self.cseType_comboBox.setCurrentIndex(pos)
+
+ def getInput(self):
+ '''
+ called to show and execute the dialog until
+ sensible values are returned
+ '''
+ while True:
+ if self.dialog.exec_():
+ dnt1 = str(self.dnt1_comboBox.currentText())
+ dnt2 = str(self.dnt2_comboBox.currentText())
+ cset = str(self.cseType_comboBox.currentText())
+ retarg = (dnt1, dnt2, cset, self.dateEdit.date())
+ if "" in retarg:
+ QtGui.QMessageBox.information(self.dialog,
+ _("Error"), _("Some fields are missing, please check"))
+ else:
+ return (True,retarg)
+ else:
+ return(False, None)
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ dl = QtGui.QDialog()
+ ui = NewCourseDialog(dl, "BW", "AH", "")
+ print ui.getInput()
+
diff --git a/src/openmolar/qt4gui/dialogs/new_bridge_dialog.py b/src/openmolar/qt4gui/dialogs/new_bridge_dialog.py
new file mode 100644
index 0000000..f9ac8e4
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/new_bridge_dialog.py
@@ -0,0 +1,303 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.customwidgets.upper_case_line_edit import \
+UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+from openmolar.qt4gui.customwidgets.simple_chartwidget import SimpleChartWidg
+
+LOGGER = logging.getLogger("openmolar")
+
+RETAINER_LIST = [
+("GO", _("Gold")),
+("V1", _("Bonded Porcelain")),
+("LAVA", _("Lava")),
+("OPAL", _("Opalite")),
+("EMAX", _("Emax")),
+("EVER", _("Everest")),
+("SR", _("Resin")),
+("OT", _("Other")),
+]
+
+PONTIC_LIST = RETAINER_LIST
+
+class _OptionPage(QtGui.QWidget):
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.dialog = parent
+ self.label = QtGui.QLabel(_("Choose from the following options"))
+ self.label.setWordWrap(True)
+ self.frame = QtGui.QFrame()
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(self.label)
+ layout.addWidget(self.frame)
+ layout.addStretch(100)
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 400)
+
+ @property
+ def is_completed(self):
+ '''
+ should be overwritten!
+ '''
+ return True
+
+ @property
+ def error_message(self):
+ '''
+ should be overwritten!
+ '''
+ return _("You haven't completed this option")
+
+ @property
+ def return_text(self):
+ return ""
+
+ @property
+ def next_index(self):
+ return 1
+
+ def cleanup(self):
+ pass
+
+class PageZero(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.upper_radioButton = QtGui.QRadioButton(_("Upper Bridge"))
+ self.lower_radioButton = QtGui.QRadioButton(_("Lower Bridge"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.upper_radioButton)
+ layout.addWidget(self.lower_radioButton)
+
+ @property
+ def is_completed(self):
+ return (self.upper_radioButton.isChecked() or
+ self.lower_radioButton.isChecked())
+
+ @property
+ def properties(self):
+ if self.upper_radioButton.isChecked():
+ return (("arch", "upper"),)
+ return (("arch", "lower"),)
+
+class PageOne(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_("Bridge Type"))
+ self.radioButton1 = QtGui.QRadioButton(_("Conventional Bridge"))
+ self.radioButton2 = QtGui.QRadioButton(_("Resin Retained Bridge"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.radioButton1)
+ layout.addWidget(self.radioButton2)
+
+ @property
+ def is_completed(self):
+ return (self.radioButton1.isChecked() or
+ self.radioButton2.isChecked())
+
+ @property
+ def properties(self):
+ if self.radioButton2.isChecked():
+ return (("type", "conventional"),)
+ return (("type", "resin_retained"),)
+
+class PageTwo(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_("Material"))
+ self.radio_buttons = {}
+ layout = QtGui.QGridLayout(self.frame)
+ i = 0
+ for shortcut, description in RETAINER_LIST:
+ if self.radio_buttons.has_key(shortcut):
+ LOGGER.warning("duplication in BRIDGE MATERIAL LIST")
+ continue
+ rad_but = QtGui.QRadioButton(description)
+ layout.addWidget(rad_but, i//2, i%2)
+ self.radio_buttons[shortcut] = rad_but
+ i += 1
+
+ @property
+ def is_completed(self):
+ for rad_but in self.radio_buttons.values():
+ if rad_but.isChecked():
+ return True
+ return False
+
+ @property
+ def properties(self):
+ for shortcut, rad_but in self.radio_buttons.iteritems():
+ if rad_but.isChecked():
+ return (("material", shortcut),)
+
+class PageThree(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.dl = parent
+ self.label.setText(_(
+ "Please select teeth which are to be used as retainers"))
+ self.chartwidg = SimpleChartWidg(self)
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.chartwidg)
+
+ def showEvent(self, event=None):
+ if self.dl.is_upper_input:
+ self.chartwidg.disable_lowers()
+ else:
+ self.chartwidg.disable_uppers()
+
+ @property
+ def completed(self):
+ return list(self.properties) != []
+
+ @property
+ def properties(self):
+ for tooth in self.chartwidg.getSelected():
+ yield(tooth, "retainer")
+
+class PageFour(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.dl = parent
+ self.label.setText(_(
+ "Please select teeth which are to be used as pontics"))
+ self.chartwidg = SimpleChartWidg(self)
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.chartwidg)
+
+ def showEvent(self, event=None):
+ if self.dl.is_upper_input:
+ self.chartwidg.disable_lowers()
+ else:
+ self.chartwidg.disable_uppers()
+
+ @property
+ def completed(self):
+ return list(self.properties) != []
+
+ @property
+ def properties(self):
+ for tooth in self.chartwidg.getSelected():
+ yield(tooth, "pontic")
+
+class AcceptPage(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText("%s<hr />%s"% (
+ _("You have completed your input."),
+ _("Please click on Apply")))
+ self.frame.hide()
+
+class NewBridgeDialog(ExtendableDialog):
+ chosen_properties = {}
+ def __init__(self, om_gui = None):
+ ExtendableDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ message = (_("Chart/Plan a Bridge"))
+ self.setWindowTitle(message)
+ self.header_label = QtGui.QLabel(message)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.wizard_widget = QtGui.QStackedWidget()
+
+ page0 = PageZero(self)
+ page1 = PageOne(self)
+ page2 = PageTwo(self)
+ page3 = PageThree(self)
+ page4 = PageFour(self)
+ accept_page = AcceptPage(self)
+
+ self.wizard_widget.addWidget(page0)
+ self.wizard_widget.addWidget(page1)
+ self.wizard_widget.addWidget(page2)
+ self.wizard_widget.addWidget(page3)
+ self.wizard_widget.addWidget(page4)
+ self.wizard_widget.addWidget(accept_page)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(self.wizard_widget)
+
+ self.advanced_label = QtGui.QLabel("self.advanced_label")
+ self.add_advanced_widget(self.advanced_label)
+
+ self.next_but = self.button_box.addButton(
+ _("Next"), self.button_box.ActionRole)
+
+ self.apply_but.hide()
+
+ @property
+ def is_upper_input(self):
+ return self.chosen_properties.get("arch") == "upper"
+
+ @property
+ def current_index(self):
+ return self.wizard_widget.currentIndex()
+
+ @property
+ def current_page(self):
+ return self.wizard_widget.widget(self.current_index)
+
+ def next_widget(self):
+ if not self.current_page.is_completed:
+ QtGui.QMessageBox.information(self, _("Whoops"),
+ self.current_page.error_message)
+ return
+
+ for key, value in self.current_page.properties:
+ self.chosen_properties[key] = value
+ self.current_page.cleanup()
+
+ index_ = self.current_index + self.current_page.next_index
+ if index_ >= self.wizard_widget.count() - 1:
+ self.apply_but.show()
+ self.enableApply()
+ self.next_but.hide()
+
+ self.wizard_widget.setCurrentIndex(index_)
+
+ def _clicked(self, but):
+ '''
+ "private" function called when button box is clicked
+ '''
+ role = self.button_box.buttonRole(but)
+ if role == self.button_box.ActionRole:
+ self.next_widget()
+ else:
+ ExtendableDialog._clicked(self, but)
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ LOGGER.setLevel(logging.DEBUG)
+ dl = NewBridgeDialog(None)
+ if dl.exec_():
+ print dl.chosen_properties
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/new_denture_dialog.py b/src/openmolar/qt4gui/dialogs/new_denture_dialog.py
new file mode 100644
index 0000000..91d5720
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/new_denture_dialog.py
@@ -0,0 +1,414 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.qt4gui.customwidgets.upper_case_line_edit import \
+UpperCaseLineEdit
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+from openmolar.qt4gui.customwidgets.simple_chartwidget import SimpleChartWidg
+
+LOGGER = logging.getLogger("openmolar")
+
+VALID_INPUTS = (
+ "SR_F$",
+ "SR_P/(R[1-8]{1,8},)?(L[1-8]{1,8})?$",
+ "CC_F$",
+ "CC_P/(R[1-8]{1,8},)?(L[1-8]{1,8})?$",
+ "FL_F$",
+ "FL_P/(R[1-8]{1,8},)?(L[1-8]{1,8})?$",
+ "SL",
+ "ST",
+ "", # this one in case of no input whatsoever!
+ )
+
+class _OptionPage(QtGui.QWidget):
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.dialog = parent
+ self.label = QtGui.QLabel(_("Choose from the following options"))
+ self.label.setWordWrap(True)
+ self.frame = QtGui.QFrame()
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(self.label)
+ layout.addWidget(self.frame)
+ layout.addStretch(100)
+
+ def sizeHint(self):
+ return QtCore.QSize(400, 400)
+
+ @property
+ def is_completed(self):
+ '''
+ should be overwritten!
+ '''
+ return True
+
+ @property
+ def error_message(self):
+ '''
+ should be overwritten!
+ '''
+ return _("You haven't completed this option")
+
+ @property
+ def return_text(self):
+ return ""
+
+ @property
+ def next_index(self):
+ return 1
+
+ def cleanup(self):
+ pass
+
+class PageTwo(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ layout = QtGui.QVBoxLayout(self.frame)
+ self.full_radioButton = QtGui.QRadioButton(
+ _("Complete Denture"))
+ self.partial_radioButton = QtGui.QRadioButton(
+ _("Partial Denture"))
+
+ layout.addWidget(self.full_radioButton)
+ layout.addWidget(self.partial_radioButton)
+
+ @property
+ def is_completed(self):
+ '''
+ simply check user has checked a box
+ '''
+ for widg in (self.full_radioButton, self.partial_radioButton):
+ if widg.isChecked():
+ return True
+ return False
+
+ @property
+ def next_index(self):
+ if self.partial_radioButton.isChecked():
+ return 1
+ #skip the teeth choosing page if a complete denture
+ return 2
+
+ @property
+ def return_text(self):
+ if self.full_radioButton.isChecked():
+ return "F"
+ return "P/"
+
+class PageZero(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.upper_radioButton = QtGui.QRadioButton(_("Upper Denture"))
+ self.lower_radioButton = QtGui.QRadioButton(_("Lower Denture"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.upper_radioButton)
+ layout.addWidget(self.lower_radioButton)
+
+ @property
+ def is_completed(self):
+ return (self.upper_radioButton.isChecked() or
+ self.lower_radioButton.isChecked())
+
+ @property
+ def return_text(self):
+ return ""
+
+ @property
+ def chosen_arch(self):
+ if self.upper_radioButton.isChecked():
+ return "upper"
+ return "lower"
+
+class PageOne(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.acrylic_radioButton = QtGui.QRadioButton(_("Acrylic Denture"))
+ self.metal_radioButton = QtGui.QRadioButton(_("Chrome Denture"))
+ self.flexible_radioButton = QtGui.QRadioButton(_("Flexible Denture"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.acrylic_radioButton)
+ layout.addWidget(self.metal_radioButton)
+ layout.addWidget(self.flexible_radioButton)
+
+ @property
+ def return_text(self):
+ if self.acrylic_radioButton.isChecked():
+ return "SR_"
+ if self.metal_radioButton.isChecked():
+ return "CC_"
+ if self.flexible_radioButton.isChecked():
+ return "FL_"
+
+class PageThree(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.dl = parent
+ self.label.setText(_(
+ "Please select teeth which this denture is to replace"))
+ self.chartwidg = SimpleChartWidg(self)
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.chartwidg)
+
+ def showEvent(self, event=None):
+ if self.dl.is_upper_input:
+ LOGGER.debug("hiding lower teeth")
+ self.chartwidg.disable_lowers()
+ else:
+ LOGGER.debug("hiding upper teeth")
+ self.chartwidg.disable_uppers()
+
+ @property
+ def return_text(self):
+ r_teeth, l_teeth = set([]), set([])
+ for tooth in self.chartwidg.getSelected():
+ m = re.match("[ul]([lr])(\d)", tooth)
+ if m:
+ if m.groups()[0] == "r":
+ r_teeth.add(m.groups()[1])
+ else:
+ l_teeth.add(m.groups()[1])
+ retval = ""
+ if r_teeth:
+ retval += "R"
+ for tooth in sorted(r_teeth, reverse=True):
+ retval += tooth
+ if l_teeth:
+ if retval != "":
+ retval += ","
+ retval += "L"
+ for tooth in sorted(l_teeth):
+ retval += tooth
+ return retval
+
+class PageFour(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText(_(
+ "You may wish to add the following optional items"))
+
+ self.st_checkBox = QtGui.QCheckBox(_("Special Tray"))
+ self.sl_checkBox = QtGui.QCheckBox(_("Soft Lining"))
+
+ layout = QtGui.QVBoxLayout(self.frame)
+ layout.addWidget(self.st_checkBox)
+ layout.addWidget(self.sl_checkBox)
+
+ @property
+ def _additional_text(self):
+ text_ = ""
+ if self.st_checkBox.isChecked():
+ text_ += " ST"
+ if self.sl_checkBox.isChecked():
+ text_ += " SL"
+ return text_
+
+ @property
+ def return_text(self):
+ if self.dialog.ndu_le.text() != "":
+ return self._additional_text
+ return ""
+
+
+class AcceptPage(_OptionPage):
+ def __init__(self, parent=None):
+ _OptionPage.__init__(self, parent)
+ self.label.setText("%s<hr />%s"% (
+ _("You have completed your input."),
+ _("Please click on Apply")))
+ self.frame.hide()
+
+class NewDentureDialog(ExtendableDialog):
+ def __init__(self, om_gui = None):
+ ExtendableDialog.__init__(self, om_gui)
+
+ self.om_gui = om_gui
+ message = (_("Add A New Denture To The Treatment Plan"))
+ self.setWindowTitle(message)
+ self.header_label = QtGui.QLabel(message)
+ self.header_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.ndu_le = UpperCaseLineEdit()
+ self.ndl_le = UpperCaseLineEdit()
+
+ self.set_default_lineedit(self.ndl_le)
+
+ self.wizard_widget = QtGui.QStackedWidget()
+
+ page0 = PageZero(self)
+ page1 = PageOne(self)
+ page2 = PageTwo(self)
+ page3 = PageThree(self)
+ page4 = PageFour(self)
+ accept_page = AcceptPage(self)
+
+ self.wizard_widget.addWidget(page0)
+ self.wizard_widget.addWidget(page1)
+ self.wizard_widget.addWidget(page2)
+ self.wizard_widget.addWidget(page3)
+ self.wizard_widget.addWidget(page4)
+ self.wizard_widget.addWidget(accept_page)
+
+ self.insertWidget(self.header_label)
+ self.insertWidget(self.wizard_widget)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QFormLayout(frame)
+ layout.addRow(_("Upper Denture"), self.ndu_le)
+ layout.addRow(_("Lower Denture"), self.ndl_le)
+
+ self.add_advanced_widget(frame)
+
+ self.next_but = self.button_box.addButton(
+ _("Next"), self.button_box.ActionRole)
+
+ self.apply_but.hide()
+
+ self.ndu_le.textChanged.connect(self.enable_apply)
+ self.ndl_le.textChanged.connect(self.enable_apply)
+
+ self.ndu_le.editingFinished.connect(self.advanced_apply)
+ self.ndl_le.editingFinished.connect(self.advanced_apply)
+
+ @property
+ def current_index(self):
+ return self.wizard_widget.currentIndex()
+
+ @property
+ def current_page(self):
+ return self.wizard_widget.widget(self.current_index)
+
+ def next_widget(self):
+ if not self.current_page.is_completed:
+ QtGui.QMessageBox.information(self, _("Whoops"),
+ self.current_page.error_message)
+ return
+
+ if self.current_index == 0:
+ self.set_default_lineedit(self.current_page.chosen_arch)
+
+ le = self.default_lineedit
+ le.setText(le.text() + self.current_page.return_text)
+
+ self.current_page.cleanup()
+
+ index_ = self.current_index + self.current_page.next_index
+ if index_ >= self.wizard_widget.count() - 1:
+ self.apply_but.show()
+ self.next_but.hide()
+
+ self.wizard_widget.setCurrentIndex(index_)
+
+ @property
+ def is_upper_input(self):
+ return self.default_lineedit == self.ndu_le
+
+ @property
+ def default_lineedit(self):
+ return self._default_lineedit
+
+ def set_default_lineedit(self, value="upper"):
+ if value == "upper":
+ self._default_lineedit = self.ndu_le
+ else:
+ self._default_lineedit = self.ndl_le
+
+
+ def _clicked(self, but):
+ '''
+ "private" function called when button box is clicked
+ '''
+ role = self.button_box.buttonRole(but)
+ if role == self.button_box.ActionRole:
+ self.next_widget()
+ else:
+ ExtendableDialog._clicked(self, but)
+
+ @property
+ def check_valid_input(self):
+ ndus, ndls = self.upper_input, self.lower_input
+ for ndu in ndus.split(" "):
+ matched = False
+ for input_ in VALID_INPUTS:
+ if re.match(input_, ndu):
+ matched = True
+ if not matched:
+ QtGui.QMessageBox.warning(self, _("Warning"),
+ _("Your upper denture input is invalid"))
+ return False
+ for ndl in ndls.split(" "):
+ LOGGER.debug("checking '%s'"% ndl)
+ matched = False
+ for input_ in VALID_INPUTS:
+ if re.match(input_, ndl):
+ matched = True
+ if not matched:
+ QtGui.QMessageBox.warning(self, _("Warning"),
+ _("Your lower denture input is invalid"))
+ return False
+ return True
+
+ def enable_apply(self, *args):
+ self.enableApply(self.upper_input != "" or self.lower_input != "")
+
+ def advanced_apply(self, *args):
+ self.apply_but.show()
+ self.enableApply(self.upper_input != "" or self.lower_input != "")
+
+ @property
+ def upper_input(self):
+ return str(self.ndu_le.text().toAscii()).strip(" ")
+
+ @property
+ def lower_input(self):
+ return str(self.ndl_le.text().toAscii()).strip(" ")
+
+ @property
+ def chosen_treatments(self):
+ for input_ in self.upper_input.split(" "):
+ if input_ != "":
+ yield ("ndu", input_)
+ for input_ in self.lower_input.split(" "):
+ if input_ != "":
+ yield ("ndl", input_)
+
+ def exec_(self):
+ result = ExtendableDialog.exec_(self)
+ if result:
+ result = self.check_valid_input or self.exec_()
+ return result
+
+
+if __name__ == "__main__":
+
+ app = QtGui.QApplication([])
+ LOGGER.setLevel(logging.DEBUG)
+ dl = NewDentureDialog(None)
+ if dl.exec_():
+ for att, tx in dl.chosen_treatments:
+ print att, tx
diff --git a/src/openmolar/qt4gui/dialogs/nhs_forms_config_dialog.py b/src/openmolar/qt4gui/dialogs/nhs_forms_config_dialog.py
new file mode 100644
index 0000000..2eb1519
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/nhs_forms_config_dialog.py
@@ -0,0 +1,140 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.connect import connect
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+from openmolar.qt4gui.printing.gp17.gp17_config import gp17config
+
+class _PrintSettings(QtGui.QWidget):
+ user_input = QtCore.pyqtSignal()
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.left_sb = QtGui.QSpinBox()
+ self.top_sb = QtGui.QSpinBox()
+ self.scale_x_sb = QtGui.QDoubleSpinBox()
+ self.scale_y_sb = QtGui.QDoubleSpinBox()
+ form_layout = QtGui.QFormLayout(self)
+
+ form_layout.addRow(_("Left Offset"), self.left_sb)
+ form_layout.addRow(_("Top Offset"), self.top_sb)
+ form_layout.addRow(_("Horizontal Scaling"), self.scale_x_sb)
+ form_layout.addRow(_("Vertical Scaling"), self.scale_y_sb)
+
+ def set_initial_values(self, left, top, scale_x, scale_y):
+ self.left_sb.setValue(left)
+ self.top_sb.setValue(top)
+ self.scale_x_sb.setValue(scale_x)
+ self.scale_y_sb.setValue(scale_y)
+
+ for widg in (self.left_sb, self.top_sb,
+ self.scale_x_sb, self.scale_y_sb):
+ widg.valueChanged.connect(self.emit_user_input)
+
+ def value(self, attribute):
+ if attribute == "left":
+ return str(self.left_sb.value())
+ elif attribute == "top":
+ return str(self.top_sb.value())
+ elif attribute == "scale_x":
+ return str(self.scale_x_sb.value())
+ elif attribute == "scale_y":
+ return str(self.scale_y_sb.value())
+
+ def emit_user_input(self, *args):
+ self.user_input.emit()
+
+class NHSFormsConfigDialog(BaseDialog):
+ def __init__(self, parent=None):
+ BaseDialog.__init__(self, parent)
+
+ title = _("NHS Form Configuration")
+ self.setWindowTitle(title)
+ label = QtGui.QLabel(u"<b>%s</b>"% title)
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.gp17_widget = _PrintSettings()
+ self.gp17_widget.set_initial_values(
+ gp17config.OFFSET_LEFT,
+ gp17config.OFFSET_TOP,
+ gp17config.SCALE_X,
+ gp17config.SCALE_Y)
+
+ self.gp17ifront_widget = _PrintSettings()
+ self.gp17ifront_widget.set_initial_values(
+ gp17config.GP17i_OFFSET_LEFT,
+ gp17config.GP17i_OFFSET_TOP,
+ gp17config.GP17i_SCALE_X,
+ gp17config.GP17i_SCALE_Y)
+
+ self.gp17iback_widget = _PrintSettings()
+ self.gp17iback_widget.set_initial_values(
+ gp17config.GP17iback_OFFSET_LEFT,
+ gp17config.GP17iback_OFFSET_TOP,
+ gp17config.GP17iback_SCALE_X,
+ gp17config.GP17iback_SCALE_Y)
+
+ self.gp17_widget.user_input.connect(self.enableApply)
+ self.gp17ifront_widget.user_input.connect(self.enableApply)
+ self.gp17iback_widget.user_input.connect(self.enableApply)
+
+ tab_widget = QtGui.QTabWidget()
+ tab_widget.addTab(self.gp17_widget, "GP17")
+ tab_widget.addTab(self.gp17ifront_widget, "GP17i (front)")
+ tab_widget.addTab(self.gp17iback_widget, "GP17i (back)")
+
+ self.insertWidget(label)
+ self.insertWidget(tab_widget)
+
+ def apply(self):
+ for widg, section in (
+ (self.gp17_widget, "gp17Front"),
+ (self.gp17ifront_widget, "gp17iFront"),
+ (self.gp17iback_widget, "gp17iBack")
+ ):
+ for option in ("top", "left", "scale_x", "scale_y"):
+ gp17config.set(section, option, widg.value(option))
+
+ gp17config.save_config()
+ gp17config.read_conf()
+
+ def sizeHint(self):
+ return QtCore.QSize(300,350)
+
+ def exec_(self):
+ if BaseDialog.exec_(self):
+ self.apply()
+ return True
+ return False
+
+if __name__ == "__main__":
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+
+ dl = NHSFormsConfigDialog()
+
+ print (dl.exec_())
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/payment_dialog.py b/src/openmolar/qt4gui/dialogs/payment_dialog.py
new file mode 100644
index 0000000..b715d82
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/payment_dialog.py
@@ -0,0 +1,317 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from types import IntType
+from PyQt4 import QtCore, QtGui
+
+if __name__ == "__main__":
+ import os, sys
+ sys.path.insert(0, os.path.abspath("../../../"))
+
+
+from openmolar.qt4gui.customwidgets.money_line_edit import MoneyLineEdit
+from openmolar.qt4gui.customwidgets.currency_label import CurrencyLabel
+
+from openmolar.qt4gui.dialogs.base_dialogs import ExtendableDialog
+
+class MiscPaymentWidget(QtGui.QWidget):
+ '''
+ the "advanced" widget added to the payment dialog.
+ '''
+ updated = QtCore.pyqtSignal(object)
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ layout = QtGui.QFormLayout(self)
+
+ self.hdp_le = MoneyLineEdit()
+ self.other_le = MoneyLineEdit()
+ self.refund_le = MoneyLineEdit()
+ self.refund_le.setStyleSheet("color:red")
+
+ layout.addRow(_("Annual Hdp Payment"),self.hdp_le)
+ layout.addRow(_("Other Payments"),self.other_le)
+ layout.addRow(_("Patient Refunds"),self.refund_le)
+
+ self.hdp_le.textEdited.connect(self.updated.emit)
+ self.other_le.textEdited.connect(self.updated.emit)
+ self.refund_le.textEdited.connect(self.updated.emit)
+
+ def hide_treatment(self, hide):
+ if hide:
+ self.hdp_le.setEnabled(False)
+ self.refund_le.setEnabled(False)
+
+ @property
+ def hdp_value(self):
+ return self.hdp_le.pence_value
+
+ @property
+ def other_value(self):
+ return self.other_le.pence_value
+
+ @property
+ def refund_value(self):
+ return -self.refund_le.pence_value
+
+
+class PaymentDialog(ExtendableDialog):
+
+ default_tx_amount = "0.00"
+
+ def __init__(self, parent=None):
+ ExtendableDialog.__init__(self, parent)
+ frame = QtGui.QFrame()
+ layout = QtGui.QGridLayout(frame)
+
+ tx_label = QtGui.QLabel(_("Treatment"))
+ sundries_label = QtGui.QLabel(_("Sundries"))
+ total_label = QtGui.QLabel(_("Total"))
+
+ for label in (tx_label, sundries_label, total_label):
+ label.setAlignment(QtCore.Qt.AlignCenter)
+
+ cash_label = QtGui.QLabel(_("Cash"))
+ cheque_label = QtGui.QLabel(_("Cheque"))
+ card_label = QtGui.QLabel(_("Card"))
+
+ self.cash_le = MoneyLineEdit()
+ self.cheque_le = MoneyLineEdit()
+ self.card_le = MoneyLineEdit()
+
+ self.cash_but = QtGui.QPushButton("-")
+ self.cheque_but = QtGui.QPushButton("-")
+ self.card_but = QtGui.QPushButton("-")
+
+ self.cash_but.setFixedWidth(30)
+ self.cheque_but.setFixedWidth(30)
+ self.card_but.setFixedWidth(30)
+
+ self.cash_sundries_le = MoneyLineEdit()
+ self.cheque_sundries_le = MoneyLineEdit()
+ self.card_sundries_le = MoneyLineEdit()
+
+ self.cash_tot_label = CurrencyLabel("0.00")
+ self.cheque_tot_label = CurrencyLabel("0.00")
+ self.card_tot_label = CurrencyLabel("0.00")
+
+ self.tx_tot_label = CurrencyLabel("0.00")
+ self.sundries_tot_label = CurrencyLabel("0.00")
+ self.grand_tot_label = CurrencyLabel("0.00")
+
+ f = QtGui.QApplication.instance().font()
+ f.setBold(True)
+
+ self.grand_tot_label.setFont(f)
+
+
+ for label in ( self.cash_tot_label, self.cheque_tot_label,
+ self.card_tot_label, self.tx_tot_label,
+ self.sundries_tot_label, self.grand_tot_label):
+ label.setMinimumWidth(80)
+
+ layout.addWidget(tx_label,0,1,1,2)
+ layout.addWidget(sundries_label,0,3)
+ layout.addWidget(total_label,0,4)
+
+ layout.addWidget(cash_label,1,0)
+ layout.addWidget(cheque_label,2,0)
+ layout.addWidget(card_label,3,0)
+
+ layout.addWidget(self.cash_le,1,1)
+ layout.addWidget(self.cheque_le,2,1)
+ layout.addWidget(self.card_le,3,1)
+
+ layout.addWidget(self.cash_but,1,2)
+ layout.addWidget(self.cheque_but,2,2)
+ layout.addWidget(self.card_but,3,2)
+
+ layout.addWidget(self.cash_sundries_le,1,3)
+ layout.addWidget(self.cheque_sundries_le,2,3)
+ layout.addWidget(self.card_sundries_le,3,3)
+
+ layout.addWidget(self.cash_tot_label,1,4)
+ layout.addWidget(self.cheque_tot_label,2,4)
+ layout.addWidget(self.card_tot_label,3,4)
+
+ layout.addWidget(self.tx_tot_label,4,1)
+ layout.addWidget(self.sundries_tot_label,4,3)
+ layout.addWidget(self.grand_tot_label,4,4)
+
+
+ self.insertWidget(frame)
+
+ for widg in (self.cash_le, self.cheque_le, self.card_le,
+ self.cash_sundries_le, self.cheque_sundries_le, self.card_sundries_le):
+ widg.textEdited.connect(self.update_totals)
+
+
+ self.cash_but.clicked.connect(self.cash_but_clicked)
+ self.cheque_but.clicked.connect(self.cheque_but_clicked)
+ self.card_but.clicked.connect(self.card_but_clicked)
+
+
+ self.misc_payment_widget = MiscPaymentWidget(self)
+ self.set_advanced_but_text(_("unusual payments"))
+ self.add_advanced_widget(self.misc_payment_widget)
+ self.misc_payment_widget.updated.connect(self.update_totals)
+
+
+ def int_to_decimal(self, i):
+ assert type(i) == IntType, "input must be an integer, not %s, (%s)"% (
+ i, type(i))
+ ss = str(i)
+ negative = "-" if "-" in ss else ""
+ ss = ss.strip("-")
+ if len(ss) == 0:
+ return "0.00"
+ if len(ss) == 1:
+ return "%s0.0%s"% (negative, ss)
+ if len(ss) == 2:
+ return "%s0.%s"% (negative, ss)
+ return "%s%s.%s"% (negative, ss[:-2], ss[-2:])
+
+ def update_totals(self, *args):
+ self.cash_tot_label.setText(self.int_to_decimal(self.cash_total))
+ self.cheque_tot_label.setText(self.int_to_decimal(self.cheque_total))
+ self.card_tot_label.setText(self.int_to_decimal(self.card_total))
+ self.tx_tot_label.setText(self.tx_total_text)
+ self.sundries_tot_label.setText(self.sundry_total_text)
+ self.grand_tot_label.setText(self.grand_total_text)
+
+ def set_treatment_default_amount(self, amt):
+ if amt > 0:
+ self.default_tx_amount = self.int_to_decimal(amt)
+
+ @property
+ def hdp(self):
+ return self.misc_payment_widget.hdp_value
+
+ @property
+ def other(self):
+ return self.misc_payment_widget.other_value
+
+ @property
+ def refund(self):
+ return self.misc_payment_widget.refund_value
+
+ @property
+ def grand_total(self):
+ val = (self.cash_total + self.cheque_total +
+ self.card_total + self.hdp + self.other + self.refund)
+ self.enableApply(val != 0 or self.refund != 0)
+ return val
+
+ @property
+ def tx_total_text(self):
+ return self.int_to_decimal(self.tx_total+self.hdp)
+
+ @property
+ def sundry_total_text(self):
+ return self.int_to_decimal(self.sundries_total+self.other)
+
+ @property
+ def grand_total_text(self):
+ return self.int_to_decimal(self.grand_total)
+
+ @property
+ def other_text(self):
+ return self.int_to_decimal(self.other)
+
+ @property
+ def refund_text(self):
+ return self.int_to_decimal(self.refund)
+
+ @property
+ def cash_total(self):
+ return self.cash_le.pence_value + self.cash_sundries_le.pence_value
+
+ @property
+ def cheque_total(self):
+ return self.cheque_le.pence_value + self.cheque_sundries_le.pence_value
+
+ @property
+ def card_total(self):
+ return self.card_le.pence_value + self.card_sundries_le.pence_value
+
+ @property
+ def sundries_total(self):
+ return self.sundry_cash + self.sundry_cheque + self.sundry_card
+
+ @property
+ def tx_total(self):
+ return (self.tx_cash + self.tx_cheque + self.tx_card)
+
+ @property
+ def tx_cash(self):
+ return self.cash_le.pence_value
+
+ @property
+ def tx_cheque(self):
+ return self.cheque_le.pence_value
+
+ @property
+ def tx_card(self):
+ return self.card_le.pence_value
+
+ @property
+ def sundry_cash(self):
+ return self.cash_sundries_le.pence_value
+
+ @property
+ def sundry_cheque(self):
+ return self.cheque_sundries_le.pence_value
+
+ @property
+ def sundry_card(self):
+ return self.card_sundries_le.pence_value
+
+ def card_but_clicked(self):
+ self.card_le.setText(self.default_tx_amount)
+ self.update_totals()
+
+ def cheque_but_clicked(self):
+ self.cheque_le.setText(self.default_tx_amount)
+ self.update_totals()
+
+ def cash_but_clicked(self):
+ self.cash_le.setText(self.default_tx_amount)
+ self.update_totals()
+
+ def hide_treatment(self, hide):
+ if hide:
+ self.cash_le.setEnabled(False)
+ self.cash_but.setEnabled(False)
+ self.cheque_le.setEnabled(False)
+ self.cheque_but.setEnabled(False)
+ self.card_le.setEnabled(False)
+ self.card_but.setEnabled(False)
+
+ self.misc_payment_widget.hide_treatment(hide)
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ app = QtGui.QApplication([])
+ dl = PaymentDialog()
+ #dl.hide_treatment(True)
+ dl.exec_()
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/dialogs/permissions.py b/src/openmolar/qt4gui/dialogs/permissions.py
new file mode 100644
index 0000000..2a3b3b1
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/permissions.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+import datetime, hashlib
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_permissions
+
+def granted(parent=None):
+ if localsettings.permissionsRaised==True:
+ if localsettings.permissionExpire>datetime.datetime.now():
+ resetExpireTime()
+ return True
+ else:
+ localsettings.permissionsRaised=False
+
+ Dialog=QtGui.QDialog(parent)
+ dl = Ui_permissions.Ui_Dialog()
+ dl.setupUi(Dialog)
+ if Dialog.exec_():
+ hash = hashlib.sha1(str((dl.lineEdit.text().toAscii()))).hexdigest()
+ if hash == localsettings.SUPERVISOR:
+ localsettings.permissionsRaised=True
+ resetExpireTime()
+ return True
+ else:
+ QtGui.QMessageBox.information(parent,"whoops","wrong password")
+ return False
+
+def resetExpireTime():
+ diff=datetime.timedelta(minutes=5)
+ localsettings.permissionExpire=datetime.datetime.now()+diff
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ print granted()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/dialogs/print_record_dialog.py b/src/openmolar/qt4gui/dialogs/print_record_dialog.py
new file mode 100644
index 0000000..47a3858
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/print_record_dialog.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from PyQt4 import QtGui, QtCore, QtWebKit
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+from openmolar.ptModules import formatted_notes
+from openmolar.ptModules import patientDetails
+
+
+class PrintRecordDialog(BaseDialog):
+ def __init__(self, patient, chartimage, parent):
+ BaseDialog.__init__(self, parent)
+ self.pt = patient
+
+ self.main_ui = parent
+ patient_label = QtGui.QLabel("%s<br /><b>%s</b>"% (
+ _("Print the record of"), patient.name_id))
+
+ patient_label.setAlignment(QtCore.Qt.AlignCenter)
+
+ self.web_view = QtWebKit.QWebView()
+
+ self.insertWidget(patient_label)
+ self.insertWidget(self.web_view)
+
+ html = patientDetails.header(patient).replace("center","left")
+
+ html += '<img src="%s" height = "120px" /><hr />'% (
+ chartimage)
+ html += formatted_notes.notes(patient.notes_dict)
+ self.web_view.setHtml(html)
+ self.apply_but.setText("Print")
+ self.enableApply()
+
+
+ def sizeHint(self):
+ return QtCore.QSize(600, 600)
+
+ def exec_(self):
+ if BaseDialog.exec_(self):
+ printer = QtGui.QPrinter()
+ printer.setPageSize(printer.A4)
+ dialog = QtGui.QPrintDialog(printer, self.parent())
+ if not dialog.exec_():
+ return False
+
+ self.web_view.print_(printer)
+
+if __name__ == "__main__":
+ localsettings.initiate()
+
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(10781)
+
+ app = QtGui.QApplication([])
+
+ dl = PrintRecordDialog(pt, "file:///home/neil/chart.png", None)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/dialogs/recall_dialog.py b/src/openmolar/qt4gui/dialogs/recall_dialog.py
new file mode 100644
index 0000000..9e29c1d
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/recall_dialog.py
@@ -0,0 +1,104 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+
+class RecallDialog(QtGui.QDialog):
+ '''
+ generates SQL and values to be used to select patients to recall
+ '''
+ def __init__(self,parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.dent_cbs = []
+
+ self.setWindowTitle("Set Recall Conditions")
+ today = QtCore.QDate.currentDate()
+ start = QtCore.QDate(today.year(), today.month(), 1)
+ end = QtCore.QDate(today.year(), today.month()+1, 1).addDays(-1)
+
+ start_label = QtGui.QLabel(_("start date (inclusive)"))
+ self.start_date = QtGui.QDateEdit()
+ self.start_date.setDate(start)
+ self.start_date.setCalendarPopup(True)
+
+ end_label = QtGui.QLabel(_("end date (inclusive)"))
+ self.end_date = QtGui.QDateEdit()
+ self.end_date.setDate(end)
+ self.end_date.setCalendarPopup(True)
+
+ self.dent_gb = QtGui.QGroupBox(
+ _("Dentist choice (leave unchecked for all)"))
+ self.dent_gb.setCheckable(True)
+ self.dent_gb.setChecked(False)
+ layout = QtGui.QVBoxLayout(self.dent_gb)
+
+ for i, dent in enumerate(localsettings.activedents):
+ cb = QtGui.QCheckBox()
+ cb.setChecked(True)
+ cb.setText(dent)
+ cb.dent = localsettings.activedent_ixs[i]
+ layout.addWidget(cb)
+ self.dent_cbs.append(cb)
+
+ but_box = QtGui.QDialogButtonBox(self)
+ but_box.addButton(but_box.Ok).clicked.connect(self.accept)
+ but_box.addButton(but_box.Cancel).clicked.connect(self.reject)
+
+ layout = QtGui.QGridLayout(self)
+ layout.addWidget(start_label,1,0)
+ layout.addWidget(self.start_date,1,1)
+ layout.addWidget(end_label,2,0)
+ layout.addWidget(self.end_date,2,1)
+ layout.addWidget(self.end_date,2,1)
+ layout.addWidget(self.dent_gb,3,0,1,2)
+ layout.addWidget(but_box,4,0,1,2)
+
+ @property
+ def conditions(self):
+ conditions = "recall_active AND recdent>=%s AND recdent<=%s "
+ if self.dent_gb.isChecked():
+ for cb in self.dent_cbs:
+ if cb.isChecked():
+ conditions += "AND dnt1=%s "
+ return conditions
+
+ @property
+ def values(self):
+ vals = [self.start_date.date().toPyDate(),
+ self.end_date.date().toPyDate()]
+ if self.dent_gb.isChecked():
+ for cb in self.dent_cbs:
+ if cb.isChecked():
+ vals.append(cb.dent)
+ return tuple(vals)
+
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+ dl = RecallDialog()
+ if dl.exec_():
+ print dl.conditions
+ print dl.values
diff --git a/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py b/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py
new file mode 100644
index 0000000..eece600
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/saveDiscardCancel.py
@@ -0,0 +1,98 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_saveDiscardCancel
+
+import gettext
+gettext.install("openmolar")
+
+class sdcDialog(Ui_saveDiscardCancel.Ui_Dialog):
+ def __init__(self, dialog):
+ self.dialog=dialog
+ self.setupUi(self.dialog)
+ self.changes=[]
+ self.signals()
+ self.result=""
+ self.dialog.setFixedHeight(154)
+ self.compressed = True
+
+ def setPatient(self, arg):
+ '''
+ let the dialog know who it is referring to
+ '''
+ message = _("You have unsaved changes to the record of")
+ self.label.setText("%s<br />%s"% (message, arg))
+
+ def setChanges(self,changelist):
+ '''
+ a list of changes
+ '''
+ self.changes = changelist
+ self.listWidget.addItems(self.changes)
+
+ def allowDiscard(self, option):
+ '''
+ if not exiting, the changes cannot be discarded
+ '''
+ if not option:
+ for button in self.buttonBox.buttons():
+ if self.buttonBox.buttonRole(button) == (
+ QtGui.QDialogButtonBox.DestructiveRole):
+ self.buttonBox.removeButton(button)
+
+ def signals(self):
+ QtCore.QObject.connect(self.buttonBox,
+ QtCore.SIGNAL("accepted()"), self.save)
+
+ QtCore.QObject.connect(self.buttonBox,
+ QtCore.SIGNAL("rejected()"), self.cancel)
+
+ QtCore.QObject.connect(self.buttonBox,
+ QtCore.SIGNAL("clicked(QAbstractButton*)"),self.slot)
+
+ self.pushButton.connect(self.pushButton,
+ QtCore.SIGNAL("clicked()"),self.showDetails)
+
+ def showDetails(self):
+
+ if not self.compressed:
+ self.dialog.setFixedHeight(154)
+ self.pushButton.setText(_("What's Changed?"))
+ else:
+ self.dialog.setFixedHeight(283)
+ self.pushButton.setText(_("Hide"))
+ self.compressed = not self.compressed
+
+ def slot(self, arg=None):
+ if self.buttonBox.buttonRole(arg) == (
+ QtGui.QDialogButtonBox.DestructiveRole):
+ self.discard()
+
+ def save(self):
+ self.result="save"
+ self.dialog.accept()
+ def cancel(self):
+ self.dialog.reject()
+ def discard(self):
+ if QtGui.QMessageBox.question(self.dialog,_("Confirm"),
+ "Are you sure you want to discard your changes?",
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No )==QtGui.QMessageBox.Yes:
+ self.result="discard"
+ self.dialog.accept()
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = sdcDialog(Dialog)
+ ui.setPatient("TestRecord - 000356")
+ ui.setChanges(["Sname","Fname"]*2)
+ #ui.setOfferDiscard(False)
+ if Dialog.exec_():
+ print ui.result
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/dialogs/saveMemo.py b/src/openmolar/qt4gui/dialogs/saveMemo.py
new file mode 100644
index 0000000..ee9cfbe
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/saveMemo.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_saveMemo
+from openmolar.settings import localsettings
+from openmolar.dbtools import memos
+
+class Ui_Dialog(Ui_saveMemo.Ui_Dialog):
+ def __init__(self,dialog,sno):
+ self.dialog=dialog
+ self.setupUi(dialog)
+ self.dateEdit.setDate(QtCore.QDate().currentDate())
+ self.author_comboBox.addItems(localsettings.allowed_logins)
+ self.serialno=sno
+ self.author_comboBox.setCurrentIndex(-1)
+
+ def getInput(self):
+ if not self.dialog.exec_():
+ return False
+ if not self.noExpire_radioButton.isChecked():
+ exdate = self.dateEdit.date().toPyDate()
+ else:
+ exdate = None
+
+ author = str(self.author_comboBox.currentText())
+ if author == "":
+ author = "Anon"
+
+ open = True
+
+ message = self.textEdit.toPlainText().toAscii()
+
+ if self.viewSurgery_radioButton.isChecked():
+ type = "surg"
+ elif self.viewReception_radioButton.isChecked():
+ type = "rec"
+ else:
+ type = "all"
+
+ return memos.saveMemo(self.serialno, author, type, exdate,
+ message, open)
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+ ui = Ui_Dialog(Dialog,11956)
+ print ui.getInput()
+ #if Dialog.exec_():
+ # print "accepted"
+ #else:
+ # print "rejected"
diff --git a/src/openmolar/qt4gui/dialogs/select_language.py b/src/openmolar/qt4gui/dialogs/select_language.py
new file mode 100644
index 0000000..fa53fb8
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/select_language.py
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import gettext
+import os
+import logging
+
+from PyQt4 import QtGui, QtCore
+from openmolar.qt4gui.compiled_uis import Ui_choose_language
+
+LOGGER = logging.getLogger("openmolar")
+
+def getCurrentLanguage():
+ '''
+ get the current language in use
+ '''
+ cl = os.environ.get('LANG')
+ if cl and "." in cl:
+ cl = cl[:cl.index(".")]
+ return cl
+
+def getAvailableLanguages():
+ '''
+ return a list of installed languages - I do this manually at the moment :(
+ '''
+ available = [
+ _("English (United Kingdom)") +" - en_GB",
+ _("English (Australia)") +" - en_AUS",
+ _("Afrikaans") + " - af",
+ _("Danish") + " - da",
+ _("French") + " - fr",
+ _("German") + " - de",
+ _("Hungarian") + " - hu",
+ _("Indonesian") + " - id",
+ _("Italian") + " - it",
+ _("Occitan") + " - oc",
+ _("Polish") + " - pl",
+ _("Portuguese") + " - pt",
+ _("Slovak") + " - sk",
+ _("Spanish") + " - es",
+ _("Turkish") + " - tr",
+ _("Romanian") + " - ro",
+ _("Greek") + " - el",
+ ]
+ available.sort()
+ return available
+
+def setLanguage(lang):
+ '''
+ install the language chosen
+ '''
+ lang = lang.split(" - ")[1]
+ lang1 = gettext.translation('openmolar', languages=[lang,])
+ try:
+ print "trying install your environment language", lang1
+ lang1 = gettext.translation('openmolar', languages=[lang,])
+ lang1.install(unicode=True)
+ except IOError:
+ LOGGER.exception("%s not found, sorry"% lang1)
+ gettext.install('openmolar', unicode=True)
+
+class language_dialog(Ui_choose_language.Ui_Dialog):
+ def __init__(self, dialog, parent=None):
+ self.setupUi(dialog)
+ self.dialog = dialog
+ currentlanguage = getCurrentLanguage()
+ self.radioboxes = []
+ vbox = QtGui.QVBoxLayout(self.frame)
+ for language in getAvailableLanguages():
+ rb = QtGui.QRadioButton(language)
+ if currentlanguage in language.split(" - "):
+ rb.setChecked(True)
+ self.radioboxes.append(rb)
+ vbox.addWidget(rb)
+
+
+ def getInput(self):
+ if self.dialog.exec_():
+ for rb in self.radioboxes:
+ if rb.isChecked():
+ lang = rb.text().toAscii()
+ try:
+ print "changing language to '%s' ...."% lang,
+ setLanguage(str(lang))
+ print "ok"
+ return True
+ except IOError:
+ LOGGER.exception("unable to find translation file")
+ message = _("no translation file found for %s")% lang
+ QtGui.QMessageBox.information(self.dialog,
+ _("Advisory"), message)
+
+def run(parent=None):
+ '''
+ fire up a dialog to offer a selection of languages
+ '''
+ Dialog = QtGui.QDialog()
+ dl = language_dialog(Dialog, parent)
+ return dl.getInput()
+
+if __name__ == "__main__":
+ import sys
+ logging.basicConfig()
+
+ app = QtGui.QApplication(sys.argv)
+ gettext.install('openmolar')
+ print run()
diff --git a/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py b/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py
new file mode 100644
index 0000000..023fd1b
--- /dev/null
+++ b/src/openmolar/qt4gui/dialogs/toothprop_fulledit.py
@@ -0,0 +1,150 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for
+# more details.
+
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_toothprops_full_edit
+from openmolar.qt4gui.customwidgets.chartwidget import ToothImage
+
+LOGGER = logging.getLogger("openmolar")
+
+class editor(Ui_toothprops_full_edit.Ui_Dialog):
+ def __init__(self, tooth, chart, lineEdit, dialog):
+ self.dialog = dialog
+ self.setupUi(self.dialog)
+ self.tooth = tooth
+ self.chart = chart
+ self.setLabel()
+ self.lineEdit = lineEdit
+ hlayout = QtGui.QHBoxLayout(self.frame)
+ hlayout.setContentsMargins(0,0,0,0)
+ hlayout.addWidget(self.lineEdit)
+ self.setData()
+ self.tableWidget.setColumnWidth(0, 50)
+ self.tableWidget.setColumnWidth(1, 150)
+ self.signals()
+
+ def setLabel(self):
+ if self.chart == "st": type= _("Static")
+ elif self.chart == "pl": type= _("Planned")
+ else: type= _("Completed")
+
+ self.tooth_label.setText("%s - %s items"% (self.tooth.upper(), type))
+
+ def setData(self):
+ self.initialVal = str(self.lineEdit.text().toAscii())
+ props = self.initialVal.split(" ")
+ while "" in props:
+ props.remove("")
+ self.tableWidget.setColumnCount(4)
+ self.tableWidget.setRowCount(len(props))
+ self.tableWidget.setHorizontalHeaderLabels(["",
+ _("Item Shortcut"), _("Demote"), _("Erase")])
+
+ for row, prop in enumerate(props):
+ self.fillRow(prop, row)
+
+ def fillRow(self,prop, row):
+ if prop and prop[0] != "!":
+ self.drawProp(prop, row)
+ else:
+ self.drawComment(prop, row)
+ self.addEraseButton(prop, row)
+ self.addDownArrow(prop, row)
+
+ def drawComment(self, prop, row):
+ '''
+ just puts "comment" into column 1 for now... might add an icon?
+ '''
+ item = QtGui.QTableWidgetItem("!")
+ self.tableWidget.setItem(row, 0, item)
+
+ item = QtGui.QTableWidgetItem(prop)
+ self.tableWidget.setItem(row, 1, item)
+
+ def drawProp(self, prop, row):
+ '''
+ adds a graphical representation of the "property" to the table
+ '''
+ tooth = ToothImage(self.tooth, [str(prop).lower()])
+ icon_tableitem = QtGui.QTableWidgetItem()
+ image = tooth.image.scaled(40,40)
+ icon_tableitem.setData(QtCore.Qt.DecorationRole, image)
+ icon_tableitem.setToolTip(_("click to edit Item - ") + prop)
+
+ self.tableWidget.setItem(row, 0, icon_tableitem)
+ prop_tableitem = QtGui.QTableWidgetItem(prop)
+ self.tableWidget.setItem(row, 1, prop_tableitem)
+
+ def addEraseButton(self, prop, row):
+ '''
+ adds a pushbutton to the tableWidget
+ '''
+ p_map = QtGui.QPixmap(":/eraser.png").scaled(24,24)
+ tableItem = QtGui.QTableWidgetItem()
+ tableItem.setData(QtCore.Qt.DecorationRole, p_map)
+ tableItem.setToolTip(_("click to delete item - ") + prop)
+ self.tableWidget.setItem(row, 3, tableItem)
+
+ def addDownArrow(self, prop, row):
+ p_map = QtGui.QPixmap(QtGui.QPixmap(":/down.png")).scaled(24,24)
+ tableItem = QtGui.QTableWidgetItem()
+ tableItem.setData(QtCore.Qt.DecorationRole, p_map)
+ tableItem.setToolTip(_("click to promote Item - ") + prop)
+ self.tableWidget.setItem(row, 2, tableItem)
+
+ def signals(self):
+ self.tableWidget.connect(self.tableWidget,
+ QtCore.SIGNAL("cellPressed (int,int)"), self.tableClicked)
+
+ def tableClicked(self, row, column):
+ if column == 3:
+ self.deleteRow(row)
+ if column == 2:
+ self.promoteRow(row)
+
+ def deleteRow(self, row):
+ self.tableWidget.removeRow(row)
+ self.updateLineEdit()
+
+ def promoteRow(self, row):
+ if row+1 < self.tableWidget.rowCount():
+ self.tableWidget.insertRow(row)
+ self.fillRow(self.tableWidget.item(row+2,1).text(), row)
+ self.tableWidget.removeRow(row+2)
+ self.updateLineEdit()
+
+ def updateLineEdit(self):
+ s = QtCore.QString("")
+ for row in range(self.tableWidget.rowCount()):
+ s += self.tableWidget.item(row, 1).text()+" "
+ self.lineEdit.setText(s)
+
+ def exec_(self):
+ if self.dialog.exec_():
+ self.result = self.lineEdit.text().toAscii()
+ if self.initialVal != self.result:
+ self.result = str(self.result)
+ return True
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ from openmolar.qt4gui import resources_rc
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication(sys.argv)
+ Dialog = QtGui.QDialog()
+
+ le = QtGui.QLineEdit()
+ le.setText("IM/TIT MOD RT CR,GO !KUO")
+ dl = editor("ul7","st", le, Dialog)
+ dl.exec_()
+
diff --git a/src/openmolar/qt4gui/diary_widget.py b/src/openmolar/qt4gui/diary_widget.py
new file mode 100644
index 0000000..89aa083
--- /dev/null
+++ b/src/openmolar/qt4gui/diary_widget.py
@@ -0,0 +1,1783 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import datetime
+import logging
+import time
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+
+from openmolar.dbtools import appointments
+from openmolar.dbtools import search
+from openmolar.dbtools.brief_patient import BriefPatient
+from openmolar.ptModules import formatted_notes
+
+from openmolar.qt4gui.dialogs import alterAday
+from openmolar.qt4gui.dialogs import finalise_appt_time
+from openmolar.qt4gui.dialogs import permissions
+from openmolar.qt4gui.dialogs import choose_clinicians
+from openmolar.qt4gui.dialogs.find_patient_dialog import FinalChoiceDialog
+from openmolar.qt4gui.dialogs import begin_make_appt_dialog
+
+from openmolar.qt4gui.customwidgets import appointmentwidget
+
+from openmolar.qt4gui.printing import om_printing
+
+from openmolar.qt4gui.tools import apptTools
+
+from openmolar.qt4gui.compiled_uis import Ui_diary_widget
+
+from openmolar.qt4gui.customwidgets.schedule_control \
+ import DiaryScheduleController
+from openmolar.qt4gui.customwidgets.diary_view_controller \
+ import DiaryViewController
+
+
+from openmolar.qt4gui.customwidgets.appointment_overviewwidget \
+ import AppointmentOverviewWidget
+
+from openmolar.qt4gui.customwidgets import aptOVcontrol
+from openmolar.qt4gui.customwidgets import dent_hyg_selector
+from openmolar.qt4gui.customwidgets import calendars
+
+from openmolar.qt4gui.dialogs import appointment_card_dialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class DiaryWidget(QtGui.QWidget):
+ VIEW_MODE = 0
+ SCHEDULING_MODE = 1
+ BLOCKING_MODE = 2
+ NOTES_MODE = 3
+
+ appt_mode = VIEW_MODE
+
+ pt = None
+ finding_next_slot = 0 # -1 = backwards, 1 = forwards
+
+ patient_card_request = QtCore.pyqtSignal(object)
+ pt_diary_changed = QtCore.pyqtSignal(object)
+ bring_to_front = QtCore.pyqtSignal()
+ print_mh_signal = QtCore.pyqtSignal(object)
+
+ alterAday_clipboard = [] #clipboard used by the alterAday dialog
+ alterAday_clipboard_date = None
+
+ message_alert = None
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.ui = Ui_diary_widget.Ui_Form()
+ self.ui.setupUi(self)
+ self.appointmentData = appointments.DayAppointmentData()
+
+ self.schedule_controller = DiaryScheduleController(self)
+ self.view_controller = DiaryViewController(self)
+
+ #keep a pointer to this layout as the layout is moved between
+ #dayview and weekview
+ self.appt_mode_layout = QtGui.QVBoxLayout(
+ self.ui.day_view_control_frame)
+ self.appt_mode_layout.setMargin(0)
+
+ self.appt_mode_layout.addWidget(self.schedule_controller)
+ self.appt_mode_layout.addStretch(0)
+ self.appt_mode_layout.addWidget(self.view_controller)
+
+ self.day_scroll_bar = None
+ self.apptBookWidgets=[]
+
+ #-appointment OVerview widget
+ self.ui.apptoverviews=[]
+
+ for day in range(7):
+ bw = AppointmentOverviewWidget("0820", "1910", 10, 3, self)
+ self.ui.apptoverviews.append(bw)
+
+ i = 0
+ for frame in (self.ui.appt_OV_Frame1,
+ self.ui.appt_OV_Frame2, self.ui.appt_OV_Frame3,
+ self.ui.appt_OV_Frame4, self.ui.appt_OV_Frame5,
+ self.ui.appt_OV_Frame6, self.ui.appt_OV_Frame7):
+ hlayout=QtGui.QHBoxLayout(frame)
+ hlayout.setMargin(2)
+ hlayout.addWidget(self.ui.apptoverviews[i])
+ i += 1
+
+ self.ui.apptoverviewControls=[]
+
+ for widg in (self.ui.day1_frame, self.ui.day2_frame,
+ self.ui.day3_frame, self.ui.day4_frame, self.ui.day5_frame,
+ self.ui.day6_frame, self.ui.day7_frame):
+ hlayout = QtGui.QHBoxLayout(widg)
+ hlayout.setMargin(0)
+ control = aptOVcontrol.control()
+ self.ui.apptoverviewControls.append(control)
+ hlayout.addWidget(control)
+
+ self.ui.weekView_splitter.setSizes([600,10])
+
+ self.appt_clinician_selector = dent_hyg_selector.dentHygSelector(
+ localsettings.activedents, localsettings.activehygs)
+
+ self.monthClinicianSelector = dent_hyg_selector.dentHygSelector(
+ localsettings.activedents, localsettings.activehygs)
+
+ #--customise the appointment widget calendar
+ self.ui.dayCalendar = calendars.controlCalendar()
+ self.calendar_layout = QtGui.QHBoxLayout(self.ui.dayCalendar_frame)
+ self.calendar_layout.setMargin(0)
+ self.calendar_layout.addWidget(self.ui.dayCalendar)
+
+ self.ui.weekCalendar = calendars.weekCalendar()
+ hlayout = QtGui.QHBoxLayout(self.ui.weekCalendar_frame)
+ hlayout.setMargin(0)
+ hlayout.addWidget(self.ui.weekCalendar)
+
+ #--add a month view
+ self.ui.monthView = calendars.monthCalendar()
+ #hlayout=QtGui.QHBoxLayout(self.ui.monthView_frame)
+ #hlayout.setMargin(0)
+ #hlayout.addWidget(self.ui.monthView)
+ self.ui.monthView_scrollArea.setWidget(self.ui.monthView)
+ #--add a year view
+ self.ui.yearView = calendars.yearCalendar()
+ hlayout=QtGui.QHBoxLayout(self.ui.yearView_frame)
+ hlayout.setMargin(0)
+ hlayout.addWidget(self.ui.yearView)
+
+ self.agenda_widget = QtGui.QTextBrowser()
+ layout = QtGui.QVBoxLayout(self.ui.agenda_frame)
+ layout.setMargin(0)
+ layout.addWidget(self.agenda_widget)
+
+ self.init_signals()
+
+ self.ticker = QtCore.QTimer()
+ self.ticker.start(30000) #fire every 30 seconds
+ self.ticker.timeout.connect(self.triangles)
+
+
+ def showEvent(self, event):
+ LOGGER.debug("DiaryWidget.showEvent called")
+ #QtCore.QTimer.singleShot(10, self.layout_diary)
+
+ def advise(self, arg, warning_level=0):
+ '''
+ inform the user of events -
+ warning level0 = status bar only.
+ warning level 1 advisory
+ warning level 2 critical (and logged)
+ '''
+ def accept():
+ self.message_alert.accept()
+
+ if warning_level == 0:
+ if self.message_alert is not None:
+ accept()
+ else:
+ self.message_alert = QtGui.QMessageBox(self)
+ self.message_alert.setStandardButtons(QtGui.QMessageBox.NoButton)
+ self.message_alert.setWindowTitle(_("advisory"))
+ self.message_alert.setModal(False)
+
+ self.message_alert.setText(arg)
+ QtCore.QTimer.singleShot(3*1000, accept)
+ self.message_alert.show()
+
+ elif warning_level == 1:
+ QtGui.QMessageBox.information(self, _("Advisory"), arg)
+
+ elif warning_level == 2:
+ now=QtCore.QTime.currentTime()
+ QtGui.QMessageBox.warning(self, _("Error"), arg)
+ #--for logging purposes
+ LOGGER.warning("%d:%02d ERROR MESSAGE %s"%(
+ now.hour(), now.minute(), arg))
+
+ def reset(self):
+ '''
+ reset the tabwidget
+ '''
+ self.ui.diary_tabWidget.setCurrentIndex(0)
+ self.ui.appt_notes_webView.setVisible(
+ self.appt_mode == self.NOTES_MODE)
+
+ def selected_date(self):
+ '''
+ a convenience function which calls a widget function
+ (keeps code more readable)
+ '''
+ return self.ui.dayCalendar.selectedDate()
+
+ def set_date(self, sd):
+ '''
+ a convenience function which calls a widget function
+ (keeps code more readable)
+ '''
+ self.ui.dayCalendar.setSelectedDate(sd)
+
+ def gotoToday_clicked(self):
+ '''
+ handles button pressed asking for today to be loaded on the
+ appointments page
+ '''
+ self.gotoToday()
+
+ def printMonth_pushButton_clicked(self):
+ '''
+ print the current Monthe View
+ '''
+ om_printing.printMonth(self)
+
+ def appointment_book_print(self, dentist):
+ '''
+ print an appointment book
+ '''
+ adate = self.selected_date()
+ try:
+ books = ((dentist, adate), )
+ om_printing.printdaylists(self, books)
+ except KeyError:
+ self.advise("error printing book", 1)
+
+ def bookmemo_Edited(self, arg):
+ '''
+ user has double clicked on the appointment widget memo label
+ '''
+ dentist, memo = arg
+ apptix = localsettings.apptix[dentist]
+ if self.appointmentData.getMemo(apptix) != memo:
+ appointments.setMemos(
+ self.selected_date().toPyDate(),
+ ((apptix, memo),))
+ self.advise("adding day memo - %s %s"% (dentist, memo))
+
+ def load_patient(self, patient, update=True):
+ LOGGER.debug("DiaryWidget.load_patient, update=%s"% update)
+
+ self.pt = patient
+ if self.schedule_controller.pt != patient:
+ self.schedule_controller.clear()
+ self.schedule_controller.set_patient(patient)
+ for book in self.apptBookWidgets:
+ if patient is not None:
+ book.selected_serialno = patient.serialno
+ else:
+ book.selected_serialno = None
+ book.update()
+ if update:
+ self.layout_diary()
+
+ def set_appt_mode(self, mode, update_required=True):
+ LOGGER.debug("DiaryWidget.set_appt_mode")
+ if self.appt_mode == mode:
+ return
+ self.finding_next_slot = 0
+ self.appt_mode = mode
+ self.schedule_controller.set_mode(mode)
+ self.view_controller.set_mode(mode)
+ if mode == self.NOTES_MODE:
+ self.ui.appt_notes_webView.setHtml(_("No patient Selected"))
+ self.ui.diary_tabWidget.setCurrentIndex(0)
+ self.set_date(QtCore.QDate.currentDate())
+
+ else:
+ self.pt = self.schedule_controller.pt
+ serialno = 0 if self.pt is None else self.pt.serialno
+ for book in self.apptBookWidgets:
+ book.selected_serialno = serialno
+ book.update()
+ if update_required:
+ self.layout_diary()
+
+ def highlight_serialno(self, serialnos):
+ '''
+ a custom widget (dentist diary) has sent a signal that an
+ appointment has been selected.
+ the arg is a list of serial numbers
+ '''
+ serialno = serialnos[0]
+
+ if self.appt_mode == self.NOTES_MODE:
+ html = formatted_notes.todays_notes(serialno)
+ self.ui.appt_notes_webView.setHtml(html)
+ page = self.ui.appt_notes_webView.page()
+ page.setLinkDelegationPolicy(page.DelegateAllLinks)
+
+ #this next bit is useful in showing "double appointments"
+ if self.appt_mode not in (self.SCHEDULING_MODE, self.BLOCKING_MODE):
+ for book in self.apptBookWidgets:
+ book.selected_serialno = serialno
+ book.update()
+
+ def apptBook_slot_clicked(self, dent, time, length):
+ dt = datetime.datetime.combine(self.appointmentData.date, time)
+ slot = appointments.FreeSlot(dt, dent, length)
+ self.makeAppt(self.schedule_controller.appointment_model.currentAppt,
+ slot)
+
+ def manage_month_and_year_View_clinicians(self):
+ '''
+ radiobutton toggling who's book to show on the appointment
+ '''
+ self.dl = choose_clinicians.dialog(self.monthClinicianSelector, self)
+ self.dl.exec_()
+ val = self.monthClinicianSelector.allChecked()
+ self.ui.monthClinicians_checkBox.setChecked(val)
+ self.ui.yearClinicians_checkBox.setChecked(val)
+ self.layout_diary()
+
+ def month_and_year_All_clinicians(self):
+ '''
+ checkbox has been clicked, if True, then checkAll
+ '''
+ if self.sender().isChecked():
+ self.monthClinicianSelector.checkAll()
+ else:
+ self.monthClinicianSelector.checkAll(QtCore.Qt.Unchecked)
+ self.layout_diary()
+
+ def aptOVwidget_userHasChosen_slot(self, slot):
+ '''
+ user has been offered a slot, and accepted it.
+ the argument provides the required details
+ '''
+ self.makeAppt(self.schedule_controller.appointment_model.currentAppt,
+ slot)
+
+ def begin_makeAppt(self):
+ '''
+ make an appointment - switch user to "scheduling mode" and present the
+ appointment overview to show possible appointments
+ also handles both 1st appointment buttons
+ '''
+ LOGGER.debug("DiaryWidget.begin_makeAppt")
+ self.ui.appt_notes_webView.setVisible(False)
+
+ self.schedule_controller.set_mode(
+ self.schedule_controller.SCHEDULE_MODE)
+
+ appt = self.schedule_controller.appointment_model.currentAppt
+ if appt is None:
+ self.advise(_("Please select an appointment to schedule"), 1)
+ return
+ if not appt.unscheduled:
+ self.layout_diary()
+ self.advise(_("appointment already scheduled for") + " %s"%(
+ localsettings.readableDate(appt.date)), 1)
+ return
+
+ begin_make_appt_dialog.WEEK_VIEW = self.viewing_week
+
+ hyg_appt_selected = appt.dent in localsettings.activehyg_ixs
+
+ begin_make_appt_dialog.ANY_HYGIENIST = hyg_appt_selected
+
+ dl = begin_make_appt_dialog.BeginMakeApptDialog(self.pt, appt, self)
+
+ if (hyg_appt_selected or
+ self.schedule_controller.min_hyg_slot_length is None):
+ dl.joint_appt_checkbox.setEnabled(False)
+
+
+ if not dl.exec_():
+ self.schedule_controller.reset()
+ self.finding_next_slot = 0
+ self.layout_diary()
+ return
+
+ ## uncomment this line for debugging.
+ #self.advise(dl.message, 1)
+
+ # apply dialog settings
+ self.schedule_controller.set_selection_mode(
+ dl.clinician_selection_mode)
+
+ self.schedule_controller.set_excluded_days(dl.excluded_days)
+ self.schedule_controller.set_ignore_emergency_spaces(
+ dl.ignore_emergency_spaces)
+
+ self.schedule_controller.finding_joint_appointments = \
+ dl.joint_appointment_search
+
+ self.finding_next_slot = 1
+
+ self.signals_calendar(False)
+ if dl.start_search_criteria == dl.APPT_WEEKS_TIME:
+ start_date = QtCore.QDate.currentDate().addDays(7)
+ elif dl.start_search_criteria == dl.APPT_FOLLOW_ON:
+ start_date = self.schedule_controller.last_appt_date
+ else:
+ start_date = QtCore.QDate.currentDate()
+
+ self.set_date(start_date)
+ self.ui.weekCalendar.setSelectedDate(start_date)
+ self.signals_calendar()
+
+ if dl.use_week_view:
+ self.ui.diary_tabWidget.setCurrentIndex(1)
+ else:
+ self.ui.diary_tabWidget.setCurrentIndex(0)
+ self.layout_diary()
+
+ def weekViewAvailableSlots(self, get_hyg_slots=True):
+ '''
+ show slots on the appt overview widgets
+ returns (arg1, arg2)
+ arg1 is a boolean, whether the search was valid
+ arg2 is a message
+ arg3 is the appointments
+ '''
+ if not self.viewing_week:
+ return ((), ())
+
+ seldate = self.selected_date()
+
+ if seldate.toPyDate() > localsettings.bookEnd:
+ message = (_("Reached") +
+ ' %s <br />'% localsettings.longDate(localsettings.bookEnd)+
+ _("which is specified as the book end point"))
+ return (False, message, ())
+
+ dayno = seldate.dayOfWeek()
+ weekdates = []
+ for day in range(1, 8):
+ weekdates.append(seldate.addDays(day-dayno))
+ today = QtCore.QDate.currentDate()
+ if today in weekdates:
+ startday = today
+ else:
+ startday = weekdates[0] #--monday
+ sunday = weekdates[6] #--sunday
+
+ message = ""
+
+ dents = self.schedule_controller.selectedClinicians
+ #--check for suitable apts in the selected WEEK!
+
+ slots = appointments.future_slots(
+ startday.toPyDate(),
+ sunday.toPyDate(),
+ dents,
+ self.schedule_controller.ignore_emergency_spaces)
+
+ if get_hyg_slots:
+ hyg_slots = appointments.future_slots(
+ startday.toPyDate(),
+ sunday.toPyDate(),
+ localsettings.activehyg_ixs,
+ self.schedule_controller.ignore_emergency_spaces)
+ else:
+ hyg_slots = ()
+ dent_slots = appointments.getLengthySlots(slots,
+ self.schedule_controller.min_slot_length)
+
+ hyg_slots = appointments.getLengthySlots(hyg_slots,
+ self.schedule_controller.min_hyg_slot_length)
+
+ return (dent_slots, hyg_slots)
+
+ def makeAppt(self, appt, slot):
+ '''
+ called by a click on my custom overview slot - or a drop event
+ user has selected an offered appointment
+ '''
+
+ if not appt:
+ self.advise(
+ _("Please select an appointment to place here"), 1)
+ return
+ if appt.date:
+ self.advise(
+ _("Please choose another appointment - this one is made already!"), 1)
+ return
+
+ appointment_made = False
+ selectedtime = localsettings.pyTimetoWystime(slot.time())
+ slotlength = slot.length
+ selectedDent = slot.dent
+ if appt.dent and selectedDent != appt.dent:
+ #--the user has selected a slot with a different dentist
+ #--raise a dialog to check this was intentional!!
+ message = _('You have chosen an appointment with') + " %s<br />"% (
+ localsettings.apptix_reverse[selectedDent])
+ message += _("Is this correct?")
+
+ result = QtGui.QMessageBox.question(self, "Confirm", message,
+ QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+
+ if result == QtGui.QMessageBox.No:
+ #dialog rejected
+ return
+
+ if slotlength > appt.length:
+ #--the slot selected is bigger than the appointment length so
+ #--fire up a dialog to allow for fine tuning
+ dl = finalise_appt_time.ftDialog(slot.time(), slotlength,
+ appt.length, self)
+
+ if dl.exec_():
+ #--dialog accepted
+ selectedtime = localsettings.pyTimetoWystime(dl.selectedTime)
+ slotlength = appt.length #satisfies the next conditional code
+ else:
+ #--dialog cancelled
+ return
+
+ if slotlength == appt.length:
+ #--ok... suitable appointment found
+ message = '''<center>%s<br />%s<br /><b>%s<br />%s
+ <br />%s</b></center>'''% (
+ _("Confirm Make appointment for"),
+ appt.name,
+ localsettings.wystimeToHumanTime(selectedtime),
+ localsettings.readableDate(slot.date()),
+ localsettings.apptix_reverse.get(selectedDent,"??"))
+
+ #--get final confirmation
+ result = QtGui.QMessageBox.question(self, "Confirm", message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.No:
+ #dialog rejected
+ for widg in self.ui.apptoverviews:
+ widg.update()
+ return
+
+ #--make name conform to the 30 character sql limitation
+ #--on this field.
+ name = appt.name[:30]
+ #--don't throw an exception with ord("")
+ cst = 0
+ try:
+ cst = ord(appt.cset[0])
+ except TypeError:
+ pass
+ except IndexError:
+ pass
+
+ endtime = localsettings.minutesPastMidnighttoWystime(
+ localsettings.minutesPastMidnight(selectedtime) + appt.length)
+
+
+ if self.schedule_controller.ignore_emergency_spaces:
+ appointments.cancel_emergency_slot(
+ slot.date(), selectedDent, selectedtime, endtime)
+
+ #-- make appointment
+ if appointments.make_appt(
+ slot.date(), selectedDent, selectedtime, endtime,
+ appt.name[:30], appt.serialno, appt.trt1,
+ appt.trt2, appt.trt3, appt.memo, appt.flag, cst, 0, 0):
+
+ if appt.serialno !=0:
+ if not appointments.pt_appt_made(
+ appt.serialno, appt.aprix, slot.date(),
+ selectedtime, selectedDent):
+
+ self.advise(
+ _("Error putting appointment back into patient diary"))
+
+ self.schedule_controller.get_data()
+ self.schedule_controller.set_chosen_appointment(None)
+ self.pt_diary_changed.emit(self.pt.serialno)
+
+ #== and offer an appointment card
+ if appointments.has_unscheduled(appt.serialno):
+ self.advise(_("more appointments to schedule"))
+ else:
+ self.offer_appointment_card()
+ self.set_appt_mode(self.VIEW_MODE)
+
+ else:
+ self.advise(u"<b>%s</b><hr /><em>%s<br />%s</em>"% (
+ _("Error making appointment - sorry!"),
+ _("It is most likely that another user utilised this space."),
+ _("Please try again.")
+ ), 2)
+ else:
+ #Hopefully this should never happen!!!!
+ self.advise(
+ "error - the appointment doesn't fit there.. slotlength "+
+ "is %d and we need %d"% (slotlength, appt.length), 2)
+
+ self.layout_diary()
+
+ def apptOVheaderclick(self, arg):
+ '''
+ a click on the dentist portion of the appointment overview widget
+ '''
+
+ ##TODO should I abandon this?
+ apptix, adate = arg
+ self.advise("week header clicked %s %s"% (apptix, adate), 1)
+
+ def offer_appointment_card(self):
+ result = QtGui.QMessageBox.question(self,
+ "Confirm",
+ "Print Appointment Card?",
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ dl = appointment_card_dialog.AppointmentCardDialog(self.pt, self)
+ dl.exec_()
+
+ def triangles(self, call_update=True):
+ ''''
+ this moves a red line down the appointment books
+ called by A Qtimer, or programmatically when adding data
+ '''
+ if self.ui.diary_tabWidget.currentIndex()==0:
+ currenttime = "%02d%02d"%(time.localtime()[3], time.localtime()[4])
+ d = self.selected_date()
+ if d == QtCore.QDate.currentDate():
+ for book in self.apptBookWidgets:
+ if book.setCurrentTime(currenttime) and call_update:
+ book.update()
+ else:
+ for book in self.apptBookWidgets:
+ book.setCurrentTime(None)
+
+ def aptFontSize(self, e):
+ '''
+ user selecting a different appointment book slot
+ '''
+ localsettings.appointmentFontSize = e
+ for book in self.apptBookWidgets:
+ book.update()
+ for book in self.ui.apptoverviews:
+ book.update()
+ self.ui.monthView.update()
+ self.ui.yearView.update()
+
+ def aptOVlabelClicked(self, sd):
+ '''
+ go to the appointment book for the date on the label
+ '''
+ self.set_date(sd)
+ self.ui.diary_tabWidget.setCurrentIndex(0)
+
+ def aptOV_monthBack(self):
+ '''
+ appointment Overview page - change the calendar date,
+ and let it's event handler do the rest
+ '''
+ self.set_date(self.selected_date().addMonths(-1))
+
+ def aptOV_monthForward(self):
+ '''
+ appointment Overview page - change the calendar date,
+ and let it's event handler do the rest
+ '''
+ self.set_date(self.selected_date().addMonths(1))
+
+ def aptOV_yearBack(self):
+ '''
+ appointment Overview page - change the calendar date,
+ and let it's event handler do the rest
+ '''
+ self.set_date(self.selected_date().addYears(-1))
+
+ def aptOV_yearForward(self):
+ '''
+ appointment Overview page - change the calendar date,
+ and let it's event handler do the rest
+ '''
+ self.set_date(self.selected_date().addYears(1))
+
+ def gotoToday(self):
+ '''
+ appointment page - change the calendar date,
+ and let it's event handler do the rest
+ '''
+ self.set_date(QtCore.QDate.currentDate())
+
+ def clearTodaysEmergencyTime(self):
+ '''
+ clears emergency slots for today
+ '''
+ #-- raise a dialog to check
+ result = QtGui.QMessageBox.question(self, "Confirm",
+ "Clear today's emergency slots?",
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ number_cleared = appointments.clearEms(localsettings.currentDay())
+ self.advise("Cleared %d emergency slots"% number_cleared, 1)
+ self.layout_diary()
+
+ def updateDayMemos(self, memos):
+ '''
+ user has added some memos
+ '''
+ d = self.selected_date().toPyDate()
+ appointments.setMemos(d, memos)
+ self.layout_diary()
+
+ def addpubHol(self, details):
+ '''
+ user has update/added a pub holiday
+ '''
+ d = self.selected_date().toPyDate()
+ appointments.setPubHol(d, details)
+ self.layout_diary()
+
+ def add_appointmentwidget(self):
+ LOGGER.debug("initiating a new AppointmentWidget")
+ book = appointmentwidget.AppointmentWidget(
+ "0800", "1900", self)
+ self.apptBookWidgets.append(book)
+ self.ui.dayView_splitter.addWidget(book)
+ self.signals_apptWidgets(book)
+ book.mode = self.appt_mode
+ if self.day_scroll_bar is None:
+ self.day_scroll_bar = book.scrollArea.verticalScrollBar()
+ self.ui.emergency_dayview_scroll_bar.valueChanged.connect(
+ self.day_scroll_bar.setValue)
+
+ if len(self.apptBookWidgets) > 1:
+ self.apptBookWidgets[-1].set_scroll_bar(self.day_scroll_bar)
+ for widg in self.apptBookWidgets[:-1]:
+ widg.scroll_bar_off()
+
+ def calendar_signal(self):
+ '''
+ called when the user clicks on the calendar
+ (ie. NOT when called programatically by move_on)
+ '''
+ LOGGER.debug("DiaryWidget.calendar_signal")
+ self.finding_next_slot = 0
+ self.layout_diary()
+
+ def layout_diary(self):
+ '''
+ slot to catch a date change from the custom mont/year widgets emitting
+ a date signal
+ OR the diary tab shifting
+ OR the checkboxes have been tweaked
+ OR a memo has been added
+ '''
+ LOGGER.debug("DiaryWidget.layout_diary")
+
+ date_ = self.selected_date()
+ self.ui.weekCalendar.setSelectedDate(date_)
+ self.ui.monthView.setSelectedDate(date_.toPyDate())
+ self.ui.yearView.setSelectedDate(date_.toPyDate())
+ today = QtCore.QDate.currentDate()
+ self.ui.goTodayPushButton.setEnabled(date_ != today)
+ self.ui.goto_current_week_PushButton.setEnabled(
+ date_.weekNumber() != today.weekNumber())
+
+ self.ui.appt_notes_webView.setVisible(
+ self.appt_mode == self.NOTES_MODE)
+ self.schedule_controller.set_mode(self.appt_mode)
+
+ i = self.ui.diary_tabWidget.currentIndex()
+
+ if i==0:
+ self.layout_dayView()
+ elif i==1:
+ self.layout_weekView()
+ elif i==2:
+ self.layout_month()
+ elif i==3:
+ self.layout_year()
+ self.layout_yearHeader()
+ elif i==4:
+ self.layout_agenda()
+
+ if self.appt_mode == self.SCHEDULING_MODE:
+ if date_ > localsettings.bookEnd:
+ self.advise(u'''<b>%s<br />%s %s</b><hr /><em>(%s)</em>
+ <ul><li>%s</li><li>%s</li><li>%s</li></ul>'''% (
+ _("This date is beyond the diary limit."),
+ _("If the appointment wizard has brought you here"),
+ _("you should search again with different criteria."),
+ _("for instance..."),
+ _("no excluded days"),
+ _("ignore emergencies"),
+ _("add or view more clinicians."))
+ ,1)
+
+ elif date_ < localsettings.currentDay():
+ self.advise(
+ _("You can't schedule an appointment in the past"),
+ 1)
+ self.set_date(localsettings.currentDay())
+
+ elif (i in (0,1) and self.schedule_controller.is_searching
+ and self.schedule_controller.chosen_slot is None):
+ self.advise(_("No matching appointments found"))
+
+
+
+ def layout_year(self):
+ '''
+ grab year memos
+ '''
+ LOGGER.debug("DiaryWidget.layout_year")
+
+ year = self.selected_date().year()
+ startdate = datetime.date(year, 1, 1)
+ enddate = datetime.date(year+1, 1, 1)
+
+ dents = self.getUserCheckedClinicians()
+ self.ui.yearView.setDents(dents)
+
+ data = appointments.getDayInfo(startdate, enddate, dents)
+ self.ui.yearView.setData(data)
+
+ data = appointments.getBankHols(startdate, enddate)
+ self.ui.yearView.setHeadingData(data)
+
+ self.ui.yearView.update()
+
+ def layout_yearHeader(self):
+ '''
+ put dayname, bank hol info, and any memos into the year header textBrowser
+ '''
+ dayData = self.ui.yearView.getDayData()
+ #print dayData.dayName, dayData.publicHoliday, dayData.memos
+ headerText = '''<html><head><link rel="stylesheet"
+ href="%s" type="text/css"></head><body><div class="center">
+ <table width="100%%">
+ <tr><td colspan="3" class="yearheader">%s</td></tr>'''% (
+ localsettings.stylesheet, dayData.dayName)
+
+ if dayData.publicHoliday != "":
+ headerText += '''<tr><td colspan="3" class="bankholiday">%s</td>
+ </tr>'''% dayData.publicHoliday
+
+ for dentix in dayData.dents.keys():
+ dent = dayData.dents[dentix]
+ if dentix==0:
+ headerText += '''<tr><td class="yearops" colspan="2">ALL</td>
+ <td class="yearmemo">%s</td></tr>''' % dent.memo
+ else:
+ times = ""
+ if dent.flag:
+ times = "%s - %s"%(
+ localsettings.wystimeToHumanTime(dent.start),
+ localsettings.wystimeToHumanTime(dent.end))
+
+ headerText += '''<tr><td class="yearops">%s</td>
+ <td class="yearops">%s</td>
+ <td class="yearmemo">%s</td></tr>
+ ''' % (dent.initials, times, dent.memo)
+ headerText += "</table></body></html>"
+
+ self.ui.year_textBrowser.setText(headerText)
+
+ def layout_month(self):
+ '''
+ grab month memos
+ '''
+ LOGGER.debug("DiaryWidget.layout_month")
+
+ qdate = self.selected_date()
+ startdate = datetime.date(qdate.year(), qdate.month(), 1)
+
+ qdate = qdate.addMonths(1)
+ enddate = datetime.date(qdate.year(), qdate.month(), 1)
+
+ dents = self.getUserCheckedClinicians()
+ self.ui.monthView.setDents(dents)
+
+ data = appointments.getDayInfo(startdate, enddate, dents)
+ self.ui.monthView.setData(data)
+
+ data = appointments.getBankHols(startdate, enddate)
+ self.ui.monthView.setHeadingData(data)
+
+ self.ui.monthView.update()
+
+ def layout_weekView(self):
+ '''
+ lay out the week view widget
+ called by checking a dentist checkbox on apptov tab
+ or by changeing the date on the appt OV calendar
+ '''
+ if not self.viewing_week:
+ return
+
+ LOGGER.debug("DiaryWidget.layout_weekView")
+
+ self.ui.week_view_control_frame.setLayout(self.appt_mode_layout)
+
+ self.current_weekViewClinicians = set()
+ date_ = self.selected_date()
+
+ dayno = date_.dayOfWeek()
+ weekdates = []
+
+ for day in range(7):
+ weekday = (date_.addDays(day + 1 - dayno))
+ weekdates.append(weekday)
+ header = self.ui.apptoverviewControls[day]
+ header.setDate(weekday)
+ pydate = weekday.toPyDate()
+ memo = appointments.getBankHol(pydate)
+ gm = appointments.getGlobalMemo(pydate)
+ if memo !="" and gm != "":
+ memo += "<br />"
+ memo += gm
+ header.setMemo(memo)
+
+ thisWeek = QtCore.QDate.currentDate() in weekdates
+ self.ui.goto_current_week_PushButton.setEnabled(not thisWeek)
+
+ for ov in self.ui.apptoverviews:
+ ov.date = weekdates[self.ui.apptoverviews.index(ov)]
+ ov.clear()
+ ov.mode = self.appt_mode
+
+ ov.dents = \
+ self.view_controller.clinician_days(ov.date.toPyDate())
+
+ for dent in ov.dents:
+ self.current_weekViewClinicians.add(dent.ix)
+
+ ov.init_dicts()
+ for dent in ov.dents:
+ ov.setStartTime(dent)
+ ov.setEndTime(dent)
+ ov.setMemo(dent)
+ ov.setFlags(dent)
+
+
+ if self.appt_mode == self.SCHEDULING_MODE:
+ if date_ < QtCore.QDate.currentDate(): #and not thisWeek):
+ self.advise(
+ _("You can't schedule an appointment in the past"))
+ #stop looking backwards
+ self.finding_next_slot = 0
+ #self.set_date(localsettings.currentDay())
+ #return
+ if date_ > localsettings.bookEnd:
+ #self.advise(_("You are beyond scheduling range"),1)
+ self.finding_next_slot = 0
+ available_slots = []
+ self.schedule_controller.set_available_slots([])
+
+ elif self.schedule_controller.finding_joint_appointments:
+
+ dent_slots, hyg_slots = self.weekViewAvailableSlots()
+
+ self.schedule_controller.set_joint_slots(
+ dent_slots, hyg_slots)
+
+ if (self.finding_next_slot != 0 and
+ self.schedule_controller.search_again):
+ self.step_date(self.finding_next_slot != -1)
+ return
+
+ if self.finding_next_slot == -1:
+ self.schedule_controller.use_last_slot = True
+ self.finding_next_slot = 1
+
+ else:
+ dent_slots, hyg_slots = self.weekViewAvailableSlots(False)
+ self.schedule_controller.set_available_slots(dent_slots)
+
+ if (self.finding_next_slot != 0 and
+ self.schedule_controller.search_again):
+ self.step_date(self.finding_next_slot != -1)
+ return
+
+ if self.finding_next_slot == -1:
+ self.schedule_controller.use_last_slot = True
+ self.finding_next_slot = 1
+
+ if self.schedule_controller.is_searching:
+ for ov in self.ui.apptoverviews:
+ for slot in self.schedule_controller.available_slots:
+ if slot.date_time.date() == ov.date.toPyDate():
+ ov.addSlot(slot)
+ for slot in self.schedule_controller.hygienist_slots:
+ if slot.date_time.date() == ov.date.toPyDate():
+ ov.addSlot(slot)
+
+ ov.enable_clinician_slots(
+ self.schedule_controller.selectedClinicians)
+
+ ov.set_active_slots(
+ (self.schedule_controller.chosen_slot,
+ self.schedule_controller.chosen_hyg_slot)
+ )
+
+ elif self.appt_mode == self.BLOCKING_MODE:
+ available_slots, hyg_slots = self.weekViewAvailableSlots()
+ for ov in self.ui.apptoverviews:
+ ov.enable_clinician_slots(
+ localsettings.activedents + localsettings.activehygs)
+ for slot in available_slots:
+ if slot.date_time.date() == ov.date.toPyDate():
+ ov.addSlot(slot)
+
+ for ov in self.ui.apptoverviews:
+ date_ = ov.date.toPyDate()
+ for dent in ov.dents:
+ ov.appts[dent.ix] = appointments.day_summary(date_, dent.ix)
+
+ #add lunches and blocks
+ for ov in self.ui.apptoverviews:
+ date_ = ov.date.toPyDate()
+ for dent in ov.dents:
+ ov.eTimes[dent.ix] = appointments.getBlocks(date_, dent.ix)
+ ov.lunches[dent.ix] = appointments.getLunch(date_, dent.ix)
+
+ for ov in self.ui.apptoverviews:
+ ov.update()
+
+ #needed to sync agenda and dayview
+ if self.schedule_controller.chosen_slot:
+ sync_date = QtCore.QDate(
+ self.schedule_controller.chosen_slot.date())
+ LOGGER.debug("sync date%s"% sync_date)
+ if (sync_date.weekNumber() ==
+ self.ui.weekCalendar.selectedDate().weekNumber()):
+ self.signals_calendar(False)
+ self.ui.weekCalendar.setSelectedDate(sync_date)
+ self.set_date(sync_date)
+ self.signals_calendar()
+
+
+ def layout_dayView(self):
+ '''
+ this populates the appointment book widgets (on maintab, pageindex 1)
+ '''
+ if not self.viewing_day:
+ return
+
+ LOGGER.debug("DiaryWidget.layout_dayView")
+ self.ui.emergency_dayview_scroll_bar.hide()
+ self.ui.dayCalendar_frame.setLayout(self.calendar_layout)
+ self.ui.day_view_control_frame.setLayout(self.appt_mode_layout)
+
+ for book in self.apptBookWidgets:
+ book.clearAppts()
+ book.setTime = None
+ book.mode = self.appt_mode
+
+ date_ = self.selected_date().toPyDate()
+
+ ##choose dentists to show.
+ dents = self.view_controller.clinician_list(date_)
+
+ self.appointmentData.setDate(date_)
+ self.appointmentData.getAppointments(dents)
+
+ if self.appt_mode == self.SCHEDULING_MODE:
+ if (date_ < localsettings.currentDay() or
+ date_ > localsettings.bookEnd):
+ self.finding_next_slot = 0
+ available_slots = []
+ self.schedule_controller.set_available_slots([])
+
+ elif self.schedule_controller.finding_joint_appointments:
+ dentists = []
+ for dent in dents:
+ if dent in localsettings.activedent_ixs:
+ dentists.append(dent)
+
+ dent_slots = self.appointmentData.slots(
+ self.schedule_controller.min_slot_length,
+ self.schedule_controller.ignore_emergency_spaces,
+ dentists
+ )
+
+ hyg_slots = self.appointmentData.slots(
+ self.schedule_controller.min_hyg_slot_length,
+ self.schedule_controller.ignore_emergency_spaces,
+ localsettings.activehyg_ixs
+ )
+
+ self.schedule_controller.set_joint_slots(
+ dent_slots, hyg_slots)
+
+ if self.finding_next_slot == -1:
+ self.schedule_controller.use_last_slot = True
+ #self.finding_next_slot = 1
+
+ if (self.finding_next_slot != 0 and
+ self.schedule_controller.search_again):
+ self.step_date(self.finding_next_slot != -1)
+ return
+
+ else:
+ minlength = self.schedule_controller.min_slot_length
+
+ available_slots = self.appointmentData.slots(
+ minlength,
+ self.schedule_controller.ignore_emergency_spaces
+ )
+ self.schedule_controller.set_available_slots(available_slots)
+
+ if self.finding_next_slot == -1:
+ self.schedule_controller.use_last_slot = True
+ #self.finding_next_slot = 1
+
+ if (self.finding_next_slot != 0 and
+ self.schedule_controller.search_again):
+ self.step_date(self.finding_next_slot != -1)
+ return
+
+
+ self.ui.daymemo_label.setText(self.appointmentData.memo)
+
+ workingDents = self.appointmentData.workingDents
+ number_of_books = len(workingDents)
+
+ abs_start = self.appointmentData.earliest_start
+ abs_end = self.appointmentData.latest_end
+
+ while number_of_books > len(self.apptBookWidgets):
+ self.add_appointmentwidget()
+
+ #-- clean past links to dentists
+ i = 0
+ for book in self.apptBookWidgets:
+ i += 1
+ book.dentist = None
+ book.setDayStartTime(abs_start)
+ book.setDayEndTime(abs_end)
+
+ if self.day_scroll_bar:
+ self.day_scroll_bar.setValue(0)
+
+ i = len(self.apptBookWidgets) - number_of_books
+ for dent in workingDents:
+ book = self.apptBookWidgets[i]
+
+ book.setDentist(dent)
+
+ book.setDayStartTime(abs_start)
+ book.setDayEndTime(abs_end)
+
+ bookstart = self.appointmentData.getStart(dent)
+ bookend = self.appointmentData.getEnd(dent)
+
+ book.setStartTime(bookstart)
+ book.setEndTime(bookend)
+ out = not self.appointmentData.inOffice.get(dent, False)
+ book.setOutOfOffice(out)
+
+ book.header_label.setText(localsettings.apptix_reverse[dent])
+
+ book.memo_lineEdit.setText(self.appointmentData.getMemo(dent))
+
+ apps = self.appointmentData.dentAppointments(dent)
+ for app in apps:
+ book.setAppointment(app)
+
+ ## if scheduling.. add slots to the widgets
+
+ if (self.appt_mode == self.SCHEDULING_MODE
+ and self.schedule_controller.is_searching):
+
+ for slot in self.schedule_controller.available_slots:
+ book.addSlot(slot)
+
+ ##NEW CODE
+ for slot in self.schedule_controller.hygienist_slots:
+ book.addSlot(slot)
+
+ if not book.set_active_slot(
+ self.schedule_controller.chosen_slot):
+ book.set_active_slot(
+ self.schedule_controller.chosen_hyg_slot)
+ ##NEW CODE ENDS
+ book.enable_slots(
+ book.apptix in
+ self.schedule_controller.selectedClinicians)
+
+ i += 1
+
+ self.triangles(False)
+
+ book_list = []
+ for book in self.apptBookWidgets:
+ if book.dentist == None:
+ #--book has no data
+ book.hide()
+ book_list.append(0)
+ else:
+ book_list.append(100)
+ book.show()
+ book.update()
+
+
+ # make sure the splitter is reset (user could have hidden a widget they
+ # now need)
+ self.ui.dayView_splitter.setSizes(book_list)
+
+ if i == 0:
+ t = self.ui.daymemo_label.text() + " - " + _("No books to show!")
+ self.ui.daymemo_label.setText(t)
+ #self.advise("all off today")
+ else:
+ if self.apptBookWidgets[-1].outofoffice:
+ esb = self.ui.emergency_dayview_scroll_bar
+
+ esb.setMinimum(self.day_scroll_bar.minimum())
+ esb.setMaximum(self.day_scroll_bar.maximum())
+ esb.setPageStep(self.day_scroll_bar.pageStep())
+ esb.setValue(self.day_scroll_bar.value())
+ esb.show()
+
+ def chosen_slot_changed(self):
+ '''
+ user has toggled the forwards and backwards buttons
+ '''
+ chosen_slot = self.schedule_controller.chosen_slot
+ hyg_slot = self.schedule_controller.chosen_hyg_slot
+ if self.viewing_week:
+ for ov in self.ui.apptoverviews:
+ ov.set_active_slots((chosen_slot, hyg_slot))
+ for ov in self.ui.apptoverviews:
+ ov.toggle_blink()
+ elif self.viewing_day:
+ for book in self.apptBookWidgets:
+ if not book.set_active_slot(chosen_slot):
+ book.set_active_slot(hyg_slot)
+
+ for book in self.apptBookWidgets:
+ book.canvas.toggle_blink()
+
+ if chosen_slot:
+ sync_date = QtCore.QDate(chosen_slot.date())
+
+ LOGGER.debug("chosen_slot sync date %s"% sync_date)
+ self.signals_calendar(False)
+ self.ui.weekCalendar.setSelectedDate(sync_date)
+ self.set_date(sync_date)
+ self.signals_calendar()
+
+
+ def layout_agenda(self):
+ '''
+ this populates the diary agenda
+ '''
+ if self.ui.diary_tabWidget.currentIndex() != 4:
+ return
+ self.ui.agenda_calendar_frame.setLayout(self.calendar_layout)
+ self.ui.agenda_control_frame.setLayout(self.appt_mode_layout)
+
+ d = self.selected_date().toPyDate()
+
+ agenda_data = appointments.AgendaData()
+
+ self.appointmentData.setDate(d)
+ self.appointmentData.getAppointments()
+
+ if self.appt_mode == self.SCHEDULING_MODE:
+ if d < localsettings.currentDay():
+ #self.advise(_("You can't schedule an appointment in the past"))
+ #stop looking backwards
+ self.finding_next_slot = 0
+ #self.set_date(localsettings.currentDay())
+ #return
+ minlength = self.schedule_controller.min_slot_length
+ available_slots = self.appointmentData.slots(minlength)
+ self.schedule_controller.set_available_slots(available_slots)
+
+ if available_slots == []:
+ self.step_date(self.finding_next_slot != -1)
+ return
+ else:
+ available_slots = []
+
+ for app in self.appointmentData.appointments:
+ agenda_data.add_appointment(d, app)
+
+ for slot in available_slots:
+ agenda_data.add_slot(slot)
+
+ if (self.appt_mode == self.SCHEDULING_MODE
+ and self.schedule_controller.appointment_model.currentAppt):
+
+ if self.finding_next_slot == -1:
+ self.schedule_controller.use_last_slot = True
+ self.finding_next_slot = 1
+
+ agenda_data.set_active_slot(self.schedule_controller.chosen_slot)
+
+ self.agenda_widget.setText(agenda_data.to_html())
+
+ def getUserCheckedClinicians(self):
+ '''
+ checks the gui to see which dentists, hygienists are checked.
+ returns a list
+ '''
+ retlist = []
+ for dent in self.monthClinicianSelector.getSelectedClinicians():
+ retlist.append(localsettings.apptix.get(dent))
+ return tuple(retlist)
+
+ def appointment_clicked(self, list_of_snos):
+ if len(list_of_snos) == 1:
+ sno = list_of_snos[0]
+ else:
+ candidates = search.getcandidates_from_serialnos(list_of_snos)
+ dl = FinalChoiceDialog(candidates, self)
+ dl.exec_()
+ sno = dl.chosen_sno
+
+ if sno != None:
+ serialno = int(sno)
+ self.patient_card_request.emit(serialno)
+
+ def edit_appointment_memo_clicked(self, list_of_snos, start, dentist):
+ if len(list_of_snos) != 1:
+ self.advise(
+ "multiple appointments selected, unable to edit memo", 2)
+ return
+ sno = list_of_snos[0]
+ adate = self.selected_date().toPyDate()
+ atime = int(start.replace(":",""))
+ note, result = appointments.get_appt_note(sno, adate, atime, dentist)
+ if not result:
+ self.advise("unable to locate appointment memo, sorry", 2)
+ else:
+ new_note, result = QtGui.QInputDialog.getText(self,
+ "New Memo", "Please enter Memo for this appointment", text=note)
+ if result and new_note != note:
+ appointments.set_appt_note(
+ sno, adate, atime, dentist, new_note)
+
+ self.layout_dayView()
+ if self.pt:
+ self.pt_diary_changed.emit(self.pt.serialno)
+
+ def appointment_cancel(self, list_of_snos, start, dentist):
+ if len(list_of_snos) != 1:
+ self.advise("multiple appointments selected, unable to cancel", 2)
+ return
+
+ sno = list_of_snos[0]
+ serialno = int(sno)
+ adate = self.selected_date().toPyDate()
+ dent_inits = localsettings.apptix_reverse.get(dentist)
+
+ message = _("Confirm Delete appointment at")
+ message += " %s %s "% (start, localsettings.readableDate(adate))
+ message += _("with") + " %s?"% dent_inits
+
+ if QtGui.QMessageBox.question(self, _("Confirm"), message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+
+ appt = appointments.APR_Appointment()
+ appt.atime = int(start.replace(":",""))
+ appt.dent = dentist
+ appt.date = adate
+ appt.serialno = serialno
+ appt.aprix = "UNKNOWN"
+
+ if appointments.delete_appt_from_aslot(appt):
+
+ appointments.made_appt_to_proposed(appt)
+
+ self.layout_dayView()
+ self.schedule_controller.get_data()
+
+ #--keep in the patient's diary?
+
+ if QtGui.QMessageBox.question(self, _("Question"),
+ _("Removed from appointment book - keep for rescheduling?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No ) == QtGui.QMessageBox.No:
+ #remove from the patients diary
+ if appointments.delete_appt_from_apr(appt):
+ self.advise(_("Sucessfully removed appointment"))
+ self.schedule_controller.get_data()
+ else:
+ self.advise(_("Error removing from patient diary"),2)
+
+ else:
+ #--aslot proc has returned False!
+ #let the user know, and go no further
+ self.advise(_("Error Removing from Appointment Book"), 2)
+ self.layout_dayView()
+
+ self.pt_diary_changed.emit(self.pt.serialno)
+
+ def clearEmergencySlot(self, arg):
+ '''
+ this function is the slot for a signal invoked when the user clicks
+ on a "blocked" slot.
+ only question is... do they want to free it?
+ it expects an arg like ('8:50', '11:00', 4)
+ '''
+ adate = self.selected_date().toPyDate()
+ message = _("Do you want to unblock the selected slot?")
+ message += "<br />%s - %s <br />"% (arg[0], arg[1])
+ message += "%s<br />"% localsettings.readableDate(adate)
+ message += "with %s?"% localsettings.ops.get(arg[2])
+
+ if QtGui.QMessageBox.question(self, "Confirm", message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ appt = appointments.APR_Appointment()
+ appt.atime = localsettings.humanTimetoWystime(arg[0])
+ appt.date = adate
+ appt.dent = arg[2]
+ appointments.delete_appt_from_aslot(appt)
+ self.layout_dayView()
+
+ def blockEmptySlot(self, tup):
+ '''
+ block the empty slot
+ '''
+ adate = self.selected_date().toPyDate()
+ start = tup[0].toPyTime()
+ end = tup[1].toPyTime()
+ adjstart = tup[2].toPyTime()
+ adjend = tup[3].toPyTime()
+ dent = tup[4]
+ reason = tup[5]
+ if not appointments.block_appt(adate, dent, start, end,
+ adjstart, adjend, reason):
+ self.advise(
+ _("unable to block - has the book been altered elsewhere?"), 1)
+ self.layout_dayView()
+
+ def fillEmptySlot(self, tup):
+ '''
+ fill the empty slot - this is called via the appointment widget.
+ '''
+ adate = self.selected_date().toPyDate()
+ start = tup[0].toPyTime()
+ end = tup[1].toPyTime()
+ adjstart = tup[2].toPyTime()
+ adjend = tup[3].toPyTime()
+ pt = tup[6]
+ dent = tup[4]
+ reason = tup[5]
+ if not appointments.fill_appt(adate, dent, start, end,
+ adjstart, adjend, reason, pt):
+ self.advise(
+ _("unable to make appointment - has the book been altered elsewhere?")
+ ,1)
+ self.layout_dayView()
+
+ self.pt_diary_changed.emit(pt.serialno)
+
+ def appt_dropped_onto_daywidget(self, appt, droptime, dent):
+ '''
+ appointment has been dropped onto a daybook widget
+ appt is of type openmolar.dbtools.appointments.Appointment
+ droptime is a pytime
+ dent = numeric representation of dentist who's book was involved
+ '''
+ date_time = datetime.datetime.combine(
+ self.selected_date().toPyDate(),
+ droptime)
+
+ LOGGER.debug("appt dropped %s %s %s"% (date_time, dent, appt.length))
+ slot = appointments.FreeSlot(date_time, dent, appt.length)
+ self.makeAppt(appt, slot)
+
+ def start_scheduling_current_patient(self):
+ self.start_scheduling(self.pt)
+
+ def start_scheduling(self, pt):
+ LOGGER.debug("DiaryWidget.start_scheduling")
+ self.set_appt_mode(self.SCHEDULING_MODE)
+ self.load_patient(pt, update=False)
+ self.begin_makeAppt()
+
+ def find_appt(self, appt):
+ LOGGER.debug("DiaryWidgetfind_appt %s"% appt)
+ pt = BriefPatient(appt.serialno)
+ self.load_patient(pt)
+ self.set_appt_mode(self.VIEW_MODE)
+ self.set_date(appt.date)
+ self.bring_to_front.emit()
+
+ def aptOVlabelRightClicked(self, d):
+ '''
+ user wants to change appointment overview properties for date d
+ '''
+ if permissions.granted(self):
+ dl = alterAday.alterDayDialog(self, d)
+
+ if dl.getInput():
+ self.layout_weekView()
+
+ def appointmentTools(self):
+ '''
+ called from the main menu
+ this just invokes a dialog which has a choice of options
+ '''
+ if permissions.granted(self):
+ self.appointmentToolsWindow = QtGui.QMainWindow(self)
+ self.ui2 = apptTools.apptTools(self.appointmentToolsWindow)
+ self.appointmentToolsWindow.show()
+
+ def diary_tabWidget_nav(self, i):
+ '''
+ catches a signal that the diary tab widget has been moved
+ '''
+ LOGGER.debug("diary_tabwidget_nav called")
+ self.layout_diary()
+
+ def schedule_controller_appointment_selected(self, appt):
+ '''
+ a new appointment has been selected for scheduling
+ '''
+ LOGGER.debug("DiaryWidget.schedule_controller_appointment_selected")
+
+ self.finding_next_slot = 0
+ self.schedule_controller.reset()
+ self.layout_diary()
+
+ def step_date(self, forwards=True):
+ date_ = self.selected_date()
+ LOGGER.debug("step date called current=%s, forwards=%s"% (
+ date_, forwards))
+
+ if forwards:
+ if self.viewing_week:
+ #goto 1st day of next week
+ date_ = date_.addDays(1)
+ while date_.dayOfWeek() != 1:
+ date_ = date_.addDays(1)
+ else:
+ date_ = date_.addDays(1)
+
+ self.finding_next_slot = 1
+
+ else:
+ if self.viewing_week:
+ #goto last day of next week
+ date_ = date_.addDays(-1)
+ while date_.dayOfWeek() != 7:
+ date_ = date_.addDays(-1)
+ else:
+ date_ = date_.addDays(-1)
+
+ self.finding_next_slot = -1
+
+ self.signals_calendar(False)
+ self.set_date(date_)
+ self.signals_calendar()
+ self.layout_diary()
+
+ def reset_and_view(self, patient):
+ '''
+ called when the diary is made visible by user navigating the mainUI
+ tabwidget
+ '''
+
+ self.set_appt_mode(self.VIEW_MODE, update_required=False)
+ self.ui.diary_tabWidget.setCurrentIndex(0)
+ self.load_patient(patient, update=False)
+ self.signals_calendar(False)
+ self.set_date(localsettings.currentDay())
+ self.signals_calendar()
+ self.layout_diary()
+
+ @property
+ def viewing_day(self):
+ '''
+ is the user viewing a day?
+ '''
+ return self.ui.diary_tabWidget.currentIndex() == 0
+
+ @property
+ def viewing_week(self):
+ '''
+ is the user viewing a week?
+ '''
+ return self.ui.diary_tabWidget.currentIndex() == 1
+
+ @property
+ def viewing_agenda(self):
+ '''
+ is the user viewing a week?
+ '''
+ return self.ui.diary_tabWidget.currentIndex() == 4
+
+
+ def init_signals(self):
+ self.ui.diary_tabWidget.currentChanged.connect(
+ self.diary_tabWidget_nav)
+
+ self.ui.goTodayPushButton.clicked.connect(self.gotoToday_clicked)
+
+ self.ui.goto_current_week_PushButton.clicked.connect(
+ self.gotoToday_clicked)
+
+ self.ui.printMonth_pushButton.clicked.connect(
+ self.printMonth_pushButton_clicked)
+
+ self.schedule_controller.patient_selected.connect(
+ self.load_patient)
+
+ self.signals_appointmentOVTab()
+
+ self.schedule_controller.show_first_appointment.connect(
+ self.begin_makeAppt)
+
+ self.schedule_controller.move_on.connect(self.step_date)
+
+ self.schedule_controller.chosen_slot_changed.connect(
+ self.chosen_slot_changed)
+
+ self.schedule_controller.appointment_selected.connect(
+ self.schedule_controller_appointment_selected)
+
+ self.schedule_controller.find_appt.connect(self.find_appt)
+ self.schedule_controller.start_scheduling.connect(
+ self.start_scheduling_current_patient)
+
+ self.view_controller.update_needed.connect(
+ self.layout_diary)
+
+ self.view_controller.apt_mode_changed.connect(self.set_appt_mode)
+
+ def signals_apptWidgets(self, book):
+
+ book.connect(book, QtCore.SIGNAL("print_me"),
+ self.appointment_book_print)
+
+ book.connect(book, QtCore.SIGNAL("new_memo"),
+ self.bookmemo_Edited)
+
+ book.connect(book, QtCore.SIGNAL("PatientClicked"),
+ self.highlight_serialno)
+
+ book.connect(book, QtCore.SIGNAL("AppointmentClicked"),
+ self.appointment_clicked)
+
+ book.connect(book, QtCore.SIGNAL("EditAppointmentMemo"),
+ self.edit_appointment_memo_clicked)
+
+ book.connect(book, QtCore.SIGNAL("AppointmentCancel"),
+ self.appointment_cancel)
+
+ book.connect(book, QtCore.SIGNAL("ClearEmergencySlot"),
+ self.clearEmergencySlot)
+
+ book.connect(book, QtCore.SIGNAL("BlockEmptySlot"),
+ self.blockEmptySlot)
+
+ book.connect(book, QtCore.SIGNAL("Appointment_into_EmptySlot"),
+ self.fillEmptySlot)
+
+ book.connect(book.canvas, QtCore.SIGNAL("ApptDropped"),
+ self.appt_dropped_onto_daywidget)
+
+ book.slotClicked.connect(self.apptBook_slot_clicked)
+ book.print_mh_signal.connect(self.print_mh_signal.emit)
+
+ def signals_calendar(self, connect=True):
+ if connect:
+ self.ui.dayCalendar.selectionChanged.connect(self.calendar_signal)
+ else:
+ self.ui.dayCalendar.selectionChanged.disconnect(
+ self.calendar_signal)
+
+ def signals_appointmentOVTab(self):
+
+ self.signals_calendar()
+
+ QtCore.QObject.connect(self.ui.weekCalendar,
+ QtCore.SIGNAL("weekChanged"), self.ui.dayCalendar.setSelectedDate)
+
+ for cal in (self.ui.yearView, self.ui.monthView):
+ QtCore.QObject.connect(cal, QtCore.SIGNAL("selectedDate"),
+ self.ui.dayCalendar.setSelectedDate)
+ QtCore.QObject.connect(cal, QtCore.SIGNAL("add_memo"),
+ self.updateDayMemos)
+
+ QtCore.QObject.connect(self.ui.yearView,
+ QtCore.SIGNAL("add_pub_hol"), self.addpubHol)
+
+ self.ui.aptOVprevmonth.clicked.connect(self.aptOV_monthBack)
+ self.ui.aptOVnextmonth.clicked.connect(self.aptOV_monthForward)
+ self.ui.aptOVprevyear.clicked.connect(self.aptOV_yearBack)
+ self.ui.aptOVnextyear.clicked.connect(self.aptOV_yearForward)
+ self.ui.monthView_clinicians_pushButton.clicked.connect(
+ self.manage_month_and_year_View_clinicians)
+ self.ui.yearView_clinicians_pushButton.clicked.connect(
+ self.manage_month_and_year_View_clinicians)
+ self.ui.monthClinicians_checkBox.clicked.connect(
+ self.month_and_year_All_clinicians)
+ self.ui.yearClinicians_checkBox.clicked.connect(
+ self.month_and_year_All_clinicians)
+
+ for widg in self.ui.apptoverviews:
+ widg.connect(widg, QtCore.SIGNAL("SlotClicked"),
+ self.aptOVwidget_userHasChosen_slot)
+
+ widg.connect(widg, QtCore.SIGNAL("ApptDropped"),
+ self.makeAppt)
+
+ widg.connect(widg, QtCore.SIGNAL("DentistHeading"),
+ self.apptOVheaderclick)
+
+ for control in self.ui.apptoverviewControls:
+ self.connect(control,
+ QtCore.SIGNAL("clicked"), self.aptOVlabelClicked)
+
+ self.connect(control,
+ QtCore.SIGNAL("right-clicked"), self.aptOVlabelRightClicked)
+
+class _testDiary(QtGui.QMainWindow):
+ def __init__(self, parent=None):
+ QtGui.QMainWindow.__init__(self, parent)
+
+ dw = DiaryWidget()
+
+ dw.patient_card_request.connect(self.sig_catcher)
+
+ from openmolar.dbtools import patient_class
+ pt = patient_class.patient(20862)
+ dw.schedule_controller.set_patient(pt)
+
+ self.setCentralWidget(dw)
+
+ def sig_catcher(self, *args):
+ print "signal caught", args
+
+if __name__ == "__main__":
+ import gettext
+ import sys
+
+ sys.argv.append("-v")
+ gettext.install("openmolar")
+
+ localsettings.initiate()
+
+ app = QtGui.QApplication([])
+ mw = _testDiary()
+ mw.show()
+
+ app.exec_()
+
+
+
diff --git a/src/openmolar/qt4gui/fees/__init__.py b/src/openmolar/qt4gui/fees/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/fees/cashbook_module.py b/src/openmolar/qt4gui/fees/cashbook_module.py
new file mode 100644
index 0000000..6abfdff
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/cashbook_module.py
@@ -0,0 +1,64 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+cashbook is an html table implementation currently.
+'''
+import re
+from PyQt4 import QtGui
+
+from openmolar.dbtools import cashbook
+from openmolar.qt4gui.printing import bookprint
+
+from openmolar.qt4gui.dialogs import permissions
+from openmolar.qt4gui.dialogs.alter_cashbook_dialog import AlterCashbookDialog
+
+class CashBookBrowser(QtGui.QTextBrowser):
+ def __init__(self, parent=None):
+ self.om_gui = parent
+ QtGui.QTextBrowser.__init__(self, parent)
+
+ def setSource(self, url):
+ '''
+ A function to re-implement QTextBrowser.setUrl
+ this will catch "edit links"
+ '''
+ id = re.search("(\d+)",str(url.toString().toAscii())).groups()[0]
+
+ dl = AlterCashbookDialog(int(id), self)
+ if dl.exec_():
+ show_cashbook(self.om_gui)
+
+ def allow_full_edit(self, value):
+ if value:
+ cashbook.full_edit = permissions.granted(self.om_gui)
+ else:
+ cashbook.full_edit = False
+ self.om_gui.ui.actionAllow_Full_Edit.setChecked(cashbook.full_edit)
+ show_cashbook(self.om_gui)
+
+
+def show_cashbook(om_gui, print_ = False):
+ dent1 = om_gui.ui.cashbookDentComboBox.currentText()
+ sdate = om_gui.ui.cashbookStartDateEdit.date()
+ edate = om_gui.ui.cashbookEndDateEdit.date()
+
+ sundries_only = om_gui.ui.sundries_only_radioButton.isChecked()
+ treatment_only = om_gui.ui.treatment_only_radioButton.isChecked()
+
+ if sdate > edate:
+ om_gui.advise(_("bad date sequence"), 1)
+ return False
+
+ html = cashbook.details(dent1, sdate, edate, treatment_only, sundries_only)
+ om_gui.ui.cashbookTextBrowser.setHtml(
+ '<html><body>'+html+"</body></html>")
+
+ if print_:
+ myclass = bookprint.printBook('<html><body>'+html+"</body></html>")
+ myclass.printpage()
diff --git a/src/openmolar/qt4gui/fees/course_module.py b/src/openmolar/qt4gui/fees/course_module.py
new file mode 100644
index 0000000..704637e
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/course_module.py
@@ -0,0 +1,224 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+functions to open a course, close a course, or check if one is needed.
+'''
+import logging
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import writeNewCourse
+from openmolar.qt4gui.dialogs import newCourse
+from openmolar.qt4gui.printing import om_printing
+from openmolar.qt4gui.compiled_uis import Ui_completionDate
+from openmolar.qt4gui import contract_gui_module
+from openmolar.ptModules import plan
+from openmolar.qt4gui.printing.gp17.gp17_printer import GP17Printer
+
+LOGGER = logging.getLogger("openmolar")
+
+def newCourseNeeded(om_gui):
+ '''
+ checks to see if the patient is under treatment.
+ if not, start a course
+ '''
+ if om_gui.pt.underTreatment:
+ return False
+ if om_gui.pt.treatment_course.cmpd != om_gui.pt.dbstate.treatment_course.cmpd:
+ om_gui.advise(
+ _("Please save the old course changes before continuing"), 1)
+ return True
+
+ ## before starting a new course.. check to see if one has been started
+ ## by another client.
+
+ if om_gui.pt.newer_course_found:
+ om_gui.ui.actionFix_Locked_New_Course_of_Treatment.setEnabled(True)
+ om_gui.advise(u"<p>%s<br />%s</p><hr /><em>%s</em>"%(
+ _("It looks as if another user is starting a course of treatment"),
+ _("Please allow this other user to commit their changes"
+ " then reload this record before continuing."),
+ _("If you are seeing this message and are sure no other user is"
+ " using this record, use menu->tools->"
+ "Fix Locked New Course of Treatment"))
+ , 1)
+
+ elif setupNewCourse(om_gui):
+ LOGGER.info("new course started with accd of '%s'"%
+ om_gui.pt.treatment_course.accd)
+ return False
+ else:
+ om_gui.advise(u"<p>%s</p>"% _(
+ "unable to plan or perform treatment if"
+ " the patient does not have an active course"), 1)
+
+ return True
+
+def setupNewCourse(om_gui):
+ '''
+ set up a new course of treatment
+ '''
+
+ if localsettings.clinicianNo != 0 and \
+ localsettings.clinicianInits in localsettings.activedents:
+ #-- clinician could be a hygenist!
+ cdnt = localsettings.clinicianNo
+ elif om_gui.pt.dnt2 == 0:
+ cdnt = om_gui.pt.dnt1
+ else:
+ cdnt = om_gui.pt.dnt2
+
+ dialog = QtGui.QDialog(om_gui)
+
+ dl = newCourse.NewCourseDialog(dialog,
+ localsettings.ops.get(om_gui.pt.dnt1),
+ localsettings.ops.get(cdnt),
+ om_gui.pt.cset)
+
+ result, atts = dl.getInput()
+
+ #-- (True, ['BW', 'AH', '', PyQt4.QtCore.QDate(2009, 5, 3)])
+
+ if result:
+ dnt1 = localsettings.ops_reverse.get(atts[0])
+ if dnt1 != om_gui.pt.dnt1:
+ contract_gui_module.changeContractedDentist(om_gui, atts[0])
+ dnt2 = localsettings.ops_reverse.get(atts[1])
+ if dnt2 != om_gui.pt.dnt2:
+ contract_gui_module.changeCourseDentist(om_gui, atts[1])
+ if atts[2] != om_gui.pt.cset:
+ contract_gui_module.changeCourseType(om_gui, atts[2])
+
+ accd = atts[3].toPyDate()
+
+ new_courseno = writeNewCourse.write(om_gui.pt.serialno, accd)
+ return apply_new_courseno(om_gui, new_courseno, accd)
+
+def apply_new_courseno(om_gui, new_courseno, accd=None):
+ new_course = om_gui.pt.new_tx_course(new_courseno)
+ #om_gui.pt.dbstate.treatment_course = new_course
+ om_gui.pt.treatment_course.setAccd(accd)
+ # force a recheck for the new course date
+ om_gui.pt.forget_fee_table()
+ om_gui.pt.estimates = []
+ om_gui.load_newEstPage()
+ om_gui.ui.planChartWidget.clear(keepSelection=True)
+ om_gui.ui.completedChartWidget.clear(keepSelection=True)
+ om_gui.updateDetails()
+ om_gui.load_clinicalSummaryPage()
+ om_gui.load_receptionSummaryPage()
+ om_gui.pt.addHiddenNote("open_course")
+ om_gui.updateHiddenNotesLabel()
+ om_gui.advise(_("Sucessfully started new course of treatment"))
+ return True
+
+def prompt_close_course(om_gui):
+ '''
+ pt is marked as under treatment.....
+ let's see if there is anything outstanding
+ '''
+ if "surgery" in localsettings.station and om_gui.pt.underTreatment:
+ if not om_gui.pt.treatmentOutstanding():
+ closeCourse(om_gui, True)
+
+def delete_new_course(om_gui):
+ '''
+ user is discarding all changes to a record.
+ potentially, this will leave debris in the currtrtmt2 table
+ '''
+ if om_gui.pt.has_new_course:
+ LOGGER.info("deleting unused course of treatment")
+ writeNewCourse.delete(
+ om_gui.pt.serialno, om_gui.pt.treatment_course.courseno)
+
+def closeCourse(om_gui, leaving=False):
+ '''
+ allow the user to add a completion Date to a course of treatment
+ '''
+ Dialog = QtGui.QDialog(om_gui)
+ my_dialog = Ui_completionDate.Ui_Dialog()
+ my_dialog.setupUi(Dialog)
+ my_dialog.pt_label.setText("%s %s - (%s)"% (om_gui.pt.fname,
+ om_gui.pt.sname, om_gui.pt.serialno))
+
+ if not leaving:
+ my_dialog.autoComplete_label.hide()
+ my_dialog.dateEdit.setMinimumDate(om_gui.pt.treatment_course.accd)
+ my_dialog.dateEdit.setMaximumDate(QtCore.QDate().currentDate())
+ my_dialog.dateEdit.setDate(QtCore.QDate().currentDate())
+ ##focus the "yes" button
+ my_dialog.buttonBox.buttons()[0].setFocus()
+
+ if (Dialog.exec_() and
+ QtGui.QMessageBox.question(om_gui, _("Confirm"),
+ _("are you sure you wish to close this course of treatment?"),
+ QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Ok):
+
+ cmpd = my_dialog.dateEdit.date().toPyDate()
+ om_gui.pt.treatment_course.setCmpd(cmpd)
+ om_gui.pt.addHiddenNote("close_course")
+ om_gui.updateDetails()
+ om_gui.updateHiddenNotesLabel()
+ offerFinalPaperWork(om_gui)
+ plan.completedFillsToStatic(om_gui.pt)
+ return True
+
+ return False
+
+
+def offerFinalPaperWork(om_gui):
+ '''
+ a course has been closed ( in surgery )
+ time to print a claim form?
+ '''
+ if "N" in om_gui.pt.cset:
+ form_printer = GP17Printer(om_gui)
+ form_printer.print_(final_paperwork=True)
+
+def resumeCourse(om_gui):
+ '''
+ resume the previous treatment course
+ '''
+ message = _("Resume the previous course of treatment?")
+ result = QtGui.QMessageBox.question(om_gui, "Confirm", message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+
+ if result == QtGui.QMessageBox.Yes:
+ om_gui.pt.treatment_course.cmpd = None
+ om_gui.updateDetails()
+ om_gui.pt.addHiddenNote("resume_course")
+ om_gui.updateHiddenNotesLabel()
+
+ return True
+
+def fix_zombied_course(om_gui):
+ '''
+ a situation COULD arise where a new course was started and the client
+ crashed (without cleaning up the temporary row in the currtrtmt2 table)
+ this functionality retrieves this.
+ '''
+ if not om_gui.pt and om_gui.pt.newer_course_found:
+ om_gui.advise(_("no zombied course found"),1)
+ return
+
+ message = _("a situation COULD arise where a new course was started"
+ " but the client lost connectivity crashed"
+ " (without cleaning up the temporary row in the currtrtmt2 table)")
+ question = _("Do you wish to recover this row now?")
+ if QtGui.QMessageBox.question(om_gui, _("question"),
+ u"%s<hr /><b>%s</b>" %(message, question),
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No,
+ QtGui.QMessageBox.No) == QtGui.QMessageBox.Yes:
+
+ cno = om_gui.pt.max_tx_courseno
+ apply_new_courseno(om_gui, cno)
+
diff --git a/src/openmolar/qt4gui/fees/daybook_module.py b/src/openmolar/qt4gui/fees/daybook_module.py
new file mode 100644
index 0000000..df544c0
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/daybook_module.py
@@ -0,0 +1,125 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+update perio dates, xray dates, and write items to the daybook
+'''
+
+import logging
+import re
+
+from openmolar.settings import localsettings
+from openmolar.dbtools.treatment_course import CURRTRT_ATTS
+from openmolar.dbtools import daybook
+
+from openmolar.qt4gui.fees import fees_module
+from openmolar.qt4gui.printing import bookprint
+
+LOGGER = logging.getLogger("openmolar")
+
+def perioDates(om_gui, arg):
+ '''
+ update the patient's "last scale/polish" date
+ '''
+ if "SP" in arg:
+ om_gui.pt.pd10 = localsettings.currentDay()
+
+def xrayDates(om_gui, arg):
+ '''
+ update the patient's "last xray" dates
+ '''
+ if "M" in arg or "S" in arg:
+ om_gui.pt.pd9 = localsettings.currentDay()
+ if "P" in arg:
+ om_gui.pt.pd8 = localsettings.currentDay()
+
+def updateDaybook(om_gui):
+ '''
+ looks for newly completed treatments when a record is closed
+ '''
+ daybookdict = {
+ "diagn" : "",
+ "perio" : "",
+ "anaes" : "",
+ "misc" : "",
+ "ndu" : "",
+ "ndl" : "",
+ "odu" : "",
+ "odl" : "",
+ "other" : "",
+ "chart" : ""
+ }
+ feesa = 0 #fee
+ feesb = 0 #ptfee
+ hashes = []
+
+ courseno = om_gui.pt.treatment_course.courseno
+ not_new_course = (courseno == om_gui.pt.dbstate.treatment_course.courseno)
+
+ for tx_hash in om_gui.pt.completed_tx_hash_tups:
+
+ if not_new_course and tx_hash in om_gui.pt.dbstate.completed_tx_hash_tups:
+ continue #already written to daybook.
+ LOGGER.debug("write to daybook %s %s %s"% tx_hash)
+
+ hash_, att, treatment = tx_hash
+
+ if att == "examt":
+ key = "exam"
+ else:
+ key = re.sub("cmp$", "", att)
+
+ if key in daybookdict.keys():
+ daybookdict[key] += "%s"% treatment
+ elif key in ("xray", "exam"):
+ daybookdict["diagn"] += "%s"% treatment
+ elif key == "custom":
+ daybookdict["other"] += "CUSTOM:%s"% treatment
+ else:
+ #--tooth include the key ie ul7 etc...
+ daybookdict["chart"] += "%s %s "% (key.upper(), treatment)
+
+ hashes.append(hash_)
+
+ fees = fees_module.getFeesFromEst(om_gui, hash_)
+
+ if fees:
+ feesa += fees[0]
+ feesb += fees[1]
+ else:
+ LOGGER.warning(
+ "daybook module - no fees for '%s' '%s' '%s'"% tx_hash)
+
+ if hashes != []:
+ if om_gui.pt.dnt2 != 0 and om_gui.pt.cset != "I":
+ dent = om_gui.pt.dnt2
+ else:
+ dent = om_gui.pt.dnt1
+ trtid = localsettings.clinicianNo
+
+ daybook.add(om_gui.pt.serialno, om_gui.pt.cset, dent, trtid,
+ daybookdict, feesa, feesb, hashes)
+
+ LOGGER.debug("daybook_module - updating pd4")
+ om_gui.pt.pd4 = localsettings.currentDay()
+
+def daybookView(om_gui, print_ = False):
+ dent1 = str(om_gui.ui.daybookDent1ComboBox.currentText())
+ dent2 = str(om_gui.ui.daybookDent2ComboBox.currentText())
+ sdate = om_gui.ui.daybookStartDateEdit.date()
+ edate = om_gui.ui.daybookEndDateEdit.date()
+ if sdate > edate:
+ om_gui.advise(_("bad date sequence"),1)
+ return False
+ html = daybook.details(dent1, dent2, sdate, edate)
+ om_gui.ui.daybookTextBrowser.setHtml(html)
+ if print_:
+ myclass = bookprint.printBook(html)
+ myclass.printpage()
+
+
diff --git a/src/openmolar/qt4gui/fees/fee_table_model.py b/src/openmolar/qt4gui/fees/fee_table_model.py
new file mode 100644
index 0000000..ce279e0
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/fee_table_model.py
@@ -0,0 +1,290 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+this module provides a model class so that feescales can be displayed
+(and in the long term adjusted?)
+'''
+
+from __future__ import division
+
+import logging
+
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+
+HIDE_RARE_CODES = 0 # fee items have an "obscurity" level of 0-2
+
+#new for version 0.5 - categories come from the feescale XML
+
+#CATEGORIES = ("", "Examinations", "Diagnosis", "Perio", "Chart",
+#"Prosthetics", "Ortho", "Misc", "Emergency", "Other", "Custom", "Occasional")
+
+LOGGER = logging.getLogger("openmolar")
+
+class TreeItem(object):
+ def __init__(self, table, key, data, parent=None, index=0):
+ self.table = table
+ self.parentItem = parent
+ self.key = key
+ self.itemData = data
+ self.myindex = index
+ self.childItems = []
+
+ def appendChild(self, item):
+ self.childItems.append(item)
+
+ def child(self, row):
+ return self.childItems[row]
+
+ def childCount(self):
+ return len(self.childItems)
+
+ def columnCount(self):
+ return 4 + self.table.feeColCount
+
+ @property
+ def has_parent(self):
+ return self.parentItem is None
+
+ def data(self, column):
+ if column == 0:
+ if self.key != self.parentItem.key:
+ return QtCore.QVariant(self.key)
+ if self.itemData is None:
+ pass
+ elif column == 1:
+ uc = self.itemData.fee_shortcut_for_display(0)
+ try:
+ if uc == self.parentItem.itemData.usercode:
+ uc = ""
+ if self.itemData.has_fee_shortcuts:
+ uc = self.itemData.fee_shortcut_for_display(self.row()+1)
+ except AttributeError:
+ pass
+ return uc
+ elif column == 2:
+ desc = self.itemData.description
+ try:
+ if desc == self.parentItem.itemData.description:
+ return ""
+ except AttributeError:
+ return desc
+ elif column == 3:
+ return self.itemData.brief_descriptions[self.myindex]
+ elif column == 4:
+ return localsettings.formatMoney(self.itemData.fees[self.myindex])
+ elif column == 5:
+ #if self.table.hasPtCols:
+ try:
+ return localsettings.formatMoney(
+ self.itemData.ptFees[self.myindex])
+ except IndexError:
+ return "error in feescale"
+
+ return QtCore.QVariant()
+
+ def parent(self):
+ return self.parentItem
+
+ def row(self):
+ if self.parentItem:
+ return self.parentItem.childItems.index(self)
+ return 0
+
+class treeModel(QtCore.QAbstractItemModel):
+ '''
+ a model to display a feetables data
+ '''
+ def __init__(self, table):
+ super(QtCore.QAbstractItemModel, self).__init__()
+ self.table = table
+ self.feeColNo = 1
+ if self.table.hasPtCols:
+ self.feeColNo = 2
+
+ self.rootItem = TreeItem(self.table, None, None)
+
+ self.setupModelData()
+ self.foundItems = []
+ self.search_phrase = ""
+
+ def columnCount(self, parent):
+ if parent.isValid():
+ return parent.internalPointer().columnCount()
+ else:
+ return self.rootItem.columnCount()
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+
+ item = index.internalPointer()
+ if role == QtCore.Qt.DisplayRole:
+ return item.data(index.column())
+ if role == QtCore.Qt.BackgroundRole and index in self.foundItems:
+ brush = QtGui.QBrush(QtGui.QColor("yellow"))
+ return QtCore.QVariant(brush)
+ if role == QtCore.Qt.TextAlignmentRole:
+ if index.column() > 3:
+ return QtCore.QVariant(QtCore.Qt.AlignRight)
+ if role == QtCore.Qt.UserRole:
+ ## a user role which simply returns the python object
+ ## in this case a FeeItem
+ return (item.itemData, item.myindex)
+
+ return QtCore.QVariant()
+
+ def flags(self, index):
+ if not index.isValid():
+ return QtCore.Qt.NoItemFlags
+
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
+
+ def headerData(self, column, orientation, role):
+ if (orientation == QtCore.Qt.Horizontal and
+ role == QtCore.Qt.DisplayRole):
+
+ if column==1:
+ return _("Usercode")
+ elif column==2:
+ return _("Description")
+ elif column==3:
+ return _("brief description")
+ elif column==4:
+ return _("Gross Fee")
+ elif column==5:
+ return _("Charge to Patient")
+
+ return QtCore.QVariant()
+
+ def index(self, row, column, parent):
+ if not self.hasIndex(row, column, parent):
+ return QtCore.QModelIndex()
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ childItem = parentItem.child(row)
+ if childItem:
+ return self.createIndex(row, column, childItem)
+ else:
+ return QtCore.QModelIndex()
+
+ def parent(self, index):
+ if not index.isValid():
+ return QtCore.QModelIndex()
+
+ childItem = index.internalPointer()
+ if not childItem:
+ return QtCore.QModelIndex()
+
+ parentItem = childItem.parent()
+
+ if parentItem == self.rootItem:
+ return QtCore.QModelIndex()
+
+ return self.createIndex(parentItem.row(), 0, parentItem)
+
+ def rowCount(self, parent):
+ if parent.column() > 0:
+ return 0
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ return parentItem.childCount()
+
+ def setupModelData(self):
+ parents = {0:self.rootItem}
+
+ current_cat = 0
+ for key in sorted(self.table.feesDict.keys()):
+ feeItem = self.table.feesDict[key]
+ if feeItem.obscurity > HIDE_RARE_CODES:
+ continue
+ section = feeItem.section
+ if not parents.has_key(section) :
+ try:
+ header = self.table.headers[section]
+ except KeyError:
+ header = "Unknown Section - '%s'"% section
+ head = TreeItem(self.table, header, None, self.rootItem)
+ parents[section] = head
+ self.rootItem.appendChild(head)
+
+ number_in_group = len(feeItem.brief_descriptions)
+ branch = TreeItem(self.table, key,feeItem, parents[section])
+ parents[section].appendChild(branch)
+
+ for row in range(1, number_in_group):
+ branch.appendChild(
+ TreeItem(self.table, key, feeItem, branch, row))
+
+ def searchNode(self, node, columns=()):
+ '''
+ a function called recursively, looking at all nodes beneath node
+ '''
+ matchflags = QtCore.Qt.MatchFlags(QtCore.Qt.MatchContains)
+ child = node.childItems[0]
+ #columns = range(child.columnCount()) ## <-- would search entire model
+ for column in columns:
+ start_index = self.createIndex(0, column, child)
+
+ indexes = self.match(start_index, QtCore.Qt.DisplayRole,
+ QtCore.QVariant(self.search_phrase), -1, matchflags)
+
+ for index in indexes:
+ self.foundItems.append(index)
+
+ for child in node.childItems:
+ if child.childCount():
+ self.searchNode(child, columns)
+
+
+ def search(self, search_phrase, columns=()):
+ self.foundItems = []
+ self.search_phrase = search_phrase
+ if search_phrase == "":
+ return True
+ self.searchNode(self.rootItem, columns)
+
+ return self.foundItems != []
+
+if __name__ == "__main__":
+ def resize(arg):
+ for col in range(model.columnCount(arg)):
+ tv.resizeColumnToContents(col)
+
+ LOGGER.setLevel(logging.DEBUG)
+
+ app = QtGui.QApplication([])
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ model = treeModel(localsettings.FEETABLES.tables[0])
+
+ dialog = QtGui.QDialog()
+
+ dialog.setMinimumSize(800,300)
+ layout = QtGui.QHBoxLayout(dialog)
+
+ tv = QtGui.QTreeView(dialog)
+ tv.setModel(model)
+ tv.setAlternatingRowColors(True)
+ tv.resizeColumnToContents(0)
+ layout.addWidget(tv)
+
+ tv.expanded.connect(resize)
+
+ dialog.exec_()
+
+ app.closeAllWindows()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/fees/fees_module.py b/src/openmolar/qt4gui/fees/fees_module.py
new file mode 100644
index 0000000..8353ac7
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/fees_module.py
@@ -0,0 +1,450 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+this module contains functions which were originally part of the maingui.py
+script, concerning fees, accounts and graphical feescale display.
+'''
+
+from __future__ import division
+
+import logging
+import os
+import subprocess
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+
+from openmolar.dbtools import accounts
+from openmolar.dbtools import patient_class
+from openmolar.dbtools import cashbook
+from openmolar.dbtools import patient_write_changes
+
+from openmolar.qt4gui.fees import fee_table_model
+from openmolar.qt4gui.fees.feescale_tester import FeescaleTestingDialog
+from openmolar.qt4gui.feescale_editor import FeescaleEditor
+
+from openmolar.qt4gui.printing import om_printing
+from openmolar.qt4gui.dialogs import permissions
+from openmolar.qt4gui.dialogs.payment_dialog import PaymentDialog
+from openmolar.qt4gui.compiled_uis import Ui_chooseDocument
+
+LOGGER = logging.getLogger("openmolar")
+
+def getFeesFromEst(om_gui, hash_):
+ '''
+ iterate through the ests... find this item
+ '''
+ LOGGER.debug("getting a daybook fee for treatment id %s"% hash_)
+ for est in om_gui.pt.estimates:
+ for tx_hash in est.tx_hashes:
+ if hash_ == tx_hash.hash:
+ return (est.interim_fee, est.interim_pt_fee)
+ LOGGER.debug("NO MATCH!")
+ return None
+
+def takePayment(om_gui):
+ '''
+ raise a dialog, and take some money
+ '''
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("No patient Selected <br />Monies will be "+ \
+ "allocated to Other Payments, and no receipt offered")
+ dl = PaymentDialog(om_gui)
+ dl.set_treatment_default_amount(om_gui.pt.fees)
+ dl.hide_treatment(om_gui.pt.serialno == 0)
+ if dl.exec_():
+ if om_gui.pt.serialno == 0:
+ paymentPt = patient_class.patient(22963)
+ else:
+ paymentPt = om_gui.pt
+
+ name = "%s %s"% (paymentPt.sname, paymentPt.fname[:1])
+ if paymentPt.dnt2 != 0:
+ dent = paymentPt.dnt2
+ else:
+ dent = paymentPt.dnt1
+
+ LOGGER.debug("TAKING PAYMENT for patient %s"% paymentPt.serialno)
+
+ if cashbook.paymenttaken(paymentPt.serialno, name, dent,paymentPt.cset,
+ dl.tx_cash, dl.tx_cheque, dl.tx_card,
+ dl.sundry_cash, dl.sundry_cheque, dl.sundry_card,
+ dl.hdp, dl.other, dl.refund):
+
+ paymentPt.addHiddenNote("payment",
+ " treatment %s sundries %s"% (
+ dl.tx_total_text, dl.sundry_total_text))
+
+ om_gui.updateHiddenNotesLabel()
+
+ if om_gui.pt.serialno != 0:
+ LOGGER.debug("loaded patient == payment patient")
+ om_printing.printReceipt(om_gui,{
+ "Treatments and Services" : dl.tx_total_text,
+ "Sundry Items" : dl.sundry_total_text,
+ "Unspecified Items" : dl.other_text,
+ "REFUND" : dl.refund_text},
+ total=dl.grand_total_text)
+
+ #-- always refer to money in terms of pence
+ print "adjusting money"
+ if om_gui.pt.cset[:1] == "N":
+ om_gui.pt.money2 += dl.tx_total
+ else:
+ om_gui.pt.money3 += dl.tx_total
+ om_gui.pt.money11 -= dl.refund
+
+ else:
+ LOGGER.debug(
+ "Payment patient is not loaded. skipping receipt offer.")
+
+ patient_write_changes.toNotes(paymentPt.serialno,
+ paymentPt.HIDDENNOTES)
+
+ LOGGER.debug("writing payment notes")
+ if patient_write_changes.discreet_changes(paymentPt,
+ ("money2", "money3", "money11")) and om_gui.pt.serialno != 0:
+ LOGGER.debug("updating patient's stored money values")
+ om_gui.pt.dbstate.money2 = om_gui.pt.money2
+ om_gui.pt.dbstate.money3 = om_gui.pt.money3
+ om_gui.pt.dbstate.money11 = om_gui.pt.money11
+
+ paymentPt.clearHiddenNotes()
+ om_gui.updateDetails()
+ om_gui.updateHiddenNotesLabel()
+ LOGGER.info("PAYMENT ALL DONE!")
+ else:
+ LOGGER.warning("payment failed to write to database!")
+ message = "%s<br />%s"% (
+ _("error applying payment.... sorry!"),
+ _("This shouldn't happen - please report as an urgent bug")
+ )
+ om_gui.advise(message, 2)
+
+def loadFeesTable(om_gui):
+ '''
+ loads the fee table
+ '''
+ try:
+ tableKeys = localsettings.FEETABLES.tables.keys()
+ except AttributeError:
+ localsettings.loadFeeTables()
+ tableKeys = localsettings.FEETABLES.tables.keys()
+
+ om_gui.feestableLoaded = True
+ i = om_gui.ui.chooseFeescale_comboBox.currentIndex()
+
+ tableKeys = localsettings.FEETABLES.tables.keys()
+ tableKeys.sort()
+ om_gui.fee_models = []
+ om_gui.ui.chooseFeescale_comboBox.clear()
+
+ for key in tableKeys:
+ table = localsettings.FEETABLES.tables[key]
+ model = fee_table_model.treeModel(table)
+ om_gui.fee_models.append(model)
+ om_gui.ui.chooseFeescale_comboBox.addItem(table.briefName)
+
+ text = u"%d %s"%(len(om_gui.fee_models), _("Fee Scales Available"))
+ om_gui.ui.feescales_available_label.setText(text)
+
+ if i != -1:
+ om_gui.ui.chooseFeescale_comboBox.setCurrentIndex(i)
+
+
+def feetester(om_gui):
+ '''
+ raise an app which allows a few tests of the feetable logic
+ '''
+ if not om_gui.fee_table_tester:
+ dl = FeescaleTestingDialog()
+ dl.lineEdit.setText("MOD")
+ QtCore.QObject.connect(om_gui.ui.chooseFeescale_comboBox,
+ QtCore.SIGNAL("currentIndexChanged (int)"), dl.change_table)
+
+ i = om_gui.ui.chooseFeescale_comboBox.currentIndex()
+ dl.comboBox.setCurrentIndex(i)
+
+ om_gui.fee_table_tester = dl
+
+ om_gui.fee_table_tester.exec_()
+
+
+def showTableXML(om_gui):
+ '''
+ user wants to view the full table logic!
+ '''
+ def editor_closed():
+ om_gui.fee_table_editor.setParent(None)
+ om_gui.fee_table_editor = None
+ if om_gui.fee_table_editor is not None:
+ om_gui.fee_table_editor.show()
+ om_gui.fee_table_editor.raise_()
+ else:
+ om_gui.fee_table_editor = FeescaleEditor(om_gui)
+ om_gui.fee_table_editor.show()
+ om_gui.fee_table_editor.closed_signal.connect(editor_closed)
+
+def table_clicked(om_gui, index):
+ '''
+ user has clicked an item on the feetable.
+ show the user some options (depending on whether they have a patient
+ loaded for edit, or are in feetable adjust mode etc....
+ '''
+ fee_item, sub_index = om_gui.ui.feeScales_treeView.model().data(index,
+ QtCore.Qt.UserRole)
+
+ if not fee_item:
+ # this will be the case if a header item was clicked
+ return
+
+ def apply(arg):
+ '''
+ apply the result of the QMenu generated when feetable is clicked
+ '''
+ if arg.text().startsWith(_("Add to tx plan")):
+ om_gui.feeScaleTreatAdd(fee_item, sub_index)
+ else:
+ om_gui.advise(arg.text() + " not yet available", 1)
+
+ menu = QtGui.QMenu(om_gui)
+ ptno = om_gui.pt.serialno
+ if ptno != 0:
+ menu.addAction(_("Add to tx plan of patient")+" %d"% ptno)
+ #menu.addSeparator()
+
+ if not menu.isEmpty():
+ menu.setDefaultAction(menu.actions()[0])
+ choice = menu.exec_(om_gui.cursor().pos())
+ if choice:
+ apply(choice)
+
+def feeSearch(om_gui):
+ '''
+ user has finished editing the
+ feesearchLineEdit - time to refill the searchList
+ '''
+ def ensureVisible(index):
+ ''' expand all parents of a found leaf'''
+ parentIndex = model.parent(index)
+ om_gui.ui.feeScales_treeView.setExpanded(parentIndex, True)
+ if parentIndex.internalPointer() != None:
+ ensureVisible(parentIndex)
+
+ search_phrase = om_gui.ui.feeSearch_lineEdit.text()
+ if search_phrase == "":
+ return
+ model = om_gui.fee_models[
+ om_gui.ui.chooseFeescale_comboBox.currentIndex()]
+
+ if om_gui.ui.search_itemcodes_radioButton.isChecked():
+ columns = [0]
+ else: # om_gui.ui.search_descriptions_radioButton.isChecked():
+ columns = [2, 3]
+
+ om_gui.wait(True)
+ if model.search(search_phrase, columns):
+ om_gui.ui.feeScales_treeView.collapseAll()
+ indexes = model.foundItems
+
+ om_gui.ui.feesearch_results_label.setText(
+ "%d %s %s"%(len(indexes), _("Items containing"), search_phrase))
+ for index in indexes:
+ ensureVisible(index)
+ om_gui.wait(False)
+ else:
+ om_gui.wait(False)
+ message = _("phrase not found in feetable")
+ if om_gui.ui.search_itemcodes_radioButton.isChecked():
+ message += " " + _("itemcodes")
+ else:
+ message += " " + _("usercodes or descriptions")
+ om_gui.advise(message, 1)
+
+def nhsRegsPDF(om_gui):
+ '''
+ I have some stored PDF documents
+ the user wants to see these
+ '''
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_chooseDocument.Ui_Dialog()
+ dl.setupUi(Dialog)
+ if Dialog.exec_():
+ if dl.tabWidget.currentIndex() == 0:
+ if dl.info_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "Dental_Information_Guide_2008_v4.pdf")
+ else:
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "scotNHSremuneration08.pdf")
+ elif dl.tabWidget.currentIndex() == 1:
+ if dl.info2009_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "Dental_Information_Guide_2009.pdf")
+ else:
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "scotNHSremuneration09.pdf")
+ elif dl.tabWidget.currentIndex() == 2:
+ if dl.info2010_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "information_guide_2010_v2.pdf")
+ else:
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "scotNHSremuneration10.pdf")
+ elif dl.tabWidget.currentIndex() == 3:
+ if dl.info2012_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "information-guide-2012-final.pdf")
+ elif dl.terms_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "ssi_20100208_en.pdf")
+ else:
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "scotNHSremuneration12.pdf")
+ else:
+ if dl.info2013_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "information-guide-2012-final.pdf")
+ elif dl.tooth_specific_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "guidance-issue-2-v17.pdf")
+ elif dl.terms2013_radioButton.isChecked():
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "ssi_20100208_en.pdf")
+ else:
+ doc = os.path.join(localsettings.wkdir, 'resources',
+ "scotNHSremuneration13.pdf")
+
+ try:
+ print "opening %s"% doc
+ localsettings.openPDF(doc)
+ except Exception as exc:
+ message = _("Error opening PDF file")
+ LOGGER.exception(message)
+ om_gui.advise(message, 2)
+
+def chooseFeescale(om_gui, i):
+ '''
+ receives signals from the choose feescale combobox
+ acts on the fee table
+ arg will be the chosen index
+ '''
+ if i == -1:
+ return
+ table = localsettings.FEETABLES.tables[i]
+ if table.endDate == None:
+ end = _("IN CURRENT USE")
+ else:
+ end = localsettings.formatDate(table.endDate)
+ om_gui.ui.feeScale_label.setText("<b>%s</b> %s - %s"% (
+ table.description,
+ localsettings.formatDate(table.startDate), end))
+
+ om_gui.ui.feesearch_results_label.setText("")
+
+ try:
+ om_gui.ui.feeScales_treeView.setModel(om_gui.fee_models[i])
+ except IndexError:
+ print i, len(om_gui.fee_models)
+ om_gui.advise(_("fee table error"),2)
+
+def adjustTable(om_gui, index):
+ tv = om_gui.ui.feeScales_treeView
+ for col in range(tv.model().columnCount(index)):
+ tv.resizeColumnToContents(col)
+ #usercolumn is unmanageably wide now
+ tv.setColumnWidth(1, 80)
+
+def expandFees(om_gui):
+ '''
+ expands/contracts the fees treewidget
+ dependent on the state of the feeExpand_radioButton
+ '''
+ if om_gui.ui.feeExpand_radioButton.isChecked():
+ om_gui.ui.feeScales_treeView.expandAll()
+ else:
+ om_gui.ui.feeScales_treeView.collapseAll()
+
+def makeBadDebt(om_gui):
+ '''
+ write off the debt (stops cluttering up the accounts table)
+ '''
+ result = QtGui.QMessageBox.question(om_gui, "Confirm",
+ "Move this patient to Bad Debt Status?",
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ #--what is owed
+ om_gui.pt.money11 = om_gui.pt.fees
+ om_gui.pt.resetAllMonies()
+ om_gui.pt.status = "BAD DEBT"
+ om_gui.ui.notesEnter_textEdit.setText(
+ _("changed patients status to BAD DEBT")
+ )
+
+ om_gui.updateStatus()
+ om_gui.updateDetails()
+
+def populateAccountsTable(om_gui):
+ rows = accounts.details()
+ om_gui.ui.accounts_tableWidget.clear()
+ om_gui.ui.accounts_tableWidget.setSortingEnabled(False)
+ om_gui.ui.accounts_tableWidget.setRowCount(len(rows))
+ headers = ("Dent", "Serialno", "", "First", "Last", "DOB", "Memo",
+ "Last Appt", "Last Bill", "Type", "Number", "T/C", "Fees", "A", "B",
+ "C")
+
+ om_gui.ui.accounts_tableWidget.setColumnCount(len(headers))
+ om_gui.ui.accounts_tableWidget.setHorizontalHeaderLabels(headers)
+ om_gui.ui.accounts_tableWidget.verticalHeader().hide()
+ rowno = 0
+ total = 0
+ for row in rows:
+ for col in range(len(row)):
+ d = row[col]
+ if d != None or col == 11:
+ item = QtGui.QTableWidgetItem()
+ if col == 0:
+ item.setText(localsettings.ops.get(d))
+ elif col in (5, 7, 8):
+ item.setData(QtCore.Qt.DisplayRole,
+ QtCore.QVariant(QtCore.QDate(d)))
+ elif col == 12:
+ total += d
+ #--jump through hoops to make the string sortable!
+ money = QtCore.QVariant(QtCore.QString("%L1").\
+ arg(float(d/100), 8, "f", 2))
+
+ item.setData(QtCore.Qt.DisplayRole, money)
+ item.setTextAlignment(
+ QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
+
+ #item.setText(localsettings.formatMoney(d))
+
+ elif col == 11:
+ if d > 0:
+ item.setText("N")
+ else:
+ item.setText("Y")
+ else:
+ item.setText(str(d).title())
+ om_gui.ui.accounts_tableWidget.setItem(rowno, col, item)
+ for col in range(13, 16):
+ item = QtGui.QTableWidgetItem()
+ item.setCheckState(QtCore.Qt.Unchecked)
+ om_gui.ui.accounts_tableWidget.setItem(rowno, col, item)
+ rowno += 1
+ om_gui.ui.accounts_tableWidget.sortItems(7, QtCore.Qt.DescendingOrder)
+ om_gui.ui.accounts_tableWidget.setSortingEnabled(True)
+ #om_gui.ui.accounts_tableWidget.update()
+ for i in range(om_gui.ui.accounts_tableWidget.columnCount()):
+ om_gui.ui.accounts_tableWidget.resizeColumnToContents(i)
+ om_gui.ui.accountsTotal_doubleSpinBox.setValue(total / 100)
+
diff --git a/src/openmolar/qt4gui/fees/feescale_tester.py b/src/openmolar/qt4gui/fees/feescale_tester.py
new file mode 100644
index 0000000..ee8e776
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/feescale_tester.py
@@ -0,0 +1,169 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+import re, sys
+from xml.dom import minidom
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+from openmolar.dbtools.patient_class import mouth, decidmouth
+from openmolar.dbtools.treatment_course import CURRTRT_NON_TOOTH_ATTS
+
+from openmolar.qt4gui.compiled_uis import Ui_codeChecker
+from openmolar.qt4gui.customwidgets.upper_case_line_edit \
+ import UpperCaseLineEdit
+
+DECIDMOUTH = []
+for tooth in decidmouth:
+ if tooth != "***":
+ DECIDMOUTH.append(tooth)
+ADULTMOUTH = []
+for tooth in mouth:
+ ADULTMOUTH.append(tooth)
+
+class DeciduousAttributeModel(QtCore.QAbstractTableModel):
+ def __init__(self, table, parent=None):
+ QtCore.QAbstractTableModel.__init__(self, parent)
+ self.attributes = DECIDMOUTH
+ self.table = table
+ self.code = None
+ self._rowcount = None
+
+ def get_value(self, row):
+ tooth = self.attributes[row]
+ code = self.table.getToothCode(tooth, self.code.upper())
+ try:
+ return self.table.feesDict[code].description
+ except KeyError:
+ return code
+
+ def rowCount(self, index):
+ if self._rowcount is None:
+ self._rowcount = len(self.attributes)//2
+ return self._rowcount
+
+ def columnCount(self, index):
+ return 4
+
+ def data(self, index,role):
+ if role != QtCore.Qt.DisplayRole:
+ return QtCore.QVariant()
+
+ if index.column() == 0:
+ return self.attributes[index.row()].upper()
+ if index.column() == 1:
+ return self.get_value(index.row())
+ if index.column() == 2:
+ return self.attributes[index.row() + self._rowcount].upper()
+ if index.column() == 3:
+ return self.get_value(index.row() + self._rowcount)
+
+
+class AdultAttributeModel(DeciduousAttributeModel):
+ def __init__(self, table, parent=None):
+ DeciduousAttributeModel.__init__(self, table, parent)
+ self.attributes = ADULTMOUTH
+
+class FeescaleTestingDialog(Ui_codeChecker.Ui_Dialog, QtGui.QDialog):
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setupUi(self)
+ self.table_list = []
+ tablenames = []
+ self.load_feescales()
+
+ self.model2 = DeciduousAttributeModel(self.current_table)
+ self.model3 = AdultAttributeModel(self.current_table)
+
+ self.dec_tableView.setModel(self.model2)
+ self.adult_tableView.setModel(self.model3)
+
+ self.dec_tableView.horizontalHeader().setStretchLastSection(True)
+ self.adult_tableView.horizontalHeader().setStretchLastSection(True)
+
+ self.setWindowTitle(_("Shortcut tester"))
+
+ self.connect(self.comboBox, QtCore.SIGNAL("currentIndexChanged (int)"),
+ self.change_table)
+
+ self.pushButton.clicked.connect(self.check_codes)
+
+ self.quit_pushButton.clicked.connect(self.accept)
+
+ self.line_edits = {}
+ form_layout = QtGui.QFormLayout(self.frame)
+
+ for att in CURRTRT_NON_TOOTH_ATTS:
+ widg = QtGui.QLineEdit()
+ self.line_edits[att] = widg
+ form_layout.addRow(att, widg)
+
+ self.lineEdit = UpperCaseLineEdit()
+ self.bottom_layout.insertWidget(1, self.lineEdit)
+
+ self.lineEdit.setText("P")
+
+ self.check_codes()
+
+ def load_feescales(self):
+ self.table_list = []
+ self.tablenames = []
+ for table in localsettings.FEETABLES.tables.values():
+ self.table_list.append(table)
+ self.tablenames.append(table.briefName)
+ self.comboBox.addItems(self.tablenames)
+
+ def check_codes(self):
+ tx = str(self.lineEdit.text().toAscii()).upper()
+
+ complex_matches = []
+ for att in CURRTRT_NON_TOOTH_ATTS:
+ for complex_shortcut in self.current_table.complex_shortcuts:
+ if complex_shortcut.matches(att, tx):
+ complex_matches.append(att)
+
+ usercode = "%s %s"% (att, tx)
+ code = self.current_table.getItemCodeFromUserCode(usercode)
+ if code == "-----":
+ self.line_edits[att].setText("")
+ else:
+ description = self.current_table.getItemDescription(
+ code, usercode)
+ self.line_edits[att].setText("%s %s"%(code, description))
+ for model in (self.model2, self.model3):
+ model.code = tx
+ model.reset()
+ for att in DECIDMOUTH + ADULTMOUTH:
+ for complex_shortcut in self.current_table.complex_shortcuts:
+ if complex_shortcut.matches(att, tx):
+ complex_matches.append(att)
+
+ if complex_matches != []:
+ QtGui.QMessageBox.information(self, _("Information"),
+ "%s '%s' %s<hr />%s"% (
+ _("This feescale handles"), tx,
+ _("as a complex code for the following attributes."),
+ complex_matches))
+
+ @property
+ def current_table(self):
+ return self.table_list[self.comboBox.currentIndex()]
+
+ def change_table(self, i):
+ self.model2.table = self.current_table
+ self.model3.table = self.current_table
+
+ self.check_codes()
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+
+ app = QtGui.QApplication([])
+ dl = FeescaleTestingDialog()
+ dl.exec_()
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/fees/manipulate_plan.py b/src/openmolar/qt4gui/fees/manipulate_plan.py
new file mode 100644
index 0000000..abc36f6
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/manipulate_plan.py
@@ -0,0 +1,1193 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides code to add Xrays, perio items......etc
+to the treatment plan
+'''
+
+import re
+import logging
+
+from functools import partial
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.ptModules.estimates import TXHash, Estimate
+
+from openmolar.qt4gui.compiled_uis import Ui_customTreatment
+
+from openmolar.qt4gui.dialogs.add_treatment_dialog import AddTreatmentDialog
+from openmolar.qt4gui.dialogs.complete_treatment_dialog \
+ import CompleteTreatmentDialog
+
+from openmolar.qt4gui.dialogs.denture_dialog import DentureDialog
+
+from openmolar.qt4gui.fees import course_module
+
+from openmolar.qt4gui.charts import charts_gui
+
+LOGGER = logging.getLogger("openmolar")
+
+# some constants to make the code readable
+FULLY_HANDLED = 2
+PARTIALLY_HANDLED = 1
+NOT_HANDLED = 0
+
+def offerTreatmentItems(om_gui, tx_list, completing=False):
+ '''
+ tx_list should be an iterable in the form ((att, shortcut),(att, shortcut))
+ eg.(("perio", "SP-"),("xray", "S"), ("ul8", "MOD").... )
+ these are offered to the user, who selects from these.
+ the return value is an iterable in the same form.
+ '''
+ dl = AddTreatmentDialog(tx_list, om_gui.pt, om_gui)
+ if completing: #we are adding to the completed treatments, not plan
+ dl.use_completed_messages()
+ result = dl.getInput()
+ return result
+
+def add_treatments_to_plan(om_gui, treatments, completed=False):
+ LOGGER.debug(treatments)
+ if course_module.newCourseNeeded(om_gui):
+ return
+ pt = om_gui.pt
+
+ for att, shortcut in treatments:
+ LOGGER.debug("adding %s %s to treatment plan"% (att, shortcut))
+ existing_txs = "%s %s"% (pt.treatment_course.__dict__["%scmp"% att] ,
+ pt.treatment_course.__dict__["%spl"% att]
+ )
+
+ # count the existing number and add 1 for the new shortcut
+ n_txs = existing_txs.split(" ").count(shortcut) + 1
+ courseno = pt.treatment_course.courseno
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (courseno, att, n_txs, shortcut))
+ tx_hash = TXHash(hash_)
+
+ dentid = pt.course_dentist
+ pt.treatment_course.__dict__["%spl"% att] += "%s "% shortcut
+
+ #check for deciduous tooth.
+ if re.match("[ul][lr][1-8]", att):
+ n_txs = None
+ tooth_name = pt.chartgrid.get(att)
+ if tooth_name != att:
+ LOGGER.debug("Deciduous tooth treatment! on %s"% tooth_name)
+ att = "%s%s"% (att[:2], tooth_name[2])
+
+ complex_addition_handled, shortcut = complex_shortcut_addition(
+ om_gui, att, shortcut, n_txs, tx_hash)
+
+ if complex_addition_handled == FULLY_HANDLED:
+ LOGGER.debug("complex addition handled the estimate in entirety")
+ elif complex_addition_handled == PARTIALLY_HANDLED:
+ LOGGER.debug("complex addition handled the estimate in part")
+ add_treatment_to_estimate(om_gui, att, shortcut, dentid, [tx_hash])
+ else:
+ LOGGER.debug("adding only as a standard shortcut")
+ add_treatment_to_estimate(om_gui, att, shortcut, dentid, [tx_hash])
+
+ if completed:
+ tx_hash_complete(om_gui, tx_hash)
+
+ om_gui.update_plan_est()
+
+def add_treatment_to_estimate(om_gui, att, shortcut, dentid, tx_hashes,
+ itemcode=None, csetype=None, descr=None,
+ fee=None, ptfee=None, chosen_feescale=None):
+ '''
+ add an item to the patient's estimate
+ usercode unnecessary if itemcode is provided.
+ '''
+ def _tooth_code_search(att, shortcut):
+ itemcode = table.getToothCode(att, shortcut)
+ if itemcode != "-----":
+ return itemcode, table
+ LOGGER.debug("%s %s not matched by %s"% (att, shortcut, table))
+ for alt_table in localsettings.FEETABLES.tables.itervalues():
+ if alt_table == table:
+ continue
+ alt_code = alt_table.getToothCode(att, shortcut)
+ if alt_code != "-----":
+ if QtGui.QMessageBox.question(om_gui, _("Confirm"),
+ u"<p><b>%s %s</b> %s.</p><p>%s <em>%s</em></p><hr />%s" %(
+ att, shortcut,
+ _("was not found in the patient's default feescale"),
+ _("It is matched in another feescale -"),
+ alt_table.briefName,
+ _("Shall we add this item from this feescale?")),
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ return alt_code, alt_table
+
+ return itemcode, table
+
+ def _user_code_search(usercode):
+ itemcode = table.getItemCodeFromUserCode(usercode)
+ if itemcode != "-----":
+ return itemcode, table
+ LOGGER.debug("%s not matched by %s"% (usercode, table))
+ for alt_table in localsettings.FEETABLES.tables.itervalues():
+ if alt_table == table:
+ continue
+ alt_code = alt_table.getItemCodeFromUserCode(usercode)
+ if alt_code != "-----":
+ if QtGui.QMessageBox.question(om_gui, _("Confirm"),
+ u"<p><b>%s</b> %s.</p><p>%s <em>%s</em></p><hr />%s" %(
+ usercode,
+ _("was not found in the patient's default feescale"),
+ _("It is matched in another feescale -"),
+ alt_table.briefName,
+ _("Shall we add this item from this feescale?")),
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ return alt_code, alt_table
+ return itemcode, table
+
+ usercode = ("%s %s"% (att, shortcut))
+ LOGGER.debug("%s %s %s %s %s %s %s %s %s"%(
+ usercode, dentid, tx_hashes,
+ itemcode, csetype, descr,
+ fee, ptfee, chosen_feescale)
+ )
+
+ for tx_hash in tx_hashes:
+ assert type(tx_hash) == TXHash, "bad form Neil"
+
+ pt = om_gui.pt
+
+ est = Estimate()
+ est.ix = None #-- this will be generated by autoincrement on commit
+ est.serialno = pt.serialno
+ est.courseno = pt.courseno0
+
+ if chosen_feescale == None:
+ table = pt.fee_table
+ else:
+ table = chosen_feescale
+
+ if re.match("[ul][lr][1-8A-E]", att):
+ if itemcode is None:
+ itemcode, table = _tooth_code_search(att, shortcut)
+ if descr is None:
+ tooth_name = att.upper()
+ descr = table.getItemDescription(itemcode, usercode)
+ descr = descr.replace("*", " %s"% tooth_name)
+ else:
+ if itemcode is None:
+ itemcode, table = _user_code_search(usercode)
+ if descr is None:
+ descr = table.getItemDescription(itemcode, usercode)
+
+ est.itemcode = itemcode
+ est.description = descr
+ est.csetype = table.categories[0]
+
+ if fee is None and ptfee is None:
+ #look up the fee here
+ est.fee, est.ptfee = table.getFees(itemcode, pt, est.csetype, shortcut)
+ else:
+ est.fee, est.ptfee = fee, ptfee
+
+ est.tx_hashes = tx_hashes
+
+ est.dent = dentid
+
+ pt.estimates.append(est)
+
+ if itemcode == "-----":
+ om_gui.advise(u"%s - %s <b>%s</b><br />%s.<hr />%s"% (
+ _("WARNING"),
+ _("treatment"),
+ usercode,
+ _("has not been succesfully priced"),
+ _("Please edit the estimate manually")), 1)
+ return True
+
+def perioAdd(om_gui):
+ '''
+ add perio items
+ '''
+ pt = om_gui.pt
+
+ if "N" in pt.cset:
+ mylist = (
+ ("perio", "SP"),
+ )
+ else:
+ mylist = (
+ ("perio", "SP-"),
+ ("perio", "SP"),
+ ("perio", "SP+"),
+ )
+
+ chosen_treatments = offerTreatmentItems(om_gui, mylist)
+ add_treatments_to_plan(om_gui, chosen_treatments)
+
+def xrayAdd(om_gui, complete=False):
+ '''
+ add xray items
+ '''
+ mylist = (
+ ("xray", "S"),
+ ("xray", "M"),
+ ("xray", "P"),
+ )
+ #offerTreatmentItems is a generator, so the list conversion here
+ #is so that the dialog get raised before the
+ #"were these xrays taken today question
+ chosen_treatments = list(offerTreatmentItems(om_gui, mylist, complete))
+
+ if not chosen_treatments:
+ return
+
+ if not complete:
+ input = QtGui.QMessageBox.question(om_gui, _("question"),
+ _("Were these xrays taken today?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No )
+ if input == QtGui.QMessageBox.Yes:
+ complete = True
+
+ add_treatments_to_plan(om_gui, chosen_treatments, complete)
+ if om_gui.ui.tabWidget.currentIndex() == 4: #clinical summary
+ om_gui.load_clinicalSummaryPage()
+
+def denture_add(om_gui):
+ dl = DentureDialog(om_gui)
+ if dl.exec_():
+ add_treatments_to_plan(om_gui, dl.chosen_treatments)
+
+def otherAdd(om_gui):
+ '''
+ add 'other' items
+ '''
+ item_list = om_gui.pt.fee_table.other_shortcuts
+
+ chosen_treatments = offerTreatmentItems(om_gui, item_list)
+ if chosen_treatments:
+ add_treatments_to_plan(om_gui, chosen_treatments)
+
+def customAdd(om_gui, description=None):
+ '''
+ add 'custom' items
+ '''
+ if course_module.newCourseNeeded(om_gui):
+ return
+
+ pt = om_gui.pt
+ courseno = pt.treatment_course.courseno
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_customTreatment.Ui_Dialog()
+ dl.setupUi(Dialog)
+ if description:
+ dl.description_lineEdit.setText(description)
+ if Dialog.exec_():
+ no = dl.number_spinBox.value()
+ descr = unicode(dl.description_lineEdit.text(), "ascii", "ignore")
+
+ if descr == "":
+ descr = "??"
+ usercode = str (descr.replace(" ", "_"))[:20].upper()
+
+ fee = int(dl.fee_doubleSpinBox.value() * 100)
+
+ for i in range(no):
+ pt.treatment_course.custompl += "%s "% usercode
+
+ custom_txs = "%s %s"%(
+ pt.treatment_course.customcmp, pt.treatment_course.custompl)
+ n = custom_txs.split(" ").count(usercode)
+ hash_ = localsettings.hash_func("%scustom%s%s"% (courseno, n, usercode))
+ tx_hash = TXHash(hash_)
+ dentid = om_gui.pt.course_dentist
+
+ add_treatment_to_estimate(om_gui, "custom", usercode, dentid,
+ [tx_hash], itemcode="CUSTO", csetype="P",
+ descr=descr, fee=fee, ptfee=fee)
+
+ om_gui.update_plan_est()
+
+def plan_viewer_context_menu(om_gui, att, values, point):
+ '''
+ provides and handles a context menu for the ui.plan_listView and
+ the ui.planChartWidget
+ '''
+ qmenu = QtGui.QMenu(om_gui)
+
+ if len(values) > 1:
+ treatments = []
+ for value in values:
+ treatments.append((att, value))
+ complete_txs(om_gui, treatments, confirm_multiples=True)
+ return
+
+ value = values[0]
+ message = "%s %s %s"% (_("Complete"), att, value)
+ complete_action = QtGui.QAction(message, om_gui)
+ complete_action.triggered.connect(
+ partial(complete_txs, om_gui, ((att, value),)))
+
+ message = "%s %s %s"% (_("Delete"), att, value)
+ delete_action = QtGui.QAction(message, om_gui)
+ delete_action.triggered.connect(
+ partial(remove_treatments_from_plan_and_est, om_gui, ((att, value),)))
+
+ cancel_action = QtGui.QAction(_("Cancel"), om_gui)
+ #not connected to anything.. f clicked menu will simply die!
+
+ qmenu.addAction(complete_action)
+ qmenu.addSeparator()
+ qmenu.addAction(delete_action)
+ qmenu.addAction(cancel_action)
+
+ qmenu.setDefaultAction(complete_action)
+ qmenu.exec_(point)
+
+def cmp_viewer_context_menu(om_gui, att, values, point):
+ '''
+ provides and handles a context menu for the ui.completed_listView and
+ the ui.completedChartWidget
+ '''
+ qmenu = QtGui.QMenu(om_gui)
+
+ if len(values) > 1:
+ treatments = []
+ for value in values:
+ treatments.append((att, value))
+ reverse_txs(om_gui, treatments, confirm_multiples=True)
+ return
+
+ value = values[0]
+
+ if att == "exam":
+ hash = localsettings.hash_func("%sexam1%s"% (
+ om_gui.pt.treatment_course.courseno,
+ om_gui.pt.treatment_course.examt))
+ tx_hash = TXHash(hash_ , True)
+ rev_func = partial(tx_hash_reverse, om_gui, tx_hash)
+ else:
+ rev_func = partial(reverse_txs, om_gui, ((att, value),))
+ message = "%s %s %s"% (_("Reverse and Delete"), att, value)
+ delete_action = QtGui.QAction(message, qmenu)
+ delete_action.triggered.connect(partial(
+ remove_treatments_from_plan_and_est, om_gui, ((att, value), ), True))
+
+ message = "%s %s %s"% (_("Reverse"), att, value)
+ reverse_action = QtGui.QAction(message, qmenu)
+ reverse_action.triggered.connect(rev_func)
+
+ cancel_action = QtGui.QAction(_("Cancel"), qmenu)
+ #not connected to anything.. f clicked menu will simply die!
+
+ qmenu.addAction(reverse_action)
+ qmenu.addSeparator()
+ if att != "exam":
+ qmenu.addAction(delete_action)
+ qmenu.addAction(cancel_action)
+
+ qmenu.setDefaultAction(qmenu.actions()[0])
+ qmenu.exec_(point)
+
+def plan_listview_2xclick(om_gui, index):
+ model = om_gui.ui.plan_listView.model()
+ att, values = model.att_vals(index)
+ new_list = []
+ for value in values:
+ new_list.append((att, value))
+ model.beginResetModel()
+ complete_txs(om_gui, new_list)
+ model.endResetModel()
+ om_gui.ui.completed_listView.model().reset()
+
+def plan_list_right_click(om_gui, point):
+ index = om_gui.ui.plan_listView.indexAt(point)
+ LOGGER.debug("%s right clicked"% index)
+ if not index.isValid():
+ return
+ model = om_gui.ui.plan_listView.model()
+ att, values = model.att_vals(index)
+
+ exec_point = om_gui.ui.plan_listView.mapToGlobal(point)
+ plan_viewer_context_menu(om_gui, att, values, exec_point)
+
+ model.reset()
+ om_gui.ui.completed_listView.model().reset()
+
+def completed_listview_2xclick(om_gui, index):
+ model = om_gui.ui.completed_listView.model()
+ att, values = model.att_vals(index)
+ if att == "exam":
+ point = om_gui.ui.completed_listView.mapFromGlobal(
+ QtGui.QCursor.pos())
+ om_gui.show_cmp_listview_context_menu(point)
+ return
+ new_list = []
+ for value in values:
+ new_list.append((att, value))
+ model.beginResetModel()
+ reverse_txs(om_gui, new_list)
+ model.endResetModel()
+ om_gui.ui.plan_listView.model().reset()
+
+def cmp_list_right_click(om_gui, point):
+ index = om_gui.ui.completed_listView.indexAt(point)
+ LOGGER.debug("%s right clicked"% index)
+ if not index.isValid():
+ return
+ model = om_gui.ui.completed_listView.model()
+ att, values = model.att_vals(index)
+
+ exec_point = om_gui.ui.completed_listView.mapToGlobal(point)
+ cmp_viewer_context_menu(om_gui, att, values, exec_point)
+
+ model.reset()
+ om_gui.ui.plan_listView.model().reset()
+
+def fromFeeTable(om_gui, fee_item, sub_index):
+ '''
+ add an item which has been selected from the fee table itself
+ sub_index is when a child item has been added.
+ '''
+ def show_help():
+ message = '''%s<ul>
+ <li>%s %s %s %s <b>%s</b></li><li>%s %s</li><li>%s</li>
+ </ul>'''% (
+ _("Choose"),
+ _("OK to add"), att_, _("to patient attribute"), shortcut,
+ _("Recommended"),
+ _("Use Feescale Method"), _("to overide this behaviour"),
+ _("Cancel to abandon this addition entirely"))
+
+ QtGui.QMessageBox.information(mb, _("Help"), message)
+
+ def confirm_selected_table():
+ '''
+ check that the user is happy to use the suggested table, not the current
+ one. returns the selected table, or None to keep the current.
+ '''
+ table = pt.fee_table
+ if fee_item.table == table:
+ return table
+
+ message = '%s<br /><b>%s</b>%s<hr />%s<br />%s' %(
+ _("Confirm you wish to use feescale"),
+ fee_item.table.briefName,
+ _("for this item"),
+ _("The patient's default table is"),
+ table.briefName)
+ if QtGui.QMessageBox.question(om_gui, _("Confirm"), message,
+ QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Ok ) == QtGui.QMessageBox.Ok:
+ return fee_item.table
+
+ LOGGER.debug("fee_item %s, sub_index %s"% (fee_item, sub_index))
+
+ if course_module.newCourseNeeded(om_gui):
+ return
+
+ pt = om_gui.pt
+
+ table = confirm_selected_table()
+ if table is None:
+ return
+
+ att_ = fee_item.pt_attribute
+ if att_ == "chart":
+ update_charts_needed = True
+ atts = om_gui.chooseTooth()
+ else:
+ update_charts_needed = False
+ atts = [att_]
+
+ if fee_item.shortcut is None or fee_item.is_regex:
+ shortcut = "!FEE"
+ else:
+ shortcut = fee_item.shortcut
+
+ if table == pt.fee_table and shortcut != "!FEE" and att_ != "exam":
+ message = "%s %s<hr />%s"%(
+ _("You appear to be adding a relatively straightforward code to the"
+ " ""patient's treatment plan using their default feescale"),
+ _("It is normally advisable to add this code conventionally."),
+ _("Would you like to do this now?"))
+
+ mb = QtGui.QMessageBox(None)
+ mb.setWindowTitle(_("Confirm"))
+ mb.setText(message)
+ mb.setIcon(mb.Question)
+ mb.addButton(_("Use Feescale Method"), mb.DestructiveRole)
+ mb.addButton(mb.Cancel)
+ mb.addButton(mb.Ok)
+ mb.addButton(mb.Help)
+ result = mb.exec_()
+ while result == mb.Help:
+ show_help()
+ result = mb.exec_()
+
+ if result == mb.Ok:
+ LOGGER.warning("reverting to standard treatment adding methods")
+ txs = []
+ message = ""
+ for att in atts:
+ txs.append((att, shortcut))
+ message += "<li>%s %s</li>"% (att, shortcut)
+ add_treatments_to_plan(om_gui, txs)
+ om_gui.advise("%s <ul>%s</ul>%s"% (_("Treatments"), message,
+ _("were added conventionally")), 1)
+ return
+ elif result == mb.Cancel:
+ LOGGER.info("Feescale addition abandoned by user")
+ return
+
+ if not fee_item.allow_feescale_add:
+ if att_ == "exam":
+ reason = _("Exam items can never be added this way")
+ else:
+ reason = fee_item.forbid_reason
+ message = "%s<hr /><em>%s</em>"% (_(
+ "This item can not be added to the treatment plan "
+ "using the feescale method, sorry"), reason)
+ om_gui.advise(message, 1)
+ return
+
+ fee = fee_item.fees[sub_index]
+
+ try:
+ pt_fee = fee_item.ptFees[sub_index]
+ except IndexError:
+ pt_fee = fee
+
+ dentid = pt.course_dentist
+ cset = table.categories[0]
+
+ for att in atts:
+ if not pt.treatment_course.__dict__.has_key("%spl"% att):
+ att = "other"
+ pt.treatment_course.__dict__[att+"pl"] += "%s "% shortcut
+ new_plan = pt.treatment_course.__dict__[att+"pl"]
+
+ descr = fee_item.description
+
+ if re.match("[ul][lr][1-8]", att):
+ om_gui.ui.planChartWidget.setToothProps(att, new_plan)
+ tooth_name = pt.chartgrid.get(att).upper()
+ descr = descr.replace("*", " %s"% tooth_name)
+
+ existing_txs = "%s %s"% (
+ pt.treatment_course.__dict__["%scmp"% att] , new_plan)
+
+ n_txs = existing_txs.split(" ").count(shortcut)
+ courseno = pt.treatment_course.courseno
+ hash_ = localsettings.hash_func("%s%s%s%s"% (courseno, att, n_txs, shortcut))
+ tx_hash = TXHash(hash_)
+
+ add_treatment_to_estimate(om_gui, att, shortcut, dentid, [tx_hash],
+ fee_item.itemcode, cset, descr, fee, pt_fee, table)
+
+ om_gui.advise(u"<b>%s</b> %s (%s)"% (
+ fee_item.description, _("added to estimate"), _("from feescale"))
+ ,1)
+
+ om_gui.update_plan_est()
+
+def complex_shortcut_addition(om_gui, att, shortcut, n_txs, tx_hash,
+recalculating=False):
+ def number_of_chart_matches(filter="[ul][lr][1-8A-E]"):
+ '''
+ suppose a veneer is passed - is it the only veneer?
+ '''
+ if recalculating:
+ LOGGER.debug(
+ "recalculating estimate, so not using pt.tx_hash_tups")
+ pt.new_hash_tups.append((tx_hash, att, shortcut))
+ iterable_ = pt.new_hash_tups
+ else:
+ iterable_ = pt.tx_hash_tups
+ n = 0
+ for hash_, att_, s_cut in iterable_:
+ if (re.match(filter, att_) and
+ complex_shortcut.matches(att_, s_cut.strip(" "))):
+ n += 1
+ LOGGER.debug("number_of_chart_matches = %d"% n)
+ return n
+
+ LOGGER.debug(
+ "checking %s %s n_txs=%s %s"% (att, shortcut, n_txs, tx_hash))
+ pt = om_gui.pt
+ fee_table = pt.fee_table
+ dentid = pt.course_dentist
+ LOGGER.debug("Feetable being checked = %s"% fee_table)
+ handled = NOT_HANDLED
+ for complex_shortcut in fee_table.complex_shortcuts:
+ if complex_shortcut.matches(att, shortcut):
+ LOGGER.debug("%s %s matches complex shortcut %s"% (
+ att, shortcut, complex_shortcut))
+ for case in complex_shortcut.addition_cases:
+ m = re.match("n_txs=(\d+)", case.condition)
+ m2 = re.match("n_txs>(\d+)", case.condition)
+ m3 = re.match("(\d+)<n_txs<(\d+)", case.condition)
+
+ if (m or m2 or m3) and n_txs is None:
+ n_txs = number_of_chart_matches()
+ if not (
+ case.condition == "True" or
+ (m and int(m.groups()[0]) == n_txs) or
+ (m2 and n_txs > int(m2.groups()[0])) or
+ (m3 and int(m3.groups()[0]) < n_txs < int(m3.groups()[1]))
+ ):
+ continue
+
+ LOGGER.debug("condition met %s"% case.condition)
+ tx_hashes = [tx_hash]
+ for item_code in case.removals:
+ for est in pt.estimates:
+ if est.itemcode == item_code:
+ LOGGER.debug("removing estimate %s"% est)
+ pt.estimates.remove(est)
+ tx_hashes += est.tx_hashes
+
+ for item_code in case.additions:
+ LOGGER.debug("adding additional code %s"% item_code)
+ add_treatment_to_estimate(om_gui,
+ att, shortcut, dentid, list(tx_hashes), item_code)
+
+ for item_code in case.alterations:
+ #instead of adding a new estimate item
+ #add this treatment hash to existing item
+ LOGGER.debug("altering code %s"% item_code)
+ for est in pt.estimates:
+ if est.itemcode == item_code:
+ est.tx_hashes += tx_hashes
+ est.fee, est.ptfee = fee_table.recalc_fee(
+ pt, item_code, n_txs)
+
+ LOGGER.debug("est altered %s"% est)
+
+ if case.message != "":
+ message = case.message.replace("SHORTCUT", shortcut)
+ om_gui.advise(message, 1)
+ LOGGER.info(message)
+
+ if case.shortcut_substitution is not None:
+ find_, replace = case.shortcut_substitution
+ shortcut = re.sub(find_, replace, shortcut)
+ LOGGER.info("modded shortcut to '%s'"% shortcut)
+
+ handled = case.is_handled
+ break
+
+ if handled == FULLY_HANDLED:
+ LOGGER.info("%s %s was handled by as a complex shortcut"% (
+ att, shortcut))
+ return handled, shortcut
+
+ return handled, shortcut
+
+def complex_shortcut_removal_handled(om_gui, att, shortcut, n_txs, tx_hash):
+ def number_of_chart_matches(filter="[ul][lr][1-8A-E]"):
+ '''
+ suppose a veneer is passed - is it the only veneer?
+ '''
+ n = 0
+ for hash_, att_, s_cut in pt.tx_hash_tups:
+ if (re.match(filter, att_) and
+ complex_shortcut.matches(att_, s_cut.strip(" "))):
+ n += 1
+ LOGGER.debug("number_of_chart_matches = %d"% n)
+ return n
+
+ LOGGER.debug((att, shortcut, n_txs, tx_hash))
+ pt = om_gui.pt
+ dentid = pt.course_dentist
+ fee_table = pt.fee_table
+ LOGGER.debug("Feetable being checked = %s"% fee_table)
+ for complex_shortcut in fee_table.complex_shortcuts:
+ if complex_shortcut.matches(att, shortcut):
+ LOGGER.debug(
+ "%s %s is a complex shortcut with %d removal_cases"% (
+ att, shortcut, len(complex_shortcut.removal_cases)))
+ handled = False
+ for case in complex_shortcut.removal_cases:
+ m = re.match("n_txs=(\d+)", case.condition)
+ m2 = re.match("n_txs>(\d+)", case.condition)
+ m3 = re.match("(\d+)<n_txs<(\d+)", case.condition)
+
+ if (m or m2 or m3) and n_txs is None:
+ n_txs = number_of_chart_matches()
+
+ if not (case.condition == "True" or
+ (m and int(m.groups()[0]) == n_txs) or
+ (m2 and n_txs > int(m2.groups()[0])) or
+ (m3 and int(m3.groups()[0]) < n_txs < int(m3.groups()[1]))
+ ):
+ continue
+
+ LOGGER.debug("condition met %s"% case.condition)
+ tx_hashes = [tx_hash]
+ for item_code in case.removals:
+ for est in pt.estimates:
+ if est.itemcode == item_code:
+ LOGGER.debug("removing estimate %s"% est)
+ pt.estimates.remove(est)
+ tx_hashes += est.tx_hashes
+
+ for item_code in case.additions:
+ LOGGER.debug("adding additional code %s"% item_code)
+ add_treatment_to_estimate(om_gui,
+ att, shortcut, dentid, tx_hashes, item_code)
+
+ for item_code in case.alterations:
+ #instead of adding a new estimate item
+ #add this treatment hash to existing item
+ LOGGER.debug("altering code %s"% item_code)
+ for est in pt.estimates:
+ if est.itemcode == item_code:
+ for hash_ in tx_hashes:
+ if hash_ in est.tx_hashes:
+ est.tx_hashes.remove(hash_)
+ est.fee, est.ptfee = fee_table.recalc_fee(
+ pt, item_code, n_txs)
+
+ LOGGER.debug("est altered %s"% est)
+
+
+ if case.message != "":
+ message = case.message.replace("SHORTCUT", shortcut)
+ om_gui.advise(message, 1)
+ LOGGER.info(message)
+
+ LOGGER.debug("removing all references to this treatment in "
+ "from the patient's estimate")
+ for hash_ in tx_hashes:
+ for est in list(pt.ests_from_hash(hash_)):
+ LOGGER.debug(
+ "removing reference to %s in estimate %s"% (
+ hash_, est))
+ est.tx_hashes.remove(hash_)
+ if est.tx_hashes == []:
+ pt.estimates.remove(est)
+
+ return True
+
+ LOGGER.debug("%s NOT handled as a complex shortcut"% shortcut)
+ return False
+
+def remove_treatments_from_plan_and_est(om_gui, treatments, completed=False):
+ '''
+ remove treatments from the treatment plan and estimate.
+ treatments is in the form ((att, shortcut),)
+ '''
+ LOGGER.debug((treatments, completed))
+ pt = om_gui.pt
+ courseno = pt.treatment_course.courseno
+ for att, shortcut in treatments:
+ if completed:
+ txs = pt.treatment_course.__dict__["%scmp"% att]
+ n_txs = txs.split(" ").count(shortcut)
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (courseno, att, n_txs, shortcut))
+ tx_hash = TXHash(hash_, completed)
+ tx_hash_reverse(om_gui, tx_hash)
+
+ txs = "%s %s"% (
+ pt.treatment_course.__dict__["%scmp"% att],
+ pt.treatment_course.__dict__["%spl"% att]
+ )
+
+ n_txs = txs.split(" ").count(shortcut)
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (courseno, att, n_txs, shortcut))
+ tx_hash = TXHash(hash_, completed=False)
+ p_att = "%spl"% att
+ val = pt.treatment_course.__dict__[p_att]
+ new_val = val.replace("%s "% shortcut, "", 1)
+
+ if re.match("[ul][lr][1-8]", att):
+ n_txs=None
+
+ if not complex_shortcut_removal_handled(om_gui, att, shortcut,
+ n_txs, tx_hash):
+ affected_ests = list(om_gui.pt.ests_from_hash(tx_hash))
+
+ if not affected_ests:
+ om_gui.advise(u"%s '%s' %s<hr />%s"% (
+ _("Couldn't find"),
+ "%s%s%s%s"% (courseno, att, n_txs, shortcut),
+ _("in the patient's estimate"),
+ _("This Shouldn't Happen!")), 2)
+
+ for est in affected_ests:
+ LOGGER.debug("removing reference to %s in estimate %s"% (
+ tx_hash, est))
+ est.tx_hashes.remove(tx_hash)
+ if est.tx_hashes == []:
+ om_gui.pt.estimates.remove(est)
+
+ pt.treatment_course.__dict__[p_att] = new_val
+
+ if re.match("[ul][lr[1-8]", att):
+ plan = pt.treatment_course.__dict__["%spl"% att]
+ cmp = pt.treatment_course.__dict__["%scmp"% att]
+ charts_gui.updateChartsAfterTreatment(om_gui, att, plan, cmp)
+ om_gui.updateDetails()
+
+def remove_estimate_item(om_gui, est_item):
+ '''
+ the estimate_item has been deleted...
+ remove from the plan or completed also?
+ '''
+ LOGGER.debug("Deleting estimate item %s"% est_item)
+
+ pt = om_gui.pt
+ found = False
+
+ for i, tx_hash in enumerate(est_item.tx_hashes):
+ LOGGER.debug("est_item.tx_hash %d = %s" %(i, tx_hash))
+ for hash_, att, treat_code in pt.tx_hash_tups:
+ #LOGGER.debug("comparing %s with %s"% (hash_, tx_hash))
+ if hash_ == tx_hash.hash:
+ found = True
+
+ LOGGER.debug(
+ " MATCHING hash Found! removing....'%s' '%s'"% (
+ att, treat_code))
+
+ att = localsettings.convert_deciduous(att)
+
+ if est_item.is_exam:
+ LOGGER.debug("special case - removing exam")
+ pt.treatment_course.examt = ""
+ pt.treatment_course.examd = None
+ pt.addHiddenNote("exam", treat_code, attempt_delete=True)
+ for est in pt.ests_from_hash(tx_hash):
+ pt.estimates.remove(est)
+ elif treat_code.strip(" ") == "!FEE":
+ LOGGER.debug("special case - removing feescale added item")
+ if tx_hash.completed:
+ tx_hash_reverse(om_gui, tx_hash)
+ for est in pt.ests_from_hash(tx_hash):
+ pt.estimates.remove(est)
+ else:
+ LOGGER.debug("not a special case")
+ remove_treatments_from_plan_and_est(om_gui,
+ ((att, treat_code.strip(" ")),), tx_hash.completed)
+
+ if not found:
+ LOGGER.debug("NO MATCHING hash FOUND!")
+ om_gui.advise (u"%s - %s"%(
+ _("couldn't pass on delete message for"), est_item.description)
+ , 1)
+
+def recalculate_estimate(om_gui):
+ '''
+ look up all the itemcodes in the patients feetable
+ (which could have changed), and apply new fees
+ '''
+ pt = om_gui.pt
+ dentid = pt.course_dentist
+
+ LOGGER.info("USER IS RECALCULATING ESTIMATE FOR PATIENT %s"% pt.serialno)
+
+ #drop all existing estimates except custom items.
+ #and reverse fee for completed items.
+ cust_ests = []
+ for estimate in pt.estimates:
+ if estimate.is_custom:
+ cust_ests.append(estimate)
+
+ for hash_, att, shortcut in pt.tx_hash_tups:
+ if shortcut.strip(" ") == "!FEE":
+ for est in pt.ests_from_hash(hash_):
+ cust_ests.append(est)
+ pt.estimates = cust_ests
+
+ duplicate_txs = []
+
+ # recalculating the estimate has to be handled differently than when
+ # adding treatment to a plan manually.
+ # pt.new_hash_tups is a store of all treatments that are special cases
+ # and need to ignore the rest of the treatment plan
+ # an example is an extra fee for the first crown in an arch.
+ pt.new_hash_tups = []
+
+ for hash_, att, shortcut in pt.tx_hash_tups:
+ shortcut = shortcut.strip(" ")
+ if shortcut == "!FEE" or att == "custom":
+ continue
+
+ tx_hash = TXHash(hash_)
+
+ if re.match("[ul][lr][1-8A-E]", att):
+ n_txs = None
+ else:
+ duplicate_txs.append("%s%s"%(att, shortcut))
+ n_txs = duplicate_txs.count("%s%s"%(att, shortcut))
+
+ complex_addition_handled, shortcut = complex_shortcut_addition(
+ om_gui, att, shortcut, n_txs, tx_hash, recalculating=True)
+
+ if complex_addition_handled == FULLY_HANDLED:
+ LOGGER.debug("complex addition handled the estimate in entirety")
+ elif complex_addition_handled == PARTIALLY_HANDLED:
+ LOGGER.debug("complex addition handled the estimate in part")
+ add_treatment_to_estimate(om_gui, att, shortcut, dentid, [tx_hash])
+ else:
+ LOGGER.debug("adding only as a standard shortcut")
+ add_treatment_to_estimate(om_gui, att, shortcut, dentid, [tx_hash])
+
+ LOGGER.debug("checking for completed items")
+ for est in pt.estimates:
+ for tx_hash in est.tx_hashes:
+ if tx_hash in pt.completed_tx_hashes:
+ tx_hash.completed = True
+
+ om_gui.advise(_("Estimate recalculated"), 1)
+
+ pt.new_hash_tups = None
+
+ return True
+
+
+def reverse_txs(om_gui, treatments, confirm_multiples=True):
+ LOGGER.debug(treatments)
+ pt = om_gui.pt
+ courseno = pt.treatment_course.courseno
+ if len(treatments) > 1 and confirm_multiples:
+ txs = []
+ for att, treat in treatments:
+ txs.append((att, treat, True))
+ dl = CompleteTreatmentDialog(txs, om_gui)
+ if not dl.exec_():
+ return
+ treatments = dl.uncompleted_treatments
+ deleted_treatments = dl.deleted_treatments
+ else:
+ deleted_treatments = []
+
+ for att, treatment in treatments:
+ completed = pt.treatment_course.__dict__["%scmp"% att]
+
+ treat = treatment.strip(" ")
+ count = completed.split(" ").count(treat)
+ LOGGER.debug(
+ "creating tx_hash using %s %s %s"% (att, count, treat))
+ hash_ = localsettings.hash_func("%s%s%s%s"%(courseno, att, count, treat))
+ tx_hash = TXHash(hash_)
+
+ tx_hash_reverse(om_gui, tx_hash)
+
+ for att, treat, completed in deleted_treatments:
+ remove_treatments_from_plan_and_est(
+ om_gui, ((att, treat.strip(" ")),), completed)
+
+def complete_txs(om_gui, treatments, confirm_multiples=True):
+ '''
+ complete tooth treatment
+ #args is a list - ["ul5","MOD","RT",]
+ args is a list - [("ul5","MOD"),("ul5", "RT"), ("perio", "SP")]
+
+ '''
+ LOGGER.debug(treatments)
+
+ pt = om_gui.pt
+ courseno = pt.treatment_course.courseno
+ if len(treatments) > 1 and confirm_multiples:
+ txs = []
+ for att, treat in treatments:
+ txs.append((att, treat, False))
+ dl = CompleteTreatmentDialog(txs, om_gui)
+ dl.hide_reverse_all_but()
+ if not dl.exec_():
+ return
+ treatments = dl.completed_treatments
+ deleted_treatments = dl.deleted_treatments
+ else:
+ deleted_treatments = []
+
+ for att, treatment in treatments:
+ existingcompleted = pt.treatment_course.__dict__["%scmp"% att]
+ newcompleted = existingcompleted + treatment
+
+ treat = treatment.strip(" ")
+ count = newcompleted.split(" ").count(treat)
+ LOGGER.debug(
+ "creating tx_hash using %s %s %s"% (att, count, treat))
+ hash_ = localsettings.hash_func("%s%s%s%s"%(courseno, att, count, treat))
+ tx_hash = TXHash(hash_)
+
+ tx_hash_complete(om_gui, tx_hash)
+
+ for att, treat, completed in deleted_treatments:
+ remove_treatments_from_plan_and_est(
+ om_gui, ((att, treat.strip(" ")),), completed)
+
+def tx_hash_complete(om_gui, tx_hash):
+ '''
+ reponds to a signal when the user completes an item of treatment by
+ checking a checkbox on the estwidget
+ '''
+ LOGGER.debug(tx_hash)
+
+ pt = om_gui.pt
+ found = False
+ for hash_, att, treat_code in pt.tx_hash_tups:
+ #print "comparing %s with %s"% (hash_, tx_hash)
+ if hash_ == tx_hash:
+ found = True
+
+ #convert back from deciduous here
+ att = localsettings.convert_deciduous(att)
+ plan = pt.treatment_course.__dict__[att + "pl"].replace(
+ treat_code, "", 1)
+ pt.treatment_course.__dict__[att + "pl"] = plan
+
+ completed = pt.treatment_course.__dict__[att + "cmp"] \
+ + treat_code
+ pt.treatment_course.__dict__[att + "cmp"] = completed
+
+ if re.match("[ul][lr][1-8]", att):
+ charts_gui.updateChartsAfterTreatment(
+ om_gui, att, plan, completed)
+ toothName = pt.chartgrid.get(att, "").upper()
+
+ pt.addHiddenNote(
+ "chart_treatment", "%s %s"% (toothName, treat_code))
+
+ elif att in ("xray", "perio"):
+ pt.addHiddenNote("%s_treatment"%att, treat_code)
+
+ else:
+ pt.addHiddenNote("treatment", treat_code)
+
+ break
+
+ if not found:
+ msg = "Error moving %s from plan to completed"% tx_hash
+ om_gui.advise("<p>%s</p><hr />This shouldn't happen!"% msg, 2)
+ return
+
+ found = False
+ for estimate in pt.estimates:
+ for est_tx_hash in estimate.tx_hashes:
+ if est_tx_hash == tx_hash:
+ found = True
+ est_tx_hash.completed = True
+ if treat_code.strip(" ") == "!FEE":
+ om_gui.addNewNote(
+ "%s %s\n"% (_("Completed"), estimate.description))
+
+ if not found:
+ msg = "This item '%s' was not found in the patient's estimate"% tx_hash
+ om_gui.advise("<p>%s</p><hr />This shouldn't happen!"% msg, 2)
+ return
+
+ om_gui.ui.toothPropsWidget.setTooth(
+ om_gui.ui.toothPropsWidget.selectedTooth, om_gui.selectedChartWidget)
+
+ om_gui.updateHiddenNotesLabel()
+ om_gui.ui.estWidget.resetEstimate()
+ om_gui.updateDetails()
+
+def tx_hash_reverse(om_gui, tx_hash):
+ '''
+ reponds to a signal when the user completes an item of treatment by
+ checking a checkbox on the estwidget
+ '''
+ LOGGER.debug(tx_hash)
+
+ pt = om_gui.pt
+ found = False
+ for hash_, att, treat_code in pt.tx_hash_tups:
+ LOGGER.debug("comparing %s with %s"% (hash_, tx_hash))
+ if hash_ == tx_hash:
+ found = True
+
+ LOGGER.debug("MATCH!")
+
+ if att == "exam":
+ pt.treatment_course.examt = ""
+ pt.treatment_course.examd = None
+ pt.addHiddenNote("exam", treat_code, attempt_delete=True)
+ for estimate in pt.estimates:
+ for est_tx_hash in estimate.tx_hashes:
+ if est_tx_hash == tx_hash:
+ pt.estimates.remove(estimate)
+ break
+ break
+
+ #convert back from deciduous here
+ att = localsettings.convert_deciduous(att)
+
+ old_completed = pt.treatment_course.__dict__[att + "cmp"]
+ new_completed = old_completed.replace(treat_code, "", 1)
+ pt.treatment_course.__dict__[att + "cmp"] = new_completed
+
+ old_plan = pt.treatment_course.__dict__[att + "pl"]
+ #doubly cautious here to ensure single space separation
+ new_plan = "%s %s "% (old_plan.strip(" "), treat_code.strip(" "))
+ pt.treatment_course.__dict__[att + "pl"] = new_plan
+
+ if re.findall("[ul][lr][1-8]", att):
+ charts_gui.updateChartsAfterTreatment(
+ om_gui, att, new_plan, new_completed)
+ toothName = pt.chartgrid.get(att,"").upper()
+
+ pt.addHiddenNote(
+ "chart_treatment", "%s %s"% (toothName, treat_code),
+ attempt_delete=True)
+ elif att in ("xray", "perio"):
+ pt.addHiddenNote("%s_treatment"%att, treat_code,
+ attempt_delete=True)
+ else:
+ pt.addHiddenNote("treatment", treat_code,
+ attempt_delete=True)
+
+ break
+
+ if not found:
+ msg = "Error moving %s from completed to plan"% tx_hash
+ om_gui.advise("<p>%s</p><p>This shouldn't happen</p>"% msg, 1)
+
+ for estimate in pt.estimates:
+ for est_tx_hash in estimate.tx_hashes:
+ if est_tx_hash == tx_hash:
+ est_tx_hash.completed = False
+
+ om_gui.ui.toothPropsWidget.setTooth(
+ om_gui.ui.toothPropsWidget.selectedTooth, om_gui.selectedChartWidget)
+
+ om_gui.updateHiddenNotesLabel()
+ om_gui.ui.estWidget.resetEstimate()
+ om_gui.updateDetails()
+
+
+if __name__ == "__main__":
+ #-- test code
+
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ localsettings.station="reception"
+
+ from openmolar.qt4gui import maingui
+ from openmolar.dbtools import patient_class
+ LOGGER.setLevel(logging.DEBUG)
+
+ app = QtGui.QApplication([])
+ mw = maingui.OpenmolarGui()
+ mw.getrecord(11956)
+ #disable the functions called
+ mw.load_newEstPage = lambda : None
+
+ xrayAdd(mw)
+ perioAdd(mw)
+ otherAdd(mw)
+ customAdd(mw)
diff --git a/src/openmolar/qt4gui/fees/treatment_list_models.py b/src/openmolar/qt4gui/fees/treatment_list_models.py
new file mode 100644
index 0000000..2e1876b
--- /dev/null
+++ b/src/openmolar/qt4gui/fees/treatment_list_models.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import re
+from PyQt4 import QtGui, QtCore
+
+class TreatmentListModel(QtCore.QAbstractListModel):
+ '''
+ A simple model used to populate a combobox to select how the
+ appointment books are managed.
+ '''
+ def __init__(self, parent=None):
+ QtCore.QAbstractListModel.__init__(self, parent)
+
+ self.om_gui = parent
+
+ def rowCount(self, parent = QtCore.QModelIndex()):
+ return len(self._list)
+
+ @property
+ def _list(self):
+ return (["please", "overwrite", "TreatmentListModel._list",
+ "when", "subclassing!"])
+
+ def data(self, index, role):
+ if not index.isValid():
+ pass
+ elif role == QtCore.Qt.DisplayRole:
+ att, tx = self._list[index.row()]
+ return "%s %s"% (att.ljust(8), tx)
+ return QtCore.QVariant()
+
+ def att_vals(self, index):
+ '''
+ returns a tuple, treatment course attribute, value
+ '''
+ att, tx = self._list[index.row()]
+ m = re.match("(\d+)(.*)", tx)
+ if m:
+ values = []
+ for i in range(int(m.groups()[0])):
+ values.append(m.groups()[1])
+ else:
+ values = [tx]
+
+ return att, values
+
+class PlannedTreatmentListModel(TreatmentListModel):
+ @property
+ def _list(self):
+ #if self.om_gui is None or self.om_gui.pt is None:
+ # return []
+ try:
+ return self.om_gui.pt.treatment_course.non_tooth_plan_items
+ except AttributeError:
+ return []
+
+class CompletedTreatmentListModel(TreatmentListModel):
+ @property
+ def _list(self):
+ #if self.om_gui is None or self.om_gui.pt is None:
+ # return []
+ try:
+ return self.om_gui.pt.treatment_course.non_tooth_cmp_items
+ except AttributeError:
+ return []
+
+
+if __name__ == "__main__":
+ app = QtGui.QApplication([])
+
+ model = TreatmentListModel()
+
+ mw = QtGui.QMainWindow()
+
+ list_view = QtGui.QListView()
+ list_view.setModel(model)
+ mw.setCentralWidget(list_view)
+ mw.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/feescale_editor/__init__.py b/src/openmolar/qt4gui/feescale_editor/__init__.py
new file mode 100644
index 0000000..ce39028
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/__init__.py
@@ -0,0 +1 @@
+from feescale_editor import FeescaleEditor
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_choice_dialog.py b/src/openmolar/qt4gui/feescale_editor/feescale_choice_dialog.py
new file mode 100644
index 0000000..ee06db9
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_choice_dialog.py
@@ -0,0 +1,69 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from functools import partial
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+class ChoiceDialog(BaseDialog):
+ def __init__(self, message, list_, parent=None):
+ BaseDialog.__init__(self, parent, remove_stretch=True)
+ self.setWindowTitle(_("Feescale Choice Dialog"))
+ self.chosen_index = None
+
+ label = QtGui.QLabel(message)
+
+ scroll_area = QtGui.QScrollArea()
+ frame = QtGui.QFrame()
+ scroll_area.setWidget(frame)
+ scroll_area.setWidgetResizable(True)
+ self.but_layout = QtGui.QVBoxLayout(frame)
+
+ self.insertWidget(label)
+ self.insertWidget(scroll_area)
+
+ self.apply_but.hide()
+ self.add_buttons(list_)
+
+ def sizeHint(self):
+ return QtCore.QSize(300, 300)
+
+ def add_buttons(self, choices):
+ for i, choice in enumerate(choices):
+ but = QtGui.QPushButton(choice)
+ but.clicked.connect(partial(self.but_clicked, i))
+ self.but_layout.addWidget(but)
+ self.but_layout.addStretch(100)
+
+ def but_clicked(self, index):
+ self.chosen_index = index
+ self.accept()
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+
+ app = QtGui.QApplication([])
+ dl = ChoiceDialog("Make a choice", ["A", "B", "C"])
+ if dl.exec_():
+ print dl.chosen_index
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_compare_items_dockwidget.py b/src/openmolar/qt4gui/feescale_editor/feescale_compare_items_dockwidget.py
new file mode 100644
index 0000000..99785e9
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_compare_items_dockwidget.py
@@ -0,0 +1,87 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import re
+import sys
+from gettext import gettext as _
+
+from PyQt4 import QtCore, QtGui
+from openmolar.qt4gui.feescale_editor.feescale_xml_editor import XMLEditor
+LOGGER = logging.getLogger("openmolar")
+
+class CompareWidget(QtGui.QWidget):
+ def __init__(self, parser, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.parser = parser
+ label = QtGui.QLabel(parser.detailed_label_text)
+ self.xml_editor = XMLEditor()
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(label)
+ layout.addWidget(self.xml_editor)
+
+ def set_item_id(self, item_id):
+ node = self.parser.itemnode_from_id(item_id, ignore_prefix=True)
+ if node:
+ self.xml_editor.setText(re.sub("\t", "", node.toxml()))
+ else:
+ self.xml_editor.setText(_("No Match Found"))
+
+class CompareItemsDockWidget(QtGui.QDockWidget):
+ def __init__(self, parsers, parent=None):
+ QtGui.QDockWidget.__init__(self, parent)
+
+ self.setWindowTitle(_("Compare Items"))
+ splitter = QtGui.QSplitter(self)
+ self.compare_widgets = []
+ for parser in parsers:
+ compare_widget = CompareWidget(parser, self)
+ splitter.addWidget(compare_widget)
+ self.compare_widgets.append(compare_widget)
+
+ self.setWidget(splitter)
+
+ def set_item_id(self, item_id):
+ for widget in self.compare_widgets:
+ widget.set_item_id(item_id)
+
+ def sizeHint(self):
+ return QtCore.QSize(800, 300)
+
+if __name__ == "__main__":
+ class _MockNode(object):
+ def toxml(self):
+ return "Mock Node"
+
+ class _MockParser(object):
+ label_text = "Mock"
+ def itemnode_from_id(self, id, ignore_prefix):
+ return _MockNode()
+
+
+ mp1, mp2 = _MockParser(), _MockParser()
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication(sys.argv)
+ cidw = CompareItemsDockWidget([mp1, mp2])
+ cidw.show()
+ app.exec_()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_diff_dialog.py b/src/openmolar/qt4gui/feescale_editor/feescale_diff_dialog.py
new file mode 100644
index 0000000..b5a33ab
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_diff_dialog.py
@@ -0,0 +1,270 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import difflib
+import logging
+import re
+import os
+import sys
+from xml.dom import minidom
+
+from PyQt4 import QtCore, QtGui
+from openmolar.qt4gui import resources_rc
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+from feescale_xml_editor import XMLEditor
+
+class DiffDialog(BaseDialog):
+ def __init__(self, text1, text2, parent=None):
+ BaseDialog.__init__(self, parent, remove_stretch=True)
+ self.text1 = text1
+ self.text2 = text2
+
+ self.window_title = _("Diff Dialog")
+ self.setWindowTitle(self.window_title)
+
+ self.main_toolbar = QtGui.QToolBar()
+ self.main_toolbar.setObjectName("Main Toolbar")
+ self.main_toolbar.toggleViewAction().setText(_("Toolbar"))
+
+ self.xml_editor1 = XMLEditor()
+ self.xml_editor1.editor_settings()
+ self.xml_editor1.setFolding(self.xml_editor1.BoxedFoldStyle)
+ self.xml_editor1.setMarkerBackgroundColor(
+ QtGui.QColor("#44ee44"), self.xml_editor1.MARKER_COLUMN)
+ self.xml_editor1.setIndicatorForegroundColor(
+ QtGui.QColor("#55ff55"), self.xml_editor1.highlight_index)
+
+ self.xml_editor2 = XMLEditor()
+ self.xml_editor2.editor_settings()
+ self.xml_editor2.setFolding(self.xml_editor2.BoxedFoldStyle)
+ self.xml_editor2.setIndicatorForegroundColor(
+ QtGui.QColor("#ff5555"), self.xml_editor1.highlight_index)
+
+ self.xml_editor1.verticalScrollBar().hide()
+ self.xml_editor2.verticalScrollBar().valueChanged.connect(
+ self.xml_editor1.verticalScrollBar().setValue)
+
+ action_show_min_diffs = QtGui.QAction(_("Show Standard Diffs"), self)
+ action_show_full_diffs = QtGui.QAction(_("Show Full Diffs"), self)
+
+ icon = QtGui.QIcon.fromTheme("application-exit")
+ action_quit = QtGui.QAction(icon, _("Quit"), self)
+
+ self.main_toolbar.addAction(action_show_min_diffs)
+ self.main_toolbar.addAction(action_show_full_diffs)
+ self.main_toolbar.addAction(action_quit)
+
+ splitter = QtGui.QSplitter()
+ splitter.addWidget(self.xml_editor1)
+ splitter.addWidget(self.xml_editor2)
+ #splitter.setSizes([150, 650])
+
+ self.insertWidget(self.main_toolbar)
+ self.insertWidget(splitter)
+
+ action_show_min_diffs.triggered.connect(self.load_diffs)
+ action_show_full_diffs.triggered.connect(self.load_full_diffs)
+ action_quit.triggered.connect(self.reject)
+
+ self.load_diffs()
+
+ def sizeHint(self):
+ return QtCore.QSize(800,500)
+
+ def text_editors_to_unidiff_mode(self, unidiff_mode=True):
+ for editor in (self.xml_editor1, self.xml_editor2):
+ if unidiff_mode:
+ editor.setMarginLineNumbers(0, False)
+ editor.setMarginType(0, editor.TextMargin)
+ else:
+ editor.setMarginLineNumbers(0, True)
+
+ def load_diffs(self):
+ self.text_editors_to_unidiff_mode()
+ text1, text2 = "", ""
+ arrows1, highlights1 = [], []
+ arrows2, highlights2 = [], []
+ line_no1, line_no2 = 0, 0
+ PADDING = 2
+ diffs = difflib.unified_diff(
+ self.text1.splitlines(True),
+ self.text2.splitlines(True), n=PADDING
+ )
+
+ for line_ in diffs:
+ if line_.strip() in ("---", "+++"):
+ continue
+ if "@@" in line_:
+ LOGGER.debug(line_.strip())
+ m = re.match("@@ \-(\d+),?(\d+)? \+(\d+),?(\d+)? @@", line_)
+ if m:
+ LOGGER.debug("match! %s"% str(m.groups()))
+ if (line_no1 + line_no2) != 0:
+ text1 += "\n\n"
+ text2 += "\n\n"
+ line_no1 += 2
+ line_no2 += 2
+ #create tuple start, end, mapping
+ start_ = int(m.groups()[0])
+ try:
+ end_ = start_ + int(m.groups()[1])
+ except TypeError:
+ end_ = start_
+ highlights1.append((start_, end_, line_no1))
+ start_ = int(m.groups()[2])
+ try:
+ end_ = start_ + int(m.groups()[3])
+ except TypeError:
+ end_ = start_
+ highlights2.append((start_, end_, line_no2))
+ continue
+ chr1 = line_[0]
+ if chr1 == "+":
+ arrows2.append(line_no2)
+ formatted_line = (line_)[1:]
+ line_no2 += 1
+ elif chr1 == "-":
+ arrows1.append(line_no1)
+ formatted_line = (line_)[1:]
+ line_no1 += 1
+ else:
+ formatted_line =line_
+ line_no1 += 1
+ line_no2 += 1
+
+ if not chr1 == "-":
+ text2 += formatted_line
+ if not chr1 == "+":
+ text1 += formatted_line
+
+ pad_lines = len(text1.splitlines()) - len(text2.splitlines())
+ pad1 = pad_lines if pad_lines >0 else 0
+ pad2 = -pad_lines if pad_lines <0 else 0
+
+ self.xml_editor1.setText(text1 + ("\n" * pad1))
+ self.xml_editor2.setText(text2 + ("\n" * pad2))
+
+ for lineno_start, lineno_end, offset in highlights1:
+ for i, line_no in enumerate(range(lineno_start, lineno_end)):
+ self.xml_editor1.setMarginText(offset+i, "%d"%(line_no), 0)
+
+ for lineno in arrows1:
+ self.xml_editor1.highlight_line(lineno)
+
+ for lineno_start, lineno_end, offset in highlights2:
+ for i, line_no in enumerate(range(lineno_start, lineno_end)):
+ self.xml_editor2.setMarginText(offset+i, "%d"%(line_no), 0)
+
+ for lineno in arrows2:
+ self.xml_editor2.highlight_line(lineno)
+
+ def load_full_diffs(self):
+ self.text_editors_to_unidiff_mode(False)
+ arrows1, highlights1 = [], []
+ arrows2, highlights2 = [], []
+ offset1, offset2 = -1, -1
+
+ PADDING = 4
+ lines1 = self.text1.splitlines(True)
+ lines2 = self.text2.splitlines(True)
+ diffs = difflib.unified_diff(lines1, lines2 , n=PADDING)
+
+ for line_ in diffs:
+ if line_.strip() in ("---", "+++"):
+ continue
+ m = re.match("@@ \-(\d+),?(\d+)? \+(\d+),?(\d+)? @@", line_)
+ if m:
+ #create tuple start, end
+ text1_start = int(m.groups()[0])
+ try:
+ text1_end = text1_start + int(m.groups()[1])
+ except TypeError:
+ text1_end = text1_start
+ highlights1.append((text1_start, text1_end))
+ text2_start = int(m.groups()[2])
+ try:
+ text2_end = text2_start + int(m.groups()[3])
+ except TypeError:
+ text2_end = text2_start
+ highlights2.append((text2_start, text2_end))
+
+ offset1, offset2 = -1, -1
+ continue
+ chr1 = line_[0]
+ if chr1 == "+":
+ arrows2.append(text2_start + offset2)
+ offset2 += 1
+ elif chr1 == "-":
+ arrows1.append(text1_start + offset1)
+ offset1 += 1
+ else:
+ offset1 += 1
+ offset2 += 1
+
+ pad_lines = len(lines2) - len(lines1)
+ pad1 = pad_lines if pad_lines >0 else 0
+ pad2 = -pad_lines if pad_lines <0 else 0
+
+ self.xml_editor1.setText(self.text1 + ("\n" * pad1))
+ self.xml_editor2.setText(self.text2 + ("\n" * pad2))
+
+ for lineno_start, lineno_end in highlights1:
+ for line_no in range(lineno_start, lineno_end):
+ self.xml_editor1.setMarginText(line_no, "%d"%(line_no), 0)
+ for lineno in arrows1:
+ self.xml_editor1.highlight_line(lineno)
+
+ for lineno_start, lineno_end in highlights2:
+ for line_no in range(lineno_start, lineno_end):
+ self.xml_editor2.setMarginText(line_no, "%d"%(line_no), 0)
+ for lineno in arrows2:
+ self.xml_editor2.highlight_line(lineno)
+
+
+ def files_are_identical(self):
+ if (self.xml_editor1.text_object.text ==
+ self.xml_editor2.text_object.text):
+ QtGui.QMessageBox.information(self, _("Information"),
+ _("Files are identical"))
+ return True
+
+ def exec_(self):
+ if self.files_are_identical():
+ return False
+ return BaseDialog.exec_(self)
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication(sys.argv)
+ test_node = "<node>\n hello\n</node>\n"
+ orig = test_node * 10
+ new = test_node * 4
+ new += "<node>\n world\n</node>\n"
+ new += test_node * 2
+ new += "<node>\n <subnode>\n hello\n <subnode>\n</node>\n"
+ new += test_node * 2
+ dl = DiffDialog(orig, new)
+ dl.exec_()
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_editor.py b/src/openmolar/qt4gui/feescale_editor/feescale_editor.py
new file mode 100755
index 0000000..cfddefd
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_editor.py
@@ -0,0 +1,777 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from functools import partial
+import logging
+import re
+import os
+import sys
+from gettext import gettext as _
+from xml.dom import minidom
+
+from PyQt4 import QtCore, QtGui
+from openmolar.qt4gui import resources_rc
+
+LOGGER = logging.getLogger("openmolar")
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ LOGGER.warning("using openmolar.backports for OrderedDict")
+ from openmolar.backports import OrderedDict
+
+from feescale_parser import FeescaleParser
+from feescale_list_model import ItemsListModel, ComplexShortcutsListModel
+from feescale_xml_editor import XMLEditor
+from feescale_compare_items_dockwidget import CompareItemsDockWidget
+from feescale_input_dialogs import *
+from feescale_diff_dialog import DiffDialog
+from feescale_choice_dialog import ChoiceDialog
+
+from openmolar.dbtools.feescales import feescale_handler, FEESCALE_DIR
+
+class ControlPanel(QtGui.QTabWidget):
+ item_selected = QtCore.pyqtSignal(object)
+ shortcut_selected = QtCore.pyqtSignal(object)
+ compare_item_signal = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ QtGui.QTabWidget.__init__(self, parent)
+ self.items_list_view = QtGui.QListView()
+ self.complex_shortcuts_list_view = QtGui.QListView()
+
+ self.addTab(self.items_list_view, "Items")
+ self.addTab(self.complex_shortcuts_list_view, "Complex Shortcuts")
+
+ self.items_list_view.doubleClicked.connect(self.show_item_context_menu)
+
+ def set_parser(self, parser):
+ list_model = ItemsListModel(parser)
+ self.items_list_view.setModel(list_model)
+ self.items_list_view.selectionModel().currentRowChanged.connect(
+ self._item_selected)
+
+ list_model = ComplexShortcutsListModel(parser)
+ self.complex_shortcuts_list_view.setModel(list_model)
+ self.complex_shortcuts_list_view.selectionModel(
+ ).currentRowChanged.connect(self._shortcut_selected)
+
+ def _item_selected(self, new_index, old_index):
+ self.item_selected.emit(new_index)
+
+ def _shortcut_selected(self, new_index, old_index):
+ self.shortcut_selected.emit(new_index)
+
+ def show_item_context_menu(self, index):
+ id = self.items_list_view.model().id_from_index(index)
+ qmenu = QtGui.QMenu(self)
+
+ compare_action = QtGui.QAction("%s %s %s"%(_("Compare"),
+ id, _("with similar ids in other feescales")), self)
+ cancel_action = QtGui.QAction(_("Cancel"), self)
+ #not connected to anything.. f clicked menu will simply die!
+
+ compare_action.triggered.connect(
+ partial(self.compare_item_signal.emit, id))
+
+ qmenu.addAction(compare_action)
+ qmenu.addSeparator()
+ qmenu.addAction(cancel_action)
+
+ qmenu.setDefaultAction(compare_action)
+
+ point = self.items_list_view.mapFromGlobal(QtGui.QCursor.pos())
+ point = QtGui.QCursor.pos()
+ qmenu.exec_(point)
+
+
+class FeescaleEditor(QtGui.QMainWindow):
+ _checking_files = False
+ _known_deleted_parsers = []
+ _compare_items_dockwidget = None
+ search_text = ""
+ closed_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QMainWindow.__init__(self, parent)
+ self.window_title = _("Feescale Editor")
+ self.setWindowTitle(self.window_title)
+ self.loading = True
+
+ statusbar = QtGui.QStatusBar()
+ self.setStatusBar(statusbar)
+
+ self.control_panel = ControlPanel()
+ self.control_panel.item_selected.connect(self.find_item)
+ self.control_panel.compare_item_signal.connect(self.compare_item)
+ self.control_panel.shortcut_selected.connect(self.find_shortcut)
+
+ self.list_view = self.control_panel.items_list_view
+
+ #: a pointer to the label in the statusbar
+ self.cursor_pos_label = QtGui.QLabel("Line 0, Column 0")
+ statusbar.addPermanentWidget(self.cursor_pos_label)
+
+ self.main_toolbar = QtGui.QToolBar()
+ self.main_toolbar.setObjectName("Main Toolbar")
+ self.main_toolbar.toggleViewAction().setText(_("Toolbar"))
+
+ self.prefs_toolbar = QtGui.QToolBar()
+ self.prefs_toolbar.setObjectName("Prefs Toolbar")
+ self.prefs_toolbar.toggleViewAction().setText(_("Preferences Toolbar"))
+
+ self.diffs_toolbar = QtGui.QToolBar()
+ self.diffs_toolbar.setObjectName("Diffs Toolbar")
+ self.diffs_toolbar.toggleViewAction().setText(_("Diffs Toolbar"))
+
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.main_toolbar)
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.prefs_toolbar)
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.diffs_toolbar)
+
+ menu_file = QtGui.QMenu(_("&File"), self)
+ menu_edit = QtGui.QMenu(_("&Edit"), self)
+ menu_database = QtGui.QMenu(_("&Database"), self)
+ menu_tools = QtGui.QMenu(_("&Tools"), self)
+ menu_preferences = QtGui.QMenu(_("&Preferences"), self)
+ menu_diffs = QtGui.QMenu(_("Diffs"), self)
+
+ self.menuBar().addMenu(menu_file)
+ self.menuBar().addMenu(menu_edit)
+ self.menuBar().addMenu(menu_database)
+ self.menuBar().addMenu(menu_tools)
+ self.menuBar().addMenu(menu_diffs)
+ self.menuBar().addMenu(menu_preferences)
+
+ icon = QtGui.QIcon(":database.png")
+ action_pull = QtGui.QAction(icon, _("Pull"), self)
+ action_pull.setToolTip(
+ _("generate local files containing the database feescales"))
+
+ icon = QtGui.QIcon(":database.png")
+ action_commit = QtGui.QAction(icon, _("Commit"), self)
+ action_commit.setToolTip(_("Commit changes to database"))
+
+ icon = QtGui.QIcon.fromTheme("document-save")
+ action_save = QtGui.QAction(icon, _("Save File"), self)
+ action_save.setShortcut("Ctrl+S")
+ action_save.setToolTip(_("Save Current File"))
+
+ icon = QtGui.QIcon.fromTheme("document-save-as")
+ action_save_as = QtGui.QAction(icon, _("Save File As"), self)
+ action_save_as.setToolTip(_("Save Current File to a new location"))
+
+ icon = QtGui.QIcon.fromTheme("document-save")
+ action_save_all = QtGui.QAction(icon, _("Save All Files"), self)
+ action_save_all.setToolTip(_("Save All Local Files"))
+
+ icon = QtGui.QIcon.fromTheme("view-refresh")
+ action_refresh = QtGui.QAction(icon, _("Refresh"), self)
+ action_refresh.setToolTip(_("refresh local files"))
+
+ icon = QtGui.QIcon.fromTheme("document-find")
+ action_find = QtGui.QAction(icon, _("Find"), self)
+ action_find.setShortcut("Ctrl+F")
+ action_find.setToolTip(
+ _("Search current file for first forward match of entered text"))
+
+ action_find_again = QtGui.QAction(icon, _("Find Again"), self)
+ action_find_again.setShortcut("Ctrl+G")
+ action_find_again.setToolTip(_("Search current file again for text"))
+
+ action_increment = QtGui.QAction(_("Increase/decrease fees"), self)
+ action_increment.setToolTip(_("Apply a percentage"))
+
+ action_roundup = QtGui.QAction(_("Round fees up/down"), self)
+ action_roundup.setToolTip(
+ _("Round fees up or down to a specified accuracy"))
+
+ action_charges = QtGui.QAction(
+ _("Relate charges to fees by percentage"), self)
+
+ action_zero_charges = QtGui.QAction(
+ _("Zero Patient Contributions"), self)
+ action_zero_charges.setToolTip(
+ _("Set all patient charges to Zero in the current feescale"))
+
+ icon = QtGui.QIcon.fromTheme("application-exit")
+ action_quit = QtGui.QAction(icon, _("Quit"), self)
+
+ action_diff = QtGui.QAction(_("Show Database Diff"), self)
+ action_diff.setToolTip(
+ _("Show the diff between the current file and the "
+ "corresponding file stored in the database"))
+
+ action_compare = QtGui.QAction(_("Compare 2 Feescales"), self)
+ action_compare.setToolTip(
+ _("Show the diff between the current file and a selected other"))
+
+ self.main_toolbar.addAction(action_pull)
+ self.main_toolbar.addAction(action_commit)
+ self.main_toolbar.addAction(action_save)
+ self.main_toolbar.addAction(action_save_as)
+ self.main_toolbar.addAction(action_save_all)
+ self.main_toolbar.addAction(action_refresh)
+ self.main_toolbar.addAction(action_quit)
+
+ menu_file.addAction(action_save)
+ menu_file.addAction(action_save_as)
+ menu_file.addAction(action_save_all)
+ menu_file.addAction(action_refresh)
+ menu_file.addAction(action_quit)
+
+ menu_edit.addAction(action_find)
+ menu_edit.addAction(action_find_again)
+
+ menu_database.addAction(action_pull)
+ menu_database.addAction(action_commit)
+
+ menu_tools.addAction(action_increment)
+ menu_tools.addAction(action_roundup)
+ menu_tools.addAction(action_charges)
+ menu_tools.addAction(action_zero_charges)
+
+ menu_diffs.addAction(action_diff)
+ menu_diffs.addAction(action_compare)
+
+ self.tab_widget = QtGui.QTabWidget()
+
+ self.feescale_parsers = OrderedDict()
+ self.text_editors = []
+ self.feescale_handler = feescale_handler
+
+ self.action_refactor = QtGui.QAction(_("XML tidy"), self)
+ self.action_refactor.triggered.connect(self.refactor)
+
+ self.action_check_parseable = QtGui.QAction(_("Check Well Formed"), self)
+ self.action_check_parseable.triggered.connect(self.check_parseable)
+
+ self.action_check_validity = QtGui.QAction(_("Check Validity"), self)
+ self.action_check_validity.triggered.connect(self.check_validity)
+
+ menu_preferences.addAction(self.action_refactor)
+ menu_preferences.addAction(self.action_check_parseable)
+ menu_preferences.addAction(self.action_check_validity)
+
+ self.prefs_toolbar.addAction(self.action_refactor)
+ self.prefs_toolbar.addAction(self.action_check_parseable)
+ self.prefs_toolbar.addAction(self.action_check_validity)
+
+ self.diffs_toolbar.addAction(action_diff)
+ self.diffs_toolbar.addAction(action_compare)
+
+ splitter = QtGui.QSplitter()
+ splitter.addWidget(self.control_panel)
+ splitter.addWidget(self.tab_widget)
+ splitter.setSizes([150, 650])
+ self.setCentralWidget(splitter)
+
+ action_save.triggered.connect(self.save)
+ action_save_as.triggered.connect(self.save_as)
+ action_save_all.triggered.connect(self.save_files)
+ action_refresh.triggered.connect(self.refresh_files)
+
+ action_find.triggered.connect(self.find_text)
+ action_find_again.triggered.connect(self.find_again)
+
+ action_pull.triggered.connect(self.get_files_from_database)
+ action_commit.triggered.connect(self.apply_changes)
+
+ action_increment.triggered.connect(self.increase_fees)
+ action_roundup.triggered.connect(self.roundup_fees)
+ action_charges.triggered.connect(self.relate_charges_to_gross_fees)
+ action_zero_charges.triggered.connect(self.zero_charges)
+
+ action_diff.triggered.connect(self.show_database_diff)
+ action_compare.triggered.connect(self.compare_files)
+
+ self.tab_widget.currentChanged.connect(self.view_feescale)
+
+ QtCore.QTimer.singleShot(1000, self.start_)
+
+ QtGui.QApplication.instance().focusChanged.connect(
+ self._focus_changed)
+ action_quit.triggered.connect(
+ QtGui.QApplication.instance().closeAllWindows)
+
+ def advise(self, message, importance=0):
+ '''
+ notify user
+ '''
+ if importance is 0:
+ LOGGER.debug(message)
+ m = QtGui.QMessageBox(self)
+ m.setText(message)
+ m.setIcon(m.Information)
+ m.setStandardButtons(QtGui.QMessageBox.NoButton)
+ m.setWindowTitle(_("advisory"))
+ m.setModal(False)
+ QtCore.QTimer.singleShot(3*1000, m.accept)
+ m.show()
+ elif importance == 1:
+ LOGGER.info(message)
+ QtGui.QMessageBox.information(self, _("Advisory"), message)
+ else:
+ LOGGER.warning(message)
+ QtGui.QMessageBox.warning(self, _("Error"), message)
+
+ def sizeHint(self):
+ return QtCore.QSize(800,500)
+
+ def closeEvent(self, event=None):
+ '''
+ called when application closes.
+ '''
+ if self.is_dirty:
+ message = u"<b>%s</b><hr />%s"%(
+ _("WARNING - you have unsaved changes!"),
+ _("Are you sure you want to quit?"))
+
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ message,
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Cancel:
+ event.ignore()
+ return
+ self.closed_signal.emit()
+
+ def _focus_changed(self, o1d_widget, new_widget):
+ if o1d_widget is None:
+ self._check_for_newer_local_files()
+
+ def _check_for_newer_local_files(self):
+ if self._checking_files:
+ return
+ self._checking_files = True
+ for parser in self.feescale_parsers.values():
+ if parser in self._known_deleted_parsers:
+ pass
+ elif parser.is_deleted:
+ message = u"%s<br />%s<hr />%s"% (parser.filepath,
+ _("has been deleted!"),
+ _("Save now?") )
+ if QtGui.QMessageBox.question(self, _("Question"),
+ message,
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ self.feescale_handler.save_xml(parser.ix, parser.text)
+ self.advise(_("File Saved"), 1)
+ else:
+ self._known_deleted_parsers.append(parser)
+
+ elif parser.is_externally_modified:
+ message = u"%s<br />%s<hr />%s"% (parser.filepath,
+ _("has been modified!"),
+ _("Do you want to reload now and lose current changes?") \
+ if parser.is_dirty else _("Do you want to reload now?"))
+
+ if QtGui.QMessageBox.question(self, _("Question"),
+ message,
+ QtGui.QMessageBox.Yes|QtGui.QMessageBox.No,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ LOGGER.debug(
+ "reloading externally modified %s"% parser.filepath)
+ parser.refresh()
+ self.view_feescale(self.tab_widget.currentIndex())
+
+ parser.reset_orig_modified()
+
+ self._checking_files = False
+
+ def start_(self):
+ self.get_files_from_database()
+ self.load_feescales()
+ self.view_feescale(0)
+
+ def load_feescales(self):
+ self.loading = True
+ self.text_editors = []
+ self.feescale_parsers = OrderedDict()
+ for ix, filepath in self.feescale_handler.local_files:
+ fp = FeescaleParser(filepath, ix)
+ try:
+ fp.parse_file()
+ except:
+ message = u"%s '%s'"% (_("unable to parse file"), filepath)
+ self.advise(message, 2)
+ LOGGER.exception(message)
+
+ editor = XMLEditor()
+ editor.editor_settings()
+ editor.textChanged.connect(self.text_changed)
+ editor.editing_finished.connect(self.te_editing_finished)
+ editor.cursorPositionChanged.connect(self.cursor_position_changed)
+
+ title = fp.label_text
+ self.feescale_parsers[title] = fp
+ self.text_editors.append(editor)
+
+ self.tab_widget.addTab(editor, title)
+
+ self.loading = False
+
+ def view_feescale(self, i=0):
+ while self.loading:
+ QtCore.QTimer.singleShot(1000, self.view_feescale)
+ return
+ if len(self.text_editors) > 1:
+ text = self.current_parser.text
+ self.text_editors[i].setText(text)
+ self.setWindowTitle(
+ "%s - %s" %(self.window_title, self.current_parser.description))
+ self.update_index()
+ else:
+ QtGui.QMessageBox.information(self, _("Information"),
+ _("You appear to have no feescales installed in your database"))
+
+ def get_files_from_database(self):
+ '''
+ gets files from the database at startup
+ '''
+ unwritten, modified = \
+ self.feescale_handler.non_existant_and_modified_local_files()
+
+ for xml_file in unwritten:
+ f = open(xml_file.filepath, "w")
+ f.write(xml_file.data)
+ f.close()
+
+ self._checking_files = True
+
+ for xml_file in modified:
+ message = "%s '%s' %s<hr />%s"% (
+ _("Local Feescale"), xml_file.filepath,
+ _("differs from the database version"),
+ _("Do you wish to overwrite it with the stored data?"))
+
+ mb = QtGui.QMessageBox(None)
+ mb.setWindowTitle(_("Confirm"))
+ mb.setText(message)
+ mb.setIcon(mb.Question)
+ mb.addButton(_("Show Diff"), mb.DestructiveRole)
+ but = mb.addButton(mb.Cancel)
+ but.setText(_("Keep Local File Unchanged"))
+ but = mb.addButton(mb.Ok)
+ but.setText(_("Overwrite Local File"))
+
+ result = mb.exec_()
+ if result not in (mb.Ok, mb.Cancel):
+ #show diff
+ f = open(xml_file.filepath, "r")
+ local_data = f.read()
+ f.close()
+ dl = DiffDialog(xml_file.data, local_data)
+ dl.apply_but.setText(_("Overwrite Local File"))
+ dl.cancel_but.setText(_("Keep Local File Unchanged"))
+ dl.enableApply()
+ result = mb.Ok if dl.exec_() else mb.Cancel
+
+ if result == mb.Ok:
+ LOGGER.debug("saving file")
+ f = open(xml_file.filepath, "w")
+ f.write(xml_file.data)
+ f.close()
+ else:
+ LOGGER.debug("not saving file")
+
+ self._checking_files = False
+ self._check_for_newer_local_files()
+
+ def update_index(self):
+ self.control_panel.set_parser(self.current_parser)
+
+ @property
+ def text_edit(self):
+ return self.text_editors[self.tab_widget.currentIndex()]
+
+ @property
+ def current_parser(self):
+ return self.feescale_parsers.values()[self.tab_widget.currentIndex()]
+
+ def refactor(self):
+ if not self.check_parseable(show_message=False):
+ return
+ xml = unicode(self.text_edit.text().toUtf8())
+ xml = re.sub(">[\s]*<", "><", xml)
+ dom = minidom.parseString(xml)
+
+ #don't use setText here that updates orig_text and is_dirty won't work
+ self.text_edit.update_text(dom.toprettyxml())
+
+ def check_parseable(self, action=None, show_message=True):
+ xml = self.text_edit.text().toUtf8()
+ try:
+ minidom.parseString(xml)
+ if show_message:
+ self.advise(_("feescale is well formed"), 1)
+ return True
+ except Exception as exc:
+ self.advise(u"<b>%s</b><hr />%s"% (
+ _("feescale is not well formed"), exc.message), 2)
+ return False
+
+ def check_validity(self):
+ xml = self.text_edit.text().toUtf8()
+ result, message = self.current_parser.check_validity(xml)
+ if result:
+ self.advise(_("feescale is valid"), 1)
+ else:
+ self.advise(_(message), 1)
+
+ def find_item(self, index):
+ item_count = 0
+ for lineno, line in enumerate(self.text_edit.text().split("\n")):
+ if item_count == index.row()+1:
+ self.text_edit.setFocus(True)
+ self.text_edit.setFirstVisibleLine(lineno-2)
+ self.text_edit.setCursorPosition(lineno-1, 0)
+ self.text_edit.ensureCursorVisible()
+ break
+
+ if "<item"in line:
+ item_count += 1
+ if self._compare_items_dockwidget:
+ id = self.list_view.model().id_from_index(index)
+ self.compare_item(id)
+
+ def compare_item(self, item_id):
+ LOGGER.debug(item_id)
+ self.compare_items_dockwidget.set_item_id(item_id)
+ self.compare_items_dockwidget.show()
+
+ @property
+ def compare_items_dockwidget(self):
+ if self._compare_items_dockwidget is None:
+ self._compare_items_dockwidget= CompareItemsDockWidget(
+ self.feescale_parsers.values(), self)
+ self.addDockWidget(QtCore.Qt.BottomDockWidgetArea,
+ self._compare_items_dockwidget)
+ return self._compare_items_dockwidget
+
+ def find_shortcut(self, index):
+ count_ = 0
+ for lineno, line in enumerate(self.text_edit.text().split("\n")):
+ if count_ == index.row()+1:
+ self.text_edit.setFocus(True)
+ self.text_edit.setCursorPosition(lineno-1, 0)
+ self.text_edit.ensureCursorVisible()
+ break
+
+ if "<complex_shortcut"in line:
+ count_ += 1
+
+ def find_text(self):
+ self.search_text, result = QtGui.QInputDialog.getText(
+ self, _("Find Text"),
+ _("Please enter the text you wish to search for"),
+ QtGui.QLineEdit.Normal, self.search_text)
+ if result:
+ self.find_again()
+
+ def find_again(self):
+ if not self.text_edit.findFirst(
+ self.search_text, True, True, True, True):
+ self.advise("'%s' %s"% (self.search_text, _("not found")))
+
+ def roundup_fees(self):
+ dl = RoundupFeesDialog(self)
+ if dl.exec_():
+ if dl.alter_gross:
+ func_ = self.current_parser.roundup_fees
+ else:
+ func_ = self.current_parser.roundup_charges
+ func_(dl.round_value, dl.round_up, dl.round_down)
+
+ self.text_edit.setText(self.current_parser.text)
+ self.advise(dl.message, 1)
+
+ def increase_fees(self):
+ dl = PercentageInputDialog(self)
+ if dl.exec_():
+ if dl.alter_gross:
+ self.current_parser.increase_fees(dl.percentage)
+ else:
+ self.current_parser.increase_charges(dl.percentage)
+ self.text_edit.setText(self.current_parser.text)
+ self.advise(dl.message, 1)
+
+ def relate_charges_to_gross_fees(self):
+ dl = ChargePercentageInputDialog(self)
+ if dl.exec_():
+ self.current_parser.relate_charges_to_gross_fees(
+ dl.percentage, dl.leave_zero_charges_unchanged)
+ self.text_edit.setText(self.current_parser.text)
+ self.advise(dl.message, 1)
+
+ def zero_charges(self):
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ _("Zero all patient charges in the current feescale?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Ok:
+ self.current_parser.zero_charges()
+ self.text_edit.setText(self.current_parser.text)
+
+ def save_files(self):
+ if QtGui.QMessageBox.question(self, _("confirm"),
+ _("Save all files?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel
+ ) == QtGui.QMessageBox.Cancel:
+ return
+
+ i = 0
+ for parser in self.feescale_parsers.itervalues():
+ if parser in self._known_deleted_parsers:
+ self._known_deleted_parsers.remove(parser)
+ if not parser.is_dirty:
+ continue
+
+ if self.feescale_handler.save_xml(parser.ix, parser.text):
+ parser.saved_xml = parser.text
+ parser.reset_orig_modified()
+ i += 1
+ self.advise(u"%s %s"% (i, _("Files saved")), 1)
+
+ def save(self):
+ LOGGER.debug("save")
+ self.save_as(filepath = self.current_parser.filepath)
+
+ def save_as(self, bool_=None, filepath=None):
+ '''
+ save the template, so it can be re-used in future
+ '''
+ LOGGER.debug(filepath)
+ parser = self.current_parser
+ try:
+ if filepath is None:
+ filepath = QtGui.QFileDialog.getSaveFileName(self,
+ _("save as"),parser.filepath,
+ "%s %s"% (_("xml_files"),"(*.xml)"))
+ if filepath == '':
+ return
+ if not re.match(".*\.xml$", filepath):
+ filepath += ".xml"
+ f = open(filepath, "w")
+ f.write(parser.text)
+ f.close()
+ if filepath != parser.filepath:
+ self.advise("%s %s"% (_("Copy saved to"), filepath), 1)
+ if os.path.dirname(filepath) == FEESCALE_DIR:
+ self.advise(_("Reload files to edit the new feescale"), 1)
+ else:
+ if parser in self._known_deleted_parsers:
+ self._known_deleted_parsers.remove(parser)
+ parser.saved_xml = parser.text
+ parser.reset_orig_modified()
+ self.advise(_("File Saved"), 1)
+ except Exception as exc:
+ LOGGER.exception("unable to save")
+ self.advise(_("File not saved")+" - %s"% exc, 2)
+
+ def refresh_files(self):
+ if self.is_dirty and (
+ QtGui.QMessageBox.question(self, _("confirm"),
+ u"<b>%s</b><hr />%s"%(
+ _("Warning - you have unsaved changes,"" "
+ "if you refresh now, these will be lost"),
+ _("Refresh anyway?")),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel
+ ) == QtGui.QMessageBox.Cancel):
+ return
+
+ for fp in self.feescale_parsers.values():
+ fp.refresh()
+ self.view_feescale(self.tab_widget.currentIndex())
+
+ def apply_changes(self):
+ if QtGui.QMessageBox.question(self, _("confirm"),
+ _("commit all local files to database?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel
+ ) == QtGui.QMessageBox.Ok:
+ message = self.feescale_handler.update_db_all()
+ LOGGER.info("message")
+ self.advise("<pre>%s</pre>"% message, 1)
+
+ def cursor_position_changed(self, row, col):
+ self.cursor_pos_label.setText("Line %d, Column %d"% (row+1, col))
+
+ def text_changed(self):
+ new_text = self.text_edit.text()
+ if self.current_parser.text.count("\n") == new_text.count("\n"):
+ return
+ if self.current_parser.set_edited_text(new_text):
+ self.update_index()
+
+ def te_editing_finished(self, te):
+ i = self.text_editors.index(te)
+ new_text = te.text()
+ self.feescale_parsers.values()[i].set_edited_text(new_text)
+
+ def show_database_diff(self):
+ orig = self.feescale_handler.get_feescale_from_database(
+ self.current_parser.ix)
+ new = unicode(self.text_edit.text().toUtf8())
+ dl = DiffDialog(orig, new)
+ dl.exec_()
+
+ def compare_files(self):
+ options = []
+ for i in range(self.tab_widget.count()):
+ if i != self.tab_widget.currentIndex():
+ options.append(self.tab_widget.tabText(i))
+
+ if len(options) == 1:
+ QtGui.QMessageBox.information(self, _("whoops"),
+ _("you have no other files available for comparison"))
+ return
+
+ message = "%s<br /><b>%s (%s)</b><hr />%s"% (
+ _("Which feescale would you like to compare "
+ "with the current feescale"),
+ self.current_parser.ix,
+ self.current_parser.description,
+ _("Please make a choice"))
+
+ dl = ChoiceDialog(message, options, self)
+ if dl.exec_():
+ chosen = dl.chosen_index
+
+ orig = unicode(self.text_edit.text().toUtf8())
+ new = unicode(self.text_editors[chosen].text().toUtf8())
+ dl = DiffDialog(orig, new)
+ dl.exec_()
+
+ @property
+ def is_dirty(self):
+ try:
+ for parser in self.feescale_parsers.values():
+ if parser.is_dirty:
+ LOGGER.debug("%s is dirty"% parser.filepath)
+ return True
+ return False
+ except:
+ LOGGER.exception("property_exception")
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication(sys.argv)
+ mw = FeescaleEditor()
+ mw.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_input_dialogs.py b/src/openmolar/qt4gui/feescale_editor/feescale_input_dialogs.py
new file mode 100644
index 0000000..90a3ad5
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_input_dialogs.py
@@ -0,0 +1,190 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from gettext import gettext as _
+
+from PyQt4 import QtCore, QtGui
+from openmolar.settings import localsettings
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+__all__ = [
+ "PercentageInputDialog",
+ "RoundupFeesDialog",
+ "ChargePercentageInputDialog"
+ ]
+
+class _InputDialog(BaseDialog):
+ def __init__(self, parent=None):
+ BaseDialog.__init__(self, parent)
+ self.setWindowTitle(_("Input Required"))
+ self.label = QtGui.QLabel()
+ self.spinbox = QtGui.QDoubleSpinBox()
+ self.spinbox.setMinimum(-100)
+ self.spinbox.setMaximum(100)
+ self.spinbox.setDecimals(2)
+
+ self.gross_radio_button = QtGui.QRadioButton(_("apply to gross fees"))
+ self.gross_radio_button.setChecked(True)
+ self.charge_radio_button = QtGui.QRadioButton(_("apply to charges"))
+
+ self.insertWidget(self.label)
+ self.insertWidget(self.spinbox)
+ self.insertWidget(self.gross_radio_button)
+ self.insertWidget(self.charge_radio_button)
+
+ self.spinbox.valueChanged.connect(self.check_enable)
+ self.spinbox.setFocus(True)
+
+ def sizeHint(self):
+ return QtCore.QSize(300, 200)
+
+ def check_enable(self, value):
+ self.enableApply(value!=0)
+
+ @property
+ def value(self):
+ return self.spinbox.value()
+
+ @property
+ def alter_gross(self):
+ return not self.charge_radio_button.isChecked()
+
+class PercentageInputDialog(_InputDialog):
+ def __init__(self, parent=None):
+ _InputDialog.__init__(self, parent)
+ self.label.setText(_("Please enter a percentage"))
+ self.spinbox.setSuffix("%")
+ self.spinbox.setMaximum(1000)
+
+ @property
+ def percentage(self):
+ return self.value
+
+ @property
+ def message(self):
+ if self.alter_gross:
+ message = _("gross fees have been increased by")
+ else:
+ message = _("charges have been increased by")
+ return "%s %.02f%%"% (message, self.percentage)
+
+class RoundupFeesDialog(_InputDialog):
+ ROUND_UP = 0
+ ROUND_DOWN = 1
+ ROUND_NEAREST = 2
+ def __init__(self, parent=None):
+ _InputDialog.__init__(self, parent)
+ self.label.setText(_("Please enter the precision you require"))
+ self.spinbox.setPrefix(localsettings.formatMoney(0)[0])
+ #self.spinbox.setValue(0.10)
+
+ self.round_down_radio_button = QtGui.QRadioButton(_("round down"))
+ self.round_up_radio_button = QtGui.QRadioButton(_("round up"))
+ self.round_to_nearest_radio_button = QtGui.QRadioButton(
+ _("round up/down to nearest value"))
+ self.round_to_nearest_radio_button.setChecked(True)
+
+ frame = QtGui.QFrame()
+ layout = QtGui.QVBoxLayout(frame)
+ layout.addWidget(self.round_up_radio_button)
+ layout.addWidget(self.round_down_radio_button)
+ layout.addWidget(self.round_to_nearest_radio_button)
+
+ self.insertWidget(frame)
+
+ @property
+ def preference(self):
+ if self.round_up_radio_button.isChecked():
+ return self.ROUND_UP
+ if self.round_up_radio_button.isChecked():
+ return self.ROUND_DOWN
+ return self.ROUND_NEAREST
+
+ @property
+ def round_up(self):
+ return self.preference == self.ROUND_UP
+
+ @property
+ def round_down(self):
+ return self.preference == self.ROUND_DOWN
+
+ @property
+ def round_value(self):
+ return int(100 * self.value)
+
+ @property
+ def message(self):
+ if self.preference == self.ROUND_UP:
+ message1 = _("rounded up to the nearest")
+ elif self.preference == self.ROUND_DOWN:
+ message1 = _("rounded down to the nearest")
+ else:
+ message1 = _("rounded to the nearest")
+
+ if self.alter_gross:
+ message2 = _("gross fees have been")
+ else:
+ message2 = _("charges have been")
+ return "%s %s %.02f"% (message2, message1, self.value)
+
+class ChargePercentageInputDialog(_InputDialog):
+ def __init__(self, parent=None):
+ _InputDialog.__init__(self, parent)
+ self.label.setText(_("Please enter a percentage"))
+ self.spinbox.setSuffix("%")
+
+ self.charge_radio_button.hide()
+ self.gross_radio_button.hide()
+
+ self.leave_zero_charges_checkBox = QtGui.QCheckBox(
+ _("Leave Zero Charges as Zero"))
+ self.leave_zero_charges_checkBox.setChecked(True)
+ self.insertWidget(self.leave_zero_charges_checkBox)
+
+ @property
+ def percentage(self):
+ return self.value
+
+ @property
+ def message(self):
+ return "%s %s %s"% (
+ _("charges set at"), self.percentage, _("of the fees"))
+
+ @property
+ def leave_zero_charges_unchanged(self):
+ return self.leave_zero_charges_checkBox.isChecked()
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication([])
+ dl = PercentageInputDialog()
+ if dl.exec_():
+ print dl.message
+ dl = RoundupFeesDialog()
+ if dl.exec_():
+ print dl.message
+ dl = ChargePercentageInputDialog()
+ if dl.exec_():
+ print dl.message
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_list_model.py b/src/openmolar/qt4gui/feescale_editor/feescale_list_model.py
new file mode 100644
index 0000000..cbe4b1c
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_list_model.py
@@ -0,0 +1,62 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+
+from PyQt4 import QtCore
+
+LOGGER = logging.getLogger("openmolar")
+
+class ItemsListModel(QtCore.QAbstractListModel):
+ def __init__(self, feescale_parser):
+ QtCore.QAbstractListModel.__init__(self)
+ self.feescale_parser = feescale_parser
+ self._rowcount = None
+
+ def rowCount(self, index):
+ if self._rowcount is None:
+ self._rowcount = len(self.feescale_parser.items)
+ return self._rowcount
+
+ def data(self, index, role):
+ if role == QtCore.Qt.DisplayRole:
+ return self.feescale_parser.code_text(index.row())
+
+ def id_from_index(self, index):
+ LOGGER.debug(index)
+ return self.feescale_parser.item_ids(index.row())
+
+class ComplexShortcutsListModel(QtCore.QAbstractListModel):
+ def __init__(self, feescale_parser):
+ QtCore.QAbstractListModel.__init__(self)
+ self.feescale_parser = feescale_parser
+ self._rowcount = None
+
+ def rowCount(self, index):
+ if self._rowcount is None:
+ self._rowcount = len(self.feescale_parser.complex_shortcuts)
+ return self._rowcount
+
+ def data(self, index, role):
+ if role == QtCore.Qt.DisplayRole:
+ return self.feescale_parser.complex_shortcut_text(index.row())
+
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_parser.py b/src/openmolar/qt4gui/feescale_editor/feescale_parser.py
new file mode 100755
index 0000000..6504a39
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_parser.py
@@ -0,0 +1,352 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+import os
+import re
+from xml.dom import minidom
+
+from PyQt4 import QtCore
+from PyQt4.QtXmlPatterns import (
+ QXmlSchemaValidator,
+ QXmlSchema,
+ QAbstractMessageHandler)
+
+from openmolar.settings.localsettings import resources_location
+
+LOGGER = logging.getLogger("openmolar")
+
+STYLESHEET = os.path.join(
+ resources_location, "feescales", "feescale_schema.xsd")
+
+class MessageHandler(QAbstractMessageHandler):
+ last_error = ""
+ def __init__(self, parent=None):
+ QAbstractMessageHandler.__init__(self, parent)
+
+ def handleMessage(self, type_, descr, id_, source):
+ position = "line %s column %d"% (source.line(), source.column())
+
+ LOGGER.debug("xml message - type = '%s'"% type_)
+ LOGGER.debug("xml message - description = '%s'"% descr)
+ LOGGER.debug("xml message - id = '%s'"% id_)
+ LOGGER.debug("xml message - source = %s"% position)
+
+ self.last_error = descr.replace("</body>", "<p>%s</p></body>"% position)
+
+ def reset(self):
+ self.last_error = ""
+
+class FeescaleParser(object):
+ def __init__(self, filepath, ix):
+ self._edited_text = None
+ self._items = None
+ self._c_scuts = None
+ self.filepath = filepath
+ self.ix = ix
+ LOGGER.info("parsing feescale %s"% filepath)
+ self.orig_modified = self.last_modified
+ self.dom = minidom.Document()
+ self.dom.appendChild(self.dom.createElement("feescale"))
+ self.document_element = self.dom.childNodes[0]
+ self.saved_xml = self.text
+ self.message_handler = MessageHandler()
+
+ def parse_file(self):
+ try:
+ self.dom = minidom.parse(self.filepath)
+ self._edited_text = None
+ self.document_element = self.dom.childNodes[0]
+ self.saved_xml = self.text
+ except Exception as exc:
+ f = open(self.filepath, "r")
+ self._edited_text = f.read()
+ f.close()
+ LOGGER.exception("unable to parse %s"% self.filepath)
+ raise exc
+
+ @property
+ def label_text(self):
+ return "%s %d"% (_("feescale"), self.ix)
+
+ @property
+ def detailed_label_text(self):
+ return "%s %s"% (self.label_text, self.tablename)
+
+
+ @property
+ def is_externally_modified(self):
+ return self.last_modified > self.orig_modified
+
+ @property
+ def is_deleted(self):
+ return not os.path.isfile(self.filepath)
+
+ @property
+ def last_modified(self):
+ return os.path.getmtime(self.filepath)
+
+ def reset_orig_modified(self):
+ self.orig_modified = self.last_modified
+
+ def refresh(self):
+ LOGGER.info("refreshing feescale %s"% self.filepath)
+ self._edited_text = None
+ self._items = None
+ self.dom = minidom.parse(self.filepath)
+ self.document_element = self.dom.childNodes[0]
+ self.saved_xml = self.text
+ self.reset_orig_modified()
+
+ def check_validity(self, xml):
+ '''
+ check that the dom validates
+ '''
+ self.message_handler.reset()
+
+ f = QtCore.QFile(STYLESHEET)
+ f.open(QtCore.QIODevice.ReadOnly)
+ schema = QXmlSchema()
+ schema.load(f)
+
+ validator = QXmlSchemaValidator(schema)
+ validator.setMessageHandler(self.message_handler)
+ result = validator.validate(xml)
+
+ if result:
+ LOGGER.debug(
+ "Feescale complies with stylesheet!")
+ else:
+ LOGGER.warning(
+ "Feescale does not comply with stylesheet %s"% STYLESHEET)
+ return (result, self.message_handler.last_error)
+
+ def is_valid(self):
+ LOGGER.debug("checking validity of %s"% self.dom)
+ return self.check_validity(self.text)
+
+ @property
+ def items(self):
+ if self._items is None:
+ self._items = self.dom.getElementsByTagName("item")
+ LOGGER.debug("%d items"% len(self._items))
+ return self._items
+
+ def item_ids(self, index):
+ '''
+ returns the id attibute of the item at position index in the list
+ '''
+ item_node = self.items[index]
+ return item_node.getAttribute("id")
+
+ def itemnode_from_id(self, id, ignore_prefix=False):
+ '''
+ returns the itemnode which contains the item with specified id,
+ or a blank node if node exists
+ '''
+ def remove_prefix(s):
+ return s.groups()[1]
+ if ignore_prefix:
+ id = re.sub("([^\d]*)(\d+)$", remove_prefix, id)
+ LOGGER.debug("looking for %s"% id)
+ for itemnode in self.items:
+ node_id = itemnode.getAttribute("id")
+ if ignore_prefix:
+ node_id = re.sub("([^\d]*)(\d+)$", remove_prefix, node_id)
+ if node_id == id:
+ return itemnode
+
+ @property
+ def complex_shortcuts(self):
+ if self._c_scuts is None:
+ self._c_scuts = self.dom.getElementsByTagName("complex_shortcut")
+ LOGGER.debug("%d complex shortcuts"% len(self._c_scuts))
+ return self._c_scuts
+
+ @property
+ def feenodes(self):
+ for item in self.items:
+ for feenode in item.getElementsByTagName("fee"):
+ yield feenode
+
+ def roundup_charges(self, precision, up=False, down=False):
+ self.roundup_fees(precision, up=False, down=False, att="charge")
+
+ def roundup_fees(self, precision, up=False, down=False, att="gross"):
+ LOGGER.debug((precision, up, down, att))
+ def round_to_value(pence, r_up=False, r_down=False):
+ offset = pence%precision
+ LOGGER.debug(offset)
+ if offset == 0:
+ return int(pence)
+ if r_up:
+ return int(pence + (precision-offset))
+ if r_down:
+ return int(pence - offset)
+ if offset < (precision+1)//2:
+ return round_to_value(pence, r_down=True)
+ else:
+ return round_to_value(pence, r_up=True)
+
+ for node in self.dom.getElementsByTagName(att):
+ fee = node.firstChild.data
+ new_fee = str(round_to_value(int(fee), up, down))
+ message = "%s %s changed to %s"% (
+ att.ljust(8, " "), fee.rjust(8," "), new_fee.rjust(8," "))
+ node.firstChild.replaceWholeText(new_fee)
+
+ self._edited_text = None
+ LOGGER.debug(message)
+
+ def increase_charges(self, percentage):
+ self.increase_fees(percentage, att="charge")
+
+ def increase_fees(self, percentage, att="gross"):
+ def increase(pence):
+ return int((pence * mult)//100)
+
+ mult = 100 + percentage
+ for node in self.dom.getElementsByTagName(att):
+ fee = node.firstChild.data
+ new_fee = str(increase(int(fee)))
+ message = "%s %s increased to %s"% (
+ att.ljust(8, " "), fee.rjust(8," "), new_fee.rjust(8," "))
+ node.firstChild.replaceWholeText(new_fee)
+
+ LOGGER.debug(message)
+
+ self._edited_text = None
+ LOGGER.info(
+ "%s %s fees increased by %s%%"% (self.description, att, percentage))
+
+ def relate_charges_to_gross_fees(self, percentage,
+ leave_zeros_untouched=False):
+ def get_charge(pence):
+ return int(pence*percentage//100)
+
+ for node in self.dom.getElementsByTagName("gross"):
+ charge_nodes = node.parentNode.getElementsByTagName("charge")
+ if charge_nodes == []:
+ continue
+ charge_node = charge_nodes[0]
+ fee = node.firstChild.data
+ charge = charge_node.firstChild.data
+ if charge == "0" and leave_zeros_untouched:
+ continue
+ new_charge = str(get_charge(int(fee)))
+ message = "Fee %s has a charge of %s"% (
+ fee.rjust(8," "), new_charge.rjust(8," "))
+ charge_node.firstChild.replaceWholeText(new_charge)
+
+ LOGGER.debug(message)
+
+ self._edited_text = None
+
+ def zero_charges(self):
+ for node in self.dom.getElementsByTagName("charge"):
+ fee = node.firstChild.data
+ node.firstChild.replaceWholeText("0")
+
+ self._edited_text = None
+ LOGGER.info("%s patient charges zeroed"% self.description)
+
+ @property
+ def tablename(self):
+ try:
+ node = self.dom.getElementsByTagName("tablename")[0]
+ return node.firstChild.data
+ except:
+ LOGGER.exception("unable to get tablename from Feescale Parser")
+ return _("Unknown TableName")
+
+ @property
+ def description(self):
+ try:
+ description_nodes = self.dom.getElementsByTagName(
+ "feescale_description")
+ return description_nodes[0].childNodes[0].data
+ except:
+ LOGGER.exception("unable to get description from Feescale Parser")
+ return _("Unknown Description")
+
+ def code_text(self, index):
+ node = self.items[index]
+ id_ = node.getAttribute("id")
+ try:
+ name = node.getElementsByTagName(
+ "description")[0].firstChild.data
+ except AttributeError:
+ name = ""
+ return "%s - %s"% (id_, name)
+
+ def complex_shortcut_text(self, index):
+ node = self.complex_shortcuts[index]
+ shortcut_node = node.getElementsByTagName("shortcut")[0]
+ att = shortcut_node.getAttribute("att")
+ shortcut = shortcut_node.firstChild.data
+ return "%s - %s"% (att, shortcut)
+
+ def set_edited_text(self, text):
+ self._edited_text = unicode(text)
+ try:
+ dom = minidom.parseString(self._edited_text)
+ self.dom = dom
+ if len(self.dom.getElementsByTagName("item")) != len(self._items):
+ self._items = None
+ return True
+ except Exception: # should be ExpatError, but can't find it yet!
+ pass
+ return False
+
+ @property
+ def text(self):
+ '''
+ the full text of feescale
+ '''
+ if self._edited_text is not None:
+ return self._edited_text
+ return self.dom.toxml()
+
+ @property
+ def is_dirty(self):
+ return self.text != self.saved_xml
+
+def _test():
+ LOGGER.debug("running _test")
+
+ example_path = os.path.join(
+ resources_location, "feescales", "example_feescale.xml")
+ fp = FeescaleParser(example_path, 1)
+ fp.parse_file()
+
+ return fp
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtCore.QCoreApplication([])
+
+ fp = _test()
+ fp.is_valid()
+ LOGGER.info(fp.message_handler.last_error)
+ fp.increase_fees(2.51)
+ LOGGER.debug("script has finished")
diff --git a/src/openmolar/qt4gui/feescale_editor/feescale_xml_editor.py b/src/openmolar/qt4gui/feescale_editor/feescale_xml_editor.py
new file mode 100644
index 0000000..92944d8
--- /dev/null
+++ b/src/openmolar/qt4gui/feescale_editor/feescale_xml_editor.py
@@ -0,0 +1,112 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from gettext import gettext as _
+
+from PyQt4 import QtCore, QtGui, Qsci
+from openmolar.qt4gui.dialogs.base_dialogs import BaseDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+class TextObject(object):
+ def __init__(self, text):
+ self.orig_text = text
+ self._text = None
+
+ def reset_text(self, text):
+ self.orig_text = text
+ self._text = None
+
+ def update_text(self, text):
+ self._text = text
+
+ @property
+ def text(self):
+ if self._text is None:
+ return self.orig_text
+ return self._text
+
+ @property
+ def is_dirty(self):
+ return self.text != self.orig_text
+
+class XMLEditor(Qsci.QsciScintilla):
+ MARKER_COLUMN = 8
+ editing_finished = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ Qsci.QsciScintilla.__init__(self, parent)
+ self.setLexer(Qsci.QsciLexerXML())
+ self.text_object = TextObject("")
+ self.highlight_index = self.indicatorDefine(
+ self.RoundBoxIndicator, -1)
+ self.setIndicatorDrawUnder(True, self.highlight_index)
+ self.setIndicatorForegroundColor(
+ QtGui.QColor("#dddddd"), self.highlight_index)
+
+ self.orig_text = self.text_object.orig_text
+
+ def editor_settings(self):
+ '''
+ set some specifics for the large editor
+ (keep defaults for dialogs etc)
+ '''
+ self.setCaretLineVisible(True)
+ self.setMarginLineNumbers(0, True)
+ self.setMarginWidth(0, "00000")
+ self.setFolding(self.CircledTreeFoldStyle)
+ #self.setWhitespaceVisibility(True)
+ self.markerDefine(Qsci.QsciScintilla.RightArrow, self.MARKER_COLUMN)
+ self.setMarkerBackgroundColor(
+ QtGui.QColor("#ee1111"), self.MARKER_COLUMN)
+
+ def focusOutEvent(self, event):
+ self.text_object.update_text(unicode(self.text().toUtf8()))
+ self.editing_finished.emit(self)
+
+ def setText(self, text):
+ LOGGER.debug("setText")
+ self.text_object.reset_text(text)
+ Qsci.QsciScintilla.setText(self, text)
+
+ def update_text(self, text):
+ Qsci.QsciScintilla.setText(self, text)
+
+ def highlight_line(self, lineno):
+ #LOGGER.debug("highlight line %d"% lineno)
+ self.markerAdd(lineno, self.MARKER_COLUMN)
+ self.fillIndicatorRange(lineno, 0, lineno + 1, 0, self.highlight_index)
+
+ @property
+ def is_dirty(self):
+ self.text_object.update_text(unicode(self.text().toUtf8()))
+ return self.text_object.is_dirty
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ app = QtGui.QApplication([])
+ widg = XMLEditor()
+ widg.editor_settings()
+ widg.show()
+ widg.setText("hello world")
+ app.exec_()
+ print "Text modified = %s"% widg.is_dirty
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/forum_gui_module.py b/src/openmolar/qt4gui/forum_gui_module.py
new file mode 100644
index 0000000..d983aa1
--- /dev/null
+++ b/src/openmolar/qt4gui/forum_gui_module.py
@@ -0,0 +1,249 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides the logic to manipulate the forum.
+'''
+
+import time
+import datetime
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import forum
+from openmolar.qt4gui.compiled_uis import Ui_forumPost
+
+def checkForNewForumPosts(om_gui):
+ '''
+ checks for new forum posts every few minutes
+ '''
+ om_gui.showForumActivity(forum.newPosts())
+
+def loadForum(om_gui):
+ '''
+ loads the forum
+ '''
+ twidg = om_gui.ui.forum_treeWidget
+ twidg.clear()
+ twidg.setSortingEnabled(False)
+ chosen = om_gui.ui.forumViewFilter_comboBox.currentText()
+ GROUP_TOPICS = om_gui.ui.group_replies_radioButton.isChecked()
+ #-- set the column headers (stored in another module)
+ headers = forum.headers
+ twidg.setHeaderLabels(headers)
+ #-- get the posts
+ show_closed = om_gui.ui.forum_deletedposts_checkBox.isChecked()
+ if chosen != _("Everyone"):
+ posts = forum.getPosts(chosen, show_closed)
+ else:
+ posts = forum.getPosts(None, show_closed)
+
+ parentItems = {None : twidg}
+
+ #--set a boolean for alternating row colours
+ highlighted = True
+ for post in posts:
+ if GROUP_TOPICS:
+ parentItem = parentItems.get(post.parent_ix, twidg)
+ else:
+ parentItem = twidg
+ item = QtGui.QTreeWidgetItem(parentItem)
+ item.setText(0, post.topic)
+ item.setData(1, QtCore.Qt.DisplayRole, post.ix)
+ item.setText(2, post.inits)
+ if post.recipient:
+ item.setText(3, post.recipient)
+ else:
+ item.setText(3, "-")
+
+ d = QtCore.QDateTime(post.date)
+ item.setData(4, QtCore.Qt.DisplayRole, QtCore.QVariant(d))
+
+ item.setText(5, post.comment)
+ item.setText(6, post.briefcomment)
+ #item.setData(7, QtCore.Qt.DisplayRole, post.parent_ix)
+
+ #if parentItem == twidg:
+ # highlighted = not highlighted
+ # if highlighted:
+ # bcolour = twidg.palette().base()
+ # else:
+ # bcolour = twidg.palette().alternateBase()
+ #else:
+ # bcolour = QtGui.QColor("red")#parentItem.background(0)
+
+ if parentItem == twidg:
+ item.setIcon(0, om_gui.ui.forumNewTopic_pushButton.icon())
+
+ for i in range(item.columnCount()):
+ #item.setBackground(i,bcolour)
+ if i == 4: #date
+ if post.date > (localsettings.currentTime() -
+ datetime.timedelta(hours = 36)):
+ item.setIcon(i, om_gui.ui.forumNewTopic_pushButton.icon())
+ item.setTextColor(i, QtGui.QColor("orange"))
+ ##TODO - put in some code to set the text for "today"
+ ##or yesterday etc...
+ if GROUP_TOPICS:
+ parentItems[post.ix] = item
+
+ twidg.expandAll()
+
+ twidg.setSortingEnabled(True)
+ #if GROUP_TOPICS:
+ # twidg.sortByColumn(7)
+ #else:
+ twidg.sortByColumn(4, QtCore.Qt.AscendingOrder)
+
+ for i in range(twidg.columnCount()):
+ twidg.resizeColumnToContents(i)
+ twidg.setColumnWidth(1, 0)
+ twidg.setColumnWidth(5, 0)
+ #twidg.setColumnWidth(7, 0)
+
+ om_gui.ui.forumDelete_pushButton.setEnabled(False)
+ om_gui.ui.forumReply_pushButton.setEnabled(False)
+ om_gui.ui.forumParent_pushButton.setEnabled(False)
+
+ #-- turn the tab red.
+
+def forumItemSelected(om_gui):
+ '''
+ user has selected an item in the forum
+ '''
+ item = om_gui.ui.forum_treeWidget.currentItem()
+
+ datetext = item.data(4,
+ QtCore.Qt.DisplayRole).toDateTime().toString("ddd d MMM h:mm")
+
+ heading = "<b>Subject:\t%s<br />"% item.text(0)
+ heading += "From:\t%s<br />"% item.text(2)
+ heading += "To:\t%s<br />"% item.text(3)
+ heading += "Date:\t%s</b>"% datetext
+ message = item.text(5)
+ om_gui.ui.forum_label.setText(heading)
+ om_gui.ui.forum_textBrowser.setPlainText(message)
+ om_gui.ui.forumDelete_pushButton.setEnabled(True)
+ om_gui.ui.forumReply_pushButton.setEnabled(True)
+ om_gui.ui.forumParent_pushButton.setEnabled(True)
+
+ if om_gui.forum_parenting_mode[0]:
+ parentix = int(item.text(1))
+ forum.setParent(om_gui.forum_parenting_mode[1], parentix)
+ om_gui.forum_parenting_mode = (False, None)
+ om_gui.ui.forumParent_pushButton.setStyleSheet("")
+ loadForum(om_gui)
+
+
+def forumNewTopic(om_gui):
+ '''
+ create a new post
+ '''
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_forumPost.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.from_comboBox.addItems([localsettings.operator, "Anon"] +
+ localsettings.allowed_logins)
+
+ dl.to_comboBox.addItems(["ALL"] + localsettings.allowed_logins)
+
+ while True:
+ if Dialog.exec_():
+ if dl.topic_lineEdit.text() == "":
+ om_gui.advise("Please set a topic", 1)
+ else:
+ break
+ else:
+ return
+
+ post = forum.post()
+ post.topic = dl.topic_lineEdit.text().toAscii()
+ post.comment = dl.comment_textEdit.toPlainText().toAscii()
+ post.inits = dl.from_comboBox.currentText()
+ if dl.to_comboBox.currentIndex !=0:
+ post.recipient = dl.to_comboBox.currentText()
+ forum.commitPost(post)
+ loadForum(om_gui)
+
+
+def forumDeleteItem(om_gui):
+ '''
+ delete a forum posting
+ '''
+ items = om_gui.ui.forum_treeWidget.selectedItems()
+ number = len(items)
+ if number >1:
+ result = QtGui.QMessageBox.question(om_gui, "Confirm",
+ _("Delete %d Posts?")% number,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ for item in items:
+ ix = int(item.text(1))
+ forum.deletePost(ix)
+ else:
+ item = om_gui.ui.forum_treeWidget.currentItem()
+ heading = item.text(0)
+
+ result = QtGui.QMessageBox.question(om_gui, "Confirm",
+ _("Delete selected Post?")+"<br />'%s'"% heading,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ ix = int(item.text(1))
+ forum.deletePost(ix)
+
+ loadForum(om_gui)
+
+def forumReply(om_gui):
+ '''
+ reply to an item
+ '''
+ item = om_gui.ui.forum_treeWidget.currentItem()
+ heading = item.text(0)
+ if heading[:2] != "re":
+ heading = "re. "+heading
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_forumPost.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.topic_lineEdit.setText(heading)
+ dl.from_comboBox.addItems([localsettings.operator, "Anon"] +
+ localsettings.allowed_logins)
+ dl.to_comboBox.addItems(["ALL"] + localsettings.allowed_logins)
+
+ if Dialog.exec_():
+ parentix = int(item.text(1))
+ post = forum.post()
+ post.parent_ix = parentix
+ post.topic = dl.topic_lineEdit.text().toAscii()
+ post.comment = dl.comment_textEdit.toPlainText().toAscii()[:255]
+ post.inits = dl.from_comboBox.currentText()
+ post.recipient = dl.to_comboBox.currentText()
+ forum.commitPost(post)
+ loadForum(om_gui)
+
+def forumParent(om_gui):
+ '''
+ set a parent for the current post
+ '''
+ item = om_gui.ui.forum_treeWidget.currentItem()
+ ix = int(item.text(1))
+ if om_gui.forum_parenting_mode[0]:
+ om_gui.forum_parenting_mode = (False, None)
+ om_gui.advise(_("Parenting Cancelled"))
+ om_gui.ui.forumParent_pushButton.setStyleSheet("")
+ return
+
+ om_gui.ui.forumParent_pushButton.setStyleSheet("background-color: red")
+ om_gui.advise(_("Click on the Parent Item"))
+ om_gui.forum_parenting_mode = (True, ix)
+
+def viewFilterChanged(om_gui, chosen):
+ #print "viewFilterChanged", chosen
+ loadForum(om_gui)
+
diff --git a/src/openmolar/qt4gui/maingui.py b/src/openmolar/qt4gui/maingui.py
new file mode 100755
index 0000000..5919f0d
--- /dev/null
+++ b/src/openmolar/qt4gui/maingui.py
@@ -0,0 +1,3341 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides the main class which is my gui
+'''
+
+from __future__ import division
+
+import copy
+import datetime
+import logging
+import os
+import pickle
+import re
+import sys
+import traceback
+import webbrowser #for email
+
+from functools import partial
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.connect import database_name
+from openmolar.settings import localsettings, utilities
+from openmolar.qt4gui import colours
+
+#-- fee modules which interact with the gui
+from openmolar.qt4gui.fees import fees_module
+from openmolar.qt4gui.fees import course_module
+from openmolar.qt4gui.fees import manipulate_plan
+from openmolar.qt4gui.fees import daybook_module
+from openmolar.qt4gui.fees import cashbook_module
+from openmolar.qt4gui.fees import fee_table_model
+from openmolar.qt4gui.fees.treatment_list_models \
+ import PlannedTreatmentListModel, CompletedTreatmentListModel
+
+from openmolar.qt4gui import forum_gui_module
+from openmolar.qt4gui import contract_gui_module
+from openmolar.qt4gui import new_patient_gui
+
+from openmolar.qt4gui.printing import om_printing
+from openmolar.qt4gui.printing.gp17.gp17_printer import GP17Printer
+
+from openmolar.qt4gui.charts import charts_gui
+
+#--dialogs made with designer
+from openmolar.qt4gui.compiled_uis import Ui_main
+from openmolar.qt4gui.compiled_uis import Ui_surgeryNumber
+from openmolar.qt4gui.compiled_uis import Ui_showMemo
+
+
+#--custom dialog modules
+from openmolar.qt4gui.dialogs.exam_wizard import ExamWizard
+from openmolar.qt4gui.dialogs.hygTreatWizard import HygTreatWizard
+from openmolar.qt4gui.dialogs import medNotes
+from openmolar.qt4gui.dialogs import saveDiscardCancel
+from openmolar.qt4gui.dialogs import newBPE
+from openmolar.qt4gui.dialogs import saveMemo
+from openmolar.qt4gui.dialogs import permissions
+from openmolar.qt4gui.dialogs import select_language
+from openmolar.qt4gui.dialogs.choose_tooth_dialog import ChooseToothDialog
+from openmolar.qt4gui.dialogs import clinician_select_dialog
+from openmolar.qt4gui.dialogs import assistant_select_dialog
+from openmolar.qt4gui.phrasebook.phrasebook_dialog import PhraseBookDialog
+from openmolar.qt4gui.phrasebook.phrasebook_dialog import PHRASEBOOKS
+from openmolar.qt4gui.phrasebook.phrasebook_editor import PhrasebookEditor
+from openmolar.qt4gui.dialogs.recall_dialog import RecallDialog
+from openmolar.qt4gui.dialogs.child_smile_dialog import ChildSmileDialog
+from openmolar.qt4gui.dialogs.alter_todays_notes \
+ import AlterTodaysNotesDialog
+from openmolar.qt4gui.dialogs.find_patient_dialog import FindPatientDialog
+from openmolar.qt4gui.dialogs.family_manage_dialog import LoadRelativesDialog
+
+from openmolar.qt4gui.dialogs import duplicate_receipt_dialog
+from openmolar.qt4gui.dialogs.auto_address_dialog import AutoAddressDialog
+from openmolar.qt4gui.dialogs.family_manage_dialog import FamilyManageDialog
+
+from openmolar.qt4gui.dialogs.nhs_forms_config_dialog \
+ import NHSFormsConfigDialog
+from openmolar.qt4gui.dialogs.advanced_tx_planning_dialog \
+ import AdvancedTxPlanningDialog
+
+#secondary applications
+from openmolar.qt4gui.tools import new_setup
+from openmolar.qt4gui.tools import recordtools
+
+#--database modules
+#--(do not even think of making db queries from ANYWHERE ELSE)
+from openmolar.dbtools import appointments
+from openmolar.dbtools import patient_write_changes
+from openmolar.dbtools import recall
+from openmolar.dbtools import patient_class
+from openmolar.dbtools import calldurr
+from openmolar.dbtools import docsprinted
+from openmolar.dbtools import docsimported
+from openmolar.dbtools import memos
+from openmolar.dbtools import nhs_claims
+from openmolar.dbtools import daybookHistory
+from openmolar.dbtools import paymentHistory
+from openmolar.dbtools import courseHistory
+from openmolar.dbtools import estimatesHistory
+from openmolar.dbtools import est_logger
+from openmolar.dbtools.distinct_statuses import DistinctStatuses
+
+
+#--modules which act upon the pt class type (and subclasses)
+from openmolar.ptModules import patientDetails
+from openmolar.ptModules import formatted_notes
+from openmolar.ptModules import plan
+from openmolar.ptModules import referral
+from openmolar.ptModules import debug_html
+from openmolar.ptModules import estimates
+from openmolar.ptModules import tooth_history
+from openmolar.ptModules import hidden_notes
+from openmolar.ptModules import reception_summary
+
+#--modules which use qprinter
+from openmolar.qt4gui.printing import multiDayListPrint
+from openmolar.qt4gui.printing import bulk_mail
+
+#--custom widgets
+from openmolar.qt4gui.diary_widget import DiaryWidget
+from openmolar.qt4gui.pt_diary_widget import PtDiaryWidget
+from openmolar.qt4gui.customwidgets import chartwidget
+from openmolar.qt4gui.customwidgets import toothProps
+from openmolar.qt4gui.customwidgets import perioToothProps
+from openmolar.qt4gui.customwidgets import perioChartWidget
+from openmolar.qt4gui.customwidgets import estimate_widget
+from openmolar.qt4gui.customwidgets import notification_widget
+from openmolar.qt4gui.customwidgets.static_control_panel \
+ import StaticControlPanel
+
+LOGGER = logging.getLogger("openmolar")
+LOGGER.setLevel(logging.INFO)
+
+class OpenmolarGui(QtGui.QMainWindow):
+ fee_table_editor = None
+ fee_table_tester = None
+ phrasebook_editor = None
+ def __init__(self):
+ QtGui.QMainWindow.__init__(self)
+ self.ui = Ui_main.Ui_MainWindow()
+ self.ui.setupUi(self)
+ self.diary_widget = DiaryWidget(self)
+ self.ui.tab_appointments.layout().addWidget(self.diary_widget)
+
+ self.pt_diary_widget = PtDiaryWidget(self)
+ self.ui.pt_diary_groupBox.layout().addWidget(self.pt_diary_widget)
+
+ self.ui.splitter_patient.setSizes([80,20])
+ #--initiate a blank version of the patient class this
+ #--is used to check for state.
+ #--make a deep copy to check for changes
+ self.pt = patient_class.patient(0)
+
+ self.selectedChartWidget = "st" #other values are "pl" or "cmp"
+ self.editPageVisited = False
+ self.forum_notified = False
+ self.fee_models = []
+ self.wikiloaded = False
+
+ self.addCustomWidgets()
+ self.labels_and_tabs()
+
+ self.letters = bulk_mail.bulkMails(self)
+ self.ui.bulk_mailings_treeView.setModel(self.letters.bulk_model)
+ self.ui.actionSurgery_Mode.setChecked(
+ localsettings.station == "surgery")
+ self.setupSignals()
+ self.loadDentistComboboxes()
+ self.feestableLoaded = False
+ self.forum_parenting_mode = (False, None)
+
+ self.ui.plan_listView.setModel(PlannedTreatmentListModel(self))
+ self.ui.plan_listView.setContextMenuPolicy(
+ QtCore.Qt.CustomContextMenu)
+
+ self.ui.completed_listView.setModel(CompletedTreatmentListModel(self))
+ self.ui.completed_listView.setContextMenuPolicy(
+ QtCore.Qt.CustomContextMenu)
+
+ self.setWindowTitle("OpenMolar - %s '%s'"% (
+ _("connected to"), database_name()))
+
+ QtCore.QTimer.singleShot(500, self.set_operator_label)
+ QtCore.QTimer.singleShot(500, self.load_pt_statuses)
+ QtCore.QTimer.singleShot(1000, self.load_todays_patients_combobox)
+ QtCore.QTimer.singleShot(2000, self.load_fee_tables)
+
+ def advise(self, arg, warning_level=0):
+ '''
+ inform the user of events -
+ warning level0 = status bar only.
+ warning level 1 advisory
+ warning level 2 critical (and logged)
+ '''
+ if warning_level == 0:
+ m = QtGui.QMessageBox(self)
+ m.setText(arg)
+ m.setStandardButtons(QtGui.QMessageBox.NoButton)
+ m.setWindowTitle(_("advisory"))
+ m.setModal(False)
+ QtCore.QTimer.singleShot(3*1000, m.accept)
+ m.show()
+ self.ui.statusbar.showMessage(arg, 5000) #5000 milliseconds=5secs
+ elif warning_level == 1:
+ QtGui.QMessageBox.information(self, _("Advisory"), arg)
+ elif warning_level == 2:
+ now=QtCore.QTime.currentTime()
+ QtGui.QMessageBox.warning(self, _("Error"), arg)
+ #--for logging purposes
+ print "%d:%02d ERROR MESSAGE"%(now.hour(), now.minute())
+ print arg
+
+ def wait(self, waiting=True):
+ if waiting:
+ QtGui.QApplication.instance().setOverrideCursor(
+ QtCore.Qt.WaitCursor)
+ else:
+ QtGui.QApplication.instance().restoreOverrideCursor()
+
+ def notify(self, message):
+ '''
+ pop up a notification
+ '''
+ self.ui.notificationWidget.addMessage(message)
+
+ def quit(self):
+ '''
+ function called by the quit button in the menu
+ '''
+ QtGui.QApplication.instance().closeAllWindows()
+
+ def closeEvent(self, event=None):
+ '''
+ overrule QMaindow's close event
+ check for unsaved changes then politely close the app if appropriate
+ '''
+ LOGGER.info("quit called")
+ if not self.okToLeaveRecord():
+ event.ignore()
+ return
+ if self.fee_table_tester is not None:
+ self.fee_table_tester.accept()
+ if self.fee_table_editor:
+ self.fee_table_editor.show()
+ self.fee_table_editor.raise_()
+ self.fee_table_editor.closeEvent(event)
+ if self.phrasebook_editor:
+ self.phrasebook_editor.show()
+ self.phrasebook_editor.raise_()
+ self.phrasebook_editor.closeEvent(event)
+
+ utilities.deleteTempFiles()
+
+ def fullscreen(self):
+ if self.ui.actionFull_Screen_Mode_Ctrl_Alt_F.isChecked():
+ self.setWindowState(QtCore.Qt.WindowFullScreen)
+ else:
+ self.setWindowState(QtCore.Qt.WindowMaximized)
+
+ def aboutOM(self):
+ '''
+ called by menu - help - about openmolar
+ '''
+ self.advise('''<p>%s</p><p>%s</p>'''%(localsettings.about(),
+ localsettings.license), 1)
+
+ def addCustomWidgets(self):
+ '''
+ add custom widgets to the gui, and customise a few that are there
+ already
+ '''
+ #-statusbar
+ self.statusbar_frame = QtGui.QFrame()
+ self.operator_label = QtGui.QLabel()
+ self.loadedPatient_label = QtGui.QLabel()
+ self.loadedPatient_label.setMinimumWidth(450)
+ #self.loadedPatient_label.setAlignment(QtCore.Qt.AlignCenter)
+ self.sepline = QtGui.QFrame(self.statusbar_frame)
+ self.sepline.setFrameShape(QtGui.QFrame.VLine)
+ self.sepline.setFrameShadow(QtGui.QFrame.Sunken)
+ hlayout = QtGui.QHBoxLayout(self.statusbar_frame)
+ hlayout.addWidget(self.loadedPatient_label)
+ hlayout.addWidget(self.sepline)
+ hlayout.addWidget(self.operator_label)
+ hlayout.setMargin(0)
+ self.ui.statusbar.addPermanentWidget(self.statusbar_frame)
+
+ #-summary chart
+ self.ui.summaryChartWidget = chartwidget.chartWidget()
+ self.ui.summaryChartWidget.setShowSelected(False)
+ self.ui.summaryChartWidget.setFocusPolicy(QtCore.Qt.StrongFocus)
+ hlayout=QtGui.QHBoxLayout(self.ui.staticSummaryPanel)
+ hlayout.addWidget(self.ui.summaryChartWidget)
+
+ #-perio chart
+ self.ui.perioChartWidget = chartwidget.chartWidget()
+ hlayout=QtGui.QHBoxLayout(self.ui.perioChart_frame)
+ hlayout.addWidget(self.ui.perioChartWidget)
+
+ #-static chart
+ self.ui.staticChartWidget = chartwidget.chartWidget()
+ self.ui.staticChartWidget.setFocusPolicy(QtCore.Qt.StrongFocus)
+ hlayout = QtGui.QHBoxLayout(self.ui.static_groupBox)
+ hlayout.addWidget(self.ui.staticChartWidget)
+ self.ui.static_groupBox.setStyleSheet("border: 1px solid gray;")
+
+ #-plan chart
+ self.ui.planChartWidget = chartwidget.chartWidget()
+ self.ui.planChartWidget.setFocusPolicy(QtCore.Qt.StrongFocus)
+ self.ui.planChartWidget.isStaticChart = False
+ self.ui.planChartWidget.isPlanChart = True
+ self.ui.plan_groupBox.setStyleSheet("border: 1px solid gray;")
+ hlayout = QtGui.QHBoxLayout(self.ui.plan_groupBox)
+ hlayout.addWidget(self.ui.planChartWidget)
+
+ #-completed chart
+ self.ui.completedChartWidget = chartwidget.chartWidget()
+ self.ui.completedChartWidget.isStaticChart = False
+ hlayout = QtGui.QHBoxLayout(self.ui.completed_groupBox)
+ hlayout.addWidget(self.ui.completedChartWidget)
+ self.ui.completed_groupBox.setStyleSheet("border: 1px solid gray;")
+
+ #static control panel
+ self.ui.static_control_panel = StaticControlPanel()
+ hlayout = QtGui.QHBoxLayout(self.ui.static_frame)
+ hlayout.setMargin(0)
+ hlayout.addWidget(self.ui.static_control_panel)
+
+ #-TOOTHPROPS (right hand side on the charts page)
+ self.ui.toothPropsWidget = toothProps.ToothPropertyEditingWidget(self)
+ hlayout = QtGui.QHBoxLayout(self.ui.toothProps_frame)
+ hlayout.setMargin(0)
+ hlayout.addWidget(self.ui.toothPropsWidget)
+
+ #-PERIOPROPS
+ self.ui.perioToothPropsWidget = perioToothProps.tpWidget()
+ hlayout = QtGui.QHBoxLayout(self.ui.perioToothProps_frame)
+ hlayout.addWidget(self.ui.perioToothPropsWidget)
+
+ self.ui.perioChartWidgets = []
+ self.ui.perioGroupBoxes = []
+ hlayout = QtGui.QVBoxLayout(self.ui.perioChartData_frame)
+ hlayout.setMargin(2)
+ for i in range(8):
+ gbtitle = (_("Recession"), _("Pocketing"), _("Plaque"),
+ _("Bleeding"), _("Other"), _("Suppuration"), _("Furcation"),
+ _("Mobility"))[i]
+ periogb = QtGui.QGroupBox(gbtitle)
+ periogb.setCheckable(True)
+ periogb.setChecked(True)
+ #periogb.setMinimumSize(0, 120)
+ pchart = perioChartWidget.chartWidget()
+ pchart.type = gbtitle
+ gblayout = QtGui.QVBoxLayout(periogb)
+ gblayout.setMargin(2)
+ gblayout.addWidget(pchart)
+ hlayout.addWidget(periogb)
+
+ #make these widgets accessible
+ self.ui.perioGroupBoxes.append(periogb)
+ self.ui.perioChartWidgets.append(pchart)
+
+
+ #--updates the current time in appointment books
+ self.ui.referralLettersComboBox.clear()
+
+ self.forum_timer = QtCore.QTimer()
+ self.forum_timer.start(60000) #fire every minute
+ self.forum_timer.timeout.connect(self.checkForNewForumPosts)
+
+ self.enableEdit(False)
+ for desc in referral.getDescriptions():
+ s=QtCore.QString(desc)
+ self.ui.referralLettersComboBox.addItem(s)
+
+ #-- add a header to the estimates page
+ self.ui.estWidget = estimate_widget.EstimateWidget(self)
+
+ self.ui.estimate_scrollArea.setWidget(self.ui.estWidget)
+
+ #--history
+ self.addHistoryMenu()
+
+ #--notification widget
+ self.ui.notificationWidget = \
+ notification_widget.notificationWidget(self)
+
+ self.ui.details_frame.layout().addWidget(self.ui.notificationWidget)
+
+ #cashbook browser
+
+ self.ui.cashbookTextBrowser = cashbook_module.CashBookBrowser(self)
+ layout = QtGui.QVBoxLayout(self.ui.cashbook_placeholder_widget)
+ layout.setMargin(0)
+ layout.addWidget(self.ui.cashbookTextBrowser)
+
+ def setClinician(self):
+ result, selected = clinician_select_dialog.Dialog(self).result()
+ if result:
+ self.advise(_("changed clinician to") + " " + selected)
+ self.load_todays_patients_combobox()
+ self.set_operator_label()
+
+ def setAssistant(self):
+ result, selected = assistant_select_dialog.Dialog(self).result()
+ if result:
+ self.advise(_("changed assistant to") + " " + selected)
+ self.set_operator_label()
+
+ def saveButtonClicked(self):
+ self.okToLeaveRecord(cont = True)
+
+ def bpe_table(self, arg):
+ '''
+ updates the BPE chart on the clinical summary page
+ '''
+ charts_gui.bpe_table(self, arg)
+
+ def layoutPerioCharts(self):
+ '''
+ layout the perio charts
+ '''
+ charts_gui.layoutPerioCharts(self)
+
+ def deleteComments(self):
+ '''
+ called when user has trigger deleted comments in the toothProp
+ '''
+ charts_gui.deleteComments(self)
+
+ def updateCharts(self, arg):
+ '''
+ called by a signal from the toothprops widget -
+ args are the new tooth properties eg modbl,co
+ '''
+ charts_gui.updateCharts(self, arg)
+
+ def navigateCharts(self, direction):
+ '''
+ catches a keypress in the toothprop widget
+ '''
+ charts_gui.navigateCharts(self, direction)
+
+ def static_chartNavigation(self, signal):
+ '''
+ called by the static or summary chartwidget
+ '''
+ charts_gui.checkPreviousEntry(self)
+ self.selectedChartWidget="st"
+ charts_gui.chartNavigation(self, signal)
+
+ def plan_chartNavigation(self, signal):
+ '''
+ called by the plan chartwidget
+ '''
+ charts_gui.checkPreviousEntry(self)
+ self.selectedChartWidget="pl"
+ charts_gui.chartNavigation(self, signal)
+
+ def comp_chartNavigation(self, signal):
+ '''
+ called by the completed chartwidget
+ '''
+ charts_gui.checkPreviousEntry(self)
+ self.selectedChartWidget="cmp"
+ charts_gui.chartNavigation(self, signal)
+
+ def flipDeciduous(self):
+ '''
+ toggle the selected tooth's deciduos state
+ '''
+ charts_gui.flipDeciduous(self)
+
+ def toothHistory(self, tooth):
+ '''
+ show history of the tooth
+ '''
+ history = tooth_history.getHistory(self.pt, tooth)
+ self.advise(history,1)
+
+ def tooth_delete_all(self):
+ '''
+ user has clicked on the delete all option from a tooth's right click
+ menu
+ '''
+ self.ui.toothPropsWidget.lineEdit.deleteAll()
+
+ def tooth_delete_prop(self, prop):
+ '''
+ user has clicked on the delete prop option from a tooth's right click
+ menu - arg is the prop to be deleted
+ '''
+ self.ui.toothPropsWidget.lineEdit.deleteProp(prop)
+
+ def tooth_add_comments(self, tooth):
+ '''
+ user has clicked on the delete all option from a tooth's right click
+ menu
+ '''
+ self.advise("add comments for tooth %s not working yet"% tooth)
+
+ def chooseTooth(self):
+ '''
+ ask the user to select a tooth
+ '''
+ dl = ChooseToothDialog(self)
+ return dl.getInput()
+
+ def okToLeaveRecord(self, cont=False):
+ '''
+ leaving a pt record - has state changed?
+ '''
+ if self.pt.serialno == 0:
+ return True
+ #--a debug print statement
+ if not cont:
+ LOGGER.debug(
+ "leaving record checking to see if save is required...")
+ course_module.prompt_close_course(self)
+
+ #--apply changes to patient details
+ self.pt.synopsis = str(self.ui.synopsis_lineEdit.text().toAscii())
+ if self.editPageVisited:
+ self.apply_editpage_changes()
+
+ #--check pt against the original loaded state
+ #--this returns a LIST of changes ie [] if none.
+ uc = self.unsavedChanges()
+ if uc == []:
+ LOGGER.debug(" okToLeaveRecord - no changes")
+ else:
+ #--raise a custom dialog to get user input
+ Dialog = QtGui.QDialog(self)
+ dl = saveDiscardCancel.sdcDialog(Dialog)
+ dl.setPatient("%s %s (%s)"% (
+ self.pt.fname, self.pt.sname, self.pt.serialno))
+ dl.setChanges(uc)
+ dl.allowDiscard(not cont)
+ if Dialog.exec_():
+ if dl.result == "discard":
+ LOGGER.info(
+ " okToLeaveRecord - user discarding changes")
+ course_module.delete_new_course(self)
+ elif dl.result == "save":
+ LOGGER.debug(" okToLeaveRecord - user is saving")
+ self.save_changes(False)
+ else:
+ LOGGER.debug("okToLeaveRecord - continue editing")
+ return False
+ return True
+
+ def handle_mainTab(self):
+ '''
+ procedure called when user navigates the top tab
+ '''
+ self.wait()
+ ci = self.ui.main_tabWidget.currentIndex()
+
+ if ci ==1 : #--user is viewing appointment book
+ self.diary_widget.reset_and_view(self.patient)
+ if ci == 6:
+ #--user is viewing the feetable
+ if not self.feestableLoaded:
+ fees_module.loadFeesTable(self)
+ if self.pt.serialno !=0:
+ self.ui.chooseFeescale_comboBox.setCurrentIndex(
+ self.pt.fee_table.index)
+
+ if ci == 7:
+ #--forum
+ forum_gui_module.loadForum(self)
+
+ if ci == 8:
+ #-- wiki
+ if not self.wikiloaded:
+ self.ui.wiki_webView.setUrl(QtCore.QUrl(localsettings.WIKIURL))
+ self.wikiloaded = True
+ self.wait(False)
+
+ def handle_patientTab(self):
+ '''
+ handles navigation of patient record
+ '''
+ self.wait()
+ ci=self.ui.tabWidget.currentIndex()
+
+ if ci != 6:
+ if self.ui.tabWidget.isTabEnabled(6) and \
+ not charts_gui.checkPreviousEntry(self):
+ self.ui.tabWidget.setCurrentIndex(6)
+
+ if self.editPageVisited:
+ self.apply_editpage_changes()
+
+ if ci == 0:
+ self.ui.patientEdit_groupBox.setTitle(
+ "Edit Patient %d"% self.pt.serialno)
+ if self.load_editpage():
+ self.editPageVisited = True
+
+ elif ci == 1:
+ self.updateStatus()
+ self.ui.badDebt_pushButton.setEnabled(self.pt.fees>0)
+ contract_gui_module.handle_ContractTab(self)
+
+ elif ci == 2: #-correspondence
+ self.docsPrintedInit()
+ self.docsImportedInit()
+
+ elif ci == 3:
+ self.load_receptionSummaryPage()
+
+ elif ci == 4:
+ self.load_clinicalSummaryPage()
+
+ elif ci == 5: #-- full notes
+ self.updateNotesPage()
+
+ elif ci in (6, 7): #-- charts/plan or estimate
+ self.update_plan_est()
+
+ elif ci == 8: #-- perio tab
+ charts_gui.periochart_dates(self)
+ #load the periocharts (if the patient has data)
+ charts_gui.layoutPerioCharts(self)
+
+ self.wait(False)
+
+ def update_plan_est(self):
+ ci = self.ui.tabWidget.currentIndex()
+ if ci == 7:
+ self.load_newEstPage()
+ elif ci == 6:
+ self.ui.plan_listView.model().reset()
+ self.ui.completed_listView.model().reset()
+
+
+ def home(self):
+ '''
+ User has clicked the homw push_button -
+ clear the patient, and blank the screen
+ '''
+ if self.enteringNewPatient():
+ return
+ if not self.okToLeaveRecord():
+ #print "not clearing record"
+ return
+ self.clearRecord()
+ #--disable much of the UI
+ self.enableEdit(False)
+
+ #--go to either "reception" or "clinical summary"
+ self.gotoDefaultTab()
+
+ def clearRecord(self):
+ '''
+ clears the memory of all references to the last patient.. and
+ ensures that tab pages for reception and clinical summary are cleared.
+ Other pages are disabled.
+ '''
+ if self.pt.serialno != 0:
+ LOGGER.debug("updating last_address_details")
+ localsettings.LAST_ADDRESS=(
+ self.pt.sname, self.pt.addr1, self.pt.addr2,
+ self.pt.addr3, self.pt.town, self.pt.county,
+ self.pt.pcde, self.pt.tel1)
+ LOGGER.debug("details are %s"% str(localsettings.LAST_ADDRESS))
+
+ #print "clearing record"
+ self.ui.dobEdit.setDate(QtCore.QDate(1900, 1, 1))
+ self.ui.detailsBrowser.setText("")
+ self.ui.notes_webView.setHtml("")
+ self.ui.hiddenNotes_label.setText("")
+ self.ui.bpe_groupBox.setTitle(_("BPE"))
+ self.ui.bpe_textBrowser.setText("")
+ self.ui.planSummary_textBrowser.setText("")
+ self.ui.synopsis_lineEdit.setText("")
+ self.pt_diary_widget.clear()
+ #--restore the charts to full dentition
+ for chart in (self.ui.staticChartWidget, self.ui.planChartWidget,
+ self.ui.completedChartWidget, self.ui.perioChartWidget,
+ self.ui.summaryChartWidget):
+ chart.clear()
+ chart.update()
+ self.ui.notesSummary_webView.setHtml(localsettings.message)
+ self.ui.reception_textBrowser.setHtml(localsettings.message)
+ self.ui.recNotes_webView.setHtml("")
+ self.ui.chartsTableWidget.clear()
+ #self.diary_widget.schedule_controller.clear()
+ self.ui.notesEnter_textEdit.setHtml("")
+
+ self.ui.medNotes_pushButton.setStyleSheet("")
+
+ #--load a blank version of the patient class
+ self.pt = patient_class.patient(0)
+
+ self.loadedPatient_label.setText("No Patient Loaded")
+ if self.editPageVisited:
+ #print "blanking edit page fields"
+ self.load_editpage()
+ self.editPageVisited = False
+ self.update_family_label()
+
+
+ def gotoDefaultTab(self):
+ '''
+ go to either "reception" or "clinical summary"
+ '''
+ if localsettings.station == "surgery":
+ self.ui.tabWidget.setCurrentIndex(4)
+ else:
+ self.ui.tabWidget.setCurrentIndex(3)
+
+ def load_clinicalSummaryPage(self):
+ self.ui.planSummary_textBrowser.setHtml(plan.summary(self.pt))
+
+ def load_receptionSummaryPage(self):
+ '''
+ load the reception views
+ '''
+ if self.pt.serialno == 0:
+ self.ui.reception_textBrowser.setHtml(localsettings.message)
+ else:
+ html_ = reception_summary.html(self.pt)
+ self.ui.reception_textBrowser.setText(html_)
+ self.pt_diary_widget.layout_ptDiary()
+ note = formatted_notes.rec_notes(self.pt.notes_dict,
+ self.pt.treatment_course.accd)
+ self.ui.recNotes_webView.setHtml(note)
+
+ def webviewloaded(self):
+ '''
+ a notes web view has loaded..
+ scroll to the bottom
+ '''
+ wv = self.sender()
+ wf = wv.page().mainFrame()
+ orientation = QtCore.Qt.Vertical
+ wf.setScrollBarValue(orientation, wf.scrollBarMaximum(orientation))
+
+ def load_newEstPage(self):
+ '''
+ populate my custom widget (estWidget)
+ this is probably quite computationally expensive
+ so should only be done if the widget is visible
+ '''
+ LOGGER.debug("load_newEstPage called")
+ self.ui.estWidget.setPatient(self.pt)
+
+ def load_editpage(self):
+ self.ui.titleEdit.setText(self.pt.title)
+ self.ui.fnameEdit.setText(self.pt.fname)
+ self.ui.snameEdit.setText(self.pt.sname)
+ if self.pt.dob:
+ self.ui.dobEdit.setDate(self.pt.dob)
+ else:
+ self.ui.dobEdit.setDate(datetime.date(2000,1,1))
+ self.ui.addr1Edit.setText(self.pt.addr1)
+ self.ui.addr2Edit.setText(self.pt.addr2)
+ self.ui.addr3Edit.setText(self.pt.addr3)
+ self.ui.townEdit.setText(self.pt.town)
+ self.ui.countyEdit.setText(self.pt.county)
+ if self.pt.sex == "M":
+ self.ui.sexEdit.setCurrentIndex(0)
+ else:
+ self.ui.sexEdit.setCurrentIndex(1)
+ self.ui.pcdeEdit.setText(self.pt.pcde)
+ self.ui.memoEdit.setText(self.pt.memo)
+ self.ui.tel1Edit.setText(self.pt.tel1)
+ self.ui.tel2Edit.setText(self.pt.tel2)
+ self.ui.mobileEdit.setText(self.pt.mobile)
+ self.ui.faxEdit.setText(self.pt.fax)
+ self.ui.email1Edit.setText(self.pt.email1)
+ self.ui.email2Edit.setText(self.pt.email2)
+ self.ui.occupationEdit.setText(self.pt.occup)
+ return True
+
+ def load_dentComboBoxes(self, newpatient = False):
+ #print "loading dnt comboboxes."
+ inits = localsettings.ops.get(self.pt.dnt1, "")
+ if inits in localsettings.activedents:
+ self.ui.dnt1comboBox.setCurrentIndex(
+ localsettings.activedents.index(inits))
+ else:
+ self.ui.dnt1comboBox.setCurrentIndex(-1)
+ if not newpatient:
+ print "dnt1 error - record %d"% self.pt.serialno
+ if not inits in ("", "NONE"):
+ message = "%s "% inits + _(
+ "is no longer an active dentist in this practice")
+ else:
+ print "unknown dentist number", self.pt.dnt1
+ message = _(
+ "unknown contract dentist - please correct this")
+ self.advise(message, 2)
+
+ inits = localsettings.ops.get(self.pt.dnt2, "")
+ if inits in localsettings.activedents:
+ self.ui.dnt2comboBox.setCurrentIndex(
+ localsettings.activedents.index(inits))
+ else:
+ self.ui.dnt2comboBox.setCurrentIndex(-1)
+ if self.pt.dnt1 == self.pt.dnt2:
+ pass
+ elif not inits in ("", "NONE"):
+ message = "%s "% inits + _(
+ "is no longer an active dentist in this practice")
+ self.advise(message, 2)
+ elif inits == "":
+ print "unknown dentist number", self.pt.dnt2
+ message = _("unknown course dentist - please correct this")
+ self.advise(message, 2)
+
+ def enterNewPatient(self):
+ '''
+ called by the user clicking the new patient button
+ '''
+ new_patient_gui.enterNewPatient(self)
+
+ def checkNewPatient(self):
+ '''
+ an alternate slot for the save button, used when in new patient mode
+ '''
+ new_patient_gui.checkNewPatient(self)
+
+ def enteringNewPatient(self):
+ '''
+ determines if the user is entering a new patient
+ if they are, function will return the user to that part of the gui
+ and return True. otherwise, will return False.
+ '''
+ LOGGER.debug("enteringNewPatient")
+ if not self.ui.newPatientPushButton.isEnabled():
+ self.ui.main_tabWidget.setCurrentIndex(0)
+ self.ui.tabWidget.setCurrentIndex(0)
+ return not new_patient_gui.abortNewPatientEntry(self)
+
+ def changeSaveButtonforNewPatient(self):
+ '''
+ the save button is returned to normal after a new patient entry
+ '''
+ #--change the function of the save button
+ QtCore.QObject.disconnect(self.ui.saveButton,
+ QtCore.SIGNAL("clicked()"), self.save_changes)
+
+ QtCore.QObject.connect(self.ui.saveButton,
+ QtCore.SIGNAL("clicked()"), self.checkNewPatient)
+
+ self.ui.saveButton.setEnabled(True)
+ self.ui.saveButton.setText(_("SAVE NEW PATIENT"))
+
+ def restoreSaveButtonAfterNewPatient(self):
+ '''
+ the save button is returned to normal after a new patient entry
+ '''
+ QtCore.QObject.disconnect(self.ui.saveButton,
+ QtCore.SIGNAL("clicked()"), self.checkNewPatient)
+
+ QtCore.QObject.connect(self.ui.saveButton,
+ QtCore.SIGNAL("clicked()"), self.save_changes)
+
+ self.ui.saveButton.setText(_("SAVE CHANGES"))
+
+ def defaultNP(self):
+ '''
+ default NP has been pressed - so apply the address and surname
+ from the previous patient
+ '''
+ new_patient_gui.defaultNP(self)
+
+ def docsPrintedInit(self):
+ '''
+ load the docsprinted listWidget
+ '''
+ print "(re)loading docs printed"
+ self.ui.prevCorres_treeWidget.clear()
+ self.ui.prevCorres_treeWidget.setHeaderLabels(
+ ["Date", "Type", "Version", "Index"])
+
+ docs=docsprinted.previousDocs(self.pt.serialno)
+ for d in docs:
+ doc=[str(d[0]), str(d[1]), str(d[2]), str(d[3])]
+ i=QtGui.QTreeWidgetItem(
+ self.ui.prevCorres_treeWidget, doc)
+ self.ui.prevCorres_treeWidget.expandAll()
+ for i in range(self.ui.prevCorres_treeWidget.columnCount()):
+ self.ui.prevCorres_treeWidget.resizeColumnToContents(i)
+ #-- hide the index column
+ self.ui.prevCorres_treeWidget.setColumnWidth(3, 0)
+
+ def showPrevPrintedDoc(self, item, index):
+ '''
+ called by a double click on the documents listview
+ '''
+ ix = int(item.text(3))
+ if "(html)" in item.text(1):
+ result = QtGui.QMessageBox.question(self, _("Re-open"),
+ _("Do you want to review and/or reprint this item?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ html, version=docsprinted.getData(ix)
+ type = item.text(1).replace("(html)","")
+ if om_printing.htmlEditor(self, type, html, version):
+ self.docsPrintedInit()
+
+ elif "pdf" in item.text(1):
+ result = QtGui.QMessageBox.question(self, _("Re-open"),
+ _("Do you want to review and/or reprint this item?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ try:
+ data, version = docsprinted.getData(ix)
+ f = open(localsettings.TEMP_PDF, "wb")
+ f.write(data)
+ f.close()
+ localsettings.openPDF()
+ except Exception, e:
+ print "view PDF error"
+ print Exception, e
+ self.advise(_("error reviewing PDF file"), 1)
+ else: #unknown data type... probably plain text.
+ print "other type of doc"
+ data = docsprinted.getData(ix)[0]
+ if data == None:
+ data = _(
+ "No information available about this document, sorry")
+ self.advise(data, 1)
+
+ def docsImportedInit(self):
+ '''
+ load the docsImported listWidget
+ '''
+ self.ui.importDoc_treeWidget.clear()
+ self.ui.importDoc_treeWidget.setHeaderLabels([_("Date imported"),
+ _("Description"), _("Size"), _("Type"), "Index"])
+
+ docs = docsimported.storedDocs(self.pt.serialno)
+ for doc in docs:
+ i = QtGui.QTreeWidgetItem(self.ui.importDoc_treeWidget, doc)
+ self.ui.importDoc_treeWidget.expandAll()
+ for i in range(self.ui.importDoc_treeWidget.columnCount()):
+ self.ui.importDoc_treeWidget.resizeColumnToContents(i)
+ #-- hide the index column
+ self.ui.importDoc_treeWidget.setColumnWidth(4, 0)
+
+ def importDoc(self):
+ '''
+ import a document and store into the database
+ '''
+ filename = QtGui.QFileDialog.getOpenFileName()
+ if filename != '':
+ self.advise(_("opening")+" %s"% filename)
+ try:
+ docsimported.add(self.pt.serialno, str(filename))
+ except Exception, e:
+ self.advise(_("error importing file") + "<br /> - %s"% e, 2)
+ else:
+ self.advise(_("no file chosen"), 1)
+ self.docsImportedInit()
+
+ def showImportedDoc(self, item, index):
+ '''
+ called by a double click on the imported documents listview
+ '''
+ ix = int(item.text(4))
+ print "opening file index ",ix
+ result = QtGui.QMessageBox.question(self, _("Re-open"),
+ _("Do you want to open a copy of this document?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.Yes:
+ try:
+ fpath = os.path.join(localsettings.localFileDirectory,
+ "import_temp")
+ f = open(fpath, "wb")
+ for data in docsimported.getData(ix):
+ f.write(data[0])
+ f.close()
+ localsettings.openFile( fpath )
+ except Exception, e:
+ print "unable to open stored document"
+ print Exception, e
+ self.advise(_("error opening document"), 1)
+
+ def load_todays_patients_combobox(self):
+ '''
+ loads the quick select combobox, with all of todays's
+ patients - if a list(tuple) of dentists is passed eg ,(("NW"),)
+ then only pt's of that dentist show up
+ '''
+ self.ui.dayList_comboBox.clear()
+
+ if localsettings.clinicianNo != 0:
+ header = _("Today's Patients")+ \
+ " (%s)"%localsettings.clinicianInits
+ else:
+ header =_("Today's Patients (ALL)")
+
+ dents = (localsettings.clinicianNo, )
+ ptList = appointments.todays_patients(dents)
+
+ self.ui.dayList_comboBox.setVisible(len(ptList) != 0)
+
+ self.ui.dayList_comboBox.addItem(header)
+
+ for pt in ptList:
+ val = "%s -- %s"%(pt[1],pt[0])
+ #--be wary of changing this -- is used as a marker some
+ #--pt's have hyphonated names!
+ self.ui.dayList_comboBox.addItem(val)
+
+ def todays_pts(self):
+ arg = str(self.ui.dayList_comboBox.currentText())
+ if "--" in arg:
+ self.ui.dayList_comboBox.setCurrentIndex(0)
+ serialno = int(arg[arg.index("--")+2:])
+ #--see above comment
+ self.getrecord(serialno)
+
+ def loadDentistComboboxes(self):
+ '''
+ populate several comboboxes with the activedentists
+ '''
+ s=["*ALL*"] + localsettings.ops.values()
+ self.ui.daybookDent1ComboBox.addItems(s)
+ self.ui.daybookDent2ComboBox.addItems(s)
+ self.ui.cashbookDentComboBox.addItems(s)
+ self.ui.dnt1comboBox.addItems(localsettings.activedents)
+ self.ui.dnt2comboBox.addItems(localsettings.activedents)
+
+ def find_related(self):
+ '''
+ looks for patients with similar name, family or address
+ to the current pt
+ '''
+ if self.pt.serialno == 0:
+ self.advise("No patient to compare to", 2)
+ return
+ dl = LoadRelativesDialog(self)
+ if dl.exec_():
+ self.getrecord(dl.chosen_sno)
+
+ def next_patient(self):
+ '''
+ cycle forwards through the list of recently visited records
+ '''
+ desiredPos = localsettings.recent_sno_index + 1
+ if len(localsettings.recent_snos) > desiredPos:
+ self.getrecord(localsettings.recent_snos[desiredPos],
+ addToRecentSnos=False)
+ localsettings.recent_sno_index = desiredPos
+ else:
+ self.advise(_("Reached end of the List"))
+
+ def last_patient(self):
+ '''
+ cycle backwards through recently visited records
+ '''
+ if self.pt.serialno == 0:
+ desiredPos = localsettings.recent_sno_index
+ else:
+ desiredPos = localsettings.recent_sno_index - 1
+ if len(localsettings.recent_snos) > desiredPos >= 0:
+ self.getrecord(localsettings.recent_snos[desiredPos],
+ addToRecentSnos=False)
+ localsettings.recent_sno_index = desiredPos
+ else:
+ self.advise(_("Reached Start of the List"))
+
+ def apply_editpage_changes(self):
+ '''
+ apply any changes made on the edit patient page
+ '''
+ if self.pt.serialno == 0 and \
+ self.ui.newPatientPushButton.isEnabled():
+ #- firstly.. don't apply edit page changes if there
+ #- iss no patient loaded,
+ #- and no new patient to apply
+ return
+
+ self.pt.title = str(self.ui.titleEdit.text().toAscii()).upper()
+ #--NB - these are QSTRINGs... hence toUpper() not PYTHON equiv upper()
+ self.pt.fname = str(self.ui.fnameEdit.text().toAscii()).upper()
+ self.pt.sname = str(self.ui.snameEdit.text().toAscii()).upper()
+ self.pt.dob = self.ui.dobEdit.date().toPyDate()
+ self.pt.addr1 = str(self.ui.addr1Edit.text().toAscii()).upper()
+ self.pt.addr2 = str(self.ui.addr2Edit.text().toAscii()).upper()
+ self.pt.addr3 = str(self.ui.addr3Edit.text().toAscii()).upper()
+ self.pt.town = str(self.ui.townEdit.text().toAscii()).upper()
+ self.pt.county = str(self.ui.countyEdit.text().toAscii()).upper()
+ self.pt.sex = str(self.ui.sexEdit.currentText().toAscii()).upper()
+ self.pt.pcde = str(self.ui.pcdeEdit.text().toAscii()).upper()
+ self.pt.memo = str(self.ui.memoEdit.toPlainText().toAscii())
+ self.pt.tel1 = str(self.ui.tel1Edit.text().toAscii()).upper()
+ self.pt.tel2 = str(self.ui.tel2Edit.text().toAscii()).upper()
+ self.pt.mobile = str(self.ui.mobileEdit.text().toAscii()).upper()
+ self.pt.fax = str(self.ui.faxEdit.text().toAscii()).upper()
+ self.pt.email1 = str(self.ui.email1Edit.text().toAscii())
+ #--leave as user entered case
+ self.pt.email2 = str(self.ui.email2Edit.text().toAscii())
+ self.pt.occup = str(self.ui.occupationEdit.text().toAscii()).upper()
+ self.updateDetails()
+ self.editPageVisited = False
+
+ def accountsTableClicked(self, row, column):
+ '''
+ user has clicked on the accounts table - load the patient record
+ '''
+ sno = self.ui.accounts_tableWidget.item(row, 1).text()
+ self.getrecord(int(sno))
+
+ def getrecord(self, serialno,
+ checkedNeedToLeaveAlready=False,
+ addToRecentSnos=True,
+ newPatientReload=False
+ ):
+ '''
+ a record has been called by one of several means
+ '''
+ if self.enteringNewPatient() or serialno in (0, None):
+ return
+
+ if (self.pt and serialno == self.pt.serialno and not newPatientReload):
+ self.ui.main_tabWidget.setCurrentIndex(0)
+ self.advise(_("Patient already loaded"))
+ elif not checkedNeedToLeaveAlready and not self.okToLeaveRecord():
+ print "not loading"
+ self.advise(_("Not loading patient"))
+ else:
+ if addToRecentSnos:
+ localsettings.recent_snos.append(serialno)
+ localsettings.recent_sno_index = len(
+ localsettings.recent_snos) - 1
+ try:
+ self.pt = patient_class.patient(serialno)
+ self.pt_diary_widget.set_patient(self.pt)
+
+ try:
+ self.loadpatient(newPatientReload = newPatientReload)
+ except Exception as e:
+ message = _("Error populating interface")
+ LOGGER.exception(message)
+ self.advise(u"<b>%s</b><hr /><pre>%s"% (message, e), 2)
+
+ except localsettings.PatientNotFoundError:
+ print "NOT FOUND ERROR"
+ self.advise (_("error getting serialno")+ " %d - " % serialno +
+ _("please check this number is correct?"), 1)
+ except Exception as exc:
+ LOGGER.exception(
+ "Unknown ERROR loading patient - serialno %d"% serialno)
+ self.advise ("Unknown Error - Tell Neil<br />%s"% exc, 2)
+
+ def reload_patient(self):
+ '''
+ reload the current record
+ '''
+ if self.okToLeaveRecord():
+ sno = self.pt.serialno
+ self.advise("%s %s"%(_("Reloading record"), sno))
+ self.clearRecord()
+ self.getrecord(sno)
+
+ def set_note_preferences(self):
+ formatted_notes.show_printed = \
+ self.ui.notes_includePrinting_checkBox.isChecked()
+ formatted_notes.show_payments = \
+ self.ui.notes_includePayments_checkBox.isChecked()
+ formatted_notes.show_timestamps = \
+ self.ui.notes_includeTimestamps_checkBox.isChecked()
+ formatted_notes.show_metadata = \
+ self.ui.notes_includeMetadata_checkBox.isChecked()
+
+ formatted_notes.same_for_clinical = \
+ self.ui.summary_notes_checkBox.isChecked()
+
+ def updateNotesPage(self):
+ self.set_note_preferences()
+ note_html = formatted_notes.notes(self.pt.notes_dict)
+ self.ui.notes_webView.setHtml(note_html)
+
+ page = self.ui.notes_webView.page()
+ page.setLinkDelegationPolicy(page.DelegateAllLinks)
+
+ def load_notes_summary(self):
+ self.set_note_preferences()
+ note_html = formatted_notes.summary_notes(self.pt.notes_dict)
+ self.ui.notesSummary_webView.setHtml(note_html)
+ page = self.ui.notesSummary_webView.page()
+ page.setLinkDelegationPolicy(page.DelegateAllLinks)
+
+ def loadpatient(self, newPatientReload=False):
+ '''
+ self.pt is now a patient... time to push to the gui.
+ '''
+ #-- don't load a patient if you are entering a new one.
+ if self.enteringNewPatient():
+ return
+ self.editPageVisited = False
+ self.ui.main_tabWidget.setCurrentIndex(0)
+ if localsettings.station == "surgery":
+ self.ui.tabWidget.setCurrentIndex(4)
+ else:
+ self.ui.tabWidget.setCurrentIndex(3)
+ self.load_receptionSummaryPage()
+ self.ui.actionFix_Locked_New_Course_of_Treatment.setEnabled(False)
+ #--populate dnt1 and dnt2 comboboxes
+ self.load_dentComboBoxes(newPatientReload)
+ self.pt.checkExemption()
+ self.updateDetails()
+ self.ui.synopsis_lineEdit.setText(self.pt.synopsis)
+ self.load_notes_summary()
+
+ self.ui.notes_webView.setHtml("")
+ self.ui.notesEnter_textEdit.setText("")
+ for chart in (self.ui.staticChartWidget, self.ui.planChartWidget,
+ self.ui.completedChartWidget, self.ui.perioChartWidget,
+ self.ui.summaryChartWidget):
+ chart.clear()
+ #--necessary to restore the chart to full dentition
+ self.selectedChartWidget = "st"
+ self.ui.staticChartWidget.setSelected(0, 0, True) #select the UR8
+ self.ui.planChartWidget.setSelected(0, 0, False) #select the UR8
+ self.ui.completedChartWidget.setSelected(0, 0, False) #select the UR8
+
+ self.ui.toothPropsWidget.setTooth("ur8","st")
+ charts_gui.chartsTable(self)
+ charts_gui.bpe_dates(self)
+
+ try:
+ pos = localsettings.csetypes.index(self.pt.cset)
+ except ValueError:
+ if not newPatientReload:
+ QtGui.QMessageBox.information(self, "Advisory",
+ "Please set a Valid Course Type for this patient")
+ pos = -1
+ self.ui.cseType_comboBox.setCurrentIndex(pos)
+ self.ui.contract_tabWidget.setCurrentIndex(pos)
+ #--update bpe
+
+ labeltext = "currently editing %s %s %s - (%s)"% (
+ self.pt.title, self.pt.fname, self.pt.sname, self.pt.serialno)
+ self.loadedPatient_label.setText(labeltext)
+ self.ui.hiddenNotes_label.setText("")
+
+ if self.ui.tabWidget.currentIndex() == 4: #clinical summary
+ self.ui.summaryChartWidget.update()
+ self.ui.debugBrowser.setText("")
+
+ self.update_family_label()
+ self.medalert()
+ if localsettings.station == "surgery":
+ self.callXrays()
+ self.getmemos()
+
+ for warning in self.pt.load_warnings:
+ self.advise(warning, 1)
+
+ def getmemos(self):
+ '''
+ get valid memos for the patient
+ '''
+ for umemo in memos.get_memos(self.pt.serialno):
+ message = u'''<center>%s %s
+ <br />%s %s<br /><br /><br />
+ <b>%s</b></center>''' % (
+ _('Message from'),
+ umemo.author,
+ _("Dated"),
+ localsettings.formatDate(umemo.mdate),
+ umemo.message)
+
+ Dialog = QtGui.QDialog(self)
+ dl = Ui_showMemo.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.message_label.setText(message)
+
+ Dialog.exec_()
+ if dl.checkBox.checkState():
+ LOGGER.debug("deleting Memo %s"% umemo.ix)
+ memos.deleteMemo(umemo.ix)
+
+ def newCustomMemo(self):
+ Dialog = QtGui.QDialog(self)
+ dl = saveMemo.Ui_Dialog(Dialog, self.pt.serialno)
+ if not dl.getInput():
+ self.advise("memo not saved", 1)
+
+ def medalert(self):
+ if self.pt.MEDALERT:
+ self.ui.medNotes_pushButton.setStyleSheet(
+ "background-color: %s"% colours.med_warning )
+ else:
+ self.ui.medNotes_pushButton.setStyleSheet("")
+
+ if self.pt.MH != None:
+ mhdate=self.pt.MH[13]
+ if mhdate == None:
+ chkdate = ""
+ else:
+ chkdate = " - %s"% localsettings.formatDate(mhdate)
+ self.ui.medNotes_pushButton.setText("MedNotes%s"% chkdate)
+
+ self.enableEdit(True)
+
+ def updateHiddenNotesLabel(self):
+ '''
+ check and display hidden notes
+ '''
+ self.ui.hiddenNotes_label.setText(hidden_notes.toHtml(self.pt))
+
+ def updateStatus(self):
+ '''
+ updates the status combobox
+ '''
+ self.ui.status_comboBox.currentIndexChanged.disconnect(
+ self.change_pt_status)
+ self.ui.status_comboBox.setCurrentIndex(0)
+ for i in range(self.ui.status_comboBox.count()):
+ item = self.ui.status_comboBox.itemText(i)
+ if str(item).lower() == self.pt.status.lower():
+ self.ui.status_comboBox.setCurrentIndex(i)
+ self.ui.status_comboBox.currentIndexChanged.connect(
+ self.change_pt_status)
+
+ def change_pt_status(self, *args):
+ if self.pt.status == "BAD DEBT" and not permissions.granted(self):
+ self.updateStatus()
+ return
+ self.pt.status = unicode(
+ self.ui.status_comboBox.currentText().toUtf8())
+ self.updateDetails()
+
+ def updateDetails(self):
+ '''
+ sets the patient information into the left column
+ '''
+ if self.pt.serialno == 0:
+ self.ui.detailsBrowser.setText("")
+ return
+
+ self.pt.apply_fees()
+
+ Saved = (self.pt.dbstate.fees == self.pt.fees)
+ details = patientDetails.details(self.pt, Saved)
+ self.ui.detailsBrowser.setHtml(details)
+ self.ui.detailsBrowser.update()
+ self.ui.planSummary_textBrowser.setHtml(plan.summary(self.pt))
+ self.ui.closeTx_pushButton.setText(_("Close Course"))
+
+ self.ui.closeCourse_pushButton.setEnabled(self.pt.underTreatment)
+ self.ui.estWidget.setEnabled(self.pt.underTreatment)
+ self.ui.completed_groupBox.setEnabled(self.pt.underTreatment)
+ self.ui.plan_groupBox.setEnabled(self.pt.underTreatment)
+ self.ui.closeTx_pushButton.setEnabled(self.pt.underTreatment)
+ self.ui.plan_listView.setEnabled(self.pt.underTreatment)
+ self.ui.completed_listView.setEnabled(self.pt.underTreatment)
+
+ if self.pt.underTreatment:
+ self.ui.estimate_label.setText(u"<b>%s</b><br />%s %s"% (
+ _("Active Course"),
+ _("started"),
+ localsettings.formatDate(self.pt.treatment_course.accd)))
+ self.ui.plan_buttons_stacked_widget.setCurrentIndex(0)
+
+ else:
+ self.ui.estimate_label.setText(
+ u"<b>%s</b><br />%s %s<br />%s %s"% (
+ _("Previous Course"),
+ _("started"),
+ localsettings.formatDate(self.pt.treatment_course.accd),
+ _("completed"),
+ localsettings.formatDate(self.pt.treatment_course.cmpd)))
+ self.ui.plan_buttons_stacked_widget.setCurrentIndex(1)
+ if not self.pt.treatment_course.accd in ("", None):
+ self.ui.closeTx_pushButton.setText(_("Resume Existing Course"))
+ self.ui.closeTx_pushButton.setEnabled(True)
+
+ def find_patient(self):
+ if self.enteringNewPatient():
+ return
+ if not self.okToLeaveRecord():
+ print "not loading"
+ self.advise(_("Not loading patient"))
+ return
+
+ dl = FindPatientDialog(self)
+ if dl.exec_():
+ if dl.chosen_sno:
+ self.getrecord(dl.chosen_sno, True)
+
+ def set_surgery_mode(self, surgery):
+ localsettings.station = "surgery" if surgery else "reception"
+ self.set_operator_label()
+ self.gotoDefaultTab()
+
+ def set_operator_label(self):
+ if localsettings.clinicianNo == 0:
+ if localsettings.station == "surgery":
+ op_text = " <b>" + _("NO CLINICIAN SET") + "</b> - "
+ self.advise(_("you are in surgery mode without a clinician"),1)
+ else:
+ op_text = ""
+ else:
+ op_text = (" <b>" + _("CLINICIAN") + "(" +
+ localsettings.clinicianInits + ")</b> - ")
+
+ if "/" in localsettings.operator:
+ op_text += " " + _("team") + " "
+ op_text += (" " + localsettings.operator + " " + _("using") + " " +
+ localsettings.station + " " + _("mode"))
+
+ self.operator_label.setText(op_text)
+
+ def labels_and_tabs(self):
+ '''
+ initialise a few labels
+ '''
+ self.ui.main_tabWidget.setCurrentIndex(0)
+ self.ui.tabWidget.setCurrentIndex(0)
+ self.diary_widget.reset()
+ c_list = QtGui.QCompleter([_("Mr"), _("Mrs"), _("Ms"), _("Miss"),
+ _("Master"), _("Dr"), _("Professor")])
+ self.ui.titleEdit.setCompleter(c_list)
+
+ if localsettings.station == "surgery":
+ self.ui.tabWidget.setCurrentIndex(4)
+ else:
+ self.ui.tabWidget.setCurrentIndex(3)
+
+ self.ui.reception_textBrowser.setHtml(localsettings.message)
+ self.ui.recNotes_webView.setHtml("")
+ self.ui.notesSummary_webView.setHtml(localsettings.message)
+
+ today = QtCore.QDate().currentDate()
+ self.ui.daybookEndDateEdit.setDate(today)
+ self.ui.daybookStartDateEdit.setDate(today)
+ self.ui.cashbookStartDateEdit.setDate(today)
+ self.ui.cashbookEndDateEdit.setDate(today)
+ self.ui.stackedWidget.setCurrentIndex(1)
+
+ brush = QtGui.QBrush(colours.LINEEDIT)
+ palette = QtGui.QPalette()
+ palette.setBrush(QtGui.QPalette.Base, brush)
+
+ for widg in (self.ui.snameEdit, self.ui.titleEdit,
+ self.ui.fnameEdit, self.ui.addr1Edit, self.ui.dobEdit,
+ self.ui.pcdeEdit, self.ui.sexEdit):
+ widg.setPalette(palette)
+
+ self.ui.cseType_comboBox.addItems(localsettings.csetypes)
+ self.ui.forumViewFilter_comboBox.addItems(
+ localsettings.allowed_logins)
+
+ self.forum_mode()
+ self.addHistoryMenu()
+
+ def addHistoryMenu(self):
+ '''
+ add items to a toolbutton for trawling the database
+ for old data about the patient
+ '''
+
+ self.debugMenu=QtGui.QMenu()
+ self.debugMenu.addAction("Patient table data")
+ self.debugMenu.addAction("Treatment table data")
+ self.debugMenu.addAction("HDP table data")
+ self.debugMenu.addAction("Estimates table data")
+ self.debugMenu.addAction("Perio table data")
+ self.debugMenu.addAction("Changable Fields")
+
+ self.ui.debug_toolButton.setMenu(self.debugMenu)
+
+ def showForumActivity(self, newItems=True):
+ tb=self.ui.main_tabWidget.tabBar()
+ if newItems:
+ tb.setTabText(7, _("NEW FORUM POSTS"))
+ tb.setTabTextColor(7, QtGui.QColor("red"))
+ if not self.forum_notified:
+ self.notify("New Forum Posts")
+ self.forum_notified = True
+ else:
+ tb.setTabText(7, _("FORUM"))
+ tb.setTabTextColor(7, QtGui.QColor(self.palette().WindowText))
+ self.forum_notified = False
+
+ def save_patient_tofile(self):
+ '''
+ our "patient" is a python object,
+ so can be pickled
+ save to file is really just a development feature
+ '''
+ try:
+ filepath = QtGui.QFileDialog.getSaveFileName()
+ if filepath != '':
+ f=open(filepath, "w")
+ f.write(pickle.dumps(self.pt))
+ f.close()
+ self.advise("Patient File Saved", 1)
+ except Exception, e:
+ self.advise("Patient File not saved - %s"% e, 2)
+
+ def open_patient_fromfile(self):
+ '''
+ reload a saved (pickled) patient
+ only currently works is the OM version is compatible
+ '''
+ if self.enteringNewPatient():
+ return
+ if not self.okToLeaveRecord():
+ print "not loading"
+ self.advise(_("Not loading patient"))
+ return
+ filename = QtGui.QFileDialog.getOpenFileName()
+ if filename != '':
+ self.advise(_("opening patient file"))
+ try:
+ f = open(filename, "r")
+ loadedpt = pickle.loads(f.read())
+ if loadedpt.serialno == self.pt.serialno:
+ self.pt.take_snapshot()
+ self.pt = loadedpt
+ f.close()
+ except Exception, e:
+ self.advise("error loading patient file - %s"% e, 2)
+ else:
+ self.advise(_("no file chosen"), 1)
+ self.loadpatient()
+
+ def exportRecalls(self):
+ '''
+ gets patients who have the recall date stipulated
+ by the ui.recallDateEdit value
+ '''
+ dl = RecallDialog(self)
+ if dl.exec_():
+ patients = recall.getpatients(dl.conditions, dl.values)
+ self.letters.setData(recall.HEADERS, patients)
+
+ def bulkMailExpand(self):
+ '''
+ expand/contract all children
+ '''
+ self.letters.expand_contract()
+
+ def bulkMailPrint(self):
+ '''
+ the print button on the bulk mail tab has been clicked
+ '''
+ self.letters.print_()
+
+ def bulkMailLetterOptions(self):
+ '''
+ user has clicked on the letter option button
+ '''
+ self.letters.showOptions()
+
+ def bulk_mail_doubleclicked(self, index):
+ '''
+ a row in the bulk_mail data model has been double clicked
+ '''
+ self.getrecord(self.letters.selected(index))
+
+ def showChartTable(self, charts):
+ '''
+ flips a stackedwidget to display the table underlying the charts
+ '''
+ if charts:
+ self.ui.stackedWidget.setCurrentIndex(0)
+ else:
+ self.ui.stackedWidget.setCurrentIndex(1)
+
+ def show_phrase_book_dialog(self):
+ '''
+ show the phraseBook
+ '''
+ if self.pt.serialno == 0:
+ self.advise("no patient selected", 1)
+ return
+ dl = PhraseBookDialog(self)
+ newNotes = ""
+ if dl.exec_():
+ for phrase in dl.selectedPhrases:
+ newNotes += phrase + "\n"
+ if newNotes != "":
+ self.addNewNote(newNotes)
+
+ def show_clinician_phrase_book_dialog(self):
+ '''
+ show the phraseBook
+ '''
+ if self.pt.serialno == 0:
+ self.advise("no patient selected", 1)
+ return
+ dl = PhraseBookDialog(self, localsettings.clinicianNo)
+ newNotes = ""
+ if dl.exec_():
+ for phrase in dl.selectedPhrases:
+ newNotes += phrase + "\n"
+ if newNotes != "":
+ self.addNewNote(newNotes)
+
+
+ def addNewNote(self, arg):
+ '''
+ used when I programatically add text to the user textEdit
+ '''
+ current = self.ui.notesEnter_textEdit.toPlainText().trimmed()
+ if current != "":
+ current += "\n"
+ self.ui.notesEnter_textEdit.setText(current + arg)
+
+ def callXrays(self):
+ '''
+ this updates a database with the record in use
+ '''
+ if localsettings.surgeryno == -1 and not self.set_surgery_number():
+ return
+ calldurr.commit(self.pt.serialno, localsettings.surgeryno)
+
+ def showMedNotes(self):
+ '''
+ user has called for medical notes to be shown
+ '''
+ if self.pt.serialno == 0:
+ self.advise("no patient selected", 1)
+ return
+ Dialog = QtGui.QDialog(self)
+ if medNotes.showDialog(Dialog, self.pt):
+ self.advise("Updated Medical Notes", 1)
+ self.medalert()
+
+ def newBPE_Dialog(self):
+ '''
+ enter a new BPE
+ '''
+ if self.pt.serialno == 0:
+ self.advise("no patient selected", 1)
+ return
+ Dialog = QtGui.QDialog(self)
+ dl = newBPE.Ui_Dialog(Dialog)
+ result=dl.getInput()
+ if result[0]:
+ self.pt.bpe.append((localsettings.currentDay(), result[1]), )
+ #--add a bpe
+ newnotes=str(self.ui.notesEnter_textEdit.toPlainText().toAscii())
+ newnotes+=" bpe of %s recorded \n"%result[1]
+ self.ui.notesEnter_textEdit.setText(newnotes)
+ self.ui.bpe_textBrowser
+ else:
+ self.advise("BPE not applied", 2)
+ charts_gui.bpe_dates(self)
+ charts_gui.bpe_table(self, 0)
+
+ def nhsformOptionsDialog(self):
+ '''
+ adjust the top left corner and scaling of nhs forms.
+ '''
+ dl = NHSFormsConfigDialog(self)
+ dl.exec_()
+
+ def unsavedChanges(self):
+ '''
+ important function, checks for changes since the patient was loaded
+ '''
+ if self.pt.serialno != self.pt.dbstate.serialno:
+ #this should NEVER happen!!!
+ self.advise(
+ _('''POTENTIALLY SERIOUS CONFUSION PROBLEM WITH PT RECORDS''') +
+ ' %d and %d'% (self.pt.serialno, self.pt.dbstate.serialno), 2)
+ return []
+
+ changes = self.pt.changes
+
+ if (len(self.ui.notesEnter_textEdit.toPlainText()) != 0 or
+ len(self.pt.HIDDENNOTES) != 0):
+ changes.append("New Notes")
+
+ if "treatment_course" in changes:
+ course = self.pt.treatment_course
+ db_course = self.pt.dbstate.treatment_course
+ if course.xraycmp != db_course.xraycmp:
+ daybook_module.xrayDates(self, course.xraycmp)
+ if course.periocmp != db_course.periocmp:
+ daybook_module.perioDates(self, course.periocmp)
+
+ return changes
+
+ def save_changes(self, leavingRecord=True):
+ '''
+ updates the database when the save is requested
+ '''
+ if self.pt.serialno == 0:
+ self.advise(_("no patient selected"), 1)
+ return
+ if self.editPageVisited:
+ #-- only make changes if user has visited this tab
+ self.apply_editpage_changes()
+ uc = self.unsavedChanges()
+ if uc != []:
+ print "changes made to patient atttributes..... updating database"
+ result = patient_write_changes.all_changes(self.pt, uc)
+ daybook_module.updateDaybook(self)
+ if self.pt.est_logger is not None:
+ self.pt.est_logger.add_row(
+ self.pt.courseno0, self.pt.est_logger_text)
+
+ if result: #True if sucessful
+ if not leavingRecord and "estimates" in uc:
+ #-- necessary to get index numbers for estimate data types
+ self.pt.getEsts()
+ if self.ui.tabWidget.currentIndex() == 7:
+ self.load_newEstPage()
+
+ self.pt.take_snapshot()
+
+ else:
+ self.advise("Error applying changes... please retry", 2)
+ print "error saving changes to record %s"%self.pt.serialno,
+ print result, str(uc)
+
+
+ if "New Notes" in uc:
+ newnote=str(self.ui.notesEnter_textEdit.toPlainText().toAscii())
+
+ notetuplets = []
+ for noteline in newnote.split("\n"):
+ notetuplets.append(("newNOTE", noteline))
+
+ result = patient_write_changes.toNotes(
+ self.pt.serialno, notetuplets)
+
+ #--sucessful write to db?
+ if result:
+ #--result will be a "line number" or -1 if unsucessful write
+ self.ui.notesEnter_textEdit.setText("")
+ self.ui.hiddenNotes_label.setText("")
+ self.pt.getNotesTuple()
+ #--reload the notes
+ html = formatted_notes.notes(self.pt.notes_dict)
+ self.ui.notesSummary_webView.setHtml(html)
+
+ if self.ui.tabWidget.currentIndex() == 3:
+ self.load_receptionSummaryPage()
+
+ if self.ui.tabWidget.currentIndex() == 5:
+ self.updateNotesPage()
+ else:
+ #--exception writing to db
+ self.advise("error writing notes to database... sorry!", 2)
+ self.updateDetails()
+
+ def enableEdit(self, arg=True):
+ '''
+ disable/enable widgets "en mass" when no patient loaded
+ '''
+ self.pt_diary_widget.hide_appointment_buttons()
+
+ self.ui.clinician_phrasebook_pushButton.setVisible(
+ arg and PHRASEBOOKS.has_phrasebook(localsettings.clinicianNo))
+
+ for widg in (
+ self.ui.summaryChartWidget,
+ self.ui.printEst_pushButton,
+ self.ui.printAccount_pushButton,
+ self.ui.relatedpts_pushButton,
+ self.ui.saveButton,
+ self.ui.phraseBook_pushButton,
+ self.ui.clinician_phrasebook_pushButton,
+ self.ui.exampushButton,
+ self.ui.xray_pushButton,
+ self.ui.medNotes_pushButton,
+ self.ui.printGP17_pushButton,
+ self.ui.newBPE_pushButton,
+ self.ui.hygWizard_pushButton,
+ self.ui.notesEnter_textEdit,
+ self.ui.synopsis_lineEdit,
+ self.ui.memos_pushButton,
+ self.pt_diary_widget,
+ self.ui.childsmile_button,
+ ):
+
+ widg.setEnabled(arg)
+
+ self.ui.closeCourse_pushButton.setEnabled(False)
+ self.ui.actionFix_Locked_New_Course_of_Treatment.setEnabled(False)
+
+ for i in (0, 1, 2, 5, 6, 7, 8, 9):
+ if self.ui.tabWidget.isTabEnabled(i) != arg:
+ self.ui.tabWidget.setTabEnabled(i, arg)
+ if self.pt is not None and "N" in self.pt.cset:
+ #-- show NHS form printing button
+ self.ui.NHSadmin_groupBox.show()
+ self.ui.childsmile_button.setVisible(self.pt.under_6)
+ else:
+ self.ui.NHSadmin_groupBox.hide()
+ self.ui.childsmile_button.hide()
+
+ if not arg:
+ self.ui.medNotes_pushButton.setText("MedNotes")
+
+ self.updateDetails()
+
+ def changeLanguage(self):
+ '''
+ user has clicked on the Change Language Menu Item
+ '''
+ if select_language.run(self):
+ self.ui.retranslateUi(self)
+
+ def printGP17_clicked(self):
+ '''
+ print a GP17
+ '''
+ form_printer = GP17Printer(self)
+ form_printer.print_()
+
+ def advancedRecordTools(self):
+ '''
+ menu option which allows adanced record changes
+ '''
+ if self.pt.serialno == 0:
+ self.advise(_("no record selected"),1)
+ else:
+ if permissions.granted(self):
+ dl = recordtools.recordTools(self)
+ dl.exec_()
+
+ def apptBook_fontSize(self):
+ '''
+ user is asking for a different font on the appointment book
+ '''
+ i, result = QtGui.QInputDialog.getInteger(self, _("FontSize"),
+ _("Enter your preferred font size for appointment book") , 8,6,16)
+ if result:
+ self.diary_widget.aptFontSize(i)
+
+ def takePayment_pushButton_clicked(self):
+ '''
+ user has clicked to take a payment
+ '''
+ fees_module.takePayment(self)
+
+ def feeSearch_lineEdit_edited(self):
+ '''
+ user has entered a field to search for in the fees table
+ '''
+ self.feeSearch_pushButton_clicked()
+
+ def feeSearch_pushButton_clicked(self, toggled=None):
+ '''
+ user is searching fees
+ '''
+ fees_module.feeSearch(self)
+
+ def feescale_tester_pushButton_clicked(self):
+ '''
+ show the feescale tester dialog
+ '''
+ fees_module.feetester(self)
+
+ def nhsRegs_pushButton_clicked(self):
+ '''
+ user should be offered a PDF of the current regulations
+ '''
+ fees_module.nhsRegsPDF(self)
+
+ def feeScale_clicked(self, model_index):
+ '''
+ user has clicked on an item in the fees_table
+ '''
+ fees_module.table_clicked(self, model_index)
+
+ def feeScale_expanded(self, model_index):
+ '''
+ user has expanded an item in the fees_table
+ '''
+ fees_module.adjustTable(self, model_index)
+
+ def chooseFeescale_comboBox_changed(self, arg):
+ '''
+ receives signals from the choose feescale combobox
+ '''
+ fees_module.chooseFeescale(self,arg)
+
+ def feeExpand_radiobuttons_clicked(self):
+ '''
+ the expand or collapse radio buttons on the fees page
+ have been clicked.
+ '''
+ fees_module.expandFees(self)
+
+ def plan_page_course_but_clicked(self):
+ if self.pt.underTreatment: # shouldn't happen
+ return
+ course_module.setupNewCourse(self)
+
+ def closeTx_pushButton_clicked(self):
+ '''
+ user has clicked on close course button
+ '''
+ if self.pt.underTreatment:
+ course_module.closeCourse(self)
+ #static items may have changed
+ charts_gui.chartsTable(self)
+ self.load_clinicalSummaryPage()
+ self.ui.summaryChartWidget.update()
+
+ else:
+ course_module.resumeCourse(self)
+
+ def showExamDialog(self):
+ '''
+ call a smart dialog which will perform an exam on the current patient
+ '''
+ if course_module.newCourseNeeded(self):
+ return
+ dl = ExamWizard(self)
+ if dl.perform_exam():
+ self.ui.estWidget.setEstimate(self.pt.estimates)
+ self.load_clinicalSummaryPage()
+ self.updateHiddenNotesLabel()
+ self.updateDetails()
+
+ def showHygDialog(self):
+ '''
+ call a smart dialog which will perform hygenist treatment
+ on the current patient
+ '''
+ if course_module.newCourseNeeded(self):
+ return
+ dl = HygTreatWizard(self)
+ dl.perform_tx()
+ self.updateDetails()
+
+ def addXrayItems(self):
+ '''
+ add Xray items to the treatment plan
+ '''
+ manipulate_plan.xrayAdd(self)
+
+ def addXrays(self):
+ '''
+ add Xray items to COMPLETED tx
+ '''
+ manipulate_plan.xrayAdd(self, complete=True)
+
+ def addPerioItems(self):
+ '''
+ add Perio items to the treatment plan
+ '''
+ manipulate_plan.perioAdd(self)
+
+ def add_denture_items(self):
+ '''
+ add 'denture' items to the treatment plan
+ '''
+ manipulate_plan.denture_add(self)
+
+ def addOtherItems(self):
+ '''
+ add 'Other' items to the treatment plan
+ '''
+ manipulate_plan.otherAdd(self)
+
+ def addCustomItem(self):
+ '''
+ add custom items to the treatment plan
+ '''
+ manipulate_plan.customAdd(self)
+
+ def feeScaleTreatAdd(self, item, subindex):
+ '''
+ add an item directly from the feescale
+ '''
+ manipulate_plan.fromFeeTable(self, item, subindex)
+
+ def feetable_xml(self):
+ '''
+ user has asked to see the feetable raw data
+ '''
+ fees_module.showTableXML(self)
+
+ def handle_chart_treatment_input(self, tooth, prop, completed):
+ LOGGER.debug("%s %s completed=%s"% (tooth, prop, completed))
+ if course_module.newCourseNeeded(self):
+ return
+
+ existing_cmp_items = self.pt.treatment_course.cmp_txs(tooth)
+ existing_pl_items = self.pt.treatment_course.pl_txs(tooth)
+ if completed:
+ existing_items = existing_cmp_items
+ else:
+ existing_items = existing_pl_items
+
+ new_items = prop.split(" ")
+ additions = []
+ for item in set(new_items):
+ add_no = new_items.count(item) - existing_items.count(item)
+ for i in range(add_no):
+ additions.append(item)
+ removals = []
+ for item in set(existing_items):
+ remove_no = existing_items.count(item) - new_items.count(item)
+ for i in range(remove_no):
+ removals.append((tooth, item))
+
+ for tx in additions:
+ if tx == "":
+ continue
+ n_txs = existing_cmp_items.count(tx)
+ courseno = self.pt.treatment_course.courseno
+ if (completed and tx in existing_pl_items):
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (courseno, tooth, n_txs+1, tx))
+ tx_hash = estimates.TXHash(hash_)
+ manipulate_plan.tx_hash_complete(self, tx_hash)
+ elif not completed and n_txs:
+ hash_ = localsettings.hash_func(
+ "%s%s%s%s"% (courseno, tooth, n_txs, tx))
+ tx_hash = estimates.TXHash(hash_)
+ manipulate_plan.tx_hash_reverse(self, tx_hash)
+ else:
+ manipulate_plan.add_treatments_to_plan(self,
+ ((tooth, tx),), completed)
+
+ if removals:
+ manipulate_plan.remove_treatments_from_plan_and_est(
+ self, removals, completed)
+
+ if completed:
+ self.ui.completedChartWidget.setToothProps(tooth, prop)
+ self.ui.completedChartWidget.update()
+ else:
+ self.ui.planChartWidget.setToothProps(tooth, prop)
+ self.ui.planChartWidget.update()
+
+ def complete_planned_chart_treatments(self, treatments):
+ '''
+ called when double clicking on a tooth in the plan chart
+ the arg is a list - [('ur5', u'MOD '), ('ur5', u'RT ')]
+ '''
+ if not self.pt.underTreatment:
+ self.advise("course has been closed", 1)
+ else:
+ manipulate_plan.complete_txs(self, treatments)
+
+ def reverse_completed_chart_treatments(self, treatments):
+ '''
+ called when double clicking on a tooth in the completed chart
+ the arg is a list - [('ur5', u'MOD '), ('ur5', u'RT ')]
+ '''
+ if not self.pt.underTreatment:
+ self.advise("course has been closed", 1)
+ else:
+ manipulate_plan.reverse_txs(self, treatments)
+
+ def estwidget_deleteTxItem(self, est_item):
+ '''
+ estWidget has removed an item from the estimates.
+ (user clicked on the delete button)
+ '''
+ manipulate_plan.remove_estimate_item(self, est_item)
+
+ def makeBadDebt_clicked(self):
+ '''
+ user has decided to reclassify a patient as a "bad debt" patient
+ '''
+ fees_module.makeBadDebt(self)
+
+ def loadAccountsTable_clicked(self):
+ '''
+ button has been pressed to load the accounts table
+ '''
+ fees_module.populateAccountsTable(self)
+
+ def forum_mode(self):
+ '''
+ forum has an advanced mode, disabled by default
+ '''
+ advanced_mode = self.ui.action_forum_show_advanced_options.isChecked()
+ self.ui.forumParent_pushButton.setVisible(advanced_mode)
+ self.ui.forum_deletedposts_checkBox.setVisible(advanced_mode)
+ self.ui.forumExpand_pushButton.setVisible(advanced_mode)
+ self.ui.forumCollapse_pushButton.setVisible(advanced_mode)
+
+ def forum_treeWidget_selectionChanged(self):
+ '''
+ user has selected an item in the forum
+ '''
+ forum_gui_module.forumItemSelected(self)
+
+ def forumViewFilterChanged(self, chosen):
+ '''
+ user has changed the filter for who's posts to show
+ '''
+ forum_gui_module.viewFilterChanged(self, chosen)
+
+ def forumCollapse(self):
+ '''
+ user has pressed the collapse button
+ '''
+ self.ui.forum_treeWidget.collapseAll()
+
+ def forumExpand(self):
+ '''
+ user has pressed the expand button
+ '''
+ self.ui.forum_treeWidget.expandAll()
+
+ def forumNewTopic_clicked(self):
+ '''
+ user has called for a new topic in the forum
+ '''
+ forum_gui_module.forumNewTopic(self)
+
+ def forumDeleteItem_clicked(self):
+ '''
+ user is deleting an item from the forum
+ '''
+ forum_gui_module.forumDeleteItem(self)
+
+ def forumReply_clicked(self):
+ '''
+ user is replying to an existing topic
+ '''
+ forum_gui_module.forumReply(self)
+
+ def forumParent_clicked(self):
+ '''
+ user is setting a parent for an item
+ '''
+ forum_gui_module.forumParent(self)
+
+ def checkForNewForumPosts(self):
+ '''
+ called by a timer - checks for messages
+ '''
+ forum_gui_module.checkForNewForumPosts(self)
+
+ def forum_radioButtons(self):
+ '''
+ the user has requested a different view of the forum
+ '''
+ forum_gui_module.loadForum(self)
+
+ def contractTab_navigated(self,i):
+ '''
+ the contract tab is changing
+ '''
+ contract_gui_module.handle_ContractTab(self)
+
+ def dnt1comboBox_clicked(self, qstring):
+ '''
+ user is changing dnt1
+ '''
+ contract_gui_module.changeContractedDentist(self,qstring)
+
+ def dnt2comboBox_clicked(self, qstring):
+ '''
+ user is changing dnt1
+ '''
+ contract_gui_module.changeCourseDentist(self,qstring)
+
+ def cseType_comboBox_clicked(self, qstring):
+ '''
+ user is changing the course type
+ '''
+ contract_gui_module.changeCourseType(self,qstring)
+
+ def editNHS_pushButton_clicked(self):
+ '''
+ edit the NHS contract
+ '''
+ contract_gui_module.editNHScontract(self)
+
+ def exemption_edited(self):
+ '''
+ exemption fields have altered
+ '''
+ contract_gui_module.exemption_edited(self)
+
+ def editPriv_pushButton_clicked(self):
+ '''
+ edit Private contract
+ '''
+ contract_gui_module.editPrivateContract(self)
+
+ def nhsclaims_pushButton_clicked(self):
+ '''
+ edit Private contract
+ '''
+ self.nhsClaimsShortcut()
+
+ def editHDP_pushButton_clicked(self):
+ '''
+ edit the HDP contract
+ '''
+ contract_gui_module.editHDPcontract(self)
+
+ def editRegDent_pushButton_clicked(self):
+ '''
+ edit the "other Dentist" contract
+ '''
+ contract_gui_module.editOtherContract(self)
+
+ def pastPayments_clicked(self):
+ '''
+ show all past payments for a patient
+ '''
+ html = paymentHistory.details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def pastTreatment_clicked(self):
+ '''
+ show all past estimates for a patient
+ '''
+ html = daybookHistory.details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def pastCourses_clicked(self):
+ '''
+ show all past treatment plans for a patient
+ (including treatment that was never carried out)
+ '''
+ html = courseHistory.details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def pastEstimates_clicked(self):
+ '''
+ show all past estimates for a patient
+ '''
+ html = estimatesHistory.details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def past_course_estimates_clicked(self):
+ '''
+ show all past treatment plans for a patient
+ (including treatment that was never carried out)
+ and include the estimate for that course
+ '''
+ html = courseHistory.all_details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def NHSClaims_clicked(self):
+ '''
+ show all past NHS claims for a patient
+ '''
+ html = nhs_claims.details(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def show_memo_history(self):
+ '''
+ show all memos for a patient
+ '''
+ html = memos.html_history(self.pt.serialno)
+ self.ui.debugBrowser.setText(html)
+
+ def show_estimate_versioning(self):
+ '''
+ show how the current estimate has changed
+ '''
+ html = est_logger.html_history(self.pt.courseno0)
+ self.ui.debugBrowser.setText(html)
+
+ def nhsClaimsShortcut(self):
+ '''
+ a convenience function called from the contracts page
+ '''
+ self.ui.tabWidget.setCurrentIndex(9)
+ self.NHSClaims_clicked()
+
+ def updateAttributes(self, arg=None):
+ '''
+ refresh the table if the checkbox is toggled
+ '''
+ if debug_html.existing != "":
+ self.showPtAttributes()
+
+ def showPtAttributes(self, arg=None):
+ '''
+ this is for my own debugging purposes
+ I can view attributes in memory, and compare to the original db values
+ '''
+ #--load a table of self.pt.attributes
+ if arg != None:
+ txtype = str(arg.text()).split(" ")[0]
+ else:
+ txtype = None
+
+ changesOnly=self.ui.ptAtts_checkBox.isChecked()
+ html = debug_html.toHtml(self.pt, txtype, changesOnly)
+ self.ui.debugBrowser.setText(html)
+
+ def cashbookView(self):
+ '''
+ cashbook Go button clicked
+ '''
+ cashbook_module.show_cashbook(self)
+
+ def cashbookPrint(self):
+ '''
+ cashbook print button clicked
+ '''
+ cashbook_module.show_cashbook(self, print_=True)
+
+ def daybookView(self):
+ '''
+ daybook Go button clicked
+ '''
+ daybook_module.daybookView(self)
+
+ def daybookPrint(self):
+ '''
+ daybook print button clicked
+ '''
+ daybook_module.daybookView(self, print_=True)
+
+ def historyPrint(self):
+ '''
+ print whatever is in the history browser
+ more than just history!
+ '''
+ om_printing.historyPrint(self)
+
+ def printSelectedAccounts(self):
+ '''
+ iterate over te accounts table, and print letters to those who
+ have been selected to get an invoice
+ '''
+ om_printing.printSelectedAccounts(self)
+
+ def printLetter(self):
+ '''
+ prints a letter to the patient
+ '''
+ om_printing.printLetter(self)
+
+ def printDupReceipt(self):
+ '''
+ prints a duplicate receipt
+ '''
+ dl = duplicate_receipt_dialog.DuplicateReceiptDialog(self.pt, self)
+ if dl.exec_() and dl.duplicate_printed:
+ om_printing.commitPDFtoDB(self, "dup receipt")
+ self.updateHiddenNotesLabel()
+
+ def printAccountsTable(self):
+ '''
+ print the table
+ '''
+ om_printing.printAccountsTable(self)
+
+ def printEstimate(self):
+ '''
+ print an estimate
+ '''
+ om_printing.printEstimate(self)
+
+ def customEstimate(self):
+ '''
+ prints a custom estimate to the patient
+ '''
+ om_printing.customEstimate(self)
+
+ def printReferral(self):
+ '''
+ prints a referal letter controlled by referal.xml file
+ '''
+ om_printing.printReferral(self)
+
+ def printaccount(self, tone="A"):
+ '''
+ print an account
+ '''
+ om_printing.printaccount(self, tone)
+
+ def testGP17(self):
+ '''
+ used to test print a GP17 (NHS scotland) claim form
+ '''
+ form_printer = GP17Printer(self)
+ form_printer.print_(test=True)
+
+ def accountButton2Clicked(self):
+ '''
+ user has requested an account printing
+ '''
+ if self.ui.accountB_radioButton.isChecked():
+ om_printing.printaccount(self, "B") #print a medium letter
+ elif self.ui.accountC_radioButton.isChecked():
+ om_printing.printaccount(self, "C") #print "harsh letter"
+ else:
+ om_printing.printaccount(self) #print default account
+
+ def printmultiDayList(self, args):
+ '''prints the multiday pages'''
+ #-- args= ((dent, date), (dent, date)...)
+ dlist=multiDayListPrint.printDaylist()
+ something_to_print=False
+ for arg in args:
+ data=appointments.printableDaylistData(arg[1].toPyDate(), arg[0])
+ #note arg[1]=Qdate
+ if data != []:
+ something_to_print=True
+ dlist.addDaylist(arg[1], arg[0], data)
+ if something_to_print:
+ dlist.print_()
+
+ def daylistPrintWizard(self):
+ '''
+ raise a dialog and give options for what should be printed
+ '''
+ om_printing.daylistPrintWizard(self)
+
+ def printrecall(self):
+ '''
+ print a one-off recall
+ '''
+ om_printing.printrecall(self)
+
+ def printNotes(self):
+ '''
+ normal notes print
+ '''
+ self.advise(
+ _("use the checkboxes on the notes tab to control what is printed."),
+ 1)
+ om_printing.printNotes(self)
+
+ def printMH(self):
+ om_printing.print_mh_form(self)
+
+ def print_mh_forms(self, serialnos):
+ om_printing.print_mh_forms(serialnos, self)
+
+ def childsmile_button_clicked(self):
+ '''
+ A function to implement NHS Scotland's Childsmile.
+ '''
+ dl = ChildSmileDialog(self)
+ dl.exec_()
+
+ def notes_link_clicked(self, url):
+ url_text = url.toString()
+ m = re.match("edit_notes\?(\d+|\|\|SNO\|\|)", url_text)
+ if m:
+ if m.groups()[0] == "||SNO||":
+ serialno = self.pt.serialno
+ patient_loaded = True
+ else:
+ serialno = int(m.groups()[0])
+ patient_loaded = False
+ dl = AlterTodaysNotesDialog(serialno, self)
+ dl.patient_loaded = patient_loaded
+ if dl.exec_():
+ if patient_loaded:
+ self.pt.getNotesTuple()
+ self.updateNotesPage()
+ self.load_notes_summary()
+
+ def show_diary(self):
+ '''
+ called when the diary widget itself has something to show.
+ we need to avoid changing to today's date as this may be undesirable
+ '''
+ self.signals_tabs(False)
+ self.ui.main_tabWidget.setCurrentIndex(1)
+ self.signals_tabs()
+
+ @property
+ def patient(self):
+ '''
+ a convenience property to use the new style pt attribute
+ '''
+ if self.pt.serialno == 0:
+ return None
+ return self.pt
+
+ def setupSignals(self):
+ '''
+ a function to call other functions (to keep the code clean)
+ '''
+ self.signals_miscbuttons()
+ self.signals_admin()
+ self.signals_reception()
+ self.signals_printing()
+ self.signals_menu()
+ self.signals_estimates()
+ self.signals_plan()
+ self.signals_daybook()
+ self.signals_accounts()
+ self.signals_contract()
+ self.signals_feesTable()
+ self.signals_charts()
+ self.signals_editPatient()
+ self.signals_notesPage()
+ self.signals_periochart()
+ self.signals_tabs()
+ self.signals_appointments()
+ self.signals_forum()
+ self.signals_history()
+ self.signals_bulk_mail()
+ self.signals_notes()
+
+ def signals_miscbuttons(self):
+ '''
+ connect the signals from various buttons which do not
+ belong to any other function
+ '''
+ QtCore.QObject.connect(self.ui.closeCourse_pushButton,
+ QtCore.SIGNAL("clicked()"), self.closeTx_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.saveButton,
+ QtCore.SIGNAL("clicked()"), self.saveButtonClicked)
+
+ QtCore.QObject.connect(self.ui.exampushButton,
+ QtCore.SIGNAL("clicked()"), self.showExamDialog)
+
+ QtCore.QObject.connect(self.ui.hygWizard_pushButton,
+ QtCore.SIGNAL("clicked()"), self.showHygDialog)
+
+ QtCore.QObject.connect(self.ui.xray_pushButton,
+ QtCore.SIGNAL("clicked()"), self.addXrays)
+
+ QtCore.QObject.connect(self.ui.newBPE_pushButton,
+ QtCore.SIGNAL("clicked()"), self.newBPE_Dialog)
+
+ QtCore.QObject.connect(self.ui.medNotes_pushButton,
+ QtCore.SIGNAL("clicked()"), self.showMedNotes)
+
+ self.ui.phraseBook_pushButton.clicked.connect(
+ self.show_phrase_book_dialog)
+ self.ui.clinician_phrasebook_pushButton.clicked.connect(
+ self.show_clinician_phrase_book_dialog)
+
+ QtCore.QObject.connect(self.ui.memos_pushButton,
+ QtCore.SIGNAL("clicked()"), self.newCustomMemo)
+
+ QtCore.QObject.connect(self.ui.childsmile_button,
+ QtCore.SIGNAL("clicked()"), self.childsmile_button_clicked)
+
+ self.ui.actionSurgery_Mode.toggled.connect(self.set_surgery_mode)
+
+ def signals_admin(self):
+ #admin frame
+ QtCore.QObject.connect(self.ui.home_pushButton,
+ QtCore.SIGNAL("clicked()"), self.home)
+
+ QtCore.QObject.connect(self.ui.newPatientPushButton,
+ QtCore.SIGNAL("clicked()"), self.enterNewPatient)
+
+ QtCore.QObject.connect(self.ui.findButton,
+ QtCore.SIGNAL("clicked()"), self.find_patient)
+
+ QtCore.QObject.connect(self.ui.reloadButton,
+ QtCore.SIGNAL("clicked()"), self.reload_patient)
+
+ QtCore.QObject.connect(self.ui.backButton,
+ QtCore.SIGNAL("clicked()"), self.last_patient)
+
+ QtCore.QObject.connect(self.ui.nextButton,
+ QtCore.SIGNAL("clicked()"), self.next_patient)
+
+ QtCore.QObject.connect(self.ui.relatedpts_pushButton,
+ QtCore.SIGNAL("clicked()"), self.find_related)
+
+ QtCore.QObject.connect(self.ui.dayList_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"),self.todays_pts)
+
+ def signals_reception(self):
+ '''
+ a function to connect all the receptionists buttons
+ '''
+
+ QtCore.QObject.connect(self.ui.printAccount_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printaccount)
+
+ QtCore.QObject.connect(self.ui.printEst_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printEstimate)
+
+ QtCore.QObject.connect(self.ui.printRecall_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printrecall)
+
+ QtCore.QObject.connect(self.ui.takePayment_pushButton,
+ QtCore.SIGNAL("clicked()"), self.takePayment_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.printGP17_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printGP17_clicked)
+
+ def signals_notes(self):
+ '''
+ all the notes browsers need to send a signal when they have loaded
+ so that they can be scrolled to the end
+ '''
+ for wv in (self.ui.recNotes_webView, self.ui.notes_webView,
+ self.ui.notesSummary_webView):
+ QtCore.QObject.connect(wv,
+ QtCore.SIGNAL("loadFinished(bool)"), self.webviewloaded)
+
+ for wv in (self.ui.notes_webView, self.ui.notesSummary_webView,
+ self.diary_widget.ui.appt_notes_webView):
+ wv.linkClicked.connect(self.notes_link_clicked)
+
+
+ def signals_printing(self):
+ '''
+ connect buttons which print stuff
+ '''
+ QtCore.QObject.connect(self.ui.receiptPrintButton,
+ QtCore.SIGNAL("clicked()"), self.printDupReceipt)
+
+ QtCore.QObject.connect(self.ui.notesPrintButton,
+ QtCore.SIGNAL("clicked()"), self.printNotes)
+
+ QtCore.QObject.connect(self.ui.referralLettersPrintButton,
+ QtCore.SIGNAL("clicked()"), self.printReferral)
+
+ QtCore.QObject.connect(self.ui.standardLetterPushButton,
+ QtCore.SIGNAL("clicked()"), self.printLetter)
+
+ QtCore.QObject.connect(self.ui.recallLoad_pushButton,
+ QtCore.SIGNAL("clicked()"), self.exportRecalls)
+
+ QtCore.QObject.connect(self.ui.bulkMail_options_pushButton,
+ QtCore.SIGNAL("clicked()"), self.bulkMailLetterOptions)
+
+ QtCore.QObject.connect(self.ui.bulkMailPrint_pushButton,
+ QtCore.SIGNAL("clicked()"), self.bulkMailPrint)
+
+ QtCore.QObject.connect(self.ui.bulk_mail_expand_pushButton,
+ QtCore.SIGNAL("clicked()"), self.bulkMailExpand)
+
+ QtCore.QObject.connect(self.ui.importDoc_pushButton,
+ QtCore.SIGNAL("clicked()"), self.importDoc)
+
+ QtCore.QObject.connect(self.ui.account2_pushButton,
+ QtCore.SIGNAL("clicked()"), self.accountButton2Clicked)
+
+ QtCore.QObject.connect(self.ui.prevCorres_treeWidget,
+ QtCore.SIGNAL("itemDoubleClicked (QTreeWidgetItem *,int)"),
+ self.showPrevPrintedDoc)
+
+ QtCore.QObject.connect(self.ui.importDoc_treeWidget,
+ QtCore.SIGNAL("itemDoubleClicked (QTreeWidgetItem *,int)"),
+ self.showImportedDoc)
+
+ self.ui.medicalPrintButton.clicked.connect(self.printMH)
+
+ def signals_menu(self):
+ #menu
+ QtCore.QObject.connect(self.ui.action_save_patient,
+ QtCore.SIGNAL("triggered()"), self.save_patient_tofile)
+
+ QtCore.QObject.connect(self.ui.action_Open_Patient,
+ QtCore.SIGNAL("triggered()"), self.open_patient_fromfile)
+
+ QtCore.QObject.connect(self.ui.actionSet_Clinician,
+ QtCore.SIGNAL("triggered()"), self.setClinician)
+
+ QtCore.QObject.connect(self.ui.actionSet_Assistant,
+ QtCore.SIGNAL("triggered()"), self.setAssistant)
+
+ QtCore.QObject.connect(self.ui.actionChange_Language,
+ QtCore.SIGNAL("triggered()"), self.changeLanguage)
+
+ QtCore.QObject.connect(self.ui.action_About,
+ QtCore.SIGNAL("triggered()"), self.aboutOM)
+
+ QtCore.QObject.connect(self.ui.action_About_QT,
+ QtCore.SIGNAL("triggered()"), QtGui.qApp, QtCore.SLOT("aboutQt()"))
+
+ QtCore.QObject.connect(self.ui.action_Quit,
+ QtCore.SIGNAL("triggered()"), self.quit)
+
+ QtCore.QObject.connect(self.ui.actionFull_Screen_Mode_Ctrl_Alt_F,
+ QtCore.SIGNAL("triggered()"), self.fullscreen)
+
+ self.ui.actionTable_View_For_Charting.toggled.connect(
+ self.showChartTable)
+
+ self.ui.actionClear_Today_s_Emergency_Slots.triggered.connect(
+ self.diary_widget.clearTodaysEmergencyTime)
+
+ QtCore.QObject.connect(self.ui.actionTest_Print_a_GP17,
+ QtCore.SIGNAL("triggered()"), self.testGP17)
+
+ QtCore.QObject.connect(self.ui.actionNHS_Form_Settings,
+ QtCore.SIGNAL("triggered()"), self.nhsformOptionsDialog)
+
+ QtCore.QObject.connect(self.ui.actionAppointment_Tools,
+ QtCore.SIGNAL("triggered()"), self.diary_widget.appointmentTools)
+
+ QtCore.QObject.connect(self.ui.actionPrint_Daylists,
+ QtCore.SIGNAL("triggered()"), self.daylistPrintWizard)
+
+ QtCore.QObject.connect(self.ui.actionAdvanced_Record_Management,
+ QtCore.SIGNAL("triggered()"), self.advancedRecordTools)
+
+ self.ui.actionFix_Locked_New_Course_of_Treatment.triggered.connect(
+ self.fix_zombied_course)
+
+ self.ui.actionAllow_Full_Edit.triggered.connect(
+ self.ui.cashbookTextBrowser.allow_full_edit)
+
+ self.ui.actionSet_Surgery_Number.triggered.connect(
+ self.set_surgery_number)
+ self.ui.actionEdit_Phrasebooks.triggered.connect(
+ self.edit_phrasebooks)
+
+ def signals_estimates(self):
+ #Estimates and course ManageMent
+ QtCore.QObject.connect(self.ui.closeTx_pushButton,
+ QtCore.SIGNAL("clicked()"), self.closeTx_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.estLetter_pushButton,
+ QtCore.SIGNAL("clicked()"), self.customEstimate)
+
+ QtCore.QObject.connect(self.ui.recalcEst_pushButton,
+ QtCore.SIGNAL("clicked()"), self.recalculateEstimate)
+
+ QtCore.QObject.connect(self.ui.apply_exemption_pushButton,
+ QtCore.SIGNAL("clicked()"), self.apply_exemption)
+
+ QtCore.QObject.connect(self.ui.rec_apply_exemption_pushButton,
+ QtCore.SIGNAL("clicked()"), self.apply_exemption)
+
+ self.ui.xrayTxpushButton.clicked.connect(self.addXrayItems)
+ self.ui.perioTxpushButton.clicked.connect(self.addPerioItems)
+ self.ui.dentureTxpushButton.clicked.connect(self.add_denture_items)
+ self.ui.otherTxpushButton.clicked.connect(self.addOtherItems)
+ self.ui.customTx_pushButton.clicked.connect(self.addCustomItem)
+
+ self.ui.estWidget.updated_fees_signal.connect(self.updateDetails)
+
+ QtCore.QObject.connect(self.ui.estWidget,
+ QtCore.SIGNAL("deleteItem"), self.estwidget_deleteTxItem)
+
+ def signals_plan(self):
+ self.ui.advanced_tx_planning_button.clicked.connect(
+ self.advanced_tx_planning)
+
+ self.ui.plan_listView.customContextMenuRequested.connect(
+ self.show_plan_listview_context_menu)
+ self.ui.plan_listView.doubleClicked.connect(
+ self.handle_plan_listview_2xclick)
+
+ self.ui.completed_listView.customContextMenuRequested.connect(
+ self.show_cmp_listview_context_menu)
+ self.ui.completed_listView.doubleClicked.connect(
+ self.handle_completed_listview_2xclick)
+
+ self.ui.planChartWidget.request_tx_context_menu_signal.connect(
+ self.show_plan_chart_context_menu)
+ self.ui.completedChartWidget.request_tx_context_menu_signal.connect(
+ self.show_cmp_chart_context_menu)
+
+ self.ui.plan_course_manage_button.clicked.connect(
+ self.plan_page_course_but_clicked)
+
+ def signals_bulk_mail(self):
+ QtCore.QObject.connect(self.ui.bulk_mailings_treeView,
+ QtCore.SIGNAL("doubleClicked (const QModelIndex&)"),
+ self.bulk_mail_doubleclicked)
+
+ def signals_forum(self):
+ QtCore.QObject.connect(self.ui.forum_treeWidget,
+ QtCore.SIGNAL("itemSelectionChanged ()"),
+ self.forum_treeWidget_selectionChanged)
+
+ self.ui.action_forum_show_advanced_options.triggered.connect(
+ self.forum_mode)
+
+ QtCore.QObject.connect(self.ui.forumDelete_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumDeleteItem_clicked)
+
+ QtCore.QObject.connect(self.ui.forumReply_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumReply_clicked)
+
+ QtCore.QObject.connect(self.ui.forumNewTopic_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumNewTopic_clicked)
+
+ QtCore.QObject.connect(self.ui.forumParent_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumParent_clicked)
+
+ QtCore.QObject.connect(self.ui.forumViewFilter_comboBox,
+ QtCore.SIGNAL("currentIndexChanged (const QString&)"),
+ self.forumViewFilterChanged)
+
+ QtCore.QObject.connect(self.ui.forumCollapse_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumCollapse)
+
+ QtCore.QObject.connect(self.ui.forumExpand_pushButton,
+ QtCore.SIGNAL("clicked()"), self.forumExpand)
+
+ for widg in (self.ui.group_replies_radioButton,
+ self.ui.forum_deletedposts_checkBox):
+ QtCore.QObject.connect(widg,
+ QtCore.SIGNAL("toggled (bool)"), self.forum_radioButtons)
+
+ def signals_history(self):
+ QtCore.QObject.connect(self.debugMenu,
+ QtCore.SIGNAL("triggered (QAction *)"), self.showPtAttributes)
+
+ QtCore.QObject.connect(self.ui.ptAtts_checkBox,
+ QtCore.SIGNAL("stateChanged (int)"), self.updateAttributes)
+
+ QtCore.QObject.connect(self.ui.historyPrint_pushButton,
+ QtCore.SIGNAL("clicked()"), self.historyPrint)
+
+ QtCore.QObject.connect(self.ui.pastPayments_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pastPayments_clicked)
+
+ QtCore.QObject.connect(self.ui.pastTreatment_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pastTreatment_clicked)
+
+ QtCore.QObject.connect(self.ui.pastCourses_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pastCourses_clicked)
+
+ QtCore.QObject.connect(self.ui.pastEstimates_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pastEstimates_clicked)
+
+ QtCore.QObject.connect(self.ui.past_course_estimates_pushButton,
+ QtCore.SIGNAL("clicked()"), self.past_course_estimates_clicked)
+
+ QtCore.QObject.connect(self.ui.NHSClaims_pushButton,
+ QtCore.SIGNAL("clicked()"), self.NHSClaims_clicked)
+
+ self.ui.memo_history_pushButton.clicked.connect(self.show_memo_history)
+ self.ui.current_est_versioning_pushButton.clicked.connect(
+ self.show_estimate_versioning)
+
+ def signals_daybook(self):
+ #daybook - cashbook
+
+ self.ui.daybookGoPushButton.clicked.connect(self.daybookView)
+ self.ui.daybookPrintButton.clicked.connect(self.daybookPrint)
+
+ self.ui.cashbookGoPushButton.clicked.connect(self.cashbookView)
+ self.ui.cashbookPrintButton.clicked.connect(self.cashbookPrint)
+ self.ui.sundries_only_radioButton.clicked.connect(self.cashbookView)
+ self.ui.treatment_only_radioButton.clicked.connect(self.cashbookView)
+ self.ui.all_payments_radioButton.clicked.connect(self.cashbookView)
+
+
+ def signals_accounts(self):
+ #accounts
+ QtCore.QObject.connect(self.ui.loadAccountsTable_pushButton,
+ QtCore.SIGNAL("clicked()"), self.loadAccountsTable_clicked)
+
+ QtCore.QObject.connect(self.ui.printSelectedAccounts_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printSelectedAccounts)
+
+ QtCore.QObject.connect(self.ui.printAccountsTable_pushButton,
+ QtCore.SIGNAL("clicked()"), self.printAccountsTable)
+
+ QtCore.QObject.connect(self.ui.accounts_tableWidget,
+ QtCore.SIGNAL("cellDoubleClicked (int,int)"),
+ self.accountsTableClicked)
+
+ def signals_contract(self):
+ #contract
+ self.ui.status_comboBox.currentIndexChanged.connect(
+ self.change_pt_status)
+
+ QtCore.QObject.connect(self.ui.badDebt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.makeBadDebt_clicked)
+
+ QtCore.QObject.connect(self.ui.contract_tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.contractTab_navigated)
+
+ QtCore.QObject.connect(self.ui.dnt1comboBox, QtCore.
+ SIGNAL("activated(const QString&)"), self.dnt1comboBox_clicked)
+
+ QtCore.QObject.connect(self.ui.dnt2comboBox, QtCore.
+ SIGNAL("activated(const QString&)"), self.dnt2comboBox_clicked)
+
+ QtCore.QObject.connect(self.ui.cseType_comboBox,
+ QtCore.SIGNAL("activated(const QString&)"),
+ self.cseType_comboBox_clicked)
+
+ QtCore.QObject.connect(self.ui.editNHS_pushButton,
+ QtCore.SIGNAL("clicked()"), self.editNHS_pushButton_clicked)
+
+ for le in (self.ui.exemption_lineEdit, self.ui.exempttext_lineEdit):
+ QtCore.QObject.connect(le,QtCore.SIGNAL("editingFinished ()"),
+ self.exemption_edited)
+
+ QtCore.QObject.connect(self.ui.editPriv_pushButton,
+ QtCore.SIGNAL("clicked()"), self.editPriv_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.nhsclaims_pushButton,
+ QtCore.SIGNAL("clicked()"), self.nhsclaims_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.editHDP_pushButton,
+ QtCore.SIGNAL("clicked()"), self.editHDP_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.editRegDent_pushButton,
+ QtCore.SIGNAL("clicked()"), self.editRegDent_pushButton_clicked)
+
+ def signals_feesTable(self):
+ #feesTable
+ ##TODO bring this functionality back
+ #QtCore.QObject.connect(self.ui.printFeescale_pushButton,
+ #QtCore.SIGNAL("clicked()"), self.printFeesTable)
+
+ QtCore.QObject.connect(self.ui.feeScales_treeView,
+ QtCore.SIGNAL("clicked (QModelIndex)"),
+ self.feeScale_clicked)
+
+ QtCore.QObject.connect(self.ui.feeScales_treeView,
+ QtCore.SIGNAL("expanded (QModelIndex)"),
+ self.feeScale_expanded)
+
+ QtCore.QObject.connect(self.ui.chooseFeescale_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"),
+ self.chooseFeescale_comboBox_changed)
+
+ QtCore.QObject.connect(self.ui.feeExpand_radioButton,
+ QtCore.SIGNAL("clicked()"), self.feeExpand_radiobuttons_clicked)
+
+ QtCore.QObject.connect(self.ui.feeCompress_radioButton,
+ QtCore.SIGNAL("clicked()"), self.feeExpand_radiobuttons_clicked)
+
+ QtCore.QObject.connect(self.ui.nhsRegs_pushButton,
+ QtCore.SIGNAL("clicked()"), self.nhsRegs_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.feeSearch_lineEdit,
+ QtCore.SIGNAL("returnPressed()"), self.feeSearch_lineEdit_edited)
+
+ self.ui.search_descriptions_radioButton.toggled.connect(
+ self.feeSearch_pushButton_clicked)
+
+ self.ui.feeSearch_pushButton.clicked.connect(
+ self.feeSearch_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.feescale_tester_pushButton,
+ QtCore.SIGNAL("clicked()"), self.feescale_tester_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.feetable_xml_pushButton,
+ QtCore.SIGNAL("clicked()"), self.feetable_xml)
+
+ self.ui.hide_rare_feescale_codes_checkBox.toggled.connect(
+ self.hide_rare_feescale_items)
+
+ self.ui.reload_feescales_pushButton.clicked.connect(
+ self.reload_feescales)
+
+ def signals_charts(self):
+
+ for chart in (self.ui.summaryChartWidget, self.ui.staticChartWidget):
+ chart.teeth_selected_signal.connect(self.static_chartNavigation)
+
+ chart.show_history_signal.connect(self.toothHistory)
+ chart.flip_deciduous_signal.connect(self.flipDeciduous)
+ chart.add_comments_signal.connect(self.tooth_add_comments)
+ chart.delete_all_signal.connect(self.tooth_delete_all)
+ chart.delete_prop_signal.connect(self.tooth_delete_prop)
+
+ self.ui.planChartWidget.teeth_selected_signal.connect(
+ self.plan_chartNavigation)
+
+ self.ui.completedChartWidget.teeth_selected_signal.connect(
+ self.comp_chartNavigation)
+
+ self.ui.planChartWidget.complete_treatments_signal.connect(
+ self.complete_planned_chart_treatments)
+ self.ui.completedChartWidget.complete_treatments_signal.connect(
+ self.reverse_completed_chart_treatments)
+
+ QtCore.QObject.connect(self.ui.toothPropsWidget,
+ QtCore.SIGNAL("NextTooth"), self.navigateCharts)
+
+ self.ui.static_control_panel.clicked.connect(
+ self.ui.toothPropsWidget.static_input)
+
+ #--fillings have changed!!
+ QtCore.QObject.connect(self.ui.toothPropsWidget.lineEdit,
+ QtCore.SIGNAL("Changed_Properties"), self.updateCharts)
+
+ QtCore.QObject.connect(self.ui.toothPropsWidget.lineEdit,
+ QtCore.SIGNAL("DeletedComments"), self.deleteComments)
+
+ self.ui.static_control_panel.deciduous_signal.connect(
+ self.flipDeciduous)
+
+ self.ui.toothPropsWidget.static_chosen.connect(
+ self.ui.static_control_panel.setEnabled)
+
+ def signals_editPatient(self):
+ #edit page
+ self.ui.email1_button.clicked.connect(self.send_email)
+ self.ui.email2_button.clicked.connect(self.send_email)
+ self.ui.auto_address_button.clicked.connect(self.raise_address_dialog)
+ self.ui.titleEdit.editingFinished.connect(self.check_sex)
+ self.ui.family_button.clicked.connect(self.raise_family_dialog)
+
+ def signals_notesPage(self):
+ #notes page
+ for rb in (self.ui.notes_includePrinting_checkBox,
+ self.ui.notes_includePayments_checkBox,
+ self.ui.notes_includeTimestamps_checkBox,
+ self.ui.notes_includeMetadata_checkBox,
+ self.ui.summary_notes_checkBox):
+ rb.toggled.connect(self.updateNotesPage)
+ rb.toggled.connect(self.load_notes_summary)
+
+ def signals_periochart(self):
+
+ #periochart
+ ## defunct QtCore.QObject.connect(self.ui.perioChartWidget,
+ ##QtCore.SIGNAL("toothSelected"), self.periocharts)
+
+ QtCore.QObject.connect(self.ui.perioChartDateComboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), self.layoutPerioCharts)
+ QtCore.QObject.connect(self.ui.bpeDateComboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), self.bpe_table)
+
+ def signals_tabs(self, connect=True):
+ '''
+ connect (or disconnect) the slots for the main_tabWidget,
+ and patient tabWidget default is to connect
+ '''
+ if connect:
+ QtCore.QObject.connect(self.ui.main_tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.handle_mainTab)
+
+ QtCore.QObject.connect(self.ui.tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.handle_patientTab)
+ else:
+ QtCore.QObject.disconnect(self.ui.main_tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.handle_mainTab)
+
+ QtCore.QObject.disconnect(self.ui.tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.handle_patientTab)
+
+ def signals_appointments(self):
+ #signals raised on the main appointment tab
+ QtCore.QObject.connect(self.ui.actionSet_Font_Size,
+ QtCore.SIGNAL("triggered ()"), self.apptBook_fontSize)
+
+ self.diary_widget.bring_to_front.connect(self.show_diary)
+
+ self.diary_widget.patient_card_request.connect(self.getrecord)
+
+ self.diary_widget.schedule_controller.appointment_selected.connect(
+ self.pt_diary_widget.update_pt_diary_selection)
+
+ self.diary_widget.pt_diary_changed.connect(
+ self.pt_diary_widget.refresh_ptDiary)
+ self.diary_widget.print_mh_signal.connect(self.print_mh_forms)
+
+ self.pt_diary_widget.start_scheduling.connect(self.start_scheduling)
+ self.pt_diary_widget.find_appt.connect(self.diary_widget.find_appt)
+
+ self.pt_diary_widget.appointment_selected.connect(
+ self.diary_widget.schedule_controller.update_appt_selection)
+
+ self.pt_diary_widget.preferences_changed.connect(
+ self.appt_prefs_changed)
+
+ def start_scheduling(self):
+ self.diary_widget.schedule_controller.set_patient(self.pt)
+ self.pt_diary_widget.layout_ptDiary()
+ self.signals_tabs(False)
+ self.ui.main_tabWidget.setCurrentIndex(1) #appointmenttab
+ self.signals_tabs()
+ self.diary_widget.start_scheduling(self.pt)
+
+ def appt_prefs_changed(self):
+ self.updateDetails()
+
+ def recalculateEstimate(self):
+ '''
+ Adds ALL tooth items to the estimate.
+ prompts the user to confirm tooth treatment fees
+ '''
+ result=QtGui.QMessageBox.question(self, "Confirm",
+ u"%s<hr /><i>(%s)</i>"% (
+ _("Scrap the estimate and re-price everything?"),
+ _("Custom items and items added using feescale method will be unaffected")
+ ),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No )
+ if result == QtGui.QMessageBox.No:
+ return
+
+ if manipulate_plan.recalculate_estimate(self):
+ self.load_newEstPage()
+ self.updateDetails()
+
+ def apply_exemption(self):
+ '''
+ applies a max fee chargeable
+ '''
+ result=QtGui.QMessageBox.question(self, _("Confirm"),
+ _("apply an exemption to the NHS items on this estimate?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No )
+ if result == QtGui.QMessageBox.No:
+ return
+ max, result = QtGui.QInputDialog.getInteger(self, _("input needed"),
+ _("maximum charge for the patient")+"<br />"+_(
+ "please enter the amount in pence, or leave as 0 for full exemption"))
+
+ if result and estimates.apply_exemption(self.pt, max):
+ self.handle_patientTab()
+ self.updateDetails()
+
+ def fix_zombied_course(self):
+ '''
+ a situation COULD arise where a new course was started and the client
+ crashed (without cleaning up the temporary row in the currtrtmt2 table)
+ this functionality retrieves this.
+ '''
+ course_module.fix_zombied_course(self)
+
+ def check_sex(self):
+ '''
+ when the title field is edited, make assumptions about the patient's
+ sex
+ '''
+ if self.ui.titleEdit.text().toUpper() in ("MISS", "MRS"):
+ self.ui.sexEdit.setCurrentIndex(1)
+ elif self.ui.titleEdit.text().toUpper() in ("MR", "MASTER"):
+ self.ui.sexEdit.setCurrentIndex(0)
+
+ def raise_address_dialog(self):
+ '''
+ raise the dialog for the last known address
+ '''
+ dl = AutoAddressDialog(self)
+ if dl.exec_():
+ dl.apply()
+
+ def raise_family_dialog(self):
+ '''
+ raise the dialog for family management
+ '''
+ dl = FamilyManageDialog(self)
+ if dl.exec_():
+ dl.apply()
+
+ def update_family_label(self):
+ message_2 = u"&%s"% _("Relatives")
+ if self.pt.familyno:
+ message = u"%s %s - <b>%d %s</b>"% (
+ _("Family ID"),
+ self.pt.familyno,
+ self.pt.n_family_members,
+ _("Member(s)")
+ )
+ message_2 += " (%d)"% (self.pt.n_family_members-1)
+
+ else:
+ message = _("Not a member of a known family")
+
+ self.ui.family_group_label.setText(message)
+
+ self.ui.relatedpts_pushButton.setText(message_2)
+
+ def send_email(self):
+ if self.sender == self.ui.email2_button:
+ email = self.ui.email2Edit.text()
+ else:
+ email = self.ui.email1Edit.text()
+ webbrowser.open("mailto:%s"% email)
+
+ def load_pt_statuses(self):
+ ds = DistinctStatuses()
+ self.ui.status_comboBox.addItems(ds.DISTINCT_STATUSES)
+
+ def load_fee_tables(self):
+ localsettings.loadFeeTables()
+ for warning in localsettings.FEETABLES.warnings:
+ self.advise(u"<b>%s</b><hr />%s"% (
+ _("error loading feetable"), warning)
+ ,2)
+
+ def hide_rare_feescale_items(self, bool):
+ #TODO - this could actually have 3 levels.
+ if bool:
+ level = 1
+ else:
+ level = 0
+ fee_table_model.HIDE_RARE_CODES = level
+ fees_module.loadFeesTable(self)
+
+ def reload_feescales(self):
+ self.advise(_("Reloading feescales from database"))
+ localsettings.loadFeeTables()
+ fees_module.loadFeesTable(self)
+ if self.pt is not None:
+ self.pt.forget_fee_table()
+ if self.fee_table_tester is not None:
+ self.fee_table_tester.load_feescales()
+
+ def advanced_tx_planning(self):
+ def _add_txs(items, completed=False):
+ cust_items = []
+ for item in items:
+ if item[0] == "custom":
+ cust_items.append(item)
+ for item in cust_items:
+ items.remove(item)
+ manipulate_plan.add_treatments_to_plan(self, items, completed)
+ for att, shortcut in cust_items:
+ manipulate_plan.customAdd(self, shortcut)
+
+ if course_module.newCourseNeeded(self):
+ return
+
+ dl = AdvancedTxPlanningDialog(self)
+ if dl.exec_():
+ manipulate_plan.complete_txs(self, tuple(dl.completed_items), False)
+ manipulate_plan.reverse_txs(self, tuple(dl.reversed_items), False)
+ if dl.new_plan_items:
+ _add_txs(dl.new_plan_items)
+ if dl.new_cmp_items:
+ _add_txs(dl.new_cmp_items, completed=True)
+ if dl.deleted_plan_items:
+ manipulate_plan.remove_treatments_from_plan_and_est(
+ self, dl.deleted_plan_items)
+ if dl.deleted_cmp_items:
+ manipulate_plan.remove_treatments_from_plan_and_est(
+ self, dl.deleted_cmp_items, completed=True)
+ self.update_plan_est()
+ self.updateDetails()
+
+ def show_plan_chart_context_menu(self, att, values, point):
+ QtCore.QTimer.singleShot(100, partial(
+ manipulate_plan.plan_viewer_context_menu, self, att, values, point))
+
+ def show_cmp_chart_context_menu(self, att, values, point):
+ # use singleShot to slow this down fractionally
+ #(was occasionaly firing the Qmenu)
+ QtCore.QTimer.singleShot(100, partial(
+ manipulate_plan.cmp_viewer_context_menu, self, att, values, point))
+
+ def show_plan_listview_context_menu(self, point):
+ LOGGER.debug("plan listview pressed %s"% point)
+ QtCore.QTimer.singleShot(100,
+ partial(manipulate_plan.plan_list_right_click, self, point))
+
+ def handle_plan_listview_2xclick(self, index):
+ LOGGER.debug("plan listview 2xclick %s"% index)
+ manipulate_plan.plan_listview_2xclick(self, index)
+
+ def show_cmp_listview_context_menu(self, point):
+ LOGGER.debug("completed listview pressed %s"% point)
+ # use singleShot to slow this down fractionally
+ #(was occasionaly firing the Qmenu)
+ QtCore.QTimer.singleShot(100,
+ partial(manipulate_plan.cmp_list_right_click, self, point))
+
+ def handle_completed_listview_2xclick(self, index):
+ LOGGER.debug("completed listview 2xclick %s"% index)
+ manipulate_plan.completed_listview_2xclick(self, index)
+
+ def set_surgery_number(self):
+ LOGGER.debug("setting surgery number")
+ dialog = QtGui.QDialog(self)
+ dl = Ui_surgeryNumber.Ui_Dialog()
+ dl.setupUi(dialog)
+ if dialog.exec_():
+ localsettings.surgeryno = dl.comboBox.currentIndex()
+ localsettings.updateLocalSettings(
+ "surgeryno", str(localsettings.surgeryno))
+ return True
+ return False
+
+ def edit_phrasebooks(self):
+ def editor_closed():
+ self.phrasebook_editor.setParent(None)
+ self.phrasebook_editor = None
+
+ if self.phrasebook_editor is not None:
+ self.phrasebook_editor.show()
+ self.phrasebook_editor.raise_()
+ else:
+ self.phrasebook_editor = PhrasebookEditor(self)
+ self.phrasebook_editor.show()
+ self.phrasebook_editor.closed_signal.connect(editor_closed)
+
+ def excepthook(self, exc_type, exc_val, tracebackobj):
+ '''
+ PyQt4 prints unhandled exceptions to stdout and carries on regardless
+ I don't want this to happen.
+ so sys.excepthook is passed to this
+ '''
+ message = ""
+ for l in traceback.format_exception(exc_type, exc_val, tracebackobj):
+ message += l
+ self.advise('UNHANDLED EXCEPTION!<hr /><pre>%s'% message, 2)
+
+def main(app):
+ '''
+ the entry point for the app
+ '''
+ if not localsettings.successful_login:
+ try:
+ dev_path = os.path.join(
+ localsettings.localFileDirectory, "dev_login.txt")
+ f = open(dev_path, "r")
+ data = f.read().strip("\n")
+ f.close()
+ if localsettings.hash_func(data) != \
+ '1fd0c27f4d65caaa10ef5ef6a714faf96ed44fdd':
+ raise IOError("bad checksum")
+ LOGGER.warning("allowing developer login")
+ except:
+ sys.exit("unable to run... no login")
+ localsettings.initiate()
+ mainWindow = OpenmolarGui()
+ sys.excepthook = mainWindow.excepthook
+ mainWindow.show()
+ mainWindow.setWindowState(QtCore.Qt.WindowMaximized)
+
+ sys.exit(app.exec_())
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ LOGGER.warning("dev mode in use - verbose logging")
+ os.chdir(os.path.expanduser("~"))
+
+ LOGGER.debug("Qt Version: %s"% QtCore.QT_VERSION_STR)
+ LOGGER.debug("PyQt Version: %s"% QtCore.PYQT_VERSION_STR)
+ newapp = QtGui.QApplication(sys.argv)
+ localsettings.operator = "NW"
+ #localsettings.station = "reception"
+ main(newapp)
diff --git a/src/openmolar/qt4gui/new_patient_gui.py b/src/openmolar/qt4gui/new_patient_gui.py
new file mode 100644
index 0000000..b4a6128
--- /dev/null
+++ b/src/openmolar/qt4gui/new_patient_gui.py
@@ -0,0 +1,134 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+import logging
+from gettext import gettext as _
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.dbtools import writeNewPatient
+
+LOGGER = logging.getLogger("openmolar")
+
+def enterNewPatient(om_gui):
+ '''
+ called by the user clicking the new patient button
+ '''
+
+ #--check for unsaved changes
+ if not om_gui.okToLeaveRecord():
+ LOGGER.debug(
+ "not entering new patient - still editing current record")
+ return
+
+ #--disable the newPatient Button
+ #--THE STATE OF THIS BUTTON IS USED TO MONITOR USER ACTIONS
+ #--DO NOT CHANGE THIS LINE
+ om_gui.ui.newPatientPushButton.setEnabled(False)
+
+ #--disable the tabs which are normally enabled by default
+ om_gui.ui.tabWidget.setTabEnabled(4, False)
+ om_gui.ui.tabWidget.setTabEnabled(3, False)
+
+ #--clear any current record
+ om_gui.clearRecord()
+
+ #--disable the majority of widgets
+ om_gui.enableEdit(False)
+ om_gui.changeSaveButtonforNewPatient()
+
+ #--move to the edit patient details page
+ om_gui.ui.tabWidget.setTabEnabled(0, True)
+ om_gui.ui.tabWidget.setCurrentIndex(0)
+ om_gui.ui.patientEdit_groupBox.setTitle("Enter New Patient")
+
+ #--set default sex ;)
+ om_gui.ui.sexEdit.setCurrentIndex(0)
+ om_gui.ui.titleEdit.setFocus()
+
+ #--give some help
+ om_gui.ui.detailsBrowser.setHtml(
+ '<div align="center"><h2>%s</h2>%s<hr /><em>%s</em></div>'% (
+ _("New Patient Mode"),
+ _("Please enter at least the required fields."),
+ _("Use the Save Changes button to commit to the database, "
+ "or the home button to leave this page")
+ ))
+
+def checkNewPatient(om_gui):
+ '''
+ check to see what the user has entered for a new patient
+ before commiting to database
+ '''
+ LOGGER.debug("check new patient")
+ atts=[]
+ allfields_entered=True
+
+ #-- check these widgets for entered text.
+ for widg in (om_gui.ui.snameEdit, om_gui.ui.titleEdit, om_gui.ui.fnameEdit,
+ om_gui.ui.addr1Edit, om_gui.ui.pcdeEdit):
+ if len(widg.text()) == 0:
+ allfields_entered=False
+
+ if allfields_entered:
+ #--update 'pt'
+ om_gui.apply_editpage_changes()
+ om_gui.pt.cset = localsettings.DEFAULT_COURSETYPE
+ sno = writeNewPatient.commit(om_gui.pt)
+ if sno == -1:
+ om_gui.advise(_("Error saving new patient, sorry!"), 2)
+ else:
+ #--sucessful save
+ #--reset the gui
+ finishedNewPatientInput(om_gui)
+ #--set that serialno
+ #om_gui.pt.serialno = sno
+ #om_gui.clearRecord()
+ om_gui.getrecord(sno, newPatientReload=True)
+ else:
+ #-- prompt user for more info
+ om_gui.advise(_(
+ "insufficient data to create a new record."
+ "please fill in all highlighted fields"
+ ), 2)
+
+def finishedNewPatientInput(om_gui):
+ '''
+ restore GUI to normal mode after a new patient has been entered
+ remove my help prompt
+ reset the state of the newPatient button
+ enable the default tabs, and go to the appropriate one
+ disable the edit tab
+ and restore the save button text
+ '''
+ LOGGER.debug("restoring gui to normal state (after entering new patient)")
+ om_gui.ui.detailsBrowser.setText("")
+ om_gui.ui.newPatientPushButton.setEnabled(True)
+
+ om_gui.ui.tabWidget.setTabEnabled(4, True)
+ om_gui.ui.tabWidget.setTabEnabled(3, True)
+ om_gui.gotoDefaultTab()
+
+ om_gui.ui.tabWidget.setTabEnabled(0, False)
+
+ om_gui.restoreSaveButtonAfterNewPatient()
+
+def abortNewPatientEntry(om_gui):
+ '''
+ get user response 'abort new patient entry?'
+ '''
+ om_gui.ui.main_tabWidget.setCurrentIndex(0)
+
+ if QtGui.QMessageBox.question(om_gui, "Confirm",
+ _("New Patient not saved. Abandon Changes?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes ) == QtGui.QMessageBox.Yes:
+ finishedNewPatientInput(om_gui)
+ return True
+
diff --git a/src/openmolar/qt4gui/phrasebook/__init__.py b/src/openmolar/qt4gui/phrasebook/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/phrasebook/phrasebook_dialog.py b/src/openmolar/qt4gui/phrasebook/phrasebook_dialog.py
new file mode 100644
index 0000000..55771a5
--- /dev/null
+++ b/src/openmolar/qt4gui/phrasebook/phrasebook_dialog.py
@@ -0,0 +1,130 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from PyQt4 import QtGui, QtCore
+import types
+from xml.dom import minidom
+
+from openmolar.dbtools.phrasebook import PHRASEBOOKS
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ print "using openmolar.backports for OrderedDict"
+ from openmolar.backports import OrderedDict
+
+
+class shadePicker(QtGui.QFrame):
+ def __init__(self, parent=None):
+ super(shadePicker, self).__init__(parent)
+
+ layout = QtGui.QHBoxLayout(self)
+
+ self.cb = QtGui.QCheckBox(self)
+ self.cb.setText(_("Shade"))
+
+ self.comboBox = QtGui.QComboBox(self)
+ self.comboBox.addItems(["A1","A2","A3","A3.5","A4","B1","B2","B3","B4",
+ "C1","C2","C3","C4","D1","D2","D3","D4"])
+ self.comboBox.setCurrentIndex(-1)
+
+ layout.addWidget(self.cb)
+ layout.addWidget(self.comboBox)
+ spacerItem = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Minimum)
+ layout.addItem(spacerItem)
+
+ QtCore.QObject.connect(self.comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), self.slot)
+
+ def slot(self, index):
+ self.cb.setChecked(True)
+
+ def result(self):
+ return _("Shade") + " - " + self.comboBox.currentText()
+
+class PhraseBookDialog(QtGui.QDialog):
+ def __init__(self, parent=None, id=0):
+ QtGui.QDialog.__init__(self, parent)
+ self.setWindowTitle(_("Phrase Book"))
+
+ layout = QtGui.QVBoxLayout(self)
+ self.tabWidget = QtGui.QTabWidget()
+ self.buttonBox = QtGui.QDialogButtonBox(self)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(
+ QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setCenterButtons(True)
+ self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), self.accept)
+ self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.reject)
+
+ layout.addWidget(self.tabWidget)
+ layout.addWidget(self.buttonBox)
+
+ self.dict = OrderedDict()
+
+ self.xml = minidom.parseString(PHRASEBOOKS.book(id).xml)
+ sections = self.xml.getElementsByTagName("section")
+ icon = QtGui.QIcon(":icons/expand.svg")
+
+ for section in sections:
+ header = section.getElementsByTagName("header")
+ page = QtGui.QWidget(self)
+ layout = QtGui.QVBoxLayout(page)
+ phrases = section.getElementsByTagName("phrase")
+ for phrase in phrases:
+
+ if phrase.hasAttribute("spacer"):
+ layout.addStretch()
+ elif phrase.hasAttribute("sub_heading"):
+ text = phrase.firstChild.data
+ label = QtGui.QLabel(u"<b>%s</b>"%text)
+ layout.addWidget(label)
+ else:
+ text = phrase.firstChild.data
+ cb = QtGui.QCheckBox(page)
+ cb.setText(text)
+ layout.addWidget(cb)
+ self.dict[cb] = text
+ widgets = section.getElementsByTagName("widget")
+ for widget in widgets:
+ if widget.firstChild.data == "choose_shade":
+ sp = shadePicker(self)
+ layout.addWidget(sp)
+ self.dict[sp.cb] = sp.result
+
+ spacerItem = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum,
+ QtGui.QSizePolicy.Expanding)
+ layout.addItem(spacerItem)
+
+ self.tabWidget.addTab(page, icon, header[0].firstChild.data)
+
+ def sizeHint(self):
+ return QtCore.QSize(800,400)
+
+ @property
+ def selectedPhrases(self):
+ retlist = []
+ for cb, value in self.dict.iteritems():
+ if cb.isChecked():
+ if type(value) == types.MethodType:
+ text = value()
+ else:
+ text = value
+ retlist.append(text)
+ return retlist
+
+if __name__ == "__main__":
+ import time
+ from openmolar.qt4gui import resources_rc
+ app = QtGui.QApplication([])
+ dl = PhraseBookDialog()
+ if dl.exec_():
+ print dl.selectedPhrases
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/phrasebook/phrasebook_editor.py b/src/openmolar/qt4gui/phrasebook/phrasebook_editor.py
new file mode 100644
index 0000000..b519f93
--- /dev/null
+++ b/src/openmolar/qt4gui/phrasebook/phrasebook_editor.py
@@ -0,0 +1,407 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+from functools import partial
+import logging
+import re
+import os
+import sys
+from gettext import gettext as _
+from xml.dom import minidom
+
+from PyQt4 import QtCore, QtGui
+from PyQt4.QtXmlPatterns import QXmlSchemaValidator, QXmlSchema
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui import resources_rc
+
+from openmolar.qt4gui.feescale_editor.feescale_xml_editor import XMLEditor
+from openmolar.qt4gui.feescale_editor.feescale_parser import MessageHandler
+
+from openmolar.qt4gui.phrasebook.phrasebook_model import PhrasesListModel
+
+LOGGER = logging.getLogger("openmolar")
+
+STYLESHEET = os.path.join(
+ localsettings.resources_location, "phrasebook", "phrasebook.xsd")
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ LOGGER.warning("using openmolar.backports for OrderedDict")
+ from openmolar.backports import OrderedDict
+
+from openmolar.dbtools.phrasebook import PHRASEBOOKS
+
+class ControlPanel(QtGui.QListView):
+ phrase_selected = QtCore.pyqtSignal(object)
+ def __init__(self, parent=None):
+ QtGui.QListView.__init__(self, parent)
+ self.list_model = PhrasesListModel()
+
+ def set_xml(self, xml):
+ self.list_model.set_xml(xml)
+ self.setModel(self.list_model)
+ self.selectionModel().currentRowChanged.connect(self._phrase_selected)
+
+ def _phrase_selected(self, new_index, old_index):
+ self.phrase_selected.emit(new_index)
+
+
+class PhrasebookEditor(QtGui.QMainWindow):
+ _checking_files = False
+ _known_deleted_parsers = []
+ _compare_phrases_dockwidget = None
+ search_text = ""
+ closed_signal = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QMainWindow.__init__(self, parent)
+ self.window_title = _("Phrasebook Editor")
+ self.setWindowTitle(self.window_title)
+ self.loading = True
+
+ statusbar = QtGui.QStatusBar()
+ self.setStatusBar(statusbar)
+
+ self.control_panel = ControlPanel()
+ self.control_panel.phrase_selected.connect(self.find_phrase)
+
+ #: a pointer to the label in the statusbar
+ self.cursor_pos_label = QtGui.QLabel("Line 0, Column 0")
+ statusbar.addPermanentWidget(self.cursor_pos_label)
+
+ self.main_toolbar = QtGui.QToolBar()
+ self.main_toolbar.setObjectName("Main Toolbar")
+ self.main_toolbar.toggleViewAction().setText(_("Toolbar"))
+
+ self.prefs_toolbar = QtGui.QToolBar()
+ self.prefs_toolbar.setObjectName("Prefs Toolbar")
+ self.prefs_toolbar.toggleViewAction().setText(_("Preferences Toolbar"))
+
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.main_toolbar)
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.prefs_toolbar)
+
+ menu_file = QtGui.QMenu(_("&File"), self)
+ menu_edit = QtGui.QMenu(_("&Edit"), self)
+ menu_tools = QtGui.QMenu(_("&Tools"), self)
+
+ self.menuBar().addMenu(menu_file)
+ self.menuBar().addMenu(menu_edit)
+ self.menuBar().addMenu(menu_tools)
+
+ icon = QtGui.QIcon.fromTheme("document-new")
+ action_new = QtGui.QAction(icon, _("New Phrasebook"), self)
+ action_new.setToolTip(_("Create a new clinician phrasebook"))
+
+ icon = QtGui.QIcon(":database.png")
+ action_commit = QtGui.QAction(icon, _("Commit to Database"), self)
+ action_commit.setToolTip(_("Commit changes to database"))
+
+ icon = QtGui.QIcon.fromTheme("document-find")
+ action_find = QtGui.QAction(icon, _("Find"), self)
+ action_find.setShortcut("Ctrl+F")
+ action_find.setToolTip(
+ _("Search current file for first forward match of entered text"))
+
+ action_find_again = QtGui.QAction(icon, _("Find Again"), self)
+ action_find_again.setShortcut("Ctrl+G")
+ action_find_again.setToolTip(_("Search current file again for text"))
+
+ self.main_toolbar.addAction(action_new)
+ self.main_toolbar.addAction(action_commit)
+
+ menu_edit.addAction(action_find)
+ menu_edit.addAction(action_find_again)
+
+ menu_file.addAction(action_new)
+ menu_file.addAction(action_commit)
+
+ self.tab_widget = QtGui.QTabWidget()
+
+ self.phrasebook_parsers = OrderedDict()
+ self.text_editors = []
+
+ self.action_refactor = QtGui.QAction(_("XML tidy"), self)
+ self.action_refactor.triggered.connect(self.refactor)
+
+ self.action_check_parseable = QtGui.QAction(_("Check Well Formed"), self)
+ self.action_check_parseable.triggered.connect(self.check_parseable)
+
+ self.action_check_validity = QtGui.QAction(_("Check Validity"), self)
+ self.action_check_validity.triggered.connect(self.check_validity)
+
+ menu_tools.addAction(self.action_refactor)
+ menu_tools.addAction(self.action_check_parseable)
+ menu_tools.addAction(self.action_check_validity)
+
+ self.prefs_toolbar.addAction(self.action_refactor)
+ self.prefs_toolbar.addAction(self.action_check_parseable)
+ self.prefs_toolbar.addAction(self.action_check_validity)
+
+ splitter = QtGui.QSplitter()
+ splitter.addWidget(self.control_panel)
+ splitter.addWidget(self.tab_widget)
+ splitter.setSizes([150, 650])
+ self.setCentralWidget(splitter)
+
+ action_find.triggered.connect(self.find_text)
+ action_find_again.triggered.connect(self.find_again)
+
+ action_commit.triggered.connect(self.apply_changes)
+ action_new.triggered.connect(self.new_phrasebook)
+
+ self.tab_widget.currentChanged.connect(self.view_phrasebook)
+
+ QtCore.QTimer.singleShot(1000, self.start_)
+
+ def advise(self, message, importance=0):
+ '''
+ notify user
+ '''
+ if importance is 0:
+ LOGGER.debug(message)
+ m = QtGui.QMessageBox(self)
+ m.setText(message)
+ m.setIcon(m.Information)
+ m.setStandardButtons(QtGui.QMessageBox.NoButton)
+ m.setWindowTitle(_("advisory"))
+ m.setModal(False)
+ QtCore.QTimer.singleShot(3*1000, m.accept)
+ m.show()
+ elif importance == 1:
+ LOGGER.info(message)
+ QtGui.QMessageBox.information(self, _("Advisory"), message)
+ else:
+ LOGGER.warning(message)
+ QtGui.QMessageBox.warning(self, _("Error"), message)
+
+ def sizeHint(self):
+ return QtCore.QSize(800,500)
+
+ def closeEvent(self, event=None):
+ '''
+ called when application closes.
+ '''
+ if self.is_dirty:
+ message = u"<b>%s</b><hr />%s"%(
+ _("WARNING - you have unsaved changes!"),
+ _("Are you sure you want to quit?"))
+
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ message,
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Cancel:
+ event.ignore()
+ return
+ self.closed_signal.emit()
+
+ def start_(self):
+ self.load_phrasebooks()
+ self.view_phrasebook(0)
+
+ def load_phrasebooks(self):
+ self.loading = True
+ while self.tab_widget.count():
+ self.tab_widget.removeTab(0)
+ for editor in self.text_editors:
+ editor.setParent(None)
+ self.text_editors = []
+ for book in PHRASEBOOKS.get_all_books():
+ editor = XMLEditor(self)
+ editor.editor_settings()
+ editor.setText(book.xml)
+ editor.db_index = book.ix
+ editor.textChanged.connect(self.text_changed)
+ editor.cursorPositionChanged.connect(self.cursor_position_changed)
+
+ if book.ix == 0:
+ title = _("Global Phrasebook")
+ else:
+ title = localsettings.ops[book.ix]
+ self.text_editors.append(editor)
+
+ self.tab_widget.addTab(editor, title)
+
+ self.loading = False
+
+ def view_phrasebook(self, ix=0):
+ LOGGER.debug("View phrasebook %s"% ix)
+ while self.loading:
+ QtCore.QTimer.singleShot(1000, self.view_phrasebook)
+ return
+ if len(self.text_editors) > 0:
+ self.control_panel.set_xml(self.text_editors[ix].text)
+ self.setWindowTitle(
+ "%s - %s" %(self.window_title, ix))
+ self.update_index()
+ else:
+ QtGui.QMessageBox.information(self, _("Information"),
+ _("You appear to have no phrasebooks installed in your database"))
+
+
+ def update_index(self):
+ self.control_panel.set_xml(self.text)
+
+ @property
+ def text_edit(self):
+ return self.text_editors[self.tab_widget.currentIndex()]
+
+ @property
+ def text(self):
+ return unicode(self.text_edit.text().toUtf8())
+
+ def refactor(self):
+ if not self.check_parseable(show_message=False):
+ return
+ xml = re.sub(">[\s]*<", "><", self.text)
+ dom = minidom.parseString(xml)
+
+ #don't use setText here that updates orig_text and is_dirty won't work
+ self.text_edit.update_text(dom.toprettyxml())
+
+ def check_parseable(self, action=None, show_message=True):
+ try:
+ minidom.parseString(self.text)
+ if show_message:
+ self.advise(_("Phrasebook is well formed"), 1)
+ return True
+ except Exception as exc:
+ self.advise(u"<b>%s</b><hr />%s"% (
+ _("Phrasebook is not well formed"), exc.message), 2)
+ return False
+
+ def check_validity(self):
+ result, message = self.check_xml_validity(self.text)
+ if result:
+ self.advise(_("Phrasebook is valid"), 1)
+ else:
+ self.advise(message.last_error, 1)
+
+ def check_xml_validity(self, xml):
+ message_handler = MessageHandler()
+
+ f = QtCore.QFile(STYLESHEET)
+ f.open(QtCore.QIODevice.ReadOnly)
+ schema = QXmlSchema()
+ schema.load(f)
+
+ validator = QXmlSchemaValidator(schema)
+ validator.setMessageHandler(message_handler)
+ result = validator.validate(self.text)
+
+ return result, message_handler
+
+ def find_phrase(self, index):
+ phrase_count = 0
+ for lineno, line in enumerate(self.text.split("\n")):
+ if phrase_count == index.row()+1:
+ self.text_edit.setFocus(True)
+ self.text_edit.setFirstVisibleLine(lineno-2)
+ self.text_edit.setCursorPosition(lineno-1, 0)
+ self.text_edit.ensureCursorVisible()
+ break
+
+ if "<section"in line:
+ phrase_count += 1
+ if self._compare_phrases_dockwidget:
+ id = self.list_view.model().id_from_index(index)
+ self.compare_phrase(id)
+
+ def find_text(self):
+ self.search_text, result = QtGui.QInputDialog.getText(
+ self, _("Find Text"),
+ _("Please enter the text you wish to search for"),
+ QtGui.QLineEdit.Normal, self.search_text)
+ if result:
+ self.find_again()
+
+ def find_again(self):
+ if not self.text_edit.findFirst(
+ self.search_text, True, True, True, True):
+ self.advise("'%s' %s"% (self.search_text, _("not found")))
+
+ def new_phrasebook(self):
+ offer_list = []
+ for ix in localsettings.activedent_ixs + localsettings.activehyg_ixs:
+ if not PHRASEBOOKS.has_book(ix):
+ offer_list.append(localsettings.ops[ix])
+ if offer_list == []:
+ self.advise(_("Everyone has a phrasebook already!"), 2)
+ return
+ dl = QtGui.QInputDialog(self)
+ choice, result = dl.getItem(self, _("Choose"),
+ _("A phrasebook for which clinician?"), sorted(offer_list))
+ if result:
+ ix = localsettings.ops_reverse[str(choice.toAscii())]
+ PHRASEBOOKS.create_book(ix)
+ self.load_phrasebooks()
+
+ def apply_changes(self):
+ if QtGui.QMessageBox.question(self, _("confirm"),
+ _("commit all local files to database?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel
+ ) == QtGui.QMessageBox.Ok:
+ no_ = 0
+ for te in self.text_editors:
+ if not te.is_dirty:
+ continue
+ new_xml = te.text()
+ result, message = self.check_xml_validity(new_xml)
+ if not result:
+ self.advise("%s %s %s"% (
+ _("Phrasebook"), te.db_index, _("is not valid")), 2)
+ continue
+ result = PHRASEBOOKS.update_database(new_xml, te.db_index)
+ if result:
+ te.setText(new_xml)
+ no_ += 1
+ self.advise("%s %d %s"% (_("Updated"), no_, _("Books")), 1)
+
+ def cursor_position_changed(self, row, col):
+ self.cursor_pos_label.setText("Line %d, Column %d"% (row+1, col))
+
+ def text_changed(self):
+ new_text = self.text_edit.text()
+ if self.text_edit.orig_text.count("\n") != new_text.count("\n"):
+ self.update_index()
+
+ @property
+ def is_dirty(self):
+ try:
+ for te in self.text_editors:
+ if te.is_dirty:
+ LOGGER.debug("%s is dirty"% te)
+ return True
+ return False
+ except:
+ LOGGER.exception("property_exception")
+
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ mw = PhrasebookEditor()
+ mw.show()
+ app.exec_()
diff --git a/src/openmolar/qt4gui/phrasebook/phrasebook_model.py b/src/openmolar/qt4gui/phrasebook/phrasebook_model.py
new file mode 100644
index 0000000..8d61b60
--- /dev/null
+++ b/src/openmolar/qt4gui/phrasebook/phrasebook_model.py
@@ -0,0 +1,79 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+from xml.dom import minidom
+
+from PyQt4 import QtCore
+
+LOGGER = logging.getLogger("openmolar")
+
+class PhrasesListModel(QtCore.QAbstractListModel):
+ def __init__(self):
+ QtCore.QAbstractListModel.__init__(self)
+ self.xml = ""
+ self._headings = None
+ self._dom = None
+ self._rowcount = None
+
+ def set_xml(self, xml):
+ self.beginResetModel()
+ self.xml = xml
+ try:
+ self._dom = minidom.parseString(self.xml)
+ self._headings = None
+ self._rowcount = None
+ except:
+ self._headings = []
+ self._rowcount = 0
+ self.endResetModel()
+
+ def rowCount(self, index):
+ if self._rowcount is None:
+ LOGGER.debug("refreshing")
+ self._rowcount = len(self.headings)
+ return self._rowcount
+
+ def data(self, index, role):
+ if role == QtCore.Qt.DisplayRole:
+ return self.headings[index.row()]
+
+ @property
+ def dom(self):
+ if self._dom is None:
+ self._dom = minidom.parseString(self.xml)
+ return self._dom
+
+ @property
+ def headings(self):
+ if self._headings is None:
+ self._headings = []
+ for node in self.dom.getElementsByTagName("section"):
+ header_node = node.getElementsByTagName("header")[0]
+ self._headings.append(header_node.firstChild.data)
+ return self._headings
+
+ def reset_(self):
+ LOGGER.debug("Resetting phrasebook model")
+ self._headings = None
+ self._dom = None
+ self._rowcount = None
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/printing/__init__.py b/src/openmolar/qt4gui/printing/__init__.py
new file mode 100755
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/printing/accountPrint.py b/src/openmolar/qt4gui/printing/accountPrint.py
new file mode 100644
index 0000000..5da4113
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/accountPrint.py
@@ -0,0 +1,148 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+class document():
+ ''' this class provides a letter asking for settlement of an account'''
+ def __init__(self,title,fname,sname,addresslines,postcode,amount,parent=None):
+ self.type=type
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A5)
+ self.pdfprinter = QtGui.QPrinter()
+ self.pdfprinter.setPageSize(QtGui.QPrinter.A5)
+
+ self.title=title
+ self.fname=fname
+ self.sname=sname
+ self.addresslines=addresslines
+ self.postcode=postcode
+ self.amount = localsettings.formatMoney(amount)
+ self.tone="A"
+ self.previousCorrespondenceDate=""
+ self.requireDialog=True
+ self.dialog = QtGui.QPrintDialog(self.printer)
+
+ def setTone(self,arg):
+ '''determines how aggressive the letter is'''
+ if arg in ("A","B","C"):
+ self.tone=arg
+ def setPreviousCorrespondenceDate(self,arg):
+ self.previousCorrespondenceDate=arg
+
+ def dialogExec(self):
+ retarg=False
+ if self.requireDialog:
+ retarg=self.dialog.exec_()
+ else:
+ retarg=True
+ return retarg
+
+ def print_(self):
+ if not self.dialogExec():
+ return False
+ self.pdfprinter.setOutputFormat(QtGui.QPrinter.PdfFormat)
+ self.pdfprinter.setOutputFileName(localsettings.TEMP_PDF)
+
+ for printer in (self.printer,self.pdfprinter):
+ AddressMargin=80
+ LeftMargin = 50
+ TopMargin = 80
+ sansFont = QtGui.QFont("Helvetica", 9)
+ sansLineHeight = QtGui.QFontMetrics(sansFont).height()
+ serifFont = QtGui.QFont("Times", 10)
+ serifLineHeight = QtGui.QFontMetrics(serifFont).height()
+ sigFont=QtGui.QFont("Lucida Handwriting",8)
+ fm = QtGui.QFontMetrics(serifFont)
+ DateWidth = fm.width(" September 99, 2999 ")
+
+ painter = QtGui.QPainter(printer)
+ pageRect = printer.pageRect()
+ painter.save()
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(sansFont)
+ x,y = AddressMargin,TopMargin+50
+ painter.drawText(x, y, "%s %s %s"%(self.title.title(),self.fname.title(),self.sname.title()))
+ y += sansLineHeight
+ for line in self.addresslines:
+ if line:
+ painter.drawText(x, y, str(line).title()+",")
+ y += sansLineHeight
+ if self.postcode:
+ painter.drawText(x, y, self.postcode.upper()+".") #postcode
+ y += serifLineHeight
+
+ painter.setFont(serifFont)
+ x,y=LeftMargin,(pageRect.height()*0.35)
+ painter.drawText(x+250, y,
+ QtCore.QDate.currentDate().toString(localsettings.QDATE_FORMAT))
+ y += sansLineHeight
+ y += serifLineHeight
+ painter.drawText(x, y, "Dear %s %s," %(self.title.title(),self.sname.title()))
+ y += serifLineHeight*1.5
+ if self.tone=="C":
+ painter.drawText(x, y,_("STATEMENT OF ACCOUNT - FINAL REMINDER"))
+ y += serifLineHeight*1.2
+ painter.drawText(x, y, _("We are concerned that despite previous correspondance,"))
+ y += serifLineHeight
+ painter.drawText(x, y, _("your account still stands as follows: "))
+ else:
+ painter.drawText(x, y, _("Please note that your account stands as follows:- "))
+ y += serifLineHeight*1.5
+ painter.drawText(x, y, _(u"Amount : %s")%self.amount)
+ y += serifLineHeight*2
+ if self.tone=="A":
+ painter.drawText(x, y, _("This amount is now due in full. *"))
+ elif self.tone=="B":
+ d=self.previousCorrespondenceDate
+ if d=="" or d==None:
+ painter.drawText(x, y, _("A previous account was sent out to you on %s")%d)
+ y+=serifLineHeight
+ painter.drawText(x, y, _("It would be appreciated if you would settle this matter as soon as possible."))
+ else:
+ painter.drawText(x, y, _("It would be appreciated if this account is settled within seven days."))
+ y+=serifLineHeight
+ painter.drawText(x, y, _("On this deadline, we will pass this debt to"))
+ y+=serifLineHeight
+ painter.drawText(x, y, _("Scott & Company Sheriff Officers for collection."))
+
+ y += serifLineHeight*2
+ painter.drawText(x, y, _("Yours sincerely,"))
+ y += serifLineHeight * 1.5
+ painter.setFont(sigFont)
+ painter.drawText(x, y+30, "The Academy Dental Practice")
+ y = pageRect.height() - 120
+ painter.drawLine(x, y, pageRect.width() - (2 * AddressMargin), y)
+ y += 2
+ font = QtGui.QFont("Helvetica", 7)
+ font.setItalic(True)
+ painter.setFont(font)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+ painter.drawText(
+ QtCore.QRectF(x, y,
+ pageRect.width() - (2 * AddressMargin), 31),
+ _('* Cheques payable to: "Academy Dental Practice"\n') +
+ _('Or telephone us with your switch/visa/mastercard details.'),
+ option)
+ painter.restore()
+ return True
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ account=document('TITLE', 'FNAME', 'SNAME', ("MY STREET", 'MY VILLAGE', '', '', 'Inverness-shire'),'IV2 222',"80.00")
+ account.setTone("B")
+ account.print_()
+ account.setTone("C")
+ account.print_()
+
+
diff --git a/src/openmolar/qt4gui/printing/apptcardPrint.py b/src/openmolar/qt4gui/printing/apptcardPrint.py
new file mode 100644
index 0000000..f8fcd8d
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/apptcardPrint.py
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from __future__ import division
+import datetime
+
+from PyQt4 import QtCore,QtGui
+
+from openmolar.settings import localsettings
+
+
+class Card(object):
+ def __init__(self, parent=None):
+ self.printer = QtGui.QPrinter()
+ self.pt = None
+ self.appts=()
+
+ def setProps(self, patient, appts=()):
+ self.pt = patient
+ self.appts = appts
+
+ def print_(self):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ self.printer.setPaperSize(QtGui.QPrinter.A5)
+ painter = QtGui.QPainter(self.printer)
+ pageRect = self.printer.pageRect()
+ painter.setPen(QtCore.Qt.black)
+
+ font = QtGui.QFont("Times", 11)
+ fm = QtGui.QFontMetrics(font)
+ fontLineHeight = fm.height()
+
+ painter.setFont(font)
+
+ rect = QtCore.QRectF(pageRect.width()/6, pageRect.height()/20,
+ pageRect.width()*5/6, pageRect.height()/3)
+
+ text = "%s %s %s\n%s\n"%(
+ self.pt.title, self.pt.fname, self.pt.sname, self.pt.address)
+ text += "Our ref %d\n\n"% self.pt.serialno
+ painter.drawText(rect, text)
+
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+
+ y = pageRect.height()/3
+ painter.drawLine(0,int(y),int(pageRect.width()),int(y))
+
+ y += fontLineHeight*1.5
+
+ font.setBold(True)
+ painter.setFont(font)
+ rect = QtCore.QRectF(0, y, pageRect.width(), fontLineHeight*1.5)
+ painter.drawText(rect, "You have the following appointments with us",
+ option)
+ font.setBold(False)
+ painter.setFont(font)
+
+ for appt in self.appts:
+ y += fontLineHeight*1.5
+ atime = localsettings.wystimeToHumanTime(appt.atime)
+ adate = localsettings.longDate(appt.date)
+
+ text = "%s - %s with %s"%(atime, adate, appt.dent_inits)
+
+ rect = QtCore.QRectF(0, y, pageRect.width(), fontLineHeight*1.5)
+
+ painter.drawText(rect, text, option)
+
+
+
+ y = pageRect.height() *2/3
+
+ painter.drawLine(0,int(y),int(pageRect.width()),int(y))
+ font.setItalic(True)
+ painter.setFont(font)
+
+ rect = QtCore.QRectF(0, y, pageRect.width(), pageRect.height()*1/3)
+ painter.drawText(rect, localsettings.APPOINTMENT_CARD_FOOTER, option)
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate(False)
+ app = QtGui.QApplication(sys.argv)
+ mycard = Card()
+ print mycard.printer.getPageMargins(QtGui.QPrinter.Millimeter)
+ from openmolar.dbtools import patient_class
+ from openmolar.dbtools import appointments
+ pt = patient_class.patient(11956)
+ appts = appointments.get_pts_appts(pt, True)
+ mycard.setProps(pt, appts)
+ mycard.print_()
+
diff --git a/src/openmolar/qt4gui/printing/bookprint.py b/src/openmolar/qt4gui/printing/bookprint.py
new file mode 100644
index 0000000..651095a
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/bookprint.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui
+
+class printBook():
+ '''initiates with an image (chart) as the argument'''
+ def __init__(self, html):
+ self.html = html
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+ def printpage(self, askfirst=True):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if askfirst and not dialog.exec_():
+ return
+ #print dir(self.printer)
+ document = QtGui.QTextDocument()
+ document.setHtml(self.html)
+ document.print_(self.printer)
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ form = printBook("<html><body><h1>This is a Test</h1><p>I trust it worked?</p></body></html>")
+ form.printpage(True) #show a dialog for testing purposes
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/printing/bulk_mail.py b/src/openmolar/qt4gui/printing/bulk_mail.py
new file mode 100644
index 0000000..8a57cfb
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/bulk_mail.py
@@ -0,0 +1,596 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+from __future__ import division
+
+import os
+import re
+import sys
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_bulkmail_options
+
+DATE_FORMAT = "MMMM, yyyy"
+DEBUG = False
+
+SALUTATION = _("Dear")
+
+BODY = '''%s\n%s'''% (
+_("We are writing to inform you that your dental examination is now due."),
+_("Please contact the surgery to arrange an appointment. *")
+)
+
+FAMILY_BODY = '''%s\n\n%s'''%(
+_("We are writing to inform you that your dental examinations are now due."),
+_("Please contact the surgery to arrange suitable appointments. *"),
+)
+
+SIGN_OFF= _("Yours sincerely,")
+
+SIGNATURE = localsettings.PRACTICE_NAME
+
+FOOTER = _('''* If you already have a future appointment with us -
+please accept our apologies and ignore this letter.''')
+
+
+try:
+ f = open(os.path.join(
+ localsettings.localFileDirectory, "recall_footer.txt"), "r")
+ PROMO_TEXT = f.read()
+ f.close()
+except IOError:
+ print "no recall footer found"
+ PROMO_TEXT= ""
+
+
+class OMLetter(object):
+ def __init__(self, recipients):
+ self.recipients = recipients
+
+
+ @property
+ def head(self):
+ return self.recipients[0]
+
+ @property
+ def recd(self):
+ return self.head.recd
+
+ @property
+ def _topline(self):
+ head = self.head
+ line_ = u"%s %s %s"% (
+ head.title,
+ head.fname.strip(),
+ head.sname.strip()
+ )
+ for r in self.recipients[1:]:
+ if r.age > 18:
+ line_ += "\n%s %s %s"% (r.title, r.fname, r.sname)
+ else:
+ line_ += ", %s"% (r.fname)
+
+ if ", " in line_:
+ i = line_.rindex(", ")
+ line_ = "%s and%s"% (line_[:i], line_[i+1:])
+
+ return line_
+
+ @property
+ def address(self):
+ head = self.head
+
+ address_ = u'%s\n%s\n%s\n%s\n%s\n%s\n%s'% (
+ self._topline,
+ head.addr1.title(),
+ head.addr2.title(),
+ head.addr3.title(),
+ head.town,
+ head.county,
+ head.pcde)
+
+ while re.search(" *\n *\n", address_):
+ address_ = re.sub(" *\n\n", "\n", address_)
+
+ return address_
+
+ @property
+ def subjects(self):
+ subjects_ = []
+ for r in self.recipients:
+ subjects_.append("%s %s %s - %s %s"% (
+ r.title, r.fname, r.sname,
+ _("our ref"), r.serialno))
+ return subjects_
+
+ @property
+ def subject_text(self):
+ text = ""
+ for subject in self.subjects:
+ text += "%s\n"% subject
+ return text
+
+ @property
+ def is_family(self):
+ return len(self.recipients) > 1
+
+ @property
+ def salutation(self):
+
+ if self.is_family:
+ salut_ = _("Patients")
+ elif self.head.age < 18:
+ salut_ = self.head.fname
+ else:
+ salut_ = "%s %s"% (self.head.title, self.head.sname.strip())
+
+ return u"%s %s,"% (SALUTATION, salut_)
+
+ @property
+ def text(self):
+ if self.is_family:
+ return FAMILY_BODY
+ return BODY
+
+class TreeItem(object):
+ def __init__(self, data, parent=None):
+ self.parentItem = parent
+ self.itemData = data
+ self.childItems = []
+
+ def appendChild(self, item):
+ self.childItems.append(item)
+
+ def child(self, row):
+ return self.childItems[row]
+
+ def childCount(self):
+ return len(self.childItems)
+
+ def columnCount(self):
+ return len(self.itemData)
+
+ def data(self, column):
+ try:
+ return QtCore.QVariant(self.itemData[column])
+ except IndexError:
+ return None
+
+ def parent(self):
+ return self.parentItem
+
+ def row(self):
+ if self.parentItem:
+ return self.parentItem.childItems.index(self)
+
+ return 0
+
+class treeModel(QtCore.QAbstractItemModel):
+ def __init__(self, header, mydata):
+ super(QtCore.QAbstractItemModel, self).__init__()
+ self.FAMILYICON = QtGui.QIcon()
+ self.FAMILYICON.addPixmap(QtGui.QPixmap(":/agt_family.png"))
+
+ self.rootItem = TreeItem(header)
+ self.setupModelData(mydata, self.rootItem)
+
+ def columnCount(self, parent):
+ if parent.isValid():
+ return parent.internalPointer().columnCount()
+ else:
+ return self.rootItem.columnCount()
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+
+ item = index.internalPointer()
+ if role == QtCore.Qt.DisplayRole:
+ return item.data(index.column())
+ elif role == QtCore.Qt.DecorationRole and index.column() == 1:
+ if item.itemData.grouped:
+ return QtCore.QVariant(self.FAMILYICON)
+ elif role == QtCore.Qt.BackgroundRole:
+ if item.itemData.grouped:
+ if item.itemData.letterno % 2:
+ brush = QtGui.QBrush(QtGui.QColor(190, 190, 190))
+ else:
+ brush = QtGui.QBrush(QtGui.QColor(160, 160, 160))
+ return QtCore.QVariant(brush)
+ else:
+ return QtCore.QVariant()
+ elif role == QtCore.Qt.UserRole:
+ ## a user role which simply returns the python object
+ return item.itemData
+
+ return QtCore.QVariant()
+
+ def flags(self, index):
+ if not index.isValid():
+ return QtCore.Qt.NoItemFlags
+
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
+
+ def headerData(self, section, orientation, role):
+ if (orientation == QtCore.Qt.Horizontal and
+ role == QtCore.Qt.DisplayRole):
+ return self.rootItem.data(section)
+
+ return QtCore.QVariant()
+
+ def index(self, row, column, parent):
+ if not self.hasIndex(row, column, parent):
+ return QtCore.QModelIndex()
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ childItem = parentItem.child(row)
+ if childItem:
+ return self.createIndex(row, column, childItem)
+ else:
+ return QtCore.QModelIndex()
+
+ def parent(self, index):
+ if not index.isValid():
+ return QtCore.QModelIndex()
+
+ childItem = index.internalPointer()
+ parentItem = childItem.parent()
+
+ if parentItem == self.rootItem:
+ return QtCore.QModelIndex()
+
+ return self.createIndex(parentItem.row(), 0, parentItem)
+
+ def rowCount(self, parent):
+ if parent.column() > 0:
+ return 0
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ return parentItem.childCount()
+
+ def setupModelData(self, lines, parent):
+ parents = [parent]
+ indentations = [0]
+
+ number = 0
+ letterNo = 0
+
+ for lineData in lines:
+ position = 0
+
+ if lineData[0] == letterNo:
+ position = 1
+ letterNo = lineData[0]
+
+ if position > indentations[-1]:
+ if parents[-1].childCount() > 0:
+ parents.append(
+ parents[-1].child(parents[-1].childCount() - 1))
+ indentations.append(position)
+ else:
+ while position < indentations[-1] and len(parents) > 0:
+ parents.pop()
+ indentations.pop()
+
+ parents[-1].appendChild(TreeItem(lineData, parents[-1]))
+
+
+class bulkMails(object):
+ def __init__(self, om_gui):
+ self.om_gui = om_gui
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+ self.headers = (_("no data loaded"),)
+ self.recipients = ()
+ self.bulk_model = treeModel(self.headers, self.recipients)
+ self.adate = localsettings.currentDay()
+ self.expanded = False
+ self.use_given_recall_date = False
+ self.LONGDATE = True
+
+ def showOptions(self):
+ '''
+ user is wishing to change some default setting
+ currently the only option is the date
+ '''
+ def enableDate(checked):
+ '''
+ only enable the date Edit if customRadio button is checked
+ '''
+ dl.dateEdit.setEnabled(checked)
+ dialog = QtGui.QDialog(self.om_gui)
+ dl = Ui_bulkmail_options.Ui_Dialog()
+ dl.setupUi(dialog)
+ dl.dateEdit.setDate(localsettings.currentDay())
+ dialog.connect(dl.custDate_radioButton,
+ QtCore.SIGNAL("toggled (bool)"), enableDate)
+ if dialog.exec_():
+ if dl.custDate_radioButton.isChecked():
+ self.adate = dl.dateEdit.date().toPyDate()
+ if dl.today_radioButton.isChecked():
+ self.adate = localsettings.currentDay()
+ self.use_given_recall_date = dl.recd_radioButton.isChecked()
+ self.LONGDATE = dl.fullDate_radioButton.isChecked()
+
+ self.om_gui.advise(_("options set"), 1)
+
+ def expand_contract(self):
+ '''
+ change the expansion state
+ '''
+ self.expanded = not self.expanded
+ if self.expanded:
+ self.om_gui.ui.bulk_mailings_treeView.expandAll()
+ else:
+ self.om_gui.ui.bulk_mailings_treeView.collapseAll()
+ self.update_expand_ButtonText()
+
+ def update_expand_ButtonText(self):
+ '''
+ make sure the expand / collapse button text is correct
+ '''
+ if self.expanded:
+ self.om_gui.ui.bulk_mail_expand_pushButton.setText(
+ _("Collapse All"))
+ else:
+ self.om_gui.ui.bulk_mail_expand_pushButton.setText(
+ _("Expand All"))
+
+ def setData(self, headers, recipients):
+ '''
+ load the recipient data
+ '''
+ self.headers = headers
+ self.recipients = recipients
+ self.populateTree()
+ self.expanded = False
+ self.update_expand_ButtonText()
+ for i in range(len(self.headers)):
+ self.om_gui.ui.bulk_mailings_treeView.resizeColumnToContents(i)
+
+ def populateTree(self):
+ '''
+ load the bulk mailing tree view
+ '''
+ self.bulk_model = treeModel(self.headers, self.recipients)
+ self.om_gui.ui.bulk_mailings_treeView.setModel(self.bulk_model)
+
+ def iterate_letters(self):
+ '''
+ iterate over the letters
+ '''
+ letters = {}
+ for recipient in self.recipients:
+ if letters.has_key(recipient.letterno):
+ letters[recipient.letterno].append(recipient)
+ else:
+ letters[recipient.letterno] = [recipient]
+
+ for key in sorted(letters):
+ recipients = letters[key]
+ letter = OMLetter(recipients)
+ yield letter
+
+ def selected(self, index):
+ '''
+ emit the serialno of the selected row
+ '''
+ try:
+ #item = index.internalPointer()
+ pt = self.bulk_model.data(index, QtCore.Qt.UserRole)
+ print pt.serialno
+ return pt.serialno
+
+ except IndexError:
+ print "selected bulk mail out of range"
+
+ def print_(self):
+ dialog = QtGui.QPrintDialog(self.printer, self.om_gui)
+ if not dialog.exec_():
+ return
+
+ font = QtGui.QFont("Sans", 11)
+ fm = QtGui.QFontMetrics(font)
+ line_height = fm.height()
+
+ sigFont = QtGui.QFont("URW Chancery L",15)
+ sigFont.setBold(True)
+ sig_font_height = QtGui.QFontMetrics(sigFont).height()*1.2
+
+ pageRect = self.printer.pageRect()
+
+
+ LEFT = 60
+ RIGHT = 80
+ TOP = 130
+ RECT_WIDTH = pageRect.width() - (LEFT + RIGHT)
+
+ ADDRESS_LEFT = 100
+ ADDRESS_HEIGHT = 100
+ FOOTER_HEIGHT = 150
+ DATE_HEIGHT = 3 * line_height
+ BODY_HEIGHT = pageRect.height() - (
+ TOP + ADDRESS_HEIGHT + FOOTER_HEIGHT + DATE_HEIGHT)
+
+ addressRect = QtCore.QRectF(ADDRESS_LEFT, TOP,
+ 300, ADDRESS_HEIGHT)
+
+ dateRect = QtCore.QRectF(LEFT, addressRect.bottom(),
+ RECT_WIDTH, DATE_HEIGHT)
+
+ bodyRect = QtCore.QRectF(LEFT, dateRect.bottom(),
+ RECT_WIDTH, BODY_HEIGHT)
+
+ footerRect = QtCore.QRectF(LEFT,
+ pageRect.height() - FOOTER_HEIGHT,
+ RECT_WIDTH, FOOTER_HEIGHT)
+
+ painter = QtGui.QPainter(self.printer)
+
+ first_page = True
+ page_no = 0
+
+ for letter in self.iterate_letters():
+ page_no += 1
+
+ if dialog.printRange() == dialog.PageRange:
+ if page_no < dialog.fromPage():
+ continue
+ if dialog.toPage() != 0 and page_no > dialog.toPage():
+ continue
+
+ if not first_page:
+ self.printer.newPage()
+ first_page = False
+
+ painter.save()
+ painter.setFont(font)
+ painter.setPen(QtCore.Qt.black)
+
+ option = QtGui.QTextOption(QtCore.Qt.AlignLeft)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+
+ ##address
+ painter.drawText(addressRect, letter.address, option)
+ if DEBUG:
+ painter.drawRect(addressRect)
+ ##date
+
+ if self.use_given_recall_date:
+ pdate = letter.recd
+ else:
+ pdate = self.adate
+
+ if self.LONGDATE:
+ pdate_str = localsettings.longDate(pdate)
+ else:
+ pdate_str = "%s %s"% (localsettings.monthName(pdate),
+ pdate.year)
+
+ painter.drawText(dateRect, pdate_str,
+ QtGui.QTextOption(QtCore.Qt.AlignRight))
+ if DEBUG:
+ painter.drawRect(dateRect)
+
+ ##salutation
+ rect = bodyRect.adjusted(
+ 0, 0, 0, 2*line_height- bodyRect.height())
+ painter.drawText(rect, letter.salutation, option)
+ if DEBUG:
+ painter.drawRect(rect)
+
+ ##subject
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ font.setBold(True)
+ painter.setFont(font)
+ subject_count = len(letter.subjects) + 1
+ rect = QtCore.QRectF(
+ rect.bottomLeft().x(), rect.bottomLeft().y(),
+ bodyRect.width(), line_height * subject_count)
+ painter.drawText(rect, letter.subject_text, option)
+ if DEBUG:
+ painter.drawRect(rect)
+ font.setBold(False)
+ painter.setFont(font)
+
+ ##body
+ option = QtGui.QTextOption(QtCore.Qt.AlignLeft)
+ line_count = letter.text.count("\n")+3
+ body_rect = QtCore.QRectF(
+ rect.bottomLeft().x(), rect.bottomLeft().y(),
+ bodyRect.width(), line_height * line_count)
+
+ painter.drawText(body_rect, letter.text, option)
+ if DEBUG:
+ painter.drawRect(body_rect)
+
+ ##signature
+ #place signature immediately after the body text (which will vary)
+
+ sigRect = QtCore.QRectF(
+ body_rect.bottomLeft().x(), body_rect.bottomLeft().y(),
+ body_rect.width(), line_height * 2)
+ painter.drawText(sigRect, SIGN_OFF, option)
+ if DEBUG:
+ painter.drawRect(sigRect)
+
+ sigRect = sigRect.adjusted(0, sigRect.height(), 0, sig_font_height)
+ painter.setFont(sigFont)
+ painter.drawText(sigRect, SIGNATURE, option)
+ if DEBUG:
+ painter.drawRect(sigRect)
+
+ option = QtGui.QTextOption(QtCore.Qt.AlignVCenter)
+
+ ##promo
+ promoRect = QtCore.QRectF(
+ QtCore.QPointF(
+ sigRect.bottomLeft().x(), sigRect.bottomLeft().y()),
+ QtCore.QPointF(
+ footerRect.topRight().x(), footerRect.topRight().y())
+ )
+ promoRect = promoRect.adjusted(50, 30, -50, -30)
+ painter.setFont(font)
+ painter.drawText(promoRect, PROMO_TEXT, option)
+ promoRect = promoRect.adjusted(-10, -10, 10, 10)
+
+ #if DEBUG:
+ painter.drawRect(promoRect)
+
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+
+ ##footer
+ painter.drawLine(footerRect.topLeft(), footerRect.topRight())
+ font.setItalic(True)
+ painter.setFont(font)
+
+ painter.drawText(footerRect, FOOTER, option)
+ if DEBUG:
+ painter.drawRect(footerRect)
+
+ ##fold marks
+ top_fold_y = pageRect.height()/3
+ painter.drawLine(0, top_fold_y, 10, top_fold_y)
+
+ top_fold_y = pageRect.height()*2/3
+ painter.drawLine(0, top_fold_y, 10, top_fold_y)
+
+
+ painter.restore()
+
+if __name__ == "__main__":
+ DEBUG = True
+ localsettings.station = "reception"
+ app = QtGui.QApplication([])
+ from datetime import date
+ os.chdir(os.environ.get("HOME", "."))
+ from openmolar.qt4gui import maingui
+ from openmolar.dbtools import recall
+
+ om_gui = maingui.OpenmolarGui()
+
+ conditions = "recd>=%s and recd<=%s and dnt1=%s"
+ values = date(2012,7,1), date(2012,7,13), 6
+ patients = recall.getpatients(conditions, values)
+
+ letters = bulkMails(om_gui)
+ #letters.showOptions()
+ letters.setData(recall.HEADERS, patients)
+ letters.print_()
+ app.closeAllWindows()
diff --git a/src/openmolar/qt4gui/printing/chartPrint.py b/src/openmolar/qt4gui/printing/chartPrint.py
new file mode 100644
index 0000000..21facd1
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/chartPrint.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import math
+import sys
+from PyQt4 import QtCore, QtGui
+
+class printChart():
+ '''initiates with an image (chart) as the argument'''
+ def __init__(self, chartimage, landscape=False):
+ self.image = chartimage
+ self.printer = QtGui.QPrinter()
+ if landscape:
+ self.printer.setOrientation(QtGui.QPrinter.Landscape)
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+
+ def sizeToFit(self):
+ '''
+ make the image fill the page
+ '''
+ rect = self.printer.pageRect()
+ self.image = self.image.scaled(rect.width(), rect.height())
+
+ def printpage(self, askfirst=True):
+ '''
+ print the chart
+ '''
+ dialog = QtGui.QPrintDialog(self.printer)
+ if askfirst and not dialog.exec_():
+ return
+
+ LeftMargin = 72
+
+ painter = QtGui.QPainter(self.printer)
+ pageRect = self.printer.pageRect()
+ painter.save()
+ y = 0
+ x = 0
+ painter.drawPixmap(x, 0, self.image)
+ y += self.image.height()
+ painter.restore()
+
+if __name__ == "__main__":
+ app = QtGui.QApplication(sys.argv)
+ chart = QtGui.QPixmap("images/testchart.png")
+ form = printChart(chart)
+ form.printpage(True) #show a dialog for testing purposes
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/printing/daylistprint.py b/src/openmolar/qt4gui/printing/daylistprint.py
new file mode 100644
index 0000000..7e682ca
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/daylistprint.py
@@ -0,0 +1,123 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+from __future__ import division
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+class printDaylist():
+ def __init__(self,parent=None):
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+ self.dates=[]
+ self.dentist=[]
+ self.dayMemo=[]
+ self.apps=[]
+
+ def addDaylist(self,date,dentist,apps):
+ self.dates.append(date.toString())
+ self.dentist.append(localsettings.apptix_reverse[dentist])
+ self.dayMemo.append(apps[0])
+ self.apps.append(apps[1:])
+
+ def print_(self,expanded=False):
+ '''if expanded, the list will fill the page'''
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ LeftMargin,RightMargin,TopMargin,BottomMargin = 30,30,30,100 #leave space at the bottom for notes?
+ sansFont = QtGui.QFont("Helvetica", 9)
+ fm = QtGui.QFontMetrics(sansFont)
+ pageWidth=self.printer.pageRect().width()-LeftMargin-RightMargin
+ painter = QtGui.QPainter(self.printer)
+ for page in range(0,len(self.dates)):
+ painter.save()
+
+ rowCount=len(self.apps[page])
+ if not expanded:
+ rowHeight = fm.height()
+ else:
+ pageHeight=self.printer.pageRect().height()-TopMargin-BottomMargin
+ rowHeight=pageHeight/(rowCount+3) #+3 allows for headings
+ ###get col widths.
+ colwidths={}
+ #start,end,name,serialno,code0,code1,code2,note
+ for app in self.apps[page]:
+ #--get widths
+ printApp=("12:00","(150 mins)",
+ app.name,"88888","P",app.treat,app.note)
+ col=0
+ for att in printApp:
+ w=fm.width(str(att))
+ if not colwidths.has_key(col):
+ colwidths[col]=w
+ elif colwidths[col]<w:
+ colwidths[col]=w
+ col+=1
+ total=0
+ for col in range(len(colwidths)):
+ total+=colwidths[col]
+ for col in range(len(colwidths)):
+ colwidths[col]=colwidths[col]*pageWidth/total
+
+ x,y=LeftMargin,TopMargin
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(sansFont)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option = QtGui.QTextOption(QtCore.Qt.AlignVCenter)
+ rect=QtCore.QRectF(x, y,pageWidth, rowHeight)
+ now=QtCore.QDateTime.currentDateTime().toString()
+ painter.drawText(rect,"Daylist for %s %s"%(self.dentist[page],self.dayMemo[page]),option)
+ y += rowHeight
+ rect=QtCore.QRectF(x, y,pageWidth, rowHeight)
+ painter.drawText(rect,self.dates[page],option)
+ y += rowHeight*1.5
+ painter.setBrush(QtGui.QColor("#eeeeee"))
+ col=0
+ for column in ("Start","Length","Name","No","","Treat","memo"):
+ rect=QtCore.QRectF(x, y,colwidths[col], rowHeight)
+ painter.drawRect(rect)
+ painter.drawText(rect.adjusted(2,0,-2,0),column,option)
+ x+=colwidths[col]
+ col+=1
+ y+=rowHeight
+ painter.setBrush(QtCore.Qt.transparent)
+ for app in self.apps[page]:
+ printApp=(app.start,"(%d mins)"%app.length(),
+ app.name,app.serialno,app.cset,app.treat.strip(),app.note)
+ x=LeftMargin
+ col=0
+ for att in printApp:
+ rect=QtCore.QRectF(x, y,colwidths[col], rowHeight)
+ painter.drawRect(rect)
+ if att:
+ painter.drawText(rect.adjusted(2,0,-2,0),str(att),option)
+ x+=colwidths[col]
+ col+=1
+ y += rowHeight
+
+ rect=QtCore.QRectF(LeftMargin, y,pageWidth, rowHeight)
+ painter.drawText(rect,"Printed %s"%now,option)
+ if page < len(self.dates)-1:
+ self.printer.newPage()
+ painter.restore()
+
+
+if __name__ == "__main__":
+ import sys
+ from openmolar.dbtools import appointments
+ import datetime
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ d=datetime.date.today()
+ apps=appointments.printableDaylistData(d,4)
+
+ p=printDaylist()
+ p.addDaylist(QtCore.QDate.currentDate(),4,apps[0],apps[1:])
+ p.print_(True)
+
diff --git a/src/openmolar/qt4gui/printing/estimatePrint.py b/src/openmolar/qt4gui/printing/estimatePrint.py
new file mode 100644
index 0000000..4fe98e5
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/estimatePrint.py
@@ -0,0 +1,165 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from __future__ import division
+
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+class estimate(object):
+ def __init__(self, parent=None):
+ self.setProps()
+ self.estItems = []
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A5)
+
+ self.pdfprinter = QtGui.QPrinter()
+ self.pdfprinter.setPageSize(QtGui.QPrinter.A5)
+
+ def setProps(self,tit="",fn="",sn="",serialno=0):
+ self.title=tit
+ self.fname=fn
+ self.sname=sn
+ self.ourref=serialno
+
+ def setEsts(self, ests):
+ self.estItems = ests
+
+ def print_(self):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ self.pdfprinter.setOutputFormat(QtGui.QPrinter.PdfFormat)
+ self.pdfprinter.setOutputFileName(localsettings.TEMP_PDF)
+
+ for printer in (self.printer,self.pdfprinter):
+ LeftMargin = 50
+ TopMargin = 150
+ serifFont = QtGui.QFont("Times", 11)
+ fm=QtGui.QFontMetrics(serifFont)
+ serifLineHeight = fm.height()
+ painter = QtGui.QPainter(printer)
+ pageRect = printer.pageRect()
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(serifFont)
+ center = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ alignRight = QtGui.QTextOption(QtCore.Qt.AlignRight)
+
+ x,y = LeftMargin,TopMargin
+ painter.drawText(x, y, "%s %s %s"%(self.title.title(),
+ self.fname.title(),self.sname.title()))
+
+ y += serifLineHeight
+ painter.drawText(x, y, "Our Ref - "+str(self.ourref))
+
+ y += serifLineHeight*1.5
+ mystr = 'Estimate Printed on '
+ w = fm.width(mystr)
+ painter.drawText(x, y, mystr)
+
+ painter.drawText(x+w, y,
+ QtCore.QDate.currentDate().toString(localsettings.QDATE_FORMAT))
+
+ x = LeftMargin + 10
+ y += serifLineHeight
+
+ pt_total = 0
+
+ #separate into NHS and non-NHS items.
+ sorted_ests = {"N":[],"P":[]}
+
+ for est in self.estItems:
+ if "N" in est.csetype:
+ sorted_ests["N"].append(est)
+ else:
+ sorted_ests["P"].append(est)
+
+ for type_, description in (
+ ("N", _("NHS items")),
+ ("P", _("Private items"))
+ ):
+
+ if sorted_ests[type_]:
+ y += serifLineHeight
+ painter.drawText(
+ QtCore.QRectF(x, y, 400, serifLineHeight),
+ description)
+ y += serifLineHeight
+
+ for est in sorted_ests[type_]:
+ pt_total += est.ptfee
+
+ number = est.number
+ item = est.description
+
+ amount = est.ptfee
+
+ #print number,item,amount
+
+ mult = ""
+ if number>1:
+ mult = "s"
+ item = item.replace("*",mult)
+ item = item.replace("^","")
+
+ painter.drawText(QtCore.QRectF(x, y, 60, serifLineHeight),
+ str(number))
+
+ painter.drawText(QtCore.QRectF(x+60, y, 280,
+ serifLineHeight), QtCore.QString(item))
+
+ painter.drawText(QtCore.QRectF(x+280, y, 100,
+ serifLineHeight), localsettings.formatMoney(amount),
+ alignRight)
+
+ y += serifLineHeight
+
+ y += serifLineHeight
+ #-- 280+100=280
+ painter.drawLine(int(x), int(y), int(x)+380, int(y))
+ y += serifLineHeight*1.5
+
+ painter.drawText(QtCore.QRectF(x, y, 180, serifLineHeight),
+ QtCore.QString("TOTAL"))
+
+ painter.drawText(QtCore.QRectF(x+280, y, 100,serifLineHeight),
+ QtCore.QString(localsettings.formatMoney(pt_total)), alignRight)
+
+ y += serifLineHeight * 4
+
+ font = QtGui.QFont("Helvetica", 7)
+ font.setItalic(True)
+ painter.setFont(font)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+ painter.drawText(QtCore.QRectF(0, y, pageRect.width(), 31),
+ "Please note, this estimate may be subject to change if "+\
+ "clinical circumstances dictate.", option)
+ return True
+
+if __name__ == "__main__":
+
+ import sys
+ localsettings.initiate(False)
+ from openmolar.dbtools import patient_class
+ from openmolar.ptModules import estimates
+ pt=patient_class.patient(23664)
+
+ app = QtGui.QApplication(sys.argv)
+
+ myreceipt = estimate()
+
+ myreceipt.title = pt.title
+ myreceipt.fname = pt.fname
+ myreceipt.sname = pt.sname
+ myreceipt.ourref = pt.serialno
+ myreceipt.estItems = estimates.sorted_estimates(pt.estimates)
+
+ myreceipt.print_()
diff --git a/src/openmolar/qt4gui/printing/gp17/__init__.py b/src/openmolar/qt4gui/printing/gp17/__init__.py
new file mode 100644
index 0000000..c134588
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/__init__.py
@@ -0,0 +1,3 @@
+from gp17_front import GP17Front
+from gp17v1_front import GP17iFront
+from gp17v1_back import GP17iBack
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17_back.py b/src/openmolar/qt4gui/printing/gp17/gp17_back.py
new file mode 100644
index 0000000..8b8d003
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17_back.py
@@ -0,0 +1,129 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17(Scotland) NHS form
+'''
+import os
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.backports.printed_form import PrintedForm
+from openmolar.qt4gui.printing.gp17.gp17_config import gp17config
+
+checkBoxWidth = 16
+checkBoxHeight = 16
+
+RECTS = {}
+
+x = 334
+
+RECTS["reg_continue"] = QtCore.QRectF(x, 141, checkBoxWidth, checkBoxHeight)
+RECTS["reg_another_dentist"] = QtCore.QRectF(x, 167, checkBoxWidth, checkBoxHeight)
+RECTS["reg_another_practice"] = QtCore.QRectF(x, 194, checkBoxWidth, checkBoxHeight)
+RECTS["no_reg"] = QtCore.QRectF(x, 220, checkBoxWidth, checkBoxHeight)
+RECTS["referred"] = QtCore.QRectF(x, 245, checkBoxWidth, checkBoxHeight)
+
+RECTS["pay_charges"] = QtCore.QRectF(x, 300, checkBoxWidth, checkBoxHeight)
+RECTS["HC3"] = QtCore.QRectF(x, 341, checkBoxWidth, checkBoxHeight)
+
+RECTS["4b_patient"] = QtCore.QRectF(97, 377, checkBoxWidth, checkBoxHeight)
+RECTS["4b_guardian"] = QtCore.QRectF(x, 377, checkBoxWidth, checkBoxHeight)
+
+RECTS["4c_patient"] = QtCore.QRectF(100, 930, checkBoxWidth, checkBoxHeight)
+RECTS["4c_guardian"] = QtCore.QRectF(334, 929, checkBoxWidth, checkBoxHeight)
+
+RECTS["8_patient"] = QtCore.QRectF(455, 926, checkBoxWidth, checkBoxHeight)
+RECTS["8_guardian"] = QtCore.QRectF(684, 926, checkBoxWidth, checkBoxHeight)
+
+RECTS["under_18"] = QtCore.QRectF(x, 528, checkBoxWidth, checkBoxHeight)
+RECTS["student"] = QtCore.QRectF(x, 556, checkBoxWidth, checkBoxHeight)
+RECTS["pregnant"] = QtCore.QRectF(x, 580, checkBoxWidth, checkBoxHeight)
+RECTS["feeding"] = QtCore.QRectF(x, 608, checkBoxWidth, checkBoxHeight)
+RECTS["income_related_employment_support"] \
+ = QtCore.QRectF(x, 648, checkBoxWidth, checkBoxHeight)
+RECTS["income_support"] = QtCore.QRectF(x, 675, checkBoxWidth, checkBoxHeight)
+
+RECTS["job_seekers"] = QtCore.QRectF(x, 700, checkBoxWidth, checkBoxHeight)
+RECTS["tax credit"] = QtCore.QRectF(x, 728, checkBoxWidth, checkBoxHeight)
+RECTS["pension credit"] = QtCore.QRectF(x, 756, checkBoxWidth, checkBoxHeight)
+RECTS["HC2"] = QtCore.QRectF(x, 861, checkBoxWidth, checkBoxHeight)
+RECTS["HC2_number"] = QtCore.QRectF(191, 855, 128, 32)
+
+RECTS["no_evidence"] = QtCore.QRectF(x, 897, checkBoxWidth, checkBoxHeight)
+
+
+RECTS["pftr"] = QtCore.QRectF(686, 1037, checkBoxWidth, checkBoxHeight)
+
+RECTS["observations"] = QtCore.QRectF(376, 213, 343, 193)
+
+RECTS["paid_a"] = QtCore.QRectF(623, 795, checkBoxWidth, checkBoxHeight)
+RECTS["paid_b"] = QtCore.QRectF(641, 795, checkBoxWidth, checkBoxHeight)
+RECTS["paid_c"] = QtCore.QRectF(660, 795, checkBoxWidth, checkBoxHeight)
+RECTS["paid_d"] = QtCore.QRectF(686, 795, checkBoxWidth, checkBoxHeight)
+RECTS["paid_s"] = QtCore.QRectF(706, 795, checkBoxWidth, checkBoxHeight)
+
+RECTS["Dent_sig"] = QtCore.QRectF(477, 497, 242, 26)
+RECTS["Dent_sig_date"] = QtCore.QRectF(477, 532, 130, 26)
+
+RECTS["Dent_sigPA"] = QtCore.QRectF(475, 79, 242, 26)
+RECTS["Dent_sig_datePA"] = QtCore.QRectF(475, 111, 158, 26)
+
+
+class Gp17Back(PrintedForm):
+ '''
+ a class to set up and print a GP17
+ '''
+ data = None
+
+ def __init__(self):
+ PrintedForm.__init__(self)
+ self.rects = RECTS
+
+ def print_(self):
+ self.set_offset(gp17config.OFFSET_LEFT, gp17config.OFFSET_TOP)
+ self.set_scaling(gp17config.SCALE_X, gp17config.SCALE_Y)
+
+ painter = PrintedForm.print_(self)
+ self._fill(painter)
+
+ def _fill(self, painter):
+ if self.data is None:
+ return
+
+
+if __name__ == "__main__":
+ os.chdir(os.path.expanduser("~")) # for print to file
+ from openmolar.settings import localsettings
+ TEST_IMAGE = os.path.join(localsettings.resources_location,
+ "gp17", "back.jpg")
+
+ app = QtGui.QApplication([])
+ form = Gp17Back()
+
+ form.testing_mode = True
+
+ form.print_background = True
+ form.BACKGROUND_IMAGE = TEST_IMAGE
+
+ form.controlled_print()
+
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17_config.py b/src/openmolar/qt4gui/printing/gp17/gp17_config.py
new file mode 100644
index 0000000..f055366
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17_config.py
@@ -0,0 +1,156 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17-1(Scotland) NHS form (back side)
+'''
+import ConfigParser
+import os
+from openmolar.settings import localsettings
+
+CONF_PATH = os.path.join(localsettings.localFileDirectory, "gp17.conf")
+
+SECTIONS = ("gp17Front", "gp17iFront", "gp17iBack")
+
+class GP17Config(ConfigParser.ConfigParser):
+ def __init__(self):
+ ConfigParser.ConfigParser.__init__(self)
+ self.read_conf()
+ for section in SECTIONS:
+ try:
+ self.add_section(section)
+ except ConfigParser.DuplicateSectionError:
+ pass
+
+ def read_conf(self):
+ self.read([CONF_PATH])
+
+ @property
+ def OFFSET_LEFT(self):
+ try:
+ return int(self.get("gp17Front", "left"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def OFFSET_TOP(self):
+ try:
+ return int(self.get("gp17Front", "top"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def SCALE_X(self):
+ try:
+ return float(self.get("gp17Front", "scale_x"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+ @property
+ def SCALE_Y(self):
+ try:
+ return float(self.get("gp17Front", "scale_y"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+ @property
+ def GP17i_OFFSET_LEFT(self):
+ try:
+ return int(self.get("gp17iFront", "left"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def GP17i_OFFSET_TOP(self):
+ try:
+ return int(self.get("gp17iFront", "top"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def GP17i_SCALE_X(self):
+ try:
+ return float(self.get("gp17iFront", "scale_x"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+ @property
+ def GP17i_SCALE_Y(self):
+ try:
+ return float(self.get("gp17iFront", "scale_y"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+ @property
+ def GP17iback_OFFSET_LEFT(self):
+ try:
+ return int(self.get("gp17iBack", "left"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def GP17iback_OFFSET_TOP(self):
+ try:
+ return int(self.get("gp17iBack", "top"))
+ except ConfigParser.NoOptionError:
+ return 0
+
+ @property
+ def GP17iback_SCALE_X(self):
+ try:
+ return float(self.get("gp17iBack", "scale_x"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+ @property
+ def GP17iback_SCALE_Y(self):
+ try:
+ return float(self.get("gp17iBack", "scale_y"))
+ except ConfigParser.NoOptionError:
+ return 1.0
+
+
+ def save_config(self):
+ self.set("gp17Front", "left", self.OFFSET_LEFT)
+ self.set("gp17Front", "top", self.OFFSET_TOP)
+ self.set("gp17Front", "scale_x", self.SCALE_X)
+ self.set("gp17Front", "scale_y", self.SCALE_Y)
+
+ self.set("gp17iFront", "left", self.GP17i_OFFSET_LEFT)
+ self.set("gp17iFront", "top", self.GP17i_OFFSET_TOP)
+ self.set("gp17iFront", "scale_x", self.GP17i_SCALE_X)
+ self.set("gp17iFront", "scale_y", self.GP17i_SCALE_Y)
+
+ self.set("gp17iBack", "left", self.GP17iback_OFFSET_LEFT)
+ self.set("gp17iBack", "top", self.GP17iback_OFFSET_TOP)
+ self.set("gp17iBack", "scale_x", self.GP17iback_SCALE_X)
+ self.set("gp17iBack", "scale_y", self.GP17iback_SCALE_Y)
+
+ f = open(CONF_PATH, "w")
+ self.write(f)
+ f.close()
+
+gp17config = GP17Config()
+
+if __name__ == "__main__":
+ gp17config.save_config()
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17_data.py b/src/openmolar/qt4gui/printing/gp17/gp17_data.py
new file mode 100644
index 0000000..2c0aebb
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17_data.py
@@ -0,0 +1,597 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides Gp17Data class for the data required by a GP17(Scotland) NHS form
+'''
+from datetime import date
+import logging
+import re
+
+from openmolar.settings import localsettings
+from openmolar.ptModules import dec_perm
+
+LOGGER = logging.getLogger("openmolar")
+
+def convert_tooth(tooth):
+ '''
+ take something like "ul5" and return the iso code
+ '''
+ if not re.match("[ul][lr][1-8A-E]", tooth):
+ return None
+ quadrant = tooth[:2].lower()
+ iso_quadrant = ["ur", "ul", "ll", "lr"].index(quadrant)
+ try:
+ tooth_no = "abcde".index(tooth[2].lower()) + 1
+ iso_quadrant += 4
+ except ValueError:
+ tooth_no = tooth[2]
+
+ result = "%s%s"% (iso_quadrant+1, tooth_no)
+ LOGGER.debug("converted tooth '%s' to '%s'"% (tooth, result))
+ return result
+
+CAPITATION_SIMPLE = [
+ "2771", #upper special tray
+ "2772" #lower special tray
+]
+
+CONTINUING_CARE_SIMPLE = [
+ "0101", # exam a
+ "0111", # exam b
+ "0201", # exam c
+ "1001", # perio a
+ "1011", # perio b
+ "2771", #upper special tray
+ "2772" #lower special tray
+]
+
+TOOTH_SPECIFIC_CODES = [
+ "0701", #Fissure sealant, unfilled third molars
+ "1021", #non-surgical treatment of periodontal disease
+ "1131", #crown lengthening
+ "1401", #1 surface
+ "1402", #2 surface
+ "1403", #2 or more surface including MO or DO
+ "1404", #3 or more surface including MOD
+ "1411", #tunnel
+ "1412", #tunnel, max per tooth
+ "1421", #resin
+ "1420", #2 or more (same tooth)
+ "1422", #acid etch - 1 angle
+ "1423", #incisal edge
+ "1424", #2 agles - mesial and distal
+ "1425", #cusp tip
+ "1426", #glass ionomer - 1 filling
+ "1427", #glass ionomer - 2 or more
+ "1431",
+ "1461",
+ "1462",
+ "1470",
+ "1471",
+ "1481",
+ "1482",
+ "1483",
+ "1501",
+ "1502",
+ "1503",
+ "1504",
+ "1511",
+ "1521",
+ "1522",
+ "1523",
+ "1541",
+ "1551",
+ "1601",
+ "1701",
+ "1702",
+ "1703",
+ "1704",
+ "1761",
+ "1781",
+ "1711",
+ "1712",
+ "1716",
+ "1721",
+ "1722",
+ "1723",
+ "1726",
+ "1742",
+ "1743",
+ "1762",
+ "1782",
+ "1732",
+ "1733",
+ "1734",
+ "1735",
+ "1736",
+ "1738",
+ "1739",
+ "1744",
+ "1801",
+ "1802",
+ "1803",
+ "1804",
+ "1805",
+ "1806",
+ "1807",
+ "1808",
+ "1811",
+ "1812",
+ "1813",
+ "1814",
+ "1816",
+ "1821",
+ "1822",
+ "1823",
+ "1824",
+ "1825",
+ "1826",
+ "1827",
+ "1831",
+ "1832",
+ "1851",
+ "1852",
+ "2101",
+ "2102",
+ "2201",
+ "2202",
+ "2203",
+ "2204",
+ "2206",
+ "2205",
+ "2207",
+ "2733",
+ "2735",
+ "2743",
+ "2747",
+ "2744",
+ "2748",
+ "2745",
+ "2749",
+ "2746",
+ "2863",
+ "2864",
+ "3261",
+ "3262",
+ "3263",
+ "3264",
+ "3611",
+ "3651",
+ "3661",
+ "3671",
+ "4401",
+ "4402",
+ "4403",
+ "4404",
+ "4405",
+ "4406",
+ "5001",
+ "5002",
+ "5021",
+ "5022",
+ "5031",
+ "5032",
+ "5041",
+ "5042",
+ "5071",
+ "5075",
+ "5076",
+ "5102",
+ "5103",
+ "5104",
+ "5111",
+ "5112",
+ "5201",
+ "5202",
+ "5211",
+ "5212",
+ "5213",
+ "5214",
+ "5216",
+ "5215",
+ "5217",
+ "5563",
+ "5564",
+ "5811",
+ "5812",
+ "5813",
+ "5814",
+ "5821",
+ "5820",
+ "5822",
+ "5823",
+ "5824",
+ "5825",
+ "5826",
+ "5827",
+ "5831",
+ "5836",
+ "5837",
+ "5838",
+ "5839",
+ "5841",
+ "5842",
+ "5843",
+ "5851",
+ "5852",
+ "5903",
+ "5905",
+ "5916",
+ "6001",
+ "6002",
+ "6003",
+ "6004",
+ "6242",
+ "6244",
+ "6252",
+ "6254",
+ "6263",
+ "6266",
+ "6273",
+ "6276",
+ "6283",
+ "6286",
+ "6264",
+ "6267",
+ "6274",
+ "6277",
+ "6284",
+ "6287",
+ "6265",
+ "6268",
+ "6275",
+ "6278",
+ "6285",
+ "6288",
+ "6202",
+ "6204",
+ "6212",
+ "6214",
+ "6222",
+ "6224",
+ "6232",
+ "6234",
+ "6301",
+ "6321",
+ "6331",
+ "6332",
+ "6341",
+ "6342",
+ "6343",
+ "6344",
+ "6351",
+ "6352",
+ "6353",
+ "6354",
+ "6401",
+ "6501",
+ "6511",
+ "6512",
+ "6513",
+ "6522",
+ "6523",
+]
+
+test_misc_dict = {
+ "on_referral":True,
+ "special_needs":True,
+ "not_extending":True,
+ "radiographs":True,
+ "models":True,
+ "trauma":True
+ }
+
+class DuckCode(object):
+ def __init__(self, code, number=1, free_replace= False):
+ self.code = code
+ self.number = number
+ self.free_replace = free_replace
+
+test_complex_codes = [
+ DuckCode("4401",2),
+ DuckCode("3803",1,True)
+ ]
+
+class DuckCourse(object):
+ accd = date(1969,12,9)
+ cmpd = date(2015,12,9)
+
+class DuckPatient(object):
+ sname = "Wallace"
+ fname = "Bea"
+ dob = date(1969,12,9)
+ sex = "F"
+ nhsno = "1231234567"
+ psn = "Davis" #previous surname
+ addr1 = "The Gables"
+ addr2 = "Daviot"
+ addr3 = ""
+ town = "Inverness"
+ county = ""
+ pcde = "IV25XQ"
+ dnt1 = 1
+ dnt2 = None
+ #dent0,dent1,dent2,dent3 = 0,0,0,0
+ bpe = [""]
+ under_capitation = False
+ estimates = []
+ nhs_claims = []
+ def __init__(self):
+ self.treatment_course = DuckCourse()
+
+class Gp17Data(object):
+ '''
+ a class to hold data required by the form
+ '''
+
+ misc_dict = {}
+
+ def __init__(self, pt=None, testing_mode=False):
+
+ LOGGER.debug("Gp17Data object created, pt = %s testing_mode = %s"% (
+ pt, testing_mode))
+
+ self.pt = DuckPatient() if pt is None else pt
+ self.dentist = self.pt.dnt2 if self.pt.dnt2 != 0 else self.pt.dnt1
+
+ self.testing_mode = testing_mode
+ if testing_mode:
+ self.misc_dict = test_misc_dict
+
+ self.exclusions = []
+
+ def format_date(self, date):
+ '''
+ format's a date of birth to MMDDYYYY
+ '''
+ try:
+ return "%02d%02d%04d"% (
+ date.day,
+ date.month,
+ date.year)
+ except AttributeError:
+ return " "
+
+ @property
+ def dob(self):
+ '''
+ format the patients date of birth to MMDDYYYY
+ '''
+ return self.format_date(self.pt.dob)
+
+ @property
+ def stamp_text(self):
+ '''
+ The Dentist's Information
+ '''
+ try:
+ text = localsettings.dentDict[self.dentist][2]+"\n"
+ except KeyError:
+ print "Key Error getting dentist",self.dentist
+ text = "\n"
+ for line in localsettings.practiceAddress:
+ text += line+"\n"
+ try:
+ text += localsettings.dentDict[self.dentist][3]
+ except KeyError:
+ text += ""
+
+ return text
+
+ @property
+ def addr1(self):
+ return self.pt.addr1
+
+ @property
+ def addr2(self):
+ for att in (self.pt.addr2, self.pt.addr3, self.pt.town, self.pt.county):
+ att = att.strip(" ")
+ if att != "":
+ return att
+
+ @property
+ def addr3(self):
+ for att in (self.pt.addr3, self.pt.town, self.pt.county):
+ att = att.strip(" ")
+ if att != "" and att != self.addr2:
+ return att
+
+ return ""
+
+ @property
+ def pcde(self):
+ pcde = self.pt.pcde.replace(" ","")
+ if len(pcde) == 6:
+ return "%s %s"% (pcde[:3], pcde[3:])
+ return pcde
+
+ @property
+ def identifier(self):
+ '''
+ CHI number
+ '''
+ return str(self.pt.nhsno)
+
+ @property
+ def previous_sname(self):
+ return self.pt.psn
+
+ @property
+ def accd(self):
+ '''
+ date of registration/acceptance
+ '''
+ if "accd" in self.exclusions:
+ return ""
+ return self.format_date(self.pt.treatment_course.accd)
+
+ @property
+ def cmpd(self):
+ '''
+ date of completion
+ '''
+ if "cmpd" in self.exclusions:
+ return ""
+ return self.format_date(self.pt.treatment_course.cmpd)
+
+ @property
+ def show_chart(self):
+ if "chart" in self.exclusions:
+ return False
+ return True
+
+ def tooth_present(self, quadrant, tooth):
+ '''
+ chart - returns True if the tooth is present.
+ '''
+ if type(self.pt) == DuckPatient:
+ return True
+
+ old_quadrant = ["ur","ul","ll","lr"][(quadrant %4)-1]
+ old_notation = "%s%dst"%(old_quadrant, tooth)
+ static_string = self.pt.__dict__[old_notation].split(" ")
+
+ #print "checking for tooth %s%s (%s), '%s'"% (
+ # quadrant, tooth, old_notation, static_string)
+
+ if "TM" in static_string or "UE" in static_string:
+ return False
+
+ if quadrant > 4:
+ if self._is_deciduous(quadrant-4, tooth):
+ result = True
+ else:
+ result = False
+ else:
+ if self._is_deciduous(quadrant, tooth):
+ result = "+P" in static_string
+ else:
+ result = not "AT" in static_string
+
+ return result
+
+ def _is_deciduous(self, quadrant, tooth):
+ '''
+ chart - returns True if the tooth is present.
+ '''
+ if quadrant == 1:
+ att = self.pt.dent0
+ elif quadrant == 2:
+ att = self.pt.dent1
+ elif quadrant == 3:
+ att = self.pt.dent2
+ elif quadrant == 4:
+ att = self.pt.dent3
+ else:
+ return False
+
+ array = dec_perm.fromSignedByte(att)
+ if quadrant in (2,4):
+ array = list(reversed(array))
+ return array[tooth-1] == "1"
+
+ @property
+ def bpe(self):
+ '''
+ bpe
+ '''
+ if "bpe" in self.exclusions:
+ return ""
+ try:
+ return self.pt.bpe[-1][1]
+ except IndexError:
+ return ""
+
+ @property
+ def common_codes(self):
+ '''
+ looks for exams, perio, small xrays and special trays.
+ counts these items.
+ '''
+ if "tx" in self.exclusions:
+ return {}
+
+ items = {}
+
+ if self.pt.under_capitation:
+ allowed_claim_codes = CAPITATION_SIMPLE
+ else:
+ allowed_claim_codes = CONTINUING_CARE_SIMPLE
+
+ for item in self.pt.nhs_claims:
+ if item.itemcode in allowed_claim_codes:
+ try:
+ items[item.itemcode] += item.number
+ except KeyError:
+ items[item.itemcode] = item.number
+ return items
+
+ @property
+ def simple_codes(self):
+ if "tx" in self.exclusions:
+ return []
+
+ return []
+
+ @property
+ def complex_codes(self):
+ if "tx" in self.exclusions:
+ return []
+
+ if self.testing_mode:
+ return test_complex_codes
+ else:
+ return []
+
+ @property
+ def tooth_specific_codes(self):
+ if "tx" in self.exclusions:
+ return {}
+
+ ts_items = {}
+
+ allowed_claim_codes = TOOTH_SPECIFIC_CODES
+
+ #iterate over the estimates
+ for item in self.pt.nhs_claims:
+ if item.itemcode in allowed_claim_codes:
+ for hash_ in item.tx_hashes:
+ att, tx = self.pt.get_tx_from_hash(hash_)
+ iso_tooth = convert_tooth(att)
+ if iso_tooth is None:
+ LOGGER.error(
+ "GP17 IGNORING itemcode %s as not tooth specific?"%
+ item.itemcode)
+ continue
+ try:
+ ts_items[item.itemcode].append(iso_tooth)
+ except KeyError:
+ ts_items[item.itemcode] = [iso_tooth]
+ return ts_items
+
+ return []
+
+
+if __name__ == "__main__":
+ data = Gp17Data(testing_mode=True)
+
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17_front.py b/src/openmolar/qt4gui/printing/gp17/gp17_front.py
new file mode 100644
index 0000000..b9a633a
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17_front.py
@@ -0,0 +1,512 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17(Scotland) NHS form
+'''
+import os
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.backports.printed_form import PrintedForm
+from openmolar.qt4gui.printing.gp17.gp17_config import gp17config
+
+TEXTBOX_WIDTH = 16
+TEXTBOX_HEIGHT = 21
+
+CB_WIDTH = 16
+CB_HEIGHT = 16
+
+
+teeth_x = [ 50,92,133,173,216,256,300,342, 394,434,474,516,560,599,640,681]
+
+RECTS = {}
+
+#upper teeth
+for i,x in enumerate(teeth_x):
+ RECTS["upper%da"% (i+1)] = QtCore.QRectF(x, 355, 32, CB_HEIGHT)
+ RECTS["upper%db"% (i+1)] = QtCore.QRectF(x, 382, 32, CB_HEIGHT)
+ RECTS["upper%dc"% (i+1)] = QtCore.QRectF(x, 409, 32, CB_HEIGHT)
+ RECTS["lower%da"% (i+1)] = QtCore.QRectF(x, 485, 32, CB_HEIGHT)
+ RECTS["lower%db"% (i+1)] = QtCore.QRectF(x, 511, 32, CB_HEIGHT)
+ RECTS["lower%dc"% (i+1)] = QtCore.QRectF(x, 538, 32, CB_HEIGHT)
+
+
+#row1
+xs = [80, 100, 175, 195, 292, 312, 383, 403, 439, 460, 481, 501, 532, 552, 578, 596]
+ys= [594, 627, 661, 694, 727, 760, 794, 828, 860, 894, 927, 961, 994, 1028]
+
+#column 1
+RECTS["0101"] = QtCore.QRectF(xs[0], ys[0], CB_WIDTH, CB_HEIGHT)
+RECTS["0111"] = QtCore.QRectF(xs[0], ys[1], CB_WIDTH, CB_HEIGHT)
+RECTS["0121"] = QtCore.QRectF(xs[0], ys[2], CB_WIDTH, CB_HEIGHT)
+#skips a row
+RECTS["2730"] = QtCore.QRectF(xs[0], ys[4], CB_WIDTH, CB_HEIGHT)
+RECTS["2731"] = QtCore.QRectF(xs[0], ys[5], CB_WIDTH, CB_HEIGHT)
+RECTS["2732"] = QtCore.QRectF(xs[0], ys[6], CB_WIDTH, CB_HEIGHT)
+
+RECTS["2733a"] = QtCore.QRectF(xs[0], ys[7], CB_WIDTH, CB_HEIGHT)
+RECTS["2733b"] = QtCore.QRectF(xs[1], ys[7], CB_WIDTH, CB_HEIGHT)
+
+RECTS["2735a"] = QtCore.QRectF(xs[0], ys[8], CB_WIDTH, CB_HEIGHT)
+RECTS["2735b"] = QtCore.QRectF(xs[1], ys[8], CB_WIDTH, CB_HEIGHT)
+
+RECTS["2801"] = QtCore.QRectF(xs[0], ys[9], CB_WIDTH, CB_HEIGHT)
+RECTS["2802"] = QtCore.QRectF(xs[0], ys[10], CB_WIDTH, CB_HEIGHT)
+RECTS["2771"] = QtCore.QRectF(xs[0], ys[11], CB_WIDTH, CB_HEIGHT)
+RECTS["2772"] = QtCore.QRectF(xs[0], ys[12], CB_WIDTH, CB_HEIGHT)
+RECTS["2738"] = QtCore.QRectF(xs[0], ys[13], CB_WIDTH, CB_HEIGHT)
+
+
+RECTS["0201a"] = QtCore.QRectF(xs[2], ys[0], CB_WIDTH, CB_HEIGHT)
+RECTS["0201b"] = QtCore.QRectF(xs[3], ys[0], CB_WIDTH, CB_HEIGHT)
+
+RECTS["0204a"] = QtCore.QRectF(xs[2], ys[1], CB_WIDTH, CB_HEIGHT)
+RECTS["0204b"] = QtCore.QRectF(xs[3], ys[1], CB_WIDTH, CB_HEIGHT)
+
+RECTS["0211"] = QtCore.QRectF(xs[2], ys[2], CB_WIDTH, CB_HEIGHT)
+RECTS["1700"] = QtCore.QRectF(xs[2], ys[4], CB_WIDTH, CB_HEIGHT)
+RECTS["1716a"] = QtCore.QRectF(xs[2], ys[5], CB_WIDTH, CB_HEIGHT)
+RECTS["1716b"] = QtCore.QRectF(xs[3], ys[5], CB_WIDTH, CB_HEIGHT)
+RECTS["1721a"] = QtCore.QRectF(xs[2], ys[6], CB_WIDTH, CB_HEIGHT)
+RECTS["1721b"] = QtCore.QRectF(xs[3], ys[6], CB_WIDTH, CB_HEIGHT)
+RECTS["1732a"] = QtCore.QRectF(xs[2], ys[7], CB_WIDTH, CB_HEIGHT)
+RECTS["1732b"] = QtCore.QRectF(xs[3], ys[7], CB_WIDTH, CB_HEIGHT)
+RECTS["1734a"] = QtCore.QRectF(xs[2], ys[8], CB_WIDTH, CB_HEIGHT)
+RECTS["1734b"] = QtCore.QRectF(xs[3], ys[8], CB_WIDTH, CB_HEIGHT)
+RECTS["1782a"] = QtCore.QRectF(xs[2], ys[9], CB_WIDTH, CB_HEIGHT)
+RECTS["1782b"] = QtCore.QRectF(xs[3], ys[9], CB_WIDTH, CB_HEIGHT)
+RECTS["1600"] = QtCore.QRectF(xs[2], ys[11], CB_WIDTH, CB_HEIGHT)
+RECTS["1601"] = QtCore.QRectF(xs[2], ys[12], CB_WIDTH, CB_HEIGHT)
+
+
+RECTS["1001"] = QtCore.QRectF(xs[4], ys[0], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1011"] = QtCore.QRectF(xs[4], ys[1], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1021a"] = QtCore.QRectF(xs[4], ys[2], CB_WIDTH, CB_HEIGHT)
+RECTS["1021b"] = QtCore.QRectF(xs[5], ys[2], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1022"] = QtCore.QRectF(xs[4], ys[3], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1501a"] = QtCore.QRectF(xs[4], ys[5], CB_WIDTH, CB_HEIGHT)
+RECTS["1501b"] = QtCore.QRectF(xs[5], ys[5], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1502a"] = QtCore.QRectF(xs[4], ys[6], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1503a"] = QtCore.QRectF(xs[4], ys[7], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1504a"] = QtCore.QRectF(xs[4], ys[8], CB_WIDTH, CB_HEIGHT)
+RECTS["1504b"] = QtCore.QRectF(xs[5], ys[8], CB_WIDTH, CB_HEIGHT)
+
+RECTS["3611a"] = QtCore.QRectF(xs[4], ys[10], CB_WIDTH, CB_HEIGHT)
+RECTS["3611b"] = QtCore.QRectF(xs[5], ys[10], CB_WIDTH, CB_HEIGHT)
+
+RECTS["3631"] = QtCore.QRectF(xs[4], ys[11], CB_WIDTH, CB_HEIGHT)
+
+RECTS["3701"] = QtCore.QRectF(xs[4], ys[12], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1401a"] = QtCore.QRectF(xs[6], ys[0], CB_WIDTH, CB_HEIGHT)
+RECTS["1401b"] = QtCore.QRectF(xs[7], ys[0], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1402a"] = QtCore.QRectF(xs[6], ys[1], CB_WIDTH, CB_HEIGHT)
+RECTS["1402b"] = QtCore.QRectF(xs[7], ys[1], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1403a"] = QtCore.QRectF(xs[6], ys[2], CB_WIDTH, CB_HEIGHT)
+RECTS["1403b"] = QtCore.QRectF(xs[7], ys[2], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1404a"] = QtCore.QRectF(xs[6], ys[3], CB_WIDTH, CB_HEIGHT)
+RECTS["1404b"] = QtCore.QRectF(xs[7], ys[3], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1421a"] = QtCore.QRectF(xs[6], ys[4], CB_WIDTH, CB_HEIGHT)
+RECTS["1421b"] = QtCore.QRectF(xs[7], ys[4], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1420a"] = QtCore.QRectF(xs[6], ys[5], CB_WIDTH, CB_HEIGHT)
+RECTS["1420b"] = QtCore.QRectF(xs[7], ys[5], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1422a"] = QtCore.QRectF(xs[6], ys[6], CB_WIDTH, CB_HEIGHT)
+RECTS["1422b"] = QtCore.QRectF(xs[7], ys[6], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1423a"] = QtCore.QRectF(xs[6], ys[7], CB_WIDTH, CB_HEIGHT)
+RECTS["1423b"] = QtCore.QRectF(xs[7], ys[7], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1426a"] = QtCore.QRectF(xs[6], ys[8], CB_WIDTH, CB_HEIGHT)
+RECTS["1426b"] = QtCore.QRectF(xs[7], ys[8], CB_WIDTH, CB_HEIGHT)
+
+RECTS["1431a"] = QtCore.QRectF(xs[6], ys[9], CB_WIDTH, CB_HEIGHT)
+RECTS["1431b"] = QtCore.QRectF(xs[7], ys[9], CB_WIDTH, CB_HEIGHT)
+
+RECTS["2101a"] = QtCore.QRectF(xs[6], ys[11], CB_WIDTH, CB_HEIGHT)
+RECTS["2101b"] = QtCore.QRectF(xs[7], ys[11], CB_WIDTH, CB_HEIGHT)
+
+RECTS["2121a"] = QtCore.QRectF(xs[6], ys[12], CB_WIDTH, CB_HEIGHT)
+RECTS["2121b"] = QtCore.QRectF(xs[7], ys[12], CB_WIDTH, CB_HEIGHT)
+
+
+
+RECTS["4401a"] = QtCore.QRectF(xs[10], ys[0], CB_WIDTH, CB_HEIGHT)
+RECTS["4401b"] = QtCore.QRectF(xs[11], ys[0], CB_WIDTH, CB_HEIGHT)
+
+RECTS["4402a"] = QtCore.QRectF(xs[10], ys[1], CB_WIDTH, CB_HEIGHT)
+RECTS["4402b"] = QtCore.QRectF(xs[11], ys[1], CB_WIDTH, CB_HEIGHT)
+
+RECTS["4403a"] = QtCore.QRectF(xs[14], ys[0], CB_WIDTH, CB_HEIGHT)
+RECTS["4403b"] = QtCore.QRectF(xs[15], ys[0], CB_WIDTH, CB_HEIGHT)
+
+RECTS["4404a"] = QtCore.QRectF(xs[14], ys[1], CB_WIDTH, CB_HEIGHT)
+RECTS["4404b"] = QtCore.QRectF(xs[15], ys[1], CB_WIDTH, CB_HEIGHT)
+
+
+#dentists use only
+RECTS["DENTIST_USE_pound"] = QtCore.QRectF(634, ys[0], 48, 410)
+RECTS["DENTIST_USE_pence"] = QtCore.QRectF(688, ys[0], 30, 410)
+
+for i in range(1,10):
+ RECTS["other%dA"% i] = QtCore.QRectF(
+ xs[8], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["other%dB"% i] = QtCore.QRectF(
+ xs[9], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["other%dC"% i] = QtCore.QRectF(
+ xs[10], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["other%dD"% i] = QtCore.QRectF(
+ xs[11], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["other%da"% i] = QtCore.QRectF(
+ xs[12], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["other%db"% i] = QtCore.QRectF(
+ xs[13], ys[2+i], CB_WIDTH, CB_HEIGHT)
+ RECTS["free_replace%d"% i] = QtCore.QRectF(
+ xs[15], ys[2+i], CB_WIDTH, CB_HEIGHT)
+
+
+RECTS["4600a"] = QtCore.QRectF(xs[14], ys[12], CB_WIDTH, CB_HEIGHT)
+RECTS["4600b"] = QtCore.QRectF(xs[15], ys[12], CB_WIDTH, CB_HEIGHT)
+
+RECTS["radiographs"] = QtCore.QRectF(229, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["models"] = QtCore.QRectF(359, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["trauma"] = QtCore.QRectF(460, ys[13], CB_WIDTH, CB_HEIGHT)
+
+RECTS["TOTAL1"] = QtCore.QRectF(602, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["TOTAL2"] = QtCore.QRectF(622, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["TOTAL3"] = QtCore.QRectF(642, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["TOTAL4"] = QtCore.QRectF(662, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["TOTAL5"] = QtCore.QRectF(684, ys[13], CB_WIDTH, CB_HEIGHT)
+RECTS["TOTAL6"] = QtCore.QRectF(702, ys[13], CB_WIDTH, CB_HEIGHT)
+
+##sname boxes
+PADDING = 3.1
+for i in range(14):
+ x = 94 + i * (TEXTBOX_WIDTH + PADDING)
+ y = 28
+ RECTS["surname_%02d"% i] = QtCore.QRectF(x,y,TEXTBOX_WIDTH,TEXTBOX_HEIGHT)
+
+##fname boxes
+for i in range(14):
+ x = 94 + i * (TEXTBOX_WIDTH + PADDING)
+ y = 60
+ RECTS["forename_%02d"% i] = QtCore.QRectF(x,y,TEXTBOX_WIDTH,TEXTBOX_HEIGHT)
+
+##dob
+for i, x in enumerate([66,85,123,142,180,199,217,236]):
+ RECTS["dob_%d"% i] = QtCore.QRectF(x, 93 ,TEXTBOX_WIDTH,TEXTBOX_HEIGHT)
+
+##sex
+RECTS["male"] = QtCore.QRectF(304, 93, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+RECTS["female"] = QtCore.QRectF(341, 93, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+
+## patient identifier
+for i, x in enumerate([133,152,171,198,217,236,255,274,293,312]):
+ RECTS["pid_%d"% i] = QtCore.QRectF(x, 124 ,TEXTBOX_WIDTH,TEXTBOX_HEIGHT)
+
+## previous sname
+for i, x in enumerate([133,152,171,190,209,228,247,266,286,305,324,343]):
+ RECTS["psn_%d"% i] = QtCore.QRectF(x, 157 ,TEXTBOX_WIDTH,TEXTBOX_HEIGHT)
+
+##dentists stamp box
+RECTS["stampbox"] = QtCore.QRectF(426, 42, 292, 132)
+
+##address
+for i, x in enumerate(range(16, 340, 19)):
+ RECTS["addr1_%02d"% i] = QtCore.QRectF(x, 216, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+ RECTS["addr2_%02d"% i] = QtCore.QRectF(x, 244, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+ RECTS["addr3_%02d"% i] = QtCore.QRectF(x, 272, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+
+##postcode
+for i, x in enumerate((92,111,130,149,187,206,225)):
+ RECTS["pcde_%d"% i] = QtCore.QRectF(x, 304, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+
+##accept date and completiondate
+for i, x in enumerate((540,560,591,609,640,659,678,697)):
+ RECTS["accd_%d"% i] = QtCore.QRectF(x, 185, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+ RECTS["cmpd_%d"% i] = QtCore.QRectF(x, 219, TEXTBOX_WIDTH, TEXTBOX_HEIGHT)
+
+##treatmentonReferral/specialNeeds/registration
+RECTS["on_referral"] = QtCore.QRectF(697, 260, CB_WIDTH, CB_HEIGHT)
+RECTS["special_needs"] = QtCore.QRectF(697, 290, CB_WIDTH, CB_HEIGHT)
+RECTS["not_extending"] = QtCore.QRectF(697, 316, CB_WIDTH, CB_HEIGHT)
+
+OPTION = QtGui.QTextOption(QtCore.Qt.AlignCenter|QtCore.Qt.AlignVCenter)
+
+class GP17Front(PrintedForm):
+ '''
+ a class to set up and print a GP17
+ '''
+ NAME = "OLD GP17 Front"
+ data = None
+ _bg_pixmap = None
+
+ def __init__(self):
+ PrintedForm.__init__(self)
+ self.row = 1
+ self.rects = RECTS
+
+ @classmethod
+ def is_active(self):
+ if "neil" in os.path.expanduser("~"):
+ return False
+ return QtCore.QDate.currentDate() < QtCore.QDate(2013,7,1)
+
+ def set_data(self, data):
+ self.data = data
+
+ @property
+ def BACKGROUND_IMAGE(self):
+ if self._bg_pixmap is None:
+ self._bg_pixmap = QtGui.QPixmap(os.path.join(
+ localsettings.resources_location, "gp17", "front.jpg"))
+ return self._bg_pixmap
+
+ def print_(self):
+ self.set_offset(gp17config.OFFSET_LEFT, gp17config.OFFSET_TOP)
+ self.set_scaling(gp17config.SCALE_X, gp17config.SCALE_Y)
+
+ painter = PrintedForm.print_(self)
+ self._fill(painter)
+
+ def _fill(self, painter):
+ if self.data is None:
+ return
+
+ serifFont = QtGui.QFont("Courier", 12)
+ serifFont.setBold(True)
+ fm=QtGui.QFontMetrics(serifFont)
+ serifLineHeight = fm.height()
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.black,1))
+ painter.setFont(serifFont)
+
+ for func_ in (
+ self._fill_surname,
+ self._fill_forename,
+ self._fill_dob,
+ self._fill_sex,
+ self._fill_pid,
+ self._fill_accd,
+ self._fill_cmpd,
+ self._fill_misc_cbs,
+ self._fill_stampbox,
+ self._fill_previous_surname,
+ self._fill_address,
+ self._fill_simple_codes,
+ self._fill_complex_codes
+ ):
+
+ painter.save()
+ #painter.translate(self.off_set)
+ func_(painter)
+ painter.restore()
+
+ def _fill_surname(self, painter):
+ for i in range(14):
+ rect = self.rects["surname_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.pt.sname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_forename(self, painter):
+ for i in range(14):
+ rect = self.rects["forename_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.pt.fname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_dob(self, painter):
+ for i in range(8):
+ rect = self.rects["dob_%d"% i]
+ try:
+ painter.drawText(rect, self.data.dob[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_sex(self, painter):
+ sex = self.data.pt.sex
+ if sex=="M":
+ painter.drawText(self.rects["male"], "M", OPTION)
+ elif sex=="F":
+ painter.drawText(self.rects["female"],"F", OPTION)
+ else:
+ print "UNKNOWN SEX for GP17!"
+
+ def _fill_pid(self, painter):
+ for i in range(10):
+ rect = self.rects["pid_%d"% i]
+ try:
+ painter.drawText(rect, self.data.identifier[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_previous_surname(self, painter):
+ for i in range(10):
+ rect = self.rects["psn_%d"% i]
+ try:
+ painter.drawText(rect, self.data.previous_sname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_stampbox(self, painter):
+ painter.drawText(self.rects["stampbox"], self.data.stamp_text)
+
+ def _fill_address(self, painter):
+ for i in range(18):
+ rect = self.rects["addr1_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr1[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(18):
+ rect = self.rects["addr2_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr2[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(18):
+ rect = self.rects["addr3_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr3[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(7):
+ rect = self.rects["pcde_%d"% i]
+ try:
+ painter.drawText(rect, self.data.pcde[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_accd(self, painter):
+ for i in range(8):
+ rect = self.rects["accd_%d"% i]
+ try:
+ painter.drawText(rect, self.data.accd[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_cmpd(self, painter):
+ for i in range(8):
+ rect = self.rects["cmpd_%d"% i]
+ try:
+ painter.drawText(rect, self.data.cmpd[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_misc_cbs(self, painter):
+ for key in ["on_referral", "not_extending", "special_needs","on_referral",
+ "radiographs","models","trauma"]:
+ if self.data.misc_dict.get(key, False):
+ rect = self.rects[key]
+ painter.drawText(rect, "X", OPTION)
+
+ def _fill_simple_codes(self, painter):
+ self.row = 1
+ def other_treatment():
+
+ painter.drawText(self.rects["other%dA"% self.row], code[0], OPTION)
+ painter.drawText(self.rects["other%dB"% self.row], code[1], OPTION)
+ painter.drawText(self.rects["other%dC"% self.row], code[2], OPTION)
+ painter.drawText(self.rects["other%dD"% self.row], code[3], OPTION)
+ painter.drawText(self.rects["other%da"% self.row], "0", OPTION)
+ painter.drawText(self.rects["other%db"% self.row], "1", OPTION)
+ self.row += 1
+
+ for code in self.data.simple_codes:
+ try:
+ painter.drawText(self.rects[code], "X", OPTION)
+ except KeyError:
+ other_treatment()
+
+ def _fill_complex_codes(self, painter):
+ def other_treatment():
+
+ painter.drawText(self.rects["other%dA"% self.row], code.code[0], OPTION)
+ painter.drawText(self.rects["other%dB"% self.row], code.code[1], OPTION)
+ painter.drawText(self.rects["other%dC"% self.row], code.code[2], OPTION)
+ painter.drawText(self.rects["other%dD"% self.row], code.code[3], OPTION)
+ n = "%02d"% code.number
+ painter.drawText(self.rects["other%da"% self.row], n[0], OPTION)
+ painter.drawText(self.rects["other%db"% self.row], n[1], OPTION)
+
+ if code.free_replace:
+ painter.drawText(self.rects["free_replace%d"% self.row], "X", OPTION)
+ self.row += 1
+
+ for code in self.data.complex_codes:
+ if code.free_replace:
+ other_treatment()
+ continue
+ try:
+ n = "%02d"% code.number
+ painter.drawText(self.rects["%sa"% code.code], n[0], OPTION)
+ painter.drawText(self.rects["%sb"% code.code], n[1], OPTION)
+ except KeyError:
+ other_treatment()
+
+
+if __name__ == "__main__":
+ os.chdir(os.path.expanduser("~")) # for print to file
+ from openmolar.settings import localsettings
+ from openmolar.qt4gui.printing.gp17.gp17_data import Gp17Data
+
+ data = Gp17Data(testing_mode=True)
+ TEST_IMAGE = os.path.join(localsettings.resources_location, "gp17",
+ "front.jpg")
+
+ data = Gp17Data(testing_mode=True)
+
+ app = QtGui.QApplication([])
+ form = GP17Front()
+
+ form.set_data(data)
+
+ form.testing_mode = True
+
+ form.print_background = True
+ form.BACKGROUND_IMAGE = TEST_IMAGE
+
+ form.controlled_print()
+
+ #for key in sorted(form.rects.keys()):
+ # print key,
+
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17_printer.py b/src/openmolar/qt4gui/printing/gp17/gp17_printer.py
new file mode 100644
index 0000000..f6ba2f9
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17_printer.py
@@ -0,0 +1,98 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17s
+Will raise dialogs etc to enable user choices.
+'''
+import os
+from PyQt4 import QtCore, QtGui
+
+from openmolar.qt4gui.dialogs.gp17_printdialog import GP17PrintDialog
+from openmolar.qt4gui.printing.om_printing import commitPDFtoDB
+
+class GP17Printer(object):
+ def __init__(self, om_gui):
+ self.om_gui = om_gui
+
+ def test_print(self):
+ self.print_(test=True)
+
+ def print_(self, final_paperwork=False, test=False):
+ '''
+ a GP17 is a scottish NHS form
+ if test=True you also get boxes printed on the form
+ (to check alignment)
+ '''
+
+ if final_paperwork:
+ result = QtGui.QMessageBox.question(self.om_gui,
+ _("Question"),
+ _("Print an NHS form now?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+ if result == QtGui.QMessageBox.No:
+ return
+
+ if test: #self.om_gui.pt.serialno == 0:
+ pt = None
+ else:
+ pt = self.om_gui.pt
+ dl = GP17PrintDialog(pt, self.om_gui)
+
+ dl.choose_form_widget.boxes_checkbox.setChecked(test)
+ #chosenDent = str(dl.dents_comboBox.currentText())
+ #dent = localsettings.ops_reverse.get(chosenDent)
+ #form = GP17.gp17(self.om_gui.pt, dent, self.om_gui, test)
+ if dl.exec_():
+ for Form in dl.chosen_forms:
+ form = Form()
+ form.set_data(dl.data)
+ form.printer.setDocName(form.NAME)
+ form.set_testing_mode(dl.print_boxes)
+ form.set_background_mode(dl.print_background)
+ if form.controlled_print() and not test:
+ commitPDFtoDB(self.om_gui, form.NAME)
+
+ self.om_gui.pt.addHiddenNote(
+ "printed", "%s %s"% (form.NAME, dl.dent_inits))
+ self.om_gui.updateHiddenNotesLabel()
+
+
+if __name__ == "__main__":
+ from openmolar.settings import localsettings
+ from openmolar.qt4gui import maingui
+ from openmolar.dbtools import patient_class
+
+ os.chdir(os.path.expanduser("~")) #for save pdf
+
+ localsettings.initiate()
+ localsettings.station="reception" #prevent no clinician popup
+
+ app = QtGui.QApplication([])
+
+ om_gui = maingui.OpenmolarGui()
+
+ om_gui.pt = patient_class.patient(2981)
+
+ p = GP17Printer(om_gui)
+ p.test_print()
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17v1_back.py b/src/openmolar/qt4gui/printing/gp17/gp17v1_back.py
new file mode 100644
index 0000000..e284db4
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17v1_back.py
@@ -0,0 +1,140 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17-1(Scotland) NHS form (back side)
+'''
+import os
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.backports.printed_form import PrintedForm
+from openmolar.qt4gui.printing.gp17.gp17_config import gp17config
+
+# size of a box for a text field (ie character)
+T_BOX = QtCore.QRectF(0,0, 15, 16)
+# size of a box for an X (ie check box)
+C_BOX = QtCore.QRectF(0,0, 14, 14)
+
+RECTS = {}
+
+x = 334
+
+RECTS["reg_continue"] = C_BOX.translated(x, 196)
+RECTS["reg_another_dentist"] = C_BOX.translated(x, 218)
+RECTS["reg_another_practice"] = C_BOX.translated(x, 240)
+RECTS["no_reg"] = C_BOX.translated(x, 260)
+RECTS["referred"] = C_BOX.translated(x, 280)
+
+RECTS["pay_charges"] = C_BOX.translated(x, 330)
+RECTS["HC3"] = C_BOX.translated(x, 372)
+RECTS["HC3_number"] = QtCore.QRectF(200, 369, 118, 30)
+
+RECTS["4b_patient"] = C_BOX.translated(102, 408)
+RECTS["4b_guardian"] = C_BOX.translated(x, 408)
+
+RECTS["4c_patient"] = C_BOX.translated(104, 934)
+RECTS["4c_guardian"] = C_BOX.translated(x, 934)
+
+RECTS["8_patient"] = C_BOX.translated(455, 940)
+RECTS["8_guardian"] = C_BOX.translated(684, 940)
+
+RECTS["under_18"] = C_BOX.translated(x, 556)
+RECTS["student"] = C_BOX.translated(x, 575)
+RECTS["pregnant"] = C_BOX.translated(x, 594)
+RECTS["nursing"] = C_BOX.translated(x, 613)
+RECTS["income_related_employment_support"] = C_BOX.translated(x, 646)
+RECTS["income_support"] = C_BOX.translated(x, 665)
+RECTS["job_seekers"] = C_BOX.translated(x, 684)
+RECTS["unused"] = C_BOX.translated(x, 703)
+
+RECTS["pension credit"] = C_BOX.translated(x, 744)
+RECTS["tax credit"] = C_BOX.translated(x, 763)
+
+RECTS["HC2"] = C_BOX.translated(x, 872)
+RECTS["HC2_number"] = QtCore.QRectF(200, 872, 118, 32)
+
+RECTS["no_evidence"] = C_BOX.translated(x, 913)
+
+RECTS["observations"] = QtCore.QRectF(384, 210, 320, 328)
+
+for i, x in enumerate([610,627,644,670,687]):
+ RECTS["paid_%02d"%i] = T_BOX.translated(x, 784)
+
+class GP17iBack(PrintedForm):
+ '''
+ a class to set up and print a GP17 (tooth specific version)
+ '''
+ NAME = "GP17(1) Back"
+ data = None
+ _bg_pixmap = None
+
+ def __init__(self):
+ PrintedForm.__init__(self)
+ self.rects = RECTS
+
+ @classmethod
+ def is_active(self):
+ #return QtCore.QDate.currentDate() >= QtCore.QDate(2013,7,1)
+ return False
+
+ def set_data(self, data):
+ self.data = data
+
+ @property
+ def BACKGROUND_IMAGE(self):
+ if self._bg_pixmap is None:
+ self._bg_pixmap = QtGui.QPixmap(os.path.join(
+ localsettings.resources_location, "gp17-1", "back.png"))
+ return self._bg_pixmap
+
+ def print_(self):
+ self.set_offset(
+ gp17config.GP17iback_OFFSET_LEFT, gp17config.GP17iback_OFFSET_TOP)
+ self.set_scaling(
+ gp17config.GP17iback_SCALE_X, gp17config.GP17iback_SCALE_Y)
+
+ painter = PrintedForm.print_(self)
+ self._fill(painter)
+
+ def _fill(self, painter):
+ if self.data is None:
+ return
+
+
+if __name__ == "__main__":
+ os.chdir(os.path.expanduser("~")) # for print to file
+ from openmolar.settings import localsettings
+ TEST_IMAGE = os.path.join(localsettings.resources_location,
+ "gp17-1", "back.png")
+
+ app = QtGui.QApplication([])
+ form = GP17iBack()
+
+ form.testing_mode = True
+
+ form.print_background = True
+ form.BACKGROUND_IMAGE = TEST_IMAGE
+
+ form.controlled_print()
+
diff --git a/src/openmolar/qt4gui/printing/gp17/gp17v1_front.py b/src/openmolar/qt4gui/printing/gp17/gp17v1_front.py
new file mode 100644
index 0000000..e880d1c
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/gp17/gp17v1_front.py
@@ -0,0 +1,465 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011, Neil Wallace <rowinggolfer at googlemail.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+Provides a Class for printing the GP17-1(Scotland) NHS form (front side)
+'''
+import os
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+from openmolar.backports.printed_form import PrintedForm
+from openmolar.qt4gui.printing.gp17.gp17_config import gp17config
+
+TEXTBOX_WIDTH = 15
+PADDING = 2.5
+
+RECTS = {}
+
+# size of a box for a text field (ie character)
+T_BOX = QtCore.QRectF(0,0, TEXTBOX_WIDTH, 16)
+# size of a box for an X (ie check box)
+C_BOX = QtCore.QRectF(0,0, 14, 14)
+# box for charting
+CHART_BOX = QtCore.QRectF(0,0, 13, 8)
+# box for shading in
+S_BOX = QtCore.QRectF(0,0, 8, 10)
+
+
+##sname boxes
+pcde_box = 0
+for i in range(14):
+ x = 96 + i * (TEXTBOX_WIDTH + PADDING)
+
+ RECTS["surname_%02d"% i] = T_BOX.translated(x,69)
+ RECTS["forename_%02d"% i] = T_BOX.translated(x,95)
+ RECTS["addr1_%02d"% i] = T_BOX.translated(x, 198)
+ RECTS["addr2_%02d"% i] = T_BOX.translated(x, 224)
+ RECTS["addr3_%02d"% i] = T_BOX.translated(x, 248)
+
+ if i < 10:
+ RECTS["chi_%02d"% i] = T_BOX.translated(x, 148)
+ if 1 < i < 14:
+ RECTS["prev_sno_%02d"% (i-2)] = T_BOX.translated(x, 175)
+ if i in (0,1,2,3,5,6,7):
+ RECTS["pcde_%d"% pcde_box] = T_BOX.translated(x, 270)
+ pcde_box += 1
+
+##dob
+for i, x in enumerate([66,84, 118,136,174,192,208,224]):
+ y = 121
+ RECTS["dob_%d"% i] = T_BOX.translated(x, y )
+
+##sex
+RECTS["male"] = T_BOX.translated(291, y)
+RECTS["female"] = T_BOX.translated(324, y)
+
+##dentists stamp box
+RECTS["stampbox"] = QtCore.QRectF(440, 72, 272, 124)
+
+for i, x in enumerate([544,562, 594,612, 643,661,679,697]):
+ RECTS["accd_%02d"% i] = T_BOX.translated(x, 202)
+ RECTS["cmpd_%02d"% i] = T_BOX.translated(x, 232)
+
+for i, x in enumerate([552,570,588, 656,674,692]):
+ RECTS["bpe_%02d"% i] = T_BOX.translated(x, 268)
+
+
+left_x, right_x = 548, 696
+for i, y in enumerate([302,340,360,380,408,432,452]):
+ field = (
+ "special_needs", "0111", "1011", "2772",
+ "advice", "models", "trauma")[i]
+
+ RECTS[field] = C_BOX.translated(right_x, y)
+
+ if i == 0:
+ pass
+ elif i == 4:
+ RECTS["rad_01"] = C_BOX.translated(left_x-18, y)
+ RECTS["rad_02"] = C_BOX.translated(left_x, y)
+ elif i == 6:
+ RECTS["ref_01"] = C_BOX.translated(left_x-18, y)
+ RECTS["ref_02"] = C_BOX.translated(left_x, y)
+ else:
+ field = (
+ None, "0101", "1001", "2771",
+ None, "rads_available", None )[i]
+
+ RECTS[field] = C_BOX.translated(left_x, y)
+
+
+#chart
+for quadrant in range(1, 5):
+ y = 356 if quadrant < 3 else 370
+ if quadrant in (2,3):
+ x_offset = 206
+ t_range = range(1,9) #Left teeth are in left to right order
+ else:
+ x_offset = 58
+ t_range = range(8,0, -1) #reverse for the right side
+ for i, toothno in enumerate(t_range):
+ tooth = "chart_%s%s"% (quadrant, toothno)
+ x = i * 17.5 + x_offset
+ RECTS[tooth] = CHART_BOX.translated(x, y)
+
+for quadrant in range(5, 9):
+ y = 344 if quadrant < 7 else 382
+ if quadrant in (6,7):
+ x_offset = 206
+ t_range = range(1,6) #Left teeth are in left to right order
+ else:
+ x_offset = 112
+ t_range = range(5,0, -1) #reverse for the right side
+ for i, toothno in enumerate(t_range):
+ tooth = "chart_%s%s"% (quadrant, toothno)
+ x = i * 17.5 + x_offset
+ RECTS[tooth] = CHART_BOX.translated(x, y)
+
+
+RECTS["refused"] = C_BOX.translated(696, 902)
+RECTS["pftr"] = C_BOX.translated(696, 930)
+
+for row in range(9):
+ y = 544 + row*25
+ for i, x in enumerate([554,572,590,608,634,652]):
+ RECTS["other%s_%02d"% (row, i)] = T_BOX.translated(x, y)
+ RECTS["other_replacement_%02d"% row] = T_BOX.translated(696, y)
+
+for i, x in enumerate([442, 460, 494, 512, 543, 561, 579, 597]):
+ RECTS["dentist_sigdate_%02d"% i] = T_BOX.translated(x, 1014)
+
+for i, x in enumerate([600,618,636,654,680,698]):
+ RECTS["claim_total_%02d"% i] = T_BOX.translated(x, 772)
+
+
+# tooth specific item section
+for row in range(10):
+ y = 446 + row*61.5
+ for i, x in enumerate([22,40,58,76]):
+ RECTS["item%s_code%02d"% (row+1, i)] = T_BOX.translated(x, y)
+
+ RECTS["item%s_void"% (row+1)] = S_BOX.translated(82, y+24)
+
+ #item chart
+ for quadrant in range(1, 5):
+ ty = y+1 if quadrant < 3 else y+23
+ if quadrant in (2,3):
+ x_offset = 226
+ t_range = range(1,9) #Left teeth are in left to right order
+ else:
+ x_offset = 98
+ t_range = range(8,0, -1) #reverse for the right side
+ for i, toothno in enumerate(t_range):
+ tooth = "item%s_chart_%s%s"% (row+1, quadrant, toothno)
+ x = i * 15 + x_offset
+ RECTS[tooth] = S_BOX.translated(x, ty)
+
+OPTION = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+
+class GP17iFront(PrintedForm):
+ '''
+ a class to set up and print a GP17 (tooth specific version)
+ '''
+ NAME = "GP17(1) Front"
+ data = None
+ unhandled_ts_codes = []
+ unhandled_codes = []
+ _bg_pixmap = None
+
+ def __init__(self):
+ PrintedForm.__init__(self)
+ self.row = 1
+ self.rects = RECTS
+
+ @classmethod
+ def is_active(self):
+ return "neil" in os.path.expanduser("~") or \
+ QtCore.QDate.currentDate() >= QtCore.QDate(2013,7,1)
+
+ def set_data(self, data):
+ self.data = data
+ self.unhandled_ts_codes = []
+ self.unhandled_codes = []
+
+ @property
+ def BACKGROUND_IMAGE(self):
+ if self._bg_pixmap is None:
+ self._bg_pixmap = QtGui.QPixmap(os.path.join(
+ localsettings.resources_location, "gp17-1", "front.png"))
+ return self._bg_pixmap
+
+ def print_(self):
+ self.set_offset(
+ gp17config.GP17i_OFFSET_LEFT, gp17config.GP17i_OFFSET_TOP)
+ self.set_scaling(gp17config.GP17i_SCALE_X, gp17config.GP17i_SCALE_Y)
+
+ painter = PrintedForm.print_(self)
+ self._fill(painter)
+
+ def _fill(self, painter):
+ if self.data is None:
+ return
+
+ serifFont = QtGui.QFont("Courier", 12)
+ serifFont.setBold(True)
+ fm=QtGui.QFontMetrics(serifFont)
+ serifLineHeight = fm.height()
+
+ painter.setPen(QtGui.QPen(QtCore.Qt.black,1))
+ painter.setFont(serifFont)
+
+ for func_ in (
+ self._fill_surname,
+ self._fill_forename,
+ self._fill_dob,
+ self._fill_sex,
+ self._fill_pid,
+ self._fill_accd,
+ self._fill_cmpd,
+ self._fill_stampbox,
+ self._fill_previous_surname,
+ self._fill_address,
+ self._fill_charting,
+ self._fill_bpe,
+ #self._fill_misc_cbs,
+ self._fill_common_codes,
+ self._fill_tooth_specific_codes,
+ #self._fill_complex_codes
+ self._fill_unhandled_codes,
+ ):
+
+ painter.save()
+ #painter.translate(self.off_set)
+ func_(painter)
+
+ painter.restore()
+
+ def _fill_surname(self, painter):
+ for i in range(14):
+ rect = self.rects["surname_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.pt.sname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_forename(self, painter):
+ for i in range(14):
+ rect = self.rects["forename_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.pt.fname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_dob(self, painter):
+ for i in range(8):
+ rect = self.rects["dob_%d"% i]
+ try:
+ painter.drawText(rect, self.data.dob[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_sex(self, painter):
+ sex = self.data.pt.sex
+ if sex=="M":
+ painter.drawText(self.rects["male"], "M", OPTION)
+ elif sex=="F":
+ painter.drawText(self.rects["female"],"F", OPTION)
+ else:
+ print "UNKNOWN SEX for GP17!"
+
+ def _fill_pid(self, painter):
+ for i in range(10):
+ rect = self.rects["chi_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.identifier[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_previous_surname(self, painter):
+ for i in range(10):
+ rect = self.rects["prev_sno_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.previous_sname[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_stampbox(self, painter):
+ painter.drawText(self.rects["stampbox"], self.data.stamp_text)
+
+ def _fill_address(self, painter):
+ for i in range(14):
+ rect = self.rects["addr1_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr1[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(14):
+ rect = self.rects["addr2_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr2[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(14):
+ rect = self.rects["addr3_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.addr3[i], OPTION)
+ except IndexError:
+ break
+
+ for i in range(7):
+ rect = self.rects["pcde_%d"% i]
+ try:
+ painter.drawText(rect, self.data.pcde[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_accd(self, painter):
+ for i in range(8):
+ rect = self.rects["accd_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.accd[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_cmpd(self, painter):
+ for i in range(8):
+ rect = self.rects["cmpd_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.cmpd[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_charting(self, painter):
+ if not self.data.show_chart:
+ return
+ painter.save()
+ painter.setBrush(QtGui.QBrush(QtCore.Qt.black))
+ for quadrant in range(1,9):
+ for tooth in range(1,9):
+ if quadrant > 4 and tooth > 5:
+ continue
+ if not self.data.tooth_present(quadrant, tooth):
+ tooth_id = "%s%s"% (quadrant, tooth)
+ rect = self.rects["chart_%s"% tooth_id]
+ painter.drawRect(rect.adjusted(0,2,0,-2))
+ painter.restore()
+
+ def _fill_bpe(self, painter):
+ for i in range(6):
+ rect = self.rects["bpe_%02d"% i]
+ try:
+ painter.drawText(rect, self.data.bpe[i], OPTION)
+ except IndexError:
+ break
+
+ def _fill_misc_cbs(self, painter):
+ for key in ["on_referral", "not_extending", "special_needs","on_referral",
+ "radiographs","models","trauma"]:
+ if self.data.misc_dict.get(key, False):
+ rect = self.rects[key]
+ painter.drawText(rect, "X", OPTION)
+
+ def _fill_common_codes(self, painter):
+ '''
+ exams, perio, small xrays, special trays
+ '''
+ for code, number in self.data.common_codes.iteritems():
+ if code == "0201":
+ #small xrays could be multiple
+ n_string = "%02d"% number
+ try:
+ painter.drawText(
+ self.rects["rad_01"], n_string[0], OPTION)
+ painter.drawText(
+ self.rects["rad_02"], n_string[1], OPTION)
+ except KeyError:
+ print "unable to claim code %s"% code
+ else:
+ try:
+ painter.drawText(self.rects[code], "X", OPTION)
+ except KeyError:
+ print "unable to claim code %s"% code
+
+
+ def _fill_tooth_specific_codes(self, painter):
+ row = 1
+ for code, teeth in self.data.tooth_specific_codes.iteritems():
+ if row > 9:
+ self.unhandled_ts_codes.appen(code)
+ continue
+
+ for i in range(4):
+ painter.drawText(
+ self.rects["item%s_code%02d"% (row,i)], code[i], OPTION)
+
+ painter.save()
+ for tooth in teeth:
+ painter.setBrush(QtGui.QBrush(QtCore.Qt.black))
+ painter.drawRect(self.rects["item%s_chart_%s"% (row,tooth)])
+ painter.restore()
+
+ row += 1
+
+ def _fill_complex_codes(self, painter):
+
+ for code in self.data.complex_codes:
+ if code.free_replace:
+ other_treatment()
+ continue
+ try:
+ n = "%02d"% code.number
+ painter.drawText(self.rects["%sa"% code.code], n[0], OPTION)
+ painter.drawText(self.rects["%sb"% code.code], n[1], OPTION)
+ except KeyError:
+ other_treatment()
+
+
+ def _fill_unhandled_codes(self, painter):
+ for item in self.unhandled_ts_codes:
+ print "unhandled tooth specific code", item
+ for item in self.unhandled_codes:
+ print "unhandled item code", item
+
+if __name__ == "__main__":
+ os.chdir(os.path.expanduser("~")) # for print to file
+
+ from openmolar.qt4gui.printing.gp17.gp17_data import Gp17Data
+
+ data = Gp17Data(testing_mode=True)
+
+ app = QtGui.QApplication([])
+ form = GP17iFront()
+
+ form.set_data(data)
+
+ form.set_testing_mode(True)
+ form.set_background_mode(True)
+
+ form.controlled_print()
+
+ for key in sorted(form.rects.keys()):
+ #print key, form.rects[key]
+ pass
diff --git a/src/openmolar/qt4gui/printing/letterprint.py b/src/openmolar/qt4gui/printing/letterprint.py
new file mode 100644
index 0000000..837fb1f
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/letterprint.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui
+
+class letter():
+ def __init__(self,html):
+ self.html=html
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+
+ def printpage(self,askfirst=True):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if askfirst and not dialog.exec_():
+ return
+ document = QtGui.QTextDocument()
+ document.setHtml(self.html)
+ document.print_(self.printer)
+ return True
+
+if __name__ == "__main__":
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ form = letter('''<html><body>
+<h1>This is a Test of referralprint.py</h1>
+<p>I trust it worked?</p></body></html>''')
+ form.printpage(True) #show a dialog for testing purposes
+ app.exec_()
+
diff --git a/src/openmolar/qt4gui/printing/mh_print.py b/src/openmolar/qt4gui/printing/mh_print.py
new file mode 100644
index 0000000..9f48ba3
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/mh_print.py
@@ -0,0 +1,355 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2012-2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+
+from __future__ import division
+import datetime
+
+from PyQt4 import QtCore,QtGui
+
+from openmolar.settings import localsettings
+
+MARGIN_LEFT = 25
+MARGIN_RIGHT = 25
+MARGIN_TOP = 20
+MARGIN_BOTTOM = 30
+
+#alter this to print rectangles
+DEBUG = False
+
+class MHPrint(object):
+ '''
+ A class to print the MH form for a patient
+ '''
+ def __init__(self, pt, parent):
+ self.pt = pt
+ self.parent = parent
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+ col_width = 1
+
+ def print_(self):
+ '''
+ print the MH form
+ '''
+ def bold_on(bold=True):
+ font = painter.font()
+ font.setBold(bold)
+ painter.setFont(font)
+
+ def bold_off():
+ bold_on(False)
+
+ def print_line(y, left=0, colspan=12):
+ '''
+ print a rectangle
+ '''
+ bottom_y = y + line_height
+ left_point = QtCore.QPointF(MARGIN_LEFT + left*col_width, bottom_y)
+ right_point = QtCore.QPointF(
+ MARGIN_LEFT + (left +colspan) *col_width, bottom_y)
+ painter.drawLine(left_point, right_point)
+
+ def print_text(text, y, left=0, colspan=12, rowspan=1,
+ option=QtCore.Qt.AlignLeft):
+ '''
+ print the text in a box
+ '''
+ rect = QtCore.QRectF(
+ MARGIN_LEFT + left*col_width, y,
+ colspan*col_width-5, line_height * rowspan
+ )
+ if DEBUG:
+ painter.drawRect(rect)
+ text_option = QtGui.QTextOption(option|QtCore.Qt.AlignVCenter)
+ text_option.setWrapMode(text_option.NoWrap)
+ painter.drawText(rect, text, text_option)
+ return line_height*rowspan # so that y can be adjusted accordingly
+
+ dialog = QtGui.QPrintDialog(self.printer, self.parent)
+
+ if not dialog.exec_():
+ return
+
+ page_width = self.printer.pageRect().width() - (
+ MARGIN_LEFT + MARGIN_RIGHT)
+
+ #use a 12 column grid
+ col_width = page_width/12
+
+ painter = QtGui.QPainter(self.printer)
+ pen = QtGui.QPen(QtCore.Qt.black)
+ pen.setWidth(2)
+ painter.setPen(2)
+
+ font = QtGui.QFont("sans", 14)
+ font.setBold(True)
+ painter.setFont(font)
+
+ line_height = QtGui.QFontMetrics(painter.font()).height()
+ padding = line_height/6
+
+ y = MARGIN_TOP
+
+ for value in localsettings.MH_HEADER:
+ if not value:
+ continue
+
+ y += print_text(value, y, option=QtCore.Qt.AlignCenter)
+
+ print_line(y)
+
+ y += 2*line_height
+
+ painter.setFont(QtGui.QFont("sans", 9))
+ line_height = QtGui.QFontMetrics(painter.font()).height()
+ padding = line_height/3
+
+ print_text(str(self.pt.serialno), MARGIN_TOP, 11,1)
+
+ bold_on()
+
+ y += print_text(_("PLEASE CHECK/COMPLETE THESE DETAILS"), y)
+ y += padding
+ section_bottom = y
+
+
+ print_text(_("Address"), y, 0, colspan=2, option=QtCore.Qt.AlignRight)
+ bold_off()
+
+ for value in (
+ self.pt.name,
+ self.pt.addr1,
+ self.pt.addr2,
+ self.pt.addr3,
+ self.pt.town,
+ self.pt.county,
+ self.pt.pcde):
+ if value in (None, ""):
+ continue
+
+ y += print_text(value, y, 2, colspan=5)
+
+ y = section_bottom #move back up to print next rows
+
+ for field, value in (
+ (_("Date of Birth"), localsettings.formatDate(self.pt.dob)),
+ (_("Home tel"), self.pt.tel1),
+ (_("Work tel"), self.pt.tel2),
+ (_("Mobile"), self.pt.mobile),
+ (_("Email"), self.pt.email1),
+ (_("Alternate Email"), self.pt.email2),
+ ):
+ if (value in (None, "")
+ and field in (_("Work tel"),_("Alternate Email"))):
+ continue
+
+ bold_on()
+ print_text(field, y, 7, colspan=2, option=QtCore.Qt.AlignRight)
+ bold_off()
+ y += print_text(value, y, 9, colspan=3)
+
+ if section_bottom > y:
+ y = section_bottom
+
+ y += line_height
+ print_line(y)
+ y += 2*line_height
+
+ bold_on()
+ print_text(_("Please Circle"), y, 6, colspan=2,
+ option=QtCore.Qt.AlignCenter)
+ y += print_text(_("Give Details"), y, 8, colspan=4)
+
+ y += print_text(_("ARE YOU CURRENTLY?"), y, 0, colspan=6)
+ y += padding
+ bold_off()
+
+ print_text(_("Taking any prescribed medicines?"), y, 0.5, 5.5)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ for i in range(5):
+ print_line(y, 8, 4)
+ y += line_height + padding
+
+ y += line_height
+ print_text(_("Carrying a Medical Warning Card?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+ y += padding
+
+ if self.pt.sex == "F" and 13 < self.pt.ageYears < 55:
+ print_text(_("Pregnant or Breast Feeding?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += line_height
+ bold_on()
+ y += print_text(_("DO YOU SUFFER FROM?"), y, 0, colspan=6)
+ y += padding
+ bold_off()
+
+ print_text(_("Yes"), y, 6, colspan=1, rowspan=2, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, rowspan=2, option=QtCore.Qt.AlignLeft)
+ y += print_text(_("Allergies to Any Medicines or Substances?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ y += print_text(_("eg. Penicillin, aspirin or latex."), y, 2, 4)
+
+ y += padding
+
+ print_text(_("Bronchitis, Asthma, other Chest Conditions?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Yes"), y, 6, colspan=1, rowspan=2, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, rowspan=2, option=QtCore.Qt.AlignLeft)
+ y += print_text(_("Heart Problems, Angina, Blood pressure"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ y += print_text(_("problems, or a stroke?"), y, 2, 4)
+
+ y += padding
+
+ print_text(_("Diabetes?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Arthritis?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Yes"), y, 6, colspan=1, rowspan=2, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, rowspan=2, option=QtCore.Qt.AlignLeft)
+ y += print_text(_("Bruising or persistant bleeding after"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ y += print_text(_("surgery or tooth extraction?"), y, 2, 4)
+
+ y += padding
+
+ print_text(_("Yes"), y, 6, colspan=1, rowspan=2, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, rowspan=2, option=QtCore.Qt.AlignLeft)
+ y += print_text(_("Any Infectious Diseases"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ y += print_text(_("(including HIV and Hepatitis)?"), y, 2, 4)
+
+ y += line_height
+ bold_on()
+ y += print_text(_("DID YOU, AS A CHILD OR SINCE HAVE"), y, 0, colspan=6)
+ y += padding
+ bold_off()
+
+ print_text(_("Bacterial Endocarditis?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Liver Disease (eg. Jaundice or Hepatitis)?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("A bad reaction to a Local or General Anaesthetic?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("A joint replacement or other implant?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Heart Surgery?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Brain Surgery?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+ y += padding
+
+ print_text(_("Yes"), y, 6, colspan=1, rowspan=2, option=QtCore.Qt.AlignRight)
+ print_text(_("No"), y, 7, colspan=1, rowspan=2, option=QtCore.Qt.AlignLeft)
+ y += print_text(_("Treatment that required you to be"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ y += print_text(_("in Hospital?"), y, 2, 4)
+ y += padding
+
+ print_text(_("A close relative with Creutzfeldt Jacob Disease?"), y, 0.5, 5.5)
+ print_line(y, 8, 4)
+ print_text(_("Yes"), y, 6, colspan=1, option=QtCore.Qt.AlignRight)
+ y += print_text(_("No"), y, 7, colspan=1, option=QtCore.Qt.AlignLeft)
+
+
+ y += line_height
+ print_line(y)
+ y += line_height*2
+ bold_on()
+ print_text(
+_("PLEASE GIVE ANY OTHER DETAILS WHICH YOU THINK MAY BE RELEVANT TO YOUR DENTIST")
+ , y)
+
+ y = self.printer.pageRect().height() - MARGIN_BOTTOM
+
+ print_text(_("Patient's Signature"), y, 0, 3)
+ print_line(y, 3, 6)
+
+ date_ = localsettings.formatDate(localsettings.currentDay())
+ print_text(date_, y, 10, 2)
+
+
+if __name__ == "__main__":
+ #DEBUG = True
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+ from openmolar.dbtools.patient_class import patient
+
+ mw = QtGui.QWidget()
+ pt = patient(19342)
+
+ mh_print = MHPrint(pt, mw)
+ mh_print.print_()
+
+
\ No newline at end of file
diff --git a/src/openmolar/qt4gui/printing/multiDayListPrint.py b/src/openmolar/qt4gui/printing/multiDayListPrint.py
new file mode 100644
index 0000000..f2527f3
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/multiDayListPrint.py
@@ -0,0 +1,141 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+from __future__ import division
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+class printDaylist():
+ def __init__(self,parent=None):
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A4)
+ self.printer.setOrientation(QtGui.QPrinter.Landscape)
+ self.dates=[]
+ self.sheets={} #dentist,memo,apps
+
+ def addDaylist(self,date,dentist,apps):
+ d=date.toString()
+ if not d in self.dates:
+ self.dates.append(d)
+ self.sheets[d]=([],[],[])
+ self.sheets[d][0].append(localsettings.apptix_reverse[dentist]) #dentist
+ self.sheets[d][1].append(apps[0])
+ self.sheets[d][2].append(apps[1:])
+
+ def print_(self):
+ '''
+ print all.
+ '''
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ LeftMargin,RightMargin,TopMargin,BottomMargin = 30,30,30,30
+ AbsoluteLeft = LeftMargin
+ sansFont = QtGui.QFont("Helvetica", 6)
+ fm = QtGui.QFontMetrics(sansFont)
+ pageWidth=self.printer.pageRect().width()-LeftMargin-RightMargin
+ painter = QtGui.QPainter(self.printer)
+ page=0
+ for date in self.dates:
+ LeftMargin=AbsoluteLeft
+ painter.save()
+ books=self.sheets[date]
+ pageCols=len(books)
+ rowCount=0
+ for book in books[2]:
+ if len(books[2])>rowCount: #book could be ()
+ rowCount=len(books[2])
+ rowHeight = fm.height()
+ pageHeight=self.printer.pageRect().height()-TopMargin-BottomMargin
+ #rowHeight=pageHeight/(rowCount+3) #+3 allows for headings
+ columnWidth=(self.printer.pageRect().width()-LeftMargin-RightMargin)/pageCols
+ columnNo=0
+ for book in books[2]:
+ x=LeftMargin
+ ###get col widths.
+ colwidths={}
+ for app in book:
+ #--trial run to get widths
+ printApp=("12:00","(150)",
+ app.name,"88888","P",app.treat,app.note)
+ col=0
+ for att in printApp:
+ w=fm.width(str(att))
+ if not colwidths.has_key(col):
+ colwidths[col]=w
+ elif colwidths[col]<w:
+ colwidths[col]=w
+ col+=1
+ total=0
+ for col in range(len(colwidths)):
+ total+=colwidths[col]
+ for col in range(len(colwidths)):
+ colwidths[col]=colwidths[col]*0.97*columnWidth/total
+
+ y=TopMargin
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(sansFont)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option = QtGui.QTextOption(QtCore.Qt.AlignVCenter)
+ rect=QtCore.QRectF(x, y,pageWidth, rowHeight)
+ now=QtCore.QDateTime.currentDateTime().toString()
+ painter.drawText(rect,"Daylist for %s %s"%(books[0][columnNo],books[1][columnNo]),option)
+ y += rowHeight
+ rect=QtCore.QRectF(x, y,pageWidth, rowHeight)
+ painter.drawText(rect,self.dates[page],option)
+ y += rowHeight*1.5
+ painter.setBrush(QtGui.QColor("#eeeeee"))
+ col=0
+ for column in ("Start","Len","Name","No.","","Treat","memo"):
+ rect=QtCore.QRectF(x, y,colwidths[col], rowHeight)
+ painter.drawRect(rect)
+ painter.drawText(rect.adjusted(2,0,-2,0),column,option)
+ x+=colwidths[col]
+ col+=1
+ y+=rowHeight
+ painter.setBrush(QtCore.Qt.transparent)
+ for app in book:
+ #--print each app!
+ printApp=(app.getStart(),"(%d)"%app.length(),
+ app.name,app.serialno,app.cset,app.treat.strip(),app.note)
+ x=LeftMargin
+ col=0
+ for att in printApp:
+ rect=QtCore.QRectF(x, y,colwidths[col], rowHeight)
+ painter.drawRect(rect)
+ if att:
+ painter.drawText(rect.adjusted(2,0,-2,0),str(att),option)
+ x+=colwidths[col]
+ col+=1
+ y += rowHeight
+
+ LeftMargin += columnWidth
+ columnNo+=1
+ rect=QtCore.QRectF(AbsoluteLeft, pageHeight-rowHeight,pageWidth, rowHeight)
+ painter.drawText(rect,"Printed %s"%now,option)
+ if page < len(self.dates)-1:
+ self.printer.newPage()
+ page+=1
+ painter.restore()
+
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate(False)
+ app = QtGui.QApplication(sys.argv)
+ from openmolar.dbtools import appointments
+ import datetime
+ app = QtGui.QApplication(sys.argv)
+ d=datetime.date.today()
+ apps=appointments.printableDaylistData(d,4)
+
+ p=printDaylist()
+ for i in range(0,3):
+ p.addDaylist(QtCore.QDate.currentDate(),4,apps[0],apps[1:])
+ p.print_()
+
diff --git a/src/openmolar/qt4gui/printing/om_printing.py b/src/openmolar/qt4gui/printing/om_printing.py
new file mode 100644
index 0000000..1223530
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/om_printing.py
@@ -0,0 +1,551 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+provides the main class which is my gui
+'''
+
+from __future__ import division
+
+from gettext import gettext as _
+import logging
+import tempfile
+
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings, utilities
+
+from openmolar.ptModules import estimates
+from openmolar.ptModules import standardletter
+from openmolar.ptModules import referral
+
+from openmolar.dbtools import docsprinted
+from openmolar.dbtools import appointments
+from openmolar.dbtools import patient_class
+from openmolar.dbtools import patient_write_changes
+
+from openmolar.qt4gui.compiled_uis import Ui_enter_letter_text
+from openmolar.qt4gui.compiled_uis import Ui_daylist_print
+from openmolar.qt4gui.compiled_uis import Ui_ortho_ref_wizard
+
+#--modules which use qprinter
+from openmolar.qt4gui.printing import receiptPrint
+from openmolar.qt4gui.printing import chartPrint
+from openmolar.qt4gui.printing import bookprint
+from openmolar.qt4gui.printing import letterprint
+from openmolar.qt4gui.printing import recallprint
+from openmolar.qt4gui.printing import daylistprint
+from openmolar.qt4gui.printing import multiDayListPrint
+from openmolar.qt4gui.printing import accountPrint
+from openmolar.qt4gui.printing import estimatePrint
+from openmolar.qt4gui.printing.mh_print import MHPrint
+
+from openmolar.qt4gui.dialogs.print_record_dialog import PrintRecordDialog
+
+LOGGER = logging.getLogger("openmolar")
+
+def commitPDFtoDB(om_gui, descr, serialno=None):
+ '''
+ grabs "temp.pdf" and puts into the db.
+ '''
+ LOGGER.info("comitting pdf to db")
+ if serialno == None:
+ serialno = om_gui.pt.serialno
+ try:
+ ##todo - this try/catch is naff.
+ pdfDup = utilities.getPDF()
+ if pdfDup == None:
+ om_gui.advise(_("PDF is NONE - (tell devs this happened)"))
+ else:
+ #-field is 20 chars max.. hence the [:14]
+ docsprinted.add(serialno, descr[:14] + " (pdf)", pdfDup)
+ #--now refresh the docprinted widget (if visible)
+ if om_gui.ui.prevCorres_treeWidget.isVisible():
+ om_gui.docsPrintedInit()
+ except Exception, e:
+ om_gui.advise(_("Error saving PDF copy %s")% e, 2)
+
+def printDupReceipt(om_gui):
+ '''
+ print a duplicate receipt
+ '''
+ dupdate = localsettings.currentDay()
+ amount = om_gui.ui.receiptDoubleSpinBox.value()
+
+ printReceipt(om_gui, {_("Professional Services"):amount*100},
+ total=amount*100, duplicate=True, dupdate=dupdate)
+
+ om_gui.pt.addHiddenNote("printed", "%s %.02f"% (
+ _("duplicate receipt for"),
+ amount))
+ om_gui.updateHiddenNotesLabel()
+
+def printReceipt(om_gui, valDict, total="0.00"):
+ '''
+ print a receipt
+ '''
+ if om_gui.pt.serialno == 0:
+ om_gui.advise(_("no patient selected"), 1)
+ return
+ myreceipt = receiptPrint.Receipt()
+
+ myreceipt.setProps(om_gui.pt.title, om_gui.pt.fname, om_gui.pt.sname,
+ om_gui.pt.addr1, om_gui.pt.addr2, om_gui.pt.addr3, om_gui.pt.town,
+ om_gui.pt.county, om_gui.pt.pcde)
+
+ myreceipt.total = total
+
+ myreceipt.receivedDict = valDict
+
+ if myreceipt.print_():
+ commitPDFtoDB(om_gui, "receipt")
+ om_gui.pt.addHiddenNote("printed", "receipt")
+ om_gui.updateHiddenNotesLabel()
+
+def printLetter(om_gui):
+ '''
+ prints a letter to the patient
+ '''
+ if om_gui.pt.serialno == 0:
+ om_gui.advise(_("no patient selected"), 1)
+ return
+ html = standardletter.getHtml(om_gui.pt)
+ Dialog = QtGui.QDialog()
+ dl = Ui_enter_letter_text.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.textEdit.setHtml(html)
+ referred_pt = om_gui.pt
+ Dialog.show()
+
+ if Dialog.exec_():
+ html = dl.textEdit.toHtml()
+ myclass = letterprint.letter(html)
+ myclass.printpage()
+ html = str(html.toAscii())
+ docsprinted.add(referred_pt.serialno, "std letter (html)", html)
+ referred_pt.addHiddenNote("printed", "std letter")
+ if referred_pt == om_gui.pt:
+ if om_gui.ui.prevCorres_treeWidget.isVisible():
+ om_gui.docsPrintedInit()
+ else:
+ referred_pt.toNotes(referred_pt.serialno, referred_pt.HIDDENNOTES)
+
+def printAccountsTable(om_gui):
+ '''
+ print the table
+ '''
+ #-- set a pointer for readability
+ table = om_gui.ui.accounts_tableWidget
+ rowno = table.rowCount()
+ if rowno == 0:
+ om_gui.advise(_("Nothing to print - have you loaded the table?"), 1)
+ return()
+ total = 0
+ html = '<html><body><table border="1">'
+ html += _('''<tr><th>Dent</th><th>SerialNo</th><th>Cset</th>
+<th>FName</th><th>Sname</th><th>DOB</th><th>Memo</th><th>Last Appt</th>
+<th>Last Bill</th><th>Type</th><th>Number</th><th>Complete</th>
+<th>Amount</th></tr>''')
+ for row in range(rowno):
+ if row % 2 == 0:
+ html += '<tr bgcolor="#eeeeee">'
+ else:
+ html += '<tr>'
+ for col in range(13):
+ item = table.item(row, col)
+ if item:
+ if col == 1:
+ html += '<td align="right">%s</td>'% item.text()
+ elif col == 12:
+ money = int(float(item.text()) * 100)
+ money_str = localsettings.formatMoney(money)
+ html += '<td align="right">%s</td>'% money_str
+ total += money
+ else:
+ html += '<td>%s</td>'% item.text()
+ else:
+ html += '<td> </td>'
+ html += '</tr>\n'
+
+ html += '<tr><td colspan="11"></td><td><b>' + _('TOTAL') + '''</b></td>
+ <td align="right"><b>%s</b></td></tr></table></body></html>'''% (
+ localsettings.formatMoney(total))
+
+ myclass = letterprint.letter(html)
+ myclass.printpage()
+
+def printEstimate(om_gui):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise(_("no patient selected"), 1)
+ return
+
+ est = estimatePrint.estimate()
+
+ est.setProps(om_gui.pt.title, om_gui.pt.fname, om_gui.pt.sname,
+ om_gui.pt.serialno)
+
+ est.setEsts(estimates.sorted_estimates(om_gui.pt.estimates))
+
+ if est.print_():
+ commitPDFtoDB(om_gui, "auto estimate")
+ om_gui.pt.addHiddenNote("printed", "estimate")
+ om_gui.updateHiddenNotesLabel()
+
+def customEstimate(om_gui, html=""):
+ '''
+ prints a custom estimate to the patient
+ '''
+ if om_gui.pt.serialno == 0:
+ om_gui.advise(_("no patient selected"), 1)
+ return
+ if html == "":
+ html = standardletter.getHtml(om_gui.pt)
+ pt_total = 0
+ ehtml = "<br />%s"% _(
+ "Estimate for your current course of treatment.")
+ ehtml += "<br />"*4
+ ehtml += '<table width="400">'
+
+
+ #separate into NHS and non-NHS items.
+ sorted_ests = {"N":[], "P":[]}
+
+ for est in estimates.sorted_estimates(om_gui.pt.estimates):
+ if "N" in est.csetype:
+ sorted_ests["N"].append(est)
+ else:
+ sorted_ests["P"].append(est)
+
+ for type_, description in (
+ ("N", _("NHS items")),
+ ("P", _("Private items"))
+ ):
+ if sorted_ests[type_]:
+ ehtml += '<tr><td colspan = "3"><b>%s</b></td></tr>'% (
+ description)
+ for est in sorted_ests[type_]:
+ pt_total += est.ptfee
+ number = est.number
+ item = est.description
+ amount = est.ptfee
+ mult = ""
+ if number > 1:
+ mult = "s"
+ item = item.replace("*", mult)
+ if "^" in item:
+ item = item.replace("^", "")
+
+ ehtml += '''<tr><td>%s</td><td>%s</td>
+ <td align="right">%s</td></tr>'''% (
+ number, item, localsettings.formatMoney(amount))
+
+ ehtml += _('''<tr><td></td><td><b>TOTAL</b></td>
+<td align="right"><b>%s</b></td></tr>''')% localsettings.formatMoney(pt_total)
+ ehtml += "</table>" + "<br />"*4
+ html = html.replace("<br />"*(12), ehtml)
+ html += _('''<p><i>Please note, this estimate may be subject
+to change if clinical circumstances dictate.</i></p>''')
+
+ if htmlEditor(om_gui, type="cust Estimate", html=html, version=0):
+ om_gui.pt.addHiddenNote("printed", "cust estimate")
+ om_gui.updateHiddenNotesLabel()
+
+def htmlEditor(om_gui, type="", html="", version=0):
+ '''
+ raise a dialog to print an html editor
+ '''
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_enter_letter_text.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.textEdit.setHtml(html)
+ if Dialog.exec_():
+ html = dl.textEdit.toHtml()
+ myclass = letterprint.letter(html)
+ myclass.printpage()
+
+ html = str(dl.textEdit.toHtml().toAscii())
+
+ docsprinted.add(om_gui.pt.serialno, "%s (html)"% type, html, version+1)
+ return True
+
+def printReferral(om_gui):
+ '''prints a referal letter controlled by referal.xml file'''
+ ####TODO this file should really be in the sql database
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ return
+ desc = om_gui.ui.referralLettersComboBox.currentText()
+ ##todo re-enable this
+ #if "Ortho" in desc:
+ # orthoWizard(om_gui)
+ # return
+ html = referral.getHtml(desc, om_gui.pt)
+ Dialog = QtGui.QDialog()#, QtCore.Qt.WindowMinimizeButtonHint)
+ dl = Ui_enter_letter_text.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.textEdit.setHtml(html)
+ referred_pt = om_gui.pt
+ Dialog.show()
+ if Dialog.exec_():
+ html = dl.textEdit.toHtml()
+ myclass = letterprint.letter(html)
+ myclass.printpage()
+ docsprinted.add(referred_pt.serialno, "referral (html)", html)
+ referred_pt.addHiddenNote("printed", "referral")
+ om_gui.updateHiddenNotesLabel()
+
+ if referred_pt == om_gui.pt:
+ if om_gui.ui.prevCorres_treeWidget.isVisible():
+ om_gui.docsPrintedInit()
+ else:
+ referred_pt.toNotes(referred_pt.serialno, referred_pt.HIDDENNOTES)
+
+def orthoWizard(om_gui):
+ '''prints a referal letter controlled by referal.xml file'''
+ desc = om_gui.ui.referralLettersComboBox.currentText()
+ html = referral.getHtml(desc, om_gui.pt)
+
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_ortho_ref_wizard.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.notes_textEdit.setHtml(html)
+ if Dialog.exec_():
+ html = dl.textEdit.toHtml()
+ myclass = letterprint.letter(html)
+ myclass.printpage()
+ docsprinted.add(om_gui.pt.serialno, "referral (html)", html)
+ om_gui.pt.addHiddenNote("printed", "referral")
+ if om_gui.ui.prevCorres_treeWidget.isVisible():
+ om_gui.docsPrintedInit()
+ om_gui.updateHiddenNotesLabel()
+
+def printChart(om_gui):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ return
+ staticimage = QtGui.QPixmap.grabWidget(om_gui.ui.summaryChartWidget)
+ myclass = chartPrint.printChart(staticimage)
+ myclass.printpage()
+ om_gui.pt.addHiddenNote("printed", "static chart")
+ om_gui.updateHiddenNotesLabel()
+
+def printMonth(om_gui):
+ temp = om_gui.ui.monthView.selectedDate
+ om_gui.ui.monthView.selectedDate = None
+ printimage = QtGui.QPixmap.grabWidget(om_gui.ui.monthView)
+ myclass = chartPrint.printChart(printimage, landscape=True)
+ myclass.sizeToFit()
+ myclass.printpage()
+ om_gui.ui.monthView.selectedDate = temp
+
+def printaccount(om_gui, tone="A"):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ else:
+ doc = accountPrint.document(
+ om_gui.pt.title, om_gui.pt.fname, om_gui.pt.sname,
+ (om_gui.pt.addr1, om_gui.pt.addr2, om_gui.pt.addr3,
+ om_gui.pt.town, om_gui.pt.county),
+ om_gui.pt.pcde, om_gui.pt.fees
+ )
+ doc.setTone(tone)
+ if tone == "B":
+ doc.setPreviousCorrespondenceDate(om_gui.pt.billdate)
+ ####TODO unsure if this is correct date! - p
+ ####lease print one and try it!
+ if doc.print_():
+ om_gui.pt.updateBilling(tone)
+ om_gui.pt.addHiddenNote("printed", "account - tone %s"%tone)
+ om_gui.addNewNote("Account Printed")
+ commitPDFtoDB(om_gui, "Account tone%s"%tone)
+ om_gui.updateHiddenNotesLabel()
+
+def accountButton2Clicked(om_gui):
+ if om_gui.ui.accountB_radioButton.isChecked():
+ om_gui.printaccount("B")
+ elif om_gui.ui.accountC_radioButton.isChecked():
+ #print "harsh letter"
+ om_gui.printaccount("C")
+ else:
+ om_gui.printaccount()
+
+def printdaylists(om_gui, args, expanded=False):
+ '''
+ prints the single book pages
+ args is a tuple (dent, date)
+ '''
+ dlist = daylistprint.printDaylist()
+ something_to_print = False
+ for apptix, adate in args:
+ data = appointments.printableDaylistData(adate.toPyDate(), apptix)
+ if data != []:
+ something_to_print = True
+ dlist.addDaylist(adate, apptix, data)
+ if something_to_print:
+ dlist.print_(expanded)
+
+def printmultiDayList(om_gui, args):
+ '''
+ prints the multiday pages
+ args = ((dent, date), (dent, date)...)
+ '''
+ dlist = multiDayListPrint.printDaylist()
+ something_to_print = False
+ for arg in args:
+ data = appointments.printableDaylistData(arg[1].toPyDate(), arg[0])
+ #note arg[1]=Qdate
+ if data != []:
+ something_to_print = True
+ dlist.addDaylist(arg[1], arg[0], data)
+ if something_to_print:
+ dlist.print_()
+
+def daylistPrintWizard(om_gui):
+ def checkAll(arg):
+ for cb in checkBoxes.values():
+ cb.setChecked(arg)
+ Dialog = QtGui.QDialog(om_gui)
+ dl = Ui_daylist_print.Ui_Dialog()
+ dl.setupUi(Dialog)
+ vlayout = QtGui.QGridLayout(dl.scrollArea)
+ dl.alldentscheckBox = QtGui.QCheckBox(QtCore.QString("All Books"))
+ dl.alldentscheckBox.setChecked(True)
+ dl.alldentscheckBox.connect(dl.alldentscheckBox,
+ QtCore.SIGNAL("stateChanged(int)"), checkAll)
+ row = 0
+ vlayout.addWidget(dl.alldentscheckBox, row, 0, 1, 2)
+ checkBoxes = {}
+ for dent in localsettings.activedents + localsettings.activehygs:
+ cb = QtGui.QCheckBox(QtCore.QString(dent))
+ cb.setChecked(True)
+ checkBoxes[localsettings.apptix[dent]] = cb
+ row += 1
+ vlayout.addWidget(cb, row, 1, 1, 1)
+ dl.start_dateEdit.setDate(QtCore.QDate.currentDate())
+ dl.end_dateEdit.setDate(QtCore.QDate.currentDate())
+ if Dialog.exec_():
+ sday = dl.start_dateEdit.date()
+ eday = dl.end_dateEdit.date()
+ books = []
+ while sday <= eday:
+ for dent in localsettings.activedents + localsettings.activehygs:
+ if checkBoxes[localsettings.apptix[dent]].checkState():
+ books.append((localsettings.apptix[dent], sday))
+ sday = sday.addDays(1)
+ if dl.allOnePage_radioButton.isChecked():
+ printmultiDayList(om_gui, books)
+ else:
+ printdaylists(
+ om_gui, books, dl.onePageFull_radioButton.isChecked())
+
+def printrecall(om_gui):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ else:
+ args = (
+ (om_gui.pt.title, om_gui.pt.fname, om_gui.pt.sname, om_gui.pt.dnt1,
+ om_gui.pt.serialno, om_gui.pt.addr1, om_gui.pt.addr2, om_gui.pt.addr3,
+ om_gui.pt.town, om_gui.pt.county, om_gui.pt.pcde), )
+
+ recall_printer = recallprint.RecallPrinter(args)
+ recall_printer.print_()
+
+ om_gui.pt.addHiddenNote("printed", "recall - non batch")
+ om_gui.updateHiddenNotesLabel()
+
+def printNotes(om_gui):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ return
+
+ image_file = tempfile.NamedTemporaryFile(suffix=".png")
+ image = QtGui.QPixmap.grabWidget(om_gui.ui.summaryChartWidget)
+ image.save(image_file.name)
+ dl = PrintRecordDialog(
+ om_gui.pt, "file://%s"% image_file.name, om_gui)
+ dl.exec_()
+
+def print_mh_form(om_gui):
+ if om_gui.pt.serialno == 0:
+ om_gui.advise("no patient selected", 1)
+ return
+ LOGGER.info("print MH form for %s"% om_gui.pt.serialno)
+ mh_printer = MHPrint(om_gui.pt, om_gui)
+ mh_printer.print_()
+
+def print_mh_forms(serialnos, om_gui):
+ for serialno in serialnos:
+ pt = patient_class.patient(serialno)
+ LOGGER.info("print MH form for %s"% pt.serialno)
+ mh_printer = MHPrint(pt, om_gui)
+ mh_printer.print_()
+
+
+def printSelectedAccounts(om_gui):
+ '''
+ iterate over te accounts table, and print letters to those who
+ have been selected to get an invoice
+ '''
+
+ if om_gui.ui.accounts_tableWidget.rowCount() == 0:
+ om_gui.advise("Please load the table first", 1)
+ return
+ firstPage = True
+ no_printed = 0
+ for row in range(om_gui.ui.accounts_tableWidget.rowCount()):
+ for col in range(13, 16):
+ item = om_gui.ui.accounts_tableWidget.item(row, col)
+ if item.checkState():
+ tone = ("A", "B", "C")[col-13]
+ sno = int(om_gui.ui.accounts_tableWidget.item(row, 1).text())
+ LOGGER.info("Account tone %s letter to %s"%(tone, sno))
+ printpt = patient_class.patient(sno)
+
+ doc = accountPrint.document(printpt.title,
+ printpt.fname, printpt.sname, (printpt.addr1,
+ printpt.addr2, printpt.addr3, printpt.town,
+ printpt.county), printpt.pcde, printpt.fees)
+
+ doc.setTone(tone)
+
+ if firstPage:
+ #--raise a print dialog for the first letter of the run
+ #--only
+ if not doc.dialogExec():
+ #-- user has abandoned the print run
+ return
+ chosenPrinter = doc.printer
+ chosenPageSize = doc.printer.pageSize()
+ firstPage = False
+ else:
+ doc.printer = chosenPrinter
+ doc.printer.setPageSize(chosenPageSize)
+ doc.requireDialog = False
+ if tone == "B":
+ doc.setPreviousCorrespondenceDate(printpt.billdate)
+ if doc.print_():
+ printpt.updateBilling(tone)
+ printpt.addHiddenNote(
+ "printed", "account - tone %s"%tone)
+
+ patient_write_changes.discreet_changes(printpt, (
+ "billct", "billdate", "billtype"))
+
+ patient_write_changes.toNotes(sno,
+ printpt.HIDDENNOTES)
+
+ commitPDFtoDB(om_gui,
+ "Account tone%s"%tone, printpt.serialno)
+
+ no_printed += 1
+ om_gui.advise("%d letters printed"% no_printed, 1)
+
+def historyPrint(om_gui):
+ html = om_gui.ui.debugBrowser.toHtml()
+ myclass = bookprint.printBook(html)
+ myclass.printpage()
diff --git a/src/openmolar/qt4gui/printing/recallprint.py b/src/openmolar/qt4gui/printing/recallprint.py
new file mode 100644
index 0000000..b275cf3
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/recallprint.py
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+DATE_FORMAT = "MMMM, yyyy"
+
+class RecallPrinter():
+ def __init__(self, rows):
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A5)
+ self.recalls = rows
+
+ def print_(self):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ AddressMargin=80
+ LeftMargin = 50
+ TopMargin = 80
+ sansFont = QtGui.QFont("Helvetica", 8)
+ sansLineHeight = QtGui.QFontMetrics(sansFont).height()
+ serifFont = QtGui.QFont("Helvetica", 8)
+ serifLineHeight = QtGui.QFontMetrics(serifFont).height()
+ sigFont=QtGui.QFont("Lucida Handwriting",10)
+ fm = QtGui.QFontMetrics(serifFont)
+ DateWidth = fm.width(" September 99, 2999 ")
+ painter = QtGui.QPainter(self.printer)
+ pageRect = self.printer.pageRect()
+ page = 1
+ for recall in self.recalls:
+ painter.save()
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(sansFont)
+ #put dent serialno in topleft corner
+ painter.drawText(LeftMargin, TopMargin, "%s %d"%(localsettings.ops[recall[3]],recall[4]))
+ x,y = AddressMargin,TopMargin+50
+ painter.drawText(x, y, "%s %s %s"%(recall[0].title(),recall[1].title(),recall[2].title()))
+ y += sansLineHeight
+ for line in recall[5:10]:
+ if line:
+ painter.drawText(x, y, str(line).title()+",")
+ y += serifLineHeight
+ if recall[10]:
+ painter.drawText(x, y, str(recall[10])+".") #postcode
+ y += serifLineHeight
+
+ x,y=LeftMargin,(pageRect.height()*0.3)
+ painter.drawText(x+250, y, QtCore.QDate.currentDate().toString(DATE_FORMAT))
+ y += sansLineHeight
+ painter.setFont(serifFont)
+ y += serifLineHeight
+ painter.drawText(x, y, _("Dear %s %s,") %(recall[0].title(),recall[2].title()))
+ y += serifLineHeight*2
+ painter.drawText(x, y,
+ _('We are writing to inform you that your dental examination is now due.'))
+ y += serifLineHeight
+ painter.drawText(x, y, _('Please contact the surgery to arrange an appointment. *'))
+ y += serifLineHeight*1.2
+ painter.drawText(x, y, _('We look forward to seeing you in the near future.'))
+ painter.setPen(QtCore.Qt.black)
+ y += serifLineHeight*2
+ painter.drawText(x, y, _("Yours sincerely,"))
+ y += serifLineHeight * 1.5
+ painter.setFont(sigFont)
+ y += serifLineHeight * 2
+ painter.drawText(x, y, "The Academy Dental Practice")
+ painter.setFont(serifFont)
+ y = pageRect.height() - 120
+ painter.drawLine(x, y, pageRect.width() - (2 * AddressMargin), y)
+ y += 2
+ font = QtGui.QFont("Helvetica", 7)
+ font.setItalic(True)
+ painter.setFont(font)
+ option = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ option.setWrapMode(QtGui.QTextOption.WordWrap)
+ painter.drawText(
+ QtCore.QRectF(x, y,
+ pageRect.width() - (2 * AddressMargin), 31),
+ "* If you already have a future appointment with us - "
+ "please accept our apologies and ignore this letter.",
+ option)
+ page += 1
+ if page <= len(self.recalls):
+ self.printer.newPage()
+ painter.restore()
+
+if __name__ == "__main__":
+ import sys
+ localsettings.initiate()
+ app = QtGui.QApplication(sys.argv)
+ pts = (
+ ('TITLE', 'FNAME', 'SNAME', 6, 1809L,
+ "6 ST MARY'S ROAD", 'KIRKHILL', '', '', '', 'IV5 7NX'),
+ )
+
+ recall_printer = RecallPrinter(pts)
+ recall_printer.print_()
+
+
diff --git a/src/openmolar/qt4gui/printing/receiptPrint.py b/src/openmolar/qt4gui/printing/receiptPrint.py
new file mode 100644
index 0000000..afa104b
--- /dev/null
+++ b/src/openmolar/qt4gui/printing/receiptPrint.py
@@ -0,0 +1,158 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+from __future__ import division
+
+from PyQt4 import QtCore,QtGui
+from openmolar.settings import localsettings
+
+import datetime
+
+class Receipt(object):
+
+ def __init__(self):
+ self.printer = QtGui.QPrinter()
+ self.printer.setPageSize(QtGui.QPrinter.A5)
+ self.pdfprinter = QtGui.QPrinter()
+ self.pdfprinter.setPageSize(QtGui.QPrinter.A5)
+ self.setProps()
+ self.receivedDict={}
+ self.isDuplicate=False
+ self.dupdate=QtCore.QDate.currentDate()
+
+ def setProps(self, tit="", fn="", sn="", ad1="", ad2="", ad3="",
+ ad4="", ad5="", pcd="", p="", n="", s="", t=""):
+
+ self.title=tit
+ self.fname=fn
+ self.sname=sn
+ self.addr1=ad1
+ self.addr2=ad2
+ self.addr3=ad3
+ self.town=ad4
+ self.county=ad5
+ self.pcde=pcd
+ self.pamount=p
+ self.namount=n
+ self.samount=s
+ self.total=t
+
+ def print_(self):
+ dialog = QtGui.QPrintDialog(self.printer)
+ if not dialog.exec_():
+ return
+ self.pdfprinter.setOutputFormat(QtGui.QPrinter.PdfFormat)
+ self.pdfprinter.setOutputFileName(localsettings.TEMP_PDF)
+
+ for printer in (self.printer,self.pdfprinter):
+
+ LeftMargin = 50
+ TopMargin = 150
+ serifFont = QtGui.QFont("Times", 11)
+ fm=QtGui.QFontMetrics(serifFont)
+ serifLineHeight = fm.height()
+ painter = QtGui.QPainter(printer)
+ pageRect = printer.pageRect()
+ painter.setPen(QtCore.Qt.black)
+ painter.setFont(serifFont)
+ center = QtGui.QTextOption(QtCore.Qt.AlignCenter)
+ alignRight = QtGui.QTextOption(QtCore.Qt.AlignRight)
+ if self.isDuplicate:
+ painter.drawText(QtCore.QRectF(0, 100,pageRect.width()\
+ ,serifLineHeight),\
+ QtCore.QString("DUPLICATE RECEIPT"),
+ center)
+
+ x,y = LeftMargin,TopMargin+30
+ painter.drawText(x, y, "%s %s %s"%(self.title.title(),self.fname.title(),self.sname.title()))
+ y += serifLineHeight
+ for line in (self.addr1,self.addr2,self.addr3,self.town,self.county):
+ if line!="":
+ painter.drawText(x, y, str(line).title()+",")
+ y += serifLineHeight
+ if self.pcde!="":
+ painter.drawText(x, y, str(self.pcde+".")) #postcode
+
+
+ x,y=LeftMargin+50,TopMargin+serifLineHeight*10
+ mystr='Received on '
+ w=fm.width(mystr)
+ painter.drawText(x, y, mystr)
+ if not self.isDuplicate:
+ painter.drawText(x+w, y,
+ QtCore.QDate.currentDate().toString(
+ localsettings.QDATE_FORMAT))
+ else:
+ painter.drawText(x+w, y, self.dupdate.toString(
+ localsettings.QDATE_FORMAT))
+
+ y += serifLineHeight*2
+
+
+ painter.drawText(x, y, QtCore.QString('relating to:-'))
+ y += serifLineHeight
+
+ for key in self.receivedDict.keys():
+ amount=self.receivedDict[key]
+ if float(amount) != 0:
+ rect_f = QtCore.QRectF(x,y,180,serifLineHeight)
+ painter.drawText(rect_f, QtCore.QString(key))
+
+ rect_f = QtCore.QRectF(x+180, y,100,serifLineHeight)
+ text = QtCore.QString(localsettings.formatMoney(amount))
+ painter.drawText(rect_f , text, alignRight)
+
+ y += serifLineHeight
+
+
+ y += serifLineHeight
+
+ painter.drawLine(int(x),int(y),int(x)+280,int(y))#130+150=280
+ y += serifLineHeight*1.5
+
+ rect_f = QtCore.QRectF(x,y,180,serifLineHeight)
+ painter.drawText(rect_f, "TOTAL")
+
+ rect_f = QtCore.QRectF(x+180, y,100,serifLineHeight)
+ text = QtCore.QString(localsettings.formatMoney(self.total))
+ painter.drawText(rect_f, text, alignRight)
+
+ y += serifLineHeight*4
+
+ font = QtGui.QFont("Helvetica", 7)
+ font.setItalic(True)
+ painter.setFont(font)
+ painter.drawText(x, y, _("Thankyou for your custom."))
+ return True
+
+if __name__ == "__main__":
+ import os
+ os.chdir(os.path.expanduser("~"))
+
+ localsettings.initiate()
+ app = QtGui.QApplication([])
+ myreceipt = Receipt()
+ myreceipt.title = "tit"
+ myreceipt.fname ="fname"
+ myreceipt.sname ="sname"
+ myreceipt.addr1 ="addr1"
+ myreceipt.addr2 ="addr2"
+ myreceipt.addr3 ="addr3"
+ myreceipt.town ="addr4"
+ myreceipt.county ="addr5"
+ myreceipt.pcde ="PCDE"
+ myreceipt.receivedDict ={
+ "Private Treatment":"10.00",
+ "NHS Treatment":"20.00",
+ "Cuddly Toy":"5.00",
+ "Sundry Items":"30.00"
+ }
+ myreceipt.total = "65.00"
+ myreceipt.isDuplicate = True
+ myreceipt.dupdate = QtCore.QDate(2009,3,2)
+ myreceipt.print_()
+
diff --git a/src/openmolar/qt4gui/pt_diary_widget.py b/src/openmolar/qt4gui/pt_diary_widget.py
new file mode 100644
index 0000000..a8c3797
--- /dev/null
+++ b/src/openmolar/qt4gui/pt_diary_widget.py
@@ -0,0 +1,664 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2011-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+
+from PyQt4 import QtCore, QtGui
+
+from openmolar.settings import localsettings
+
+from openmolar.dbtools import appointments
+from openmolar.dbtools.brief_patient import BriefPatient
+
+from openmolar.qt4gui.appointment_gui_modules import pt_diary_treemodel
+
+from openmolar.qt4gui.compiled_uis import Ui_patient_diary
+from openmolar.qt4gui.compiled_uis import Ui_specify_appointment
+from openmolar.qt4gui.compiled_uis import Ui_appointment_length
+
+from openmolar.qt4gui.dialogs import appt_wizard_dialog
+from openmolar.qt4gui.dialogs import appt_prefs_dialog
+from openmolar.qt4gui.dialogs import appointment_card_dialog
+
+
+
+class PtDiaryWidget(QtGui.QWidget):
+ _pt = None
+
+ start_scheduling = QtCore.pyqtSignal()
+ find_appt = QtCore.pyqtSignal(object)
+ appointment_selected = QtCore.pyqtSignal(object)
+ preferences_changed = QtCore.pyqtSignal()
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.om_gui = parent
+ self.ui = Ui_patient_diary.Ui_Form()
+ self.ui.setupUi(self)
+ self.diary_model = pt_diary_treemodel.treeModel(self)
+ self.ui.pt_diary_treeView.setModel(self.diary_model)
+ self.hide_appointment_buttons()
+ self.signals()
+ self.setSizePolicy(
+ QtGui.QSizePolicy(
+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ )
+
+ def sizeHint(self):
+ return QtCore.QSize(800,200)
+
+ def set_patient(self, patient):
+ self._pt = patient
+
+ @property
+ def pt(self):
+ return self._pt
+
+ def advise(self, *args):
+ try:
+ self.om_gui.advise(*args)
+ except AttributeError:
+ print args
+
+ def clear(self):
+ self.diary_model.clear()
+ self.hide_appointment_buttons()
+ self.ui.appt_memo_lineEdit.setText("")
+
+ def hide_appointment_buttons(self):
+ self.ui.scheduleAppt_pushButton.hide()
+ self.ui.modifyAppt_pushButton.hide()
+ self.ui.clearAppt_pushButton.hide()
+ self.ui.findAppt_pushButton.hide()
+
+ def update_pt_diary_selection(self, appt):
+ '''
+ the drag model selected appointment has changed... pass this on
+ '''
+ if self.pt is None or appt is None:
+ return
+ if appt.serialno != self.pt.serialno:
+ return
+ self.diary_model.setSelectedAppt(appt)
+ aprix = 0 if appt == None else appt.aprix
+ self.select_apr_ix(aprix)
+
+ def refresh_ptDiary(self, serialno):
+ if self.pt and serialno == self.pt.serialno:
+ self.layout_ptDiary()
+
+ def layout_ptDiary(self):
+ '''
+ populates the patient's diary model
+ '''
+ self.ui.appt_memo_lineEdit.setText(self.pt.appt_memo)
+
+ appts = appointments.get_pts_appts(self.pt)
+ self.diary_model.addAppointments(appts)
+ self.ui.pt_diary_treeView.clearSelection()
+ self.ui.pt_diary_treeView.expandAll()
+ index = self.diary_model.parents.get(1, None)
+
+ ##collapse past appointments
+ past_index = self.diary_model.createIndex(0, 0, index)
+ self.ui.pt_diary_treeView.collapse(past_index)
+
+ appt = self.diary_model.selectedAppt
+ if appt != None:
+ self.select_apr_ix(appt.aprix)
+
+ self.adjustDiaryColWidths()
+
+ ## now emit a signal to update the drag/drop controller
+ self.appointment_selected.emit(appt)
+
+ def select_apr_ix(self, apr_ix):
+ '''
+ select the row of the model of the patient's diary where the appt is
+ '''
+ result, index = self.diary_model.findItem(apr_ix)
+
+ if result:
+ self.ptDiary_selection(index)
+ else:
+ self.ptDiary_selection(None)
+
+ def ptDiary_selection(self, index):
+ if index is None:
+ appt = None
+ self.ui.pt_diary_treeView.clearSelection()
+ else:
+ self.ui.pt_diary_treeView.setCurrentIndex(index)
+ appt = self.diary_model.data(index, QtCore.Qt.UserRole)
+
+ self.diary_model.setSelectedAppt(appt)
+
+ if not appt:
+ self.ui.scheduleAppt_pushButton.hide()
+ self.ui.modifyAppt_pushButton.hide()
+ self.ui.clearAppt_pushButton.hide()
+ self.ui.findAppt_pushButton.hide()
+ return
+
+ self.ui.modifyAppt_pushButton.show()
+ self.ui.clearAppt_pushButton.show()
+ self.ui.scheduleAppt_pushButton.setVisible(appt.unscheduled)
+ self.ui.findAppt_pushButton.setVisible(not appt.unscheduled)
+
+ def treeview_expanded(self, arg):
+ '''
+ user has expanded an item in the patient's diary.
+ this will resize columns (if necessary)
+ '''
+ self.adjustDiaryColWidths()
+
+ def adjustDiaryColWidths(self):
+ '''
+ resize the treeview columns.
+ '''
+ for col in range(self.diary_model.columnCount()):
+ self.ui.pt_diary_treeView.resizeColumnToContents(col)
+
+ def treeview_clicked(self, index):
+ '''
+ user has selected an appointment in the patient's diary
+ '''
+ if index is None:
+ appt = None
+ self.ui.pt_diary_treeView.clearSelection()
+ else:
+ appt = self.ui.pt_diary_treeView.model().data(index,
+ QtCore.Qt.UserRole)
+ self.ui.pt_diary_treeView.setCurrentIndex(index)
+
+ self.diary_model.setSelectedAppt(appt)
+
+ if not appt:
+ self.ui.scheduleAppt_pushButton.hide()
+ self.ui.modifyAppt_pushButton.hide()
+ self.ui.clearAppt_pushButton.hide()
+ self.ui.findAppt_pushButton.hide()
+ return
+
+ self.ui.modifyAppt_pushButton.show()
+ self.ui.clearAppt_pushButton.show()
+
+ if appt.unscheduled:
+ self.ui.scheduleAppt_pushButton.show()
+ self.ui.findAppt_pushButton.hide()
+ else:
+ self.ui.scheduleAppt_pushButton.hide()
+ self.ui.findAppt_pushButton.show()
+
+ ## pass on a signal to synchronise other widgets if necessary
+ self.appointment_selected.emit(appt)
+
+ def oddApptLength(self):
+ '''
+ this is called from within the a dialog when the appointment lengths
+ offered aren't enough!!
+ '''
+ Dialog = QtGui.QDialog(self)
+ dl = Ui_appointment_length.Ui_Dialog()
+ dl.setupUi(Dialog)
+ if Dialog.exec_():
+ hours = dl.hours_spinBox.value()
+ mins = dl.mins_spinBox.value()
+ return (hours, mins)
+
+
+ def newAppt_pushButton_clicked(self):
+ '''
+ user has asked for a new appointment
+ '''
+ #--check there is a patient attached to this request!
+ if not self.pt.serialno:
+ self.advise(
+ "You need to select a patient before performing this action.", 1)
+ return
+
+ #--a sub proc for a subsequent dialog
+ def makeNow():
+ dl.makeNow = True
+
+ def oddLength(i):
+ #-- last item of the appointment length combobox is "other length"
+ if i == dl.apptlength_comboBox.count()-1:
+ ol = self.oddApptLength()
+ if ol:
+ QtCore.QObject.disconnect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ self.addApptLength(dl, ol[0], ol[1])
+ QtCore.QObject.connect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ #--initiate a custom dialog
+ Dialog = QtGui.QDialog(self)
+ dl = Ui_specify_appointment.Ui_Dialog()
+ dl.setupUi(Dialog)
+ #--add an attribute to the dialog
+ dl.makeNow = False
+
+ #--add active appointment dentists to the combobox
+ dents = localsettings.apptix.keys()
+ for dent in dents:
+ s = QtCore.QString(dent)
+ dl.practix_comboBox.addItem(s)
+ #--and select the patient's dentist
+ if localsettings.apptix_reverse.has_key(self.pt.dnt1):
+ if localsettings.apptix_reverse[self.pt.dnt1] in dents:
+ pos = dents.index(localsettings.apptix_reverse[self.pt.dnt1])
+ dl.practix_comboBox.setCurrentIndex(pos)
+ else:
+ dl.practix_comboBox.setCurrentIndex(-1)
+
+ #--add appointment treatment types
+ for apptType in localsettings.apptTypes:
+ s = QtCore.QString(apptType)
+ dl.trt1_comboBox.addItem(s)
+ #--only offer exam as treatment1
+ if apptType != "EXAM":
+ dl.trt2_comboBox.addItem(s)
+ dl.trt3_comboBox.addItem(s)
+ #--default appt length is 15 minutes
+ dl.apptlength_comboBox.setCurrentIndex(2)
+
+ #--connect the dialogs "make now" buttons to the procs just coded
+ QtCore.QObject.connect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ QtCore.QObject.connect(dl.scheduleNow_pushButton,
+ QtCore.SIGNAL("clicked()"), makeNow)
+
+ inputting = True
+ while inputting:
+ result = Dialog.exec_()
+ if result:
+ #--practitioner
+ py_inits = str(dl.practix_comboBox.currentText())
+ practix = localsettings.apptix.get(py_inits)
+ if not practix:
+ self.advise(_("Please specify a clinician"), 1)
+ else:
+ #--length
+ lengthText = str(dl.apptlength_comboBox.currentText())
+ if "hour" in lengthText and not "hours " in lengthText:
+ lengthText = lengthText.replace("hour", "hours ")
+ if "hour" in lengthText:
+ hour_index = lengthText.index("hour")
+ length = 60 * int(lengthText[:hour_index])
+ lengthText = lengthText[lengthText.index(" ", hour_index):]
+ else:
+ length = 0
+ if "minute" in lengthText:
+ length += int(lengthText[:lengthText.index("minute")])
+ #--treatments
+ code0 = dl.trt1_comboBox.currentText()
+ code1 = dl.trt2_comboBox.currentText()
+ code2 = dl.trt3_comboBox.currentText()
+ #--memo
+ note = str(dl.lineEdit.text().toAscii())
+
+ ##TODO - add datespec and joint appointment options
+
+ #--attempt WRITE appointement to DATABASE
+ apr_ix = appointments.add_pt_appt(self.pt.serialno, practix, length,
+ code0, -1, code1, code2, note, "", self.pt.cset)
+ if apr_ix:
+ self.layout_ptDiary()
+ self.select_apr_ix(apr_ix)
+ if dl.makeNow:
+ self.start_scheduling.emit()
+ else:
+ #--commit failed
+ self.advise("Error saving appointment", 2)
+ inputting = False
+ else:
+ break
+
+
+ def apptWizard_pushButton_clicked(self):
+ '''
+ this shows a dialog to providing shortcuts to common groups of
+ appointments - eg imps,bite,try,fit
+ '''
+ def applyApptWizard(arg):
+ i=0
+ for appt in arg:
+ apr_ix = appointments.add_pt_appt(self.pt.serialno,
+ appt.get("clinician"), appt.get("length"), appt.get("trt1"),
+ -1, appt.get("trt2"), appt.get("trt3"), appt.get("memo"),
+ appt.get("datespec"), self.pt.cset)
+
+ if i == 0:
+ i = apr_ix
+ if i:
+ self.layout_ptDiary()
+ self.select_apr_ix(i)
+
+ #--check there is a patient attached to this request!
+ if not (self.pt and self.pt.serialno):
+ self.advise(
+ "You need to select a patient before performing this action.", 1)
+ return
+ if self.pt.dnt1 in (0, None):
+ self.advise('''Patient doesn't have a dentist set,<br />
+ please correct this before using these shortcuts''', 1)
+ return
+
+ #--initiate a custom dialog
+ Dialog = QtGui.QDialog(self)
+ dl = appt_wizard_dialog.apptWizard(Dialog, self)
+
+ Dialog.connect(Dialog, QtCore.SIGNAL("AddAppointments"),
+ applyApptWizard)
+
+ Dialog.exec_()
+
+
+ def scheduleAppt_pushButton_clicked(self):
+ '''
+ user about to make an appointment
+ '''
+ self.start_scheduling.emit()
+
+ def clearApptButton_clicked(self):
+ '''
+ user is deleting an appointment
+ '''
+ def delete_appt():
+ if appointments.delete_appt_from_apr(appt):
+ self.advise(_("Sucessfully removed appointment"))
+ else:
+ self.advise(_("Error removing proposed appointment"), 2)
+
+ appt = self.diary_model.selectedAppt
+
+ if appt is None:
+ self.advise(_("No appointment selected"))
+ return
+
+ if appt.date == None:
+ if QtGui.QMessageBox.question(self, _("Confirm"),
+ _("Delete Unscheduled Appointment?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+ delete_appt()
+
+ elif appt.past:
+ delete_appt()
+
+ else:
+ message = _("Confirm Delete appointment at")
+ message += " %s %s "% (appt.atime,
+ localsettings.readableDate(appt.date))
+
+ message += _("with") + " %s?"% appt.dent_inits
+
+ if QtGui.QMessageBox.question(self, _("Confirm"), message,
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes:
+
+ if appointments.delete_appt_from_aslot(appt):
+ ##todo - if we deleted from the appt book,
+ ##we should add to notes
+ print "future appointment deleted - add to notes!!"
+
+ appointments.made_appt_to_proposed(appt)
+ self.layout_ptDiary()
+
+ #--keep in the patient's diary?
+
+ if QtGui.QMessageBox.question(self, _("Question"),
+ _("Removed from appointment book - keep for rescheduling?"),
+ QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No ) == QtGui.QMessageBox.No:
+ #remove from the patients diary
+ if appointments.delete_appt_from_apr(appt):
+ self.advise(_("Sucessfully removed appointment"))
+ else:
+ self.advise(_("Error removing from patient diary"),2)
+
+ self.layout_ptDiary()
+
+ def addApptLength(self, dl, hourstext, minstext):
+ '''
+ adds our new time option to the dialog, and selects it
+ '''
+ hours, mins = int(hourstext), int(minstext)
+ if hours == 1:
+ lengthText = "1 hour "
+ elif hours > 1:
+ lengthText = "%d hours "% hours
+ else:
+ lengthText = ""
+ if mins > 0:
+ lengthText += "%d minutes"% mins
+ lengthText = lengthText.strip(" ")
+ try:
+ dl.apptlength_comboBox.insertItem(0, QtCore.QString(lengthText))
+ dl.apptlength_comboBox.setCurrentIndex(0)
+ return
+ except Exception, e:
+ print "exception in addApptLengthFunction", e
+ self.advise("unable to set the length of the appointment", 1)
+ return
+
+
+ def modifyAppt_clicked(self):
+ '''
+ modify an appointment in the patient's diary
+ much of this code is a duplicate of make new appt
+ '''
+
+ def makeNow():
+ dl.makeNow = True
+
+ def oddLength(i):
+ #-- odd appt length selected (see above)
+ if i == dl.apptlength_comboBox.count()-1:
+ ol = self.oddApptLength()
+ if ol:
+ QtCore.QObject.disconnect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ self.addApptLength(dl, ol[0], ol[1])
+
+ QtCore.QObject.connect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ if self.diary_model.selectedAppt == None:
+ self.advise(_("No appointment selected"), 1)
+ else:
+ appt = self.diary_model.selectedAppt
+ Dialog = QtGui.QDialog(self)
+ dl = Ui_specify_appointment.Ui_Dialog()
+ dl.setupUi(Dialog)
+ dl.makeNow = False
+
+ dents = localsettings.apptix.keys()
+ for dent in dents:
+ s = QtCore.QString(dent)
+ dl.practix_comboBox.addItem(s)
+ for apptType in localsettings.apptTypes:
+ s = QtCore.QString(apptType)
+ dl.trt1_comboBox.addItem(s)
+ if apptType != "EXAM":
+ dl.trt2_comboBox.addItem(s)
+ dl.trt3_comboBox.addItem(s)
+ hours = appt.length // 60
+ mins = appt.length % 60
+ self.addApptLength(dl, hours, mins)
+ if appt.date:
+ for widget in (dl.apptlength_comboBox, dl.practix_comboBox,
+ dl.scheduleNow_pushButton):
+ widget.setEnabled(False)
+
+ pos = dl.practix_comboBox.findText(appt.dent_inits)
+ dl.practix_comboBox.setCurrentIndex(pos)
+
+ pos = dl.trt1_comboBox.findText(appt.trt1)
+ dl.trt1_comboBox.setCurrentIndex(pos)
+
+ pos = dl.trt2_comboBox.findText(appt.trt2)
+ dl.trt2_comboBox.setCurrentIndex(pos)
+
+ pos = dl.trt3_comboBox.findText(appt.trt3)
+ dl.trt3_comboBox.setCurrentIndex(pos)
+
+ dl.lineEdit.setText(appt.memo)
+
+ QtCore.QObject.connect(dl.apptlength_comboBox,
+ QtCore.SIGNAL("currentIndexChanged(int)"), oddLength)
+
+ QtCore.QObject.connect(dl.scheduleNow_pushButton,
+ QtCore.SIGNAL("clicked()"), makeNow)
+
+ if Dialog.exec_():
+ practixText = str(dl.practix_comboBox.currentText())
+ practix = localsettings.apptix[practixText]
+ lengthText = str(dl.apptlength_comboBox.currentText())
+ if "hour" in lengthText and not "hours " in lengthText:
+ lengthText = lengthText.replace("hour", "hours ")
+ if "hour" in lengthText:
+ length = 60*int(lengthText[:lengthText.index("hour")])
+ lengthText = lengthText[
+ lengthText.index(" ", lengthText.index("hour")):]
+
+ else:
+ length = 0
+ if "minute" in lengthText:
+ length += int(lengthText[:lengthText.index("minute")])
+ code0 = dl.trt1_comboBox.currentText()
+ code1 = dl.trt2_comboBox.currentText()
+ code2 = dl.trt3_comboBox.currentText()
+ note = str(dl.lineEdit.text().toAscii())
+
+ if self.pt.cset == "":
+ cst = 32
+ else:
+ cst = ord(self.pt.cset[0])
+
+ appointments.modify_pt_appt(appt.aprix, appt.serialno,
+ practix, length, code0, code1, code2, note, "", cst)
+ self.layout_ptDiary()
+
+ if appt.date is None:
+ if dl.makeNow:
+ self.layout_ptDiary()
+ self.select_apr_ix(appt.aprix)
+ self.scheduleAppt_pushButton_clicked()
+ else:
+ if not appointments.modify_aslot_appt(appt.date, practix,
+ appt.atime, appt.serialno, code0, code1, code2, note, cst,
+ 0, 0, 0):
+ self.advise(_("Error putting into dentist's book"), 2)
+ self.layout_ptDiary()
+
+
+ def findApptButton_clicked(self):
+ '''
+ an appointment in the patient's diary is being searched for by the user
+ goes to the main appointment page for that day
+ '''
+ appt = self.diary_model.selectedAppt
+ self.find_appt.emit(appt)
+
+ def printApptCard_clicked(self):
+ '''
+ user has asked for a print of an appointment card
+ '''
+ dl = appointment_card_dialog.AppointmentCardDialog(self.pt, self)
+ dl.exec_()
+ #self.updateHiddenNotesLabel()
+
+ def memo_edited(self):
+ self.pt.set_appt_memo(unicode(self.ui.appt_memo_lineEdit.text()))
+
+ def show_prefs_dialog(self):
+ dl = appt_prefs_dialog.ApptPrefsDialog(self.pt, self)
+ if dl.exec_():
+ if type(self.pt) == BriefPatient:
+ self.pt.appt_prefs.commit_changes()
+ else:
+ self.preferences_changed.emit()
+
+ def signals(self):
+ self.ui.pt_diary_treeView.expanded.connect(self.treeview_expanded)
+
+ self.ui.pt_diary_treeView.clicked.connect(self.treeview_clicked)
+
+ QtCore.QObject.connect(self.ui.apptWizard_pushButton,
+ QtCore.SIGNAL("clicked()"), self.apptWizard_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.newAppt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.newAppt_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.scheduleAppt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.scheduleAppt_pushButton_clicked)
+
+ QtCore.QObject.connect(self.ui.clearAppt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.clearApptButton_clicked)
+
+ QtCore.QObject.connect(self.ui.modifyAppt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.modifyAppt_clicked)
+
+ QtCore.QObject.connect(self.ui.findAppt_pushButton,
+ QtCore.SIGNAL("clicked()"), self.findApptButton_clicked)
+
+ self.ui.printAppt_pushButton.clicked.connect(
+ self.printApptCard_clicked)
+
+ self.ui.appt_memo_lineEdit.editingFinished.connect(self.memo_edited)
+
+ self.ui.recall_settings_pushButton.clicked.connect(
+ self.show_prefs_dialog)
+
+if __name__ == "__main__":
+ import gettext
+
+ def sig_catcher(*args):
+ print "start scheduling", args
+
+ def sig_catcher2(appt):
+ print "find appointment", appt
+
+
+ gettext.install("openmolar")
+
+ localsettings.initiate()
+
+ app = QtGui.QApplication([])
+ dw = PtDiaryWidget()
+ pt = BriefPatient(20862)
+ dw.set_patient(pt)
+ dw.layout_ptDiary()
+ dw.show()
+
+ dw.start_scheduling.connect(sig_catcher)
+ dw.find_appt.connect(sig_catcher2)
+
+ app.exec_()
+
+
+
diff --git a/src/openmolar/qt4gui/resources_rc.py b/src/openmolar/qt4gui/resources_rc.py
new file mode 100644
index 0000000..28b8dc8
--- /dev/null
+++ b/src/openmolar/qt4gui/resources_rc.py
@@ -0,0 +1,39763 @@
+# -*- coding: utf-8 -*-
+
+# Resource object code
+#
+# Created: Fri Nov 22 14:47:54 2013
+# by: The Resource Compiler for PyQt (Qt v4.8.6)
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore
+
+qt_resource_data = "\
+\x00\x00\x63\x4f\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x02\xfa\x00\x00\x00\xd5\x08\x06\x00\x00\x00\x26\x7a\x54\x1f\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x06\xb8\x00\x00\x06\xb8\x01\
+\x57\xbd\xea\x84\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x10\
+\x0a\x24\x22\x75\x63\x33\x8c\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xbd\x77\x70\x1c\xe7\x7d\xff\xff\xbe\xde\xef\x50\x0e\x1d\
+\x44\x63\x05\x09\x90\x20\x09\xf6\x2a\x92\x60\x15\x65\xaa\x98\xb2\
+\x6c\x2b\x71\xec\x6f\x1c\x27\xce\xd8\x49\x26\xdf\x99\xdf\x6f\x26\
+\x93\xc9\x78\xc6\xdf\x3f\x92\xf9\x26\x4e\x9c\x58\x16\x6d\x49\x96\
+\x64\xc9\x56\x27\x25\xf6\x5e\x45\x82\x24\x48\xa2\x10\x44\x3f\x94\
+\x43\xaf\xd7\xfb\xee\xf7\x0f\x18\x07\x1c\x01\xdc\xdd\x1e\x0e\x77\
+\x0b\xf0\xf3\x9a\xc1\xf0\x0e\xdc\xc5\x3e\xcf\xee\xb3\xbb\xef\xe7\
+\xf3\x7c\x8a\x80\x65\x59\x16\x04\x41\x10\x04\x41\x10\x04\x41\xcc\
+\x2b\x84\x74\x0a\x08\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\x10\
+\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\
+\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\
+\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x09\
+\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\
+\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\
+\x04\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\
+\x20\x08\x12\xfa\x04\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\
+\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\
+\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\
+\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\
+\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\
+\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\
+\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\x41\x10\x04\x41\
+\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\
+\x41\x10\x04\x41\x10\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\x20\
+\x08\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\
+\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\
+\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\
+\x10\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\
+\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\
+\x08\x82\x20\x48\xe8\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\
+\x20\x08\x82\x20\x08\x82\x20\x08\x12\xfa\x04\x41\x10\x04\x41\x10\
+\x04\x41\x90\xd0\x27\x08\x82\x20\x08\x82\x20\x08\x82\x84\x3e\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\x08\x82\x20\x08\
+\x82\x84\x3e\x41\x10\x04\x41\x10\x04\x41\x10\x24\xf4\x09\x82\x20\
+\x08\x82\x20\x08\x82\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x10\x04\
+\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\x13\x04\x41\x10\
+\x04\x41\x10\x04\x09\x7d\x82\x20\x08\x82\x20\x08\x82\x20\x48\xe8\
+\x13\x04\x41\x10\x04\x41\x10\x04\x41\x42\x9f\x20\x08\x82\x20\x08\
+\x82\x98\xaf\xf8\x7c\x3e\xb0\x2c\x4b\x27\x82\x87\x88\xe9\x14\x10\
+\x04\x41\x10\x04\x41\x10\x53\x61\xb7\xdb\x61\x34\x1a\xd1\xd1\xd1\
+\x01\xa3\xd1\x88\xe1\xe1\x61\x58\xad\x56\xff\x8f\xc5\x62\x81\xc7\
+\xe3\x01\x00\x08\x85\x42\x88\xc5\x62\x88\xc5\x62\x88\x44\x22\xa8\
+\x54\x2a\xe8\xf5\x7a\xa4\xa4\xa4\x40\xaf\xd7\x43\xaf\xd7\x23\x35\
+\x35\x15\xb9\xb9\xb9\x90\xcb\xe5\x74\x72\x63\x80\x80\xa5\x29\x18\
+\x41\x10\x04\x41\x10\xc4\x33\x0f\xcb\xb2\x30\x18\x0c\xa8\xae\xae\
+\xc6\x93\x27\x4f\x60\x34\x1a\x31\x34\x34\x14\x7d\xf1\x29\x10\x20\
+\x3b\x3b\x1b\x8b\x16\x2d\xc2\xe2\xc5\x8b\xb1\x68\xd1\x22\x64\x65\
+\x65\x41\x20\x10\xd0\x45\x20\xa1\x4f\x10\x04\x41\x10\x04\x41\x44\
+\x03\x93\xc9\x84\x87\x0f\x1f\xa2\xaa\xaa\x0a\x35\x35\x35\xb0\x5a\
+\xad\x71\x69\x87\x56\xab\x45\x69\x69\x29\x36\x6e\xdc\x88\xc2\xc2\
+\x42\x88\x44\x22\xba\x38\x24\xf4\x09\x82\x20\x08\x82\x20\x08\x2e\
+\xf8\x7c\x3e\x3c\x78\xf0\x00\xd7\xae\x5d\x43\x65\x65\x25\x7c\x3e\
+\x1f\xaf\xda\xa7\x56\xab\xfd\xa2\xbf\xb8\xb8\x98\x2c\xfd\x24\xf4\
+\x09\x82\x20\x08\x82\x20\x88\x60\x18\x8d\x46\x5c\xb9\x72\x05\x37\
+\x6f\xde\x84\xc5\x62\x99\x13\x6d\x4e\x4b\x4b\xc3\x81\x03\x07\xb0\
+\x63\xc7\x0e\xc8\x64\x32\xba\x88\x24\xf4\x09\x82\x20\x08\x82\x20\
+\x88\x31\x0c\x06\x03\xbe\xf8\xe2\x0b\x54\x54\x54\xcc\xd9\xec\x38\
+\x2a\x95\x0a\xbb\x76\xed\xc2\xbe\x7d\xfb\x90\x94\x94\x44\x17\x95\
+\x84\x3e\x41\x10\x04\x41\x10\xc4\xb3\x4b\x63\x63\x23\xbe\xf8\xe2\
+\x0b\x3c\x7a\xf4\x68\xde\xf4\x49\x24\x12\x61\xc7\x8e\x1d\x38\x7a\
+\xf4\x28\xb4\x5a\x2d\x5d\x64\x12\xfa\x04\x41\x10\x04\x41\x10\xcf\
+\x0e\xbd\xbd\xbd\xf8\xdd\xef\x7e\x87\xca\xca\xca\x79\xdb\x47\x85\
+\x42\x81\x23\x47\x8e\x60\xff\xfe\xfd\x90\x48\x24\x74\xd1\x49\xe8\
+\x13\x04\x41\x10\x04\x41\xcc\x5f\x3c\x1e\x0f\xbe\xfc\xf2\x4b\x7c\
+\xf9\xe5\x97\xfe\xdc\xf6\xd1\x51\x8b\x02\x88\x64\x6a\x88\xe4\xda\
+\xd1\x1f\x85\xee\x4f\xff\x6a\x21\x92\xeb\x20\x92\xab\xc1\x32\x5e\
+\x30\x1e\x27\x18\x8f\x03\x8c\xc7\x09\x76\xc2\xe7\xd1\xef\x0e\xf8\
+\x9c\x66\xb8\x4d\x3d\x00\xcb\x44\xad\x69\xa9\xa9\xa9\xf8\xce\x77\
+\xbe\x83\x75\xeb\xd6\xd1\x00\x20\xa1\x4f\x10\x04\x41\x10\x04\x31\
+\xff\xa8\xa9\xa9\xc1\x3b\xef\xbc\x83\xee\xee\xee\x99\x8b\x43\xa1\
+\x18\x32\x7d\x3e\xe4\x69\x4b\x21\x4d\xc8\x82\x48\xae\x01\x04\xc2\
+\xa8\xb4\x93\xf5\xba\xe1\x1a\x6a\x83\x6b\xb0\x15\xae\x01\x03\x7c\
+\x8e\x91\xa8\xfc\xdd\x95\x2b\x57\xe2\x47\x3f\xfa\x11\x12\x12\x12\
+\x68\x30\x90\xd0\x27\x08\x82\x20\x08\x82\x98\xfb\xb8\xdd\x6e\xbc\
+\xfb\xee\xbb\xb8\x72\xe5\xca\xcc\x04\xa1\x58\x0a\x79\xca\x22\xc8\
+\x53\x97\x40\xa6\xcf\x87\x40\x14\x1b\x77\x18\x9f\x7d\x04\xae\x41\
+\xc3\xa8\xf0\x1f\x6a\x03\xeb\x75\x47\xfc\xb7\x34\x1a\x0d\xfe\xea\
+\xaf\xfe\x0a\x6b\xd6\xac\xa1\x81\x41\x42\x9f\x20\x08\x82\x20\x08\
+\x62\xee\xd2\xd3\xd3\x83\x5f\xfc\xe2\x17\x68\x6f\x6f\x8f\x68\x7f\
+\xa1\x44\x01\x79\xea\x62\xc8\xd3\x96\x40\x9a\x94\x0b\x81\x30\xce\
+\x45\xaa\x58\x06\xee\x91\x2e\xd8\x3b\xab\xe0\xec\x79\x02\x96\x89\
+\x2c\xbf\x7f\x59\x59\x19\xbe\xf3\x9d\xef\x40\x2a\x95\x92\xd0\x27\
+\xa1\x4f\x10\x04\x41\x10\x04\x31\xb7\x28\x2f\x2f\xc7\x9b\x6f\xbe\
+\x09\xa7\xd3\xc9\x79\x5f\x91\x32\x01\xda\xc5\x3b\x20\x4f\x5d\x02\
+\xf0\xb4\x18\x15\xe3\xb2\xc1\xd6\xf1\x00\xf6\x8e\x47\x60\x3c\x0e\
+\xce\xfb\x67\x67\x67\xe3\xa7\x3f\xfd\x29\xb2\xb2\xb2\x48\xe8\xd3\
+\xed\x42\x10\x04\x41\x10\x04\xc1\x7f\x18\x86\xc1\xfb\xef\xbf\x8f\
+\x73\xe7\xce\x71\xde\x57\x28\x51\x40\xbd\x70\x33\x54\x0b\x56\x47\
+\xcd\xe7\x7e\xb6\x61\x19\x2f\x1c\x9d\x55\xb0\x34\x7f\x0d\xc6\x6d\
+\xe7\xb4\xaf\x52\xa9\xc4\x3f\xfc\xc3\x3f\x60\xf9\xf2\xe5\x24\xf4\
+\x09\x82\x20\x08\x82\x20\x08\xfe\xe2\xf5\x7a\xf1\xcb\x5f\xfe\x12\
+\xf7\xee\xdd\xe3\x26\xf6\x84\x22\x28\x73\xd6\x42\x5d\xb0\x09\x42\
+\xf1\xdc\xac\x2e\xcb\x7a\x5d\xb0\xb4\xdc\x86\xbd\xbd\x82\x93\x4b\
+\x8f\x58\x2c\xc6\x0f\x7f\xf8\x43\x6c\xdd\xba\x95\x84\x3e\x41\x10\
+\x04\x41\x10\x04\xc1\x3f\x5c\x2e\x17\xfe\xfd\xdf\xff\x1d\xd5\xd5\
+\xd5\x9c\xf6\x53\x64\x2c\x87\x66\xd1\x76\x88\x14\xf3\xa3\xb8\x94\
+\xcf\x3e\x02\x73\xc3\x15\x38\xfb\x1a\x39\xed\x77\xf4\xe8\x51\x1c\
+\x39\x72\x84\x84\x3e\x41\x10\x04\x41\x10\x04\xc1\x1f\xec\x76\x3b\
+\xfe\xf5\x5f\xff\x15\x0d\x0d\x0d\x61\xef\x23\x4d\xcc\x86\x76\xe9\
+\x2e\x48\xb4\xe9\x31\x69\xa3\xd7\x3e\x0c\xaf\x75\xc0\xff\x5d\x24\
+\x53\x41\xa2\xcb\x9c\xb5\xe3\x39\x7b\x1b\x60\xaa\x3d\x0b\xc6\x13\
+\x7e\x8c\xc2\x9e\x3d\x7b\xf0\x17\x7f\xf1\x17\x10\xf0\x34\x2e\x81\
+\x84\x3e\x41\x10\x04\x41\x10\xc4\x33\x84\xd5\x6a\xc5\xcf\x7f\xfe\
+\x73\xb4\xb5\xb5\x85\xbd\x8f\x3a\x6f\x03\x34\x4b\x76\xc4\xa4\x7d\
+\x8c\xdb\x0e\x4b\xe3\x35\xd8\x3b\x27\xaf\x34\x88\x55\x49\x50\x2e\
+\x58\x03\x65\x56\x11\x04\xa2\xe8\x67\xc0\xf1\x39\x2d\x18\xa9\x3e\
+\x09\xf7\x70\x47\xd8\xfb\x1c\x3c\x78\x10\xdf\xfd\xee\x77\x49\xe8\
+\x13\x04\x41\x10\x04\x41\x10\xf1\xc3\xe3\xf1\xe0\xe7\x3f\xff\x79\
+\xf8\x96\x7c\x81\x10\xba\xe5\xfb\xa0\xcc\x2a\x8e\x4d\xfb\x2c\x7d\
+\x18\xba\xff\x51\xc8\xac\x38\x22\xb9\x06\x89\xab\x5f\x82\x44\x93\
+\x16\xfd\x46\xb0\x2c\xac\xad\xe5\xb0\x34\xdd\x0c\xbb\xe2\xee\xab\
+\xaf\xbe\x8a\x6f\x7c\xe3\x1b\x24\xf4\x09\x82\x20\x08\x82\x20\x88\
+\xd8\xc3\xb2\x2c\xfe\xf3\x3f\xff\x13\x77\xef\xde\x0d\x6b\x7b\xa1\
+\x44\x8e\xc4\x55\x47\x20\x4d\xca\x89\x4d\xfb\x7c\x6e\x0c\xdc\x7e\
+\x17\x5e\xfb\xb0\xff\x77\x69\x69\x69\x50\xab\xd5\xf0\x78\x3c\x30\
+\x1a\x8d\x60\x98\x71\xe1\x2d\x10\x49\x90\xb0\xf2\x30\xe4\x29\x8b\
+\x66\xa5\x3d\xae\xa1\x36\x0c\x3f\x3a\x0e\xd6\xeb\x0a\x6b\xfb\xef\
+\x7f\xff\xfb\xd8\xb3\x67\x0f\x09\x7d\x82\x20\x08\x82\x20\x08\x22\
+\xb6\xbc\xf7\xde\x7b\x38\x7b\xf6\x6c\x58\xdb\x8a\x95\x89\x48\x5c\
+\xf3\x32\xc4\xca\xa4\x98\xb5\x6f\xa4\xe6\x14\x1c\x5d\x8f\x47\x27\
+\x19\x42\x21\xfe\xe9\x9f\xfe\x09\x4b\x96\x2c\x81\x50\x28\x84\xd5\
+\x6a\x45\x6f\x6f\x2f\x6e\xde\xbc\x89\xcb\x97\x2f\xc3\xe3\xf1\xfc\
+\x49\x75\x0a\xa0\x59\xbc\x03\xaa\xec\x55\xa3\xae\x3c\x51\xf6\x95\
+\xf7\x5a\x07\x30\xf4\xe0\x53\xf8\x9c\xe6\xd0\x02\x58\x20\xc0\x4f\
+\x7e\xf2\x13\x6c\xd8\xb0\x81\x84\x3e\x41\x10\x04\x41\x10\x04\x11\
+\x1b\x4e\x9f\x3e\x8d\xdf\xff\xfe\xf7\x61\x6d\x2b\x4d\xca\x41\xe2\
+\xaa\x23\x10\x4a\xe4\x31\x6b\x9f\x6b\xd0\x80\xa1\x8a\x4f\xfc\xdf\
+\x27\x5a\xc7\xdd\x6e\x37\xac\x56\x2b\xc6\xe4\x65\x6b\x6b\x2b\x8e\
+\x1d\x3b\x06\x8b\xc5\x12\xf0\x37\x84\x12\x39\x14\x59\xc5\x50\x2d\
+\x58\x03\x91\x42\x17\xb5\xb6\x31\x2e\x2b\x86\x1e\x7e\x06\x8f\xb9\
+\x37\xe4\xb6\x32\x99\x0c\x3f\xfb\xd9\xcf\xb0\x60\xc1\x82\x79\x3b\
+\x96\x84\x74\x3b\x11\x04\x41\x10\x04\x41\xf0\x83\xda\xda\x5a\x7c\
+\xf0\xc1\x07\x61\x6d\xab\xcc\x2a\x46\xf2\xda\xa3\x31\x15\xf9\x00\
+\x60\x6b\xab\xf0\x7f\x5e\xbe\x7c\x39\x76\xec\x18\x0d\xfc\x75\x3a\
+\x9d\xb0\x58\x2c\x98\x68\x43\xce\xcb\xcb\xc3\x3f\xfe\xe3\x3f\x22\
+\x3d\x3d\x30\xfb\x0f\xe3\x71\xc2\xd6\x7a\x0f\x7d\x37\x8f\xc1\x5c\
+\x7f\x19\x88\x92\xdd\x59\x28\x53\x23\x79\xdd\xb7\x21\xd1\x65\x84\
+\x9e\xb0\xb8\x5c\xf8\xc5\x2f\x7e\x11\x51\x75\x61\x12\xfa\x04\x41\
+\x10\x04\x41\x10\x44\xf8\x02\xda\x66\xc3\xaf\x7e\xf5\x2b\x84\xe3\
+\x6c\xa1\xce\xdb\x00\xdd\x8a\x03\x31\xaf\x70\xeb\xb3\x8f\xc0\x35\
+\xd0\xe2\xff\xfe\xda\x6b\xaf\x41\x22\x91\xc0\xeb\xf5\xc2\x66\xb3\
+\x4d\xb9\x4f\x52\x52\x12\xfe\xf6\x6f\xff\x16\x09\x09\x09\x93\xff\
+\x93\x65\x61\x6b\xbb\x8f\xa1\x87\x9f\x81\xf5\xba\xa3\xd2\x46\x81\
+\x48\x82\xa4\xd5\x2f\x41\x24\xd7\x84\xdc\xb6\xbb\xbb\x1b\xbf\xf9\
+\xcd\x6f\x48\xe8\x13\x04\x41\x10\x44\xac\xb1\xdb\xed\xb0\x58\x2c\
+\xd3\xfe\x78\xbd\x5e\x3a\x49\xc4\xbc\xe1\xb7\xbf\xfd\x2d\x86\x86\
+\x86\x42\x6e\xa7\xc8\x58\x11\xb3\xf4\x99\x93\x26\x23\x1d\x0f\xfd\
+\x9f\xf3\xf2\xf2\x90\x9b\x9b\x0b\x96\x65\x27\xb9\xe6\x3c\x8d\x4e\
+\xa7\xc3\x8f\x7e\xf4\x23\xc8\x64\xe3\x95\x79\x45\x22\x91\xff\xb3\
+\x6b\xa0\x05\x03\x77\x3f\x00\xe3\xb6\x47\x47\xe0\x4a\x55\x48\x5c\
+\xfd\x72\x58\x69\x3d\x6f\xdf\xbe\x8d\x8b\x17\x2f\xce\xcb\x31\x25\
+\xa6\xdb\x8a\x20\x08\x82\xe0\x1b\x2c\xcb\xe2\xfc\xf9\xf3\x68\x6e\
+\x6e\x0e\xba\x9d\x54\x2a\xc5\xba\x75\xeb\xb0\x6a\xd5\x2a\x3a\x69\
+\xc4\x9c\xe6\xea\xd5\xab\x28\x2f\x2f\x0f\xb9\x9d\x2c\x39\x17\x09\
+\x45\x07\xe2\x73\x5f\xfa\x3c\x70\x74\x8d\xe7\xcb\x7f\xe5\x95\x57\
+\x20\x16\x8b\xe1\x70\x38\x02\x32\xec\x8c\xdd\xc3\x0c\xc3\x04\x88\
+\xf9\xac\xac\x2c\x7c\xef\x7b\xdf\xc3\xb1\x63\xc7\xc0\xb2\x2c\x7c\
+\x3e\x1f\x54\x2a\x95\x7f\x25\xc0\x6b\xed\xc7\xd0\xc3\xcf\x90\xbc\
+\xee\x35\x08\x84\x33\x97\xa8\x12\x4d\x2a\x12\x56\x3e\x8f\xe1\x47\
+\x5f\x84\x74\x0d\x7a\xff\xfd\xf7\x51\x58\x58\x88\xac\xac\xac\x79\
+\x35\xae\xc8\xa2\x4f\x10\x04\x41\xf0\x8e\x8e\x8e\x8e\x90\x22\x1f\
+\x18\x0d\xfc\x2b\x2f\x2f\x87\xdb\xed\xa6\x93\x46\xcc\x59\x7a\x7b\
+\x7b\xf1\xde\x7b\xef\x85\x21\x5c\x53\x90\xb8\xea\xc5\x98\xbb\xeb\
+\x8c\xe1\xe8\x79\xe2\xaf\x44\xab\xd1\x68\xb0\x62\xc5\x0a\xb0\x2c\
+\x3b\xc9\xc7\x9d\x65\x59\x98\xcd\x66\x58\x2c\x16\xd8\x6c\xb6\x80\
+\x49\x40\x51\x51\x51\x40\x0e\x7b\x9b\xcd\x06\xbd\x5e\xef\xff\xee\
+\x31\x75\x63\xa4\xea\xab\xa8\xf9\xec\xcb\x53\x16\x41\xbb\x38\xf4\
+\xea\x87\xc7\xe3\xc1\x5b\x6f\xbd\x85\xf9\x96\xa3\x86\x84\x3e\x41\
+\x10\x04\xc1\x3b\x86\x87\x87\xc3\xde\xd6\xeb\xf5\xc2\x6c\x36\xd3\
+\x49\x23\xe6\x2c\x6f\xbf\xfd\x76\xc8\x80\x50\x81\x58\x86\xc4\x92\
+\x97\x21\x10\x4b\xe3\xd6\x4e\x7b\xfb\x03\xff\xe7\x9d\x3b\x77\x42\
+\x2a\x95\xc2\xe5\x72\x4d\xb2\xe6\x3b\x1c\x0e\xb0\x2c\x0b\x81\x40\
+\x00\x9f\xcf\x07\xbb\xdd\x3e\x9e\x62\x13\xc0\xee\xdd\xbb\xb1\x79\
+\xf3\x66\xff\xf7\x81\x81\x01\x68\x34\xe3\xfe\xf4\xce\xbe\x46\x58\
+\x9a\x6e\x44\xad\xdd\xaa\xbc\xf5\x61\x15\x11\xab\xab\xab\xc3\xf5\
+\xeb\xd7\x49\xe8\x13\x04\x41\x10\x04\x41\x10\x33\xe7\xe1\xc3\x87\
+\xa8\xae\xae\x0e\xb9\x9d\xae\xb0\x0c\x22\x85\x36\x6e\xed\x74\x8f\
+\x74\xc2\x63\xe9\x1b\x15\x8f\x42\x21\xf6\xec\xd9\x03\x81\x40\x00\
+\x87\x23\xb0\x2a\xae\xdb\xed\x86\xdb\xed\x86\x40\x20\x08\xf8\xf1\
+\x78\x3c\x01\x62\xff\xd5\x57\x5f\x45\x49\x49\x89\xff\xbb\xc5\x62\
+\x81\x50\x38\x2e\x4b\xad\x86\x3b\x70\x74\x3f\x8e\x5a\xfb\xb5\x85\
+\x7b\x21\x4d\x0c\x9d\x46\xf3\xc3\x0f\x3f\x84\xd5\x6a\x25\xa1\x4f\
+\x10\x04\x41\x10\x04\x41\x44\x8e\xcf\xe7\x0b\x2b\x5f\xbe\x22\x63\
+\x39\x14\x19\xcb\xe3\xda\x56\x47\xe7\xf8\x64\xa4\xb8\xb8\x18\x89\
+\x89\x89\x93\xac\xf9\x2c\xcb\xc2\xe1\x70\x4c\x12\xf9\x63\x3f\x3e\
+\x9f\x0f\x3e\x9f\xcf\x3f\x59\xf8\xfe\xf7\xbf\xef\x4f\xcd\x09\x60\
+\xd2\xca\x80\xa9\xe6\x0c\xec\xc6\x47\x51\x71\xe3\x11\x08\x45\x48\
+\x2c\x39\x02\x91\x22\x21\xe8\x76\x16\x8b\x05\x1f\x7e\xf8\x21\x09\
+\x7d\x82\x20\x08\x82\x20\x08\x22\x72\xce\x9d\x3b\x87\xee\xee\xee\
+\xa0\xdb\x88\x14\x3a\xe8\x0a\xf7\xc6\xbd\xad\x13\x53\x6a\x3e\xf7\
+\xdc\x73\x10\x8b\xc5\x93\x62\x63\xc6\x2c\xf6\x13\xc5\xbd\x50\x28\
+\x9c\x24\xf6\xfd\xe2\x5b\x20\xc0\x2b\xaf\xbc\x82\x6f\x7e\xf3\x9b\
+\x50\xab\xd5\x93\xf6\x65\x59\x06\xa6\xda\xf3\xe8\xb9\xfc\x9f\x18\
+\xae\x3c\x01\x7b\x67\x15\x18\xb7\x2d\x72\xd1\x2b\x51\x40\x57\x58\
+\x16\x72\xbb\x6b\xd7\xae\xa1\xad\xad\x6d\x5e\x8c\x31\xca\xba\x43\
+\x10\x04\x41\x10\x04\x11\x63\x2c\x16\x0b\x3e\xff\xfc\xf3\x90\xdb\
+\x25\xac\x38\x10\x57\xbf\x7c\x00\xf0\x5a\x07\xe1\x73\x8d\xba\xb3\
+\x88\x44\x22\x14\x16\x16\x82\x65\xd9\x00\x57\x1c\x00\x53\xba\xec\
+\x4c\xf5\x33\xe6\xbf\x3f\xc6\xf6\xed\xdb\xb1\x65\xcb\x16\xd4\xd4\
+\xd4\xe0\xde\xbd\x7b\x68\x68\x68\x00\xc3\x30\x60\x18\x66\x34\x85\
+\x2e\xe3\x81\xb3\xb7\x1e\xce\xde\x7a\x98\x04\x42\xc8\x53\x17\x41\
+\x99\xb5\x12\x32\x7d\x01\xe7\xbe\xc8\xf4\xf9\x90\x25\xe7\xc2\x35\
+\x38\xbd\x90\x67\x59\x16\xc7\x8f\x1f\xc7\x4f\x7f\xfa\x53\x12\xfa\
+\x04\x41\x10\x04\x41\x10\x04\x37\xbe\xfa\xea\x2b\xd8\xed\xc1\x73\
+\xc6\xcb\x53\x17\x43\x9a\x94\x13\xf7\xb6\xba\x06\x0d\xfe\xcf\x05\
+\x05\x05\x90\xcb\xe5\xf0\x7a\xbd\x01\x19\x6a\xc6\xdc\x72\x9e\xb6\
+\xe0\x4f\xfc\x01\x10\xf0\x79\x22\x22\x91\x08\xab\x56\xad\xc2\xaa\
+\x55\xab\x60\xb5\x5a\x51\x53\x53\x83\xe6\xe6\x66\xb4\xb6\xb6\xc2\
+\x6a\xb5\xfa\x83\x95\xbd\x5e\x2f\x9c\xbd\x0d\x70\xf6\x36\x40\xa2\
+\xcb\x80\x6e\xf9\x5e\x48\x34\x69\x9c\xfa\xa3\x59\xf2\x1c\x5c\xb7\
+\x7f\x17\x74\x9b\xbb\x77\xef\xa2\xb3\xb3\x73\xce\xa7\xdb\x24\xa1\
+\x4f\x10\x04\x41\x10\x04\x11\x4b\xe1\xec\x72\xe1\xf2\xe5\xcb\x41\
+\xb7\x11\x08\x45\xd0\x2c\xd9\xc9\x8f\xf6\x0e\xb6\xfa\x3f\x17\x17\
+\x17\x43\x22\x91\x4c\xaa\x82\xeb\xf5\x7a\x27\x09\xfb\x89\xa2\x1f\
+\x18\xf5\xcb\x9f\x18\x70\x3b\xad\x10\xd7\x68\xb0\x79\xf3\x66\x6c\
+\xd9\xb2\x05\x3e\x9f\x0f\x46\xa3\x11\xad\xad\xad\xa8\xaa\xaa\x42\
+\x57\x57\x17\x2c\x16\x0b\x18\x86\x81\xc7\xd4\x8d\x81\xdb\xef\x42\
+\x9e\xb6\x04\xba\xe5\xfb\x20\x94\x28\xc2\xea\x8f\x44\x93\x0a\x45\
+\xe6\x0a\x38\xba\xa6\x0f\xf6\x1d\xb3\xea\xff\xf8\xc7\x3f\x26\xa1\
+\x4f\x10\x04\x41\x10\x04\x41\x84\xc7\xb5\x6b\xd7\x42\x5a\xf3\x95\
+\x0b\xd6\x40\xac\x4c\x8c\x7b\x5b\x59\xc6\x07\xf7\x70\x87\xff\xfb\
+\x9a\x35\x6b\x00\x60\x92\xdb\x0e\xc3\x30\xd3\x5a\xf3\x01\x4c\xfa\
+\x1e\xd6\xb1\x59\x16\x22\x91\x08\x79\x79\x79\xc8\xcf\xcf\xc7\x73\
+\xcf\x3d\x07\xa3\xd1\x88\xbb\x77\xef\xe2\xf6\xed\xdb\xfe\x6a\xbc\
+\xce\xde\x06\xb8\xfa\x9b\xa1\xcc\x59\x03\x75\xee\x7a\x08\x65\xaa\
+\xd0\x93\x89\x45\xdb\xe1\xec\xa9\x07\xcb\x4c\x5f\x5d\xfb\xf6\xed\
+\xdb\x78\xf9\xe5\x97\x91\x9e\x9e\x3e\x67\xc7\x1a\x05\xe3\x12\x04\
+\x41\x10\x04\x41\xc4\x4a\x38\xb3\x2c\xce\x9c\x39\x13\x5c\x9c\x49\
+\x14\x50\x2f\xdc\xcc\x8b\xf6\x7a\x46\x8c\x60\x7d\xa3\xa2\x5e\xa5\
+\x52\x21\x33\x33\x33\x20\x7b\xce\x18\x3e\x9f\x2f\xa4\xc8\x1f\x9b\
+\x08\x84\x62\xaa\x09\xc1\x98\x9b\xd0\x82\x05\x0b\xf0\xf2\xcb\x2f\
+\xe3\xef\xff\xfe\xef\x91\x93\x93\xe3\xdf\x8e\x65\x7c\xb0\xb5\xde\
+\x43\xdf\x8d\x37\x61\xae\xbb\x08\x9f\xd3\x12\xf4\x18\x22\xb9\x06\
+\xaa\xdc\xb5\x41\xb7\x61\x18\x26\xe4\xb5\x22\xa1\x4f\x10\x04\x41\
+\x10\x04\x41\x00\x00\x1e\x3c\x78\x80\xde\xde\xde\xa0\xdb\x28\x17\
+\xac\x86\x50\x2c\xe3\x45\x7b\x27\xba\xed\x2c\x5d\xba\x14\x12\x89\
+\x64\x4a\x6b\xfe\x44\x81\x1e\xa9\xc8\x17\x08\x04\x90\x48\x24\x90\
+\x4a\xa5\x90\x4a\xa5\x90\xc9\x64\x90\x48\x24\x53\xee\x97\x9d\x9d\
+\x8d\x9f\xfc\xe4\x27\xc8\xcc\xcc\x0c\x9c\x10\x30\x5e\xd8\xda\x1f\
+\xa0\xff\xd6\x6f\xe1\xea\x0f\x5e\x5d\x5b\x9d\xbf\x31\xa4\xbb\xcf\
+\xad\x5b\xb7\x26\xf5\x97\x84\x3e\x41\x10\x04\x41\x10\x04\x31\x89\
+\x73\xe7\xce\x05\x17\xbb\x42\x11\x54\x39\xab\x79\xd3\x5e\xd7\xc0\
+\xb8\xd0\x5f\xbd\x7a\x35\x44\x22\xd1\xa4\xb4\x9a\x0c\xc3\x84\xcc\
+\xb4\x13\xca\x37\x5f\x20\x10\x40\x2c\x16\x07\x4c\x10\x84\x42\x21\
+\x24\x12\x09\xe4\x72\x39\xc4\xe2\x51\x6f\xf3\x89\x01\xc0\x6a\xb5\
+\x1a\x3f\xf8\xc1\x0f\xa6\x9c\x08\xb0\x3e\x0f\x86\x2b\x4f\xc0\x35\
+\x34\x7d\x76\x1d\x81\x58\x16\x72\xe5\xc4\x6e\xb7\xe3\xfe\xfd\xfb\
+\x24\xf4\x09\x82\x20\x08\x82\x20\x88\xe9\x31\x99\x4c\x78\xfc\x38\
+\x78\xb5\x57\x45\xc6\x72\x08\xa5\x2a\x5e\xb4\x97\xf1\x38\xe0\xb1\
+\x8c\xaf\x3e\x14\x17\x17\x83\x65\xd9\xd1\x94\x97\x4f\x0b\xca\x20\
+\xd9\x76\xc2\x09\xc0\x15\x89\x44\x41\x57\x03\xe4\x72\x39\x64\xb2\
+\xc0\x55\x0e\x96\x65\x91\x9a\x9a\x8a\xc2\xc2\x42\xff\xef\xf2\xf2\
+\xf2\x20\x97\xcb\x47\xff\x9f\xf1\x62\xa4\xea\xab\xa0\x7e\xf8\xca\
+\xec\x92\x90\x3e\xfd\xd7\xae\x5d\x23\xa1\x3f\x17\x71\xb8\x7d\xf0\
+\x31\xec\x33\xd9\x77\xaf\x8f\x81\xd3\xe3\x7b\x26\xfb\xce\xfe\xe9\
+\xda\x33\xec\xb3\x79\xed\x5d\x1e\x06\x6e\x2f\x33\x6f\xfa\xc3\x30\
+\x0c\x5c\x2e\xd7\xec\x9f\xb7\xa7\x2a\x40\xd2\xb9\x23\x9e\xd5\x71\
+\x43\x63\x2e\x72\xee\xdd\xbb\x17\x60\x91\x9e\x0a\x55\xee\x3a\xde\
+\xb4\xd7\x33\xd2\xe5\xff\x9c\x92\x92\x82\x84\x84\x04\x78\x3c\x9e\
+\x49\x7d\x18\xcb\x8b\x1f\xa9\xcb\x4e\xa8\x94\x9c\x63\x7f\x6f\xe2\
+\x84\x81\x65\x59\x30\x0c\x03\x96\x65\x91\x98\x38\x1e\xb4\xac\xd7\
+\xeb\xf1\x8d\x6f\x7c\x03\x52\xe9\x68\xed\x01\xc6\x6d\x0f\x9a\x5d\
+\x47\x20\x14\x41\x9e\xba\x24\x68\xfb\xaa\xab\xab\x31\x34\x34\x34\
+\x27\xc7\xdc\xbc\xcf\xba\xd3\x3d\xec\x44\x7d\xa7\x19\xc3\x36\x37\
+\xcc\x76\x2f\xcc\x76\x0f\xcc\x8e\xd1\x1f\xaf\x8f\x85\x00\x80\x4a\
+\x2e\x86\x56\x29\x81\x56\x21\x81\x56\x29\x86\x4e\x29\xc1\x02\xbd\
+\x0a\x4b\x32\xd5\x90\x88\xe6\xee\x5c\xc8\xe1\xf6\xe1\x89\xd1\x8c\
+\xee\x61\x07\x4c\x76\x2f\x2c\x0e\x0f\x4c\x76\x0f\xcc\x76\x0f\x1c\
+\xee\x51\x91\x2f\x15\x0b\xff\xd4\xf7\xf1\x73\xa0\xd7\xca\xb0\x3c\
+\x5b\x8b\x44\xb5\x74\xce\xf6\x9d\x65\x81\xb6\x01\x1b\x9a\xba\xad\
+\x30\xd9\xfe\x74\xcd\xed\x1e\x98\x1c\x1e\x58\x1c\x5e\x30\x0c\x0b\
+\xa1\x40\x00\xf5\xd8\xb5\x57\x8a\xa1\x55\x48\xa0\x53\x4a\x50\x90\
+\xae\x46\x41\xaa\x0a\x42\xa1\x60\xce\xf6\xdf\x6c\xf7\xa0\xd6\x68\
+\x46\xbf\xc9\x05\xd3\x9f\xfa\x3e\x36\xf6\x5d\x9e\x51\xd1\x21\x97\
+\x8a\xfc\x63\x7e\xac\xef\x69\x09\x72\x14\x66\x6b\xa1\x96\xf3\xf3\
+\xd1\xe0\x74\x3a\xd1\xd6\xd6\x86\xd6\xd6\x56\x0c\x0f\x0f\xc3\x6e\
+\xb7\xfb\x73\x2b\x8b\x44\x22\xa8\x54\x2a\xa8\x54\x2a\xa4\xa7\xa7\
+\x23\x3f\x3f\x1f\x69\x69\x69\x9c\x32\x3c\x8c\xbd\x3c\xba\xbb\xbb\
+\x61\x30\x18\xd0\xd7\xd7\x07\xab\xd5\x0a\xbb\xdd\xee\x0f\x34\x93\
+\xcb\xe5\x50\xa9\x54\x48\x4c\x4c\x44\x5e\x5e\x1e\x72\x72\x72\x26\
+\x59\x99\xf8\x26\xac\x8c\x46\x23\x7a\x7a\x7a\x60\xb7\xdb\x61\xb3\
+\xd9\x60\xb3\xd9\x60\xb7\xdb\xe1\x70\x38\xc0\xb2\x2c\x84\x42\x21\
+\x94\x4a\xa5\xff\xfc\x29\x95\x4a\xa8\xd5\x6a\x64\x67\x67\x23\x35\
+\x35\x95\xd4\x69\x08\x06\x06\x06\xd0\xd1\xd1\x01\x8b\xc5\x32\xe9\
+\x1c\x8f\xb9\x34\x28\x14\x8a\x49\xe7\x38\x23\x23\x03\x59\x59\x59\
+\x61\x59\x3b\xe7\x9a\x98\xef\xec\xec\x44\x77\x77\x77\xd0\x31\xa7\
+\x50\x28\xfc\xe7\x45\xa9\x54\x22\x35\x35\x15\xd9\xd9\xd9\x48\x48\
+\x48\x98\xb7\x63\xa5\xbc\xbc\x3c\xe8\xff\x4b\x13\xb3\x21\x56\xeb\
+\xf9\x23\xf4\xcd\x3d\xfe\xcf\xb9\xb9\xb9\x90\x48\x24\xd3\x66\x0b\
+\x9a\x49\xf0\xed\xc4\xed\x82\xe5\xdd\x9f\xe8\x32\x34\x26\xf2\x01\
+\x60\x78\x78\xd8\xff\x7b\x8d\x46\x03\xbd\x5e\x8f\xa2\xa2\x22\x3c\
+\x78\xf0\x00\x00\x60\x37\x56\x42\x99\xbd\x6a\xda\xe3\x2b\xd2\x96\
+\xc0\xde\xf1\x30\xe8\x7b\xe1\xd6\xad\x5b\x38\x7c\xf8\x30\x09\xfd\
+\xb8\x3f\x60\x58\x16\x86\x5e\x1b\x6a\x3a\x4c\x78\xdc\x6e\xc2\xa0\
+\xc5\x1d\xfc\xa5\x0e\xc0\xea\xf4\xc2\xea\xf4\xa2\x0b\x8e\xc0\x1b\
+\x4e\x2c\xc4\x92\x4c\x0d\x8a\x72\x74\x58\xbe\x40\x0b\x95\x8c\xff\
+\xa7\xcb\x6c\xf7\xa0\xa6\xdd\x84\xea\x76\x13\x9a\x7b\xac\x21\x57\
+\x2c\xdc\x5e\x06\x03\x66\x17\x06\xcc\x81\x16\x96\xcf\x01\x64\x27\
+\x2b\x50\x94\x93\x80\xe2\x5c\x1d\xd2\x13\xe4\xbc\xef\xbb\xd7\xc7\
+\xa0\xb1\xdb\x8a\xea\x76\x13\x6a\x3b\x4c\xb0\x38\xbc\x21\xc7\xca\
+\xd8\xa4\x0f\x83\x81\xff\xa7\x94\x89\x50\x98\xad\x43\x51\x8e\x16\
+\xcb\xb2\xb4\x90\x8a\xf9\xff\x22\xee\x19\x71\xe2\xf1\x9f\xae\xbd\
+\x71\xc0\x8e\x50\xeb\x15\x4e\xb7\x0f\x4e\xb7\x0f\x7d\xa6\xa7\x1f\
+\xd6\x40\x7e\xaa\x0a\x2b\x72\x74\x28\x5a\xa0\x83\x5e\x1b\x7f\x11\
+\x6b\x34\x1a\x51\x51\x51\x81\xae\xae\xae\x69\xad\x61\x3e\x9f\x0f\
+\x66\xb3\x19\x66\xb3\x19\xdd\xdd\xdd\x78\xf8\xf0\x21\x14\x0a\x05\
+\x96\x2e\x5d\x8a\x35\x6b\xd6\xf8\x97\x72\xa7\xc3\x6e\xb7\xa3\xa2\
+\xa2\x02\x8d\x8d\x8d\xfe\xc9\xc3\x54\x0f\x7b\x87\xc3\x01\x87\xc3\
+\x81\x81\x81\x01\x34\x36\x36\x42\x28\x14\x22\x3b\x3b\x1b\xa5\xa5\
+\xa5\xbc\x49\xc1\xe6\x76\xbb\xd1\xd6\xd6\x06\x83\xc1\x80\xb6\xb6\
+\xb6\x90\x81\x64\x0c\xc3\xc0\x6a\xb5\xc2\x6a\xb5\x4e\xb6\x2e\xaa\
+\x54\xc8\xcf\xcf\x47\x7e\x7e\xfe\xbc\x14\xa5\x91\x19\x12\xc6\x27\
+\x83\x2d\x2d\x2d\xfe\x14\x7f\xc1\xb6\xb7\xdb\xed\xb0\xdb\xed\x18\
+\x18\x18\x08\x7c\xcf\x48\xa5\xc8\xc9\xc9\x41\x7e\x7e\x3e\xef\x27\
+\x8d\xc1\x70\xb9\x5c\x68\x6f\x6f\x87\xc1\x60\x40\x7b\x7b\xfb\x24\
+\x1f\xee\xa9\xc6\xdc\xd8\x04\x60\x8c\xba\xba\x3a\x00\xf0\x4f\x32\
+\xb3\xb3\xb3\x91\x97\x97\xe7\xb7\xcc\xce\x75\xcc\x66\x33\x9e\x3c\
+\x79\x12\x74\x9b\x48\x2a\xbd\xce\xea\xb3\x64\x82\xd0\x5f\xb5\x6a\
+\xd5\x24\xb1\xfd\xb4\xd0\x7f\x5a\xa8\x73\x11\xf9\x53\x59\xf0\x27\
+\xfe\x78\xbd\x5e\xbf\xc1\x85\x61\x18\xf8\x7c\x3e\xb0\x2c\x8b\xe1\
+\xe1\x61\x34\x34\x34\xf8\xf7\xd3\xe9\x74\x00\x80\x85\x0b\x17\xfa\
+\x85\xbe\xcf\x65\x09\x31\xc1\xca\x81\x50\xa2\x00\xe3\x71\x4c\xbb\
+\x4d\x65\x65\x25\x09\xfd\x78\x0b\xdc\x8b\x55\xbd\x78\x64\x18\x81\
+\xcd\xe5\x8d\xce\x00\xf7\x32\xa8\x69\x37\xa1\xa6\xdd\x04\xa1\x40\
+\x80\xfc\x34\x15\x76\x15\xa7\x62\x59\x96\x96\x5f\x2f\x1d\x00\x0f\
+\x5b\x86\x71\xe3\x49\x3f\x3a\xfa\x43\x0b\xbc\xb0\xc5\xd5\xa0\x03\
+\xc6\x41\x07\xce\x3e\xec\x86\x5e\x2b\xc3\x86\xc5\xc9\xd8\xb6\x5c\
+\xcf\xbb\x55\x8e\x5e\x93\x13\x17\x1e\xf5\xe2\x71\x87\x29\x6a\x2e\
+\x29\x76\x97\x0f\x15\xcd\x43\xa8\x68\x1e\x82\x58\x24\xc4\xb2\x2c\
+\x0d\xca\x56\xa5\x21\x3b\x59\xc9\xab\xbe\x7b\x7c\x0c\x6e\xd4\x0e\
+\xe0\x4e\xc3\x20\x06\x2d\xd1\x59\x0e\x67\x59\xa0\xa5\xd7\x86\x96\
+\x5e\x1b\xbe\xba\xd7\x85\xf4\x04\x39\x36\x2f\xd3\x63\xe3\x92\x64\
+\x88\x62\xbc\xca\xd1\xdb\xdb\x8b\x3b\x77\xee\xa0\xb3\xb3\x33\xa2\
+\xfd\x1d\x0e\x07\x1e\x3d\x7a\x84\xda\xda\x5a\xac\x5e\xbd\x1a\xab\
+\x56\xad\xf2\x07\x74\x4d\x14\xc5\x8f\x1e\x3d\x42\x65\x65\x65\x44\
+\x99\x15\x18\x86\x41\x7b\x7b\x3b\xda\xdb\xdb\x91\x97\x97\x87\x0d\
+\x1b\x36\x20\x39\x39\x39\x2e\xe3\xa1\xbb\xbb\x1b\x15\x15\x15\x30\
+\x1a\x8d\x51\x73\x17\xb1\xd9\x6c\xa8\xa9\xa9\x41\x4d\x4d\x0d\xa4\
+\x52\x29\xf2\xf3\xf3\xb1\x6e\xdd\x3a\x68\xb5\xfc\x7a\x0e\xc6\x02\
+\x9b\xcd\x86\x8a\x8a\x0a\x34\x35\x35\x4d\x3b\x19\x8c\x64\x52\xd6\
+\xd4\xd4\x84\xa6\xa6\x26\xff\xa4\x71\xed\xda\xb5\xc8\xc8\xc8\x98\
+\x13\xe7\x64\x36\xc6\x9c\xd5\x6a\x45\x5d\x5d\x1d\xea\xea\xea\x20\
+\x95\x4a\x51\x54\x54\x84\x95\x2b\x57\x42\xa9\x54\xce\xe9\xf1\x73\
+\xff\xfe\xfd\x90\xe7\x48\x96\x9c\xcf\xaf\x77\x8c\xa9\xdb\xff\x79\
+\xe1\xc2\x85\xb0\xd9\x6c\x53\xf6\x41\x28\x14\x06\xa4\xd7\x0c\xb7\
+\x30\xd6\x54\x42\xff\x69\x6b\xfe\xc4\xc9\x24\xcb\xb2\x60\x59\xd6\
+\x2f\xf2\x01\xe0\xd4\xa9\x53\xfe\x98\x01\x9d\x4e\xe7\xbf\x77\x26\
+\xae\x3c\x88\x64\x9a\xe0\x8d\x10\x08\x20\x4f\x5d\x04\x7b\x67\xf5\
+\xb4\x9b\x34\x36\x36\xc2\xed\x76\xcf\xb9\x89\xe7\x9c\x17\xfa\x4e\
+\x8f\x0f\x57\xaa\xfb\x70\xbd\xb6\x7f\x56\xfd\x8e\x19\x96\x45\x73\
+\x8f\x15\xcd\x3d\x56\x2c\xce\xd0\xe0\xf9\xd2\x4c\x64\x27\x2b\xe2\
+\xde\xff\xc6\x6e\x0b\x4e\xde\xef\x82\x71\xd0\x31\xab\xc7\x19\x30\
+\xbb\x70\xaa\xa2\x0b\x37\x9f\xf4\x63\xdf\xea\x74\xac\x5b\x94\x04\
+\xa1\x20\xbe\xae\x2d\x66\x87\x07\xe7\x1e\xf6\xe0\x6e\xe3\xd0\xac\
+\xfa\xdb\x7b\x7d\xa3\x13\xbe\xc7\xed\x26\x94\xe4\x27\xe2\xc0\x9a\
+\x0c\x24\x6b\xe2\x7b\xa3\xb3\x2c\x70\xaf\x69\x08\x67\x1f\x75\xc3\
+\x64\x9b\xdd\xb4\x5f\x3d\x23\x4e\x7c\x7e\xc7\x88\xeb\xb5\xfd\x38\
+\xb0\x26\x03\xab\xf2\x12\x10\x8b\x2b\x5f\x51\x51\x81\xbb\x77\xef\
+\x86\xf4\x67\x0d\x57\x4c\x95\x97\x97\xa3\xa1\xa1\x01\x07\x0f\x1e\
+\xf4\x5b\x7c\x06\x07\x07\x71\xe6\xcc\x19\x98\xcd\xe6\xa8\xb4\xb9\
+\xb5\xb5\x15\xed\xed\xed\xd8\xba\x75\x2b\x8a\x8a\x8a\x62\x36\x1e\
+\x86\x87\x87\x71\xfb\xf6\x6d\xb4\xb6\xb6\xce\xea\x71\xdc\x6e\x37\
+\xea\xeb\xeb\xd1\xd8\xd8\x88\xa2\xa2\x22\x94\x96\x96\x86\x5c\x29\
+\x99\x0f\xb8\xdd\x6e\x3c\x7c\xf8\x10\x95\x95\x95\x53\x06\x21\x46\
+\xed\x3d\x33\x61\xd2\x98\x9f\x9f\x8f\x8d\x1b\x37\x06\xf8\x1e\xf3\
+\x89\xa1\xa1\x21\xdc\xb9\x73\x27\x26\x63\xee\xc1\x83\x07\xa8\xac\
+\xac\x44\x61\x61\x21\x4a\x4a\x4a\xe6\xec\x24\xb3\xaa\xaa\x2a\xb8\
+\xe0\x95\x2a\x21\xd1\xa6\xf1\xa6\xbd\x3e\xa7\x19\x8c\xdb\xee\x17\
+\xdc\x52\xa9\x74\xda\xf8\x8a\xa7\x03\x6f\xb9\x88\xfc\xe9\xdc\x76\
+\x26\xfe\x8c\xb9\x4f\x8e\xf9\xe5\x8f\x31\x56\x3c\x6b\x8c\x0d\x1b\
+\x36\xf8\x8f\xdd\xd6\x36\x9e\x6d\x47\xa4\x08\x3d\x66\xe4\x69\x4b\
+\x83\x0a\x7d\x8f\xc7\x83\xba\xba\x3a\xac\x5c\xb9\x92\x84\x7e\x4c\
+\x06\x20\xc3\xe2\x76\xfd\x00\x2e\x54\xf6\xc2\xea\xf4\xc6\xf4\xd8\
+\x8d\xdd\x16\xfc\xe2\xab\x7a\x94\x14\x24\xe2\xe0\x9a\x0c\x24\xc5\
+\xc1\x97\xbd\x6b\xc8\x81\x93\x15\x5d\xa8\xef\xb4\xc4\xf4\xb8\x26\
+\xbb\x07\x1f\xdf\xea\xc0\xb5\x9a\x7e\x1c\x2a\xcd\xc0\x8a\x05\xba\
+\x98\xf7\xdd\xe5\x61\x70\xa5\xa6\x17\xd7\x1e\xf7\xc7\x34\xa8\x94\
+\x05\xf0\xd0\x30\x8c\xaa\xb6\x11\x6c\x5e\xa6\x47\xd9\xaa\xb4\xb8\
+\xb8\x73\x3d\x31\x9a\x71\xb2\xa2\x0b\x3d\xc3\xce\x98\x1e\x77\xc0\
+\xec\xc2\xfb\x57\x5b\x71\x55\xaf\xc4\xf3\xa5\x99\x58\x94\xae\x9e\
+\xb5\x17\xfb\xa5\x4b\x97\x60\x30\x18\x66\x45\x10\x7f\xf2\xc9\x27\
+\x28\x2b\x2b\x83\xd7\xeb\xc5\xe5\xcb\x97\xa3\x9e\x1f\x99\x61\x18\
+\x5c\xbf\x7e\x1d\x3d\x3d\x3d\xd8\xb9\x73\xe7\xa4\x15\x84\x68\x62\
+\xb3\xd9\x70\xf7\xee\x5d\xd4\xd5\xd5\x45\x65\x42\xc4\xa5\x8f\x55\
+\x55\x55\xa8\xab\xab\x9b\x76\xa5\x64\x3e\xc0\x30\x0c\x6a\x6a\x6a\
+\x70\xff\xfe\xfd\xa8\x59\xf0\xc3\xc5\x60\x30\xa0\xb5\xb5\x15\x85\
+\x85\x85\x58\xb7\x6e\x1d\x54\x2a\x7e\x64\x61\xb1\x58\x2c\xb8\x7b\
+\xf7\x2e\x1a\x1a\x1a\x62\x3a\xe6\x7c\x3e\x1f\x6a\x6a\x6a\x50\x5b\
+\x5b\x8b\xd2\xd2\x52\xac\x59\xb3\x66\xce\xb9\x91\x35\x35\x35\x05\
+\xfd\x7f\x59\x52\x2e\xaf\xda\xeb\x31\x8d\xbb\xed\xa4\xa5\xa5\x05\
+\x75\x2b\x8b\x44\xe4\x8f\x09\xfd\x89\xfb\x8f\x7d\x9e\xf8\xaf\xc3\
+\xe1\xf0\x07\x00\x4f\x1c\x73\x16\x8b\x05\xbf\xfd\xed\x6f\xfd\xbf\
+\xd3\xeb\xf5\x58\xbc\x78\xf1\xa8\x56\x31\x99\x50\x5b\x5b\x3b\x2e\
+\xe2\x53\x17\x87\x6c\x8b\x34\x29\x17\x02\xb1\x14\xac\x77\x7a\xb7\
+\xb3\x9a\x9a\x1a\x12\xfa\xb1\xa0\x77\xc4\x89\xdf\x5d\x31\xa0\xcf\
+\x14\xbf\xc8\xfd\x31\x77\x99\xaa\xd6\x11\x3c\xbf\x36\x13\xdb\x57\
+\xa4\xc4\xe6\xc5\xc3\xb2\xf8\xea\x7e\x17\x6e\xd4\xf6\x23\x9e\x49\
+\x63\x7a\x4d\x4e\xbc\x7d\xc9\x80\x25\x99\x1a\x7c\x77\x7b\x2e\x54\
+\x31\x0a\xde\x6c\xea\xb6\xe2\xfd\x6b\xad\x31\x9f\xdc\x3d\x3d\xc9\
+\xbc\x51\xdb\x8f\x7b\x4d\x43\xf8\xd6\x96\x1c\x14\xe7\xc6\x66\xb2\
+\xe3\x74\xfb\xf0\xc1\x8d\x36\xd4\x76\x98\xe3\x7a\xff\x75\x0c\xd8\
+\xf1\xc6\xd9\x26\x94\xe4\x27\xe0\xd5\x2d\x39\x51\x8d\x5f\xf0\x7a\
+\xbd\xf8\xea\xab\xaf\x42\x16\x93\x99\xe9\x44\xe2\xf4\xe9\xd3\xb3\
+\x2e\x52\x1a\x1a\x1a\xe0\x70\x38\x70\xe8\xd0\xa1\x59\x11\x24\xb5\
+\xb5\xb5\xb8\x79\xf3\xe6\xac\x5a\x98\xc3\x39\x97\xe5\xe5\xe5\x78\
+\xfc\xf8\x31\xf6\xed\xdb\x87\xb4\x34\xfe\x58\x23\x67\xca\xe0\xe0\
+\x20\xce\x9e\x3d\x0b\x93\xc9\x14\xbf\xf7\x0c\xcb\xa2\xb6\xb6\x16\
+\x0d\x0d\x0d\xd8\xb9\x73\x27\x96\x2c\x59\x12\xd7\x73\xf2\xe4\xc9\
+\x13\x5c\xbf\x7e\x7d\x52\x45\xd4\x58\x4f\xbe\xee\xde\xbd\x8b\xd6\
+\xd6\x56\xec\xd9\xb3\x67\xce\x04\xee\x0e\x0d\x0d\x85\xcc\xda\x22\
+\xd3\xf3\xd7\x6d\x27\x27\x27\x27\xe8\xb6\x02\x81\xc0\x9f\x1e\x33\
+\x5c\x9e\x0e\xd6\x9d\xca\x75\xc7\xe9\x74\xfa\x5d\x76\x02\xda\xe6\
+\xf1\xe0\xd8\xb1\x63\x18\x1c\x1c\x0d\xb0\x13\x89\x44\xd8\xbe\x7d\
+\xbb\xff\xff\x6f\xdd\xba\xe5\xb7\xfc\x8b\x55\xc9\x50\xa4\x2f\x0f\
+\xdd\x1e\xa1\x08\xf2\x94\x45\x70\x74\xd7\x06\x15\xfa\x73\x8d\x39\
+\x17\x55\xf5\xc4\x68\xc6\x7f\x9d\x6a\x8c\xab\xc8\x7f\x5a\xf4\x9d\
+\xb8\xd7\x89\x3f\xde\x6c\x9f\xf5\x54\x9d\x0e\xb7\x0f\xbf\xbd\xd0\
+\x82\xeb\x8f\xe3\x2b\xf2\x03\xc4\x4c\x97\x05\xbf\x38\xd9\x80\x9e\
+\x91\xd9\xb7\x76\xdd\xaa\x1b\xc0\x9b\x17\x9a\xe3\x2a\xf2\x9f\x16\
+\xde\xef\x5e\x31\xe0\x7c\x65\x0f\x66\xfb\x72\x0c\x98\x5d\xf8\xcf\
+\x53\x0d\x71\x17\xf9\x13\x79\x64\x18\xc1\x7f\x9f\x6e\x8c\x9a\xeb\
+\x10\xcb\xb2\xb8\x78\xf1\xe2\xac\x8a\xfc\x89\xc7\x8a\xc9\xa4\xa8\
+\xa3\x03\xd7\xaf\x5f\x8f\x7a\xdb\x6f\xdd\xba\x85\xab\x57\xaf\xc6\
+\x55\xe4\x4f\xc4\x6a\xb5\xe2\xf8\xf1\xe3\x01\x01\x71\x73\x19\x83\
+\xc1\x80\xcf\x3f\xff\x3c\xae\x22\xff\xe9\x09\xf0\xc5\x8b\x17\x71\
+\xfb\xf6\xed\x98\x5a\xd1\x27\x8e\xb9\x9b\x37\x6f\xe2\xca\x95\x2b\
+\x71\x15\xf9\x13\xe9\xeb\xeb\xc3\xc7\x1f\x7f\x1c\xd2\x1d\x86\x2f\
+\x34\x36\x36\x86\xdc\x46\x9a\x9c\xc7\x9b\xf6\xfa\xec\x23\xb0\x19\
+\xc7\xb3\xd0\xe4\xe6\x86\x5e\x6d\xe0\x9a\xe1\xec\xe9\xbc\xf9\x13\
+\x05\x3e\xcb\xb2\xb0\xd9\x6c\x70\x3a\x9d\x53\xa6\xf2\x7c\xef\xbd\
+\xf7\x02\xdc\xc6\x76\xee\xdc\xe9\xf7\xcd\x2f\x2f\x2f\x0f\x58\x11\
+\xd6\x2c\xda\x36\x9a\x65\x22\x0c\x42\xa5\xd9\x6c\x6f\x6f\x9f\x73\
+\x55\x72\xe7\x94\xd0\xbf\x52\xd3\x87\xb7\x2e\xb5\xf0\x32\xff\xfb\
+\xbd\xa6\x21\xfc\xea\x6c\x53\xc8\x4c\x2f\x33\x11\x7a\xff\x75\xaa\
+\x01\xf5\x5d\x16\xde\xf5\x7d\xc8\xea\xc6\x7f\x9d\x6a\xc0\x13\xe3\
+\xec\x88\x50\x1f\xc3\xe2\xb3\xdb\x46\x7c\x7e\xc7\x08\x86\x67\x75\
+\x0f\x58\x00\xe7\x1e\xf6\xe0\xfd\xab\xad\xb3\xe6\x46\x34\x36\x99\
+\xe2\xcb\xe4\x76\x22\x9d\x43\x0e\xfc\xc7\xc9\x06\xb4\xf5\xdb\x66\
+\xfc\xb7\xee\xdc\xb9\x83\x96\x96\x16\xcc\x37\x6a\x6b\x6b\xf1\xe8\
+\xd1\xa3\xa8\xfc\x2d\xb7\xdb\x8d\x53\xa7\x4e\xa1\xb2\xb2\x92\x77\
+\xfd\xf4\xf9\x7c\xb8\x78\xf1\x22\xee\xdc\xb9\x33\xa7\xaf\x57\x45\
+\x45\x05\xce\x9c\x39\xc3\xcb\x97\xf9\xc3\x87\x0f\x71\xea\xd4\xa9\
+\x90\x19\x6d\xa2\x89\xcb\xe5\xc2\xc9\x93\x27\x79\x29\xa8\xbd\x5e\
+\x2f\x6e\xde\xbc\x89\xfa\xfa\x7a\xde\x8f\xab\x50\x6e\x3b\x62\xb5\
+\x1e\x22\x99\x9a\x1f\x8d\x65\x19\x0c\x57\x7f\xe5\x77\x61\xd1\x6a\
+\xb5\x28\x2d\x2d\x8d\xbe\x00\x9d\xc6\x6d\x67\x2c\x23\xd3\x74\x86\
+\x8c\x13\x27\x4e\x04\x3c\x53\x4b\x4b\x4b\xb1\x6c\xd9\x32\x00\xa3\
+\x99\x9b\x26\x56\xb1\x95\xa7\x2e\x86\x3c\x2d\xfc\x95\x30\x99\x3e\
+\x1f\x02\xa1\x68\xda\xff\x67\x18\x06\x5d\x5d\x5d\x24\xf4\xa3\x7e\
+\x33\xfb\x58\x7c\x78\xa3\x0d\x27\xef\x77\x81\xcf\x35\x8e\x5a\xfb\
+\x6c\xf8\xc5\xc9\x7a\x74\x0e\x45\x37\x30\xb6\xb1\x9b\xbf\x42\xcf\
+\xff\x32\xf0\x30\x78\xeb\x52\x0b\xae\xd6\xf4\x45\xf5\xef\xda\x5c\
+\x5e\xbc\x79\xbe\x19\x5f\xd7\x0f\xf0\x7a\x8c\x56\xb6\x8e\xe0\x7f\
+\xce\x34\x62\x24\xca\x81\xb1\x37\x9e\xf4\xe3\x37\x17\x5a\xfc\x75\
+\x0f\xf8\x88\xc5\xe1\xc1\xaf\xce\x36\xa1\xa2\x79\x38\xf2\x89\xec\
+\xc0\x40\xd4\xc4\x30\x1f\xb9\x7b\xf7\x6e\xc8\x14\x8c\xa1\x30\x99\
+\x4c\xf8\xec\xb3\xcf\xd0\xde\xde\xce\xeb\xbe\x3e\x78\xf0\x80\xb7\
+\x42\x39\x94\x68\xbc\x70\xe1\x42\xc8\x3c\xe7\xf1\xa6\xbd\xbd\x1d\
+\x9f\x7e\xfa\x29\x46\x46\x46\x66\xfd\x58\x23\x23\x23\xf8\xf4\xd3\
+\x4f\xd1\xd1\xd1\xc1\xeb\x73\x32\x17\x84\x7e\x73\x73\x73\x70\x81\
+\xc9\xa3\x6c\x3b\x96\xe6\x5b\x7e\xb7\x1d\x81\x40\x80\xd7\x5f\x7f\
+\x3d\xea\x19\x8f\x26\x66\xda\x19\x3b\xce\xd8\xc4\x72\xba\xcc\x3e\
+\xc0\xa8\x4b\xce\xa5\x4b\x97\xfc\xdf\x17\x2f\x5e\x8c\x0d\x1b\x36\
+\x00\x00\x3a\x3b\x3b\x71\xf5\xea\x55\xff\xff\x49\xb4\xe9\x48\x28\
+\x7e\x9e\x53\xbb\x04\x22\x09\x44\x72\x6d\xc8\x7b\x90\x84\x7e\x34\
+\x27\x96\x00\xde\xbf\xd6\x3a\x23\x11\x11\x4b\x46\x6c\x1e\xfc\xea\
+\x4c\x13\x7a\x4d\xd1\x71\x65\x69\xea\xb1\xf2\x5e\xe8\xf9\xaf\x15\
+\x0b\x7c\x75\xbf\x0b\x17\x2a\xa3\xe3\x7a\xe1\xf6\x32\x78\xf3\x5c\
+\x33\x9a\x7b\xac\x73\xe2\xda\x1b\x07\x1d\xf8\x9f\x33\x8d\xb0\x45\
+\xc9\xb5\xe8\xda\xe3\x7e\x1c\x2f\xef\x9c\x13\x15\x7c\xc7\x26\xe3\
+\x0f\x5a\x22\xbb\x4f\x6f\xdc\xb8\x11\x17\x97\x84\x58\x8a\xc8\x9b\
+\x37\x6f\x46\x3e\xe1\xb5\xd9\xf0\xc5\x17\x5f\x04\x14\x85\xe1\x33\
+\x06\x83\x01\xa7\x4f\x9f\x9e\x33\x15\x61\x59\x96\xc5\xd9\xb3\x67\
+\xc3\x72\xaf\xe0\xc5\x7b\x66\x64\x04\x27\x4e\x9c\x08\xc8\x41\x1f\
+\x6d\x6c\x36\x1b\x4e\x9c\x38\xc1\x1b\xf7\xa5\x60\x84\xe3\x56\x12\
+\x6f\x42\xb9\x24\xf2\xc5\x3f\xdf\x3d\x6c\x84\xd5\x30\xbe\x2a\xf7\
+\xdc\x73\xcf\xf9\xad\xe5\xd1\xe4\x69\xb7\x1d\xaf\xd7\x0b\xbb\xdd\
+\x1e\x74\xb5\xaa\xb6\xb6\x16\x1f\x7f\xfc\xb1\xff\x7b\x46\x46\x06\
+\x76\xef\xde\xed\xbf\x27\xce\x9c\x39\xe3\x77\x2d\x13\xc9\x35\x48\
+\x5a\xfd\x12\x04\x22\x09\xf7\xb6\x85\xc8\xd0\xc3\xf7\x89\xef\x9c\
+\x13\xfa\x67\x1e\x74\xa3\xa6\xdd\x34\xa7\x4e\xaa\xd3\xe3\xc3\xdb\
+\x97\x0c\xb0\xbb\x66\x26\xce\x07\x2d\x2e\xbc\x7b\xc5\x30\xeb\xbe\
+\xff\xd1\xe6\xdc\xc3\x6e\x54\xb7\xcd\xec\x9a\xb1\x00\xfe\x70\xa3\
+\x3d\xea\xab\x23\xb3\xcd\x90\xd5\x8d\x77\xaf\xb6\xce\xf8\x9a\xd5\
+\x77\x8d\xa6\x4d\x9d\x6b\x7c\x74\xab\x03\xed\x03\x76\x4e\xfb\x34\
+\x37\x37\xa3\xbb\xbb\x1b\xf3\x1d\x83\xc1\x10\x51\x3d\x00\xaf\xd7\
+\x8b\xd3\xa7\x4f\x4f\x5b\x8d\x92\xaf\x74\x76\x76\xce\x68\x72\x13\
+\x4b\xbe\xfe\xfa\xeb\x39\x67\xa5\xb3\xd9\x6c\x38\x7d\xfa\xf4\xac\
+\xc4\x69\x78\xbd\x5e\x9c\x39\x73\x66\x56\x27\x12\xd1\x22\x27\x27\
+\x27\xa6\xa9\x6c\x23\x3d\x9f\xa1\x56\x60\xc4\xaa\xe4\xb8\xb7\x93\
+\xf1\xba\x30\x52\x7d\x12\x63\xae\x13\xd9\xd9\xd9\x78\xe1\x85\x17\
+\x66\x6d\x72\xcd\x30\x0c\x3c\x1e\x0f\x1c\x0e\xc7\x94\x01\xb7\x13\
+\x69\x69\x69\xc1\xdb\x6f\xbf\xed\x37\x1e\xe8\x74\x3a\x1c\x3c\x78\
+\x10\x22\x91\x08\x4e\xa7\x13\x27\x4f\x9e\xf4\xa7\xfe\x14\x88\xa5\
+\x48\x5c\xfd\x0a\x84\x11\xba\x42\x89\xe4\xba\x79\x25\xf4\x79\x9d\
+\x75\xe7\x61\xcb\x30\x2e\x55\x45\x2f\x30\x4f\x20\x00\xb4\x0a\x09\
+\xb4\x4a\x09\x74\x4a\x09\xb4\x0a\x09\x9c\x1e\x1f\x4c\x76\x0f\x4c\
+\x76\x0f\xcc\x76\x4f\xd4\xfc\xac\x07\xcc\x2e\xbc\x77\xb5\x15\x3f\
+\x2c\x2b\x80\x30\x82\x22\x43\x4e\xb7\x0f\x6f\x5d\x9c\xf9\x64\x61\
+\x22\x72\x89\x08\x5a\xa5\x18\x1a\xc5\x68\xdf\x45\x42\x01\x2c\x0e\
+\x0f\xcc\x0e\x2f\x2c\x0e\x4f\xd4\x82\x5c\x59\x00\x1f\xde\x68\xc3\
+\xdf\x6a\x16\x23\x2b\x29\xb2\x5a\x03\xe7\x1f\xf5\xa0\xaa\x6d\x24\
+\xaa\xd7\x3e\x55\x2b\x87\x46\x31\xda\x7f\xa5\x4c\x04\x87\xdb\x07\
+\xab\xd3\x0b\xb3\xc3\x83\x3e\x93\x2b\x6a\xfe\xff\xcd\x3d\x56\x7c\
+\x51\x6e\xc4\x2b\x9b\x16\x44\x3c\x76\xde\xbf\xda\x1a\x55\x4b\xbe\
+\x4a\x2e\x86\x56\x31\x3a\xee\x75\x4a\x09\x58\xb0\xfe\x71\x6f\xb2\
+\x79\xa2\xb6\x62\xe4\xf5\x31\x78\xe7\x92\x01\x7f\x7f\x78\x09\xb4\
+\xca\xf0\x2c\x29\x13\x53\xa0\x71\x45\x2a\x95\x42\xaf\xd7\x43\xa5\
+\x52\x61\x70\x70\x10\xc3\xc3\xc3\x51\x5f\x19\x10\x0a\x85\x48\x4a\
+\x4a\x42\x62\x62\x22\xac\x56\x2b\x06\x06\x06\x22\x76\x4b\x79\xf2\
+\xe4\x09\xb2\xb2\xb2\x38\xed\x73\xf9\xf2\x65\xf4\xf7\xf7\x47\xef\
+\xa1\x2f\x16\x43\xa5\x52\xf9\x7f\xa4\x52\x29\x1c\x0e\x87\xbf\x3b\
+\x82\x1d\x45\x00\x00\x20\x00\x49\x44\x41\x54\x4a\xa9\xdd\x6e\x8f\
+\x9a\x25\xbe\xa6\xa6\x06\xc9\xc9\xc9\x58\xb1\x62\x05\x6f\xdf\x33\
+\x75\x75\x75\x51\x8d\x79\x10\x08\x04\x50\x2a\x95\xfe\x1f\x85\x42\
+\x01\x8f\xc7\x03\xbb\xdd\xee\x3f\xbf\xd1\x12\xe7\xfd\xfd\xfd\xb8\
+\x78\xf1\x22\xf6\xef\xdf\x1f\xd5\x73\x72\xe9\xd2\x25\xf4\xf5\xf5\
+\x45\x75\xcc\x29\x95\x4a\xa8\x54\x2a\x28\x95\x4a\x7f\x3e\x76\x87\
+\xc3\x01\xbb\xdd\x1e\xf1\xaa\x41\x4e\x4e\x0e\x0e\x1c\x38\x00\x91\
+\x48\xc4\x6b\xa1\x35\x38\x38\x18\xf2\xb9\x24\x94\xc4\xbf\x1e\x85\
+\xb9\xf6\x1c\x7c\xce\xd1\x58\x3b\x89\x44\x82\x3f\xff\xf3\x3f\x9f\
+\xb5\x73\xcb\xe5\x1e\xa8\xa9\xa9\xc1\xdb\x6f\xbf\xed\x7f\xee\xca\
+\xe5\x72\x3c\xff\xfc\xf3\x90\xcb\xe5\xf0\x78\x3c\x38\x75\xea\xd4\
+\xf8\x18\x12\x08\x90\xb8\xf2\x1b\x90\x68\x22\xcf\x84\x28\x52\x04\
+\x17\xfa\x73\xcd\x47\x9f\xb7\x42\xbf\x63\xc0\x8e\x3f\xde\x9a\xf9\
+\xac\x49\x26\x11\x62\x69\x96\x16\x45\x0b\x74\x28\xcc\xd6\x42\x29\
+\x13\x05\x99\x61\x8e\xfa\xd9\xd7\x74\x8c\x56\xc3\x1d\x30\xcf\xcc\
+\x27\xbe\xb1\xdb\x82\x13\xf7\x3a\xf1\xe2\x86\x6c\x6e\xb3\x6a\x96\
+\xc5\xfb\xd7\xda\xa2\xe2\xfe\x93\x91\xa8\x40\x71\xae\x0e\xc5\x39\
+\x3a\x64\x86\x10\xdd\x26\x9b\x07\xd5\xed\x26\x54\xb7\x8f\xa0\xa5\
+\xd7\x36\x23\xe1\xeb\xf6\x32\x78\xfb\x52\x0b\xfe\xee\xf9\xa5\xd0\
+\x28\xb8\x0d\xb3\xca\xd6\x11\x5c\x78\xd4\x13\x95\x89\xcd\xfa\xc5\
+\x49\x58\x9c\xa1\x41\x7e\x9a\x0a\x0a\xe9\xf4\xd7\xde\xe5\x61\xd0\
+\xda\x6f\x43\x53\xb7\x15\xe5\x8d\x83\x33\x76\xbf\xb9\x5d\x3f\x88\
+\xf4\x04\x05\xb6\x16\xea\xb9\x4d\xf0\x3c\x3e\xbc\x75\xc9\x30\x63\
+\xe1\x2d\x14\x0a\x90\x9f\xaa\x42\x51\x8e\x0e\x2b\x16\xe8\x42\x16\
+\xf8\xea\x33\x39\xf1\xb8\xc3\x8c\x9a\x76\x13\xda\xfa\x6d\x33\x8a\
+\x85\x31\x3b\x3c\x78\xfb\xb2\x01\x7f\x7b\x60\x11\xc4\x21\xaa\x28\
+\xdb\xed\x76\x18\x8d\x46\xce\xc7\xd0\xe9\x74\xd8\xb1\x63\x07\xb2\
+\xb3\xb3\x27\xbd\x3c\x1e\x3d\x7a\x84\x8a\x8a\x8a\x19\x67\x07\x91\
+\x48\x24\xd8\xb0\x61\x03\x8a\x8a\x8a\x02\xd2\x63\xb2\x2c\x8b\xb6\
+\xb6\x36\xdc\xb8\x71\x83\xb3\xdf\x7d\x4b\x4b\x0b\x3c\x1e\x0f\x24\
+\x92\xf0\x26\x41\xf7\xef\xdf\x0f\x19\xc4\x17\x0e\x1a\x8d\x06\xf9\
+\xf9\xf9\xc8\xcf\xcf\x47\x46\x46\x46\xd0\x74\x9f\x1e\x8f\x07\xed\
+\xed\xed\x30\x18\x0c\x68\x6b\x6b\x9b\xb6\x40\x4e\xb8\xdc\xb8\x71\
+\x03\x09\x09\x09\x9c\x27\x38\xb1\xa0\xbb\xbb\x3b\xc0\xa7\x77\x26\
+\x63\x25\x27\x27\x07\x05\x05\x05\xc8\xcd\xcd\x0d\x5a\x39\x93\x65\
+\x59\x74\x75\x75\xa1\xa5\xa5\x05\x06\x83\x01\x56\xeb\xcc\x5c\x13\
+\x5b\x5a\x5a\x70\xe7\xce\x1d\x6c\xdc\xb8\x31\x2a\xe7\xa4\xbc\xbc\
+\x3c\xa4\x3f\x79\x38\xa8\xd5\x6a\xe4\xe7\xe7\xa3\xa0\xa0\x00\x99\
+\x99\x99\x41\x33\xb2\x38\x1c\x0e\x18\x8d\x46\x18\x8d\x46\x34\x35\
+\x35\x85\x35\x91\xce\xcd\xcd\xc5\xfe\xfd\xfb\x79\x2f\xf2\x81\xd1\
+\x18\xa4\xa0\x93\x43\xa1\x28\x22\x17\x93\x68\xe2\xe8\xaa\x81\xa3\
+\xa7\xce\xff\xfd\xe5\x97\x5f\x46\x7a\x7a\x7a\xdc\xcf\x5d\x79\x79\
+\x39\x3e\xfc\xf0\x43\xbf\xf1\x41\x22\x91\xe0\xc0\x81\x03\x48\x48\
+\x48\xf0\x5b\xf2\x27\xba\x45\xe9\x96\xed\x99\xb1\x1b\x54\x28\x1f\
+\xfd\x68\x15\x58\x8c\x15\x02\x96\x87\x8e\xb1\x56\xa7\x17\xff\xf7\
+\xcb\x7a\x98\xed\x91\x07\x73\xa9\xe5\x62\xec\x59\x95\x86\x4d\x4b\
+\xf4\x10\x8b\x22\xab\xe3\xd9\xd6\x6f\xc3\xa9\x8a\xee\x19\xfb\x88\
+\xbf\xba\x25\x07\xeb\x17\x27\x85\xbd\xfd\xc9\xfb\x5d\xb8\x32\xc3\
+\xa0\xd6\xe2\x5c\x1d\x0e\xac\xce\x40\x5a\x42\x64\x56\x02\x9b\xd3\
+\x8b\xcb\x35\x7d\xb8\xf9\x64\x00\x5e\x5f\xe4\xd6\xbd\xbc\x14\x15\
+\x7e\x7c\x70\x51\xd8\x55\x74\xbb\x87\x9d\xf8\xaf\x53\x0d\x33\x5a\
+\x59\x11\x8b\x84\xd8\xb2\x2c\x19\xbb\x8b\xd3\x22\xca\xef\xef\xf2\
+\x30\xb8\xfa\xb8\x0f\xd7\x1e\xf7\xc1\xe5\x89\xbc\x1d\x42\xa1\x00\
+\x3f\xda\xbb\x10\x0b\x39\x14\x96\x7a\xfb\x52\x0b\x1e\xcf\x20\x85\
+\xa6\x48\x28\xc0\xe6\x65\x7a\xec\x59\x99\x06\x75\x84\xb5\x0d\x4c\
+\x76\x0f\xce\x3f\x9a\x79\xc5\xe1\xb5\x0b\x93\xf0\xed\x6d\xc1\x73\
+\x2f\x57\x56\x56\xe2\xd6\xad\x5b\x9c\xfe\xee\xd2\xa5\x4b\xb1\x73\
+\xe7\xce\xa0\x2f\xf8\x91\x91\x11\x7c\xf9\xe5\x97\x11\x8b\xa8\x84\
+\x84\x04\x1c\x3e\x7c\x18\x1a\x8d\x26\xa8\x20\xbe\x74\xe9\x12\xe7\
+\x4c\x41\x7b\xf6\xec\x09\x2b\x1f\x7a\x6b\x6b\x2b\x4e\x9f\x3e\x3d\
+\xa3\xe7\x40\x5a\x5a\x1a\x36\x6e\xdc\x18\xb1\xc8\x66\x18\x06\x0d\
+\x0d\x0d\xb8\x7b\xf7\xee\x8c\x04\xa9\x5c\x2e\xc7\xd1\xa3\x47\xa1\
+\x56\x87\x7f\x2f\x70\x1d\x1b\x47\x8f\x1e\x85\x5e\x1f\xfe\xc4\xda\
+\x6e\xb7\xe3\xa3\x8f\x3e\x82\xc3\x11\xb9\x7b\xa0\x42\xa1\x40\x69\
+\x69\x29\x96\x2f\x5f\x1e\xb1\xe0\x34\x1a\x8d\xb8\x73\xe7\xce\x8c\
+\x2d\xe8\xfb\xf7\xef\x47\x41\x41\xc1\x8c\xfe\x86\xc1\x60\xc0\x99\
+\x33\x67\x66\xf4\x37\x52\x53\x53\xb1\x71\xe3\xc6\x49\x93\xf0\xb0\
+\x8d\x44\x6e\x37\x9e\x3c\x79\x82\xaa\xaa\xaa\x69\x27\xd2\x79\x79\
+\x79\xd8\xbf\x7f\xff\x9c\x29\x98\x75\xed\xda\x35\xbc\xf9\xe6\x9b\
+\xd3\xbf\x2b\x64\x2a\xa4\xed\xf8\x71\xdc\xda\xe7\xb3\x8f\xa0\xff\
+\xf6\xef\xc0\xfa\x46\xfd\xe3\x57\xae\x5c\x89\xbf\xfc\xcb\xbf\x8c\
+\xfb\x79\xbb\x74\xe9\x12\x4e\x9c\x38\xe1\x5f\x0d\x19\xb3\xe4\xa7\
+\xa5\xa5\xc1\x6a\xb5\xe2\xcb\x2f\xbf\x0c\x88\x5b\x52\xe5\xad\x83\
+\x76\xc9\x73\x33\x3e\xae\x7b\xd8\x88\xc1\x7b\x1f\x06\xdd\xe6\xdd\
+\x77\xdf\x0d\xdb\x60\x13\x6f\x44\xff\xf2\x2f\xff\xf2\x2f\x7c\x6b\
+\xd4\xc9\xfb\x5d\x68\xea\x8e\xec\xa5\x22\x15\x0b\xb1\xbb\x38\x0d\
+\xaf\xef\xcc\x43\x41\x9a\x3a\x22\xb7\x19\xff\xcb\x5e\x25\xc5\xba\
+\x45\x49\xc8\x4d\x51\xa2\x7b\xd8\x11\xb1\x6b\x8b\xa1\xcf\x8a\x4d\
+\x4b\xf5\x90\x88\x42\x3f\x94\x7a\x4d\x4e\xfc\xe1\x46\x7b\xc4\x79\
+\xd9\x0b\xd2\xd4\x78\x7d\x67\x2e\x76\xae\x48\x8d\x58\xe8\x8d\x9d\
+\xc7\xa5\x99\x1a\xac\x5b\x94\x04\xa7\xc7\x87\xae\xe1\xc8\x5e\x86\
+\x23\x76\x0f\x12\x54\x52\x64\x27\x87\x17\xb1\xff\xfb\xeb\xad\xe8\
+\x8f\x70\x25\x45\x28\x10\x60\xfd\xe2\x64\x7c\xef\xb9\x7c\xac\xca\
+\x4b\x88\xb8\x90\x93\x58\x24\xc0\xa2\x74\x35\x36\x2c\x49\x06\xc3\
+\xb0\xe8\x1c\x72\x20\x92\xc5\x0d\x96\x05\x8c\x83\x76\x6c\x5a\xaa\
+\x0f\x2b\x85\xef\xe3\x0e\x33\xce\xcf\x60\x25\x63\xed\xc2\x44\x7c\
+\x6f\x57\x3e\x56\xe7\x27\xce\xa8\x88\x95\x5c\x22\xc2\x8a\x05\x3a\
+\x94\xe4\x27\x60\xc4\xe6\x89\xf8\x7a\x74\x0f\x3b\xb0\x38\x43\x83\
+\xc4\x20\x95\xa3\x2b\x2b\x2b\x39\x05\x98\x26\x26\x26\xe2\xe0\xc1\
+\x83\x21\xab\xb0\xca\xe5\x72\xe8\xf5\xfa\x88\xf2\xba\x0b\x85\x42\
+\x3c\xff\xfc\xf3\x48\x4c\x4c\x0c\xfe\xf0\x14\x89\x90\x93\x93\x83\
+\xc6\xc6\x46\x4e\xe9\x0e\x55\x2a\x55\xc8\xe0\x41\x86\x61\x70\xea\
+\xd4\xa9\x88\xad\xe9\x09\x09\x09\xd8\xb9\x73\x27\xb6\x6c\xd9\x02\
+\xad\x56\x1b\xf1\x58\x10\x08\x04\xd0\xeb\xf5\x28\x2a\x2a\x82\x4c\
+\x26\x43\x5f\x5f\x5f\x44\x2b\x25\x63\x81\x76\x0b\x17\x2e\x0c\x7b\
+\x9f\xde\xde\x5e\x4e\xbe\xb0\x2b\x56\xac\xe0\x94\x19\xe4\xe6\xcd\
+\x9b\x11\xc7\x86\x48\x24\x12\xac\x5d\xbb\x16\x7b\xf7\xee\x0d\xb9\
+\x42\x12\x0a\xad\x56\x8b\xe5\xcb\x97\x23\x29\x29\x09\x03\x03\x03\
+\x11\x5f\xf3\xbe\xbe\x3e\x14\x15\x15\x71\xce\x65\x3e\x71\xcc\x9d\
+\x3e\x7d\x3a\xe2\xe3\xeb\x74\x3a\xec\xdc\xb9\x13\x5b\xb7\x6e\x9d\
+\xd1\x98\x13\x89\x44\x48\x4f\x4f\xf7\xfb\xdd\xf7\xf6\xf6\x06\xb8\
+\xbd\xcc\x35\x91\x0f\x00\x55\x55\x55\x41\x0b\x2d\x89\x14\x5a\xa8\
+\x16\xac\x89\x4f\xe3\x58\x06\x43\x0f\x3f\x85\xcf\x61\xf2\x5f\xc7\
+\xbf\xf9\x9b\xbf\x09\xba\x2a\x35\xeb\x4d\x62\x59\x9c\x38\x71\x22\
+\x60\xd2\xa9\xd1\x68\x70\xe4\xc8\x11\xe8\xf5\x7a\x0c\x0f\x0f\xe3\
+\xf8\xf1\xe3\x01\x96\x75\x75\xde\x06\x68\x97\xec\x8c\x4e\x03\x04\
+\x02\xd8\xda\xee\x07\xdd\x64\xef\xde\xbd\x90\xcb\xe5\x73\x62\xfc\
+\xf1\xee\x4e\x19\x30\xbb\x70\xbb\x61\x30\xa2\x7d\x13\xd5\x52\xfc\
+\xe4\xd0\x62\xec\x5b\x9d\x0e\x99\x24\x7a\x5d\x5b\x96\xa5\xc5\xdf\
+\x3d\xbf\x14\xa5\x0b\x93\x22\xda\xdf\xee\xf2\xe1\x72\x75\x78\xb1\
+\x06\xa7\x2b\xba\x23\xb2\xa2\x0a\x00\xec\x2b\x49\xc7\xdf\x1c\x58\
+\x84\xdc\x94\xe8\x95\x4a\x4f\x50\x49\xf0\xea\x96\x1c\xfc\xc5\xae\
+\x82\x88\xcf\xe9\xb9\x87\x3d\x61\x59\xe8\xeb\x3a\xcd\x11\x4f\xf0\
+\xb2\x92\x14\xf8\xdf\x47\x96\xe1\xe8\x96\x05\x48\x50\x45\x67\x96\
+\xad\x96\x8b\xf1\x8d\xf5\x59\xf8\xff\x5e\x2a\xe4\x64\x95\x0f\x14\
+\xbb\x4e\xdc\x6f\x1e\x0a\xfd\x92\x65\x59\x9c\xaa\x88\xcc\xef\x4f\
+\x2c\x12\xe2\xbb\xdb\x73\xf1\xed\x6d\xb9\x48\x52\x47\xef\xe1\x9c\
+\xaa\x93\xe3\xfb\xbb\xf3\xf1\xd2\xc6\xec\x88\x27\xcc\x5f\xdd\x0f\
+\x1e\x7c\xca\xd5\x37\x77\xf7\xee\xdd\x21\x45\xbe\x7f\x4c\x64\x65\
+\x45\xe4\x1b\x5e\x52\x52\x82\x94\x94\xf0\xfc\x3b\xa5\x52\x29\x76\
+\xee\xe4\xf6\x72\x09\x27\x2d\x62\x75\x75\x75\xc4\xcb\xc3\x05\x05\
+\x05\x38\x7a\xf4\xe8\x8c\xad\xbb\x4f\x8b\xaf\x92\x92\x12\x7c\xf3\
+\x9b\xdf\x0c\x39\x01\x9a\x8e\xc6\xc6\xc6\xa8\xc6\x1a\xcc\x84\xa1\
+\xa1\x21\xd4\xd5\xd5\x45\x2c\xcc\x5f\x79\xe5\x15\xac\x5b\xb7\x2e\
+\xaa\x16\xbd\x85\x0b\x17\xe2\xe8\xd1\xa3\x9c\x26\x43\x13\x31\x9b\
+\xcd\xa8\xae\xae\x9e\x91\x18\x8d\x74\xcc\xcd\xb4\xed\xd3\x8d\xb9\
+\x0d\x1b\x36\xe0\x95\x57\x5e\x41\x7e\x7e\x3e\x94\x4a\x25\x56\xaf\
+\x5e\x3d\xe7\x44\x3e\x80\x90\xae\x48\x42\xb1\x22\x6e\x6d\x9b\x2a\
+\x95\xa6\x4a\xa5\x8a\x5b\x7b\x18\x86\xc1\xef\x7f\xff\xfb\x80\x14\
+\x9a\x49\x49\x49\x78\xe9\xa5\x97\x90\x98\x98\x88\xde\xde\x5e\x7c\
+\xfe\xf9\xe7\x01\x2b\x8c\xda\x25\xcf\x41\xb3\x64\x47\xf4\xc6\x9e\
+\x4c\x0d\x08\x82\x8f\xb1\x99\xa6\x4b\x7e\xa6\x85\xfe\xa9\x8a\xee\
+\x88\x7c\xc3\xf3\xd3\x54\xf8\xbb\xe7\x97\x20\x23\x71\x76\x6e\x18\
+\xb1\x48\x80\xd7\xb6\xe5\xe0\xd0\xda\x0c\x44\x22\x79\xae\xd7\x0e\
+\x84\xcc\xb1\x6e\xe8\xb5\x45\x94\x61\x48\x2a\x16\xe2\xcf\x76\xe6\
+\x61\x6f\x49\x3a\x04\xb3\x74\x5d\x56\x2c\xd0\xe2\x27\x87\x96\x44\
+\x24\x24\xcd\x0e\x0f\xae\x3d\xee\x0f\x31\x83\x07\x4e\xde\x8f\xcc\
+\xba\x96\x91\x28\xc7\x5f\xed\x5b\x88\x54\x9d\x6c\x56\xfa\x9e\xa8\
+\x92\xe2\x7f\xed\x29\x40\x7e\x6a\x64\x0f\xbf\x33\x0f\xbb\x43\xba\
+\x3f\xdd\x6b\x1c\x42\x6f\x04\xd5\x85\x35\x0a\x09\x7e\xbc\x7f\x11\
+\x56\x17\x24\xce\xda\x3d\xb9\x65\x99\x1e\x3f\x2c\x2b\x08\x1a\xe3\
+\x30\x1d\xed\xfd\x76\x54\xb5\x8e\xcc\x48\xf4\x8e\xa1\x52\xa9\x90\
+\x9a\x9a\xca\xe9\xf8\x79\x79\x79\xdc\x9f\x25\xf9\xdc\xfc\x3b\xb3\
+\xb2\xb2\x38\x09\xbe\x50\x7d\x76\xbb\xdd\xa8\xa8\xa8\x88\xe8\x5a\
+\xad\x5d\xbb\x16\xfb\xf7\xef\x0f\x7b\x32\x14\x89\xc8\x7d\xf9\xe5\
+\x97\x91\x93\x93\x13\xd1\xfe\xb7\x6f\xdf\xe6\xc5\x7b\x26\xd2\x0a\
+\xb3\x59\x59\x59\x78\xe5\x95\x57\x22\x9e\xec\x84\x42\x22\x91\x60\
+\xdf\xbe\x7d\x11\x17\x27\xba\x7f\xff\x7e\x44\x16\x79\xa7\xd3\x19\
+\xf1\x98\x2b\x2d\x2d\xc5\xbe\x7d\xfb\x66\xcd\x8d\x41\xaf\xd7\xe3\
+\xc0\x81\x03\xf8\xde\xf7\xbe\x87\x4d\x9b\x36\xcd\x39\x91\x0f\x20\
+\xe4\x2a\x58\xbc\x02\x71\xbd\xd6\x81\x80\x54\x9a\xbb\x76\xed\xc2\
+\xd2\xa5\x4b\xe3\x3a\x21\x3a\x76\xec\x18\xee\xde\xbd\xeb\xff\x5d\
+\x5a\x5a\x1a\x5e\x7c\xf1\x45\xa8\xd5\x6a\xb4\xb7\xb7\xe3\xc4\x89\
+\x13\x70\x3a\xff\xf4\xae\x14\x08\x91\x50\x74\x08\xaa\xbc\x75\xd1\
+\x6d\x88\x40\x00\x91\x5c\x13\x74\x93\xb9\x90\x91\x8a\x97\x42\xbf\
+\xad\xdf\x16\x51\xa6\x95\x65\x59\x5a\xfc\xf5\xbe\x45\x33\x72\x55\
+\x09\x97\x5d\xc5\x69\xf8\xd6\x36\xee\x2f\x39\xaf\x8f\xc1\xd9\x87\
+\xc1\x85\xec\x57\x11\xa4\x53\x94\x88\x84\xf8\xeb\x7d\x8b\xb0\x32\
+\x2f\x61\xd6\xfb\x9e\x9e\x20\xc7\xdf\x3d\xbf\x04\x29\x5a\xee\x82\
+\xfa\x4a\x4d\x6f\x50\xd7\xa7\xfb\xcd\x43\xe8\x8e\xc0\x3d\x28\x2d\
+\x41\x8e\x1f\xed\x5b\x04\x95\x6c\x76\xaf\xbd\x54\x2c\xc4\xff\x2a\
+\x2b\x40\x8e\x9e\x7b\xd1\x10\x93\xcd\x83\xeb\xb5\xd3\x07\x63\xb9\
+\xbd\x0c\xce\x46\xe0\xb2\xa3\x55\x48\xf0\xd3\x43\x8b\x91\x93\xa2\
+\x9c\xf5\x6b\xbf\x38\x43\x83\x9f\x1c\x5a\x12\x34\x98\x7d\xda\xc9\
+\xfb\x83\xee\x29\xd3\x8d\x5a\xad\x56\x4e\x99\x17\x22\xf1\x33\xcf\
+\xc8\xc8\xe0\xe4\xca\x20\x91\x48\xc2\xb6\xe6\xfb\x1f\xa2\x42\x21\
+\xa7\xa0\x35\x8b\xc5\x12\xd4\xc2\xf7\xe0\xc1\x83\xf1\x17\x19\x07\
+\xb6\x6d\xdb\xe6\x2f\x1c\x33\xab\xf7\x82\x54\x8a\x43\x87\x0e\x45\
+\x64\xbd\x35\x1a\x8d\x71\x4f\x63\xd9\xd5\xd5\x85\xb6\xb6\xb6\x88\
+\x26\x80\x87\x0f\x1f\x8e\xc9\x72\xfd\xfa\xf5\xeb\x39\xaf\x14\x01\
+\xa3\xc5\x86\x22\x11\xec\xf7\xee\xdd\x8b\x68\x82\xb0\x73\xe7\x4e\
+\xac\x5f\xbf\x1e\x44\x88\xf7\x7f\x88\xe7\x9c\x20\x4e\x42\xdf\x5c\
+\x7f\xd9\x9f\x4a\x33\x2b\x2b\x0b\x87\x0f\x1f\xe6\xb6\xbf\xd9\x8c\
+\xf2\xf2\xf2\xa0\x6e\x49\xe1\x32\x3c\x3c\x8c\xff\xf8\x8f\xff\xc0\
+\xe3\xc7\x8f\xfd\xbf\xcb\xcd\xcd\xc5\x91\x23\x47\x20\x97\xcb\xd1\
+\xd0\xd0\x80\x53\xa7\x4e\xf9\x9f\x9d\x02\xa1\x18\x49\x25\x2f\x42\
+\x91\x39\x3b\x19\xbd\x84\x62\x79\xc8\x49\x09\x09\xfd\x08\x88\x24\
+\x6f\x78\xaa\x4e\x8e\xd7\x77\xe4\x42\x24\x14\xc4\xac\x9d\xa5\x0b\
+\x93\xb0\x7b\x65\x1a\x77\x6b\x4b\xf3\x10\xba\x87\xa7\x7e\x81\x57\
+\xb7\x8d\x66\x3b\xe1\xca\xb7\xb6\xe6\xc4\x44\xe8\x8d\xa1\x92\x8b\
+\xf1\x83\x3d\xdc\xad\xbb\x2e\x0f\x33\x6d\x21\xad\x70\x26\x41\x53\
+\x5f\x7b\x19\xfe\x7a\xdf\xc2\x98\x4c\xf0\x80\x51\xdf\xf5\x1f\xee\
+\x5d\x18\x51\xca\xd0\x4b\xd5\xbd\xd3\xa6\x4a\xbd\x51\xdb\xcf\x39\
+\xf0\x5c\x2c\x12\xe2\x2f\x76\xe7\x07\xf5\x7f\x8f\x36\xa9\x3a\x19\
+\xfe\x7c\x67\x3e\x67\x37\x9e\x01\xb3\x0b\x77\xa6\x70\xc7\xe3\x2a\
+\x66\x93\x92\xb8\xbb\xce\x49\x24\x12\x4e\xcb\xd0\x89\x89\x89\x11\
+\x59\x0c\x93\x93\xb9\xe5\xc0\x9e\xee\x25\x61\xb5\x5a\x51\x55\x55\
+\xc5\xf9\xf8\x45\x45\x45\x28\x2e\x2e\x8e\xd9\x58\x10\x08\x04\xd8\
+\xbd\x7b\x37\xe7\x49\x11\x00\xdc\xb9\x73\x27\xae\xc5\xd1\xbe\xfe\
+\xfa\xeb\x88\xae\xef\x9e\x3d\x7b\x62\x6a\x4d\x5e\xbe\x7c\x39\x56\
+\xad\x5a\xc5\x79\xbf\xea\xea\x6a\x4e\x81\xd3\x66\xb3\x39\x40\x5c\
+\x85\xcb\xaa\x55\xab\xb0\x7c\xf9\x72\x52\xf1\x51\x10\xfa\x42\x69\
+\xec\x5d\x77\x5c\xfd\xcd\x70\x0d\xb6\xfa\xbf\xbf\xf2\xca\x2b\x9c\
+\x02\xca\x6f\xdc\xb8\x81\x7f\xfe\xe7\x7f\xc6\xef\x7f\xff\x7b\xbc\
+\xf9\xe6\x9b\x33\xaa\x6c\xde\xdc\xdc\x8c\x7f\xfb\xb7\x7f\x0b\x88\
+\xc9\x59\xb2\x64\x89\x3f\x1e\xeb\xce\x9d\x3b\xb8\x70\xe1\x82\x3f\
+\xf3\x8e\x50\x2c\x43\x52\xe9\xab\x90\xa5\x2c\x9c\xb5\xf3\xc3\x78\
+\x83\xbf\x9f\x66\x6b\xd5\x74\x5e\x0b\xfd\x9e\x61\x27\x5a\x7a\xb9\
+\x09\x5d\x85\x54\x84\x1f\xec\xce\x87\x5c\x1a\xfb\xf4\x5a\x07\xd6\
+\x64\xa0\x28\x47\xc7\x69\x1f\x96\x05\x6e\xd7\x4f\x6d\xd9\xbd\x55\
+\x37\xc0\xb9\x0d\x65\xab\xd2\x51\x92\x9f\x10\xf3\xbe\xa7\x68\x65\
+\x78\x7d\x67\x5e\xd8\x99\x74\xc6\xb8\xdb\x38\x38\xa5\x0b\x4b\x6d\
+\x87\x39\xa4\x5b\xd3\x24\xd1\xa7\x96\xe2\xaf\xf7\x2d\x82\x46\x11\
+\xdb\xa8\x77\x85\x54\x84\xbf\xda\xb7\x10\x69\x3a\x6e\x16\x18\xa7\
+\xdb\x37\x65\xd5\x58\x36\xc2\x6b\xff\xea\x96\x05\x11\xad\x2e\xcc\
+\x94\x45\x19\x6a\x1c\x59\xcf\xdd\xb2\xfe\x75\x04\x7d\x8c\xa6\x28\
+\x9d\x8d\x6d\xa3\xb1\xdf\xd3\xd4\xd5\xd5\x71\xce\xb1\x9e\x95\x95\
+\x85\xad\x5b\xb7\xc6\xfc\xbc\x8a\xc5\x62\x1c\x3c\x78\x90\x53\x00\
+\x2c\x30\x9a\x6a\xb0\xa7\xa7\x27\x2e\x63\xa1\xaf\xaf\x8f\x73\x76\
+\x1b\x85\x42\x81\x83\x07\x0f\xc6\x25\xc3\xc6\xe6\xcd\x9b\x39\xbb\
+\x49\xf9\x7c\x3e\x4e\x15\x7e\x1b\x1b\x1b\x39\xd7\x4d\xc8\xc9\xc9\
+\xc1\xe6\xcd\x9b\x49\xc1\x73\xb8\x26\x41\x85\x98\x58\x16\xdb\x06\
+\xb1\x0c\xcc\xf5\x57\xfc\x5f\x4b\x4a\x4a\xb0\x68\xd1\xa2\xb0\x77\
+\x3f\x7f\xfe\x3c\x3e\xfe\xf8\xe3\x80\x7e\x45\x2a\xf4\x6f\xdd\xba\
+\x85\x5f\xfe\xf2\x97\x01\x3e\xef\x6b\xd6\xac\x41\x59\x59\x19\x7c\
+\x3e\x1f\x4e\x9d\x3a\x15\xb0\x4a\x25\x92\xa9\x91\xbc\xfe\xdb\x90\
+\x26\xcc\x6e\xba\x5e\xc6\xe3\x20\xa1\x1f\x6d\xaa\x23\xf0\x4d\x7f\
+\x79\x63\x36\xf4\x5a\x59\x5c\xda\x2b\x00\xf0\xda\xb6\x1c\xce\xd6\
+\xe4\x9a\x8e\xc9\xfd\x74\xb8\x7d\x68\xee\xe5\x16\x84\x9a\x93\xa2\
+\xc4\xbe\xd5\xf1\xcb\x71\xbb\x34\x53\x83\x1d\x2b\xb8\x59\xf3\xdc\
+\x5e\x06\x8d\x53\x04\xdb\x46\x72\xed\x0f\xae\xcd\x08\xbb\x20\x53\
+\xb4\x51\xc9\xc4\x78\x61\x7d\x26\xe7\xfd\xa6\x8a\xbf\xe8\x18\xb0\
+\xc3\xc4\xd1\x9a\xbf\x6e\x51\x12\xd6\xcc\xa2\x4f\x7e\x28\xb6\x2c\
+\xd3\x63\xc5\x02\x6e\x93\xdc\x9e\x11\xe7\x8c\xeb\x52\x3c\x0b\x18\
+\x0c\x06\x4e\xdb\x4b\x24\x12\xec\xdd\xbb\x37\x6e\x7e\xcb\x2a\x95\
+\x0a\xbb\x76\xed\x9a\xf5\x7e\xc6\xeb\xfc\x02\xa3\xee\x29\xc1\xd2\
+\xac\xce\xf6\x24\xb5\xac\xac\x0c\x32\x19\xb7\xf7\x1c\x97\x3c\xf8\
+\x5c\x73\xe6\xcb\x64\x32\x94\x95\x95\x45\x6d\x72\xfb\x2c\x10\xea\
+\xfa\x31\xee\xd8\x56\xbd\xb6\xb5\x57\xc0\x6b\x1f\xf2\x0b\xd6\x23\
+\x47\x8e\x84\x6f\xb4\xf9\xfa\x6b\x7c\xf5\xd5\x57\x93\xfb\xc0\x71\
+\xb2\xe8\xf3\xf9\xf0\xd1\x47\x1f\xe1\x8f\x7f\xfc\xa3\x7f\xc2\x20\
+\x16\x8b\xb1\x77\xef\x5e\x6c\xda\xb4\x09\x26\x93\x09\x9f\x7e\xfa\
+\x29\x5a\x5b\x5b\xc7\x9f\x77\x9a\x34\x24\x6f\xf8\x2e\xc4\xea\x94\
+\xd9\x3d\x41\x2c\x03\xd6\x1b\x3c\x93\xda\x5c\xa8\xdf\xc0\x3b\xa1\
+\xff\xb8\x83\x9b\xd8\xcb\x4e\x56\xa0\x24\x8e\x62\x07\x18\x75\xe5\
+\xd8\x5b\xc2\x4d\x6c\x9b\x6c\x1e\x18\x07\x03\x6f\xea\x27\x46\x33\
+\xe7\x00\xe4\xe7\xd7\x66\x22\xde\x8f\xd9\xdd\x2b\xd3\x38\xbb\xf0\
+\x3c\x2d\x76\x19\x86\xc5\x13\x23\xb7\x4c\x0f\x69\x3a\x39\x4a\xf2\
+\xe2\x7b\xed\x97\x65\x69\x39\xbb\x4c\xb5\xf4\x5a\x27\x15\xc2\xe2\
+\x1a\x7c\x2d\x11\x09\x71\x60\x75\x46\xdc\xef\xd7\x43\x6b\x33\x38\
+\xaf\xe8\xd4\x74\x98\x40\x4c\x8f\xd5\x6a\xe5\x9c\x95\xa6\xa4\xa4\
+\x04\x0a\x85\x22\xae\xed\xce\xc9\xc9\xe1\x1c\x3f\x11\x2f\xa1\xcf\
+\xb5\xe6\x41\x46\x46\x06\xe7\xe0\xec\xd9\x10\x89\x6b\xd6\x70\x4b\
+\xbd\xd8\xd7\xd7\x17\x96\xfb\x8e\xd9\x6c\x0e\x59\xcc\xe9\x69\xd6\
+\xae\x5d\xcb\x79\xe2\xf1\xac\x13\xca\x7d\xd0\xe7\x8c\x5d\x06\x17\
+\xc6\xe3\x80\xb5\x79\xdc\x7d\xed\xb9\xe7\x9e\x0b\xdb\xf5\xd0\x68\
+\x34\xe2\xd3\x4f\x3f\x9d\xf2\xff\x0a\x0b\x0b\xc3\x6e\x83\xc7\xe3\
+\xc1\x7f\xff\xf7\x7f\xe3\xe6\xcd\x9b\xfe\xdf\xa9\xd5\x6a\xbc\xf4\
+\xd2\x4b\x58\xbc\x78\x31\x8c\x46\x23\x3e\xf9\xe4\x13\x0c\x0d\x8d\
+\x67\xac\x93\xa7\x2f\x43\xf2\xfa\x6f\x87\x2c\x66\x15\x9d\x73\x14\
+\xda\xad\x94\x2c\xfa\x1c\x31\xd9\x3d\x30\x0e\x70\x9b\xd1\x1e\xe2\
+\x81\xd0\x05\x80\x8d\x4b\x92\x39\xaf\x2a\xd4\xb4\x07\x0a\xdb\xc7\
+\x1c\xc5\x5e\x61\xb6\x36\xe2\x74\x8f\xd1\x44\x21\x15\x71\x8e\x55\
+\x78\xdc\x61\x0e\xa8\x11\xd0\xd2\x6b\xe3\x5c\x05\x76\xcf\xaa\x34\
+\xf0\xc1\x98\xb4\x77\x15\xb7\x49\x9e\x6f\x8a\x49\x4d\x75\x1b\xb7\
+\x6b\xbf\x6d\x79\x0a\x74\xaa\xf8\x17\xe9\x48\x4b\x90\xa3\x74\x11\
+\xb7\xc9\xd6\xe3\x76\x12\xfa\xc1\x98\x68\xb9\x0a\xeb\xfe\x53\x28\
+\x50\x52\x52\xc2\x8b\xb6\x6f\xda\xb4\x89\xdb\x33\xdf\x64\xe2\x54\
+\x3f\x21\x1a\x8c\x8c\x8c\x70\x3e\x26\x5f\xdc\x53\x8a\x8b\x8b\x39\
+\xa7\x3c\x0c\xc7\x52\xcf\xd5\x9a\xaf\xd1\x68\x62\x1a\x0b\x32\x5f\
+\x08\xb5\x22\x34\x96\xc3\x3e\x16\x58\x9a\x6e\x80\xf1\xba\xfc\xed\
+\xda\xb7\x6f\x5f\x58\xfb\x39\x1c\x0e\xbc\xf5\xd6\x5b\x53\xc6\x17\
+\x89\x44\x22\x4e\xf1\x24\xe7\xce\x9d\x0b\xa8\xf8\x9d\x91\x91\x81\
+\xa3\x47\x8f\x22\x25\x25\x05\x66\xb3\x79\x52\x0d\x11\xcd\xa2\x6d\
+\x48\x5c\xf9\x42\xcc\xaa\x07\x87\x23\xf4\xe7\x4a\xb1\x2c\xde\x08\
+\xfd\x9a\x76\x13\xa7\x02\x51\xf9\xa9\x2a\x2c\xc9\xd4\xf0\xe2\x04\
+\x8a\x84\x02\xce\x82\xaf\xa6\x7d\x24\x40\xfc\xd5\x75\x72\x9b\xcd\
+\xef\x5f\x9d\xce\x9b\x01\xb4\xad\x50\xcf\xa9\xfa\xac\xc5\xe1\x41\
+\xfb\x84\xa0\x63\xae\x6e\x3b\xa9\x3a\x19\x56\xe7\x27\xf2\xa2\xef\
+\x85\xd9\x5a\x2c\xe0\xe8\x27\x3f\xd1\x82\xdf\x67\x72\xa2\xcf\x14\
+\x7e\x40\xea\x68\x31\xb8\x54\xde\x5c\xfb\xbd\x25\xe9\x9c\x26\x5c\
+\x86\x3e\x5b\xc4\x45\xe7\x9e\x05\xb8\x5a\xb9\x57\xaf\x5e\xcd\x9b\
+\x97\x4d\x6a\x6a\x2a\xe7\x54\xa6\x5c\xad\xeb\xb1\x3e\xbf\xb9\xb9\
+\xb9\x48\x4b\x4b\xe3\xc5\xf9\x15\x8b\xc5\x9c\xad\xfa\xe1\x9c\x5f\
+\xae\x42\x7f\xed\xda\xb5\x73\xca\x65\x81\x2f\x84\xb6\xe8\x9b\x63\
+\xd2\x0e\xaf\x7d\x18\x76\x63\xa5\xff\xfb\xe1\xc3\x87\xc3\x5e\x9d\
+\xf9\xe0\x83\x0f\xfc\xab\x3f\x4f\xbb\x6d\xad\x5e\xbd\x3a\xec\x58\
+\x9d\x81\x81\x81\x80\x1c\xf9\x85\x85\x85\x38\x72\xe4\x88\x7f\x65\
+\xb2\xa2\xa2\xc2\x1f\xa7\x24\x10\x4b\x91\xb8\xfa\x25\xa8\x0b\x36\
+\xc5\xf4\x7a\x85\x23\xf4\x67\x2b\xc5\xee\xbc\x15\xfa\x5c\xdd\x76\
+\x56\xc5\x21\x00\x35\x18\x45\x39\x3a\x4e\x59\x7f\xba\x87\x9d\x18\
+\xb2\x8e\xfa\x7f\x35\xf5\x58\xe1\xf4\x84\x6f\xd1\x4e\xd6\xc8\xc2\
+\xae\x32\x1b\x93\x17\x90\x48\x88\x22\x8e\xfe\xda\x8f\x3b\xcc\x11\
+\x5f\xfb\xb2\x55\xe9\xe0\x93\x6b\xe8\x3e\x8e\xae\x5b\x75\x9d\x66\
+\x7f\xaa\xc9\xa7\x57\x76\x42\xb1\x34\x53\x13\x97\xc0\xf3\x69\x1f\
+\x74\x2a\x29\x72\xf5\xe1\x5b\x19\x59\x16\x9c\xdd\xb4\x9e\x15\xdc\
+\x6e\x37\x3a\x3b\x3b\x39\xed\xc3\x25\x78\x2e\x16\x70\x6d\x0f\xd7\
+\x15\x8c\x58\x0b\x7d\xbe\x9d\x5f\xae\xe9\x4c\xbb\xbb\xbb\x83\xa6\
+\xcc\x74\xb9\x5c\x9c\x02\x93\x05\x02\x41\x54\x0b\x62\x3d\x4b\x84\
+\xb2\xe8\x33\x1e\x67\x48\x9f\xf0\x68\x60\x6b\xbb\xef\x4f\xa7\x99\
+\x9d\x9d\x8d\x8d\x1b\x37\x86\xb5\xdf\x95\x2b\x57\x50\x59\x39\x3e\
+\x41\xd0\xeb\xf5\xfe\xcf\x22\x91\x08\x87\x0e\x1d\x0a\xbb\x0d\x9f\
+\x7d\xf6\x99\x5f\xc8\x8f\x55\xf0\x1e\x8b\x31\xb2\x5a\xad\xa8\xaf\
+\xaf\xf7\x6f\xab\x2b\xdc\x0b\x79\x4a\xec\xef\x43\x36\x44\x20\xae\
+\x4a\xa5\x9a\x33\x55\x71\x01\x80\x17\x4e\x46\x5c\x0b\x05\x71\x0d\
+\x04\x9c\x6d\x64\x12\x21\x16\x65\xa8\x51\xcf\xc1\x32\xdf\x3b\xe2\
+\x44\x92\x5a\x8a\x9e\x61\x6e\x7d\x2f\xce\xd5\xf1\x6e\x10\x15\xe7\
+\xea\x50\xde\x18\x7e\x35\xe3\x9e\x3f\xe5\xcb\x77\x7b\x19\x0c\x5b\
+\xb9\x3d\xdc\xae\xd7\xf6\xe3\xc6\x93\x7e\x5e\xf5\x5f\x00\x84\xbd\
+\x22\xe5\xf2\x30\x18\xb1\x79\x90\xac\x91\xa2\x87\xeb\xb8\xcf\xe1\
+\xdf\xb5\x5f\x91\xa3\x43\x2b\x87\xb4\xb0\x91\x14\x05\x7b\x16\x30\
+\x99\x4c\x9c\x82\xd9\x52\x53\x53\xa1\x56\xab\x79\xd5\x87\xdc\xdc\
+\x5c\x08\x85\xc2\xb0\xfb\x31\xd1\xff\x36\x16\x70\x39\x9e\x40\x20\
+\x40\x6e\x6e\x2e\xaf\xce\xaf\x52\xa9\x44\x5a\x5a\x1a\x7a\x7b\x7b\
+\xc3\xde\xc7\x62\xb1\x4c\x6b\xb1\xe5\x5a\x05\x37\x33\x33\x93\x7c\
+\xf3\x23\x44\xab\x0d\xed\x57\xee\x73\x9a\x21\x56\xeb\x67\xad\x0d\
+\x8c\xdb\x0e\x47\xe7\x78\xe5\xe4\xfd\xfb\xf7\x87\x15\x50\x6d\x30\
+\x18\x70\xe2\xc4\x09\xff\xf7\x82\x82\x82\x80\x58\xa2\x4d\x9b\x36\
+\x05\x08\xff\x60\xd4\xd6\xd6\x06\xe4\xdc\xdf\xba\x75\x6b\x40\x22\
+\x81\x87\x0f\x1f\x8e\x07\xe6\x2a\x13\xa1\x48\x2f\x8c\xcb\xf5\x0a\
+\x65\xd1\x0f\xb7\xbf\x24\xf4\xc7\x66\x4e\x00\x2c\x8e\xf0\x97\xf3\
+\x33\x12\x15\x11\x55\x67\x9d\x6d\x8a\x16\xe8\x38\x09\x7d\xb3\x63\
+\xd4\xcf\xcd\x64\xe7\x26\x74\x8b\x79\x28\xf6\x16\x67\x68\x20\x93\
+\x08\xe1\xf2\x84\xf7\x82\x1f\xcb\x32\x63\x71\x70\x2f\x38\xd1\x31\
+\x60\xc7\x5c\xc7\xec\x18\x15\xfa\x5c\xfa\x2f\x14\x08\xb0\x3c\x5b\
+\xcb\xbb\xbe\xac\xc8\xd1\xe2\x54\x45\x17\xe7\x71\x4f\x04\xc2\xb5\
+\xca\x62\xbc\x03\x44\xa7\x34\x78\xc8\x64\xc8\xca\xca\x0a\xc8\x85\
+\x1d\x0c\x8f\xc7\x03\x8f\xc7\x13\x13\xf7\x23\x8f\xc7\x03\xb7\x3b\
+\xfc\x67\x6d\x46\x46\x06\x2f\x2d\x76\xf9\xf9\xf9\x9c\x84\xbe\xd5\
+\x6a\x9d\x56\x94\x70\xc9\xb5\x0f\x44\x56\x65\x9a\x18\x25\x2d\x2d\
+\x2d\xe4\x24\xd8\xe7\x30\xcd\xaa\xd0\xb7\xb5\x3f\x00\xcb\x8c\x6a\
+\xad\x94\x94\x14\xac\x5c\xb9\x32\xac\xf1\xf3\xf6\xdb\x6f\xfb\xc5\
+\x77\x42\x42\x02\x52\x53\x53\xfd\x6e\x61\x52\xa9\x14\x07\x0e\x1c\
+\x08\xeb\xf8\x3e\x9f\x0f\x9f\x7d\xf6\x59\xc0\x78\x9a\x38\x99\xb6\
+\xdb\xed\xa8\xad\xad\xf5\x7f\x57\xe5\x6f\x44\xbc\x96\xef\x43\xa5\
+\xd6\x8c\xa4\x7e\x48\x3c\x89\xbb\xeb\x8e\xcd\xe9\x9d\xb2\x6a\xe6\
+\xb4\x0f\xba\x34\x15\x2f\x4f\x24\xd7\x76\x8d\x15\x48\xe2\x92\x5a\
+\x51\x28\x10\x20\x37\x85\x7f\xfd\x17\x8b\x04\x9c\xdc\x89\x4c\xfe\
+\xbe\x3f\x9b\xfe\xda\x91\x5c\xfb\x14\xad\x8c\x53\x2c\x44\xcc\x5e\
+\x60\x3a\x39\xa7\xcc\x4b\x5c\x53\x89\x92\xd0\x9f\x5e\x88\xf2\x11\
+\x2e\x15\x82\x23\x11\x9b\x91\x62\xb7\xdb\x67\xb5\x1f\x73\xf1\xfc\
+\x72\x3d\xf7\x7c\x3d\x27\x73\x01\x89\x44\x12\xf2\xfc\xcd\xa6\x9f\
+\x3e\xeb\xf3\xc0\xde\xf1\xc0\xff\x7d\xd7\xae\x5d\x61\x59\xf3\x3f\
+\xfa\xe8\x23\x8c\x8c\x8c\xc6\x14\x8a\xc5\x62\xec\xd9\xb3\x27\xa0\
+\xa0\xdf\x8e\x1d\x3b\xc2\x5a\xad\x00\x46\xdd\x7f\xc6\x5c\xc5\x44\
+\x22\xd1\xa4\xda\x1f\x95\x95\x95\x7e\x97\x1e\x91\x42\x0b\xe5\x2c\
+\x55\xbc\x0d\xcb\x30\x60\x09\xee\xd2\x36\xd7\x2c\xfa\x71\x17\xfa\
+\x5c\xad\xba\x3a\x25\x3f\x23\x9d\xb9\xe6\x74\x37\xff\x69\x15\x83\
+\x8b\xf0\x51\xcb\xc5\xe0\x6b\xea\x62\x2e\xfd\xb7\x3a\x46\x27\x77\
+\xcf\xaa\x75\x77\xac\xdf\x5c\xaa\xe1\xf2\x21\xd3\x4e\x34\xda\x66\
+\xb1\x53\x30\x6e\x34\x84\x3e\xd7\x22\x55\xb1\x82\x6b\x66\x18\xae\
+\xfd\x8e\xd5\xf9\xe5\x9b\x5b\x54\xa4\xe7\x77\x62\x11\x22\x2e\xff\
+\x17\x8d\x63\x13\x81\x64\x67\x67\xc7\x4d\xe8\xdb\x3b\xab\xfc\xee\
+\x28\x6a\xb5\x1a\x1b\x36\x6c\x08\xb9\x4f\x65\x65\x65\x40\x11\xac\
+\xed\xdb\xb7\xa3\xb3\xb3\xd3\x3f\x69\x56\x28\x14\xd8\xb3\x67\x4f\
+\x78\xef\x3c\xb3\x19\x67\xcf\x9e\xf5\x7f\x2f\x29\x29\x81\x4e\x37\
+\xee\x9d\xe0\x74\x3a\x51\x5d\x3d\xee\x56\xa4\xce\xdb\x00\x08\xe2\
+\x27\x4f\xdd\x13\x2a\x06\xcf\x25\x43\x0b\x6f\x85\x3e\x57\x0b\x9f\
+\x56\xc1\x4f\xc1\xa3\x92\x89\x21\x16\x85\xaf\xc2\xc7\x44\x1e\x17\
+\xb1\xa7\x51\xf0\x37\x6f\x2b\x97\xb6\x8d\xb9\x6b\x99\x9f\x51\xeb\
+\xae\xd9\xee\x81\xd7\xc7\x70\x4a\x2b\xca\xd7\x71\x0f\x00\x3a\x0e\
+\x6d\x33\x91\xeb\xce\xd4\x93\x5f\x8e\xd6\x55\xbe\x0a\x7d\xae\xed\
+\x8a\x95\xd0\xe7\x6a\xd1\x9f\x2f\x13\xa9\x68\x5a\xf4\xf9\x7a\x4e\
+\xe6\x8b\xd0\xf7\x58\x66\x29\xf6\x8c\x65\x60\x6b\xbb\x17\x20\xd8\
+\x43\xb9\xcb\xd9\xed\x76\x7c\xfc\xf1\xc7\xfe\xef\xb9\xb9\xb9\xc8\
+\xcd\xcd\x0d\xa8\x50\x5b\x56\x56\x16\xf6\x98\x38\x7e\xfc\xb8\x3f\
+\x30\x5c\xa5\x52\x61\xed\xda\xb5\x01\xff\x5f\x55\x55\xe5\x4f\xdb\
+\x29\x94\xa9\xa1\xc8\x8a\x5f\x0a\x57\xaf\x75\x00\x3e\x57\xf0\x7b\
+\x83\x6f\x81\xfa\xbc\x17\xfa\x66\x8e\x16\x3e\x3e\x5b\x36\xb9\x88\
+\xb1\x48\xdc\x37\xb4\xca\xf9\xd1\xf7\xd1\x7e\xbb\x9f\x61\xa1\xef\
+\xf5\xaf\xe8\xcc\x87\x71\xcf\xa5\x6d\x4e\xb7\x0f\x1e\x1f\x03\x22\
+\x72\x21\x2a\x16\x8b\x21\x95\x4a\x79\xd9\x0f\xbe\x0a\xfd\xf9\x62\
+\xd1\x17\x8b\xc5\x9c\x02\x62\xa3\x25\xf4\x65\x32\x59\xdc\xaa\x2f\
+\xcf\x17\x16\x2c\x58\x10\xf4\xff\xdd\x43\x6d\xb3\x92\x79\xc7\xd1\
+\x53\x07\x9f\x63\x74\xb5\x40\x2a\x95\x62\xfb\xf6\xed\x21\xf7\xf9\
+\xe2\x8b\x2f\xfc\xc1\xda\x12\x89\x04\x3b\x77\xee\xc4\x8d\x1b\x37\
+\xfc\x71\x2e\x5a\xad\x16\x3b\x76\xec\x08\xeb\xf8\x2d\x2d\x2d\xb8\
+\x77\x6f\x7c\xa2\xb1\x65\xcb\x96\x80\x89\x86\xc7\xe3\x09\x70\x07\
+\x52\xe7\xad\x83\x40\x18\x3f\xa3\xa6\x6b\xc0\x10\xf2\x5e\xc8\xc9\
+\xc9\x21\xa1\xcf\x69\xb2\xc9\x72\xab\x08\x2b\xe4\x71\xd5\x6d\x21\
+\x87\xc6\x31\x2c\xc0\xb0\x2c\xbc\x3e\x76\x7e\xf4\x9d\xa3\x4f\x11\
+\xc3\xf8\xb3\x7c\x3d\x73\x78\x19\x86\xb3\xd8\x95\x4b\xf8\xfb\x92\
+\x95\x49\xb8\xa5\xfc\x74\xba\x63\x2b\xf4\xc3\xad\xfa\xc8\x75\xdb\
+\x68\xc2\x25\xe3\x8e\x40\xc0\xdf\x07\x81\x80\xf3\x73\x20\x36\x63\
+\x81\xeb\x7b\x66\xbe\x9c\xe3\xa9\x8a\x1b\xf9\x05\x4d\x90\xd4\x9b\
+\x33\x9d\xc0\x11\x93\x09\x65\x05\x66\x19\x1f\x9c\x03\xcd\x51\x3f\
+\xae\xad\xf5\xae\xff\xf3\xc6\x8d\x1b\x43\xae\x0a\xd5\xd7\xd7\xe3\
+\xce\x9d\x3b\xfe\xef\x9b\x37\x6f\xc6\xe0\xe0\x60\x40\x81\xab\x17\
+\x5f\x7c\x31\x2c\x63\x03\xcb\xb2\xf8\xe4\x93\x4f\xfc\xdf\x33\x32\
+\x32\xb0\x78\xf1\xe2\x80\x6d\xaa\xab\xab\xfd\x63\x51\x28\x51\x40\
+\x99\x1d\xdf\x22\x80\xae\xc1\xe0\x42\x7f\xe1\xc2\x85\x73\xae\x96\
+\x44\xdc\xd5\x03\x67\xdf\x76\x1e\x5b\x81\xcd\x9c\xac\xf3\x62\xce\
+\xe2\x98\xab\x15\x38\xa6\x7d\xe7\x1a\x6b\xa1\x92\x40\xa3\x14\xe3\
+\x59\x44\x29\x13\x43\x80\x67\x99\xd8\xce\xf0\x4a\x4b\x4b\xc3\x12\
+\xf0\xa9\xa9\xa9\x71\xab\x34\xcb\xc5\x25\x63\x2c\x5b\x0d\x1f\xe1\
+\xea\x22\x13\x2b\xcb\x39\x5f\x57\x1a\x22\x99\x10\x3a\x9d\xd1\x49\
+\x51\xcb\x65\xf2\x43\x45\xb2\xa2\x63\x70\xc8\xcc\xcc\x0c\x6e\x04\
+\xe9\x6d\x88\xea\x31\xdd\xc3\x1d\xfe\xc0\x52\xa1\x50\x88\xe7\x9e\
+\x7b\x2e\xf8\xf6\x6e\x37\xfe\xf0\x87\x3f\xf8\xbf\x67\x66\x66\x62\
+\xe9\xd2\xa5\xb8\x7e\xfd\xba\xff\x77\xcb\x96\x2d\x43\x69\x69\x69\
+\x58\xc7\xbf\x71\xe3\x06\x8c\x46\xa3\x7f\x82\xfa\xf4\x6a\x82\xdb\
+\xed\x0e\x88\x03\x50\xe5\x96\xc6\xac\xfa\xed\xd4\x93\x2d\x2f\xdc\
+\xc3\xc6\xa0\xdb\x3c\x3d\x51\x99\x0b\xc4\x5d\x69\x71\x15\xfa\x7c\
+\xcd\xda\xe1\x70\xfb\xe0\xf6\x86\x6f\x9d\x8a\xc4\xe7\x9a\xcf\xc1\
+\xab\x5c\x83\xaa\xb5\x0a\x09\x27\xdf\xee\x79\x25\xf4\xa5\xf4\xd2\
+\x8c\x25\xa9\xa9\xa9\x78\xf5\xd5\x57\xe1\x70\x38\xa6\x15\x37\x02\
+\x81\xc0\x5f\x99\x91\xef\x42\x7f\x4c\x50\x4f\x0c\x66\x9b\xab\x42\
+\x3f\x56\x01\x9e\x7c\x0d\x12\xe6\x0a\x5f\xdb\x45\x84\x47\x71\x71\
+\x31\xba\xba\xa6\x4f\x47\xec\x1a\x68\x01\xcb\x78\xa3\xe6\xba\xe2\
+\xe8\x7a\xec\xff\x5c\x54\x54\x14\x32\x5b\xcc\xc9\x93\x27\x31\x38\
+\x38\x5a\x13\x47\x2c\x16\x63\xd7\xae\x5d\xb8\x7f\xff\x7e\x80\x1b\
+\xcf\xab\xaf\xbe\x1a\xd6\xb1\x7b\x7a\x7a\x70\xfc\xf8\x71\xff\xf7\
+\x15\x2b\x56\x4c\x3a\xfe\x9d\x3b\x77\xe0\x70\x8c\xa6\xb2\x14\x8a\
+\x65\x50\xe5\xac\x89\xeb\xf5\x71\x0f\x1b\xfd\x29\x48\xe7\x93\xd0\
+\x8f\xbf\x45\x9f\xb3\x6f\x37\x3f\xad\xda\x5c\x57\x1a\x22\xc9\x1e\
+\x64\x75\x78\xc1\x57\x6f\x17\x2e\xb5\x10\xc6\x02\x97\xf9\x1c\x73\
+\x30\x9b\x28\x64\x24\xf4\xe3\x72\xde\x15\x0a\x28\x95\xca\x29\x7f\
+\xe2\x29\xf2\x01\xee\x96\x6d\xae\x82\xfa\x59\x17\xfa\xf3\xc5\xa2\
+\x4f\x42\x7f\x6e\x13\x2a\x77\x3d\xeb\xf3\x84\xf4\x11\x0f\x17\x96\
+\xf1\xc1\xd9\x3b\x5e\x65\x76\xfd\xfa\xf5\x41\xb7\x6f\x6d\x6d\xc5\
+\xd5\xab\x57\x03\xb6\xf7\x7a\xbd\x01\x16\xf7\xfd\xfb\xf7\x87\x95\
+\x5a\xd2\xe3\xf1\xe0\x9d\x77\xde\xf1\xaf\x3c\xaa\xd5\xea\x49\x55\
+\x78\xfb\xfb\xfb\x03\x8a\x67\xa9\x17\x6d\x83\x40\x1c\xdf\x82\x6c\
+\xa1\xce\xbd\x44\x22\xc1\xf2\xe5\xcb\x49\xe8\x73\x7e\xc1\xc9\xc5\
+\x9c\x7c\xdb\xf9\x5a\x30\xa9\x9d\x63\xbb\x22\x11\xb9\x3e\x86\x45\
+\xd7\x90\x83\x77\x7d\x67\x58\x16\x9d\x83\x0e\xce\x7d\x7f\x56\x85\
+\xfe\xc2\x34\x35\x08\x62\x26\x82\x77\x2c\x1f\x35\xdf\xe0\xda\x2e\
+\xbe\x5a\xf4\xe7\xcb\xf9\x25\xf8\x45\x61\x61\x61\x48\x37\xa8\x68\
+\xb9\xef\xb8\xfa\x9b\xc1\x78\x5d\xfe\x89\x6e\x51\x51\xd1\xb4\xdb\
+\x7a\xbd\x5e\x7c\xf0\xc1\x07\xfe\x15\xcf\xd4\xd4\x54\xac\x5a\xb5\
+\x0a\x57\xaf\x5e\xf5\xc7\xd1\x64\x64\x64\x60\xf7\xee\xdd\x61\x1d\
+\xfb\xf8\xf1\xe3\xfe\x95\x0b\x81\x40\x80\xb2\xb2\xb2\x49\x41\xe4\
+\xd7\xae\x5d\xf3\x1f\x4f\xa2\x49\x85\x6a\xc1\xea\xb8\x5f\x9f\x50\
+\xfe\xf9\x2b\x57\xae\xe4\x65\x21\xbd\x50\xc4\xdd\x75\x47\x20\x00\
+\x34\x72\x71\xd8\x2e\x39\xed\xfd\x36\x58\x1c\x1e\x68\x78\xe6\xf6\
+\xf1\xb8\xdd\xc4\x4d\xe8\x47\xd8\xfe\x9a\x36\x13\xb2\x92\x14\xbc\
+\xea\x7b\x4b\xaf\x0d\x36\x57\xf8\x16\xfd\xb1\xd5\x8c\x48\xce\x41\
+\xa2\x5a\x8a\xb9\x8a\x52\x2a\xc2\xfa\xc5\xc9\x58\xa0\x57\xa2\xcf\
+\xe4\x04\x41\x44\x2a\x44\x0d\x06\x03\x56\xad\x5a\xc5\xab\x3e\x78\
+\xbd\xde\xb0\xab\xe2\x02\xdc\x33\xc8\xcc\x04\xa9\x54\x0a\xb1\x58\
+\xec\x2f\xc8\x13\x8a\xce\xce\xce\x98\x55\xed\xe5\x7a\xdd\x89\xb9\
+\x8b\x5c\x2e\x47\x61\x61\x61\x80\x25\x7b\xb2\x40\x6f\x02\x58\x66\
+\xc6\x79\xe4\x1d\xdd\xe3\x6e\x3b\xab\x57\xaf\x0e\x3a\xc1\xb8\x7c\
+\xf9\x32\x7a\x7a\x7a\x00\x8c\xfa\xf2\xef\xda\xb5\x0b\x4f\x9e\x3c\
+\xf1\xff\x4e\x20\x10\xe0\xb5\xd7\x5e\x0b\x2b\x56\xa3\xa6\xa6\x26\
+\xc0\xa7\xbf\xb4\xb4\x74\x52\x6c\x42\x6d\x6d\x6d\x40\x85\x67\x6d\
+\xe1\x5e\xc4\xbb\x48\x90\xcf\x61\x82\xd7\x3a\x10\x74\x9b\x50\xab\
+\x22\x24\xf4\x83\x90\xa2\x95\x85\x2d\xf4\x59\x00\xb5\x1d\x66\x6c\
+\x58\x92\xcc\x9b\x93\xe8\xf5\x31\xa8\xef\xe2\x56\x7c\x24\x45\x17\
+\xd9\x0b\xae\xba\x7d\x04\xfb\x56\xf3\xab\x42\x61\x75\x9b\x29\xa2\
+\xbe\xcb\x24\x42\x68\x15\x12\x4e\xb1\x07\x47\xd6\x67\xa1\x28\x47\
+\x07\x82\x98\x4f\xe8\x74\x3a\x08\x04\x82\xb0\x03\x24\xbb\xbb\xbb\
+\xe1\x70\x38\xe2\xee\x72\x34\x91\xf6\xf6\xf6\xb0\x85\x34\x00\x24\
+\x24\x24\xc4\xb4\x7d\x09\x09\x09\x18\x18\x18\x08\xef\xa5\xef\xf3\
+\xa1\xbd\xbd\x1d\x0b\x17\x2e\xe4\xcd\xf9\x75\xb9\x5c\xe8\xee\xee\
+\xa6\x9b\x65\x8e\xb3\x75\xeb\xd6\xa0\x42\x9f\xf1\xba\xe0\x1a\x6c\
+\x83\x4c\x9f\x1f\xf1\x31\x18\x8f\x13\xae\x81\x96\xb0\x04\xaa\xc9\
+\x64\xc2\xf9\xf3\xe7\x03\x26\x05\x0a\x85\x02\xb7\x6f\xdf\xf6\xff\
+\x6e\xcb\x96\x2d\xc8\xcf\x0f\xdd\x1e\x93\xc9\x84\x0f\x3e\xf8\xc0\
+\xff\x3d\x33\x33\x13\xeb\xd6\xad\x0b\xd8\xc6\xe9\x74\x06\xfc\x6d\
+\x65\x56\x31\xa4\x09\x99\x71\xbf\x2e\xb6\x09\x95\x83\xa7\x42\x24\
+\x12\x4d\xca\xff\x3f\x57\xe0\x45\xce\xbe\x15\x0b\xb8\x09\xb7\x2a\
+\x8e\xc2\x72\xb6\xa9\xeb\xb4\x70\x0a\xc4\x4d\xd1\xca\x90\xa2\x8d\
+\x4c\xe8\x77\x0f\x3b\xd1\x6f\x76\xf1\xa6\xef\x0c\xcb\xa2\xba\x7d\
+\x84\xd3\x3e\xcb\xb3\xc7\x4b\x66\x2f\x5f\xa0\xe5\xb4\xef\x85\xca\
+\x1e\x7a\x53\x10\xf3\x0e\x99\x4c\xc6\xa9\xda\x22\xcb\xb2\xbc\xb3\
+\xee\x36\x37\x73\x4b\x0d\x98\x97\x97\x17\xd3\xf6\x71\x3d\x5e\x4b\
+\x4b\x0b\xaf\xce\x6f\x6b\x6b\x6b\xcc\xd2\x91\x12\xb3\xc7\x86\x0d\
+\x1b\x42\xba\x7f\x38\x7a\x6a\x67\x74\x0c\x67\x6f\x3d\x58\x66\xb4\
+\x20\xa3\x5e\xaf\x47\x41\x41\xc1\xb4\xdb\x4e\x2c\x66\xa5\x50\x28\
+\xb0\x76\xed\x5a\x5c\xbe\x7c\xd9\xff\x3b\xad\x56\x8b\x17\x5e\x78\
+\x21\xb4\x16\x60\x18\xbc\xf7\xde\x7b\xfe\xfa\x0c\x32\x99\x0c\x65\
+\x65\x65\x93\xd2\xc1\x5e\xbe\x7c\xd9\x9f\x39\x4a\x28\x91\x43\xb3\
+\x64\x67\xdc\xaf\x09\xeb\x75\xc3\x6e\xac\x0a\xae\x53\x57\xac\x98\
+\xb3\x69\x66\xf9\x21\xf4\x39\x5a\x68\xeb\x3b\xcd\xbc\xf1\xd5\x67\
+\x01\x5c\xa8\xec\xe5\xb4\xcf\x4c\x2d\xd2\xe7\x1f\xf1\x47\xec\xde\
+\x6b\x1c\x82\xc9\x16\xbe\x45\x5e\x21\x15\x61\x61\xba\x3a\xe2\x73\
+\x61\x1c\x74\xe0\x71\x87\x09\x04\x31\xdf\x08\xc7\x62\x36\x91\x07\
+\x0f\x1e\xf0\x46\xf8\x0d\x0f\x0f\x07\xe4\xd9\x9e\x8d\xfe\xce\x94\
+\x60\x62\x67\x2a\x9a\x9a\x9a\x30\x3c\x3c\xcc\x8f\xf7\x0c\xcb\x06\
+\x54\x25\x25\xe6\xf6\xa4\x3e\x94\x0b\x88\xa3\xbb\x36\xa4\x1b\x49\
+\xf0\x89\xc2\x13\xff\xe7\xa7\x2d\xea\x13\x31\x18\x0c\x01\xe3\x6a\
+\xeb\xd6\xad\x68\x68\x68\x40\x5b\x5b\x9b\xff\x77\x2f\xbf\xfc\x72\
+\x58\x2b\x87\x9f\x7e\xfa\x29\x1a\x1a\xc6\xe3\x0b\x76\xed\xda\x35\
+\x29\xc9\xc0\xbd\x7b\xf7\x02\x0c\x14\x9a\xc5\x3b\x20\x94\xc4\x7f\
+\x55\xd2\xde\x55\x0d\xd6\x1b\xdc\x80\xba\x79\xf3\xe6\x39\x3b\xe6\
+\x78\x21\xf4\x93\x35\x52\x64\x24\x86\x1f\xe0\xc0\x02\x38\x59\xd1\
+\xc5\x8b\x13\xf8\xb0\x65\x18\xc6\x41\x6e\x93\x8e\x99\x0a\xfd\x87\
+\x2d\xc3\xbc\x08\xca\xf5\xf8\x18\x9c\xe3\x38\xe9\x28\xcc\xd6\x42\
+\x34\x21\xf8\x7a\x71\x86\x06\x32\x8e\xc5\xa0\xce\x3f\xea\xe5\xc5\
+\xb5\x1f\xb2\xba\x71\xa1\xb2\x07\xc7\xef\x76\x06\xfd\xb9\xf6\xb8\
+\x9f\xd3\x8a\x0f\xf1\x6c\xc2\xd5\xe2\x6c\x36\x9b\xf1\xf8\xf1\x63\
+\x5e\xb4\xbd\xbc\xbc\x9c\x53\x5e\x76\xb5\x5a\x8d\x94\x94\x94\x98\
+\xb6\x51\xaf\xd7\x43\xa3\xd1\x70\x12\xd7\x13\x5d\x0c\xe2\xc9\x93\
+\x27\x4f\x30\x32\x32\x42\x37\xc9\x3c\x21\x64\x55\x59\x96\x85\xb9\
+\xe1\x4a\x64\x93\x42\x9f\x27\x20\x17\xfc\x74\xb1\x3c\x63\xc5\xac\
+\xc6\xee\x5b\xa5\x52\x89\xd4\xd4\x54\xdc\xba\x75\xcb\xbf\xcd\x9a\
+\x35\x6b\xb0\x66\x4d\xe8\x94\x97\x97\x2f\x5f\xc6\x8d\x1b\x37\xc6\
+\x35\x4e\x51\xd1\xa4\x89\x75\x6b\x6b\x2b\xee\xde\x1d\x2f\xde\x25\
+\x4f\x5f\x06\x65\x36\x0f\xe2\x8c\x58\x16\xb6\xb6\xfb\x41\x37\xd1\
+\x6a\xb5\xd8\xb4\x69\xd3\x9c\x1d\x6f\xbc\xa9\x58\x54\x94\xa3\x43\
+\xf7\x70\xf8\x01\x8a\x4d\xdd\x56\xd4\x77\x5a\xb0\x34\x4b\x13\xb7\
+\x36\x7b\x7d\x2c\xce\x3c\xe0\xe6\x33\xa9\x96\x8b\x91\x9b\x32\xb3\
+\x4c\x13\x2c\x80\x53\x15\xdd\xf8\xcb\xb2\x82\xb8\x5e\xb3\x1b\xb5\
+\x03\x9c\xeb\x1a\x3c\x3d\xc9\x11\x8b\x04\x58\x9a\xa5\x45\x55\x6b\
+\xf8\x2f\x31\xe3\xa0\x1d\xb5\x1d\x66\xce\x6e\x3f\xd1\x64\xd0\xe2\
+\xc2\x7f\x9d\x6a\x84\xd5\x19\x9e\x4f\xf2\xd5\x9a\x3e\xfc\xff\x2f\
+\x17\x42\x2a\xa6\x32\xf2\xc4\xd4\xe8\x74\x3a\x24\x25\x25\x61\x68\
+\x68\x28\xec\x7d\xee\xdf\xbf\x8f\x65\xcb\x96\xc5\x35\x68\xb4\xb7\
+\xb7\x97\xb3\x9b\x4b\xac\xad\xf9\x13\x8f\x5b\x55\x55\x15\xf6\xf6\
+\xad\xad\xad\xe8\xea\xea\x0a\x59\xe8\x68\x56\xdf\x33\x5e\x2f\xee\
+\xdd\xbb\x47\x37\xc8\x3c\x62\xd9\xb2\x65\x48\x4b\x4b\x0b\x08\x48\
+\x7d\x1a\xd7\x80\x01\xae\xc1\x56\xc8\x92\xb9\x19\x00\xdc\xc3\x1d\
+\xa3\xc1\xbc\x00\x34\x1a\xcd\xb4\x63\xf7\xf6\xed\xdb\x01\xc1\xf3\
+\x25\x25\x25\xb8\x78\xf1\xa2\x3f\x25\xa6\x4e\xa7\x0b\x2b\x67\x7e\
+\x55\x55\x55\x40\xbe\xfc\xec\xec\x6c\x6c\xdb\xb6\x2d\x60\x9b\x91\
+\x91\x11\x5c\xb8\x70\x61\xfc\xbd\xaf\x4e\x41\xc2\x8a\x03\xbc\xb8\
+\x16\x8e\xee\xc7\xf0\x39\x82\x7b\x09\x94\x95\x95\xf1\x2e\x30\x9f\
+\x0b\xbc\x51\x1d\x5c\xfd\xf4\x01\xe0\x93\xaf\x3b\xc2\x16\x5a\xb3\
+\xc1\xf1\xbb\x46\x0c\x59\xdd\x9c\xfb\x19\x8d\xe0\xf2\xba\x4e\x33\
+\xbe\xae\x1f\x88\x5b\xdf\x8d\x83\x0e\xce\xfe\xf2\x22\xa1\x00\xcb\
+\xb2\x26\x8b\xf3\xa2\x08\xae\xfd\xc9\x8a\x2e\x38\xdc\xbe\xb8\xf4\
+\xdd\xe5\x61\xf0\xf6\x25\x03\xa7\xb1\x67\x76\xb0\xf3\x1d\xd1\x00\
+\x00\x20\x00\x49\x44\x41\x54\x78\x78\x5d\xd5\x99\xe0\x07\x5c\x05\
+\xb0\xc3\xe1\x08\xc8\x7d\x1d\x6b\xdc\x6e\x37\x2e\x5d\xba\x34\xeb\
+\xfd\x8c\x16\x5c\xdd\x77\x80\x40\x9f\xe2\x78\x70\xed\xda\x35\xca\
+\x9f\x3f\xcf\x10\x08\x04\x38\x7c\xf8\x70\xc8\xed\x2c\x0d\x57\x01\
+\x96\x5b\xf5\x1c\xd7\xe0\xb8\xdb\xcd\xd2\xa5\x4b\x27\xf9\xc8\x8f\
+\x3d\x37\x4e\x9e\x3c\x19\xb8\x9f\xcb\xe5\x9f\x78\x08\x04\x02\x7c\
+\xf7\xbb\xdf\x0d\xe9\x93\xde\xde\xde\x8e\x77\xdf\x7d\xd7\xbf\x2a\
+\x90\x98\x98\x88\xfd\xfb\xf7\x43\x28\x1c\x97\x96\x1e\x8f\x07\xa7\
+\x4f\x9f\x86\xdb\x3d\xaa\x95\x84\x12\x39\x92\x56\xbf\x18\xd7\x0a\
+\xb8\x63\xb0\x3e\x0f\x2c\x8d\xd7\x83\x6e\x23\x91\x48\x50\x56\x56\
+\x36\xa7\xc7\x1b\x6f\x84\xfe\x02\xbd\x92\x73\xda\xc8\x61\x9b\x1b\
+\xef\x5c\x36\xc0\xc7\xc4\xbe\x8c\xd4\xad\xba\x01\xdc\xae\x1f\xe4\
+\xbc\xdf\x86\x25\x49\x51\x6b\xc3\x17\xe5\x9d\x68\xee\xb1\xc6\xbc\
+\xef\x16\x87\x07\x6f\x5f\x6e\xe1\xec\x8e\x52\x92\x9f\x30\xa5\x9b\
+\x4e\x51\x8e\x0e\x6a\x39\xb7\xc5\xa5\xde\x11\x27\xde\x3c\xdf\x0c\
+\x67\x8c\xc5\x3e\x0b\xe0\x0f\x37\xda\xd0\x33\xc2\xed\xc5\x2f\x12\
+\x0a\x20\x95\x90\x35\x9f\x08\xce\xb2\x65\xcb\x02\x5e\x92\xe1\xd0\
+\xd8\xd8\x18\x17\xff\x6d\x96\x65\x71\xfe\xfc\x79\xce\x2e\x25\x3a\
+\x9d\x2e\x6e\x16\xf2\x8c\x8c\x0c\xce\xd9\x7e\xcc\x66\x33\xce\x9d\
+\x3b\x17\x97\x78\x88\x47\x8f\x1e\xa1\xbe\xbe\x9e\x6e\x8c\x79\xc8\
+\xf6\xed\xdb\x91\x9c\x1c\x3c\x7b\xa0\xc7\xd2\x17\x90\x26\x33\xac\
+\xc9\xf7\x50\x6b\xc0\xf3\x64\x2a\xce\x9c\x39\x03\x8b\x65\x3c\x53\
+\x60\x62\x62\x22\x1e\x3e\x7c\xe8\xff\xbe\x6d\xdb\xb6\x69\xf7\xf5\
+\xeb\xaf\xe1\x61\xbc\xf9\xe6\x9b\x7e\x01\x2f\x97\xcb\x71\xf8\xf0\
+\xe1\x80\x94\xb9\x2c\xcb\xe2\xe2\xc5\x8b\xe3\xb1\x2e\x02\x01\x12\
+\x56\x1e\x86\x48\x91\xc0\x8b\x6b\x60\x35\xdc\x81\xcf\x15\x5c\x43\
+\x6d\xd9\xb2\x05\x5a\xad\x76\x4e\x8f\x35\x5e\x29\x8f\xe7\x4b\xb9\
+\x3f\xfc\x5b\xfb\x6c\xf8\xe4\xeb\x8e\x98\xb6\xb3\xa1\xcb\x82\xe3\
+\x77\x3b\x39\xef\x57\x9c\xab\x9b\xb1\xdb\xce\x44\x18\x86\xc5\xbb\
+\x57\x5a\x31\x68\x89\x5d\x16\x1e\xaf\x8f\xc1\x3b\x97\x5b\x39\x05\
+\xe0\x02\xa3\x2e\x3a\xfb\x57\x4f\x9d\x55\x44\x26\x11\xa2\x6c\x55\
+\x1a\xe7\xb6\x74\x0c\xd8\xf1\x9b\x0b\x2d\x70\x79\x62\xf7\x02\xbe\
+\x50\xd9\x83\xea\x76\xee\xc1\xc0\x1b\x97\x24\x47\x5c\x3b\x81\x78\
+\x76\xd0\xe9\x74\x11\x55\x5e\x2c\x2f\x2f\x8f\x79\x96\x98\x5b\xb7\
+\x6e\xa1\xbd\xbd\x9d\xfb\xbd\xb0\x71\x23\xe7\xc9\x4c\xb4\x10\x08\
+\x04\x93\x2a\x74\x86\x43\x67\x67\x67\x80\x0f\x72\x2c\x68\x6b\x6b\
+\xe3\x4d\x8c\x00\x11\x7d\xc4\x62\x71\x58\xd9\x6c\x2c\x8d\xd7\xc1\
+\x32\xe1\xad\x1e\x33\x6e\x3b\x3c\x96\x7e\xff\xf7\xa5\x4b\x97\x4e\
+\xda\xa6\xbb\xbb\x3b\x20\xcf\x3d\x30\x6a\xe1\x1f\x9b\xc8\xa6\xa5\
+\xa5\xe1\xc8\x91\x23\x41\x8f\xe3\x74\x3a\xf1\xeb\x5f\xff\x1a\x66\
+\xb3\x79\x54\x48\x0a\x85\x78\xfe\xf9\xe7\x03\x62\x60\x58\x96\xc5\
+\xa5\x4b\x97\x02\x9e\x4b\x9a\x45\xdb\x21\x4b\xce\xe7\xc5\xf9\xf7\
+\x39\xcc\xb0\xb5\xde\x0b\xf9\xbc\x38\x70\xe0\xc0\x9c\x1f\x6b\xbc\
+\x12\xfa\x4b\x32\x35\x58\x92\xc9\xdd\xe7\xfe\x5e\xd3\x10\xde\xbb\
+\xda\x1a\x93\x80\xc7\x07\x2d\xc3\x78\xeb\x92\x01\x0c\xc7\x55\x04\
+\xa1\x50\x80\x83\x6b\xa2\x6f\xc5\xb2\xb9\xbc\xf8\xe5\xe9\x46\xb4\
+\xf6\xcd\xfe\xd2\xae\xd9\xe1\xc1\xff\x9c\x69\x42\x5b\x3f\xf7\x63\
+\x6d\x59\xa6\x47\x52\x90\x62\x57\x9b\x96\xea\x91\xac\xe1\x5e\x0c\
+\xab\xb5\xdf\x86\xdf\x5c\x6c\x9e\xf5\x6b\xcf\xb2\xc0\xb9\x47\x3d\
+\x38\xff\x90\x7b\xc6\x23\xb1\x48\x88\x3d\x2b\xd3\x40\x10\xe1\x50\
+\x5a\x5a\x1a\x91\x3f\xe8\xf9\xf3\xe7\x63\x12\x9c\xcb\x30\x0c\xae\
+\x5c\xb9\xc2\xc9\xd7\x7d\x8c\xd4\xd4\xd4\xb8\xe7\xa6\x2f\x28\x28\
+\x40\x7a\x3a\xf7\x5a\x24\x8f\x1f\x3f\xc6\xc5\x8b\x17\xe1\xf3\xcd\
+\xfe\x2a\x62\x5d\x5d\x1d\xce\x9c\x39\xc3\x29\xc0\x99\x98\x7b\xec\
+\xdc\xb9\x13\x89\x89\x89\xc1\x05\xa9\xcb\x1a\x52\x90\x8e\x31\x31\
+\x08\x37\x35\x35\x75\xd2\xea\x15\xcb\xb2\xf8\xe8\xa3\x8f\x26\x8d\
+\x61\x7f\xba\x4b\xa1\x10\x7f\xf6\x67\x7f\x16\xf4\xf9\xe3\x76\xbb\
+\x71\xec\xd8\x31\x7f\xe5\x5b\x00\xd8\xbb\x77\x2f\xd2\xd2\xd2\x02\
+\x9e\x11\xe7\xcf\x9f\x0f\x58\x8d\x92\xa7\x2d\x85\x3a\x7f\x03\x6f\
+\xce\xbd\xb9\xe1\x72\xc8\x09\xd4\xd6\xad\x5b\xb1\x60\xc1\x02\x12\
+\xfa\xd1\xe6\xd0\xda\x4c\x44\xe2\xc2\x5e\xd9\x3a\x82\xff\x3e\xdd\
+\x88\x61\x8e\x3e\xf3\x5c\x84\xde\xa9\x8a\x6e\x7c\x70\xbd\x0d\x5e\
+\x1f\x77\x51\xb9\x61\x71\x12\x52\x75\xb3\x53\x05\xd2\xe2\xf0\xe2\
+\x57\x67\x9b\x70\xaf\x69\x68\xd6\xae\x4b\xc7\x80\x1d\xbf\xf8\xaa\
+\x01\xed\x11\xa4\x35\x55\x48\x45\xd8\xb3\x32\xf8\x8b\x55\x24\x14\
+\xe0\xc0\x9a\x8c\x88\xda\x66\xe8\xb5\xe1\xb7\x17\x5b\x60\x71\x78\
+\x67\xe9\xfc\x7a\xf0\xeb\xf3\x4d\x38\xff\xa8\x07\x91\xbc\x76\x37\
+\x2f\x4b\x86\x56\x49\xd6\x7c\x22\x3c\x94\x4a\x25\x4a\x4a\x4a\x22\
+\x12\xe0\xd7\xae\x5d\xc3\xf5\xeb\xd7\x67\xcd\xcd\xc4\xe1\x70\xe0\
+\xc4\x89\x13\x78\xf2\xe4\x49\x44\xfb\xf3\x25\x73\x45\xa4\xa9\xf2\
+\x1a\x1a\x1a\x70\xfc\xf8\x71\xd8\xed\xb3\x93\xde\x99\x65\x59\xdc\
+\xba\x75\x0b\x97\x2f\x5f\xa6\x9c\xf9\xcf\x00\x12\x89\x24\x2c\x5f\
+\x7d\x6b\x6b\x39\x18\x77\xe8\x31\xe7\xb5\x8f\x6b\x80\x9c\x9c\x9c\
+\x49\xff\x5f\x5e\x5e\x1e\xb4\xde\xc5\xc1\x83\x07\xa7\xdc\x6f\xa2\
+\xc8\xff\xf5\xaf\x7f\x8d\xc6\xc6\x46\xff\xef\x56\xae\x5c\x19\x30\
+\x79\xf7\xf9\x7c\x38\x7b\xf6\x6c\x40\xba\x5d\x59\xca\x42\x24\x14\
+\x3f\xcf\x9b\xf3\xee\xe8\x7e\x0c\x67\x6f\x43\xd0\x6d\x64\x32\x19\
+\xbe\xf5\xad\x6f\xcd\x8b\x71\xc6\x3b\xa1\x9f\x9d\xac\x40\x49\x41\
+\x62\x44\xfb\x76\x0e\x39\xf0\x1f\x27\x1b\xf0\x75\xdd\x00\x67\x8b\
+\x7b\x30\x8c\x83\x0e\xbc\x71\xae\x09\x97\xab\x23\x4b\xeb\x28\x15\
+\x0b\xb1\xb7\x64\x76\xab\xd9\xfa\x18\x16\x7f\xbc\xd9\x8e\x0f\x6f\
+\xb4\x63\xc4\x16\xbd\xa0\x4f\xb7\x97\xc1\x85\xca\x1e\xfc\xcf\x99\
+\x26\xce\x19\x76\xc6\xd8\x55\x9c\x06\xa5\x2c\x74\xe9\xec\x92\xfc\
+\x44\x64\x27\x47\x56\x90\xa2\xb9\xc7\x8a\xff\xf3\x59\x2d\xce\x3c\
+\xe8\x8e\xaa\xdf\x7e\x53\xb7\x15\xff\xf7\xcb\x06\x34\x75\x47\x16\
+\x0b\xa1\x51\x88\xb1\xa7\x98\xac\xf9\x04\x37\x4a\x4a\x4a\x22\xae\
+\x7a\x5b\x53\x53\x83\x2f\xbe\xf8\xc2\x5f\xbe\x3e\x5a\x02\xb4\xa1\
+\xa1\x01\x9f\x7c\xf2\x49\xc4\xd5\x59\x73\x72\x72\x90\x95\x95\xc5\
+\x8b\xf3\x9b\x9e\x9e\x1e\x71\x40\x70\x6f\x6f\x2f\x3e\xfe\xf8\x63\
+\xd4\xd7\xd7\x47\xd5\xe2\xde\xd7\xd7\x87\xe3\xc7\x8f\xa3\xb2\xb2\
+\x92\x6e\x80\x67\x88\xb2\xb2\x32\x64\x67\x67\x07\xbf\xff\xbc\x6e\
+\x8c\x54\x9f\x0a\x19\x98\xeb\xb3\x8f\xc7\xcb\x3c\x9d\xbe\xd6\x6e\
+\xb7\xe3\xc4\x89\x13\x13\x7e\x13\x68\x52\xcd\xcb\xcb\x0b\x1a\x74\
+\xea\x76\xbb\xf1\xc6\x1b\x6f\x04\x88\xfc\xe4\xe4\xe4\x80\x0c\x3b\
+\x5e\xaf\x17\xa7\x4f\x9f\x0e\xc8\x95\x2f\x4f\x5b\x82\xa4\x92\x17\
+\x21\x10\x8a\x78\x71\xbe\x7d\x0e\x13\x4c\x4f\x2e\x84\xdc\xee\x85\
+\x17\x5e\x08\xb9\xda\x32\x57\x10\xf3\xb1\x51\x07\xd7\x64\xe0\x89\
+\xd1\x1c\x91\x60\xb3\x39\xbd\xf8\xec\x8e\x11\xd7\x6a\xfb\x71\x60\
+\x4d\x06\x56\xe5\x25\x20\xd2\x24\x37\x83\x16\x17\xce\x3c\xe8\xc1\
+\x23\xc3\x30\x66\xf2\x38\xdf\xb3\x32\x2d\x66\xfe\xd9\x15\xcd\x43\
+\xa8\x6c\x1d\xc1\xf6\xe5\x7a\xec\x2e\x4e\x83\x5c\x1a\xd9\xcd\xc5\
+\xb0\x2c\xee\x36\x0e\xe1\xdc\xc3\x1e\x98\x1d\x91\x4f\x1c\x52\x75\
+\x32\x6c\x5f\xae\x0f\x6b\x5b\x01\x80\x6f\xac\xcf\xc2\x1b\x67\x9b\
+\xc0\x44\xf0\x02\x75\x7b\x19\x5c\xac\xea\xc5\xd7\xf5\x03\xd8\x55\
+\x9c\x86\xad\x85\x7a\x48\x44\xc2\x88\xfa\xfe\xc4\x68\xc6\xd7\x75\
+\x83\xa8\xef\x34\x47\x7c\xed\x05\x00\x5e\xdb\x9a\x0b\x95\x5c\x0c\
+\x82\xe0\x82\x44\x22\xc1\xa6\x4d\x9b\x70\xf9\xf2\xe5\x88\xc5\xe8\
+\xe7\x9f\x7f\x8e\xfc\xfc\x7c\x6c\xdc\xb8\x71\x46\x2f\xac\xf6\xf6\
+\x76\xdc\xb9\x73\x07\x03\x03\x91\x67\xf9\x12\x8b\xc5\xbc\x2b\x38\
+\xb3\x79\xf3\x66\x18\x8d\x46\x7f\x3a\x41\x2e\xd8\xed\x76\x5c\xba\
+\x74\x09\x95\x95\x95\xd8\xb4\x69\xd3\x8c\x96\xf7\xcd\x66\x33\xca\
+\xcb\xcb\x03\x04\x14\xf1\xec\x20\x12\x89\xf0\x83\x1f\xfc\x00\x3f\
+\xfb\xd9\xcf\x82\x4e\x1c\x5d\x83\x06\x98\xeb\x2f\x41\xbb\x6c\xcf\
+\xb4\xdb\x78\x1d\x23\x01\x22\x7c\x22\x27\x4e\x9c\xf0\x57\xad\x15\
+\x8a\x65\x60\x26\x14\x88\x12\x8b\xc5\xf8\xce\x77\xbe\x33\x6d\xec\
+\xcc\x98\xc8\x9f\x68\xa5\x17\x8b\xc5\x78\xf1\xc5\x17\xfd\xdf\x3d\
+\x1e\x0f\x4e\x9d\x3a\x85\xce\xce\xf1\xf8\x45\x45\xc6\x72\x24\x14\
+\x1d\x04\x04\x3c\xb1\x29\xb3\x2c\x46\xaa\x4f\x82\xf5\x06\xf7\xfc\
+\xd0\xeb\xf5\x38\x74\xe8\xd0\xbc\x19\x63\xbc\x54\x20\x49\x6a\x29\
+\x5e\xdf\x91\x8b\xb7\x2e\x1a\x22\x12\x7c\x00\x30\x60\x76\xe1\xfd\
+\xab\xad\x38\xa9\x92\xa2\x28\x57\x87\xe2\x1c\x1d\xf2\xd3\x54\x10\
+\x86\xc8\x6d\x39\x6c\x75\xa3\xa6\xdd\x84\xea\x76\x13\x0c\xbd\xb6\
+\x88\x8f\x3f\xc6\xca\xbc\x04\xec\x8a\xb1\x7f\xb6\xd7\xc7\xe0\x72\
+\x75\x1f\x6e\xd5\x0d\x60\x69\x96\x16\x45\x0b\x74\x28\xcc\xd6\x86\
+\xb4\xaa\x7b\x7d\x2c\x9a\x7a\x2c\xa8\x69\x37\xe1\x71\x87\x79\xc6\
+\xe9\x20\x15\x52\x11\xbe\xbf\xbb\x00\x62\x0e\x62\xbb\x20\x4d\x85\
+\x6f\xac\xcf\xc2\x17\xe5\xc6\x88\x8f\x6b\x77\xf9\x70\xf2\x7e\x17\
+\x6e\xd4\xf6\x63\x6b\x61\x0a\x96\x66\x69\x90\x99\xa8\x08\x9a\xd6\
+\x94\x65\x47\x0b\x60\x55\xb4\x0c\xe1\x4e\xc3\x20\xe7\x60\xe3\xa9\
+\xd8\xb1\x22\x35\xae\x75\x1e\x88\xb9\xcd\xb2\x65\xcb\xd0\xd7\xd7\
+\x87\x9a\x9a\x9a\x88\xff\x86\xc1\x60\x80\xc1\x60\x40\x7a\x7a\x3a\
+\x0a\x0a\x0a\x90\x9f\x9f\x0f\x9d\x2e\x74\x3a\xdb\xb1\xdc\xf8\x2d\
+\x2d\x2d\x30\x99\x66\x5e\x89\x7a\xf7\xee\xdd\x48\x4a\x4a\xe2\xd5\
+\xf9\xd5\xe9\x74\xd8\xbd\x7b\x37\xce\x9e\x3d\x1b\xf1\xdf\x18\x18\
+\x18\xc0\x57\x5f\x7d\x85\xc4\xc4\x44\xe4\xe7\xe7\x23\x3f\x3f\x3f\
+\xc0\x57\x79\x3a\x2c\x16\x0b\x0c\x06\x83\x3f\x4f\x3f\xb9\xe9\x3c\
+\xdb\x2c\x5d\xba\x14\x3b\x76\xec\x08\x99\x2a\xd7\xd6\xfe\x00\x62\
+\x55\x12\x94\x0b\xa6\x2e\x62\xe5\xb3\x0f\x07\x88\xd5\x31\x5a\x5b\
+\x5b\x03\x02\xbb\xa5\xc9\x79\x70\xf6\x8e\xfb\xcf\x1f\x3c\x78\x70\
+\xda\xb8\x15\x97\xcb\x85\x37\xde\x78\x63\x92\xcb\xcf\x8e\x1d\x3b\
+\xfc\x19\x76\xdc\x6e\x37\x4e\x9e\x3c\x19\xb0\xda\xa7\xcc\x2a\x86\
+\x6e\xf9\x7e\x44\x25\x9f\x78\x94\xb0\x1a\x6e\xc3\x3d\x12\x3a\x91\
+\xca\x6b\xaf\xbd\x06\xa9\x54\x3a\x6f\xc6\x17\x6f\x4d\x8d\xcb\xb2\
+\xb4\x38\xbc\x2e\x13\x27\x22\xc8\x6e\x13\x20\xdc\x6d\x6e\xdc\xa8\
+\xed\xc7\x8d\xda\x7e\xa8\x64\x62\xa4\x68\x65\xd0\x28\xc5\xd0\x2a\
+\x24\x50\x2b\xc4\x70\x79\x18\x98\xed\x1e\x58\x1c\x5e\x98\xec\x6e\
+\xf4\x99\xa2\x97\xc1\x26\x3b\x59\x81\xd7\xb6\xe6\x20\x5e\xc3\xdc\
+\xe5\x61\x50\xd5\x3a\x82\xaa\xd6\x11\x08\x85\x02\xa4\x27\xc8\xa1\
+\x53\x4a\xa0\x53\x4a\xa0\x55\x4a\x20\x16\x0a\x60\xb2\x8f\xe6\x77\
+\x37\xd9\x3d\xe8\x35\x39\xa3\x96\xc1\x46\x28\x10\xe0\xf5\x9d\x79\
+\x48\xd1\x72\x8f\x4b\xd8\x5a\xa8\x47\xcf\x88\x23\xa2\xf4\xa5\x13\
+\x31\xd9\x3d\x38\x55\xd1\x85\x53\x15\x80\x52\x26\x42\x8e\x5e\x05\
+\xb5\x5c\x0c\x95\x5c\x04\xb9\x54\x04\x8b\xdd\x8b\x41\xab\x0b\x83\
+\x16\x37\x86\xad\xee\xa8\xa6\x69\xcd\x4e\x56\xe2\xe0\xda\x0c\x10\
+\xc4\x4c\xd8\xba\x75\x2b\x46\x46\x46\x60\x34\x1a\x67\xf4\x77\x7a\
+\x7a\x7a\xd0\xd3\xd3\x83\xaf\xbf\xfe\x1a\x3a\x9d\x0e\x6a\xb5\x1a\
+\x4a\xa5\x12\x4a\xa5\x12\x32\x99\x0c\x0e\x87\x03\x76\xbb\x1d\x76\
+\xbb\x1d\x26\x93\x29\xaa\x3e\xe8\xeb\xd6\xad\x8b\x7b\x00\xee\xb4\
+\x86\x85\x82\x02\xac\x5f\xbf\x3e\xa0\x62\x67\x44\xef\x99\xe1\x61\
+\x0c\x0f\x0f\xe3\xc1\x83\x07\x50\x28\x14\x48\x48\x48\x80\x4a\xa5\
+\x82\x4a\xa5\x82\x52\xa9\x84\xcb\xe5\x82\xcd\x66\x83\xcd\x66\x83\
+\xd5\x6a\xa5\x2a\xb7\xc4\x24\xbe\xfd\xed\x6f\xe3\xfe\xfd\xfb\x7e\
+\xab\xfb\xb4\xef\xb5\xba\x4b\x10\x29\x13\xa7\xcc\x5e\x33\x31\x55\
+\xe4\xd8\x2a\x9e\xd5\x6a\x0d\xc8\x75\x2f\x56\x27\xc3\x63\x1e\x17\
+\xe4\x79\x79\x79\xd8\xbd\x7b\xf7\xd4\xc2\xd8\x6a\xc5\xb1\x63\xc7\
+\x02\x5c\x71\x80\x51\x37\xbc\xb1\xf4\x9b\x2e\x97\x0b\x5f\x7e\xf9\
+\x25\xfa\xfa\xfa\xc6\x45\xfe\x82\xd5\xd0\x15\xf2\x2b\xf7\xbc\xb3\
+\xb7\x01\x96\xe6\x5b\x21\xb7\x5b\xbb\x76\xed\x9c\xae\x82\x3b\xa7\
+\x84\x3e\x00\x6c\x5f\x9e\x82\x9e\x11\x27\xca\x1b\x06\xa3\xf2\xf7\
+\x6c\x2e\x2f\x6c\xfd\xb1\x29\xb0\xa5\x51\x48\xf0\xfd\x5d\x05\xbc\
+\xa9\x84\xca\x30\x2c\xba\x86\x1c\xe8\x1a\x72\xc4\xe4\x78\x87\xd7\
+\x65\x62\x69\x66\xe4\xd6\xec\x17\x37\x64\xa3\xdf\xe4\x42\x53\x94\
+\xea\x04\xd8\x5d\x3e\xd4\x75\x9a\x63\xd2\xf7\x64\x8d\x14\x3f\xd8\
+\x9d\x0f\x91\x50\x00\x82\x98\xd1\x84\x59\x28\xc4\xbe\x7d\xfb\xf0\
+\xe9\xa7\x9f\x46\xc5\xb2\x0e\x00\x26\x93\x29\x6a\x7f\x2b\x14\x0b\
+\x17\x2e\xc4\xba\x75\xeb\x78\x7d\x8e\x4b\x4b\x4b\x31\x38\x38\x18\
+\x34\x48\x91\x0b\x0e\x87\x03\x0e\x87\x83\x06\x2f\xc1\x09\xb5\x5a\
+\x8d\xd7\x5f\x7f\x1d\x6f\xbc\xf1\x46\xf0\x0d\x59\x16\xc3\x95\x5f\
+\x42\xbf\xfe\xbb\x10\xab\x03\xdd\x73\x04\x22\x29\xd8\x3f\xb9\xe4\
+\xb8\xdd\x6e\x7f\xf0\xac\xdf\xed\x4e\x20\x80\x50\x2c\x83\xdb\x3a\
+\xaa\xa9\x24\x12\xc9\xb4\x2e\x3b\x9d\x9d\x9d\x38\x76\xec\xd8\xa4\
+\x4a\xdd\x32\x99\x0c\xbb\x76\xed\x1a\x15\xcf\x4e\x27\x4e\x9c\x38\
+\x11\xe0\xd6\xa7\xca\x2d\x85\x76\xe9\x2e\x5e\x9d\x5b\xf7\x48\x27\
+\x46\xaa\x4f\x86\x8c\x71\x48\x48\x48\xc0\x0f\x7f\xf8\xc3\xf9\xf7\
+\x1e\xe1\x7b\x03\x5f\xde\x98\x8d\x82\x34\xf5\xdc\x9a\x3d\x89\x84\
+\xf8\xfe\xae\x7c\xe8\x54\xcf\x66\xa6\x95\xf5\x8b\x93\xb0\x7d\x79\
+\xca\x8c\xfe\x86\x48\x28\xc0\x9f\x3f\x97\x8f\x64\x8d\x6c\x4e\xf5\
+\x5d\xa7\x92\xe0\x47\xfb\x16\x51\x96\x1d\x22\x6a\xc8\x64\x32\x1c\
+\x3a\x74\x28\xa0\x10\xcd\x5c\x20\x25\x25\x65\x5a\x4b\x21\xdf\xd8\
+\xb5\x6b\x57\x80\xab\x03\x41\xc4\x83\x6d\xdb\xb6\x05\x04\xb7\x4e\
+\xab\xf5\xbd\x2e\x0c\x3d\xfc\x14\x8c\x27\x70\x42\x29\x94\xc8\xfd\
+\x9f\x2d\x16\x0b\xde\x79\xe7\x1d\xb4\xb5\x8d\x57\xca\x55\xe5\x94\
+\xfe\xbf\xf6\xee\xf4\xb7\x8d\xf3\x40\x03\xf8\xc3\x19\xde\x14\x25\
+\x4a\xd6\x2d\xd3\x92\x2c\xc9\x97\x7c\x48\x59\xc5\x76\x64\x5b\x76\
+\x7c\xd4\x46\xac\x46\x76\x9a\x8d\x03\xf4\xc3\x6e\x2e\x20\x09\xba\
+\x89\x01\x63\x8b\xfd\x03\xfa\xb5\x68\x3f\xb4\x40\x50\x34\x45\x16\
+\x05\x36\xd9\x14\xa9\x0b\xbb\x8d\x03\xc3\x6d\xd2\xba\xf1\x59\xc3\
+\x46\xd6\x71\x6c\x2b\xb6\x0c\x2b\xd6\x61\x4b\x96\x25\x91\x22\x25\
+\xf1\xd8\x0f\xaa\x6c\x92\xe2\x31\x33\x9c\x19\x0e\xa9\xe7\x07\x10\
+\xbc\x66\x86\xe4\x70\xc8\x79\xde\x77\xde\x79\x5f\xcc\x8c\x3f\xa9\
+\xcd\xdf\xbf\x7f\x7f\xd2\x26\x3b\x5f\x7d\xf5\x15\x7e\xf6\xb3\x9f\
+\x2d\x08\xf9\xc0\x5c\x93\x1d\x97\xcb\x05\xbf\xdf\x8f\xa3\x47\x8f\
+\xc6\x85\xfc\xa2\xc6\xcd\x86\x0b\xf9\xa1\xa9\x87\x18\xbb\xfc\xfb\
+\x8c\x5d\x69\x9a\x4c\x26\xbc\xf9\xe6\x9b\x71\x63\x01\x30\xe8\xeb\
+\x44\x14\x4c\x78\x6d\x57\x63\xde\xb4\x75\x76\xda\x44\xbc\xb1\x7b\
+\x39\x96\x55\x38\xb1\x18\x6d\x6a\x59\x82\x17\x9f\xf1\xaa\xb6\x2e\
+\xdf\xda\xdb\x84\xda\x32\x47\x5e\x7c\x76\xb7\xc3\x8c\xb7\xf6\x36\
+\xa7\x1d\x2f\x80\x48\x09\x8f\xc7\x83\xe7\x9f\x7f\x1e\x2e\x97\x2b\
+\x2f\xde\x6f\x4d\x4d\x0d\xba\xbb\xbb\x61\x36\xe7\xc7\x89\xe8\x16\
+\x8b\x05\xdd\xdd\xdd\x92\xda\xd7\x13\x69\xe9\xd5\x57\x5f\xcd\xd8\
+\x0b\x0f\x30\xd7\x7b\xcc\xd8\xe5\xa3\x88\x46\xc2\x31\x41\xff\xc9\
+\xbe\xf2\xbd\xf7\xde\x8b\x3b\xbf\xa7\xa8\x71\xd3\x5c\xd8\xfd\x67\
+\xad\xb6\xd7\xeb\xc5\xb3\xcf\x3e\xbb\x60\xb9\x27\x4f\x9e\xc4\xaf\
+\x7f\xfd\x6b\x4c\x4f\x2f\x6c\xc6\xdc\xdc\xdc\x8c\x96\x96\x16\xf4\
+\xf5\xf5\xe1\xa3\x8f\x3e\x8a\x2b\x08\xb8\x9b\xb7\xc2\xdd\xd2\x65\
+\xa8\x75\x19\x0e\x4e\xe2\xe1\xa5\x85\x05\xa2\x64\xf6\xed\xdb\x87\
+\xf5\xeb\xd7\x17\xe4\x36\x25\xe4\xc3\x9b\xb4\x5b\x45\xbc\xbe\x7b\
+\x39\xba\x5a\x2b\x0c\xfd\x3e\xab\x3c\x76\x1c\xee\x5e\x81\xe6\x9a\
+\x22\x2c\x36\x82\xc9\x84\x9e\xa7\xeb\xf0\xd2\x16\xaf\xaa\x4d\x56\
+\x4a\x8b\xac\xf8\x8f\xe7\x5a\xb0\xae\xbe\xc4\xd8\xdf\x7d\x89\x1d\
+\x6f\xef\x6b\x51\x74\x4e\x02\x91\x14\x15\x15\x15\x78\xf1\xc5\x17\
+\x51\x59\x59\x69\xe8\xf7\xb9\x6a\xd5\x2a\xf4\xf4\xf4\x28\xee\x1e\
+\x34\x57\x9c\x4e\x27\x0e\x1c\x38\x80\x15\x2b\x56\x70\x63\xa3\x9c\
+\xb1\xd9\x6c\x38\x7c\xf8\x30\xec\x76\x7b\xc6\x69\x67\x1e\x7d\x87\
+\xf1\xaf\x4f\x3c\x0e\xef\xf6\xaa\x27\x23\xe1\xce\xcc\x3c\xe9\x59\
+\xc6\x51\xbd\x1a\xae\x86\x8d\x08\x0c\x3c\x09\xfe\xdf\xfb\xde\xf7\
+\xe2\x9a\xec\x4c\x4e\x4e\xe2\xfd\xf7\xdf\xc7\xf1\xe3\xc7\x1f\xb7\
+\xe7\x37\x89\x4f\x8e\x4c\x3b\x1c\x0e\x74\x76\x76\xe2\x8b\x2f\xbe\
+\xc0\xa7\x9f\x7e\xfa\x78\x90\x2d\x00\x28\x5e\xb1\x03\x45\xcb\x8d\
+\xd5\xab\xd6\xec\xf8\x20\x46\xce\xff\x16\xe1\x40\xe6\xf3\x61\xea\
+\xeb\xeb\x0b\xa6\xcf\xfc\xbc\x0d\xfa\xb1\x41\xf2\xd0\x96\x65\x86\
+\x6c\xfb\xbc\x7a\x69\x31\xde\xd9\xdf\xa2\x69\x53\x13\x6f\xb9\x13\
+\xe5\x06\x0c\x92\x76\xab\x88\xd7\x76\x37\x6a\x56\x10\xb3\x9a\x05\
+\xfc\xdb\xb3\x8d\xd8\xb3\xa1\xda\x90\xdb\x66\x5b\x83\x07\xef\x76\
+\xaf\xd0\x6c\x40\x34\xa2\x79\x2e\x97\x0b\x07\x0f\x1e\x44\x4b\x4b\
+\x8b\xe1\xde\x9b\xc9\x64\xc2\x96\x2d\x5b\xb0\x73\xe7\xce\x94\xdd\
+\xf4\x19\x9d\x28\x8a\xd8\xbd\x7b\x37\x9e\x79\xe6\x19\x98\x4c\xc6\
+\xdb\xcf\x2c\x5b\xb6\xac\x20\x9b\x16\x50\xbc\xda\xda\x5a\xbc\xfe\
+\xfa\xeb\x92\xa6\x0d\x0c\x5e\xc3\xc3\xcb\x9f\x20\x1a\x9e\x45\x51\
+\xc3\x46\xd8\x2b\x9a\x9f\xfc\x26\x45\x0b\x5c\xf5\x1d\x28\x59\xfb\
+\x1c\xa6\xfa\xaf\x20\x1a\x9e\xeb\x4d\x6e\xc9\x92\x25\x71\xb5\xd7\
+\xe7\xcf\x9f\xc7\x4f\x7e\xf2\x13\x5c\xb9\x72\xe5\xf1\x63\x66\x57\
+\x7c\xfb\x7f\xaf\xd7\x8b\x63\xc7\x8e\xc5\x8d\xbe\x2d\x58\xec\x28\
+\xdd\xd0\x03\x57\xc3\x46\x43\xad\xbf\xe0\xd0\x75\x8c\x5e\xfc\x10\
+\x91\xe9\xcc\xe7\xf8\x79\x3c\x1e\x1c\x39\x72\x44\xd1\x68\xe4\xf9\
+\x22\xef\x3a\xf8\xde\xd8\x52\x86\x8a\x12\x1b\xfe\xfb\xf3\x3e\xcd\
+\x46\x42\x95\xb5\x73\x03\xb0\x63\x6d\xe5\xdc\x88\xbe\x1a\xef\x17\
+\xaa\x3d\x76\xbc\xb0\x79\x29\xfe\x74\x69\x10\x5f\x7e\xf3\x00\x46\
+\x18\x1c\xbd\xbc\xd8\x86\x57\x77\x35\xa2\xaa\xc4\xae\xf9\x7a\xde\
+\xd7\x5e\x8d\xea\x52\x3b\xfe\xf7\xef\x77\x31\x13\xca\x7d\x77\x74\
+\xa2\x60\x42\xf7\xbf\xd4\x1a\xfe\x48\x13\x15\x16\x51\x14\xb1\x67\
+\xcf\x1e\x94\x96\x96\xe2\xe2\xc5\x8b\xaa\x0e\xda\xa4\xb8\x30\x6e\
+\xb5\x62\xcf\x9e\x3d\xa8\xaf\xaf\x2f\x88\x75\xdc\xde\xde\x8e\xd2\
+\xd2\x52\x9c\x3a\x75\x2a\xae\x66\x34\x57\x2c\x16\x0b\x3a\x3b\x3b\
+\xd1\xda\xda\x8a\x8f\x3f\xfe\x18\x93\x93\x93\xfc\x21\x14\xb8\xce\
+\xce\x4e\xf4\xf7\xf7\x27\x0c\x72\x95\xdc\xf4\xc8\x6d\x8c\x5e\xfc\
+\x1f\x94\xb5\xbf\x88\xd2\xb6\x03\x08\x0c\x7e\x83\x68\x64\x16\x8e\
+\xea\x35\x30\x99\xe7\x9a\x92\x06\xef\x3f\x19\xa7\x61\xc7\x8e\x1d\
+\x10\x04\x01\x43\x43\x43\xf8\xe4\x93\x4f\x70\xfd\xfa\xf5\xb8\xe5\
+\xd9\x2b\x5b\x60\x2e\xaa\x80\xef\xf6\x99\xc7\x8f\xdd\xbc\x19\x3f\
+\x92\xac\xb5\xac\x1e\x9e\xb5\xcf\x41\xb4\x1b\xab\xe0\xe9\xbb\x75\
+\x06\x93\xb7\xfe\x2e\x69\x5a\xbb\xdd\x8e\x1f\xff\xf8\xc7\x05\x7f\
+\x7e\x4e\x5e\x8e\xe4\xd3\x58\xe9\xc2\x7f\xbd\xb0\x1a\x7f\xf9\xbf\
+\xfb\x38\x7d\xed\x41\xce\x42\x5f\x73\x75\x11\xba\x3b\x6a\xe1\x2d\
+\xd7\xaf\x3d\xbe\xd5\x2c\xe0\xe0\xa6\x3a\xac\xaf\x2f\xc1\x47\x7f\
+\xbf\x8b\x87\xbe\xdc\xec\x84\x1c\x56\x11\xbb\xd6\x57\x61\xdb\xea\
+\x72\x59\xfd\xe4\x67\xab\xad\xc1\x83\xe5\x95\x2e\x7c\x76\x65\x08\
+\x17\x7b\x1f\x66\x3d\xce\x81\x52\xab\xea\x8a\xd1\xb3\xb1\x16\x95\
+\x1a\x17\x70\x88\x52\xe9\xe8\xe8\xc0\xf2\xe5\xcb\x71\xf6\xec\xd9\
+\xb8\x13\xee\xf4\x24\x08\x02\x5a\x5b\x5b\xd1\xd1\xd1\x91\x77\x4d\
+\x75\x32\x69\x68\x68\x78\xdc\xe5\xe1\xb5\x6b\xd7\x72\xd6\xd7\x7d\
+\x4d\x4d\x0d\x76\xee\xdc\x29\x69\xfc\x03\x2a\x2c\x87\x0e\x1d\x82\
+\xdf\xef\xc7\xa9\x53\xa7\x32\x4e\x3b\x3b\x31\x8c\x91\x0b\xbf\x45\
+\xd9\x53\xff\x0a\x47\x6d\xeb\xc2\x09\xa2\x4f\xb6\xdf\x81\x81\x01\
+\xfc\xf4\xa7\x3f\xc5\x9d\x3b\x77\xe2\x7f\xcf\x16\x07\x8a\x57\xee\
+\x84\xa3\xb6\x15\x63\x5f\x1d\x4b\xfa\x3a\x26\x41\x84\xbb\x79\x9b\
+\xe1\x6a\xf1\xa3\x91\x10\xc6\xaf\x9e\x40\x60\xe8\x1b\xc9\x15\x26\
+\x87\x0f\x1f\x46\x43\x43\x43\xc1\x6f\x47\x79\x3b\x64\xa7\xdd\x22\
+\xe2\xb9\xa7\x6a\xb0\x75\x55\x39\x3e\xbb\x3c\x84\x8b\xdf\xea\x17\
+\xfa\x6a\x4a\xed\xe8\xee\xa8\xc5\xaa\xba\xe2\x9c\x7d\xfe\xa6\xea\
+\x22\xfc\xe7\x81\x55\xf8\xf2\xfa\x08\xfe\xf6\xf5\x83\xac\x46\xaf\
+\x95\xb5\xc1\x88\x26\x6c\x5d\x5d\x81\x5d\xeb\xaa\x32\x0e\xc0\xa5\
+\x95\x62\xa7\x05\x2f\x75\x7a\xb1\x7d\x4d\x05\xfe\x74\x69\x10\x5f\
+\xf7\x8f\xeb\xf6\xda\x95\x25\x36\x3c\xff\x74\x1d\x56\x2f\x2d\x06\
+\x51\xae\x95\x95\x95\x61\xff\xfe\xfd\x18\x18\x18\xc0\xd9\xb3\x67\
+\x31\x3c\x3c\xac\x5f\x45\x47\x73\x33\x36\x6d\xda\x54\xd0\x01\xd4\
+\xe9\x74\xa2\xab\xab\x0b\xeb\xd7\xaf\xc7\xf9\xf3\xe7\x55\xeb\x82\
+\x53\x8a\xd2\xd2\x52\x3c\xf5\xd4\x53\x58\xb1\x62\x85\x21\x9b\x11\
+\x91\x3e\x5e\x79\xe5\x15\x4c\x4d\x4d\xe1\xcc\x99\x33\x19\xa7\x0d\
+\x07\x26\x30\x72\xee\xb7\x28\x59\xbd\x1b\x8e\xda\xb5\xf1\x01\xdd\
+\xfc\xa4\x93\x88\xd8\xc1\xb3\xe6\x39\xaa\x57\xa3\x78\xd5\x2e\x08\
+\xd6\xb9\x8a\x4b\xc1\xbc\xb0\x12\xcb\x5c\xb4\x04\x9e\x75\xdf\x87\
+\xc5\x6d\xac\xf3\x84\x22\x33\x7e\x3c\xbc\xfc\x7b\xcc\xc6\xf4\x28\
+\x94\xc9\x6b\xaf\xbd\x56\xb0\x27\xdf\x16\x4c\xd0\x8f\x0b\x7d\x5b\
+\xbc\xd8\xde\x5a\x81\x13\x97\x07\x71\xad\x7f\x42\xd5\x81\x8f\xe2\
+\x43\x9e\x1d\x3b\xd7\x55\xa2\xa3\xa9\xcc\x10\x83\xbd\x59\xcd\x02\
+\x9e\x5d\x5b\x89\xae\x35\x15\xf8\xc7\xad\x87\xf8\xe2\xea\x7d\x55\
+\x07\xfc\x8a\x65\x11\x05\xb4\x35\x7a\xb0\xb7\xbd\x1a\xa5\x2e\x63\
+\xf4\x2a\x53\xe5\xb1\xe3\xd5\x5d\x8d\xb8\x3d\xec\xc7\x67\x97\x07\
+\x71\x7b\xd8\x07\x2d\xca\x7a\xa6\x7f\x16\xac\x36\xad\x58\x82\x0d\
+\x0d\x1e\xf6\x8f\x4f\x86\x53\x5b\x5b\x8b\x1f\xfc\xe0\x07\xb8\x75\
+\xeb\x16\x2e\x5d\xba\x14\xd7\xe5\x9d\xaa\xbf\x05\x93\x09\x5e\xaf\
+\x17\x1b\x37\x6e\x34\xfc\x49\xc1\x6a\xf2\x78\x3c\xd8\xbb\x77\x2f\
+\x86\x87\x87\x71\xee\xdc\x39\x0c\x0c\x0c\x68\xd6\x64\xaa\xa6\xa6\
+\x06\xed\xed\xed\x8b\xa2\xa6\x91\xa4\xfd\xe6\xde\x7a\xeb\x2d\x04\
+\x02\x01\x5c\xbe\x7c\x39\xe3\xf4\xd1\xf0\x0c\x1e\x5d\xfd\x14\xc1\
+\x91\xdb\x28\x59\xb3\x17\x82\x79\xee\xdc\x31\x47\xcd\x1a\xcc\x8c\
+\x2d\x1c\x78\xcf\xea\xa9\x43\xd1\xf2\x67\x60\x2b\x5f\x1e\x5f\xc8\
+\xf5\xb6\x21\x30\x70\x15\xd1\x48\x08\x26\xc1\x0c\xa7\xb7\x0d\xee\
+\x96\x2e\x98\x04\x63\xc5\xc6\xd9\xc9\xfb\x18\xbb\xfc\x7b\x84\x83\
+\x13\x92\xd7\xe7\x0f\x7f\xf8\x43\xec\xd8\xb1\x63\xd1\x6c\x43\xe6\
+\x42\xf9\x20\x55\x1e\x3b\xfe\xfd\xd9\x46\x04\x67\xc3\xb8\xfe\xdd\
+\x24\xae\xf6\x8f\xe3\x9b\xef\x26\x10\x9c\x09\x67\x15\xf0\x96\x55\
+\xb8\xb0\x76\x59\x09\xd6\x2e\x2b\x36\x6c\x33\x0d\x51\x30\x61\x53\
+\xcb\x12\x6c\x6c\x5e\x82\x6b\xdf\x4d\xe0\xeb\xbb\xe3\xb8\x39\x30\
+\x89\x31\x7f\x76\xcd\x7a\x9c\x36\x11\x6b\x96\x96\x60\x6d\x7d\x09\
+\x56\xd6\xba\x0d\x33\xf8\x57\xa2\xe5\x55\x2e\xbc\xbd\xaf\x19\xbe\
+\x60\x08\x5f\xf7\x8f\xe3\xea\xdd\x71\xdc\x1c\xf0\x21\x14\xce\xee\
+\x50\x7b\x59\x91\x15\x6d\x8d\xa5\xd8\xd4\x52\xa6\xfa\x49\xd0\xc5\
+\x0e\x0b\x2c\xa2\x80\x59\x89\xef\xd1\xc8\xe3\x09\x94\xbb\xad\xb2\
+\xb6\x29\x87\x75\xee\x6f\xc7\xe5\x72\x41\x10\x04\xc9\x4d\x22\x8a\
+\x8b\x8d\x7b\x14\x45\xce\x7b\xb3\xd9\x6c\x9a\xf5\x89\xdf\xd4\xd4\
+\x84\xa6\xa6\x26\x4c\x4c\x4c\xa0\xaf\xaf\x0f\x7d\x7d\x7d\x18\x1c\
+\x1c\xcc\x2a\x94\x5a\x2c\x16\x78\xbd\x5e\x34\x36\x36\xa2\xbe\xbe\
+\x5e\x52\x6f\x20\x6a\x90\x73\xa4\x40\x10\x04\x14\x15\x69\xdf\xdb\
+\x59\x55\x55\x15\x7a\x7a\x7a\x30\x35\x35\x85\x3b\x77\xee\xe0\xce\
+\x9d\x3b\xe8\xef\xef\x47\x38\x1c\xce\xee\xbf\xa6\xac\x0c\x5e\xaf\
+\x17\x4d\x4d\x4d\x49\xfb\x35\x8f\xe5\x76\xbb\x25\x17\xe4\xd2\x9d\
+\xb8\x5b\x5c\x5c\x2c\x79\x84\x5e\x9e\x00\x9c\xe3\x7d\xbc\x28\xe2\
+\xdd\x77\xdf\xc5\xcf\x7f\xfe\xf3\xb8\x13\x66\xd3\x09\x0e\x5d\xc7\
+\xec\xa3\x01\x78\xd6\x75\xc3\x5a\xba\x14\xce\xba\x0d\x10\x6d\x6e\
+\x04\x1f\xdc\x42\x38\x30\x0e\x8b\xa7\x16\xce\x9a\x56\x88\x4e\x4f\
+\xf2\xdf\xbd\xbb\x12\x55\x3b\xdf\x45\x64\x36\x00\xd1\xea\x02\x0c\
+\x76\x54\x29\x12\x9a\x86\xef\xf6\x59\x4c\xdd\xbd\x14\xd7\xc5\x68\
+\xa6\xff\x89\x37\xde\x78\x03\xdb\xb7\x6f\x5f\x5c\x85\xc5\xa8\x11\
+\xce\xe4\xd2\x48\x38\x12\xc5\xad\x21\x1f\x6e\xdc\x9b\xc4\x43\xdf\
+\x0c\xc6\xa7\x66\x31\x3e\x35\x83\x89\x40\x08\x91\x84\x5a\x7f\x97\
+\xcd\x8c\x62\xa7\x19\x25\x4e\x2b\x4a\x9c\x16\x2c\xab\x70\xa2\xd5\
+\x5b\x0c\xb7\x43\xdb\x33\xb1\x8f\x7c\x70\x45\xf2\xb4\x4f\x37\x97\
+\xe1\xe5\xad\xcb\x24\x4f\xff\x60\x62\x1a\x37\x07\x26\x71\x73\x60\
+\x12\xa3\x93\x33\xf0\x05\x43\xf0\x4f\x2f\xfc\xec\xa2\x60\x82\xdb\
+\x61\x46\xb1\xd3\x82\x62\x87\x05\xe5\x6e\x1b\xd6\x78\x8b\xd1\x58\
+\xe5\x82\x90\xa7\x87\x8c\x67\x42\x11\xdc\x18\x98\xc4\xb7\x83\x93\
+\x78\xe4\x9f\x9d\xfb\xee\xfd\xb3\x98\x0c\xce\x2e\xa8\xf5\x17\x04\
+\x13\x5c\x36\x33\x4a\x5d\x16\xd4\x57\xba\xd0\x58\xe9\x42\x43\xa5\
+\x0b\x25\x1a\x0f\x7a\x75\xf2\xca\x10\x4e\x7d\x35\x9c\xf1\x08\x54\
+\x63\x95\x0b\x6f\xed\x6d\x36\xec\x91\x84\xe0\x4c\x18\xbf\x38\xf1\
+\x2d\x06\xc7\xd2\xf7\x55\x6c\x16\x05\xec\x7f\xaa\x26\xee\xe4\xe5\
+\x73\xe7\xce\xe1\xca\x95\x2b\x19\xc3\x7e\x4d\x4d\x0d\x7a\x7a\x7a\
+\x0c\xdb\x9b\xcb\xec\xec\x2c\xfe\xf0\x87\x3f\xe0\xc1\x83\x07\x19\
+\x77\xd8\x9b\x37\x6f\xc6\x86\x0d\x1b\xf4\xfb\x7e\x82\x41\xdc\xb9\
+\x73\x07\x43\x43\x43\xf0\xfb\xfd\xf0\xfb\xfd\xf0\xf9\x7c\x71\xdd\
+\xe3\xcd\xd7\x74\x39\x9d\x4e\xb8\x5c\x2e\x14\x15\x15\xa1\xa8\xa8\
+\x08\x4b\x97\x2e\x85\xd7\xeb\x85\x28\xea\xdf\x4c\x2f\x1a\x8d\xe2\
+\xd8\xb1\x63\xb8\x77\xef\x5e\xc6\x9d\x77\x5b\x5b\x1b\x36\x6f\xde\
+\x9c\xb3\xef\xbe\xbf\xbf\x1f\xfd\xfd\xfd\xf0\xf9\x7c\xf0\xfb\xfd\
+\x98\x9a\x9a\x42\x20\x10\x58\x50\xc0\x12\x45\x11\x0e\x87\x03\x0e\
+\x87\x03\x65\x65\x65\x8f\xd7\xaf\xd3\x29\xfd\x3c\xaf\xa1\xa1\x21\
+\x7c\xf6\xd9\x67\x98\x9a\x9a\x4a\x5f\xa8\x76\x3a\xb1\x6f\xdf\xbe\
+\x94\x05\x87\x7b\xf7\xee\xe1\xe4\xc9\x93\x19\x47\xf1\xcd\xb4\x1c\
+\xd2\x31\xd3\x84\xc3\xf8\xcd\x6f\x7e\x83\xcf\x3f\xff\x5c\xd6\x7c\
+\x8e\xda\xb5\x28\x6e\xe9\x82\x60\x2b\x80\xae\xbf\xa3\x11\xf8\xfb\
+\x2f\xc3\x77\xeb\x8c\xa4\xfe\xf1\x63\x2b\x2c\x7e\xf4\xa3\x1f\x19\
+\x7e\xa4\x6e\x06\x7d\xd5\x76\x20\x80\x2f\x38\x8b\x89\x40\x08\x76\
+\x8b\x88\x12\xa7\x59\xd7\x13\x4a\xf5\x0a\xfa\x49\x3f\x3b\x80\xa9\
+\xe9\x10\x7c\x81\x10\x22\xd1\x28\x8a\x1d\x16\x38\xed\x66\x2c\x96\
+\xc6\x28\x91\x68\x14\x93\x81\x10\x7c\xc1\x10\x6c\x66\x01\x2e\xbb\
+\x19\x76\xab\x98\xb3\xcf\x3f\x19\x08\xe1\xa1\x2f\x75\x73\x2b\x87\
+\xd5\x9c\x37\xdd\x76\x0e\x8d\x05\x31\x1d\x4a\x5d\xb3\x52\x51\x6c\
+\x4f\x7a\x5e\xc7\xd4\xd4\x54\xda\x5e\x44\x6c\x36\x1b\x3c\x1e\x4f\
+\x5e\xac\x83\xb1\xb1\xb1\xb4\xbd\xb4\x94\x94\x94\xe8\x56\x23\x9e\
+\xf1\xb7\x10\x89\xc0\xef\xf7\x63\x7a\x7a\x1a\x4e\xa7\x13\x0e\x87\
+\xc3\x90\x6d\xc1\x1f\x3d\x7a\x94\x74\xf0\x9e\x79\x6e\xb7\x5b\x56\
+\x50\xd6\xb3\xa0\x32\x1f\xf8\x2d\x16\x0b\x1c\x0e\x07\xac\x56\xab\
+\x6a\xdf\xdd\xc8\xc8\x48\xca\x23\x35\x26\x93\x09\xe5\xe5\xe5\x19\
+\x0b\xc6\xe1\x70\x18\xa3\xa3\xa3\x59\x2f\x87\xf4\x75\xf4\xe8\x51\
+\xfc\xee\x77\xbf\x93\x17\xf6\x44\x2b\x8a\x1a\x37\xc1\xd5\xf0\xb4\
+\xe1\x9a\xdf\x48\xae\xb4\x18\xbe\x89\xc9\xde\xbf\x22\x34\x35\x26\
+\x6b\x3e\xbb\xdd\x8e\x23\x47\x8e\xa0\xb5\xb5\x75\x51\x6e\x2f\x8b\
+\x32\xe8\x1b\x89\xde\x41\x9f\x88\x88\x88\xf2\xdb\xe9\xd3\xa7\xf1\
+\xab\x5f\xfd\x4a\x76\xb3\x31\xd1\x51\x82\xa2\xe5\x9d\x70\xd4\xac\
+\x81\x49\x10\xf3\xe2\xb3\xce\x8e\x0f\x62\xe2\xc6\x5f\x30\xf3\xe8\
+\x9e\xec\x79\xab\xaa\xaa\x70\xf8\xf0\xe1\x82\xe9\xfa\x57\x09\x33\
+\x7f\x2e\x44\x44\x44\x44\xf9\x63\xdb\xb6\x6d\xa8\xa8\xa8\xc0\x2f\
+\x7f\xf9\x4b\x8c\x8e\x8e\x4a\x9e\x2f\x1c\x18\xc7\xf8\xd7\x27\x30\
+\xd9\xfb\x57\x38\xbd\xed\x70\x79\xdb\x20\x58\x5d\xc6\x0c\xf8\x93\
+\xc3\xf0\xf7\x9d\x47\x60\xe8\xba\xa2\xf9\x3b\x3a\x3a\xf0\xe6\x9b\
+\x6f\x1a\xf2\x88\x9f\x9e\x58\xa3\x9f\x63\xac\xd1\x27\x22\x22\x22\
+\x25\xfc\x7e\x3f\xde\x7f\xff\x7d\x9c\x3b\x77\x4e\x59\x08\x14\x44\
+\xd8\xab\x57\xc3\x5e\xb5\x02\xb6\xb2\x65\x30\x89\xb9\xed\x55\x6f\
+\xe6\xd1\x00\x82\xf7\x6f\x20\x38\x7c\x13\xe1\x80\xb2\xae\xb3\x45\
+\x51\xc4\xcb\x2f\xbf\x8c\xfd\xfb\xf7\x73\x03\x01\x6b\xf4\x89\x88\
+\x88\x88\xf2\x92\xcb\xe5\xc2\x3b\xef\xbc\x83\xb6\xb6\x36\x7c\xf0\
+\xc1\x07\x0b\x4e\xb2\xcf\x24\x1a\x09\x23\x30\x70\x15\x81\x81\xab\
+\x80\x49\x80\xd5\x53\x07\x5b\x79\x23\x6c\x4b\x1a\x60\x71\x57\x69\
+\xdf\xdb\x4e\x34\x8a\x99\xb1\xbb\x08\x0c\xf7\x62\xfa\xfe\x4d\x84\
+\xa7\x7d\x59\x2d\xae\xa2\xa2\x02\x6f\xbf\xfd\x36\x56\xae\x5c\xc9\
+\x8d\x83\x41\x9f\x88\x88\x88\x28\xff\x75\x75\x75\x61\xe5\xca\x95\
+\x78\xef\xbd\xf7\x70\xe3\xc6\x0d\x85\xa1\x3b\x82\x99\xb1\x7e\xcc\
+\x8c\xf5\x63\xb2\xf7\x6f\x10\x2c\x0e\xd8\x96\x34\xc0\xba\xa4\x01\
+\xb6\xf2\x46\x88\x2a\xf4\xda\x13\x99\x99\x42\x38\x38\x81\xf0\xd4\
+\x23\x4c\x8f\xf6\x21\x78\xff\x5b\x59\xbd\xe7\xa4\x22\x8a\x22\xba\
+\xbb\xbb\x71\xf0\xe0\x41\xd5\x4e\x7a\x2f\x14\x6c\xba\x93\x63\x6c\
+\xba\x43\x44\x44\x44\x6a\x39\x73\xe6\x0c\x3e\xfc\xf0\x43\x59\x6d\
+\xf7\x25\x85\x69\x47\x31\x04\x8b\x13\x82\xc5\x01\xc1\x62\x87\xe9\
+\x9f\xd7\x73\x97\xf9\xc7\xec\x40\x34\x8a\x70\x70\x1c\xe1\xc0\xc4\
+\x5c\xa8\x7f\x7c\x3d\x8e\x68\x24\xa4\xfa\xe7\x5d\xb3\x66\x0d\x5e\
+\x79\xe5\x15\xd4\xd5\xd5\xf1\xcb\x4f\x82\x35\xfa\x44\x44\x44\x44\
+\x05\xa2\xb3\xb3\x13\x1d\x1d\x1d\xf8\xe3\x1f\xff\x88\xe3\xc7\x8f\
+\xa7\xed\x9e\x56\x8e\x70\x60\x2e\xb4\x1b\x45\x79\x79\x39\x5e\x7a\
+\xe9\x25\x6c\xdd\xba\x95\x5f\x3a\x83\x3e\x11\x11\x11\xd1\xe2\x60\
+\xb5\x5a\xf1\xc2\x0b\x2f\x60\xc7\x8e\x1d\xf8\xf8\xe3\x8f\xf1\xe5\
+\x97\x5f\x66\x3d\x82\xb3\x51\x54\x54\x54\xa0\xa7\xa7\x07\xdb\xb7\
+\x6f\xcf\xc9\x60\x7e\xf9\x86\x4d\x77\x72\x8c\x4d\x77\x88\x88\x88\
+\x48\x4b\x63\x63\x63\x38\x79\xf2\x24\xfe\xfc\xe7\x3f\xc3\xe7\xf3\
+\xe5\xe5\x67\xa8\xaa\xaa\x42\x4f\x4f\x0f\xb6\x6d\xdb\xc6\x80\x2f\
+\x03\x6b\xf4\x89\x88\x88\x88\x0a\x58\x69\x69\x29\x0e\x1d\x3a\x84\
+\x03\x07\x0e\xe0\xf4\xe9\xd3\x38\x71\xe2\x04\x06\x07\x07\x8d\x1f\
+\x52\xcd\x66\xb4\xb7\xb7\x63\xfb\xf6\xed\x68\x6b\x6b\xe3\x28\xcd\
+\x0c\xfa\x44\x44\x44\x44\x94\x8c\xcd\x66\xc3\xee\xdd\xbb\xb1\x6b\
+\xd7\x2e\xf4\xf6\xf6\xe2\xc2\x85\x0b\xb8\x70\xe1\x02\x46\x46\x46\
+\x0c\xf5\x3e\x1b\x1a\x1a\xd0\xd5\xd5\x85\x2d\x5b\xb6\xc0\xed\x76\
+\xf3\x8b\xcb\x02\x9b\xee\xe4\xd8\x2f\x3e\xed\x45\xdf\x7d\xbf\xa4\
+\x69\x5f\xea\xf4\x62\xd3\x8a\x25\x5c\x69\x44\x44\x44\xa4\x8a\x68\
+\x34\x8a\x5b\xb7\x6e\xe1\xc2\x85\x0b\xb8\x78\xf1\x22\x86\x87\x87\
+\x75\x7f\x0f\x0e\x87\x03\xad\xad\xad\x58\xb7\x6e\x1d\xd6\xad\x5b\
+\x87\xea\xea\x6a\x7e\x31\x0c\xfa\x85\xe1\xee\x83\x29\x1c\xff\xc7\
+\x00\xee\x8e\xa4\x0e\xfb\x66\x51\x40\x5b\x83\x07\x3d\x1b\xeb\x60\
+\x35\xf3\xb0\x15\x11\x11\x11\x69\x63\x62\x62\x02\xbd\xbd\xbd\xb8\
+\x79\xf3\x26\x7a\x7b\x7b\x71\xfb\xf6\x6d\xcc\xcc\xcc\xa8\xb6\x7c\
+\x41\x10\x50\x55\x55\x85\xa5\x4b\x97\xa2\xa1\xa1\x01\xad\xad\xad\
+\x68\x6a\x6a\x62\xbb\x7b\x06\x7d\x22\x22\x22\x22\xd2\x53\x38\x1c\
+\xc6\xfd\xfb\xf7\x31\x3a\x3a\x8a\x91\x91\x91\xc7\xd7\x0f\x1f\x3e\
+\x44\x30\x18\x44\x28\x14\xc2\xec\xec\x2c\x66\x67\x67\x11\x0a\xcd\
+\xf5\x93\x5f\x54\x54\x04\xb7\xdb\x1d\x77\x99\x0f\xf7\x75\x75\x75\
+\xb0\x58\x2c\x5c\xb1\x0c\xfa\x44\x44\x44\x44\x44\xa4\x14\xdb\x81\
+\x10\x11\x11\x11\x11\x15\x20\xf6\xba\x43\x44\x44\x44\x54\x40\x16\
+\x73\x63\x0d\x93\xc9\xc4\x0d\x80\x41\x9f\x7f\x00\x44\x44\xc4\x60\
+\x41\x85\xb3\xcf\xce\x66\xdf\x6e\xe4\x5c\x20\xf7\xf7\x95\xf8\x59\
+\xa4\xcc\x5f\xc8\xbf\xe1\x82\x6e\xa3\x9f\xaf\x1f\x8d\x41\x9c\xeb\
+\x91\xeb\x85\x41\x8f\xeb\x86\x0a\x61\x1d\xf2\xfb\xcf\xfe\xff\x39\
+\xf6\xb1\xc4\xe7\xd3\x3d\x97\xe9\xff\x5e\xca\xbe\x40\xc9\xfe\x62\
+\x7e\x1e\x25\xdf\x7d\xb6\xa1\x3c\xf1\xb9\x74\xf7\xe5\x4c\x9b\xcf\
+\xcc\x46\xda\x98\x8d\xb2\xec\x7c\x9f\xdf\x28\xa1\x2e\x1f\x02\xa5\
+\x11\xde\xa3\xde\xef\x81\x41\x3f\xff\xc3\x8c\x11\x76\x40\xf9\xb0\
+\x13\xcc\xe5\x7b\x54\xf3\xb5\xd5\x58\x56\x36\xcb\xc8\x66\xde\x68\
+\x34\xaa\xf9\xf7\x90\xef\x81\x2c\x55\x78\x8f\xbd\x4e\xbc\x9d\xea\
+\xb9\x64\xd7\x4a\x0a\x04\x52\x0b\x0d\x72\xf6\x27\xa9\xbe\x27\x29\
+\x01\x5b\x6a\x28\x4f\x16\xe4\x4d\x26\x53\xda\xdb\x89\xf3\x4a\x79\
+\xfd\xbc\xda\x3f\x65\x53\xa3\xaf\x46\x60\x50\xf3\x90\x94\x92\x92\
+\xab\x9a\xf3\x28\x2d\x39\x67\x53\xe2\xd6\xba\x44\x6e\x84\x10\xa9\
+\xf6\x32\xd5\x5a\x9e\x11\x96\x63\xb4\xcf\x92\xab\xd7\xd3\xf3\x4f\
+\x58\xad\xd7\xca\x55\xf0\x32\xe2\xe7\xd1\xe3\xfb\x54\xba\xcc\x5c\
+\xd4\x4a\x4a\x99\x46\xc9\x73\x6a\xce\xa3\xe4\x35\xd4\x78\x5e\xcd\
+\xed\x24\xd7\xe1\x2d\x59\xf8\x8e\x0d\xf2\xf3\x97\x48\x24\xb2\xe0\
+\x76\xb2\xc7\xb2\x2d\x04\x64\x2a\x18\x28\x3d\x7a\x20\xb5\x56\x3d\
+\x55\x48\x57\x1a\xe6\x93\x5d\x04\x41\x58\x70\x3b\xf6\xb1\xf9\xfb\
+\xc9\x0a\x02\xf9\x1a\xf8\x93\x06\x7d\xad\x82\xa1\xdc\x40\x2b\xb7\
+\xd4\xa9\xc6\x73\x6a\xdd\x56\x3a\x9d\x92\xfb\x6a\x95\xbe\x95\x16\
+\x2a\xb4\x2e\x48\x68\x35\xad\x1e\x85\x1a\xb9\xcb\xd6\x72\x7a\x23\
+\xb5\xdf\x34\x72\xd0\xd7\x2b\x80\xcb\x7d\x1d\xad\xa6\xd7\x2b\x00\
+\x6b\xb5\x6e\xd4\x0e\xe2\x7a\x84\x6b\xb9\x35\x98\x72\x9b\x18\xc8\
+\x09\x52\x52\x6f\xab\x3d\x8f\x92\xfb\xd9\x16\x32\xf4\x2e\xf0\x49\
+\xf9\x0f\x4c\x16\xf0\x23\x91\xc8\x82\x4b\x38\x1c\x4e\x79\x3b\x76\
+\x9e\x54\xc1\x3f\xd3\x51\x02\xa9\x05\x03\xa9\xa1\x5f\xca\xf6\xac\
+\xe4\x5a\x4e\xb0\x8f\x0d\xf2\xc9\x2e\xa2\x28\xc6\x5d\x27\x5e\x92\
+\x2d\x33\x1f\xc3\xbe\x59\xad\xa0\xa0\x76\x50\x97\x5a\xb2\x94\xf2\
+\x9c\x9c\x6b\x35\x97\x21\xf7\x47\x92\x4d\x49\x5b\xcb\x82\x85\x92\
+\x82\x43\xb6\x47\x22\xf4\x3a\x92\xa1\xd7\x11\x25\xb5\x0a\x5b\x5a\
+\x05\x7c\x23\x1d\xc1\xd1\xad\x96\x43\xc3\x1d\xbe\x16\x41\x55\x8d\
+\x9a\x50\x35\xdf\xbb\x9a\xd3\x29\x0d\xd7\xd9\x2c\x3f\x9b\x60\x9e\
+\x4d\x80\x95\x5a\x43\x29\xb5\x56\x53\x69\x80\x4a\x9c\x2f\xdb\xd0\
+\x25\xa7\xc6\x55\x49\x8d\xad\x94\x75\xae\xe4\x24\x4c\xa9\xdb\x85\
+\xd4\xda\x6a\xa5\x21\x3f\x36\xa4\xcf\x07\xf8\xd8\x4b\x28\x14\x8a\
+\xbb\x4e\xbc\x24\x0b\xfe\x89\x85\x87\xc4\x02\x45\xba\xa6\x41\x99\
+\x6e\xa7\xca\x27\xb1\xf7\x33\x35\xaf\x49\xb5\x0d\x49\x7d\x5c\x4e\
+\xb8\x8f\x0d\xf5\xa2\x28\xc2\x6c\x36\xc7\x5d\x27\xde\x8e\x46\xa3\
+\x8f\xe7\x4d\xb6\x9d\xe5\x53\xd8\x37\xab\x15\xb4\xe4\xdc\x97\x13\
+\x72\xe5\x86\xf3\x74\xa5\xe4\x54\xd3\xcb\xbd\xaf\xf6\xed\x6c\x0b\
+\x19\xc9\x0a\x18\xe9\x0a\x1d\xf9\x56\x30\xd0\xf2\x64\x22\x35\x42\
+\x70\xae\xdf\x5f\x2e\x0a\x35\x8b\x31\xe8\x1b\x29\x48\x6b\x1d\x9e\
+\xd5\x08\xd8\xd9\x3c\xaf\x64\xde\x6c\xc2\xbc\x1a\x35\xe4\xd9\x84\
+\xf4\x4c\xd3\x48\x0d\xd7\x72\x03\x94\x94\x10\xa5\xc6\xb4\x99\xde\
+\x93\x9c\x02\x86\x9c\x02\x81\xd4\x40\x16\x3b\x4d\xb2\xff\xb4\x74\
+\xcb\xc8\xb6\x70\x91\xac\x99\x4e\x62\xc0\x9f\xbf\xcc\x8f\x3c\x3b\
+\x7f\x49\x0c\xfe\xb1\xb5\xfd\xa9\x9a\xf9\xa4\xca\x38\x72\x72\x50\
+\xaa\xcc\x92\x2e\xe8\xcb\xd9\x6e\xe5\x86\xfb\xc4\xa0\x3f\x1f\xf6\
+\x13\xc3\x7d\x6c\xa0\x9f\xbf\x44\x22\x11\x98\xcd\xe6\xa4\x9f\x25\
+\xb6\xf0\x28\x77\x9b\xca\x8b\xa0\xaf\x34\xb8\xa9\x55\x43\x2f\x27\
+\x14\x4b\x09\xf2\x52\x36\x62\xb9\x3f\x82\x74\xcb\x90\xfb\x3e\xf5\
+\x2e\x00\xe8\x79\x34\x40\x8d\xc0\xaf\x76\x01\x41\xeb\xe7\xb5\x0e\
+\xf8\x6a\xd7\xd2\xeb\x1d\xee\x8d\xd6\x74\x27\x97\x4d\x6e\xb4\x0c\
+\xc4\x46\x0e\xec\x72\x9f\xcb\xb6\x19\x87\x5a\xf7\x95\xb4\x2f\x96\
+\x1a\xe4\xe5\x06\xe2\x6c\xc3\x78\xaa\x00\x95\x2e\x54\xa5\x7a\x4e\
+\xad\x02\xc3\x7c\x90\x4a\x75\x9d\xea\xbb\x8e\x0d\x64\xa9\x6e\xa7\
+\x0a\xa1\xd9\xf4\x12\xa3\xe6\x7f\x5f\xaa\xca\x3a\x29\x99\x25\x55\
+\xbb\xfe\x54\xcd\x78\x94\x66\x98\x74\x21\x3f\x5d\xe0\x4f\xf7\x7d\
+\x26\xbb\x9d\xea\x7e\xe2\x63\xb1\x6d\xea\x63\x8f\x8e\x08\x82\x20\
+\xeb\xf3\xa6\xab\x2c\x4d\xb6\x5d\xe4\x53\xe0\x37\xcb\xdd\x61\x25\
+\x2b\xbd\x4a\x2d\x01\xa5\xfb\x21\xca\xfd\x61\xa7\x7a\x6f\xf3\xd7\
+\x89\xb7\xe5\x04\x7d\x2d\x6a\xfe\xa5\x06\x77\x39\x41\x3f\xd5\x74\
+\x52\x6a\xf4\xb5\x08\xf6\x5a\xd6\xec\x6b\x15\x8a\x73\x1d\xc8\xf3\
+\xad\x09\xd3\x62\xae\xd1\xcf\x45\xcd\xbe\x96\x4d\x5a\x8c\x56\x23\
+\xaf\x75\xd0\x97\x53\x53\xaf\x66\xf0\xd7\xa2\x6d\xb2\x9a\xe1\x5f\
+\x49\xf0\x97\x3b\x8d\xd4\xcf\xa0\x56\xad\xbe\x92\xb6\xff\x7a\x85\
+\xb6\x54\x99\x29\x36\xb0\xce\xef\xbb\x45\x51\x5c\x50\x00\x9c\xaf\
+\xa9\x16\x45\x11\xe1\x70\x18\x66\xb3\x39\x65\x6d\x7e\xa6\xb6\xfa\
+\xd9\x04\xfb\x4c\x2d\x06\x52\xad\x5f\xb9\xed\xee\x95\xd4\xec\xa7\
+\x6b\x8f\x9f\xd8\x64\x67\xbe\x66\x3f\xf6\xb1\x64\x27\xe9\x66\xda\
+\xc6\x0c\xbd\xaf\x8b\x44\x22\x92\xf7\xd4\xd9\x04\xb9\x6c\x6a\xfe\
+\xf5\x68\x87\x9f\x4d\x10\xcf\xb6\xe6\x3d\xdb\xf6\xfb\xa9\x9e\xd7\
+\xbb\xa6\x5e\x8d\x73\x38\xd4\x08\xd8\x6a\x35\x51\xc9\xf5\x6b\x68\
+\xb1\x1c\x35\x5f\xd3\xe8\x05\xe6\x63\x0f\x8e\x00\x00\x02\xab\x49\
+\x44\x41\x54\x01\x3d\xbb\x24\x54\xfb\x88\x80\x1e\x35\xf5\x7a\x15\
+\x08\xb2\x59\x86\xda\xf3\xa9\xd9\x8d\x9f\xdc\xc2\x82\x5a\xb5\xff\
+\xc9\x6a\xfe\xa5\x14\x00\xd4\x9a\x46\xe9\x32\xa4\xde\x97\x13\xe8\
+\x95\x14\xd8\xb2\x2d\xa4\xaa\x31\x5f\xaa\xa3\xee\x89\x21\x3d\xf1\
+\xe4\xdb\x64\x4d\x74\x62\xdb\xe7\xcb\x09\xf8\x4a\xf2\x4b\xba\xd6\
+\x02\xd9\x04\x7d\x25\xdb\xa8\x9c\x1e\x76\xd2\x9d\x80\x1b\xdb\xa4\
+\x47\xca\x09\xb9\x7a\x17\x0c\x55\xd9\x17\x26\xf6\xba\xa3\x45\xaf\
+\x1f\x7a\x14\x10\xd4\x2c\x3c\x28\x9d\x5f\xab\xdb\x52\x6a\xce\xf5\
+\xe8\x99\x27\x9b\x5e\x77\xf4\x3c\x01\x35\x57\xd3\x69\x19\xa2\xf3\
+\xb9\xe7\xa1\xc5\x58\xa3\xaf\x57\xa1\x21\x5f\x96\xab\x77\x41\x48\
+\x8b\x82\x85\xd2\xde\x73\xb4\x2a\x2c\xc8\x2d\x48\x48\x09\xcd\x5a\
+\x9d\x2c\x9b\x6d\x6f\x3d\x6a\x3c\xa6\xc6\xef\x58\xcf\x9e\x77\x52\
+\x35\xc1\x49\xd5\xbb\x8e\x92\x2e\x36\xe5\x56\x34\x4a\xc9\x40\x72\
+\xc2\x7e\x36\x8f\x65\x2a\x04\x64\x0a\xfe\x89\xed\xf9\x53\x75\xb5\
+\x29\xa5\xa0\x99\x77\x41\x5f\xcb\x9d\xba\x96\x3d\xfc\xa8\x51\xa8\
+\x50\x23\xf8\xe6\x63\xf3\x15\x2d\x83\x64\x3e\x85\xce\x5c\x76\x3f\
+\xc9\x41\xd6\x0a\xb7\x60\xa0\xf6\x72\xf2\x79\xfe\x42\x28\x5c\x19\
+\xe9\x9c\x06\x2d\x9a\x33\x65\x53\x60\x51\xfb\x71\xad\x0b\xb3\x5a\
+\x07\x79\x25\xff\xb9\x52\xc2\x7f\xb2\xc7\x13\x43\xbd\x9c\x50\xae\
+\x45\x67\x1c\x52\xd7\xb1\x96\xdd\xc8\xca\x69\xfa\x93\x6c\xba\x7c\
+\x0f\xf8\x8a\x82\xbe\xd1\x82\x83\x5e\x81\xd0\x68\xd3\x1b\x35\x20\
+\xea\x15\x16\x0b\x79\x24\xd9\x5c\x85\x6c\x86\x7b\xe3\x87\x81\x42\
+\x1e\x7d\x37\x1f\x47\x4e\xcd\xe5\x68\xb5\x7a\xd4\x46\xeb\x35\x70\
+\x95\x51\xbf\x1b\xa3\xfc\x0f\x2b\x6d\x51\x90\xe9\x7f\x5d\xaf\xe7\
+\xb4\x38\x59\x5f\x69\x61\x54\xad\x23\x4b\x0c\xfa\x8b\x38\x9c\x18\
+\x71\x55\x16\x4a\x80\x5b\x6c\x41\x94\xc1\x9b\x0a\x69\x47\xb3\x18\
+\x3f\xb3\x11\x3f\x03\xdf\x53\x61\xed\x0b\x0a\xe9\x7c\x2b\xbd\x0a\
+\xce\x6a\x8e\xcc\xcc\xa0\x4f\x0c\x73\xc4\xed\x8a\x18\x68\x88\xdb\
+\x15\xf1\x3f\x9f\xbf\x13\x06\x7d\x22\x22\x22\x22\x22\x52\x8f\xc0\
+\x55\x40\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\
+\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\
+\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\
+\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\
+\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\
+\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\
+\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\
+\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\x0c\xfa\x44\
+\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\
+\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\x0c\xfa\x44\x44\x44\
+\x44\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\
+\x44\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\x44\
+\x0c\xfa\x44\x44\x44\x44\x44\xc4\xa0\x4f\x44\x44\x44\x44\xc4\xa0\
+\x4f\x44\x44\x44\x44\x44\xf9\xea\xff\x01\xca\x94\x80\x1d\xd0\xc1\
+\xde\x2b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\xaf\x0c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x01\x29\x00\x00\x00\xb4\x08\x06\x00\x00\x00\xc8\x16\xda\xab\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x17\
+\x0b\x17\x02\x5c\xb3\x77\x9a\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xdc\x9d\x77\x98\x5d\x55\xd5\xff\x3f\x7b\x9f\x72\xdb\x94\x3b\
+\x93\x99\xb4\x99\x4c\x7a\x83\x84\x50\x12\x7a\x02\x02\x82\x54\x01\
+\x01\x69\xbe\x22\x28\xa0\x58\x11\x45\xc4\xd7\xd7\x82\x15\x51\x2c\
+\x28\xaf\x05\x95\x17\x0b\x08\x28\x3f\x05\x41\x50\x54\x20\xf4\x92\
+\x90\x06\xa4\x97\x49\x32\xc9\xf4\x5b\x4f\xd9\xfb\xf7\xc7\xb9\xf7\
+\x66\x26\x99\x72\xee\x14\x08\x9e\xe7\x99\x67\x66\x6e\x39\x67\xaf\
+\xbd\xd6\x5e\x7b\xad\xef\x5a\x7b\x2d\xd1\xbe\x6b\xbb\x66\x94\x2e\
+\xad\x7b\xdf\x5a\x08\xd1\xe7\xfb\x7d\xbd\xbe\xf7\x6b\xfb\xf3\xa5\
+\xb5\x46\x03\xa2\xc7\xd8\xfb\x1a\x7f\x7f\x74\xed\xef\xf4\xee\xcd\
+\xc7\x9e\xfc\xec\xf9\x5e\x7f\xb4\xbd\x1d\x79\xdc\x8b\xe6\x22\x73\
+\xfb\xa1\xb1\x3f\x7a\xde\x6e\x72\x3c\x10\xaf\x7b\xd2\x5e\xa4\x6b\
+\xb4\xe9\x93\x52\xb2\x6a\xf5\x1a\xe4\x68\x12\x5b\x53\x5f\xc7\x75\
+\x9f\xbd\x01\xe5\xfb\x7c\xfb\x3b\xdf\xa5\xbb\xbb\x9b\x5c\x2e\x87\
+\xef\xfb\xe4\xf2\x79\x5a\x5b\x5b\x59\xb9\x6a\x35\xad\xad\x6d\xf8\
+\xbe\x8f\xeb\xba\x74\x75\x77\xbf\xed\x98\x6a\xdb\x36\x8d\x53\x66\
+\xb0\xf8\x1d\x27\xf1\xc7\x07\xfe\x1f\xf1\x78\x9c\x6c\x36\x4b\x2a\
+\x95\x26\x9b\xcb\xe1\x38\x2e\xe9\x74\x9a\xfb\xee\xff\x13\x52\x08\
+\x32\xe9\x0c\x4a\x29\x1c\xc7\xc1\xf7\xfd\xfd\x7e\xb1\x9a\xa6\xc9\
+\xd6\x6d\xdb\x78\xe6\xd9\xe7\x59\xb7\x6e\x3d\xf7\xde\xff\x47\x3a\
+\x3b\xbb\xe8\xea\xea\x22\x95\x4e\x73\xcc\x92\x13\xa8\xa9\x1f\x4f\
+\x3a\x9d\x26\x9d\xc9\xe0\x79\x1e\x99\x4c\x16\xdf\xf7\x89\xc4\xe2\
+\x7c\xec\x13\xd7\x22\x84\x20\xef\x38\xb4\xb5\xb5\x93\xcb\xe5\xf6\
+\x51\x70\xfb\xdd\x42\xd5\x9a\xbb\x7e\xfb\x3b\x0e\x3a\xe4\x70\x3e\
+\xf2\xf1\x4f\xf2\xf5\x6f\x7e\x1b\xcb\xb2\xd0\x5a\xd3\xd1\xd9\x11\
+\xd0\x9a\x4e\x93\xcb\xe7\xc9\x14\x68\xee\xee\xee\x26\x9f\xcf\x93\
+\x4e\xa7\x51\x4a\xbd\x2d\x15\x54\x4d\xfd\x58\x6a\xc7\x4e\xe4\xc4\
+\x53\x4e\x23\x99\x4c\xd2\xd9\xd9\xc9\x23\x7f\x7b\x94\x55\xab\x56\
+\xe3\xb9\x2e\x99\x4c\x06\x29\x25\xb9\x5c\xfe\x4d\xa3\xcf\xf8\xdc\
+\x67\xaf\xfb\xd2\xa8\x11\xed\xfb\x4c\x18\x3f\x8e\x67\x9e\x7f\x9e\
+\xb3\xce\x38\x83\x6b\x3e\xf6\x29\x00\x26\x4c\x18\xcf\x63\x7f\x7f\
+\x9c\x37\xd6\xad\xc3\xb2\x2d\x9e\x78\x72\x29\x35\xc9\x6a\x5e\x59\
+\xf6\x2a\x4f\x3c\xf1\x24\x47\x1d\x79\x04\x4a\xa9\xb7\x05\x63\x85\
+\x10\xf8\xbe\xcf\x4d\x5f\xfb\x06\x97\x5e\x78\x1e\xf3\x0e\x3c\x00\
+\xd7\xf5\xb8\xeb\x37\xbf\xe3\x99\x67\x9f\xc3\x75\x1d\x9e\x7e\xfa\
+\x19\x36\x6f\xd9\xca\xb2\xe5\xcb\x99\x33\x67\x0e\xf7\xde\xff\x47\
+\xaa\xab\xaa\x58\xb9\x72\x15\xd5\xc9\x6a\xe2\xb1\xd8\x7e\x4d\x1f\
+\x80\xe3\xba\xfc\xed\xd1\xc7\x30\x4d\x93\x95\xab\x56\x91\x77\x1c\
+\x9e\x78\xf2\x49\x56\xae\x5c\xc5\xb3\xcf\x3d\xcf\xf9\xe7\x9c\xc5\
+\xef\xee\xfe\x03\x2f\xbc\xf0\x22\x8d\x0d\x13\xf9\xfd\x3d\xf7\x32\
+\x6d\xda\x54\x1e\x7e\xe8\x61\xb6\x36\x37\xd3\xd6\xd6\x46\x3a\x9d\
+\xe2\xfb\x3f\xb8\x8d\xba\xba\x3a\x66\xcd\x9c\x89\xe7\x79\xfb\xe5\
+\x42\x2e\x8e\x69\x72\x53\x13\xff\x7e\xea\x69\x3e\xfd\xe9\x4f\x73\
+\xd5\xd5\x1f\x66\xc1\xfc\xf9\x4c\x18\x3f\x8e\xcb\x3f\x74\x35\x20\
+\x78\x6a\xe9\xd3\xbc\xf8\xc2\x8b\xe4\x72\x39\xec\x88\xcd\x27\xae\
+\xfd\x0c\xed\x1d\x1d\xac\x5a\xbd\x9a\x19\x33\x66\x10\x8d\x44\x78\
+\xbb\x5d\x52\x68\xa4\x10\x7c\xf5\x4b\xff\xc3\xfa\xf5\x1b\xd8\xba\
+\x6d\x2b\x0f\xfc\xf9\x2f\xcc\x9c\x39\x83\x27\x97\x3e\xc3\xd6\x6d\
+\xdb\x88\xc7\x62\xac\x5d\xb7\x8e\xc9\x4d\x4d\xa3\xba\xd1\x08\x21\
+\xd8\xb5\x7b\xf7\xe8\x2a\x29\x00\xdb\xb6\xb8\xfd\xa7\x3f\xe7\xe2\
+\x8b\xde\xcb\xf2\x57\x57\xf0\xae\x77\xbd\x93\xa9\x53\xa6\x30\xa9\
+\xb1\x01\x43\x1a\xd4\xd6\xd6\xd0\x34\xa9\x91\xbc\xe3\xf0\xd2\x2b\
+\xcb\xf8\xdc\xe7\x6f\x20\xd5\xd5\xf9\xb6\xd9\x85\x8a\x26\x6f\xba\
+\xbb\x93\x54\x2a\x45\x2a\x9d\x21\x93\xc9\xd0\xb2\x7b\x37\x0b\xe6\
+\xcf\xe3\xf0\x45\x0b\x59\xbb\x6e\x3d\x73\xe7\xce\x21\x99\xac\x66\
+\xf6\xec\x59\x8c\x1f\x37\x8e\xa7\x9e\x7e\x9a\x03\x0e\x38\x80\xe9\
+\xd3\xa6\xed\xb7\x8b\xb5\x17\x7d\xa9\x14\x6d\xed\xed\xac\xdb\xb0\
+\x9e\xf3\xcf\x3d\x97\xc6\xc6\x06\x0e\x5f\xb8\x10\x43\x1a\x38\x4e\
+\x9e\x8b\x2f\xb9\x08\xdb\xb2\x31\x0c\xc9\x41\xf3\xe7\xa3\xb4\x62\
+\x52\x63\x23\x63\xc7\x8e\x65\xf7\xee\x56\x0e\x98\x33\x97\x64\xb2\
+\x9a\xc5\xc7\x1e\xcb\xe1\x0b\x17\x96\xac\xa9\xfd\x99\xe6\x4c\x26\
+\x43\xf3\xf6\x1d\x1c\x76\xe8\x21\xec\xdc\xb1\x83\x25\x8b\x8f\x25\
+\x1a\x8d\xd0\xd1\xd1\xc9\x27\x3f\xfe\x51\x92\xc9\x24\x4f\x3e\xb5\
+\x94\x4b\x2f\xb9\x88\xf6\xf6\x0e\x5e\x7b\xfd\x0d\xd6\xae\x5b\xcb\
+\xe1\x0b\x17\x31\x67\xf6\x6c\x0c\xc3\x78\x5b\x29\x28\x21\x04\xae\
+\xe3\x72\xdc\x71\x8b\xa9\xac\xac\xc4\xb6\x2c\x62\xb1\x38\xa6\x69\
+\x32\x69\x52\x23\x8b\x0e\x3d\x94\x8a\x8a\x04\xbf\xbe\xeb\xb7\x7c\
+\xf8\xaa\x0f\x91\xcd\x66\x47\x95\x87\x45\x25\x25\xda\x5a\x9a\xf5\
+\x68\x3e\x48\x6b\x4d\x34\x1a\x25\x9b\xcd\x52\x59\x59\xc9\xce\x96\
+\x9d\x54\x24\x2a\x50\x4a\x91\xcd\x66\xb1\x6d\x1b\xcf\xf3\xf0\x3c\
+\x9f\xee\xee\x6e\x1a\x1b\x27\xa2\x94\xe6\xed\x7a\x39\x8e\x83\xeb\
+\xba\x24\x93\x49\xba\xbb\xbb\x4b\x02\x2f\xa5\xc4\x71\x1c\x12\x89\
+\x04\xe9\x4c\x86\x74\x2a\x4d\x45\x45\x82\x8a\x8a\x8a\xfd\xd6\xed\
+\xd9\xfb\xb2\x2c\x0b\xd7\x71\x91\x86\x24\x9d\x4e\x23\xa5\xc4\xf7\
+\x15\x96\x65\x62\x9a\x26\x96\x65\x91\xcd\xe5\x50\xbe\x8f\xe7\x7b\
+\xc4\x62\x31\xba\x3a\xbb\xa8\xae\xae\xa6\xbb\xbb\x1b\x10\x98\xa6\
+\x49\x2c\x16\x63\x24\x45\x6e\xb4\xb0\x11\xad\x35\x4a\xa9\x02\x9d\
+\x7e\x81\x4f\x02\x29\x05\x86\x61\xd0\xde\xde\x41\x63\x63\x03\xdb\
+\xb6\x35\x53\x5d\x5d\x85\x65\x59\x2c\x7d\xfa\x19\xe6\xcf\x9f\x47\
+\x22\x1e\x7f\xdb\x78\x03\x7b\x5f\x3d\x5d\x55\xa5\x14\xf9\x7c\x1e\
+\xdb\xb6\xf1\x7d\x1f\xdf\xf7\xd9\xb5\x7b\x37\x53\x26\x4f\x1e\x75\
+\xb9\x2d\x62\x52\xa2\x7d\xd7\x76\xad\xb5\x46\x2b\x55\x02\x07\x47\
+\x58\x1f\xf6\x64\x3b\x42\x48\xb4\x56\x40\x01\x5c\xd6\xba\xf0\x11\
+\x81\x21\x25\xae\xe7\x21\x46\x69\x1c\x7b\x9e\x3d\x9a\x93\x2b\x28\
+\x91\x25\x8a\xa0\xeb\x9e\x17\x82\x05\x15\x30\x40\xa9\xd1\x9a\x77\
+\xd1\x03\xf3\xd1\x23\x7b\x5f\x40\xa3\x0b\x7f\x15\x68\x83\xc2\xbc\
+\x06\x9f\xd0\xd0\x1b\x58\xed\x31\x19\x02\x81\xd2\x23\xb4\x78\x35\
+\x98\x05\x9c\xc8\xf7\xfd\x91\xa3\xb5\x04\x94\x8b\x7d\xe8\xd8\xc3\
+\xce\x3d\xb2\x1c\xfc\x0e\x9e\x1d\x8d\x46\x71\x9c\x3c\xca\x1f\x79\
+\xbe\x56\x54\x54\x92\x4a\xa5\x7a\x0c\x72\xf4\x64\xb8\x67\xb4\xa0\
+\xc4\xc3\xc2\x5b\x86\x61\xe0\xba\xa3\xb3\x4e\xb5\xd6\xc4\xe3\x09\
+\x1c\xc7\x41\x00\xab\xd6\xbc\x86\x59\x9c\xec\x44\xb2\x06\x3d\x02\
+\x84\x0b\x21\x90\x22\xd8\x79\xf6\x61\x92\xde\x87\xfe\x7d\xae\x08\
+\x03\xbf\x3f\x34\x3f\x5b\xe2\x39\x39\xb2\x99\x14\xd1\x78\x05\x86\
+\x65\x8f\x08\x0b\x65\x61\x90\xaa\xbf\x79\x1b\x88\x8e\xfe\xde\x1b\
+\x2e\xed\x1a\xd0\x1e\x99\x54\x8a\x58\xa2\x12\xc3\xb4\x86\xcf\x57\
+\x0d\x52\x08\x10\x3d\x14\xcc\x50\xc6\x39\x82\x7c\x15\x05\x05\xb2\
+\x7a\xd5\x0a\x92\x55\x95\x8c\x9b\xd0\x00\x52\x0e\x9f\xaf\x4a\x11\
+\x89\x25\xc8\xe7\x32\xf4\xbb\x0a\x07\xe1\x6b\xcc\x8e\xed\xbd\x37\
+\x0f\x9b\x6e\xa5\x34\xdf\xfe\xf6\xb7\xf8\xcc\x75\xd7\xa2\xb4\xc0\
+\xb0\xec\x61\xf3\xd5\x30\x4c\xa4\x10\xb8\xae\xdb\xff\x5a\x65\x80\
+\x75\x3a\x0a\x6b\x35\x12\x89\xf1\xab\x5f\xfe\x82\x23\x17\x1d\x46\
+\x63\x63\x23\x00\x26\x85\x9d\xd1\x75\xf2\x38\x03\x31\x66\x30\x82\
+\xad\x18\x9e\x36\xf1\xf2\x19\xdc\x6c\x17\x15\xc9\x1a\x7c\x27\x47\
+\x55\x65\x25\xe9\x6c\x16\xdf\xf7\xa8\x1d\x53\x47\x7b\x6b\x2b\x95\
+\x55\x95\x74\x75\x76\x23\xa4\xd8\xc7\x9d\xb0\x2d\x13\x21\x24\xae\
+\xe3\x06\xee\x85\xeb\x62\x48\x49\xde\x71\xf1\x95\x3f\x24\xc1\x73\
+\x5c\x17\xcf\xf5\xb0\x6d\x13\x3b\x12\x25\xdd\xdd\x39\x64\x53\x5c\
+\x08\x81\x36\x63\x68\x2d\xf1\x9c\x3c\x86\x09\x86\xef\x20\xa4\x2c\
+\xb9\x05\x91\x48\x14\xcf\x75\x49\x54\xc4\xe9\xee\x4e\xa1\x7a\x85\
+\xb3\x75\xc9\xe5\x71\x1d\xb7\x84\x5b\x38\xae\x83\xe7\x7a\x24\x12\
+\x09\xba\xbb\xba\x11\x43\x5c\x70\x96\x61\xb2\x76\xdd\x3a\xa6\x4d\
+\x9b\x86\x61\x58\xa4\x3a\xda\x10\xc6\xd0\x17\xaf\xb0\x2b\xf1\x15\
+\x78\x4e\x16\x9d\xef\x22\x12\x8b\x61\x59\x36\xf1\x68\x8c\xce\xee\
+\x4e\x0c\xc3\x44\x20\x30\x4d\x83\xec\xde\x38\x93\xd6\x24\x12\x09\
+\x3c\xdf\xc3\x75\x3c\x12\x89\x38\xa9\x54\xe0\x26\x46\xed\x08\x8e\
+\xeb\xe0\x7a\xde\xb0\xdc\x81\x2d\x9b\xb7\x10\x9b\x39\x83\x6c\x3a\
+\x35\xec\x45\xab\x8d\x04\x76\x2c\xce\xfd\xb7\xfd\x88\x73\x2e\x7f\
+\x3f\x99\xee\x6e\x84\x90\x44\x6c\x1b\xa5\x14\x96\x65\x91\x77\x1c\
+\x2a\x12\x09\x3a\x3b\x3a\xa1\x87\xfc\x6a\xad\x89\xc5\xa2\x58\xa6\
+\x89\xef\xfb\x48\x69\xe0\x3a\x2e\xb6\x6d\xa1\x81\x6c\x36\x8b\xef\
+\x0d\xd1\xba\xd2\x10\x8f\x45\xb9\xe7\xde\xfb\xb9\xf1\xf3\x9f\xa3\
+\xa3\xb3\x13\x72\x99\xe1\xa9\xf8\x48\x15\x3b\xb7\xac\xc7\xe9\x6e\
+\x65\xca\xcc\x19\x78\x4a\x11\x8b\x44\x71\x5c\x17\x5f\x79\xd4\xd4\
+\x8c\xa1\xb3\xbd\x0d\xd3\xb6\x70\x5d\x6f\x1f\xd7\x2e\x11\x8f\x91\
+\xcf\xbb\x44\x63\x51\xb2\xe9\x2c\x96\x65\x06\x11\xdc\x5c\x1e\xc3\
+\x32\x03\xc5\x37\x14\x0c\x5b\xc2\x43\x0f\xfd\x95\x19\xd3\xa6\xd0\
+\xd4\xd4\x14\xf0\xb9\x0f\x7b\xab\xec\x1f\x21\x0d\x56\xdd\xff\x35\
+\x12\x8f\x9c\x46\xf2\xc9\x4b\xd9\x71\xdb\x91\xac\xfd\xc7\xef\xa9\
+\x1d\x3b\x91\x4f\x5c\x7b\x1d\xcd\xcd\xcd\xd4\x54\x27\x99\x31\x73\
+\x2e\x91\x78\x05\x1f\xfa\xd0\xd5\xd4\x8e\x1d\x8b\x65\x9a\x58\xa6\
+\x19\xf0\x4d\x6b\x9e\x7d\xf6\x39\x6e\xfa\xfa\xb7\xb8\xfe\x86\x1b\
+\xf9\xeb\xc3\x8f\x70\xe3\x7f\xff\x0f\x7f\x7d\xf8\x6f\xfc\xf8\x7f\
+\x7f\xc6\x96\x2d\x9b\x83\xdd\xbc\xdc\xf1\x15\xee\xad\xb5\x2a\x58\
+\xc8\x62\x48\x34\x52\x30\xf9\xb3\x5d\x1d\xa4\x1e\xb9\x81\xaa\x27\
+\x2e\x25\xf9\xe0\xe1\x3c\x7c\x49\x1d\x56\xe5\x18\xba\xbb\xbb\x59\
+\xbb\x6e\x1d\x5a\x29\x7e\xf3\xdb\xdf\xf2\xc6\xfa\xf5\xbc\xe7\x82\
+\x4b\x48\xa5\xd3\x98\x86\x81\x69\x18\x18\x52\x62\xdb\x36\x6b\x5e\
+\x7b\x9d\xab\x3e\xf2\x51\x7e\xf7\xfb\x7b\xf8\xf2\x57\xbf\xc6\xcd\
+\xdf\xb9\x85\xe7\x9e\x7b\x01\xcf\xf3\xf8\xec\x0d\x37\x52\x5b\x5b\
+\x13\xb8\x81\x43\x18\xa3\x46\xf5\xb0\x62\x75\xc1\x35\x1b\x22\x5f\
+\x95\xcf\xce\x5f\x9d\xce\x98\xa5\x67\x90\xbf\x7d\x06\x3b\xfe\x7e\
+\x3b\x55\x35\x63\x79\xfe\xb9\xe7\xb9\xe4\xbf\x2e\xc3\x34\x0c\xd6\
+\xbe\xb1\x96\x55\xab\x57\x71\xcf\x1f\xee\xa5\xaa\xa2\x82\x68\x24\
+\x52\xa2\x35\x16\x8b\xf1\x3f\x5f\xf9\x2a\x0f\x3e\xf8\x30\xad\x6d\
+\xad\x5c\x7d\xcd\x47\x49\xa7\x52\x6c\xda\xb8\x89\x6f\x7d\xe7\x16\
+\x5e\x7c\xf1\x65\xb4\x3f\x34\x3a\x8b\x34\x05\x9b\x4d\xc1\xad\x1d\
+\x2a\x5f\x01\xa5\x04\xf6\x3f\xaf\x24\xf1\xcf\xf3\x79\x57\xee\x46\
+\x7e\x7e\xf1\x02\xaa\xc6\x4c\x04\xa5\x78\xf8\x91\x47\x78\xe6\xd9\
+\xe7\xb8\xf5\x07\x3f\x64\xc3\xfa\x0d\x9c\x7f\xe1\x25\x24\x2a\xe2\
+\x98\x86\x81\x6d\x99\xa0\x35\x15\x89\x04\x77\xdd\xf5\x3b\x3e\xfe\
+\xa9\xeb\xf8\xdf\x9f\xff\x82\x2f\x7e\xe9\xcb\x3c\xf2\xe8\xa3\x7c\
+\xf2\xba\xcf\xf2\xf9\x2f\x7c\x91\x2d\x5b\xb6\x62\x1a\x72\x68\x63\
+\x44\xa3\x05\x78\x9e\x3b\x64\x5e\xf6\x5a\x0f\x4e\x37\xfe\x9d\x8b\
+\x99\xbd\xfe\x63\xe4\x7f\x7b\x02\xab\x1f\xf9\x15\xb1\x68\x8c\x5f\
+\xff\xdf\xff\xb1\x79\xcb\x66\xa4\x90\x1c\x74\xf0\x61\x38\xae\xcb\
+\xe3\xff\xf8\x17\xb9\x6c\x0e\xd3\x30\x90\x42\x60\x99\x81\xf5\xf5\
+\xb5\x6f\x7c\x9b\x35\xaf\xbf\xc6\x67\xaf\xbf\x81\x4d\x9b\x36\x71\
+\xd7\x6f\x7f\xc7\x4f\x7f\x7e\x07\xe9\x4c\x9a\xa5\x4b\x9f\x1e\xb2\
+\xfc\x82\xc6\xf7\x02\xa5\x58\xd4\xe7\xe6\x48\xf9\xf0\x89\x0a\x8b\
+\xe6\x59\x17\x32\x7e\xdc\x05\x18\x8d\xf7\xd2\x3d\xf9\x40\x9e\x7d\
+\xe2\xdf\xdc\xf8\xf9\x1b\xb0\x2d\x93\xae\xee\x6e\xee\xbd\xfb\xb7\
+\xfc\xfa\x57\xbf\xe2\x63\x1f\xbd\x86\xc5\xc7\x1e\xc7\x19\xa7\xbf\
+\x8b\x96\x96\x5d\x5c\x7c\xe1\x7b\x39\xf0\xc0\x03\x78\x63\xed\x3a\
+\xce\x39\xfb\x2c\x0e\x98\x3b\x97\xe7\x9e\x7b\x81\x5b\x6e\xfd\x01\
+\x9f\xbf\xfe\x33\x2c\x59\x7c\x0c\xb6\x1d\x2d\xe1\x39\x6f\x1d\xce\
+\x2c\x10\x42\x51\x5d\x5d\xcf\xe6\xd9\x17\x33\x2e\x3a\x93\xed\x07\
+\xfd\x10\x23\x9d\xc1\xf5\x3c\x9e\x7c\x6a\x29\xbe\xaf\xb8\xe0\xfc\
+\xf3\x78\xe8\xa1\x87\xf9\xc4\x47\xaf\xe6\xc5\x17\x5f\xe4\xb1\xbf\
+\x3f\xce\x91\x47\x1c\xce\xa6\xcd\x5b\xf8\xe4\xc7\xae\x61\x72\xd3\
+\x24\x2e\x7f\xff\x7f\x51\x53\x53\xc3\xe5\x57\x5c\xc6\x11\x47\x1e\
+\xcb\xb4\x69\xd3\xc9\xcd\xcc\x31\x6b\xc6\x74\x5a\xdb\xda\x31\xa4\
+\x1c\x32\x30\x39\x52\x20\xb2\x06\x2a\xc7\xcd\xe0\x89\x25\x37\xd0\
+\x34\xb7\x1d\xd9\xf1\x06\x86\x61\xf0\xf5\x6f\xdf\xcc\x09\xc7\x1f\
+\x8f\x52\x8a\x86\x86\x06\xfe\xf8\xa7\x07\x98\x37\xef\x00\x9e\x7b\
+\xe1\x45\xfe\xfb\x7f\xbe\xcc\x71\x8b\x8f\xa5\xa1\xb1\x91\x93\xdf\
+\x79\x22\x5f\xfb\xca\x97\xf9\xce\x77\xbf\xc7\xe2\xc5\xc7\xf2\xdf\
+\x9f\xbf\x81\x57\x57\xac\xc4\x30\x0c\x3a\xbb\x3a\x03\xcb\x47\x88\
+\x61\xe5\x4c\x89\x11\xa1\x53\x10\xc3\xe3\x4f\xb2\x9e\x53\x97\xdc\
+\xc4\xb6\xa5\x9f\xc2\xbd\x61\x22\xba\xb3\x9b\xdd\x6d\x6d\xd4\xd7\
+\x8f\x65\xf1\xf1\x27\xf2\xb3\x5f\xdc\xc1\x3b\x8e\x3f\x8e\x57\x96\
+\x2d\x63\xd5\xaa\x35\xfc\xfa\xff\xee\x62\xd2\xa4\x49\x5c\x7c\xe1\
+\x05\x64\xb3\x39\x4e\x3b\xf5\x5d\x4c\x9f\x3e\x8d\xef\xff\xf0\x36\
+\xfe\xfa\xf0\x23\xb4\x34\x6f\xe6\x1d\xc7\x1f\xc7\xad\x3f\xbc\x8d\
+\xaf\x7f\xeb\x66\xee\xbc\xe3\x67\x74\x75\x75\x0f\x59\xf6\x46\x0a\
+\x6d\x72\x80\x1d\xf5\xf3\xb1\x67\x7d\x85\xcd\x6d\x5f\xa3\x66\x7e\
+\x53\xe0\x05\x28\x55\xf2\x30\x3a\x3a\x3a\x78\xe2\xa9\xa5\x3c\xf1\
+\xe4\x93\x6c\xda\xb2\x99\x58\x2c\xc6\x8c\xe9\xd3\x68\x6b\xeb\x60\
+\xc9\xe2\x63\xb8\xec\xfd\xef\xe3\x97\xbf\xbc\x93\x7b\xef\xff\x13\
+\x27\x9d\x78\x02\xef\xbb\xe4\x22\xb6\x6d\x6b\xe6\x07\x3f\xfa\x09\
+\xb1\x58\x94\x43\x0f\x39\x78\x88\xd1\xcd\x7d\xe9\x94\xc5\x97\x03\
+\xc8\x41\x0c\xe9\x07\xed\x33\xe1\xa8\x0f\x72\xc8\x8a\xcf\x70\xf9\
+\xa6\x2b\xf8\x68\xcb\x1d\xac\x5e\xff\x0a\x8b\x0e\x39\x8c\x78\x2c\
+\x5a\xfa\x5c\x24\x62\xb3\x7e\xfd\x06\x00\xea\xeb\xc7\x70\xcc\xd1\
+\x47\x71\xda\xa9\xef\xa2\xbe\xbe\x8e\x7c\x3e\xcf\xc4\x89\xe3\x19\
+\x53\x5b\xcb\x77\xbe\x77\x2b\x8e\xeb\xf0\xa3\x1f\x7c\x97\x53\x4e\
+\x79\x27\xeb\x36\x6c\xc4\xf3\x5c\xa4\x94\x25\x30\xb3\xec\x31\xf6\
+\x24\x7e\xc8\x74\x2a\xc6\xd7\x4c\xe6\x93\xfe\x46\xde\xff\xfa\x27\
+\xb8\x6c\xcb\x65\x7c\xe5\x9f\xdf\x27\x1a\x89\x83\xd6\xcc\x99\x3d\
+\x9b\xad\x5b\xb7\x10\x8f\xc5\xd8\xdd\xd6\x8a\xaf\x14\x1b\x37\x6e\
+\xe6\x9b\x5f\xff\x2a\xb3\x66\xcd\xe4\x95\x57\x96\x11\xab\xac\x60\
+\xd9\xab\xaf\xf2\xe2\x2b\xcb\x70\x7d\x8f\xef\xde\x72\x2b\x1f\xbe\
+\xea\x4a\x0e\x38\x60\x0e\xb1\x58\x8c\xf6\xce\x2e\xc6\xd4\xd6\xf6\
+\xca\x5c\x2f\xf7\x47\xf7\x00\x39\x8b\x0a\x6b\x28\xf7\xf1\xd1\x7c\
+\x3a\xd1\xc9\x4d\xcb\x2e\xe5\xbd\xaf\x7d\x88\x3f\x67\xd6\x40\xce\
+\xe3\xa6\x2f\xfd\x0f\x5b\x36\x6f\x41\x08\x89\x94\x82\x96\xdd\xbb\
+\x69\x6f\xef\x60\xc6\xf4\x69\x5c\xf6\xfe\xf7\x71\xcf\xbd\xf7\xd3\
+\xd4\x34\x89\x89\x13\x26\x70\xfe\x85\x97\xf0\xe1\xab\xaf\x24\x93\
+\x4e\x71\xc7\xaf\xef\x64\xd1\xc2\xc3\x98\x3e\x6d\x1a\x07\x1f\x74\
+\x10\x15\x15\x15\x25\x00\x78\xc8\xb2\x47\x11\x97\x17\x43\xfe\x91\
+\x02\x3c\x6d\x73\xaf\xb5\x96\xcb\x9e\x3d\x87\xcf\xbe\x67\x07\xbf\
+\x5d\xfa\x47\xac\x78\x25\x95\x15\x15\x24\x93\x49\xb4\x93\xe1\x7d\
+\x97\x5e\xc2\x4f\x7f\x76\x07\xe7\x9e\x7d\x36\x93\x27\x4f\x62\xd1\
+\xc2\xc3\x38\xe3\xf4\x77\xf1\x89\x6b\xaf\x63\x62\xd3\x24\xb6\xef\
+\xd8\x4e\x7d\x7d\x3d\x57\x5f\xf9\x21\xbe\xff\xbd\xef\xf0\xc2\x8b\
+\x2f\xf2\xe3\x9f\xfc\x2f\x11\xdb\xe2\xfb\xdf\xb9\x99\x54\x2a\x3d\
+\xac\x71\xf6\xcc\xde\x1f\xce\x4f\x5e\xc0\x79\x2d\xff\xe4\x7d\x9d\
+\x1f\xe2\xe6\xf1\x2f\xb0\x2e\xb3\x1b\xed\xfb\xd4\xd5\xd5\x11\x8b\
+\x46\x01\xc1\x01\x07\x1e\x80\x65\x5a\x7c\xe6\xda\x4f\x71\xe8\xc1\
+\x0b\x58\xb2\xf8\x58\x7e\x75\xe7\x5d\x1c\x7b\xcc\x91\x98\xa6\xc9\
+\xb6\xad\x5b\xf9\xe0\x15\x97\xf1\xa5\x2f\xde\xc8\xdc\xb9\x73\xf8\
+\xcb\x83\x7f\xe5\xa9\xa7\x9f\xe1\xc6\x1b\x3e\xcb\x59\x67\x9e\x86\
+\x61\x18\x43\x1c\x5f\x1f\x27\x55\xda\x5a\x9a\x03\x27\xc8\x30\xc9\
+\x65\xd2\x43\xde\x85\x95\x56\xfc\xf9\xc5\xbf\x72\xea\x61\xef\xc4\
+\x71\x5d\x62\x46\x74\x1f\x4d\x2a\x0b\x2e\x40\x2e\x97\x23\x99\x4c\
+\xb2\x62\xc5\x4a\x72\xf9\x1c\x4d\x4d\x4d\x25\x57\xc8\x75\xdd\x00\
+\xaf\x71\x5d\x4c\xd3\x2c\xfd\x76\x1c\x07\x5f\xa9\x21\xed\x27\x45\
+\xff\x38\x1a\x8d\x52\x55\x53\x4f\x67\x5b\xcb\x30\x30\x29\x49\xaa\
+\x2b\xc5\x4b\x3b\x5e\x66\x4e\xe3\x6c\xe2\x32\x46\x22\x52\x81\x10\
+\x60\x9a\x01\x63\xf2\x79\x87\x58\x2c\x86\xe7\x79\x58\x96\x49\x2e\
+\x97\x67\xd3\xa6\xcd\x6c\xde\xb2\x85\xe3\x8f\x5b\x02\x42\x60\x1a\
+\x06\xae\x5b\xc0\x2c\x74\x30\x46\xdf\xf7\x89\xc7\xe3\xa4\xd2\xe9\
+\xc0\xb5\x1d\x82\xe5\x63\x48\x83\xe6\xe6\x66\xa6\x4e\x9d\x8a\x1d\
+\x8b\xd1\xb6\x6b\x27\x86\x31\x74\x83\x79\x67\x6b\x0b\xbf\x7a\xf9\
+\xff\xf8\xf4\x49\x9f\x44\x79\x3e\x96\x61\x63\x59\x26\xd1\x68\xb4\
+\x14\x69\x8a\xc7\xe3\xb8\xae\x8b\xe7\x79\x44\xa3\x51\xfe\xf2\xe0\
+\x43\x2c\x58\x70\x10\xf5\x75\x75\x54\x54\x54\xd0\xdd\x1d\x60\x6c\
+\xb1\x68\xb4\x94\xb1\x6c\x17\xb0\x8e\x20\x2a\x37\xf4\x20\xcd\x0b\
+\x2f\xbe\xc4\xac\x59\x33\xa9\xae\xaa\x1a\x56\xc8\x3f\x66\x47\xf9\
+\xd1\x83\xff\xcb\xd9\xc7\x9c\x85\x6d\x9a\x98\x58\xc4\xed\x28\x5a\
+\xec\x89\x3a\x47\x23\x11\x6c\x3b\x08\xba\xa4\x52\x29\x4c\xd3\xe4\
+\xff\xee\xfa\x2d\x57\x5d\xf9\x41\x3a\x3a\x3b\xb1\x4c\xb3\xc0\x03\
+\x89\x69\x9a\x25\xfe\x83\x20\x9b\xcd\xa2\x7a\xb8\x30\xe5\xf2\xd5\
+\x8e\xc6\x38\xf3\xcc\x77\xf3\xef\xc7\x1f\xa3\xb5\xb5\x75\xc8\xf7\
+\x02\xc8\x7b\x0e\xaf\x6d\x7d\x83\xe9\x0d\x53\x51\xca\x27\x6a\x46\
+\x31\xa5\x49\x24\x12\xc1\xf5\x3c\xb4\x52\x24\x93\x49\xd2\xe9\x34\
+\x9e\xe7\x61\x98\x06\x9e\xeb\xb1\xe6\xb5\xd7\x98\x36\x75\x2a\xb6\
+\x6d\x63\x9a\x26\xbe\x52\x44\x23\x11\xf2\xf9\x3c\xa6\x69\x22\x04\
+\xe4\xf3\x0e\x86\x69\xe2\x0f\x11\x6b\xac\xac\xac\xe4\xca\x0f\x5f\
+\xc3\x35\x1f\xbe\x8a\x05\x07\x1d\xc4\xf2\x57\x57\x04\x4a\x4a\x29\
+\x4d\x2a\x9d\x26\x93\x4e\x0d\xc3\x55\x10\x54\x46\x2b\x48\xe5\x02\
+\x45\xa7\x51\x03\x9a\xf0\x1a\xb0\x4c\x2b\x48\x20\xf3\xdc\x51\xf5\
+\xe1\x34\x50\x51\x51\x41\x45\x22\x81\x1d\x89\xd2\xbc\x6d\x1b\xbe\
+\xef\x0d\xf9\x5e\x86\x34\x88\x1a\x11\xf2\xbe\x83\x46\xa3\x42\x00\
+\xfa\x96\x65\x61\xd9\x16\xe9\x74\x86\x51\xcb\x4a\x0b\x8c\x3d\x92\
+\x35\x49\x62\xd1\x20\xc2\xb4\x75\xcb\x56\xcc\x02\x6e\x32\x94\xcb\
+\x34\x4c\xaa\x22\x55\xb4\x67\xda\x0b\x29\x14\x83\x2b\x82\x8a\x8a\
+\x0a\xb2\xd9\x1c\x9e\xef\x8d\x2e\xad\x1a\x3c\xd7\x63\xfc\xf8\x71\
+\x74\x74\x74\x0e\x99\xa7\x88\x20\x7a\x56\x93\xa8\x21\x95\xeb\x0e\
+\xa6\x4a\xe8\xc1\x95\x9e\x10\x54\x55\x56\xd2\xd1\xd9\x39\xa4\x4d\
+\xa5\xac\x20\x81\x61\xb0\x72\xe5\x2a\x4e\x3a\xf1\x04\x76\xed\xde\
+\x4d\x3e\x9f\x1f\xf2\xdc\x0a\x21\xb0\xcd\x08\xae\xe7\x00\x83\xaf\
+\xd5\xe2\x24\x45\x22\x36\x8e\xe3\x8c\x6a\x7e\x94\x69\x9a\xbc\xba\
+\x62\x25\x87\x1c\x7c\x30\x63\xc6\xd4\xb2\x72\xd5\xea\x20\x4f\xca\
+\xf7\x7d\x5a\x5a\x76\xed\x13\x6d\xfb\x4f\xb9\x74\x21\xca\x94\xac\
+\xae\xa6\xad\xad\x8d\x5c\x3e\xff\x16\x0d\x04\x78\x13\xa6\x38\x91\
+\x48\x90\x88\xc7\xe9\xe8\xe8\xc0\x71\xdc\xe1\x3f\xb3\xdc\x71\xbf\
+\x49\x74\x6a\xa5\xa9\xab\xab\x2b\x24\x93\x1a\x6c\xdd\xda\x3c\xfc\
+\xf4\x0d\xb1\x7f\xf2\x54\x2b\xcd\xac\xd9\xb3\xe9\xee\xec\x20\xef\
+\x38\xb4\xb6\xb6\x21\x0d\xf9\x1f\xb7\x56\x95\xaf\x18\x3f\x7e\x02\
+\xa6\x19\x04\x19\x56\xad\x79\xad\x90\x82\xa0\x35\xf9\x7c\x8e\x9a\
+\x9a\x9a\xb7\x4d\xf6\x73\x79\x4a\x2a\xd0\xd0\x86\x61\xd0\xbc\x7d\
+\x07\x63\xeb\xeb\x31\x4d\x83\xff\xc8\xab\x40\xab\xef\xfb\xec\xde\
+\xdd\xca\xc4\x89\x13\xf0\x5c\xef\x4d\x59\x48\x6f\xc5\xe6\x63\x18\
+\x06\xc9\x9a\x1a\x2e\xbc\xe8\x52\xbe\xfd\xed\x6f\xa0\xfe\x83\x69\
+\x15\x86\xc5\xb6\xed\xdb\x59\xb9\x72\x15\xc7\x2d\x59\x4c\x36\x93\
+\xfd\x8f\xa3\x55\x29\x85\x69\x47\xd0\xca\x2b\xa4\x05\x17\xa2\x7b\
+\x42\x08\xe2\x89\x04\x63\x6a\x6b\xc3\x67\x03\x17\x53\x6f\x87\x32\
+\xd9\xe5\x7e\xaf\x94\xe9\x5b\xfe\xf7\xe8\x51\x5e\x02\xc0\xf7\x7d\
+\xaa\x93\xd5\x44\x6c\x9b\xf0\x59\xbb\xa2\xd7\xbd\x42\x4f\x90\x16\
+\x65\x0b\x51\x7f\xa5\x4d\x42\xd1\x5a\x70\x41\xb4\xd6\xe4\x72\x39\
+\x10\x50\x57\x37\x06\x27\xef\x84\x1c\xc7\x30\xca\x6f\x94\x3d\x3f\
+\xc3\x3c\xce\x52\x9c\x27\xc3\x04\x23\xc2\x83\x0f\xfd\x95\x5f\xfe\
+\xe2\xa7\x41\xa6\xb2\x08\xcf\xa2\xe2\x9c\x8d\x94\x22\x19\x12\xef\
+\x42\x98\x6a\xba\xe0\x7a\xa6\x53\x29\x5a\x76\xed\x62\xdc\xb8\x71\
+\x74\x76\x76\x86\x1c\xba\x78\x53\xd7\xdd\x50\x9f\x85\x10\x28\xa5\
+\x88\xc6\x62\xe4\x32\xa9\x92\x48\x9b\x3d\x6f\xdc\x33\x04\x39\xd8\
+\x65\x18\x06\xbe\xef\x05\x9f\xd7\x7b\xd6\xb2\x94\x12\xad\x74\xe9\
+\xe8\x84\x46\xf7\x12\x86\x31\x75\xb5\xb4\xec\xdc\x85\x61\xc8\xd2\
+\xeb\xa5\xe8\x05\x7a\x4f\xad\x9a\xc2\xf9\x3d\xad\x35\x89\x8a\x44\
+\x70\xe0\x33\x9d\xe9\x6d\xe9\x09\x51\xaa\xe1\xd4\x97\x5e\x89\xd8\
+\x11\x1c\x37\x88\x0a\xee\x11\xa0\x40\x5b\x2b\xa5\xca\xb2\x1a\x2d\
+\xcb\x0a\x0e\xc5\x16\x6f\x2f\x0b\xd1\x96\x42\x64\x49\x97\x14\x53\
+\x11\x6f\x33\x41\xe8\xc0\x8a\xe9\x39\x3f\x42\x06\xc9\x9d\x45\x3a\
+\x7b\xcd\x4f\xe0\xaa\xd9\x76\x84\xd6\xd6\xd6\x12\xce\x51\x04\x63\
+\x95\x56\x7d\xea\x55\x4d\x10\x14\xf0\x0a\xa0\xa7\x28\x64\x87\x17\
+\xcd\x67\x3f\x04\x4f\x85\x10\x28\xe5\x53\x59\x51\x41\x2a\x9d\x0a\
+\x8e\x75\xf4\x98\xcb\x5e\x47\x44\xa0\xd7\xb8\x85\x94\xc4\x62\x51\
+\xd2\xe9\xf4\x9e\xe3\x32\x85\xd7\x45\x61\x77\x94\x86\xec\x25\x2b\
+\x4a\x2b\xea\xc7\x8d\xa3\xbd\xb5\x0d\xd5\x13\x3c\xef\xf1\x2c\x0a\
+\xf2\xb0\x37\xcd\x42\x08\xa4\x61\x04\x65\x64\x64\x30\x03\x76\x24\
+\x52\x96\xfc\x42\x20\xab\xb6\x65\x91\xce\xf4\x1e\x77\xcf\xb1\x14\
+\xf9\x55\x4a\x7d\xe9\x47\x66\x94\xd6\xd4\x24\x93\x78\x9e\x47\x2a\
+\x35\x00\xb6\xdb\xe3\x75\x59\x58\x94\x03\xe2\x9f\x85\x28\x59\xf0\
+\xb9\xe0\x68\x97\x21\x0d\x7c\xdf\x0f\x45\x6b\x91\xaf\x55\x55\x55\
+\x74\x76\x76\xf4\x9e\x4b\xb1\x67\x03\x2e\xc9\xb0\x2e\x49\x32\xb6\
+\x6d\x51\x91\x48\xd0\xd6\xd6\xde\x1b\x73\xeb\x11\x85\xeb\xb9\x56\
+\x29\xc8\x45\x65\x45\x25\xa9\x74\xba\xd7\xc6\x19\x04\xc7\x7b\x6e\
+\x64\xbd\xf5\x82\x65\x1a\xf8\x85\x63\x62\x7b\xaf\x4b\xb3\x2f\xa2\
+\xc2\x30\x77\xdb\xd6\xad\x8c\x6b\x68\xa2\xb6\x6e\x4c\xe9\x75\xcf\
+\xf3\xd8\xbe\x7d\x07\xc9\x64\x35\x55\x95\x95\x64\xb2\x59\x2c\xcb\
+\xc2\x34\x83\xc7\x38\x8e\xc3\x7f\x5d\xf6\x21\xee\xfc\xbf\x3b\x7b\
+\xed\x3a\xe9\x74\x9a\xb6\xb6\x36\x62\xf1\x38\x75\x63\xc6\xd0\xda\
+\xda\xca\x98\xb1\x63\x4a\x93\xf0\x87\x7b\xfe\x80\xeb\xb9\x9c\x7b\
+\xce\x39\x44\xa2\xd1\xd2\xf3\x5c\xd7\x25\x95\xea\x66\x4c\xed\x98\
+\x82\x42\x53\x25\x80\x40\x29\xc5\xb3\xcf\x3c\xcd\xfc\xb9\xb3\xfa\
+\x5d\xa4\x61\xb5\xbd\xe7\xfb\xac\x58\xbe\x8a\xc5\x4b\x96\x94\xc6\
+\xd4\xda\xda\x4a\x6d\x6d\x2d\xa0\xe9\x4e\xa5\x89\x44\x22\x18\xd2\
+\xc0\x30\x24\x42\x08\x36\x6c\xd8\x80\x10\x92\x49\x8d\x0d\xc8\x42\
+\x94\xd3\xf3\x3c\x76\xec\xd8\x41\x6d\x6d\x2d\xf1\x78\x9c\x4c\x36\
+\x8b\x6d\x5b\x98\x85\xe8\x9b\x52\x8a\xbb\xef\xbe\x9b\x17\x5f\x7c\
+\x91\x5b\x6e\xb9\xa5\xd7\x1c\xad\x5b\xbf\x9e\xa9\x53\x26\x23\xa5\
+\xd1\x67\x31\xc1\x7f\xff\xf3\x1f\xcc\x9a\x31\x8d\x68\x8f\xf9\x29\
+\x87\x56\xad\x35\x55\x55\x55\xdc\x76\xdb\xed\xbc\xef\x03\x1f\xa0\
+\xb6\xae\xb6\xf4\x7a\xf1\x79\x2d\xbb\x76\x51\x5d\x5d\x8d\xef\xf9\
+\xc4\xe3\xb1\x42\x4a\x08\x74\x77\x77\xf3\xd0\xa3\x8f\xf1\x9e\x73\
+\xcf\xed\x35\xe6\x9d\x3b\x77\x92\xcb\xe7\x69\x9a\x34\x89\x75\xeb\
+\xd6\x33\x6d\xda\xd4\x5e\x29\x11\xe7\x9f\x77\x1e\xdf\xbb\xf5\x56\
+\x1a\x1a\x1a\x4a\xe3\xf0\x7d\x9f\x7c\x3e\x5f\x98\x1b\x9b\xca\xca\
+\x8a\x7d\x14\x88\x93\xcf\x91\xee\x6a\x43\x08\x39\x64\x5a\x0d\xc3\
+\xa0\x65\xf7\x6e\x96\xaf\x7c\x8d\x73\xcf\x39\xa7\xcf\x0d\xcb\xf3\
+\x3c\x76\xb6\xec\x64\xcc\x98\x3a\xd2\xdd\xdd\x44\x62\x51\x2a\x2b\
+\x2b\xfb\xfc\xac\x10\x82\xaf\x7c\xe5\x2b\x4c\x9b\x36\x8d\x4b\x2f\
+\xbd\xb4\x9f\xcf\x40\x2a\x9d\x09\x12\x23\xa5\xa4\xa5\x65\x27\x13\
+\x27\x36\xf4\x3b\x5e\x21\x04\x1d\xbb\x77\xf4\x71\x2f\x5d\x16\xad\
+\x15\x89\x04\x5f\xfb\xe6\xcd\xdc\xf0\xf9\x1b\xb1\x2c\xab\xc7\x5c\
+\x7b\x28\x15\xd4\x43\x6b\x6f\x6f\x23\x62\x47\x89\xc7\xa3\xa5\x4d\
+\xe2\xe5\x97\x5f\xe6\xbe\xfb\xef\xe7\xa6\xaf\x7e\xb5\x17\x5f\x95\
+\x52\x74\x76\x76\x51\x5b\x93\xa4\xa3\xbd\x9d\x64\x0f\x98\x48\x08\
+\xc1\x1d\x77\xdc\xc1\xfb\xde\xf7\xbe\x3d\xeb\x3e\xef\x90\xce\x64\
+\x18\x53\x5b\x43\x3e\x9f\x47\xf9\x3e\x96\x6d\x97\xa2\xff\xae\xeb\
+\xb2\x69\xe3\x06\xc6\x24\x2b\xfb\xd6\x37\x43\xb6\x42\xfb\xc8\xdb\
+\x68\x6e\x6e\x66\xf2\xe4\x26\xae\xbc\xf2\x4a\x1e\x7e\xe4\x11\x16\
+\x2d\x5a\xc4\xb2\x65\xcb\x7a\xe5\x41\x18\x05\x2c\xa8\x67\x9e\xcb\
+\x29\xa7\x9c\x42\x53\x53\x13\xb7\xff\xe4\x27\x5c\x70\xc1\x05\x5c\
+\x73\xcd\x35\xbd\x18\x20\x8d\xe0\xc8\x49\xcf\xfc\xa6\x6c\x36\xcb\
+\xa3\x8f\x3e\x8a\x61\x98\x5c\x7b\xed\xb5\xdc\x7e\xfb\xed\x08\x21\
+\x7b\xe7\xd0\x88\x91\x4b\x80\x93\x3d\x16\x17\xc0\xad\xb7\xde\x4a\
+\x53\x53\x13\x6d\x6d\xed\x5c\x74\xe1\x85\x1c\x7d\xd4\x51\xa4\x52\
+\xdd\xbd\x16\x21\x3d\x92\x15\x8b\xf3\xd3\xd4\xd4\xc4\x55\x57\x5d\
+\xc5\xe3\x8f\x3f\xce\x61\x87\x1e\xca\x2b\x2f\xbf\xd2\x6b\x2e\x64\
+\x21\x7c\xdd\x73\x8e\x76\xee\xdc\x89\xe7\xba\x14\xab\x08\x14\x4b\
+\x64\xf4\xfc\xde\x48\xb9\x18\x45\x25\xdb\x33\x37\xe7\xbe\xfb\xee\
+\x63\xc9\x92\x25\x7c\xee\xfa\xeb\x39\xe6\xe8\xa3\xb9\xf6\xda\x4f\
+\x95\xac\x85\x3d\xb9\x46\x62\x1f\xbe\xce\x9b\x37\x8f\xdf\xdc\x75\
+\x17\x9b\x36\x6d\xa2\xb9\x79\x5b\x10\x91\xea\xf1\xbe\x69\x59\xfb\
+\xe4\xc9\x64\xb3\x59\xfe\xf9\xf8\xe3\x7c\xfc\x63\x1f\x23\x59\x5d\
+\xcd\x53\x4f\x3e\xb5\x2f\xad\x23\xe6\x49\x05\xe7\x4c\x7b\x8e\x5b\
+\xec\xc5\xaf\x99\x33\x66\xf2\xdb\xdf\xfc\x86\x8e\xce\x4e\x36\x6c\
+\xd8\x50\x2a\xab\xd3\x57\xbe\x56\x11\xf7\xec\xeb\x7e\x45\x49\x7a\
+\x7a\xe9\x52\x76\xec\xd8\xc1\x49\x27\x9d\xc4\xa4\x49\x4d\x05\xf7\
+\xb4\xff\x1c\xb0\x91\xa0\xb6\xa7\x45\xd6\xf3\xa7\xbb\x3b\x45\x2a\
+\x95\x62\xc5\x8a\x15\xbc\xfa\xea\x8a\x42\x74\xb4\xb7\x2c\x5a\x7b\
+\xc9\xe2\xf3\xcf\x3f\xcf\xc4\x89\x13\xf9\xc3\x1f\xee\xe1\xfc\xf3\
+\xcf\xe7\xfa\xcf\x7d\x6e\x1f\xbe\x4b\xd9\x5b\x86\x5e\x7f\xe3\x75\
+\xa6\x4e\x9d\xc2\x37\xbf\xf9\x4d\xee\xbe\xfb\x6e\xa6\xcf\x98\xc1\
+\xf2\xe5\xcb\x7b\x7f\x6f\x00\xf9\x35\x07\xf2\x29\x7b\x2a\xa1\x30\
+\xae\x51\x75\x75\x35\x5f\xfe\xf2\x97\x39\xeb\xac\xb3\x98\x3c\x79\
+\x32\x0f\x3e\xf8\x60\xe9\x90\xe0\x40\xd7\x6d\xb7\xdd\xc6\x03\x0f\
+\x3c\xc0\x17\xbe\xf0\x05\x5e\x78\xe1\x05\x16\x2e\x5c\x38\xa8\x5f\
+\x5b\x3c\xf9\x9e\xcf\xe7\xf9\xee\x77\xbf\x3b\x24\x5f\xb8\xe7\xe7\
+\x07\x2a\x91\xdb\xd7\x75\xf8\xe1\x87\x73\xe3\x8d\x37\xe2\xba\x2e\
+\xbf\xfe\xf5\xaf\x69\x69\x69\x09\x92\xfe\x06\x18\x43\x75\x75\x35\
+\x37\xdd\x74\x13\xe7\x9d\x77\x1e\x63\xc7\x8e\xe5\xa1\x87\x1e\x62\
+\xd2\xa4\x49\x83\x8e\xd3\x75\x5d\x66\xcf\x9e\xcd\x4b\x2f\xbd\x84\
+\x57\xc8\x3f\x19\x2a\x9e\x33\x94\xc0\xc8\xa9\xa7\x9e\xca\x71\xc7\
+\x1d\x47\x5b\x5b\x1b\x91\x48\x84\x89\x13\x27\x12\x8d\x46\x07\x1d\
+\xc3\xcd\x37\xdf\x4c\x73\x73\x33\x3b\x77\xee\x64\xc9\x92\x25\xac\
+\x59\xb3\x86\x39\x73\xe6\xf4\x39\x96\xe2\xbd\x62\xb1\x18\xa7\x9d\
+\x7e\x3a\x55\xd5\xd5\x5c\x71\xc5\x15\x1c\x75\xd4\x51\x43\xc6\x3d\
+\xcb\xe5\x69\x7f\xf2\x7c\xfc\xf1\xc7\x33\x65\xca\x14\x1e\x78\xe0\
+\x01\x6a\x6b\x6b\xfb\x95\xe9\xfe\x9e\x57\x1c\x4f\x2a\x95\xe2\xe8\
+\xa3\x8f\x26\x91\x48\x70\xe7\x9d\x77\x72\xf7\xdd\x77\x97\x36\xa4\
+\x91\xc4\xc3\xc2\xf2\xb8\xb8\x69\x2c\x5f\xbe\x1c\xad\x35\x47\x1c\
+\x71\x44\xbf\x25\xbe\x8b\x7f\x2f\x5a\xb4\x88\x8d\x1b\x37\x12\x8d\
+\x46\x59\xb4\x68\x11\x87\x1c\x72\xc8\xa0\xcf\xa9\xad\xad\xe5\x37\
+\xbf\xf9\x0d\x67\x9c\x71\x06\x1d\x1d\x1d\x2c\x5c\xb8\x90\x59\xb3\
+\x66\x85\xe6\x83\xd9\x1f\x13\x8b\x65\x71\x8b\x6e\x5a\x34\x1a\x0d\
+\x0e\xfb\x1a\x46\x69\xa1\xec\x5d\xcb\x3b\x99\x4c\xf2\xc5\x2f\x7e\
+\xb1\xf4\x7f\x4d\x4d\x4d\x28\xe1\x58\xb0\x60\x01\x0b\x16\x2c\x00\
+\x60\xe1\xc2\x85\xfb\x7e\x56\xec\xfb\xac\x44\x22\xc1\x59\x67\x9d\
+\xd5\xef\xfd\x85\x10\x7d\xe3\x0c\x7d\xd0\x29\x84\x20\x62\xdb\x25\
+\xb7\x50\x08\x51\x28\x47\xe1\xee\xf1\xfb\xf7\xba\xd5\x99\x67\x9e\
+\x09\x05\x2c\xa8\xb2\xb2\x92\xba\xba\xba\x5e\x63\xe8\xcb\xc2\x49\
+\x26\x93\xdc\x78\xe3\x8d\xfd\xce\x8f\xec\xe7\x50\x71\x71\x51\x1c\
+\x7a\xe8\xa1\x65\x2f\xb4\xbe\x16\x4b\x2c\x16\x23\x9b\xcd\x06\x3b\
+\xa5\x65\xa1\x7c\x1f\xbf\x80\x05\x68\x7a\x2b\x1e\xc3\x30\xa8\xac\
+\xac\xa4\xb2\xb2\x92\x71\xe3\xc6\xf5\x39\xdf\xfd\xd5\x74\xbf\xec\
+\xb2\xcb\x7a\xfd\xdf\x53\x41\xed\xfd\xbd\x9e\xd6\x08\xc0\xe2\xc5\
+\x8b\xfb\xe5\x59\x90\xfd\xdf\xbf\x91\x51\xe4\xab\x61\x48\x2c\x2b\
+\xc8\xed\x29\x46\x3c\x6d\xdb\x0e\x82\x0a\x21\xe6\x31\x99\x4c\xf2\
+\xd9\xcf\x7e\xb6\xf4\xff\xb9\xe7\x9e\x3b\xa8\x3c\x0d\xf4\x7a\x90\
+\x61\x1f\x5c\x53\xa6\x4c\xe1\xfa\xeb\xaf\x1f\x31\x05\x25\xa5\x24\
+\x1a\x0d\x70\x41\xab\x60\xa1\xa2\x35\x5e\x0f\xbc\x6f\xef\xf1\x8d\
+\x1f\x3f\x1e\x80\x8b\x2f\xbe\x38\x14\x4d\xc5\xbf\x8b\x90\xc2\x40\
+\x0a\xaa\xe7\xf7\x1a\x1a\x1a\x4a\x2e\x7d\x32\x99\x24\x99\x4c\xee\
+\xcb\x53\x86\x60\x49\x59\x96\xc5\xb2\xe5\xaf\x62\x1a\x06\x73\xe7\
+\xce\xe1\xc9\xa7\x96\x32\x73\xe6\x0c\x9a\x9b\xb7\xb3\xe0\xa0\xf9\
+\x18\x52\x06\x19\xc7\x42\x86\xb6\x48\x5d\xc7\xc5\x71\x1c\x94\x52\
+\x74\x74\x74\x84\xfa\x5e\x2c\x1a\x23\x9d\x4a\xe3\xba\x2e\xed\xed\
+\xed\x44\x22\x91\x50\xa7\xdd\xb5\xd2\xe4\xf2\xb9\x41\x5d\xbe\x20\
+\x43\x3c\xcf\xab\x2b\x56\x52\x37\xa6\x16\x84\x20\x9b\xc9\xd2\xd6\
+\xd1\xce\x94\xa6\x26\xea\xea\xea\xd0\x1a\x32\x99\x2c\xdd\xdd\xdd\
+\x41\xe2\xe9\x60\x2e\x93\x34\x02\xfa\x0a\xca\xd4\x30\x64\xa8\x38\
+\xa2\x56\x8a\x74\x2a\x4d\x2e\x97\xc3\x71\x1c\x52\xe9\x54\x38\x50\
+\xdf\xb4\x4a\x05\xd9\x06\xc3\x12\xd3\xe9\x34\xff\x78\xfc\x9f\x1c\
+\x73\xf4\x51\x74\x75\x75\xb1\x65\xeb\x36\xaa\xab\xab\x48\xc4\x13\
+\xcc\x9c\x39\x03\xd3\x34\xe9\xec\xec\x0a\xce\x7b\x86\x18\xb5\x20\
+\xb0\x10\x52\xa9\x14\x99\x4c\x26\x98\xf3\x30\x56\x4a\x55\x35\xf9\
+\x7c\x9e\x54\x2a\x45\x7b\x7b\x7b\xe8\x0a\x06\x22\x00\xef\x06\xad\
+\x12\x21\x85\xa0\xad\xad\x9d\xb5\xeb\xd6\x33\x73\xe6\x0c\x76\xee\
+\xd8\x41\x6d\xed\x18\x56\xaf\x79\x8d\x85\x87\x1d\x42\x22\x91\x40\
+\x6b\x45\x67\x67\x27\xe9\x74\x9a\xbc\x33\xbc\xdc\xb9\x44\x3c\x41\
+\x2e\x97\x25\x93\xc9\x8c\xc8\xfd\x82\x80\x50\x90\x9d\x2b\x07\xb1\
+\x8e\x8a\x56\xda\xdf\xff\xf1\x4f\x4e\x79\xe7\x89\xac\xdf\xb8\xb1\
+\xa4\x98\xc7\x8d\x1d\x47\x22\x1e\xc7\x75\xdc\x20\x1a\x18\x32\x17\
+\xd2\x90\x06\xe9\x74\x9a\x4c\x26\x43\xde\x09\xea\xb6\x87\xb9\x62\
+\x91\x28\xd9\x5c\x96\xb6\xf6\xb6\x50\x67\xf7\x04\xe0\xba\x5e\x80\
+\x2d\x27\xfb\x2e\x00\xd9\xaf\xad\x59\x91\xac\xe5\x27\x3f\xfd\x19\
+\x6b\xdf\x58\xc7\xd3\x4f\x3c\xce\x6b\xaf\xbf\xce\xc4\x89\x13\xd8\
+\xb2\x65\x0b\x87\x1e\xbc\x80\xaa\xaa\x6a\x52\xd9\x2c\x6d\xf9\x6c\
+\xe8\x89\xf7\x3c\x9f\xa6\xc6\x06\xda\x5b\x5b\x68\x6b\x6b\x0f\x05\
+\x19\x99\xa6\xc5\x94\x49\x0d\x6c\xdf\xb1\x83\xb6\xdd\x2d\xd8\xb6\
+\x15\x3a\xa2\x59\x9b\xac\x1a\x38\xeb\xbd\x00\xa0\x6e\xde\xb2\x85\
+\x1b\xbe\xf0\x45\x3e\x73\xed\xa7\x98\x30\x61\x1c\xbb\x76\xed\x66\
+\xd3\xe6\xcd\xd4\x26\x93\xd4\xd5\xd5\x21\x04\xd4\xd6\x54\xd1\xb2\
+\xa3\x39\x54\xc6\xb5\x94\x92\x6c\x3a\x38\x48\xda\xb6\xbb\x05\x19\
+\x52\x30\xb4\x86\x49\x8d\x13\x78\x63\xed\x6b\xec\xde\xb9\x9d\x4c\
+\x36\x64\x39\x0e\x21\x19\x37\xb6\xbe\x70\x04\x63\x20\x65\x66\xf2\
+\xcf\x7f\x3f\xc1\xa6\x4d\x9b\xa9\xaf\xab\x23\x9e\x48\xf0\xc6\xda\
+\xb5\x34\x4c\x9c\x48\xdd\x98\x31\xb8\xae\xcb\xc2\x85\x87\x91\xcb\
+\xa4\x70\xf3\xe1\x4b\x81\x64\xb3\x39\x84\xf6\x69\xdb\xb5\x33\xb4\
+\x92\xca\xa7\x53\x4c\x69\x9a\x84\x9b\xcf\xd0\xba\x6b\x27\xe5\x14\
+\x71\x8b\xd8\x36\x55\x95\x15\xfd\x46\xb7\xb4\xd6\x48\xc3\xa0\xad\
+\xbd\x9d\x27\x9f\x7c\x8a\x69\x53\xa7\xf0\xf4\x33\xcf\xf1\xc7\x07\
+\xfe\x1f\x27\x9f\x74\x22\xcb\x96\x2f\xe3\xd3\x9f\xfa\x24\xb1\x68\
+\x94\x86\x09\xe3\x68\xd9\xb1\x6d\x58\xc7\x73\x00\xb2\xb1\x38\x75\
+\xb5\x35\x24\x62\x11\x76\xb7\xec\xc0\x75\x9d\x61\x5b\x48\xbe\xaf\
+\xa8\x1f\x53\x13\x6a\xa3\x4d\xa7\xd3\x3c\xf8\xd0\x43\xbc\xeb\xb4\
+\x53\xb8\xea\xea\x6b\x98\x31\x63\x3a\x3b\x5b\x76\xf1\xf1\x8f\x5d\
+\xc3\x29\x27\x9d\xc8\x11\x47\x2c\xa4\xb3\xbd\x35\xd4\xe9\x88\xa2\
+\x05\xad\x3c\x87\x8a\x78\x94\xdd\x3b\xb7\x93\xcd\x86\x5b\xe7\x91\
+\x48\x84\xca\x78\x8c\xf6\xdd\x2d\xfd\x7a\x06\xfb\x44\x46\x95\xc2\
+\x34\xfa\x3f\x68\xde\xaf\x54\x7b\xb9\x0c\x4b\x8e\x39\x86\xf9\x07\
+\x1e\x48\x3e\x9f\x67\xd2\xa4\x49\x44\xa3\x51\xc6\x8d\x1b\x8b\xe7\
+\xfb\x44\x63\x51\x22\xd1\x48\x59\xc2\xe5\xfb\x8a\x39\xb3\x66\x50\
+\x55\x11\x47\x68\x15\x4a\x49\x69\x0d\x87\x1c\x7c\x10\xd1\x35\x36\
+\x63\x6a\xaa\x43\x2b\x29\x00\x39\xa6\x66\xd0\x6e\x2c\x5a\x6b\x92\
+\xc9\x24\x67\x9d\x71\x1a\xe3\xc7\x8d\x25\x11\x4f\xa0\xc6\x04\x47\
+\x22\xe2\x89\x44\x89\x61\xd3\xa7\x4d\x45\xf7\x55\xc8\xaf\x4f\xa1\
+\x91\x88\x82\x32\xab\xaa\xaa\x0a\xad\xa4\x40\x90\xac\x9a\xc7\xea\
+\xd5\xab\xa8\x4d\x56\x11\x8b\x86\x57\xc8\x46\x21\x24\x3f\x10\x4e\
+\xe4\x2b\xc5\xf4\xa9\x53\x11\x40\x5d\x7d\x1d\x42\x08\x1a\x1b\x1a\
+\xa9\xad\xad\xa1\xb2\xaa\x12\xc7\x71\x98\x3d\x6b\x56\x99\x55\x2e\
+\x05\xb9\x58\x8e\xf1\xe3\xc6\x52\x93\xac\xc2\xc9\x47\x42\xcd\x51\
+\x34\x12\x65\xee\x9c\x59\x8c\xa9\x49\x12\x89\x94\x27\x47\xc5\xbc\
+\x9f\xc1\xdc\xf8\x8a\x44\x05\xf3\xe7\xcf\x63\xcd\x6b\xaf\x33\x6e\
+\xdc\x58\xde\x7b\xfe\x7b\xa8\xa9\xad\xa1\x26\x59\x83\xe7\x79\x54\
+\x54\x24\x58\x78\xe8\x82\x20\x05\x62\x98\x99\xea\x91\x68\x84\x69\
+\x53\x27\x53\x93\xac\xa1\x36\x59\x59\x82\x44\x86\xe7\xc6\x85\x73\
+\xeb\x8b\x25\xba\x0f\x39\xe4\x60\xd6\xaf\x5b\xcf\xc5\x17\x5d\x58\
+\xea\x58\xd4\xd8\x30\x91\x4c\x36\xcb\xe2\x63\x8e\x2a\x2b\xa9\x57\
+\x4a\x83\x7c\x2e\x4b\x63\x63\x03\x35\xd5\x55\xc4\xa3\x76\xa8\x79\
+\xb0\x6c\x9b\x49\x0d\x13\x19\x53\x93\x2c\x4b\xee\x07\xc2\xd2\xfa\
+\x55\x52\xa9\x54\x8a\xd3\x4f\x7b\x17\xb6\x6d\x93\xcd\xe5\x98\x33\
+\x7b\x16\x15\x89\x04\x4d\x4d\x4d\xa5\x7a\xcf\xfb\x54\x17\x18\x74\
+\xf1\x6a\x54\xc1\x7f\xee\x0f\xc7\xe8\x2b\x6c\x5b\xcc\x69\x0a\xbe\
+\x23\xcb\x91\x9d\x41\x77\x20\xa5\x14\xf5\x75\x75\xfc\xd7\xa5\x97\
+\x94\x6a\x5a\x57\x54\x56\x50\x5b\x53\x43\x65\x65\x45\x2f\x89\x09\
+\x5b\x88\x6e\x1f\x6c\xac\x8c\x31\x2b\x5f\xf7\x38\xd5\x1f\xf6\x79\
+\xe1\x00\x71\xcf\xf3\x98\x3b\x77\x36\xf1\x78\x9c\x09\xe3\xc7\x93\
+\xcd\x66\x99\x35\x73\x3a\xb6\x1d\xc1\xb2\xcc\x92\x65\x52\x3e\x5f\
+\x7b\xe0\x4a\x61\xf9\x2a\x65\xa9\x96\x76\xb9\xcf\x0b\x13\x00\x08\
+\x36\x9f\x6a\x0e\x39\xf8\x60\x3c\xcf\xc3\x34\x4d\x26\x4e\x1c\xcf\
+\xfa\x0d\x1b\x99\x3a\x79\x32\xb9\x02\x68\xac\xcb\xe0\xeb\x40\x3e\
+\x4b\xf1\x5e\xba\xb8\x49\x89\xe1\x1f\x59\x29\x07\x76\x8c\xc7\xe3\
+\x9c\xf0\x8e\xe3\xa9\x49\x26\xb9\xec\xfd\xef\x23\x93\xcd\x60\x99\
+\x56\x21\x9f\x31\xd8\xa8\xcb\xa1\xb3\x88\x13\x95\xb3\xee\x8a\x78\
+\xe6\x50\xd6\xea\x40\xa0\xff\x80\xc0\x79\x3c\x1e\x2f\x31\x7c\xfc\
+\xd8\xb1\xe8\x82\x39\x37\xec\x9e\x62\x6f\xe2\xc9\x9b\xb0\xe3\xdc\
+\x27\xbf\xa8\xaa\x37\xd8\xfc\x66\x5f\x7a\x88\xcf\x1e\xec\xf3\x4a\
+\x69\x9a\x9a\x26\x15\x2a\x49\xc6\x88\xf5\x68\xa7\x35\xe4\x88\xe1\
+\x90\x22\x51\x7a\x58\xa2\x30\x58\x14\xab\x18\xf8\xa9\xad\xb5\x7b\
+\xb9\xa5\x0d\x13\x27\x96\x14\xd4\x88\xf1\xaa\x8f\x71\xbc\x99\x72\
+\x53\xec\x8d\xd8\x30\x71\x22\x5a\x6b\x3c\xcf\xc3\x2e\x94\xc8\x2e\
+\x2a\xa8\x72\xc6\xb3\x87\x1e\xfd\x96\xd0\xb3\x8f\x55\x17\xd6\x1a\
+\xd0\x43\x58\xf8\x6f\x87\x4b\x84\xf0\xf7\xff\xd3\x68\x1d\x6e\x68\
+\xfe\xed\xca\xd7\x37\xa3\xeb\xee\xfe\xc6\xd7\x91\xce\xa3\xdb\xaf\
+\x94\xd4\xde\xf9\x11\x7b\xbf\x37\xac\x83\xc8\x62\x64\x15\xc9\x48\
+\xef\x82\x23\x41\x6b\xb1\x80\x57\xd9\x43\x1f\x45\x59\x0a\x43\xeb\
+\x9b\xc0\xce\x37\xcd\xba\x18\x0d\x5a\xf7\x47\xe5\x3e\xd2\xb4\x8e\
+\x64\x22\xe9\x48\x5c\xe6\x40\x03\x2d\xe6\x93\x44\x22\x11\x9c\xbc\
+\x83\x69\x99\xa5\x9c\x0c\x00\xc7\xf5\xcb\xaa\x53\xe4\x2b\x1f\xcf\
+\xf5\x71\x1c\x1f\xd7\x09\x0f\x56\xca\xbd\xce\x07\x8d\xf4\x2e\x14\
+\xf4\x16\x73\x30\x4d\x03\x43\x1a\x78\xca\x47\x16\x7a\xe5\xc9\x02\
+\x76\xe2\xba\x5e\x68\xa6\x49\x21\x71\x1c\x0f\x84\xc0\x71\x7c\x84\
+\x50\x21\x17\xbb\xc0\x71\x47\xaf\xed\x7a\xd0\x6d\x59\x91\xcb\x65\
+\x89\xc5\x62\x25\xd7\xc0\xb4\xac\xa0\x23\x8c\x14\x78\x9e\x87\x2a\
+\xb3\x13\x96\xe3\x78\xa1\xce\x07\xbe\xd9\x97\xe7\x79\xa5\xd6\x4b\
+\x5a\x69\x22\xd1\x48\x50\xf1\xc3\x71\x88\xc7\x62\x05\xbe\xaa\x11\
+\x39\x98\x20\x84\x81\xeb\xaa\xb7\xa4\x8a\x48\xb1\x8b\x76\x36\x97\
+\x23\x1a\x89\x94\x0a\xe2\xe5\x72\x39\xa2\xd1\x68\xa9\xa1\x89\xd6\
+\xe1\x09\x35\xa4\x81\xeb\xf9\x43\xa2\xc7\xf7\x15\x8e\xe3\x23\x0b\
+\x18\xaa\x68\x00\x00\x20\x00\x49\x44\x41\x54\xa5\x2a\x83\x06\xfa\
+\x8d\x4e\x9b\x7d\xe3\x16\x8a\xda\xb1\x13\x39\xf3\xcc\xd3\x79\x7a\
+\xe9\xd3\xec\x6e\xd9\xce\xf7\x6e\xfd\x3e\xf3\xe7\xcf\xe7\xb5\xd7\
+\x5f\xe7\x43\x97\x7f\x80\x8e\x8e\x56\x1e\x7e\x6c\x1d\xbb\xdb\xc3\
+\x9f\x3a\x57\xbe\xcf\x53\x4f\x3e\x8b\xb2\x0e\x24\x93\x4e\x87\x3e\
+\x99\xef\xe4\xdb\x99\x37\xa7\x8a\xe9\x23\xbc\x78\xb5\xd6\x98\x86\
+\xc1\xf2\x57\x57\xf0\x5f\x1f\xb8\x82\x1f\x7c\xef\x16\x0e\x3d\xe4\
+\x60\xbe\x75\xf3\x2d\x98\x96\xc5\x7b\xce\x79\x37\xf3\xe7\xcd\xc3\
+\x71\x3c\x7e\x7f\xdf\x52\x14\xd5\x08\x11\x22\x77\x48\x48\xba\xbb\
+\x5a\x0b\x07\x86\x93\x65\x29\x1d\xe5\x75\x90\xac\x1c\x9d\xf6\xdc\
+\x91\x48\x84\x9f\xfe\xfc\x0e\xea\xea\xc6\x50\x5b\x53\x43\x32\x59\
+\xcd\xe5\x1f\xbc\x9a\xaf\xdd\xf4\x65\xaa\x2a\x2b\x79\xc7\x71\x8b\
+\xf9\xc7\xe3\xff\x66\xe5\x1b\x0a\x8d\x51\x86\x92\xca\xa3\xbd\xed\
+\x9c\x70\xfc\x62\xf2\x6f\x55\xad\xae\xbd\xf8\x6a\x18\x06\x5b\xb6\
+\x6c\xe5\x1f\xff\xfc\x17\x07\xcd\x9f\xc7\xcf\x7e\xf1\x4b\x3e\xf5\
+\xf1\x8f\x12\x8d\xc7\xb8\xed\xb6\x9f\xf0\xc3\x5b\xbf\xcb\xe6\xad\
+\x3b\xb9\xeb\x9e\x67\x48\x56\x8f\x45\x33\x3c\x25\x6b\x9a\x36\xcb\
+\x5e\x59\xc1\x39\x67\x2c\x2c\x23\xaa\x35\x72\x4a\xaa\xbd\xa3\x83\
+\xdb\x7e\x7c\x3b\x1f\xbc\xfc\x32\xae\xfa\xc8\xc7\xb9\xe5\xdb\xdf\
+\xe0\x8a\x2b\xaf\xe6\x8b\xff\x7d\x23\xe7\x9f\x7b\x36\x77\xfe\xee\
+\x61\xda\x3a\x63\x65\xdc\x53\x92\x4e\xb5\x50\x1d\x4f\x95\x45\x8f\
+\x65\x19\x3c\xf1\xf4\x1b\x2c\x5b\xad\x42\xe7\x64\x29\xa5\xa9\xab\
+\xb5\x78\xcf\x59\x07\xe3\x38\x2a\x9c\x92\x12\x42\x80\x97\xe5\xa4\
+\x77\xbc\x83\xba\xda\x31\x38\xf9\x3c\x0b\x0e\x3a\x88\xaa\xaa\x2a\
+\x1a\x1b\x1a\x02\xad\x9d\xe9\xa6\x6e\xfc\xe1\x54\x8e\xa9\x0a\xad\
+\xa4\x7c\x1f\x5e\x7d\xf5\x59\xa6\xcf\x3e\x8e\xee\xae\x90\xae\x90\
+\x80\x7c\x66\x27\xb6\xbd\x92\xd1\x40\xdc\x55\xe1\x60\xed\xbb\xcf\
+\x3a\x93\xa9\x53\xa6\x50\x51\x51\xc1\xa1\x87\x1c\x8c\xeb\x79\x54\
+\x56\x16\xf2\xac\x84\x89\x1d\x9f\x4d\xe3\xa4\x43\x08\x63\x30\x08\
+\x09\x6d\xad\xbb\x10\x40\x75\xb2\xbe\xac\x9d\x3a\x9f\xd9\x48\xe7\
+\xae\x7b\x47\x45\x98\x95\x52\x34\x36\x4c\xe4\xa8\x23\x8f\x64\xf3\
+\x96\xcd\xd4\xd6\xd6\x72\xf2\xc9\x27\x31\x66\x4c\x2d\x89\x78\x1c\
+\x21\x05\xcd\xdb\x9b\x69\x98\x7c\x29\x96\x15\x5e\xa0\xb3\x59\x87\
+\x1d\x5b\x1f\x46\x6b\x9f\xfd\xe1\x2a\x5a\xc7\xb5\xb5\xb5\x1c\x73\
+\xf4\x91\x4c\x9b\x3a\x95\x53\x4f\x79\x27\xc9\x64\x12\x3b\x62\x73\
+\xca\xc9\xef\xc4\xf5\x1c\x6c\x3b\xc1\xf4\x99\xa7\x52\x59\x5d\x3f\
+\x6c\xd1\xb2\x6c\xd8\xb9\x3b\x57\x6a\x56\xfa\x66\x2b\xe5\x8a\x44\
+\x82\x73\xce\x3e\x8b\xba\xba\x3a\x8e\x3a\xf2\x08\x1a\x1a\x26\xf2\
+\xa1\x2b\x3e\xc0\x8c\xe9\xd3\x70\x9c\x1c\x63\xc7\xcd\xa4\xba\xfe\
+\xa0\xf0\x38\x90\x84\x96\x96\xd5\xb4\x6c\xba\xb3\xcc\x28\x9d\x22\
+\x96\x98\xc6\x94\x19\xa7\x87\x6e\x83\xa8\x34\x54\xc4\x52\x28\xd5\
+\x15\xde\x92\x0a\x4e\xf9\xb7\xf1\xd1\x6b\x3e\x8c\x11\xb1\x69\x6b\
+\xd9\xc5\x51\x47\x1e\x81\xef\xfb\xcc\x3b\xf0\x80\xa0\x64\x89\x10\
+\x28\x15\x9c\xa2\x0e\x6b\x29\x28\xdf\x05\xad\xf0\x15\x28\x15\x1e\
+\xaf\x51\xca\x2d\x60\x43\x43\xf3\xaf\x07\x02\x8a\x95\x52\xcc\x98\
+\x3e\x95\xef\xdf\xfa\x5d\x52\x5d\x9d\xb8\xae\xc7\xa5\x97\x5c\x1c\
+\x98\xcb\xf9\xfc\x9e\x7c\x17\xe5\xe0\x79\x0a\xad\xbc\x10\x4a\x4a\
+\xa2\xfc\x34\x20\xf0\xbc\x5c\xe9\x10\x6b\x38\x5a\xf3\xbd\xdc\xca\
+\x72\xe8\x1d\x8c\x0f\x8e\xe3\x70\xc6\xe9\xa7\x92\xcb\xe5\x99\x3f\
+\x6f\x1e\xbe\xef\xf3\xfd\x5b\x6f\x21\x93\x4a\x97\x5c\x5a\x29\x0d\
+\x7c\x2f\x8b\x14\xe1\x2d\x29\xdf\x4f\x83\x76\x87\xb8\xc2\x86\x8b\
+\x9b\xf4\xbf\x70\x2b\x2b\x2b\xa8\xa9\x99\x8b\xeb\xba\x5c\x54\xe8\
+\xe8\x82\xd6\x9c\x7e\xda\xa9\x64\xb3\x99\x42\xca\x89\x83\xf2\x87\
+\xab\x24\xc0\xf0\x29\xc8\x86\x35\xa2\xb8\x57\x39\x79\x52\x0b\x0f\
+\x0b\xda\x50\xdd\xfc\xed\x6f\xd0\xd9\xd1\xc1\xc7\xae\xf9\x08\x99\
+\x6c\x16\xd7\xf3\x50\xca\xc5\xf7\x9c\x50\x85\x44\x35\x41\x9e\x94\
+\xf2\xbd\x00\xda\xd1\xe5\xce\x87\x8b\xef\x65\xd1\xd2\x08\xa9\xa4\
+\x34\xca\xcf\xf6\x3b\x2e\x73\x20\x73\xb9\xab\xab\xab\xa0\x55\x65\
+\x09\x9f\x72\xdd\x62\xd7\x16\x8d\x10\x66\x79\xc8\xb0\x30\x40\x48\
+\x94\x1f\x28\xa9\xb0\x98\x94\xc6\x20\x1a\xb5\xa9\x88\x47\x30\xcb\
+\xe8\x3e\xec\x2b\x45\x36\x9b\xef\x55\x4f\x6a\x6f\x3a\x85\x10\xb8\
+\xae\x47\x7b\x6b\x6b\x49\x28\xf6\xb4\xb2\xa6\x47\x5d\x23\x0f\xad\
+\xf2\xa8\x10\x4a\x4a\x22\xd1\xda\x01\x64\xf0\x9d\x72\x72\xbb\xb4\
+\x47\x34\x1a\x21\x1a\x8f\x20\x45\xb8\x49\x0a\x0a\xe0\x7b\x78\xbd\
+\xf2\xd7\xfa\x16\xf8\x4c\x26\x5b\x52\x58\x00\xed\xad\x6d\xa5\xf7\
+\x4b\x89\xb2\xda\x2b\x28\xcb\x90\x63\x56\xf9\x5e\x65\x72\xc2\x2a\
+\x27\x21\x04\x89\x78\x84\x68\x34\x52\x06\xb4\xa9\xf1\x7c\x45\x2e\
+\xe7\xf6\xdf\x60\xb8\x30\x07\x4a\xa9\x52\x95\x81\x54\x6a\xcf\xb1\
+\x8e\xa0\x19\xc4\x68\xb8\x64\x82\x68\xc4\x26\x11\x8f\x60\x99\x72\
+\xd8\xc0\xb3\x94\x90\x4a\xe7\x07\x9d\x9b\x22\xbf\x8b\x75\xcf\xdb\
+\xdb\x02\x9e\x76\x16\xd6\xaf\x6d\x1b\x80\x42\x6b\x17\xad\x55\xb8\
+\x23\x5a\x98\x43\xb4\x2e\x05\xe0\xa1\x95\x83\x0a\x59\x64\x25\x30\
+\x40\x8a\x98\x6f\x19\x19\xe7\xfd\x59\x21\xa5\x05\x20\x2c\x3c\x67\
+\x2b\x6e\xce\x2a\x43\x69\xf8\x78\x5e\x17\x0d\xe3\x1c\xda\xac\xd6\
+\x50\xbb\x84\x69\x58\x34\x37\x6f\xe2\xd9\xe7\xd7\xb0\xb5\x39\x8b\
+\x69\x5a\xa1\xe6\x4e\x00\x95\x15\x82\xc5\x47\x1f\x80\xe7\xa9\x50\
+\xd6\x56\x5f\x87\x29\x8b\x80\xb6\x94\x36\xd2\x88\x81\x18\x7c\xdb\
+\x95\x42\x22\x44\xb4\x50\x9c\x2d\x5e\x5e\x32\xa7\x36\x78\x72\xe9\
+\x6a\xaa\x6a\x5e\x21\x9f\xcf\x0d\x2a\xe7\x02\x70\x3d\xc5\x81\x73\
+\x6a\x69\x6a\x1c\x37\xe8\x51\x84\xbe\xe6\x7c\x1f\x05\x2e\x6d\xa4\
+\x11\x2f\x63\x31\x29\x84\x30\xca\x72\xc7\x85\x94\xa4\xd2\xdd\xfc\
+\xf9\xe1\x57\x31\x0b\x5d\x56\xc2\x2e\x81\x71\x63\x2b\x39\xec\xe0\
+\x26\x5c\xd7\x0f\x6d\x45\xef\xfd\xf7\xc8\xbb\x98\xa0\xfc\x0c\x4f\
+\x3e\xd3\xcc\xee\xf6\xa0\x53\xcc\x70\x74\x94\x00\xd2\x59\x97\x33\
+\x4e\x3e\x10\xcb\x32\x42\x29\xf1\x12\x5d\xbd\xaa\x40\x14\x17\xbe\
+\x81\x90\x91\x41\x0f\xdd\xef\xe1\xa9\x44\x88\xa1\x20\x2c\x1a\x21\
+\x2c\x84\x11\x43\x86\xb4\xa4\x82\xb5\xe7\x02\xf9\xf2\xdc\x3d\xa5\
+\x14\xb6\x6d\xe3\xfb\x1e\xbe\xaf\x88\xc7\xe3\xc1\xa1\x45\xc3\xc0\
+\x71\x5d\xd0\x3e\x86\x39\x16\x33\x92\x0c\xcd\x0b\xe1\xbb\x38\x8e\
+\xe4\xa0\x03\x6d\xf2\x4e\x7d\xa8\xef\xd9\xb6\xc9\x9f\xfe\xf4\x2f\
+\x72\x6e\x1d\x58\x47\xa0\x4d\x2b\x34\xe1\xad\x1d\xab\x91\x62\xe0\
+\xbc\xa0\xe2\x7b\xa6\x69\x96\x14\x95\x94\x12\xc3\x90\x7b\xb5\x5c\
+\x92\x85\xcc\xe2\x10\x13\x2f\x01\x11\xb4\x32\x12\xc2\x2c\x73\x51\
+\x98\x28\xd9\x88\xb6\x8e\x02\x9d\x09\x21\x12\x20\x0d\x93\xd6\xb6\
+\x97\x69\x98\xe0\x21\xa5\x3d\xe0\x9c\x40\x70\xe8\x39\x9d\x4e\x63\
+\x9a\x26\xa6\x19\x64\x9a\x17\x4f\x11\x04\xf3\x62\x84\xa3\xb3\xa4\
+\x70\x2c\xca\x2d\x4d\x26\xa5\xa4\xad\x75\x07\x63\x9b\x66\x83\x55\
+\x57\xde\x32\x30\x5c\x04\xe9\x7e\x2d\x95\x22\x5f\xa5\x94\x41\x64\
+\xda\x09\x22\xb7\x8e\xe3\x12\x8f\xc7\x49\xa7\xd3\x41\x65\xd8\x91\
+\x35\xa2\x70\x9c\x6e\xbc\xe8\x04\xb0\x8f\x04\xe9\x0e\xff\x96\xbe\
+\x40\x8b\xce\x41\x35\x45\x4f\x5a\x33\x99\x0c\x46\xa1\xa8\x5e\xb1\
+\x9c\x11\xba\x98\xd5\x5f\x46\x26\xbc\x00\xc4\x9e\xfe\x8d\xe5\x4e\
+\x46\x39\x32\xa4\xb5\x0a\x80\xdc\x72\xdd\xbd\x58\x2c\xc6\xbd\xf7\
+\xdd\xcf\x09\xc7\x1f\x4f\x75\x75\x15\x57\x5f\xf3\x31\xae\xfc\xe0\
+\x15\xfc\xed\xd1\xc7\xf8\xef\x1b\x6f\xa0\xab\x73\x17\x08\x33\xd0\
+\x9a\x21\x17\xa1\x28\x60\x51\x00\x11\x3b\x7c\x1d\x1d\xad\x5d\x84\
+\x8c\x63\x5a\x31\x4c\xd3\x0e\x4d\xb8\x97\x37\x0b\x9a\x7d\x60\x5c\
+\xca\xf3\x3c\x96\x3e\xfd\x0c\xf1\x78\x9c\x5d\xbb\x76\xd1\xd2\xd2\
+\xc2\xcb\xaf\x2c\xe3\xbd\x17\x9c\xcf\x11\x87\x2f\x42\xa3\xf0\xdc\
+\xdd\xb8\xb9\x6d\xa1\xc0\x61\x21\x24\xbe\xb3\x1d\x81\xc0\xcd\xe7\
+\xcb\xb0\xa4\x34\xca\x6b\xc3\x30\x62\x58\x16\x68\x1d\xce\x9a\x51\
+\x3a\x9c\x24\x09\x21\x30\x4d\x83\xe3\x4f\x3c\x99\x7f\x3c\xfa\x30\
+\xff\xf8\xc7\xe3\x3c\xf0\xe7\x07\x39\xf0\x80\x39\x4c\x9e\x3c\x99\
+\x77\x9f\x75\x3a\x52\x4a\x52\x5d\x9b\x31\xcd\xf0\xc0\x79\x2e\x97\
+\xc1\x75\xba\x42\xef\xd2\x3d\x79\x64\x9a\x51\x4c\x2b\x5e\xce\xb7\
+\x30\x0c\x81\xd6\xa9\x01\x69\x36\x4d\x83\x15\x2b\x57\xf3\xc7\x3f\
+\xfd\x89\x4b\x2e\xbe\x88\x27\x9e\x7c\x8a\x0f\x5d\x71\x39\xe7\x9c\
+\x77\x01\x0f\x3d\xf4\x17\x3a\x5a\x77\x17\x16\xe2\xf0\x1b\x72\x88\
+\x62\x29\x7b\xad\x31\x0c\xab\x50\x2a\xc5\x1a\xf6\x7d\x4d\x1f\x04\
+\x5d\x83\x2a\x29\x29\x25\xdb\xb6\x35\x73\xd3\x37\xbe\xc9\x6f\xee\
+\xfc\x15\xeb\x37\x6c\xe0\xb5\xd7\x5f\x67\xc2\xf8\xf1\xcc\x98\x3e\
+\x3d\x58\x78\x65\x62\x6c\xfb\x53\xee\x5b\xbf\x9a\x22\x56\x91\x60\
+\xfb\xf6\x1d\x34\x4e\x9d\x81\xf6\xf3\x7c\xe3\xa6\xaf\x62\xdb\x16\
+\xd3\xa7\x4f\x0d\x5d\xb6\xa1\xaf\x45\x52\x91\x88\x73\xcf\x1f\x77\
+\x90\x4e\xb5\x87\x04\x05\x05\xb6\x35\x9d\x44\x45\x6e\xc4\xa3\x26\
+\x45\xec\x6d\xc3\xc6\x8d\xdc\xf6\xe3\xdb\xf9\xcc\x75\xd7\x72\xfa\
+\x69\xa7\x92\x4e\xa7\x79\xcf\x7b\xce\x0d\x9a\x3d\x96\x9e\xe9\xa1\
+\xb5\x13\x32\x82\x25\x03\xff\x1f\x4a\xd8\x54\xd8\x05\xa8\x71\xd1\
+\x3a\x28\xb1\xea\x7b\xe9\x90\x4a\xca\x42\x33\xf8\xb8\x6c\xdb\xe6\
+\xf7\x77\xdf\xc3\x3f\x1e\x7d\x98\x3f\xff\xe5\x21\xde\x79\xd2\x09\
+\x1c\x7a\xe8\x21\x81\x69\x2f\x25\x9e\xa7\x68\x6d\xdd\xcd\xfb\x3f\
+\x30\x91\xea\x64\x4d\xe8\x79\xcc\x64\x52\xfc\xed\x91\xd5\x0c\xad\
+\x90\x80\x2e\x6f\xf1\x88\x70\x7c\xf5\x7d\xc5\xd4\x29\x93\x79\xef\
+\x05\xe7\x33\x69\x52\x23\x93\x9b\x9a\x48\x54\x8f\x61\xd3\xba\xd7\
+\x38\xed\xb4\x33\x79\xe0\xfe\x7b\xe8\xec\x6a\xc3\xcd\x6d\xc2\xb1\
+\x3a\x87\xd5\xf7\x51\x6b\x40\xc5\xf0\xdd\x36\x94\x9a\x80\xef\xe7\
+\xf1\xbd\xe1\x97\x6a\x51\x9e\x2c\x94\xb0\x19\xd8\xef\xd2\x3a\x68\
+\xed\x75\xe5\x15\x97\xb3\x65\xfb\x76\x66\xcd\x9d\xcf\xb9\xef\x3e\
+\x8b\x17\x5f\x7e\x85\x1b\x6f\xf8\x2c\x97\x5f\x76\x09\x6f\xe7\x26\
+\x50\xfd\x2a\x29\xe5\xba\xb4\xb6\xb5\xb2\x75\xe3\x5a\x52\x5d\x5d\
+\xbc\xff\xf2\x0f\x72\xc3\x67\x3f\xc3\x7d\x7f\xfa\x13\x3f\xbc\xf5\
+\xbb\x74\xb4\xef\x04\x1d\x00\x64\x61\x73\xc4\xb4\x72\xd1\x28\x92\
+\x63\xc6\x63\x5a\xe3\x43\xef\x52\x9e\xb3\x15\xf4\xa6\x51\x99\x00\
+\xad\x35\x63\xeb\xeb\x39\xf9\xe4\x93\x10\x42\xf0\xbb\xbb\xef\x61\
+\xfb\xf6\x1d\x2c\x7d\xfa\x19\xae\xbe\xf2\x83\x1c\x7f\xdc\x12\x04\
+\x12\xd3\x9a\x80\x1d\x9b\x8a\x0e\x99\x82\x60\x65\x82\x5a\xd1\x76\
+\x74\x42\x59\xb1\x05\xcf\x17\xf8\xee\x2e\xdc\xfc\x5a\xdc\x90\x65\
+\x70\x94\x96\x50\x31\x78\x69\x10\xcf\xf3\x38\x7e\xc9\x12\x0e\x5d\
+\x74\x24\xaf\xbc\xf8\x2c\x0f\xfc\xf9\x41\xee\xfa\xcd\xef\x38\xf4\
+\x90\x05\xcc\x9c\x31\x83\x8b\x2f\xbd\x18\x43\x1a\xe4\x1d\x2f\xe8\
+\xd7\x17\xf2\xca\x66\x5d\x9c\x32\x92\x73\x45\x01\xe7\x1b\xad\xab\
+\x68\x31\xbe\xfc\xca\x2b\x3c\xf1\xe4\x52\x3a\x3a\xda\xe9\xec\xea\
+\xa6\x79\xf3\x7a\x4e\x3c\xe5\x54\x5e\x7c\x66\x29\x99\x4c\x06\x30\
+\xb1\x22\xd3\x88\xc4\x26\x0c\x7b\x11\x47\x22\x20\xad\x7a\x94\xd7\
+\x8c\x97\x7f\x0d\xcf\x1b\x6e\xa9\x16\x81\xe7\x78\x08\xdd\x08\x83\
+\xe4\xac\x49\x29\xd9\xb4\x69\x13\xbf\xbf\xe7\x0f\x1c\xb7\x64\x09\
+\xcb\x5e\x78\x96\x17\x5e\x7a\x89\x0f\x5e\xf1\x01\x16\x2e\x3c\x34\
+\x28\xa5\x53\x4e\x7c\x4b\xbc\x0d\x94\x94\x10\x82\xf6\xf6\x0e\xbe\
+\xf9\xf5\x9b\xe8\xee\x4e\xe1\xba\x2e\x7f\x7b\xf4\x61\xd2\x9d\x9d\
+\x1c\x7f\xfc\x92\x42\xc1\x3a\x13\xcf\x69\xc6\xc9\xb7\x84\x16\x37\
+\xdf\xf7\xd0\x2a\x13\x34\x8a\x08\xbd\x2b\x32\x6a\x79\x27\x45\xec\
+\x2d\x99\x4c\xf2\xd1\x8f\x7c\x98\x7c\x3e\xcf\x51\x47\x1e\x81\x61\
+\x18\x98\xd1\x08\xd9\xee\x54\x8f\xe4\x44\xbf\x30\xee\x10\x1d\x3a\
+\xb4\x44\x6b\x1f\x21\x8a\xbf\xc3\xba\x14\x41\x07\x0d\xd3\x6e\x24\
+\x9a\x98\x1d\xc0\x5a\x61\x94\x14\x20\xc4\xf3\x21\xe6\xdf\xa7\xae\
+\xbe\x8e\x55\xab\xd7\xd0\xd6\xd2\xcc\x19\xa7\x9d\xca\xf9\x17\x9c\
+\x8f\xef\x38\xb8\xae\x43\x3e\x93\x21\x96\x48\xb0\x6c\x79\x07\x76\
+\x24\xfc\x22\xcb\x64\xd3\xec\x6e\x75\x83\xde\x40\x21\xa2\x7c\x5a\
+\x07\xdd\x62\x46\x33\x9f\xc8\x75\x3d\x8e\x5b\xb2\x84\x53\x4e\x3e\
+\x39\x08\x26\x48\x49\x67\x7b\x3b\xaf\xbe\xba\x82\xb6\x96\xed\x3d\
+\x30\x29\x35\x6c\x05\x55\xfc\x7e\x3e\x97\xa7\x7e\xea\x18\xe6\xcc\
+\x9e\x54\x8a\x9e\x0e\xe7\xf2\x3c\x90\x86\x0a\xc5\xd7\xb9\x73\xe7\
+\x70\xfb\x8f\x7f\x44\x2e\x97\xc3\xf3\x3c\x66\xcd\x9e\x55\x2a\xaf\
+\xbd\xe7\x68\x97\x0e\x25\xbf\x45\x19\x2e\xf2\xb1\xc8\xa7\xf0\xfc\
+\x0a\x9e\x13\x3e\xc3\x5d\x31\xd0\xee\x3f\x60\x0a\x42\x47\x47\xe7\
+\x1e\xa5\xb5\x6b\x17\x10\x84\xae\x83\xdc\x09\x0f\x2b\x3a\x8d\x88\
+\x51\x55\x86\x92\x52\x48\x59\xc5\xfe\x62\x79\xf6\x0c\x55\x77\x77\
+\x77\x97\xe8\x03\xa0\xf0\x7f\xb1\xed\x94\xd2\x41\xae\x49\x98\x14\
+\x84\xc0\xdd\xcb\x23\x44\x94\xa1\x79\xf7\x65\x2e\x1c\x1d\xce\x6d\
+\x2a\x1e\x9f\x68\xdf\xb5\xbd\x94\x56\xd2\xb3\x94\x6e\x22\x11\xc7\
+\xb6\x4c\x76\x77\x8e\xc7\xb4\x2a\x43\x3f\x3e\x9f\xcb\x92\xca\xae\
+\x63\xfd\x16\x49\x26\x6b\x86\xca\xc3\x49\xc4\x4d\x3a\xbb\x19\x15\
+\x37\xa4\xc8\xd7\x7c\x3e\xbf\x4f\x06\x7c\xfb\xae\x1d\x7b\x45\x40\
+\xe5\x60\xde\x54\x38\xcb\xa3\xd0\xf2\xaa\xa2\x22\x41\x6d\x6d\x0d\
+\xf9\xfc\xf0\x81\x73\xa5\x25\x42\xec\x1a\x74\x70\x41\x1a\x4d\x50\
+\xb9\x76\x8f\x92\x76\xf7\xd8\xad\x42\xd0\x33\x05\x21\x9c\x4c\x1a\
+\x68\x05\xd2\xd0\xd8\x96\xc4\xb3\x44\x28\x31\xb4\x2d\x81\x10\x2a\
+\x80\x2c\x54\x78\xe0\x7c\x74\x52\x10\xca\xc4\x13\xf6\xe7\x6b\xef\
+\x14\x84\x7d\x73\x8d\x8a\xd1\x0a\x2b\x54\x7e\x4d\x50\x4f\xc8\x1a\
+\xe2\x1c\x69\xb4\xca\xe0\xfb\x59\x7c\x37\x33\xb8\xb9\xa9\x35\x0a\
+\x13\xf0\x42\xd3\xba\xf7\xdf\xbd\x0f\x93\x83\x10\x8a\x72\x82\x5f\
+\xa6\xa1\xf1\x55\x8c\x95\x6b\xab\x71\xdd\x8a\x50\xdf\x89\x46\x0d\
+\x5a\xdb\xad\xb7\x84\xaf\x7b\x5e\x53\xf8\x7e\x0a\xdf\x8d\x0e\x4f\
+\x96\xb5\xc6\x37\xe2\xc4\xa2\x1e\x1b\x37\x49\x96\x3e\x1f\x58\x41\
+\xc3\xc5\xa4\xd2\x59\x38\xeb\x44\x90\x66\x79\x7c\xed\xa9\xac\xf7\
+\xc8\xa0\x28\x58\xf4\x46\xa8\x44\x58\x21\x0d\x84\x34\xe8\xec\x8e\
+\xb0\xe2\xb5\x3c\xb9\x30\x4a\x57\x6b\xa2\x51\x49\xde\x51\x85\xb5\
+\x12\x32\x99\x53\x15\x53\x58\xfc\xf2\xdc\x3d\xdf\x57\x24\x12\x31\
+\x40\x90\xc9\x64\xb0\x6d\xbb\x14\xea\x74\x5d\x17\x21\x0c\x3c\x67\
+\x1b\x6e\x7e\x77\x78\x4b\x4a\x79\x28\x95\x2e\xab\x3a\x80\x28\x85\
+\xfd\xc5\xa8\x09\xb1\x61\x18\x44\x23\x11\x32\xd9\x6c\x29\x7b\xb7\
+\xb8\x1b\x29\xa5\x0a\x18\x4a\x21\x6f\x04\x33\xd4\x98\x43\xfb\x6a\
+\xfd\x58\x62\x02\x0b\xa4\x15\x4a\x9a\x85\x36\x09\x03\xce\x17\x6b\
+\x2c\x39\x8e\x53\xaa\xe4\x19\x8f\xc7\x83\x5e\x68\x4a\x15\xf2\x6b\
+\x02\x1a\xcb\x39\xcf\xad\xb4\x11\x34\x78\xb4\x40\x84\x3c\xf3\x67\
+\x5b\x0c\x29\x9b\xb9\x5c\xe5\x64\x18\x06\xbe\xe7\x11\x89\x46\x0a\
+\x87\xc4\x83\x83\xac\x7b\x9a\x89\x18\x08\x61\x87\x0a\x3c\x0c\xfc\
+\x50\x13\xad\x25\x86\x09\x11\x1b\x0c\x39\x7c\x05\x1c\xa4\xf7\x0d\
+\x6e\xe6\xf5\xa4\xb5\x58\x71\x34\x9d\xce\x04\xcd\x53\x1c\xb7\xc0\
+\x57\x09\x18\xa1\x4a\xfa\x16\xd7\xa7\x90\x26\x5d\x99\x3a\x5e\xdb\
+\x50\x83\xe3\x44\x43\x8d\xd9\xb2\x6c\xf2\x8e\x04\x22\xe1\x59\x2b\
+\x00\x61\x03\x4e\x79\xee\x5e\x4d\x4d\x92\x9f\xfd\xfc\x0e\xec\x88\
+\xc5\x05\xe7\x9d\xc7\xb2\xe5\xcb\xb1\x4c\x8b\xad\xdb\x9a\x39\xf5\
+\x5d\x27\xd3\xd5\xa5\x90\x46\x2d\x86\x59\x19\x1e\x68\xf3\x5d\xa4\
+\xb4\xc9\xa7\x36\x91\x4b\x77\x86\x03\x4f\x85\x44\xa9\xb6\xd0\xbe\
+\x74\xb9\x6e\x81\x94\x92\x0d\x1b\x36\xf2\xf0\x23\x7f\xe3\x8a\x2b\
+\x3e\x80\x6d\x5a\xdc\x7d\xcf\x1f\xc8\x64\x73\x1c\x7d\xd4\x11\x4c\
+\x99\x3c\x79\xa8\x77\x1f\xa2\x62\x15\x08\x19\x45\x1a\x26\x86\x51\
+\x15\x52\x49\x10\x4a\x49\x59\x96\xc5\x23\x7f\xfb\x1b\xe7\x9e\x7f\
+\x3e\xab\x57\xac\xc0\x32\x2d\x7e\xf0\xa3\xdb\x38\xe7\xec\x77\x53\
+\x51\x91\xe0\xb0\x43\x0f\xc1\x75\x5d\xe2\xf2\x55\x6c\x23\x7c\x0a\
+\x82\x34\x72\x98\x62\x77\x09\x6b\x0c\xed\xa1\x8e\xb2\x15\xe5\x7a\
+\x1e\xed\x6d\x6d\x4c\x9f\x39\x93\x3f\xff\xf9\x2f\xcc\x3f\xf0\x40\
+\xec\x88\xcd\xda\x75\xeb\x58\x74\xd8\xa1\x80\x44\xca\x04\xd2\x4c\
+\x0c\x7b\x40\xd2\x00\xd1\x23\x47\x6d\x08\x5d\xe7\x87\x45\xab\xef\
+\xfb\x6c\xd9\xb2\x85\x86\xa6\xc9\x7c\xe6\xfa\xcf\xf3\xc5\x2f\x7c\
+\x9e\xff\xf7\x97\xbf\x70\xd0\xbc\x79\x4c\x9d\x32\xa9\xcc\x75\xb1\
+\x27\x45\xca\x30\x6d\x22\x51\x03\x29\x2b\x42\xf1\xd4\xb6\x40\xb0\
+\x95\x88\xf1\x52\x59\x96\x94\x54\x1e\x9a\x49\x05\x84\x35\xa4\xbb\
+\x27\x4d\x93\x57\x57\xae\xe4\xb7\xbf\xfb\x3d\x1f\xb8\xfc\x03\xbc\
+\xf8\xe2\x4b\x9c\x76\xea\xa9\x18\x66\x61\x17\xd2\xba\xb0\x98\xc2\
+\x2b\x29\x8d\x0b\x18\xd8\xf1\xc9\xd8\x5e\x2e\x14\x17\x05\x12\xdf\
+\xdd\x86\x10\xdb\x46\x8d\xc9\x76\xc4\xe6\x91\x47\x1f\x43\x1a\x06\
+\xa7\x9e\xfc\x4e\x0c\xc3\x60\xee\x9c\xd9\x54\x57\x55\xbf\x15\x48\
+\x59\xf9\x4b\xb8\x8c\x8f\x8f\xad\xaf\x67\xf1\xb1\xc7\xf1\xa5\x2f\
+\x7e\x81\xea\xea\x6a\x26\x37\x35\xd1\xd8\x30\x11\x21\x24\x4a\xf9\
+\x98\xa6\x85\xab\xa6\x83\x5f\x06\x26\xa5\xb2\x78\xba\x03\x43\x76\
+\xa1\x44\xb8\xd0\xbb\x21\x2a\x11\xe4\x46\x25\x21\xa7\x58\xa9\xf2\
+\x95\x65\xcb\xf9\xdb\xa3\x8f\x02\x92\x8d\x9b\x36\x32\xa5\xa9\x09\
+\x2b\x67\xf1\x93\xdb\x7f\xca\x31\xbf\xbe\x83\x20\xc3\x59\x0f\x5b\
+\x41\xbd\xd5\xe1\x7d\x29\x04\x9b\xb6\x6d\xe3\x9b\xdf\xfe\x0e\x97\
+\x5c\x74\x21\xc7\x1e\x73\x34\x8f\xfd\xfd\x71\x3e\xfe\xc9\xeb\xb8\
+\xf9\x5b\x5f\x67\xf6\xac\xe9\x43\x23\x51\x2b\x84\xea\xc2\x10\x29\
+\x7c\xb2\x21\xf9\x1a\x05\xc6\xe3\xf8\xb3\x91\x3a\xfc\xd9\x3d\x5b\
+\x64\x10\xe5\x64\x9c\x03\x74\xb6\xb7\xf3\xb9\xcf\x7c\x9a\xcf\x7d\
+\xe6\xd3\x74\xb4\xb6\xf1\xde\x0b\xce\x47\x4a\x49\x55\x55\xe5\x9e\
+\x2e\x1d\x5a\x16\xa2\x6f\x61\x99\x59\xcc\x7a\xa5\x70\x6c\x24\xec\
+\x6c\x19\xa3\xa7\x12\x0a\x29\x08\xbf\xbe\xe3\x67\x44\x63\x31\x0c\
+\x29\xa9\xab\x0f\x2a\x17\x8c\x54\xe3\xc6\xf2\xd1\x08\x11\x44\xc0\
+\x54\x19\x3a\x2a\xc4\x5c\x7a\x9e\xc7\xac\x59\xb3\xf8\xc3\xef\x7f\
+\x53\xa2\x6d\xc2\x7b\xcf\x2f\x34\x42\x10\x28\x55\x2c\xe9\x6b\x83\
+\x88\x86\x3c\x8a\x01\xa0\x10\x44\x50\xaa\x0a\x5f\x7b\x83\xf3\x55\
+\x83\xd2\x66\xf0\x9c\x51\x72\xf7\x7c\xdf\x67\xfe\xbc\x03\x99\x33\
+\x7b\x16\x52\x4a\x3c\xcf\x23\x12\x89\x20\x84\xe0\xd6\xef\x7e\x87\
+\x5c\x36\xcb\x7f\xca\xa5\xb4\x66\x52\x63\x23\x37\x7f\xeb\x1b\xc4\
+\x62\x31\xf2\xf9\x3c\xb6\x65\xf1\xfc\x33\x4f\x12\x8b\x46\x83\x82\
+\x00\x43\x9a\x48\x89\x16\x09\x94\xae\x40\xe9\xe8\xa0\x32\xa6\x35\
+\xf8\xda\x2c\x9c\xd1\x8d\x96\x51\xee\x47\x81\xe8\xbf\xcb\xd0\x80\
+\xc7\x62\x8a\xcd\x0c\x7b\x36\x0a\x2d\xfe\xaf\xb5\xc4\x90\xdb\xb0\
+\x64\x5b\x68\xbb\x56\x69\x0f\x48\xed\x37\x70\x7b\x4f\x4c\xaa\xb2\
+\xb2\xb2\x07\xa8\x1b\x79\x0b\x47\xa5\xd1\xaa\x05\xdb\xd8\x81\x92\
+\xd9\x70\x47\xd6\x31\xd0\x7e\x76\x50\xa5\xb2\x37\x1f\x61\x8f\x22\
+\xee\x09\x9e\x07\xd1\x19\x15\xca\x44\x0b\x36\x1e\x85\xa6\x58\x62\
+\xda\x0c\xa5\x54\x35\xe1\x5c\xd4\x7d\x15\x62\xf8\xcd\xc7\x30\x8c\
+\x52\xef\xb7\x9e\x74\xc7\x63\xb1\x51\x91\xc1\x60\x0e\x8b\x3b\x8b\
+\xcf\xf0\x8b\xd7\xca\x3e\xdd\x9f\xfe\x60\x8b\x8a\x44\x22\xc0\x19\
+\x0b\x75\xeb\xab\x2a\x2b\x4b\xfd\x13\xb5\x2e\x46\xdd\xc2\x0e\x4a\
+\x16\x38\x2a\x0b\xfc\x32\xcb\x56\x74\xa1\x3d\xac\x41\x86\x34\x60\
+\x65\xce\xbe\xfe\xee\x29\xc8\xbe\x6e\xc4\xd3\xe1\x33\x93\x7d\x7c\
+\x20\x31\x44\x01\xf0\xd1\x2a\x57\xda\xed\xc3\x98\xaa\x1a\x6f\x50\
+\xe0\x71\xff\xab\xfd\x2c\x10\x72\x2c\x8e\x1a\x8f\x17\xd2\xf3\x53\
+\x1a\x2a\xe4\x8e\x41\x85\x22\x0c\xad\x52\x9a\xe4\x53\xcb\xf0\xcc\
+\xf0\x8a\xda\x71\xf3\xf8\xee\x76\x94\x02\xa5\xc2\xe5\x07\x29\xdf\
+\x06\x34\x4a\xfb\xf8\xbe\x5b\x96\xcf\xaa\x95\x1f\xaa\x3b\xf5\x40\
+\x8b\x7a\x34\xf8\x2e\x0d\x13\x37\xbf\x99\x6c\xf7\x0b\x78\x9e\x3b\
+\x5c\x31\x20\x9b\x71\x41\x4f\x2f\x78\x12\xe1\x64\x78\x5f\xba\x34\
+\x60\xa2\xfc\x56\xb2\xa9\x17\x42\xcf\xb3\x94\x92\x7c\xa6\x75\xc0\
+\xb3\xa0\x6f\xd6\x65\x0e\xc4\xc4\x01\x99\x29\x04\xe8\x3c\x4a\x65\
+\xc3\x6b\x4c\xe5\x0d\x29\x8a\x22\x84\xc4\x77\x77\xe0\x64\x6d\x94\
+\x17\xfe\x80\xb1\xef\xed\x02\x26\xbf\xe9\xc2\x3a\x12\x98\x94\x28\
+\x63\x27\x12\xa1\xdd\xed\xde\xf4\xf6\x45\xbf\x52\x2e\xd1\xea\x45\
+\x98\x76\x48\x30\x59\x80\x91\xcf\x63\x98\x7f\xa7\x32\xb6\x15\xc7\
+\x08\xb7\x38\x63\xf1\x0a\x94\xea\x22\x6a\xb5\x92\x88\xe5\x43\x5b\
+\x1d\x42\x40\x2c\x62\xa0\xb0\xfb\x5d\x70\x7d\xd1\xd5\xf3\xb5\xd1\
+\xe2\xb9\xf2\x3d\xac\xc8\x34\x62\x55\x0b\x19\xb6\x8e\x12\x04\xa5\
+\xa9\xc4\xce\x41\xad\xa9\xc1\xca\xf3\x80\x8f\x61\xd6\x11\xab\x5c\
+\x10\x5e\xe1\x4a\xc8\x38\xeb\x50\x6a\xcb\xfe\xa9\xa4\xf6\xce\x8f\
+\x2a\xc6\xa9\x82\xea\x00\xc5\x3e\x5e\x12\xe5\x67\x51\xbe\x28\xa3\
+\x7c\xb0\x07\xda\x2b\xdb\x6c\xd4\xda\xc7\x8a\x4c\x21\x5a\x71\x18\
+\xa6\x69\x84\x5e\xea\xb9\xd4\x8a\x01\x19\xbc\x37\x9d\xc5\xff\x8b\
+\xd5\x01\x1c\xc7\xc1\xb2\x2c\x72\xf9\xa1\xe2\x17\xe5\xf6\x1e\x13\
+\x05\x13\x5f\xec\xf1\xe4\xc2\xfb\x06\x65\xb9\x25\xc5\x7e\x77\xb6\
+\x6d\x07\xd1\x95\x42\x3d\x77\x10\x41\x29\xdd\x90\x78\xb2\xd0\xe0\
+\x79\x2e\x11\x2b\xc7\x89\xef\x68\x2c\x6b\x1c\xb7\xdf\xd6\xc5\xf1\
+\xc7\xd6\x33\xa6\x6e\x7c\x99\xf3\xea\xd2\xba\xb3\xff\x0e\xb9\x3d\
+\x37\x58\xd3\x30\x30\x0a\xbc\xd4\x4a\x15\xfa\xe2\x8d\x56\x0d\xf9\
+\x02\xd7\xf4\x08\x40\x6d\x65\xc4\x4f\xb4\xd6\x05\x5c\x31\xc0\x1d\
+\xfb\x6e\x88\xab\xca\x92\x29\x5d\x72\x5f\xc5\xfe\xa9\xa4\x20\x28\
+\x0c\x96\x4c\x26\x59\xb9\x6a\x15\x75\x75\x75\x58\x96\xc5\x2b\xaf\
+\x2c\xa3\xb3\xb3\x93\xf9\xf3\xe7\x11\x8d\x08\x0c\xab\x01\x53\x57\
+\x87\xdf\xf1\xa5\x8f\x10\x91\x21\x30\x50\x14\xb2\x65\x3d\x42\x83\
+\xe8\x5a\x85\xae\x16\x19\x54\x06\xf4\xd9\xb2\x75\x1b\x93\x27\x4f\
+\xe2\xd9\xe7\x9e\x63\xfd\xfa\x8d\x4c\x9d\x32\x99\xce\xae\x2e\xde\
+\xf1\x8e\x93\x86\x30\x62\x03\xe5\xb7\xe3\x39\xa2\xac\xf2\x18\xca\
+\x6f\xc7\xf7\x3b\x71\x9d\x96\x42\xab\xf3\xc1\x41\x29\xad\x4c\x74\
+\xcc\x09\xa5\x98\xf2\xf9\x3c\x96\x65\xb1\x72\xd5\x6a\x0e\x98\x3b\
+\x87\xdf\xfc\xf6\xf7\xd4\xd6\x26\x69\x6d\x6d\xe3\xe4\x77\x9e\x84\
+\x69\x9a\x78\xf9\x6d\xa0\x62\xa1\xeb\x76\xf9\x6e\x1a\xd7\x4d\xb3\
+\x73\x67\x27\x99\x6c\x2e\x14\x8c\x16\x60\x80\x16\x9b\xb7\x76\xd0\
+\x9d\x16\xa1\x56\x4f\x71\xc9\x58\x86\x26\x11\x93\x03\x5a\x5f\x42\
+\x08\xba\xba\xba\x58\xfe\xea\x0a\x36\x6d\xde\xcc\xd9\x67\x9d\xc9\
+\xb6\xe6\x66\xa6\x4e\x99\xc2\x9a\xd7\x5e\xe7\x90\x05\xf3\x47\x61\
+\x39\x49\x7c\xb7\x0d\x27\xdf\x3c\x6c\x77\x4f\x00\x4e\x4e\x83\x8e\
+\x0c\x08\x59\x68\xad\xa9\x4e\x56\xf3\xcd\x6f\x7d\x87\xc9\x4d\x4d\
+\xd4\xd7\xd7\x71\xc4\xe1\x8b\xd8\xb8\x69\x13\xca\x57\x44\xa3\x51\
+\x1a\x1b\xc7\xa3\x54\x16\x37\xbf\xb9\x70\x60\x39\x9c\xbb\xe7\x3b\
+\xbb\x83\xc2\x96\xfb\xa3\x92\x32\x0c\x83\x6d\xcd\xdb\xd9\xb1\x73\
+\x27\xaf\xbd\xb1\x16\xdb\xb2\x59\xbb\x7e\x3d\xcf\x3d\xf7\x3c\x2b\
+\x56\xae\xe2\xca\x8a\x4a\x9a\x26\xd5\x17\xba\xa0\x94\xa1\x6d\x43\
+\x82\xb1\x23\x89\xef\x84\xd9\x85\x76\xee\xdc\xc9\xf6\xed\x3b\xc8\
+\x3b\x0e\x86\x94\x3c\xf6\xf7\xc7\x79\xec\xb1\xbf\x73\xd6\x59\x67\
+\xb2\x6a\xd5\x1a\x4e\x39\xf9\xb4\x21\x6d\x85\x42\xd8\x08\x69\x97\
+\x65\x4d\x05\x9f\xb7\x90\x32\x16\xba\x46\xb4\x16\x46\xe1\xac\xd5\
+\xc0\x57\x24\x12\xe1\x89\x27\x9f\xe4\xe8\xa3\x8e\x62\xe5\xaa\x55\
+\x4c\x18\x3f\x9e\x9f\xfe\xfc\x17\x1c\x38\x77\x2e\xcb\x57\xac\x60\
+\xd6\xac\x99\x98\x96\x89\x2b\x6c\x84\x8c\x85\xde\x43\x0d\x13\x94\
+\x4e\xf2\xd2\x72\x8b\xbc\x13\x2e\x24\x19\x8b\x59\x08\x59\xc3\xda\
+\x0d\x11\xec\x6d\x91\xd0\x8b\x47\x00\xf5\xb5\x9a\x83\xe6\xe4\x70\
+\xbd\x81\x47\xd8\xd1\xd9\xc9\x23\x8f\x3e\xca\xa3\x8f\xfe\x9d\x13\
+\x8e\x3f\x8e\x37\xd6\xae\xa5\xb1\xa1\x81\x95\x2b\x57\x72\xd8\xa1\
+\x07\x8f\x8e\xc4\x49\xb3\xc0\x3b\x73\xd8\x92\x2b\x0d\x1d\xca\xd5\
+\x33\xec\x04\x5f\xfd\xda\x37\x38\x6e\xf1\xb1\x1c\x7e\xf8\x22\x8e\
+\x3c\xe2\x70\x36\x6f\xde\x82\xe3\xba\x24\x93\xd5\x4c\x9c\x50\x8f\
+\xc0\x44\x18\xd1\xd0\xd0\x40\x50\x19\xc3\x02\xd4\xfe\xa9\xa4\x94\
+\x52\x8c\x1b\x5b\x8f\xeb\xba\x1c\xbe\xf0\x30\xaa\x2a\x2b\xb1\x6c\
+\x8b\x99\xd3\xa7\x93\x77\x1c\xea\xeb\xea\xd0\x3a\xcb\xf6\xf6\x32\
+\x7d\x8d\x21\xb4\xd3\x1e\x75\x35\x26\x04\x55\x95\x95\x18\x52\x12\
+\x8d\x46\x51\x4a\x73\xd1\x85\x17\x70\xf6\x59\x67\x12\x4f\xc4\x39\
+\xeb\xcc\xd3\x7b\x9d\x6f\x0b\xaf\xa2\x14\x42\xc6\x91\x46\x6d\x59\
+\xa5\x6a\xa5\x68\x43\xca\x38\x86\x59\x89\xa9\xc2\xe5\x2a\x29\x4d\
+\xa8\x0c\x77\xcf\x73\x99\x3a\x65\x0a\x42\x08\x96\x1c\x7b\x0c\x89\
+\x44\x82\x1f\x7c\xef\x16\x22\x91\x08\xb9\x7c\x8e\xd9\xb3\x67\xf1\
+\xf0\xc3\x8f\x62\x56\xd6\x61\x5a\x55\xa1\xc7\xac\x54\x16\x21\xab\
+\x70\xfd\x38\xbe\x0a\x57\x1b\xca\x53\x20\x44\x04\xcf\x4f\x20\x75\
+\xb2\xac\xbd\xcb\xd7\x39\x04\xd9\x41\x65\xa9\xbe\xbe\x9e\x0f\x5e\
+\xfe\x01\xde\x7b\xde\x79\xd4\xd5\xd5\xb1\xf0\xb0\xc3\x88\x44\x22\
+\x2c\x59\xb2\x18\x7f\xb8\xe7\x56\xfa\x9e\x09\xa4\x51\x85\x69\xd5\
+\x8c\x88\x98\x1b\x3e\x20\x76\x30\x18\x68\x9e\xe9\x6a\xe3\x4f\xf7\
+\xdd\x43\x5d\x5d\x1d\x91\x82\xfb\x7e\xe0\x81\x07\xa0\xb5\xc6\x32\
+\x4d\x0c\xd3\x44\x48\x1b\xd3\xac\x0f\xbd\xfe\xa4\x04\x69\xb6\x8f\
+\x4a\x12\xf5\x88\x28\x29\x5d\xe8\xa0\xd2\xf3\x9a\x38\x61\x42\x09\
+\xc7\x00\xe8\xec\xf4\x51\x5e\x07\xbe\x1b\x9e\xd9\xbe\xef\xa1\x74\
+\x7e\xbf\x6b\x26\x99\x48\x24\x48\x24\xf6\x44\x1d\x6b\x6a\x92\xbd\
+\x70\x8d\x6c\xce\x0f\xdc\xcc\xb0\x07\x51\x05\x41\x31\x40\x44\xf9\
+\xf8\x87\x90\xa1\xad\x8a\x5e\x7e\x50\x08\x65\xec\x79\x3e\x0d\x0d\
+\x0d\x00\x8c\x1f\x3f\x1e\x21\x04\x07\x1c\x30\xb7\x44\x67\x3c\x1e\
+\x2d\x1c\x03\x2a\xbb\x7b\x6b\x2f\x94\x3f\xc4\x71\xc3\x3d\xd6\xa6\
+\x2c\x3c\xad\xac\xbd\xce\x18\x94\x64\xad\x35\xb1\x68\x94\xc9\x4d\
+\x4d\x25\x5e\x8e\xad\xaf\x07\x60\xc2\xf8\xf1\xa8\x51\xc9\xc0\xdc\
+\x23\x20\x23\x97\x71\x3e\x78\x74\xba\x58\xbd\xa3\x48\xb7\xd6\x9a\
+\xda\x9a\x9a\x1e\x0a\x47\x50\x3a\x68\xac\xcb\x79\xf2\x7e\xdc\x1c\
+\x74\xa0\x68\xc1\x9e\xf7\x24\xbe\xd7\x8e\xe7\x85\x2f\x80\xa7\x94\
+\x57\x28\x02\x37\x34\x7f\x5f\x6b\x11\x3e\xc1\x51\x8b\x42\x8c\x6c\
+\x70\x9c\xa6\xbf\xf7\xf6\xfc\x56\x78\xee\x26\xf2\x69\x3b\x74\x65\
+\x4e\x27\x1b\x94\xb0\xc9\x59\xb5\x65\x75\x8b\x71\x9d\x56\x04\xa3\
+\x87\x03\xf4\x15\xf5\x2a\x5a\xcf\x5a\x83\x34\x0c\xf2\xd9\x35\xf8\
+\x6e\x19\x29\x08\x4e\x0e\xdf\xdd\x55\xf6\xa2\x94\x46\x84\x7c\x66\
+\x23\xda\xdb\x5e\xd6\xf7\xdc\x8a\x08\x42\x24\xfb\x75\x45\xfa\x8a\
+\x62\xf6\xcf\x6b\x31\x22\x55\x10\xde\xea\xe5\xbc\x77\x00\xa8\xf7\
+\x86\x20\xf1\xbd\x0e\xf2\xb9\x57\x43\x67\x5e\x0b\x21\x71\xf2\xbb\
+\x90\xd2\x0e\x1d\x69\x1e\xad\x40\xf9\xd0\x57\x83\xf6\xb0\x22\x53\
+\x89\xc8\x9a\x32\xfa\xee\x79\x18\xb2\x72\x08\x75\x01\x0c\xe2\x91\
+\x8d\x4c\xa8\x33\xb1\xed\x48\x68\xa6\x35\x6f\xdd\x80\xa6\x81\xb0\
+\x15\x02\xfa\xdf\x51\x24\xa6\xd5\x44\x24\x71\x60\xb8\xa2\x77\x02\
+\xac\x5c\x33\x02\x41\x24\x36\xbe\x2c\x77\xcf\x57\x6b\xd1\xbc\xf4\
+\x96\x09\xbb\xf2\x7d\x22\x15\xb3\xcb\x72\xf7\x84\x91\x45\x9a\x99\
+\xb2\x93\x17\x95\x9f\xc7\x8e\x4d\x26\x12\x19\x5b\xd6\xf7\x2c\x3b\
+\x87\xd6\xad\x94\x93\x0c\xda\xb7\x82\x72\x71\x72\x9b\xc9\x9b\xad\
+\xc3\xd2\x52\x5a\x83\xf6\x62\x78\x4e\x0b\xd0\x08\xfb\x81\xc2\xea\
+\x4d\xaf\xc2\x30\xab\x89\xc4\xe6\x85\x36\x59\x83\xc2\x8d\x6b\x70\
+\x72\xff\x22\x97\x7e\x1d\xd7\xcd\x85\x9a\x07\xdf\xb6\x60\x84\xfb\
+\x2f\x86\x4a\x41\x28\x02\x69\x7b\x6b\x6c\x5d\x8a\x93\x96\x93\x5a\
+\xba\xa7\x7c\x44\xd8\x0e\x18\xbe\xaf\x68\x6c\xac\xe7\x98\xa3\x17\
+\x84\xae\x71\x0e\xf0\xdc\xb3\x19\x7c\x3f\x7c\x0a\x42\x4f\x61\xee\
+\x19\xa6\x2f\xd8\x1a\x65\xca\x71\xb1\x6e\x8f\x42\x23\x43\xba\x64\
+\x05\x17\xa8\x8f\xdd\x71\x70\x97\x60\x68\x3b\x6e\x31\x5b\x39\xa0\
+\xb5\x88\x71\x85\x2f\x72\x16\x78\x10\x43\xc5\x2d\xc4\x10\x0e\xbe\
+\xe9\x41\xdd\xe1\xbd\x73\xfc\x7a\xf2\xb9\x77\xc7\x18\x0b\x3b\x3a\
+\x87\x68\x62\xdc\x88\x54\xe6\x34\xed\x71\x3d\xbc\x6f\x3d\xbc\x8c\
+\xf3\x32\x7d\xe0\xbe\xca\x0c\xed\xe1\x5f\xb1\x2d\x5b\x19\xdd\x7c\
+\xb4\x00\x61\x60\x45\x27\x11\x4d\xcc\x42\x86\x74\x80\x2c\x1b\x10\
+\x2b\xcb\x7e\xde\x90\x94\x54\x47\x47\x27\xd5\xd5\x55\x64\xb3\x39\
+\x6c\xdb\x62\xd5\x9a\x35\x28\x5f\x31\xb9\x69\x52\x90\x3b\x94\xcb\
+\x95\x6f\xde\x15\x26\x5e\xfb\xa0\x54\x2e\x94\xcf\xab\x85\x89\xd0\
+\x2e\xe9\xb4\x47\xcb\xae\x1c\x91\x48\x38\xdb\x5c\x29\x4d\x2a\xad\
+\x42\x8d\x31\x68\x8a\x19\x1c\x05\x6a\x6d\x6b\x23\x9b\xcd\xd1\x34\
+\xa9\x91\xae\xae\x2e\xd6\x6f\xd8\xc8\xc1\x0b\x0e\x1b\x22\x96\xe0\
+\x20\xc8\x21\x8a\x85\xd5\x42\xad\xc1\x7c\x21\xbb\x3e\xe8\x67\x17\
+\x6e\xd9\x5a\x83\x66\x74\x16\x95\x51\x67\x67\x17\x15\x15\x09\x32\
+\x99\xa0\x39\xa6\xeb\x79\x74\x75\x75\xb3\x79\xf3\x66\x0e\x3f\x7c\
+\x21\x42\x0a\xa4\xf0\x80\x5c\xa8\x96\xf2\x01\xa5\x79\xc4\x50\xac\
+\x55\x11\x6c\x70\x21\x6b\xf6\xf5\x98\x57\x39\xe8\x74\x0a\x82\x3e\
+\x74\x5b\xb7\x6e\x63\x5b\x73\x33\x8b\x16\x1e\x46\x57\x57\x17\x35\
+\x35\x35\x38\xae\x4b\x55\x45\x11\x83\xf4\x46\xa4\x32\x67\x51\x31\
+\xa1\x55\x90\x8f\xa5\x86\x57\x99\x53\x0b\x50\xbe\x24\x4c\x99\x96\
+\x48\x34\xca\xbf\xfe\xf5\x6f\xd0\x30\x75\xda\x14\xc6\x8d\x1d\xcb\
+\xee\xdd\xad\xd8\xb6\x45\x2c\x16\xc3\xb6\x22\x28\xdf\x2b\xb4\x8d\
+\x0a\x59\x99\x53\x48\x24\x7e\x29\xb7\x2c\x0c\xc6\x56\xb2\x41\xb4\
+\x8f\x52\xf9\xd0\x0d\x66\xb5\x56\xa0\xdc\xf2\x95\x54\x57\x77\x17\
+\x63\xc6\xd4\xf2\xd2\x4b\x2f\x33\x73\xe6\x74\xfe\xfc\x97\x07\x69\
+\xdd\xdd\xc6\xc5\x17\xbd\x97\xea\xea\x6a\x9c\x5c\x57\x99\x89\x8a\
+\x7b\x11\xa3\x1c\x74\x88\x93\xa8\x02\x0f\x29\x5d\xb6\x6d\x8f\xf0\
+\xc4\x33\x0a\xd3\x74\x43\x3f\x24\x9b\xb2\x30\x24\x03\x36\x08\xd0\
+\x5a\x17\x12\xe0\x3c\x36\x6c\xdc\x48\xf3\x8e\x5d\x3c\xf1\xc4\xbf\
+\xb9\xfe\xba\x6b\x59\xb1\x72\x15\x3f\xfc\xd1\x6d\xfc\xf1\xbe\x3f\
+\x0e\xd1\x4e\xf0\x10\x22\x8f\xa4\x9c\xe6\xa0\x2e\xc1\xb9\xaf\xa0\
+\x21\x43\x98\x3c\x29\xa5\x07\x2e\xbf\xda\xd3\x1a\x4e\xa5\xd3\x24\
+\x12\x71\x9e\x5a\xfa\x0c\x33\x66\x4e\xe7\xb1\x47\xff\x4e\x65\x55\
+\x25\xdf\xf9\xee\xad\xfc\xfc\x67\xb7\x63\xdb\x36\x82\x1c\xb2\x8c\
+\x43\xdd\x42\xe4\x29\x37\x54\x2d\x00\xa5\x24\x52\xb4\x63\xa2\x43\
+\xd7\xc9\x87\xe0\xd4\xbf\x1e\x6c\x4e\x85\xa0\xad\xad\x8d\x3f\xdc\
+\x77\x3f\xf7\xdc\x7b\x1f\x0f\xfc\xf1\x3e\x5e\x7e\xe9\x25\x8e\x38\
+\x7c\x11\xaf\x2c\x7b\x95\x33\x4f\x7f\x17\x42\x78\x80\x59\xa6\x92\
+\x1c\x40\xa6\x91\xa5\x26\xb2\x01\xf6\x3a\x74\x90\x46\x94\x9c\x8e\
+\xc1\x95\x54\xbc\xb2\x86\x8f\x7c\xec\x13\x8c\xa9\xad\xe5\x63\xd7\
+\x7c\x98\x73\xce\x7e\x37\xcf\x3c\xfb\x2c\xd9\x5c\x8e\x05\x07\xcd\
+\x67\xce\xec\x19\x28\xed\x22\x65\x2e\xb4\xe5\x2a\x91\x41\x8f\x49\
+\x61\xf4\xe8\x32\x1d\x66\xc3\x24\x38\x55\xa2\x9c\xd0\x1d\x8c\x83\
+\x86\xa5\x6e\xbf\xf3\x65\xf6\x8d\x1d\xf9\x4c\x99\x3c\x19\x21\x04\
+\x91\x68\x90\xc3\x72\xfd\x75\x9f\xa6\xb5\xb5\x15\xcb\xb6\x88\xd8\
+\x11\x52\x29\x8b\xd6\x8d\x65\x9a\xf9\x85\x49\x37\x2c\x30\xac\xea\
+\x50\x3c\x14\x80\x56\x09\x20\x02\xc4\x81\x90\x2d\xad\xd0\x85\x42\
+\x5a\x7a\x50\xeb\x22\x91\x88\x93\xce\x04\x3d\xee\xde\x79\xd2\x89\
+\x54\x56\xc4\x31\x4d\x93\x83\xe6\xcf\xe3\x6b\x5f\xfd\x0a\xd9\x5c\
+\x0e\x44\x50\xbd\x21\x6c\x65\x00\x81\x44\x53\x81\xd2\x35\x83\x02\
+\xf8\xbd\xbe\x27\xab\x10\x22\x82\x34\x2d\x0c\x15\xae\x54\x8c\x54\
+\x30\x58\x92\x6b\xb1\x75\x57\x63\xc3\x44\x3c\xcf\x23\x9e\x88\x33\
+\x7d\xda\x34\x5e\xaa\x7d\x99\xf7\x9c\x7b\x36\x73\xe7\xce\xe5\xa0\
+\x79\x07\xf0\xf0\x23\x8f\x61\x46\xaa\x51\x54\x94\xc1\xd6\x18\x10\
+\x0d\x5d\xcc\xb0\x54\x6e\x57\x09\xa4\xc8\x23\x44\x36\xd4\x0c\x15\
+\x81\x05\x81\x2c\xc8\xc1\xc0\xcc\xa8\xaa\xae\xe6\xbd\x17\x9c\xc7\
+\x69\xa7\x9e\xc2\xd8\xba\x31\x1c\x75\xe4\x91\x44\x22\x36\xb1\xc2\
+\x01\x63\xa5\x1c\x7c\x77\x2d\x11\xd9\x15\x28\xfa\xe1\xb8\x7b\x46\
+\x14\x29\x76\x82\x98\x88\x61\xc6\x0a\x73\x32\xbc\x2b\x48\xb5\xca\
+\x32\xd8\xa9\x89\x7c\xaa\x83\x6f\x7e\xfd\xab\x4c\x6a\x9c\xc4\xd8\
+\xb1\xf5\x08\x21\x38\xf8\xe0\x05\xbc\xf6\xda\xeb\x58\xa6\x05\x68\
+\x4c\x33\x4e\xce\xaf\x2e\x29\x9b\x30\x7c\x52\xca\x04\xb5\x09\x5b\
+\x6e\x42\xcb\x5c\x28\x06\xd9\x32\x68\x73\x27\xad\x1a\x64\x19\x28\
+\x90\x90\x02\x48\x97\x67\x49\x15\x1b\x46\x1e\x75\xe4\x11\xa5\xc6\
+\x91\x63\xc7\x8e\xdd\xd3\x9a\xdc\x19\x42\x35\x03\x11\x98\x91\x5d\
+\x1d\x2e\xa9\xee\x8e\x90\x2d\xad\x24\x11\x2b\xbb\x07\xaf\x11\xe1\
+\x97\xce\xa0\x2e\x41\xe1\x66\x4a\x29\xe2\xb1\x18\x87\x1c\x7c\x30\
+\xbe\xef\x73\xfc\x92\xc5\xb8\xae\x4b\x22\x91\xa0\xae\xae\x8e\x54\
+\x3a\x87\xe7\xee\x20\x9f\xdd\x10\x3a\xba\xe7\xe6\xb7\x61\xda\x0d\
+\x14\xfb\xfe\x85\xd7\xe2\x0a\xdf\xcb\xd3\xd5\x91\xc1\x71\x32\xa1\
+\xca\x9e\xf8\xda\xa4\x2a\x1a\xa2\x41\x44\xa1\x84\x89\x94\x92\x13\
+\x8e\x5b\x82\xe3\xba\x5c\x7a\xc9\x85\xe4\xf3\x0e\x8b\x0e\x3b\x94\
+\x68\xc4\x46\x6b\xf0\xf2\x5b\xc1\x0f\xbf\xc8\x5c\x27\x8b\xe7\xb6\
+\xe0\xe6\x77\xe0\x3a\x61\xeb\x49\x25\x10\xa2\x13\x4f\x4f\x40\xaa\
+\xfa\xb2\xc4\xc8\xd7\x79\x04\xbb\xfb\x05\xce\x4b\x4d\x50\xe3\x71\
+\x66\x4c\x9f\x5e\x52\xd0\xe3\xc6\x05\xe5\x67\x4e\x3c\xe1\x38\x5c\
+\xd7\x2b\x94\x79\x4e\xa0\x74\x1c\xa5\xd5\x90\xed\x1e\x0d\x28\x1d\
+\x43\xeb\x37\xbf\xe8\x9d\x10\x82\x74\x26\xc3\x99\xa7\x9f\x5e\x5a\
+\xb3\x9e\xe7\x31\xb9\xa9\x89\x69\x53\xa7\xe2\xfb\x3e\xa6\x01\xae\
+\xca\xd2\x99\x6f\x46\x1a\x92\x49\xb5\xe3\xe9\xc8\x74\xd3\x95\x49\
+\xed\x09\x6e\x16\xda\xde\x17\x95\xb5\x14\x92\xb4\xdb\x81\x14\x09\
+\x14\xf1\xa0\xde\x7a\x28\x2b\x2a\x82\xf6\x3b\xf1\x72\xeb\xcb\x68\
+\x0e\xaa\xf1\x4d\x17\xa8\xa0\xac\x1a\xe7\x45\x65\xe4\xf5\x48\x7a\
+\x53\x3d\xe2\xff\x43\x01\xc5\xb4\xd6\x64\xb2\x59\xce\x3e\xdd\xa2\
+\xab\x2b\x1e\xae\x83\x71\x24\xc6\xdf\x1e\xf9\x37\xd9\x8c\x3d\x6a\
+\x79\x1b\x45\x25\xe2\x79\x5e\xa9\xa8\x7d\x91\xbe\xe2\x6b\x96\x5d\
+\x87\x69\x8d\x2b\x94\x9b\x19\xcc\x1d\x31\x30\x2c\x1f\x21\xec\x21\
+\x89\x7c\x55\xc5\x0e\xce\x3f\x3b\x4e\x2a\x15\x6e\x8e\x4d\x2b\xc2\
+\xcb\x2f\x64\xf1\x7d\x85\x65\x85\xa3\xd5\x2d\xd0\x95\xcf\x3b\x05\
+\x5c\xce\xc5\xb6\xad\x82\xa5\x9b\xc4\x30\xc3\x5b\x52\x86\xce\x62\
+\x98\x55\x18\x66\x2d\x2a\x64\x8a\x89\x61\x55\x20\x44\x2c\x28\xac\
+\x26\xca\x56\x09\x03\x6e\x90\x3d\x37\x85\xe2\x06\x1b\x6c\xbc\x01\
+\x98\xeb\x38\x0a\x29\x83\xee\xd2\xd2\x9c\x84\xa7\xc7\x0f\x1b\x97\
+\xf2\x14\x68\x92\x6f\x7a\x3b\xa8\xa2\x37\xe0\x38\x4e\xaf\x60\x8f\
+\xef\xfb\xa5\xb4\x12\x61\x48\x26\x68\x9f\x23\xc8\xd2\xdd\xd1\xc6\
+\xa9\xd7\x9e\xc4\x55\xef\xba\x88\x4b\x16\xbf\x1b\xad\x21\x62\xdb\
+\x68\xa5\xd9\xde\xd1\xc2\xd8\xda\x71\x41\x17\x6f\x24\xaf\x0b\xc5\
+\x1a\x39\x16\x4f\xd5\xe3\x87\x9c\x1f\x57\x81\x90\x95\x48\xb3\x2e\
+\x54\xa9\xe2\x22\x0d\x86\x99\x21\x74\x8d\xf3\xfe\x4e\xca\xf7\x97\
+\x87\x51\xae\x29\x65\xdb\x16\x2f\x2d\x87\xce\x4e\x23\x94\xd2\x31\
+\x0c\xf0\xf4\x4c\xec\x48\x6b\xf9\x49\x8e\x21\x27\xa8\xbf\xd7\xf6\
+\xcc\x85\x40\xca\x28\xd2\x88\x87\x3a\x56\x10\xb8\x6d\xf1\x9e\x3e\
+\x6e\x59\x73\x94\xcd\xd7\xf3\xec\x4b\x90\xcb\x86\xcc\x10\x11\x06\
+\xd2\x8f\x0e\x98\xea\xd0\x1f\x1f\xf7\xa6\x3f\x28\xc2\x1f\x43\x1a\
+\xe1\x95\x94\x90\x32\x38\x02\x64\xd8\x08\xdf\x0e\xe7\xf2\xc9\x62\
+\x7d\x71\x59\xf6\xfc\x84\x3d\x4f\xd6\x17\x6d\x7d\xd9\xdb\x6a\x08\
+\xc5\x50\xfb\x04\xcf\xdf\xc2\x12\x9d\x7d\xf1\xb7\x24\xc7\x04\x05\
+\x15\xc6\x01\xe3\x2a\x6b\x78\xf6\xe6\x07\x78\xe1\xf5\x57\xf8\xf2\
+\x2f\xbf\xc6\xa2\x59\x87\x70\xe5\x6d\xd7\xf3\xa9\x33\x3e\xc0\x07\
+\x4f\xbc\x80\xf1\x53\xeb\xd0\x9d\xbb\x11\x52\xd2\x52\x98\x9b\xf2\
+\x0a\x5b\x02\xc2\x44\x1a\x89\x32\xca\x07\x6b\x10\x5e\xc1\xb5\x0d\
+\xa1\xa4\x8a\xae\x9e\x65\x59\x78\x9e\x87\x6d\xdb\xe4\xf3\x79\x4c\
+\xd3\x2c\x15\xed\xb7\x2d\x9b\x8e\x76\x5d\xc0\x06\xca\x0b\x93\x1a\
+\xd2\xa4\xa3\x0b\xba\xbb\x23\xe1\xbe\x29\x04\x9a\x2a\xa4\xec\xe8\
+\x0d\x6d\x8d\x20\x63\xf7\xde\x79\xa3\xd1\x28\xae\xeb\x52\x51\x51\
+\x51\x6a\x75\x55\xee\x16\x29\x84\x2c\x71\xb6\xbc\x44\x02\x81\xd2\
+\x31\x3a\x3a\xc1\xc9\x87\xb3\xc4\x94\x16\xd4\xc4\x07\xee\x02\x52\
+\xe4\xab\x69\x9a\x85\xee\x1c\xc1\x6e\x6b\x9a\x26\xb6\x65\x95\x2c\
+\xab\xb0\x00\x69\x1f\x08\x60\xd9\xd3\x24\x8d\x08\x4e\x6e\x0b\xf8\
+\x2d\x65\x3d\x2d\x48\xe6\xac\x64\xa0\x64\xce\x60\x83\x93\x18\x46\
+\x50\xee\xda\xf3\x3c\x92\xc9\x6a\x52\xa9\x34\x95\x95\x95\x74\x76\
+\x76\xe2\xfb\x39\x0c\x56\x33\xa5\x71\x3e\xbe\x3f\x8c\x5c\x3a\x0d\
+\xf1\x58\x9c\xea\x8a\xae\x5e\x29\x2f\xc3\x91\x53\x51\xc6\x9a\xf2\
+\x7d\x9f\x9a\x9a\x1a\x3a\x3a\x3a\x48\xc4\xe3\x64\x73\x39\xe2\xf1\
+\x78\xe9\x3d\x57\xb9\x85\xc0\xba\xa4\x3b\xdd\xc5\x47\x6f\xff\x02\
+\x47\xcc\x3c\x88\xba\x8a\x1a\x9c\x6c\x96\x4f\x9e\x76\x19\x87\x4d\
+\x9d\xc7\xdc\xa9\x07\x70\xe3\x8f\x6f\xe4\x6b\x57\x7d\x05\xb2\x69\
+\x94\xf2\x88\x5a\x5b\x98\xd2\xd0\x4a\x36\x17\x29\x7b\x86\x7f\x00\
+\x00\x20\x00\x49\x44\x41\x54\xae\x00\x63\x2c\x16\xe1\xa5\xe7\xa1\
+\xdc\xa0\x81\x28\x14\xd7\x0b\x8d\x49\xd9\xb6\xcd\x53\x4b\x97\x72\
+\xcc\xd1\x47\x73\xef\x7d\xf7\x73\xfe\x79\xef\xe1\x8d\x37\xd6\xf2\
+\xf1\x6b\x3f\xcd\x45\xef\xbd\x80\xd5\x6b\xd6\xf0\x85\xcf\x5d\x87\
+\x9f\x5f\x87\x9f\x33\xcb\xe8\x16\xa3\xd0\xaa\xab\x07\x40\x55\x86\
+\x40\x0b\x8d\x21\x7d\x0c\xe9\x87\x3b\x31\x2f\x14\x08\x15\x8a\xc1\
+\x5d\x5d\x5d\x38\xae\x8b\x56\x8a\x59\x33\x67\xf2\xc3\x1f\xff\x84\
+\xc3\x17\x2d\xe4\x73\x9f\xff\x02\x77\xdd\xf9\x2b\x22\x76\x14\x95\
+\xdf\x88\x9f\x16\xe1\x30\x29\x29\xf1\xd2\xdb\xb1\xe2\x53\x31\xa4\
+\x0a\x0d\x20\x06\xf3\xe1\xed\xd9\x99\x43\x8a\xb9\x0e\x79\x90\x3a\
+\x1a\x8d\xf2\xc2\x8b\x2f\x32\x7b\xd6\x2c\x3a\x3b\x3b\xa9\xaf\xaf\
+\xe7\x89\xa7\x9e\xe2\xf9\xe7\x5f\x60\xee\xdc\xb9\x1c\x73\xf4\x11\
+\x3d\x9a\x66\x96\x27\x62\x5a\xa5\xc9\xa7\xd7\xf4\xe8\xf7\x36\xc8\
+\x37\x54\x02\x37\xbf\x03\x2b\xda\x80\x1d\x19\x57\xd6\xd3\xcc\x41\
+\x92\x39\x8b\xca\xf6\x8d\xb5\xeb\x58\xfe\xea\x0a\x16\xcc\x9f\xcf\
+\xa1\x87\x2f\xe2\xf8\xe3\x4e\xe0\xa7\xb7\xdf\xc6\x91\xc7\x1e\xc7\
+\xaa\xe5\x2f\xd3\xd6\xde\x41\x55\x2c\xc3\xc2\x43\xc6\xa3\x9c\xe1\
+\x25\xfc\x4a\xdb\xe4\x89\x7f\xd9\xb4\xb4\xfb\x18\x12\xb4\x1c\x6e\
+\xf7\x19\x30\xa5\x31\xa8\xaa\x53\x4a\x31\x66\x5c\x03\xd3\xa6\x4e\
+\xe1\x8d\x35\x2b\xf9\xd4\x75\x9f\xe1\x9a\xab\xaf\xe2\x96\x5b\x7f\
+\x40\x57\x57\x17\x33\x66\xcc\xe0\x9a\x8f\x5c\x45\xa7\xce\xf3\xb2\
+\xb3\x15\x4c\xb8\xe1\x13\x37\xec\xb1\xb8\x34\x1c\x23\x02\xf9\x78\
+\x29\xb3\x91\x0b\x2e\xbc\x94\x97\xda\x56\x63\x18\x06\x5b\x9c\x1d\
+\x8c\x4f\x9a\xfc\x7f\xf6\xde\x3b\x4c\x8e\xea\x4c\xfb\xfe\x9d\x53\
+\xa1\xc3\xf4\xe4\x19\x49\xa3\x51\xce\x02\x44\x14\x48\x02\x4c\x32\
+\x19\x4c\xf2\x62\x13\x8d\x8d\xe3\x6b\x9b\x25\x39\x60\x03\x66\x17\
+\x9c\xe3\xe2\x35\xcb\xda\x24\x63\xc0\x78\x6d\x0c\x4e\x98\x64\xb2\
+\x01\x21\x92\x48\x4a\x20\xa1\x34\x0a\x93\xa7\x73\x57\x38\xe7\xfb\
+\xa3\xba\x7b\x46\xd2\x84\xea\x19\x89\xe5\xfd\xae\xb7\xb8\x06\xd0\
+\xa8\xbb\xaa\x9e\x13\x9e\xf3\xc4\xfb\xde\x77\x41\x63\xe8\xf1\x91\
+\xb6\xc9\x1f\xef\xdb\x46\x21\xfb\x66\x68\x2b\x59\x6b\x4d\xd4\xd0\
+\x08\x31\x9e\xd0\x44\x0c\xae\xeb\x72\xf0\xc2\x85\x64\x32\x69\x4e\
+\x3e\xf9\x24\xd2\xe9\x80\xc5\xf8\xd2\x4b\xbe\xcc\xef\xef\x7b\x80\
+\x7f\xbf\xee\x1a\xde\x5c\xb3\x86\x43\x8d\x09\x24\x44\x70\x82\x4b\
+\xc3\x40\x2b\x55\x0c\xbc\x0d\xbe\x69\x3c\x3c\x5e\x11\x95\xf7\x55\
+\xfb\xbe\x64\x4a\x6b\x37\xc7\x1c\x99\x26\x1a\x0d\x37\x58\x4a\x29\
+\x5e\x7e\xb9\x17\x5f\x4d\x1e\xd2\xd7\x85\x20\x2d\x9f\xa8\xae\xc6\
+\xf7\x15\x86\x14\xe4\x5c\x45\x2a\x9d\xe1\x84\x93\x4f\xe3\x0f\xbf\
+\xbb\x87\xd3\x4e\xff\x28\x4b\x9f\x79\x8a\xfd\x3c\x9f\x83\xa5\x81\
+\x42\x22\xa5\x11\xb0\x31\x0f\xe5\xa2\x4a\xc9\x46\x47\xc0\xc2\x2c\
+\x2d\xf3\x32\xa1\x7d\x73\xa5\x14\x0f\xfc\xe9\x25\xb4\xca\x22\xf4\
+\x76\x84\x0a\x87\x63\x25\xb4\x09\xba\x30\xa2\x42\x76\x0a\x05\x66\
+\xcd\x99\x83\x6d\xdb\xc4\x6b\x6a\x68\xef\xe8\xe0\x73\x9f\xff\x12\
+\x67\x9c\xfe\x11\x6e\xbd\xf5\x6b\xdc\x72\xeb\x2f\xb1\xed\xc8\x28\
+\x2a\x9e\x34\x42\x44\xb1\xa3\xb3\x10\x46\xb8\xc0\xb9\x15\xa9\x42\
+\x9a\x35\x45\xd8\xe1\x4a\x01\x98\xc2\xe5\x4b\x45\xf1\x1f\x64\x40\
+\x6e\xfb\x9b\x5f\xdf\x46\xa2\xaa\x8a\x87\xfe\xf6\x67\x92\xa9\x24\
+\x09\x2b\xc6\xde\x3d\x0d\x24\xef\x7e\xbd\x7c\x20\x68\xc0\x30\xcc\
+\xe2\xba\xf3\x42\x67\x1d\x13\xd1\x38\xb9\x65\xed\xec\x77\xc6\x44\
+\x4e\x39\x6e\x57\x52\xd2\x51\xe9\x29\x29\xc8\x24\x43\x5a\xb6\xa5\
+\xc2\x63\xa5\x99\x32\x65\x0a\xd7\x5d\x73\x35\x1a\x8d\x21\x25\xd5\
+\x55\x31\x92\x46\x2d\x5b\x63\x7b\x57\xf0\x6c\x83\x54\xd5\x7a\xc6\
+\xad\x7c\x8b\xc2\xef\x57\xe1\xf8\x2e\x5a\x0d\xcf\x80\xac\x81\x6a\
+\xcb\xc6\xd0\x75\x58\xd1\xe9\x15\xd4\x49\x69\x0c\x2b\x3d\xa4\xa0\
+\x83\x2a\xa9\x58\x2c\xc6\x6d\x77\xfc\x9a\xed\xdb\xb7\xf3\xf6\xdb\
+\x2b\xf9\xe4\x27\x2e\xe0\x9f\xcf\xbf\x40\xf3\xb8\x71\x7c\xed\xab\
+\x97\xf3\xec\x33\xcf\x70\xf2\x19\xa7\x60\x2e\x4b\x13\x35\xa2\xb8\
+\xbe\xcb\xb3\x2b\xdf\x60\x66\x73\x2b\x53\x27\x4c\xee\x77\x62\x85\
+\x80\x92\x19\xad\x03\x25\x25\x30\x46\x91\x15\xd4\x68\xcf\xc0\xcd\
+\x68\xa4\x17\xae\xca\x5d\x69\x0d\x7e\xb8\x93\xe8\xf1\xc7\x9f\xe0\
+\xd1\xc7\x1e\x67\xe6\xcc\x19\xb4\x6f\xdf\xce\x87\x3f\x7c\x0c\xc9\
+\xee\x76\xfe\xed\xfa\x6f\xf3\xda\xeb\xaf\xd3\xb9\x69\x13\xb6\xb4\
+\x31\xed\x6a\x36\x74\x6c\x62\xe5\xe6\xb5\x2c\x99\xbd\x3f\xb5\xd5\
+\x75\xe0\x14\xc0\x8e\x04\x72\xfa\x7e\x31\x47\x2e\x89\xc8\x08\x22\
+\x92\x20\x1a\xaf\x45\x86\xc5\x80\x57\x0a\x43\x5a\xd4\x57\xf5\x72\
+\xea\x71\xcd\x14\x32\xe9\x5d\x57\x81\xd8\x55\x7c\xcb\xb4\x78\xee\
+\xc5\xd5\xc3\x06\xce\xb5\xd6\xd4\x37\x35\xf1\xb1\xe3\x4f\xe4\xee\
+\xdf\xfc\x9a\x73\xcf\x39\x8f\xbb\xee\xbc\x83\xb7\x96\xbf\xcc\x2b\
+\xaf\xbd\xc6\x35\xdf\xbc\x8a\xba\xba\x5a\xee\xfb\xe3\x9f\xb0\xec\
+\x01\x05\x96\xa1\x5e\x5d\x82\x30\x10\x86\x89\x54\xe1\xe2\x45\xd2\
+\x00\x21\x6c\x4c\x37\x8d\x21\x7c\x0c\x29\xf1\x95\x3f\xb2\x9f\x24\
+\x40\xfa\xa0\x43\x9c\xd2\xb5\xb5\x35\xcc\x9c\x39\x83\xda\xea\x1a\
+\x6a\x6b\x6b\xf8\xe1\x8f\x7f\xca\x17\x3e\xff\x59\x7e\xf8\xa3\x9f\
+\xf0\xd3\x9f\xfc\x90\x82\xce\x11\x35\x6c\x6a\xaa\x6a\xfa\xeb\xcc\
+\x0c\x8b\xa7\xde\x7e\x11\x04\x1c\xb5\xe0\xb0\x01\xeb\x57\x05\x2f\
+\xed\x7b\x83\xd7\xa4\x45\xab\xb0\xa3\x31\x9c\xb4\x47\x3e\xe5\xe3\
+\x3a\x7a\xa7\xd8\xaa\x11\x90\x88\x2a\x9f\xca\x3a\x34\x06\x8f\x1d\
+\xee\xe0\xc6\x3b\x59\x2e\x3c\xef\x5c\x0a\x85\x02\x87\x1f\x76\x18\
+\x5b\xb7\x6d\xe3\xc1\x07\x1f\x22\x97\xcb\x31\xa1\x65\x02\xa7\x9c\
+\x78\x2c\x86\x30\xb0\x65\x34\xb4\x3f\x2e\x24\x58\x52\x61\x5a\x36\
+\xa6\x34\x78\x65\xfd\x2a\x26\xd5\x35\x31\x65\xc2\xd4\x60\x0c\x0c\
+\xb3\x78\x2f\x0d\xee\x00\xf8\x67\x2b\x82\x90\x36\x52\x26\xc2\x1f\
+\xce\x1a\x84\xf4\x80\x6c\x78\x25\x95\xcd\x66\xb9\xf8\x93\x17\x21\
+\xa5\xc4\x34\x4d\xf2\xf9\x3c\x27\x9c\x70\x3c\x4a\x29\x5c\xd7\x65\
+\xaf\xb9\x73\xd9\xb0\xbd\x8d\x58\xb1\xf3\x70\x4b\x77\x3b\x3f\x7b\
+\xe0\xbf\x39\xf7\x43\xa7\x51\x57\x55\xcd\xa6\xae\xad\x58\xc2\xa0\
+\xa0\x3c\xf6\x9d\xb5\x2f\x14\x72\x10\x8b\xa3\xd3\x7d\xa3\x3b\x51\
+\x0c\x89\xff\x6e\x1f\xed\xd9\x95\x58\x86\x45\xa2\xa6\x81\x4c\xaa\
+\x27\x18\x40\xd3\xc6\x73\x1d\x0c\xd3\xc2\xf3\x9c\x32\xd8\x58\x50\
+\x4d\xdd\x07\x07\x49\xf0\x87\x8e\x5d\x18\x86\xc1\x69\x1f\x39\x85\
+\x7f\x39\xeb\xcc\x00\xd1\xb0\x48\x7e\xda\xdb\xdb\xcb\x37\xbe\xfe\
+\x55\x7a\x3a\xb6\x22\x64\xf1\xb4\x8f\x27\xb8\xf3\xe9\x3f\x73\xf7\
+\x53\xf7\xf3\xc0\xd5\xb7\xf2\xe2\x9a\xd7\x38\x7e\xc9\x49\xdc\xf5\
+\xd0\x5d\x9c\x78\xe0\x51\x34\x37\x8e\x07\xcf\x05\xcb\x46\x69\x85\
+\x2c\x36\xb6\x86\x5d\x18\x5a\x07\x16\x42\x22\x69\xb2\xe9\x8f\xaf\
+\xa2\x85\x44\x15\x91\x42\x1d\xa7\x40\x2c\x9e\x20\x93\x4e\x52\x55\
+\x55\x4d\x3e\x9f\xc3\x73\x0b\x20\x04\xd2\x17\x18\x13\x24\xd2\x30\
+\x86\xb5\xa4\xba\xda\xdb\x79\xf8\xc1\xbf\x92\x4c\x26\x79\xe6\xc9\
+\x7f\x90\x4c\x06\xf1\xb6\x25\x8b\x17\xe3\x79\x1e\xa6\x69\x20\x04\
+\x18\x7e\x0a\x29\x14\x8d\xd5\x75\xe4\x9c\x02\xd9\x42\xae\x68\xba\
+\xeb\x5d\xe2\x2d\x02\x90\x7e\x16\x51\xcc\xea\x85\xae\x4c\x06\x1c\
+\x61\x32\xd7\xd9\x40\x9d\x88\xb0\x6a\xf3\x3a\xe6\xb5\xce\x08\xb8\
+\xdb\x22\x31\x9c\x42\x0e\xd3\xb2\x51\xbe\x8f\xbf\x13\xb5\xbd\xed\
+\x25\xf0\x44\xcb\x90\x16\x72\x69\x43\x37\x35\x35\x31\x7e\xfc\x78\
+\x7c\xdf\xa7\xb7\xb7\x8f\x7f\xbf\xee\x1a\x72\xb9\x3c\x37\xfe\xec\
+\x27\xa4\x8b\x07\x80\x1e\x48\x16\xa8\x35\x44\xa2\xdc\xf2\xd4\xfd\
+\x80\x60\xef\xe9\x7b\xb3\xa1\xed\x5d\x1c\xc7\xa1\x36\x9e\x60\x7b\
+\xaa\x87\xf9\x13\xa7\xd3\xd2\x34\x91\x1d\xf0\x81\x8b\xd4\x3e\x91\
+\xea\x18\xb9\x77\xbb\xd9\xfe\xd0\xdb\x38\x03\xfe\x5e\x01\xef\xb6\
+\xad\xa3\xe0\x7b\x2c\x9e\xbf\x90\x42\x71\x3c\x3d\xd7\x61\x38\xa7\
+\x5e\x65\x5d\x9a\x4f\x99\x85\xb0\x87\x9f\xd7\x9e\x9e\x1e\xae\xf9\
+\xe6\x55\xa4\xd2\x69\x3e\x72\xea\xc9\x38\x8e\xc3\x67\x3f\xfd\x29\
+\x28\xc6\x21\x29\x66\xa4\x35\x3a\x5c\x97\x87\xee\x2f\x26\x95\x42\
+\xd0\x91\xea\xe1\x9e\xe7\x1f\xe4\x23\x07\x1f\xcb\xb3\x6b\x96\x73\
+\xe6\xc2\x0f\xf3\xc8\xf2\xa7\xd1\x08\x6c\xd3\xe2\xf8\xfd\x0e\xc7\
+\x8e\x27\xd0\xf9\x4c\xd0\x3f\xa0\x0a\x28\x3f\x89\xd6\x21\xdd\x3d\
+\x15\xb0\x76\x87\xa6\x59\x2f\xa5\x34\x0b\x85\xc2\x0e\x99\x3e\xc7\
+\x71\x76\xa8\x2b\x12\x3b\x55\x36\xee\x3f\x7d\x6f\x5e\x7a\xf7\x0d\
+\x9e\x5f\xf9\x32\x0d\xd5\xf5\xac\x6a\x5b\x4b\x32\x9b\x62\xef\x59\
+\x0b\xb8\xe1\xfc\xaf\xf0\xa7\xa7\xee\xe7\xe3\x87\x1c\x37\x2a\x25\
+\xe5\xa3\x69\xb1\xaa\x99\x1b\x6d\xc1\x88\x57\xf3\x95\x3b\xbf\xc7\
+\xf7\xcf\xbe\x84\xd7\xd6\xaf\x62\xf9\x86\xd5\xec\x3b\x6d\x1e\xef\
+\x6e\xdf\xc4\x01\x53\x66\xb3\xd7\xa4\x59\xe5\x91\x2e\xe4\x0a\xc3\
+\x66\x5c\xfa\x65\x73\x71\x9c\x5d\x63\x29\xb9\x5c\x6e\xc7\x60\xb4\
+\xd6\xc4\xed\x28\x4b\xf6\x3a\x84\x9b\xfe\x72\x1b\xcf\xbd\xb5\x94\
+\x97\x37\xae\xe1\xb6\xbf\xfd\x9a\xbb\x9f\xfc\x23\x1f\xfd\xd0\xa9\
+\x2c\xde\xe7\x50\xda\xb6\x6f\xe2\xc0\x96\x99\x8c\x06\x9b\x51\x00\
+\x4d\x46\x82\xc9\x75\x33\xf9\xfb\xf3\x7f\xa7\x36\x12\x63\xd5\xd6\
+\xf7\x38\x72\xee\x41\xfc\xec\x8f\x77\x73\xdd\x19\x9f\xe3\x3b\xbf\
+\xbd\x95\x73\x16\x9f\xc0\xbe\x33\xf6\x0e\x4e\x35\x65\xd0\x2b\x37\
+\x0c\x1b\xc3\x2a\x29\xe4\x64\x32\x89\xd6\x9a\xbe\xbe\xe4\x0e\xee\
+\x7d\x80\x14\x00\x4a\x08\xe6\xbb\x1d\x54\x9b\x0e\xdf\xbd\xfd\xdf\
+\x38\x7c\xde\x42\x8e\xda\xef\x43\xb8\xf9\x4c\xb0\xe8\x75\x00\xe5\
+\x22\x06\x9c\x92\x79\x2f\x4f\x4a\x65\x2b\x76\xe3\x3d\xed\xd3\x62\
+\x4d\x60\x5c\x34\xc1\xd7\xef\xfb\x0e\xa7\x2e\x3c\x86\x93\x0e\x3c\
+\x8a\x17\xde\x5c\xce\xf1\x0b\x96\xf0\xc6\xba\x77\x18\x5f\xdb\xc8\
+\xf4\xc6\x96\x1d\x34\x9f\x6f\x18\xf4\x6a\x35\x64\xcd\xf9\xc0\xde\
+\x35\xcf\xf3\xca\x6b\x3a\x9b\x0d\x18\xaa\xd3\xe9\x74\xb1\x78\x70\
+\xb0\x97\x72\x39\x68\xf6\xfe\x64\x9c\x3c\xef\xae\x7b\x8b\x17\xd6\
+\x2c\xe7\x9e\x67\xfe\xc2\x77\xce\xbf\x92\xdf\x3c\xf5\x00\x97\x9e\
+\x72\x11\x5d\xe9\x3e\xf6\x9a\x38\x63\x17\x4b\x41\x69\xc5\x38\xab\
+\x8e\xa9\xb1\x89\xe0\x39\xe5\x19\x6d\x2f\x64\xf9\xf9\x6f\x6e\xe6\
+\xfa\xf3\xaf\xe4\xcd\xd7\xdf\xa0\xb5\xb6\x91\xbe\x5c\x9a\x85\x33\
+\x17\x60\x89\xe1\x0e\x17\x4d\x6f\xb9\x77\x74\xf8\x79\xcd\x64\xb3\
+\xe5\x52\x04\x80\x5c\x3e\x5f\xb4\xc0\xc0\xb6\x47\x5f\x17\xa1\xb5\
+\x26\x1e\x89\xb3\x60\xfa\xde\xec\x3d\x6d\x3e\xa7\xdd\x76\x3d\xff\
+\x78\xe5\x29\xfa\x72\x29\xfe\xb9\xe2\x65\x66\x4c\x9c\x46\x7d\x53\
+\x0b\xa9\xbe\x2e\x4e\x3c\xe0\x88\xfe\x44\x8a\x76\x11\xba\x82\xb6\
+\x18\xad\x18\xaa\x20\x79\xc4\x3a\xa9\xc1\x1a\x16\x77\xde\xb8\xe3\
+\xeb\x9b\x98\x36\x7e\x32\x86\x94\x8c\xaf\x6d\x62\xfa\xb8\x56\x36\
+\x74\x6c\xc1\xd7\x8a\x8e\xbe\x4e\x0c\xad\x69\x49\xd4\x8f\x7a\xa0\
+\x04\xe0\x6b\x85\x8f\x8f\xa1\x5c\x66\x35\x8d\xc7\xd1\x2e\xb6\x21\
+\x89\x99\x02\x29\x34\x11\x03\x0c\x51\x3a\xb7\x34\x0a\x8d\x1f\x8a\
+\x92\x69\xd7\x06\xe3\x21\x15\x5b\x3e\xcb\xf1\x0b\x96\x50\x1f\x89\
+\x21\xa4\xe4\xe3\x4b\x4e\x62\x6b\xcf\x76\xfe\xf0\xb5\xff\xe2\xb5\
+\xf5\x2b\x68\xae\x6b\xa6\xda\xb2\x69\xae\xaa\xde\xa1\xa6\xac\xc2\
+\x44\x51\xf0\xde\xca\xa3\x3e\x1e\xa7\x3a\x12\x23\x2a\x21\x62\x9a\
+\x44\x51\x60\x08\xe2\x12\x12\xb1\x58\xf1\x84\x0c\xe1\x22\x0d\x22\
+\xef\x50\x32\x6a\xad\x99\x26\x4d\x12\xb1\x1a\x7e\xf5\xdb\x1b\x89\
+\x9f\x7c\x11\x87\x4e\x9c\xcd\xed\x7f\xbf\x93\x6f\x9d\x73\x19\xe9\
+\x74\x92\xfa\x44\x1d\x52\x98\x65\xaf\xa5\x20\x7d\xde\x16\x72\x14\
+\xc5\x16\xa0\xf0\x41\x79\x9c\x7c\xf0\xd1\x4c\x6c\x1c\x8f\x46\x61\
+\x1b\x02\x5f\x28\xe2\x11\x1b\xdb\x34\x50\x3a\xc0\xec\x16\xe5\xf1\
+\x09\x57\x31\x17\xa6\x04\x81\x9d\x6d\x43\xad\x69\x34\x0c\xaa\x4d\
+\x8b\x85\xb3\xf7\x63\x66\xcb\x74\xe6\x4e\x9a\xc5\xb1\xfb\x1e\xca\
+\xd4\xe6\x56\x26\x37\xb5\xd0\xd1\xd7\x55\x94\x7d\xd7\xfb\x29\x54\
+\x71\x4e\xfc\xb2\x94\xb6\x80\xd3\x0f\x3d\x9e\xbd\xa7\xcd\xe1\xf9\
+\x55\xaf\x00\x3e\xd5\x91\x08\x4a\xfb\x28\x39\x1c\x96\x83\xae\x48\
+\x99\x0c\xb5\x5f\xc7\xd2\x9e\xa3\x01\x53\x40\x83\x61\xe0\xf4\x76\
+\xf2\xeb\x2f\xff\x90\x37\x36\xae\xe1\x43\xf3\x0f\xe2\x9d\xad\x1b\
+\xa8\xab\xae\xa3\xa9\xba\x9e\x0e\xa7\xd0\x6f\x46\xcb\x28\x86\xd9\
+\x18\xda\xdd\x13\x1a\x84\xd1\x47\xe8\x8a\xf3\x52\xaa\xba\xbe\xbe\
+\x8e\x9e\x9e\x5e\x1a\xc6\x8d\xa7\x6b\xfb\x36\x22\x91\x08\x96\x65\
+\x95\xb3\x37\x52\x4a\x4c\x11\xf0\x72\x45\xad\x38\x9f\x3e\xe1\x82\
+\x7e\xdf\x5d\x29\xe6\x4d\x9d\xdf\x9f\x93\x76\x1d\x8e\xde\xef\x43\
+\x28\x27\x8f\x14\x15\xd6\x5e\x14\x79\xe2\x6d\x61\x62\x69\x13\x1c\
+\xc5\x17\x4e\xfa\x34\x38\x79\xf6\x9b\xba\x0f\xfb\x4d\x0d\x82\x81\
+\x07\x4f\x5b\x10\x7c\xb8\xa8\x1b\xa4\x56\x58\x23\xc4\xbf\xca\x60\
+\xfd\xa6\x19\xc4\x8d\x84\x20\x9b\xcd\xd2\x34\xae\x99\x64\x6f\x1f\
+\x86\x61\x10\x8f\xc5\xe8\x6a\xef\xc2\xc0\x00\xcf\x67\xdf\xa9\xf3\
+\xd9\x77\xc6\x82\x7e\x59\x85\x00\xa5\x38\x70\xee\x41\xc1\x9f\x7d\
+\x9f\xe9\xcd\x93\xd9\xb2\x71\x1d\xa6\x69\x61\xc8\xf0\xd9\x32\xc3\
+\x08\x92\x10\x16\x06\x38\x8a\x25\xb3\x16\x82\x80\x7d\x26\xce\x05\
+\x29\xb9\xfe\xec\xcb\xc1\x30\xb9\xe6\xac\x4b\xc0\xb4\xc0\x0b\x7a\
+\xcf\x50\x46\xb1\x1c\x64\xe4\x4c\x66\x6d\x6d\x2d\x99\x4c\x06\xcb\
+\x34\xf1\x7c\x8f\x9a\x86\x26\x52\x3d\xdd\x54\xd7\xd6\xa0\x7d\x1f\
+\xad\x05\x52\x9b\x90\xce\xb2\xf4\xc7\x0f\x31\xa5\xb6\x99\xda\x68\
+\x15\x17\x1c\xfd\x71\x22\x58\x58\xf1\x86\x40\x41\xe9\x7e\x00\x35\
+\xa9\x24\x52\xcb\xfe\xb6\x18\x31\xf2\x94\x16\xf1\x71\x31\xb5\x09\
+\xbe\xe0\x13\x87\x9f\x15\xc8\xe4\x7b\x1c\xbf\xef\x51\x00\xec\xd5\
+\x3a\x9f\x52\xd3\x2e\x4a\x94\xbf\x6b\x69\x39\x6c\xb8\xac\xb4\x39\
+\x4d\xd3\xc4\xb6\x6d\x1c\xc7\x09\xe8\xe3\xe3\xf1\x72\x69\x49\x4f\
+\x6f\x0f\x02\x30\x31\x8a\xfd\x69\xc5\x6c\xb3\xe3\x70\xd1\x71\xe7\
+\x06\x77\x77\x1d\xc6\xd5\x8d\xe3\x94\x43\x4e\x00\xcf\x65\xfe\x94\
+\x79\xa0\x15\x89\x58\xcd\x8e\x71\x29\x41\x50\xab\x26\x24\xa6\x36\
+\x40\x99\x3b\x30\xbb\xd6\x99\x71\xbe\x78\xdc\x85\x28\xdf\xe3\xf8\
+\x05\x47\x06\x0b\xdf\x30\xfa\x3f\xa3\x86\x09\xd6\x84\x28\x41\xf0\
+\x3c\x8f\xa6\x09\xad\x74\xb7\x6f\x2d\xef\xdb\xaa\xaa\x38\x91\x68\
+\x8c\x7c\x2e\x17\x9a\x66\x6c\xb0\x89\x12\x1a\xe2\x35\xcd\x7c\xec\
+\x88\xb3\x40\x79\x20\x24\xfb\xcd\x3e\x00\x7c\x8f\x69\x2d\x33\xca\
+\xae\xee\xf4\xa6\xd6\xc0\x05\xb6\x4d\xc0\x42\x69\x19\x3a\x43\x16\
+\x4c\xd7\xd0\xb1\xcc\x41\xff\x26\x91\x48\x70\xe5\x57\xaf\xe2\xfa\
+\x6f\x5f\xcf\xa1\x4b\x0e\xe3\xd9\xa7\x1e\xe7\xc5\x65\x2f\xb1\xee\
+\xbd\x75\xcc\x9a\x39\x8b\xda\xda\x1a\x32\x4e\x9e\x82\xe7\x61\x38\
+\xba\xd4\xf0\x3f\xb2\x79\xef\xfb\xf4\xe4\x7b\xa9\xb1\x5f\x01\xb3\
+\x2f\x64\x31\xa7\x41\x67\x67\x3b\xcb\xf5\x56\xb2\x55\x46\xb1\x17\
+\x89\xfe\x16\x3e\xb1\x53\x40\x79\xc0\x42\xed\x28\x74\x30\x8d\x05\
+\xb8\x43\xc4\x2e\x84\x10\x38\x8e\xc3\xea\xd5\x6b\x48\xa5\x52\xf8\
+\x4a\x71\xc2\xc9\x1f\xe1\xb3\x9f\xf9\x14\x5f\xbb\xf2\x4a\xb6\x6d\
+\xdb\xc6\x23\x8f\x3d\xc6\xd7\xaf\xb8\x92\xcd\x7e\x37\x09\x67\x13\
+\x7e\x98\x46\x5e\x21\xd9\xa6\xda\x51\x1b\x3c\x3a\xc9\x85\x0e\x9c\
+\x6b\xad\xc9\xbb\x2e\x6f\xea\x36\x5e\xa8\x7e\xb7\x1f\xb6\x58\x0c\
+\x12\x34\xd7\x3b\x2d\x54\xe5\x30\x49\x0f\x7f\xef\xc6\xc6\x46\xbe\
+\xf3\xbd\x1f\xf0\x89\x0b\xce\x63\xf5\x9a\x35\x4c\x9f\x36\x9d\xb3\
+\xce\x3e\x97\x9f\xfe\xf8\x07\xfc\xec\xc6\xff\xe4\x8a\xcb\xfe\x15\
+\x89\xe6\x99\xd8\x7b\x44\x6c\x1b\x63\xdf\x18\xab\x55\x12\x74\x2f\
+\xa2\xd9\x60\x9b\xbf\x6e\xd0\xb0\x41\xc1\x2a\xb0\x5e\x6c\x60\x52\
+\xef\x8b\x78\x5e\xb8\xa6\x68\xed\x56\xe1\xf7\x6d\x62\x59\x7c\x1d\
+\xb1\x12\x19\xab\xde\x69\x4e\x87\xd8\x38\x75\xd1\x1a\x66\xea\xa9\
+\x45\x1e\xc7\xa1\xdd\xbd\x75\xeb\xd6\xb1\x62\xe5\x2a\xf6\xda\x6b\
+\x3e\xb3\x66\xcc\xe0\x91\x47\x1e\x65\xda\xf4\x69\xdc\x75\xcf\xbd\
+\x7c\xfb\xfa\xeb\xe8\x4e\xe6\x58\xeb\x6e\x27\x55\x28\xec\x58\xc3\
+\xee\x56\x6e\x6e\xc4\x45\x8c\xce\x6c\x37\x7d\x8d\x9a\x44\xe2\xdd\
+\x5d\x4b\x31\x44\x85\xc6\x91\x80\x82\xe9\xb0\x50\xec\x8b\x39\xcc\
+\xd7\x94\x52\x34\x4d\x98\xc4\xc2\x83\x0e\x64\xe9\x73\xcf\xf0\xcd\
+\x6b\xae\xe3\xda\x6f\x5e\xc5\xfd\x0f\xfc\x99\x27\x9e\x7c\x8a\xe3\
+\x8f\x3f\x8e\x63\x8e\x3a\x7c\x54\x0a\x4a\x69\xc5\x16\xaf\x87\xf5\
+\xf9\x0d\xe4\x9d\x42\xb8\x3a\x29\x1d\xc5\xf7\xdf\x26\x6a\xd6\x54\
+\x94\xd5\xc6\x17\x68\xf6\x1a\x34\xce\x38\xa8\x92\xca\x64\x32\x5c\
+\x7b\xf5\x37\x70\x73\x39\x1e\xfc\xcb\x03\xa4\x52\x29\x5e\x5b\xbe\
+\x9c\xf5\xeb\x37\xd2\xd2\x32\x91\x48\xc4\xc6\x2f\xa4\xd8\x10\x3f\
+\x98\xac\xac\xa9\x00\xf4\xce\xa5\x10\x7b\x94\x9c\x7b\x10\x39\xcf\
+\x0f\xf7\x3d\x65\x60\xc5\x37\xe2\x9a\x9b\xe9\x76\x0f\xc0\x0a\xdb\
+\x60\xac\x35\x9e\xf1\xd6\x88\x10\x22\x96\x65\x31\x67\xce\xec\xa2\
+\x75\x68\xb0\xe9\xbd\x77\xe8\xee\xee\x41\x08\xe8\xe9\xeb\xe3\xb5\
+\xe5\x6f\x80\x69\xb3\x29\x32\x07\x37\xb1\x10\x1d\xc2\x8d\x13\x52\
+\xb2\xdd\xd9\xca\x91\x5b\xb6\x30\x37\x25\xfb\xe3\x37\x21\xb2\x65\
+\xa6\x9c\xce\x13\x66\x07\x5d\xee\x61\x14\x3c\x3f\xa4\xac\x06\xf5\
+\x55\x2f\x0e\x3b\x9e\xa5\x00\xeb\x17\xbf\xf0\x39\x00\x0e\x3c\xf0\
+\x40\xd6\xae\x5d\x47\x55\xa2\x8a\x35\xef\xbc\xc3\xd2\xa5\x2f\xd2\
+\xdd\xd3\x43\x2c\x1a\xa5\xcf\x5f\x8c\xe9\xd5\x84\xc6\x0a\x74\xdc\
+\x1c\x8e\x8c\x11\xab\x5d\x84\xeb\x84\x7b\xe7\x68\xd4\x20\x51\x3d\
+\x9e\x3e\xff\x40\x72\xee\xb8\x8a\x5c\x1b\xd3\x77\x90\x74\xe3\x0f\
+\x63\x3d\x96\x5a\x7e\x7a\x7a\x7a\x29\x14\x1c\xa4\x61\xd0\xd5\xd3\
+\xc3\xf4\xe9\xd3\x83\x42\x47\xad\x71\x45\x84\xb5\xf1\x03\x68\x4f\
+\xb4\x86\x42\x91\x18\xce\x25\x8a\x46\x24\x5d\x89\x97\xa9\x17\xad\
+\x74\xb9\x47\xe0\x79\x63\x07\x7e\xcb\xba\x12\xcd\xf6\x50\x63\xf3\
+\xd6\x8a\x15\x01\x81\x4a\xdb\x16\x7c\xa5\x48\x67\x32\x44\x62\x51\
+\x6c\xdb\x1a\x5d\xab\x8e\x06\x5f\x98\x6c\x8e\xce\xe2\x8d\xc4\x21\
+\xb8\x21\x08\x36\x34\x60\xd8\x92\xb9\xbc\xc6\x49\xd9\x49\x15\xb5\
+\xc5\xa4\xab\xbc\x21\xc3\x33\xe6\x48\xbe\x6d\xc9\x74\xbe\xe8\xc2\
+\x0b\x30\x0d\x03\xb7\xd8\xcb\xd7\xd7\xdb\x4e\xc7\x6a\xb5\x4b\xc5\
+\xf6\xf0\xca\x59\x96\x39\xc9\x82\x96\x88\xb0\x03\x16\x1c\xad\x41\
+\x43\x68\x05\xfc\xf2\x15\x07\x09\x15\xf1\x78\x9c\x3f\xfc\xee\x1e\
+\xd2\xe9\x0c\x13\x26\x4c\xe0\x94\x13\x4f\xa0\xa3\xb3\x8f\xb2\x17\
+\x13\x22\xf5\x2d\x76\x2c\x5f\x29\x1a\x06\x02\x4f\xe8\x80\xef\x71\
+\x60\xdb\x51\x71\x62\x44\xb1\x5e\x28\xc0\xe4\x29\x81\xb5\x85\x0d\
+\x3c\xf6\x7f\x27\x4c\xcc\xa2\xf4\x8e\x73\xe7\xcc\xe6\xcf\xf7\xff\
+\x81\x54\x5f\x92\x8f\x9e\x79\x26\x5a\x6b\xee\xb9\xe7\x5e\x6c\xbb\
+\x92\x71\x2e\x8d\x89\x28\x53\xbe\x87\xca\xee\x95\xba\x5a\x75\xa5\
+\xdc\x84\xe1\xe2\x8c\x5a\x6b\xe6\xcf\x9b\xcb\x82\x05\xfb\xe0\x79\
+\x1e\xb9\x5c\x8e\x73\x3e\x76\x36\x9e\xe7\xf1\xad\xab\xbf\x41\x2a\
+\x95\x2c\xce\x69\x29\xd6\x25\x47\xad\x4c\xc4\x8e\x3e\x6c\x51\x7e\
+\x63\xcc\x7d\x7c\xfd\xc0\x77\x43\xcb\x2c\xa5\xa4\x73\xdb\x66\xf2\
+\xb9\x34\x5d\xdb\xb7\x73\xfb\xad\xbf\x24\x99\x4c\x72\xc1\xb9\xe7\
+\xf0\xe9\x4f\x5e\x44\xbe\x50\x28\x67\xf7\x46\xa7\x81\x45\x19\xd5\
+\x23\x54\x87\x71\x71\xad\xcb\xe2\xba\xf7\x8a\x6b\x2e\xd2\x2f\xd0\
+\x80\x4c\x63\xbf\x57\x3b\x5c\x67\x92\x39\x94\xa9\xbc\x33\xaa\xa1\
+\xeb\xba\x3b\xc4\xa3\x82\xd4\xa6\x2e\x72\xe1\x85\x5d\x5e\xde\x98\
+\xfa\xef\xb4\xf6\xc2\xa7\x35\xb5\x0e\xf5\xac\x9d\xfb\x14\x0d\xc3\
+\x28\x67\xbe\x7c\xdf\xc7\x75\xdd\x72\xff\x5e\x65\x97\xec\x4f\xfd\
+\x27\x7b\x58\xd9\xb6\x96\x9f\xfc\xf9\x56\xfe\xf4\xad\x5f\x93\x4e\
+\xf7\x62\x19\xc1\x09\x67\x95\xfa\x9b\xf6\x70\x63\xea\x60\xec\xbd\
+\xbe\xef\xd3\xd3\xdd\x03\x10\xb4\x54\x54\xc5\x8a\x0b\xc9\x2f\xce\
+\x6b\xc8\xa0\xa1\xf6\x18\x5d\x87\x6e\x40\x44\x1a\xfe\x59\xa5\x6f\
+\xa9\x61\x07\xac\xdc\x30\xee\xfb\x78\x45\x30\xb1\x52\xc6\x1a\x20\
+\x95\x4a\x21\xa5\x2c\xb2\x69\xbb\x44\x6c\xc6\x0e\xd5\x62\x49\x0c\
+\xa9\xdf\xf7\xfe\xbd\x12\x99\x6d\x4f\x47\x07\x86\x61\x94\x65\xcb\
+\x17\x0a\x81\x82\x02\x6c\x5b\x8e\x49\x53\x56\x02\x12\x2a\x06\xb8\
+\xb5\x7e\x34\xc6\x19\xd7\x9e\x47\x57\xa6\x8f\x17\x6f\x7c\x98\x9e\
+\xce\x6d\xc4\x22\x51\x4c\x21\x31\xa4\x1c\x40\xd4\x3a\xfc\x98\x99\
+\x95\x2c\xf0\x9d\x4f\x4f\xe5\x77\xe3\xbb\xf9\xd0\x02\x28\x3f\x20\
+\x62\x10\xa3\x18\x28\xe5\x27\xf1\xdd\x76\x04\x91\x70\x0b\x5a\x6b\
+\x94\x4a\x51\x09\xca\xfe\x50\x34\xdc\x1a\x85\x52\x39\x94\x9f\x46\
+\xa9\x10\x28\x08\x52\xa2\x54\xb2\x0c\xab\x1b\xb1\x6c\x1e\x5e\xfe\
+\x2c\x97\x9f\xf1\x59\xde\x5e\xfb\x16\xeb\x3b\xda\x98\xda\x3c\x91\
+\x98\x1d\x61\x66\xcb\xb4\xa2\xb2\xd7\xef\x3b\x9a\xff\xce\x0a\xba\
+\xc4\xb8\xec\xbb\xdd\x40\x3e\xb4\x92\xf2\xbc\x5c\x50\xe7\x52\x31\
+\x31\x8e\x81\xef\xa6\xf1\xa5\xae\x88\x77\xcf\xf7\x4a\x56\xa6\xae\
+\x68\xdd\xee\x00\xb1\x8b\xc0\xf7\xb3\xd8\x72\x25\xfb\xcc\x8b\xe3\
+\xb9\xa3\x27\xf3\xd4\x40\x55\xbc\x8a\xd7\x96\xa5\xc9\x3a\xea\x7f\
+\x65\x0e\x87\xfa\xef\x98\x51\x47\x55\x0e\xdf\xcf\xe3\x7b\x21\x69\
+\xdd\xbc\x48\xe0\xc5\x88\x60\xbf\x0b\xc3\xe0\x86\xf3\xae\xe4\x91\
+\x17\x1e\x66\x7d\x47\x1b\x87\xce\xd9\x9f\x96\xc6\x09\x34\x54\xd5\
+\x86\x5e\x2e\x43\xb2\xc5\x94\xac\xa5\x52\xa3\x71\x29\x88\xad\x94\
+\x2a\x56\xcf\x2a\x0c\xb3\x09\x53\x57\x42\xc4\xe0\x23\x45\x74\x34\
+\xc7\x05\xd2\xac\xc3\x8a\x4c\xc6\x34\xc3\x73\x47\x78\xee\xf0\x00\
+\xfb\x3b\xe3\x60\x97\x32\x9b\xa5\xf6\x02\xc3\x34\x8a\xb2\x6b\x94\
+\xd7\x8d\xeb\x6c\x46\x2b\x3f\x94\x92\xf2\x9c\x6d\x20\x03\x7c\xa6\
+\xea\x78\x35\xdf\xb9\xf8\xda\x60\x8b\x39\x59\xf6\x9e\xb5\xa0\x5c\
+\x47\xa3\x8b\x27\x7d\x85\x6c\x43\xa3\x3e\x75\xa5\x94\xe5\xff\x96\
+\xe8\xb8\x77\x54\x56\x0a\xc3\x9e\x80\x65\x55\x02\x7a\x97\x47\x1a\
+\x9b\x2b\x16\x40\x2b\x0f\xd3\xae\xc3\x8c\x34\x57\xf4\x5d\x69\x16\
+\xd0\x7a\x64\x3c\x29\x21\x44\x59\xde\x52\x73\xb5\xef\xfb\x58\x96\
+\x85\xef\x7b\x48\x69\xe2\x78\x8d\xac\xdf\xe8\xe3\xfb\x63\x1b\xfd\
+\x58\xcc\xa7\x2f\xa9\x89\xc4\x25\xef\xf7\x55\xb2\xa6\x4a\x6b\x37\
+\xe8\x5c\x90\x41\x73\xfe\x58\xb4\x94\x56\x28\xaf\x1b\xaf\xb0\x19\
+\x2f\x24\x4e\x98\xd4\x76\x59\x33\xda\x9e\xc3\x83\x3f\x7c\x20\xe8\
+\xca\x70\x0a\x41\xf6\xd6\xc9\x17\xd9\xc5\x55\x68\xf7\xdd\x1c\x6a\
+\x93\xf5\xf6\xf6\xd2\xd8\xd8\xc8\x33\xcf\x3c\xcb\x61\x87\x1d\x4a\
+\xa1\x50\x60\xdd\x7b\xef\x31\x63\xfa\x74\xb6\x6c\xdd\xc6\x84\x71\
+\xb5\xa3\x20\x62\x50\x68\x34\x9e\x00\xbf\x02\xf3\x51\x49\x13\xd7\
+\x75\xc8\x66\x93\xa1\x89\x18\xb4\xd6\xf8\xae\x33\xac\x25\x55\x72\
+\x65\x3d\xcf\x27\x9b\xcd\xe0\x38\x2e\xcd\xcd\x4d\xf4\xf5\xf5\x31\
+\x69\x52\x2b\x4b\x97\x2e\xe3\xd0\xc3\x0f\x65\xeb\x96\x4e\xcc\xc8\
+\x64\xa2\xf1\x79\xa1\x28\xb5\xa4\x04\x3b\xdf\x44\xc4\x6d\x2b\xd2\
+\x59\x09\xc8\x0f\xe8\xc3\x73\x9c\x01\xef\x60\xec\x60\x25\xd8\xc2\
+\xd8\x63\x90\x34\x52\x4a\x92\xc9\x24\xb1\x58\x8c\xee\xee\x6e\x5a\
+\x5a\x5a\x30\x4d\x93\xed\xdb\xb7\xd3\xd4\xd4\x54\x36\xbd\xb5\xca\
+\xa3\x94\x15\xda\x02\x55\x2a\x87\xc6\x2f\xc2\xaf\x84\x9b\x53\x51\
+\x4c\xdb\x6b\xa5\xd0\x7e\xa1\x22\x99\xb5\x76\x46\x44\x7c\x80\x00\
+\x0b\x6c\xdb\xf6\xed\xc4\x62\x31\x26\x8c\x1f\xcf\xcb\xaf\xbc\xca\
+\xfc\x79\x73\x79\xf9\xe5\x57\x58\xb2\xf8\x10\xa4\x8c\xa2\xe5\x1c\
+\x3a\xba\xc7\x8f\x6d\xc4\x35\x44\xf2\x90\x2d\xd4\x10\x4b\xc8\x32\
+\xc5\xdd\xd8\xad\xa4\x70\xf3\x6a\x59\x16\xef\xbe\xbb\x96\x58\x2c\
+\x8a\xe3\xb8\x8c\x1b\xd7\xcc\xa6\x4d\x9b\xf1\x3c\x8f\x58\x3c\xce\
+\xf4\xa9\xad\xa3\x7c\x01\x03\xd3\x9e\x4c\xa4\x6a\x16\x61\xd9\xd6\
+\xa5\x0d\xae\x78\x26\x28\xd9\x11\x12\x7a\xbb\x07\x58\x0d\xde\x80\
+\x95\xde\xbf\xee\xa5\xd0\x44\x84\x22\x4f\x05\xbd\x7b\x5a\x6b\x62\
+\xb1\x18\x91\x48\x84\xb9\x73\xe7\xf0\xf8\x13\x4f\x72\xc8\x21\x0b\
+\x59\xbb\x6e\x1d\x7f\xfa\xf3\x5f\x39\xe7\x63\x67\xb3\x75\xdb\x36\
+\xa4\x18\x57\xa1\xd0\x60\x48\xcd\x84\xcc\x3a\x7a\x32\x99\x50\x93\
+\x10\x20\x04\xf6\x30\x69\x5c\x86\x03\x17\x4a\x22\x76\x48\x8c\x1a\
+\xad\x59\xfb\x8e\x13\x4a\xa9\xd8\xb6\x4d\x7d\x7d\x1d\x77\xdf\x73\
+\x2f\x07\x1c\x74\x00\xaf\x2f\x7f\x9d\x3f\xff\xe5\x6f\x7c\xe2\xfc\
+\xf3\xb8\xf4\xd2\x2b\xb9\xfe\xdf\xae\x07\xed\x57\x84\xa9\x63\xa1\
+\x79\xc3\xeb\xa0\x2d\xdf\xbb\x43\x75\xf6\x48\x57\x9f\x9b\xc2\xaa\
+\x24\x68\x5d\xc1\xa5\x94\xa2\xae\xbe\x0e\xe5\xf9\xdc\xf1\x9b\xbb\
+\xb8\xea\xaa\xab\xb8\xf8\x33\x9f\x67\xdf\x05\xfb\xf0\xfa\x9b\x6f\
+\x72\xc5\x15\x97\x05\xfd\x67\xce\x26\xb4\x0a\xcf\xbb\xe7\x39\x79\
+\x7c\x77\x1b\x4e\x6e\x13\xae\xeb\x84\x8a\xaf\x4a\x51\x85\xf2\xd3\
+\xb8\x85\xad\x48\xba\x2b\x74\xf7\x6c\x86\x42\x71\x1c\x78\x6d\xdd\
+\xba\x95\xbe\x64\x92\xf1\x45\x44\xd9\x78\x55\x00\x5f\x52\x95\x48\
+\x04\x16\x86\x0e\xda\x9b\xa5\x64\xcc\x4a\x4a\x4a\x30\xa4\x89\xef\
+\x75\xe2\xe4\x36\xe2\x79\xee\xd8\xbc\x77\x01\x85\x9c\x02\x5d\x55\
+\xb4\x18\x87\x7e\xc3\x44\x5d\x3d\xdf\xbc\xf6\x5b\xdc\x7b\xf7\x6f\
+\xe8\xea\xee\x2e\xc2\x7e\x47\x31\x7d\x9f\x88\x6d\x8f\x41\x63\xea\
+\x80\x14\x44\x87\x6f\x77\x92\x1a\xde\x53\x49\x9e\x2a\x6c\x0c\x8d\
+\x27\xa5\x95\x22\x62\x5b\xec\x25\xea\xf0\xc2\x94\x20\x94\x14\xd4\
+\x3d\xf7\xfe\x8e\xed\xed\x1d\xbc\xf2\xf2\xcb\x9c\x75\xe6\x99\x5c\
+\x7f\xc3\x77\x29\x14\x1c\x12\x55\x71\x9e\x78\xea\x69\x3e\x72\xf2\
+\x31\xe8\xee\xca\x7d\x77\xa1\xe1\x40\x61\x91\x95\x02\xd3\x30\x51\
+\x5a\xe1\x0f\xa3\x49\x0c\x21\xd8\xa4\x05\xef\xd5\xc2\xcc\x19\x31\
+\x2c\x33\x12\xfa\x69\x1d\xdb\xc5\x88\xf5\x70\x4a\x29\x1e\x79\xf4\
+\x31\x1e\x7b\xec\x71\xa2\xb1\x18\x2f\xbd\xf2\x0a\x51\xdb\x66\xda\
+\xd4\x29\xdc\x77\xff\x03\x2c\x3a\x64\x21\x4a\x55\x9e\x4e\x96\xda\
+\xa3\xd3\x9e\x46\x21\x56\x5f\x91\x92\x2a\xe8\xcd\x18\x7a\x4d\x65\
+\x40\x63\x21\xef\x5d\xdf\xdc\xc4\xf1\xc7\x9d\xc8\x3d\x77\xdd\xc9\
+\x6d\xb7\xdf\xc9\x27\x2e\xbc\x90\xba\xda\x1a\x36\x6c\xdc\x48\x3c\
+\x1e\xc3\x94\x12\x94\xc2\xb2\x27\x60\x5a\xd5\xa1\x63\x52\x9a\x2c\
+\xd2\x68\xc7\xb0\x9a\x8b\x80\xfa\x23\x5f\x86\x99\x08\x1a\x8c\x23\
+\xf5\x98\x76\x23\x95\x14\x10\x99\xa6\x07\x3a\x3b\xa2\x05\xaf\x94\
+\xe2\xb6\xdb\x7f\xcd\xb1\xc7\x7e\x98\xf3\xcf\x3f\x97\x7b\xee\xbe\
+\x97\xcb\x2e\xbb\x84\xff\xfe\xe5\x2d\xdc\xf2\xcb\x9b\x50\x64\x70\
+\xf2\x6b\x29\x58\x9d\x63\x2e\x41\x40\xc5\x71\x0b\xdb\x90\xb5\xf3\
+\x31\xad\x71\x20\xdc\x31\x1f\x2a\xa6\x05\x88\xcc\x88\x21\x0b\x30\
+\x78\xf4\xd1\x7f\xf0\xed\xef\x7e\x9f\x39\xb3\x67\x73\xec\x87\x8f\
+\xe6\xe1\x47\x1e\x25\x9b\xcb\xd2\xda\x32\x91\x33\x4e\x3f\x69\xd4\
+\x9a\x52\x48\xa3\x22\x72\x50\x29\xa1\xcf\x1c\xcf\x96\xd8\x3e\x15\
+\x28\x29\x4d\x8d\x9d\x43\x0c\x31\x07\x83\x66\xf7\x72\xb9\x1c\x67\
+\x7f\xf4\x2c\x34\x1a\xd7\xb9\x98\x58\x2c\xca\xc9\x27\x9f\x18\x9c\
+\x3c\x42\x60\x18\x06\xd9\x6c\xcf\xe8\xfc\x5d\x0d\xc8\x2a\x0c\x3f\
+\xc5\xcb\xef\xbc\xc9\xf4\xf1\x93\x69\x19\x3f\x19\x22\xf1\x20\x4e\
+\xe3\xb9\x60\x5a\xe8\x4c\xb2\xb8\xb9\x25\x31\x23\x4b\x2e\xeb\xd2\
+\xde\xde\x47\x34\x1a\x0d\xb5\x9e\x95\x56\xe4\xb2\x85\x11\xcb\x23\
+\xa4\x94\x1c\x73\xcc\xd1\x7c\xe8\x88\x0f\x61\x15\x7b\xa8\x06\xfa\
+\xf6\x41\x73\xaf\x3b\x0a\x31\x15\xa6\xac\xc2\x32\x1b\x42\xd7\x8b\
+\x00\x78\x46\x17\x5a\x67\x90\xd2\x43\x88\x70\xec\xd0\x12\x6b\xc4\
+\x2c\xab\x10\xd0\xdb\xd9\xcd\x6d\xb7\xdd\x82\x69\x18\xbc\xfa\xea\
+\x8b\xc4\xed\x08\xd7\x7d\xeb\x9a\xf2\xb4\xd4\xd7\xd5\xb0\x62\xc5\
+\x4a\xac\x58\x55\xe5\xc8\x9c\x32\x8a\x34\xa2\x08\x3f\x1a\xce\x42\
+\x36\x08\xe0\x7b\x45\x65\x28\xa0\xc1\x03\xf3\x68\x32\xc3\x2a\x29\
+\xad\x35\x93\x26\x4d\xe2\x3b\xdf\xbe\x1e\xd3\x34\xe9\xed\xee\xe1\
+\xaa\xaf\x7f\x05\xdb\xb6\xf9\xde\x77\x6f\x28\xf6\x65\x5a\x58\x91\
+\x69\xd8\xd1\x89\xc3\x42\x90\x84\xb9\xec\x48\x04\xd3\xaa\x43\xc8\
+\x08\xd2\x88\x22\x75\x74\xcc\x4a\x2a\xd8\xe3\x59\x46\xa2\x59\xef\
+\xed\xda\xc6\x7b\xef\xac\x0a\xe0\x9f\xa5\xc4\x32\x4d\x2e\xba\xf0\
+\xfc\x72\xcc\x35\x1a\x8d\x00\x3d\x15\x5b\x72\x68\x0f\x2f\xbf\x91\
+\x42\x66\x35\x4e\xa8\x98\x94\x46\x39\x36\x12\x13\xdb\x6c\xa8\x08\
+\x99\xd3\x30\x7a\x09\x8d\xcc\x39\xd0\x05\x02\x88\x14\x19\x83\x63\
+\x03\x9a\x20\xa5\x94\xe4\xb2\xa5\xb4\xfc\x28\xc8\xf7\xa4\x64\xe9\
+\x9a\xe5\xe4\x7c\x97\x9f\xfe\xed\x0e\x9a\xab\xeb\xf8\xf9\x83\xbf\
+\xe1\xa4\x03\x8e\xe4\x98\x05\x8b\x79\xe2\xad\xa5\xdc\xf2\xf5\x9b\
+\xa1\xd8\x23\x25\xa5\x62\xcb\xf6\x3a\xfe\xb9\xac\x1a\x2b\x2c\x39\
+\xa8\x56\x64\xd3\xb5\x2c\x92\x6a\x48\x4a\xab\xd2\x24\xda\x96\x85\
+\x3d\x0c\x38\x78\xa1\x30\xda\x05\x5c\x29\x2e\xad\x46\x68\x45\x5d\
+\xa2\x9d\x53\x8e\x33\xd1\x3a\x1c\x8b\xb0\x10\x82\x67\x9f\x2e\x8c\
+\x80\x71\x2e\xd0\x5a\x51\x1d\x0f\x60\x8d\x13\xd1\x80\x68\x21\x1a\
+\x8d\xf6\x9b\xea\xd2\x18\x55\x36\x48\x0c\xf8\xf7\x28\xed\x90\xd0\
+\x6e\xb4\x10\x23\x8f\x69\x3f\x32\x67\xd0\xd6\x54\xfa\x5d\x49\xd6\
+\xd2\xef\xd0\x20\x84\x55\xfc\x19\x4b\xbc\xaf\x54\x2a\x66\xee\xf4\
+\xae\x7b\x3e\x68\x5e\x4a\xf2\x54\xd7\x54\x0f\xba\x7f\xc3\xc6\xb6\
+\x06\x77\x7b\x0c\x0c\x7b\x22\x56\x6c\x2e\xda\x08\x57\x6a\x64\xdb\
+\x26\x88\x15\xa3\xb1\xd9\x2a\x43\xe6\x1c\xc9\xfa\xd0\xc5\x59\x51\
+\x7e\x37\x9e\x9b\x0f\x5d\xcc\xe9\xf9\x2e\xaa\xc8\x25\x17\xb5\x23\
+\xfc\xf2\xef\xbf\xa3\xb1\xba\x8e\xdb\xfe\xf1\x28\xef\xde\xbe\x94\
+\xd9\x9f\x5e\xcc\xfa\x8e\xcd\xec\x3b\x6d\x3e\xcf\x2f\x7b\x8c\x59\
+\x2d\x53\x89\x9a\x11\x44\x54\xa2\x91\xc5\x1a\x29\x23\xec\x76\x1f\
+\xb1\x48\x50\xbc\xdf\xa8\xf9\xa1\xde\x5b\xd2\xdd\x37\x8e\xdf\xdf\
+\xdf\x47\xc1\x0d\x47\xf5\xe4\x2b\x93\xd6\xa6\xe8\x88\xa8\x9a\xc3\
+\xcb\xdb\x9f\x11\xf3\xdd\x2e\xc4\x10\xd8\x3e\x83\xce\xab\x9b\x43\
+\x79\x3d\xf8\x4e\x4f\xa8\xf5\xa0\x35\x98\x46\x62\x54\x65\x0b\x61\
+\x37\xee\x70\xbf\xdb\x11\xc7\x5f\xf3\x7f\xfb\x35\xdc\x78\x8f\xbd\
+\x6c\x4b\x14\x13\x22\x66\xa8\x98\x54\x00\x8e\x92\xc6\x73\xb7\x55\
+\x60\x49\x29\x7c\xbf\x80\x20\x4a\x68\xb6\x98\x5d\xb9\xe4\x07\xb7\
+\x54\x0c\xa3\x01\xd3\x0a\x5f\x82\x20\xa4\x87\x14\x11\xf0\x5d\x16\
+\xcd\x5f\xc8\x6f\x0f\x3a\x26\x70\x62\x4d\x0b\xba\xb6\xb1\xe9\xbe\
+\x77\xc0\x75\x82\x63\x29\x97\x06\xdf\x05\x24\x69\x67\xfb\x6e\x1e\
+\xf8\x0a\xe4\x7c\xff\x97\x1c\x86\x19\x27\x9e\xa8\xc5\x74\xc2\xf1\
+\xee\x29\x0d\x42\xac\xab\x48\xde\x92\x3b\x5b\x4a\xd1\x0f\xac\x21\
+\x32\xac\x46\x4c\xab\x26\xf4\x1b\x2b\x95\xc3\x30\x37\x62\xd8\xf5\
+\x58\x21\x87\xd3\xb4\x8a\x64\x15\xba\x12\x8c\xfc\x70\x16\xdb\x60\
+\x68\x1d\x3b\xcb\xbe\xe7\x15\xc7\xfb\x78\xb0\x0d\xc0\xea\x2f\xc3\
+\x28\x0d\xf2\x1e\xa1\x3b\x43\x44\xa9\x53\x42\x94\x3b\x26\x2a\xe1\
+\x53\x14\xb2\x1a\xd3\x9a\x38\x2c\x31\xc8\x2e\x01\x77\xa3\x97\xd0\
+\xa0\x77\xa5\x54\x75\x57\x77\x37\xf5\x75\x75\xb8\xae\x47\xa1\x50\
+\xa0\xae\xae\xb6\x4c\x9b\x63\x18\x46\x71\x21\x54\x56\x82\x50\x2e\
+\x59\xd0\x2e\xbe\x9b\x85\xbe\xec\x00\xd3\x52\x40\xe7\xa6\x41\x02\
+\xe7\x46\x80\x2b\xae\x4b\x94\xe5\x2a\x64\x6a\x56\x81\x0e\x57\x82\
+\xe0\xba\x2e\x96\x65\xd1\xd7\x97\xa4\xba\xa6\x9a\x74\x3a\x4d\xa2\
+\xaa\xaa\x8c\x47\x24\xa4\xfd\x3e\x2a\xa9\x51\x50\x97\xe8\x70\x0b\
+\xd9\x30\x0c\x7a\x7a\x7a\xa8\xa9\xa9\x61\xfb\xf6\x76\x5a\x5a\x26\
+\xb0\x65\xcb\x16\x5a\x5a\x5a\xc8\x64\x32\x44\xa3\x76\xf1\x24\xd4\
+\x15\x3e\x3e\xa8\x1a\x97\x78\x80\x1b\x2a\xbb\x27\x88\x21\x44\x91\
+\xa9\x59\xe5\x2b\x2b\x41\x50\xee\xb0\xcd\xe9\x65\xdc\x33\xad\xe9\
+\xed\xed\x25\x62\xdb\x24\x12\x89\xa0\x87\x4f\x0a\x92\xa9\x14\x4d\
+\x8d\x0d\x3b\x38\xab\xbb\x6d\xf6\x94\x87\x52\xfe\xe8\x91\x07\x06\
+\x86\x84\xd4\xc8\x85\xc8\xa5\x79\xed\xee\xee\x26\x9d\xce\x30\x79\
+\xf2\xa4\xa0\x51\x3d\x9f\x27\x93\xc9\x10\x8b\xc5\xa8\xad\xa9\xc2\
+\x71\x1c\x92\xe9\xbe\xd0\x44\xb5\x52\x4a\xfa\x92\x69\x52\xa9\x34\
+\xe9\xb4\x83\x53\x08\x47\xc4\x60\xdb\x11\xd2\xa9\x24\xe9\x74\x4f\
+\x45\x96\x94\x50\xe9\xa2\xbb\x1c\xc2\x92\x2a\x15\xc0\xb5\xb5\xb5\
+\x51\x57\x5b\x4b\x3e\x9f\x67\xe3\xa6\x4d\xfc\xe3\xc9\xb5\x24\xfb\
+\x92\x1c\x71\xf8\x61\x54\x55\xc5\xc9\x66\x7b\x11\x62\x72\xe5\xb1\
+\x0b\x21\xd8\x26\x2c\x3a\x89\xf4\x6b\xf6\x61\x84\x37\x84\xa4\x57\
+\xd8\x28\xd1\x8d\xa4\x0f\x81\x1d\x7a\xeb\x68\x9d\x0f\x31\x40\x9a\
+\x5c\x2e\x87\x65\x59\xac\x5d\xb7\x8e\xae\x9e\x1e\xba\xbb\xba\x38\
+\xed\xd4\x53\x78\x6f\xc3\x06\x1e\x7a\xe8\x61\xbe\x72\xe5\xd7\xf8\
+\xff\xc3\x65\x18\x06\xdb\xb6\xb7\x53\x53\x53\xc3\xb3\xff\xfc\x27\
+\xc7\x1c\x7d\x34\x6f\xbc\xf9\x36\xef\xbc\xbb\x96\x3f\xff\xf5\xaf\
+\x5c\xf2\xe5\x2f\x61\x59\xf6\x28\x1d\x20\x17\x29\x92\xc8\x10\x70\
+\x18\x02\x90\xc2\x47\xe0\xa1\xfc\x1c\xbe\x9f\xac\x4c\x31\xeb\x70\
+\x47\x7b\x57\x57\x17\xcb\x5e\x7a\x99\xf9\xf3\xe6\xd1\xd8\xd8\xc0\
+\x0b\x2f\x2c\x65\xde\xbc\xb9\x6c\xdc\xb8\x89\x71\xcd\x8d\x3b\x68\
+\xf8\xb1\xb7\xb3\x88\x62\xdc\x2f\x40\xa5\x54\x9e\xc3\x58\x6b\x10\
+\x7c\x4f\x0f\x6c\x74\x1c\xf2\x93\x35\xf5\x75\x5c\x7a\xf9\x57\x38\
+\xe5\xe4\x93\x88\x44\x6c\x6a\x6a\x6b\x79\xeb\xad\xb7\x71\x5c\x87\
+\xa9\x53\xa7\x52\x57\x57\xcb\x86\xf7\x96\xd1\x32\xb9\x1b\x21\xc2\
+\xc5\x57\x85\x90\xc8\xfa\x3e\xf6\x9a\x9f\xa6\x26\xf6\x24\x9e\xe5\
+\x86\xd0\xaa\x60\x9a\x16\xb3\x66\x74\x52\x9f\x78\x2e\xb4\xe5\xa6\
+\xb5\x22\x1e\xb3\xd1\xfa\x40\x06\xeb\x6a\x1f\xd4\xdd\xf3\x3c\x8f\
+\x03\x0f\x38\x00\xcf\xf3\xc8\x66\x33\xd4\xd5\xd5\xb2\x75\xeb\x56\
+\x9c\x82\x53\xac\xde\xd5\xa3\x03\x75\xd3\xe0\x69\x78\x39\xda\x44\
+\xda\x6d\x0a\x6d\x7a\x2a\x61\xe2\xe0\xe2\xeb\x16\xa4\xb6\x2a\x08\
+\x66\x76\xc0\x88\x68\x95\x92\xfa\xfa\x7a\x3c\xcf\xa3\xba\xba\x9a\
+\x8d\x1b\x37\x11\x8b\xc5\x30\x0c\x03\xdf\xf3\x49\xa5\x32\x1f\xc8\
+\xd8\xd5\x68\xe2\x16\x85\x42\x81\x7d\xf6\x9e\x8f\xe3\xb8\x34\x36\
+\x36\x92\xcb\xe7\x99\x3e\x7d\x1a\x6f\xaf\x58\x41\x2a\x99\xde\x81\
+\x08\xb6\xf2\x07\x44\xf1\x54\x43\x68\x12\x49\x4f\x83\xd2\x11\x0c\
+\xab\x26\x48\xd9\x57\x70\x49\x63\xf8\x8a\xf3\xb2\xda\x74\x5c\x66\
+\xcd\x98\xc1\xa4\x49\xad\x28\xa5\xf1\x8b\xd9\xda\x96\x09\x13\x8a\
+\x5c\x6f\x0a\xa5\x0a\x28\x3f\x33\xc6\xec\x9e\x46\x79\x55\x68\xe5\
+\x20\x8d\x2a\x4c\xab\x7e\xb7\x18\x68\x96\x0f\x88\xed\x8c\xd8\x2c\
+\xaf\xc1\x57\x3e\xa7\x9e\x7c\x22\xef\xae\x5d\x87\xf2\x7d\x0c\xd3\
+\xa4\xa5\xa9\x89\x9a\xea\x1a\xa4\xb4\x49\xf6\x2e\xe7\xd2\xcb\x86\
+\x27\x25\xd9\xf5\x8a\x00\x07\x00\x29\xfa\x93\x64\x3b\x4f\x70\x29\
+\x4e\x5c\xf2\x5a\xf2\xc0\x1c\x42\x61\x37\x0d\x14\x40\x47\xe8\xee\
+\x10\xe1\xdd\xbd\x12\xce\x92\x94\x92\x48\x24\x42\xc2\xb2\xb8\xec\
+\x92\x2f\xe3\x38\x0e\xbe\xef\x07\x4d\xb8\xbd\x82\xad\x3d\x46\x7f\
+\x9b\x7f\xa8\x85\x6c\x22\x90\x44\x44\x51\x84\x30\x7e\x2e\xe0\x21\
+\x8b\x6e\x5e\x25\x6c\xb7\x6a\xc4\xda\x97\x92\xbb\x17\x30\xbd\x6a\
+\x1a\xea\xeb\x39\xf3\x8c\xd3\x48\xa5\xd2\x98\xa6\xc9\xde\x7b\xcd\
+\x67\xfe\xfc\xb9\xe4\x73\xf9\xff\xeb\x95\x54\x3f\xd3\x6d\x70\x22\
+\xce\x99\x3d\x9b\x29\x93\x27\xd1\xd6\xb6\x85\x7f\x39\xeb\x4c\x4e\
+\x3a\xf1\x04\xea\x6a\xaa\x59\xf9\xf6\x4a\xcc\xe8\x58\x15\xe2\xc8\
+\x07\x48\x69\x71\x96\xd0\x30\x2a\xb2\x63\x42\xa0\x26\x68\xad\x19\
+\x3f\x7e\x1c\xcd\xcd\x4d\x98\xa6\x81\xe3\x38\x2c\x3a\xe4\x60\x80\
+\x01\x25\x25\xa2\x18\x10\xb6\x40\xf8\x63\xd1\x51\x08\x69\x0c\x08\
+\xca\xec\xa6\x98\x56\xc8\xfb\xf4\xf5\xf4\xf0\xed\x7f\xbf\x8e\x64\
+\x2a\xc5\xd4\xa9\x53\xf0\x7d\x9f\xbd\xf6\x9a\x4f\x3a\x95\x42\x1a\
+\x41\x21\xa8\x90\x16\xae\x2b\xb0\x2a\x1a\x68\x55\x54\x36\x12\x85\
+\xa6\x90\x77\x88\xd5\xc4\xc0\xf5\xc1\x8a\x83\x97\x23\x95\xca\xb1\
+\x79\x4b\x0f\xf3\xf7\x9e\x0e\x5e\x01\xad\x14\xa2\x52\x40\x2e\x01\
+\x9e\x37\xf4\x8b\x0d\x8b\x82\xa0\x94\xa2\xa1\xa1\xa1\x48\x4d\xed\
+\x94\x5d\x86\x80\xc2\x2a\x82\x93\x5d\x41\x3e\x2f\x2a\xea\xdd\x53\
+\xaa\x87\x5c\xdf\x4a\x72\xe9\xbe\x90\x16\x8a\x44\xab\x3e\x74\x48\
+\x0b\x6a\x34\x16\x46\xc9\xaf\x6f\x6e\x6e\x42\x6b\x4d\x4d\x4d\x75\
+\x3f\xba\xa3\x30\xc9\xfb\x7e\x91\x32\x28\x5c\xd0\xbe\x0c\x6d\xf1\
+\x01\xca\x1c\xed\x18\x4c\x15\x4c\x9a\xd4\x8a\xe7\x79\xb4\xb4\x4c\
+\xc0\xf3\x3c\x22\xb6\x8d\x90\x72\xd4\x6f\x2c\x06\x04\x5c\xc3\x8d\
+\x0f\x48\x33\x46\x3e\xfd\x26\xca\x89\x55\xe6\x58\xc6\xe2\x08\x31\
+\x8e\x91\xc9\x41\x8d\xa0\xcf\x94\xfe\xfe\x36\x80\xc6\xc6\x86\x62\
+\xc5\xb9\x40\x88\x28\xd2\xb0\xc7\x5e\x71\x6e\x80\x61\x44\x28\xe4\
+\x3a\x49\xf6\x6c\xc4\xf3\x9c\x31\xcf\x59\x26\xa7\xd1\x2a\x31\x62\
+\x5c\x55\x29\x45\x6d\x6d\x6d\x7f\x0c\x55\x08\x22\xb6\x4d\xb4\x29\
+\x58\xcf\xbb\x80\x2e\x8e\xc2\x33\xf0\x5c\x9f\x15\x2b\x37\xd1\xd1\
+\x99\xe4\xc4\xe3\xf7\xe7\x9a\x6f\xde\xc6\xd7\xbf\x7a\x06\x4b\x97\
+\xae\xe1\xb9\x17\x56\x71\xe2\x09\x69\x66\xcf\x9c\x40\x63\x53\xf5\
+\x28\x96\xfd\x18\x50\x10\x86\xc3\xfb\xd6\xca\xc5\x8a\xce\x20\x22\
+\xab\x2b\x40\x41\x70\x91\xb2\x86\x48\x62\x3e\x8e\xca\x85\xb3\xa4\
+\x84\xc4\x73\xda\x10\x62\xeb\x1e\xdf\xc0\x83\xe1\x7f\x97\xb0\x89\
+\x72\xd9\x5e\x7a\x7b\xb6\x87\x82\xa6\x91\x42\x92\xea\xdb\x42\x55\
+\xa2\x99\xf7\x1d\xda\xa0\x02\x60\xfa\xdb\x74\x00\x00\x20\x00\x49\
+\x44\x41\x54\x59\x07\xce\xef\x58\x62\x32\xc1\x46\xf1\xe8\xed\xe9\
+\x08\xbd\x39\xf3\xd1\x04\x85\x5c\x2f\x91\xd8\x4c\xec\x48\x53\x45\
+\x2c\xcf\x66\xc4\x47\xeb\xe4\x90\x63\x3b\x52\x09\x42\x90\xd5\x14\
+\x08\xa1\x71\x9d\x5e\x7a\x7b\xc6\xce\xb3\x1e\x8d\x56\xd1\xde\xde\
+\xc5\xc9\x27\xcc\xe2\xcc\x33\x27\xe3\xb8\xee\xee\x98\x2d\xdc\x6c\
+\xd7\x88\x27\xe3\x0e\x38\x61\x3b\x65\x34\x03\xc8\xa2\xb1\x5f\x52\
+\x08\x9a\x9a\xaa\x89\x44\x2c\x36\x6c\xec\x64\x9f\xbd\x26\x53\x55\
+\x53\xcd\xac\xd9\x2d\x1c\xb2\x64\x3e\xa9\xde\x14\xa6\xb9\x67\x9a\
+\xab\x43\x83\xde\xed\x3a\xe1\x3a\x70\xdf\x64\xb4\x82\x00\x99\x19\
+\x2c\x2c\x09\x42\xc6\xc2\x97\x2e\x08\x6b\x8f\x6d\x5a\x1d\x62\x01\
+\x58\x16\x2c\x3a\xd0\xe6\xb0\x0f\x8d\x0f\xd5\x2d\x2f\xa5\xa0\xa3\
+\xc3\xe7\x99\xe7\x79\xdf\xf1\x85\x86\x93\x73\xe7\x79\x15\x63\xed\
+\x92\x2f\xc7\x30\x7d\x6c\x2b\xc9\x85\xe7\x34\x87\x46\x13\x30\x0c\
+\xc1\x2b\xcf\x6b\x90\x56\xb0\x16\x2a\xf2\xad\x4a\x30\x32\x22\xf4\
+\xdc\xee\x2c\xab\x10\x12\xc7\x49\xd1\x50\xbb\x86\xb3\xce\x3c\x63\
+\xcc\x28\x08\x86\x21\x58\xbb\xca\x43\x29\x07\xdb\x16\x3b\x14\x53\
+\x8e\xe5\xea\xcd\x0d\x3f\x47\xbb\x73\x1e\x87\x97\x4f\x32\x65\x72\
+\x73\x99\x8f\x71\xd2\xbf\x34\x22\x95\xc7\xb4\x29\xcd\x08\x21\xa8\
+\x89\x37\x84\x31\x8a\x76\x8f\x92\x2a\x09\x5c\x82\x6a\x89\x45\xa3\
+\x65\x7a\x1c\xcb\x32\x71\x5d\x0f\xd3\x34\xfb\x29\x90\x94\x1f\x5a\
+\xd9\x94\xb1\x98\x54\x90\xaa\xd5\xa1\x2c\x29\x03\xad\x55\xf1\x79\
+\x7e\xf8\x3e\x3a\xad\xca\x40\x66\x7a\x84\x09\x2e\xc9\x2d\xa5\xc0\
+\xf3\xfc\x00\x6a\xc5\xf3\x88\x46\xa3\x65\x9c\xf1\xfe\x44\x81\x0a\
+\xf5\xce\xca\xf7\x51\x4a\x80\x54\x84\xcd\x31\x88\xd2\xc6\x2a\x8f\
+\x6d\x48\xb6\x66\xcc\x11\x53\xf8\x3b\xcf\xab\x61\x98\x45\x8e\x42\
+\x81\x61\x1a\xf8\xe5\xa0\xb9\x06\xed\x87\x7e\x76\xf0\x15\xbf\x1f\
+\x65\x51\x85\xec\xdd\x33\xec\xa2\xc0\x7e\xb0\x16\x2a\xb0\xa4\x08\
+\x01\xbd\xa5\x07\xb4\x70\x05\xc5\x82\x3e\x91\x48\x14\xd7\x75\x88\
+\x44\x22\xfd\x0c\xc3\xe5\xcd\x3d\x56\x1c\x28\x63\x87\xf2\x0d\xdf\
+\x1f\x3b\x7c\x70\xe0\x7e\x87\x9b\x57\xcb\xb2\xca\x35\x52\x9e\xe7\
+\x63\x59\x41\xf1\xa5\x56\x7a\x87\xd8\xab\xaf\xf5\x6e\xd3\x24\xbe\
+\x3f\x18\xdc\xca\x68\xee\x1d\x24\xe3\x86\x0a\xa7\x0c\x6a\x49\x99\
+\xa6\xc9\xaa\xd5\xab\x59\xb0\xcf\x3e\x5c\x73\xed\x75\x2c\x5e\xbc\
+\x88\x39\xb3\x67\xf1\x83\x1f\xfd\x84\x44\xa2\x9a\x7d\x17\xec\xcd\
+\x91\x47\x1c\x41\x77\xfb\xfd\x64\x33\xd9\x0a\xc8\x2f\x15\x4d\x0d\
+\xed\x6c\x5e\x77\x0b\x8e\x93\x0b\xe5\x0a\x05\x1b\xb7\x80\x72\x25\
+\xbd\x9d\x6d\xc3\x12\x60\xee\x2c\x47\x26\xb9\x15\x29\x2f\x00\x0a\
+\xc3\xfa\xf3\xb9\x5c\x9e\x54\x3a\xc5\x1d\xbf\xbe\x8b\xb3\xce\x3c\
+\x9d\x27\x9f\x7c\x8a\xcd\x6d\x5b\xc8\xe7\x73\xec\xbd\xf7\x5e\x7c\
+\xf2\x13\x17\xf0\xd2\xcb\x8f\x63\x5a\xdd\x78\xae\x1f\x62\x71\x09\
+\xd2\xe9\x3e\x7a\xbb\x04\x5a\x24\x2a\xca\x0e\xfa\x6e\x37\x75\xd5\
+\xef\xb0\x75\xc3\xcd\xf8\xbe\x4b\x98\xe2\x14\xa5\x35\x46\x73\x23\
+\x4a\x4d\x18\x76\x3c\x2c\xcb\x62\xed\xda\x75\x4c\x6c\x9d\xc8\x79\
+\x17\x7c\x92\x3f\xdd\xff\x7b\x2e\xb9\xf4\x72\x0c\xd3\x24\x97\xcd\
+\x71\xc5\xe5\xff\xca\xd6\x6d\xed\xd8\xbd\x77\x10\x8d\xd8\x61\x71\
+\x39\xf1\x3c\x97\xed\x5b\xd7\x70\xf5\xd5\x7f\x0f\xdd\xa7\x2b\x0d\
+\x49\x77\xd7\x46\x3a\xb7\xfd\x0f\x96\x61\x55\xa4\xa4\xa2\x72\x12\
+\x42\x1e\x39\xe4\xbc\x96\xdc\x93\x77\xd7\xae\xe3\xa9\xa7\x9f\x66\
+\xc9\x92\x25\x2c\x59\xbc\x88\xab\xae\xbe\x96\x2f\x7e\xfe\xb3\x7c\
+\xef\x07\x3f\xe2\x3f\x6f\xfc\x19\x5b\xb6\xb6\xb1\xfc\xf5\x27\x98\
+\x38\x51\xe2\x16\xc6\x06\x7a\x17\x89\x46\xb0\xcc\x1e\x32\x69\xcd\
+\x0b\xcf\xff\x09\xcf\xf5\xc6\xa8\xa1\xa0\xe0\xe4\xd9\x7f\xc1\x51\
+\x98\x86\x39\xa4\xa5\xa4\x94\xa2\x61\xdc\x44\xaa\x6b\xaa\x79\xe4\
+\xc1\xbf\xb0\x72\xd5\x6a\x3e\x7c\xf4\x51\xfc\xe5\xaf\x0f\x92\xcd\
+\xe5\x68\x99\x30\x9e\x33\x4e\x3f\x03\xcf\xaf\xe5\x6f\x7f\xdd\x34\
+\x40\xb1\x8c\x1c\x38\xf4\x9c\x3c\xe9\x74\x1f\xf5\x8d\x13\x42\x61\
+\xfb\x97\x42\x1d\x7d\xc9\x4e\x12\xd5\xf5\x21\x89\xc7\x02\xbd\x50\
+\x53\xd3\xc0\xe1\x8b\x05\x83\x0d\xdb\x90\x94\x56\x13\xc6\x8f\x67\
+\xd3\xa6\xcd\x5c\x71\xc5\x65\x3c\xf6\x8f\x7f\x90\xcd\xe5\xf9\xc8\
+\x29\xa7\xf0\xd4\xd3\x4f\x73\xf4\xd1\x47\xb1\x6e\xdd\x16\x4e\x3f\
+\xb9\x9e\xba\xe6\xa6\x0a\xe3\x2e\xb3\x08\xe8\x38\x44\x65\x33\x16\
+\x6c\xe1\x8a\x96\xce\xca\x37\x25\x05\x47\x0c\x4f\x3e\x22\x82\x9e\
+\xb6\x44\x22\xc1\xac\x99\x33\xe8\xea\xea\xa2\xb1\xb1\x81\xc7\x1e\
+\x7f\x82\xcb\x2f\xbd\x84\x3f\xfe\xf1\x01\x6c\x5b\x32\xb9\x35\xcd\
+\x92\x43\x2b\x71\x3b\x1b\x46\x79\xb2\x8c\x03\x4e\x23\x34\x0b\x42\
+\x71\x7c\x5e\x7b\x79\x64\x24\x4d\xa5\x14\xa6\x65\x12\xb1\x6d\x26\
+\x4f\x6e\xa5\x2f\x95\xa6\xad\xad\x8d\x43\x0e\x39\x84\x65\xcb\x96\
+\xe1\x78\x9a\x77\xd7\xbe\xc7\xf7\x7f\x70\x24\x0d\x0d\x15\x36\xfd\
+\x32\x97\x8a\xb0\xc5\x02\xd8\x7e\x2a\x4b\x55\x97\xfc\xcb\x06\xba\
+\xba\x7c\x86\xeb\xdb\xd6\x04\x94\x56\xfb\xef\xbf\x3f\xd3\xa7\x4d\
+\x25\x95\x4a\x71\xfe\x79\xe7\x50\x55\x55\xc5\xe7\x3f\xf7\x19\xf2\
+\xf9\x02\x91\x88\x60\xd1\x42\xc9\xe2\xc5\xc6\x6e\xb0\xa4\x5c\x16\
+\x2d\x3a\xaa\x78\x1f\x9f\xb0\xed\x5b\x23\x59\x67\xbd\x9d\xc3\x87\
+\xa4\x44\x91\xbd\xf0\xa0\x03\x0e\x60\xaf\xf9\xf3\x49\x24\x12\x24\
+\x12\xd5\x9c\x70\xfc\x71\x28\xad\xb0\x2d\x0b\x21\x5c\x3e\x74\xe4\
+\xa7\x49\x17\xe6\x86\x46\x72\x97\x12\x52\x1d\x1b\x78\x6b\xcd\xe3\
+\x9c\x70\xf2\xc5\x03\x21\xd0\x86\x1d\xf4\x48\x04\x96\xaf\xf8\x0b\
+\x07\x2c\x3c\x8d\xb0\x7d\xf5\x5a\x83\x11\xcd\xa3\xe9\x1a\x74\xfd\
+\x0c\xd9\xbb\xd7\xdb\xd7\x47\x3e\x5f\x60\x73\x5b\x1b\x1f\x3d\xf3\
+\x4c\xde\x5e\xb1\x92\x05\x0b\xf6\xe6\x84\x13\x8e\x65\x7b\x7b\x07\
+\x93\x5a\x5b\xc9\xe6\x56\x53\xeb\xe8\xd0\x1a\xb3\xb8\xc2\xde\x97\
+\x18\x8c\xd2\x9a\x7c\x41\x85\xca\xc8\x65\x32\x59\xb6\x6e\xdb\xca\
+\xa9\xa7\x9e\x4c\x5f\x6f\x1f\x7b\xcd\x9f\xc7\x67\x3e\x7d\x31\xcb\
+\x97\xbf\xce\x1d\x77\xdc\x4a\xfb\xf6\xcd\xf8\x5e\xd1\x25\x78\x5f\
+\xe0\x61\x2b\x74\x15\x2c\x51\x6c\xa2\x1e\x7e\x1e\x4c\xd3\x64\x73\
+\x5b\x1b\x13\xc6\x8f\xe7\x9b\x57\x7d\x0d\xcf\x29\x70\xff\x7d\xbf\
+\xa7\xb3\xab\x8b\xaf\x5e\x79\x39\xf1\x9a\x1a\x6e\xfe\x2f\x97\x42\
+\xc1\x0b\xd2\xcc\x15\xc5\x39\xde\x9f\x79\xd5\x80\xeb\xfa\xa1\xfa\
+\x4b\x27\x4d\x6a\x2d\x03\xc1\x55\x57\x4b\x0a\xb9\x7c\x90\x04\xc9\
+\xf5\xb3\xfb\xba\x8e\xde\x8d\xf3\x5a\xd8\x8d\x92\x06\xa1\x82\x30\
+\x1f\x4b\x75\x77\x72\xf3\x4d\x3f\xa7\xb3\xb3\x93\x58\x34\x8a\x52\
+\x0a\xc7\x75\x50\x9e\x5f\x6e\xfe\x76\x9c\x6c\xd1\x8a\x92\xa1\x07\
+\x5a\xeb\x02\x52\xfa\x3b\x02\x69\x8e\xe8\x02\x82\x10\x2e\x5a\xf9\
+\xa8\x0a\x18\x8c\x95\x9f\x1d\x52\x8f\x98\x83\x3f\xc8\x67\xea\x94\
+\x29\xe5\x7e\x20\xcf\xf3\xd8\x6b\xfe\xbc\x72\xb6\x60\xf2\xa4\x49\
+\xac\x58\xb1\x8e\x72\x81\xd7\x07\xb1\xd8\x51\xeb\xd0\x71\x8b\x96\
+\x96\xf1\xb4\xb6\x4e\xc4\xf7\x7d\xaa\xe2\x71\x20\x68\xa7\x98\x35\
+\x6b\x26\xbd\x3d\x3d\x41\xa3\xb2\xe8\x37\x83\x3f\x68\x72\x86\xcb\
+\x92\x06\xc5\x9c\x87\x2d\x59\x82\xe7\x79\x34\x34\x34\x14\x5d\xdd\
+\x1c\x89\xaa\xa0\x6d\x22\xae\x76\x22\x38\xf8\xc0\xcd\xab\x0e\xd5\
+\xeb\x37\xb0\x04\x61\xc2\x84\x09\xe5\xd6\xa7\x79\xf3\xe6\xe2\xfb\
+\x3e\x0b\xf6\xd9\x7b\xa7\x98\xd1\x07\x70\x0d\x87\x34\x4a\x85\x10\
+\x78\xbe\xcf\xa4\xd6\xd6\x20\x26\x55\x3c\xa0\xa7\x4e\x99\x32\x20\
+\xfe\x57\xd9\x94\x0e\xac\x63\x53\x5e\x0f\xae\xd3\x89\xe7\xe4\xc3\
+\xbd\xb2\xb6\x41\xfb\x15\x2d\x1f\x3d\x42\x07\x81\x39\x5c\xac\x66\
+\x67\xc5\xd5\xef\x36\xf8\x63\xce\xac\x6b\xad\xfb\xc1\xe0\x94\xda\
+\x91\xfb\xb2\x58\x48\x33\x30\xe8\xb7\x27\xaa\xbe\xcb\x3d\x5e\x4a\
+\x97\x03\xc5\x03\x53\xb9\xbb\x23\xf8\x59\x96\xd5\x28\xd2\x79\x15\
+\x17\x12\x03\x65\x1d\x24\x90\xbf\x27\xae\xd2\x81\xb3\x63\x22\xa0\
+\x3f\x55\xbd\x5b\xe4\x14\x02\xa4\x00\xa5\x8b\x84\x07\x3b\xc9\x3a\
+\x60\x5e\xf7\xa4\x9c\x03\x5d\xdc\x9d\xe7\xd3\xf3\x3c\x0c\xc3\xdc\
+\x5d\x0f\xdb\x61\x4e\x77\xd9\xb4\x7b\x70\xfd\x0e\x94\xb7\x24\x9b\
+\xde\x49\xee\x80\x2c\x59\x8c\xe1\xde\x26\x42\x44\x8b\x10\x39\x21\
+\x3e\x2f\xed\xdd\xae\xf0\x47\x28\x41\x18\xc6\xe2\xd7\x63\x5a\xcd\
+\x08\x43\xd2\xdd\x95\x42\x2b\x45\xe3\x84\xc6\x22\x0b\x8c\x87\xc0\
+\x07\x2c\x9c\x6c\x0a\x3b\x5e\x85\x2a\x64\x2b\x02\x8d\x1b\xcd\xc6\
+\x2a\x69\xfd\x3d\x95\xc5\x15\x42\xb0\xb5\xad\x9b\x68\xd4\xa2\x7e\
+\x5c\x4b\x39\x26\x27\x50\x68\xb7\x80\xb0\x22\x68\x27\x57\x21\xff\
+\xdc\xe8\x14\xc8\x50\x25\x08\xbb\x43\x49\x95\x36\xcb\xb6\xb6\x5e\
+\x5a\xa7\x34\x23\xb4\x06\x23\x01\xe4\x11\xc5\xac\xac\x57\x70\x31\
+\x4d\xe3\x7d\x41\xa0\x18\xae\x04\x61\x77\xdd\xdf\x29\xb8\x44\xaa\
+\x22\x20\x22\x94\xfa\x23\xc0\x04\x2f\x87\x30\x6d\x54\x21\xb7\xc7\
+\xd7\xef\x60\x75\x52\x3b\xca\x3a\xda\x71\x16\x48\xa3\x1a\xd3\x4a\
+\xa0\x74\xb8\x18\xa5\x61\x11\xde\xa5\x0c\x1b\x1f\x1b\xca\x8a\xaa\
+\x4e\x24\xd0\x3a\xa8\xf7\x88\xc7\xe3\xc4\x62\x51\x12\x89\x04\xb6\
+\x6d\x61\x48\xa3\x58\x6e\x3f\xb6\xcb\xf3\x7c\x1a\x9a\xeb\xf9\xd5\
+\x2f\x1f\xe6\x88\x23\x2e\xe3\xf2\x4b\x6f\xe6\x91\xbf\xbf\xc4\x61\
+\x87\x5d\xce\x0d\xdf\xf9\x1f\xbe\x7d\xc3\xdd\xc8\x48\xd5\x1e\xab\
+\x01\x29\x4d\x70\x50\x89\x2c\xa8\xae\x4e\x10\x8b\x45\xa9\xab\xab\
+\xc3\x30\x0c\x22\x91\x08\xf5\xf5\xf5\xa1\x33\x1b\xc3\xfb\xea\x8a\
+\x8e\x8e\x3e\x0e\xd8\xff\x73\x5c\xf5\xb5\x5b\xf9\xd2\xff\xf9\x39\
+\xff\xf1\x93\x3f\xd2\xd3\x9d\x66\xfa\xb4\x4f\xa1\x64\x7c\x8f\xd6\
+\xba\x94\xe6\xb5\xaa\xaa\x0a\x80\xfa\xa6\xa0\x77\xb2\xbe\xa1\x01\
+\xdb\xb6\x69\x68\x6e\x06\x69\x8d\xf9\x1d\xb4\x06\x3b\x62\x71\xfd\
+\xf5\xff\x43\x3a\x99\x63\xce\x9c\x8b\xf8\xdd\x3d\x4f\xb1\x65\x73\
+\x27\xb7\xdf\xfe\x0f\x2e\xfe\xec\x4d\x60\x45\xf7\xa8\x77\x55\xb2\
+\x0c\x0d\xc3\xa0\xbe\xae\x8e\x58\x2c\x86\xef\xfb\xc4\x62\x51\x4c\
+\xd3\xa4\xba\xba\xba\xec\x1a\x8d\x75\xfd\xfe\xe8\xa7\x7f\x66\x7b\
+\x7b\x96\xcf\x5c\xfc\x13\x3e\x7e\xf6\x0d\xdc\x7e\xcb\x43\x7c\xe2\
+\xc2\xef\x93\xec\xcb\x72\xd3\xcf\xff\x84\x8c\x58\x7b\xee\xf4\x2b\
+\xce\xab\xeb\xba\xd4\x37\x8f\xa7\xbe\xb1\xb1\x0c\xbd\x13\xa0\x1f\
+\xd4\x10\x89\x44\x8a\x80\x72\x12\xa4\x44\x05\x11\xb8\x61\x7f\xb4\
+\x28\xfe\x20\x83\x72\x18\xc2\x89\xb0\x1b\xab\x1b\x86\x57\x52\x00\
+\xb1\x58\x8c\x5b\xef\xb8\x13\x29\x04\x8f\x3c\xf2\x28\x7f\x7b\xf0\
+\xef\xfc\xf8\x67\x37\x72\xd9\x95\x5f\x65\xd9\xcb\xaf\xb0\xe6\xdd\
+\xb5\x6c\xde\xdc\x16\x1a\x2f\x66\x50\x23\xcc\xb0\x78\x7b\xd5\x16\
+\x2e\xbf\xec\x16\x4e\x3c\x76\x5f\x5e\x7f\x7d\x3d\xfb\xec\x35\x99\
+\x13\x4f\xb9\x81\x33\x4f\x3f\x18\xc3\xb0\xf9\xc6\x55\xe7\x92\xea\
+\xea\x42\x48\xb1\xc7\x26\xd8\xf3\x3c\x36\x6c\xd8\x48\x2a\x95\xe2\
+\x17\xff\xf5\xdf\xdc\x72\xeb\x1d\x7c\xf9\xd2\xcb\xe8\xee\xe9\xe1\
+\x1f\x4f\x3c\xc9\x49\xa7\x9c\x46\xa2\xba\x7a\xd4\x83\xaf\xb5\x06\
+\x29\x78\xe4\xd1\xd7\x78\xf0\xe1\xd7\xb8\xf9\xbf\x2f\xe3\xb9\xe7\
+\x57\xd2\xb6\xa5\x8b\x3b\xef\x7a\x92\x6d\xdb\x7a\xf8\xcb\xfd\xdf\
+\xe0\x9e\xbb\x1e\x41\x18\x72\x8f\x2a\xe4\xea\xea\x6a\xfe\x70\xdf\
+\xfd\xf8\xbe\xcf\x85\x17\x5c\x44\x7b\x47\x07\x57\x5f\xf3\x2d\x7e\
+\xf7\xfb\x3f\x30\x67\xee\x5e\x3c\xf7\xcf\x7f\x12\x8d\xc5\xc6\x32\
+\xa0\x14\xf2\x2e\x7f\xfd\xeb\x4b\x9c\x74\xe2\x01\x7c\xf7\xfb\xf7\
+\x71\xd6\xe9\x8b\xf8\xe5\xaf\x1e\xe1\x9b\xd7\xdc\xc3\x41\x07\xce\
+\x60\xd5\xea\xcd\x2c\x7b\x71\x05\x58\xf6\x1e\x93\xb5\x14\x4b\xdd\
+\xb8\x71\x23\x57\x7e\xf5\x2a\x1e\x79\xf4\x31\x6a\x6a\x6a\xb8\xf7\
+\xde\xff\x61\xf3\xe6\x36\xee\xba\xe7\xb7\xd8\xb6\xbd\x5b\xf6\xd3\
+\xc6\x8d\x1d\xdc\x7e\xcb\xdf\x69\x6c\xa8\xc6\xb6\x4d\x5e\x7f\x63\
+\x3d\x1f\x3d\x63\x31\x77\xde\xf5\x24\xff\x71\xe3\xdf\x80\xd8\x1e\
+\x6d\x8e\x52\x4a\xd1\xdc\x32\x99\xc9\x93\x26\x73\xf5\x35\xdf\xe2\
+\xb9\xe7\x5f\xc0\x75\x5d\x7e\xff\x87\xfb\xb8\xf1\x17\xff\xc5\x2b\
+\xaf\xbd\x46\xc1\xf5\x89\xf9\x5d\x4c\x4a\x2d\xa5\x35\x1d\xee\x67\
+\x52\x6a\x19\xe3\xb3\x6b\xf0\xa4\xfd\xbf\xde\x33\x31\xa8\x63\x9e\
+\xcf\xe7\x39\xef\x9c\x8f\x21\x84\x60\xca\xd4\xa9\x3c\xf6\x8f\xc7\
+\x39\xfd\x23\xa7\xf2\xc6\x9b\x6f\x11\x8b\x46\x89\x16\x7f\xf4\x28\
+\xb3\x19\x42\x08\xb4\x53\xe0\xe8\xa3\xf6\xe6\xe8\x63\xf6\x07\xe5\
+\xd2\xd7\xf7\x07\x40\xf1\xe9\xcf\x9f\x52\xd6\xe9\xda\x75\xa8\xae\
+\x89\xef\xb1\x18\x46\xa9\x26\x6c\xf2\xe4\x49\x18\x86\xc1\xc6\x8d\
+\x9b\xf8\xf0\x71\x27\xf0\xea\xeb\x6f\x50\x28\x14\xa8\xad\xad\xe1\
+\x80\x03\xf7\xc7\xf7\xbd\x31\x6d\x18\xe5\xf9\x7c\xfa\xf3\x27\x52\
+\xec\xa4\xe4\xd9\x7f\xfe\xb8\xff\xc8\xf1\x5c\x40\xb3\xe0\xc0\x99\
+\xa8\x82\xb3\xc7\x5c\x03\x21\x04\xe9\x74\x9a\x53\x4f\x39\x09\x21\
+\x04\x6f\xbd\xbd\x82\xfa\xe6\x16\x1e\x7a\xf8\x11\xee\xfe\xcd\x1d\
+\x1c\xba\x78\x11\x8d\x8d\x75\xa3\x22\x9d\x28\x8f\xa7\x52\x54\x25\
+\xa2\x5c\xfc\xb9\x13\x40\x29\x0e\x5e\x3c\x9f\x72\x72\x45\x7b\xa0\
+\x34\xcb\x5e\xba\x11\x94\x8b\x76\x9c\x3d\xee\xee\xc5\x62\x71\xb6\
+\x75\xb4\xd3\xd5\xd5\x85\x10\xd0\xd0\xd4\x44\xa1\x50\xe0\xc5\x65\
+\x2f\x71\xc1\xb9\xe7\x8e\xf9\xfe\x96\x65\xf2\xab\x5b\x2f\x19\x10\
+\x4d\x2d\xf5\x6b\x06\x59\xb4\x4b\x2e\x3b\x0b\x55\x48\xee\x51\x77\
+\xaf\x74\x4d\x6c\x6d\xe5\x37\x77\xde\xc5\xd5\x57\x7d\x8d\x7c\xbe\
+\x80\x61\x98\x2c\x7d\x71\x19\xcd\xcd\x4d\xcc\x99\x3b\x9b\x06\x61\
+\xb3\x9f\xdd\x1c\x5e\xe1\x08\xc9\xdb\x96\xcf\x83\x6c\x83\x0f\xa2\
+\x92\x2a\xb9\x06\x4a\x29\xe6\xcc\x9e\xc5\x3e\x7b\xef\x85\xe3\x38\
+\xcc\x9c\x31\x23\x20\xf8\x94\x82\x74\xda\x41\xab\xde\xb1\x05\x58\
+\x3d\x3f\xe0\x6b\x0b\x1c\xa2\x41\x3c\xe2\x3d\x8b\xa4\xd8\x1f\x38\
+\x0f\x64\xfd\xc1\xf7\xbe\x8d\x53\x70\x38\xe1\xc3\x47\x92\xcd\x66\
+\x98\xd8\xd2\xc2\xa1\x8b\x17\xd1\xd3\xdb\x39\x6a\xb7\xbe\x4c\xc8\
+\xe9\x0c\x00\x83\xdb\x25\x53\x22\xd0\x8e\xbb\x0b\x4a\xe6\x9e\x72\
+\xf9\x00\x5e\x7b\x79\x29\x3d\x3d\x3d\xbc\xfa\xd2\x52\xfa\xfa\xfa\
+\xb8\xf5\x57\xff\x8d\x19\x8d\x95\x1b\xc9\x47\x3d\x9e\x5a\x43\x19\
+\x65\x60\xd7\x39\xd5\xbe\x5f\x6c\x46\xde\x73\x01\xe5\x92\x85\xd6\
+\xd4\xd4\xc8\x6f\x6e\xbb\x05\xc7\x75\x48\x26\x53\x1c\x7b\xcc\xd1\
+\xf8\xbe\xcf\x7f\xfe\xc7\x4f\xc9\x64\xb2\x63\xb7\x10\x76\x90\x75\
+\x70\x8f\x61\x4f\xcf\xa9\x94\x92\xae\xed\x6d\xbc\xf8\xdc\x33\x20\
+\x25\x3d\x45\x85\x7c\xe6\x19\xa7\x71\xce\xc7\xcf\xa6\x50\x28\xe0\
+\xe3\x97\x3b\x44\x40\x93\x77\x0b\x48\x21\x91\x52\x96\xd5\xab\x21\
+\x24\x79\xb7\x40\xcc\x8e\x56\x44\xab\xfe\xbf\xa6\xa4\x06\x6e\x2e\
+\xdf\xf7\xc9\xe5\x72\xc5\xb8\x4a\xb0\xe8\x4a\x81\xcf\xb1\x2a\x87\
+\x32\xcf\xfc\xff\xf2\x55\x7a\x9f\x74\x3a\x60\x67\xe9\x6f\x0e\x55\
+\x64\x32\x3e\x63\x79\xcb\xb0\x90\xb5\x7b\x5a\x21\xef\xfc\x3e\x3d\
+\x3d\x3d\x08\x21\xe8\xe9\x09\x58\x44\x52\xa9\x14\xf5\xb6\xcd\x98\
+\x67\x64\x44\x39\x07\x59\x07\x7b\xf0\xf0\x49\xa6\x52\xe5\xcd\x5c\
+\x52\xc0\xe9\x74\x1a\xc3\x30\xc7\xee\x86\x85\x94\x75\x4f\xce\xe9\
+\x40\xc4\xd5\x81\xcf\x2a\x14\x0a\xe5\xd6\x1f\xc3\x36\xca\x6f\xa3\
+\xb5\xe6\xcd\x0d\xab\xc9\x14\x72\x74\x66\x92\x34\x24\xea\x30\xb4\
+\xa2\x3a\x96\xa0\x37\x9b\xe4\xa8\x7d\x96\x60\xf0\xc1\xba\xe4\x50\
+\xa7\xd0\xfb\x89\x07\xfd\xbf\x7d\x7d\x50\x9a\x80\xff\x9f\x8c\xff\
+\xef\xda\x1d\xca\x79\xa4\xcf\x1c\x32\x7b\x7f\x9a\xeb\x9a\x79\xaf\
+\xa7\x9d\xce\x42\x8e\x64\x3e\xcb\xa6\xee\xed\x1c\x36\xf7\x20\x8c\
+\x0f\xe0\x7e\x1f\xb2\xc1\xd8\x34\x4d\x3c\xcf\x2b\x53\x01\xb9\xae\
+\x4b\x2c\x16\xc3\x29\x14\x88\x44\x23\x03\x16\xbd\xfe\xc0\x12\x6e\
+\x8c\xb4\x2f\x4b\x66\x78\xc9\x62\x8c\x45\xa3\x65\xa2\x52\xcf\xf3\
+\x88\xc7\xe3\x64\x32\x99\x1d\x65\xfc\x20\x6e\x76\x0d\x84\x6c\x44\
+\x35\x0c\x03\xdf\xf7\x49\x24\x12\x24\x93\x49\x2c\xd3\xc4\x28\xce\
+\xf5\x2e\x96\xc1\x07\x52\xb1\xe9\x10\xf3\x5e\x2a\xe6\x94\x08\x21\
+\x8b\x38\x66\x41\xc6\x3a\x9b\xcb\x51\x55\x55\x55\xb6\x9a\xfb\xd7\
+\xf0\x07\x4d\xd6\x70\x35\x31\xe5\x6c\x7c\x75\x35\xa9\x54\xaa\x8c\
+\x9f\x15\x8d\x06\xe8\x24\xca\xf7\xf1\xf0\xcb\xfc\x02\xc1\x14\x2b\
+\xf6\x99\x3a\x97\x7d\x66\xef\x47\xd0\x4a\x51\x74\xfa\x9c\xfc\x0e\
+\xb5\x6d\x1f\x58\x4b\x2a\x98\x5c\x83\x55\xab\x56\xe1\xba\x2e\x0d\
+\xe3\x26\xf2\xe8\x63\x8f\x93\x4c\x26\xf9\xf1\xcf\x7e\xc6\x3b\xeb\
+\xd6\xf1\xdb\x7b\x7f\x47\x34\x1a\xa3\x3a\x21\x11\xb6\x05\x15\xfd\
+\x54\x83\x6d\x54\xf0\x79\x13\x6c\x1b\xec\xe8\x80\x3f\x8f\xfc\x3d\
+\x19\x31\xa9\x49\x0c\xcf\x23\x57\x9a\xe0\x64\x32\x49\x22\x91\xe0\
+\x89\xa7\x9f\xe1\x95\x57\x5f\xe5\xcd\x37\xdf\x22\x5e\x55\xc5\x0f\
+\x7e\xfc\x13\xea\x9b\x5b\xd0\x80\x1d\xd5\x40\xa5\xef\x6c\x57\x38\
+\x36\x56\xf1\x3b\x89\xd0\x72\x62\x9b\x20\xac\x22\x96\xcf\xf0\x90\
+\x1e\xa5\x06\x63\xc3\x30\xf8\xf9\x2f\x6e\xa2\xb1\xb1\x01\xc7\x75\
+\x79\xfe\x85\xa5\xa4\xd2\x69\xf0\x3c\x1c\xa7\x40\x2c\x66\x82\x55\
+\xc1\xf3\x6d\x0b\xec\x58\x05\xef\x6c\x15\xd7\x40\x75\x45\x73\x8a\
+\x6d\x22\x6c\x0b\xbb\xca\x1c\xd6\x32\x2c\x65\xf7\x3a\x3a\xba\xd8\
+\xdc\xd6\x86\x69\x1a\xd4\xd7\xd7\x73\xfd\x77\xbe\x47\x5f\x5f\x1f\
+\x57\x7c\xf5\xeb\xc4\xe3\x71\xa4\xd0\x04\xf4\x83\x56\x85\xef\x3e\
+\xd4\x38\x54\x8d\x62\x1c\x86\xb9\x9f\x69\x13\x86\x88\xa1\xb6\xa6\
+\x86\x9f\xfe\xc7\x8d\xe5\x83\x67\x7b\x7b\x3b\xb7\xdf\x71\x27\xbf\
+\xb8\xe9\x66\xee\xff\xd3\x9f\xc9\xe6\x72\x58\x42\x22\x85\x41\xd0\
+\x53\x68\x04\xfd\x2b\xb9\x0c\x38\x85\x20\x46\xea\x14\x00\x89\x10\
+\x06\x08\x03\x84\xc4\x64\xb4\x20\x88\x92\x4a\x6a\xa5\x84\x90\x08\
+\x8c\xca\x78\xf7\x7c\xdf\x67\xee\x9c\xb9\xd4\x34\x8e\xe3\xb4\x8f\
+\x9c\xc2\xa1\x4b\x96\x70\xe8\x92\x45\x4c\x9c\xd0\xc2\x7f\xfc\xfc\
+\xbf\xf8\xf2\x17\xbf\x40\x26\xdd\xc1\xbd\x7f\x2c\xd0\xd5\xd3\x1d\
+\xda\x25\x54\x4a\xb1\x7a\xe5\x73\xec\x77\xe0\x89\x14\xf2\x99\x90\
+\xb5\x32\x12\xad\xd2\xf4\xf5\xf5\x51\x5d\x33\xae\x7c\x52\x84\x39\
+\x4d\xbd\x42\x8a\xaf\x5d\x21\xc8\x66\x87\xb7\xa4\xc6\x8d\x1f\x4f\
+\x4f\x4f\x0f\x3f\xfc\xf1\x4f\xf8\xfa\xd7\xaf\xe2\xd5\xe5\x6f\x70\
+\xc1\x27\x2f\xe6\xfb\xdf\xb9\x81\x0f\x1f\x73\x34\xf7\xdf\xf7\x7b\
+\x9e\x5b\x5a\xc3\x3b\xeb\xb7\x84\xc4\xc2\x16\xe4\x72\xa9\xe2\x89\
+\x56\x55\x91\xcb\xec\x3a\x49\xd6\xbf\xb7\x9a\x79\x7b\x1f\x8a\xef\
+\x85\xeb\xcc\xf7\x7c\x98\x39\x25\x4e\xcb\x84\xe1\x19\x54\x1c\xc7\
+\xe1\x80\x03\xf6\xa7\xb3\xb3\x93\xeb\xfe\xfd\xdb\x7c\xf1\x4b\x97\
+\x70\xd4\x87\x8f\xe7\xa8\x23\x8e\xe0\xd2\xcb\xae\xe4\x17\x37\xfd\
+\x9c\xc3\x0f\x3f\x8c\xff\xbc\x29\x89\x65\x87\xe7\xdd\x73\x5d\x97\
+\x4c\x7a\x13\x87\x2f\x9e\x4b\x21\x24\x9a\x80\x1d\xb1\x79\xec\xb1\
+\x3f\x30\xbe\xf5\x70\x0c\xc3\xa2\x12\x9a\xf5\x99\xd3\x0d\x4e\x3d\
+\x41\x92\x1f\xa1\x53\x23\x93\xc9\xf0\xc4\x53\x4f\x63\x1a\x06\x1f\
+\x3d\xf3\x74\xfe\xe5\xa3\x67\x12\x8b\xc5\xf8\xc4\x05\xe7\xe1\xba\
+\x05\x0a\xae\xcd\x5f\x1f\xae\xe1\xf5\x15\x5b\x03\x46\xa2\x31\xd8\
+\x76\xa6\x69\xb3\xee\xdd\x57\x88\xc5\xaa\x99\xd0\x32\xab\x32\xa8\
+\x9b\x21\xe4\xec\x4b\x66\xb8\xf4\x0b\x9a\x68\x64\x68\xa3\x4a\x6b\
+\x8d\x11\x4d\x70\xdb\xed\x77\x32\x79\xd2\x24\x7a\xfb\xfa\xb8\xf0\
+\xfc\xf3\x38\xea\xa8\x23\x50\xbe\x22\x12\xb1\x89\xd9\x36\x5b\xb4\
+\xc7\x46\x3f\x13\x14\xd8\x86\x79\xba\x94\xb4\xab\x1c\xb1\x61\x48\
+\x3b\x87\x1c\x0f\x95\xc4\x73\x36\x05\x90\xca\xa1\x3e\xaf\xf0\x2d\
+\x07\x41\x9c\xd0\xbc\x7b\x89\x44\x82\xab\xaf\xbd\x8e\x57\x5e\x7d\
+\x8d\x5b\x7e\xf9\x5f\xdc\x75\xd7\x3d\x9c\x77\xe1\x45\x34\x36\x34\
+\x72\xd4\x51\x47\x72\xdf\x7d\xf7\x71\xe5\xa5\x9f\x67\x4b\xf7\x5c\
+\x62\x35\x35\xa1\xcd\x43\xdf\xf7\x78\x63\xf9\x1a\xa6\xcf\x3a\x87\
+\x74\x2a\x13\xee\x7b\xc2\xc0\x77\x36\xa2\xc5\x66\x5a\x5a\x0f\xc0\
+\x32\x23\xe1\x4c\x7e\x34\x4e\xee\x6d\x7c\xdf\x19\x76\xe3\x7a\x9e\
+\xc7\x4d\x37\xdd\xcc\x1b\x6f\xaf\xe4\xd8\x63\x8f\xe7\xda\x6b\xae\
+\xe5\x94\x93\x4e\xe0\x8e\x5b\x7e\xc9\x77\x7f\xf0\x23\x6e\xfe\xc5\
+\x8d\x14\xf2\x1e\x93\xa7\x1d\x47\xf3\xf8\x85\xe8\x10\x78\x49\x42\
+\x1a\xf4\x74\x6f\x02\x04\x35\xb5\x13\x76\x85\x6f\x1d\xc6\xc2\xcf\
+\xa5\xd7\xf1\xee\xda\x3c\x53\xa7\x5f\x88\x53\x08\xa7\x28\x7c\x6d\
+\xd1\x50\xf7\xea\xb0\x75\x6b\x5a\x6b\x1a\xc6\x4d\x64\xfa\xb4\x69\
+\xbc\xb9\xfc\x25\x9a\x9b\x9b\x78\x77\xcd\x4a\xae\xbf\xee\x5a\xde\
+\x7c\xfb\x6d\xbe\x71\xd5\x57\x99\x35\x7d\x1a\xdb\xb6\x6c\x25\x52\
+\x73\x1c\xa6\x59\x13\x52\x71\x08\xf2\xf9\x34\xed\x5b\x9e\xe4\xf0\
+\x25\x47\x92\xce\x84\xc3\x83\x4f\x24\x12\x3c\xf9\xf8\x73\xb4\x4c\
+\x3a\x11\xdb\x6e\x0e\xef\x6e\x09\x68\x68\x0c\x58\x66\x46\x4a\x41\
+\x39\xae\xc3\xa4\xd6\x89\xdc\xf0\x9d\xef\xb1\xe4\xf0\x23\xb8\xfe\
+\xdf\x6f\xe0\xa7\x3f\xfa\x3e\x5f\xbc\xe4\x32\x96\x3e\xfb\x24\xb1\
+\x68\x2d\xfb\xec\x7b\x11\xd5\x35\xad\xe5\x7e\xb3\xd1\x2a\xa9\x48\
+\x34\xc6\x7b\xef\xf5\x12\xab\x6a\x65\xca\xb4\x8f\x8c\x1d\x3e\x58\
+\x08\xea\xb3\x20\x65\x3a\xd4\x3c\x24\x53\x29\x4e\x3e\xf5\x14\xa6\
+\x4d\x9b\xc5\xd9\x1f\x3d\x8b\x5f\xfe\xea\x56\xd2\xe9\x34\x33\x66\
+\x4c\xe7\xb3\x17\x7f\x02\xcf\xa8\x26\x1b\x99\x0d\x15\x50\x5a\x15\
+\x6c\x89\xd4\xef\x54\xfe\xea\x32\x8e\x61\x8d\xab\x88\x66\x5d\x1a\
+\x49\x86\x42\xc4\x18\x54\x49\xa5\xd3\x69\xbe\xf1\xf5\xaf\x96\xff\
+\xfc\xaf\x97\x7c\x89\x7f\xbd\xe4\x4b\x3b\x6c\xee\x64\x5f\x07\xd1\
+\x48\x13\xc8\xea\x0a\x30\xce\x5d\xa2\xd1\x28\x55\x55\x12\xe5\x87\
+\xff\x9e\x67\x56\x11\x8b\xc5\x89\xc7\x13\x58\x56\x24\xa4\x25\xa5\
+\x90\x3a\x16\xb4\xe0\x0c\xd3\x12\x61\x18\x06\x9f\xfa\xe4\x27\xca\
+\x93\xf7\xe5\x2f\x7c\xa6\xdc\x22\x73\xef\xdd\x77\x16\x1b\x73\x15\
+\x11\x3b\x4a\xbc\x2a\x8a\x56\xd1\x30\xeb\x8b\x7c\x3e\x81\x00\xe2\
+\xf1\x44\x05\x75\x32\x1a\x54\x15\xd1\x68\x94\x78\xdc\xc0\x34\xab\
+\xc3\x4d\xb2\xa6\x8c\xdf\x3d\x9c\x42\xee\xe9\xd8\xca\x6b\x2f\x2d\
+\xc5\x75\x3d\x5e\x7d\x69\x29\x68\xcd\xa4\xd6\x56\x8e\x3e\xfa\x28\
+\x00\xaa\xaa\xe2\x41\x6c\x2e\x51\x85\x65\x25\x2a\x58\x94\x41\x01\
+\x70\x55\x22\x56\x64\x8e\x1e\x19\xa1\x20\x51\x15\x27\x16\x8b\x10\
+\x8f\x57\x61\xdb\x95\xc1\xc2\xd8\x91\x1c\x5a\x67\x87\xdd\x70\x5a\
+\x6b\x66\xce\x98\xc1\xcc\x19\x33\xf8\xf0\x31\xc7\x00\x9a\x5f\xdf\
+\xf6\x2b\x00\x1e\x79\xf0\x2f\x24\x53\x29\xa4\x90\xc4\xe3\x55\xc4\
+\x8b\xd4\xf3\x63\x89\x7d\x46\xa2\x10\x8b\x46\x89\xc5\x62\xc4\xab\
+\x22\x78\x5e\x84\x31\x5f\x12\x84\xc8\x0c\xab\xa4\xa4\x94\xf4\x74\
+\x6c\x65\xd5\x9b\xaf\xa1\x3d\x8f\xf5\x6b\x57\xa3\xb5\xe6\xdf\xbe\
+\x75\x4d\xff\x78\xd9\x12\x41\x1f\x52\x58\xa1\x5b\xaf\x84\x04\x29\
+\x0c\x74\x91\xa9\xaf\xb2\x78\xba\x2c\x52\xd7\x1b\x21\xf5\xb1\x0a\
+\x5c\xcc\xb0\xee\xde\x60\xbd\x40\x3b\x6f\xf0\x60\x11\x4a\x94\xca\
+\xe0\x7b\x32\xb4\x76\x56\xda\x45\xeb\xd1\x80\x8b\x09\xb4\xca\xe1\
+\x7b\x7d\x48\x11\x09\x79\xe8\x2a\xb4\xca\x33\x12\x67\xd9\x60\x01\
+\xd9\x9d\xef\xaf\xd1\x28\x95\xc3\x77\x33\xa1\xcc\x78\x29\x25\xca\
+\x4f\x62\xc8\xaa\x3d\x12\x18\x1e\xcd\x57\x42\xc3\x06\x0b\x81\xf2\
+\xb3\xf8\x15\x90\x4e\x28\x2f\x53\x2c\xec\xad\x04\x04\x58\x57\x2c\
+\x6f\x40\xe3\x1d\xd2\x5d\xd9\x41\xc6\xc1\x21\xb0\xf5\x1e\xcc\x11\
+\x94\x28\xc7\xf7\x7c\x72\x28\x0c\x2c\xb4\x40\x6b\x0f\xe5\xa7\x8a\
+\xbf\x17\xa1\xd6\xb0\xf6\x3d\xb4\xca\xe3\xb9\x05\x3c\x37\x0c\x48\
+\xa5\x46\x19\x51\x76\x77\x26\x6d\x44\x22\x86\xa1\x7f\xa7\x90\x32\
+\x8e\x34\x6a\xfa\x31\xcf\x47\x34\xa5\x3c\x84\x18\x4d\x7d\x8a\x46\
+\xc8\x28\xd2\xa8\x41\x1a\x21\xdd\x3d\xad\x8b\x4d\x9f\xe1\xb2\x5e\
+\x43\x2b\xe3\x60\x92\x85\x88\x21\xcd\x2a\x84\x0a\x03\x1f\x2c\x91\
+\xb2\xba\xb8\x4a\x3f\xb8\xa9\xff\x41\x65\xd7\x1a\x29\xab\x90\x46\
+\x75\x68\x77\x4f\x1a\xb2\x48\xda\xfa\x7f\x81\xac\x3b\x1e\x47\x20\
+\x0a\x44\x6c\x3d\xa6\x98\x14\x40\xc4\x36\x31\x0c\xf5\x01\x2d\xf5\
+\xd0\x08\x61\x62\x18\x35\xa1\x99\xa2\xa5\x94\x08\x69\x21\x44\x14\
+\xc3\x8c\x60\xa8\x70\x80\x8f\x41\x4f\xef\x1e\x46\x41\x18\x58\x82\
+\xe0\xfb\x7e\xf1\xff\x0d\x7c\x5f\x21\x07\x56\x09\x97\x1a\x10\xcb\
+\xe6\x63\x98\x17\x33\xc6\x24\x40\x29\x6b\x13\xee\x1e\x2a\x94\xdb\
+\x51\x2a\x41\x50\x45\xe2\x48\xa5\x14\x86\x94\x78\xbe\x5f\xfe\xbb\
+\xe0\x5e\xb2\xc8\x85\x26\x43\xbc\x27\x65\xf3\xb5\x32\x64\x83\xc0\
+\x42\xdd\x93\x9b\xb4\x54\x5a\x62\xdb\x36\x8e\xe3\x60\xdb\x36\xae\
+\xeb\x62\x9a\x66\x7f\x07\x7d\x99\x08\x32\x6c\x2c\xcd\xe0\x83\x54\
+\xa2\x3c\xd0\x0b\x28\xc9\x5d\xae\xfc\xd7\x1a\xcb\x30\xf0\x95\xc2\
+\x73\x93\x54\x59\x6f\x70\xc2\xd1\x4d\x38\x85\xb1\x01\xd6\xc5\x13\
+\x55\xac\x79\x33\xc3\xf6\x1e\x7f\xb7\xc1\x53\x89\x0a\xe6\xb5\x34\
+\x9f\xa5\x12\x13\xc3\x30\x8a\x16\xbd\xa2\x04\x4e\xa5\x2b\x99\x53\
+\xd8\x01\x2e\x4e\x84\xe2\x3a\xdc\xe9\x8b\x95\xc4\x0b\xa8\x10\x4f\
+\xca\x34\x4d\x96\xbd\xf4\x32\xfb\xed\xbb\x80\x78\x2c\xc6\x8a\x95\
+\xab\x98\x3e\x7d\x1a\x5d\xbd\xbd\xd8\xb6\x5d\x1c\x10\x0f\x43\x74\
+\x62\x92\x0d\xcf\xfa\x22\x3d\x20\xf7\xfe\x2d\x67\x3d\xf2\x04\xfb\
+\xbe\x4f\x5f\x32\x49\x53\x43\x03\xab\xd7\xac\xa1\xb1\xa9\x99\x0d\
+\xeb\xd7\x33\x6f\xee\x1c\x0a\x8e\x43\x57\x67\x17\x93\x27\x4f\x45\
+\xf9\xed\xe0\xb5\x85\x3a\x71\x85\x90\xe0\x6f\x45\x69\x0b\xcf\x51\
+\x15\x29\x2a\xe5\xf7\x04\xca\x7f\x0f\x6c\xdc\x48\x24\xc2\xab\xaf\
+\x2d\x67\x9f\xbd\xf7\xe2\x99\x67\xff\xc9\xa2\xc5\x8b\x79\xe8\xe1\
+\x47\x38\xea\xc8\x23\x78\x7b\xc5\x8a\x32\xb0\xa1\x29\xb7\x62\x8a\
+\x54\x68\xcb\xc8\x20\x8b\x28\xb3\xdc\x7e\x30\xac\x26\x08\xb2\x7b\
+\xe9\x4c\x86\x9a\xea\x6a\x62\xb1\x18\x1d\x1d\x1d\x44\xa3\x51\xd6\
+\xbc\xf3\x2e\x87\x1c\xbc\xb0\xc8\xa5\x68\x04\x6c\x44\x72\x8c\x48\
+\x17\xda\x44\x6b\x89\xf6\x93\x78\x4e\x27\xde\x58\x29\xad\x44\x09\
+\x35\x54\x0c\x1b\xb2\x28\xd5\x31\x3e\xf6\xd8\x3f\x38\xee\xb8\x63\
+\x79\xe3\x8d\x37\x99\x3f\x7f\x1e\x6d\x6d\x6d\x6c\xdc\xb4\x99\xd6\
+\xd6\x89\x4c\x99\xdc\x8a\x53\xe8\xc5\xb2\xda\x50\x3a\xac\xf2\x93\
+\x18\xa2\x1b\xb4\x51\x46\x41\x08\x0d\x62\xa7\x52\x78\xce\x96\xf0\
+\x81\x73\xad\x51\x56\x01\x18\xdc\x55\x34\x87\x32\xf5\xfa\xfa\xfa\
+\x30\x4d\x93\x97\x5f\x7d\x8d\xbf\x3f\xf4\x30\x33\xa6\x4f\xe7\xdd\
+\xb5\x6b\x39\xe9\xc4\xe3\xa9\xab\xab\xa3\x90\xcf\x20\x45\x14\x21\
+\xb2\xa1\x53\xec\x01\xb3\xa9\xe2\x83\x76\x79\x9e\x87\xd2\x8a\x5f\
+\xdc\x74\x33\x13\x5b\x27\xb3\xb9\x6d\x13\xd7\x5d\xfd\x0d\x56\xac\
+\x5a\xcd\xaf\x6e\xb9\x95\xdf\xde\x7d\x37\x52\x78\x68\x9d\x0e\x95\
+\x05\x0a\x94\x4c\x2e\x80\x45\x55\xe1\x71\xa2\x02\x26\x14\x8f\x3d\
+\xd5\x2c\x24\xa5\x24\x9d\x4e\x03\xf0\xb1\x73\x2f\x60\xd5\x8a\xb7\
+\xb9\xef\x8f\xf7\xa3\x35\xfc\xdb\x0d\xdf\xe6\xe6\x9b\x7e\x8e\x6d\
+\xdb\x08\x9d\xaf\x48\xb1\x0a\x91\x0d\xac\xcd\x0f\x90\x35\x25\x84\
+\xa0\xad\x6d\x0b\xef\xae\x5d\xc7\xa2\x43\x16\xd2\xd0\xd0\xc0\xb3\
+\xff\x7c\x8e\x83\x0e\x3a\x90\x17\x5e\x7c\x91\x43\x97\x2c\xc2\x30\
+\xa2\x64\xf2\x93\x78\x7e\x59\x66\x6c\x8d\xd5\x5a\x13\x8b\x49\xda\
+\x3b\x25\x86\xe1\xa3\xfd\x5c\x68\xd6\x9c\xe1\xd6\x42\x00\x11\x14\
+\x67\xa4\x04\x41\xac\xba\x9e\x0b\x3e\xf9\x69\xde\x7e\xfd\x15\xf2\
+\xc5\x76\x98\xe7\x5f\x58\xca\xca\x55\xab\x39\xfa\xa8\x23\x69\x9d\
+\x38\x01\xa5\x7c\x0c\x91\x2d\x1e\x7f\x23\xc7\x96\xa4\x90\x88\x32\
+\x75\x7a\xa5\x03\xe2\xa3\x55\x0e\x45\xf8\x72\xa1\xe0\xf0\x8f\x85\
+\x57\x52\x85\x42\x81\x53\x4e\x3a\x11\xc7\x75\x89\xc7\x62\x9c\x79\
+\xc6\x69\x24\x93\x29\x26\x4d\x6a\x65\xca\x94\x29\x44\x6c\x9b\x74\
+\x4a\xd0\x95\x6e\xc5\x55\x35\xe1\xb3\x7b\x4a\x01\x09\x74\x25\x31\
+\x62\x31\x96\xb8\xf2\xc8\x85\x70\x86\x61\xd0\x32\x61\x02\x8e\xe3\
+\x70\xee\x39\x1f\xc7\xf3\x3c\xea\xeb\x8f\xa7\xb6\xb6\x96\x59\x33\
+\x67\x70\xd1\x85\x17\xe0\x38\x3e\x66\x64\x3a\xc2\x9c\x1b\xea\xf9\
+\x42\x00\x46\x3d\x86\x09\x76\x74\x7c\x45\xa6\xbf\xe7\xd3\x6f\xad\
+\xe9\xdd\xbb\x69\xb3\xd9\x2c\x47\x1d\xf9\x21\x72\xb9\x3c\x3f\xfd\
+\xf1\x0f\x30\xa5\xe6\xba\x6b\xaf\xa1\xb7\xb7\x97\x2b\x2f\xbf\x94\
+\x69\x53\xa7\xd2\xb6\x79\x0b\xae\x9e\x01\x2a\x7c\xc6\xcd\xd3\x39\
+\x34\x1b\xd0\x1f\xa0\x03\x48\x6b\x4d\x4b\xcb\x04\x6a\x6a\xaa\xa9\
+\xad\xad\xc5\x75\x1c\x0e\x3c\x70\x7f\xc6\x35\x8f\xe3\xbc\x73\x3e\
+\x4e\xa1\x50\x40\xca\x08\x4a\xcc\x64\x5b\x47\xe3\x98\x03\xe7\x91\
+\x08\xa4\x32\x31\x9a\x9a\xc6\x61\x45\x27\x23\x76\x03\xe4\xbb\x2d\
+\x00\xb6\x0d\xbb\x10\x84\x10\x14\x32\x7d\xfc\xe2\xc6\x9f\xe1\x7a\
+\x1e\x8b\x17\x1d\x42\x6f\x6f\x2f\x8b\x17\x2d\xe2\x88\x0f\x1d\x4e\
+\x22\x91\xc0\xb2\x0c\x62\xf1\x66\xb2\xee\xec\xf0\x07\x1a\xe0\x29\
+\x0d\x62\x65\xe5\x6b\xcd\xa8\xc7\x8a\xce\x0a\x0d\xe5\xa4\x35\x18\
+\x56\x12\x48\x87\x73\xf7\x4a\xbe\x7b\xb6\xd8\x54\x3c\x67\xce\xec\
+\x1d\xfa\xf8\xfc\x62\xac\x46\xab\x1c\x08\x19\x14\xa7\x86\x7d\xf9\
+\xe2\x58\x4b\x11\x2a\xb4\x53\xde\xf0\x42\x9a\x08\x69\x23\xa4\x19\
+\x3e\x64\xa3\x25\x8c\x40\x2a\x5a\xf2\xe7\x3d\xcf\x43\x4a\xc9\x61\
+\x87\x2e\xd9\xc1\xba\x6a\x9d\xd8\xc2\xd4\x29\x93\x49\xa5\x0b\x41\
+\xc0\x51\x84\x57\xac\x42\x68\xd0\x0a\xad\xfd\xd0\xa9\x58\xd0\x68\
+\xad\x8a\xf2\x86\x0f\x4f\x89\x10\x5a\xbf\x34\xaf\xb9\x5c\x50\xc7\
+\x74\xc1\x79\xe7\x52\x28\x14\x98\x34\xa9\x95\xd6\xd6\x89\xec\xb7\
+\xdf\xbe\xd8\xb6\x85\xe7\xb9\x44\x64\xf8\xf9\x09\xdc\xf8\x0f\x16\
+\x46\x78\x29\x26\x55\x53\x53\x43\x6d\x6d\x2d\x4a\x29\x5c\xcf\x63\
+\xfa\xb4\xe9\x28\xa5\x88\xc7\x63\xe8\xa2\xe5\x24\xa4\xc0\xdc\x0d\
+\xb8\x74\xa6\x1d\xc0\xf4\x6a\x1d\x94\x84\xa8\x31\xde\x4f\x40\x91\
+\xaf\x51\x8c\xa8\xa4\x32\x99\x0c\x67\xff\xcb\x59\x14\x0a\x05\xb2\
+\xd9\x2c\x91\x48\x84\xc9\x93\x27\x95\x3b\x2a\x82\x92\x1a\xaf\x1c\
+\x5b\x0d\xff\x12\x6a\x54\x07\xa5\x28\x07\xb2\x2a\x39\x44\x65\xf8\
+\x8a\xf3\x81\x0a\xa9\x44\x28\xb8\x73\xc6\x42\x4a\x89\x16\x16\x4e\
+\x6e\x25\xf9\xbc\x0c\x6d\xe6\xfb\xca\x43\xe9\x3e\x72\xa9\xb5\xe4\
+\x52\xbd\xe1\xbe\x27\x24\x5a\xa5\x70\xf3\x9b\xc9\xa7\x14\xa6\x69\
+\x85\xdd\xee\x78\x4e\x3b\x30\x9e\xe1\xd8\x57\x06\x66\xb8\xdc\x9d\
+\xe2\x08\xbe\xaf\x8b\x66\xbb\xc2\x77\xb7\xe3\xe6\x6a\x43\xc7\xa4\
+\xdc\x7c\x1b\x86\x3d\x61\x14\xe6\xb2\xc6\x2b\x6c\x24\x9f\x5a\x41\
+\xa1\x10\xae\x30\x52\x69\x41\x5d\x24\x37\xac\x56\x1b\xe8\x92\x0b\
+\x21\xc8\x17\x09\x5f\x3d\xcf\x2b\x93\x34\x98\xa6\x81\x94\x26\x85\
+\xcc\x9b\x78\x46\xf8\x3a\x9f\x7c\x21\x8b\xef\x6d\xdf\x63\x41\xff\
+\xd1\xc6\xa4\x06\xe2\x9b\x0f\x3c\x60\x4b\x70\x43\x4a\x3b\x14\x32\
+\xab\xc9\x8b\xfa\xb1\x23\x92\x3a\x31\xf2\xd9\xad\x44\xc6\xc5\xa9\
+\x89\x6d\xc1\x75\x9d\x31\x6b\x29\x4b\x2a\x04\x51\xfa\x71\xaa\x86\
+\x3e\x7c\x4a\xf3\x59\x92\x7d\x47\x7c\xfe\xe0\xc4\xab\xcc\x85\x07\
+\x31\xca\xf9\xf4\xbd\x2d\xe4\xd3\x2f\x23\x43\x3e\x4f\x6b\x4d\x44\
+\x08\x84\x98\x38\x68\x38\x28\x54\x09\xc2\xa0\x31\x27\xe5\x62\x45\
+\x67\x10\x95\xf5\xa1\xf7\xa1\xef\xbb\x48\xf1\x27\x22\x55\x33\x71\
+\x43\x42\xf2\x0a\x21\xf1\x9c\x8d\x98\xb6\x20\x52\xb5\x2f\xa6\x19\
+\x72\xf3\x68\x45\x4e\xbf\x45\x38\xc6\xe1\x91\x10\x1f\x24\x86\xd9\
+\x88\x15\x9d\xbc\x0b\x41\xc5\x50\xb1\x1f\xd3\x16\xc5\x45\x51\xf9\
+\xe2\x37\xad\x16\xec\xf8\x5e\x60\xaa\x90\x4a\x4a\x82\x58\x16\xea\
+\x59\x3b\xcb\xba\xb3\xcc\x4a\xf9\x58\x89\xf9\x58\x56\x4d\xf8\x0d\
+\x6a\xa4\x31\x8c\x8e\x0f\x5c\xbc\x71\x67\xd9\x76\xf9\x33\x16\x76\
+\x6c\x0e\x91\xaa\x49\x21\xdb\x9d\x86\xbe\xa2\x51\x49\xc1\xad\x63\
+\xc6\xb4\x2a\x8e\x39\x6a\x62\x78\x12\xce\x61\xcf\x67\x49\x5f\xd7\
+\xb6\x11\xfb\x14\x87\x93\x35\xf8\xaa\x00\xb2\x64\x52\x2b\x42\x2f\
+\x47\x21\x25\xf9\x6c\x3b\x52\x5a\x15\xbf\xb7\x34\xc7\x11\x89\xef\
+\x17\x3a\x70\xae\xb5\xc2\xb4\x93\xa0\xf3\xe1\x2c\xa9\x81\xda\x6d\
+\xa8\xa2\xbf\x81\xf5\x43\x95\x98\xf9\x65\xcd\x5c\x31\xaa\x56\x29\
+\xc3\x21\x8b\x78\xcd\xa1\x46\x39\xd4\x13\x86\x5a\x00\xbb\x82\xb2\
+\x89\x21\x82\x64\xc3\x05\xa6\x2a\x95\xb3\x7f\x4c\xc3\xa6\x7d\x77\
+\x74\xf7\x2a\x93\x77\x70\xd0\xfe\xa2\xc1\x5e\x51\xe9\xc4\x58\x2c\
+\x28\xb1\x47\x3e\x3a\xdc\xdc\xee\xe2\x9a\xc0\x98\x48\x30\x4a\xf5\
+\x91\x03\x99\x99\x0c\x63\xf7\x58\x95\xc1\x7a\x1f\xde\x8d\x1f\x48\
+\x9c\x32\x58\xf6\xce\x32\x23\x2c\x5b\xfa\x10\xd7\x7e\xeb\xba\x8a\
+\x58\x72\x56\xac\x34\x78\xfd\xcd\x55\x25\x24\xaa\x90\x2e\xb1\x28\
+\xae\x9f\x4a\xca\x10\x64\xe5\x94\x56\x00\xb9\x7c\x9e\xda\x9a\x6a\
+\x9e\x78\xf2\x19\x66\xce\x98\x46\x53\x53\x13\x1b\x37\x6e\x22\x12\
+\x89\x10\x89\xd8\x44\x22\x02\xad\xf2\x28\x3f\x1d\xfa\x55\x94\xef\
+\xa1\xf1\x03\x24\xd9\x90\xdf\xd3\xc2\x44\xab\x7c\xf9\x59\x4a\xd8\
+\xa1\x17\xa8\xd2\x0e\x61\x02\x49\x5a\x6b\xb2\xd9\x2c\xab\x57\xaf\
+\x61\xfa\xf4\xe9\xb8\xae\x1b\x80\xfd\xe5\x73\xd4\xd7\xd7\x93\x48\
+\xd4\x16\x9f\x9f\x43\x87\xa8\x38\x57\x5a\xa2\xfd\x2c\x48\x1b\xad\
+\x1d\xb4\xaa\x60\x77\x69\x8f\x3d\x01\x96\x51\x5a\xcc\x8e\xe3\x60\
+\x9a\x26\x4f\x3f\xfb\x4f\x8e\x3f\xee\x58\xd6\xaf\x5f\x1f\xd4\xd2\
+\x08\x98\x3a\x65\xf2\x0e\x2e\xc3\x1e\x53\x36\x3b\xbc\x97\x8b\xd6\
+\x4e\xe8\xa0\x90\x2e\x8e\x51\x98\xe7\xe5\xf3\x79\xf2\xf9\x3c\xdb\
+\xda\xdb\x99\x31\x6d\x1a\xdb\xb6\x6f\xa7\x75\xe2\x44\x36\x6c\xd8\
+\xc8\x9c\x39\xb3\x76\xfb\x18\x4b\x21\x70\x3d\x1f\xcf\xd3\x63\x42\
+\x38\xed\x1f\x4e\x19\xaa\xf8\xd2\xb6\x6d\x9e\x5f\xba\x94\x43\x16\
+\x1e\xc4\xd2\x17\x96\xb1\xe8\x90\x85\x6c\xdb\xbe\x1d\xe5\xfb\xd8\
+\x76\x84\xe8\xa4\x28\x86\x61\xd2\xdd\xd5\x8d\x61\x86\x53\x52\x52\
+\x0a\x92\x7d\x7d\x48\x5c\x94\x17\xf4\x4a\x8a\x10\x73\xa3\xfc\x18\
+\xa8\x02\x78\xa9\xf0\x0d\xc6\x5a\x21\x54\x0e\x3d\xc4\x5e\x1d\x34\
+\x70\x6e\x18\x06\xdd\xdd\xdd\x18\x86\xc1\x15\x5f\xf9\x1a\xff\xfa\
+\xe5\xff\xc3\x3e\x0b\xf6\xe1\xe9\xa7\x9f\x65\xe9\xd2\x17\xb9\xf2\
+\x8a\x4b\xa9\xaf\xab\x46\xfb\x1a\xd7\xe9\x0e\xdf\x60\xac\x7c\x94\
+\x9f\xc5\x75\x36\xe1\x3a\x7d\x21\x1b\x8c\x25\x5a\xf5\xe2\xfb\x5d\
+\x78\xce\x46\x50\xe1\x63\x52\xca\xef\x0d\xb5\x98\x53\xa9\x34\x6f\
+\xbd\xfd\x36\x3f\xfc\xd1\x4f\xf8\xe2\x17\xbf\xc0\xaa\x55\xab\xb9\
+\xf7\x77\xbf\xe7\x73\x9f\xfb\x34\x4f\x3e\xf9\x14\xbf\xbd\xfb\x1e\
+\x7c\xaf\x13\xd7\x59\x5f\x0e\xb8\x8e\x64\x2a\x7b\x6e\x3b\x42\x9a\
+\x78\x85\xca\xa8\xaa\x7c\xbf\x73\xd4\xb1\x80\x91\x2e\xcb\xb2\x58\
+\xb5\x6a\x35\xd3\xa7\x4f\xe3\x73\x5f\xf8\x12\xab\x56\xad\xe4\x9c\
+\xf3\x3e\xc1\xc1\x0b\x0f\x62\xd9\x4b\x2f\xf3\xf3\x1b\x7f\x42\x24\
+\x1a\xc5\xf3\xd3\xf8\x15\xbc\x82\xf2\x33\xe8\x22\x4d\x57\x65\xee\
+\x98\x85\xe7\x74\x20\x54\xba\xc2\x98\x87\x8d\x10\xb1\x11\x03\xca\
+\x1b\x36\x6e\x64\xe3\xc6\x8d\xbc\xb6\xfc\x0d\x3e\xf5\xc9\x0b\xd9\
+\xb4\x69\x33\xe3\xc7\x8d\xe3\xdd\x75\x6b\x99\x37\x6f\xce\x6e\x3e\
+\x04\xa0\x3a\x11\x65\xcd\x3b\x29\xfe\xf6\xd0\x7b\x78\x9e\x3b\xe6\
+\x7b\x66\xf3\x8a\x93\x8e\xae\xc5\x32\x87\x26\xe8\xd0\x5a\x13\xaf\
+\x69\xe0\x94\x8f\x9c\x49\xba\xb7\x93\x1f\xfc\xe8\xc7\x3c\xf8\x97\
+\x07\xd8\xba\x75\x1b\x9e\xe7\x91\xa8\x4e\x30\x61\xc2\x78\x26\xb7\
+\xb6\xf0\xdb\xbb\x7f\x13\x3a\xf6\x26\xa4\x20\x95\xce\x13\x8d\xc6\
+\x71\x9c\xf7\xf0\x9c\x42\xc8\x7d\x17\xa5\xd1\x6d\x63\x76\xee\xf5\
+\x1d\xe0\x89\x87\x9c\xaa\x22\x0f\x23\xa6\x89\x12\xb3\x06\x8d\x1f\
+\x0f\x1a\x38\x17\x42\xd0\xd7\x97\x64\xdd\xba\xf7\x78\xfe\xd9\x27\
+\xe9\xee\xee\x66\xf9\xf2\x37\x98\x3e\x6d\x2a\x93\x5a\x27\x62\x9a\
+\x16\xb5\xb5\x55\xb4\xf7\x4d\x27\x22\xaa\x2b\x40\x41\x50\x18\x46\
+\x2d\xd1\xaa\xc9\xb8\xfe\xe4\xd0\x5e\x93\xe7\x6c\xc1\xb4\x4d\x22\
+\xf1\x7d\x31\xcd\x90\xda\x19\x8a\x16\x8c\x1a\xd1\xc2\xe8\xe8\xec\
+\xc0\xb2\x2c\x7e\x7d\xc7\xad\x6c\xdc\xb8\x11\xdf\xf7\xf9\xca\x15\
+\x97\x62\xdb\x11\x2e\xfe\xe4\x45\xb8\x8e\x8b\x19\x99\x46\x24\x3e\
+\x3f\x14\xdd\xb4\x94\x60\xe7\x1b\x11\x08\xec\xd8\xb8\x8a\x12\x5f\
+\xbe\xb2\xd1\xbc\xb8\x47\x94\x94\x69\x9a\xac\x58\xb9\x8a\x79\xf3\
+\xe6\x72\xff\x1f\xee\xa5\xb7\x73\x3b\x5f\xfe\xe2\x17\x88\x46\x23\
+\x2c\x3c\xe8\x40\xa6\x4f\x9d\x4a\x7b\x7b\x07\xbe\xee\x44\x90\xa9\
+\x40\x69\x64\x03\xcb\xb1\x42\x25\xa5\x95\x83\x1d\x9d\x84\x65\x37\
+\x55\x14\xba\x33\x6d\x17\xad\xdb\x87\x75\x33\xb5\xd6\xd4\xd6\xd6\
+\x32\x6f\xde\x3c\x3a\x3a\xbb\x31\x0c\xb3\x0c\x68\xa8\xd4\x1e\x02\
+\x76\x13\x0a\x61\x4c\x40\x58\x33\xc6\x7c\x7f\x21\x40\xfa\x10\xa6\
+\x04\x01\xbf\xc0\x85\xe7\x9f\x47\x3e\x9f\xe7\x63\x67\x7f\x94\x42\
+\xa1\x50\xf4\x24\x14\xa8\xc0\x4b\xb8\xe0\xfc\xf3\x82\xbd\x1d\x3a\
+\xae\x64\xf0\xce\xba\xcd\xfc\xf8\xc6\x67\x88\x56\xcd\x46\x86\xf4\
+\x12\x65\x04\x26\x9a\x0d\xec\x17\x99\x12\x6c\x04\xc3\x04\xe5\x07\
+\x84\x7c\xca\x0b\x44\xb1\x6c\x70\x9d\x7e\xee\x76\xad\x49\x5b\x2e\
+\xce\x10\x9b\x6b\xd0\x47\x7b\x9e\xc7\xfe\xfb\xed\x8b\x94\x12\xcf\
+\xf3\x98\x38\x71\x22\x53\xa7\x4e\x2d\xf7\xe8\x69\xa5\xe9\x68\xdf\
+\x8c\x0b\x15\x9d\x9f\xbe\x10\x94\x8a\xf4\xc3\x56\xb0\xea\xd2\xbf\
+\xb5\x57\x4c\xa3\x1a\x61\x77\x00\x8c\xd0\xcc\x5c\xca\x8c\xcc\x9b\
+\x3b\x37\x68\x27\xf0\x3c\x26\x8c\x1f\xbf\x4b\xc9\x45\x2a\x9d\xab\
+\x28\x00\xae\x8b\x03\xaf\xf1\x47\x51\x82\xe0\x05\x96\x94\xa8\x6c\
+\x41\x87\x09\x22\x67\x32\x19\x2e\x3c\xff\x5c\xd2\x99\x0c\x87\x1c\
+\x7c\x30\x8e\x53\x28\x22\x40\x94\x94\x98\xc1\x73\xcf\xbf\x80\x1d\
+\x9f\x51\x11\xcd\x43\x87\xda\x00\x00\x20\x00\x49\x44\x41\x54\x0a\
+\x82\x22\x87\x34\xd7\x8f\x32\x70\x3e\x0a\x64\x57\x3d\xb2\xfb\x0e\
+\xd0\x3a\x71\x22\x42\x08\xe6\xce\x99\x43\x3e\x9f\xe7\x84\xe3\x8e\
+\x25\x9f\xcf\x73\xd6\x19\xa7\x93\xcb\x65\xcb\xed\x4b\x63\x25\x86\
+\xed\xcf\xb6\x4b\xd0\x6a\x00\xb6\xf9\xee\x89\x4a\x8d\xa4\xa4\xba\
+\x3a\x3b\xb9\xf5\x57\x37\xd3\xdd\xdd\xc3\x67\x3e\xf5\x49\xd2\x99\
+\x0c\x4b\x16\x2f\x2a\x97\x20\xb8\xae\x4b\xaa\x88\xf5\x1e\xf6\x32\
+\x0c\x83\x5c\x3a\x15\x20\x14\xe8\x70\xfb\x55\x07\x55\x37\x78\x28\
+\x7c\x3c\xb4\xb4\xf9\xd5\x83\xb7\xb1\x68\xf6\xfe\x74\xa7\xfb\xd8\
+\x7f\xda\x7c\xe2\x91\x18\x77\x3d\xfc\x00\x67\x1f\x7a\x12\x0d\x89\
+\x3a\x84\x69\xa1\x5c\x17\x57\xfb\x43\xca\x6a\x0e\x17\xbb\xd8\x59\
+\x71\xf5\x5b\x0a\x12\x5f\x98\x8c\x2f\xbc\x87\xce\x9b\xe1\x21\x57\
+\x94\x47\x4c\xa7\x71\xf2\x29\xbc\x42\x6f\x48\xae\x7b\x89\xef\xb5\
+\xa3\xf1\x47\x39\xc1\xc3\x6f\x5c\xad\x35\xae\xeb\x96\xcb\x0f\xdc\
+\xa2\x9c\x3b\x06\xce\x35\xca\xed\xc4\xcd\x6f\x09\x55\x82\x20\xa5\
+\x0c\xac\x3f\x6b\x42\x05\x0a\xaa\x14\x34\x37\x50\x7e\x0f\x5e\xa1\
+\x13\xb7\x90\x0b\xa7\x24\xb4\x01\xb1\x70\x0a\x39\x9d\xc9\x20\x84\
+\x28\x93\x6b\x64\x07\x20\x02\x56\x55\x05\xd5\xcd\x95\x36\xdb\x6a\
+\xed\xc3\x28\xb2\x63\x42\x5a\x78\x4e\x17\x42\x15\x42\x37\xbe\x0a\
+\xc0\xf7\x8c\x61\x5d\xe8\x9d\xd3\xf0\xa5\x32\x8b\x81\x32\x4b\x19\
+\xc8\xe9\xb9\x1d\xb8\x05\x7f\xcc\xd9\x3d\x49\x0c\xe5\x25\x41\xb4\
+\xf2\x7e\x5e\x03\x89\x18\xa4\x14\xe5\xf9\x2d\xec\xd4\x8b\x58\x49\
+\x9c\xb1\x14\x84\x0f\x02\xe0\x46\xe8\xfc\x98\x28\x7f\x2e\xc8\x22\
+\x78\xa6\xc5\x4f\xff\x72\x1b\x3f\xfb\xd4\x35\xbc\xb0\x66\x39\xcb\
+\xd7\xaf\x64\x55\xdb\x5a\x22\xa6\xcd\x94\xa6\x16\x4e\x3a\xe4\x38\
+\x5e\x5c\xf5\x0a\x8b\xe6\x1c\x40\xc0\xfc\x1c\x32\x70\x1e\x96\x80\
+\xc1\x05\x66\xe0\x53\x53\x6a\xbc\x0d\x71\x60\xba\x68\xfe\xa4\x35\
+\xd2\xac\x46\x5a\x32\x34\xe8\x9d\xd6\xd9\x8a\xdc\x8f\xca\x4e\x41\
+\x11\xe2\xef\x04\xc2\xa8\xc2\xb0\x1a\x43\x05\xce\x85\x94\x18\x96\
+\x83\xeb\xb6\x51\xc8\x25\xc3\x83\xde\x01\xbe\xd3\x89\x90\xd5\x48\
+\xb3\x11\xc3\x0f\x07\x7a\x27\xb4\x09\x6c\x0c\x25\xe7\x50\xf3\x3b\
+\x90\x6e\x1e\x64\x70\x2a\x86\x3d\xe7\x75\x65\x70\xb1\x03\x95\x9b\
+\x34\xaa\x90\x56\x7d\x45\xd6\x94\x90\x2e\xe8\x91\xdd\xcb\xa1\xd3\
+\xf2\xba\xac\x5a\xa4\xac\xc1\x30\x1b\xc6\xac\xa4\x0c\x33\x86\x30\
+\xa2\xbc\xdf\xd7\x50\xf3\xba\x7b\x08\x54\x14\x5e\xa1\x0d\x27\xbb\
+\x0e\xc7\xc9\x87\xd9\xe2\x48\x2f\x12\xb4\x8e\x09\xb0\xdd\x02\x77\
+\x5f\xf6\x33\x66\x8c\x9f\xcc\x3e\x53\xe6\x90\x77\x0b\x1c\x3e\xef\
+\x40\x5a\x1b\x5b\x82\x43\x4d\x29\x26\xd6\x8f\x1b\xf1\x80\x33\x87\
+\x3b\x75\x95\x52\xe5\xae\xea\x1d\x8a\x01\x8b\x81\x69\x4b\xda\x44\
+\x65\x24\xb4\x5d\x2b\xf1\x82\x9e\x20\x03\xa4\xac\x0a\x6d\x81\x29\
+\x11\x1d\xc5\x26\x18\xb9\xe2\x75\x30\x3e\xb4\x81\xdd\xf2\xfd\x93\
+\x2d\xfe\xbf\xf6\xce\x3b\xce\xae\xaa\xda\xe3\xdf\xbd\x4f\xb9\x6d\
+\xee\xf4\x92\x5e\x49\x01\x42\x0a\x45\x5a\x20\x40\x68\x81\x10\xa4\
+\x83\x14\x45\x04\x04\xa5\x88\x0f\xc5\x0a\x08\xa2\x52\x14\x15\x51\
+\x10\xb1\x20\x28\x82\x8d\xf2\x90\x26\x45\x50\x5a\x02\x92\x10\x54\
+\x5a\x48\x21\x65\xfa\xdc\x7e\xca\xde\xef\x8f\x73\xef\x64\x12\x26\
+\x99\x73\x67\x26\x6d\x9e\x87\xcf\x90\x64\x66\xee\xcc\xdd\x67\xed\
+\xbd\xce\x2a\xbf\xf5\xfb\x21\x64\x04\x29\x23\x68\x11\x09\xb1\x71\
+\x40\x88\x08\xa6\x35\x12\x2b\xd2\x10\x1a\xd4\x06\x1a\xcf\x37\x41\
+\x18\x48\x29\x90\x46\x22\xec\xcb\x42\xdd\x9f\x8d\xd7\xb6\x71\xc4\
+\x28\x84\xc0\x71\x5d\x2a\xac\x55\xd8\x76\x19\x44\x70\x7e\x06\x29\
+\x3a\xfa\x31\xbb\xa7\x8b\xf7\xb5\x3c\xde\x2d\x21\x73\x68\x32\x9b\
+\x74\x52\x1b\x2b\x1e\x6d\xfc\xef\x80\xd9\x22\xc0\x0d\x48\x19\x43\
+\xc8\xd8\x80\x6a\x48\x5a\x17\x69\xc1\x85\xc5\xb6\xb8\x7a\x9e\xd7\
+\x8d\x1d\x55\x69\xed\xfd\xd3\xfe\x93\x18\x56\x03\x56\x74\x02\x5a\
+\x14\xc2\x39\xa9\x48\x04\x5f\x3c\x19\xbc\x5a\x6b\xf6\x99\x3c\x0b\
+\xad\x15\x8d\x55\x75\x1b\x7a\x0f\xad\x11\x5a\x31\xaa\x6e\x58\xb7\
+\xe4\x7d\x59\x1c\xe7\x52\x4a\xd6\xad\x6b\xa6\xb1\xb1\x81\xff\xbc\
+\xf5\x16\x53\x26\x4f\xc6\xf7\xfd\xe2\xbc\x93\xc4\x30\x8c\xe2\x0d\
+\x11\x84\xa3\xd0\xda\xb0\xc2\xd4\x3f\x43\x38\x28\x3f\x8b\x92\x5e\
+\xc8\xef\x57\x45\xaa\xdf\x4d\x2f\xbf\x64\x44\xc7\x71\x82\x94\x40\
+\x4a\xea\xeb\xea\x78\x7f\xf9\x72\xaa\xab\xaa\xd0\x04\x73\x8c\x11\
+\x3b\x8e\xf6\xf3\x28\xbf\x50\xac\x8b\xf5\x9d\xa2\x2a\x3f\x8b\x21\
+\x41\x0a\x17\x21\xc3\x0f\x18\x6b\x5d\x28\xff\xb0\x87\x24\xbd\x33\
+\x0c\x83\x96\xd6\x56\xaa\x2a\x2b\x71\x3d\x0f\xdb\xb2\x58\xb9\x6a\
+\x15\xa3\x47\x8f\xa2\xb3\xa3\x93\x48\x24\x42\x36\x93\xe1\xb8\xd9\
+\x8d\x54\x56\x26\x43\xd7\x69\xd2\xe9\x14\x8f\x3f\x16\xc1\x57\xfd\
+\x39\xea\x83\x4f\x7a\x57\x3a\x8c\xae\xeb\xa2\x94\x22\x91\x48\x74\
+\xeb\x47\x4a\x29\xe9\xe8\xe8\x60\xd8\xb0\xa6\x01\xef\xc9\xed\xe1\
+\x2a\xd9\x75\xd5\xaa\x0f\x18\x3e\x7c\x58\x77\x1d\x39\x97\xcb\x93\
+\x4a\xa5\x48\x24\x12\x24\x12\xf1\xfe\xab\x28\x17\x6b\x76\x42\x46\
+\x42\x99\x32\x70\xff\x0a\x4f\x39\x41\x19\x22\xc4\x9e\x57\x5a\xe3\
+\xa3\x36\xb9\xeb\xcd\xbe\x76\x45\x65\x32\xc9\x1b\x4b\xdf\xe4\xab\
+\x5f\xbf\x0a\xcf\xf7\xf8\xda\x57\xbe\x44\x65\x45\x92\xce\x42\x86\
+\xe1\x72\x4c\xe8\xe8\xe4\xc3\x9f\x0b\x19\x5e\x8b\x12\x9c\x7f\xcb\
+\x12\xc8\xc5\x62\x31\x5e\x5f\xbc\x98\x6b\xef\xff\x03\x4d\x8d\x8d\
+\x7c\xfa\xbc\x4f\xf1\xec\xdf\x9e\xe7\xca\x6f\x7c\x83\x57\x5e\x78\
+\x69\x6b\x6d\xb9\xad\xb1\xab\x31\x0c\x83\x7b\xef\xbb\x9f\x19\xd3\
+\x77\x23\x16\x8b\x71\xd5\xd5\xd7\x72\xeb\x4f\x6e\xe7\x8f\x7f\xbc\
+\x9f\xa6\x61\xc3\x79\xe2\x19\x8d\x65\x85\x4f\x7f\x72\x39\xcd\xda\
+\xd5\x26\x52\x6e\x3f\x88\x73\x21\xe0\xdd\xf7\xde\xc3\x32\x2d\xee\
+\xbd\xef\x7e\x3e\x7e\xd6\xe9\x3c\xf7\xfc\x3f\x38\xe2\xb0\x43\x43\
+\x63\x85\x76\x14\x27\x55\x59\xdb\xc8\x94\x5d\x67\xf0\x9f\xa5\xaf\
+\x73\xf7\x3d\xbf\xe5\x84\xe3\x3f\xca\xdf\x9e\x7b\x8e\xa9\x53\xa6\
+\x50\x59\x59\x39\xd0\x3b\x19\xa4\xfe\x21\xcf\xab\x81\xe4\x3f\xb2\
+\x9a\x87\xed\xf1\x65\x70\x9c\x2b\x2a\x8c\x14\xfb\xa0\x7a\xad\x4c\
+\x99\x9b\x7a\x51\x43\x43\x3d\x89\x44\x82\x6f\xdf\x70\x13\xdf\xbb\
+\xf1\x7a\x7e\x7b\xf7\xaf\x58\xbd\x7a\x35\xd1\x68\x8c\x58\x3c\x4a\
+\x24\xd3\x85\x7e\xb7\xa8\x51\xa7\x7c\x96\xa7\x3a\xa9\x8e\x44\xa9\
+\x8d\xc6\x3f\x1c\xd6\x95\xda\x27\x1a\x94\xe7\x12\x31\x56\xe1\x19\
+\xe1\x24\xda\xa5\x34\xe8\xca\xac\x44\x6b\x13\x69\x54\x20\x8d\xf0\
+\x60\x4e\x21\x37\xaf\x42\x52\x7a\x6f\xb1\x58\x8c\x77\xde\x79\x17\
+\xd7\xf5\xb8\xf5\xc7\xb7\xf1\xb3\x9f\xde\x46\xa1\x50\x60\xfa\xf4\
+\x69\xdc\x7c\xe3\x0d\x64\x73\x79\x84\x11\x45\x1a\x11\xb4\x0e\x99\
+\xee\x19\xf1\xa2\xd2\x59\x45\xe8\xc8\x28\x40\x2c\xc7\xd8\x12\xe3\
+\x25\xa5\x4e\x65\x5d\x5d\x1d\xf9\x7c\x9e\x49\x3b\x4d\x64\xca\xe4\
+\xc9\x7c\xef\xfb\x3f\xe4\xeb\x5f\xfd\x32\x07\xcc\xde\x9f\x3d\x66\
+\x4e\xe7\xa9\xa7\x9e\x45\x5a\x26\x52\x85\x9f\xdd\x0b\x68\xa1\xcd\
+\x7e\x1f\x82\x72\x1c\x4f\x58\x42\x35\xad\xa1\xa1\xbe\x1e\x8d\x66\
+\xe7\x9d\xa7\x60\x59\x36\xfb\xee\xb3\x37\x9e\xe7\xf3\xd7\xa7\x9f\
+\xe6\x8c\x8f\x9d\x02\xfd\xc0\x76\x6d\x6f\x97\x10\x02\x3f\x9f\xe6\
+\xb2\x4b\x2e\x42\x29\x45\x55\x75\x25\x55\x95\x95\x8c\x1d\x3b\x86\
+\x67\x9f\x7b\x9e\xe9\xd3\xa7\xb1\xcb\xd4\xa9\xd8\xb6\x5d\xb6\x5d\
+\x7c\xbf\x40\x6d\xf2\xdf\x1c\x32\xbb\x85\x4c\x26\x5c\x7d\xb4\x22\
+\x61\xb3\xf0\x65\x89\x2f\xa3\xe8\xb0\x60\x4e\x34\x4a\x16\x10\xe4\
+\xc2\x47\x52\xa5\xa8\x27\x95\x4e\xf3\x93\x1f\xfd\x90\x6c\x36\x8b\
+\x65\x99\x8c\x1b\x3b\x16\x55\x3c\xd8\x39\xdf\x0d\x90\xa2\x42\xb2\
+\xb2\x79\x15\x47\x5d\x73\x36\x9f\x9d\x77\x26\xe7\x1d\x76\x2a\x6b\
+\x3a\x5a\xf0\x8b\xd3\xd7\xe3\x46\x8c\x07\xd7\x0d\xb0\x11\xca\x43\
+\x9a\x36\x05\x7f\x24\x8e\x0a\xd9\x05\xd1\x60\xda\x95\x48\x63\x59\
+\x99\x91\x46\xf8\xb4\xc0\xf7\x7d\x26\x4e\x9c\xc0\xa4\x49\x3b\xd1\
+\xb6\xee\x03\x4e\x3b\xe5\x24\x5c\xd7\xa5\xba\xaa\x8a\x51\x23\x47\
+\x92\x4e\xe7\x03\x7e\x1c\x3f\x1c\xef\x50\xc0\x0f\x9d\x2a\x22\x70\
+\xe3\x68\x15\x36\xdd\xd3\x01\xbb\x04\x5b\x4e\x7e\x5c\x29\x45\x24\
+\x12\x61\xdf\x7d\xf6\xc1\xf3\x3c\xbe\xfe\x95\x2f\x91\xcb\xe7\x99\
+\x77\xe4\x11\x44\x22\x56\x30\x7c\x4b\x7f\xda\xe7\xfd\x89\x02\x83\
+\xb4\x58\xf9\x5d\xe1\xc5\x62\x04\x68\xe5\x6d\xb6\xbe\x52\xaa\xc3\
+\xd4\xd5\x05\x75\x90\x93\x4f\x3c\x11\xd7\x75\xbb\xd3\xfb\xd3\x4f\
+\x3b\x15\xa7\xe0\x00\xaa\xf8\xfb\xd3\x03\x2e\x9c\x2b\x3f\x8a\x56\
+\x85\x6d\xe2\xa4\x3a\xbb\xba\xb8\xe8\xb3\x17\x92\xcb\xe5\x58\x30\
+\x7f\x3e\x99\x6c\x96\x69\xbb\xee\xca\xcc\x19\x33\xf0\x3c\xaf\x9b\
+\x61\xb7\xdc\x9a\x94\x00\x6c\x3b\x46\x22\x51\x4f\x24\x12\x6e\x6d\
+\xa6\x69\x23\x8b\xc2\xa6\x22\xf4\xce\xd1\xe5\x17\xce\x7b\xde\x80\
+\x52\x8b\x5a\x6b\xf0\x7b\x18\xb2\xe7\x0f\x16\x08\xae\x3b\xe3\x7f\
+\xd0\x5a\xf3\xb3\xbf\xde\x87\xe3\x79\x2c\x7c\x67\x31\xc9\x68\x9c\
+\x39\x7b\x1c\xc4\xb1\x7b\x1c\xc2\xa2\xb7\xfe\xc9\x5e\x63\x26\x6f\
+\xb0\x99\x43\x33\xfd\x69\x1f\xad\xdc\x60\x34\x45\xe9\xb0\x45\x98\
+\x62\xfd\xa8\xef\x34\xb1\x74\x78\x95\x52\x48\x29\xbb\xe1\x17\x1a\
+\x50\xae\x1b\x14\xb4\xdd\x76\x3c\x77\x4d\x28\xc4\xb9\x92\x12\xdf\
+\x6b\x0d\x9e\x72\xae\x0e\x8f\x38\x17\x81\x66\x19\x42\x6e\xd1\x4d\
+\x0d\xeb\x21\x25\xb9\xa2\x78\x9d\xe3\x38\x58\x96\xb9\x95\x0f\x98\
+\x81\xf2\xda\xf1\x84\x53\x8e\xec\x1e\xca\xb7\xd9\x14\x8b\x63\x6f\
+\x05\xf3\x6e\x7b\x16\xff\x1d\xd4\x56\x03\xa0\xaf\xef\xb7\xe1\xb9\
+\x62\xc0\x5c\x2d\xbe\x8c\xa1\xfc\x0c\xdb\xe2\xea\xc9\x82\x50\x72\
+\xc6\xbe\xef\x6f\xc0\x84\xd0\xaf\x6e\x9f\x30\xe8\x4c\x59\x2c\x59\
+\xda\x49\x2e\x17\x2e\x92\x8a\xc5\x22\xf8\x4a\x0f\x52\x77\x71\x13\
+\x4e\x2a\x8c\xaa\xc8\x06\x6f\x40\x6b\x1a\xab\xeb\x79\x67\xf5\x72\
+\x84\x10\x8c\xaa\x1b\xc6\xd4\x91\x13\x19\x5d\x3f\x1c\xc7\x73\x59\
+\xb1\xf2\x1d\xf4\x1e\x87\xd0\xdc\xf2\x01\x62\xec\x94\x81\x6c\x83\
+\x60\xce\x2b\x64\x54\x12\x70\x39\xa9\x10\xbe\x2c\x84\x50\x03\x12\
+\x21\x9b\x88\xc4\x27\x12\x86\xbc\x41\x08\xb0\x72\xc9\x00\x71\x1e\
+\x2f\x13\x71\xee\x5b\x03\x16\x05\xd8\x5c\x6a\x1b\x5a\x35\x66\x6b\
+\xd4\x53\x94\x83\x15\x1d\x1d\x20\xce\xcb\xd9\xb4\x56\xdf\x88\xf3\
+\x8d\x6d\xdb\xeb\x5a\x85\x89\x15\x19\x4f\x24\xde\x34\x60\x3e\x29\
+\x3b\x02\x86\x5d\xb7\xd5\xeb\xf0\x61\xed\x59\xbe\xd3\xd0\x48\x69\
+\x91\x2d\x8c\xe2\x3f\xef\x55\xe1\x3a\x55\xa1\x62\x69\xcb\x26\x54\
+\xc1\x7c\x40\x4e\xaa\x14\x55\x44\xa3\x11\xf2\xf9\x42\x40\x1a\xe6\
+\xfb\xe4\xf2\x79\x2a\x6b\x6b\x70\x32\x59\xec\x88\xcd\x9a\xf6\x96\
+\xee\x88\x2a\x66\x47\xb8\xfc\xe4\x8b\xba\x9d\x03\xbe\xcf\xcc\x49\
+\x33\x8a\xe5\x03\x09\x85\x1c\x0b\xf6\x9d\x87\x5b\x14\xbb\x2c\x67\
+\x40\x3a\x68\xe7\x1b\x08\x11\x2d\xd6\xa4\x22\xa1\x6f\xb2\x10\x76\
+\xa8\x9a\x54\xe9\xa3\xb2\xaa\x92\x5c\x36\x87\x21\x65\xd0\x8a\xaf\
+\xaa\xa2\xb3\xad\x6d\xfd\x7b\x0e\x19\xc4\x6d\xb0\x36\x5d\xee\xd6\
+\xd8\x72\x11\x54\x29\xd5\x73\x5d\x97\x9a\x86\xe1\xb4\xac\x59\x49\
+\x22\x1e\x0f\x38\xeb\x5d\xb7\x38\xb9\x1f\x40\x8b\xcb\x7b\x1f\x65\
+\x12\xef\x0f\xf4\x3e\x85\x80\x96\x04\xa9\x87\x89\x6d\x5b\x18\xd2\
+\x20\x95\x4e\x53\xd3\x50\x4f\x57\x5b\x3b\x95\xb5\xf5\xb4\x37\xaf\
+\x09\xd8\x23\x74\x19\x76\x0d\x55\x54\xdc\xfa\xe9\x9e\xe7\x79\xd4\
+\x0f\x1b\x49\x47\xcb\x5a\x6a\xea\xea\xe8\x6c\x6f\xa7\xaa\xb2\x12\
+\xa4\xc0\xf7\x3c\xd2\xe9\x4c\x91\xfc\xae\x1f\x10\x11\xa1\xb1\xcb\
+\x20\x05\xb4\xad\xfe\xd4\x1a\x37\xbf\x7f\x7a\x8d\xef\x2d\xcb\x62\
+\xd1\xa2\xd7\x98\x39\x73\x06\x3f\xbe\xed\x76\xea\x6b\xeb\xd8\x73\
+\xcf\xdd\xf9\xc2\x15\x5f\xe6\xb0\x43\xe7\xb2\x6c\xd9\xfb\x9c\x78\
+\xfa\x49\x20\x7a\x00\xbc\x36\x06\x7b\x15\xd3\xa2\xee\x5c\xd8\x2b\
+\x16\x29\xb5\xa6\x90\x59\x8d\x93\xeb\x0c\x4d\x7a\xa7\xbc\xd6\xee\
+\xd4\x2d\xec\x8d\x5e\x8f\x9a\xed\xa3\xe8\xa8\x14\x99\x74\x1a\x5f\
+\x29\x6e\xfa\xde\xcd\x1c\x78\xc0\x6c\x3a\x3a\x3b\x99\x32\x79\x32\
+\x3f\xfc\xd1\xad\x5c\x73\xd5\x95\x08\x24\x9e\xb3\x92\x42\x2e\x19\
+\x72\xc0\x58\xe0\xe6\xd7\x01\x02\xc7\x6e\x2d\x63\xc0\x58\x07\x60\
+\x4e\x61\x0c\xfa\x66\x2e\x09\x31\xbc\xb1\x74\x29\x13\x27\x4c\x60\
+\xc1\xfc\xa3\x78\xe0\x81\x3f\xf1\xfc\x73\xcf\xb1\x74\xe9\x9b\x8c\
+\x9f\x30\x9e\xe9\xd3\xa6\x21\x0d\x03\xa5\x3d\x94\x0a\x3f\xc5\xaf\
+\xb4\xd3\xcf\x89\x00\x8b\x42\x6e\x05\xca\x6b\x2b\x0b\x71\xee\x3a\
+\x16\x42\xc4\xfb\x4c\xf7\x56\xac\x58\xc9\x7b\xcb\x96\x91\xc9\x64\
+\x98\x37\xef\x08\x3e\x7d\xfe\x85\x7c\xf1\xf2\xcf\xf3\xa9\xf3\x2e\
+\xe0\xee\xbb\x7e\x4e\x57\xaa\x0d\xb7\xb0\x82\x42\xae\x73\x80\xe9\
+\x9e\x46\xa8\x38\xbe\xd3\x02\x7a\xeb\x23\xce\xeb\x9b\x9a\x38\xe1\
+\xf8\xe3\xb9\xe3\xb6\x5b\xf9\xe2\x17\xbf\xc4\x85\x17\x9c\xcf\x2d\
+\xb7\xfe\x84\x4c\x26\xc3\xa8\x51\x23\xf9\xe8\x82\x63\xfa\x29\x80\
+\xaa\xc1\x5f\x87\xef\xae\x42\xb9\xf9\x50\xdf\xae\xb0\xf1\xdc\x3c\
+\xd9\x6c\x2a\x34\xec\x41\x2b\x8d\x29\x37\x8d\x7b\xeb\xd5\x49\xb9\
+\xae\xcb\xcc\x99\x33\xa8\xa8\xae\x61\xa7\x89\x13\x19\x39\x62\x04\
+\x96\x69\xb1\xf7\x47\xf6\xe2\xae\xbb\xef\xe1\xda\xab\xaf\xe4\xed\
+\xb7\xdf\x66\x4f\x31\x26\x74\x0d\xa4\x7b\x15\x42\x60\xda\xc3\x31\
+\xad\x44\x48\x27\x65\xe0\xa3\x11\xa2\x99\xf2\x39\xa8\xfa\x36\xb0\
+\x21\x25\x8d\x8d\x8d\xf8\xbe\xcf\xfe\xfb\xed\xcb\xde\xfb\xee\xcf\
+\xcd\x37\x7f\x9f\x33\xcf\x3a\x87\xbb\x7e\x75\x27\x87\x1f\x39\x9f\
+\xe7\x9f\xfb\x1b\xd2\xa8\xc1\xb4\x46\x86\x47\x9c\x9b\xc1\x5b\x30\
+\xac\xa6\xb2\xc0\x9c\xae\xeb\xf5\x6b\xc4\x24\x8c\x1d\xf2\xf9\x3c\
+\x1f\xf9\xc8\x47\x68\x6d\x69\xe1\xcc\x33\xcf\x60\xcd\x07\xab\x39\
+\xee\x84\x53\x58\x70\xcc\xd1\x7c\xf5\xeb\x57\x73\xe7\xcf\xef\xc0\
+\x8a\x44\x99\xed\xac\x24\xae\xa2\xdd\x8e\x63\x73\x1c\x5e\x02\x48\
+\x3b\x59\xfe\xae\x52\xf8\x65\x00\x6e\x05\x90\x03\x0e\x42\x93\xa4\
+\x5c\x42\x70\x03\x27\x44\xad\x51\x1a\x92\x47\xfe\xf2\x18\x0f\x3c\
+\xf4\x10\x93\x27\xed\xc4\x65\x97\x5e\x4c\x32\x99\xe4\x6b\x5f\xfd\
+\x12\xf9\x7c\x1e\x30\x30\xac\x7a\x4c\x6b\xc4\x80\xef\xb9\x61\x25\
+\x10\x66\x35\x5b\x3b\xdf\x0b\xf4\x25\x2d\x16\x2e\x5a\xc4\xf4\x59\
+\x7b\xf1\xad\x6f\x5e\x4b\x53\x63\x23\x27\x9f\x74\x42\x20\xdf\x65\
+\x99\x44\xa3\xd1\x7e\xfc\x5c\xb0\x2d\xc9\xac\xdd\x92\xcc\xd9\x3b\
+\x42\x28\xc5\x2f\x0d\x76\xc4\x46\x3b\x31\xa6\x4c\x5e\x1d\xde\x49\
+\x69\x30\x2d\x89\xaf\x2a\x08\xcd\xcc\x19\x8f\xc5\xf8\xd5\xdd\xbf\
+\x61\xf5\x07\x1f\xe0\x6b\xc5\xc1\x73\xe6\xf0\x9b\x7b\x7f\x47\x6d\
+\x4d\x2d\x97\x5d\x76\x29\x2f\xbd\xb2\x90\x43\xe7\x1d\x86\x5a\x94\
+\xeb\xd7\x8d\x95\x26\x45\xf1\xc9\x90\x69\x8a\x1f\x2f\x2a\x18\xb7\
+\x23\x43\xf3\x49\x29\x94\x9f\xa3\x2f\x30\xa7\xef\xfb\x3c\xf8\xd0\
+\xc3\x3c\xff\x8f\x17\xd8\x63\xe6\x4c\x6e\xb8\xfe\x7a\xa6\xed\xba\
+\x33\xef\xbd\xfd\x26\x3f\xbe\xed\xa7\xfc\xe3\xf9\xa7\xe9\xec\xca\
+\x20\x65\x14\x69\xc4\x50\x21\xc0\x84\x52\x0a\x84\x11\x47\x20\x90\
+\x46\x45\x78\xf2\xba\x6e\xd0\x9c\xde\x22\x9b\xb9\xae\xa1\x81\x63\
+\x3f\x7a\x3c\x3f\xbb\xfd\x27\x3c\xf6\xd8\x13\xcc\x9a\x31\x83\xbf\
+\x3d\xfd\x24\xff\xfa\xf7\xbf\xb9\xf8\xa2\xcf\x30\x66\xcc\x68\x1e\
+\x78\xf8\x11\x12\x11\x49\x12\x81\xac\xaa\x03\xa5\x50\xa9\xf6\x0f\
+\x6d\xb8\x52\xe0\x21\x04\x98\x42\x62\xf7\x23\xcf\x51\x40\x54\xda\
+\xd4\x18\x91\xf0\xb5\x31\x01\xae\x30\x49\x87\x60\xdd\x32\x0c\x83\
+\x63\x17\xcc\xe7\xf8\xe3\x8e\x65\xf2\xe4\x49\x7c\xe7\xfa\x9b\x38\
+\xe7\x93\x67\xf3\xb3\x3b\x7f\xc1\x77\xbe\x75\x2d\xe0\x14\x05\x6e\
+\x13\x03\xae\xcd\x49\x53\x04\xb8\xa0\xad\xcc\xf5\x1e\x64\x29\x79\
+\x8e\x3b\x76\x01\x5f\xfd\xf2\x15\xfc\xe2\x57\xbf\xa6\xb9\xb9\x99\
+\x27\x9e\xf8\x2b\xb9\x7c\x8e\xa6\xa6\x26\x0e\x39\xe8\x20\x62\xb1\
+\x68\x3f\x7e\x36\x58\x96\x41\x24\x62\x14\xeb\x7f\x7d\xeb\x58\xda\
+\xb6\xa4\xba\x32\x41\x63\x43\xb2\xff\x00\xd2\x30\x4e\x2a\x97\xcf\
+\x73\xea\xc9\x27\x6e\xf0\xcb\xf7\xd8\x7d\x56\x31\x34\x53\xcc\x9a\
+\x3e\x9d\xd5\xed\xcd\x54\xa0\x51\xa5\x11\xe9\x50\x69\x81\x2e\x2b\
+\xd2\xd9\xc0\x99\x78\xed\x78\xce\x72\x84\xb6\x42\x1f\x4a\xdf\xef\
+\xd8\xec\xa6\x29\xa1\x75\x0f\x3f\xec\x50\x8e\x3c\xe2\xf0\xee\xbc\
+\xbd\xc4\xed\x7e\xd9\xa5\x17\x93\xcf\x17\x10\x65\x46\x68\xeb\xbf\
+\xaf\xbc\x82\x87\xde\x48\x50\x21\x7c\x5b\x5c\xf6\x49\xcf\x29\x84\
+\xa0\xbd\xb5\x95\xbb\x7f\xf9\x73\x3c\xdf\xe7\xbb\x37\x7e\xa7\xbb\
+\xfb\x33\x6c\x58\x53\xc0\x4b\x14\x8b\x15\x0f\xab\x46\x56\x54\x21\
+\x0e\xaf\x67\x7c\xd3\x18\xde\xfd\xd5\x22\xb2\xad\xab\x51\x5a\xe1\
+\xfb\x8a\xa8\x1d\xc1\x36\xad\x41\xeb\xe0\x68\xad\xf1\x94\x1f\xd4\
+\xcc\x2c\xbb\xf7\x3a\x5d\xb7\xfa\x70\xb8\x08\x19\x02\x9c\x54\x63\
+\x43\x03\x00\x85\x82\xc3\xe7\x2f\xbb\x14\xa5\x14\xd7\x5c\x7d\x65\
+\x31\x92\x1a\x48\x61\xb9\x37\xbb\x6d\xfd\x4b\x08\x41\x7b\x7b\x3b\
+\x57\x5f\xf9\x35\x7c\xdf\xe7\xdc\x73\xce\x46\x29\xc5\xe9\x1f\x3b\
+\xb5\xfb\x5e\x94\x3e\x06\xba\x46\x21\xca\x7b\x5f\x83\xb5\x3f\xcc\
+\xcd\x15\x59\x7b\x33\x3c\x04\x60\xcf\x88\x30\x58\xe8\xb5\xe1\x14\
+\xc2\x17\xe4\x7c\xdf\xa3\x45\x15\x8a\x49\x81\x1f\xf2\xc0\x4b\xb4\
+\xf6\x30\xed\xd1\x44\x13\xb3\x30\x43\xa2\x85\x03\x94\xec\xe2\xcd\
+\x86\xf1\x3d\x5b\xd5\xa5\x03\xdb\x73\xce\xab\xdb\x69\x6d\xe0\x68\
+\x54\xa8\xf7\x2c\x84\xc0\x77\x56\xe3\xe6\xd3\x65\x91\xde\x79\xee\
+\x5a\x0c\x56\x32\xaa\x69\x05\xb9\x5c\xb8\x96\xb6\x90\x26\xe9\xce\
+\x14\x4a\x0f\xeb\xbb\xc8\x5a\x5c\x67\xcf\xf6\x74\x69\x13\x6f\x58\
+\x04\xd7\xc4\xec\x28\xff\xfa\xc3\xbf\xb8\xee\x07\x5f\x62\x5d\xba\
+\x83\x88\x15\xe1\xb5\x65\x6f\x72\xe5\x49\x17\xb1\xd7\x4e\xbb\x91\
+\xd2\x9a\x6a\x6b\xe0\xf3\x6a\xc2\x30\xf9\xcc\x6d\x5f\x65\x75\xaa\
+\x9d\xfb\x2e\xbf\x95\xbc\xe7\x90\xf5\x3d\x2c\x0d\xb6\x69\x93\x34\
+\xcc\x1e\x43\xda\xe1\xf1\x6f\xbd\xd9\x13\x28\xaa\x03\xed\xd8\x20\
+\xce\xde\xce\x6b\xcf\x35\x6e\x7c\x7e\x85\xd8\x71\xd7\xdb\x6f\x08\
+\x82\x50\x05\x0a\xf1\x59\xe4\xed\x44\xe8\xd8\xc2\xf3\x35\x0e\x8f\
+\x33\xb2\x09\x3a\x23\x99\x50\x3e\xca\x34\x6d\x96\x2f\x5b\x83\xef\
+\xe5\xca\x04\xdc\x69\x08\x51\xcc\xdd\x78\x7d\x1b\xaf\x59\x08\x90\
+\x42\x53\x11\xcf\x30\xbc\x29\x87\xef\xf7\xcd\xb8\x28\xa5\x81\x25\
+\xba\x68\xeb\x1c\x81\x15\x1b\x41\x39\xe7\x41\xf9\x06\xf5\x96\x66\
+\xe6\xf0\x06\x0a\x99\x58\x28\xca\x56\xdb\xb4\x79\x21\xb3\x72\xb3\
+\xe7\xb7\x6c\xc8\x81\xe3\xf0\xd9\x79\x67\x72\xca\x25\xf3\x89\x46\
+\xe3\xcc\x1a\xb7\x0b\x13\x86\x8d\xc6\x36\x4d\xae\xbd\xff\x47\xfc\
+\xf2\xa2\x1b\xb8\xfb\xd9\x3f\x71\xe9\x49\x17\x41\x48\x0c\xcd\x66\
+\xbc\x2c\xff\xf8\xcf\xab\xdc\x72\xd5\xed\x4c\x39\x67\x3f\x8e\xdc\
+\xf3\x60\x16\xbd\xfb\x06\x4a\x29\x46\xd7\x0f\xe7\x86\x4f\x7e\x8d\
+\xda\x78\x92\xaa\x78\x05\xa6\x11\xbe\xa9\xb0\x2d\xe1\x15\x5b\xb3\
+\x26\xf5\xe1\x3d\x2b\x7a\xdd\xd7\x43\xc6\x49\x95\xbc\x71\x22\x11\
+\x27\x9b\xcd\x91\xac\xa8\x20\x93\xcd\x62\x48\x89\x2c\x32\x22\x04\
+\x07\x51\x06\x5c\xd3\x61\x03\x22\x00\x5f\x51\x28\xe4\x99\x36\x15\
+\x20\xfc\x4c\xd1\xda\x95\xef\x93\xcf\x9b\x68\x9d\x43\x95\xd8\xfd\
+\xfa\x3c\xbc\x7d\x0f\x18\x97\x0c\x2c\x65\x10\xf9\x18\x86\x81\xe3\
+\x38\x54\x24\x12\x64\x8b\xc3\xa8\x91\x48\x04\xcf\x4f\x31\x69\xa2\
+\xc1\x3e\x7b\xc6\x08\x54\x56\xfb\xbe\x3a\x3a\x92\x3c\xf1\x8c\x0c\
+\x70\x55\x65\xa5\xe6\x82\xa6\x6c\x1c\x9e\x6f\xc6\x0e\xc9\x27\x25\
+\xb4\x81\x5d\x6f\xb2\x39\x6f\x58\xb2\x6b\x2c\x16\xa3\x50\x28\x10\
+\x8d\x46\x28\x14\x1c\x2a\x2a\x12\x64\x32\x59\xe2\xb1\x18\x42\x06\
+\x9b\x5b\x22\xc1\x75\xb8\xfe\xfc\x6b\xd6\x03\x4b\x7d\x0f\x94\xe2\
+\xc4\x83\x4f\x02\xc3\x80\x6c\x8a\x4b\x4f\xf8\x0c\x64\xd3\x48\x21\
+\x91\x03\xe9\xbd\x2b\x9f\x53\x66\x2f\xe0\xfa\x5b\xae\x66\xaf\x69\
+\x7b\xb3\xfb\xa4\x19\x1c\xb7\xef\x3c\x1e\x5f\xfc\x77\x56\xb5\xad\
+\xe3\xfd\xb5\xcb\xe9\x48\x54\x32\x6d\xd4\x4e\xa1\x9c\x54\xe9\x80\
+\x1a\x86\xc4\x34\x2d\x62\xd1\x28\xa9\x74\x1a\xc3\x90\xf8\x7e\x00\
+\xc3\x58\x4f\x7a\x67\x0e\x0e\xe9\x9d\x28\xfe\x65\x2b\xfb\xc5\x52\
+\x5d\xb5\xb6\xb6\x86\x42\x21\xe8\xc8\x96\xb4\xf7\x6c\xcb\xc2\x29\
+\x72\xa5\x0d\x34\xdd\xdb\xae\x9c\x14\x40\x24\x12\xe1\xe1\xff\xfd\
+\x0b\x73\x0f\x9d\xcb\x2f\xef\xfa\x35\x87\xce\x9d\x4b\x7b\x47\x3b\
+\xed\xed\x1d\x8c\x18\x31\x9c\x58\x2c\x46\x3a\x95\xc3\x14\xab\xb0\
+\xe4\xba\xf0\x32\xeb\xd2\x45\x8a\x34\xf9\x9c\x43\x7b\x47\x7b\x28\
+\xef\x16\x89\xd8\xb8\x9e\x28\x92\x94\x79\x68\x1d\x1a\xa6\xde\x67\
+\x6a\x56\x32\x70\x73\x4b\x0b\x5a\x29\x56\xaf\x59\xc3\x4e\x13\x27\
+\xf2\x97\x47\x1f\xe3\xc0\x03\x66\xd3\xde\xd1\xc1\xd2\xa5\x6f\x72\
+\xd8\xa1\x73\x69\x6f\x4b\xd1\xda\xdc\xba\x01\xf9\xdf\xa6\x23\x29\
+\xc9\xda\x75\x2d\xe0\xe5\x88\xd8\x9d\xe1\x0b\x88\x1a\xf2\xde\x2a\
+\xb4\x30\xc1\xb6\x10\x51\x2b\x70\x0e\x9b\xd2\xdf\x2b\xdd\x77\xd5\
+\xb7\x74\x96\xd6\x9a\x78\x3c\xce\xd3\xcf\x3c\xcb\xee\xb3\x66\xf2\
+\xdc\xf3\x7f\x67\xcf\x3d\x76\xe7\xfe\xdf\xff\x91\xfd\xf7\xdb\x97\
+\xbf\x3d\xff\x3c\x47\x1c\x7e\x18\xb6\x65\xb1\xd6\x4f\x91\x16\x0e\
+\xf4\xc5\xe6\x58\x0c\x2a\x33\x5e\x96\xac\x76\xfa\xed\xa6\xb4\xf2\
+\xf9\xea\x99\x5f\x84\x52\xea\x58\xc8\x83\xf2\x39\xf2\x80\xf9\x20\
+\x0d\xc8\xa6\x8b\x94\x8f\x6e\x28\xa8\x42\x69\x3f\x76\x74\x74\xf2\
+\xde\xb2\xf7\x59\xb8\x70\x11\x1f\xfd\xe8\x02\xda\xdb\xdb\xa9\xab\
+\xad\x63\xc9\xd2\xa5\x1c\x74\xe0\x6c\xb4\x76\xf0\x9c\xd5\x38\xf9\
+\xec\x80\xa3\x2e\xa1\xa3\x28\xb7\x6d\x9b\x90\xde\x55\x55\x57\x71\
+\xe3\x77\x6f\x66\xe7\x9d\x77\x06\xad\x39\xf8\xa0\x39\x2c\x5e\xbc\
+\x98\x95\x1f\xac\x66\xe2\x84\xf1\x8c\x1e\x35\x2a\x74\x99\x64\x87\
+\x71\x52\x4a\x29\xaa\xaa\x2a\xb1\x2d\x8b\x25\x6f\x2c\x65\x97\x5d\
+\x76\xe1\xbd\xf7\x97\xf1\xc6\x92\xa5\xcc\x99\x73\x20\x75\x75\xb5\
+\xb8\x85\x0c\x88\x5a\xb4\x0e\xdf\x35\xd0\xc2\x22\x12\x89\xf1\xca\
+\x3f\x4d\x3a\x3a\xec\x50\xce\x4d\x4a\x03\x5f\x4f\x26\x1a\xeb\x44\
+\xca\x24\x46\x59\x03\xc6\xe1\x3a\x65\xb6\x65\x91\x4a\xa5\x59\xbc\
+\x64\x29\xf5\xf5\xf5\xdc\xf6\xd3\x9f\x31\x63\xfa\x74\xde\x7a\xfb\
+\x1d\xee\xfc\xe5\xaf\x98\x7f\xe4\x3c\x62\x2b\x1d\x6c\xd9\x8a\x54\
+\x7e\x9f\x55\x44\x29\x24\xb2\xad\x93\xa9\x5e\x81\xfa\x2a\x63\x3d\
+\x04\x21\x44\xf5\xf1\x5d\x95\xe5\x45\x69\xd2\xd9\xb6\x86\xeb\x7e\
+\x7f\x2b\xbb\x8c\x9c\xc8\xc7\x8f\x3d\x07\x7c\x3f\x78\xad\x1d\x09\
+\xa2\x9b\x54\x07\xda\xcd\x97\x55\xef\x52\x4a\x91\xac\x08\x64\xee\
+\x9f\xfd\x5b\x30\x25\xff\xad\xeb\x6f\xe4\x96\xef\x7f\x97\xeb\x6f\
+\xbc\x89\xc9\x93\x76\xc2\x36\x4d\x96\xc8\x46\x2c\x33\x3c\x7d\x70\
+\xce\xcf\xb0\x4e\xbe\x8f\xec\x57\x18\x51\x94\xcf\xca\x74\x7e\xf8\
+\x4b\x1f\x8a\x24\x45\xf7\x7f\x61\xae\xf6\xf6\x76\xfe\xf4\xe7\x07\
+\xf8\xc1\x2d\xb7\x72\xc0\x01\xb3\x59\xbc\x64\x09\xbb\x4d\xdb\x95\
+\xfb\xee\xff\x03\x47\x1c\x7a\x08\x90\x45\x08\x1b\x21\xe3\x88\x81\
+\x32\x73\xca\x28\x88\xad\xef\x08\xb4\xd6\x98\x91\x0a\xbe\x70\xc5\
+\x57\x98\x73\xe0\x6c\x66\xcd\x9c\xc5\xbc\x23\x0e\xe7\xc5\x97\x5f\
+\xe1\xb1\xc7\x9f\xe4\xc4\x13\x8e\xa7\xa9\xb1\x69\xe8\x39\x29\xcf\
+\xf3\xf8\xc8\x5e\x7b\x51\xc8\xe7\xf9\xdc\xa5\x17\x63\x99\x26\x23\
+\x47\x8e\x60\xaf\x3d\xf6\x20\x91\x48\x60\x99\x26\xa9\xae\x16\x5a\
+\xdf\xab\xc3\xa3\x3a\xb4\xee\x9b\xaf\x3c\xa4\xac\x20\x9d\x97\xe4\
+\x9d\x9a\xf0\xdd\x02\x59\x87\x10\x19\x06\x7b\xc0\xb8\xd4\xdd\xab\
+\xae\xae\x26\x99\x4c\xb2\xe0\x98\xa3\x89\xd8\x36\x3f\xbc\xf9\x26\
+\x1a\x1a\xea\xa9\xac\x4c\x32\x69\xc2\x75\xe4\x73\x79\x92\xbe\x4d\
+\x32\x6b\x82\x15\x87\xaa\x5a\x68\x6f\x29\x02\x54\x7b\xc9\x28\xa5\
+\x24\x93\xb7\x10\xd2\xa2\xc9\xaf\x09\xa4\x7d\x0c\x13\xe2\x09\xe8\
+\x6c\x0b\x08\xea\x37\xf1\x3e\x3b\x65\x01\x4f\x7b\x54\x55\xd5\x71\
+\xee\x09\x17\x30\xbc\x61\x24\xa7\x7e\xfb\x7c\x3e\x7b\xe8\xa9\x3c\
+\xb2\xe8\x29\xde\x6d\x5e\x45\x3a\x97\xe5\x86\xb3\xae\x60\xea\x2e\
+\x7b\xa1\xda\xd6\x04\xe9\x59\x88\xe8\x22\x60\x76\xd8\x0d\xcf\xf3\
+\x38\xff\xbc\x73\xa8\xaa\xac\xe2\xfe\x7b\xef\xa6\xa1\xbe\x81\x7b\
+\xef\xf9\x35\x13\xc6\x8f\xe7\xe1\x87\x1f\xc1\xab\xac\xc3\x2f\x43\
+\x1c\x34\xef\x25\xf0\xfa\x50\x6f\xe9\xed\x32\xa4\xa4\x90\xed\xa2\
+\xad\x50\x28\xef\xb5\x15\x31\xa4\x88\xf6\x19\x55\x0d\x1f\x31\x82\
+\x4f\x9f\xf7\x29\x4e\x3b\xe5\x64\xc6\x8e\x19\x4d\x53\x53\x03\xd1\
+\x48\x94\x2f\x5f\x71\x39\xb9\x7c\x0e\x81\x81\x61\x36\x62\xda\x4d\
+\x03\x4e\xd3\x0c\x3b\x3c\xac\x66\xb0\xd3\xbd\x74\x47\x0b\x2f\x3c\
+\xff\x0c\xb6\x6d\x93\x4c\x26\x49\x67\x32\x1c\xbb\xe0\x18\x0e\x3b\
+\x74\x2e\xc9\x8a\x24\xd1\x68\x84\x1d\xf9\xda\x64\xe1\xbc\x94\xd6\
+\x54\x55\x56\x06\xa9\x42\x8f\x4e\x98\x94\x92\x9c\x65\xa2\x51\x08\
+\xc2\xe7\xba\xa2\xd8\x25\x2b\x8a\x60\x87\xf5\x50\xac\x6f\xe3\xab\
+\x32\x8a\xe7\x7d\xeb\xd8\xf7\x94\xe3\x96\x52\x76\xaf\x75\xec\xd8\
+\x31\xf8\xbe\xc2\x32\x4d\x2a\x93\x49\x9c\x9c\x13\x1c\x88\x44\x92\
+\x07\x5f\xf8\x0b\x9f\xb9\xe5\x8b\xfc\xee\x4b\xb7\xb1\xcf\x94\xdd\
+\xc1\xc9\x07\xaf\x2f\x8e\x92\x88\x22\x2b\xbf\x12\xba\x5b\x03\xb5\
+\x2d\xd5\xce\xb2\xe6\x95\xdc\xfa\xe8\x3d\xdc\x71\xe9\x77\xa1\x90\
+\xc7\xf7\x3d\x10\x02\xd9\xa3\x55\xab\x8b\x90\x0e\x29\x0d\x56\x37\
+\xaf\xe2\x9c\x9b\x3f\xc7\x69\x07\x1c\x43\xa5\x69\x71\xd8\x55\x67\
+\x70\xe9\xfc\xb3\x79\xf1\x5f\x8b\x30\x4c\x8b\x74\x24\xc2\xe9\x57\
+\x9f\xc5\xdd\x5f\xbe\xa3\xef\xb4\x6c\x23\xbb\x0a\x21\xa8\xaf\xab\
+\x47\x6b\xcd\xc4\x09\x13\xf0\x7d\x9f\x49\x3b\xed\x44\x34\x1a\x41\
+\x69\x8d\x19\x48\xed\x94\x91\xea\x78\x88\x72\xe9\x65\x84\x20\xdf\
+\x9e\xc6\x3a\x64\x34\x55\x0d\x8d\x65\x39\x29\xcf\x77\xc9\xe4\xbb\
+\x36\xb9\xef\x4a\xa9\x9b\x6d\x59\x0c\x1f\x3e\x9c\x91\x23\x47\xe2\
+\x79\x1e\x91\x48\x80\xc7\x1a\x3e\x6c\x58\x40\x8a\x18\x72\x9f\x84\
+\xaa\x2c\x6c\xa3\xab\x34\x54\xbc\xeb\x2e\xbb\x74\x43\x67\x94\x52\
+\xd4\x54\x57\x53\x57\x5b\x83\x52\x83\x03\x41\xd8\xee\x0a\xe7\x1b\
+\x17\x5b\x7b\x1a\xbe\xfb\xef\xfd\x8b\xec\x01\x81\xef\xfa\x28\xaf\
+\x2d\x94\xfc\x84\x90\x06\xca\x4f\x21\xe8\xc2\x10\x2d\x98\x32\x12\
+\x72\x53\x28\xb4\x4e\x01\x23\x08\xc3\x82\xd0\xd3\x90\x9e\xe7\x77\
+\xc7\x38\xba\x67\x2b\xd7\xb4\xf8\xcf\xea\xf7\xc8\xe4\x52\x8c\x6c\
+\x18\xc9\x98\x4f\xec\xc5\x5b\x3f\x7e\x8a\xbf\x2f\x7d\x85\x83\x67\
+\xee\x8f\x72\x1d\x8c\x5e\x46\x5a\x94\x56\x3c\xbc\xf0\x69\x86\x57\
+\xd7\xf3\xf6\xb2\x7f\xb1\xf0\x9d\xc5\xec\xb5\xd3\x74\x6c\xd3\x66\
+\x54\xfd\xf0\x0f\xbd\x3f\x5f\xf9\x0c\x6f\x1c\xcd\x63\x57\xdd\x85\
+\xa1\x41\xcf\x3d\x85\xef\x9f\x7f\x2d\x16\x70\xd5\xe9\x97\x03\x1a\
+\x03\xb8\xf3\xe2\x1b\xd1\xe9\x0e\x44\x08\x05\x9d\x8d\xb9\xaf\x7b\
+\xb6\xe3\x4b\x7f\x6a\x6d\x83\x10\x28\xaf\x03\x25\x9c\xd0\x63\x8a\
+\xbe\x97\xe9\x21\xc4\x5a\x46\xbd\x5c\x29\x64\xcc\xc2\x48\x94\xc7\
+\x75\xa4\x3d\x20\xb7\xe9\xd4\x79\x63\x68\xc9\xc6\xf0\x12\xdf\xf7\
+\x87\x0c\x04\xa1\xb4\x67\x4b\x42\x22\x3d\xcf\x6d\xcf\xad\x3b\xa4\
+\xba\x7b\x3d\x17\x3e\xe8\xde\xb7\xa8\x12\x68\xda\x06\x86\xd5\x10\
+\x9e\xaa\x45\x65\xd0\x54\xe1\xeb\x46\x84\x8e\x84\x74\x90\x0a\x21\
+\x37\xaf\x59\xd6\x73\x7d\x1b\x3b\xe7\x5e\x8f\x63\x57\x1b\x9f\x3f\
+\xfa\x6c\x3e\x7f\xf2\x25\xa8\xce\x56\x96\xff\x66\x09\xba\xab\x8d\
+\x83\x67\xec\x87\xf6\x3c\x0c\x69\x7c\x68\x66\x50\x69\x4d\x7d\x55\
+\x2d\x5f\x3b\xed\x12\xb0\x63\x90\x4d\xb1\xd3\x98\x49\x81\xee\x18\
+\xeb\x01\x9b\x1f\xfa\x95\x42\x10\xe9\x76\xec\x1a\xab\xdb\x60\xeb\
+\xa1\xde\xa6\xd6\x65\x11\x96\x6e\xbc\xde\x9e\xff\xee\x7e\x08\x69\
+\x8d\xb0\xaa\x30\xac\xaa\xd0\x66\x35\xbc\x28\x52\x44\xcb\x4e\xf7\
+\x12\xf1\x08\x8b\x97\xb6\x10\x79\x27\x13\x3e\x1a\x11\x50\x55\x61\
+\x30\x6e\x54\x04\xdf\xd7\x9b\x8d\xa4\x76\xe4\x83\x59\x4e\x24\xd5\
+\xdb\x79\x0d\xc3\x8e\xbb\xc3\xa7\x7b\xae\xeb\x62\xdb\x36\xcd\xcd\
+\x2d\x24\x93\x15\x58\x96\x45\x3a\x9d\x21\x1e\x8f\xe1\xb8\xee\x80\
+\x20\xef\xfd\x8b\x8e\x55\xa0\x42\x11\x92\xc6\x44\x87\xa0\x6a\xe9\
+\x19\x41\xf9\x4a\x91\xcd\x64\x88\xc5\x62\x08\x21\x88\x44\x22\x74\
+\x74\x74\x50\x5b\x5b\x8b\x5f\xf0\x8a\x41\x60\xd0\x9a\xa7\xa3\x39\
+\x00\x17\x76\xb5\x05\x86\xef\x31\x61\xde\x4d\xf6\x5f\x2c\xef\xca\
+\x52\x3e\xe0\x7a\xe0\x76\x05\xde\xc8\x71\xba\x83\x8e\x8d\x05\x2e\
+\x64\x31\xed\x43\xfb\xa8\xcd\xa5\x50\x7a\xfd\x9f\x52\x8b\x3e\xeb\
+\x33\x3d\xd3\x3d\xc3\x30\x68\x6d\x6d\xa5\xb1\xb1\x11\xa5\x14\x05\
+\xc7\xc1\xb6\x7a\xb0\x98\xea\x2d\x6f\xd5\x60\xe0\x59\xb0\xae\xad\
+\x11\xcb\x6a\x28\xcb\x49\x69\x9d\xc7\x10\xad\x9b\x9c\x15\xec\x19\
+\x2d\xfa\xbe\x4f\x26\x93\x25\x59\x99\x24\x9d\x4a\x91\x4c\x26\xe9\
+\xec\xec\xa4\xae\xae\xb6\x67\x78\xbf\x43\x47\x52\x52\x4a\xba\xba\
+\x52\x24\x93\x15\x34\xb7\xb4\x50\x5f\x57\x47\x26\x93\xe9\xae\xb9\
+\x46\xa3\xd1\x41\x1b\x51\xd9\x6e\xd2\x3d\x29\x05\xeb\xd6\x35\x33\
+\x75\xea\x14\xbe\x73\xc3\x4d\xcc\x9a\x39\x83\x7d\xf6\xde\x9b\x7b\
+\x7e\x7b\x2f\x63\xc7\x8d\xc5\x10\x82\xbd\xf7\x9a\xbe\xf5\xc6\x94\
+\x84\x44\x79\x1d\xb8\xce\x4a\xb4\xb2\xc3\x5a\x0f\xe5\x75\x02\xa3\
+\xd9\x1c\xa8\x53\x6b\x8d\xe7\x79\x64\xb2\x59\x7e\x72\xfb\x1d\xcc\
+\x3f\xfa\x28\xda\xdb\xdb\x10\x5a\xf0\xaf\x7f\xff\x9b\x03\x66\xef\
+\xcf\x94\x89\x93\xe8\xd2\x2e\x2d\xaa\x80\x17\x92\x99\xb3\x55\x3b\
+\x98\x5a\x80\x2a\x20\x74\xf8\x0d\x92\xd6\x2e\x6d\xaa\xc0\x32\xbf\
+\x8b\x9c\x17\x0e\x27\x25\x95\xa4\x80\xea\xb3\xeb\x65\x18\x92\xd6\
+\xd6\x2e\xaa\xaa\x2a\xb9\xe8\xd2\xcf\xf3\xc8\xc3\x0f\x70\xdf\x7d\
+\xf7\x93\x4a\xa7\x89\x44\x22\x1c\x30\x7b\x7f\x0c\xc3\xd8\xaa\x1b\
+\x50\x88\x62\x1f\xa1\x8c\xd9\x3d\x21\xc2\x71\x26\xac\x5d\xbb\x8e\
+\xce\xae\x2e\xfe\xf2\xe8\x63\x9c\x75\xc6\xe9\x3c\xf2\xe8\xa3\x1c\
+\x7b\xcc\x31\xfc\xe6\xde\xfb\xb8\xec\xd2\x8b\x00\x07\xa5\x72\x28\
+\x95\x0d\xfd\xf0\xdb\xe4\x3e\xf2\x63\xe8\x32\x98\x23\x06\xf3\xaa\
+\xaa\xa9\xe6\xd2\xcb\x2e\xe7\x47\x3f\xfc\x1e\x37\x7d\xf7\x66\xbe\
+\x79\xcd\xd5\x3c\xfb\xdc\x73\x14\x0a\x0e\x75\x75\x75\xec\xbd\xd7\
+\x9e\x44\x22\x91\xa1\xe3\xa4\x20\x68\xa1\x37\xb7\xb6\xb0\xf8\xfe\
+\x25\x5c\xf7\xed\x6f\xf3\xc0\x1f\xff\xc0\x83\x0f\x3f\x8c\x52\x3e\
+\x0f\x3e\xf0\x10\x67\x9c\x7e\x1a\x2d\xad\xad\x08\x31\x7a\x2b\xbd\
+\x4d\x5d\x14\x64\x30\x82\x4e\x59\xc8\x48\x2a\x2c\xc3\xe5\x3b\xef\
+\xbe\x47\x2e\x9f\xe3\xa8\x23\x8f\x60\xf9\x8a\x95\x2c\x7e\xfd\x75\
+\x1e\x7f\xfc\x49\x4e\x3d\xf5\x64\xbe\x77\xf3\x0f\xf8\xe9\xed\xb7\
+\xb3\x10\x78\x4f\x85\x2b\xdc\x0b\x05\x9d\xc5\x59\xb3\x0a\xad\xcb\
+\x2a\x2a\x7b\x1a\xd6\x1a\x95\xbc\x68\x8d\xc0\x51\xe1\x90\xdc\xbe\
+\x36\x19\x49\x8e\xbe\x58\xa0\x22\x91\x28\x8f\x3d\xf1\x24\x67\x7c\
+\xec\x54\x0e\x9b\x7b\x08\x6f\xbc\xf9\x26\xd7\xdf\xf8\x5d\x66\xec\
+\xb6\x1b\xaf\xbe\xf6\x4f\x86\x8f\x18\x81\x65\x59\xf8\x5b\x6d\xfb\
+\x19\x78\x4e\x07\x12\xb7\xac\x57\x29\x8f\x3e\xa1\x17\x42\x08\x3a\
+\x3a\x3a\x68\x6d\x6b\xe3\xd8\x63\xe6\x53\x5b\x53\x43\x53\x53\x13\
+\x86\x69\x30\x7a\xd4\xc8\x62\x4d\x4e\xa1\xbc\x36\x7c\xd7\x18\x50\
+\xf5\x5b\x03\x86\x8c\x05\xce\x6e\x1b\x44\x52\xc8\x08\xf7\xfc\xe6\
+\x5e\x7e\xf2\xa3\x1f\xb0\xe0\x98\xf9\xb8\xae\x4b\x7d\x5d\x3d\xae\
+\xe7\x52\x99\x4c\xee\xd0\x51\xd4\x26\x9d\x94\x90\x92\x8e\xb6\x0e\
+\x5a\x5b\xdb\x68\x59\xf3\x01\x7b\x7f\x64\x2f\x96\xff\x7e\x05\x23\
+\x47\x8c\xe0\xe0\x39\x73\x58\xd7\xdc\xcc\x88\xe1\xc3\x59\xdd\xae\
+\xb7\x96\x25\x90\x66\x0d\x56\x64\x6c\x59\xb3\x7b\xbe\xdb\x49\x98\
+\x2e\x62\x3a\x9d\x66\xe5\xca\x95\x9c\x7c\xd2\x89\xa4\xd3\xcf\x72\
+\xc0\xec\xfd\xb9\xf0\xd3\xe7\xf1\xc8\xa3\x8f\xf1\xe3\x5b\x7f\x48\
+\x2e\x57\x20\x61\x8f\xa1\x36\xb1\x73\xa8\xa6\x97\x90\x40\xbe\x36\
+\x20\xd2\x8b\x37\x85\x8e\x38\x85\x80\xac\x7e\x0f\x4b\x2e\x22\x61\
+\xd7\x60\xe9\x9a\x70\x87\x56\x83\x14\xef\xf7\x6d\x6c\xd3\x60\xc5\
+\xaa\x95\x78\x9e\xc7\xb1\x0b\x8e\xa1\x90\xcf\x73\xd7\x2f\x7e\xc6\
+\x8a\x95\x2b\xb9\xf8\xa2\x0b\x19\x3b\x76\x0c\x0f\x3e\xf4\x08\xe6\
+\x56\x7c\xe8\x0a\xe1\xa0\x89\x96\x45\x1f\x1c\x76\x22\xbf\xa9\xa9\
+\x29\xe8\x64\xd6\xd7\x91\x48\xc4\x69\x69\x69\x41\xf9\x3e\xcd\xcd\
+\xcd\xc5\x94\xd0\xc0\xb4\x47\x63\x47\x87\x0d\x0e\x33\xa7\x59\xb3\
+\xd5\x0f\xb0\x10\x02\xaf\x90\xe6\xaa\x2b\xbf\x8a\x52\xaa\x5b\x91\
+\xbb\xab\xab\x2b\xa0\x49\xee\x65\x0e\x77\x48\x38\xa9\x42\xa1\xc0\
+\x91\x47\x1e\x8e\x65\x9a\x74\xa5\x52\x58\x96\xc5\x05\xe7\x9f\x8b\
+\x52\xc1\x0d\x30\x4d\x93\xd5\xab\x97\x0d\x28\x30\x0a\x8b\xf0\xed\
+\xae\xd9\x68\x55\x44\x9c\x87\x8d\xa4\x74\x9f\x51\x4f\x29\x9f\x9f\
+\xbd\xff\x7e\x98\xa6\x49\x3a\x9d\x66\xee\x21\x07\x03\x01\x2f\xf6\
+\x39\x67\x7f\x82\x4c\x26\x83\xe3\xfa\x01\xcf\xba\xde\x98\xc9\x61\
+\x13\xef\x59\x0b\x34\x1e\xe8\x40\xca\x3b\x2c\x89\x9d\xee\xe6\x65\
+\xd7\x83\x0d\x09\x2b\x4e\xcb\x77\x70\xdd\x37\xae\xa6\xbd\xbd\x9d\
+\x86\x86\xfa\xee\x49\xf5\x71\x63\xc7\xe2\xf9\x3e\xd1\xa8\x5d\x14\
+\x6d\xdc\x4a\xb4\xc2\xda\xc3\xb4\x83\x9a\x54\x59\xf1\x97\xe9\xa0\
+\x75\x33\x9b\x9a\x37\x2a\xbd\xf7\xfa\xfa\x3a\x9a\x9a\x1a\xf1\x3c\
+\x8f\x54\x3a\xcd\xa7\x3e\x79\x36\x99\x4c\x86\x4b\x2f\xbe\x88\xae\
+\x54\x57\x29\x0e\x1d\xb0\x83\x5a\xdf\xec\xd6\xdb\xc4\x49\x75\x76\
+\x74\x72\xc5\x17\xfe\x87\xf6\xf6\x76\xe6\x1e\x72\x30\x85\x42\x81\
+\x63\xe6\x1f\x5d\xec\xf2\xf9\xe4\xf3\x85\xa1\x57\x38\x97\x52\x92\
+\xcb\xe5\xc8\xb1\xbe\x9d\xd9\xd5\xb5\x1e\x8b\xe3\xba\x6e\x3f\xd4\
+\x6a\xe9\x86\x20\x28\x9f\x00\x56\x10\x4a\x5f\x3e\x98\xd9\xd3\x2a\
+\x8f\xf2\xd3\x28\xe1\x84\x3e\xf0\xe8\x02\x61\xc4\x41\x4b\xb4\x1d\
+\x42\x08\x72\xb9\xf5\x75\xa0\x54\x2a\x55\x34\xac\x46\xab\x3c\xbe\
+\x9f\x0d\x47\x7a\xa7\x0c\xb4\x9f\x46\x18\x89\xed\xa6\x30\x5b\x2a\
+\xa2\xb6\xb7\xb7\x77\x8f\x03\xf5\xb4\x27\x80\x6d\x5b\x01\x04\x41\
+\x65\x51\x7e\xd8\xb6\xa1\x08\xd4\x56\xfa\x23\x0f\x25\x44\x59\x43\
+\xe3\x25\x71\xd0\xbe\x58\x40\x7b\xaa\x00\xf5\x9c\x35\x4d\x15\xf1\
+\x64\x9d\x5d\x5d\x43\x0a\x82\x60\x18\x06\x1d\x1d\x1d\xdd\xe7\x16\
+\xe8\x16\x50\xf9\xd0\xc3\x7e\x28\x38\xa9\xf0\x2d\xf9\x7e\x26\xef\
+\x68\xa4\x01\x86\x91\x08\x45\x50\x13\xa8\x01\x47\x03\x39\x6e\x23\
+\x11\x9a\xe3\x3c\xa8\x49\xd9\x84\xc1\x48\xf5\x65\x4c\x81\x40\xca\
+\x08\x86\x11\x47\x89\xbe\x0f\x95\x94\x12\x21\x13\xac\x07\xa2\x6e\
+\xfb\x6b\x63\xbb\xf6\xd6\xa2\x2e\x79\x02\x21\xa3\xe1\x25\xde\x01\
+\x69\x68\x04\x16\xdb\x9b\x1a\xf0\xa6\x6c\x3b\x94\xd8\x11\xfa\xb2\
+\xeb\x50\xb8\xcc\xcd\x79\x67\xdf\xf7\x31\x4d\x03\xdf\x57\xdd\x81\
+\x90\xee\x79\x43\xca\x25\xe0\x2f\x11\xae\x0b\xa0\x2c\x1e\x6f\xd9\
+\xfd\x51\xce\xac\x9a\x08\x51\xb7\xe8\x0d\xbc\xba\x5e\x46\xbe\xa4\
+\x16\xd3\x1d\x06\x96\x21\x4f\x55\xba\x37\xe5\x14\x2d\x05\xfd\x12\
+\x35\x08\x3d\x73\x1d\x44\xc9\x3d\x71\x35\x25\x3b\x07\x4c\x10\x3d\
+\xee\x5c\x59\xb2\x5a\xdb\x57\x61\x76\x63\x9c\xd4\xc6\xd4\x25\x86\
+\x61\xf4\x88\xe0\xc4\x80\xc5\xb1\xb7\xb5\x5f\xd8\xd8\x8e\xa5\x09\
+\x8a\x9e\x10\x9b\x21\xc7\x82\x10\x8d\x46\xf9\xe5\x5d\x77\x73\xe6\
+\xe9\xa7\x71\xe5\x37\xae\xe5\xa2\x0b\x2f\xc0\x75\x5d\x56\x7d\xf0\
+\x41\x50\x84\x8c\xc7\xc9\xe5\x0a\x78\xce\x72\x9c\xdc\x07\xa1\x8d\
+\xe4\x2b\x1f\xd7\x69\x27\x66\xac\xc4\x91\x6d\xa1\x4e\x97\x94\x06\
+\x05\x67\x25\x4a\x59\x83\xbe\xf8\x12\x6e\x68\xed\xda\x75\x38\xae\
+\xc3\x8a\xe5\x2b\x38\xf8\xd0\xc3\xb8\xe3\x8e\x9f\x72\xdc\xb1\x0b\
+\xe8\xea\xec\xe2\xf5\x25\x4b\x38\x6a\xde\xd1\xe5\x15\x80\x10\x08\
+\x61\xe2\x15\xde\xc7\xc9\xb6\x96\xd5\x5d\xf1\xdd\x66\x7c\xaf\x05\
+\x27\xfb\x2e\x05\x27\x17\xca\xff\xf8\xca\x40\xc7\x0a\x9b\xbd\x9f\
+\x5a\x6b\x2a\x2a\x2a\xb8\xef\xfe\xdf\x73\xc8\xc1\x07\xf1\xe4\x53\
+\xcf\x70\xe8\xdc\x83\xf9\xf6\xf5\x37\x70\xc9\x45\x9f\xe5\x81\x07\
+\x1f\x62\xc1\xfc\xa3\x7b\x34\x26\xb6\x66\xb4\xa1\x07\x75\xb4\xa4\
+\x74\x18\xd7\xae\x5d\x8b\x34\x0c\x5e\x7d\xf5\x35\xf6\xdc\x63\x0f\
+\xd6\xad\x5b\x47\x6d\x6d\x0d\x8f\x3f\xf9\x57\x3e\xf9\x89\xb3\xd0\
+\xe4\x71\x0b\x2b\x70\x32\xe1\x1a\x2c\x9b\x4b\x43\xf1\x62\x78\x4e\
+\x0b\x30\x6a\xab\x3b\xa8\x9a\x9a\x1a\x2e\xfd\xfc\xe5\x7c\xe3\xca\
+\xaf\xf1\xc2\x8b\x2f\x31\x7b\xff\xfd\xf8\xc7\x0b\x2f\xf2\xca\xa2\
+\x57\xd9\x73\xf7\x59\xec\x36\x6d\xd7\x7e\x28\x18\x6f\xe7\x4e\x2a\
+\x97\xcb\xf1\xa9\xb3\x3f\x4e\x57\x2a\xc5\x8d\x37\x7d\x8f\x1f\x7c\
+\xef\x26\x9e\x7a\xe6\x59\x5c\xc7\xe5\x0b\xff\xf3\x39\x0a\x15\x05\
+\xf2\xb9\x0e\xec\xe8\x81\x78\x22\x11\xde\x49\xf9\x3e\x76\xa4\x96\
+\x9c\x37\x8a\x82\x1f\xce\x98\x42\x81\x19\xa9\x45\x1a\xef\x6d\x11\
+\x03\x9b\xa6\xc9\xe8\xd1\xa3\xa8\xac\xa9\xe6\xf9\x17\x5e\xe2\xf8\
+\xe3\x8f\xe7\xe8\x79\xf3\x88\xc7\x62\xbc\xf6\xda\xeb\xdc\xf2\xa3\
+\x9f\x70\xdc\xb1\xc7\x81\xce\x23\xc8\x43\x08\xd1\x00\x81\x44\xe8\
+\x4e\xac\xc8\x58\x22\x89\x61\xe5\xe9\xee\xe9\x65\x18\x66\x03\x91\
+\xc4\x84\x3e\xa4\x5b\x37\x74\x9b\x82\xce\xcd\x3a\x16\x21\x04\xa9\
+\x54\x8a\x13\x4f\x38\x1e\xd7\x75\xf9\xed\xbd\xf7\x32\x63\xfa\x34\
+\xce\x3d\xe7\x93\xdc\xfa\xe3\xdb\xf9\xe5\xaf\xee\x62\xca\xce\x53\
+\x31\x4c\x13\xc8\x87\x1a\xb5\x59\xbf\xde\x0c\xfd\x95\x2c\xd7\xb2\
+\x28\xb1\xf9\x00\x00\x0e\x50\x49\x44\x41\x54\xbe\x40\xf9\x99\x41\
+\x55\x30\x2e\x5d\xe9\x74\x86\x54\x2a\xc5\xdc\x43\x0e\x21\x99\xac\
+\xe0\xe9\x67\x9f\xe5\xb0\xb9\x87\xb0\x60\xfe\xd1\xb8\x8e\x83\x10\
+\x26\x56\x74\x32\x91\xc4\xc0\x75\xf7\x22\x51\x30\x23\x0d\xdb\x44\
+\x77\x0f\x33\xca\xe3\x4f\x3c\xc9\xb7\xae\xfd\x06\x93\x26\x4d\x62\
+\xdd\xba\x66\xba\xba\xba\x58\x70\xf4\x51\xd4\xd6\xd6\x62\x59\x16\
+\x3b\xf2\xb5\xc9\xc2\x79\x2a\x9d\x46\x4a\x49\xdb\xba\x0f\xf8\xf8\
+\x59\x67\x70\xfe\xb9\xe7\x74\x13\x68\x49\x29\xe9\xea\x6c\xa6\xed\
+\xad\x02\x10\x2f\x23\xdf\x50\x45\x69\xf6\x1e\x44\x61\x21\x52\x99\
+\xa0\x53\x36\xf8\xd6\x2f\x85\xc3\xbe\xef\xd3\xde\xd2\xca\x19\xa7\
+\x9e\xcc\x05\xe7\x7e\x92\xd5\x6b\xd6\x22\xa5\xe4\xc0\x03\x67\x33\
+\x67\xce\x01\xa4\xd2\x99\x22\xae\xc0\x08\xc7\x67\x84\x04\xcc\x62\
+\x37\xd2\x2f\x43\xa2\x4a\xa3\xb5\x4b\x30\x77\x58\xc6\x46\x55\x7d\
+\xe7\x7c\x25\xbb\x66\x32\x01\x25\xf1\x3d\x77\xfd\x12\xdf\xf7\x59\
+\xb3\x76\x2d\x57\x7d\xfd\x2b\x5c\xf1\x85\xcf\x53\x51\x91\xe0\xde\
+\xdf\xdd\x4f\xc4\x36\x8a\xd3\x81\x61\x2f\xa3\xff\x29\x5f\x89\x78\
+\xae\x9c\xd3\x2d\xc2\x89\xbe\x8e\x1f\x3f\xae\x58\x38\xd7\x64\x8a\
+\xcc\x00\x5a\x29\xba\xba\xba\xd6\x13\xd4\x75\x0f\x1a\x0f\xd4\x59\
+\x14\xff\xb7\x0d\x74\xf7\x3a\x5b\xd6\xf2\xf8\x23\x0f\x05\x64\x86\
+\x11\x8b\x78\x3c\xc1\xec\xfd\xf7\xa3\xab\x2b\x85\xe7\x7b\x58\xda\
+\x1c\xda\x85\xf3\xd2\x41\x2e\xc9\x71\x07\xb9\xee\x40\x36\xa4\xc6\
+\x73\x3a\xf0\x9c\x4c\x48\x27\x25\x51\x6e\x2b\x1a\xb5\xc5\x8c\xdc\
+\xb3\x8e\xd1\xd5\x95\x0a\x38\x97\x36\xa8\x6b\x08\x10\x51\xb4\xb0\
+\x20\x84\x10\x84\x16\xa0\x88\x23\xb6\xa3\x42\xf2\xc6\xf6\x2c\x75\
+\xbd\x46\x0c\x1f\x8e\xe3\x38\x18\x86\x51\xaa\xba\xa1\x45\x84\xb0\
+\x0c\xa4\xc1\x4b\x74\x71\x2b\xe9\xb2\x4f\xb6\x30\x40\x1a\xd1\xb2\
+\x5e\x2a\x84\x2c\x0e\x8f\x6f\x9e\x05\x41\x4a\xd9\x9d\x6a\x97\xe4\
+\xcb\x90\x92\xba\xba\xba\xe2\xf7\x28\x3c\xb7\x15\xaf\xc0\x80\xd2\
+\x3d\x00\x43\x44\x51\x7e\x6a\x9b\xd8\x55\x69\x45\x45\x45\x05\xbe\
+\xef\x13\x8b\xc5\x51\x4a\x61\x59\x16\xf5\xf5\x75\xdd\xf7\x62\xc8\
+\xd5\xa4\x7a\xdb\xdc\x1f\x4e\x30\xfa\x7d\x5b\x51\x7e\x0e\xad\xb2\
+\x84\x21\xd9\x14\x48\x94\xce\x6f\x71\x3e\x8c\x4d\x15\x59\x4b\x9b\
+\xd9\x77\x5b\x70\xf3\xab\x42\x49\xa0\x0b\x11\x88\x89\x9a\xd6\x30\
+\xb6\xc7\xd9\xb0\x9e\x36\xed\x49\xdc\xaf\x09\xa2\xad\x6c\xa6\x0d\
+\xc3\x70\xc2\xd9\x59\x40\x21\x9f\xc5\x73\xf3\x65\xc3\x52\xa4\x61\
+\x92\x4b\xa7\x71\x2c\xa3\xac\xb1\x98\xca\xb8\xda\xec\x83\xb2\xd7\
+\x0e\xed\x46\x6b\x0e\x20\x08\xaa\x08\x6f\xc9\x0e\xf8\x21\xa8\xfc\
+\x12\x5d\xf5\xb6\xb1\xa7\xea\x65\x7e\x74\x63\xde\xf3\x21\x95\xee\
+\x85\x11\x62\xe8\x67\x7d\x34\x10\x10\x8c\x0d\xc7\xf2\x42\x1e\x5f\
+\x01\xd2\x89\x22\x42\x20\xaa\x07\x9c\xdb\x6f\x72\xc3\x0b\x84\x88\
+\x20\x8d\x28\x2a\xe4\xec\x9e\x94\xf1\x62\xda\xb7\x7d\x5c\xbd\xd9\
+\xf5\xc3\x04\xfe\x06\xe9\x74\x9a\x7d\x66\x1b\x54\x24\xc3\xd7\x31\
+\xb2\x19\x87\x57\x17\x6a\xca\x01\x36\x0b\x21\x48\xa5\x0b\x4c\xdf\
+\x55\x52\x53\x63\x95\x05\x38\xb7\x2d\x1f\xd7\xf3\x42\xa5\xb8\x1b\
+\xa7\xf6\x1b\x6f\x7f\xcb\x1e\x87\x1d\x1b\x04\xc4\x79\x14\x0c\xab\
+\x6e\x9b\xda\x75\x73\x6b\x1d\x72\xe9\x5e\xa9\xa5\xe9\x79\x1e\x55\
+\x55\x55\xe4\xf3\x79\x7c\xdf\x27\x1e\x8f\x77\x43\xef\x3b\xd1\x48\
+\x61\x04\x42\x98\x61\x4b\x52\x86\x85\x10\x12\xd3\x0c\xb8\xfc\xc3\
+\x3a\x29\x0c\x0b\x8d\x44\x29\x89\xaf\x08\x29\xc4\x50\xfc\xde\x10\
+\x06\x86\xa0\x2d\x1d\x8b\xc5\xc8\xe7\xf3\x58\x96\x19\x38\x1a\x21\
+\x71\x3d\x8f\x7c\x21\x8b\x34\x92\x18\x56\x1d\x32\xe4\x58\x8c\x61\
+\x3a\x94\xdf\xca\x2f\x17\xb2\x50\xfe\xd3\xd6\x34\x4d\x94\x52\x54\
+\x57\x57\xd3\xde\xde\x4e\xb2\xa2\xa2\xbb\x05\x6f\x59\x26\xb9\x6c\
+\x96\xc9\x3b\xd5\x10\x8b\x87\xc7\x49\x79\x5e\x94\x77\xde\xb2\xca\
+\x3a\xe8\x42\x40\x36\x5b\x60\xfc\xb8\x24\xb5\xb5\x95\x65\xae\xc6\
+\xa7\x75\x6d\x76\x93\x80\xcc\xf5\x42\x0c\x01\x03\x80\x69\x9a\x74\
+\x75\x75\x91\x48\x24\xc8\x66\xb3\x54\x24\x12\xa4\xd2\x01\x50\xd7\
+\x30\x6d\x0c\x63\xe0\x81\xba\x61\x04\x9d\x68\xad\x05\x3d\x20\x67\
+\x03\xaf\x73\x85\xb0\xab\xe7\x79\xd4\x37\x36\xe2\xe4\xf3\x01\x53\
+\x67\x3a\x5d\x64\xf3\x00\xdf\x57\x38\x8e\x33\xf4\xd2\x3d\xc3\x30\
+\x58\xb1\x72\x25\x93\x76\x9a\xc8\xd7\xaf\xba\x86\x83\x0f\x3a\x90\
+\x51\xa3\x46\xf1\xeb\xbb\xef\x41\x29\xc5\xee\x33\x67\xb2\xe7\x9e\
+\x33\x68\x69\x7e\x95\x96\x56\x27\xb4\x93\x52\x5a\xd1\xde\xbe\x9c\
+\xbf\x3f\x73\x27\x85\x7c\x2e\x74\x2a\xe4\x3a\x29\x26\x4c\x18\xc7\
+\xb8\x11\x0d\x98\xa6\x19\xee\xa9\xab\x35\xbe\x27\x36\xeb\xa8\x4a\
+\x07\xb7\x34\xeb\xf4\xe7\x07\x1e\x62\xde\x91\x47\xf0\xfc\xdf\xff\
+\xce\xbb\xef\x2e\xa3\x22\x59\x41\x4d\x75\x35\x1f\x3b\xed\x8c\xb2\
+\xd3\x36\x21\x6c\x7c\xf7\x03\xdc\x42\xbe\x58\x38\x0f\x29\xa0\xea\
+\x37\x6f\x11\x47\x15\x48\x6e\x5b\xac\x5e\xb3\x86\xda\x9a\x1a\x2e\
+\xf8\xcc\x45\x7c\xf7\xa6\xeb\xf9\xd2\xd7\xae\x24\x99\x48\xd0\xd1\
+\xd1\xc1\x27\x3e\x7e\x16\x3b\xef\x3c\x95\x3f\xff\xf9\xcf\x65\xc1\
+\x26\xf2\x85\x02\xed\xad\xad\xc8\x32\x18\x14\x7c\xcf\x67\xfc\xb8\
+\x71\x2c\x7a\xf9\xe5\xe2\x84\x7e\xf8\x58\xaa\xaa\xaa\x92\x71\x63\
+\x47\x6f\x80\x9a\xef\x2d\x6a\xf8\x60\xf5\x6a\xfe\xf4\xe7\x07\x59\
+\xb2\xe4\x0d\xae\xfb\xe6\xd5\xfc\xee\xfe\xdf\x73\xf4\xbc\x23\xb9\
+\xe3\xce\x5f\x70\xd1\x85\x9f\x66\x5d\xf3\x2a\x5e\x7c\xee\x67\xd4\
+\xd4\x34\x0c\x18\xe0\x69\x59\x16\xef\xbd\xfd\x1c\x7b\xec\x39\x97\
+\x88\xb9\x02\xa9\x07\xce\x88\xa0\x0c\x8d\x20\xce\xe6\x40\xc1\x4a\
+\x29\xea\x87\x8d\x62\xdf\x7d\xf7\xe1\xe0\x83\xe6\x10\x8f\xc5\xf8\
+\xf4\x79\x9f\xe2\x81\x87\x1e\xc6\x29\x38\xd4\xd6\xd6\xb0\xc7\xee\
+\xb3\x86\x16\x0b\x42\x09\xf8\x65\x59\x16\xef\x2f\x5f\xc1\xc8\x11\
+\xc3\x48\x26\x2b\x58\xb1\x62\x05\x75\x35\x35\x3c\xf5\xcc\xb3\xcc\
+\x3b\xf2\x08\xf2\x79\x97\xe3\x8e\x9e\x56\xd4\xa2\x0f\xb9\x31\x7d\
+\x9f\xfa\xe4\x0a\x3e\xfe\xf1\x8f\xd1\xd5\x99\x0a\xe9\xdc\x02\xea\
+\x98\x25\x6f\x2c\x65\xec\x18\x93\x48\x19\x78\x0f\x4d\xe3\x26\x89\
+\xd1\x7a\x6e\xe8\x5c\x2e\x47\x73\x73\x0b\xa3\x46\x8d\x42\x29\xc5\
+\xda\xb5\xcd\x3c\xf0\xd0\x43\x5c\x76\xe9\x25\xfc\xf9\x81\x07\x39\
+\xeb\xcc\xb3\x70\x9d\xf7\x28\x64\xac\xd0\x35\xa9\x7c\xe6\x03\xec\
+\xe8\x24\x4c\x7b\x4c\x19\xf4\xca\xe0\x7a\xde\x16\x6d\x12\xb4\xb7\
+\x77\x50\x57\x5b\xcb\xb8\x71\x63\x69\x69\x6e\xe1\xc9\x27\xfe\xca\
+\x3e\xfb\xec\xcd\x3f\xfe\xf1\x02\x87\xce\x9d\xcb\x21\x87\x1c\x84\
+\xef\x79\x65\x21\x14\xf3\xf9\x3c\x8b\x97\xbc\xb1\x01\x3b\x64\xdf\
+\x0f\xac\x00\xdf\xb3\xeb\x2e\x53\xfa\x75\x80\xc2\x0c\xcd\x2a\x5f\
+\xd1\xd6\xde\xce\x3f\x5f\x5f\x4c\x67\x67\x8a\x9d\xa7\x4c\xc1\xb2\
+\x2c\xa6\xed\xb6\x2b\x8e\xe3\xd0\xd4\x58\xc7\xb7\xbe\x71\xe1\xa0\
+\x20\xd0\x23\x91\x28\x4f\x3c\x51\x4f\x75\x75\x35\xd3\xa7\xc7\xf1\
+\xbc\xc1\xc1\x25\x85\x1d\x1b\x5a\xb5\x6a\x15\x2f\xbd\xfc\x32\xf3\
+\x8f\x9a\x47\x2c\x16\x63\xec\x98\x31\xf8\xbe\x47\x2c\x1e\xdf\xea\
+\xf4\x3b\x5b\x25\xdd\x0b\x0e\x8c\xc0\x71\x1c\x0e\x38\x60\x7f\x6a\
+\xab\x6b\xe8\x48\x74\x32\x76\xcc\x18\x4e\xff\xd8\xa9\xa4\xd2\x69\
+\x1a\x1a\x1a\xf0\xbc\xf2\x0a\x85\xbe\x1f\xf0\x2f\x7b\xae\x1b\x70\
+\x7c\x87\x2d\xb0\x06\x84\x43\x1b\xf0\x81\x87\x3d\xf4\x61\xaf\x44\
+\x22\xc1\x5e\x7b\xed\x41\x3e\x9f\xe3\xe3\x67\x9d\xc1\xe7\x2e\xf9\
+\x2c\x2b\x56\xad\xe2\x63\xa7\x9d\x42\x57\x2a\x87\x69\x8d\xc4\x8e\
+\xed\x12\x6e\x76\x4f\x48\xec\x68\x12\x21\xcd\xf2\x52\x38\xa1\xbb\
+\xe5\xc4\xb7\x5c\x91\x35\xb0\xf1\x11\x87\x1f\x46\x34\x16\xe3\xa9\
+\x27\xff\x52\x24\x33\x8c\x23\x84\xf8\x90\xfc\x78\xa8\x48\xd7\xf5\
+\xfa\x31\x69\x1f\x30\x98\x8a\x1e\x1d\xb8\xc1\xbe\x1a\x1b\x1b\xb8\
+\xe8\xc2\x4f\x73\xc9\x67\x2f\xa4\xa2\xa2\x02\x29\x03\x8d\xc5\x11\
+\x4d\xc3\x50\xc5\x87\x71\x39\x8e\x75\xb3\x07\xc9\x70\xf1\x95\x5f\
+\x1c\x40\xd7\x65\x0a\xd9\x6e\xfe\xc1\xd2\xd7\xd7\xbb\xda\xd6\xf1\
+\xe8\xff\x3e\x48\x43\x7d\x1d\xad\x6d\xed\xe4\x72\x39\x6a\x6b\x6a\
+\x50\xca\xc7\xb2\xec\xf5\x6a\x45\x43\xc5\x49\x95\x9e\x52\x8d\x8d\
+\x0d\x1b\x44\x57\x15\xc9\x64\xf7\xdf\xeb\xa3\x51\x7c\xdf\x2f\x3b\
+\xc7\x2d\x7d\xbb\x60\xfb\x98\x33\x2a\xe5\xe9\xd5\xd5\xd5\xd4\xd4\
+\xd4\x6c\xf0\x79\xcf\xf7\xbb\xdb\xf3\x02\x11\x70\x59\x09\x09\xd2\
+\x0e\xe9\x08\x2c\x84\x50\x18\xd2\x29\x73\x9d\x2e\x5b\xc2\x4d\x95\
+\xd8\x56\xa7\x4e\x99\x82\x52\x8a\x89\xe3\xc7\x77\x33\x3a\x54\x54\
+\x54\xf4\x5a\xa7\xdb\x22\x4f\x83\xad\x64\x57\x00\xd3\x34\x49\x16\
+\xf7\xad\x52\x8a\x51\x23\x47\x76\x0b\x6d\xf4\xec\x86\x0d\xca\xef\
+\x13\xe5\x3b\x98\xc1\xb2\xab\x5f\xdc\xab\x5a\x6b\x86\x35\x35\xa1\
+\xb5\xfe\xd0\xf9\x1d\x72\x35\xa9\xde\xba\x03\x1b\xb7\xe5\x87\xc2\
+\x20\x63\xcf\x35\xf4\x16\xf2\x0f\x24\x0d\x70\x7d\xc9\x88\xda\xb7\
+\x19\x31\x7c\x75\xe8\xe2\xb9\xd6\x9a\x25\x2d\x6f\x22\x65\x64\x8b\
+\xad\xb7\x1b\x72\xb0\xd9\x6e\xe6\xd0\xb1\x6b\x6f\x7b\x7a\xa8\xec\
+\xdf\x4d\xad\xad\xb7\xbd\x3b\xe4\x21\x08\x83\x0e\x45\xd8\x0e\x9f\
+\xba\x9b\x6e\xcb\xf7\x6f\x8d\x86\xa1\xe9\x4a\x37\x60\xb6\x56\x97\
+\xd5\xe1\x93\x96\x83\x56\x2f\x6f\xb1\xa8\xb1\xb7\x56\x75\xcf\xcf\
+\x6f\x11\x01\x8e\x6d\x6c\xdb\xde\x0e\xf4\x50\x59\xe7\xff\x6b\x08\
+\x82\x6d\xdb\x38\x8e\x43\x22\x91\xa0\x50\x28\x60\x59\x16\x52\x4a\
+\x0a\x85\x42\x77\xf8\x38\x98\x21\xf3\xb6\x34\x70\x69\x0d\xd1\x68\
+\x34\x68\xd3\x1b\x06\xb9\x7c\xbe\x08\x4b\x88\x92\xcf\x77\xf6\xe3\
+\xe9\xa6\xc8\xbb\xb5\xa4\x73\xc3\x08\x4d\x9c\x00\x48\x23\xd7\x27\
+\x5f\xd2\x40\xa2\x28\xdb\xb6\xf1\x3c\x8f\x8a\x8a\x0a\x32\x99\x4c\
+\xf7\x9a\x63\xb1\x18\x99\x74\x1a\xd7\xf3\x86\xc4\xc1\x85\xa0\x96\
+\x19\x89\x44\x30\x0d\x83\x74\x26\x83\x6d\xdb\xb8\xae\x8b\x65\x59\
+\x41\x1a\x3f\x44\xa2\x46\xdf\xf7\xa9\xab\xad\xa5\x50\x28\x00\x90\
+\xcd\xe5\xb0\x6d\xbb\x1b\x9e\x50\x82\x0d\x0d\xa9\x74\xcf\x34\x4d\
+\x16\x2e\x7a\x95\x3d\xf7\xd8\x9d\xeb\x6f\xbc\x89\x83\xe6\x1c\xc8\
+\xab\xaf\xfd\x93\x5c\x2e\xc7\x61\x73\xe7\x12\x8b\x45\xb1\x2c\x7b\
+\x03\xd8\xfd\x8e\x6b\x60\x45\x26\x93\x21\x97\xcf\xf1\xf4\x33\xcf\
+\x62\x18\x06\xb6\x65\x71\xf8\xe1\x87\xf1\xce\x3b\xef\xf0\xc0\x43\
+\x0f\xf3\xe5\x2f\x7e\x05\x84\x15\x8c\x7b\x85\xc2\xae\x80\x10\x11\
+\xd0\x2e\x42\xf8\xc8\xb2\x66\xf7\xbc\x2d\x52\xe2\x09\xd4\x59\x22\
+\x2c\x79\x63\x29\x13\xc6\x8f\xe3\xf2\x2b\xbe\xcc\xc5\x9f\xb9\x90\
+\xf7\x97\xbf\xcf\xda\xb5\xcd\x3c\xf2\xe8\xa3\x9c\xf7\xa9\x73\x98\
+\x31\x7d\xb7\x1d\xfe\x00\x97\xde\x7b\x73\x73\x0b\xaf\x2c\x5c\x48\
+\x3a\x9d\xe6\x98\x63\x8e\xe6\xc5\x97\x5e\x62\xe7\xa9\x3b\xd3\xd6\
+\xde\xc6\xf8\x71\xe3\x86\x04\xaf\x94\xd6\x9a\xba\x86\x7a\xce\x3d\
+\xf7\x02\x8e\x3f\xee\x58\xde\x7f\xff\x7d\x4e\x39\xf9\x24\x5e\x7c\
+\xe9\x65\x62\xd1\x28\xc3\x86\x35\x51\x55\x59\x59\x16\x3c\x64\x7b\
+\xbb\x64\x6f\x8b\x56\x4a\x31\x6a\x54\x50\x64\x1c\x39\x72\x04\xd1\
+\x68\x8c\x9d\x26\x4e\x20\x62\x47\xc8\x64\x32\x14\x9c\xa0\x93\x31\
+\x14\x2e\x29\x05\xb1\x58\x94\x48\x24\x42\x5d\x6d\x2d\xfb\xcd\x3e\
+\x90\xbf\x3c\xf6\x24\x5d\x5d\x5d\x64\x73\x39\xda\xdb\x3b\x10\xc2\
+\xc7\xcd\xbf\x4d\x2e\xfd\x1a\xf9\xcc\xc2\x3e\x3f\x72\xe9\x57\x29\
+\x64\x5e\x42\x29\x07\xad\x0d\x94\x22\xdc\x87\x16\x08\x61\x6d\xb1\
+\x89\x3f\xdf\xf7\x19\x56\xe4\xfd\x1e\x3f\x6e\x2c\x08\xb8\xfa\x9a\
+\xeb\x18\x39\x72\x38\x6b\xd6\xae\x1d\x32\xd1\xc5\xfa\xf5\x7a\x2c\
+\x5c\xf4\x2a\x57\x5d\xf3\x4d\xd6\xae\x5d\x47\x3a\x9d\xa1\xad\xbd\
+\x8d\xbb\xee\xfe\x0d\x11\xdb\x1e\x32\x4e\x0a\x19\xe1\xd9\xbf\x3d\
+\xc7\xd7\xae\xbc\x9a\x5c\xbe\x40\x22\x91\x60\xf9\x8a\x15\xfc\xf4\
+\xce\x9f\xf3\xca\xc2\x45\x38\xae\xbb\x43\xaf\xd1\xdc\x54\x5a\x50\
+\x5b\x53\x83\xe3\x38\xcc\x3f\xea\x28\xa4\x94\x4c\x18\x3f\x8e\xdd\
+\x67\xed\xde\xdd\xc6\xdd\x54\x9d\x6a\x47\x4c\xf7\x2c\xcb\xa2\xaa\
+\xb2\x92\x83\xe6\x1c\x88\x65\xd9\x5c\x77\xcd\x55\x24\x8b\x40\xce\
+\x5d\xa6\x4e\x25\x97\x77\x31\xed\x91\x44\xe2\xd3\x50\x21\x20\x08\
+\x52\x48\xcc\x6c\x1d\xb6\xf9\x6f\xe2\xe6\xf2\x62\x4d\x2a\xdc\xbd\
+\x4a\xe5\xd6\x20\xc4\xe0\x73\xff\x94\xd2\x82\xaa\xaa\x40\x4a\xfe\
+\xb4\x53\x4f\xc6\x90\x06\xb7\xff\xf8\x47\xd4\xd6\xd6\x70\xfb\xad\
+\xb7\x10\x8b\xc5\x86\x94\xa3\xaa\xaf\xaf\xe7\xe2\xcf\x7e\x86\x4f\
+\x7d\xf2\x6c\x6a\x6b\x6b\x19\xd6\xd4\x84\x94\x92\x8b\x2f\xbc\x80\
+\x7c\xa1\x30\x64\xd2\xbd\xce\xd6\xb5\xfc\xef\x43\x7f\xc2\xf7\x3c\
+\x2a\x2b\x2b\xc9\x66\xb3\x1c\x79\xf8\x61\xcc\x39\x60\x36\xd1\x68\
+\x74\x87\xe6\x92\xda\x64\xba\xd7\xd3\x78\x3d\xb9\x68\x22\x11\xbb\
+\xd7\x43\xbe\xa3\xa7\x05\xa5\x75\x04\x23\x23\x3e\xd5\xd5\x81\x7a\
+\xaf\x61\x18\x58\x96\x45\xa1\xa0\x10\xc2\x44\x08\x13\x29\xcd\x10\
+\x3f\x37\xd0\xb8\xf3\xd4\x34\x72\x5e\x03\xa2\x0c\x3e\x6d\x3b\xb6\
+\x0c\xad\xff\xb4\xc5\xd6\xdb\xed\x98\x4d\x0b\xad\x35\x0d\x0d\xf5\
+\x00\x54\x56\x56\x0e\x09\x9b\xf6\xac\x49\x19\x86\x41\x32\x59\x41\
+\x32\x59\xb1\xc1\xd7\xab\xaa\xab\x86\x54\x87\x5a\x29\x45\x5d\x6d\
+\xed\x06\xeb\x8f\x46\xa3\x44\xa3\xd1\x21\x71\x56\xcd\x30\x87\xb8\
+\xbf\x5f\xdf\xd1\x9c\xd5\xe6\xd7\xa4\x8b\x35\xa9\x30\x88\x73\x23\
+\x10\x0c\x28\x6a\xff\x85\xef\xee\x15\xf1\x2c\xdb\x70\xad\x43\x15\
+\x82\x30\x54\xf7\x6e\x6f\x6b\x19\x6a\x76\x35\xf9\xef\xd5\xe7\x65\
+\x18\x8a\x89\x63\xbb\xd8\x7b\xdf\x3c\x5e\x88\xfc\x5e\x1a\x06\x6b\
+\xd7\x66\x78\xfd\x8d\x18\x02\xb7\x4c\x36\x04\x1f\x8d\xf8\xef\x4d\
+\xff\xef\xf5\xdf\x6b\x6b\x3b\x29\xad\x03\x4e\x4b\xdf\xf7\xfb\x85\
+\x50\x0e\x60\x0f\xdb\xee\x49\x15\x8f\x5b\x54\x55\x46\x81\x68\xa8\
+\xd7\xe4\x73\x15\x34\xd5\x37\x53\x51\x41\xe8\xce\x8a\xd6\x9a\xc5\
+\xaf\xbf\x89\xe7\x49\x94\x02\x3f\x64\x6f\x42\x69\x50\xaa\xc8\x83\
+\xb3\x6d\xf2\xab\x7e\x8c\xc5\x08\x7c\xcf\xdf\xde\x04\x66\x06\xb2\
+\x4b\x8a\x9c\x52\x6a\xc8\x38\x07\xad\x83\xf3\x5a\xee\x71\x1d\x6c\
+\x31\x52\x73\x6b\x1e\x74\x01\x8c\x1b\x3b\x0e\xc7\x29\xbf\xdb\x50\
+\x55\x59\x85\x61\x6c\xa3\x19\x24\x21\xa8\xae\xaa\xc4\x77\x0b\x78\
+\x5e\x38\x3e\x29\xe5\x29\xa6\x4e\x6e\xa0\xae\xae\x0e\x19\x32\xd4\
+\xd6\x5a\x93\xee\xac\x22\x9f\x9f\xc8\xb0\x7a\x0f\xd7\x0b\xab\x31\
+\x68\x90\xb0\x13\x65\xd0\x14\x0f\x72\xa4\x69\x9a\xd4\xd7\xd7\x6f\
+\x92\x95\xa0\xb7\xcb\xf3\x3c\x26\x4c\x9c\xb0\xed\x6c\x3a\xc8\x97\
+\xef\xfb\x0c\x1b\x36\x8c\x44\x22\xbe\xc3\x2b\x06\x97\xf6\x62\x2c\
+\x16\x65\xdc\xb8\x40\x38\xb6\x1c\x07\x55\x57\x57\xb7\xe5\x9c\xd4\
+\x96\xee\xd8\x49\x29\xd9\x7f\xff\x7d\xc9\xe5\x72\x65\x0d\x95\x96\
+\x20\x11\xe5\x1c\x82\xcd\x3d\xf1\xca\x7e\xdf\x42\x30\x76\xf4\x48\
+\x3a\xdb\x9a\x43\xbf\xbe\x22\x66\x83\x80\xae\xf6\xb6\xb2\xa2\x85\
+\x3d\x67\x4d\x67\xbf\x8f\x48\x0a\x85\x35\x65\xd5\x11\x94\x6e\xc4\
+\xf3\xd4\x80\xd7\xda\x9f\xcb\xb6\x2c\x26\xed\x34\x31\x10\x8d\x0d\
+\x59\x0f\x72\x5c\x97\x39\x07\x1e\xd0\x0d\x40\xdc\xfa\x56\x1d\xdc\
+\x07\xb0\xeb\xba\x4c\x9b\xb6\x6b\x30\x40\xbf\x25\x01\xb1\x62\xcb\
+\xaf\xb6\x54\x8c\xaf\xae\xae\x66\xf6\x7e\xfb\x92\xcf\x17\x42\xdb\
+\xd5\xf3\x3c\x26\x4e\x9c\x80\xe7\x79\x83\xeb\xa4\xb4\xd6\x78\xae\
+\x8b\xf2\xfd\x2d\xfe\x14\xc8\x15\x95\x55\x55\x99\x0e\xc7\x75\x9c\
+\x81\xde\x79\x84\x10\x14\x0a\x79\x94\xef\xa1\x7c\xa3\x1f\xbf\x3f\
+\xfc\xe6\xe8\xaf\x43\xcd\xe7\xf2\xe4\x73\xfd\xd9\x88\xee\x06\x9b\
+\x05\xad\x71\x9c\x02\x5a\x07\x29\xc8\x96\xce\xaa\x9c\xe2\x7a\x75\
+\x3f\xf6\xc2\x80\x9e\xf8\x45\xad\x9c\xd6\xb6\xb6\x40\x54\x61\x2b\
+\xac\x75\x53\x57\xa1\x07\x83\xc4\x60\xbf\x07\x55\xec\xce\x79\xae\
+\x4b\x3a\x9d\x46\xa0\xd1\x6a\xcb\xd6\x2f\x7d\xa5\xc8\x15\x9d\x4d\
+\x39\xeb\x71\x06\xf0\xe0\x51\xfa\xc3\xac\x96\xa2\x6d\xdd\x07\x1a\
+\x21\xb0\x22\x31\x4c\xb9\x63\xf3\xce\x6c\xee\xe9\xe3\xba\x0e\x5e\
+\x21\x8f\x12\x06\xf1\x58\x7c\x48\x2a\xbd\x76\xbb\x2b\xcf\x09\xc8\
+\xf6\x0c\x8b\x78\x3c\x8e\x56\x7a\xc8\xda\xd5\xf3\x3c\x50\x1e\x8b\
+\xdf\x7c\x8b\x59\x33\x77\x03\x35\x34\x97\xaa\x85\x46\x20\xe8\x68\
+\x6b\xc1\x53\xd0\xd8\xd8\x58\x7c\xd0\x0f\xad\x7d\xac\xd1\x18\xa6\
+\x45\x2e\xd3\x85\xd0\x9a\xa5\xff\xfa\x77\xe0\xa4\x84\x10\x08\x29\
+\x8b\x33\x1f\x43\xf3\xf0\x06\x85\x77\x15\x14\xb1\x87\xe8\x99\xed\
+\xb9\x56\xd0\x43\xde\xa6\x3d\xed\x6a\x59\x76\x91\xa3\x6c\x28\xaf\
+\x35\xf0\xc0\xd2\x30\x8a\x05\xfa\xa1\xba\x56\xdd\x2d\xc1\xb6\xf4\
+\xcd\x7f\x61\x76\x4b\x31\xfb\x3e\x43\xfd\x12\x42\x94\x9d\x66\xee\
+\xc0\x41\xc6\xff\x9f\xb5\x0a\x81\xeb\x3a\xfc\x7f\xb9\xfc\x41\xac\
+\xf7\xec\x08\xfb\xf8\xff\x00\x5f\x00\xbd\xb4\x89\xbf\x85\xe7\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x07\x7b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\
+\x67\x9b\xee\x3c\x1a\x00\x00\x07\x0d\x49\x44\x41\x54\x58\x85\xc5\
+\x97\x49\x6c\x1c\x65\x16\xc7\x7f\xef\xab\xea\xcd\x6e\xdb\xe9\xb6\
+\xe3\x71\x1c\xdb\x31\x31\x6d\x07\x05\xc5\x09\x4b\x34\xc9\x44\x80\
+\x66\xc4\xa2\x44\x42\x39\x70\xe4\x80\x10\x20\x84\x10\x52\x0e\x13\
+\x0e\x20\x61\x09\x44\x16\x89\x1c\xb8\xc0\x81\x2b\x42\x82\x03\x17\
+\x92\x81\x64\x32\x08\x65\x63\x11\x0e\x26\x13\x5b\x4a\x3c\xce\x82\
+\xdb\x59\xec\x76\xa7\xbb\xdd\x5d\xd5\xdd\xb5\xcc\xa1\xaa\xab\x17\
+\x5b\x73\x8b\xe6\x93\x4a\x5f\x2d\xaf\xde\xff\x5f\xff\xf7\xbe\xf7\
+\xbd\x12\xd7\x75\x39\x28\xb2\x17\x98\x00\xc6\x81\x30\xf7\x77\x54\
+\x80\x29\x60\xe2\xa8\xeb\x9e\x90\xbf\xc3\xde\xae\x58\xec\xf8\xdf\
+\x1e\x7a\x88\x1d\x43\x43\x44\x74\xfd\xbe\xa2\x97\x2d\x8b\x8b\x37\
+\x6f\x72\x7a\x66\x86\x9c\x61\xec\xd3\x81\x89\xbf\x6e\xd9\xc2\xf8\
+\xc6\x8d\x5c\x99\x9f\x67\x3e\x93\xa1\x6a\x59\x6b\xbe\x2c\x22\x68\
+\x22\x28\xa5\xd0\xfc\x43\x29\x85\x26\x12\x9c\x2b\xa5\x50\xbe\x4d\
+\xeb\xac\x2b\x45\x22\x1e\xe7\xd1\xa1\x21\x5c\xd7\xe5\xeb\x8b\x17\
+\x27\x74\x60\x7c\x7c\x70\x90\xab\xe9\x34\xf9\xe1\x61\x52\xaf\xbe\
+\x8a\x16\x89\xac\x85\x8e\x00\x4a\x04\x44\x50\xfe\x3d\x25\x82\xf8\
+\xcf\xa4\xe5\x9c\xc6\xfb\x00\xd5\x2a\xa5\x33\x67\xc8\xcd\xce\x32\
+\x3e\x38\xc8\xd7\x17\x2f\x8e\xeb\x40\x38\xac\x69\xa4\x33\x19\x52\
+\xaf\xbd\x86\x1e\x8f\xaf\xc6\x6e\x70\x12\xea\xea\x22\xdc\xdd\x4d\
+\x28\x91\x40\xeb\xea\xc2\xb2\x6d\xcc\x4c\x06\x29\x14\xd0\x56\x56\
+\x70\x56\x56\x02\xb5\xa4\x75\x0e\x85\x88\x3f\xf1\x04\xf9\xcb\x97\
+\x59\xe7\xe1\x84\x75\x00\xd7\x75\xa9\xda\x36\xae\x6d\x63\xf9\x0e\
+\x5a\xc1\xe3\x23\x23\x24\x77\xed\x42\x8f\xc5\x56\x11\xec\xec\xef\
+\xaf\xc7\xb8\x58\xe4\xc6\xe9\xd3\x24\x0b\x05\x10\x09\xd4\x0b\x66\
+\xc7\x01\x11\x5c\xd7\x05\x20\x20\x00\x60\x15\x8b\x88\xa6\x35\xc7\
+\x3c\x16\xa3\xf7\xa9\xa7\xe8\x18\x1d\x5d\x33\x2f\x5a\x47\xa4\xbd\
+\x9d\xd1\xe7\x9f\xe7\xc6\xe4\x24\x32\x39\x49\xbb\x52\x75\x70\x11\
+\xc4\x71\x50\xad\x04\x1c\xff\xc2\x2e\x16\xc1\x27\x20\x40\x7c\x78\
+\x98\xfe\xfd\xfb\x09\x35\x84\xc5\xb1\x6d\x96\xe6\xe7\xb9\x33\x37\
+\xc7\xdd\xb9\x39\xda\x22\x11\x12\x43\x43\x74\x0f\x0f\xd3\x3d\x30\
+\x80\xf2\x01\x37\x3d\xf2\x08\xc5\xcd\x9b\xb9\xf6\xd5\x57\xf4\x57\
+\x2a\x01\x01\xd7\x71\x50\x4a\x05\x98\x1e\x01\xc7\x01\xa0\x9a\xcf\
+\x23\xa1\x10\x4a\x04\x3d\x1e\x5f\x05\x7e\xed\xb7\xdf\xf8\xd7\xa7\
+\x9f\xb2\x29\x14\x62\x7d\x3c\xce\x48\x2c\x86\x52\x0a\xb9\x71\x83\
+\xdc\xf7\xdf\x73\x2b\x12\xa1\x6f\xff\x7e\x7a\xb7\x6c\x01\xa0\x7d\
+\xdd\x3a\x1e\x78\xe1\x05\xa6\x3e\xfa\x88\x2d\x89\x84\xa7\x80\xeb\
+\xa2\x44\x02\x4c\x05\x60\xfb\x17\xb7\x4e\x9e\xa4\xba\xbc\x8c\x5d\
+\x2a\xd1\xbf\x6f\x5f\x00\x5e\x35\x4d\xfe\xf1\xf1\xc7\x9c\x3b\x72\
+\x84\x3f\xb7\xb7\xf3\x40\x7b\x3b\x1d\x80\x6b\x9a\xb8\x86\x81\x6b\
+\x18\x44\x2c\x8b\x64\xa9\x84\xf5\xc5\x17\x5c\xff\xf2\x4b\xaa\xe5\
+\xb2\x47\x22\x91\x60\xfd\x73\xcf\x91\xcb\x66\xc1\x34\x11\xd3\x44\
+\x44\x02\x4c\xd5\x14\x82\x5c\x8e\xa5\x1f\x7e\xa0\x63\x64\x84\x75\
+\xdb\xb7\x07\x5f\x7e\xea\x93\x4f\xa8\x5e\xb8\xc0\x63\x3d\x3d\x84\
+\x2c\xcb\x03\x35\x4d\x22\x03\x03\x44\x06\x07\x71\x0d\xc3\x73\xee\
+\xcf\x91\xc9\x49\xf2\xdf\x7c\x13\xbc\x9f\xda\xb3\x87\x74\x77\x37\
+\xf8\x64\x95\x48\x80\x19\x28\xa0\xc0\x93\xb3\x5a\x65\xe8\xc5\x17\
+\xeb\xb2\xff\xfa\x2b\x37\x4f\x9c\x60\x24\x16\xf3\x80\x4b\x25\x1c\
+\xc3\x20\xf9\xec\xb3\xf4\xbf\xf1\x06\x7d\xaf\xbf\x4e\x61\xd7\x2e\
+\x8c\x5c\x0e\xd7\x34\xa1\x54\x02\xc3\xc0\x3a\x73\x86\xc2\xcc\x4c\
+\xe0\xe7\xd1\x97\x5f\xe6\xf2\xfc\xbc\xa7\x40\x83\xea\xaa\x96\x03\
+\xb5\x8a\xd6\x91\x4a\x11\x4e\x26\x83\x84\x3b\xfe\xc1\x07\xec\xe8\
+\xec\xf4\xd8\x97\x4a\x01\x89\xf8\xce\x9d\x81\xf3\x4d\x4f\x3e\xc9\
+\xd5\x3b\x77\xa0\x54\xf2\x48\x18\x06\x18\x06\xe5\xcf\x3f\xc7\xb5\
+\x6d\x00\x62\x5d\x5d\x64\xc3\x61\x9c\x4c\x06\x59\x95\x03\xae\x1b\
+\x94\xd3\x75\xdb\xb6\x05\x8e\xef\x5e\xb9\x42\x78\x66\x86\x68\x0b\
+\x38\xa6\x89\x34\x54\xcb\x70\x2c\x46\xae\x50\x80\x1a\xb8\x69\x82\
+\x69\xe2\xcc\xcf\x53\x4d\xa7\x03\xbb\xe8\x86\x0d\x54\xd3\x69\x94\
+\x08\x76\x63\x08\x1c\xc7\x09\x6a\x79\x57\x03\x81\xf4\xd4\x14\x5d\
+\x8e\x43\x35\x9d\xc6\x5a\x5a\xf2\xe4\xad\x81\x34\x0e\xd7\x85\x4a\
+\x05\xca\x65\xa4\x5c\x0e\x08\x88\x69\xe2\xcc\xcd\x05\x66\xbd\xa9\
+\x14\xf7\x2c\x6b\x0d\x05\x6a\x21\x50\x8a\x8e\x87\x1f\x0e\x5e\x58\
+\xf8\xfd\x77\x92\xa1\x90\xb7\xb6\x0d\x03\x7b\x79\x19\xf7\xde\x3d\
+\xdc\x62\xd1\x03\x6d\x1c\x95\x4a\xf0\xf5\x52\x2a\x41\x3e\x8f\x9b\
+\xcd\x62\x5d\xba\x14\x98\xfc\x69\xeb\x56\x32\xd5\x2a\x4a\xa9\x20\
+\x07\x74\x00\xdb\xb6\xd1\x94\x42\x6a\x55\xcb\x1f\x22\x42\x5c\xd7\
+\x83\xdd\x4c\x03\xc4\xb6\xbd\xaf\x6c\x19\x52\x2e\x23\x86\x51\xdf\
+\x90\xfc\x8d\xaa\xc5\x21\x2b\xb6\xed\x2d\x43\x3f\x37\x14\x80\xe5\
+\x87\x40\x53\x0a\x63\x7a\x3a\xb0\xdf\x38\x3e\x4e\xb1\x41\x9d\xc6\
+\xed\xb6\x75\x28\x1f\x50\x35\x80\x8b\x08\xa1\xb1\xb1\xc0\x66\xf1\
+\xf2\x65\x12\xe1\x30\x4a\x04\xab\x29\x04\xb6\x8d\xf8\xab\xa0\xd8\
+\x40\xa0\x7f\xdb\x36\x0a\xb5\xfc\x68\xd9\xdb\x57\x29\xb0\x06\xb8\
+\x12\x41\x4f\xa5\xea\x04\xa6\xa7\x59\x1f\x89\xac\x56\xc0\x76\x9c\
+\xa0\xd1\x30\x1a\xd6\xee\xfa\x54\x0a\xab\xaf\x6f\xcd\x06\xa3\x55\
+\x83\x46\xd0\xda\xa1\xf5\xf5\xa1\x86\x86\x02\x9b\xcc\xcc\x4c\x9d\
+\x40\x6b\x12\x8a\x2f\x6f\xe5\xfa\x75\x2a\xd9\xac\xf7\x50\xd3\x78\
+\xfc\xfd\xf7\x29\xf8\x3b\x58\x23\x89\x46\xa2\x77\x2e\x5d\x22\xa2\
+\x69\xcd\x21\x50\x8a\xb6\x03\x07\x82\xdd\xd5\xc8\x66\x51\xe9\x34\
+\xba\x52\xab\x0b\x91\x65\xdb\x75\xe7\x22\xa4\x8f\x1e\x0d\x9c\x0f\
+\xef\xde\x8d\xb1\x6f\x5f\xd0\xfd\xd4\xec\x4a\x9f\x7d\xc6\xad\x1f\
+\x7f\xe4\xe6\xf9\xf3\x9c\x3f\x76\x8c\x91\xb6\xb6\x26\xf0\xf0\xde\
+\xbd\xe8\xe3\xe3\x81\x9f\x73\x87\x0e\x31\x16\x8f\x7b\xca\x89\x60\
+\xf9\x21\xd0\x6b\x0a\xa8\x5a\x5f\x27\x42\xe9\xf4\x69\x16\x4f\x9d\
+\x62\xfd\xd3\x4f\x03\xb0\xfb\xed\xb7\xf9\xb7\xae\x93\x38\x79\x32\
+\x20\x61\xcf\xce\x22\xef\xbc\x43\xbe\x5a\x65\x4f\x28\x44\x5b\x34\
+\xda\x04\x1e\x79\xe5\x95\x00\x7c\xf6\xdb\x6f\x29\x9f\x3d\xcb\x58\
+\x6f\x6f\xd0\xa6\xad\x0a\x41\x6b\xa2\xe5\x8e\x1d\xc3\xcc\x64\x00\
+\x08\xc5\x62\xec\x78\xf7\x5d\xc2\x87\x0f\x53\xee\xe9\xa9\xc7\x59\
+\x29\xfa\xa2\x51\xda\x74\xdd\x6b\x5e\x36\x6c\xa0\xfd\xc3\x0f\x89\
+\xbd\xf9\x26\x2a\x1a\x05\xa0\xb4\xb8\xc8\xcf\x47\x8e\xf0\x97\x64\
+\xd2\x03\x6f\x21\xa0\xd7\x42\x10\x0d\x87\x9b\x62\xec\xe6\x72\xdc\
+\x7d\xef\x3d\x7a\x26\x26\x68\xeb\xe9\x01\xa0\x7f\xf7\x6e\x9c\x9d\
+\x3b\x29\x5e\xbb\x46\xe5\xca\x15\xe4\xea\x55\x22\x9a\x86\x36\x3a\
+\x8a\x4a\xa5\x08\x6d\xda\xd4\xd4\x51\x95\x16\x17\xf9\xe7\xc1\x83\
+\x6c\xd7\x34\xda\x43\xa1\x00\xdc\x6d\x0d\x41\x53\x0e\x34\xcc\xf6\
+\xd4\x14\x0b\x2f\xbd\x44\xe4\xad\xb7\x18\x7c\xe6\x19\x4f\x32\x5d\
+\xa7\x23\x95\x82\x86\xe5\xb5\xd6\xf8\xcf\x77\xdf\x31\x79\xf4\x28\
+\x8f\xe9\x3a\x03\x1d\x1d\xf5\xce\xd8\x6f\x4a\x56\x13\x80\xb5\x7b\
+\xf9\x95\x15\xd4\xe1\xc3\xcc\x9e\x3d\xcb\xc6\x03\x07\x88\x25\x12\
+\xff\x13\xd8\xc8\x66\x39\x77\xe8\x10\xea\xc2\x05\xf6\x26\x12\x84\
+\x35\xad\x19\xdc\xb7\x6b\x26\xe0\x38\xb8\xb0\xe6\x7a\xd7\x94\x42\
+\x44\xe8\x38\x7f\x9e\xc5\x73\xe7\xb8\xdd\xdb\x8b\x1a\x1d\x25\x36\
+\x36\x46\xf7\xd6\xad\x80\x57\xe1\x32\xd3\xd3\x54\x66\x67\x89\x2e\
+\x2c\x30\x12\x8b\x31\xd0\xdd\xdd\x14\xf3\xc6\x7f\x84\xaa\x6d\x07\
+\x95\x50\x07\x2a\xa6\x65\x85\x8b\xa6\x49\xb4\xb3\x73\x4d\xf0\x5a\
+\xd2\xb5\x29\xc5\x83\xcb\xcb\xc8\x4f\x3f\xa1\x7e\xf9\x05\xd3\x71\
+\xc8\x59\x16\x09\x4d\x63\x73\x38\xec\xad\xf1\x64\xb2\x0e\xb8\x06\
+\xb8\x88\x90\x5e\x5a\xc2\xf4\xfe\xbe\x2a\x3a\x30\x75\xbb\x50\x78\
+\x5c\xc3\xeb\x84\x93\x9d\x9d\x28\xd7\x45\xfc\xd6\xb9\x26\x59\x6d\
+\xef\x73\xfc\xbf\x22\xc7\x75\x89\x2a\x45\x9b\x5f\xd9\xc4\xbf\x27\
+\xae\x5b\x07\xac\x9d\xfb\xfe\x6c\xdb\x66\x7e\x71\x91\xab\x0b\x0b\
+\xdc\x2e\x14\x00\xa6\x74\x60\xe2\x66\x3e\x7f\xdc\x05\xca\xb6\xcd\
+\x82\x5f\x05\xef\xd7\xb0\x5d\x97\xc5\x52\x89\x3f\xf2\x79\x80\x09\
+\xf9\x7f\xff\x9e\xff\x17\xc5\xd6\x3d\x9a\xb0\xf3\x6b\xe8\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x17\x84\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x0c\x9f\
+\x49\x44\x41\x54\x78\xda\xec\x9a\xe9\x93\x5d\xc5\x79\xc6\x7f\x7d\
+\xf6\xbb\xcc\x5d\xe6\x6e\x73\x47\xd2\x48\x68\x24\x8d\x90\xac\x8d\
+\x45\x20\x22\xbb\x22\x02\x88\x38\x38\xd8\x29\x7f\x8d\xe3\x38\x7f\
+\x5a\xaa\xf2\x25\xe5\x0f\x54\x52\x89\x2b\xf1\x00\xc1\x06\x22\x61\
+\x0c\x32\xc2\x48\x2c\x1a\x18\xcd\x7e\xf7\xf5\xac\xdd\x9d\x0f\xd2\
+\x8c\x67\x24\x04\xa3\x25\x95\xb8\xca\x5d\xd5\x75\x7a\xfa\xdc\xdb\
+\xfd\xbc\xf7\x79\xfb\xdd\x7a\x84\xd6\x9a\x3f\xe6\x66\xf0\x47\xde\
+\xac\x7b\xbd\x10\x42\x88\xd7\x5e\x7b\x6d\xf1\xff\x03\xc8\x57\x5f\
+\x7d\x75\x46\xdf\x43\x55\xac\x6f\xf8\x9e\xe9\x79\x5e\xe3\xa5\x97\
+\x5e\x3a\xf3\xbf\x0d\x50\x6b\x8d\x52\x6a\xeb\xb9\xd9\x5d\xd7\x65\
+\x7e\x7e\xfe\x03\xc0\x04\x92\xfb\x15\x40\x48\x29\x13\x80\x38\x8e\
+\x37\x59\xd9\xf1\xbc\xd7\x78\xfb\xdc\xbd\x00\x6f\xef\xdb\xc1\x6f\
+\x17\xc2\x34\x4d\x6e\x63\x10\xf7\xad\x42\xb7\x81\xe8\xcd\x0d\x37\
+\x9f\x42\x08\xb4\xd6\x2c\x7f\xb5\xcc\x7b\xef\x5f\xe6\xd8\xc9\x13\
+\xf4\x7a\x5d\x4a\xc5\x22\xd7\x3e\xb9\x41\xa1\x90\xe5\xc4\xe9\x13\
+\xac\x35\x56\x79\xef\x57\x97\xf8\xdb\x9f\xfe\x1d\x86\x61\xec\x00\
+\xff\x35\xfb\xdc\xf5\x34\x0c\x03\xc3\x30\xb6\x30\x3c\xd4\x21\xde\
+\xbe\xe9\xe6\x58\x69\x45\x28\x43\x1c\x60\x94\x8c\x51\x0a\xa4\x0a\
+\x88\xc5\x18\xc7\x4a\x41\xa4\xe8\x05\x3d\xc2\x30\x04\x20\x49\x6e\
+\x69\x80\x52\x6a\x6b\x0c\x20\xa5\x44\x08\x81\x52\x0a\x21\x04\x49\
+\x92\x6c\x8d\xb7\x0b\xfe\xa0\x0c\xdc\x05\x7c\x93\x81\x89\x6a\x96\
+\xfd\xfb\x0e\x50\x9c\x2a\x81\x61\x52\x9d\x2c\xe0\x3f\xb6\x9f\x4c\
+\x26\x4d\x2a\x65\x53\x2e\x4f\x71\xea\xc4\x19\xba\x83\x11\x1b\xed\
+\x26\xaf\xff\x72\x9e\xbf\x7c\xf9\x22\x1f\x7f\xfa\x09\xbd\xd5\x0e\
+\x07\x1f\x3f\x84\xab\xe0\xd3\xa5\x05\xce\x3e\x75\x8e\x8f\xae\x5e\
+\xe7\xf0\xc1\xbd\xbc\xff\x9b\xcb\xcc\x1e\x9a\x63\x6e\x6e\x6e\x93\
+\x81\x07\x17\x60\xf3\x17\xd8\x54\x9d\xed\x63\x2b\x86\x6c\x3a\x8b\
+\xa3\x1c\x1c\xcf\xc5\x70\x5c\xb2\x99\x09\x6c\xcb\x02\x2d\x10\xa6\
+\x24\xe5\x65\xa8\xe4\x32\x28\x2b\xc7\x93\x67\xcf\x50\x2d\x57\xd0\
+\x5a\x33\x9c\x1e\xb3\x6f\xaa\x8e\xd4\x0e\x86\x63\x51\x2c\x94\x98\
+\x3b\xb4\x97\x72\xb9\xce\xec\xec\x11\xaa\xf5\x3d\x5b\xe0\xbf\x8d\
+\x05\xe3\x7e\x2c\xc5\xf6\x16\x69\xc5\x4a\xa3\x41\x7f\x34\xa6\xdd\
+\x6b\x30\xea\xfa\xac\x36\x36\xe8\x74\x1a\x68\x99\xe0\x8f\x02\x1a\
+\x8d\x36\xbd\x41\x80\xdf\x1f\xb1\x7c\xbd\x41\x1c\x85\x74\x9a\x5d\
+\x5a\x8d\x16\xcd\x76\x8b\x76\xa7\x41\xab\xd3\x45\xe9\x98\x6e\xa7\
+\x4f\x1c\x4a\xda\xdd\x16\xc1\x68\xb0\x2b\xf5\xd9\x15\x03\x9b\xc0\
+\xdb\xed\x16\x9f\x5c\xfd\x1d\x09\x16\xa7\x4e\x1f\x47\x08\x1b\x22\
+\x1f\xa5\x62\xcc\xd8\x24\xc0\xc7\x08\x05\xb1\x27\x91\x0a\x94\xd2\
+\x44\x61\x08\x5e\x88\x8a\x3d\x42\x67\x84\x12\x82\x38\x49\x48\x74\
+\x8c\xe1\x99\x98\xa1\x46\x0e\x87\xa0\x15\xb1\x0c\x30\xdd\x18\x95\
+\x68\x20\xd9\x62\xfc\x91\x30\xa0\xb5\x46\xa2\x91\x18\xa8\x24\x46\
+\x27\x10\x87\x11\x89\x94\xf4\xe3\x88\x41\x34\x22\x0c\x63\xba\x61\
+\x87\x60\x04\x49\x14\xe1\x47\x63\x82\x68\x40\xbf\x1b\xa1\x12\x45\
+\x38\xd0\xf8\x63\xcd\x38\x1e\xd2\xef\x85\xf8\x4d\x9f\x91\x1f\xe1\
+\x1b\x1e\x3a\xd6\x20\x13\xe2\x61\x42\x24\x25\x51\x2c\xbe\x55\xf7\
+\xef\x69\x93\x37\x3b\x60\xcf\xcf\xcf\x5f\x52\x4a\xe9\xf1\x78\xbc\
+\xd5\x7d\xdf\xd7\xbe\xef\xeb\x20\x08\xb6\x7a\x18\x86\x3a\x0c\x43\
+\x1d\x45\x91\x8e\xa2\x48\xc7\x71\xbc\xd5\x93\x24\xd9\xea\x52\x4a\
+\x2d\xa5\xd4\x4a\xa9\xad\xbe\xbd\x6d\xce\x49\x29\x75\x92\x24\x5a\
+\x6b\xad\xe7\xe7\xe7\x2f\x01\xf6\xbd\x70\x1a\xbb\xd5\xfd\x71\x30\
+\x66\x75\x65\x95\xd5\xf5\x55\xa4\x8c\x49\x12\xc9\xe2\xca\x22\x71\
+\x24\xe9\xf7\x7a\x44\x32\xa1\xb1\xbe\x4e\xa3\xd9\x45\x68\x83\xc8\
+\x1f\xb1\xb4\xbc\x44\x1c\x2b\x84\x12\x2c\x2e\x2d\x21\x91\x34\x9b\
+\x2d\x56\x56\x56\x08\xfc\x80\x38\x08\x59\x5a\xba\x89\x94\x92\xe6\
+\x46\x03\x29\x25\x37\x17\x17\x19\x8d\xc7\xbb\x66\x60\x57\x66\x54\
+\x6b\x4d\xb7\xdb\xe7\xbd\x4b\x97\x49\x0c\xc9\xb9\xb3\xe7\x48\x94\
+\xe2\x3f\x7f\xf1\x2f\x9c\x7e\xe6\x2c\xcd\x9b\x6d\x6a\xf5\x12\x57\
+\xae\x5c\x21\x9b\xab\xf2\xca\x0b\xdf\xe3\xea\xc2\x27\xbc\xfe\xcb\
+\xb7\xf9\xf1\x8f\x7e\x80\xe1\x78\xfc\xe2\xdf\x7e\xce\xdf\xfc\xf0\
+\x67\x5c\xf9\xed\xdb\xac\x35\x1b\x1c\x3f\x75\x92\xb4\x72\xf8\xe0\
+\xda\x55\x5e\xb9\xf8\x0a\x97\xdf\x7f\x97\x63\xc7\x4e\xf0\xab\xd7\
+\xff\x8b\xa3\x27\x8f\xf1\xf4\x53\x4f\xef\xca\xab\x5b\xbb\x65\xa0\
+\x32\x99\xe3\xe4\xa9\x53\xa4\x1c\x93\xa9\xda\x14\x18\x9a\xe7\x9f\
+\x7f\x91\xfd\xfb\x66\xe9\xee\xf1\xc9\x15\x53\xcc\x54\x67\x70\x0a\
+\x16\x99\x42\x89\x27\xf2\x67\x29\x7b\x15\x1e\x9b\x3d\x84\x00\x5e\
+\xba\xf0\x23\xea\xf5\x12\xde\x73\xdf\xc3\x4f\x02\xa6\x26\xcb\x48\
+\xa5\x29\xd4\x26\xc9\x57\xb2\x3c\xf1\xc4\x33\x4c\x96\x0b\x9c\x3b\
+\xff\x67\xd4\xea\xb5\x5d\x33\x60\xec\x96\x81\x71\xa8\x18\xf9\x03\
+\x1a\xfd\x0e\xc3\x70\xc4\x70\x38\xa2\xd9\x1e\x30\xea\x77\xe8\x35\
+\xd6\xf1\x1b\x43\x96\x1a\x2b\xb4\xd6\x9b\xa8\x30\xa4\xd3\x69\x72\
+\x73\x63\x05\x7f\xe4\xe3\xcb\x98\x56\x77\x8d\x38\x89\xe9\x75\x5b\
+\x34\x5b\x0d\x1a\x1b\xeb\x0c\xc6\x63\x5a\x9d\x16\x32\x4e\x68\x34\
+\x56\xe9\xb4\x3b\x2c\xaf\xad\x92\xcb\xe5\xbe\xd6\x99\x3e\x14\x03\
+\xbe\x3f\xa0\xd1\x6c\xa0\x62\xa8\x56\xea\x08\xad\x59\x59\xfe\x92\
+\xc9\xbc\x47\xab\xdd\x27\x34\xc7\xdc\x58\xfd\x8c\x89\x46\x8d\x6a\
+\x6d\x0f\x9d\x9b\x2d\x16\x6e\x7c\xce\x81\x83\x75\x5c\x5c\xbe\x5c\
+\xfc\x92\x83\xb3\x73\x5c\x5b\x5c\x42\xf6\x07\xb8\x47\x1d\x8c\xd1\
+\x90\xe5\xa5\x25\xf6\xd6\xf7\x81\x6d\x53\xab\xd6\x6e\xb1\x7b\x1f\
+\x4d\xdc\x2b\x23\x13\x42\xd8\x6f\xbc\xf1\xc6\xaf\xcf\x9f\x3f\x7f\
+\x36\x08\x82\x6f\x8c\x44\x77\x1b\x9d\x3e\xc8\xe7\xde\x7c\xf3\xcd\
+\xcb\x17\x2e\x5c\x38\xaf\xb5\x8e\x1f\x88\x81\xcd\xd6\xeb\xf5\x58\
+\xbe\x6d\x49\x0e\x3e\x76\x04\x19\x87\x7c\xf6\xd9\x0d\xf6\xcc\xd4\
+\x09\x46\x63\xd2\x99\x2c\x1b\xeb\x1b\x08\xcb\xe4\xc4\xdc\x49\x56\
+\x37\x6e\x72\x63\x61\x81\x33\x27\x8e\x83\xed\x70\xe5\xb7\x1f\xf0\
+\xcc\x93\xdf\xe5\x8b\x9b\xd7\x19\xc5\x21\x7b\xab\x53\x58\xa6\xc9\
+\xda\xd2\x02\x87\x8f\x9d\x66\xe5\xe6\x02\xe5\xda\x34\x9f\xfd\xfe\
+\x33\x0e\x1c\x9c\xa1\x5a\x9f\xda\xd5\x39\xd8\xb5\x19\x8d\x65\x42\
+\xaf\xdb\xa6\xdd\xf5\x89\x82\x00\x4b\x6b\x56\xdb\x0d\x74\xa2\xe8\
+\xb6\xbb\xf8\x61\x42\xb7\xdb\x47\x8e\x22\x62\xc3\x47\xa2\x69\xb4\
+\x3a\x84\x81\x89\x4c\x12\xd6\xfa\x6b\x24\x0e\x44\xa3\x80\x7e\xbb\
+\x45\x34\x1e\x33\x0a\x62\x9a\xad\x1e\x08\xc5\x7a\x77\x40\x62\x9a\
+\xb4\xfb\x0d\x86\x7e\xf8\x68\x73\x62\xad\x35\xae\xe9\x80\xb2\xb1\
+\x08\x31\x0c\x45\xa0\x24\xb6\x8e\x49\x44\x8c\x69\x29\x6c\xc3\x24\
+\x4e\x42\xfc\x24\xc6\x32\x3d\x92\x30\x42\xc6\x11\x91\x1b\xa0\x4d\
+\x17\x1d\xc4\x58\x28\x24\x31\x68\x03\x65\x0a\x10\xb7\x3c\xbc\xc0\
+\xc4\xd5\x12\xc3\x08\x40\x98\x28\x15\x3f\x7c\x4e\x7c\x97\x10\x86\
+\x62\x62\x32\x8d\x50\x39\x2c\x27\x85\x63\x98\x54\x8b\x65\x72\x6e\
+\x06\x55\x48\x30\x53\x16\xd5\xd2\x24\xae\xe5\x61\x0a\x81\x97\xce\
+\x52\x9f\xaa\x52\xf4\xb2\x08\x61\x53\x28\x4c\x63\x61\x92\x2b\x4e\
+\x62\x09\x93\x74\xba\x80\x09\x14\x72\x53\x78\xa6\x81\x5b\x28\xe0\
+\x90\x62\x32\x5f\x24\xed\xa6\x77\x44\xc0\x0f\x2c\xc0\x76\x97\x6d\
+\x59\x16\x13\xe9\x0c\xda\xb0\xb1\x0d\x13\x6d\x24\xa4\xab\x25\x94\
+\x99\xc2\x75\x14\x59\xd3\x22\x2e\x16\x30\xa4\x41\xa2\x14\x9e\x6b\
+\x33\x59\xce\x92\x48\x48\x19\x11\xa5\x3d\x55\x84\xad\x30\x5c\x83\
+\x7c\xbe\x88\x6d\x81\x69\x5b\x54\x6b\x05\x12\x14\xe5\xdc\x24\xa6\
+\x16\xe4\xcb\x93\xa4\x27\x52\xdf\x98\xc1\xed\xb6\x2a\xb1\xe3\x6f\
+\xd7\xf1\xd8\xb3\x6f\xff\x56\x74\x28\x84\xcd\x91\xfd\xb3\xb7\xc6\
+\xf9\x0c\x00\xd9\x42\xe1\xf6\xae\x8a\x42\xa1\x40\x3e\x7f\x0a\x21\
+\x6e\x05\x66\xa7\xe7\x1e\x47\x6b\xc1\x81\xe9\x03\x3b\xd6\xcf\x65\
+\x27\x00\xa8\x4d\x55\x01\x38\x78\xe0\xc0\x8e\x28\xf8\xdb\x7c\x81\
+\xb5\x9b\x64\x06\x60\x75\x7d\x95\xcb\x6f\x5f\x42\x5a\x8a\xb3\xcf\
+\x9e\x47\x84\x31\xff\xfa\xef\x3f\xe7\xe9\xa7\x9e\x65\xb9\xd9\x67\
+\x5f\x35\xc7\x6f\xfe\xfb\x03\x26\xca\x93\xbc\x7c\xf1\x22\x1f\xfd\
+\xee\x06\xf3\x6f\xff\x07\x3f\xfe\xe1\x5f\x53\x70\x72\xfc\xe3\x3f\
+\xff\x13\xff\xf0\xb3\x9f\xf0\xde\x3b\xef\xd3\x6c\xaf\x70\xf4\xf8\
+\x19\xd2\x8e\xc7\xb5\xdf\x7f\xc4\x0b\xdf\xbf\xc8\xfb\x97\x3e\xe4\
+\xf1\xef\x1c\xe5\xdd\x77\x7e\xcd\xc9\xd3\xc7\x39\x7d\xf2\xa9\xbb\
+\xb0\x3c\x90\x00\x9b\x42\x4c\x4c\x4c\x72\xec\x3b\xc7\x10\x18\x4c\
+\x55\x4b\x58\x31\x9c\x7b\xee\x45\x8e\xcd\xcd\x32\xdd\x6e\x31\x39\
+\x59\xa3\x58\xa8\xe0\x7a\x59\x6a\xe5\x0a\x99\xd3\x1e\xa5\xb2\xcd\
+\xa9\xc3\xc7\x11\xae\xc5\xcb\x17\x5e\x64\x6f\x7d\x06\x71\xde\x65\
+\x3c\x1a\xb1\x77\x7a\x0f\xd2\x86\x4c\xde\xa3\x52\xae\x72\xe2\xe4\
+\x1c\xf5\xfa\x34\xe1\x99\x27\x28\x95\x6b\x3b\x18\x78\x20\x01\xee\
+\xd4\x41\x43\x28\x0c\x1b\x0c\x09\x3a\xd1\x44\x96\xc2\x30\x63\xc2\
+\x30\x80\x44\x63\x84\x92\x24\x49\x70\x74\x44\x12\x4b\x12\x9d\xa0\
+\xc6\x21\x03\x1d\x92\x13\x60\xd8\x36\xc2\xd0\xc4\x63\x9f\x76\x7b\
+\x09\x53\x49\xb4\x67\xb0\xbe\xd6\x61\xba\x16\xb0\xde\x69\x93\xce\
+\xe4\x68\x35\x37\x98\xc8\x4c\x3c\x1a\x2b\xa4\x94\xfa\x43\x42\x93\
+\x48\x46\x03\x89\x69\x29\x54\x12\x43\xa2\x09\x7a\x11\xc9\x8c\x20\
+\x48\x22\x46\x32\x20\x8e\x12\x7c\xc3\x47\xd8\x1a\xa9\x4d\xbe\xea\
+\x75\x98\x19\x0e\x58\xed\xb4\xb9\xf2\xd1\x87\xec\x3f\x38\xc3\x27\
+\xd7\xaf\xf3\xf2\xcb\x2f\x6e\xed\x31\xbb\xef\x20\x00\x4f\x9f\x7e\
+\x12\x80\xf3\xdf\xfb\xf3\xad\xc2\xc1\x76\x0c\xf7\x2d\x80\x6d\xdb\
+\x3b\x18\x90\x71\x48\xb7\xb3\x8e\xc0\x26\x9c\xaa\xa1\xb4\xe2\xab\
+\xd6\x32\x53\xcd\x0a\xed\xd6\x1a\x60\xb0\xb0\xf0\x05\x85\x52\x99\
+\x43\x07\x0e\xd3\x6a\xaf\xb1\xf6\xe9\x17\xe4\x9f\x7f\x11\xc3\x30\
+\xf8\xfb\x9f\xfe\x04\x80\x8b\x17\x5f\xb8\xab\xc2\xb1\x1d\xf0\xf6\
+\xb9\x3b\xb1\x3c\x94\x1f\xb0\x5d\x8f\xa9\xfa\x34\x42\x08\x32\xf9\
+\x34\x52\x6b\x8e\xee\x3b\x4c\xb5\x58\x41\x1a\x26\xd3\xf5\x3a\x4a\
+\x26\xd8\xb6\x8d\x9d\x72\x29\x56\xa7\x78\xfc\xf4\x49\x6c\xc3\x22\
+\x51\x31\x9f\xdf\x58\x64\xf6\xc8\x2c\xcd\xe5\x35\x42\x19\x51\xc8\
+\x15\xc0\x80\x6e\xa7\xcd\xcc\x9e\x19\x36\x5a\x0d\xf2\xb9\x49\x56\
+\xd6\x6e\x52\x29\x57\xc8\xe7\xf3\x8f\xc6\x13\x6f\xfa\x81\x38\x49\
+\x88\xe2\x84\x38\x8e\x09\x23\x05\x12\xc6\xd1\x88\xa1\xf2\xd1\x89\
+\x62\x38\x0a\x08\x47\x03\xfc\x38\x41\xe9\x04\xd3\x8f\xd0\x31\xf4\
+\x07\x3d\x06\x72\xc8\xc2\xc2\x35\x44\x1c\xd3\xe9\x35\x58\x5a\x5c\
+\xc4\x1f\xf4\xf0\x83\x3e\x6b\x2b\x2d\xfc\x38\xa6\xd9\xd8\xc0\x1f\
+\x87\x6c\x34\xd6\x19\x0e\x87\x0f\x1f\x4a\x6c\xcf\x05\xb4\xd6\x24\
+\x51\xc4\x7a\x6b\x9d\x8d\x66\x83\x60\x30\xa2\xd3\xef\xb3\xb1\xb2\
+\x41\xa7\x3b\xa0\xd1\x5c\x67\xd4\xeb\xf1\xc5\xd2\x32\x6b\x4b\xab\
+\x44\xa3\x31\xeb\xcd\x0d\xae\xdf\xf8\x82\xae\x1f\xa0\x86\x8a\x8d\
+\x46\x8b\x71\x18\xd0\x1a\x8c\xe8\x0d\x87\x8c\xc3\x90\xc1\xc0\xa7\
+\xdd\xdf\x20\x0a\x63\x06\x83\x11\x51\x32\xa6\xd3\xee\x11\x84\xfe\
+\xc3\xfb\x81\xbb\x4a\xd5\x86\x45\xa5\x58\x20\x89\x4c\x6c\xcf\x25\
+\x6d\x28\x26\xcb\x93\x14\xd3\x39\x64\x29\x66\x22\xeb\xb1\x6f\xef\
+\x14\x29\x23\x8f\xe9\xa5\x98\x2c\xe7\x39\x74\x60\x9a\x94\xeb\xe0\
+\x39\x69\x0e\x4c\xd7\x49\xb9\x2e\xb5\xc9\x12\x69\xc7\xc0\x4b\x7b\
+\x18\x86\x45\xad\x52\x26\xe3\x19\x14\x2a\x45\x1c\xdb\xa5\x5c\xaa\
+\xe2\xb9\xa9\x47\x1f\x0b\x09\x53\x60\x99\x69\xec\x9c\x04\x34\x71\
+\x02\x76\xda\x24\x52\x31\x8e\xb0\x08\xe2\x98\x44\x4b\x2c\x53\x32\
+\x0e\x24\x23\xa9\xb0\x2d\x0f\x15\x27\x44\x8c\x30\xcd\x3c\xc3\x20\
+\x40\xc7\x26\xb6\x69\x01\xd6\xad\x0a\x9f\x9b\x22\x8a\x0d\x6c\xdb\
+\x44\x18\x1a\xd7\x75\x31\x2c\xe3\xd1\x09\xb0\xa9\x42\xd9\x6c\x96\
+\x23\x47\xb2\x3b\x28\x3d\x73\xe2\xc9\x1d\x49\x48\xb5\x5a\xbd\x3d\
+\x86\xe9\x4a\x95\xe9\x4a\x75\xeb\xfd\xd9\xe7\xce\x20\x84\x20\x7b\
+\x64\x06\x98\xd9\x9a\xaf\x54\x2a\xb7\x42\x88\xec\xad\xb0\xe4\xc4\
+\x89\xfc\x0e\xab\xf4\x30\x37\x34\x3b\x16\x69\x35\x1b\x7c\x78\xe5\
+\x63\x2c\x21\x39\x7e\xf2\x14\x5a\x69\x2e\x5f\x7a\x97\xc7\x8e\x1c\
+\xa2\xdb\x6b\x52\x2c\x54\xf8\xfc\xfa\xa7\x14\x33\x45\x9e\x38\xfb\
+\x2c\xcb\x37\xbf\xe4\x9d\xcb\x97\xf8\x8b\xef\x5e\xc0\x9b\x70\x79\
+\x73\xfe\x0d\xfe\xea\x07\xdf\xe7\xea\x47\x1f\xd3\xee\xf7\x38\x3c\
+\x77\x10\x4b\x5a\xdc\x58\xb8\xc1\xd9\x73\x67\xb9\xf6\xe9\xe7\xcc\
+\xec\xdd\xcb\xd5\xab\x1f\x33\x3b\x3b\xcb\xdc\xdc\x91\xbb\xea\xb2\
+\x0f\xe5\x89\x53\xb6\x47\xa9\x54\xc0\x30\x0d\x52\x4e\x0a\x29\xa0\
+\x5e\x9d\x66\xba\x54\x23\xed\xa4\x99\x28\x14\x09\xfc\x88\x89\x8c\
+\x47\xa6\x90\xa1\x38\x2e\x73\xf4\xe8\x41\x0a\xd3\x45\x1c\xc7\x65\
+\x7a\xef\x3e\x52\xb9\x09\xca\xb5\x2a\x29\x2f\x43\x69\xa2\x44\x88\
+\xa4\x36\x5d\xc5\x75\x32\x14\x0a\x05\xb2\xd9\x2c\xa5\x52\x11\xcf\
+\xb3\x1f\x9e\x81\x3b\xef\x04\xb4\x69\x90\xc9\xa4\x50\x86\x89\xe1\
+\x08\x94\x14\xb8\x19\x0f\xc3\x32\x31\x6d\x03\x47\x9b\xe4\xb2\x13\
+\xb8\xae\x8d\xa9\x34\x76\xca\xc6\x49\xa7\xf0\x4c\x0f\x62\xc8\xe5\
+\xd2\x88\xd8\xc0\xf3\x3c\x94\x92\x98\xb6\xc5\x04\x06\x63\x27\x03\
+\x86\xc4\x34\x6c\xa2\x38\x26\x89\x13\xf2\xf9\xd2\x37\x16\x96\x1f\
+\x48\x85\xa4\x52\x44\x71\x02\x42\xa1\x43\x09\x5a\x12\x45\x11\xa3\
+\xd0\x27\x8a\x14\xbe\xe7\x33\x18\x0e\x20\x70\x19\x8e\x22\xc6\x81\
+\x8f\x1c\x27\x0c\x47\x03\x4c\xc7\xc1\x8f\x63\xc2\x78\x48\x22\x63\
+\xfc\x71\x4c\x10\xfa\x08\x61\xe0\x13\x11\x46\x31\xf9\x7c\x86\x4a\
+\xb9\x4c\xf5\xf6\x99\xd8\x0e\xfe\x91\xa8\x90\xe7\x38\x4c\x95\xaa\
+\x28\x61\x60\xb8\x0e\x96\x09\x7b\x66\xf6\x32\x91\xcd\x93\x49\x85\
+\x38\xb6\x8b\x35\x63\x61\x5b\x16\x29\x17\x0c\x23\x47\xea\xe8\x1c\
+\xb5\x5a\x19\x2d\x61\xee\xd0\x21\x52\x19\x8f\x92\x2c\x93\xcf\xe6\
+\xc9\xe4\xb2\xe8\x44\xe0\xd8\x0e\x69\x27\x83\x6d\x58\x77\x5d\x63\
+\x3d\x32\x33\xaa\xb5\xc6\x72\x6c\x8a\x95\xd2\x0e\x2b\x54\x29\x55\
+\x10\x42\x90\xf2\xdc\x5b\xe7\x24\xed\x6d\xbd\xf7\x2c\x0b\x2f\x95\
+\x66\x75\x7d\x83\xb4\x9b\xa1\x38\x59\x42\x20\xc8\xe5\xec\x3f\xac\
+\xe1\x42\x2a\xe3\x22\x84\xc0\xc1\xda\x01\xfe\x51\x55\xe6\xc4\x66\
+\x46\xb5\xb9\xe9\x37\x8d\xef\x9c\x4b\x92\x84\xce\xea\x1a\xfd\x5e\
+\xef\x81\xd6\xd8\xc4\xf0\xc0\x66\x54\x29\x85\x94\x72\x47\x48\x7b\
+\xaf\x82\xd4\xd7\x45\x94\xa6\x69\x72\xf8\xd8\xf1\xad\xb0\xf8\xce\
+\x5f\xf7\xce\xcf\xdf\xb9\xee\xe6\x75\xeb\x03\x9d\x81\x30\x0c\x93\
+\x20\x08\xea\x6f\xbd\xf5\xd6\xd2\xff\xf1\x45\x7d\x3d\x0c\xc3\xe4\
+\xbe\x4b\x8b\x7f\xfa\x67\x8f\x3f\x09\xb0\xbb\xf6\x3f\x03\x00\x82\
+\x5e\x1a\xab\x04\x6d\x7c\x63\x00\x00\x00\x00\x49\x45\x4e\x44\xae\
+\x42\x60\x82\
+\x00\x00\x5a\xec\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x94\x00\x00\x00\x77\x08\x02\x00\x00\x00\x6a\x8e\xfe\xaf\
+\x00\x00\x0a\x45\x69\x43\x43\x50\x49\x43\x43\x20\x70\x72\x6f\x66\
+\x69\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\
+\xde\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\
+\x80\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\
+\x11\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\
+\x0c\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\
+\x7b\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\
+\xb3\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\
+\x11\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\
+\x08\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\
+\x07\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\
+\xff\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\
+\x80\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\
+\x53\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\
+\x7f\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\
+\xa0\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\
+\x45\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\
+\x57\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\
+\x30\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\
+\x99\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\
+\x99\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\
+\x1e\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\
+\x99\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\
+\x83\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\
+\xbf\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\
+\x74\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\
+\xee\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\
+\xe9\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\
+\xe4\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\
+\x57\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\
+\x81\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\
+\xdc\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\
+\x58\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\
+\x42\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\
+\x00\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\
+\x58\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\
+\x68\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\
+\x92\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\
+\x44\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\
+\xdc\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\
+\x80\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\
+\xd4\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\
+\x3d\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\
+\x13\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\
+\x21\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\
+\x48\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\
+\x46\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\
+\x51\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\
+\x74\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\
+\xd0\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\
+\x6c\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\
+\x0c\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\
+\x12\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\
+\x58\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\
+\x51\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\
+\x31\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\
+\x37\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\
+\xd2\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\
+\xda\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\
+\xe4\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\
+\xe2\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\
+\x41\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\
+\xb6\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\
+\xa5\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\
+\xdd\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\
+\x77\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\
+\x19\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\
+\xeb\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\
+\x0a\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\
+\x0b\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\
+\xe3\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\
+\x3b\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\
+\xc3\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\
+\x19\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\
+\xd9\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\
+\x33\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\
+\x74\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\
+\x1b\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\
+\xab\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\
+\xfb\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\
+\x53\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\
+\xa5\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\
+\x4c\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\
+\xa7\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\
+\x35\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\
+\x61\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\
+\x8c\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\
+\x26\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\
+\x4c\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\
+\x9b\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\
+\x65\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\
+\x58\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\
+\xa7\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\
+\xb7\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\
+\x67\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\
+\x0d\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\
+\xde\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\
+\xcf\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\
+\x17\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\
+\x9b\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\
+\x9d\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\
+\x9f\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\
+\xd1\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\
+\xe7\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\
+\xef\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\
+\x5f\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\
+\x7f\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\
+\x81\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\
+\xf6\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\
+\xc1\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\
+\x0e\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\
+\x85\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\
+\xd1\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\
+\xaf\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\
+\xc6\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\
+\xae\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\
+\x17\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\
+\x12\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\
+\x8c\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\
+\x36\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\
+\x91\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\
+\x4c\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\
+\x31\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\
+\x66\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\
+\xc9\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\
+\xd7\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\
+\x2b\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\
+\x12\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\
+\xb2\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\
+\x8a\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\
+\x6b\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\
+\x7d\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\
+\x1b\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\
+\xe5\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\
+\x66\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\
+\x6e\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\
+\xcd\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\
+\xce\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\
+\x61\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\
+\xf7\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\
+\xfb\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\
+\x71\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\
+\xd2\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\
+\x77\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\
+\xf7\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\
+\x76\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\
+\x62\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\
+\x9c\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\
+\xf2\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\
+\xe7\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\
+\xe7\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\
+\x57\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\
+\x9c\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\
+\x1b\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\
+\xdd\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\
+\xce\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\
+\xd9\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\
+\xa0\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\
+\x05\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\
+\x72\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\
+\xae\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\
+\x97\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\
+\x1e\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\
+\xef\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\
+\xd0\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\xef\x35\x94\
+\x82\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\xc4\x00\x00\x0e\
+\xc4\x01\x95\x2b\x0e\x1b\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\
+\x05\x1c\x0c\x21\x0f\x3e\xf0\x71\x06\x00\x00\x20\x00\x49\x44\x41\
+\x54\x78\xda\xec\xbd\x79\x94\x65\x59\x59\x27\xfa\xfb\xbe\xbd\xf7\
+\x99\xee\x18\x71\x63\xcc\xcc\xca\xca\x9a\x8b\x2a\x8a\x2a\x28\x8a\
+\xb9\x50\x14\x15\x27\x44\xa4\x97\xd0\x8a\xae\xf5\x14\x64\x70\xa0\
+\x9f\x13\x3c\x01\x11\x15\xb1\x45\x5b\x6d\xdf\x5b\x4f\xdb\xd6\xf5\
+\x6c\xd0\x7e\x8f\xc9\x81\x49\x50\x10\x81\x42\xa1\x26\x0a\xaa\xa8\
+\x39\x2b\xe7\xc8\xc8\x18\xef\x70\xa6\x3d\x7c\xef\x8f\x73\x23\x33\
+\x32\xab\xb0\xdb\x3f\x2a\x0b\x93\xbe\xeb\xae\xc8\xc8\x88\xb8\x67\
+\x9f\xb3\x7f\xfb\x9b\x27\x12\x11\x3c\xae\x2f\x01\x08\x40\x00\x3c\
+\x10\x80\x00\x68\x80\x00\x06\x78\xe7\xb7\x00\x1c\xe0\x01\x83\xc0\
+\x00\xc0\x43\x60\x04\x58\x20\x05\x06\x08\x5a\x3c\x88\x10\x00\xb0\
+\x63\xb6\x00\x80\x18\xc2\x67\x16\x3a\xb3\x4a\xf3\x0d\x37\xab\x88\
+\x30\x64\x67\x11\x41\x10\x10\x81\x00\x9c\xf9\xa8\x77\x36\x68\x63\
+\x20\xbb\x2f\x05\xa1\xd3\xdf\x7e\x9d\xbe\xf4\x79\x5c\xab\xd9\x87\
+\xd3\x7b\xc6\x67\xa3\xcb\x38\xbd\x79\xd3\xff\x6a\x40\x03\x29\x44\
+\x43\x40\x04\x10\x58\x01\xf0\x80\xb7\x3e\x20\x68\xc5\xcc\xaa\x81\
+\x0a\x3b\x98\x35\xab\x98\x66\x09\x11\x01\x84\x98\x4e\x2f\x44\x02\
+\x00\x21\x40\x3c\x08\x9e\x35\x01\xa2\x23\x35\xbd\x0d\xc1\xbf\xa1\
+\xd7\x79\x03\x8f\x77\xa8\x01\x3b\x64\x77\xce\x4e\xf1\x94\x2e\x99\
+\x01\x07\x10\xd0\x02\x0c\x10\x23\x4c\xf7\xdd\x0b\x14\x26\x40\xd9\
+\x5c\x81\xc9\x30\x03\x18\x03\x15\x60\x00\x05\x44\xc0\x94\x80\x76\
+\x18\x0a\x11\x07\xc0\x01\x0e\xe4\x01\x45\x48\x01\x90\x82\x40\x04\
+\xbe\x01\x14\x08\x20\x40\x78\x0a\xfd\x19\x9a\x0b\xbb\x29\xf4\x1b\
+\x0f\x3c\x3a\x07\x1e\x4c\x19\xe6\x63\xb0\x56\x0d\x84\x1d\xfe\xc9\
+\x80\x86\x18\xc8\x14\x63\xef\x41\x3a\x08\x4a\x42\x0d\x68\xad\x0c\
+\xc9\xe9\x05\xd4\xae\x6b\x06\x10\x37\xc8\x00\x20\x3e\x77\x75\x81\
+\x17\x21\x66\x10\x02\x81\x04\xde\x87\x40\xa4\x98\xb0\x8b\x99\x86\
+\x5d\x5f\xf1\x75\x8b\xdf\xf9\x64\x9b\x67\x63\x26\x8f\x12\x8d\xd3\
+\xcd\x0e\x3b\x7f\xa9\xa6\x3f\x6f\xa8\x83\xc1\xcc\x00\x59\x58\x88\
+\x37\x14\x83\x50\xe4\x21\x4d\x5b\xbb\x8e\x88\x03\x2c\x10\x40\x01\
+\x0a\x10\x26\x32\x80\x9e\x8a\x46\x89\x41\x10\x71\x3e\x14\x41\x48\
+\x2b\xdd\x60\x49\xc4\x44\xcd\x4a\x61\x17\x60\xf2\xbf\xd8\xe6\x63\
+\x21\xf4\x3f\xd0\x6e\x34\x76\xf3\xab\x1d\x16\xbb\xf3\xd9\xd8\x40\
+\x84\x3c\xe0\x80\x22\xcd\xd2\x33\xbb\x8d\xe6\xb3\xb2\xf3\xd9\x40\
+\xa4\x76\xf3\x67\x09\x10\x80\xb5\x30\x9f\xbe\x28\x7c\x60\x02\x2b\
+\x52\xb2\x4b\x53\x79\x4c\xbe\xf1\x75\xf8\xa2\xc7\x5d\xdb\xfc\x17\
+\x90\xa3\xb3\x7f\x75\xce\xa6\x51\x98\xc2\x20\x53\x36\x28\x02\xd6\
+\x00\x2a\x8f\xf1\x78\xb2\x69\x22\xca\xcc\x0c\xd0\x39\x2d\xe7\xfe\
+\xe5\x57\x08\x08\x12\x98\x73\xeb\x4a\x62\x13\xe9\x4c\xa0\xbc\x27\
+\x11\x62\x7d\x9a\x39\x04\x20\xd0\xd7\xe2\x16\xdf\x78\x94\x17\xa6\
+\x26\xc1\x19\xde\xb8\x1b\xb9\x30\xe5\x96\x72\x0e\xff\x9c\x12\x06\
+\x60\x41\x1a\x64\x48\x60\x6b\x18\x06\xb1\x1a\x0e\xc7\x0f\x3e\x7c\
+\x8f\x89\xdd\x81\x03\x17\xf7\xd3\x01\xc0\x20\xb5\xa3\x9d\x12\xa0\
+\x77\xec\x04\xd9\x11\xa2\x22\xb0\x41\x59\x11\xba\xed\xf6\xaf\x68\
+\x95\x0d\x06\xcb\xcb\x4b\x07\xb4\x61\x62\x40\xce\x18\x2c\x01\xcc\
+\xa7\xc5\x9e\xf0\xd7\x39\xed\x3d\xde\x94\xb7\x8b\x7a\x76\xd3\x16\
+\x01\x84\xed\xe1\x5a\xaf\xdb\x01\x78\x3c\x2e\xda\xed\x6e\xf0\x70\
+\x16\x46\x83\x08\x60\x04\x09\x82\x52\x71\x73\x05\x05\x44\x65\x55\
+\x49\xa0\x34\xd5\x36\x8c\x35\x57\xf7\x3e\x7c\xeb\x1d\x77\x7d\x6a\
+\xb0\x18\xd2\x16\xfa\xbd\x41\xbf\x3f\xdb\x6e\xf5\x8d\x4e\x08\xa6\
+\x81\xc3\x7b\xbf\xb2\x72\xc2\xba\xc2\xda\xea\xe1\x83\x0f\x4c\x26\
+\xa3\xd9\xde\xa5\xd7\x5f\xf5\xe2\xfd\x7b\x9e\xbe\xb1\x31\x99\x9d\
+\x99\xab\x2a\x04\x81\x89\x51\xd4\x48\xe3\xa9\xde\x89\x00\x45\xa8\
+\x2a\xaf\x48\xe9\xe8\x1b\x1d\x3c\x3f\xa5\x06\x39\x0b\x3c\x21\x4b\
+\x70\xeb\x9b\xab\x83\x99\x01\x60\xb6\xb6\x47\xfd\xde\x5c\xf3\x37\
+\x22\x10\x80\x19\x20\x07\x54\x01\xb9\x0b\x25\xc0\x11\x27\x80\x5a\
+\x5d\x5f\x8d\x13\xdd\x6b\xa5\x40\xb1\x55\x1f\xfc\xfc\xad\x1f\x08\
+\xd8\xf6\x5e\xbc\xf7\x00\x13\x11\x33\x33\xe9\xba\xae\xf3\xbc\x18\
+\x0c\x06\x65\x59\x12\xd1\xc5\x17\x5f\xbc\xb0\x30\xbf\xb7\xf5\xe4\
+\x71\xb9\xa8\xb1\xf7\xf7\x7e\xf7\xbf\x7e\xe2\x13\xb7\xdc\x79\xe7\
+\xc1\xd1\xb8\x9a\x19\xcc\xff\xf8\xab\x7f\xec\xad\x6f\x7d\xe5\xe6\
+\x16\x06\xb3\xb0\x35\x62\x0d\x3e\x6d\xf3\xf1\x37\x34\x78\x16\xe0\
+\xa9\x58\x92\x33\x64\x57\xd6\x9b\x49\x44\x80\xdf\x18\x6e\xcc\x76\
+\x17\x01\x53\x56\x3e\x89\xdb\x40\xf0\x5e\x08\x8a\x1b\x5a\xa5\x1a\
+\xd8\x22\x8c\x81\xca\xa2\x3a\x7c\x74\xe5\xd0\x23\xc7\x9f\xf5\xcc\
+\x9b\x33\xd3\xde\x39\x19\x05\x60\x37\x8a\xd5\xf5\x8d\xd5\xed\xe1\
+\x7a\x51\x0e\x9d\x2b\x01\x0c\x06\x03\xe6\x48\xab\x78\xcf\xf2\x01\
+\xa6\xb8\xad\x7a\x01\xfc\xa6\xb7\xbc\xfd\x23\x7f\xf5\x99\xa3\x87\
+\xb7\x96\x16\xaf\xbc\xf7\xfe\xa3\xed\xd6\xfe\xda\xe9\x99\xd9\xc1\
+\xc9\xd5\xe3\x49\x2a\xc7\x57\xee\x6c\xb5\x60\x2b\x64\x11\x26\x63\
+\xdb\x6e\x99\xaa\x94\x38\xa3\x6f\x58\xf0\xdc\x0e\x78\xf1\xd9\xe0\
+\x85\x80\x71\x51\x6d\xb4\x62\x3d\x2c\x87\xdd\x64\x00\xc4\x6b\x1b\
+\xa3\xb9\xd9\x05\x2f\x56\x51\x0c\x31\x12\xe0\x03\x94\x29\x09\x6b\
+\xc0\x46\x8e\xd5\x3b\xef\xba\x7d\xe5\xf8\xf6\xf2\xe2\x25\xcf\x7e\
+\xea\x0b\x0b\x17\xf2\x49\x99\x24\x59\x16\x67\x00\x04\x16\x08\x84\
+\x40\xf0\x8d\xa8\x2b\x42\x95\x72\x06\x68\x8b\x60\x90\x1e\x3c\x72\
+\xe4\xce\x3b\xbe\xfc\xfd\x2f\xfe\x01\x40\x01\x69\x31\xe1\x24\x06\
+\x9b\xeb\xfa\x33\x17\x6d\x6d\x6e\xe8\x58\xb9\xea\xe4\x0b\xbf\xfb\
+\x5b\xde\xff\x81\x3f\x8a\x18\xb1\x86\xb7\xd0\xea\xcc\x51\xfb\x86\
+\x05\xaf\x02\x18\x48\xcf\x06\xcf\x02\x23\x8b\x6d\x41\x19\x21\xaa\
+\x21\x5f\xfc\xe7\xbb\x9e\x7e\xe3\xcd\xb1\xce\x02\x3c\x23\x86\xc4\
+\xd6\x42\x1b\x21\xda\x0e\x38\xb2\x5e\xdc\x7f\xdf\x03\xb7\x1f\x3a\
+\x74\x68\x30\x73\xe0\x5b\x9e\xf7\x92\x10\xda\x9b\x1b\xb9\xad\xfd\
+\x60\x30\x0f\x04\xa5\x8c\x56\xb1\xa6\x04\x50\x02\xe5\x3d\x82\x47\
+\x9e\x97\xfd\x7e\xb7\xaa\x8b\x38\xd2\x80\x1b\xe7\xa3\x76\x96\x6c\
+\x8d\xb6\xfa\x9d\xb9\xc9\x38\xb4\xb2\xae\x75\x78\xcf\xbb\xef\xfc\
+\xf1\x57\xbf\x81\xb5\xe9\xce\xb4\xda\x3d\x39\x74\xdf\x17\x47\xf6\
+\x78\xa4\x00\x91\x88\xe9\x1c\x57\xe7\x37\xac\x9d\x17\x1e\xe5\x67\
+\x72\x82\xba\x51\xf0\xd7\x27\xc7\xee\xfe\xca\x03\x49\xdc\x8b\x35\
+\x03\xc2\x30\x80\xb2\x56\x88\x3d\x51\x05\x6c\x1d\x5d\xbf\xfb\xab\
+\x0f\x7c\x6e\x34\x5e\x9b\x1d\xf4\xaf\xbc\xfc\xca\x08\xc9\xb1\xf5\
+\x4d\xa6\x38\x8a\x79\x52\x6c\x94\x45\xa5\x75\x14\x99\x2c\x89\x3b\
+\x49\xdc\xd1\xac\xb5\x32\x50\x1c\x45\xc9\x64\x32\x69\xb5\xe2\xa2\
+\x1c\x17\xe5\xb0\xb6\xf9\xd1\xe3\xeb\x57\x5e\x7e\xa5\xf8\xba\xd5\
+\xee\x22\xa0\xae\xe1\x9d\x78\x5f\x7a\x5f\xe7\x39\xad\xaf\x1c\xa2\
+\x56\xcb\x68\x30\x40\x24\xd6\xd6\x46\xc7\xce\x7a\x6d\xd4\x37\xb2\
+\xa9\x20\x8f\x65\xde\x05\x87\x52\xc1\x32\xec\xed\x77\x7c\x71\x7b\
+\x2b\xff\xde\xef\x79\x8e\x47\xa5\x10\x03\xb1\xb3\x4c\x04\xad\x3d\
+\xb0\xb9\x32\xbc\xfb\xf0\xf1\xdb\x47\xf9\xb1\x76\xa7\x73\xc5\x65\
+\x57\x2f\xcf\x5d\x3a\xb6\xde\x3b\xd6\x31\x83\xf3\xd1\x64\xab\xdf\
+\x9b\x97\x20\xde\x0f\x87\x93\xcd\xcd\xa1\x17\x91\x86\x97\x38\xe7\
+\xb4\xd6\x13\xdb\x62\xe6\x23\xc7\x8e\xcd\xce\xce\x5e\x7d\xf9\x81\
+\x2f\xdd\x73\xdb\xe5\xfb\xaf\x6e\xb5\x3b\x79\x0e\xef\xf1\x1b\xff\
+\xf1\x37\xfb\xb3\x4b\xd6\x4b\xa0\x72\xdf\x95\x97\x1f\x7d\xe8\x36\
+\x17\x40\x1c\xb6\xb7\x4e\xcd\xf7\x67\x6d\x9d\x9b\x28\xf9\x7a\xf6\
+\xb4\x3c\xde\xe0\x31\x60\xce\x32\x75\x09\x80\x05\xc6\x06\xc3\x0a\
+\xeb\x1f\xfe\xf8\xdf\x64\x69\xe7\xba\xeb\xae\x87\xb0\x22\x05\x10\
+\x84\x25\xc0\x44\x00\xaa\xb1\x3f\xfc\xd0\xa1\xcf\x6f\x0e\x0f\xce\
+\x0e\xda\xa1\x9e\x99\x9f\xb9\x3a\xc5\xbe\x23\x6b\x1b\x59\xda\x9e\
+\x14\x5b\x71\x42\xfd\xde\xac\x73\x16\x20\x62\x18\x05\x43\x02\x04\
+\x90\x88\xf8\x10\x90\x65\x26\x9f\x6c\x97\x65\xb8\xfa\x49\x17\x17\
+\x45\x7d\xff\x23\x77\x5f\x76\xd9\x25\xad\xb8\x0b\x50\x9a\x61\x6d\
+\x1d\x0f\x3d\xf4\x80\x36\x73\x5a\x2b\x18\x77\xf4\xfe\xfb\x7f\xef\
+\x8f\x7e\x5f\x33\x1c\x8a\xd9\x7e\x5f\x00\x13\x65\xae\xf6\x3a\xfa\
+\x57\x31\x98\xf3\xaa\x9e\x3e\xde\x2b\x71\xb0\x31\x82\x29\x27\xe1\
+\xb4\xcc\x1b\x8e\x8f\x00\x27\x0a\xdc\xf5\x77\xb7\xfc\x9f\xdd\x99\
+\xad\xbc\x38\xb1\x6f\xcf\x45\x31\xf5\x81\x18\x88\x24\xc0\x18\x00\
+\xd8\x1a\x9f\x2c\xec\xe1\x71\xf5\xa0\x95\x93\x55\x69\x9f\x77\xd3\
+\xcb\xbb\xea\xa6\xda\x2e\xc4\x7a\xd1\xf9\x3a\x49\x22\xf1\x89\xaf\
+\x5b\x22\xb1\x40\x4b\xe0\x10\x28\x78\x1d\xbc\x0e\x5e\x49\xd0\x14\
+\x0c\x4b\x54\x15\x2e\x8d\xb3\xd1\xf6\xd8\x5b\xab\x18\xed\xb8\xed\
+\xa1\x0b\x4f\x13\x8b\xa7\xdd\xf8\x3d\xcc\xfd\x99\xee\x82\x78\x11\
+\x5b\x2f\x5e\xb4\xf8\xb2\x97\x7d\x17\xa1\x92\x50\x0a\xc2\xd6\x78\
+\xe2\x01\x65\xd4\x59\xde\x83\xc7\x7c\x9f\x25\x1a\x76\x7b\x47\xff\
+\xad\x83\x27\x60\x85\x7c\x8c\x24\xe1\xcd\x8d\xc2\x39\x80\x26\xdd\
+\x76\xb5\x32\xbe\xf3\xd3\x5f\x78\x9f\x8a\x26\x2b\xab\x47\x9e\xff\
+\xfc\x6f\x4e\x4d\x1f\x48\x81\x54\xbc\xf2\x01\x02\x54\xb5\xed\xb4\
+\xe3\xa3\xc7\xef\x8b\x92\x2a\x4e\x30\x33\xdb\x53\x68\x03\x9d\xe0\
+\x75\x08\x0e\x5c\x90\x2a\x89\x44\x84\x1a\x62\xdd\xf1\x03\xd0\x8e\
+\x3b\x4d\x13\xa9\xd5\xd5\xb5\x7d\xcb\x07\x6c\xed\xf3\xbc\xd0\x2a\
+\x5e\x98\x5d\xf2\x50\x93\xda\x7b\xa8\xf7\xbd\xef\x33\x47\x8f\x1c\
+\xd2\xca\x6c\x6c\xae\x45\x86\xab\x72\xf2\xe9\x7f\xf8\xbb\xb9\x99\
+\x36\x23\xc4\x1c\x03\x1c\xc5\x2d\x08\xf2\x72\x1a\x92\xfd\xfa\x7c\
+\x3d\xce\xe0\x11\x00\x69\xfc\xfe\x33\xb3\xa9\xc7\x36\x70\x6a\xe8\
+\xbf\x7a\xe7\xdd\x7f\x5b\xd5\xe3\x24\xea\x75\xd2\x8b\xe6\x92\xab\
+\x08\x6d\x20\xab\x0a\x45\xc4\xda\x38\x70\xa9\x74\xad\x10\xac\xad\
+\xca\xb2\x4e\x92\x64\x71\x71\x4e\xa1\x06\x86\x1e\xeb\x9e\x4e\x41\
+\x6d\xb1\x19\x92\x9e\x80\x27\x20\x7f\xb6\x7c\x6d\xfc\x6d\x81\x95\
+\xea\xcf\x0c\xee\x7b\xe0\x7e\xef\x78\xff\xde\xcb\xf3\x89\xaf\x9d\
+\x62\xb4\x93\x68\xe6\xc4\xf1\xf2\xc7\x7e\xfc\x75\x59\x67\xae\xd5\
+\x4e\x3a\xdd\x64\x34\x59\xf9\xb5\x5f\x7b\xdb\x65\x07\xda\xce\x62\
+\x7b\x38\x21\x98\x20\x60\x28\x06\xb2\x04\xf4\x75\xac\x73\x3e\xde\
+\x6c\xd3\x59\x3f\x24\x65\xab\x0a\x20\xc4\x71\x39\xb4\xf7\x7f\xfa\
+\xf3\x7f\xee\x64\x75\x6e\x6e\xae\x2e\xe3\x1b\x6f\xf8\x8e\x51\xa9\
+\x08\x5d\x88\xf6\xb6\x11\xc0\xde\x85\x89\x56\xa8\xe1\xf6\xed\xbd\
+\x62\x73\xdd\x8a\x6f\x2f\x76\x0f\x30\x34\xe0\x82\x14\x41\x0a\x90\
+\x25\x0a\x80\x03\x4d\xa1\x9a\x86\x81\x9a\xaf\x14\x00\x84\x10\xbc\
+\x0f\xed\x56\x3f\x4d\xba\x0f\x3c\x70\x78\xb6\xbf\x77\xd0\xbf\xb8\
+\xac\xb8\x2c\xf0\xb2\x97\xfe\x68\x28\x6d\x55\x17\xb5\x1d\x8d\x27\
+\xa7\x2e\xbf\xe2\x92\x9f\xff\xc5\x17\x5b\x0b\x5b\x87\x7e\x77\x8e\
+\x61\xc4\x51\x62\x98\x04\xce\x9e\xce\xae\x08\x8f\x8d\x1f\x3d\x3a\
+\xe6\x75\xe1\xc8\x3c\x31\x46\x04\x93\x38\xc5\xd6\xf6\x71\xc1\xea\
+\xed\x77\x7d\x14\xfa\xe4\xec\xbc\x5e\x5b\xdb\x34\x3c\xbf\x6f\xf6\
+\x06\x25\x8b\x8d\x15\x98\x65\x4d\xa8\xd4\x2a\x56\x02\x03\xdf\x5e\
+\x6c\x5f\x6b\xb0\x6f\x7b\x2d\x8d\xb0\x17\x68\x9f\xd1\x7d\xc4\x40\
+\x12\x48\x8a\x10\x93\xf0\x0e\x71\xc8\x4e\x20\x22\x00\x21\x04\x8c\
+\x86\x93\xf9\x85\xbd\xd6\xf1\xdc\xdc\x7e\x63\x66\x80\x2c\x8a\xb2\
+\xd7\xbd\xf6\x57\xef\xba\xf5\xee\xa8\x33\x67\x12\x5d\xba\x2d\x15\
+\xe5\x9f\xff\xe7\xf7\x81\x60\x22\xb4\x33\x66\xc0\x7b\x8e\x54\xd4\
+\x20\x17\x82\x3f\x5b\x98\x85\xa9\xcd\x4e\x5f\x17\xb4\x78\x1e\x8e\
+\x49\xb0\x2e\x07\x8d\xa3\x74\xfc\xc5\xaf\x7c\x6c\x52\x1d\xe9\xf6\
+\xe2\xad\xcd\xb1\xa6\xc1\xd3\x9e\xf2\xad\x40\x3f\x4b\xe7\x21\x9c\
+\xe7\x55\x83\x8b\xa2\x9a\x61\xab\x7a\x12\xa9\x4c\x61\xe6\xd2\xfd\
+\xcf\x28\xc7\xed\xe3\x6b\x79\x40\x0c\x68\x26\xc5\xac\x21\x91\xf8\
+\x08\x21\x86\x44\x10\xda\x21\xbb\xb3\x9e\xcb\x98\x28\x8a\xb2\xf5\
+\xb5\x91\x51\xed\xc1\xcc\xde\xa2\x20\x04\xfe\x8b\xf7\x7c\xf2\x3d\
+\xef\xf9\xab\xce\xec\xfe\xba\xa8\x66\x66\x5b\xbe\x5c\x3d\x7a\xfc\
+\xf6\x28\x01\x18\xb6\x86\xf7\xa8\x4a\x94\xb9\x25\x02\x00\xeb\xf2\
+\x38\x21\x4c\xb3\x30\x70\x6e\x78\x9d\xce\xff\x4e\x9e\x77\xf0\x7c\
+\x40\xa4\x95\xc7\x6a\x50\xc7\x8f\xac\xdc\x9a\xb5\x51\x16\x52\x8c\
+\x93\x1b\xae\xfd\x8e\x5e\x74\x39\xd0\x86\xe8\x3c\xdf\x26\x95\x83\
+\x27\xa0\x35\x87\xb5\x80\xed\xca\x6e\x02\xce\x83\xaf\xb8\xec\xfa\
+\x03\x17\x3d\xe5\xde\x7b\x0e\x7b\x21\x00\x4a\x29\xc5\x1a\x62\x82\
+\xd7\x12\x62\x88\x79\xd4\x23\xb0\x80\x05\x1c\x84\x80\xa8\xdb\x9d\
+\x1b\xcc\xee\x3b\x76\x7c\x33\x6b\x25\x22\x78\xe5\x2b\x7f\x82\x90\
+\x4c\xf2\xaa\xdd\xeb\x9c\x38\x78\xcf\xdf\xfe\xe3\x87\x5b\x5d\x24\
+\x29\x2a\xeb\x59\x41\x69\xc4\x31\xda\x6d\x03\xc0\x96\x65\x1c\x01\
+\xa8\x76\x92\xde\xe4\x8c\x40\xfd\x9a\xfa\xe4\xf9\x0e\xfe\x3d\xde\
+\x8b\x91\xe2\x04\x08\xb9\x3d\xf4\x4f\xb7\xbd\x7f\x6e\x91\x47\xe3\
+\x75\x96\xd9\x8b\x16\x9f\xb5\xb7\xff\xf4\xa2\x4a\x81\xa8\x2c\x47\
+\x49\xe6\xd2\xb4\x1c\x57\x0f\x4e\xdc\x83\x47\x4f\xdd\x76\xfb\x57\
+\xff\x76\x54\x1c\x3c\xb1\xf1\x55\xa0\xea\x46\x9d\x1b\x6e\xb8\x61\
+\x75\x75\xd5\x87\x02\xa8\x58\x57\xac\x2d\xe0\x44\x44\xc4\x13\xc9\
+\x59\x5b\x29\x8d\xce\xa9\x21\xc6\x59\x4a\xe2\x4e\x1c\x75\x03\xf4\
+\xd2\xf2\x3c\x02\x5a\xed\x27\x75\xba\x0b\x46\x27\xdd\x4e\x6b\xbc\
+\x7e\xf4\xf7\xff\xe8\x3f\x7f\xd3\xcd\x4f\x61\xd8\xdc\xae\xa7\xc6\
+\x69\x0d\x06\xbc\x45\xf0\x28\x0b\x6b\x92\x88\x8d\x4c\xf2\xed\x5d\
+\xbb\x44\x8f\x41\x7f\x17\xb4\x91\xae\x21\x3a\xd0\x46\x1d\x8e\x4e\
+\xec\xfd\x71\x5d\xf5\x7b\xf3\x9b\x2b\xb3\xdf\x72\xe3\xcb\x7d\xd8\
+\x9b\x46\x7d\xc0\x26\xa9\x2f\xec\xc9\xd4\xd4\x5f\xb8\xf3\xfd\xd6\
+\x6f\x7a\x9a\x48\xa0\xb5\x8d\x47\xf2\xb1\x94\x65\x79\xc5\x15\x57\
+\x5c\x77\xcd\x75\x3f\xfc\xb2\x97\xfe\xdd\x67\x3f\xf2\xad\xcf\xfb\
+\x8e\x88\x2c\x78\x2c\xa1\x64\x16\x16\xe3\x5c\xa5\x98\x6c\xed\x84\
+\x42\x9a\xc5\x5a\x6b\x67\x43\x65\x9d\x04\x6a\x77\x06\x8a\x5a\x01\
+\x46\x80\xe1\x36\x5e\xfd\xaa\x9f\xad\x6a\x90\x92\x38\xd1\x5b\xa7\
+\x0e\xbd\xed\x37\x7e\xf9\xd5\xaf\x7a\x09\x60\xab\xb0\x1e\x19\xec\
+\x38\x60\x8d\x36\x90\x80\x24\x31\x20\x07\x48\x2b\x6b\xef\x82\x6d\
+\x57\xa2\xa7\xf7\x4a\x3d\x61\xdc\xf2\x3c\xba\xc7\x04\x5e\x64\x6d\
+\xf3\x41\x36\x9b\xac\xd9\x7b\xec\x5d\x7c\x9a\xc2\x25\x90\xb6\x78\
+\x90\x09\xc0\x98\xcd\xd6\x43\x27\xef\xb0\x72\x18\xba\x84\xb8\xc9\
+\xc4\xee\x5d\x9a\x7f\xe6\x33\x6f\xb4\x36\x3c\xf4\xe0\xc1\xcf\xfd\
+\xf3\xa7\x3b\xed\xd9\x17\x3c\xef\xf9\x2b\x5b\x87\x7a\xbd\x4e\x92\
+\x44\x55\xed\xe3\x28\x19\x0f\x6b\x6d\x52\x45\x4c\x14\x05\x88\xb3\
+\x28\x8b\x32\x78\x8a\xe2\x56\xab\xd3\xd3\xa6\x6b\x54\xa7\x89\x23\
+\x7e\xf8\xc3\x9f\xfc\xcb\xbf\xfe\xb0\x90\x0a\x90\x7c\xeb\xd8\x6b\
+\x7f\xf2\xb5\x3f\xf1\xaa\x1f\x22\x60\x58\xac\xf5\xd3\x08\x08\x79\
+\xbd\x9d\x28\x16\x62\x4d\x8a\xce\xa4\x91\x35\x31\x3d\x05\x68\x11\
+\xa9\xaa\xca\x5a\xab\xb5\x4e\xd3\x58\x29\xf5\x0d\x40\x79\x02\x08\
+\x88\xd4\xf1\x95\x87\x4d\x52\xb1\x32\x55\x2e\x4f\xb9\xea\x46\xf8\
+\x36\x9a\xb8\xb9\x71\xc0\x08\x58\xbf\xef\xa1\xcf\x72\xb4\x61\x8c\
+\xd9\x38\x69\x5f\xf8\x82\xef\x9f\x37\xfb\x73\xf8\x44\xeb\x67\x5f\
+\x77\x73\x0e\xfb\xd5\xaf\x3e\xf8\xa9\xcf\xfe\xe3\x0b\x9f\xf7\x22\
+\x00\x23\x8c\xea\xb2\xde\x5a\x1f\x2e\x2d\x5e\xe4\x5c\xb0\x55\x1d\
+\x42\x00\xc0\xac\x93\x38\x35\xba\x95\xb5\xba\x1a\x69\x61\x19\x4a\
+\x03\xb8\xed\x8e\xc3\x3f\xf2\xc3\x3f\x32\xb7\x74\x60\x38\x9c\x94\
+\xc5\xe8\xa7\xdf\xf0\xfa\xff\xfd\xe7\x5e\x3b\x37\x00\x80\x5e\xda\
+\x26\xd4\x00\xa7\x51\x4b\x4f\x1d\xe2\xf0\x1e\x10\x61\x15\xb4\xd1\
+\x4c\x1c\x82\x66\x02\x81\x92\x38\x49\x92\x04\x40\x03\x64\x92\x44\
+\x4f\x88\x4b\xec\x7c\x47\x15\x14\xd3\xf6\x70\xb3\xb7\x10\x07\x2f\
+\x65\x51\x0f\x7a\xcb\x70\x40\x68\x02\x66\x0e\x28\xc6\xf6\x78\x5e\
+\x1d\x9f\xe9\x10\x41\x5d\xb2\xff\xfa\xae\xb9\x04\x68\xe5\xc5\x26\
+\x33\xa2\x38\xce\xd0\xbf\xf1\x49\x7b\xd6\x46\xdb\x7f\xff\x99\x5b\
+\x9e\xfd\xec\xe7\x76\xcc\xf2\xa6\xad\x17\xe6\x97\x8b\xa2\x2a\xcb\
+\x5c\xb3\x0a\x21\x28\x65\x92\xb8\xd5\x69\xcd\x11\x12\x81\x09\x88\
+\x9b\x48\x97\xf3\x78\xd6\x33\x9f\x1b\xb7\x7b\x65\x95\xd7\x65\xf1\
+\x93\x3f\xf5\xfa\xdf\x7c\xe7\x6b\x8d\x41\x31\x76\x59\x9b\x08\xbc\
+\x3e\x1a\x33\x73\xaf\x35\xdb\x24\x59\x6b\xdd\xdc\x15\x81\x34\x48\
+\x4b\x03\x4b\x93\x9f\xdb\x58\x7a\x04\x62\x8a\xa2\x68\x57\x1a\xea\
+\x85\x4a\x79\xd4\x24\x86\x08\x42\xac\xb9\x5d\xbb\x8a\x58\x80\xaa\
+\xae\xa1\x04\x2a\x82\x75\x95\xd1\xd5\x89\xd5\x07\xd3\x16\x04\xbe\
+\x2e\xf8\xd9\xd7\xbd\xc8\xda\xb9\x61\x31\x56\x7a\x8e\x83\x7e\xf8\
+\xf0\x3a\x21\xba\x7c\xff\x55\x73\x9d\xd9\x17\xdc\x7c\xe9\x97\xbf\
+\xf2\xd5\xbd\x7b\xf7\xee\x5f\xba\xe6\xd8\xc9\xc3\x51\xac\x45\x84\
+\x99\xe3\x38\x8e\xa3\x2c\x89\xbb\x84\x04\x88\x43\x30\x65\x8d\x28\
+\x02\x02\x0e\x5c\xfc\xcc\x6e\x6f\x0e\xa0\xe1\xfa\xa9\x37\xfc\xe2\
+\x1b\x7f\xe9\x8d\xaf\x8f\x0d\x08\x08\xbe\x66\x64\x40\xdc\xcd\xe6\
+\x8d\x8a\x00\x5d\x14\x4e\x2b\x56\x3b\xfb\x21\x01\x75\x0d\x6b\x11\
+\x69\x24\x11\x88\xa0\x15\x42\x00\x08\x4c\xa7\x93\x79\x9f\x60\xfc\
+\x1e\x77\xca\xf3\xde\x31\xfb\x6e\x7b\x29\xb8\x5a\xc4\xb6\xdb\x19\
+\x90\xab\xa8\x96\x2a\xda\x71\x8e\xc8\xf1\x13\x87\xb2\x96\x29\xca\
+\x51\xb0\x51\x8a\x8b\x60\x96\x6d\x79\x74\x34\xdc\xc8\x32\xda\xb3\
+\x7c\x71\x3e\xa9\x0e\x1e\x39\x32\x3f\xb7\xa7\x2c\xdd\xf5\x4f\x7e\
+\x5a\x40\xf8\xf2\x3d\x77\x2d\x2e\xf5\x95\xae\x92\x94\x82\xb3\x49\
+\xd2\x69\xc5\x3d\x20\xf6\x81\x45\xb4\x62\x24\x11\x04\xb8\xf9\x9b\
+\xfe\x7d\x5e\xd4\xa3\x8d\xb5\xa8\xd3\xfd\xb5\xdf\xfa\xad\x57\xbd\
+\xea\xe5\xdd\xee\x54\xf7\xe8\x76\x32\x08\x6c\x0d\xad\x33\x12\xac\
+\x6f\x54\xb3\x33\x31\x04\x01\xb0\x0e\x12\xc0\x8c\x28\x42\x14\x41\
+\x09\x08\xb0\x16\x4a\x35\x95\x12\x00\x50\x95\x3e\x4e\xd4\x85\x2e\
+\xf3\x10\xc0\x15\x41\x16\xe6\x2e\x59\xd9\x38\xe5\x64\x34\x98\x49\
+\x05\x1b\x4a\x8f\x24\x0c\x40\x30\x2a\x02\x30\x99\x6c\x0f\xda\x0a\
+\x21\xee\x75\x96\x81\xec\xe4\xea\xf6\x38\x1f\xa5\x6d\x2d\x70\x45\
+\xb9\xc5\x5a\xb7\x3a\x7a\x63\xeb\x58\xbf\x37\x77\xe4\xc4\x03\x4b\
+\x4b\x4b\xd7\x5d\x73\xe9\x03\x87\xbf\x04\xb5\xbd\xbc\xbc\xb4\xbd\
+\xee\x7c\x6d\x2b\x55\x6b\x8e\x99\x0d\x40\x08\x70\x16\xff\xe9\x77\
+\xff\xfb\x3f\x7d\xf6\x96\xfd\x97\x5e\x19\x02\xde\xf2\xcb\xbf\xf4\
+\x33\x3f\xf3\xb2\x40\xb0\x16\x10\xc7\xc1\xea\x28\x85\xc0\x68\x0d\
+\xa0\x2e\xd1\xcd\xe2\x8f\x7d\xf4\xb6\xb5\x53\x1b\x0f\x3d\x72\xe8\
+\xfe\x07\x1e\x3e\x72\xf8\xc4\xda\xc6\x76\x59\x38\xf1\x76\xd0\x8f\
+\xf7\xef\x5f\xba\xf1\xc6\xa7\x3e\xf7\x79\xcf\xba\xfe\xfa\x6b\x67\
+\x07\x1a\x80\xd6\xdf\x08\x0a\x0b\xa0\x94\x06\xcc\x6c\xef\xc0\xb1\
+\x95\xbb\x1d\xb9\x24\xd5\x05\x8a\x0c\x81\x14\x9c\x85\xd6\x11\x10\
+\x37\xfe\x91\xc8\xb4\xe7\x07\xfb\x81\x24\x4d\x4c\xd6\x5e\x10\x1e\
+\x6d\x0d\x4f\x30\x23\x4b\xfb\x21\x38\xa5\xd9\xfa\x3c\x4e\xc3\xa1\
+\x23\xf7\xa4\x99\x9e\x5f\xe8\x14\x95\xcb\xf3\xc2\x98\x6c\x52\x16\
+\xa3\x5c\xb2\x84\xfb\xbd\x59\x08\x36\xb7\x71\xf4\xe8\xe6\x5b\xde\
+\xfc\xcb\x59\xa7\x77\xf8\xe1\xfb\xfe\xf1\xf3\x9f\x7f\xc6\x33\xf7\
+\xe4\x39\xd2\x16\x84\x41\x41\xeb\x48\x43\x70\xcb\x67\xef\xfe\xc2\
+\x17\x6f\xff\xec\x67\xff\xe9\xa3\x1f\xfb\xb8\x52\xc6\xfa\x20\x22\
+\x02\xf6\xa2\x00\x05\x89\x40\x9a\x24\x1c\x3d\x3a\xbe\xf7\xfe\x87\
+\x3f\xf4\xb1\x4f\x3b\x37\x06\xf8\x05\xdf\xfa\xfc\x9f\xfc\xc9\xd7\
+\xbc\xf8\xfb\x9e\xeb\xa7\x7c\x93\x77\xdc\xef\xd8\xf1\xf2\xf0\x05\
+\x03\x1e\x43\x34\xa8\xb5\x67\xe6\x29\xff\x34\xfc\x58\x7f\x4f\x7a\
+\xf2\xe4\x89\xeb\x96\x97\xbd\xcf\xd4\xb4\x5e\x2b\x03\xda\x4a\xb1\
+\xf3\x79\x55\x1a\xa3\xbb\x80\x31\x26\xde\x18\x6e\xab\x68\xac\x35\
+\x98\x39\x8e\x93\xb2\x28\x08\x54\xd7\x25\xa9\xb2\xd3\x03\x2b\x5f\
+\xd7\x9e\xc2\x8c\xb3\xd4\xee\x76\x56\x56\x37\x18\x7a\x71\x71\x10\
+\x80\xa2\x40\xb7\x87\xa7\x2f\x3d\x9d\x95\x12\x5f\xdf\x76\xfb\xad\
+\x4f\xbe\x7e\x1e\x82\x34\x06\x07\x9c\x5c\xc5\x47\xff\xe6\xef\x3e\
+\xf4\xa1\x8f\x7c\xf2\x93\x9f\x9c\x4c\x8a\x2c\xcb\x42\x08\x1e\xa9\
+\x8e\xd2\x4c\x6b\xef\x83\xb5\x1e\x9e\x20\x8a\x59\x6b\x95\x28\x45\
+\xdb\x43\x89\xba\x33\xc5\x30\x37\xc9\x1e\x3b\x19\x7f\xea\x73\x07\
+\x3f\xf5\xa9\x9f\x7c\xda\x73\x6e\xf8\xcc\x67\xfe\x14\x02\x45\xd0\
+\x80\x38\xa7\x15\xd7\x93\x71\x94\x65\xe7\x94\xfe\xfd\x5b\xd7\x36\
+\x15\x60\x9c\x44\x7b\x96\xae\xd8\xaa\x1e\x21\x21\xc0\x28\x36\x68\
+\xa4\xbe\x30\x28\x8a\x4c\x0a\x94\x8a\x23\x82\x02\x02\x73\x60\x86\
+\x52\x90\x00\xeb\xea\xaa\xb4\x12\xa0\x94\x06\x55\x22\x16\x5c\x07\
+\x21\x42\xc2\x94\x92\x32\xa7\xd6\x87\x7b\xf6\xee\xdf\xde\x74\x80\
+\x29\x2a\x29\x2b\x5a\x58\xb8\xcc\xd6\xc5\xc2\xe2\x9e\x63\xc7\x6f\
+\x6d\xee\xe0\xbe\xfb\x36\x3e\xf6\xb1\x8f\xbf\xe3\xd7\xdf\x09\xa8\
+\xed\x61\xed\xad\x03\x04\xa4\x6b\xe7\xbd\x78\xf1\xc1\x05\x2f\xb6\
+\x04\x00\x4e\xb5\x89\x49\x50\x59\x5b\xfa\x11\x10\xd2\xde\xa0\xb0\
+\x41\xea\xb0\x7c\xe9\xe5\xeb\x6b\x5b\x93\x8d\xb5\xd6\xfc\xc2\xed\
+\xb7\x7c\xa9\xd5\xb9\x61\x38\xbc\x53\x01\xd6\x23\xd1\x3a\xd4\x55\
+\x94\x66\x62\x2d\x45\xf1\x05\x65\x2a\x00\xf0\x5e\x2e\x39\x70\xe5\
+\xad\x77\x7f\xd6\xfb\xc6\x8f\x6c\x01\x4d\xc4\x8d\xa1\xd4\xca\xe6\
+\x6c\xc8\x59\x89\xf3\x79\x93\xdf\x4e\xec\x9b\xf4\x59\x67\xbd\x33\
+\xb5\xd2\x9a\x09\x02\x02\x11\x84\x45\x40\xd4\xe4\xd7\x1a\xad\x92\
+\x72\xe2\x35\x45\x55\xe5\xd3\xd8\x7c\xfb\xb7\x7c\x5f\xa4\xe3\xd7\
+\xff\xdc\x4f\xbf\xf3\x9d\x3f\x03\xc1\x9b\xde\xf4\x3b\x7f\xfd\x37\
+\x7f\x79\xdf\x7d\xf7\x41\xa4\xdf\x1f\x6c\x6d\x6d\x0f\xe6\xf6\x5c\
+\x76\xc5\x53\xae\xba\xe2\xb2\xb9\xc5\xf9\xa5\xf9\x85\xbd\xfb\xf7\
+\x2e\xce\xcd\xeb\x38\x9a\x9b\x99\xb5\x41\xea\xa2\xda\xd8\x1a\x9e\
+\x3c\x7e\xf2\xe0\xa1\x23\x27\x8e\x1e\x5f\xdb\xda\xfe\xe0\xfb\x3f\
+\x00\x41\x67\xee\xa2\xc3\xf7\xdc\x09\x95\xc1\x07\xef\x3d\xb5\x67\
+\x64\xbc\x72\xd1\xbe\x67\xaf\x1c\xfb\xbc\x56\x98\xe4\x75\x1a\x33\
+\x20\xd4\x24\x01\x5c\x58\xe0\xb1\x52\x66\xae\xbb\xb7\x9d\xee\x5b\
+\x59\x59\x11\x58\x42\x05\xc4\x3b\x46\x14\xcd\x74\xf7\xad\x6c\x9c\
+\xf4\xde\x8e\x26\xab\x40\xc5\xca\xf8\x50\xc3\xd7\xda\xa8\xc6\x97\
+\x61\x8c\x71\xce\x11\x11\x31\x0b\x94\x08\x85\x00\x0a\x02\xf2\xdd\
+\xac\x7f\x6a\x7d\x78\xd9\xc5\xd7\x00\xf1\xab\x7e\xfc\x0d\x9f\xbf\
+\xe5\xb3\x7f\xfe\xe7\x1f\xb8\xea\xaa\x27\xdd\x78\xe3\x8b\xbe\xf4\
+\xa5\x5b\xbb\xbd\xfe\x78\x3c\x7c\xc9\x4b\x5e\x7c\xc3\x0d\x37\xbc\
+\xe2\x15\x3f\xb4\x77\xef\x0c\x80\x38\x01\x01\x79\x09\xf1\xc8\xda\
+\x20\x20\x08\xc4\x37\x31\x0d\x08\x16\x49\xae\xb0\x1e\xde\xc2\x79\
+\xfc\xc5\xff\xfb\xf6\xbf\xfe\x9b\xbb\x7f\xf8\x95\xaf\x82\xe6\xfe\
+\xfc\x9c\x75\x61\xb2\xb1\x41\xa9\xee\x2d\xed\xdf\x3e\x7e\xff\x1f\
+\xfc\xc1\x7b\x5f\xf9\x43\x2f\x99\x9b\x89\x18\x80\x38\x71\x8e\x4c\
+\x74\x41\x81\x67\x6d\x6d\x4c\x0a\x74\x97\x17\xae\x3d\x71\xb4\x18\
+\xd5\x9b\xdd\x68\x0e\xe8\x9c\xe6\xab\xf3\x83\x4b\x8e\xaf\xde\xe3\
+\xc3\xe6\xd6\x70\x05\x98\x18\x95\x02\xce\xda\x2a\x8a\x52\x63\x62\
+\x00\x22\x5e\xc4\x13\x07\x66\x2d\x80\x77\x21\x78\x46\x10\x22\x8c\
+\xca\xfc\xb2\x8b\xaf\x2c\xaa\xfa\x0f\xfe\xf3\xff\xf5\xee\x77\xbf\
+\xe7\xcd\x6f\xf9\xe5\xd7\xbc\xe6\xd5\xc3\xe1\xf0\x7b\x5f\xfc\x5d\
+\xaf\xf8\xa1\x97\xfe\xe8\x8f\xbe\x72\x76\x36\x25\x06\x33\x56\x4f\
+\x4e\x92\x74\xea\xa7\x64\x41\x96\x9d\xa9\xd6\x75\x01\x91\x41\x00\
+\x58\x10\x08\x2c\x30\x8c\x58\x23\x00\x42\xf8\xf6\x17\x5e\xbb\xb9\
+\x76\xcb\xdc\xdc\x73\xb7\x4e\x1c\x4c\xfa\x7b\xd3\xfe\x4c\x08\x7e\
+\xfb\xf8\xd1\x8b\xae\xbc\xee\x6d\xbf\xf2\x1b\xaf\x7b\xed\xbf\x9b\
+\xe6\xb2\x90\x04\x82\xba\x90\x28\x4f\x42\xf3\x44\xca\xc1\x2c\xcf\
+\x3f\x79\xb6\xb7\x76\xf2\xe4\x4a\xf7\xa2\xfd\x53\xe7\x19\x07\x88\
+\x9e\x6d\x1d\xa0\xd0\x01\xd6\x8b\x6a\xa3\xc2\x56\x8c\x76\x14\xab\
+\xbc\x08\x22\xc2\xac\xbd\xf7\x2e\xd4\x44\x3b\xa5\x3c\xa2\x00\x26\
+\x62\x66\xa3\xd8\x2c\xcd\x2d\x6d\x4d\xc6\x87\x1e\x39\xfe\xb6\xb7\
+\xbd\x6d\x79\x79\xff\xa7\xfe\xe1\x13\x7f\xfb\xf1\x0f\x5d\xfd\xa4\
+\x2b\xd2\x14\x7a\x87\x87\xad\x6f\xac\x0f\x66\x07\x0b\x8b\xad\xba\
+\xac\x9d\xaf\x99\x11\x69\xa3\x8d\x21\xc0\xd9\x92\x89\x22\x6d\x20\
+\x04\x88\x08\x8b\x88\x0f\x14\x84\x7c\x40\x80\x54\xd6\xb7\xda\x26\
+\x04\x3c\xf8\xe0\xe7\x2e\xbf\xf2\x85\x4c\x34\x59\x5f\x47\xda\x5e\
+\xba\xe4\xea\x23\xf7\xdf\x05\x8c\x15\x63\x6d\xad\x98\x9f\x4b\x6d\
+\x5d\x27\xe7\x51\xe0\x9d\x0f\xf0\x9c\x73\x26\x36\x40\x10\x9f\x74\
+\xcc\xa5\x17\xef\xdb\x3c\x7e\xfc\xe1\x2b\x2e\x72\xd3\xa8\x34\x20\
+\xc2\x86\xe6\x14\xf5\xa3\x28\xaa\xab\x6a\x65\xed\xe1\x8b\xe7\xe6\
+\x92\x54\x17\x25\x89\x28\x02\x88\x28\x88\x67\x45\x68\x6a\xec\x82\
+\x48\x50\x8a\xe3\x24\x4a\xe3\xa8\x2d\xf0\xe3\xe1\xd6\x0f\xff\xfb\
+\x57\xfc\x3f\x7f\xfa\x5f\x5e\xfc\xbd\x3f\x60\xb4\x52\x0a\x02\xf8\
+\xe0\x18\xd8\x1e\xad\x09\xfc\xfc\x6c\x7f\x5c\x9c\x4c\xe2\x76\x92\
+\x68\xc2\x69\xb1\x64\x01\x61\x76\x46\x69\xc0\x06\x11\x66\x26\x52\
+\x0c\x02\xef\xf8\xc5\x44\x22\x43\xe3\x51\xd1\x6a\xa5\x73\x03\x2c\
+\x2d\xcc\xe6\xb9\x2a\xca\xd0\x6e\xb7\x47\xc3\xa2\x3d\xd8\x3b\x1e\
+\x1d\xbd\xeb\x2b\xab\xd7\x5f\xb7\x50\x3b\x89\xa2\xb4\xb2\x65\x6c\
+\x92\x0b\xc9\xc3\x22\x06\x2c\x22\x4c\x31\xa0\x97\xe6\xaf\xbc\xe7\
+\xde\x3b\x76\x7b\x95\x82\x67\x70\x47\xa1\xc7\x51\x12\x42\xbe\xb2\
+\xfa\xc8\xfe\xb9\x27\x6b\xcd\x44\x0a\xc2\x44\xac\x14\x98\xa7\xb1\
+\x50\x11\x09\xbe\xd9\x53\x93\x24\x49\xc4\x51\x2d\x75\x92\x98\x3b\
+\xef\xbc\x95\xc8\x30\x68\x3c\x19\xd7\x75\x99\xb5\xe2\x8d\xcd\x95\
+\x56\x3b\x72\xa1\x1a\x4f\x86\x95\xdd\xd4\x2a\xda\xdc\x5a\x09\x01\
+\x9d\xb4\xd7\xca\xda\x51\x14\x85\x10\x98\xd9\x28\x05\x48\xe3\x66\
+\x43\xd3\x59\x60\x6a\xab\x79\x00\x44\x81\x28\x74\x3b\x71\x5d\x83\
+\x15\x5e\xfa\x92\x97\xfc\xf6\x6f\xfd\x7e\x6f\xee\x92\xed\xe1\x18\
+\xd5\xb0\xb7\xd0\x01\x6b\xa3\x63\x01\x9a\xae\x12\x74\x7e\x8d\xf7\
+\xc7\x1d\xbc\x24\x8d\x6d\x55\x9b\x98\xbd\x65\x15\xb5\xb3\x64\x71\
+\xa6\xbf\x60\xe1\x8c\x4c\x8b\x01\x98\x8c\x20\x3c\xeb\xa6\x17\x7c\
+\xe8\x1f\xfe\xa1\xdd\x31\x27\x57\x0f\xb9\x6b\x26\x29\xb5\x43\x08\
+\xce\x49\x1c\x45\x79\x9e\x47\xb1\x0a\x62\x1b\x09\xa5\x94\x81\x28\
+\xe7\xdc\xe6\xe6\x26\xb0\xc9\xda\x80\x78\x63\xeb\x84\x04\x15\x42\
+\x93\x30\x1d\x4a\xeb\xc0\x55\x51\x79\xa5\x25\x6d\xf9\x10\xc6\x95\
+\x83\x8e\x14\x21\xaa\xaa\x82\x49\x29\xa5\x8c\x89\x76\xc8\x2b\x88\
+\x10\xd1\x63\xc7\xc1\x6b\x9b\x47\x86\x95\x8a\x01\xf4\xba\x6d\x80\
+\x26\xa3\xb1\x02\xab\x56\xbb\x2c\x4b\x84\x70\xf5\xd5\xbd\x49\x0e\
+\x63\xbc\x36\xa2\x88\x2f\x28\xf0\x10\x60\xa2\x08\xf0\xde\x0b\x44\
+\x1b\xdd\x5b\x9c\xbf\xb8\x2c\xbd\x89\x9b\x78\x19\x33\x47\x04\x62\
+\xb4\x8c\xce\x88\x1c\xb1\xad\x64\x68\x28\x8b\x4c\x22\x41\x85\xc0\
+\xcc\x2c\xe2\xcf\x2e\x78\x60\x08\x35\x1e\x0d\x41\x05\x82\x88\x12\
+\x28\x62\x82\x04\xc0\x83\x6a\x62\x07\xb2\x01\x5e\x20\x20\x56\x5a\
+\x11\x09\x07\x53\x7a\x2b\x42\xbb\x32\xbd\x84\x60\x88\xbf\x66\x2d\
+\x50\x64\xe2\xb2\x2c\x92\x38\xae\x2d\xee\xba\xeb\xce\xde\xcc\x2c\
+\x71\x56\x54\xb5\x36\x34\x19\x6d\xc2\x95\x00\xda\x19\x18\x0a\x70\
+\x93\xc9\xa8\xdb\xea\x5f\x48\x6c\x13\xaa\x29\x0f\xa6\x86\xd4\xcc\
+\xc5\x17\x3d\x29\xcf\xc7\xed\x88\xa7\xf1\x69\xd2\x00\x34\xd2\x2c\
+\x9d\x01\x6f\xb1\xf6\x93\x7c\xb3\xd5\x9a\x8f\xe3\xb4\xcc\xd9\x3b\
+\x30\x73\x08\x8e\x94\x9f\xea\x38\x67\x42\x16\x1e\x08\x12\x1a\x46\
+\xa7\x89\x08\x60\xa2\x00\xf2\x20\x47\xec\x82\x54\xc1\xbb\x26\xd4\
+\xa7\x98\x08\x0a\x0c\x22\xd5\xbc\x9b\x1a\x68\x09\x4d\xdf\x01\x3a\
+\xbb\x99\xd2\x99\x9e\x10\x22\xd4\xdc\xa1\x52\xf8\xe4\x27\x3f\xb9\
+\xbd\x5d\x47\x09\xbc\xf7\x55\x91\xeb\x54\xbd\xe0\x05\xdf\x53\x94\
+\x68\xa5\xcd\xad\x49\x9a\xa6\xe7\x93\xf2\x1e\xf7\x8c\xe9\x9d\x62\
+\xd7\x10\xc7\xb1\x04\x00\xc8\xe2\x05\xa3\xfa\x72\xba\x6c\x9f\x34\
+\x44\x13\xe2\x76\x36\x20\x44\xcc\x28\xab\x51\x40\x88\x4c\x2a\x41\
+\x79\x47\xcc\x5a\xe0\xcf\x4d\x26\x9f\x96\x25\x38\x81\x13\x38\x11\
+\x0b\xf2\x20\x4b\xec\x88\x7d\x43\x76\x80\x03\x39\x22\x21\x22\x11\
+\xf1\xde\x5b\x6b\x4d\x1c\x69\x63\xb4\x8a\x9a\xf2\x5c\x1f\x78\xa7\
+\x8d\xcb\xae\x84\x3e\xe1\xdd\xfd\x7e\xa2\x38\x1b\x8e\x02\x80\xd1\
+\x68\x04\x12\x86\x37\x86\x5b\xbd\x96\x1b\xaf\xfd\xd2\x9b\x7e\xde\
+\xd6\x60\xc0\x5a\x17\x9c\x33\xac\x2f\x20\xf0\x9a\xea\x64\xc0\x7b\
+\x4f\x24\xc4\xa8\x4a\x07\x64\xad\x74\x61\x57\x9b\x15\x16\x01\xa0\
+\xdb\xd9\xbc\xf8\xb8\x81\x64\x87\x37\x2a\x88\x3a\xc3\x7f\xcf\xaa\
+\x04\x68\xfe\x4c\x44\xbc\xc8\xae\x8c\x4d\x0a\x44\x20\x92\x69\x78\
+\x9d\x34\xb3\x26\xe8\xe0\xd9\x59\x72\x56\xb2\x2c\x8b\xd3\x04\x44\
+\xd2\x84\x56\x99\x64\x77\x37\x0a\xda\xf5\xb5\x31\x08\xc5\x40\xd8\
+\x3b\xfc\xb7\x77\x7f\x2a\x8a\xa2\x99\x99\x9e\x88\x15\xd8\x76\xcb\
+\x00\xf5\x0d\x4f\x5d\xee\xf7\x20\x01\xae\x2e\x23\xad\x7d\xf0\x17\
+\x14\x78\x44\x0d\xe5\x79\x20\x80\x5d\x08\x01\x41\x6b\x95\x35\xdb\
+\xd3\x3c\x6c\x08\x01\xe0\x34\xe9\x06\xaf\x82\xf8\x24\x89\x19\x5c\
+\xd7\x8e\xc8\x28\x15\x87\x00\x22\x39\x9d\x0a\x7d\x56\x9f\x1b\x72\
+\x44\x44\x74\x96\xb8\x6a\xe0\x6c\xae\xa9\x94\x69\x90\x0b\x5e\x11\
+\x22\xad\xb2\x24\x6d\x19\xa5\x04\xa1\xe9\x70\xc5\xcc\xbb\xdb\xc4\
+\xed\x6a\x5a\x11\xa6\xed\x7b\x48\x3b\x8f\x6e\x9f\x7f\xe7\x77\xfe\
+\x53\x9e\xe7\x45\x51\x54\xf5\x44\x1b\x39\x79\xe4\xc1\xb7\xbd\xe3\
+\xd7\x93\x78\xfa\x8c\xed\x2c\xdd\xf9\xd0\x05\x04\xde\x0e\xfd\x35\
+\x1d\xc5\x7c\xd2\xc4\x49\xe5\xf4\x46\x9f\x06\x0f\x91\x69\x7b\x87\
+\x10\x42\x2b\x4d\x09\x54\x95\x35\x41\x29\x36\x8d\x4e\x7f\x4e\x4d\
+\xce\x6e\x42\x24\x22\xda\xe9\x60\x25\x81\xa6\xfa\x88\x50\x43\x73\
+\x80\x0e\x5e\x41\x4c\x64\xba\xed\x56\x4f\x93\xde\x9d\x02\x7d\x56\
+\x96\xf5\x99\x77\xd8\x79\x03\x04\xc5\x78\xe4\xe0\xe4\x81\x87\x0e\
+\xea\xc8\x38\x5f\x67\x9d\x96\x52\x14\xb7\x5b\xbf\xf8\xc6\x1f\x04\
+\x61\xb4\xed\x14\x81\x88\x7c\x5d\x2b\x7d\x61\xb1\xcd\x46\xa7\x63\
+\x25\x65\x5d\x00\xa1\xd1\xa5\xbd\x3d\x0b\x08\x41\x09\x04\xc5\x49\
+\x70\xa9\xb8\x34\x46\x17\xe0\xda\x56\xc4\x9e\x95\x0b\x21\x10\x0c\
+\xc4\xec\xa4\xd8\xf2\xae\x9a\x04\x9e\xaa\x1b\xa7\x19\x69\xa3\xc5\
+\x88\x10\x29\x82\x26\x32\x12\x1a\xf0\x92\x48\x77\x5a\x59\x1f\x20\
+\xc0\x85\xe0\x20\xc2\x60\x3e\xab\xc2\x20\xf0\xb4\x88\xde\x9f\xee\
+\x05\x11\x04\xc3\x09\xde\xf8\xa6\xb7\x55\xa5\x8f\xe3\x94\x08\xad\
+\x34\x1a\xae\x1d\x79\xc7\xaf\xbf\xdd\x3b\x28\x41\xbf\xa7\x01\x48\
+\x70\x2a\xd2\xf0\xf6\x02\x32\x15\xc8\x81\x4a\xa0\x26\x48\x12\xa5\
+\x53\x0d\x80\xa0\x0c\xbc\x07\x00\x52\x00\x59\x87\x49\x84\x6a\x38\
+\xaa\x99\x06\x33\xbd\x81\xc1\xa2\x07\x7c\xc8\xa3\xb4\x23\xa8\xeb\
+\xba\xec\x74\x66\xca\x8a\x8d\xd1\xce\x79\xef\x45\x1b\xb2\xd6\xfb\
+\x60\xd3\xa4\xe5\x1d\x4f\x37\x59\x1a\x29\xe8\x9a\xc2\x1e\x63\x34\
+\xa0\xbc\xe3\xe0\xb4\xa2\x34\x8e\x3a\x49\xdc\x63\x44\x40\xad\xc0\
+\x8a\xe3\xa6\x13\xe4\xb4\x7f\x0e\x01\x70\x0c\xbb\xb5\xbd\xd6\xef\
+\xcd\xac\x6f\x6d\x0c\xfa\x8b\x80\xb1\x1e\x02\x8c\x26\x78\xdf\xfb\
+\x3f\xda\xed\x0d\xaa\xca\xda\x62\xb4\x66\x27\xb3\x73\x83\x9f\x7e\
+\xfd\x77\x82\xa0\x76\xba\x06\x82\x05\x70\x50\x7c\x3e\x1b\x05\x3e\
+\xde\x64\x2e\x4d\x03\xa2\x26\xaa\x77\x66\x39\x82\x52\xd8\xde\xae\
+\x7b\x33\x11\x50\x08\x8d\x01\x5b\x14\xe3\x7c\x62\xaf\xbd\xea\x7a\
+\x60\x60\x43\x09\x90\x0f\x05\x11\xb1\xf2\xb5\x2d\xaa\xaa\x14\x89\
+\xbc\xf7\x22\xe0\x60\x88\x58\x71\xc2\x14\xd7\xbe\xde\xd1\x53\x1a\
+\x0b\x2f\x48\x90\xa9\xce\x18\x48\x82\x56\x9c\x46\x71\x27\x36\x5d\
+\xad\xe2\x33\x34\x26\x7c\x4e\xcf\xac\xbc\x1c\x65\xa9\x99\xe9\x75\
+\x36\xb6\x57\x07\xfd\x45\x17\x42\x55\xd8\x34\x8d\x9d\xe0\xc7\x5e\
+\xfd\xe6\xac\x3d\x5b\xd5\xb6\xdb\x6d\xd7\x29\xbb\xba\xfe\xd0\xdf\
+\xbc\xef\x4c\xa9\x89\xe0\x51\x95\x12\x17\x88\x9d\x67\x80\xee\x19\
+\xfe\x7c\x76\x77\x31\xa1\x12\xf0\xdb\x93\x95\x5e\x0b\xc0\xe4\xd4\
+\xfa\x23\xad\x56\xb6\x77\xe1\x5a\x60\xa6\x9c\x9c\x62\xe9\x79\x27\
+\xda\xf8\x28\xf1\x2e\x6c\x9a\x24\x44\x91\x38\x07\x67\x85\x28\x82\
+\x68\xf1\x2a\x78\x23\x52\x11\x87\x33\x1d\x6f\x64\xaa\x88\x48\x30\
+\xc1\x2b\x26\x1d\x99\x34\x4b\x3b\x91\x6e\x9d\x31\xf0\x77\xcb\x8b\
+\x9d\xaa\x9f\x2c\xcd\xac\xcf\x49\x61\xa6\xb7\x50\x59\x29\xf2\xaa\
+\xdf\xed\x3b\x8f\x5b\x6f\xdb\xfc\xf8\x47\x3e\x0a\x5f\xf5\xe6\x06\
+\x1b\x1b\x6b\x4a\xe3\x15\x2f\x7f\xe9\x4d\x37\x2d\x4f\x3f\x28\xbb\
+\xc5\x83\x3e\x9f\x6a\xc4\x79\x59\x49\x18\x81\x4f\xab\x07\x67\x4e\
+\x7a\x61\xfb\xfd\xac\xb4\xa3\x5e\x2b\x03\x6c\x8d\xe2\xc8\xd1\x83\
+\xd7\x3e\xf9\x49\x0a\x6a\x38\x1a\x97\x45\x1d\x45\x89\x08\x85\x10\
+\xb4\xd6\x22\x02\xe1\x46\xb1\x14\x21\x09\x44\x4d\x22\xbd\x87\x52\
+\xc4\x4c\x4a\x29\x66\x4d\x30\x84\x98\x90\x20\xc4\x90\x58\x73\x2b\
+\x89\xbb\x69\xda\x89\x74\x72\xda\xe4\x06\x76\x9b\x1f\xa7\xc9\x27\
+\x00\xb0\xd6\x29\x44\xb5\x93\x22\x77\xfd\x6e\x7f\x34\x04\x01\xdf\
+\xff\x92\x7f\xd7\x9f\x99\x6d\xf7\x67\x99\xe1\xeb\x51\x5d\x8d\xfe\
+\xf8\x8f\xde\x5a\xdb\x9d\xbd\xa3\xd3\x76\x61\xd3\xf6\xf3\x42\xf2\
+\x6d\xca\x99\x86\x99\x67\xac\xe0\x86\x24\x23\x00\x3e\x31\x3a\x20\
+\x67\xf0\x17\xee\xb8\xed\xda\x6b\x9e\xba\x3c\xb3\x3c\x71\x27\x46\
+\x85\x23\x92\x38\x89\xea\xda\x39\x27\x1a\xa9\x78\x53\x5b\xab\x28\
+\x0d\x1e\xae\xb6\x6c\x94\x52\x1a\x0a\xac\x42\x03\x89\x4c\xe3\x69\
+\x4d\xf5\x9e\x22\xd1\x9a\xd3\xc8\xa4\x69\xd2\xd1\x1c\xef\x34\x94\
+\x03\x4d\x73\xd9\x77\x4c\xf2\x33\x1d\xae\x83\x13\x9f\x26\x6d\x80\
+\x27\xe3\x71\xaf\x3f\x28\x4a\xb4\xda\x78\xd7\xbb\xde\x7b\x6a\xe5\
+\x38\x60\xfa\x83\xd9\xed\xad\x35\x40\xaa\xfa\xe1\x8d\x4d\xcc\x0e\
+\x76\x3d\xe0\xf4\x1b\xbd\xeb\x28\x5c\x48\xa6\x02\x9d\xf3\x0e\xa0\
+\x60\x0c\x6d\x6e\x6d\x02\x9a\x10\x6d\x15\xd5\xe6\x7a\xfd\xac\x6b\
+\x5f\xe8\xc1\x79\xb9\x19\x68\x4b\x99\x8a\x95\x25\x22\xef\xc8\x5b\
+\x4d\x92\xb4\xd2\xb9\x4e\x6b\x21\x4b\x7b\x91\x49\x59\x11\xc8\x0a\
+\x95\x2e\x4c\x44\x5c\x63\xd5\x79\x27\x21\x30\x42\xcc\x94\x69\xd5\
+\x4a\xa2\x7e\x12\xcd\x68\x6e\x7a\x1d\x53\x08\x53\x83\xe4\xdc\x9e\
+\xe2\x84\x46\x2a\xd7\x75\x0d\xe8\xaa\x0e\x33\xfd\x41\x93\x59\x74\
+\x6a\x15\x6f\x79\xf3\xdb\x95\x6e\x2d\x2c\xed\x29\x8a\x49\x12\xeb\
+\x3f\xfb\xf3\x3f\x03\x21\x49\xcf\x34\x01\x7d\x62\xeb\x2b\xcf\x47\
+\xc6\xf4\xd9\xad\xdd\x4f\x37\xb2\xe5\x99\xfe\x60\x6d\x63\x65\x6e\
+\xb6\x77\xdf\x3d\x27\xbe\xf9\xe6\x97\xd6\x80\xf3\x93\x10\xb6\x4d\
+\x14\x80\xba\xae\x01\x62\xad\x23\xcd\x49\x14\x25\x44\x64\x54\x2c\
+\xe2\x59\x79\x90\x27\x15\x24\x14\x21\x88\x31\xb1\xf8\xa9\x8f\x46\
+\x51\x62\x74\x16\x99\xb6\x56\x69\x1c\x67\x74\xda\xef\x05\x10\x79\
+\x00\x22\x3b\x3d\x6d\x69\x37\xc3\x14\x01\x8c\x89\x01\x65\x22\xb3\
+\xb1\x69\xbb\x1d\xa3\x15\x9e\xf3\xec\x17\x69\x95\x25\xad\x76\x91\
+\x8f\xab\x7c\xe3\x0d\x6f\xf8\x99\x57\xfc\xe0\xf3\x00\xa4\xc9\x6e\
+\x43\x13\x00\x4f\x5b\x4e\xca\xf9\x86\xf3\xf1\x4f\xba\x9d\x22\xe7\
+\x76\x15\x27\x0a\x00\x1f\xbc\x62\x33\x37\xbb\xf4\x91\x8f\xfd\xf5\
+\x77\xbe\xe8\x85\x04\x57\x85\xd1\x78\x38\x16\xd2\x5a\xeb\xba\x0e\
+\xce\x56\x51\x94\x44\x11\x1b\x83\x2c\xe1\xc3\x47\x0f\xd7\x3e\x0b\
+\xc1\xe7\xe5\x30\x8a\x38\x36\x5a\x9b\xc6\x98\x63\x88\x96\xc0\x44\
+\x91\x56\x49\x1c\x75\xd2\xa4\xcf\x64\x1a\xe5\xa5\x31\x48\x94\x06\
+\x91\x02\x42\x08\x42\xa7\xbb\xd9\x4e\xb3\x9f\xa6\x4e\x11\xcd\xb1\
+\x08\xd7\x16\xfd\x9e\x81\xe0\x0f\x7e\xff\x23\x07\x0f\x1d\xe9\x75\
+\xe6\x5c\x55\xd6\x36\x7f\xd1\x8b\xbe\xf3\x37\xde\xf9\x53\xcd\x87\
+\x8a\xaa\xce\x52\xbd\x33\x03\xe0\x89\x24\xbd\xf3\xd3\x6f\x53\x76\
+\xda\x7e\x9f\x0e\x75\x12\xa0\xf3\xa2\x74\xce\xa5\x69\xac\xb5\x10\
+\x6c\x61\xc7\x1b\x9b\xab\x5a\xeb\xf1\x78\xb8\xef\xa2\xe5\xed\xe1\
+\x3a\x2b\x3f\xd7\xee\x03\xf6\xa3\x9f\xfe\xd0\x4d\x37\xdd\xe8\x7c\
+\x2d\x81\x98\x19\x50\xc1\x83\x48\x29\x8e\x9c\x65\x09\x9a\x29\xce\
+\xd2\x7e\x3b\x1b\x30\x62\x20\xb6\x35\x19\x43\x67\xab\x24\xcd\xcd\
+\xb0\xad\x61\x74\xe3\xbd\x94\x20\x35\x33\xef\x44\x28\x34\x01\xf9\
+\x04\x59\x82\xcd\x2d\xec\xdf\xf7\x54\x48\xa4\xb5\xae\x6d\xde\x69\
+\xa7\x27\x56\x6e\x21\x46\x51\xa1\x95\x02\x04\xe7\x4b\xad\x08\x00\
+\x61\xc7\xaf\x7d\x96\xc9\x78\x81\xc8\xbc\x46\x81\x36\xbb\xde\x8d\
+\x43\x84\x8b\xb2\xc8\xd2\xac\xdb\x69\x6b\x8d\xb2\x1e\x02\x36\x35\
+\xbc\x77\x61\xce\x85\xd1\x45\xfb\x07\xab\x6b\x07\xdb\x5d\x9e\x6b\
+\xa7\x9b\xd5\xb1\xbf\xfe\xfb\xff\xce\xba\xca\x32\x65\x0c\x83\x02\
+\xa0\x14\xa7\x5a\xb5\x18\x2d\x48\x0a\x89\x23\xd3\x6a\x65\xbd\x34\
+\x69\x33\x0c\xa0\x45\x88\x99\xce\xd5\x9b\x4e\x2b\x4a\x66\xba\xbf\
+\xde\x7b\x1f\x82\x17\xef\x43\x70\x7e\xaa\x58\x65\x29\x82\xc7\xbe\
+\xbd\x4f\x06\x50\x54\xc3\x20\xb5\xb3\xf9\xca\xc9\x5b\xea\x12\xde\
+\xa2\x95\x62\x73\x6b\x0c\x34\x45\x0d\x8f\x25\x23\x2e\x28\x99\x77\
+\xc6\x36\xd0\x20\xbd\xab\x2d\x86\x28\xd5\x7c\x63\x27\xe5\xfa\xb1\
+\x13\x0f\x46\xb1\x5f\xde\x33\x48\x10\xf6\xce\x59\xe0\xe8\xe2\x7c\
+\x9d\x52\xa2\xd8\x81\x00\x00\x20\x00\x49\x44\x41\x54\xfb\x43\xff\
+\x7c\xc7\x97\x8e\x1c\x39\xda\x69\x0f\xbe\xed\xb9\xdf\xeb\xc0\x8c\
+\x54\x9c\x13\xa4\x50\x29\x49\x24\x9e\x04\xd0\x8c\x24\x4e\xdb\x49\
+\xaf\x69\x53\x1c\x44\x20\xf4\x2f\xd7\x3e\x86\x00\x2f\x41\x6b\x56\
+\xd0\x00\xc2\x94\xf7\xe2\xd4\xaa\x6f\xb7\xd5\x2f\xfc\xfc\xbb\xb4\
+\xd6\x5a\x9b\xa4\x95\x6e\xae\xaf\x9c\x3c\xfe\x30\x13\x26\x13\x3b\
+\xbf\x60\xc6\x63\x3b\xdb\x6f\x17\xc5\x24\x4d\xe3\x27\x40\xc4\x9d\
+\x6f\xb6\xb9\xbb\x64\x9c\xce\x51\x13\x50\xd5\x63\x65\x9c\x0f\xe3\
+\x07\x0f\x7e\xe9\xd0\x91\xaf\xc6\x09\x06\x0b\xaa\xb0\x87\x56\x56\
+\x1f\x89\x4c\xab\xc8\x43\xa7\xb5\x10\x9b\xfe\x75\xd7\x3e\xb3\x9b\
+\x2c\xe7\xa5\x54\x25\x5c\xad\x98\x62\x42\x1c\x82\x10\x29\x66\xce\
+\xb2\x38\x49\x12\xcd\x8d\xdb\x53\x7b\x0f\x6a\x86\x65\x7c\x8d\x1e\
+\xed\xde\xc1\xfb\xa0\x22\x30\x85\x1d\xef\x88\x06\x30\xda\x46\xa7\
+\x8d\x2f\xdd\xb5\x71\xe3\xd3\x6e\x04\xd4\xd2\xd2\xe2\xca\xca\xe1\
+\x13\x27\x8f\x2c\x0e\xb0\xbd\xed\xfa\x7d\x7d\xfa\x11\xaa\xaa\x8a\
+\x63\x73\xf6\xd4\x85\x1d\x17\x04\x5d\x60\xe0\x3d\xa6\x9d\x47\x8d\
+\x9d\x3e\x4c\x53\x26\x14\xb9\x3f\x79\xcf\xbd\xb7\x1e\x5f\x79\x20\
+\xaf\x8e\x2c\xed\xb7\xca\x54\xb6\x32\x27\x8e\x8d\x2f\x3b\xf0\xd4\
+\x41\xff\xb2\x4b\x96\x9f\xaa\xd1\x3f\xba\xb2\x4d\x92\x68\x95\x32\
+\x6b\xe7\x9c\xf7\x5e\x6b\x4e\xd3\xb4\xdb\xed\xd3\xae\xab\xef\xa4\
+\x38\xe0\x9c\x38\xd1\x59\x77\x24\x68\x7c\x69\x01\x70\x41\x08\x91\
+\x22\x88\xc0\x3b\x24\xf1\x65\x59\xd6\x15\x96\x62\xbc\x76\xf8\xc4\
+\xe1\xe5\x45\x1e\xae\x17\xb3\xb3\x29\x80\xf1\xb8\x68\x77\xd2\x7c\
+\x52\x64\xed\xd4\x7b\xbf\xab\xb2\x39\xec\x64\x0f\x9f\x6f\x4a\xa4\
+\xf3\x31\x08\xea\x9c\x67\xda\x59\x30\x08\x98\x2d\x30\x01\xc6\x35\
+\x36\x4f\x6d\x3e\xf2\xc8\x91\x3b\xd7\xb7\xef\x75\x7e\xd2\xca\xe6\
+\xae\xb9\xea\xa6\x24\x9a\x9b\x4f\x2f\x01\x3a\x87\x4e\xac\x8a\x4f\
+\x22\xd3\x8a\xa3\x8c\x99\xeb\xba\x72\xbe\x4e\xd3\xb8\xd3\x9e\x69\
+\x0a\xcf\xbd\xf7\x4d\xe0\x97\x88\x80\x10\x24\x30\x3d\x6a\x68\xd1\
+\x99\x2d\x0e\x02\xe7\xbc\x03\xb3\xa2\xa8\x69\xc8\x3f\x1a\xe1\x49\
+\x57\xdf\x3c\x1e\x15\xcc\x6c\xa5\xfc\xe8\xc7\xfe\xf2\xd9\xcf\xbd\
+\x54\x3c\x62\x85\x53\x27\x57\x07\x83\x81\x73\xce\x7b\x49\xb3\x64\
+\xfa\x2c\x67\xd1\x59\xd8\x11\x84\x4c\x17\x50\x95\x90\x03\x55\x3b\
+\xe3\x65\x9a\xa6\xf9\x6a\xba\xa8\x80\x01\x09\xa6\xac\x15\x58\xa5\
+\xd1\xec\xde\x99\xac\xd7\x59\x8a\xf4\x8b\x05\x14\x23\x0e\xc0\x6d\
+\x77\xdd\xa6\x2e\xf3\xb3\x2d\x5e\x5a\x9e\x59\x5f\xdf\x60\xae\x82\
+\xda\x16\x22\xd1\x56\x69\x98\xb4\x65\x54\x0a\xb4\x21\x20\x28\x62\
+\xd0\x8e\xc5\xbd\x63\xcd\x9d\x45\x19\x3b\x27\xc6\xf1\x8e\xe8\x55\
+\x34\x6d\xe3\xb2\xbd\x8d\x37\xbe\xf1\x1d\x2b\x2b\x27\xe6\xe6\xf7\
+\xaf\x9d\x3a\x7c\xcb\x3f\x7f\xee\xc6\x9b\x16\x27\x39\x3a\x19\x4e\
+\xae\x1e\x5b\x5c\x5c\x00\x24\xd2\xa6\x31\xf0\xeb\xd2\x33\xb3\x36\
+\xf4\x28\xfc\xe4\x3c\x97\xa8\x9f\x87\x36\xc5\x25\xe0\x76\xc1\x36\
+\xcd\xdc\xb2\x35\xbc\x97\x24\x6e\xaa\x9e\x7d\xc0\x44\x91\x05\xea\
+\xdc\xe6\x99\x89\x37\xf3\x95\x2f\x7c\xe1\x0b\xcf\xb8\xe9\xe6\x99\
+\xd6\xdc\xb8\x1a\x6e\x6c\x9e\x6c\x75\xd8\xf9\x22\x84\xd0\xdc\xb0\
+\xe2\xa4\xdd\x1a\xb4\xf4\x12\xa4\xbf\x33\xb3\x0b\xd2\xcc\x68\x43\
+\xc0\x74\x90\xdb\x8e\x55\xb7\xe3\x8c\x16\x04\x17\x0a\xcd\x00\xd8\
+\x8b\x10\x25\x00\xaf\x1c\x2f\xbf\x7a\xcf\x23\xdf\xf6\x6d\xdf\xbd\
+\x67\xf9\x92\xe3\x27\x0e\x7f\xe6\x96\xcf\x3e\xfd\xa6\x85\x26\x19\
+\xc5\xfb\x2a\x55\x31\x10\x9c\xaf\x89\xa0\x58\x57\x95\xd5\x9c\x2a\
+\x7d\x8e\x40\x75\x8f\x92\xb1\xfa\xcc\xf1\xd9\xc5\x7b\x08\x76\xc7\
+\x5f\x7f\x16\x27\xa2\xff\x49\x1e\x46\xe7\xdb\x54\x48\x80\x2e\xa4\
+\x0d\x49\x21\x4d\x54\xc8\x02\x13\x13\x15\x49\xea\x41\xc8\x27\x20\
+\x51\x4a\xba\xdb\xdb\x1a\x48\x33\x53\x97\xb8\xe7\xce\x7b\xff\x9b\
+\xd7\xf7\xb5\x5b\x06\x48\x57\x4f\x54\x9a\x67\x9c\x73\xc4\x0e\xe4\
+\xbc\xb7\x44\x2a\x4b\x06\xa9\x3e\x00\x0c\x20\xca\x15\x65\x03\x54\
+\xee\x30\x2c\xc5\x82\x1d\x74\x2d\x2a\xc0\x34\x89\x2c\x75\x55\x01\
+\xec\x5c\x00\x82\xe6\xaa\xc4\x96\x45\x49\x14\x01\x5c\x15\x58\x58\
+\x48\xbe\xfd\xdb\xbe\xbf\xdb\x5e\xde\xda\x1a\xbe\xfb\xdd\xef\x79\
+\xd6\x33\x16\xb4\xc6\x78\x3c\x66\x54\xb5\x2d\xbd\x40\x84\x95\x8a\
+\x98\x45\x90\x47\x71\x50\x66\xba\x95\x4d\x3e\x95\x73\xb5\xf7\x15\
+\xe0\x20\x02\x84\x80\xa2\xb2\xc3\xda\x55\xb2\x63\xd8\x5a\xdb\x0c\
+\x53\x69\x68\x73\x02\x4c\x76\x6b\x03\xb2\xcb\x63\xbf\xcb\x6f\x7f\
+\x76\x60\xff\x31\xda\x7b\x9e\x37\x3b\xaf\x09\x9e\x9d\x89\x2a\x34\
+\xd1\xea\xca\x4b\x29\x82\x38\x9a\xfe\x3c\x89\x3b\x40\x70\x18\x7e\
+\xf9\xfe\xcf\x6c\x8e\x0e\x5e\xff\xd4\xcb\x18\xe1\xe4\xda\xa9\xd9\
+\x99\x45\x09\xcd\x24\xbc\x00\x08\x11\x11\x34\x21\x41\x68\x21\x30\
+\x3c\xeb\x38\x41\x40\x10\x28\x8d\x38\x21\x0f\x58\xc0\x79\x42\x93\
+\x57\x28\xd3\x81\x36\x5a\xf3\x0e\x7d\x8a\xc1\xd4\x05\x13\x47\xb8\
+\xe6\xaa\xef\xca\xb2\x6e\x51\x14\x4b\x4b\x0b\x3f\xf8\x83\x37\x35\
+\xa7\xbb\xdb\x4e\xc6\xe5\x56\x2b\xc9\x70\x26\x31\xc2\x36\xb7\x2d\
+\xb0\x4d\x9b\xcf\xca\x96\xa0\x89\xd2\x5b\x4a\x6d\x02\xeb\x0e\xab\
+\x01\xeb\x8c\x61\x6c\x6c\x34\xcd\xb5\x90\x20\xf0\x67\xfa\xc4\x06\
+\xc0\x0b\xfc\x63\x22\xf1\x28\xcf\xc6\xff\xb8\xef\xea\x79\x19\x47\
+\xb3\x7b\xda\xcc\x2e\xdd\x5a\x02\xd5\x36\xc4\x11\x03\x28\x2b\x49\
+\x52\x0f\xe4\x0f\x1f\xbf\xfb\xc4\x89\x63\xc1\xc5\x7b\x5a\x97\x13\
+\xd4\x70\xb4\xbe\x77\xb9\x97\x57\x6e\x3a\x83\x12\x81\x48\x33\x25\
+\x4c\xd1\x4e\x22\x28\x20\x38\x72\x6c\xe3\xe4\xc6\xb8\x33\xb3\x24\
+\xca\x78\xef\xeb\xaa\x74\xc5\xb0\x9b\x45\xab\x27\x0e\xdf\xfc\xbc\
+\xa7\x45\xf1\xb4\xd5\x77\x59\x56\xca\x50\xac\xbb\x75\x1d\xa2\x88\
+\x57\x4e\x8c\x97\x16\xdb\xdb\x9b\x27\x15\x53\x1c\xcb\x9b\xdf\xfc\
+\x73\x60\x6c\x6d\xa3\xd3\x83\x62\xc4\x71\x9c\xd7\xe3\x56\x34\x03\
+\x00\xa8\x00\x0b\xd4\x00\x13\x0a\xa0\x02\xb9\x2a\x1c\x77\x76\xa8\
+\x4d\x0e\x54\x04\x29\xac\x37\x3a\x2b\x0b\x57\xd7\xf1\xf2\xcc\xb5\
+\xcd\x24\x46\xa2\x8c\xd5\x4e\xb4\x7d\xca\x3d\x79\x37\x2f\x25\x01\
+\xd3\x6e\x76\xf8\xb5\x31\xa3\x27\xc6\xb7\x79\xce\x50\x1e\x6e\xb2\
+\x06\xb4\x8a\x5c\x1d\x40\x1c\x02\x48\x4d\x80\xea\xd4\xe8\xc1\x7b\
+\xee\xfd\x62\xab\x13\xcf\xa5\x7b\x26\xa2\xdb\xc4\xed\x4e\x34\x9a\
+\xac\xb2\x72\xd3\xb0\x8b\x04\x82\x6e\x62\xe8\x53\xf0\x08\xf9\xd0\
+\xbe\xfd\xed\xff\xf1\x8f\xff\xe4\xcf\x80\x14\x50\x50\x31\xc7\xa6\
+\x93\x1a\xb8\x49\x5d\x6c\x7d\xe0\xfd\x7f\xf1\x1d\x2f\xba\xd9\x5a\
+\xaf\x8d\x4a\xd3\x16\xa0\x8b\xb2\x48\xa2\x36\x09\x96\x97\xda\xce\
+\x81\xd8\x0d\xc7\x6b\x89\xc9\x86\xa3\x53\xe3\x11\xfa\x33\xa8\xad\
+\x04\xf1\x46\xa5\x3a\x92\x1d\xc9\xed\x77\x6d\x57\x00\x6c\xee\x4e\
+\xde\xf1\xe5\x8f\xe7\xd5\xc3\x26\x99\xb8\x30\x04\xe0\x9d\x4e\xe3\
+\x7e\xf0\x31\x87\xc1\xcc\x33\x16\x13\xbd\xa8\xa0\x03\xac\x52\x66\
+\xf7\xb3\x13\xf8\x1c\x5d\x6a\xda\x72\xf2\x4c\x6e\xdc\xff\xac\xd1\
+\x71\x1e\xf4\x22\x0f\xb8\xb3\xef\x44\x01\xc6\x7b\x02\x48\x6b\x0d\
+\x02\xb8\x8a\xa3\x0a\xd8\x38\x78\xf8\xce\xda\x6d\x84\xe0\x2f\x3b\
+\x70\xa3\xb8\xee\x66\x3e\x6c\xb5\xa3\xca\x6e\x09\x95\x90\xa6\xcd\
+\xa6\x62\x4a\x18\x2d\xc5\xd9\xf4\xea\x16\x59\xd7\xa4\xad\x7e\xbb\
+\xbf\x6f\x61\xff\x35\xed\xa5\xab\x74\xb6\x14\x7c\xbb\x2a\xf4\x78\
+\x1c\x8a\x1a\x9d\xf6\x80\x08\x5a\x99\x10\x60\xad\xb7\x15\xa5\x71\
+\x9f\xa0\x21\x18\x0f\xc3\xc6\x7a\xf9\xb9\xcf\xfd\x7d\xbb\xa5\xb2\
+\x16\xfd\xdc\xcf\xff\x54\xa7\x0b\x08\xca\xb2\x34\x2a\x06\x8c\xf3\
+\xd4\xe8\x3e\x0c\xc5\x88\x9b\x5e\xca\xcd\x90\xc6\x4c\x93\x32\x5b\
+\x30\x27\x54\x7a\x42\x45\x47\x55\x74\x34\x4a\x4f\xa8\x68\xa5\xb6\
+\x87\x46\xc5\x23\x91\xae\x81\x8a\x50\x31\x6a\x21\xc8\x19\x5d\xe3\
+\xec\xb9\x80\x38\x2d\x47\x9a\xf3\xe1\x77\x8d\xf1\x93\x47\x05\x67\
+\xce\x37\x78\x61\xd7\x10\xde\xdd\xe4\xae\x88\x34\xc0\xda\x20\x04\
+\xc7\x54\x00\xa3\xb5\xfc\xc1\xd5\xf5\xfb\x17\x96\x5a\x5b\x5b\x5b\
+\x83\xf6\xc5\x1d\xb3\x6f\x7d\x6d\xb3\xb6\x93\x38\x0d\x82\xba\xc9\
+\x6c\x20\xc4\x04\xad\x38\x63\x6a\x32\x26\xd1\xa4\x3e\x6f\x6c\x8e\
+\xc7\x5b\xc3\xd5\x93\x5b\xe3\xcd\x92\xa8\x95\xa4\xb3\x75\xad\x7a\
+\x9d\xa5\x76\x34\xd3\xe0\x64\x0c\x31\xc3\x18\x65\x4c\x54\x4d\xac\
+\xab\x42\x31\xae\xda\x5d\x5e\x58\x4c\x96\x96\x67\xee\xfe\xca\x6d\
+\xf3\xf3\xad\xc5\x85\xee\xd5\x57\x5e\x2f\x82\x5e\x27\x05\x30\xc9\
+\x6d\xa4\x62\x9e\x32\xf9\x18\x48\x80\x36\xd0\x06\x32\xc0\x00\xbe\
+\xaa\x87\xa4\x8a\x38\xad\x74\x9c\x9b\xa4\xd0\x51\xed\xc2\x46\xab\
+\x67\x81\x2d\x86\x17\x58\x81\x07\x9c\xa6\xc0\xfc\xaf\xda\xb1\xc7\
+\xf2\xc9\x3e\x41\x94\xf7\x98\x4c\x9c\x15\x9f\x2e\x6b\xae\x81\xc2\
+\x61\xe3\xf0\xf1\x3b\x03\x6f\xb0\xb6\xb3\xb3\x03\x42\x07\x68\x33\
+\x73\x55\x8f\xb4\xf1\x4a\x07\x80\x20\x06\x50\x84\x88\x29\x66\x8a\
+\x80\xe9\xc8\x28\x01\x5a\x9d\x4e\xd2\x9b\xeb\x0d\x16\x54\xdc\x56\
+\xba\x55\x57\xcc\x94\x10\x22\xa3\x13\xe7\x42\x95\x9f\x09\x2c\x4c\
+\x86\x79\x9c\x19\x1d\x73\xda\x8e\x9b\x13\xdd\xee\xa8\xfe\x4c\xeb\
+\xde\xfb\xee\xf8\xd0\x87\x3f\xf8\xba\xd7\xbf\xfa\xc9\x4f\x7e\xea\
+\x07\x3f\xf8\x91\xba\x42\x3b\x8b\xbd\xdf\xd9\x25\xd1\x10\x4d\x1e\
+\xe4\x01\xcf\x40\x3b\x20\x96\x60\x34\x29\x45\x24\x81\x14\x1b\xa3\
+\x13\x11\x61\x2e\x2b\xbb\x05\x88\x97\x26\xa6\xab\x76\xec\x16\xec\
+\x98\x2b\x3b\x82\x8f\x1e\xd3\x1b\xf5\xaf\xe8\x75\x7c\xbe\xdc\x01\
+\xf4\xe8\x76\xcc\xa8\x6b\x07\x80\xd8\x03\x55\x29\x6b\x6b\x9b\x0f\
+\x46\x49\xb5\xbe\x7e\xea\xaa\x2b\xaf\x75\xc1\x6c\x8f\xca\x5e\x6f\
+\x46\x69\xd4\x36\x37\xd3\xb1\x22\x0c\x69\x12\x55\xcc\x69\x19\x4f\
+\x84\x40\xb0\xd6\x56\xb6\x9e\x8c\x0b\x3f\xce\xbd\x13\x81\x8a\xd3\
+\xf6\xe6\xf6\x68\x3b\x1f\x13\x94\x49\x00\xc2\x78\x32\x04\xd0\xea\
+\x65\xbb\xcf\x74\x91\x97\x75\x55\x75\x7b\x19\x08\x37\x5c\x7f\xed\
+\x6b\x5e\xf3\x13\xf7\x7c\xe5\x8e\xeb\xaf\xbf\x3e\x8a\x30\x1d\x11\
+\xbd\x5b\x59\x38\xa3\xb2\x6b\x46\xac\xb5\x21\x52\xb6\x0e\x65\x69\
+\xbd\x63\xc5\x29\xb3\x21\xf2\x10\x0b\x28\x4d\x6d\x46\x2a\x30\x00\
+\x97\x76\x9a\xc0\xdf\x14\x94\x0a\x9d\xbd\x27\xa2\x21\x7a\x27\xb9\
+\x86\x20\xbb\xd3\x0e\xfe\x25\x8c\xce\x03\x78\x5f\x73\x89\x28\xd2\
+\xde\x7b\x86\x07\x8a\xed\xd1\x71\x8f\x4d\x65\x6a\x6b\xfd\x72\xef\
+\x80\xe1\xd6\x64\x5c\x01\x4d\x7d\x57\xa8\xeb\x52\xab\xc8\xd6\x8e\
+\x59\x97\x65\x9d\xa6\x99\x73\x80\xc0\x39\x01\xc1\x79\x98\x88\xc5\
+\xd5\x3e\x58\x64\x99\x0d\x9e\x19\x9d\x4e\x2f\x48\x1d\x47\xad\xac\
+\xdd\xca\x4b\x58\x8f\x56\xbb\x5d\x3b\x9b\xe7\xf5\xee\x9c\x8c\x24\
+\x4b\x74\x64\x1a\x44\x26\x45\x9e\x24\xda\xb9\x70\x60\xff\x5e\x45\
+\x60\xa0\x98\x4c\x08\x15\xa1\x00\xea\x1d\xf7\xc0\x99\xa9\x9a\x91\
+\x8a\x98\x22\x42\x9c\x98\x8e\xa6\xcc\xd7\x9a\x42\x2c\x22\x49\x9c\
+\x01\xad\xaa\x8c\x80\x76\xd3\x37\x21\x32\x1a\xc0\xa4\xa8\x05\x7a\
+\x58\xe4\x01\x10\xc6\xc6\xf6\xf8\x4c\xfe\x99\xc0\x5b\x0e\xb6\xb1\
+\xee\xb5\xb5\xb2\x3b\x19\x58\x80\xe1\x68\x22\x04\x17\x9e\x00\xca\
+\xe3\xaf\x1d\xf1\x0a\x01\x2e\xa0\x3a\xb5\x7e\x18\x3c\x26\xae\xd3\
+\xb8\xcf\xe8\x4c\x3d\x90\x22\x10\xa2\xe9\x24\xca\xa9\x91\xa6\x94\
+\x69\x08\xee\xb4\xf7\x99\xa7\xcc\xd9\x9d\xee\xf1\x2e\x84\x95\x63\
+\x8f\x24\x69\xb7\xa8\xc7\xc3\xbc\x48\xdb\x10\xc2\xb8\xb2\xac\xe3\
+\xb8\x15\x95\x15\x8a\x4a\xac\xc3\x64\xe2\x41\x20\xe6\x10\x50\x14\
+\x55\x96\x66\xb5\xad\xa3\x08\x5a\xbb\xbc\x18\x06\x29\xbb\x1d\x99\
+\xd4\x47\x2a\x39\x4a\x38\xa5\xd4\x06\x99\x09\xb4\xf5\x52\x56\xf5\
+\x2a\x30\x71\xbe\xa8\xeb\x32\x84\x00\x4c\x73\xda\x94\x52\xac\x60\
+\x7d\x00\x32\x0a\xed\xe0\x51\xd5\x28\x2a\x0c\x47\x4e\x04\xca\x44\
+\x01\x26\x4d\xfb\xa3\x7c\xec\x01\x65\x8c\x00\x2e\x60\xb8\x3d\x0d\
+\xf7\xb3\x21\x08\xc6\xe3\x4a\x1b\x53\x96\x8d\x75\x24\x5b\x5b\x5b\
+\x00\xda\xed\x16\x80\x73\x42\x5d\xe7\x61\x1c\xcd\x63\x72\xf0\xa9\
+\xfd\xa0\x54\x53\xaa\x65\x8f\x9f\x38\x64\xda\x5e\x04\xfd\xee\x3e\
+\x85\x8e\x15\x0b\xae\x44\xbc\x40\x31\xc5\xcd\x63\x34\x79\x7f\x5a\
+\x19\x40\x68\x5a\xf3\x77\x9a\xad\x35\x7d\x71\x3c\xe0\xc0\x0a\x01\
+\x94\x66\x83\xb9\xf6\xb1\x23\x27\x9b\xce\x8b\x50\x88\x54\xec\x81\
+\x71\x2e\x89\xa1\xe1\xd0\x29\xa5\x66\x7b\xca\x0b\xf2\x1c\xad\x0c\
+\xac\x63\x00\x5a\x23\x48\xae\xc8\xb5\x52\x0b\x4c\x02\xc6\xad\x68\
+\x08\x54\x00\x3c\xc8\x23\x62\xc4\x5a\x67\x0a\x15\xb0\xa9\x4c\x0e\
+\x9f\x43\x6a\xa5\x20\xb0\xe2\x2a\x15\x29\xe7\x5c\x1c\xcd\x02\x9d\
+\xe0\x41\x01\x86\xe1\x15\x54\xac\x47\x13\x64\x19\x02\xb8\xa8\xea\
+\x2c\x6b\x0f\x27\xbe\xdb\x8e\x8f\x9d\x28\xbb\xed\x24\xeb\xe2\xd4\
+\x26\xe2\x04\x71\x04\x11\xa4\xed\x78\x52\x60\x3a\x83\x98\x08\xa4\
+\x9a\x7f\x8b\x3c\xcf\xb2\xec\x3c\x1b\xe9\x0a\xbb\x2d\x9b\xa9\x27\
+\x10\xbb\xf2\xaf\x84\x21\xc3\xd1\xc6\xe2\x4c\xa8\x4a\xcc\xcd\x5f\
+\x06\x74\x9c\xcf\xc1\x13\x11\x11\xd1\xcc\x6a\x0a\x1e\x43\x44\xe2\
+\x28\x02\x42\x13\xb1\xe3\xd3\x03\x9d\x65\x47\x33\x22\x0f\x84\x40\
+\x8c\x62\x92\x57\x11\x60\xac\x28\x0f\x0c\x47\xf8\xfc\x3f\xdd\xfa\
+\x3b\xbf\xf7\xbb\x87\x1e\x39\xfa\xc8\x83\x0f\x83\xf4\x4c\x7f\x90\
+\x65\xad\x6f\x7f\xe1\xb7\xbd\xee\xb5\xaf\xbe\xe1\x29\xf3\xda\x60\
+\x63\x7b\x3c\xdb\x33\x95\xdb\x56\xda\x02\x93\xed\xea\xe4\x23\x87\
+\xef\x39\xb9\xf6\x40\xa0\x42\x82\x15\x91\x24\xea\xcd\x0d\xf6\x5e\
+\xb4\x7c\xe9\x4c\x3a\x0b\xe4\x51\x5a\x9b\x00\x56\xc2\xc4\xce\x3a\
+\xeb\x26\x2a\xce\xac\xab\x3a\xbd\x99\xdf\xfd\xbd\x3f\x1c\x9e\xba\
+\xa4\xdd\xed\xaf\x6d\x9e\xec\x0c\x74\x51\xe5\x59\x3a\x58\xdf\x5a\
+\xff\x96\x17\xde\x74\xf3\xf3\x9f\x2c\xc0\xdf\x7e\xe2\x1f\xdf\xfa\
+\xe6\xb7\x55\xa5\x1c\x79\xe8\x04\x40\xed\xfe\xcc\x25\x97\xec\x7f\
+\xf9\x0f\xfe\xc0\xff\xf6\x63\x2f\x6f\x65\x48\x53\xf8\xa0\x1a\x1e\
+\xd9\x6a\xb5\xa6\x2c\x2a\xb8\x73\x9c\xec\xfa\xbc\x30\xcc\xdd\x6c\
+\xf3\xb4\xe5\x70\x7a\x82\x76\xb0\xa8\x44\x3c\xb1\x54\x65\x98\xe9\
+\x5e\x02\xb4\xad\x3f\x09\x1e\x03\xa9\x04\xc3\xca\x78\x6f\x9b\x32\
+\x49\x11\x89\xa2\x48\x60\x01\x23\xa2\x9b\xe0\x81\x6a\xa6\x1d\x08\
+\x48\xce\x4c\x8f\x99\xbb\xe8\xe2\xb5\x23\xf7\x01\xa6\xd3\x59\xb0\
+\x01\xcf\x7d\xfe\xf7\x3f\x70\xe7\xed\x66\x30\x6b\xad\xf4\x16\x2e\
+\x1b\x0e\xf3\xcd\xb5\x72\x18\x47\x7f\xfa\x27\x1f\xf8\xcb\xbf\xfc\
+\xbb\xe7\x3e\xe7\xc6\xff\xfa\x5f\xde\xd5\xe9\x65\xc0\x38\xd1\x55\
+\x85\x63\x0f\x1d\xfc\xe2\xca\xea\x03\x01\x79\xd2\xd6\xac\xac\xa0\
+\xb4\xae\x70\xd5\xa9\x13\xa7\x1e\x59\xdf\xb8\x27\x8a\x92\xa7\x3f\
+\xe5\x7a\x60\x4c\xec\x82\xd4\x86\x21\xe4\x2b\x38\x90\x22\x2d\xcb\
+\x8b\x7b\x5e\xfc\xd6\x77\x4c\x86\x57\xa5\x51\x6f\x52\xaf\xa9\xc4\
+\x91\x66\x37\x0e\xd0\xe6\xf0\xd1\x17\x3f\xef\xe6\x27\xcf\x2d\x3e\
+\xb5\xae\x2c\xa0\x5b\xe9\xec\xdc\xbe\x27\x69\x95\xac\x1c\x3b\xf2\
+\xe0\xc1\xd5\x5f\x7a\xe3\x5b\x7f\xe9\x2d\x6f\xfb\xad\x77\xfd\xda\
+\x4f\xfd\xf4\xcb\x48\xa1\xac\xa0\x15\x22\xcd\x55\x5d\x25\x91\x69\
+\xb7\xb3\x73\xa2\x16\xe7\x45\x61\x91\xc7\x76\xdc\x59\x6b\x01\x78\
+\xf8\xed\x7c\x3b\x8a\x8d\xf7\xce\x7b\x74\xdb\x7b\x80\x56\x6d\x47\
+\xe0\x02\x00\x82\x21\x49\x24\x68\x00\xc4\x02\x20\x8a\x4d\xa3\xb0\
+\x87\x5d\x41\x18\xde\xa9\x65\x3d\x3d\x3d\x66\x7b\x7b\xd4\x9e\xdb\
+\x67\x5a\xfd\xe3\x27\x37\x3a\xe6\xfa\x07\xee\x3e\x4c\xdd\x3d\xd6\
+\xa6\xe0\xce\xf6\x91\x2d\x41\xa7\x33\x7f\x85\x2f\x63\x84\xae\xb5\
+\xe9\x27\x3e\xf1\xb9\xd7\xbc\xee\x3f\x68\xc5\x80\xdd\xcc\x0f\xdf\
+\xf7\xc0\xe7\x8e\xae\xdc\x36\xa9\xee\x35\xc9\xfa\xfa\xda\xc1\x8d\
+\xad\x63\x93\xf2\x44\xa0\x75\x15\x6f\xe8\x64\x53\xd4\xa9\xda\x9f\
+\x3a\xb2\x7a\x6f\x51\x0e\x83\xb8\xba\x72\xde\x7b\x66\x26\x12\xe2\
+\x50\x56\x93\xc1\xfc\xec\x68\x38\x01\x12\x13\x77\xb5\x9e\x55\xa6\
+\x43\x9c\xb6\x67\x0f\xc0\x45\x97\x5f\xfe\xb4\x2b\xae\xf8\x9e\xc9\
+\x84\xad\x4d\x92\x78\x71\xeb\xe4\x68\x9c\xf3\xca\xa1\x63\x51\x7b\
+\xbe\xb2\x1a\xdc\x66\x93\xbd\xe3\x37\x7f\xe7\x47\x7e\xf4\x17\x8a\
+\x12\x26\x86\xf5\xd2\x38\x61\x1a\xb3\xbd\xaa\xcb\xf3\xab\xb0\xc8\
+\x63\x66\x46\x34\xd9\x92\x1e\x80\xf3\x6e\x6d\x6d\x2d\xcb\x32\x11\
+\x49\xe2\x76\xca\xf3\x3e\x68\xeb\x72\x52\xcd\x8d\x6a\x42\x24\x41\
+\x89\x08\x11\x44\xbc\x86\x6e\x74\x93\xb0\x93\x47\x48\x01\x14\x34\
+\xc9\x59\xad\x18\xec\x70\x33\x8e\x53\x5b\xe3\x65\xdf\xfb\x92\x85\
+\x8b\xaf\x41\x88\x85\x5a\x40\x4b\x45\x73\xc9\xbe\x27\x81\x7a\xa3\
+\xed\xd0\x9e\xbd\x24\xee\xec\x19\x6f\x39\xe7\xe3\x0f\xbe\xf7\x03\
+\x7f\xf4\xc7\x7f\x22\x28\xee\xbd\xff\xb6\x43\xc7\xee\x50\xd1\xfa\
+\xe2\x72\xe0\x68\x63\x69\x79\x76\x76\x76\x36\xcd\x14\xa9\x1a\x3c\
+\x09\x18\x79\x19\xb9\x30\x3e\xb9\x7a\xdc\x39\x67\xd8\x88\x43\xf0\
+\xc4\xac\x89\x94\x88\x38\xa9\xb6\x87\x1b\x20\x9a\x9f\x59\x32\x51\
+\xd6\xee\xf4\x15\x47\xb6\x0c\x93\x3c\x20\x9d\xff\xed\x77\xfd\xe1\
+\xc9\x95\x1c\x2e\x41\x68\x13\xf5\xd2\xd9\x4b\xca\xa1\xef\x2c\x5f\
+\x25\x30\x71\xd6\x4b\x07\x4b\x2a\x6a\x07\xd1\xff\xdf\x9f\xbf\xef\
+\x0f\xff\xf0\xdd\x00\x92\x98\x1a\xb5\xbc\x09\x3f\xf0\xa3\xed\xad\
+\xf3\x9c\x35\x03\x44\x40\x04\x80\x99\x00\x07\xae\x46\x93\x13\x71\
+\x42\x24\xad\x56\xb2\x4c\x88\x43\x40\xf0\x04\x61\xe2\x00\xaa\x41\
+\x56\xa4\xe9\x26\xa0\x20\xd1\xe9\x70\xae\xc8\x74\x38\x8c\x10\x84\
+\x1a\x3b\x9a\x4f\x3b\x29\x5a\xf3\xfb\xd6\xd7\xb6\xe2\x2c\xe5\x56\
+\xaf\x28\xc7\xf0\xae\x15\xa7\x46\xc5\x3e\xaf\xca\xcd\x09\x9c\x02\
+\x99\xf1\x68\x28\x40\x6b\x76\x41\x9b\xa4\xd5\x9f\xfd\x99\x37\xbc\
+\xce\x61\x6b\x7b\x7c\x28\x4e\xad\x0b\xdb\x8e\x46\xce\x4f\x46\xe3\
+\xe1\x78\x3c\xae\xeb\x8a\x88\x22\x3d\x93\x98\xf9\xc8\x74\xb4\x32\
+\x45\x39\x52\x3a\x98\x38\x03\x27\x10\x0d\xd6\x40\xf0\xa1\x1a\xcc\
+\xf4\x37\xd6\x37\xbb\xb3\x83\x51\x99\x9f\x5a\x3f\xba\x95\x17\x50\
+\x19\x45\x1d\x1d\x27\x69\xd6\xa9\xaa\x00\xcf\x69\xaf\x17\xb7\xd2\
+\xd1\x64\x54\xe4\x63\x9d\xc5\xa3\x8d\x53\xb6\x76\xc5\xa4\x2c\x2a\
+\x08\xa5\xdb\x23\x67\xb2\xb9\x37\xbd\xe9\x57\xd7\x4e\x09\x49\x83\
+\x10\x17\x93\x1c\x10\x13\x45\xe7\x17\xbc\xb3\x2c\xce\xd0\x4c\xac\
+\x80\x18\x11\xd6\x0a\x82\x32\xa2\x6a\x58\x3c\x10\x30\x2c\xc7\xdd\
+\xe5\xb9\xa7\x39\xd4\x45\xb9\x6d\xd4\xac\xa2\x19\x90\xd3\x71\xee\
+\xb1\x1e\xa5\xb6\xc8\x2d\x49\xd6\xef\x2e\x07\x89\x15\xda\x22\x51\
+\xd4\xb8\xae\x14\x3c\x23\x40\x35\xe6\x30\x09\x40\x1e\x14\x26\x93\
+\x32\x6e\xf7\xaa\xaa\x8c\x13\x8c\x36\x1f\x9e\x59\x8c\x62\xc9\x75\
+\x35\x31\xb6\x58\xe8\xb5\x31\xde\x52\xec\x28\x29\x6a\xda\x9e\x54\
+\x93\x40\x28\xeb\x42\xa8\xfa\xc2\x1d\x1f\x55\x7a\x2b\x8e\x25\x8e\
+\x4d\xf0\x5c\x5b\x40\x4c\xaf\x35\xe3\xad\x35\xe8\x6c\xad\x76\xeb\
+\xd1\x45\xe5\x68\xa6\xcc\x95\x90\xd5\x71\x70\x5e\x98\x13\x21\x5d\
+\x54\x25\x99\x20\xe2\x6c\xee\x3a\x69\x6f\x3c\xca\x85\x02\xb5\x62\
+\xa4\x54\x04\x25\x9c\x39\xf2\xa5\x9b\xa0\xb6\x26\xd2\x21\x8c\xab\
+\xad\x87\x04\xeb\xa8\x57\x83\x5d\xeb\xf4\x14\x42\xc1\x51\x84\xc2\
+\x39\xca\x48\xcf\x5a\x9f\xb5\x5a\x7b\xbe\xf9\xf9\xdf\xcd\x01\x52\
+\xc3\x97\x21\x4b\x5a\x8f\xae\x62\x39\x2f\x21\xa1\xdd\xa7\x64\xc7\
+\x21\x4b\xac\xc2\x74\xbe\xb2\xf3\x32\x4c\x22\x2a\x46\x59\x3b\xdb\
+\x43\x10\x90\x0f\xce\x04\xd4\xa4\xca\x20\x16\x42\x84\x34\x4b\x7b\
+\x49\xd4\x33\xba\xf1\x6a\x72\xd3\x4a\x80\x48\x40\x2c\xc4\x32\xb5\
+\x05\x9b\xe6\x2c\x04\x0a\x60\x55\xad\xaf\xed\xbd\xea\xa2\x63\x47\
+\xbe\x62\x12\xda\x3c\xf9\xb0\xd6\x33\xc1\x69\xad\xb2\xd5\xe3\x0f\
+\x2c\xee\xb9\x7a\x58\xe6\xc5\x78\x13\x9d\xb6\xe6\xc4\x56\x4e\x6b\
+\x5c\x71\xf9\x1e\xd2\x23\x8d\x09\xa8\x02\x10\x44\x31\x89\xd2\x98\
+\xe4\xa3\xba\x54\x0b\xb3\x17\xcd\xec\xbd\x76\xa6\x77\xf1\xa4\x38\
+\x35\x29\x8f\x6c\x8c\xef\x9a\xe4\x9b\x84\xd8\x18\x13\xe0\x01\xb0\
+\x8a\x05\x01\x22\x2c\x0c\x20\x10\x84\x3d\x1a\x96\x80\x20\xe5\x04\
+\x84\xd9\x85\xb9\xe1\xf6\x4a\x65\xd7\x7e\xf1\x57\x7e\x61\xdf\xde\
+\x4b\x1e\x7c\xe0\x91\xdf\xff\xed\x3f\x18\xad\x6e\x75\x16\xf6\x8f\
+\x6b\x37\x38\x70\xe9\xfa\x03\x0f\xc9\x6c\xbf\xd3\xcd\xc6\x5b\xc7\
+\xb6\xb5\x1c\x39\xec\xf6\xef\xd7\xd0\x0c\xe2\x50\x17\xa4\xcf\x6a\
+\xd3\xa3\xf1\xc4\xbd\xac\xb5\x91\x61\x80\x9d\x85\x56\x91\xb3\xd2\
+\xeb\xce\x08\x7c\x08\x12\xc4\x09\x84\x44\x2b\x56\x10\x66\x4a\xdb\
+\xd9\xc0\xa8\x8e\x51\xc9\xce\x39\x08\x53\x9c\xce\x08\xd3\xb3\xb8\
+\x88\x32\x8a\xfa\x33\xc7\xee\xbf\x5b\xf7\x68\xd0\xeb\x7e\xf4\x96\
+\x4f\x1d\xd8\x3b\xef\x2a\xfc\xdf\x7f\xf8\x57\x6f\xf9\xe5\x5f\x19\
+\x8e\xb6\x82\x66\x24\x19\xb1\x76\x65\xa5\x0d\x29\xe5\x9e\xfd\x9c\
+\xa7\x81\x0a\x6d\xbc\xf7\x56\x44\x24\xb0\x52\x4a\x51\xe5\x4a\x9e\
+\xed\x1d\xb8\x68\xe9\x19\xdd\xe8\xa6\x58\x2d\x04\x6c\x95\xe1\xd0\
+\x7d\x8f\x6c\x1d\x3f\xb5\xce\x6a\x98\x25\xa9\xb5\xb5\x78\xa5\xb9\
+\x63\x6d\xcd\xca\x87\x73\x83\x76\x0e\x84\xb8\xd7\x86\xb3\x1b\x6b\
+\x27\x50\xaf\x15\xe1\x9e\xe6\xc6\x27\x63\xfc\xe6\xaf\xfe\x58\xa2\
+\xaf\x1e\x4f\x36\x5b\xfd\x85\xf5\x87\xee\x43\x92\x31\xf3\x68\x63\
+\x13\x41\xb6\xb6\x86\xef\x7d\xef\x7b\x7f\xf6\x67\x5f\x31\xcd\x28\
+\xf1\x36\x3a\x7b\xfa\xf0\xf9\x94\x79\xe7\x8e\xa0\x6b\x1a\x36\x00\
+\xec\x1d\x44\x54\xf0\x9c\x51\xdb\x8b\x0b\x62\x45\x44\x29\x93\x24\
+\xad\x76\x6b\xa6\xd7\x5d\xe8\x75\x16\x92\xa8\x63\x54\xeb\xec\xd3\
+\xb6\x43\xc5\x82\x47\x0d\x98\x0c\xbe\x2a\x9c\xb7\xe9\x60\xd6\x6d\
+\x6f\x1e\x7c\xe4\x96\x7d\xfb\xe6\x5b\x19\x7a\x7d\xbc\xf1\xff\xf8\
+\xbe\xe7\x3e\xff\x39\xc5\x68\xad\xaa\x2a\xd2\x3a\x49\x12\x78\x0f\
+\xaa\x83\x14\xcf\x7c\xf6\x75\x1e\x23\x70\x29\xa8\x41\x21\x04\x56\
+\xca\x38\x9f\x33\xe3\xe2\x7d\x37\xcc\xa7\x4f\x8b\xd5\xc5\xc0\x3c\
+\x63\x6f\xc6\x97\x5c\xbc\xef\xa9\x59\x32\xaf\xb4\x44\xb1\x07\xb9\
+\x10\x02\x53\x12\xbc\x81\xe8\xb3\x77\xb5\xd1\xce\x5c\x35\xd9\x76\
+\xf5\x04\xf5\x70\x65\xfd\xcb\x93\x49\x93\x3e\x8a\x76\x1b\x00\xbe\
+\x72\xef\x57\x64\xb2\x3e\x3e\xf6\xc8\xdc\xa5\x07\x90\xa6\x61\x92\
+\x47\x59\x3b\x4a\x5a\xb5\xf5\xef\xff\xe0\x5f\x35\x93\xc3\xb1\x93\
+\x1c\xf7\x84\x80\xf7\x18\xd1\x61\xa6\xe6\x39\x15\x73\x54\x57\x12\
+\x99\x16\x81\x43\x70\x21\xd4\x40\x50\x1c\x25\x71\x37\x33\x33\xa9\
+\x9a\x8d\x55\x9f\x9a\x40\xcc\xae\xec\x01\x6a\x5a\xc9\x01\xe1\xdc\
+\xb4\x9c\x00\x41\x9c\xa5\x80\x2d\x36\x56\x7f\xe2\x3f\xbc\x9e\x00\
+\x65\xc0\x1a\xac\xe1\x3c\x5e\xfa\x03\xdf\x6d\xb2\x94\x08\x32\xce\
+\x21\xcc\x91\x76\xb6\xb4\x7e\xeb\xf2\x2b\x17\x5d\xd8\x74\x61\x9b\
+\xd8\x01\x90\xc0\x8a\x13\x1f\x9c\xb3\x34\xd3\xbe\x1a\xd8\x0b\x3f\
+\xe3\xcb\x2c\xd4\x5d\x60\x7e\x36\xba\xa6\x93\x5e\xc4\x14\x05\xb1\
+\x21\xb8\x9d\xb4\x28\x2d\x50\x42\xbb\x43\x06\x8d\x41\xe3\x49\x79\
+\xcd\xb6\x3d\x93\xba\x1a\xbd\x36\x8c\x86\xab\xea\x2a\x97\x95\x13\
+\x93\x2b\xae\xd0\x88\x28\x5b\x9c\x5d\x5b\x39\x86\x22\xef\x2f\x2c\
+\xd4\x79\x69\x74\xcc\x14\xdd\x79\xe7\x97\x43\x00\x37\x79\x5b\x9a\
+\xcf\x49\xb3\x3f\xcf\xda\x66\x38\xdb\x31\x9d\x10\x18\xd0\x69\xd2\
+\xae\xca\x30\xd3\x5f\x12\x28\x81\x15\x58\x00\x44\x8a\x11\x33\x32\
+\x20\x05\x62\x48\x24\x01\x22\xd3\xee\x1f\xe7\xce\xef\x7a\x54\x52\
+\x5c\xb5\xb6\x32\xd3\xeb\x82\xfd\xb3\x9e\xf5\x74\x00\x49\x04\x06\
+\x46\xdb\x10\xc1\x55\x57\x1f\xb0\xe5\x30\x8a\x22\x28\x55\x6c\x6f\
+\x07\x6f\xe3\x54\x23\xe4\xfd\xd9\x58\x68\x62\xdd\xb8\xa9\xd9\x0c\
+\x5e\x13\xe2\x34\x69\x8b\x4f\x22\xb5\x07\x98\x05\x45\xca\x10\x73\
+\x1c\x5c\x0a\xcc\xc7\x7a\x4f\x70\x71\x91\x3b\x91\xa6\x64\xd7\x4e\
+\xb3\xca\xa6\x59\x33\xbc\xeb\xa9\x9d\xe2\x50\x6d\xaf\x7e\xd3\xf3\
+\x9f\xdd\xf8\xc0\x0c\x6c\x37\xd3\x9d\x8c\xf6\xef\x6d\x9d\x5a\xb5\
+\x97\x5c\xba\x37\xdf\x5c\x23\x86\x6a\x25\x5b\x87\x1e\xe6\x28\xb2\
+\xd6\x2b\xa5\x8b\x32\x0f\xd3\xb0\x57\x10\x16\x0b\x2f\x4f\xa8\xa9\
+\xb0\xc3\xf2\xa4\x29\xb1\x61\x07\xe9\xb4\x67\x9d\xe5\xf9\xb9\xbd\
+\x02\xed\xbd\xf3\xa1\x0e\xe2\x21\x4c\x88\x80\x18\x88\x43\x88\x09\
+\xa7\x27\x13\x9d\x66\x9a\x12\xa6\x9e\xb6\x73\x9e\x25\x00\x61\xcf\
+\xd5\x57\x6d\x1e\x7d\x18\xae\x7e\xca\x75\xd7\x10\x50\x16\x43\x22\
+\xf4\xfb\x88\x12\x78\x99\x20\x14\x40\x30\x9d\x0e\x26\x05\x00\xe2\
+\x00\x05\xa5\x03\x2b\xeb\x25\x57\x0a\x44\xe4\x1d\x24\x44\x9a\x7b\
+\x24\x9d\x88\x16\x21\xd9\xe9\x3a\x20\x46\x0b\x98\x4b\xd4\xc5\x2c\
+\x83\xba\x34\x8a\x13\xa5\xc8\x85\x11\xa9\xb2\x99\x61\x1b\xe8\x34\
+\x23\x6f\xba\x8e\x48\xb7\xdb\x01\xdc\x65\x17\xef\x1b\xf4\x30\x19\
+\xae\x05\xc9\xad\x1b\x4d\x26\x5b\x1b\xeb\xdb\x4b\x8b\xe6\xf2\xcb\
+\x0e\x00\xbe\xd7\xeb\xf8\xbc\xe8\xed\x3b\x10\xf2\xca\x5a\xaf\x4d\
+\xcc\x9c\x0c\x27\x08\x04\x2b\x5e\x93\xde\xb1\x6d\x9f\x18\x99\x77\
+\xe6\xdc\x78\x3f\x6d\xf8\x16\xc0\x69\xd2\x0b\xce\xf4\xbb\x8b\x02\
+\xe5\xbd\x0f\x52\x4f\x1b\xa9\x90\x01\x62\xc0\x34\xc8\x11\x9d\xc3\
+\xf3\xb1\x2b\xe9\x94\xcf\x79\xa8\xe3\x07\x0f\xb6\x16\x97\xb3\x85\
+\xc1\xff\xdf\xde\x97\x47\x59\x56\x95\xf7\xfe\xf6\x70\xa6\x7b\xee\
+\x50\x53\x57\xf5\xa8\x0d\x68\x83\x12\x1c\x00\xe3\x6c\x54\x12\x87\
+\x24\x26\x46\xc5\xe7\x10\xf2\x54\x40\x54\x90\x07\x62\x34\x68\x04\
+\x5f\x14\x04\x82\x32\x29\xc6\x08\x8a\x43\x9e\x13\x84\x41\x10\xd0\
+\x48\xb7\x60\xa7\x01\x85\x46\x86\xa6\xa1\x07\xe8\xa9\xaa\xab\xea\
+\xd6\x9d\xce\x7c\xf6\xf0\xe5\x8f\x53\xd5\x5d\x0d\xea\xd3\x95\x17\
+\xcd\x5b\x8b\xbd\xce\xaa\x75\xef\xa9\xbb\xd7\xbe\xf7\xec\xe1\x9b\
+\x7e\xdf\xef\x9b\x9e\xda\x55\x68\xd5\x6c\x04\xd6\x54\x24\xaa\x88\
+\x93\xae\xdb\xa8\x6b\x53\x6a\x65\xe1\x79\xf5\x46\x2b\xef\xf5\xb8\
+\x00\x41\x09\xc9\xac\xd5\x15\x94\xbd\x32\x37\xf3\x4c\x59\x23\x01\
+\x0f\xc4\xb3\x34\x46\x65\x5c\x0a\x07\xe4\x05\xde\x98\x23\x9a\x20\
+\x4f\x0a\x5f\x08\xa1\x4d\x61\xa9\xf8\x55\xb8\xdb\xce\xe4\x6e\xaf\
+\xd1\x2c\x55\x6e\x2c\x86\x5a\x2d\xa3\x4b\x57\xca\x7a\x18\x8c\x8e\
+\xb5\x88\x00\x6b\x60\x55\x9e\xa5\xe0\xe8\x4f\x4d\x05\x43\x43\x8c\
+\x31\x29\xa5\xeb\xba\xbd\x5e\x1f\x40\x51\x14\x04\xc8\x03\x43\xf2\
+\xbf\x9b\x78\x1e\x7f\xf2\xc9\x29\xf8\x3c\x0c\xc9\x45\xe0\xc8\x5a\
+\x59\x90\xe7\x0e\x09\xf8\x51\xd4\x0f\x02\xdf\xf3\x3c\xad\xad\xe0\
+\x3e\xe0\x94\x05\xd8\x2f\x83\x04\x30\x08\xc1\x9c\x79\xac\x6d\xb5\
+\xd2\x17\x29\x9c\xdc\xf5\xf2\x34\x49\x3b\x73\x8e\x23\x7c\xc9\x39\
+\x2c\x67\x9a\x31\x08\x8e\x7a\x23\x28\x93\x81\x10\x82\xca\x12\x7e\
+\x10\x47\x89\xa8\x35\x6d\x8c\x7a\x38\x64\x0d\x9a\xcd\xa1\x3c\xcf\
+\x8b\x5c\x39\x8e\xc3\x18\x13\x42\x68\x3d\xcf\x16\x62\xa9\x80\x30\
+\x59\x12\xc3\x96\x60\xe8\x76\xbb\xd6\x22\xf0\xc3\x24\xc9\x88\xa8\
+\xd5\x6a\xe5\x79\xfe\xab\x9e\x82\xdf\x6a\x15\x71\x9c\x24\x09\x80\
+\x38\x8a\x5d\x27\x48\xd3\x64\x21\xad\x02\x93\x93\x93\x6e\xd8\xcc\
+\x3b\x1d\xe1\xba\xbc\x5e\x07\xb3\x9c\x43\x9b\x32\xcf\x07\x13\x13\
+\x2d\x00\x35\xbf\xd6\x19\x74\xd8\xef\xdb\xc3\x72\xc0\xe8\x64\x05\
+\xe0\xd6\x82\x96\xd1\xd2\x73\x9a\x55\x49\x5f\x63\x94\xb5\x96\xcd\
+\x97\x3e\x07\x67\xbf\xba\xfb\xfe\x95\x61\x0f\x34\x18\xf8\xa2\x39\
+\xae\x22\xd3\x7a\x01\x49\x6d\xf7\x2b\x81\xfb\x6a\x90\x90\xeb\x0d\
+\x35\xf6\xec\x6e\xab\x92\x97\x05\x29\x65\x87\x86\x46\xaa\x94\x06\
+\xa5\x53\xb0\xc2\xa2\x0b\x96\x86\x0d\x07\x28\xfd\x80\x41\x94\x40\
+\xa4\x6d\x5f\xe9\x58\x48\x72\x5d\x69\x2d\x54\x69\xa5\xf0\x9e\x24\
+\xdd\x2b\xf9\xc7\xf2\x38\x6b\x2e\x59\x7a\xcd\xd5\xd7\x0b\x8e\x7a\
+\x63\x18\x70\x2c\x39\x80\x53\xe4\x00\xe1\xd1\x2d\x8f\x13\x31\x56\
+\x6f\x48\x29\x6d\x96\x65\x51\xbf\x5e\xaf\x65\x51\xaf\xd9\x1c\xf2\
+\x3c\x68\x0d\x00\x23\xcd\x61\x75\x20\x31\xdd\xef\x5e\x61\xd9\x47\
+\x2d\x8d\x4a\xa3\x03\x44\xb3\x31\xa6\x0a\xee\xf3\x16\xe0\x73\xce\
+\xb5\xd6\x15\xdf\x18\x63\x62\x5f\xdc\x07\x4f\x80\x0e\x60\x1f\x7b\
+\xc6\x93\xb4\x21\xe2\x9c\xaa\x20\xc3\x3e\x57\xf5\x2f\xcd\x85\x5c\
+\x50\x79\x48\x82\x1c\x8e\xc6\x9d\xeb\x1f\xf4\x9c\x51\x32\x35\x55\
+\x70\x21\x9c\xa2\xcc\x08\xb9\x17\x58\xc7\xcf\xa6\x3b\x9b\x80\x0e\
+\x58\xae\x55\x9c\x15\x6d\x63\x67\x14\x76\x24\xe5\xf6\x42\xcf\x82\
+\x67\xd2\x81\x31\xa4\x95\x70\x2a\xb6\x17\xa6\x39\x2c\x5b\xbc\x38\
+\x20\x6b\xcd\xd1\x2c\x35\x85\x16\x15\x46\xac\x37\xc8\xc3\x70\x98\
+\x08\xae\x8b\xcd\x9b\x07\x2a\x23\x6d\x05\x67\x6e\xa1\x34\x1c\xce\
+\x5d\x99\x66\x11\x93\x9c\xc1\x08\x06\xab\x4d\xe5\x80\x10\xfc\xf7\
+\x63\xe7\x3d\x71\x20\xb6\x9f\x81\x46\x86\x72\xa8\xe2\x4f\x29\xb4\
+\xe6\x5c\x68\xad\x01\x48\xe9\x56\x19\x37\x9c\x63\x11\xfe\x60\xf1\
+\x3c\x2d\xb6\xa8\xe8\x80\x49\x21\xb6\x9f\xe9\x68\xa1\xe2\xcf\xfe\
+\x33\xfc\x09\x3c\x2c\x24\x60\xbd\x6c\xc0\x7e\xb2\xf6\xbe\xe1\xe6\
+\xd3\x5d\x31\xe2\xb9\xcd\x3c\x2b\xad\x55\x5c\x68\x63\x4b\x8b\xe8\
+\xf1\xdd\x77\xc6\x6a\x13\xd0\x95\x4e\x56\x0b\x8d\xe0\xbd\xed\xbb\
+\x36\x24\xf9\x4e\x26\x72\x63\x2a\x76\x34\xce\x20\x38\x17\xbf\x04\
+\xb8\x07\x06\x12\xa5\x82\x8a\xf3\x66\x73\xfc\xb5\xaf\x3b\x85\x08\
+\xae\xdf\x32\x84\x34\xc7\xf4\x2c\xce\xf8\xf0\x59\xb5\xa1\xa5\x5c\
+\x04\x86\x80\x38\x16\xbe\xe3\xf9\x6e\x59\xc4\x13\x4b\x47\x57\xae\
+\x5a\x2a\x38\x7c\x57\x58\x63\x18\x98\x84\x64\xff\x1d\x8e\x4d\xc6\
+\x40\xf3\xbb\x4a\x38\x08\xea\xe1\x30\xe0\x64\xa9\xe6\x4c\x5a\x6b\
+\x39\x13\xee\x22\x27\x2c\xd1\x62\xef\xa8\xfe\xb5\xdf\x7c\x3f\x41\
+\x15\x27\xb6\x40\x6f\xc3\xf7\xa7\x8d\x63\x1f\x42\xcb\x2e\xda\x79\
+\x01\x63\x43\xf7\xdd\xf3\x78\x91\x06\x46\x85\xf5\x70\x54\x6b\x53\
+\x0b\x5d\x2e\x48\x6b\xed\x07\x62\x90\x6f\xde\xbe\xfb\xb6\xd9\x68\
+\x63\xa2\xb6\x14\xd8\xba\x7d\xef\x1d\xbb\xa6\x7e\xc6\xdd\x5e\x18\
+\x06\xd6\x08\xad\xc0\x39\x67\x9c\x8c\xd1\x95\xfc\x9d\x9f\xbf\xfd\
+\x50\x30\x39\x3c\xb2\xd4\x1b\x5a\xd6\xed\x16\xff\xbe\xe1\x81\xd7\
+\xbe\xfe\xbd\x69\x06\x03\x74\x7a\x38\xe3\x8c\xf3\x6e\xbd\xf9\xc7\
+\x5a\x3b\xae\xdb\xe4\xb2\xc2\x0c\x98\x2c\xed\xd7\x9b\x61\xbb\x3d\
+\x7d\xc2\x89\xef\xaa\xd4\x34\xa3\xb5\xca\x0b\xf6\x3b\xf7\x6d\xfe\
+\x6a\x34\xae\xa9\xca\x44\x72\x40\x2c\x5f\xbe\x0a\x90\xaa\x24\xee\
+\x48\x00\xae\xeb\xfa\x9e\xbf\x6f\xe1\x2e\x58\xbd\x7a\x51\xc9\x72\
+\xfe\xcb\xb2\x6b\xf6\xef\x30\x46\x55\x37\xce\xa9\xf2\x56\xcf\x67\
+\x2c\xa0\xc2\x44\xec\xdb\xa4\xc4\x01\x01\xeb\xd5\xfc\x25\x7b\x77\
+\x6e\x7a\xf0\x17\x3b\x97\x4c\x30\xdf\x95\xd6\xc2\xf1\x79\x51\x64\
+\x64\x9d\xb0\x56\xcb\x65\x7f\x6a\xee\xae\xc9\xc9\x5d\x1c\x75\xc6\
+\xf5\x20\x99\xf4\xc3\x74\xa8\xe5\x39\x72\x38\xcb\x12\x50\xc6\x85\
+\x24\xe4\x86\x72\xce\xcc\x93\xc2\x99\x12\xc0\xec\xb6\xed\xb5\x25\
+\x13\xad\xe1\x46\xbf\xbd\xed\x9e\x7b\x1e\x5e\x32\x7e\x28\x4a\x53\
+\x19\x42\x5e\xb0\xbc\x88\x0a\xc7\x15\x16\x40\xe0\x43\x70\x90\x26\
+\x90\xce\xfb\xef\x3d\xe1\x1d\xd5\xb1\xe2\x3a\x2e\x98\x63\x8d\xe1\
+\x8b\x70\x2c\xfc\xf7\x3a\x79\x76\x41\xef\x60\x4f\x5b\xb5\xba\x02\
+\x4c\x54\x81\x31\xd7\xf5\x79\x95\x30\x3e\xef\xc5\xc6\x02\xa6\x58\
+\xff\x06\xc5\x22\xd9\x81\xd1\x44\xbe\x9f\xba\x96\x16\x19\xd1\xfb\
+\x3f\x23\x41\x0e\x19\x0f\x36\xdc\xbc\x69\xd7\x50\x6b\x59\x96\x1a\
+\x10\xd7\xba\x34\xc6\xe8\xd2\x2b\x72\x2b\xbd\x98\x7b\x93\xdc\xdf\
+\x2d\x82\x3d\x70\x77\x8f\x2f\x67\x5e\xad\x00\x6c\x99\xbb\xa6\x6c\
+\x08\x56\x27\x32\xda\x46\xc2\xc9\xc1\x4a\x4e\x0b\xd2\x8e\x2d\x60\
+\x34\x49\x4c\xac\x39\x22\xed\xc4\xfd\xf6\xec\xc8\xc4\x33\x20\x6a\
+\x20\xb7\x35\x71\x70\x63\x6c\x35\xd0\x5a\xbe\xe2\x10\x78\x43\x2a\
+\x37\xd0\x00\x77\x38\x67\xd2\x77\x92\xb8\xfb\x57\xc7\xbe\x25\x08\
+\x2a\x60\x59\x59\x19\x49\xec\xb7\x75\x8f\x2d\xa4\x92\xce\x5f\xff\
+\x09\x7f\xd8\x22\x30\xd2\x02\x1f\xc3\x02\x9a\xb1\x36\xd6\x3a\x08\
+\x90\x9c\x0b\x46\x2e\x83\x2f\x78\x30\x4f\x94\x62\xed\x93\xba\xf3\
+\x03\xc4\x1b\xc0\x08\x1c\x96\x41\x33\x68\x41\x96\x11\x71\x02\x87\
+\x99\xcf\xd6\x9b\x27\xf8\x73\xe6\x23\xd2\x04\x46\x12\xb0\x0c\x1a\
+\x16\xc2\x56\x1d\x6d\x99\xe9\x5a\x73\x59\x16\x07\xab\x9f\xf6\x42\
+\xa3\xeb\x42\x34\xad\x92\x9e\x5b\x0b\xc3\xb0\x54\x89\xd2\x09\x13\
+\x79\xad\xa1\xbd\x5a\x51\xea\xae\x70\x4a\xc7\x71\xca\xd2\x46\x83\
+\x44\x29\x2b\x84\x43\xc4\xac\x35\xae\x5b\x31\x14\xec\x13\x75\x1e\
+\xac\x5f\x45\x39\xa6\xb7\x6f\x65\x81\x33\xba\x62\x59\x67\x66\xf7\
+\x60\x10\x87\xcd\x25\xa5\x66\x51\x2f\x1a\x19\x5f\xf5\xd8\xd6\xad\
+\x61\x38\x0c\xc3\x84\x64\x30\xa9\x55\x89\x2e\x06\x0c\xf9\x55\x5f\
+\xbb\xa8\xc8\x01\x06\x9a\x27\xab\x90\x8c\xb9\x07\x98\x43\x00\xb2\
+\x2c\xdb\x07\xc3\x03\xe6\x53\x92\x4a\x65\xa2\x24\x26\x20\x53\x19\
+\xc1\xc6\x79\x64\x61\x4c\xe5\x9e\x59\xc0\x9e\xe6\x99\xb6\xa6\xc2\
+\x4f\xda\x85\x40\x41\x91\xe7\x29\x60\x93\x34\x02\x6c\x92\x44\x07\
+\x4e\x9e\xb3\xf8\xd1\xfb\xbe\x63\x2c\x00\x47\x60\xb9\xc4\xca\x3c\
+\x37\x52\xb8\x51\xdf\xae\x1c\x7f\x36\xa3\x00\x70\xb4\xb6\xf3\x79\
+\x59\xf3\x1b\xc8\xc9\x32\xab\xf5\x7c\xea\xa2\x25\x0b\x06\xa3\xe0\
+\x71\x98\x32\x21\xd3\x75\x50\xba\xcc\xb8\x20\x9f\xa1\xe6\x81\x74\
+\x02\x52\xd5\x0a\x51\x8a\x67\x59\x0e\x06\xa5\xd0\xaa\x37\x40\x46\
+\xc5\xd1\x92\xd6\x88\xcf\x38\x65\xd3\x1c\x89\x94\x3c\xed\x97\xd6\
+\xac\x58\x31\xfc\x12\x47\xac\x6e\xef\x45\xab\x7e\x90\x55\x4e\x5e\
+\x4e\xfb\xa1\x72\x44\x1d\xa6\xa9\x4a\x9b\x24\x89\x23\x03\x55\x70\
+\xa3\x7c\x06\xb7\x56\x17\xae\xaf\x95\xce\xc8\x0a\x57\x36\x61\x43\
+\xc6\x7d\x26\x24\x38\x27\x48\xe4\x3e\x32\x07\x06\x8c\x5b\x5e\x13\
+\x8e\xcc\x92\x64\xe7\x0b\x5f\x7e\x38\x83\x49\xe6\xfa\xae\x90\xb0\
+\xe8\x74\xa3\xa0\xb5\x3a\xcf\x08\xa5\x75\x59\xe1\xb9\x85\xed\xef\
+\x75\x59\xb6\x61\xc3\x4d\x61\x80\x0a\x67\x25\xab\x12\x10\x04\xa8\
+\x27\xca\x3c\xeb\x79\x4e\x55\x4c\xa2\x62\x94\xa9\x54\x73\xc7\x11\
+\x8e\x53\xb7\xb0\x9e\xe3\x58\x40\x08\x61\xa0\xc9\x82\x33\xc7\x68\
+\x54\x74\xbc\x52\xca\xaa\x0e\x08\x63\x2c\x8e\x63\xdf\x77\x85\x10\
+\x8e\xe3\x00\x36\x08\x02\xc0\x72\xf1\x6b\x4f\x35\x56\x21\x1e\xc1\
+\x58\x05\x4a\x34\x52\x9a\x56\x73\x4c\x5b\x16\x78\x0d\x80\x17\x45\
+\x2e\xa5\x5b\x2a\xed\x3a\xb2\xdf\x4b\x9a\xcd\x30\xa8\x88\xbf\x80\
+\xaa\xcc\x5e\x9e\x97\x9e\xf4\x09\x08\x6a\xac\x16\x38\x8e\x28\xb2\
+\x52\x81\x1c\x4b\x4c\xab\x68\x7c\xe9\xd2\x99\xbd\x99\x94\x2c\x8e\
+\x51\x6f\xc0\x71\x6b\x95\xd6\x1a\x0d\x3a\x40\x06\x2b\xbb\xb3\xbb\
+\xb5\x62\xcd\xe6\xb8\x5f\x73\x06\xfd\xb2\x56\x1f\x35\xba\x6e\x30\
+\x76\xf4\x91\xaf\x79\xf0\x61\x36\xbd\xe7\xa1\xb0\xd9\x0c\x6a\x6e\
+\x9a\xf6\x19\x9a\xae\x1b\x08\x1e\xb8\x81\xab\x15\xc5\xbd\xfc\x15\
+\x2f\x7b\xe5\x4c\x7b\x66\xef\xde\xbd\x49\x1e\x71\xe1\x49\xc9\xca\
+\x54\xf5\x55\x24\x64\x98\x67\x9e\xd5\xe0\x3e\x17\x5e\x60\x18\x07\
+\xb7\x64\x95\xe7\xb0\x7c\x6e\xda\xad\xdb\x75\xeb\xbe\xd8\xac\x1d\
+\x19\x0e\xb7\xfa\x33\x53\x43\xcb\x9e\x0e\x34\x7b\xd3\x93\xb5\x56\
+\x3d\x55\x03\xce\x4c\x36\xb7\x03\xb0\xd7\x5f\x77\xfd\xd3\x57\x2e\
+\xe1\x00\x73\x16\xd2\x6c\x8d\x06\x93\x4f\x50\x51\x24\xc1\x70\xce\
+\x00\xb2\xd6\x2c\xde\x16\x49\x9a\x04\x41\x90\xab\x9c\x73\x70\xce\
+\x3d\xc7\x33\xd0\x92\x4b\x06\x68\x53\x82\x49\x29\xf9\xbe\x4a\x4b\
+\x8c\x99\x45\xd8\x26\x5b\xaa\xd2\x75\x5c\x80\x02\x3f\x58\xe4\x2e\
+\xb2\x4f\xf8\x5b\xa1\xc1\x16\xe0\x81\x56\x08\xe6\xb8\x22\x0c\x87\
+\xf6\x1d\xb9\x61\x18\x00\x96\x31\x02\x43\x6b\x28\xb4\x76\xde\x3d\
+\x56\x14\x19\x17\x70\xa4\x53\x15\x2b\x1f\xf4\x0b\xc7\xb5\x23\x63\
+\x41\x12\xe7\x9e\x90\xa3\x23\x23\x8e\xe7\x2a\xd5\x28\x8a\xb4\xd9\
+\xf2\x97\x2e\x6f\x05\x35\x0c\xe2\x01\x67\xba\x51\x6f\x3a\x9e\xb4\
+\x48\x96\x2e\x1b\x72\xdc\x90\xe0\x1b\x2b\x9a\xf5\xc6\xdc\x5c\xe7\
+\x90\x43\x56\x3c\xf4\xe0\x86\x7a\xd8\x04\x9c\xba\x5c\xf6\xa2\x23\
+\x5e\x37\x9b\x1e\xb2\x7e\xfd\x0f\xfc\xb2\x99\x65\xa1\xe7\x05\x0e\
+\x9a\x33\x73\x11\x63\xce\xb2\xa5\x2b\x0f\x7e\xf6\xd3\x5d\x8c\x0b\
+\x6a\x91\x0a\x48\x47\x82\x4b\x57\x48\x4e\x1a\x36\x6a\x34\x7c\xdf\
+\x39\x04\x08\x00\xcd\x65\x01\x2e\x0c\x29\x58\xca\xe7\xda\x2b\x9f\
+\xf1\x8c\xdd\xdb\x37\xa4\x29\xa2\xf8\xde\x4b\x2f\xbd\xe9\x23\x1f\
+\xfa\x68\x6f\x6a\x2b\x98\x00\xa5\x85\x72\xbd\x06\x25\xed\xd9\x0f\
+\x9c\x7e\xea\x45\x9f\xfb\xfb\xfd\x51\x09\x9e\x11\x53\x0c\xc2\x42\
+\x71\xe1\x2d\x64\x87\x2f\xa0\x26\x4b\x15\x39\xd2\x23\x10\x5b\xc8\
+\x1f\x60\x42\xca\x85\xa4\x6b\x0b\x14\x2a\x73\x1d\xc9\xc0\x0a\x53\
+\xb8\xc2\x15\x10\x5a\x29\x21\x9c\x6a\x83\x2e\xb0\x77\x43\x9b\x52\
+\x29\xe5\xfb\x7e\xe5\xc2\x31\xd6\x70\xce\x93\x24\xa9\x87\xcd\x5f\
+\x27\x18\xe7\xeb\xd3\xf3\x05\xf9\x6a\x88\x34\x67\xb0\x84\x2c\x2b\
+\x6a\xb5\x90\x41\xa4\x69\xee\xfb\x3e\xe7\xbc\x28\x94\xeb\x4a\xc6\
+\x98\xb5\xba\xea\x51\x94\x05\x67\xae\x74\x9c\x6a\xe1\x55\x47\xba\
+\x05\xe2\x14\x61\x08\x55\xa2\xcc\x11\x36\x20\x39\x38\x14\x83\x4e\
+\xd2\x4c\x8a\xd0\xf5\xbc\x41\xbf\xa8\x37\x3d\x02\x94\x46\x35\x9c\
+\xe0\x28\x4a\x04\x7e\xf5\xd8\xe6\x04\x22\x86\x18\xc8\x0c\x54\x3b\
+\x6e\xcf\x4e\xb7\x47\xc7\x26\xea\x41\xcb\x73\x43\x0e\x47\xce\x17\
+\xff\xb3\x16\x46\x43\x31\x68\x0e\x2e\xc0\x00\xdb\x57\x1d\xc6\x56\
+\x8e\xb4\xfe\x82\x70\x90\x15\x00\x17\x60\x0e\xac\xe1\x56\xbb\x22\
+\xe6\x7c\xaa\xdf\xd9\x02\x42\x51\x82\x31\xec\xd9\x83\xdb\xd7\xaf\
+\xb3\x48\x1a\x4d\x5a\xb5\x6a\xf9\x0b\x9e\x7f\x24\x80\xc9\x3d\x7b\
+\x57\xad\x58\xca\x2b\x8a\x72\xb4\x85\xd4\x1c\x2e\x2c\x72\x70\xa7\
+\x99\x00\x00\x10\x22\x49\x44\x41\x54\x03\xf7\x9f\x38\x79\xca\x0c\
+\x24\x97\x4a\x1b\x47\x7a\x00\x4b\xd3\x3c\xa8\xd5\xab\xff\xe5\x79\
+\xe9\xfa\x6e\x51\x16\x9e\xeb\x01\x48\x8b\xa4\xe6\x05\x1c\xb0\x56\
+\x09\xee\x00\xb6\x2a\x23\x50\xd5\x10\xdd\x37\x19\xd5\x4c\x28\xa5\
+\x1c\xc7\x29\x8a\xc2\xf3\xbc\xdf\x7c\xf2\x00\x6b\x49\x55\x2c\x1c\
+\x49\x9a\x85\xb5\xfa\x7e\xbc\x3e\xed\xdb\x76\x85\x52\x55\xc9\x6e\
+\xe4\x79\xee\xf9\x3e\x2a\x1e\x7f\x29\x95\x06\x03\xa4\x7b\x80\xba\
+\xc5\x19\x18\x54\x92\xf7\x1b\x7e\x00\xb0\xb2\x24\xcf\x0d\x08\x3c\
+\x2b\x95\xeb\x3a\x5a\x83\x09\x30\x20\xcf\xe1\xfb\x00\xd0\xef\x95\
+\xb5\x3a\x49\x59\x6a\xd5\xaf\xb9\x8e\x86\x96\x90\x85\x2e\x1d\x19\
+\x08\xb8\x04\xde\xeb\xf7\xc2\x7a\xd3\x68\xed\x7a\x9e\x00\x08\xc4\
+\xa0\x35\x94\x58\xc0\xea\x18\x8c\x84\xf5\xa3\x15\x0d\x11\xaf\x04\
+\x4c\xc0\xe1\x0c\x87\x61\x77\xf6\x51\x5b\x3e\xaa\xa9\xab\x14\x1c\
+\x09\x02\xba\x7d\x0c\xb7\x90\x15\x36\xf0\xd3\x92\x52\x66\x42\x57\
+\x86\xf3\xd9\x09\x1a\xa5\x82\x13\xcc\x71\x96\xcf\x07\xc5\xac\x0f\
+\x0b\x08\xb1\x4f\xee\x70\xc9\x65\xf5\xac\xab\xf7\x9e\x17\x00\x98\
+\x9e\x9e\xd3\x1a\x42\xb8\x00\x3c\xd7\x8b\xa2\x1c\x40\xe0\x85\x45\
+\x69\xa8\xaa\xf1\x37\xef\x99\x64\x82\x3b\x00\x2f\x0a\xd5\xeb\x0d\
+\x2a\x45\x3f\x8e\x73\xad\xe1\x48\x2f\x4d\xb4\xe7\x05\x07\x6a\x89\
+\x4f\xbc\xaa\xca\x30\x8b\x8b\xfb\x70\xe6\x4c\xed\x9d\x01\x9c\xb0\
+\xd6\x9c\xf7\xa1\x10\x06\xfd\x54\x95\xb6\xc8\x4d\x59\x58\xcf\xf5\
+\xea\x61\x5d\x6b\x64\x99\xf2\xfc\x1a\x11\x2f\x4b\x2d\x5d\x29\x38\
+\x3c\x17\xae\x3b\xbf\x2c\x0b\xad\x00\xcc\x75\xa6\x95\xcd\x0a\x55\
+\x18\x43\xd5\xb2\x75\xa4\xa7\x4b\x43\x54\xfa\x2e\x04\xb4\xa5\x4c\
+\x30\x74\xfb\xb9\x74\xa0\x35\x92\x04\xad\x21\xd7\x71\x3c\xc1\x1a\
+\x9e\xbb\xd2\x62\x22\x8e\x43\x8b\x25\xae\x5c\x09\x8c\x25\xa9\x6f\
+\x51\xf7\xdd\x15\x42\x34\x7d\x77\x04\x08\x2d\x85\x16\x75\xc2\x10\
+\xc3\x28\x30\xa4\xa8\x69\x31\x52\x2a\x68\x25\x18\x63\xcc\x65\x90\
+\x60\x8c\x71\xcb\xe3\x7e\x6c\x4b\x3d\x34\x3a\xce\x08\x8e\x40\x96\
+\x45\x8c\xa9\xe1\x21\x43\x1a\x75\x9f\x0f\xa2\xe9\x80\x99\x40\xaa\
+\xa8\x3f\xcd\x00\xab\xc1\x00\xcf\x03\x67\x0c\xa0\x4e\xaf\x0d\x48\
+\x58\x61\x8c\x78\xb2\xfa\x2e\x39\x77\x00\x41\x24\x04\x17\x33\x33\
+\xdd\x8b\x2f\xba\x6c\xdd\xda\xf5\x64\xa1\x15\x6e\xba\x71\xdd\x99\
+\x7f\x77\xf6\xe4\x9e\xfe\xcd\x37\xdf\xfe\xfe\xf7\x9d\x46\x96\x31\
+\x21\x09\xdc\x58\x0e\xe6\x10\x78\xa9\x68\xcf\xe4\xcc\xe9\x1f\xfa\
+\xe8\xd4\x54\x97\x08\xae\x5b\x13\x82\x13\xf0\xb7\x1f\xf9\xf8\x8d\
+\x37\xfe\x1b\x1d\x48\x75\xb0\xef\xaa\x62\x8c\x55\x98\x87\xc0\x16\
+\x6c\x11\x4e\x90\x67\x9d\x75\xce\xcf\x7e\x7e\x3f\x81\xc7\x49\xa9\
+\x0d\x36\xdc\xb9\xf1\xdc\xcf\x5c\x70\xee\x67\x2e\xbc\xe0\x1f\x2f\
+\xfe\xc2\xe5\x5f\xbe\x77\xe3\x66\x02\x84\xe0\xfd\x7e\x06\x42\x91\
+\x93\x32\xfc\xc0\x3c\x2c\x22\x52\xa6\xcc\x18\xcc\x92\xd1\x31\xab\
+\xc9\x73\x6a\xcd\x70\xc9\x6c\x27\x06\x3c\xce\xa4\x94\x0e\x83\xcb\
+\xc0\x6e\xba\xf9\xc6\xd3\x4f\x3f\x95\x41\x8f\x0e\xf9\x64\xe0\x4a\
+\x7c\xf9\xcb\xdf\x38\xf5\x83\xe7\x7c\xe2\xe3\x97\x9f\x7a\xea\xf9\
+\x97\x5c\xf2\xdd\xbc\x44\xa3\x3e\x74\xd1\x25\x5f\x3a\xfb\x93\x17\
+\xc4\x09\x84\x74\x09\x70\x7d\xa6\x35\x2a\x06\xa5\xac\x40\x5e\x56\
+\xc5\xa6\xb8\x85\x84\x75\xac\x81\x56\x55\x20\xd7\x61\xac\x8a\x19\
+\x33\x80\x17\x71\x16\xd6\x47\xf3\xc4\x72\xc0\x1a\x55\xaf\xd1\x83\
+\x9b\x6f\x9c\xda\xfb\x33\x87\x83\x29\x8c\x34\x26\x94\xc9\x80\x78\
+\xa8\xe5\x64\x49\x2a\x16\x51\x3a\x45\xd9\x60\xf3\xe6\x4d\x00\x27\
+\x3b\x5f\x95\x69\x7f\xd3\x26\x27\x32\xc6\x18\x22\xb2\x86\xc8\xd2\
+\x6d\xb7\xdd\xed\x3a\xa3\x1f\xff\xd8\x05\xd6\x50\x9a\xd1\x47\xff\
+\xee\x42\xe9\x2c\xdb\xb1\x33\xbd\xe2\xab\x37\x00\x4d\x6b\xc9\x12\
+\x59\x4b\x65\x49\x5a\x93\xb5\xd4\xed\x16\x77\xdc\x71\x0f\x10\x6e\
+\xbc\x77\xab\x35\x94\x67\x64\x0d\x59\x43\xc0\xd0\xc7\x3f\x76\x81\
+\xb5\xf4\x4b\xaf\xaa\x6f\x75\x19\x43\x5a\x93\x52\xa4\x35\x69\x4d\
+\x40\xf0\xc5\x2f\x7e\xc3\x5a\x8a\x22\xb2\x96\x2e\xbb\xec\xab\x82\
+\x0f\x01\xf5\x56\x73\x25\x50\x1f\x5f\xf2\xcc\xab\xbe\x7a\x6d\x35\
+\x84\x35\xa4\x0d\x69\x4b\xda\x52\x56\x50\x92\x93\x26\x52\x8b\x2e\
+\x4d\x24\xbc\xda\x9f\xfd\xc5\x9b\x35\x51\x5a\x90\xb6\x54\x7d\xa2\
+\xdf\x2d\x89\xe8\xc3\x1f\x39\x1d\x1c\xb9\x8a\x73\x53\x68\xa2\xd9\
+\xae\x7a\xf6\x73\xff\xc4\x0b\x0f\x93\xfe\xe1\x90\xcf\x62\xce\xe1\
+\x6e\x78\x78\x61\x69\x7c\xf9\x9a\x55\xab\x9f\xab\x2c\x29\x4b\x71\
+\x46\xb9\x22\x65\xa9\x34\xa4\xec\xfc\x28\x85\xa5\xc2\x52\x59\x8d\
+\x68\x29\x2f\x88\xcb\x97\xf3\xda\xeb\xd1\x78\x35\x1a\xaf\x42\xfd\
+\x0d\xb2\x7e\xec\xe8\x92\x77\x31\xbc\x42\x60\x8d\x29\x89\x2c\x25\
+\xf9\x96\x6b\x6e\x3e\xed\xc1\x6d\x5f\x21\x43\x36\x21\xb2\x73\x44\
+\x8f\xae\xbf\xfb\xe2\x6b\xae\x3f\x9b\x68\x8e\xa8\x54\xc5\x0c\xd1\
+\x64\x5c\xde\xbb\x7d\xcf\x0d\xdf\xf8\xce\x99\x44\x53\xa6\x20\x2a\
+\x89\xe6\xcb\xcc\x11\x11\x71\x6b\x24\xc0\xc9\x72\x55\xce\x87\xcd\
+\xc6\x46\x97\x69\xc5\x3d\xb7\x59\x09\x8c\x91\xe1\x09\xa3\x79\x9e\
+\x99\x3f\x7c\xc1\x4b\xff\xf9\x8a\x6f\x18\x8d\x38\xa2\xef\xdf\xb0\
+\xf6\xaf\xdf\x79\xc2\xe3\x8f\xb5\xbf\x76\xd5\xb5\x8f\x3f\x36\xa5\
+\x4a\x0e\x78\x2b\x57\x1c\xfc\xe1\x33\x3e\xf3\xe1\x33\xfe\x77\x15\
+\xe6\xc0\x7c\x25\x0b\x4c\xef\xcd\x4e\xfe\xc0\x99\x6f\x7f\xdb\x49\
+\xd7\x5c\xfd\xa3\xb2\x40\xaf\x6b\xcf\x3d\xe7\xf3\x9c\xe1\xc4\x13\
+\xce\x38\xed\x7f\x9d\x55\x8d\x6b\x34\x2e\xbb\xf4\x2b\xef\x7c\xc7\
+\x49\xbb\x77\x0d\x7c\x6f\xc8\x91\xb5\x38\x42\x58\x03\x08\x52\x04\
+\x8e\x0c\x1f\xbc\x7f\xcb\xce\x1d\xbb\xac\x8e\x8c\xe6\xef\x7a\xf7\
+\x09\x20\x18\x8d\x3d\xbb\xf4\xc9\x1f\xf8\xf4\x7b\x4f\xfc\x24\x2c\
+\x1c\x89\x7f\xbd\xe6\xa6\x1f\xde\xba\x7e\xdb\xd6\x3d\xc7\xfd\xf5\
+\xf1\x57\x7d\xf5\xff\x30\xe0\xda\x6b\x6f\x81\xf5\x07\x7d\xf5\x83\
+\x1b\xef\x64\xc0\x4f\x6f\xdf\x72\xdc\x3b\xce\x7c\xcf\xbb\x3f\xb1\
+\xf5\xd1\x49\x58\x70\x0a\x38\x67\x52\x78\x92\xbb\x00\x3c\x4f\x3a\
+\x8e\x53\x24\xe9\x60\xf0\x60\x1c\x6d\xfa\xd6\xb7\xaf\x2e\x93\x6c\
+\xcb\x96\x9e\x2a\xa9\xd5\x1a\x05\x90\x65\x38\xef\xbc\xcb\x8e\x3d\
+\xf6\x84\x4f\x7d\xea\x0b\x8c\x21\x8e\x71\xee\xb9\x97\xf6\xfb\xfa\
+\x82\xf3\x2f\x79\xdf\xfb\x3e\x38\x3d\x3d\xa7\xcd\x3c\xa3\x88\xd5\
+\x11\x63\x22\xf0\x5b\xb0\x9e\xef\xd6\x8d\x31\x79\x9e\x0d\x0f\x8d\
+\x1a\x38\x9c\x40\x25\x84\xb4\x32\x98\xb6\xe2\x71\xf0\x59\x4b\x11\
+\x58\x0a\xb4\x0b\x7a\x60\x7c\xe5\xdc\x8e\xdd\x3f\x01\xb6\x4a\xf7\
+\xfe\xfb\xb7\x7e\x65\xb2\xfd\x53\x92\xbb\xea\xa3\xd3\x0a\x8f\x70\
+\x77\x40\xe2\x00\xf7\x11\x77\xa4\x00\x81\x08\x64\x51\x96\xc8\x33\
+\x68\x65\x3d\xaf\xf6\xa3\x1f\xfe\xf8\xa3\x1f\xb9\xf8\xf4\xd3\xce\
+\xfb\xc1\x4d\x3f\x74\x64\x60\x0d\xbf\xe1\xfa\x1f\x9c\x7e\xda\x47\
+\x99\xc0\xf7\xbe\x7b\xdd\x5f\xbe\xf1\x2d\x49\xac\x5e\xfa\x92\x57\
+\xbe\xfb\x3d\x27\x5e\xfd\xbd\xeb\x27\xc6\x57\x3a\x22\x18\x9f\x58\
+\x71\xff\x2f\x36\x7d\xfe\xf2\x2f\xbd\xfd\x6d\x27\xf7\xba\x00\xe4\
+\xca\x15\xab\xa3\x01\x9e\xfd\xac\xe7\xac\x5b\xbb\xfe\xe5\x2f\x7b\
+\xd5\xb1\x6f\x7d\xfb\x67\x2f\xfc\xd2\xec\x4c\xef\x93\x67\x7f\x9a\
+\x8b\xb1\xce\xdc\xe0\x8b\x97\x5f\xf1\x9c\x23\x5e\x1a\x0d\xf0\xda\
+\xd7\xbc\xe5\x63\x67\x9e\xcd\x99\xf7\xf2\x97\xbd\x32\x2f\xca\xd1\
+\x91\xf1\x7a\x38\x7f\xc2\x86\xb5\x66\x5e\xe6\xdb\xb6\x6d\x6f\x34\
+\x30\x37\x87\x53\x3f\xf8\xa1\x46\x6d\x64\xe3\xbd\x7b\xbf\x7f\xc3\
+\x5d\xab\x56\xaf\xee\x74\xe2\xeb\xae\xbd\xc9\x73\x0f\x06\xe1\x7b\
+\xdf\xbd\xee\x4f\x5f\xf7\x97\x47\x1f\xf5\xe2\xdb\x7f\xb2\xe1\xc4\
+\xf7\x9c\x74\xdf\xc6\xad\xff\x74\xf9\x57\xc3\xda\xf0\x63\xdb\x26\
+\x1f\x7e\xf8\xb1\x6f\x7f\x6b\xed\x2b\x5f\xf9\xc7\x2b\x57\xae\x49\
+\x12\x7b\xd4\x0b\x5f\x36\x3b\x63\x9a\x8d\xd1\xc0\x6d\x1a\xcd\x8c\
+\x32\xdd\x76\x5c\xf3\xe1\x70\x51\x6b\x34\x41\x90\x0e\x1e\xdd\xfc\
+\x30\x77\x83\x3c\xd3\xcf\x7f\xde\x1f\xc6\x51\xa6\x15\x86\x5a\x4f\
+\x3b\xe7\xd3\xe7\xfd\xcd\x71\xef\x3e\xf7\x9c\xcf\xbc\xe4\xc5\x6f\
+\xa8\xd7\x71\xce\xa7\xcf\x1f\x1b\x5e\x72\xed\xb5\x37\x7c\xed\xaa\
+\x7f\x39\xec\xd0\xe7\x38\x02\x92\xdb\x79\x1f\x96\xd1\x65\xa6\x39\
+\xf7\xf2\x24\x09\x7c\x2f\x89\xba\x56\x95\x35\xd6\x00\x81\x49\x38\
+\x82\xa4\x97\x32\xa7\x0f\x64\x22\xf0\x01\x7a\x7c\xcf\x16\xe9\xa6\
+\xed\xee\xa3\xed\xce\x8e\x54\x4f\x7d\xef\x96\x4b\xba\xf1\x83\x73\
+\xdd\x9d\x3b\x76\x3e\x5a\xea\x39\x07\x25\x50\x3c\xa1\xb6\xa2\x04\
+\x50\x96\x44\xc4\x3c\x77\x5e\x62\xd4\x6a\xa1\x52\xea\xce\x3b\xef\
+\x7c\xe0\x81\x87\x0a\x65\x1c\xc7\x31\xc6\x8c\x8d\xd5\xca\xb2\x4c\
+\xe2\x7e\x96\xe2\xf8\x13\x4e\x7a\xe3\x1b\xdf\xfa\xed\x6f\x7f\x51\
+\x4a\x34\x1a\x07\xfb\xb5\x7a\x92\x15\x86\xd8\x43\x9b\x1e\x59\xb1\
+\xa2\xf1\xe6\x37\x1d\x7f\xe3\x0f\x6e\x69\xb4\x20\xb8\xbf\x7d\xc7\
+\x4e\x70\xfc\xc3\x39\xe7\xbc\xff\x7d\x6f\x9d\x6d\xdb\x53\x4e\x3d\
+\x75\xcf\xde\xbd\x2b\x56\x8d\x68\x6b\x6f\xbd\xf5\xb6\xa3\x5f\xf0\
+\x9c\x93\x3f\x70\xfa\xed\x77\xac\xf3\x02\xac\xbb\x7d\xdd\x95\x57\
+\x7e\xfd\xb8\xe3\xfe\xf4\xe1\x87\x67\x8e\x39\xe6\x98\xad\xdb\x1f\
+\xcf\x8a\x97\x79\x3e\x06\x03\xa4\x45\x1e\xd4\xea\x4c\x38\x49\x86\
+\xe1\x51\x3c\xf3\xb0\x43\x35\x21\x2b\xd4\xf1\x27\x9e\xf4\x57\x6f\
+\x3c\xf6\xbc\xf3\xce\x53\x96\x0e\x7b\xe6\xea\xab\xbe\xf6\x6f\x07\
+\xad\x3e\x54\xca\xa0\x3f\xb7\x93\x31\x8c\x8d\xad\xf9\xf6\x37\xaf\
+\xb9\xf5\x96\xef\xb4\x5a\x6b\xde\xfc\x96\x77\x9c\x76\xda\xdb\x7f\
+\xb2\x6e\xdb\x2d\xb7\xac\x3b\xe6\x55\x07\x7d\xe9\x9f\xd6\x7e\xf7\
+\xda\x6f\x6e\xdb\xbe\xc3\xf3\xc3\x24\xcd\x5d\x29\x88\x61\x74\xb4\
+\x9e\x15\xa8\x87\x41\x1a\xcd\xd5\x82\x83\x01\x16\xd4\xeb\x61\xdd\
+\x3b\xe2\x0f\xc6\xee\xdc\x70\xef\xf2\xe5\xcb\xa5\xc0\x15\x5f\xfe\
+\xda\x71\xc7\xbd\x0a\xc0\xaa\x95\x87\xfc\xec\xae\x7b\x8c\x46\x99\
+\xa9\x93\x3f\xf8\xa1\x8b\x2f\xfe\xc4\xd7\xbf\x71\xe3\xf1\xef\xfa\
+\x9f\x00\xf2\x7c\x10\xf8\x43\xbe\x47\xd2\x65\x46\x08\xe9\x04\x51\
+\x34\x8b\x9a\xe7\xfa\x04\xae\xe6\xe9\x8c\x14\x94\x21\x82\xf2\x3c\
+\x01\x88\xde\x6c\x3a\x34\x31\xb2\x7a\xc5\x51\x99\x7d\x48\x69\x71\
+\xd4\x73\x5e\xbd\x7b\x7a\x07\x41\xfd\xd1\xf3\x5e\x4d\x78\xda\x7d\
+\x8f\x3c\xdc\xe9\x74\x00\xaf\xd7\x4f\x1b\x01\x84\x7b\xa0\x6f\xd3\
+\x75\x99\xe7\xc1\x18\xb4\xdb\x59\xaf\x67\xbb\xdd\x0e\xe7\xb8\xe8\
+\xe2\xcf\x4e\x4f\x3f\xd4\x1f\x6c\xfe\xc4\x59\x67\x1a\x9b\x26\xa9\
+\xf2\x03\x59\xab\xd7\x83\x00\x00\x5f\xb3\xe6\x30\x29\x31\x39\x69\
+\x8c\xa1\x5a\xad\xc6\x18\xb3\xd6\xf6\x7a\x9d\x30\x84\x74\xb8\xe7\
+\x3b\x4a\xc3\x92\x5e\xb5\x6a\x45\x14\x99\x2b\xaf\xbc\x52\xca\xb1\
+\x53\x4e\x39\x25\xa8\xd5\x8a\xa2\x48\x33\x00\xb6\x3f\xe8\xb6\x5a\
+\x68\x34\xc3\xc9\x3d\xbb\x84\x44\x58\x6f\x4e\x2c\x5d\x62\x2c\x0e\
+\x3f\x7c\xbc\xdf\xef\x2f\x5b\x3e\xe1\xf9\x88\x22\x34\x9b\xa8\xd7\
+\xc3\x2c\x8d\x9e\xf6\xf4\x15\x59\x0e\x30\xfc\xfc\xe7\x77\x1b\xa3\
+\x5e\xf4\xe2\x55\xdd\x5e\x7b\xc3\x5d\x1b\xde\x74\xec\x9b\x5e\xf3\
+\x9a\x57\x1f\xfb\xd6\xff\x11\x86\x61\x9a\xa6\x42\x38\x69\x8a\xb2\
+\x44\xa7\xd7\xab\xd5\xea\x59\x8c\xa2\x50\x8c\x31\xce\x31\x39\xbd\
+\xf7\xf5\x7f\xfe\x7a\xbf\xfe\xdc\xfb\x1f\xdc\x08\x58\x70\x5e\x68\
+\x35\x31\xb1\x7c\x6e\x2e\x66\x84\x24\x81\xef\x20\x4f\x92\xb1\xb1\
+\xd1\xcf\x7f\xfe\xc2\x0b\x3e\xfb\xa9\x6f\x7e\xf3\x9f\xdb\xb3\xf7\
+\x24\x11\x56\xaf\x3e\xc8\xf3\x7c\x00\x97\x5e\x7a\xa9\x23\x57\x1e\
+\x73\xcc\xdf\x78\x5e\xd0\x68\x0e\x0b\x0e\x30\x67\xc9\x92\x09\xa5\
+\x30\x3a\x32\xee\xd7\x5a\xc9\xc0\x56\x7e\x89\xbc\x68\xc7\xf1\x4c\
+\x9e\x75\xf2\xa2\x0f\x8f\x3b\x52\x33\x96\x15\xaa\xa3\x28\xae\x20\
+\xfa\x8e\x5b\x4f\x12\x4a\x33\x05\xe4\x41\xc3\x16\x59\x04\x98\x38\
+\x49\xe6\x7a\xdd\x54\x75\xa5\xc7\xa2\xac\x07\x68\x06\x19\x04\x0d\
+\x63\x08\xd0\xcd\x96\x23\xdc\x03\x01\x48\x4a\xab\x34\x4b\xab\xb4\
+\xda\xb1\x25\xc1\xd0\x30\x0f\x6a\xc2\xd8\x7c\x10\xcd\x49\x07\x79\
+\x01\x6d\xb2\xaa\xa7\xe3\xda\x34\xeb\x83\xe1\x79\xcf\x7b\xfe\x05\
+\x17\x7c\x66\xdb\xb6\xc1\x0d\x37\x5c\xa7\x54\x61\x8c\x22\x32\xbe\
+\xef\x2e\x5f\xbe\x34\xcb\xd1\xeb\xcf\x78\x3e\x73\x3d\x10\x65\x83\
+\xa8\xf3\xf9\x2f\x5c\x72\xdf\xc6\xbb\xe3\xa4\xfd\x9d\xef\x5c\xce\
+\x98\x0d\x02\xd7\x71\xd0\x1a\x6a\x8d\x8e\x0e\x01\x50\x2a\x6f\x34\
+\x1b\x8c\x81\x48\x5f\x74\xd1\x85\xc6\xe0\xc7\xb7\x6d\x54\x2a\xe9\
+\xf7\x3b\x60\xe0\x02\xc6\xa2\x3d\x37\x59\x6f\x06\xb7\xdc\x7a\xc3\
+\xee\x3d\x8f\x5f\x79\xe5\x35\x9f\xfb\xdc\xf9\x96\x4a\x00\x13\x13\
+\xe3\xab\x0f\x5a\xf9\xa3\x1f\xff\xeb\x96\x6d\x6b\x5d\x8f\x5e\xf1\
+\x47\x2f\xea\x74\xf7\x96\x45\x5c\xaf\x81\x2c\x96\x8f\x2f\x65\x8c\
+\xc2\x3a\xb4\x8e\xba\xbd\x69\x30\x7c\xf0\xd4\xf7\xbe\xee\xcf\x5e\
+\x9d\xe4\xbf\x78\xcf\xfb\xdf\x29\x03\x51\x6b\xc8\xbc\x48\xa6\xa7\
+\x27\x47\x47\xeb\xc6\x20\x0c\xc0\x18\xb4\x29\xdb\x73\x53\xef\x3b\
+\xe9\x4d\x27\x9e\xf0\x8e\x3f\x7f\xc3\x0b\xc1\xd1\x68\x22\x8e\x7a\
+\x9e\x2b\xd6\xde\xf6\xf0\x7d\x1b\x37\x68\xbd\xfb\xc6\xef\x7f\x7d\
+\xc9\x58\x33\x8e\xba\x0c\x70\xa4\xf0\x3d\x07\x84\xa9\xc9\xdd\x45\
+\x9e\x92\xad\x42\xbb\xf0\xa4\x6d\x35\xec\xd0\x30\x8c\xed\x85\xa1\
+\xe8\xf7\xa7\x47\xc6\x3c\xdf\x57\x8c\xf7\x2d\xc1\x18\x70\x34\x05\
+\x4d\x38\xb2\xd9\x2d\x37\xf7\xd5\xc6\x52\x3c\x06\xf4\x7a\xc9\xf4\
+\xb2\x95\xa3\x35\x87\x94\x6d\x2f\x5b\x3e\x32\x40\xbb\x5d\xec\x56\
+\x3a\x52\x3a\xb6\xe8\x73\xec\x35\xd8\x03\x64\x8b\x64\x9e\xc3\x1c\
+\x97\x11\x4c\x51\x16\x95\x75\x38\x39\xb5\xc3\xf5\xd8\xee\x3d\x8f\
+\x31\x81\x5a\x88\x38\x99\x03\xf2\xad\xdb\x1e\x29\x55\x02\x93\x02\
+\xf8\xe9\xfa\x9b\x8f\x3a\xfa\xc8\x43\x0f\x3d\xf8\xde\x8d\x3f\xe7\
+\x02\xed\xb9\x69\x82\xce\xf3\xc1\x6c\x7b\xd2\xf3\xc0\x39\xf5\x7a\
+\x73\x60\x00\x54\x96\x0f\x8e\x3f\xe1\x38\xe9\x8a\xd6\xd0\xe8\xd0\
+\xf0\xca\x2c\x8f\x1e\x7c\xe8\xbe\xb9\x4e\xbb\xdf\x9b\xe9\xf5\xdb\
+\xda\x20\xcb\xa3\x68\x30\x97\xa4\xf8\x87\x4f\x9d\xb5\x76\xdd\x8f\
+\x9e\xb9\xe6\x59\xaf\x7d\xdd\xab\x1a\xad\x5a\x14\x77\xe2\xc4\x84\
+\x75\x08\x09\x30\x15\x0f\x66\xce\x39\xf7\x93\x47\x3e\xef\xd9\x27\
+\x9f\xf2\xde\x35\x87\x1d\x9c\x17\x7b\x8c\xc5\xfd\x0f\xdc\x73\xd7\
+\xdd\x3f\x1d\x1f\x1d\xf6\x82\x25\x37\xde\x74\xcd\xf8\x04\x6b\x84\
+\x2e\xa1\xd0\x06\xbe\x8f\xc9\x99\x5d\xd1\xa0\x6b\x2c\x0e\xff\x83\
+\xc3\xaf\xb9\xfa\x5b\xc7\xbc\xf6\xd8\x3f\x7e\xcd\xcb\x6f\x5b\x7b\
+\xd3\xb3\x8e\x78\xc9\x8b\x8e\x5e\xa3\x8b\xf6\x3d\xbf\xb8\x53\xba\
+\x70\x02\x87\x18\x38\x47\x9a\x02\x84\x41\xaf\x0b\x2a\x38\x43\xa3\
+\x0e\x22\x02\x21\x49\x90\x17\xfd\xbc\xe8\x3f\xff\xc8\xc3\xea\x0d\
+\x5f\xba\x23\xa3\x4b\x26\xee\xb8\xe3\xd6\x20\xe4\xa5\x86\x52\xfd\
+\x6d\xdb\x37\xbb\x1e\xb4\xc9\xc8\x66\x81\xcf\x61\xe5\x60\xb6\xd7\
+\xa8\xbb\xfd\xfe\xae\xee\xd4\x23\x36\xda\x5d\xaa\x01\x74\x3c\xb5\
+\x6b\x53\xb7\xb7\x6d\x6c\xc2\xed\x0d\x62\x2e\xa0\xb4\xcc\xe2\xc6\
+\xa3\x9b\x67\x6f\xfd\xd1\x2d\xeb\xd6\xff\xf0\x8a\xaf\x5c\x31\x97\
+\xc7\x7f\x72\xd4\xdb\x1e\xdd\x34\x77\xfe\x65\x97\xaf\x1a\x39\x22\
+\x8f\x1b\xb7\xad\x7d\xf8\x27\x3f\xde\x34\x3d\xa9\x42\x7f\xa5\x45\
+\x0d\x90\x4a\x1f\x08\x70\x52\x66\x40\x94\x13\x95\x44\x2a\xcb\x12\
+\xa5\x94\x25\x9a\x99\xed\x5a\x22\xa5\x69\x90\x94\x9a\x68\x72\xba\
+\xa3\x89\x66\x7b\xd1\x74\x27\x56\x96\xfe\xfe\xec\x4b\x3f\xf4\xb7\
+\xe7\x29\x4b\xb9\xa2\x91\x25\x6b\xce\xbf\xf0\xcb\xca\xd2\x20\xa5\
+\x76\x4f\x2b\xa2\x28\xa3\xed\x3b\xe7\x32\x45\x93\x33\x51\x61\x68\
+\x7a\x2e\x2d\x0c\xad\xbf\xeb\xfe\x6e\xa4\xe3\x9c\x66\xbb\x79\x61\
+\xa8\x17\x1b\x45\x54\x18\xea\x27\x76\x6f\x3b\xa9\x14\xee\xbd\xed\
+\xe4\xea\xeb\x6e\x2d\x2d\x65\x9a\xa6\xda\x83\xf9\x9b\x9d\xce\x5c\
+\xd4\x2f\xc9\xee\x9e\x99\x49\xb5\x56\x44\x71\x61\x0a\x33\xaf\xa3\
+\x67\x8a\xd6\x6d\xb8\x67\xfd\xc6\x5f\x54\x6f\x3b\x9d\x74\xe3\xc6\
+\x47\xc8\x10\x69\x1a\x74\x74\xa7\x5d\x58\x4b\x51\x4a\x0f\x3f\xba\
+\x6b\xba\x97\x17\x44\x77\x3f\xf4\xc8\x0d\xeb\xd6\x25\x44\x5d\x95\
+\xb5\xb3\xfe\x4c\xaf\xdd\x4f\x07\xfd\x41\x5c\x16\x44\x86\x6c\x49\
+\x51\xd7\xf6\x3a\x85\x25\xda\xbd\x77\x4a\x53\xa9\xa9\xd4\x44\xfd\
+\x41\xf6\xd0\xa6\x2d\x96\xc8\x58\x5a\xbb\xee\xa7\xc6\x92\x25\xda\
+\xba\x6d\x87\x25\xda\xb9\x6b\xca\x12\xf5\xfa\x69\x96\x9b\x38\x29\
+\xc9\x10\x95\x44\x25\xed\xd8\xb2\x27\xcf\x29\x27\x4a\x88\x12\x43\
+\xdd\x84\x0a\xa2\x4c\x95\x93\xd3\xdb\x89\x4a\x32\x44\x44\xbd\x7c\
+\x63\x42\xff\x1e\xd1\xcf\x34\x6d\xd3\xb4\x37\xd5\x8f\x17\xf4\x50\
+\x41\x9b\x73\xdd\xb1\x14\x13\x3d\x16\x15\x0f\xcc\xcd\xed\xc9\xb3\
+\xa8\x1f\x6d\x23\xda\x4b\xd4\x57\xaa\x4f\xa4\xf6\x99\x0a\x20\xca\
+\xb3\xbc\xa7\x4d\x66\x6c\x4e\xa4\x8a\x22\xb3\x44\x71\x9a\x64\x79\
+\x69\x89\x2c\x51\x9c\x17\x96\xa8\xb4\xa4\x89\x92\x42\xe7\x8a\xee\
+\xbb\xff\x31\xb0\xe6\xf0\xe8\x6a\x20\x5c\xb1\xea\x59\x9a\xa8\x3b\
+\x50\x95\xdd\xa3\x89\x06\x89\xd6\x44\x9a\x28\xd7\xf3\x96\x56\x2f\
+\xca\xa3\x54\x69\xa2\xb4\xb0\x49\x6e\x34\x51\x92\x9b\x42\x93\x26\
+\xca\x4a\xaa\x3e\x5c\xad\x92\xd2\x50\xae\xe7\xef\x44\x59\xde\x4f\
+\x62\x4d\xa4\xc9\x14\xb6\xd4\x64\x34\x51\x94\xa5\x69\xa9\x34\x51\
+\x94\xaa\x5c\xed\xb7\xe7\x4a\xa2\x41\x9a\x69\x43\x64\x29\x8e\x0a\
+\x32\x44\x0b\xaf\x2b\xd3\x2e\xd3\x54\x58\xca\x89\x72\x32\xb3\x79\
+\xb7\xab\xfa\x05\x95\x8a\x54\x37\xee\x58\xa2\x22\x37\x64\xa8\xcc\
+\x88\x0c\x19\x4d\xfd\x7e\x64\xc9\x18\xca\x4a\x13\xa7\x79\x52\x3d\
+\x87\x52\x2b\x6d\x55\xb7\xdf\xb1\x64\xb4\x55\x96\x8c\x25\x13\xa7\
+\x91\x25\xa3\xad\xb1\x44\x51\x9c\x5a\x4d\x54\x12\xa5\x44\x86\xb4\
+\x21\x45\xd4\x2f\xa9\x9f\x51\x6e\x29\x55\x94\x9b\xcc\x52\x34\x88\
+\xa7\xc9\x54\x5f\x6c\x4e\xd3\x2e\x4b\x93\xed\x78\xab\xa5\x5c\x53\
+\xae\xa8\x67\x29\xb7\x96\x92\xc4\x58\x2a\x88\xd4\xfc\xb3\xb0\x14\
+\x47\x7d\xaa\x56\xcd\xa2\xc6\xe6\xf3\x16\x7f\x75\x78\x96\x0e\xac\
+\x56\x65\x2d\x38\x47\x51\x98\x99\x99\x19\x00\xe3\xe3\xe3\x9e\x27\
+\xaa\x9b\xbf\xf7\xc6\x7e\x83\xe4\xdc\x05\x36\xd5\xfd\xbf\xf3\x00\
+\x62\xe1\x27\x91\x0f\xff\xd6\x60\x83\x45\xd4\x09\x74\x20\x8b\x38\
+\x2a\x48\x59\x15\xbb\x67\x00\x14\x41\xb3\x79\xff\xab\xb3\x88\x24\
+\x63\x11\x98\x91\xf8\xaf\xf9\x61\xbf\x35\xd3\xed\x3e\x6e\xec\xa2\
+\x28\x00\x54\x7e\xe7\x03\x09\xb3\x9f\x6a\xbf\xa3\xf6\x5b\x03\x90\
+\xf6\x4d\xf6\xe2\x70\xc1\x7f\x39\xcb\xf8\x53\xed\xff\xc9\xce\xab\
+\xe2\x38\xfb\xc2\xee\xd6\x5a\xc6\x18\xff\xef\x70\x68\x3e\x35\x79\
+\xbf\xf9\xfe\xab\x90\x4c\xfb\x5e\x3c\xd5\x7e\x0f\xd9\x02\xff\x99\
+\x99\xab\xc0\x68\x4f\x9d\x99\xff\xdf\x4c\xde\xbe\xb0\xed\xff\xf5\
+\xe6\x53\xed\xbf\xba\xfd\x07\x27\xe9\x64\x4d\x7b\x70\x37\xda\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x08\x94\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x08\x5b\x49\x44\x41\x54\x58\x85\xa5\x97\x79\x8c\x55\xd5\
+\x19\xc0\x7f\x67\xb9\xef\xde\x3b\x6f\x66\x18\xb6\x61\x60\x1c\xb1\
+\x28\x82\x05\x54\xa0\x68\xd5\xba\x83\x45\x64\x09\x8a\x5a\xc4\xad\
+\x4d\x6c\xd2\x34\x0a\x4d\x34\xb5\xad\xd6\xc6\xa4\x6a\xa4\x2d\xa6\
+\x5a\x6b\xd3\xb4\x26\x95\x58\x8b\x58\xad\x04\x4d\x6b\xac\xad\x52\
+\x0c\x55\x24\x5a\x95\x68\xac\x30\x40\x58\x07\x99\x79\xeb\xdd\xce\
+\x39\xfd\xe3\x2d\x30\x2c\x0a\xe9\x49\x4e\x72\x72\x97\xef\xfb\x7d\
+\xdb\x39\xdf\x11\xce\x39\x8e\x77\x28\x71\x75\x47\x8e\x6c\x72\xfb\
+\x90\xdc\x19\xed\x43\xc3\x9e\xb0\x25\x37\xc2\x39\x5c\xb5\x12\xef\
+\x1b\xf8\xac\xba\xad\x50\x4c\x3f\xcc\xf0\x3e\x30\xee\xb9\xe2\xf1\
+\xca\x14\xc7\x03\xe0\x8b\x79\x17\x8c\x9b\x30\xf4\x86\x19\x17\x4e\
+\x9e\x35\x65\xea\xe4\x53\xc7\xf4\xf4\xc8\xb6\xb6\x36\xb4\x97\x03\
+\x20\x4d\x62\x8a\x85\x01\x76\x6c\xdb\x9e\xbd\xfb\xf6\x7b\x1f\xbf\
+\xf5\xc6\xfb\x2f\xf7\x6e\x29\x3d\x9d\xba\x35\xef\xfc\x5f\x00\x5a\
+\xcc\x9f\x34\x71\x72\xc7\x8f\xe6\x2f\x9e\x7d\xcd\xb4\x73\xce\xcd\
+\xb5\xe6\x87\x60\x32\x8b\xc9\x32\xac\xb5\x34\xfe\x15\x42\x20\x95\
+\x44\x6b\x8d\xd2\x92\x81\x81\xfd\x6c\x58\xb7\xae\xf2\xe2\x33\xaf\
+\xac\xdc\xf2\x49\xf4\x40\xe6\x5e\xe8\x3d\x61\x80\xb6\xe0\xaa\x6f\
+\x2d\xb8\xe9\x6b\x0f\xcd\x5e\xb0\x60\x64\xe8\xb7\x12\x47\x55\xac\
+\xb5\x88\x9a\xc6\xcf\xb5\x4a\x4a\x49\x10\x86\x14\x8a\xfb\xf9\xcb\
+\x9f\x56\xf7\xbe\xfc\xec\xa6\x65\xd5\x6c\xed\x0b\xc7\x0d\x30\x72\
+\xf8\xdc\xfb\x6e\xb9\xe3\xda\x9f\x9c\x3d\xed\x5c\xa2\x4a\x84\xb5\
+\xa6\x69\xe9\x89\x0c\xa5\x14\xb9\xc0\xe7\xcd\xd7\x5f\x4d\x57\xfe\
+\x7a\xed\x9d\x03\xa5\x97\x7e\xf9\x85\x00\xc3\x3b\xae\xba\xf7\xd6\
+\xef\x5d\x7f\xff\xf8\xf1\x93\xa8\x56\xca\x47\x28\x3e\x74\x9d\x66\
+\x06\x1c\x78\x9e\x3a\x2a\x40\x43\x76\x98\xcf\xf3\xee\x3b\x6f\xb2\
+\xf2\xb1\xb5\xdf\x2d\x54\x5e\x7a\xfc\x98\x00\xf9\xdc\x9c\x25\x8b\
+\xbe\x3d\x73\xe5\xe4\x33\xa7\x13\x55\xca\xc7\x54\x2c\x84\x20\x8a\
+\x53\xa6\x4c\x1c\x43\x3e\xef\xb3\xe1\x9d\xad\xe4\x3c\x3d\x28\x32\
+\x83\x0c\x73\x8e\x20\x9f\x67\xc3\xba\xbf\xc7\x2f\xfe\xe1\xad\x79\
+\x91\x5d\xfb\x4a\xe3\x95\x6e\x2c\x7c\x71\xf5\xb8\x19\x97\x7f\xe9\
+\x67\x63\xc7\x4d\xa0\x6f\xef\x1e\x84\x10\xc7\x04\xa8\x46\x09\x53\
+\x27\x8f\x65\xfe\x15\x53\xf0\x73\x1a\x9b\x65\xbc\xf6\xaf\xcd\xe4\
+\x72\x1a\x29\xe5\x11\x00\xce\x39\x4a\xe5\x32\x13\xa7\x4c\xf3\x3f\
+\x99\xb1\xe5\x51\x5f\x5c\x77\x61\xec\x56\xed\x1b\x04\xd0\x31\x22\
+\xfd\xc1\x19\xd3\xa7\x76\x1d\xd8\xb7\xaf\x16\xf3\x43\x00\x1a\x30\
+\xce\x39\xaa\x51\xca\xf9\x33\x4e\xe7\xfa\x05\x33\x90\x52\x10\xa7\
+\x19\x73\x66\x4e\xc1\x3a\xc3\xda\x57\x36\x91\xf3\x54\xf3\xbf\xc3\
+\x21\x54\x45\x73\xd6\x79\xd3\x26\x6c\xfd\xf0\xaf\x4b\x81\x7b\x9a\
+\x00\x81\x58\x38\xe9\xac\xcb\x7b\x16\x67\x89\xa1\x3f\x2e\x02\x07\
+\x95\x4b\x29\x9b\xeb\x28\x4e\xb9\xfc\xa2\x33\xb9\x71\xd1\xf9\x40\
+\x3d\x07\x00\x67\x1d\x73\x67\x9d\x8d\xc0\xb2\xea\x85\xf5\x28\x2d\
+\x91\x75\xe0\x06\x44\x63\xed\x05\x01\x27\x4f\x1a\x71\x5b\x20\x16\
+\x3d\x11\xb9\xd5\x3b\x34\x80\x9f\x8f\x97\x0c\x19\xd9\x99\x3f\xd0\
+\xb7\x0f\xe7\x6c\xad\xae\xeb\x8a\xa5\x94\x38\x20\x8e\x53\xe6\xcf\
+\x3e\x97\x9b\xaf\xbb\x18\x6b\x2d\xc6\x58\xa8\x47\xc5\x38\x47\x1c\
+\xa7\xcc\x9d\x35\x0d\x81\xe3\xc9\xa7\x5f\x45\x08\x50\x4a\x62\xad\
+\x6d\xee\x19\xce\x39\x64\xb9\xc2\xf0\xee\x51\x9d\xda\x7b\x7f\x21\
+\xf0\xa8\xce\x8b\x25\x61\xdb\xc9\x7a\x4e\x12\x67\x24\xa5\x02\x52\
+\x2a\xa4\x94\xcd\x09\x10\x27\x19\x8b\xaf\xb9\x84\x5b\x16\x5f\x46\
+\x96\x19\xac\xb5\x75\xbf\x1e\xcc\x33\xe3\x1c\x95\x28\x61\xce\xac\
+\xe9\x08\xe1\x78\xec\xb7\x6b\xb0\xd6\x0e\x82\xb0\xd6\xe2\xac\xc5\
+\x4a\x41\x38\xcc\xcd\xcb\x8b\x9b\x7f\xa5\x1d\xd1\x38\x19\x7a\xa7\
+\x17\xfa\x0f\x80\x49\x50\x4a\xa1\x94\x6a\x2a\x4f\x53\xc3\x6d\xb7\
+\x5c\xc5\x37\x6f\x98\x45\x92\x66\x83\x2c\x3f\x62\x58\x47\xb9\x12\
+\x71\xe5\xcc\xaf\x20\xa5\xe0\xa1\x15\x7f\x24\x49\xd2\x41\x10\xc6\
+\x18\x90\x0a\x15\xca\x33\x1d\x49\x97\x46\xa5\xe3\x9d\xd4\x61\xa5\
+\x54\x42\x60\x9a\x00\x00\xc6\x38\x96\x7e\x67\x11\xb7\x2e\xf9\x3a\
+\x51\x94\x60\xad\x3b\xc2\xf2\xc3\x87\x73\x50\x2c\x57\xb9\xe2\xb2\
+\xe9\x28\x29\xf8\xf1\x83\x4f\x52\x28\x56\xd0\x4a\x62\x8c\xc1\x18\
+\x83\x43\x80\x16\x23\x9d\x4a\x4f\xd1\xce\x33\x27\x39\x91\xc3\x9a\
+\x0c\x29\x69\xc6\xcb\xf3\x34\xf7\x7e\xff\x66\xae\x5d\x70\x09\x85\
+\x52\x05\xe7\x1c\x82\xc1\xe5\xe8\x9c\xc3\xc1\x11\xcf\x71\x50\x28\
+\x56\xb8\xec\xe2\xa9\xb4\xb7\xe7\xb9\xfb\xbe\x27\xd8\xb7\xbf\x1f\
+\x01\x35\x00\x07\x42\x29\x89\x36\xa3\xa5\xd0\xa2\xb5\xaf\xaf\x8f\
+\xdd\x7b\x76\x53\x2c\x16\x49\x92\x04\x63\x0c\xbe\x9f\xa3\xbf\xbf\
+\xc8\x96\x6d\xbb\x10\xa2\xa6\xcc\x3a\x87\xb1\xb6\x39\x6d\x3d\xb1\
+\x0e\x7f\x6e\xac\x05\x1c\x07\xfa\x8b\x1c\xe8\x2f\xd0\xda\x1a\x62\
+\xea\xb9\xe3\x9c\xc3\x58\x53\x33\x48\xb9\xa1\x1a\xa9\xad\x75\x9a\
+\x4a\xb9\x4c\x12\x57\xf1\xfd\x80\x20\x08\x28\x95\x4a\xdc\xf7\xc0\
+\xef\x18\x7f\x5a\x0f\x5d\x9d\xc3\x90\x42\xb2\xf9\xe3\x5e\x7e\xf1\
+\xd8\xaa\xda\xc9\xa7\x14\x77\xde\x7e\x3d\x67\x4c\x18\xcb\xaa\xe7\
+\xff\xc1\xf3\x6b\xde\x20\x08\x72\x24\x69\xc6\x98\xae\xe1\xdc\x73\
+\xd7\x8d\xa4\x69\xc6\x4f\x97\x3f\xc5\xae\xdd\x7d\x68\x2d\xa9\x56\
+\x13\xa2\x28\xa2\x1a\x45\x44\x71\x82\x54\x23\x53\x2d\xa4\xde\xaf\
+\xb5\x87\x92\x39\xb4\xa8\xb9\x32\xcb\x32\x8c\x31\x08\x21\xb0\xb6\
+\xee\x32\x21\x28\x14\x4a\xac\xdf\xf0\x1e\x9e\xd6\x78\x9e\x47\xa9\
+\x52\x45\x2b\x45\xef\xf6\x5d\xbc\xf6\xc6\x46\x5a\xf3\x21\x51\x14\
+\x73\xda\xb8\x6e\x8c\xb1\x58\x07\x69\x1a\x53\x28\x0c\x20\x04\xa4\
+\x69\x4a\x96\x65\x64\x99\xc1\x09\x89\x50\x5e\x9f\x46\xfa\xdb\xb4\
+\xaa\x22\x55\x80\x16\x19\x4a\xe9\x66\x15\x38\x07\xd6\xd4\x6b\x98\
+\x5a\xbc\xb5\x92\x48\x09\x42\x38\x9c\x75\xa4\xc6\x30\x6a\xe4\x50\
+\xa6\x9f\x3d\x9e\x96\xd0\x27\x49\x32\xba\xc7\x8c\xa8\x15\x85\xad\
+\xf5\x0e\x88\xda\x86\xa6\x75\x7d\xe3\x95\x1a\x6b\x5d\x8c\x0c\x76\
+\x68\x27\x5b\x3e\x52\xa2\xf0\x99\xf6\xc2\x61\xca\x56\x6a\x4d\x85\
+\x52\x08\x21\x1b\xd9\x85\x75\xb6\xae\x9e\xfa\xfb\x83\xc2\xca\xe5\
+\x0a\x73\xaf\x3c\x9f\x79\x73\x2e\x18\x94\x84\x42\xd6\x3c\x29\x95\
+\xaa\xfd\xd3\xdc\x51\x1d\xc2\x69\xd2\x24\xdb\x6e\x74\xcb\x56\x89\
+\x97\xdf\x81\x95\x1b\xb5\x17\xa0\x95\xd7\x2c\x43\xcf\xab\x81\x34\
+\x92\xac\xb1\xad\xd7\x76\xc8\xda\x74\xd4\x9e\x5b\xeb\x06\xcf\x7a\
+\x72\x3a\x40\x29\x8d\xa7\x0f\xca\xd5\x4a\xa3\x3c\x0d\x04\xeb\x2b\
+\x7b\x1e\x1f\xd0\x95\x9d\x8f\xd8\xfc\x49\x37\x3c\x27\x95\x9b\xa5\
+\x64\x88\x12\x59\xf3\x63\x61\x1d\x5a\x6b\x7c\xdf\xc3\x59\x47\x4b\
+\x4b\xc0\xa8\xce\x61\x75\x77\x2a\xc2\xc0\xc7\xf3\x74\xd3\x3b\x8d\
+\x21\x10\x28\x25\x49\x72\x1e\x5a\xd7\x65\x89\x86\x6b\x7c\xac\xb1\
+\x58\x31\xe4\xcf\x50\xef\x07\x82\x53\xee\xe8\x6c\xcd\xed\x7c\xbb\
+\xa5\xb5\xbd\x47\xa5\x03\x28\xad\x51\xaa\x76\xb4\xce\x98\x36\x91\
+\x11\x23\x3a\x70\xd6\x91\x19\x43\xa9\x14\x21\x95\x42\x49\xc9\x90\
+\x21\xad\x78\x5a\xd5\x2c\x6e\x94\xe6\x21\x33\x49\x52\xfe\xbd\x71\
+\x33\xe5\x72\xa5\x99\x0f\x46\xfa\x94\x4a\xe5\x4d\x65\x7b\xea\x85\
+\xd1\xa7\x3f\x2f\x37\x1b\x92\xd6\x53\x6f\x5a\x36\xbc\x43\xaf\xf0\
+\x04\x68\x22\x54\xdd\x6d\x69\x5a\xab\x59\xa5\x35\x81\xef\x13\x84\
+\x01\x5e\x3d\x4f\x1a\xa1\x71\xce\x61\x4c\x2d\xbb\xd3\x34\x21\x49\
+\x52\xb2\x34\xc5\x39\x47\x2e\xa7\xb1\xd6\x92\x65\x19\xd6\x29\xe2\
+\x34\xa1\xaf\xd4\xb2\xb8\xfc\xdf\xdf\x3f\x03\x87\xf4\x03\x69\x6e\
+\xcc\x6f\x2a\x95\xad\x0b\x87\x0f\xef\xbc\x48\x1a\x90\xc2\x21\xa5\
+\x24\x0c\x6b\x25\xe7\xfb\x3e\xbe\xef\x93\xcb\xe5\xf0\x3c\x6f\xd0\
+\x79\x51\x03\x30\x64\x59\x46\x92\x24\x24\x49\xad\xde\x93\x24\xa9\
+\x1f\x5c\x0e\xa5\x73\x08\x34\xa5\x52\xbc\x3a\xf3\xbb\x9e\x6d\x86\
+\xeb\xd0\xa6\x21\xf8\xf2\xb2\xc9\x9d\x7e\xdf\xdf\x3a\x86\x8e\x1a\
+\x2d\xb3\x22\x12\x8b\xf6\x3c\xc2\x30\x24\x0c\xc3\x26\xc4\xb1\x00\
+\xd2\x34\x25\x49\x12\xe2\x38\xae\x6d\x38\xd5\x2a\x49\x1c\x63\x1c\
+\x38\x19\xd0\x77\x60\xdf\x47\x7d\xb6\x67\x66\xfc\x9f\xe5\x3b\x8e\
+\x0a\x00\x10\x9c\x79\xfb\xac\xee\xb0\xb4\x6a\x68\xc7\xa8\x0e\x61\
+\xca\x04\x39\x45\x4b\x4b\x0b\x61\x18\x12\x04\xc1\x11\x5e\x68\xd4\
+\x7b\xc3\xfa\x86\xf2\x28\x8a\xa8\x54\xca\x54\xa3\x14\x83\x47\xdf\
+\x81\xbd\xbd\xbb\x92\x91\x0b\xe3\xf7\x56\x6c\x1a\x94\xb0\x47\x6b\
+\xcb\x83\x69\xcb\x2e\x1d\x93\x2b\x3c\x39\xa6\xb3\x7b\x6c\x4b\xe0\
+\x11\x78\xd0\x12\x06\x84\x2d\x0d\x88\x00\xcf\xf3\x06\x79\xa0\x61\
+\x7d\xc3\xf2\x6a\xb5\x4a\x9c\x3a\x4a\xa5\x0a\xbd\x7b\x77\x7e\xb0\
+\x3b\xeb\x5c\x12\x6f\x5c\xfe\xee\xe1\xba\x8e\x79\x31\xf1\xce\xfb\
+\xe1\xf8\x4e\xd1\xb7\xfc\xf4\xd1\x5d\x0b\xba\x3a\x47\x13\x04\x9a\
+\xc0\x93\x04\x41\x2d\x0c\x47\xde\x11\x1c\x49\x92\x12\xc5\x09\x49\
+\x62\xa8\x54\x63\x76\xee\xde\xc1\xe6\xdd\xfb\x9f\xea\x63\xd4\xdd\
+\xd9\xfa\xfb\x77\x1e\x4d\xcf\xe7\x5e\xcd\xe4\xa5\x0f\xca\x30\xeb\
+\xfb\xc6\xb8\x36\x96\x4e\xec\xe9\x3e\xa7\x7b\x54\x37\xed\xed\xed\
+\x08\xd1\x38\xb6\x6b\x9d\x51\xb3\x85\x43\x50\x2c\x0e\xb0\x6d\xe7\
+\x0e\xf7\xc1\xf6\x9d\xaf\x6d\xa9\xe8\x47\xaa\xff\x7c\x78\xcd\x31\
+\x15\x7c\x11\x40\xf3\xa3\xd9\x0f\x07\xbe\x2d\x5e\x32\x3a\x34\xf3\
+\x4f\x19\xda\xfa\xd5\xce\xf6\xb6\xb1\x6d\x41\xd8\xe1\x69\x2d\x71\
+\x90\x64\x69\x56\x88\xaa\x03\x7b\x06\x8a\x9f\xf6\x0e\x94\xd7\xed\
+\x8a\xf4\x9a\x54\xb5\xbd\xee\x5e\xba\xcb\x7c\xa1\xec\x13\xb9\x9e\
+\x03\x88\x6b\x56\x04\x88\x6c\xb4\x12\xb6\x4b\x6b\xda\x70\xb8\xd4\
+\xd2\x6f\x9d\xda\x8b\xf3\x76\xb9\xd5\x4b\x93\x13\x91\xf7\x3f\x3e\
+\xd5\xa3\xca\x19\xd0\x45\x57\x00\x00\x00\x00\x49\x45\x4e\x44\xae\
+\x42\x60\x82\
+\x00\x00\x0d\x73\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0d\x3a\x49\x44\x41\x54\x68\x81\xd5\x9a\x5d\x6c\x1c\xd7\
+\x75\xc7\x7f\x77\xe6\xce\xcc\x7e\x68\x97\x4b\x51\xa4\x44\x51\x6e\
+\x4a\xc5\xa5\x98\x26\x76\x61\x51\x31\x10\xa3\xad\x5a\xa7\x36\x1c\
+\x03\x49\x93\x34\xb0\x1f\x0a\x3f\x38\x40\x8d\xc2\x30\x20\xd4\x46\
+\x51\xbf\xf4\xa5\x40\x0b\x15\x81\xdd\x08\x85\x6d\xa0\xe8\x83\x0b\
+\x08\x6e\xf3\x62\xc5\x4f\x0d\x10\xf8\x21\x85\x0b\xd5\x76\x14\x18\
+\x6e\x28\x5b\xa8\x0d\x43\xb2\x69\x50\x24\x25\x72\xb9\x5f\xf3\x79\
+\xa7\x0f\xbb\xe7\xfa\xee\x92\x74\x90\xbe\xf5\x02\x83\x59\xce\xce\
+\xde\x39\xff\xf3\x3f\xdf\x43\x55\x96\x25\xff\x9f\x97\xbe\x78\xf1\
+\xe2\xd8\x85\xb2\x2c\xc9\xb2\x6c\x61\x79\x79\xf9\x17\x4a\xa9\x1d\
+\x20\xd3\x5a\xe3\xfb\xbe\x1f\x86\x61\xa1\xb5\x26\x8a\x22\xb4\xd6\
+\x04\x41\x40\x18\x86\xca\xf3\xbc\xd2\xf7\x7d\x55\x96\x65\x99\x65\
+\x19\x59\x96\xa9\x3c\xcf\xcb\xc1\x60\x40\x51\x14\x24\x49\x42\x96\
+\x65\x24\x49\x42\x1c\xc7\x7e\x96\x65\x45\xaf\xd7\x53\x59\x96\x95\
+\x49\x92\x30\x3a\x54\x9a\xa6\xe5\x60\x30\x20\x49\x12\x06\x83\x81\
+\x1f\xc7\xf1\xb1\xad\xad\xad\x3f\xd2\x5a\x5f\xd9\x4f\xf8\xa2\x28\
+\xd0\x4a\xa9\x3d\x5f\x28\xa5\xbe\xbf\xb4\xb4\x34\x77\xe4\xc8\x91\
+\xb9\x49\x70\x45\x51\xa0\xb5\xb6\x7f\xbb\xbf\x17\x36\xb3\x2c\xc3\
+\x18\xc3\x08\x0c\xc6\x18\xe2\x38\xb6\x20\xe4\x7a\x92\x24\xf4\x7a\
+\x3d\xd2\x34\xa5\xd7\xeb\xd1\xef\xf7\x49\x92\x84\xdd\xdd\x5d\xaa\
+\xd5\x2a\x00\xdb\xdb\xdb\x3f\xf0\x3c\xef\x7e\xcf\xf3\xf6\x93\x13\
+\x1d\x04\xc1\x98\x00\xa3\xe3\x2f\xae\x5c\xb9\x42\x10\x04\xcc\xcc\
+\xcc\x30\x3d\x3d\xcd\xdc\xdc\x1c\x95\x4a\xc5\x0a\x2f\x1b\x88\xd0\
+\xc6\x18\x8c\x31\xf6\x73\x96\x65\x14\x45\x61\x8f\x3c\xcf\xc9\xf3\
+\x1c\x80\x3c\xcf\xed\xb5\xb2\x2c\x49\xd3\x94\xa2\x28\xc8\xb2\x8c\
+\x3c\xcf\xf1\x3c\x0f\xcf\xf3\x30\xc6\x50\xa9\x54\xfe\x30\x0c\x43\
+\xf6\x03\x50\x96\x25\x7a\x7d\x7d\x7d\x8f\x86\x4f\x9c\x38\x31\xad\
+\xb5\xc6\x18\xc3\xe6\xe6\x26\x5b\x5b\x5b\x5c\xbf\x7e\x9d\x46\xa3\
+\x41\xa3\xd1\xa0\xd9\x6c\x32\x35\x35\x45\x10\x04\x28\xa5\x28\x8a\
+\x02\x63\x8c\x15\xd2\x18\x33\x26\x90\x68\x3c\xcb\x32\xd2\x34\xb5\
+\xda\x1f\x99\x14\x69\x9a\x5a\x86\x5c\x70\x23\x00\x5c\xbb\x76\x6d\
+\x4c\x71\xb2\x8c\x31\x7b\x4d\xc8\xf3\x3c\x7c\xdf\xc7\x18\x83\x52\
+\x8a\x20\x08\x08\x82\x00\xcf\xf3\xc8\xb2\x8c\xdb\xb7\x6f\xd3\x6e\
+\xb7\x59\x5f\x5f\x27\x0c\x43\xea\xf5\x3a\xcd\x66\x13\x61\xd2\xf3\
+\x3c\xab\x88\x49\xe1\xf7\x3b\xd2\x34\x25\x4d\x53\xcb\x5e\x59\x96\
+\x96\xcd\x2c\xcb\xa8\xd7\xeb\x28\xa5\x4e\x7b\x9e\xf7\x8b\x49\x59\
+\x95\x52\x68\xf9\x21\x20\x9a\xbc\xc7\xf3\x3c\x8a\xa2\x40\x29\x85\
+\xe7\x79\x16\x08\x80\xd6\x1a\xad\x35\x9e\xe7\x91\xe7\x39\x3b\x3b\
+\x3b\x6c\x6f\x6f\xdb\x7b\x6a\xb5\x1a\x4a\x29\x7c\xdf\xb7\xb4\x8b\
+\x69\x8a\xd0\xa2\x65\xd1\xba\x6b\x66\xc2\xa6\x28\x61\xa4\xc0\xbf\
+\x8a\xa2\xe8\xd1\x49\x33\xca\xf3\x7c\x9c\x01\xdf\xf7\x29\xcb\xf2\
+\x1f\xca\xb2\x24\x8e\x63\xa2\x28\xa2\x28\x0a\x8b\xd6\x15\x46\x80\
+\xf9\xbe\x6f\xbf\x4b\xd3\x94\x7e\xbf\x4f\x96\x65\x7b\x40\x88\x50\
+\x79\x9e\x93\xa6\x29\x83\xc1\xc0\x82\x11\x93\x13\xa1\x5d\xff\xc8\
+\xf3\x1c\xa5\xd4\x77\x6f\xdc\xb8\xb1\xc7\x8c\x8c\x31\xe8\x30\x0c\
+\xc7\x2e\x28\xa5\xce\xca\x66\x22\x88\x52\xca\x52\x2a\x14\x8b\xe0\
+\x2e\x20\x61\x33\x08\x02\x1b\x3e\xc5\x8c\x5c\xf3\x90\x48\x34\xe9\
+\x37\xc2\x80\x00\x11\x76\x5a\xad\x96\xf5\x55\x97\x05\x63\x0c\xfa\
+\xea\xd5\xab\xf6\x0f\x63\x0c\xa7\x4e\x9d\x22\x8e\x63\xeb\x9c\x79\
+\x9e\x13\x86\x21\x79\x9e\x5b\xdf\x10\xed\x97\x65\x69\x1d\x59\x42\
+\xaa\xab\x69\xa5\x94\x15\x3e\x49\x12\x6b\xeb\xae\xe9\x88\x53\xa7\
+\x69\x6a\x81\xb9\x8e\x6d\x8c\xa1\xd9\x6c\x52\x14\xc5\x77\x80\x4b\
+\x2e\xa3\xc6\x18\xb4\x84\x36\x79\x68\x96\x65\xf4\x7a\x3d\xeb\xb4\
+\x5a\x6b\xd2\x34\x25\x0c\x43\xcb\x86\x6b\x36\xae\x59\xc9\xa6\x12\
+\x16\x05\x90\x0b\x26\x4d\x53\x00\xfa\xfd\xbe\x7d\x66\xb7\xdb\xb5\
+\xd7\x84\x65\xb9\x37\x8e\x63\x7c\xdf\x27\xcb\xb2\xc7\xdf\x79\xe7\
+\x9d\x4b\xf2\xcc\x27\x9e\x78\x62\x18\x46\x1f\x7a\xe8\x21\x17\xd1\
+\x5f\x2e\x2d\x2d\x59\xaa\x24\x02\x89\xe3\xfa\xbe\x6f\x23\x92\x80\
+\x08\xc3\x70\xdf\x10\x77\xd0\xea\x74\x3a\x96\x09\xd1\x38\xb0\x27\
+\xcc\xba\x0e\x1f\x86\x21\x6f\xbe\xf9\xe6\x37\xdd\x7d\xe2\x38\x06\
+\x40\xcf\xcc\xcc\xb8\x00\x16\x6a\xb5\x1a\x5b\x5b\x5b\xd6\x8e\xd3\
+\x34\xb5\xd1\xc8\x15\xde\x5d\x62\x36\xa2\x39\x39\x03\x36\x08\xb8\
+\xbe\x02\x58\x96\x5c\x67\x95\xbd\xe4\x99\x62\x66\x41\x10\x70\xf2\
+\xe4\xc9\xb1\x67\xde\x79\xe7\x9d\x43\x00\xfd\x7e\xdf\x05\x90\xc4\
+\x71\x6c\xb3\xa1\xd8\xb5\x08\x2f\x4e\xad\xb5\xb6\x25\x85\xeb\xc0\
+\x72\x2f\x7c\x96\xa5\xc3\x30\xb4\x4e\x29\x81\x40\xee\x15\xa6\xe5\
+\x79\x12\x81\x00\xeb\xdc\xa2\x90\x4e\xa7\xb3\x87\x49\xe0\xb3\x3c\
+\x20\x25\x81\x68\x4f\xcc\xc7\x2d\xdc\x44\x30\x09\x8f\x62\x56\x4a\
+\x29\xab\x49\x01\x28\x42\xbb\x49\x4a\x04\x14\x10\xf2\x59\xd8\x90\
+\xb2\xc2\xcd\xc6\x45\x51\xec\x5b\x46\xc8\x9e\x5a\x9c\x6a\xf4\x40\
+\x25\x42\xf8\xbe\xcf\xee\xee\x2e\x1b\x1b\x1b\xdc\x71\xc7\x1d\x00\
+\x7c\xfa\xe9\xa7\xd4\xeb\x75\x6e\xdc\xb8\xc1\xee\xee\xae\x35\x93\
+\x43\x87\x0e\xb1\xb4\xb4\xc4\xf1\xe3\xc7\xd9\xdc\xdc\xe4\xf8\xf1\
+\xe3\x44\x51\x64\xf7\x15\x70\x92\x5f\xb4\xd6\x24\x49\x32\xe6\xf8\
+\xae\x1f\x74\xbb\x5d\xd2\x34\x65\x6a\x6a\x8a\x24\x49\xec\xf7\xee\
+\x12\xa6\xb4\x1b\xa3\x5d\x7b\xf4\x7d\x9f\xe7\x9e\x7b\x8e\x4b\x97\
+\x2e\x8d\xfd\xf0\x0f\x7e\xd4\xe7\xcf\xef\xf9\x1a\xf5\xbc\x4f\x37\
+\x51\x84\x35\xc5\x97\xaa\x21\x67\x2e\xfc\x37\xf3\xbf\x7b\x8a\x8d\
+\xbf\x7d\x99\xe2\xbd\xbf\xdf\xf3\xc0\x5f\x67\xd5\x80\x02\x78\xed\
+\x27\x3f\xb1\x26\xb6\x1f\x08\x00\x2d\xde\x2c\x82\x0b\x95\xc6\x18\
+\x6a\xb5\x1a\x7f\x76\xe6\x3b\xac\xb6\x8e\x51\x7e\xf5\x7b\x9c\xf9\
+\xd6\xfd\xcc\x7f\x19\xbe\x5d\x81\xed\xb4\x46\xa1\x61\x21\x1a\xed\
+\x34\x13\xf0\x2f\x8f\x28\x92\x3f\x3d\xcf\xf7\xbe\xff\x28\x33\xf5\
+\x80\x32\xaf\x60\x7c\x9f\xb8\x5f\x42\xd9\x27\x24\x27\x29\x3d\xf2\
+\xbc\x87\xce\x72\x28\x73\xbc\xb2\x20\xac\x94\x50\x96\x54\xa7\x0e\
+\x73\xfd\x67\xff\xc6\xdf\x7d\x7d\x9a\x97\xff\xf9\x05\x2b\x0b\xb0\
+\x07\x80\x35\xa1\x89\x22\xca\x17\xe7\x19\x0c\x06\x04\x41\xc0\x97\
+\x7e\x7b\x81\x5f\x7e\xfb\x1f\x99\xbd\x07\xfe\x6b\x0d\x4e\x5d\x85\
+\x4b\x47\x61\x33\x01\x34\x9c\xa8\xc0\x56\x0c\x24\x15\xde\xfa\x18\
+\x66\x9b\xf0\xe8\x5f\xdf\xc3\xf2\x22\xe4\x40\xc0\xf0\x5c\x00\x69\
+\x0a\x71\x08\x2a\x83\x6e\x17\xf2\x12\x06\x7d\x88\x93\xe1\x77\x5a\
+\xc1\xc7\x7f\x7c\x86\x4f\xde\xfe\x29\x5f\x39\xfc\x4f\x74\xbb\x5d\
+\xeb\x27\x93\x9d\xa3\x05\x30\x99\xc8\xe4\xc6\xc1\x60\x40\xad\x56\
+\xc3\x9c\xfe\x13\x1e\xfe\x1a\x7c\x1d\xe8\x9d\x80\x76\x01\x3b\x3d\
+\x43\xa8\x3c\x42\x05\xed\x2e\x2c\x1f\x83\xf4\x07\x5f\x61\x3b\x81\
+\x76\x0a\xdf\x6d\x80\x36\xd0\x02\xf0\x60\x90\x1b\xaa\xa9\x22\x09\
+\x72\x82\x54\x81\xa7\xc8\xeb\x3e\x49\x61\xf0\x5a\x25\x59\xe1\x93\
+\x6b\xe8\x15\x70\x7e\x19\x7e\xf8\x85\x07\xa8\xbc\xd2\xa0\xdf\xef\
+\xdb\x88\x37\x59\x89\x8a\x9c\x7b\x7c\xc0\x8d\x14\xf5\x7a\x9d\xa7\
+\xce\x1e\x23\x3a\x06\xd0\x03\xca\x91\x2e\x0b\xc0\x07\xcc\x50\x42\
+\x72\xa0\x64\x2e\x8a\x98\x8b\x8a\xd1\x23\x02\xa0\xe0\xe7\x6f\xdf\
+\xe6\xae\x95\xdf\x84\x1a\x84\x68\x54\x31\xd4\xbc\xf6\x4b\x8c\xa7\
+\xf0\x72\xc5\x5a\x07\xfc\xdd\x36\x5f\x5c\xec\x00\x27\x78\xe9\x14\
+\xfc\xcd\xd2\x97\xd9\xd9\xd9\x61\x76\x76\xd6\x46\x24\x77\xc9\xdf\
+\xda\xb5\x31\x09\x63\xc6\x18\xfa\xfd\x3e\x0b\x0b\x0b\x44\xd3\x2d\
+\x5e\x78\xbb\x4b\x61\x52\x02\x4a\x28\x3c\x4a\xad\x50\xa4\xa4\x26\
+\xc4\x4f\x0a\x62\x53\x50\x66\x1e\x89\xd9\x21\x4e\x7c\x32\x53\x60\
+\xb2\x82\xf5\x9b\x1d\x8e\x7f\x75\x99\xac\x84\x0f\xae\x83\x2e\x15\
+\x45\x02\xb7\xaa\xe0\xf5\x20\x2e\x87\x3a\x49\x42\xf8\xf9\xc7\x53\
+\xdc\xf9\x9f\x1b\x54\xe6\x3e\xe5\xfe\x2f\x1e\xe7\x1b\x67\x97\x79\
+\xf5\xe6\x4d\x5a\xad\xd6\x98\x2f\xfc\x4a\x13\x72\x13\xc8\xc9\x93\
+\x27\x59\xd3\x47\xf8\xe1\xbb\x09\xbf\xff\x85\x29\xc2\xc8\x67\xaa\
+\x0e\x95\x08\x1a\x1e\xd4\x22\xa8\x85\x70\xb4\x02\x55\x0f\xa6\x0e\
+\x41\xc5\x87\xaa\x3f\xe4\x27\x1c\x71\xb5\x75\x1b\x8e\x46\x43\xc2\
+\x8a\x08\xa6\x32\x50\x11\xc4\x40\x2f\x05\x95\xc3\xdc\x6f\xc0\xad\
+\xd9\xdf\x62\x2d\x81\x0b\x9b\xf0\xda\xe9\xdf\xe1\xe5\x1f\xbd\x6e\
+\x73\xc6\x41\xd3\x93\x49\x13\xf2\x24\xc1\x24\x49\xc2\xfc\xfc\x3c\
+\x8d\x48\x31\x9d\xed\x12\x24\x29\xbe\x8a\xc8\xd2\x00\xea\x01\xa9\
+\x07\x9d\x5d\xf0\x8a\x91\xa3\x8e\x84\x0e\x34\x34\x02\xa8\x7b\x50\
+\x0f\xa1\x5a\x83\x56\x09\xad\x00\x9a\x53\x50\x14\x43\x67\x55\x75\
+\x28\x32\x18\x78\x90\x00\x89\x81\x2e\xb0\xbc\x0b\x1f\x1a\xe0\xe8\
+\x69\xe6\xff\xe3\xaa\x14\x72\x07\x87\xd1\x09\x06\x8c\x24\x93\xd5\
+\xd5\x55\x56\x57\x57\x81\x7f\xe5\xf7\x00\xfe\xe7\xb3\x1f\x65\xa3\
+\x73\xb2\xef\x96\xb0\x7e\xc0\xf5\x5f\x67\x3d\x33\x3a\x4f\x4f\x4f\
+\x93\x24\xc9\x9e\xfa\x6b\x8f\x0f\x8c\xec\x4c\x25\x49\x42\xa7\xd3\
+\xe1\xe1\x87\x1f\xe6\xde\x7b\xef\xb5\x91\x40\x5a\xc6\x28\x8a\x6c\
+\x0f\xf0\x7f\x59\xa2\x20\xa9\xf5\xc5\xef\xe2\x38\x26\x8e\x63\xe4\
+\xf9\xdb\xdb\xdb\x6c\x6f\x6f\xb3\xb6\xb6\x46\xa5\x52\xd9\xb3\x8f\
+\xcd\xc4\x13\x0c\x68\xb7\x94\xed\x76\xbb\xcc\xcf\xcf\xdb\x07\x0b\
+\x72\x69\x6a\x24\xbc\xb9\x75\x8b\xc4\xec\x34\x4d\x2d\xfd\x92\x18\
+\xdd\xe1\xc0\x60\x30\xb0\x95\x67\x1c\xc7\x78\x9e\x47\xbb\xdd\x66\
+\x6b\x6b\x0b\x63\x0c\x8d\x46\x83\x30\x0c\x6d\xcd\xe4\x8e\x7f\x64\
+\x95\x65\xf9\x59\x22\x1b\xd5\x24\xd6\x07\xd2\x34\x65\x75\x75\x95\
+\xf7\xde\x7b\x8f\xc5\xc5\x45\x66\x66\x66\x50\x4a\x8d\x95\xd7\x93\
+\x4b\xaa\x56\x63\x0c\x5a\x6b\xdb\x10\xb9\x43\xae\xa2\x28\xe8\x74\
+\x3a\xf8\xbe\x3f\x36\x4e\x31\xc6\xb0\xb6\xb6\xc6\xfc\xfc\x3c\x9f\
+\x7c\xf2\x09\x37\x6f\xde\x24\x08\x02\x0b\x6e\xf2\x79\x36\x0a\x89\
+\x66\x47\xda\x35\x32\x0e\x34\xc6\x58\x0d\x7c\xf8\xe1\x87\xdc\xbc\
+\x79\x93\x85\x85\x05\x9a\xcd\xe6\x58\xbd\x3f\xb9\xa9\x14\x6d\xb2\
+\x87\x3b\xe3\x91\xee\x2c\x0c\x43\x5b\x75\xba\x05\xdd\xfb\xef\xbf\
+\x4f\xa5\x52\xe1\xf0\xe1\xc3\x6c\x6f\x6f\xdb\x67\xc9\x3e\x93\xda\
+\x07\xd0\x6e\xc3\x51\x14\x45\x3e\x99\x91\x95\x52\x44\x51\x44\x9a\
+\xa6\x7c\xf4\xd1\x47\x4c\x4d\x4d\x31\x37\x37\x47\x18\x86\xb6\x2b\
+\x72\x37\x14\xe1\xc5\xec\x04\x94\xdb\x61\x89\x09\xc9\x73\x92\x24\
+\xb1\x4d\xcb\xe5\xcb\x97\x51\x4a\xb1\xb4\xb4\x34\xd6\xf0\x4c\x2a\
+\xcc\x32\xe0\x02\x30\xc6\x68\xb7\xad\x93\x1f\xcb\x1c\xc8\xf7\x7d\
+\xba\xdd\x2e\xdd\x6e\x97\x66\xb3\x49\xab\xd5\xb2\x9d\x93\xdb\x17\
+\xbb\x5a\x73\x27\x0f\x22\xbc\x5c\x13\x65\x19\x63\xe8\x76\xbb\xcc\
+\xce\xce\x72\xfa\xf4\x69\xcb\x52\xa7\xd3\xb1\x53\x3c\x29\xcf\x0f\
+\x64\x40\x7c\xc0\xd5\x9e\x8b\x5c\xc2\x98\x34\x30\x9d\x4e\x87\x5e\
+\xaf\x47\xa3\xd1\xa0\x52\xa9\x8c\x99\x83\xf4\x14\x6e\xdb\xe8\xce\
+\x4b\xc5\xae\x05\x94\x94\x2f\x71\x1c\x5b\xc1\x44\x78\xb7\xbc\xdf\
+\x17\x80\x5b\x63\xe4\x79\x6e\x64\xbc\x21\x03\xa8\xd1\xf5\xb1\xb2\
+\x56\xd8\x28\x8a\x82\x9d\x9d\x1d\x60\xd8\xd4\x48\xb8\x95\xfb\x45\
+\x19\x72\xaf\x3b\x53\x72\x47\x8f\x2e\x43\x6e\x1b\x29\x32\x48\x03\
+\xb4\x2f\x80\x09\x27\xf6\x25\x14\x4e\x9a\x90\x2c\xe9\xd6\xa4\xaf\
+\x95\x7c\x30\x18\x0c\x78\xe4\x91\x47\x68\xb7\xdb\x63\x6d\xa1\x44\
+\xa6\x46\xa3\x41\xab\xd5\xe2\xc2\x85\x0b\xd6\xee\x5d\x9f\x70\x27\
+\xd8\x6e\xef\x0c\xc3\x98\x3f\xc9\x80\xac\x3d\xc5\x9c\xeb\x78\x6e\
+\xf4\xf0\x7d\xdf\xf6\xc2\xee\x70\x4b\x42\xdc\xd6\xd6\x16\x8d\x46\
+\x83\x6b\xd7\xae\xb1\xbe\xbe\x6e\x41\xe7\x79\xce\xe2\xe2\x22\x4f\
+\x3d\xf5\x14\x1f\x7c\xf0\xc1\x58\xbe\x70\xcd\xc7\x9d\x8b\xba\x3d\
+\xb1\x34\xfc\x93\x89\xd3\x66\x62\x37\x91\x15\x45\x61\x64\x63\x99\
+\x1a\xbb\x61\x4e\x26\x10\x62\xe3\xee\xf0\x37\xcf\x73\x1e\x7f\xfc\
+\x71\xaa\xd5\x2a\x8b\x8b\x8b\x7b\x34\x75\xe1\xc2\x05\xce\x9e\x3d\
+\x6b\x27\x70\x92\xd0\x26\x4d\xc9\x65\x5f\x0e\x61\xfd\x73\x7d\x60\
+\x04\xc0\x73\x43\x9e\xfb\x82\x42\x26\x0d\x22\xb4\x38\xb3\xcb\xc4\
+\xe5\xcb\x97\x59\x5e\x5e\xb6\xf9\x43\xfc\xa0\x52\xa9\xd0\xe9\x74\
+\x78\xf0\xc1\x07\x49\x92\x64\x6c\xee\x79\x90\x1f\xb8\x73\x26\x71\
+\xf8\x7d\x4d\x48\xe6\x42\x23\x44\x81\x4b\x9f\x4c\x0e\x46\x53\x6b\
+\x6b\x8b\xee\x78\x51\x3e\xe7\x79\xce\x7d\xf7\xdd\xc7\xab\xaf\xbe\
+\x4a\xbd\x5e\xb7\x42\x8a\xa6\x1f\x78\xe0\x01\xe6\xe6\xe6\xc6\x1c\
+\x74\x32\xac\xba\x40\xc4\x4f\xe4\xb9\x93\x4e\x2c\xc1\x43\xb7\x5a\
+\x2d\x00\xb1\xe5\x6a\xad\x56\xb3\xce\x23\x60\xc4\xfe\x25\x7a\xb8\
+\xc3\x28\xb1\xcd\x3c\xcf\x39\x77\xee\x1c\xcf\x3c\xf3\x0c\x9f\xb7\
+\x5e\x7c\xf1\x45\xeb\x47\x93\xaf\x9f\x5c\x10\x62\xb6\x87\x0e\x1d\
+\xb2\x75\x97\xbb\xee\xba\xeb\x2e\x00\xd4\x4b\x2f\xbd\x04\x0c\x43\
+\x5d\xb5\x5a\xfd\xc6\x63\x8f\x3d\xf6\x1a\xe0\x3d\xf9\xe4\x93\xfe\
+\xca\xca\x0a\xbd\x5e\xcf\x3a\xaf\x80\x70\x9d\x57\x00\x48\x76\x15\
+\xd3\x10\xfa\xdd\x10\xea\x79\x1e\xd5\x6a\xd5\x32\xb6\x1f\x00\xd7\
+\x02\xe2\x38\xe6\x85\x17\x5e\x00\x60\x76\x76\xf6\xa7\x1b\x1b\x1b\
+\x0f\x0a\x80\xe7\x9f\x7f\x7e\xc8\x80\xd0\x3c\x5a\xff\xce\xb0\x91\
+\xe2\xc8\x91\x23\xa5\xbc\x41\x14\xc1\xdd\x49\xb3\x0b\x04\xb0\xe5\
+\xb6\xfb\xce\x40\x80\x8b\xfd\x4a\x00\x90\x84\x35\x69\x4e\x2e\x80\
+\x24\x49\x68\xb7\xdb\x94\x65\xa9\x94\x52\x6c\x6c\x6c\x8c\x31\xf0\
+\xf4\xd3\x4f\x0f\x01\xc8\x05\x77\xc0\x7a\xf1\xe2\x45\x06\x83\x81\
+\x0d\x87\x42\xb7\x2b\xb4\x94\xd2\x07\xbc\xa6\xb5\x80\xa4\x32\xdd\
+\xef\x2d\x8c\x9b\xa5\x27\xcd\x28\x49\x12\x6e\xdd\xba\x65\x65\x3b\
+\x68\x69\x89\xd7\xe2\xa8\xe7\xce\x9d\xe3\xad\xb7\xde\x22\xcf\x73\
+\x8e\x1d\x3b\x66\x9d\x6c\x72\x80\xeb\x9a\xcf\x41\x23\x0f\x11\xd6\
+\xad\x50\x27\x07\xbd\x6e\x4d\xe4\x26\x32\xf9\xfc\xab\x96\x7e\xe3\
+\x8d\x37\xc6\xb4\x36\xf9\xf2\x22\x08\x02\x6b\x0a\xee\x60\x57\x84\
+\x92\xb9\x8d\x98\x98\xcb\x82\x84\x5d\x37\xa3\xbb\xe6\x24\x4d\x4a\
+\x9e\xe7\x76\x9c\x2f\x67\x61\x0d\xe0\xd9\x67\x9f\xe5\xfc\xf9\xf3\
+\xfb\x03\x58\x59\x59\xd9\x73\xd1\xf7\x7d\xc2\x30\xe4\xc6\x8d\x1b\
+\xf4\x7a\x3d\x3a\x9d\x8e\xed\xa0\x26\x05\x14\x66\xdc\xc6\xc8\x7d\
+\x5f\xe6\x8e\xcb\xc5\x1f\x64\x4c\x3f\x39\x8f\x95\xca\x56\xf6\x93\
+\x77\x17\xaf\xbf\xfe\x3a\x77\xdf\x7d\x37\xef\xbe\xfb\xee\x5e\x00\
+\x93\xe1\xc9\x79\x1f\xa0\xce\x9f\x3f\xef\x03\xdf\x04\xce\x54\xab\
+\x55\xa5\xb5\xf6\xc2\x30\x8c\x9a\xcd\xa6\xae\xd7\xeb\xe5\xd1\xa3\
+\x47\xe3\x56\xab\x95\x47\x51\x14\x46\x51\xa4\xb4\xd6\xd5\x4a\xa5\
+\xa2\xc2\x30\xf4\x95\x52\x25\xa0\x7d\xdf\x2f\x47\xc2\x7a\x45\x51\
+\x94\x4a\xa9\x34\x4d\xd3\x74\x67\x67\xa7\xd1\x6e\xb7\x75\x1c\xc7\
+\xc5\x60\x30\xc8\x8d\x31\x79\xaf\xd7\xcb\xfa\xfd\xbe\x77\xeb\xd6\
+\x2d\xca\xb2\xbc\xf2\xca\x2b\xaf\xbc\xbc\xb2\xb2\xf2\xf9\x63\x95\
+\xc9\x0b\x36\x45\x0f\x7d\xa3\x00\x7e\x0c\xfc\x58\x12\x1e\xc3\x28\
+\x75\x64\x74\x4c\x03\x47\x47\xe7\xa9\xd1\x51\x03\xaa\xa3\x73\x00\
+\xa8\xd1\x61\x46\xfb\xc9\x78\x6f\x13\xd8\x76\x8e\x5b\xc0\xed\xd1\
+\x79\x93\xe1\xd8\x88\x2b\x57\xf6\xfd\x3f\x8f\x83\x01\xb8\x4c\x4c\
+\x82\x1a\x09\x55\x41\xe6\x86\x20\xaf\x4d\xda\xce\x77\xd1\xe8\xac\
+\x19\x8e\x8a\xa4\x88\x91\x99\x64\x0e\xa4\xa3\xa3\x07\x0c\x46\x47\
+\xcc\x70\x62\x13\x00\x8d\x11\xd0\x83\x26\x37\x76\xfd\x2f\x2b\x41\
+\x07\x20\x56\x8c\x01\xf4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x12\x5a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x07\x75\
+\x49\x44\x41\x54\x78\xda\xec\x9a\x5d\x6c\x1c\x57\x15\xc7\x7f\xe7\
+\xde\x99\x5d\x7b\x1d\x27\x4d\x9a\xd8\x49\x49\x29\xa4\x34\x04\xd2\
+\x94\x22\x08\x48\x80\x0a\xa4\x90\x42\x14\x1a\x2a\x4b\x20\x51\x24\
+\x84\x40\xf4\x09\x1e\x10\xaf\xbc\x14\x95\x56\xa8\x2a\x8a\x02\xcf\
+\xbc\x80\x10\xf4\x85\xd0\x12\x95\x88\x16\x14\x81\x20\x08\x35\x0f\
+\x44\xa4\x22\x2a\xb8\x49\xdc\x24\xc4\x4e\xec\x78\xbd\x1f\x33\xf7\
+\xde\xc3\xc3\xcc\x7e\xd8\xd9\x5d\xaf\xb3\x9b\x42\xa5\x8e\x74\x35\
+\xbb\x77\x3d\x33\xff\xff\x3d\xff\xf3\x71\xcf\x58\x54\x95\x37\xf3\
+\x61\x78\x93\x1f\x51\xb7\x1f\x44\x44\x8e\x1e\x3d\x7a\xee\xff\x01\
+\xe4\xa1\x43\x87\xde\xae\x5d\xa4\x12\xf5\xb8\xce\x8e\x8c\x8c\x5c\
+\xd9\xbf\x7f\xff\xfb\x6f\x35\x40\x55\x25\x84\xd0\x3c\x37\x46\xb1\
+\x58\xe4\xc5\x17\x5f\x3c\x05\x58\xc0\xad\x95\x80\x78\xef\x1d\x40\
+\x9a\xa6\x0d\xab\x2c\x3b\x77\xfb\xdc\x3e\xd7\x0d\x70\xfb\x68\x07\
+\xdf\x4e\xc2\x5a\x4b\x8e\x41\xd6\x2c\xa1\x1c\x88\x36\x1e\xd8\x38\
+\x8b\x48\xf3\xdc\x3e\xb7\x12\x60\x37\x92\x9d\x94\xb0\x92\xb8\x88\
+\x60\x8c\xc1\x18\xd3\xc4\x30\x90\x13\xb7\x3f\xb4\x9d\x4c\x3f\x73\
+\xbd\xc0\xae\x1c\x39\xe0\x65\xdf\x07\x8a\x42\x2b\x57\x6e\x25\xd0\
+\xb5\x10\x6b\x9f\xef\x45\xa2\x9d\x48\xe3\x7c\x53\x51\x08\x68\xae\
+\x40\x27\xc9\xf4\x92\x53\x03\x6c\x2f\xb9\x75\x03\x66\x8c\x59\x76\
+\xfd\x6a\x56\x30\x6b\x89\x14\xdd\xe6\x56\x93\x4e\xaf\xdf\xbb\x49\
+\xa8\x1f\xf9\xac\x4a\xa0\x7d\x35\x6e\x56\x3a\xab\xf9\x44\x2f\x59\
+\xb5\xab\xe0\x96\x38\xf1\xad\xf6\x89\x81\x32\x71\xfb\x8d\x2b\x55\
+\xc7\xcf\x9f\x9f\xa6\x9c\x5a\x44\x20\x87\x81\x18\x21\x8a\x04\x89\
+\x2d\xc6\x48\x16\xae\xb3\xc0\x8b\xfa\x00\x01\x82\xf7\x10\x14\x14\
+\x4c\x7e\x71\x14\x09\x5f\x9d\x7a\x17\x63\xa3\xd1\x32\xf0\x9d\x42\
+\xf2\x40\x4e\xdc\x58\xad\xe3\x27\x2e\x30\xf6\xce\x1d\xdc\x35\x31\
+\x86\x14\xc0\x2a\x58\x03\x2e\x78\xe6\x9d\x12\xc5\x82\x8d\xb2\x6c\
+\x13\x7c\x96\x33\x35\x28\xde\x05\x34\x05\xef\x03\xea\x14\xef\x20\
+\xa4\x4a\x6c\x0d\x2f\xfc\xfe\x35\xa6\x0e\xdc\x7d\x83\x63\x77\x22\
+\x31\xb0\x05\x4e\x9e\x76\xbc\xe7\xd3\x25\x0e\x2e\x1e\x27\x79\xee\
+\xd7\xd8\x87\xdf\x4b\xb4\x75\x8c\xd7\x37\x7c\x89\xc3\xa7\x2d\x71\
+\x0c\x71\x41\x10\x40\xbd\x42\x9a\x01\x0f\x29\xe0\x14\x75\xa0\xa9\
+\xa2\x4e\xc1\x29\x12\x94\xea\xab\x09\x53\x07\xe8\x18\x9d\xfa\x89\
+\x56\x6b\xb2\x00\x00\xd7\x17\xa8\x1e\x3d\xcc\x95\xd9\x2a\xc5\xbf\
+\x5c\xa1\x74\x6f\x44\xfd\x9e\x7d\x14\xe4\x4e\x6c\xf0\x18\xa7\x18\
+\x01\x02\x99\x8c\x44\x51\x51\xb4\xa1\x2c\x93\x55\x34\x9a\x5b\xaf\
+\xda\x25\x8b\xf7\x03\x7a\xed\x89\x4c\xa1\xb8\x61\x1d\xa5\x0f\x7d\
+\x80\xc9\x6b\xe7\x99\xd8\x1e\xb3\xfe\xb6\x12\xe3\xeb\x36\x62\x7c\
+\xc0\x78\xcd\x08\x38\xb0\x5e\xb1\x9a\x0f\x84\x48\x20\x12\x25\x32\
+\x42\x64\xa0\x18\x09\xb1\x6d\x3a\x52\x57\xc7\x1e\xaa\x0f\x00\x9c\
+\x9d\x89\xf8\xd9\x7d\x8f\x23\xbb\x1f\xc7\x16\xc1\x18\xa8\x4e\x83\
+\x4b\x40\x23\x83\x06\x10\x01\xd1\x6c\xe0\xf3\x91\x5b\x44\x14\x52\
+\x07\xb3\xd7\x02\x57\xaf\x07\xb6\xf5\xa8\x9d\x86\xb2\x1f\x68\x3f\
+\xee\xba\xe3\x15\x76\x4c\x9e\x26\xbd\x6e\x30\xb1\xc1\x7a\x83\xb1\
+\xc2\x3a\x2b\x6c\x9f\x30\x88\x18\x4c\x33\xf4\x09\x92\xeb\xc6\x8a\
+\xc9\xc9\x2c\x52\xa9\xcc\x33\x5f\x56\xaa\x85\x80\x4c\x2a\x7f\x3e\
+\x79\x11\xd5\xef\xde\xa0\xfb\xa1\x3a\x71\xd3\x8c\xe5\x69\x0e\x8d\
+\xfd\xaa\xf3\x8f\x69\x9f\x4f\x2a\x00\x9b\x5a\x5f\x5f\xbe\xb4\xc4\
+\x4b\x4f\x5f\xca\x1f\x90\x0d\xc9\xe5\x6a\xa2\x98\x3d\x87\x1e\x63\
+\xcb\xdd\xf7\x0e\x4e\x40\x55\x39\x33\xf3\x41\x3e\xfc\x83\x4f\x22\
+\x46\xb1\x56\x6e\x18\x51\x9e\x0f\xac\x81\x24\x08\x33\x97\x6b\xfc\
+\xe7\x4a\x95\x72\x25\x25\x04\x41\x11\x50\x41\xf3\x7c\xe0\xbd\x21\
+\xbe\xfa\x57\x9e\x38\x76\x99\x91\xdb\x00\x1f\x81\x18\x32\x8f\x07\
+\x24\xe2\xb7\x47\xbe\xc5\x43\x4f\xbd\x34\x1c\x0b\x8c\x8c\xdf\xce\
+\x81\x47\x76\x82\x84\x3c\xe6\xe7\x80\xf3\x73\x50\xe5\x7a\x4d\x99\
+\x5b\x52\x2a\x89\x32\xe9\x35\x93\x51\x50\x82\x07\x75\x01\x9f\x2a\
+\xc1\x29\x21\x55\xd2\xd4\x72\xee\x65\xcb\xc2\xa9\xaf\x31\x72\xa7\
+\x40\x88\x41\x6c\x16\xa6\xc4\x82\xb5\xc0\xe8\xf0\x24\x94\x49\xc5\
+\xa1\x12\x50\xcd\x34\xee\x9c\x50\xf6\x19\xe8\x72\xa2\xb8\xd0\x54\
+\x02\x68\x96\xc8\x82\xcf\xf2\x42\xf0\x19\x78\x75\x8a\x4f\x15\x97\
+\x06\x5c\xe2\xc0\xc7\x10\x22\xd0\x42\x16\x67\xc5\x82\x44\x40\x11\
+\xd4\x0d\x4e\xa0\x19\xda\x14\x0a\x06\x8c\xc9\x32\xee\x42\x45\x99\
+\x2d\x7b\x54\xc0\x05\x48\x5c\x6b\xcf\x17\xb2\x0b\xd1\xb0\x82\x84\
+\x6b\x1f\x01\x51\x41\x29\x82\x46\x04\x2d\x80\x89\x41\x62\x70\x09\
+\x52\x9e\x06\xb6\xf7\x55\x04\x46\xfd\x6c\x66\x00\xce\x5d\x72\x8c\
+\x8e\x28\xdb\x27\x0d\x5b\xc6\x85\x8d\x25\x21\x8a\x60\x76\x51\x39\
+\x7b\x31\x34\x9d\x50\xa1\x09\x5e\x03\x4d\x19\x2d\x27\x90\x59\x25\
+\xf1\x45\x94\x12\x1e\x8b\xd6\x97\xd0\xca\xbf\xd0\xa5\x0b\x08\x1e\
+\x78\x5b\x5f\xb9\x20\xea\x67\x33\x03\x30\x73\xd9\x61\x6c\x60\xfa\
+\xa2\x80\x11\x8a\x45\x21\x71\x30\x32\x22\xcd\x6c\xe8\xf3\x5c\x60\
+\x01\x2b\x59\x9a\xac\xd4\x15\x54\x29\x08\x38\x51\x82\x28\xa9\x53\
+\x50\x83\x53\x43\x5a\xb9\x4a\xb2\x70\x0e\xad\xcd\x35\x23\xd2\x4a\
+\xbc\xbd\x4a\x6a\xb3\x1a\x01\xc8\x57\x33\x0d\x8c\x5a\x78\xec\xe0\
+\x38\xef\xd8\x6c\xb8\xbd\x24\x8c\x5a\xe5\xeb\xfb\xc7\xd8\x3a\x2e\
+\x3c\xfa\x89\x12\x21\x09\x8c\x1a\xe5\x2b\x9f\x2a\xb1\x65\x9d\xf0\
+\xc8\x47\x47\xc1\x29\x53\x0f\x94\xd8\x30\x2a\x4c\x7d\xbc\xc4\x17\
+\x1e\x1c\xc3\x25\x0a\x2e\x50\x99\xf9\x3b\xf5\xd7\x4f\x91\x96\xe7\
+\x48\x5d\x96\xe8\xd2\x34\x1b\xfd\x12\xe8\x2b\x8c\x06\x1f\x30\xc1\
+\xb0\x54\x56\x7e\xfc\xcb\x45\x4c\x94\x2d\x93\xb1\xc2\x91\x67\xcb\
+\xd4\x7d\xc4\x3f\xa6\x13\x8c\x29\x50\xae\x28\x3f\xfc\x45\x1d\x55\
+\xe1\xf4\xab\x75\x84\x22\x3f\x79\xce\x13\x5c\xcc\xd9\xd7\x1c\xea\
+\x15\xef\x4b\x78\xa7\x68\x52\x23\x71\x99\x1f\xe5\xae\x93\x03\x1e\
+\x52\x26\x0e\x21\xbb\xf3\x17\x3f\xb7\x99\x67\x8f\xcd\xb4\x34\xd9\
+\xde\xa6\x11\x78\xe5\x9f\xa7\x28\x98\x45\xbc\x1a\x08\x20\x12\x63\
+\x4c\x44\x70\x29\x9a\xcc\x62\x9c\xc3\x88\xcd\x6f\x6a\x50\x8d\xf9\
+\xf2\xde\x53\x6c\x8c\x13\x6a\x49\x0b\x78\x83\x44\x6b\xcf\xd1\xc2\
+\xb0\x66\x02\x71\x1c\x37\x2d\xb0\x67\xe7\x38\x7b\x76\x8e\x77\x6d\
+\x5e\xfd\xf1\x7b\xdf\xe4\x81\xf7\x5d\xa3\x56\xcf\x1e\xeb\x6b\x15\
+\xdc\xd2\x55\x5c\x79\x81\x50\xd7\x4c\xa8\xd2\x22\x2c\x26\x03\xe9\
+\x4a\x59\x26\xef\x44\xa0\x13\x96\xc1\xf2\x40\x07\x69\xb5\x57\xab\
+\xd5\xe2\x7a\xfc\xa6\x9d\x60\x62\x92\xb9\x33\xe8\xe4\x7d\x44\xbe\
+\x8c\xd6\xe7\xa9\x5f\xfc\x5b\x13\xbc\x6a\x9e\x27\xe8\x0c\x3e\x5b\
+\x1c\x5a\x26\x18\x46\x29\xd1\xad\xcc\x6d\x9f\x5f\x9c\xfe\x13\xf5\
+\xc2\x39\xd0\x80\x04\x87\x8e\x6c\x81\xfa\x55\xc4\xd7\xd0\x7a\xbe\
+\x45\x30\x59\xa2\x08\xa1\xb5\xca\x2a\xa0\x3e\x97\x4d\x83\x80\x1d\
+\x42\x7b\xbd\xbd\x97\xb3\xda\xc6\x3c\x4d\x1d\x49\x1d\x6c\x54\x62\
+\xfb\x43\x4f\xa2\xc5\x2d\x84\xf2\x65\xb4\xbe\xc4\xd6\x7d\xdf\xc6\
+\x6c\xda\xcd\x1d\x9f\x3f\x82\x73\x16\xb7\xfe\xdd\x6c\x7b\xf8\x19\
+\xfc\xfa\x7b\xd8\xfc\x99\xef\xe3\x65\x8c\x89\x83\x4f\xe3\x37\xdd\
+\xcf\xe6\x07\xbf\xc3\xa6\x8f\x7d\x83\xa4\x96\xdd\x73\xa0\x3c\xd0\
+\x53\x32\x2b\x9d\xdd\x79\x52\x07\x61\x7e\x8e\x7f\xbf\xf0\x14\xa1\
+\x36\x8f\xd6\x16\x11\x63\x99\xfe\xcd\x33\xa8\x2d\x32\xfd\xfc\x13\
+\xf8\x34\xa0\x0b\xb3\x4c\x1f\x3f\x8c\x56\xe7\x38\x7f\xec\x49\xd4\
+\x3b\xce\xff\xee\x47\x68\x6d\x81\xf3\x7f\xf8\x29\xa2\x9e\xe0\xc0\
+\x3b\x37\xe4\x5a\xa8\x47\x73\x97\xcd\xbb\x48\x92\x93\xb8\xa5\x59\
+\xb8\x36\xdb\xde\x9c\x00\x96\x5a\x3a\x17\xd0\xea\x1c\xe8\x5c\xcb\
+\x1f\x00\xca\xd3\xcb\x24\x2f\x06\x4a\x3b\x3e\x32\x5c\x1f\xe8\xd5\
+\x3e\xdc\xfd\xd9\x47\x39\x73\x3c\x46\x63\x8f\x22\x79\x3d\xd4\x8a\
+\xb3\xa1\xad\xc8\x6b\x45\xa3\x8c\xa5\xe4\x42\x96\xa6\xf3\x2a\x36\
+\x2e\x70\xff\xbe\xa9\x81\xdf\xd0\xdc\xa0\xfd\x4e\x3d\x4e\x55\x65\
+\x62\xd7\x5e\x26\x76\xed\x5d\xf5\xbd\x41\x3f\xef\x13\x56\xce\xad\
+\xb6\x43\x33\xfd\x58\xa0\x9f\x1e\x67\xbf\x7f\xbb\x5a\xf7\xae\xdf\
+\x56\xe4\xaa\x04\xd6\x0a\x60\xb5\x7e\x68\xbf\x24\xd6\x4a\xc6\xac\
+\x45\x42\x6f\x94\x25\xba\x49\xf7\x96\x49\x68\xd0\xd5\xef\xd7\x12\
+\x43\xed\x4e\xbf\x11\x24\x86\xd1\x1b\x95\xf6\x56\xf7\xcd\x44\x93\
+\x41\x22\x52\x03\xc3\x4d\x87\xd1\x10\x02\xde\xfb\x65\x25\x6d\xb7\
+\x87\x76\x7a\xb5\xd4\xed\xf3\xb2\x24\xd8\xc1\xdf\x1a\xbf\x37\x5e\
+\xb7\xde\x54\x29\x51\xaf\xd7\x5d\xad\x56\xdb\x76\xe2\xc4\x89\x0b\
+\xfc\x6f\x8f\x6d\xf5\x7a\xbd\x6b\x5d\x21\x6f\xfd\xb3\xc7\x5b\x04\
+\x06\x3b\xfe\x3b\x00\x91\x52\x5d\xd7\x27\xb9\xe7\xe3\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x05\x4c\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x0a\x78\x6d\x6c\x6e\x73\
+\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\
+\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\
+\x2f\x31\x2e\x31\x2f\x22\x0a\x78\x6d\x6c\x6e\x73\x3a\x63\x63\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x65\x62\x2e\x72\x65\x73\x6f\
+\x75\x72\x63\x65\x2e\x6f\x72\x67\x2f\x63\x63\x2f\x22\x0a\x78\x6d\
+\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\
+\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\
+\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\
+\x2d\x6e\x73\x23\x22\x0a\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x78\x6d\x6c\
+\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\
+\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\
+\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
+\x72\x76\x65\x22\x0a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x0a\x69\x64\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\x77\
+\x69\x64\x74\x68\x3d\x22\x34\x30\x30\x70\x74\x22\x20\x68\x65\x69\
+\x67\x68\x74\x3d\x22\x34\x30\x30\x70\x74\x22\x0a\x76\x69\x65\x77\
+\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x37\x35\x20\x37\x35\x22\x3e\
+\x3c\x6d\x65\x74\x61\x64\x61\x74\x61\x0a\x69\x64\x3d\x22\x6d\x65\
+\x74\x61\x64\x61\x74\x61\x31\x22\x3e\x3c\x72\x64\x66\x3a\x52\x44\
+\x46\x3e\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x72\x64\x66\x3a\x61\
+\x62\x6f\x75\x74\x3d\x22\x22\x3e\x3c\x64\x63\x3a\x66\x6f\x72\x6d\
+\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\x6c\
+\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x3c\x64\x63\x3a\
+\x74\x79\x70\x65\x0a\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\x72\x63\
+\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\x2f\x53\
+\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\x2f\x3e\x3c\x2f\x63\
+\x63\x3a\x57\x6f\x72\x6b\x3e\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\
+\x3e\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\x3e\x3c\x67\x0a\x69\
+\x64\x3d\x22\x67\x31\x22\x3e\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x0a\
+\x69\x64\x3d\x22\x70\x6f\x6c\x79\x67\x6f\x6e\x31\x22\x0a\x70\x6f\
+\x69\x6e\x74\x73\x3d\x22\x33\x39\x2e\x33\x38\x39\x2c\x31\x33\x2e\
+\x37\x36\x39\x20\x32\x32\x2e\x32\x33\x35\x2c\x32\x38\x2e\x36\x30\
+\x36\x20\x36\x2c\x32\x38\x2e\x36\x30\x36\x20\x36\x2c\x34\x37\x2e\
+\x36\x39\x39\x20\x32\x31\x2e\x39\x38\x39\x2c\x34\x37\x2e\x36\x39\
+\x39\x20\x33\x39\x2e\x33\x38\x39\x2c\x36\x32\x2e\x37\x35\x20\x33\
+\x39\x2e\x33\x38\x39\x2c\x31\x33\x2e\x37\x36\x39\x22\x0a\x73\x74\
+\x79\x6c\x65\x3d\x22\x73\x74\x72\x6f\x6b\x65\x3a\x23\x31\x31\x31\
+\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\
+\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x66\x69\x6c\x6c\x3a\x23\x31\
+\x31\x31\x31\x31\x31\x3b\x22\x0a\x2f\x3e\x3c\x70\x61\x74\x68\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x31\x22\x0a\x64\x3d\x22\x4d\x20\
+\x34\x38\x2e\x31\x32\x38\x2c\x34\x39\x2e\x30\x33\x20\x43\x20\x35\
+\x30\x2e\x30\x35\x37\x2c\x34\x35\x2e\x39\x33\x34\x20\x35\x31\x2e\
+\x31\x39\x2c\x34\x32\x2e\x32\x39\x31\x20\x35\x31\x2e\x31\x39\x2c\
+\x33\x38\x2e\x33\x37\x37\x20\x43\x20\x35\x31\x2e\x31\x39\x2c\x33\
+\x34\x2e\x33\x39\x39\x20\x35\x30\x2e\x30\x32\x36\x2c\x33\x30\x2e\
+\x37\x30\x33\x20\x34\x38\x2e\x30\x34\x33\x2c\x32\x37\x2e\x35\x37\
+\x37\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x6e\
+\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x31\x31\x31\x31\
+\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\
+\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\x3c\x70\x61\x74\x68\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x22\x0a\x64\x3d\x22\x4d\x20\
+\x35\x35\x2e\x30\x38\x32\x2c\x32\x30\x2e\x35\x33\x37\x20\x43\x20\
+\x35\x38\x2e\x37\x37\x37\x2c\x32\x35\x2e\x35\x32\x33\x20\x36\x30\
+\x2e\x39\x36\x36\x2c\x33\x31\x2e\x36\x39\x34\x20\x36\x30\x2e\x39\
+\x36\x36\x2c\x33\x38\x2e\x33\x37\x37\x20\x43\x20\x36\x30\x2e\x39\
+\x36\x36\x2c\x34\x34\x2e\x39\x39\x38\x20\x35\x38\x2e\x38\x31\x35\
+\x2c\x35\x31\x2e\x31\x31\x35\x20\x35\x35\x2e\x31\x37\x38\x2c\x35\
+\x36\x2e\x30\x37\x36\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\
+\x31\x31\x31\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x31\x22\x0a\x64\
+\x3d\x22\x4d\x20\x36\x31\x2e\x37\x31\x2c\x36\x32\x2e\x36\x31\x31\
+\x20\x43\x20\x36\x36\x2e\x39\x37\x37\x2c\x35\x35\x2e\x39\x34\x35\
+\x20\x37\x30\x2e\x31\x32\x38\x2c\x34\x37\x2e\x35\x33\x31\x20\x37\
+\x30\x2e\x31\x32\x38\x2c\x33\x38\x2e\x33\x37\x38\x20\x43\x20\x37\
+\x30\x2e\x31\x32\x38\x2c\x32\x39\x2e\x31\x36\x31\x20\x36\x36\x2e\
+\x39\x33\x36\x2c\x32\x30\x2e\x36\x39\x36\x20\x36\x31\x2e\x36\x30\
+\x39\x2c\x31\x34\x2e\x30\x31\x22\x0a\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\
+\x3a\x23\x31\x31\x31\x31\x31\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\
+\x77\x69\x64\x74\x68\x3a\x35\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x22\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x08\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xd9\x04\xdc\xb2\xda\x02\
+\x00\x00\x07\xf2\x49\x44\x41\x54\x78\x9c\xed\x96\x59\x6c\x5c\xf5\
+\x15\xc6\x7f\x77\x9b\x7d\xc6\x9e\x19\x8f\x77\x63\x3b\xd8\x89\x03\
+\x0e\x76\x62\x16\x07\x93\x50\x27\x69\x58\x4c\x13\x92\xb2\xb4\x80\
+\xa0\x85\x06\x28\x82\xa7\x8a\xd2\xf6\x09\x5a\xf1\x80\x50\xa5\xaa\
+\xaa\x8a\x2a\x95\x56\x55\xa9\x4a\x29\x14\xaa\xa0\x82\x9a\x42\x48\
+\x84\x20\x89\xb2\xb0\x14\x68\x12\x8c\xed\xd8\x8e\x3d\x9b\x67\xbd\
+\x73\xf7\x7b\xfb\x60\x40\xc1\x75\x4a\x1e\xe0\xa9\xfd\x5e\xff\xff\
+\xef\x7c\xdf\xf9\x9f\x73\xef\x39\xf0\xbf\x0e\xe1\x8b\x0c\xd6\x99\
+\xa4\x6f\xb0\x4b\xdc\x2e\x29\x42\x38\xe0\x53\x9c\xd9\x9c\x75\x70\
+\xdf\xfb\xce\xab\x80\xf9\xa5\x1b\x58\x91\x64\xd3\x77\xaf\x0e\xfe\
+\xa5\x21\x26\xd4\xf9\x7d\x1e\x75\x75\x31\xea\x12\x29\xa6\xb3\xea\
+\xe1\xc7\x9f\x9a\x78\xe0\xe8\x14\x07\x96\xe3\x49\x5f\x90\xbe\x7c\
+\xfb\x95\xfe\xdf\x05\x24\xaf\x37\x5f\x71\x31\x1d\x09\x55\xb3\xb0\
+\x5c\x3f\x6d\x1d\x2b\x5a\x47\xd7\xd5\xef\xdc\x7f\x78\x7e\x77\x49\
+\x23\xf7\xa5\x18\xb8\x71\x58\xfc\xc1\x0d\xeb\xbd\x6f\x25\x5a\xfb\
+\x28\xa8\x21\x16\x72\x39\x3c\x41\xc6\xb6\x2d\x2c\x57\x24\xd9\xd8\
+\x11\xf4\x8b\xa5\xd4\xeb\xef\xa9\xcf\x2e\xe5\x8a\x67\x89\x29\x3c\
+\xf4\x80\xff\xce\xbd\x7b\xe4\x17\x27\x27\x38\xf4\xea\xab\xec\x7e\
+\xe8\x21\xee\x04\xe4\xe5\xee\xb6\xc6\xa5\xb1\x74\xde\x61\xdd\xe8\
+\x6d\xdc\xfb\xf0\xaf\xe9\x5a\x3d\x42\x3a\x5b\x23\xb7\xa0\x93\xcd\
+\x14\x98\x4b\x97\x39\xbf\xbd\x61\x13\xd0\xbc\x94\xbc\x6c\xc0\xa7\
+\x7e\xd2\xf8\x8b\x5b\xef\x0e\xde\x87\xa2\x42\xa0\x46\x67\x57\x8d\
+\xd1\x51\xae\x1b\x1b\x63\xe7\xc6\x8d\xdc\x0c\xa8\x67\xde\xcf\x97\
+\x1d\xc3\xf0\x62\xd4\x27\x3a\x88\xa5\x1a\xf8\xce\x83\x8f\xf1\xd7\
+\x3f\xfc\x8a\xfd\x2f\xfd\x89\x6a\x75\x1e\x4f\x8a\x10\x09\xc9\x0d\
+\xad\x51\xba\x4f\x57\x98\x3f\x53\xec\x3f\x4a\xf0\xd5\x21\xff\xd6\
+\xc7\xef\x4d\xfd\xdc\xc9\xcb\x88\xaa\x0f\x34\x09\x7d\xa1\x07\x41\
+\xc8\xd1\xd5\xe7\xae\x0c\x84\x30\x5e\xf9\x07\xfb\xce\xa0\x78\x8a\
+\xe7\xad\xdd\x34\x32\x38\x3c\x34\x72\x35\xd4\xca\x88\x92\xc4\x05\
+\x17\x8f\xd0\xb3\x6a\x2d\xa6\x23\x51\x2b\x66\xc8\xa4\xe7\xac\xfd\
+\xc7\x8d\x27\x0d\x9b\xd9\xff\x5a\x82\xab\x06\xfd\x37\xe9\x25\x83\
+\x6a\xc9\x40\xcf\x6b\x18\xc5\xcb\x90\x53\x2f\x61\x96\x7f\x8a\x97\
+\x0b\x72\xe7\x37\xa5\x7b\x62\x31\x12\x67\x72\xde\x9a\x61\xb7\x14\
+\x3d\x5f\xc7\x33\x40\x2f\x80\x9a\x83\x72\x9a\xde\x0b\x56\x73\xc7\
+\xf7\x1f\xe1\x92\x4b\x2e\xf5\x9e\x7b\xbd\xf4\x64\x59\xe3\x9d\xa5\
+\x7a\x4b\x0d\x88\x2d\x71\xe7\xc2\x7c\xb6\x4c\x31\x53\xa5\x54\x0c\
+\x20\x34\xdc\x8a\x2c\xeb\x04\x9a\x76\x61\x17\x6f\xa3\x31\xec\x6f\
+\xdd\xbc\x41\xda\x7c\x26\xc9\x81\xd7\x4f\xe5\xbd\xbd\x58\x45\xa8\
+\xe5\x40\x5b\x00\xad\x00\xc5\xd3\x90\x7d\x97\xe9\x02\x47\xde\x4b\
+\xf3\x30\xa0\x7f\x9e\x81\x44\x4b\x93\xd9\x1e\x5b\xb5\x9d\x68\xd3\
+\x0d\x04\x9b\x6f\xc2\xe7\x8f\x43\x6d\x0e\xc1\xce\x23\x06\xae\x82\
+\x5c\x9c\xb1\xcb\xa3\x5b\x96\xf0\x8c\xd3\x99\xc2\x5b\xf8\x02\xa0\
+\x57\x40\xcb\x83\x9a\x85\xd2\x24\x98\x45\x4e\xce\x54\x0f\x01\xe9\
+\xa5\xe2\xb0\xa4\x09\xe3\x0a\xcd\x09\x9f\xdc\x18\xae\xbf\x08\x31\
+\x52\xb7\x98\x5b\x2d\x03\x81\x38\x48\x11\x44\xc7\xa1\x36\x2d\xd1\
+\x1d\x14\xb6\xfd\xe8\x7a\xf9\xbc\x48\x44\x0e\x88\xb2\x6f\x72\xcf\
+\x51\xf5\xb9\x17\xf6\xbc\xf9\xca\xae\x1d\xeb\x77\xf5\x75\x37\x36\
+\xa0\x16\xc0\x51\x41\xf1\x93\x9b\xab\x1a\xbb\xf7\xbe\xfd\xda\x72\
+\xe2\xb0\xa4\x09\x07\x3a\xb8\x62\xfb\x80\x70\x8b\x23\x74\x12\x4b\
+\x34\x82\x5e\x02\xcf\x05\x41\x02\xd7\xc6\xce\x1c\x60\xcf\xcb\xfb\
+\x38\x71\xc2\x88\x9c\xdf\xa2\xf4\xb4\xc6\xc5\xae\x95\x5d\x0d\x83\
+\x3b\x36\xaf\xba\xc5\x2f\x96\x22\xbf\x7c\xfa\xc0\xf3\xdb\x46\x56\
+\x6e\x94\x45\x41\x74\x1c\x17\x57\x82\x47\x9f\x78\xe1\x99\x3f\xbf\
+\xf2\xcf\xc7\x16\xb3\x59\xfe\x05\x94\x8b\xdb\x19\xec\x4a\xb1\x6e\
+\x5b\x3f\xdf\x9b\x9d\xb0\x90\xea\xa7\x68\x5b\x75\x39\xd8\x79\xf0\
+\xaa\x60\x9b\xa0\xe5\x48\x9f\xfa\x80\xa0\xa8\x12\x8b\xd6\x31\x9d\
+\xd6\x88\x84\x05\x2a\x7a\x81\xaa\x15\x65\xdb\xe8\xc0\xce\x78\x32\
+\xdf\x50\x0a\x76\xeb\x15\x47\x8f\x58\x9e\x48\x7b\x63\x2b\x4d\xbd\
+\x19\x11\x0e\x06\x38\xcb\x3c\x90\x00\xa1\xb7\x81\x2d\x3b\x06\x78\
+\xa4\x3e\x48\x9b\x24\x22\xe9\xd5\x05\x52\xed\xfd\xf8\x42\x31\x30\
+\x35\x10\x5c\x0c\xdd\xe4\xe8\xe1\xbf\xa1\xa9\x05\xae\xb8\xfa\x6e\
+\xa2\xa9\x3e\xc6\x4f\xbc\x8f\xa6\x69\x78\x1e\xb8\x52\x88\xc6\x86\
+\x78\x67\x64\xf0\x7e\x5f\x47\xfb\x30\x61\x3b\x89\x7b\xde\x7a\x3a\
+\x56\x5d\xda\x7f\xed\xd8\x0d\x77\x5c\xd8\x3f\x34\x12\x0c\xc5\xe2\
+\xf9\x4a\xb5\xaa\x55\x8a\xf9\x33\x0d\x78\x53\x05\xb2\xbd\x29\x46\
+\x5b\x62\x34\x87\xfc\x28\x7a\x55\xa3\xb2\x30\x4e\xa2\xb5\x1f\xcf\
+\x93\x30\x9d\x02\x9a\xfa\x06\x47\x8f\x1d\xa3\xa2\xc7\x59\xbf\x61\
+\x1b\xdd\x83\x1b\x68\x6c\xe9\x65\x62\xfc\x43\x32\xf3\x33\x78\x48\
+\x78\x8e\x49\xc6\x5b\x41\x38\xa7\x13\x3d\x76\x80\xe3\xe1\x06\x34\
+\xdd\x24\x99\x88\x47\x07\x2e\x5a\xb3\xfa\xda\x6b\xc7\xae\xdb\x79\
+\xfd\xd7\x77\xb5\x77\xae\x5e\x7f\xf0\xcd\x83\xaf\xd9\xb6\x56\xf9\
+\xa4\x07\x2a\x6f\x4e\xf2\xf7\x44\x88\xbe\x95\x49\x56\xd8\x9e\x22\
+\x45\x92\x1d\xb4\xac\xba\x90\x9a\x5e\xc1\x97\xec\xa0\x98\x0d\x79\
+\xbf\xff\xe3\x89\xea\xca\x35\x7d\xfe\x81\xc1\x41\xd0\xca\x24\x3b\
+\x7a\xe8\x1f\xda\x42\xa0\xbe\x1d\xbd\xa6\xf3\xd1\xf8\x38\x91\xde\
+\xed\xb4\x84\xe3\xc4\x2c\x95\x4c\xaa\x1d\x51\x92\xb0\x6d\x1b\x4d\
+\x33\xd0\x34\x8d\x58\x2c\x24\x0f\x0c\x0e\xf4\xce\x67\x4b\x4d\xef\
+\xbe\x7d\xe0\xf9\x4f\xbf\x82\x3a\x7f\xa7\x6f\xa2\x30\x94\x7d\x23\
+\x7f\x89\xda\xd8\xd6\xe3\x4b\x17\x4d\x86\x83\x69\x82\xe1\x08\x84\
+\x5c\x32\xe9\x01\x61\x62\xf2\xc1\x90\x12\x3d\xb5\xf8\x6e\xd5\x0a\
+\xb8\xb3\x84\x22\x4d\x8c\x7c\xed\x16\x8e\xbf\xd1\xca\x91\xf9\x0e\
+\xd6\xb6\xf7\xe3\xcf\x4e\xa1\x54\x2b\x28\x8e\x83\xe3\xf3\x81\xb7\
+\xd8\x7f\x9e\xe7\x51\x2e\xd7\x98\x39\x3d\x4d\x5b\x47\xef\x56\x20\
+\x25\x03\x0c\xb7\xdc\x7e\xff\x96\x35\xbb\x1e\xf5\xc7\x03\x31\x82\
+\x1e\x15\xdb\xe1\x54\x66\x81\xd9\xe9\x39\xda\xce\x73\xc0\x70\x38\
+\xf9\x41\x13\x21\x5f\x8f\x64\xeb\xc1\x45\x03\xb6\x09\x5e\x19\x5c\
+\x17\x6a\xb3\x88\x88\xac\xdd\x72\x17\x89\x44\x3d\xf2\xf8\x3b\xc8\
+\x85\x05\x7c\x96\x89\x19\x8d\xe2\x5a\x1e\xa2\xe0\x62\xd8\x2e\xd3\
+\x33\x59\x66\x66\x73\xc4\xa2\xf5\xc9\x44\x53\x7b\xb7\x58\x47\xe3\
+\x8a\x8b\x5b\xbf\xf1\x98\x5a\x33\x63\x99\x4c\x96\x5c\x26\xcb\x42\
+\xb6\x40\xbe\x64\xf3\xaf\x71\x1f\x48\x36\x6e\x55\xe4\xe4\x49\x3f\
+\xe1\x88\x8f\x23\x87\x0d\x0a\x59\x0b\x94\x30\x38\x0e\x18\x65\x2c\
+\x55\xe5\x54\x25\x42\x73\x53\x13\x8a\x22\xe3\x2f\x2c\x40\x36\x43\
+\xc0\xd0\x90\x7d\x3e\x44\x51\x44\x37\x6c\xd2\xe9\x12\xd5\xaa\x8e\
+\xdf\xa7\x10\x0e\x47\xa4\x54\xb2\xb1\x57\x5c\xdd\x7c\xcd\x6d\x41\
+\x39\x1e\x52\x35\x8d\x6a\xc5\xa4\xb0\xa0\x93\xcf\xd6\x28\x57\x2d\
+\x8e\x4f\xca\x20\x7b\xa4\x67\x82\xcc\xcd\x05\x08\x06\x3d\x4e\x9c\
+\x8c\xf1\xec\x9e\x19\xec\x5a\x16\xb3\x56\xc3\x34\x54\x3e\x3c\x5d\
+\x66\xa6\x9a\x24\x1e\x0b\xe3\x93\x65\x7c\x99\x34\x4c\x4d\xe1\xaf\
+\x54\x10\x24\x05\xd3\x70\xd0\x34\x0b\x51\x14\x09\x06\xfc\x28\x8a\
+\x4c\x20\x10\xa4\xa3\xbd\x67\x40\xae\x39\x45\xa5\x60\xcc\xd9\xb6\
+\xe0\xca\x06\x26\xa6\x63\x61\x19\x36\x65\xd3\xe6\xbd\x8f\x54\x8c\
+\xaa\xc6\x91\xc3\x11\x27\x97\x99\xd3\xcc\x90\x28\xfb\x57\x76\x06\
+\xf4\xc1\x21\x8e\xa5\x0c\x6c\x4d\x23\x16\x0e\x93\x8d\x07\x11\x32\
+\x61\x0c\xdb\xf5\x62\xb8\x44\xb3\xf3\x02\x6a\x95\xba\x4a\x05\xa7\
+\xbe\x1e\xd9\x76\x91\x24\x05\x49\x56\x10\x44\x19\x0f\x89\x42\xb1\
+\x84\xaa\x56\x4c\x01\x68\x0a\x88\xb1\x4d\xb2\x18\xaa\x07\xd7\xfd\
+\xe4\x77\xe5\xe2\x20\x4a\xd0\x96\xb0\xed\x05\x23\x15\x8d\x8f\xdc\
+\x35\x36\xbc\xf5\x9a\x81\x91\x0d\x6b\x52\xed\x09\x11\x04\x90\x04\
+\xf0\xbc\xc5\x81\x62\xda\x90\xcb\x16\xec\x53\x1f\xbc\x35\xf3\xfe\
+\xe3\x3f\xdc\x27\xd7\xd2\x15\x33\xd9\xaa\x18\x6d\x6d\xb8\x86\x85\
+\xe5\x58\x58\x96\x83\x63\xd9\x58\x96\xe3\x4d\xcf\x4e\x8c\x9f\x9e\
+\x99\x7c\xfa\x9c\x96\xd2\xd0\x7d\x2f\x3e\xfd\xc0\x3d\x63\x37\x77\
+\x05\x00\xeb\x63\xd1\x8f\x99\x9e\x07\xb6\x0b\xae\x07\x82\x00\xb6\
+\x04\xbf\x7d\x66\xcf\xcb\xef\xfe\x78\xeb\x4e\xc0\x65\xf9\xc5\xd7\
+\x03\x0c\xce\x72\xf8\x59\xb4\xac\x1b\x1a\xf8\xd9\x91\xc3\x5f\x69\
+\x01\x49\x84\x80\x0c\x7e\x19\x64\x61\x91\xfd\x89\x01\xcd\x82\xe3\
+\x0b\x30\x5e\x82\xe1\x0e\xf8\xcd\xb7\xaf\xdc\xe4\x8c\xef\xdf\xfb\
+\x79\xe1\xcf\xb6\x13\x7e\x0a\xb9\x6f\xe3\xa8\x1c\x80\xa9\x2a\x64\
+\x0d\x28\xda\x50\x76\xa0\xea\x81\xea\x41\xd9\x85\xb4\x09\x27\x2a\
+\x30\xa7\x83\xe1\x42\xd1\x81\xe6\x91\x9b\x76\x7c\x6e\x72\x2c\xbf\
+\x13\x7e\x06\x81\x48\x5d\xab\xed\x41\x55\x84\x80\x02\x5e\x00\x64\
+\x3f\xf8\x95\xc5\x32\x18\x0e\xf8\x64\xa8\x13\xc1\x55\x40\x56\x41\
+\x75\x40\x09\x47\xba\xcf\xc5\xc0\xb9\xf4\x40\x5f\xa8\xe7\xb2\x1b\
+\x03\xe1\x50\x9d\x22\x7a\x9e\x2c\x82\x2c\x2e\x96\x03\x00\x77\x71\
+\xce\x9a\x36\x58\x2e\x80\x20\x38\xa6\x51\x2b\x9c\x3c\xf4\x22\xb6\
+\x7d\xe8\x8b\x30\x00\xe0\x03\x14\x16\x9b\xe7\x5c\x62\x3a\x2c\xb3\
+\x7e\xfd\x1f\xcb\xe1\xdf\xc2\x69\x85\x8b\x9d\x4f\x81\xc1\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x63\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x2a\x49\x44\x41\x54\x58\x85\x95\x97\xef\x8f\x54\x57\
+\x19\xc7\x3f\xcf\x39\xe7\xde\xf9\xb1\xbb\x03\x14\xd9\x42\x4b\x5f\
+\x28\x2a\xa8\xa8\x10\xdb\x2a\x66\x01\x7f\xb4\x34\xf1\x8d\xfa\x07\
+\x2c\x26\x46\x5f\x34\xfd\x43\x4c\x7c\xe5\x9b\x9a\xf8\x4a\x7d\x61\
+\x34\x26\x26\x26\x16\x9b\xd0\x86\x16\x62\x63\xb4\x80\xac\x28\x58\
+\xad\x3f\xda\x42\x80\xc2\x2e\xec\xcc\xee\xce\xdc\xb9\xf7\x3c\x8f\
+\x2f\xee\x9d\xd9\x1d\x76\x60\x87\x93\xdc\x17\x33\xf7\x9c\xf3\xfd\
+\x3c\x3f\xcf\x3d\x72\xf4\x87\x57\x99\x7c\x18\x53\xc1\xf3\xf7\xdb\
+\x5d\x96\xa3\xc7\xa5\x0e\xe7\x04\x10\xc4\x0b\xa2\x81\x74\xd9\x93\
+\x27\x8a\x6e\x07\xb1\xad\x76\x13\x42\xe2\x65\x72\x79\x83\x5a\x23\
+\xd4\x77\xee\xdd\x51\xcf\x2c\x80\x38\x2c\xeb\x53\xac\x66\x24\x62\
+\xec\xdb\x99\x38\xb7\xcd\xeb\xb5\x6e\xbe\xd2\x36\x2d\xb6\x02\xc0\
+\x09\xe1\xfc\x7b\x9d\x09\xd5\x41\xd5\x78\xca\xf7\xbe\xb0\xf8\xf9\
+\x4f\xe3\x9c\x88\x65\xb9\xa9\x09\x16\xc1\xd7\x84\x66\xcb\xa5\x4b\
+\x57\xde\xcb\x8b\xd9\x27\xcf\x6b\x9f\x02\xe0\xa1\xe6\x89\x10\x82\
+\x9b\xd0\x03\x06\x51\x21\x79\xac\xf5\x49\xe7\xdd\x94\x45\x83\x68\
+\x11\x53\xd4\x14\x87\x17\x15\x99\xca\xb2\xa2\x5d\xa8\x5d\x12\x93\
+\x72\xd1\x03\xc5\x2b\x00\x91\x49\x43\x60\x88\x80\xd6\xd3\x83\xe6\
+\x98\xa1\x50\x30\x2b\x88\x40\x04\x11\x24\x08\xdb\xb5\x56\xfb\x17\
+\x10\xb6\xde\x4f\x10\x71\x04\x37\xb1\x3c\x88\x19\xae\x5f\x3c\x5d\
+\x20\xc1\x21\x51\x40\x41\x11\x31\x10\xe7\x82\x97\x9d\x9a\x47\x05\
+\xea\x93\x00\xe0\xfd\x24\xa4\x23\xc3\x69\x1a\x0e\x7e\x73\x5f\xa3\
+\xf9\xdb\x2b\xed\x25\xa7\x98\x99\xa1\x6a\x38\x87\xf3\x5e\x66\x65\
+\xb5\xdb\x03\x9a\x5b\xeb\x0b\x84\x84\xc0\xd8\x10\xd8\xd8\xf0\x99\
+\x59\x6a\xf8\xc7\xd6\x22\x58\xe4\x09\xd4\x20\x1a\x28\x88\x83\x24\
+\x38\x0a\x97\xec\x12\x27\xad\x07\xc6\xdf\x6c\xe8\x4d\xc4\x11\xa8\
+\xca\x70\x88\x61\x1b\xf4\x6d\xd3\x26\x46\x30\xe2\x00\xba\xca\x33\
+\x33\x2b\x73\x0a\x70\xdd\x6e\x73\xf8\xe3\xfe\xe5\x66\xe5\x96\xaa\
+\xd4\x3f\xb6\x07\xd7\x6c\x12\xec\xda\xd2\x50\x57\x30\x16\x57\x0a\
+\x76\x7d\x6a\x37\x44\xc5\x90\xfb\x21\x6c\xe4\xa7\x03\x4c\x47\x34\
+\xc4\x28\xc6\xb6\xa0\xc1\x42\x55\x6a\x8f\xcf\x62\x79\x81\x66\x05\
+\x0e\x2f\xe0\xab\x4e\x16\x1c\x2e\x78\xb2\xf7\xef\x20\xde\x95\xd1\
+\xd9\xaa\x48\x74\x8b\xf7\x03\xeb\x00\x53\x25\xdd\xf1\x11\x4c\x15\
+\x8b\x11\xcb\x7a\x94\x2a\x1b\x1f\x27\x88\x77\x74\x3e\xb8\x8b\x38\
+\x41\x44\x1e\x0a\xa1\xc6\xf8\x34\x1a\x11\x37\x2c\x1a\xb5\xbd\x3b\
+\x30\xd5\xd2\x1b\x66\x58\x9e\xb3\xb9\x0a\x07\x2c\x4e\xe8\xdc\x68\
+\x97\x10\x0f\x22\x98\xc4\x7a\x0c\x53\x23\xdd\xdd\x02\xad\x72\xa0\
+\x02\xc0\x6c\x0c\x00\x54\x04\x20\x5e\xe8\xdc\x59\xdd\xc2\x13\x0f\
+\xa1\x30\xc3\xcc\x48\x77\x4c\x61\x6a\xd5\x54\x1b\x79\xff\x90\x3e\
+\x54\x9d\x72\x02\x2b\xf7\xba\x25\x00\xa2\x9b\xa6\x8c\xd7\x37\x62\
+\xf9\x2e\x99\x69\xac\x5b\x3d\xa6\x34\xdd\xe8\xaa\x32\xa9\x4d\x07\
+\x93\xcb\x7a\x14\x60\x79\xb9\x87\x16\x5a\x44\x1d\xbb\x4f\xe9\x1c\
+\x01\x3c\x05\xca\xaa\x79\x08\x33\x35\x0c\xc1\x04\xac\xca\x2f\xee\
+\xf3\xe4\xb0\x13\x96\xe2\x46\x8c\x4a\x91\x1b\x11\x03\x5f\x3e\xa2\
+\x46\x61\xb0\x67\xc6\xcf\xa6\xce\x46\x8d\xb6\xf2\x8c\xf0\x0e\x82\
+\x18\x45\x2f\xf4\x68\x3b\xb1\xba\xa0\xde\x01\xae\xac\xa8\xc4\xa1\
+\x01\xcc\x83\x89\x78\xc4\x22\x40\x18\x64\xb0\x99\x11\xa3\xed\xfd\
+\xd6\xd3\x3b\x3f\x78\xf5\xdd\xb5\x42\xd3\xb4\xe7\x84\x88\x77\xa8\
+\x77\x16\x0b\xed\xce\xcd\x74\xf7\x5c\x6f\x7a\x62\x7f\xdd\x05\x83\
+\x4a\xed\x9a\xb2\x72\xcd\xb8\xb9\xb2\x7f\xdf\x93\xff\x59\x78\x67\
+\xda\x3b\x27\xde\x95\x80\xde\x61\x6a\x2c\x2d\x3e\x4e\xff\xa9\x8f\
+\x9e\x6d\xed\xb7\x17\x09\x76\x15\x35\x42\xd6\x57\x40\x30\x33\xf2\
+\x42\xef\x6d\x6b\x04\x5e\xfc\xc1\x5c\xb8\xa1\x4c\xa7\x6b\xe0\xaa\
+\x10\x14\x91\xed\xc5\x1a\xec\xea\xe5\xf8\x5e\x1f\x29\xdb\x54\x09\
+\xe1\xa1\xbd\xa2\xbc\xe5\x7b\x4c\x1d\xf7\x2c\xa6\x87\x9d\x38\x87\
+\x78\x0f\x21\x20\x75\x8f\xac\x79\x76\x5f\x77\xcc\xdc\x7a\xfb\x99\
+\xe5\xe6\xe7\xa4\xef\x05\x0c\x02\x83\x3a\x16\x08\x4e\x56\x7e\x7e\
+\xfa\xda\xb6\x43\x9d\xb8\xfc\xe5\x97\x0e\xf3\x8b\xff\x42\xad\x5f\
+\x35\xbc\x08\xb6\x9a\xa3\xbd\x3e\x74\xfb\x84\x41\x2a\x48\xd9\xf7\
+\x82\x94\x09\x1b\x63\x44\xfa\x82\x04\x43\x0c\x54\x84\x44\x85\xfa\
+\x76\xa1\x76\xee\xf7\x6b\x4b\xdf\x38\xf1\xd5\xb5\xac\xb8\x5a\x33\
+\x8f\x01\x8e\x3c\x56\xbd\x5c\xf0\x5e\xa0\xee\xdb\x0b\x6f\xdf\x98\
+\xf9\xd3\x8f\xce\xf3\x9d\x7d\x50\xb8\x32\xf7\x83\x1a\x89\x29\x09\
+\x46\x22\xe5\xe1\xb3\xb1\x2a\x07\xa1\x10\xb3\xf2\xa0\x51\x50\x33\
+\x6a\x4e\x48\x15\x9a\xbf\x7e\xb5\x7d\xfd\x6b\xcf\x1f\x59\x5c\xc9\
+\xff\x2c\x5a\xa5\xb1\x81\xb3\x5e\x1f\x8a\x58\xba\x54\x04\x1f\x1c\
+\xb5\x46\xba\xf2\x97\xcb\x8b\xd3\x6f\xbd\x7c\x81\x93\xfb\x21\x4f\
+\xcb\x2c\x1e\x69\x9a\x9b\x0b\x61\x3d\x99\x01\x15\x48\xd3\x40\xe2\
+\x85\x99\xdf\xbd\xd6\xbe\xfd\xc2\x73\xc7\x62\xd6\xff\xab\x33\xc3\
+\x6d\x28\x23\xd7\xfa\xde\x73\x58\x1e\xab\xd2\x03\x57\x41\xa4\x8d\
+\x74\xf5\xd2\x95\xbb\xad\x73\x2f\x9f\x67\xfe\x13\x90\x25\xac\x9f\
+\x82\x23\xf5\xb7\xf9\x3f\x35\xa1\x91\x7a\x9a\x5e\x68\xbd\xf2\x7a\
+\xfb\xce\x89\xaf\x1c\xd3\xac\xbf\x30\xf4\xce\x86\xe1\x2c\xcb\xb1\
+\x7e\x8e\x45\x1d\x9e\x58\x4e\x04\x9f\x08\x69\x23\xe9\x2c\xbc\xd3\
+\x6e\x9d\xfb\xf1\x45\xe6\x3f\x0e\xbd\x90\x10\x45\x1e\xf8\xa5\x67\
+\x40\x34\xa1\xd9\xf0\x4c\xa5\x9e\xe6\xa9\x37\xda\x77\x9e\x3f\x7e\
+\x2c\xef\xe6\x0b\x32\x68\xbf\xf7\x0d\x97\xe4\xca\xec\xf7\x5f\xc0\
+\xf2\xb8\x3e\x41\xa8\xc2\x51\x42\x5c\xfa\x77\xbb\x75\xf6\x27\x17\
+\x39\x79\x40\xc8\x5c\x20\x22\x9b\xf6\x32\xa0\x50\x63\xba\x9e\x30\
+\x53\xf3\xd4\x4e\x9d\x69\x7f\xf8\xf5\xb9\xb9\xfe\x5a\xbe\x20\x6c\
+\xb6\x7c\x08\x50\x17\xa8\xa9\xa2\x59\x8e\x16\x3a\x42\x39\x84\xa8\
+\x27\x9d\xbf\xbd\xbf\xda\x3a\xfb\xb3\x8b\xcc\x1f\xa8\xd1\xf3\x15\
+\x04\x0c\x7b\x69\xa1\xc2\x74\xb3\x14\x4f\x4e\xbd\xd9\xbe\x7d\x7c\
+\xee\x58\xbe\x96\x5f\x16\xc6\x5b\x3e\x04\xc8\xb4\xa0\x97\x67\x3c\
+\xf1\xd2\x09\x28\xe2\x86\xbe\xbd\x01\xc2\x0b\x49\x2d\x74\xae\xdc\
+\xe8\xb5\xce\xfe\xf2\x02\xf3\x9f\x69\x90\x89\x27\x1a\x98\xb9\x4a\
+\xdc\x33\x5d\x73\x84\xd3\x67\x3b\x1f\x1e\x3d\x32\xd7\xeb\xae\x5b\
+\xfe\xb0\xd3\xda\x61\xe5\x77\x9d\x15\x5a\x26\xe2\x38\xda\x01\x44\
+\xea\x3b\xff\xb8\x1d\x5b\x6f\xfe\x66\x81\xf9\x83\x4d\x32\xf1\xf4\
+\x81\x46\xcd\xd3\x4c\x02\xe9\x6b\xe7\xda\xb7\x8e\x7c\xe9\x68\xaf\
+\x5b\x5c\x76\x5b\x58\xbe\x0e\x00\x23\xe7\xf3\xb8\x21\x03\x4f\xb8\
+\x12\xe2\xdd\x7b\xd6\x7a\xe3\x95\xab\x9c\x3c\x34\x43\x5a\x4b\x48\
+\x93\x40\xfd\xcc\x1f\xda\x37\x9f\xfd\xe2\x5c\xde\x2d\x16\x06\xe2\
+\x93\xdc\x38\x26\xbd\x16\x94\x20\xae\x82\x48\x5c\xe7\x7f\x3d\xb7\
+\xed\xf5\xd3\xff\xe4\xdb\x07\xa6\x68\x9c\xbf\x70\xf7\xe6\xb3\xcf\
+\x1c\xcf\xb3\xf5\x98\x4f\x7a\xdd\x79\x24\x00\xa8\xbe\x7c\xcb\x3b\
+\x5d\xfb\x7a\x3f\xdd\x7d\xe6\x57\x7f\xfc\xe9\xed\xcf\x1e\x3a\x5c\
+\x64\xf1\x92\x18\x5b\xc6\xfc\xfe\xf1\xa8\x17\x93\x12\xa2\xea\x86\
+\x38\xb9\xe5\xbd\x7c\xd7\x94\x0d\xdd\xed\x51\xe4\xe1\xff\x2d\xe5\
+\x20\x0a\x4f\xa2\x38\x1c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x07\xff\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\
+\x67\x9b\xee\x3c\x1a\x00\x00\x07\x91\x49\x44\x41\x54\x58\x85\xe5\
+\x97\x6d\x8c\x54\xd5\x19\xc7\x7f\xe7\xde\x73\xef\xcc\xec\xec\x0e\
+\xb3\x3b\xbb\x33\xbc\x2c\xcb\xee\x22\xd6\x82\x50\xa1\x10\xad\x81\
+\xae\x21\x80\xc5\x88\xac\xd6\x8d\x8d\xd6\x68\x0b\x4d\x5f\xd2\x62\
+\xd0\xa4\x36\x36\x52\x43\xd3\x84\xf8\x41\x69\x6b\x34\x25\x4d\x13\
+\xa8\x25\xad\x42\x2b\xd1\x6a\x14\x05\xac\x42\xd0\xe5\x65\x15\x76\
+\x41\xcc\xbe\x02\xfb\x36\xbb\xdc\xd9\xd9\x9d\x97\x7b\xe7\xde\x7b\
+\xfa\x61\x77\x71\x11\x74\xeb\x4b\xe2\x87\x9e\xe4\x7c\x3c\xe7\xff\
+\xfb\x3f\xcf\x73\xce\x79\x8e\x50\x4a\xf1\x55\x0e\xed\x2b\x55\xff\
+\x32\x01\xc4\xe8\x08\x6f\xaa\xaf\x5c\xfd\xbb\xdb\xab\xd6\x0b\x21\
+\x8a\x84\x10\x62\xd2\x85\x4a\xa9\x2f\x3c\x01\x09\x54\xbc\xf6\xcb\
+\x85\xaf\x26\xdf\xdd\x5d\x48\xb5\x1c\x72\xf7\x6e\xba\xa5\x6b\xed\
+\xc2\xc4\x22\xc0\xfc\xd4\xb5\x5f\x50\x58\x00\xe1\x1f\xde\x18\x5f\
+\x75\xf2\x99\xef\x0f\x65\x4e\x35\x7a\xde\x99\x66\xe5\x9f\x39\xa9\
+\xec\xd3\xef\xab\x53\xcf\x6f\xb1\x9f\x68\x98\xbb\x0b\x88\x02\xfa\
+\x95\xf6\x10\x9f\xb7\x08\x85\x10\x12\x28\x7d\xe6\xee\x79\x4f\x7f\
+\xe7\x9e\x9f\xd6\xcf\x98\xfe\x4d\x29\x94\x87\x90\x3e\x76\xde\xc3\
+\xb0\x3d\x0c\xcf\xa3\xaf\x30\xec\x35\xbe\xbe\x23\xbb\xeb\xed\xf7\
+\x1f\xd8\x7e\xb0\xe3\x39\x20\xab\x26\x88\x7e\x66\x80\xb1\xbc\x86\
+\x56\xcd\x8d\x2f\xf9\xf9\x6d\xdf\xfa\xe7\x0d\xb7\xac\x8f\x96\x61\
+\x6a\x18\x2e\x9e\xef\xe2\x8c\x78\x04\x6d\x17\x1d\x97\x2c\x2e\x2a\
+\xe7\x61\x2a\x97\x63\x03\xed\xce\xdb\xaf\xbe\xd4\xf1\x8f\xe6\xde\
+\x3b\x8e\xb4\xf5\x7f\xa8\x94\x72\xc6\x73\xf7\x99\x5d\xff\x6a\xc5\
+\xb5\x8f\xaf\x69\xb8\xf3\xee\x85\x57\x2f\x36\xa5\xe3\xa0\x07\xb3\
+\x64\x52\x0e\x6a\xc4\x25\x5c\x28\xe0\x53\x60\xc0\x2d\x90\x4a\x15\
+\x48\x98\x05\xcc\x7c\x81\x1b\x7c\xcd\xac\xaa\x5b\x73\xd5\x94\xe8\
+\xc1\xc6\xc5\xe5\x91\xbf\x0b\x21\x1e\x04\x86\xfe\xa7\x08\x8c\xbb\
+\xbe\x6e\x5a\xf9\x82\xfb\x6e\x5a\xf8\xc2\xad\x77\xdd\x5f\x5e\x63\
+\x9a\xba\x27\x6d\xc0\x21\x37\xe4\x10\xcc\x38\x04\x5c\x87\xac\x70\
+\x48\x0e\xdb\x78\x76\x81\x19\x38\x98\x8e\x83\x17\x74\x48\xa6\x47\
+\xe0\x68\x33\x89\x33\x27\xf8\x6b\xc5\xf4\xec\x31\x47\xeb\xfc\xc3\
+\xd1\x8e\xeb\x27\x8d\xc0\xb8\xeb\xbb\xbf\x31\x77\xd3\x6d\x6b\x56\
+\xff\xe8\x96\x6f\x2f\x0d\x04\x0a\x59\x94\x31\x4c\x21\x93\xc7\x39\
+\x9f\x24\x72\xb6\x1d\x31\xdc\xcf\x39\x37\xcf\xd9\x9e\x3c\x71\x3d\
+\x47\x75\xc1\x01\x6c\x52\x81\x2c\xed\x9d\x17\xb0\xbb\xf3\x2c\x29\
+\x86\x42\xf5\xec\xce\xef\xa6\x53\x34\x7b\x81\x18\x50\xfc\x89\x00\
+\xe3\xae\xbf\x36\x35\x76\xcd\x5d\x8b\x16\xbc\xb8\xe6\x9e\xfb\x12\
+\x8b\x62\x61\xbd\xe0\xa6\xd1\x7b\x8e\xd2\x7b\x60\x3f\x81\x96\x36\
+\xca\x9d\x0c\x99\x22\x68\xc9\x42\x7f\x0a\xae\x2f\x83\x98\x0b\xa2\
+\x02\xba\x7c\xe8\xea\x83\x2a\x05\x55\x95\x11\x97\x79\x8b\x8e\xeb\
+\xc7\x0f\xcf\x0f\xe4\xf3\x41\x19\x9e\xd6\x0f\x9f\x50\x03\x63\xae\
+\xa3\x0d\x0d\x0d\x6b\x1b\x16\xd4\x3c\x75\xf3\x8a\x9b\x83\x91\xe1\
+\x0b\x78\xef\xbe\x82\x7d\xea\x65\xce\x9f\xea\x65\x86\x03\x01\x13\
+\xba\x4b\xe0\x83\x01\x08\x69\xb0\xa2\x7c\x74\x43\xbb\x12\xda\x86\
+\x60\xb0\x1f\x16\x15\x43\x78\x51\xdd\x59\x72\x43\x79\x8e\xbc\xb9\
+\x44\xb8\x0a\x14\x48\x39\x7a\x47\x5d\x06\x20\x84\x28\x8a\xc5\x62\
+\x33\x1f\x7e\xf8\xe1\xa7\xd7\xae\x5d\xbb\xac\xa2\x3c\x26\x07\xdf\
+\x39\x30\x18\xdc\xfa\x8b\x62\x73\xb0\x37\x50\x0c\x44\x04\x10\x80\
+\x34\x70\xa2\x07\xae\x2e\x83\x6a\x01\xaa\x08\x06\x42\xd0\xd1\x07\
+\xa1\x2c\xdc\x58\x55\xea\xeb\x37\xd5\x9f\xe2\xc0\x9e\x1a\x2e\x5c\
+\x28\xc2\x07\x14\xe0\x83\xd4\x50\x97\x00\x8c\xbb\xae\xaf\xaf\x5f\
+\xbe\x7e\xfd\xfa\xa7\x96\x2d\x5b\x56\xe1\x79\x1e\x5d\x9d\x9d\x58\
+\xa1\x58\xec\x44\xc3\xa3\xc9\xeb\xde\xd9\x3d\x54\xd5\xfc\x9f\xab\
+\xf0\x5c\x00\x22\xc0\xaa\x38\x88\xb1\x3a\x76\x6d\xe8\xb7\xa0\xd6\
+\x80\xf2\xdb\xef\xe8\xa7\xe0\x64\x79\x69\xfb\x3c\x5c\xff\xa2\x30\
+\x0a\x94\xff\xb1\x08\x08\x21\x42\x91\x48\x64\xc6\xa6\x47\x1f\x7d\
+\xe2\xce\x86\x86\x9b\x13\x89\x84\x69\x59\x16\x6d\xad\xad\x78\x9e\
+\x87\x26\x04\xd1\x39\xf3\x2a\x4e\x55\xd6\x56\x74\xce\x5f\xde\xb6\
+\xb0\x71\x77\x34\xd4\xd6\x54\x26\x00\x26\x9c\x22\x43\xc1\xb5\x95\
+\x15\x8a\xfa\x9f\x74\xf0\xca\xb3\x71\xce\xb6\xc7\xf1\x3f\x12\x1e\
+\x9f\x0a\xd0\xa5\x36\x1a\x01\x21\x44\x70\xe5\xca\x95\xcb\x37\x6e\
+\xdc\xf8\xe7\xe5\xcb\x97\x4f\xd5\x34\x8d\x74\x3a\x4d\x7b\x5b\x1b\
+\x42\x08\x0c\xc3\x40\x08\x81\xa6\x69\x04\x83\x41\xd4\xf5\x2b\x6a\
+\x0f\xcd\x9a\x97\xad\xec\x38\xd2\x31\x73\xdf\x5f\x66\x89\xb4\x25\
+\x50\x0a\x01\xc8\xd5\xf7\x59\x86\x26\xb3\xda\x8e\x2d\x35\x38\x85\
+\x4b\x44\xc7\xe7\x90\x19\xe0\x85\xaa\x8a\xac\x95\x0b\xbd\x0e\xf8\
+\x12\x28\xad\xab\xab\xdb\x34\xbb\xb6\x36\x24\x84\xc0\x71\x1c\xda\
+\xdb\xda\x2e\x11\x46\x08\x26\x3e\x6b\xe5\x95\x33\x8b\xd2\xf1\x44\
+\xf5\x7b\x55\xf3\x07\xab\x5b\x0f\x11\x6c\x7e\x2b\x56\xf2\xbd\x07\
+\xfb\xc4\x9e\x6d\xc5\xda\xf1\xb7\x4a\xf1\x26\x88\x4e\xc8\x7b\x53\
+\xcd\x54\xe7\xf4\x14\x99\x79\xee\x03\xf5\xd0\xcb\x4d\x67\x0e\x02\
+\x29\x09\xe0\xfb\xbe\xb0\x6d\x7b\xca\xe9\x96\x96\x94\x6e\x18\x59\
+\xa1\x69\xd3\xa5\xa6\xa1\xe9\x3a\x9a\x10\x08\x21\x10\xda\xe8\xcb\
+\xad\x7c\x1f\xa5\x14\x86\x61\xe0\x55\x5f\x1d\x4b\x56\xd5\x0e\x4f\
+\x5f\xb2\x32\xe5\x3d\xbe\x2e\x11\x4c\x25\x2f\x11\x1c\x87\xc8\x07\
+\x0c\x8e\x2d\x4e\xe4\xce\x8c\x04\x1a\x7f\xb0\xb3\x75\x23\x30\x00\
+\x24\x95\x52\xb6\x1c\x4d\xa3\xf2\x0d\xc3\x20\x97\xcb\x45\xfb\xbb\
+\xbb\xa7\x94\x96\x95\xb5\x17\x85\xc3\xe5\xbe\xef\x97\x68\x9a\x36\
+\x0a\x30\xe6\x5e\x8d\x02\x83\x52\x18\xa6\x79\xae\xa7\xbb\xbb\xc4\
+\xf9\xf0\x7d\x4b\xa6\x2f\x44\x35\x5f\x5d\x16\xf2\x73\xd7\x4c\x2d\
+\x0c\xd6\xe8\xb9\x1d\x47\x79\xe4\x4f\xfb\x5a\xdf\x00\x92\x40\x4a\
+\x29\xe5\x4d\x3c\x05\x42\x1a\x06\x86\xeb\x62\x9a\xa6\xe8\xeb\xed\
+\xad\x49\xa7\xd3\x99\x99\x33\x67\x9e\x0f\x04\x02\xd3\x95\xef\x0b\
+\xc6\x7a\x0b\xa5\x14\x52\xca\xbc\xf2\xfd\xa1\x9e\xde\xde\x4a\xa5\
+\x14\xa4\xad\xa4\xee\x7b\x97\x84\xdd\xd6\x75\x9a\x97\xce\xc8\xa5\
+\x4c\xa3\xe5\xd6\x27\x5b\x7f\x96\x73\xe9\x03\xfa\x95\x52\xb9\x89\
+\xc7\xfe\x22\x80\x21\x25\x9e\x61\x10\x0e\x87\x19\x19\x19\xc1\xce\
+\xe7\xc3\x1d\x1d\x1d\xe1\x69\x53\xa7\x0e\xc6\xe3\x71\xcd\x57\xaa\
+\x54\x29\x45\x30\x18\x4c\xa5\xd3\x69\x2d\x65\x59\x09\x4d\xd3\x90\
+\x52\xa2\xd9\x59\x5f\xf7\xd5\xc5\xb0\x9f\x9e\x96\xf0\x7a\xaa\x64\
+\xfe\xb5\x0e\xfd\xb7\x5b\x5e\x6a\xdd\xf3\x71\xd7\x97\x01\x08\x21\
+\x84\x61\x9a\xb8\x9e\x47\x20\x10\x20\x1c\x0e\xe3\x38\x0e\xba\xae\
+\x63\x59\x56\x2c\x9f\xcf\x7b\x55\xb3\x66\x59\xa1\x50\x48\x4f\x59\
+\x56\xc4\xb6\x6d\x4d\x4a\x89\xaf\x14\x4a\x4a\x64\xc1\x56\x28\x70\
+\x94\xe0\xdf\xb5\xd5\xf9\x91\x80\xec\x7c\xe0\xd9\xb6\xfb\xad\x11\
+\xaf\xe7\x4a\xae\x2f\x03\xc8\x64\x32\x19\xcf\xf3\x94\x61\x18\xc2\
+\x33\x4d\xa2\xd1\x28\x96\x65\xa1\x4b\x89\x94\x12\xa5\x94\x6e\x59\
+\x56\xa9\x10\xc2\x13\x42\x68\xba\xae\xa3\xc6\x01\x94\xc2\xcb\x66\
+\x8d\xf7\x42\x71\xff\x50\x91\x69\x9f\x49\x87\xb6\x6e\x7d\xb5\x65\
+\xc7\x58\xa1\x59\x57\x72\x3d\x71\xe8\x00\x27\x4e\x9c\x38\x6e\xdb\
+\x76\x75\x59\x59\xd9\xb4\x58\x2c\x66\xe8\xba\x8e\x62\xb4\xdf\x92\
+\x63\x10\xc1\x50\x88\xe2\xe2\x62\xe1\x7b\x9e\x50\x63\xb5\x00\xe0\
+\xb9\x2e\xff\xda\xf5\x37\xd9\xe2\xf9\x7d\x5b\xdf\xe9\xb9\xe3\xb5\
+\xe6\xde\x7d\x40\xb7\x52\x2a\xfd\xd8\x63\x8f\x4d\xfa\xd6\xeb\x40\
+\xc1\xb6\xed\xcc\xe1\xc3\x87\xdf\x6c\x6a\x6a\x6a\x0c\x04\x83\x4b\
+\xe2\xf1\x78\x38\x1a\x8d\xea\x85\x42\x01\x29\x25\xba\x94\x04\x83\
+\x41\x15\x0e\x87\x85\xef\x8d\x19\x52\x8a\x64\x32\xe9\xef\x7a\xfe\
+\xf9\xae\xf7\x3a\xcf\xff\xf1\x99\x37\x9a\x1e\x49\xe7\xbd\xae\xb1\
+\x90\x3b\x93\x09\x8f\x8f\x8b\x0d\x89\x10\x22\x00\x94\x01\xb1\x75\
+\xeb\xd6\xfd\x78\xe9\xd2\xa5\xf7\xcc\x99\x33\x27\x1a\x29\x29\x11\
+\x86\x69\x52\x5c\x5c\xec\x95\x96\x96\xea\x8e\x6d\x63\x3b\x0e\x7b\
+\xf7\xee\x1d\x3a\x78\xf0\x60\xe3\xce\x9d\x3b\x7f\x33\x3c\x3c\x7c\
+\x9e\x49\x72\x3d\x29\xc0\x18\x84\x00\xc2\x40\x79\x22\x91\x98\x75\
+\xef\xbd\xf7\x6e\x99\x3d\x7b\xf6\xdc\xba\xba\xba\x48\x24\x12\xf1\
+\xa2\xd1\xa8\x3e\x30\x30\xa0\xb6\x6f\xdf\xde\xbd\x7f\xff\xfe\x27\
+\x0f\x1c\x38\xf0\x32\x1f\x55\xb8\xfb\x59\xc5\x2f\x03\x98\x00\xa2\
+\x33\xfa\xd8\x95\xaf\x5e\xbd\x7a\xc5\xe2\xc5\x8b\x7f\xbd\x6a\xd5\
+\xaa\x8a\x4c\x26\xe3\xef\xdb\xb7\xef\xe4\xb6\x6d\xdb\x1e\x4a\xa5\
+\x52\x5d\x40\x3f\x90\x53\x9f\xb7\xb5\x86\x4f\xff\x17\x00\x01\x60\
+\x1a\x30\x7f\xf3\xe6\xcd\x2f\x6e\xd8\xb0\xe1\xf7\xc0\xd7\x81\x72\
+\x40\x7e\x19\x9f\x9a\x49\x9b\xd2\x09\x69\x29\x61\xf4\x9e\x4b\x7f\
+\x61\xd7\x13\xf7\xff\xbf\xff\x1d\xff\x17\x23\x3b\x69\xdd\xc6\xda\
+\x29\x91\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x11\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x11\x02\x49\x44\x41\x54\x68\x81\xd5\x99\x79\x94\x5d\x45\
+\x9d\xc7\x3f\x75\x97\x77\x97\xb7\xf5\xbe\x27\xe9\x0e\x49\x87\x24\
+\x84\x3d\x61\x11\x90\x2d\x61\x33\x28\x20\xc2\x19\x11\x75\x9c\xa3\
+\x1e\x99\x05\x98\xa3\x33\x03\xea\xe8\x30\x33\x3a\x11\x15\x14\x95\
+\x20\xea\x30\x82\x32\x80\x82\x88\x80\x82\x22\x23\x11\x54\x40\x40\
+\x48\xc8\xde\x49\x77\xd2\x4b\x5e\xba\xfb\xed\xef\xbe\x7b\xab\x6a\
+\xfe\x78\xaf\x5f\xd2\x21\xa2\x1c\x83\x73\xa6\xce\xb9\xef\xd6\xbd\
+\xaf\xaa\x7e\xbf\xef\xaf\x7e\xf5\xfd\xfd\xaa\xae\xd0\x5a\xf3\xff\
+\xb9\x18\xff\xd7\x0a\xfc\xa9\x45\x9c\xfa\x96\x13\xb0\x0c\x13\x84\
+\x00\x04\x1a\x40\xd4\x70\x69\xc4\xfe\x4d\x1b\x77\x8d\x46\xd4\xdb\
+\x5a\x51\xae\xf6\x4e\x18\xb5\x36\xf5\x71\x10\x06\x5a\x18\xef\xd2\
+\x18\xeb\x81\x97\xeb\x23\x03\xba\x76\x69\x8d\x40\x23\xb4\xda\xf7\
+\x5e\x2b\xd0\x9a\xc8\x4a\xee\x27\x75\x7f\x69\xfb\x6b\xa5\x09\x4a\
+\xf9\x37\x75\x06\xde\x2d\x0a\xe3\x77\x5b\xc1\xd4\xc3\xc0\xc2\x37\
+\x4b\xc8\x9b\x05\xe0\xaa\xea\xf4\xc8\xb7\x57\x5f\x71\x95\x58\xb0\
+\xf4\xa8\x39\x2a\xbf\xfb\x09\x60\xf9\x9b\x21\xe8\xcd\x00\x70\x7d\
+\x31\x33\x7c\xcb\xc5\xef\xbf\x5a\x5c\x73\xf5\xdf\x72\xeb\xed\xff\
+\x45\xef\x61\x4b\x7a\xa3\xec\xae\x9f\x02\x67\x1d\x6a\x61\x87\x1a\
+\xc0\xa7\x0b\x7b\x47\xfe\xf5\x2f\xff\xfe\x06\xae\xbd\xfa\x6a\x76\
+\xec\xd8\x41\x3e\x5f\xe0\xbb\xf7\x3c\xc0\xfc\xa5\x27\x24\xab\x53\
+\x3b\x1e\x02\x56\x1e\x4a\x81\x87\x12\xc0\x0d\x85\xc9\x5d\x9f\xbc\
+\xea\x1f\x3e\xc3\x87\x3e\xf0\x3e\x86\x86\x86\x08\xc3\x90\xb1\xb1\
+\x51\x72\xb9\x1c\x77\xdc\x79\x17\x4b\x57\x9c\xe9\x56\xa7\x86\x7f\
+\x00\x9c\x7b\xa8\x84\x1e\x2a\x00\x37\x95\xa6\xc6\x3e\x7e\xed\xa7\
+\x6e\xe6\xbd\x57\x5e\xc1\x96\xad\x5b\x09\xc3\x88\x64\x32\x49\x2a\
+\x95\x62\x7c\x7c\x9c\x4c\x26\xc3\x6d\x5f\xff\x26\xc7\x9f\x76\x81\
+\x57\xdd\xbb\xf3\x07\xc0\xc5\x87\x42\xb0\x39\x6f\x6e\x1f\x86\x30\
+\xf6\xd1\x1f\xd4\xeb\xec\x7b\x9e\x55\x17\xf5\x5f\x01\x60\x19\x2a\
+\xb8\xb5\x94\xcb\x7c\xe4\xba\xcf\xde\xc6\x25\xef\x58\xcd\xe6\xcd\
+\x9b\x31\x84\x20\x99\x4c\xe2\xfb\x3e\xb6\x6d\x03\x90\xcf\xe7\xa9\
+\x46\x21\x97\x5e\xfa\x2e\x36\x0e\x8d\x9a\xdb\x7f\xf7\xcb\x77\x5a\
+\x5e\x6a\x48\xa0\x5f\xdc\x27\xa3\x46\x95\xca\x70\x0e\x90\x2a\x0e\
+\xaa\x89\x0c\xab\x7f\x12\x00\xcf\x0a\xa7\xbe\x53\x29\xe6\xae\xf8\
+\x97\x9b\xee\xe0\xbc\x55\x67\xb2\x65\xcb\x16\x5c\xd7\xa5\xa9\xa9\
+\xa9\x01\xc0\x71\x1c\x1c\xc7\x21\x16\x8b\x51\x2e\x14\x29\x55\xca\
+\x5c\x7c\xd1\x45\x8c\x4c\xe4\x8c\x8d\xcf\x3f\x71\x91\xed\xa5\x0a\
+\xc0\xd3\x7f\x6e\x00\x9e\x19\x4c\xdd\x1d\x94\x8a\x17\x7d\xea\xa6\
+\x3b\x58\x79\xc6\x29\x6c\xdc\xb8\x91\x58\x2c\x46\x3a\x9d\x26\x95\
+\x4a\x35\x2c\x0f\x60\x9a\x26\xae\xeb\x62\x98\x06\xf9\x7c\x9e\x62\
+\xb1\xc4\xea\x0b\x57\x33\xb2\xb7\xcc\xfa\xdf\x3c\xbe\x2a\xe6\xa7\
+\xcb\xc0\xba\x3f\x17\x80\x94\x59\x99\xbc\x2f\x8a\xa2\x0b\xbe\xf8\
+\xf5\x7b\x38\xf5\xe4\xe5\x6c\xd8\xb0\x01\xdf\xf3\x68\x6d\x6b\xe3\
+\xc9\x27\x9f\x64\xcd\x9a\x35\x7c\xfb\xce\x6f\x33\x6f\x60\x80\x2d\
+\x9b\x37\x73\xfd\x75\xd7\x71\xed\xb5\xd7\xd2\xdc\xdc\xcc\x59\x67\
+\x9d\xc5\xd4\x54\x86\x6c\x36\xc7\xdb\x2f\x5c\x4d\x51\xb9\x3c\xff\
+\xd4\x43\x2b\x63\x5e\xda\x00\xfd\xf3\x37\x0a\xc0\xe2\x8d\x95\x66\
+\x51\xc9\xdc\x2f\x0c\xe3\xad\x5f\xfa\xcf\xef\x71\xc4\xe1\x8b\x58\
+\xbf\x61\x03\x9e\xeb\x12\x4f\x24\x48\x24\x12\x54\x2a\x15\x7e\xf7\
+\xf2\xcb\x8c\x8f\x8d\x91\xcf\xe6\x29\x55\xca\x3c\xfc\xc8\x23\x4c\
+\x4f\x4f\x23\xea\x86\x89\xc7\x93\xe4\x72\x39\xb6\x6f\xdf\xce\xdf\
+\xfd\xcd\x55\xf8\x89\x38\xdf\xb8\xf1\x13\x9f\x8c\xb7\x74\x7b\xc0\
+\xc7\xde\x88\x42\x6f\x64\x06\xba\x45\x65\xcf\x83\xb1\x98\x77\xca\
+\xcd\xdf\xba\x8f\x85\xf3\xe7\xb2\x6d\x5b\xcd\xe7\x7d\xdf\x27\x1e\
+\x8f\x63\xdb\x36\xb9\x5c\x9e\xdd\xbb\x77\xd3\xd1\xd6\xc7\xe5\x97\
+\xbe\x07\xa4\xc5\x2b\xeb\xd7\xb3\x68\x70\x21\x97\x5f\x7e\x19\x7d\
+\x7d\x7d\x00\x68\xad\xa9\x56\xab\x4c\x4d\x4f\x73\xf6\x19\x67\xe0\
+\xb6\xf4\xb1\xee\x27\x0f\xbc\x25\xe6\xc6\xdb\x95\xe1\x3c\x4a\xdd\
+\x9f\x0e\x95\x0b\x2d\x30\x4a\xe3\x8f\xbb\xf1\xa6\xa3\x6e\xb9\xe3\
+\x5e\x7a\x3b\xdb\xd8\xb9\x63\x07\xae\xeb\x12\x8f\xc7\xf1\x7d\x9f\
+\x44\x22\x01\x80\x52\x1a\xc7\x4a\x70\xe6\xb9\xcb\xc9\x3a\xbf\x40\
+\x39\xbb\x38\xfe\x88\x95\x2c\xe8\x3f\x82\xa5\xcb\x16\xd3\xd4\x94\
+\xc6\xb6\x6d\xb4\xd6\x08\x21\x88\xc2\x90\xc9\xc9\x49\x4e\x3f\xed\
+\x54\x9a\xfb\x0e\xe3\xc9\x87\xef\x5b\xe1\xc6\xc4\x12\x65\xb8\x3f\
+\x00\xe4\xa1\x70\xa1\x01\x51\x1c\xff\x91\x93\x6a\x59\x78\xd3\xad\
+\x77\xd1\xd9\xda\xc2\xf0\xf0\x30\x5e\xdd\xf2\x9e\xe7\xe1\x79\x5e\
+\xa3\xf1\x33\x4f\xff\x8a\xcf\x7e\xee\xdf\xe9\x3f\x71\x8c\x5c\x71\
+\x02\xd3\xb6\x58\xb0\x60\x90\xa9\x97\x0f\xe7\xb0\x85\x03\xcc\x9b\
+\x37\x07\x00\xdf\xf7\x1b\x33\x51\x2e\x97\xd9\xb2\x65\x2b\x97\x5c\
+\xb8\x9a\x28\x54\xdc\xf4\xe9\xab\x2f\xf5\x93\x10\xd9\x4d\x57\x00\
+\xd5\xd7\x53\xee\x0f\x01\x58\x44\x61\xec\xc7\x2d\xbd\xfd\xf3\xbe\
+\x74\xdb\x9d\xf8\x6e\x8c\x91\xe1\x9d\xc4\xe3\xf1\x86\xeb\x78\x9e\
+\x87\x69\x9a\x8d\x0e\xe9\x76\x83\xe3\x56\x79\xc4\xe3\x4b\x98\xd8\
+\x76\x18\xe9\xb4\x47\x53\x4c\xe0\x2e\x9d\xc4\x6f\xde\x37\xb0\x69\
+\x9a\xf8\xbe\x8f\x10\x02\xc3\x30\x28\x97\xca\x6c\xda\xb4\x89\x4b\
+\x2f\x79\x3b\xad\x6d\xad\xfc\xcb\xb5\x7f\x75\xa9\xad\x95\x23\x63\
+\xcd\x97\x03\xe5\x83\x29\xe7\xfa\x89\xd7\x75\xa1\x65\xba\x30\xfa\
+\x58\x4f\xff\xe1\x73\x6e\x5e\x7b\x27\xb6\x01\x99\x89\x09\xfc\xb8\
+\x87\xeb\x7a\xf8\xbe\x8f\xef\xfb\xb3\x94\x07\x78\xfa\xa9\x67\xd1\
+\x85\x6e\xe6\xb5\x9e\x48\x7f\xcf\x71\x74\x34\x2f\xc5\x8d\x06\x89\
+\x72\x6d\x98\x86\xc5\x11\x4b\x97\x36\xda\x1a\x86\x81\x65\xed\xb3\
+\xa1\xd6\x8a\x3d\x13\x13\x1c\x7d\xd4\x51\x2c\x3a\xe6\x24\x1e\x7f\
+\xe4\xfe\x45\x96\x2c\x9f\xa0\x2c\xff\x21\x01\x95\x99\x76\xfb\x3b\
+\xf8\xef\x03\x70\x82\xce\xef\x7e\xb4\x7f\xf1\xb1\x5d\x5f\xf8\xda\
+\x37\x11\xb2\xca\xf4\xf4\x14\x9e\xeb\xe2\xd5\x15\xf7\x7d\x1f\xc3\
+\x78\x6d\x26\x92\xcd\x66\x69\x6e\x4e\xd3\xde\xd9\x42\x4b\x6b\x13\
+\xad\xad\x4d\xb4\x77\x36\xd3\xd1\xd1\x4a\x6f\x6f\x6f\x63\x11\x37\
+\x94\x11\xa2\x01\x62\x86\xa5\xf6\x4e\x8c\xb3\x64\xc9\xe1\x1c\xb9\
+\xfc\x74\x7e\xfa\xc8\x03\xf3\x8d\xa8\xf0\x56\x6d\xf9\x3f\x04\x8a\
+\x07\x02\x38\xd8\x8e\xec\x6c\x95\x1b\xb9\x7f\xe0\xc8\x93\x13\x9f\
+\xff\xd2\x6d\x54\x4b\x39\xf2\xf9\x3c\x9e\xe7\xcd\x72\x9b\x83\x29\
+\x0f\x30\x3d\x3d\x8d\xd6\x1a\xd3\x34\x1b\x4b\x4f\xa3\x89\xa2\x08\
+\xd3\x34\x49\xa7\xd3\x07\xed\xa7\x94\xa2\x54\x2a\x51\x2e\x97\x09\
+\x2a\x15\xca\x95\x0a\x3d\x7d\x73\xd8\xbc\x75\x88\x6b\x3e\x78\x39\
+\xa6\x0c\x36\x46\x5e\xd7\x4a\xd0\xc3\x33\xa3\x0a\xf4\x6b\x00\xac\
+\x8a\x72\x23\xf7\x2f\x3c\xe6\x54\xff\x33\x37\xde\x42\x54\x29\x50\
+\x28\x14\xf0\x7d\x1f\xd7\x75\x1b\xac\x23\x84\x38\xa8\x12\x35\x37\
+\xd0\xb3\xac\xb9\xff\xfb\xd7\xeb\x37\xd3\xa6\x58\x2c\x52\xa9\x54\
+\xa8\x54\x2a\x94\xcb\x65\xba\x7b\xfb\xd8\xb8\x71\x2b\x1f\xfb\xeb\
+\xf7\xa2\xa3\xe2\x26\xe5\x75\x9d\x2b\x60\xfb\x0c\x80\xfd\xcd\x78\
+\xa1\xcc\x8e\x3c\x78\xe2\xd9\x17\xfb\x37\x7f\xf5\x1b\xe8\xb0\x4c\
+\x10\x04\x8d\xd4\x20\x9d\x4e\x93\x48\x24\xfe\xa0\x12\x42\x88\x83\
+\xb6\xf9\x43\xfd\x66\xda\x24\x12\x89\x86\xcc\x54\x2a\x45\x66\x62\
+\x9c\x25\x87\x2f\xe0\xb6\xef\x3c\x48\xaa\xb5\x6f\xd0\x28\xed\xfe\
+\x39\xb0\x78\xa6\xcf\x0c\x80\x77\x47\xb9\x5d\xdf\x3f\xf3\xe2\xf7\
+\x3b\x9f\xbc\x61\x0d\x13\x63\xbb\x98\xce\x66\x31\xcd\x5a\x3e\xa3\
+\xeb\xee\x25\xb5\x22\x8a\xe4\x9b\x7a\x49\xad\xa8\x1d\x12\xd4\x23\
+\x80\x69\xb2\x63\xe7\x4e\x9a\x52\x71\xbe\x72\xc7\x7d\x74\xcc\x39\
+\x7c\xae\x28\x8c\x3c\x01\x1c\x0b\xb5\x35\xf0\x01\x0a\x13\xb7\xaf\
+\xbe\xe2\x23\x5c\x76\xf9\x7b\xf8\xe1\x83\xf7\x12\x49\x89\x6b\x3b\
+\xb8\x71\x9f\x44\x3c\x45\x2c\x16\xc3\x34\x05\x52\xe9\xba\x8b\x08\
+\x66\x4e\x16\x00\x0e\x76\xb2\xf4\x7a\xf6\xd6\x07\xb6\xd9\x2f\x70\
+\x0a\xa8\xc9\x92\xb5\x48\x9d\xcf\x4f\x53\xae\x54\xa8\x94\xcb\xf4\
+\xf6\xcd\xe1\xe4\x53\xcf\xe4\xba\x6b\x3e\xcc\xc8\xa6\xe7\x8b\x24\
+\x7a\xce\xb1\xda\x5b\x5b\xb7\x2f\xbf\xe0\xc2\xc2\xaa\x73\xce\x4b\
+\x3c\xf3\xd4\x13\xf9\x4a\x39\x9f\xf4\x3c\x17\xd3\x52\xb8\x31\x93\
+\x9e\xae\x4e\x2c\xdb\x42\x29\x49\x10\x04\xd8\x76\x0c\xc3\x30\x50\
+\x52\x52\x2c\x16\x90\xaa\x7e\x44\x62\x18\x80\xae\xeb\x22\x78\x3d\
+\x08\x5a\x6b\x74\xdd\xd2\xb5\x78\x50\x8b\x25\x4a\x69\xaa\x41\x80\
+\xe3\xba\xf5\x67\xc5\xf6\xed\x39\xa2\x50\xa1\x2d\x18\xda\xb2\x81\
+\xce\xf6\x36\x3e\x7e\xc3\x1a\xbe\xf0\x99\x4f\x55\x36\x6d\x78\x39\
+\x6f\x01\x3f\x3b\xe5\xb4\xd3\x57\x0c\x6d\xdd\x1c\xf3\xe2\xbe\x35\
+\x77\xee\xbc\x67\x2d\xcb\x22\x1e\xf7\x70\x9c\x38\x7b\x27\xa7\x90\
+\x32\x44\x29\x45\x5f\x5f\x1f\x99\x4c\x86\x30\x0c\x01\xe8\xeb\x9b\
+\x83\x65\x99\x48\x29\x09\xc3\x10\xcb\xb2\x90\x52\x36\x94\x3c\xd8\
+\x7d\xa6\x38\x8e\x83\x61\x18\x54\x2a\x15\x46\x47\x47\x51\x4a\xe1\
+\xba\x2e\x9d\x9d\x9d\xec\xde\xbd\x1b\x21\x04\xa6\x69\xd1\xdb\x3b\
+\x87\x72\xb9\x48\xa9\x54\xa2\x5a\x0d\xa3\xbd\x99\xcc\x65\xe9\x54\
+\x53\xfb\x79\xab\x2f\x7a\x6a\xd3\x86\x97\x5f\x99\x89\x22\x1b\x00\
+\x06\x07\x07\x8f\x1c\x19\x19\xaa\xe7\xf5\x29\x4c\xd3\xe4\xc6\x1b\
+\xff\x99\xf1\xf1\x71\x4a\xa5\x02\xb7\x7c\xe5\xab\xdc\xba\x76\x2d\
+\x2f\xbd\xf8\x22\x63\x63\x63\xbc\xfa\xea\x46\x6c\xdb\xa2\x5a\xad\
+\x52\xae\x94\x19\xdd\x3d\xca\xe4\xe4\x24\x42\x88\x9a\xc2\x4a\xa3\
+\xd1\x20\x6a\xae\x91\x48\x26\x89\xa2\x88\x81\x81\x01\x12\x89\x04\
+\xb6\x6d\x33\x35\x35\xc5\xda\xb5\x6b\x19\x1e\x1e\x66\xde\xbc\x79\
+\xfc\xd3\xf5\xd7\xb3\x66\xcd\x1a\x36\x6f\xde\x82\x69\x9a\xac\x5b\
+\xf7\x73\xf2\xf9\x69\xb2\xd9\x7c\xdd\x48\xf6\xaf\x81\x91\x19\x43\
+\x34\xc2\xe0\xf2\x15\xcb\x01\xcc\xb6\xb6\x56\x3c\xcf\xad\x73\xbd\
+\x4d\x18\x86\x4c\x4f\x4f\x11\x04\x01\x1d\xed\x6d\x04\x95\x0a\x43\
+\x43\x43\x00\xb4\xb7\xb7\x21\x84\xa0\x5c\x2a\x61\xdb\x36\x85\x64\
+\x81\x25\x47\x1c\x41\x31\x9f\xc7\x34\x0c\x3c\xdf\x47\x2a\x45\xa5\
+\x54\xaa\x45\x6c\xd3\x64\xe7\xb6\x21\x52\xa9\x14\xc9\x64\x92\x58\
+\x2c\x86\x10\x82\x62\xb1\x48\x36\x9b\x25\x0c\x43\x3a\x3b\x3a\xc8\
+\x66\xb3\x8c\x8f\x8f\xd1\xd3\xd3\x47\x5b\x5b\x0b\xa6\x29\x70\x1c\
+\x97\x20\x08\x30\x4d\x7b\x5f\xe2\x05\x58\x77\xdc\x75\xf7\x01\xfe\
+\x19\x60\xdb\x16\xb6\x6d\xe3\x38\x71\xe6\xcf\x3f\x0c\xd7\x75\xb0\
+\x2c\x8b\x9e\x9e\x3e\xe6\xcf\x9f\xcf\xb1\xc7\x1e\x4b\x7f\x7f\x7f\
+\x23\x21\x8b\xc5\x62\xd8\xa5\x12\xb9\x6c\x16\xdf\x75\xa9\x06\x01\
+\x86\x10\xb8\x8e\x83\xd4\x35\xbf\x36\x4d\x13\xc7\xf5\xf1\x13\x3e\
+\xa9\x64\x92\x54\x3a\xdd\xa0\xdc\xfe\xfe\x7e\xe2\xf1\x38\xcb\x96\
+\x2d\xa3\xbb\xab\x8b\xf9\xf3\xe7\x63\x5b\x36\x2b\x4e\x58\x81\xeb\
+\xfa\x24\x12\x21\xae\x6b\x53\xad\x4a\x2c\xab\xc6\x8c\xad\xad\x2d\
+\x9c\xf8\xfd\x07\xb0\x66\x94\xa8\x17\x19\x86\x3e\xa6\x69\xe0\xba\
+\x0e\x42\x98\xf4\xf5\xf5\xd2\xda\xda\x8c\xd6\x1a\xcf\x73\x18\x1d\
+\x1d\x7b\x4d\x06\x6a\x9a\x26\xf1\x78\x1c\xa7\x1e\xec\x5a\x0d\x0b\
+\x8d\xc2\xb4\x6d\xb4\x52\x58\xa6\x85\x61\x1a\x28\xad\x89\xc5\x62\
+\xf8\xfb\x05\x43\xc7\x71\x58\x38\xb8\x90\xee\xee\x6e\x06\x06\x06\
+\x30\x0c\x83\x3d\x13\x7b\x88\x27\xe2\x38\xae\x87\x65\xb9\xf8\x7e\
+\x40\xb5\x6a\x60\x59\xaa\x6a\x18\x46\x30\x6b\x06\xf2\xf9\xc9\xfd\
+\x9f\x8b\x5a\x6b\x29\xa5\x32\x23\x25\x31\x30\x58\xbf\x7e\x03\x93\
+\x93\x7b\xa9\x56\x43\xf2\xb9\x12\xc3\xc3\xc3\x0c\x0f\x0f\xbf\x26\
+\x89\x0b\xc3\x90\x28\x0c\x51\x5a\x83\xd0\x68\x0d\x51\x18\xd6\xd8\
+\x16\x8d\x56\x1a\x19\x49\xa2\x28\x22\x92\x61\x63\xcf\x1c\x45\x11\
+\x2f\xbd\xf8\x12\x99\x4c\x86\x7c\xbe\x40\xa5\x5c\x65\xdb\xf6\xed\
+\x18\x86\xa0\xa7\xa7\x17\x88\x90\x52\x12\x49\x49\x5d\x37\x39\x0b\
+\x40\xb5\x3a\x0b\x10\x82\xda\xb4\xca\xaa\x04\xd3\xa4\xb7\xb7\x87\
+\xa6\x54\x9a\xcc\x78\x1e\x2f\xd6\xc4\x19\xa7\x9c\x4f\x66\x72\x84\
+\xf6\xae\xf6\x59\xfd\x94\x52\x48\xa5\x51\x52\x12\x4a\x09\x5a\xd7\
+\xf2\x25\xad\x88\x42\x89\x65\x59\x18\x86\x40\x29\x90\x91\x6a\xf4\
+\x93\x52\xd2\xd3\xdd\x43\x32\xd1\x4c\xca\x6f\x27\x95\x6c\xe2\x9c\
+\xb3\xde\x8e\x61\x47\x2c\x1c\x3c\x8c\x72\xb9\x8c\x0c\x25\x2a\x52\
+\x35\xfa\x65\x36\x9d\x59\x4a\x2a\x0e\x2c\x42\x40\x14\x19\x18\x26\
+\xac\x58\x7e\x12\x1b\x5f\xdd\xca\xaa\x77\xba\x3c\xb6\xe1\x93\x9c\
+\x7e\x69\x17\xe3\xeb\x17\x61\xdb\x26\x51\x24\x1b\x34\x1a\x45\x51\
+\x9d\xdb\xa9\xe5\x56\x68\x42\x29\x11\x40\x2c\xe6\x60\xdb\x26\xc5\
+\x52\x11\x21\xf4\x2c\x4a\x8d\xd9\x31\x56\xac\x38\x99\x1d\x3b\x86\
+\x59\x76\xaa\xc5\xc3\x2f\x7c\x82\x77\x7d\xf0\x78\x46\x5e\x71\x68\
+\xeb\x48\x53\xad\x56\x51\xb2\x36\x0b\x5a\xab\x48\xca\x3a\x87\x37\
+\x00\xa8\x83\x01\x10\x68\xad\xd0\x0a\xd6\x7e\xed\x76\xc6\x2b\xbf\
+\x66\xdd\xae\x02\xb9\xc9\x0a\x1d\xbd\x71\xba\xd3\x47\x91\x2c\x9f\
+\x86\x92\xef\x04\xab\xc6\xf1\x4a\x29\x0c\xc3\xa0\x54\x0e\xa8\x06\
+\x65\xb4\x10\xb8\x31\x17\xa9\x23\xa2\xa0\x40\x22\x9d\xe6\x9e\xbb\
+\xff\x9b\xe6\xe6\x66\x16\x2f\x5e\xdc\x48\xee\x82\x72\x95\x2f\x7e\
+\xfe\x8b\x58\x1d\x43\xac\x1b\xce\x92\x9d\xac\xd2\xbf\xa8\x99\x64\
+\x74\x34\xfd\x53\x17\x70\xe6\x99\x27\xa3\x54\x6d\x7c\xad\x15\x4a\
+\xcd\x8e\x27\x56\x24\xe5\x01\xea\xd7\xa2\xa9\x88\x04\x32\xaa\x72\
+\xcc\xa9\x5d\x58\xc9\xb7\x30\x3d\x26\x29\x49\x45\x67\x9b\x87\x34\
+\xf3\xa4\x5b\x72\x94\x4a\x65\x2c\xd3\x27\x0c\xc3\xba\x85\x34\x8e\
+\x63\x23\x50\xf5\x5c\x46\x63\x0a\x13\xd3\x71\x48\x24\x12\x44\x91\
+\x24\x0c\xab\x28\xa5\x08\xc3\xda\x3a\xa8\x04\x15\x4e\x38\xbb\x87\
+\xa6\xae\x5e\xf6\x8e\x54\xe9\x48\x2b\xfa\xd2\x29\x0a\xc1\x24\xa9\
+\xbe\x22\xd5\xa0\x8a\x22\x24\x92\x21\x5a\x83\x3e\xc0\xe0\x96\x9c\
+\x0d\x40\x23\x84\x16\xc2\xc0\xd2\x9a\xe9\x5c\x86\x74\x6c\x11\x56\
+\x60\xd3\xd5\xe7\x43\xaf\x40\x49\x49\xb9\x5c\x61\x7a\xe7\x38\x23\
+\x23\x3b\x58\xbc\x64\x31\x4a\xe9\xba\x0b\xd5\xd2\x0a\xa9\x14\x1a\
+\x81\x69\xd4\x56\x55\x35\x94\x4c\x4d\x4e\xf2\x9e\x2b\xaf\x64\xdb\
+\xb6\x2d\x14\x0a\x05\x92\xc9\x24\x86\x61\xb0\x77\x2a\x43\x8b\x73\
+\x24\x4d\xb2\x9d\xee\x01\x17\xa1\x05\x52\x2a\x5c\x59\x60\x72\x67\
+\x40\x2e\x9f\xc5\x8f\xbb\x44\x0a\xea\x08\x66\x03\x50\x2a\x9a\x05\
+\x40\x60\x6a\xc7\x4e\x61\x2a\x13\x37\x66\xb2\x6a\xd5\x59\xb5\x19\
+\xd9\x2f\xb5\xd1\x4a\x13\x54\x03\x92\xa9\x24\xe5\x72\x09\x29\x15\
+\x5a\xd7\x66\x40\x69\x8d\xd6\xa2\xee\xeb\xfb\xfa\x28\xa5\x50\x5a\
+\x11\x45\x8a\x28\xaa\xf9\x74\xa5\x52\xc1\x75\x3d\xce\x3f\xff\x5c\
+\x5c\xd7\x23\x66\x27\x70\x6d\x1f\x34\x28\xad\x29\x57\x0b\x98\x96\
+\xa8\xad\x03\x55\xff\x34\xc5\x01\x00\x84\x9e\xb5\xaf\x8f\x04\x82\
+\xd1\xec\xb3\x14\xc2\x3d\x2c\xec\x7c\x2b\xc7\x1c\x75\x0c\x95\xa0\
+\x42\x24\xc3\x5a\xe7\x3a\x2d\xd6\x7c\x52\x13\x04\x41\xed\x78\x24\
+\x8a\x40\xd7\x94\xd6\x5a\x02\x02\xa5\x34\x06\x46\x0d\x9c\x34\x90\
+\x68\x94\x92\x28\x55\x03\xa1\x94\xc2\xf7\x3d\x96\x2c\x59\x4a\x2a\
+\x91\x44\x03\xbf\x58\xff\x75\x4a\xd1\x18\x73\x5b\x8f\x67\x60\xee\
+\x69\x84\xc5\x90\xa9\xdc\x2e\x1a\x5f\xcb\xc4\x01\x00\xd6\x3e\xf8\
+\xe1\xc6\xc3\x49\xc7\xae\xec\xaa\xca\xb2\xf9\xca\xce\x27\x08\xaa\
+\x65\x9e\x4e\xde\xc5\x85\x27\x5d\xcf\xa2\xee\xd3\x29\x4a\x81\x69\
+\x58\x28\x29\xa9\xaa\x12\x5a\x29\x22\xa9\x80\x1a\x5d\x46\x51\xcd\
+\x6d\xb4\xd6\x48\x29\xeb\x44\x20\xd0\x86\x26\x8a\x14\x42\xc8\xda\
+\x34\xea\x9a\xbb\xc9\x48\x22\x95\xc2\x34\x2d\x7c\x27\xc9\xe6\xd1\
+\x75\x3c\xfe\xdb\x9b\x19\x1e\xdd\x4e\x21\x1f\x60\xc5\xee\x61\xc9\
+\x82\x63\x58\xb9\xe4\x1f\xf1\xec\x56\x8a\xc1\x24\x5a\x4b\x69\xd9\
+\x7a\x96\xcb\x98\xa7\x9c\x33\xd0\xa8\x6b\x3b\x77\xd7\xff\xfc\xf2\
+\x17\xfd\x7b\x46\x4a\xbc\xfa\xdc\x14\x41\x35\x60\x4b\xe6\x27\x74\
+\xb6\x1c\xc6\xdc\xae\x45\xec\x9c\xf8\x2d\x91\xa8\x90\xb0\x3a\x09\
+\xa5\x42\xc9\xa0\xc1\x40\x61\x18\x12\x45\x61\xe3\x60\xd7\xb6\x6d\
+\xa2\x28\x42\x08\x8d\xeb\x39\x38\x31\x87\x48\x46\x64\xb3\x59\x7c\
+\xcf\x23\x16\x73\x10\x98\x24\xbd\x56\x0a\xd5\x31\xbe\x7c\xef\x7b\
+\x79\xf2\xb1\xdf\x92\xcb\x58\x64\x76\x56\xc9\x8c\x06\xd8\xc9\x0a\
+\xeb\x77\xfd\x84\x81\xb6\x13\x49\xfb\x73\xa9\x84\x85\xa2\x6d\xf3\
+\x65\x21\x44\x65\x26\x0d\x31\x17\x2c\x6d\xa3\x90\xab\x52\xc8\x55\
+\xff\x62\xcf\x78\xf6\x9a\xa1\x0d\x7b\x69\xeb\x6c\xc1\x36\x2d\x0a\
+\xd3\x21\x8e\x1b\x63\xfb\xf8\x0b\x8c\xe5\x5f\xe6\xde\xc7\xff\x83\
+\x75\x2f\xde\x8d\xb2\xf3\x1c\x39\x70\x36\x7e\x3c\x81\xe3\xc6\x70\
+\x9c\x18\x33\x74\x6c\xc6\x5c\x64\x14\x22\x23\x89\x30\x05\x02\x03\
+\x59\xe7\x71\x29\x35\xd5\xa0\x42\x2a\x99\xa2\xad\xa5\x9b\x98\xe9\
+\x10\x18\x53\xdc\xf3\xe8\x8d\x3c\xf0\xbd\x1f\x11\x64\x7d\xba\xe7\
+\xb6\x92\x48\xbb\xe4\x27\xab\x18\x22\xc6\xae\xdd\x23\xc4\x5b\x02\
+\xe2\xe9\x18\xd5\x20\x28\xba\x31\xf7\x73\x1a\x2d\x6b\x79\xae\xc6\
+\x8a\xa2\x06\x0b\x1d\x97\x9f\xaa\x52\x99\x14\x64\x86\x0b\x94\xf2\
+\x01\xed\x7d\x29\xf6\x0c\x4b\x3c\xb7\xcc\x77\xbe\x7b\x37\x84\x16\
+\x41\x50\x45\xf2\x2d\xca\x41\x99\xc1\xf4\x65\x94\x2b\xd3\x84\x51\
+\x95\x8e\x8e\x8e\x5a\x04\x57\x1a\xa5\xd5\x7e\xdb\xb4\xba\x38\x51\
+\x7b\x15\x45\x8a\xf1\xb1\x3d\x0c\x0f\x8f\xb0\x7e\xf2\x4e\x9e\xfb\
+\xdd\x13\xb4\xb5\x76\x30\xb8\x70\x31\x9b\x7f\x93\x61\x6c\x53\x9e\
+\xa0\x1c\x91\x6e\xf5\xd9\xbd\x25\xcb\xb2\x13\x16\x30\x9c\x59\xcf\
+\x63\x4f\x3e\x44\xff\xbc\x85\xad\x4b\x16\x1d\xfe\xfe\x3d\x93\x63\
+\xb7\xce\x8c\x2e\xce\x7b\xf7\xe0\x4c\xfd\x9a\x74\xb3\xff\x85\x89\
+\x2d\x05\x2a\xd9\x88\x78\x73\x8c\x30\x50\x74\xcc\x4d\x62\x26\x43\
+\x36\x3f\x9f\xa1\xb5\x2b\x8e\xe3\xda\x98\x7e\x8d\x15\x5e\xf9\x99\
+\x4d\xb1\x5c\x22\x91\xf0\xf8\xe8\x47\x3f\x8a\xe7\x79\x04\xc1\xec\
+\xd4\x64\xff\x22\x84\xc0\x71\x1c\xf6\x8e\xe7\xb8\xfb\xd1\xcf\x11\
+\x39\x43\xa4\xdc\x2e\xe2\xc9\x38\x8b\x8e\xec\x63\xc3\xba\x31\x76\
+\xbc\xba\x97\xce\x81\x14\xa6\xb4\x30\x1d\x83\xfe\xa3\x9b\xd8\xba\
+\x61\x1c\x3f\xee\x10\x4b\x40\x4f\x6f\x1b\x73\xe7\x76\x1f\x03\xbc\
+\x00\x20\x8e\x3f\xa2\x71\xd0\xd4\x61\xa4\xe4\x8f\x5b\xbb\xdc\xa3\
+\xab\x95\x88\x20\x90\x54\x72\x21\xc5\x52\x55\x37\xf7\x79\xa1\x6d\
+\xa8\x58\x76\xb2\x8c\x6b\x39\x64\x4b\x25\xda\x3a\xba\x33\xf9\xf1\
+\xe6\xe7\x64\x14\xd8\x7e\xdc\xb7\x07\x07\x07\x53\x52\xca\x99\x0d\
+\xf3\xeb\x15\x6d\x88\x98\xda\x39\xf6\x82\x59\x8c\xb6\x1d\x55\x9e\
+\x96\xb8\xbe\x81\xe9\xc6\x54\xd2\x73\x8d\x72\x58\xa6\x52\x8c\xb0\
+\x89\x11\x4a\x45\xcb\x1c\x07\x59\x88\x81\x12\x34\xb7\x24\xb1\x53\
+\x06\xdd\x5d\xed\x27\x02\xbf\x82\xd9\x67\xa3\x13\x97\xbc\xe3\x43\
+\x2b\x0b\xc5\xa9\xf7\x8d\xee\xd9\xba\x4c\x45\x86\xf2\x9c\x44\xee\
+\xa4\xe5\x67\xaf\x4b\x37\x37\x95\x36\x6c\x7e\xe6\x92\x5d\xa3\x3b\
+\xfa\xa3\x00\x96\x2e\x3e\x6e\x68\xd9\xb2\x15\xeb\x6c\xcb\x9b\x06\
+\x6d\x6b\xad\x0d\x29\x65\x6d\x53\xfc\x47\x00\x00\xb4\x10\xa6\x31\
+\x35\x3d\x7c\x7c\xae\xb0\xb7\x45\x47\x66\xb9\xad\xbd\x77\x7d\x21\
+\x9f\xf7\xa7\x73\x13\x29\x21\x08\x64\x24\x72\xad\x4d\x1d\xaf\x3e\
+\xfd\xdc\x8f\xcf\x7f\x69\xfd\x53\x57\x46\x81\xb6\x46\xb7\xe5\x02\
+\xaf\xd5\xbc\x6b\xf7\xce\xa9\xc6\x77\xb5\x03\x0f\x77\x33\xc0\x8d\
+\x07\x4a\x7c\xdb\xdb\x2e\x32\xde\xc6\x45\x0f\x03\x1e\x60\xd7\xfb\
+\x25\x00\xb7\x5e\xb7\x01\xb3\x7e\x19\xf5\xeb\x40\x20\xaa\xae\xbc\
+\xac\xd7\x23\x38\xf1\x19\x6a\xa7\xcf\xf5\x20\x43\xa5\x7e\x55\x6f\
+\xff\xc6\x2d\x33\x84\xff\xa3\x35\x37\xdc\xf5\x6f\x77\x7c\xf7\xcb\
+\xb1\x67\x9f\xf9\x4d\x19\x82\xf1\xfd\x07\xfd\x63\xbf\xd0\xcc\x0c\
+\x56\x3c\x00\xec\x81\xe5\x60\x5f\x46\xf6\x2f\xfa\x80\xfb\x1f\x5b\
+\x76\xff\xbe\x3f\xfe\x17\xc5\x37\x77\xd8\xac\xb5\xda\x4f\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x6b\x7f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x37\x34\
+\x34\x2e\x30\x39\x34\x34\x38\x38\x31\x39\x22\x0a\x20\x20\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x35\x32\x2e\x33\x36\x32\x32\
+\x30\x34\x37\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x33\
+\x31\x32\x36\x22\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\
+\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x37\x70\
+\x72\x65\x31\x20\x72\x32\x31\x37\x32\x30\x22\x0a\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\x6f\x63\x6e\x61\x6d\x65\x3d\
+\x22\x4e\x65\x77\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x20\x36\x22\
+\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x6f\x75\x74\
+\x70\x75\x74\x5f\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x3d\x22\x6f\
+\x72\x67\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x75\x74\x70\
+\x75\x74\x2e\x73\x76\x67\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\
+\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x64\x65\x66\x73\x33\x31\x32\x38\x22\x3e\x0a\x20\x20\
+\x20\x20\x3c\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\
+\x70\x65\x63\x74\x69\x76\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x76\x70\x5f\x78\x3d\x22\x30\x20\x3a\x20\x35\x32\x36\x2e\x31\x38\
+\x31\x30\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\
+\x20\x3a\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\
+\x7a\x3d\x22\x37\x34\x34\x2e\x30\x39\x34\x34\x38\x20\x3a\x20\x35\
+\x32\x36\x2e\x31\x38\x31\x30\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\
+\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x33\x37\
+\x32\x2e\x30\x34\x37\x32\x34\x20\x3a\x20\x33\x35\x30\x2e\x37\x38\
+\x37\x33\x39\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x33\
+\x31\x33\x34\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\
+\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x65\x72\
+\x73\x70\x65\x63\x74\x69\x76\x65\x33\x30\x37\x30\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\
+\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x30\x2e\
+\x35\x20\x3a\x20\x30\x2e\x33\x33\x33\x33\x33\x33\x33\x33\x20\x3a\
+\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x76\x70\x5f\x7a\x3d\x22\x31\x20\x3a\x20\x30\x2e\
+\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\x20\x3a\
+\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\
+\x22\x30\x20\x3a\x20\x30\x2e\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\
+\x73\x70\x33\x64\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x74\x65\x72\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x73\x74\x6f\x63\x6b\x69\x64\x3d\x22\x53\
+\x74\x72\x69\x70\x65\x73\x20\x31\x3a\x31\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x53\x74\x72\x69\x70\x73\x31\x5f\x31\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x74\x65\x72\x6e\
+\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\
+\x78\x28\x32\x30\x2e\x34\x37\x30\x36\x32\x36\x2c\x33\x35\x2e\x34\
+\x35\x36\x31\x36\x33\x2c\x2d\x33\x35\x2e\x34\x35\x36\x31\x36\x33\
+\x2c\x32\x30\x2e\x34\x37\x30\x36\x32\x36\x2c\x30\x2c\x30\x29\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\
+\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3d\
+\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x74\x65\
+\x72\x6e\x55\x6e\x69\x74\x73\x3d\x22\x75\x73\x65\x72\x53\x70\x61\
+\x63\x65\x4f\x6e\x55\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\
+\x3d\x22\x61\x6c\x77\x61\x79\x73\x22\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x72\x65\x63\x74\x35\x30\x39\x38\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x32\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\
+\x3d\x22\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x79\x3d\
+\x22\x2d\x30\x2e\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x62\x6c\x61\x63\x6b\
+\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x3c\x2f\x70\x61\x74\x74\x65\x72\x6e\x3e\x0a\
+\x20\x20\x20\x20\x3c\x66\x69\x6c\x74\x65\x72\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x63\x6f\x6c\x6f\x72\x2d\x69\x6e\x74\x65\x72\x70\x6f\
+\x6c\x61\x74\x69\x6f\x6e\x2d\x66\x69\x6c\x74\x65\x72\x73\x3d\x22\
+\x73\x52\x47\x42\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\
+\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x66\x69\x6c\x74\x65\x72\x35\x38\x35\x34\x22\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x3c\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\
+\x42\x6c\x75\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\
+\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x64\x44\x65\x76\x69\x61\x74\x69\x6f\x6e\x3d\x22\x31\
+\x2e\x37\x36\x30\x30\x38\x36\x35\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x66\x65\x47\x61\x75\x73\x73\x69\x61\
+\x6e\x42\x6c\x75\x72\x35\x38\x35\x36\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x66\x69\x6c\x74\x65\x72\x3e\x0a\x20\x20\x20\x20\
+\x3c\x66\x69\x6c\x74\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x20\x63\
+\x6f\x6c\x6f\x72\x2d\x69\x6e\x74\x65\x72\x70\x6f\x6c\x61\x74\x69\
+\x6f\x6e\x2d\x66\x69\x6c\x74\x65\x72\x73\x3d\x22\x73\x52\x47\x42\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\x6c\x77\x61\x79\
+\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x66\x69\
+\x6c\x74\x65\x72\x34\x33\x37\x34\x22\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\x42\x6c\x75\x72\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\x22\x61\x6c\x77\x61\
+\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x64\
+\x44\x65\x76\x69\x61\x74\x69\x6f\x6e\x3d\x22\x34\x2e\x31\x39\x30\
+\x31\x37\x30\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x66\x65\x47\x61\x75\x73\x73\x69\x61\x6e\x42\x6c\x75\
+\x72\x34\x33\x37\x36\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\
+\x66\x69\x6c\x74\x65\x72\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\
+\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\
+\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x62\x61\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x70\x61\x67\x65\
+\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\x66\x66\x66\x66\x66\x22\x0a\
+\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\
+\x3d\x22\x23\x36\x36\x36\x36\x36\x36\x22\x0a\x20\x20\x20\x20\x20\
+\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\
+\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x70\x61\x67\x65\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x30\
+\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x70\x61\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\
+\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\
+\x6f\x6f\x6d\x3d\x22\x30\x2e\x33\x35\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x78\x3d\x22\x33\x37\x35\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x63\x79\x3d\x22\x39\x38\x37\x2e\x35\x37\x34\x36\x33\x22\x0a\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x6f\x63\
+\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\x70\x78\x22\
+\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\
+\x75\x72\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\
+\x79\x65\x72\x31\x22\x0a\x20\x20\x20\x20\x20\x73\x68\x6f\x77\x67\
+\x72\x69\x64\x3d\x22\x66\x61\x6c\x73\x65\x22\x0a\x20\x20\x20\x20\
+\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\
+\x2d\x77\x69\x64\x74\x68\x3d\x22\x39\x31\x39\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\
+\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x39\x33\x22\x0a\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\
+\x64\x6f\x77\x2d\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x79\
+\x3d\x22\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x6d\x61\x78\x69\x6d\
+\x69\x7a\x65\x64\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x6d\
+\x65\x74\x61\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x6d\x65\x74\x61\x64\x61\x74\x61\x33\x31\x33\x31\x22\x3e\x0a\
+\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\
+\x22\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\
+\x66\x6f\x72\x6d\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\
+\x2b\x78\x6d\x6c\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x79\x70\
+\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\
+\x3a\x72\x65\x73\x6f\x75\x72\x63\x65\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x64\x63\
+\x6d\x69\x74\x79\x70\x65\x2f\x53\x74\x69\x6c\x6c\x49\x6d\x61\x67\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\
+\x63\x3a\x74\x69\x74\x6c\x65\x3e\x3c\x2f\x64\x63\x3a\x74\x69\x74\
+\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\x63\x3a\x57\
+\x6f\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\
+\x44\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\
+\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\
+\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\
+\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\
+\x79\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x36\x30\x33\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\
+\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x37\x32\x35\x30\x34\
+\x31\x39\x2c\x30\x2c\x30\x2c\x32\x2e\x33\x31\x32\x39\x30\x36\x35\
+\x2c\x2d\x34\x31\x35\x37\x2e\x35\x33\x30\x31\x2c\x2d\x36\x31\x35\
+\x37\x2e\x39\x35\x37\x39\x29\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x67\x35\x38\x39\x38\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x32\x34\
+\x32\x34\x32\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\
+\x7a\x65\x72\x6f\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\
+\x2e\x32\x30\x30\x30\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\
+\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\
+\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\
+\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\
+\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x36\x33\x39\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x63\x79\x3d\x22\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\
+\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x38\x38\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x2d\x31\x37\
+\x39\x32\x2c\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x20\x63\x20\
+\x30\x2c\x34\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\x33\x39\x33\
+\x2e\x39\x38\x39\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\x30\x2c\x38\
+\x38\x30\x20\x2d\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\x2d\
+\x38\x38\x30\x2c\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\x32\x20\x2d\
+\x38\x38\x30\x2c\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\x38\x36\x2e\
+\x30\x31\x30\x35\x38\x20\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x2d\
+\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x38\x38\x30\x2c\x2d\x38\
+\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x34\x38\x36\x2e\x30\x31\x30\
+\x36\x2c\x30\x20\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\x38\x39\x34\
+\x20\x38\x38\x30\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x30\
+\x2e\x31\x36\x38\x38\x39\x32\x35\x2c\x30\x2e\x31\x30\x38\x30\x30\
+\x31\x2c\x2d\x30\x2e\x31\x30\x38\x30\x30\x31\x2c\x30\x2e\x31\x36\
+\x38\x38\x39\x32\x35\x2c\x32\x39\x37\x36\x2e\x38\x30\x35\x32\x2c\
+\x33\x33\x31\x35\x2e\x38\x35\x38\x36\x29\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x30\x2e\x31\x34\x35\x35\
+\x39\x37\x2c\x30\x2e\x30\x39\x33\x31\x30\x34\x32\x39\x2c\x2d\x30\
+\x2e\x30\x39\x33\x31\x30\x34\x32\x39\x2c\x30\x2e\x31\x34\x35\x35\
+\x39\x37\x2c\x32\x39\x32\x34\x2e\x33\x38\x36\x32\x2c\x33\x32\x36\
+\x30\x2e\x36\x38\x37\x39\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x2d\x31\x37\x39\x32\x2c\x2d\
+\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x20\x63\x20\x30\x2c\x34\x38\
+\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\x33\x39\x33\x2e\x39\x38\x39\
+\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\x30\x2c\x38\x38\x30\x20\x2d\
+\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\x2d\x38\x38\x30\x2c\
+\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\x32\x20\x2d\x38\x38\x30\x2c\
+\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\x38\x36\x2e\x30\x31\x30\x35\
+\x38\x20\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x2d\x38\x37\x39\x2e\
+\x39\x39\x39\x39\x38\x20\x38\x38\x30\x2c\x2d\x38\x37\x39\x2e\x39\
+\x39\x39\x39\x38\x20\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\x30\x20\
+\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\x38\x39\x34\x20\x38\x38\x30\
+\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\
+\x78\x3d\x22\x38\x38\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\
+\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x36\
+\x34\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x38\x31\x38\x31\
+\x38\x31\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\
+\x65\x72\x6f\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\x2e\
+\x32\x30\x30\x30\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\x3a\
+\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\
+\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\
+\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\
+\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\
+\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\
+\x2e\x31\x38\x33\x39\x39\x39\x39\x39\x3b\x66\x69\x6c\x6c\x3a\x75\
+\x72\x6c\x28\x23\x53\x74\x72\x69\x70\x73\x31\x5f\x31\x29\x3b\x66\
+\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\
+\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x31\x2e\x32\x30\x30\x30\
+\x30\x30\x37\x36\x3b\x6d\x61\x72\x6b\x65\x72\x3a\x6e\x6f\x6e\x65\
+\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\x76\x69\x73\x69\
+\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x69\x6e\x6c\x69\
+\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\x76\x69\x73\x69\
+\x62\x6c\x65\x3b\x66\x69\x6c\x74\x65\x72\x3a\x75\x72\x6c\x28\x23\
+\x66\x69\x6c\x74\x65\x72\x35\x38\x35\x34\x29\x3b\x65\x6e\x61\x62\
+\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\
+\x63\x75\x6d\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x35\x38\x31\
+\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x63\x78\x3d\x22\x2d\x32\x36\x37\x32\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\x2d\x36\x35\x39\x2e\x36\
+\x33\x37\x38\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x38\x38\
+\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x72\x79\x3d\x22\x38\x38\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\
+\x2d\x31\x37\x39\x32\x2c\x2d\x36\x35\x39\x2e\x36\x33\x37\x38\x32\
+\x20\x63\x20\x30\x2c\x34\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x2d\
+\x33\x39\x33\x2e\x39\x38\x39\x34\x2c\x38\x38\x30\x20\x2d\x38\x38\
+\x30\x2c\x38\x38\x30\x20\x2d\x34\x38\x36\x2e\x30\x31\x30\x36\x2c\
+\x30\x20\x2d\x38\x38\x30\x2c\x2d\x33\x39\x33\x2e\x39\x38\x39\x34\
+\x32\x20\x2d\x38\x38\x30\x2c\x2d\x38\x38\x30\x20\x30\x2c\x2d\x34\
+\x38\x36\x2e\x30\x31\x30\x35\x38\x20\x33\x39\x33\x2e\x39\x38\x39\
+\x34\x2c\x2d\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x38\x38\x30\
+\x2c\x2d\x38\x37\x39\x2e\x39\x39\x39\x39\x38\x20\x34\x38\x36\x2e\
+\x30\x31\x30\x36\x2c\x30\x20\x38\x38\x30\x2c\x33\x39\x33\x2e\x39\
+\x38\x39\x34\x20\x38\x38\x30\x2c\x38\x37\x39\x2e\x39\x39\x39\x39\
+\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\
+\x78\x28\x30\x2e\x31\x34\x39\x36\x30\x39\x38\x2c\x30\x2e\x30\x38\
+\x36\x35\x30\x38\x39\x35\x2c\x2d\x30\x2e\x30\x38\x36\x35\x30\x38\
+\x39\x35\x2c\x30\x2e\x31\x34\x39\x36\x30\x39\x38\x2c\x32\x39\x33\
+\x39\x2e\x34\x35\x39\x2c\x33\x32\x34\x35\x2e\x37\x31\x32\x32\x29\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\
+\x72\x69\x78\x28\x31\x2e\x31\x31\x34\x34\x38\x35\x37\x2c\x30\x2c\
+\x30\x2c\x31\x2e\x31\x31\x34\x34\x38\x35\x37\x2c\x2d\x33\x31\x37\
+\x2e\x39\x33\x34\x39\x36\x2c\x2d\x38\x37\x35\x2e\x37\x31\x36\x33\
+\x38\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x67\x35\x38\x35\x38\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\
+\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
+\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\
+\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\
+\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\
+\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\
+\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\
+\x6e\x65\x3b\x66\x69\x6c\x74\x65\x72\x3a\x75\x72\x6c\x28\x23\x66\
+\x69\x6c\x74\x65\x72\x34\x33\x37\x34\x29\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x34\x31\
+\x2e\x38\x34\x33\x38\x2c\x33\x31\x39\x39\x2e\x31\x35\x36\x32\x20\
+\x63\x20\x2d\x32\x30\x2e\x30\x38\x33\x37\x2c\x2d\x30\x2e\x30\x37\
+\x34\x20\x2d\x32\x33\x2e\x34\x36\x30\x37\x2c\x31\x32\x2e\x37\x38\
+\x36\x35\x20\x2d\x33\x35\x2e\x39\x36\x38\x38\x2c\x31\x32\x2e\x39\
+\x36\x38\x38\x20\x2d\x31\x33\x2e\x38\x30\x32\x2c\x30\x2e\x32\x30\
+\x31\x20\x2d\x31\x37\x2e\x33\x33\x37\x36\x2c\x2d\x31\x34\x2e\x38\
+\x32\x31\x31\x20\x2d\x34\x32\x2e\x35\x2c\x2d\x31\x30\x2e\x37\x35\
+\x20\x2d\x31\x38\x2e\x31\x37\x39\x32\x2c\x35\x2e\x38\x38\x38\x39\
+\x20\x2d\x32\x33\x2e\x35\x38\x35\x33\x2c\x31\x38\x2e\x33\x37\x30\
+\x38\x20\x2d\x32\x34\x2e\x36\x32\x35\x2c\x33\x33\x2e\x31\x32\x35\
+\x20\x2d\x30\x2e\x31\x36\x38\x36\x2c\x30\x2e\x30\x33\x32\x20\x2d\
+\x30\x2e\x33\x32\x39\x37\x2c\x30\x2e\x30\x35\x39\x20\x2d\x30\x2e\
+\x35\x2c\x30\x2e\x30\x39\x34\x20\x6c\x20\x2d\x31\x2e\x31\x32\x35\
+\x2c\x31\x31\x2e\x36\x35\x36\x32\x20\x63\x20\x30\x2e\x34\x39\x38\
+\x31\x2c\x2d\x30\x2e\x31\x39\x37\x33\x20\x31\x2e\x30\x33\x39\x39\
+\x2c\x2d\x30\x2e\x33\x37\x34\x31\x20\x31\x2e\x35\x36\x32\x35\x2c\
+\x2d\x30\x2e\x35\x33\x31\x32\x20\x30\x2e\x34\x39\x38\x34\x2c\x31\
+\x33\x2e\x31\x31\x30\x37\x20\x32\x2e\x35\x37\x39\x31\x2c\x32\x37\
+\x2e\x30\x35\x32\x31\x20\x31\x2e\x33\x31\x32\x35\x2c\x33\x39\x2e\
+\x32\x35\x20\x2d\x30\x2e\x31\x33\x33\x38\x2c\x30\x2e\x30\x33\x38\
+\x20\x2d\x30\x2e\x32\x37\x33\x2c\x30\x2e\x30\x35\x34\x20\x2d\x30\
+\x2e\x34\x30\x36\x32\x2c\x30\x2e\x30\x39\x34\x20\x2d\x39\x2e\x36\
+\x38\x32\x2c\x32\x2e\x38\x34\x37\x31\x20\x2d\x31\x35\x2e\x30\x33\
+\x37\x2c\x31\x33\x2e\x33\x39\x36\x37\x20\x2d\x31\x39\x2e\x31\x38\
+\x37\x36\x2c\x32\x32\x2e\x37\x35\x20\x2d\x30\x2e\x37\x34\x33\x33\
+\x2c\x30\x2e\x39\x32\x38\x31\x20\x2d\x31\x2e\x34\x37\x31\x37\x2c\
+\x31\x2e\x39\x31\x31\x32\x20\x2d\x32\x2e\x31\x35\x36\x32\x2c\x32\
+\x2e\x39\x36\x38\x37\x20\x2d\x31\x2e\x30\x33\x33\x31\x2c\x30\x2e\
+\x32\x33\x30\x37\x20\x2d\x32\x2e\x30\x35\x32\x39\x2c\x30\x2e\x34\
+\x35\x35\x39\x20\x2d\x33\x2e\x34\x30\x36\x32\x2c\x30\x2e\x37\x35\
+\x20\x6c\x20\x30\x2e\x37\x31\x38\x37\x2c\x32\x2e\x31\x38\x37\x36\
+\x20\x63\x20\x2d\x33\x2e\x30\x31\x31\x39\x2c\x31\x2e\x36\x30\x36\
+\x35\x20\x2d\x36\x2e\x33\x37\x31\x2c\x33\x2e\x36\x39\x30\x36\x20\
+\x2d\x39\x2e\x32\x31\x38\x37\x2c\x36\x2e\x33\x31\x32\x34\x20\x2d\
+\x39\x2e\x37\x31\x39\x32\x2c\x39\x2e\x38\x33\x36\x35\x20\x2d\x32\
+\x31\x2e\x33\x39\x33\x2c\x32\x39\x2e\x31\x38\x31\x35\x20\x2d\x31\
+\x33\x2e\x35\x39\x33\x38\x2c\x33\x37\x2e\x38\x31\x32\x36\x20\x33\
+\x2e\x36\x30\x37\x31\x2c\x35\x2e\x31\x33\x37\x20\x35\x2e\x35\x35\
+\x30\x32\x2c\x38\x2e\x32\x38\x39\x31\x20\x39\x2e\x39\x33\x37\x35\
+\x2c\x31\x34\x2e\x34\x36\x38\x37\x20\x2d\x30\x2e\x35\x39\x34\x34\
+\x2c\x30\x2e\x32\x30\x38\x34\x20\x2d\x31\x2e\x31\x39\x33\x33\x2c\
+\x30\x2e\x33\x39\x35\x31\x20\x2d\x31\x2e\x38\x31\x32\x35\x2c\x30\
+\x2e\x35\x36\x32\x35\x20\x32\x2e\x37\x34\x39\x39\x2c\x38\x2e\x31\
+\x36\x39\x33\x20\x39\x2e\x39\x30\x33\x31\x2c\x31\x33\x2e\x37\x39\
+\x32\x34\x20\x31\x38\x2e\x32\x31\x38\x38\x2c\x31\x38\x2e\x37\x38\
+\x31\x32\x20\x30\x2e\x36\x36\x33\x39\x2c\x31\x31\x2e\x33\x39\x31\
+\x35\x20\x33\x2e\x32\x37\x36\x31\x2c\x32\x34\x2e\x34\x38\x32\x20\
+\x39\x2e\x36\x35\x36\x32\x2c\x34\x30\x2e\x38\x37\x35\x20\x2d\x31\
+\x31\x2e\x33\x35\x36\x38\x2c\x32\x32\x2e\x32\x37\x39\x35\x20\x2d\
+\x31\x39\x2e\x33\x30\x37\x35\x2c\x35\x35\x2e\x36\x35\x31\x35\x20\
+\x2d\x31\x39\x2e\x35\x39\x33\x38\x2c\x37\x33\x2e\x38\x31\x32\x36\
+\x20\x30\x2e\x30\x33\x39\x2c\x30\x2e\x30\x32\x34\x20\x30\x2e\x30\
+\x38\x36\x2c\x30\x2e\x30\x33\x38\x20\x30\x2e\x31\x32\x35\x2c\x30\
+\x2e\x30\x36\x32\x20\x6c\x20\x30\x2e\x38\x34\x33\x38\x2c\x34\x35\
+\x2e\x37\x31\x38\x38\x20\x63\x20\x36\x2e\x39\x30\x32\x34\x2c\x32\
+\x33\x2e\x36\x32\x31\x35\x20\x31\x38\x2e\x38\x32\x34\x38\x2c\x39\
+\x2e\x37\x32\x33\x31\x20\x32\x33\x2e\x35\x2c\x2d\x31\x2e\x37\x35\
+\x20\x6c\x20\x34\x2e\x37\x31\x38\x38\x2c\x2d\x34\x33\x2e\x37\x38\
+\x31\x32\x20\x63\x20\x30\x2e\x31\x32\x38\x33\x2c\x2d\x30\x2e\x30\
+\x38\x34\x20\x30\x2e\x32\x34\x36\x2c\x2d\x30\x2e\x31\x36\x33\x37\
+\x20\x30\x2e\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\x20\x32\x2e\x36\
+\x33\x31\x39\x2c\x2d\x39\x2e\x37\x30\x35\x38\x20\x35\x2e\x37\x35\
+\x35\x37\x2c\x2d\x31\x38\x2e\x34\x31\x32\x35\x20\x39\x2e\x31\x32\
+\x35\x2c\x2d\x32\x35\x2e\x39\x36\x38\x38\x20\x31\x33\x2e\x35\x31\
+\x32\x35\x2c\x31\x34\x2e\x37\x36\x39\x34\x20\x36\x2e\x37\x33\x32\
+\x39\x2c\x33\x30\x2e\x34\x38\x37\x36\x20\x31\x37\x2e\x35\x33\x31\
+\x32\x2c\x34\x37\x20\x6c\x20\x31\x36\x2c\x32\x34\x20\x63\x20\x30\
+\x2e\x39\x31\x34\x35\x2c\x2d\x36\x2e\x32\x33\x33\x39\x20\x32\x2e\
+\x37\x35\x36\x37\x2c\x2d\x31\x31\x2e\x30\x38\x37\x34\x20\x35\x2e\
+\x32\x38\x31\x32\x2c\x2d\x31\x34\x2e\x39\x30\x36\x32\x20\x33\x2e\
+\x30\x34\x32\x32\x2c\x2d\x33\x2e\x32\x35\x35\x31\x20\x36\x2e\x33\
+\x38\x36\x39\x2c\x2d\x36\x2e\x30\x37\x35\x33\x20\x38\x2e\x39\x33\
+\x37\x36\x2c\x2d\x38\x2e\x34\x36\x38\x38\x20\x36\x2e\x30\x33\x35\
+\x36\x2c\x2d\x33\x2e\x36\x38\x39\x20\x31\x33\x2e\x32\x39\x30\x36\
+\x2c\x2d\x35\x2e\x35\x32\x34\x37\x20\x32\x30\x2e\x36\x35\x36\x32\
+\x2c\x2d\x37\x2e\x32\x31\x38\x38\x20\x36\x2e\x33\x39\x39\x34\x2c\
+\x31\x34\x2e\x32\x38\x33\x36\x20\x31\x32\x2e\x37\x39\x34\x37\x2c\
+\x32\x38\x2e\x36\x39\x31\x34\x20\x32\x33\x2e\x37\x31\x38\x38\x2c\
+\x33\x37\x2e\x30\x33\x31\x33\x20\x31\x39\x2e\x36\x37\x39\x31\x2c\
+\x31\x33\x2e\x31\x39\x37\x32\x20\x32\x31\x2e\x39\x36\x38\x39\x2c\
+\x2d\x33\x2e\x36\x38\x30\x35\x20\x31\x39\x2e\x35\x33\x31\x32\x2c\
+\x2d\x31\x35\x2e\x34\x30\x36\x33\x20\x2d\x31\x2e\x37\x32\x37\x2c\
+\x2d\x31\x32\x2e\x37\x38\x30\x35\x20\x2d\x35\x2e\x36\x38\x34\x32\
+\x2c\x2d\x32\x33\x2e\x34\x37\x39\x33\x20\x2d\x31\x30\x2e\x34\x36\
+\x38\x38\x2c\x2d\x33\x33\x2e\x34\x30\x36\x32\x20\x31\x35\x2e\x37\
+\x31\x30\x35\x2c\x2d\x31\x32\x2e\x38\x31\x37\x39\x20\x33\x35\x2e\
+\x33\x35\x34\x2c\x2d\x38\x2e\x35\x31\x37\x36\x20\x35\x34\x2e\x33\
+\x34\x33\x38\x2c\x2d\x37\x2e\x31\x32\x35\x20\x31\x35\x2e\x35\x31\
+\x39\x37\x2c\x31\x2e\x39\x35\x38\x32\x20\x33\x30\x2e\x38\x37\x39\
+\x33\x2c\x34\x2e\x31\x34\x33\x32\x20\x36\x32\x2c\x2d\x31\x36\x20\
+\x36\x2e\x39\x37\x38\x2c\x2d\x36\x2e\x36\x36\x36\x38\x20\x31\x32\
+\x2e\x31\x30\x36\x35\x2c\x2d\x31\x33\x2e\x33\x33\x33\x33\x20\x33\
+\x34\x2e\x35\x2c\x2d\x32\x30\x20\x39\x2e\x38\x35\x32\x38\x2c\x2d\
+\x32\x2e\x34\x31\x32\x31\x20\x31\x33\x2e\x31\x39\x34\x35\x2c\x2d\
+\x31\x35\x2e\x36\x37\x35\x39\x20\x31\x39\x2e\x35\x2c\x2d\x32\x34\
+\x20\x2d\x32\x33\x2e\x30\x39\x37\x39\x2c\x2d\x32\x32\x2e\x31\x31\
+\x30\x35\x20\x2d\x34\x38\x2e\x30\x38\x35\x33\x2c\x2d\x32\x36\x2e\
+\x34\x38\x38\x37\x20\x2d\x37\x34\x2e\x35\x36\x32\x35\x2c\x2d\x32\
+\x34\x2e\x32\x31\x38\x38\x20\x2d\x32\x38\x2e\x35\x31\x37\x34\x2c\
+\x32\x2e\x34\x34\x35\x20\x2d\x34\x39\x2e\x39\x38\x34\x38\x2c\x2d\
+\x31\x36\x2e\x33\x35\x32\x31\x20\x2d\x36\x38\x2e\x32\x31\x38\x37\
+\x2c\x2d\x34\x37\x2e\x31\x38\x37\x34\x20\x36\x2e\x31\x39\x32\x39\
+\x2c\x2d\x35\x2e\x38\x38\x36\x36\x20\x31\x33\x2e\x33\x31\x34\x2c\
+\x2d\x31\x33\x2e\x39\x32\x33\x39\x20\x31\x33\x2e\x34\x30\x36\x32\
+\x2c\x2d\x32\x32\x2e\x37\x31\x38\x38\x20\x2d\x31\x2e\x38\x37\x30\
+\x35\x2c\x2d\x39\x2e\x31\x33\x33\x39\x20\x2d\x34\x2e\x32\x39\x36\
+\x39\x2c\x2d\x31\x39\x2e\x33\x36\x32\x34\x20\x2d\x38\x2e\x39\x33\
+\x37\x35\x2c\x2d\x32\x35\x2e\x37\x31\x38\x38\x20\x6c\x20\x31\x2e\
+\x38\x37\x35\x2c\x2d\x31\x2e\x33\x37\x35\x20\x63\x20\x2d\x30\x2e\
+\x33\x30\x34\x33\x2c\x2d\x30\x2e\x34\x37\x31\x37\x20\x2d\x30\x2e\
+\x35\x39\x31\x32\x2c\x2d\x30\x2e\x38\x35\x30\x33\x20\x2d\x30\x2e\
+\x38\x37\x35\x2c\x2d\x31\x2e\x32\x35\x20\x34\x2e\x35\x38\x36\x34\
+\x2c\x2d\x31\x33\x2e\x38\x31\x38\x37\x20\x2d\x34\x2e\x38\x35\x33\
+\x33\x2c\x2d\x31\x37\x2e\x35\x34\x35\x32\x20\x2d\x31\x30\x2e\x33\
+\x37\x35\x2c\x2d\x32\x33\x2e\x33\x31\x32\x34\x20\x2d\x30\x2e\x32\
+\x37\x31\x37\x2c\x2d\x30\x2e\x31\x39\x30\x34\x20\x2d\x30\x2e\x35\
+\x35\x37\x36\x2c\x2d\x30\x2e\x33\x35\x36\x39\x20\x2d\x30\x2e\x38\
+\x34\x33\x37\x2c\x2d\x30\x2e\x35\x33\x31\x33\x20\x32\x2e\x31\x32\
+\x38\x38\x2c\x30\x2e\x36\x37\x36\x35\x20\x33\x2e\x31\x33\x33\x32\
+\x2c\x31\x2e\x33\x31\x36\x20\x35\x2e\x32\x31\x38\x37\x2c\x34\x2e\
+\x34\x30\x36\x33\x20\x2d\x34\x2e\x33\x32\x35\x32\x2c\x2d\x39\x2e\
+\x37\x34\x38\x20\x2d\x34\x2e\x32\x33\x39\x2c\x2d\x31\x34\x2e\x38\
+\x33\x30\x38\x20\x2d\x31\x39\x2e\x35\x2c\x2d\x31\x38\x2e\x36\x32\
+\x35\x20\x6c\x20\x30\x2e\x35\x36\x32\x35\x2c\x2d\x30\x2e\x32\x31\
+\x38\x38\x20\x63\x20\x36\x2e\x36\x30\x33\x32\x2c\x2d\x38\x2e\x30\
+\x37\x39\x36\x20\x31\x31\x2e\x37\x31\x37\x36\x2c\x2d\x32\x30\x2e\
+\x33\x39\x34\x32\x20\x31\x33\x2e\x39\x30\x36\x32\x2c\x2d\x33\x33\
+\x2e\x30\x33\x31\x32\x20\x30\x2e\x35\x38\x31\x2c\x30\x2e\x31\x37\
+\x38\x39\x20\x31\x2e\x31\x35\x36\x34\x2c\x30\x2e\x33\x37\x30\x32\
+\x20\x31\x2e\x37\x35\x2c\x30\x2e\x35\x36\x32\x34\x20\x6c\x20\x30\
+\x2e\x34\x30\x36\x33\x2c\x2d\x31\x30\x2e\x35\x39\x33\x37\x20\x63\
+\x20\x2d\x30\x2e\x33\x34\x36\x33\x2c\x2d\x30\x2e\x31\x32\x33\x35\
+\x20\x2d\x30\x2e\x36\x38\x37\x2c\x2d\x30\x2e\x32\x33\x30\x36\x20\
+\x2d\x31\x2e\x30\x33\x31\x33\x2c\x2d\x30\x2e\x33\x34\x33\x37\x20\
+\x30\x2e\x36\x38\x38\x32\x2c\x2d\x31\x38\x2e\x32\x32\x33\x35\x20\
+\x2d\x35\x2e\x36\x37\x35\x36\x2c\x2d\x33\x34\x2e\x39\x30\x31\x33\
+\x20\x2d\x32\x33\x2e\x35\x33\x31\x32\x2c\x2d\x33\x38\x2e\x30\x39\
+\x33\x38\x20\x2d\x32\x2e\x34\x36\x34\x32\x2c\x2d\x30\x2e\x33\x31\
+\x32\x39\x20\x2d\x34\x2e\x37\x30\x33\x36\x2c\x2d\x30\x2e\x34\x36\
+\x31\x20\x2d\x36\x2e\x37\x38\x31\x32\x2c\x2d\x30\x2e\x34\x36\x38\
+\x38\x20\x7a\x20\x6d\x20\x2d\x31\x32\x34\x2e\x32\x35\x2c\x31\x35\
+\x38\x20\x63\x20\x2d\x32\x2e\x30\x38\x31\x37\x2c\x35\x2e\x31\x31\
+\x34\x38\x20\x2d\x34\x2e\x39\x33\x34\x39\x2c\x38\x2e\x39\x35\x33\
+\x39\x20\x2d\x38\x2e\x34\x33\x37\x36\x2c\x31\x31\x2e\x36\x35\x36\
+\x33\x20\x33\x2e\x35\x37\x37\x34\x2c\x2d\x33\x2e\x30\x35\x30\x39\
+\x20\x36\x2e\x33\x34\x35\x32\x2c\x2d\x36\x2e\x39\x39\x36\x35\x20\
+\x38\x2e\x34\x33\x37\x36\x2c\x2d\x31\x31\x2e\x36\x35\x36\x33\x20\
+\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x32\x33\x34\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x34\x31\x35\x36\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x30\x2c\x31\x30\x39\x34\x29\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x67\x34\x31\x35\x38\x22\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x65\x63\
+\x65\x63\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x39\x2e\x38\x37\x38\x37\
+\x2c\x32\x31\x37\x38\x2e\x31\x31\x32\x32\x20\x63\x20\x33\x2e\x37\
+\x32\x37\x34\x2c\x2d\x33\x30\x2e\x33\x37\x33\x38\x20\x2d\x31\x34\
+\x2e\x39\x30\x30\x37\x2c\x2d\x37\x32\x2e\x33\x31\x30\x37\x20\x32\
+\x33\x2e\x35\x2c\x2d\x38\x34\x2e\x37\x35\x20\x32\x35\x2e\x31\x36\
+\x32\x34\x2c\x2d\x34\x2e\x30\x37\x31\x20\x32\x38\x2e\x36\x39\x38\
+\x2c\x31\x30\x2e\x39\x35\x31\x20\x34\x32\x2e\x35\x2c\x31\x30\x2e\
+\x37\x35\x20\x31\x33\x2e\x38\x30\x32\x2c\x2d\x30\x2e\x32\x30\x31\
+\x20\x31\x36\x2e\x34\x36\x35\x31\x2c\x2d\x31\x35\x2e\x38\x33\x37\
+\x33\x20\x34\x32\x2e\x37\x35\x2c\x2d\x31\x32\x2e\x35\x20\x33\x33\
+\x2e\x34\x39\x36\x31\x2c\x35\x2e\x39\x38\x39\x20\x32\x36\x2e\x35\
+\x31\x36\x32\x2c\x35\x39\x2e\x34\x35\x35\x36\x20\x38\x2e\x35\x2c\
+\x38\x31\x2e\x35\x20\x6c\x20\x2d\x34\x34\x2e\x32\x35\x2c\x31\x38\
+\x2e\x35\x20\x2d\x31\x37\x2e\x32\x35\x2c\x32\x35\x2e\x32\x35\x20\
+\x2d\x31\x37\x2e\x37\x35\x2c\x2d\x34\x20\x2d\x32\x35\x2e\x37\x35\
+\x2c\x2d\x33\x30\x2e\x32\x35\x20\x2d\x31\x32\x2e\x32\x35\x2c\x2d\
+\x34\x2e\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\
+\x36\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x7a\x63\x63\x63\x63\x63\x63\
+\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x37\x32\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\
+\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\
+\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\
+\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x32\
+\x33\x2e\x38\x37\x38\x37\x2c\x32\x32\x32\x39\x2e\x33\x36\x32\x32\
+\x20\x63\x20\x2d\x31\x2e\x33\x32\x32\x33\x2c\x32\x39\x2e\x32\x31\
+\x37\x39\x20\x2d\x31\x33\x2e\x30\x37\x35\x38\x2c\x34\x39\x2e\x33\
+\x30\x38\x37\x20\x35\x2c\x39\x35\x2e\x35\x20\x6c\x20\x31\x37\x2e\
+\x35\x2c\x34\x36\x20\x63\x20\x31\x35\x2e\x34\x37\x37\x33\x2c\x31\
+\x35\x2e\x32\x31\x33\x39\x20\x37\x2e\x38\x32\x38\x36\x2c\x33\x31\
+\x2e\x34\x31\x37\x31\x20\x31\x39\x2c\x34\x38\x2e\x35\x20\x6c\x20\
+\x31\x36\x2c\x32\x34\x20\x63\x20\x33\x2e\x37\x34\x37\x36\x2c\x2d\
+\x32\x35\x2e\x35\x34\x35\x33\x20\x32\x33\x2e\x30\x39\x30\x37\x2c\
+\x2d\x32\x37\x2e\x36\x39\x37\x33\x20\x34\x31\x2c\x2d\x33\x32\x20\
+\x6c\x20\x32\x34\x2e\x35\x2c\x2d\x38\x2e\x35\x20\x63\x20\x31\x36\
+\x2e\x30\x34\x32\x32\x2c\x2d\x31\x35\x2e\x30\x39\x34\x39\x20\x33\
+\x36\x2e\x36\x33\x38\x32\x2c\x2d\x31\x30\x2e\x34\x35\x36\x35\x20\
+\x35\x36\x2e\x35\x2c\x2d\x39\x20\x31\x35\x2e\x35\x31\x39\x37\x2c\
+\x31\x2e\x39\x35\x38\x33\x20\x33\x30\x2e\x38\x37\x39\x33\x2c\x34\
+\x2e\x31\x34\x33\x32\x20\x36\x32\x2c\x2d\x31\x36\x20\x36\x2e\x39\
+\x37\x38\x2c\x2d\x36\x2e\x36\x36\x36\x37\x20\x31\x32\x2e\x31\x30\
+\x36\x35\x2c\x2d\x31\x33\x2e\x33\x33\x33\x33\x20\x33\x34\x2e\x35\
+\x2c\x2d\x32\x30\x20\x39\x2e\x38\x35\x32\x38\x2c\x2d\x32\x2e\x34\
+\x31\x32\x20\x31\x33\x2e\x31\x39\x34\x35\x2c\x2d\x31\x35\x2e\x36\
+\x37\x35\x39\x20\x31\x39\x2e\x35\x2c\x2d\x32\x34\x20\x2d\x32\x33\
+\x2e\x30\x39\x37\x39\x2c\x2d\x32\x32\x2e\x31\x31\x30\x34\x20\x2d\
+\x34\x38\x2e\x30\x38\x39\x38\x2c\x2d\x32\x36\x2e\x34\x37\x35\x34\
+\x20\x2d\x37\x34\x2e\x35\x36\x37\x2c\x2d\x32\x34\x2e\x32\x30\x35\
+\x34\x20\x2d\x33\x32\x2e\x30\x38\x36\x34\x2c\x32\x2e\x37\x35\x30\
+\x39\x20\x2d\x35\x35\x2e\x32\x36\x34\x36\x2c\x2d\x32\x31\x2e\x33\
+\x36\x35\x38\x20\x2d\x37\x34\x2e\x39\x33\x33\x2c\x2d\x35\x39\x2e\
+\x32\x39\x34\x36\x20\x6c\x20\x2d\x31\x35\x2c\x2d\x34\x30\x2e\x35\
+\x20\x2d\x33\x36\x2e\x35\x2c\x31\x34\x2e\x35\x20\x63\x20\x30\x2c\
+\x30\x20\x2d\x31\x39\x2e\x35\x2c\x31\x32\x2e\x35\x20\x2d\x32\x32\
+\x2e\x35\x2c\x31\x32\x2e\x35\x20\x2d\x33\x2c\x30\x20\x2d\x34\x32\
+\x2c\x2d\x31\x36\x20\x2d\x34\x32\x2c\x2d\x31\x36\x20\x6c\x20\x2d\
+\x31\x33\x2e\x35\x2c\x2d\x37\x2e\x35\x20\x2d\x31\x34\x2e\x35\x2c\
+\x38\x2e\x35\x20\x2d\x32\x2c\x37\x2e\x35\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x31\x36\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\
+\x63\x63\x63\x63\x63\x63\x63\x63\x63\x73\x63\x63\x63\x73\x63\x63\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x65\x63\x65\x63\x65\x63\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\
+\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x34\
+\x31\x2e\x39\x31\x38\x34\x2c\x32\x33\x30\x36\x2e\x31\x38\x38\x31\
+\x20\x63\x20\x37\x2e\x34\x38\x32\x33\x2c\x31\x2e\x39\x31\x32\x37\
+\x20\x31\x37\x2e\x37\x32\x32\x38\x2c\x2d\x31\x32\x2e\x31\x39\x33\
+\x35\x20\x31\x38\x2e\x33\x35\x33\x36\x2c\x2d\x32\x35\x2e\x38\x30\
+\x35\x38\x20\x31\x36\x2e\x31\x39\x32\x36\x2c\x2d\x31\x2e\x31\x30\
+\x38\x37\x20\x33\x32\x2e\x33\x38\x35\x33\x2c\x2d\x30\x2e\x38\x37\
+\x36\x36\x20\x34\x38\x2e\x35\x37\x37\x39\x2c\x31\x2e\x33\x31\x31\
+\x39\x20\x2d\x38\x2e\x31\x36\x34\x37\x2c\x36\x2e\x37\x32\x32\x31\
+\x20\x2d\x31\x35\x2e\x34\x39\x39\x32\x2c\x31\x33\x2e\x36\x34\x33\
+\x35\x20\x38\x2e\x39\x35\x2c\x32\x38\x2e\x31\x39\x33\x20\x30\x2e\
+\x34\x30\x38\x2c\x31\x2e\x36\x35\x30\x32\x20\x35\x2e\x34\x30\x38\
+\x35\x2c\x2d\x35\x2e\x32\x35\x39\x36\x20\x35\x2e\x37\x37\x33\x37\
+\x2c\x2d\x32\x2e\x32\x38\x32\x35\x20\x32\x2e\x31\x33\x32\x37\x2c\
+\x31\x37\x2e\x33\x38\x35\x34\x20\x35\x2e\x38\x37\x35\x35\x2c\x36\
+\x31\x2e\x37\x30\x39\x36\x20\x31\x39\x2e\x34\x37\x30\x38\x2c\x38\
+\x31\x2e\x38\x30\x33\x37\x20\x2d\x37\x2e\x32\x38\x33\x33\x2c\x39\
+\x2e\x30\x34\x30\x38\x20\x2d\x31\x34\x2e\x38\x35\x36\x34\x2c\x31\
+\x37\x2e\x36\x34\x36\x39\x20\x2d\x33\x32\x2e\x35\x37\x38\x33\x2c\
+\x31\x31\x2e\x30\x32\x39\x37\x20\x2d\x31\x38\x2e\x33\x37\x38\x35\
+\x2c\x2d\x33\x33\x2e\x38\x38\x32\x33\x20\x2d\x32\x32\x2e\x39\x36\
+\x37\x2c\x2d\x35\x37\x2e\x31\x31\x38\x37\x20\x2d\x33\x30\x2e\x33\
+\x31\x39\x34\x2c\x2d\x35\x39\x2e\x39\x35\x33\x20\x2d\x31\x32\x2e\
+\x31\x39\x38\x39\x2c\x2d\x34\x2e\x37\x30\x32\x36\x20\x2d\x33\x30\
+\x2e\x37\x33\x31\x39\x2c\x31\x38\x2e\x34\x30\x31\x20\x2d\x34\x31\
+\x2e\x34\x33\x30\x36\x2c\x35\x37\x2e\x38\x35\x34\x38\x20\x2d\x31\
+\x31\x2e\x38\x33\x30\x34\x2c\x37\x2e\x39\x32\x34\x37\x20\x2d\x32\
+\x31\x2e\x30\x32\x32\x34\x2c\x35\x2e\x32\x39\x35\x38\x20\x2d\x32\
+\x39\x2e\x35\x34\x37\x37\x2c\x30\x20\x30\x2e\x33\x38\x37\x37\x2c\
+\x2d\x32\x34\x2e\x35\x39\x36\x38\x20\x31\x34\x2e\x37\x39\x36\x36\
+\x2c\x2d\x37\x37\x2e\x31\x30\x36\x36\x20\x33\x32\x2e\x37\x35\x2c\
+\x2d\x39\x32\x2e\x31\x35\x31\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\
+\x61\x74\x68\x34\x31\x36\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\
+\x73\x63\x63\x73\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\
+\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\
+\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\
+\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\
+\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\
+\x6d\x20\x32\x35\x30\x39\x2e\x32\x35\x33\x37\x2c\x32\x33\x39\x37\
+\x2e\x34\x38\x37\x33\x20\x63\x20\x36\x2e\x35\x35\x32\x33\x2c\x34\
+\x2e\x34\x38\x38\x20\x31\x35\x2e\x32\x35\x36\x2c\x38\x2e\x35\x33\
+\x38\x32\x20\x32\x39\x2e\x31\x32\x35\x2c\x30\x2e\x37\x35\x20\x6c\
+\x20\x2d\x34\x2e\x37\x35\x2c\x34\x34\x2e\x31\x32\x35\x20\x63\x20\
+\x2d\x34\x2e\x36\x37\x35\x32\x2c\x31\x31\x2e\x34\x37\x33\x31\x20\
+\x2d\x31\x36\x2e\x35\x39\x37\x36\x2c\x32\x35\x2e\x33\x37\x31\x35\
+\x20\x2d\x32\x33\x2e\x35\x2c\x31\x2e\x37\x35\x20\x6c\x20\x2d\x30\
+\x2e\x38\x37\x35\x2c\x2d\x34\x36\x2e\x36\x32\x35\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x36\x36\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\
+\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\
+\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x36\
+\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x31\x30\x2e\x33\x35\x35\x2c\
+\x32\x34\x30\x30\x2e\x30\x37\x38\x38\x20\x63\x20\x36\x2e\x31\x39\
+\x31\x32\x2c\x33\x2e\x34\x37\x39\x37\x20\x32\x34\x2e\x36\x36\x39\
+\x31\x2c\x33\x2e\x39\x34\x33\x20\x33\x32\x2e\x35\x33\x35\x31\x2c\
+\x2d\x31\x30\x2e\x38\x36\x30\x32\x20\x37\x2e\x33\x35\x34\x2c\x31\
+\x33\x2e\x33\x36\x35\x33\x20\x31\x34\x2e\x31\x37\x34\x34\x2c\x32\
+\x37\x2e\x32\x32\x38\x38\x20\x31\x36\x2e\x36\x30\x31\x38\x2c\x34\
+\x35\x2e\x31\x39\x32\x33\x20\x32\x2e\x34\x33\x37\x37\x2c\x31\x31\
+\x2e\x37\x32\x35\x37\x20\x30\x2e\x31\x34\x35\x38\x2c\x32\x38\x2e\
+\x36\x30\x38\x31\x20\x2d\x31\x39\x2e\x35\x33\x33\x33\x2c\x31\x35\
+\x2e\x34\x31\x30\x39\x20\x2d\x31\x34\x2e\x32\x31\x32\x39\x2c\x2d\
+\x31\x30\x2e\x38\x35\x30\x36\x20\x2d\x32\x30\x2e\x37\x31\x30\x33\
+\x2c\x2d\x33\x32\x2e\x30\x30\x38\x33\x20\x2d\x32\x39\x2e\x36\x30\
+\x33\x36\x2c\x2d\x34\x39\x2e\x37\x34\x33\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\
+\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\
+\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\
+\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\
+\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\
+\x64\x35\x38\x38\x36\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x30\
+\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\
+\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x72\x6f\x75\x6e\x64\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x30\x36\x2e\x33\x33\x39\x39\
+\x2c\x32\x32\x31\x32\x2e\x30\x31\x37\x33\x20\x63\x20\x33\x2e\x32\
+\x37\x37\x2c\x2d\x33\x2e\x30\x31\x37\x31\x20\x37\x2e\x32\x36\x36\
+\x34\x2c\x2d\x35\x2e\x33\x32\x34\x34\x20\x31\x30\x2e\x35\x37\x38\
+\x39\x2c\x2d\x37\x2e\x30\x30\x38\x33\x20\x39\x2e\x33\x36\x37\x36\
+\x2c\x2d\x31\x36\x2e\x38\x35\x37\x38\x20\x32\x36\x2e\x33\x34\x35\
+\x37\x2c\x2d\x31\x38\x2e\x37\x30\x32\x32\x20\x33\x34\x2e\x38\x32\
+\x38\x36\x2c\x2d\x31\x39\x2e\x32\x37\x33\x34\x20\x32\x30\x2e\x33\
+\x32\x38\x36\x2c\x32\x2e\x31\x31\x38\x32\x20\x32\x31\x2e\x34\x35\
+\x39\x33\x2c\x31\x33\x2e\x38\x33\x35\x34\x20\x32\x38\x2e\x38\x32\
+\x33\x36\x2c\x32\x32\x2e\x34\x33\x35\x37\x20\x6c\x20\x31\x38\x2e\
+\x37\x35\x33\x35\x2c\x30\x2e\x36\x36\x34\x20\x63\x20\x39\x2e\x36\
+\x38\x30\x38\x2c\x2d\x31\x32\x2e\x35\x32\x30\x34\x20\x32\x33\x2e\
+\x39\x39\x30\x35\x2c\x2d\x31\x39\x2e\x34\x38\x36\x32\x20\x34\x30\
+\x2e\x37\x32\x36\x33\x2c\x2d\x32\x33\x2e\x35\x34\x30\x37\x20\x2d\
+\x31\x2e\x31\x39\x33\x32\x2c\x30\x2e\x33\x37\x30\x33\x20\x32\x30\
+\x2e\x39\x38\x36\x35\x2c\x2d\x34\x2e\x36\x35\x37\x35\x20\x33\x31\
+\x2e\x36\x34\x36\x39\x2c\x32\x2e\x38\x31\x30\x31\x20\x35\x2e\x38\
+\x35\x35\x2c\x36\x2e\x31\x31\x35\x33\x20\x31\x36\x2e\x31\x30\x32\
+\x32\x2c\x39\x2e\x39\x32\x37\x31\x20\x39\x2e\x33\x37\x36\x34\x2c\
+\x32\x35\x2e\x39\x31\x39\x32\x20\x34\x2e\x36\x34\x30\x37\x2c\x36\
+\x2e\x33\x35\x36\x34\x20\x37\x2e\x30\x36\x33\x37\x2c\x31\x36\x2e\
+\x35\x37\x38\x39\x20\x38\x2e\x39\x33\x34\x32\x2c\x32\x35\x2e\x37\
+\x31\x32\x38\x20\x2d\x30\x2e\x31\x34\x36\x31\x2c\x31\x33\x2e\x39\
+\x34\x33\x37\x20\x2d\x31\x38\x2e\x30\x34\x33\x37\x2c\x32\x35\x2e\
+\x39\x39\x30\x38\x20\x2d\x32\x31\x2e\x37\x31\x37\x34\x2c\x33\x30\
+\x2e\x35\x36\x34\x37\x20\x2d\x31\x2e\x38\x37\x38\x33\x2c\x32\x2e\
+\x33\x33\x38\x35\x20\x2d\x31\x36\x2e\x39\x31\x31\x36\x2c\x2d\x38\
+\x2e\x33\x31\x38\x20\x2d\x32\x30\x2e\x31\x39\x33\x31\x2c\x2d\x32\
+\x35\x2e\x33\x37\x34\x20\x6c\x20\x31\x2e\x34\x38\x30\x32\x2c\x2d\
+\x35\x2e\x31\x39\x33\x33\x20\x63\x20\x2d\x34\x2e\x35\x35\x37\x37\
+\x2c\x2d\x34\x2e\x30\x35\x34\x34\x20\x2d\x34\x2e\x35\x37\x36\x34\
+\x2c\x2d\x38\x2e\x31\x30\x38\x38\x20\x2d\x35\x2e\x35\x37\x32\x35\
+\x2c\x2d\x31\x32\x2e\x31\x36\x33\x32\x20\x2d\x31\x33\x2e\x37\x37\
+\x32\x31\x2c\x32\x31\x2e\x33\x31\x32\x32\x20\x2d\x32\x33\x2e\x36\
+\x37\x37\x39\x2c\x33\x37\x2e\x38\x32\x32\x39\x20\x2d\x32\x32\x2e\
+\x34\x30\x37\x31\x2c\x34\x38\x2e\x37\x39\x33\x31\x20\x2d\x32\x31\
+\x2e\x39\x37\x31\x36\x2c\x2d\x39\x2e\x30\x36\x35\x20\x2d\x35\x30\
+\x2e\x32\x37\x33\x36\x2c\x2d\x39\x2e\x37\x35\x39\x37\x20\x2d\x37\
+\x36\x2e\x33\x36\x37\x36\x2c\x2d\x32\x2e\x34\x37\x34\x39\x20\x6c\
+\x20\x2d\x30\x2e\x38\x39\x31\x34\x2c\x2d\x31\x36\x2e\x34\x32\x30\
+\x36\x20\x2d\x38\x2e\x39\x30\x31\x33\x2c\x2d\x32\x30\x2e\x31\x35\
+\x38\x37\x20\x63\x20\x2d\x33\x2e\x36\x34\x39\x35\x2c\x32\x2e\x35\
+\x37\x37\x35\x20\x2d\x37\x2e\x38\x39\x32\x35\x2c\x35\x2e\x38\x31\
+\x31\x37\x20\x2d\x31\x32\x2e\x39\x31\x30\x34\x2c\x34\x2e\x37\x34\
+\x30\x32\x20\x6c\x20\x2d\x32\x2e\x35\x39\x32\x2c\x30\x2e\x37\x33\
+\x36\x39\x20\x63\x20\x2d\x33\x2e\x30\x34\x32\x31\x2c\x31\x30\x2e\
+\x31\x34\x35\x31\x20\x2d\x38\x2e\x32\x34\x31\x31\x2c\x31\x37\x2e\
+\x39\x35\x33\x35\x20\x2d\x31\x36\x2e\x39\x33\x32\x37\x2c\x32\x31\
+\x2e\x39\x37\x38\x34\x20\x2d\x34\x2e\x36\x33\x37\x39\x2c\x2d\x36\
+\x2e\x35\x30\x38\x39\x20\x2d\x36\x2e\x35\x35\x36\x38\x2c\x2d\x39\
+\x2e\x36\x35\x39\x31\x20\x2d\x31\x30\x2e\x32\x35\x38\x33\x2c\x2d\
+\x31\x34\x2e\x39\x33\x30\x36\x20\x2d\x37\x2e\x37\x39\x39\x33\x2c\
+\x2d\x38\x2e\x36\x33\x31\x20\x33\x2e\x38\x37\x36\x31\x2c\x2d\x32\
+\x37\x2e\x39\x38\x31\x20\x31\x33\x2e\x35\x39\x35\x32\x2c\x2d\x33\
+\x37\x2e\x38\x31\x37\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x31\x37\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x63\
+\x63\x63\x63\x73\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x37\x32\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\
+\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\
+\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\
+\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\
+\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x39\x33\
+\x2e\x35\x31\x32\x34\x2c\x32\x32\x30\x39\x2e\x32\x31\x39\x32\x20\
+\x37\x2e\x36\x30\x31\x34\x2c\x30\x2e\x31\x37\x36\x38\x20\x63\x20\
+\x39\x2e\x34\x36\x36\x36\x2c\x2d\x38\x2e\x36\x38\x39\x31\x20\x31\
+\x36\x2e\x32\x35\x30\x35\x2c\x2d\x32\x36\x2e\x31\x36\x35\x33\x20\
+\x36\x35\x2e\x33\x38\x35\x39\x2c\x2d\x32\x33\x2e\x31\x38\x38\x31\
+\x20\x35\x2e\x38\x30\x32\x2c\x31\x2e\x39\x37\x36\x32\x20\x36\x2e\
+\x34\x32\x39\x36\x2c\x31\x2e\x31\x32\x36\x37\x20\x39\x2e\x35\x36\
+\x33\x37\x2c\x35\x2e\x37\x37\x30\x38\x20\x2d\x34\x2e\x35\x32\x37\
+\x39\x2c\x2d\x31\x30\x2e\x32\x30\x35\x20\x2d\x34\x2e\x31\x37\x32\
+\x32\x2c\x2d\x31\x35\x2e\x33\x31\x30\x37\x20\x2d\x32\x31\x2e\x37\
+\x30\x35\x38\x2c\x2d\x31\x39\x2e\x31\x36\x32\x39\x20\x2d\x31\x37\
+\x2e\x35\x33\x33\x36\x2c\x2d\x33\x2e\x38\x35\x32\x33\x20\x2d\x33\
+\x38\x2e\x31\x32\x30\x39\x2c\x31\x2e\x30\x30\x36\x20\x2d\x36\x30\
+\x2e\x38\x34\x35\x32\x2c\x33\x36\x2e\x34\x30\x33\x34\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x37\x32\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x7a\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x7a\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x31\x37\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2e\x35\
+\x36\x33\x34\x2c\x32\x32\x30\x38\x2e\x39\x36\x39\x32\x20\x2d\x36\
+\x2e\x33\x35\x31\x34\x2c\x2d\x30\x2e\x33\x32\x33\x32\x20\x63\x20\
+\x2d\x39\x2e\x34\x36\x36\x36\x2c\x2d\x38\x2e\x36\x38\x39\x31\x20\
+\x2d\x32\x32\x2e\x30\x37\x31\x35\x2c\x2d\x32\x37\x2e\x35\x39\x37\
+\x20\x2d\x35\x30\x2e\x35\x31\x30\x39\x2c\x2d\x31\x36\x2e\x31\x38\
+\x38\x31\x20\x2d\x35\x2e\x38\x30\x32\x2c\x31\x2e\x39\x37\x36\x32\
+\x20\x2d\x39\x2e\x34\x32\x39\x36\x2c\x37\x2e\x38\x37\x36\x37\x20\
+\x2d\x31\x32\x2e\x35\x36\x33\x37\x2c\x31\x32\x2e\x35\x32\x30\x38\
+\x20\x34\x2e\x35\x32\x37\x39\x2c\x2d\x31\x30\x2e\x32\x30\x35\x20\
+\x39\x2e\x39\x32\x37\x39\x2c\x2d\x32\x34\x2e\x35\x32\x33\x20\x32\
+\x31\x2e\x34\x35\x35\x38\x2c\x2d\x32\x37\x2e\x39\x31\x32\x39\x20\
+\x31\x31\x2e\x35\x39\x37\x38\x2c\x2d\x33\x2e\x34\x31\x30\x35\x20\
+\x32\x35\x2e\x32\x34\x35\x39\x2c\x2d\x33\x2e\x34\x39\x34\x20\x34\
+\x37\x2e\x39\x37\x30\x32\x2c\x33\x31\x2e\x39\x30\x33\x34\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x37\x32\
+\x39\x66\x63\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\
+\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\
+\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\
+\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\
+\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x35\x36\
+\x2e\x31\x39\x31\x31\x2c\x32\x32\x37\x30\x2e\x37\x30\x37\x31\x20\
+\x63\x20\x31\x36\x2e\x37\x33\x37\x31\x2c\x2d\x31\x2e\x36\x39\x32\
+\x31\x20\x33\x30\x2e\x34\x33\x35\x34\x2c\x2d\x36\x2e\x30\x39\x37\
+\x34\x20\x35\x39\x2e\x36\x39\x32\x36\x2c\x33\x2e\x33\x38\x39\x31\
+\x20\x6c\x20\x2d\x37\x2e\x33\x36\x36\x37\x2c\x38\x2e\x34\x35\x34\
+\x39\x20\x63\x20\x2d\x32\x30\x2e\x31\x38\x37\x34\x2c\x2d\x32\x2e\
+\x37\x31\x31\x35\x20\x2d\x33\x36\x2e\x34\x34\x38\x38\x2c\x2d\x32\
+\x2e\x33\x38\x35\x37\x20\x2d\x35\x33\x2e\x30\x33\x33\x2c\x2d\x31\
+\x2e\x39\x34\x34\x35\x20\x6c\x20\x30\x2e\x37\x30\x37\x31\x2c\x2d\
+\x39\x2e\x38\x39\x39\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x31\x37\x36\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\
+\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x63\x63\
+\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x37\x38\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\
+\x3d\x22\x6d\x20\x32\x36\x33\x31\x2e\x33\x31\x31\x34\x2c\x32\x32\
+\x39\x39\x2e\x32\x32\x33\x37\x20\x63\x20\x2d\x30\x2e\x31\x39\x35\
+\x33\x2c\x35\x2e\x37\x32\x31\x37\x20\x2d\x38\x2e\x31\x38\x39\x38\
+\x2c\x39\x2e\x31\x38\x31\x35\x20\x2d\x31\x31\x2e\x39\x38\x35\x33\
+\x2c\x31\x31\x2e\x37\x35\x33\x20\x2d\x39\x2e\x33\x33\x35\x34\x2c\
+\x2d\x36\x2e\x32\x34\x39\x33\x20\x2d\x32\x31\x2e\x37\x34\x33\x35\
+\x2c\x2d\x31\x32\x2e\x39\x31\x30\x32\x20\x2d\x31\x38\x2e\x32\x30\
+\x32\x38\x2c\x2d\x32\x31\x2e\x37\x39\x34\x37\x20\x2d\x30\x2e\x32\
+\x30\x31\x31\x2c\x2d\x32\x2e\x39\x38\x38\x33\x20\x31\x31\x2e\x31\
+\x37\x34\x39\x2c\x2d\x31\x39\x2e\x36\x35\x31\x38\x20\x32\x30\x2e\
+\x31\x38\x35\x2c\x2d\x31\x33\x2e\x34\x35\x37\x31\x20\x39\x2e\x32\
+\x35\x37\x36\x2c\x2d\x31\x36\x2e\x30\x34\x38\x37\x20\x31\x38\x2e\
+\x30\x32\x35\x36\x2c\x2d\x32\x35\x2e\x32\x34\x33\x37\x20\x32\x36\
+\x2e\x36\x32\x30\x31\x2c\x2d\x33\x32\x2e\x30\x30\x39\x31\x20\x33\
+\x2e\x31\x30\x31\x32\x2c\x31\x32\x2e\x38\x36\x34\x35\x20\x31\x30\
+\x2e\x34\x33\x36\x35\x2c\x32\x33\x2e\x39\x31\x32\x36\x20\x31\x39\
+\x2e\x36\x36\x35\x31\x2c\x32\x36\x2e\x34\x30\x37\x37\x20\x2d\x39\
+\x2e\x32\x36\x37\x37\x2c\x31\x31\x2e\x36\x37\x31\x20\x2d\x32\x31\
+\x2e\x37\x30\x39\x34\x2c\x31\x36\x2e\x37\x37\x38\x32\x20\x2d\x33\
+\x35\x2e\x35\x37\x35\x2c\x32\x34\x2e\x38\x35\x37\x35\x20\x6c\x20\
+\x2d\x30\x2e\x37\x30\x37\x31\x2c\x34\x2e\x32\x34\x32\x37\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x34\x39\
+\x34\x39\x34\x39\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\
+\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\x39\x32\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\
+\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\
+\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\
+\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x34\x39\x34\x39\x34\x39\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\
+\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x34\x2e\x34\x35\x34\x39\x39\x39\
+\x39\x32\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\
+\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3a\x6d\x69\x74\x65\x72\x3b\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\
+\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\
+\x61\x79\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\
+\x36\x2e\x33\x39\x32\x2c\x32\x32\x39\x37\x2e\x32\x32\x33\x37\x20\
+\x63\x20\x30\x2e\x31\x39\x35\x33\x2c\x35\x2e\x37\x32\x31\x37\x20\
+\x34\x2e\x36\x38\x39\x38\x2c\x37\x2e\x36\x38\x31\x35\x20\x38\x2e\
+\x34\x38\x35\x33\x2c\x31\x30\x2e\x32\x35\x33\x20\x39\x2e\x33\x33\
+\x35\x34\x2c\x2d\x36\x2e\x32\x34\x39\x33\x20\x31\x38\x2e\x39\x39\
+\x33\x35\x2c\x2d\x31\x31\x2e\x30\x33\x35\x32\x20\x31\x35\x2e\x34\
+\x35\x32\x38\x2c\x2d\x33\x32\x2e\x39\x31\x39\x37\x20\x2d\x34\x2e\
+\x34\x32\x33\x39\x2c\x2d\x31\x2e\x39\x38\x38\x33\x20\x2d\x35\x2e\
+\x39\x32\x34\x39\x2c\x2d\x33\x2e\x37\x37\x36\x38\x20\x2d\x31\x33\
+\x2e\x36\x38\x35\x2c\x2d\x32\x2e\x30\x38\x32\x31\x20\x2d\x35\x2e\
+\x37\x30\x36\x33\x2c\x2d\x38\x2e\x30\x39\x34\x36\x20\x2d\x31\x35\
+\x2e\x38\x31\x37\x39\x2c\x2d\x32\x39\x2e\x35\x33\x33\x33\x20\x2d\
+\x32\x36\x2e\x39\x35\x38\x35\x2c\x2d\x32\x39\x2e\x39\x36\x33\x36\
+\x20\x2d\x33\x2e\x31\x30\x31\x32\x2c\x31\x32\x2e\x38\x36\x34\x35\
+\x20\x2d\x39\x2e\x35\x39\x38\x31\x2c\x31\x39\x2e\x38\x36\x37\x31\
+\x20\x2d\x31\x38\x2e\x38\x32\x36\x37\x2c\x32\x32\x2e\x33\x36\x32\
+\x32\x20\x34\x2e\x35\x31\x37\x37\x2c\x31\x33\x2e\x34\x32\x31\x20\
+\x32\x30\x2e\x39\x35\x39\x34\x2c\x32\x30\x2e\x30\x32\x38\x32\x20\
+\x33\x34\x2e\x38\x32\x35\x2c\x32\x38\x2e\x31\x30\x37\x35\x20\x6c\
+\x20\x30\x2e\x37\x30\x37\x31\x2c\x34\x2e\x32\x34\x32\x37\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x30\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x63\x63\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x30\x36\x37\x39\
+\x36\x31\x31\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\
+\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\
+\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\
+\x6d\x20\x32\x37\x39\x35\x2e\x35\x2c\x32\x33\x35\x36\x2e\x32\x33\
+\x37\x32\x20\x63\x20\x2d\x31\x38\x2e\x30\x36\x31\x35\x2c\x2d\x31\
+\x31\x2e\x36\x39\x37\x20\x2d\x33\x39\x2e\x36\x31\x31\x36\x2c\x2d\
+\x32\x37\x2e\x32\x37\x34\x31\x20\x2d\x36\x37\x2c\x2d\x32\x37\x2e\
+\x38\x37\x35\x20\x2d\x31\x30\x2e\x30\x34\x32\x32\x2c\x2d\x30\x2e\
+\x32\x31\x34\x38\x20\x2d\x33\x35\x2e\x30\x35\x35\x34\x2c\x2d\x38\
+\x2e\x30\x37\x39\x35\x20\x2d\x34\x36\x2e\x35\x2c\x2d\x32\x31\x2e\
+\x37\x35\x20\x2d\x31\x31\x2e\x33\x34\x32\x33\x2c\x2d\x31\x33\x2e\
+\x35\x34\x38\x32\x20\x2d\x31\x34\x2e\x35\x31\x38\x39\x2c\x2d\x32\
+\x35\x2e\x37\x34\x31\x38\x20\x2d\x32\x31\x2e\x37\x34\x32\x38\x2c\
+\x2d\x33\x34\x2e\x30\x30\x36\x37\x20\x2d\x38\x2e\x33\x31\x32\x35\
+\x2c\x2d\x39\x2e\x35\x31\x30\x34\x20\x2d\x31\x34\x2e\x32\x35\x37\
+\x32\x2c\x31\x2e\x32\x35\x36\x37\x20\x2d\x31\x34\x2e\x32\x35\x37\
+\x32\x2c\x31\x2e\x32\x35\x36\x37\x20\x30\x2c\x30\x20\x31\x32\x2e\
+\x34\x31\x38\x34\x2c\x32\x38\x2e\x34\x32\x39\x37\x20\x32\x30\x2c\
+\x33\x37\x2e\x35\x20\x37\x2e\x35\x38\x31\x36\x2c\x39\x2e\x30\x37\
+\x30\x33\x20\x31\x37\x2e\x36\x32\x34\x36\x2c\x31\x36\x2e\x38\x34\
+\x37\x32\x20\x32\x38\x2e\x35\x2c\x32\x32\x2e\x35\x20\x31\x30\x2e\
+\x38\x37\x35\x34\x2c\x35\x2e\x36\x35\x32\x38\x20\x32\x39\x2e\x39\
+\x34\x38\x36\x2c\x37\x2e\x33\x38\x36\x32\x20\x34\x33\x2e\x37\x35\
+\x2c\x31\x34\x2e\x32\x35\x20\x31\x34\x2e\x31\x30\x31\x39\x2c\x37\
+\x2e\x30\x31\x33\x32\x20\x33\x31\x2e\x36\x32\x35\x2c\x32\x33\x2e\
+\x36\x32\x35\x20\x33\x31\x2e\x36\x32\x35\x2c\x32\x33\x2e\x36\x32\
+\x35\x20\x6c\x20\x32\x35\x2e\x36\x32\x35\x2c\x2d\x31\x35\x2e\x35\
+\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x32\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\
+\x63\x73\x7a\x73\x63\x7a\x7a\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\
+\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\
+\x33\x38\x2e\x32\x34\x36\x2c\x32\x31\x32\x36\x2e\x35\x38\x35\x38\
+\x20\x63\x20\x38\x2e\x38\x36\x31\x31\x2c\x2d\x31\x2e\x38\x32\x39\
+\x33\x20\x31\x35\x2e\x34\x33\x37\x37\x2c\x30\x2e\x31\x31\x32\x37\
+\x20\x32\x32\x2e\x32\x32\x35\x39\x2c\x2d\x33\x2e\x34\x38\x32\x20\
+\x36\x2e\x37\x38\x38\x32\x2c\x2d\x33\x2e\x35\x39\x34\x37\x20\x31\
+\x30\x2e\x35\x38\x33\x37\x2c\x2d\x34\x2e\x35\x38\x36\x34\x20\x31\
+\x36\x2e\x32\x36\x31\x32\x2c\x2d\x35\x2e\x31\x34\x38\x39\x20\x31\
+\x32\x2e\x39\x33\x38\x37\x2c\x2d\x31\x2e\x32\x38\x31\x38\x20\x31\
+\x33\x2e\x30\x33\x32\x2c\x37\x2e\x39\x33\x32\x35\x20\x32\x34\x2e\
+\x34\x31\x32\x37\x2c\x36\x2e\x39\x32\x30\x36\x20\x31\x31\x2e\x37\
+\x33\x31\x36\x2c\x2d\x31\x2e\x30\x34\x33\x31\x20\x38\x2e\x36\x31\
+\x30\x33\x2c\x2d\x33\x2e\x36\x32\x39\x36\x20\x31\x35\x2e\x30\x33\
+\x39\x31\x2c\x2d\x35\x2e\x33\x36\x32\x31\x20\x38\x2e\x33\x36\x39\
+\x33\x2c\x2d\x32\x2e\x32\x35\x35\x35\x20\x31\x39\x2e\x33\x38\x36\
+\x35\x2c\x2d\x32\x2e\x31\x30\x35\x35\x20\x32\x38\x2e\x37\x39\x30\
+\x37\x2c\x34\x2e\x39\x30\x34\x32\x20\x38\x2e\x36\x34\x38\x34\x2c\
+\x32\x2e\x39\x39\x35\x34\x20\x31\x37\x2e\x39\x37\x37\x2c\x31\x2e\
+\x39\x39\x34\x32\x20\x32\x38\x2e\x32\x30\x32\x32\x2c\x35\x2e\x36\
+\x33\x39\x39\x20\x6c\x20\x2d\x30\x2e\x34\x30\x30\x35\x2c\x31\x30\
+\x2e\x35\x39\x30\x32\x20\x63\x20\x2d\x31\x32\x2e\x35\x36\x31\x39\
+\x2c\x2d\x34\x2e\x30\x36\x37\x36\x20\x2d\x32\x32\x2e\x32\x38\x37\
+\x34\x2c\x2d\x35\x2e\x32\x33\x35\x33\x20\x2d\x32\x39\x2e\x32\x33\
+\x38\x38\x2c\x2d\x30\x2e\x36\x31\x31\x37\x20\x2d\x32\x33\x2e\x36\
+\x32\x34\x39\x2c\x31\x35\x2e\x37\x31\x33\x36\x20\x2d\x33\x35\x2e\
+\x39\x31\x39\x39\x2c\x2d\x30\x2e\x35\x38\x31\x31\x20\x2d\x34\x32\
+\x2e\x39\x33\x37\x37\x2c\x2d\x31\x2e\x30\x38\x34\x38\x20\x2d\x37\
+\x2e\x30\x31\x37\x38\x2c\x2d\x30\x2e\x35\x30\x33\x37\x20\x2d\x38\
+\x2e\x33\x38\x35\x34\x2c\x32\x2e\x34\x31\x37\x38\x20\x2d\x31\x34\
+\x2e\x31\x32\x39\x35\x2c\x34\x2e\x34\x33\x31\x20\x2d\x37\x2e\x37\
+\x39\x38\x34\x2c\x32\x2e\x37\x33\x33\x33\x20\x2d\x31\x37\x2e\x30\
+\x37\x33\x38\x2c\x34\x2e\x37\x35\x31\x20\x2d\x32\x35\x2e\x30\x31\
+\x33\x31\x2c\x2d\x32\x2e\x36\x36\x34\x35\x20\x2d\x37\x2e\x31\x37\
+\x34\x32\x2c\x2d\x33\x2e\x39\x33\x36\x34\x20\x2d\x31\x37\x2e\x31\
+\x32\x31\x35\x2c\x2d\x35\x2e\x33\x33\x32\x20\x2d\x32\x34\x2e\x33\
+\x31\x39\x38\x2c\x2d\x32\x2e\x34\x38\x31\x31\x20\x6c\x20\x31\x2e\
+\x31\x30\x37\x36\x2c\x2d\x31\x31\x2e\x36\x35\x30\x38\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x31\x38\x34\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x7a\x73\
+\x7a\x73\x63\x63\x63\x73\x7a\x73\x63\x63\x63\x22\x20\x2f\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x32\x35\x34\x30\x2e\x34\x38\x32\x32\x2c\x32\x32\x32\x33\x2e\
+\x34\x30\x39\x37\x20\x63\x20\x2d\x33\x2e\x37\x39\x33\x36\x2c\x31\
+\x31\x2e\x32\x38\x36\x39\x20\x2d\x37\x2e\x34\x31\x33\x2c\x31\x35\
+\x2e\x34\x30\x35\x35\x20\x2d\x31\x32\x2e\x36\x34\x38\x33\x2c\x31\
+\x36\x2e\x36\x38\x38\x34\x20\x2d\x35\x2e\x32\x33\x35\x33\x2c\x31\
+\x2e\x32\x38\x33\x20\x2d\x31\x31\x2e\x31\x37\x37\x35\x2c\x2d\x30\
+\x2e\x38\x31\x39\x20\x2d\x31\x36\x2e\x37\x31\x38\x37\x2c\x2d\x34\
+\x2e\x32\x38\x31\x32\x20\x2d\x34\x2e\x30\x38\x38\x2c\x2d\x32\x2e\
+\x31\x33\x39\x35\x20\x2d\x35\x2e\x31\x39\x36\x39\x2c\x2d\x31\x2e\
+\x36\x37\x32\x33\x20\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x37\x38\x31\
+\x32\x20\x35\x2e\x39\x32\x32\x37\x2c\x33\x2e\x37\x30\x30\x36\x20\
+\x31\x32\x2e\x36\x38\x31\x32\x2c\x36\x2e\x32\x39\x37\x33\x20\x31\
+\x39\x2e\x32\x35\x2c\x34\x2e\x36\x38\x37\x36\x20\x36\x2e\x35\x36\
+\x38\x37\x2c\x2d\x31\x2e\x36\x30\x39\x38\x20\x31\x32\x2e\x34\x31\
+\x32\x34\x2c\x2d\x37\x2e\x34\x36\x31\x33\x20\x31\x36\x2e\x34\x30\
+\x36\x32\x2c\x2d\x31\x39\x2e\x33\x34\x33\x38\x20\x32\x2e\x34\x30\
+\x38\x39\x2c\x2d\x31\x34\x2e\x31\x34\x34\x37\x20\x2d\x31\x2e\x38\
+\x36\x36\x39\x2c\x2d\x35\x2e\x37\x39\x34\x37\x20\x2d\x34\x2e\x35\
+\x33\x39\x32\x2c\x2d\x30\x2e\x35\x33\x32\x32\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x31\x38\x36\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x73\x63\x63\x73\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\
+\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\
+\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x30\x2e\x30\x35\x32\
+\x36\x2c\x32\x32\x30\x32\x2e\x33\x38\x33\x37\x20\x63\x20\x2d\x36\
+\x2e\x32\x38\x32\x32\x2c\x2d\x31\x2e\x31\x39\x34\x35\x20\x2d\x38\
+\x2e\x30\x30\x36\x35\x2c\x2d\x30\x2e\x34\x31\x38\x31\x20\x2d\x31\
+\x35\x2e\x32\x30\x38\x38\x2c\x31\x2e\x31\x34\x37\x35\x20\x6c\x20\
+\x31\x2e\x33\x37\x35\x2c\x34\x2e\x32\x35\x20\x63\x20\x36\x2e\x37\
+\x32\x39\x34\x2c\x2d\x31\x2e\x37\x30\x30\x31\x20\x38\x2e\x30\x32\
+\x30\x34\x2c\x2d\x32\x2e\x35\x35\x32\x35\x20\x31\x33\x2e\x38\x33\
+\x33\x38\x2c\x2d\x35\x2e\x33\x39\x37\x35\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\
+\x61\x74\x68\x34\x31\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\
+\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\
+\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\
+\x31\x39\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x37\x32\x2e\x35\x39\x37\x36\
+\x2c\x32\x32\x30\x32\x2e\x33\x34\x30\x36\x20\x63\x20\x30\x2e\x38\
+\x37\x36\x39\x2c\x36\x2e\x33\x33\x34\x34\x20\x32\x2e\x39\x35\x39\
+\x34\x2c\x36\x2e\x36\x35\x39\x32\x20\x36\x2e\x37\x34\x35\x37\x2c\
+\x31\x32\x2e\x39\x38\x32\x38\x20\x6c\x20\x33\x2e\x35\x38\x37\x32\
+\x2c\x2d\x32\x2e\x36\x36\x31\x37\x20\x63\x20\x2d\x33\x2e\x37\x36\
+\x32\x35\x2c\x2d\x35\x2e\x38\x33\x32\x35\x20\x2d\x35\x2e\x37\x37\
+\x38\x35\x2c\x2d\x35\x2e\x37\x32\x32\x35\x20\x2d\x31\x30\x2e\x33\
+\x33\x32\x39\x2c\x2d\x31\x30\x2e\x33\x32\x31\x31\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\
+\x33\x33\x34\x39\x35\x31\x34\x38\x3b\x66\x69\x6c\x6c\x3a\x23\x30\
+\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\
+\x3d\x22\x6d\x20\x32\x35\x33\x37\x2e\x30\x39\x39\x32\x2c\x32\x32\
+\x33\x36\x2e\x34\x31\x32\x34\x20\x38\x2e\x31\x33\x31\x37\x2c\x2d\
+\x31\x36\x2e\x30\x38\x36\x37\x20\x63\x20\x35\x2e\x36\x38\x32\x31\
+\x2c\x31\x30\x2e\x31\x39\x34\x31\x20\x37\x2e\x37\x32\x30\x39\x2c\
+\x32\x38\x2e\x35\x39\x34\x35\x20\x39\x2e\x31\x39\x32\x33\x2c\x34\
+\x38\x2e\x36\x31\x33\x37\x20\x6c\x20\x2d\x37\x2e\x30\x37\x31\x2c\
+\x31\x2e\x39\x34\x34\x35\x20\x2d\x31\x30\x2e\x32\x35\x33\x2c\x2d\
+\x33\x34\x2e\x34\x37\x31\x35\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x31\x39\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x31\
+\x39\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x32\x36\x34\x33\x2e\x36\x39\x35\x35\x2c\
+\x32\x32\x32\x36\x2e\x38\x36\x36\x34\x20\x2d\x32\x2e\x32\x39\x38\
+\x32\x2c\x2d\x39\x2e\x31\x39\x32\x34\x20\x63\x20\x2d\x31\x32\x2e\
+\x32\x32\x32\x38\x2c\x38\x2e\x34\x32\x36\x33\x20\x2d\x32\x35\x2e\
+\x33\x39\x38\x36\x2c\x33\x33\x2e\x37\x32\x31\x31\x20\x2d\x32\x36\
+\x2e\x38\x37\x2c\x35\x33\x2e\x37\x34\x30\x33\x20\x6c\x20\x34\x2e\
+\x32\x34\x32\x36\x2c\x31\x2e\x35\x39\x30\x39\x20\x32\x34\x2e\x39\
+\x32\x35\x36\x2c\x2d\x34\x36\x2e\x31\x33\x38\x38\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
+\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x33\x33\
+\x34\x39\x35\x31\x34\x38\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\
+\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\
+\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\
+\x2e\x33\x34\x39\x35\x31\x34\x35\x39\x3b\x66\x69\x6c\x6c\x3a\x23\
+\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x64\x3d\x22\x6d\x20\x32\x36\x35\x32\x2e\x37\x31\x31\x33\x2c\x32\
+\x32\x36\x34\x2e\x36\x39\x36\x36\x20\x63\x20\x32\x2e\x34\x30\x30\
+\x31\x2c\x32\x2e\x38\x39\x37\x34\x20\x35\x2e\x35\x31\x37\x34\x2c\
+\x36\x2e\x38\x33\x30\x32\x20\x38\x2e\x38\x33\x38\x38\x2c\x37\x2e\
+\x34\x32\x34\x36\x20\x2d\x39\x2e\x37\x38\x31\x37\x2c\x31\x31\x2e\
+\x30\x34\x39\x34\x20\x2d\x31\x38\x2e\x38\x35\x36\x32\x2c\x31\x33\
+\x2e\x31\x32\x36\x37\x20\x2d\x32\x38\x2e\x36\x33\x37\x38\x2c\x31\
+\x39\x2e\x30\x39\x31\x39\x20\x6c\x20\x2d\x36\x2e\x30\x31\x30\x34\
+\x2c\x2d\x36\x2e\x37\x31\x37\x36\x20\x63\x20\x39\x2e\x35\x33\x31\
+\x36\x2c\x2d\x35\x2e\x39\x38\x30\x36\x20\x31\x39\x2e\x30\x34\x30\
+\x36\x2c\x2d\x31\x31\x2e\x39\x37\x36\x33\x20\x32\x35\x2e\x38\x30\
+\x39\x34\x2c\x2d\x31\x39\x2e\x37\x39\x38\x39\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x31\x39\x36\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\
+\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\
+\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x34\x31\x39\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x31\x39\x2e\x36\
+\x38\x36\x38\x2c\x32\x32\x35\x32\x2e\x38\x35\x32\x35\x20\x63\x20\
+\x31\x2e\x33\x33\x39\x34\x2c\x2d\x32\x2e\x38\x34\x37\x38\x20\x31\
+\x2e\x37\x31\x36\x37\x2c\x2d\x33\x2e\x39\x35\x33\x32\x20\x32\x2e\
+\x31\x32\x31\x33\x2c\x2d\x36\x2e\x37\x31\x37\x35\x20\x37\x2e\x30\
+\x36\x36\x33\x2c\x33\x2e\x36\x33\x39\x20\x31\x34\x2e\x31\x36\x39\
+\x37\x2c\x31\x34\x2e\x34\x37\x30\x33\x20\x32\x32\x2e\x38\x39\x32\
+\x36\x2c\x32\x38\x2e\x39\x39\x31\x34\x20\x6c\x20\x2d\x33\x2e\x37\
+\x31\x32\x33\x2c\x36\x2e\x38\x30\x35\x38\x20\x63\x20\x2d\x36\x2e\
+\x32\x30\x31\x35\x2c\x2d\x31\x34\x2e\x39\x39\x36\x32\x20\x2d\x31\
+\x39\x2e\x32\x33\x31\x36\x2c\x2d\x32\x34\x2e\x30\x38\x35\x35\x20\
+\x2d\x32\x31\x2e\x33\x30\x31\x36\x2c\x2d\x32\x39\x2e\x30\x37\x39\
+\x37\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\
+\x3a\x30\x2e\x33\x34\x39\x35\x31\x34\x35\x39\x3b\x66\x69\x6c\x6c\
+\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\
+\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x30\x2e\x31\x32\x31\x33\x35\x39\x31\x39\x3b\x66\
+\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x34\x33\x2e\x33\
+\x37\x34\x39\x2c\x32\x32\x38\x30\x2e\x39\x36\x20\x63\x20\x31\x2e\
+\x33\x33\x39\x34\x2c\x2d\x32\x2e\x38\x34\x37\x38\x20\x31\x2e\x38\
+\x30\x35\x31\x2c\x2d\x32\x2e\x39\x38\x30\x39\x20\x32\x2e\x32\x30\
+\x39\x37\x2c\x2d\x35\x2e\x37\x34\x35\x32\x20\x34\x2e\x39\x34\x35\
+\x2c\x2d\x30\x2e\x37\x38\x30\x34\x20\x35\x2e\x39\x35\x37\x31\x2c\
+\x2d\x30\x2e\x37\x36\x32\x39\x20\x31\x30\x2e\x30\x34\x32\x33\x2c\
+\x30\x2e\x30\x33\x34\x20\x6c\x20\x32\x2e\x33\x33\x32\x31\x2c\x34\
+\x2e\x39\x31\x35\x36\x20\x63\x20\x2d\x34\x2e\x30\x38\x30\x31\x2c\
+\x2d\x30\x2e\x36\x37\x37\x32\x20\x2d\x31\x30\x2e\x32\x31\x36\x2c\
+\x2d\x30\x2e\x31\x33\x32\x32\x20\x2d\x31\x34\x2e\x35\x38\x34\x31\
+\x2c\x30\x2e\x37\x39\x35\x36\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x32\x30\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\
+\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x31\
+\x32\x31\x33\x35\x39\x31\x39\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\
+\x66\x66\x66\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\
+\x22\x6d\x20\x32\x36\x31\x37\x2e\x34\x38\x38\x37\x2c\x32\x32\x37\
+\x36\x2e\x39\x35\x36\x20\x63\x20\x31\x2e\x32\x38\x37\x2c\x2d\x30\
+\x2e\x31\x33\x35\x32\x20\x32\x2e\x39\x38\x35\x31\x2c\x31\x2e\x30\
+\x36\x30\x38\x20\x34\x2e\x35\x30\x37\x35\x2c\x32\x2e\x35\x37\x33\
+\x33\x20\x2d\x36\x2e\x32\x37\x34\x35\x2c\x30\x2e\x34\x34\x35\x39\
+\x20\x2d\x31\x32\x2e\x30\x35\x31\x2c\x35\x2e\x38\x36\x30\x36\x20\
+\x2d\x31\x35\x2e\x33\x38\x30\x32\x2c\x31\x33\x2e\x36\x31\x30\x39\
+\x20\x2d\x32\x2e\x37\x36\x32\x2c\x30\x2e\x38\x30\x35\x33\x20\x2d\
+\x33\x2e\x36\x32\x39\x33\x2c\x2d\x30\x2e\x34\x31\x39\x34\x20\x2d\
+\x33\x2e\x30\x39\x33\x32\x2c\x2d\x33\x2e\x31\x34\x37\x38\x20\x33\
+\x2e\x37\x30\x32\x31\x2c\x2d\x37\x2e\x32\x36\x33\x20\x37\x2e\x39\
+\x31\x33\x33\x2c\x2d\x31\x32\x2e\x35\x39\x30\x31\x20\x31\x33\x2e\
+\x39\x36\x35\x39\x2c\x2d\x31\x33\x2e\x30\x33\x36\x34\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x34\x32\x30\x32\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\
+\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\
+\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\
+\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x35\x32\x2e\x37\x30\x36\
+\x35\x2c\x32\x32\x33\x30\x2e\x30\x38\x34\x36\x20\x63\x20\x2d\x34\
+\x2e\x36\x31\x35\x32\x2c\x34\x2e\x34\x32\x36\x35\x20\x2d\x33\x2e\
+\x36\x35\x36\x34\x2c\x36\x2e\x33\x30\x33\x35\x20\x2d\x36\x2e\x35\
+\x35\x35\x39\x2c\x31\x33\x2e\x30\x37\x39\x37\x20\x6c\x20\x34\x2e\
+\x32\x36\x2c\x31\x2e\x33\x34\x33\x33\x20\x63\x20\x32\x2e\x35\x31\
+\x35\x38\x2c\x2d\x36\x2e\x34\x36\x38\x38\x20\x31\x2e\x32\x34\x33\
+\x39\x2c\x2d\x38\x2e\x30\x33\x36\x38\x20\x32\x2e\x32\x39\x35\x39\
+\x2c\x2d\x31\x34\x2e\x34\x32\x33\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x34\x32\x30\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\
+\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x30\
+\x36\x37\x39\x36\x31\x31\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\
+\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\
+\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\
+\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x64\x3d\x22\x6d\x20\x32\x37\x32\x37\x2e\x35\x33\x30\x33\x2c\x32\
+\x33\x39\x32\x2e\x38\x33\x34\x35\x20\x63\x20\x31\x2e\x39\x36\x33\
+\x2c\x2d\x30\x2e\x38\x31\x37\x39\x20\x2d\x32\x38\x2e\x36\x39\x37\
+\x37\x2c\x2d\x32\x36\x2e\x31\x36\x37\x38\x20\x2d\x35\x31\x2e\x32\
+\x32\x31\x38\x2c\x2d\x33\x39\x2e\x33\x31\x35\x34\x20\x2d\x32\x32\
+\x2e\x35\x32\x34\x31\x2c\x2d\x31\x33\x2e\x31\x34\x37\x37\x20\x2d\
+\x34\x30\x2e\x38\x30\x38\x35\x2c\x2d\x36\x39\x2e\x36\x35\x36\x39\
+\x20\x2d\x34\x30\x2e\x38\x30\x38\x35\x2c\x2d\x36\x39\x2e\x36\x35\
+\x36\x39\x20\x6c\x20\x2d\x34\x2c\x39\x20\x63\x20\x31\x34\x2e\x32\
+\x33\x36\x31\x2c\x33\x34\x2e\x32\x34\x33\x39\x20\x31\x37\x2e\x39\
+\x34\x31\x31\x2c\x35\x33\x2e\x31\x33\x36\x20\x32\x37\x2e\x38\x37\
+\x35\x2c\x36\x33\x2e\x32\x35\x20\x39\x2e\x37\x35\x35\x36\x2c\x39\
+\x2e\x39\x33\x32\x35\x20\x33\x30\x2e\x31\x38\x34\x31\x2c\x32\x32\
+\x2e\x31\x34\x35\x33\x20\x33\x37\x2e\x31\x33\x34\x35\x2c\x33\x36\
+\x2e\x37\x31\x39\x37\x20\x6c\x20\x33\x31\x2e\x30\x32\x30\x38\x2c\
+\x30\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x30\x36\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x31\x30\x36\x37\x39\
+\x36\x31\x34\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\
+\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\
+\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\
+\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x32\x35\x39\x36\x2e\x35\x2c\x32\x34\x31\x39\x2e\x31\x31\x32\
+\x32\x20\x63\x20\x2d\x32\x2e\x35\x31\x33\x35\x2c\x31\x2e\x36\x35\
+\x36\x39\x20\x2d\x31\x37\x2e\x37\x31\x33\x35\x2c\x2d\x31\x33\x2e\
+\x35\x32\x33\x31\x20\x2d\x31\x38\x2e\x30\x38\x30\x36\x2c\x2d\x32\
+\x39\x2e\x38\x35\x33\x20\x2d\x30\x2e\x35\x30\x33\x2c\x2d\x32\x32\
+\x2e\x33\x37\x38\x35\x20\x2d\x31\x38\x2e\x31\x35\x35\x2c\x2d\x32\
+\x39\x2e\x35\x34\x37\x38\x20\x2d\x32\x33\x2e\x33\x34\x37\x37\x2c\
+\x2d\x32\x39\x2e\x31\x31\x34\x35\x20\x6c\x20\x2d\x36\x2e\x35\x37\
+\x31\x37\x2c\x31\x30\x2e\x32\x31\x37\x35\x20\x63\x20\x34\x2e\x31\
+\x37\x31\x37\x2c\x36\x2e\x38\x31\x39\x33\x20\x39\x2e\x39\x36\x38\
+\x32\x2c\x31\x34\x2e\x35\x30\x30\x33\x20\x31\x32\x2e\x33\x37\x35\
+\x2c\x33\x32\x2e\x33\x37\x35\x20\x32\x2e\x34\x30\x36\x38\x2c\x31\
+\x37\x2e\x38\x37\x34\x37\x20\x31\x33\x2e\x36\x38\x37\x35\x2c\x32\
+\x38\x2e\x35\x39\x37\x32\x20\x31\x39\x2c\x33\x35\x2e\x38\x37\x35\
+\x20\x32\x2e\x39\x37\x38\x2c\x2d\x38\x2e\x30\x39\x31\x38\x20\x31\
+\x31\x2e\x38\x30\x38\x33\x2c\x2d\x31\x34\x2e\x38\x30\x35\x35\x20\
+\x31\x36\x2e\x36\x32\x35\x2c\x2d\x31\x39\x2e\x35\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x30\x38\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x73\x63\x63\
+\x7a\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x61\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x66\x37\x66\x37\x66\x37\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x31\x30\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x63\x78\x3d\x22\x32\x35\x37\x37\x2e\
+\x38\x37\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\x32\
+\x31\x33\x31\x2e\x33\x36\x32\x33\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x72\x78\x3d\x22\x39\x2e\x31\x32\x35\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
+\x3a\x72\x79\x3d\x22\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2c\x32\
+\x31\x33\x31\x2e\x33\x36\x32\x33\x20\x63\x20\x30\x2c\x32\x2e\x32\
+\x30\x39\x31\x20\x2d\x34\x2e\x30\x38\x35\x34\x2c\x34\x20\x2d\x39\
+\x2e\x31\x32\x35\x2c\x34\x20\x2d\x35\x2e\x30\x33\x39\x36\x2c\x30\
+\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x31\x2e\x37\x39\x30\x39\x20\
+\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x34\x20\x30\x2c\x2d\x32\x2e\x32\
+\x30\x39\x31\x20\x34\x2e\x30\x38\x35\x34\x2c\x2d\x34\x20\x39\x2e\
+\x31\x32\x35\x2c\x2d\x34\x20\x35\x2e\x30\x33\x39\x36\x2c\x30\x20\
+\x39\x2e\x31\x32\x35\x2c\x31\x2e\x37\x39\x30\x39\x20\x39\x2e\x31\
+\x32\x35\x2c\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\
+\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x33\x32\x38\x37\x36\x37\x31\
+\x2c\x30\x2c\x30\x2c\x31\x2e\x33\x32\x38\x37\x36\x37\x31\x2c\x2d\
+\x38\x34\x39\x2e\x30\x32\x30\x35\x35\x2c\x2d\x37\x30\x30\x2e\x34\
+\x37\x31\x38\x36\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\
+\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\x33\x32\x38\x37\x36\
+\x37\x31\x2c\x30\x2c\x30\x2c\x31\x2e\x33\x32\x38\x37\x36\x37\x31\
+\x2c\x2d\x38\x30\x30\x2e\x37\x37\x30\x35\x35\x2c\x2d\x36\x39\x39\
+\x2e\x39\x37\x31\x38\x36\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x38\x37\x2c\
+\x32\x31\x33\x31\x2e\x33\x36\x32\x33\x20\x63\x20\x30\x2c\x32\x2e\
+\x32\x30\x39\x31\x20\x2d\x34\x2e\x30\x38\x35\x34\x2c\x34\x20\x2d\
+\x39\x2e\x31\x32\x35\x2c\x34\x20\x2d\x35\x2e\x30\x33\x39\x36\x2c\
+\x30\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x31\x2e\x37\x39\x30\x39\
+\x20\x2d\x39\x2e\x31\x32\x35\x2c\x2d\x34\x20\x30\x2c\x2d\x32\x2e\
+\x32\x30\x39\x31\x20\x34\x2e\x30\x38\x35\x34\x2c\x2d\x34\x20\x39\
+\x2e\x31\x32\x35\x2c\x2d\x34\x20\x35\x2e\x30\x33\x39\x36\x2c\x30\
+\x20\x39\x2e\x31\x32\x35\x2c\x31\x2e\x37\x39\x30\x39\x20\x39\x2e\
+\x31\x32\x35\x2c\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\
+\x79\x3d\x22\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\
+\x39\x2e\x31\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\
+\x22\x32\x31\x33\x31\x2e\x33\x36\x32\x33\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x63\x78\x3d\x22\x32\x35\x37\x37\x2e\x38\x37\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x31\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x66\x37\x66\x37\x66\x37\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\
+\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\
+\x70\x65\x3d\x22\x61\x72\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\
+\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\x73\x74\
+\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\
+\x2d\x77\x69\x64\x74\x68\x3a\x32\x3b\x6d\x61\x72\x6b\x65\x72\x3a\
+\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\
+\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\
+\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\
+\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\
+\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x37\x33\x2e\x32\x30\x30\
+\x39\x2c\x32\x32\x32\x34\x2e\x31\x38\x39\x37\x20\x63\x20\x2d\x36\
+\x2e\x31\x35\x34\x35\x2c\x30\x2e\x32\x32\x36\x39\x20\x2d\x31\x31\
+\x2e\x32\x39\x36\x31\x2c\x35\x2e\x30\x38\x37\x36\x20\x2d\x31\x31\
+\x2e\x37\x30\x33\x37\x2c\x31\x31\x2e\x33\x36\x31\x34\x20\x2d\x30\
+\x2e\x34\x33\x34\x37\x2c\x36\x2e\x36\x39\x32\x32\x20\x34\x2e\x36\
+\x36\x39\x34\x2c\x31\x32\x2e\x35\x30\x30\x38\x20\x31\x31\x2e\x33\
+\x36\x31\x34\x2c\x31\x32\x2e\x39\x33\x35\x37\x20\x36\x2e\x36\x39\
+\x32\x31\x2c\x30\x2e\x34\x33\x34\x37\x20\x31\x32\x2e\x35\x32\x33\
+\x36\x2c\x2d\x34\x2e\x36\x36\x39\x34\x20\x31\x32\x2e\x39\x35\x38\
+\x36\x2c\x2d\x31\x31\x2e\x33\x36\x31\x34\x20\x30\x2e\x34\x33\x34\
+\x39\x2c\x2d\x36\x2e\x36\x39\x32\x34\x20\x2d\x34\x2e\x36\x36\x39\
+\x35\x2c\x2d\x31\x32\x2e\x35\x30\x30\x39\x20\x2d\x31\x31\x2e\x33\
+\x36\x31\x36\x2c\x2d\x31\x32\x2e\x39\x33\x35\x37\x20\x2d\x30\x2e\
+\x34\x31\x38\x32\x2c\x2d\x30\x2e\x30\x32\x37\x20\x2d\x30\x2e\x38\
+\x34\x34\x34\x2c\x2d\x30\x2e\x30\x31\x35\x20\x2d\x31\x2e\x32\x35\
+\x34\x37\x2c\x30\x20\x7a\x20\x6d\x20\x30\x2e\x32\x30\x35\x32\x2c\
+\x35\x2e\x38\x31\x37\x36\x20\x63\x20\x30\x2e\x32\x31\x35\x32\x2c\
+\x2d\x30\x2e\x30\x31\x20\x30\x2e\x34\x34\x32\x31\x2c\x2d\x30\x2e\
+\x30\x31\x34\x20\x30\x2e\x36\x36\x31\x36\x2c\x30\x20\x33\x2e\x35\
+\x31\x34\x37\x2c\x30\x2e\x32\x32\x38\x33\x20\x36\x2e\x31\x36\x30\
+\x32\x2c\x33\x2e\x32\x33\x38\x33\x20\x35\x2e\x39\x33\x31\x37\x2c\
+\x36\x2e\x37\x35\x33\x20\x2d\x30\x2e\x32\x32\x38\x34\x2c\x33\x2e\
+\x35\x31\x34\x35\x20\x2d\x33\x2e\x32\x33\x38\x33\x2c\x36\x2e\x31\
+\x35\x39\x39\x20\x2d\x36\x2e\x37\x35\x33\x2c\x35\x2e\x39\x33\x31\
+\x38\x20\x2d\x33\x2e\x35\x31\x34\x35\x2c\x2d\x30\x2e\x32\x32\x38\
+\x36\x20\x2d\x36\x2e\x31\x36\x2c\x2d\x33\x2e\x32\x33\x38\x35\x20\
+\x2d\x35\x2e\x39\x33\x31\x36\x2c\x2d\x36\x2e\x37\x35\x33\x31\x20\
+\x30\x2e\x32\x31\x34\x2c\x2d\x33\x2e\x32\x39\x35\x31\x20\x32\x2e\
+\x38\x36\x34\x32\x2c\x2d\x35\x2e\x38\x31\x36\x39\x20\x36\x2e\x30\
+\x39\x31\x33\x2c\x2d\x35\x2e\x39\x33\x31\x37\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x34\x32\x31\x34\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x66\x69\x6c\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\
+\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\
+\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3a\x32\x3b\x6d\x61\x72\x6b\x65\x72\
+\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\
+\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\
+\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\
+\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\
+\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x39\x37\x2e\x30\x36\
+\x34\x32\x2c\x32\x32\x32\x36\x2e\x30\x34\x33\x38\x20\x63\x20\x2d\
+\x33\x2e\x36\x35\x32\x2c\x2d\x30\x2e\x34\x36\x37\x39\x20\x2d\x37\
+\x2e\x30\x31\x34\x35\x2c\x31\x2e\x39\x39\x35\x36\x20\x2d\x37\x2e\
+\x37\x35\x39\x35\x2c\x35\x2e\x35\x34\x33\x34\x20\x2d\x33\x65\x2d\
+\x34\x2c\x30\x20\x2d\x34\x65\x2d\x34\x2c\x30\x20\x2d\x39\x65\x2d\
+\x34\x2c\x30\x2e\x30\x31\x20\x2d\x30\x2e\x30\x34\x38\x2c\x30\x2e\
+\x31\x31\x38\x31\x20\x2d\x30\x2e\x30\x38\x2c\x30\x2e\x32\x34\x32\
+\x33\x20\x2d\x30\x2e\x30\x39\x34\x2c\x30\x2e\x33\x36\x39\x20\x6c\
+\x20\x2d\x31\x2e\x38\x33\x34\x37\x2c\x31\x34\x2e\x33\x31\x38\x31\
+\x20\x63\x20\x2d\x30\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\x34\x31\
+\x20\x30\x2e\x34\x34\x39\x31\x2c\x31\x2e\x34\x38\x31\x35\x20\x31\
+\x2e\x32\x32\x33\x2c\x31\x2e\x35\x38\x32\x32\x20\x6c\x20\x32\x2e\
+\x35\x37\x39\x31\x2c\x30\x2e\x33\x33\x30\x35\x20\x63\x20\x30\x2e\
+\x37\x37\x34\x2c\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\x31\x35\
+\x2c\x2d\x30\x2e\x34\x34\x39\x31\x20\x31\x2e\x35\x38\x32\x2c\x2d\
+\x31\x2e\x32\x32\x32\x38\x20\x6c\x20\x31\x2e\x38\x30\x34\x34\x2c\
+\x2d\x31\x34\x2e\x30\x38\x31\x38\x20\x63\x20\x30\x2e\x30\x31\x35\
+\x2c\x2d\x30\x2e\x30\x35\x32\x20\x30\x2e\x30\x32\x37\x2c\x2d\x30\
+\x2e\x31\x30\x34\x32\x20\x30\x2e\x30\x33\x36\x2c\x2d\x30\x2e\x31\
+\x35\x37\x33\x20\x30\x2e\x31\x35\x35\x34\x2c\x2d\x30\x2e\x38\x33\
+\x39\x32\x20\x30\x2e\x39\x31\x32\x39\x2c\x2d\x31\x2e\x34\x30\x37\
+\x38\x20\x31\x2e\x37\x37\x34\x35\x2c\x2d\x31\x2e\x32\x39\x37\x33\
+\x20\x30\x2e\x38\x36\x31\x36\x2c\x30\x2e\x31\x31\x30\x34\x20\x31\
+\x2e\x34\x35\x31\x31\x2c\x30\x2e\x38\x35\x31\x36\x20\x31\x2e\x33\
+\x39\x30\x32\x2c\x31\x2e\x37\x30\x32\x38\x20\x30\x2c\x30\x2e\x30\
+\x33\x31\x20\x30\x2c\x30\x2e\x30\x36\x32\x20\x30\x2c\x30\x2e\x30\
+\x39\x34\x20\x6c\x20\x2d\x30\x2e\x35\x34\x39\x2c\x34\x2e\x32\x38\
+\x34\x37\x20\x63\x20\x2d\x30\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\
+\x34\x31\x20\x30\x2e\x34\x34\x39\x2c\x31\x2e\x34\x38\x31\x35\x20\
+\x31\x2e\x32\x32\x32\x39\x2c\x31\x2e\x35\x38\x32\x31\x20\x6c\x20\
+\x32\x2e\x35\x37\x39\x31\x2c\x30\x2e\x33\x33\x30\x34\x20\x63\x20\
+\x30\x2e\x37\x37\x34\x2c\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\
+\x31\x35\x2c\x2d\x30\x2e\x34\x34\x39\x20\x31\x2e\x35\x38\x32\x32\
+\x2c\x2d\x31\x2e\x32\x32\x32\x36\x20\x6c\x20\x30\x2e\x35\x34\x30\
+\x33\x2c\x2d\x34\x2e\x32\x31\x37\x39\x20\x63\x20\x30\x2e\x30\x31\
+\x35\x2c\x2d\x30\x2e\x30\x35\x32\x20\x30\x2e\x30\x32\x37\x2c\x2d\
+\x30\x2e\x31\x30\x34\x34\x20\x30\x2e\x30\x33\x36\x2c\x2d\x30\x2e\
+\x31\x35\x37\x33\x20\x30\x2e\x31\x35\x35\x38\x2c\x2d\x30\x2e\x38\
+\x34\x31\x39\x20\x30\x2e\x39\x30\x37\x37\x2c\x2d\x31\x2e\x34\x30\
+\x38\x35\x20\x31\x2e\x37\x36\x39\x34\x2c\x2d\x31\x2e\x32\x39\x38\
+\x31\x20\x30\x2e\x38\x36\x31\x35\x2c\x30\x2e\x31\x31\x30\x34\x20\
+\x31\x2e\x34\x35\x31\x31\x2c\x30\x2e\x38\x35\x31\x35\x20\x31\x2e\
+\x33\x39\x30\x32\x2c\x31\x2e\x37\x30\x32\x39\x20\x30\x2c\x30\x2e\
+\x30\x35\x36\x20\x30\x2c\x30\x2e\x31\x31\x31\x35\x20\x2d\x36\x65\
+\x2d\x34\x2c\x30\x2e\x31\x36\x36\x39\x20\x6c\x20\x2d\x31\x2e\x38\
+\x30\x33\x36\x2c\x31\x34\x2e\x30\x37\x36\x38\x20\x63\x20\x2d\x30\
+\x2e\x30\x39\x38\x2c\x30\x2e\x37\x37\x34\x31\x20\x30\x2e\x34\x34\
+\x39\x2c\x31\x2e\x34\x38\x31\x35\x20\x31\x2e\x32\x32\x32\x38\x2c\
+\x31\x2e\x35\x38\x32\x32\x20\x6c\x20\x32\x2e\x35\x37\x33\x37\x2c\
+\x30\x2e\x33\x32\x39\x38\x20\x63\x20\x30\x2e\x37\x37\x34\x33\x2c\
+\x30\x2e\x30\x39\x38\x20\x31\x2e\x34\x38\x31\x37\x2c\x2d\x30\x2e\
+\x34\x34\x39\x20\x31\x2e\x35\x38\x32\x33\x2c\x2d\x31\x2e\x32\x32\
+\x33\x20\x6c\x20\x31\x2e\x38\x33\x34\x36\x2c\x2d\x31\x34\x2e\x33\
+\x31\x38\x20\x63\x20\x30\x2e\x30\x31\x34\x2c\x2d\x30\x2e\x31\x31\
+\x38\x20\x30\x2e\x30\x31\x34\x2c\x2d\x30\x2e\x32\x33\x37\x34\x20\
+\x30\x2c\x2d\x30\x2e\x33\x35\x35\x32\x20\x30\x2e\x31\x39\x30\x32\
+\x2c\x2d\x33\x2e\x36\x33\x33\x35\x20\x2d\x32\x2e\x34\x34\x35\x31\
+\x2c\x2d\x36\x2e\x38\x38\x32\x32\x20\x2d\x36\x2e\x31\x30\x37\x36\
+\x2c\x2d\x37\x2e\x33\x35\x31\x37\x20\x2d\x31\x2e\x36\x30\x39\x37\
+\x2c\x2d\x30\x2e\x32\x30\x36\x31\x20\x2d\x33\x2e\x31\x37\x30\x37\
+\x2c\x30\x2e\x31\x34\x39\x34\x20\x2d\x34\x2e\x34\x37\x32\x39\x2c\
+\x30\x2e\x39\x32\x30\x35\x20\x2d\x31\x2e\x30\x36\x35\x36\x2c\x2d\
+\x31\x2e\x30\x37\x33\x39\x20\x2d\x32\x2e\x34\x38\x36\x36\x2c\x2d\
+\x31\x2e\x38\x31\x32\x32\x20\x2d\x34\x2e\x30\x39\x36\x34\x2c\x2d\
+\x32\x2e\x30\x31\x38\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\
+\x32\x31\x36\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\
+\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\
+\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x36\x34\x2e\x31\x32\x36\x35\
+\x2c\x32\x32\x35\x31\x2e\x32\x37\x35\x32\x20\x63\x20\x30\x2c\x30\
+\x20\x31\x31\x2e\x34\x31\x33\x39\x2c\x2d\x30\x2e\x34\x31\x39\x39\
+\x20\x32\x32\x2e\x35\x36\x34\x2c\x30\x2e\x31\x36\x36\x32\x20\x31\
+\x31\x2e\x32\x32\x33\x31\x2c\x30\x2e\x35\x38\x39\x39\x20\x32\x32\
+\x2e\x38\x35\x36\x39\x2c\x33\x2e\x33\x38\x39\x31\x20\x32\x32\x2e\
+\x38\x35\x36\x39\x2c\x33\x2e\x33\x38\x39\x31\x20\x6c\x20\x2d\x30\
+\x2e\x31\x36\x34\x32\x2c\x33\x2e\x37\x39\x30\x39\x20\x63\x20\x30\
+\x2c\x30\x20\x2d\x31\x32\x2e\x30\x38\x38\x34\x2c\x2d\x32\x2e\x34\
+\x38\x39\x36\x20\x2d\x32\x32\x2e\x38\x35\x37\x2c\x2d\x33\x2e\x33\
+\x38\x39\x31\x20\x2d\x31\x30\x2e\x36\x39\x35\x38\x2c\x2d\x30\x2e\
+\x38\x39\x33\x35\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x20\x6c\x20\x30\x2e\x31\x36\x34\x32\x2c\x2d\x33\
+\x2e\x37\x39\x31\x31\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\
+\x31\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\
+\x70\x65\x73\x3d\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\
+\x3d\x22\x63\x7a\x63\x63\x7a\x63\x63\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x34\x32\x32\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x36\x34\x2e\x31\x32\x36\
+\x35\x2c\x32\x32\x31\x37\x2e\x38\x37\x34\x35\x20\x63\x20\x30\x2c\
+\x30\x20\x31\x31\x2e\x34\x31\x33\x39\x2c\x2d\x30\x2e\x34\x31\x39\
+\x39\x20\x32\x32\x2e\x35\x36\x34\x2c\x30\x2e\x31\x36\x36\x32\x20\
+\x31\x31\x2e\x32\x32\x33\x31\x2c\x30\x2e\x35\x38\x39\x38\x20\x32\
+\x37\x2e\x38\x33\x37\x37\x2c\x33\x2e\x39\x37\x35\x20\x32\x37\x2e\
+\x38\x33\x37\x37\x2c\x33\x2e\x39\x37\x35\x20\x6c\x20\x2d\x30\x2e\
+\x31\x36\x34\x32\x2c\x33\x2e\x37\x39\x30\x39\x20\x63\x20\x30\x2c\
+\x30\x20\x2d\x31\x37\x2e\x30\x36\x39\x32\x2c\x2d\x33\x2e\x30\x37\
+\x35\x35\x20\x2d\x32\x37\x2e\x38\x33\x37\x38\x2c\x2d\x33\x2e\x39\
+\x37\x35\x20\x2d\x31\x30\x2e\x36\x39\x35\x38\x2c\x2d\x30\x2e\x38\
+\x39\x33\x35\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\x2e\
+\x31\x36\x36\x31\x20\x2d\x32\x32\x2e\x35\x36\x33\x39\x2c\x2d\x30\
+\x2e\x31\x36\x36\x31\x20\x6c\x20\x30\x2e\x31\x36\x34\x32\x2c\x2d\
+\x33\x2e\x37\x39\x31\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x63\x34\x64\x37\x65\x63\x3b\x66\x69\x6c\x6c\x2d\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
+\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x30\x2e\x33\x33\x34\x39\x35\x31\x34\x38\x3b\
+\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\
+\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x35\x33\x35\x2e\
+\x30\x30\x30\x38\x2c\x32\x34\x30\x33\x2e\x32\x32\x32\x36\x20\x63\
+\x20\x2d\x31\x2e\x37\x38\x37\x34\x2c\x31\x2e\x30\x34\x31\x20\x2d\
+\x34\x2e\x33\x32\x34\x37\x2c\x32\x2e\x30\x38\x32\x31\x20\x2d\x36\
+\x2e\x38\x31\x32\x31\x2c\x32\x2e\x34\x32\x33\x31\x20\x6c\x20\x2d\
+\x32\x2e\x37\x36\x35\x32\x2c\x34\x34\x2e\x32\x36\x38\x39\x20\x63\
+\x20\x32\x2e\x32\x32\x38\x34\x2c\x2d\x31\x2e\x38\x39\x39\x32\x20\
+\x34\x2e\x31\x33\x35\x34\x2c\x2d\x35\x2e\x30\x38\x34\x20\x35\x2e\
+\x36\x35\x36\x38\x2c\x2d\x39\x2e\x38\x31\x31\x31\x20\x6c\x20\x33\
+\x2e\x39\x32\x30\x35\x2c\x2d\x33\x36\x2e\x38\x38\x30\x39\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x34\x32\x32\x32\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\
+\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\
+\x63\x63\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x63\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x34\x32\x32\x34\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x32\x36\x31\
+\x36\x2e\x32\x30\x35\x39\x2c\x32\x34\x30\x34\x2e\x38\x38\x30\x38\
+\x20\x63\x20\x32\x2e\x30\x34\x35\x36\x2c\x30\x2e\x33\x30\x36\x32\
+\x20\x34\x2e\x31\x36\x39\x33\x2c\x30\x2e\x33\x33\x35\x32\x20\x36\
+\x2e\x36\x30\x36\x35\x2c\x2d\x30\x2e\x32\x36\x37\x39\x20\x6c\x20\
+\x32\x33\x2e\x32\x37\x31\x35\x2c\x34\x34\x2e\x37\x30\x34\x31\x20\
+\x63\x20\x2d\x32\x2e\x37\x37\x32\x38\x2c\x2d\x30\x2e\x39\x34\x30\
+\x34\x20\x2d\x38\x2e\x39\x39\x32\x36\x2c\x2d\x36\x2e\x35\x35\x33\
+\x31\x20\x2d\x31\x32\x2e\x31\x35\x34\x33\x2c\x2d\x31\x30\x2e\x33\
+\x38\x32\x34\x20\x2d\x37\x2e\x30\x38\x35\x31\x2c\x2d\x31\x30\x2e\
+\x31\x38\x31\x39\x20\x2d\x31\x30\x2e\x33\x34\x31\x35\x2c\x2d\x31\
+\x37\x2e\x32\x38\x36\x33\x20\x2d\x31\x37\x2e\x37\x32\x33\x37\x2c\
+\x2d\x33\x34\x2e\x30\x35\x33\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x32\x32\x33\x33\x30\x30\
+\x39\x35\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\
+\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\
+\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x34\x30\x32\
+\x39\x31\x32\x36\x33\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\
+\x66\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\
+\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x3d\
+\x22\x6d\x20\x32\x35\x33\x31\x2e\x38\x37\x35\x2c\x32\x31\x38\x35\
+\x2e\x37\x33\x37\x32\x20\x63\x20\x34\x2e\x34\x31\x36\x34\x2c\x2d\
+\x33\x2e\x35\x34\x37\x37\x20\x36\x2e\x39\x32\x33\x2c\x2d\x35\x2e\
+\x39\x36\x38\x39\x20\x31\x35\x2e\x37\x35\x2c\x2d\x37\x20\x39\x2e\
+\x32\x39\x36\x35\x2c\x2d\x30\x2e\x35\x34\x36\x35\x20\x31\x32\x2e\
+\x35\x31\x38\x32\x2c\x34\x2e\x39\x38\x31\x38\x20\x31\x38\x2e\x32\
+\x35\x2c\x38\x20\x2d\x31\x30\x2e\x34\x30\x32\x37\x2c\x2d\x36\x2e\
+\x34\x38\x37\x20\x2d\x32\x32\x2e\x34\x33\x33\x2c\x2d\x37\x2e\x32\
+\x30\x34\x20\x2d\x33\x34\x2c\x2d\x31\x20\x7a\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x34\x32\x32\x36\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\
+\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x63\x63\x63\x63\x22\x20\x2f\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
+\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\
+\x73\x3d\x22\x63\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x34\x32\
+\x32\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x32\x36\x30\x35\x2e\x37\x36\x39\x34\x2c\
+\x32\x31\x39\x38\x2e\x31\x35\x38\x38\x20\x63\x20\x32\x2e\x36\x31\
+\x34\x37\x2c\x2d\x35\x2e\x30\x32\x35\x34\x20\x31\x35\x2e\x30\x37\
+\x31\x36\x2c\x2d\x31\x35\x2e\x31\x34\x35\x31\x20\x32\x32\x2e\x37\
+\x33\x36\x38\x2c\x2d\x31\x39\x2e\x36\x34\x32\x32\x20\x38\x2e\x32\
+\x39\x2c\x2d\x34\x2e\x32\x34\x32\x35\x20\x39\x2e\x37\x35\x32\x32\
+\x2c\x2d\x31\x2e\x33\x36\x32\x37\x20\x31\x36\x2e\x32\x31\x34\x31\
+\x2c\x2d\x30\x2e\x39\x30\x37\x31\x20\x2d\x31\x32\x2e\x31\x33\x34\
+\x2c\x2d\x31\x2e\x37\x35\x30\x37\x20\x2d\x33\x30\x2e\x38\x35\x39\
+\x38\x2c\x31\x30\x2e\x32\x31\x33\x39\x20\x2d\x33\x38\x2e\x39\x35\
+\x30\x39\x2c\x32\x30\x2e\x35\x34\x39\x33\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x33\x30\x35\x38\
+\x32\x35\x32\x31\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\
+\x66\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\
+\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\
+\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\x20\x20\x3c\
+\x2f\x67\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x30\x2e\x32\x30\x38\x37\x33\x37\x38\x34\x3b\x66\
+\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\
+\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\
+\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x64\x3d\x22\x6d\x20\x33\x39\x34\x2e\x34\x38\x38\x36\x38\x2c\
+\x32\x33\x33\x2e\x34\x39\x30\x39\x31\x20\x63\x20\x32\x31\x2e\x35\
+\x38\x34\x37\x35\x2c\x2d\x36\x39\x2e\x36\x35\x33\x34\x31\x20\x32\
+\x39\x2e\x38\x32\x30\x34\x35\x2c\x2d\x31\x31\x38\x2e\x34\x36\x30\
+\x31\x33\x20\x31\x38\x2e\x32\x39\x36\x38\x32\x2c\x2d\x31\x38\x30\
+\x2e\x33\x31\x30\x39\x34\x38\x20\x30\x2e\x35\x30\x35\x39\x37\x2c\
+\x2d\x31\x2e\x35\x38\x32\x37\x32\x32\x20\x37\x2e\x38\x33\x39\x38\
+\x2c\x35\x2e\x39\x39\x39\x32\x30\x38\x20\x31\x32\x2e\x31\x33\x34\
+\x36\x35\x2c\x32\x35\x2e\x32\x34\x39\x37\x37\x20\x34\x2e\x34\x35\
+\x39\x35\x37\x2c\x31\x39\x2e\x39\x38\x37\x39\x20\x36\x2e\x39\x39\
+\x36\x35\x39\x2c\x34\x32\x2e\x37\x39\x39\x31\x37\x38\x20\x33\x2e\
+\x34\x31\x37\x36\x34\x2c\x37\x31\x2e\x32\x34\x33\x32\x39\x38\x20\
+\x2d\x33\x2e\x35\x37\x38\x39\x34\x2c\x32\x38\x2e\x34\x34\x34\x31\
+\x33\x20\x2d\x31\x34\x2e\x38\x32\x31\x39\x31\x2c\x36\x35\x2e\x39\
+\x37\x30\x33\x33\x20\x2d\x32\x33\x2e\x32\x38\x34\x32\x37\x2c\x38\
+\x31\x2e\x30\x35\x30\x37\x32\x20\x2d\x36\x2e\x31\x39\x38\x37\x36\
+\x2c\x31\x31\x2e\x30\x34\x36\x34\x35\x20\x2d\x31\x30\x2e\x35\x36\
+\x34\x38\x34\x2c\x32\x2e\x37\x36\x37\x31\x36\x20\x2d\x31\x30\x2e\
+\x35\x36\x34\x38\x34\x2c\x32\x2e\x37\x36\x37\x31\x36\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x36\x30\x39\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x73\x7a\x73\x63\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\
+\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x73\x63\x63\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x36\x30\x39\x39\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x33\x36\x38\x2e\x37\x39\x34\
+\x35\x33\x2c\x38\x30\x31\x2e\x33\x30\x39\x34\x37\x20\x63\x20\x30\
+\x2e\x33\x31\x33\x36\x31\x2c\x2d\x38\x2e\x32\x37\x32\x38\x31\x20\
+\x31\x30\x2e\x33\x34\x30\x30\x37\x2c\x2d\x35\x2e\x32\x37\x37\x31\
+\x33\x20\x36\x2e\x39\x34\x36\x35\x36\x2c\x2d\x31\x32\x2e\x37\x33\
+\x38\x33\x33\x20\x2d\x32\x30\x2e\x34\x30\x37\x30\x37\x2c\x2d\x34\
+\x34\x2e\x38\x36\x37\x38\x35\x20\x2d\x33\x34\x2e\x35\x32\x32\x32\
+\x33\x2c\x2d\x31\x36\x34\x2e\x33\x34\x36\x35\x39\x20\x2d\x33\x39\
+\x2e\x31\x30\x33\x30\x37\x2c\x2d\x32\x30\x35\x2e\x39\x32\x37\x37\
+\x39\x20\x2d\x34\x2e\x34\x35\x39\x35\x38\x2c\x31\x39\x2e\x39\x38\
+\x37\x39\x31\x20\x2d\x39\x2e\x35\x38\x34\x31\x36\x2c\x31\x2e\x31\
+\x36\x36\x38\x36\x20\x2d\x32\x30\x2e\x36\x36\x38\x30\x38\x2c\x2d\
+\x30\x2e\x34\x35\x36\x38\x20\x32\x2e\x31\x38\x30\x31\x31\x2c\x31\
+\x31\x2e\x35\x33\x38\x31\x36\x20\x31\x38\x2e\x33\x31\x38\x32\x33\
+\x2c\x31\x37\x37\x2e\x38\x37\x33\x33\x38\x20\x35\x32\x2e\x38\x32\
+\x34\x35\x39\x2c\x32\x31\x39\x2e\x31\x32\x32\x39\x32\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x6f\
+\x70\x61\x63\x69\x74\x79\x3a\x30\x2e\x32\x30\x38\x37\x33\x37\x38\
+\x34\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\
+\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\
+\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\
+\x73\x74\x72\x6f\x6b\x65\x3a\x6e\x6f\x6e\x65\x22\x20\x2f\x3e\x0a\
+\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x06\x3c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x03\x49\x44\x41\x54\x58\x85\xc5\x97\xdb\x8f\x1c\x57\
+\x11\xc6\x7f\x55\xe7\x74\xcf\xec\xce\xce\xf8\xbe\xc6\x8e\x1d\x05\
+\x19\xc5\x98\x04\x1b\x5f\xb8\x98\x6c\x36\xc4\x41\x4e\x04\x48\x08\
+\x09\x81\x84\x64\x24\x78\x40\x88\xf0\x4f\xf0\xc4\x23\xff\x02\xb6\
+\xcc\xe5\x85\x07\x84\x0d\x92\x89\x42\x2e\x84\x17\xe2\x28\x8e\x25\
+\x3b\xb1\x23\x20\x24\x06\x3b\x8e\x63\x6d\xef\x65\x66\xba\xfb\x9c\
+\xe2\xa1\x7b\x2e\x5e\x4f\xbc\x6b\x81\x44\x49\xe7\xa1\xeb\x1c\xf5\
+\xf7\x9d\xaa\xaf\xab\xaa\xc5\xcc\xf8\x7f\x9a\xff\xf2\xcf\xae\x10\
+\x2d\x72\xfe\x9d\x25\xbc\x0a\x22\x82\x8e\x1d\x10\x11\xc4\x2b\xb7\
+\xaf\xbe\x8f\x78\x45\x44\x86\x7b\x66\x60\x66\x6c\x9c\x76\xf4\xf2\
+\xc8\x4a\x11\x99\x4a\x1d\xe6\x14\x71\x0a\xf5\x12\xa7\x48\xa2\x80\
+\x23\x7a\x25\x17\xe1\xd8\x43\x53\xf4\x4b\xee\xc0\xba\xa7\x99\x19\
+\x58\x0d\x4a\xb5\x00\x62\x34\x42\xb0\x5d\x45\x11\x67\xca\xd2\x88\
+\xf7\x19\xd1\xf5\x11\x30\xab\x80\xe3\x80\x81\xd5\x3e\x23\x04\x63\
+\x7e\xdf\x86\x77\xbf\x75\x74\x76\x91\x6e\xd1\x09\x45\xac\xce\xfd\
+\xaf\x08\x18\x86\x45\x63\xcb\x27\xb7\xd3\x4a\x85\x56\x43\xab\xd5\
+\x74\xb4\x1a\xca\x4c\x43\xf8\xc3\xd5\x95\x72\xd3\x77\xf6\xf3\x99\
+\xa3\x3b\x16\xfa\x2b\x79\x2b\x94\x6b\x93\x50\xa9\xd7\xda\xb7\xaf\
+\x2f\x5c\x46\xd2\x07\xb7\xd2\x8b\x42\xdf\x94\xbe\x29\x39\x4a\x81\
+\x12\xd2\xb4\xf7\xef\x08\x5f\xfc\xd1\x41\x0e\x1e\x9c\x5d\x1a\x92\
+\x30\x63\x12\x0d\x55\xf0\x02\xc9\xba\x08\xc0\x28\x05\x21\xd2\xde\
+\xb5\x11\x13\x01\x27\x43\x91\xa9\x10\x1b\x2b\xf0\x8b\x2b\x30\xf7\
+\xe3\x23\x1c\x3a\xb0\x6d\x29\xef\xe6\xed\x50\xc4\x91\x68\x6a\x13\
+\x2a\xf0\x73\x7f\xef\x73\xb1\xef\xd7\x2f\xc2\x71\x1d\xb4\x77\x74\
+\x6a\x12\x43\xa5\x9b\x18\x34\x72\x38\xfd\x16\x3c\xfe\xec\x61\x0e\
+\x3c\xb2\x39\xcb\xbb\x45\x3b\x94\x11\x63\x44\x42\x04\x54\x84\x44\
+\x61\x51\xdc\x7d\x10\x18\x90\x88\x86\x05\xa3\xbd\x75\xa6\x4e\xa2\
+\x62\xaa\x26\x54\xe1\x6c\x94\x70\xfa\x2a\x3c\xf1\xec\x11\x0e\xee\
+\xdb\x98\xe5\xdd\xb2\x1d\xca\x4a\xb0\xc3\x28\x48\xb5\xec\xc6\xc2\
+\x88\x80\x0d\xbe\xad\x5a\xdd\xf7\x5a\x31\x46\x42\x19\x69\xb6\x52\
+\x0a\x33\xf2\x10\x57\x42\x09\x16\x40\x83\x91\xf6\xe0\xd4\x9b\x30\
+\xf7\x83\xc3\xec\xff\x44\x27\x2b\xfa\x45\x3b\x04\xab\x04\x3d\x24\
+\x51\xa9\xd0\x0b\x40\xac\x42\x1b\xac\xca\x91\x54\xe2\x51\xcc\x1a\
+\xd5\xee\x24\x2d\x49\x0c\x65\x2c\x77\x6f\x6e\xcc\xce\x75\xba\x3b\
+\x8b\x2e\xd8\x72\x01\x16\x51\x11\x52\x81\x93\x6f\x24\x9c\xf8\xde\
+\x21\xe2\xcf\x5f\xcb\x2e\x5f\xeb\x76\x50\xb7\xe8\xfc\x28\x17\x22\
+\x86\x77\x18\xad\x99\xb4\xf9\xa0\xeb\x1d\xf6\x5b\x3a\x0f\x5b\x23\
+\x7d\x54\xf2\xf2\x48\x4c\xfd\xa3\x86\xdb\x8c\xaf\x72\x3f\xc9\x42\
+\x84\x54\x8c\x6b\x2d\xc7\xb6\x5e\x41\xec\xe5\x44\xac\x0a\x31\x90\
+\x4a\xc1\xa9\xd7\x3c\x27\xbe\x7d\x08\xfb\xe5\xf9\xec\xcd\x9b\xa1\
+\x43\xe2\x16\xc5\xaa\x14\x80\xe0\x2f\xdd\xec\xb1\x65\xd7\x54\xf3\
+\x83\xfd\x9f\x42\xbd\xb6\x4c\xa5\x5d\x22\xfe\xeb\x7b\x9a\xad\x95\
+\x00\x61\xac\xf4\xde\xad\x09\x08\x40\xcc\x0d\xd7\xcb\xa1\x9b\xd7\
+\x21\xac\xb6\x15\x48\xad\xe0\xe4\xeb\x05\x27\xbe\x79\x80\xf0\x9b\
+\x0b\xd9\xdb\x0b\xa1\xa3\x89\x2e\x6a\xad\x03\xbf\x10\x1d\x7d\xf3\
+\xa8\x13\xb1\x60\x50\x06\xd4\x24\xfc\xf6\x52\x76\x2b\x06\x76\xde\
+\x53\x94\xe3\x09\xc1\xf0\x40\xd4\x21\x7e\xe5\x37\x21\xcd\x0b\x4e\
+\x9d\xcf\x39\xf1\xb5\x47\x88\x67\x2e\x67\xff\xe8\xda\x86\x44\x2d\
+\x43\xc0\x6b\xa2\x20\x8a\xf5\x0b\x23\x58\xc0\xac\x14\x88\x1a\x31\
+\x19\xc4\x7e\xfc\x5b\x89\x43\xc4\x55\x04\x46\x42\x59\x9d\x31\x01\
+\x12\x2b\x38\xf9\x6a\xce\x77\x9f\x79\x98\xe7\xce\x5d\x59\xb8\xd6\
+\x97\x8f\x79\xec\x86\x57\x55\xac\x9f\x13\x4d\xc0\x62\x15\x53\xaa\
+\x2a\x46\x18\x74\x9e\x00\x51\x18\x55\xd7\x38\x22\x62\x76\x27\x97\
+\xc1\xc3\x78\xea\x14\xcc\x14\x0c\x7e\xfd\x4a\x8f\x6f\x1c\x7a\x80\
+\x3f\xfd\xea\x2f\x3f\xbd\xbd\x77\xdf\xf7\x3d\x40\xb9\xdc\xaf\x30\
+\x6a\x02\x42\xdd\xd5\x62\x05\x60\x13\xde\xc9\x98\x4f\x00\x71\x35\
+\xf6\xa4\x30\x44\x28\x63\xa4\xd5\x74\xa4\x44\x5e\x3e\xfd\xe2\xed\
+\xdb\x9f\x3e\xf0\x13\x09\x11\x2f\x5e\x48\xc4\x70\x0d\x41\x71\x22\
+\x82\x20\xa2\x2a\xa2\xa2\x93\x41\xc7\xcd\x2b\x74\x2d\xb2\xb8\x14\
+\x51\xe4\xae\xf3\x66\x50\x98\xd0\x9e\x76\x4c\x27\x9e\xe6\xf3\x7f\
+\xce\xae\x7f\xee\xb3\xc7\xe8\x87\x77\x30\xf0\x04\xcf\x9e\xcd\x89\
+\x4e\x77\x34\x8d\x22\x2d\x27\x6c\xf4\x4e\xb6\x78\x27\xb3\x89\xd3\
+\x7b\x13\x10\xf0\x6a\x2c\xbd\x6b\xbc\xe2\x7a\xc3\x68\x0c\xc1\x81\
+\x10\x8d\xce\xb4\xa7\xd5\x74\x34\xce\xbd\x9c\x5d\xff\xc2\xe7\xe7\
+\xca\xbc\xbc\x28\x66\x95\x70\xd3\x05\x87\x76\x5c\xfc\xf0\xd2\x3f\
+\x8b\xbc\x5f\x64\xa1\xd1\xb8\x1a\x8a\x10\x75\xb9\xdb\x2b\x35\xd9\
+\xa6\xdd\xee\xb4\x18\xe5\x44\x7c\x47\x59\xf4\x7c\xef\xfa\xd2\xde\
+\x3d\xad\x27\x1c\x21\x04\x06\x45\xc3\x10\x82\x09\x9d\x56\xc2\x4c\
+\xc3\xe1\xcf\xbd\xb8\x78\xe3\xb1\xa3\xf3\x65\xaf\xa8\xc0\xeb\x73\
+\xbe\x6c\x44\xde\xeb\x15\x4b\xe5\xec\xce\x57\xcb\x68\xaf\x03\x1e\
+\x68\x82\x4c\x8b\xd2\xa9\xae\x24\x93\x4a\x91\x61\x2c\xb3\xa0\xf2\
+\xc0\xdf\x2e\xbc\x75\x2b\x3d\xa8\x92\x4b\x5d\x45\x2b\xc1\xce\x4c\
+\x39\x66\x1a\x8e\xe4\xec\x0b\xd9\x8d\xf9\xc7\xe6\x8a\x6e\x05\x3e\
+\xde\x17\xbc\x00\x19\xb1\x8c\xb9\x94\x77\xc2\xac\xea\xa1\xab\x2d\
+\x82\x39\xc1\x9a\xc2\x8c\x53\x15\x55\xc4\xd5\x93\x92\x08\xad\xd4\
+\xd1\x4a\x1d\xc9\xd9\xe7\xb3\x9b\x4f\xce\xcd\x0f\xc0\x65\x55\x59\
+\xf5\x5a\xbf\x5f\x27\x8e\x0e\x77\x73\x19\xf9\x0c\x82\xe0\x3b\x29\
+\xe2\x14\x75\x0e\xa2\x11\x81\x66\xea\x69\x3a\xa1\x71\xf6\x85\xec\
+\xe6\x53\xf3\x73\xf9\x84\x9b\x0f\x09\x8c\x3f\xac\x21\xf8\x21\xb0\
+\x01\x44\x23\xd9\x38\x45\x14\xad\x7c\x89\xc7\x44\x68\xa8\x90\x38\
+\x61\xfa\xcc\x73\xd9\x07\xc7\xbf\x34\x5f\x74\xf3\x8b\x32\x98\x23\
+\x27\x98\xbf\xb3\x86\xad\x0d\x3e\x68\xd9\xe9\xe6\x19\x0c\xaa\x91\
+\xdb\x29\xd2\x74\x24\x41\x48\x22\xb4\x7f\xf7\xc7\xec\xe6\xd3\xc7\
+\xe6\x8b\x5e\x71\x61\x00\xfe\x51\x08\xf7\x37\x11\x51\xb5\xed\x74\
+\x7b\x07\xf3\x82\x79\x81\x54\x89\xd1\x90\x65\x47\xb3\xe9\x98\x39\
+\x73\x2e\x7b\xff\x99\xa7\xe6\x43\x19\x2e\x88\xc5\xbb\x72\x3e\x21\
+\x02\xeb\xbc\x39\x40\x88\x34\x76\x6f\x82\x60\x88\x08\xa6\x60\x5e\
+\xf8\xf0\xd6\x76\x76\x5c\x53\xd2\x97\x7e\xbf\xf2\xaf\xaf\x1e\x7f\
+\x3c\xf6\x8b\x37\x24\xae\x0d\x0e\xeb\x9a\x8a\x47\x03\x69\xba\x69\
+\x2b\x31\x13\xc2\x92\x12\x96\x95\xb8\xa4\xd8\xa2\x50\xec\xfe\xf8\
+\x4b\xed\x1b\x7f\x5d\x59\xfe\xca\xf1\x27\x63\x08\xeb\x06\x87\xb5\
+\x22\x30\xd0\x4e\x8c\x34\xb6\xcf\x62\x31\x20\x26\x75\x55\xa8\xa6\
+\x0a\x13\x74\xc3\x5e\xfb\x61\x36\x7d\x40\x7a\x79\xb8\x4c\x88\x1f\
+\x29\xb8\xfb\x27\x50\x33\x98\x7a\x68\x16\x0b\x71\x28\xc0\x3b\xf6\
+\x85\x88\xb7\xcb\xb9\x07\x09\x36\x18\xe7\xd6\x6d\xeb\x4c\x41\xfd\
+\x0d\x0f\xc0\xc7\x7f\x0e\x0d\x88\xa3\xce\x79\xbf\xb6\x4e\x11\xae\
+\x02\x1d\xf7\xff\x97\xf6\x1f\x55\x71\x66\xb1\x3b\xac\xe4\xa6\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x02\x75\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x02\x3c\x49\x44\x41\x54\x58\x85\xed\x97\xc1\x6a\x14\x41\
+\x10\x86\xbf\xbf\xba\x27\x89\x1b\x62\x14\xf1\x20\x78\xf0\x09\x72\
+\x10\x3c\x7a\x17\x9f\xc0\x07\xf0\xe4\x23\x89\x20\xf8\x00\x82\x17\
+\x7d\x02\x4f\x2a\x88\xaf\x10\x50\x24\x26\x2c\x9b\xdd\xec\xc6\xe9\
+\xee\xf2\xb0\xb3\xbb\x33\xc9\x6e\x4e\x49\xf6\x60\x7e\x68\x7a\xea\
+\xef\xea\xe9\x7f\xaa\xa6\xa6\x7b\xe4\xee\xac\x13\xf1\xdd\xfb\x0f\
+\xaf\xbc\xda\x7e\xec\xee\xee\x9a\xd1\x0e\x05\xe6\x76\x59\x4c\x70\
+\x2d\x04\xcf\xb4\x4b\x74\x20\x6f\x11\xd6\x1e\x5f\xf0\x92\x54\xe5\
+\xf1\xd7\xd8\xdb\xbd\xf7\xe2\xc9\xde\xde\xd3\xc9\x69\x4d\xca\x85\
+\x54\x0a\xb9\x64\xb2\x43\x49\x89\xec\x4e\xce\x4e\x2a\x85\x32\x6f\
+\x4e\x76\xc7\xf3\x54\x99\x82\x61\xd2\xb4\x99\x30\x33\x62\xd3\x9b\
+\xc4\xc3\xfb\xbb\x1c\x1e\x8f\xb8\xbb\xdd\xa3\x3f\x9c\x70\xbb\xb7\
+\xc1\xc1\x60\xc4\xd1\xc1\xef\x47\x11\xa8\x87\xfd\x43\xfa\xc7\x23\
+\xdc\x1d\x1c\xdc\x9d\x22\xe6\x76\x69\x7a\x70\x54\x1c\x9b\x3d\x75\
+\x99\x86\x40\x45\xf3\xe7\x93\x09\x47\x24\x81\x21\x10\xec\x8f\x07\
+\x38\x30\xee\x1f\xe1\x0e\xe3\x81\xe8\xdd\xda\x02\xa8\xa3\x17\xe7\
+\x4e\x6f\x83\xed\xca\x90\x84\x9a\x78\x49\xb4\xae\x05\xd2\x74\x81\
+\x16\x27\x75\x42\x3a\x0f\xb3\xe4\x8d\xad\x59\x42\x11\x9a\xa7\x42\
+\x66\xa4\xba\xe6\xe7\x9f\x23\x22\x38\x3b\x3b\x3b\x84\x10\x3b\x69\
+\xea\xa6\x75\x41\xea\x8c\xc3\x6a\xbf\xb3\xe8\xde\x63\x32\x19\x03\
+\x10\xdd\x61\x6b\x73\x13\x97\x08\x1f\x5f\x9e\x9b\x76\x15\xc8\xcf\
+\xdf\x10\x63\x84\x02\x11\x9a\x5c\x37\xf1\xa9\xf7\x1e\x74\x9c\xab\
+\x1f\xbf\x2e\x9d\x9b\xaf\x49\x23\xa0\x8d\x2d\x1b\x50\xc6\xf5\xdc\
+\xf6\x2b\xe0\xda\xb0\xb3\x02\xae\x1b\xe7\x22\x90\x86\x89\xce\x07\
+\xe3\x0a\xb8\x8b\x05\x9c\x8e\x3b\x76\x85\x5d\x3a\x77\xa1\x80\x6a\
+\xff\x7c\x56\x2e\x9b\xbb\x50\xc0\x75\x55\xc1\x4a\x01\x37\x55\xf0\
+\x7f\x56\x81\xb7\x94\x5d\x67\x15\x28\x68\xbd\x55\xe0\xd9\x1b\x01\
+\xad\x73\xe1\x5a\xaa\x60\x9d\x07\xd3\x9b\x2a\x58\xdb\x5e\x10\x63\
+\x5c\x54\x41\x9d\x12\x9b\x21\x90\x9e\xbd\x5e\xea\xbc\x0c\x92\x96\
+\xbe\x3b\xab\xf8\x8e\x8f\x3b\x7f\x27\x09\xb9\x88\x55\x8c\x55\xc1\
+\xe8\x0f\x4f\xc8\xee\x94\xe4\x14\x0a\xb9\x38\xa5\x34\xbd\x3b\xa5\
+\x38\x5e\x9c\xcc\xb4\x9f\x71\xb3\xd3\xb3\x49\x84\x10\x48\x39\x63\
+\x26\xe4\x8e\xc9\x88\x21\x62\x26\x36\x42\x85\x42\xc6\xcc\x08\x82\
+\x68\x86\x45\x6d\xc4\xd1\xe0\xe0\xed\xa7\xcf\x5f\xbe\x2d\xce\xfe\
+\xcb\xe1\xed\xc1\x15\x7e\x21\x04\x72\xce\x2b\xc7\xf0\xa9\xf0\x69\
+\xa4\x20\xa4\x93\xef\x5a\xf7\xbf\xe1\xda\x77\xc3\x1b\x01\xff\x00\
+\x0f\x6a\xd5\x28\x97\x3c\x6c\x36\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\x1c\x16\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x60\x00\x00\x00\x31\x08\x06\x00\x00\x00\x25\x4a\xac\x6a\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x0a\
+\x0f\x00\x06\xfb\x27\x10\x8b\x00\x00\x00\x19\x74\x45\x58\x74\x43\
+\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\x64\x20\x77\
+\x69\x74\x68\x20\x47\x49\x4d\x50\x57\x81\x0e\x17\x00\x00\x1b\x71\
+\x49\x44\x41\x54\x78\xda\xed\x9c\x79\x90\x65\x57\x7d\xdf\x3f\xbf\
+\x73\xee\xbd\xef\xbe\xf7\xba\x5f\x2f\xd3\x3d\x5b\x8f\x66\x34\x8b\
+\xa4\x91\x2c\x84\x34\x83\x04\x12\x42\x12\x10\x16\x63\x01\x0e\xc4\
+\x6c\x31\x86\x0a\xc1\xd8\x29\xe2\x32\x45\x25\x55\xa4\x52\xb6\x0b\
+\x30\x14\x0e\x4e\x25\xf9\xc3\x31\x81\x54\x88\x1d\x13\x43\x8c\x21\
+\x2c\x42\x82\x20\x21\xc1\x20\x21\xb4\x61\x21\x90\x66\x46\xb3\x48\
+\x9a\xb5\x7b\x66\x7a\x79\xeb\xbd\xf7\x9c\x5f\xfe\x38\xb7\x5f\x77\
+\xcf\x74\xcf\xf4\x80\x2c\xe7\x8f\xbc\xa9\x57\xdd\xd3\x7d\xdf\xd9\
+\x7e\xfb\xf7\xfb\x3b\x2d\xaa\xaa\xfc\xff\xd7\x3f\xd8\x2b\xba\xa8\
+\xa7\x55\x51\x3c\x22\x0a\xce\x81\x58\x54\x23\xc4\x2e\xf7\xa8\x42\
+\x11\xbe\x17\x2b\xa8\x78\xbc\x77\x58\x0c\x8a\x45\xac\x02\x0a\x4e\
+\xc1\x08\xf8\x1c\xb5\x31\xe2\x0d\x2a\x19\xd0\x43\xa4\x0a\x6a\x50\
+\xed\x21\x26\x06\x22\xd4\x81\x18\x8f\x52\xe0\xbd\x45\x4d\x8e\x10\
+\x63\xbc\x45\x04\x54\x32\x44\x0c\x9a\x5b\x30\x39\x98\x1e\x48\x0c\
+\x5a\x99\x5f\x19\x39\x8e\x18\x0b\xde\x84\x1f\x99\xb0\x16\x41\xca\
+\x05\x2b\x50\xfe\x0e\x5f\x7e\x35\xe5\xf7\x1e\xd4\x82\xf7\x60\x65\
+\xd1\x73\xbf\xd8\x4b\x56\x6b\x01\xaa\x8a\xa8\xa0\xe2\xf0\x78\x2c\
+\x16\xe4\x02\x93\x7b\x50\xa7\x48\xa4\xa8\x84\xf3\xc6\x1b\xc4\xf8\
+\x95\x3f\xeb\xc1\x89\xc3\x69\x46\x62\xaa\xe7\x59\xcf\x1c\x50\x29\
+\x37\x91\xa0\x4e\xf1\x06\xac\xd5\x15\x0f\xc5\x69\x18\xd7\x6a\x82\
+\xaa\x62\x25\x42\x4c\xd8\xbe\xc3\x63\x65\xe1\x40\x15\xc8\x73\x4f\
+\x27\xcb\x10\x6b\x88\x4c\x44\x25\x11\xec\xbc\x90\x00\xa5\x40\x2e\
+\x52\x87\x7f\x61\x01\xe0\x01\xf1\xa0\x1e\x4c\xc4\xb1\xc9\x59\xbe\
+\x74\xe7\x8f\xc2\x20\xa4\x00\xa4\x15\x43\xb7\xe7\x69\x75\xdb\x6c\
+\x9d\x18\xe1\x8d\xb7\x5d\x4b\xbd\x96\xa0\x74\x41\x0d\x42\x5c\xce\
+\x2a\xdc\xf7\xf0\x3e\xf6\x3c\x72\x80\x7a\x5a\xa3\x6e\x13\xa6\xda\
+\x39\xdb\x36\x35\xf8\x8d\xd7\x5f\xd3\x17\xf8\xf7\x1f\xd9\xcf\x0f\
+\xee\x7f\x8a\xfa\x50\xa5\xbf\x8c\x76\xd7\xf3\x92\x5f\xd9\xcc\xad\
+\xd7\x6f\x25\x89\x2b\x38\xf5\x58\x0c\xa8\xa0\x06\xf6\x4d\xce\xf2\
+\xe5\xaf\xde\x4f\x3d\xad\x61\xa2\x94\x9e\x2b\x98\x6b\x76\xd9\xb2\
+\x76\x80\x7f\xfc\xaa\xcb\x19\x1e\xae\x53\x14\x84\xc3\x97\xa0\x20\
+\xc4\xe1\xc4\x9f\x9b\x6b\xb3\xe7\x07\x4f\x70\xf0\xc8\x19\x4e\x9f\
+\x9c\xe3\xc4\x99\x39\x7a\x59\x42\x25\xc9\x50\x5b\x63\x7d\xc3\x32\
+\x32\x94\x32\x30\x34\xc4\x4d\xd7\xef\x60\xf7\x15\xeb\x10\x31\x2f\
+\x90\x0b\x12\x05\xaf\x38\xa3\x58\xe0\xc8\xa9\x16\xff\xe5\xcf\xef\
+\x66\x26\x1d\x62\xb0\x32\xb0\xe4\xd1\xb9\x5e\x13\x80\x1d\xdb\x2e\
+\xe1\x25\x3b\x37\x94\x67\x6e\x82\x5a\x95\x0a\x74\xd7\x03\x4f\xf3\
+\xef\x3f\x77\x27\x6b\x46\xd7\x33\x60\x3b\x9c\x3a\x5e\xf0\xfa\x5f\
+\xbd\x26\x08\x40\x15\x11\x61\xcf\x23\x07\xf8\xc3\xff\x70\x27\x97\
+\x5f\xbd\x8d\xac\xe7\x00\x38\xb4\xef\x30\x1f\xfa\xc0\xaf\x72\xd3\
+\xb5\xdb\x49\xac\x60\xc4\x80\x08\x3e\xcf\x30\x49\xc2\xdc\xe9\xd3\
+\x7c\xf4\xcf\xbe\xc5\x9a\xd1\xf5\x54\x13\x4b\x52\xb1\x1c\x3c\x72\
+\x86\x9b\xb7\x8d\xf1\x8a\xeb\xb7\x32\x3c\x1c\x11\x59\x05\x05\x55\
+\x20\x16\x66\x5b\x5d\xfe\xec\x0b\xf7\xf2\xf5\xbb\x9f\x66\x72\xba\
+\xd5\xdf\x47\x52\x59\xec\x5b\xcf\x90\xf5\x1c\x49\xc5\x72\xf2\xc0\
+\x29\x5e\x75\xdb\x55\x7c\xfe\xdf\xfd\x06\xd5\x4a\xf2\x42\x09\x40\
+\x40\x14\x43\x30\x98\x5a\x12\x31\xb8\x71\x94\xa1\x81\x06\x43\xd1\
+\xd9\xc3\x54\xd9\xff\xdc\x69\xbe\x71\xc7\x63\xec\xbe\x62\x3d\x60\
+\xf0\xb9\x47\x6c\x04\xd6\x23\x08\x6b\x1b\x96\x6d\x5b\x36\x33\x3e\
+\x36\x46\x44\x4e\xdc\xe8\x32\x32\x56\x2b\xe7\x0a\x5f\xc6\xab\x29\
+\xc3\xeb\x36\xb2\x69\xe3\x16\x0a\x9d\x41\x72\xa5\x93\x39\x46\x86\
+\x23\x8c\x0d\x16\xe9\xbd\x60\x2d\x65\x1c\xf2\xc4\xb6\xc2\xb6\x2d\
+\x9b\xa9\xd7\xd6\x30\x38\xe4\xfa\x2b\x1a\x59\x37\x46\xba\xe8\x3c\
+\xd5\x29\x12\x0b\x87\x8e\xcd\xf2\x91\x8f\xfd\x4f\xee\x7e\xf4\x19\
+\xd6\x4e\x6c\x64\x62\x62\x1d\x03\xb1\xa7\x9b\x3b\x34\x96\x73\x8e\
+\x61\x20\x89\xf1\x59\x42\x52\x8d\x5e\xd8\x20\xac\x00\xc6\x30\x1f\
+\x59\x63\x01\x13\xd5\x29\x7a\x29\x44\x45\xff\xb9\xac\xe8\x91\x44\
+\x15\xc6\x87\xeb\xdc\x79\xff\x4f\x79\xdb\xaf\xbf\x84\xab\xb6\x8d\
+\xa3\x64\xe0\x35\x04\xbc\x72\x5f\xf3\x5a\x1d\x0b\xd4\xa5\x4d\xda\
+\xf7\xdd\x0a\x38\xc4\xa4\x54\x52\x43\x2f\x6b\x11\x95\x82\xaf\x26\
+\x96\x9e\x4b\xfa\x82\x32\x56\x16\xe2\x24\xc1\x57\x03\x44\xda\x62\
+\xa0\x07\x93\x1a\x4e\xbd\x92\x64\x0b\xb1\xc0\x7b\x6c\x64\x68\xb5\
+\xdb\x7c\xfc\xd3\x5f\xe4\xee\x47\x9f\xe1\xda\xeb\x76\x11\xeb\x1c\
+\xdd\x3c\xa7\x9b\x43\xdb\x15\xd0\x72\xcc\xe5\x4b\x3d\x74\x67\x30\
+\x07\x60\x7d\xc3\x12\x5b\xf3\x4b\x0b\xe0\xe2\x46\x50\x10\x17\x4e\
+\x2f\x57\xf0\x45\x8b\x48\x5b\xe4\x1a\xfe\x3f\x53\x14\x38\x3b\x40\
+\x16\x09\xa4\x96\x53\x4d\xf8\xd2\x57\x1f\x0a\x13\x59\xbb\x24\xa7\
+\x88\x7a\x0b\x53\xe7\x0a\x79\xf7\x6c\x53\xb6\xb8\x52\xb0\x03\xb1\
+\x27\x16\x88\x4c\x4a\x24\x67\x07\xe6\x02\x67\x14\xcf\x82\x7a\xa7\
+\xce\x52\x8f\xea\x64\xb6\x42\x23\x1e\xc0\x44\x15\x7a\xd9\xc2\xf8\
+\xc6\x04\x8b\xbe\xe3\xbe\xfd\x7c\xfb\xde\x27\x78\xd9\x0d\x3b\xe9\
+\x65\x2d\x5c\x76\x1a\x75\x3d\xda\xad\x1e\xbd\xa9\x2e\xd5\x14\xae\
+\xda\x38\xcc\xb5\xdb\xc7\xb8\x6a\xe3\x30\xeb\x86\x53\xe8\x3a\xa6\
+\x9e\x3b\xf6\x0f\x94\x86\x0a\x60\x16\x6d\x24\xaa\x43\x6a\x51\xd7\
+\x43\x6c\x85\x2a\x0e\x07\x48\xae\x54\xd3\x98\xb4\x5e\xe3\xdb\x3f\
+\x3e\xc8\x6f\x3e\x3b\xc5\x8e\x4b\xc6\x10\xe3\xb1\x65\xce\xea\xce\
+\xf2\x9d\x5d\xeb\xe8\x2e\x49\xf9\xa0\x5b\x2e\xcf\x15\xc1\x52\x0a\
+\xdf\xa5\xd0\x0e\x15\x9b\x95\x81\xba\x28\xdd\x09\x78\x93\x63\x09\
+\xc2\x99\x2d\x32\x2a\x51\x97\x9a\x46\xc4\x74\xf1\x45\x8f\xae\xf8\
+\xa5\xf3\xb9\x9c\xaf\x3f\xf0\x33\x2a\xe3\x13\x34\xb3\x1c\xeb\xba\
+\x64\xe9\x30\x9d\xe9\x2e\xe3\x55\x78\xe7\xbb\x6f\xe4\x65\x57\x6e\
+\x64\x78\x64\x90\x8a\xa9\xd0\xcc\x73\x8e\x9d\x69\x72\xe2\xe4\x34\
+\xdf\xbe\xe7\x09\x36\x6d\x1e\x42\x44\x5e\x60\x01\x2c\xf7\xea\x3a\
+\xa4\x5e\x21\x32\x29\x05\x90\xb9\x0e\xd5\x28\x22\xcf\x95\xc1\xc1\
+\x88\xc9\xe3\xb3\x7c\xe9\x7f\x3f\xc0\xbf\xf9\xe0\xed\x21\x47\xa7\
+\xb2\xe0\xe4\x2f\xe2\xb5\xd8\x13\x18\xa9\x2f\xa4\x9f\x0a\x62\x1d\
+\xa6\x1c\xb3\xf0\x0b\xee\x30\x96\x95\xc2\x99\xa5\xd9\xf5\xec\x7d\
+\xe2\x59\x46\x46\xd6\x02\x0e\x67\x07\x68\xcf\x28\xae\x99\xf3\xce\
+\x77\xdf\xc8\x3b\xde\x70\x43\x69\xaf\xa6\x8c\x6a\x11\xe3\x6b\x06\
+\x61\xc7\x06\x5e\x73\xd3\x95\xcc\x74\xe6\x30\x46\x5e\x60\x17\xb4\
+\x92\x14\x4d\x4a\xd7\x07\x2d\xf5\xcd\x59\xb2\xa2\x47\x64\x52\x6a\
+\x36\xa2\x11\x25\xdc\xf3\xa3\x53\xec\x7f\x76\x0a\x21\x29\x53\x8f\
+\x55\x47\x9d\xa5\x3f\x29\x4f\xd4\x6b\x99\xa9\x18\x8f\xe0\xb0\xf3\
+\x35\x11\x10\x99\x30\xe7\xd9\x42\x3b\x47\x08\x2e\xc3\x34\x33\x6a\
+\x35\xc1\xe5\x11\x11\x39\x91\xb6\xa8\x14\x4d\xd6\x0c\x0f\x96\x2b\
+\xc8\x50\xdf\xc1\x39\x87\xfa\x1c\xf5\x1d\x34\x57\xf0\x30\x54\x1d\
+\x7c\x5e\x5c\xd0\xf3\x22\x00\xd1\x2e\xa9\xb1\xb4\x5b\x3d\x6e\xb8\
+\x61\x67\x70\x1b\x9d\x82\x58\xa0\x32\x96\x72\x68\xea\x24\x5f\xbe\
+\xeb\x49\x94\x90\x32\xae\xde\xdf\x95\xd1\x20\xb2\x68\x2c\x48\xae\
+\x58\xd7\xa4\x96\x9a\x32\xfd\x33\x60\x2d\x58\xdb\xaf\x45\x1a\xa9\
+\x50\x29\x9a\xd0\x75\x2b\x5a\x00\x80\xda\x04\x3f\x90\xd0\x6e\x2f\
+\x48\xa9\x9a\x42\x2f\x1a\xe0\x73\x7f\xfd\x08\x0f\x3d\x7e\x10\xa8\
+\x20\xa6\x8a\xb5\x16\x31\x55\xc4\xc4\xa1\x0a\x77\x8a\xba\x6c\x59\
+\x25\xf9\x7b\x73\x41\x17\x3a\xb6\xc8\xe6\xcc\x74\xba\xbc\xe5\x2d\
+\x2f\x66\xba\xd5\xe2\xee\xef\x1f\x62\xf7\xd5\x13\x54\xb3\xf0\xc9\
+\xef\x3c\xf0\x14\xff\xf4\x0d\x3b\xd9\xb4\x71\x6c\x79\x4d\x88\x2a\
+\x2b\x5a\x80\x2b\x5c\x40\x07\x80\xb8\xb1\x96\x93\xb3\x8e\xfb\x1e\
+\xde\x47\x64\xc2\x67\xba\x3d\x4f\x5a\x09\xba\x74\xe4\xc4\x34\x7e\
+\x20\xc1\xa4\xf6\xbc\x55\xe5\x40\x0a\x97\x6f\x19\xe3\xfe\x27\x4e\
+\x32\x38\xb4\x06\xed\x86\x38\x36\xbe\x61\x88\xfd\x07\xa7\xf8\xe0\
+\x47\xff\x86\x5b\x6e\xb8\x8a\x9b\x6e\xd8\xc6\xa6\xd1\x94\xeb\xae\
+\xde\x84\x95\x18\x6c\x80\x2e\x42\xe5\x6c\xfe\x1f\x88\x01\xa9\x25\
+\xd7\xb0\xae\x99\xb9\x8c\xc1\x74\x84\x5b\xaf\xdb\xca\x5d\x77\x3d\
+\x4e\xab\x95\x31\x50\x4f\x18\x5f\xdf\xe0\xc9\x83\x93\xdc\xf1\x83\
+\xa7\xf8\xed\xb7\x05\x01\xd8\x5e\xd6\xcf\x68\x62\x01\x5f\xf4\xce\
+\x2b\x72\x75\x21\xbd\x9d\x18\x1d\xe6\x81\x87\x0e\xf0\xdd\xef\x3d\
+\xbe\x34\x19\x20\x64\x65\x0d\x93\x30\x30\x34\x8a\xc6\x42\x9e\xeb\
+\xb2\x56\xe0\xd4\x91\xda\x98\x57\xde\x74\x35\x77\xed\xf9\x2a\x55\
+\xc6\x69\xda\x01\xac\x6b\x22\x02\x6b\xd7\x0f\xf0\xcc\xe4\x0c\x5f\
+\xb9\xfb\x67\x7c\xfd\x9e\x83\x8c\x0c\x19\x76\x6d\x1b\x63\xf7\xee\
+\xad\xbc\xf6\xb6\x6b\x99\x18\x8d\xb1\xf3\xee\x54\x3c\xaa\x82\xaa\
+\x20\x06\x44\x35\xd4\x9b\xab\xb4\xf4\x55\x8b\x50\x2f\x60\x70\x85\
+\x8b\x19\xb0\x1d\x7a\x27\xcf\xf0\xba\xeb\xb7\xb3\xfd\xd2\x09\x0e\
+\x1f\x39\x4d\xd6\xce\xfa\x85\xda\x37\xf7\x1c\x60\xf2\xd4\xdc\x92\
+\xcf\xc5\x3d\x3d\xaf\xaf\xee\x57\xa5\x51\xa5\xef\xee\x3a\xdd\xf0\
+\xb3\x96\xd6\xfa\x07\x3f\x97\x2b\x26\xaa\xd3\x34\x71\x38\xf4\x6e\
+\x77\xe5\xbd\x38\x41\x81\xdb\x6f\xdd\xc9\x4b\x77\xaf\xe7\xc7\x8f\
+\xed\xa3\x92\xd4\x89\xe3\x21\xb2\xa2\x47\x56\xf4\xd8\xba\x61\x94\
+\xf1\xf5\x0d\x46\x86\x0c\x73\xb9\x72\xd7\x23\x87\xf9\xf4\x5f\x7c\
+\x9f\xdf\xfa\xf0\x67\xf9\xeb\x3b\x1e\x44\x30\x25\x28\x99\x23\x68\
+\x00\x1f\x55\xf1\x2a\x17\x95\x1d\x3d\x2f\x31\x60\x3e\x38\x4a\x34\
+\x4e\xab\xd3\x62\xd3\x86\x35\xbc\xf1\x55\xdb\x99\x9e\xcd\x83\x75\
+\x44\x96\xcd\x9b\x47\x78\xf8\xa7\x47\xf8\xde\x8f\x0f\x06\x81\x55\
+\x3c\x85\x76\xb0\xd5\x08\x75\xbd\x65\x5c\xd0\xb9\x59\x50\xae\xa0\
+\x92\x52\x8f\xea\x98\xa8\xce\xfa\xea\x00\x66\xa0\x81\x19\x68\x84\
+\xc0\x99\x5a\x48\x2d\x59\x24\x88\xad\x9c\xa7\xa8\x17\xbc\x53\xc6\
+\xd7\x0c\xf2\xa7\x1f\x7e\x07\xbb\xae\x5a\xc3\x63\x8f\x3e\xc2\x91\
+\xd3\xd3\x38\x3b\x40\x1c\x0f\x01\x30\x14\x45\x0c\xd5\xba\x6c\x1a\
+\x49\x99\x98\x58\x47\xbd\xb6\x86\xe3\x67\xba\x7c\xec\x8f\xbf\xc2\
+\xe7\xfe\xc7\xbd\x01\x15\x35\x71\x59\x10\x82\xaa\xac\x90\x3e\xfc\
+\x3d\x0b\x60\x5e\xdb\xe6\x7a\x4d\xac\xa9\x82\x08\x6f\x7e\xf5\x2e\
+\xb6\x6f\x8c\x39\x31\xdd\xa5\x83\xa7\x9a\x06\x20\xee\x6b\xf7\xfc\
+\x9c\xd9\x6e\x46\xbb\xeb\xfb\xb9\x7d\xb2\xec\xe1\xeb\x92\x20\x1c\
+\x4a\xae\x98\xae\x77\xb4\x8a\x16\x33\x9d\x2e\xcf\x9e\x38\xc0\xe4\
+\xf1\x59\xce\x9c\xc8\x39\x71\x74\x96\xc9\xe3\xb3\xf8\xe6\x2c\x73\
+\x33\x96\xc8\xa4\x2b\x2e\xd7\x02\x96\x10\x44\x2f\xdb\x3a\xce\x67\
+\x3f\xf1\x5e\x7e\xff\x9f\xdd\x42\x5d\xda\xec\x3f\x78\x94\xa7\x9f\
+\x3d\xca\xe1\xc9\x16\x2a\x29\x36\x19\x25\x2b\x7a\x0c\xc4\x9e\x5a\
+\x4d\x58\xbf\x61\x18\xc6\xc7\xf9\xd4\x5f\x3d\xc8\xdd\x3f\x3a\x0c\
+\x62\x70\xea\x42\x89\x24\x5a\xa2\xab\xfa\xc2\x06\x61\xb1\x15\x0a\
+\xbf\xd4\xe4\x77\x6c\x1d\xe6\x5d\x6f\x7a\x19\x7f\xf2\xf9\x3d\xac\
+\x1d\x0f\xbe\x7e\xe7\xd6\x71\xee\x79\xe8\x20\x8f\x3d\x71\x98\xad\
+\x13\x23\x8b\x62\xe2\x0c\x8b\xd2\xf7\x73\x66\x74\x45\x99\xd1\x68\
+\xce\xb1\xa9\x19\x5e\xfd\xf2\xcb\xf8\xf5\x57\xbc\x88\x28\xce\x29\
+\xf2\x78\x21\x1c\x55\x0c\x47\x4e\x4c\xf3\xa7\xff\xf5\x2e\x66\xf3\
+\x06\x35\xbb\xfc\xf6\x0a\x55\x22\x89\x50\x97\x83\x89\x98\x58\x37\
+\xca\x87\xdf\xfb\x1a\xde\xfd\xa6\xeb\xb9\xff\xd1\xe7\xb8\xf7\xfb\
+\x4f\xf2\xc8\x81\x29\x7e\xfa\xf4\xb3\x0c\x0d\x26\x6c\x1e\x1f\xa2\
+\x9b\x3b\x22\x1c\x45\x1e\xb3\x69\xe3\x16\x9e\x78\x6a\x1f\x5f\xfe\
+\x3f\x0f\x73\xf3\xee\xcd\xc4\x91\x01\xef\x50\x8d\x4a\xa8\x45\x57\
+\x5d\xeb\x44\x5a\x96\x92\x22\x76\x55\x59\xf9\x39\xee\xad\xeb\xd0\
+\xd4\xf5\xb5\xd8\xf9\x4e\xf0\xd9\x62\xb9\xed\xc6\x1d\x7c\xe1\x6b\
+\x0f\x70\x72\xb2\xc3\xba\xe1\x94\x34\x0e\x73\xdc\xff\xe8\x09\x36\
+\xac\x6b\x90\xd6\x83\x0f\xcf\x7c\x0a\x74\x17\x61\x41\x2b\xf9\xee\
+\x1e\xae\x3d\xc3\x86\xe1\x84\x1b\xaf\xdb\x18\x52\xd1\xc5\x75\x85\
+\x08\xfb\x0e\x56\x31\xcd\x0c\x22\x07\xf5\x68\x05\x85\x29\xf1\x23\
+\x1f\x97\x80\x92\x27\x89\x85\x4d\xeb\x1a\xbc\xf5\xb5\xd7\x70\xfb\
+\x2b\x77\x72\xe4\xe4\x2c\x8f\x3e\x71\x94\xbf\xfc\xc6\xbd\xec\xdd\
+\xfb\x0c\x9b\x36\x6f\x0e\xd6\xe3\x9a\xc4\xea\x19\x19\x19\xe4\xd1\
+\x27\x4e\x70\x74\xaa\xc9\xa5\x1b\x1a\xa0\xc5\x22\x32\xc7\xaf\xda\
+\xb9\x98\xe7\xc3\x13\x89\xad\xf4\xdd\x44\x9e\x49\x5f\x83\x5f\xb4\
+\x7d\x3d\xef\x7a\xd3\xcb\x38\x7e\x6c\x86\x34\xb6\xb8\xc2\x71\xc5\
+\xe6\x06\xdf\xbb\xff\x41\x7e\xf4\x93\x7d\x54\x93\x01\x0a\x62\xaa\
+\x69\xad\x84\x1e\xfc\xca\x41\xbe\x1b\x61\x8a\xfa\x59\xa4\x4c\x86\
+\xc3\x83\x2e\x68\x45\xc7\x15\xcc\x54\xaa\x90\xda\x95\xeb\x00\x31\
+\x78\xb1\x25\x13\xa7\xa8\x1a\x9c\x03\x7c\x84\x8a\x23\xad\x78\x76\
+\x5c\x32\xca\x3f\x79\xdd\x8b\xf8\xcc\x1f\xbe\x87\x1b\x6e\xba\x92\
+\x63\x53\x33\xfd\xf1\x5c\xe1\x18\x1c\x8c\x60\xfa\x0c\xb3\xad\x16\
+\x7d\x3c\x64\xde\xa0\x2f\x82\xe5\x7d\x1e\x8a\xe9\x72\xe3\x78\xaa\
+\x89\x3d\x27\xd8\xbd\xe6\xc6\x4b\xb8\x6e\x53\x9d\xc3\x93\xad\x7e\
+\x70\xcc\x7c\xca\x93\x4f\x9f\xa0\x51\x2b\x88\xc8\xe9\xe6\xee\xbc\
+\x63\x67\x91\xa0\x95\x02\xad\x04\xb0\x6f\x61\xfc\x24\x50\x9c\xc6\
+\xf7\x0f\x60\x1e\x0d\x3d\x3b\x7e\x2c\xd5\x3a\x87\xd1\x1e\x62\x02\
+\x24\x2d\x92\x61\x75\x0e\x15\x2d\x99\xba\x14\xe7\x04\x8f\x67\xc3\
+\x78\x83\xdf\x7b\xeb\x4b\x19\x8c\x1d\xa7\x5a\x51\x3f\x40\x57\x59\
+\xba\x66\x2d\x4f\xd2\x3b\x45\x71\xab\x17\x40\x20\xc4\xfc\xaa\x62\
+\x80\x5c\x54\x88\x0f\x0f\x5e\xb9\xe3\x52\x5e\xf9\x8f\x76\x72\xe6\
+\xcc\x1c\x2e\x8f\x42\x45\x6b\x2b\xcf\x1f\xab\x5d\xfa\x44\x5d\x26\
+\xf5\x53\x49\xfb\x40\xde\x39\x61\xd8\xc6\x9c\x9a\x6b\x73\xe8\xd8\
+\x2c\xce\x19\x88\x06\x11\x09\x94\xa3\x50\x16\xd8\xa5\x5b\x6e\x67\
+\xc1\xbd\x74\xb2\xe6\x82\xc2\x75\x81\xe1\x11\x6a\x95\x92\x4e\x2b\
+\xc1\x3e\x63\x04\x2b\xab\x2f\xaf\x4c\x30\x65\xfb\x4b\x9d\x41\x7c\
+\x01\x33\x7a\xed\x2d\x57\xb0\x79\x6d\x83\xb9\x13\x67\xa8\x96\xee\
+\xee\x6c\x21\x9c\x2f\x0d\x4d\x0a\x3d\x6f\xa3\x40\x50\x10\x59\x16\
+\x22\x59\x81\x87\x05\x0c\x8f\xfc\xf4\x19\x3e\xf0\x2f\xfe\x23\xff\
+\xfd\x9b\x0f\xb3\xff\xd9\x53\x1c\x9b\x9c\xe5\xd4\x6c\x8b\x99\x56\
+\x97\x56\x3b\x67\xf2\xd4\x1c\xfb\x9f\x9d\xe2\x73\x5f\x7f\x98\xb9\
+\xdc\x32\x38\x18\xf5\xc7\x3c\x33\xe3\x19\x1d\xae\x31\x32\x54\x0d\
+\x02\x50\x53\x66\x40\x17\x47\xd4\x47\x22\x82\xbf\x88\xa8\x7d\x21\
+\xa4\xf2\x1c\x22\x5f\xe0\xda\xcb\x27\x78\xed\xf5\x5b\xf9\xdc\x37\
+\x7f\xc2\x48\x3e\x70\xae\x7f\x27\xc6\x17\x33\xe7\x75\x41\x72\xa1\
+\x6a\x4d\x97\x27\xfa\x97\x73\x41\xa8\x01\x81\xe9\xd9\x9c\xfb\x0e\
+\x9d\xe2\xc0\x9f\xdf\xc7\x67\x07\xee\x63\x6c\x6c\x9c\x4b\x47\x6b\
+\xd4\x86\x43\xac\x69\x4f\xb7\x78\x68\xef\x61\x4e\x35\x61\xcb\xc4\
+\x28\xb1\x84\xbd\xa6\xb1\x65\x6a\x66\x96\xf7\xee\xbe\x96\x35\x8d\
+\x3a\xaa\xa1\x13\x03\x1f\x58\x43\xaf\xda\x07\x07\x2f\x28\x00\xef\
+\xf9\xe5\x60\xd5\x32\xd8\x65\x2b\x2a\xa8\xc7\x4a\xcc\x5b\x5e\x77\
+\x0d\x77\xde\xff\x53\x8e\x4d\xcd\xb0\x75\xc3\x68\xdf\x35\xe4\x0a\
+\x11\xf9\x79\xeb\x80\xa4\xd0\x0b\xea\x87\x8a\x9c\xf7\x91\x54\xcd\
+\xa2\x67\x1d\x82\xa5\xd9\xee\xb1\x69\xfd\x04\x13\x13\xeb\xe8\xce\
+\x9c\xe0\xa9\x43\x93\x1c\x3c\x66\xc9\x7a\x8e\x4e\xe6\xa8\x26\x96\
+\xb4\x5e\x63\x62\x62\x90\x34\xf6\xb8\xc2\x11\x99\x94\xc7\xf6\x3e\
+\xcb\xf6\x8d\x31\x6f\x7d\xdd\x4e\x54\x15\xe7\x3d\x91\x8d\x40\xb4\
+\xd4\xff\x8b\xb1\x00\x03\x68\x06\x92\xf4\x81\x2a\x9d\x77\x13\x80\
+\xf6\x99\x74\x5d\x71\x83\x2a\x29\xd0\x5b\xa1\x76\x30\xa0\x9e\xcb\
+\x76\x8c\x73\xcb\x0d\x57\xf1\x85\x3b\x1f\xa7\x3b\x16\xf2\xfa\x2c\
+\x0a\x50\xf0\xf9\x2a\x8f\x5e\xd7\x2f\xb1\x80\x4e\xe6\x56\x76\x2b\
+\x72\xae\x65\xce\xeb\xff\x62\x42\xc6\x87\xe0\xc7\xb1\xa3\x27\x98\
+\x9d\x9e\x66\xdb\xd6\x6d\x0c\x8c\x8d\x33\xb6\x3c\x4e\x88\x2b\x72\
+\x7a\xcd\x88\x56\xd1\x63\x72\xfa\x34\xd5\xc4\xf2\xb1\x0f\xdd\xce\
+\x8e\x4b\xd6\x80\xf3\x88\x89\x43\xc7\x0d\x1e\xab\x65\xe3\x8a\xb0\
+\xe8\xe4\x56\xd6\x9f\x28\x3c\x9c\x2c\x2a\x52\x32\x72\x2a\x58\x20\
+\xf1\x19\xb9\x49\x70\x28\x09\x1e\x23\x02\xe4\x08\x09\x45\x27\xe3\
+\xe9\x43\x47\x88\x6b\x83\x0c\x56\x72\x0a\xed\x70\xea\x99\x67\x68\
+\x75\x4b\xb6\x0a\x4f\x7f\xfb\xda\xa3\x5a\xa9\xf2\xb6\x37\xee\xe2\
+\x6b\xdf\x79\x90\x1f\xfe\xe4\x10\x13\x63\x8d\x25\x0b\x39\x32\x35\
+\xcb\x74\xab\xb5\x44\xff\x5b\x33\xd3\x4c\x9f\x38\xca\xd1\xc3\x0d\
+\x0a\x0d\xf5\xc5\x89\xc3\xcf\x71\xfa\xe4\x8e\xbe\xf3\xd2\x72\x0e\
+\x15\x8f\x94\x01\xf3\xc0\xe1\x67\x58\x33\xb7\xbe\x9f\x95\x1d\x3e\
+\x7c\x9a\xc1\xd8\xd1\x2d\x65\x67\xc5\x90\xe5\xca\x99\x99\x2e\x95\
+\xbc\xc5\x33\x87\x96\x52\x8c\x35\xeb\xc8\x2a\x11\xc5\x22\xa8\x7a\
+\xae\xd7\xa4\x9a\x58\x5e\x76\xcd\x66\xde\xff\xb6\x5d\xdc\xb2\xfb\
+\xb2\x20\x4a\x6b\xb0\x08\xaa\x41\x6d\x55\x42\xff\x54\x47\xc3\xca\
+\x12\x14\x8f\xf6\x03\xfa\x05\x2b\x61\x8f\xa5\x2a\x12\xe4\xe9\x04\
+\x6b\x42\x37\x98\x23\xc2\x69\x31\xdf\xd9\xc3\xe8\x48\x85\xdf\xba\
+\xfd\x3a\xda\x2a\xd8\x4a\x82\xeb\x65\xf4\xae\x1a\x66\x62\xdd\x70\
+\x99\x0b\x4b\x29\x7e\x8f\x38\x45\x8c\xe7\x9a\x2b\xd6\xf3\xbb\xef\
+\xbe\x99\x87\x9f\x3e\xc5\xfa\xfa\x52\x42\xa3\x3d\xdd\x62\xf7\x35\
+\x5b\xfb\xc7\xef\x81\xcb\x2f\x5b\xc3\x7b\xde\xfc\x62\x46\xd7\x6f\
+\xec\xd7\x08\xed\xab\x86\xd9\x7d\xdd\x66\x22\x35\xa8\x7a\xbc\x58\
+\x8c\x2a\xe2\x83\xba\x0f\xd7\x63\xde\xf7\x86\x9b\xa8\xd6\x0c\x92\
+\x54\xe9\xe2\x39\x33\xd5\xe6\xca\x4b\xea\xd4\xd3\xa4\x2f\xdd\xc8\
+\x1a\xde\xfe\xa6\xdd\x6c\xda\x3c\xc4\x91\xe3\x19\xc7\xa6\x9a\xcc\
+\x76\x33\x9a\xb3\x73\x74\xba\x86\xe1\x14\x18\x14\xaa\x69\x8d\x91\
+\x46\x95\xcd\x9b\x77\x70\xfd\xd5\x5b\x78\xd5\xae\x4b\x69\x0c\x56\
+\xcb\x98\xd3\xcf\x0d\x4b\x00\x4e\x16\x4e\xb1\xc8\x20\x0a\xed\x1a\
+\xf6\x3c\xa9\xe3\x39\x8d\x59\x53\xad\x9c\x27\x27\x5b\x54\x63\xcb\
+\xee\x89\x41\x50\x8f\xfa\x02\x6f\x2c\x0e\x43\x5c\xb6\xf0\x39\x0f\
+\xdd\x5e\x4e\xa1\x3e\xb4\x00\xfa\x18\xf1\x4a\xad\x1a\x13\x59\x8b\
+\x96\x92\x07\xb0\x7e\x9e\x09\x87\xac\x50\xf2\xbc\x58\x3e\xdb\x31\
+\x86\x38\x89\x50\xe3\x71\x9a\x91\xe5\x4a\x9e\x0b\x62\x0d\xb6\xc4\
+\x2a\x0a\x35\x24\x91\x21\x89\xe2\xa0\x18\xc6\x13\x63\x11\x35\x21\
+\x21\xf2\xca\x6c\xd6\x2b\x7d\xeb\xa2\x2c\xcb\x42\x45\xca\xe6\x00\
+\x6b\x51\xf5\xfd\xa6\xaa\x56\xbb\x4d\x2b\xef\xd1\x6e\x5b\xda\x9d\
+\x1e\x9d\xbc\x55\x5a\x02\x54\xeb\xa3\xd4\x13\x61\x74\xb8\x86\x2d\
+\x1b\x0b\x70\x0e\xf5\x06\x8c\x2c\xdb\x96\xe9\x50\xd0\x02\x43\xc4\
+\x73\x73\x6d\x0e\x9f\xce\xb9\xf9\xd2\xe1\xd5\x09\x60\xef\xe4\x2c\
+\xbf\x73\xe7\x71\x86\xab\x35\x3e\x72\xdb\x18\xd7\x8f\x55\xe8\xba\
+\x82\x8a\x51\xbc\xc4\x18\x24\xa4\xbc\xe2\xfb\xb9\x6f\x48\xbb\x16\
+\x69\x80\x6a\x29\x00\x07\x18\xac\xda\x00\x9d\xe3\x4a\xee\x50\x56\
+\xf4\x8a\xaa\x1a\x34\x4b\x33\x44\xa2\x45\x29\x9d\x2e\x89\x0d\x9a\
+\x2b\x44\x3e\x38\xba\x72\xfc\x85\xca\x7c\xf1\xb3\x45\x39\x86\x41\
+\x5d\x86\x37\x16\x23\x16\xaf\x6e\x11\xa1\xa2\xab\x48\x1d\x3d\x8a\
+\x0f\x96\x0d\x38\x0c\x91\xca\xbc\x5e\x2d\x93\xfd\x09\x53\x3d\xc7\
+\xfb\xef\x3e\xca\xc9\x59\xd8\xf3\xf6\x4b\x56\x87\x86\xd6\x6a\x35\
+\x6c\xad\xc6\x83\x39\x7c\xe2\xc7\x93\xb4\xda\xb3\xa4\x36\xa2\x4b\
+\x8c\x9d\x8f\x73\xa2\xa8\x2f\x02\x4f\x4a\x81\xe6\x82\xe6\x65\x31\
+\x3a\x9f\x97\xab\x41\x9d\xf4\xc9\xf2\xb0\x4d\x07\x2e\x47\x35\x47\
+\x35\x0b\x6f\x8a\xd2\x97\x17\xe5\xf7\xa1\x9a\x0c\xfd\x9e\x06\x75\
+\x61\x5c\xcd\xc3\x7b\xbe\x3f\x36\xd4\x3a\x66\xc1\xb7\xfa\x80\x44\
+\x8a\xf1\x81\x64\x57\x5f\xf6\x82\x4a\xd9\x65\xa4\x78\x1b\x63\xc4\
+\x92\x6b\x1e\x32\x15\x1f\x22\xa5\xe6\x12\xb4\x5a\x5d\x18\xdc\x17\
+\xe1\x8d\x47\xd5\x95\xe3\x84\xd6\x17\x17\xea\x68\x1c\xa0\x46\x57\
+\x84\xbb\xb3\xdc\xf3\x57\x7f\x77\x92\x3b\x9f\x9e\x61\x6d\xe3\x22\
+\xe0\xe8\xb1\x54\x79\xdf\x35\xe1\x13\x87\xe6\x52\xfe\xe0\x91\x8c\
+\xb9\x9e\x96\x71\x21\x1c\xb0\x13\xc8\x4d\x8c\x37\x69\xe0\x4d\xad\
+\x84\x68\x62\x3c\x2a\x81\xae\x53\x29\x9b\x5f\xd5\x84\x86\x5e\xe3\
+\xf0\xc6\x92\x99\x04\xd5\x04\x51\x13\x7a\x79\x54\x50\x35\x48\xf9\
+\x06\x1f\xc6\x31\xe1\x2b\xc6\x23\x56\x51\x2b\xa1\x87\xd3\xf8\xd0\
+\xbc\x4b\xf0\xc1\xf3\x10\x8c\x5a\x29\xe7\x05\x57\x36\x0e\xbb\xd2\
+\xfa\xc4\x1b\xac\x17\x8c\x06\xc8\x22\x16\x1b\x40\x33\x13\x2c\x95\
+\x48\x51\x23\x88\xda\x80\xe9\x1b\x5b\x02\xfc\xa1\xc0\x33\xe5\x3f\
+\xf1\x42\xa4\xe1\x5d\xd1\xa5\xca\xb5\xc4\x56\x3c\x7c\xea\x27\xb3\
+\x7c\xe9\x40\xc1\xf6\x81\x3a\xbb\xc6\x07\x57\x2f\x80\xd4\x0a\xd7\
+\x8e\x57\x18\xee\xe5\x6c\xaf\x79\xbe\x75\xb8\xc3\x07\xee\x39\xc5\
+\x93\xd3\xbd\x32\xe8\x28\xa8\xc7\xe2\x71\x25\x49\xe2\x8c\xe2\x05\
+\xbc\x08\x1e\x29\xc1\x2e\xf0\x56\xcb\xdf\x99\x12\x78\x12\x62\x51\
+\x44\x14\x35\x16\x2b\x12\xfc\xb0\x08\x2a\x01\x53\xf3\xf3\x79\xb4\
+\x2b\x05\x22\x1e\xa7\x05\x85\x04\xe6\x2c\xd3\x30\x3e\x62\x70\x45\
+\x51\x22\x11\x05\x86\x02\x23\x82\x57\xc5\xa8\x62\x34\x64\x20\x2a\
+\x19\x4a\x27\xb4\xc4\xa8\x22\xa5\x3b\x02\x21\x90\x58\xa1\x28\x13\
+\x91\xb2\xcb\x22\xb0\x5b\x0e\xc8\x10\x32\x04\x2f\xc1\x05\x19\xe3\
+\x31\xa6\xfc\xb4\x53\xc4\xf5\x50\xba\x38\xcd\x71\xa5\x26\xcc\x76\
+\x33\xfe\xd5\x0f\x27\xf9\xcc\xbe\x00\x5b\x0c\x55\x23\xae\x5b\x63\
+\x57\x1f\x84\x55\xe7\x98\xf5\x75\x3e\xff\xc8\x09\xfe\xf2\x89\x69\
+\xb6\xac\x1f\xe7\xf8\x4c\x87\x75\x56\x78\xeb\x15\x15\x6e\xbf\x6a\
+\x0d\x43\x06\xf0\x39\xd8\x12\xce\xf5\xf3\x6a\x28\xa5\x3b\x29\x33\
+\x83\x7e\xeb\x9e\x39\x4b\xd6\xbe\x34\x6f\x8f\xf8\x52\xfb\x24\x0a\
+\xaa\xa3\x0e\xb5\x4a\xcf\x59\xd4\x44\x24\x02\xd6\x4b\x09\x94\x49\
+\x3f\xb0\x8b\x17\x8c\xf8\x3e\xff\x5a\x94\x85\x9d\x44\x16\x1c\x18\
+\xeb\xf0\x4e\xc1\x18\xac\x68\xff\x9e\x01\x46\x42\x7b\x4c\xd9\xd8\
+\xb5\xb4\xbb\x79\x51\x2c\x53\x05\x5f\x46\x31\xe3\xc2\x9d\x03\x1f\
+\xee\x22\x60\x42\xa3\xb1\x52\x04\x65\x50\x4b\x0e\x7c\xfb\x50\x93\
+\xbf\x78\x7c\x96\x7d\xdd\x84\x89\xb4\xe0\x4c\xa7\x60\xc7\xa8\xf0\
+\xf1\x97\x8e\x70\x49\xa3\xbe\x3a\x01\x50\xcc\x82\x54\xd8\x7b\xba\
+\xc7\xef\xdc\x79\x9c\x5e\x52\xe5\x45\x23\x11\x8f\x9f\x09\xfe\x79\
+\x9d\x15\x5e\x77\xc5\x20\xbb\x36\x54\xd8\x50\x8d\x18\x8a\x0c\xb5\
+\x48\x16\xa8\xa6\xc5\xd9\x40\x59\x3c\x15\x0a\xed\xdc\xd1\x45\x68\
+\xe6\x8e\xb9\x12\xdb\x99\xed\x2e\x9d\xba\x91\x0a\xeb\x13\xc7\xd8\
+\x60\x8d\x54\x14\xc8\xf0\x6a\x71\x40\xec\x15\x41\x4b\x0a\xd0\xe0\
+\x3d\x88\x84\x9f\xa9\x18\xf2\xb2\xfc\x77\xb9\x42\x24\x65\xaf\x90\
+\x80\x81\x2c\xf7\xcc\x66\x8e\xa9\xdc\x73\xa4\xe9\xcf\x99\x13\x60\
+\x30\x12\xea\xa6\xa0\x6a\x13\x12\xab\xa4\x36\xc2\x9a\xe5\xf7\x95\
+\x29\x64\x5e\xc9\x0b\x65\xaa\x53\xf0\xd8\x64\x8f\xbf\x79\xaa\xc3\
+\x53\xad\x26\x0d\x12\xb6\x0c\xa5\x4c\xb6\x7a\x9c\x99\x9b\xe3\x8f\
+\x6e\xdd\xc4\xed\x5b\xab\x2b\x72\x5f\xe7\x5a\x80\xcb\x40\x1c\x5e\
+\x12\xfe\xd7\xfe\x16\x9f\xde\x73\x84\x91\xc1\x41\x1a\xf5\x40\xf1\
+\xf5\xb2\x9c\xe3\xa7\xa7\x01\xd8\x36\xda\xe0\x92\xd1\x84\x51\x53\
+\x30\x10\x43\x5a\xe2\xfa\x00\x1d\x15\xe6\x32\xcf\x74\x37\xa7\xd5\
+\x2e\x98\xca\x0c\x33\xbd\x9c\xe3\x45\x0f\x57\x2c\xb0\x58\x26\x77\
+\xf8\x78\x61\x87\x13\xa9\xe1\xb6\x0d\x96\x5b\x37\x56\xd9\xb5\xb1\
+\x41\x35\xc9\x40\xf3\x70\x5b\xa6\x4c\x01\x91\x60\x1d\xb9\x2a\x09\
+\x8a\x13\xc1\x29\x24\xea\x50\xf2\xe0\xba\x6c\x85\x76\xe6\x79\xe4\
+\xe8\x2c\xf7\x4c\xc1\xe3\x47\x5b\x1c\x38\x3d\x4b\xaf\x9a\x94\xd5\
+\x6d\xbc\xe4\x20\x46\x4a\x25\x1a\xa9\x46\xac\xa9\x3a\xc6\xaa\x15\
+\x86\xd3\x98\xc1\xc4\x50\x15\x5d\xb2\xaf\x56\xb3\xc5\x69\x1f\x71\
+\x7c\xa6\xc7\xb1\xd3\xed\x70\x2e\x49\x95\x91\x6a\x44\x6a\x0c\x5d\
+\xef\x39\xdc\x69\xf3\x8e\x4b\x6a\x7c\xe8\x25\xc3\xd4\x92\x78\xf5\
+\x02\x70\x28\x2e\x57\xe2\xd8\x70\xaa\xe7\xf8\xe4\x8f\x4f\x73\xd7\
+\xfe\x26\x57\x8d\x86\x85\xc7\x65\x8a\xd7\xd3\x98\x99\x5e\xce\x91\
+\xee\xca\x50\xb6\x8d\x16\x30\x9e\x06\x49\x7f\x81\xa1\xa9\xad\xc0\
+\x9f\x85\xdd\x1b\x5f\xd0\xc6\x70\x60\x2e\xc7\xe4\x8e\x9b\x37\xa6\
+\xbc\x6f\xd7\x08\x2f\x5e\x53\x21\x16\xc1\x6b\xc8\x3f\xc4\x07\x4b\
+\xc8\x08\x01\xb1\x10\xc5\xe2\xb1\xae\x55\x06\xe4\x94\xa7\x66\x94\
+\x2f\xff\xec\x34\x5f\xd9\x3b\xcd\xcf\xa3\x06\x97\x0e\x58\x26\x2a\
+\x11\x0d\x77\x2e\x94\x61\xca\x1a\xa3\x8d\xa1\x97\x3b\xda\x85\xd2\
+\xeb\x34\x97\x12\x7f\x65\xe3\xd7\xbc\xb2\xcc\x1a\xc3\x16\xa3\xac\
+\x6d\x80\x91\x2a\xd5\xdc\xd1\x15\x48\x22\xc3\xf1\xc9\x33\x0c\x8d\
+\x55\xf9\xe4\x8d\x6b\xd9\x39\x1c\x83\xcb\x61\x05\x08\xfe\x5c\x01\
+\x38\x45\xd5\xe1\xad\x12\x8b\xe3\x48\x2b\xe2\xe3\x7b\x26\xd9\x7b\
+\x62\x8e\xe1\x6a\x0d\x93\xc6\x74\xbd\xa7\x86\x27\x29\x71\x6f\x1f\
+\x1b\xc4\xf5\xc8\xcb\xce\xe9\xd8\x2a\x6a\x2b\x34\x4c\xd8\x58\xb3\
+\x67\xe8\x0a\xb8\xb2\xa9\x36\xce\x57\xce\xb9\x63\xab\xb8\x7a\x8d\
+\xd3\x1d\xcf\xd1\x13\x73\xac\xb5\x39\x6f\xbf\x76\x1d\xef\xbc\xac\
+\x4a\x23\x4d\xf0\x1e\x0c\x05\x2a\x82\x17\x83\x51\x4f\x8e\xc1\x38\
+\x87\x35\x39\x98\x98\xbb\x9f\xcb\xf9\x83\x3d\x53\x1c\xf6\xc2\xb5\
+\x75\x4b\x23\x89\x10\xd7\xa3\xa7\xf1\x39\x87\xbe\x24\x7b\x31\x11\
+\x1a\x59\x2a\x67\x55\xae\xe2\x7a\x67\x75\xd5\x55\xfa\xe3\xa5\x0a\
+\x6a\x72\xda\x46\x91\x96\xf0\x4c\x73\x8e\xf5\xa3\xc3\x7c\xfa\x96\
+\x51\x76\x0e\x27\xa8\xef\xe2\x25\x59\x11\x8a\x38\x37\x06\x78\x50\
+\xe3\x91\xa2\x89\x9a\x18\x31\x31\x53\x2d\xe5\x93\x8f\x4e\xf3\xad\
+\xc3\x1d\x26\x52\x43\x25\x9e\xef\xb9\x0f\x1b\xaa\x5e\x88\xd1\xd2\
+\xa0\xed\x5d\xef\xfb\x1a\xd6\xaf\x3b\x4a\xd3\x6f\x9f\x85\xf9\x6f\
+\xa8\x27\x68\x64\x39\x3e\xd3\xa1\xd7\x69\xf2\xae\x8d\xc2\x3f\xbf\
+\x65\x1b\x8d\x34\xc1\x69\x1e\xee\x9a\x89\x45\x25\x27\xf7\x65\x86\
+\x6a\x2d\x5f\xdc\xd7\xe4\xd3\x7b\x8e\xe0\x6a\x63\x6c\x6b\x08\x52\
+\x38\x7c\x37\x58\xe2\x5c\xe9\xd2\xcf\x9e\xab\x1f\xc3\x80\x4a\x6c\
+\x89\xe3\x02\xeb\x92\xbe\x90\xbc\x89\x70\x36\xc3\xba\xe5\x6f\xc3\
+\xf8\x6e\xce\x41\x5f\x61\xd2\xf5\x78\xf5\x18\x7c\xe4\xfa\xf1\x52\
+\xf3\x95\x4c\x32\x90\x94\x64\x85\x5e\xa1\x55\xdf\x11\xcb\x54\xf9\
+\xdb\xfd\x73\x7c\xf9\xef\x0e\x72\xb4\x18\xa5\x2d\x29\x35\xed\xf6\
+\x17\x5f\x89\x97\x4a\xb8\xb7\x48\x28\xf3\x1b\xae\x45\x42\x25\xb6\
+\xa4\x26\xc0\x09\x1b\x4a\x6a\x60\x38\x8d\x99\x2e\x0f\xe9\x50\x53\
+\xb0\x59\x8f\x33\xb9\xd2\x2e\xb4\x3f\xfe\xb1\xb9\x9c\x77\x5e\x9e\
+\xf2\x2f\x77\xad\xa1\x91\x1a\x8a\x22\x74\x39\x3b\x53\x10\x97\x8c\
+\xd4\x17\xf7\x65\x7c\xf4\xc1\x69\x2a\x71\x95\x31\xdb\xeb\x7f\x7e\
+\x50\xa1\x5a\x85\xc1\xd8\x52\xaf\x45\x8c\x9a\x82\xd3\x3e\x58\xef\
+\x54\xa7\xc7\x6c\xa1\xe4\x79\xc4\x99\x4e\xb1\xac\x60\xce\xde\xdb\
+\xe2\xfd\x1d\x2f\x7a\xf8\x4a\x9d\x8d\xae\xe0\xf6\xcd\x96\x0f\xee\
+\x5a\x4f\x40\x2c\x56\x07\xf1\xaf\xfe\x92\x5e\x49\x78\x4c\xf5\x1c\
+\x77\xed\x3d\xcd\xf7\x8f\x15\x9c\x9c\x75\xcc\x49\x58\xc4\xb2\x9a\
+\x51\xa9\x33\x51\x89\xd8\x66\x73\xae\x1c\x81\x75\xc3\x75\xc6\xab\
+\x31\x97\x37\x3c\xeb\xaa\x96\x24\x4e\x96\x96\xfa\xea\x99\xeb\xc1\
+\xf1\xb9\x2e\x7b\x9b\xc2\x4f\x8e\x35\x79\xf8\xa8\xe3\x84\x53\xda\
+\x92\x92\xb7\x9b\xbc\xff\x57\x52\x7e\x77\xf7\x30\x56\x12\x5c\x21\
+\xc4\x08\x12\x3b\xbe\x71\xb0\xc3\xbf\xfe\xe1\x19\x2a\x71\x95\x9a\
+\x76\xd9\x18\x9d\xe6\xda\x0d\x6b\xd9\x3e\x5e\xe7\xb2\x9a\xb0\x65\
+\x38\x65\x4d\xcd\x94\xa0\xd9\x82\x0b\xcc\x72\xcf\x5c\xa7\xc3\x5c\
+\xcb\xf1\x40\x13\x66\xba\xca\xde\x99\x8c\xe3\x33\x3d\x4e\x76\xcf\
+\xb5\x96\xb3\x85\xb3\x7d\xd0\xf2\x8a\x0d\x11\xb7\xae\xb5\x6c\x5a\
+\xd7\x08\x8c\xb3\xae\x8c\x7e\xfe\xe2\x02\xf0\x05\xbe\xf0\x98\x24\
+\x29\x79\x52\xcf\xcf\x27\x5b\x4c\x6b\xc4\x64\x27\x67\xa6\xab\x74\
+\xbb\x21\x23\x48\xd3\x1a\x43\xa9\x30\x10\x09\xeb\x06\x63\xb6\x0e\
+\xc6\x8c\xf5\x2f\xbc\xf9\x45\x58\x90\x5f\x04\x96\xfb\x73\x31\x25\
+\xe0\xc9\xe9\x1e\xf7\x3e\xdb\xe5\xbb\x07\x9b\xfc\xec\x74\x86\x8f\
+\x2d\x7f\x72\xd3\x08\xbf\xb6\xb5\x1e\xae\x9c\x62\x78\xe8\x94\xe7\
+\xf7\xbf\x3b\xc9\x61\x2f\x0c\x55\x23\x7e\x7b\x42\x79\xf3\xa6\x3a\
+\x97\xae\xad\x94\xc1\x6f\x11\x32\xaf\xba\xc0\x9e\x09\xcb\xd4\x27\
+\xd0\xe9\x15\x3c\x3b\xdb\x65\x2e\x13\x8e\x65\x70\xa4\xe9\xfb\x7b\
+\x0b\x68\x41\xc4\xd0\x40\xca\x86\x04\xb6\x8c\xd5\x16\xf6\xe6\x0b\
+\x3c\x11\x6a\x74\xc9\x75\xd6\xe7\x45\x00\x0e\x25\x53\x48\xbc\xc7\
+\x48\x56\x16\x34\xd1\xd2\x22\xcb\x17\xfd\x2a\x75\x39\x66\x6b\x31\
+\xfd\xbf\x18\x46\x91\x92\x5c\x9f\x9f\xa3\x8a\x82\x9b\x8f\x41\x29\
+\x20\xec\x9d\x9c\xe5\x33\x4f\xf5\xf8\x4f\x4f\xc2\x0d\x83\x5d\xfe\
+\xdb\xab\x86\xd8\x3e\x56\xc7\xe1\x79\xe7\x5d\x33\xdc\xb1\xff\x38\
+\xef\xb9\x7c\x0d\xbf\x79\x79\x95\x97\x6f\x09\xb7\x57\xb4\xc4\x95\
+\x28\x6f\xe6\xa8\x0b\x80\xa0\xda\x3c\xd0\x92\x65\xf5\xea\x4b\x3e\
+\x44\xc9\xb1\x98\x45\x20\xa0\xf6\x81\x3a\x87\x62\xbd\x5b\x66\x7f\
+\x1e\x75\xa6\xbc\x24\xae\x78\x7c\xa0\x09\xec\xea\x2c\x60\xf5\xf4\
+\x7d\x09\x3f\x60\x0c\x79\x79\xd7\xce\x6a\x5e\x5e\x4f\xb4\xf3\xed\
+\x36\x65\x93\x6a\x06\xd8\x3e\x58\xaa\x56\x10\xef\xfb\x07\x6d\x44\
+\xfa\xdd\x0c\x41\xef\x43\x85\xeb\x14\x62\xe7\x70\x56\x50\x49\x02\
+\x16\xa3\x1e\x8b\x70\xf9\x78\x83\x3f\x6a\x78\x86\xd3\x59\x3e\xf1\
+\xc0\x09\x3e\xf3\x54\xca\xa7\x46\x13\xbe\xfd\x4c\xce\x1d\xfb\x8f\
+\xf3\xe6\xab\x37\xf2\xc7\xbb\x2a\xac\x69\x54\x29\xb4\x87\xd5\x1c\
+\x2f\x03\xe5\xd2\xc2\x01\x62\x01\x67\x40\xe3\x70\xef\xbd\x74\x13\
+\xa6\xb4\x3a\x2f\x95\xa0\x20\xae\xc4\x3b\x4d\x99\xf2\x52\x1e\x68\
+\x99\x42\xab\x3a\xc4\x17\x64\x26\xc1\x21\x24\x28\x16\x17\x2a\x79\
+\x73\x71\x0d\x0e\x17\x71\x53\x3e\x5c\x09\x35\x25\x88\x38\x2f\x14\
+\x73\xbe\xa6\x96\xf2\x4f\x01\x18\xb3\xc0\x0d\x9c\x03\x40\x95\x3e\
+\xd9\xa3\x7d\x78\x01\x35\xc1\x51\x89\x2e\x70\x7a\x5e\xc0\x64\xe4\
+\xc4\xfc\xde\x77\x8e\xf3\x83\xa3\x5d\xfe\xf6\xd7\xd6\xf0\xd6\xbb\
+\x27\xd9\x19\x35\xf9\xcf\xb7\x5f\xcd\x58\xc5\xa2\xbe\x13\x18\x66\
+\x89\x48\xc4\x96\x9f\x55\xdc\x7c\x0b\x9a\x94\xa0\x93\x2c\xc3\x3f\
+\xfb\x5e\x00\x0f\x4d\xb0\x80\xbc\x94\x45\x42\x50\x02\x2d\x9f\xf3\
+\xe5\xde\xac\x38\x5c\x59\xa4\x19\x0c\x39\x06\x1b\x74\x74\xd5\x1d\
+\xd2\x17\x71\x3f\x40\xb0\x25\x68\x06\x01\xec\xca\x09\x7e\x74\x45\
+\x54\xd0\x06\xad\x2e\xaf\xa4\xa3\xb8\x45\x26\x2e\x67\x75\xea\x48\
+\x29\x99\x72\xcc\x3e\xc7\x2b\x38\x29\x59\xea\x22\x26\x89\x95\x7f\
+\xfb\xf2\x71\xbe\xb4\x67\x3f\x33\x92\xf0\xfa\xfa\x34\xef\xbb\xf9\
+\x6a\xc6\x2a\x82\xfa\x0e\x18\x21\xd1\x64\x81\xc1\x2e\x63\xae\x95\
+\x45\xec\xac\x2c\xcf\x3f\xab\x24\xa5\x6b\x0d\x0c\x78\x0c\x58\x14\
+\xa3\xa6\x74\x9f\x8a\x15\xc1\xa8\x94\x4a\x17\x05\xb7\x64\x82\xbb\
+\xb3\xf3\xa0\xde\x45\x34\xe7\xae\x3e\x08\x97\x78\xbd\x10\xe1\x34\
+\x40\xb7\xf3\xda\xbf\x1c\x29\x81\x2a\xea\x05\x8c\x96\xfe\x58\xf1\
+\x5a\x36\x2f\x89\xbd\xa8\x26\x18\x57\xba\xa7\x44\x1d\xf8\x36\x1a\
+\x25\x74\x7b\x86\x2c\x8a\xc8\xbb\x8e\x91\x7a\x84\x64\x39\xc6\x2a\
+\x99\x31\x58\x89\x42\x8f\xac\x3c\x3f\x7d\x7f\xaa\x01\xed\xb5\xf3\
+\x84\xd1\xfc\x3d\xe6\x45\x8a\x34\xef\x1d\xb4\xdc\xfb\x6a\xe7\x5e\
+\xbd\x0b\xc2\x2f\x34\xa0\xce\x13\x2e\x1a\x95\xa8\xe7\x0a\x0d\x53\
+\xde\xb3\xf8\x01\x9d\xc7\x54\x2e\xd0\x42\xb2\x5c\x83\x4a\xae\x5a\
+\xe6\xfb\x59\x49\xbe\xa4\xe5\x1c\x79\x7f\x7c\x67\x2c\x4e\x83\x26\
+\x1a\x84\xe7\xab\xed\x72\x3e\x73\xf3\x5e\x4a\xb7\xa8\xe0\x7b\x20\
+\x05\x48\x1c\x6e\x7e\xfa\x00\x6f\x63\xfb\x58\xf0\xf3\x2c\x00\x57\
+\x9a\xa0\x2d\x75\xd2\xe7\xa0\x16\x21\x70\xac\xcb\x1d\x9b\x6a\x8e\
+\x16\x05\xc6\x26\xa1\x3b\xa5\x4c\xff\x04\x7b\x71\x8d\x60\xaa\x41\
+\xf6\xa6\xb4\x28\x75\xa8\x04\x5a\x4c\x42\x63\x13\x8e\x00\xc8\xc5\
+\xa2\x48\x28\xe7\x2f\xfc\xd7\x5c\x56\x3b\x37\xbe\x1f\xab\x16\x1c\
+\x4c\xf8\x93\x0b\x6e\x91\x0b\x75\x2e\x38\xaa\xd5\x66\x40\x00\xff\
+\x17\x0a\x9d\x3f\x92\x8a\xc5\x5c\x4e\x00\x00\x00\x00\x49\x45\x4e\
+\x44\xae\x42\x60\x82\
+\x00\x00\x13\x8a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x06\xb8\x00\x00\x06\xb8\x01\
+\x57\xbd\xea\x84\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x10\
+\x01\x01\x3b\xf5\xae\xa4\x4a\x00\x00\x13\x0a\x49\x44\x41\x54\x78\
+\xda\xed\x9b\x69\x70\x53\xe7\xb9\xc7\x7f\x67\x95\x2c\xc9\x8b\x64\
+\x30\x18\xdb\x6c\x86\x18\x82\x31\x4b\x09\x2d\x84\x5b\x96\x02\x89\
+\x09\x2d\x21\xa4\x93\x90\xad\x6d\x72\x9b\xe9\xf4\xce\x64\x3a\xe9\
+\x24\xed\x87\x92\xb6\x24\xd3\x99\x36\xce\x87\xd0\xa4\xe4\x76\xb2\
+\xb5\x4c\x71\x2f\x2d\x90\x0c\xd3\x0b\xa4\x69\x9b\x94\x52\x62\x30\
+\x36\x59\xc0\x98\xb8\x60\x56\x1b\xbc\xc8\xda\xa5\xa3\xb3\xdc\x0f\
+\xb2\x0e\x92\x31\xb6\xe5\x90\xdc\xde\xe9\x3d\x33\x1a\x4b\xb2\x74\
+\xde\xf7\xf9\xbf\xcf\xfa\x7f\x1e\x09\x96\x65\x59\xfc\x0b\x5f\x22\
+\xff\xe2\xd7\xff\x03\xf0\x59\x2d\x94\xab\xa5\x7d\x56\x96\x29\x7f\
+\x5a\xc2\x0a\x82\x60\x3f\x8f\xc5\x62\xc4\x62\x31\xfa\xfa\xfa\x68\
+\x6b\x6b\xa3\xa3\xa3\x83\xbe\xbe\x3e\x82\xc1\x20\xa2\x28\x22\xcb\
+\x32\xf9\xf9\xf9\x94\x95\x95\x51\x56\x56\xc6\xa4\x49\x93\xc8\xcb\
+\xcb\xc3\xe9\x74\xa2\x28\x4a\x16\x20\xe9\xfb\xfe\x53\x02\x90\x16\
+\x5c\x10\x04\x12\x89\x04\x7b\xf7\xee\xa5\xb1\xb1\x11\xbf\xdf\x4f\
+\x20\x10\x40\xd3\x34\x5b\x80\xc1\x04\xb1\x2c\x0b\xcb\xb2\x90\x24\
+\x09\x8f\xc7\x43\x41\x41\x01\x55\x55\x55\xac\x5c\xb9\x92\xa9\x53\
+\xa7\x5e\x03\xee\x8d\xb8\x84\x1b\x11\x05\xd2\x9b\xd2\x75\x9d\xf6\
+\xf6\x76\xde\x78\xe3\x0d\x0e\x1d\x3a\x64\x9f\xee\xc0\x0d\x5f\x6f\
+\xc9\xc1\x3e\x67\x9a\x26\x9a\xa6\x51\x5e\x5e\xce\xc6\x8d\x1b\xb9\
+\xf9\xe6\x9b\x29\x2a\x2a\xba\x61\x60\x08\x37\x2a\x0c\x36\x34\x34\
+\xf0\xab\x5f\xfd\x8a\x40\x20\x80\x61\x18\xb6\x26\x5c\x15\xc6\x04\
+\xd3\xc4\xb2\x4c\x04\x51\x42\x72\x78\x10\x55\x37\x60\x61\x19\x3a\
+\x46\x22\x88\xa9\xc5\x41\x14\x11\x04\x11\x04\x71\xc0\xf7\x53\xda\
+\xe1\x76\xbb\x59\xb1\x62\x05\xf7\xdf\x7f\xff\x3f\x87\x06\x9c\x3d\
+\x7b\x96\xfa\xfa\x7a\x1a\x1b\x1b\x51\x55\x35\xbd\x5b\x2c\x2c\x30\
+\x0d\x24\x97\x17\x25\x7f\x2c\x4a\x51\x39\xaa\xb7\x02\x35\x7f\x2c\
+\xa2\xb3\xc0\xfe\x5c\x6a\x17\x29\x7f\x6c\x19\x09\xf4\x50\x37\x5a\
+\xe0\x22\x9a\xff\x02\xc9\x60\x27\x7a\xb8\x1b\xcb\x34\xb2\x00\xd1\
+\x34\x8d\xfc\xfc\x7c\x1e\x7d\xf4\x51\x16\x2d\x5a\xf4\x89\xb4\x61\
+\x54\x00\xa4\x17\xdb\xb3\x67\x0f\x3b\x76\xec\x40\xd7\x75\x5b\x85\
+\x2d\xcb\x02\xcb\x44\xf5\x4d\xa4\x70\xc6\x97\x90\x3d\x63\xaf\x39\
+\xcd\xe1\x1c\xa7\xfd\x9e\x69\x60\xe9\x1a\xa1\x33\x87\x88\x9c\x69\
+\xc8\xba\x4f\x7a\xdb\x53\xa6\x4c\xe1\xa9\xa7\x9e\xc2\xe9\x74\x7e\
+\x76\x1a\x90\x48\x24\xd8\xba\x75\x2b\x07\x0e\x1c\xc0\xe1\x70\x64\
+\x6c\xc8\xc2\x35\xa1\x1a\xf7\xa4\x05\xa8\x45\x15\x58\xa6\x9e\x52\
+\xf9\xeb\x38\x3c\x41\x10\x40\x10\xd3\xd2\x5e\x03\x82\xfd\x5a\x94\
+\xb1\x92\x31\x22\xed\x47\x88\x9c\x6f\xc2\x88\x87\x10\x44\x09\x00\
+\xd3\x34\x29\x2e\x2e\xe6\xf1\xc7\x1f\xa7\xb2\xb2\x32\x67\x4d\x18\
+\x31\x00\xe9\x1b\x87\xc3\x61\x7e\xf8\xc3\x1f\x72\xe9\xd2\xa5\xd4\
+\x42\x96\x85\x05\x48\xaa\x9b\xe2\x85\xf7\x21\xbb\x7d\xc3\x6e\xc2\
+\xea\xd7\x7a\x33\x11\x21\xda\xd9\x82\x00\xe4\x95\xce\xec\xf7\x09\
+\xd7\xd1\x86\xfe\xf7\x2c\xd3\xc0\xff\xe1\x1e\xe2\x9d\xad\x59\x8e\
+\x33\x99\x4c\xf2\xf8\xe3\x8f\xb3\x68\xd1\xa2\x9c\x40\xc8\x49\x03\
+\x22\x91\x08\x3f\xf8\xc1\x0f\xb8\x78\xf1\x22\xb2\x9c\x8a\xa0\xa6\
+\x91\x24\xbf\xf2\x56\xf2\xa7\x2f\x45\x10\xc4\xeb\x9e\x78\x96\x20\
+\x92\x4c\xbc\xa3\x85\xcb\x47\x7e\x47\xf9\x84\xf1\xe8\xba\x4e\x47\
+\xc7\x25\x0a\x2a\x66\x53\x54\xf3\xe5\x14\x10\xa6\x7e\xfd\x4d\x8b\
+\x32\xf1\xcb\xa7\xf0\x7f\xf4\xdf\x98\x5a\xc4\x5e\x4f\x14\x45\x1e\
+\x7b\xec\x31\x16\x2e\x5c\x38\x62\x10\x46\x0c\x40\x34\x1a\xe5\xc9\
+\x27\x9f\xa4\xa7\xa7\xc7\xb6\x75\x01\xf0\xce\xbb\x0b\xe7\xf8\x99\
+\x58\x46\x72\xc4\xa8\xeb\x91\x5e\x2e\xbf\xfb\x22\xab\x6e\x5b\xc3\
+\x23\x8f\x3c\x42\x22\x91\xe0\x83\x0f\x3e\xe0\xe7\x3f\xdf\x82\x81\
+\x4c\x5e\xe9\x2c\xdc\x13\x3f\x87\xe4\x2a\xba\xba\xd6\x20\xf7\x36\
+\xb5\x08\x5d\x7f\x7f\x1d\x23\x11\xb6\xb5\x21\x1a\x8d\xf2\xcc\x33\
+\xcf\x50\x5d\x5d\x3d\x22\x10\x86\x05\x20\x7d\x93\xba\xba\x3a\x1a\
+\x1b\x1b\x11\x45\xd1\x56\xe3\xe2\x05\x1b\x71\xf8\x26\x0e\x7b\xea\
+\x03\xef\xd7\xdb\xf4\x3b\xc4\x48\x27\xcf\x3f\xff\x3c\x86\x61\xa0\
+\xeb\x3a\x92\x24\xd1\xdd\xdd\xcd\xb3\xcf\x3e\x4b\x28\x18\x00\x20\
+\xaf\x74\x16\x45\x35\x6b\x53\x61\x71\xd0\x7d\x89\x58\x86\x46\x6f\
+\xf3\x4e\x12\x3d\x67\x6d\xb0\xf2\xf2\xf2\xd8\xbc\x79\x33\x65\x65\
+\x65\xc3\xee\x6b\xd8\x5a\x40\x10\x04\x76\xee\xdc\xc9\xc1\x83\x07\
+\x11\x45\xd1\x8e\xc7\xc5\x0b\xee\xc1\x51\x3c\x19\xc8\xcd\xe9\x18\
+\xd1\x5e\xc2\x97\x4f\x73\xd7\x5d\x77\xe1\x74\x3a\x31\x0c\x03\xd3\
+\x34\x89\xc5\x62\xf8\x7c\x3e\x9e\x78\xe2\x09\x64\x45\x45\x94\x64\
+\xe2\x97\x5b\xf0\xbf\xff\x66\x2a\x0c\x0e\x48\xa0\x52\x6b\x5a\x08\
+\x92\x82\x6f\xde\x86\x7e\xdf\x63\xda\x5a\xf0\xc2\x0b\x2f\x8c\xa8\
+\xae\x18\x16\x80\x96\x96\x16\x76\xed\xda\x45\x5e\x5e\x9e\xbd\xb0\
+\x77\xce\x3a\x1c\xc5\x93\xb1\x86\xb0\xd3\xeb\x18\x2f\xb1\xce\x56\
+\x5c\x0e\x99\xda\xda\x5a\xc2\xe1\xb0\x6d\x5e\xf1\x78\x9c\x68\x34\
+\x8a\xcf\xe7\xe3\x7b\xdf\xfb\x1e\xaa\xaa\x22\x08\x22\xf1\xcb\xad\
+\xf8\xdf\x7f\x13\x41\x71\xf6\xfb\x98\x6b\x85\x11\x24\x85\x31\x8b\
+\xbe\x8e\xe8\x70\x63\x59\x16\xa2\x28\xd2\xd6\xd6\xc6\x2f\x7f\xf9\
+\xcb\xd1\x57\x83\xe9\x34\x74\xe7\xce\x9d\x98\xa6\xd9\x1f\xa9\x4c\
+\x9c\xe3\xaa\xc8\x1b\x3f\x13\x4c\x33\xe7\xc4\x43\x10\x25\x42\xed\
+\x87\x59\xbe\xe2\x4b\x58\x96\x85\x61\x18\x68\x9a\x86\x69\x9a\x48\
+\x92\x64\xd7\x10\x13\x26\x4c\xe0\x89\x27\x9e\xa0\xa2\xa2\x02\x55\
+\x75\x10\xed\x38\xc9\xe5\x77\x5f\x22\x72\xfe\x18\x7a\xa4\xc7\x06\
+\x21\x13\x0c\x51\x52\xf0\xcd\xbb\xdb\x0e\x8f\xaa\xaa\xf2\xce\x3b\
+\xef\xd0\xd2\xd2\x32\xe4\x3e\xe5\xa1\x54\xbf\xb9\xb9\x99\xe6\xe6\
+\x66\x54\x55\x4d\x21\xab\x38\xf1\xce\x5d\x0f\x96\x09\x39\x67\x5d\
+\x02\xc9\x40\x27\x56\x3c\xc4\x82\x05\x0b\x08\x87\xc3\x08\x82\x40\
+\x3c\x1e\x47\x92\x24\x44\x51\x44\x14\x45\x24\x49\xc2\xb2\x2c\xc6\
+\x8d\x1b\xc7\x77\xbf\xfb\x5d\x62\xb1\x18\x17\x2f\x5e\xe4\xfd\x63\
+\xc7\x68\x3c\xfa\x57\xfc\xc7\xa3\xa8\x9e\x62\xbc\x73\xef\x44\x2d\
+\x2c\xc5\x32\x92\x76\x28\x56\x8b\xca\xc8\x2b\xbd\x99\xe8\xc5\x0f\
+\x6c\xbf\xb1\x77\xef\x5e\xaa\xaa\xaa\xae\x49\xcd\x47\xe4\x04\xbf\
+\xf5\xad\x6f\xd1\xd7\xd7\x67\xdb\x7e\xf1\x2d\x1b\x71\xf8\x26\x8d\
+\x0e\x00\x51\x22\xd8\xf2\x36\x62\xcf\x09\x36\x3f\xfd\x0c\x92\x24\
+\xd9\xb6\x9f\x16\x3c\xf3\x6f\xa6\x03\x96\x65\x19\x45\x51\x10\x04\
+\x81\x8f\x3e\xfa\x88\x5d\xbb\x76\xf1\x8f\x8f\x5b\xc9\x1b\x3b\x15\
+\xcf\x94\xcf\xe3\x18\x3b\x2d\x43\x38\x81\xce\x3f\x3d\x87\xa9\x27\
+\x53\x11\x47\xd7\xd9\xb2\x65\x0b\xa5\xa5\xa5\xb9\x99\xc0\x3b\xef\
+\xbc\x63\x0b\x4f\x3f\xba\x6a\xe1\x84\x54\x51\x33\x9a\x0a\xcc\x34\
+\x89\x5f\x39\x85\xaf\x78\x0c\x05\x05\x05\x76\x16\x27\x08\x42\xd6\
+\xe9\x67\x3a\x5a\x51\x14\x51\x55\x15\x55\x55\x91\x24\x09\x5d\xd7\
+\x99\x31\x63\x06\x9b\x36\x6d\xa2\xb4\xac\x82\x84\xff\x3c\xbd\xcd\
+\xbb\x08\x9e\xd8\x8f\xd5\x9f\x49\x02\x14\x55\xdf\x01\xa6\x6e\x9f\
+\xfa\xb6\x6d\xdb\xae\xeb\x0c\xc5\xc1\xf7\x6a\xd2\xd0\xd0\x90\x91\
+\x77\x9b\xb8\xca\x6b\x10\x24\x65\xd4\xe5\xa7\x1e\xf5\x93\x8c\x47\
+\xa9\xa9\xa9\xb1\x05\x07\x90\x24\xc9\x7e\xa4\x85\x4f\x9b\xa0\x2c\
+\xcb\x88\x62\x2a\xff\x97\x24\x09\xa7\xd3\x69\xfb\x8e\xe5\xcb\x97\
+\xe3\x74\xe6\xb1\x6c\xd9\x32\x02\x67\x8e\xa0\x87\xd3\xf9\x89\x89\
+\xea\x9b\x8c\xec\x19\x93\xb2\x71\x59\xe6\xc8\x91\x23\xf4\xf6\xf6\
+\x0e\xba\xf7\x41\x01\x08\x85\x42\xb4\xb7\xb7\x67\x24\x3c\x02\xae\
+\xf2\xb9\xfd\xd1\x7f\x14\x7c\x01\x60\xc4\x03\x24\x13\x29\x00\x92\
+\xc9\xa4\x2d\x64\x5a\xf0\x81\x44\x49\x5a\x2b\xd2\x1a\x92\xf6\x17\
+\x69\xf0\xf6\xef\xdf\xcf\xb8\x71\xe3\xa8\xae\xae\xc6\xe3\x76\x91\
+\x0c\x74\xd8\xc5\x92\xa8\x38\x51\xbd\x13\x6d\x30\x25\x49\xe2\xe0\
+\xc1\x83\x23\x37\x81\xae\xae\x2e\xba\xba\xba\xfa\x77\x6f\xe0\x9a\
+\x38\x1f\x41\x90\x46\xcd\xd3\x09\x80\x11\xf1\x23\x58\x26\x15\x15\
+\x15\x18\x86\x91\x25\x64\x26\x00\x99\xc0\xa4\x85\x97\x24\x89\x78\
+\x3c\x4e\x32\x99\xc4\x34\x4d\x76\xec\xd8\x41\x6f\x6f\x2f\x0b\x17\
+\x2e\xa4\xbd\xbd\x9d\x70\x24\x8a\xea\x2d\x4b\xf9\xa6\x7e\xc8\xf3\
+\x4a\x6f\xb6\xcb\x6d\x41\x10\x38\x71\xe2\x84\x1d\xcd\x86\x05\xe0\
+\xe8\xd1\xa3\xf6\xe9\x5b\xa6\x81\xab\x62\x2e\x56\xbf\x4d\x8d\x86\
+\xd8\xb4\x2c\x93\xd0\xd9\x46\x66\xcc\x98\x91\xe5\xe0\xd2\xc2\x0d\
+\x96\x79\x66\xfa\x84\x70\x38\x4c\x2c\x16\x03\xe0\xc4\x89\x13\xec\
+\xdf\xbf\x9f\x39\x73\xe6\xe0\xf5\x7a\xf9\xc3\x1f\xfe\x80\xa7\x6c\
+\x16\x52\x9e\xf7\x2a\xbf\x00\x38\xc6\x4c\x01\xf1\x6a\x1a\xdd\xd9\
+\xd9\x49\x34\x1a\x1d\x19\x00\xc7\x8e\x1d\xb3\x37\x2a\x39\xf3\x91\
+\x5d\xde\x94\xf3\xcb\xf5\xe4\xfb\x01\xeb\x3d\x52\x8f\xd3\x8a\xf0\
+\xc0\x83\x0f\x92\x48\x24\xae\xa1\xbf\x06\x02\xab\x28\x0a\x92\x24\
+\x91\x4c\x26\x09\x87\xc3\x24\x93\x49\x54\x55\xe5\xd0\xa1\x43\xbc\
+\xf0\xc2\x0b\xcc\x9e\x3d\x9b\xa5\x4b\x97\xb2\x6b\xe7\x4e\x04\x49\
+\xa1\x68\xd6\xed\x08\xa2\x68\x3b\x67\xcb\xb2\x10\x44\x19\x87\x6f\
+\xb2\xad\x15\x7e\xbf\x1f\x4d\xd3\xae\xd1\x62\xf1\x7a\x2c\x4f\x1a\
+\x00\xd9\xe5\x03\x84\x51\x9f\x7e\xa8\xed\x6f\x24\xfc\x17\xb8\xe7\
+\xde\xfb\x28\x29\x29\x19\x99\xc3\xd4\x75\x22\x91\x08\x89\x44\xc2\
+\xd6\x94\x83\x07\x0f\xb2\x6d\xdb\x36\x2a\x2b\x2b\xb9\xf5\xd6\x5b\
+\xd9\xb6\x6d\x1b\x3d\x81\x30\x63\xff\xed\x51\x44\xd5\x7d\x4d\x9a\
+\x6c\x59\x06\x8e\xe2\x89\x36\x00\xa1\x50\xc8\xce\x3d\x86\x04\x20\
+\x91\x48\x10\x8d\x46\xaf\x3a\x23\x87\x27\xe7\xb0\x97\x2e\x54\xf4\
+\x70\x37\xdd\x27\xfe\xcc\xba\x75\xeb\xec\x12\x75\x24\x5a\x93\xf6\
+\x11\x82\x20\xa0\x28\x0a\xbf\xf9\xcd\x6f\x78\xf5\xd5\x57\x59\xb8\
+\x70\x21\x4b\x96\x2c\xa1\xbe\xbe\x9e\x40\x28\x42\xc9\xa2\xaf\x21\
+\xa9\xee\xc1\x8b\x31\xcb\x42\xce\x1f\x97\xb5\xa6\xed\xd7\x86\xca\
+\x04\x07\xa2\x24\x2a\xce\x34\x69\x97\x93\xea\x5b\x86\x46\xf7\x7b\
+\xbf\x66\x76\x75\x35\xab\x56\xad\x22\x99\x4c\x66\x95\xb6\xb2\x2c\
+\x63\x18\xc6\x75\x41\x11\x45\x91\x44\x22\xc1\x6b\xaf\xbd\x46\x63\
+\x63\x23\xcb\x96\x2d\x63\xfc\xf8\xf1\x6c\xdb\xf6\x6b\x24\x57\x31\
+\xe3\x97\x3d\x8c\xa8\xe6\xc1\xf5\x4a\x5e\xcb\x42\x72\x16\xd8\x91\
+\x4b\x10\x04\x7a\x7b\x7b\x87\xf7\x01\xba\x9e\xed\xec\xd2\xb9\x75\
+\xae\x57\xe0\xe4\x1f\xc1\xd2\xb9\xe7\xde\x7b\xaf\x09\x6f\x3d\x3d\
+\x3d\xd4\xd5\xd5\x71\xec\xd8\xb1\x41\xb5\x27\xfd\x99\x1f\xfd\xe8\
+\x47\x34\x35\x35\x71\xdf\x7d\xf7\x21\x49\x12\xbb\x76\xee\x44\xf5\
+\x4e\x64\xec\xa2\xaf\x21\x2a\x4e\x2c\xd3\x1c\x32\xf8\x8a\xb2\x6a\
+\x47\xee\x74\x9d\x91\x73\x63\x64\x34\xa1\x4f\x0f\xf7\xd0\x77\xe6\
+\x18\x77\xad\x5f\x47\x45\x45\x45\x96\xe3\xeb\xec\xec\xa4\xae\xae\
+\x8e\x48\x24\xc2\x84\x09\x13\x98\x33\x67\x4e\xd6\x5a\xb2\x2c\xd3\
+\xd8\xd8\xc8\xeb\xaf\xbf\x4e\x61\x61\x21\xeb\xd7\xaf\xa7\xb9\xb9\
+\x99\x0f\x3e\xfc\x00\xdf\xb4\xc5\x14\xcc\xba\x0d\x0c\x7d\x44\x5d\
+\x22\xcb\xd0\x6d\xe5\xb5\x2c\xeb\x2a\x6b\x3d\x14\x00\x45\x45\x45\
+\x59\x42\x5b\x7a\x3c\x83\xc5\x1b\x1e\x2c\x51\x71\xd0\x7b\x6c\x37\
+\x95\x53\x26\x51\x5b\x5b\x9b\xd5\x0d\x02\x78\xee\xb9\xe7\x88\xc5\
+\x62\xc8\xb2\xcc\xb4\x69\xd3\xb2\xbe\x2f\x49\x12\xef\xbd\xf7\x1e\
+\xaf\xbc\xf2\x0a\xb3\x67\xcf\x66\xd9\xb2\x65\xec\xde\xbd\x9b\xce\
+\x8e\x0e\x4a\xbf\xf0\x40\x2a\xb4\x19\xfa\x08\xe9\x2e\x01\x33\x19\
+\xcf\x7a\x27\x4d\xe0\x0e\x69\x02\xd9\x2c\x2f\x98\x5a\x6c\xc4\x09\
+\xa0\x20\x4a\x44\xce\x1e\xc5\x8c\x74\xb1\xee\xce\x3b\xb3\xca\xd6\
+\x64\x32\x49\x5d\x5d\x1d\xf1\x78\x1c\x87\xc3\x81\xcf\xe7\xbb\xe6\
+\xf4\x23\x91\x08\x7b\xf6\xec\x61\xc2\x84\x09\xac\x5e\xbd\x9a\x73\
+\xe7\xce\x71\xfe\xfc\x39\x4a\xfe\xed\xdf\x71\x94\x4c\xcb\xad\x3f\
+\x28\x88\x24\xc3\x5d\x76\x55\x68\x59\x16\x65\x65\x65\x23\xcb\x03\
+\x26\x4d\x9a\x64\x2f\xa6\x47\xfd\xa9\xee\xcd\x30\xa6\x60\x59\x16\
+\x96\x9e\x20\x7c\xfa\x10\x25\xe3\x27\x30\x73\xe6\xcc\x2c\xa7\xb8\
+\x6f\xdf\x3e\xda\xda\xda\x98\x3b\x77\x2e\x81\x40\x80\x6f\x7c\xe3\
+\x1b\x59\x8d\x4f\x51\x14\x39\x7c\xf8\x30\x1d\x1d\x1d\xd4\xd6\xd6\
+\x02\xb0\x7f\xdf\x3e\x0a\x2a\x6a\x90\x5c\x3e\x30\x8d\x9c\x68\x37\
+\x41\x10\xd0\x03\x1d\x76\x04\x53\x55\x95\xc2\xc2\xc2\x91\xe5\x01\
+\x55\x55\x55\x76\xda\x68\x44\xfd\x58\x86\x36\x3c\xb9\x28\x08\x24\
+\xfc\xe7\x08\xf5\x5c\x62\xe3\xc6\x8d\xb6\xc7\x97\x24\x89\xd6\xd6\
+\x56\xf6\xec\xd9\xc3\xca\x95\x2b\x39\x7e\xfc\x38\x5f\xfc\xe2\x17\
+\x99\x36\x6d\x9a\x1d\xee\x24\x49\xa2\xa3\xa3\x83\xfa\xfa\x7a\x96\
+\x2f\x5f\x8e\xd7\xeb\xe5\xf0\xe1\xc3\xe8\x86\x81\x7b\xe2\xe7\x06\
+\xe5\x04\x87\x4d\xc0\x44\x89\xf8\xe5\x56\x10\x52\x4e\xdc\xeb\xf5\
+\xe2\x70\x38\x86\xcf\x03\x00\xe6\xce\x9d\x9b\x55\xb1\xc5\x3a\x4e\
+\x80\x28\x65\xa5\x9a\x83\xd6\xfb\xa7\xfe\x4a\x4d\xcd\x6c\x66\xce\
+\x9c\x69\xf7\x07\x03\x81\x00\xbf\xf8\xc5\x2f\xb8\xe9\xa6\x9b\x68\
+\x6b\x6b\x43\x96\x65\xd6\xac\x59\x93\xe5\x1b\x34\x4d\x63\xcb\x96\
+\x2d\x76\x71\x13\x89\x44\x68\x39\x71\x02\x87\xaf\x02\xc7\x98\xa9\
+\xa3\x72\xc4\xc9\xd0\x15\x0c\xed\x6a\x3e\x53\x52\x52\x32\x68\xf7\
+\x48\x1c\x4c\x7d\xaa\xaa\xaa\x70\xbb\xdd\xb6\x60\x91\xb3\x47\x10\
+\x44\x79\x08\x57\x20\x90\xec\xeb\x40\xf3\x9f\xe7\xcb\x5f\xfe\x0a\
+\x9a\xa6\xd9\xf7\xfa\xfd\xef\x7f\x8f\x61\x18\x4c\x99\x32\x85\xf6\
+\xf6\x76\xd6\xae\x5d\x4b\x49\x49\x89\xad\x21\xa2\x28\xb2\x7b\xf7\
+\x6e\x7a\x7a\x7a\x58\xb9\x72\x25\x6e\xb7\x9b\xa6\xa6\x26\x7a\xfd\
+\x7e\xbc\x73\xef\x4a\x69\xdf\x28\xca\xaf\xd8\xa5\xe3\x76\xd7\xc9\
+\xb2\xac\x7e\x7a\x4d\x1d\x1e\x00\x41\x10\x70\xbb\xdd\x94\x97\x97\
+\xf7\xbf\x16\xd1\x23\x7e\x12\xdd\xa7\xaf\x6f\x06\xa2\x44\xb0\xed\
+\xaf\x8c\x2f\x2d\x63\xfc\xf8\xf1\x76\x38\x6b\x6d\x6d\xe5\xc0\x81\
+\x03\xdc\x71\xc7\x1d\x34\x34\x34\x50\x5d\x5d\xcd\xea\xd5\xab\xed\
+\x04\x48\x96\x65\x8e\x1e\x3d\xca\xbe\x7d\xfb\x58\xb3\x66\x0d\xa5\
+\xa5\xa5\x5c\xbc\x78\x91\x43\x87\x0e\xe1\x9d\xb5\x3a\x95\x84\x59\
+\x56\x4e\x99\x68\xaa\x80\x4b\x92\xe8\xb9\xba\x5f\xc3\x30\x58\xb2\
+\x64\xc9\xc8\xcb\x61\x87\xc3\xc1\xbc\x79\xf3\xae\xaa\x9e\x20\x12\
+\x39\xdf\x3c\x24\xd5\x9d\xe8\x3d\x47\xd5\x8c\x99\x78\x3c\x1e\x04\
+\x41\x20\x14\x0a\xb1\x75\xeb\x56\xe6\xcf\x9f\x4f\x53\x53\x13\x92\
+\x24\xf1\xe0\x83\x0f\x12\x8b\xc5\x6c\xa6\xa6\xa5\xa5\x85\xd7\x5e\
+\x7b\x8d\x79\xf3\xe6\x71\xd3\x4d\x37\x11\x0a\x85\xd8\xbf\x7f\x1f\
+\xae\xc2\xb1\xb8\xca\xe7\xa6\xd6\x17\x72\xcf\x42\xf5\x68\x1f\x9a\
+\xff\xa2\x4d\xee\x78\xbd\x5e\xaa\xaa\xaa\x72\xa3\xc4\x56\xad\x5a\
+\x65\x53\x53\x82\x20\x90\xb8\xd2\x86\x11\x0b\x0e\xfa\x59\x2d\xd0\
+\x41\x32\x11\x67\xf1\xe2\xc5\xf6\x77\x76\xec\xd8\x61\x33\xcb\x17\
+\x2e\x5c\x60\xdd\xba\x75\x76\x8e\x21\x08\x02\x5d\x5d\x5d\xbc\xfc\
+\xf2\xcb\xf8\x7c\x3e\x56\xac\x58\x81\x20\x08\xbc\xfd\xf6\x1f\x09\
+\x84\xa2\x14\xdf\xb2\x11\x41\x94\x47\xc7\x3e\x49\x32\xc1\x93\x7f\
+\x4a\x11\xa5\x96\x85\xa6\x69\x3c\xf2\xc8\x23\xb9\xd3\xe2\x85\x85\
+\x85\xac\x5b\xb7\xce\x66\x6f\xcc\x64\x8c\x60\xeb\x9f\x10\x24\xf5\
+\x1a\xa7\xa4\xf9\x2f\xe0\x76\x39\x99\x3e\x7d\x3a\x96\x65\xd1\xd9\
+\xd9\x49\x63\x63\x23\x8a\xa2\xd0\xda\xda\xca\xaa\x55\xab\x58\xb2\
+\x64\x89\x2d\x7c\x30\x18\xe4\x27\x3f\xf9\x09\x2e\x97\x8b\xbb\xef\
+\xbe\x1b\x45\x51\x78\xf3\xcd\x37\x39\x7b\xee\x22\x63\xbf\xf0\x00\
+\x52\x5e\xe1\xa8\xca\x6f\x04\x91\xe8\xf9\x66\x12\xdd\xff\xb0\x35\
+\xa7\xb2\xb2\x92\xf9\xf3\xe7\x8f\xae\x2f\xf0\xd5\xaf\x7e\x15\x9f\
+\xaf\xbf\xdb\x2b\x4a\x44\x2f\x7d\x44\xe4\x5c\xd3\x35\xf5\x41\xac\
+\xbb\x9d\x85\x0b\x3f\x8f\x69\xa6\x88\xc9\xad\x5b\xb7\x62\x59\x16\
+\x89\x44\x82\xc9\x93\x27\xb3\x61\xc3\x06\xbb\x18\xea\xeb\xeb\xe3\
+\xd9\x67\x9f\x45\x51\x14\xd6\xae\x5d\x8b\x24\x49\xec\xdd\xbb\x97\
+\x73\xe7\xce\x52\x34\xeb\x36\x94\x82\xf1\x39\x77\x9b\xec\x3e\x46\
+\x22\x4c\xe8\xd4\xbb\xb6\xf6\x08\x82\xc0\x6d\xb7\xdd\x66\x37\x72\
+\x73\xee\x0c\xc9\xb2\xcc\xfa\xf5\xeb\xaf\xf2\x75\x92\x4a\xf0\xd4\
+\x9f\xb3\x9a\x13\x00\x5a\xa8\x9b\xe9\xd3\xa7\x03\xa4\xea\xf4\x9e\
+\x1e\x44\x31\x45\x74\x3e\xf0\xc0\x03\xb6\xb7\x0f\x06\x83\x6c\xde\
+\xbc\x99\xae\xae\x2e\xee\xbd\xf7\x5e\x3c\x1e\x0f\xdb\xb7\x6f\xe7\
+\xd4\xa9\x53\x8c\x5d\xf4\x75\x5c\x65\x35\xfd\xa1\x76\x14\xe5\xb7\
+\x28\x13\x68\x79\xcb\x6e\x94\x9a\xa6\xc9\xd8\xb1\x63\x59\xb9\x72\
+\xe5\xe8\x3a\x43\x69\xa1\x6b\x6b\x6b\x6d\x1e\x4f\x10\x04\x4c\x2d\
+\x8a\xff\xd8\x1b\x76\x99\x69\x99\x06\xc9\x58\x80\x49\x93\x26\xf1\
+\xe1\x87\x1f\xd2\x74\xb4\x11\xc5\xe3\x23\xa1\x25\x78\xe8\xa1\x87\
+\xa8\xa8\xa8\x40\x92\x24\xda\xda\xda\xf8\xf1\x8f\x7f\x8c\xa6\x69\
+\xdc\x7e\xfb\xed\xc8\xb2\xcc\x6f\xeb\xeb\xf1\x07\x42\x8c\x59\x78\
+\xff\x55\xca\x7d\x34\x9c\xa3\x28\x11\x3c\xf9\x36\xd1\x8b\x1f\xd9\
+\xed\x33\x59\x96\xd9\xb4\x69\xd3\x27\xef\x0d\x02\x3c\xf3\xcc\x33\
+\xb8\x5c\x2e\x9b\xe8\x48\x86\xae\xd0\xfd\xb7\x97\xb1\x0c\x3d\x35\
+\xf0\x24\x29\x9c\x3b\x77\x8e\xe7\x9f\x7f\x1e\xa9\x60\x02\x7a\xc4\
+\xcf\xca\x2f\xad\x60\xc1\x82\x05\x18\x86\xc1\x81\x03\x07\xf8\xe9\
+\x4f\x7f\x4a\x3c\x1e\xa7\xa2\xa2\x82\xf2\xf2\x72\x5e\x7d\xe5\x15\
+\x7a\x83\x51\xc6\x2f\xfb\x0f\x54\x6f\x79\x4e\x1d\xe6\x6c\xbe\xd1\
+\x22\x7c\xa6\x81\xc8\xd9\x23\xa9\xf2\xb7\xff\xf0\xbe\xfd\xed\x6f\
+\x33\x66\xcc\x98\x61\x6b\x87\x11\xb7\xc7\x4f\x9e\x3c\xc9\xd3\x4f\
+\x3f\x9d\xb5\xb0\x52\x58\x4a\xf1\x82\x8d\xf4\x1c\xd9\x4e\xf4\xca\
+\x3f\xc8\x2f\x9f\x8d\xa8\xe6\x61\xf6\xb6\xb1\x69\xd3\x53\x58\x96\
+\x45\x7d\x7d\x3d\xef\x37\x1f\x45\x75\x15\xe2\x72\x2a\xd4\xd4\xd4\
+\xd0\xf0\xde\xdf\x11\x5d\x63\xf0\x7d\xee\x1e\x24\xa7\x67\xf4\xe3\
+\x6e\xa2\x4c\xb0\xe5\x2d\xc2\xed\x87\x6d\xda\x2e\x1e\x8f\x53\x5b\
+\x5b\xcb\x37\xbf\xf9\xcd\x1b\x33\x1f\x90\x79\xbd\xfb\xee\xbb\x6c\
+\xdd\xba\xd5\x76\x30\x69\xe7\x38\xe6\x0b\x0f\x21\x48\x0a\x52\x5e\
+\x11\x57\x0e\xfc\x27\xe5\x25\x45\xcc\xae\xae\x66\xf7\xee\xdd\x38\
+\x3c\x45\x78\x6b\xd6\xd2\x73\x78\x3b\x88\x32\xa6\x65\x91\x5f\x31\
+\x97\xa2\x9a\xaf\x60\x1a\x09\x84\xd1\xd8\xbb\x20\x60\xea\x1a\x81\
+\x13\xfb\x89\x75\x1c\xb7\x6b\x05\xd3\x34\x59\xbc\x78\x31\x8f\x3d\
+\xf6\xd8\x8d\x9f\x10\x49\xdf\xb0\xa9\xa9\x89\xba\xba\xba\x6b\x46\
+\x5e\xdc\x13\xe7\x53\x38\x63\x35\x3d\x47\x7f\x4b\xf4\xc2\x87\x88\
+\xee\x62\x0a\x2b\x17\x93\x57\x36\x1b\x51\x52\xe9\x39\xfa\x5f\x88\
+\xb2\x8a\xa7\xf2\x56\x94\xfc\x12\x7b\xc2\x24\xd7\x2c\x4f\x90\x14\
+\x12\x5d\x6d\xf4\x1d\xdf\x8b\x11\x0d\xa4\xd8\xe0\xfe\x19\xa1\xb4\
+\xf0\x03\xfb\x0c\x37\x4c\x03\x32\x41\x78\xf1\xc5\x17\x09\x87\xc3\
+\x36\xaf\x6f\x99\x06\xb2\xdb\x87\x77\xce\x9d\x48\x6e\x2f\x92\xc3\
+\x83\x65\x24\x6d\xda\x4a\x90\x94\xfe\xb4\x31\x99\xa2\x57\x72\x2c\
+\x6d\x41\xc0\x88\x87\x08\x9d\xfe\x1b\xd1\xb3\x4d\x08\x92\x9c\xe5\
+\x0b\x56\xad\x5a\xc5\xc3\x0f\x3f\x9c\xbb\x03\xcd\x75\x4c\x2e\xbd\
+\xa1\xde\xde\x5e\x7e\xf6\xb3\x9f\x71\xe6\xcc\x99\xab\x20\xf4\xff\
+\x4f\x72\xf9\xf0\x4c\x5d\x84\x7b\xe2\xbc\x14\x2d\x35\x0a\xef\x9e\
+\x76\xb8\x82\xac\x90\x0c\x5e\x21\xd8\xf2\x47\xb4\xbe\x0b\x98\x7a\
+\xc2\xb6\x77\xcb\xb2\xd0\x75\x9d\x27\x9f\x7c\x92\x5b\x6e\xb9\x65\
+\x54\x03\xd5\x9f\x78\x52\x74\xfb\xf6\xed\xbc\xf5\xd6\x5b\xc4\x62\
+\xb1\x2c\x20\x2c\x23\x89\xe4\x70\xe3\x2a\x9f\x83\x63\x4c\x25\xb2\
+\xab\x08\xd1\x99\x8f\x20\xa9\xfd\xb1\xde\x1a\x2c\xf6\x42\x7f\x42\
+\xa3\xc7\x02\x24\x83\x9d\x44\xcf\x37\xa1\xf5\x5d\xea\x6f\xcc\x5e\
+\xad\xee\x0c\xc3\xa0\xba\xba\x9a\xef\x7c\xe7\x3b\x14\x14\x14\x7c\
+\xb6\x93\xa2\xd9\xaa\x09\x81\x40\x80\x97\x5e\x7a\x89\x86\x86\x86\
+\x2c\xd2\x21\xeb\x44\x44\x19\x41\x10\x91\x5c\x45\xc8\x9e\xb1\xc8\
+\x6e\x2f\x82\xa4\x22\x8a\x12\xa6\x9e\xc0\x88\x87\xd1\xa3\xdd\x24\
+\x83\x5d\x60\xea\xa9\x21\xcb\x0c\xd6\x37\xb3\xb2\xf3\x78\x3c\x7c\
+\xff\xfb\xdf\x67\xda\xb4\x69\x43\x4e\x91\x7d\x26\x1a\x90\x79\x7d\
+\xfc\xf1\xc7\xec\xdd\xbb\x97\xe6\xe6\x66\x82\xc1\x60\xff\x9c\xcf\
+\xc0\x81\x47\x33\xa5\x01\x59\x5a\x20\xa4\x4e\xbf\xdf\xd6\x07\x4e\
+\x8b\xa6\xcb\xe7\x19\x33\x66\xb0\x74\xe9\x52\x3b\xbb\xfb\xa7\x9a\
+\x16\xb7\x27\x39\xfb\xed\xf2\x2f\x7f\xf9\x0b\xbb\x77\xef\xc6\xef\
+\xf7\x0f\xf9\x1b\x81\xe1\x12\x1d\x51\x14\x59\xbe\x7c\x39\x1b\x36\
+\x6c\xa0\xa8\xa8\x28\x4b\xbb\x6e\xc4\xef\x06\x84\x4f\xfb\x57\x63\
+\x97\x2f\x5f\xe6\xf4\xe9\xd3\x9c\x3f\x7f\x9e\xb3\x67\xcf\xd2\xdd\
+\xdd\x4d\x6f\x6f\x2f\xe1\x70\x18\xc3\x30\x30\x0c\x03\x45\x51\x70\
+\xbb\xdd\x78\x3c\x1e\xc6\x8d\x1b\x47\x69\x69\x29\x15\x15\x15\x4c\
+\x9d\x3a\x95\x29\x53\xa6\xdc\x70\xa1\x3f\x31\x00\x9f\xc6\x46\xfe\
+\xb7\x2e\x79\x34\xc2\xda\x63\xf1\xa3\xe8\x16\x8f\xb6\xc5\xfe\x69\
+\x7d\x5e\x1e\xce\x9e\xd3\x29\x66\xfa\x6f\x9a\xf1\x49\x3f\xcf\x7c\
+\x6f\xa0\xa0\x03\xdf\xcb\xfc\xdc\x60\xa0\x5c\x43\x59\xf7\x67\x79\
+\x03\x7d\xc8\x60\xe3\x34\xe9\xf4\x3c\x73\xa4\x26\xf3\x71\x3d\x70\
+\xe4\xeb\x76\x77\x33\x84\x4f\xdb\x6a\x32\x99\x24\x99\x4c\xa2\x69\
+\x9a\xfd\x5c\xd7\x75\xfb\xff\xa6\x69\x0e\x0a\xcc\xc0\xe7\x83\x81\
+\x91\x5e\xf7\x7a\x8f\xc1\x84\x4c\x4f\x91\xc8\xb2\x6c\x8f\xd2\xc9\
+\xb2\x8c\xaa\xaa\x28\x8a\x62\xbf\x4e\x8f\xdb\x0c\x06\xf4\x90\x26\
+\x90\x16\x28\x3d\xd1\x99\x48\x24\xec\x9f\xc0\xc5\xe3\x71\xe2\xf1\
+\x38\x9a\xa6\xa1\x69\x9a\x0d\x42\x26\x10\x03\xc1\xc8\x04\x22\xf3\
+\x31\x50\xf8\xcc\x53\x1d\x38\x47\x94\xf9\x3a\x2d\xbc\xa2\x28\xa8\
+\xaa\x8a\xc3\xe1\xc0\xe9\x74\x92\x97\x97\x67\x8f\xf6\xa6\xef\x9d\
+\x1e\xc0\x4c\x6b\xd5\x88\x00\xc8\x9c\xd5\x49\xb7\xb1\xd2\x43\x0b\
+\x4e\xa7\xd3\xd6\x80\x64\x32\x69\xc7\xea\x91\x08\x3e\x98\x16\x64\
+\x0a\x3e\x10\x80\x81\xaf\x07\xd3\x00\x49\x92\xec\x99\x42\x45\x51\
+\x70\x38\x1c\xb6\x06\x0c\x65\x02\x83\x46\x81\x81\x3f\x7c\x1c\xb8\
+\xf9\xe1\x4e\x74\x30\xdb\x1f\xea\xef\x40\xd3\x1b\x68\xb7\x83\xd9\
+\x7e\xe6\xf3\x4c\xf3\x18\xa8\x31\xc3\xf9\x80\x9c\xca\xe1\x4f\xfa\
+\x99\x5c\x23\xc1\x48\xfa\x91\xb9\xdc\x67\xd0\x88\x76\xa3\x33\xc1\
+\xff\x6b\xd7\xff\x00\xa7\x10\xb1\xf5\x2f\x56\xda\x68\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x01\x15\xcc\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x03\x33\x00\x00\x02\x07\x08\x06\x00\x00\x00\xab\x37\x02\xb9\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0a\x3e\x00\x00\x0a\x3e\x01\
+\x3c\x37\xb1\x9c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x1e\
+\x09\x1b\x2c\x28\x9c\xfd\xdd\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xdd\x77\x7c\x14\x75\xc2\x3f\xf0\xcf\xce\xf6\x4d\x36\xbd\
+\x98\x84\x14\x08\xbd\x57\x41\xaa\x14\x45\x01\xc5\x82\xe7\x23\x62\
+\xb9\x3b\xfb\xe9\x3d\xc7\x9d\xd8\x4e\xb1\x71\x77\x1c\xea\xef\xf4\
+\xee\x44\xb0\x80\x1e\x0a\xf8\xa8\x1c\x22\x2a\x28\x88\x82\x22\x20\
+\x9d\x84\x92\x4e\x48\x4f\x36\x75\x37\xd9\x32\x3b\xf3\xfb\x23\xec\
+\x66\x27\x9b\x06\xa4\x40\xf8\xbc\x5f\xaf\x7d\x6d\xa6\xec\xec\xcc\
+\xec\x66\x32\x9f\x7c\x9b\x4a\x96\x65\x19\x44\x44\x44\x44\x44\x44\
+\x97\x18\x81\xa7\x80\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\
+\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\
+\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\
+\x88\x88\x61\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\
+\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\
+\x88\x18\x66\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\
+\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\
+\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\
+\x18\x66\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\
+\x61\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\
+\x61\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\
+\x66\x88\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x61\
+\x86\x88\x88\x88\x88\x88\x88\x61\x86\x88\x88\x88\x88\x88\x88\x61\
+\x86\x88\x88\x88\x88\x88\x18\x66\x88\x88\x88\x88\x88\x88\x18\x66\
+\x88\x88\x88\x88\x88\x88\x3a\x8a\x86\xa7\x80\x88\x88\xce\x47\x7a\
+\x7a\x3a\x4e\x9e\x3c\x89\xac\xac\x2c\x64\x66\x66\x7a\x9f\xb3\xb3\
+\xb3\x21\x08\x02\xcc\x66\x33\xcc\x66\x33\x82\x82\x82\xbc\x3f\x9b\
+\xcd\x66\xf4\xe8\xd1\x03\x33\x67\xce\xc4\xe4\xc9\x93\xa1\xd3\xe9\
+\x78\x22\x89\x88\xe8\xbc\xa9\x64\x59\x96\x79\x1a\x88\x88\xda\x8f\
+\x2c\xcb\x48\x49\x49\x41\x71\x71\x31\x4a\x4b\x4b\x51\x56\x56\xa6\
+\x78\xb6\x58\x2c\x08\x0e\x0e\x46\x6c\x6c\x2c\x62\x62\x62\x10\x1b\
+\x1b\x8b\xd8\xd8\x58\xc4\xc5\xc5\x61\xd0\xa0\x41\x10\x84\x8b\xb7\
+\xd0\xfc\xd4\xa9\x53\x58\xb7\x6e\x1d\xd6\xaf\x5f\x8f\x53\xa7\x4e\
+\x5d\xd0\xb6\x02\x02\x02\x30\x6d\xda\x34\x5c\x7f\xfd\xf5\x98\x33\
+\x67\x0e\xe2\xe3\xe3\xf9\xe5\x21\x22\x22\x86\x19\x22\xa2\xae\x50\
+\x56\x56\x86\xd5\xab\x57\x63\xe5\xca\x95\xc8\xcc\xcc\x3c\xaf\x6d\
+\x44\x45\x45\x61\xf6\xec\xd9\x98\x33\x67\x0e\xae\xbd\xf6\x5a\x04\
+\x06\x06\x76\xf9\x71\xd9\xed\x76\xac\x5c\xb9\x12\xef\xbf\xff\x3e\
+\x0e\x1f\x3e\xdc\x21\xef\xa1\xd1\x68\xf0\xc0\x03\x0f\xe0\xf9\xe7\
+\x9f\x47\x54\x54\x14\xbf\x4c\x44\x44\xc4\x30\x43\x44\xd4\x19\x76\
+\xef\xde\x8d\xb7\xde\x7a\x0b\x9f\x7c\xf2\x09\x1c\x0e\x47\xbb\x6d\
+\x57\xaf\xd7\x63\xe6\xcc\x99\x78\xe2\x89\x27\x30\x61\xc2\x84\x4e\
+\x3f\x2e\x49\x92\xb0\x66\xcd\x1a\x3c\xf7\xdc\x73\x38\x73\xe6\x4c\
+\x9b\xf6\x37\x29\x29\x09\xf1\xf1\xf1\x10\x45\x11\x36\x9b\x0d\x56\
+\xab\x15\x56\xab\xd5\xfb\xb3\xd3\xe9\x6c\x71\x1b\x81\x81\x81\x58\
+\xb4\x68\x11\xfe\xf4\xa7\x3f\x21\x20\x20\x80\x5f\x2e\x22\x22\x62\
+\x98\x21\x22\xea\x08\x3f\xfe\xf8\x23\x7e\xff\xfb\xdf\xe3\xd0\xa1\
+\x43\x6d\x7e\x8d\x20\x08\x08\x0e\x0e\x46\x75\x75\x35\xdc\x6e\x77\
+\x9b\x5f\x77\xf5\xd5\x57\xe3\xd9\x67\x9f\xc5\xf4\xe9\xd3\x3b\xe5\
+\xd8\xbe\xf9\xe6\x1b\x3c\xfe\xf8\xe3\x38\x76\xec\x58\x93\xcb\x35\
+\x1a\x0d\xae\xbe\xfa\x6a\xcc\x9a\x35\x0b\x7d\xfb\xf6\x45\x52\x52\
+\x12\xa2\xa3\xa3\xa1\x52\xa9\x5a\xdc\xae\xdd\x6e\xc7\x9e\x3d\x7b\
+\xf0\xdd\x77\xdf\x61\xdb\xb6\x6d\x48\x4b\x4b\x6b\x72\xbd\x98\x98\
+\x18\xac\x5f\xbf\x1e\x93\x27\x4f\xe6\x17\x8d\x88\x88\x18\x66\x88\
+\x88\xda\x4b\x79\x79\x39\x9e\x78\xe2\x09\xac\x5a\xb5\x0a\x4d\x5d\
+\x42\x35\x1a\x0d\xae\xbb\xee\x3a\x4c\x9d\x3a\x15\xe1\xe1\xe1\x88\
+\x88\x88\x40\x58\x58\x18\xc2\xc3\xc3\x11\x1a\x1a\x0a\x41\x10\x20\
+\x49\x12\xca\xca\xca\x50\x54\x54\x84\xe2\xe2\x62\x14\x15\x15\x61\
+\xff\xfe\xfd\xf8\xe6\x9b\x6f\x50\x5a\x5a\xda\xec\x7b\x8f\x1f\x3f\
+\x1e\xaf\xbd\xf6\x1a\xc6\x8d\x1b\xd7\x21\xc7\x66\xb1\x58\xb0\x70\
+\xe1\x42\xac\x59\xb3\xa6\xc9\x20\x36\x71\xe2\x44\xdc\x7c\xf3\xcd\
+\x98\x3d\x7b\x36\xc2\xc2\xc2\x2e\xf8\xfd\xce\x9c\x39\x83\x35\x6b\
+\xd6\xe0\xad\xb7\xde\x42\x5d\x5d\x9d\x62\x99\x5e\xaf\xc7\x07\x1f\
+\x7c\x80\xdb\x6f\xbf\x9d\x5f\x3a\x22\x22\x62\x98\x21\x22\xba\x50\
+\xff\xf9\xcf\x7f\xf0\xf8\xe3\x8f\x37\x19\x38\xe2\xe3\xe3\xb1\x60\
+\xc1\x02\x2c\x58\xb0\x00\xd1\xd1\xd1\xe7\xb5\x7d\x59\x96\x71\xf0\
+\xe0\x41\x6c\xdd\xba\x15\x1b\x37\x6e\x44\x56\x56\x96\xff\x85\x5b\
+\xa5\xc2\x9d\x77\xde\x89\xa5\x4b\x97\x22\x2e\x2e\xae\xdd\x8e\x6d\
+\xfd\xfa\xf5\xf8\xfd\xef\x7f\xdf\xe4\xb1\x4d\x9f\x3e\x1d\x8b\x17\
+\x2f\xc6\xa0\x41\x83\x3a\xe4\xbc\x16\x15\x15\xe1\xef\x7f\xff\x3b\
+\xd6\xae\x5d\xab\x28\xb1\x52\xa9\x54\xf8\xfb\xdf\xff\x8e\x45\x8b\
+\x16\xf1\xcb\x47\x44\x44\x0c\x33\x44\x44\xe7\xc3\xe9\x74\xe2\xee\
+\xbb\xef\xc6\xc7\x1f\x7f\xec\xb7\x6c\xc0\x80\x01\x58\xbc\x78\x31\
+\xa6\x4f\x9f\xde\xae\x3d\x91\x49\x92\x84\x8d\x1b\x37\xe2\xb5\xd7\
+\x5e\x6b\xb2\xe7\xb0\x80\x80\x00\x3c\xf5\xd4\x53\x78\xfc\xf1\xc7\
+\x61\x30\x18\xce\xfb\x7d\xf2\xf2\xf2\xf0\xf0\xc3\x0f\x63\xf3\xe6\
+\xcd\x7e\xcb\x46\x8c\x18\x81\xe7\x9f\x7f\x1e\x13\x27\x4e\xec\x94\
+\xf3\x7c\xfc\xf8\x71\xdc\x75\xd7\x5d\x38\x7d\xfa\xb4\x62\xfe\x93\
+\x4f\x3e\x89\xa5\x4b\x97\xf2\x8b\x48\x44\x44\x0c\x33\x44\x44\xe7\
+\xc2\x6a\xb5\xe2\xe6\x9b\x6f\xc6\xb6\x6d\xdb\x14\xf3\x8d\x46\x23\
+\x16\x2d\x5a\x84\x47\x1e\x79\x04\x1a\x4d\xc7\x0d\xdb\x25\xcb\x32\
+\xbe\xf8\xe2\x0b\x2c\x59\xb2\xa4\xc9\x92\x9a\xc4\xc4\x44\xbc\xf2\
+\xca\x2b\xb8\xed\xb6\xdb\xce\x69\xbb\x2e\x97\x0b\xef\xbc\xf3\x0e\
+\x9e\x7e\xfa\x69\x54\x57\x57\xfb\x05\xa5\xc5\x8b\x17\xe3\x37\xbf\
+\xf9\x4d\xab\xed\x60\xda\x5b\x59\x59\x19\xe6\xcf\x9f\x8f\x83\x07\
+\x0f\x2a\xe6\x7f\xf2\xc9\x27\xb8\xf5\xd6\x5b\x3b\x7d\x7f\x88\x88\
+\x88\x61\x86\x88\xe8\x92\x54\x5a\x5a\x8a\x59\xb3\x66\x61\xff\xfe\
+\xfd\x8a\xf9\xd7\x5c\x73\x0d\xfe\xfe\xf7\xbf\x23\x21\x21\xa1\xd3\
+\xf6\xc5\xe5\x72\xe1\xed\xb7\xdf\xc6\xab\xaf\xbe\x8a\x9a\x9a\x1a\
+\xbf\xe5\x23\x47\x8e\xc4\x6f\x7e\xf3\x1b\xdc\x71\xc7\x1d\x2d\xb6\
+\x67\x29\x2d\x2d\xc5\xdb\x6f\xbf\x8d\xe5\xcb\x97\xa3\xa0\xa0\xc0\
+\x6f\xf9\x8c\x19\x33\xf0\xea\xab\xaf\xa2\x47\x8f\x1e\x5d\x76\xde\
+\xeb\xea\xea\xf0\xe0\x83\x0f\xe2\xab\xaf\xbe\xf2\xce\x0b\x0e\x0e\
+\xc6\xc1\x83\x07\xd1\xb3\x67\x4f\x06\x1a\x22\x22\x62\x98\x21\x22\
+\x6a\x2d\xc8\x4c\x9c\x38\x51\xd1\xe3\x96\x4a\xa5\xc2\x8b\x2f\xbe\
+\x88\x47\x1e\x79\xa4\xcb\xf6\xab\xac\xac\x0c\x4b\x96\x2c\xc1\xda\
+\xb5\x6b\x21\x49\x92\xdf\x72\xbd\x5e\x8f\x49\x93\x26\xa1\x67\xcf\
+\x9e\x48\x4c\x4c\x44\x5c\x5c\x1c\x0a\x0b\x0b\x71\xea\xd4\x29\x9c\
+\x3c\x79\x12\x87\x0f\x1f\x6e\xb2\x0b\xe9\xb0\xb0\x30\xfc\xe5\x2f\
+\x7f\x39\xe7\x12\x9e\x8e\x22\x8a\x22\x66\xcd\x9a\xa5\x28\xa1\x19\
+\x33\x66\x0c\x76\xed\xda\x05\x9d\x4e\xc7\x40\x43\x44\x44\x0c\x33\
+\x44\x44\x4d\x91\x24\x09\x73\xe6\xcc\xc1\xd7\x5f\x7f\xed\x9d\xa7\
+\x56\xab\xf1\x8f\x7f\xfc\x03\xf3\xe7\xcf\xbf\x28\xf6\xf1\xe8\xd1\
+\xa3\x78\xfa\xe9\xa7\xb1\x77\xef\xde\x0b\xde\xd6\xcd\x37\xdf\x8c\
+\xa5\x4b\x97\x22\x3c\x3c\xfc\xa2\xfa\x1c\x4e\x9c\x38\x81\xd9\xb3\
+\x67\x2b\xaa\xc1\x2d\x5e\xbc\x18\xcf\x3f\xff\x3c\x54\x2a\x15\x03\
+\x0d\x11\x11\xc3\x0c\xc3\x0c\x11\x91\x87\xe7\x92\xf8\xca\x2b\xaf\
+\xe0\xc9\x27\x9f\xf4\xce\xd7\xe9\x74\x78\xfb\xed\xb7\x31\x67\xce\
+\x9c\x8b\x6e\x9f\x37\x6d\xda\x84\xf7\xde\x7b\x0f\xbb\x77\xef\xc6\
+\xb9\x5c\xd2\x35\x1a\x0d\x6e\xb8\xe1\x06\x3c\xf4\xd0\x43\x18\x35\
+\x6a\xd4\x45\xf9\x79\x38\x9d\x4e\xac\x5a\xb5\x0a\xcf\x3d\xf7\x9c\
+\xf7\xd8\x82\x83\x83\x91\x99\x99\x89\xd0\xd0\x50\x06\x1a\x22\x22\
+\x86\x19\x86\x19\x22\x22\xdf\x20\xf3\xf3\xcf\x3f\x63\xca\x94\x29\
+\x10\x45\xd1\xbb\x6c\xc5\x8a\x15\x98\x37\x6f\xde\x45\xbd\xff\xa7\
+\x4f\x9f\xc6\xba\x75\xeb\xb0\x71\xe3\x46\x9c\x3e\x7d\x1a\x2e\x97\
+\xcb\x6f\x9d\xd0\xd0\x50\xf4\xee\xdd\x1b\x13\x27\x4e\xc4\x6f\x7e\
+\xf3\x1b\xc4\xc4\xc4\x5c\xf4\x9f\xcb\xd1\xa3\x47\xb1\x6c\xd9\x32\
+\x6c\xd9\xb2\xc5\x3b\xef\xf9\xe7\x9f\xc7\x73\xcf\x3d\xe7\x0d\x33\
+\x0c\x34\x44\x44\x0c\x33\x44\x44\x97\x7d\x90\x71\x38\x1c\x18\x30\
+\x60\x00\x72\x72\x72\xbc\xcb\x6e\xbf\xfd\x76\xbc\xf9\xe6\x9b\x97\
+\xd4\xf1\x48\x92\x84\xe2\xe2\x62\xe4\xe5\xe5\xa1\xa0\xa0\x00\xd1\
+\xd1\xd1\xe8\xd3\xa7\xcf\x45\x57\x8d\xac\x2d\x32\x32\x32\x90\x96\
+\x96\x86\x5f\xff\xfa\xd7\xde\x31\x68\x42\x43\x43\x91\x91\x91\x81\
+\xe0\xe0\x60\x6f\x77\xd8\x0c\x34\x44\x44\x97\x1f\x81\xa7\x80\x88\
+\x18\x64\x64\xef\xf3\xea\xd5\xab\x15\x41\xa6\x67\xcf\x9e\x58\xb6\
+\x6c\xd9\xa5\x77\x71\x17\x04\xc4\xc4\xc4\x60\xcc\x98\x31\x98\x3b\
+\x77\x2e\xc6\x8d\x1b\x77\x49\x06\x19\x00\x30\x99\x4c\x88\x89\x89\
+\xc1\x8c\x19\x33\xbc\xf3\x2a\x2a\x2a\xb0\x62\xc5\x0a\x48\x92\xe4\
+\xed\x04\x81\xff\x9b\x23\x22\x62\x98\x21\x22\xba\x6c\x03\x8d\xc3\
+\xe1\x50\x0c\xcc\xa8\x52\xa9\xb0\x72\xe5\x4a\x04\x04\x04\xf0\x04\
+\x75\x71\x98\x01\x80\x3b\xef\xbc\x53\x31\x28\xe9\xba\x75\xeb\x20\
+\x49\x12\x64\x59\x66\x90\x21\x22\x62\x98\x21\x22\xba\x3c\x43\x8c\
+\x2c\xcb\x90\x24\x09\xef\xbf\xff\x3e\x72\x73\x73\xbd\xcb\x66\xce\
+\x9c\x89\x91\x23\x47\xf2\x24\x75\x31\xa3\xd1\x08\x00\x88\x89\x89\
+\xc1\xb0\x61\xc3\xbc\xf3\x53\x52\x52\x90\x91\x91\xa1\x08\x34\x0c\
+\x35\x44\x44\x0c\x33\x44\x44\x97\x55\x90\x91\x65\x19\x6e\xb7\xdb\
+\xaf\x3a\xd9\xc2\x85\x0b\x79\x92\x2e\x02\x3a\x9d\xce\xfb\xf3\xc4\
+\x89\x13\x15\xcb\x3e\xff\xfc\x73\x88\xa2\xe8\x0d\x34\x44\x44\xc4\
+\x30\x43\x44\x74\x59\x04\x19\xcf\xb3\x24\x49\xd8\xb7\x6f\x9f\xa2\
+\xad\xcc\xe4\xc9\x93\x2f\xda\xee\x8a\x2f\x37\x2a\x95\x0a\x1a\x8d\
+\xc6\x1b\x66\x7c\x1b\xfa\x6f\xde\xbc\x19\xa2\x28\xc2\xed\x76\xb3\
+\x74\x86\x88\x88\x61\x86\x88\xe8\xf2\x0a\x34\x9e\x52\x99\xcf\x3f\
+\xff\x5c\xb1\xec\x81\x07\x1e\xe0\x09\xba\x88\x78\xc2\x4c\x58\x58\
+\x18\x06\x0e\x1c\xe8\x9d\xbf\x6f\xdf\x3e\x54\x54\x54\xc0\xed\x76\
+\x2b\x4a\x67\x18\x68\x88\x88\x18\x66\x88\x88\xba\x75\x88\x91\x24\
+\x09\x6e\xb7\x1b\xa2\x28\xe2\x8b\x2f\xbe\xf0\x2e\x37\x18\x0c\x98\
+\x32\x65\x0a\x4f\xd4\x45\x44\xab\xd5\x7a\x7f\xf6\x6d\xc7\xe4\x76\
+\xbb\x71\xf4\xe8\x51\x6f\x55\x33\x56\x37\x23\x22\x62\x98\x21\x22\
+\xba\x6c\x02\x8d\xdb\xed\xc6\xc9\x93\x27\x91\x96\x96\xe6\x5d\x36\
+\x69\xd2\x24\x6f\xa3\x73\xba\xf8\xc2\x4c\xaf\x5e\xbd\x14\xcb\x52\
+\x52\x52\xfc\xaa\x9a\x11\x11\xd1\xe5\x41\xc3\x53\x40\x44\x97\x63\
+\x88\xf1\x04\x19\x51\x14\xf1\xfd\xf7\xdf\x2b\xd6\xb9\xee\xba\xeb\
+\x3a\x75\x9f\x9c\x4e\x27\x6a\x6b\x6b\xbd\x37\xe3\x01\x01\x01\x0c\
+\x53\x2d\x84\x99\xa4\xa4\x24\xc5\xb2\xd4\xd4\x54\x38\x9d\x4e\x68\
+\x34\x1a\x08\x82\x00\x41\x10\xbc\x81\x86\x03\x69\x12\x11\x31\xcc\
+\x10\x11\x75\xbb\x40\xe3\x5b\xc5\x2c\x2b\x2b\x4b\xb1\xfc\xca\x2b\
+\xaf\xec\xb0\xf7\x2e\x29\x29\xc1\xb1\x63\xc7\x90\x92\x92\xe2\x7d\
+\x64\x66\x66\x7a\x07\x7e\x04\x00\xb5\x5a\x8d\xfe\xfd\xfb\x63\xe4\
+\xc8\x91\xb8\xfd\xf6\xdb\x31\x6e\xdc\xb8\x4e\x0b\x55\xe9\xe9\xe9\
+\x38\x71\xe2\x84\xf7\x61\xb7\xdb\xa1\xd3\xe9\xa0\xd1\x68\xa0\xd5\
+\x6a\xa1\xd5\x6a\xa1\xd7\xeb\x31\x78\xf0\x60\x4c\x9c\x38\x11\x03\
+\x07\x0e\xec\x94\xc0\xe0\x69\x33\x03\x00\xb1\xb1\xb1\xd0\xe9\x74\
+\x70\x3a\x9d\x00\x80\x53\xa7\x4e\xc1\xe9\x74\x7a\xf7\x53\x92\x24\
+\xa8\x54\x2a\x06\x19\x22\x22\x86\x19\x22\xa2\xee\x15\x62\x7c\xdb\
+\xcb\x88\xa2\x08\xa7\xd3\x89\xd3\xa7\x4f\x2b\xd6\x4b\x4c\x4c\x6c\
+\xd7\xf7\x2d\x28\x28\xc0\xaa\x55\xab\xb0\x7e\xfd\x7a\x14\x15\x15\
+\xb5\xba\xbe\xdb\xed\x46\x6a\x6a\x2a\x52\x53\x53\xb1\x66\xcd\x1a\
+\x4c\x9b\x36\x0d\xcf\x3c\xf3\x0c\x86\x0f\x1f\xde\x21\xe1\x6a\xcd\
+\x9a\x35\xd8\xb8\x71\x23\xd2\xd3\xd3\x21\x8a\xe2\x39\xbd\x3e\x2c\
+\x2c\x0c\xe3\xc7\x8f\xc7\xc4\x89\x13\x31\x61\xc2\x04\x0c\x18\x30\
+\xa0\xc3\x3f\x47\x41\x10\x10\x1f\x1f\x8f\xcc\xcc\x4c\x00\x40\x66\
+\x66\x26\x9c\x4e\x27\x5c\x2e\x17\xb4\x5a\x2d\xd4\x6a\xb5\xb7\x74\
+\x86\x81\x86\x88\x88\x61\x86\x88\xa8\x5b\x05\x1a\xdf\x52\x19\xa7\
+\xd3\x89\x33\x67\xce\x78\x97\x87\x87\x87\x7b\x47\x9c\xbf\x50\x7b\
+\xf6\xec\xc1\x3b\xef\xbc\x83\x2f\xbf\xfc\xf2\x9c\x43\x82\xaf\xef\
+\xbe\xfb\x0e\xdf\x7d\xf7\x1d\x66\xcd\x9a\x85\x3f\xff\xf9\xcf\xe8\
+\xd7\xaf\xdf\x05\xef\x9b\xc5\x62\xc1\xb3\xcf\x3e\x8b\x8d\x1b\x37\
+\xc2\xe5\x72\x9d\xf7\x76\xca\xcb\xcb\xb1\x79\xf3\x66\x6c\xde\xbc\
+\x19\x00\x30\x7e\xfc\x78\xbc\xf8\xe2\x8b\x18\x31\x62\x44\x87\x7e\
+\x8e\xe1\xe1\xe1\xde\x30\x53\x59\x59\x09\xbb\xdd\x0e\x83\xc1\x00\
+\x51\x14\xa1\xd1\x68\x14\xbd\x9a\x31\xd0\x10\x11\x75\x5f\xec\x00\
+\x80\x88\x2e\x9b\x10\xd3\xb8\x17\x33\x97\xcb\x05\x87\xc3\x81\xfc\
+\xfc\x7c\xef\x7a\x09\x09\x09\x17\xf4\x3e\x0e\x87\x03\x6b\xd7\xae\
+\xc5\xd5\x57\x5f\x8d\x39\x73\xe6\x78\x07\x75\x6c\x0f\x5f\x7d\xf5\
+\x15\x26\x4f\x9e\x8c\x45\x8b\x16\xc1\x62\xb1\x9c\xf7\x79\xf8\xf2\
+\xcb\x2f\x31\x79\xf2\x64\x7c\xf2\xc9\x27\x17\x14\x64\x9a\xb2\x7b\
+\xf7\x6e\x5c\x7b\xed\xb5\xb8\xff\xfe\xfb\xfd\x4a\xbc\xda\x53\x60\
+\x60\xa0\xe2\x98\x2a\x2b\x2b\xe1\x72\xb9\x14\x5d\x34\xb3\x23\x00\
+\x22\x22\x86\x19\x22\xa2\x6e\x17\x6a\x7c\xc3\x4c\x75\x75\x35\x2a\
+\x2a\x2a\x2e\x38\xcc\x1c\x38\x70\x00\x4f\x3d\xf5\x14\x86\x0e\x1d\
+\x8a\xdf\xff\xfe\xf7\x48\x49\x49\xe9\x90\xfd\x77\xbb\xdd\x58\xbd\
+\x7a\x35\xc6\x8c\x19\x83\xe5\xcb\x97\x7b\xdb\x8d\xb4\x76\xcc\x67\
+\xce\x9c\xc1\x07\x1f\x7c\x80\xab\xae\xba\x0a\xf7\xdc\x73\x0f\x8a\
+\x8b\x8b\x3b\xf4\x1c\xff\xf7\xbf\xff\xc5\x55\x57\x5d\x85\xe7\x9e\
+\x7b\x4e\x71\x7e\x3b\x22\xcc\x00\xf5\x25\x4d\x2e\x97\xcb\xdb\xab\
+\x19\xbb\x68\x26\x22\xba\x3c\xb0\x9a\x19\x11\x5d\x56\x41\xc6\xb7\
+\xbd\x8c\xcb\xe5\x42\x4e\x4e\x8e\xe2\xa6\xb7\x2d\x61\xc6\x66\xb3\
+\x21\x3f\x3f\x1f\x79\x79\x79\xd8\xbf\x7f\x3f\x3e\xf9\xe4\x13\x64\
+\x67\x67\x77\xea\xb1\x54\x57\x57\x63\xf1\xe2\xc5\x58\xba\x74\x29\
+\xae\xba\xea\x2a\x4c\x98\x30\x01\xa1\xa1\xa1\x50\xa9\x54\x10\x04\
+\x01\x85\x85\x85\x48\x4b\x4b\x43\x7a\x7a\x3a\xd2\xd3\xd3\x51\x57\
+\x57\xd7\xe9\xe7\xdb\xe9\x74\xe2\xad\xb7\xde\xc2\xda\xb5\x6b\x31\
+\x7b\xf6\x6c\x8c\x1f\x3f\x1e\x13\x26\x4c\x40\x7c\x7c\xfc\x79\x7d\
+\x76\x2d\x85\x99\xf2\xf2\x72\x38\x9d\x4e\xef\x78\x33\xac\x66\x46\
+\x44\xc4\x30\x43\x44\xd4\x2d\x83\x8c\x6f\x7b\x99\xdc\xdc\x5c\xbf\
+\xa0\xf2\xee\xbb\xef\x22\x37\x37\x17\x25\x25\x25\xb0\xd9\x6c\xde\
+\x87\xd5\x6a\x45\x71\x71\x31\x2a\x2b\x2b\xdb\x65\x9f\x74\x3a\x1d\
+\x22\x23\x23\x11\x14\x14\x84\xb2\xb2\x32\x58\x2c\x16\x45\xaf\x66\
+\x6d\x51\x5b\x5b\x8b\xed\xdb\xb7\x63\xfb\xf6\xed\x17\xed\xb9\xaf\
+\xaa\xaa\xc2\xda\xb5\x6b\xb1\x76\xed\x5a\x00\x40\x7c\x7c\x3c\xc6\
+\x8f\x1f\x8f\x2b\xaf\xbc\x12\xc9\xc9\xc9\x48\x4a\x4a\x42\x6c\x6c\
+\x2c\x04\xa1\xed\x95\x05\x02\x02\x02\x14\xd3\x9e\x6a\x66\x4d\x95\
+\xcc\x30\xd0\x10\x11\x31\xcc\x10\x11\x5d\xd2\x41\xc6\xf3\xdc\x52\
+\xe3\x7f\x00\x58\xb5\x6a\x55\x87\xec\x83\x56\xab\xc5\xf8\xf1\xe3\
+\x71\xfd\xf5\xd7\x63\xda\xb4\x69\x88\x8f\x8f\x47\x48\x48\x88\x62\
+\x1d\x49\x92\x60\xb1\x58\x90\x99\x99\x89\x2d\x5b\xb6\xe0\xeb\xaf\
+\xbf\xc6\xd1\xa3\x47\x3b\xed\x3c\xa9\x54\x2a\x8c\x1c\x39\x12\x13\
+\x26\x4c\x40\x4c\x4c\x0c\xa2\xa2\xa2\x10\x15\x15\x05\x9d\x4e\x87\
+\xd2\xd2\x52\x94\x94\x94\xa0\xa4\xa4\x04\x29\x29\x29\xd8\xb1\x63\
+\x07\x6c\x36\xdb\x79\xbd\xcf\x99\x33\x67\xf0\xf1\xc7\x1f\xe3\xe3\
+\x8f\x3f\x56\x04\xbb\x84\x84\x04\xf4\xec\xd9\x13\xbd\x7a\xf5\x42\
+\x72\x72\xb2\xf7\x39\x2e\x2e\xce\xaf\x64\xa6\x71\xf5\x3a\x59\x96\
+\xfd\xc2\x8c\x24\x49\x10\x04\x81\x41\x86\x88\x88\x61\x86\x88\xe8\
+\xd2\x0f\x34\x8d\xdb\xcb\xb8\x5c\x2e\x45\xe3\xff\x8e\x72\xef\xbd\
+\xf7\xe2\x2f\x7f\xf9\x0b\xc2\xc2\xc2\x5a\x5c\x4f\x10\x04\x44\x46\
+\x46\x22\x32\x32\x12\xe3\xc6\x8d\xc3\x0b\x2f\xbc\x80\xe3\xc7\x8f\
+\xe3\xb1\xc7\x1e\xc3\xee\xdd\xbb\x3b\x6c\xff\x7a\xf7\xee\x8d\x45\
+\x8b\x16\xe1\xba\xeb\xae\x43\x54\x54\x54\x9b\x5e\xe3\x70\x38\xb0\
+\x73\xe7\x4e\xbc\xf7\xde\x7b\xf8\xfc\xf3\xcf\x2f\x78\x1f\x9c\x4e\
+\x27\x32\x32\x32\x90\x91\x91\xe1\xb7\x4c\xaf\xd7\xa3\x47\x8f\x1e\
+\xe8\xdd\xbb\x37\x46\x8c\x18\x81\x91\x23\x47\xa2\xba\xba\x5a\xb1\
+\x8e\xd1\x68\x54\x74\x00\xc0\x36\x33\x44\x44\x0c\x33\x44\x44\xdd\
+\x2e\xd0\x34\x2e\x99\x69\x7c\x53\xdc\x9e\x04\x41\xc0\xa6\x4d\x9b\
+\x30\x7d\xfa\xf4\xf3\xde\xc6\xc0\x81\x03\xb1\x6d\xdb\x36\xbc\xfc\
+\xf2\xcb\xf8\xdb\xdf\xfe\xd6\xae\xfb\xa7\x52\xa9\xf0\xe8\xa3\x8f\
+\xe2\xc5\x17\x5f\x84\xd1\x68\x3c\xa7\xd7\xea\xf5\x7a\x5c\x73\xcd\
+\x35\xb8\xe6\x9a\x6b\xb0\x71\xe3\x46\x3c\xf6\xd8\x63\x28\x2b\x2b\
+\xeb\x90\xf3\xe8\x70\x38\x90\x99\x99\x89\xcc\xcc\x4c\x6c\xdd\xba\
+\x15\x80\x7f\x9b\x19\x83\xc1\xa0\x28\x99\xf1\xed\xbd\x8e\xd5\xcc\
+\x88\x88\xba\x2f\xf6\x66\x46\x44\x97\x4d\x90\x69\x1c\x66\xda\xbb\
+\x5b\xe2\xc6\x66\xcf\x9e\x7d\x41\x41\xc6\x37\x74\x3c\xf9\xe4\x93\
+\x6d\x2e\x35\x39\x97\xfd\x5b\xb6\x6c\xd9\x39\x07\x99\xc6\x6e\xba\
+\xe9\x26\xbc\xf6\xda\x6b\x9d\xfa\x79\x5a\xad\x56\xef\xcf\x6a\xb5\
+\x1a\x6a\xb5\xda\xaf\x8a\x19\xbb\x67\x26\x22\x62\x98\x21\x22\xea\
+\x56\x41\xa6\x33\xc3\x4c\xdf\xbe\x7d\xdb\x6d\x5b\x7a\xbd\x1e\x89\
+\x89\x89\xed\xba\x7f\xf7\xdc\x73\x4f\xbb\x6d\xeb\x96\x5b\x6e\x81\
+\xd9\x6c\xee\x92\xcf\xd7\xb7\x54\xa6\xb9\xae\x99\x19\x6a\x88\x88\
+\x18\x66\x88\x88\x2e\xc9\x20\xe3\xfb\x73\xe3\x6a\x66\x1d\x69\xd5\
+\xaa\x55\x8a\x12\x84\x0b\xb1\x77\xef\x5e\xfc\xf2\xcb\x2f\xed\xba\
+\x7f\x5b\xb6\x6c\x69\xb7\x6d\xfd\xf4\xd3\x4f\xa8\xa9\xa9\xe9\x92\
+\xcf\xd8\x68\x34\x36\x19\x64\x58\x32\x43\x44\xc4\x30\x43\x44\xd4\
+\x2d\x02\x4d\xe3\x92\x19\x4f\x07\x00\x1d\x79\xb3\x5b\x51\x51\x81\
+\x09\x13\x26\xe0\xa7\x9f\x7e\xba\xa0\x7d\x5f\xb5\x6a\x15\xe6\xce\
+\x9d\xdb\xee\xfb\xf7\xd1\x47\x1f\xe1\xd3\x4f\x3f\xbd\xe0\xed\xa4\
+\xa5\xa5\xe1\x89\x27\x9e\xe8\xb2\xcf\xd7\x13\x66\x7c\xab\x98\x35\
+\xee\x9a\x99\x88\x88\x18\x66\x88\x88\x2e\xf9\x40\xe3\x29\x95\xe9\
+\x8c\x6a\x66\x9e\x1b\xfd\x6b\xae\xb9\x06\xb7\xdf\x7e\x3b\x3e\xfa\
+\xe8\xa3\x36\x37\x92\xcf\xcc\xcc\xc4\xbf\xff\xfd\x6f\x4c\x9e\x3c\
+\x19\xbf\xfb\xdd\xef\x50\x55\x55\xd5\xee\xfb\x66\xb7\xdb\x71\xd7\
+\x5d\x77\x61\xde\xbc\x79\xe7\xd5\x05\x74\x49\x49\x09\x96\x2e\x5d\
+\x8a\xb1\x63\xc7\x76\x6a\x17\xd2\x4d\x85\x19\xb7\xdb\xed\x7d\xb0\
+\x64\x86\x88\xe8\xf2\xc1\xde\xcc\x88\xe8\xb2\x09\x32\x6d\x29\x99\
+\x49\x48\x48\xc0\x94\x29\x53\x10\x12\x12\xe2\x7d\x0d\x50\x3f\x06\
+\x4c\x71\x71\x31\x0e\x1c\x38\xe0\x37\xd0\x66\x5b\xde\x7f\xd3\xa6\
+\x4d\xd8\xb4\x69\x13\x04\x41\xc0\x90\x21\x43\x10\x1f\x1f\xef\x1d\
+\xc7\xc5\x33\x68\xa6\x67\x2c\x97\xcc\xcc\xcc\x26\xbb\x28\xee\x28\
+\x5f\x7e\xf9\x25\xbe\xfc\xf2\x4b\xf4\xe8\xd1\x03\x73\xe6\xcc\xc1\
+\xa4\x49\x93\x70\xc5\x15\x57\xf8\x8d\x33\x53\x5a\x5a\x8a\xe2\xe2\
+\x62\x1c\x3b\x76\x0c\x5f\x7e\xf9\x25\x7e\xf9\xe5\x97\x0b\x0a\x0b\
+\x7a\xbd\x1e\xe1\xe1\xe1\x08\x0b\x0b\x43\x78\x78\x38\x44\x51\x44\
+\x56\x56\x16\x8a\x8a\x8a\xce\x69\xbb\xbe\x25\x33\xec\x00\x80\x88\
+\x88\x61\x86\x88\xa8\x5b\x07\x19\x4f\xc9\x8c\xd3\xe9\xf4\xbb\xd9\
+\x7d\xef\xbd\xf7\x30\x62\xc4\x88\x16\xb7\x59\x56\x56\x86\x03\x07\
+\x0e\xe0\xc0\x81\x03\xf8\xfe\xfb\xef\x71\xf0\xe0\xc1\x36\xef\x8f\
+\x24\x49\x38\x72\xe4\x08\x8e\x1c\x39\x72\xd1\x9d\xab\xbc\xbc\x3c\
+\xac\x58\xb1\x02\x2b\x56\xac\xe8\x90\xed\x87\x84\x84\x60\xfe\xfc\
+\xf9\x98\x3f\x7f\x3e\x12\x12\x12\x60\x32\x99\x9a\x5c\xaf\xae\xae\
+\x0e\x59\x59\x59\xde\xc7\xa1\x43\x87\xb0\x77\xef\x5e\x94\x96\x96\
+\x36\xb9\xbe\xc1\x60\xf0\x7e\xae\x4d\x05\x19\x06\x1a\x22\x22\x86\
+\x19\x22\xa2\x4b\x32\xc8\xf8\xfe\xec\x09\x33\x2d\x95\xcc\x88\xa2\
+\xd8\xea\x76\x23\x22\x22\x30\x73\xe6\x4c\xcc\x9c\x39\x13\xcf\x3c\
+\xf3\x0c\x8e\x1e\x3d\x8a\xf7\xde\x7b\x0f\x9f\x7d\xf6\x19\xec\x76\
+\x7b\xa7\x1e\xe3\xc0\x81\x03\x31\x67\xce\x1c\x6f\x38\x30\x99\x4c\
+\x70\x3a\x9d\xf8\xe1\x87\x1f\xb0\x6d\xdb\x36\x9c\x3e\x7d\xba\xcb\
+\x3f\x87\x41\x83\x06\xe1\xbe\xfb\xee\xc3\xbc\x79\xf3\xda\xd4\x0d\
+\xb4\xd1\x68\xc4\xa0\x41\x83\x30\x68\xd0\x20\x00\xc0\xf1\xe3\xc7\
+\xe1\x70\x38\x90\x9b\x9b\x8b\xfd\xfb\xf7\xe3\xdb\x6f\xbf\x55\x94\
+\x5c\xe9\xf5\x7a\x45\x35\xb3\xc6\x55\xcd\x88\x88\x88\x61\x86\x88\
+\xe8\x92\x0e\x35\xbe\xa5\x33\xbe\x6d\x66\x1a\xdf\xec\xba\xdd\xee\
+\x73\xde\xfe\xd0\xa1\x43\xf1\xc6\x1b\x6f\xe0\x85\x17\x5e\xc0\xba\
+\x75\xeb\xf0\xc6\x1b\x6f\xc0\x62\xb1\x74\xd8\xf1\xe8\x74\x3a\x2c\
+\x58\xb0\x00\xf7\xdf\x7f\x3f\xfa\xf4\xe9\xd3\xe4\x3a\xb3\x66\xcd\
+\x82\x2c\xcb\xf8\xea\xab\xaf\xb0\x6c\xd9\x32\xa4\xa6\xa6\x76\xfa\
+\x79\x1f\x3c\x78\x30\x16\x2f\x5e\x8c\x69\xd3\xa6\x9d\xf7\x36\xdc\
+\x6e\x37\x1c\x0e\x07\x80\xfa\x2a\x80\x09\x09\x09\x28\x2e\x2e\x56\
+\x84\x19\x4f\x15\xb5\xe6\xaa\x99\x71\xe0\x4c\x22\xa2\xee\x8b\x1d\
+\x00\x10\xd1\x65\x11\x64\x7c\x3b\x00\xf0\x1d\x67\x46\xa3\x51\xfe\
+\x4f\xa7\xb6\xb6\xf6\xbc\xdf\x2b\x34\x34\x14\x8f\x3c\xf2\x08\x76\
+\xec\xd8\x81\xd1\xa3\x47\xb7\xfb\xb1\x18\x8d\x46\x3c\xfc\xf0\xc3\
+\x38\x74\xe8\x10\x96\x2d\x5b\xd6\x6c\x90\xf1\x50\xa9\x54\x98\x3d\
+\x7b\x36\xbe\xff\xfe\x7b\xac\x5a\xb5\x0a\xfd\xfa\xf5\xeb\x94\x73\
+\x9e\x90\x90\x80\x15\x2b\x56\x60\xc7\x8e\x1d\x17\x14\x64\x80\xfa\
+\x2a\x67\x8d\xf9\x76\x36\xa0\xd1\x68\x10\x12\x12\xd2\x62\x90\x21\
+\x22\x22\x86\x19\x22\xa2\x4b\x3a\xd0\xf8\x76\xd9\xeb\xdb\x6e\x46\
+\xa7\xd3\x29\xd6\xad\xac\xac\xbc\xe0\xf7\x8b\x8d\x8d\xc5\xa6\x4d\
+\x9b\xf0\xd0\x43\x0f\x41\xab\xd5\x5e\xf0\xf6\x82\x82\x82\xf0\x87\
+\x3f\xfc\x01\x87\x0f\x1f\xc6\xcb\x2f\xbf\x8c\xe8\xe8\xe8\x73\x7a\
+\xbd\x4a\xa5\xc2\x8d\x37\xde\x88\x5d\xbb\x76\x61\xf9\xf2\xe5\x48\
+\x4a\x4a\xea\x90\xf3\x1c\x16\x16\x86\x25\x4b\x96\x60\xcf\x9e\x3d\
+\x98\x37\x6f\x5e\xbb\x94\x84\x34\x0e\x97\x36\x9b\x0d\x59\x59\x59\
+\xde\xe9\xe0\xe0\x60\x45\xf5\xc1\xc6\x81\xc6\xf3\xf9\xfb\x3e\x13\
+\x11\x11\xc3\x0c\x11\xd1\x25\x13\x64\x7c\x03\x8d\xef\x4d\xaf\x28\
+\x8a\x7e\x61\xa3\xa2\xa2\xa2\x5d\xde\x57\xa7\xd3\x79\x6f\xec\x17\
+\x2c\x58\x70\xce\xa1\xa6\x77\xef\xde\x78\xe4\x91\x47\xb0\x61\xc3\
+\x06\x9c\x3a\x75\x0a\xcf\x3e\xfb\x2c\xc2\xc3\xc3\x2f\xec\x82\x2f\
+\x08\xf8\xd5\xaf\x7e\x85\x3d\x7b\xf6\xe0\xdd\x77\xdf\xc5\xa4\x49\
+\x93\xda\x25\x70\x04\x05\x05\x61\xe1\xc2\x85\xd8\xbf\x7f\x3f\x1e\
+\x7a\xe8\x21\xbf\x80\x78\x21\x1a\x0f\x3a\x7a\xec\xd8\x31\x6f\x0f\
+\x73\x00\x14\xa5\x32\x2c\x99\x21\x22\xba\xfc\xb0\xcd\x0c\x11\x5d\
+\x16\x81\xc6\xb7\xdd\x8c\xef\xcd\x6f\xe3\x90\xd1\x1e\x25\x33\xbe\
+\x12\x13\x13\xf1\xfa\xeb\xaf\xe3\xe5\x97\x5f\xc6\x0f\x3f\xfc\x80\
+\xed\xdb\xb7\x23\x23\x23\x03\x25\x25\x25\xa8\xaa\xaa\x42\x54\x54\
+\x14\x62\x62\x62\x10\x13\x13\x83\xd8\xd8\x58\xc4\xc5\xc5\x61\xc2\
+\x84\x09\x1d\x56\x7a\x02\xd4\x57\xcd\xba\xe9\xa6\x9b\x70\xd3\x4d\
+\x37\x21\x2b\x2b\x0b\xff\xf9\xcf\x7f\xf0\xed\xb7\xdf\x22\x3d\x3d\
+\x5d\x11\x14\x5a\x0a\x45\xc3\x86\x0d\xc3\xb4\x69\xd3\x30\x75\xea\
+\x54\x8c\x1e\x3d\xda\xaf\xba\x5e\x7b\x7d\x6e\x35\x35\x35\x7e\x61\
+\xc6\x57\x70\x70\xb0\xf7\x73\xf5\x7d\x66\x90\x21\x22\x62\x98\x21\
+\x22\xba\xe4\x43\x4c\x6b\x81\xa6\xa3\xc3\x8c\x87\xd9\x6c\xc6\x9c\
+\x39\x73\x30\x67\xce\x9c\x8b\xea\x1c\xf5\xea\xd5\x0b\x2f\xbc\xf0\
+\x02\x5e\x78\xe1\x05\xd8\x6c\x36\x1c\x3b\x76\x0c\x07\x0f\x1e\xc4\
+\x89\x13\x27\xe0\x76\xbb\xa1\xd3\xe9\xa0\xd5\x6a\xa1\xd3\xe9\xa0\
+\xd3\xe9\x30\x64\xc8\x10\x4c\x99\x32\xe5\x82\x4b\x89\xda\xc2\x66\
+\xb3\xf9\x85\x2b\xdf\xf6\x32\x2a\x95\x0a\x81\x81\x81\x2d\x06\x19\
+\xdf\x67\x76\x00\x40\x44\xc4\x30\x43\x44\x74\xc9\x05\x9a\xc6\x55\
+\xcd\x7c\x1f\x1d\x55\xcd\xec\x52\x14\x10\x10\x80\x71\xe3\xc6\x61\
+\xdc\xb8\x71\x17\xc5\xfe\x54\x57\x57\x2b\xa6\xeb\xea\xea\x90\x9e\
+\x9e\xee\x9d\x36\x99\x4c\x10\x04\xa1\x4d\x61\x96\x88\x88\xba\x27\
+\xb6\x99\x21\xa2\xcb\x2a\xd4\x34\x7e\xa8\xd5\x6a\xc5\x0d\xf1\xe5\
+\x1c\x66\x2e\x36\x8d\xc3\x4c\x6a\x6a\xaa\xa2\xeb\x6c\x93\xc9\x04\
+\x95\x4a\xe5\x2d\x71\x69\x5c\xf2\xc2\x92\x18\x22\x22\x86\x19\x22\
+\xa2\x6e\xcf\xb7\x74\xa6\xa3\xaa\x99\xd1\xb9\x71\xb9\x5c\x7e\xdd\
+\x32\x37\x6e\x2f\x13\x18\x18\x08\x95\x4a\x05\x41\x10\x20\x08\x82\
+\xf7\xe7\x96\x02\x0e\x11\x11\x31\xcc\x10\x11\x5d\xf4\x9a\xab\x62\
+\xe4\xb9\xd1\xf5\xbd\x09\xf6\x0d\x33\x2c\x99\xb9\x38\x34\x6e\xf8\
+\x0f\x00\x87\x0e\x1d\xf2\x0b\x33\x6a\xb5\x5a\xf1\xf0\x0d\x36\xbe\
+\x41\x86\xa1\x86\x88\x88\x61\x86\x88\xe8\x92\xd5\x38\xc4\xf8\xde\
+\xf8\xfa\x76\x25\xcc\x30\x73\x71\xa8\xaa\xaa\x52\x4c\xe7\xe4\xe4\
+\xe0\xc4\x89\x13\xde\x69\x83\xc1\x00\x9d\x4e\x07\x8d\x46\xa3\x78\
+\x34\x15\x68\x18\x64\x88\x88\x18\x66\x88\x88\xba\x45\x88\xf1\x04\
+\x19\xb5\x5a\xed\xbd\x01\x6e\x1c\x66\xda\xd2\x3d\x31\x75\x1c\x51\
+\x14\xfd\xc2\xcc\xa6\x4d\x9b\x14\xd3\x21\x21\x21\x8a\x5e\xd6\x3c\
+\xbd\xae\xf9\x06\x1a\x06\x19\x22\x22\x86\x19\x22\xa2\x4b\x3a\xc4\
+\x78\x7e\xf6\x0d\x32\x9e\x10\xa3\xd5\x6a\xa1\xd5\x6a\xa1\xd7\xeb\
+\x15\x37\xd2\x36\x9b\x8d\x27\xb0\x0b\x55\x54\x54\x28\xaa\x09\xd6\
+\xd6\xd6\x62\xdb\xb6\x6d\x0d\x7f\xb8\x04\x01\x61\x61\x61\xd0\xe9\
+\x74\xd0\xeb\xf5\xde\x07\x03\x0d\x11\x11\xc3\x0c\x11\x51\xb7\x0c\
+\x35\x9e\x40\xd3\x38\xc8\x78\x6e\x88\x7d\x35\x1e\x75\x9e\x3a\x57\
+\x79\x79\xb9\x62\xfa\xdb\x6f\xbf\x55\x74\x06\x60\x36\x9b\xa1\xd7\
+\xeb\x61\x30\x18\x60\x34\x1a\x61\x34\x1a\x61\x30\x18\x14\x81\xc6\
+\x37\xcc\x78\xbe\x07\x44\x44\xc4\x30\x43\x44\x74\x49\x06\x9a\xc6\
+\xd5\xcb\x3c\x41\x46\xab\xd5\xc2\x60\x30\x28\xd6\x6f\xaa\xf1\x39\
+\x75\x0e\xbb\xdd\x8e\xda\xda\x5a\xc5\xbc\xc6\x55\xcc\xc2\xc2\xc2\
+\xbc\x41\xc6\x64\x32\x79\x1f\x46\xa3\x11\x7a\xbd\xbe\xc9\xd2\x19\
+\x06\x1a\x22\x22\x86\x19\x22\xa2\x4b\x32\xc8\x34\x6e\xf8\xcf\x92\
+\x99\x8b\x97\xc5\x62\x51\x4c\x1f\x3e\x7c\x18\xb9\xb9\xb9\xde\x69\
+\x9d\x4e\xe7\x2d\x89\xf1\x84\x98\x80\x80\x00\x98\x4c\x26\x6f\xa7\
+\x00\x8d\x4b\x66\x18\x62\x88\x88\xba\x2f\x0d\x4f\x01\x11\x75\xe7\
+\x20\xe3\x69\x7b\xe1\x69\x33\xd3\xb8\xdd\x8c\x46\xa3\xf1\x2b\x99\
+\x61\x98\xe9\x1a\xb2\x2c\xfb\xf5\x26\xf7\xf9\xe7\x9f\xfb\xad\x97\
+\x97\x97\x87\xba\xba\x3a\xa8\xd5\x6a\xc4\xc7\xc7\x7b\x4b\x65\x3c\
+\x55\xcd\x3c\x25\x33\xbe\xa5\x32\x44\x44\xd4\x3d\xb1\x64\x86\x88\
+\xba\x7d\xa0\xf1\x7d\xf8\x8e\x49\xe2\x09\x33\x46\xa3\x91\x61\xe6\
+\x22\x50\x53\x53\x03\x97\xcb\xe5\x9d\x2e\x2d\x2d\xc5\xee\xdd\xbb\
+\x15\x9f\xa5\x46\xa3\x81\x4a\xa5\x82\xd5\x6a\xc5\xc9\x93\x27\xb1\
+\x71\xe3\x46\x7c\xff\xfd\xf7\xa8\xaa\xaa\x52\x74\xd7\xdc\xb8\x64\
+\x86\xa1\x86\x88\xa8\x7b\x62\xc9\x0c\x11\x5d\x16\x81\xc6\xf3\xdc\
+\x54\xe9\x0c\xdb\xcc\x5c\x1c\x1a\x57\x31\xfb\xf2\xcb\x2f\x15\xdd\
+\x64\xfb\x8e\x21\xe3\x09\xa4\x00\x90\x9a\x9a\x8a\xb4\xb4\x34\x0c\
+\x1b\x36\x0c\xb7\xde\x7a\x2b\xc6\x8f\x1f\xaf\x18\x6b\x86\x88\x88\
+\xba\x2f\x96\xcc\x10\xd1\x65\x13\x68\x9a\x1b\x34\x93\x25\x33\x5d\
+\xcf\xed\x76\x2b\xc6\x96\x29\x29\x29\xc1\x86\x0d\x1b\x14\xeb\x78\
+\xaa\x8e\x35\xf7\x38\x79\xf2\x24\x96\x2e\x5d\x8a\xc7\x1e\x7b\x0c\
+\x5b\xb6\x6c\x81\xd3\xe9\x64\xa9\x0c\x11\x11\xc3\x0c\x11\x51\xf7\
+\x0b\x33\xbe\xa1\x86\x61\xa6\xeb\x35\x1e\x5b\xe6\x1f\xff\xf8\x87\
+\xa2\x3b\x66\xdf\xf0\xd9\xb8\xfd\x93\x6f\x29\x8c\x4a\xa5\x42\x5e\
+\x5e\x1e\xfe\xf5\xaf\x7f\xe1\xce\x3b\xef\xc4\xea\xd5\xab\xfd\xba\
+\x7a\x26\x22\x22\x86\x19\x22\xa2\x4b\x3e\xd0\x78\x1e\xec\x00\xa0\
+\xeb\xf9\x56\x31\xfb\xf6\xdb\x6f\xb1\x7f\xff\x7e\xc5\x72\xdf\x06\
+\xfd\xbe\xed\x9e\x1a\x87\x1b\xdf\x92\x98\xea\xea\x6a\x7c\xf4\xd1\
+\x47\xb8\xe3\x8e\x3b\xb0\x6c\xd9\x32\x64\x65\x65\xf1\x44\x13\x11\
+\x31\xcc\x10\x11\x5d\x7a\x21\xa6\xa5\x40\xe3\x5b\x22\xe0\xb9\x71\
+\xa6\xce\xe3\x3b\xb6\x4c\x45\x45\x05\xde\x7a\xeb\xad\x26\x83\x4c\
+\x4b\x8f\x96\x1a\xfa\x8b\xa2\x88\xad\x5b\xb7\xe2\xfe\xfb\xef\xc7\
+\x73\xcf\x3d\x87\xbc\xbc\x3c\x9e\x74\x22\x22\x86\x19\x22\xa2\x4b\
+\x2b\xd0\x34\xd5\x11\x80\x20\x08\x70\xbb\xdd\x8a\x75\x4d\x26\x13\
+\x4f\x58\x27\xf2\xad\x06\xf6\xe6\x9b\x6f\x2a\x3a\x60\xf0\x94\xc4\
+\x34\xae\x56\xe6\x5b\x32\xd3\x38\xc4\xb4\xd4\x46\x66\xf7\xee\xdd\
+\xf8\xed\x6f\x7f\x8b\xb7\xde\x7a\x8b\x25\x70\x44\x44\xdd\x00\xff\
+\xfd\x48\x44\xdd\x3e\xc4\xf8\x96\xbc\x34\xee\xaa\x59\xa5\x52\xc1\
+\x66\xb3\x29\x5e\xd3\xb8\x0d\x0d\xb5\x9d\xc5\x62\xc1\xb1\x63\xc7\
+\x70\xfa\xf4\x69\x88\xa2\x08\x49\x92\xe0\x76\xbb\xbd\xcf\x6a\xb5\
+\x1a\x49\x49\x49\x48\x4e\x4e\x46\xcf\x9e\x3d\xa1\xd5\x6a\xbd\x61\
+\xe6\xa7\x9f\x7e\xc2\x0f\x3f\xfc\xa0\xd8\x9e\x5a\xad\xf6\x2b\x49\
+\x6b\xae\xfd\x4c\xe3\xc0\xda\x1c\x51\x14\xf1\xe9\xa7\x9f\xe2\x9b\
+\x6f\xbe\xc1\xbd\xf7\xde\x8b\x1b\x6e\xb8\x01\x82\xc0\xff\xed\x11\
+\x11\x31\xcc\x10\x11\x5d\x02\xe1\xc6\xf7\x39\x25\x25\x05\xbb\x76\
+\xed\x52\xac\xc3\x92\x99\xb6\xa9\xac\xac\xc4\xde\xbd\x7b\x71\xe4\
+\xc8\x11\x1c\x3b\x76\x0c\x47\x8f\x1e\x45\x7e\x7e\x7e\x9b\x5f\x2f\
+\x08\x02\x62\x63\x63\x11\x1d\x1d\x8d\x5e\xbd\x7a\x61\xeb\xd6\xad\
+\x7e\xcb\x9b\x6a\xf0\xdf\xb8\xbd\xcc\xf9\x8e\x25\x53\x5d\x5d\x8d\
+\x7f\xfe\xf3\x9f\xf8\xfc\xf3\xcf\xf1\xf0\xc3\x0f\x63\xcc\x98\x31\
+\xfc\x50\x89\x88\x18\x66\x88\x88\x2e\xfe\x20\x53\x50\x50\x80\x77\
+\xde\x79\x07\xe9\xe9\xe9\x70\x3a\x9d\x8a\xf5\x58\x32\xd3\xb2\x3d\
+\x7b\xf6\xe0\x83\x0f\x3e\xc0\xa6\x4d\x9b\xe0\x70\x38\xce\x7b\x3b\
+\x92\x24\x21\x2f\x2f\x0f\x79\x79\x79\x38\x70\xe0\x80\xdf\x67\xe5\
+\x5b\x8d\xac\xad\x8d\xfe\xcf\xa7\x1b\xe6\xd3\xa7\x4f\xe3\xa9\xa7\
+\x9e\xc2\xd8\xb1\x63\xf1\xd0\x43\x0f\x21\x21\x21\x81\x1f\x32\x11\
+\x11\xc3\x0c\x11\xd1\xc5\xc7\xe9\x74\x62\xed\xda\xb5\xf8\xe2\x8b\
+\x2f\x60\xb7\xdb\x01\xc0\xaf\x03\x00\x93\xc9\x04\xa7\xd3\x89\xf2\
+\xf2\x72\x58\x2c\x16\x58\x2c\x16\x54\x55\x55\x21\x3a\x3a\x1a\x49\
+\x49\x49\x88\x8a\x8a\xba\xec\xce\x5b\x45\x45\x05\xd6\xaf\x5f\x8f\
+\x35\x6b\xd6\x20\x2d\x2d\xad\xc3\xdf\x4f\x96\x65\xb8\x5c\x2e\x48\
+\x92\xd4\x64\x35\x33\xcf\xc3\x33\xff\x7c\x83\x8c\xaf\xbd\x7b\xf7\
+\x62\xff\xfe\xfd\x98\x3b\x77\x2e\xee\xbe\xfb\x6e\x98\xcd\x66\xfe\
+\xc2\x10\x11\x5d\xe4\x54\x72\xe3\xbf\xe2\x44\x44\xdd\x8c\xa7\xbd\
+\xc6\xce\x9d\x3b\xf1\xe6\x9b\x6f\xa2\xb8\xb8\x18\xa2\x28\xc2\xe9\
+\x74\xc2\xe1\x70\xa0\xa4\xa4\x44\xd1\x35\x70\xbf\x7e\xfd\x90\x95\
+\x95\x05\x97\xcb\xd5\xe4\xf6\x8c\x46\x23\x92\x92\x92\x30\x78\xf0\
+\x60\xdc\x71\xc7\x1d\x98\x34\x69\x52\xb7\x1d\x98\xb1\xa4\xa4\x04\
+\x2f\xbf\xfc\x32\x3e\xfb\xec\x33\xbf\x12\x2c\xe5\x5f\x13\x15\x42\
+\xa3\x13\x10\x95\xd0\x1f\x51\x89\xfd\x11\x19\xdf\x17\x5a\xbd\x01\
+\x2a\x41\x0d\x95\x20\x40\x10\xd4\x50\xa9\x04\xb8\x9c\x75\xa8\x28\
+\x3c\x8d\xf2\xa2\x1c\x94\x17\xe6\xa0\xa2\x28\x07\x55\x25\x79\x90\
+\x24\x77\xcb\x7f\xac\x54\x2a\x98\xcd\x66\x44\x44\x44\xc0\x60\x30\
+\x40\xa7\xd3\x41\xa7\xd3\x41\xa3\xd1\xf8\x75\x04\xd0\x1e\x9f\x85\
+\xd9\x6c\xc6\xbd\xf7\xde\x8b\xb9\x73\xe7\x72\xd0\x4d\x22\x22\x86\
+\x19\x22\xa2\xae\x53\x58\x58\x88\x7f\xfd\xeb\x5f\xf8\xf9\xe7\x9f\
+\x21\x49\x12\x44\x51\xf4\x86\x99\xaa\xaa\x2a\xe4\xe7\xe7\xb7\x7c\
+\xa3\xde\x8a\xc4\xc4\x44\x2c\x58\xb0\x00\xf3\xe7\xcf\x47\x74\x74\
+\x74\xb7\x09\x80\xef\xbf\xff\x3e\x96\x2c\x59\x82\xea\xea\xea\x26\
+\xd7\x09\x08\x0e\xc7\xa0\x89\x37\xa2\xe7\xd0\x89\x88\x4c\xe8\x07\
+\x9d\x21\xe0\xbc\xde\xcb\x51\x67\x45\xf6\x91\x5d\xc8\x38\xf0\x1d\
+\xb2\x8f\xfd\x04\x97\xa3\xae\xd9\x75\xb5\x5a\x2d\x62\x62\x62\x10\
+\x19\x19\x09\xad\x56\xeb\xd7\xab\x99\x27\xf8\xb4\x97\x61\xc3\x86\
+\xe1\xe9\xa7\x9f\x46\x64\x64\x24\x7f\x91\x88\x88\x18\x66\x88\x88\
+\x3a\x8f\xdb\xed\xc6\xa7\x9f\x7e\x8a\xf7\xdf\x7f\x1f\x0e\x87\x03\
+\xb2\x2c\x7b\xc3\x4c\x79\x79\x39\x72\x73\x73\xbd\xe3\x9b\xb4\x07\
+\x8d\x46\x83\x79\xf3\xe6\xe1\xe5\x97\x5f\x46\x68\x68\xe8\x25\x7b\
+\xde\x52\x52\x52\xf0\xc7\x3f\xfe\x11\x07\x0f\x1e\xf4\xff\xa3\xa1\
+\x12\x90\x34\xe4\x2a\x0c\x9d\x72\x2b\x86\x4f\x98\x81\xb0\x40\x03\
+\xb4\x6a\x15\x04\x41\x05\x41\x05\x38\x45\x19\x76\x97\x1b\x0e\x97\
+\x1b\x76\x97\x04\x87\xcb\x0d\xd1\xdd\xf6\x3f\x33\xa2\xcb\x89\xdc\
+\xd4\x9f\x91\x7e\x60\x07\x32\x0f\x7f\x0f\xbb\xb5\xaa\xc9\xf5\x62\
+\x62\x62\x90\x94\x94\xa4\x18\x4c\xb3\xbd\x4a\x65\x1a\x33\x9b\xcd\
+\x58\xb8\x70\x21\xa6\x4c\x99\xc2\x5f\x2a\x22\x22\x86\x19\x22\xa2\
+\x8e\x97\x9f\x9f\x8f\x97\x5e\x7a\x09\x19\x19\x19\x00\xea\xdb\x60\
+\xc8\xb2\x0c\xb7\xdb\x8d\xec\xec\xec\x16\x07\x4e\xd4\x68\x75\x88\
+\xee\x39\x18\x51\x09\x7d\x61\x08\x0c\x81\x21\x20\x18\x7a\x63\x20\
+\x6a\xab\x2d\xa8\x2c\xc9\x43\x65\xc9\x19\x94\xe5\xa5\xa3\xb6\xba\
+\xbc\xc9\xd7\x47\x46\x46\x62\xd9\xb2\x65\xb8\xe1\x86\x1b\x2e\xa9\
+\x73\x66\xb3\xd9\xb0\x74\xe9\x52\xbc\xfd\xf6\xdb\x7e\x63\xef\x18\
+\x02\x82\x30\x62\xc6\x1d\x18\x3d\x7d\x1e\x12\x12\x7a\x20\xd8\xa4\
+\x83\x5a\xa8\x0f\x0e\x92\x2c\xa3\xce\xe9\x86\xdd\xe9\x46\xdd\xd9\
+\x87\x24\xcb\x50\xa1\x7e\xb9\x5b\x92\x21\x9d\xc7\x9f\x1a\x59\x92\
+\x90\x77\xea\x00\x8e\xef\xfe\x12\xc7\x7f\xfa\x02\xb2\x2c\x29\x96\
+\x47\x47\x47\xa3\x5f\xbf\x7e\x1d\x56\x2a\xd3\xd8\xcc\x99\x33\xf1\
+\xd8\x63\x8f\xb1\x83\x08\x22\x22\x86\x19\x22\xa2\x8e\xb3\x73\xe7\
+\x4e\xbc\xf2\xca\x2b\x8a\x52\x17\x59\x96\x51\x57\x57\x87\xe3\xc7\
+\x8f\x37\x59\x6d\x2a\x30\x24\x12\x43\xae\xbe\x15\x49\x83\xc7\x23\
+\xa9\xef\x60\x98\x03\x0c\x30\xe9\xd5\x08\xd0\x6b\x60\xd2\xab\x21\
+\x49\x80\x53\x94\xe0\x14\x25\xb8\x44\x09\x75\x4e\x17\xf6\xef\xde\
+\x81\x43\x3b\x36\x20\xeb\xf0\x4e\x48\x6e\xd1\x6f\x9b\x37\xde\x78\
+\x23\x96\x2d\x5b\x86\x88\x88\x88\x8b\xfe\x9c\xfd\xf0\xc3\x0f\x78\
+\xec\xb1\xc7\x50\x50\x50\xe0\xb7\xac\xff\xd8\xeb\x30\xf5\xce\x27\
+\xd0\x33\x3e\x06\xe1\x66\xbd\xf7\x7c\xd6\xd8\x45\x54\xda\x9c\xb0\
+\xda\x45\x74\xf4\x5f\x92\xd2\x33\xe9\xd8\xf1\xd1\xdf\x91\x77\x4a\
+\xd9\xeb\x59\x72\x72\x32\xe2\xe3\xe3\x3b\x25\xcc\x00\x40\x6c\x6c\
+\x2c\xfe\xfc\xe7\x3f\xa3\x7f\xff\xfe\xfc\x45\x23\x22\x62\x98\x21\
+\x22\x6a\x3f\xa2\x28\x62\xe5\xca\x95\xd8\xb0\x61\x83\xdf\xb2\xba\
+\xba\x3a\x1c\x3c\x78\xd0\xaf\x2b\xe1\xc8\x84\x7e\xb8\x72\xd6\xaf\
+\x31\xf8\xaa\x6b\x10\x1d\x1a\x80\xc8\x60\x03\x0c\xda\xb6\x0d\xa0\
+\x28\x49\x40\x71\x95\x1d\x59\xb9\x05\xf8\xe5\xdb\xff\xc3\xde\xcd\
+\xef\x41\x74\x2a\xb7\x1f\x16\x16\x86\x57\x5e\x79\x05\x73\xe7\xce\
+\xbd\x68\xcf\xdb\x9a\x35\x6b\xb0\x68\xd1\x22\x88\xa2\x32\x90\x05\
+\x47\xf6\xc0\x8c\xbb\x9f\xc1\x80\x51\x13\x11\x17\x66\x84\x4e\xa3\
+\x86\xdd\xe5\x46\xb9\xd5\x89\xea\x5a\x17\xdc\x52\xe7\xfe\xf9\x90\
+\x25\x09\xdf\xbe\xff\x32\x52\x76\x6d\xf4\xce\x53\xab\xd5\x18\x3b\
+\x76\x2c\xf4\x7a\x7d\xa7\x35\xd4\x57\xab\xd5\xb8\xe7\x9e\x7b\x30\
+\x7f\xfe\x7c\x76\x0e\x40\x44\xc4\x30\x43\x44\x74\xe1\x4a\x4a\x4a\
+\xf0\xd2\x4b\x2f\xe1\xc4\x89\x13\x7e\xcb\x1c\x0e\x07\x0e\x1e\x3c\
+\x88\xba\x3a\x65\xc3\xf2\x91\xd7\xde\x89\xab\xff\x67\x21\x92\x63\
+\x82\x11\x19\xa4\x87\x4a\x55\x5f\x25\xaa\xd6\x51\x5f\x55\xaa\xd6\
+\xe1\x86\x74\xb6\x8a\x94\x24\xcb\x50\x0b\x02\x02\xf4\x6a\x98\xf4\
+\x6a\x98\xf4\x1a\x68\xd4\xf5\x37\xb2\xb2\x0c\x94\x54\xd9\x71\x24\
+\x35\x0d\x5b\x56\xbd\x88\x33\x27\x7e\x51\x5e\x68\x55\x2a\xbc\xf4\
+\xd2\x4b\x78\xf8\xe1\x87\x2f\xaa\x73\x26\xcb\x32\x96\x2c\x59\x82\
+\x37\xde\x78\x43\x31\x5f\x10\xd4\x18\x7d\xfd\xdd\x18\x3f\xf7\x21\
+\xc4\x46\x06\x21\xdc\xac\x87\xc3\xe5\x46\x49\x95\x03\xd5\x75\xae\
+\x2e\xdf\xef\xcd\x6f\x3d\x89\xb4\x7d\xdf\x78\xa7\xa3\xa3\xa3\x31\
+\x70\xe0\xc0\x4e\x0f\x16\x43\x86\x0c\xc1\x33\xcf\x3c\x73\x59\x76\
+\xd5\x4d\x44\xc4\x30\x43\x44\xd4\x4e\xf6\xee\xdd\x8b\xa5\x4b\x97\
+\x36\x59\x7d\x4c\x14\x45\x1c\x3c\x78\x10\x56\xab\xd5\x3b\x4f\xab\
+\x37\x62\xd6\x83\x7f\xc5\xb0\xab\x66\xa0\x4f\x8c\x19\x6e\x49\x46\
+\xb9\xd5\x89\x0a\xab\x13\x36\x87\xd8\xe6\xf7\xd5\x69\x04\x6f\x55\
+\xb4\xd0\x40\x1d\xb4\x1a\x01\x99\x85\x56\xec\xde\xfa\x09\x7e\xf8\
+\xf8\xff\xc1\x51\x5b\xa3\x58\xff\x0f\x7f\xf8\x03\x9e\x7d\xf6\xd9\
+\x8b\xe2\x9c\x39\x9d\x4e\xfc\xee\x77\xbf\xc3\x7f\xff\xfb\x5f\xc5\
+\xfc\x88\xb8\xde\x98\xf5\xd0\x5f\xd1\xa3\x57\x7f\xc4\x87\x9b\x20\
+\x43\x46\x69\x95\x03\x55\xb5\xae\x8b\xe6\xf3\xb6\x55\x59\xb0\xfa\
+\xe9\xb9\x70\xd6\xd9\xbc\xf3\x46\x8c\x18\x81\x90\x90\x90\x4e\x0f\
+\x34\x01\x01\x01\x58\xb8\x70\x21\xa6\x4e\x9d\xca\x5f\x44\x22\x22\
+\x86\x19\x22\xa2\xb6\x93\x24\x09\xab\x57\xaf\xc6\xba\x75\xeb\xd0\
+\xdc\xa5\xec\xd8\xb1\x63\x28\x2d\x2d\xf5\x4e\x6b\xb4\x3a\xdc\xbc\
+\xf0\xdf\x18\x7d\xd5\x24\xe8\x35\x02\x8a\xab\xec\x70\xb8\xa4\x43\
+\x95\x0d\xb6\x00\x00\x20\x00\x49\x44\x41\x54\x76\xd9\x1f\xb3\x51\
+\x8b\xd8\x30\x03\xec\x4e\x09\x27\x33\x72\xf1\xc5\x5b\x4f\x20\xef\
+\x94\xb2\x47\xb0\xbb\xef\xbe\x1b\xaf\xbe\xfa\xaa\x77\xa0\xc7\xae\
+\x50\x5e\x5e\x8e\xbb\xef\xbe\x1b\x7b\xf6\xec\x51\xcc\x4f\x1c\x7c\
+\x15\x6e\x78\xe4\x15\x44\x45\x84\x20\x26\xd4\x08\x4b\x8d\x13\xa5\
+\xd5\xf6\xf3\x6a\x0f\x23\xb9\x45\xd8\xaa\xca\x60\xad\x28\x85\xb5\
+\xa2\x04\xd6\xca\xb3\xcf\x15\x25\xb0\x56\x96\x40\x74\xda\x21\x08\
+\x1a\xa8\x04\xa1\xfe\xa1\x3a\x3b\x16\x8d\x20\x40\x25\x9c\xed\x6a\
+\xd9\xf3\xb3\x4a\xf0\x8e\x57\x13\x11\x97\x8c\x3e\xa3\x67\x20\xeb\
+\xc8\x2e\xec\xf8\xe8\xef\xde\xf7\x0b\x0c\x0c\xc4\x98\x31\x63\xea\
+\xff\xb0\x75\x41\xd5\xaf\x6b\xaf\xbd\x16\x7f\xfc\xe3\x1f\xa1\xd5\
+\x6a\xf9\x8b\x49\x44\xc4\x30\x43\x44\xd4\xfa\x0d\xf9\x92\x25\x4b\
+\x70\xe4\xc8\x91\x66\xd7\x29\x28\x28\xc0\xc9\x93\x27\xbd\xd3\x6a\
+\x8d\x16\x73\x7f\xff\x0f\x0c\x1e\x33\x05\x75\x4e\x77\x87\xb5\xf9\
+\x30\xea\xd4\x08\x0d\xd4\xa1\xac\xd2\x86\xff\xfb\xc7\x1f\x91\x75\
+\xf8\x07\xc5\xf2\x1b\x6e\xb8\x01\x2b\x57\xae\x84\x4e\xa7\xeb\xf4\
+\xf3\x96\x9d\x9d\x8d\xdb\x6f\xbf\x1d\x59\x59\x59\x8a\xf9\x43\xa6\
+\xdc\x82\x19\xf7\x3c\x83\xb8\xb0\x40\x04\x18\xd4\xc8\xb3\xd4\xa1\
+\xce\xe9\x6e\x75\x7b\x2e\x47\x1d\xf2\xd3\x0f\xe1\xcc\x89\x5f\x60\
+\x29\xc8\xf6\x06\x96\xba\x9a\x0a\xbf\xde\xc7\xda\x53\x64\x42\x3f\
+\x94\x9d\x49\x57\xbc\x87\xa7\x74\xa6\xab\x02\xcd\xd0\xa1\x43\xf1\
+\xd2\x4b\x2f\xc1\x6c\x36\xf3\x17\x94\x88\x88\x61\x86\x88\xa8\x69\
+\x87\x0f\x1f\xc6\x92\x25\x4b\x50\x51\x51\xd1\xec\x3a\x36\x9b\x0d\
+\xfb\xf7\xef\x57\x74\x31\x3c\xe3\x9e\x67\x31\xf4\xea\x5b\xdb\xf4\
+\x1e\x4e\xbb\x0d\x0e\x5b\x0d\xec\xb5\xd5\xb0\xdb\xaa\xe1\xb0\x55\
+\x43\xad\xd5\x23\x22\xbe\x37\xcc\xa1\x6d\x1b\x18\x53\xab\x16\x20\
+\xba\x45\x7c\xfd\xce\x62\x1c\xdf\xfd\xa5\x62\xd9\xe4\xc9\x93\xf1\
+\xe1\x87\x1f\xc2\x64\x32\x75\xda\x79\x4b\x4d\x4d\xc5\x2d\xb7\xdc\
+\x02\x8b\xc5\xe2\xf3\x57\x40\x85\x49\xf3\x1e\xc3\xf8\x1b\x7e\x8b\
+\x1e\x11\x46\xd8\x9d\x12\x8a\x2b\xed\xcd\x76\xa5\xec\x16\x9d\x28\
+\x48\x3f\x82\x33\x27\x7f\x41\xee\x89\x5f\x50\x94\x95\xd2\x64\x4f\
+\x6e\x5d\x21\x29\x29\x09\x13\x26\x4c\x40\x51\x51\x11\xba\xea\x4f\
+\x5b\x42\x42\x02\x96\x2e\x5d\xda\x6d\x06\x4f\x25\x22\x62\x98\x21\
+\x22\x6a\x47\x3b\x76\xec\xc0\xd2\xa5\x4b\xfd\x7a\xde\xf2\x25\xcb\
+\x32\x0e\x1f\x3e\xac\x08\x3b\xbd\x86\x4f\xc1\x4d\xff\xfb\xba\xdf\
+\xba\x92\xe4\x46\x41\xfa\x61\x64\x1d\xde\x89\x9c\x94\x9f\x61\xad\
+\x2c\x81\xa3\xb6\x06\xb2\xd4\x7c\xa9\x82\xde\x64\x46\x44\x5c\x6f\
+\x84\xf7\x48\x46\x44\x5c\x6f\x44\x27\x0e\x40\x4c\xf2\x10\xa0\xb9\
+\xd2\x00\x59\xc6\xf7\xeb\x5e\xc5\xc1\x6f\xd7\x2a\x66\x5f\x77\xdd\
+\x75\xf8\xcf\x7f\xfe\xd3\x29\x55\xce\xf2\xf3\xf3\x31\x73\xe6\x4c\
+\x14\x15\x15\x79\xe7\x69\xb4\x3a\x5c\x77\xff\x12\x8c\x98\x78\x3d\
+\xae\x08\x31\xa0\xb8\xca\x0e\xab\xdd\xff\xbc\x5a\x2b\x4b\x91\xfa\
+\xe3\x26\x9c\x39\xbe\x0f\x05\x19\x87\x21\xba\x9c\x17\xb4\x2f\x82\
+\x46\x07\xb5\xce\x04\xc8\x52\x7d\xc9\x8a\x2c\x43\x96\xdd\xf5\xe7\
+\x5c\x96\x21\xcb\xd2\xd9\xf3\x7f\x6e\x7f\x9e\x54\x2a\x15\xe6\xcf\
+\x9f\x8f\xa0\xa0\x20\x94\x94\x94\xa0\xbc\xbc\xbc\x4b\x4a\x68\xc2\
+\xc2\xc2\xf0\xd7\xbf\xfe\x15\x7d\xfa\xf4\xe1\x2f\x2c\x11\x11\xc3\
+\x0c\x11\x51\xbd\xcd\x9b\x37\xe3\xf5\xd7\x5f\x6f\xf1\xbf\xee\xb2\
+\x2c\xa3\xbc\xbc\x5c\x51\xfd\xcc\x14\x14\x86\xbb\x5f\xfe\x04\xa6\
+\xa0\x30\x00\x80\xdd\x56\x85\xec\xa3\x3f\x21\xeb\xc8\x4e\xe4\x1c\
+\xdb\xed\xd7\x50\xff\x7c\x84\x5e\x91\x88\x11\x33\xee\xc0\xa0\x89\
+\x37\x42\xab\x6f\x7a\x50\xc5\x3d\x9b\xde\xc1\xee\xff\x2e\x57\xcc\
+\x7b\xf4\xd1\x47\xf1\xc2\x0b\x2f\x74\xe8\x79\xab\xaa\xaa\xc2\xec\
+\xd9\xb3\x15\x55\xee\x8c\xe6\x50\xdc\xf4\xbf\x6f\xa0\xdf\x90\x91\
+\x08\x34\x68\x50\x5c\x69\xf7\xab\x76\x57\x9a\x7b\x0a\x07\xb6\xae\
+\xc1\xc9\xbd\x5b\xdb\x56\xfa\xa2\x52\x41\x6b\x30\x43\x63\x0c\x82\
+\xd6\x18\x04\xad\x29\x48\xf1\xb3\xd6\x18\x04\xad\x31\x18\x82\x56\
+\xdf\xc6\x3d\x97\x21\x4b\x0d\x81\xc7\xed\xac\x45\x45\xf6\x21\x94\
+\x67\xec\x85\xab\xae\xba\xc9\x57\x0c\x1b\x36\x0c\x63\xc7\x8e\x85\
+\x5a\xad\x86\x28\x8a\x28\x2c\x2c\x84\xcd\x66\xeb\xf4\x50\x63\x34\
+\x1a\xf1\xfc\xf3\xcf\x7b\xdb\xf1\x10\x11\x11\xc3\x0c\x11\x5d\xc6\
+\xd6\xad\x5b\x87\x77\xdf\x7d\xb7\xe5\x5b\x5f\x59\x86\x2c\xcb\xd8\
+\xbf\x7f\xbf\xa2\xf7\xb2\x59\x0f\xfe\x15\x3d\xfa\x8f\xc6\xf1\x9f\
+\x36\x23\xfb\xc8\x2e\x14\x64\x1e\x69\xb1\xe4\xe5\x42\xe8\x8d\x81\
+\x18\x3c\xe5\x66\x8c\x98\xfe\x3f\x08\x8a\x88\xf5\x5b\x7e\xf0\xdb\
+\xb5\xf8\x7e\xed\x2b\x8a\x79\xff\xfc\xe7\x3f\x31\x7f\xfe\xfc\x0e\
+\xd9\x1f\xa7\xd3\x89\xdb\x6e\xbb\x0d\x3f\xfd\xf4\x53\xc3\x3e\x9a\
+\xcc\xb8\xfd\x99\x55\x48\xee\x33\x00\xb2\x0c\x65\x77\xcb\xb2\x8c\
+\xac\xa3\x3f\xe2\xe0\xd6\x0f\x91\x7b\x62\x5f\x2b\xd9\x45\x80\x29\
+\x3c\x1e\x01\x57\xf4\x46\x60\x54\x2f\x98\x22\xe2\xa1\x12\x34\x9d\
+\xf2\x7d\xa8\x2b\xcf\x43\xee\x4f\xeb\xe0\xb4\x29\xab\x1a\xaa\xd5\
+\x6a\x2c\x58\xb0\x00\x06\x83\x01\x2a\x95\x0a\x82\x20\xc0\x6a\xb5\
+\xa2\xb0\xb0\x10\xa2\x28\x76\x6a\xa8\x51\xab\xd5\x58\xb8\x70\x21\
+\xae\xbf\xfe\x7a\xfe\x02\x13\x11\x31\xcc\x10\xd1\xe5\xea\xed\xb7\
+\xdf\xc6\xc7\x1f\x7f\xdc\x6a\x90\x01\x80\xa2\xa2\x22\xc5\x58\x33\
+\xc1\x91\x71\xe8\x3f\xf6\x3a\x1c\xf8\xe6\x23\x88\x4e\x7b\x8b\xdb\
+\x10\x34\x3a\x18\xc3\x7a\x40\xa3\x37\x41\xad\x33\xd6\x3f\xb4\x06\
+\xef\xcf\xa2\xa3\x16\xf6\xaa\x22\xd8\x2b\xeb\x1f\x92\xd8\x7c\x75\
+\x2b\x95\x20\x60\xc0\x55\xb3\x70\xf5\x1d\x8f\xc3\x10\x10\xac\x58\
+\xf6\xfd\xba\x57\x71\xf0\x9b\x8f\xbc\xd3\x3a\x9d\x0e\x9f\x7d\xf6\
+\x19\xae\xba\xea\xaa\x76\x3d\x6f\xb2\x2c\xe3\xc1\x07\x1f\x54\x0c\
+\x22\xaa\xd6\x68\x71\xcb\x9f\x96\x63\xd8\x98\xf1\xb0\x9f\x1d\x4b\
+\xc7\xe3\xf8\xee\x2f\xb1\x6f\xf3\xbb\x28\x2f\xcc\x69\xee\xa8\x60\
+\x08\x8e\x82\x39\x6e\x40\x7d\x78\x89\x4c\x84\xa0\xee\xba\xde\xbb\
+\x24\xb7\x0b\xa7\x77\x7e\x00\x6b\xb1\xb2\x33\x83\xf8\xf8\x78\xcc\
+\x9a\x35\x0b\x2a\x95\x0a\x6a\xb5\x1a\xb2\x2c\x43\xad\x56\xc3\x62\
+\xb1\xa0\xa4\xa4\x04\x92\x24\x75\xea\x7e\xde\x75\xd7\x5d\xb8\xf7\
+\xde\x7b\xf9\x8b\x4c\x44\xc4\x30\x43\x44\x97\x13\x59\x96\xf1\xfa\
+\xeb\xaf\x63\xf3\xe6\xcd\x6d\x0a\x32\x6e\xb7\x1b\xfb\xf6\xed\x83\
+\xdd\x6e\x6f\xf3\x7b\xe8\x02\xc3\x11\x14\xdb\x0f\xe6\xd8\xfe\x08\
+\x88\xea\x09\x95\xa0\x6e\xeb\xde\xc1\x69\xad\x40\x5d\x79\x3e\xca\
+\xb3\xf6\xc3\x5a\x94\x81\xa6\xda\x78\x04\x04\x87\x63\xc6\x3d\xcf\
+\x21\x79\xc4\x14\x9f\xfd\x95\xb0\xf1\xf5\xff\x45\xf6\xd1\x1f\xbd\
+\xf3\xc2\xc3\xc3\xf1\xcd\x37\xdf\x20\x31\x31\xb1\xdd\xce\xdf\x8b\
+\x2f\xbe\x88\x7f\xfd\xeb\x5f\x3e\x57\x7c\x15\x66\x3d\xf8\x57\x4c\
+\xbe\x76\x2e\xac\x76\xd1\x1b\x64\x6c\x95\x65\xf8\xf6\xfd\x97\x90\
+\x75\x64\x57\xb3\x21\x2f\xac\xf7\x58\x44\x0d\xbc\x1a\x6a\x9d\xf1\
+\x22\xfb\x8e\x48\xc8\xf9\xe1\x03\x58\x8b\xd2\x15\xf3\x87\x0c\x19\
+\x82\x1b\x6e\xb8\xe1\xec\x61\xab\xbc\x81\xc6\xed\x76\x23\x27\x27\
+\x47\xd1\x76\xa8\x33\x5c\x7b\xed\xb5\xf8\xd3\x9f\xfe\x04\x8d\x46\
+\xc3\x5f\x6c\x22\x22\x86\x19\x22\xea\xee\x44\x51\xc4\xdf\xfe\xf6\
+\x37\x7c\xff\xfd\xf7\x6d\x0a\x3d\x00\x70\xe6\xcc\x19\x64\x64\x64\
+\xb4\x7c\xd1\x13\xd4\x08\x88\x4c\x82\x39\xb6\x3f\xcc\xb1\xfd\xa0\
+\x37\x47\xb4\xcb\xfe\x3a\xaa\x4b\x50\x96\xf6\x33\x2a\xb3\x0f\x42\
+\x72\xfb\x0f\x30\x39\xe0\xaa\xd9\x98\x7a\xe7\x13\x30\x04\x04\x01\
+\xa8\xef\x2d\x6d\xfd\x92\x7b\x51\x96\xdf\xb0\xbf\x7d\xfb\xf6\xc5\
+\x96\x2d\x5b\x10\x14\x14\x74\xc1\xfb\xf3\xde\x7b\xef\xe1\xc9\x27\
+\x9f\x54\xcc\x9b\x74\xdb\xff\x62\xf6\x1d\x0f\xc1\x6a\x77\x79\x83\
+\xcc\xc9\xbd\x5b\xf0\xdd\x9a\xa5\xb0\xdb\xaa\xfc\xb6\xa1\x31\x04\
+\x22\x6a\xd0\x34\x84\x25\x8f\x39\x87\x90\xd7\x35\x4a\x52\xb6\xa1\
+\x38\xe5\x3b\xc5\xbc\xb1\x63\xc7\x62\xe6\xcc\x99\x50\xa9\x54\xde\
+\x87\x47\x55\x55\x15\x4e\x9e\x3c\x79\x4e\xc1\xf7\x42\x8d\x1a\x35\
+\x0a\x2f\xbc\xf0\x42\xa7\xf6\x60\x47\x44\xc4\x30\x43\x44\xd4\xc9\
+\x1c\x0e\x07\x5e\x78\xe1\x05\xec\xdb\xb7\xaf\xcd\x41\xc6\xe5\x72\
+\x61\xef\xde\xbd\x70\xb9\x9a\x1e\xa9\x5e\xa5\x12\x10\xd6\xfb\x4a\
+\x44\x0d\x9a\x06\x8d\x21\xb0\xc3\xf6\xdd\xed\xac\x43\x79\xe6\x3e\
+\x94\xa4\xee\xf0\xab\x86\x16\x10\x12\x81\x1b\x1e\x79\x05\xb1\x7d\
+\x86\x03\x00\xaa\x2d\x85\x58\xfb\xd2\x02\xd4\x56\x97\x7b\xd7\x99\
+\x36\x6d\x1a\xd6\xad\x5b\x07\xb5\xfa\xfc\xc3\xc3\xd7\x5f\x7f\x8d\
+\x7b\xee\xb9\x47\x51\x9d\x6a\xd8\xb4\x5f\xe1\xe6\x07\x16\x43\x94\
+\x24\xd4\x3a\xdc\xa8\xb3\x56\x62\xfb\x07\x7f\x41\xda\xfe\x6d\x7e\
+\xaf\xd7\x07\x45\x22\x66\xf8\xf5\x30\xc7\xf6\xbf\xa4\xbe\x37\x45\
+\x47\xbf\x41\xe9\x71\x65\xf8\x9d\x3a\x75\x2a\x26\x4f\x9e\xec\x0d\
+\x32\xbe\x81\x46\x14\x45\xa4\xa7\xa7\xa3\xa4\xa4\xa4\xd3\xf6\xb1\
+\x5f\xbf\x7e\x78\xf5\xd5\x57\x19\x68\x88\x88\xda\x89\xfa\x85\x8e\
+\xee\x46\x87\x88\xe8\x1c\xd8\x6c\x36\x3c\xf5\xd4\x53\x38\x74\xe8\
+\x50\x9b\x83\x8c\x2c\xcb\xc8\xcb\xcb\x53\x8e\x9f\xe2\x23\xf0\x8a\
+\x3e\xe8\x79\xf5\xaf\x11\x92\x34\x1c\x82\xa6\x63\x07\xaa\x14\xd4\
+\x5a\x04\x44\x26\x21\x24\x71\x18\xec\x15\x85\x70\xd5\x56\x7a\x97\
+\xb9\xec\xb5\x38\xb9\xe7\x6b\x84\x5e\x91\x84\xf0\xb8\x64\xe8\x4d\
+\x66\xc4\xf5\x19\x81\x13\x3f\x7f\x05\x59\xaa\x2f\x29\xc9\xce\xce\
+\x86\xcd\x66\xc3\xb4\x69\xd3\xce\xeb\xfd\x4f\x9c\x38\x81\xdb\x6e\
+\xbb\x4d\x11\xea\x92\x47\x5c\x8d\x1b\x1f\x5e\x02\x40\x85\x3a\xa7\
+\x1b\x15\x45\xa7\xb1\xfe\xaf\xbf\x46\x61\xe6\x51\xbf\x7d\x8f\xbb\
+\xf2\x66\xf4\xb8\xf2\x96\x76\x2b\xb1\xea\x4c\x81\xd1\xc9\x10\xeb\
+\x6a\x50\x57\x91\xef\x9d\x97\x93\x93\x83\xe8\xe8\x68\x44\x44\x44\
+\xf8\x95\xce\x08\x82\x80\xc8\xc8\x48\x18\x8d\x46\x54\x54\x54\x74\
+\xca\xd8\x34\x16\x8b\x05\xc7\x8f\x1f\xc7\xd4\xa9\x53\x2f\x28\xb0\
+\x12\x11\x11\xc3\x0c\x11\x5d\x64\xaa\xab\xab\xf1\xf8\xe3\x8f\x2b\
+\xba\x10\x6e\x0b\x59\x96\x91\x92\x92\xd2\x64\xc3\xee\xd0\x5e\xa3\
+\x90\x38\xfe\x0e\xa8\xf5\x9d\xfb\x9f\x70\xb5\xce\x88\xd0\x5e\x23\
+\xa1\xd6\x1a\x51\x5b\x9a\xe3\x1d\xa9\x5e\x92\xdc\x48\xdb\xbf\x0d\
+\x5a\xbd\x11\xb1\xbd\x87\xc1\x1c\x16\x8d\xe0\xc8\x38\x64\x1c\x68\
+\xa8\x22\x75\xe0\xc0\x01\x8c\x1d\x3b\x16\x49\x49\x49\xe7\xf4\x9e\
+\x0e\x87\x03\xbf\xfa\xd5\xaf\x50\x58\x58\xe8\x9d\x17\xd3\x6b\x08\
+\x6e\xfe\xc3\x1b\x50\x6b\xb5\x70\x8a\x12\x8a\x73\x8e\xe3\x93\x65\
+\x0f\xc2\x56\x59\xa6\x78\x6d\x40\x54\x2f\xf4\x9a\x76\x1f\x02\xa2\
+\x7a\x5e\xd2\xdf\xa1\xa0\xd8\x7e\x70\x54\x97\xc2\x51\xdd\x50\xda\
+\x52\x54\x54\x84\xa1\x43\x87\xc2\xed\x76\xc3\xed\x76\x43\x14\x45\
+\xc5\xc3\x60\x30\x20\x3c\x3c\x1c\x35\x35\x35\xcd\x96\xec\xb5\xa7\
+\xe2\xe2\x62\x64\x65\x65\x61\xca\x94\x29\x9d\x32\xc6\x10\x11\x11\
+\xc3\x0c\x11\x51\x07\x73\x3a\x9d\x78\xea\xa9\xa7\x70\xea\xd4\xa9\
+\x36\x07\x18\xcf\x73\x66\x66\x26\x2a\x2b\x2b\xfd\xd6\x09\xeb\x33\
+\x16\x3d\xc6\xdc\xd4\xfc\x60\x96\x1d\x4e\x05\x53\x44\x02\x82\xe3\
+\x07\xc3\x5a\x94\x01\xb7\xb3\xd6\xbb\xe4\x74\xea\x1e\xd4\xd6\x54\
+\xa0\xe7\x90\x09\x88\x4c\xe8\x0b\xd1\xe5\x40\x41\xfa\x61\xef\xf2\
+\x1f\x7f\xfc\x11\x77\xdc\x71\x07\x0c\x06\x43\x9b\xdf\x6d\xf1\xe2\
+\xc5\xd8\xb2\x65\x4b\xc3\x8d\x7d\x78\x0c\x7e\xf5\xd4\x3b\xd0\x99\
+\xcc\x90\x64\x20\xf7\xf8\x3e\xfc\xf7\xff\x3d\x0a\x47\x6d\xc3\x18\
+\x2d\x2a\x41\x8d\xb8\xd1\x73\x11\x3b\xea\x06\xa8\xb5\x86\x4b\xff\
+\x8b\xa4\x52\x21\xa8\xc7\x40\xd4\x14\xa6\x41\xac\xab\x1f\x3f\xa8\
+\xae\xae\x0e\x81\x81\x81\x30\x99\x4c\x70\x3a\x9d\xb0\xdb\xed\x7e\
+\xcf\x92\x24\x79\xdb\x2a\xd5\xd6\xd6\x76\xf8\x6e\xe6\xe5\xe5\xa1\
+\xb0\xb0\x10\x13\x27\x4e\xec\x92\x81\x3d\x89\x88\x18\x66\x88\x88\
+\xda\x89\x2c\xcb\x58\xb2\x64\x09\xf6\xef\xdf\x7f\xce\xaf\x73\x38\
+\x1c\x8a\xae\x98\x3d\x82\x13\x86\x22\x7e\xec\x3c\x00\x5d\x7f\xa3\
+\xa8\xd1\x07\x20\x24\x71\x18\x6a\x2d\xb9\x8a\x6a\x67\xc5\xd9\xa9\
+\xa8\x2c\xce\x45\xef\x91\xd3\x10\x3f\x60\x0c\xb2\x8e\xec\x82\xad\
+\xaa\xbe\xc4\xa4\xa6\xa6\x06\x79\x79\x79\xde\x1e\xb9\x5a\xb3\x7d\
+\xfb\x76\x3c\xf3\xcc\x33\x3e\x21\x45\xc0\xcd\x7f\xf8\x27\xc2\x62\
+\xea\x4b\x5a\x32\x0e\x7c\x87\x4d\xff\xfe\xa3\xa2\x7b\x6a\xb5\xce\
+\x88\x9e\x53\xef\x43\x50\xdc\x80\x6e\xf5\x7d\x52\xa9\x04\xe8\x02\
+\xc2\x50\x99\xd3\x50\x55\xb1\xb6\xb6\x16\x7d\xfb\xf6\x55\x84\xe0\
+\xa6\x9e\x03\x02\x02\x10\x18\x18\x08\xab\xd5\xda\xe1\x5d\x38\x67\
+\x65\x65\xa1\xa6\xa6\x06\x57\x5e\x79\x25\x2f\x02\x44\x44\x0c\x33\
+\x44\x74\xa9\x5a\xbe\x7c\x39\xb6\x6e\xdd\x7a\x4e\x21\xc6\xe3\xe8\
+\xd1\xa3\x70\x38\x1c\x8a\xe5\xba\x80\x50\x24\x4d\xb9\x07\x82\xfa\
+\xe2\xe9\x06\x57\xd0\x68\x11\x92\x34\x0c\x8e\x9a\x32\x38\xaa\x1a\
+\xaa\x40\x95\xe5\x67\xa0\xbc\x28\x07\x7d\x46\xcf\x40\x8f\x7e\xa3\
+\x90\xba\x6b\x23\xa4\xb3\xed\x67\x4e\x9c\x38\x81\x3e\x7d\xfa\x60\
+\xc0\x80\x96\xc3\x86\xc5\x62\xc1\xbc\x79\xf3\x60\xb3\xd9\xbc\xf3\
+\xc6\xdd\x70\x1f\x06\x4e\xa8\x0f\x42\x59\x47\x76\xe1\x8b\x37\x17\
+\x41\x72\x8b\xde\xe5\x5a\x63\x10\x7a\x4d\xbf\x1f\xc6\xd0\x98\x6e\
+\xf9\x9d\xd2\x05\x86\xa1\x26\xff\x04\x44\x7b\x7d\xe9\x8c\xdd\x6e\
+\xc7\xf0\xe1\xc3\x9b\xec\x08\xa0\x31\xad\x56\x8b\x88\x88\x08\xb8\
+\x5c\x2e\xd4\xd5\xd5\x75\x68\xc9\xc9\xc9\x93\x27\x21\xcb\x32\x86\
+\x0f\x1f\xce\x0b\x01\x11\x11\xc3\x0c\x11\x5d\x6a\x3e\xfd\xf4\x53\
+\xac\x59\xb3\xe6\x9c\x5f\x27\xcb\x32\x0a\x0b\x0b\x51\x50\x50\xe0\
+\xb7\x4c\x63\x0c\x82\xb5\x30\x0d\x35\x05\x27\x60\x2d\xce\x80\xad\
+\x34\x07\x6e\x47\x2d\x0c\xc1\xd1\x5d\x58\xe5\xac\xbe\xc4\x20\x38\
+\x7e\x30\x24\xd1\x89\xda\xb2\xdc\x86\x30\x92\x9f\x09\x4b\x41\x26\
+\x86\x5e\x7d\x2b\x74\xc6\x40\xe4\xa4\xec\xf6\x2e\xdb\xb5\x6b\x17\
+\x6e\xbb\xed\x36\x98\xcd\xe6\x66\xb7\x7b\xdf\x7d\xf7\xe1\xd8\xb1\
+\x63\xde\xe9\x98\x5e\x43\x70\xdd\xfd\x2f\x43\xa5\x12\x90\x7b\x62\
+\x1f\x36\xfd\x73\x21\xdc\x62\x43\x5b\x10\xbd\x39\x1c\xbd\xa6\x3d\
+\x00\x9d\x39\xfc\x92\xff\xfe\xb8\x9d\x76\x00\x72\x93\x5d\x47\xdb\
+\xab\x8a\x50\x57\x9e\x07\x00\x90\x24\x09\xc9\xc9\xc9\x30\x1a\x8d\
+\x6d\x0a\x34\xb2\x2c\x23\x24\x24\x04\x82\x20\xc0\x6a\xb5\x76\x68\
+\xa0\x39\x7a\xf4\x28\xcc\x66\x73\xab\xa1\x95\x88\x88\xfc\xb1\xe5\
+\x21\x11\x75\x99\x1f\x7e\xf8\x01\x2b\x56\xac\x38\xe7\x10\x03\x00\
+\xb9\xb9\xb9\x48\x4b\x4b\x6b\x72\x1d\x47\x75\x09\xac\xc5\x19\xa8\
+\x3a\x93\x82\xda\xb2\x5c\x18\x43\x63\x10\x9c\x30\xa4\x4b\x83\x8c\
+\x4f\xa4\x41\xcc\xf0\x59\x88\x1a\x78\xb5\x62\x6e\xfa\xfe\xed\xf8\
+\xe2\xcd\x45\x18\x36\xed\x36\x24\x0c\x68\xa8\x76\x54\x59\x59\x89\
+\x47\x1f\x7d\xb4\xd9\x9e\xb6\x56\xad\x5a\x85\x6f\xbe\xf9\xc6\x3b\
+\xad\xd5\x9b\x70\xfd\x83\x7f\x85\x20\xa8\x51\x98\x71\x14\x9f\xbf\
+\xb1\x10\xa2\xab\xa1\x8b\x68\x7d\x50\x14\x7a\x4d\x7f\x10\xda\x80\
+\x90\x6e\xf1\x1d\x52\x09\x02\xb2\x77\xac\x82\x68\xb7\xfa\x2d\xd3\
+\x07\x47\x2b\xa6\xab\xaa\xea\xc7\xd2\x11\x04\x01\x82\x20\x40\xad\
+\x56\x43\xa5\x52\x29\x9e\x3d\xf3\x05\x41\x80\x24\x49\x08\x0d\x0d\
+\x45\x42\x42\x42\x87\x1f\xc7\xf2\xe5\xcb\x15\x9f\x23\x11\x11\xb5\
+\x0d\x4b\x66\x88\xa8\x4b\xa4\xa4\xa4\xe0\xf9\xe7\x9f\x87\xdb\xed\
+\x3e\xa7\x20\x53\x55\x55\x85\xd4\xd4\xd4\x56\x47\x70\x37\x45\x24\
+\x20\x6e\xf4\x5c\xc4\x8c\x9c\x0d\x43\x48\xcc\x45\xd7\xc8\x3a\x30\
+\x3a\x19\x90\x25\xd8\x4a\x73\xbc\xf3\x2a\x8a\x72\x50\x9a\x9b\x86\
+\x69\x77\x3d\x85\xe3\xbb\x37\xc3\x7d\x36\x84\x9c\x3e\x7d\x1a\xa1\
+\xa1\xa1\x18\x35\x6a\x94\x62\x1b\xa7\x4e\x9d\xc2\xaf\x7f\xfd\x6b\
+\x88\x62\x43\xf5\xb1\x6b\xee\x7d\x16\x09\x03\xc6\xa0\x34\xf7\x14\
+\x3e\x7d\xf5\x61\x38\xed\x0d\x55\xcf\x74\x81\x61\x48\x9e\x76\x3f\
+\x34\x46\x73\xb7\xf9\x1e\xa9\x04\x35\xca\x33\xf6\xc2\x92\xf6\x33\
+\xcc\x31\x7d\xa0\xd1\x07\x78\x97\x39\x6b\x2c\xa8\xce\x4b\xf5\x4e\
+\xf7\xef\xdf\x1f\x89\x89\x89\xd0\xeb\xf5\x30\x99\x4c\xd0\xeb\xf5\
+\x08\x08\x08\x80\xc1\x60\x80\xc9\x64\x52\x3c\xfb\xce\x0f\x0a\x0a\
+\x42\x50\x50\x10\xca\xcb\xcb\x3b\xb4\xfb\xe6\x9f\x7f\xfe\x19\xc9\
+\xc9\xc9\x9d\x12\x9e\x88\x88\x18\x66\x88\x88\xce\xd3\x99\x33\x67\
+\xb0\x68\xd1\x22\xd4\xd5\xd5\xb5\xf9\x35\x4e\xa7\x13\x27\x4f\x9e\
+\x44\x46\x46\x86\x5f\x1b\x19\x0f\xbd\x39\x02\xe1\xbd\xc7\x22\x66\
+\xe4\x1c\x44\x0d\x9a\x7a\x76\xac\x94\x8b\xb7\xa7\xa8\xc0\xe8\x64\
+\x00\x80\xad\x24\xbb\x21\xd0\x14\x9f\x46\x65\x49\x2e\x06\x4f\xbe\
+\x19\x39\xc7\x94\xd5\xcd\xa2\xa3\xa3\x51\x5b\x5b\x8b\xb2\xb2\x32\
+\x94\x96\x96\xe2\xbe\xfb\xee\x43\x71\x71\xb1\x77\x9d\xbe\x63\xae\
+\xc1\xc4\x5b\x1f\x45\x79\x41\x36\x3e\x59\xf6\x00\xec\xb6\x2a\xef\
+\x32\xad\x29\x18\xbd\xa6\xdd\x0f\xad\x29\xb8\xdb\x7d\x9f\x1c\x35\
+\x65\xa8\x29\x4c\x43\xe5\xe9\xc3\x30\x86\xf5\x80\x2e\x30\x0c\x00\
+\x60\x2d\xce\x80\xb5\x28\xdd\xbb\xde\xc8\x91\x23\x11\x12\x12\x02\
+\x8d\x46\x03\xb5\x5a\xed\x2d\x81\xf1\x94\xc6\x34\x2e\x99\xf1\x7d\
+\x36\x99\x4c\x08\x0b\x0b\x83\xc5\x62\x39\xa7\x00\x7e\x2e\x64\x59\
+\xc6\x8f\x3f\xfe\x88\xa1\x43\x87\x22\x3a\x3a\x9a\x17\x0a\x22\xa2\
+\x36\x50\xc9\x9d\x31\x4a\x18\x11\x91\xe7\x66\xbd\xa2\x02\x8f\x3e\
+\xfa\x68\xab\x25\x2b\xbe\x2a\x2b\x2b\x91\x9a\x9a\xda\x64\x88\x51\
+\x6b\x0d\x08\xeb\x7d\x25\x42\x7b\x8d\x81\xfe\x12\x6d\x03\x52\x74\
+\x64\x2b\x4a\x4f\xfc\x70\xc1\xdb\x19\x34\xf1\x46\x18\xcd\xa1\x38\
+\xf9\xf3\x57\xb0\x56\x96\x7a\xe7\x6b\x0c\x81\xe8\x35\xfd\x81\x4b\
+\x72\x20\xcc\xb6\x70\xd5\x56\xe2\xd4\xe6\xff\x07\x59\x12\xa1\x12\
+\xd4\xe8\x71\xe5\xad\x08\x49\x1a\x8e\xc2\xc3\x5f\xa3\xec\xe4\x2e\
+\xef\x7a\xf7\xdc\x73\x0f\x22\x23\x23\xa1\xd5\x6a\xbd\x41\xc5\x33\
+\x90\x66\x5b\x4b\xee\xec\x76\x3b\x8e\x1d\x3b\xd6\xa1\xdd\x37\x87\
+\x86\x86\x62\xe5\xca\x95\x08\x0f\x0f\xe7\x05\x83\x88\x88\x61\x86\
+\x88\x2e\x16\x76\xbb\x1d\x0b\x17\x2e\x6c\xb6\xad\x4b\x53\x72\x72\
+\x72\x90\x9d\x9d\xed\x57\xbd\x47\x17\x18\x86\x98\xe1\xb3\x10\xd4\
+\x63\x60\xb7\x38\x37\x79\x7b\x3f\x45\x45\xf6\xc1\x76\xdf\xae\x5a\
+\x67\x44\xaf\x69\xf7\xc3\x10\x72\x45\xb7\xfe\x6e\x15\x1c\xdc\x0c\
+\x4b\x9a\xa7\x24\x4b\x85\xb8\xd1\x37\xa2\xa6\xf0\x14\xaa\xf3\x1b\
+\x06\x60\xbd\xff\xfe\xfb\x11\x10\x10\x00\x9d\x4e\x07\xad\x56\xeb\
+\x2d\x95\x69\x4b\x87\x00\xbe\x44\x51\x44\x6a\x6a\x6a\x93\x63\x1b\
+\xb5\x97\xa1\x43\x87\xe2\xb5\xd7\x5e\xe3\xa0\x9a\x44\x44\xad\xe0\
+\x55\x92\x88\x3a\x85\x2c\xcb\x78\xf9\xe5\x97\xdb\x1c\x64\x5c\x2e\
+\x17\x8e\x1c\x39\x82\xac\xac\x2c\x45\x90\x11\x34\x3a\x5c\x31\xfc\
+\x7a\xf4\x9d\xb5\xb0\xdb\x04\x19\x00\xe8\x31\x76\x1e\x82\xe2\xda\
+\xf7\x78\x04\x8d\x1e\x49\x53\xee\xed\xf6\x41\x06\x00\xa2\x87\xcc\
+\xf0\xa9\x42\x27\x23\x7f\xff\xe7\xa8\x29\x6c\xa8\x62\x16\x14\x14\
+\x04\x59\x96\x21\x8a\x22\xdc\x6e\x37\x24\x49\x82\x2c\xcb\xe7\xd5\
+\x06\x46\xa3\xd1\x60\xe8\xd0\xa1\x88\x8a\x8a\xea\xb0\xe3\x39\x7a\
+\xf4\x28\x56\xad\x5a\xc5\x0b\x07\x11\x51\x6b\xd7\x64\x9e\x02\x22\
+\xea\x0c\x1b\x36\x6c\xc0\x9e\x3d\x7b\xda\xb4\xae\x28\x8a\x38\x70\
+\xe0\x80\x5f\x55\x1e\x43\xc8\x15\x48\x98\x30\xbf\xdb\x56\x97\x4a\
+\x9c\xb4\x00\xe5\x19\x7b\xeb\xbb\x92\x76\x39\x20\x89\x0e\x48\xa2\
+\xf3\xec\xc3\x05\xc9\xed\x84\xe4\xb4\x43\x96\x5b\x1f\xcc\x51\x50\
+\x6b\x91\x34\xf9\x6e\x98\xc2\xe3\x2f\x8b\xef\x97\x5a\x6b\x40\x8f\
+\xb1\xf3\x90\xbd\x63\x15\x80\xb3\x03\x61\x4a\x0d\x6d\x5b\xa2\xa3\
+\xa3\xbd\x03\x61\x4a\x92\x04\xb7\xdb\x0d\x8d\x46\xa3\xe8\xcd\x0c\
+\xf0\x2f\x9d\x91\x65\x59\x31\xcf\x33\x2d\xcb\x32\x7a\xf5\xea\x05\
+\x59\x96\x51\x5a\x5a\xda\x21\xc7\xb4\x7e\xfd\x7a\x0c\x1e\x3c\x18\
+\xe3\xc6\x8d\xe3\x05\x84\x88\xa8\x19\xac\x66\x46\x44\x1d\x2e\x2b\
+\x2b\x0b\x8f\x3c\xf2\x08\x5c\x2e\x57\xab\xeb\xca\xb2\x8c\x23\x47\
+\x8e\xa0\xbc\xbc\x5c\x31\x3f\xb4\xe7\x48\xc4\x8e\x9e\x0b\x41\xad\
+\xe5\x09\x05\x20\xcb\x6e\x40\x92\x21\x4b\x6e\x48\x92\x08\x59\x72\
+\xd7\x3f\xdc\xf5\x3f\xab\xb5\x86\x6e\xd3\xfd\xf2\xb9\x28\x3c\xb8\
+\x19\x65\x69\xbb\xfd\xe6\x8f\x1a\x35\x0a\xd1\xd1\xd1\x30\x18\x0c\
+\x30\x1a\x8d\xd0\x6a\xb5\x7e\x55\xcd\x3c\x21\xc5\xd3\x2d\xb3\x67\
+\xba\xf1\x7c\xdf\xe5\x2a\x95\x0a\x79\x79\x79\xa8\xae\xae\xee\x90\
+\xe3\x31\x9b\xcd\x78\xfb\xed\xb7\x3b\xb4\x14\x88\x88\x88\x61\x86\
+\x88\xa8\x19\x4e\xa7\x13\x0f\x3f\xfc\x30\x72\x72\x72\xda\xb4\x7e\
+\x5a\x5a\x1a\xf2\xf2\xf2\x1a\x2e\x52\x82\x06\x71\xa3\xe7\x22\xb4\
+\xd7\x28\x9e\x4c\x6a\x3d\xe4\xb9\x45\xa4\x6f\xfd\x17\x1c\xd5\x0d\
+\xa5\x25\x3a\x9d\x0e\xa3\x47\x8f\x86\xc9\x64\x82\xc9\x64\x82\xd1\
+\x68\xf4\xb6\x9b\x69\xdc\x11\xc0\xf9\x50\xab\xd5\xc8\xcd\xcd\x85\
+\xd5\x6a\xed\x90\x63\xea\xdf\xbf\x3f\xde\x78\xe3\x0d\x68\x34\xac\
+\x4c\x41\x44\xd4\x18\xdb\xcc\x10\x51\x87\x5a\xb1\x62\x45\x9b\x83\
+\x4c\x5e\x5e\x9e\x22\xc8\x00\x40\xdc\x95\x37\x33\xc8\x50\x9b\xa9\
+\xd4\x1a\xc4\x8f\xfb\x15\x7c\xbb\xe4\x16\x45\x11\x76\xbb\xdd\xdb\
+\x56\xc6\xed\x76\x7b\xdb\xcb\xb4\xc7\xff\xf3\xdc\x6e\x37\xe2\xe2\
+\xe2\x60\x34\x1a\x3b\xe4\x98\x4e\x9e\x3c\x89\x95\x2b\x57\xf2\xc3\
+\x25\x22\x62\x98\x21\xa2\xce\xb4\x67\xcf\x1e\x7c\xfe\xf9\xe7\x6d\
+\x5a\xb7\xbc\xbc\x1c\xe9\xe9\xe9\x8a\x79\x91\x03\x26\x23\x34\x69\
+\x44\x17\x1e\x01\x0b\xae\x2f\x45\xc6\xb0\x38\x84\x24\x0e\xf3\x4e\
+\x4b\x92\x84\xdc\xdc\xdc\x0e\x09\x32\xbe\x12\x12\x12\xa0\xd5\x6a\
+\x3b\x64\x60\xcd\x0d\x1b\x36\x60\xe7\xce\x9d\xfc\x70\x89\x88\x18\
+\x66\x88\xa8\x33\x54\x54\x54\xe0\x95\x57\x5e\x69\xd3\xba\xb5\xb5\
+\xb5\x48\x49\x49\x51\xdc\x04\x9a\x63\xfb\xe3\x8a\xa1\x33\xbb\x6c\
+\xff\x5d\xb5\x55\x38\xb5\xf9\x35\xc8\x6e\x91\x1f\xe6\x25\x28\x66\
+\xc4\xf5\x10\x34\x7a\xef\x74\x59\x59\x19\xac\x56\xab\xa2\x1d\x0c\
+\x00\x6f\x15\x33\xdf\x01\x32\x1b\x4f\x37\x7e\x6e\x6a\xb9\x67\x3b\
+\xc9\xc9\xc9\xd0\xeb\xf5\x1d\x72\x4c\xaf\xbc\xf2\x0a\xf2\xf3\xf3\
+\xf9\xe1\x12\x11\xf9\x60\x05\x5c\x22\xea\x10\xcb\x96\x2d\x6b\xd3\
+\x38\x1c\x2e\x97\x0b\x47\x8f\x1e\x85\x28\x36\x84\x06\x43\x70\x34\
+\x12\xc6\xdf\x0e\x9c\x67\x1b\x86\x0b\x27\x23\x6f\xef\xa7\x70\x5a\
+\x2b\x2e\x68\x1f\xae\x9f\x3c\x12\x09\x31\x11\x50\xab\x05\xa8\x05\
+\x01\x1a\xb5\x1a\x6a\x41\x05\x95\xa0\x82\xdb\x2d\x43\x92\xdc\x70\
+\xbb\x25\xb8\x25\x09\xe2\xd9\x67\xb7\xbb\xbe\xf4\xc0\x2d\xc9\x67\
+\x97\xd5\xff\x6c\xb5\xd5\xc1\x52\x65\x45\x79\xa5\x15\xe5\x95\x35\
+\xa8\xa9\xad\xc3\xc5\xdc\xe2\xd1\x69\xb5\x40\x6b\x0c\x86\x4a\xdd\
+\x35\x7f\x66\x34\x06\x33\xa2\x06\x5d\x8d\xa2\x23\x5b\xbd\xf3\xb2\
+\xb3\xb3\x91\x94\x94\x04\xb3\xd9\x0c\xa3\xd1\x08\x83\xc1\x00\xb5\
+\x5a\xed\x0d\x1f\x82\x20\xf8\x35\xf8\x77\xbb\xdd\xde\xf9\x4d\x75\
+\x0c\xe0\xe9\x10\xc0\x33\xed\x76\xbb\x31\x74\xe8\x50\x1c\x3d\x7a\
+\x14\x4e\xa7\xb3\x5d\x8f\xa9\xb6\xb6\x16\x2f\xbe\xf8\x22\xde\x7c\
+\xf3\x4d\x68\xb5\xec\x08\x83\x88\x88\x61\x86\x88\x3a\xc4\x7f\xff\
+\xfb\x5f\xec\xdb\xb7\xaf\xf5\xc8\x20\xcb\x48\x4d\x4d\x55\x74\xc1\
+\xac\xd1\x07\x20\x71\xf2\xdd\x8a\xff\xaa\x77\x36\x4b\xfa\x5e\x58\
+\x8b\x33\xa1\xd1\x07\x40\x25\xa8\xcf\x7b\x3b\x83\x92\x7b\x20\x39\
+\xa1\x63\xc6\x78\x71\x89\x6e\x54\x54\x59\x61\xa9\xaa\x41\x79\x95\
+\x15\x96\xb3\x21\xa7\xbc\xaa\x06\xe5\x95\x36\x54\xd4\xd8\x20\x49\
+\x52\x97\x9c\x3f\x7b\x65\x21\x1c\x35\x65\x50\x09\x1a\x9f\xb1\x5f\
+\x3a\x5f\x44\xbf\x09\x28\xcf\xfc\x05\x4e\x6b\x7d\xcf\x78\xe5\xe5\
+\xe5\xa8\xae\xae\x46\x70\x70\x30\xd4\x6a\x35\xd4\x6a\x75\x93\x3d\
+\x9a\xf9\x52\xab\xd5\x2d\x4e\xfb\xfd\x51\xd5\x68\xa0\xd7\xeb\x31\
+\x74\xe8\x50\x1c\x3e\x7c\x58\x11\xd2\xdb\x43\x66\x66\x26\x3e\xfa\
+\xe8\x23\xdc\x7b\xef\xbd\xbc\xd0\x10\x11\x31\xcc\x10\x51\x7b\xcb\
+\xce\xce\xc6\xdb\x6f\xbf\xdd\xa6\x20\x93\x9f\x9f\xaf\xe8\x82\x59\
+\x25\xa8\x91\x30\x71\x3e\x74\x01\xa1\x5d\xb6\xff\x92\xe8\x44\x49\
+\xea\x77\xf5\x37\xae\x86\x80\x0b\xda\x96\x4e\xd7\x71\xff\x3d\xd7\
+\x6a\xd4\x88\x0a\x0f\x46\x54\x78\xd3\x61\x41\x96\x64\x54\xd4\xd8\
+\x50\x5e\x65\x45\x51\x69\x25\xce\x14\x95\x21\xbf\xa4\x1c\xf9\xc5\
+\x16\xd8\x1d\xae\x0e\xd9\x27\x59\x96\x50\x67\x39\x03\x57\x5d\x7d\
+\x37\xc5\xa2\xc3\xd6\xa5\x61\x46\x25\x68\x10\x3d\x78\x3a\xce\xec\
+\xf9\x44\xf1\xfd\x8c\x8f\xef\xf8\xb1\x77\x02\x02\x02\x30\x78\xf0\
+\x60\x1c\x39\x72\xa4\xdd\xdb\xd0\xac\x5f\xbf\x1e\x33\x66\xcc\x40\
+\x8f\x1e\x3d\x78\xc1\x21\x22\x86\x19\x9e\x02\x22\x6a\x2f\x2e\x97\
+\x0b\x7f\xf9\xcb\x5f\x5a\xad\x5e\x23\xcb\x32\x1c\x0e\x07\xb2\xb2\
+\xb2\x14\xf3\x63\x47\xdd\x88\x80\xc8\x9e\x5d\x7a\x0c\x65\x69\x3f\
+\x41\xb4\xd7\x77\xb1\x2b\xa8\xb5\x90\x44\xc7\x79\x97\x12\xed\xd8\
+\x9b\x02\x9d\x56\x03\x97\xe8\x86\xd3\xe5\x82\x4b\x14\xe1\x74\xba\
+\x21\xc9\x12\x34\x1a\x0d\x34\x82\x00\xad\x46\x0d\xb5\x46\x0d\xad\
+\x5a\x80\x46\xa3\x86\x46\xad\x3e\xfb\x2c\x40\xab\xd1\x40\xa3\x11\
+\xa0\x51\x6b\x10\x62\x36\x21\x3c\xd4\x8c\x88\x10\x33\xf4\x6d\x08\
+\x49\x2a\x41\x85\xb0\xe0\x40\x84\x05\x07\xa2\xb7\x4f\xe9\x90\x2c\
+\x03\x96\xca\x1a\xe4\x15\x5b\x90\x5f\x64\x41\x56\x5e\x31\x8e\x67\
+\xe6\xb5\x4b\x90\xb1\x95\x64\xc3\xed\x6c\x28\x65\x13\xed\xb6\x2e\
+\xff\x4e\x06\xc5\x0f\x86\x70\x60\x13\x24\x97\x03\x00\x90\x9b\x9b\
+\x0b\xb7\xdb\xdd\x29\xef\x1d\x1c\x1c\x8c\x9e\x3d\x7b\xfa\x7d\xcf\
+\xdb\xe3\xf7\xec\xf5\xd7\x5f\xc7\xab\xaf\xbe\xca\x8b\x0e\x11\x31\
+\xcc\xf0\x14\x10\x51\x7b\x59\xbd\x7a\x35\xb2\xb3\xb3\x5b\x0d\x32\
+\x40\xfd\x78\x32\xbe\x55\x70\x82\x13\x86\x20\x2c\x79\x4c\x97\xee\
+\xbf\xdb\x59\x87\xb2\x13\xbb\xbc\xd3\x82\x56\x0f\xa7\xb5\x1c\x86\
+\x90\x98\xf3\xda\xde\xcf\x87\x4f\x75\xc8\x7e\x06\x06\x18\x10\x11\
+\x12\x84\x88\x50\x33\x22\x42\xcf\x3e\x87\xd4\x3f\x42\x83\x03\x21\
+\x08\xcd\xf7\xed\xa2\x52\xe1\xec\xeb\xcc\x18\xde\x3f\x09\x79\x45\
+\xe5\x38\x9e\xf9\xe9\x85\x46\x19\xd4\x96\xe5\x2a\x82\x0c\x00\x48\
+\xa2\x1d\xb2\x5b\xec\xb2\x76\x33\x9e\x40\x1a\x92\x30\x14\xe5\x99\
+\xbf\x00\xa8\x1f\xf7\x28\x2b\x2b\x0b\x03\x06\x0c\xf0\xb6\x79\x11\
+\x45\xd1\x3b\x86\x8b\xa7\x9a\x99\x67\x99\x6f\xfb\x19\xcf\x77\xd7\
+\xb7\x5d\x4d\xc3\x79\x6d\xba\x1d\x4d\x54\x54\x14\x2c\x16\x0b\xaa\
+\xaa\xaa\xda\xf5\xb8\x0e\x1d\x3a\x84\xed\xdb\xb7\x63\xfa\xf4\xe9\
+\xbc\xf0\x10\x11\xc3\x0c\x11\xd1\x85\xca\xcf\xcf\xc7\x67\x9f\x7d\
+\xd6\xa6\x75\x4b\x4b\x4b\x51\x56\x56\xe6\x9d\x56\xeb\x0c\x88\x1d\
+\x39\xa7\xcb\x8f\xa1\x22\xeb\x00\xdc\x2e\xbb\x77\x5a\x67\x0a\x81\
+\xd3\x56\x09\x43\xf0\x15\xed\xd6\x19\x81\x4a\x05\xc4\x44\x86\x21\
+\x39\x3e\x1a\x46\xbd\x0e\x67\x8a\x2c\xc8\xc8\x2d\x84\x4b\x6c\x7b\
+\x69\x81\xd5\x66\x87\xd5\x66\x47\x4e\x7e\x89\xff\xcd\xbb\x20\x20\
+\x34\x38\x10\x11\x21\x81\xf5\x81\x27\x2c\x08\x31\x91\x21\x88\x89\
+\x08\x45\x64\x68\x10\x54\x82\xf2\x38\x9c\xe2\x85\x57\x39\xab\x2b\
+\x2f\x80\x68\xaf\x69\x72\x59\x57\x57\x35\x03\x80\xd0\x9e\xa3\xbc\
+\x61\xc6\x13\xa4\xe3\xe3\xe3\xe1\x74\x3a\xbd\x03\x67\xaa\x54\xaa\
+\x16\x43\x60\x4b\xe1\xbc\x71\x3b\x1b\xdf\x79\xb2\x2c\x23\x36\x36\
+\x16\xb5\xb5\xb5\x70\xb9\xda\xb7\x7a\xdf\xf2\xe5\xcb\x31\x76\xec\
+\x58\x04\x06\x06\xf2\x02\x44\x44\x0c\x33\x44\x44\x17\x62\xc5\x8a\
+\x15\xad\x36\x76\x96\x65\x19\x92\x24\xf9\x8d\x27\x73\xc5\xb0\xeb\
+\xa1\x31\x98\xbb\xfc\x18\xca\x33\x1b\x3a\x2d\x50\x09\x6a\x04\x44\
+\xf5\x84\x2c\x89\x70\xd5\x55\x41\x6b\x0a\xb9\xa0\x6d\x27\xc6\x46\
+\x62\xf6\x94\x51\x48\x4e\x88\x86\xc9\xa0\xac\xb6\xe6\x72\xb9\x91\
+\x7e\xba\x00\x47\x4e\xe5\xe0\xc7\x03\x27\x21\x5d\x40\x1b\x0b\x49\
+\x92\x60\xa9\xa8\x86\xa5\xa2\x1a\xa7\x50\xa0\xbc\xe0\x6b\x04\x44\
+\x87\x87\xd6\x87\x9b\xc8\x50\xc4\x44\x86\xc2\x56\xe7\xb8\xa0\xe3\
+\x72\x54\x97\xc2\x69\x2b\x6f\x76\x79\x75\xfe\x71\x68\x0c\x81\x30\
+\xc7\xf6\x87\xa0\xee\x9a\x1e\xb8\x4c\x11\x09\xd0\x9b\x23\xe0\xa8\
+\xa9\x0f\xd0\x25\x25\x25\xa8\xab\xab\x83\x46\xa3\xf1\x96\xbe\xa8\
+\x2e\x20\xac\x36\xd5\x26\xc6\x77\x9e\x2c\xcb\x88\x8f\x8f\x47\x66\
+\x66\xe6\x05\xbd\x4f\x63\x95\x95\x95\x78\xf7\xdd\x77\xf1\x87\x3f\
+\xfc\x81\x17\x20\x22\x62\x98\x21\x22\x3a\x5f\x07\x0f\x1e\xc4\xee\
+\xdd\xbb\xdb\x74\xc3\x97\x9f\x9f\x0f\x87\xa3\xe1\x06\x3a\x20\xaa\
+\x27\xc2\x92\x47\x77\xf9\x31\xd8\x4a\xb3\xbd\x37\xbb\x00\x60\x8a\
+\x4c\x82\xa0\xd1\x01\x00\x9c\xd6\x8a\xf3\x0e\x33\x1a\xb5\x1a\xb3\
+\xa7\x8c\xc4\xb5\x13\x86\x35\xfb\x9f\x7f\xad\x56\x8d\x81\xbd\xe3\
+\x31\xb0\x77\x3c\x86\x0f\xe8\x89\xf7\x3e\xfb\x0e\xb6\x5a\x7b\x8b\
+\xdb\xd5\x6a\xd5\x98\x30\xa2\x3f\xc6\x0e\xed\x03\xb3\xc9\x00\x41\
+\x2d\xe0\x44\x66\x3e\x7e\x3a\x78\x12\x59\x79\xc5\x8a\x75\x05\x95\
+\x0a\x92\x2c\x43\x14\x25\xe4\x17\x5b\x90\x5f\x6c\x69\x97\x73\xe6\
+\xaa\xad\x82\xbd\xaa\xb8\xf9\x20\x93\x77\x1c\x95\xa7\x8f\x00\x00\
+\x42\x7b\x8e\x44\x8f\xb1\xf3\xba\xec\xf3\x0d\x4e\x1c\x86\x92\x94\
+\xed\xde\xef\x62\x69\x69\x29\xcc\x66\x73\x87\x0c\x70\xd9\xf4\xe7\
+\xa5\x45\x4c\x4c\x0c\x0a\x0b\x0b\xdb\x35\xd0\x6c\xde\xbc\x19\x33\
+\x67\xce\xc4\x80\x01\x03\x78\x21\x22\xa2\xcb\x92\x4a\x96\x65\x0e\
+\x71\x4d\x44\xe7\x4d\x92\x24\x3c\xf0\xc0\x03\x2d\xb6\x95\xf1\x5c\
+\x66\x44\x51\xc4\xde\xbd\x7b\x7d\x3a\x08\x50\xa1\xcf\x75\x8f\x9e\
+\x77\x9b\x94\xf6\x74\x66\xcf\xff\xa1\x32\xe7\xb0\x77\x3a\x66\xf8\
+\xf5\xd0\x06\x34\x04\x18\x73\x4c\xdf\x73\xee\x08\xc0\x68\xd0\xe1\
+\x4f\xf7\xde\x80\xb8\xe8\xf0\x73\x7a\x5d\x45\xb5\x0d\xef\x7e\xb2\
+\xcd\x2f\x94\x78\x84\x87\x98\xf1\xc7\x7b\x6f\x40\x58\xb0\x7f\xf5\
+\x22\x59\x92\xf1\xd5\xae\x83\x50\x0b\x02\xae\x1c\xda\x07\x21\x66\
+\x13\x24\x59\xc6\x89\xcc\x7c\xec\x39\x92\x86\x83\xc7\xdb\xa7\x31\
+\xba\x24\x3a\x61\x2d\xca\x80\x2c\xbb\x9b\x09\x3a\xd5\x28\x3a\xfc\
+\x35\x64\xb9\xa1\x7b\xe8\x01\x37\xff\x19\x1a\x7d\x40\x97\x7c\xbe\
+\xb6\xd2\x6c\x64\x6d\x7f\xc7\x3b\xdd\xb7\x6f\x5f\x8c\x1d\x3b\xd6\
+\x5b\xcd\xac\xb9\xae\x99\xdb\xf5\x0f\xae\x4a\x85\x82\x82\x02\x54\
+\x57\x57\xb7\xeb\x76\x93\x93\x93\xb1\x62\xc5\x8a\xf3\xaa\x26\x47\
+\x44\x74\xa9\xe3\x95\x8f\x88\x2e\xc8\x57\x5f\x7d\xd5\x6a\xa3\x7f\
+\x8f\x82\x82\x02\x45\x4f\x67\xc1\x09\x43\x2e\x8a\x20\xe3\x76\xd6\
+\xa1\xea\x4c\x8a\x77\x5a\x1f\x14\xa5\x08\x32\x00\xbc\x63\x95\x9c\
+\x8b\x05\x73\x26\x9f\x73\x90\x01\x80\xd0\xa0\x00\x3c\xba\xe0\x3a\
+\x04\x98\x0c\x7e\xcb\x02\x8d\x06\x2c\xbc\x7b\x76\x93\x41\x06\xa8\
+\xef\xc5\x6c\xf6\x94\x51\xb8\x6e\xd2\x08\x84\x9d\xed\x0c\x40\xa3\
+\x56\x63\x48\xdf\x04\xdc\x7f\xdb\x0c\xdc\x7e\xfd\x04\xbf\x76\x33\
+\xe7\xa3\xae\x3c\xaf\xd9\x20\x03\x00\xe5\x99\xbf\x28\x82\x0c\x00\
+\xd4\x96\x9d\xee\xb2\xcf\xd8\x14\x1e\xaf\xe8\x88\xa0\xb4\xb4\xd4\
+\x1b\x5e\x04\x41\xf0\x06\x9a\xc6\xcf\x9e\x47\x73\xf3\x5b\x5b\xee\
+\x3b\x5f\xa5\x52\xa1\x47\x8f\x1e\xde\x41\x3a\xdb\x4b\x66\x66\x26\
+\x36\x6c\xd8\xc0\x8b\x11\x11\x5d\x96\x58\xcd\x8c\x88\xce\x5b\x6d\
+\x6d\x2d\x56\xaf\x5e\xdd\xe2\x3a\xbe\xa5\x32\xb9\xb9\xb9\x0d\x37\
+\xdd\x2a\x01\xd1\x43\x66\x5c\x14\xc7\x51\x99\x73\x18\xb2\xbb\xa1\
+\xbd\x8f\x39\xa6\xaf\xdf\x3a\x9e\xee\x9a\xdb\x6a\xe2\xc8\xfe\x18\
+\x39\xa8\x97\xdf\x7c\x97\xe8\xc6\x91\x93\x39\xc8\xce\x2b\x81\xdd\
+\xe9\x44\x72\x7c\x34\x06\xf5\x4e\x40\xb0\xd9\xa4\x58\xcf\xa8\xd7\
+\xe3\xc6\xa9\x63\xb0\xee\xcb\x5d\x8a\xf9\x93\xc6\x0c\x40\x78\x68\
+\xd0\x79\x1f\xeb\xd5\x57\x0e\x42\xb5\xad\x16\x5f\xef\x3c\x74\xde\
+\xdb\x70\xd4\x94\x41\x74\x34\xdf\xed\xb2\xad\x38\x0b\x8e\x6a\xff\
+\xce\x09\x6c\xa5\xa7\x11\x14\x37\xd0\xe7\xbb\x21\x41\xac\xad\xf6\
+\x0b\x8e\x1d\x41\x25\x68\x60\x0a\x4f\x80\xad\xa4\xbe\x64\xaa\xb2\
+\xb2\x12\x7a\xbd\x1e\x66\xb3\xb9\xbe\x9b\x6c\x8d\xc6\x1b\x6c\x7c\
+\x7b\x2b\x3b\xd7\x67\xcf\x77\xbe\xb9\xed\x00\xc0\xe0\xc1\x83\x71\
+\xe8\xd0\xa1\x76\x1d\xd4\xf4\xfd\xf7\xdf\xc7\x94\x29\x53\x10\x19\
+\x19\xc9\x0b\x13\x11\x31\xcc\x10\x11\xb5\xc5\x87\x1f\x7e\x88\xca\
+\xca\xca\x56\x83\x8c\xa7\x8d\x82\x6f\x6f\x4e\x21\x49\x23\xa0\x37\
+\x47\x74\xf9\x31\x48\x2e\x07\x4a\x8e\x7f\xef\x9d\x56\xeb\x03\x60\
+\x0c\xf7\x1f\x8c\xd0\xed\x72\x40\x96\xdc\x50\x09\xea\x56\xb7\xa9\
+\xd3\x6a\x70\xdb\x75\xe3\xfd\xe6\x9f\x29\xb6\x60\xf5\x67\xdf\xa1\
+\xb0\xb4\xc2\x3b\x6f\xf7\xa1\x53\xd0\x69\x35\xb8\x6b\xee\x14\x8c\
+\x1e\x94\xac\x0c\x2e\x23\xfb\x63\xd7\x81\x54\xe4\x15\x35\x94\x0a\
+\x4d\x1a\xa5\x6c\x1b\xe1\x72\xb9\xb1\x3f\x35\x03\xc9\x09\x31\x88\
+\x0a\x6b\x5b\xc8\xb9\x76\xfc\x70\xfc\x78\xe0\x04\x6a\x6c\xf6\x73\
+\x3e\x5f\x6e\x97\x1d\xf6\xca\xe6\xdb\xc9\xb8\x9d\x76\x54\xe4\x34\
+\x1d\x94\x6a\x4b\x73\x14\xd3\x05\xfb\x3f\x47\x48\xe2\xb0\x4e\x09\
+\x33\x40\x7d\xfb\x2c\x4f\x98\x91\x65\x19\xc5\xc5\xc5\x08\x09\x09\
+\x81\x46\xa3\xe9\xb4\xaa\x66\x40\x7d\xfb\x99\xa4\xa4\xa4\x76\x1d\
+\x7f\xa6\xae\xae\x0e\x6f\xbd\xf5\x16\x16\x2f\x5e\xcc\x0b\x13\x11\
+\x5d\x56\x58\xcd\x8c\x88\xce\x4b\x41\x41\x41\x9b\xbb\x62\xf6\xdc\
+\x38\xfa\x8a\x1c\x30\xe9\xa2\x38\x8e\xe2\x63\xdf\x2a\xba\x15\x0e\
+\xeb\x35\xba\x99\x9b\x59\x19\x6e\x67\x5d\x9b\xb6\xd9\x3b\x31\x06\
+\x3a\xad\xf2\x7f\x45\x56\x9b\x1d\xff\xfe\xf0\x2b\x45\x90\xf1\x70\
+\xba\x44\xbc\xf7\xe9\x76\x1c\x3d\xa5\xac\x86\xa5\x12\x54\x98\x71\
+\xd5\x30\xef\x74\x70\xa0\x09\xa1\x41\xca\xea\x65\x5b\x77\x1f\xc6\
+\x7f\x3e\xff\x01\x6f\xfc\x67\xb3\xdf\x76\x5d\x2e\x37\xbe\xfd\xe9\
+\x08\x4e\x65\x2b\x7b\x35\x33\xe8\xb5\xe8\x93\x18\x7b\xee\x27\x4b\
+\x96\x51\x67\x39\x03\xa0\xf9\x12\x85\xca\x9c\x83\x90\xc4\xa6\x07\
+\x4d\xad\xab\x28\xf0\x2e\x2b\x39\xfe\x3d\xca\x33\x7f\x81\xc6\xd0\
+\x79\xdd\x0a\x07\x46\x29\x07\x64\x3d\x73\xe6\x0c\x24\x49\x82\x24\
+\x49\x90\x65\x59\x11\xbe\x3b\x5a\x8f\x1e\x3d\x10\x10\xd0\xbe\xed\
+\x87\x76\xee\xdc\xd9\xee\x03\x74\x12\x11\x31\xcc\x10\x51\xb7\xb4\
+\x72\xe5\xca\x16\xbb\x62\xf6\xbd\x31\x74\x3a\x9d\xa8\xa8\x68\xb8\
+\x89\x37\x86\xc6\x42\x1f\x14\xd5\xe5\xc7\x60\xaf\x2c\x82\x25\x7d\
+\x4f\xc3\xcd\x6e\x74\x32\x8c\x61\xcd\xdf\xe4\x37\x1e\x14\xb2\x39\
+\xfd\x93\xfc\xb7\xb1\x71\xfb\x3e\x54\x5b\x5b\x0e\x43\x9f\x6c\xdd\
+\x0d\xb1\xd1\xe8\xf4\xd1\xe1\x0d\xa5\x16\x11\x4d\x54\x2f\xcb\x3e\
+\x53\x1f\x12\x6b\x6a\xfd\xb7\xbd\x7d\xef\x31\x6c\xd8\xb6\x17\xcb\
+\xd7\x6d\x81\x28\x2a\x03\x48\x44\xc8\xb9\x77\x85\xed\xb0\x5a\x14\
+\xe3\xf0\x34\x75\x3e\x6d\xa5\x0d\x81\x4c\xab\x37\x62\xe0\x84\x86\
+\xf1\x83\x64\xc9\x8d\xf2\xcc\x7d\x70\x5a\xcb\x51\x72\x6c\x1b\x80\
+\xfa\x92\xb0\xce\x62\x0a\x4f\x80\x4a\x68\x08\x99\xf9\xf9\xf9\x70\
+\xbb\xdd\x9d\x1e\x64\x80\xfa\xce\x00\xfa\xf6\xed\xdb\xae\xdb\x94\
+\x65\x19\x1f\x7e\xf8\x21\x2f\x4e\x44\xc4\x30\x43\x44\xd4\x92\x23\
+\x47\x8e\xe0\xc7\x1f\x7f\x6c\xd3\xcd\x95\x2c\xcb\x28\x2a\x2a\x52\
+\xcc\x0f\x49\x1c\xde\xe6\xf7\xaa\xca\x3d\x86\x9c\x1f\x56\xa3\x2a\
+\xf7\xa8\x5f\x83\xf2\x0b\xe1\xaa\xad\x42\xee\xee\x75\xde\x6d\x6a\
+\xf4\x01\x08\xed\x39\xb2\xc5\xd7\x88\x8e\xb6\x85\x99\x7e\xbd\xe2\
+\xfc\xe6\xa5\x64\xe4\xb6\xfa\xba\xb2\x8a\x1a\x14\x97\x29\xab\xed\
+\x45\x84\x99\x7d\xc2\x8c\x7f\x00\x29\xab\xac\x39\x1b\x4e\xfc\x83\
+\x4e\x6e\x41\x69\xfd\xb1\x36\x11\x3a\x4d\xc6\x73\x6b\x84\x2e\x4b\
+\x22\x1c\x55\x25\x2d\x2c\x77\x2b\x06\xa6\x04\x80\xf1\x37\x3f\x8c\
+\xb1\x73\x7e\x0b\x95\xaa\xe1\x4f\x4d\xe9\x89\x5d\x28\x4e\xd9\x5e\
+\x7f\xde\x55\x2a\x68\x74\xa6\x4e\xfb\xde\xaa\xd4\x1a\x98\xc2\xe3\
+\x1b\xce\x5d\x59\x19\x1c\x0e\x87\x5f\xc9\x4c\x67\x09\x0a\x0a\x42\
+\x4c\x4c\xfb\x76\x80\xb1\x73\xe7\x4e\x45\xdb\x34\x22\xa2\xee\x8e\
+\x6d\x66\x88\xe8\xdc\x6e\x6a\x65\x19\xcb\x97\x2f\x6f\x75\x1d\xdf\
+\x9f\x2d\x16\x9f\x71\x4d\x54\x2a\x04\x27\x0e\x6d\xf3\xfb\xe9\xcd\
+\x11\xb0\x16\x65\xa2\xa6\x30\x1d\xba\x80\x50\x44\x0f\xb9\x06\x21\
+\x49\xc3\x00\x9c\x5f\xbb\x06\x59\x72\xa3\xec\xc4\x4e\x14\xa5\x6c\
+\x03\x7c\xf6\x33\xbc\xcf\x38\x45\x6f\x57\x4d\x69\x6b\xc9\x8c\x5a\
+\xad\xfc\x3f\x91\xc3\xe9\x42\x55\x4d\xdb\x5e\x5b\x5a\x51\xa3\xe8\
+\x01\x2d\xd0\x68\x80\xd1\xa0\x43\x9d\xdd\x89\xf0\x46\xa5\x29\xb2\
+\x0c\x94\x57\xd5\x34\x1b\x74\x2c\x67\x83\x4e\x50\xa0\x09\x1a\x8d\
+\x72\x9f\xca\xab\xcf\xad\x43\x03\x7b\x55\x49\x8b\xbd\x97\x55\xe5\
+\xa6\x28\x3a\x49\x88\x4a\x1c\x80\x91\xd7\xdc\x09\x95\x20\xa0\xef\
+\x98\x6b\x70\x6a\xdf\xd6\xfa\x40\x68\xaf\xf1\x76\x81\xad\xd1\x99\
+\x80\x0e\x6e\x9f\xd2\x58\x40\x54\x4f\xd8\x4a\xeb\x7b\xdf\x93\x24\
+\x09\x39\x39\x39\xe8\xdd\xbb\x37\x44\x51\x84\x56\xab\x85\x4a\xa5\
+\x82\x5a\xad\x56\x7c\x7f\x3d\xd5\x0e\x55\x2a\x95\x77\x90\xcd\xd6\
+\x3a\x01\xf0\xac\xdf\xda\xeb\xe3\xe2\xe2\x50\x5a\x5a\xda\xea\x80\
+\xb3\xe7\xf2\xfb\xf9\xe1\x87\x1f\xe2\x99\x67\x9e\xe1\xc5\x8a\x88\
+\x18\x66\x88\x88\x1a\xdb\xb9\x73\x27\x32\x32\x32\xda\x74\x53\xe5\
+\x79\xd8\x6c\x0d\x3d\x5f\x99\xc2\xe3\xa1\x35\xb6\xbd\x37\x2e\x43\
+\x68\x0c\x22\x07\x4e\x41\x49\xea\x0e\x38\x6d\x15\x38\xb3\xe7\xff\
+\x50\x76\xea\x47\x5c\x31\xfc\x7a\x04\x46\x27\x9f\xd3\xbe\xd7\x5a\
+\xce\x20\x7f\xdf\x06\xbf\x81\x1e\xb5\xa6\x60\xed\x7e\x2e\x0b\x00\
+\x00\x20\x00\x49\x44\x41\x54\xe8\x83\x5b\xaf\xf6\x26\x4b\x6e\x48\
+\xa2\xa3\xd5\xf1\x66\x4a\xcb\xab\x11\x17\x15\xd6\x10\xc8\x74\x5a\
+\x04\x1a\x0d\xb0\xd6\xb5\xde\xe0\x3e\xc4\x1c\xe0\x17\x58\xd4\x67\
+\x4b\x36\x1a\x87\x99\x6a\x6b\xad\xb7\xfa\x58\x50\x80\x7f\x09\x47\
+\x79\xa5\xf5\x6c\xd0\xf1\x3f\xdf\x65\x15\x35\x6d\x3e\x6f\x92\xcb\
+\xd1\x62\xd7\xd4\x2e\x5b\x25\x6a\x0a\x4e\x34\xdc\xc4\x0b\x02\xae\
+\xb9\xf7\x39\xa8\xce\x8e\x7b\x32\xf6\xc6\xfb\x90\xb6\xff\x5b\xc8\
+\xde\xde\xbb\xea\x6f\xf8\x35\x46\x73\xa7\x7f\x7f\x03\xa2\x7a\x02\
+\xa9\x0d\xd3\x39\x39\x39\x88\x8c\x8c\x54\x8c\x37\xe3\xe9\x08\xc0\
+\x37\x88\x34\xfe\x6e\xb7\xd4\x49\x40\x6b\xcb\x1b\x8b\x8a\x8a\x42\
+\x7e\x7e\x7e\xbb\x75\x3c\xb0\x63\xc7\x0e\xdc\x73\xcf\x3d\x88\x8b\
+\x8b\xe3\x05\x8b\x88\xba\x3d\x56\x33\x23\xa2\x73\xf2\xe9\xa7\x9f\
+\xb6\x1a\x62\x7c\x7f\xb6\xdb\xed\x70\xfb\xb4\x03\x31\x86\x9e\x7b\
+\xc3\xf3\xa8\x41\xd3\x10\x92\x34\x02\x9e\xd2\x98\xba\x8a\x02\x64\
+\xef\x78\x0f\x19\xdf\x2c\x47\x79\xc6\x5e\xb8\x9d\x2d\x87\x04\x57\
+\x5d\x35\x0a\x0e\x7c\x81\xcc\x6d\x2b\x9a\x1c\xb1\xde\x55\x5b\x0d\
+\x57\x5d\xdb\x4a\x2a\x44\x47\xeb\x9d\x00\x94\x94\x57\xf9\xcd\xeb\
+\x9d\x78\x45\xab\xaf\x0b\x34\x1a\x90\x10\xab\xec\xe1\x2d\xaf\xc4\
+\xe2\x0d\x41\x91\x8d\x7a\x2b\x2b\xab\x6c\x18\x7c\xf1\x78\xe6\x19\
+\x64\xe6\x16\xc1\xe5\xaa\x3f\xd7\x69\x39\x85\xde\xd7\x35\xd5\x3e\
+\xc6\x53\x6a\xd3\x16\x75\x95\x85\xde\x00\xe2\xff\x81\x03\xe5\x99\
+\xfb\x14\x9f\xfb\xc8\x19\xf3\x11\x9d\xd4\xd0\xeb\x5a\x44\x5c\x6f\
+\x5c\x7d\xc7\x22\xbf\x97\xaa\x75\xc6\x4e\xff\xfe\x9a\x22\x12\x14\
+\x3d\xd2\x95\x94\x94\x40\x14\x45\xb8\xdd\x6e\x6f\x67\x00\xbe\x9d\
+\x02\x34\x9e\xd7\xd2\xfc\xb6\x2e\x6f\xfc\x08\x0e\x0e\x86\xd9\xdc\
+\x7e\xc1\x4e\x92\x24\x7c\xf4\xd1\x47\xbc\x58\x11\xd1\x65\x81\x25\
+\x33\x44\xd4\x66\xc7\x8f\x1f\xc7\xf1\xe3\xc7\x5b\x5d\xcf\xb7\x54\
+\xc6\x6a\x55\x86\x04\x7d\xd0\xb9\x8f\x83\xa1\x12\xd4\x88\x1f\x77\
+\x1b\x22\xfa\x4d\x40\xd1\xe1\x2d\xb0\x16\xd7\x97\x0c\xd5\x95\xe7\
+\x21\xbf\x3c\x0f\x05\x07\x37\xc3\x14\xd6\x03\xfa\xe0\x68\x48\x92\
+\x0b\x82\x4a\x03\x95\x46\x0b\xd9\x2d\xa2\xb6\x2c\xf7\x6c\x80\x69\
+\xa9\x3d\x84\x0c\x6b\xe1\x29\x84\xf6\x1a\xd5\xea\xbe\xb8\x9d\xb5\
+\x40\x2b\x5d\x09\x97\x94\xf9\x87\x99\x5b\xae\x19\x8b\x94\xf4\x33\
+\x7e\x0d\xfc\x7d\xdd\x7c\xcd\x58\x08\x8d\xfe\x3b\x7f\x32\x33\xdf\
+\xfb\x73\xe3\x92\x19\x4f\xc9\x0b\x00\x54\x54\xdb\xf0\xea\xea\x4d\
+\x50\xa9\x00\x93\xd1\x00\x5b\x6d\x43\xc0\x6b\x5c\x32\x23\xcb\x80\
+\xa5\xb2\x6d\xa3\xd0\x8b\x76\xab\xa2\xb7\xb7\xc6\x6a\x8a\x33\xe0\
+\xa8\x69\xa8\x46\x68\x0e\xbf\x02\xe3\x6f\x79\xc4\x6f\xbd\x11\x33\
+\xfe\x07\xc5\x39\xc7\x71\xfc\xa7\x2f\xba\xf4\x3b\x2c\xa8\xb5\xd0\
+\x9b\x23\xbc\xa1\xb6\xb6\xb6\x56\x11\x2c\x7c\xab\x8a\xa9\x3a\xa9\
+\x0a\x9c\x24\x49\x88\x89\x89\x41\x5a\x5a\x5a\xbb\xbd\xe7\xb6\x6d\
+\xdb\x70\xf7\xdd\x77\xe3\x8a\x2b\xae\xe0\x85\x8b\x88\xba\x35\x96\
+\xcc\x10\x51\x9b\x9d\x6b\xa9\x4c\xe3\x2a\x66\xf5\x61\xe6\xfc\x7b\
+\x31\x33\x86\xc6\xa2\xe7\xd4\xdf\x20\x69\xca\xaf\x11\x78\x45\x1f\
+\x6f\x7b\x0b\x59\x72\xc3\x56\x76\x1a\xe5\x99\xfb\x50\x99\x7d\x08\
+\xe5\x59\xbf\xc0\x92\xb6\x1b\xe5\x99\xfb\x60\xaf\x2a\xf2\x0b\x32\
+\x1a\xad\x1e\xd3\xef\x7a\x1a\x7a\x53\x43\x38\xb0\x96\x64\x41\x12\
+\x5d\x6d\x08\x33\xad\x97\xcc\x1c\x3c\x9e\x0d\x6b\xa3\x31\x5c\x22\
+\xc3\x82\xf1\xf0\x1d\xd7\x22\xc0\x64\x68\x22\xac\xa9\x70\xdd\xc4\
+\xe1\x18\x3f\xa2\x9f\xdf\xb2\x93\x59\x79\x00\x00\xb5\x20\x20\x24\
+\x48\x59\x05\xad\xa9\xaa\x62\xb2\x0c\x45\x90\xa9\x0f\x41\xca\xee\
+\x8f\xab\x6a\x6c\x7e\xbd\x9b\x35\xc7\x51\x5d\xda\xc2\xb9\xb0\xa3\
+\xea\x6c\xfb\x17\x8f\xe9\x77\x3d\x0d\xad\xbe\xe9\x12\x97\xea\xb2\
+\x02\xbf\xcf\xb3\x2b\x38\x6d\x3e\x3d\xeb\x19\x8d\x8a\x12\x95\xae\
+\xa2\x56\xab\xdb\x35\x78\xb8\xdd\x6e\xac\x5b\xb7\x8e\x17\x2d\x22\
+\xea\xf6\x58\x32\x43\x44\x6d\x52\x5c\x5c\x8c\x5d\xbb\x76\xb5\xba\
+\x9e\x6f\xa9\x4c\x53\x37\x88\x6d\x19\x74\xb2\x35\xe6\x98\x3e\x30\
+\xc7\xf4\x81\xab\xb6\x0a\x45\x47\xb7\x7a\x1b\x94\xb7\x46\xa5\x12\
+\x30\x64\xf2\x4d\x98\xba\xe0\x29\xa8\x35\x5a\x54\x95\x15\x60\xff\
+\xd7\x1f\xd4\xef\xb7\x5b\x84\xad\x38\x13\xe6\xb8\xfe\x2d\x6e\x43\
+\x12\x1d\xad\xbe\x4f\x9d\xc3\x81\x8d\xdb\xf7\x61\xc1\x8d\x93\x15\
+\xf3\x07\x26\xc7\xe3\xb9\x87\xe6\xe1\x97\x94\x0c\x9c\xc8\xaa\x2f\
+\x71\x89\x0c\x0d\xc2\xa4\x51\xfd\x15\x8d\xfe\x3d\x32\x73\x8b\x70\
+\xf2\xec\x18\x31\x61\x21\x81\x7e\xa5\x36\x6d\xad\x2a\xd6\xb8\x64\
+\xa6\xad\xaf\x73\x3b\xeb\x20\x3a\x9a\xaf\x7e\x57\x99\x73\x18\x92\
+\xbb\x21\x00\xf6\x1d\x73\x0d\x7a\x0d\x9b\xdc\xf4\xf7\x27\xe7\x04\
+\xf2\xd3\x0e\x2a\xf7\xab\x5f\xe7\x8f\x35\xe4\xaa\xad\x52\x8c\x83\
+\xe3\x3b\xd6\x8b\x67\xc0\x4c\xe1\x6c\x5b\x1f\xb5\x5a\xdd\x6c\xc3\
+\x7e\x49\x92\x20\x08\x82\xdf\x72\x59\x96\x9b\x9c\xef\x79\x5d\x73\
+\x1d\x06\xc8\xb2\x8c\xa8\xa8\x28\x58\x2c\x96\x76\xeb\x0c\x60\xcb\
+\x96\x2d\x58\xb0\x60\x01\x22\x23\x23\x79\x01\x23\x22\x86\x19\x22\
+\xba\xbc\x6d\xd8\xb0\x01\x92\xd4\xb6\xff\xe6\xfb\x86\x19\x8d\x46\
+\x79\x99\x11\xeb\xaa\xdb\x6d\x9f\xb4\xa6\x60\xb8\x6a\xab\x5a\x5d\
+\x2f\x20\x38\x1c\x43\xa7\xdd\x86\x21\x93\x6f\x41\x60\x48\xc3\x8d\
+\xdd\x88\x19\xff\x83\x83\x5b\x3f\x84\x24\xd5\x57\xfd\xaa\x2e\x4c\
+\x43\x60\x6c\xbf\x96\x1b\x77\x4b\x6e\xc8\x92\xbb\xd5\x50\xf6\xf3\
+\xe1\x53\x98\x3c\x66\x20\x12\x62\x94\x6d\x60\x82\xcd\x26\xcc\xb8\
+\x6a\x28\x66\x5c\xd5\x72\x8f\x6e\x55\xd6\x5a\xbc\xfd\xc9\xb7\xde\
+\x73\xde\x54\xd7\xcb\x65\x6d\x0c\x25\x8d\xab\xa7\xb5\xf5\x75\x2d\
+\x95\xca\x38\xad\x15\xb0\x95\xe6\x78\xa7\xf5\xc6\x40\x4c\x9d\xff\
+\x44\x93\xeb\x66\x1d\xfe\x01\x5f\xbe\xf5\x94\xe2\xc6\x5e\xd0\xea\
+\xa1\x35\x05\x75\xfa\xf7\xd8\xde\xa8\x7b\xe9\xb0\xb0\x30\x04\x04\
+\x04\xc0\x60\x30\xc0\x60\x30\x40\xa3\xd1\x78\x7b\x35\x6b\x1c\x4a\
+\xda\xd2\x6b\x59\x4b\xcf\x82\x20\x34\xdb\x1b\x9a\x27\x1c\x25\x26\
+\x26\x22\x33\x33\xb3\x5d\x8e\x55\x14\x45\xac\x5f\xbf\x1e\x8f\x3d\
+\xf6\x18\x2f\x60\x44\xd4\x6d\xb1\x9a\x19\x11\xb5\xaa\xb6\xb6\x16\
+\x5f\x7d\xf5\x55\xab\x01\xa6\xa9\x40\xd3\x38\xcc\xb8\xea\x6a\xda\
+\x6d\xbf\x64\xc9\x8d\xda\xb2\xd3\x8a\x9b\xca\xa6\x82\x88\xad\xca\
+\x82\xf2\x82\x6c\x98\x82\xc2\x14\xf3\xcd\x61\x57\xa0\xcf\xe8\x19\
+\xde\x69\xb7\xc3\x76\x76\x84\xfb\x96\x35\x37\xc2\xbd\x62\x1d\x59\
+\xc6\x7b\x9f\x6d\x47\x61\x69\xe5\x39\x1f\xd7\xff\x67\xef\xbd\xe3\
+\xe3\xa8\xef\xfc\xff\xd7\xd4\xed\xd2\xaa\x58\x96\x2c\x17\xb9\xcb\
+\xbd\x00\x36\x38\x18\x70\xb0\xb1\x09\x10\x88\x21\x70\x70\x39\xda\
+\x25\x01\x42\x49\x2e\x81\xe4\xbe\x21\x90\xbb\x04\xf2\x0b\xb9\x84\
+\x12\x7a\x20\x09\x39\x20\x1c\x84\x12\x43\x00\xdb\x84\x8e\x6d\x6c\
+\x6c\xb0\x31\x58\xb6\xdc\x25\x59\xbd\x6f\x9f\xfa\xfb\x63\x3d\xa3\
+\x99\x2d\x92\x76\xb5\x92\x25\xfb\xfd\x7c\x3c\xf6\xb1\x9a\xba\xbb\
+\x33\xb3\xab\xcf\x6b\xde\xef\xf7\xeb\xad\x6a\x1a\x9e\xf8\xdb\x3f\
+\x6d\x4d\x36\x8b\x0a\xbc\x49\xeb\x19\xb6\xcc\xbd\x91\x3a\x3d\xad\
+\xbb\x5f\x9f\x51\xee\x45\x78\x76\x1c\xfa\x0c\xd6\xf4\xbd\xc5\x17\
+\x7c\x1b\x1e\x7f\x71\xd2\x7a\xdb\xdf\xfe\x3f\xac\x79\xf0\x87\x90\
+\x13\x4c\x1a\x44\x57\xfe\x31\xb9\x96\x83\x4d\x7b\x6d\xd3\x79\x79\
+\x71\x41\x65\xb8\x98\xf1\x3c\x6f\x3e\x73\x1c\x07\x41\x10\x4c\x81\
+\x93\xf8\x6c\x3c\xd2\x2d\x4f\x7c\xee\x6d\x7f\xa2\x28\x82\xe7\x79\
+\x8c\x19\x33\x06\xa2\x28\xe6\xec\xf3\xbe\xf1\xc6\x1b\x76\x6b\x74\
+\x82\x20\x08\x12\x33\x04\x41\x9c\x68\xbc\xf9\xe6\x9b\x08\x87\xfb\
+\xee\x93\x92\x98\x62\xa6\x69\x9a\xad\x67\x07\x00\x04\x1a\xaa\x73\
+\xf6\xbe\x3a\x0f\x6f\xb7\xd8\xfd\x02\x63\xc7\x8e\xc5\xb2\x65\xcb\
+\x30\x73\xe6\xcc\x24\x11\xb5\x67\xf3\x3a\xbc\xf1\xe8\x7f\x9a\x51\
+\x18\x83\x85\x2b\xff\xd5\xfe\xfe\xea\xf7\xe4\x44\xcc\x00\x40\x73\
+\x5b\x17\xee\x79\xf2\x15\x6c\xfd\xb2\xff\x77\xda\x8f\x34\xb7\xe3\
+\xfe\xbf\xfc\x03\xfb\x6b\xec\x8d\x46\x0b\xf3\x7c\x49\x62\xc9\x6a\
+\x00\x90\x8e\xd4\xe9\x69\x7d\x6f\x17\x0b\xb4\x22\x9d\x69\x42\xa4\
+\xbd\x1e\x31\x8b\x2b\x5c\x5e\x51\x19\x16\xac\xb8\x3c\xe1\x5a\xd0\
+\xf0\xfe\x73\xbf\xc3\x3b\xcf\xdc\x63\x3b\x47\xe6\xfe\x83\x6d\xd0\
+\x35\x75\x48\xaf\x63\x4d\x95\xd1\x71\x60\x5b\x8f\xd0\xe3\x38\xf8\
+\xfd\xfe\x24\x27\x33\xab\x38\x1f\xea\x3a\x1a\x96\x65\x31\x6e\xdc\
+\xb8\x9c\xed\x4f\x92\x24\xbc\xf9\xe6\x9b\xf4\x23\x46\x10\x04\x89\
+\x19\x82\x20\x4e\x4c\x34\x4d\xc3\xcb\x2f\xbf\xdc\xef\xf5\x13\x05\
+\x8d\x71\xf7\xda\x20\xd8\xb8\x17\xc1\xc6\x7d\x39\x79\x6f\xad\x7b\
+\x36\xda\xa6\xc7\x8c\x19\x83\x40\x20\x80\xc2\xc2\x42\x9c\x7e\xfa\
+\xe9\x49\xb5\x02\xd5\x5b\xff\x99\x24\x68\xca\x26\xcd\x41\xd9\x94\
+\xb9\xb6\x41\xbc\xd5\x9d\x6b\x20\x62\x06\x88\x37\xcc\xfc\xe3\x8b\
+\x6f\xe3\xd9\x7f\x7c\x80\xfd\xb5\x8d\xd0\xb5\x34\x02\x21\x2a\xe1\
+\x6f\x6b\x37\xe2\xee\xc7\x5f\xc2\xbe\x04\x21\x03\x00\xfb\x2c\xb6\
+\xcb\x00\x70\xf8\x48\x33\xd4\x7e\xa4\xfd\x15\xa5\xb0\x65\x6e\xed\
+\xe8\x3d\x35\x4f\xd7\x54\xc8\x96\x22\xf9\xc4\xf3\xdb\x79\xe8\x33\
+\xdb\xbc\xd3\x2f\xb9\x19\x1c\xdf\x13\x4d\x50\xa4\x18\x5e\x7b\xe8\
+\x56\x6c\x5b\xff\x4c\xd2\x40\xdd\xfa\x1a\xb9\xba\x0e\xfa\x2d\x7e\
+\x0f\x6d\xb7\x19\x38\x8c\x1e\x3d\x1a\x40\xbc\x58\xde\x10\x34\xc6\
+\xb5\x7b\x2c\x29\x2b\x2b\xb3\x7d\x67\x06\xca\xba\x75\xeb\xe8\x87\
+\x8c\x20\x88\xe3\x16\xaa\x99\x21\x08\xa2\x57\x3e\xfa\xe8\x23\x34\
+\x36\x36\xf6\x29\x60\x52\x09\x1a\xe3\x4e\x77\x61\x61\x21\x9a\x9a\
+\x7a\xee\xe4\x37\x6c\x7f\x03\x53\xce\xb9\x71\x40\x66\x00\xba\x26\
+\x1f\x75\x2a\x8b\xe3\x70\x38\xe0\xf7\xfb\xd1\xd4\xd4\x04\x59\x96\
+\x21\x8a\x22\x16\x2e\x5c\x88\xfd\xfb\xf7\xdb\x9a\x7c\x56\x6f\xfd\
+\x27\xf0\xd8\xff\xc3\xf9\x37\xdc\x63\xba\xa1\x9d\x74\xce\xb7\xf0\
+\x8f\x7d\x3d\xf5\x1e\xc1\xfa\x3d\x70\x4c\x5f\x92\x5e\xcc\xa8\x52\
+\xe6\xc7\x71\xdb\x6e\x7c\xb4\x6d\x37\x5c\x0e\x07\x2a\x27\x8d\xc1\
+\xc4\xb1\xa3\x11\x08\x85\xd1\xda\x11\x40\x6b\x7b\x37\x9a\xda\xbb\
+\x20\xc9\xe9\x0b\xbf\x77\xed\xaf\xc5\x4f\x7e\xf7\x34\x8a\x0b\xf3\
+\xe0\xf7\xba\x71\xa0\xae\xb9\x5f\xaf\x9b\xe7\x75\xa5\x10\x33\xbd\
+\x47\x66\xa4\x50\x07\x74\x3d\xb5\x50\x0a\x36\xee\xb3\xa5\x9f\x8d\
+\xae\x98\x89\xca\xc5\xab\xcc\x69\x55\x91\xb0\xe6\xf7\x3f\xc0\xe1\
+\x2f\x3f\xb6\x6d\x37\x7a\xf4\x68\x8c\x1b\x37\x0e\x5b\xb7\x6e\x35\
+\xe7\xb5\xed\xdd\x04\xdf\x98\xe9\x43\x74\x25\xeb\x68\xdb\xbb\xc9\
+\x36\xa7\xa4\xa4\x04\xb1\x58\x0c\xd1\x68\x14\x3c\xcf\x9b\x29\x8a\
+\xd6\x5a\x2f\xa3\x6e\xc6\x78\x36\xae\xef\x4c\xeb\x66\x52\x6d\x6f\
+\xfd\xbe\x24\xae\x5f\x5a\x5a\x8a\xda\xda\xda\x9c\x7c\xf2\xfa\xfa\
+\x7a\xec\xdc\xb9\x13\x73\xe6\xcc\xa1\x1f\x34\x82\x20\x48\xcc\x10\
+\x04\x71\x62\xd1\x97\x1d\x73\x2a\x11\x93\x18\x9d\xf1\x78\x3c\x10\
+\x45\x11\x92\x14\x17\x01\xd1\xce\x46\x34\x7f\xf9\x0e\x46\xcf\x59\
+\x91\xf5\xfb\x6a\xdc\xf1\x56\xdc\x87\xf8\x28\x65\x65\x65\x90\xe5\
+\x1e\x67\x2d\x49\x92\xd0\xd2\xd2\x82\x09\x13\x26\x00\x80\x5d\xd0\
+\x7c\xf2\x16\x36\x95\x4f\xc6\x69\x17\x5e\x07\x00\x98\x7a\xd2\xd9\
+\xc8\x2b\x2a\x43\x77\x5b\x03\x00\x20\xdc\x56\x03\x7f\x6c\x3e\x38\
+\x87\x3b\xb5\x98\x51\xa4\xac\xdf\x77\x24\x16\xc3\x67\x55\x07\xf1\
+\x59\xd5\xc1\x2c\xb6\x95\x50\xdb\xd0\x8a\x4c\x86\xb8\x7b\x0e\xd6\
+\xe3\xd0\x91\x66\x8c\x2f\x2b\x06\xcb\xb2\xa8\x6d\x6c\x43\x67\xa0\
+\x77\x31\x23\x87\x53\xd7\xf9\xe8\x8a\x82\xee\xda\x9d\xb6\x79\x67\
+\xfe\xcb\x0f\x4d\x51\xa8\x69\x2a\xfe\xf1\xc8\x4f\x92\x84\x4c\x45\
+\x45\x05\x2a\x2b\x2b\x4d\xd1\x19\x8b\xc5\x1d\xe1\x82\xcd\x07\xfa\
+\x65\xa6\x90\x0b\xda\xaa\x37\x21\xda\xd9\x23\x7e\xdd\x6e\xb7\xd9\
+\x07\xc9\x28\xcc\x97\x65\x19\xd1\x68\x14\x0e\x87\x03\x0c\xc3\x98\
+\x29\x92\xd9\x14\xf4\x27\x2e\x4f\x25\x5c\x7a\xdb\xde\xe5\x72\x25\
+\x09\xa6\x81\xb0\x76\xed\x5a\x12\x33\x04\x41\x90\x98\x21\x08\xe2\
+\xc4\xa2\xaa\xaa\x0a\x5f\x7e\xf9\x65\xbf\x85\x4c\x3a\x51\xa3\x69\
+\x1a\x7c\x3e\x9f\xad\x10\xb9\x65\xd7\xfb\xf0\x8d\x99\x01\x77\xd1\
+\xd8\x8c\xdf\x97\x2a\x45\x92\xee\xb2\x97\x95\x95\x25\xd5\xf5\x68\
+\x9a\x86\xb6\xb6\x36\x8c\x1f\x3f\x3e\x49\xd0\x6c\x5a\xf3\x38\x46\
+\x57\xcc\xc0\xa4\x79\x67\x80\x61\x59\x2c\x58\x7e\x39\xde\x7f\xfe\
+\x5e\xf3\xfd\x07\x1a\xaa\xe1\xaf\x98\x3f\x20\x31\x93\xe7\x75\xc1\
+\x21\x8a\xe0\x39\x06\x2c\xc3\x82\x65\x19\x70\x1c\x0b\x80\x89\xa7\
+\x36\x69\x3a\x54\x4d\x3b\x9a\xe6\xa4\x43\xd5\xac\xcf\x1a\x14\x4d\
+\x4b\x9b\x96\xd6\x5f\xba\x02\x61\xdc\xf3\xe4\xdf\xc1\xb0\x0c\xfc\
+\x5e\x37\xba\x02\x61\xf4\x36\x3e\xd6\x94\x58\xda\x5e\x3a\x5d\x75\
+\x5f\x42\x95\x7b\xac\xa9\x27\x2f\x38\x13\x63\xa7\x9f\x74\xf4\x98\
+\x69\x58\xfb\x87\x9f\x61\xff\x67\xef\xd9\xb6\x99\x31\x63\x06\x2a\
+\x2a\x2a\xcc\xe9\xd2\xd2\x52\x1c\x3e\x1c\x37\x6d\xd0\x55\x05\x81\
+\xfa\x3d\xc8\x1b\x3b\x73\x50\xaf\x63\x29\xd4\x81\xc6\xcf\xd7\xdb\
+\xe6\xe5\xe7\xe7\x43\x55\x55\xe8\xba\x0e\x45\x51\xa0\x1d\x3d\x0f\
+\x1c\xc7\x41\x51\x14\xf0\x3c\x0f\x55\x55\x6d\xa6\x12\x89\x75\x34\
+\xea\xd1\x06\xa8\x89\xf3\xd3\x2d\x4f\xfc\xae\xf4\xb6\x3d\xcb\xb2\
+\x18\x3d\x7a\x74\x9f\x51\xd1\xfe\xf2\xfe\xfb\xef\xe3\xe6\x9b\x6f\
+\x86\xd3\xe9\xa4\x1f\x36\x82\x20\x48\xcc\x10\x04\x71\x62\x90\x4d\
+\xe1\x70\x2a\x13\x00\x5d\xd7\x21\x08\x02\x3c\x1e\x8f\xd9\x44\x53\
+\xd7\x35\xd4\x7d\xfc\x02\xa6\xac\xba\x19\x2c\x97\x59\x7d\xc0\xe1\
+\x0f\x9f\xb6\x15\x8f\x7b\xbd\x5e\xf8\x7c\x3e\x34\x37\xa7\x4e\xbd\
+\xea\xe8\xe8\xc0\xc4\x89\x13\x11\x8b\xc5\x7a\x52\x77\x74\x1d\x6f\
+\x3e\x7e\x3b\xae\xf8\xf9\xb3\x28\x18\x3d\x1e\xb3\xcf\xfc\x06\x36\
+\xad\x79\x1c\x52\x34\xfe\xfe\x82\x4d\xfb\x91\x3f\x6e\x36\x18\x8e\
+\x4f\x31\xe0\x97\x11\x2f\x8e\xef\xbd\x5b\xfb\xb5\xab\xcf\xc6\xf4\
+\x89\x03\x6b\x0c\xa9\xeb\x80\xaa\xa9\x08\x86\xa2\x68\xeb\x0a\xa0\
+\xa3\x2b\x84\xb6\xce\x00\xda\xbb\x02\x68\xeb\x0a\xa1\xbd\x33\x80\
+\xb6\xce\x40\xaf\x29\x6a\x00\xa0\x6b\x3a\x3a\xba\x43\xfd\x18\xf8\
+\xa7\xae\xa7\x51\xa3\x61\x04\x1a\x7a\xcc\x11\x58\x96\xc3\x19\x97\
+\xfe\xc0\x9c\xfe\xe7\x5f\xee\xc6\xee\xcd\x6b\x6d\xdb\x54\x56\x56\
+\xda\x84\x4c\xa2\x98\x01\x80\x96\xaa\xf7\x07\x59\xcc\xe8\x38\xb2\
+\xe5\x65\x9b\x00\x75\x3a\x9d\x70\x38\x1c\xb6\x5e\x48\x89\x3d\x91\
+\x12\x53\xc1\x86\x1a\x5d\xd7\xe1\xf7\xfb\xd1\xdc\xdc\xdc\x6f\x4b\
+\xf4\xde\x88\x44\x22\xf8\xe0\x83\x0f\x70\xce\x39\xe7\xd0\x0f\x1b\
+\x41\x10\x24\x66\x08\x82\x38\xfe\xd1\x34\x0d\x1b\x36\x6c\xc8\x78\
+\x00\x96\xf8\xb7\xd5\xa2\x39\x2f\x2f\x0f\x91\x48\xc4\x1c\x9c\xc5\
+\x02\xad\x68\xda\xb1\x0e\x65\x0b\xcf\xef\xf7\x6b\x04\x1a\xaa\x6d\
+\xfd\x4d\x00\x60\xd6\xac\x59\xbd\xa6\xe3\xe8\xba\x8e\xf6\xf6\x76\
+\x54\x56\x56\xa2\xbb\xbb\x1b\x5d\x5d\xf1\x01\x7b\x2c\x12\xc4\x6b\
+\x0f\xfe\x08\x57\xfc\xfc\x59\x38\x5c\x5e\xcc\x5a\xfa\x75\x7c\xf6\
+\xd6\x73\x47\x05\x8b\x84\x60\xf3\x41\xf8\xca\xa6\xa6\x1c\x20\x6b\
+\x8a\x0c\x96\xef\xdd\x42\xd7\x21\x0e\xfc\x27\x96\x61\x00\x9e\xe3\
+\xe0\xcf\xf3\xc4\x2d\x96\xd3\x18\x5d\x05\x23\x51\x74\x74\x06\xd1\
+\xd6\x15\x8c\x0b\x9d\x8e\x20\x8e\x34\xb7\xa1\xa6\xa1\x15\x91\x68\
+\xff\xd3\xe2\xd2\xa5\x98\x75\xd6\x6c\xb7\x09\xc8\x39\x67\x5d\x8c\
+\x82\xd2\xb8\x50\x79\xef\xb9\xdf\x62\xe7\xfb\x76\x93\x88\xa9\x53\
+\xa7\x62\xe2\xc4\x89\x49\xfb\x29\x28\x28\xb0\xa5\x9a\x85\xdb\x6a\
+\x11\xed\x6c\x80\xd3\x5f\x36\x28\xd7\x71\xeb\xee\x8f\x10\x6c\xda\
+\x6f\x39\x9e\x0c\x7c\x3e\x5f\x52\xf4\x70\xb8\x52\x52\x52\x92\xb3\
+\xe8\xcc\xda\xb5\x6b\x49\xcc\x10\x04\x41\x62\x86\x20\x88\x13\x83\
+\x1d\x3b\x76\xa0\xb3\xb3\x33\xab\x6d\x53\xd5\xce\x38\x1c\x0e\x84\
+\xc3\x61\x78\x3c\x1e\x04\x02\x3d\xfd\x51\x5a\xab\x37\x21\x6f\xec\
+\x4c\x78\x4a\x26\xf5\x63\xc7\x1a\x6a\x37\x3d\x6f\x9b\x35\x6e\xdc\
+\x38\x14\x16\xc6\xfb\xc7\xe4\xe7\xe7\x9b\x42\x25\x11\x55\x55\xd1\
+\xd9\xd9\x89\x05\x0b\x16\x60\xe3\xc6\x8d\x66\xfd\x4e\xeb\x91\x7d\
+\xd8\xf4\xf7\xc7\xb0\xf4\x9b\xb7\x60\xe1\x8a\x2b\xb0\xfd\x9f\xcf\
+\x9b\xc5\xef\xc1\x86\x3d\x69\xc4\x4c\xdc\xe6\xb7\x2f\x31\xc3\x73\
+\x3c\x24\x59\x81\xac\x28\x50\x14\x0d\xb2\xa2\x42\x56\x14\x68\xba\
+\x0e\x81\xe3\xc0\xf1\x2c\x04\x8e\x07\xcf\xb3\xe0\x39\x0e\x02\xc7\
+\x81\x61\xb3\x8b\x06\x78\x5d\x4e\x78\x5d\x4e\x8c\x4b\x68\xd2\xa9\
+\xeb\x40\x4b\x7b\x17\x0e\xd7\xb7\xe0\x70\x7d\x2b\xaa\x0f\xd7\xa3\
+\xb6\xa1\x35\xf5\x31\x92\x22\xd0\x94\x58\xd2\x7c\x29\xd8\x8e\x50\
+\x4b\x8d\x39\x2d\x3a\x3d\x58\x72\xd1\xf5\x00\x80\x8d\xaf\x3c\x82\
+\x4f\xd7\x3f\x6b\x5b\x7f\xd2\xa4\x49\x98\x32\x65\x4a\x1a\x71\xc6\
+\xa0\xa2\xa2\x02\x7b\xf6\xf4\x44\x79\x6a\x3f\xfe\x1b\xa6\xae\xba\
+\x25\xe7\xd7\x70\xf7\x91\xdd\x68\xd8\x61\x8f\x16\x19\xb5\x28\xc6\
+\x83\x65\x59\xf3\x19\xe8\xe9\x37\x63\xd4\xcb\x70\x1c\x67\x2b\xe0\
+\xb7\x36\xb8\x4c\x7c\xce\x76\x79\xba\x06\x9a\x9a\xa6\xa1\xa8\xa8\
+\x08\x0d\x0d\x0d\x39\x89\x12\x7d\xfe\xf9\xe7\x68\x68\x68\x40\x59\
+\x59\x19\xfd\xc0\x11\x04\x41\x62\x86\x20\x88\xe3\x9b\x0f\x3e\xf8\
+\x20\x6b\x21\x93\x88\xd1\x59\x5d\x92\x24\x88\xa2\x68\x33\x03\x00\
+\x74\xd4\x6e\x7e\x11\xd3\x56\x7d\x1f\xac\xe0\xe8\x6d\xcf\xd8\xff\
+\xf6\x13\xb6\x7a\x0e\x87\xc3\x61\x16\x96\x03\xf1\xa2\x6e\xc3\x9d\
+\x2a\x15\x46\x81\xf7\xfc\xf9\xf3\xf1\xc9\x27\x9f\x98\xef\x75\xdb\
+\xda\xff\xc5\xf4\x45\x2b\x50\x32\x61\x06\x26\x2f\x38\x13\xfb\x3e\
+\x7d\x37\xbe\x7e\x24\x80\x48\x7b\x3d\x5c\x85\xc9\xa9\x62\xba\xaa\
+\xf4\x79\x2c\xee\x7e\xfc\xc5\x8c\x8f\x1f\xc3\x32\x10\x38\x0e\x3c\
+\xc7\x81\x37\xc4\x8e\xc0\x21\xdf\xeb\x42\x71\x41\x3e\x8a\xfd\x5e\
+\x14\xf9\xf3\x50\x54\xe0\xc5\xa8\x82\x7c\xf8\x3c\x2e\xf4\x36\xce\
+\x65\x18\xa0\xa4\x28\x1f\x25\x45\xf9\x38\x65\xce\x14\xec\xda\x57\
+\x8b\x07\x9f\x4d\x9d\x3e\x98\x2e\x2a\x13\xa8\xdf\x0d\x6b\xcf\x99\
+\x53\xce\xbb\x06\x2e\x5f\x01\x76\x7f\xfc\x26\x3e\x7e\xf5\x09\xdb\
+\xba\x13\x26\x4c\xc0\xf4\xe9\xbd\x3b\x94\x55\x54\x54\xa0\xa6\xa6\
+\x06\x91\x48\xfc\x5c\x46\x3b\x1b\xd1\x55\xf7\x25\xf2\xc7\xce\xca\
+\xd9\xf5\x1b\xed\x6c\x40\xed\xa6\xff\xb3\x99\x44\xf0\x3c\x0f\xa7\
+\xd3\x09\x41\x10\x20\x8a\x22\x9c\x4e\x27\x5c\x2e\x17\xbc\x5e\x2f\
+\xbc\x5e\x2f\x3c\x1e\x8f\x99\x82\x66\x34\xcf\x34\x04\x4e\xaa\x02\
+\x7f\xab\x40\xcb\xc4\xe1\xac\xaf\xed\x12\x29\x2e\x2e\xce\x49\xe3\
+\x4b\x5d\xd7\xb1\x6e\xdd\x3a\x5c\x7d\xf5\xd5\xf4\x03\x47\x10\x04\
+\x89\x19\x82\x20\x8e\x5f\x74\x5d\xc7\x47\x1f\x7d\x94\x93\x7d\x19\
+\x69\x3d\xb1\x58\xcc\xbc\x03\xee\x70\x38\x20\xcb\xb2\x39\x80\x93\
+\x43\x9d\xa8\xff\xf4\x1f\x18\xbb\xf8\xe2\xb4\xfb\x39\xf0\xee\x9f\
+\x10\x6e\x3d\x6c\x9b\x37\x6b\xd6\xac\xa4\xe6\x98\xf9\xf9\xf9\x90\
+\x65\xd9\x2c\xae\x4e\x1a\xe4\x46\xa3\xf0\x7a\xbd\x98\x30\x61\x02\
+\x0e\x1d\x3a\x04\x20\xee\xc2\xb5\xee\x4f\xff\x8d\x7f\xfd\xf9\xb3\
+\x58\x78\xce\xb7\x4c\x31\x03\xc4\x1d\xb7\xb2\x15\x33\x59\x1d\x7b\
+\x4d\x87\xa4\x29\x49\x35\x30\x4d\xad\x9d\xa8\x3e\xd4\x90\xb4\xbe\
+\x20\x70\x28\xf6\xfb\x50\x94\xef\x43\x71\x61\x1e\x8a\xfc\x3e\x14\
+\x17\xe4\x61\x54\x81\x0f\xa3\x8b\xfd\xe0\x13\x9a\x96\x46\x63\x72\
+\xda\xd7\x56\xa2\xc9\x2e\x67\xaa\x1c\x43\xb8\xb5\xc7\x3f\xcd\xeb\
+\x1f\x85\x93\xce\xf9\x16\xda\x8e\xec\xc7\x5b\x4f\xfd\xd2\xb6\x6e\
+\x79\x79\x39\x66\xce\xec\xbb\xfe\x85\x65\x59\x4c\x9f\x3e\x1d\xdb\
+\xb7\x6f\x37\xe7\x1d\xd9\xf2\x32\xf2\xc6\x54\xe6\xc4\xd9\x4c\x0e\
+\x77\xe1\xd0\x07\xff\x6b\xab\x93\x61\x59\x16\x4e\xa7\xd3\xbc\x06\
+\x39\x8e\x03\xcf\xf3\xe6\xc3\xe8\x87\x24\x08\x02\x78\x9e\x07\xc7\
+\x71\xe0\x38\xce\x66\x00\x70\xac\x28\x2d\x2d\xcd\x89\x98\x01\x80\
+\xf5\xeb\xd7\xe3\xaa\xab\xae\x3a\xe6\x9f\x89\x20\x08\x82\xc4\x0c\
+\x41\x10\x83\xc6\xce\x9d\x3b\xd1\xde\xde\x9e\xb5\x78\xb1\x3e\x8c\
+\xbb\xdf\xb2\x2c\x9b\x29\x3d\x0c\xc3\x40\x14\x45\xb3\x6e\x02\x00\
+\x3a\x0e\x6e\x43\xde\xd8\x59\xc8\x2b\xaf\x4c\x1c\xde\x63\xff\x5b\
+\x8f\x21\xdc\x56\x9b\x34\xc0\x33\x9a\x1e\x26\x0e\x94\x0b\x0b\x0b\
+\xd1\xda\xda\x9a\xf6\x6e\x77\x30\x18\xc4\xc4\x89\x13\xd1\xd4\xd4\
+\x64\x46\x07\x5a\x6a\xf6\x60\xeb\x9b\xff\x8b\x45\xe7\x5d\x83\xfc\
+\x51\xe5\xe8\x6a\x39\x92\x76\x80\x1f\x17\x40\xca\xb0\x38\x57\xb2\
+\xac\xa2\xa1\xa5\x13\x0d\x2d\xc9\x51\x15\x8e\x65\x51\x3a\xaa\x00\
+\x63\x47\x17\x62\x6c\x69\x11\xc6\x95\x16\xa1\xad\x2b\xf5\xe7\xd1\
+\x55\x05\xaa\x9c\x1c\xd1\x0a\x35\x1f\xb4\xf5\x9c\x99\x73\xd6\xc5\
+\xd0\x34\x05\xaf\x3e\x74\x2b\xe4\x58\x4f\x94\xac\xa8\xa8\x28\x23\
+\xeb\xdf\xb2\xb2\x32\x1c\x3e\x7c\x18\x1d\x1d\xf1\xe6\x9c\xaa\x14\
+\x41\xe3\x8e\x75\x28\x5b\xf0\xb5\x01\x1d\x0f\x29\xd4\x81\x83\xef\
+\x3c\x09\x39\xdc\x65\xbb\x26\x05\x41\x30\x53\xc8\x0c\x31\x63\x3c\
+\x1b\x7f\x5b\x85\xcb\x70\x1a\xec\x17\x15\x15\x41\x10\x04\x9b\xf5\
+\x78\xb6\x34\x35\x35\xe1\xb3\xcf\x3e\xc3\xc2\x85\x0b\xe9\x87\x8e\
+\x20\x88\xe3\x02\x96\x0e\x01\x41\x10\x89\x64\x9b\x62\x66\x1d\x00\
+\x1a\x03\xc3\x82\x82\x02\xdb\x20\xd2\x3a\x98\xe4\x12\xa2\x06\x47\
+\x3e\x79\x19\x4a\xac\xc7\x71\x4b\x55\x62\xa8\x7e\xe3\xfe\x24\x21\
+\xe3\xf3\xf9\x30\x6b\x56\xfa\x94\x24\x9e\xe7\x51\x58\x58\xd8\xeb\
+\x80\x34\x10\x08\x60\xf6\xec\xd9\xb6\x79\x1f\xaf\x79\x0c\x1d\x8d\
+\x87\xe1\xf6\x15\xf6\x0c\xf2\xd3\xd8\x30\x0f\x56\x64\x26\x97\xa8\
+\x9a\x86\x23\x4d\x6d\xd8\xfc\xf9\x5e\xbc\xb4\xfe\x63\xdc\xff\xbf\
+\xaf\xe3\xe5\xb7\x3e\x4e\xb9\xae\xf5\xb8\xdb\x84\x5f\x63\x8f\x9d\
+\x35\xc3\xb2\x98\x73\xc6\x37\xb0\xfe\x4f\xff\x8d\x8e\xc6\x43\xe6\
+\x7c\xa7\xd3\x89\xf9\xf3\xe7\x67\x2c\x00\xac\x29\x82\x00\xd0\x5a\
+\xbd\xc1\x26\x42\x32\x25\x16\x68\xc5\x81\xb7\xff\x00\x29\xd4\x61\
+\x17\x75\x16\xc1\x62\xfc\x6d\x44\x66\xac\xcb\x12\x05\xcd\x70\x81\
+\x61\x18\x94\x94\x94\xe4\x6c\x7f\x6f\xbd\xf5\x16\xfd\xc8\x11\x04\
+\x41\x62\x86\x20\x88\xe3\x13\x5d\xd7\xf1\xe1\x87\x1f\x0e\x68\xe0\
+\x65\x2d\xae\xce\xcf\xcf\xb7\xa5\xf3\x58\x07\x8e\xd6\xae\xeb\x40\
+\x3c\x0a\x52\xbf\x75\x0d\x74\x4d\x45\xcb\xae\xf7\xb1\xfb\x95\x5f\
+\x21\xd6\xdd\x62\xdb\xff\xa8\x51\xa3\x70\xea\xa9\xa7\x42\x14\x7b\
+\x2f\xbe\x17\x45\x11\x05\x05\x05\x69\x97\x2b\x8a\x02\x51\x14\x31\
+\x76\x6c\x4f\x9f\x1b\x45\x96\xb0\xfe\xcf\xbf\x80\xe8\xf2\x98\xf3\
+\xd2\x45\x60\x74\x4d\x39\xae\xce\x7b\xaa\x08\x54\xb4\xb3\x11\x4a\
+\xb4\xc7\xac\x61\xd2\xbc\x33\xb0\xe7\x93\xf5\xa8\xfe\xe4\x2d\xdb\
+\xf9\x5e\xb0\x60\x41\x9f\xe7\x23\x15\x7e\xbf\xdf\x5e\x8c\xae\xeb\
+\xd8\xbb\xf6\xf7\x69\xfb\xdc\xf4\x46\xb4\xab\x09\x07\xde\xfe\x43\
+\x92\x18\x4a\x14\x2b\x89\xe9\x65\x89\x82\xc6\x7a\xfd\x0e\x27\x4a\
+\x4b\x4b\x73\xb6\xaf\x2d\x5b\xb6\x0c\x6b\x07\x37\x82\x20\x88\x4c\
+\xa0\x34\x33\x82\x20\x6c\xec\xda\xb5\x0b\xad\xad\xad\x59\x89\x18\
+\x63\x80\x64\x0c\x06\x7d\x3e\x9f\x4d\xd8\x58\x1f\xc6\x7c\xa3\x49\
+\xa1\x41\x57\xed\x17\xe8\xae\xdf\x9d\x32\xf2\x31\x7e\xfc\x78\xcc\
+\x9c\x39\xb3\xdf\x03\x4d\x87\xc3\x01\xbf\xdf\x9f\xd6\x95\x2d\x14\
+\x0a\x61\xd2\xa4\x49\x68\x69\x69\x31\x53\xde\x8e\x54\x7f\x8a\x92\
+\x09\x3d\x05\xec\xba\x92\x3a\xb5\x47\x53\x8f\x33\x31\x13\x4b\x16\
+\x33\xd6\xa8\x0c\x00\x94\x4f\x5d\x80\x0f\x9f\xbf\xdf\x36\x6f\xc6\
+\x8c\x19\xf0\xfb\xfd\x59\xbf\xee\xf4\xe9\xd3\xd1\xdc\xdc\x6c\xd6\
+\x38\xa9\x52\x04\x7b\xd7\xfe\x1e\xd3\xbe\xf6\x03\xb0\xbc\xa3\x5f\
+\xfb\x88\xb4\x1f\xc1\xc1\xf7\xff\x0c\x35\x66\x6f\x9a\x9a\x78\xad\
+\x25\xa6\x98\x19\xd7\xac\xd1\x30\xd3\xb8\x0e\x75\x5d\x37\xeb\x65\
+\x8c\xeb\xd9\x2a\xf6\x53\x39\x8f\xf5\x55\xe0\x9f\x6a\x7b\x63\xbb\
+\xc4\xf9\xa9\xbe\x53\x3c\xcf\xc3\xed\x76\x27\x35\x86\xcd\x86\xce\
+\xce\x4e\xec\xdf\xbf\x3f\xad\xe3\x1c\x41\x10\x04\x89\x19\x82\x20\
+\x46\x2c\xd9\xa6\x98\x59\x45\x8c\xf1\xf0\x78\x3c\x90\x65\x19\xb2\
+\x2c\x9b\x4d\x09\x53\x59\xe2\x1a\x36\xb4\xe6\x80\x2f\x41\x28\x30\
+\x0c\x83\xe9\xd3\xa7\xa7\xec\x5b\xd2\x17\x2e\x97\x0b\x9a\xa6\xa1\
+\xbb\xbb\x3b\xad\xa0\x99\x39\x73\x26\x3e\xfb\xec\x33\x73\x5e\x6b\
+\xdd\x7e\xcb\xe0\x53\x83\xae\x69\x60\x58\x7b\x20\xdb\xda\x73\x65\
+\xa4\xa3\xa9\xb2\xad\x58\x3e\x2e\x2a\xa2\x88\xb4\xd7\x99\xd3\xbe\
+\xc2\x52\x7c\xba\xfe\x19\x68\x96\xcf\x5d\x56\x56\x86\x09\x13\x26\
+\x0c\xe8\xb5\x5d\x2e\x17\x16\x2e\x5c\x88\x6d\xdb\xb6\x99\xd7\x80\
+\x1c\xee\xc2\xfe\xb7\x1e\xc5\x94\x73\x6e\x4a\xd9\xb4\xd4\x4a\xb8\
+\xb5\x06\x87\xde\x7f\x2a\xa9\xde\x27\x31\x42\x68\x15\x36\x86\x80\
+\x51\x14\xc5\x74\xb8\x63\x18\xc6\x8c\xd6\x19\x22\xdb\x2a\x38\x12\
+\xad\x96\x13\x9d\xc8\x58\x96\x85\xaa\xaa\x69\x9d\xcf\x7a\xdb\xae\
+\xaf\xfd\x1a\xcb\xf3\xf2\xf2\x72\x22\x66\x00\x60\xdb\xb6\x6d\x24\
+\x66\x08\x82\x38\x2e\xa0\x34\x33\x82\x20\x06\x2c\x66\x52\xd5\xca\
+\x30\x0c\x03\xaf\xd7\x6b\xa6\x93\x19\x8e\x51\x89\xa9\x3d\xc6\xdd\
+\xed\x74\xf8\xfd\x7e\x9c\x74\xd2\x49\x59\x09\x19\x03\x8f\xc7\x03\
+\x8f\xc7\x93\x72\x99\xaa\xaa\x70\x3a\x9d\xb6\x34\x9e\xc4\xa8\x8b\
+\x96\xa2\x6e\x46\x3f\x8e\x22\x33\x89\x11\x0d\x20\xee\xe2\x66\x8d\
+\x12\x88\x4e\x37\x82\x9d\x3d\x29\x7f\x5e\xaf\x37\xa3\x82\xff\xde\
+\x28\x2e\x2e\xc6\xbc\x79\xf3\x6c\xd7\x51\xb4\xab\x19\x7b\xd7\x3d\
+\xd4\xab\x68\x0c\x35\x1f\xc0\xc1\xf7\xfe\x94\xd2\xb8\xc0\x10\x02\
+\x89\xe9\x65\xe9\x5c\xcb\xcc\x73\x7d\xf4\x5a\xb4\x3e\xeb\xba\x0e\
+\x55\x55\x6d\xcf\xc6\x7c\xeb\x72\xeb\xfa\xa9\x96\xf7\x36\xbf\x3f\
+\xcb\x07\x12\x01\x4b\x25\x66\x08\x82\x20\x48\xcc\x10\x04\x71\x5c\
+\xb1\x7b\xf7\x6e\x34\x37\x37\x67\xbd\xbd\x31\x18\x65\x59\x16\x3e\
+\x9f\xcf\x1c\x3c\x1a\xbd\x65\x8c\x47\xe2\x40\x92\x4d\x88\x7a\xb0\
+\x2c\x8b\xf2\xf2\x72\x2c\x59\xb2\x04\xa7\x9d\x76\x1a\x46\x8d\x1a\
+\x35\xe0\xcf\x96\x97\x97\x07\x87\x23\x75\xda\x52\x24\x12\xc1\xe4\
+\xc9\x93\x21\x08\x42\xca\xe5\xa9\x52\xca\x74\x5d\xb5\xf5\x30\x19\
+\xc9\x24\x89\x35\x3d\xb1\xf0\x9f\x43\x5b\xfd\x01\x73\x9a\xe3\x38\
+\x2c\x58\xb0\x20\xc9\xc0\x21\x53\x24\x49\x42\x5b\x5b\x1b\x74\x5d\
+\x47\x69\x69\x69\x92\x21\x43\xac\xbb\x19\xbb\x5f\xbd\x07\xb1\xae\
+\xe4\x6b\x32\xd0\x50\x8d\x43\xef\xff\xc5\xf6\xde\xf9\x84\x3e\x45\
+\x46\xa4\x24\xd1\x7e\xd9\xb8\x06\x53\x5d\x87\xc3\xd9\xb2\x98\x61\
+\x98\x9c\x09\x9a\x9d\x3b\x77\x5a\x7a\x3d\x11\x04\x41\x8c\x5c\x28\
+\xcd\x8c\x20\x08\x93\x4d\x9b\x36\xe5\x64\xc0\xa5\x69\x1a\xf2\xf3\
+\xf3\x93\xee\x86\x8b\xa2\x08\x45\x51\xa0\x28\x0a\x54\x55\x35\xef\
+\x3a\x0b\x82\x60\xb3\x69\xce\xcb\xcb\xc3\xdc\xb9\x73\x73\xfe\xf9\
+\xfc\x7e\x3f\x5a\x5b\x5b\x53\xf6\xa0\x89\x46\xa3\xa8\xac\xac\xc4\
+\xce\x9d\x3b\x93\x85\x8b\x9a\x7a\xd0\xa7\x69\x0a\x58\x4e\xe8\xf3\
+\x75\x75\x4d\x85\x14\xea\x84\x12\xed\x86\x1a\x0b\x43\x89\x06\x21\
+\x85\x3b\xa1\x44\x02\x50\xa2\x41\xa8\x52\x14\x9a\x12\x85\x2a\xc7\
+\xa0\xc9\xb1\xf8\x00\x9d\x01\x18\x86\x03\xc3\x72\x60\x38\x1e\x2c\
+\x27\x80\xe1\x05\x08\xce\x3c\x88\xde\x02\x08\x6e\x3f\x04\x77\xfe\
+\xd1\x87\x1f\xa2\x27\x1f\x0c\x9b\xdd\x4f\x7a\xa2\x98\x89\x75\x37\
+\x43\xb5\xb8\x9b\x71\x1c\x0f\xc5\x12\x21\x99\x31\x63\x06\xbc\x5e\
+\xef\x80\x85\x4c\x7b\x7b\x3b\x74\x5d\x47\x47\x47\x07\x0a\x0b\x0b\
+\x31\x76\xec\x58\x28\x8a\x82\xaa\xaa\x2a\x73\x3d\x25\x1a\x44\xf5\
+\xda\x07\x50\x32\xe3\x2c\x94\xcc\x5a\x06\x86\xe3\xd1\x5d\xb7\x0b\
+\x35\x1b\x9f\xb3\x45\x6d\x7c\x45\xa5\x38\xff\xfa\x7b\xf0\xca\xfd\
+\x37\x23\x1a\xea\x3e\x7a\x7e\xe2\xd1\x0d\x9e\xe7\x93\x04\x75\xa2\
+\xa8\xb6\xa6\xa1\x0d\x57\x74\x5d\x47\x7e\x7e\x7e\xda\x1a\xb0\x4c\
+\x8f\xff\x17\x5f\x7c\x41\x16\xcd\x04\x41\x90\x98\x21\x08\xe2\xf8\
+\x61\xd7\xae\x5d\x03\x12\x31\xd6\xb4\xa4\xfc\xfc\x7c\x48\x92\x04\
+\x41\x10\xcc\x02\x6b\xe3\x61\x88\x19\x4d\xd3\xa0\x69\x1a\x04\x41\
+\x80\x24\x49\xe6\xf6\x9d\x9d\x9d\x68\x6f\x6f\x47\x61\x61\x61\x4e\
+\x3f\x5f\x6f\x3d\x68\x54\x55\x45\x7e\x7e\x3e\x8a\x8a\x8a\x92\x1a\
+\x14\xa6\x4b\x29\xd3\x55\x05\xe0\x04\xe8\xaa\x02\x29\xdc\x09\x39\
+\xd4\x81\x58\xb0\x1d\xd1\x8e\x7a\xc4\xba\x5b\x20\x85\x3a\xa1\x4a\
+\xe1\x94\x69\x6a\x7d\x8f\x5c\x01\x1d\x1a\xa0\xca\x80\xc5\x83\x20\
+\xd6\xd5\x0c\x34\xa5\x3c\x01\x10\xdd\x7e\xb8\x0a\xcb\xe1\x19\x35\
+\x11\xee\xe2\xf1\x70\xfa\x4b\xfb\xd5\x84\x32\x49\xcc\x04\xec\x06\
+\x10\x8a\xdc\x23\x34\x0b\x0a\x0a\x30\x6e\xdc\xb8\x9c\x09\x19\x00\
+\x88\xc5\x62\xe8\xea\xea\x42\x7e\x7e\x3e\x2a\x2a\x2a\x20\xcb\x32\
+\xf6\xed\xdb\x67\x1d\xc5\xa3\x79\xd7\xbb\x68\xdd\xf3\x11\xdc\xc5\
+\xe3\x10\x6a\x3e\x64\xeb\x7d\xe3\x2f\x19\x8b\x4b\x7e\xfc\x07\xe4\
+\x15\x95\xe1\xac\xcb\x6f\xc5\xda\x27\xef\xb4\x89\xd4\xbc\xbc\x3c\
+\x53\xc0\x38\x1c\x0e\x38\x1c\x0e\x9b\xa8\x49\x4c\x37\xb3\xd6\xd6\
+\x58\x8b\xf4\x0d\xa1\x6e\x08\x9e\x54\xcb\x13\xd7\x35\x96\x5b\xd7\
+\xcd\x66\xbf\x46\xda\x9b\xdb\xed\x36\xf7\x3b\x50\xb6\x6d\xdb\x46\
+\x62\x86\x20\x08\x12\x33\x04\x41\x1c\x1f\xe8\xba\x8e\xdd\xbb\x77\
+\x0f\x78\x3f\x0c\xc3\xa0\xb8\xb8\x18\xc5\xc5\xc5\x90\x24\x09\x8a\
+\xa2\x20\x1a\x8d\x22\x1a\x8d\x22\x18\x0c\xc2\xe1\x70\x98\x69\x3f\
+\x56\xa7\x29\x63\x3d\xab\xb0\x3a\xed\xb4\xd3\x06\x9c\xca\x94\xf4\
+\xa3\xc7\xf3\xf0\xfb\xfd\x66\xb3\x46\x2b\xc1\x60\x10\x33\x66\xcc\
+\xc0\xc6\x8d\x1b\x6d\x75\x3c\xb1\x60\x1b\x1c\xf9\x3d\x7d\x3e\x18\
+\x96\x07\xe7\x70\xa3\xe3\xc0\x36\xb4\xec\xfe\xd0\x66\x5f\x7c\x0c\
+\x4f\x20\xa4\x50\x07\xa4\x50\x07\xba\x6a\xbf\x30\xde\x29\x78\xa7\
+\x07\x4e\x7f\x29\xfc\x13\xe6\x21\x6f\xec\x2c\x70\x82\xb3\x4f\x31\
+\x23\x05\x3b\xd2\x8a\xc1\x81\xd6\xc9\x18\x42\xc6\x88\x9a\x58\x8f\
+\xbd\x91\x9e\x38\x75\xea\x54\xb8\xdd\x6e\x54\x55\x55\xd9\x1a\x45\
+\x6a\xaa\x8c\x60\xd3\x01\xdb\xfe\x0a\x4a\x2b\xf0\xcd\x1f\x3f\x0e\
+\x6f\x41\xfc\xfc\xcc\xfc\xca\x05\xd8\xb3\x65\x1d\x0e\x7e\xbe\xc1\
+\xbc\xae\x43\xa1\x10\x4a\x4b\x4b\xe1\xf1\x78\xe0\xf3\xf9\xcc\x1a\
+\x2a\xa7\xd3\x69\x0a\x1b\x6b\x53\x4d\xe3\xb3\xa6\x2a\xe4\x4f\x7c\
+\x4e\x14\xf3\xe9\x1c\xce\x32\x79\xee\xcb\x21\x2d\x2f\x2f\x0f\xc1\
+\x60\x30\x27\x62\xe6\x3b\xdf\xf9\x0e\xfd\xf8\x11\x04\x41\x62\x86\
+\x20\x88\x91\xcf\xa1\x43\x87\x06\xec\x94\x64\x0c\xbc\x8a\x8b\x8b\
+\xcd\xc1\xa1\x2c\xcb\xa6\x60\x31\xee\x4a\x1b\x11\x19\x6b\xc4\xc6\
+\xe9\x74\x42\x92\x24\x53\x44\x04\x02\x01\xec\xda\xb5\x2b\x67\x45\
+\xe6\x56\x9c\x4e\x27\xbc\x5e\x6f\xca\x01\xa1\x24\x49\x98\x32\x65\
+\x0a\xaa\xab\xab\xcd\x79\x81\xfa\x3d\x90\x02\x6d\xf1\x54\xb1\x58\
+\x10\x0c\x18\xe8\xd0\x47\x40\xcd\x8c\x0e\x25\x1a\x44\xb0\x71\x5f\
+\xbc\x06\x66\xf3\x4b\x10\x5c\x3e\x78\x4a\x26\xa1\x60\xd2\xc9\xf0\
+\x8e\x9e\x04\xe8\x71\x91\x60\x45\x0e\xa7\x4e\x63\x9a\x34\x69\x52\
+\x5a\x23\x85\xfe\x10\x8b\xc5\xd0\xd1\xd1\x61\x46\xe5\x12\xe9\xec\
+\xec\x84\x2c\xcb\x28\x28\x28\x40\x79\x79\x39\x46\x8d\x1a\x85\x5d\
+\xbb\x76\xa1\xa1\xa1\x21\xe5\xfe\xfc\x25\xe3\x71\xd9\xff\x7b\x12\
+\xee\xbc\x22\xdb\xfc\xe5\x57\xdf\x81\xbf\xdc\x7e\x31\xa4\x48\xc8\
+\x14\x4a\xd1\x68\x14\x25\x25\x25\x70\xbb\xdd\x70\xbb\xdd\x70\xb9\
+\x5c\x70\x3a\x9d\xa6\x90\xb1\xa6\x9a\x19\xd7\xf2\x70\xa5\xa0\xa0\
+\x20\x27\x62\x66\xdf\xbe\x7d\x66\x44\x8c\x20\x08\x62\xa4\x42\x06\
+\x00\x04\x41\x00\x00\xbe\xfc\xf2\xcb\x9c\xed\x6b\xd4\xa8\x51\x29\
+\x5d\xa4\x44\x51\x84\xd3\xe9\x34\x1f\x46\xca\x8f\x51\xbb\xe0\x74\
+\xda\xa3\x06\x75\x75\x75\xa8\xab\xab\x1b\x94\xcf\xeb\xf3\xf9\x52\
+\x1a\x02\x48\x92\x84\xb2\xb2\x32\xf8\x7c\x3e\x73\x9e\x2a\x45\x10\
+\x6e\xab\x8d\x47\x60\x74\x3d\x9e\xe2\x34\x42\x8b\xff\xe5\x48\x00\
+\x9d\x87\x77\xe0\xe0\xbb\x7f\xc4\x17\xcf\xdf\x81\xbd\x6b\x7f\x8f\
+\x50\xd3\x3e\x68\x47\xfb\xe9\xe8\xaa\x02\x39\x92\x6c\x63\xed\xf1\
+\x78\x30\x79\xf2\xe4\xac\x5f\x37\x18\x0c\xa2\xbd\xbd\x3d\xad\x90\
+\x31\x08\x85\x42\x68\x6e\x6e\x46\x38\x1c\x86\x20\x08\x98\x36\x6d\
+\x5a\xca\x86\x9c\x85\x65\x15\xb8\xfc\x8e\xbf\x24\x09\x19\x00\xf0\
+\x15\x8c\xc6\x99\x97\xfd\xd0\x36\xef\xe0\xc1\x83\xe0\x38\xce\x16\
+\x8d\x19\x49\xf5\x32\x89\x62\x26\x27\x52\x57\xd7\x6d\x96\xe4\x04\
+\x41\x10\x24\x66\x08\x82\x18\xb1\x58\x8b\xae\x07\x2a\x12\x8c\x5e\
+\x1d\xa9\xc4\x8c\x21\x60\xac\x62\xc6\x18\x58\x1a\x77\xc9\xad\xec\
+\xda\xb5\x0b\xed\xed\xed\x83\xf2\x99\xfd\x7e\x7f\xca\x01\x6c\x20\
+\x10\xc0\xcc\x99\x33\x8f\xfb\x73\xae\xeb\x1a\xa2\x5d\x4d\x68\xdb\
+\xb7\x05\x75\x9b\x5f\x44\xdd\xe6\x97\xd0\xb6\x6f\x73\xca\x75\xe7\
+\xcc\x99\x93\x55\x9d\x86\x51\xe0\x1f\x08\x04\xcc\x68\x5c\x5f\x48\
+\x92\x84\xce\xce\x4e\x04\x02\x01\x6c\xd9\xb2\xc5\xe6\xba\xc5\xf1\
+\x02\x96\x7c\xe3\x7b\xb8\xf2\x97\x7f\x83\xcb\x9b\xde\xd9\x6b\xce\
+\x99\xab\x31\x7e\xe6\x22\xdb\x3e\xab\xaa\xaa\x6c\xd7\x9b\x55\xcc\
+\x18\xd1\x43\x00\xc3\x5e\xd4\xe4\xe7\xe7\xe7\xa4\x66\x06\x00\xb6\
+\x6e\xdd\x4a\x3f\x7e\x04\x41\x8c\x68\x28\xcd\x8c\x20\x08\x53\x34\
+\xe4\x02\xaf\xd7\x6b\x4b\x17\x33\x9a\x13\x1a\xce\x65\x46\x71\x33\
+\xc3\x30\xe6\x60\xd2\x5a\x80\xed\x70\x38\x6c\x77\xef\x55\x55\xc5\
+\xd6\xad\x5b\xb1\x60\xc1\x82\x9c\x58\x34\x5b\x31\x1a\x11\x76\x75\
+\x75\xd9\xe6\x6b\x9a\x06\x8e\xe3\x30\x7e\xfc\x78\xd4\xd4\xd4\x98\
+\xeb\x1a\x29\x4a\x9a\xa6\x21\x16\x8b\x21\x18\x0c\x26\x19\x09\x8c\
+\x64\x34\x45\x42\xb8\xb5\x26\x69\xfe\xb8\x71\xe3\xb2\x8a\x06\x28\
+\x8a\x82\x8e\x8e\x0e\x28\x8a\x62\x1e\xd7\xfe\x9e\x17\xb7\xdb\x8d\
+\xcf\x3e\xfb\x0c\x91\x48\xc4\x9c\x2f\xba\x3c\xb8\xf8\xd6\x47\x51\
+\x36\xa9\x7f\xa9\x87\xe7\x5c\xf3\x73\xfc\xe5\x67\x97\x40\x8e\xc5\
+\xf7\x71\xf8\xf0\x61\xd4\xd5\xd5\x61\xca\x94\x29\xa6\x11\x85\x91\
+\xf6\x68\x88\x98\x44\x21\x63\xd4\xad\x24\x4e\xf7\x56\x37\x93\x38\
+\xdd\xdb\xf6\xa9\xe6\xa7\xdb\x9f\x75\xbe\xcf\xe7\x4b\xba\x6e\xb3\
+\x81\x22\x33\x04\x41\x90\x98\x21\x08\x62\xc4\x13\x0c\x06\x51\x5b\
+\x5b\x9b\x9b\x1f\x15\x9e\x47\x77\x77\x37\x54\x55\x35\x8b\x99\x0d\
+\x41\xa3\x28\x0a\x62\xb1\x18\x64\x59\x4e\xba\x4b\x6f\xbd\x2b\x9e\
+\xe8\x6e\xa6\xaa\x2a\xb6\x6d\xdb\x86\xf9\xf3\xe7\xdb\x9a\x5b\xe6\
+\x02\xb7\xdb\x8d\x48\x24\x92\xd4\x73\x23\x1c\x0e\x63\xca\x94\x29\
+\x98\x38\x71\x22\xf2\xf2\xf2\xe0\x72\xb9\xcc\xbb\xf8\x46\xad\x4f\
+\x38\x1c\x46\x75\x75\x35\x0e\x1d\x3a\x74\xdc\xf6\xec\x70\x38\x1c\
+\x98\x3e\x7d\x7a\xc6\xdb\x45\xa3\x51\x74\x76\x76\xf6\x6b\x70\x6e\
+\x85\xe3\x38\x78\xbd\x5e\x7c\xf6\xd9\x67\xb6\x1a\x2e\xc1\xe1\xc6\
+\xea\x1f\x3e\xdc\x6f\x21\x03\x00\x79\xc5\x63\xb0\xf4\x9b\xb7\xe0\
+\x9d\x67\xee\x31\xe7\x6d\xd8\xb0\x01\x85\x85\x85\xf0\x7a\xbd\xe0\
+\x79\xde\x8c\x20\x5a\xeb\xba\x8c\x73\x9c\x28\x3a\xac\xc5\xf9\x89\
+\xcb\xd3\x6d\xd7\xd7\x72\xab\x98\xe9\x6b\xbf\xd6\x67\x97\xcb\x85\
+\xce\xce\xce\x01\x47\x91\x1a\x1b\x1b\x11\x08\x04\x6c\x69\x95\x04\
+\x41\x10\x23\x09\x4a\x33\x23\x08\x02\x55\x55\x55\x39\x89\x30\x68\
+\x9a\x66\x46\x56\x8c\x69\xab\xbd\xac\x31\x70\x34\x1a\x19\x1a\x51\
+\x99\xc4\xc6\x85\xc6\x72\x2b\xba\xae\x63\xfb\xf6\xed\xd8\xb7\x6f\
+\x5f\xce\xa3\x21\xa9\x0a\xa0\x45\x51\x84\xd7\xeb\x45\x45\x45\x05\
+\x0a\x0b\x0b\xe1\x72\xb9\x6c\xe9\x70\x2e\x97\x0b\x45\x45\x45\x58\
+\xb8\x70\x21\x96\x2d\x5b\x96\x73\x91\x35\xd4\x18\xbd\x80\x12\x99\
+\x31\x63\x46\xda\x66\xa2\xe9\xae\x81\xce\xce\x4e\x74\x74\x74\x24\
+\x9d\xa7\xbe\x52\xa3\x78\x9e\x87\xc3\xe1\x48\x12\x32\xbc\xe8\xc4\
+\x37\xfe\xe3\x41\x8c\x99\x32\x2f\xe3\xcf\x35\xff\xab\x97\x61\xec\
+\xf4\x1e\xfb\xe1\x48\x24\x82\xf7\xde\x7b\xcf\x8c\x12\x1a\xd7\x96\
+\x11\xa1\xd1\x75\xdd\x8c\x22\x1a\xd3\x56\xb3\x8a\x74\xcb\x7b\x9b\
+\xdf\xd7\x7e\xfb\xda\x3e\xf1\x75\x55\x55\x85\xdb\xed\xce\xd9\xb9\
+\x3f\x78\xf0\x20\xfd\x08\x12\x04\x41\x62\x86\x20\x88\x91\x4b\xae\
+\x52\xcc\x8c\xc1\xa8\x81\x21\x60\xac\x42\xc6\x2a\x60\x8c\x01\x74\
+\xba\x6e\xec\xa9\x04\xcd\xde\xbd\x7b\xb1\x75\xeb\xd6\x9c\x46\x42\
+\x78\x9e\x4f\x1a\x1c\x1a\xbd\x49\xfa\xc2\xa8\xc1\xc8\xcb\xcb\x1b\
+\x71\xe7\xdd\xe5\x72\x61\xce\x9c\x39\xb8\xf0\xc2\x0b\x71\xc9\x25\
+\x97\xe0\xd2\x4b\x2f\xc5\x57\xbf\xfa\x55\x8c\x1b\x37\x0e\x2c\xcb\
+\xa2\xa4\xa4\x04\x65\x65\x65\xfd\xde\x5f\x34\x1a\x45\x4b\x4b\x8b\
+\x2d\x35\xcc\x4a\xaa\x34\x2e\xeb\x39\x08\x87\xc3\xd8\xba\x75\x6b\
+\x82\x90\x71\xe0\xc2\x9b\xef\xb5\x09\x92\x8c\x60\x18\xac\xb8\xe6\
+\xe7\x10\x9d\x3d\x2e\x6c\xcd\xcd\xcd\xf8\xf8\xe3\x8f\x47\x4c\xc1\
+\x7f\xba\x73\x97\x89\xc8\x24\x31\x43\x10\xc4\xf1\x0a\xa5\x99\x11\
+\x04\x91\xb3\xe2\x7f\xa3\x9e\x24\x15\x46\xdf\x0c\x43\xac\x18\x82\
+\x26\xf1\x61\x8d\xce\x18\xb5\x2b\x46\xa4\xc7\xa0\xb5\xb5\x15\x1b\
+\x36\x6c\xc0\xbc\x79\xf3\x72\xd6\x58\xd3\xeb\xf5\x9a\x83\x68\x23\
+\x0a\x93\xe8\xae\xd6\xdb\xe7\xee\xef\xba\xc3\x85\x69\xd3\xa6\x61\
+\xe1\xc2\x85\x49\x8e\x6e\xe3\xc6\x8d\x43\x79\x79\x39\x5a\x5b\x5b\
+\xfb\x2d\x18\x35\x4d\x43\x77\x77\x77\x5a\x11\x93\x28\x68\x12\x23\
+\x36\x0c\xc3\xa0\xae\xae\x0e\xad\xad\xf6\x66\x9d\xbc\x20\xe2\xdc\
+\xef\xfe\x0a\xa5\x93\x66\x43\xd7\x34\x30\x59\x16\xbd\x17\x8c\x1e\
+\x8f\x55\xdf\xf9\x25\x5e\x7d\xe8\x47\xa6\x0b\x5d\x55\x55\x15\x4a\
+\x4a\x4a\x50\x59\x59\x39\x22\x1a\x51\x5a\xcb\x00\x00\x20\x00\x49\
+\x44\x41\x54\xbf\xb3\xaa\xaa\xc2\xeb\xf5\xa2\xb3\xb3\x73\xc0\xfb\
+\x3a\x74\xe8\x10\xfd\x08\x12\x04\x41\x62\x86\x20\x88\x91\x89\xae\
+\xeb\x39\x13\x33\x1e\x8f\x27\x6d\x47\x74\xab\x20\x31\x52\x65\x1c\
+\x0e\x07\x14\x45\x81\x2c\xcb\x90\x24\xc9\x14\x34\x86\x61\x80\xb1\
+\x2f\x43\xd8\x58\x89\x46\xa3\xd8\xbc\x79\x33\xca\xcb\xcb\x51\x59\
+\x59\xd9\xaf\x28\x4a\x6f\x70\x1c\x07\x97\xcb\x85\x48\x24\x02\x9f\
+\xcf\x07\xa7\xd3\x69\x36\xec\xb4\xf6\xc3\x31\x6a\x1a\xac\x75\x14\
+\x0c\xc3\xc0\xe5\x72\x8d\x8c\x1f\x7d\x9e\xc7\x49\x27\x9d\x84\xa9\
+\x53\xa7\xa6\x6c\x48\xaa\xaa\x2a\x24\x49\xea\xf7\xf1\x8c\x46\xa3\
+\xe8\xea\xea\xca\xa8\xb8\xdf\x48\xeb\x32\x9a\xa5\xee\xdf\xbf\x3f\
+\x49\x38\x79\x0b\x4b\x70\xce\xd5\x77\xa2\x74\xd2\x1c\xe8\xba\x0e\
+\x59\x8a\x42\x74\x66\x9f\x5a\x35\x65\xe1\x32\x9c\x7a\xc1\xb7\xf1\
+\xf1\xab\x4f\x98\xf3\x3e\xfa\xe8\x23\x14\x17\x17\x63\xf4\xe8\xd1\
+\xb6\x26\x95\x7d\x35\xbd\xb4\x2e\x4f\x14\x69\xbd\x6d\x9f\x58\xf7\
+\x32\xd0\xe5\x46\xdd\xcc\x40\xa1\xc8\x0c\x41\x10\x24\x66\x08\x82\
+\x18\xb1\xd4\xd6\xd6\xe6\xa4\x01\x1f\x00\x94\x94\x94\xc0\xe7\xf3\
+\xa5\x74\x7b\x32\xf2\xff\x65\x59\x86\xa2\x28\x88\x44\x22\x88\xc5\
+\x62\x66\x7a\x59\xba\x14\x24\xab\x03\x9a\xb5\xce\xc1\xe0\xc8\x91\
+\x23\x68\x6a\x6a\xc2\xb4\x69\xd3\x30\x7e\xfc\xf8\x01\xa5\x0e\x79\
+\xbd\x5e\x33\x15\x4e\x51\x14\xb3\x2f\x4a\x7f\x6a\x74\x52\xf5\xac\
+\x19\x6e\xb0\x2c\x8b\xd3\x4f\x3f\x3d\xe5\x71\x32\xdc\xd9\x12\xa3\
+\x60\xe9\xd0\x34\x0d\x5d\x5d\x5d\x88\x46\xa3\x19\xbf\x0f\x86\x61\
+\xc0\x71\x1c\x5a\x5a\x5a\x70\xe4\xc8\x91\x14\xc2\xe3\xab\x38\xeb\
+\xf2\x1f\x41\x74\x79\x7b\x5e\x4f\x55\xa0\xa9\x0a\x58\x2e\xfb\x7f\
+\x5b\xa7\x5d\x74\x3d\x9a\x0f\xef\xc6\x81\x1d\x1f\x9a\xc2\x6d\xfd\
+\xfa\xf5\xf8\xf6\xb7\xbf\x0d\xb7\xdb\x9d\x24\x20\x58\x96\x4d\x29\
+\xaa\x7b\x13\x1e\xd6\xe9\xbe\xb6\xe7\x38\x2e\xa9\xe0\xbf\x2f\x21\
+\x63\x9d\x06\x90\xb6\xa1\x68\x26\x50\x64\x86\x20\x08\x12\x33\x04\
+\x41\x8c\x68\x31\x93\x0b\x18\x86\x41\x7e\x7e\x7e\xca\xbb\xfd\xd6\
+\x02\x6b\xa3\x76\xc6\x1a\xb1\x31\xa2\x33\xd6\x67\x23\x3a\x63\xb5\
+\x68\xb6\xee\xcf\x8a\xa2\x28\xd8\xb5\x6b\x17\x6a\x6b\x6b\x31\x6b\
+\xd6\xac\xac\x9b\x0a\xf2\x3c\x6f\xd6\xbe\xc8\xb2\x9c\xd1\xb6\x89\
+\x9f\x5b\x10\x04\x38\x1c\x0e\x5b\x43\x46\xe3\xef\xc4\x87\x35\xb5\
+\xce\x48\xab\x8b\xc5\x62\x88\x46\xa3\x88\x46\xa3\x88\x44\x22\xa6\
+\xbd\xf1\x40\x98\x37\x6f\x5e\x92\x90\xd1\x75\x1d\x81\x40\x20\x23\
+\x51\x92\x69\x34\x26\xf1\x3a\xd1\x75\x1d\xd5\xd5\xd5\xb6\xda\x18\
+\x00\x10\x1c\x2e\x9c\x71\xe9\x0f\x30\x7d\xf1\xaa\x94\xdb\x2a\x52\
+\xd4\x26\x70\x32\x7f\x6d\x16\xe7\x5e\xf7\x2b\xfc\xf5\xbf\xff\x15\
+\x1d\x4d\x71\x0b\xea\x40\x20\x80\x97\x5f\x7e\x19\x57\x5e\x79\xa5\
+\x79\x0e\xad\xc7\x27\xf1\xbc\xa6\xba\xbe\x33\xb9\x2e\x06\xba\x3f\
+\x2b\xb9\x72\x20\x0b\x04\x02\x68\x6b\x6b\x43\x51\x51\x11\xfd\x20\
+\x12\x04\x41\x62\x86\x20\x88\x91\x45\x53\x53\x53\x4e\xf6\xe3\xf1\
+\x78\x7a\x1d\x98\x25\xba\x99\x59\x9b\x69\x3a\x1c\x0e\x48\x92\x64\
+\x3e\x64\x59\x36\x85\x8c\x21\x84\xac\xfd\x40\xd2\x89\x9a\x40\x20\
+\x80\x8f\x3f\xfe\x18\x63\xc6\x8c\x41\x65\x65\xe5\x90\x46\x4b\x12\
+\xc5\xcf\x8d\x37\xde\x88\x9f\xfd\xec\x67\x39\xdd\x7f\x28\x14\x42\
+\x30\x18\x44\x28\x14\x32\x1f\x81\x40\x00\xf5\xf5\xf5\x68\x68\x68\
+\x40\x43\x43\x03\xea\xeb\xeb\x71\xe0\xc0\x01\xd4\xd7\xd7\xdb\xb6\
+\x9f\x34\x69\x12\x66\xcd\x9a\x65\x1b\xa8\xcb\xb2\x9c\x91\x28\x19\
+\x48\x34\xc6\x38\x5f\xa9\x6a\x63\x00\xa0\xa4\x62\x06\x56\x5c\x7d\
+\x27\xf2\x8b\xc7\xf4\xfa\xfa\xaa\x22\x83\xe3\xb3\x2f\x7c\x77\xb8\
+\xbc\xf8\xfa\x2d\xf7\xe1\xaf\xbf\xf8\x37\xc8\xb1\xb8\x98\x3a\x7c\
+\xf8\x30\xd6\xad\x5b\x87\x73\xcf\x3d\x37\xa5\x6d\xf2\x70\xc5\x48\
+\x85\xec\x6f\x34\xad\x37\x0e\x1e\x3c\x48\x62\x86\x20\x08\x12\x33\
+\x04\x41\x9c\xb8\x62\xa6\x3f\x77\x89\x53\xb9\x9a\x09\x82\x00\x51\
+\x14\x4d\x41\x63\x44\x66\xac\x35\x2a\x56\x8b\x67\x63\xe0\x9d\xaa\
+\xc9\xa0\x41\x7d\x7d\x3d\x9a\x9b\x9b\x31\x65\xca\x14\x54\x54\x54\
+\x0c\xc9\xc0\x34\x31\x72\x92\xeb\xbe\x1d\x82\x20\xc0\xef\xf7\xc3\
+\xef\xf7\xf7\xb9\xee\x75\xd7\x5d\x87\x97\x5e\x7a\xc9\x9c\x2e\x2a\
+\x2a\xc2\xa2\x45\x8b\x6c\x62\x53\x55\xd5\xa4\x3e\x30\x7d\xd1\xdd\
+\xdd\x9d\x52\xc8\x58\x6b\xa4\x52\xc1\xb2\x2c\x5a\x5a\x5a\x50\x57\
+\x57\x97\xa2\xf8\x9f\xc5\xc2\x73\xae\xc0\xa2\xf3\xaf\x05\xc3\xf4\
+\x1d\xa5\x50\xa4\x18\x38\x9e\x07\x90\xfd\x39\x2d\x1a\x33\x09\xab\
+\xbe\xf3\x0b\xbc\xf6\xf0\x6d\xa6\x21\xc0\x96\x2d\x5b\x50\x5a\x5a\
+\x8a\x85\x0b\x17\xda\xae\xaf\xe1\x8e\xdb\xed\x46\x20\x10\xc8\x89\
+\x98\x39\xf9\xe4\x93\xe9\x07\x91\x20\x08\x12\x33\x04\x41\x9c\x98\
+\x62\xc6\xe1\x70\x20\x16\x8b\x99\xf9\xfc\xd6\xba\x83\xc4\xba\x19\
+\x23\xb5\xcc\x5a\x8f\x92\xca\xb6\x59\x51\x94\x24\x31\x93\xaa\x6e\
+\x26\x9d\xb8\xd8\xbd\x7b\x37\x6a\x6b\x6b\x51\x59\x59\x89\x92\x92\
+\x92\x11\x2d\x66\x32\x39\x9f\x6b\xd6\xac\xb1\x9d\x97\x53\x4f\x3d\
+\xd5\x16\xa5\x32\x7a\xc1\x64\xda\xaf\x27\x3f\x3f\xdf\x4c\x05\xec\
+\x8f\x98\xe1\x38\x0e\x81\x40\x00\x07\x0f\x1e\x4c\x99\xb6\x57\x3c\
+\x6e\x1a\x96\x7e\xf3\x66\x94\x4d\x9a\xdb\xef\xf7\xa0\xeb\x1a\x14\
+\x59\x02\x2f\x0c\x2c\xea\x36\xf5\xa4\xb3\xb1\xf8\xbc\x6b\xb1\xf9\
+\x1f\x7f\x34\xe7\xbd\xf6\xda\x6b\x60\x59\x16\xf3\xe7\xcf\x1f\x31\
+\xdf\x5f\x8f\xc7\x93\x33\x31\x43\x10\x04\x41\x62\x86\x20\x88\x13\
+\x52\xcc\x18\x29\x60\x5d\x5d\x5d\xbd\x76\x3e\xb7\x8a\x11\x43\xa8\
+\x58\x53\xcb\xac\xc2\xc6\x5a\x4b\x62\x14\x4a\x5b\x85\x8c\x31\x9d\
+\x18\x9d\x11\x1c\x2e\xc8\xb1\x1e\x8b\xe0\x50\x28\x84\x6d\xdb\xb6\
+\xa1\xb0\xb0\x10\x95\x95\x95\x29\x1b\x64\x0e\x86\x98\x39\x56\x7d\
+\x67\x9e\x7a\xea\x29\xdb\x7b\xa9\xa8\xa8\xb0\xd5\x10\xe9\xba\x8e\
+\xce\xce\xce\xac\x52\x93\x18\x86\x41\x61\x61\x21\x5a\x5b\x5b\x7b\
+\xad\x61\xe2\x38\x0e\xb2\x2c\x63\xdf\xbe\x7d\x29\xcd\x25\x3c\xf9\
+\x45\xf8\xca\xea\x9b\x30\xf3\xf4\xf3\x21\x47\xc3\xc8\xb4\x07\xaa\
+\x2a\x4b\xe0\x78\x71\xc0\x91\x93\x25\xab\xbf\x87\xe6\x9a\xdd\x38\
+\xf8\xf9\x06\xf3\x73\xac\x59\xb3\x06\x92\x24\x61\xde\xbc\x79\x49\
+\x9f\xdd\xfa\x79\x13\xaf\xbb\x54\xa6\x17\xd6\xf9\x56\x51\x9f\x18\
+\xf5\xe9\x2d\xca\xd8\xdb\x7c\x00\x39\xb3\x04\x27\x13\x00\x82\x20\
+\x48\xcc\x10\x04\x71\xc2\x8a\x19\x20\x5e\x3c\x6f\x15\x2c\xd6\xe7\
+\xc4\x81\xaf\x75\x30\x97\x2a\xe5\xcc\x5a\x2f\x63\x8d\xca\x24\x92\
+\xf8\x7a\x00\x70\xca\x79\xd7\xa0\xbb\xa5\x1e\x5f\x7c\xb4\x06\xd6\
+\x51\x72\x7b\x7b\x3b\x36\x6e\xdc\x88\x31\x63\xc6\x60\xda\xb4\x69\
+\x39\xb7\x52\x4e\x1c\xb4\x17\x17\x17\x1f\x93\xf3\xf9\xe4\x93\x4f\
+\x9a\x7f\xb3\x2c\x8b\x69\xd3\xa6\xd9\xd2\xcb\x42\xa1\xd0\x80\xcc\
+\x04\x58\x96\x45\x61\x61\x21\xda\xda\xda\xcc\xa8\x59\xe2\x75\x70\
+\xf8\xf0\x61\xb4\xb4\xb4\x24\x5f\x23\x82\x88\x85\xe7\x7c\x0b\x8b\
+\x2f\xf8\x77\x08\x8e\xb8\xcd\x32\xcb\x09\x50\x95\xcc\xcc\x16\x74\
+\x5d\x87\x22\xc7\x20\x88\x03\x1b\xc8\x33\x0c\x8b\xf3\xae\xbf\x07\
+\x2f\xfd\xee\x06\x34\xec\xdf\x69\xee\xfb\x8d\x37\xde\x40\x30\x18\
+\xc4\xec\xd9\xb3\x93\x04\x79\x3a\x11\x92\xee\x39\xdd\x76\x56\x27\
+\xb4\xde\x96\xf7\xb5\xdf\x54\xe2\x28\x5b\x31\x33\x52\x52\xeb\x08\
+\x82\x20\x48\xcc\x10\x04\x01\xa0\xc7\x95\x6a\xa0\x18\x56\xbb\x99\
+\x6e\x63\x08\x19\xab\x68\x49\x2c\xfa\x4f\x97\xc2\x64\xd4\xdf\x24\
+\x0e\xa6\xa5\x48\x08\xe7\x5c\xfb\x73\xcc\x3f\xfb\x52\xbc\xff\xfc\
+\x7d\xa8\xad\xfa\xc4\xb6\xbc\xbe\xbe\x1e\x8d\x8d\x8d\x98\x30\x61\
+\x02\x26\x4f\x9e\x9c\xb3\x2e\xea\x6d\x6d\x6d\xe6\xdf\x1c\xc7\xe1\
+\xa4\x93\x4e\x1a\xf2\xf3\x79\xe8\xd0\x21\x74\x74\x74\x98\xd3\xe5\
+\xe5\xe5\xb6\xa8\x8c\xaa\xaa\xfd\x6a\x6c\xd9\x1f\xe1\x6a\x08\x1a\
+\x63\x00\xec\x70\x38\xd0\xd8\xd8\x98\xb2\x2e\x06\x00\xa6\x2f\x5a\
+\x89\xa5\x97\x7e\x1f\x79\x45\x65\x09\x02\xc7\x01\x55\x95\x81\xac\
+\xa2\x33\x02\x58\x96\x1b\xd0\x67\x11\x5d\x1e\x5c\x7c\xeb\xa3\x78\
+\xf9\xde\x9b\x50\xbf\x77\xbb\x39\xff\x83\x0f\x3e\x80\xaa\xaa\x98\
+\x3b\x77\xae\x4d\x90\x27\x7e\xb6\x44\xe1\x9e\x4e\xc8\x27\x6e\x67\
+\xcc\xef\x6b\x79\x5f\xfb\x15\x04\x21\x27\x02\x24\x16\x8b\xa1\xa3\
+\xa3\x23\x67\x4d\x68\x09\x82\x20\x48\xcc\x10\x04\x31\xe8\x34\x37\
+\x37\xe7\x64\x3f\xba\xae\xdb\x22\x33\x7d\x89\x18\x03\x23\xf5\x86\
+\xe3\x38\x08\x82\x90\x52\xcc\x24\x6e\x67\x88\x18\x6b\x74\xc1\x1a\
+\xf9\x09\x75\xc6\x9d\xb2\x4a\x26\xcc\xc0\x37\x7f\xfc\x07\x1c\xd8\
+\xf1\x01\x3e\x78\xe1\x7e\xb4\xd7\xf7\xd4\x04\x68\x9a\x86\x83\x07\
+\x0f\xa2\xae\xae\x0e\x53\xa6\x4c\xc1\xf8\xf1\xe3\xc1\x66\xd9\x5d\
+\xde\x78\x7d\x6b\xf3\xc2\x79\xf3\xe6\x1d\x93\x9a\x99\xed\xdb\xb7\
+\xdb\xa6\x4b\x4a\x4a\x6c\xc7\x3b\x14\x0a\x65\x5c\x27\x93\x0e\x41\
+\x10\x90\x9f\x9f\x8f\x70\x38\x8c\x8e\x8e\x0e\x54\x55\x55\xa5\xac\
+\x8b\x29\x9d\x38\x0b\x67\x5d\x7e\x2b\xc6\x4c\x4d\x5d\x87\xc2\xb0\
+\x2c\xb8\x2c\xa2\x33\xc0\x51\xab\x66\xa7\x67\xc0\x9f\x45\x74\x7a\
+\x70\xf1\x8f\x1e\xc6\x2b\xf7\xdd\x8c\xba\x3d\x9f\x9a\xf3\x37\x6c\
+\xd8\x00\x4d\xd3\x86\x75\x0d\x8d\x20\x08\x29\x9b\xca\x66\x43\x20\
+\x10\x20\x31\x43\x10\x04\x89\x19\x82\x20\x46\x0e\x8d\x8d\x8d\x39\
+\xd9\x8f\xc3\xe1\x30\x23\x2c\xa9\x1a\x08\xa6\x6a\x04\x68\x88\x00\
+\x6b\x0f\x96\xc4\x5e\x2c\x86\xe0\x31\x22\x3f\xd6\x9e\x2d\xc6\x43\
+\x55\x55\xdb\x20\x3a\xd4\x69\x4f\x6f\x9a\x34\xef\x0c\x54\xcc\xf9\
+\x0a\xbe\x78\xff\x15\x6c\xfc\xfb\xa3\x08\x77\xb7\x9b\xcb\x64\x59\
+\x46\x55\x55\x15\xa2\xd1\x28\x2a\x2b\x2b\xb3\xfe\xfc\x46\x84\xc2\
+\x60\xe9\xd2\xa5\xc7\xe4\x7c\xee\xdc\xb9\xd3\x36\xed\xf1\xf4\x0c\
+\xf4\x15\x45\xc9\xda\x52\x39\x1d\x9d\x9d\x9d\x29\xfb\xc5\x00\x80\
+\xb7\xa0\x04\xa7\x5f\x72\x0b\x66\x9e\xf6\x35\xa0\x8f\xc8\x01\x2f\
+\x3a\xa0\xa9\x4a\xc6\x42\x4b\x53\xd5\x01\x5b\x35\x9b\xa2\xc0\xe1\
+\xc6\x37\xfe\xe3\x21\xfc\xfd\x81\xef\xdb\xa2\x79\x9b\x36\x6d\x82\
+\xa6\x69\xa6\xcb\xd9\x70\x43\xd3\x34\xb8\x5c\x2e\x84\x42\xa1\x01\
+\xef\xab\xbb\xbb\x9b\x7e\x14\x09\x82\x20\x31\x43\x10\xc4\xc8\x21\
+\x97\x3d\x66\x8c\x82\x77\x23\x12\x90\x2a\x3d\xcc\x3a\x58\xb5\xa6\
+\xcd\x18\x36\xcc\x46\xb3\x4c\xa3\x61\xa4\xc7\xe3\x41\x24\x12\x41\
+\x24\x12\x41\x38\x1c\x36\xff\x8e\xc5\x62\x88\xc5\x62\xa6\x71\x40\
+\x2c\x16\x33\xf7\x17\xec\x4a\xae\xd5\x60\x59\x0e\x73\x97\x5d\x82\
+\xca\xd3\xce\xc5\x27\x6f\x3c\x85\x6d\xeb\x9e\x86\x22\xc5\xcc\xe5\
+\xa9\x8a\xd4\x33\x61\xff\xfe\xfd\xb6\xe9\x63\x25\x66\x12\xcd\x0d\
+\x8c\x3e\x34\x2c\xcb\x22\x16\x8b\xe5\xec\x75\xc2\xe1\x30\xbe\xfc\
+\xf2\xcb\x94\xfd\x62\x78\xd1\x89\x53\xce\xbd\x0a\xa7\x7c\xed\x6a\
+\xf0\xfd\xac\x69\x61\x18\x16\x1c\x2f\x40\x91\xa5\x8c\xdf\x8b\x22\
+\x0f\xdc\xaa\xb9\x47\xd0\xb8\xf0\x8d\x1f\x3c\x88\xbf\x3f\xf0\x7d\
+\xd4\xec\xda\x6c\xce\xdf\xbc\x79\x33\x34\x4d\xc3\xe2\xc5\x8b\xd3\
+\x16\xfd\x5b\x05\xbb\x75\x79\x2a\x21\x9f\x6e\xbb\x4c\x96\x1b\xf3\
+\xb3\x49\xf1\x24\x31\x43\x10\x04\x89\x19\x82\x20\x48\xcc\x58\x70\
+\x3a\x9d\x19\xd7\x9e\x58\xc5\x0c\xcf\xf3\x50\x55\x15\x3c\xcf\x43\
+\x51\x14\x9b\x21\x80\x61\xd5\x6c\x7d\x18\x51\x1a\x43\x28\x71\x1c\
+\x67\xa6\x9d\x75\xb7\x36\x40\xd7\x35\x30\x4c\x72\xda\x98\xe8\xf4\
+\xe0\x2b\xab\x6f\xc4\xdc\x65\x97\xe0\xff\xee\xbe\x1a\x81\xb6\xc6\
+\x01\x8b\x99\x96\x96\x16\x5b\x8a\xd9\xb4\x69\xd3\x8e\x99\x98\x59\
+\xb4\x68\x91\x6d\xba\xad\xad\x6d\x50\x2c\xa9\x53\x36\xbe\x64\x18\
+\x4c\x3b\x79\x05\x4e\xbd\xe8\xbb\x28\x1c\x3d\x01\x2c\x97\xd9\xbf\
+\x17\x4e\x70\x40\x55\xe4\x8c\xa3\x33\xba\x96\x1b\xab\xe6\x1e\x31\
+\xe6\xc0\x45\x3f\xf8\x3d\x5e\xfd\xfd\x7f\xe0\xd0\x17\x1b\xcd\xf9\
+\x9f\x7c\xf2\x09\xba\xbb\xbb\xf1\xf5\xaf\x7f\x1d\x0e\x87\x23\xa5\
+\xd0\x48\x17\x89\xd4\x34\xcd\x74\xe4\x4b\x57\xc8\x6f\x2d\xf8\x4f\
+\xb7\xdf\x74\x46\x00\xb9\x4a\x17\x25\x31\x43\x10\x04\x89\x19\x82\
+\x20\x4e\x58\x31\x93\x2d\x56\x57\x33\xeb\x3c\xeb\xc3\x9a\x5e\x66\
+\x7d\x36\x7f\xc8\x8e\x8a\x20\x20\x5e\x47\xd1\x5a\xb7\x1f\xa3\xc6\
+\x4d\x4d\xfb\x9a\xbe\x82\xd1\x28\x9b\x38\xdb\x14\x33\x91\x48\x04\
+\x8a\xa2\x80\xe7\x33\xfb\x49\xd4\x34\x0d\xd5\xd5\xd5\xb6\x79\x3f\
+\xf9\xc9\x4f\x72\x76\xa7\x3c\x53\xe6\xcf\x9f\x6f\xab\x9f\xa8\xad\
+\xad\x45\x45\x45\xc5\xa0\x3b\xb7\x95\x4e\x9a\x8d\xd3\x2f\xbe\x09\
+\x25\x13\x66\xc4\xcf\x81\x2c\x41\xcc\x50\xcc\x30\x0c\x03\x4e\x10\
+\x6d\x11\xb3\xfe\x62\x98\x01\xa4\x12\xb0\x59\xfd\x63\x14\x44\x5c\
+\xf8\xfd\xfb\xf0\xda\x43\xb7\xe2\xc0\x8e\x0f\xcd\xf9\x7b\xf6\xec\
+\xc1\x63\x8f\x3d\x86\x6f\x7c\xe3\x1b\x98\x34\x69\x52\xc6\xd7\x4b\
+\xba\xeb\xc2\x98\x9f\xed\x75\x23\x8a\x62\x4e\x3e\x77\x2e\xfa\xd5\
+\x10\x04\x41\x0c\x35\x2c\x1d\x02\x82\x38\x71\xb1\x3a\x70\x0d\xb5\
+\x98\xb1\xa6\x9f\x59\x05\x4b\xa2\x4d\xb3\xd3\xe9\x84\xcb\xe5\x82\
+\xdb\xed\x86\xc7\xe3\x81\xdb\xed\x86\xdb\xed\x86\xcb\xe5\x82\xd3\
+\xe9\x84\xc3\xe1\x48\x7a\xfd\x86\x7d\x3b\xfa\x7c\xfd\xc2\xf2\x49\
+\x03\x1e\xc8\x7d\xf9\xe5\x97\xb6\xbb\xd9\x73\xe6\xcc\xc1\xd7\xbf\
+\xfe\xf5\x63\x76\x3e\x9d\x4e\x27\xbe\xf6\xb5\xaf\xf5\x0c\xf2\x55\
+\x15\xbb\x76\xed\xca\xf9\xeb\x58\xc5\x8c\xaf\xa8\x0c\xab\x7f\xf8\
+\xb0\x29\x64\x00\xc4\xeb\x5f\xb2\x28\x48\xe7\xb3\xec\x1d\xa3\xeb\
+\x3a\x14\x29\xb7\xf5\x40\x1c\x2f\xe2\x82\x9b\x7e\x87\xe9\x8b\x56\
+\x26\x5d\x27\x4f\x3f\xfd\x34\xde\x7a\xeb\xad\xac\x7a\xf5\x0c\x06\
+\x99\x8a\xaa\x74\x50\x64\x86\x20\x08\x12\x33\x04\x41\x8c\x28\x52\
+\xb9\x4f\x65\x83\xb5\xbb\x7c\x2e\x05\x8d\x28\x8a\x49\x82\xc6\xfa\
+\x70\xb9\x5c\x70\x38\x1c\x70\xbb\xdd\xb6\xfd\xd6\xef\xef\x5b\xcc\
+\x8c\x9e\x30\xd3\x36\x6d\xb5\x34\xee\x0f\x87\x0e\x1d\x42\x5d\x5d\
+\x9d\xed\xfd\xdf\x79\xe7\x9d\xc7\xbc\x4f\xc7\xef\x7e\xf7\x3b\xdb\
+\x9d\xfa\xe6\xe6\x66\x54\x55\x55\xe5\x6c\xff\xaa\xaa\xda\x0a\xfe\
+\x8b\xcb\x27\xa7\x5e\x4f\x91\xb2\xb9\x20\xc0\x65\x99\x2e\xa6\x2a\
+\x4a\x76\xaf\xd9\xab\xa0\x11\x70\xde\x0d\xbf\xc6\xf2\xab\x7e\x66\
+\xab\xff\xd1\x75\x1d\x1b\x36\x6c\xc0\x93\x4f\x3e\x99\xb2\x6e\x68\
+\xa8\xc9\x95\xbd\x38\x45\x66\x08\x82\x18\x89\x50\x9a\x19\x41\x9c\
+\xc0\x0c\xa4\x79\xa2\x15\x5d\xd7\x11\x8d\x46\xd3\x76\x39\x37\xf2\
+\xfe\xfb\x6a\x30\x68\xb5\x63\x56\x55\xd5\xd6\x60\xd3\x28\x74\x36\
+\x44\x8e\x24\x49\x66\x4d\x8d\xd3\xe9\xb4\xa5\x57\x35\xec\xfb\xbc\
+\xcf\xf7\x5c\x3e\x6d\x7e\xdc\x65\xeb\xe8\xeb\x65\x22\x66\x0e\x1e\
+\x3c\x88\xdd\xbb\x77\xdb\xe6\xfd\xf8\xc7\x3f\xc6\xb2\x65\xcb\x8e\
+\xf9\x39\x2d\x2a\x2a\xc2\x1d\x77\xdc\x81\x3b\xee\xb8\xc3\x26\xbc\
+\x04\x41\xc0\x94\x29\x53\x06\xbc\xff\x60\x30\x68\xab\x6b\x29\x1e\
+\x3b\xd9\x7a\x18\x2d\xe2\x42\x8e\xd7\xb1\x64\x28\xee\x78\x41\x80\
+\x2a\x4b\xd0\xf5\xcc\x23\x3b\x8a\x14\x03\xcb\xf2\x60\xd8\xdc\xde\
+\xa7\x9b\x7b\xd6\xc5\x18\x3b\x6d\x21\x5e\x7f\xec\x3f\xd1\x52\xdb\
+\x93\x56\x58\x5f\x5f\x8f\xc7\x1e\x7b\x0c\xe7\x9c\x73\x0e\xe6\xce\
+\x9d\x6b\x73\xea\x33\xae\xfb\xde\xbe\x07\xa9\xbe\x2f\xfd\x31\x18\
+\xe8\xad\x21\xe7\x40\xa0\xc8\x0c\x41\x10\x24\x66\x08\x82\x18\x51\
+\xe4\x22\x32\xa3\xeb\x3a\x42\xa1\x10\x24\x49\x4a\xdb\xb9\xdc\xba\
+\x6e\x5f\x82\xc6\x58\xcf\x2a\x6a\x0c\xa7\x33\x59\x96\xcd\x67\xa3\
+\x1f\x8d\x81\x28\x8a\xa6\xf5\x70\x47\x53\x0d\x22\xc1\x4e\xb8\xbc\
+\xfe\xb4\xef\xdb\xe9\xc9\x47\xd1\x98\x49\x68\x3b\x12\x77\x22\x6b\
+\x69\x69\x41\x47\x47\x87\xad\xc9\x64\xaa\xcf\xba\x6b\xd7\x2e\xd4\
+\xd4\xd4\xd8\xe6\x5f\x78\xe1\x85\xb8\xf5\xd6\x5b\x87\xcd\x79\xbd\
+\xe1\x86\x1b\xb0\x69\xd3\x26\xbc\xf1\xc6\x1b\xe6\xbc\xbd\x7b\xf7\
+\x22\x10\x08\x60\xce\x9c\x39\x03\x4a\x4b\x6a\x6f\x6f\xb7\x4d\x8f\
+\x1a\x37\x1d\x6c\x8a\x3e\x31\x71\x97\x3a\x19\x1c\x9f\x69\x3d\x07\
+\x03\x5e\x14\x21\xc7\xa2\x59\x5d\x8b\x72\x2c\x02\xd1\xe5\xc9\xf9\
+\x31\x2d\x1c\x33\x11\x57\xdc\xf9\x34\x3e\x7c\xe1\x01\x7c\xfa\xcf\
+\xe7\x4c\xf5\x26\xcb\x32\x5e\x7f\xfd\x75\x7c\xf1\xc5\x17\x58\xb4\
+\x68\x11\x4a\x4a\x4a\x92\xae\xfb\x54\xef\x33\xd5\xf2\xc4\xef\x43\
+\x7f\xb7\x33\xbe\x7b\x03\x15\x35\x24\x66\x08\x82\x18\x89\x50\x9a\
+\x19\x41\x9c\xc0\xe4\x2a\xe7\x5f\xd3\x34\x53\x5c\x18\x11\x15\x63\
+\xda\x58\x66\x9d\xee\xed\xd9\x2a\x64\xac\x51\x19\x23\xfd\xcc\x88\
+\xce\x24\xba\x9b\x25\xa6\xba\xf5\xa7\x6e\xa6\x62\xce\x12\xdb\x40\
+\x71\xfb\xf6\xed\x88\x44\x22\x29\xd7\x0d\x85\x42\xf8\xf8\xe3\x8f\
+\x93\x84\xcc\xe2\xc5\x8b\xf1\xd0\x43\x0f\x1d\xf3\xf4\xb2\x44\x9e\
+\x7a\xea\x29\xb3\x7b\xbd\x41\x63\x63\x23\x36\x6e\xdc\x98\x75\x3a\
+\x51\x34\x1a\xc5\xc1\x83\x07\x6d\xf3\x4a\x27\xcd\x49\xdb\xe7\x45\
+\x95\xb3\x4b\xfb\xe2\x78\x31\xeb\x26\xa6\x9a\xa6\xe6\xbc\x7e\xc6\
+\xfa\xbe\xce\xba\xe2\x36\x7c\xe3\x07\x0f\xc2\x9d\x67\x6f\x2e\x79\
+\xf8\xf0\x61\xfc\xed\x6f\x7f\xc3\x9a\x35\x6b\x50\x5b\x5b\x6b\xbb\
+\xee\x13\x1f\x89\xdf\x8b\x74\xdf\x8f\xfe\x6e\xc7\xe6\x28\x12\x45\
+\x62\x86\x20\x08\x12\x33\x04\x41\x8c\x28\x72\x55\x33\x93\x6b\xf7\
+\x2e\x6b\x5a\x4e\xa2\x90\x49\x14\x33\xc6\xbc\x44\x13\x80\xfa\x7e\
+\xa4\x9a\x2d\xb9\xe8\x7a\x14\x94\x56\xd8\x06\xeb\x1f\x7d\xf4\x11\
+\xea\xeb\xeb\x93\x06\xaa\x1b\x36\x6c\xb0\x59\x30\x03\xc0\x45\x17\
+\x5d\x84\x97\x5f\x7e\x39\xe7\x6e\x61\x39\xf9\x71\x67\x59\xac\x5b\
+\xb7\x0e\x27\x9f\x7c\x72\x92\x28\xdb\xb4\x69\x13\x8e\x1c\x39\x92\
+\xd1\xfe\x22\x91\x08\x36\x6f\xde\x6c\xeb\x57\x33\x79\xc1\x99\xf0\
+\x97\x8c\x05\xcb\xa5\x4e\xed\xd2\x34\x0d\x9a\x9a\x5d\x2a\x23\x2f\
+\x66\x7f\x4c\x15\x59\xca\xfa\x75\xfb\xc3\xc4\xb9\x5f\xc1\x95\xbf\
+\x7c\x01\x15\xb3\x97\x24\x2d\xab\xab\xab\xc3\x6b\xaf\xbd\x86\x17\
+\x5f\x7c\x11\xfb\xf7\xef\xcf\xd8\x6a\x3a\x1b\xa8\x66\x86\x20\x08\
+\x12\x33\x04\x41\x9c\x90\xe4\xa2\x66\xc6\xb8\x5b\x9c\x6b\x12\xad\
+\x99\x53\x45\x67\xac\xcf\xc9\x62\xa6\xef\xc8\x8c\xe0\x70\xe3\x82\
+\x9b\xfe\x07\xbc\xe8\xb0\x1d\x93\x1d\x3b\x76\x60\xc7\x8e\x1d\x08\
+\x04\x02\xd8\xb2\x65\x0b\x76\xed\xda\x95\x14\xc5\xba\xe5\x96\x5b\
+\xf0\xc4\x13\x4f\x64\x6d\x7e\x30\x14\x08\x82\x80\xb5\x6b\xd7\xe2\
+\xbb\xdf\xfd\xae\x6d\xbe\xaa\xaa\xf8\xfc\xf3\xcf\xb1\x73\xe7\xce\
+\x7e\x45\xe7\x0c\x21\x63\x2d\xfc\xe7\x05\x11\x4b\xbf\xf9\x83\x1e\
+\x41\x9b\x2e\x3a\xa3\x64\x27\x98\x59\x8e\x03\x2f\x64\x6f\x39\x2c\
+\xc7\x22\x83\x2a\x24\xdc\x79\x45\x58\xfd\xc3\x87\xb0\xfc\xaa\xdb\
+\x91\x57\x54\x96\xb4\xbc\xa5\xa5\x05\xeb\xd7\xaf\xc7\x73\xcf\x3d\
+\x87\xaa\xaa\xaa\x41\xf9\x8e\x24\x7e\x57\x48\xcc\x10\x04\x71\x22\
+\xc2\xe8\x43\x71\xdb\x88\x20\x88\x61\xc9\xc5\x17\x5f\x9c\x14\x6d\
+\xc8\x46\xcc\xcc\x9c\x39\x33\x65\x03\xc0\xde\x3a\x97\xf7\xd5\x70\
+\xd0\xfa\x6c\x88\x0c\x5d\xd7\x21\x49\x12\x64\x59\x46\x38\x1c\x46\
+\x24\x12\x41\x20\x10\x40\x28\x14\x42\x30\x18\x44\x4d\x4d\x8d\x19\
+\x6d\xe2\x45\x27\x6e\x7a\xf4\x23\xb0\x6c\xdf\x51\xa3\x03\x3b\x3e\
+\xc0\x1b\x8f\xdf\x0e\x29\xd2\x77\xf3\x4c\xbf\xdf\x8f\xc7\x1f\x7f\
+\x1c\x67\x9f\x7d\xf6\x88\x3a\xd7\x2f\xbf\xfc\x32\x6e\xb8\xe1\x86\
+\x24\xf1\xe2\x72\xb9\x30\x67\xce\x1c\x14\x15\x15\xa5\xdc\xae\xb6\
+\xb6\x16\x7b\xf6\xec\xb1\x45\xf1\x78\x41\xc4\xd7\x6f\xb9\xcf\x16\
+\x99\xd0\x75\x0d\xb1\x70\x8a\xe3\xc7\x00\x0e\x97\x37\xbb\x1e\x30\
+\xba\x8e\x58\x34\x94\x95\xcd\x73\x5c\x10\xf1\x10\x9d\xee\x41\x3f\
+\xb6\x9a\xa6\x62\xf7\xc7\x6b\xf1\xc9\x1b\x7f\x36\x6b\xb0\x12\x71\
+\x3a\x9d\x18\x3f\x7e\x3c\x26\x4c\x98\x80\x09\x13\x26\x98\x8d\x37\
+\xd3\x7d\x3f\xd2\x19\x02\xa4\x5a\xce\xf3\x3c\x76\xec\xd8\x31\xe0\
+\x74\x33\xb7\xdb\x8d\xd7\x5e\x7b\x8d\x7e\x18\x09\x82\x18\x51\x90\
+\x01\x00\x41\x9c\xc0\xe4\xa2\x66\x86\x61\x18\xf8\x7c\x3e\xf0\x3c\
+\x6f\xde\x1d\x4e\x1c\x80\x59\x85\x4f\xaa\xed\x7b\xbb\xa7\x62\x2c\
+\xb7\x9a\x00\xc4\x62\x31\x88\xa2\x68\x16\xb2\x6b\x9a\x06\x45\x51\
+\xe0\x74\x3a\xcd\x41\xb7\x22\x45\xd1\x5a\x5b\x6d\xeb\x7f\x92\x8e\
+\xe2\xf2\x29\x70\xb8\xbd\x7d\x8a\x99\xe5\xcb\x97\xe3\xb1\xc7\x1e\
+\x83\xdf\xef\x1f\x71\xe7\x7a\xf5\xea\xd5\x98\x35\x6b\x16\xce\x3f\
+\xff\x7c\x9b\x73\x5b\x24\x12\xc1\x96\x2d\x5b\x30\x6e\xdc\x38\x54\
+\x56\x56\x9a\xc7\x34\x14\x0a\xe1\x8b\x2f\xbe\x48\x2a\xf8\xe7\x45\
+\x07\x2e\xfa\xfe\x03\x18\x3f\x73\x71\xc2\x79\x62\xc1\x71\x3c\xd4\
+\xc4\xf4\x2e\xdd\xe2\x6c\x96\xf9\xc5\x05\x41\x74\x42\x8a\x86\xb3\
+\x13\x19\xaa\x02\x45\x8e\x65\xf7\xda\x99\x88\x26\x96\xc3\xcc\x25\
+\xe7\x61\xe6\x69\x5f\xc3\xfe\xed\x1f\x60\xcb\x1b\x7f\x4a\x72\xd4\
+\x8b\x46\xa3\xa8\xae\xae\x46\x75\x75\x35\x18\x86\x41\x79\x79\x39\
+\xc6\x8c\x19\x83\x92\x92\x12\x8c\x1e\x3d\x1a\xc5\xc5\xc5\x10\x45\
+\x31\x23\x37\x33\x86\x61\xa0\x28\x0a\x22\x91\x08\x24\x49\x82\xa2\
+\x28\xa6\xf9\x86\x35\x9a\xd9\x5b\xc3\x59\x2b\xc7\xaa\xd9\x2b\x41\
+\x10\x04\x89\x19\x82\x20\xb2\x22\x97\x7d\x66\x58\x76\x70\xb2\x56\
+\x0d\x43\x00\x63\x20\x66\x0c\xe4\x14\x45\x81\x28\x8a\x10\x04\xc1\
+\xb4\x68\x76\xb9\x5c\xb6\x54\x99\xfa\x7d\x3b\xfa\x14\x33\x5d\x2d\
+\x47\xf0\xc2\xaf\xbf\x8d\x40\x7b\x63\xda\x75\x7c\x3e\x1f\xee\xbb\
+\xef\x3e\x5c\x74\xd1\x45\x23\xfa\x7c\x4f\x9f\x3e\x1d\x7b\xf6\xec\
+\xc1\xb7\xbe\xf5\x2d\xac\x5f\xbf\xde\xb6\xac\xb6\xb6\x16\xad\xad\
+\xad\x98\x35\x6b\x16\xba\xba\xba\xb0\x7f\xff\xfe\xa4\xd4\x28\xa7\
+\x27\x0f\x17\xdc\xf8\x5b\x8c\x9b\x71\x4a\xea\xc1\xb0\x20\x26\x8b\
+\x19\xc4\x8d\x00\xb2\x15\x14\x2c\xc7\x83\xe3\x85\xac\xd3\xd5\x14\
+\x29\x06\x80\x19\x50\xca\x5a\x26\xe2\x6b\xf2\x82\x33\x31\x79\xc1\
+\x99\xa8\xdb\xf3\x29\xb6\xbc\xfe\x47\x1c\xda\xb9\x31\xe5\x35\x5d\
+\x57\x57\x97\xd4\xa7\x28\xb1\x97\x92\xc3\xe1\x80\xaa\xaa\x66\x34\
+\x52\x96\x65\x48\x92\x04\x49\x92\x10\x8b\xc5\x20\x49\x52\x56\x37\
+\x24\x0c\x3b\xf3\xc4\x07\x00\x34\x35\x35\x61\xf4\xe8\xd1\xf4\xe3\
+\x48\x10\xc4\x88\x81\xd2\xcc\x08\xe2\x04\x66\xe5\xca\x95\x39\xa9\
+\x9b\x39\xe3\x8c\x33\x06\xcd\xcd\xcb\xf8\x89\xd2\x34\xcd\x8c\xce\
+\xc4\x62\x31\x44\x22\x11\x84\x42\x21\x74\x77\x77\xa3\xab\xab\x0b\
+\xdd\xdd\xdd\xe8\xe8\xe8\xc0\xa1\x43\x87\xcc\x6d\x2b\x66\x2f\xc1\
+\xea\x1f\x3d\x9c\x5e\xcc\xc5\x22\x78\xee\xae\xab\xd0\x5a\xb7\xd7\
+\x9c\xe7\xf1\x78\x70\xf7\xdd\x77\xe3\xf1\xc7\x1f\x47\x55\x55\x15\
+\x56\xac\x58\x81\x07\x1e\x78\x00\x25\x25\x25\xc7\xd5\xb9\x7f\xf3\
+\xcd\x37\xf1\xdd\xef\x7e\x37\xad\x7b\x5b\x22\xe5\xd3\x16\xe0\xfc\
+\xef\xfd\x0f\x3c\xf9\x45\xbd\xae\x17\x0b\x07\x52\x46\xda\x04\x87\
+\x2b\x6d\x5d\x4d\x7f\xae\x01\x29\x12\x1c\x50\x0d\x0c\x2f\x3a\x87\
+\x46\xd0\x24\xd0\x52\xb3\x07\x9f\xbf\xff\x32\x0e\xec\xf8\x00\x81\
+\xb6\xc6\x11\x71\x6d\x8c\x1d\x3b\x16\x4b\x96\x2c\xc1\x92\x25\x4b\
+\x70\xda\x69\xa7\x61\xc1\x82\x05\x39\x33\x19\x20\x08\x82\x20\x31\
+\x43\x10\x44\xce\xc8\x55\xdd\xc7\x99\x67\x9e\x39\x68\xef\xd1\x2a\
+\x66\x8c\x74\xb2\x58\x2c\x86\x68\x34\x6a\x8a\x19\x43\xd0\x04\x02\
+\x01\x1c\x3c\x78\xd0\x8c\x38\xb1\x2c\x87\xeb\x1f\x78\x1b\x4e\x6f\
+\x7e\xca\x7d\xbf\xfe\xe8\x7f\x62\xcf\x96\x75\xe6\xb4\xcf\xe7\xc3\
+\xf3\xcf\x3f\x8f\x45\x8b\x16\x41\x92\x24\x7c\xf0\xc1\x07\x58\xbe\
+\x7c\xf9\x71\x7b\xfe\x0f\x1c\x38\x80\x9b\x6f\xbe\x19\x9b\x37\x6f\
+\xee\x73\xdd\xe5\x57\xde\x8e\xb9\xcb\x2e\xe9\x73\x3d\x45\x8a\x41\
+\x91\x63\x49\xf3\x59\x8e\x83\xe8\xcc\xbe\xff\x8b\xaa\xca\x90\xa3\
+\x91\x01\x7d\xde\x63\x25\x68\x0c\x5a\xeb\xf6\x62\xff\xf6\x0f\x70\
+\xf0\xf3\x8f\xd0\x7c\x78\xf7\xa0\x59\x48\xe7\x1a\xa7\xd3\x89\x93\
+\x4f\x3e\x19\x4b\x96\x2c\xc1\xd2\xa5\x4b\xb1\x62\xc5\x8a\x61\x6d\
+\x7c\x41\x10\x04\x89\x19\x82\x20\x4e\x00\x14\x45\xc1\xca\x95\x2b\
+\x07\xfe\x23\xc2\x30\x58\xbc\x78\x71\xda\x06\x99\x89\xa2\x24\x5d\
+\x97\xf3\x74\xfb\x36\xb6\x35\xea\x66\x54\x55\x85\x2c\xcb\x88\x44\
+\x22\x08\x87\xc3\x08\x06\x83\x08\x04\x02\xa6\xa8\x69\x6a\x6a\xb2\
+\xf5\xcb\x58\x71\xcd\x9d\x98\x73\xc6\x37\x92\xf6\xbd\x6d\xed\xd3\
+\x78\xff\xf9\x7b\xcd\x69\x8e\xe3\xf0\xe2\x8b\x2f\x62\xe9\xd2\xa5\
+\x27\xcc\x35\xd0\xda\xda\x8a\xda\xda\x5a\x7c\xf2\xc9\x27\xb8\xeb\
+\xae\xbb\x6c\x6e\x65\x89\xe7\x65\xd1\x79\xd7\xe2\xf4\x4b\x6e\xee\
+\x5b\x7c\x6a\x1a\x62\x69\x6a\x8f\x44\x97\xa7\x5f\x86\x0c\xe9\x90\
+\x63\x91\xac\xd3\xcd\x7a\x04\x8d\x63\xd0\x6b\x68\xfa\x27\xd2\x35\
+\x74\x36\xd5\xa0\xb9\x66\x0f\x5a\x6a\xaa\xd1\xde\x78\x08\xd1\x60\
+\x27\x22\xc1\x2e\x44\x43\x5d\x88\x06\xbb\xe2\x9f\x95\x61\xc0\xf3\
+\x02\x38\xc1\x71\xf4\xbd\x3b\x21\x3a\xdd\x10\x5d\x5e\x38\x5c\x1e\
+\x88\x4e\x0f\x44\x97\x17\xa2\xcb\x03\x87\xcb\x03\xde\xe1\x82\xa6\
+\x28\xd0\x54\x19\xaa\x22\x43\x55\x14\xa8\x8a\x04\x55\x91\xa1\x29\
+\x32\xa4\x68\x18\x81\xf6\x46\x04\xda\x9b\x10\xec\x6c\xce\xca\x5c\
+\xc1\xef\xf7\x63\xf5\xea\xd5\xb8\xe2\x8a\x2b\xb0\x6c\xd9\xb2\x41\
+\x4b\x31\x25\x08\x82\x20\x31\x43\x10\x44\x2f\x83\x29\x1d\x2b\x57\
+\xae\x1c\xb0\x09\x80\xae\xeb\x98\x3d\x7b\x36\x54\x55\x4d\xeb\x46\
+\x96\xe8\xda\xc4\xb2\xac\xb9\x7e\x62\x41\xb3\xd5\x15\xcd\x3a\x5f\
+\x55\x55\x30\x0c\x03\x59\x96\xa1\xaa\x2a\xa2\xd1\xa8\x19\x9d\x31\
+\xdc\xcc\x0c\x61\xd3\xdc\xdc\x6c\xbe\xbf\x09\xb3\x4e\xc5\xc5\xb7\
+\x3e\x6a\x7b\xcf\x2d\xb5\xd5\x78\xf6\xbf\xae\x80\xa6\xf5\x7c\xf6\
+\xbb\xee\xba\x0b\xd7\x5f\x7f\xfd\x09\x75\x0d\x04\x83\x41\xec\xdd\
+\x1b\x4f\xb1\x53\x55\x15\x2f\xbc\xf0\x02\x9e\x7e\xfa\x69\x8c\x1b\
+\x37\x0e\x37\xdc\x70\x03\x6e\xbb\xed\x36\x73\xdd\x19\xa7\x7d\x0d\
+\xe7\x7e\xf7\xee\x7e\xed\x57\x8a\x86\x53\xf6\x79\xe1\x78\x01\x82\
+\x63\x60\x3d\x79\xe4\x58\x18\xea\x00\x53\x23\x59\x8e\x87\xe0\x70\
+\x0d\xbb\x46\xa7\x89\xa8\x8a\x9c\x75\x6a\x5e\xbf\xbe\xbb\x9a\x86\
+\x60\x57\x0b\x82\x6d\x4d\xe8\x6e\x6f\x40\xa0\xbd\x09\x6d\x47\x0e\
+\xa0\x7e\xdf\x0e\x74\x34\x1e\xea\xd7\x3e\xca\xca\xca\x70\xd9\x65\
+\x97\xe1\x8a\x2b\xae\xc0\x29\xa7\x9c\x42\x3f\xac\x04\x41\x0c\x39\
+\x64\x00\x40\x10\x27\xea\x9d\x8c\xa3\x2e\x64\x03\xb5\x66\x06\x80\
+\x58\x2c\x06\x8e\xe3\x4c\x61\x94\xf8\x6c\xdc\x33\x31\x9e\x8d\xf9\
+\x46\x81\x79\xba\xe5\xa9\xe6\x5b\xfb\xda\x58\xdd\x9a\x8c\x87\x61\
+\x06\x60\xd4\x02\xd5\x54\x6d\x41\x24\xd0\x01\x97\xaf\xc0\x50\x5f\
+\xf8\xe7\xff\xde\x6d\x13\x32\x97\x5d\x76\xd9\x09\x27\x64\x00\xd8\
+\x9a\x7d\x72\x1c\x87\xcb\x2f\xbf\x1c\xcb\x96\x2d\x43\x71\x71\x31\
+\x78\x9e\x87\xdb\xed\x36\xa3\x35\xdd\x19\xd4\x7b\x70\xbc\x90\x52\
+\xcc\x68\xaa\x92\x14\xb1\xcb\x14\xc1\xe1\x86\xae\x87\x07\xd4\x14\
+\x53\x53\x15\x48\x91\x20\x04\x87\x0b\x2c\x37\x7c\xff\x0d\x0e\xa6\
+\x90\x01\x00\x86\x65\xe1\x2b\x18\x0d\x5f\xc1\x68\x94\x61\xae\x6d\
+\x59\x24\xd8\x89\xfa\xbd\x3b\x50\xbf\x6f\x3b\x8e\xec\xdd\x8e\xa6\
+\x83\xbb\xa0\x2a\x52\xd2\x3e\x1a\x1a\x1a\x70\xff\xfd\xf7\xe3\xfe\
+\xfb\xef\xc7\x94\x29\x53\x70\xcd\x35\xd7\xe0\xa6\x9b\x6e\x42\x5e\
+\x5e\x1e\xfd\xc8\x12\x04\x31\x24\x50\x6c\x98\x20\x4e\x60\x72\x35\
+\xe0\x18\xcc\x86\x80\x89\x02\x2c\x55\x23\xcd\xc4\x87\x35\x9f\x5f\
+\xd7\x34\xec\xdd\xf6\xb6\x39\xbd\xf3\xc3\xbf\xdb\x6c\x73\x27\x4e\
+\x9c\x88\x7b\xef\xbd\xf7\x84\x3c\xff\x1c\xc7\x25\x15\x76\x97\x96\
+\x96\x9a\xf6\xcc\x56\x57\xab\xee\xb6\xfa\x8c\x06\xe1\xa9\x04\x8b\
+\xae\xeb\x50\x53\xd4\xd3\x64\x8a\xe8\x70\x81\x1d\xa0\x8d\xb0\xae\
+\xeb\x90\xa2\xe1\xa3\x6e\x67\x44\x92\xd0\xf5\xfa\x31\x79\xc1\x99\
+\x58\xfa\xcd\xef\xe3\x5f\x7e\xfa\x67\xdc\xf4\xe8\x47\xb8\xec\xa7\
+\x7f\xc2\x82\x15\x97\xc3\x9d\x97\xda\x04\x62\xdf\xbe\x7d\xb8\xfd\
+\xf6\xdb\x31\x71\xe2\x44\xdc\x75\xd7\x5d\xb6\x74\x4f\x82\x20\x08\
+\x12\x33\x04\x41\xe4\x1c\x9f\xcf\x97\x93\xfd\xe4\xc2\x11\x2d\x1b\
+\x51\x63\x15\x30\x1c\xc7\x81\xe3\xb8\x24\x31\x03\x00\xd5\x5b\xde\
+\x02\x00\x44\x83\x5d\xf8\xf0\x6f\x0f\xd8\x96\xdd\x73\xcf\x3d\x27\
+\x74\x31\xb3\x35\x3a\x93\x88\xd5\xc1\x2d\xd4\xd1\x92\x51\x7d\x45\
+\xba\xa8\x82\xaa\xc8\x18\x70\x76\x33\xc3\x40\x70\xb8\x73\x52\xab\
+\xa1\xc8\x31\x48\x91\xd0\x80\x22\x3d\x27\x84\xf0\xe5\x05\x94\x4f\
+\x5d\x80\x65\x57\xfc\x18\xd7\xdd\xb7\x1e\xab\x7f\xf4\x30\x66\x7e\
+\xe5\xfc\x94\xa6\x0e\xed\xed\xed\xb8\xe3\x8e\x3b\x48\xd4\x10\x04\
+\x41\x62\x86\x20\x88\xc1\x25\x97\x91\x19\xab\xa8\x60\x18\xc6\xf6\
+\x6c\xcc\x1f\xe8\x72\x86\x61\xc0\xf3\x3c\x58\x96\x05\xcf\xf3\xe0\
+\x38\x0e\x3c\xcf\x9b\x0f\x43\xd0\x58\x1b\x6a\x02\x40\xed\x9e\xad\
+\x08\x77\xb7\xe3\x83\xbf\xdd\x8f\x68\xb0\xcb\x9c\x7f\xc1\x05\x17\
+\xe0\xab\x5f\xfd\xea\x09\x7d\x0d\xf4\x57\xcc\x68\x9a\x8a\x60\x67\
+\x73\xff\xff\xb9\xa4\x11\x33\xb9\x8a\xce\x30\x0c\x03\xc1\xe9\x01\
+\x93\x03\x41\xa3\x69\x2a\xa4\x68\x18\x72\x2c\x02\x5d\xd7\xe8\x87\
+\xa1\xaf\x63\xcf\xb2\xa8\x98\xbd\x04\xab\xbe\xfd\x4b\x5c\xff\xc0\
+\xdb\x38\xef\x86\x5f\x63\xd2\xfc\x33\x93\xcc\x1d\x48\xd4\x10\x04\
+\x31\x14\x50\xcd\x0c\x41\x9c\xc0\xe4\x22\x32\xc3\x30\x0c\x9c\x4e\
+\x27\xfc\x7e\x7f\x46\x05\xfd\x89\x1d\xcd\xd3\x75\x38\xb7\x6e\x6f\
+\x38\x9a\x69\x9a\x66\x36\x0f\x0c\x85\x42\xa6\x70\x31\x7a\xd1\xa8\
+\xaa\x0a\xa7\xd3\x89\x60\x30\xee\xaa\xa5\x6b\x1a\xb6\xae\xfd\x0b\
+\xbe\xf8\x70\x8d\xf9\xbe\x8d\x7e\x32\x27\x3a\x46\xb3\xc4\xbe\xc4\
+\x0c\x00\x74\xb7\x35\xc0\x57\x58\xda\x3f\x31\xc3\x72\xe6\x79\x4b\
+\x44\x55\x64\x70\x82\x63\xc0\x05\xf8\x0c\xc3\x40\x74\x7a\x20\x47\
+\xc3\xb6\x1a\xa8\x6c\x51\x15\x19\x9a\xaa\x80\xe3\xc5\xb8\x85\xf3\
+\x30\x37\x08\x18\x16\x83\x08\xd1\x81\xe9\x8b\x56\x62\xfa\xa2\x95\
+\xe8\x6e\xad\xc7\xe6\xd7\x9e\xc4\x97\x1b\x5e\xb3\x45\xba\x0c\x51\
+\x73\xdf\x7d\xf7\xe1\xee\xbb\xef\xc6\x75\xd7\x5d\x37\xec\xcd\x17\
+\x08\x82\x18\x39\x50\x64\x86\x20\x4e\x60\x72\x15\x99\x51\x55\xd5\
+\x8c\x86\x18\x05\xf8\xd6\x67\xa3\x36\xc3\x3a\x3f\x71\xfd\xbe\xb6\
+\x37\xa2\x2f\xd6\xf5\x05\x41\x80\x28\x8a\x10\x45\x11\x0e\x87\xc3\
+\xfc\x9b\xe7\xf9\xa4\x88\xc3\x8e\x77\x5e\x04\x2c\xe9\x4d\xb7\xdd\
+\x76\x1b\xc6\x8c\x19\x73\xc2\x5f\x03\x6e\xb7\xbb\xdf\x62\x26\xd3\
+\xa6\x8f\x83\x1d\x9d\x31\x05\x8d\xcb\x0d\x8e\xcf\xcd\xbd\x39\x5d\
+\xd7\xa1\xc8\x31\xc4\x22\x41\x28\x72\x0c\x64\xf8\x99\xc1\xef\x49\
+\xf1\x18\xac\xb8\xe6\x4e\x5c\xfb\xeb\x35\x98\x73\xe6\xea\x24\x73\
+\x85\xf6\xf6\x76\xdc\x70\xc3\x0d\x58\xb1\x62\x85\xad\xb9\x2d\x41\
+\x10\x04\x89\x19\x82\x20\x8e\xa9\x98\x31\x9a\x54\x0e\x36\x56\x03\
+\x00\xa3\x66\xc6\x48\x2d\xb3\xa6\x99\x59\xc5\x93\xf9\x1e\x63\x3d\
+\x3d\x54\x2a\x2b\x2b\x71\xdd\x75\xd7\xd1\x05\x00\xc0\xe1\x70\xa4\
+\xad\x3d\x49\x8e\xcc\x64\x26\x66\x7a\x73\xe3\xca\x49\xed\x4c\xcf\
+\x95\x01\xc1\xe1\xce\x69\x43\x4c\x5d\xd7\xa1\x48\x31\x48\x91\x20\
+\x14\x29\x4a\xe9\x67\x99\x8a\x9a\xab\xef\xc0\xb5\xf7\xbc\x8a\xb9\
+\x67\x5d\x92\x74\x1d\xbc\xfd\xf6\xdb\x98\x33\x67\x0e\x1e\x7d\xf4\
+\x51\x12\x8b\x04\x41\x90\x98\x21\x08\xe2\xd8\x8b\x99\xa1\x30\x00\
+\xb0\xa6\xa5\xf4\x26\x68\xac\xa2\x26\x5d\x61\xff\x6f\x7e\xf3\x9b\
+\x24\x17\xaf\x13\x15\x86\x61\xd2\xd6\xcd\x58\xdd\xcc\xe2\x62\xa6\
+\x3e\xc3\x7d\xb3\x69\xad\x8f\x73\x19\x9d\x31\xe0\x45\x27\x04\xd1\
+\x99\xd3\x7d\xc6\x23\x35\x12\xa4\x48\x10\x72\x2c\x92\x93\x74\xb6\
+\x13\xe6\xf7\xa5\xa8\x0c\xcb\xaf\xba\x1d\xd7\xfe\xfa\x55\xcc\x5c\
+\x72\x9e\x6d\x59\x30\x18\xc4\xf7\xbe\xf7\x3d\x2c\x5f\xbe\x9c\xa2\
+\x34\x04\x41\x90\x98\x21\x08\x22\x3b\x72\xe5\x66\x36\x54\x91\x99\
+\xfe\x08\x19\xab\xa0\x49\x35\x48\xbf\xf4\xd2\x4b\xb1\x64\xc9\x12\
+\x3a\xf9\x16\xd2\xa5\x9a\x15\x15\x15\xd9\xa2\x36\x99\xa6\x99\x01\
+\x43\x19\x9d\x39\xfa\x7a\x82\x08\xd1\xe9\xce\x79\x4d\x86\xae\xc7\
+\xdf\xaf\x14\x09\xc5\x53\xd0\xa4\x28\x09\x9b\xfe\xfe\xce\x14\x95\
+\x62\xd5\x77\xee\xc2\x45\x3f\xf8\x3d\xbc\xfe\x51\xb6\x65\xef\xbc\
+\xf3\x0e\xe6\xcc\x99\x83\x47\x1e\x79\x84\xa2\x34\x04\x41\x90\x98\
+\x21\x08\x22\x33\x72\x15\x99\x91\x24\x09\xb1\x58\xcc\x7c\x44\xa3\
+\x51\xdb\x74\xe2\xfc\x68\x34\xda\xaf\x47\xaa\x7d\x18\x85\xff\xb2\
+\x2c\x9b\x0f\x45\x51\x6c\x03\x21\xab\x6d\xb3\x15\x51\x14\xf1\xf3\
+\x9f\xff\x9c\x4e\x7c\x3f\xc5\x0c\xcb\xb2\x28\x2e\x2e\x36\xa7\x83\
+\x1d\xcd\x19\xef\x9b\xe3\xf9\xb4\xc2\x62\x30\xa2\x33\x00\xc0\x72\
+\x3c\x44\xa7\x27\xc9\x5d\x2b\x67\xc2\x46\xd3\x8e\x46\x6b\x48\xd8\
+\x64\xc2\xa4\x79\x4b\x71\xd5\xdd\x2f\x61\xe6\x57\xce\xb7\xcd\x0f\
+\x06\x83\xb8\xf1\xc6\x1b\xb1\x7c\xf9\x72\xb4\xb4\xb4\xd0\x81\x22\
+\x08\x22\x23\xc8\xcd\x8c\x20\x48\xcc\x0c\x98\x50\x28\x84\x40\x20\
+\x00\x45\x51\xc0\x71\x9c\xcd\xb9\xcc\x70\xb4\x4a\xe5\x68\x96\xce\
+\xe9\xac\xb7\xe5\x40\x4f\x93\x4e\x49\x92\xa0\xaa\x2a\x22\x91\x08\
+\xa2\xd1\x28\x24\x49\x82\xa2\x28\x50\x55\x15\xba\xae\x23\x12\x89\
+\xd8\xde\xe7\x65\x97\x5d\x96\x94\x3a\x45\xf4\x6e\x02\x50\x56\x56\
+\x86\xe6\xe6\xb8\x88\xe9\x6c\xae\xcb\x62\xef\x0c\x58\x8e\x87\xaa\
+\xa4\x8e\xde\xc5\x9d\xcd\x44\x30\x4c\x6e\xef\xad\x31\x2c\x0b\xd1\
+\xe5\x81\x22\xc5\xa0\xc8\x83\xd7\x18\x53\xd7\x34\x28\x9a\x04\xc8\
+\x12\x18\x96\x05\xc7\xf1\x60\x79\x61\xd0\x84\xd4\x48\xc7\xe1\xf6\
+\x61\xd5\xb7\x7f\x89\x69\xa7\xac\xc0\x5b\x4f\xfd\x12\xa1\xce\x56\
+\x73\xd9\x3b\xef\xbc\x83\x53\x4f\x3d\x15\xaf\xbf\xfe\x3a\x2a\x2b\
+\x2b\xe9\x60\x11\x04\xd1\x2f\x28\x32\x43\x10\x27\x30\x05\x05\x05\
+\x39\xd9\x8f\xaa\xaa\x90\x24\xc9\xfc\x5b\xd7\x75\x9b\x95\xb2\xf5\
+\xd9\x98\x9f\xb8\x3c\x71\x7e\x5f\xcb\x55\x35\x7e\x27\xdc\x10\x3e\
+\xd6\xb4\x33\xfe\x68\x34\x20\x1c\xee\x29\xfa\x67\x18\x06\x37\xde\
+\x78\x23\x9d\xf4\x14\x38\x9d\x4e\x70\x5c\xea\xc1\x77\x79\x79\xb9\
+\xf9\xb7\x1c\x0b\x23\xd8\x99\xf9\x9d\xf3\xde\x52\xcd\x74\x5d\x87\
+\x12\x8b\x0e\xda\x67\xe3\x45\x47\x3c\xed\x8c\x1d\xfc\x7f\x77\xb6\
+\x88\x4d\x38\x00\x39\x1a\x86\x22\x45\xe3\x96\xcf\x9a\x4a\x69\x54\
+\x16\x26\xcd\x3b\x03\x57\xdd\xf5\x52\x52\x2d\xcd\x81\x03\x07\xb0\
+\x64\xc9\x12\xbc\xf3\xce\x3b\x74\x90\x08\x82\x20\x31\x43\x10\x44\
+\xef\x14\x15\x15\xc1\xe3\xf1\xe4\x64\x5f\xd1\x68\x74\x48\xde\x73\
+\x6f\x8e\x66\xd6\x47\x24\x12\x31\x05\x0f\x00\xac\x5a\xb5\x0a\x53\
+\xa6\x4c\xa1\x93\x9e\x86\x74\x26\x00\xe3\xc6\x8d\xb3\x4d\x77\x34\
+\x1c\xca\xfc\x1f\x0d\xc7\xf7\x2a\x26\x54\x55\xb1\xf5\x25\xc9\xf9\
+\x3f\xba\xa3\x69\x67\xbd\x89\xaa\x9c\x0b\x1b\x5d\x87\xaa\x2a\x50\
+\x64\x09\x72\x2c\x62\x0a\x9c\x58\x38\x00\xe9\xa8\xc8\x51\xe4\x98\
+\xd9\xdb\x26\x2e\x76\x4e\x2c\xc7\x34\xa7\x27\x0f\xab\xbe\x73\x17\
+\xce\xbb\xe1\xd7\x36\x27\xba\x8e\x8e\x0e\xac\x5a\xb5\x0a\x7f\xfe\
+\xf3\x9f\xe9\x8b\x49\x10\x04\x89\x19\x82\x20\x7a\xa7\xa2\xa2\x22\
+\x27\xfb\x89\xc5\x62\x43\xfa\xbe\x53\x89\x1a\xab\x01\x40\x47\x47\
+\x87\x6d\xfd\x9b\x6f\xbe\x99\x4e\x76\x2f\xa4\x4b\x35\x4b\x12\x33\
+\x8d\x87\xb3\xda\x3f\xc7\xf5\x2e\x24\x64\x29\x0a\x40\x1f\xd4\xeb\
+\x45\x70\xb8\x20\x38\x5c\x43\x12\xa5\xe9\x4d\xe4\x68\x47\x45\x8e\
+\x22\xc5\xe2\x42\x27\x1a\x3e\x2a\x76\x82\x88\x86\xba\xe3\xa2\x27\
+\x12\x8c\x47\x76\xe4\x18\x34\x55\x39\xae\xa3\x3a\xd3\x17\xad\xc4\
+\x37\x7f\xf2\x24\xdc\x79\x85\x3d\xd7\x83\x2c\xe3\xda\x6b\xaf\xc5\
+\xed\xb7\xdf\x4e\x11\x2d\x82\x20\x48\xcc\x10\x04\x91\x9e\x89\x13\
+\x27\xe6\x64\xa0\x18\x8b\xc5\xcc\xf4\x2e\x8e\xe3\xcc\x88\x89\xf1\
+\x6c\xcc\xef\x6b\x79\x26\xdb\xf1\x3c\x0f\x96\x65\x6d\x0d\x36\x05\
+\x41\x40\x28\x14\xb2\x45\x8a\x16\x2d\x5a\x84\x45\x8b\x16\xd1\xc9\
+\xce\x42\xcc\x8c\x1d\x3b\xd6\x36\xdd\xde\x78\x28\x3b\x31\xd3\x47\
+\x54\x44\xd7\x34\x28\x47\x53\x15\x07\x13\x8e\x17\xe0\x70\x79\xc0\
+\x8b\x8e\x61\xdb\x85\x5e\xd7\x75\xe8\x9a\x16\x8f\xec\x48\x31\x48\
+\xd1\x70\x3c\xa2\x73\xd4\x1e\x5a\x55\x24\xe8\xda\xf1\x15\xc5\x29\
+\x9b\x3c\x07\x97\xff\xec\x7f\x51\x38\xc6\xfe\x7b\xf4\xab\x5f\xfd\
+\x0a\x97\x5f\x7e\xf9\x90\x45\x7e\x09\x82\x18\x79\x90\x01\x00\x41\
+\x90\x98\xc9\xc9\x7e\x14\x45\x41\x5e\x5e\x5e\x92\x01\x40\xaa\x67\
+\xc3\x10\x20\xd5\xfc\xfe\x6c\x6f\xdc\xa9\x55\x55\xd5\xac\xd7\x91\
+\x24\x09\xe1\x70\x18\x3c\xcf\x63\xdb\xb6\x6d\xb6\xf7\x46\x51\x99\
+\xec\xc5\x4c\x69\x69\x29\x78\x9e\x37\x7b\x09\x75\x64\x29\x66\x18\
+\x96\x05\xcb\x71\xd0\xd4\xf4\xae\x5f\xaa\x12\x03\xc7\x0b\x43\x10\
+\x39\x61\xc0\x0b\x0e\x70\xbc\x00\x45\x8a\xa5\x35\x27\x18\x6e\x68\
+\x9a\x06\x68\x9a\xf9\x7e\x8f\x37\xc3\x81\xfc\x51\xe5\xb8\xfc\xf6\
+\xbf\xe0\xb5\x87\x6e\x45\x4d\xd5\x16\x73\xfe\xf3\xcf\x3f\x8f\x9a\
+\x9a\x1a\xac\x59\xb3\x06\xa3\x46\x8d\xa2\x2f\x2b\x41\x10\x36\x28\
+\x32\x43\x10\x24\x66\x72\xb2\x9f\x48\x24\x02\x41\x10\xc0\x71\x9c\
+\x2d\x52\x92\xea\x59\x14\xc5\xb4\xf3\xfb\xb3\xbd\xd1\x47\xc6\x88\
+\xc4\x88\xa2\x08\x51\x14\xe1\x70\x38\x10\x0a\x85\xd0\xd6\xd6\x66\
+\xbe\xaf\x29\x53\xa6\x60\xd5\xaa\x55\x74\xa2\xfb\xc0\xe1\x70\xa4\
+\x34\x01\xe0\x38\x0e\x65\x65\x65\xe6\x74\x7b\xc3\xe1\xac\x5f\xa3\
+\xcf\xe8\x8c\x6e\xa4\x9b\x0d\x0d\x0c\xc3\x42\x70\xb8\x06\xd5\xc6\
+\x79\x30\x39\x1e\x2d\xa2\x1d\x6e\x1f\x56\xff\xe8\x61\xcc\x3a\xfd\
+\xeb\xb6\xf9\x9b\x36\x6d\xc2\xe2\xc5\x8b\x11\x0a\x85\xe8\xcb\x4a\
+\x10\x04\x89\x19\x82\x20\x7a\xc8\x55\xcd\x8c\xa6\x69\x43\x9a\x0a\
+\x62\xa4\x08\x59\x7b\xca\xb0\x2c\x8b\xdd\xbb\x77\xdb\xd6\xbb\xf1\
+\xc6\x1b\x87\xb2\x94\x2f\x4b\x00\x00\x20\x00\x49\x44\x41\x54\x6d\
+\x3a\xd1\x70\xa3\x3f\xa9\x66\xdd\xad\xf5\x50\x95\xec\xd2\xc1\x38\
+\x4e\xe8\xf3\x5c\x68\xaa\x32\xe4\x91\x12\x96\xe3\x20\xba\x3c\x10\
+\x9d\xee\x78\x64\x68\x04\x5e\x2f\x49\xc2\x46\x8e\x8d\xd8\x5a\x13\
+\x96\xe3\xb1\xf2\xdf\xff\x1b\xc5\xe5\x76\xc3\x8e\x25\x4b\x96\xc0\
+\xed\x76\x53\x0d\x0d\x41\x10\x24\x66\x08\x82\xe8\x21\x3f\x3f\x3f\
+\x67\x16\xcd\x43\x75\xd7\xd4\x2a\x64\x8c\x67\x86\x61\xa0\xaa\x2a\
+\x0e\x1f\xee\x89\x1c\x94\x94\x94\xe0\xb2\xcb\x2e\xa3\x93\x3c\x40\
+\x31\x63\x35\x01\xd0\x75\x0d\x9d\x4d\xb5\xd9\x9e\xb8\x7e\x39\x8a\
+\x29\x52\xf4\x98\x0c\x58\x59\x8e\x87\xe0\x70\xc1\xe1\xf2\x42\x70\
+\x38\xc1\x72\x23\x33\x75\x2b\x5e\x7f\x14\x33\x6b\x6c\x46\x62\x7d\
+\xcd\xde\x6d\x6f\xa3\xf5\xc8\x3e\x73\xba\xa0\xa0\x00\xbf\xf9\xcd\
+\x6f\x4c\x6b\x76\x12\x34\x04\x41\x18\x50\xcd\x0c\x41\x10\x98\x38\
+\x71\x62\x92\xfb\x57\x36\x04\x02\x01\xf8\x7c\xbe\xa3\x83\x5e\xdd\
+\x76\x87\xbb\x3f\x75\x33\x56\xb1\xd2\xdb\xf6\xc6\x76\x9a\xa6\x41\
+\x55\x55\x68\x9a\x06\x49\x92\x50\x5d\x5d\x6d\xb3\x63\xbe\xf2\xca\
+\x2b\x21\x8a\x22\x9d\xe0\x01\x8a\x99\x54\x26\x00\x45\xe5\x93\xb3\
+\x7a\x0d\x4e\x10\xa1\xc8\xbd\x47\x76\x74\x5d\x87\x22\xc7\x20\x88\
+\xce\x63\x73\x20\x18\x06\x1c\x2f\x82\xe3\x45\xe8\x9a\x0a\x55\x91\
+\xa1\x2a\xf2\x88\x1b\x40\xeb\xba\x6e\xbe\x77\x96\xe3\xc1\x0b\x22\
+\x58\x6e\xf8\xff\xdb\x97\xa2\x21\xbc\xfb\xec\x6f\x6c\xf3\x7e\xf9\
+\xcb\x5f\xa2\xa0\xa0\xc0\xfc\xdd\x48\xbc\xb1\x41\x10\x04\x89\x19\
+\x82\x20\x4e\x60\x2a\x2a\x2a\xf0\xe9\xa7\x9f\x0e\x78\x3f\x5d\x5d\
+\x5d\xf0\x7a\xbd\x66\x01\x7f\xba\x01\x56\xaa\x65\x89\x62\xa7\x3f\
+\xdb\x59\x1b\x68\x4a\x92\x84\xaa\xaa\x2a\xdb\xf2\x4b\x2f\xbd\x74\
+\xd8\x1e\xf3\x03\x07\x0e\xe0\xb9\xe7\x9e\xc3\xc6\x8d\x1b\x11\x0c\
+\x06\xa1\xeb\x3a\xa6\x4f\x9f\x8e\xaf\x7c\xe5\x2b\xb8\xe0\x82\x0b\
+\x50\x54\x54\x34\x6c\xc4\x4c\xb2\x3d\x73\xcd\x00\x74\x02\x0b\x8e\
+\xe7\xa1\x2a\xbd\xf7\x95\x51\x65\x09\x2c\xcb\x0d\x69\x6f\x98\x94\
+\xef\x97\xe5\xc0\x8b\x1c\x78\xd1\x09\x4d\x53\xe3\x3d\x61\x54\x05\
+\xba\xa6\x62\x24\x69\x1b\x4d\x55\x20\xa9\x4a\xdc\x0d\xf0\xa8\xf9\
+\xc1\x70\x65\xc3\xcb\x0f\x23\xd8\xd1\x6c\x4e\x9f\x72\xca\x29\xb8\
+\xf4\xd2\x4b\x21\xcb\xf1\xf4\x43\xa3\x97\x14\x09\x1a\x82\x20\x48\
+\xcc\x10\x04\x01\x20\x77\x26\x00\x5d\x5d\x5d\x28\x2b\x2b\xeb\x33\
+\x0d\x24\xdd\x32\x63\x7e\x5f\xcb\x8d\xbf\xad\xd1\x99\x60\x30\x88\
+\xe6\xe6\x9e\x01\xd0\xc9\x27\x9f\x8c\x49\x93\x26\x0d\xab\xe3\x1c\
+\x0a\x85\xb0\x66\xcd\x1a\xfc\xf5\xaf\x7f\xc5\xc7\x1f\x7f\x9c\xb4\
+\x7c\xd7\xae\x5d\x78\xe5\x95\x57\xf0\x8b\x5f\xfc\x02\x0f\x3e\xf8\
+\x20\xce\x3b\xef\xbc\x21\x7d\x7f\x86\x31\x83\x92\x20\x34\x12\x23\
+\x33\xd9\x3a\x9a\x19\x70\xbc\xa3\x4f\x31\x03\xc4\xd3\xcd\x58\x96\
+\x05\x33\x4c\x8a\xf3\x59\x96\x8b\x1b\x05\x08\x0e\x40\xd7\x6d\xe2\
+\x46\x1b\x21\xa9\x5c\x9a\xa6\x41\x8b\x45\xa0\xca\x12\x78\x71\xf8\
+\xa5\xd2\x35\x1f\xae\xc2\xf6\xb7\x9f\xef\x19\xa4\xf0\x3c\xee\xbc\
+\xf3\x4e\x44\x22\x91\x04\x51\xcc\x50\x84\x86\x20\x88\xf8\x6f\x33\
+\x1d\x02\x82\x20\x72\x65\x02\xa0\xeb\xfa\x31\xeb\x07\x71\xe0\xc0\
+\x01\x9b\xd8\x19\x6e\x51\x99\x17\x5f\x7c\x11\x73\xe6\xcc\xc1\x2d\
+\xb7\xdc\x92\x52\xc8\x58\xe9\xee\xee\xc6\x55\x57\x5d\x85\x3b\xef\
+\xbc\x73\xc8\x07\xc9\xa9\xa2\x33\x7e\xbf\x1f\x5e\xaf\xd7\x9c\x6e\
+\x1f\xa0\x98\x61\x39\xae\x5f\xee\x61\xba\xae\x43\x8a\x45\x86\x67\
+\x7a\x17\xc3\xc4\x53\xb7\x44\x27\x44\x97\x17\x0e\xb7\x17\x82\xc3\
+\x35\x62\x0c\x04\x34\x4d\x85\x14\x0d\xc5\x6b\x6a\xf4\xe1\x23\xc4\
+\xde\xfd\xeb\x6f\x6d\x35\x3e\x97\x5c\x72\x09\x46\x8d\x1a\x85\x50\
+\x28\x84\x48\x24\x82\x58\x2c\x06\x45\x51\xcc\xf4\x52\xaa\x9d\x21\
+\x08\x82\xc4\x0c\x41\x10\xa8\xa8\xa8\xc8\xc9\x00\x8c\x61\x18\x04\
+\x83\xc1\x21\x7d\xef\x46\x74\xe6\xc0\x81\x03\xe6\x3c\x41\x10\x70\
+\xd1\x45\x17\x0d\x8b\x63\xab\x28\x0a\x7e\xfa\xd3\x9f\xe2\xfa\xeb\
+\xaf\x47\x77\x77\x77\xd2\x72\x8e\x17\xe0\x2b\x2a\x85\xb7\xa0\x24\
+\x69\xd9\x23\x8f\x3c\x82\xfb\xee\xbb\xef\x98\x8b\x19\xc0\x1e\x9d\
+\xe9\x18\x80\x3d\xb3\xf9\xb9\x85\xfe\xd5\x32\xe9\x9a\x06\x39\x16\
+\x19\xf6\xdf\xa1\x78\xfa\x9c\x10\x37\x10\x70\xfb\x20\x1e\x6d\xcc\
+\xc9\x72\x3c\x86\xb3\xb6\x51\x15\x19\xd2\x51\x5b\xe7\x63\x9d\x37\
+\xb7\x77\xdb\xdb\x38\x52\xdd\x93\xee\x3a\x6a\xd4\x28\xac\x5c\xb9\
+\x12\x1d\x1d\x1d\xe8\xee\xee\x46\x38\x1c\x46\x2c\x16\x83\x24\x49\
+\x50\x14\xc5\x66\x06\x40\xa2\x86\x20\x4e\x5c\x28\xcd\x8c\x20\x08\
+\xb8\xdd\x6e\x4c\x9e\x3c\x19\xfb\xf6\xed\x1b\xf0\xbe\x02\x81\x00\
+\x46\x8f\x1e\x9d\xb2\xf1\x65\x2a\xf1\xd3\x9f\xe5\xa9\x30\xf6\xaf\
+\x69\x1a\xda\xdb\xdb\xd1\xd5\xd5\x65\x2e\x5b\xbe\x7c\x39\x0a\x0b\
+\x0b\x8f\xf9\x71\x6d\x6e\x6e\xc6\xb5\xd7\x5e\x9b\x32\x12\x33\xba\
+\x62\x06\x66\x2f\xbd\x08\xd3\x17\xaf\x82\xd3\x93\x17\x17\x09\x4d\
+\x35\x58\xff\xc7\xff\xc2\x91\xbd\x9f\x99\xeb\xfd\xf6\xb7\xbf\xc5\
+\xca\x95\x2b\x31\x7b\xf6\xec\x63\x2e\x66\x0c\xdb\xeb\x68\xa8\x0b\
+\x91\x60\x27\x5c\x5e\x7f\xf6\x62\x86\x17\xfa\xed\x5a\xa6\xa9\x0a\
+\x14\x29\x0a\xfe\x58\x19\x02\x64\x41\x4f\x4a\x1a\x6c\x29\x69\xaa\
+\xaa\x0c\x3b\x77\x31\x5d\x07\x14\x59\x82\xaa\xc8\xf1\x66\xa2\xc2\
+\xd0\x9b\x66\xa8\x8a\x8c\x0f\x5f\xb8\xdf\x36\xef\xec\xb3\xcf\x46\
+\x20\x10\x30\x7b\x20\x25\x3e\x0c\x3b\xf6\x74\x75\x76\x04\x41\x90\
+\x98\x21\x08\xe2\x04\xe2\xa4\x93\x4e\xca\x89\x98\x89\x46\xa3\x70\
+\xbb\xdd\xe0\x79\x3e\xc9\xad\xac\x37\x37\xb3\x54\xee\x66\xbd\x3d\
+\x1b\x69\x26\xb2\x2c\xe3\x93\x4f\x3e\xb1\xbd\x87\xe1\x90\x62\xf6\
+\xc9\x27\x9f\xe0\x9a\x6b\xae\x41\x63\x63\xa3\x6d\x7e\xf9\xb4\x85\
+\x38\xfb\xdf\xfe\x13\xc5\x63\xa7\x26\x6d\x53\x30\x7a\x3c\x2e\xfd\
+\xcf\x27\xb1\xee\x8f\x77\x62\xd7\xc6\xd7\x01\x00\xb2\x2c\xe3\x86\
+\x1b\x6e\xc0\xdb\x6f\xbf\x3d\x24\xce\x6c\xfd\x36\x01\x68\x38\x04\
+\xd7\xd4\xf9\x03\x7a\x2d\x4e\x10\xa1\x48\xb1\x7e\xad\xab\xc8\x12\
+\x98\x61\x60\x08\x90\x15\x47\x53\xd2\x58\x8e\x07\x8f\xb8\xbd\xb5\
+\xe9\x90\x36\x8c\x84\x8d\xae\xeb\x90\xa5\x28\x54\xc5\xa8\xa7\x19\
+\xba\x21\xc2\xf6\xb7\xff\x0f\x9d\xcd\x75\xe6\x74\x49\x49\x09\x0a\
+\x0b\x0b\xd1\xde\xde\x6e\x36\xd4\xb5\x3e\x8c\x06\xba\x56\xb3\x11\
+\x12\x35\x04\x71\x62\x42\x69\x66\x04\x41\x00\x88\x17\xcc\xe7\x66\
+\xdc\x16\x4f\x35\x33\x06\x1b\xe9\x1e\x89\xcb\xfb\x5a\xdf\x78\x58\
+\xef\xc8\x1a\xe2\xa7\xba\xba\xda\x7c\xfd\xfc\xfc\x7c\xac\x5c\xb9\
+\xf2\x98\x1e\xcb\xad\x5b\xb7\xe2\xa2\x8b\x2e\x4a\x12\x32\x27\xad\
+\xfa\x37\x7c\xf3\x27\x7f\x48\x29\x64\xcc\xe3\xc7\xb2\x38\xfb\xca\
+\x9f\x22\x7f\x54\xb9\x39\xaf\xaa\xaa\x0a\x0f\x3c\xf0\xc0\x90\xbc\
+\x77\x41\x10\xe0\x70\x38\x92\xe6\x97\x97\x97\xdb\xa6\x07\x5a\x37\
+\x03\x00\x1c\x2f\x66\x34\xf8\x54\xa4\xe8\x88\xec\x99\x92\xfc\x1d\
+\x61\xc1\x0b\x0e\x38\x5c\xde\x61\xd9\xa8\x53\xd3\x34\x48\xd1\x30\
+\xa4\x68\x78\x48\x8e\x77\x34\xd8\x85\x8f\x5f\x7d\xc2\x36\x6f\xf2\
+\xe4\xc9\xe8\xec\xec\x44\x67\x67\x27\xba\xba\xba\x10\x08\x04\x10\
+\x0a\x85\x10\x8d\x46\xcd\x34\x33\x55\x55\xfb\x34\x0d\x21\x08\x82\
+\xc4\x0c\x41\x10\x27\x08\xb3\x67\xcf\xce\xd9\x9d\xff\xf6\xf6\xf6\
+\x94\x8d\x2d\x07\xfa\x9c\x98\x92\xa6\x69\x1a\x0e\x1d\x3a\x84\x70\
+\x38\x6c\xbe\xf6\x85\x17\x5e\x78\x4c\x7b\xcb\x1c\x3e\x7c\x18\xdf\
+\xfa\xd6\xb7\x10\x8b\xf5\x44\x1c\x44\x97\x07\x17\xdc\xf8\x5b\x9c\
+\x79\xd9\x0f\xfb\x55\xf8\x2e\x38\xdc\x58\xf5\xed\x5f\x80\x61\x7a\
+\x7e\xa2\xff\xf0\x87\x3f\xd8\x3e\xe7\x60\x62\xf4\x0a\xb2\x92\x6c\
+\xcf\x3c\xf0\xba\x19\xe6\x68\xc4\xa2\xbf\xc4\x0d\x01\xc2\xc7\xd5\
+\xc0\xd5\x68\xd4\x29\xba\xbc\x10\x44\x67\xbf\xae\x8f\x21\x13\x35\
+\xaa\x82\x58\x34\x08\x79\x90\x9b\x98\x6e\x78\xf9\x61\xc4\xc2\x01\
+\x73\xda\xef\xf7\x9b\x37\x45\x82\xc1\x20\x42\xa1\x10\xc2\xe1\xb0\
+\x29\x64\x64\x59\x36\x23\xb3\x64\x02\x40\x10\x04\x89\x19\x82\x20\
+\xe2\x03\x6e\x51\xcc\x59\x5d\x46\x2e\x1a\x70\xf6\x36\xa0\x35\x9e\
+\x35\x4d\xc3\x17\x5f\x7c\x61\x5b\x7e\x2c\x53\xcc\xba\xbb\xbb\x71\
+\xc5\x15\x57\xa0\xb5\xb5\xb5\x67\x60\x56\x32\x0e\xff\x7a\xe7\xb3\
+\x98\x7a\xf2\xd9\x19\xed\xab\x7c\xda\x42\xcc\x58\x72\x9e\xed\x98\
+\x3e\xf3\xcc\x33\xc7\x4c\xcc\x8c\x1d\x3b\xd6\x66\x85\xdb\x5c\xb3\
+\x27\x27\xaf\xc5\x8b\xce\x8c\xa2\x12\xba\xa6\x41\x8e\x86\x8e\xbb\
+\x01\x2c\xc3\x30\xe0\x04\x11\xa2\xcb\x03\xd1\xe5\x01\x27\x88\xc3\
+\x23\x5a\xa3\xc7\x7b\xfe\x48\x91\x20\x54\x45\xce\xf9\xee\xf7\x7d\
+\xfa\x2e\x76\xbc\xfb\x37\xdb\x71\xc8\xcf\xcf\x47\x34\x1a\x35\x1f\
+\x46\xd1\xbf\x2c\xcb\x66\xe1\x3f\x89\x18\x82\x20\x48\xcc\x10\x04\
+\x91\x44\xae\x52\xcd\x24\x49\x42\x28\x14\x1a\x14\x11\x63\x15\x32\
+\xb2\x2c\xe3\xe0\xc1\x83\xe6\xfc\x09\x13\x26\x60\xf1\xe2\xc5\xc7\
+\xe4\xd8\x29\x8a\x82\x6b\xae\xb9\x06\x7b\xf6\xf4\x0c\xf2\x9d\xde\
+\x7c\xac\xfe\xd1\xc3\x28\x28\x9d\x90\xd5\x3e\x4f\xf9\xda\xd5\xb0\
+\x5a\x61\x3d\xfa\xe8\xa3\x49\x3d\x60\x06\x4b\xcc\x24\x0e\xa4\x45\
+\x51\xb4\x59\x78\x37\x1d\xfc\x32\x67\x83\x78\x5e\x70\x64\xb4\x4d\
+\x3c\x0d\x2a\x34\xac\x2c\x85\x73\xfa\x8f\x99\xe5\x20\x88\x4e\x88\
+\x4e\xcf\x90\xd6\xad\xf4\xf5\xfd\x93\x63\x91\x78\xea\x59\x8e\x8e\
+\x7b\x57\x4b\x1d\xd6\x3d\x79\xa7\x6d\x9e\xcb\xe5\x32\x6b\xe2\x8c\
+\x47\xa2\x78\x21\x11\x43\x10\x04\x89\x19\x82\x20\x52\x72\xd2\x49\
+\x27\xe5\x6c\x5f\x2d\x2d\x2d\x66\x5a\x48\x2c\x16\x43\x2c\x16\x33\
+\xef\xb2\x26\xde\x75\xed\xed\xd9\xd8\x5e\x92\xa4\xa4\xe5\xfb\xf6\
+\xed\x33\xbb\x82\x03\xc0\xb9\xe7\x9e\x7b\xcc\xee\x66\xdf\x76\xdb\
+\x6d\x78\xff\xfd\xf7\xcd\x69\x8e\x17\xf0\xf5\x9b\xee\x85\xbf\x64\
+\x5c\xd6\xfb\x2c\x1a\x33\x09\x93\xe6\x2e\x35\xa7\x6b\x6b\x6b\xf1\
+\xea\xab\xaf\x0e\xfa\x67\xe1\x38\x2e\xa5\x11\x40\x65\x65\xa5\xf9\
+\x77\x34\xd4\x8d\xce\xe6\xda\xdc\xbc\x9e\x20\xda\xa2\x3e\xfd\x1a\
+\x5c\x1f\xad\xeb\x38\x1e\x6a\x68\xd2\x0a\x3d\x96\x85\xe8\x74\x43\
+\x70\xb8\x86\x4d\x4d\x8d\xa6\x2a\x90\x22\x21\xa8\xb2\x34\xa0\xfd\
+\xa8\x8a\x84\xd7\x1e\xfe\x31\x62\x91\xa0\xed\xba\xf3\x78\x3c\xa6\
+\xc8\x65\x18\x26\xad\x83\x99\xb1\x9c\x0a\xfe\x09\x82\x20\x37\x33\
+\x82\x20\x4c\x26\x4f\x9e\x8c\xfc\xfc\x7c\x9b\xcd\x71\xb6\x34\x37\
+\x37\xc3\xe3\xf1\x24\x59\x34\xdb\x06\xa4\x96\x79\x7d\x2d\x37\xa6\
+\x8d\xbb\xb4\x8a\xa2\x60\xef\xde\xbd\xb6\xf5\x57\xac\x58\x71\x4c\
+\x8e\xdb\x23\x8f\x3c\x82\xa7\x9f\x7e\xda\xfe\x5e\xae\xbe\x03\x63\
+\xa7\x2f\x1c\xf0\xbe\x4f\x39\xef\x6a\x1c\xd8\xf1\x81\x39\xfd\xfb\
+\xdf\xff\x1e\xab\x57\xaf\x1e\xf4\xcf\xe4\xf3\xf9\x92\xa2\x6b\xd3\
+\xa6\x4d\xc3\x1b\x6f\xbc\x61\x4e\x37\x1e\xfc\x72\x40\x62\xcd\xf6\
+\xcf\x48\x74\x42\x8a\x66\x56\x13\xa4\x1f\x8d\xd0\xf0\xa2\x03\x1c\
+\x2f\x1e\xb7\xdf\x4b\x8e\x17\xc0\x71\x3c\x14\x39\x06\x65\x80\x22\
+\x22\x17\x98\xae\x67\xaa\x0c\x41\x74\x81\x61\x33\xbf\x2f\xfa\xee\
+\x5f\xff\x07\xcd\x87\xab\x7a\x84\x1b\xc3\xc0\xe5\x72\x81\x65\x59\
+\xd3\x10\xc4\xea\x5e\xe6\x70\x38\x6c\x2e\x66\x86\xb0\x21\x41\x43\
+\x10\x04\x45\x66\x08\x82\xb0\x0d\x28\x16\x2c\x58\x90\x93\x7d\x19\
+\x1d\xbb\x0d\x01\x62\x15\x22\xd6\xb4\x91\x54\x7f\xa7\x9a\x67\x4d\
+\x3b\x51\x14\x05\x8a\xa2\xe0\xc8\x91\x23\xe6\xeb\x79\x3c\x1e\x9c\
+\x76\xda\x69\x43\x7e\xcc\xf6\xec\xd9\x83\xbb\xee\xba\xcb\x36\x6f\
+\xf1\xf9\xff\x8e\x99\x5f\xb9\x20\x27\xfb\x2f\x9f\xba\x00\x65\x53\
+\xe6\x9a\xd3\x5f\x7c\xf1\x05\xde\x7b\xef\xbd\x21\x11\x33\x89\x58\
+\x23\x33\x00\xd0\x74\xe0\xcb\x9c\xbd\x1e\xcb\xf1\xe0\x45\x47\xc6\
+\xdb\xc5\xd3\x9f\xa2\x90\x8f\x33\x63\x80\x14\x5f\x4e\xf0\xa2\x13\
+\x0e\x97\x07\x2c\x37\x3c\x4c\x02\x34\x55\x85\x14\x0d\x41\x91\x63\
+\x19\x6d\xb7\xe3\x9d\x17\xf0\xf9\xbb\x2f\xda\xe6\x59\xc5\x8a\xc3\
+\xe1\x80\xd3\xe9\x84\xcb\xe5\x82\xdb\xed\x86\xdb\xed\x86\xcb\xe5\
+\x82\xd3\xe9\x34\xd7\x49\x14\x33\x24\x68\x08\x82\xc4\x0c\x41\x10\
+\x04\x80\xdc\xd5\xcd\xb0\x2c\x8b\xae\xae\xae\x9c\x0f\x32\x8c\x6e\
+\xdf\x86\x5d\xab\xc1\x99\x67\x9e\x39\xe4\x2e\x66\x9a\xa6\xe1\xfb\
+\xdf\xff\x3e\x24\xa9\xe7\x6e\xf9\xb4\x53\x56\xe0\x2b\xab\x6f\xcc\
+\xe9\xeb\x9c\x72\xee\xd5\xb6\xe9\x87\x1e\x7a\x68\xd0\x3f\x9b\xc7\
+\xe3\x49\x4a\xfd\xaa\xa8\xa8\xb0\x1d\xe3\xfa\xfd\x9f\xe7\xf4\x35\
+\x79\xc1\x91\x75\x1f\x19\x55\x51\x20\x45\x82\xd0\x54\xe5\xb8\xfe\
+\x7e\x32\x2c\x07\xd1\xe9\x81\xe0\x70\x0e\x8b\x01\xbc\xae\xeb\x50\
+\xa4\x18\xa4\x48\x08\x9a\xa6\xf6\xba\xae\x1c\x8b\x60\xed\x93\x77\
+\xe0\xed\xa7\xff\x3f\xfb\x79\x3f\xda\x47\xc6\x10\x32\x2e\x97\x0b\
+\x1e\x8f\x07\x5e\xaf\xd7\x7c\x78\x3c\x1e\x53\xd0\x58\xa3\x33\xd6\
+\x63\x40\x82\x86\x20\x48\xcc\x10\x04\x41\xe4\xb4\x6e\xa6\xa3\xa3\
+\x23\xa7\x77\xcb\x0d\x21\xa3\xeb\x3a\xea\xea\xea\x6c\xcb\x8e\x45\
+\x8a\xd9\x13\x4f\x3c\x81\xad\x5b\xb7\x9a\xd3\xbe\xc2\x52\x9c\x73\
+\xed\xcf\x6d\x45\xfb\xb9\x60\xca\x82\xb3\x50\x50\x5a\x61\x4e\xbf\
+\xf7\xde\x7b\x49\x2e\x6e\x39\x1f\x34\x33\x4c\x52\x74\x86\xe3\x38\
+\x4c\x9d\xda\xd3\x23\xa7\xa5\x66\x4f\xce\x6b\x56\x04\x47\xf6\xf6\
+\xc4\xba\xae\x43\x8a\x86\x21\xc7\x22\xc7\x7d\x91\x38\xc7\x8b\x10\
+\x5d\x5e\x70\xc3\xc4\x20\x40\xd3\x54\x48\x91\x10\x14\x29\x0a\xc0\
+\x7e\xec\x03\x6d\x8d\xd8\xf0\xd2\x43\xf8\xe3\x8f\xcf\xc7\xae\x0d\
+\xff\x48\xba\xe9\xe1\x70\x38\x52\x0a\x99\xbc\xbc\x3c\xe4\xe5\xe5\
+\xc1\xe7\xf3\xc1\xe3\xf1\xc0\xed\x76\x9b\x11\x1c\xa3\x29\xaf\x11\
+\x9d\x21\x08\x82\xc4\x0c\x41\x10\x04\x80\x78\xe7\xed\xb1\x63\xc7\
+\xe6\x68\x80\xa3\x21\x14\x0a\x81\x65\x59\x33\x2d\x24\xb1\xe9\xa5\
+\xf1\xe8\x6d\x39\xc3\x30\xb6\x67\x5d\xd7\x6d\x29\x66\x00\xb0\x7c\
+\xf9\xf2\x21\x3d\x4e\x35\x35\x35\xb8\xfb\xee\xbb\x6d\xf3\xce\xbe\
+\xf2\xa7\x10\x9d\x9e\xc1\x50\x16\x38\xf9\xdc\x2b\x6d\xb3\x1e\x7c\
+\xf0\xc1\x41\xff\x8c\xa9\x52\xcd\xa6\x4f\x9f\x6e\xfe\xad\xc8\x31\
+\xb4\x1e\xd9\x9f\xeb\x0f\x0b\xc1\xe9\xca\xd8\x10\xc0\x8a\xaa\xc8\
+\x83\x66\x25\x3c\x9c\x60\x18\x06\x82\xd3\x9d\x55\x7a\xde\x60\xa1\
+\xc8\x92\x99\xf6\xb7\x6b\xe3\xeb\x78\xe9\x77\xdf\xc3\x93\x3f\x3e\
+\x0f\x9b\xff\xf1\x47\x84\xbb\xdb\x93\x84\x8c\x21\x4c\x44\x51\x84\
+\xd3\xe9\x84\xdb\xed\xb6\x09\x19\x43\xcc\x78\xbd\x5e\xb8\x5c\x2e\
+\x53\xf8\x50\x9a\x19\x41\x10\x06\x64\x00\x40\x10\x44\x12\x67\x9d\
+\x75\x56\x4e\x7a\x9a\x30\x0c\x83\x70\x38\x8c\xf1\xe3\xc7\xa7\x6c\
+\x7a\x69\xac\x63\xcc\xd7\x34\xcd\x14\x2b\x89\xf3\x75\x5d\x37\xeb\
+\x65\x82\xc1\x20\x9a\x9b\x9b\xcd\x7d\xcc\x9a\x35\x0b\x65\x65\x65\
+\x43\x7a\x8c\x7e\xf8\xc3\x1f\xda\x9a\x58\x56\x9e\x7a\x2e\x26\xcd\
+\x5b\x3a\x68\xaf\x37\x73\xc9\x79\xd8\xf8\xca\x23\x08\x75\xc6\x7b\
+\xd8\xac\x59\xb3\x06\x3f\xfb\xd9\xcf\x92\x9a\x59\x0e\xa5\x98\x01\
+\x80\x86\x03\x3b\x31\x6a\xdc\xd4\x1c\x0f\xd2\x59\x08\x4e\x0f\xe4\
+\x58\x18\x9a\xaa\x66\xb5\x0f\xc3\x4a\x58\x53\x64\xf0\x0e\xa7\xad\
+\x01\xe9\x71\xf7\x8f\x5c\x70\x80\x65\xb9\x63\x1f\x91\xd2\x75\xd4\
+\xef\xdb\x81\x3d\x5b\xd6\x61\xdf\xa7\xef\x42\x8e\x45\xd2\xae\xca\
+\xb2\xac\x99\x2e\x66\x14\xf8\xbb\x5c\x2e\x78\xbd\x5e\xf8\x7c\x3e\
+\xe4\xe7\xe7\x9b\x0f\x23\x32\x63\x88\x99\x44\x03\x00\x82\x20\x4e\
+\x6c\x28\x32\x43\x10\x44\x12\x2b\x57\xae\xcc\xd9\xbe\x8c\x54\x33\
+\xc3\xa1\xc8\x78\x36\x1e\xd6\xf9\xc6\x5d\x5a\xeb\x7c\x8e\xe3\xcc\
+\xc1\x8b\x31\x80\x39\x72\xe4\x08\x34\x4b\x7a\xd3\x39\xe7\x9c\x33\
+\xa4\xc7\xe7\xb9\xe7\x9e\xb3\x15\xe1\xbb\xbc\x7e\x2c\xfb\xd7\x1f\
+\x0f\xea\x6b\x72\xbc\x88\x05\xcb\xaf\x30\xa7\x15\x45\xc1\x13\x4f\
+\x3c\x31\xa8\xaf\x69\x14\x5c\xf7\x26\x66\xea\xab\x3f\x1b\x94\xd7\
+\x66\x18\x06\xa2\xd3\x93\x75\x0d\x8d\x81\x6a\x58\x09\x2b\xd2\x71\
+\xfd\x9d\x65\x39\x1e\xa2\xcb\x7b\x4c\xfa\xd2\xb4\xd4\x56\x63\xe3\
+\x2b\x8f\xe0\xa9\xdb\x2f\xc6\xdf\x1f\xf8\x3e\xaa\x36\xbd\xd1\xa7\
+\x90\x31\xbe\xd3\x86\x6b\x99\x91\x5e\x96\x4a\xc8\x78\xbd\x5e\x33\
+\xc5\x8c\xdc\xcc\x08\x82\x20\x31\x43\x10\x44\x9f\x8c\x19\x33\x06\
+\x73\xe6\xcc\xc9\xc9\xbe\x74\x5d\xb7\x45\x51\x32\xdd\xd6\xfa\xb7\
+\xe1\x6e\x66\x6d\x94\x09\x0c\x6d\x8a\x59\x6b\x6b\x2b\xee\xb8\xe3\
+\x0e\xdb\xbc\xb3\x2e\xff\x11\x5c\x5e\xff\xa0\xbf\xf6\xbc\x65\x97\
+\x80\x17\x9d\xe6\xf4\xb3\xcf\x3e\x8b\x48\x24\x32\xa8\xaf\xe9\xf7\
+\xfb\x93\xae\x0d\xaf\xd7\x6b\x4e\xd7\xec\xfe\x64\x50\x5f\x5f\x70\
+\xb8\xc0\x0b\xe2\x80\xaf\x41\x39\x16\x8d\x37\xda\x3c\x9e\xfb\xd2\
+\x30\x0c\x44\xa7\x3b\xe3\x26\xa4\xd9\x10\xe8\x68\xc2\xb6\x75\xcf\
+\xe0\xb9\xbb\xaf\xc4\xdf\xee\xf9\x0e\xb6\xbf\xfd\x3c\xc2\xdd\x6d\
+\x7d\xbe\x3f\x6b\x2a\xa9\x21\x64\x8c\xf4\x32\x9f\xcf\x87\xbc\xbc\
+\x3c\x53\xc8\x58\xeb\x65\x9c\x4e\x67\x52\x8a\x19\x41\x10\x04\x89\
+\x19\x82\x20\xd2\xb2\x6a\xd5\xaa\x9c\xed\xab\xb1\xb1\x71\xc0\x83\
+\x51\xab\x4d\xf3\xa1\x43\x87\xcc\x65\x05\x05\x05\x39\x73\x60\xeb\
+\x0f\xf7\xde\x7b\x2f\x3a\x3b\x3b\xcd\xe9\xf1\x33\x17\x63\xdc\x8c\
+\x45\x08\x75\xb6\x20\x1a\xea\xce\xd8\xa6\x36\x13\x1c\x6e\x1f\x66\
+\x2e\x39\xcf\x9c\xee\xea\xea\xc2\x0b\x2f\xbc\x30\xa8\x9f\xb7\xa0\
+\xa0\x20\x69\x40\x3a\x7f\xfe\x7c\x73\x3a\xd8\xde\x94\xb3\xe6\x99\
+\xe9\xe0\x45\x27\x04\x8b\x88\xcb\x96\x6c\xad\x84\x47\x1a\xbc\xe8\
+\x80\xe8\x74\x0f\x4a\xc4\xa2\xb5\xb6\x1a\xff\x78\xf8\x36\x3c\x7d\
+\xe7\x65\xd8\xfc\xda\x13\xe8\x68\x38\xdc\x6f\xa1\x65\x88\x19\x6b\
+\x2f\x99\xc4\x3a\x19\x6b\x54\x26\x2f\x2f\xcf\x8c\xca\x18\x2e\x66\
+\x54\x2b\x43\x10\x04\x89\x19\x82\x20\xfa\xc5\x99\x67\x9e\x09\xa7\
+\xd3\x99\x93\x7d\x85\x42\x21\x74\x74\x74\x20\x16\x8b\x21\x1a\x8d\
+\xa6\x7d\x36\x1e\xc6\xb4\x24\x49\x88\xc5\x62\x90\x24\xc9\x5c\xd6\
+\xd0\xd0\x60\x6b\xe6\xb8\x6c\xd9\x32\x70\x43\xd4\x77\xa3\xa1\xa1\
+\x01\x7f\xf9\xcb\x5f\x6c\x83\xec\xd3\x2f\xb9\xd9\x14\x5c\x8a\x14\
+\x45\x34\xd8\x85\x70\x77\xfb\x51\x57\xa7\xdc\x33\xff\xec\xcb\x6c\
+\xd3\x83\x9d\x6a\x66\xa4\xf7\x58\x49\x14\x8f\x87\x76\x6e\x18\xf4\
+\x63\xcf\x09\x22\x04\x87\x6b\xc0\x83\x57\xab\x95\xb0\xae\xa9\xc7\
+\xed\xf7\x37\x9e\x76\xe6\xc9\xda\x19\x2e\x91\xee\xb6\x06\xbc\xf5\
+\xd4\x2f\xf1\xc2\x6f\xbe\x8b\x9a\xaa\x2d\x40\x06\xb5\x39\x56\x21\
+\x63\xa4\x8d\xa6\x2a\xf8\xcf\xcf\xcf\x87\xdf\xef\x87\xdf\xef\x4f\
+\x8a\xca\x18\x29\xa8\x94\x5e\x46\x10\x44\xd2\x0d\x1c\x3a\x04\x04\
+\x41\xa4\xc2\xe5\x72\xe1\x8c\x33\xce\xc0\xfa\xf5\xeb\x73\xb2\xbf\
+\xc3\x87\x0f\xa3\xbc\xbc\xdc\x8c\xb2\x24\x1a\x02\x18\xcf\x2c\xcb\
+\x42\xd3\x34\x73\xda\x1a\x91\x91\x24\xc9\x16\x95\x01\x80\x33\xce\
+\x38\x63\xc8\x8e\xc9\xfd\xf7\xdf\x8f\x58\xac\xe7\xae\xfe\xec\xa5\
+\x17\xc2\xeb\x1f\x95\xb4\x9e\xa6\x2a\x88\x86\xba\xc1\x46\xc3\x70\
+\x7a\xf2\x72\x5a\xc7\x50\x3c\x76\x2a\xc6\x55\x9e\x8c\xda\xdd\x71\
+\x4b\xe8\xdd\xbb\x77\xe3\xc3\x0f\x3f\xc4\xd2\xa5\x83\x67\x3e\xe0\
+\xf7\xfb\xd1\xd4\xd4\x64\x4e\x2f\x5c\xb8\xd0\xb6\xfc\xe0\xe7\x1b\
+\x30\xff\xec\x7f\x19\x7c\x41\xc3\x0b\x60\x18\x36\x27\x0d\x32\x35\
+\x2d\x1e\xa5\xe1\x78\xc7\xb0\x72\x03\xcb\x25\x0c\xc3\x42\x74\xb9\
+\x21\x47\x23\x50\xb3\xec\xbf\x13\x0b\x77\x63\xdb\x9b\x4f\x63\xe7\
+\x87\xaf\x64\xec\x0e\x67\x88\x8d\xde\x84\x8c\xc7\xe3\x41\x5e\x5e\
+\x9e\x29\x62\xfc\x7e\xbf\x19\x95\xa1\xa2\x7f\x82\x20\xfa\x75\xf3\
+\x86\x0e\x01\x41\x10\xe9\xc8\x65\xaa\x59\x67\x67\x27\x24\x49\x32\
+\x9d\xc9\xd2\x3d\xab\xaa\x6a\x13\x30\xc6\x43\x55\x55\x68\x9a\x66\
+\x1b\x54\x03\xc0\xa2\x45\x8b\x86\xe4\x58\x1c\x39\x72\x04\x4f\x3f\
+\xfd\xb4\x39\x2d\x38\xdc\x98\x77\xd6\x37\x7b\x1f\x30\xab\x0a\xc2\
+\x81\x8e\x5e\x8b\xa1\xb3\x61\xfe\x72\xbb\x70\x18\xec\xe8\x4c\x62\
+\xaa\x59\x59\x59\x19\xca\xcb\xcb\xcd\xe9\xba\xea\x4f\xfb\x6c\x98\
+\x98\xb3\x7f\x5a\x1c\x77\x34\xe2\x30\xf0\x7f\x5f\xba\x1e\xb7\x97\
+\x96\x22\xc1\x21\x7b\xff\xc7\x40\xd2\x40\x70\xba\xc1\x65\x58\x77\
+\xa4\x2a\x32\x3e\x7b\xeb\xaf\x78\xe6\xe7\x97\x63\xfb\xbb\x2f\x64\
+\x24\x64\xac\x29\x60\x86\x88\x49\x17\x91\xb1\x46\x63\x0a\x0a\x0a\
+\x50\x50\x50\x60\x73\x30\x4b\x6c\x92\x49\x51\x19\x82\x20\x48\xcc\
+\x10\x04\xd1\x6f\xe6\xce\x9d\x9b\x33\xcb\x63\x86\x61\xd0\xd2\xd2\
+\x92\xd5\x20\xc4\x2a\x6e\x5a\x5b\x5b\x6d\x83\x6c\x6b\x13\xc7\xc1\
+\xe4\xde\x7b\xef\x85\x24\xf5\x38\x62\xcd\x5e\x7a\x21\x1c\x1e\x5f\
+\xbf\x46\xcc\xb1\x70\x00\xd1\x50\x37\x12\x9b\x09\x66\xcb\x94\x05\
+\xcb\xe0\x2b\x2a\x35\xa7\xd7\xae\x5d\x8b\x9a\x9a\x9a\x41\xfb\xec\
+\x46\xe7\x75\x2b\xd6\xe6\xaa\x72\x34\x8c\xc6\xfd\x3b\x87\x6e\x78\
+\xce\xb0\x71\xa7\xb3\x1c\x45\xbc\x34\x4d\x3b\xee\x6b\x69\x04\xd1\
+\x69\x33\x8f\xe8\x8d\xfd\x9f\xbe\x8b\x67\xff\xfb\x0a\x6c\x5a\xf3\
+\x38\x62\x91\x60\x46\x02\xc6\xda\x0f\x2a\x51\xc4\xa4\x6a\x8a\x69\
+\x88\x98\xc2\xc2\x42\x53\xc8\x58\xa3\x32\xa2\x28\x52\xd1\x3f\x41\
+\x10\x24\x66\x08\x82\xc8\x5e\x80\xe4\xda\xa6\xd9\x2a\x08\xfa\x23\
+\x62\xac\x8f\x68\x34\x8a\x40\x20\x60\x1b\x50\x0f\xc5\x1d\xda\x9a\
+\x9a\x1a\xfc\xf5\xaf\x7f\xed\x19\x18\x3a\xdc\x98\x7b\xd6\xc5\x19\
+\xed\x43\x91\xa2\x47\x05\x4d\x0e\xce\x0b\xcb\x62\xfe\x57\x2f\xb5\
+\x0d\xc6\xff\xf4\xa7\x3f\x0d\xea\x31\x48\x8c\xce\x24\xd6\xcd\x1c\
+\x1c\x82\xba\x99\x84\x8b\x33\xde\x30\x32\x57\xce\x5d\x3a\xe2\xb5\
+\x34\xd1\xf0\xb1\xed\xd5\x32\x88\xf0\x7d\xd4\x1d\xe9\xba\x8a\x0d\
+\x2f\x3d\x84\x75\x7f\xfa\x2f\x04\x3b\x9a\xfb\xf5\xfb\x90\x18\x85\
+\xb1\xa6\x93\x59\x45\x8c\x35\x1a\xe3\xf3\xf9\xe0\xf7\xfb\x51\x58\
+\x58\x88\xc2\xc2\x42\x14\x15\x15\x99\x62\xc6\xef\xf7\xc3\xe7\xf3\
+\x99\xb5\x5a\xd6\x5a\x19\x2a\xfa\x27\x08\x82\xc4\x0c\x41\x10\x19\
+\x73\xce\x39\xe7\xe4\x6c\xf0\xc0\xb2\x2c\xda\xda\xda\x20\x08\x02\
+\x18\x86\x31\xef\xb6\x1a\x03\x15\xeb\x33\x00\xdb\x00\x46\xd7\x75\
+\x5b\x54\x06\x18\xba\x14\xb3\x7b\xef\xbd\x17\xb2\xdc\x93\x66\x33\
+\xfb\x8c\x8b\xe0\x70\xfb\x32\xde\x8f\x22\xc5\x10\x0b\xe7\x46\xd0\
+\xcc\x39\x63\xb5\xcd\xb2\xf8\x99\x67\x9e\x19\x54\x9b\xe6\x44\x31\
+\x33\x6f\xde\x3c\xf0\x7c\x4f\x64\xe4\xd0\xce\x8d\xc7\x66\x80\x2e\
+\x3a\x72\x62\x0c\x60\x0a\xc3\xa3\x7d\x69\xb2\x6d\xd6\x39\xdc\xe1\
+\x78\x01\x82\x23\xd9\xe9\x2c\x1a\xec\xc4\xab\xff\x3f\x7b\xef\x1d\
+\x25\x47\x79\xe7\x7b\x7f\x3b\xe7\x3c\x39\x8f\x24\x24\xa1\x80\x84\
+\x00\xc9\x80\xc9\xc6\x18\x30\x18\x30\x8b\xd7\x5e\x63\xb3\x07\xd6\
+\x69\xf7\x35\xd8\xaf\xaf\xbd\x77\x6d\xf6\xf5\xfa\x78\x77\x7d\xd7\
+\xf7\xfa\xe2\x75\xc4\x0b\x8b\x8d\xd7\x80\xbd\x98\x60\x40\x12\x20\
+\x19\x21\x24\x24\xa1\x2c\xcd\xa0\x19\x4d\xce\xb1\x7b\xa6\x7b\x3a\
+\x77\x75\xf5\xfb\x87\x78\x4a\x4f\x57\x57\x4f\xea\x30\x41\xbf\xcf\
+\x39\x75\x3a\x57\x3d\xf5\x54\x75\xf7\xef\x5b\xbf\xf4\xef\xff\x2f\
+\x4e\xbe\xf5\xdf\x73\x16\x30\xcc\x03\xc3\x44\x0c\x5f\x72\xd9\x64\
+\x32\x65\x24\xf9\xbb\x5c\x2e\x78\x3c\x1e\x78\x3c\x1e\x94\x94\x94\
+\x48\xf7\x5d\x2e\x57\x86\x57\x46\xab\xd5\x52\x68\x19\x41\x10\x24\
+\x66\x08\x82\x98\x3f\xe5\xe5\xe5\xb8\xf4\xd2\x4b\xf3\xb6\xbe\xc9\
+\xc9\x49\xe8\x74\x3a\xb8\xdd\x6e\xe9\xea\xac\xd2\xad\xc7\xe3\x91\
+\xe2\xe9\x59\xa9\x56\xbf\xdf\x5f\x74\x31\xd3\xd3\xd3\x83\xe7\x9e\
+\x7b\x4e\x7a\xac\x33\x9a\x71\xc9\x75\x9f\x9c\xf7\xfa\x12\xb1\xe8\
+\xac\x43\x77\xa6\xc3\x68\x75\x60\xed\x87\x6e\x4b\x9b\xd7\xe7\x9f\
+\x7f\xbe\x60\xf3\x60\x30\x18\x60\x36\x9b\xa5\xc7\x66\xb3\x19\x17\
+\x5f\x7c\xb1\xf4\x78\xb4\xb7\x05\xd1\x90\x7f\xe1\x0c\x74\xa3\x19\
+\x2a\x55\x7e\xfe\xd2\x52\x29\x11\xf1\xd8\xf2\x0d\x3b\x53\x6b\x34\
+\xd0\x1b\x2d\x50\x7d\x10\xb6\x35\xd6\xd7\x8a\x3f\xfc\xaf\xbf\xc1\
+\x40\xdb\xf1\x39\x89\x18\xde\x0b\xc3\x04\x0c\x0b\x25\x63\xc9\xfd\
+\x7c\x38\x19\xf3\xc2\x94\x96\x96\xa6\x2d\x25\x25\x25\x52\x88\x99\
+\xbc\x41\xa6\x3c\xe9\x9f\x04\x0d\x41\x10\x24\x66\x08\x82\x98\x33\
+\xf9\x2c\x04\xa0\x52\xa9\x30\x38\x38\x08\x9d\x4e\x27\x25\xf6\xb2\
+\xfb\xfc\x73\xcc\x48\xe2\x8d\x19\x3e\xf9\x5f\xab\xd5\x66\x54\xd5\
+\x2a\x04\x3f\xfa\xd1\x8f\x20\x08\xe7\x2b\x41\x6d\xbc\xee\x6e\x18\
+\xcc\xd6\x9c\xd6\x99\x88\x86\x91\x4c\xe4\xde\x91\xfe\xd2\x22\x17\
+\x02\x90\x37\xd0\xe4\x43\xcd\x52\xa2\x88\x96\x43\xaf\x2f\xdc\x9f\
+\x99\xfa\x83\xc2\x00\xf9\x2a\xd3\xbd\xcc\xc3\xce\x54\xea\x73\x79\
+\x47\x67\x0f\xbf\x81\x17\xfe\xcf\xdf\x65\x0d\x2b\x9b\x49\xc0\xc8\
+\xbd\x30\x16\x8b\x05\x16\x8b\x05\x36\x9b\x2d\xcd\x0b\x53\x52\x52\
+\x82\xd2\xd2\x52\x94\x95\x95\xa1\xbc\xbc\x1c\xe5\xe5\xe5\x28\x2b\
+\x2b\x43\x69\x69\xa9\xe4\x95\x51\x2a\xc5\xcc\xb6\x49\x22\x86\x20\
+\x08\x12\x33\x04\x41\xcc\x9b\xeb\xaf\xbf\x1e\x15\x15\x15\x79\x5b\
+\xdf\xe8\xe8\xe8\xac\x42\xa2\xf8\xd2\xcc\x89\x44\x02\x63\x63\x63\
+\xd2\x6b\xeb\xd6\xad\x4b\xf3\x14\x14\x02\xb9\xb7\x43\xa5\x56\x63\
+\xdd\x95\x1f\xcf\xcb\xba\x63\xe1\xa9\x39\xf5\xea\x50\xa2\xb4\x6e\
+\x0d\xaa\x2f\x3a\xef\x35\x7b\xff\xfd\xf7\xb1\x7f\x7f\xe1\x72\x57\
+\x5c\x2e\x57\x9a\x51\x79\xc3\x0d\x37\xa4\xbd\xde\xb4\xf7\xa5\x85\
+\x35\xd0\x55\xaa\x73\x85\x01\xb4\xba\xbc\xad\x73\x39\x87\x9d\x1d\
+\xdf\xf5\x2c\x76\xfd\xe6\x9f\x91\x14\xe2\x73\x16\x31\x4a\x5e\x18\
+\x9b\xcd\x06\xbb\xdd\x2e\x25\xf4\x33\x2f\x0c\x13\x30\x15\x15\x15\
+\xa8\xac\xac\x44\x45\x45\x85\x24\x66\x98\x57\x86\x35\xc8\xcc\xd6\
+\x53\x86\x8d\x89\x20\x08\x82\xc4\x0c\x41\x10\x73\x46\xa3\xd1\xe0\
+\x33\x9f\xf9\x4c\xde\xd6\x97\x4a\xa5\xb2\x56\xdf\x62\x57\xc1\xe5\
+\x3d\x66\xc6\xc6\xc6\xd2\x3c\x24\xc5\x08\x31\xfb\xc3\x1f\xfe\x90\
+\xd6\x57\x26\x25\x8a\xd8\xff\xe2\xcf\x72\x16\x21\xc0\x07\x7d\x4e\
+\x62\xe1\x9c\xd7\x73\xe9\xcd\x9f\x4e\x7b\xfc\xab\x5f\xfd\xaa\x60\
+\xf3\xa1\xd7\xeb\xd3\xbc\x33\x95\x95\x95\xd8\xb0\x61\xc3\x79\x91\
+\xda\x73\x06\xbe\xc1\xae\x05\x3f\x5f\x75\x06\x53\xfe\x0a\x03\x60\
+\x79\x86\x9d\xbd\xf7\xda\x53\xd8\xf3\xcc\x0f\xe7\x25\x62\x78\x2f\
+\x8c\x52\x18\x59\x49\x49\x49\x86\x80\xa9\xaa\xaa\x42\x55\x55\x55\
+\x9a\x98\x29\x2d\x2d\x85\xdb\xed\x96\xc2\xcb\x58\x4f\x19\x0a\x2f\
+\x23\x08\x82\xc4\x0c\x41\x10\x79\xe7\x96\x5b\x6e\x41\x69\x69\x69\
+\xde\xd6\x37\x32\x32\x82\x70\x58\x39\x84\x47\x49\xd0\x0c\x0e\x0e\
+\xa6\xbd\xa7\x18\x62\xe6\xe9\xa7\x9f\xce\x78\xae\xeb\xe4\x3e\x1c\
+\x79\xfd\xe9\xbc\xac\x3f\x1e\x0d\xe7\xdc\xdf\x64\xd5\x65\x37\xc2\
+\xea\x2a\x93\x1e\xef\xdc\xb9\x13\x7d\x7d\x7d\x05\x9b\x13\xb9\x87\
+\x4e\x5e\xed\xae\xe9\x9d\x97\x17\xc5\xf9\xaa\xd5\xe7\xb9\x19\xe6\
+\x32\x0a\x3b\x7b\xf7\xc5\x9f\x63\xdf\xf3\xff\xae\x28\x64\xd8\x2d\
+\x13\x32\x4a\x9e\x98\xe9\xc2\xc8\x78\x01\x53\x5d\x5d\x9d\xb6\xf0\
+\x62\x86\x17\x32\xac\x7a\x19\xeb\x29\xc3\x8a\x09\x50\xf5\x32\x82\
+\x20\x48\xcc\x10\x04\x91\x3f\xe3\x50\xab\xc5\xa7\x3f\xfd\xe9\xfc\
+\xd9\x86\xa9\x14\xce\x9e\x3d\x8b\x44\x22\x81\x68\x34\x8a\x58\x2c\
+\x86\x68\x34\x8a\x78\x3c\x8e\x68\x34\x2a\x2d\xec\xf9\xe1\xe1\xe1\
+\xb4\xcf\x5f\x71\xc5\x15\x05\xdd\xdf\xc3\x87\x0f\xa3\xa5\xa5\x45\
+\xf1\xb5\x63\x6f\x3c\x83\x81\xb6\x13\xf9\x98\x04\x24\xa2\xb9\x79\
+\x67\xd4\x6a\x0d\x36\xdd\x70\xbe\x79\x67\x32\x99\x2c\x68\x99\x66\
+\xa3\xd1\x08\x87\xc3\x21\x3d\xbe\xf6\xda\x6b\x61\x30\x9c\x17\x0d\
+\x67\x0e\xbc\x8a\x94\x28\x2e\x8e\x73\x56\x67\x80\x6e\x96\xbd\x55\
+\x66\xcb\xb9\xb0\xb3\x20\xc4\xa4\xb0\xe4\xbe\xc3\xa9\x94\x88\xb7\
+\x7f\xff\x23\x1c\xfc\xd3\x7f\x28\x0a\x19\x79\x75\xb2\xd9\x88\x18\
+\x16\x46\x56\x51\x51\x81\xaa\xaa\x2a\x49\xb8\xd4\xd4\xd4\xa4\xdd\
+\x56\x55\x55\x49\x1e\x99\x92\x92\x12\xa9\xd0\x07\x5f\x86\x99\xcf\
+\x97\x23\x11\x43\x10\x04\x89\x19\x82\x20\xf2\xce\x6d\xb7\xdd\x06\
+\x8f\xc7\x93\xb7\xf5\x4d\x4e\x4e\xa2\xb7\xb7\x17\x81\x40\x00\x93\
+\x93\x93\x08\x04\x02\x98\x98\x98\x48\x7b\xec\xf3\xf9\x10\x08\x04\
+\xe0\xf5\x7a\xa5\xcf\x95\x95\x95\xa1\xb6\xb6\xb6\xa0\xfb\xaa\xe4\
+\x95\xe1\x39\xf4\xca\x13\x79\x09\x37\x13\xe2\xb9\x87\x2e\x5d\x72\
+\xfd\x27\xa1\xd1\xea\xd3\xc6\x1e\x08\x04\x0a\x36\x37\xe5\xe5\xe5\
+\xd2\x7d\xb3\xd9\x8c\x0f\x7f\xf8\xc3\xd2\xe3\x90\xdf\x8b\x9e\xf7\
+\x0f\x2e\x9a\x73\x56\xf3\x41\x6f\x95\xfc\x8a\x82\x14\xe2\xd1\xf0\
+\x92\x0a\x3b\x1b\xee\x6c\xc2\x33\xdf\xbb\x1f\x47\x77\xfe\x56\x41\
+\x10\xab\x15\x43\xca\x58\x7f\x18\x5e\xc4\xf0\xb9\x30\xcc\x0b\xc3\
+\x42\xc8\xe4\x42\x86\xf7\xc6\xb0\xb0\x32\xa5\x12\xcc\xd9\xfa\xc9\
+\x30\x91\x45\x10\x04\x41\x62\x86\x20\x88\xbc\xa0\xd3\xe9\xf0\xa9\
+\x4f\x7d\x2a\x6f\xeb\x53\xa9\x54\x18\x1a\x1a\x82\x28\x8a\x52\x38\
+\x19\x9f\x27\x93\x4c\x26\x91\x4a\xa5\x20\x08\x02\x82\xc1\xf3\xe5\
+\x8c\x2f\xba\xe8\xa2\x82\xee\x67\x20\x10\xc0\x4b\x2f\x4d\x9f\xcc\
+\x3e\xde\xdf\x86\x8e\x13\x7b\xf3\x60\x18\x8b\x39\x1b\xc5\x26\x9b\
+\x0b\x17\x5f\x75\xbe\x4c\xb3\xdf\xef\x2f\x68\xee\x0c\x33\x6e\x19\
+\x19\xa1\x66\x0b\x5c\x08\x20\x43\xd0\x68\x75\x1f\xf4\xa2\xc9\xef\
+\x7a\x59\xd8\x19\x16\x71\xd8\x59\x24\x38\x89\x37\x9f\xfa\x1e\x9e\
+\xf9\xfe\xe7\x30\xd2\xfd\xbe\xa2\x90\xe1\x3d\x32\xcc\x1b\xc3\x12\
+\xfb\x95\x3c\x31\xe5\xe5\xe5\x52\x1e\xcc\x74\x02\xa6\xa2\xa2\x22\
+\xad\x62\x19\x1f\x56\xc6\x0b\x19\x79\x8e\x0c\x09\x19\x82\x20\x48\
+\xcc\x10\x04\x51\x30\x3e\xfe\xf1\x8f\x67\x94\xe8\xcd\x05\x51\x14\
+\x33\x42\xc8\xce\x1b\xfa\xe7\x72\x66\x82\xc1\x20\x92\x5c\x35\xa9\
+\xd5\xab\x57\x17\x74\x1f\x9f\x7f\xfe\xf9\x59\x55\x5b\x7b\x6f\xfb\
+\x53\x79\xa9\x72\x95\x0f\xef\xcc\xb6\x8f\x3f\x08\xb5\xfa\x7c\x59\
+\xe2\xc7\x1f\x7f\x3c\x4d\x00\xe6\x1b\xde\x3b\xb3\x79\xf3\x66\x94\
+\x95\x9d\xcf\xdb\xe9\x3c\xbe\x27\x2f\xbd\x74\xf2\x2f\x68\xcc\x79\
+\x37\x90\xc5\xa4\x80\x78\x34\xb4\x68\x42\xeb\x78\x91\x7c\xf2\xad\
+\xff\xc6\x53\x7f\xff\x09\x9c\xde\xfb\xa2\xa2\xe0\x92\x7b\x63\xe4\
+\x21\x65\x7c\x62\xff\x74\x9e\x18\x26\x60\xe4\x22\x86\x35\xc4\x64\
+\xbd\xa2\xe4\x22\x86\xf7\xc6\x90\x47\x86\x20\x08\x12\x33\x04\x41\
+\x14\x05\x83\xc1\x80\xfb\xee\xbb\x2f\xaf\xeb\x9c\x9c\x9c\x44\x3c\
+\x1e\xcf\x10\x31\xcc\x4b\x23\x6f\x96\x59\x68\x31\xf3\x9b\xdf\xfc\
+\x66\x56\xef\x9b\xf2\x0e\xe1\xcc\x81\x57\x73\x17\x33\x89\x58\xce\
+\x57\xf7\x1d\xa5\x35\x58\x7b\xe5\x79\xef\xcc\xc4\xc4\x04\x9e\x78\
+\xe2\x89\x82\xcd\x11\xcb\x75\x60\x86\xe7\xcd\x37\xdf\x7c\x7e\x7f\
+\x84\x04\x4e\xec\xfa\xfd\xe2\xfb\xc3\xd3\x68\x3f\xf0\xd0\xe4\x59\
+\xd0\x88\x22\xe2\xd1\xd0\xa2\xc9\xa3\x19\x6a\x3f\x85\xdf\xfd\xd3\
+\x5f\x61\xf7\xd3\xff\x82\x68\x28\x33\xdc\x90\x4f\xf0\xe7\x93\xfc\
+\x59\x63\x54\xb9\x37\x86\x55\x26\xe3\xab\x92\xcd\x24\x60\x58\x4e\
+\x8c\xdd\x6e\x4f\x13\x31\xac\xf4\x32\x9f\x1f\xc3\x7b\x64\x28\x57\
+\x86\x20\x08\x12\x33\x04\x41\x14\x9c\x3b\xef\xbc\x13\x76\xbb\x3d\
+\x6f\xeb\x63\x8d\x34\x79\x03\x4b\xfd\x41\x77\x72\x95\x4a\x95\x91\
+\xff\x51\xc8\x30\xb3\xe3\xc7\x8f\xa3\xb9\xb9\x79\xf6\xef\x7f\xf3\
+\xd9\xdc\xaf\xca\xa7\x52\x48\x0a\x89\x9c\xc7\xbe\xed\x8e\x87\xa4\
+\xae\xee\x00\xf0\xf3\x9f\xff\x1c\xa1\x50\xa8\x60\x73\xc5\x57\x36\
+\xbb\xe5\x96\x5b\xa4\x63\x06\x00\x87\xb7\x3f\x85\x68\xd0\xbf\x38\
+\x05\x8d\x31\xff\x1e\x9a\x54\x2a\x85\x44\x2c\xac\xd8\xb3\xa5\x58\
+\x84\x03\x3e\xbc\xfe\xe4\xff\x87\x67\xff\xe5\x01\x8c\xf6\xb4\x28\
+\x7e\xcf\xe4\x25\x97\xf9\xb0\x32\x79\x6e\x8c\xbc\x3a\x19\x13\x2f\
+\xd3\x85\x91\xc9\x05\x0c\xab\x52\xc6\x3c\x31\x72\x11\x43\xe5\x97\
+\x09\x82\x20\x31\x43\x10\x44\xd1\x31\x99\x4c\xb8\xf7\xde\x7b\xf3\
+\xba\xce\x58\x2c\x86\x50\x28\x04\xa7\xd3\x29\x19\x44\x2c\x49\x38\
+\x1a\x8d\xa6\xbd\xb7\x90\x9e\x99\x99\x12\xff\x33\x0c\xc8\xa9\x09\
+\x0c\x76\x9c\xca\x79\xbb\xb9\x96\x68\x06\x00\x57\x79\x1d\xd6\x6e\
+\xfb\x98\xf4\xd8\xe7\xf3\x15\xb4\xb2\x99\xc3\xe1\x80\xd1\x78\xae\
+\x5a\x58\x65\x65\x65\x9a\x77\x26\x1e\x0d\xe1\xe0\x9f\x7e\xb5\x28\
+\xcf\x5f\xb5\x5a\xf3\x41\xc8\x59\x7e\xd7\x9b\x4a\x01\x89\x58\x14\
+\x42\x3c\x5a\xd4\xfd\x89\x06\xfd\xd8\xff\xc7\x9f\xe2\x3f\xbf\x75\
+\x27\x9a\xf7\xfd\x49\xd1\xcb\x27\x17\x32\x7c\xc9\x65\x79\x58\x99\
+\x3c\xc1\x9f\x09\x19\x79\x8f\x18\xa5\x30\x32\xab\xd5\x9a\xe1\x85\
+\x99\x8d\x88\x21\x21\x43\x10\x04\x89\x19\x82\x20\x8a\xca\x5d\x77\
+\xdd\x05\xab\xd5\x9a\xd7\x75\xf6\xf5\xf5\x41\x10\x04\x29\x86\x9f\
+\x19\x3e\x7c\x98\x99\xc5\x62\x41\x55\x55\x55\x41\xf6\x29\x1e\x8f\
+\x67\x24\xfe\xcb\xc3\x5f\x94\x0c\xaf\xae\x93\xef\x2c\x0a\x31\x03\
+\x00\xdb\xee\xf8\x1b\xa8\x54\xe7\x7f\xda\x7f\xfa\xd3\x9f\xce\x2a\
+\xff\x67\xbe\xf0\x55\xe5\x3e\xff\xf9\xcf\x43\xaf\x3f\x5f\x55\xed\
+\xe4\x5b\x7f\x40\x60\x7c\x70\x71\xfe\xf9\x69\x34\xd0\xe6\xb9\x6c\
+\x33\x43\x48\xc4\xcf\x95\xdc\x2e\x70\x61\x80\x70\xc0\x87\x77\xfe\
+\xfb\xc7\xf8\x8f\x6f\xdc\x86\x43\xaf\x3e\x89\x78\x54\xd9\x0b\x27\
+\x6f\x84\xc9\x3c\x32\x4a\xf9\x31\x7c\x58\x19\x13\x32\xbc\x88\x61\
+\xa1\x64\xb9\x78\x61\x28\xa4\x8c\x20\x08\x12\x33\x04\x41\x2c\x38\
+\x16\x8b\x05\x9f\xff\xfc\xe7\xf3\xba\x4e\x51\x14\xd1\xde\xde\x9e\
+\x56\xd1\x4c\x9e\x33\x53\xc8\x10\xb3\x7d\xfb\xf6\x61\x6a\x6a\x6a\
+\x46\x21\x23\x37\xc0\xba\x4f\xef\x47\x2a\x95\x5b\xa8\x59\x2a\x4f\
+\x62\xc6\x5d\xd9\x80\xd5\x57\x9c\xf7\x90\x78\xbd\x5e\x3c\xf5\xd4\
+\x53\x05\x9b\x33\xab\xd5\x2a\x35\x53\x2d\x2d\x2d\xc5\x5d\x77\xdd\
+\x25\xbd\x96\x14\x04\xec\xfb\xe3\x4f\x17\xed\x39\xac\xd1\xea\xa1\
+\xd5\xe9\x0b\xb2\xee\x64\x52\xf8\xa0\xc1\x66\xfe\x0b\x03\x84\xfc\
+\x5e\xbc\xfd\xec\xff\xc1\x13\xff\xe3\x76\x1c\xde\xfe\x6b\x24\x62\
+\xe1\x19\x45\x0c\x13\x32\x7c\x7e\x8c\xc9\x64\x82\xd5\x6a\x95\xf2\
+\x63\x4a\x4a\x4a\xd2\x84\x0c\x5b\x58\x28\x59\x49\x49\x09\x5c\x2e\
+\x17\x1c\x0e\x07\xec\x76\x3b\xac\x56\x2b\xcc\x66\x73\x86\x17\x86\
+\x4f\xea\xa7\x9c\x18\x82\x20\x48\xcc\x10\x04\xb1\x68\xb9\xeb\xae\
+\xbb\xf2\x2e\x2e\x7c\x3e\x1f\x06\x06\x06\x24\x41\x13\x0a\x85\xd2\
+\x8a\x03\x14\x32\xc4\x6c\xfb\xf6\xed\x19\xc6\xa0\x3c\x8f\x47\x5e\
+\x3e\x16\x38\x17\x6a\xa6\x54\xf6\x76\xae\x42\x2e\x5f\x6c\xbb\xf3\
+\x21\xf0\x31\x54\x3f\xfd\xe9\x4f\x33\x42\xf5\xf2\x49\x55\x55\x95\
+\xd4\x38\xf3\xd3\x9f\xfe\x74\x5a\xd9\xe6\x96\x43\x3b\x15\xf3\x37\
+\x16\x0b\x5a\xbd\x11\x6a\x8d\xb6\x20\xeb\x16\xc5\x24\xe2\x91\x50\
+\xde\xbc\x6e\x53\x13\x23\x78\xeb\x77\xff\x0b\x4f\xfe\x8f\xdb\x70\
+\xf4\x8d\xff\x9a\x36\x9c\x8d\x0f\xe1\xe2\xbd\x31\x3a\x9d\x0e\x46\
+\xa3\x51\x51\xc8\xb0\xd0\x32\x7e\x61\x22\x86\x95\x55\xe6\x45\x0c\
+\xef\x85\xd1\x6a\xb5\x33\x7a\x61\x08\x82\x20\x48\xcc\x10\x04\xb1\
+\xb8\x7e\x40\xd4\x6a\x7c\xed\x6b\x5f\xcb\x8b\xa1\x92\xe2\x42\x72\
+\xba\xbb\xbb\x31\x31\x31\x81\x68\x34\x9a\xd6\x2c\x13\x28\x9c\x67\
+\x26\x95\x4a\x61\xe7\xce\x9d\x19\xfb\xc7\x1b\x83\x4a\x05\x0a\x18\
+\x3d\xcd\x87\x72\xdb\x7e\x9e\x0c\x5e\x00\x28\xa9\x5e\x85\x8b\x2e\
+\xbb\x51\x7a\x3c\x3a\x3a\x3a\xeb\x0a\x6d\xf3\x3d\x0f\xea\xea\xea\
+\xa0\x52\xa9\x60\xb5\x5a\xf1\x99\xcf\x7c\x86\x9f\x58\xbc\xfa\x8b\
+\x6f\x2d\xea\xf3\xb8\x10\x15\xce\xf8\xf3\x2a\x11\x0d\xcf\xbb\xc0\
+\x83\x10\x8f\xa1\xf5\xd0\xeb\x78\xe1\x47\x7f\x8b\x27\xbe\x71\x1b\
+\x8e\xef\x7a\x0e\x42\x22\x3e\xad\x88\x91\x87\x94\xf1\x89\xfe\x46\
+\xa3\x31\xad\x62\x99\xdb\xed\x56\x14\x32\x7c\x65\x32\xd6\xe4\x92\
+\x55\xb0\xe3\x4b\x2b\xb3\x1e\x31\xbc\x07\x46\x49\xf0\x13\x04\x41\
+\x90\x98\x21\x08\x62\x51\xb2\x66\xcd\x1a\xdc\x79\xe7\x9d\x79\x35\
+\xfe\x44\x51\xc4\xd9\xb3\x67\x31\x39\x39\x89\xc9\xc9\xc9\xb4\xd7\
+\xf9\xfe\x26\xf9\xe4\xf8\xf1\xe3\x69\xfd\x6e\xf8\x8a\x4f\x4a\xf7\
+\xe5\x62\x26\x57\xef\x43\x4a\x14\xf3\x9a\x63\xf1\xa1\x3b\xbf\x90\
+\xe6\x9d\xf9\xc9\x4f\x7e\x92\xe6\xe1\xca\x37\x56\xab\x15\x75\x75\
+\x75\x00\x80\xeb\xaf\xbf\x3e\xcd\x90\x9d\x1c\xe9\x45\xfb\xb1\xb7\
+\x16\xed\x39\xac\x52\xa9\xa0\xd5\x1b\x0a\xb6\xfe\x73\x95\xce\x22\
+\xb3\xaf\x74\x96\x4a\x61\xe0\xec\x31\xbc\xf9\xd4\xf7\xf0\xcb\x47\
+\x6e\xc2\x6b\xbf\xfc\x7b\x74\x9f\x7e\x77\xc6\xaa\x79\x4a\xde\x98\
+\x6c\x15\xcb\x58\xff\x18\x26\x64\xca\xca\xca\xa4\x85\x17\x31\x0e\
+\x87\x43\x4a\xea\x67\x9e\x98\x99\x72\x61\x08\x82\x20\x8a\x89\x96\
+\xa6\x80\x20\x88\x5c\x79\xf0\xc1\x07\xf1\xce\x3b\xef\xc0\xe7\xf3\
+\xe5\x6c\xf4\x31\x12\x89\x04\x46\x46\x46\x10\x8b\xa5\x37\x94\xf4\
+\x78\x3c\x05\xd9\x87\x1d\x3b\x76\xa4\x3d\x56\x8a\xf7\xe7\xc5\x96\
+\x4a\xa5\x82\x20\x08\xd2\x98\xbd\xfd\xed\x48\xa5\xc4\xb4\xe4\xfb\
+\xb9\x22\x8a\xc9\xbc\x85\x3c\x95\xd6\xae\xc6\xca\xcd\xd7\xa1\xe3\
+\xf8\x1e\x00\xc0\xf0\xf0\x30\x7e\xfb\xdb\xdf\xe2\xc1\x07\x1f\x2c\
+\xd8\x79\xe0\x76\xbb\x11\x8f\xc7\x71\xff\xfd\xf7\xa7\x1d\x4b\x00\
+\x38\xba\xf3\x69\xac\xda\x72\x43\x4e\xeb\x4f\xc4\xc2\xf0\x8f\x0f\
+\x62\xca\x3b\x8c\x29\xdf\x30\xa6\xbc\xc3\x08\x78\x87\x11\xf2\x8f\
+\x41\xa5\x52\x43\xa3\xd5\x41\xa3\xd5\x43\xa3\xd5\x41\xad\xd5\x41\
+\xab\xd3\x43\xad\xd1\x41\xa3\xd3\x41\xa3\xd1\x41\xa3\xd3\x7f\xf0\
+\xba\x16\x06\x93\x0d\x66\xbb\x0b\x66\xbb\x07\x66\x87\x07\x66\x9b\
+\x1b\x6a\xb5\x26\x6f\x21\x61\xca\xe3\x8f\x02\x29\x40\xa3\x90\xa7\
+\x13\x8f\x86\x30\xd8\x7e\x12\x7d\x67\x8e\xe0\xec\xe1\x37\xe1\x1f\
+\xeb\x9f\x93\x18\x63\xb7\x4a\xa5\x97\xf9\x1e\x32\xf2\xf2\xcb\x6e\
+\xb7\x1b\x1e\x8f\x47\x0a\x25\x9b\x4e\xc0\x64\xfb\x4e\x90\x80\x30\
+\xf1\xe9\x45\x00\x00\x20\x00\x49\x44\x41\x54\x21\x08\x82\xc4\x0c\
+\x41\x10\x4b\x1a\x8b\xc5\x82\xaf\x7c\xe5\x2b\xf8\xfe\xf7\xbf\x9f\
+\x97\xf5\x31\x43\x38\x1c\x0e\x67\x34\xcc\x74\xb9\x5c\x45\x11\x33\
+\x7c\x12\x33\x33\x0e\xf9\xc2\x04\xc9\x64\x12\x6a\xb5\x1a\xc9\xe4\
+\x39\xe3\x37\x1e\x0b\x63\x72\xb4\x1f\xae\xf2\xba\x45\x21\x66\x80\
+\x73\xde\x19\x26\x66\x00\xe0\xc7\x3f\xfe\x31\xee\xbf\xff\xfe\xb4\
+\x8a\x63\xf9\xe6\x9b\xdf\xfc\x66\x9a\x87\x8b\x31\xd0\x76\x02\x5d\
+\xa7\xf6\xa3\xf1\x92\xab\xe7\x34\x1f\x43\x1d\xa7\xd0\xd3\x74\x00\
+\xdd\x4d\x07\x30\xd2\xf5\x7e\x41\x12\xea\x19\x7a\xa3\x05\x26\x9b\
+\x13\x26\xbb\x1b\x16\x9b\x1b\x46\x9b\x03\x66\x9b\x1b\x66\xbb\x1b\
+\x26\x9b\x0b\x66\xbb\x1b\x66\xbb\x07\x16\x47\x09\x34\x5a\xdd\xfc\
+\x04\x4d\x3c\x0a\xa8\x54\x88\x47\x82\x18\x6c\x3f\x85\xfe\xb3\x47\
+\xd1\xdf\x72\x14\xa3\xbd\x2d\xf3\xea\x57\xa4\x94\xe4\xcf\xaa\x01\
+\x32\x8f\x8c\x92\x90\x61\x0d\x31\xd9\xc2\xaa\x93\xb1\x12\xcb\x7c\
+\x4e\x0c\xcb\x87\x91\xf7\x7f\x22\x11\x43\x10\x04\x89\x19\x82\x20\
+\x96\x0d\x37\xdc\x70\x03\x76\xec\xd8\x81\xa3\x47\x8f\xe6\x45\xc8\
+\xb0\xfb\x7c\x75\x31\xa0\x30\x9e\x99\xae\xae\x2e\xb4\xb4\x9c\x0f\
+\x13\x63\xc6\xa0\xdc\x88\x63\x62\x26\x99\x4c\x9e\x0b\x4d\xd2\x6a\
+\x25\x31\x03\x00\x63\xbd\xad\x39\x89\x99\x54\x9e\xbd\x02\xe5\x0d\
+\x17\x63\xc5\xa6\x6b\xd0\xf9\x41\xe9\xe8\xc1\xc1\x41\x3c\xf3\xcc\
+\x33\x78\xe0\x81\x07\x0a\x72\x0e\x7c\xff\xfb\xdf\xcf\x28\xa2\xc0\
+\xb3\xef\x8f\x3f\x41\xe3\xc6\xab\x30\x5d\x83\x17\x21\x11\xc7\x99\
+\x03\xaf\xa1\xeb\xe4\x3b\xe8\x3d\xf3\x1e\xe2\x91\x50\xd1\xce\xe1\
+\x78\x34\x84\x78\x34\x04\xff\xd8\xc0\x8c\xef\x35\x5a\x6c\x30\xdb\
+\x4b\x60\x71\x78\x60\x76\xb0\x5b\x0f\x74\x3a\x23\x52\x29\xf1\x83\
+\x05\x48\xa5\x44\xc4\xc3\x53\x98\xf2\x8d\x22\x38\x31\x82\xa9\x89\
+\x11\x04\x27\x46\x91\x88\xe5\x5e\x2e\x9b\xcf\x4f\xe1\xfb\xc7\xf0\
+\x15\xcb\x58\x8e\x0c\x2b\xbf\xec\x70\x38\xa4\x10\x33\xe6\x95\x71\
+\xb9\x5c\x19\x79\x31\xac\x3a\x19\xff\x1d\x20\x6f\x0c\x41\x10\x24\
+\x66\x08\x82\x58\xd6\x3c\xfc\xf0\xc3\x78\xe8\xa1\x87\x72\xce\xcd\
+\x48\xa5\x52\xd2\xc2\x8b\x05\xe0\x5c\x28\x53\xbe\x91\x7b\x65\x58\
+\x4e\x00\x0b\xd1\xd1\x6a\xb5\x92\xf1\x96\x4c\x26\x21\x08\x02\x54\
+\x2a\x15\x44\x51\x4c\x0b\x83\x1b\xeb\x6d\x4d\x2b\x8b\x3c\x57\xc4\
+\x64\xfe\xbd\x0e\xdb\xee\xfc\x1b\x49\xcc\x00\xc0\x63\x8f\x3d\x86\
+\xbf\xfa\xab\xbf\x82\x4e\xa7\xcb\xeb\x76\x7e\xf8\xc3\x1f\xe2\xb1\
+\xc7\x1e\x4b\x7b\xce\xe9\x74\x22\x95\x4a\x49\xde\xb5\xb1\xde\x56\
+\xb4\x1e\x7e\x03\x6b\xb6\xde\x92\xf1\xf9\x44\x2c\x82\x53\x6f\x3d\
+\x8f\x23\x3b\x7f\x83\x90\xdf\xbb\xe8\xcf\xf5\x68\x68\x0a\xd1\xd0\
+\x14\x7c\x43\x5d\x45\xdf\x36\x3b\x17\xf9\x3c\x2e\x25\x6f\x8c\xc9\
+\x64\x82\xd9\x6c\x86\xd5\x6a\x95\x9a\xd0\x32\xe1\xe2\x72\xb9\xd2\
+\xc2\xca\xe4\x55\xca\xf8\x12\xcb\x94\x13\x43\x10\x04\x89\x19\x82\
+\x20\x2e\x08\xaa\xab\xab\xf1\x99\xcf\x7c\x06\xbf\xfe\xf5\xaf\xe7\
+\x2c\x5e\xb2\x89\x19\x41\x10\xa4\xe7\xd5\x6a\x35\x1c\x0e\x47\xde\
+\xc7\x2d\xf7\x26\xb0\xbe\x19\x06\x83\x41\xca\x17\x60\x9e\x99\x64\
+\x32\x89\x78\x3c\x8e\x58\x2c\x06\xb5\x5a\x8d\x60\x30\x28\x8d\x7f\
+\xb4\xef\x6c\x4e\xe3\x10\x45\x21\xef\xfb\x56\xb9\x62\x23\xea\x37\
+\x5c\x89\x9e\xa6\x03\x00\x80\xfe\xfe\x7e\x3c\xf7\xdc\x73\xb8\xff\
+\xfe\xfb\xf3\xb6\x8d\xaf\x7e\xf5\xab\x78\xe6\x99\x67\xd2\xff\x5c\
+\xb4\x5a\x6c\xda\xb4\x09\xe1\x70\x18\x87\x0f\x1f\x96\x9e\x7f\xf7\
+\xc5\x5f\xe0\xa2\xcb\x3f\x02\xb5\x5a\x03\x00\x88\x85\xa7\x70\x62\
+\xf7\x73\x38\xfa\xc6\xef\x10\x0d\xfa\xe9\x4b\x34\x0b\x11\x03\x20\
+\xad\xb1\xac\x3c\x37\x86\xf7\xc6\x30\x21\xe3\x70\x38\xa4\xf0\x32\
+\x97\xcb\x05\xa7\xd3\x99\x16\x56\x66\xb1\x58\xd2\xfa\xc5\xb0\x75\
+\x33\xaf\x8f\x7c\xfb\x04\x41\x10\x8b\x05\xaa\x66\x46\x10\x44\x5e\
+\xf9\xcb\xbf\xfc\x4b\xd4\xd4\xd4\xcc\xeb\xb3\x4c\xc0\xf0\x02\x87\
+\xf7\x7c\xa8\xd5\xea\x34\xc3\x38\x1f\xec\xdd\xbb\x17\x87\x0e\x1d\
+\x4a\x33\xc2\x59\xf3\x3f\xd6\x8f\x83\x19\x86\xac\xcb\x39\x5f\x9a\
+\x56\xab\x3d\x7f\x4d\x68\x62\xa8\x2b\xa7\x04\xf2\xa4\x90\x28\x48\
+\xd7\xf8\x2b\xef\xfc\x42\xda\xe3\xc7\x1e\x7b\x2c\x4d\x24\xce\x97\
+\xce\xce\x4e\x5c\x7d\xf5\xd5\x19\x42\xc6\x60\x30\x60\xeb\xd6\xad\
+\x30\x9b\xcd\x52\x62\xb9\x34\x47\xc3\x3d\x68\xde\xf7\x27\x20\x95\
+\xc2\x91\x9d\x4f\xe3\x3f\xbe\x71\x2b\xf6\xbf\xf0\x73\x12\x32\x33\
+\x88\x18\x3e\xbc\x4b\xa3\xd1\x48\xe7\x9f\x3c\x8c\x8c\x85\x90\x79\
+\x3c\x1e\xa9\xdc\x32\x6b\x7e\x59\x59\x59\x99\xd6\x04\xd3\xe3\xf1\
+\xc0\xe9\x74\xa6\x89\x19\xb9\x47\x86\x84\x0c\x41\x10\x24\x66\x08\
+\x82\xb8\xa0\xd0\xe9\x74\x78\xe4\x91\x47\x72\x32\x7e\x78\x41\x93\
+\x48\x9c\xef\xcf\x21\x08\x02\x6e\xbf\xfd\x76\x7c\xf6\xb3\x9f\x45\
+\x7f\x7f\x7f\x4e\xe3\x3c\x74\xe8\x10\x3e\xf2\x91\x8f\xe0\x9e\x7b\
+\xee\x49\xf3\x0c\xb1\x84\x67\x16\xaa\x63\x34\x1a\x33\x16\xbe\xc7\
+\x06\x1f\xae\x25\x24\xe2\x98\x1c\xed\x43\x0e\x3b\x0e\x41\xc8\x7f\
+\xf9\xe4\xaa\x8b\x36\xa3\xee\xe2\xad\xd2\xe3\x9e\x9e\x1e\x3c\xfb\
+\xec\xb3\xf3\x5e\x5f\x7f\x7f\x3f\x1e\x78\xe0\x01\x6c\xdb\xb6\x0d\
+\xad\xad\xad\x69\xaf\x59\xad\x56\x5c\x79\xe5\x95\x69\x1e\x34\x79\
+\xa3\xd3\x03\x2f\xfe\x02\x2f\x3e\xf6\xff\x60\xef\xef\xff\x6f\x51\
+\x73\x62\x96\xa2\x80\x91\x57\x2a\x53\xa9\x54\x92\x07\x25\x5b\x52\
+\x3f\x2f\x62\x2a\x2b\x2b\xa5\x85\x17\x32\xac\x09\x26\x13\x32\xcc\
+\x23\xc3\xaa\x96\xb1\xd0\x32\x12\x32\x04\x41\x2c\xfa\xdf\xcb\x54\
+\xaa\x00\x97\x01\x09\x82\xb8\xe0\x79\xe2\x89\x27\x66\x6d\x30\xcb\
+\x73\x64\x92\xc9\x24\x12\x89\x04\xe2\xf1\x38\x9a\x9a\x9a\x20\x2a\
+\x54\x79\xd2\x6a\xb5\xb8\xf7\xde\x7b\xf1\x89\x4f\x7c\x02\xd7\x5c\
+\x73\x0d\x8c\x46\xe3\x8c\xdb\x19\x1b\x1b\xc3\xce\x9d\x3b\xf1\xe4\
+\x93\x4f\xa2\xa9\xa9\x49\xf1\x3d\x1e\x8f\x47\x4a\x82\x66\x9e\x18\
+\x83\xc1\x00\x8d\x46\x23\x89\xab\x68\x34\x8a\x70\x38\x8c\x50\x28\
+\x84\xb1\xb1\x31\x4c\x4c\x4c\x48\x9f\xbf\xfe\x33\xdf\xc4\xea\xcb\
+\x6f\x9a\xbf\x18\x34\x98\x60\x30\xdb\xf2\x7e\x3c\xfa\x5b\x8f\xe2\
+\x0f\x3f\x78\x48\x7a\xac\x56\xab\xf1\xe1\x0f\x7f\x18\x5f\xfa\xd2\
+\x97\x70\xe3\x8d\x37\xa6\x79\x98\x94\x68\x6e\x6e\xc6\xce\x9d\x3b\
+\xf1\xd2\x4b\x2f\xe1\xcc\x99\x33\x59\xe7\x6e\xcb\x96\x2d\x8a\xeb\
+\x3a\x72\xe4\x08\xc6\xc6\xc6\x72\x36\xf0\x8b\xc1\x42\xfd\x2d\x2a\
+\xed\x9f\x5c\xcc\xf0\x1e\x14\x26\xb6\xf9\xdc\x18\x3e\x3f\x86\xe5\
+\xc2\xb0\x5b\x9b\xcd\x26\xbd\xc7\x64\x32\x65\x78\x18\xe5\x7d\x63\
+\x48\xc8\x10\x04\x41\x62\x86\x20\x88\x0b\x16\x51\x14\xf1\x8d\x6f\
+\x7c\x03\x27\x4f\x9e\x9c\xb3\x98\x11\x04\x41\x12\x33\xad\xad\xad\
+\x33\x16\x14\xd0\x6a\xb5\xd8\xbc\x79\x33\xee\xbe\xfb\x6e\x6c\xde\
+\xbc\x59\x4a\x64\x1e\x19\x19\x41\x67\x67\x27\x3a\x3b\x3b\xb1\x7b\
+\xf7\x6e\x34\x35\x35\x4d\x6b\xa8\xaa\xd5\x6a\x54\x54\x54\xa4\x19\
+\x86\xd9\xc4\x4c\x28\x14\x42\x30\x18\xc4\xc4\xc4\x04\x06\x07\x07\
+\xa5\x75\x5c\x72\xfd\xbd\xf8\xd0\x9d\x7f\x93\x83\x41\xab\x86\xc5\
+\x59\x52\x90\x63\xf2\x9b\x6f\x7f\x12\xde\xc1\x4e\x45\x83\xb9\xb4\
+\xb4\x14\x35\x35\x35\x52\xa8\x92\xd1\x68\xc4\xd0\xd0\x10\x7a\x7a\
+\x7a\x30\x3c\x3c\x8c\x68\x34\x9a\x75\xbd\x06\x83\x01\x2b\x57\xae\
+\x44\x5d\x5d\x5d\x56\xe3\x37\x10\x08\x60\xff\xfe\xfd\x39\x0b\x97\
+\xe9\x8c\x6b\xf9\x6b\x73\xfd\x7b\x9b\xcf\xdf\x61\xae\x7f\xa1\x33\
+\x09\x18\x5e\xc8\x98\x4c\x26\xb8\x5c\x2e\x29\x97\x8b\x0f\x81\xb4\
+\x5a\xad\xb0\xd9\x6c\x92\x97\x86\x09\x1a\x5e\xc4\x28\x85\x49\xca\
+\x1b\x60\x52\xc5\x32\x82\x20\x96\x1a\x54\x00\x80\x20\x88\x82\xa0\
+\x56\xab\xf1\x9d\xef\x7c\x07\x5f\xfc\xe2\x17\x67\xdd\x4c\x53\xa9\
+\x10\x80\x46\xa3\x49\x33\xf2\x34\x1a\x4d\x46\xbe\x87\x20\x08\x38\
+\x72\xe4\x08\x8e\x1c\x39\x92\xd3\x98\x59\xa2\x3f\x7f\x85\x9a\x5f\
+\x52\xa9\x54\x46\x4f\x0f\xbd\x5e\x0f\x95\x4a\x75\xbe\x79\xe6\x60\
+\x47\x4e\x63\x48\xa5\x44\x24\x13\x71\xc5\xc6\x8a\xb9\x72\xf9\x6d\
+\x0f\xe0\xf5\x27\xfe\x51\x71\xde\x47\x47\x47\x31\x3a\x3a\x3a\xb7\
+\x3f\x10\xad\x16\x8d\x8d\x8d\x68\x6c\x6c\x4c\x3b\x4e\x4a\xd8\xed\
+\x76\x94\x95\x95\xcd\x79\x1b\x72\xa3\x7a\x3a\x43\x5b\xe9\xb9\xe9\
+\xc4\x86\xfc\x35\xfe\x38\xce\x76\x3d\x33\x09\xa8\xd9\x08\x82\x6c\
+\xfb\xc7\x2f\x3a\x9d\x0e\x95\x95\x95\x52\xa8\x23\x9f\xc7\xc5\x84\
+\x0c\x13\x2e\xfc\xad\x92\x88\x61\x45\x2d\xf8\x02\x02\x4a\x61\x6d\
+\x04\x41\x10\x24\x66\x08\x82\xb8\xa0\x71\xbb\xdd\xf8\xce\x77\xbe\
+\x83\x6f\x7c\xe3\x1b\x8a\xa1\x62\xd9\x8c\x46\x7e\x91\x0b\xa4\x6b\
+\xaf\xbd\x16\x6d\x6d\x6d\x18\x1c\x1c\xcc\x28\xdb\x3c\x17\x98\x71\
+\xdd\xde\xde\x9e\xb6\x7e\xb6\x5d\xd6\x4f\x26\x91\x48\x48\xcd\x31\
+\x55\x2a\x15\x04\x41\x90\x42\xe1\xd8\x3e\x69\xb5\x5a\x29\xb7\xc7\
+\xdb\xdf\x9e\xf3\xbc\xc5\xa3\x21\x98\x0a\x20\x66\xd6\x5f\x7d\x07\
+\x8e\xbf\xf9\x0c\x46\x7b\x5a\xe6\xbd\x0e\x95\x4a\x05\xa7\xd3\x89\
+\xf2\xf2\x72\x54\x57\x57\xcf\xa9\x01\x67\x63\x63\xe3\xb4\x62\x46\
+\x6e\xd4\x67\x7b\x9c\xcd\xe0\x66\x62\x44\x7e\x3b\x1b\x61\xa2\x24\
+\xa4\xf9\xfb\xb3\xf1\xfa\x28\xbd\x6f\x26\xf1\x93\xcd\x0b\xc3\x2f\
+\x1a\x8d\x06\xf5\xf5\xf5\x70\x38\x1c\x8a\xde\x18\x16\x5a\xc6\x3c\
+\x33\xcc\xab\xc8\x8b\x18\x96\x13\x23\xef\x1d\x23\x0f\x2b\x23\x21\
+\x43\x10\x04\x89\x19\x82\x20\x08\x8e\x4d\x9b\x36\xe1\xaf\xff\xfa\
+\xaf\xf1\xe4\x93\x4f\xce\xe9\x73\xcc\x58\xe4\x0d\xab\x54\x2a\x05\
+\x83\xc1\x80\x0d\x1b\x36\x60\xdd\xba\x75\x98\x98\x98\xc0\xd8\xd8\
+\x18\xc6\xc6\xc6\x10\x0c\x06\x67\x34\x22\xdd\x6e\x37\xca\xca\xca\
+\x50\x56\x56\x86\x54\x2a\x85\x50\x28\x3d\xf9\x9c\x5d\xa5\xe6\x17\
+\x3e\x04\x87\xbd\x87\x35\x27\xe4\xcb\xe2\x32\x31\x13\x0d\x4f\x61\
+\x6a\x62\x14\x36\x57\xd9\xbc\xe7\x2c\x29\x24\x90\x14\xe2\xd0\x68\
+\xf3\x2f\x68\xae\xfd\xd4\xd7\xf0\xfc\xbf\x7d\x31\x4d\xc0\x39\x9d\
+\x4e\x4c\x4d\x4d\x41\x10\x84\x34\x23\x5d\xa5\x52\xa5\xe5\x64\xb0\
+\xe4\xf2\xf9\xf6\xa8\x71\xbb\xdd\xb0\xdb\xed\x08\x04\x02\xb3\x36\
+\xe8\xd9\x18\x95\x0c\xfd\xe9\xc4\xc1\x6c\x3c\x2c\xf2\xca\x79\xd9\
+\x9e\x9b\xcf\xf3\xd3\x09\x98\xd9\x88\x18\xbe\x19\x66\x75\x75\x35\
+\x6a\x6a\x6a\x60\x36\x9b\x15\x85\x0c\x2f\x60\x98\x88\x61\x39\x31\
+\xac\x60\x05\xdf\x33\x29\x5b\xef\x18\x12\x31\x04\x41\x90\x98\x21\
+\x08\x82\x50\xe0\xd3\x9f\xfe\x34\x9a\x9a\x9a\xd2\x4a\x20\xcf\x46\
+\xc8\x4c\x77\xb5\x5c\xad\x56\xc3\xe3\xf1\xc0\xe3\xf1\x60\xed\xda\
+\xb5\x88\x44\x22\xf0\xf9\x7c\x48\x24\x12\x92\xe7\x44\xa3\xd1\x48\
+\xc6\x9f\xc9\x64\x92\x9a\x5c\x4e\x4d\x4d\x65\x54\x4a\x03\x90\x66\
+\xec\xb1\xfb\xbc\x68\x61\x1e\x1b\xfe\x39\x16\x6a\x16\x0e\x87\xa5\
+\xf5\xf8\x06\x3a\x72\x12\x33\x00\x10\x8f\x84\x60\xb2\xe5\x5f\xcc\
+\xd4\x5d\xbc\x15\x15\x8d\xeb\x31\xdc\xd5\x0c\xe0\x5c\x6e\xd3\x9a\
+\x35\x6b\x50\x5d\x5d\x0d\x8d\x46\x23\xcd\x09\xeb\x59\x92\x6b\xd2\
+\xbe\x9c\xc6\xc6\xc6\x8c\x3c\x2a\x5e\xb4\x28\x79\x26\x78\xc3\x5e\
+\xe9\x75\x25\xd1\x30\x9d\xf7\x25\x9b\x88\xc9\xf6\x3a\x7f\xab\xf4\
+\x19\x51\x14\xa7\x0d\x51\x9b\xce\x1b\x93\x6d\x7f\xd9\xe2\x72\xb9\
+\xb0\x71\xe3\xc6\x0c\x21\x23\x5f\x78\x2f\xcc\x4c\x22\x46\x9e\x1b\
+\x43\x42\x86\x20\x08\x12\x33\x04\x41\x10\xd3\xa0\x52\xa9\xf0\x3f\
+\xff\xe7\xff\xc4\x17\xbf\xf8\x45\x8c\x8c\x8c\x64\x15\x28\x72\x83\
+\x52\x1e\xb6\xa3\xf4\x1c\xc3\x64\x32\xa1\xba\xba\x5a\x71\xfb\xd1\
+\x68\x14\x5e\x6f\x66\x57\x79\x79\x61\x01\x56\x96\x96\x19\x7e\xfc\
+\x2d\x0b\x41\x13\x45\x31\xc3\x7b\x23\xaf\xa4\x36\xd6\xdf\x86\xfa\
+\x0d\x57\xe6\x34\x67\x85\xf4\xce\x5c\x71\xdb\x5f\xe3\x95\x9f\x7d\
+\x43\x7a\xdc\xd9\xd9\x89\xba\xba\x3a\xc5\xf9\x8b\x44\x22\x33\x7a\
+\xbd\xe6\x42\x65\x65\x25\x5a\x5b\x5b\xd3\x0a\x0a\xf0\x06\xbc\xdc\
+\x98\x97\x3f\x9e\x4e\xd0\xcc\x47\xcc\x28\x9d\x73\xd9\xee\x2b\x3d\
+\x4e\x24\x12\x19\xf9\x42\x4a\x5e\x45\xb9\x88\x91\x8b\x19\xa5\x7d\
+\x35\x1a\x8d\xb8\xfa\xea\xab\xe1\x76\xbb\xd3\x84\x0c\xcb\x95\x61\
+\x02\x86\x17\x31\x7c\x4e\x8c\x92\x88\x91\xf7\x8d\x21\x11\x43\x10\
+\x04\x89\x19\x82\x20\x88\x59\x60\xb3\xd9\xf0\x8f\xff\xf8\x8f\x78\
+\xf8\xe1\x87\x15\x1b\x36\x2a\x85\xfa\x28\x31\x9b\xbc\x84\x0c\x61\
+\xa0\x90\x5b\xa3\x56\xab\x33\x2a\x74\xf1\x06\x20\xdf\x47\x86\x19\
+\x84\x2c\x6f\x26\x99\x4c\xa6\x09\x1f\x83\xc1\x90\x76\x65\xbe\xeb\
+\xd4\x3e\x5c\xfe\xb1\xcf\xe5\x3c\x67\xb1\x70\x10\x66\xbb\x0b\x40\
+\x7e\x0d\xce\x55\x97\xdd\x00\x57\x45\x3d\x26\x86\x7b\x00\x00\x23\
+\x23\x23\x18\x1a\x1a\x42\x59\x59\x59\x46\x08\x59\x69\x69\x69\x5e\
+\xc5\x8c\x4a\xa5\x42\x43\x43\x03\x5a\x5a\xd2\xf3\x76\x78\x4f\x17\
+\x0b\xe3\xe3\x8b\x31\xb0\x24\x75\xbe\x2b\xbd\x52\x77\x7a\xa5\x7c\
+\x99\x99\x3c\x2d\xd9\xc4\x0a\xcb\x89\x62\xb7\xf2\xaa\x7b\xb1\x58\
+\x0c\x3a\x9d\x6e\x56\x15\xcd\xe4\xe2\x41\x2e\xca\xe4\xe2\x4d\xab\
+\xd5\xe2\x23\x1f\xf9\x08\x1a\x1a\x1a\x24\xc1\xc2\x97\x0b\x67\xa1\
+\x7f\xf2\xde\x47\x7c\xaf\x18\x3e\x2f\x86\x42\xca\x08\x82\x20\x31\
+\x43\x10\x04\x91\x23\x6b\xd7\xae\xc5\x97\xbf\xfc\x65\xfc\xe4\x27\
+\x3f\x99\xf1\xbd\xd9\xbc\x30\xf3\x29\x85\xab\x54\x7c\x40\xa3\xd1\
+\x64\x78\x07\x58\x29\x66\x56\x05\xca\x66\xb3\x49\x86\x22\x1b\x47\
+\x2c\x16\x93\x1a\x6b\xb2\x75\x27\x93\x49\x18\x8d\x46\x44\x22\x11\
+\x00\xe7\xba\xdc\xfb\x86\xba\xe0\xae\x6c\xcc\x69\xbe\xc4\xa4\x80\
+\x78\x24\x0c\xbd\xc9\x92\xd7\xe3\xa0\x52\xa9\x71\xf9\xad\x9f\xc7\
+\x9b\x4f\x7d\x4f\x7a\xae\xb3\xb3\x13\x35\x35\x35\xa8\xa8\xa8\x48\
+\x7b\xaf\xd1\x68\x84\xcd\x66\xc3\xd4\xd4\x54\xde\xb6\x5f\x5b\x5b\
+\x8b\xf6\xf6\x76\x49\xd4\x8a\xa2\x28\xcd\x29\x1f\xda\x27\xf7\x94\
+\xf1\xcb\x74\x82\x46\xe9\x7c\xe1\x43\xc1\x66\xb3\x88\xa2\xa8\x28\
+\x68\x44\x51\x44\x24\x12\x41\x28\x14\x92\x8a\x1f\x4c\x27\xc4\x95\
+\x8a\x18\x4c\x17\x56\xc6\x96\x9b\x6f\xbe\x19\x1b\x37\x6e\x94\x3c\
+\x2e\xf2\x10\x32\x76\x5e\xca\x4b\x2c\xcb\x43\x20\x49\xc4\x10\x04\
+\x41\x62\x86\x20\x08\x22\x8f\xdc\x75\xd7\x5d\x38\x7d\xfa\x34\xf6\
+\xec\xd9\x93\x55\xc4\xcc\x24\x4c\x66\x2a\x03\x3c\x9b\x75\xca\x3d\
+\x33\xcc\x78\x66\x57\xb7\x99\x91\xc8\x6e\xd5\x6a\x75\xda\x15\x7a\
+\x66\x40\xb2\xea\x50\x56\xab\x55\x12\x33\x00\xd0\x71\xe2\xed\x9c\
+\xc5\x0c\x00\xc4\xa3\x61\x68\xf5\x06\xa8\x35\xf9\xfd\xb9\x5e\x77\
+\xd5\xed\x78\xf7\xc5\x9f\x23\x34\x39\x0e\x00\x18\x18\x18\xc0\xc8\
+\xc8\x08\x4a\x4b\x4b\x33\xe6\xb7\xb4\xb4\x34\xaf\x62\x46\xab\xd5\
+\xa2\xa6\xa6\x06\xdd\xdd\xdd\x69\xc2\x95\x35\x83\x64\x1e\x31\x66\
+\xa0\xcb\x45\x8d\x52\x18\x9a\x92\xa1\x9e\x2d\xb1\x7f\x36\x22\x46\
+\x2e\x68\xd8\x73\x7e\xbf\x1f\xc9\x64\x12\x06\x83\x61\xda\x1c\x1c\
+\x25\x41\x33\x53\x3e\x10\x5b\xae\xbf\xfe\x7a\x5c\x77\xdd\x75\x52\
+\xf1\x05\x26\x5c\x78\x0f\x8c\x52\x28\x19\x89\x18\x82\x20\x48\xcc\
+\x10\x04\x41\x14\x81\x6f\x7e\xf3\x9b\xf0\x7a\xbd\x38\x7d\xfa\x74\
+\x56\x23\xb0\xd8\x9e\x19\xde\x2b\xc0\x0c\x68\xb9\xf1\xcc\x44\x10\
+\x0b\x7b\xe2\x17\x8b\xc5\x82\xf1\xf1\x71\x69\x7c\x9d\xc7\xdf\xc6\
+\x15\xb7\x3e\x90\x87\xd9\x4a\x21\x1a\x9e\x82\xd9\xea\x04\xf2\x68\
+\x90\x6a\xb4\x7a\x6c\xb8\xe6\x2e\x1c\x7a\xe5\x09\x69\x5e\x3b\x3b\
+\x3b\x51\x5d\x5d\x8d\x92\x92\xf4\xa6\x9d\x06\x83\x01\x0e\x87\x03\
+\x7e\xbf\x3f\x6f\xdb\x6f\x68\x68\x90\xc4\x0c\x70\x2e\x7f\x89\x35\
+\x28\x65\x82\x92\x09\x45\xb9\xc1\xce\x87\x9d\x4d\xd7\xad\x7e\x3a\
+\x31\xc3\xee\xf3\x42\x65\x3a\x41\x93\x4a\xa5\x30\x36\x36\x86\x78\
+\x3c\x3e\xad\x90\xc9\xe6\x99\x99\x29\x4f\x86\xdd\x6e\xdb\xb6\x0d\
+\x77\xdf\x7d\x77\x9a\xd7\x45\x1e\x42\x96\xcd\x0b\x43\x22\x86\x20\
+\x08\x12\x33\x04\x41\x10\x45\xc0\x60\x30\xe0\x9f\xff\xf9\x9f\xf1\
+\xf5\xaf\x7f\x1d\x6d\x6d\x6d\x8a\x42\x26\xab\x69\x9f\xa7\x2e\xed\
+\x2a\x95\x2a\xad\x00\x00\x7f\xf5\x5f\xc9\x48\x9c\x4e\xcc\xa8\xd5\
+\x6a\xa9\xfa\x17\x13\x48\xfe\xf1\x41\x8c\xf6\xb6\xa0\xac\x6e\x6d\
+\xce\xf3\x25\x0a\x09\x44\x43\x01\x18\xad\x8e\x9c\xd6\x13\xf0\x0e\
+\xa1\xf7\xfd\x43\x18\x38\x7b\x1c\xfd\xad\xc7\xe0\x1f\xeb\x4f\x7b\
+\xbd\xb7\xb7\x17\x23\x23\x23\x70\xbb\xdd\xd2\xfe\x32\x4a\x4a\x4a\
+\x10\x08\x04\x72\xee\x78\xcf\x60\xdd\xec\x27\x26\x26\x00\x9c\x2b\
+\xd2\x60\x30\x18\x60\xb5\x5a\x15\x93\xd8\x67\x32\xdc\xa7\x33\xda\
+\x67\x2a\x32\x31\x1b\x6f\xcd\xc0\xc0\x80\x34\x46\xa5\xf5\x4c\x77\
+\x6e\xce\xa6\x7a\x99\x4a\xa5\xc2\x86\x0d\x1b\xf0\xe0\x83\x0f\xc2\
+\x68\x34\xa6\x79\xa7\x66\x9a\x07\x12\x31\x04\x41\x90\x98\x21\x08\
+\x82\x28\x32\x16\x8b\x05\x3f\xf8\xc1\x0f\xf0\xd5\xaf\x7e\x15\xfd\
+\xfd\xfd\xb3\x37\xec\x67\xd9\x7c\x73\xa6\xcf\xc8\x8b\x10\x68\xb5\
+\x5a\xc9\x00\x64\x79\x30\x82\x20\x48\xb9\x31\x2c\xcc\x4c\x10\x04\
+\xa9\xfc\x33\xbb\x6a\xcf\x1b\xe8\xbc\xb7\xe7\xe8\xce\xdf\xe2\xd6\
+\x2f\xfc\x73\x5e\xe6\x4b\x48\xc4\xce\x09\x1a\x8b\x7d\x4e\x9f\xf3\
+\x0d\x75\xa3\xed\xe8\x6e\xb4\x1d\xd9\x8d\xd1\x9e\x33\xd3\xbe\x37\
+\x99\x4c\xa2\xab\xab\x0b\x55\x55\x55\x70\xb9\x5c\x69\xaf\xe9\xf5\
+\x7a\x38\x9d\x4e\x49\x7c\xe4\x83\x8a\x8a\x8a\xb4\xf5\x05\x83\x41\
+\x94\x96\x96\xa6\x79\x66\x98\xc8\xe4\x05\x24\x1f\x5a\xc6\x4a\x66\
+\xf3\x89\xff\xcc\x98\x97\x97\x4c\x66\xaf\xb3\xe7\xf9\xb0\x41\xf9\
+\x2d\x4b\xf2\x17\x45\x11\xfd\xfd\xfd\x08\x87\xc3\x19\x39\x32\xf3\
+\x11\x33\xd9\x44\x4d\x63\x63\x23\xbe\xfe\xf5\xaf\xc3\x62\xb1\x64\
+\x08\x97\xd9\x08\x18\x12\x31\x04\x41\x90\x98\x21\x08\x82\x28\x32\
+\x4e\xa7\x13\xff\xf6\x6f\xff\x86\x87\x1f\x7e\x38\x6b\x67\xf8\x7c\
+\x84\x99\x29\x7d\x46\xde\x63\x46\xa3\xd1\x40\x10\x04\xc4\xe3\x71\
+\xc4\x62\x31\x49\xc4\x08\x82\x20\x19\xd0\xa9\x54\x0a\x82\x20\x20\
+\x16\x8b\x49\x4b\x3c\x1e\x87\x20\x08\x52\x12\x3b\x9f\x5b\xd3\xd7\
+\x72\x04\x43\x1d\xa7\x50\xb9\xf2\x92\xfc\x08\x9a\x78\x14\x31\xb5\
+\x1a\x06\x93\x75\xda\xf7\x4d\x4d\x8c\xe0\xf4\xdb\x2f\xa0\xed\xf0\
+\x2e\x78\x07\x3b\xe7\xb4\x8d\xee\xee\x6e\xac\x5e\xbd\x1a\x4e\xa7\
+\x33\x63\xee\x4b\x4a\x4a\x30\x39\x39\x99\x37\xef\x4c\x45\x45\x05\
+\xce\x9c\x39\x2f\xb0\xbc\x5e\x2f\x1a\x1b\x1b\xd3\x44\x28\xab\x44\
+\xc7\x3c\x24\xac\xa2\xdc\x4c\x55\xcc\xf8\xb1\xf3\xa2\x86\x17\x33\
+\x72\xb1\x2b\x17\x3d\xd1\x68\x14\x03\x03\x03\x52\xf5\xba\x99\x04\
+\xcc\x5c\xc4\x0c\x2f\x6a\xca\xca\xca\xf0\xe8\xa3\x8f\xc2\xed\x76\
+\x67\x84\x2f\x2a\x15\x07\x50\x12\x2f\x24\x62\x08\x82\x20\x31\x43\
+\x10\x04\xb1\x00\x94\x97\x97\xe3\x5f\xff\xf5\x5f\xf1\xc8\x23\x8f\
+\xcc\x2a\x27\x23\x5f\x39\x33\x4a\x3d\x66\x94\x42\x96\x94\xc2\x89\
+\x78\x03\x52\x9e\x88\x6e\x32\x99\x10\x0a\x85\xa4\xcf\x1f\x7a\xf5\
+\x49\xdc\xf5\xf0\x8f\xf3\x36\x5f\x89\x68\x18\x2a\x95\x0a\x7a\x63\
+\x66\x85\x33\xef\x40\x07\x0e\xef\xf8\x0d\x5a\x0e\xee\x80\x98\x14\
+\xe6\xb5\xfe\x78\x3c\x8e\xce\xce\x4e\x54\x54\x54\xc0\x6e\x4f\xf7\
+\x02\x69\xb5\x5a\xb8\x5c\x2e\xf8\x7c\xbe\xbc\xec\x8b\xd1\x68\x4c\
+\x0b\x35\x63\xcd\x4c\x59\x88\x59\xb6\xca\x5c\xbc\x10\x98\x4e\x34\
+\xf0\x42\x95\x87\x09\x21\x76\x3c\x59\x0f\x21\xfe\x98\x4f\x4e\x4e\
+\x62\x74\x74\x14\x2a\x95\x4a\x12\xb6\x73\x15\x31\xd9\x44\x39\x3f\
+\x4e\xab\xd5\x8a\x7f\xfa\xa7\x7f\x42\x75\x75\xb5\xa2\x68\x99\x4b\
+\xa3\x50\x82\x20\x08\x12\x33\x04\x41\x10\x0b\x40\x6d\x6d\x2d\xbe\
+\xf7\xbd\xef\xe1\x5b\xdf\xfa\x56\x46\x4f\x13\xb9\xb1\x36\x9f\x30\
+\x33\x25\x63\x53\x2e\x66\x58\xc5\xb2\xd9\x84\xf1\x28\x95\xd3\x65\
+\x06\x37\x2b\xd1\xcc\xc6\x39\xda\xd3\x82\x9e\xa6\x03\x39\x37\xd1\
+\x4c\x1b\x7b\x24\x04\x95\x4a\x0d\x9d\xc1\x04\x00\x18\x38\x7b\x0c\
+\x87\xb7\xff\x06\x9d\xa7\xde\x01\xf2\xe0\x35\xe9\xea\xea\xc2\x9a\
+\x35\x6b\x32\xc4\x0c\x00\x78\x3c\x1e\x4c\x4e\x4e\xce\xeb\x38\x28\
+\x51\x59\x59\x29\x89\x19\x96\x64\xef\xf1\x78\x32\x0a\x30\xe4\xdb\
+\x98\xcf\x56\x74\x42\xa5\x52\xa1\xaf\xaf\x0f\xa1\x50\x48\x51\xc4\
+\xe4\x2a\xac\xf9\xf1\xea\x74\x3a\x7c\xf7\xbb\xdf\xc5\xaa\x55\xab\
+\xd2\xf6\x71\x26\xe1\x46\x02\x86\x20\x08\xe2\x3c\x6a\x9a\x02\x82\
+\x20\x16\x03\x17\x5d\x74\x11\xfe\xfe\xef\xff\x3e\xcd\x80\x54\x32\
+\xdc\xf2\x11\x66\xa6\x52\xa9\x10\x8b\xc5\xd2\x9e\xd3\xe9\x74\x33\
+\x76\x99\x57\x12\x32\x4a\xe1\x40\x46\xa3\x31\x6d\xdd\x87\x5e\xfb\
+\x4f\x88\x0a\x8d\x3b\x73\x21\x16\x9e\xc2\x94\x77\x18\x3b\x7e\xf5\
+\x6d\xfc\xfe\x5f\x1f\x44\xe7\xc9\xbd\x79\x11\x32\x00\x10\x89\x44\
+\xd0\xd9\xd9\x99\xe6\x61\x62\x68\xb5\x5a\xb8\xdd\xee\xbc\xed\x87\
+\xbc\xaf\xcd\xd0\xd0\x50\xd6\xde\x32\xbc\xb0\x99\xcd\x71\x9a\xed\
+\x31\x64\x8f\x05\x41\x40\x57\x57\x17\xa2\xd1\xa8\x14\x5a\x38\x5d\
+\x2f\x98\x5c\x16\x8d\x46\x83\x6f\x7d\xeb\x5b\xb8\xf4\xd2\x4b\x15\
+\xfb\xc4\xcc\x24\xaa\x09\x82\x20\x08\x12\x33\x04\x41\x2c\x22\x54\
+\x2a\x15\x36\x6e\xdc\x88\xbf\xfb\xbb\xbf\x4b\xab\xa4\x95\xab\x67\
+\x46\xe9\xfd\xf2\x1e\x33\xc0\xb9\x0a\x6b\x4a\xc6\x33\x9f\x7c\x2e\
+\x17\x30\xf2\x72\xce\xac\xe3\x3a\xf3\xf2\x30\x26\x47\x7a\x71\x7c\
+\xd7\x33\x79\x9d\xaf\xe1\xae\x26\x3c\xf7\x2f\x0f\xe0\xcc\x81\xed\
+\x05\x39\x1e\x9d\x9d\x9d\x59\xc3\xc9\x58\x6e\x47\x3e\x30\x18\x0c\
+\x69\xc5\x06\x7c\x3e\x1f\x12\x89\x84\x62\x65\x39\xb6\xb0\xa2\x00\
+\x72\xd1\xa3\x94\x30\x9f\x4d\x14\xc9\xd7\x17\x0a\x85\xd0\xdd\xdd\
+\x9d\x56\x18\x62\x2e\x82\x68\x3a\x61\x25\x7f\x8f\x4e\xa7\xc3\xb7\
+\xbf\xfd\x6d\xdc\x78\xe3\x8d\x8a\xe7\x98\x52\x78\x19\x41\x10\x04\
+\xa1\x0c\x85\x99\x11\x04\xb1\x28\x84\x0c\xe3\xf2\xcb\x2f\xc7\x67\
+\x3f\xfb\x59\x3c\xf9\xe4\x93\x8a\xef\x9d\xab\x67\x46\xe9\xfd\xf2\
+\x1e\x33\x6a\xb5\x1a\x06\x83\x01\x16\x8b\x05\x36\x9b\x0d\x56\xab\
+\x15\x16\x8b\x45\x2a\x11\xcc\x8c\x4b\x96\x84\x1e\x8d\x46\x91\x48\
+\x24\xa4\x3e\x28\x7c\x72\xba\x20\x08\x48\x26\x93\x30\x1a\x8d\x08\
+\x87\xc3\xd2\x36\x8e\xef\x7a\x0e\x0d\x1b\xae\x82\xa7\x7a\x65\x4e\
+\x73\x25\x8a\x49\x1c\x7d\xfd\xb7\x38\xb1\xfb\xf7\x48\xe5\x29\xd4\
+\x4b\x89\xa9\xa9\x29\x74\x75\x75\xa1\xac\xac\x4c\x2a\x47\xcc\xcf\
+\x9f\xc7\xe3\xc9\x5a\xb4\x61\xae\xc8\x43\xcd\x46\x47\x47\x51\x5f\
+\x5f\x2f\x89\x19\x7e\xfe\xd9\x2d\x4b\xe4\xd7\x68\x34\x19\x09\xfe\
+\xec\x7d\x4a\x89\xff\xf2\xcf\x27\x93\x49\xb4\xb5\xb5\x61\x62\x62\
+\x62\x4e\xa2\x21\x5b\xb9\xef\xd9\x88\xb7\xef\x7e\xf7\xbb\xd8\xba\
+\x75\xeb\x9c\x3f\x4b\x10\x04\x41\x64\x42\x9e\x19\x82\x20\x16\x9d\
+\xa8\xb9\xf2\xca\x2b\x71\xe7\x9d\x77\x2a\x5e\x95\x9e\xab\x98\x99\
+\x4d\xc3\x4c\xb5\x5a\x8d\xf1\xf1\x71\x84\xc3\xe1\xb4\x26\x8d\xcc\
+\x03\x20\xef\xf5\xc1\x12\xd4\x59\x33\x43\xa3\xd1\x98\xd6\xe4\x51\
+\xab\xd5\x4a\xf7\xa5\x71\x24\x05\xec\x79\xf6\x7f\xe7\x14\x6e\x96\
+\x4c\x0a\xd8\xf1\xab\x7f\xc0\xf1\x37\x9f\x9d\x51\xc8\xcc\xd6\x9b\
+\xa0\x54\x21\x8b\xd1\xd9\xd9\x09\xaf\xd7\xab\xb8\x7e\x97\xcb\x95\
+\x11\x12\x38\x5f\xe4\xa1\x66\x03\x03\x03\x50\xab\xd5\x92\x57\x85\
+\xcd\xbb\xbc\x89\xa6\x5e\xaf\x4f\x7b\x5d\xe9\xb8\xc9\xdf\xcf\x3f\
+\x1e\x1f\x1f\xc7\xb1\x63\xc7\xe6\x55\x6e\x7a\x3e\xa1\x6d\x56\xab\
+\x15\x3f\xfc\xe1\x0f\xb1\x6d\xdb\x36\x0a\x1d\x23\x08\x82\x20\x31\
+\x43\x10\xc4\x72\x16\x34\xdb\xb6\x6d\xc3\x9d\x77\xde\x99\xd1\xbc\
+\x71\xae\x61\x66\xd9\xae\xa0\xf3\x39\x33\x2c\x64\x6a\x7c\x7c\x1c\
+\x03\x03\x03\x10\x04\x61\xc6\xe4\x7f\x79\x18\x93\x52\xce\x03\xf3\
+\xea\x30\xbc\x83\x9d\xf3\x0f\x37\x4b\xa5\xf0\xf6\x33\x3f\xc4\xc0\
+\xd9\x13\xb3\x32\xb0\xe5\xcf\xc9\xf3\x43\xb2\x55\xcd\xe2\xf1\xf9\
+\x7c\xe8\xed\xed\xcd\x28\x63\xcd\x04\xa0\xc7\xe3\xc9\xcb\x31\x67\
+\xcd\x32\x19\x63\x63\x63\x10\x45\x51\xea\xe3\x33\x53\x1f\x97\xb9\
+\x12\x0c\x06\x71\xec\xd8\x31\xb4\xb5\xb5\x65\xf4\x1b\x2a\x14\x4e\
+\xa7\x13\x3f\xfa\xd1\x8f\xb0\x61\xc3\x06\xfa\x92\x13\x04\x41\x90\
+\x98\x21\x08\x62\x39\x09\x97\x6c\x46\xf9\xaa\x55\xab\xb0\x7e\xfd\
+\xfa\x19\xc5\xc9\x74\x28\x89\x1f\x79\xb3\x4b\x3e\xd9\x7b\x6a\x6a\
+\x0a\x2d\x2d\x2d\x18\x1a\x1a\xca\x2a\x84\xe4\x82\x86\x17\x32\xf2\
+\x3c\x0f\xd6\x9f\x84\x71\x7c\xd7\x73\xf0\x0e\x74\xcc\x79\xae\x0e\
+\xbd\xf6\x14\xda\x8f\xef\x99\x76\xbe\xb2\x09\x18\x3e\xd7\x67\xba\
+\xc4\x7a\xb6\xf0\x74\x74\x74\x64\xcd\x9d\x71\xb9\x5c\x19\xfb\x37\
+\x5f\xf8\xca\x69\xc1\x60\x10\xc1\x60\x50\x12\x32\xbc\xa0\xc9\x85\
+\x64\x32\x89\xf6\xf6\x76\x1c\x3b\x76\x0c\x53\x53\x53\x45\x3b\xcf\
+\xcb\xcb\xcb\xf1\xef\xff\xfe\xef\x58\xb5\x6a\x15\x7d\xe9\x09\x82\
+\x20\x48\xcc\x10\x04\x71\x21\x21\x2f\x0f\x9c\x8f\x02\x00\x4a\x0d\
+\x33\x79\x11\x20\x8a\x22\x06\x06\x06\x70\xfc\xf8\x71\x8c\x8f\x8f\
+\x4f\x5b\x96\x99\x89\x17\x79\x28\x1a\x2b\x06\xc0\xc4\x83\x34\x9e\
+\x79\x84\x9b\xbd\xff\xee\xab\x38\xf9\xe7\xdf\x4f\x2b\x62\xe4\x63\
+\xe3\x85\x8a\x5c\x68\x29\x8d\x95\x4f\x42\xe7\x19\x19\x19\x41\x5f\
+\x5f\x9f\xa2\x77\x46\xa5\x52\xa1\xa4\xa4\x24\x2f\xc7\xd9\xe1\x70\
+\xa4\x3d\x1e\x1a\x1a\x42\x32\x99\xcc\x10\x32\xf3\xcd\x99\x1a\x1b\
+\x1b\xc3\x7b\xef\xbd\x87\x81\x81\x81\xbc\x79\x78\x66\x43\x5d\x5d\
+\x1d\x7e\xfc\xe3\x1f\xa3\xba\xba\x9a\xbe\xcc\x04\x41\x10\x05\x80\
+\x0a\x00\x10\x04\xb1\x28\x61\xc6\xb9\xdc\xb8\xce\x47\x01\x00\x25\
+\x31\xa3\x14\x56\x16\x8f\xc7\xd1\xda\xda\x8a\xa1\xa1\x21\xac\x58\
+\xb1\x02\x66\xb3\x19\x82\x20\x40\x14\x45\x29\xd1\x9f\xef\x50\x2f\
+\xef\x39\xc3\x0b\x1e\xde\x1b\xe4\x1d\xec\xc4\xb1\x5d\xbf\xc3\xe5\
+\xb7\x7c\x6e\xc6\xf1\xf7\xbe\x7f\x08\xfb\x5f\xf8\xd9\x8c\x73\xc5\
+\x6e\xe5\x61\x63\xd9\x4a\x19\xf3\x62\x8f\x5f\x92\xc9\x24\x34\x1a\
+\x8d\xb4\x5f\x00\xd0\xde\xde\x8e\xaa\xaa\x2a\x54\x55\x55\x29\x8a\
+\x10\xaf\xd7\x9b\xd1\xb7\x27\x57\x31\x33\x38\x38\x88\xba\xba\x3a\
+\x24\x93\x49\xa9\xa1\x29\x3f\x7e\x96\xc4\xcf\xf6\x5b\x29\xd9\x5f\
+\xa3\xd1\x48\x4d\x40\xe7\x93\x17\x93\x2b\xab\x57\xaf\xc6\x0f\x7e\
+\xf0\x83\x8c\x7d\x23\x08\x82\x20\x48\xcc\x10\x04\xb1\x8c\x05\x0c\
+\x6f\x6c\xe7\x2a\x66\x94\x3c\x33\x72\xc3\x9b\x89\x19\x25\x81\x00\
+\x9c\x0b\x7b\x3a\x79\xf2\x24\xdc\x6e\x37\xca\xca\xca\xd2\x2a\x97\
+\xc5\x62\x31\xc4\x62\x31\x08\x82\x00\x41\x10\x24\x4f\x82\x5c\x1c\
+\x69\x34\x9a\xb4\xfc\x8c\x13\xbb\x7e\x8f\xc6\x0d\x57\x4f\x5b\xdd\
+\x4c\x4c\x26\xb1\xff\x85\x9f\x29\x26\xfb\xcb\x3d\x32\xb3\xed\x87\
+\xc2\xcf\x2f\x1b\x6b\x32\x99\x94\x04\x5a\x2a\x95\xca\x10\x33\x83\
+\x83\x83\xe8\xed\xed\x85\xdb\xed\xce\xe8\xa1\xa3\x52\xa9\x50\x5a\
+\x5a\x8a\x81\x81\x81\x9c\x8e\xbd\xdd\x6e\x97\xc4\x08\x70\xce\x33\
+\xe3\xf7\xfb\xa1\xd3\xe9\xa0\xd7\xeb\xa5\x39\x54\x2a\x08\xc1\x7f\
+\x0e\x80\x54\xb1\xcc\xe7\xf3\x61\x74\x74\xb4\xa8\x9e\x18\xc6\xa6\
+\x4d\x9b\xf0\xfd\xef\x7f\x1f\x66\xb3\x99\xbe\xd8\x04\x41\x10\x05\
+\x84\xc2\xcc\x08\x82\x58\x34\x42\x46\x49\xd8\xc8\xc5\x4c\x3e\x0a\
+\x00\xc8\x1b\x66\x66\xf3\xcc\xc8\xc7\xe3\xf3\xf9\xd0\xd6\xd6\x86\
+\x40\x20\x20\xe5\x96\x30\x81\xc0\x87\x73\xb1\x6a\x5a\xf2\x06\x88\
+\x69\x1e\x91\xa4\x80\x3d\xcf\xfe\x70\xda\x70\xb3\xd6\xf7\x76\x62\
+\xca\x37\x92\x55\xf0\x29\xe5\xc3\xb0\xf0\x31\x56\x5d\xcd\x60\x30\
+\xc0\x68\x34\xc2\x64\x32\xc1\x64\x32\xc1\x6c\x36\x4b\x8b\xc9\x64\
+\x82\xd1\x68\x84\xd1\x68\x4c\x0b\x3b\x63\xe1\x69\x69\x63\x69\x6d\
+\xcd\x5a\x8a\xd9\x6e\xb7\x67\x94\x6f\x9e\x2b\x1a\x8d\x26\xcd\xf0\
+\x9f\x98\x98\x48\x13\x59\x4c\x40\xb2\xe7\xf8\x02\x01\xbc\xd7\x4b\
+\x14\x45\x8c\x8c\x8c\xe0\xcc\x99\x33\x18\x19\x19\x59\x10\x21\x73\
+\xcd\x35\xd7\xe0\x07\x3f\xf8\x01\x09\x19\x82\x20\x88\x22\x40\x9e\
+\x19\x82\x20\x16\xb5\xb0\x91\x27\xa4\xe7\xea\x99\x51\x6a\x98\xc9\
+\x4a\x0c\x67\x4b\xa4\xe7\x3f\x2b\x8a\x22\x86\x86\x86\xe0\xf5\x7a\
+\xe1\x72\xb9\x60\x30\x18\x32\x44\x44\x22\x91\x80\x4e\xa7\x93\xbc\
+\x35\xac\x17\x8a\x56\xab\x4d\x0b\x71\xf3\x0e\x76\x65\x0d\x37\x4b\
+\x26\x05\x1c\x7f\xf3\x59\xc5\x79\xc9\x26\x66\xf8\x1c\x9d\x6c\x4d\
+\x27\xf9\x7d\xe2\x3d\x4c\x7c\xf2\x7f\x2a\x95\x82\x4e\xa7\x4b\x0f\
+\x8d\xf3\x7a\xd1\xdd\xdd\x0d\xb7\xdb\x9d\x56\x79\x8c\x51\x5a\x5a\
+\x8a\xfe\xfe\xfe\x9c\x8e\xbb\xc3\xe1\x40\x28\x14\x02\x00\x44\xa3\
+\x51\x84\x42\x21\xa9\x8f\xcf\x74\xc7\x5d\xa5\x52\x21\x99\x4c\xc2\
+\xeb\xf5\x66\x2d\x56\x50\x0c\x34\x1a\x0d\x1e\x7a\xe8\x21\xdc\x77\
+\xdf\x7d\xf4\x25\x26\x08\x82\x20\x31\x43\x10\x04\x89\x9a\xfc\xe7\
+\xcc\xc8\x7b\xcc\xc8\x73\x31\x94\x44\x8c\x1c\xb5\x5a\x8d\x44\x22\
+\x81\xe1\xe1\x61\x00\x90\x1a\x6c\xf2\x42\x46\xaf\xd7\x4b\x62\x86\
+\x79\x13\x94\x42\xb8\x4e\xbc\xf9\x1c\x1a\xd6\x5f\x85\x92\x9a\xf4\
+\x4a\x57\x2d\x07\xb6\x23\x38\x39\xa6\x28\x66\x78\x6f\x10\x2f\x60\
+\x78\xcf\x50\xb6\xea\x6a\xec\xb3\xcc\xa3\x21\x08\x02\x12\x89\x44\
+\xda\xf3\x6c\x91\x87\xc6\xb5\xb4\xb4\xa0\xba\xba\x1a\x16\x8b\x25\
+\x63\x7e\x6c\x36\x1b\x4c\x26\x13\x22\x91\x48\x4e\x62\x66\x70\x70\
+\xf0\xbc\xd8\xf3\x7a\x61\xb3\xd9\xb2\x1e\x73\x76\x1c\x7c\x3e\x1f\
+\x7c\x3e\x5f\x5a\x1e\x4d\xb1\x29\x29\x29\xc1\xa3\x8f\x3e\x4a\xa5\
+\x97\x09\x82\x20\x48\xcc\x10\x04\x71\xa1\x0b\x18\xb9\xe1\xce\x93\
+\x6b\x35\x33\xb5\x5a\xad\xd8\x63\x46\xbe\xdd\xe9\xc6\xc5\x8c\x6b\
+\x96\x68\xee\xf7\xfb\xd3\x44\x8c\xd1\x68\xcc\x10\x32\x6c\x61\xde\
+\x9d\xf3\x61\x51\x49\xbc\xfd\xdc\xff\xc6\xdd\x5f\xfb\x19\xd4\x1f\
+\x8c\x45\x10\x12\x38\xb1\xeb\xb9\x8c\x71\x67\xeb\x73\x23\xaf\x50\
+\x26\x5f\x78\xb1\xc3\xe7\xcb\x88\xa2\x88\x44\x22\x81\x78\x3c\x9e\
+\x21\x66\x44\x51\x84\x4e\xa7\x93\x2a\x8a\x01\xe7\x72\x87\x3a\x3a\
+\x3a\xe0\x74\x3a\x15\x7b\xcc\x94\x96\x96\xa2\xb7\xb7\x77\xde\xc7\
+\x5e\x5e\xb9\x6e\x62\x62\x02\x0d\x0d\x0d\x69\x02\x53\xa5\x52\x49\
+\x1e\xae\xd1\xd1\xd1\x8c\x6a\x73\x0b\xc1\x65\x97\x5d\x86\x7f\xf8\
+\x87\x7f\x80\xd3\xe9\xa4\x2f\x30\x41\x10\x04\x89\x19\x82\x20\x48\
+\xc8\x9c\xbf\x95\x77\x99\xcf\xb7\x67\x46\x29\x31\x7e\x36\x5d\xd9\
+\xe5\x15\xc4\x58\xe5\xac\xa9\xa9\x29\xa8\xd5\x6a\xe8\xf5\x7a\xd8\
+\x6c\xb6\x34\xf1\xc0\x93\x11\x6e\xf6\xe6\x7f\xe1\xf2\x8f\x7d\x1e\
+\x00\x70\xf6\xbd\xd7\x11\x0a\x78\xd3\xb6\xa5\x24\x62\xf4\x7a\x3d\
+\x74\x3a\x9d\xe4\x15\x32\x18\x0c\xd2\xc2\x9e\xe7\x3d\x35\x7c\x98\
+\x19\x0b\x31\x63\x05\x0c\xc2\xe1\x30\x42\xa1\x50\x66\x6e\x8f\x28\
+\xa6\x89\xbf\xb3\x67\xcf\xa2\xa2\xa2\x02\x56\xab\x35\x23\x4f\xc6\
+\x62\xb1\xc0\x6c\x36\x23\x1c\x0e\xcf\x5b\xcc\xf0\x62\x31\x10\x08\
+\xc0\x6a\xb5\xc2\x64\x32\x49\xa2\x6d\x62\x62\x02\x23\x23\x23\x98\
+\x9c\x9c\x5c\x50\x01\xc3\xb6\xfd\xb9\xcf\x7d\x0e\xf7\xdf\x7f\xff\
+\x82\x8e\x83\x20\x08\x82\xc4\x0c\x41\x10\xc4\x22\x15\x36\xf9\xce\
+\x99\x61\x46\x3c\x2f\x6e\x78\xc1\x20\xcf\x99\xc9\x36\x36\xde\x3b\
+\xc3\xe7\xaf\x30\xaf\x81\xdf\xef\x97\xf2\x65\xf4\x7a\x7d\x46\xd2\
+\x7a\x2a\x95\xca\xa8\x6e\xd6\xb0\xe1\x6a\x94\xd4\xac\x42\x5f\xcb\
+\x91\xb4\xed\xc9\xfb\xc6\x30\x8f\x0b\x13\x2e\x26\x93\x49\x4a\xf4\
+\x37\x1a\x8d\x92\xb8\x61\x62\x87\x0f\x35\xe3\xf3\x65\x04\x41\x80\
+\x5e\xaf\x97\x3c\x36\xcc\x23\xc3\x12\xed\x99\x57\x29\x91\x48\x48\
+\xf3\x18\x8f\xc7\xd1\xdc\xdc\x0c\xbb\xdd\x8e\xfa\xfa\xfa\x8c\x39\
+\x2a\x2b\x2b\x43\x77\x77\xf7\xfc\xfe\x90\xb4\x5a\x98\xcd\x66\x29\
+\x6f\xc6\xef\xf7\x43\xa5\x52\x21\x1c\x0e\x63\x72\x72\x12\x3e\x9f\
+\x0f\xc9\x64\x72\x56\x62\xb3\xd0\x38\x9d\x4e\x7c\xfb\xdb\xdf\xc6\
+\x96\x2d\x5b\xe8\xcb\x4a\x10\x04\x41\x62\x86\x20\x08\x22\x53\x40\
+\x14\xa2\x9a\x19\x2f\x20\x98\x98\x91\x57\x32\x9b\xad\xa1\x2c\xf7\
+\xce\x30\xd1\xc1\x7a\x9c\x24\x93\x49\x44\x22\x11\x49\x0c\x30\x4f\
+\x13\x1f\xca\xc5\xf6\x87\x85\x9b\x7d\xe2\x91\x9f\x60\xb8\xe3\x74\
+\xc6\x1c\xf0\x21\x65\x4c\xac\xf0\x55\xca\x58\x65\x32\x26\x70\x98\
+\x90\x61\x95\xd5\xf8\x7c\x19\x36\x8f\x89\x44\x22\x43\xdc\xb0\xb0\
+\xb3\x44\x22\x21\x85\xc9\xe9\xf5\xfa\x34\x6f\xd6\xd0\xd0\x10\x7a\
+\x7a\x7a\x60\xb7\xdb\xe1\x76\xbb\xd3\xe6\xc4\x64\x32\xc1\x6a\xb5\
+\x22\x18\x0c\xce\xeb\xf8\x5b\x2c\x16\x49\xcc\x84\x42\x21\x34\x35\
+\x35\x21\x99\x4c\x66\x88\xb1\x85\x64\xe3\xc6\x8d\x78\xf4\xd1\x47\
+\x15\x43\xed\x08\x82\x20\x08\x12\x33\x04\x41\x5c\xc0\x02\x86\x3d\
+\x66\xcf\xe5\xbb\x00\x40\xb6\x86\x99\x33\x8d\x49\xe9\x75\x25\xef\
+\x0c\x5f\xb9\x4c\xde\x8c\x92\xe5\xd1\x30\x01\xc3\xde\xcb\xf0\x0e\
+\x76\x61\xf7\xd3\xff\x82\x58\x24\x98\xb6\x1d\xe6\xf1\x61\x39\x39\
+\xcc\x1b\xc3\x4a\x2d\xf3\x25\x96\x8d\x46\x63\x56\x21\xc3\x7b\xb9\
+\x58\xfe\x0e\xdb\x0f\x5e\xc8\x30\x31\xc3\x04\x0d\x13\x51\xbc\x10\
+\x6c\x6e\x6e\x46\x49\x49\x09\xac\x56\x2b\xf4\x7a\x7d\xda\xdc\x94\
+\x96\x96\xce\x5b\xcc\xf0\xe5\x8c\x53\xa9\x14\x26\x27\x27\x61\xb5\
+\x5a\xd3\xfa\xf7\x2c\xe4\x79\x7a\xdf\x7d\xf7\xe1\xc1\x07\x1f\xcc\
+\x38\x2f\x09\x82\x20\x08\x12\x33\x04\x41\x90\xa0\xc9\x78\x2e\x17\
+\xcf\xcc\x5c\x1a\x66\x66\xf3\xcc\xcc\x36\x77\x86\x35\x6a\x64\x55\
+\xc0\x78\x41\x23\x2f\x02\xc0\x87\x9a\xb1\x82\x00\x8c\x9e\xa6\x77\
+\x33\xc6\xc7\x87\x97\xc9\x73\x63\xe4\x79\x32\x7c\xe5\x32\xbe\xf7\
+\x0a\x2b\x5f\xcc\x44\x02\x6b\x96\xc9\xde\xc3\x7b\x96\xe4\x65\x9d\
+\xd5\x6a\x75\x46\x31\x80\x68\x34\x8a\xd3\xa7\x4f\xc3\x6a\xb5\xa2\
+\xae\xae\x2e\x6d\x9e\x8c\x46\x23\xec\x76\x3b\x02\x81\xc0\x9c\xcf\
+\x03\x8b\xc5\x92\xf6\x38\x1a\x8d\xc2\x62\xb1\x64\x88\xd2\x62\x0b\
+\x9b\xb2\xb2\x32\x7c\xed\x6b\x5f\xc3\xd6\xad\x5b\xe9\xcb\x4a\x10\
+\x04\x41\x62\x86\x20\x08\x62\x76\xe2\x26\x17\xcf\x8c\xd2\x7b\xe5\
+\x62\x86\xe5\x8b\xcc\x35\xc4\x8c\x8d\x91\xef\x40\xcf\x04\x0d\x13\
+\x12\x7c\x0e\x8a\x5c\xc4\xf0\x9e\x06\x79\x07\xfb\x6c\x62\x86\x17\
+\x1a\x7c\xdf\x18\x00\x52\x8e\x4b\x3c\x1e\x97\x3c\x2d\xac\x28\x01\
+\xf3\xc8\xf0\xfb\xc6\xe7\xc3\x24\x93\x49\x44\xa3\xd1\x34\xaf\x11\
+\x7b\xbf\x52\x15\x31\xc6\xe0\xe0\x20\x9a\x9b\x9b\xa1\xd5\x6a\x51\
+\x55\x55\x95\xb6\xfe\x92\x92\x92\x79\x89\x19\xb9\x97\x87\x17\x50\
+\x0b\xe1\x9d\xd1\x68\x34\xb8\xf7\xde\x7b\xf1\xb9\xcf\x7d\x0e\x46\
+\xa3\x91\xbe\x98\x04\x41\x10\x24\x66\x08\x82\x20\xb2\x8b\x03\x79\
+\x55\xb1\x7c\x7a\x66\x8c\x46\x23\xc6\xc6\xc6\x32\x8c\x55\xb9\xa1\
+\xcf\x8f\x65\xae\xe2\x8b\x17\x34\x4a\xe1\x66\x72\x51\xc3\x1b\xed\
+\x4a\xeb\x64\xa1\x60\x2c\xe1\x9f\x0f\x27\x53\xca\x8f\xd1\x6a\xb5\
+\x92\x87\x25\xdb\x3e\xf0\x22\x4a\xad\x56\x4b\x39\x29\xfc\xc2\x17\
+\x0e\x60\xb9\x33\x6c\xbd\xfc\x58\x5b\x5b\x5b\x61\xb3\xd9\x00\x20\
+\x4d\xd0\x18\x0c\x06\x38\x1c\x0e\xf8\xfd\xfe\x79\x89\x58\xfe\x18\
+\xca\xe7\xaa\x58\x82\x66\xc3\x86\x0d\x78\xe4\x91\x47\xd0\xd8\xd8\
+\x48\x5f\x4e\x82\x20\x08\x12\x33\x04\x41\x10\x73\x17\x36\xf9\xf4\
+\xcc\x98\x4c\xa6\x34\x31\xc3\xd6\x3f\xdf\x02\x00\x6c\x1d\xbc\x71\
+\xcd\x04\x82\x5c\xd0\x28\x85\x9a\xb1\xf7\xb1\xcf\x28\xf5\xc4\x61\
+\xfb\xc1\x1a\x5b\x6a\x34\x1a\x18\x8d\x46\x49\xdc\x98\x4c\x26\x49\
+\xcc\xb0\xd7\x95\x4a\x4d\x67\x13\x6c\xec\x33\xbc\x88\xe1\x9b\x7f\
+\x2a\x35\xfe\xe4\xfb\xe4\xa4\x52\x29\x9c\x38\x71\x02\x26\x93\x09\
+\x2a\x95\x0a\x95\x95\x95\xd2\x76\x4a\x4b\x4b\x11\x08\x04\xe6\x74\
+\xcc\x94\xaa\xd7\x29\x79\xb3\x0a\x89\xcd\x66\xc3\x17\xbe\xf0\x05\
+\xdc\x7a\xeb\xad\x54\x72\x99\x20\x08\x82\xc4\x0c\x41\x10\xc4\xf4\
+\x62\x60\x2e\xc6\xad\xbc\x1a\xd9\x74\xf0\xe2\x40\xa7\xd3\x61\x74\
+\x74\x34\xad\x67\x0a\x0b\x69\x9a\x6d\xc3\xcc\xd9\xee\x4f\xb6\x70\
+\x33\x25\xcf\x0c\x9f\x3b\x23\xf7\x40\x28\xe5\xaf\xa4\x52\x29\x44\
+\xa3\x51\x24\x93\x49\x04\x83\x41\xa8\xd5\x6a\x29\xe9\x9f\xf7\xd4\
+\xb0\x1e\x33\x06\x83\x41\x12\x38\xac\xac\x71\x32\x99\x84\x46\xa3\
+\x81\x20\x08\xd2\x76\xd9\x7c\xb1\xaa\x66\x7c\xc1\x02\x56\x08\x40\
+\x10\x04\x49\x00\xf2\xc7\x21\x91\x48\xe0\xe8\xd1\xa3\x52\x4f\x20\
+\x26\x68\x74\x3a\x1d\x9c\x4e\x27\x26\x26\x26\xe6\x75\xcc\x94\xc4\
+\x4c\xa1\xf9\xe8\x47\x3f\x8a\x2f\x7d\xe9\x4b\x70\x38\x1c\xf4\xe5\
+\x24\x08\x82\x20\x31\x43\x10\x04\x31\x7f\x81\xa3\x52\xa9\x60\xb3\
+\xd9\xa0\xd3\xe9\xa4\x5c\x8d\xd1\xd1\x51\xc9\xab\x31\x17\xc3\xd8\
+\x6c\x36\xa3\xa9\xa9\x29\xed\xf5\x2d\x5b\xb6\x20\x1c\x0e\x23\x1c\
+\x0e\xcf\xa9\x61\xa6\xd2\x78\xe5\x1e\x83\xb9\x86\x9b\xb1\x72\xce\
+\xbc\x48\xe0\x73\x63\x98\xd7\x84\x0f\xff\xe2\x05\x0e\xcb\x7d\xe1\
+\x1b\x56\xf2\xfb\xc4\x8b\x2b\xf9\xd8\x58\x13\x4d\x51\x14\x11\x8f\
+\xc7\x11\x89\x44\x10\x0e\x87\x11\x8d\x46\x11\x8d\x46\x25\x31\xc3\
+\x0b\x0a\xb9\x27\x29\x14\x0a\xe1\xe0\xc1\x83\xb8\xe2\x8a\x2b\xd2\
+\x04\x4d\x49\x49\x09\x26\x27\x27\x67\x2d\x44\x58\x59\x66\x7e\x0e\
+\x8a\x21\x64\xea\xea\xea\xf0\xc8\x23\x8f\x60\xd3\xa6\x4d\xf4\x05\
+\x24\x08\x82\x20\x31\x43\x10\x04\x91\xbb\x90\x61\x46\xf3\xca\x95\
+\x2b\xd1\xd2\xd2\x02\xe0\x9c\x17\x60\x74\x74\x14\x15\x15\x15\x33\
+\xae\x8b\x19\xc0\x1a\x8d\x06\xe3\xe3\xe3\x69\x86\xbe\xdb\xed\x46\
+\x7d\x7d\x3d\x6a\x6a\x6a\x10\x8d\x46\x71\xfc\xf8\xf1\xb4\x5e\x2a\
+\xb9\x0a\x9a\xb9\x84\x9b\xb1\x50\xba\x54\x2a\x25\xe5\xa8\x28\xf5\
+\x97\x91\x2f\xac\x02\x19\x5b\xa6\xab\xc2\xc6\x04\x0b\x70\x3e\xa9\
+\x9e\xdd\xf2\x85\x0a\x58\x11\x00\x16\x7e\xa6\xd3\xe9\xa4\x31\xb2\
+\xdb\x6c\xa1\x71\xe1\x70\x18\x07\x0e\x1c\xc0\x15\x57\x5c\x81\x78\
+\x3c\x8e\xaa\xaa\x2a\xe8\xf5\x7a\xb8\xdd\x6e\x78\xbd\xde\x79\x89\
+\x19\x9d\x4e\x97\x51\x00\x80\x2f\xba\x90\x6b\x18\x98\xc1\x60\xc0\
+\x67\x3f\xfb\x59\xdc\x77\xdf\x7d\x92\x67\x89\xf1\xd9\x33\xfc\x00\
+\x00\x20\x00\x49\x44\x41\x54\x20\x08\x82\x20\x31\x43\x10\x04\x91\
+\xb3\x90\x61\x5e\x92\x75\xeb\xd6\x49\x62\x06\x00\xfa\xfb\xfb\x67\
+\x25\x66\x98\xd7\xc1\x6c\x36\xe3\xe4\xc9\x93\x69\xaf\x35\x34\x34\
+\x48\x42\xe1\xe2\x8b\x2f\xc6\x75\xd7\x5d\x87\xa6\xa6\x26\xec\xd9\
+\xb3\x47\x31\x19\x7f\xae\x82\x26\x97\x70\x33\xb6\xae\x6c\x15\xcc\
+\x58\xd8\x18\xdf\x3f\x66\x2e\xe5\xa4\xa7\x13\x5f\xf2\xf2\xcc\xac\
+\x38\x00\x3f\x5e\x36\x46\x36\xbf\xbc\xd7\x24\x1e\x8f\xe3\xd0\xa1\
+\x43\xd8\xb2\x65\x0b\x62\xb1\x18\xca\xca\xca\xe0\x76\xbb\x31\x31\
+\x31\x31\xab\xe2\x0d\x53\x53\x53\xd2\x7d\x36\x96\x42\x84\x99\xe9\
+\xf5\x7a\x7c\xfc\xe3\x1f\xc7\xa7\x3e\xf5\x29\x94\x94\x94\xd0\x97\
+\x8f\x20\x08\x82\xc4\x0c\x41\x10\x44\xee\x42\x46\xe9\x71\x45\x45\
+\x05\x6c\x36\x9b\x64\xe8\x8e\x8f\x8f\x23\x1a\x8d\xce\x58\x2a\x37\
+\x95\x4a\xc1\xe1\x70\xa0\xa5\xa5\x25\xad\xa4\xb0\xc3\xe1\x80\xdb\
+\xed\x4e\x13\x07\x46\xa3\x11\xb7\xdf\x7e\x3b\xee\xb8\xe3\x0e\xbc\
+\xf4\xd2\x4b\xd8\xb7\x6f\x5f\x5e\xf6\x67\x36\xe1\x66\x7c\xce\x0a\
+\x33\xb4\x01\x4c\x5b\x92\x39\x5b\xb5\xb2\xf9\x7a\x2a\x78\x01\x26\
+\x17\x34\xcc\x6b\xc3\xf6\x81\x2f\x5c\xc0\xb6\xc7\x0b\x0d\x41\x10\
+\x70\xe4\xc8\x11\x34\x34\x34\x20\x16\x8b\xc1\xe9\x74\xc2\x6e\xb7\
+\x63\x72\x72\x72\xda\x31\xf8\xfd\xfe\xb4\xea\x67\xcc\x2b\xc3\x0b\
+\x19\xfe\x76\x3e\xfb\x6a\x30\x18\x70\xc7\x1d\x77\xe0\x53\x9f\xfa\
+\x14\xdc\x6e\x37\x7d\xf1\x08\x82\x20\x48\xcc\x10\x04\x41\x14\x4e\
+\xe0\xb0\xa5\xbe\xbe\x5e\xca\x79\x49\xa5\x52\x18\x18\x18\xc0\xca\
+\x95\x2b\xa7\xfd\xbc\xc9\x64\xc2\xf8\xf8\x38\x86\x86\x86\xa4\xe7\
+\xd4\x6a\x35\x6a\x6b\x6b\x15\xfb\xb7\xa8\xd5\x6a\xb8\xdd\x6e\x3c\
+\xfc\xf0\xc3\xf8\xe4\x27\x3f\x89\x17\x5e\x78\x01\xfb\xf7\xef\x9f\
+\xf3\x98\xe7\x1a\x6e\x26\x0f\x9d\xe2\xc5\x44\xb6\x71\xf2\x65\x9b\
+\x67\x2a\x60\x30\xd7\xb1\xf2\x15\xce\xd8\x18\xf9\x6a\x66\xd9\x2a\
+\x8b\xf1\x82\x46\x14\x45\x74\x76\x76\xa2\xaf\xaf\x0f\xab\x56\xad\
+\x42\x7d\x7d\xfd\x8c\xe3\xeb\xea\xea\x4a\x7b\xcc\x9a\x65\xe6\xc3\
+\x33\x63\x32\x99\x70\xe7\x9d\x77\xe2\xbe\xfb\xee\x83\xd3\xe9\xa4\
+\x2f\x17\x41\x10\x04\x89\x19\x82\x20\x88\xc2\x0a\x18\xde\x50\xaf\
+\xab\xab\x43\x73\x73\xb3\x64\xd0\x76\x76\x76\xa2\xa2\xa2\x22\xa3\
+\x63\x3c\x4f\x30\x18\xc4\xa9\x53\xa7\xd2\x9e\x73\xbb\xdd\x30\x1a\
+\x8d\x19\xb9\x28\xbc\x50\x50\xab\xd5\x58\xbd\x7a\x35\x1e\x7d\xf4\
+\x51\x8c\x8d\x8d\xe1\xc5\x17\x5f\xc4\xce\x9d\x3b\xd3\x72\x6e\x66\
+\x2b\x12\x94\xc2\xcd\x44\x51\x94\x72\x51\x78\xcf\x0c\x0b\x6f\xcb\
+\x16\x62\xa6\x94\x23\x33\x5f\x21\x23\x1f\x2b\x3f\xf7\x4c\xcc\xf0\
+\x9e\x24\x79\xae\x4f\x36\x81\x21\x7f\x9c\x48\x24\x70\xe6\xcc\x19\
+\xf4\xf4\xf4\x60\xf5\xea\xd5\x28\x2f\x2f\x57\x2c\xde\xd0\xd1\xd1\
+\x91\x21\x3a\x79\x31\x23\xdf\xc6\x6c\xf7\xd7\x6c\x36\xe3\xee\xbb\
+\xef\xc6\xbd\xf7\xde\x0b\xbb\xdd\x4e\x5f\x30\x82\x20\x08\x12\x33\
+\x04\x41\x10\x85\x13\x32\xf2\xfb\xcc\xc0\x36\x18\x0c\xf0\x78\x3c\
+\x18\x1f\x1f\x07\x70\x2e\x94\xe9\xf8\xf1\xe3\xb8\xea\xaa\xab\x14\
+\x8d\xe3\xa9\xa9\x29\x1c\x3d\x7a\x34\x2d\x4f\x43\xaf\xd7\xc3\xe9\
+\x74\x2a\x26\xd5\xcb\xf3\x4f\xd8\x52\x51\x51\x81\xbf\xfd\xdb\xbf\
+\xc5\x03\x0f\x3c\x80\xed\xdb\xb7\xe3\x85\x17\x5e\xc0\xe8\xe8\xe8\
+\x9c\xf7\x89\x17\x34\xac\x42\x97\xbc\x21\x24\x2f\x82\xe4\x9e\x98\
+\x6c\x22\x26\x17\x21\xa3\x34\xce\xf9\xf4\xc9\xe1\x05\x99\x3c\x87\
+\x86\x11\x0e\x87\x71\xe2\xc4\x09\xa8\xd5\x6a\x29\xcc\xcf\x66\xb3\
+\x21\x14\x0a\xc1\xe7\xf3\x65\x14\x08\x30\x99\x4c\x69\xe2\x68\xae\
+\xde\x19\xab\xd5\x8a\x7b\xee\xb9\x07\xf7\xdc\x73\x8f\xd4\xd4\x93\
+\x20\x08\x82\x20\x31\x43\x10\x04\x51\x70\x11\xc3\x7b\x08\xf8\xdb\
+\xc6\xc6\x46\x4c\x4c\x4c\x48\x1e\x8c\xa9\xa9\x29\x34\x37\x37\x63\
+\xc3\x86\x0d\x69\xeb\xe8\xe9\xe9\x41\x6b\x6b\x6b\x5a\x22\xbf\x5a\
+\xad\x86\xcb\xe5\x9a\xb6\xd4\xf1\x74\x0d\x27\x2d\x16\x0b\xfe\xe2\
+\x2f\xfe\x02\xf7\xdc\x73\x0f\xde\x79\xe7\x1d\x3c\xff\xfc\xf3\x38\
+\x73\xe6\xcc\xb4\xfb\x34\x9b\x70\x33\x25\x21\xc0\x7b\x47\x94\xc2\
+\xcb\x72\xf5\xc6\x4c\x37\xd6\xd9\x78\x92\xe4\x22\x8c\x85\xc6\xb1\
+\xe7\xb3\x09\x1a\xe0\x5c\xf8\xd9\xc4\xc4\xc4\xb4\xbd\x67\xb4\x5a\
+\x2d\x4c\x26\x53\x46\x9e\xcc\x6c\xa8\xa8\xa8\xc0\xed\xb7\xdf\x8e\
+\xbb\xee\xba\x0b\x66\xb3\x99\xbe\x5c\x04\x41\x10\x24\x66\x08\x82\
+\x20\x8a\x2b\x6c\xe4\x82\x86\x2d\x7a\xbd\x1e\x55\x55\x55\xe8\xeb\
+\xeb\x93\xde\xdf\xdf\xdf\x0f\xaf\xd7\x8b\xda\xda\x5a\x08\x82\x00\
+\xaf\xd7\x9b\x96\x44\xce\xd6\x69\xb5\x5a\x25\xe1\xc2\xba\xdc\x33\
+\x31\xc3\x9e\x57\xf2\xce\xc8\xd1\x68\x34\xb8\xfe\xfa\xeb\x71\xdd\
+\x75\xd7\xa1\xb9\xb9\x19\xcf\x3f\xff\x3c\xf6\xef\xdf\xaf\x58\xa9\
+\x6b\x36\xd5\xcd\x94\x7a\xb7\xc8\xc5\x8c\x92\xc7\x28\xdf\x82\x46\
+\x2e\x2c\xd9\x58\xd5\x6a\x75\x9a\x27\x49\x49\xd0\x68\x34\x1a\xa9\
+\x21\x27\x13\x1f\xd3\x09\x9a\xe9\xd0\x68\x34\xb0\x58\x2c\x19\xfb\
+\x35\xdd\xba\x8c\x46\x23\xae\xbd\xf6\x5a\x7c\xec\x63\x1f\xc3\x25\
+\x97\x5c\x92\xf7\x39\x21\x08\x82\x20\x48\xcc\x10\x04\x41\xcc\x5a\
+\xc4\xc8\x2b\x6a\xf1\xa5\x88\xad\x56\x6b\x5a\x65\x33\x00\x88\x44\
+\x22\x38\x7b\xf6\x6c\xd6\xf5\x1a\x8d\x46\xe8\x74\x3a\xa9\x6f\x8a\
+\x5e\xaf\x87\x5e\xaf\x87\xc1\x60\x90\x44\x0d\xef\x9d\x99\x6d\xe3\
+\xcc\xf5\xeb\xd7\x63\xfd\xfa\xf5\x18\x1e\x1e\xc6\x4b\x2f\xbd\x84\
+\x3f\xff\xf9\xcf\xf0\xf9\x7c\xb3\x12\x09\xcc\x3b\xc3\x27\xd2\xf3\
+\x02\x80\x89\x88\x6c\x82\xa6\x10\xf3\xaf\xe4\x49\xe2\xbd\x33\xbc\
+\x27\x89\x2f\x35\xcd\x0b\x32\x26\xea\xf8\x75\xcd\x56\xd4\x68\x34\
+\x1a\x18\x0c\x86\x59\x8f\x77\xe3\xc6\x8d\xf8\xd8\xc7\x3e\x86\xeb\
+\xaf\xbf\x5e\x0a\x4b\x23\x08\x82\x20\x48\xcc\x10\x04\x41\x2c\xa8\
+\xa0\x51\x0a\xb1\xe2\x0d\x7b\x87\xc3\x81\x58\x2c\x86\x78\x3c\x3e\
+\xe3\xfa\x78\xb1\xc2\x8b\x18\xa3\xd1\x28\x2d\xec\x3d\xbc\x68\xe0\
+\x05\xc8\x74\xc6\x3f\x70\x2e\xb4\xe9\xcb\x5f\xfe\x32\xbe\xf4\xa5\
+\x2f\xa1\xa9\xa9\x09\x7b\xf7\xee\xc5\xde\xbd\x7b\x31\x3e\x3e\x3e\
+\x6d\xb8\x19\x6b\xd2\xc8\x87\x99\x31\x31\xc0\x8b\x99\x42\x0b\x19\
+\x25\x41\x33\x9b\x3e\x39\xd9\x72\x58\x78\x41\x23\x9f\xab\xe9\x44\
+\x2c\x6b\x1e\x3a\x9d\x18\x2c\x2b\x2b\xc3\xcd\x37\xdf\x8c\x5b\x6f\
+\xbd\x15\xb5\xb5\xb5\x19\x3d\x76\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x0b\x22\x62\x94\x4a\x03\xcb\x43\xc1\x98\x81\x6f\xb3\xd9\x10\
+\x0e\x87\x11\x8b\xc5\xb2\x86\x78\xf1\x02\x88\x79\x64\x8c\x46\x23\
+\x4c\x26\x13\xcc\x66\x33\x4c\x26\x13\x8c\x46\x23\x0c\x06\x43\x5a\
+\xa8\xd9\x6c\x45\x83\x52\x8f\x97\x8d\x1b\x37\x62\xe3\xc6\x8d\xf8\
+\xca\x57\xbe\x82\x33\x67\xce\x60\xcf\x9e\x3d\xd8\xb7\x6f\x1f\x86\
+\x87\x87\x33\x44\x02\x2f\x14\xd8\xf3\xbc\x98\xe1\x45\x9d\xbc\x14\
+\x73\xa1\x0d\x78\x25\x4f\x92\x3c\x34\x4e\xa9\xff\xcb\x7c\x04\x8d\
+\x7c\x2e\xe5\xfb\xa8\xd7\xeb\x71\xc5\x15\x57\xe0\x96\x5b\x6e\xc1\
+\xd6\xad\x5b\x61\xb5\x5a\x67\xed\xc1\x21\x08\x82\x20\x48\xcc\x10\
+\x04\x41\x14\x4d\xd0\xc8\x85\x0c\xf3\xa6\xb0\x85\x17\x1d\xac\xca\
+\x16\xab\xb4\xc5\xaf\x8b\x89\x01\xb6\x1e\xe6\x8d\x31\x9b\xcd\xb0\
+\x58\x2c\x30\x9b\xcd\x92\xa0\x61\xe1\x66\x5a\xad\x56\x31\x3f\x65\
+\xbe\xfb\xb3\x6e\xdd\x3a\xac\x5b\xb7\x0e\x5f\xfe\xf2\x97\xd1\xd2\
+\xd2\x82\xb7\xdf\x7e\x1b\x7b\xf7\xee\xc5\xe0\xe0\x60\x46\x05\x36\
+\xb9\x98\xe1\xe7\xa2\x90\x55\xcc\x94\xc6\x3d\x5d\xe1\x82\xd9\x08\
+\x19\x46\xb6\x9e\x34\xbc\xc0\xc9\x26\x6a\x6d\x36\x1b\x56\xae\x5c\
+\x89\x4d\x9b\x36\xe1\xf2\xcb\x2f\x47\x75\x75\x35\x4a\x4a\x4a\xe6\
+\x24\x36\x09\x82\x20\x08\x12\x33\x04\x41\x10\x05\x17\x31\xbc\x71\
+\xab\x24\x66\x94\x42\xc2\xf8\x10\x2c\x96\x34\x2f\x0f\x91\x62\x9e\
+\x1c\xb9\x90\xb1\x5a\xad\xb0\x5a\xad\xb0\x58\x2c\x92\x77\x86\x89\
+\x19\xbe\x6a\x58\x3e\xf7\x71\xed\xda\xb5\x58\xb3\x66\x0d\x1e\x7a\
+\xe8\x21\xb4\xb6\xb6\x62\xcf\x9e\x3d\x38\x72\xe4\x08\x3a\x3a\x3a\
+\xa4\xf7\xb0\xf0\x2d\xb9\x20\xe3\xc5\x4c\x31\x8f\x09\x1b\xc3\x74\
+\x02\x45\x2e\x66\x78\x11\xc4\xef\x0f\xff\x79\x25\x2f\x8c\x46\xa3\
+\x81\xd9\x6c\x86\xc7\xe3\x41\x6d\x6d\x2d\x6a\x6b\x6b\x51\x53\x53\
+\x83\x9a\x9a\x1a\x18\x8d\xc6\xac\xd5\xe6\x08\x82\x20\x08\x12\x33\
+\x04\x41\x10\x0b\x2e\x68\xe4\x21\x66\xbc\x37\xc5\x64\x32\x49\xa2\
+\x43\x1e\x16\xc6\x92\xd2\x79\xa3\x9a\x0f\x2d\x63\xeb\x60\x22\xc6\
+\x66\xb3\xc1\x6e\xb7\xc3\x66\xb3\xc1\x6a\xb5\xc2\x6c\x36\x4b\x05\
+\x02\xe6\x1a\x66\x36\xdf\xfd\x5c\xbd\x7a\x35\x56\xac\x58\x81\xfb\
+\xef\xbf\x1f\xc1\x60\x10\xef\xbf\xff\x3e\xde\x7f\xff\x7d\xb4\xb4\
+\xb4\xa0\xad\xad\x0d\x81\x40\x20\x63\x4e\x94\x2a\x99\x15\xf3\xf8\
+\xf0\xde\x19\x5e\xd4\xc8\xdf\xc7\x60\xd5\xcd\x98\xa8\x51\x7a\x3f\
+\x3b\xd6\xfc\xf1\x71\xb9\x5c\xb0\x5a\xad\xd2\x71\x96\x87\x00\xce\
+\x36\xa7\x89\x20\x08\x82\x20\x31\x43\x10\x04\x51\x74\x41\xc3\x7b\
+\x65\x0c\x06\x83\x94\xdf\x62\xb1\x58\xa4\xf0\x30\x93\xc9\x84\x68\
+\x34\x8a\x44\x22\x01\x41\x10\xa4\x0e\xf5\x7c\xc3\x49\xfe\xf3\xcc\
+\x50\xb6\xdb\xed\x70\x38\x1c\xb0\xdb\xed\xb0\xdb\xed\x92\x98\x91\
+\x87\x99\x15\xa2\xec\xb1\xdc\x73\xc4\x44\x81\xcd\x66\xc3\xa5\x97\
+\x5e\x8a\x8d\x1b\x37\x4a\xfb\x33\x3c\x3c\x8c\x8e\x8e\x0e\x74\x74\
+\x74\xa0\xbd\xbd\x1d\xbd\xbd\xbd\x45\x37\xde\xe5\xe1\x66\x4c\x7c\
+\x30\x94\x42\xcb\xe4\xb9\x4f\x2c\x04\x90\x09\x44\x25\xf1\xaa\xd1\
+\x68\x32\x72\x99\xf8\x45\x2e\x5e\xc9\x33\x43\x10\x04\x41\x90\x98\
+\x21\x08\x62\x51\x8a\x19\xa5\x3c\x17\x5e\xcc\xb0\xf0\xb0\x70\x38\
+\x2c\x89\x19\xd6\x18\x53\x10\x04\xc9\xf8\x66\x95\xcb\x98\x90\xb1\
+\xd9\x6c\x70\x38\x1c\x70\x3a\x9d\x70\x3a\x9d\x92\xa0\xb1\x5a\xad\
+\x52\xce\x0c\x5f\xcd\xac\x90\xc6\xb2\x52\xe8\x16\x2f\xe2\x44\x51\
+\xc4\x8a\x15\x2b\xb0\x72\xe5\x4a\xc9\xd8\x17\x04\x01\x9d\x9d\x9d\
+\x68\x6b\x6b\xc3\xc8\xc8\x08\x46\x47\x47\x31\x36\x36\x86\x91\x91\
+\x11\x44\x22\x91\xa2\x09\x1a\xf9\xb8\xe5\xe2\x84\xcd\xb9\x4e\xa7\
+\x93\xde\x9b\x4c\x26\x11\x8f\xc7\x11\x8d\x46\x11\x8f\xc7\xa5\x63\
+\xc6\x1f\x2b\x83\xc1\x00\xb3\xd9\x2c\x1d\x5f\xe6\x35\x2b\x56\x18\
+\x20\x41\x10\x04\x41\x62\x86\x20\x08\x22\x6f\x86\xbe\x92\x67\x85\
+\x85\x87\x85\x42\x21\x44\x22\x11\xc4\x62\x31\xc9\x2b\xa3\x52\xa9\
+\xd2\xc4\x8c\x4e\xa7\x93\x42\x97\xec\x76\xbb\x24\x62\x5c\x2e\x17\
+\x5c\x2e\x17\x9c\x4e\x27\x6c\x36\x9b\x64\x2c\xf3\x86\x72\xa1\x85\
+\x8c\x3c\x17\x85\xf7\x52\xc8\x73\x4c\x98\xc8\x31\x1a\x8d\xd8\xbc\
+\x79\x33\xb6\x6c\xd9\x92\xf1\xd9\xa9\xa9\x29\x49\xe0\x8c\x8c\x8c\
+\xa4\xdd\x1f\x1d\x1d\x45\x20\x10\x80\x20\x08\xf3\x1e\xb3\x5e\xaf\
+\x87\xcd\x66\xcb\x10\x18\xcc\x9b\xa5\x56\xab\xa1\xd3\xe9\x60\x32\
+\x99\x90\x4c\x26\xe1\xf3\xf9\x30\x31\x31\x01\xbf\xdf\x0f\xbf\xdf\
+\x8f\xa9\xa9\x29\x04\x83\x41\x44\x22\x91\x0c\x6f\x1a\x2f\x66\x2c\
+\x16\x8b\x24\x38\x79\xb1\x69\xb1\x58\xd2\xc4\xcc\x42\x87\xdc\x11\
+\x04\x41\x10\x24\x66\x08\x82\x20\x32\x8c\x7c\x25\x31\xc3\xae\xf4\
+\xb3\xab\xf5\xa1\x50\x28\xcd\x2b\xc3\x1b\xc4\x89\x44\x42\xea\x58\
+\xcf\x3e\x67\xb3\xd9\xe0\x74\x3a\xe1\x76\xbb\xe1\xf1\x78\xe0\x76\
+\xbb\xe1\x72\xb9\xe0\x70\x38\x60\xb3\xd9\x14\x43\xcc\x8a\xe1\x99\
+\xe1\x05\x0d\xbb\x2f\x6f\x46\xc9\x7b\x43\x78\xc1\x23\x9f\x33\x26\
+\x34\x56\xad\x5a\x35\xed\x76\x05\x41\x80\x20\x08\x92\x98\xc8\xf6\
+\x38\x99\x4c\xc2\x6c\x36\x4b\xa1\x78\x7a\xbd\x3e\xad\xc7\x4c\x32\
+\x99\x44\x22\x91\x90\xbc\x2d\xa1\x50\x08\xc1\x60\x10\x81\x40\x00\
+\x7e\xbf\x3f\x23\x64\xcc\x62\xb1\x20\x18\x0c\x4a\x22\x94\x79\x67\
+\xb2\x89\x19\x76\x8c\x9c\x4e\x27\xec\x76\xbb\xa2\xe0\x24\xcf\x0c\
+\x41\x10\x04\x41\x62\x86\x20\x88\x45\x29\x6a\xb2\xe5\xbc\xd8\xed\
+\x76\x44\xa3\x51\xa9\x59\x26\x0b\x2f\x63\x5d\xe3\xe3\xf1\xb8\x94\
+\xa0\xce\xc2\x96\x6c\x36\x1b\x5c\x2e\x17\x4a\x4a\x4a\xe0\xf1\x78\
+\xe0\xf1\x78\x24\x23\x99\x0f\x31\xe3\x85\x4c\xb1\xf6\x53\x5e\xfe\
+\x98\x3d\x97\xad\x32\x58\xae\x02\x8b\x15\x4b\x30\x1a\x8d\xf3\x5e\
+\x87\x52\x78\x9c\x52\x9e\x13\x13\x33\x2c\x34\x70\x6a\x6a\x2a\xcd\
+\xa3\xc6\x42\xcd\xe4\x61\x66\x76\xbb\x1d\x2e\x97\x0b\x1e\x8f\x07\
+\x2e\x97\x4b\x12\x33\x4a\x9e\x19\x82\x20\x08\x82\x20\x31\x43\x10\
+\xc4\xa2\x12\x32\xcc\xb3\xc2\xaa\x91\xb1\xab\xfc\x16\x8b\x45\x12\
+\x31\x7c\x9e\x0c\x7b\x4f\x38\x1c\x96\x3c\x33\x4c\xcc\x30\x01\xc4\
+\x8c\x63\xe6\x99\x61\x21\x66\xd3\x55\x31\x2b\x86\xb1\xac\x94\x60\
+\x9f\x6d\xbb\x85\xee\x2d\x33\xdb\xf1\xca\x05\x8d\x52\x6f\x20\xbd\
+\x5e\x9f\x11\x1e\xc8\x7b\x66\x78\x31\xc3\x44\x96\x5e\xaf\x97\xc4\
+\xa7\xc3\xe1\x90\xc2\x01\xe5\x62\x86\x6f\x20\x4a\x21\x66\x04\x41\
+\x10\x04\x89\x19\x82\x20\x16\x9d\xa0\x61\x06\x33\x4b\x86\x67\x57\
+\xed\x59\x38\x14\x4b\x1e\xe7\x73\x35\x22\x91\x88\x14\xba\xc4\x87\
+\x2d\xb1\x7c\x19\x97\xcb\x95\x16\x62\xc6\xbc\x32\xac\x67\xcd\x42\
+\x19\xc8\x7c\x13\xc9\xd9\x6c\x77\xa1\x85\x0c\x43\x9e\xb7\x22\xef\
+\x0d\xc4\x17\x6e\x60\xe1\x81\x91\x48\x24\x4d\xcc\xb0\xdc\x20\xe6\
+\x85\x93\xe7\x46\x29\x79\xcf\xa8\x61\x26\x41\x10\x04\x41\x62\x86\
+\x20\x88\x45\x2f\x68\xf8\xa6\x97\x7a\xbd\x5e\x2a\xf1\xcb\x37\x94\
+\x64\x21\x53\x36\x9b\x4d\x12\x33\x72\xcf\x8c\xd5\x6a\x85\xc3\xe1\
+\x48\x5b\xf8\x72\xcc\xf2\x0a\x66\x0b\x2d\xe2\x96\x8a\xd8\x54\x6a\
+\x74\x9a\xcd\x3b\x13\x89\x44\x60\xb3\xd9\x10\x8d\x46\xa5\x5c\x27\
+\x5e\xcc\x30\x51\xaa\x54\x86\x9b\xf5\x17\xe2\xcb\x32\x53\x69\x66\
+\x82\x20\x08\x82\xc4\x0c\x41\x10\x8b\xd6\x58\xe6\x93\xe3\xd9\x55\
+\x7b\x79\x62\x3c\x4b\xf2\x37\x9b\xcd\x08\x85\x42\x52\x65\x33\x26\
+\x66\xe4\x65\x99\x59\x01\x01\xbe\x12\x97\x52\x29\x66\x32\x90\xe7\
+\x7e\x8c\xb2\x79\x68\xf8\x42\x00\xf1\x78\x5c\xf2\xc8\xf0\xd5\xcc\
+\x98\x98\xe1\x3d\x3a\x4c\xd4\xb0\xfb\xbc\xf7\x8c\xf2\x65\x08\x82\
+\x20\x08\x12\x33\x04\x41\x2c\x7a\x63\x99\x19\xb9\xc0\xf9\xe6\x8c\
+\xec\x96\x19\xbf\x2c\xfc\x8c\xf5\x2f\x61\xe5\x87\x99\xd0\xe1\xaf\
+\xf4\xb3\x46\x9b\xbc\x90\x91\x57\xc6\x22\x23\x79\x7e\x82\x86\xcd\
+\xb9\xdc\x43\xa3\xd3\xe9\x24\x81\xc2\x04\x0c\xcb\x95\xe1\xbd\x6c\
+\xf2\xde\x42\xac\x8a\x1d\xbb\xaf\x54\xc1\x8c\x8e\x15\x41\x10\x04\
+\x41\x62\x86\x20\x88\x45\x6f\x30\xb3\x4a\x59\xfc\x73\x7c\xf8\x99\
+\xd9\x6c\xce\x28\x0a\xc0\xbf\xce\xbc\x03\x4a\x57\xf9\xe9\x4a\x7f\
+\x7e\x44\xa7\x5c\xdc\x30\x31\x93\x4c\x26\xa1\xd5\x6a\x25\xf1\xc2\
+\xf2\x9d\x58\x2f\x1d\x3e\x4c\x8d\x1d\x67\xe6\xd5\x61\x02\x86\x1d\
+\x23\xf2\x9e\x11\x04\x41\x10\x24\x66\x08\x82\x58\x52\x86\xb2\xbc\
+\xb9\xa4\x92\x98\x61\x61\x4b\xf2\x7c\x1a\x3e\x19\x9d\x5f\xf8\xab\
+\xfc\x74\xa5\x3f\xff\xc7\x4a\x7e\xdc\x44\x51\x84\x46\xa3\x81\x28\
+\x8a\xd0\xe9\x74\x92\x88\xe1\x1b\x83\xf2\xc7\x55\x69\xa1\x06\x99\
+\x04\x41\x10\xc4\xb4\xff\x43\x29\xbe\xa9\x01\x41\x10\xc4\x22\x82\
+\xcf\x95\x49\xa5\x52\xd2\x55\x7e\xa5\xab\xfd\xf2\x84\x74\x76\x65\
+\x5f\xbe\xc8\xc3\xca\xc8\x40\xce\xef\xf1\xca\x76\xec\xe4\x8b\x5c\
+\xcc\x00\x50\x14\x2f\x74\x9c\x08\x82\x20\x08\x12\x33\x04\x41\x2c\
+\x79\x03\x99\x5d\xd1\x67\xb7\xf2\x45\x6e\x1c\xcf\x74\x95\x9f\x0c\
+\xe4\xe2\x1d\x37\xa5\x5b\xc5\x3f\xa4\x2c\xc7\x86\x8e\x13\x41\x10\
+\x04\x41\x62\x86\x20\x88\x65\x61\x18\xcf\xf6\x4a\x7f\xb6\x85\x0c\
+\xe4\x85\x3b\x7e\xd9\x1e\x2b\x1d\x0f\x3a\x3e\x04\x41\x10\x04\x89\
+\x19\x82\x20\x96\xa5\x41\x3c\xd3\xd5\x7e\xf9\xd5\x7d\x12\x31\x04\
+\x41\x10\x04\xb1\x3c\xa1\x02\x00\x04\x41\x2c\x09\x94\x44\xc8\x6c\
+\x85\x09\x09\x18\x82\x20\x08\x82\x20\x31\x43\x10\x04\xb1\x68\x85\
+\x0d\x41\x10\x04\x41\x10\x17\x1e\x6a\x9a\x02\x82\x20\x08\x82\x20\
+\x08\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\
+\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\
+\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\
+\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\
+\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\
+\x62\x86\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\
+\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\
+\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\
+\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\
+\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\
+\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\
+\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\
+\x41\x10\xc4\x07\x68\x69\x0a\x08\x82\x20\x08\x82\x20\x72\x23\x91\
+\x48\xa0\xb5\xb5\x15\x91\x48\x64\x56\xef\x57\xa9\x54\x68\x68\x68\
+\x40\x49\x49\x09\x4d\x1e\x41\xe4\x80\x2a\x95\x4a\xa5\x68\x1a\x08\
+\x82\x20\x08\x82\x20\xe6\xc7\xd0\xd0\x10\x76\xee\xdc\x39\x6b\x21\
+\xc3\x53\x5b\x5b\x8b\x3b\xee\xb8\x83\x26\x91\x20\xe6\x09\x85\x99\
+\x11\x04\x41\x10\x04\x41\xe4\xc0\xf1\xe3\xc7\xe7\x25\x64\x00\xa0\
+\xaf\xaf\x0f\x03\x03\x03\x34\x89\x04\x41\x62\x86\x20\x08\x82\x20\
+\x08\xa2\xb8\x88\xa2\x88\xde\xde\xde\x9c\xd6\xd1\xde\xde\x4e\x13\
+\x49\x10\x24\x66\x08\x82\x20\x08\x82\x20\x8a\x4b\x2a\x95\x82\x28\
+\x8a\x39\xad\x43\x10\x04\x9a\x48\x82\x20\x31\x43\x10\x04\x41\x10\
+\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\
+\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\
+\x82\x20\x08\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\
+\x62\x86\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\
+\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\
+\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\
+\x20\x08\x82\x20\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\
+\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\
+\x10\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\
+\x82\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\
+\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\
+\x41\x10\xc4\x6c\xd0\xd2\x14\x28\x13\x89\x27\xe1\x0b\xc6\x11\x08\
+\x27\x10\x08\x27\xe0\x8f\x24\xce\xdf\x0f\x0b\x08\x84\x13\x08\xc5\
+\x04\x58\x0c\x5a\xd8\xcd\x3a\x38\xcc\xe7\x6e\xed\x66\x1d\x1c\x26\
+\x9d\x74\xdf\x6d\xd5\xc3\xa4\xd7\xd0\x84\x4e\xc3\x54\x44\xc0\x64\
+\x28\x8e\x40\x24\x01\x7f\x38\x81\xc0\x07\xf3\xeb\x0f\x27\x10\xf8\
+\x60\xde\xa3\x89\x24\xac\x46\x6d\xda\xfc\x3a\xcc\xe7\xe7\xd9\x6e\
+\x3a\x37\xd7\x06\x1d\xe9\xf3\xe9\x98\x0c\x25\x30\x19\x66\xe7\xb5\
+\x20\xcd\xaf\x3f\x7c\xfe\x36\x91\x4c\xc1\x6e\xd2\x66\xcc\x2f\x7f\
+\x8e\x7b\xac\x7a\x68\x35\x34\xd7\xd9\x48\xa5\x00\x5f\x30\x26\xfd\
+\x56\xc8\xe7\x99\x9d\xeb\x00\x60\x33\x9d\x3f\x97\xcf\xff\x76\x7c\
+\x30\xff\x26\x1d\xdc\x36\x3d\xd4\x2a\xd5\x85\xf1\xbb\x1b\x89\xa0\
+\xbb\xbb\x1b\x3e\x9f\x0f\xa1\x50\x08\xe1\x70\x18\xe1\x70\x18\xa1\
+\x50\x08\x00\x60\xb1\x58\xd2\x16\x8f\xc7\x83\xfa\xfa\x7a\x18\x0c\
+\x86\x82\x8c\x47\x14\x45\x0c\x0c\x0c\x60\x68\x68\x08\xa1\x50\x28\
+\x6d\x49\x24\x12\x30\x9b\xcd\xd2\x62\xb1\x58\x60\xb7\xdb\x51\x5f\
+\x5f\x0f\x97\xcb\x75\xc1\x9d\xf3\xa1\x50\x08\xc1\x60\x50\x3a\x6e\
+\x6c\x9e\xf8\xfb\x6c\xce\xd8\xf1\x53\xba\x6f\xb7\xdb\xa1\xd5\x92\
+\x69\xb2\x54\x10\x04\x01\x81\x40\x60\xda\xe3\x1e\x0e\x87\xa1\xd3\
+\xe9\x32\xbe\xbf\xfc\xf1\xb7\x5a\xad\x30\x9b\xcd\x34\xa1\x39\x10\
+\x0c\x06\x15\xbf\x83\xfc\x71\x10\x04\x01\x26\x93\x09\x66\xb3\x19\
+\x26\x93\x29\xe3\x7e\x49\x49\x09\xdc\x6e\xf7\x92\xdb\x77\x55\x2a\
+\x95\x4a\xd1\x29\x70\x8e\x51\x7f\x0c\xcd\x7d\x7e\x34\xf5\xf8\xd1\
+\x33\x1e\x42\x3e\x66\x46\xa5\x02\xea\x4b\x2c\xd8\x50\xef\xc0\xfa\
+\x5a\x07\xca\x1c\x06\x9a\x68\x00\x03\xbe\x08\x9a\x7a\xfc\x38\xdd\
+\xeb\xc7\xd0\x44\x24\x2f\xeb\xd4\xa8\x55\x58\x55\x69\xc5\x86\x3a\
+\x07\x36\xd4\x39\x60\x37\xe9\x2e\xf8\x79\x16\x53\x29\x74\x8d\x84\
+\xd0\xd4\xeb\x47\x53\xaf\x1f\xbe\x60\x3c\x2f\xeb\xd5\x6b\xd5\x58\
+\x5d\x65\xc3\x86\x3a\x07\xd6\xd5\xd8\x61\x31\x92\xf1\x21\x24\x45\
+\x9c\x1d\x0c\xa2\xa9\xd7\x8f\xe6\x3e\x3f\x82\x51\x21\x2f\xeb\xb5\
+\x18\xb4\xb8\xb8\xc6\x8e\x0d\xf5\x0e\xac\xa9\xb2\x41\xaf\x5d\x5e\
+\x22\x72\x62\x62\x02\x5d\x5d\x5d\xe8\xee\xee\xc6\xc8\xc8\x08\xe6\
+\xfa\x97\xa4\x56\xab\x51\x55\x55\x85\x15\x2b\x56\xa0\xa1\xa1\x01\
+\x56\xab\x35\xa7\xf1\x24\x12\x09\xf4\xf6\xf6\xa2\xb3\xb3\x13\x3d\
+\x3d\x3d\x88\xc7\xe7\xfe\x9d\x71\x38\x1c\x68\x6c\x6c\x44\x43\x43\
+\x03\x2a\x2b\x2b\xa1\x5a\x86\x62\x34\x95\x4a\x61\x64\x64\x04\x5d\
+\x5d\x5d\xe8\xea\xea\xc2\xe4\xe4\x64\x7e\x7e\xc7\x35\x1a\xd4\xd4\
+\xd4\x48\xf3\xb7\x14\x0c\xdc\x64\x32\x89\xc7\x1f\x7f\x3c\xa7\x75\
+\xac\x59\xb3\x06\x37\xdd\x74\xd3\x92\xba\xe8\xd0\xd5\xd5\x85\xbe\
+\xbe\x3e\x24\x93\xc9\xbc\xac\xd7\xe3\xf1\x48\xc7\xbd\xac\xac\x8c\
+\x0c\xa5\x59\x5c\x6c\x19\x1c\x1c\x94\x8e\xc5\xd4\xd4\x54\x5e\xd6\
+\x6b\x36\x9b\x51\x5b\x5b\x8b\xba\xba\x3a\xd4\xd4\xd4\xc0\x64\x32\
+\x91\x98\x59\xdc\x3f\xc6\x40\xcf\x78\x08\x4d\x3d\xe7\x8c\x8f\x51\
+\x7f\xac\xe0\xdb\x2c\x73\x18\xb0\xbe\xd6\x81\x0d\xf5\x0e\xd4\x97\
+\x58\x70\x81\x5c\x70\x95\x8c\xea\xd3\x1f\x18\xd5\x13\x79\x32\xaa\
+\xb3\x9e\xd8\x00\xea\x4a\x2d\x92\xb0\xb9\x90\x44\x64\x5c\x10\xd1\
+\x3a\x30\x85\xa6\x5e\x3f\xde\xef\xf7\x23\x1c\x4b\x16\x74\x7b\x6a\
+\x95\x0a\x0d\x65\x66\x6c\xa8\x73\x62\x43\x9d\x1d\x1e\xdb\x85\x33\
+\xd7\xa1\x98\x80\x33\xfd\x01\x34\xf5\xf8\xd1\x3a\x38\x85\xb8\x20\
+\x16\x74\x7b\x5a\x8d\x1a\xab\xab\xce\x09\xf6\xf5\xb5\x0e\x58\x97\
+\xb0\x88\x1c\x19\x19\xc1\xa1\x43\x87\xd0\xdf\xdf\x9f\xd7\xf5\xae\
+\x5c\xb9\x12\x5b\xb7\x6e\x9d\xb3\x77\x24\x1e\x8f\xe3\xf8\xf1\xe3\
+\x38\x75\xea\x14\x12\x89\x44\xde\xc6\xe3\x70\x38\xb0\x75\xeb\x56\
+\x5c\x74\xd1\x45\x4b\xfe\x7c\x4f\x26\x93\xe8\xef\xef\x97\xc4\x67\
+\x38\x1c\x2e\xf8\x36\xcb\xcb\xcb\x25\xa1\xba\x58\x3d\x5e\x17\x82\
+\x98\x09\x04\x02\xe8\xea\xea\x42\x67\x67\x27\x86\x87\x87\x51\x68\
+\xd3\xd1\x62\xb1\xa0\xb1\xb1\x11\x8d\x8d\x8d\xa8\xae\xae\x86\x5a\
+\x4d\x91\x00\xec\x77\xaa\xa7\xa7\x07\xdd\xdd\xdd\xe8\xed\xed\x45\
+\x2c\x56\x78\xbb\xb5\xb4\xb4\x14\xb5\xb5\xb5\x68\x6c\x6c\x44\x79\
+\x79\x39\x89\x99\xc5\xc2\xa8\x3f\x8a\xb7\x9b\xc7\xd0\xdc\xe7\xc7\
+\x54\x44\x58\xb0\x71\xd8\x4c\x5a\xac\xaf\x75\xe0\xba\xf5\xa5\x28\
+\x73\x18\x97\xe5\x5c\xf7\x7b\xc3\xd8\x77\x66\x1c\xef\xf7\x05\x10\
+\x8a\x2d\xdc\x5c\x97\x39\x8c\xb8\xa4\xde\x81\x6b\xd6\x95\x2e\x69\
+\x03\x70\x3a\x9a\x7a\xfd\x38\x78\xd6\x8b\xb6\xa1\x20\x84\xa4\xb8\
+\x60\xe3\xa8\x70\x1a\xb1\xa9\xc1\x89\x6b\xd6\x95\x2e\xcb\x10\x4b\
+\x31\x95\xc2\xe1\x76\x1f\x8e\x76\x4c\xa0\x6b\x24\x04\x71\x81\x7e\
+\x42\x55\x2a\xa0\xbe\xd4\x82\x2d\x2b\x5c\xf8\xd0\x6a\x0f\x34\xea\
+\xa5\x71\x65\xc4\xeb\xf5\xe2\xd0\xa1\x43\xe8\xee\xee\x2e\xe0\xdc\
+\xa8\xb0\x76\xed\x5a\x5c\x71\xc5\x15\x33\x7a\x6a\x92\xc9\x24\x4e\
+\x9f\x3e\x8d\xa3\x47\x8f\x16\xd4\x30\xf0\x78\x3c\xd8\xb6\x6d\x1b\
+\x1a\x1a\x1a\x96\xde\xef\x78\x7f\x3f\x9a\x9b\x9b\xd1\xdb\xdb\x9b\
+\x57\xa1\x37\x57\x9c\x4e\x27\x56\xae\x5c\x89\x4d\x9b\x36\xc1\x68\
+\x5c\x3c\xff\x99\xcb\x55\xcc\xc4\x62\x31\x9c\x3e\x7d\x1a\x1d\x1d\
+\x1d\xf0\x7a\xbd\x0b\x36\x0e\xbd\x5e\x8f\xfa\xfa\x7a\x5c\x72\xc9\
+\x25\x8b\xd6\x98\x2e\x34\x1d\x1d\x1d\x68\x6e\x6e\xc6\xe0\xe0\x20\
+\x44\x71\x01\xff\xdf\x2b\x2a\x70\xe9\xa5\x97\xa2\xb1\xb1\x91\xc4\
+\xcc\x82\x5d\x59\x88\x24\xf0\xfa\xf1\x61\xbc\xd7\xe6\x5b\x30\x03\
+\x44\x09\xb5\x5a\x85\x6d\x17\xb9\x71\xcb\xe6\x0a\xd8\x96\x49\x68\
+\x94\x77\x2a\x86\xed\xc7\x86\x70\xb2\x6b\x12\x8b\xe9\x04\x33\xe8\
+\xd4\xb8\x61\x43\x19\xae\x5b\x5f\xb6\x6c\xc2\x75\xba\xc7\x42\x78\
+\xf5\xc8\x20\xba\x46\x42\x8b\x6a\x5c\x66\x83\x06\x37\x5f\x52\x81\
+\xab\x2f\x2e\x59\x32\x86\xf6\x6c\x04\xe3\x6b\x47\x87\x30\xea\x8f\
+\x2e\xaa\x71\x79\x6c\x7a\xdc\xba\xa5\x12\x9b\x1b\x5d\x58\xac\x33\
+\x9d\x4c\x26\xb1\x7f\xff\x7e\x34\x35\x35\x15\x6d\x9b\x1a\x8d\x06\
+\x97\x5d\x76\x19\x2e\xbf\xfc\x72\xc5\xd7\xfb\xfa\xfa\xf0\xd6\x5b\
+\x6f\x21\x18\x0c\x16\x6d\x4c\x55\x55\x55\xb8\xf9\xe6\x9b\x61\xb1\
+\x58\x16\xfd\xf9\x3e\x3e\x3e\x8e\x83\x07\x0f\xa2\xb7\xb7\x77\x51\
+\x8d\x4b\xaf\xd7\xe3\xd2\x4b\x2f\xc5\xa6\x4d\x9b\x16\x45\x7e\xcd\
+\x72\x13\x33\xc9\x64\x12\xa7\x4e\x9d\xc2\xb1\x63\xc7\x8a\x72\xe5\
+\x7f\x2e\xac\x58\xb1\x02\xdb\xb6\x6d\xbb\x60\xf2\xd2\x06\x07\x07\
+\x71\xe0\xc0\x01\x8c\x8c\x8c\x2c\xaa\x71\xb9\x5c\x2e\x6c\xde\xbc\
+\x19\x6b\xd6\xac\x59\x14\x5e\xb3\x0b\x42\xcc\xc4\x12\x22\xde\x6a\
+\x1a\xc1\xdb\xcd\x63\x05\x0f\x03\xc9\xe9\x07\x5a\xab\xc6\xf5\xeb\
+\xcb\x70\xfd\x86\xb2\x25\x9b\xc8\x1e\x8c\x0a\x78\xf3\xe4\x08\x0e\
+\xb4\x8e\x23\x29\x2e\xde\x53\xcb\x66\xd2\xe2\xa3\x9b\x2a\xf0\xa1\
+\xd5\x1e\xa8\x97\xa8\xa1\x3d\x16\x88\xe1\xb5\xa3\x83\x38\xdd\xe3\
+\x5f\xd4\xe3\x74\x5b\xcf\x19\xda\x97\xae\x58\xbc\x86\xf6\x8c\x82\
+\x71\xf4\x03\xc1\x38\x1a\x5a\xd4\xe3\xac\xf1\x98\x71\xc7\xe5\x55\
+\x58\x55\x69\x5d\x5c\xbf\x0b\xc1\x20\x76\xee\xdc\x89\xd1\xd1\xd1\
+\x05\xd9\x7e\x43\x43\x03\x3e\xf2\x91\x8f\x40\xaf\xd7\x4b\xcf\x1d\
+\x3f\x7e\x1c\x07\x0f\x1e\xc4\x42\xfc\x05\x9a\xcd\x66\xdc\x72\xcb\
+\x2d\xa8\xac\xac\x5c\x9c\xbf\xe3\xc1\x20\x0e\x1d\x3a\x84\xb3\x67\
+\xcf\x62\x31\x9b\x08\x16\x8b\x05\x5b\xb7\x6e\xc5\xda\xb5\x6b\x17\
+\x34\x2f\x69\xb9\x88\x99\x54\x2a\x85\xd6\xd6\x56\xbc\xf7\xde\x7b\
+\x45\x15\xf8\x73\x36\x5c\x55\x2a\x5c\x7c\xf1\xc5\xb8\xe2\x8a\x2b\
+\x96\xc4\x45\x81\xf9\xe0\xf3\xf9\x70\xf0\xe0\xc1\x82\x7a\xb0\xf3\
+\xf5\x1d\xdc\xb4\x69\x13\xd6\xaf\x5f\x0f\x9d\x6e\xe1\x2e\xc6\x2f\
+\x6b\x31\x93\x14\x53\x38\xd0\x3a\x8e\x37\x4f\x8e\xe4\x2d\x19\xb7\
+\x18\x58\x8d\x5a\x7c\x74\x73\x05\xae\x5c\x42\x86\x76\x5c\x10\xf1\
+\x76\xf3\x28\xde\x6a\x1a\x45\x2c\x21\x2e\x99\xb9\x2e\xb1\x1b\x70\
+\xdb\x96\x4a\x5c\xd2\xe0\x5c\x32\x86\x76\x30\x2a\xe0\x8d\x13\xc3\
+\x38\x70\xd6\x0b\x51\x5c\x3a\x5f\xdf\x1a\x8f\x09\x77\x5c\x5e\xbd\
+\xe8\x0c\xed\xe9\x18\xf5\xc7\xb0\xfd\xe8\x20\x4e\xf7\xfa\xb1\x94\
+\x58\x5b\x6d\xc7\xc7\x2f\xaf\x44\xa5\x6b\xe1\x13\x37\x07\x06\x06\
+\xf0\xc6\x1b\x6f\x20\x12\x89\x2c\xe8\x38\x1c\x0e\x07\x6e\xbb\xed\
+\x36\x58\xad\x56\xbc\xf5\xd6\x5b\x68\x6f\x6f\x5f\xd0\xf1\xa8\xd5\
+\x6a\x5c\x75\xd5\x55\xb8\xe4\x92\x4b\x16\xcd\x79\x13\x8b\xc5\x70\
+\xf4\xe8\x51\x9c\x3e\x7d\x3a\x6f\x49\xdd\x45\xb9\x60\xe2\x76\xe3\
+\xca\x2b\xaf\x44\x7d\x7d\x3d\x89\x99\x79\xd2\xdd\xdd\x8d\x83\x07\
+\x0f\xc2\xe7\xf3\x2d\x99\xe3\xae\xd5\x6a\xb1\x71\xe3\x46\x6c\xd9\
+\xb2\xa5\x60\x15\x0d\x17\xe2\x42\xc2\xe1\xc3\x87\xd1\xd2\xd2\x82\
+\xa5\x64\x9e\x5b\xad\x56\xdc\x74\xd3\x4d\xa8\xae\xae\x26\x31\x93\
+\x4f\x9a\xfb\x02\x78\xf9\xbd\x01\x78\xa7\x62\x4b\x76\x1f\x4a\xed\
+\x06\xdc\xb5\xad\x1a\x6b\xab\xed\x8b\x7a\x9c\xef\xb5\xf9\xb0\xfd\
+\xd8\x10\xa6\x22\x89\x25\x3b\xd7\xb5\x25\x66\xdc\xf3\xa1\x1a\xd4\
+\x95\x2c\xde\xca\x39\x62\x2a\x85\x3f\x9f\x1e\xc5\x9f\x4f\x8f\x2c\
+\x29\xc1\xa8\x64\x68\xdf\xf3\xa1\x1a\x78\x6c\xfa\x45\x3b\xc6\x58\
+\x42\xc4\x2b\x47\x06\x70\xa8\xcd\xb7\xa4\x04\x63\xda\x8f\xbb\x0a\
+\xb8\x6c\x85\x1b\x9f\xd8\x5a\x0d\xb3\x61\x61\x72\x97\xda\xda\xda\
+\xb0\x7b\xf7\xee\x05\x8d\xf1\xe6\xd1\xe9\x74\xb0\x5a\xad\x98\x98\
+\x98\x58\x34\xc7\x69\xc3\x86\x0d\xb8\xf6\xda\x6b\x17\x7c\x1c\x27\
+\x4f\x9e\xc4\x91\x23\x47\x16\x5d\x58\xd1\x5c\xa8\xae\xae\xc6\xb5\
+\xd7\x5e\x5b\xf4\x10\xa4\xa5\x2c\x66\xbc\x5e\x2f\xf6\xee\xdd\x8b\
+\xa1\xa1\xa1\x25\x7b\xdc\x0d\x06\x03\xb6\x6e\xdd\x8a\x8d\x1b\x37\
+\x2e\xd9\x7d\x48\xa5\x52\x38\x7c\xf8\x30\x4e\x9c\x38\x01\x41\x10\
+\x96\xec\x7e\x6c\xda\xb4\x09\x1f\xfa\xd0\x87\xa0\xd1\x14\xf7\x3f\
+\x47\xf3\xdd\xef\x7e\xf7\xbb\xcb\x49\xc4\xa4\x00\xbc\x79\x62\x18\
+\x7f\x3c\xd0\x87\x70\x3c\xb9\xa4\xf7\x25\x1c\x4b\xe2\x78\xe7\x04\
+\x34\x6a\x15\x56\x94\x2f\xbe\xab\xd9\x49\x31\x85\x3f\x1e\xe8\xc7\
+\xeb\x27\x86\x17\x75\xf8\xde\x6c\x08\x84\x13\x38\xda\xe1\x83\xdb\
+\xaa\x47\x95\x7b\xf1\x95\x21\x8c\xc4\x93\xf8\xf5\x5b\x5d\x38\x78\
+\xd6\xbb\xa8\xc3\xf7\x66\xc3\xf8\x54\x0c\x47\x3b\x7d\xa8\x2b\xb1\
+\xc0\xbd\x08\x05\x8d\x77\x2a\x8e\x5f\xbe\xde\x8e\x96\x81\x29\x2c\
+\xf5\x4b\x3d\x83\x13\x11\x9c\xea\xf1\x63\x75\x95\xad\xe8\x85\x2f\
+\x06\x07\x07\xb1\x73\xe7\xce\x45\x23\x64\x80\x73\xa5\x4c\xa3\xd1\
+\xc5\x95\xef\x34\x3a\x3a\x0a\x8d\x46\xb3\x60\x21\x67\x89\x44\x02\
+\xbb\x76\xed\xc2\xc9\x93\x27\x97\x94\x37\x46\x89\xa9\xa9\x29\xb4\
+\xb6\xb6\xc2\xe3\xf1\xc0\xe9\x74\x16\xd5\x10\x3d\x7a\xf4\x68\x4e\
+\xeb\x28\x29\x29\xc1\x8a\x15\x2b\x8a\x3a\x5f\x9d\x9d\x9d\xd8\xbe\
+\x7d\x3b\xfc\x7e\xff\x92\x3e\xee\xc9\x64\x12\xbd\xbd\xbd\x08\x04\
+\x02\xa8\xaf\xaf\x5f\x72\x95\xcf\x62\xb1\x18\x76\xec\xd8\x81\x96\
+\x96\x96\x45\xf5\x7b\x39\x1f\x46\x46\x46\xd0\xd9\xd9\x89\x8a\x8a\
+\x8a\xa2\x86\x00\x2e\x2b\x31\x13\x17\x44\xfc\x6e\x6f\x0f\xde\x6d\
+\x19\x5f\x4e\xfa\x0c\x6d\x43\x41\x8c\xf9\x63\xb8\xb8\xd6\xbe\x68\
+\x12\xa9\x43\x51\x01\x4f\xec\xea\x5a\x72\xe1\x37\xd3\x1a\x3a\x29\
+\xe0\x74\xaf\x1f\x42\x52\xc4\x45\x95\xb6\x45\x53\x36\x7b\xd4\x1f\
+\xc3\x2f\x5f\x6f\x47\xef\x78\x78\xd9\xcc\x75\x22\x99\xc2\xb1\xae\
+\x09\x58\x0c\xda\x45\xe5\x0d\x6b\x1f\x0e\xe2\x57\x6f\x74\x60\x22\
+\x14\x5f\x36\x73\x1d\x89\x27\x71\xa4\xc3\x87\x4a\x97\x09\xa5\x45\
+\x2a\x51\x3e\x31\x31\x81\x57\x5e\x79\x65\x49\x5f\x61\x2c\x26\xfd\
+\xfd\xfd\x70\x3a\x9d\xf0\x78\x3c\x45\xdd\x6e\x30\x18\xc4\x2b\xaf\
+\xbc\x82\x81\x81\x81\xe5\xf3\x3b\x2e\x8a\x68\x6b\x6b\x93\xfa\x0f\
+\x91\x98\x51\xe6\xe8\xd1\xa3\x78\xfb\xed\xb7\x97\xbc\xf1\xcc\xe3\
+\xf5\x7a\xd1\xd7\xd7\x87\xfa\xfa\xfa\xb4\xfc\xb8\xc5\xcc\xc4\xc4\
+\x04\x5e\x7e\xf9\xe5\x05\xcb\x27\x2c\x04\xd1\x68\x14\x2d\x2d\x2d\
+\x00\x50\xb4\x3e\x5b\xcb\x46\xcc\x4c\x86\x12\x78\xfc\x8d\x0e\xb4\
+\x0f\x05\xb1\x1c\x19\x9e\x8c\xa2\x65\x60\x0a\xeb\x6a\xec\x30\x2e\
+\x70\xb9\xdb\xe1\x89\x28\x7e\xf1\x7a\x3b\x06\x27\x22\xcb\x72\xae\
+\xbb\x46\x43\x18\xf0\x85\xb1\xae\xd6\x01\xad\x66\x61\x15\x4d\xcb\
+\x40\x00\xbf\x7a\xb3\x13\x81\x70\x62\xd9\xcd\x73\x2a\x05\x9c\xe9\
+\x0f\x20\x18\x11\xb0\xa6\xda\xb6\xe0\x5d\xee\xdf\x6d\x19\xc7\x7f\
+\xed\xed\x59\xf2\x5e\x46\x25\x92\x62\x0a\x27\xba\x27\xa0\xd3\xaa\
+\xd1\x58\x56\xd8\xab\x65\xe1\x70\x18\x2f\xbf\xfc\x72\x51\x7a\x90\
+\x2c\x27\x7a\x7a\x7a\x50\x55\x55\x05\x9b\xcd\x56\x94\xed\x0d\x0d\
+\x0d\xe1\x4f\x7f\xfa\x13\x02\x81\xc0\xb2\x9c\xcf\x81\x81\x01\x4c\
+\x4e\x4e\x16\xe5\x4a\xfd\x52\x12\x33\xc9\x64\x12\xbb\x77\xef\xc6\
+\xa9\x53\xa7\x96\xe5\x71\x0f\x85\x42\x68\x6b\x6b\x43\x65\x65\x65\
+\xce\x0d\x74\x0b\x4d\x77\x77\x37\x5e\x7b\xed\xb5\x65\xf9\x5b\x99\
+\x4a\xa5\x30\x30\x30\x80\x70\x38\x5c\x94\x72\xf4\xcb\x42\xcc\x74\
+\x8f\x86\xf0\xcb\x37\xda\x31\x3e\x15\xc7\x72\x26\x10\x49\xe0\x58\
+\xd7\x24\x1a\xca\x2d\x70\x5a\x16\xe6\xaa\x43\x73\x9f\x1f\x4f\xec\
+\xea\x5c\x52\x05\x15\xe6\xc3\x58\x20\x86\xe6\x7e\x3f\x2e\xae\xb1\
+\x2f\x58\xaf\x94\x3d\xcd\xa3\xf8\xfd\xbe\x3e\x24\x92\xe2\xb2\x9e\
+\xeb\x3e\x6f\x18\x9d\x23\x21\xac\xab\xb5\x2f\x48\xb9\x6c\x51\x4c\
+\xe1\x85\x43\x03\x78\xe3\xc4\x30\x96\x7b\x6d\xc7\xb3\x83\x53\xf0\
+\x4e\xc5\x70\x71\x8d\xa3\x60\xc5\x45\x76\xed\xda\xb5\xe8\xca\x88\
+\x2e\x95\x3f\xff\xbe\xbe\x3e\xac\x5f\xbf\xbe\xe0\xf1\xe6\x2d\x2d\
+\x2d\x78\xfd\xf5\xd7\x17\xb4\x67\x4c\x31\xf0\xf9\x7c\xe8\xed\xed\
+\x2d\xf8\x95\xfa\xa5\x22\x66\xc2\xe1\x30\x5e\x79\xe5\x15\xf4\xf5\
+\xf5\x2d\xeb\xe3\x9e\x48\x24\x70\xf6\xec\x59\xd8\x6c\x36\x94\x94\
+\x94\x2c\xca\x31\x32\xcf\xd8\x52\x0f\xed\x9c\x09\xaf\xd7\x8b\x8b\
+\x2e\xba\xa8\xe0\x7d\xa1\x96\xbc\x98\x39\xdc\xee\xc3\x6f\xde\xea\
+\x46\x34\xb1\xbc\x0d\x3e\x46\x5c\x10\x71\xac\x73\x02\x4e\x8b\x1e\
+\xd5\x45\xce\xed\xd8\x7d\x6a\x04\xff\xfd\x6e\x1f\x04\xf1\xc2\x68\
+\x4d\x14\x8c\x0a\x38\xd6\x39\x81\xfa\x52\x0b\x5c\xd6\xe2\x89\x47\
+\x21\x99\xc2\xef\xf7\xf7\x61\x4f\xd3\x28\x2e\x94\x26\x50\x13\xc1\
+\x38\x4e\xf5\x4c\xe2\xa2\x22\xe7\x76\x84\x63\x49\x3c\xb9\xbb\x13\
+\x27\xbb\x27\x2f\x18\xa3\x79\x68\x22\x8a\xb3\x43\x53\x58\x57\x6b\
+\x87\x41\x97\x5f\xa3\xb9\xaf\xaf\x0f\x87\x0e\x1d\x22\x65\x92\x83\
+\x11\x96\x4a\xa5\x50\x5b\x5b\x5b\x30\xa3\xfb\xdd\x77\xdf\x5d\xb0\
+\x92\xd4\x0b\x41\x38\x1c\x2e\xf8\x95\xfa\xa5\x20\x66\xc6\xc6\xc6\
+\xf0\xf2\xcb\x2f\x63\x72\xf2\xc2\xf8\xad\x4b\xa5\x52\xe8\xea\xea\
+\x42\x3c\x1e\x47\x6d\x6d\xed\x82\x96\xee\x4e\xfb\x7f\x17\x04\xec\
+\xda\xb5\x0b\xa7\x4f\x9f\xbe\x60\x8e\x43\x69\x69\x69\xc1\x45\xe5\
+\x92\xee\x1a\x78\xe8\xac\x17\xcf\xed\xeb\x5d\xf2\x09\xd1\xf3\x31\
+\x76\x9f\xdb\xd7\x8b\x43\x6d\xc5\xeb\xc8\xbb\xfd\xd8\x10\xb6\x1f\
+\x1b\xc2\x85\x35\xd3\xe7\x72\x83\x7e\xf9\x7a\x7b\xd1\x1a\x52\xa6\
+\x00\x3c\xbd\xa7\x1b\x47\x3a\x7c\xb8\xd0\xf0\x4e\xc5\xf1\xd3\xed\
+\x6d\x18\x0f\x14\xa7\x9a\x52\x5c\x10\xf1\x8b\xd7\xdb\xd1\x3e\x1c\
+\xbc\xe0\xe6\xba\x77\x2c\x8c\x9f\xed\x68\x47\x24\x8f\x45\x52\x44\
+\x51\xc4\xbe\x7d\xfb\x48\x91\xe4\xc8\xc9\x93\x27\x0b\x66\x70\xee\
+\xd9\xb3\x07\x27\x4f\x9e\xbc\xe0\xe6\x94\x85\x3e\x2e\xa7\xbc\x84\
+\xb9\x30\x3e\x3e\x8e\x97\x5e\x7a\x09\xa1\x50\xe8\x82\xfc\x3e\xbd\
+\xfb\xee\xbb\x8b\x66\x3c\xbb\x77\xef\x5e\xf0\xb2\xf0\xc5\x44\xab\
+\xd5\x16\x25\x7c\x72\xc9\x8a\x99\xce\x91\x10\xfe\x78\xb0\xff\x82\
+\xfe\xd3\xfb\xe3\x81\xfe\xa2\x18\xd9\xc7\x3b\x27\xb0\xfb\xd4\x85\
+\x1b\x36\x92\x14\x53\xf8\xf5\x5b\x5d\xf0\x05\x0b\x1f\xc6\xb8\xe3\
+\xd8\x10\x9a\xfb\xfc\x17\xec\x5c\x47\xe2\xe7\x3c\x25\xd1\x02\x57\
+\x22\x4c\x01\x78\xf6\x9d\x5e\x0c\xfa\x22\x17\xec\x5c\x8f\x07\x62\
+\x78\x7a\x4f\x37\xc4\x3c\x5d\xa1\x3f\x75\xea\xd4\xa2\x2a\x79\xbc\
+\x54\x29\x94\x28\x3c\x75\xea\x14\xce\x9c\x39\x73\xc1\xce\xab\x20\
+\x08\xd8\xb1\x63\xc7\x05\x97\xcb\x15\x89\x44\xb0\x7d\xfb\xf6\x65\
+\x1f\x52\x38\x93\xa0\x79\xff\xfd\xf7\x17\x7c\x1c\x07\x0f\x1e\x44\
+\x47\x47\xc7\x05\x35\xf7\x1b\x37\x6e\x2c\x4a\x31\x86\x25\x29\x66\
+\x7c\xc1\x38\x7e\xf3\x56\xd7\x05\xe7\x91\xc9\x66\x64\x17\xb2\xf2\
+\x52\xdf\x78\x18\xcf\xed\xef\xc3\x85\x4e\x30\x2a\xe0\x3f\x77\x77\
+\x16\xb4\xbf\xcb\xf1\xae\x0b\x5b\x34\x32\x46\xfd\x31\xfc\xf6\xed\
+\x9e\xbc\x19\xd9\x4a\xbc\x71\x62\x18\xa7\x7a\x26\x2f\xf8\xb9\x3e\
+\x3b\x38\x85\x3f\x1d\x1e\xcc\xfd\xb7\x28\x99\xcc\x39\xcc\x86\x38\
+\x4f\x6f\x6f\x6f\x5e\xfb\x7e\xf4\xf5\xf5\x61\xff\xfe\xfd\x17\xfc\
+\xbc\x86\x42\x21\xec\xd8\xb1\x63\xd9\xe7\x29\xf0\xc2\x78\xc7\x8e\
+\x1d\x08\x06\x83\x17\xfc\xb1\xdf\xbb\x77\x2f\x06\x07\x07\x17\x6c\
+\xfb\xad\xad\xad\x38\x76\xec\xd8\x05\x35\xe7\x1b\x36\x6c\xc0\x95\
+\x57\x5e\x59\x94\x6d\x2d\xb9\x9c\x99\x58\x42\xc4\xe3\x6f\xb4\x17\
+\xe5\x2a\xb9\xa2\xfa\x53\xab\x60\x37\xeb\x50\xee\x30\xa2\xd2\x65\
+\x3a\xd7\x8c\x4e\x75\xae\xd4\xec\x42\x84\x20\xc7\x05\x11\x1d\xc3\
+\x41\x5c\xb6\xd2\x9d\xf7\xb2\xcd\x81\x48\x02\xbf\x78\xbd\x23\xaf\
+\xa1\x28\x73\x41\xa5\x02\x6c\x26\x1d\xca\x1c\x06\x94\x3a\x8c\xd0\
+\x6b\xd5\x10\xc5\x14\x84\xe4\xc2\x88\xd8\x60\x54\xc0\xf0\x64\x14\
+\x9b\x1b\x5d\x79\x2f\xdb\xdc\xef\x0d\xe3\xa9\xdd\xdd\x05\x35\xe0\
+\xb3\x9e\xd3\x2a\x15\xac\x26\x2d\xdc\x36\x3d\x2a\x9c\x46\x94\x39\
+\x8c\x30\x19\x34\xd0\xa8\x55\x10\xc5\xd4\x82\x5c\x34\x18\x9f\x8a\
+\x21\x26\x88\x05\x69\x18\x7b\xaa\x67\x12\x2f\x2e\xa0\x57\xd7\xa8\
+\xd7\xc0\x6d\x35\xa0\xd2\x6d\x84\xc7\x66\x80\x6e\x81\xcf\xeb\xde\
+\xb1\x30\x5c\x16\x3d\xaa\x3d\xf3\xcf\xc1\xeb\xec\xec\xc4\xd9\xb3\
+\x67\x0b\xf4\x9b\xab\x86\xdb\xed\x86\xc5\x62\x41\x34\x1a\x5d\x14\
+\xb9\x1e\x76\xbb\x1d\x4e\xa7\x13\xf1\x78\xbc\x60\xa5\x6d\xd5\x6a\
+\x75\x5e\xaa\x00\x4d\x4e\x4e\xe2\xd5\x57\x5f\x5d\xb0\x32\xd9\x5a\
+\xad\x16\x56\xab\x15\x6e\xb7\x1b\x6e\xb7\x1b\x3a\x9d\x0e\x00\x16\
+\x6c\x3c\xa1\x50\x08\xc1\x60\x30\xaf\xa1\x2f\x8b\x35\x67\xe6\xad\
+\xb7\xde\x42\x77\x77\xf7\x82\x7d\x4f\xf4\x7a\x3d\xec\x76\x3b\x3c\
+\x1e\x0f\x8c\x46\x23\x54\x2a\xd5\x82\x1d\xf7\x54\x2a\x85\xee\xee\
+\x6e\xac\x58\xb1\xa2\xe0\xc9\xe8\x72\x86\x86\x86\xb0\x73\xe7\xce\
+\x05\xfb\xed\x52\xab\xd5\xb0\x58\x2c\x70\xb9\x5c\x70\x38\x1c\xd0\
+\x6a\xb5\x48\xa5\x52\x05\x15\xf5\xc5\x6e\x06\xac\xc5\x12\x22\x05\
+\xe0\x99\x77\x7a\x30\x34\x51\x9c\xa6\x67\x7a\xad\x1a\x6b\xab\xed\
+\x58\x5f\x67\x47\xa5\xcb\x04\x87\x59\x07\x8b\x51\x0b\x55\x96\xb1\
+\x85\xa2\x02\x02\xe1\x04\x06\x27\x22\x68\xee\x0d\xa0\x65\x20\x50\
+\x94\x32\xaf\x03\xbe\x08\x9e\xdd\xd7\x8b\xcf\x5d\xdf\x80\x7c\xd9\
+\xd8\x42\x52\xc4\x53\xbb\xbb\x8a\x56\x12\xd8\xa8\xd3\x60\x6d\x8d\
+\x0d\xeb\x6b\x1d\x28\xb5\x1b\xe0\x30\xeb\x60\x35\x69\x15\xcb\xf5\
+\x26\x92\x22\x02\xe1\x73\x73\xdd\x3b\x1e\x46\x53\xaf\x1f\xdd\xa3\
+\xa1\xa2\x08\x81\xe6\x3e\x3f\xb6\x1f\x1b\xc2\xed\x97\xe5\xaf\xc1\
+\xdd\x54\x24\x81\xff\xfc\x73\x3f\x42\xb5\xc0\x00\x00\x20\x00\x49\
+\x44\x41\x54\x57\xd1\xaa\x96\x95\xda\x0d\x58\x55\x69\xc5\xca\x0a\
+\x2b\x56\x94\x5b\x61\x37\xeb\xa6\x3d\x6f\xe2\x82\x88\x7e\x6f\x18\
+\xed\xc3\x41\xb4\x0f\x05\xd1\x33\x16\x86\x50\x84\xb1\xee\x6d\x1e\
+\x43\xa5\xd3\x84\xad\x17\xb9\xf3\xb6\xce\x41\x5f\x04\xcf\xbe\xd3\
+\x5b\xb4\xdc\xaf\x32\x87\x11\x1b\xea\x1c\x58\x53\x65\x83\xcb\xaa\
+\x83\xcd\xa4\xcb\x5a\xb1\x8d\x9d\xd7\x93\xa1\x38\xda\x86\x82\x68\
+\xea\x9d\x2c\xda\x6f\xdd\xf3\x07\xfa\x50\xe6\x30\xa0\x61\x9e\x65\
+\x9b\xf3\x2d\x64\xcc\x66\x33\xb6\x6c\xd9\x82\x8a\x8a\x0a\x78\x3c\
+\x1e\xa9\xba\x97\x28\x8a\xf0\x7a\xbd\x18\x19\x19\xc1\xb1\x63\xc7\
+\x8a\x76\xc5\x59\xad\x56\x63\xd3\xa6\x4d\xa8\xab\xab\x43\x49\x49\
+\x09\x0c\x06\x83\x64\x20\xf9\xfd\x7e\x8c\x8d\x8d\xe1\xf4\xe9\xd3\
+\x18\x1e\x1e\xce\xdb\x36\xdb\xdb\xdb\x71\xcd\x35\xd7\xe4\x54\xd9\
+\x2c\x16\x8b\x61\xfb\xf6\xed\x88\xc5\x8a\x93\x87\x66\x36\x9b\xd1\
+\xd0\xd0\x80\xfa\xfa\x7a\x38\x9d\x4e\x98\xcd\x66\x69\xae\xe4\x88\
+\xa2\x88\x48\x24\x82\x50\x28\x84\xe1\xe1\x61\x74\x75\x75\x61\x68\
+\x68\xa8\x28\x7d\x4f\x58\x63\xcd\xcd\x9b\x37\x63\xb9\x72\xf2\xe4\
+\x49\xa9\xd7\x47\xa1\x51\xa9\x54\x28\x2f\x2f\x47\x63\x63\x23\x2a\
+\x2a\x2a\x60\x36\x9b\x61\xb1\x58\xa0\xd5\x6a\x15\x45\x05\x3b\xee\
+\x7e\xbf\x1f\xdd\xdd\xdd\xe8\xe9\xe9\x29\xca\x39\x1a\x8d\x46\xb1\
+\x7d\xfb\x76\x7c\xf2\x93\x9f\x2c\x5a\x1f\x1a\xbf\xdf\x8f\x1d\x3b\
+\x76\x14\xad\x9f\x8f\xd5\x6a\x45\x43\x43\x03\xea\xea\xea\x60\xb3\
+\xd9\x60\xb1\x58\xb2\x8a\x37\xf6\x1d\x1c\x1b\x1b\xc3\xc0\xc0\x00\
+\x06\x06\x06\x30\x3e\x9e\x7b\x9f\xc6\x62\x0b\x19\x00\x50\xa5\x96\
+\x50\x49\x93\xed\xc7\x86\x0a\x1e\x86\x63\x35\x6a\xb1\xa1\xce\x81\
+\x0d\x75\x0e\x5c\x54\x69\x85\x56\x33\xff\x48\x3c\x21\x29\x7e\x60\
+\x94\xf8\xd1\xd4\xeb\x2f\x78\x39\xe3\x5b\x2e\xad\xc0\x47\x37\x55\
+\xe4\x65\x5d\xbf\xdb\xdb\x83\x63\x9d\x85\x8d\x7f\xb7\x9b\x75\xe7\
+\xe6\xba\xd6\x81\x55\x95\xd6\x9c\x3c\x4b\xa1\x98\x80\xf7\xfb\x02\
+\x68\xea\xf5\xa3\x75\x60\xaa\xe0\xc2\xe0\x33\xd7\xd4\xe3\xb2\x95\
+\xae\x3c\x88\xc6\x14\x7e\xbe\xb3\x1d\x3d\x63\x85\xcd\x7d\xb2\x99\
+\x74\xb8\x6a\xad\x07\xdb\x56\x79\xe0\xb0\xe8\x72\x1e\xf3\x99\xfe\
+\x00\xde\x39\x33\x86\x8e\x02\x27\xcf\x6b\xd4\x2a\x7c\xf9\x63\xab\
+\xf2\xd2\x1b\x25\x18\x15\xf0\xd8\xab\x67\x31\x51\x60\xaf\x6e\x43\
+\x99\x45\xfa\x0d\x29\xb5\xe7\xd6\xa4\xd2\x17\x8c\x4b\xbf\x1f\x9d\
+\xc3\xc1\x82\x8a\x30\x9b\x49\x8b\x47\x3e\xbe\x06\xce\x39\x9e\x1f\
+\xd1\x68\x14\xbf\xfe\xf5\xaf\xf3\xf6\x67\xbd\x76\xed\x5a\x5c\x7d\
+\xf5\xd5\x59\x8d\x60\x49\x64\xc7\xe3\x38\x70\xe0\x00\x9a\x9b\x9b\
+\x0b\x2b\x48\xcb\xca\x70\xe3\x8d\x37\xc2\xed\x9e\x5e\x54\xa7\x52\
+\x29\x9c\x3e\x7d\x1a\x87\x0e\x1d\xca\x5b\x7e\xc2\x47\x3f\xfa\x51\
+\xac\x5a\xb5\x6a\x5e\x9f\x4d\xa5\x52\x78\xf5\xd5\x57\x0b\x5e\x86\
+\xd7\xe1\x70\x60\xc5\x8a\x15\x68\x6c\x6c\x44\x79\x79\x79\x4e\x55\
+\xa3\x62\xb1\x18\x7a\x7a\x7a\xd0\xd5\xd5\x85\x9e\x9e\x9e\x82\x5e\
+\xc5\x57\xa9\x54\xb8\xfd\xf6\xdb\x51\x57\x57\x97\xf3\xba\x92\xc9\
+\x24\x1e\x7f\xfc\xf1\x9c\xd6\xb1\x66\xcd\x1a\xdc\x74\xd3\x4d\x79\
+\xd9\xb7\xde\xde\x5e\xbc\xf6\xda\x6b\x05\xf5\x04\xa8\xd5\x6a\xd4\
+\xd6\xd6\xa2\xb1\xb1\x11\x0d\x0d\x0d\x30\x9b\xe7\xdf\xfc\x58\x14\
+\x45\x0c\x0d\x0d\xa1\xab\xab\x0b\x9d\x9d\x9d\x05\xbf\x48\x51\x57\
+\x57\x87\xdb\x6f\xbf\xbd\xe0\x15\xce\x62\xb1\x18\x5e\x78\xe1\x85\
+\x82\xe7\x12\xba\x5c\x2e\xe9\x3b\x58\x56\x56\x96\xb3\xe0\xeb\xee\
+\xee\xc6\xa9\x53\xa7\xe6\x25\x6c\x16\x42\xc8\x2c\x29\x31\x73\xb2\
+\x7b\x12\x4f\xef\xe9\x2e\xd8\xfa\x0d\x3a\x35\x6e\xd8\x50\x86\xeb\
+\xd6\x97\x15\xa4\xd7\x45\x5c\x10\xb1\xa7\x79\x14\x7b\x9a\x46\x0b\
+\x96\x77\xa1\x02\xf0\xd7\x37\x35\x62\x7d\xad\x23\xa7\xf5\xec\x69\
+\x1a\xc5\x2b\x47\x0a\x17\x5b\x6a\x31\x6a\x71\xf3\xa6\x72\x5c\xb5\
+\xa6\x24\xef\xa1\x71\xc0\xb9\xf0\xb8\x37\x4e\x0c\xe3\x50\x9b\x0f\
+\x62\x81\x42\xa4\xb4\x1a\x15\xfe\xff\xf6\xce\xfc\x2b\xae\x33\xbd\
+\xf3\xdf\x5b\xfb\x46\x15\x05\x14\x54\x15\x14\x54\xb1\xaf\x42\x08\
+\x09\xb4\x1b\xb4\x58\x42\x92\x65\x39\x96\xc7\x49\xa7\x13\x3b\xdd\
+\x49\x3a\x4b\x4f\x77\x67\x7e\xc8\x0f\xf3\x07\xcc\xcc\x2f\x73\xb2\
+\xcc\x49\xfa\x64\xa6\xa7\x3b\x33\xe9\x9e\x99\x1c\xdb\xed\x4d\xb2\
+\x1c\xcb\xb2\x64\xc9\x46\x58\x48\xb2\x16\x90\x40\x20\x56\x41\x41\
+\x21\x40\x55\x45\x6d\xd4\x36\x3f\x20\xd4\xb2\x5b\x4b\xc1\x7d\x6f\
+\x71\xeb\xf2\x7c\xce\xf1\xb1\x8f\x0f\xbc\xdc\xf7\x79\xef\xf2\x7c\
+\xdf\xf7\x59\x7e\xd8\x51\x01\x07\xcf\xee\xf5\xff\xfa\xe5\x18\x2e\
+\x0d\x08\x57\xb9\xac\x28\x57\x87\xdd\xb5\x79\xd8\xe8\x32\x0b\x62\
+\xeb\x89\xb9\x10\x2e\xdc\x9a\xc1\xd5\xa1\x79\xc1\xc2\xd1\x0c\x1a\
+\x05\xfe\xc3\xd1\x2a\x98\x74\xab\x17\x61\xc9\x24\xf0\x8f\x1f\x0f\
+\x60\x48\xc0\x82\x19\x4e\x8b\x1e\x47\x36\xdb\xe1\x2a\x10\xa6\x29\
+\xe5\xf8\xfd\x20\x3e\xbc\x3c\x29\xa8\x80\x2c\xcc\xd1\xe2\xc7\x47\
+\x2a\x57\x74\xaf\xf4\xf4\xf4\xe0\xfc\xf9\xf3\x4c\x9c\xcb\x8e\x8e\
+\x8e\x15\x87\x56\x8d\x8f\x8f\xe3\xe4\xc9\x93\x82\xec\x7c\x36\x36\
+\x36\x62\xfb\xf6\xed\x2b\x72\x7a\xfc\x7e\x3f\xde\x7b\xef\x3d\xf8\
+\xfd\x7e\xde\x7f\xbf\xa4\xa4\x04\x87\x0f\x1f\x5e\xd5\xef\x76\x76\
+\x76\xe2\xda\xb5\x6b\x82\xdd\x2b\x06\x83\x01\xad\xad\xad\xa8\xac\
+\xac\x14\xc4\x29\x0c\x04\x02\xb8\x74\xe9\x12\xfa\xfa\xfa\x04\x73\
+\xca\x55\x2a\x15\x5e\x7b\xed\x35\x98\x4c\xfc\xbe\x99\x62\x12\x33\
+\x5e\xaf\x17\x6f\xbd\xf5\x16\x16\x17\x85\xd9\xb4\xe1\x38\x0e\x95\
+\x95\x95\x68\x69\x69\x11\xa4\xc1\x6b\x32\x99\xc4\xed\xdb\xb7\xd1\
+\xdd\xdd\x2d\x68\xf5\xb5\xe6\xe6\x66\xb4\xb6\xb6\x0a\xea\xb7\x7e\
+\xfc\xf1\xc7\x18\x1a\x1a\x12\x54\xc4\x6c\xdd\xba\x15\x2e\x97\x4b\
+\x90\xf1\x27\x26\x26\x70\xfd\xfa\x75\x8c\x8e\x8e\xa6\xf4\x0c\xae\
+\x95\x90\x01\x32\x24\x67\x66\x31\x96\xc0\xcf\x4e\x0f\x21\x22\x40\
+\xc8\x96\x4c\xc6\x61\x7b\x55\x1e\xde\xdc\xe3\x42\x4d\x91\x51\x10\
+\x87\x0f\x58\xda\x61\x2e\xb3\x1a\xd0\x52\x91\x8b\xc5\x58\x02\x13\
+\xf3\x21\x41\x72\x6c\x46\x3c\x41\x6c\xaf\xce\x5d\x75\x43\x3c\x5f\
+\x30\x8a\x5f\x7c\x26\x4c\xee\x86\x4a\xb1\x24\x18\xff\xb0\xcd\x89\
+\xb2\x02\x83\x60\x1d\xdf\xd5\x4a\x39\x6a\x1d\x26\x6c\x74\x9a\xe1\
+\x0b\x45\xe1\xf1\xb2\x3f\xbe\x4e\x24\x97\xfa\x75\xb4\x56\xe6\xf2\
+\x58\xab\x00\xde\xfd\x6a\x42\x10\x1b\xe8\xd4\x72\xfc\xce\x56\x07\
+\x8e\x6f\x2b\x82\x3d\x47\x2b\x98\xad\x8d\xda\xa5\xd3\xb5\x46\xa7\
+\x19\xee\xf9\x10\xe6\x03\x51\x41\x9e\xff\x40\x38\x8e\x86\x92\xd5\
+\x3b\x1c\xdd\x83\x73\xf8\xe2\xf6\x7d\x41\x6c\x90\x67\x54\xe3\xb5\
+\xed\x0e\x1c\xdd\x52\x28\x68\x3f\x22\x93\x4e\x89\x2d\xe5\x39\x70\
+\xe4\xea\x30\x39\x17\x42\x20\xc2\x7e\xd7\xda\x1f\x8a\x41\xa7\x52\
+\xa0\x64\x05\x27\x61\xd7\xae\x5d\xc3\xdc\x1c\x7f\x41\xde\xd2\xd2\
+\x82\xda\xda\xda\x95\xdb\xc5\x64\x82\x5c\x2e\xc7\xbd\x7b\x6c\xf3\
+\xa0\x6c\x36\x1b\xf6\xef\xdf\xbf\x62\x47\x5d\xad\x56\xa3\xa0\xa0\
+\x80\x49\x88\x4f\x28\x14\xc2\xa6\x4d\x9b\x56\xfc\x7b\x73\x73\x73\
+\x38\x73\xe6\x8c\x30\xef\x57\xb5\x1a\x2d\x2d\x2d\xd8\xbf\x7f\x3f\
+\x2c\x16\x8b\x60\xbb\xdb\x2a\x95\x0a\x2e\x97\x0b\x65\x65\x65\xf0\
+\xf9\x7c\xf0\x7a\xd9\x57\x79\x8c\xc7\xe3\xf0\xfb\xfd\xa8\xa8\xa8\
+\xe0\xed\x80\x8b\x25\x67\xe6\xec\xd9\xb3\x98\x9d\x15\xa6\x6d\x43\
+\x71\x71\x31\x0e\x1c\x38\x80\xfa\xfa\xfa\xe7\x9e\x9c\xf2\x11\x4b\
+\x16\x8b\x05\xf5\xf5\xf5\x50\x2a\x95\xf0\x78\x3c\x82\xe4\x76\x78\
+\x3c\x1e\x54\x55\x55\x09\x36\x8f\x89\x89\x09\x74\x75\x75\x09\x32\
+\xb6\x5e\xaf\xc7\xce\x9d\x3b\xd1\xd6\xd6\x06\xb3\xd9\x0c\xa1\x30\
+\x1a\x8d\xa8\xa8\xa8\x80\xcb\xe5\xc2\xcc\xcc\xcc\x33\xc5\xe5\x5a\
+\x0a\x99\x8c\x11\x33\x67\x7b\x3c\x82\x94\xab\x2d\x2d\xd0\xe3\x07\
+\x2f\x96\xa1\xb9\x2c\x27\x6d\x9d\xc7\xd5\x4a\x19\x6a\x1d\x46\x6c\
+\x74\x66\x63\x62\x36\x84\x07\x8c\x73\x52\xc2\xd1\x38\x34\x2a\xf9\
+\xaa\xc3\x72\xde\xbf\x34\x89\xb1\xfb\xec\x4b\x57\x36\x94\x98\xf0\
+\xa7\xfb\xcb\x50\x5f\x6c\xe2\x15\xba\xb7\xa2\x07\x5e\xa3\xc0\x46\
+\x97\x19\x35\x85\x46\x0c\x7b\x16\x10\x88\xb0\x7d\x21\x7a\x83\x51\
+\xd8\xcd\x5a\x14\x64\xaf\x2e\x99\xf0\x97\x9f\x8f\xe2\x81\x00\xce\
+\x7f\x93\xcb\x8c\x3f\xde\x57\x2a\xd8\x09\xc1\xd3\x6c\xbd\xa5\x22\
+\x17\x59\x5a\x05\x86\xa7\x03\xcc\x1b\xab\xba\x1f\x84\x50\x5f\x6c\
+\x42\x96\x76\xe5\xa7\x33\xd1\x78\x02\xff\x7c\x76\x98\xf9\x89\xa8\
+\x5c\xc6\xe1\xe8\x96\x42\x7c\x67\x67\x31\xac\xe6\xf4\x35\xb0\xb5\
+\x98\xd4\xd8\x56\x9d\x8b\x2c\xad\x12\x03\x6e\x3f\x58\x1f\x88\x8d\
+\xcf\x06\xb1\xad\x2a\x0f\xca\x14\x9f\xd3\xcb\x97\x2f\x23\x14\xe2\
+\x57\xe2\xda\x66\xb3\x61\xcf\x9e\x3d\xab\x76\x8c\x6d\x36\x1b\xdc\
+\x6e\x37\x7c\x3e\x1f\x33\x87\xfd\xe8\xd1\xa3\xab\x76\x74\x0c\x06\
+\x03\x38\x8e\xc3\xc4\x04\xbf\xcd\x8a\x78\x3c\x8e\xba\xba\xba\x47\
+\x49\xf3\x2b\x71\x68\x85\xe8\x55\x53\x53\x53\x83\xc3\x87\x0f\xa3\
+\xa8\xa8\x08\x32\x59\x7a\xde\xe3\x5a\xad\x16\x95\x95\x95\xb0\xd9\
+\x6c\x98\x98\x98\x60\x7e\xe2\xf0\xe0\xc1\x03\x14\x15\x15\xf1\x3a\
+\x65\x10\x8b\x98\x71\xbb\xdd\xb8\x78\xf1\x22\xf3\x35\x30\x18\x0c\
+\x38\x78\xf0\x20\x36\x6f\xde\xcc\x2b\x9c\x6c\x25\xc8\x64\x32\xd8\
+\x6c\x36\xd4\xd6\xd6\x22\x1c\x0e\x33\xc9\xe5\xf8\xf6\x9a\x85\x42\
+\x21\x94\x95\x95\x09\x72\xfd\x9f\x7c\xf2\x09\xf3\x93\x25\x8e\xe3\
+\xb0\x79\xf3\x66\x1c\x38\x70\x80\x77\x48\xe7\x4a\xd0\xe9\x74\xa8\
+\xa9\xa9\x81\x52\xa9\xc4\xd4\xd4\xd4\x6f\x9d\x82\xaf\xb5\x90\x01\
+\x32\xa0\x34\x73\x20\x1c\xc3\xd9\x9b\xec\x1b\x5d\x6d\xad\xcc\xc5\
+\x9f\x1d\x28\x47\x9e\x51\xbd\x26\xf3\xca\x37\x69\xf0\xe7\x07\xcb\
+\xb1\xa5\x3c\x87\xf9\xd8\x67\x6e\x4c\xaf\xaa\x02\xd9\xf4\x83\x30\
+\xba\x07\xd9\x86\x3c\x71\x00\x5e\xdc\x68\xc5\x1b\xed\x2e\x18\x75\
+\xca\x35\xb1\x75\xb1\x45\x87\x1f\x1f\xae\x44\x55\x21\xfb\x23\xf1\
+\x8f\xae\x4e\xae\xea\x14\xab\x67\xcc\x8b\x61\x0f\xdb\x17\x9d\x52\
+\x2e\xc3\x1b\x6d\x4e\x7c\xf7\x85\x12\x18\x34\xe9\xaf\xed\xc1\x01\
+\xd8\x5e\x95\x87\xbf\x3e\x56\x8d\xa2\x5c\xb6\xce\x7d\x32\x09\x9c\
+\xb8\xb2\xba\xd0\xc7\x0b\xb7\x66\xe0\x65\x2c\x1a\x0d\x1a\x05\xfe\
+\xec\x40\x39\x76\xd7\x5a\x56\x7d\x0a\xca\xeb\xc5\xcd\x71\xd8\x51\
+\x9d\x87\xbf\x3c\x58\x01\xa3\x96\xed\x73\x15\x8c\xc4\xf1\xd9\xcd\
+\xe9\x14\xd7\x25\xc9\xc4\x69\x6e\x6b\x6b\xe3\xfd\x61\x6e\x6b\x6b\
+\x63\x66\x83\xcd\x9b\x37\xf3\xee\x16\xdf\xdc\xdc\x0c\xa3\x91\x7f\
+\x35\xbe\x95\xda\xd7\xed\x76\x33\xaf\x60\x25\x93\xc9\xb0\x6b\xd7\
+\x2e\xb4\xb7\xb7\x0b\xb6\x93\xfd\x3c\x8a\x8a\x8a\x70\xfc\xf8\x71\
+\x14\x14\x14\x30\x1f\x5b\x4c\x4d\x15\xf9\x20\x84\x90\xb1\x5a\xad\
+\x38\x7e\xfc\x38\x8a\x8a\x8a\xd6\x64\x4e\x1a\x8d\x06\xed\xed\xed\
+\xd8\xb5\x6b\x17\x73\x01\x3d\x30\x30\x20\x48\x23\x55\x21\xc6\x55\
+\x2a\x95\xe8\xe8\xe8\x40\x4b\x4b\xcb\x13\x0b\x2b\x08\xfe\x7d\xe7\
+\x38\x34\x35\x35\xe1\xf5\xd7\x5f\x47\x6d\x6d\x2d\x74\x3a\x1d\xcc\
+\x66\x33\xda\xdb\xdb\xd7\x5c\xc8\x64\x84\x98\x39\x7d\x63\x1a\xe1\
+\x28\xbb\x1d\x75\x19\xc7\xe1\x58\x6b\x21\x5e\xdb\xee\x10\x2c\xa4\
+\x2c\x55\x14\x72\x0e\xbf\xbb\xb3\x18\x2f\x6d\xb6\x33\x2d\xf5\x1b\
+\x5a\x8c\xe3\xd3\xeb\x2b\x2f\x94\x70\xf2\xca\x24\xd3\xf0\x32\x95\
+\x42\x86\x3f\x6c\x73\xe2\xc0\x46\x2b\xb8\x35\xbe\x8f\x34\x2a\x39\
+\xfe\x78\x5f\x29\x76\xd7\x5a\x98\x8e\xeb\xf1\x46\x56\x9c\xf3\x92\
+\x48\x24\x71\xf2\x0a\xdb\x9c\x24\x83\x46\x81\xbf\x38\x58\x8e\x0d\
+\xce\xec\x35\x7f\x66\x4d\x7a\x25\xfe\xe2\x60\x05\xf3\xb2\xca\xfd\
+\x13\x7e\xdc\x99\x5c\x59\x1e\x42\x20\x12\xc3\x19\xc6\x9b\x21\x36\
+\xb3\x06\x3f\x3e\x52\x89\xd2\x34\x9e\x7c\x3d\x4b\xa8\xff\xd5\x4b\
+\x95\xbc\x73\xb7\xbe\xcd\xf9\x5b\xf7\x53\x3a\x35\xf4\xf9\x7c\xbc\
+\x43\x40\x0c\x06\x03\x93\x50\x09\xa3\xd1\xc8\x3b\xf7\x61\x19\x87\
+\xc3\xc1\xe4\xe3\x5f\x58\x58\xc8\x7b\x9c\x95\x26\x0f\xb3\x76\xcc\
+\xd5\x6a\x35\x8e\x1c\x39\x82\x86\x86\x86\x35\xbf\xdf\x75\x3a\x1d\
+\x8e\x1d\x3b\x86\xaa\xaa\x2a\xa6\xe3\x4e\x4f\x4f\x67\x7c\x33\xc3\
+\xa1\xa1\x21\xa6\xd5\xf4\x80\xa5\x62\x1c\xc7\x8e\x1d\x4b\xdb\x69\
+\xcc\xb3\x68\x68\x68\xc0\x91\x23\x47\x98\x8b\x69\xd6\xfd\x97\xe2\
+\xf1\x38\xf3\xf0\x32\xa3\xd1\x88\x57\x5f\x7d\x95\x49\xa9\x76\xde\
+\xdf\x77\x93\x09\x6d\x6d\x6d\x78\xf3\xcd\x37\xf1\x7b\xbf\xf7\x7b\
+\xa8\xa9\xa9\x11\xc5\xfd\x2f\x6a\x31\x33\xb7\xb0\x88\xce\x3e\x76\
+\x47\x8b\x5a\x95\x1c\x7f\xb2\xbf\x14\xbb\x6a\x2c\xa2\x9a\x67\x5b\
+\x7d\x3e\xbe\xbf\xb7\x14\x6a\x25\xbb\xe5\xf8\xa2\x6f\x66\x45\x55\
+\x9b\x86\xa6\x03\xe8\x1d\xf7\xb1\xbb\xe1\xf5\x4a\xfc\xf0\x50\x85\
+\x28\x9c\xeb\xc7\x85\xec\xcb\x2d\x85\x78\x7d\x47\x31\x53\x21\xfb\
+\x6f\xd7\xa6\x56\x54\x82\xbb\x6b\x60\x96\x69\x1e\x4f\x9e\x51\x8d\
+\x1f\x1d\xae\x40\xb1\x45\x27\x1a\x5b\xab\x95\x32\x7c\x7f\x9f\x0b\
+\x5b\x79\xe4\x14\x3d\x89\x13\x97\x27\x57\x54\xd1\xeb\xf4\xf5\x69\
+\x84\x19\xf6\x49\xaa\x2f\x36\xe1\xdf\x1f\xaa\x44\x8e\x41\x25\x1a\
+\x5b\x1b\x75\x4a\xfc\xb0\xa3\x1c\x9b\x4a\xd9\xc5\x4e\xc7\xe2\x09\
+\x7c\xfc\xf5\xf3\x9b\x36\xb2\xa8\xd2\x63\xb7\xdb\x99\x5d\x37\x8b\
+\xb1\xb4\x5a\xed\x73\x2b\x97\xa5\x0a\x0b\x31\xb3\x92\x93\x99\xa1\
+\xa1\x21\x4c\x4f\xb3\xab\xf8\x99\x9d\x9d\xbd\xa6\xbb\xf2\x4f\x42\
+\x2e\x97\x63\xef\xde\xbd\xcc\x9b\xf1\x75\x75\x75\xa5\xad\x7c\x2e\
+\x6b\x12\x89\x04\x53\x07\x9a\xe3\x38\xec\xd8\xb1\x03\x7b\xf6\xec\
+\x49\x5b\x38\x61\x2a\x2c\x9f\xce\x65\x67\xb3\xf3\x2b\xdc\x6e\x37\
+\xd3\x24\xfd\x1b\x37\x6e\x30\x29\xfe\xf1\xf8\x3b\xed\xf8\xf1\xe3\
+\xcc\xde\x49\x52\x45\xd4\x62\xe6\xd4\x55\x37\xb3\x0a\x49\x32\x19\
+\x87\x3f\xda\xe3\x42\xa5\x3d\x4b\x94\x73\xad\x29\x32\xe2\x8d\x36\
+\x17\xb3\x44\xed\x58\x3c\x89\x53\x5f\xa7\xde\x41\xfa\x04\xc3\xea\
+\x65\x1a\xa5\x1c\x3f\xd8\x5f\x86\xc2\x1c\xad\x28\x6d\xdd\x52\x91\
+\x83\x57\xb7\xb1\xfb\x38\xfb\x82\x51\x5c\xb8\x35\x93\xd2\xcf\x2e\
+\xc6\x12\xf8\xe4\x1a\x43\x67\x43\xaf\xc4\x0f\x3b\x2a\x90\x9b\xa5\
+\x16\xdf\xcb\x85\xe3\xf0\xda\x76\x07\x53\x41\x33\x31\x17\xc2\xd7\
+\x29\x96\x0c\x9f\xf5\xb3\xdd\x0c\x29\xb7\x1a\xf0\x46\x9b\x93\xe9\
+\xa6\x03\x2b\x14\x72\x19\xbe\xb3\xab\x84\x77\x25\xc3\xc7\xb9\x7c\
+\x77\x0e\xee\xf9\x67\xe7\xc2\xb0\xc8\x51\x61\x29\x66\x58\x88\x07\
+\xb1\x89\xab\x54\x05\x23\x6b\x87\x56\xa7\xd3\xe1\xe8\xd1\xa3\xcc\
+\x4e\xbb\x58\xd3\xd4\xd4\xc4\xb4\x1a\x95\xd7\xeb\xc5\xad\x5b\xb7\
+\x32\xd2\x91\xbb\x7d\xfb\x36\xd3\x1c\xa9\xad\x5b\xb7\xa2\xb1\xb1\
+\x51\x94\x73\x35\x99\x4c\x38\x7a\xf4\x28\xd3\xd3\xa2\x8b\x17\x2f\
+\x32\x11\xb2\xe1\x70\x18\x57\xaf\x5e\x65\x76\x5d\x79\x79\x79\x38\
+\x7c\xf8\x70\xda\x9b\x7c\x92\x98\x61\xc8\x4a\x9c\x96\x54\x78\xa5\
+\xb5\x10\x65\x56\x83\xa8\x17\xa3\xaa\x30\x0b\x2f\x6d\x61\xf7\x21\
+\xbd\x7a\x77\x1e\x13\x73\xcf\x4f\xcc\xbd\x31\xfa\x80\x59\x9f\x13\
+\x8e\x03\xbe\xfb\x42\xc9\xaa\x93\xe2\xd3\x45\x6b\x45\x2e\x76\x31\
+\x0c\x39\xfb\xac\xc7\x93\x52\x75\xa9\x73\x3d\x1e\xf8\x43\x6c\xf2\
+\x37\x54\x0a\x19\xbe\xb7\xb7\x14\x59\x5a\x71\xf7\xbe\xfd\x9d\xad\
+\x45\x4c\x9f\xbd\x53\x57\xdd\x88\xc5\x93\x29\xfd\x1c\xab\xcd\x90\
+\xdc\x2c\x15\xfe\xb0\xdd\xb9\x26\xf9\x31\x2b\x79\xf6\x7e\x7f\x77\
+\x09\xac\x66\x36\xcf\x5e\x32\x09\x9c\xb8\xfc\xec\x0d\x11\x16\x7d\
+\x40\x58\xee\x38\xb2\x08\x57\x63\x59\x1d\xc8\x60\x30\xf0\x0e\x8b\
+\x49\xd5\xc6\x2c\x1d\x5a\xb9\x5c\x8e\x8e\x8e\x0e\xde\x79\x43\x42\
+\xd3\xdc\xdc\xcc\xbb\x12\xd9\xe3\x74\x77\x77\x33\xeb\x11\x94\x2e\
+\xa2\xd1\x28\xba\xbb\xbb\x99\x8d\x57\x59\x59\x89\xa6\xa6\x26\x51\
+\xcf\xd9\x60\x30\xa0\xa3\xa3\x83\x57\x43\xd9\x6f\x0b\xd9\x9e\x9e\
+\x1e\xde\xe3\x5c\xb9\x72\x85\x59\xf3\x4f\xad\x56\x8b\x43\x87\x0e\
+\xad\xb8\xf8\x07\x89\x19\x91\x71\xe6\xc6\x34\xb3\x06\x71\x3b\xaa\
+\xf3\xb0\xbd\x2a\x2f\x23\x16\x64\x77\xad\x05\xad\x15\x6c\x76\xb2\
+\x93\x00\x3e\x4b\xa1\xc9\xe8\x6a\xf2\x6b\x9e\xc6\xe1\x66\x3b\x6a\
+\x8a\x8c\x19\x61\xeb\xa3\x5b\xec\xa8\x62\x74\x52\x17\x5e\x8c\xe3\
+\xcb\xe7\x94\xfe\x8d\xc5\x93\x38\xd7\xcb\x26\x7f\x83\x03\xf0\x9d\
+\xdd\x25\xa2\x3d\xfd\xfa\x86\x63\x24\xe3\xf0\x46\xbb\x93\xd9\xe9\
+\xd1\xdc\xc2\xe2\x73\x1b\xba\xce\xfa\x23\xb8\x36\xcc\x66\x33\x44\
+\xad\x94\xe1\xfb\x7b\x4b\xa1\x57\x2b\x44\x6f\xeb\x47\xd7\xca\xa8\
+\x00\x44\xdf\x84\x2f\xa5\x0d\x11\x7e\x22\x8c\x13\xd5\x58\xac\x2b\
+\x04\xb1\x72\xb8\x52\x71\xa4\x58\xd1\xd6\xd6\x26\x48\xa2\xbd\x10\
+\xb4\xb7\xb7\xf3\x6e\x14\xb8\x4c\x28\x14\xca\xb8\xd3\x99\xdb\xb7\
+\x6f\x23\x18\x64\x53\x81\x34\x3f\x3f\x1f\xed\xed\xed\x19\x31\xef\
+\x82\x82\x02\xa6\x45\x3f\xf8\x36\xdf\x4d\x24\x12\x4c\xca\xb1\x03\
+\x4b\x05\x37\x0e\x1e\x3c\x28\xfa\xcd\x04\x12\x33\xcf\x21\x16\x4f\
+\xe0\xf6\x3d\x36\xf9\x1b\xe5\x36\x03\x8e\xb5\x14\x66\xd4\xa2\xbc\
+\xba\xad\x88\x59\x59\xdd\xdb\x13\xbe\x67\xee\x62\xcf\x2d\x2c\x32\
+\x73\x56\x36\x97\xe5\xa0\xbd\x3e\x3f\x73\x6e\x7e\x8e\xc3\x1f\xb4\
+\x39\x79\x77\x69\x5f\xe6\xc6\xe8\xb3\xcb\x87\x0f\xb8\xfd\xcc\xca\
+\x03\xef\x6b\x2c\x40\x43\xb1\x29\x63\x6c\xad\x57\x2b\xf0\xbd\xbd\
+\x2e\x28\xe4\x6c\x1c\xc5\x9b\x63\xcf\xde\x81\xbe\x39\xea\x65\xb2\
+\x19\xc2\x71\xc0\x77\x77\x3b\x45\x7f\xd2\xf8\x38\x39\x06\x15\xde\
+\x68\x73\x32\xcb\x0b\xbb\x39\xfa\x00\x84\xb8\xf1\x78\x3c\xcc\xba\
+\xa6\x37\x35\x35\x31\x4f\xb0\x17\x12\x85\x42\x81\x8e\x8e\x0e\x66\
+\x61\x47\x42\x36\x39\x14\x02\x56\xd7\xab\xd3\xe9\x98\x9e\x76\xa4\
+\x83\xaa\xaa\x2a\x66\xa7\x48\xf3\xf3\xf3\xbc\x72\x00\xef\xdd\xbb\
+\xc7\xec\x54\xa6\xad\xad\x0d\x36\x9b\x8d\x5e\x6c\x99\x2e\x66\xee\
+\x4c\x2e\xac\x28\xa1\xfa\x69\x28\x1f\xc6\x91\x8b\x39\x34\xe4\x49\
+\xc8\x65\x1c\xbe\xb3\xab\x84\x89\xe3\x17\x89\x26\x30\xe0\x7e\x7a\
+\x32\x5a\xef\x18\x9b\xfe\x3d\x46\xad\x92\x69\x1e\x4a\xba\xd0\xaa\
+\xe4\x78\x7d\x67\x31\x93\xb1\xdc\xf3\x21\xcc\xfa\x9f\x5e\x74\xa1\
+\x87\x91\xad\xf3\x8c\x6a\xec\xdb\x60\xcd\x38\x5b\x5b\xb3\x35\xcc\
+\xc4\xee\xf3\xde\x11\xac\x6c\xdd\x5a\x91\x8b\x5a\x87\x31\xe3\x6c\
+\x5d\x66\x35\x30\xab\xdc\xc7\xca\x96\x84\x70\x0c\x0f\x0f\x33\x19\
+\x67\xb9\xa3\x78\xa6\xa1\xd7\xeb\x99\x95\x87\x9d\x9a\x9a\xe2\xdd\
+\x37\x29\x5d\x84\xc3\x61\xb8\xdd\x6e\x26\x63\xed\xde\xbd\x1b\x7a\
+\xbd\x3e\xe3\xd6\x7e\xeb\xd6\xad\xcc\x42\x43\xf9\x08\x43\x56\xa2\
+\xd2\xe9\x74\xa2\xba\xba\x9a\x5e\x6a\x52\x10\x33\xac\x3e\x9e\xbb\
+\x6a\x2d\x30\xe9\x32\x33\xde\x30\xc7\xa0\xc2\xce\x6a\xe1\x9d\x91\
+\x9b\x8c\x6c\x7d\xa0\xc9\x9a\xb6\xc6\xa3\xac\x71\xe5\xeb\x51\xcf\
+\xe8\x94\xe3\x69\xb6\x4e\x02\xcc\xaa\xc5\xbd\xd2\x5a\xc8\xec\x84\
+\x23\xdd\xec\xdd\x50\xc0\xa4\x12\x58\x2c\x9e\x40\xff\x53\xca\x34\
+\xfb\x43\x31\x8c\x30\xc8\x01\x53\x29\x64\x38\xd0\x64\x45\xa6\xb2\
+\x77\x43\x01\xb4\x2a\xfe\xbb\xac\xee\xf9\x30\xe6\x16\x16\x41\x48\
+\x5f\xcc\x6c\xdd\xba\x35\x6d\x8d\xf8\x58\x53\x5a\x5a\xca\x64\x37\
+\x3b\x99\x4c\x62\x74\x74\x34\x23\xe6\x3c\x3a\x3a\x8a\x24\x83\x76\
+\x0a\x56\xab\x95\x77\xc3\xce\xb5\x82\xe3\x38\x66\x02\x7c\xb5\x82\
+\x24\x99\x4c\x32\x11\x33\x2c\xe7\x42\x62\x66\x8d\x49\x26\x81\xde\
+\x71\xfe\x0e\xb6\x5e\xad\xc0\xde\x86\xfc\x8c\x5e\x9c\x7d\x8d\x6c\
+\x9c\x91\xde\x71\xdf\x13\x43\x6e\x82\x91\x38\x86\xa7\xf9\x3b\x7d\
+\x05\x26\x0d\x5a\x2a\x32\xbb\x6c\xe0\xa1\x4d\x36\x26\x95\xe4\x7a\
+\x9e\x12\xfe\x34\x36\x13\x60\x92\xf8\xdf\x50\x62\x62\xde\xbf\x25\
+\x9d\x28\xe5\x32\x1c\x6b\x65\x73\x82\xf7\xb4\x53\xc5\xde\x71\x2f\
+\x58\xb4\x4b\xda\x5d\x6b\x61\xde\x90\x32\x9d\x68\x55\x72\xec\xdb\
+\xc0\x26\xef\x81\x4e\x67\xc4\x8b\xd7\xeb\xc5\xdc\x1c\xff\x66\xc7\
+\x36\x9b\x0d\x2e\x97\x2b\xa3\x6d\xb1\x7d\xfb\x76\x51\x89\xc3\x4c\
+\x11\xb1\xac\xec\xb6\x56\xb8\x5c\x2e\x58\xad\xfc\x37\x9e\x66\x66\
+\x66\x56\x55\x56\x79\x62\x62\x02\xe1\x70\x98\xf7\xdf\xaf\xaa\xaa\
+\xa2\x12\xcc\x52\x11\x33\xc3\x9e\x00\x16\xc2\xfc\x2b\xe4\xec\xdb\
+\x50\x00\x8d\x4a\x9e\xd1\x8b\xa3\x55\xc9\xb1\xaf\x91\xbf\x33\xe2\
+\x0f\x45\x31\xf6\x84\x9d\xea\xdb\xf7\xbc\x4c\x9a\x64\x1e\xde\x6c\
+\x63\x56\x52\x7a\xad\x28\xc8\xd6\x60\x4b\x79\x8e\x60\xf7\x2f\x2b\
+\x67\xf0\x70\xb3\x1d\x99\x4e\x9d\xc3\x08\x67\x3e\xff\x70\x86\x5b\
+\xe3\xbe\x27\xde\xbf\x2c\x6c\xad\xd7\x28\xd0\x9e\xe1\x9b\x21\x00\
+\xb0\xb3\xc6\x02\xb3\x9e\xff\x49\x18\x89\x19\xf1\xc2\x2a\xbc\x85\
+\x75\xdf\x96\x35\x79\x8f\x17\x14\xa0\xac\xac\x8c\xf7\x38\xe3\xe3\
+\xe3\x4c\x2a\xf5\x09\x49\x3c\x1e\xc7\xf8\xf8\x38\xef\x71\x4a\x4b\
+\x4b\x99\x08\x81\xb5\x86\xd5\xfd\xbb\x9a\xe7\x89\xc5\x33\x28\x97\
+\xcb\xd1\xd2\xd2\x42\x2f\x34\xa9\x88\x99\x9e\x31\xfe\xc9\xa6\x66\
+\xbd\x0a\x3b\x6a\xf2\x24\xb1\x40\x3b\xab\x59\x39\x23\xbf\x1d\xe2\
+\xc4\x22\xc4\xcc\x95\xaf\x67\xda\xdb\x62\x2d\x39\xd0\x64\xe5\x1d\
+\xbe\x95\x4c\x2e\x39\xd9\xa9\xd8\x7f\xa5\x94\x59\x0d\xcc\x8a\x15\
+\xac\x35\x2c\x7a\xcf\x04\x22\xb1\xdf\x3a\x59\x7c\x5e\x8e\xd8\x8a\
+\x36\x43\x94\xf2\x8c\xb7\xb3\x42\xce\x31\x09\x95\x1b\x9e\x0e\xa4\
+\x54\x7a\x9c\x48\x3f\x2c\x76\xe7\x59\xed\x6c\x8b\xe2\xdd\xc2\x20\
+\x54\x2e\x16\x8b\x31\x11\x0a\x42\x32\x3e\x3e\xce\xbb\x8c\xb4\x94\
+\xc2\x9a\x6c\x36\x1b\x4a\x4a\x4a\xd2\x2e\x66\x58\x85\x98\x35\x34\
+\x34\x50\xf5\x32\x69\x89\x19\xfe\x0e\xf6\x46\x57\x36\xd3\x0e\xef\
+\x6b\xed\x8c\x6c\x74\xf1\xef\x76\xfb\xed\x90\x9c\x58\x3c\x81\xfe\
+\x09\xfe\x4e\x1f\x8b\xd3\x0c\xb1\x60\xd2\x29\x51\x61\xe3\x5f\xaa\
+\xf9\xdb\x95\xb6\x66\x7c\x11\x78\xbc\xfc\x8f\xa0\xb7\x31\x6c\x3e\
+\xb9\xd6\x6c\x74\x65\x33\x39\x39\xed\xf9\x56\x48\x6a\xdf\x73\xaa\
+\xf7\xa5\xf6\x81\x07\x36\x95\x9a\x25\x63\xeb\x46\x67\x36\x14\x72\
+\x7e\xaf\xfa\x44\x32\xc9\xac\xc2\x24\xc1\x8e\x60\x30\x88\xe9\x69\
+\xfe\xa5\xf5\x33\xa9\x7a\xd9\x73\xdf\xe3\x26\x13\x13\x61\x26\xf6\
+\x50\x33\x16\xd7\x67\xb5\x5a\x91\x9d\x9d\x2d\x99\xb5\x67\x91\x38\
+\xef\x76\xbb\x57\x54\xea\x7a\xa5\x3f\x2f\xe4\xb5\x93\x98\x11\x09\
+\xd3\x0f\xc2\xcf\xac\x06\x95\x2a\xf5\xc5\x26\x49\x2d\x12\x8b\xf9\
+\x4c\x7b\xbf\x69\xdb\xc1\x29\xfe\x15\xe3\x38\x0e\xa8\x75\x90\xad\
+\xbf\xcd\x9d\xc9\x05\xc4\xe2\xbf\xb1\xed\x2d\x06\x89\xff\x7a\xb5\
+\x02\x0d\x25\xd2\xf9\xe8\x28\xe5\x32\x34\x33\x10\x0c\xdf\xb6\x2d\
+\x8b\x22\x0b\xae\x7c\x3d\x0c\x1a\x85\x64\x6c\xad\x52\xc8\x50\x65\
+\x37\x30\xb7\x35\xb1\xf6\xb0\x48\x00\x97\xcb\xe5\x70\x38\x1c\x92\
+\xb2\x0b\x8b\x64\x76\xb1\x17\x01\x60\x71\x7d\x4e\xa7\x53\x52\xeb\
+\x5e\x5c\x5c\xcc\xa4\xb4\xf4\x4a\x2a\xc4\xb1\xd8\x4c\x30\x1a\x8d\
+\x94\x2b\xc3\x13\x51\x7d\xb1\xef\xfb\xf9\xd7\xe8\x36\x68\x14\x28\
+\xb1\xe8\x25\xb5\x48\x25\x96\x25\xe7\x8a\x6f\x2e\xd1\x7d\x7f\x04\
+\xb9\x59\x4b\x21\x6b\xf7\x7d\xfc\x6d\x5d\x92\xa7\x17\x7d\xf7\xf9\
+\x95\x52\xe7\x30\xe2\x6d\x80\x57\x8f\x92\x58\x3c\x81\x07\x81\x28\
+\xf2\x1e\x86\x84\xb1\xb8\xaf\x93\x48\xe2\xbf\x9f\xbe\x2b\x29\x5b\
+\xb3\xc8\x8d\x9b\xf3\x2f\x22\x99\x5c\x12\xd6\x00\x30\xcb\xe0\xbe\
+\xae\x93\xd8\x66\xc8\xf2\x9c\xf8\x0a\x3d\x16\xef\x0c\x82\x2d\x5e\
+\x2f\xff\x48\x06\x87\xc3\x21\xb9\x2e\xe3\x4e\xa7\x13\x5f\x7e\xf9\
+\x25\xaf\x31\x42\xa1\x10\x16\x17\x17\xa1\x52\xa9\x44\x37\xbf\x68\
+\x34\xca\xe4\x34\x20\xd3\x0b\x3e\x7c\x1b\xa5\x52\x89\xc2\xc2\x42\
+\x8c\x8d\x8d\xf1\xfb\x36\xad\xa0\x67\xd3\x6a\x0a\x06\x48\x7d\x1d\
+\xd6\xbd\x98\xf1\x06\xf9\x57\x7b\xaa\x73\x98\xc0\x71\xd2\x5a\x24\
+\x8e\x5b\x9a\xd7\x57\x03\xb3\xbc\xc6\xf1\x3d\x66\x5f\x6f\x90\xbf\
+\x23\x59\x5f\x22\x3d\xa7\x2f\x4b\xab\x44\x89\x45\xcf\xbb\xb4\xaf\
+\x37\xf8\x1b\x31\xe3\x63\x70\x5f\x07\x23\x71\xdc\x9d\x5a\x00\xf1\
+\x4d\x12\xc9\x24\x16\xc2\x51\x64\x3d\xac\x3a\xe6\x65\x50\x31\xae\
+\xde\x21\x41\x31\xe3\x30\x81\xe3\xc6\x79\x55\x79\x63\xf1\x7e\x26\
+\xd8\x12\x08\xf0\xaf\x46\x29\xb5\xdd\x79\x60\x29\xd4\x2c\x27\x27\
+\x87\x77\x95\xb7\x40\x20\x20\x4a\x31\xc3\x62\xdd\xcd\x66\xb3\xa4\
+\x42\xcc\x96\x29\x2d\x2d\x25\x31\xb3\x0e\x11\x55\x98\x99\x8f\x81\
+\x83\x2d\xc5\x5d\x55\x56\xf3\x7a\xdc\xa9\xf6\x31\x12\x8e\x64\xeb\
+\x54\x84\x23\x39\x81\x42\xb2\x2c\xcc\x93\x0c\xee\xeb\x82\x6c\xcd\
+\x23\x11\x2a\x25\x58\x9c\x58\x07\xc2\x31\xc4\x13\x49\xba\xe1\x44\
+\x04\xdf\xdd\x79\x8e\xe3\x24\x29\x66\x58\x39\x88\x2c\x4e\x3f\xc4\
+\x2a\x66\xa4\xea\x40\xb3\xb8\x9f\x57\x22\x50\xf8\x8a\x19\x8d\x46\
+\xc3\xa4\x3f\x12\x89\x19\x51\x89\x19\xfe\x4e\x9f\x23\x57\x2b\xc9\
+\x85\x62\x31\xaf\xc7\x9d\x6a\x1f\xcf\x1d\x6c\xb5\x52\x86\x7c\x93\
+\x5a\x9a\xb6\xce\x63\x60\xeb\x10\x5b\xe1\x48\x3c\xff\xbd\x11\x64\
+\xe0\x6c\x17\xe5\xea\x24\x6b\x27\xbe\x73\x4b\xd2\xbd\x2c\x39\xa7\
+\x56\xaf\xd7\x43\xa7\x93\xe6\x3d\x6f\xb1\x58\xd6\xdc\xbe\x62\x16\
+\x33\x2c\xec\x23\x46\x74\x3a\x1d\xef\xaa\x60\xe9\x3c\x99\xc9\xcb\
+\xcb\xcb\xd8\x46\xb5\x24\x66\x52\x70\xb6\x57\x03\xc7\x01\x06\x89\
+\xe5\x70\x2c\x63\xd0\x2a\x78\x87\xcf\xb1\x3c\x2d\xc8\xe4\x66\x82\
+\xcf\x9d\x9b\x8e\xff\xdc\x96\x6d\x9d\x4c\x02\xfe\x30\x95\xb4\x15\
+\x54\xcc\x3c\x14\x8e\x3e\x06\x21\x66\x26\x9d\x42\xb2\x76\x62\x31\
+\x37\x3a\x65\x94\x9e\x98\x91\x2a\x2c\xe6\x26\x65\x31\x23\xe5\xb5\
+\xe7\x2b\xd0\x53\x15\x28\x91\x48\x84\x77\x79\x6c\x29\xaf\xc3\xba\
+\x15\x33\x7c\x3b\xa4\x1b\x34\xca\x8c\x6f\xde\xf8\xd4\x85\xe2\x38\
+\x18\x34\xfc\x9c\x6c\x5f\x28\xf6\x44\x61\xb3\x56\x0e\xbf\x68\xc5\
+\x8c\x96\x85\x98\x59\xb2\xf5\x42\x38\x86\x04\x85\xe6\x08\x2b\x66\
+\x1e\xde\xcb\x2c\xc2\x54\xa5\x2c\xd2\xb3\x18\xcc\x8d\xc4\x8c\x78\
+\x88\xc7\xe3\x88\x44\xf8\x15\x65\x90\xea\xa9\x0c\xab\xb9\x89\x35\
+\xcc\x8c\xc5\x75\x91\x90\x7d\x3a\xa1\x50\x08\xf1\x78\x9c\x99\xe8\
+\x59\xaf\xcf\xe0\xba\x15\x33\x7c\x3f\x94\x52\xde\x55\x65\x31\xbf\
+\x65\xa7\x2f\x1a\x4f\x20\xb4\x18\xe7\x35\x96\x94\xc5\x8c\x56\x25\
+\x87\x92\x67\x5f\x8e\xe5\x7b\x99\xc5\x69\x01\x91\x9a\xad\x59\x38\
+\xda\x52\xbe\xaf\x4d\x0c\x4f\x1c\x89\xb5\x87\x76\xe7\x85\x9f\x9b\
+\x94\x4f\x66\xa4\xec\x44\xb3\x58\xfb\x54\x42\xcd\x56\x12\x8e\xb6\
+\x1e\x9f\xc1\x75\x29\x66\xe2\x89\x24\x02\x3c\xc3\x71\xa4\xec\x88\
+\x00\xfc\x77\x56\x7d\xa1\xe8\xc3\xb8\x77\xfe\x3b\xd8\x26\xad\xb4\
+\x6d\xcd\xf7\x5e\x7a\x14\xfa\x44\xce\x9f\xe0\xb0\x0c\x33\xa3\xf0\
+\xc9\xd4\x84\x23\x41\x0e\xad\xe8\x9d\x1b\x99\x0c\x1a\x8d\x86\xc4\
+\xcc\x13\xd0\x68\x34\x4c\xfa\xb1\x88\x15\x16\xf7\x75\x2a\x42\x85\
+\xc5\xc9\x0c\x89\x19\x89\x89\x99\x40\x24\x06\xbe\xc1\x38\x52\x6a\
+\x74\xf7\x64\x31\xc3\x6f\x7e\xf1\x44\x12\xe1\xc5\x38\xef\x70\x3e\
+\x40\xba\xb9\x49\x8f\x6c\xcd\xf3\x5e\x5a\x78\x18\xd2\xe7\x0f\x51\
+\xbe\x8c\xd0\x2c\xdb\x7a\x81\x81\xad\xa5\xbc\x21\x92\xc5\xe0\xfd\
+\x28\xf6\xfb\x99\x85\x83\x96\x29\x4e\x5e\x28\x14\x22\x31\xf3\x1c\
+\xb4\x5a\xed\x9a\xdb\x58\x8c\x6b\xcf\xd7\x2e\xeb\x41\xcc\xa4\x22\
+\x18\xe9\x64\x86\xc4\xcc\x6f\xdf\x7c\x2a\xfe\x1f\x90\x60\x24\x2e\
+\xe9\xc5\xe2\x3b\x3f\x8e\x5b\xaa\x42\xc6\xa2\xbc\x2a\xdf\x30\x35\
+\xd1\x3b\x0a\x3c\xe7\xa7\x7d\x78\x3f\xeb\xd4\x72\x10\xc2\xa2\x54\
+\x3c\x7c\x8d\x31\x48\x97\x53\x29\xa4\x5b\x55\x46\x26\xe3\x3f\x37\
+\xb1\xa7\x24\x9a\xcd\x66\xe4\xe6\xe6\xf2\x98\x1f\x87\xf2\xf2\xf2\
+\x8c\x58\x4f\xb5\x9a\x7f\x35\x49\xbe\x39\x37\x62\x87\xef\xfc\x58\
+\xd8\x58\x08\xf8\xf6\xbe\xa1\x75\x7f\x3e\x89\x44\xe2\xb9\x3f\x93\
+\x4a\x5e\xcd\x7a\xdf\x50\x58\x77\x62\x46\x21\x97\x3d\x72\x00\x57\
+\x8b\xd4\xf3\x13\xf8\xce\x2f\x8b\x61\x81\x04\xa9\x87\x4f\xf1\x6d\
+\xbe\xb8\xbc\xc3\x2f\xf5\xd0\x47\x31\xc0\x62\x23\x84\x90\x0e\xcd\
+\xcd\xcd\xab\xea\x68\xcf\x71\x1c\xea\xea\xea\x60\x34\x1a\x33\x62\
+\x9e\x52\xce\x09\x61\x41\x32\x99\xe4\x7d\x82\x21\xd6\x5d\x73\x16\
+\x09\xee\xc9\xa4\x74\x0b\xd3\x88\xb5\x70\xc3\xd3\xde\x3b\x04\x03\
+\x0d\x21\xa6\x8b\x31\xea\x94\xbc\x76\xc4\xa5\xee\x60\xf3\xaf\x40\
+\xa6\x10\xcd\xb5\x88\x99\x68\x3c\x81\x30\xef\x02\x09\x4b\xb6\x36\
+\x6a\x49\xcc\x08\x2e\x66\xd4\x0a\x32\x02\xf1\x88\xf2\xf2\x72\x14\
+\x17\x17\x63\x70\x70\x30\x65\x67\x5d\xa1\x50\xa0\xac\xac\x2c\x63\
+\x84\x0c\x89\x99\xd4\x1c\x5a\xbe\x0e\xbb\x58\x77\xcd\xf9\xae\xfd\
+\xb2\xd0\x93\xea\xa9\x80\x94\xef\x6b\x22\x03\xc4\x8c\x49\xa7\xc4\
+\xf4\x83\xf0\xaa\x7f\xdf\x1f\x5a\xca\xbb\x91\xa2\xce\x4d\x82\x7f\
+\xbc\x3a\xcb\x53\x02\xaf\x84\x4f\xc1\x58\x08\xb5\xe5\xca\x51\x59\
+\x5a\x05\xb8\x87\xeb\x47\x08\x25\x66\xe8\x64\x86\xf8\x26\x2a\x95\
+\x0a\xb5\xb5\xb5\x92\x9e\xa3\x52\xa9\x84\x52\xa9\xe4\xd5\xe7\x22\
+\x93\x76\xb0\xd7\x62\x6e\x52\x3d\x99\x59\x76\xf8\x49\xcc\x10\x52\
+\x41\x54\xa5\x99\xf9\xee\x62\xb3\xa8\x88\x26\xda\x87\x93\x41\x77\
+\x73\x96\xa7\x04\xfe\xa0\x74\x13\xdb\x59\xf6\x2b\x91\xcb\x38\xe8\
+\x35\x74\x72\x40\x62\x86\x20\xc4\xe7\xd4\x4a\xd9\xe9\x93\x72\xe9\
+\x6a\x3a\x95\x5b\xbf\x22\x9d\xc8\x04\x31\xc3\xe0\xe4\x80\xcf\xc9\
+\x8e\x98\x61\x31\x2f\x13\xc3\x93\x99\x40\x24\x86\x05\x89\x0a\xc7\
+\x69\x6f\x98\xe9\xbd\x6c\xa2\xbc\x19\x41\xc9\xcb\x52\x93\x11\x08\
+\x12\x33\xab\x60\x61\x61\x81\x77\x07\x73\xb1\x32\x3f\x3f\xcf\x7b\
+\x0c\xb1\x9e\x5c\xb0\xb8\x2e\x16\xf6\x11\x23\xd1\x68\x94\x49\xc9\
+\x64\x82\xc4\x0c\x0f\x67\x9b\xff\x0e\x76\xef\xb8\x57\x92\x0b\xc5\
+\x62\x5e\xac\x93\xd1\xc9\xd6\xa9\xd9\x9a\x8a\x00\x08\x47\x41\xb6\
+\x06\x0d\x25\xd9\x64\x08\x62\x5d\xc2\xd7\xa9\x4d\x24\x12\x18\x1b\
+\x1b\x93\xa4\x6d\x86\x87\x87\xd7\x5c\x2c\x8a\x55\xc4\x02\xc0\xc8\
+\xc8\x88\x24\xd7\x7d\x6c\x6c\x2c\xa5\x4a\x64\x84\xb4\x10\x57\x01\
+\x00\x06\x61\x50\x3d\x63\x3e\x1c\xdd\x52\x28\xb9\x85\xea\x19\xf3\
+\x89\xc2\xbe\xdf\x70\xfa\xc7\xbc\x68\xad\xc8\x95\x94\x9d\x17\x63\
+\x09\xdc\x99\xe4\x5f\x3b\xfe\xf1\xa6\xa2\x2c\xec\x2e\x97\x71\xbf\
+\x29\x41\x4c\x40\x25\x97\xa1\xa1\xc4\x84\x9d\x35\x79\xa0\x62\x30\
+\xc4\x7a\x85\x85\x53\x3b\x3c\x3c\x8c\xb2\xb2\x32\x49\xd9\x25\x18\
+\x0c\x62\x7a\x7a\x9a\xc4\xcc\x33\x98\x9a\x9a\x42\x28\x14\x92\x5c\
+\xcf\x19\xa9\x8a\x34\x22\x83\xc4\x8c\xd9\xa0\xe2\x3d\xc6\xac\x3f\
+\x82\xa9\x07\x61\x58\xb3\x35\x92\x59\xa4\xa9\x07\x61\xcc\xfa\x23\
+\xa2\xb0\xef\xe3\xdc\x99\x5c\xc0\x62\x2c\x01\x95\x84\x9c\xec\xfe\
+\x49\x3f\x62\x71\x7e\xbb\x3a\x1c\x80\x6c\xbd\xf2\x31\xbb\xf3\x17\
+\x33\x26\x9d\x12\xff\xf1\x78\x2d\xc8\x6f\x27\x08\x62\x99\xac\xac\
+\x2c\xde\x63\x8c\x8e\x8e\x22\x91\x48\x40\x26\x93\xce\x7b\x7c\x64\
+\x64\x84\x77\x25\x33\xa5\x52\x09\x8d\x46\x9c\x7e\x84\x46\xa3\xe1\
+\x5d\xfc\x21\x99\x4c\x62\x74\x74\x14\xd5\xd5\xd5\x92\x59\xf7\x64\
+\x32\x49\x62\x66\x9d\x22\xaa\xb7\x57\x61\xae\x96\x49\xb2\x74\xcf\
+\x98\xb4\xc2\x9f\x58\xcc\xc7\xa8\x55\xc2\x6a\x66\xfb\x62\x8e\xc6\
+\x13\xb8\x33\x29\xad\xd8\xd4\x5e\x06\xb6\x2e\xb6\xe8\xa1\x79\xac\
+\xf7\x49\x95\x9d\x7f\xb9\xd7\xb9\x85\x45\xc9\xd9\x9a\x20\x08\x7e\
+\x38\x1c\x0e\xde\x63\x44\x22\x11\x4c\x4e\x4e\x4a\xca\x2e\x2c\x1c\
+\xda\xa2\xa2\x22\x51\xcf\x91\xc5\xf5\xb1\x08\xc5\x13\x13\x93\x93\
+\x93\x92\x6f\x08\x4a\x64\x80\x98\x91\x71\x1c\xea\x1c\xfc\x1d\xbf\
+\x6b\xc3\x0f\x24\x53\x0a\x37\xf9\x70\x3e\x7c\xa9\x2b\x36\x0a\xb2\
+\xab\xcf\xe2\xda\xc4\xc2\x62\x2c\xc1\x24\x5f\xa6\xbe\xd8\xf4\x4d\
+\x87\xc3\xa2\x63\x12\x6a\xd6\xd5\x3f\x4b\x6f\x2c\x82\x20\x1e\x91\
+\x9d\x9d\x0d\xb3\xd9\xcc\x7b\x9c\xc1\xc1\x41\xc9\xd8\x24\x1c\x0e\
+\x63\x7c\x7c\x9c\xf7\x38\x2e\x97\x4b\xd4\xf3\x64\x71\x7d\xe3\xe3\
+\xe3\x92\x72\xfe\xa5\x74\x1f\x13\x19\x2c\x66\x96\x1c\x41\xfe\xc9\
+\xbc\xee\xf9\x10\xae\x8f\x48\xc3\xc9\xbe\x36\x3c\x0f\xf7\x7c\x88\
+\x81\x5d\x4d\xc2\x5c\xdf\xc8\x3c\x26\xe7\x42\x92\xb0\xf5\xf9\x5b\
+\x33\x08\x46\xe2\xbc\xc7\x69\x28\xf9\xa6\xad\xb9\x87\x62\x92\x2f\
+\xbd\xe3\x5e\xde\xbd\x86\x08\x82\x90\x16\xa5\xa5\xa5\xbc\xc7\xe8\
+\xeb\xeb\x83\xd7\x2b\x8d\x88\x86\xcb\x97\x2f\x23\x1e\xe7\xf7\x1e\
+\xe7\x38\x0e\x4e\xa7\x53\xd4\xf3\x74\x3a\x9d\xbc\xbb\xc7\xc7\x62\
+\x31\x5c\xb9\x72\x45\x12\xeb\xee\xf3\xf9\x70\xfb\xf6\x6d\x7a\x21\
+\x90\x98\x11\x07\x55\x76\x03\x93\x1c\x8c\x53\x57\xdd\xbc\xfb\xb2\
+\xac\x35\xf1\x44\x12\xa7\xae\xba\x79\x8f\xa3\x56\xca\x50\x61\xcb\
+\x12\xe4\x1a\x93\x49\xe0\xc4\xe5\xcc\x0f\x51\x08\x84\x63\x38\x7b\
+\xd3\xc3\x7b\x9c\x02\x93\x06\x16\xa3\x5a\x10\x31\x19\x4f\x24\x71\
+\xe6\xe6\x34\x08\x82\x20\x96\x61\xb1\x43\x9f\x48\x24\xf0\xd5\x57\
+\x5f\x49\xc2\xa1\xed\xe9\xe9\xe1\x3d\x8e\xcd\x66\x13\x6d\xbe\xcc\
+\x32\x1a\x8d\x06\x56\xab\x95\xf7\x38\x37\x6f\xde\x94\x44\x29\xe3\
+\xaf\xbe\xfa\x8a\xaa\x98\xad\x63\x44\xd7\xcd\x4f\x21\x97\xa1\xba\
+\xd0\x88\x1b\xa3\xfc\x4e\x56\xee\xfb\x22\xe8\xba\x33\x8b\x1d\xd5\
+\x79\x19\xbb\x38\x9d\x7d\xf7\x31\xeb\x5f\xe4\x3d\x4e\x4d\xa1\x11\
+\x72\x99\x70\xa9\xe3\xfd\x93\x7e\xf4\x4f\xfa\x51\x65\xcf\xca\x58\
+\x5b\x9f\xbe\x3e\x8d\x70\x94\xff\xa9\x4c\x7d\xc9\x93\x45\x4b\x85\
+\x2d\x0b\x6a\xa5\x0c\x91\x28\xbf\x97\xed\x97\x7d\xf7\xd1\x5a\x91\
+\x0b\x9b\x39\x73\x0b\x5c\x0c\xb8\xfd\x38\x7d\x7d\x1a\xee\xf9\x10\
+\x56\xb2\xdf\x20\x97\x71\x28\xcc\xd1\xe2\xc8\x66\x3b\x0a\x73\xa4\
+\x55\x81\x87\x20\x56\x4b\x7e\x7e\x3e\x0c\x06\x03\x16\x16\xf8\x55\
+\x61\x1c\x1c\x1c\x44\x53\x53\x13\x2c\x16\xcb\xba\x77\x68\xc5\x1e\
+\x62\xf6\xf8\x75\xba\xdd\xfc\x36\x3c\xe3\xf1\x38\xba\xba\xba\xb0\
+\x7f\xff\xfe\x8c\x5d\xf7\x99\x99\x19\x0c\x0c\x0c\xd0\xcb\x60\x1d\
+\x23\xca\xf2\x25\xac\x42\xa2\x4e\x5f\x9f\xe2\xed\x3c\xae\x15\xe1\
+\xc5\x38\x4e\x5f\x9f\x16\x95\x3d\x9f\xc5\x89\xcb\x93\x48\x66\xe8\
+\x41\xd8\xac\x7f\x11\x9d\xfd\xf7\x05\xb5\xb5\x5c\xc6\xa1\xa6\x90\
+\x7f\xa8\x59\x22\x91\xc4\xaf\xbb\xc6\x91\xa9\xdc\x99\xf4\xe3\x67\
+\x9f\x0e\xe1\xee\xd4\x02\x82\x91\x38\xc2\x8b\xa9\xff\x13\x08\xc7\
+\x70\x67\xd2\x8f\x9f\x7e\x3c\x88\x40\x84\xc2\xed\x08\x62\x19\x56\
+\x21\x51\x17\x2f\x5e\xcc\x58\x1b\x78\x3c\x1e\x66\x0e\x6d\x26\x89\
+\x19\x16\x0c\x0c\x0c\xc0\xe3\xf1\x64\xec\xda\x67\xf2\x7d\x4b\x48\
+\x58\xcc\xd4\x3a\xd8\x9c\x24\xf8\x43\x31\x9c\xbc\x92\x99\x21\x50\
+\xef\x77\x4f\x30\x71\xd8\xe4\x32\x0e\x35\x45\x46\xc1\xaf\x77\x72\
+\x2e\x84\xcf\x7b\x33\xef\x65\x98\x48\x26\xf1\xce\xc5\x71\x26\x21\
+\x89\x26\x9d\x12\x8e\xbc\xa7\x37\xb1\xab\x63\x24\x2a\x87\xa6\x03\
+\xb8\x7c\x77\x2e\xe3\x6c\x7d\xdf\x17\xc1\xff\x3e\x37\x82\x58\x9c\
+\x9f\xad\x43\x8b\x71\xf4\x32\xe8\xbb\x44\x10\x52\x81\x45\xde\x0c\
+\x00\xdc\xbb\x77\x0f\xfd\xfd\xfd\x19\x37\xff\x78\x3c\x8e\xcf\x3f\
+\xff\x9c\xc9\x58\xb9\xb9\xb9\x30\x1a\x8d\x19\x31\x6f\x93\xc9\x84\
+\x9c\x9c\x1c\x26\x63\x9d\x3f\x7f\x9e\x77\xae\xd1\x5a\x70\xe7\xce\
+\x1d\xdc\xbb\x77\x8f\x5e\x02\x24\x66\xc4\x87\x56\x25\x47\x99\xd5\
+\xc0\x64\xac\x2f\xfb\xee\xa3\xeb\x4e\x66\x55\x81\xba\x70\x7b\x06\
+\x97\x06\xd8\x38\xab\x65\x56\xc3\x37\xca\x04\x0b\xc9\xc9\x2b\x6e\
+\xf4\x4f\x64\x56\xec\xed\xc9\xcb\x6e\xf4\x33\x2a\x79\x5c\x5f\x6c\
+\x7a\x66\xc5\xb8\x9a\x22\x76\xe1\x7e\xbf\xee\xba\xc7\xa4\x30\x44\
+\xba\x08\x47\xe3\xf8\xf9\x99\x61\x84\x16\xd9\x7c\x2c\x15\x72\xea\
+\xb8\x43\x10\xcb\xd8\xed\x76\xa8\xd5\x6a\x26\x63\x9d\x3b\x77\x8e\
+\x49\xc3\xc9\x74\xf2\xd9\x67\x9f\x61\x66\x66\x86\xc9\x58\x99\x72\
+\x2a\xc3\xfa\x7a\x3d\x1e\x0f\xce\x9d\x3b\x97\x51\x73\xf7\x78\x3c\
+\x38\x7b\xf6\x2c\xbd\x00\x08\x88\xb6\x4b\xd6\xee\x5a\x76\x71\xbb\
+\xbf\xee\xba\x87\xbb\x53\x0b\x19\xb1\x20\x77\x26\xfd\xf8\xe0\x12\
+\xbb\xd3\xa4\x17\xea\xd2\x17\xff\x9c\x48\x26\xf1\x2f\x9f\x8f\x60\
+\xc6\x97\x19\xa5\x1e\x2f\xdf\x9d\xc3\x39\x46\xa7\x49\x32\x8e\x7b\
+\x6e\x7e\x96\x56\x25\xc7\x96\x72\x36\xbb\x68\x91\x68\x02\xff\xf3\
+\xd3\xe1\x8c\xa8\x6e\x96\x04\xf0\x7f\xce\x8f\x62\xda\x1b\x66\x32\
+\x9e\x4a\x21\x43\x85\xcd\x00\x82\x20\x1e\xbe\x7f\x64\x32\x34\x34\
+\x34\x30\x19\x2b\x1e\x8f\xe3\xd4\xa9\x53\x08\x04\x02\x19\x31\xf7\
+\x2b\x57\xae\x30\x0b\x2f\x53\x28\x14\xa8\xab\xab\xcb\xa8\xb5\xaf\
+\xab\xab\x83\x5c\xce\x66\xc3\xb2\xbf\xbf\x1f\xd7\xaf\x5f\xcf\x88\
+\x79\x07\x83\x41\x9c\x3a\x75\x2a\x23\x4f\x93\x88\x75\x24\x66\x6a\
+\x8a\x8c\xcc\x4e\x67\xe2\x89\x24\xfe\xd7\xb9\x11\xcc\x2d\x2c\x8a\
+\x7a\x31\x66\x1e\x86\xe1\x24\x18\x25\x9f\x94\x5b\x0d\xa8\x2e\x4c\
+\xef\x71\x79\x68\x31\x8e\x9f\x9f\x19\x42\x78\x51\xdc\x2f\x98\xd1\
+\x99\x00\xde\xea\x64\x97\x7b\xb2\xa5\x3c\x07\x05\xd9\xcf\x4f\xca\
+\x3f\xd0\x64\x65\x52\xad\x0f\x00\xe6\x03\x8b\xf8\xf9\x67\x43\x88\
+\xc5\xc5\x9d\x17\x76\xea\xaa\x1b\xbd\xe3\xec\xc2\xc2\x76\x54\xe7\
+\x21\x8b\x41\xdf\x1e\x82\x90\x12\x4d\x4d\x4d\xd0\x6a\xd9\x14\xc6\
+\x08\x06\x83\xf8\xe8\xa3\x8f\x10\x8b\x89\x7b\xb3\x64\x78\x78\x98\
+\x69\x15\xb6\x0d\x1b\x36\x40\xaf\xd7\x67\xd4\xba\x1b\x0c\x06\x66\
+\x42\x16\x00\x3a\x3b\x3b\x99\xf4\xe9\x11\x92\x4c\x13\xdc\xc4\x3a\
+\x16\x33\x00\x70\xa4\xd9\xce\x6c\xac\x40\x38\x86\x9f\x9d\x1e\xc2\
+\xbc\x48\x05\xcd\xac\x3f\x82\x9f\x7d\x3a\xc4\x2c\x0c\x87\x03\x70\
+\x64\xb3\x7d\x4d\xe6\xe2\xf1\x46\xf0\x8b\xcf\x86\x45\x2b\x68\xdc\
+\xf3\x21\xfc\xe2\x33\xfe\xb9\x1b\xcb\x28\xe5\x32\x1c\x68\x4a\xad\
+\x44\xa6\x51\x13\x45\x30\x4c\x00\x00\x14\xec\x49\x44\x41\x54\xab\
+\x64\x7a\x5a\x36\x36\x13\xc4\xcf\xcf\x0c\x8b\xb6\xd0\xc5\xd7\x43\
+\xf3\x38\x73\x83\x5d\xc8\x8a\x5a\x29\x43\x7b\x43\x3e\xbd\xb9\x09\
+\xe2\xdb\xef\x21\xa5\x12\xcd\xcd\xcd\xcc\xc6\x9b\x99\x99\xc1\x27\
+\x9f\x7c\x82\x68\x34\x2a\xca\xf9\x4e\x4c\x4c\xe0\xd3\x4f\x3f\x65\
+\x36\x9e\x46\xa3\xc1\xa6\x4d\x9b\x32\x72\xed\x9b\x9b\x9b\x99\x85\
+\x19\x26\x93\x49\x7c\xf2\xc9\x27\xa2\x0d\x35\x8c\xc7\xe3\x38\x7d\
+\xfa\x74\xc6\x85\x42\x12\xeb\x58\xcc\x14\x5b\x74\xd8\x50\x92\xcd\
+\x6c\xbc\x69\x6f\x18\x7f\x7b\xe2\x0e\x86\xa7\xc5\xa5\xe6\x07\xa7\
+\x16\xf0\x77\x27\x06\x70\x9f\x61\x78\x56\xa3\x2b\xfb\x99\xc9\xe8\
+\x69\x99\xd3\x49\xb6\x73\x62\x41\xcf\x98\x17\x7f\x7f\x72\x00\xfe\
+\x10\xbb\x0f\xf4\xae\xda\x3c\x98\x74\xa9\x9f\x14\xb4\xd7\x17\xc0\
+\xa0\x61\x57\x15\xbd\x7f\xd2\x8f\x7f\x38\xc5\x76\x4e\x7c\x49\x24\
+\x93\xf8\xe8\xaa\x1b\xbf\x3a\x3f\xca\x74\xdc\x17\x6a\xf3\xa1\x57\
+\x8b\xae\xa2\x3c\x41\x88\x82\xfa\xfa\x7a\xa6\xc9\xeb\x23\x23\x23\
+\x78\xf7\xdd\x77\x79\x97\x7d\x66\xfe\x1e\xef\xe9\xc1\x87\x1f\x7e\
+\xc8\x54\x68\x35\x37\x37\x43\xa5\x52\x65\xe4\xba\xab\xd5\x6a\xa6\
+\x42\x36\x12\x89\xe0\xbd\xf7\xde\x13\x5d\x31\x88\x40\x20\x80\x77\
+\xdf\x7d\x17\x43\x43\x43\xf4\xb0\x13\x99\x23\x66\x00\xe0\x50\xb3\
+\x0d\x32\x86\x3d\x52\x16\xc2\x31\xfc\xf4\xdf\x06\x99\x25\xd8\xf3\
+\xa5\xb3\xef\x3e\xfe\xe9\x93\xbb\x4c\x4b\xcd\xca\x65\x1c\x0e\x6d\
+\xb2\xad\xf9\xdc\x3c\x0f\xc5\xe3\x9d\x49\x71\x14\x05\xf8\xf4\xc6\
+\x34\xfe\xf9\xb3\x61\x2c\xc6\xd8\x9d\x62\x68\x55\x72\xec\x69\x28\
+\x58\xd9\x87\x47\x29\xc3\xfe\xc6\x02\xa6\x73\x9b\x98\x0b\xe1\xef\
+\x4f\x0e\xc0\xc3\x28\x2f\x85\x0f\xde\x60\x14\x3f\xfd\x78\x10\x67\
+\x6e\x4c\x83\x65\xb5\x6e\xad\x4a\x9e\xd6\x1c\x30\x82\xc8\xb8\x0f\
+\xba\x4c\x86\xd6\xd6\x56\xa6\x63\xde\xbf\x7f\x1f\x6f\xbd\xf5\x16\
+\xef\x7e\x26\x2c\x48\x24\x12\xf8\xfc\xf3\xcf\x71\xfe\xfc\x79\xa6\
+\x0d\x12\x8d\x46\x23\xd3\x50\xad\xb5\xa0\xa1\xa1\x01\x06\x03\xbb\
+\x5c\xc2\x78\x3c\x8e\x33\x67\xce\xa0\xb3\xb3\x13\x49\x11\xf4\x5d\
+\xf0\x78\x3c\x78\xfb\xed\xb7\x33\xba\x84\x34\xb1\x8e\xc5\x8c\xc5\
+\xa8\x46\x6b\x45\x0e\xd3\x31\xe3\x89\x24\xfe\xf5\xcb\x31\xbc\x7f\
+\x69\x82\x59\xa8\xd1\x4a\x89\xc6\x13\x78\xa7\xeb\x1e\xde\xe9\xba\
+\x87\x44\x82\xed\x35\x6c\xab\xca\x43\x6e\x96\x5a\x14\xeb\x17\x5a\
+\x8c\xe3\x7f\x7c\x3a\x84\x0b\xb7\x66\xb0\x56\xaf\xc3\x48\x34\x81\
+\x5f\x7e\x3e\x8a\x53\x57\xdd\xcc\xaf\x61\xdf\x86\x02\x68\x57\x51\
+\x2d\x4e\x88\x35\x9a\x5b\x58\xc4\xdf\x9e\xb8\x83\xf3\xbd\x33\xcc\
+\xf2\xae\x56\x4a\xdf\x84\x0f\xff\xf5\x83\x7e\x0c\x09\x70\xfa\xb9\
+\xa7\x21\x3f\x6d\x95\xf9\x08\x22\x53\xa9\xa8\xa8\x40\x5e\x1e\xdb\
+\x66\xd1\xa1\x50\x08\xef\xbf\xff\x3e\x6e\xdd\xba\xb5\x66\xf3\x0a\
+\x06\x83\xf8\xf0\xc3\x0f\xd1\xdb\xdb\xcb\x7c\xec\xd6\xd6\x56\xc8\
+\x64\xb2\x8c\x5e\x77\xb9\x5c\xce\x5c\xc8\x02\xc0\xb5\x6b\xd7\x70\
+\xf2\xe4\x49\x84\xc3\x6b\xb7\x51\xd6\xdf\xdf\x8f\x77\xdf\x7d\x97\
+\x72\x64\x88\xcc\x15\x33\x00\xf0\xe2\x46\x76\x49\xd3\x8f\x73\xfe\
+\xd6\x0c\xfe\xcb\xaf\x6f\xa3\x7b\x70\x2e\x6d\x0d\x1f\x13\xc9\x24\
+\x2e\x0d\xcc\xe1\x3f\xbf\x73\x1b\x9d\x7d\xf7\x99\x8f\x2f\xc4\xae\
+\x3f\xef\x39\x27\x92\x78\xef\xd2\x04\xfe\xe6\x83\xfe\xb4\x9e\xd2\
+\xc4\x13\x49\x7c\x71\x7b\x06\xff\xe9\x9d\x5b\xf8\x7a\x78\x9e\xf9\
+\xf8\xd9\x7a\x25\x76\xd6\xac\xce\x69\x10\xea\xf4\x2c\x12\x4d\xe0\
+\xfd\xee\x09\xfc\xdd\x89\x3b\xb8\x37\x1b\x4c\xab\xad\x4f\x5c\x9e\
+\xc4\xcf\x4e\x0f\x21\x10\x66\x9f\x34\xec\xc8\xd3\xe1\x85\x3a\xca\
+\x95\x21\x88\x54\xd8\xb6\x6d\x9b\x00\xef\xf1\x04\xce\x9d\x3b\x87\
+\xb7\xdf\x7e\x1b\x13\x13\x13\x69\x9b\x4b\x34\x1a\x45\x77\x77\x37\
+\x7e\xf5\xab\x5f\x09\xf2\x77\x2d\x16\x0b\x2a\x2a\x2a\x24\xb1\xee\
+\x95\x95\x95\xc8\xcd\xcd\x65\x3e\xee\xd8\xd8\x18\x7e\xf9\xcb\x5f\
+\xe2\xea\xd5\xab\x69\x2d\x0a\x31\x35\x35\x85\x77\xdf\x7d\x17\x67\
+\xce\x9c\xa1\xaa\x65\xc4\x33\xc9\x88\xe0\x73\xa3\x56\x89\x3d\x0d\
+\x05\xf8\xf8\x6b\xf6\xc7\xdc\xf3\x81\x45\xfc\xbf\x2f\xc6\xf0\x79\
+\xaf\x07\x87\x9b\xed\x82\x36\x98\xbc\x35\xee\xc3\xc9\x2b\x93\x98\
+\x7a\x20\xdc\x0e\xc7\x8b\x8d\x56\xa6\xf9\x18\x2c\x99\x98\x0b\xe1\
+\x9f\x3e\xb9\x8b\x2a\x7b\x16\x0e\x6f\xb6\xa3\x30\x47\x2b\xc8\xdf\
+\x49\x02\xb8\x36\x3c\x8f\x53\x57\xdd\x98\xf5\x0b\x57\xf0\xe1\x48\
+\xb3\x1d\x0a\xf9\xea\x45\x76\xa3\x2b\x1b\x5f\xf4\xe9\x05\xc9\xe1\
+\xba\x37\x1b\xc2\xdf\x9d\x18\xc0\xe6\x72\x33\x76\xd7\xe6\xc3\x66\
+\xd6\x08\x62\x83\xf9\x85\x45\x74\xdd\x99\xc5\x57\x03\xb3\x82\x95\
+\x89\x56\x29\x64\xf8\xee\xee\x12\x66\x3d\x7a\x08\x42\xea\x38\x1c\
+\x0e\x94\x94\x94\x60\x74\x74\x94\xf9\xd8\x1e\x8f\x07\xef\xbf\xff\
+\x3e\x8a\x8b\x8b\xb1\x75\xeb\x56\xe6\xa7\x40\x8f\x8b\xa7\x5b\xb7\
+\x6e\xa1\xbb\xbb\x1b\xa1\x90\x30\x3d\xb5\x38\x8e\xc3\x8e\x1d\x3b\
+\x24\xb3\xee\xcb\xf3\xf9\xe0\x83\x0f\x98\x8f\xbd\xb8\xb8\x88\xae\
+\xae\x2e\xdc\xbc\x79\x13\x2d\x2d\x2d\xa8\xae\xae\x06\xc7\x09\xf3\
+\x4e\x9e\x9f\x9f\x47\x57\x57\x17\x86\x87\x87\xe9\x61\x26\xa4\x23\
+\x66\x00\x60\x5f\x63\x01\xee\xcd\x06\xd1\x33\xe6\x15\x64\x7c\xf7\
+\x7c\x18\x3f\xfb\x74\x08\xce\x7c\x3d\x36\x95\x9a\x51\xef\x30\xc1\
+\xa4\xe7\x5f\xfe\xd5\x1b\x88\xa2\x67\xdc\x8b\xab\x43\xf3\x18\xf1\
+\x08\x7b\x44\xda\xe8\xcc\xc6\x0b\xf5\xe2\xdf\xbd\xee\x9f\xf4\xe3\
+\xce\x07\xfd\x68\x28\xc9\x46\xa3\x2b\x1b\x35\x85\x46\xa8\x95\xfc\
+\x4f\xde\xe6\x16\x16\xd1\x3b\xe6\x45\xf7\xe0\x1c\x26\xe6\x84\x6d\
+\x28\xb9\xab\xd6\x82\xa6\x52\x33\xbf\x0f\x0f\x80\x37\xda\x9c\xf8\
+\x9b\x13\x77\xe0\x0d\xb0\x4f\xde\x5f\x3e\x05\xbc\x34\x30\x87\x72\
+\x9b\x01\xbb\x6b\x2d\xa8\x2d\x32\x81\xef\xf7\x27\x99\x5c\x0a\x27\
+\xeb\xec\xbf\x8f\xdb\xf7\x7c\x82\x9f\x6a\xbe\xd2\x5a\x84\x3c\xa3\
+\x1a\x04\x41\xac\xe0\x9b\xb9\x6f\x1f\xde\x79\xe7\x1d\x3c\x78\xf0\
+\x40\x90\xf1\xc7\xc6\xc6\x30\x3e\x3e\x0e\x97\xcb\x85\xb2\xb2\x32\
+\x94\x94\x94\x30\x49\xa0\x9f\x9b\x9b\xc3\xf0\xf0\x30\xfa\xfa\xfa\
+\xe0\xf5\x7a\x05\xb5\xd1\xb6\x6d\xdb\x60\xb7\xdb\x25\xb5\xee\x45\
+\x45\x45\x68\x6d\x6d\x65\x5a\xb2\xfa\x71\x02\x81\x00\xce\x9e\x3d\
+\x8b\x6b\xd7\xae\xa1\xa6\xa6\x06\x2e\x97\x0b\x26\x93\x89\xf7\xb8\
+\xb1\x58\x0c\x63\x63\x63\xb8\x7b\xf7\x2e\x06\x07\x07\x45\x91\xa7\
+\x43\x90\x98\x61\xbf\xe3\x00\xe0\x3b\xbb\x4a\xf0\xdf\x3e\x1a\x10\
+\xb4\xf3\xf9\x88\x27\x80\x11\x4f\x00\xbf\xee\xba\x87\xa2\x5c\x1d\
+\xea\x8b\x4d\xa8\x2f\x36\xa2\x20\x5b\x03\x59\x0a\x5e\x60\x22\x99\
+\xc4\xf4\x83\x30\x7a\xc6\x7c\xe8\x19\xf3\xa6\x2d\xd4\xa7\x30\x47\
+\x8b\xdf\xdd\x59\x8c\x4c\xd9\xbb\x4e\x02\xb8\x31\xfa\x00\x37\x46\
+\x1f\x40\x2e\xe3\x50\x61\xcb\x42\x5d\xb1\x11\x75\x0e\x53\xca\x95\
+\xc1\x92\x00\x26\x66\x43\xe8\x1d\xf3\xa2\x67\xdc\x8b\x49\x81\x05\
+\xcc\x32\x55\xf6\x2c\x1c\xdd\xc2\xe6\x03\x98\xa5\x55\xe2\x7b\x7b\
+\x4a\xf1\x0f\xa7\x06\x98\x16\x26\xf8\x36\x83\xee\x05\x0c\xba\x17\
+\x60\xd0\x28\x50\x6e\x35\xa0\xcc\x66\x40\xb9\xd5\x80\x7c\xd3\xf3\
+\x4f\x6c\xc2\x8b\x71\xcc\x2e\x2c\x62\x6e\x61\x11\xee\xb9\x10\xba\
+\x07\xe7\xd2\xd6\xb3\x69\xa3\x33\x1b\x2d\x8c\x73\xe6\x08\x62\x3d\
+\xa0\x56\xab\x71\xe8\xd0\x21\xbc\xf3\xce\x3b\x88\x44\x84\xa9\x2a\
+\x99\x4c\x26\x31\x34\x34\x84\xa1\xa1\x21\xc8\x64\x32\x14\x16\x16\
+\xc2\xe5\x72\xa1\xa4\xa4\x04\x59\x59\x59\xa9\x6d\xba\x24\x12\x98\
+\x9a\x9a\xc2\xf0\xf0\x30\x86\x87\x87\xe1\xf3\xf9\xd2\x62\x9f\xaa\
+\xaa\x2a\x6c\xdc\xb8\x51\x92\x6b\xdf\xdc\xdc\x8c\xb9\xb9\x39\x66\
+\xcd\x44\x9f\xc4\xfc\xfc\x3c\x3a\x3b\x3b\xd1\xd9\xd9\x09\xb3\xd9\
+\x0c\x97\xcb\x05\x97\xcb\x85\xfc\xfc\xfc\x94\x4f\x6c\x82\xc1\x20\
+\x46\x47\x47\x31\x3c\x3c\x8c\xf1\xf1\x71\x0a\x25\x23\xa4\x2f\x66\
+\x80\xa5\x7c\x90\xef\xef\x75\xe1\x6f\x4f\xdc\xc1\x42\x58\xf8\xb8\
+\xcd\x7b\xb3\x41\xdc\x9b\x0d\xe2\xe3\xaf\xdd\x90\x71\x1c\x0c\x1a\
+\x05\x8c\x3a\x25\x8c\x3a\x05\x8c\x5a\x25\xf4\x1a\x05\x02\xe1\x18\
+\x7c\xa1\x28\x7c\xc1\x18\x7c\xc1\x28\x16\xc2\xb1\xb4\x27\x5f\x67\
+\x69\x15\xf8\xde\xde\x52\x41\xf2\x8a\xd2\x41\x3c\x91\x44\xdf\x84\
+\x0f\x7d\x13\x3e\xbc\x73\xf1\x1e\xd4\x4a\x19\xb2\xb4\x4a\x98\x74\
+\x4a\x18\xb5\x4b\xf6\xd6\x28\xe5\x58\x08\xc7\xe0\x0d\x46\x1f\xda\
+\x3b\x0a\x7f\x28\x86\x78\x22\xbd\xb6\xce\x37\xa9\xf1\x07\x6d\xce\
+\x94\x84\x6d\xaa\x14\xe5\x6a\xf1\xfa\xce\x62\xfc\xcb\xb9\x11\xc1\
+\xaf\x7f\x21\x1c\xc3\xb5\x91\x07\xb8\x36\xb2\xb4\x5b\x6b\xd0\x28\
+\x90\xad\x5f\xba\x97\x0d\x1a\x05\xf4\x1a\x05\x64\x1c\x87\xb9\x85\
+\x45\xcc\xf9\x17\x31\xeb\x8f\x30\xeb\x7d\xb4\x52\xcc\x7a\x15\x8e\
+\x6f\x77\xd0\x5b\x9a\x20\x56\x49\x76\x76\x36\x5e\x7c\xf1\x45\x9c\
+\x38\x71\x42\xf0\x9d\xee\x44\x22\x81\xf1\xf1\xf1\x47\x0d\x17\x65\
+\x32\x19\xf4\x7a\x3d\x74\x3a\xdd\xa3\x7f\xab\x54\x2a\x04\x83\x41\
+\x04\x83\x41\x04\x02\x01\x04\x02\x81\x35\x49\x2c\xb7\x5a\xad\x68\
+\x6b\x6b\x93\xf4\xda\xef\xd9\xb3\x07\x5e\xaf\x37\x2d\xd5\xbf\xe6\
+\xe7\xe7\x31\x3f\x3f\x8f\xab\x57\xaf\x42\x26\x93\x41\xab\xd5\x42\
+\xaf\xd7\x3f\x5a\x77\x9d\x4e\x87\x68\x34\x8a\x40\x20\xf0\x8d\xb5\
+\x17\x6b\x0f\x23\x82\xc4\x8c\xf0\x0e\x8e\x41\x85\x37\xf7\xb8\xf0\
+\xd3\x8f\x07\xd3\xea\xc8\x26\x92\xc9\x25\x27\x3a\x14\x05\x66\x45\
+\xb4\x80\x72\x0e\x6f\xee\x71\x21\x5b\x2f\x9d\x8e\xe8\x91\x68\x02\
+\x91\x68\x44\x74\x3d\x6a\xb4\x2a\x39\xbe\xbf\xb7\x74\x55\xd5\xcb\
+\x9e\xc7\x46\x67\x36\xa6\x1a\xad\x38\x7d\x7d\x2a\xad\x73\x5a\x08\
+\xc7\xd2\xb2\x31\xb0\x1a\x5b\x7f\x6f\xaf\x4b\x10\x5b\x13\xc4\x7a\
+\xc2\xe1\x70\x60\xe7\xce\x9d\xb8\x70\xe1\x42\x5a\xff\x6e\x22\x91\
+\x80\xdf\xef\x87\xdf\xef\x17\x95\x3d\x0c\x06\x03\x0e\x1e\x3c\x08\
+\xb9\x5c\xda\xef\x16\xb9\x5c\x8e\x8e\x8e\x0e\xbc\xfd\xf6\xdb\x69\
+\xad\x02\x96\x48\x24\x1e\x89\x15\x82\x48\x17\x19\xb9\x95\xef\xca\
+\xd7\xe3\xf8\x36\xda\xb1\x05\x80\xe3\xdb\x1c\x70\x5a\xf4\x64\x08\
+\xa1\x1f\x14\x19\x87\x37\xda\x9d\x82\xe6\x6e\x1c\x68\xb2\xa2\xa1\
+\xc4\xb4\xee\x6d\xad\x56\xca\xf0\xa7\x2f\x96\xc1\x2e\x50\x81\x08\
+\x82\x58\x6f\x34\x34\x34\xa0\xb6\xb6\x76\xdd\xdb\x41\xa1\x50\xe0\
+\xd0\xa1\x43\xd0\xe9\x74\xeb\x62\xbe\x7a\xbd\x1e\x1d\x1d\x1d\x92\
+\x17\x6e\x04\x91\xb1\x85\xd5\x5b\x2a\x72\xd0\xb6\xce\x4b\xb5\xb6\
+\xd5\xe7\x63\x4b\x39\xe5\x13\xa4\x83\x63\x2d\x85\xa8\xb0\x65\x09\
+\xfa\x37\x96\xf3\xc2\xd6\xb3\x13\xaf\x94\xcb\xf0\xfd\xbd\xa5\x28\
+\xce\xd3\xd1\x4d\x47\x10\x0c\xd9\xbd\x7b\x37\x0a\x0b\x0b\xd7\xb5\
+\x0d\xf6\xee\xdd\x2b\x58\xf5\x35\xb1\x92\x9f\x9f\x8f\xf6\xf6\x76\
+\x7a\x00\x08\x12\x33\x62\xe5\xc8\x66\x3b\x76\xd5\xae\xcf\x8e\xe0\
+\xbb\x6a\x2d\x38\xd2\x6c\xa7\x3b\x58\x60\x38\x6e\xe9\x3e\xdb\x51\
+\x9d\x9e\x0f\xa0\x4a\x21\xc3\x9f\xec\x5f\x9f\xce\xbc\x5c\xc6\xe1\
+\xcd\x3d\x4e\x94\x59\x0d\x74\xe3\x11\x04\xeb\x8f\xbd\x4c\x86\x83\
+\x07\x0f\xa2\xa8\xa8\x68\x5d\xce\x7d\xcf\x9e\x3d\x28\x2b\x2b\x5b\
+\x97\x6b\x5f\x59\x59\x89\x17\x5e\x78\x21\xe3\x1b\x83\x12\x84\x24\
+\xc5\x0c\xc7\x2d\xed\x98\xbf\xb6\xdd\xb1\x6e\x7a\x50\xc8\x65\x1c\
+\xfe\xdd\x0e\x07\x8e\xb5\x14\x82\xa3\xb6\x1b\x82\xa2\x56\xca\xf0\
+\xbd\x3d\xa5\x68\x4f\x73\xb9\x6b\xa3\x56\x89\xbf\xec\x28\xc7\x26\
+\x9e\xa5\x9f\x33\x09\x85\x9c\xc3\x1f\xb4\x39\x51\x5d\x68\xa4\x1b\
+\x8f\x20\x84\x7a\xa7\xa9\xd5\x38\x72\xe4\x08\x1a\x1a\x1a\xd6\xcd\
+\x9c\xb5\x5a\x2d\x5e\x7e\xf9\x65\x54\x57\x57\xaf\xeb\xb5\xaf\xab\
+\xab\xc3\x4b\x2f\xbd\x04\xb5\x9a\xca\xdc\x13\x24\x66\x44\xc9\xd6\
+\xca\x5c\xfc\xe0\xc5\x32\xe8\x35\x0a\x49\x2f\x96\x41\xa3\xc0\x9f\
+\x1f\x28\x47\x6b\x45\x2e\xdd\xb9\x02\x93\x9b\xa5\xc2\x8f\x0e\x57\
+\xa2\xd6\xb1\x36\xce\xb5\x42\x2e\xc3\xef\xef\x2e\xc1\xe1\x66\x9b\
+\xe4\x45\xab\x59\xaf\xc2\x0f\x3b\x2a\xd0\x50\x4c\xf9\x42\x04\x21\
+\xf8\x47\x5f\x26\xc3\xae\x5d\xbb\xd6\xc5\x4e\x7d\x5e\x5e\x1e\x5e\
+\x7b\xed\x35\xd8\x6c\x36\x5a\x78\x00\x85\x85\x85\x38\x7e\xfc\x38\
+\xcc\x66\x33\x19\x83\x20\x31\x23\x46\xca\xac\x06\xfc\xe4\x48\x25\
+\xac\xd9\x1a\x49\x2e\x94\xcd\xac\xc5\x4f\x8e\x54\xc2\x55\x20\x8e\
+\x64\xff\xaa\xc2\x2c\xc9\x56\x9a\x2a\xb7\x1a\xf0\x63\x91\xdc\x4b\
+\x7b\x1a\x0a\xf0\x47\x7b\x5c\x4c\x9a\x8a\x8a\x91\x4a\x7b\x16\xfe\
+\xea\xa5\x4a\x38\x28\x47\x86\x20\xd2\x8a\xd4\x77\xea\x4b\x4b\x4b\
+\xf1\xca\x2b\xaf\xc0\x60\xa0\xb0\xd5\xc7\x31\x99\x4c\x38\x7e\xfc\
+\x38\x9c\x4e\xa7\x24\xe7\xa7\x54\x2a\x51\x59\x59\x49\x0b\x4d\x62\
+\x26\x73\xc9\x31\xac\xed\x6e\xba\x50\xd4\x17\x9b\xf0\xa3\xc3\x15\
+\x30\x1b\x54\xa2\xb9\xa6\xea\x42\x23\xfe\xfa\x58\xb5\xe4\xc2\x82\
+\xb6\x57\xe7\x2d\x9d\xf2\xa9\xc5\x73\xca\x57\xe7\x30\xe1\x47\x87\
+\x2a\x91\x23\xa2\xf5\xe7\x0b\x07\x60\xef\x86\x02\xfc\xe9\x7e\xe9\
+\x9f\xa8\x12\x84\x58\x91\xea\x4e\xfd\xe6\xcd\x9b\x71\xf0\xe0\x41\
+\x28\x95\x4a\x5a\xe4\xa7\x38\xfc\x1d\x1d\x1d\x68\x6a\x6a\x92\xd4\
+\xbc\x6c\x36\x1b\x5e\x7f\xfd\x75\x12\x33\x24\x66\x32\x9f\xe5\x3c\
+\x87\xfd\x8d\x05\x19\x9f\x47\xa3\x90\xcb\x70\xa0\xc9\x8a\x37\xf7\
+\xb8\x44\xd9\x10\xd3\xa8\x53\xe2\x4f\xf6\x97\xe2\xb5\xed\x8e\x8c\
+\x3f\x39\xd0\xa8\xe4\x78\x6d\xbb\x03\xaf\x6e\x2d\x82\x4c\x84\xf7\
+\x8d\xd5\xac\xc1\x4f\x8e\x48\x43\xa8\x1b\x34\x0a\xbc\xb9\xc7\x85\
+\x43\x9b\x6c\x94\xf7\x45\x10\x6b\x8c\xc9\x64\xc2\xab\xaf\xbe\x8a\
+\xf2\xf2\xf2\x8c\x9f\x8b\x56\xab\xc5\x81\x03\x07\xd0\xd2\xd2\x42\
+\x0b\xfb\x1c\x38\x8e\xc3\xb6\x6d\xdb\xb0\x6f\xdf\x3e\x68\x34\x99\
+\x1d\xd1\x22\x97\xcb\xb1\x7d\xfb\x76\x1c\x3b\x76\x0c\x46\x23\xe5\
+\x5d\xae\x47\x14\xd2\x7c\x48\x81\x83\x4d\x36\xb4\x54\xe4\xe2\xd4\
+\x55\x37\xbe\x1e\x9a\x47\x32\xc3\xae\x7f\x53\x69\x0e\x3a\x36\x59\
+\x61\xd6\x8b\x7f\x37\x7e\x6b\x65\x2e\x2a\xed\x59\xf8\xbf\x17\xc6\
+\x30\x34\xbd\x90\x59\x2f\x41\x19\x87\x1d\xd5\x79\xd8\xd7\x58\x20\
+\xaa\xd3\x98\x27\xa1\xd7\x28\xf0\xfd\xbd\xa5\x18\x74\x2f\xe0\xc3\
+\xcb\x93\xb8\x37\x1b\xcc\x38\x5b\xef\xae\xb5\x60\x5f\x63\x01\x34\
+\x4a\xea\x7b\x40\x10\x62\x41\xa5\x52\xe1\xc5\x17\x5f\xc4\x86\x0d\
+\x1b\x70\xf1\xe2\x45\xb8\xdd\xee\xcc\x72\x64\x14\x0a\x6c\xdc\xb8\
+\x11\x4d\x4d\x4d\x74\x1a\xb3\x42\x2a\x2b\x2b\xe1\x74\x3a\x71\xf5\
+\xea\x55\xdc\xb8\x71\x03\xb1\x58\x2c\xa3\xae\xdf\x62\xb1\x60\xdf\
+\xbe\x7d\x94\x07\x44\x62\x46\xba\xe4\x18\x54\xf8\xfd\xdd\x25\x78\
+\xa1\x2e\x1f\x27\xaf\x4c\xe2\xce\xa4\x5f\xf4\xd7\x5c\x65\xcf\xc2\
+\x91\xcd\xf6\x8c\xeb\x35\x92\x63\x50\xe1\x2f\x0e\x96\xe3\xcb\xbe\
+\xfb\xf8\xec\xe6\x34\xbc\xc1\xa8\xb8\x05\x23\x80\xa6\x52\x33\x3a\
+\x36\xd9\x32\x2e\x7c\xab\xdc\x66\xc0\x4f\x5e\xaa\xc4\xb5\xa1\x79\
+\x7c\x74\xd5\x8d\xb9\x85\x45\xd1\x5f\x73\x9d\xc3\x84\xa3\x5b\xec\
+\x82\x36\x1d\x25\x08\x82\x1f\x56\xab\x15\xaf\xbc\xf2\x0a\x46\x46\
+\x46\x70\xf1\xe2\x45\xcc\xcf\xcf\x8b\xfb\x3d\xce\x71\xa8\xa9\xa9\
+\x41\x4b\x4b\xcb\xba\x69\x84\x29\x94\x98\xdd\xba\x75\x2b\x1a\x1a\
+\x1a\x70\xe9\xd2\x25\xf4\xf5\xf5\x21\x99\x14\xf7\x16\xb0\x4e\xa7\
+\x43\x63\x63\x23\x1a\x1b\x1b\xa9\xe4\x34\x81\x75\x11\xac\x5e\x94\
+\xab\xc5\x0f\x5e\x2c\x43\xff\xa4\x1f\x27\x2f\x4f\x62\x62\x2e\x24\
+\xba\x6b\x2c\xcc\xd1\xe2\xc8\x66\x3b\x2a\xed\x59\x19\x6b\x67\x8e\
+\x03\x76\xd6\xe4\x61\x5b\x55\x2e\xae\xdc\x9d\xc7\xb9\x1e\x0f\xa6\
+\xbd\x61\xd1\x5d\x67\xa5\x3d\x0b\x87\x9b\xed\x28\xca\xcd\xdc\xe6\
+\x94\xcb\x62\x6c\x83\x33\x1b\x5f\xf6\xdd\xc7\xa7\xd7\xa7\x11\x88\
+\x88\x6f\x47\xcd\x66\xd6\xe2\xe8\x96\xcc\xbe\xaf\x09\x62\xbd\xe1\
+\x74\x3a\x51\x52\x52\x82\xdb\xb7\x6f\xa3\xbb\xbb\x1b\x81\x40\x40\
+\x94\xd7\xb8\x6d\xdb\x36\xda\x91\x67\x88\x5e\xaf\x47\x7b\x7b\x3b\
+\x1a\x1b\x1b\xd1\xd5\xd5\x85\x91\x91\x11\xd1\x5d\xa3\xc9\x64\xc2\
+\xc6\x8d\x1b\x51\x5d\x5d\x0d\xb9\x9c\x4e\xf8\x89\x75\x24\x66\x96\
+\xa9\xb2\x67\xa1\xf2\x68\x15\xae\xde\x9d\xc7\xd9\x9e\x69\xb8\xe7\
+\xd7\xde\xd1\xb6\x99\x35\x68\xaf\x2f\xc0\xa6\x32\x33\xa4\x92\x3e\
+\x20\x97\x71\x68\xa9\xc8\xc1\x96\x8a\x1c\xdc\x1a\xf7\xe2\xec\x4d\
+\x0f\x86\x3d\x6b\xfb\x31\xe4\x00\x38\xf3\xf5\xd8\xdf\x68\x45\x55\
+\xa1\x74\x1c\xeb\xe5\xd0\xad\x96\xf2\x1c\x9c\xb9\xe9\xc1\xa5\x81\
+\x59\x2c\x84\xd7\x56\xd4\xa8\x14\x32\x34\x3a\xb3\xd1\x5a\x91\x2b\
+\x9a\xea\x7b\x04\x41\xac\xf0\x9d\xc9\x71\xa8\xad\xad\x45\x65\x65\
+\x25\xae\x5f\xbf\x8e\xde\xde\x5e\x2c\x2c\x2c\xac\xf9\x35\xd9\xed\
+\x76\x6c\xd9\xb2\x05\x76\x3b\x35\x8d\x16\x8a\x9c\x9c\x1c\x1c\x3a\
+\x74\x08\x93\x93\x93\xe8\xee\xee\xc6\xe4\xe4\xe4\x9a\x9f\xd4\x14\
+\x14\x14\xa0\xa9\xa9\x09\x2e\x97\x0b\x1c\x25\x5b\x12\xeb\x59\xcc\
+\x2c\x3b\xb5\xcd\x65\x66\x34\x97\x99\x31\xeb\x5f\x44\xef\x98\x17\
+\x37\xc7\xbc\x18\xf1\x04\x90\x48\xc3\xc3\x2a\xe3\x38\x38\xf3\xf5\
+\x68\x28\x36\xa1\xae\xd8\x84\xdc\x2c\x95\xa4\x6d\x5d\xe7\x30\xa1\
+\xce\x61\xc2\xb0\x27\x80\xce\xbe\xfb\xb8\x33\xe9\x4f\x9b\xb3\x2d\
+\x97\x71\xa8\xb0\x65\xa1\xbe\xd8\x84\xba\x62\x23\x8c\x5a\xe9\xc6\
+\x52\x6b\x54\x72\x1c\x6e\xb6\xe1\xd0\x26\x1b\x46\x66\x02\xe8\x1d\
+\xf3\xa2\x67\xcc\x8b\x19\x5f\x24\x6d\xd7\x50\x94\xab\x45\x6b\x45\
+\x2e\x36\x95\x9a\xa1\x59\x83\xb2\xdd\x7c\xd7\x57\xa5\x90\x41\x2d\
+\xe1\x5c\x1e\x95\x42\x06\x8d\x52\x8e\x70\x34\xbe\xea\x31\xb2\xbe\
+\x65\x63\x16\xa1\x3d\x5a\xad\x16\x52\x46\xab\xd5\x22\x18\x5c\x7d\
+\x7e\xdb\x5a\x87\x4f\x29\x14\x0a\x34\x37\x37\xa3\xb9\xb9\x19\x1e\
+\x8f\x07\x23\x23\x23\x18\x1a\x1a\xc2\xdc\xdc\x5c\xda\xfe\xbe\xc3\
+\xe1\x80\xcb\xe5\x82\xd3\xe9\x14\x65\xb2\xba\x4c\x26\x83\x46\xa3\
+\x41\x38\xbc\xfa\x0d\x52\xbd\x5e\x7c\x1b\x3f\x76\xbb\x1d\x2f\xbf\
+\xfc\x32\x42\xa1\x10\x46\x46\x46\x30\x3c\x3c\x8c\xf1\xf1\x71\xc4\
+\xe3\xf1\xb4\x3d\x3b\x45\x45\x45\xa8\xab\xab\x5b\x91\x78\x65\xf1\
+\xcc\xa4\x32\x06\xdf\xbf\x23\x93\xc9\xa8\x89\x29\x89\x19\xfe\xe4\
+\x66\xa9\xb0\xbb\xce\x82\xdd\x75\x16\x04\x22\x31\xdc\x1a\xf7\xa1\
+\x77\xcc\x8b\xfe\x49\x3f\x16\x63\x09\xa6\x4e\x44\x95\x3d\x0b\x75\
+\xc5\x26\xd4\x3a\x8c\xa2\x4f\x34\x17\x02\x57\xbe\x1e\xae\x7c\x3d\
+\x92\x00\x26\xe7\x42\xb8\x33\xe9\xc7\x9d\x49\x3f\x86\xa6\x03\x88\
+\xc5\xd9\xd9\x5a\xa3\x94\xa3\xba\x68\x49\xc0\xd4\x14\x19\xd7\x5d\
+\xa2\x39\xc7\xfd\xc6\xd6\x47\x36\xdb\x31\xed\x0d\x3f\x14\x36\x3e\
+\x8c\xcd\x04\x98\x16\xc2\x30\x6a\x95\x70\x16\xe8\x51\x9a\xaf\x47\
+\xb9\x2d\x0b\x36\xf3\xda\x3a\x19\x5b\xca\xcd\xf8\xf8\x6b\x37\xe2\
+\x89\xd5\xcd\xb2\xa9\xd4\x2c\xca\xaa\x81\x2c\xc5\xfd\xe6\x72\x33\
+\xbe\xb8\x7d\x7f\xd5\x9b\x13\xad\x15\x39\xdf\xf8\x7f\x65\x65\x65\
+\xf8\xe2\x8b\x2f\xb0\xb8\xb8\xba\xbc\xad\xc2\xc2\x42\xc9\x57\x1f\
+\xaa\xad\xad\xc5\x85\x0b\x17\x56\xfd\xfb\x35\x35\x35\xa2\x99\x4b\
+\x7e\x7e\x3e\xf2\xf3\xf3\xd1\xd2\xd2\x02\xaf\xd7\xfb\x48\xd8\x4c\
+\x4d\x4d\x31\xdd\xb9\xd7\x6a\xb5\x70\x3a\x9d\x70\xb9\x5c\x28\x2a\
+\x2a\x82\x42\x21\xee\x6f\x26\xc7\x71\xa8\xae\xae\xc6\xb5\x6b\xd7\
+\x24\xb1\xce\x4f\x5a\x8f\x9a\x9a\x1a\xd4\xd4\xd4\x20\x1a\x8d\x62\
+\x6c\x6c\x0c\xc3\xc3\xc3\x18\x1d\x1d\x45\x24\xc2\x6e\xc3\x4c\x26\
+\x93\xc1\x66\xb3\xa1\xb8\xb8\x18\x0e\x87\x03\x79\x79\x79\xab\x1a\
+\x27\x2f\x2f\x0f\x16\x8b\x05\x33\x33\x33\xab\xfa\x7d\x83\xc1\x00\
+\x87\xc3\xf1\xdc\x9f\xab\xae\xae\xc6\xa5\x4b\x97\x90\x48\xac\xce\
+\x87\x29\x2b\x2b\x83\x4a\x25\xdd\x0d\xed\xb4\x3e\x83\x49\xb1\x67\
+\x79\xad\x01\xd1\x78\x02\x43\x53\x01\xcc\xfa\x23\xf0\x85\x62\xf0\
+\x05\xa3\xf0\x06\xa3\xf0\x85\xa2\xf0\x05\xa3\x08\x84\x63\xdf\x70\
+\x0a\x39\x2c\x55\x9a\x32\xea\x94\x30\x6a\x95\x30\xe9\x94\x0f\xff\
+\x5b\x81\xdc\x2c\x35\x4a\xad\x7a\x28\xe5\xe2\x71\x92\xee\x4e\x2d\
+\xe0\x1f\x3f\x1e\xe4\x35\xc6\xcb\x2d\x85\xd8\x5d\x6b\xe1\x7d\x2d\
+\xb1\x78\x02\x43\xd3\x01\x0c\x4e\x2d\x60\x7e\x61\x11\x0b\xe1\x18\
+\xfc\xa1\x18\x16\xc2\x51\x04\xc2\xf1\x27\x9e\x96\x69\x55\xf2\x47\
+\x36\x7e\xdc\xd6\x16\x93\x06\xe5\x56\x43\xc6\x97\xe4\x16\x0a\x7f\
+\x28\x8a\xa1\xe9\x00\xbc\x81\x28\xbc\x0f\xef\x65\xdf\xc3\xfb\xda\
+\x1b\x8c\x22\x12\x4d\x3c\xd1\x01\xd6\xab\x15\xd0\x69\xe4\xd0\xab\
+\x15\xc8\x37\xa9\x97\xc4\x52\x81\x41\x94\x85\x13\x2e\xf6\xcf\xe2\
+\x6c\xcf\x34\x66\xfd\xa9\x3b\xd7\x32\x8e\x43\xad\xc3\x88\xa3\x5b\
+\x0a\x25\x7d\x52\x0a\x00\xf3\x81\x45\x7c\x70\x69\x12\x3d\xe3\x5e\
+\x24\x56\x20\xfa\xb2\xf5\x4a\xec\xae\xcd\xc7\x0b\x75\xbf\xfd\xcc\
+\x0f\x0c\x0c\xe0\xd2\xa5\x4b\xf0\x7a\xbd\x2b\xba\x16\xbb\xdd\x8e\
+\x1d\x3b\x76\xc0\x62\xb1\x48\xda\xe6\xd1\x68\x14\x17\x2e\x5c\xc0\
+\xc0\xc0\xc0\x8a\x76\xb4\xd5\x6a\x35\x6a\x6b\x6b\xb1\x6d\xdb\x36\
+\xd1\xcf\x31\x1c\x0e\x63\x62\x62\x02\x81\x40\x00\x81\x40\x00\xc1\
+\x60\xf0\xd1\x7f\x07\x02\x81\xdf\x12\xbb\x1c\xc7\x41\xa7\xd3\x41\
+\xaf\xd7\x3f\xfa\xf7\xf2\x3f\x66\xb3\x19\x05\x05\x05\x19\x17\x4a\
+\x14\x08\x04\xd0\xd9\xd9\x89\xbb\x77\xef\xae\xc8\xb9\xd5\xeb\xf5\
+\xd8\xb8\x71\x23\x1a\x1b\x1b\x33\xee\xde\x4e\x24\x12\x70\xbb\xdd\
+\x98\x9f\x9f\xff\xc6\x7a\x2f\xaf\xff\x93\x4e\xaa\x38\x8e\x83\x46\
+\xa3\x81\x56\xab\x85\x56\xab\x85\x4e\xa7\x83\xc1\x60\x40\x61\x61\
+\x21\xec\x76\x3b\x33\xe1\xea\x76\xbb\xd1\xd9\xd9\x89\xe9\xe9\xe9\
+\x15\xfd\x5e\x6e\x6e\x2e\xb6\x6e\xdd\x8a\x92\x92\x92\x94\x7e\xbe\
+\xb7\xb7\x17\x57\xae\x5c\x59\x71\x08\x66\x71\x71\x31\x76\xee\xdc\
+\x89\xec\xec\x6c\x72\x4e\x48\xcc\xac\x0d\xf1\x44\x12\xbe\x50\x14\
+\xc1\x48\x1c\x3a\xb5\x1c\x46\xad\x32\xa3\x1c\x68\x31\x89\x99\x67\
+\x91\x4c\x02\x81\x48\x0c\x0b\xa1\x18\xc2\xb1\x38\xb2\x34\x4a\x98\
+\x74\x0a\x28\xe4\x54\xb9\x44\x08\x22\xd1\x04\x7c\xa1\x28\x16\x63\
+\x09\xe8\x54\x72\xe8\xd4\x8a\x8c\xec\x1f\xb4\x7c\xfa\x97\xea\x89\
+\x9f\x59\xaf\x82\x51\xb7\xbe\xca\xb9\xfa\x42\x51\xcc\xa7\x58\x05\
+\x4f\x2e\xe3\x60\xcf\xd1\x42\xf6\x1c\xe7\xd2\xe3\xf1\x20\x1a\x4d\
+\xad\x8a\xa1\x4e\xa7\x5b\x77\x89\xdb\xe1\x70\x18\xb3\xb3\xb3\xa9\
+\x7d\x98\x39\x0e\x16\x8b\x45\x32\x65\x86\x63\xb1\x18\x02\x81\x00\
+\xa2\xd1\x28\x74\x3a\x1d\xb4\x5a\xad\x64\xf3\x1e\x42\xa1\x10\x7c\
+\x3e\x5f\xca\xeb\x9c\x97\x97\x27\xd9\x6a\x5c\xf1\x78\x1c\xc1\x60\
+\x10\xc1\x60\x10\x0a\x85\xe2\x91\x80\x49\xe7\xda\xcf\xcd\xcd\x21\
+\x14\x4a\xad\xe8\x93\x4a\xa5\x5a\xd5\xe6\x4a\x32\x99\xc4\xf4\xf4\
+\x74\xca\x9b\x15\x59\x59\x59\xd4\x0f\x87\xc4\x0c\xb1\x5e\xc4\x0c\
+\x41\x10\x04\x41\x10\x04\x41\x3c\x0b\xda\xe2\x26\x08\x82\x20\x08\
+\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\x10\x04\x89\
+\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\
+\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\
+\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\x20\x08\x82\
+\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\x41\x10\x04\x41\x10\
+\x24\x66\x08\x82\x20\x08\x82\x20\x08\x82\x20\x48\xcc\x10\x04\x41\
+\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\
+\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\x10\x04\x89\x19\x82\x20\
+\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\x41\x10\x04\x41\x10\x04\
+\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\x08\x82\x20\x31\x43\xac\
+\x15\x56\xb3\x06\x0a\x39\xc7\x6b\x8c\x62\x8b\x8e\x0c\x49\x10\x04\
+\x41\x10\x04\x41\x90\x98\x21\xd2\x8b\x5e\xad\x40\xa3\xd3\xbc\xea\
+\xdf\x2f\xca\xd5\xc2\x69\xd1\x93\x21\x09\x82\x20\x08\x82\x20\x88\
+\x35\x85\x4b\x26\x93\x49\x32\xc3\xfa\x23\xbc\x18\x47\xf7\xdd\x39\
+\x7c\x75\x67\x0e\x0b\xe1\x68\x4a\xbf\xa3\x52\xc8\xd1\x5c\x66\xc6\
+\xb6\xca\x5c\x18\x75\x4a\x32\x22\x41\x10\x04\x41\x10\x04\x41\x62\
+\x86\x20\x08\x82\x20\x08\x82\x20\x08\x62\xa5\x50\x98\x19\x41\x10\
+\x04\x41\x10\x04\x41\x10\x24\x66\x08\x82\x20\x08\x82\x20\x08\x82\
+\x20\x48\xcc\x10\x04\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\
+\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\x04\x41\
+\x10\x04\x89\x19\x82\x20\x08\x82\x20\x08\x82\x20\x08\x12\x33\x04\
+\x41\x10\x04\x41\x10\x04\x41\x90\x98\x21\x08\x82\x20\x08\x82\x20\
+\x08\x82\x20\x31\x43\x10\x04\x41\x10\x04\x41\x10\x04\x41\x62\x86\
+\x20\x08\x82\x20\x08\x82\x20\x08\x82\xc4\x0c\x41\x10\x04\x41\x10\
+\x04\x41\x10\x19\xcb\xff\x07\x11\x0e\xbe\xdb\x22\x35\xab\x4c\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0f\x7e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0f\x45\x49\x44\x41\x54\x68\x81\xd5\x99\x7f\xb0\x5d\x55\
+\x75\xc7\x3f\x6b\xef\x73\xce\xbd\xf7\xbd\x97\xe4\xbd\xfc\x16\x12\
+\x20\x89\x21\x48\x30\x30\xd3\xda\x36\xa0\xd2\x22\x52\x4c\xd3\x32\
+\x75\xd4\xfe\x52\x68\x18\xeb\x60\x65\xaa\x62\xa1\xda\x3a\x2d\x50\
+\x3a\x75\x1c\x11\xb1\x76\xfc\xd5\x99\xfe\x51\xab\x33\xd8\x4a\xdb\
+\x11\x31\xb5\x54\xab\xd0\x19\x0c\x04\x84\xc2\x18\x12\x20\xf8\x48\
+\xde\xcb\x8f\x97\xe4\xe5\xbd\xfb\xeb\x9c\xbd\xd7\xea\x1f\xfb\xdc\
+\x97\x20\x79\x19\x05\xa7\xda\x3d\xf7\xce\x3d\xe7\x9e\x7d\xf6\x59\
+\x3f\xbf\xfb\xbb\xd6\x11\x33\xe3\xff\xf3\x70\x3f\x6d\x01\x5e\xee\
+\xc8\x7e\x9c\xc9\xef\x7d\xef\xfb\xc8\xf3\x82\x3c\xcf\x29\x1a\x05\
+\xad\xc2\xb1\xfb\xd8\x79\xec\x3b\xb6\x02\x91\x80\x46\xa5\xd7\xed\
+\xe3\x9d\x30\xb6\x74\x8c\x33\xcf\x3e\x93\x4f\xbe\xef\xac\xd3\xae\
+\xf9\xce\x5b\xf7\xe2\x1c\x38\x27\x78\x6f\xf8\xac\x41\x5e\xe4\x3c\
+\xf9\x8d\x1b\x38\x3a\xf1\x24\x86\xe3\xd8\x91\x23\x54\x31\xf2\xcc\
+\xde\x67\x5f\x9e\x02\x2f\x1a\x22\x27\x8e\x07\x91\x68\x06\x08\xff\
+\x7c\xc7\xe6\x1f\x69\x89\xa9\x89\x49\x9c\x13\x9c\x13\xb2\x2c\xc7\
+\x67\x4d\xe2\xec\x77\xe9\x1d\xdf\x4f\x96\x15\xc4\x18\x41\x04\x99\
+\xe7\xfe\x97\xa7\xc0\xc9\xf9\x53\x3f\xe1\xbf\xbe\xb8\xf5\xc7\x5a\
+\x62\xff\x53\xcf\x20\xce\x21\xae\x49\x91\x77\x28\x74\x07\x61\x76\
+\x07\x86\xc3\x79\x8f\x9a\x21\x02\x22\xa7\x56\xe1\xe5\x29\x30\x18\
+\x22\xdc\xfb\xd9\xcb\x5e\xd2\xad\x33\x47\xdb\xf8\x0c\x46\x47\x76\
+\xd2\x62\x37\xe8\x34\x52\xb4\x88\x31\x62\xc4\x24\xfc\xbc\xf6\xff\
+\x09\x85\xd0\xd7\x3f\xfb\xba\x97\x74\xfb\xfa\x8d\x77\x32\x36\x76\
+\x98\xa5\x63\xe3\x34\xb3\x43\x84\x4a\x08\xa1\x89\x69\xc0\x69\x12\
+\x5b\xc4\x25\xeb\xcf\xe3\x01\x79\xa9\x30\x6a\xaa\x27\xdc\x3a\xcf\
+\xe2\xff\x17\xe3\x34\x1e\x30\xd4\x00\x35\x10\x43\xd5\x30\xd3\x14\
+\xf7\x22\xc9\x32\x08\xb7\xfe\xd5\x6d\xee\xc3\x7f\xfa\x21\x15\x13\
+\xa2\x2a\xd1\x02\x5b\xb7\xfe\x3a\x9d\xd9\x2e\xf7\xdd\x77\x1f\x79\
+\xe1\x71\x3e\xc3\x3b\x41\x6a\xd4\x36\x0c\x43\xd1\x68\x84\x10\xa8\
+\x42\x24\x56\x25\x65\x55\x51\x55\x15\x6a\x46\xe6\x1c\x59\x91\xd3\
+\x6a\xb5\x28\xb2\x82\xa2\x51\x9c\x52\x4a\x31\x33\xae\xb8\xe2\x8a\
+\x5b\x87\x86\x86\x6e\xe8\x74\x3a\x45\xa3\xd1\x90\x56\xab\x65\xcd\
+\x66\x93\x66\xb3\x49\xab\xd5\xa2\xd1\x68\x48\xa3\xd1\xb4\xa2\x91\
+\xe7\x8d\xbc\x49\xd1\x2c\x68\xe6\x39\x45\xa3\x15\x87\x17\x8e\x30\
+\xb9\x6f\xbf\x3d\xf2\xe8\x23\x55\x59\x96\xfd\x4e\xb7\xd3\x8d\x55\
+\x68\x08\x2c\x74\x79\x36\xde\x6a\x0e\x8d\x36\x1a\x45\xe3\xa2\x8b\
+\x2e\xca\x57\xae\x5c\x49\xbb\xd3\xa6\xdf\xeb\x53\x55\x95\xf4\xfa\
+\x3d\xab\xca\x92\x5e\xb7\x2f\xdd\x5e\xd7\xfa\xfd\xbe\xeb\xf7\xfb\
+\xf4\xfb\x7d\xca\xb2\xb2\x99\xd9\x19\xda\x33\x6d\x1b\x5d\x3c\xba\
+\xfb\x5f\xee\xbe\x7b\xe3\x29\x3d\x60\x66\xb4\xdb\xed\xdf\xe9\xf5\
+\x7a\xc3\x97\xbf\xe1\x0d\x3c\xf3\xec\xb3\xb4\x86\x86\x70\xce\x21\
+\x80\x59\xa4\xd7\xeb\xd1\xe9\xb4\xc1\x40\xc4\xe3\x7c\xba\xe6\x9c\
+\xf8\xac\xc8\x89\x65\x1f\x33\xb2\xa8\xda\x5a\xbe\x7c\xd9\x68\x0c\
+\x20\x28\x98\xac\x99\x69\x77\x70\x22\x8c\x8f\x8f\x73\xe8\xf0\xa1\
+\x94\x9c\x6a\x68\x54\x2a\x8d\x84\x32\xa0\xa1\xa4\x52\x23\x86\x8a\
+\x18\x23\xd1\x0b\x33\x6a\x8c\xae\x5a\x4d\x6b\x7a\x9a\xbd\x7b\x76\
+\x9f\x3f\x6f\x08\xc5\x18\xe9\xf5\x7a\x71\xa8\xd5\xe2\xf2\x37\xfe\
+\x2a\x47\x8f\x1d\xe1\xd7\xb6\x6c\x99\x3f\xb0\xea\x10\x32\x35\xd4\
+\x14\x33\x01\x94\xa8\x91\x7e\xbf\x8c\x87\x0e\x1d\xf6\x5f\xff\xc6\
+\xb7\xb8\xf6\xea\xdf\x4d\x61\x23\x06\xe2\xe7\xd2\x24\x73\x02\xce\
+\x63\x66\xb8\xfa\x4f\xc3\x5e\x84\x34\x8f\x6f\x38\x93\x57\xbb\xfd\
+\xe0\x60\x43\xd8\x30\xaf\x3c\xae\x2a\x4b\x00\xd4\x8c\xb2\xec\xd1\
+\xeb\xf5\xe6\x04\x55\x33\x62\x8c\x84\x18\x89\x31\x32\x33\x3b\x8b\
+\x88\xd0\xef\xf7\x79\xf4\x7b\x8f\xd2\xed\xf7\x79\xfc\xf1\xef\x71\
+\x7c\x66\x96\x99\xe3\x33\x1c\x3e\x7c\xd8\x6f\xbf\xe7\xab\x1c\x3e\
+\xbc\x9f\xcf\x7c\xe6\xd3\x7c\xff\x89\xef\x33\x3d\x3b\xcb\xec\x4c\
+\x9b\x5e\xaf\x47\x59\x96\xf4\xca\x8a\x4e\x37\x79\xa5\xdb\xeb\x11\
+\x63\xe4\xd1\x9d\x8f\x12\x55\x79\xe0\x81\x07\xe6\x04\x3b\xd0\x0e\
+\x29\x43\x3d\xf8\x6c\xfe\x54\xcd\x3a\xbd\x1e\x06\x59\x88\x11\x9f\
+\x65\x29\x51\x6b\x05\xa2\x19\xa8\xce\x6d\xb2\x43\x43\x2d\xca\x7e\
+\xc5\x93\x4f\x3e\xc9\x86\xf5\xe7\xb2\x6b\xd7\x2e\xce\x5d\xbf\x9e\
+\xb2\x0a\xe4\x79\xc1\xb3\xbb\x9f\xe1\xba\x77\xbf\x07\xe7\xc0\x44\
+\xb8\xe7\x9e\xed\xac\x59\xbb\x8e\xca\xaa\x64\x10\x4d\x20\x20\xe2\
+\xe8\xf4\xba\x64\xce\xf3\xbd\xc7\x1e\x63\xd3\x45\x9b\xd8\xf1\xd0\
+\x0e\x36\x5f\x7c\x62\xf7\x0e\x65\x75\xe2\x58\x75\x7e\x05\x66\xa6\
+\xa7\x01\x9c\x86\x40\x9e\xe5\x84\x2a\x00\x35\xfe\x12\xf0\xce\xa7\
+\x50\x11\x49\x6e\xcf\x85\x8d\x1b\x2f\x40\x43\x60\xc3\x86\x73\xe9\
+\x97\x25\x88\x90\x99\x63\xd5\x9a\x55\xfc\xe5\xcd\xb7\x72\xa8\xdb\
+\x61\x51\x01\xd7\x5d\xff\x47\x60\x11\x41\x08\xf5\xfa\x26\x06\x02\
+\x99\xf3\x20\x8e\x0b\x37\x6d\x02\xe0\x17\x5e\xf3\x1a\x44\x12\x23\
+\x11\x20\xc4\x98\xa8\xa6\x81\xc6\x30\xbf\x02\x47\x8f\x4d\x03\x96\
+\x57\x21\x90\x37\x1a\xc4\xa8\xb5\x02\x30\x39\x71\x00\x07\x04\x13\
+\xb0\x08\x66\x58\x34\x4c\x40\x4c\x50\x51\x62\x30\x96\x2f\x5f\x46\
+\x20\xd2\xeb\x55\xbc\xe3\xba\xeb\x78\xe7\xb6\x77\x71\xdf\xf6\x7f\
+\x65\xba\x3d\x8b\x06\x21\x2b\x84\x23\x07\x0e\x22\x99\x47\x70\x38\
+\x2f\x03\xca\x54\x47\xbe\x20\xa6\x74\xca\x3e\xeb\xd7\xae\x4b\x56\
+\x8f\x9a\x2e\x1a\x58\x75\x4a\xd9\x01\x70\xb3\x33\xd3\x80\x64\xa1\
+\x0a\x34\x8b\x82\x32\x44\x00\xd4\x22\x62\x60\x38\x32\x31\x72\x71\
+\x64\xe2\xc9\x8b\x9c\x3c\xcb\xc9\x8a\x8c\xc2\xe7\x0c\xb5\x0a\x0c\
+\x87\x95\x91\xe1\xc2\xf3\x95\x7f\xfc\x22\xad\xbc\xe2\xb6\x5b\x6f\
+\xe6\xf1\x9d\x0f\x27\xcf\xa9\xa3\x68\x16\x14\x79\x4e\x9e\x7b\xbc\
+\x73\x64\xde\x91\x39\x41\x10\x44\x0d\x4c\x98\x93\x18\x58\xa1\x0a\
+\x5d\x20\x42\x60\x7e\x0d\xb2\x4e\xaf\x8b\x80\x0f\x55\x45\xd1\x6c\
+\x50\xc5\x7e\xba\x22\xc6\xb2\x65\xcb\xc0\x81\x45\x03\x97\x90\xc7\
+\xc4\xf0\x80\x46\xad\xe3\x1a\xfa\x55\x09\xde\x33\xd3\x09\x7c\xe0\
+\xa6\xf7\x73\xe3\x4d\x37\xa0\x66\x7c\xeb\xdb\x0f\xe0\xf2\x48\x2c\
+\x2b\x16\x2e\x5e\x84\xd3\x24\xa4\xb8\x39\xbb\x23\x5e\x40\x1c\x19\
+\x2e\x49\x6b\x11\x24\xe3\xc6\xc6\xd7\xf8\xb9\xcb\xd6\x31\x1a\xfa\
+\xe8\xbd\xaf\x67\xd7\xee\xa7\x39\x6b\xd5\x19\x34\x5a\x4d\xdc\x49\
+\x88\x95\x55\xbd\x0a\x03\x89\x1a\x29\xbc\x87\x90\x2c\xe0\xc8\xc8\
+\xb2\x14\x4e\x2a\x0a\x0a\xea\x0c\xa5\x46\xa8\x84\xf3\x44\x0d\x80\
+\xc3\x1c\x0c\x8d\x0d\x73\xe3\x0d\xef\xe7\x99\xe7\xf7\x33\xda\x1a\
+\xe6\x13\x77\xdc\x49\xac\x92\xa8\x56\x0a\xea\x05\x2f\xe9\xdc\x49\
+\xad\x88\x38\x7c\x7d\x2c\x14\x73\xac\xf6\x0c\xd9\xc3\xd2\x32\xe2\
+\xab\x31\xde\xb2\x68\x9a\xbf\xff\xdc\xe7\xae\x6f\x0e\x0f\x7f\x63\
+\xcf\xd3\x4f\x1d\xf8\xc2\x3f\x7c\xe1\xd8\x9c\x02\x51\x15\x31\xc4\
+\x48\xf4\x20\x48\x52\xc0\xcc\xd8\xb7\x6f\x02\xe7\x65\xee\xdc\x00\
+\x6a\x94\x52\x4d\xf3\xa2\x1a\x4b\x46\x17\x81\x1a\x8b\x5a\x8b\xf9\
+\xb3\x9b\x6f\xe1\xaa\xdf\xfa\x6d\xbe\x72\xd7\x5d\x68\x8c\x1c\x99\
+\x99\x22\xcb\x5a\x1c\x3a\x74\x10\x9f\xf9\x9a\x1a\x3b\x0c\x70\x22\
+\xf5\x2f\x10\x95\x6e\x55\xf1\xca\xb5\x6b\xd3\xba\xde\x61\xe4\x84\
+\x58\xd1\xbd\xec\xed\x5c\x78\xfe\xab\xee\xf4\xde\xb9\x6e\xb7\x5d\
+\x5e\x7d\xf5\xd5\x77\x3e\xfc\xe0\x77\xef\x7a\x62\xd7\xf7\x1f\x72\
+\x21\x2a\x26\x26\x41\x23\xe2\x1c\x16\xe3\x9c\x7b\xab\xaa\x4f\x19\
+\x02\x21\x04\x62\x0c\x68\x8c\xa8\xda\x9c\xf0\x00\xa2\xc9\x8a\xb9\
+\x17\xfe\xfb\xfe\xef\xf0\xd1\xdb\x6e\x66\xf1\xc8\x30\x6f\x79\xdb\
+\x9b\x79\xf8\x7f\x1e\xa3\x70\xc3\x88\x13\xbc\x68\xe2\x40\x0a\x51\
+\x15\x53\x25\x86\x48\x0c\x91\x50\xf5\xe9\x86\x8a\xaa\xea\xcf\xe5\
+\x40\x66\x05\xce\x02\x20\x34\xf2\x82\x03\x87\x0e\xba\x2b\xaf\x7c\
+\x13\xce\xb9\x02\x78\x7f\x6b\xc1\xc8\x1f\x02\x64\x4e\x0c\xcc\xe1\
+\x2c\x61\x58\x26\x75\x99\x2c\xb0\x7a\xf5\x6a\x04\x41\x4d\x01\xc3\
+\x2c\xed\x9a\x58\xf2\x88\xc3\x30\x33\x7a\x55\x24\x4a\xc1\xd1\xa3\
+\x13\x7c\xe4\xa3\x1f\x4f\x3b\xb5\x19\xb7\xdf\xfe\xd7\x5c\xf8\xee\
+\xf3\xe9\x86\x92\x95\x2b\x5e\x41\xf4\x82\x68\x5d\x9c\xd4\x3c\xdf\
+\x3b\x30\x71\x38\xe7\x93\xec\x56\x5f\xcb\x41\xc5\x50\xef\x89\xdf\
+\xfe\x3b\x96\xbf\xe7\x6f\xf7\x6e\xff\xf7\xed\xe7\x00\x84\x10\x42\
+\x8c\xb1\x03\x35\x1b\x75\x62\xa6\x12\x51\x01\x95\x84\xb9\x4a\x24\
+\xcf\xf3\x24\xa8\x39\xd4\x92\xb0\x83\x2f\xaa\xa8\x41\xac\x95\xd1\
+\x60\xac\x5f\x77\x1e\x1f\x7c\xef\x0d\x90\x8d\x30\xd9\x99\xe0\x03\
+\xd7\xfd\x31\x65\x0e\x28\x04\x71\x88\x1a\x22\x92\x2a\x30\x91\x39\
+\x9e\xef\xc5\x23\xee\x85\x74\x62\xac\x5a\xc4\xe8\x81\xc5\xcc\x2e\
+\x28\xe8\x4c\x0a\x3b\x3e\xf1\xbe\x25\x8f\x2d\xd8\x84\x08\x5c\x7a\
+\xe9\xa5\xcc\xcc\xcc\x14\x49\x01\x11\xc4\x10\x67\x0e\x67\x10\x63\
+\xbd\x88\xc1\x0f\xf6\x3f\x8f\xb3\xb4\xab\xca\x20\x07\xea\x7c\xa0\
+\x3e\x57\x33\x16\x2e\x5c\x48\xd4\x3e\x1b\x37\x5d\x48\x99\x39\xde\
+\x73\xfd\x1f\xb0\xeb\x91\x27\x88\x06\x53\x07\x0f\x91\x37\x1b\x1c\
+\x38\x7c\x10\xe7\x73\x5c\x1d\xf4\x52\xef\x5a\xa2\x86\x65\x82\xa9\
+\x52\xc6\xc8\x2b\xcf\x59\x03\xc0\xe7\xff\xe4\x1a\x7e\x71\xcb\xdb\
+\x88\x3a\xc2\x25\xdb\x1c\xf7\xf5\xd6\x2e\x38\x6b\xf1\x18\xe7\x9d\
+\x77\x1e\x2b\x57\xae\xec\x1e\x99\x3a\x36\x91\xc0\x06\xd0\xa4\x04\
+\x6a\x90\xe1\x13\x0a\x89\x27\x56\x15\xaa\x11\x8b\x11\xad\xe3\xd6\
+\x6a\x3a\x50\x47\x19\x1e\x21\x73\x1e\xef\x85\x7e\x77\x9a\x1f\x3c\
+\xf5\x14\x6b\xcf\x5e\xcb\x27\x6f\xff\x3c\x51\x4b\x8a\x56\x93\xcc\
+\x37\xf1\x6a\x08\x56\x43\xbd\xa5\xb5\x4c\x89\x18\x1a\x03\x1a\x94\
+\x58\x56\x27\x9a\x03\xc7\x3c\x0b\x8f\x2e\xa2\x51\x79\xfe\x69\x7c\
+\x29\x08\x41\x55\xfb\x55\x55\x7d\x67\xcf\xee\x3d\x3f\xdf\x6c\x0d\
+\xdd\x56\xa3\x90\x61\x66\x62\x92\xe2\x2f\x72\x62\x9c\xb5\x7a\xf5\
+\x1c\xfa\x98\x1a\x75\x06\xcc\xe5\x80\xd5\x39\x50\x96\x11\x51\xe1\
+\xfe\x07\x1f\x64\xdb\xb5\xdb\xd8\x76\xed\x36\x1c\xc2\xc7\x3f\xf6\
+\x31\xde\x75\xfd\xbb\x09\x65\xc9\xca\x33\xcf\x40\xc9\x11\xe2\x49\
+\x39\x90\x90\x48\xf0\x88\x4b\x39\x31\xa0\x12\x98\xa1\x02\x4e\x95\
+\x05\xc3\x05\x82\xdd\x60\xf0\xc5\x3b\xee\xb8\x63\xea\x24\x11\xc9\
+\xd2\x5e\x6b\x28\x86\xf8\x88\x97\x13\x08\xe3\x7d\x96\x12\xd7\x14\
+\x15\x3b\x29\x74\xea\x5f\xab\xe1\x54\x0c\x8a\x8c\x65\x8b\x56\xf0\
+\xa9\x4f\x7f\x8a\xa7\x9f\xd8\xc3\x92\xc5\x4b\x79\xeb\xef\xfd\x26\
+\xce\xe5\xe0\x41\x55\x30\x09\x89\x42\x0f\x76\x60\x49\xed\x14\xc4\
+\xd5\xf5\xef\x89\x1c\x48\x39\x92\x9c\x1d\x22\x6c\xff\xb7\xaf\xfe\
+\xcd\xb2\xe5\xcb\xf9\xe1\x91\x25\x81\xc4\x44\x1d\x62\xae\x46\x9c\
+\x04\xf7\xe3\xfb\xc6\xf1\xce\xd5\x5e\xb5\x3a\x72\x6c\xf0\x01\x0c\
+\x8d\xc6\xe8\x92\xc5\x68\xaf\xc7\xf2\x15\x4b\xd9\xba\xee\xcd\x5c\
+\x7c\xdb\xc5\x4c\x3c\xbf\x97\xbd\x93\xcf\xd3\x3e\x7e\x8c\x66\x73\
+\x88\x89\xc9\x7d\x64\x59\x96\x6a\x83\x41\xfc\xd5\x36\x37\x1c\xa0\
+\x94\x65\x60\xdd\x9a\x35\x20\x83\x28\x15\x9c\x53\xbc\x17\xce\x5c\
+\xbd\xea\x45\xc2\x03\xb8\xa0\x8a\xd5\x99\x6c\x35\x42\x00\xa8\x42\
+\x34\x25\x68\x44\x35\xd6\x35\xf1\x00\x4a\xe7\xec\x04\x5e\xc0\x04\
+\x29\x3c\x59\x23\xe3\xb1\x87\x1e\x60\xf3\xaf\xbc\x96\x2f\x7d\xf9\
+\x4b\x2c\x19\x5b\x4e\x73\xa8\x01\xe6\x10\x5f\x80\xf8\x5a\xed\x24\
+\xa0\x9a\x11\x0d\xd4\x02\x21\x28\x21\xc6\x01\x11\x40\xcc\xb3\xb7\
+\xcc\x98\x09\x19\x15\xa7\xa1\xd3\xa6\x11\x13\x13\x95\x64\x8d\x41\
+\xb3\xd4\x65\xb0\xfa\x8c\x55\x60\x8a\xd6\xc5\xcd\xc9\x30\x6a\x9a\
+\xe8\x84\x46\x25\x54\x15\x45\xe1\x78\xf0\xfe\x07\x78\xfb\x35\xd7\
+\x70\xd5\x5b\xde\x0a\xc0\x2d\xb7\xdc\xc2\x4d\x1f\xba\x91\x76\xb7\
+\xcf\xd8\xe8\x22\xbc\xab\x77\xe2\x93\x60\x54\xbc\xc7\x23\x38\x47\
+\x1d\x52\xe9\xf9\xfb\x5f\x35\xc9\x92\x57\xed\x06\x3d\xc0\xf9\x75\
+\x68\xa9\xc2\xc1\xa9\x83\x14\x2e\xa3\x68\x16\x8c\x0c\x8f\x90\x85\
+\xaa\xc2\x81\x5a\x4c\x85\x4b\xe4\x24\x84\xf1\x0e\xb3\x04\xa1\xf2\
+\xc3\x0a\x88\x22\x96\x62\xd9\x0c\xa4\x82\xac\x68\xf0\xcd\xff\xf8\
+\x36\x53\x9d\x69\xd6\xad\x3e\x83\xdf\x7f\xc7\x35\xc4\x4a\xc9\xb3\
+\x1c\x9f\x83\x93\x0c\x87\xbd\x50\x81\x3a\x0f\x9c\xb8\x17\xb4\x67\
+\x0e\x36\x3c\x4b\x3a\xc7\xb1\x86\x67\xa0\x55\xa7\x3b\xc3\xca\x65\
+\x2f\xcc\x83\x4c\xa3\x61\xa8\x17\x9f\x90\x26\xab\x7d\xa0\xc0\xf8\
+\x73\xe3\x89\xbb\x0f\x66\x0f\x12\xb8\x0e\xd2\x14\x0a\xc6\x92\xc5\
+\x8b\xe9\x5b\x60\xf3\xa5\xaf\xa7\xea\xb5\xf9\xf0\xb5\x7f\xc1\xfd\
+\xdf\xfc\x4f\x0e\x1e\x9a\xa6\xd3\xe9\xd1\x1c\x1a\xe6\xd0\xc4\x04\
+\xce\x65\x88\x33\x98\xe3\x42\x29\xfe\x93\xd8\x91\x10\x8c\x73\xd6\
+\xac\xc1\x51\x47\x5b\x8a\xb3\xa4\x1c\x30\x32\xbc\xe0\xc5\x39\x50\
+\xf6\xfb\x98\x89\x89\x46\x50\x23\x9e\x30\x02\x91\x8a\x60\xa9\x1f\
+\x94\x18\xe8\xc0\x37\xe9\x37\x75\x26\x0c\xb5\x44\x04\x27\x9f\x9b\
+\x60\xcf\xae\xa7\xb9\x6a\xcb\x95\x6c\xff\xfa\xbd\xb4\x8f\x1f\xa5\
+\xc8\x72\x04\x4d\x15\x9e\x07\x70\x29\x41\x6b\x74\x31\x53\xe2\x80\
+\x63\x45\x9b\x5b\xdd\x39\x49\x56\x34\xc1\x9d\xa6\x6f\x96\xb5\x3b\
+\x6d\x44\x84\x68\x89\x12\xc7\x90\xc4\x74\xc0\x9a\x73\xd6\x82\xd6\
+\x3b\xae\xa6\x5c\x88\xaa\x78\x84\xa8\x29\xf9\x50\xa5\x8a\x8a\x03\
+\x0e\x1c\x19\x67\xeb\x9b\x7e\x83\x2b\xaf\xbc\x1c\x15\xb8\xeb\xae\
+\x2f\xb3\xf5\xca\xad\x68\x54\x96\xae\x58\x86\x77\x0e\x57\x37\x6d\
+\xa3\x29\x79\xe6\x01\x57\xef\x05\xcc\xd5\x09\xe9\xf9\x02\x12\x13\
+\x68\x9c\x46\x83\x2c\x62\x78\xf1\x59\x2e\x8e\xe1\xe1\x61\xce\x3e\
+\xfb\x04\x5c\x09\x03\xcc\x06\x57\xc7\x61\xa5\x81\x4c\x32\x72\x01\
+\x2c\x43\x15\x0a\x4d\x5d\x8b\x75\xab\xd7\x71\xf7\xdd\x5f\x01\x73\
+\x2c\x1c\x69\xb1\xf9\xe2\x4b\x68\x8e\x0c\xe1\x10\xbc\x77\xa4\x3a\
+\x00\x10\x41\x35\x26\x02\x37\xcf\x58\xb0\x40\xb1\x56\x44\x82\xa1\
+\xe5\xfc\x35\xb1\x6c\xd9\xb2\x85\x7e\xd5\x9f\x3d\x3a\x35\x35\x7c\
+\xc9\x25\xaf\x43\xc5\x33\x3a\x36\x4c\xe8\x54\x64\x59\x86\x64\x0e\
+\xef\x1c\x6a\x42\x9e\x65\x28\x8a\x73\x1e\x31\x12\xb7\x71\xc6\xf4\
+\x91\xa3\xb4\xcb\x36\xed\xe3\x5d\x8e\x4f\x1f\xc7\xe5\x8e\xe5\x4b\
+\x97\x82\x78\x1a\x45\x4e\xde\x2c\x18\x1d\x1a\xc1\x15\x39\x65\xaf\
+\x24\x84\x00\x06\x65\x0c\x29\xbe\x2d\xa0\xe6\x10\x22\x4e\x32\x7a\
+\x95\x67\xcf\xb3\xcf\xf1\x8a\x95\xaf\x60\xc1\xb0\x67\xfb\xbd\x5f\
+\xe5\x91\x47\x77\x9e\xd2\x0d\x22\x22\x72\xc1\xc6\x8d\x77\x9f\xff\
+\xea\x0d\x57\xb5\x8f\x75\x99\x9a\x9a\xc2\xe7\x05\x23\x23\xc3\x2c\
+\x58\xb4\x88\xe1\xe1\x21\x5a\x8d\x9c\xc6\x70\x93\x56\xd1\xa2\x35\
+\x34\x44\x23\x6f\x31\xd4\x6a\xd2\x1a\x69\x52\x64\x39\x0f\xee\xd8\
+\xc9\xf8\x73\xcf\x31\x79\x60\x92\x6e\xa7\x53\x21\x62\x55\x59\xb9\
+\x56\xb3\xe1\x96\x2c\x59\xea\x1a\xad\x16\xaf\xbd\x64\x33\xab\x56\
+\x9f\x45\x59\x75\xe9\x77\x03\x55\x59\x32\xdb\x39\x4e\xe8\x1b\xc7\
+\x66\xa7\xa9\xfa\x25\xb3\x33\x6d\xda\xb3\xc7\x69\x57\x5d\x2c\x28\
+\x47\xa6\x8e\x10\x52\x7e\x4c\xed\xdc\xf9\xf0\xd2\x53\x2a\x40\xa2\
+\xd4\x7f\x2e\xb8\x5f\x36\xec\x08\x98\x17\x28\x45\x1c\x26\x56\x89\
+\x89\x13\x27\x6a\x42\x4c\xe4\x57\x54\xc4\xc4\x70\xea\x48\x3d\x92\
+\x68\x09\x00\xd4\xf4\x18\xc2\xb8\x38\x57\x89\xd1\x30\x8b\x2b\x70\
+\x7e\x91\x13\xac\xc8\x1b\xb9\x01\x1a\xa3\x33\x55\x67\x06\x26\xe6\
+\x48\xe0\x20\xb5\x0b\x94\x9a\xf3\x99\xa0\x0e\x31\xf1\x0e\x53\x7d\
+\x3e\x84\x70\xd3\x7c\x0a\x50\x2b\xc1\x05\x17\x6c\xe2\xb5\x9b\x7f\
+\xc9\xf5\xab\x60\x43\x0b\x47\xfc\xc8\x50\x8b\x46\xd1\x90\x46\xab\
+\x25\xcd\xcc\x65\xae\xd5\x72\xad\xbc\xc0\x09\x2e\xf3\x99\x43\xbc\
+\x2f\xbc\x17\xf2\x2c\x77\xe2\x1b\x99\xa3\x18\x5b\xb6\x4c\x73\xe7\
+\xe8\x76\xbb\xd9\xc1\xc3\x53\x23\x55\xbf\x13\xa2\x4a\x55\xc5\x2a\
+\x58\xd0\x5e\xd4\x58\x46\x0d\xbd\x6e\xb7\x24\x54\x65\xd9\xeb\xf6\
+\xb5\x8c\x7d\xeb\xf6\x3a\xd6\x99\xed\x6a\xaf\xdd\x63\xb6\xdd\xa6\
+\x57\xf6\x64\xdf\x0f\xc6\x99\x9c\x9c\xf0\xc7\xa6\xa7\xc5\xcc\x8e\
+\x9f\x4a\x81\xec\xda\x6d\xdb\x50\x23\xb4\x9a\x2d\xda\x9d\x59\x3e\
+\xfd\xb9\xcf\xb6\x80\x16\x50\x00\x4d\x60\xa8\x3e\x6f\x01\xc3\xf5\
+\x7f\xc3\xf5\xf5\x46\xfd\x3d\xb9\xf7\x17\x6b\xc3\xf4\x81\x50\x7f\
+\x15\xa8\xea\xe3\xd2\xcc\x7a\x08\x95\x29\x6d\xb3\x58\x2a\x36\xa3\
+\x6a\xa5\x45\xeb\xab\xd1\xb7\x18\xda\x55\xa8\xaa\x7b\xbe\xf6\x35\
+\xcb\xb3\x82\x9b\x3e\x78\x4a\xe3\x27\x0f\x9c\xe2\x05\x87\x07\x9c\
+\x99\x39\x12\x9a\x66\xf5\x1c\x6f\x90\xa1\x8a\x89\x78\x4c\x3d\x88\
+\x37\x55\x35\x11\x6f\xa8\x23\x8a\x57\x82\x80\x17\x11\x23\x75\x27\
+\x4d\x0c\x8b\x98\x99\x99\xa8\xa1\xc1\xd4\x02\x40\x54\xad\x62\x50\
+\xcc\x62\x88\xd1\x4c\x55\x83\x9a\x9a\x86\x10\x5d\xe6\x55\x4c\xac\
+\x0c\x81\x4f\xdd\xf9\x09\x6e\xff\xf8\xed\xa7\x54\xe0\x54\x5d\xd3\
+\x58\x5b\xec\x45\xca\x02\x96\xda\xcd\xb8\xc4\xa1\x13\x27\x4e\xb5\
+\x95\x13\x9c\xe1\x6c\x40\xc8\xeb\xe9\xf5\xb1\xd5\x75\xd3\xa0\xe6\
+\x35\x33\x13\xc1\x9c\x43\x54\x9d\x8a\xc4\x54\x26\x18\x26\xce\x11\
+\x43\x40\x0d\x9c\xf3\xc4\xd3\xf4\x46\x4f\xf3\x8a\x69\xae\xb4\x00\
+\xa8\xb3\x4b\xea\x62\x06\xc4\x91\x8a\x0e\x04\x77\x12\x3f\xb5\xc1\
+\xa6\x34\x68\xb6\xcd\xad\x62\x98\x09\x26\x29\x4b\xd3\x63\x1d\x66\
+\x69\x13\x4c\x5d\xfa\xd4\xba\x1f\xec\x39\x3f\xca\x38\xcd\xcc\x17\
+\xc2\xae\x63\xf0\xd2\x2d\x71\xab\x41\x01\xe2\x85\x17\x12\xb3\xc1\
+\x9d\x75\xc5\x75\x52\x89\x92\xee\x25\xbd\x6a\x72\xe2\x70\x02\xde\
+\x39\xc4\xd5\xe7\xde\xcf\x09\x6f\x66\x3c\xbb\xf7\x39\x1e\xda\xf1\
+\x30\xeb\xcf\x5d\xff\x52\x14\xf8\xe9\x8e\x54\x9d\x39\xd6\xae\x5f\
+\xcf\x1b\x2f\xbf\x62\xde\x79\x3f\x99\xf7\xc4\x3f\xe1\x31\xfe\xfc\
+\xbe\xd4\x44\xb0\x54\x6b\x78\x3f\x3f\xe5\x78\xc9\xaf\x59\x7f\x56\
+\xc6\xcf\x6c\x08\xfd\xa8\xe3\x7f\x01\x21\xd8\x73\x1b\xf0\x48\xeb\
+\x76\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x07\x11\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\xd8\x49\x44\x41\x54\x58\x85\xb5\x97\x5b\x8c\x1d\x75\
+\x1d\xc7\x3f\xff\xdb\xcc\x9c\x99\x73\x99\x73\xeb\x6e\xb7\xa7\xd0\
+\x2e\x97\x16\x21\x6a\x25\x41\x31\x0a\x06\xd4\x04\x63\xd1\xa8\x2f\
+\x84\x78\x89\x11\x9a\xfa\x24\x6a\x24\xbe\x10\x83\xfa\x60\x44\xa3\
+\x89\x09\xf2\xe2\x83\x41\xdf\xc0\x88\x46\xa3\xd2\x44\x42\x30\x08\
+\xbd\x68\x01\xa9\xb5\x37\x7a\xd9\xd2\xbd\x9c\xdd\x3d\x7b\x2e\x33\
+\x73\x66\xfe\x7f\x1f\x96\x54\x09\xd0\xdd\x25\xf4\x97\xcc\xcb\xcc\
+\xef\xf2\x99\xf9\xcd\x77\x7e\xf3\x13\xce\x39\xd6\x6b\x95\xfa\x3d\
+\x15\xe3\xfb\x77\x28\xad\x3f\x52\xe4\xc5\x94\xb5\xc5\xcb\x38\xb7\
+\xcf\x16\xf6\xaf\xbd\xee\x23\xf9\xba\x13\xfd\x9f\x89\xf5\x02\xd4\
+\xdb\x7b\x6f\xde\x7c\xcd\xf4\xa3\xb5\xc9\x89\xe9\x71\x9a\x32\x7f\
+\xfa\x1c\xcb\xb3\x73\x54\x5b\x4d\xb4\xa7\xf7\x2d\x9c\x9d\xb9\x7b\
+\x69\xee\xe7\x17\x36\x0a\x20\xd7\xe3\x54\x6d\xec\xb9\x6a\xe7\xcd\
+\xbb\x9e\xd8\xfb\xb5\xdd\xd3\x3f\x7c\xf0\x93\x6c\xbd\xee\x2a\x82\
+\x5a\x05\x01\x38\x67\x89\xa7\x26\x6f\x6f\x6f\xbb\xe2\x57\xd5\xe6\
+\x1e\x71\x59\x00\x9a\x53\x9b\x1e\xd8\xb2\xf3\xea\x56\xa7\xd3\xe4\
+\xd8\x4c\xc2\xc2\xec\x22\x83\xee\x12\x79\x9e\x93\x0e\x46\xf4\x66\
+\x17\x68\x6e\xdd\x72\x7b\x10\x85\x9f\xdb\x28\xc0\x9a\x2d\xa8\x36\
+\xf6\x6c\xd9\x7e\xc3\xce\x97\x1b\x5b\xa7\x2a\xce\x0f\xe8\x2f\x2e\
+\xb3\x70\xe2\x04\x4b\x33\x17\x70\xce\x81\x80\xa8\x1e\x53\x9d\x98\
+\x60\xb0\xb8\xf2\xeb\xd3\x2f\x3e\x70\xf7\x46\x00\xf4\x9a\x0e\x46\
+\x77\x46\x83\xac\x72\xec\xc0\x0b\x58\x57\x30\x1e\x26\xa4\xa3\x11\
+\x02\x40\x4a\xa4\x0e\xc8\x72\x8f\xa5\x6e\x81\x50\xf1\x8e\x8d\x14\
+\x5f\x17\x80\x03\x86\xbd\x01\x83\xe5\x45\x6c\x3e\x06\x21\x11\x12\
+\x84\xd4\xa8\xb0\x8e\x2e\xd5\x51\xa5\x2a\xd2\x84\x08\xe3\xaf\x99\
+\x6f\xe3\x00\xd6\xce\x24\x83\xc1\x00\x21\x22\xa1\xd4\xea\x49\x21\
+\xd1\x61\x1d\x53\x99\x44\x45\x0d\x54\x18\xa3\xfc\x2a\x42\x79\xaf\
+\xbe\xe3\x00\xc0\xf9\x22\x4f\xcf\x58\x5b\xec\x04\x87\x10\xa0\xbc\
+\x10\x15\x36\x51\xe5\x26\x26\x6a\xa1\xa2\xd6\xea\x53\x50\xfa\xe5\
+\x8d\x02\xac\xa9\x82\xa5\xb9\x87\x73\x21\xc5\x53\x61\xb5\x8c\x36\
+\x1a\x21\x14\x2a\xa8\xa0\xc3\x1a\x3a\x6c\xa0\xca\x2d\xbc\x6a\x93\
+\x4a\x23\xa4\xd2\xf0\x9e\x7f\xc7\x01\x00\xa4\x12\x4f\x29\xad\xf1\
+\xc2\x12\x3a\x08\x91\x5e\x19\xe9\x95\x51\x41\x0d\x1d\xc6\x44\x35\
+\x43\xb5\x21\x5d\x25\x96\x87\x2f\x0b\x40\x36\x4a\xff\x6c\x02\xff\
+\xdc\xe4\xd5\xd3\x94\x9b\x4d\x94\x1f\x20\x8c\x8f\xf0\x4a\x18\xdf\
+\x23\x88\x04\x41\x28\xff\xfe\xe4\x83\x9b\x5e\xbc\x2c\x00\xbd\xee\
+\x23\x0b\xbd\xf9\xee\x77\xf3\x2c\xc3\x0b\x03\xa4\xd6\xab\x6a\x10\
+\x0a\x94\x40\x7b\x06\x69\xbc\x07\x37\x5a\x7c\xdd\x00\x00\x79\x9a\
+\xfe\xe6\xc2\xf1\x53\x8b\xe3\x24\xc5\xe5\x39\xb8\x82\x71\x3e\x46\
+\x6b\x8f\xde\x91\xe7\x9f\xf9\xdd\x37\xab\x7f\xbc\xac\x00\x42\xca\
+\xc5\xa4\x3f\x58\xec\xcf\xce\x22\x5d\x06\x76\x4c\xbb\x0a\xe5\xe5\
+\x7f\x70\x7c\xdf\xe3\xa7\xdf\x4e\x71\x58\x9f\x0c\x57\x01\x94\x8a\
+\xb4\x29\x45\x4e\x18\x42\xdf\x31\xd1\x1a\x43\xef\x45\x8e\x1c\x7e\
+\x09\x74\x65\xc3\x1f\xa0\x8b\x79\xd7\x9a\x05\x71\x7b\xaf\x8f\x90\
+\x37\xf9\xb5\xc9\x7b\xfc\x78\xf2\xf3\x28\x0d\x48\x10\x82\xa2\xb0\
+\x68\xad\xb0\x59\xb2\xb4\x7c\xe6\xa5\xef\xa5\xb7\xfe\xec\x39\x27\
+\xdc\x8d\xd6\x5a\x2b\xa4\x20\x90\x25\x5c\xca\x73\xfd\xc7\x07\xcf\
+\xbe\x55\xfe\xb7\x24\xaf\x35\xf7\x34\x84\x94\x5f\x44\xc8\xbd\x26\
+\x8c\xaf\x51\x51\x1b\x2f\x9e\xa2\xd4\x6c\x81\x58\xed\x9c\x54\x92\
+\x22\xcb\xe8\x9d\x39\x1e\x7b\x5e\xe7\xa1\x46\xf9\x4e\x7e\xfc\x93\
+\xcf\xe2\xfa\x02\xd7\x97\x74\xe9\xf2\xf5\x1f\xdd\xf7\x1d\x60\xfd\
+\x00\x95\xfa\xbd\x55\x2b\xcd\x37\x4a\x51\xe5\xab\xce\xc9\x16\x52\
+\x83\xf6\x71\x45\x46\xb2\xd2\x43\x97\x6b\xd4\x3b\x93\xf8\x51\x40\
+\x7f\x61\x99\xde\xf9\x19\xf2\x34\x45\x06\x65\xf0\x0d\x67\xf3\x93\
+\xe4\xa9\x64\x3c\xcc\x99\x67\x01\x97\x5c\xba\x3b\xaf\xbb\x5a\xa9\
+\xdf\x5b\xbf\x72\xe7\xf6\x7d\x9f\xbe\xeb\xb6\x5d\xcf\x1c\x9a\xe5\
+\xe8\xc1\xe3\xe4\x63\x87\x50\x1a\x61\x7c\xc0\x32\x98\x9b\x25\xeb\
+\xf5\x30\x25\x9f\xa4\x3f\xc4\xe6\x19\xba\x54\x46\x58\x85\xf0\x42\
+\x72\x97\x91\x3a\x18\xcb\x31\xb9\xc8\x90\x27\xde\x77\xc3\xba\x01\
+\xa4\x1f\xdc\xf5\xfe\x3b\x6e\xdd\x75\xcb\xed\xef\xe1\xe0\xa9\x83\
+\x04\xf5\x15\x8a\x42\x21\xb5\x07\x42\xe3\x84\x42\xc8\xd5\x90\x2c\
+\x11\x40\x0b\xed\x69\x70\x16\x51\x78\x20\x63\x06\xe3\x3e\xe3\x42\
+\x52\xb8\x82\xc4\xa5\x08\xb7\xf9\xe3\xd5\xfa\xde\x56\x6f\xf1\xe1\
+\xf9\x35\x01\xb4\x36\xbb\xfe\x79\x78\x96\x7f\x9d\x7a\x96\xe1\x52\
+\x42\x10\x6f\x42\xea\x00\x69\x3c\x84\xf2\x40\x19\x9c\x33\x00\xa4\
+\x1c\xa2\x31\xbd\x48\x37\x9b\xc3\x39\x47\x91\x49\xda\x57\x2d\x93\
+\xa7\x31\x2b\x69\x8f\x7c\x6c\xa9\x87\x0d\x76\xdc\xe2\x55\x4f\x5c\
+\xf7\xc4\x2f\xda\xdf\x7e\x74\xc1\x15\x28\x25\xb4\xea\x34\x3a\xcf\
+\x1d\xb8\xff\x85\x9f\xbe\x01\x40\x98\x70\xfb\xab\x67\xfa\x48\xaf\
+\xa0\xb3\xa3\x43\xa5\x15\x23\xb4\x8f\x15\x86\x2c\x57\x8c\x46\x92\
+\xa2\xf0\x01\xe8\x25\xc7\x78\xef\x27\x8e\x10\x36\x35\x93\xd1\x14\
+\x12\xc9\x85\x91\xcf\xca\x28\xa1\x3b\xec\x62\x33\x47\xcd\x8f\xb9\
+\xf3\x2b\x15\xa6\x82\xfb\x77\x1b\x5b\x42\x4b\x43\xa0\x43\x7e\xf0\
+\xd8\xf7\xb7\x00\xaf\x07\x68\x6c\xbe\x4f\x7b\xcd\x2b\x3a\x3a\x6a\
+\xe1\x24\xb4\xb7\xb5\x69\x6e\x69\x53\x58\xc8\x73\x48\x33\x47\x9a\
+\x14\x48\xb1\x1a\xb2\x74\x62\x86\xdf\xbe\xf0\x07\x5c\x3c\x64\xaa\
+\xd1\x21\xf6\xea\x54\x54\x0d\x91\x0b\xec\xd8\x62\x84\xe1\x95\xfe\
+\x09\xca\x79\x85\x5e\x32\xa4\xe4\x95\x08\x4d\x44\x60\x03\xce\xcd\
+\xcf\x5c\xd4\xfe\x45\x80\x22\x4f\x63\x1d\xb5\x36\x49\x2f\x22\x1b\
+\xce\x52\x14\x05\x4a\x2b\xf2\x64\x4c\x91\x5b\x8a\xcc\x82\x73\x08\
+\x8a\xd7\x22\x2c\x76\x01\x56\x66\x13\x86\x13\xc7\xd0\x81\x22\x30\
+\x01\xb1\x6e\x30\x11\x4e\x52\x8f\x9a\x48\x4f\xa2\x02\x89\x0a\x14\
+\xda\x33\x18\x4f\xa3\x95\x46\x0c\xff\xf7\xf3\x7c\x11\x60\xb8\x72\
+\x76\x47\x4d\x79\xf5\xac\x7b\x92\x71\x3e\x64\xfe\xdc\x12\x7e\x6d\
+\x82\x2c\x19\x53\x14\x0e\xe7\x40\x08\x70\xc2\xae\xbe\xb0\x56\x71\
+\xc5\xd6\xcd\x9c\xb4\x8b\xc8\x40\x81\xe7\xa8\x54\xcb\x28\x15\x70\
+\x72\xfe\x38\x69\x29\xe1\xdd\xfe\x8d\xb8\xa1\x60\x25\xed\x93\xca\
+\x8c\xbe\x1d\x51\xd6\x11\x0d\xdd\x7c\x23\x80\xcd\xd3\xe1\x70\xf6\
+\xc8\x72\xd8\xbe\xb6\xa6\xbd\x2a\x73\xe7\x13\xfc\x46\x82\x17\x88\
+\xd5\x3b\x17\x20\xa4\xa0\x60\x75\x01\x6a\xc7\xbb\xe9\xef\x8f\x89\
+\xf3\x8f\x01\x02\x0a\x43\xa6\xf6\xb3\xf5\x4b\x29\x83\x5e\x97\xc4\
+\x0c\x39\x39\xf7\x6f\x0e\x3c\x14\x33\x38\xee\xef\x4f\xb6\xfd\xe1\
+\x49\xca\x99\x95\x4e\xa8\xc0\xf7\x0e\xbd\x49\x0b\xfe\x74\x48\xaa\
+\x8f\xee\x4e\xfb\xb3\xdf\x12\xc6\xbf\x3e\x59\x7c\x75\xb3\x5f\x99\
+\x0c\x36\x6d\x9f\xc4\xf3\xc1\xb9\x02\x67\x2d\x60\x01\x41\xe4\x7f\
+\x90\x8a\xff\x21\x1c\x02\x10\x48\x57\xe2\xe8\xca\x17\x18\xbb\x97\
+\x08\xfc\x80\xb0\x14\x92\x0e\x33\x16\x8e\x5e\xf8\xbd\x3d\xd6\xb9\
+\xd7\x1d\x49\xcf\xaf\x29\x43\x5b\x3c\xf9\xb4\x10\x1f\x7e\x06\x5c\
+\x03\x9e\xbf\xbe\x77\xea\x6f\xb7\x5d\xe8\xbc\x6b\x57\x63\xdb\xb5\
+\xd3\xb5\xcd\x57\xb6\xfd\x5a\xab\xa2\xfd\xa8\x24\x95\x01\x99\x83\
+\x73\x38\x5b\x50\x64\xa3\x74\x34\x97\x74\x07\xcc\x44\x46\xfb\x55\
+\x63\x0c\x9e\xf1\x91\x52\xe0\xae\x3c\x78\xce\xfd\xe7\xc0\x9b\x16\
+\x7f\x03\x00\x80\x73\x4f\x5b\x60\x1e\x78\xea\xb5\x03\x21\x3e\x50\
+\x06\x2f\x56\x5e\x14\x6b\xbf\x54\x91\x3a\x28\x49\x6d\xb4\xb3\x45\
+\x6e\xf3\x74\x54\x24\xe9\xf2\x38\xed\xbf\x12\x7c\x6a\xff\x2f\x8d\
+\xba\xe9\x33\xda\x68\xb4\xd1\xb8\x42\x40\xa9\xb8\xe4\xba\xb6\xae\
+\x31\xea\xdc\xb3\x7d\xa0\x0f\x9c\xbd\x94\x5f\xe5\xcb\x41\x1e\xb8\
+\x08\xdf\xf8\x04\xc6\x47\x68\x8d\x58\x63\xf7\x7d\xdb\x73\xfc\xcd\
+\xac\x5e\x8a\x0f\x1f\x7d\xec\xc8\xf5\xe7\x97\xcf\x8e\xa4\x38\x2d\
+\xb6\x57\xa7\x45\xab\xde\xfc\xcb\xa5\x62\xfe\x0b\x98\xed\xc4\xbe\
+\x20\x31\x63\xee\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x1a\x97\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x0f\xb2\
+\x49\x44\x41\x54\x78\xda\xd4\x9a\x7b\x70\x1d\xd5\x7d\xc7\x3f\x67\
+\xcf\xbe\xee\x53\x0f\x5b\x32\x92\x2d\x90\x2c\x2c\x3f\xa8\x21\x90\
+\xc4\x78\x08\xa1\x81\x92\x36\xbc\x52\x30\xd3\xa6\x24\xcc\x34\x43\
+\xdb\x19\x66\xa8\x13\x08\x69\x5c\xda\x49\x3b\xed\x84\x49\x4a\x3b\
+\x19\x92\x01\xdc\x34\xcc\x74\x26\x24\xf9\x23\x05\x27\x71\x02\x26\
+\x34\x21\x0d\x58\x32\xc6\x0e\x26\x88\x18\xe1\x97\x6c\x43\x84\x64\
+\x59\x8f\xab\xab\xfb\xd8\xbb\xbb\xe7\xf4\x8f\xdd\xbb\xba\x92\xaf\
+\x1f\xe9\x4c\xa7\xd3\x1d\xed\xe8\x4a\xda\x3d\xe7\xf7\x3d\xbf\xdf\
+\xef\xfb\xfb\x9e\xdf\x91\xd0\x5a\x53\xbf\x6e\xf9\xd8\x4d\x08\x21\
+\x00\x68\xfc\xbd\xef\xfb\xcc\x15\x0a\xfc\xe4\xc5\x9f\x53\x98\x9b\
+\xa3\x38\x57\x58\x69\x59\xd6\xad\xe5\x72\xf9\x1b\x8e\xe3\x90\xcf\
+\xe7\xf9\xc4\x96\x2d\x64\xb2\x59\x4c\xd3\xa4\xd9\x15\x04\x01\xc5\
+\x62\x91\x1f\x3c\xfb\x2c\xc5\xb9\x39\x6a\xb5\x1a\x52\xca\xfb\xca\
+\xe5\xca\xb7\xd3\x99\x74\x21\xdf\xd2\xc2\x1d\x37\xdf\x4c\x2e\x9f\
+\xc7\xb2\xac\x33\xde\x17\x42\xa0\xb5\x46\x20\xf8\xf1\xf3\xcf\x25\
+\xbf\x6f\x3e\x5b\x93\x97\x0d\xc3\xc0\x34\x4d\x6c\xdb\xa6\x30\x33\
+\x73\xbc\x7f\xcd\x1a\xb3\x52\xa9\xfc\xde\x8f\x76\xee\xfc\xe3\x7c\
+\x3e\x8f\x34\xcd\x04\x7c\xd3\x31\x00\x53\x4a\x9e\xdf\xb5\x8b\xe2\
+\xdc\x1c\x9b\x36\x6d\xfa\x6e\x4f\x4f\xcf\x5d\xbe\xef\x3f\x2c\xa5\
+\x6c\x95\x52\x22\x0c\xe3\x9c\x63\x34\xbb\x8c\x0b\x02\x00\x98\xa6\
+\xc9\xde\x57\xf6\xb0\x6f\xef\x2b\xd7\xbe\xf4\x8b\xff\x32\x8f\x1e\
+\x3e\xcc\x15\x97\x6f\xfc\x23\xd7\x75\x2d\xd7\x75\x31\xcf\x07\x40\
+\x08\xa4\x69\xe2\x38\x0e\xa9\x54\x8a\xa3\x87\x0f\xdf\xf5\xfc\xae\
+\x5d\x5c\xb6\x61\x7d\xcb\xb1\x43\x87\x6e\x3d\x7a\xe8\x10\x96\x65\
+\xfd\x2f\x01\x30\x0c\x2c\xdb\x66\xcf\xe0\x20\x7b\x06\x07\xfb\x2f\
+\x5d\xb3\x96\x03\xaf\x1f\xf8\xb7\xb1\xb1\x09\x7e\x3d\x3c\xbc\xe1\
+\xdf\xbf\xf9\xcd\xf3\x03\x88\x3d\xb8\xe7\xe5\x97\x19\xda\xbd\xbb\
+\xeb\xe2\xbe\x3e\x26\x27\x27\xbf\x79\xf8\xc8\x51\x06\x87\x86\x36\
+\x7d\xee\xb3\x9f\xc5\xb6\x6d\x0c\xc3\xf8\x9f\x03\x10\x42\x2c\xdc\
+\x8d\x0f\xc5\x93\x3f\xf3\xbd\xef\xd1\xd9\xd9\xb9\xac\x7f\xcd\xa5\
+\xec\x19\x1c\xda\xf1\xf5\xaf\x7d\x15\xdb\x71\xae\x44\x08\xe4\x79\
+\xdc\x2f\x84\xc0\x94\x92\x57\xf6\xec\xc1\x75\xdd\xee\xb5\x6b\xd7\
+\x72\xec\xe8\xd1\x9d\xff\xf2\xc8\x23\xcc\xcf\xcd\xf7\xa5\xd3\x69\
+\x4c\x29\x9b\x8e\x21\xe2\xf7\x11\xb0\xd8\xb2\x25\x00\x64\x3c\x40\
+\x18\x04\x28\x15\x22\x54\x88\x50\x81\x2d\x54\xe0\x4a\xb4\xed\x98\
+\x06\x42\x85\x72\x60\xcd\x1a\x0c\xd0\x83\xbb\x77\xa3\x03\x7f\x85\
+\x29\x40\xe8\xd0\x16\x2a\x4c\x9d\xfd\x0e\x52\x06\xca\xb1\xa4\x81\
+\x50\x61\xaa\x25\x9b\xa5\xab\xeb\xa2\xec\x6b\xfb\xf7\x55\xb4\x0a\
+\x97\x59\x86\xc0\xd0\xaa\x61\x8c\xc0\x15\x2a\xb4\x50\xa1\x50\x2a\
+\x24\x08\x02\x4c\x29\x31\xe4\x62\x0f\x2d\x4a\xe2\xc3\x47\x8f\x30\
+\x33\x3d\x6d\x9b\xd2\xf8\xea\xba\xcb\x7e\xe7\x2f\x94\x52\x15\xdf\
+\xf7\xd1\x5a\xa3\xb5\xa6\x66\xc8\xea\xd0\xbe\x7d\xf9\x0f\x5e\xf3\
+\x3a\x85\xd2\xfc\x53\x9b\xaf\xb9\x86\x52\xa9\xf4\x0f\x33\xa5\xd2\
+\x03\x69\xad\x5d\x71\xfe\x00\xd6\x35\xf0\x7f\x7d\xe8\x90\xdc\xf5\
+\x93\xe7\x29\x96\x4a\xff\xda\xd9\xd5\x95\x72\x32\xa9\x9b\x4e\xcd\
+\xce\x8e\xb9\xae\x9b\x32\x16\x62\x48\x0b\x21\x30\x4d\x13\xdf\xf7\
+\xdd\x77\x4e\x9c\x78\xdc\x10\xc6\x83\xdd\xdd\x2b\x17\x7b\xa7\x91\
+\x2e\xd3\xa9\x94\x5d\xa9\x56\xef\xf9\xd4\xa7\x3e\xb5\x9d\xab\x3f\
+\xce\x77\x26\x1d\x52\xca\xc3\x40\xa3\x11\x20\x25\xe5\xf1\xf7\xe0\
+\xbd\x51\x32\xe5\xf7\x38\xf6\xdd\x47\xb9\xeb\x07\xc3\xbc\x38\x32\
+\x41\xda\x95\x2c\x35\x5f\x37\x09\x06\x2d\x0c\xaa\xe5\x22\xfa\xc8\
+\x41\x28\x8c\xf3\xa3\xbf\xfa\x04\x6f\xa6\x7a\x79\xe8\x87\xaf\xe3\
+\x66\x2d\x0c\x83\x24\x48\x14\x82\x8a\x4c\xf1\xb9\xd6\x71\xd4\xc9\
+\x83\x3c\xfa\xe8\xa3\x37\xf7\x5e\xd2\xbb\x6b\xf4\xf8\x68\x73\x0f\
+\x08\xc3\x70\x80\xfe\x5c\x2e\x87\xd7\xb5\x1a\xac\x4e\x2a\x94\x63\
+\x53\x04\x58\x0e\xa4\xc6\xd8\x78\xec\x3f\xf9\xcc\x9f\xdc\xc6\xc1\
+\x83\x07\xf9\x79\xc1\x86\xb5\x57\x53\xd6\x7e\x53\x93\x09\x54\x14\
+\xa9\xf5\x99\xa4\x0d\x9e\x47\xfb\xdb\x2f\xf3\xf9\x8f\x6d\xa0\xa3\
+\xa3\x83\xef\x0d\x1e\x83\x4b\x37\x53\x35\x3c\x90\x0d\x08\x10\x60\
+\x66\x49\xdb\x07\x08\x4e\x1d\x43\xc0\xc5\x2a\x0c\x0c\x40\x35\x05\
+\x60\x4a\x29\x00\x55\x2c\x16\xa9\x4e\x4d\x40\xcd\x85\xa0\xb4\x60\
+\x98\x9d\x86\xf9\x49\x8c\xc9\x13\x5c\x71\xc5\x15\x3c\xfe\xf8\xe3\
+\xe8\xf6\xdf\x87\x54\x2b\xd4\x4a\x67\x1a\xaf\x14\x5d\x2d\x2e\x6d\
+\x8e\xc9\x5b\xd3\x65\xb4\x02\x4c\x1b\x82\x90\x8e\xa3\x43\xac\xfb\
+\xf3\xdb\xd8\xbd\x7b\x37\x07\x5e\x9d\xe2\x8a\x4f\xbe\x1f\xaf\x50\
+\x61\xe4\xd4\x5c\x9c\x99\x22\xba\x6d\xcd\xf4\xcc\x38\xa2\x58\x24\
+\xe2\x17\x43\x9c\x35\x07\xb4\xd6\x02\x30\x7c\xdf\xc7\xf7\xbc\x68\
+\x00\xad\x20\x54\x10\x02\x78\x90\x5f\xce\xaf\x3a\x3e\xc8\x87\x3f\
+\x79\x2f\x5e\xc7\x6a\xb8\xa5\x1b\x6a\x55\xf0\x43\x90\x02\x62\xb6\
+\x00\x20\xd4\x64\xa4\xa0\xd3\x35\x39\x18\xc4\x63\x88\x00\x04\xbc\
+\xbd\xf9\x4f\xf9\xb3\xbf\x7b\x84\xa2\x95\x85\x9b\xb7\xd2\x2a\x7c\
+\x0a\x06\x10\x86\xa0\x04\x18\x02\x84\x01\x42\x50\xa9\x94\x30\x6b\
+\x35\x10\xc2\x50\x2a\x34\x88\xad\x39\x13\x40\x7d\xde\x30\x24\x54\
+\x0a\x64\x1c\x02\x12\x36\x76\xe5\x98\xf0\x14\xa7\xc6\x8b\xe4\x6f\
+\xd8\x42\xa6\xe3\x3e\xbc\xd3\x63\x4c\x2b\x4d\x77\x8b\x83\x8d\xc9\
+\xf1\x89\x62\x14\x02\xa6\x8c\x17\x50\x53\xf0\x42\x5a\x9c\x90\xf7\
+\xad\xc8\x50\xf6\x15\xa6\x69\x32\x36\xef\x31\xbb\x72\x3d\x33\x1b\
+\xae\x83\xf9\x19\x30\x6d\x0e\x8e\x17\xe8\x4a\xc3\x0d\x97\x2e\xa3\
+\x16\x2a\x82\x50\xf3\xca\x78\x09\x34\xf8\x41\x80\x08\x43\x50\x5a\
+\x84\x2a\x3c\x3b\x0b\x11\x27\xb4\x52\x0a\xa5\x54\xbc\x92\x82\xa1\
+\xbb\x37\xf2\xe2\x89\x39\x0e\xcd\x7a\xfc\x5c\x07\xec\xb8\xb6\x95\
+\x6f\xbc\x71\x8a\x31\x6d\xa3\x96\xad\xe0\x1f\xaf\x5d\xcd\x4b\xef\
+\xce\xf2\xbe\x8e\x7e\x6e\xfc\xce\x1b\xa0\x74\xb4\x82\x0a\xae\x5a\
+\x91\xc5\x00\xa4\xa1\x99\xaa\x2a\xba\xb3\x36\x0a\xc1\x2c\x02\xe6\
+\x26\xc0\x0f\x10\xe9\x0c\x77\xaf\x5f\x46\xa1\xe2\x31\x34\x56\xa4\
+\xd5\x91\x64\x2d\x49\xda\x36\x28\x6b\x8d\xd2\x91\x3d\x1a\x08\x03\
+\x7d\xf6\x3a\x50\x67\x24\xad\x75\xe4\x0d\x05\x76\xca\x64\x7d\x5b\
+\x8a\xaf\x1d\x18\xe3\x5b\xbb\x0e\xd1\x92\x72\x29\x48\x87\x27\x87\
+\x27\x78\xee\x9d\x2a\x8e\x6d\xf1\xdc\xc8\x04\x9f\xff\xd6\x01\xae\
+\xeb\xc9\xd1\x9e\x77\x41\x25\x39\xc6\x3b\xc5\x2a\x01\x9a\x53\xa5\
+\x80\x94\x84\xd9\x6a\x80\x42\x83\x9b\x8d\xc2\xcd\x76\xd0\xa6\xc3\
+\xdb\xd3\x25\x46\xa6\x2b\x5c\x9c\x77\xa8\x29\xcd\xf2\x8c\x4d\xb9\
+\x12\x82\x10\x68\xa5\x51\x4a\x21\x00\xdd\x30\x76\x13\x0f\x90\x78\
+\x00\xad\xc1\x82\x5a\xa1\xca\x4d\x3b\x46\xd8\xf1\xf1\x75\xfc\xf4\
+\x7d\x05\xbe\xf1\xc6\x04\x57\xf7\xad\xe4\x9f\x6e\x55\x0c\x9e\xf2\
+\x98\x2a\x07\x7c\xfa\x77\x2f\xa6\xbd\xc5\xe1\xaf\x5f\x3a\xc9\xf4\
+\x6c\x05\x1c\x99\xe4\x41\xd1\x57\x80\x46\x18\x82\x79\x5f\xd1\x99\
+\x96\x94\xab\x35\x70\xd2\xe0\xda\x20\x24\x60\x30\x5d\xaa\x91\x77\
+\x4d\x0a\xd5\x10\x57\x4a\x4e\x95\x6a\x71\x44\x44\x2a\xb4\xee\x01\
+\x84\xe6\x5c\x49\xbc\x00\xa0\x7e\xb9\x16\xaf\x8c\xce\xf0\xe1\xb7\
+\x26\x19\xfe\xcc\xd5\x0c\xbe\x3b\xc7\x0f\x8f\xce\xb0\xed\xe9\x43\
+\x60\x49\xb6\x5c\xb3\x92\x9f\x9d\x98\xe3\x33\x3f\x78\x3b\x5a\x81\
+\x8c\x4d\x03\x0f\xd2\xee\x9a\x64\x4d\x89\x44\x10\x68\xcd\x5c\x2d\
+\xc4\x31\x63\x26\x34\xed\xd8\x5b\x9a\x4b\x5a\x5c\x66\xbc\x80\xb6\
+\x94\x41\xc5\x07\x57\x8a\x84\x88\x1a\x6d\xd2\x4b\x98\xba\xa9\x9c\
+\x56\x4a\xa1\xb4\x06\x5f\x63\xdb\x92\xbd\x9f\xbe\x82\x56\xdb\xe0\
+\x9f\xf7\x8f\xf3\x8b\xdf\x14\xd9\xf1\x87\x6b\x39\xf8\x37\x1f\x62\
+\xb4\x50\x63\xfb\x1b\xe3\x1c\x9c\x2a\x47\x4c\x95\xb5\x23\x2f\xd6\
+\x67\xd1\x1a\xa5\x34\xae\x94\x28\x60\xdf\x6f\xe6\x98\x9a\xaa\x80\
+\x2d\xa3\xf0\x09\xc2\xe8\x59\x01\x96\x84\x16\xc7\xe4\x3f\xde\x9c\
+\x88\x38\xc6\x00\xa4\x8c\xc6\xd0\x1a\x1d\x86\x34\x2b\xf3\xe6\x19\
+\xaa\x29\x66\xa1\xb2\x17\x02\x35\x6a\xf3\xf3\x5c\xf9\xd5\x3d\x11\
+\x45\x16\x6b\x60\x4b\xf2\x7f\xfb\xb3\x85\x82\x13\xc2\x8f\x8d\x98\
+\xf6\xe6\xbc\x85\xc5\x8f\x31\x0c\x8f\x9c\x66\x58\x9d\x5e\x58\x4d\
+\x21\xa0\x1a\x2c\x7e\x4e\xc3\xb7\x5f\x3a\x19\x79\x43\x1a\xc4\xaa\
+\x0d\x0c\x03\xc2\x1a\x15\x5f\x61\x07\x01\xea\xbc\x00\xe2\x6b\x76\
+\x76\x96\xfb\xdf\xdf\xcd\xd7\xaf\xbf\x8a\xf2\x54\x89\x40\x87\xd1\
+\xd8\xb1\x56\x08\x63\xeb\x84\x10\x98\xc2\x40\x18\x22\x62\x83\x58\
+\x33\x2d\x4e\x2b\x15\xdb\x28\x90\xc2\xc0\x10\x22\x91\x1c\x5a\x93\
+\xe8\xac\x10\x15\x33\x8a\x91\x60\x13\x86\x24\xb3\x3c\xc5\x0b\x8f\
+\xfd\x82\x9f\xbe\x39\xdf\x54\x5c\x35\x05\x50\x2b\x57\x58\xd3\x96\
+\xe2\x4a\x07\xe8\xce\xf0\x7f\x7d\xed\x4f\x59\x78\xa5\xf2\x85\x03\
+\x08\x95\xa2\x5a\x0b\x92\x35\xd4\x61\xb8\x44\xdb\x1b\x91\x7b\x81\
+\xc1\x97\x5f\x66\x6e\xae\x80\x61\x48\xfe\xe0\xa6\x9b\xe2\x24\x0a\
+\xa3\xfd\xab\x10\x60\xc8\x85\x71\x7d\x9f\x63\xa3\xc7\x78\xe7\x9d\
+\x77\xc8\xe7\x72\xf4\xf5\xad\x66\x59\x47\x47\x83\xbb\x14\x5a\xe9\
+\x44\x7b\x09\x19\xbd\xeb\xf9\x21\xc1\x92\x02\x76\x6e\x00\x5a\x13\
+\x84\x2a\xde\x8c\x87\x8b\x58\x29\x92\xb8\xd1\xb6\xe2\xc4\x89\x13\
+\x5c\x7b\xdd\x75\xc9\xdf\xaa\xd5\x2a\x8e\xe3\xe0\x87\x0a\xad\x35\
+\xa6\x29\x31\x62\x52\xb8\xf7\xde\x7b\x79\xf2\xc9\x27\xcf\x08\xb1\
+\x8d\x1b\x37\xf2\xcc\x33\xcf\xb0\x66\xcd\x1a\x10\x06\x81\xf2\x93\
+\x67\x4c\xc0\x90\x12\x85\x6e\xb0\x41\x5c\x08\x0b\x69\x74\x03\x7d\
+\xd5\x5f\xae\xef\xcc\xea\xb2\xff\xfa\xeb\xaf\x8f\x98\xd6\x75\x91\
+\x52\x26\xdd\x04\xa5\x54\xdc\x08\x88\x56\xf0\xb2\xcb\x2e\x63\x64\
+\x64\x04\xd3\x34\x09\x82\x20\x99\xc7\x71\x1c\x86\x87\x87\x19\x18\
+\x18\x60\xdf\xbe\x7d\x7c\xe0\x03\x1f\x58\x44\x99\xa1\x10\x18\x52\
+\xa2\x75\xb4\x90\xcd\x36\xc1\x4d\x37\xa0\x5a\x85\x11\x2d\xd6\x75\
+\x51\x1c\x42\xb6\x6d\x23\x84\x60\x74\x74\x94\x81\x81\x01\x46\x47\
+\x47\xe9\xec\xec\xc4\xb2\x2c\xa4\x94\x0b\x13\x87\x0b\x5e\xdb\xba\
+\x75\x2b\x23\x23\x23\xe4\xf3\x79\xb4\xd6\x6c\xd9\xb2\x85\x1d\x3b\
+\x76\xf0\x85\x2f\x7c\x01\x21\x04\xb9\x5c\x0e\x80\xbb\xee\xba\x2b\
+\xd9\x15\xd6\xe7\xac\xcf\x2b\x34\xa8\xd8\x1e\xe3\x42\x42\x28\x92\
+\x12\x8b\x8b\x9a\xe3\x38\x14\x8b\x45\xb6\x6f\xdf\xce\xb6\x6d\xdb\
+\x00\xc8\xe5\x72\x89\x37\x84\x10\x84\x61\x88\x69\x9a\x28\xa5\x90\
+\x71\xfc\x3e\xfd\xf4\xd3\x00\xcc\xcd\xcd\x71\xe7\x9d\x77\x26\x3f\
+\xdf\x71\xc7\x1d\xac\x5b\xb7\x8e\x7b\xee\xb9\x87\x5c\x2e\xc7\x91\
+\x23\x47\x38\x7a\xf4\x28\xfd\xfd\xfd\x09\x33\x25\x1b\x3c\x03\x62\
+\x11\x97\xa8\x9c\xf3\x03\x68\xa8\xca\xf5\xbd\xf2\x0d\x37\xdc\xc0\
+\xfe\xfd\xfb\x93\xe7\xfa\xfa\xfa\x78\xf7\xdd\x77\xcf\x78\xaf\x1e\
+\x42\xa7\x4f\x9f\xc6\x34\x4d\x2c\xcb\xc2\xf7\x7d\x6e\xbd\xf5\xd6\
+\x28\x29\x3d\x0f\xc7\x71\xf8\xc8\x47\x3e\x92\x80\x07\x28\x95\x4a\
+\xc9\x9c\x8d\x00\xc2\x50\x2d\xc8\x9c\x0b\x29\x64\x2a\x5c\x0c\xa0\
+\xbe\x4d\xad\x54\x2a\xc9\xa3\x4f\x3d\xf5\x14\xb9\x5c\x8e\xdb\x6f\
+\xbf\x9d\x6c\x36\xbb\x28\x5f\x94\x52\x54\x2a\x15\xb2\xd9\x2c\xa3\
+\xa3\xa3\x94\x4a\x25\x8e\x1c\x39\x42\x5f\x5f\x1f\xd5\x6a\x15\xdf\
+\xf7\x71\x1c\x87\xd3\xa7\x4f\x2f\x9a\xbe\x31\x87\x1a\x01\xd4\x3c\
+\xaf\x5e\x19\x43\x74\xa8\x2f\x28\x07\x1a\x01\xd4\x63\xb1\xad\xad\
+\x8d\x8f\x7e\xf4\xa3\x9c\x3c\x79\x92\xbb\xef\xbe\x9b\x42\xa1\x70\
+\xc6\xca\xd7\xef\x30\x0c\xa9\x56\xab\x78\x9e\x47\x2a\x95\xe2\xaa\
+\xab\xae\xc2\x71\x1c\x3c\xcf\x4b\x0c\xfd\xf2\x97\xbf\x9c\x2c\x4c\
+\x67\x67\x27\xfd\xfd\xfd\x54\xab\xd5\x45\xc4\x51\x6f\x6d\xc6\x60\
+\x14\x7a\xb1\x13\xce\x1a\x42\xf5\xf7\xc3\x30\x20\x08\x02\x66\x66\
+\x66\xd8\xb9\x73\x27\x6d\x6d\x6d\xc9\x73\xe5\x72\x79\x11\xbd\x06\
+\x41\x80\x69\x9a\x84\xe1\xc2\x02\xd4\x6a\xb5\x45\x79\xe2\x38\x0e\
+\xae\xeb\xf2\xc4\x13\x4f\xf0\xfd\xef\x7f\x9f\x96\x96\x16\x0a\x85\
+\x02\xf7\xdf\x7f\x3f\xb6\x6d\x33\x3d\x3d\x9d\x30\x95\x61\x18\xd4\
+\x6a\x1e\x41\xa8\x10\x51\x14\x28\xa5\xd4\xb9\x72\xc0\x88\xeb\x80\
+\x5a\xb2\xaa\xd1\x77\xcb\xb2\x98\x9c\x9c\x44\x08\xc1\xf2\xe5\xcb\
+\x13\xcf\x34\x8a\xc0\x20\x08\x92\x10\x60\x49\x73\xcc\x75\x5d\x72\
+\xb9\x1c\xdb\xb7\x6f\xe7\xbe\xfb\xee\x23\x9d\x4e\x53\x28\x14\xd8\
+\xb8\x71\x23\x0f\x3e\xf8\x20\xa5\x52\x89\x7a\x1b\xa7\xce\x48\x53\
+\xa7\xa7\x08\xfc\x5a\x3d\x8c\x03\xa5\xf5\x85\xb1\x10\x71\xf1\x08\
+\x55\xbd\x3a\x92\x18\x5c\xcf\x89\xba\x9b\xeb\x2b\xdc\x18\x42\x8d\
+\x00\x0c\xc3\xc0\x71\x1c\x72\xb9\x1c\x8f\x3c\xf2\x08\xdb\xb6\x6d\
+\x23\x95\x4a\x51\x2e\x97\x69\x6d\x6d\xe5\xd9\x67\x9f\xc5\x34\x4d\
+\x66\x66\x66\x16\xa8\x33\xee\x09\x8d\x8c\x8c\xe0\x3a\x2e\x22\x1a\
+\x2f\xac\xd3\xe9\x39\x73\xa0\x6e\x80\x8a\x8d\x6f\x34\xac\x31\x3e\
+\x1b\x8d\x14\x42\x9c\xf5\x39\xc7\x71\x68\x69\x69\xe1\xa1\x87\x1e\
+\x62\xdb\xb6\x6d\x64\xb3\x59\x2a\x95\x0a\xdd\xdd\xdd\xec\xdd\xbb\
+\x97\x9e\x9e\x1e\x26\x26\x26\xf0\x7d\xff\x0c\x2f\x1e\x3f\x7e\x9c\
+\xce\xce\x15\x04\xd1\x58\x7e\x10\x9e\x63\x4f\x6c\x2c\xa2\x43\x85\
+\xef\xfb\x04\x61\x90\x78\x60\x29\x5d\x2e\x0d\x93\x7a\xf2\xd6\x73\
+\x40\x08\x81\x65\x59\xb4\xb5\xb5\xf1\xa5\x2f\x7d\x89\xaf\x7c\xe5\
+\x2b\x64\xb3\x59\xe6\xe7\xe7\xe9\xee\xee\x66\x70\x70\x90\xde\xde\
+\x5e\xc6\xc6\xc6\x08\x82\x20\x19\xd3\x30\x0c\x72\xb9\x1c\x93\x93\
+\x93\x94\x4b\x65\x56\xae\xba\x38\x51\xfa\xbe\x1f\x5c\x40\x77\xba\
+\x09\xab\x2c\xbd\x1b\x13\x75\xd1\x46\xa8\xe1\x16\x42\xb0\x62\xc5\
+\x0a\x1e\x7b\xec\x31\xbe\xf8\xc5\x2f\x92\xcf\xe7\xf1\x3c\x8f\x2b\
+\xaf\xbc\x92\xe1\xe1\x61\x7a\x7b\x7b\x99\x99\x99\xc1\x34\xcd\xe4\
+\x60\xc4\xb2\x2c\xd2\xe9\x34\xf9\x7c\x9e\xe1\x37\x7e\x45\x2e\xdf\
+\x42\x6b\x6b\x6b\xdd\x50\xe5\x07\xb5\x0b\xc8\x81\x84\x89\x14\x2a\
+\x3c\x33\x21\x97\x6a\x24\x1a\xda\x31\x75\x49\x21\x84\xa0\xb5\xb5\
+\x95\xa1\xa1\x21\xb6\x6e\xdd\x4a\x3a\x9d\x46\x4a\x49\x77\x77\x37\
+\x3b\x76\xec\x20\x97\xcb\x71\xf2\xe4\xc9\x84\x36\xeb\x34\x6d\xdb\
+\x36\xd9\x6c\x96\xc2\xcc\x0c\x6f\xfd\xfa\x2d\x36\x5f\xf3\x21\x52\
+\xa9\x0c\x71\xf2\x86\x17\xa4\x46\xeb\x61\x12\xaa\xb0\x29\xa3\x34\
+\xe6\xc9\x62\xea\x5d\x58\x7d\xd3\x34\x71\x5d\x97\x07\x1e\x78\x00\
+\x20\x29\x76\x61\x18\x72\xe3\x8d\x37\x32\x35\x35\x85\xe7\x79\x64\
+\x32\x19\xfa\xfb\xfb\xe9\xed\xed\xe5\xe1\x87\x1f\xa6\xaf\xaf\x0f\
+\xc3\x30\xd8\xf7\xcb\x5f\x62\x5a\x16\x5d\x5d\x5d\x78\x5e\xad\x3e\
+\x97\xfe\xad\x00\xa8\x50\x9d\x13\x40\x9d\x31\x6a\xb5\x1a\x96\x65\
+\x11\x04\x01\x52\x4a\xb4\xd6\xa4\xd3\x69\xf6\xec\xd9\xc3\xab\xaf\
+\xbe\x4a\x26\x93\x49\xb8\xbd\x56\xab\x31\x3e\x3e\x0e\xc0\xaa\x55\
+\xab\xd8\xb0\x61\x03\x03\x03\x03\xf4\xf7\xf7\xd3\xd1\xd1\x81\x61\
+\x18\x68\xad\x79\xe3\xc0\xeb\x5c\xd2\xb7\x9a\x96\xb6\x56\xa6\xa7\
+\x67\x9b\xda\x70\x76\x00\x1a\x54\xc3\x8a\x36\x7b\xd9\xf7\xfd\x44\
+\xbb\xd4\x6a\x35\x6a\xb5\x1a\x9e\xe7\x25\x62\xce\xb2\x2c\x5e\x78\
+\xe1\x85\x44\xe3\x54\xab\xd5\x24\x49\xdb\xdb\xdb\x59\xbf\x7e\x3d\
+\x97\x5f\x7e\x39\x03\x03\x03\xac\x5f\xbf\x9e\xb5\x6b\xd7\x92\xcf\
+\xe7\x01\xd8\x33\x34\x88\x69\x5b\xac\x5c\xd9\x43\x36\x9d\xa3\x38\
+\x57\xfc\xed\x3c\x20\xd0\xe8\x25\x8c\xb2\x74\xf5\x27\x27\x27\xb9\
+\xed\xb6\xdb\xd8\xb4\x69\x53\x62\xb4\x69\x9a\x54\x2a\x15\xc2\x30\
+\x64\x6a\x6a\x8a\x5b\x6e\xb9\x85\xcd\x9b\x37\xe3\x38\xce\xa2\x7a\
+\xd0\xda\xda\x4a\x36\x9b\x25\x9b\xcd\x92\xc9\x64\x48\xa5\x52\x0b\
+\x8d\xb0\x93\x27\x79\x75\xef\x3e\x06\xd6\xae\x67\xd9\xb2\x76\x1c\
+\xd7\x89\x4e\x65\x14\xe7\xf7\xc0\x82\xa1\x46\x72\x34\x7a\x36\x0f\
+\x54\x2a\x15\x5a\x5a\x5a\xb8\xe8\xa2\x8b\x12\x50\xa5\x52\x29\xa1\
+\xc3\x4a\xa5\xc2\xf2\xe5\xcb\x59\xb5\x6a\x55\x34\x51\x9c\x13\x8e\
+\xe3\xe0\x38\x4e\x22\xb7\x1b\x77\x73\xbb\x9e\x7b\x96\x63\xc7\x8e\
+\xb3\x7a\x75\x3f\x3d\x3d\x3d\x64\x73\x39\xa4\x8c\x6b\x8c\x56\x17\
+\x00\x20\x6a\xe8\xe8\xfa\x6e\xaa\x6e\x7c\x33\x00\x75\x23\x1b\x15\
+\xea\xd2\xa4\x2e\x97\xcb\x94\x4a\xa5\x64\x95\xeb\xde\x5c\x7a\x90\
+\x37\x34\x38\xc8\xe0\xee\x41\x5c\xc7\x65\xdd\xba\xcb\xe8\xe9\x59\
+\x45\x5b\x6b\x3b\xb6\x6d\x2f\x62\xc5\xf3\x03\x88\xb8\x2a\x10\x06\
+\xa4\xd3\x19\xa4\x94\x38\xae\x4d\xb2\xbf\x14\x67\xe1\xdc\xb3\x5c\
+\x4a\x29\xf2\xf9\x3c\xed\xed\x51\x28\x18\x62\xc1\x70\xaf\x5a\x61\
+\x68\xf7\x10\x6f\xbe\xf9\x26\xb5\x5a\xc8\xea\xfe\x35\xac\x5c\xd5\
+\x43\xfb\xb2\x76\x72\xd9\x2c\xae\xe3\x26\xb5\x41\x08\x81\xe7\xd7\
+\xce\x0f\x20\x54\x61\x08\xf8\xa9\x54\x8a\x7c\x6b\x0b\x63\xbf\x19\
+\xe7\xd4\xa9\x53\x49\x89\x5f\x9a\x27\x8b\x41\x89\xa6\x5e\x72\x1c\
+\x17\x29\x0d\xc2\x50\xe1\xfb\x35\x82\xc0\x27\x0c\x42\xbc\x6a\x15\
+\x37\x95\xe6\xaa\x0f\x5e\x4d\x77\xd7\x4a\xda\x96\xb5\x93\xcf\x65\
+\x68\x76\xca\xda\xda\xd6\x76\x46\x53\xb7\x29\x00\xa5\x74\x08\xa8\
+\xbe\xde\x5e\x7e\xfc\xc3\x9d\x8c\x8f\xbf\xc7\x7c\xac\x10\x95\x56\
+\xa0\xa2\xfd\x5c\xbd\xf5\x11\x85\x58\xdc\xbe\xd2\x2a\xf6\x94\x8e\
+\xbf\x16\x3a\xdd\x0a\x30\x44\xd4\xd8\xb2\x6c\x8b\x54\x2a\x45\x2a\
+\x95\x26\x93\x49\xe3\xa6\x52\xb8\x8e\x83\x69\x59\x71\xc3\x40\x46\
+\xe7\x64\xb1\x40\xb4\x6d\x1b\xa5\x34\xeb\xd6\xad\xe3\xf0\xe8\x31\
+\x71\x6e\x00\x51\xa2\xe8\x53\xa7\x4f\x73\xe2\xd8\x11\x5e\x7b\xed\
+\x35\xa4\x69\x22\x4d\x89\x6d\x59\x58\xa6\x85\x65\x2d\xdc\xa6\x65\
+\x61\xda\xf1\x67\xd3\xc4\xb4\x24\x52\x9a\x98\xd2\x44\xd6\x15\x2b\
+\x51\x3d\x09\x55\x88\x0a\xa2\xe3\x52\x3f\x08\x98\x9f\x9b\x65\x66\
+\x6a\x12\x3f\x08\xf0\x3d\x8f\x9a\xef\xe3\xc7\x54\xec\xfb\x35\xfc\
+\x20\x6a\xa7\x07\x41\xc0\xb5\xd7\x7e\x88\xa9\x99\x99\xa6\xd2\x47\
+\x2c\x51\x94\x2e\x70\x27\xf0\xf7\x8e\xe3\xac\x41\x47\xed\x15\x21\
+\x8c\xa8\x2d\x68\x08\x0c\x69\x20\x0c\x89\x61\x18\x51\xab\xd1\x30\
+\x90\x46\xdc\x32\x8c\x0f\xbb\x0d\x11\x1d\x35\x89\xc6\x04\xac\x37\
+\x69\xe3\x0a\xaf\x95\x46\xab\xfa\xe7\x18\x60\xd8\x28\xc7\xeb\x81\
+\x29\xc0\x00\xcf\xf3\xf6\x03\x7f\x09\xec\x5d\x64\xf3\x52\x49\x0c\
+\x74\x00\xf9\xd8\x3b\xba\x21\x4d\x7f\xbb\x7f\x62\x38\x77\xaa\xeb\
+\x0b\xa3\x81\x45\x91\x52\x06\xa6\x81\xd2\x59\x01\xfc\x7f\xbc\xfe\
+\x7b\x00\x39\x4a\xe1\x27\x66\x0a\xa6\xe2\x00\x00\x00\x00\x49\x45\
+\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x61\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x28\x49\x44\x41\x54\x58\x85\xb5\x97\xdf\x6f\x54\xc7\
+\x15\xc7\x3f\x33\x3b\x7b\xf7\xfa\x7a\x0d\x66\x6d\x63\xaf\x1d\x9c\
+\x18\xc5\x98\x46\x2a\x24\xa1\x84\x52\x70\xdd\x14\x12\x64\x90\x50\
+\x79\x68\x24\x4b\x95\x12\x50\xd5\x2a\x52\xa3\x52\x45\x95\xda\x3f\
+\xa2\x95\x2a\xa5\x12\xa2\xea\x0b\x8d\x44\x95\x97\x24\x0a\x20\xd2\
+\x2a\x0a\x7d\x68\x70\x78\x70\x6d\x6a\xb5\xc1\x05\x6c\x60\x0d\x36\
+\xd8\xde\x65\xd7\xbb\x7b\xf7\xde\x3b\x33\x7d\x70\xfc\x0b\x0c\xfe\
+\x51\xf7\x48\x57\xba\xbb\x67\x66\x3e\xdf\x39\x67\x7e\x9c\x2b\x58\
+\xc6\x4e\x9f\xfe\xb8\x29\x9d\x4e\xf5\x7b\x9e\xeb\x2e\xd7\x76\xa1\
+\xdd\xbe\x3d\x3a\x70\xfc\xf8\x0f\xbe\x07\xd8\xa7\xb5\x53\xcb\x0d\
+\x14\x45\xe1\xd6\x9d\x3b\xdb\x1b\xb7\x6c\x69\x7c\x6a\x3b\x6b\xc1\
+\x62\xb1\x16\xa4\x10\x7c\xfe\xb9\xdd\x05\xd4\x02\xd9\xff\x49\xc0\
+\x4a\x4c\x1b\x8b\x31\x16\x6d\x2d\xda\x58\x1c\x15\x5b\x71\x5f\xb9\
+\x5c\x83\x28\x0a\xb1\xf6\xc9\x51\x7c\x14\x6e\x0c\x58\x6b\xd1\x5a\
+\xaf\x8f\x80\x20\x08\x30\xc6\xac\x10\x6e\xd1\xc6\x60\xe1\xff\x2f\
+\x60\x69\xf8\xcc\x6f\xac\x45\xeb\x68\xbd\x04\x54\x1e\x13\xf0\x34\
+\xf8\xec\x7b\x14\xad\x93\x80\x30\x0c\xb0\x76\x5e\xc0\x72\xf0\x20\
+\xd4\xab\x8a\xc0\xb2\xbb\x60\x36\x02\xf6\x11\xf8\x2c\xd8\x3c\x02\
+\x37\x5a\x63\xed\x3a\x45\xa0\xbb\xbb\x3b\x9e\xc9\x0c\x75\x1b\x63\
+\x31\x76\x65\x70\xad\xcd\xac\x00\xb5\x77\xef\xde\xef\xac\x29\x02\
+\x87\x0f\x1f\x7e\x0e\xd8\xa9\xb5\x7e\xf3\xe5\x97\x77\x1c\x33\xc6\
+\x60\x0d\x2b\x82\x9b\x68\x26\x02\x52\x8a\x44\x67\x67\xe7\x27\x89\
+\x44\xe2\xb7\x9e\xe7\x9d\x07\x7a\x2f\x5c\xb8\x50\x7e\xa2\x80\x23\
+\x47\x8e\x74\x68\xad\x7f\xb7\x7b\xf7\xde\xd7\x76\xef\xfe\xb6\x6c\
+\x6e\x7e\x06\xcf\xf3\xb8\x74\xe9\xaf\x58\x6b\x30\xac\x0c\x3e\x93\
+\x02\xf0\x7d\x9f\x37\xde\xe8\x11\x6f\xbd\xf5\xf6\xbb\xb9\x5c\xee\
+\xdd\xe1\xe1\xeb\xb4\xb7\x77\xdc\xbb\x7a\xb5\xff\x23\xcf\xf3\x7e\
+\x7d\xfe\xfc\xf9\x87\x73\x02\xba\xbb\xbb\x7f\xdc\xd3\xf3\xe6\x1f\
+\xf6\xed\xeb\x44\xca\xf9\xac\x48\x29\xc8\xe5\x72\x18\x63\xf0\x03\
+\x43\xa1\x1c\x51\xaa\x68\x4a\x81\xa6\x5c\xd1\xe4\x4b\x11\x12\x43\
+\x5c\x42\x5c\x58\xe2\xd2\xa2\xa4\x25\x15\x69\xb4\xd6\xe4\xf3\x39\
+\x1a\x1a\x9a\xa9\xae\xf6\x68\x69\x69\x66\xff\xfe\xef\xa6\xcb\x65\
+\xff\xed\xf7\xdf\xff\xe3\x89\x4c\x26\xb3\x63\x60\x60\x60\x48\x1d\
+\x3d\x7a\xb4\xa6\xad\xed\xf9\xdf\x77\x75\xbd\xfa\x58\x2a\x1c\x47\
+\x91\x15\x9b\xb9\x1b\xd5\x31\x79\x3d\x47\x22\x2e\x49\x28\x49\x22\
+\x2e\x48\x55\x2b\x9a\x6b\x1d\x22\x63\x09\x42\x43\x10\x59\x2a\x91\
+\xa1\x14\x59\xfa\x6f\x97\xd9\xb8\xbd\x8b\x89\x7b\x97\xd9\xb4\xa9\
+\x80\x94\x02\x29\x25\x42\x08\xa4\x14\xf4\xf4\x1c\x4f\xf4\xf6\x7e\
+\x71\x0a\x38\xa0\x8c\x31\xaf\x9f\x38\xf1\x13\x27\x16\x13\x4b\xac\
+\x06\x43\xaa\xb5\x83\xf6\xb6\xd4\x92\x0b\x28\x64\xe6\xaa\x33\x0a\
+\xa4\x85\x84\xb5\xc4\x2d\x54\x59\xa8\x69\x80\x4b\x83\x21\xed\xcf\
+\x5b\xa2\xc8\x70\x2f\x77\x9f\x1b\xe1\x5d\xf6\x37\x7c\x13\x80\xae\
+\xae\x83\x9d\x03\x03\x03\x4d\xca\x5a\xfb\x5a\x7d\x7d\x1d\xb1\xd8\
+\xe3\x1b\x22\x9f\xcf\x62\x36\xb5\x30\x94\x5f\xec\x8b\x8c\x25\x1f\
+\x42\x21\x80\x7c\x60\xd1\x73\x57\xc5\xe2\x49\xdc\x2a\x6d\xe0\x58\
+\xb2\x0a\xdf\x0f\x88\xb9\x92\xec\xbd\x02\x4e\xcb\xcc\xb2\xdb\xb7\
+\xaf\x4b\x7d\xf8\xe1\x07\x07\x94\x94\xf2\x99\x78\x3c\x8e\x58\xd0\
+\xd7\x18\x8b\xef\x57\x98\x9a\x9a\xa4\xec\xbd\xc0\x8d\xc2\x8c\xd3\
+\x8f\xe0\x46\xde\x92\x99\x16\x0b\x2e\xf9\xa5\x22\x37\x63\x65\xbd\
+\x19\xd7\x8d\xa3\xb5\xa1\xad\x2e\x4d\x5b\x5d\x7a\xce\x97\x4a\x6d\
+\xc2\x71\x9c\x56\x95\x4a\xa5\x1a\x95\x9a\x9f\x61\x18\x46\x94\x4a\
+\x15\xac\xb5\xdc\x1c\x2f\x52\x48\x79\xe4\x1e\xc2\x3f\xa7\xe0\xab\
+\x2c\x68\xfb\x64\xe0\xa3\x16\xb7\x4d\x04\x41\x19\xc7\x71\x1e\xf3\
+\xc5\x62\x1e\xf1\x78\xbc\x5e\x81\xac\x0b\x82\x10\xd7\x4d\x10\x86\
+\x11\x41\x10\x32\x2b\xe8\xef\x63\x2e\xd3\x09\xc1\x85\x61\xb8\x5f\
+\x5a\x31\x77\xce\x44\x94\x62\x7a\x7a\x98\x54\xaa\x61\xb1\xb0\x78\
+\x8c\x9b\x37\xc7\x50\x4a\xa5\x54\x10\x04\xf2\xcb\x2f\xbf\xc2\x75\
+\x1d\x3a\x3a\x5a\xa8\xa9\xf1\x30\xc6\x22\x84\xe0\x76\x61\x23\xbd\
+\x7d\x70\xbf\xb8\x7a\x38\x80\xc5\x63\xe0\x76\x91\x43\x4d\x69\x62\
+\x31\x49\x10\x44\x8c\x8f\xe7\x18\x1d\x9d\x20\x93\x19\x41\x08\x11\
+\x57\x4a\xc5\x1f\x02\xf8\x7e\xc0\xc0\xc0\x30\x00\xc9\x64\x15\x0d\
+\x0d\xb5\xfc\xe8\x5b\x49\x9e\x1b\xce\x30\x9a\xd5\x8c\xe5\x2d\x53\
+\xe5\x18\x85\xd0\xa1\xa4\x1d\xca\xc6\xa1\x62\x5d\x62\x68\x12\xa2\
+\x42\x55\x2c\xa0\x5a\x05\x6c\x70\x02\xea\x3d\x4b\x7a\xa3\xa4\xa5\
+\x56\xf2\x42\x5b\x33\x23\x23\xe3\x4c\x4c\xe4\x89\xa2\xf9\x1a\x41\
+\x29\x85\xd6\x7a\x4a\x95\xcb\xc5\xb1\x58\x4c\xee\x10\x0b\x56\xa1\
+\xef\x07\xdc\xb9\x73\x9f\x6a\xe0\x50\x03\x88\xcd\xe0\x79\x2e\x9e\
+\x97\x20\x16\x2b\x13\x8b\x49\x5c\xd7\x41\x29\x01\x48\x2a\x95\x90\
+\x20\x88\xd0\x5f\x9f\x88\xd3\xd3\x3e\xbe\x1f\x00\x30\x7e\x8b\x05\
+\xd0\xf9\x52\x2d\x0c\x7d\xa2\x28\x9a\x50\xc6\xe8\x71\x63\x42\xaa\
+\xab\x93\x73\xce\x42\xe1\x21\x7d\x7d\xbd\x6b\x8b\xfb\x12\x56\x55\
+\xe5\xf1\xca\x2b\x9d\x8b\xfe\xab\x54\xca\x84\x61\xf8\x40\x01\xe3\
+\x61\x58\xc6\x75\xe7\x0f\x9b\x07\x0f\xf2\x7c\xf6\xd9\xb9\x75\x13\
+\xd0\xd0\xd0\xc8\xfe\xfd\xaf\x2e\x3a\xe6\x2b\x95\x22\x95\x4a\x65\
+\x4c\x09\x21\x86\x2a\x95\x12\xae\x3b\xbf\x55\x84\x80\xda\xda\x5a\
+\x5c\xd7\xe5\xe4\xc9\x93\x2c\x4c\xcf\x6a\x6c\x74\x74\x94\x33\x67\
+\xce\xb0\x61\xc3\x06\x84\xd0\xb8\x0b\x3e\x2d\x8a\xc5\x82\xce\x64\
+\x32\x43\xca\x71\x9c\xbf\x8c\x8e\x8e\xf0\xd2\x4b\xbb\xe6\x9c\xf5\
+\xf5\x29\x0e\x1e\x7c\x9d\x74\xba\x85\x74\x3a\xbd\xd4\xd8\xcb\x9a\
+\xb5\xb0\x65\xcb\x16\xae\x5d\x1b\xa6\xb1\xb1\x9e\x64\xd2\x25\x91\
+\x98\x11\xa0\x75\xc4\xc8\xc8\xf5\x5b\x93\x93\x93\x77\xd4\xd9\xb3\
+\x67\x6f\xb9\x6e\xd5\x7f\x8e\x1d\xfb\x61\xfb\xec\x81\xb1\x6d\xdb\
+\x76\x6a\x6b\x1b\x49\xa7\x53\xa4\xd3\x75\x6b\x82\x6b\x6d\x90\x52\
+\x70\xe0\x40\x37\xcd\xcd\x8d\x28\x25\x99\xad\xee\x07\x07\xaf\x72\
+\xf7\xee\xdd\xbf\x01\xd3\x12\x20\x9b\x9d\xfa\xc5\xc5\x8b\x9f\x44\
+\x53\x53\x93\x73\x83\x64\xb3\xf9\x35\xc2\xed\xd7\xbb\x41\x13\x86\
+\x11\xdb\xb6\xb5\x32\x32\x72\x07\x10\xe4\x72\x59\x06\x07\xaf\xf2\
+\xe9\xa7\xe7\xff\x75\xe5\xca\x95\xdf\x00\x7a\x2e\xb9\xc9\x64\xd2\
+\xdd\xb3\x67\xcf\x4f\x95\x52\x5b\x9b\x9a\x5a\x3a\xde\x79\xe7\x97\
+\x87\x76\xed\xda\xbe\x06\xb8\x59\xf0\x68\xaa\xab\xab\x38\x75\xea\
+\x4f\xa5\x73\xe7\xfe\xfc\x91\xef\xfb\x23\xfd\xfd\xfd\x17\xb3\xd9\
+\xec\xbf\x81\x49\x9e\xf4\xdd\xf8\xde\x7b\x1f\xfc\x2a\x9f\x2f\xda\
+\xd5\x98\x31\xc6\x86\x61\x64\x7d\x3f\xb0\xc5\xa2\x6f\xf3\xf9\xa2\
+\xcd\x66\x0b\xb6\x58\xf4\xed\xe5\xcb\xff\xb0\x5d\x5d\xdd\xdf\x5f\
+\x8a\xb5\x64\x51\xfa\xec\xb3\x4d\x3f\xab\xa9\xf1\x56\x39\x7b\xe6\
+\x0a\x0e\xa5\x24\x8e\xa3\x48\x24\x1c\xa4\x14\xbc\xf8\xe2\x37\x68\
+\x6d\xdd\xfa\xf3\xa5\xfa\x3d\x56\x94\x9e\x3e\xfd\x71\x52\x08\xd9\
+\xd8\xd7\x77\x6d\xd5\x02\xb4\x8e\x88\xa2\x88\x28\x0a\x17\xbc\xcf\
+\x3c\x35\x35\xd5\xdb\x81\x2a\x60\x51\x61\xfa\x5f\x15\x59\xfb\x56\
+\x1b\x1f\x81\x0d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x01\x6e\x17\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x32\x22\
+\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\
+\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x37\x20\x72\x32\x32\x35\
+\x38\x33\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x32\x35\
+\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x32\x35\
+\x30\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\
+\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x75\x70\x70\x65\x72\x5f\x69\x6d\
+\x70\x6c\x61\x6e\x74\x2e\x73\x76\x67\x22\x3e\x0a\x20\x20\x3c\x6d\
+\x65\x74\x61\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x6d\x65\x74\x61\x64\x61\x74\x61\x38\x22\x3e\x0a\x20\x20\x20\
+\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\
+\x6d\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\
+\x6c\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x79\x70\x65\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x72\x65\
+\x73\x6f\x75\x72\x63\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\
+\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\
+\x79\x70\x65\x2f\x53\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\
+\x69\x74\x6c\x65\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
+\x63\x63\x3a\x57\x6f\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\
+\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\
+\x64\x61\x74\x61\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x36\x22\x3e\x0a\x20\
+\x20\x20\x20\x3c\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\
+\x73\x70\x65\x63\x74\x69\x76\x65\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
+\x3a\x76\x70\x5f\x78\x3d\x22\x30\x20\x3a\x20\x30\x2e\x35\x20\x3a\
+\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\x20\x3a\x20\x31\x30\
+\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x7a\x3d\x22\x31\x20\
+\x3a\x20\x30\x2e\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\
+\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x30\x2e\x35\x20\x3a\
+\x20\x30\x2e\x33\x33\x33\x33\x33\x33\x33\x33\x20\x3a\x20\x31\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x65\x72\x73\
+\x70\x65\x63\x74\x69\x76\x65\x31\x30\x22\x20\x2f\x3e\x0a\x20\x20\
+\x3c\x2f\x64\x65\x66\x73\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\
+\x6f\x64\x69\x3a\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\
+\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\
+\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\
+\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x36\x36\x36\x36\x36\x36\
+\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\
+\x63\x69\x74\x79\x3d\x22\x31\x22\x0a\x20\x20\x20\x20\x20\x6f\x62\
+\x6a\x65\x63\x74\x74\x6f\x6c\x65\x72\x61\x6e\x63\x65\x3d\x22\x31\
+\x30\x22\x0a\x20\x20\x20\x20\x20\x67\x72\x69\x64\x74\x6f\x6c\x65\
+\x72\x61\x6e\x63\x65\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x67\x75\x69\x64\x65\x74\x6f\x6c\x65\x72\x61\x6e\x63\x65\x3d\x22\
+\x31\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x70\x61\x67\x65\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x30\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x70\x61\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\
+\x64\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x33\x36\x36\x22\
+\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\
+\x69\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x37\x32\
+\x32\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6e\x61\x6d\x65\
+\x64\x76\x69\x65\x77\x34\x22\x0a\x20\x20\x20\x20\x20\x73\x68\x6f\
+\x77\x67\x72\x69\x64\x3d\x22\x66\x61\x6c\x73\x65\x22\x0a\x20\x20\
+\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\x6f\x6f\x6d\
+\x3d\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x78\x3d\x22\x31\x32\x35\x22\x0a\x20\x20\x20\x20\
+\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x79\x3d\x22\x31\x32\
+\x36\x2e\x37\x36\x34\x32\x34\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\
+\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x79\x3d\x22\x32\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\
+\x6e\x64\x6f\x77\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\
+\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
+\x3a\x63\x75\x72\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\
+\x73\x76\x67\x32\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\
+\x20\x20\x20\x69\x64\x3d\x22\x67\x32\x38\x31\x38\x22\x0a\x20\x20\
+\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\
+\x74\x72\x69\x78\x28\x31\x2e\x35\x39\x33\x31\x36\x37\x2c\x30\x2c\
+\x30\x2c\x2d\x31\x2c\x2d\x37\x33\x2e\x34\x36\x38\x31\x39\x31\x2c\
+\x32\x31\x39\x2e\x37\x32\x36\x33\x32\x29\x22\x3e\x0a\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x63\x64\x63\x62\x63\
+\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\
+\x32\x32\x2e\x32\x36\x33\x37\x35\x2c\x32\x31\x34\x2e\x32\x38\x32\
+\x34\x32\x20\x63\x20\x31\x2e\x35\x32\x30\x30\x36\x2c\x2d\x30\x2e\
+\x32\x32\x39\x38\x36\x20\x33\x2e\x37\x37\x30\x30\x36\x2c\x2d\x30\
+\x2e\x32\x32\x33\x37\x31\x20\x35\x2c\x30\x2e\x30\x31\x33\x36\x20\
+\x31\x2e\x32\x32\x39\x39\x34\x2c\x30\x2e\x32\x33\x37\x33\x36\x20\
+\x2d\x30\x2e\x30\x31\x33\x38\x2c\x30\x2e\x34\x32\x35\x34\x32\x20\
+\x2d\x32\x2e\x37\x36\x33\x37\x35\x2c\x30\x2e\x34\x31\x37\x39\x32\
+\x20\x2d\x32\x2e\x37\x35\x2c\x2d\x30\x2e\x30\x30\x38\x20\x2d\x33\
+\x2e\x37\x35\x36\x33\x31\x2c\x2d\x30\x2e\x32\x30\x31\x37\x32\x20\
+\x2d\x32\x2e\x32\x33\x36\x32\x35\x2c\x2d\x30\x2e\x34\x33\x31\x35\
+\x37\x20\x7a\x20\x6d\x20\x31\x34\x2e\x38\x31\x39\x35\x38\x2c\x2d\
+\x32\x2e\x35\x37\x32\x38\x37\x20\x43\x20\x31\x33\x37\x2e\x33\x31\
+\x32\x35\x2c\x32\x31\x31\x2e\x35\x34\x39\x38\x20\x31\x33\x39\x2e\
+\x33\x2c\x32\x31\x30\x2e\x31\x36\x37\x33\x33\x20\x31\x34\x31\x2e\
+\x35\x2c\x32\x30\x38\x2e\x36\x33\x37\x34\x20\x6c\x20\x34\x2c\x2d\
+\x32\x2e\x37\x38\x31\x37\x31\x20\x2d\x33\x2e\x34\x36\x32\x32\x33\
+\x2c\x33\x2e\x30\x37\x32\x31\x36\x20\x43\x20\x31\x34\x30\x2e\x31\
+\x33\x33\x35\x35\x2c\x32\x31\x30\x2e\x36\x31\x37\x35\x33\x20\x31\
+\x33\x38\x2e\x31\x34\x36\x30\x35\x2c\x32\x31\x32\x20\x31\x33\x37\
+\x2e\x36\x32\x31\x31\x31\x2c\x32\x31\x32\x20\x63\x20\x2d\x30\x2e\
+\x35\x32\x34\x39\x34\x2c\x30\x20\x2d\x30\x2e\x37\x36\x36\x39\x34\
+\x2c\x2d\x30\x2e\x31\x33\x30\x37\x20\x2d\x30\x2e\x35\x33\x37\x37\
+\x38\x2c\x2d\x30\x2e\x32\x39\x30\x34\x35\x20\x7a\x20\x4d\x20\x31\
+\x30\x32\x2e\x38\x37\x32\x34\x34\x2c\x32\x30\x36\x2e\x32\x35\x20\
+\x63\x20\x2d\x31\x2e\x32\x34\x33\x38\x37\x2c\x2d\x31\x2e\x35\x38\
+\x36\x30\x36\x20\x2d\x31\x2e\x32\x30\x38\x35\x2c\x2d\x31\x2e\x36\
+\x32\x31\x34\x33\x20\x30\x2e\x33\x37\x37\x35\x36\x2c\x2d\x30\x2e\
+\x33\x37\x37\x35\x36\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x37\
+\x35\x34\x38\x35\x20\x31\x2e\x37\x35\x2c\x31\x2e\x35\x34\x32\x33\
+\x35\x20\x31\x2e\x37\x35\x2c\x31\x2e\x37\x35\x20\x30\x2c\x30\x2e\
+\x38\x32\x33\x30\x34\x20\x2d\x30\x2e\x38\x32\x31\x31\x39\x2c\x30\
+\x2e\x32\x39\x33\x33\x31\x20\x2d\x32\x2e\x31\x32\x37\x35\x36\x2c\
+\x2d\x31\x2e\x33\x37\x32\x34\x34\x20\x7a\x20\x6d\x20\x2d\x34\x2e\
+\x38\x35\x37\x31\x32\x37\x2c\x2d\x37\x2e\x34\x32\x32\x34\x35\x20\
+\x63\x20\x2d\x30\x2e\x30\x31\x35\x38\x36\x2c\x2d\x31\x2e\x37\x33\
+\x32\x30\x39\x20\x33\x2e\x33\x34\x34\x30\x35\x37\x2c\x2d\x33\x2e\
+\x31\x37\x33\x35\x36\x20\x31\x30\x2e\x32\x32\x35\x39\x33\x37\x2c\
+\x2d\x34\x2e\x33\x38\x37\x31\x31\x20\x32\x2e\x30\x35\x37\x36\x39\
+\x2c\x2d\x30\x2e\x33\x36\x32\x38\x36\x20\x33\x2e\x35\x36\x34\x33\
+\x35\x2c\x2d\x30\x2e\x39\x34\x37\x39\x20\x33\x2e\x33\x34\x38\x31\
+\x34\x2c\x2d\x31\x2e\x33\x30\x30\x30\x39\x20\x2d\x30\x2e\x32\x31\
+\x36\x32\x32\x2c\x2d\x30\x2e\x33\x35\x32\x31\x39\x20\x34\x2e\x35\
+\x31\x32\x37\x32\x2c\x2d\x30\x2e\x36\x35\x39\x35\x36\x20\x31\x30\
+\x2e\x35\x30\x38\x37\x35\x2c\x2d\x30\x2e\x36\x38\x33\x30\x34\x20\
+\x37\x2e\x38\x30\x31\x30\x32\x2c\x2d\x30\x2e\x30\x33\x30\x35\x20\
+\x31\x30\x2e\x39\x30\x31\x38\x36\x2c\x30\x2e\x32\x39\x36\x36\x35\
+\x20\x31\x30\x2e\x39\x30\x31\x38\x36\x2c\x31\x2e\x31\x35\x30\x33\
+\x35\x20\x30\x2c\x30\x2e\x37\x36\x36\x32\x36\x20\x2d\x31\x2e\x35\
+\x37\x36\x30\x34\x2c\x31\x2e\x31\x33\x39\x32\x35\x20\x2d\x34\x2e\
+\x34\x30\x35\x38\x38\x2c\x31\x2e\x30\x34\x32\x36\x38\x20\x2d\x32\
+\x2e\x34\x32\x33\x32\x34\x2c\x2d\x30\x2e\x30\x38\x32\x37\x20\x2d\
+\x34\x2e\x32\x33\x36\x31\x35\x2c\x30\x2e\x31\x32\x33\x32\x39\x20\
+\x2d\x34\x2e\x30\x32\x38\x37\x2c\x30\x2e\x34\x35\x37\x37\x34\x20\
+\x30\x2e\x34\x31\x34\x31\x37\x2c\x30\x2e\x36\x36\x37\x37\x20\x2d\
+\x39\x2e\x37\x34\x35\x33\x36\x2c\x31\x2e\x38\x36\x38\x31\x36\x20\
+\x2d\x31\x38\x2e\x38\x37\x33\x30\x33\x2c\x32\x2e\x32\x33\x30\x30\
+\x35\x20\x2d\x33\x2e\x38\x31\x30\x34\x34\x2c\x30\x2e\x31\x35\x31\
+\x30\x38\x20\x2d\x36\x2e\x31\x32\x36\x34\x31\x36\x2c\x30\x2e\x37\
+\x33\x34\x33\x33\x20\x2d\x36\x2e\x37\x33\x34\x36\x38\x35\x2c\x31\
+\x2e\x36\x39\x36\x30\x36\x20\x2d\x30\x2e\x37\x38\x34\x36\x31\x37\
+\x2c\x31\x2e\x32\x34\x30\x35\x36\x20\x2d\x30\x2e\x39\x32\x39\x34\
+\x33\x33\x2c\x31\x2e\x32\x30\x38\x38\x31\x20\x2d\x30\x2e\x39\x34\
+\x32\x33\x39\x32\x2c\x2d\x30\x2e\x32\x30\x36\x36\x34\x20\x7a\x20\
+\x6d\x20\x31\x36\x2e\x37\x31\x33\x38\x35\x37\x2c\x2d\x33\x2e\x34\
+\x33\x31\x37\x32\x20\x63\x20\x2d\x30\x2e\x33\x33\x32\x33\x2c\x2d\
+\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x31\x2e\x31\x39\x34\x38\x2c\
+\x2d\x30\x2e\x33\x36\x37\x38\x31\x20\x2d\x31\x2e\x39\x31\x36\x36\
+\x37\x2c\x2d\x30\x2e\x30\x37\x38\x39\x20\x2d\x30\x2e\x37\x39\x37\
+\x37\x33\x2c\x30\x2e\x33\x31\x39\x32\x32\x20\x2d\x30\x2e\x35\x36\
+\x30\x37\x38\x2c\x30\x2e\x35\x35\x36\x31\x38\x20\x30\x2e\x36\x30\
+\x34\x31\x37\x2c\x30\x2e\x36\x30\x34\x31\x36\x20\x31\x2e\x30\x35\
+\x34\x31\x36\x2c\x30\x2e\x30\x34\x33\x34\x20\x31\x2e\x36\x34\x34\
+\x37\x39\x2c\x2d\x30\x2e\x31\x39\x32\x39\x33\x20\x31\x2e\x33\x31\
+\x32\x35\x2c\x2d\x30\x2e\x35\x32\x35\x32\x32\x20\x7a\x20\x4d\x20\
+\x31\x34\x35\x2c\x31\x39\x38\x2e\x30\x35\x39\x30\x32\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x35\x31\x37\x35\x34\x20\x30\x2e\x34\x34\x34\
+\x38\x35\x2c\x2d\x31\x2e\x32\x31\x35\x39\x32\x20\x30\x2e\x39\x38\
+\x38\x35\x35\x2c\x2d\x31\x2e\x35\x35\x31\x39\x34\x20\x30\x2e\x35\
+\x36\x36\x38\x36\x2c\x2d\x30\x2e\x33\x35\x30\x33\x34\x20\x30\x2e\
+\x37\x33\x34\x35\x2c\x30\x2e\x30\x35\x31\x31\x20\x30\x2e\x33\x39\
+\x33\x30\x31\x2c\x30\x2e\x39\x34\x30\x39\x38\x20\x43\x20\x31\x34\
+\x35\x2e\x37\x31\x36\x37\x37\x2c\x31\x39\x39\x2e\x31\x38\x30\x34\
+\x38\x20\x31\x34\x35\x2c\x31\x39\x39\x2e\x34\x39\x37\x34\x35\x20\
+\x31\x34\x35\x2c\x31\x39\x38\x2e\x30\x35\x39\x30\x32\x20\x7a\x20\
+\x6d\x20\x2d\x31\x2e\x34\x39\x32\x39\x32\x2c\x2d\x37\x2e\x30\x34\
+\x37\x35\x37\x20\x63\x20\x2d\x30\x2e\x33\x35\x30\x33\x34\x2c\x2d\
+\x30\x2e\x35\x36\x36\x38\x36\x20\x30\x2e\x30\x35\x31\x31\x2c\x2d\
+\x30\x2e\x37\x33\x34\x35\x20\x30\x2e\x39\x34\x30\x39\x38\x2c\x2d\
+\x30\x2e\x33\x39\x33\x30\x31\x20\x31\x2e\x37\x33\x32\x34\x32\x2c\
+\x30\x2e\x36\x36\x34\x37\x39\x20\x32\x2e\x30\x34\x39\x33\x39\x2c\
+\x31\x2e\x33\x38\x31\x35\x36\x20\x30\x2e\x36\x31\x30\x39\x36\x2c\
+\x31\x2e\x33\x38\x31\x35\x36\x20\x2d\x30\x2e\x35\x31\x37\x35\x34\
+\x2c\x30\x20\x2d\x31\x2e\x32\x31\x35\x39\x32\x2c\x2d\x30\x2e\x34\
+\x34\x34\x38\x35\x20\x2d\x31\x2e\x35\x35\x31\x39\x34\x2c\x2d\x30\
+\x2e\x39\x38\x38\x35\x35\x20\x7a\x20\x4d\x20\x39\x36\x2c\x31\x38\
+\x34\x2e\x35\x35\x39\x30\x32\x20\x63\x20\x30\x2c\x2d\x30\x2e\x37\
+\x39\x32\x35\x34\x20\x30\x2e\x33\x35\x33\x35\x37\x31\x2c\x2d\x31\
+\x2e\x36\x35\x39\x35\x31\x20\x30\x2e\x37\x38\x35\x37\x31\x34\x2c\
+\x2d\x31\x2e\x39\x32\x36\x35\x38\x20\x30\x2e\x34\x33\x32\x31\x34\
+\x33\x2c\x2d\x30\x2e\x32\x36\x37\x30\x38\x20\x30\x2e\x37\x38\x35\
+\x37\x31\x35\x2c\x30\x2e\x33\x38\x31\x33\x36\x20\x30\x2e\x37\x38\
+\x35\x37\x31\x35\x2c\x31\x2e\x34\x34\x30\x39\x38\x20\x30\x2c\x31\
+\x2e\x30\x35\x39\x36\x32\x20\x2d\x30\x2e\x33\x35\x33\x35\x37\x32\
+\x2c\x31\x2e\x39\x32\x36\x35\x38\x20\x2d\x30\x2e\x37\x38\x35\x37\
+\x31\x35\x2c\x31\x2e\x39\x32\x36\x35\x38\x20\x43\x20\x39\x36\x2e\
+\x33\x35\x33\x35\x37\x31\x2c\x31\x38\x36\x20\x39\x36\x2c\x31\x38\
+\x35\x2e\x33\x35\x31\x35\x36\x20\x39\x36\x2c\x31\x38\x34\x2e\x35\
+\x35\x39\x30\x32\x20\x7a\x20\x6d\x20\x36\x2e\x34\x35\x38\x36\x36\
+\x2c\x2d\x33\x2e\x36\x32\x35\x39\x20\x63\x20\x2d\x30\x2e\x33\x36\
+\x32\x36\x35\x2c\x2d\x30\x2e\x35\x38\x36\x37\x39\x20\x2d\x30\x2e\
+\x30\x35\x31\x37\x2c\x2d\x30\x2e\x39\x35\x37\x39\x36\x20\x30\x2e\
+\x36\x39\x30\x39\x39\x2c\x2d\x30\x2e\x38\x32\x34\x38\x32\x20\x30\
+\x2e\x37\x34\x32\x36\x39\x2c\x30\x2e\x31\x33\x33\x31\x33\x20\x33\
+\x2e\x31\x35\x30\x33\x35\x2c\x2d\x30\x2e\x32\x36\x31\x30\x38\x20\
+\x35\x2e\x33\x35\x30\x33\x35\x2c\x2d\x30\x2e\x38\x37\x36\x30\x32\
+\x20\x35\x2e\x39\x31\x32\x32\x36\x2c\x2d\x31\x2e\x36\x35\x32\x35\
+\x39\x20\x32\x35\x2e\x35\x2c\x2d\x32\x2e\x37\x35\x39\x32\x36\x20\
+\x32\x35\x2e\x35\x2c\x2d\x31\x2e\x34\x34\x30\x37\x31\x20\x30\x2c\
+\x30\x2e\x35\x38\x35\x34\x39\x20\x2d\x32\x2e\x35\x38\x37\x35\x2c\
+\x31\x2e\x33\x35\x34\x31\x35\x20\x2d\x35\x2e\x37\x35\x2c\x31\x2e\
+\x37\x30\x38\x31\x35\x20\x2d\x33\x2e\x31\x36\x32\x35\x2c\x30\x2e\
+\x33\x35\x34\x20\x2d\x38\x2e\x31\x39\x35\x31\x35\x2c\x31\x2e\x30\
+\x36\x31\x33\x38\x20\x2d\x31\x31\x2e\x31\x38\x33\x36\x36\x2c\x31\
+\x2e\x35\x37\x31\x39\x36\x20\x2d\x37\x2e\x32\x34\x32\x37\x32\x2c\
+\x31\x2e\x32\x33\x37\x33\x39\x20\x2d\x31\x33\x2e\x37\x39\x35\x37\
+\x2c\x31\x2e\x31\x37\x35\x32\x33\x20\x2d\x31\x34\x2e\x36\x30\x37\
+\x36\x38\x2c\x2d\x30\x2e\x31\x33\x38\x35\x36\x20\x7a\x20\x6d\x20\
+\x34\x31\x2e\x36\x32\x30\x32\x39\x2c\x2d\x36\x2e\x35\x31\x36\x34\
+\x35\x20\x63\x20\x30\x2e\x30\x34\x38\x2c\x2d\x31\x2e\x31\x36\x34\
+\x39\x35\x20\x30\x2e\x32\x38\x34\x39\x34\x2c\x2d\x31\x2e\x34\x30\
+\x31\x39\x20\x30\x2e\x36\x30\x34\x31\x36\x2c\x2d\x30\x2e\x36\x30\
+\x34\x31\x37\x20\x30\x2e\x32\x38\x38\x38\x37\x2c\x30\x2e\x37\x32\
+\x31\x38\x37\x20\x30\x2e\x32\x35\x33\x33\x35\x2c\x31\x2e\x35\x38\
+\x34\x33\x37\x20\x2d\x30\x2e\x30\x37\x38\x39\x2c\x31\x2e\x39\x31\
+\x36\x36\x37\x20\x2d\x30\x2e\x33\x33\x32\x33\x2c\x30\x2e\x33\x33\
+\x32\x32\x39\x20\x2d\x30\x2e\x35\x36\x38\x36\x34\x2c\x2d\x30\x2e\
+\x32\x35\x38\x33\x34\x20\x2d\x30\x2e\x35\x32\x35\x32\x32\x2c\x2d\
+\x31\x2e\x33\x31\x32\x35\x20\x7a\x20\x6d\x20\x2d\x34\x38\x2e\x37\
+\x39\x34\x32\x32\x38\x2c\x2d\x35\x2e\x37\x37\x30\x38\x34\x20\x63\
+\x20\x30\x2e\x35\x33\x31\x33\x32\x37\x2c\x2d\x31\x2e\x35\x39\x33\
+\x39\x38\x20\x32\x2e\x33\x38\x31\x39\x34\x35\x2c\x2d\x31\x2e\x38\
+\x35\x38\x33\x35\x20\x32\x2e\x33\x38\x31\x39\x34\x35\x2c\x2d\x30\
+\x2e\x33\x34\x30\x32\x37\x20\x30\x2c\x30\x2e\x37\x34\x38\x36\x31\
+\x20\x2d\x30\x2e\x36\x31\x32\x35\x2c\x31\x2e\x33\x36\x31\x31\x31\
+\x20\x2d\x31\x2e\x33\x36\x31\x31\x31\x31\x2c\x31\x2e\x33\x36\x31\
+\x31\x31\x20\x2d\x30\x2e\x37\x34\x38\x36\x31\x32\x2c\x30\x20\x2d\
+\x31\x2e\x32\x30\x37\x39\x38\x37\x2c\x2d\x30\x2e\x34\x35\x39\x33\
+\x38\x20\x2d\x31\x2e\x30\x32\x30\x38\x33\x34\x2c\x2d\x31\x2e\x30\
+\x32\x30\x38\x34\x20\x7a\x20\x4d\x20\x31\x34\x37\x2e\x35\x2c\x31\
+\x36\x38\x20\x63\x20\x30\x2e\x39\x39\x35\x34\x39\x2c\x2d\x31\x2e\
+\x31\x20\x32\x2e\x30\x33\x34\x39\x38\x2c\x2d\x32\x20\x32\x2e\x33\
+\x30\x39\x39\x38\x2c\x2d\x32\x20\x30\x2e\x32\x37\x35\x2c\x30\x20\
+\x2d\x30\x2e\x33\x31\x34\x34\x39\x2c\x30\x2e\x39\x20\x2d\x31\x2e\
+\x33\x30\x39\x39\x38\x2c\x32\x20\x2d\x30\x2e\x39\x39\x35\x34\x39\
+\x2c\x31\x2e\x31\x20\x2d\x32\x2e\x30\x33\x34\x39\x38\x2c\x32\x20\
+\x2d\x32\x2e\x33\x30\x39\x39\x38\x2c\x32\x20\x2d\x30\x2e\x32\x37\
+\x35\x2c\x30\x20\x30\x2e\x33\x31\x34\x34\x39\x2c\x2d\x30\x2e\x39\
+\x20\x31\x2e\x33\x30\x39\x39\x38\x2c\x2d\x32\x20\x7a\x20\x6d\x20\
+\x2d\x33\x36\x2e\x35\x2c\x30\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x35\x38\x35\x36\x20\x2d\x32\x2e\x37\x32\x32\x32\x32\x2c\x2d\x31\
+\x20\x2d\x36\x2e\x31\x36\x36\x36\x37\x2c\x2d\x31\x20\x2d\x33\x2e\
+\x33\x39\x31\x36\x36\x2c\x30\x20\x2d\x35\x2e\x39\x33\x32\x35\x39\
+\x37\x2c\x2d\x30\x2e\x32\x33\x34\x30\x37\x20\x2d\x35\x2e\x36\x34\
+\x36\x35\x31\x35\x2c\x2d\x30\x2e\x35\x32\x30\x31\x35\x20\x32\x2e\
+\x32\x37\x35\x32\x37\x35\x2c\x2d\x32\x2e\x32\x37\x35\x32\x37\x20\
+\x34\x30\x2e\x37\x34\x30\x35\x37\x35\x2c\x2d\x35\x2e\x37\x38\x39\
+\x34\x32\x20\x33\x39\x2e\x33\x38\x36\x33\x38\x35\x2c\x2d\x33\x2e\
+\x35\x39\x38\x33\x20\x2d\x30\x2e\x33\x38\x30\x31\x38\x2c\x30\x2e\
+\x36\x31\x35\x31\x35\x20\x2d\x32\x2e\x33\x31\x35\x33\x32\x2c\x31\
+\x2e\x31\x31\x38\x34\x35\x20\x2d\x34\x2e\x33\x30\x30\x33\x2c\x31\
+\x2e\x31\x31\x38\x34\x35\x20\x2d\x33\x2e\x33\x30\x30\x35\x35\x2c\
+\x30\x20\x2d\x31\x33\x2e\x32\x30\x38\x38\x39\x2c\x31\x2e\x33\x35\
+\x30\x38\x36\x20\x2d\x31\x39\x2e\x32\x32\x30\x37\x35\x2c\x32\x2e\
+\x36\x32\x30\x34\x37\x20\x2d\x31\x2e\x39\x33\x36\x32\x32\x2c\x30\
+\x2e\x34\x30\x38\x39\x20\x2d\x32\x2e\x31\x34\x35\x32\x33\x2c\x30\
+\x2e\x37\x30\x38\x33\x39\x20\x2d\x31\x2c\x31\x2e\x34\x33\x32\x39\
+\x33\x20\x31\x2e\x31\x32\x37\x32\x36\x2c\x30\x2e\x37\x31\x33\x31\
+\x35\x20\x30\x2e\x39\x34\x39\x36\x34\x2c\x30\x2e\x39\x31\x39\x33\
+\x37\x20\x2d\x30\x2e\x38\x30\x32\x31\x35\x2c\x30\x2e\x39\x33\x31\
+\x32\x39\x20\x43\x20\x31\x31\x32\x2e\x30\x31\x32\x35\x2c\x31\x36\
+\x38\x2e\x39\x39\x33\x31\x31\x20\x31\x31\x31\x2c\x31\x36\x38\x2e\
+\x35\x35\x20\x31\x31\x31\x2c\x31\x36\x38\x20\x7a\x20\x6d\x20\x34\
+\x31\x2e\x37\x31\x30\x32\x35\x2c\x2d\x34\x20\x63\x20\x30\x2e\x32\
+\x38\x37\x36\x36\x2c\x2d\x31\x2e\x31\x20\x30\x2e\x36\x39\x35\x35\
+\x33\x2c\x2d\x32\x20\x30\x2e\x39\x30\x36\x33\x38\x2c\x2d\x32\x20\
+\x30\x2e\x32\x31\x30\x38\x35\x2c\x30\x20\x30\x2e\x33\x38\x33\x33\
+\x37\x2c\x30\x2e\x39\x20\x30\x2e\x33\x38\x33\x33\x37\x2c\x32\x20\
+\x30\x2c\x31\x2e\x31\x20\x2d\x30\x2e\x34\x30\x37\x38\x37\x2c\x32\
+\x20\x2d\x30\x2e\x39\x30\x36\x33\x38\x2c\x32\x20\x2d\x30\x2e\x34\
+\x39\x38\x35\x31\x2c\x30\x20\x2d\x30\x2e\x36\x37\x31\x30\x33\x2c\
+\x2d\x30\x2e\x39\x20\x2d\x30\x2e\x33\x38\x33\x33\x37\x2c\x2d\x32\
+\x20\x7a\x20\x4d\x20\x39\x35\x2e\x32\x36\x37\x36\x33\x34\x2c\x31\
+\x35\x34\x2e\x35\x38\x32\x38\x37\x20\x43\x20\x39\x35\x2e\x33\x39\
+\x35\x34\x33\x35\x2c\x31\x35\x33\x2e\x35\x32\x38\x34\x34\x20\x39\
+\x36\x2e\x31\x37\x35\x2c\x31\x35\x32\x2e\x34\x38\x31\x36\x38\x20\
+\x39\x37\x2c\x31\x35\x32\x2e\x32\x35\x36\x37\x34\x20\x63\x20\x30\
+\x2e\x39\x36\x34\x37\x37\x36\x2c\x2d\x30\x2e\x32\x36\x33\x30\x37\
+\x20\x31\x2e\x31\x30\x37\x34\x38\x33\x2c\x2d\x30\x2e\x31\x31\x34\
+\x32\x33\x20\x30\x2e\x33\x39\x39\x39\x34\x34\x2c\x30\x2e\x34\x31\
+\x37\x31\x33\x20\x2d\x30\x2e\x36\x30\x35\x30\x33\x31\x2c\x30\x2e\
+\x34\x35\x34\x33\x37\x20\x2d\x31\x2e\x33\x38\x34\x35\x39\x35\x2c\
+\x31\x2e\x35\x30\x31\x31\x33\x20\x2d\x31\x2e\x37\x33\x32\x33\x36\
+\x36\x2c\x32\x2e\x33\x32\x36\x31\x33\x20\x2d\x30\x2e\x34\x34\x34\
+\x32\x38\x32\x2c\x31\x2e\x30\x35\x33\x39\x35\x20\x2d\x30\x2e\x35\
+\x36\x33\x32\x31\x32\x2c\x30\x2e\x39\x32\x39\x39\x31\x20\x2d\x30\
+\x2e\x33\x39\x39\x39\x34\x34\x2c\x2d\x30\x2e\x34\x31\x37\x31\x33\
+\x20\x7a\x20\x4d\x20\x31\x30\x38\x2e\x36\x33\x38\x33\x37\x2c\x31\
+\x35\x33\x2e\x35\x20\x63\x20\x30\x2e\x34\x36\x31\x31\x36\x2c\x2d\
+\x31\x2e\x32\x30\x31\x37\x35\x20\x2d\x30\x2e\x33\x39\x30\x31\x33\
+\x2c\x2d\x31\x2e\x35\x31\x32\x36\x20\x2d\x34\x2e\x32\x38\x31\x33\
+\x38\x2c\x2d\x31\x2e\x35\x36\x33\x33\x39\x20\x2d\x34\x2e\x32\x36\
+\x36\x33\x34\x2c\x2d\x30\x2e\x30\x35\x35\x37\x20\x2d\x34\x2e\x35\
+\x35\x32\x39\x36\x39\x2c\x2d\x30\x2e\x31\x38\x34\x38\x37\x20\x2d\
+\x32\x2e\x33\x35\x36\x39\x39\x2c\x2d\x31\x2e\x30\x36\x32\x34\x32\
+\x20\x31\x2e\x33\x37\x35\x2c\x2d\x30\x2e\x35\x34\x39\x34\x37\x20\
+\x34\x2e\x30\x37\x35\x2c\x2d\x30\x2e\x37\x32\x39\x32\x35\x20\x36\
+\x2c\x2d\x30\x2e\x33\x39\x39\x35\x31\x20\x32\x2e\x33\x34\x36\x39\
+\x32\x2c\x30\x2e\x34\x30\x32\x30\x31\x20\x33\x2e\x30\x33\x37\x35\
+\x38\x2c\x30\x2e\x32\x38\x39\x34\x39\x20\x32\x2e\x30\x39\x36\x33\
+\x39\x2c\x2d\x30\x2e\x33\x34\x31\x35\x34\x20\x2d\x31\x2e\x35\x37\
+\x35\x31\x38\x2c\x2d\x31\x2e\x30\x35\x36\x30\x38\x20\x34\x2e\x35\
+\x38\x32\x30\x39\x2c\x2d\x31\x2e\x37\x37\x31\x32\x32\x20\x32\x31\
+\x2e\x39\x30\x33\x36\x31\x2c\x2d\x32\x2e\x35\x34\x34\x30\x32\x20\
+\x31\x33\x2e\x34\x31\x33\x32\x33\x2c\x2d\x30\x2e\x35\x39\x38\x34\
+\x33\x20\x38\x2e\x32\x33\x32\x31\x36\x2c\x30\x2e\x36\x35\x35\x34\
+\x31\x20\x2d\x31\x34\x2e\x37\x39\x33\x30\x33\x2c\x33\x2e\x35\x37\
+\x39\x39\x38\x20\x2d\x30\x2e\x37\x31\x31\x31\x37\x2c\x30\x2e\x30\
+\x39\x30\x33\x20\x2d\x31\x2e\x30\x37\x37\x30\x38\x2c\x30\x2e\x37\
+\x32\x36\x39\x39\x20\x2d\x30\x2e\x38\x31\x33\x31\x35\x2c\x31\x2e\
+\x34\x31\x34\x38\x31\x20\x30\x2e\x35\x37\x34\x32\x32\x2c\x31\x2e\
+\x34\x39\x36\x33\x37\x20\x2d\x31\x2e\x34\x39\x38\x32\x2c\x32\x2e\
+\x34\x31\x36\x30\x39\x20\x2d\x35\x2e\x34\x34\x34\x32\x32\x2c\x32\
+\x2e\x34\x31\x36\x30\x39\x20\x2d\x32\x2e\x31\x35\x35\x32\x33\x2c\
+\x30\x20\x2d\x32\x2e\x37\x34\x30\x39\x36\x2c\x2d\x30\x2e\x33\x38\
+\x30\x31\x34\x20\x2d\x32\x2e\x33\x31\x31\x32\x33\x2c\x2d\x31\x2e\
+\x35\x20\x7a\x20\x4d\x20\x31\x34\x36\x2e\x37\x35\x2c\x31\x34\x36\
+\x2e\x33\x33\x37\x37\x32\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\
+\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\
+\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\
+\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\
+\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\
+\x33\x39\x20\x7a\x20\x4d\x20\x39\x35\x2e\x33\x31\x35\x33\x35\x35\
+\x2c\x31\x34\x30\x2e\x30\x37\x38\x33\x33\x20\x43\x20\x39\x35\x2e\
+\x34\x31\x36\x39\x31\x2c\x31\x33\x38\x2e\x37\x34\x36\x34\x31\x20\
+\x39\x36\x2e\x31\x37\x35\x2c\x31\x33\x37\x2e\x34\x37\x34\x36\x35\
+\x20\x39\x37\x2c\x31\x33\x37\x2e\x32\x35\x32\x32\x20\x63\x20\x30\
+\x2e\x39\x39\x31\x31\x30\x34\x2c\x2d\x30\x2e\x32\x36\x37\x32\x34\
+\x20\x31\x2e\x31\x31\x35\x31\x36\x37\x2c\x2d\x30\x2e\x31\x32\x34\
+\x31\x39\x20\x30\x2e\x33\x36\x35\x36\x38\x32\x2c\x30\x2e\x34\x32\
+\x31\x36\x37\x20\x2d\x30\x2e\x36\x32\x33\x38\x37\x35\x2c\x30\x2e\
+\x34\x35\x34\x33\x37\x20\x2d\x31\x2e\x33\x38\x31\x39\x36\x35\x2c\
+\x31\x2e\x37\x32\x36\x31\x33\x20\x2d\x31\x2e\x36\x38\x34\x36\x34\
+\x35\x2c\x32\x2e\x38\x32\x36\x31\x33\x20\x2d\x30\x2e\x34\x33\x33\
+\x39\x33\x33\x2c\x31\x2e\x35\x37\x37\x20\x2d\x30\x2e\x35\x31\x31\
+\x32\x37\x35\x2c\x31\x2e\x34\x38\x37\x38\x32\x20\x2d\x30\x2e\x33\
+\x36\x35\x36\x38\x32\x2c\x2d\x30\x2e\x34\x32\x31\x36\x37\x20\x7a\
+\x20\x4d\x20\x31\x30\x37\x2e\x39\x32\x31\x37\x2c\x31\x33\x39\x2e\
+\x31\x34\x36\x33\x31\x20\x43\x20\x31\x30\x39\x2e\x30\x32\x38\x30\
+\x34\x2c\x31\x33\x37\x2e\x30\x37\x39\x30\x39\x20\x31\x30\x38\x2e\
+\x38\x37\x38\x36\x39\x2c\x31\x33\x37\x20\x31\x30\x33\x2e\x38\x36\
+\x38\x35\x32\x2c\x31\x33\x37\x20\x63\x20\x2d\x35\x2e\x36\x36\x31\
+\x37\x30\x37\x2c\x30\x20\x2d\x36\x2e\x30\x34\x36\x39\x31\x34\x2c\
+\x2d\x30\x2e\x38\x36\x39\x30\x35\x20\x2d\x30\x2e\x37\x31\x32\x38\
+\x31\x2c\x2d\x31\x2e\x36\x30\x38\x31\x33\x20\x31\x2e\x38\x33\x39\
+\x33\x36\x2c\x2d\x30\x2e\x32\x35\x34\x38\x36\x20\x35\x2e\x33\x36\
+\x39\x32\x39\x2c\x2d\x30\x2e\x38\x34\x38\x30\x38\x20\x37\x2e\x38\
+\x34\x34\x32\x39\x2c\x2d\x31\x2e\x33\x31\x38\x32\x36\x20\x32\x2e\
+\x34\x37\x35\x2c\x2d\x30\x2e\x34\x37\x30\x31\x38\x20\x37\x2e\x38\
+\x37\x35\x2c\x2d\x30\x2e\x39\x34\x31\x32\x35\x20\x31\x32\x2c\x2d\
+\x31\x2e\x30\x34\x36\x38\x32\x20\x34\x2e\x31\x32\x35\x2c\x2d\x30\
+\x2e\x31\x30\x35\x35\x36\x20\x39\x2e\x31\x39\x31\x31\x35\x2c\x2d\
+\x30\x2e\x33\x34\x32\x37\x31\x20\x31\x31\x2e\x32\x35\x38\x31\x31\
+\x2c\x2d\x30\x2e\x35\x32\x37\x20\x32\x2e\x31\x30\x39\x34\x34\x2c\
+\x2d\x30\x2e\x31\x38\x38\x30\x37\x20\x33\x2e\x35\x30\x39\x33\x32\
+\x2c\x30\x2e\x30\x36\x37\x35\x20\x33\x2e\x31\x39\x30\x39\x39\x2c\
+\x30\x2e\x35\x38\x32\x35\x38\x20\x2d\x30\x2e\x33\x31\x31\x39\x33\
+\x2c\x30\x2e\x35\x30\x34\x36\x39\x20\x2d\x32\x2e\x30\x33\x32\x39\
+\x33\x2c\x30\x2e\x39\x31\x37\x36\x33\x20\x2d\x33\x2e\x38\x32\x34\
+\x34\x36\x2c\x30\x2e\x39\x31\x37\x36\x33\x20\x2d\x33\x2e\x34\x39\
+\x39\x30\x38\x2c\x30\x20\x2d\x31\x34\x2e\x36\x30\x37\x31\x36\x2c\
+\x31\x2e\x38\x37\x33\x32\x39\x20\x2d\x31\x35\x2e\x39\x32\x33\x32\
+\x2c\x32\x2e\x36\x38\x35\x33\x32\x20\x2d\x30\x2e\x34\x33\x39\x32\
+\x31\x2c\x30\x2e\x32\x37\x31\x30\x31\x20\x2d\x30\x2e\x32\x37\x31\
+\x36\x31\x2c\x31\x2e\x31\x32\x37\x36\x37\x20\x30\x2e\x33\x37\x32\
+\x34\x35\x2c\x31\x2e\x39\x30\x33\x37\x31\x20\x30\x2e\x39\x37\x33\
+\x35\x33\x2c\x31\x2e\x31\x37\x33\x30\x34\x20\x30\x2e\x35\x31\x37\
+\x39\x39\x2c\x31\x2e\x34\x31\x33\x32\x37\x20\x2d\x32\x2e\x37\x30\
+\x31\x34\x35\x2c\x31\x2e\x34\x32\x34\x36\x32\x20\x2d\x32\x2e\x31\
+\x32\x39\x38\x34\x2c\x30\x2e\x30\x30\x38\x20\x2d\x34\x2e\x39\x33\
+\x36\x30\x31\x2c\x30\x2e\x32\x39\x38\x33\x35\x20\x2d\x36\x2e\x32\
+\x33\x35\x39\x33\x2c\x30\x2e\x36\x34\x36\x33\x31\x20\x2d\x32\x2e\
+\x31\x36\x32\x31\x31\x2c\x30\x2e\x35\x37\x38\x37\x35\x20\x2d\x32\
+\x2e\x32\x36\x35\x36\x31\x2c\x30\x2e\x34\x34\x39\x37\x39\x20\x2d\
+\x31\x2e\x32\x31\x34\x38\x31\x2c\x2d\x31\x2e\x35\x31\x33\x36\x35\
+\x20\x7a\x20\x6d\x20\x2d\x31\x2e\x31\x38\x30\x36\x33\x2c\x2d\x31\
+\x33\x2e\x38\x30\x35\x36\x31\x20\x63\x20\x32\x2e\x31\x31\x30\x36\
+\x32\x2c\x2d\x30\x2e\x38\x35\x32\x37\x32\x20\x2d\x31\x2e\x30\x34\
+\x36\x31\x36\x2c\x2d\x33\x2e\x31\x35\x32\x31\x37\x20\x2d\x34\x2e\
+\x38\x34\x35\x34\x32\x2c\x2d\x33\x2e\x35\x32\x39\x34\x39\x20\x2d\
+\x32\x2e\x39\x31\x31\x32\x31\x36\x2c\x2d\x30\x2e\x32\x38\x39\x31\
+\x32\x20\x2d\x32\x2e\x34\x36\x38\x33\x33\x39\x2c\x2d\x30\x2e\x35\
+\x32\x35\x31\x37\x20\x33\x2e\x31\x30\x34\x33\x35\x2c\x2d\x31\x2e\
+\x36\x35\x34\x35\x36\x20\x37\x2e\x39\x38\x33\x31\x37\x2c\x2d\x31\
+\x2e\x36\x31\x37\x39\x31\x20\x32\x37\x2e\x34\x38\x34\x37\x31\x2c\
+\x2d\x32\x2e\x36\x31\x38\x32\x36\x20\x32\x34\x2e\x33\x37\x38\x38\
+\x39\x2c\x2d\x31\x2e\x32\x35\x30\x35\x34\x20\x2d\x31\x2e\x31\x36\
+\x36\x36\x2c\x30\x2e\x35\x31\x33\x37\x34\x20\x2d\x33\x2e\x38\x36\
+\x34\x35\x36\x2c\x31\x2e\x31\x30\x33\x39\x34\x20\x2d\x35\x2e\x39\
+\x39\x35\x34\x36\x2c\x31\x2e\x33\x31\x31\x35\x35\x20\x2d\x32\x2e\
+\x38\x37\x38\x36\x38\x2c\x30\x2e\x32\x38\x30\x34\x36\x20\x2d\x33\
+\x2e\x39\x36\x39\x35\x2c\x30\x2e\x38\x37\x39\x32\x32\x20\x2d\x34\
+\x2e\x32\x34\x34\x35\x38\x2c\x32\x2e\x33\x32\x39\x39\x20\x2d\x30\
+\x2e\x35\x33\x37\x33\x34\x2c\x32\x2e\x38\x33\x33\x38\x33\x20\x2d\
+\x31\x2e\x39\x38\x30\x38\x33\x2c\x33\x2e\x34\x32\x39\x34\x33\x20\
+\x2d\x38\x2e\x31\x33\x38\x38\x35\x2c\x33\x2e\x33\x35\x38\x31\x38\
+\x20\x2d\x33\x2e\x30\x32\x35\x2c\x2d\x30\x2e\x30\x33\x35\x20\x2d\
+\x34\x2e\x39\x34\x31\x35\x32\x2c\x2d\x30\x2e\x32\x38\x39\x32\x37\
+\x20\x2d\x34\x2e\x32\x35\x38\x39\x33\x2c\x2d\x30\x2e\x35\x36\x35\
+\x30\x34\x20\x7a\x20\x6d\x20\x34\x37\x2e\x33\x33\x37\x38\x38\x2c\
+\x2d\x35\x2e\x39\x32\x34\x30\x33\x20\x63\x20\x30\x2e\x30\x34\x38\
+\x2c\x2d\x31\x2e\x31\x36\x34\x39\x35\x20\x30\x2e\x32\x38\x34\x39\
+\x34\x2c\x2d\x31\x2e\x34\x30\x31\x39\x20\x30\x2e\x36\x30\x34\x31\
+\x36\x2c\x2d\x30\x2e\x36\x30\x34\x31\x37\x20\x30\x2e\x32\x38\x38\
+\x38\x37\x2c\x30\x2e\x37\x32\x31\x38\x37\x20\x30\x2e\x32\x35\x33\
+\x33\x35\x2c\x31\x2e\x35\x38\x34\x33\x37\x20\x2d\x30\x2e\x30\x37\
+\x38\x39\x2c\x31\x2e\x39\x31\x36\x36\x37\x20\x2d\x30\x2e\x33\x33\
+\x32\x33\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x35\x36\
+\x38\x36\x34\x2c\x2d\x30\x2e\x32\x35\x38\x33\x34\x20\x2d\x30\x2e\
+\x35\x32\x35\x32\x32\x2c\x2d\x31\x2e\x33\x31\x32\x35\x20\x7a\x20\
+\x6d\x20\x2d\x35\x37\x2e\x39\x37\x39\x32\x37\x2c\x2d\x39\x2e\x36\
+\x34\x37\x36\x32\x20\x63\x20\x2d\x30\x2e\x30\x37\x35\x35\x35\x2c\
+\x2d\x32\x2e\x30\x36\x39\x39\x31\x20\x30\x2e\x34\x34\x34\x39\x33\
+\x39\x2c\x2d\x32\x2e\x38\x34\x32\x37\x32\x20\x32\x2e\x31\x35\x30\
+\x33\x32\x2c\x2d\x33\x2e\x31\x39\x32\x37\x31\x20\x39\x2e\x30\x37\
+\x33\x32\x33\x2c\x2d\x31\x2e\x38\x36\x32\x30\x37\x20\x31\x33\x2e\
+\x34\x38\x39\x37\x32\x2c\x2d\x32\x2e\x39\x36\x34\x33\x34\x20\x31\
+\x35\x2c\x2d\x33\x2e\x37\x34\x33\x36\x37\x20\x31\x2e\x30\x36\x33\
+\x38\x39\x2c\x2d\x30\x2e\x35\x34\x38\x39\x39\x20\x31\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x35\x33\x35\x37\x38\x20\x31\x2e\x37\x35\x2c\x30\
+\x2e\x30\x33\x33\x37\x20\x30\x2c\x30\x2e\x35\x34\x33\x30\x39\x20\
+\x34\x2e\x35\x31\x37\x35\x31\x2c\x30\x2e\x38\x30\x38\x38\x36\x20\
+\x31\x30\x2e\x37\x35\x2c\x30\x2e\x36\x33\x32\x34\x34\x20\x6c\x20\
+\x31\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x33\x30\x34\x32\x39\x20\x2d\
+\x38\x2e\x33\x37\x32\x39\x39\x2c\x31\x2e\x30\x31\x35\x30\x37\x20\
+\x63\x20\x2d\x36\x2e\x38\x34\x32\x31\x36\x2c\x30\x2e\x38\x32\x39\
+\x34\x38\x20\x2d\x38\x2e\x34\x36\x32\x34\x38\x2c\x31\x2e\x33\x35\
+\x37\x32\x37\x20\x2d\x38\x2e\x38\x36\x32\x34\x36\x2c\x32\x2e\x38\
+\x38\x36\x37\x39\x20\x2d\x30\x2e\x35\x31\x35\x37\x34\x2c\x31\x2e\
+\x39\x37\x32\x31\x39\x20\x2d\x35\x2e\x36\x38\x34\x31\x2c\x33\x2e\
+\x38\x38\x38\x32\x36\x20\x2d\x31\x30\x2e\x35\x31\x34\x35\x35\x2c\
+\x33\x2e\x38\x39\x38\x30\x35\x20\x2d\x32\x2e\x31\x31\x30\x37\x36\
+\x2c\x30\x2e\x30\x30\x34\x20\x2d\x32\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x34\x37\x32\x36\x39\x20\x2d\x32\x2e\x37\x35\x2c\x2d\x32\x2e\x30\
+\x35\x31\x39\x32\x20\x30\x2c\x2d\x31\x2e\x37\x39\x39\x35\x35\x20\
+\x2d\x30\x2e\x35\x32\x37\x38\x31\x2c\x2d\x32\x2e\x30\x31\x38\x39\
+\x35\x20\x2d\x34\x2e\x32\x31\x30\x31\x35\x2c\x2d\x31\x2e\x37\x35\
+\x20\x2d\x33\x2e\x35\x31\x35\x38\x32\x35\x2c\x30\x2e\x32\x35\x36\
+\x37\x39\x20\x2d\x34\x2e\x33\x32\x33\x39\x37\x37\x2c\x30\x2e\x37\
+\x31\x39\x38\x20\x2d\x34\x2e\x39\x30\x30\x33\x32\x33\x2c\x32\x2e\
+\x38\x30\x37\x35\x20\x6c\x20\x2d\x30\x2e\x36\x39\x30\x31\x36\x37\
+\x2c\x32\x2e\x35\x20\x2d\x30\x2e\x30\x39\x39\x36\x38\x2c\x2d\x32\
+\x2e\x37\x33\x30\x39\x35\x20\x7a\x20\x4d\x20\x31\x31\x32\x2e\x37\
+\x35\x2c\x31\x30\x35\x2e\x33\x31\x30\x36\x37\x20\x63\x20\x2d\x30\
+\x2e\x39\x36\x32\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\x2d\
+\x32\x2e\x35\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\
+\x2d\x33\x2e\x35\x2c\x30\x20\x2d\x30\x2e\x39\x36\x32\x35\x2c\x30\
+\x2e\x32\x35\x31\x35\x33\x20\x2d\x30\x2e\x31\x37\x35\x2c\x30\x2e\
+\x34\x35\x37\x33\x33\x20\x31\x2e\x37\x35\x2c\x30\x2e\x34\x35\x37\
+\x33\x33\x20\x31\x2e\x39\x32\x35\x2c\x30\x20\x32\x2e\x37\x31\x32\
+\x35\x2c\x2d\x30\x2e\x32\x30\x35\x38\x20\x31\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x34\x35\x37\x33\x33\x20\x7a\x20\x4d\x20\x31\x35\x34\x2e\
+\x31\x39\x34\x39\x35\x2c\x31\x30\x34\x2e\x35\x20\x63\x20\x30\x2e\
+\x30\x32\x30\x34\x2c\x2d\x31\x2e\x36\x35\x20\x30\x2e\x32\x34\x34\
+\x35\x2c\x2d\x32\x2e\x32\x30\x33\x39\x34\x20\x30\x2e\x34\x39\x38\
+\x30\x34\x2c\x2d\x31\x2e\x32\x33\x30\x39\x37\x20\x30\x2e\x32\x35\
+\x33\x35\x34\x2c\x30\x2e\x39\x37\x32\x39\x37\x20\x30\x2e\x32\x33\
+\x36\x38\x37\x2c\x32\x2e\x33\x32\x32\x39\x37\x20\x2d\x30\x2e\x30\
+\x33\x37\x31\x2c\x33\x20\x2d\x30\x2e\x32\x37\x33\x39\x33\x2c\x30\
+\x2e\x36\x37\x37\x30\x33\x20\x2d\x30\x2e\x34\x38\x31\x33\x37\x2c\
+\x2d\x30\x2e\x31\x31\x39\x30\x33\x20\x2d\x30\x2e\x34\x36\x30\x39\
+\x39\x2c\x2d\x31\x2e\x37\x36\x39\x30\x33\x20\x7a\x20\x4d\x20\x39\
+\x36\x2c\x39\x36\x2e\x32\x30\x35\x32\x31\x31\x20\x63\x20\x30\x2c\
+\x2d\x34\x2e\x30\x30\x30\x32\x35\x36\x20\x30\x2e\x31\x32\x39\x36\
+\x30\x35\x2c\x2d\x34\x2e\x31\x36\x33\x30\x32\x32\x20\x34\x2e\x31\
+\x38\x34\x32\x33\x2c\x2d\x35\x2e\x32\x35\x34\x38\x32\x20\x32\x2e\
+\x33\x30\x31\x33\x33\x2c\x2d\x30\x2e\x36\x31\x39\x36\x38\x34\x20\
+\x35\x2e\x34\x37\x33\x37\x2c\x2d\x30\x2e\x38\x36\x38\x38\x30\x34\
+\x20\x37\x2e\x30\x34\x39\x37\x31\x2c\x2d\x30\x2e\x35\x35\x33\x36\
+\x30\x32\x20\x31\x2e\x35\x37\x36\x30\x32\x2c\x30\x2e\x33\x31\x35\
+\x32\x30\x32\x20\x32\x2e\x36\x32\x37\x30\x35\x2c\x30\x2e\x31\x38\
+\x37\x33\x20\x32\x2e\x33\x33\x35\x36\x33\x2c\x2d\x30\x2e\x32\x38\
+\x34\x32\x32\x37\x20\x2d\x30\x2e\x37\x38\x30\x35\x2c\x2d\x31\x2e\
+\x32\x36\x32\x38\x37\x36\x20\x35\x2e\x37\x37\x30\x30\x38\x2c\x2d\
+\x32\x2e\x31\x30\x35\x31\x30\x35\x20\x31\x35\x2e\x34\x33\x30\x34\
+\x33\x2c\x2d\x31\x2e\x39\x38\x33\x39\x33\x37\x20\x38\x2e\x31\x36\
+\x34\x33\x37\x2c\x30\x2e\x31\x30\x32\x34\x30\x33\x20\x38\x2e\x33\
+\x30\x32\x35\x37\x2c\x30\x2e\x31\x34\x31\x34\x31\x38\x20\x33\x2e\
+\x35\x2c\x30\x2e\x39\x38\x38\x30\x37\x33\x20\x2d\x32\x2e\x37\x35\
+\x2c\x30\x2e\x34\x38\x34\x38\x30\x33\x20\x2d\x36\x2e\x38\x2c\x30\
+\x2e\x36\x37\x32\x37\x31\x36\x20\x2d\x39\x2c\x30\x2e\x34\x31\x37\
+\x35\x38\x36\x20\x2d\x32\x2e\x32\x32\x35\x35\x36\x2c\x2d\x30\x2e\
+\x32\x35\x38\x30\x39\x35\x20\x2d\x33\x2e\x31\x31\x32\x37\x38\x2c\
+\x2d\x30\x2e\x31\x34\x36\x37\x38\x34\x20\x2d\x32\x2c\x30\x2e\x32\
+\x35\x30\x39\x32\x31\x20\x32\x2e\x33\x37\x38\x35\x2c\x30\x2e\x38\
+\x35\x30\x30\x37\x31\x20\x32\x2e\x36\x39\x38\x31\x32\x2c\x34\x2e\
+\x38\x33\x32\x38\x36\x37\x20\x30\x2e\x35\x2c\x36\x2e\x32\x33\x30\
+\x34\x35\x36\x20\x2d\x32\x2e\x30\x32\x38\x39\x37\x2c\x31\x2e\x32\
+\x39\x30\x30\x34\x20\x2d\x31\x31\x2e\x37\x32\x31\x34\x37\x2c\x31\
+\x2e\x32\x34\x34\x30\x33\x31\x20\x2d\x31\x32\x2e\x35\x32\x37\x30\
+\x37\x2c\x2d\x30\x2e\x30\x35\x39\x34\x37\x20\x2d\x30\x2e\x33\x35\
+\x34\x38\x31\x2c\x2d\x30\x2e\x35\x37\x34\x30\x39\x33\x20\x2d\x30\
+\x2e\x30\x37\x38\x32\x2c\x2d\x31\x2e\x37\x32\x36\x39\x34\x33\x20\
+\x30\x2e\x36\x31\x34\x37\x39\x2c\x2d\x32\x2e\x35\x36\x31\x38\x39\
+\x20\x31\x2e\x31\x30\x32\x32\x35\x2c\x2d\x31\x2e\x33\x32\x38\x31\
+\x32\x39\x20\x30\x2e\x36\x34\x33\x37\x39\x2c\x2d\x31\x2e\x34\x37\
+\x39\x30\x35\x38\x20\x2d\x33\x2e\x36\x36\x33\x39\x31\x2c\x2d\x31\
+\x2e\x32\x30\x36\x31\x39\x35\x20\x43\x20\x39\x37\x2e\x36\x31\x37\
+\x37\x32\x36\x2c\x39\x32\x2e\x34\x39\x32\x35\x34\x33\x20\x39\x37\
+\x2e\x34\x39\x37\x36\x30\x39\x2c\x39\x32\x2e\x35\x37\x38\x31\x30\
+\x34\x20\x39\x37\x2e\x34\x2c\x39\x35\x2e\x37\x36\x36\x36\x36\x37\
+\x20\x39\x37\x2e\x32\x35\x31\x35\x37\x36\x2c\x31\x30\x30\x2e\x36\
+\x31\x35\x31\x39\x20\x39\x36\x2c\x31\x30\x31\x2e\x30\x30\x37\x32\
+\x34\x20\x39\x36\x2c\x39\x36\x2e\x32\x30\x35\x32\x31\x31\x20\x7a\
+\x20\x4d\x20\x31\x35\x32\x2e\x36\x34\x32\x33\x39\x2c\x39\x35\x20\
+\x63\x20\x30\x2e\x36\x32\x38\x33\x32\x2c\x2d\x30\x2e\x38\x32\x35\
+\x20\x31\x2e\x33\x36\x33\x36\x32\x2c\x2d\x32\x2e\x34\x20\x31\x2e\
+\x36\x33\x34\x2c\x2d\x33\x2e\x35\x20\x30\x2e\x34\x36\x36\x39\x34\
+\x2c\x2d\x31\x2e\x38\x39\x39\x36\x32\x37\x20\x30\x2e\x34\x39\x37\
+\x34\x33\x2c\x2d\x31\x2e\x38\x39\x33\x32\x32\x36\x20\x30\x2e\x36\
+\x30\x37\x36\x31\x2c\x30\x2e\x31\x32\x37\x35\x35\x35\x20\x30\x2e\
+\x30\x36\x33\x38\x2c\x31\x2e\x31\x37\x30\x31\x35\x36\x20\x2d\x30\
+\x2e\x36\x37\x31\x35\x2c\x32\x2e\x37\x34\x35\x31\x35\x36\x20\x2d\
+\x31\x2e\x36\x33\x34\x2c\x33\x2e\x35\x20\x43\x20\x31\x35\x31\x2e\
+\x37\x32\x38\x30\x31\x2c\x39\x36\x2e\x33\x32\x31\x31\x38\x36\x20\
+\x31\x35\x31\x2e\x36\x34\x38\x38\x34\x2c\x39\x36\x2e\x33\x30\x34\
+\x35\x36\x37\x20\x31\x35\x32\x2e\x36\x34\x32\x33\x39\x2c\x39\x35\
+\x20\x7a\x20\x4d\x20\x31\x33\x37\x2e\x37\x35\x2c\x38\x37\x2e\x32\
+\x39\x34\x32\x36\x37\x20\x63\x20\x31\x2e\x32\x33\x37\x35\x2c\x2d\
+\x30\x2e\x32\x33\x38\x33\x35\x33\x20\x33\x2e\x32\x36\x32\x35\x2c\
+\x2d\x30\x2e\x32\x33\x38\x33\x35\x33\x20\x34\x2e\x35\x2c\x30\x20\
+\x31\x2e\x32\x33\x37\x35\x2c\x30\x2e\x32\x33\x38\x33\x35\x33\x20\
+\x30\x2e\x32\x32\x35\x2c\x30\x2e\x34\x33\x33\x33\x36\x39\x20\x2d\
+\x32\x2e\x32\x35\x2c\x30\x2e\x34\x33\x33\x33\x36\x39\x20\x2d\x32\
+\x2e\x34\x37\x35\x2c\x30\x20\x2d\x33\x2e\x34\x38\x37\x35\x2c\x2d\
+\x30\x2e\x31\x39\x35\x30\x31\x36\x20\x2d\x32\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x34\x33\x33\x33\x36\x39\x20\x7a\x20\x6d\x20\x39\x2c\x2d\
+\x30\x2e\x39\x35\x36\x35\x34\x38\x20\x63\x20\x30\x2e\x36\x38\x37\
+\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x31\x2e\x38\x31\
+\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x32\x2e\x35\
+\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\
+\x31\x33\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\
+\x36\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\
+\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\
+\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x37\x33\x20\x2d\x31\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x7a\x20\x6d\x20\
+\x35\x2c\x30\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\
+\x32\x37\x37\x34\x31\x32\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x32\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\
+\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x33\x20\x30\x2e\
+\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\
+\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x33\
+\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\
+\x32\x32\x36\x39\x37\x33\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\
+\x35\x30\x34\x33\x38\x36\x20\x7a\x20\x4d\x20\x39\x36\x2e\x33\x38\
+\x33\x34\x32\x37\x2c\x38\x31\x2e\x30\x37\x37\x37\x32\x31\x20\x43\
+\x20\x39\x36\x2e\x34\x36\x32\x38\x33\x37\x2c\x37\x38\x2e\x30\x36\
+\x35\x32\x33\x39\x20\x39\x36\x2e\x39\x37\x38\x31\x39\x32\x2c\x37\
+\x36\x2e\x35\x32\x36\x36\x39\x35\x20\x39\x38\x2c\x37\x36\x2e\x32\
+\x35\x31\x35\x39\x20\x63\x20\x31\x2e\x30\x33\x30\x38\x34\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x35\x33\x39\x20\x31\x2e\x31\x33\x32\x33\
+\x33\x37\x2c\x2d\x30\x2e\x31\x34\x31\x34\x30\x34\x20\x30\x2e\x33\
+\x32\x34\x34\x39\x36\x2c\x30\x2e\x34\x33\x35\x32\x35\x35\x20\x2d\
+\x30\x2e\x36\x34\x36\x35\x32\x38\x2c\x30\x2e\x34\x36\x31\x35\x30\
+\x39\x20\x2d\x31\x2e\x33\x37\x33\x39\x38\x35\x2c\x32\x2e\x36\x33\
+\x33\x32\x36\x38\x20\x2d\x31\x2e\x36\x31\x36\x35\x37\x33\x2c\x34\
+\x2e\x38\x32\x36\x31\x33\x31\x20\x2d\x30\x2e\x34\x33\x37\x37\x32\
+\x39\x2c\x33\x2e\x39\x35\x36\x38\x33\x32\x20\x2d\x30\x2e\x34\x34\
+\x30\x31\x38\x36\x2c\x33\x2e\x39\x35\x33\x35\x33\x36\x20\x2d\x30\
+\x2e\x33\x32\x34\x34\x39\x36\x2c\x2d\x30\x2e\x34\x33\x35\x32\x35\
+\x35\x20\x7a\x20\x4d\x20\x31\x30\x36\x2e\x35\x2c\x38\x31\x2e\x39\
+\x38\x37\x39\x38\x39\x20\x63\x20\x31\x2e\x39\x33\x38\x39\x34\x2c\
+\x2d\x30\x2e\x38\x34\x34\x38\x33\x33\x20\x31\x2e\x39\x33\x30\x36\
+\x36\x2c\x2d\x30\x2e\x38\x39\x32\x32\x31\x34\x20\x2d\x30\x2e\x32\
+\x37\x31\x30\x38\x2c\x2d\x31\x2e\x35\x35\x31\x38\x35\x37\x20\x2d\
+\x31\x2e\x37\x39\x33\x36\x31\x2c\x2d\x30\x2e\x35\x33\x37\x33\x36\
+\x38\x20\x2d\x32\x2e\x30\x33\x30\x36\x36\x2c\x2d\x30\x2e\x39\x37\
+\x30\x30\x39\x34\x20\x2d\x31\x2e\x31\x32\x37\x35\x35\x2c\x2d\x32\
+\x2e\x30\x35\x38\x32\x37\x35\x20\x31\x2e\x31\x33\x37\x36\x31\x2c\
+\x2d\x31\x2e\x33\x37\x30\x37\x33\x35\x20\x30\x2e\x31\x30\x31\x38\
+\x35\x2c\x2d\x31\x2e\x39\x33\x38\x30\x35\x34\x20\x2d\x32\x2e\x36\
+\x30\x31\x33\x37\x2c\x2d\x31\x2e\x34\x32\x34\x38\x34\x39\x20\x2d\
+\x30\x2e\x36\x36\x36\x36\x37\x2c\x30\x2e\x31\x32\x36\x35\x36\x36\
+\x20\x2d\x30\x2e\x36\x36\x36\x36\x37\x2c\x2d\x30\x2e\x31\x32\x31\
+\x32\x33\x37\x20\x30\x2c\x2d\x30\x2e\x37\x34\x33\x34\x31\x20\x31\
+\x2e\x38\x35\x31\x39\x2c\x2d\x31\x2e\x37\x32\x38\x33\x30\x35\x20\
+\x39\x2e\x32\x30\x39\x31\x31\x2c\x2d\x32\x2e\x39\x33\x37\x37\x30\
+\x39\x20\x31\x39\x2e\x30\x38\x32\x35\x35\x2c\x2d\x33\x2e\x31\x33\
+\x36\x38\x35\x37\x20\x35\x2e\x33\x39\x36\x30\x31\x2c\x2d\x30\x2e\
+\x31\x30\x38\x38\x33\x37\x20\x31\x30\x2e\x32\x34\x31\x39\x32\x2c\
+\x2d\x30\x2e\x34\x36\x34\x32\x35\x37\x20\x31\x30\x2e\x37\x36\x38\
+\x36\x39\x2c\x2d\x30\x2e\x37\x38\x39\x38\x32\x32\x20\x30\x2e\x35\
+\x32\x36\x37\x38\x2c\x2d\x30\x2e\x33\x32\x35\x35\x36\x35\x20\x30\
+\x2e\x36\x33\x36\x36\x39\x2c\x2d\x30\x2e\x30\x37\x32\x34\x31\x20\
+\x30\x2e\x32\x34\x34\x32\x35\x2c\x30\x2e\x35\x36\x32\x35\x37\x33\
+\x20\x43\x20\x31\x33\x32\x2e\x32\x30\x33\x30\x35\x2c\x37\x33\x2e\
+\x34\x38\x30\x34\x37\x31\x20\x31\x33\x30\x2e\x33\x36\x32\x38\x32\
+\x2c\x37\x34\x20\x31\x32\x38\x2e\x35\x30\x36\x30\x38\x2c\x37\x34\
+\x20\x63\x20\x2d\x34\x2e\x32\x39\x34\x31\x32\x2c\x30\x20\x2d\x38\
+\x2e\x38\x31\x34\x32\x2c\x31\x2e\x36\x39\x32\x34\x33\x39\x20\x2d\
+\x38\x2e\x30\x30\x37\x32\x34\x2c\x32\x2e\x39\x39\x38\x31\x32\x37\
+\x20\x43\x20\x31\x32\x30\x2e\x38\x33\x39\x34\x2c\x37\x37\x2e\x35\
+\x34\x39\x31\x35\x37\x20\x31\x32\x30\x2e\x36\x38\x39\x36\x32\x2c\
+\x37\x38\x20\x31\x32\x30\x2e\x31\x36\x36\x30\x31\x2c\x37\x38\x20\
+\x63\x20\x2d\x30\x2e\x35\x32\x33\x36\x32\x2c\x30\x20\x2d\x31\x2e\
+\x32\x32\x30\x30\x32\x2c\x30\x2e\x36\x39\x38\x33\x37\x32\x20\x2d\
+\x31\x2e\x35\x34\x37\x35\x37\x2c\x31\x2e\x35\x35\x31\x39\x33\x38\
+\x20\x2d\x30\x2e\x33\x34\x31\x34\x39\x2c\x30\x2e\x38\x38\x39\x39\
+\x32\x35\x20\x2d\x30\x2e\x31\x37\x33\x38\x35\x2c\x31\x2e\x32\x39\
+\x31\x33\x32\x32\x20\x30\x2e\x33\x39\x33\x30\x31\x2c\x30\x2e\x39\
+\x34\x30\x39\x38\x33\x20\x30\x2e\x35\x34\x33\x37\x2c\x2d\x30\x2e\
+\x33\x33\x36\x30\x32\x35\x20\x30\x2e\x39\x38\x38\x35\x35\x2c\x2d\
+\x30\x2e\x31\x39\x35\x35\x36\x33\x20\x30\x2e\x39\x38\x38\x35\x35\
+\x2c\x30\x2e\x33\x31\x32\x31\x33\x38\x20\x30\x2c\x30\x2e\x39\x39\
+\x30\x33\x32\x20\x2d\x37\x2e\x32\x38\x37\x30\x34\x2c\x32\x2e\x32\
+\x33\x39\x39\x35\x36\x20\x2d\x31\x32\x2e\x33\x38\x39\x35\x37\x2c\
+\x32\x2e\x31\x32\x34\x36\x35\x36\x20\x2d\x32\x2e\x36\x35\x34\x37\
+\x31\x2c\x2d\x30\x2e\x30\x35\x39\x39\x39\x20\x2d\x32\x2e\x38\x31\
+\x37\x34\x2c\x2d\x30\x2e\x31\x39\x37\x39\x36\x33\x20\x2d\x31\x2e\
+\x31\x31\x30\x34\x33\x2c\x2d\x30\x2e\x39\x34\x31\x37\x32\x36\x20\
+\x7a\x20\x4d\x20\x39\x37\x2e\x31\x30\x30\x33\x39\x31\x2c\x37\x31\
+\x2e\x37\x30\x34\x35\x32\x32\x20\x63\x20\x2d\x31\x2e\x32\x36\x34\
+\x39\x31\x38\x2c\x2d\x32\x2e\x31\x30\x36\x33\x30\x39\x20\x2d\x31\
+\x2e\x32\x34\x33\x36\x30\x38\x2c\x2d\x32\x2e\x31\x32\x37\x36\x31\
+\x39\x20\x30\x2e\x34\x37\x38\x33\x33\x32\x2c\x2d\x30\x2e\x34\x37\
+\x38\x33\x33\x32\x20\x30\x2e\x39\x39\x31\x32\x32\x36\x2c\x30\x2e\
+\x39\x34\x39\x34\x30\x35\x20\x31\x2e\x35\x38\x36\x39\x38\x2c\x31\
+\x2e\x39\x34\x31\x34\x34\x20\x31\x2e\x33\x32\x33\x38\x39\x38\x2c\
+\x32\x2e\x32\x30\x34\x35\x32\x32\x20\x2d\x30\x2e\x32\x36\x33\x30\
+\x38\x32\x2c\x30\x2e\x32\x36\x33\x30\x38\x32\x20\x2d\x31\x2e\x30\
+\x37\x34\x30\x38\x35\x2c\x2d\x30\x2e\x35\x31\x33\x37\x30\x34\x20\
+\x2d\x31\x2e\x38\x30\x32\x32\x33\x2c\x2d\x31\x2e\x37\x32\x36\x31\
+\x39\x20\x7a\x20\x4d\x20\x39\x36\x2c\x36\x36\x2e\x37\x35\x30\x31\
+\x34\x37\x20\x63\x20\x30\x2c\x2d\x32\x2e\x38\x38\x36\x35\x32\x34\
+\x20\x31\x2e\x34\x39\x39\x35\x33\x37\x2c\x2d\x34\x2e\x34\x39\x36\
+\x37\x31\x35\x20\x32\x2e\x32\x38\x33\x39\x37\x32\x2c\x2d\x32\x2e\
+\x34\x35\x32\x35\x31\x32\x20\x30\x2e\x32\x37\x31\x34\x34\x38\x2c\
+\x30\x2e\x37\x30\x37\x33\x38\x32\x20\x2d\x30\x2e\x31\x33\x31\x33\
+\x39\x39\x2c\x32\x2e\x31\x34\x30\x38\x30\x36\x20\x2d\x30\x2e\x38\
+\x39\x35\x32\x31\x35\x2c\x33\x2e\x31\x38\x35\x33\x38\x36\x20\x43\
+\x20\x39\x36\x2e\x30\x37\x34\x34\x35\x32\x2c\x36\x39\x2e\x32\x38\
+\x30\x34\x34\x20\x39\x36\x2c\x36\x39\x2e\x32\x34\x31\x31\x35\x20\
+\x39\x36\x2c\x36\x36\x2e\x37\x35\x30\x31\x34\x37\x20\x7a\x20\x6d\
+\x20\x38\x2e\x38\x33\x37\x34\x39\x2c\x31\x2e\x34\x33\x34\x32\x33\
+\x33\x20\x63\x20\x31\x2e\x36\x30\x39\x37\x33\x2c\x2d\x31\x2e\x30\
+\x39\x35\x38\x39\x34\x20\x31\x2e\x31\x31\x34\x35\x34\x2c\x2d\x35\
+\x2e\x37\x38\x34\x32\x36\x32\x20\x2d\x30\x2e\x35\x37\x35\x32\x34\
+\x2c\x2d\x35\x2e\x34\x34\x36\x33\x37\x36\x20\x2d\x31\x2e\x36\x31\
+\x37\x38\x2c\x30\x2e\x33\x32\x33\x34\x39\x31\x20\x2d\x30\x2e\x33\
+\x39\x30\x31\x39\x2c\x2d\x32\x2e\x38\x30\x33\x31\x31\x32\x20\x31\
+\x2e\x39\x30\x30\x31\x35\x2c\x2d\x34\x2e\x38\x33\x39\x35\x32\x35\
+\x20\x43\x20\x31\x30\x38\x2e\x31\x35\x34\x37\x34\x2c\x35\x36\x2e\
+\x31\x32\x37\x30\x32\x39\x20\x31\x30\x37\x2e\x36\x33\x37\x39\x35\
+\x2c\x35\x35\x20\x31\x30\x34\x2e\x38\x33\x33\x33\x33\x2c\x35\x35\
+\x20\x31\x30\x33\x2e\x38\x32\x35\x2c\x35\x35\x20\x31\x30\x33\x2c\
+\x35\x34\x2e\x35\x35\x20\x31\x30\x33\x2c\x35\x34\x20\x63\x20\x30\
+\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x35\x36\x32\x35\x2c\x2d\x31\
+\x2e\x30\x30\x36\x38\x39\x31\x20\x31\x2e\x32\x35\x2c\x2d\x31\x2e\
+\x30\x31\x35\x33\x31\x33\x20\x30\x2e\x38\x35\x37\x37\x38\x2c\x2d\
+\x30\x2e\x30\x31\x30\x35\x31\x20\x30\x2e\x37\x39\x34\x33\x32\x2c\
+\x2d\x30\x2e\x33\x30\x33\x35\x37\x37\x20\x2d\x30\x2e\x32\x30\x32\
+\x32\x35\x2c\x2d\x30\x2e\x39\x33\x34\x30\x31\x37\x20\x2d\x30\x2e\
+\x37\x39\x38\x37\x34\x2c\x2d\x30\x2e\x35\x30\x35\x32\x38\x37\x20\
+\x2d\x31\x2e\x38\x31\x31\x32\x34\x2c\x2d\x30\x2e\x36\x39\x36\x38\
+\x33\x39\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x30\x2e\x34\x32\x35\x36\
+\x37\x20\x2d\x30\x2e\x37\x33\x37\x34\x2c\x30\x2e\x34\x35\x35\x37\
+\x33\x36\x20\x2d\x31\x2e\x31\x37\x38\x35\x38\x2c\x2d\x31\x2e\x33\
+\x35\x34\x32\x36\x20\x2d\x31\x2e\x30\x36\x36\x34\x2c\x2d\x34\x2e\
+\x33\x37\x35\x20\x30\x2e\x30\x32\x35\x35\x2c\x2d\x30\x2e\x36\x38\
+\x37\x35\x20\x2d\x30\x2e\x35\x36\x37\x34\x33\x2c\x2d\x31\x2e\x32\
+\x35\x20\x2d\x31\x2e\x33\x31\x37\x37\x31\x2c\x2d\x31\x2e\x32\x35\
+\x20\x2d\x31\x2e\x30\x32\x36\x32\x37\x37\x2c\x30\x20\x2d\x31\x2e\
+\x31\x33\x38\x34\x30\x37\x2c\x30\x2e\x35\x39\x33\x37\x31\x38\x20\
+\x2d\x30\x2e\x34\x35\x32\x37\x33\x33\x2c\x32\x2e\x33\x39\x37\x31\
+\x37\x37\x20\x30\x2e\x35\x30\x31\x32\x37\x33\x2c\x31\x2e\x33\x31\
+\x38\x34\x34\x38\x20\x30\x2e\x36\x34\x30\x31\x33\x35\x2c\x32\x2e\
+\x36\x36\x38\x34\x34\x38\x20\x30\x2e\x33\x30\x38\x35\x38\x32\x2c\
+\x33\x20\x43\x20\x39\x37\x2e\x35\x38\x35\x33\x30\x33\x2c\x35\x33\
+\x2e\x30\x38\x31\x33\x36\x33\x20\x39\x37\x2c\x35\x31\x2e\x33\x33\
+\x30\x31\x36\x37\x20\x39\x37\x2c\x34\x34\x2e\x36\x30\x36\x39\x38\
+\x39\x20\x63\x20\x30\x2c\x2d\x35\x2e\x38\x31\x38\x39\x36\x39\x20\
+\x30\x2e\x33\x33\x36\x37\x37\x38\x2c\x2d\x37\x2e\x35\x32\x32\x32\
+\x34\x35\x20\x31\x2e\x35\x38\x31\x37\x38\x37\x2c\x2d\x38\x20\x32\
+\x2e\x31\x32\x32\x30\x39\x33\x2c\x2d\x30\x2e\x38\x31\x34\x33\x32\
+\x34\x20\x35\x33\x2e\x39\x32\x36\x37\x36\x33\x2c\x2d\x30\x2e\x37\
+\x38\x32\x32\x30\x39\x20\x35\x33\x2e\x31\x31\x31\x36\x33\x33\x2c\
+\x30\x2e\x30\x33\x32\x39\x32\x20\x2d\x30\x2e\x33\x35\x31\x39\x35\
+\x2c\x30\x2e\x33\x35\x31\x39\x35\x33\x20\x2d\x36\x2e\x34\x37\x39\
+\x37\x32\x2c\x30\x2e\x39\x32\x39\x37\x31\x36\x20\x2d\x31\x33\x2e\
+\x36\x31\x37\x32\x35\x2c\x31\x2e\x32\x38\x33\x39\x31\x38\x20\x2d\
+\x37\x2e\x31\x33\x37\x35\x34\x2c\x30\x2e\x33\x35\x34\x32\x30\x32\
+\x20\x2d\x31\x33\x2e\x32\x34\x32\x31\x35\x2c\x30\x2e\x39\x30\x38\
+\x38\x31\x32\x20\x2d\x31\x33\x2e\x35\x36\x35\x38\x2c\x31\x2e\x32\
+\x33\x32\x34\x36\x36\x20\x2d\x30\x2e\x33\x32\x33\x36\x36\x2c\x30\
+\x2e\x33\x32\x33\x36\x35\x34\x20\x30\x2e\x30\x34\x35\x33\x2c\x32\
+\x2e\x34\x32\x37\x39\x39\x32\x20\x30\x2e\x38\x31\x39\x39\x31\x2c\
+\x34\x2e\x36\x37\x36\x33\x30\x35\x20\x30\x2e\x37\x37\x34\x36\x31\
+\x2c\x32\x2e\x32\x34\x38\x33\x31\x34\x20\x31\x2e\x30\x32\x34\x39\
+\x37\x2c\x34\x2e\x32\x31\x38\x32\x34\x33\x20\x30\x2e\x35\x35\x36\
+\x33\x37\x2c\x34\x2e\x33\x37\x37\x36\x32\x20\x2d\x30\x2e\x34\x36\
+\x38\x36\x31\x2c\x30\x2e\x31\x35\x39\x33\x37\x38\x20\x2d\x30\x2e\
+\x39\x37\x32\x33\x31\x2c\x31\x2e\x39\x37\x36\x33\x37\x35\x20\x2d\
+\x31\x2e\x31\x31\x39\x33\x33\x2c\x34\x2e\x30\x33\x37\x37\x37\x32\
+\x20\x2d\x30\x2e\x31\x37\x38\x36\x39\x2c\x32\x2e\x35\x30\x35\x33\
+\x38\x34\x20\x2d\x30\x2e\x37\x36\x34\x36\x33\x2c\x33\x2e\x37\x37\
+\x31\x39\x36\x33\x20\x2d\x31\x2e\x37\x36\x37\x33\x32\x2c\x33\x2e\
+\x38\x32\x30\x32\x38\x36\x20\x2d\x31\x2e\x33\x33\x33\x33\x33\x2c\
+\x30\x2e\x30\x36\x34\x32\x36\x20\x2d\x31\x2e\x33\x33\x33\x33\x33\
+\x2c\x30\x2e\x31\x34\x37\x38\x31\x33\x20\x30\x2c\x30\x2e\x37\x35\
+\x32\x30\x30\x34\x20\x32\x2e\x30\x35\x34\x34\x31\x2c\x30\x2e\x39\
+\x33\x30\x39\x34\x33\x20\x32\x2e\x33\x34\x35\x33\x33\x2c\x33\x2e\
+\x31\x30\x39\x39\x36\x38\x20\x30\x2e\x35\x30\x39\x32\x38\x2c\x33\
+\x2e\x38\x31\x34\x35\x32\x39\x20\x43\x20\x31\x32\x32\x2e\x36\x37\
+\x39\x31\x37\x2c\x36\x30\x2e\x39\x35\x33\x33\x35\x34\x20\x31\x32\
+\x32\x2c\x36\x31\x2e\x38\x34\x30\x38\x33\x33\x20\x31\x32\x32\x2c\
+\x36\x32\x2e\x36\x30\x36\x39\x38\x39\x20\x31\x32\x32\x2c\x36\x33\
+\x2e\x33\x37\x33\x31\x34\x35\x20\x31\x32\x31\x2e\x35\x30\x31\x38\
+\x36\x2c\x36\x34\x20\x31\x32\x30\x2e\x38\x39\x33\x30\x31\x2c\x36\
+\x34\x20\x63\x20\x2d\x30\x2e\x36\x30\x38\x38\x34\x2c\x30\x20\x2d\
+\x30\x2e\x38\x35\x33\x35\x2c\x30\x2e\x36\x36\x30\x35\x38\x39\x20\
+\x2d\x30\x2e\x35\x34\x33\x36\x37\x2c\x31\x2e\x34\x36\x37\x39\x37\
+\x35\x20\x30\x2e\x33\x30\x39\x38\x32\x2c\x30\x2e\x38\x30\x37\x33\
+\x38\x36\x20\x30\x2e\x32\x34\x35\x34\x37\x2c\x31\x2e\x36\x35\x32\
+\x36\x20\x2d\x30\x2e\x31\x34\x33\x30\x31\x2c\x31\x2e\x38\x37\x38\
+\x32\x35\x32\x20\x2d\x31\x2e\x35\x33\x38\x33\x31\x2c\x30\x2e\x38\
+\x39\x33\x35\x34\x20\x2d\x31\x36\x2e\x36\x36\x31\x36\x37\x2c\x31\
+\x2e\x37\x31\x38\x33\x30\x37\x20\x2d\x31\x35\x2e\x33\x36\x38\x38\
+\x34\x2c\x30\x2e\x38\x33\x38\x31\x35\x33\x20\x7a\x20\x4d\x20\x31\
+\x30\x34\x2c\x34\x38\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\
+\x2d\x30\x2e\x34\x37\x36\x35\x36\x2c\x2d\x31\x20\x2d\x31\x2e\x30\
+\x35\x39\x30\x32\x2c\x2d\x31\x20\x2d\x30\x2e\x35\x38\x32\x34\x36\
+\x2c\x30\x20\x2d\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\
+\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x30\x2e\x33\x33\x39\
+\x39\x32\x2c\x30\x2e\x35\x35\x20\x30\x2e\x38\x31\x36\x34\x38\x2c\
+\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x43\x20\x31\x30\
+\x33\x2e\x38\x30\x31\x35\x36\x2c\x34\x39\x20\x31\x30\x34\x2c\x34\
+\x38\x2e\x35\x35\x20\x31\x30\x34\x2c\x34\x38\x20\x7a\x20\x6d\x20\
+\x2d\x30\x2e\x37\x39\x31\x37\x34\x2c\x2d\x33\x2e\x36\x37\x36\x31\
+\x39\x33\x20\x63\x20\x2d\x30\x2e\x39\x39\x31\x39\x32\x2c\x2d\x30\
+\x2e\x33\x39\x38\x30\x30\x32\x20\x2d\x31\x2e\x30\x32\x31\x35\x33\
+\x2c\x2d\x30\x2e\x38\x34\x33\x38\x37\x38\x20\x2d\x30\x2e\x31\x32\
+\x37\x35\x35\x2c\x2d\x31\x2e\x39\x32\x31\x30\x35\x33\x20\x30\x2e\
+\x39\x32\x37\x30\x31\x2c\x2d\x31\x2e\x31\x31\x36\x39\x38\x34\x20\
+\x30\x2e\x37\x38\x32\x37\x32\x2c\x2d\x31\x2e\x34\x31\x38\x38\x33\
+\x37\x20\x2d\x30\x2e\x37\x30\x38\x32\x37\x2c\x2d\x31\x2e\x34\x38\
+\x31\x37\x30\x31\x20\x2d\x31\x2e\x30\x35\x33\x36\x34\x2c\x2d\x30\
+\x2e\x30\x34\x34\x34\x33\x20\x2d\x31\x2e\x33\x32\x35\x38\x33\x2c\
+\x2d\x30\x2e\x32\x39\x39\x35\x31\x31\x20\x2d\x30\x2e\x36\x32\x32\
+\x34\x34\x2c\x2d\x30\x2e\x35\x38\x33\x33\x33\x34\x20\x32\x2e\x30\
+\x33\x31\x38\x31\x2c\x2d\x30\x2e\x38\x31\x39\x38\x35\x34\x20\x31\
+\x2e\x34\x33\x31\x39\x36\x2c\x2d\x31\x2e\x38\x38\x36\x34\x34\x34\
+\x20\x2d\x31\x2e\x31\x38\x32\x36\x34\x2c\x2d\x32\x2e\x31\x30\x32\
+\x38\x33\x35\x20\x2d\x32\x2e\x30\x38\x35\x39\x38\x35\x2c\x2d\x30\
+\x2e\x31\x37\x32\x36\x34\x31\x20\x2d\x32\x2e\x34\x32\x30\x37\x35\
+\x35\x2c\x30\x2e\x32\x31\x36\x36\x38\x37\x20\x2d\x32\x2e\x33\x34\
+\x39\x32\x33\x36\x2c\x32\x2e\x37\x33\x32\x30\x39\x38\x20\x30\x2e\
+\x30\x36\x30\x39\x39\x2c\x32\x2e\x31\x34\x35\x32\x35\x33\x20\x30\
+\x2e\x36\x34\x37\x34\x34\x34\x2c\x33\x2e\x30\x34\x34\x35\x36\x32\
+\x20\x32\x2e\x31\x38\x32\x36\x33\x36\x2c\x33\x2e\x33\x34\x37\x30\
+\x34\x32\x20\x33\x2e\x30\x35\x30\x33\x2c\x30\x2e\x36\x30\x30\x39\
+\x39\x39\x20\x34\x2e\x32\x39\x31\x37\x35\x2c\x30\x2e\x36\x30\x35\
+\x33\x32\x35\x20\x32\x2e\x38\x30\x37\x35\x2c\x30\x2e\x30\x30\x39\
+\x38\x20\x7a\x20\x4d\x20\x31\x35\x35\x2e\x32\x33\x32\x2c\x36\x31\
+\x20\x63\x20\x30\x2c\x2d\x31\x2e\x39\x32\x35\x20\x30\x2e\x32\x30\
+\x35\x38\x2c\x2d\x32\x2e\x37\x31\x32\x35\x20\x30\x2e\x34\x35\x37\
+\x33\x33\x2c\x2d\x31\x2e\x37\x35\x20\x30\x2e\x32\x35\x31\x35\x32\
+\x2c\x30\x2e\x39\x36\x32\x35\x20\x30\x2e\x32\x35\x31\x35\x32\x2c\
+\x32\x2e\x35\x33\x37\x35\x20\x30\x2c\x33\x2e\x35\x20\x43\x20\x31\
+\x35\x35\x2e\x34\x33\x37\x38\x2c\x36\x33\x2e\x37\x31\x32\x35\x20\
+\x31\x35\x35\x2e\x32\x33\x32\x2c\x36\x32\x2e\x39\x32\x35\x20\x31\
+\x35\x35\x2e\x32\x33\x32\x2c\x36\x31\x20\x7a\x20\x4d\x20\x39\x37\
+\x2e\x35\x36\x34\x32\x39\x33\x2c\x36\x30\x2e\x37\x30\x36\x38\x37\
+\x32\x20\x63\x20\x30\x2e\x33\x37\x35\x35\x33\x31\x2c\x2d\x30\x2e\
+\x39\x38\x36\x32\x32\x31\x20\x30\x2e\x39\x33\x34\x36\x39\x32\x2c\
+\x2d\x31\x2e\x35\x34\x31\x32\x32\x31\x20\x31\x2e\x32\x34\x32\x35\
+\x37\x39\x2c\x2d\x31\x2e\x32\x33\x33\x33\x33\x33\x20\x30\x2e\x33\
+\x30\x37\x38\x38\x37\x2c\x30\x2e\x33\x30\x37\x38\x38\x37\x20\x36\
+\x2e\x33\x34\x65\x2d\x34\x2c\x31\x2e\x31\x31\x34\x37\x39\x34\x20\
+\x2d\x30\x2e\x36\x38\x32\x37\x38\x34\x2c\x31\x2e\x37\x39\x33\x31\
+\x32\x38\x20\x2d\x30\x2e\x39\x38\x37\x36\x31\x36\x2c\x30\x2e\x39\
+\x38\x30\x32\x36\x37\x20\x2d\x31\x2e\x31\x30\x32\x34\x38\x2c\x30\
+\x2e\x38\x36\x35\x34\x30\x33\x20\x2d\x30\x2e\x35\x35\x39\x37\x39\
+\x35\x2c\x2d\x30\x2e\x35\x35\x39\x37\x39\x35\x20\x7a\x20\x4d\x20\
+\x31\x35\x35\x2e\x33\x36\x35\x32\x33\x2c\x34\x37\x2e\x35\x20\x63\
+\x20\x30\x2e\x30\x30\x33\x2c\x2d\x35\x2e\x35\x20\x30\x2e\x31\x37\
+\x30\x35\x33\x2c\x2d\x37\x2e\x36\x32\x32\x34\x31\x35\x20\x30\x2e\
+\x33\x37\x33\x31\x37\x2c\x2d\x34\x2e\x37\x31\x36\x34\x37\x38\x20\
+\x30\x2e\x32\x30\x32\x36\x35\x2c\x32\x2e\x39\x30\x35\x39\x33\x37\
+\x20\x30\x2e\x32\x30\x30\x35\x32\x2c\x37\x2e\x34\x30\x35\x39\x33\
+\x37\x20\x2d\x30\x2e\x30\x30\x35\x2c\x31\x30\x20\x43\x20\x31\x35\
+\x35\x2e\x35\x32\x38\x34\x32\x2c\x35\x35\x2e\x33\x37\x37\x35\x38\
+\x35\x20\x31\x35\x35\x2e\x33\x36\x32\x36\x33\x2c\x35\x33\x20\x31\
+\x35\x35\x2e\x33\x36\x35\x32\x33\x2c\x34\x37\x2e\x35\x20\x7a\x20\
+\x4d\x20\x39\x36\x2e\x36\x30\x33\x30\x30\x36\x2c\x35\x34\x2e\x38\
+\x33\x33\x33\x33\x33\x20\x43\x20\x39\x36\x2e\x38\x38\x36\x32\x37\
+\x31\x2c\x35\x34\x2e\x33\x37\x35\x20\x39\x37\x2e\x35\x34\x31\x34\
+\x37\x36\x2c\x35\x34\x20\x39\x38\x2e\x30\x35\x39\x30\x31\x37\x2c\
+\x35\x34\x20\x39\x38\x2e\x35\x37\x36\x35\x35\x38\x2c\x35\x34\x20\
+\x39\x39\x2c\x35\x34\x2e\x33\x37\x35\x20\x39\x39\x2c\x35\x34\x2e\
+\x38\x33\x33\x33\x33\x33\x20\x63\x20\x30\x2c\x30\x2e\x34\x35\x38\
+\x33\x33\x34\x20\x2d\x30\x2e\x36\x35\x35\x32\x30\x35\x2c\x30\x2e\
+\x38\x33\x33\x33\x33\x34\x20\x2d\x31\x2e\x34\x35\x36\x30\x31\x31\
+\x2c\x30\x2e\x38\x33\x33\x33\x33\x34\x20\x2d\x30\x2e\x38\x30\x30\
+\x38\x30\x37\x2c\x30\x20\x2d\x31\x2e\x32\x32\x34\x32\x34\x39\x2c\
+\x2d\x30\x2e\x33\x37\x35\x20\x2d\x30\x2e\x39\x34\x30\x39\x38\x33\
+\x2c\x2d\x30\x2e\x38\x33\x33\x33\x33\x34\x20\x7a\x20\x4d\x20\x31\
+\x33\x39\x2e\x35\x2c\x34\x34\x20\x63\x20\x30\x2e\x33\x33\x39\x39\
+\x32\x2c\x2d\x30\x2e\x35\x35\x20\x31\x2e\x30\x36\x38\x30\x33\x2c\
+\x2d\x31\x20\x31\x2e\x36\x31\x38\x30\x33\x2c\x2d\x31\x20\x30\x2e\
+\x35\x35\x2c\x30\x20\x30\x2e\x37\x32\x31\x38\x39\x2c\x30\x2e\x34\
+\x35\x20\x30\x2e\x33\x38\x31\x39\x37\x2c\x31\x20\x2d\x30\x2e\x33\
+\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x31\x2e\x30\x36\x38\
+\x30\x33\x2c\x31\x20\x2d\x31\x2e\x36\x31\x38\x30\x33\x2c\x31\x20\
+\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x30\x2e\x37\x32\x31\x38\x39\
+\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x30\x2e\x33\x38\x31\x39\x37\x2c\
+\x2d\x31\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x32\x38\x33\x32\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x63\x30\x62\x64\
+\x62\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\
+\x31\x31\x37\x2e\x38\x31\x32\x35\x2c\x32\x31\x33\x2e\x33\x31\x36\
+\x38\x39\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\
+\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x31\x39\
+\x2e\x37\x37\x31\x33\x2c\x2d\x33\x2e\x31\x38\x31\x33\x20\x63\x20\
+\x2d\x30\x2e\x39\x39\x39\x33\x31\x2c\x2d\x31\x2e\x36\x31\x36\x39\
+\x32\x20\x2d\x30\x2e\x32\x31\x33\x34\x31\x2c\x2d\x31\x30\x2e\x30\
+\x32\x30\x39\x36\x20\x30\x2e\x38\x38\x30\x34\x39\x2c\x2d\x39\x2e\
+\x34\x31\x35\x34\x36\x20\x30\x2e\x35\x36\x39\x36\x34\x2c\x30\x2e\
+\x33\x31\x35\x33\x20\x30\x2e\x34\x37\x33\x32\x31\x2c\x2d\x30\x2e\
+\x30\x33\x32\x37\x20\x2d\x30\x2e\x32\x31\x34\x32\x39\x2c\x2d\x30\
+\x2e\x37\x37\x33\x34\x33\x20\x2d\x31\x2e\x34\x38\x36\x31\x32\x2c\
+\x2d\x31\x2e\x36\x30\x31\x30\x38\x20\x2d\x31\x2e\x36\x38\x34\x32\
+\x38\x2c\x2d\x34\x2e\x33\x33\x33\x31\x33\x20\x2d\x30\x2e\x32\x35\
+\x2c\x2d\x33\x2e\x34\x34\x36\x37\x20\x30\x2e\x35\x35\x2c\x30\x2e\
+\x33\x33\x39\x39\x32\x20\x31\x2c\x2d\x30\x2e\x33\x30\x38\x35\x32\
+\x20\x31\x2c\x2d\x31\x2e\x34\x34\x30\x39\x38\x20\x30\x2c\x2d\x31\
+\x2e\x31\x33\x32\x34\x36\x20\x2d\x30\x2e\x35\x36\x32\x35\x2c\x2d\
+\x32\x2e\x30\x36\x35\x39\x31\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x32\
+\x2e\x30\x37\x34\x33\x33\x20\x2d\x30\x2e\x38\x30\x34\x34\x37\x2c\
+\x2d\x30\x2e\x30\x31\x20\x2d\x30\x2e\x38\x38\x31\x36\x35\x2c\x2d\
+\x30\x2e\x32\x37\x37\x31\x38\x20\x2d\x30\x2e\x32\x31\x36\x35\x34\
+\x2c\x2d\x30\x2e\x37\x35\x20\x30\x2e\x35\x36\x38\x34\x2c\x2d\x30\
+\x2e\x34\x30\x34\x30\x38\x20\x30\x2e\x39\x39\x38\x30\x36\x2c\x2d\
+\x31\x2e\x34\x30\x39\x36\x39\x20\x30\x2e\x39\x35\x34\x38\x2c\x2d\
+\x32\x2e\x32\x33\x34\x36\x39\x20\x2d\x30\x2e\x30\x34\x33\x33\x2c\
+\x2d\x30\x2e\x38\x32\x35\x20\x30\x2e\x34\x35\x36\x33\x2c\x2d\x33\
+\x2e\x36\x31\x30\x33\x38\x20\x31\x2e\x31\x31\x30\x31\x33\x2c\x2d\
+\x36\x2e\x31\x38\x39\x37\x34\x20\x30\x2e\x36\x35\x33\x38\x34\x2c\
+\x2d\x32\x2e\x35\x37\x39\x33\x36\x20\x30\x2e\x39\x33\x32\x30\x33\
+\x2c\x2d\x34\x2e\x39\x34\x36\x35\x31\x20\x30\x2e\x36\x31\x38\x32\
+\x2c\x2d\x35\x2e\x32\x36\x30\x33\x33\x20\x2d\x30\x2e\x33\x31\x33\
+\x38\x32\x2c\x2d\x30\x2e\x33\x31\x33\x38\x33\x20\x30\x2e\x32\x34\
+\x30\x31\x38\x2c\x2d\x31\x2e\x31\x36\x33\x34\x35\x20\x31\x2e\x32\
+\x33\x31\x31\x33\x2c\x2d\x31\x2e\x38\x38\x38\x30\x34\x20\x31\x2e\
+\x33\x37\x35\x30\x36\x2c\x2d\x31\x2e\x30\x30\x35\x34\x37\x20\x32\
+\x2e\x37\x31\x39\x34\x31\x2c\x2d\x31\x2e\x30\x37\x32\x35\x20\x35\
+\x2e\x36\x37\x37\x2c\x2d\x30\x2e\x32\x38\x33\x30\x38\x20\x32\x2e\
+\x31\x33\x31\x34\x2c\x30\x2e\x35\x36\x38\x39\x31\x20\x33\x2e\x38\
+\x37\x35\x32\x38\x2c\x31\x2e\x34\x33\x39\x35\x35\x20\x33\x2e\x38\
+\x37\x35\x32\x38\x2c\x31\x2e\x39\x33\x34\x37\x37\x20\x30\x2c\x30\
+\x2e\x34\x39\x35\x32\x32\x20\x2d\x30\x2e\x37\x38\x37\x35\x2c\x30\
+\x2e\x36\x32\x36\x31\x35\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x32\
+\x39\x30\x39\x36\x20\x2d\x31\x2e\x34\x32\x35\x32\x38\x2c\x2d\x30\
+\x2e\x34\x39\x36\x33\x36\x20\x2d\x31\x2e\x33\x37\x38\x39\x2c\x2d\
+\x30\x2e\x33\x30\x37\x34\x37\x20\x30\x2e\x32\x35\x2c\x31\x2e\x30\
+\x31\x37\x39\x38\x20\x31\x2e\x39\x36\x38\x2c\x31\x2e\x36\x30\x31\
+\x33\x39\x20\x31\x2e\x39\x36\x32\x34\x32\x2c\x31\x2e\x36\x31\x38\
+\x35\x31\x20\x2d\x30\x2e\x33\x34\x38\x39\x31\x2c\x31\x2e\x30\x37\
+\x30\x32\x31\x20\x2d\x31\x2e\x32\x39\x31\x39\x31\x2c\x2d\x30\x2e\
+\x33\x30\x36\x34\x37\x20\x2d\x32\x2e\x31\x30\x36\x35\x2c\x2d\x30\
+\x2e\x33\x31\x34\x38\x31\x20\x2d\x31\x2e\x38\x31\x30\x32\x32\x2c\
+\x2d\x30\x2e\x30\x31\x38\x35\x20\x30\x2e\x32\x39\x36\x32\x38\x2c\
+\x30\x2e\x32\x39\x36\x32\x39\x20\x2d\x30\x2e\x33\x33\x34\x32\x31\
+\x2c\x31\x2e\x34\x37\x35\x36\x35\x20\x2d\x31\x2e\x34\x30\x31\x30\
+\x39\x2c\x32\x2e\x36\x32\x30\x38\x31\x20\x2d\x31\x2e\x38\x36\x34\
+\x31\x37\x2c\x32\x2e\x30\x30\x30\x39\x36\x20\x2d\x32\x2e\x31\x38\
+\x39\x37\x38\x2c\x32\x2e\x39\x32\x33\x36\x20\x2d\x32\x2e\x31\x38\
+\x39\x37\x38\x2c\x36\x2e\x32\x30\x34\x39\x39\x20\x30\x2c\x32\x2e\
+\x39\x33\x37\x35\x33\x20\x30\x2e\x32\x37\x39\x39\x34\x2c\x33\x2e\
+\x32\x31\x36\x39\x33\x20\x32\x2e\x37\x35\x2c\x32\x2e\x37\x34\x34\
+\x37\x35\x20\x31\x2e\x35\x31\x39\x39\x36\x2c\x2d\x30\x2e\x32\x39\
+\x30\x35\x36\x20\x32\x2e\x35\x2c\x2d\x30\x2e\x30\x31\x37\x31\x20\
+\x32\x2e\x35\x2c\x30\x2e\x36\x39\x37\x36\x39\x20\x30\x2c\x30\x2e\
+\x36\x34\x36\x35\x38\x20\x30\x2e\x34\x35\x2c\x30\x2e\x38\x39\x37\
+\x34\x38\x20\x31\x2c\x30\x2e\x35\x35\x37\x35\x36\x20\x30\x2e\x35\
+\x35\x2c\x2d\x30\x2e\x33\x33\x39\x39\x32\x20\x31\x2c\x2d\x30\x2e\
+\x33\x37\x38\x30\x33\x20\x31\x2c\x2d\x30\x2e\x30\x38\x34\x37\x20\
+\x30\x2c\x30\x2e\x32\x39\x33\x33\x34\x20\x2d\x31\x2e\x33\x35\x2c\
+\x31\x2e\x32\x33\x31\x34\x35\x20\x2d\x33\x2c\x32\x2e\x30\x38\x34\
+\x37\x20\x2d\x33\x2e\x33\x38\x31\x34\x34\x2c\x31\x2e\x37\x34\x38\
+\x36\x31\x20\x2d\x33\x2e\x37\x37\x33\x37\x35\x2c\x33\x2e\x32\x31\
+\x33\x37\x34\x20\x2d\x31\x2e\x33\x33\x37\x35\x32\x2c\x34\x2e\x39\
+\x39\x35\x31\x35\x20\x30\x2e\x39\x31\x34\x33\x36\x2c\x30\x2e\x36\
+\x36\x38\x36\x20\x31\x2e\x34\x31\x39\x37\x33\x2c\x31\x2e\x38\x34\
+\x33\x32\x31\x20\x31\x2e\x31\x32\x33\x30\x34\x2c\x32\x2e\x36\x31\
+\x30\x32\x34\x20\x2d\x30\x2e\x37\x38\x38\x33\x2c\x32\x2e\x30\x33\
+\x37\x39\x35\x20\x2d\x39\x2e\x35\x35\x33\x38\x35\x2c\x38\x2e\x30\
+\x37\x38\x34\x37\x20\x2d\x31\x30\x2e\x32\x30\x31\x37\x32\x2c\x37\
+\x2e\x30\x33\x30\x32\x20\x7a\x20\x6d\x20\x2d\x33\x38\x2e\x30\x37\
+\x34\x37\x35\x39\x2c\x2d\x39\x2e\x34\x38\x36\x35\x31\x20\x63\x20\
+\x2d\x30\x2e\x37\x38\x37\x33\x38\x36\x2c\x2d\x31\x2e\x38\x32\x30\
+\x36\x36\x20\x30\x2e\x36\x39\x38\x36\x33\x39\x2c\x2d\x33\x2e\x36\
+\x31\x38\x34\x35\x20\x32\x2e\x39\x39\x30\x39\x35\x39\x2c\x2d\x33\
+\x2e\x36\x31\x38\x34\x35\x20\x30\x2e\x35\x35\x2c\x30\x20\x30\x2e\
+\x34\x38\x39\x35\x36\x2c\x30\x2e\x33\x33\x30\x36\x20\x2d\x30\x2e\
+\x31\x33\x34\x33\x32\x2c\x30\x2e\x37\x33\x34\x36\x38\x20\x2d\x30\
+\x2e\x36\x32\x33\x38\x37\x2c\x30\x2e\x34\x30\x34\x30\x38\x20\x2d\
+\x31\x2e\x33\x34\x31\x37\x33\x2c\x31\x2e\x36\x33\x34\x36\x39\x20\
+\x2d\x31\x2e\x35\x39\x35\x32\x34\x2c\x32\x2e\x37\x33\x34\x36\x39\
+\x20\x2d\x30\x2e\x34\x33\x37\x39\x36\x2c\x31\x2e\x39\x30\x30\x33\
+\x34\x20\x2d\x30\x2e\x35\x30\x30\x38\x31\x2c\x31\x2e\x39\x30\x37\
+\x37\x37\x20\x2d\x31\x2e\x32\x36\x31\x33\x39\x39\x2c\x30\x2e\x31\
+\x34\x39\x30\x38\x20\x7a\x20\x6d\x20\x31\x31\x2e\x33\x30\x33\x34\
+\x37\x39\x2c\x2d\x30\x2e\x37\x31\x31\x35\x33\x20\x63\x20\x2d\x30\
+\x2e\x31\x39\x31\x38\x35\x2c\x2d\x30\x2e\x35\x37\x35\x35\x35\x20\
+\x2d\x31\x2e\x31\x31\x35\x31\x33\x2c\x2d\x31\x2e\x31\x35\x38\x39\
+\x33\x20\x2d\x32\x2e\x30\x35\x31\x37\x33\x2c\x2d\x31\x2e\x32\x39\
+\x36\x33\x39\x20\x2d\x33\x2e\x30\x36\x30\x30\x37\x2c\x2d\x30\x2e\
+\x34\x34\x39\x31\x33\x20\x2d\x33\x2e\x32\x33\x31\x39\x39\x2c\x2d\
+\x31\x2e\x37\x30\x37\x36\x32\x20\x2d\x30\x2e\x32\x30\x38\x34\x2c\
+\x2d\x31\x2e\x35\x32\x35\x35\x20\x31\x2e\x36\x32\x31\x31\x39\x2c\
+\x30\x2e\x30\x39\x37\x37\x20\x35\x2e\x30\x38\x35\x31\x31\x2c\x2d\
+\x30\x2e\x31\x36\x34\x35\x32\x20\x37\x2e\x36\x39\x37\x36\x31\x2c\
+\x2d\x30\x2e\x35\x38\x32\x36\x20\x33\x2e\x39\x38\x35\x34\x38\x2c\
+\x2d\x30\x2e\x36\x33\x37\x38\x20\x34\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x35\x30\x35\x35\x20\x34\x2e\x37\x35\x2c\x30\x2e\x38\x32\x32\x30\
+\x31\x20\x30\x2c\x30\x2e\x39\x34\x34\x36\x38\x20\x2d\x30\x2e\x35\
+\x36\x33\x36\x33\x2c\x31\x2e\x33\x36\x35\x38\x38\x20\x2d\x31\x2e\
+\x33\x39\x38\x38\x35\x2c\x31\x2e\x30\x34\x35\x33\x37\x20\x2d\x30\
+\x2e\x37\x36\x39\x33\x37\x2c\x2d\x30\x2e\x32\x39\x35\x32\x33\x20\
+\x2d\x31\x2e\x37\x30\x30\x34\x36\x2c\x2d\x30\x2e\x30\x34\x38\x38\
+\x20\x2d\x32\x2e\x30\x36\x39\x31\x2c\x30\x2e\x35\x34\x37\x37\x20\
+\x2d\x30\x2e\x33\x36\x38\x36\x33\x2c\x30\x2e\x35\x39\x36\x34\x37\
+\x20\x2d\x31\x2e\x30\x37\x39\x38\x35\x2c\x30\x2e\x38\x33\x31\x33\
+\x33\x20\x2d\x31\x2e\x35\x38\x30\x34\x38\x2c\x30\x2e\x35\x32\x31\
+\x39\x33\x20\x2d\x30\x2e\x35\x30\x30\x36\x33\x2c\x2d\x30\x2e\x33\
+\x30\x39\x34\x31\x20\x2d\x31\x2e\x37\x38\x33\x32\x34\x2c\x2d\x30\
+\x2e\x30\x39\x35\x33\x20\x2d\x32\x2e\x38\x35\x30\x32\x33\x2c\x30\
+\x2e\x34\x37\x35\x37\x20\x2d\x31\x2e\x33\x34\x34\x38\x34\x2c\x30\
+\x2e\x37\x31\x39\x37\x33\x20\x2d\x32\x2e\x30\x34\x37\x30\x31\x2c\
+\x30\x2e\x37\x31\x37\x32\x31\x20\x2d\x32\x2e\x32\x38\x38\x38\x32\
+\x2c\x2d\x30\x2e\x30\x30\x38\x20\x7a\x20\x6d\x20\x2d\x35\x2e\x30\
+\x30\x30\x30\x32\x2c\x2d\x35\x2e\x36\x32\x30\x36\x36\x20\x63\x20\
+\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\
+\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\
+\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\
+\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\
+\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\
+\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\
+\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\
+\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\
+\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\
+\x30\x34\x31\x36\x20\x7a\x20\x4d\x20\x31\x30\x39\x2c\x31\x39\x33\
+\x2e\x32\x36\x30\x31\x20\x63\x20\x30\x2c\x2d\x31\x2e\x35\x31\x37\
+\x34\x34\x20\x37\x2e\x35\x33\x37\x31\x35\x2c\x2d\x34\x2e\x30\x37\
+\x31\x32\x34\x20\x31\x30\x2e\x34\x30\x30\x32\x39\x2c\x2d\x33\x2e\
+\x35\x32\x33\x39\x31\x20\x31\x2e\x34\x32\x39\x38\x34\x2c\x30\x2e\
+\x32\x37\x33\x33\x33\x20\x32\x2e\x35\x39\x39\x37\x31\x2c\x30\x2e\
+\x37\x39\x36\x33\x36\x20\x32\x2e\x35\x39\x39\x37\x31\x2c\x31\x2e\
+\x31\x36\x32\x32\x38\x20\x30\x2c\x30\x2e\x33\x36\x35\x39\x32\x20\
+\x31\x2e\x32\x30\x31\x32\x37\x2c\x30\x2e\x37\x36\x34\x37\x33\x20\
+\x32\x2e\x36\x36\x39\x34\x39\x2c\x30\x2e\x38\x38\x36\x32\x35\x20\
+\x35\x2e\x38\x31\x39\x38\x31\x2c\x30\x2e\x34\x38\x31\x36\x36\x20\
+\x33\x2e\x33\x39\x36\x33\x37\x2c\x31\x2e\x33\x35\x35\x30\x31\x20\
+\x2d\x33\x2e\x31\x37\x36\x32\x33\x2c\x31\x2e\x31\x34\x34\x36\x33\
+\x20\x2d\x33\x2e\x38\x34\x36\x32\x39\x2c\x2d\x30\x2e\x31\x32\x33\
+\x31\x31\x20\x2d\x38\x2e\x32\x33\x30\x37\x36\x2c\x30\x2e\x31\x31\
+\x36\x32\x31\x20\x2d\x39\x2e\x37\x34\x33\x32\x36\x2c\x30\x2e\x35\
+\x33\x31\x38\x32\x20\x2d\x31\x2e\x36\x31\x30\x32\x38\x2c\x30\x2e\
+\x34\x34\x32\x34\x37\x20\x2d\x32\x2e\x37\x35\x2c\x30\x2e\x33\x35\
+\x39\x31\x34\x20\x2d\x32\x2e\x37\x35\x2c\x2d\x30\x2e\x32\x30\x31\
+\x30\x37\x20\x7a\x20\x6d\x20\x2d\x31\x32\x2c\x2d\x39\x2e\x32\x30\
+\x31\x30\x38\x20\x63\x20\x30\x2c\x2d\x31\x2e\x36\x37\x36\x34\x33\
+\x20\x31\x2e\x37\x37\x33\x35\x34\x34\x2c\x2d\x32\x2e\x30\x39\x31\
+\x35\x34\x20\x32\x2e\x33\x36\x33\x38\x33\x2c\x2d\x30\x2e\x35\x35\
+\x33\x32\x38\x20\x43\x20\x39\x39\x2e\x37\x31\x32\x31\x33\x32\x2c\
+\x31\x38\x34\x2e\x34\x31\x33\x34\x20\x39\x39\x2e\x33\x36\x30\x36\
+\x39\x39\x2c\x31\x38\x35\x20\x39\x38\x2e\x34\x36\x38\x36\x31\x35\
+\x2c\x31\x38\x35\x20\x39\x37\x2e\x36\x36\x30\x38\x37\x37\x2c\x31\
+\x38\x35\x20\x39\x37\x2c\x31\x38\x34\x2e\x35\x37\x36\x35\x36\x20\
+\x39\x37\x2c\x31\x38\x34\x2e\x30\x35\x39\x30\x32\x20\x7a\x20\x6d\
+\x20\x38\x2c\x2d\x30\x2e\x39\x32\x39\x35\x32\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x34\x30\x30\x32\x20\x31\x2e\x34\x36\x32\x35\x2c\x2d\
+\x30\x2e\x37\x35\x30\x36\x35\x20\x33\x2e\x32\x35\x2c\x2d\x30\x2e\
+\x37\x37\x38\x37\x37\x20\x31\x2e\x37\x38\x37\x35\x2c\x2d\x30\x2e\
+\x30\x32\x38\x31\x20\x34\x2e\x34\x38\x36\x34\x39\x2c\x2d\x30\x2e\
+\x33\x39\x32\x30\x38\x20\x35\x2e\x39\x39\x37\x37\x36\x2c\x2d\x30\
+\x2e\x38\x30\x38\x37\x38\x20\x31\x2e\x35\x31\x31\x32\x37\x2c\x2d\
+\x30\x2e\x34\x31\x36\x37\x31\x20\x33\x2e\x35\x33\x36\x32\x37\x2c\
+\x2d\x30\x2e\x34\x33\x39\x30\x34\x20\x34\x2e\x35\x2c\x2d\x30\x2e\
+\x30\x34\x39\x36\x20\x31\x2e\x35\x37\x37\x38\x31\x2c\x30\x2e\x36\
+\x33\x37\x35\x33\x20\x31\x2e\x35\x33\x38\x38\x2c\x30\x2e\x37\x39\
+\x30\x34\x38\x20\x2d\x30\x2e\x33\x39\x31\x37\x38\x2c\x31\x2e\x35\
+\x33\x36\x34\x32\x20\x43\x20\x31\x31\x35\x2e\x37\x31\x33\x38\x33\
+\x2c\x31\x38\x34\x2e\x30\x34\x39\x36\x31\x20\x31\x30\x35\x2c\x31\
+\x38\x34\x2e\x31\x33\x30\x34\x35\x20\x31\x30\x35\x2c\x31\x38\x33\
+\x2e\x31\x32\x39\x35\x20\x7a\x20\x6d\x20\x2d\x31\x2c\x2d\x33\x2e\
+\x31\x36\x30\x38\x38\x20\x43\x20\x31\x30\x34\x2c\x31\x37\x39\x2e\
+\x34\x33\x35\x38\x38\x20\x31\x30\x34\x2e\x36\x37\x35\x2c\x31\x37\
+\x39\x20\x31\x30\x35\x2e\x35\x2c\x31\x37\x39\x20\x63\x20\x30\x2e\
+\x38\x32\x35\x2c\x30\x20\x31\x2e\x35\x2c\x30\x2e\x31\x37\x36\x38\
+\x36\x20\x31\x2e\x35\x2c\x30\x2e\x33\x39\x33\x30\x31\x20\x30\x2c\
+\x30\x2e\x32\x31\x36\x31\x36\x20\x2d\x30\x2e\x36\x37\x35\x2c\x30\
+\x2e\x36\x35\x32\x30\x33\x20\x2d\x31\x2e\x35\x2c\x30\x2e\x39\x36\
+\x38\x36\x32\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x2e\x33\x31\x36\
+\x35\x38\x20\x2d\x31\x2e\x35\x2c\x30\x2e\x31\x33\x39\x37\x32\x20\
+\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x33\x39\x33\x30\x31\x20\x7a\x20\
+\x6d\x20\x31\x36\x2e\x37\x35\x2c\x30\x2e\x33\x36\x39\x31\x20\x63\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\
+\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x39\
+\x2c\x2d\x31\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\
+\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\
+\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\
+\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\
+\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\
+\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\
+\x7a\x20\x6d\x20\x2d\x32\x30\x2e\x30\x34\x34\x31\x32\x2c\x2d\x32\
+\x2e\x30\x31\x33\x36\x35\x20\x63\x20\x30\x2e\x32\x37\x39\x34\x36\
+\x2c\x2d\x30\x2e\x37\x32\x38\x32\x34\x20\x31\x2e\x31\x33\x34\x39\
+\x35\x2c\x2d\x31\x2e\x33\x38\x30\x33\x32\x20\x31\x2e\x39\x30\x31\
+\x31\x31\x2c\x2d\x31\x2e\x34\x34\x39\x30\x37\x20\x32\x2e\x31\x35\
+\x36\x36\x35\x2c\x2d\x30\x2e\x31\x39\x33\x35\x32\x20\x38\x2e\x30\
+\x34\x37\x32\x32\x2c\x2d\x30\x2e\x31\x34\x37\x39\x20\x31\x31\x2e\
+\x36\x34\x33\x30\x31\x2c\x30\x2e\x30\x39\x30\x32\x20\x6c\x20\x33\
+\x2e\x32\x35\x2c\x30\x2e\x32\x31\x35\x31\x39\x20\x2d\x33\x2c\x30\
+\x2e\x38\x31\x37\x38\x36\x20\x63\x20\x2d\x31\x2e\x36\x35\x2c\x30\
+\x2e\x34\x34\x39\x38\x32\x20\x2d\x35\x2e\x35\x34\x33\x2c\x31\x2e\
+\x30\x30\x35\x30\x37\x20\x2d\x38\x2e\x36\x35\x31\x31\x31\x2c\x31\
+\x2e\x32\x33\x33\x38\x38\x20\x2d\x34\x2e\x33\x39\x39\x35\x34\x2c\
+\x30\x2e\x33\x32\x33\x38\x39\x20\x2d\x35\x2e\x35\x33\x38\x35\x37\
+\x2c\x30\x2e\x31\x32\x32\x37\x38\x20\x2d\x35\x2e\x31\x34\x33\x30\
+\x31\x2c\x2d\x30\x2e\x39\x30\x38\x30\x35\x20\x7a\x20\x6d\x20\x33\
+\x33\x2e\x30\x32\x37\x34\x35\x2c\x2d\x34\x2e\x34\x34\x38\x31\x36\
+\x20\x63\x20\x30\x2e\x36\x37\x38\x33\x34\x2c\x2d\x30\x2e\x36\x38\
+\x33\x34\x32\x20\x31\x2e\x34\x38\x35\x32\x34\x2c\x2d\x30\x2e\x39\
+\x39\x30\x36\x37\x20\x31\x2e\x37\x39\x33\x31\x33\x2c\x2d\x30\x2e\
+\x36\x38\x32\x37\x38\x20\x30\x2e\x33\x30\x37\x38\x39\x2c\x30\x2e\
+\x33\x30\x37\x38\x39\x20\x2d\x30\x2e\x32\x34\x37\x31\x31\x2c\x30\
+\x2e\x38\x36\x37\x30\x35\x20\x2d\x31\x2e\x32\x33\x33\x33\x33\x2c\
+\x31\x2e\x32\x34\x32\x35\x38\x20\x2d\x31\x2e\x34\x32\x35\x32\x2c\
+\x30\x2e\x35\x34\x32\x36\x38\x20\x2d\x31\x2e\x35\x34\x30\x30\x36\
+\x2c\x30\x2e\x34\x32\x37\x38\x32\x20\x2d\x30\x2e\x35\x35\x39\x38\
+\x2c\x2d\x30\x2e\x35\x35\x39\x38\x20\x7a\x20\x6d\x20\x2d\x34\x36\
+\x2e\x32\x37\x34\x34\x34\x39\x2c\x2d\x31\x2e\x39\x34\x32\x34\x34\
+\x20\x63\x20\x2d\x30\x2e\x33\x36\x32\x35\x33\x33\x2c\x2d\x30\x2e\
+\x35\x38\x36\x35\x39\x20\x2d\x30\x2e\x34\x34\x34\x36\x38\x33\x2c\
+\x2d\x31\x2e\x32\x38\x31\x20\x2d\x30\x2e\x31\x38\x32\x35\x35\x35\
+\x2c\x2d\x31\x2e\x35\x34\x33\x31\x33\x20\x30\x2e\x32\x36\x32\x31\
+\x32\x38\x2c\x2d\x30\x2e\x32\x36\x32\x31\x33\x20\x30\x2e\x37\x34\
+\x33\x30\x36\x36\x2c\x30\x2e\x32\x31\x37\x38\x31\x20\x31\x2e\x30\
+\x36\x38\x37\x35\x31\x2c\x31\x2e\x30\x36\x36\x35\x33\x20\x30\x2e\
+\x36\x37\x36\x31\x38\x34\x2c\x31\x2e\x37\x36\x32\x31\x31\x20\x30\
+\x2e\x30\x39\x39\x38\x35\x2c\x32\x2e\x30\x37\x32\x30\x36\x20\x2d\
+\x30\x2e\x38\x38\x36\x31\x39\x36\x2c\x30\x2e\x34\x37\x36\x36\x20\
+\x7a\x20\x4d\x20\x39\x38\x2e\x30\x31\x35\x33\x31\x33\x2c\x31\x36\
+\x38\x2e\x37\x35\x20\x63\x20\x2d\x30\x2e\x30\x31\x31\x31\x35\x2c\
+\x2d\x31\x2e\x32\x37\x33\x38\x37\x20\x30\x2e\x37\x33\x32\x38\x39\
+\x36\x2c\x2d\x31\x2e\x37\x31\x38\x34\x34\x20\x32\x2e\x37\x33\x34\
+\x36\x38\x37\x2c\x2d\x31\x2e\x36\x33\x34\x20\x32\x2e\x31\x30\x37\
+\x37\x39\x2c\x30\x2e\x30\x38\x38\x39\x20\x32\x2e\x32\x38\x32\x39\
+\x34\x2c\x30\x2e\x32\x33\x32\x36\x39\x20\x30\x2e\x37\x35\x2c\x30\
+\x2e\x36\x31\x35\x36\x38\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x32\x37\
+\x34\x38\x33\x20\x2d\x32\x2e\x33\x33\x30\x36\x30\x39\x2c\x31\x2e\
+\x30\x31\x30\x31\x33\x20\x2d\x32\x2e\x37\x33\x34\x36\x38\x37\x2c\
+\x31\x2e\x36\x33\x34\x20\x2d\x30\x2e\x34\x36\x36\x32\x35\x38\x2c\
+\x30\x2e\x37\x31\x39\x38\x38\x20\x2d\x30\x2e\x37\x34\x30\x32\x38\
+\x32\x2c\x30\x2e\x34\x39\x34\x39\x33\x20\x2d\x30\x2e\x37\x35\x2c\
+\x2d\x30\x2e\x36\x31\x35\x36\x38\x20\x7a\x20\x4d\x20\x31\x30\x36\
+\x2c\x31\x36\x38\x2e\x35\x20\x63\x20\x2d\x31\x2e\x30\x36\x31\x33\
+\x36\x2c\x2d\x31\x2e\x32\x37\x38\x38\x37\x20\x2d\x30\x2e\x37\x38\
+\x34\x35\x37\x2c\x2d\x31\x2e\x35\x20\x31\x2e\x38\x37\x37\x35\x36\
+\x2c\x2d\x31\x2e\x35\x20\x33\x2e\x33\x30\x37\x33\x33\x2c\x30\x20\
+\x34\x2e\x31\x39\x32\x37\x36\x2c\x31\x2e\x33\x37\x35\x33\x20\x31\
+\x2e\x35\x34\x30\x36\x35\x2c\x32\x2e\x33\x39\x33\x30\x31\x20\x2d\
+\x32\x2e\x30\x38\x39\x38\x2c\x30\x2e\x38\x30\x31\x39\x33\x20\x2d\
+\x31\x2e\x39\x38\x39\x38\x37\x2c\x30\x2e\x38\x32\x38\x30\x34\x20\
+\x2d\x33\x2e\x34\x31\x38\x32\x31\x2c\x2d\x30\x2e\x38\x39\x33\x30\
+\x31\x20\x7a\x20\x6d\x20\x38\x2e\x30\x35\x32\x31\x35\x2c\x2d\x30\
+\x2e\x34\x31\x38\x32\x39\x20\x63\x20\x2d\x31\x2e\x31\x35\x33\x34\
+\x36\x2c\x2d\x30\x2e\x37\x35\x32\x32\x39\x20\x2d\x30\x2e\x39\x35\
+\x30\x31\x33\x2c\x2d\x31\x2e\x30\x34\x36\x39\x37\x20\x31\x2c\x2d\
+\x31\x2e\x34\x34\x39\x32\x36\x20\x31\x2e\x33\x34\x36\x33\x32\x2c\
+\x2d\x30\x2e\x32\x37\x37\x37\x33\x20\x33\x2e\x31\x32\x32\x38\x35\
+\x2c\x2d\x30\x2e\x34\x38\x30\x30\x35\x20\x33\x2e\x39\x34\x37\x38\
+\x35\x2c\x2d\x30\x2e\x34\x34\x39\x36\x20\x30\x2e\x38\x32\x35\x2c\
+\x30\x2e\x30\x33\x30\x35\x20\x32\x2e\x33\x38\x35\x32\x36\x2c\x2d\
+\x30\x2e\x33\x30\x38\x38\x39\x20\x33\x2e\x34\x36\x37\x32\x34\x2c\
+\x2d\x30\x2e\x37\x35\x34\x30\x39\x20\x31\x2e\x37\x32\x38\x38\x32\
+\x2c\x2d\x30\x2e\x37\x31\x31\x33\x36\x20\x31\x2e\x37\x39\x34\x37\
+\x34\x2c\x2d\x30\x2e\x36\x32\x34\x38\x20\x30\x2e\x35\x34\x33\x39\
+\x31\x2c\x30\x2e\x37\x31\x34\x32\x32\x20\x2d\x30\x2e\x37\x38\x32\
+\x38\x34\x2c\x30\x2e\x38\x33\x38\x30\x33\x20\x2d\x31\x2e\x38\x39\
+\x33\x30\x39\x2c\x31\x2e\x35\x36\x36\x30\x39\x20\x2d\x32\x2e\x34\
+\x36\x37\x32\x34\x2c\x31\x2e\x36\x31\x37\x39\x32\x20\x2d\x30\x2e\
+\x35\x37\x34\x31\x35\x2c\x30\x2e\x30\x35\x31\x38\x20\x2d\x31\x2e\
+\x39\x34\x33\x39\x31\x2c\x30\x2e\x33\x35\x37\x36\x38\x20\x2d\x33\
+\x2e\x30\x34\x33\x39\x31\x2c\x30\x2e\x36\x37\x39\x36\x37\x20\x2d\
+\x31\x2e\x31\x2c\x30\x2e\x33\x32\x31\x39\x39\x20\x2d\x32\x2e\x36\
+\x35\x31\x35\x33\x2c\x30\x2e\x31\x36\x30\x35\x20\x2d\x33\x2e\x34\
+\x34\x37\x38\x35\x2c\x2d\x30\x2e\x33\x35\x38\x38\x36\x20\x7a\x20\
+\x4d\x20\x31\x34\x37\x2c\x31\x36\x35\x2e\x39\x34\x30\x39\x38\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x38\x32\x34\x36\x20\x30\x2e\x34\
+\x35\x2c\x2d\x30\x2e\x37\x38\x30\x39\x20\x31\x2c\x2d\x30\x2e\x34\
+\x34\x30\x39\x38\x20\x30\x2e\x35\x35\x2c\x30\x2e\x33\x33\x39\x39\
+\x32\x20\x31\x2c\x30\x2e\x38\x31\x36\x34\x38\x20\x31\x2c\x31\x2e\
+\x30\x35\x39\x30\x32\x20\x30\x2c\x30\x2e\x32\x34\x32\x35\x34\x20\
+\x2d\x30\x2e\x34\x35\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x2d\x31\
+\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x2d\x30\x2e\x35\x35\x2c\x30\
+\x20\x2d\x31\x2c\x2d\x30\x2e\x34\x37\x36\x35\x36\x20\x2d\x31\x2c\
+\x2d\x31\x2e\x30\x35\x39\x30\x32\x20\x7a\x20\x4d\x20\x31\x34\x39\
+\x2e\x35\x2c\x31\x36\x35\x20\x63\x20\x2d\x30\x2e\x33\x33\x39\x39\
+\x32\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x30\x38\x33\x35\x2c\x2d\
+\x31\x20\x30\x2e\x39\x34\x30\x39\x38\x2c\x2d\x31\x20\x30\x2e\x38\
+\x35\x37\x34\x36\x2c\x30\x20\x31\x2e\x35\x35\x39\x30\x32\x2c\x30\
+\x2e\x34\x35\x20\x31\x2e\x35\x35\x39\x30\x32\x2c\x31\x20\x30\x2c\
+\x30\x2e\x35\x35\x20\x2d\x30\x2e\x34\x32\x33\x34\x34\x2c\x31\x20\
+\x2d\x30\x2e\x39\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x35\x31\
+\x37\x35\x34\x2c\x30\x20\x2d\x31\x2e\x32\x31\x39\x31\x2c\x2d\x30\
+\x2e\x34\x35\x20\x2d\x31\x2e\x35\x35\x39\x30\x32\x2c\x2d\x31\x20\
+\x7a\x20\x6d\x20\x2d\x32\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\
+\x36\x38\x33\x31\x31\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\
+\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\
+\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\
+\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\
+\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\
+\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\
+\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\
+\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\
+\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\
+\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\
+\x20\x2d\x31\x38\x2e\x36\x36\x31\x33\x39\x2c\x2d\x32\x2e\x32\x31\
+\x35\x30\x34\x20\x63\x20\x30\x2e\x38\x31\x37\x35\x39\x2c\x2d\x31\
+\x2e\x33\x32\x36\x30\x31\x20\x32\x2e\x30\x33\x38\x31\x38\x2c\x2d\
+\x32\x2e\x30\x31\x30\x37\x33\x20\x33\x2e\x30\x39\x38\x38\x39\x2c\
+\x2d\x31\x2e\x37\x33\x38\x33\x39\x20\x30\x2e\x39\x36\x32\x35\x2c\
+\x30\x2e\x32\x34\x37\x31\x31\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x30\x30\x37\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x36\x34\x30\
+\x37\x20\x30\x2c\x2d\x30\x2e\x35\x37\x31\x33\x34\x20\x30\x2e\x37\
+\x36\x33\x33\x34\x2c\x2d\x30\x2e\x37\x30\x30\x39\x20\x31\x2e\x37\
+\x35\x2c\x2d\x30\x2e\x32\x39\x37\x30\x31\x20\x30\x2e\x39\x36\x32\
+\x35\x2c\x30\x2e\x33\x39\x34\x20\x32\x2e\x34\x32\x35\x2c\x30\x2e\
+\x38\x31\x31\x34\x37\x20\x33\x2e\x32\x35\x2c\x30\x2e\x39\x32\x37\
+\x37\x31\x20\x30\x2e\x38\x32\x35\x2c\x30\x2e\x31\x31\x36\x32\x34\
+\x20\x32\x2e\x31\x37\x35\x2c\x30\x2e\x34\x38\x31\x33\x37\x20\x33\
+\x2c\x30\x2e\x38\x31\x31\x34\x20\x30\x2e\x38\x32\x35\x2c\x30\x2e\
+\x33\x33\x30\x30\x33\x20\x32\x2e\x31\x37\x35\x2c\x30\x2e\x38\x32\
+\x35\x31\x38\x20\x33\x2c\x31\x2e\x31\x30\x30\x33\x33\x20\x30\x2e\
+\x38\x32\x35\x2c\x30\x2e\x32\x37\x35\x31\x36\x20\x2d\x31\x2e\x32\
+\x35\x36\x32\x35\x2c\x30\x2e\x35\x33\x35\x38\x31\x20\x2d\x34\x2e\
+\x36\x32\x35\x2c\x30\x2e\x35\x37\x39\x32\x33\x20\x2d\x33\x2e\x33\
+\x36\x38\x37\x35\x2c\x30\x2e\x30\x34\x33\x34\x20\x2d\x37\x2e\x35\
+\x37\x35\x37\x35\x2c\x30\x2e\x33\x36\x39\x31\x20\x2d\x39\x2e\x33\
+\x34\x38\x38\x39\x2c\x30\x2e\x37\x32\x33\x37\x33\x20\x2d\x33\x2e\
+\x31\x31\x30\x34\x35\x2c\x30\x2e\x36\x32\x32\x30\x39\x20\x2d\x33\
+\x2e\x31\x37\x36\x34\x33\x2c\x30\x2e\x35\x36\x37\x38\x20\x2d\x31\
+\x2e\x38\x37\x35\x2c\x2d\x31\x2e\x35\x34\x32\x39\x33\x20\x7a\x20\
+\x6d\x20\x34\x30\x2e\x36\x36\x31\x33\x39\x2c\x30\x2e\x32\x31\x35\
+\x30\x34\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\
+\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x4d\x20\x39\x36\
+\x2c\x31\x35\x34\x2e\x36\x30\x36\x39\x39\x20\x63\x20\x30\x2c\x2d\
+\x31\x2e\x34\x34\x31\x31\x38\x20\x32\x2e\x38\x38\x35\x35\x30\x32\
+\x2c\x2d\x33\x2e\x30\x35\x34\x38\x32\x20\x33\x2e\x38\x30\x39\x37\
+\x39\x35\x2c\x2d\x32\x2e\x31\x33\x30\x35\x33\x20\x30\x2e\x32\x38\
+\x37\x39\x34\x35\x2c\x30\x2e\x32\x38\x37\x39\x35\x20\x2d\x30\x2e\
+\x30\x34\x39\x36\x31\x2c\x30\x2e\x35\x32\x33\x35\x34\x20\x2d\x30\
+\x2e\x37\x35\x30\x31\x31\x37\x2c\x30\x2e\x35\x32\x33\x35\x34\x20\
+\x2d\x30\x2e\x37\x32\x31\x32\x39\x36\x2c\x30\x20\x2d\x31\x2e\x30\
+\x32\x34\x30\x32\x37\x2c\x30\x2e\x36\x35\x30\x35\x32\x20\x2d\x30\
+\x2e\x36\x39\x38\x30\x35\x32\x2c\x31\x2e\x35\x20\x30\x2e\x33\x35\
+\x30\x36\x32\x34\x2c\x30\x2e\x39\x31\x33\x37\x31\x20\x30\x2e\x30\
+\x30\x31\x36\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x38\x39\x33\x30\x31\
+\x31\x2c\x31\x2e\x35\x20\x43\x20\x39\x36\x2e\x36\x36\x30\x38\x37\
+\x37\x2c\x31\x35\x36\x20\x39\x36\x2c\x31\x35\x35\x2e\x33\x37\x33\
+\x31\x34\x20\x39\x36\x2c\x31\x35\x34\x2e\x36\x30\x36\x39\x39\x20\
+\x7a\x20\x6d\x20\x37\x2e\x35\x35\x38\x38\x37\x2c\x2d\x31\x2e\x31\
+\x32\x34\x34\x37\x20\x43\x20\x31\x30\x31\x2e\x37\x33\x37\x35\x33\
+\x2c\x31\x35\x32\x2e\x30\x39\x31\x34\x39\x20\x31\x30\x31\x2e\x38\
+\x35\x30\x36\x38\x2c\x31\x35\x32\x20\x31\x30\x35\x2e\x33\x39\x32\
+\x32\x2c\x31\x35\x32\x20\x63\x20\x32\x2e\x35\x37\x34\x38\x38\x2c\
+\x30\x20\x33\x2e\x36\x34\x32\x31\x39\x2c\x30\x2e\x33\x39\x37\x32\
+\x37\x20\x33\x2e\x33\x35\x38\x32\x37\x2c\x31\x2e\x32\x35\x20\x2d\
+\x30\x2e\x36\x30\x37\x39\x31\x2c\x31\x2e\x38\x32\x35\x37\x37\x20\
+\x2d\x32\x2e\x39\x36\x37\x31\x33\x2c\x31\x2e\x39\x33\x31\x34\x33\
+\x20\x2d\x35\x2e\x31\x39\x31\x36\x2c\x30\x2e\x32\x33\x32\x35\x32\
+\x20\x7a\x20\x6d\x20\x31\x32\x2e\x36\x33\x34\x39\x35\x2c\x30\x2e\
+\x37\x38\x38\x39\x38\x20\x63\x20\x30\x2e\x33\x38\x31\x36\x31\x2c\
+\x2d\x30\x2e\x32\x32\x30\x33\x39\x20\x30\x2e\x34\x37\x34\x37\x34\
+\x2c\x2d\x30\x2e\x39\x37\x31\x36\x34\x20\x30\x2e\x32\x30\x36\x39\
+\x37\x2c\x2d\x31\x2e\x36\x36\x39\x34\x34\x20\x2d\x30\x2e\x32\x36\
+\x37\x37\x37\x2c\x2d\x30\x2e\x36\x39\x37\x38\x20\x30\x2e\x30\x39\
+\x35\x2c\x2d\x31\x2e\x33\x33\x36\x32\x31\x20\x30\x2e\x38\x30\x36\
+\x31\x38\x2c\x2d\x31\x2e\x34\x31\x38\x37\x20\x30\x2e\x37\x31\x31\
+\x31\x37\x2c\x2d\x30\x2e\x30\x38\x32\x35\x20\x32\x2e\x36\x34\x33\
+\x30\x33\x2c\x2d\x30\x2e\x33\x32\x33\x30\x31\x20\x34\x2e\x32\x39\
+\x33\x30\x33\x2c\x2d\x30\x2e\x35\x33\x34\x35\x31\x20\x31\x2e\x36\
+\x35\x2c\x2d\x30\x2e\x32\x31\x31\x34\x39\x20\x32\x2e\x32\x33\x37\
+\x33\x38\x2c\x2d\x30\x2e\x31\x39\x30\x39\x37\x20\x31\x2e\x33\x30\
+\x35\x32\x39\x2c\x30\x2e\x30\x34\x35\x36\x20\x2d\x30\x2e\x39\x38\
+\x37\x33\x37\x2c\x30\x2e\x32\x35\x30\x36\x32\x20\x2d\x31\x2e\x34\
+\x36\x34\x34\x34\x2c\x31\x2e\x30\x33\x30\x32\x31\x20\x2d\x31\x2e\
+\x31\x34\x33\x30\x31\x2c\x31\x2e\x38\x36\x37\x38\x35\x20\x30\x2e\
+\x33\x36\x37\x38\x35\x2c\x30\x2e\x39\x35\x38\x36\x20\x2d\x30\x2e\
+\x31\x32\x33\x31\x37\x2c\x31\x2e\x34\x33\x37\x36\x39\x20\x2d\x31\
+\x2e\x34\x37\x33\x35\x2c\x31\x2e\x34\x33\x37\x36\x39\x20\x2d\x31\
+\x2e\x31\x31\x33\x38\x36\x2c\x30\x20\x2d\x32\x2e\x36\x32\x34\x35\
+\x31\x2c\x30\x2e\x31\x35\x31\x32\x35\x20\x2d\x33\x2e\x33\x35\x36\
+\x39\x39\x2c\x30\x2e\x33\x33\x36\x31\x20\x2d\x30\x2e\x37\x33\x32\
+\x34\x39\x2c\x30\x2e\x31\x38\x34\x38\x36\x20\x2d\x31\x2e\x30\x31\
+\x39\x35\x37\x2c\x30\x2e\x31\x35\x35\x37\x39\x20\x2d\x30\x2e\x36\
+\x33\x37\x39\x37\x2c\x2d\x30\x2e\x30\x36\x34\x36\x20\x7a\x20\x4d\
+\x20\x31\x35\x32\x2e\x35\x2c\x31\x34\x39\x2e\x35\x20\x63\x20\x30\
+\x2c\x2d\x31\x2e\x32\x36\x39\x39\x36\x20\x30\x2e\x33\x33\x37\x35\
+\x2c\x2d\x32\x2e\x31\x30\x30\x34\x33\x20\x30\x2e\x37\x35\x2c\x2d\
+\x31\x2e\x38\x34\x35\x34\x39\x20\x30\x2e\x34\x31\x32\x35\x2c\x30\
+\x2e\x32\x35\x34\x39\x34\x20\x30\x2e\x37\x35\x2c\x31\x2e\x30\x38\
+\x35\x34\x31\x20\x30\x2e\x37\x35\x2c\x31\x2e\x38\x34\x35\x34\x39\
+\x20\x30\x2c\x30\x2e\x37\x36\x30\x30\x38\x20\x2d\x30\x2e\x33\x33\
+\x37\x35\x2c\x31\x2e\x35\x39\x30\x35\x35\x20\x2d\x30\x2e\x37\x35\
+\x2c\x31\x2e\x38\x34\x35\x34\x39\x20\x2d\x30\x2e\x34\x31\x32\x35\
+\x2c\x30\x2e\x32\x35\x34\x39\x34\x20\x2d\x30\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x35\x37\x35\x35\x33\x20\x2d\x30\x2e\x37\x35\x2c\x2d\x31\
+\x2e\x38\x34\x35\x34\x39\x20\x7a\x20\x6d\x20\x2d\x34\x32\x2e\x30\
+\x39\x36\x34\x36\x2c\x2d\x31\x2e\x33\x34\x33\x39\x33\x20\x43\x20\
+\x31\x31\x30\x2e\x37\x39\x36\x35\x31\x2c\x31\x34\x37\x2e\x35\x32\
+\x30\x32\x33\x20\x31\x31\x31\x2e\x37\x36\x36\x34\x38\x2c\x31\x34\
+\x37\x20\x31\x31\x32\x2e\x35\x35\x39\x30\x32\x2c\x31\x34\x37\x20\
+\x31\x31\x33\x2e\x33\x35\x31\x35\x36\x2c\x31\x34\x37\x20\x31\x31\
+\x34\x2c\x31\x34\x36\x2e\x36\x30\x35\x32\x38\x20\x31\x31\x34\x2c\
+\x31\x34\x36\x2e\x31\x32\x32\x38\x34\x20\x63\x20\x30\x2c\x2d\x31\
+\x2e\x30\x38\x34\x34\x36\x20\x39\x2e\x31\x34\x31\x34\x39\x2c\x2d\
+\x30\x2e\x32\x31\x30\x35\x34\x20\x31\x30\x2e\x34\x35\x2c\x30\x2e\
+\x39\x39\x39\x30\x31\x20\x30\x2e\x35\x35\x38\x37\x2c\x30\x2e\x35\
+\x31\x36\x34\x34\x20\x2d\x30\x2e\x36\x37\x37\x2c\x30\x2e\x38\x38\
+\x32\x36\x38\x20\x2d\x33\x2c\x30\x2e\x38\x38\x39\x31\x36\x20\x2d\
+\x32\x2e\x31\x37\x32\x35\x2c\x30\x2e\x30\x30\x36\x20\x2d\x35\x2e\
+\x37\x30\x37\x34\x36\x2c\x30\x2e\x33\x30\x31\x32\x38\x20\x2d\x37\
+\x2e\x38\x35\x35\x34\x38\x2c\x30\x2e\x36\x35\x36\x30\x37\x20\x2d\
+\x32\x2e\x38\x32\x39\x37\x39\x2c\x30\x2e\x34\x36\x37\x34\x20\x2d\
+\x33\x2e\x37\x30\x38\x36\x38\x2c\x30\x2e\x33\x32\x36\x36\x35\x20\
+\x2d\x33\x2e\x31\x39\x30\x39\x38\x2c\x2d\x30\x2e\x35\x31\x31\x30\
+\x31\x20\x7a\x20\x6d\x20\x32\x36\x2e\x34\x30\x38\x39\x36\x2c\x30\
+\x2e\x31\x36\x30\x38\x32\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\
+\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\
+\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\
+\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\
+\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\
+\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\
+\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\
+\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\
+\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\
+\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\
+\x6d\x20\x2d\x38\x2e\x35\x36\x32\x35\x2c\x2d\x31\x2e\x30\x30\x36\
+\x32\x32\x20\x63\x20\x30\x2e\x39\x36\x32\x35\x2c\x2d\x30\x2e\x32\
+\x35\x31\x35\x32\x20\x32\x2e\x35\x33\x37\x35\x2c\x2d\x30\x2e\x32\
+\x35\x31\x35\x32\x20\x33\x2e\x35\x2c\x30\x20\x30\x2e\x39\x36\x32\
+\x35\x2c\x30\x2e\x32\x35\x31\x35\x33\x20\x30\x2e\x31\x37\x35\x2c\
+\x30\x2e\x34\x35\x37\x33\x33\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\
+\x34\x35\x37\x33\x33\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\x20\x2d\
+\x32\x2e\x37\x31\x32\x35\x2c\x2d\x30\x2e\x32\x30\x35\x38\x20\x2d\
+\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x35\x37\x33\x33\x20\x7a\x20\
+\x4d\x20\x31\x34\x32\x2c\x31\x34\x36\x2e\x37\x38\x37\x32\x39\x20\
+\x43\x20\x31\x34\x32\x2c\x31\x34\x36\x2e\x33\x35\x34\x32\x38\x20\
+\x31\x34\x32\x2e\x38\x36\x32\x35\x2c\x31\x34\x36\x20\x31\x34\x33\
+\x2e\x39\x31\x36\x36\x37\x2c\x31\x34\x36\x20\x63\x20\x31\x2e\x30\
+\x35\x34\x31\x36\x2c\x30\x20\x32\x2e\x31\x30\x35\x34\x31\x2c\x2d\
+\x30\x2e\x33\x33\x37\x35\x20\x32\x2e\x33\x33\x36\x31\x2c\x2d\x30\
+\x2e\x37\x35\x20\x30\x2e\x32\x33\x30\x36\x39\x2c\x2d\x30\x2e\x34\
+\x31\x32\x35\x20\x30\x2e\x32\x39\x33\x34\x37\x2c\x2d\x30\x2e\x32\
+\x31\x36\x35\x37\x20\x30\x2e\x31\x33\x39\x35\x31\x2c\x30\x2e\x34\
+\x33\x35\x33\x39\x20\x2d\x30\x2e\x31\x35\x33\x39\x36\x2c\x30\x2e\
+\x36\x35\x31\x39\x37\x20\x30\x2e\x32\x35\x37\x32\x39\x2c\x31\x2e\
+\x34\x31\x32\x30\x38\x20\x30\x2e\x39\x31\x33\x39\x2c\x31\x2e\x36\
+\x38\x39\x31\x35\x20\x30\x2e\x36\x35\x36\x36\x2c\x30\x2e\x32\x37\
+\x37\x30\x37\x20\x2d\x30\x2e\x32\x36\x38\x36\x38\x2c\x30\x2e\x34\
+\x33\x35\x34\x32\x20\x2d\x32\x2e\x30\x35\x36\x31\x38\x2c\x30\x2e\
+\x33\x35\x31\x39\x20\x2d\x31\x2e\x37\x38\x37\x35\x2c\x2d\x30\x2e\
+\x30\x38\x33\x35\x20\x2d\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\
+\x36\x31\x34\x20\x2d\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x39\x33\x39\
+\x31\x35\x20\x7a\x20\x4d\x20\x39\x36\x2c\x31\x34\x30\x2e\x30\x33\
+\x36\x20\x63\x20\x30\x2c\x2d\x32\x2e\x32\x33\x39\x31\x38\x20\x31\
+\x2e\x37\x39\x30\x30\x33\x39\x2c\x2d\x32\x2e\x38\x37\x32\x36\x33\
+\x20\x38\x2e\x32\x36\x35\x38\x32\x2c\x2d\x32\x2e\x39\x32\x35\x30\
+\x36\x20\x34\x2e\x34\x33\x31\x34\x34\x2c\x2d\x30\x2e\x30\x33\x35\
+\x39\x20\x34\x2e\x36\x39\x32\x30\x38\x2c\x30\x2e\x30\x39\x39\x32\
+\x20\x33\x2e\x37\x31\x34\x38\x32\x2c\x31\x2e\x39\x32\x35\x32\x34\
+\x20\x43\x20\x31\x30\x36\x2e\x37\x34\x39\x35\x2c\x31\x34\x31\x2e\
+\x33\x33\x36\x35\x39\x20\x31\x30\x33\x2c\x31\x34\x31\x2e\x36\x38\
+\x35\x37\x36\x20\x31\x30\x33\x2c\x31\x33\x39\x2e\x35\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x39\x34\x39\x37\x35\x20\x2d\x30\x2e\x39\x35\
+\x36\x33\x33\x2c\x2d\x31\x2e\x35\x20\x2d\x32\x2e\x36\x30\x36\x39\
+\x39\x2c\x2d\x31\x2e\x35\x20\x2d\x31\x2e\x38\x33\x38\x38\x32\x2c\
+\x30\x20\x2d\x32\x2e\x34\x34\x36\x37\x33\x39\x2c\x30\x2e\x34\x31\
+\x37\x36\x20\x2d\x32\x2e\x30\x36\x33\x31\x34\x31\x2c\x31\x2e\x34\
+\x31\x37\x32\x34\x20\x30\x2e\x32\x39\x39\x31\x31\x35\x2c\x30\x2e\
+\x37\x37\x39\x34\x38\x20\x2d\x30\x2e\x31\x30\x32\x37\x34\x2c\x31\
+\x2e\x36\x36\x35\x33\x36\x20\x2d\x30\x2e\x38\x39\x33\x30\x31\x31\
+\x2c\x31\x2e\x39\x36\x38\x36\x32\x20\x43\x20\x39\x36\x2e\x34\x39\
+\x38\x32\x31\x2c\x31\x34\x31\x2e\x37\x34\x36\x30\x35\x20\x39\x36\
+\x2c\x31\x34\x31\x2e\x32\x37\x38\x30\x31\x20\x39\x36\x2c\x31\x34\
+\x30\x2e\x30\x33\x36\x20\x7a\x20\x6d\x20\x32\x32\x2e\x30\x37\x33\
+\x38\x39\x2c\x2d\x31\x2e\x34\x34\x36\x39\x37\x20\x63\x20\x2d\x30\
+\x2e\x36\x34\x34\x30\x36\x2c\x2d\x30\x2e\x37\x37\x36\x30\x34\x20\
+\x2d\x30\x2e\x38\x31\x31\x36\x36\x2c\x2d\x31\x2e\x36\x31\x33\x38\
+\x32\x20\x2d\x30\x2e\x33\x37\x32\x34\x35\x2c\x2d\x31\x2e\x38\x36\
+\x31\x37\x34\x20\x31\x2e\x35\x31\x37\x37\x31\x2c\x2d\x30\x2e\x38\
+\x35\x36\x37\x32\x20\x36\x2e\x37\x39\x35\x30\x35\x2c\x2d\x31\x2e\
+\x37\x38\x35\x34\x39\x20\x35\x2e\x37\x32\x35\x36\x32\x2c\x2d\x31\
+\x2e\x30\x30\x37\x36\x37\x20\x2d\x30\x2e\x35\x39\x30\x31\x32\x2c\
+\x30\x2e\x34\x32\x39\x32\x31\x20\x2d\x31\x2e\x33\x36\x33\x35\x2c\
+\x31\x2e\x35\x36\x37\x38\x38\x20\x2d\x31\x2e\x37\x31\x38\x36\x32\
+\x2c\x32\x2e\x35\x33\x30\x33\x38\x20\x2d\x30\x2e\x37\x38\x30\x38\
+\x33\x2c\x32\x2e\x31\x31\x36\x33\x33\x20\x2d\x32\x2e\x30\x36\x30\
+\x34\x36\x2c\x32\x2e\x32\x33\x35\x36\x39\x20\x2d\x33\x2e\x36\x33\
+\x34\x35\x35\x2c\x30\x2e\x33\x33\x39\x30\x33\x20\x7a\x20\x4d\x20\
+\x31\x31\x31\x2c\x31\x33\x32\x2e\x34\x35\x32\x31\x39\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x37\x39\x38\x37\x20\x30\x2e\x33\x33\x37\x35\
+\x2c\x2d\x31\x2e\x34\x38\x30\x39\x32\x20\x30\x2e\x37\x35\x2c\x2d\
+\x31\x2e\x35\x31\x36\x30\x33\x20\x30\x2e\x34\x31\x32\x35\x2c\x2d\
+\x30\x2e\x30\x33\x35\x31\x20\x32\x2e\x33\x32\x33\x35\x33\x2c\x2d\
+\x30\x2e\x32\x31\x36\x35\x32\x20\x34\x2e\x32\x34\x36\x37\x32\x2c\
+\x2d\x30\x2e\x34\x30\x33\x31\x34\x20\x31\x2e\x39\x32\x33\x32\x2c\
+\x2d\x30\x2e\x31\x38\x36\x36\x31\x20\x34\x2e\x32\x35\x38\x33\x39\
+\x2c\x30\x2e\x30\x36\x38\x33\x20\x35\x2e\x31\x38\x39\x33\x32\x2c\
+\x30\x2e\x35\x36\x36\x35\x34\x20\x31\x2e\x30\x37\x31\x32\x39\x2c\
+\x30\x2e\x35\x37\x33\x33\x34\x20\x31\x2e\x39\x33\x31\x30\x37\x2c\
+\x30\x2e\x35\x31\x39\x39\x36\x20\x32\x2e\x33\x34\x32\x33\x2c\x2d\
+\x30\x2e\x31\x34\x35\x34\x31\x20\x30\x2e\x34\x31\x39\x36\x31\x2c\
+\x2d\x30\x2e\x36\x37\x38\x39\x35\x20\x31\x2e\x30\x36\x30\x38\x39\
+\x2c\x2d\x30\x2e\x37\x31\x31\x32\x35\x20\x31\x2e\x38\x31\x30\x36\
+\x39\x2c\x2d\x30\x2e\x30\x39\x31\x32\x20\x30\x2e\x36\x33\x38\x35\
+\x33\x2c\x30\x2e\x35\x32\x38\x30\x34\x20\x32\x2e\x35\x31\x30\x39\
+\x37\x2c\x31\x2e\x31\x35\x37\x34\x36\x20\x34\x2e\x31\x36\x30\x39\
+\x37\x2c\x31\x2e\x33\x39\x38\x37\x32\x20\x31\x2e\x36\x35\x2c\x30\
+\x2e\x32\x34\x31\x32\x36\x20\x2d\x30\x2e\x31\x35\x2c\x30\x2e\x35\
+\x33\x32\x30\x31\x20\x2d\x34\x2c\x30\x2e\x36\x34\x36\x31\x20\x2d\
+\x33\x2e\x38\x35\x2c\x30\x2e\x31\x31\x34\x31\x20\x2d\x38\x2e\x36\
+\x38\x37\x35\x2c\x30\x2e\x33\x38\x35\x30\x31\x20\x2d\x31\x30\x2e\
+\x37\x35\x2c\x30\x2e\x36\x30\x32\x30\x33\x20\x2d\x32\x2e\x37\x39\
+\x32\x39\x34\x2c\x30\x2e\x32\x39\x33\x38\x37\x20\x2d\x33\x2e\x37\
+\x35\x2c\x30\x2e\x30\x32\x34\x20\x2d\x33\x2e\x37\x35\x2c\x2d\x31\
+\x2e\x30\x35\x37\x36\x32\x20\x7a\x20\x6d\x20\x32\x36\x2e\x35\x34\
+\x30\x34\x2c\x30\x2e\x36\x33\x39\x36\x37\x20\x63\x20\x30\x2e\x35\
+\x32\x37\x37\x38\x2c\x2d\x30\x2e\x35\x31\x30\x30\x33\x20\x33\x2e\
+\x32\x30\x39\x36\x2c\x2d\x31\x2e\x32\x34\x31\x39\x33\x20\x35\x2e\
+\x39\x35\x39\x36\x2c\x2d\x31\x2e\x36\x32\x36\x34\x35\x20\x33\x2e\
+\x32\x39\x33\x31\x34\x2c\x2d\x30\x2e\x34\x36\x30\x34\x36\x20\x34\
+\x2e\x36\x35\x38\x36\x33\x2c\x2d\x30\x2e\x33\x36\x32\x31\x31\x20\
+\x34\x2c\x30\x2e\x32\x38\x38\x31\x31\x20\x2d\x30\x2e\x35\x35\x2c\
+\x30\x2e\x35\x34\x32\x39\x37\x20\x2d\x33\x2e\x32\x33\x31\x38\x32\
+\x2c\x31\x2e\x32\x37\x34\x38\x38\x20\x2d\x35\x2e\x39\x35\x39\x36\
+\x2c\x31\x2e\x36\x32\x36\x34\x35\x20\x2d\x33\x2e\x30\x35\x35\x36\
+\x31\x2c\x30\x2e\x33\x39\x33\x38\x33\x20\x2d\x34\x2e\x35\x39\x31\
+\x32\x31\x2c\x30\x2e\x32\x38\x33\x32\x33\x20\x2d\x34\x2c\x2d\x30\
+\x2e\x32\x38\x38\x31\x31\x20\x7a\x20\x4d\x20\x39\x36\x2c\x31\x32\
+\x35\x2e\x35\x20\x63\x20\x30\x2c\x2d\x31\x2e\x34\x39\x30\x37\x31\
+\x20\x30\x2e\x34\x33\x30\x35\x39\x39\x2c\x2d\x32\x2e\x33\x35\x31\
+\x39\x31\x20\x31\x2c\x2d\x32\x20\x30\x2e\x35\x35\x2c\x30\x2e\x33\
+\x33\x39\x39\x32\x20\x31\x2c\x31\x2e\x32\x33\x39\x39\x32\x20\x31\
+\x2c\x32\x20\x30\x2c\x30\x2e\x37\x36\x30\x30\x38\x20\x2d\x30\x2e\
+\x34\x35\x2c\x31\x2e\x36\x36\x30\x30\x38\x20\x2d\x31\x2c\x32\x20\
+\x2d\x30\x2e\x35\x36\x39\x34\x30\x31\x2c\x30\x2e\x33\x35\x31\x39\
+\x31\x20\x2d\x31\x2c\x2d\x30\x2e\x35\x30\x39\x32\x39\x20\x2d\x31\
+\x2c\x2d\x32\x20\x7a\x20\x6d\x20\x36\x2c\x30\x2e\x30\x33\x31\x34\
+\x20\x63\x20\x30\x2c\x2d\x30\x2e\x39\x33\x39\x32\x39\x20\x30\x2e\
+\x36\x33\x30\x37\x33\x2c\x2d\x31\x2e\x32\x37\x32\x35\x20\x31\x2e\
+\x37\x35\x2c\x2d\x30\x2e\x39\x32\x34\x34\x39\x20\x31\x2e\x36\x35\
+\x34\x38\x2c\x30\x2e\x35\x31\x34\x35\x32\x20\x31\x2e\x36\x35\x34\
+\x33\x36\x2c\x30\x2e\x34\x38\x32\x36\x37\x20\x2d\x30\x2e\x30\x30\
+\x38\x2c\x2d\x30\x2e\x35\x38\x35\x35\x31\x20\x2d\x30\x2e\x39\x36\
+\x36\x38\x36\x2c\x2d\x30\x2e\x36\x32\x31\x32\x39\x20\x2d\x32\x2e\
+\x31\x31\x33\x33\x34\x2c\x2d\x30\x2e\x39\x30\x39\x39\x36\x20\x2d\
+\x32\x2e\x35\x34\x37\x37\x35\x2c\x2d\x30\x2e\x36\x34\x31\x34\x39\
+\x20\x2d\x30\x2e\x34\x33\x34\x34\x2c\x30\x2e\x32\x36\x38\x34\x38\
+\x20\x2d\x31\x2e\x34\x34\x33\x33\x33\x36\x2c\x30\x2e\x30\x37\x34\
+\x37\x20\x2d\x32\x2e\x32\x34\x32\x30\x37\x36\x2c\x2d\x30\x2e\x34\
+\x33\x30\x35\x36\x20\x2d\x31\x2e\x30\x33\x31\x31\x34\x35\x2c\x2d\
+\x30\x2e\x36\x35\x32\x33\x31\x20\x2d\x30\x2e\x33\x34\x34\x31\x35\
+\x38\x2c\x2d\x30\x2e\x39\x32\x33\x31\x34\x20\x32\x2e\x33\x36\x39\
+\x31\x37\x36\x2c\x2d\x30\x2e\x39\x33\x34\x30\x32\x20\x32\x2e\x31\
+\x30\x31\x37\x38\x2c\x2d\x30\x2e\x30\x30\x38\x20\x34\x2e\x34\x39\
+\x36\x34\x33\x2c\x30\x2e\x36\x35\x39\x36\x39\x20\x35\x2e\x33\x32\
+\x31\x34\x33\x2c\x31\x2e\x34\x38\x34\x36\x39\x20\x30\x2e\x38\x39\
+\x37\x34\x35\x2c\x30\x2e\x38\x39\x37\x34\x35\x20\x31\x2e\x30\x34\
+\x35\x39\x2c\x31\x2e\x35\x20\x30\x2e\x33\x36\x39\x35\x35\x2c\x31\
+\x2e\x35\x20\x2d\x30\x2e\x36\x32\x31\x37\x34\x2c\x30\x20\x2d\x30\
+\x2e\x38\x35\x32\x33\x33\x2c\x30\x2e\x34\x35\x20\x2d\x30\x2e\x35\
+\x31\x32\x34\x31\x2c\x31\x20\x30\x2e\x33\x35\x30\x35\x32\x2c\x30\
+\x2e\x35\x36\x37\x31\x36\x20\x2d\x30\x2e\x34\x38\x39\x36\x32\x2c\
+\x31\x20\x2d\x31\x2e\x39\x34\x30\x39\x38\x2c\x31\x20\x43\x20\x31\
+\x30\x32\x2e\x39\x37\x35\x33\x31\x2c\x31\x32\x37\x20\x31\x30\x32\
+\x2c\x31\x32\x36\x2e\x34\x34\x30\x32\x37\x20\x31\x30\x32\x2c\x31\
+\x32\x35\x2e\x35\x33\x31\x33\x38\x20\x7a\x20\x6d\x20\x31\x35\x2e\
+\x36\x33\x34\x33\x32\x2c\x2d\x30\x2e\x32\x39\x36\x36\x39\x20\x63\
+\x20\x30\x2e\x36\x32\x33\x38\x37\x2c\x2d\x30\x2e\x34\x30\x34\x30\
+\x38\x20\x31\x2e\x32\x39\x38\x38\x37\x2c\x2d\x31\x2e\x35\x39\x30\
+\x33\x20\x31\x2e\x35\x2c\x2d\x32\x2e\x36\x33\x36\x30\x35\x20\x30\
+\x2e\x32\x30\x34\x33\x33\x2c\x2d\x31\x2e\x30\x36\x32\x34\x20\x31\
+\x2e\x33\x37\x33\x37\x36\x2c\x2d\x32\x2e\x30\x35\x34\x37\x36\x20\
+\x32\x2e\x36\x35\x30\x33\x34\x2c\x2d\x32\x2e\x32\x34\x39\x30\x31\
+\x20\x32\x2e\x30\x30\x35\x36\x2c\x2d\x30\x2e\x33\x30\x35\x31\x39\
+\x20\x32\x2e\x31\x35\x33\x39\x38\x2c\x2d\x30\x2e\x31\x30\x33\x34\
+\x39\x20\x31\x2e\x32\x31\x34\x38\x31\x2c\x31\x2e\x36\x35\x31\x33\
+\x36\x20\x2d\x30\x2e\x35\x38\x38\x34\x31\x2c\x31\x2e\x30\x39\x39\
+\x34\x35\x20\x2d\x30\x2e\x37\x31\x36\x35\x2c\x32\x2e\x30\x33\x30\
+\x36\x34\x20\x2d\x30\x2e\x32\x38\x34\x36\x35\x2c\x32\x2e\x30\x36\
+\x39\x33\x20\x31\x2e\x32\x33\x34\x33\x38\x2c\x30\x2e\x31\x31\x30\
+\x34\x39\x20\x2d\x33\x2e\x30\x34\x31\x31\x31\x2c\x31\x2e\x37\x38\
+\x32\x37\x37\x20\x2d\x34\x2e\x37\x31\x34\x38\x32\x2c\x31\x2e\x38\
+\x34\x34\x31\x31\x20\x2d\x30\x2e\x39\x39\x34\x35\x2c\x30\x2e\x30\
+\x33\x36\x35\x20\x2d\x31\x2e\x31\x31\x37\x37\x33\x2c\x2d\x30\x2e\
+\x31\x39\x32\x36\x32\x20\x2d\x30\x2e\x33\x36\x35\x36\x38\x2c\x2d\
+\x30\x2e\x36\x37\x39\x37\x31\x20\x7a\x20\x4d\x20\x31\x30\x38\x2e\
+\x32\x35\x2c\x31\x31\x39\x2e\x32\x35\x32\x37\x37\x20\x63\x20\x30\
+\x2e\x34\x31\x32\x35\x2c\x2d\x30\x2e\x32\x33\x30\x36\x39\x20\x30\
+\x2e\x37\x35\x2c\x2d\x31\x2e\x31\x30\x35\x30\x38\x20\x30\x2e\x37\
+\x35\x2c\x2d\x31\x2e\x39\x34\x33\x30\x39\x20\x30\x2c\x2d\x30\x2e\
+\x38\x33\x38\x30\x31\x20\x30\x2e\x35\x38\x31\x33\x35\x2c\x2d\x31\
+\x2e\x33\x30\x30\x35\x37\x20\x31\x2e\x32\x39\x31\x38\x39\x2c\x2d\
+\x31\x2e\x30\x32\x37\x39\x31\x20\x30\x2e\x37\x31\x30\x35\x34\x2c\
+\x30\x2e\x32\x37\x32\x36\x36\x20\x32\x2e\x30\x35\x37\x34\x39\x2c\
+\x2d\x30\x2e\x30\x36\x34\x31\x20\x32\x2e\x39\x39\x33\x32\x31\x2c\
+\x2d\x30\x2e\x37\x34\x38\x32\x39\x20\x31\x2e\x33\x36\x31\x31\x37\
+\x2c\x2d\x30\x2e\x39\x39\x35\x33\x31\x20\x32\x2e\x37\x33\x32\x30\
+\x34\x2c\x2d\x30\x2e\x39\x37\x36\x36\x36\x20\x36\x2e\x38\x35\x36\
+\x38\x32\x2c\x30\x2e\x30\x39\x33\x33\x20\x32\x2e\x38\x33\x35\x35\
+\x33\x2c\x30\x2e\x37\x33\x35\x35\x33\x20\x35\x2e\x33\x32\x31\x32\
+\x39\x2c\x31\x2e\x35\x30\x33\x31\x31\x20\x35\x2e\x35\x32\x33\x39\
+\x32\x2c\x31\x2e\x37\x30\x35\x37\x34\x20\x30\x2e\x32\x30\x32\x36\
+\x33\x2c\x30\x2e\x32\x30\x32\x36\x33\x20\x2d\x33\x2e\x31\x34\x37\
+\x32\x39\x2c\x30\x2e\x36\x33\x39\x35\x33\x20\x2d\x37\x2e\x34\x34\
+\x34\x32\x37\x2c\x30\x2e\x39\x37\x30\x38\x38\x20\x2d\x34\x2e\x32\
+\x39\x36\x39\x38\x2c\x30\x2e\x33\x33\x31\x33\x36\x20\x2d\x38\x2e\
+\x34\x36\x37\x31\x38\x2c\x30\x2e\x37\x37\x34\x39\x20\x2d\x39\x2e\
+\x32\x36\x37\x31\x33\x2c\x30\x2e\x39\x38\x35\x36\x35\x20\x2d\x30\
+\x2e\x37\x39\x39\x39\x34\x2c\x30\x2e\x32\x31\x30\x37\x34\x20\x2d\
+\x31\x2e\x31\x31\x36\x39\x34\x2c\x30\x2e\x31\x39\x34\x34\x32\x20\
+\x2d\x30\x2e\x37\x30\x34\x34\x34\x2c\x2d\x30\x2e\x30\x33\x36\x33\
+\x20\x7a\x20\x4d\x20\x31\x33\x31\x2e\x35\x2c\x31\x31\x38\x20\x63\
+\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x32\
+\x2e\x35\x30\x33\x39\x38\x2c\x2d\x30\x2e\x39\x36\x38\x33\x37\x20\
+\x34\x2e\x38\x30\x39\x30\x32\x2c\x2d\x30\x2e\x39\x32\x39\x37\x31\
+\x20\x33\x2e\x32\x35\x38\x31\x35\x2c\x30\x2e\x30\x35\x34\x36\x20\
+\x33\x2e\x37\x34\x35\x38\x32\x2c\x30\x2e\x32\x36\x31\x35\x37\x20\
+\x32\x2e\x31\x39\x30\x39\x38\x2c\x30\x2e\x39\x32\x39\x37\x31\x20\
+\x2d\x32\x2e\x38\x32\x37\x39\x31\x2c\x31\x2e\x32\x31\x35\x31\x39\
+\x20\x2d\x37\x2e\x37\x35\x31\x30\x33\x2c\x31\x2e\x32\x31\x35\x31\
+\x39\x20\x2d\x37\x2c\x30\x20\x7a\x20\x6d\x20\x31\x31\x2e\x33\x31\
+\x32\x35\x2c\x2d\x30\x2e\x36\x38\x33\x31\x31\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\
+\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\
+\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\
+\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x33\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x4d\x20\x31\x34\x36\x2c\x31\x31\x37\x2e\x31\x39\
+\x30\x33\x32\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x33\x36\x39\x39\
+\x20\x30\x2e\x37\x31\x32\x36\x2c\x2d\x31\x2e\x32\x34\x39\x37\x39\
+\x20\x31\x2e\x35\x38\x33\x35\x36\x2c\x2d\x31\x2e\x35\x38\x34\x30\
+\x31\x20\x30\x2e\x39\x37\x33\x39\x31\x2c\x2d\x30\x2e\x33\x37\x33\
+\x37\x33\x20\x31\x2e\x34\x33\x31\x30\x38\x2c\x2d\x30\x2e\x31\x35\
+\x30\x32\x34\x20\x31\x2e\x31\x38\x37\x35\x2c\x30\x2e\x35\x38\x30\
+\x35\x31\x20\x2d\x30\x2e\x34\x39\x38\x32\x38\x2c\x31\x2e\x34\x39\
+\x34\x38\x34\x20\x2d\x32\x2e\x37\x37\x31\x30\x36\x2c\x32\x2e\x33\
+\x31\x37\x38\x39\x20\x2d\x32\x2e\x37\x37\x31\x30\x36\x2c\x31\x2e\
+\x30\x30\x33\x35\x20\x7a\x20\x6d\x20\x2d\x34\x39\x2e\x34\x36\x33\
+\x2c\x2d\x35\x2e\x37\x30\x34\x39\x35\x20\x63\x20\x31\x2e\x35\x38\
+\x38\x34\x39\x2c\x2d\x35\x2e\x30\x39\x36\x30\x39\x20\x31\x2e\x35\
+\x32\x32\x36\x36\x2c\x2d\x35\x2e\x30\x30\x35\x31\x31\x20\x32\x2e\
+\x35\x30\x31\x34\x38\x32\x2c\x2d\x33\x2e\x34\x35\x37\x33\x34\x20\
+\x31\x2e\x32\x39\x36\x32\x33\x38\x2c\x32\x2e\x30\x34\x39\x36\x38\
+\x20\x31\x2e\x32\x32\x31\x30\x32\x38\x2c\x32\x2e\x33\x32\x38\x38\
+\x31\x20\x2d\x31\x2e\x30\x30\x31\x34\x38\x32\x2c\x33\x2e\x37\x31\
+\x36\x37\x39\x20\x2d\x31\x2e\x36\x33\x36\x37\x36\x39\x2c\x31\x2e\
+\x30\x32\x32\x31\x38\x20\x2d\x31\x2e\x38\x38\x36\x30\x35\x34\x2c\
+\x30\x2e\x39\x37\x39\x30\x36\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\
+\x32\x35\x39\x34\x35\x20\x7a\x20\x6d\x20\x36\x2e\x33\x33\x38\x2c\
+\x30\x2e\x30\x39\x38\x20\x63\x20\x2d\x30\x2e\x30\x36\x38\x37\x2c\
+\x2d\x30\x2e\x33\x32\x30\x38\x33\x20\x2d\x30\x2e\x31\x38\x31\x32\
+\x35\x2c\x2d\x31\x2e\x30\x34\x39\x37\x34\x20\x2d\x30\x2e\x32\x35\
+\x2c\x2d\x31\x2e\x36\x31\x39\x38\x20\x2d\x30\x2e\x30\x36\x38\x37\
+\x2c\x2d\x30\x2e\x35\x37\x30\x30\x37\x20\x2d\x30\x2e\x38\x2c\x2d\
+\x31\x2e\x34\x36\x33\x31\x37\x20\x2d\x31\x2e\x36\x32\x35\x2c\x2d\
+\x31\x2e\x39\x38\x34\x36\x39\x20\x2d\x31\x2e\x31\x32\x32\x32\x32\
+\x37\x2c\x2d\x30\x2e\x37\x30\x39\x34\x31\x20\x2d\x30\x2e\x36\x36\
+\x33\x39\x37\x2c\x2d\x30\x2e\x39\x35\x32\x30\x37\x20\x31\x2e\x38\
+\x31\x39\x35\x35\x2c\x2d\x30\x2e\x39\x36\x33\x35\x33\x20\x32\x2e\
+\x38\x34\x32\x30\x38\x2c\x2d\x30\x2e\x30\x31\x33\x31\x20\x33\x2e\
+\x32\x37\x33\x35\x39\x2c\x30\x2e\x32\x39\x37\x30\x36\x20\x33\x2c\
+\x32\x2e\x31\x35\x36\x33\x36\x20\x2d\x30\x2e\x32\x38\x36\x31\x34\
+\x2c\x31\x2e\x39\x34\x34\x36\x20\x2d\x32\x2e\x36\x33\x32\x37\x39\
+\x2c\x33\x2e\x38\x36\x36\x35\x36\x20\x2d\x32\x2e\x39\x34\x34\x35\
+\x35\x2c\x32\x2e\x34\x31\x31\x36\x36\x20\x7a\x20\x6d\x20\x31\x30\
+\x2e\x39\x33\x37\x35\x2c\x2d\x31\x2e\x32\x36\x36\x34\x34\x20\x63\
+\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\
+\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\
+\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\
+\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x33\
+\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\
+\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\
+\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\
+\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\
+\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\
+\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x33\x2e\x37\x36\x30\x34\x34\
+\x2c\x2d\x31\x2e\x30\x38\x32\x32\x20\x63\x20\x30\x2e\x35\x39\x30\
+\x31\x32\x2c\x2d\x30\x2e\x34\x30\x34\x30\x38\x20\x31\x2e\x33\x36\
+\x33\x35\x2c\x2d\x31\x2e\x35\x32\x32\x31\x39\x20\x31\x2e\x37\x31\
+\x38\x36\x32\x2c\x2d\x32\x2e\x34\x38\x34\x36\x39\x20\x30\x2e\x39\
+\x30\x34\x37\x39\x2c\x2d\x32\x2e\x34\x35\x32\x32\x39\x20\x34\x2e\
+\x37\x30\x38\x34\x34\x2c\x2d\x32\x2e\x32\x39\x38\x30\x31\x20\x34\
+\x2e\x37\x30\x38\x34\x34\x2c\x30\x2e\x31\x39\x30\x39\x38\x20\x30\
+\x2c\x32\x2e\x34\x39\x35\x38\x35\x20\x2d\x31\x2e\x39\x36\x34\x32\
+\x38\x2c\x33\x2e\x37\x32\x34\x36\x38\x20\x2d\x33\x2e\x30\x39\x36\
+\x34\x39\x2c\x31\x2e\x39\x33\x37\x31\x34\x20\x2d\x30\x2e\x36\x33\
+\x32\x31\x2c\x2d\x30\x2e\x39\x39\x37\x39\x36\x20\x2d\x30\x2e\x38\
+\x37\x37\x31\x31\x2c\x2d\x31\x2e\x30\x33\x33\x33\x20\x2d\x30\x2e\
+\x38\x38\x38\x32\x2c\x2d\x30\x2e\x31\x32\x38\x31\x32\x20\x2d\x30\
+\x2e\x30\x30\x38\x2c\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x38\
+\x30\x32\x38\x31\x2c\x31\x2e\x32\x34\x33\x31\x31\x20\x2d\x31\x2e\
+\x37\x36\x35\x33\x31\x2c\x31\x2e\x32\x33\x34\x36\x39\x20\x2d\x31\
+\x2e\x30\x35\x34\x37\x34\x2c\x2d\x30\x2e\x30\x30\x39\x20\x2d\x31\
+\x2e\x33\x32\x33\x37\x33\x2c\x2d\x30\x2e\x33\x30\x37\x32\x20\x2d\
+\x30\x2e\x36\x37\x37\x30\x36\x2c\x2d\x30\x2e\x37\x35\x20\x7a\x20\
+\x6d\x20\x2d\x39\x2e\x35\x33\x35\x31\x39\x2c\x2d\x36\x2e\x33\x30\
+\x35\x32\x33\x20\x63\x20\x30\x2e\x35\x36\x37\x39\x34\x2c\x2d\x31\
+\x2e\x30\x36\x31\x32\x20\x31\x2e\x35\x37\x39\x32\x38\x2c\x2d\x31\
+\x2e\x39\x36\x30\x34\x36\x20\x32\x2e\x32\x34\x37\x34\x33\x2c\x2d\
+\x31\x2e\x39\x39\x38\x33\x36\x20\x30\x2e\x36\x36\x38\x31\x35\x2c\
+\x2d\x30\x2e\x30\x33\x37\x39\x20\x32\x2e\x34\x36\x30\x34\x34\x2c\
+\x2d\x30\x2e\x32\x33\x33\x30\x36\x20\x33\x2e\x39\x38\x32\x38\x36\
+\x2c\x2d\x30\x2e\x34\x33\x33\x37\x20\x31\x2e\x39\x33\x31\x33\x35\
+\x2c\x2d\x30\x2e\x32\x35\x34\x35\x34\x20\x32\x2e\x35\x35\x33\x34\
+\x33\x2c\x2d\x30\x2e\x30\x30\x37\x20\x32\x2e\x30\x35\x38\x30\x35\
+\x2c\x30\x2e\x38\x31\x38\x39\x20\x2d\x30\x2e\x33\x39\x30\x35\x31\
+\x2c\x30\x2e\x36\x35\x31\x30\x33\x20\x30\x2e\x30\x38\x35\x37\x2c\
+\x30\x2e\x35\x33\x37\x36\x34\x20\x31\x2e\x30\x35\x38\x31\x37\x2c\
+\x2d\x30\x2e\x32\x35\x32\x20\x31\x2e\x35\x33\x36\x35\x31\x2c\x2d\
+\x31\x2e\x32\x34\x37\x35\x39\x35\x20\x31\x2e\x38\x38\x37\x32\x2c\
+\x2d\x31\x2e\x32\x34\x37\x35\x39\x35\x20\x32\x2e\x36\x37\x36\x36\
+\x34\x2c\x30\x20\x30\x2e\x37\x37\x39\x32\x38\x2c\x31\x2e\x32\x33\
+\x31\x35\x33\x20\x30\x2e\x39\x31\x32\x38\x33\x2c\x31\x2e\x32\x32\
+\x32\x33\x39\x20\x30\x2e\x39\x33\x39\x31\x2c\x2d\x30\x2e\x30\x36\
+\x34\x33\x20\x30\x2e\x30\x32\x37\x32\x2c\x2d\x31\x2e\x33\x33\x33\
+\x33\x33\x33\x20\x30\x2e\x31\x33\x38\x33\x33\x2c\x2d\x31\x2e\x33\
+\x33\x33\x33\x33\x33\x20\x31\x2c\x30\x20\x31\x2e\x35\x37\x36\x32\
+\x37\x2c\x32\x2e\x34\x33\x39\x31\x31\x20\x31\x2e\x32\x30\x34\x38\
+\x2c\x32\x2e\x37\x37\x32\x38\x33\x20\x2d\x33\x2c\x32\x2e\x36\x39\
+\x35\x31\x35\x20\x2d\x32\x2e\x32\x2c\x2d\x30\x2e\x30\x34\x30\x36\
+\x20\x2d\x34\x2c\x2d\x30\x2e\x34\x36\x35\x32\x34\x20\x2d\x34\x2c\
+\x2d\x30\x2e\x39\x34\x33\x35\x34\x20\x30\x2c\x2d\x30\x2e\x34\x37\
+\x38\x33\x20\x2d\x30\x2e\x34\x36\x34\x36\x36\x2c\x2d\x30\x2e\x35\
+\x38\x32\x34\x37\x20\x2d\x31\x2e\x30\x33\x32\x35\x37\x2c\x2d\x30\
+\x2e\x32\x33\x31\x34\x38\x20\x2d\x30\x2e\x35\x36\x37\x39\x31\x2c\
+\x30\x2e\x33\x35\x30\x39\x39\x20\x2d\x32\x2e\x33\x36\x36\x37\x36\
+\x2c\x31\x2e\x30\x32\x30\x38\x20\x2d\x33\x2e\x39\x39\x37\x34\x33\
+\x2c\x31\x2e\x34\x38\x38\x34\x37\x20\x2d\x32\x2e\x37\x32\x33\x39\
+\x39\x2c\x30\x2e\x37\x38\x31\x32\x33\x20\x2d\x32\x2e\x38\x38\x30\
+\x39\x37\x2c\x30\x2e\x36\x39\x33\x35\x36\x20\x2d\x31\x2e\x39\x33\
+\x32\x32\x35\x2c\x2d\x31\x2e\x30\x37\x39\x31\x34\x20\x7a\x20\x4d\
+\x20\x31\x33\x34\x2e\x35\x2c\x31\x30\x33\x20\x63\x20\x2d\x31\x2e\
+\x34\x36\x39\x31\x35\x2c\x2d\x30\x2e\x36\x33\x31\x33\x32\x20\x2d\
+\x30\x2e\x36\x37\x32\x38\x37\x2c\x2d\x30\x2e\x38\x35\x39\x34\x33\
+\x20\x33\x2c\x2d\x30\x2e\x38\x35\x39\x34\x33\x20\x33\x2e\x36\x37\
+\x32\x38\x37\x2c\x30\x20\x34\x2e\x34\x36\x39\x31\x35\x2c\x30\x2e\
+\x32\x32\x38\x31\x31\x20\x33\x2c\x30\x2e\x38\x35\x39\x34\x33\x20\
+\x2d\x31\x2e\x31\x2c\x30\x2e\x34\x37\x32\x36\x39\x20\x2d\x32\x2e\
+\x34\x35\x2c\x30\x2e\x38\x35\x39\x34\x33\x20\x2d\x33\x2c\x30\x2e\
+\x38\x35\x39\x34\x33\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x31\
+\x2e\x39\x2c\x2d\x30\x2e\x33\x38\x36\x37\x34\x20\x2d\x33\x2c\x2d\
+\x30\x2e\x38\x35\x39\x34\x33\x20\x7a\x20\x6d\x20\x31\x32\x2e\x32\
+\x36\x38\x34\x35\x2c\x2d\x31\x2e\x31\x36\x38\x34\x35\x20\x63\x20\
+\x30\x2e\x35\x38\x31\x31\x2c\x2d\x30\x2e\x35\x38\x31\x31\x20\x31\
+\x2e\x36\x34\x36\x38\x32\x2c\x2d\x30\x2e\x38\x35\x39\x37\x39\x20\
+\x32\x2e\x33\x36\x38\x32\x36\x2c\x2d\x30\x2e\x36\x31\x39\x33\x31\
+\x20\x30\x2e\x37\x34\x38\x39\x35\x2c\x30\x2e\x32\x34\x39\x36\x35\
+\x20\x30\x2e\x32\x39\x35\x36\x35\x2c\x30\x2e\x37\x30\x32\x39\x34\
+\x20\x2d\x31\x2e\x30\x35\x36\x35\x35\x2c\x31\x2e\x30\x35\x36\x35\
+\x35\x20\x2d\x31\x2e\x36\x36\x33\x33\x35\x2c\x30\x2e\x34\x33\x34\
+\x39\x37\x20\x2d\x32\x2e\x30\x35\x33\x37\x38\x2c\x30\x2e\x33\x30\
+\x34\x38\x33\x20\x2d\x31\x2e\x33\x31\x31\x37\x31\x2c\x2d\x30\x2e\
+\x34\x33\x37\x32\x34\x20\x7a\x20\x4d\x20\x39\x37\x2e\x33\x38\x32\
+\x39\x37\x36\x2c\x39\x36\x2e\x35\x35\x35\x36\x33\x36\x20\x63\x20\
+\x2d\x30\x2e\x39\x33\x32\x31\x35\x31\x2c\x2d\x32\x2e\x34\x32\x39\
+\x31\x34\x37\x20\x2d\x30\x2e\x30\x32\x39\x30\x32\x2c\x2d\x33\x2e\
+\x32\x33\x38\x30\x39\x36\x20\x32\x2e\x32\x39\x33\x33\x33\x32\x2c\
+\x2d\x32\x2e\x30\x35\x34\x31\x36\x36\x20\x32\x2e\x31\x33\x31\x35\
+\x39\x32\x2c\x31\x2e\x30\x38\x36\x36\x38\x31\x20\x32\x2e\x31\x33\
+\x36\x32\x36\x32\x2c\x31\x2e\x31\x33\x34\x34\x39\x20\x30\x2e\x32\
+\x32\x37\x33\x30\x36\x2c\x32\x2e\x33\x32\x36\x36\x35\x31\x20\x2d\
+\x31\x2e\x35\x39\x30\x33\x31\x33\x2c\x30\x2e\x39\x39\x33\x31\x36\
+\x37\x20\x2d\x32\x2e\x30\x35\x34\x32\x30\x35\x2c\x30\x2e\x39\x34\
+\x33\x30\x32\x20\x2d\x32\x2e\x35\x32\x30\x36\x33\x38\x2c\x2d\x30\
+\x2e\x32\x37\x32\x34\x38\x35\x20\x7a\x20\x6d\x20\x35\x2e\x35\x34\
+\x38\x39\x36\x34\x2c\x2d\x30\x2e\x36\x38\x32\x38\x31\x20\x63\x20\
+\x2d\x31\x2e\x32\x30\x33\x37\x2c\x2d\x32\x2e\x32\x34\x39\x31\x33\
+\x32\x20\x2d\x30\x2e\x30\x30\x33\x2c\x2d\x33\x2e\x38\x32\x34\x36\
+\x37\x35\x20\x32\x2e\x39\x34\x30\x35\x2c\x2d\x33\x2e\x38\x35\x37\
+\x35\x31\x33\x20\x31\x2e\x31\x34\x37\x36\x35\x2c\x2d\x30\x2e\x30\
+\x31\x32\x38\x31\x20\x31\x2e\x31\x35\x33\x38\x33\x2c\x30\x2e\x32\
+\x34\x38\x31\x30\x38\x20\x30\x2e\x30\x33\x37\x38\x2c\x31\x2e\x35\
+\x39\x32\x39\x20\x2d\x31\x2e\x31\x33\x34\x30\x31\x2c\x31\x2e\x33\
+\x36\x36\x34\x30\x31\x20\x2d\x31\x2e\x30\x34\x38\x35\x2c\x31\x2e\
+\x38\x31\x37\x34\x38\x31\x20\x30\x2e\x35\x36\x38\x36\x39\x2c\x33\
+\x20\x43\x20\x31\x30\x38\x2e\x33\x32\x31\x33\x35\x2c\x39\x37\x2e\
+\x39\x35\x35\x34\x35\x39\x20\x31\x30\x38\x2e\x33\x31\x33\x32\x36\
+\x2c\x39\x38\x20\x31\x30\x36\x2e\x32\x32\x36\x33\x31\x2c\x39\x38\
+\x20\x63\x20\x2d\x31\x2e\x31\x38\x35\x37\x37\x2c\x30\x20\x2d\x32\
+\x2e\x36\x36\x38\x32\x34\x2c\x2d\x30\x2e\x39\x35\x37\x32\x32\x38\
+\x20\x2d\x33\x2e\x32\x39\x34\x33\x37\x2c\x2d\x32\x2e\x31\x32\x37\
+\x31\x37\x34\x20\x7a\x20\x6d\x20\x31\x36\x2e\x35\x32\x31\x35\x39\
+\x2c\x2d\x32\x2e\x35\x33\x39\x36\x33\x34\x20\x63\x20\x30\x2e\x30\
+\x35\x32\x2c\x2d\x32\x2e\x39\x38\x35\x33\x37\x36\x20\x31\x2e\x39\
+\x31\x32\x37\x31\x2c\x2d\x34\x2e\x31\x30\x34\x30\x35\x38\x20\x33\
+\x2e\x39\x37\x36\x38\x36\x2c\x2d\x32\x2e\x33\x39\x30\x39\x36\x35\
+\x20\x43\x20\x31\x32\x35\x2e\x34\x32\x38\x39\x39\x2c\x39\x32\x2e\
+\x36\x30\x30\x39\x32\x20\x31\x32\x34\x2e\x31\x39\x30\x30\x38\x2c\
+\x39\x36\x20\x31\x32\x31\x2e\x35\x38\x36\x39\x2c\x39\x36\x20\x63\
+\x20\x2d\x31\x2e\x37\x30\x36\x34\x36\x2c\x30\x20\x2d\x32\x2e\x31\
+\x36\x39\x37\x34\x2c\x2d\x30\x2e\x35\x37\x39\x31\x31\x39\x20\x2d\
+\x32\x2e\x31\x33\x33\x33\x37\x2c\x2d\x32\x2e\x36\x36\x36\x38\x30\
+\x38\x20\x7a\x20\x4d\x20\x39\x39\x2c\x39\x33\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x35\x35\x20\x30\x2e\x34\x37\x36\x35\x35\x38\x2c\x2d\
+\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x30\x2e\x35\
+\x38\x32\x34\x36\x2c\x30\x20\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\
+\x34\x35\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\
+\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x38\x31\
+\x36\x34\x37\x36\x2c\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x31\x37\
+\x2c\x31\x20\x43\x20\x39\x39\x2e\x31\x39\x38\x34\x34\x32\x2c\x39\
+\x34\x20\x39\x39\x2c\x39\x33\x2e\x35\x35\x20\x39\x39\x2c\x39\x33\
+\x20\x7a\x20\x6d\x20\x39\x2e\x31\x37\x34\x36\x39\x2c\x2d\x34\x2e\
+\x33\x30\x32\x30\x37\x32\x20\x63\x20\x32\x2e\x33\x35\x33\x35\x32\
+\x2c\x2d\x32\x2e\x33\x37\x35\x32\x37\x20\x36\x2e\x35\x39\x36\x37\
+\x33\x2c\x2d\x33\x2e\x38\x37\x36\x37\x39\x39\x20\x37\x2e\x33\x37\
+\x38\x39\x34\x2c\x2d\x32\x2e\x36\x31\x31\x31\x35\x39\x20\x30\x2e\
+\x34\x31\x36\x30\x35\x2c\x30\x2e\x36\x37\x33\x31\x39\x34\x20\x31\
+\x2e\x30\x35\x32\x39\x37\x2c\x30\x2e\x36\x35\x34\x36\x38\x36\x20\
+\x31\x2e\x39\x30\x38\x36\x35\x2c\x2d\x30\x2e\x30\x35\x35\x34\x36\
+\x20\x31\x2e\x33\x36\x38\x33\x33\x2c\x2d\x31\x2e\x31\x33\x35\x36\
+\x31\x32\x20\x34\x2e\x38\x34\x34\x37\x39\x2c\x2d\x30\x2e\x33\x33\
+\x37\x31\x36\x34\x20\x34\x2e\x30\x36\x30\x30\x39\x2c\x30\x2e\x39\
+\x33\x32\x34\x39\x34\x20\x2d\x30\x2e\x32\x35\x36\x33\x37\x2c\x30\
+\x2e\x34\x31\x34\x38\x32\x36\x20\x2d\x32\x2e\x39\x31\x35\x35\x2c\
+\x31\x2e\x30\x34\x32\x31\x30\x34\x20\x2d\x35\x2e\x39\x30\x39\x31\
+\x37\x2c\x31\x2e\x33\x39\x33\x39\x35\x31\x20\x2d\x32\x2e\x39\x39\
+\x33\x36\x37\x2c\x30\x2e\x33\x35\x31\x38\x34\x37\x20\x2d\x36\x2e\
+\x32\x36\x38\x38\x32\x2c\x30\x2e\x39\x35\x32\x36\x31\x31\x20\x2d\
+\x37\x2e\x32\x37\x38\x31\x32\x2c\x31\x2e\x33\x33\x35\x30\x33\x32\
+\x20\x2d\x31\x2e\x37\x31\x37\x31\x39\x2c\x30\x2e\x36\x35\x30\x36\
+\x34\x33\x20\x2d\x31\x2e\x37\x32\x37\x35\x2c\x30\x2e\x35\x38\x36\
+\x37\x33\x33\x20\x2d\x30\x2e\x31\x36\x30\x33\x39\x2c\x2d\x30\x2e\
+\x39\x39\x34\x38\x35\x34\x20\x7a\x20\x6d\x20\x34\x35\x2e\x39\x30\
+\x34\x32\x36\x2c\x2d\x30\x2e\x32\x38\x31\x32\x36\x31\x20\x63\x20\
+\x30\x2e\x30\x34\x38\x2c\x2d\x31\x2e\x31\x36\x34\x39\x34\x33\x20\
+\x30\x2e\x32\x38\x34\x39\x34\x2c\x2d\x31\x2e\x34\x30\x31\x39\x20\
+\x30\x2e\x36\x30\x34\x31\x36\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\
+\x37\x20\x30\x2e\x32\x38\x38\x38\x37\x2c\x30\x2e\x37\x32\x31\x38\
+\x37\x35\x20\x30\x2e\x32\x35\x33\x33\x35\x2c\x31\x2e\x35\x38\x34\
+\x33\x37\x35\x20\x2d\x30\x2e\x30\x37\x38\x39\x2c\x31\x2e\x39\x31\
+\x36\x36\x36\x37\x20\x2d\x30\x2e\x33\x33\x32\x33\x2c\x30\x2e\x33\
+\x33\x32\x32\x39\x31\x20\x2d\x30\x2e\x35\x36\x38\x36\x34\x2c\x2d\
+\x30\x2e\x32\x35\x38\x33\x33\x34\x20\x2d\x30\x2e\x35\x32\x35\x32\
+\x32\x2c\x2d\x31\x2e\x33\x31\x32\x35\x20\x7a\x20\x4d\x20\x31\x33\
+\x33\x2c\x38\x38\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\
+\x2e\x36\x37\x35\x2c\x2d\x31\x20\x31\x2e\x35\x2c\x2d\x31\x20\x30\
+\x2e\x38\x32\x35\x2c\x30\x20\x31\x2e\x35\x2c\x30\x2e\x34\x35\x20\
+\x31\x2e\x35\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\
+\x36\x37\x35\x2c\x31\x20\x2d\x31\x2e\x35\x2c\x31\x20\x2d\x30\x2e\
+\x38\x32\x35\x2c\x30\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x34\x35\
+\x20\x2d\x31\x2e\x35\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x31\x30\x2c\
+\x2d\x31\x20\x63\x20\x2d\x31\x2e\x32\x30\x36\x37\x37\x2c\x2d\x30\
+\x2e\x37\x37\x39\x38\x37\x36\x20\x2d\x31\x2e\x30\x34\x38\x36\x32\
+\x2c\x2d\x30\x2e\x39\x37\x32\x33\x36\x38\x20\x30\x2e\x38\x30\x39\
+\x30\x32\x2c\x2d\x30\x2e\x39\x38\x34\x36\x38\x37\x20\x31\x2e\x32\
+\x38\x37\x35\x37\x2c\x2d\x30\x2e\x30\x30\x38\x35\x20\x32\x2e\x30\
+\x33\x35\x36\x31\x2c\x30\x2e\x34\x32\x37\x30\x36\x31\x20\x31\x2e\
+\x36\x39\x30\x39\x38\x2c\x30\x2e\x39\x38\x34\x36\x38\x37\x20\x2d\
+\x30\x2e\x37\x34\x33\x31\x39\x2c\x31\x2e\x32\x30\x32\x35\x20\x2d\
+\x30\x2e\x36\x33\x39\x32\x36\x2c\x31\x2e\x32\x30\x32\x35\x20\x2d\
+\x32\x2e\x35\x2c\x30\x20\x7a\x20\x4d\x20\x31\x30\x32\x2e\x30\x38\
+\x37\x37\x36\x2c\x38\x33\x2e\x31\x35\x39\x38\x34\x38\x20\x43\x20\
+\x39\x39\x2e\x34\x34\x31\x32\x33\x34\x2c\x38\x32\x2e\x37\x38\x35\
+\x32\x31\x32\x20\x39\x37\x2c\x38\x30\x2e\x37\x38\x39\x32\x31\x33\
+\x20\x39\x37\x2c\x37\x39\x20\x63\x20\x30\x2c\x2d\x31\x2e\x33\x37\
+\x33\x39\x34\x20\x32\x2e\x30\x35\x35\x33\x38\x37\x2c\x2d\x33\x2e\
+\x33\x39\x36\x39\x31\x34\x20\x33\x2e\x38\x32\x38\x36\x36\x2c\x2d\
+\x33\x2e\x37\x36\x38\x32\x38\x34\x20\x31\x2e\x38\x37\x30\x30\x39\
+\x2c\x2d\x30\x2e\x33\x39\x31\x36\x34\x35\x20\x35\x2e\x35\x36\x30\
+\x30\x36\x2c\x32\x2e\x34\x31\x30\x30\x30\x36\x20\x34\x2e\x32\x34\
+\x34\x37\x38\x2c\x33\x2e\x32\x32\x32\x38\x39\x33\x20\x2d\x30\x2e\
+\x35\x39\x30\x33\x39\x2c\x30\x2e\x33\x36\x34\x38\x38\x34\x20\x2d\
+\x31\x2e\x30\x38\x30\x33\x33\x2c\x30\x2e\x30\x37\x34\x33\x37\x20\
+\x2d\x31\x2e\x30\x38\x38\x37\x35\x2c\x2d\x30\x2e\x36\x34\x35\x35\
+\x39\x32\x20\x2d\x30\x2e\x30\x31\x31\x33\x2c\x2d\x30\x2e\x39\x36\
+\x33\x39\x33\x38\x20\x2d\x30\x2e\x32\x39\x39\x37\x36\x2c\x2d\x30\
+\x2e\x39\x31\x33\x35\x39\x31\x20\x2d\x31\x2e\x30\x39\x34\x33\x34\
+\x2c\x30\x2e\x31\x39\x30\x39\x38\x33\x20\x2d\x30\x2e\x38\x37\x34\
+\x34\x34\x2c\x31\x2e\x32\x31\x35\x36\x30\x35\x20\x2d\x30\x2e\x39\
+\x35\x34\x39\x35\x2c\x31\x2e\x31\x32\x33\x30\x34\x38\x20\x2d\x30\
+\x2e\x34\x32\x34\x36\x37\x2c\x2d\x30\x2e\x34\x38\x38\x31\x37\x36\
+\x20\x30\x2e\x36\x35\x33\x30\x35\x2c\x2d\x31\x2e\x39\x38\x34\x32\
+\x33\x34\x20\x30\x2e\x36\x35\x30\x35\x35\x2c\x2d\x31\x2e\x39\x38\
+\x34\x32\x33\x34\x20\x2d\x31\x2e\x32\x36\x31\x33\x37\x2c\x30\x20\
+\x2d\x32\x2e\x32\x34\x39\x39\x39\x34\x2c\x32\x2e\x33\x33\x35\x30\
+\x39\x39\x20\x2d\x31\x2e\x38\x38\x34\x30\x38\x36\x2c\x35\x2e\x33\
+\x31\x30\x38\x30\x39\x20\x30\x2e\x33\x37\x35\x32\x33\x2c\x33\x2e\
+\x30\x35\x31\x34\x39\x37\x20\x30\x2e\x37\x36\x31\x39\x2c\x2d\x30\
+\x2e\x37\x36\x31\x39\x30\x35\x20\x32\x2e\x33\x30\x30\x32\x31\x2c\
+\x2d\x31\x2e\x31\x34\x36\x30\x32\x33\x20\x33\x2e\x34\x31\x38\x34\
+\x35\x2c\x2d\x30\x2e\x38\x35\x33\x35\x39\x35\x20\x43\x20\x31\x30\
+\x37\x2e\x34\x39\x32\x39\x32\x2c\x38\x30\x2e\x33\x36\x32\x31\x36\
+\x34\x20\x31\x30\x38\x2e\x36\x36\x38\x38\x34\x2c\x38\x32\x20\x31\
+\x30\x36\x2e\x36\x34\x32\x33\x35\x2c\x38\x32\x20\x63\x20\x2d\x30\
+\x2e\x38\x31\x31\x36\x33\x2c\x30\x20\x2d\x31\x2e\x36\x32\x35\x36\
+\x38\x2c\x30\x2e\x33\x33\x37\x37\x39\x37\x20\x2d\x31\x2e\x38\x30\
+\x39\x30\x32\x2c\x30\x2e\x37\x35\x30\x36\x36\x20\x2d\x30\x2e\x31\
+\x38\x33\x33\x33\x2c\x30\x2e\x34\x31\x32\x38\x36\x32\x20\x2d\x31\
+\x2e\x34\x31\x38\x38\x34\x2c\x30\x2e\x35\x39\x36\x39\x39\x37\x20\
+\x2d\x32\x2e\x37\x34\x35\x35\x37\x2c\x30\x2e\x34\x30\x39\x31\x38\
+\x38\x20\x7a\x20\x4d\x20\x31\x32\x30\x2c\x38\x31\x2e\x30\x31\x30\
+\x35\x33\x34\x20\x63\x20\x30\x2c\x2d\x30\x2e\x36\x32\x30\x37\x31\
+\x32\x20\x2d\x30\x2e\x34\x34\x34\x38\x35\x2c\x2d\x30\x2e\x38\x35\
+\x33\x36\x33\x38\x20\x2d\x30\x2e\x39\x38\x38\x35\x35\x2c\x2d\x30\
+\x2e\x35\x31\x37\x36\x31\x33\x20\x2d\x30\x2e\x35\x36\x36\x38\x36\
+\x2c\x30\x2e\x33\x35\x30\x33\x33\x39\x20\x2d\x30\x2e\x37\x33\x34\
+\x35\x2c\x2d\x30\x2e\x30\x35\x31\x30\x36\x20\x2d\x30\x2e\x33\x39\
+\x33\x30\x31\x2c\x2d\x30\x2e\x39\x34\x30\x39\x38\x33\x20\x43\x20\
+\x31\x31\x38\x2e\x39\x34\x35\x39\x39\x2c\x37\x38\x2e\x36\x39\x38\
+\x33\x37\x32\x20\x31\x31\x39\x2e\x36\x34\x32\x33\x39\x2c\x37\x38\
+\x20\x31\x32\x30\x2e\x31\x36\x36\x30\x31\x2c\x37\x38\x20\x63\x20\
+\x30\x2e\x35\x32\x33\x36\x31\x2c\x30\x20\x30\x2e\x36\x37\x33\x33\
+\x39\x2c\x2d\x30\x2e\x34\x35\x30\x38\x34\x33\x20\x30\x2e\x33\x33\
+\x32\x38\x33\x2c\x2d\x31\x2e\x30\x30\x31\x38\x37\x33\x20\x2d\x30\
+\x2e\x33\x34\x30\x35\x35\x2c\x2d\x30\x2e\x35\x35\x31\x30\x33\x20\
+\x30\x2e\x35\x36\x32\x31\x38\x2c\x2d\x31\x2e\x34\x35\x31\x30\x33\
+\x20\x32\x2e\x30\x30\x36\x30\x39\x2c\x2d\x32\x20\x33\x2e\x35\x34\
+\x36\x35\x36\x2c\x2d\x31\x2e\x33\x34\x38\x34\x20\x33\x2e\x38\x32\
+\x36\x35\x38\x2c\x2d\x31\x2e\x32\x37\x37\x35\x38\x33\x20\x32\x2e\
+\x39\x37\x33\x30\x33\x2c\x30\x2e\x37\x35\x31\x38\x37\x33\x20\x2d\
+\x30\x2e\x34\x30\x34\x38\x31\x2c\x30\x2e\x39\x36\x32\x35\x20\x2d\
+\x30\x2e\x38\x32\x35\x37\x31\x2c\x32\x2e\x36\x35\x20\x2d\x30\x2e\
+\x39\x33\x35\x33\x34\x2c\x33\x2e\x37\x35\x20\x43\x20\x31\x32\x34\
+\x2e\x33\x33\x32\x35\x38\x2c\x38\x31\x2e\x36\x30\x37\x35\x30\x37\
+\x20\x31\x32\x30\x2c\x38\x33\x2e\x30\x34\x38\x31\x39\x38\x20\x31\
+\x32\x30\x2c\x38\x31\x2e\x30\x31\x30\x35\x33\x34\x20\x7a\x20\x6d\
+\x20\x2d\x31\x33\x2e\x35\x34\x31\x38\x39\x2c\x2d\x37\x2e\x33\x33\
+\x33\x33\x35\x20\x63\x20\x31\x2e\x30\x37\x36\x39\x36\x2c\x2d\x30\
+\x2e\x38\x30\x30\x30\x38\x33\x20\x32\x2e\x35\x35\x38\x38\x37\x2c\
+\x2d\x31\x2e\x32\x32\x34\x31\x36\x34\x20\x33\x2e\x32\x39\x33\x31\
+\x33\x2c\x2d\x30\x2e\x39\x34\x32\x34\x30\x32\x20\x31\x2e\x36\x37\
+\x39\x37\x39\x2c\x30\x2e\x36\x34\x34\x35\x39\x37\x20\x31\x2e\x34\
+\x34\x37\x2c\x30\x2e\x38\x31\x39\x34\x30\x33\x20\x2d\x32\x2e\x32\
+\x35\x31\x32\x34\x2c\x31\x2e\x36\x39\x30\x34\x38\x32\x20\x2d\x32\
+\x2e\x37\x39\x38\x38\x36\x2c\x30\x2e\x36\x35\x39\x32\x34\x32\x20\
+\x2d\x32\x2e\x38\x36\x38\x37\x32\x2c\x30\x2e\x36\x30\x39\x30\x38\
+\x36\x20\x2d\x31\x2e\x30\x34\x31\x38\x39\x2c\x2d\x30\x2e\x37\x34\
+\x38\x30\x38\x20\x7a\x20\x6d\x20\x35\x2e\x35\x33\x39\x35\x36\x2c\
+\x2d\x30\x2e\x38\x31\x33\x36\x38\x35\x20\x63\x20\x30\x2e\x30\x30\
+\x34\x2c\x2d\x31\x2e\x30\x33\x38\x30\x34\x34\x20\x35\x2e\x30\x38\
+\x34\x39\x39\x2c\x2d\x31\x2e\x34\x30\x31\x31\x36\x34\x20\x31\x31\
+\x2e\x35\x30\x32\x33\x33\x2c\x2d\x30\x2e\x38\x32\x31\x39\x39\x39\
+\x20\x35\x2e\x39\x39\x36\x31\x39\x2c\x30\x2e\x35\x34\x31\x31\x35\
+\x36\x20\x35\x2e\x39\x39\x34\x34\x34\x2c\x30\x2e\x35\x34\x31\x37\
+\x39\x31\x20\x2d\x32\x2e\x37\x35\x32\x33\x33\x2c\x31\x20\x2d\x34\
+\x2e\x38\x31\x33\x37\x39\x2c\x30\x2e\x32\x35\x32\x31\x37\x35\x20\
+\x2d\x38\x2e\x37\x35\x31\x32\x39\x2c\x30\x2e\x31\x37\x32\x30\x37\
+\x35\x20\x2d\x38\x2e\x37\x35\x2c\x2d\x30\x2e\x31\x37\x38\x30\x30\
+\x31\x20\x7a\x20\x6d\x20\x31\x39\x2e\x36\x33\x33\x34\x34\x2c\x30\
+\x2e\x33\x34\x38\x36\x34\x32\x20\x63\x20\x2d\x30\x2e\x32\x36\x37\
+\x38\x31\x2c\x2d\x30\x2e\x34\x33\x33\x33\x32\x32\x20\x30\x2e\x36\
+\x33\x30\x33\x34\x2c\x2d\x30\x2e\x38\x38\x30\x33\x32\x36\x20\x31\
+\x2e\x39\x39\x35\x38\x39\x2c\x2d\x30\x2e\x39\x39\x33\x33\x34\x32\
+\x20\x31\x2e\x34\x33\x31\x32\x35\x2c\x2d\x30\x2e\x31\x31\x38\x34\
+\x35\x35\x20\x32\x2e\x32\x32\x32\x37\x39\x2c\x30\x2e\x32\x31\x35\
+\x32\x33\x20\x31\x2e\x38\x36\x38\x38\x39\x2c\x30\x2e\x37\x38\x37\
+\x38\x35\x39\x20\x2d\x30\x2e\x37\x33\x32\x38\x32\x2c\x31\x2e\x31\
+\x38\x35\x37\x31\x37\x20\x2d\x33\x2e\x31\x37\x38\x35\x39\x2c\x31\
+\x2e\x33\x31\x35\x37\x35\x35\x20\x2d\x33\x2e\x38\x36\x34\x37\x38\
+\x2c\x30\x2e\x32\x30\x35\x34\x38\x33\x20\x7a\x20\x6d\x20\x36\x2e\
+\x36\x33\x37\x39\x32\x2c\x2d\x30\x2e\x39\x30\x35\x31\x33\x32\x20\
+\x63\x20\x30\x2e\x39\x37\x32\x39\x37\x2c\x2d\x30\x2e\x32\x35\x33\
+\x35\x34\x33\x20\x32\x2e\x33\x32\x32\x39\x37\x2c\x2d\x30\x2e\x32\
+\x33\x36\x38\x36\x39\x20\x33\x2c\x30\x2e\x30\x33\x37\x30\x35\x20\
+\x30\x2e\x36\x37\x37\x30\x33\x2c\x30\x2e\x32\x37\x33\x39\x32\x33\
+\x20\x2d\x30\x2e\x31\x31\x39\x30\x33\x2c\x30\x2e\x34\x38\x31\x33\
+\x36\x38\x20\x2d\x31\x2e\x37\x36\x39\x30\x33\x2c\x30\x2e\x34\x36\
+\x30\x39\x38\x38\x20\x2d\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x30\x32\
+\x30\x33\x38\x20\x2d\x32\x2e\x32\x30\x33\x39\x34\x2c\x2d\x30\x2e\
+\x32\x34\x34\x34\x39\x38\x20\x2d\x31\x2e\x32\x33\x30\x39\x37\x2c\
+\x2d\x30\x2e\x34\x39\x38\x30\x34\x32\x20\x7a\x20\x4d\x20\x31\x34\
+\x37\x2c\x37\x30\x2e\x39\x39\x30\x38\x31\x35\x20\x63\x20\x32\x2e\
+\x34\x37\x35\x2c\x2d\x30\x2e\x34\x31\x37\x33\x36\x39\x20\x34\x2e\
+\x39\x32\x37\x35\x2c\x2d\x30\x2e\x33\x36\x31\x30\x34\x34\x20\x35\
+\x2e\x34\x35\x2c\x30\x2e\x31\x32\x35\x31\x36\x37\x20\x30\x2e\x35\
+\x35\x37\x38\x38\x2c\x30\x2e\x35\x31\x39\x31\x32\x38\x20\x2d\x31\
+\x2e\x32\x39\x39\x35\x36\x2c\x30\x2e\x38\x33\x32\x33\x35\x34\x20\
+\x2d\x34\x2e\x35\x2c\x30\x2e\x37\x35\x38\x38\x35\x31\x20\x4c\x20\
+\x31\x34\x32\x2e\x35\x2c\x37\x31\x2e\x37\x34\x39\x36\x36\x37\x20\
+\x31\x34\x37\x2c\x37\x30\x2e\x39\x39\x30\x38\x31\x35\x20\x7a\x20\
+\x4d\x20\x39\x37\x2c\x36\x38\x2e\x30\x35\x39\x30\x31\x37\x20\x63\
+\x20\x30\x2c\x2d\x30\x2e\x35\x31\x37\x35\x34\x31\x20\x30\x2e\x34\
+\x35\x31\x32\x31\x37\x2c\x2d\x31\x2e\x32\x31\x39\x38\x35\x20\x31\
+\x2e\x30\x30\x32\x37\x30\x34\x2c\x2d\x31\x2e\x35\x36\x30\x36\x38\
+\x38\x20\x30\x2e\x36\x34\x39\x30\x33\x32\x2c\x2d\x30\x2e\x34\x30\
+\x31\x31\x32\x34\x20\x30\x2e\x36\x36\x35\x35\x34\x31\x2c\x2d\x31\
+\x2e\x32\x34\x39\x37\x30\x32\x20\x30\x2e\x30\x34\x36\x38\x2c\x2d\
+\x32\x2e\x34\x30\x35\x38\x32\x32\x20\x43\x20\x39\x37\x2e\x30\x32\
+\x38\x35\x37\x39\x2c\x36\x32\x2e\x31\x38\x34\x38\x38\x33\x20\x39\
+\x38\x2e\x33\x38\x36\x34\x38\x39\x2c\x36\x30\x20\x31\x30\x30\x2e\
+\x35\x39\x33\x30\x31\x2c\x36\x30\x20\x63\x20\x30\x2e\x36\x35\x36\
+\x31\x36\x2c\x30\x20\x31\x2e\x34\x36\x36\x31\x36\x2c\x2d\x30\x2e\
+\x37\x31\x31\x38\x30\x34\x20\x31\x2e\x38\x2c\x2d\x31\x2e\x35\x38\
+\x31\x37\x38\x37\x20\x43\x20\x31\x30\x33\x2e\x32\x35\x34\x36\x34\
+\x2c\x35\x36\x2e\x31\x37\x32\x38\x35\x20\x31\x30\x33\x2e\x31\x38\
+\x35\x37\x2c\x35\x36\x20\x31\x30\x31\x2e\x34\x32\x38\x35\x37\x2c\
+\x35\x36\x20\x63\x20\x2d\x30\x2e\x38\x36\x34\x32\x38\x2c\x30\x20\
+\x2d\x32\x2e\x32\x39\x35\x35\x35\x36\x2c\x2d\x30\x2e\x37\x32\x34\
+\x31\x32\x39\x20\x2d\x33\x2e\x31\x38\x30\x36\x30\x33\x2c\x2d\x31\
+\x2e\x36\x30\x39\x31\x37\x36\x20\x2d\x31\x2e\x34\x37\x38\x39\x30\
+\x32\x2c\x2d\x31\x2e\x34\x37\x38\x39\x30\x32\x20\x2d\x31\x2e\x34\
+\x37\x36\x30\x33\x33\x2c\x2d\x31\x2e\x36\x38\x33\x36\x38\x38\x20\
+\x30\x2e\x30\x33\x35\x34\x34\x2c\x2d\x32\x2e\x35\x32\x39\x35\x35\
+\x32\x20\x31\x2e\x32\x38\x31\x33\x37\x34\x2c\x2d\x30\x2e\x37\x31\
+\x37\x30\x39\x32\x20\x31\x2e\x34\x33\x37\x31\x36\x35\x2c\x2d\x31\
+\x2e\x34\x36\x36\x30\x31\x39\x20\x30\x2e\x37\x30\x35\x33\x35\x36\
+\x2c\x2d\x33\x2e\x33\x39\x30\x38\x32\x33\x20\x43\x20\x39\x38\x2e\
+\x32\x37\x34\x33\x38\x35\x2c\x34\x36\x2e\x35\x39\x31\x34\x38\x38\
+\x20\x39\x38\x2e\x33\x37\x36\x31\x31\x31\x2c\x34\x36\x20\x39\x39\
+\x2e\x34\x31\x33\x36\x34\x2c\x34\x36\x20\x63\x20\x30\x2e\x37\x35\
+\x30\x32\x38\x2c\x30\x20\x31\x2e\x33\x34\x33\x32\x35\x2c\x30\x2e\
+\x35\x36\x32\x35\x20\x31\x2e\x33\x31\x37\x37\x31\x2c\x31\x2e\x32\
+\x35\x20\x2d\x30\x2e\x31\x31\x32\x31\x38\x2c\x33\x2e\x30\x32\x30\
+\x37\x34\x20\x30\x2e\x33\x32\x39\x2c\x34\x2e\x38\x33\x30\x37\x33\
+\x36\x20\x31\x2e\x30\x36\x36\x34\x2c\x34\x2e\x33\x37\x35\x20\x30\
+\x2e\x34\x33\x38\x37\x36\x2c\x2d\x30\x2e\x32\x37\x31\x31\x36\x39\
+\x20\x31\x2e\x34\x35\x31\x32\x36\x2c\x2d\x30\x2e\x30\x37\x39\x36\
+\x32\x20\x32\x2e\x32\x35\x2c\x30\x2e\x34\x32\x35\x36\x37\x20\x30\
+\x2e\x39\x39\x36\x35\x37\x2c\x30\x2e\x36\x33\x30\x34\x34\x20\x31\
+\x2e\x30\x36\x30\x30\x33\x2c\x30\x2e\x39\x32\x33\x35\x30\x39\x20\
+\x30\x2e\x32\x30\x32\x32\x35\x2c\x30\x2e\x39\x33\x34\x30\x31\x37\
+\x20\x43\x20\x31\x30\x33\x2e\x35\x36\x32\x35\x2c\x35\x32\x2e\x39\
+\x39\x33\x31\x30\x39\x20\x31\x30\x33\x2c\x35\x33\x2e\x34\x35\x20\
+\x31\x30\x33\x2c\x35\x34\x20\x63\x20\x30\x2c\x30\x2e\x35\x35\x20\
+\x30\x2e\x38\x32\x35\x2c\x31\x20\x31\x2e\x38\x33\x33\x33\x33\x2c\
+\x31\x20\x32\x2e\x38\x30\x34\x36\x32\x2c\x30\x20\x33\x2e\x33\x32\
+\x31\x34\x31\x2c\x31\x2e\x31\x32\x37\x30\x32\x39\x20\x31\x2e\x33\
+\x32\x39\x30\x37\x2c\x32\x2e\x38\x39\x38\x34\x37\x39\x20\x2d\x32\
+\x2e\x32\x39\x30\x33\x34\x2c\x32\x2e\x30\x33\x36\x34\x31\x33\x20\
+\x2d\x33\x2e\x35\x31\x37\x39\x35\x2c\x35\x2e\x31\x36\x33\x30\x31\
+\x36\x20\x2d\x31\x2e\x39\x30\x30\x31\x35\x2c\x34\x2e\x38\x33\x39\
+\x35\x32\x35\x20\x31\x2e\x36\x38\x36\x35\x37\x2c\x2d\x30\x2e\x33\
+\x33\x37\x32\x34\x33\x20\x32\x2e\x31\x38\x38\x35\x38\x2c\x34\x2e\
+\x33\x36\x30\x39\x36\x39\x20\x30\x2e\x35\x37\x35\x32\x34\x2c\x35\
+\x2e\x33\x38\x33\x35\x39\x33\x20\x43\x20\x31\x30\x33\x2e\x30\x31\
+\x37\x33\x38\x2c\x36\x39\x2e\x32\x37\x35\x32\x38\x34\x20\x39\x37\
+\x2c\x36\x39\x2e\x32\x32\x37\x32\x33\x36\x20\x39\x37\x2c\x36\x38\
+\x2e\x30\x35\x39\x30\x31\x37\x20\x7a\x20\x6d\x20\x32\x33\x2e\x32\
+\x37\x39\x30\x32\x2c\x2d\x32\x2e\x30\x30\x35\x30\x34\x20\x43\x20\
+\x31\x32\x30\x2e\x31\x39\x33\x39\x32\x2c\x36\x34\x2e\x39\x32\x34\
+\x32\x39\x20\x31\x32\x30\x2e\x35\x34\x36\x33\x33\x2c\x36\x34\x20\
+\x31\x32\x31\x2e\x30\x36\x32\x31\x35\x2c\x36\x34\x20\x31\x32\x31\
+\x2e\x35\x37\x37\x39\x37\x2c\x36\x34\x20\x31\x32\x32\x2c\x36\x33\
+\x2e\x33\x37\x33\x31\x34\x35\x20\x31\x32\x32\x2c\x36\x32\x2e\x36\
+\x30\x36\x39\x38\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x37\x36\x36\
+\x31\x35\x36\x20\x30\x2e\x36\x37\x39\x31\x37\x2c\x2d\x31\x2e\x36\
+\x35\x33\x36\x33\x35\x20\x31\x2e\x35\x30\x39\x32\x38\x2c\x2d\x31\
+\x2e\x39\x37\x32\x31\x37\x35\x20\x31\x2e\x38\x33\x36\x30\x35\x2c\
+\x2d\x30\x2e\x37\x30\x34\x35\x36\x31\x20\x31\x2e\x35\x34\x35\x31\
+\x33\x2c\x2d\x32\x2e\x38\x38\x33\x35\x38\x36\x20\x2d\x30\x2e\x35\
+\x30\x39\x32\x38\x2c\x2d\x33\x2e\x38\x31\x34\x35\x32\x39\x20\x2d\
+\x31\x2e\x33\x33\x33\x33\x33\x2c\x2d\x30\x2e\x36\x30\x34\x31\x39\
+\x31\x20\x2d\x31\x2e\x33\x33\x33\x33\x33\x2c\x2d\x30\x2e\x36\x38\
+\x37\x37\x34\x37\x20\x30\x2c\x2d\x30\x2e\x37\x35\x32\x30\x30\x34\
+\x20\x31\x2e\x30\x30\x32\x36\x39\x2c\x2d\x30\x2e\x30\x34\x38\x33\
+\x32\x20\x31\x2e\x35\x38\x38\x36\x33\x2c\x2d\x31\x2e\x33\x31\x34\
+\x39\x30\x32\x20\x31\x2e\x37\x36\x37\x33\x32\x2c\x2d\x33\x2e\x38\
+\x32\x30\x32\x38\x36\x20\x30\x2e\x31\x34\x37\x30\x32\x2c\x2d\x32\
+\x2e\x30\x36\x31\x33\x39\x37\x20\x30\x2e\x37\x30\x35\x39\x32\x2c\
+\x2d\x33\x2e\x38\x39\x36\x37\x39\x37\x20\x31\x2e\x32\x34\x32\x30\
+\x31\x2c\x2d\x34\x2e\x30\x37\x38\x36\x36\x35\x20\x30\x2e\x35\x37\
+\x37\x37\x37\x2c\x2d\x30\x2e\x31\x39\x36\x30\x31\x32\x20\x30\x2e\
+\x36\x32\x37\x30\x35\x2c\x2d\x31\x2e\x30\x31\x30\x34\x37\x31\x20\
+\x30\x2e\x31\x32\x31\x30\x31\x2c\x2d\x32\x20\x2d\x30\x2e\x34\x36\
+\x39\x35\x32\x2c\x2d\x30\x2e\x39\x31\x38\x31\x33\x32\x20\x2d\x31\
+\x2e\x31\x34\x34\x32\x32\x2c\x2d\x32\x2e\x38\x38\x35\x38\x32\x20\
+\x2d\x31\x2e\x34\x39\x39\x33\x34\x2c\x2d\x34\x2e\x33\x37\x32\x36\
+\x34\x31\x20\x2d\x30\x2e\x35\x38\x36\x38\x31\x2c\x2d\x32\x2e\x34\
+\x35\x36\x38\x38\x39\x20\x2d\x30\x2e\x33\x34\x38\x37\x34\x2c\x2d\
+\x32\x2e\x37\x34\x38\x34\x38\x36\x20\x32\x2e\x36\x31\x31\x36\x37\
+\x2c\x2d\x33\x2e\x31\x39\x38\x38\x38\x37\x20\x36\x2e\x36\x37\x38\
+\x36\x36\x2c\x2d\x31\x2e\x30\x31\x36\x31\x30\x32\x20\x32\x35\x2e\
+\x34\x34\x35\x39\x39\x2c\x2d\x31\x2e\x34\x30\x38\x32\x35\x38\x20\
+\x32\x36\x2e\x38\x31\x37\x38\x38\x2c\x2d\x30\x2e\x35\x36\x30\x33\
+\x37\x37\x20\x31\x2e\x31\x37\x34\x30\x36\x2c\x30\x2e\x37\x32\x35\
+\x36\x30\x39\x20\x31\x2e\x31\x39\x33\x32\x33\x2c\x31\x2e\x31\x30\
+\x35\x30\x34\x39\x20\x30\x2e\x31\x30\x39\x36\x36\x2c\x32\x2e\x31\
+\x37\x30\x39\x33\x34\x20\x2d\x30\x2e\x37\x32\x32\x31\x39\x2c\x30\
+\x2e\x37\x31\x30\x34\x30\x33\x20\x2d\x31\x2e\x31\x36\x38\x34\x32\
+\x2c\x30\x2e\x38\x34\x31\x36\x34\x31\x20\x2d\x30\x2e\x39\x39\x31\
+\x36\x34\x2c\x30\x2e\x32\x39\x31\x36\x34\x31\x20\x30\x2e\x34\x30\
+\x39\x33\x31\x2c\x2d\x31\x2e\x32\x37\x33\x34\x31\x35\x20\x2d\x30\
+\x2e\x34\x30\x34\x31\x37\x2c\x2d\x31\x2e\x35\x32\x37\x36\x34\x31\
+\x20\x2d\x34\x2e\x34\x32\x38\x35\x37\x2c\x2d\x31\x2e\x33\x38\x33\
+\x39\x39\x39\x20\x2d\x31\x2e\x37\x38\x37\x35\x2c\x30\x2e\x30\x36\
+\x33\x38\x20\x2d\x32\x2e\x35\x30\x30\x38\x31\x2c\x30\x2e\x33\x31\
+\x34\x34\x31\x38\x20\x2d\x31\x2e\x35\x38\x35\x31\x34\x2c\x30\x2e\
+\x35\x35\x36\x39\x32\x37\x20\x32\x2e\x33\x30\x39\x37\x37\x2c\x30\
+\x2e\x36\x31\x31\x37\x32\x37\x20\x33\x2e\x31\x34\x30\x32\x38\x2c\
+\x33\x2e\x32\x37\x32\x37\x35\x20\x31\x2e\x32\x34\x38\x30\x35\x2c\
+\x33\x2e\x39\x39\x38\x38\x36\x36\x20\x2d\x31\x2e\x32\x32\x37\x35\
+\x37\x2c\x30\x2e\x34\x37\x31\x30\x36\x31\x20\x2d\x30\x2e\x39\x36\
+\x31\x38\x36\x2c\x30\x2e\x39\x38\x36\x30\x39\x34\x20\x31\x2e\x32\
+\x36\x36\x38\x36\x2c\x32\x2e\x34\x35\x35\x35\x35\x36\x20\x6c\x20\
+\x32\x2e\x38\x32\x30\x32\x33\x2c\x31\x2e\x38\x35\x39\x34\x37\x32\
+\x20\x2d\x32\x2e\x38\x36\x35\x30\x31\x2c\x30\x2e\x30\x30\x36\x36\
+\x20\x63\x20\x2d\x32\x2e\x38\x35\x33\x37\x2c\x30\x2e\x30\x30\x36\
+\x36\x20\x2d\x32\x2e\x38\x35\x38\x33\x2c\x30\x2e\x30\x31\x36\x38\
+\x33\x20\x2d\x31\x2e\x31\x36\x35\x31\x35\x2c\x32\x2e\x36\x30\x30\
+\x39\x30\x38\x20\x31\x2e\x36\x35\x33\x34\x31\x2c\x32\x2e\x35\x32\
+\x33\x34\x31\x36\x20\x31\x2e\x36\x34\x32\x38\x39\x2c\x32\x2e\x35\
+\x37\x36\x32\x33\x35\x20\x2d\x30\x2e\x33\x38\x34\x39\x39\x2c\x31\
+\x2e\x39\x33\x32\x36\x31\x32\x20\x2d\x32\x2e\x32\x30\x37\x31\x36\
+\x2c\x2d\x30\x2e\x37\x30\x30\x35\x32\x36\x20\x2d\x32\x2e\x39\x36\
+\x38\x31\x32\x2c\x30\x2e\x39\x34\x39\x39\x39\x34\x20\x2d\x30\x2e\
+\x38\x33\x34\x38\x35\x2c\x31\x2e\x38\x31\x30\x37\x38\x38\x20\x31\
+\x2c\x30\x2e\x34\x30\x33\x35\x30\x39\x20\x31\x2c\x30\x2e\x35\x32\
+\x30\x31\x37\x36\x20\x30\x2c\x30\x2e\x35\x38\x33\x33\x33\x34\x20\
+\x2d\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x30\x34\x33\x34\x32\x20\
+\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x31\x39\x35\x33\x37\x34\x20\x2d\
+\x31\x2e\x32\x35\x2c\x32\x2e\x35\x35\x39\x38\x39\x35\x20\x30\x2c\
+\x33\x2e\x30\x39\x30\x38\x31\x35\x20\x2d\x33\x2e\x30\x33\x37\x36\
+\x31\x2c\x34\x2e\x30\x32\x33\x35\x33\x38\x20\x2d\x31\x30\x2e\x33\
+\x32\x39\x34\x34\x2c\x33\x2e\x31\x37\x31\x37\x34\x33\x20\x2d\x37\
+\x2e\x30\x34\x38\x37\x31\x2c\x2d\x30\x2e\x38\x32\x33\x33\x39\x36\
+\x20\x2d\x39\x2e\x34\x32\x30\x35\x36\x2c\x2d\x30\x2e\x30\x37\x34\
+\x38\x39\x20\x2d\x39\x2e\x34\x32\x30\x35\x36\x2c\x32\x2e\x39\x37\
+\x32\x39\x31\x39\x20\x30\x2c\x32\x2e\x39\x35\x32\x33\x31\x39\x20\
+\x2d\x30\x2e\x30\x37\x36\x33\x2c\x33\x2e\x30\x34\x31\x37\x31\x36\
+\x20\x2d\x33\x2e\x32\x38\x35\x31\x38\x2c\x33\x2e\x38\x34\x37\x30\
+\x38\x33\x20\x2d\x32\x2e\x30\x36\x37\x32\x37\x2c\x30\x2e\x35\x31\
+\x38\x38\x35\x33\x20\x2d\x32\x2e\x35\x35\x39\x34\x33\x2c\x30\x2e\
+\x32\x35\x38\x38\x38\x32\x20\x2d\x32\x2e\x36\x38\x35\x38\x2c\x2d\
+\x31\x2e\x34\x31\x38\x37\x31\x36\x20\x7a\x20\x4d\x20\x31\x34\x31\
+\x2e\x35\x2c\x34\x34\x20\x63\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\
+\x2d\x30\x2e\x35\x35\x20\x30\x2e\x31\x36\x38\x30\x33\x2c\x2d\x31\
+\x20\x2d\x30\x2e\x33\x38\x31\x39\x37\x2c\x2d\x31\x20\x2d\x30\x2e\
+\x35\x35\x2c\x30\x20\x2d\x31\x2e\x32\x37\x38\x31\x31\x2c\x30\x2e\
+\x34\x35\x20\x2d\x31\x2e\x36\x31\x38\x30\x33\x2c\x31\x20\x2d\x30\
+\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\
+\x36\x38\x30\x33\x2c\x31\x20\x30\x2e\x33\x38\x31\x39\x37\x2c\x31\
+\x20\x30\x2e\x35\x35\x2c\x30\x20\x31\x2e\x32\x37\x38\x31\x31\x2c\
+\x2d\x30\x2e\x34\x35\x20\x31\x2e\x36\x31\x38\x30\x33\x2c\x2d\x31\
+\x20\x7a\x20\x4d\x20\x31\x35\x34\x2c\x35\x36\x20\x63\x20\x30\x2c\
+\x2d\x31\x2e\x36\x36\x36\x36\x36\x37\x20\x2d\x30\x2e\x38\x38\x38\
+\x38\x39\x2c\x2d\x33\x2e\x38\x38\x38\x38\x38\x39\x20\x2d\x32\x2c\
+\x2d\x35\x20\x2d\x31\x2e\x36\x37\x35\x33\x38\x2c\x2d\x31\x2e\x36\
+\x37\x35\x33\x37\x39\x20\x2d\x31\x2e\x37\x33\x38\x39\x34\x2c\x2d\
+\x32\x20\x2d\x30\x2e\x33\x39\x31\x35\x39\x2c\x2d\x32\x20\x31\x2e\
+\x35\x37\x39\x37\x36\x2c\x30\x20\x31\x2e\x35\x32\x35\x33\x35\x2c\
+\x2d\x31\x2e\x38\x38\x31\x38\x38\x37\x20\x2d\x30\x2e\x31\x38\x33\
+\x31\x34\x2c\x2d\x36\x2e\x33\x33\x34\x31\x33\x36\x20\x2d\x30\x2e\
+\x34\x33\x39\x35\x35\x2c\x2d\x31\x2e\x31\x34\x35\x34\x37\x20\x2d\
+\x30\x2e\x30\x37\x31\x31\x2c\x2d\x31\x2e\x33\x38\x35\x39\x39\x34\
+\x20\x31\x2e\x34\x39\x35\x37\x34\x2c\x2d\x30\x2e\x39\x37\x36\x32\
+\x36\x39\x20\x43\x20\x31\x35\x34\x2e\x38\x31\x37\x37\x37\x2c\x34\
+\x32\x2e\x31\x38\x35\x36\x30\x38\x20\x31\x35\x35\x2c\x34\x32\x2e\
+\x39\x36\x38\x30\x39\x33\x20\x31\x35\x35\x2c\x35\x30\x2e\x36\x31\
+\x36\x36\x33\x31\x20\x31\x35\x35\x2c\x35\x35\x2e\x32\x32\x37\x34\
+\x38\x34\x20\x31\x35\x34\x2e\x37\x37\x35\x2c\x35\x39\x20\x31\x35\
+\x34\x2e\x35\x2c\x35\x39\x20\x31\x35\x34\x2e\x32\x32\x35\x2c\x35\
+\x39\x20\x31\x35\x34\x2c\x35\x37\x2e\x36\x35\x20\x31\x35\x34\x2c\
+\x35\x36\x20\x7a\x20\x6d\x20\x2d\x32\x2e\x35\x2c\x2d\x31\x20\x63\
+\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\
+\x2d\x30\x2e\x31\x34\x31\x34\x38\x2c\x2d\x31\x20\x30\x2e\x34\x34\
+\x30\x39\x38\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\
+\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x30\x2e\x34\x35\x20\x31\x2e\
+\x30\x35\x39\x30\x32\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\
+\x30\x2e\x31\x39\x38\x34\x34\x2c\x31\x20\x2d\x30\x2e\x34\x34\x30\
+\x39\x38\x2c\x31\x20\x2d\x30\x2e\x32\x34\x32\x35\x34\x2c\x30\x20\
+\x2d\x30\x2e\x37\x31\x39\x31\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\
+\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x2d\x34\
+\x39\x2c\x2d\x37\x20\x63\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\
+\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x34\x31\x34\x38\x2c\x2d\
+\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\x20\x30\x2e\x35\
+\x38\x32\x34\x36\x2c\x30\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x30\
+\x2e\x34\x35\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x30\x2c\
+\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x39\x38\x34\x34\x2c\x31\x20\
+\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x32\x34\
+\x32\x35\x34\x2c\x30\x20\x2d\x30\x2e\x37\x31\x39\x31\x2c\x2d\x30\
+\x2e\x34\x35\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\
+\x7a\x20\x6d\x20\x2d\x32\x2e\x30\x39\x39\x32\x34\x2c\x2d\x33\x2e\
+\x36\x38\x35\x39\x37\x36\x20\x63\x20\x2d\x31\x2e\x35\x33\x35\x31\
+\x39\x32\x2c\x2d\x30\x2e\x33\x30\x32\x34\x38\x20\x2d\x32\x2e\x31\
+\x32\x31\x36\x34\x31\x2c\x2d\x31\x2e\x32\x30\x31\x37\x38\x39\x20\
+\x2d\x32\x2e\x31\x38\x32\x36\x33\x36\x2c\x2d\x33\x2e\x33\x34\x37\
+\x30\x34\x32\x20\x2d\x30\x2e\x30\x37\x31\x35\x32\x2c\x2d\x32\x2e\
+\x35\x31\x35\x34\x31\x31\x20\x30\x2e\x32\x36\x33\x32\x35\x31\x2c\
+\x2d\x32\x2e\x39\x30\x34\x37\x33\x39\x20\x32\x2e\x33\x34\x39\x32\
+\x33\x36\x2c\x2d\x32\x2e\x37\x33\x32\x30\x39\x38\x20\x32\x2e\x36\
+\x31\x34\x36\x2c\x30\x2e\x32\x31\x36\x33\x39\x31\x20\x33\x2e\x32\
+\x31\x34\x34\x35\x2c\x31\x2e\x32\x38\x32\x39\x38\x31\x20\x31\x2e\
+\x31\x38\x32\x36\x34\x2c\x32\x2e\x31\x30\x32\x38\x33\x35\x20\x2d\
+\x30\x2e\x37\x30\x33\x33\x39\x2c\x30\x2e\x32\x38\x33\x38\x32\x33\
+\x20\x2d\x30\x2e\x34\x33\x31\x32\x2c\x30\x2e\x35\x33\x38\x39\x30\
+\x39\x20\x30\x2e\x36\x32\x32\x34\x34\x2c\x30\x2e\x35\x38\x33\x33\
+\x33\x34\x20\x31\x2e\x34\x39\x30\x39\x39\x2c\x30\x2e\x30\x36\x32\
+\x38\x36\x20\x31\x2e\x36\x33\x35\x32\x38\x2c\x30\x2e\x33\x36\x34\
+\x37\x31\x37\x20\x30\x2e\x37\x30\x38\x32\x37\x2c\x31\x2e\x34\x38\
+\x31\x37\x30\x31\x20\x2d\x30\x2e\x38\x39\x33\x39\x38\x2c\x31\x2e\
+\x30\x37\x37\x31\x37\x35\x20\x2d\x30\x2e\x38\x36\x34\x33\x37\x2c\
+\x31\x2e\x35\x32\x33\x30\x35\x31\x20\x30\x2e\x31\x32\x37\x35\x35\
+\x2c\x31\x2e\x39\x32\x31\x30\x35\x33\x20\x31\x2e\x34\x38\x34\x32\
+\x35\x2c\x30\x2e\x35\x39\x35\x35\x34\x32\x20\x30\x2e\x32\x34\x32\
+\x38\x2c\x30\x2e\x35\x39\x31\x32\x31\x36\x20\x2d\x32\x2e\x38\x30\
+\x37\x35\x2c\x2d\x30\x2e\x30\x30\x39\x38\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\x33\
+\x30\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x62\x32\x61\x65\x61\x66\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\x31\x37\x2e\x32\x35\x36\x31\
+\x36\x2c\x32\x31\x33\x2e\x30\x32\x35\x32\x20\x63\x20\x2d\x31\x2e\
+\x37\x38\x34\x31\x31\x2c\x2d\x30\x2e\x34\x32\x33\x35\x34\x20\x2d\
+\x33\x2e\x39\x32\x31\x36\x31\x2c\x2d\x31\x2e\x33\x33\x32\x35\x38\
+\x20\x2d\x34\x2e\x37\x35\x2c\x2d\x32\x2e\x30\x32\x30\x30\x38\x20\
+\x43\x20\x31\x31\x31\x2e\x36\x37\x37\x37\x37\x2c\x32\x31\x30\x2e\
+\x33\x31\x37\x36\x31\x20\x31\x31\x31\x2c\x32\x31\x30\x2e\x30\x38\
+\x38\x36\x32\x20\x31\x31\x31\x2c\x32\x31\x30\x2e\x34\x39\x36\x32\
+\x34\x20\x63\x20\x30\x2c\x30\x2e\x38\x39\x37\x30\x37\x20\x2d\x37\
+\x2e\x30\x30\x37\x30\x38\x2c\x2d\x34\x2e\x32\x39\x31\x34\x35\x20\
+\x2d\x38\x2e\x37\x31\x38\x32\x2c\x2d\x36\x2e\x34\x35\x35\x35\x35\
+\x20\x2d\x30\x2e\x36\x37\x2c\x2d\x30\x2e\x38\x34\x37\x33\x38\x20\
+\x2d\x31\x2e\x32\x33\x32\x35\x2c\x2d\x32\x2e\x35\x39\x37\x39\x36\
+\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x33\x2e\x38\x39\x30\x31\x37\x20\
+\x2d\x30\x2e\x30\x32\x39\x38\x2c\x2d\x32\x2e\x32\x30\x32\x39\x38\
+\x20\x30\x2e\x32\x36\x31\x37\x2c\x2d\x32\x2e\x33\x32\x30\x31\x39\
+\x20\x34\x2e\x36\x37\x34\x39\x34\x2c\x2d\x31\x2e\x38\x37\x39\x37\
+\x37\x20\x32\x2e\x35\x38\x38\x37\x31\x2c\x30\x2e\x32\x35\x38\x33\
+\x34\x20\x34\x2e\x38\x37\x35\x30\x31\x2c\x30\x2e\x39\x37\x34\x35\
+\x31\x20\x35\x2e\x30\x38\x30\x36\x37\x2c\x31\x2e\x35\x39\x31\x34\
+\x39\x20\x30\x2e\x32\x36\x35\x35\x32\x2c\x30\x2e\x37\x39\x36\x35\
+\x36\x20\x30\x2e\x39\x33\x36\x33\x36\x2c\x30\x2e\x38\x32\x30\x37\
+\x38\x20\x32\x2e\x33\x31\x33\x39\x33\x2c\x30\x2e\x30\x38\x33\x35\
+\x20\x31\x2e\x30\x36\x36\x39\x39\x2c\x2d\x30\x2e\x35\x37\x31\x30\
+\x34\x20\x32\x2e\x33\x34\x39\x36\x2c\x2d\x30\x2e\x37\x38\x35\x31\
+\x31\x20\x32\x2e\x38\x35\x30\x32\x33\x2c\x2d\x30\x2e\x34\x37\x35\
+\x37\x20\x30\x2e\x35\x30\x30\x36\x33\x2c\x30\x2e\x33\x30\x39\x34\
+\x20\x31\x2e\x32\x31\x31\x38\x35\x2c\x30\x2e\x30\x37\x34\x35\x20\
+\x31\x2e\x35\x38\x30\x34\x38\x2c\x2d\x30\x2e\x35\x32\x31\x39\x33\
+\x20\x30\x2e\x33\x36\x38\x36\x34\x2c\x2d\x30\x2e\x35\x39\x36\x34\
+\x37\x20\x31\x2e\x32\x39\x39\x37\x33\x2c\x2d\x30\x2e\x38\x34\x32\
+\x39\x33\x20\x32\x2e\x30\x36\x39\x31\x2c\x2d\x30\x2e\x35\x34\x37\
+\x37\x20\x30\x2e\x38\x33\x35\x39\x32\x2c\x30\x2e\x33\x32\x30\x37\
+\x37\x20\x31\x2e\x33\x39\x38\x38\x35\x2c\x2d\x30\x2e\x31\x30\x31\
+\x31\x33\x20\x31\x2e\x33\x39\x38\x38\x35\x2c\x2d\x31\x2e\x30\x34\
+\x38\x34\x20\x30\x2c\x2d\x31\x2e\x31\x35\x31\x36\x35\x20\x30\x2e\
+\x36\x38\x33\x37\x34\x2c\x2d\x31\x2e\x34\x35\x34\x34\x39\x20\x32\
+\x2e\x35\x2c\x2d\x31\x2e\x31\x30\x37\x32\x39\x20\x31\x2e\x33\x37\
+\x35\x2c\x30\x2e\x32\x36\x32\x38\x35\x20\x32\x2e\x35\x2c\x30\x2e\
+\x30\x39\x30\x33\x20\x32\x2e\x35\x2c\x2d\x30\x2e\x33\x38\x33\x34\
+\x32\x20\x30\x2c\x2d\x30\x2e\x34\x37\x33\x37\x33\x20\x30\x2e\x39\
+\x2c\x2d\x30\x2e\x38\x36\x31\x33\x33\x20\x32\x2c\x2d\x30\x2e\x38\
+\x36\x31\x33\x33\x20\x32\x2e\x34\x34\x36\x38\x33\x2c\x30\x20\x32\
+\x2e\x35\x31\x37\x31\x36\x2c\x30\x2e\x37\x37\x31\x30\x36\x20\x30\
+\x2e\x32\x39\x34\x33\x39\x2c\x33\x2e\x32\x32\x37\x32\x20\x2d\x31\
+\x2e\x33\x37\x32\x39\x38\x2c\x31\x2e\x35\x31\x37\x31\x33\x20\x2d\
+\x31\x2e\x34\x37\x36\x35\x37\x2c\x32\x2e\x32\x35\x31\x34\x34\x20\
+\x2d\x30\x2e\x35\x33\x31\x31\x33\x2c\x33\x2e\x37\x36\x35\x33\x33\
+\x20\x31\x2e\x30\x31\x34\x31\x32\x2c\x31\x2e\x36\x32\x33\x38\x36\
+\x20\x30\x2e\x39\x30\x35\x36\x36\x2c\x31\x2e\x38\x32\x38\x38\x37\
+\x20\x2d\x30\x2e\x37\x39\x34\x33\x39\x2c\x31\x2e\x35\x30\x31\x34\
+\x38\x20\x2d\x32\x2e\x34\x33\x34\x37\x38\x2c\x2d\x30\x2e\x34\x36\
+\x38\x39\x20\x2d\x32\x2e\x36\x33\x34\x31\x2c\x31\x2e\x31\x38\x35\
+\x35\x20\x2d\x30\x2e\x32\x31\x38\x38\x37\x2c\x31\x2e\x38\x31\x36\
+\x36\x36\x20\x31\x2e\x32\x35\x30\x36\x33\x2c\x30\x2e\x33\x32\x36\
+\x38\x33\x20\x31\x2e\x30\x33\x36\x36\x31\x2c\x30\x2e\x35\x32\x34\
+\x32\x32\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x36\x39\x31\x37\x35\
+\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x2e\x31\x32\x38\x39\x33\x20\
+\x2d\x32\x2e\x38\x33\x37\x35\x2c\x30\x2e\x31\x38\x31\x31\x33\x20\
+\x2d\x33\x2e\x32\x35\x2c\x30\x2e\x31\x31\x36\x20\x2d\x30\x2e\x34\
+\x31\x32\x35\x2c\x2d\x30\x2e\x30\x36\x35\x31\x20\x2d\x30\x2e\x37\
+\x35\x2c\x30\x2e\x33\x35\x38\x31\x34\x20\x2d\x30\x2e\x37\x35\x2c\
+\x30\x2e\x39\x34\x30\x36\x20\x30\x2c\x30\x2e\x35\x38\x32\x34\x36\
+\x20\x2d\x30\x2e\x34\x35\x2c\x30\x2e\x37\x38\x30\x39\x20\x2d\x31\
+\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x2d\x30\x2e\x35\x35\x2c\x2d\
+\x30\x2e\x33\x33\x39\x39\x32\x20\x2d\x31\x2c\x2d\x30\x2e\x31\x34\
+\x31\x34\x38\x20\x2d\x31\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x30\
+\x2c\x32\x2e\x30\x36\x31\x38\x38\x20\x2d\x32\x2e\x38\x36\x37\x34\
+\x31\x2c\x31\x2e\x30\x32\x35\x32\x32\x20\x2d\x33\x2e\x32\x39\x34\
+\x32\x37\x2c\x2d\x31\x2e\x31\x39\x30\x39\x38\x20\x6c\x20\x2d\x30\
+\x2e\x34\x33\x33\x33\x37\x2c\x2d\x32\x2e\x32\x35\x20\x2d\x30\x2e\
+\x31\x33\x36\x31\x38\x2c\x32\x2e\x32\x35\x20\x63\x20\x2d\x30\x2e\
+\x30\x37\x34\x39\x2c\x31\x2e\x32\x33\x37\x35\x20\x2d\x30\x2e\x36\
+\x39\x38\x36\x38\x2c\x32\x2e\x32\x36\x33\x36\x38\x20\x2d\x31\x2e\
+\x33\x38\x36\x31\x38\x2c\x32\x2e\x32\x38\x30\x34\x31\x20\x2d\x32\
+\x2e\x35\x31\x32\x32\x37\x2c\x30\x2e\x30\x36\x31\x31\x20\x32\x2e\
+\x34\x38\x38\x36\x34\x2c\x32\x2e\x31\x35\x34\x35\x34\x20\x35\x2e\
+\x37\x36\x38\x36\x2c\x32\x2e\x34\x31\x34\x37\x39\x20\x32\x2e\x37\
+\x35\x31\x33\x32\x2c\x30\x2e\x32\x31\x38\x33\x31\x20\x33\x2e\x34\
+\x35\x36\x39\x36\x2c\x2d\x30\x2e\x31\x32\x33\x36\x20\x33\x2e\x37\
+\x39\x34\x34\x35\x2c\x2d\x31\x2e\x38\x33\x38\x35\x31\x20\x30\x2e\
+\x33\x39\x35\x35\x2c\x2d\x32\x2e\x30\x30\x39\x37\x31\x20\x30\x2e\
+\x34\x32\x30\x38\x35\x2c\x2d\x32\x2e\x30\x30\x33\x31\x31\x20\x30\
+\x2e\x35\x35\x30\x37\x37\x2c\x30\x2e\x31\x34\x33\x33\x31\x20\x30\
+\x2e\x31\x34\x32\x33\x2c\x32\x2e\x33\x35\x31\x31\x38\x20\x33\x2e\
+\x34\x31\x38\x30\x35\x2c\x33\x2e\x32\x32\x30\x39\x37\x20\x34\x2e\
+\x36\x34\x36\x32\x36\x2c\x31\x2e\x32\x33\x33\x36\x39\x20\x30\x2e\
+\x33\x34\x35\x34\x36\x2c\x2d\x30\x2e\x35\x35\x38\x39\x37\x20\x31\
+\x2e\x30\x34\x37\x30\x32\x2c\x2d\x30\x2e\x37\x35\x37\x34\x32\x20\
+\x31\x2e\x35\x35\x39\x30\x32\x2c\x2d\x30\x2e\x34\x34\x30\x39\x38\
+\x20\x30\x2e\x35\x31\x31\x39\x39\x2c\x30\x2e\x33\x31\x36\x34\x33\
+\x20\x30\x2e\x39\x36\x32\x35\x33\x2c\x2d\x30\x2e\x30\x31\x33\x37\
+\x20\x31\x2e\x30\x30\x31\x31\x39\x2c\x2d\x30\x2e\x37\x33\x33\x36\
+\x39\x20\x30\x2e\x30\x33\x38\x36\x2c\x2d\x30\x2e\x37\x31\x39\x39\
+\x36\x20\x30\x2e\x34\x32\x37\x30\x32\x2c\x2d\x30\x2e\x34\x30\x39\
+\x30\x32\x20\x30\x2e\x38\x36\x33\x30\x34\x2c\x30\x2e\x36\x39\x30\
+\x39\x38\x20\x30\x2e\x35\x36\x35\x36\x39\x2c\x31\x2e\x34\x32\x37\
+\x31\x36\x20\x30\x2e\x33\x33\x30\x37\x35\x2c\x32\x2e\x31\x39\x34\
+\x36\x38\x20\x2d\x30\x2e\x38\x32\x30\x32\x39\x2c\x32\x2e\x36\x37\
+\x39\x37\x31\x20\x2d\x32\x2e\x31\x33\x38\x30\x38\x2c\x30\x2e\x39\
+\x30\x30\x39\x36\x20\x2d\x31\x30\x2e\x37\x38\x39\x38\x39\x2c\x30\
+\x2e\x38\x31\x30\x39\x38\x20\x2d\x31\x34\x2e\x38\x35\x36\x38\x38\
+\x2c\x2d\x30\x2e\x31\x35\x34\x35\x31\x20\x7a\x20\x6d\x20\x2d\x34\
+\x2e\x30\x36\x32\x39\x35\x2c\x2d\x35\x2e\x37\x39\x34\x31\x33\x20\
+\x63\x20\x2d\x30\x2e\x36\x36\x33\x31\x32\x2c\x2d\x30\x2e\x32\x32\
+\x31\x30\x34\x20\x2d\x30\x2e\x39\x32\x33\x35\x36\x2c\x2d\x30\x2e\
+\x38\x35\x38\x33\x35\x20\x2d\x30\x2e\x35\x37\x38\x37\x36\x2c\x2d\
+\x31\x2e\x34\x31\x36\x32\x35\x20\x30\x2e\x33\x39\x38\x37\x2c\x2d\
+\x30\x2e\x36\x34\x35\x31\x31\x20\x2d\x30\x2e\x30\x39\x37\x32\x2c\
+\x2d\x30\x2e\x36\x32\x36\x38\x33\x20\x2d\x31\x2e\x33\x36\x32\x32\
+\x39\x2c\x30\x2e\x30\x35\x30\x32\x20\x2d\x31\x2e\x30\x39\x34\x30\
+\x36\x2c\x30\x2e\x35\x38\x35\x35\x32\x20\x2d\x32\x2e\x31\x36\x36\
+\x32\x35\x2c\x30\x2e\x39\x36\x37\x39\x32\x20\x2d\x32\x2e\x33\x38\
+\x32\x36\x35\x2c\x30\x2e\x38\x34\x39\x37\x37\x20\x2d\x30\x2e\x32\
+\x31\x36\x34\x2c\x2d\x30\x2e\x31\x31\x38\x31\x35\x20\x30\x2e\x32\
+\x31\x38\x31\x37\x2c\x30\x2e\x33\x31\x36\x37\x37\x20\x30\x2e\x39\
+\x36\x35\x37\x32\x2c\x30\x2e\x39\x36\x36\x35\x20\x30\x2e\x37\x34\
+\x37\x35\x34\x2c\x30\x2e\x36\x34\x39\x37\x32\x20\x32\x2e\x30\x38\
+\x30\x31\x38\x2c\x30\x2e\x39\x30\x34\x36\x34\x20\x32\x2e\x39\x36\
+\x31\x34\x31\x2c\x30\x2e\x35\x36\x36\x34\x38\x20\x31\x2e\x30\x34\
+\x36\x35\x2c\x2d\x30\x2e\x34\x30\x31\x35\x39\x20\x31\x2e\x31\x38\
+\x34\x30\x35\x2c\x2d\x30\x2e\x37\x35\x34\x32\x34\x20\x30\x2e\x33\
+\x39\x36\x35\x37\x2c\x2d\x31\x2e\x30\x31\x36\x37\x33\x20\x7a\x20\
+\x4d\x20\x31\x30\x37\x2e\x35\x2c\x32\x30\x34\x20\x63\x20\x30\x2e\
+\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x31\x36\
+\x38\x30\x33\x2c\x2d\x31\x20\x2d\x30\x2e\x33\x38\x31\x39\x37\x2c\
+\x2d\x31\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x31\x2e\x32\x37\
+\x38\x31\x31\x2c\x30\x2e\x34\x35\x20\x2d\x31\x2e\x36\x31\x38\x30\
+\x33\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\
+\x35\x20\x2d\x30\x2e\x31\x36\x38\x30\x33\x2c\x31\x20\x30\x2e\x33\
+\x38\x31\x39\x37\x2c\x31\x20\x30\x2e\x35\x35\x2c\x30\x20\x31\x2e\
+\x32\x37\x38\x31\x31\x2c\x2d\x30\x2e\x34\x35\x20\x31\x2e\x36\x31\
+\x38\x30\x33\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x32\x38\x2e\x33\x37\
+\x32\x33\x38\x2c\x36\x2e\x38\x30\x39\x30\x32\x20\x63\x20\x2d\x30\
+\x2e\x30\x37\x30\x32\x2c\x2d\x30\x2e\x37\x31\x39\x39\x36\x20\x2d\
+\x30\x2e\x32\x33\x33\x37\x35\x2c\x2d\x32\x2e\x33\x32\x31\x35\x32\
+\x20\x2d\x30\x2e\x33\x36\x33\x34\x37\x2c\x2d\x33\x2e\x35\x35\x39\
+\x30\x32\x20\x2d\x30\x2e\x31\x32\x39\x37\x31\x2c\x2d\x31\x2e\x32\
+\x33\x37\x35\x20\x30\x2e\x31\x30\x31\x36\x35\x2c\x2d\x32\x2e\x32\
+\x35\x20\x30\x2e\x35\x31\x34\x31\x33\x2c\x2d\x32\x2e\x32\x35\x20\
+\x31\x2e\x30\x37\x33\x38\x35\x2c\x30\x20\x31\x2e\x38\x30\x38\x33\
+\x39\x2c\x35\x2e\x39\x38\x36\x31\x35\x20\x30\x2e\x38\x31\x30\x32\
+\x33\x2c\x36\x2e\x36\x30\x33\x30\x35\x20\x2d\x30\x2e\x34\x35\x38\
+\x33\x2c\x30\x2e\x32\x38\x33\x32\x34\x20\x2d\x30\x2e\x38\x39\x30\
+\x37\x2c\x2d\x30\x2e\x30\x37\x34\x31\x20\x2d\x30\x2e\x39\x36\x30\
+\x38\x39\x2c\x2d\x30\x2e\x37\x39\x34\x30\x33\x20\x7a\x20\x4d\x20\
+\x31\x33\x31\x2e\x32\x33\x32\x30\x37\x2c\x32\x30\x36\x20\x63\x20\
+\x2d\x31\x2e\x30\x34\x31\x37\x35\x2c\x2d\x31\x2e\x36\x36\x38\x31\
+\x31\x20\x2d\x30\x2e\x39\x39\x38\x36\x39\x2c\x2d\x32\x20\x30\x2e\
+\x32\x35\x39\x34\x36\x2c\x2d\x32\x20\x30\x2e\x38\x34\x31\x38\x2c\
+\x30\x20\x31\x2e\x35\x30\x38\x34\x37\x2c\x30\x2e\x38\x38\x33\x39\
+\x20\x31\x2e\x35\x30\x38\x34\x37\x2c\x32\x20\x30\x2c\x31\x2e\x31\
+\x20\x2d\x30\x2e\x31\x31\x36\x37\x35\x2c\x32\x20\x2d\x30\x2e\x32\
+\x35\x39\x34\x35\x2c\x32\x20\x2d\x30\x2e\x31\x34\x32\x37\x2c\x30\
+\x20\x2d\x30\x2e\x38\x32\x31\x35\x32\x2c\x2d\x30\x2e\x39\x20\x2d\
+\x31\x2e\x35\x30\x38\x34\x38\x2c\x2d\x32\x20\x7a\x20\x6d\x20\x34\
+\x2e\x39\x36\x35\x36\x37\x2c\x2d\x37\x2e\x31\x37\x31\x34\x20\x63\
+\x20\x30\x2e\x31\x37\x36\x32\x31\x2c\x2d\x33\x2e\x30\x31\x34\x38\
+\x20\x30\x2e\x38\x32\x33\x35\x34\x2c\x2d\x35\x2e\x33\x34\x33\x31\
+\x38\x20\x31\x2e\x35\x35\x32\x32\x36\x2c\x2d\x35\x2e\x35\x38\x33\
+\x33\x33\x20\x30\x2e\x37\x33\x39\x32\x31\x2c\x2d\x30\x2e\x32\x34\
+\x33\x36\x31\x20\x31\x2e\x32\x35\x2c\x30\x2e\x34\x36\x33\x35\x20\
+\x31\x2e\x32\x35\x2c\x31\x2e\x37\x33\x30\x34\x31\x20\x30\x2c\x31\
+\x2e\x31\x37\x38\x33\x20\x2d\x30\x2e\x34\x35\x2c\x31\x2e\x38\x36\
+\x34\x32\x34\x20\x2d\x31\x2c\x31\x2e\x35\x32\x34\x33\x32\x20\x2d\
+\x31\x2e\x34\x33\x34\x32\x38\x2c\x2d\x30\x2e\x38\x38\x36\x34\x33\
+\x20\x2d\x31\x2e\x32\x33\x36\x31\x32\x2c\x31\x2e\x38\x34\x35\x36\
+\x32\x20\x30\x2e\x32\x35\x2c\x33\x2e\x34\x34\x36\x37\x20\x31\x2e\
+\x30\x30\x38\x30\x31\x2c\x31\x2e\x30\x38\x35\x39\x39\x20\x30\x2e\
+\x39\x38\x37\x32\x37\x2c\x31\x2e\x31\x39\x37\x32\x37\x20\x2d\x30\
+\x2e\x31\x30\x37\x31\x33\x2c\x30\x2e\x35\x37\x34\x37\x37\x20\x2d\
+\x31\x2e\x30\x33\x30\x31\x37\x2c\x2d\x30\x2e\x35\x38\x35\x39\x35\
+\x20\x2d\x31\x2e\x31\x39\x34\x36\x33\x2c\x2d\x30\x2e\x32\x35\x39\
+\x39\x31\x20\x2d\x30\x2e\x36\x38\x32\x36\x32\x2c\x31\x2e\x33\x35\
+\x33\x33\x20\x30\x2e\x34\x31\x33\x36\x32\x2c\x31\x2e\x33\x30\x33\
+\x31\x38\x20\x30\x2e\x32\x34\x31\x34\x34\x2c\x32\x2e\x31\x32\x35\
+\x32\x33\x20\x2d\x30\x2e\x34\x34\x35\x31\x32\x2c\x32\x2e\x31\x32\
+\x35\x32\x33\x20\x2d\x30\x2e\x37\x32\x30\x38\x33\x2c\x30\x20\x2d\
+\x31\x2e\x30\x31\x31\x39\x38\x2c\x2d\x31\x2e\x38\x34\x32\x30\x38\
+\x20\x2d\x30\x2e\x38\x31\x37\x33\x39\x2c\x2d\x35\x2e\x31\x37\x31\
+\x34\x20\x7a\x20\x4d\x20\x31\x33\x32\x2c\x31\x39\x36\x2e\x30\x35\
+\x39\x30\x32\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x31\x37\x35\x34\
+\x20\x30\x2e\x34\x34\x34\x38\x35\x2c\x2d\x31\x2e\x32\x31\x35\x39\
+\x32\x20\x30\x2e\x39\x38\x38\x35\x35\x2c\x2d\x31\x2e\x35\x35\x31\
+\x39\x34\x20\x30\x2e\x35\x36\x36\x38\x36\x2c\x2d\x30\x2e\x33\x35\
+\x30\x33\x34\x20\x30\x2e\x37\x33\x34\x35\x2c\x30\x2e\x30\x35\x31\
+\x31\x20\x30\x2e\x33\x39\x33\x30\x31\x2c\x30\x2e\x39\x34\x30\x39\
+\x38\x20\x43\x20\x31\x33\x32\x2e\x37\x31\x36\x37\x37\x2c\x31\x39\
+\x37\x2e\x31\x38\x30\x34\x38\x20\x31\x33\x32\x2c\x31\x39\x37\x2e\
+\x34\x39\x37\x34\x35\x20\x31\x33\x32\x2c\x31\x39\x36\x2e\x30\x35\
+\x39\x30\x32\x20\x7a\x20\x4d\x20\x31\x30\x36\x2c\x31\x39\x33\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x33\x36\x35\x31\
+\x35\x2c\x2d\x31\x20\x30\x2e\x38\x31\x31\x34\x34\x2c\x2d\x31\x20\
+\x30\x2e\x34\x34\x36\x32\x39\x2c\x30\x20\x31\x2e\x37\x30\x31\x33\
+\x36\x2c\x2d\x30\x2e\x37\x38\x37\x35\x20\x32\x2e\x37\x38\x39\x30\
+\x34\x2c\x2d\x31\x2e\x37\x35\x20\x31\x2e\x30\x38\x37\x36\x39\x2c\
+\x2d\x30\x2e\x39\x36\x32\x35\x20\x32\x2e\x36\x33\x35\x30\x34\x2c\
+\x2d\x31\x2e\x39\x30\x37\x35\x37\x20\x33\x2e\x34\x33\x38\x35\x37\
+\x2c\x2d\x32\x2e\x31\x30\x30\x31\x37\x20\x33\x2e\x34\x30\x39\x38\
+\x35\x2c\x2d\x30\x2e\x38\x31\x37\x32\x38\x20\x36\x2e\x30\x34\x35\
+\x33\x39\x2c\x2d\x30\x2e\x38\x32\x32\x32\x33\x20\x36\x2e\x35\x34\
+\x35\x39\x36\x2c\x2d\x30\x2e\x30\x31\x32\x33\x20\x30\x2e\x32\x39\
+\x35\x2c\x30\x2e\x34\x37\x37\x33\x32\x20\x31\x2e\x33\x38\x35\x30\
+\x33\x2c\x30\x2e\x34\x31\x33\x36\x37\x20\x32\x2e\x34\x32\x32\x32\
+\x39\x2c\x2d\x30\x2e\x31\x34\x31\x34\x36\x20\x31\x2e\x34\x35\x36\
+\x36\x38\x2c\x2d\x30\x2e\x37\x37\x39\x35\x39\x20\x32\x2e\x31\x31\
+\x38\x37\x36\x2c\x2d\x30\x2e\x36\x30\x39\x35\x20\x32\x2e\x39\x30\
+\x38\x39\x2c\x30\x2e\x37\x34\x37\x33\x20\x30\x2e\x35\x36\x32\x36\
+\x34\x2c\x30\x2e\x39\x36\x36\x31\x34\x20\x31\x2e\x30\x33\x36\x36\
+\x37\x2c\x31\x2e\x32\x30\x38\x32\x33\x20\x31\x2e\x30\x35\x33\x33\
+\x39\x2c\x30\x2e\x35\x33\x37\x39\x39\x20\x30\x2e\x30\x33\x34\x34\
+\x2c\x2d\x31\x2e\x33\x37\x39\x33\x34\x20\x33\x2e\x30\x39\x39\x39\
+\x37\x2c\x2d\x30\x2e\x35\x35\x35\x38\x38\x20\x34\x2e\x32\x36\x35\
+\x31\x2c\x31\x2e\x31\x34\x35\x36\x38\x20\x30\x2e\x34\x39\x33\x38\
+\x34\x2c\x30\x2e\x37\x32\x31\x32\x31\x20\x30\x2e\x37\x33\x39\x37\
+\x2c\x30\x2e\x36\x36\x33\x31\x36\x20\x30\x2e\x37\x35\x2c\x2d\x30\
+\x2e\x31\x37\x37\x30\x36\x20\x30\x2e\x30\x32\x31\x36\x2c\x2d\x31\
+\x2e\x37\x36\x34\x39\x34\x20\x31\x2e\x36\x38\x34\x31\x31\x2c\x2d\
+\x31\x2e\x35\x35\x35\x34\x36\x20\x32\x2e\x33\x39\x36\x38\x39\x2c\
+\x30\x2e\x33\x30\x32\x30\x31\x20\x30\x2e\x35\x30\x32\x36\x2c\x31\
+\x2e\x33\x30\x39\x37\x33\x20\x2d\x30\x2e\x33\x33\x39\x32\x35\x2c\
+\x31\x2e\x35\x31\x38\x32\x37\x20\x2d\x35\x2e\x33\x39\x33\x30\x31\
+\x2c\x31\x2e\x33\x33\x35\x39\x20\x43\x20\x31\x32\x34\x2e\x36\x39\
+\x34\x38\x36\x2c\x31\x39\x31\x2e\x37\x36\x39\x30\x35\x20\x31\x32\
+\x32\x2c\x31\x39\x31\x2e\x33\x34\x38\x31\x20\x31\x32\x32\x2c\x31\
+\x39\x30\x2e\x39\x35\x32\x34\x38\x20\x63\x20\x30\x2c\x2d\x30\x2e\
+\x33\x39\x35\x36\x33\x20\x2d\x31\x2e\x31\x36\x39\x38\x37\x2c\x2d\
+\x30\x2e\x39\x34\x32\x39\x36\x20\x2d\x32\x2e\x35\x39\x39\x37\x31\
+\x2c\x2d\x31\x2e\x32\x31\x36\x32\x39\x20\x43\x20\x31\x31\x36\x2e\
+\x36\x34\x33\x38\x36\x2c\x31\x38\x39\x2e\x32\x30\x39\x32\x36\x20\
+\x31\x30\x39\x2c\x31\x39\x31\x2e\x37\x31\x39\x35\x34\x20\x31\x30\
+\x39\x2c\x31\x39\x33\x2e\x31\x35\x31\x36\x39\x20\x31\x30\x39\x2c\
+\x31\x39\x33\x2e\x36\x31\x38\x32\x36\x20\x31\x30\x38\x2e\x33\x32\
+\x35\x2c\x31\x39\x34\x20\x31\x30\x37\x2e\x35\x2c\x31\x39\x34\x20\
+\x63\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x20\x2d\x31\x2e\x35\x2c\
+\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x35\x2c\x2d\x31\x20\x7a\x20\
+\x6d\x20\x33\x30\x2e\x37\x30\x34\x37\x37\x2c\x2d\x36\x2e\x32\x35\
+\x20\x63\x20\x30\x2e\x36\x34\x30\x32\x2c\x2d\x38\x2e\x31\x37\x34\
+\x31\x36\x20\x32\x2e\x32\x36\x32\x34\x31\x2c\x2d\x31\x34\x2e\x33\
+\x33\x37\x36\x35\x20\x34\x2e\x33\x36\x38\x36\x34\x2c\x2d\x31\x36\
+\x2e\x35\x39\x38\x34\x32\x20\x31\x2e\x30\x35\x39\x36\x32\x2c\x2d\
+\x31\x2e\x31\x33\x37\x33\x37\x20\x31\x2e\x39\x32\x36\x35\x39\x2c\
+\x2d\x32\x2e\x33\x35\x39\x33\x31\x20\x31\x2e\x39\x32\x36\x35\x39\
+\x2c\x2d\x32\x2e\x37\x31\x35\x34\x31\x20\x30\x2c\x2d\x30\x2e\x33\
+\x35\x36\x31\x20\x31\x2e\x30\x31\x32\x35\x2c\x2d\x31\x2e\x38\x34\
+\x39\x30\x35\x20\x32\x2e\x32\x35\x2c\x2d\x33\x2e\x33\x31\x37\x36\
+\x35\x20\x31\x2e\x39\x34\x34\x34\x36\x2c\x2d\x32\x2e\x33\x30\x37\
+\x36\x20\x32\x2e\x36\x32\x33\x34\x34\x2c\x2d\x32\x2e\x35\x33\x38\
+\x36\x33\x20\x35\x2c\x2d\x31\x2e\x37\x30\x31\x33\x32\x20\x33\x2e\
+\x32\x33\x39\x35\x38\x2c\x31\x2e\x31\x34\x31\x33\x37\x20\x33\x2e\
+\x37\x32\x39\x30\x33\x2c\x32\x2e\x36\x35\x31\x35\x38\x20\x30\x2e\
+\x35\x39\x33\x36\x33\x2c\x31\x2e\x38\x33\x31\x36\x36\x20\x2d\x31\
+\x2e\x36\x31\x37\x35\x2c\x2d\x30\x2e\x34\x32\x32\x39\x39\x20\x2d\
+\x31\x2e\x39\x35\x31\x33\x35\x2c\x2d\x30\x2e\x32\x33\x32\x31\x38\
+\x20\x2d\x31\x2e\x33\x33\x35\x39\x36\x2c\x30\x2e\x37\x36\x33\x35\
+\x36\x20\x30\x2e\x36\x30\x36\x37\x38\x2c\x30\x2e\x39\x38\x31\x37\
+\x38\x20\x30\x2e\x33\x35\x38\x31\x2c\x31\x2e\x31\x35\x30\x30\x35\
+\x20\x2d\x30\x2e\x39\x35\x34\x39\x37\x2c\x30\x2e\x36\x34\x36\x31\
+\x38\x20\x2d\x31\x2e\x32\x37\x33\x35\x37\x2c\x2d\x30\x2e\x34\x38\
+\x38\x37\x32\x20\x2d\x31\x2e\x36\x32\x33\x37\x34\x2c\x2d\x30\x2e\
+\x32\x38\x36\x31\x32\x20\x2d\x31\x2e\x32\x33\x38\x38\x39\x2c\x30\
+\x2e\x37\x31\x36\x37\x38\x20\x30\x2e\x32\x39\x35\x30\x36\x2c\x30\
+\x2e\x37\x36\x38\x39\x34\x20\x2d\x30\x2e\x38\x39\x32\x33\x33\x2c\
+\x32\x2e\x38\x38\x30\x37\x36\x20\x2d\x32\x2e\x36\x33\x38\x36\x36\
+\x2c\x34\x2e\x36\x39\x32\x39\x35\x20\x2d\x31\x2e\x37\x34\x36\x33\
+\x33\x2c\x31\x2e\x38\x31\x32\x31\x38\x20\x2d\x32\x2e\x36\x31\x32\
+\x36\x35\x2c\x32\x2e\x39\x36\x31\x36\x20\x2d\x31\x2e\x39\x32\x35\
+\x31\x35\x2c\x32\x2e\x35\x35\x34\x32\x36\x20\x32\x2e\x31\x38\x31\
+\x37\x34\x2c\x2d\x31\x2e\x32\x39\x32\x36\x38\x20\x31\x2e\x33\x34\
+\x35\x34\x39\x2c\x31\x2e\x31\x39\x37\x31\x32\x20\x2d\x30\x2e\x39\
+\x33\x39\x36\x37\x2c\x32\x2e\x37\x39\x37\x37\x31\x20\x2d\x31\x2e\
+\x32\x30\x34\x33\x31\x2c\x30\x2e\x38\x34\x33\x35\x33\x20\x2d\x31\
+\x2e\x39\x32\x37\x32\x2c\x31\x2e\x37\x39\x36\x31\x36\x20\x2d\x31\
+\x2e\x36\x30\x36\x34\x31\x2c\x32\x2e\x31\x31\x36\x39\x36\x20\x30\
+\x2e\x33\x32\x30\x38\x2c\x30\x2e\x33\x32\x30\x37\x39\x20\x30\x2e\
+\x30\x32\x36\x2c\x32\x2e\x36\x39\x35\x36\x20\x2d\x30\x2e\x36\x35\
+\x35\x30\x32\x2c\x35\x2e\x32\x37\x37\x33\x36\x20\x2d\x30\x2e\x36\
+\x38\x31\x30\x35\x2c\x32\x2e\x35\x38\x31\x37\x36\x20\x2d\x31\x2e\
+\x31\x32\x32\x39\x39\x2c\x35\x2e\x34\x37\x39\x36\x34\x20\x2d\x30\
+\x2e\x39\x38\x32\x30\x37\x2c\x36\x2e\x34\x33\x39\x37\x34\x20\x30\
+\x2e\x31\x34\x30\x39\x31\x2c\x30\x2e\x39\x36\x30\x31\x20\x2d\x30\
+\x2e\x33\x31\x32\x39\x32\x2c\x31\x2e\x37\x34\x35\x36\x34\x20\x2d\
+\x31\x2e\x30\x30\x38\x35\x32\x2c\x31\x2e\x37\x34\x35\x36\x34\x20\
+\x2d\x30\x2e\x39\x31\x31\x32\x35\x2c\x30\x20\x2d\x31\x2e\x31\x34\
+\x39\x38\x2c\x2d\x31\x2e\x34\x36\x37\x33\x33\x20\x2d\x30\x2e\x38\
+\x35\x33\x35\x34\x2c\x2d\x35\x2e\x32\x35\x20\x7a\x20\x4d\x20\x39\
+\x39\x2e\x35\x39\x37\x31\x39\x36\x2c\x31\x38\x34\x2e\x32\x36\x33\
+\x38\x36\x20\x43\x20\x39\x38\x2e\x32\x33\x35\x33\x33\x38\x2c\x31\
+\x38\x32\x2e\x39\x30\x32\x20\x39\x39\x2e\x31\x38\x30\x31\x39\x37\
+\x2c\x31\x38\x32\x20\x31\x30\x31\x2e\x39\x36\x38\x36\x32\x2c\x31\
+\x38\x32\x20\x63\x20\x32\x2e\x30\x31\x32\x31\x34\x2c\x30\x20\x32\
+\x2e\x38\x30\x39\x32\x32\x2c\x30\x2e\x34\x31\x35\x33\x36\x20\x32\
+\x2e\x34\x37\x33\x39\x31\x2c\x31\x2e\x32\x38\x39\x31\x36\x20\x2d\
+\x30\x2e\x35\x31\x36\x34\x34\x2c\x31\x2e\x33\x34\x35\x38\x32\x20\
+\x2d\x33\x2e\x38\x31\x31\x33\x39\x2c\x32\x2e\x30\x30\x38\x36\x34\
+\x20\x2d\x34\x2e\x38\x34\x35\x33\x33\x34\x2c\x30\x2e\x39\x37\x34\
+\x37\x20\x7a\x20\x6d\x20\x32\x30\x2e\x30\x34\x30\x31\x34\x34\x2c\
+\x2d\x32\x2e\x30\x34\x31\x36\x34\x20\x63\x20\x2d\x30\x2e\x38\x38\
+\x33\x30\x36\x2c\x2d\x31\x2e\x34\x32\x38\x38\x32\x20\x37\x2e\x35\
+\x30\x34\x35\x36\x2c\x2d\x32\x2e\x34\x38\x39\x39\x38\x20\x31\x30\
+\x2e\x34\x33\x32\x38\x32\x2c\x2d\x31\x2e\x33\x31\x39\x39\x31\x20\
+\x6c\x20\x32\x2e\x34\x32\x39\x38\x34\x2c\x30\x2e\x39\x37\x30\x39\
+\x32\x20\x2d\x32\x2e\x35\x2c\x30\x2e\x30\x37\x34\x34\x20\x63\x20\
+\x2d\x31\x2e\x33\x37\x35\x2c\x30\x2e\x30\x34\x30\x39\x20\x2d\x34\
+\x2e\x31\x33\x30\x32\x39\x2c\x30\x2e\x33\x34\x34\x30\x33\x20\x2d\
+\x36\x2e\x31\x32\x32\x38\x37\x2c\x30\x2e\x36\x37\x33\x36\x20\x2d\
+\x32\x2e\x30\x31\x39\x37\x31\x2c\x30\x2e\x33\x33\x34\x30\x35\x20\
+\x2d\x33\x2e\x38\x39\x35\x38\x36\x2c\x30\x2e\x31\x35\x37\x34\x39\
+\x20\x2d\x34\x2e\x32\x33\x39\x37\x39\x2c\x2d\x30\x2e\x33\x39\x39\
+\x20\x7a\x20\x6d\x20\x32\x38\x2e\x39\x39\x35\x31\x2c\x2d\x33\x2e\
+\x30\x30\x37\x39\x33\x20\x63\x20\x2d\x30\x2e\x32\x36\x37\x30\x38\
+\x2c\x2d\x30\x2e\x34\x33\x32\x31\x35\x20\x30\x2e\x33\x38\x31\x33\
+\x36\x2c\x2d\x30\x2e\x37\x38\x35\x37\x32\x20\x31\x2e\x34\x34\x30\
+\x39\x38\x2c\x2d\x30\x2e\x37\x38\x35\x37\x32\x20\x31\x2e\x30\x35\
+\x39\x36\x32\x2c\x30\x20\x31\x2e\x39\x32\x36\x35\x38\x2c\x30\x2e\
+\x33\x35\x33\x35\x37\x20\x31\x2e\x39\x32\x36\x35\x38\x2c\x30\x2e\
+\x37\x38\x35\x37\x32\x20\x30\x2c\x30\x2e\x34\x33\x32\x31\x34\x20\
+\x2d\x30\x2e\x36\x34\x38\x34\x34\x2c\x30\x2e\x37\x38\x35\x37\x31\
+\x20\x2d\x31\x2e\x34\x34\x30\x39\x38\x2c\x30\x2e\x37\x38\x35\x37\
+\x31\x20\x2d\x30\x2e\x37\x39\x32\x35\x34\x2c\x30\x20\x2d\x31\x2e\
+\x36\x35\x39\x35\x31\x2c\x2d\x30\x2e\x33\x35\x33\x35\x37\x20\x2d\
+\x31\x2e\x39\x32\x36\x35\x38\x2c\x2d\x30\x2e\x37\x38\x35\x37\x31\
+\x20\x7a\x20\x6d\x20\x2d\x34\x30\x2e\x38\x30\x31\x31\x33\x2c\x2d\
+\x30\x2e\x37\x31\x36\x33\x31\x20\x63\x20\x2d\x31\x2e\x35\x39\x31\
+\x31\x32\x2c\x2d\x31\x2e\x35\x39\x31\x31\x32\x20\x30\x2e\x35\x39\
+\x30\x36\x38\x2c\x2d\x34\x2e\x33\x36\x30\x37\x35\x20\x34\x2e\x30\
+\x31\x30\x37\x33\x2c\x2d\x35\x2e\x30\x39\x31\x33\x34\x20\x35\x2e\
+\x39\x36\x33\x37\x2c\x2d\x31\x2e\x32\x37\x33\x39\x35\x20\x37\x2e\
+\x33\x33\x36\x36\x35\x2c\x2d\x31\x2e\x32\x37\x31\x32\x20\x31\x34\
+\x2e\x33\x36\x36\x38\x34\x2c\x30\x2e\x30\x32\x38\x38\x20\x33\x2e\
+\x36\x38\x39\x38\x38\x2c\x30\x2e\x36\x38\x32\x32\x39\x20\x36\x2e\
+\x34\x37\x35\x38\x32\x2c\x30\x2e\x38\x36\x33\x34\x35\x20\x36\x2e\
+\x31\x39\x30\x39\x38\x2c\x30\x2e\x34\x30\x32\x35\x37\x20\x2d\x30\
+\x2e\x32\x38\x34\x38\x34\x2c\x2d\x30\x2e\x34\x36\x30\x38\x38\x20\
+\x2d\x30\x2e\x30\x34\x31\x33\x2c\x2d\x30\x2e\x38\x33\x37\x39\x37\
+\x20\x30\x2e\x35\x34\x31\x31\x32\x2c\x2d\x30\x2e\x38\x33\x37\x39\
+\x37\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x31\x2e\x30\x35\
+\x39\x30\x32\x2c\x30\x2e\x36\x36\x36\x34\x33\x20\x31\x2e\x30\x35\
+\x39\x30\x32\x2c\x31\x2e\x34\x38\x30\x39\x35\x20\x30\x2c\x32\x2e\
+\x30\x39\x36\x32\x31\x20\x2d\x33\x2e\x38\x38\x37\x34\x33\x2c\x32\
+\x2e\x38\x31\x31\x38\x35\x20\x2d\x39\x2e\x36\x31\x37\x32\x2c\x31\
+\x2e\x37\x37\x30\x34\x33\x20\x2d\x37\x2e\x30\x34\x35\x38\x31\x2c\
+\x2d\x31\x2e\x32\x38\x30\x36\x31\x20\x2d\x31\x33\x2e\x32\x38\x32\
+\x35\x2c\x2d\x30\x2e\x37\x37\x30\x38\x20\x2d\x31\x34\x2e\x37\x32\
+\x36\x33\x36\x2c\x31\x2e\x32\x30\x33\x37\x39\x20\x2d\x30\x2e\x36\
+\x36\x36\x32\x34\x2c\x30\x2e\x39\x31\x31\x31\x33\x20\x2d\x31\x2e\
+\x34\x38\x37\x35\x34\x2c\x31\x2e\x33\x38\x30\x33\x39\x20\x2d\x31\
+\x2e\x38\x32\x35\x31\x33\x2c\x31\x2e\x30\x34\x32\x38\x31\x20\x7a\
+\x20\x4d\x20\x39\x39\x2c\x31\x36\x39\x2e\x31\x31\x36\x35\x38\x20\
+\x63\x20\x30\x2c\x2d\x31\x2e\x36\x31\x38\x30\x33\x20\x35\x2e\x34\
+\x32\x38\x32\x34\x2c\x2d\x32\x2e\x30\x34\x32\x34\x36\x20\x36\x2e\
+\x39\x36\x34\x32\x39\x2c\x2d\x30\x2e\x35\x34\x34\x35\x33\x20\x31\
+\x2e\x32\x37\x34\x36\x34\x2c\x31\x2e\x32\x34\x33\x30\x31\x20\x30\
+\x2e\x39\x31\x38\x34\x39\x2c\x31\x2e\x34\x32\x37\x39\x35\x20\x2d\
+\x32\x2e\x37\x35\x2c\x31\x2e\x34\x32\x37\x39\x35\x20\x43\x20\x31\
+\x30\x30\x2e\x38\x39\x36\x34\x33\x2c\x31\x37\x30\x20\x39\x39\x2c\
+\x31\x36\x39\x2e\x36\x30\x32\x34\x36\x20\x39\x39\x2c\x31\x36\x39\
+\x2e\x31\x31\x36\x35\x38\x20\x7a\x20\x6d\x20\x31\x30\x2e\x38\x31\
+\x32\x35\x2c\x30\x2e\x32\x30\x30\x33\x31\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\
+\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\
+\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x6d\x20\x38\x2e\x39\x34\x33\x37\x33\x2c\x2d\x30\
+\x2e\x39\x38\x31\x32\x35\x20\x63\x20\x30\x2e\x36\x39\x30\x39\x33\
+\x2c\x2d\x30\x2e\x32\x37\x38\x35\x35\x20\x30\x2e\x39\x35\x38\x39\
+\x2c\x2d\x30\x2e\x39\x38\x37\x35\x35\x20\x30\x2e\x35\x39\x35\x34\
+\x39\x2c\x2d\x31\x2e\x35\x37\x35\x35\x36\x20\x2d\x30\x2e\x33\x39\
+\x30\x35\x33\x2c\x2d\x30\x2e\x36\x33\x31\x39\x20\x2d\x30\x2e\x31\
+\x38\x38\x36\x31\x2c\x2d\x30\x2e\x37\x37\x37\x33\x31\x20\x30\x2e\
+\x34\x39\x33\x37\x37\x2c\x2d\x30\x2e\x33\x35\x35\x35\x37\x20\x31\
+\x2e\x37\x34\x34\x38\x39\x2c\x31\x2e\x30\x37\x38\x34\x20\x31\x2e\
+\x33\x38\x33\x34\x36\x2c\x32\x2e\x36\x30\x35\x38\x32\x20\x2d\x30\
+\x2e\x35\x39\x35\x34\x39\x2c\x32\x2e\x35\x31\x36\x35\x34\x20\x2d\
+\x31\x2e\x30\x35\x35\x37\x35\x2c\x2d\x30\x2e\x30\x34\x37\x36\x20\
+\x2d\x31\x2e\x32\x35\x31\x36\x33\x2c\x2d\x30\x2e\x32\x37\x39\x38\
+\x37\x20\x2d\x30\x2e\x34\x39\x33\x37\x37\x2c\x2d\x30\x2e\x35\x38\
+\x35\x34\x31\x20\x7a\x20\x4d\x20\x31\x32\x32\x2c\x31\x36\x37\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x35\x36\x32\x35\
+\x2c\x2d\x31\x2e\x30\x37\x30\x33\x20\x31\x2e\x32\x35\x2c\x2d\x31\
+\x2e\x31\x35\x36\x32\x32\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\
+\x2e\x30\x38\x35\x39\x20\x32\x2e\x33\x37\x35\x2c\x2d\x30\x2e\x33\
+\x32\x30\x31\x33\x20\x33\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x32\x30\
+\x34\x36\x20\x38\x2e\x32\x34\x39\x32\x39\x2c\x2d\x31\x2e\x32\x30\
+\x31\x38\x37\x20\x31\x30\x2e\x38\x35\x34\x36\x2c\x2d\x31\x2e\x31\
+\x30\x37\x39\x39\x20\x31\x30\x2e\x32\x38\x37\x31\x38\x2c\x30\x2e\
+\x33\x37\x30\x36\x39\x20\x2d\x30\x2e\x33\x37\x34\x31\x37\x2c\x30\
+\x2e\x39\x37\x35\x30\x37\x20\x2d\x31\x2e\x34\x34\x31\x38\x38\x2c\
+\x31\x2e\x33\x31\x38\x34\x31\x20\x2d\x33\x2e\x31\x30\x38\x39\x33\
+\x2c\x30\x2e\x39\x39\x39\x37\x33\x20\x2d\x31\x2e\x33\x39\x36\x34\
+\x38\x2c\x2d\x30\x2e\x32\x36\x36\x39\x35\x20\x2d\x33\x2e\x33\x37\
+\x31\x36\x2c\x30\x2e\x30\x33\x30\x32\x20\x2d\x34\x2e\x33\x38\x39\
+\x31\x36\x2c\x30\x2e\x36\x36\x30\x34\x35\x20\x2d\x31\x2e\x34\x35\
+\x39\x37\x38\x2c\x30\x2e\x39\x30\x34\x30\x37\x20\x2d\x32\x2e\x30\
+\x35\x31\x34\x32\x2c\x30\x2e\x38\x32\x39\x33\x35\x20\x2d\x32\x2e\
+\x38\x30\x34\x32\x39\x2c\x2d\x30\x2e\x33\x35\x34\x31\x39\x20\x2d\
+\x30\x2e\x36\x33\x34\x31\x33\x2c\x2d\x30\x2e\x39\x39\x36\x38\x37\
+\x20\x2d\x30\x2e\x39\x35\x39\x33\x31\x2c\x2d\x31\x2e\x30\x38\x30\
+\x37\x33\x20\x2d\x30\x2e\x39\x36\x39\x34\x39\x2c\x2d\x30\x2e\x32\
+\x35\x20\x43\x20\x31\x32\x36\x2e\x30\x30\x36\x38\x39\x2c\x31\x36\
+\x37\x2e\x34\x33\x37\x35\x20\x31\x32\x35\x2e\x31\x2c\x31\x36\x38\
+\x20\x31\x32\x34\x2c\x31\x36\x38\x20\x63\x20\x2d\x31\x2e\x31\x2c\
+\x30\x20\x2d\x32\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x32\x2c\x2d\x31\
+\x20\x7a\x20\x6d\x20\x2d\x31\x35\x2c\x2d\x34\x2e\x33\x37\x38\x36\
+\x38\x20\x63\x20\x30\x2c\x2d\x32\x2e\x34\x38\x36\x37\x33\x20\x39\
+\x2e\x38\x34\x39\x31\x2c\x2d\x35\x2e\x33\x31\x32\x37\x39\x20\x31\
+\x36\x2e\x37\x37\x32\x37\x39\x2c\x2d\x34\x2e\x38\x31\x32\x37\x31\
+\x20\x32\x2e\x37\x36\x32\x30\x31\x2c\x30\x2e\x31\x39\x39\x34\x39\
+\x20\x34\x2e\x30\x33\x35\x33\x39\x2c\x30\x2e\x36\x39\x32\x37\x34\
+\x20\x33\x2e\x36\x30\x31\x33\x38\x2c\x31\x2e\x33\x39\x34\x39\x39\
+\x20\x2d\x30\x2e\x34\x34\x37\x30\x38\x2c\x30\x2e\x37\x32\x33\x33\
+\x39\x20\x30\x2e\x32\x35\x30\x39\x2c\x30\x2e\x39\x31\x30\x30\x36\
+\x20\x32\x2e\x30\x38\x39\x2c\x30\x2e\x35\x35\x38\x36\x39\x20\x31\
+\x2e\x35\x31\x38\x32\x33\x2c\x2d\x30\x2e\x32\x39\x30\x32\x33\x20\
+\x33\x2e\x39\x34\x37\x36\x31\x2c\x30\x2e\x30\x39\x31\x37\x20\x35\
+\x2e\x33\x39\x38\x36\x32\x2c\x30\x2e\x38\x34\x38\x38\x35\x20\x32\
+\x2e\x34\x36\x34\x37\x32\x2c\x31\x2e\x32\x38\x36\x30\x32\x20\x32\
+\x2e\x31\x36\x35\x33\x33\x2c\x31\x2e\x33\x37\x36\x39\x34\x20\x2d\
+\x34\x2e\x35\x35\x32\x37\x37\x2c\x31\x2e\x33\x38\x32\x37\x20\x2d\
+\x33\x2e\x39\x35\x35\x30\x34\x2c\x30\x2e\x30\x30\x33\x20\x2d\x37\
+\x2e\x34\x35\x31\x34\x2c\x2d\x30\x2e\x34\x31\x35\x32\x31\x20\x2d\
+\x37\x2e\x37\x36\x39\x36\x39\x2c\x2d\x30\x2e\x39\x33\x30\x32\x31\
+\x20\x2d\x30\x2e\x33\x31\x38\x32\x39\x2c\x2d\x30\x2e\x35\x31\x35\
+\x20\x2d\x31\x2e\x33\x35\x37\x33\x35\x2c\x2d\x30\x2e\x39\x30\x34\
+\x39\x32\x20\x2d\x32\x2e\x33\x30\x39\x30\x32\x2c\x2d\x30\x2e\x38\
+\x36\x36\x34\x38\x20\x2d\x30\x2e\x39\x35\x31\x36\x37\x2c\x30\x2e\
+\x30\x33\x38\x34\x20\x2d\x32\x2e\x35\x31\x37\x38\x31\x2c\x2d\x30\
+\x2e\x32\x36\x33\x33\x34\x20\x2d\x33\x2e\x34\x38\x30\x33\x31\x2c\
+\x2d\x30\x2e\x36\x37\x30\x36\x32\x20\x2d\x31\x2e\x30\x34\x30\x39\
+\x37\x2c\x2d\x30\x2e\x34\x34\x30\x34\x39\x20\x2d\x31\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x33\x30\x34\x37\x32\x20\x2d\x31\x2e\x37\x35\x2c\
+\x30\x2e\x33\x33\x35\x31\x20\x30\x2c\x30\x2e\x35\x39\x31\x35\x38\
+\x20\x2d\x30\x2e\x37\x30\x33\x37\x2c\x30\x2e\x38\x30\x35\x35\x37\
+\x20\x2d\x31\x2e\x35\x36\x33\x37\x37\x2c\x30\x2e\x34\x37\x35\x35\
+\x33\x20\x2d\x30\x2e\x39\x35\x33\x39\x39\x2c\x2d\x30\x2e\x33\x36\
+\x36\x30\x39\x20\x2d\x32\x2e\x31\x34\x35\x39\x33\x2c\x30\x2e\x32\
+\x33\x31\x30\x37\x20\x2d\x33\x2e\x30\x35\x36\x37\x31\x2c\x31\x2e\
+\x35\x33\x31\x33\x38\x20\x43\x20\x31\x30\x38\x2e\x36\x38\x31\x38\
+\x2c\x31\x36\x34\x2e\x32\x39\x32\x33\x39\x20\x31\x30\x37\x2c\x31\
+\x36\x34\x2e\x36\x36\x37\x20\x31\x30\x37\x2c\x31\x36\x32\x2e\x36\
+\x32\x31\x33\x32\x20\x7a\x20\x6d\x20\x33\x31\x2e\x38\x31\x32\x39\
+\x38\x2c\x2d\x30\x2e\x37\x31\x32\x20\x63\x20\x2d\x30\x2e\x39\x30\
+\x37\x35\x34\x2c\x2d\x32\x2e\x32\x39\x38\x39\x38\x20\x30\x2e\x34\
+\x31\x32\x2c\x2d\x34\x2e\x30\x31\x31\x30\x35\x20\x32\x2e\x32\x31\
+\x33\x34\x31\x2c\x2d\x32\x2e\x38\x37\x31\x38\x35\x20\x30\x2e\x38\
+\x37\x32\x36\x35\x2c\x30\x2e\x35\x35\x31\x38\x36\x20\x30\x2e\x39\
+\x39\x33\x37\x34\x2c\x30\x2e\x39\x33\x38\x31\x35\x20\x30\x2e\x32\
+\x39\x36\x39\x33\x2c\x30\x2e\x39\x34\x37\x32\x32\x20\x2d\x30\x2e\
+\x36\x34\x37\x31\x37\x2c\x30\x2e\x30\x30\x38\x20\x2d\x31\x2e\x33\
+\x33\x35\x34\x36\x2c\x30\x2e\x38\x30\x32\x38\x31\x20\x2d\x31\x2e\
+\x35\x32\x39\x35\x34\x2c\x31\x2e\x37\x36\x35\x33\x31\x20\x2d\x30\
+\x2e\x33\x30\x38\x39\x34\x2c\x31\x2e\x35\x33\x32\x31\x34\x20\x2d\
+\x30\x2e\x34\x33\x31\x30\x34\x2c\x31\x2e\x35\x35\x31\x39\x37\x20\
+\x2d\x30\x2e\x39\x38\x30\x38\x2c\x30\x2e\x31\x35\x39\x33\x32\x20\
+\x7a\x20\x6d\x20\x2d\x34\x30\x2e\x31\x34\x36\x33\x31\x33\x2c\x2d\
+\x36\x2e\x35\x37\x35\x39\x39\x20\x63\x20\x2d\x32\x2e\x32\x35\x34\
+\x31\x32\x2c\x2d\x32\x2e\x32\x35\x34\x31\x32\x20\x31\x2e\x38\x31\
+\x31\x32\x36\x33\x2c\x2d\x33\x2e\x39\x30\x35\x34\x33\x20\x34\x2e\
+\x37\x39\x37\x35\x37\x33\x2c\x2d\x31\x2e\x39\x34\x38\x37\x32\x20\
+\x31\x2e\x32\x30\x30\x33\x34\x2c\x30\x2e\x37\x38\x36\x34\x39\x20\
+\x33\x2e\x32\x37\x34\x34\x33\x2c\x31\x2e\x36\x33\x35\x34\x32\x20\
+\x34\x2e\x36\x30\x39\x31\x2c\x31\x2e\x38\x38\x36\x35\x31\x20\x31\
+\x2e\x33\x33\x34\x36\x36\x2c\x30\x2e\x32\x35\x31\x30\x38\x20\x2d\
+\x30\x2e\x30\x38\x35\x38\x2c\x30\x2e\x35\x31\x37\x38\x20\x2d\x33\
+\x2e\x31\x35\x36\x36\x37\x2c\x30\x2e\x35\x39\x32\x37\x20\x2d\x33\
+\x2e\x30\x37\x30\x38\x34\x2c\x30\x2e\x30\x37\x34\x39\x20\x2d\x35\
+\x2e\x38\x38\x33\x33\x33\x37\x2c\x2d\x30\x2e\x31\x36\x33\x38\x32\
+\x20\x2d\x36\x2e\x32\x35\x30\x30\x30\x33\x2c\x2d\x30\x2e\x35\x33\
+\x30\x34\x39\x20\x7a\x20\x6d\x20\x31\x39\x2e\x31\x34\x35\x38\x33\
+\x33\x2c\x2d\x31\x2e\x30\x31\x36\x34\x34\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\
+\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\
+\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x6d\x20\x33\x2e\x38\x36\x33\x36\x2c\x2d\x31\x2e\
+\x37\x31\x38\x35\x37\x20\x63\x20\x2d\x30\x2e\x38\x34\x32\x34\x33\
+\x2c\x2d\x32\x2e\x31\x39\x35\x33\x36\x20\x35\x2e\x37\x39\x32\x37\
+\x33\x2c\x2d\x33\x2e\x30\x38\x33\x37\x38\x20\x38\x2e\x35\x35\x39\
+\x32\x33\x2c\x2d\x31\x2e\x31\x34\x36\x30\x34\x20\x31\x2e\x35\x34\
+\x39\x30\x39\x2c\x31\x2e\x30\x38\x35\x30\x32\x20\x31\x2e\x37\x35\
+\x34\x35\x32\x2c\x31\x2e\x35\x34\x37\x37\x32\x20\x30\x2e\x36\x38\
+\x37\x31\x38\x2c\x31\x2e\x35\x34\x37\x37\x32\x20\x2d\x30\x2e\x38\
+\x33\x37\x33\x38\x2c\x30\x20\x2d\x32\x2e\x30\x36\x32\x35\x31\x2c\
+\x2d\x30\x2e\x35\x34\x20\x2d\x32\x2e\x37\x32\x32\x35\x31\x2c\x2d\
+\x31\x2e\x32\x20\x2d\x30\x2e\x39\x33\x33\x33\x33\x2c\x2d\x30\x2e\
+\x39\x33\x33\x33\x33\x20\x2d\x31\x2e\x32\x2c\x2d\x30\x2e\x38\x32\
+\x32\x32\x32\x20\x2d\x31\x2e\x32\x2c\x30\x2e\x35\x20\x30\x2c\x32\
+\x2e\x31\x30\x34\x33\x34\x20\x2d\x34\x2e\x35\x33\x33\x33\x38\x2c\
+\x32\x2e\x33\x35\x38\x33\x37\x20\x2d\x35\x2e\x33\x32\x33\x39\x2c\
+\x30\x2e\x32\x39\x38\x33\x32\x20\x7a\x20\x4d\x20\x31\x33\x34\x2e\
+\x35\x2c\x31\x35\x31\x2e\x38\x36\x34\x32\x38\x20\x63\x20\x32\x2e\
+\x35\x31\x37\x31\x33\x2c\x2d\x31\x2e\x36\x31\x39\x34\x34\x20\x34\
+\x2e\x35\x2c\x2d\x31\x2e\x39\x36\x31\x32\x39\x20\x34\x2e\x35\x2c\
+\x2d\x30\x2e\x37\x37\x35\x38\x20\x30\x2c\x30\x2e\x35\x30\x31\x33\
+\x34\x20\x2d\x30\x2e\x36\x33\x38\x32\x2c\x30\x2e\x39\x31\x31\x35\
+\x32\x20\x2d\x31\x2e\x34\x31\x38\x32\x31\x2c\x30\x2e\x39\x31\x31\
+\x35\x32\x20\x2d\x30\x2e\x37\x38\x30\x30\x32\x2c\x30\x20\x2d\x32\
+\x2e\x32\x34\x32\x35\x32\x2c\x30\x2e\x32\x35\x38\x39\x38\x20\x2d\
+\x33\x2e\x32\x35\x2c\x30\x2e\x35\x37\x35\x35\x31\x20\x2d\x31\x2e\
+\x35\x35\x31\x38\x38\x2c\x30\x2e\x34\x38\x37\x35\x36\x20\x2d\x31\
+\x2e\x35\x32\x36\x31\x37\x2c\x30\x2e\x33\x37\x38\x38\x38\x20\x30\
+\x2e\x31\x36\x38\x32\x31\x2c\x2d\x30\x2e\x37\x31\x31\x32\x33\x20\
+\x7a\x20\x6d\x20\x2d\x32\x38\x2e\x31\x34\x32\x37\x33\x2c\x2d\x34\
+\x2e\x33\x31\x39\x35\x39\x20\x63\x20\x32\x2e\x37\x38\x30\x39\x31\
+\x2c\x2d\x32\x2e\x35\x37\x37\x32\x35\x20\x35\x2e\x37\x34\x33\x37\
+\x35\x2c\x2d\x33\x2e\x33\x39\x37\x20\x31\x34\x2e\x33\x35\x35\x32\
+\x32\x2c\x2d\x33\x2e\x39\x37\x31\x37\x34\x20\x33\x2e\x34\x38\x36\
+\x36\x34\x2c\x2d\x30\x2e\x32\x33\x32\x37\x20\x35\x2e\x31\x34\x32\
+\x31\x33\x2c\x30\x2e\x30\x32\x35\x31\x20\x35\x2c\x30\x2e\x37\x37\
+\x38\x36\x34\x20\x2d\x30\x2e\x31\x32\x37\x35\x2c\x30\x2e\x36\x37\
+\x35\x39\x35\x20\x30\x2e\x39\x38\x37\x34\x31\x2c\x31\x2e\x30\x32\
+\x33\x38\x37\x20\x32\x2e\x37\x38\x37\x35\x31\x2c\x30\x2e\x38\x36\
+\x39\x38\x37\x20\x6c\x20\x33\x2c\x2d\x30\x2e\x32\x35\x36\x36\x36\
+\x20\x2d\x32\x2e\x38\x31\x36\x38\x35\x2c\x31\x2e\x35\x38\x34\x35\
+\x36\x20\x63\x20\x2d\x31\x2e\x38\x32\x31\x30\x36\x2c\x31\x2e\x30\
+\x32\x34\x34\x31\x20\x2d\x33\x2e\x32\x33\x35\x31\x31\x2c\x31\x2e\
+\x32\x35\x33\x36\x32\x20\x2d\x34\x2c\x30\x2e\x36\x34\x38\x34\x20\
+\x43\x20\x31\x32\x33\x2e\x32\x38\x37\x31\x37\x2c\x31\x34\x36\x2e\
+\x30\x39\x33\x31\x38\x20\x31\x31\x34\x2c\x31\x34\x34\x2e\x39\x35\
+\x33\x36\x35\x20\x31\x31\x34\x2c\x31\x34\x35\x2e\x38\x38\x36\x39\
+\x34\x20\x31\x31\x34\x2c\x31\x34\x36\x2e\x36\x33\x37\x33\x31\x20\
+\x31\x30\x36\x2e\x35\x31\x36\x39\x33\x2c\x31\x35\x30\x20\x31\x30\
+\x34\x2e\x38\x34\x37\x31\x32\x2c\x31\x35\x30\x20\x63\x20\x2d\x30\
+\x2e\x36\x32\x36\x35\x34\x2c\x30\x20\x30\x2e\x30\x35\x33\x2c\x2d\
+\x31\x2e\x31\x30\x34\x38\x39\x20\x31\x2e\x35\x31\x30\x31\x35\x2c\
+\x2d\x32\x2e\x34\x35\x35\x33\x31\x20\x7a\x20\x4d\x20\x31\x35\x32\
+\x2c\x31\x34\x39\x2e\x31\x36\x36\x36\x37\x20\x63\x20\x30\x2c\x2d\
+\x30\x2e\x36\x34\x31\x36\x37\x20\x2d\x31\x2e\x30\x31\x32\x35\x2c\
+\x2d\x31\x2e\x32\x31\x38\x38\x37\x20\x2d\x32\x2e\x32\x35\x2c\x2d\
+\x31\x2e\x32\x38\x32\x36\x37\x20\x2d\x31\x2e\x38\x35\x31\x39\x36\
+\x2c\x2d\x30\x2e\x30\x39\x35\x35\x20\x2d\x31\x2e\x39\x32\x31\x36\
+\x33\x2c\x2d\x30\x2e\x32\x30\x30\x35\x32\x20\x2d\x30\x2e\x33\x39\
+\x33\x37\x38\x2c\x2d\x30\x2e\x35\x39\x33\x37\x38\x20\x31\x2e\x39\
+\x39\x34\x37\x2c\x2d\x30\x2e\x35\x31\x33\x34\x32\x20\x34\x2e\x34\
+\x35\x35\x31\x39\x2c\x31\x2e\x32\x33\x31\x37\x20\x33\x2e\x33\x32\
+\x37\x31\x31\x2c\x32\x2e\x33\x35\x39\x37\x38\x20\x43\x20\x31\x35\
+\x32\x2e\x33\x30\x37\x35\x2c\x31\x35\x30\x2e\x30\x32\x35\x38\x33\
+\x20\x31\x35\x32\x2c\x31\x34\x39\x2e\x38\x30\x38\x33\x33\x20\x31\
+\x35\x32\x2c\x31\x34\x39\x2e\x31\x36\x36\x36\x37\x20\x7a\x20\x6d\
+\x20\x2d\x31\x32\x2e\x31\x38\x37\x35\x2c\x2d\x30\x2e\x38\x34\x39\
+\x37\x38\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\
+\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x2d\x32\
+\x2e\x35\x36\x32\x35\x2c\x2d\x32\x2e\x30\x30\x36\x32\x32\x20\x63\
+\x20\x30\x2e\x39\x36\x32\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\
+\x20\x32\x2e\x35\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\
+\x20\x33\x2e\x35\x2c\x30\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\
+\x32\x35\x31\x35\x33\x20\x30\x2e\x31\x37\x35\x2c\x30\x2e\x34\x35\
+\x37\x33\x33\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\
+\x33\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\x20\x2d\x32\x2e\x37\x31\
+\x32\x35\x2c\x2d\x30\x2e\x32\x30\x35\x38\x20\x2d\x31\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x34\x35\x37\x33\x33\x20\x7a\x20\x6d\x20\x2d\x34\
+\x30\x2e\x31\x36\x32\x32\x32\x39\x2c\x2d\x34\x2e\x35\x39\x32\x39\
+\x20\x63\x20\x30\x2e\x38\x37\x33\x32\x37\x34\x2c\x2d\x30\x2e\x36\
+\x36\x39\x37\x37\x20\x31\x2e\x34\x31\x36\x32\x35\x34\x2c\x2d\x31\
+\x2e\x37\x32\x36\x33\x33\x20\x31\x2e\x32\x30\x36\x36\x32\x32\x2c\
+\x2d\x32\x2e\x33\x34\x37\x39\x20\x2d\x30\x2e\x34\x37\x36\x31\x31\
+\x38\x2c\x2d\x31\x2e\x34\x31\x31\x37\x33\x20\x35\x2e\x35\x36\x38\
+\x30\x37\x37\x2c\x2d\x32\x2e\x34\x30\x31\x34\x31\x20\x36\x2e\x34\
+\x30\x34\x31\x34\x37\x2c\x2d\x31\x2e\x30\x34\x38\x36\x33\x20\x30\
+\x2e\x33\x36\x37\x36\x31\x2c\x30\x2e\x35\x39\x34\x38\x32\x20\x30\
+\x2e\x30\x38\x38\x35\x2c\x30\x2e\x36\x36\x35\x31\x39\x20\x2d\x30\
+\x2e\x37\x30\x31\x35\x36\x2c\x30\x2e\x31\x37\x36\x39\x20\x2d\x30\
+\x2e\x39\x38\x32\x31\x2c\x2d\x30\x2e\x36\x30\x36\x39\x37\x20\x2d\
+\x31\x2e\x31\x36\x36\x34\x37\x2c\x2d\x30\x2e\x32\x35\x34\x32\x37\
+\x20\x2d\x30\x2e\x37\x33\x33\x31\x39\x2c\x31\x2e\x34\x30\x32\x35\
+\x39\x20\x30\x2e\x33\x37\x38\x37\x38\x2c\x31\x2e\x34\x34\x38\x34\
+\x36\x20\x30\x2e\x31\x37\x34\x30\x31\x2c\x32\x2e\x30\x37\x34\x31\
+\x33\x20\x2d\x30\x2e\x35\x39\x32\x34\x38\x2c\x31\x2e\x38\x31\x30\
+\x32\x39\x20\x2d\x30\x2e\x36\x34\x34\x32\x32\x2c\x2d\x30\x2e\x32\
+\x32\x31\x37\x35\x20\x2d\x32\x2e\x35\x32\x31\x33\x31\x2c\x2d\x30\
+\x2e\x30\x33\x36\x39\x20\x2d\x34\x2e\x31\x37\x31\x33\x31\x2c\x30\
+\x2e\x34\x31\x30\x36\x37\x20\x2d\x32\x2e\x34\x36\x31\x36\x31\x32\
+\x2c\x30\x2e\x36\x36\x37\x38\x20\x2d\x32\x2e\x37\x31\x35\x30\x35\
+\x34\x2c\x30\x2e\x35\x39\x35\x33\x31\x20\x2d\x31\x2e\x34\x31\x32\
+\x32\x32\x39\x2c\x2d\x30\x2e\x34\x30\x33\x39\x32\x20\x7a\x20\x6d\
+\x20\x31\x36\x2e\x37\x32\x34\x37\x32\x39\x2c\x2d\x31\x2e\x34\x30\
+\x30\x38\x38\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\
+\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\
+\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\
+\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\
+\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\
+\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\
+\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\
+\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\
+\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\
+\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x37\
+\x2e\x38\x36\x33\x32\x32\x2c\x2d\x32\x2e\x31\x38\x34\x38\x36\x20\
+\x63\x20\x30\x2e\x36\x32\x31\x38\x32\x2c\x2d\x32\x2e\x33\x37\x37\
+\x38\x32\x20\x32\x2e\x38\x30\x34\x39\x34\x2c\x2d\x33\x2e\x33\x30\
+\x39\x37\x39\x20\x36\x2e\x32\x31\x34\x38\x36\x2c\x2d\x32\x2e\x36\
+\x35\x33\x31\x20\x33\x2e\x30\x37\x35\x2c\x30\x2e\x35\x39\x32\x31\
+\x39\x20\x33\x2e\x39\x39\x33\x32\x39\x2c\x31\x2e\x35\x31\x36\x36\
+\x37\x20\x31\x2e\x35\x32\x36\x30\x39\x2c\x31\x2e\x35\x33\x36\x33\
+\x38\x20\x2d\x31\x2e\x36\x30\x33\x35\x38\x2c\x30\x2e\x30\x31\x32\
+\x38\x20\x2d\x31\x2e\x36\x37\x31\x36\x34\x2c\x30\x2e\x31\x37\x33\
+\x36\x37\x20\x2d\x30\x2e\x34\x31\x36\x36\x37\x2c\x30\x2e\x39\x38\
+\x34\x36\x39\x20\x31\x2e\x31\x38\x39\x39\x33\x2c\x30\x2e\x37\x36\
+\x38\x39\x39\x20\x30\x2e\x39\x38\x33\x32\x32\x2c\x30\x2e\x39\x37\
+\x35\x33\x36\x20\x2d\x31\x2c\x30\x2e\x39\x39\x38\x33\x34\x20\x2d\
+\x31\x2e\x33\x37\x35\x2c\x30\x2e\x30\x31\x35\x39\x20\x2d\x33\x2e\
+\x34\x38\x32\x30\x31\x2c\x30\x2e\x32\x39\x32\x33\x34\x20\x2d\x34\
+\x2e\x36\x38\x32\x32\x35\x2c\x30\x2e\x36\x31\x34\x32\x33\x20\x2d\
+\x31\x2e\x38\x32\x35\x39\x35\x2c\x30\x2e\x34\x38\x39\x37\x20\x2d\
+\x32\x2e\x30\x39\x34\x30\x34\x2c\x30\x2e\x32\x34\x37\x39\x38\x20\
+\x2d\x31\x2e\x36\x34\x32\x30\x33\x2c\x2d\x31\x2e\x34\x38\x30\x35\
+\x34\x20\x7a\x20\x4d\x20\x31\x33\x36\x2e\x37\x35\x2c\x31\x33\x37\
+\x2e\x33\x33\x37\x37\x32\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x32\x35\x2c\x2d\x31\
+\x2e\x30\x39\x33\x37\x34\x20\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x38\
+\x31\x34\x30\x36\x20\x30\x2c\x2d\x31\x2e\x33\x37\x38\x33\x32\x20\
+\x32\x2e\x39\x31\x33\x32\x34\x2c\x2d\x32\x2e\x39\x34\x33\x37\x35\
+\x20\x33\x2e\x38\x30\x39\x37\x39\x2c\x2d\x32\x2e\x30\x34\x37\x32\
+\x20\x30\x2e\x32\x38\x37\x39\x35\x2c\x30\x2e\x32\x38\x37\x39\x35\
+\x20\x2d\x30\x2e\x30\x30\x31\x2c\x30\x2e\x35\x32\x33\x35\x34\x20\
+\x2d\x30\x2e\x36\x34\x33\x31\x32\x2c\x30\x2e\x35\x32\x33\x35\x34\
+\x20\x2d\x30\x2e\x36\x34\x31\x36\x37\x2c\x30\x20\x2d\x31\x2e\x31\
+\x31\x33\x33\x38\x2c\x30\x2e\x33\x33\x37\x35\x20\x2d\x31\x2e\x30\
+\x34\x38\x32\x35\x2c\x30\x2e\x37\x35\x20\x30\x2e\x33\x35\x39\x36\
+\x38\x2c\x32\x2e\x32\x37\x37\x39\x39\x20\x2d\x30\x2e\x33\x35\x39\
+\x39\x37\x2c\x33\x2e\x32\x34\x31\x35\x32\x20\x2d\x32\x2e\x33\x36\
+\x38\x34\x32\x2c\x33\x2e\x31\x37\x31\x30\x35\x20\x2d\x31\x2e\x32\
+\x33\x37\x35\x2c\x2d\x30\x2e\x30\x34\x33\x34\x20\x2d\x31\x2e\x36\
+\x38\x37\x35\x2c\x2d\x30\x2e\x33\x30\x35\x39\x32\x20\x2d\x31\x2c\
+\x2d\x30\x2e\x35\x38\x33\x33\x33\x20\x7a\x20\x6d\x20\x31\x35\x2e\
+\x36\x37\x38\x35\x37\x2c\x2d\x33\x2e\x32\x36\x34\x33\x20\x63\x20\
+\x30\x2c\x2d\x31\x2e\x30\x35\x39\x36\x32\x20\x30\x2e\x33\x35\x33\
+\x35\x37\x2c\x2d\x31\x2e\x37\x30\x38\x30\x36\x20\x30\x2e\x37\x38\
+\x35\x37\x32\x2c\x2d\x31\x2e\x34\x34\x30\x39\x38\x20\x30\x2e\x34\
+\x33\x32\x31\x34\x2c\x30\x2e\x32\x36\x37\x30\x37\x20\x30\x2e\x37\
+\x38\x35\x37\x31\x2c\x31\x2e\x31\x33\x34\x30\x34\x20\x30\x2e\x37\
+\x38\x35\x37\x31\x2c\x31\x2e\x39\x32\x36\x35\x38\x20\x30\x2c\x30\
+\x2e\x37\x39\x32\x35\x34\x20\x2d\x30\x2e\x33\x35\x33\x35\x37\x2c\
+\x31\x2e\x34\x34\x30\x39\x38\x20\x2d\x30\x2e\x37\x38\x35\x37\x31\
+\x2c\x31\x2e\x34\x34\x30\x39\x38\x20\x2d\x30\x2e\x34\x33\x32\x31\
+\x35\x2c\x30\x20\x2d\x30\x2e\x37\x38\x35\x37\x32\x2c\x2d\x30\x2e\
+\x38\x36\x36\x39\x36\x20\x2d\x30\x2e\x37\x38\x35\x37\x32\x2c\x2d\
+\x31\x2e\x39\x32\x36\x35\x38\x20\x7a\x20\x6d\x20\x2d\x34\x35\x2e\
+\x32\x31\x39\x32\x38\x2c\x2d\x31\x2e\x36\x33\x33\x34\x33\x20\x63\
+\x20\x30\x2e\x36\x32\x37\x31\x36\x2c\x2d\x31\x2e\x33\x37\x36\x34\
+\x35\x20\x32\x2e\x32\x33\x38\x30\x35\x2c\x2d\x32\x2e\x34\x36\x39\
+\x35\x33\x20\x34\x2e\x31\x35\x37\x33\x31\x2c\x2d\x32\x2e\x38\x32\
+\x30\x39\x35\x20\x34\x2e\x37\x38\x39\x36\x33\x2c\x2d\x30\x2e\x38\
+\x37\x36\x39\x38\x20\x31\x35\x2e\x36\x33\x35\x35\x2c\x2d\x31\x2e\
+\x32\x30\x31\x39\x31\x20\x31\x35\x2e\x36\x33\x34\x33\x39\x2c\x2d\
+\x30\x2e\x34\x36\x38\x33\x38\x20\x2d\x35\x2e\x34\x65\x2d\x34\x2c\
+\x30\x2e\x33\x35\x37\x38\x36\x20\x31\x2e\x36\x38\x36\x35\x31\x2c\
+\x31\x2e\x30\x39\x38\x38\x36\x20\x33\x2e\x37\x34\x39\x30\x31\x2c\
+\x31\x2e\x36\x34\x36\x36\x35\x20\x6c\x20\x33\x2e\x37\x35\x2c\x30\
+\x2e\x39\x39\x35\x39\x39\x20\x2d\x34\x2e\x30\x35\x2c\x30\x2e\x31\
+\x30\x33\x33\x35\x20\x63\x20\x2d\x32\x2e\x32\x32\x37\x35\x2c\x30\
+\x2e\x30\x35\x36\x38\x20\x2d\x34\x2e\x35\x33\x39\x32\x31\x2c\x2d\
+\x30\x2e\x33\x38\x35\x38\x36\x20\x2d\x35\x2e\x31\x33\x37\x31\x33\
+\x2c\x2d\x30\x2e\x39\x38\x33\x37\x38\x20\x2d\x30\x2e\x37\x38\x32\
+\x38\x35\x2c\x2d\x30\x2e\x37\x38\x32\x38\x35\x20\x2d\x31\x2e\x32\
+\x37\x35\x36\x36\x2c\x2d\x30\x2e\x37\x38\x32\x30\x39\x20\x2d\x31\
+\x2e\x37\x36\x30\x36\x39\x2c\x30\x2e\x30\x30\x33\x20\x2d\x30\x2e\
+\x34\x33\x31\x36\x2c\x30\x2e\x36\x39\x38\x33\x34\x20\x2d\x31\x2e\
+\x32\x38\x31\x35\x38\x2c\x30\x2e\x37\x36\x34\x34\x33\x20\x2d\x32\
+\x2e\x33\x36\x36\x31\x34\x2c\x30\x2e\x31\x38\x33\x39\x39\x20\x2d\
+\x30\x2e\x39\x33\x30\x39\x33\x2c\x2d\x30\x2e\x34\x39\x38\x32\x31\
+\x20\x2d\x33\x2e\x32\x36\x36\x31\x32\x2c\x2d\x30\x2e\x37\x35\x33\
+\x31\x35\x20\x2d\x35\x2e\x31\x38\x39\x33\x32\x2c\x2d\x30\x2e\x35\
+\x36\x36\x35\x34\x20\x2d\x31\x2e\x39\x32\x33\x31\x39\x2c\x30\x2e\
+\x31\x38\x36\x36\x32\x20\x2d\x33\x2e\x38\x33\x34\x32\x32\x2c\x30\
+\x2e\x33\x36\x38\x30\x33\x20\x2d\x34\x2e\x32\x34\x36\x37\x32\x2c\
+\x30\x2e\x34\x30\x33\x31\x34\x20\x2d\x30\x2e\x34\x31\x32\x35\x2c\
+\x30\x2e\x30\x33\x35\x31\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x36\
+\x38\x36\x33\x38\x20\x2d\x30\x2e\x37\x35\x2c\x31\x2e\x34\x34\x37\
+\x32\x36\x20\x30\x2c\x30\x2e\x37\x36\x30\x38\x39\x20\x2d\x31\x2e\
+\x30\x38\x33\x32\x39\x2c\x31\x2e\x35\x39\x30\x35\x31\x20\x2d\x32\
+\x2e\x34\x30\x37\x33\x2c\x31\x2e\x38\x34\x33\x36\x31\x20\x2d\x32\
+\x2e\x31\x37\x39\x34\x36\x2c\x30\x2e\x34\x31\x36\x36\x33\x20\x2d\
+\x32\x2e\x33\x31\x30\x34\x2c\x30\x2e\x32\x34\x37\x34\x39\x20\x2d\
+\x31\x2e\x33\x38\x33\x34\x31\x2c\x2d\x31\x2e\x37\x38\x37\x30\x34\
+\x20\x7a\x20\x6d\x20\x32\x33\x2e\x36\x30\x33\x32\x31\x2c\x31\x2e\
+\x38\x37\x36\x39\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\
+\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\
+\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\
+\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\
+\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\
+\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\
+\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\
+\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\
+\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\
+\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x4d\x20\
+\x31\x33\x37\x2c\x31\x33\x31\x2e\x31\x37\x33\x31\x39\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x34\x35\x34\x37\x34\x20\x31\x2e\x33\x35\x2c\
+\x2d\x30\x2e\x36\x32\x38\x36\x37\x20\x33\x2c\x2d\x30\x2e\x33\x38\
+\x36\x35\x20\x31\x2e\x36\x35\x2c\x30\x2e\x32\x34\x32\x31\x37\x20\
+\x33\x2c\x30\x2e\x36\x31\x34\x32\x33\x20\x33\x2c\x30\x2e\x38\x32\
+\x36\x38\x31\x20\x30\x2c\x30\x2e\x32\x31\x32\x35\x37\x20\x2d\x31\
+\x2e\x33\x35\x2c\x30\x2e\x33\x38\x36\x35\x20\x2d\x33\x2c\x30\x2e\
+\x33\x38\x36\x35\x20\x2d\x31\x2e\x36\x35\x2c\x30\x20\x2d\x33\x2c\
+\x2d\x30\x2e\x33\x37\x32\x30\x36\x20\x2d\x33\x2c\x2d\x30\x2e\x38\
+\x32\x36\x38\x31\x20\x7a\x20\x6d\x20\x2d\x33\x39\x2e\x36\x30\x36\
+\x32\x30\x31\x2c\x2d\x35\x2e\x31\x37\x32\x34\x32\x20\x63\x20\x30\
+\x2e\x30\x39\x38\x33\x33\x2c\x2d\x32\x2e\x37\x36\x36\x38\x33\x20\
+\x30\x2e\x33\x34\x39\x33\x34\x38\x2c\x2d\x32\x2e\x39\x36\x31\x35\
+\x36\x20\x33\x2e\x33\x38\x38\x35\x38\x31\x2c\x2d\x32\x2e\x36\x32\
+\x38\x37\x36\x20\x31\x2e\x38\x30\x35\x33\x31\x2c\x30\x2e\x31\x39\
+\x37\x36\x38\x20\x33\x2e\x36\x30\x35\x33\x31\x2c\x30\x2e\x37\x31\
+\x36\x35\x34\x20\x34\x2c\x31\x2e\x31\x35\x33\x30\x33\x20\x30\x2e\
+\x33\x39\x34\x36\x39\x2c\x30\x2e\x34\x33\x36\x34\x39\x20\x2d\x30\
+\x2e\x30\x36\x39\x39\x2c\x30\x2e\x35\x31\x31\x30\x34\x20\x2d\x31\
+\x2e\x30\x33\x32\x33\x38\x2c\x30\x2e\x31\x36\x35\x36\x37\x20\x2d\
+\x31\x2e\x31\x37\x37\x2c\x2d\x30\x2e\x34\x32\x32\x33\x33\x20\x2d\
+\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x31\x32\x37\x37\x35\x20\x2d\x31\
+\x2e\x37\x35\x2c\x30\x2e\x38\x39\x39\x36\x39\x20\x30\x2c\x30\x2e\
+\x38\x39\x37\x39\x33\x20\x2d\x30\x2e\x34\x37\x34\x37\x35\x2c\x31\
+\x2e\x32\x33\x34\x32\x33\x20\x2d\x31\x2e\x31\x35\x31\x37\x2c\x30\
+\x2e\x38\x31\x35\x38\x34\x20\x2d\x30\x2e\x36\x33\x33\x34\x34\x2c\
+\x2d\x30\x2e\x33\x39\x31\x34\x38\x20\x2d\x31\x2e\x36\x39\x33\x37\
+\x33\x32\x2c\x30\x2e\x30\x32\x39\x35\x20\x2d\x32\x2e\x33\x35\x36\
+\x32\x30\x35\x2c\x30\x2e\x39\x33\x35\x34\x36\x20\x2d\x31\x2e\x30\
+\x33\x34\x2c\x31\x2e\x34\x31\x34\x30\x38\x20\x2d\x31\x2e\x31\x38\
+\x39\x34\x36\x34\x2c\x31\x2e\x32\x32\x34\x32\x37\x20\x2d\x31\x2e\
+\x30\x39\x38\x32\x39\x36\x2c\x2d\x31\x2e\x33\x34\x30\x39\x33\x20\
+\x7a\x20\x4d\x20\x31\x30\x37\x2e\x37\x35\x2c\x31\x32\x36\x2e\x33\
+\x33\x37\x37\x32\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\
+\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\
+\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\
+\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\
+\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\
+\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\
+\x20\x7a\x20\x6d\x20\x31\x34\x2e\x38\x34\x31\x30\x35\x2c\x2d\x32\
+\x2e\x31\x39\x30\x34\x20\x63\x20\x2d\x30\x2e\x32\x38\x39\x38\x34\
+\x2c\x2d\x30\x2e\x34\x36\x38\x39\x37\x20\x30\x2e\x30\x34\x32\x35\
+\x2c\x2d\x31\x2e\x36\x33\x31\x34\x36\x20\x30\x2e\x37\x33\x38\x34\
+\x38\x2c\x2d\x32\x2e\x35\x38\x33\x33\x20\x30\x2e\x39\x39\x32\x31\
+\x34\x2c\x2d\x31\x2e\x33\x35\x36\x38\x34\x20\x32\x2e\x30\x36\x35\
+\x31\x34\x2c\x2d\x31\x2e\x35\x38\x30\x36\x31\x20\x34\x2e\x39\x36\
+\x37\x39\x37\x2c\x2d\x31\x2e\x30\x33\x36\x30\x33\x20\x34\x2e\x33\
+\x39\x36\x39\x32\x2c\x30\x2e\x38\x32\x34\x38\x37\x20\x34\x2e\x36\
+\x31\x37\x37\x35\x2c\x31\x2e\x35\x33\x39\x37\x31\x20\x30\x2e\x39\
+\x39\x35\x33\x33\x2c\x33\x2e\x32\x32\x32\x30\x31\x20\x2d\x33\x2e\
+\x31\x32\x31\x37\x35\x2c\x31\x2e\x34\x34\x39\x37\x39\x20\x2d\x35\
+\x2e\x39\x34\x37\x37\x37\x2c\x31\x2e\x36\x31\x37\x33\x33\x20\x2d\
+\x36\x2e\x37\x30\x31\x37\x38\x2c\x30\x2e\x33\x39\x37\x33\x32\x20\
+\x7a\x20\x4d\x20\x31\x33\x37\x2e\x35\x2c\x31\x32\x33\x20\x63\x20\
+\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x2d\
+\x30\x2e\x31\x34\x31\x34\x38\x2c\x2d\x31\x20\x30\x2e\x34\x34\x30\
+\x39\x38\x2c\x2d\x31\x20\x31\x2e\x34\x38\x33\x30\x32\x2c\x30\x20\
+\x31\x2e\x33\x32\x37\x30\x39\x2c\x2d\x32\x2e\x37\x32\x35\x31\x37\
+\x20\x2d\x30\x2e\x31\x39\x30\x39\x38\x2c\x2d\x33\x2e\x33\x33\x37\
+\x37\x32\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\
+\x37\x34\x31\x20\x2d\x30\x2e\x33\x35\x2c\x2d\x30\x2e\x35\x34\x36\
+\x38\x20\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x39\x38\x36\x35\x20\
+\x31\x2e\x36\x36\x34\x34\x2c\x2d\x30\x2e\x30\x37\x38\x34\x20\x31\
+\x2e\x37\x34\x38\x33\x2c\x2d\x30\x2e\x32\x35\x36\x39\x31\x20\x30\
+\x2e\x35\x2c\x2d\x31\x2e\x30\x36\x33\x36\x33\x20\x2d\x31\x2e\x30\
+\x39\x38\x35\x31\x2c\x2d\x30\x2e\x37\x30\x39\x39\x31\x20\x2d\x30\
+\x2e\x33\x36\x32\x34\x36\x2c\x2d\x30\x2e\x39\x37\x33\x34\x37\x20\
+\x32\x2e\x37\x35\x2c\x2d\x30\x2e\x39\x38\x34\x36\x39\x20\x32\x2e\
+\x33\x33\x37\x35\x2c\x2d\x30\x2e\x30\x30\x38\x20\x34\x2e\x32\x35\
+\x2c\x30\x2e\x33\x39\x32\x35\x36\x20\x34\x2e\x32\x35\x2c\x30\x2e\
+\x38\x39\x31\x30\x37\x20\x30\x2c\x30\x2e\x34\x39\x38\x35\x31\x20\
+\x2d\x30\x2e\x39\x30\x30\x39\x33\x2c\x30\x2e\x36\x37\x30\x37\x38\
+\x20\x2d\x32\x2e\x30\x30\x32\x30\x37\x2c\x30\x2e\x33\x38\x32\x38\
+\x33\x20\x2d\x31\x2e\x35\x37\x31\x36\x35\x2c\x2d\x30\x2e\x34\x31\
+\x31\x20\x2d\x32\x2e\x33\x32\x36\x39\x39\x2c\x30\x2e\x32\x35\x34\
+\x30\x38\x20\x2d\x33\x2e\x35\x31\x33\x34\x32\x2c\x33\x2e\x30\x39\
+\x33\x36\x32\x20\x2d\x31\x2e\x36\x30\x39\x2c\x33\x2e\x38\x35\x30\
+\x38\x39\x20\x2d\x32\x2e\x30\x30\x36\x35\x37\x2c\x34\x2e\x31\x39\
+\x39\x35\x32\x20\x2d\x32\x2e\x39\x38\x34\x35\x31\x2c\x32\x2e\x36\
+\x31\x37\x31\x37\x20\x7a\x20\x6d\x20\x2d\x33\x30\x2e\x39\x31\x34\
+\x36\x38\x2c\x2d\x35\x2e\x38\x37\x30\x35\x36\x20\x63\x20\x31\x2e\
+\x30\x37\x30\x31\x34\x2c\x2d\x32\x2e\x31\x34\x35\x31\x36\x20\x32\
+\x2e\x33\x37\x37\x34\x38\x2c\x2d\x33\x2e\x30\x32\x36\x38\x35\x20\
+\x35\x2e\x31\x37\x33\x33\x35\x2c\x2d\x33\x2e\x34\x38\x39\x20\x36\
+\x2e\x35\x34\x39\x31\x35\x2c\x2d\x31\x2e\x30\x38\x32\x35\x35\x20\
+\x31\x31\x2e\x32\x32\x36\x32\x2c\x2d\x30\x2e\x36\x39\x34\x34\x33\
+\x20\x31\x35\x2e\x32\x38\x39\x36\x34\x2c\x31\x2e\x32\x36\x38\x38\
+\x31\x20\x32\x2e\x31\x37\x33\x34\x33\x2c\x31\x2e\x30\x35\x30\x30\
+\x39\x20\x33\x2e\x39\x35\x31\x36\x39\x2c\x31\x2e\x34\x37\x33\x35\
+\x33\x20\x33\x2e\x39\x35\x31\x36\x39\x2c\x30\x2e\x39\x34\x30\x39\
+\x38\x20\x30\x2c\x2d\x30\x2e\x35\x33\x32\x35\x34\x20\x30\x2e\x34\
+\x35\x37\x33\x34\x2c\x2d\x30\x2e\x36\x38\x35\x36\x31\x20\x31\x2e\
+\x30\x31\x36\x33\x31\x2c\x2d\x30\x2e\x33\x34\x30\x31\x35\x20\x30\
+\x2e\x35\x35\x38\x39\x37\x2c\x30\x2e\x33\x34\x35\x34\x36\x20\x30\
+\x2e\x37\x33\x30\x38\x32\x2c\x31\x2e\x30\x39\x30\x30\x35\x20\x30\
+\x2e\x33\x38\x31\x38\x39\x2c\x31\x2e\x36\x35\x34\x36\x34\x20\x2d\
+\x30\x2e\x37\x32\x35\x31\x38\x2c\x31\x2e\x31\x37\x33\x33\x36\x20\
+\x2d\x34\x2e\x35\x38\x34\x36\x32\x2c\x30\x2e\x37\x32\x39\x34\x37\
+\x20\x2d\x31\x32\x2e\x31\x35\x34\x39\x39\x2c\x2d\x31\x2e\x33\x39\
+\x37\x39\x38\x20\x2d\x34\x2e\x32\x32\x35\x31\x38\x2c\x2d\x31\x2e\
+\x31\x38\x37\x33\x38\x20\x2d\x35\x2e\x35\x39\x30\x36\x37\x2c\x2d\
+\x31\x2e\x32\x33\x33\x31\x36\x20\x2d\x36\x2e\x39\x35\x38\x31\x31\
+\x2c\x2d\x30\x2e\x32\x33\x33\x32\x36\x20\x2d\x30\x2e\x39\x33\x35\
+\x37\x32\x2c\x30\x2e\x36\x38\x34\x32\x32\x20\x2d\x32\x2e\x32\x38\
+\x32\x36\x37\x2c\x31\x2e\x30\x32\x30\x39\x35\x20\x2d\x32\x2e\x39\
+\x39\x33\x32\x31\x2c\x30\x2e\x37\x34\x38\x32\x39\x20\x43\x20\x31\
+\x30\x39\x2e\x35\x38\x31\x33\x35\x2c\x31\x31\x36\x2e\x30\x30\x39\
+\x31\x31\x20\x31\x30\x39\x2c\x31\x31\x36\x2e\x34\x36\x31\x30\x32\
+\x20\x31\x30\x39\x2c\x31\x31\x37\x2e\x32\x38\x36\x30\x32\x20\x31\
+\x30\x39\x2c\x31\x31\x38\x2e\x35\x30\x37\x39\x32\x20\x31\x30\x37\
+\x2e\x30\x37\x32\x39\x36\x2c\x31\x32\x30\x20\x31\x30\x35\x2e\x34\
+\x39\x34\x38\x36\x2c\x31\x32\x30\x20\x63\x20\x2d\x30\x2e\x31\x38\
+\x37\x38\x37\x2c\x30\x20\x30\x2e\x33\x30\x32\x38\x34\x2c\x2d\x31\
+\x2e\x32\x39\x31\x37\x35\x20\x31\x2e\x30\x39\x30\x34\x36\x2c\x2d\
+\x32\x2e\x38\x37\x30\x35\x36\x20\x7a\x20\x6d\x20\x32\x34\x2e\x31\
+\x36\x34\x36\x38\x2c\x32\x2e\x32\x30\x38\x32\x38\x20\x63\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\
+\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\
+\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\
+\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\
+\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\
+\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\
+\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x32\x31\x2e\
+\x37\x30\x33\x32\x33\x2c\x2d\x30\x2e\x32\x36\x32\x30\x34\x20\x63\
+\x20\x30\x2e\x33\x31\x34\x31\x39\x2c\x2d\x30\x2e\x35\x30\x38\x33\
+\x37\x20\x2d\x30\x2e\x31\x31\x38\x30\x37\x2c\x2d\x31\x2e\x31\x33\
+\x37\x35\x37\x20\x2d\x30\x2e\x39\x36\x30\x35\x39\x2c\x2d\x31\x2e\
+\x33\x39\x38\x32\x31\x20\x2d\x31\x2e\x31\x38\x34\x39\x31\x2c\x2d\
+\x30\x2e\x33\x36\x36\x35\x36\x20\x2d\x31\x2e\x31\x34\x39\x38\x33\
+\x2c\x2d\x30\x2e\x34\x34\x30\x33\x33\x20\x30\x2e\x31\x35\x34\x38\
+\x39\x2c\x2d\x30\x2e\x33\x32\x35\x36\x38\x20\x31\x2e\x38\x38\x33\
+\x32\x2c\x30\x2e\x31\x36\x35\x34\x37\x20\x33\x2e\x31\x37\x33\x39\
+\x36\x2c\x32\x2e\x36\x34\x38\x32\x31\x20\x31\x2e\x33\x37\x36\x37\
+\x39\x2c\x32\x2e\x36\x34\x38\x32\x31\x20\x2d\x30\x2e\x36\x32\x38\
+\x33\x2c\x30\x20\x2d\x30\x2e\x38\x38\x35\x32\x39\x2c\x2d\x30\x2e\
+\x34\x31\x35\x39\x34\x20\x2d\x30\x2e\x35\x37\x31\x30\x39\x2c\x2d\
+\x30\x2e\x39\x32\x34\x33\x32\x20\x7a\x20\x6d\x20\x2d\x35\x33\x2e\
+\x36\x36\x39\x33\x36\x2c\x2d\x37\x2e\x39\x32\x30\x39\x34\x20\x63\
+\x20\x30\x2e\x37\x35\x39\x37\x30\x32\x2c\x2d\x30\x2e\x34\x38\x32\
+\x30\x35\x20\x31\x2e\x30\x30\x30\x33\x36\x36\x2c\x2d\x31\x2e\x35\
+\x35\x33\x34\x34\x20\x30\x2e\x35\x38\x39\x34\x36\x39\x2c\x2d\x32\
+\x2e\x36\x32\x34\x32\x32\x20\x2d\x30\x2e\x35\x38\x34\x34\x35\x34\
+\x2c\x2d\x31\x2e\x35\x32\x33\x30\x36\x20\x2d\x30\x2e\x34\x30\x33\
+\x37\x39\x36\x2c\x2d\x31\x2e\x36\x34\x36\x39\x34\x20\x31\x2e\x31\
+\x34\x31\x30\x30\x31\x2c\x2d\x30\x2e\x37\x38\x32\x34\x33\x20\x32\
+\x2e\x39\x36\x36\x33\x36\x2c\x31\x2e\x36\x36\x30\x30\x35\x20\x32\
+\x2e\x37\x35\x30\x33\x2c\x34\x2e\x32\x35\x34\x34\x35\x20\x2d\x30\
+\x2e\x33\x35\x32\x38\x32\x2c\x34\x2e\x32\x33\x36\x36\x20\x2d\x31\
+\x2e\x37\x35\x38\x33\x31\x36\x2c\x2d\x30\x2e\x30\x31\x30\x31\x20\
+\x2d\x32\x2e\x32\x32\x35\x38\x33\x2c\x2d\x30\x2e\x32\x39\x31\x37\
+\x37\x20\x2d\x31\x2e\x33\x37\x37\x36\x35\x2c\x2d\x30\x2e\x38\x32\
+\x39\x39\x35\x20\x7a\x20\x6d\x20\x36\x2e\x39\x36\x36\x31\x33\x2c\
+\x30\x2e\x31\x38\x32\x39\x38\x20\x63\x20\x30\x2e\x36\x38\x37\x35\
+\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\
+\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\
+\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\
+\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\
+\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\
+\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\
+\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\
+\x34\x33\x39\x20\x7a\x20\x6d\x20\x31\x31\x2c\x2d\x31\x20\x63\x20\
+\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\
+\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\
+\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\
+\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\
+\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\
+\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\
+\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\
+\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x37\x2e\
+\x30\x31\x35\x38\x36\x2c\x2d\x32\x2e\x38\x39\x33\x32\x33\x20\x63\
+\x20\x30\x2e\x34\x32\x36\x32\x32\x2c\x2d\x32\x2e\x32\x32\x39\x36\
+\x34\x20\x30\x2e\x38\x36\x35\x33\x37\x2c\x2d\x32\x2e\x35\x30\x34\
+\x34\x33\x20\x33\x2e\x31\x31\x35\x31\x35\x2c\x2d\x31\x2e\x39\x34\
+\x39\x32\x35\x20\x32\x2e\x36\x38\x34\x38\x33\x2c\x30\x2e\x36\x36\
+\x32\x35\x33\x20\x34\x2e\x38\x32\x35\x30\x38\x2c\x32\x2e\x31\x37\
+\x30\x36\x34\x20\x34\x2e\x30\x35\x32\x33\x32\x2c\x32\x2e\x38\x35\
+\x35\x34\x33\x20\x2d\x30\x2e\x32\x33\x38\x33\x33\x2c\x30\x2e\x32\
+\x31\x31\x32\x31\x20\x2d\x32\x2e\x30\x36\x30\x31\x35\x2c\x30\x2e\
+\x36\x37\x37\x37\x31\x20\x2d\x34\x2e\x30\x34\x38\x34\x38\x2c\x31\
+\x2e\x30\x33\x36\x36\x39\x20\x2d\x33\x2e\x34\x37\x33\x36\x2c\x30\
+\x2e\x36\x32\x37\x31\x31\x20\x2d\x33\x2e\x35\x39\x35\x37\x33\x2c\
+\x30\x2e\x35\x35\x31\x30\x33\x20\x2d\x33\x2e\x31\x31\x38\x39\x39\
+\x2c\x2d\x31\x2e\x39\x34\x32\x38\x37\x20\x7a\x20\x4d\x20\x31\x30\
+\x35\x2c\x31\x30\x34\x2e\x31\x35\x34\x39\x39\x20\x63\x20\x30\x2c\
+\x2d\x31\x2e\x33\x37\x32\x32\x38\x20\x33\x2e\x32\x37\x34\x34\x35\
+\x2c\x2d\x33\x2e\x38\x30\x30\x34\x38\x20\x36\x2e\x35\x2c\x2d\x34\
+\x2e\x38\x32\x30\x31\x34\x38\x20\x33\x2e\x36\x36\x33\x36\x34\x2c\
+\x2d\x31\x2e\x31\x35\x38\x31\x35\x37\x20\x31\x32\x2e\x34\x31\x30\
+\x34\x36\x2c\x2d\x30\x2e\x38\x32\x34\x33\x38\x31\x20\x31\x33\x2e\
+\x37\x35\x39\x39\x32\x2c\x30\x2e\x35\x32\x35\x30\x37\x36\x20\x30\
+\x2e\x35\x34\x31\x30\x38\x2c\x30\x2e\x35\x34\x31\x30\x38\x32\x20\
+\x31\x2e\x36\x30\x33\x39\x36\x2c\x30\x2e\x37\x34\x35\x38\x31\x32\
+\x20\x32\x2e\x33\x36\x31\x39\x34\x2c\x30\x2e\x34\x35\x34\x39\x35\
+\x32\x20\x30\x2e\x37\x35\x37\x39\x37\x2c\x2d\x30\x2e\x32\x39\x30\
+\x38\x37\x20\x31\x2e\x33\x37\x38\x31\x34\x2c\x2d\x30\x2e\x30\x36\
+\x32\x20\x31\x2e\x33\x37\x38\x31\x34\x2c\x30\x2e\x35\x30\x38\x35\
+\x39\x20\x30\x2c\x30\x2e\x35\x37\x30\x35\x39\x20\x31\x2e\x30\x31\
+\x32\x35\x2c\x31\x2e\x32\x31\x30\x32\x33\x20\x32\x2e\x32\x35\x2c\
+\x31\x2e\x34\x32\x31\x34\x32\x20\x31\x2e\x32\x33\x37\x35\x2c\x30\
+\x2e\x32\x31\x31\x32\x20\x2d\x30\x2e\x31\x33\x36\x34\x34\x2c\x30\
+\x2e\x34\x34\x31\x39\x31\x20\x2d\x33\x2e\x30\x35\x33\x32\x2c\x30\
+\x2e\x35\x31\x32\x37\x31\x20\x2d\x33\x2e\x39\x31\x38\x36\x39\x2c\
+\x30\x2e\x30\x39\x35\x31\x20\x2d\x35\x2e\x34\x35\x36\x31\x38\x2c\
+\x2d\x30\x2e\x32\x36\x39\x39\x34\x20\x2d\x35\x2e\x38\x38\x39\x31\
+\x36\x2c\x2d\x31\x2e\x33\x39\x38\x32\x38\x20\x2d\x30\x2e\x34\x37\
+\x35\x30\x39\x2c\x2d\x31\x2e\x32\x33\x38\x30\x36\x20\x2d\x30\x2e\
+\x37\x34\x35\x39\x36\x2c\x2d\x31\x2e\x32\x37\x34\x36\x31\x20\x2d\
+\x31\x2e\x34\x33\x31\x34\x39\x2c\x2d\x30\x2e\x31\x39\x33\x31\x36\
+\x20\x2d\x30\x2e\x36\x31\x35\x30\x32\x2c\x30\x2e\x39\x37\x30\x32\
+\x31\x20\x2d\x30\x2e\x38\x34\x39\x37\x2c\x30\x2e\x39\x39\x38\x34\
+\x20\x2d\x30\x2e\x38\x36\x30\x38\x34\x2c\x30\x2e\x31\x30\x33\x33\
+\x38\x20\x2d\x30\x2e\x30\x31\x30\x33\x2c\x2d\x30\x2e\x38\x32\x38\
+\x35\x20\x2d\x31\x2e\x30\x37\x37\x30\x32\x2c\x2d\x31\x2e\x30\x35\
+\x37\x37\x37\x20\x2d\x33\x2e\x32\x36\x35\x33\x31\x2c\x2d\x30\x2e\
+\x37\x30\x31\x38\x33\x20\x2d\x31\x2e\x37\x38\x37\x35\x2c\x30\x2e\
+\x32\x39\x30\x37\x36\x20\x2d\x34\x2e\x32\x34\x39\x39\x32\x2c\x30\
+\x2e\x35\x31\x33\x30\x35\x20\x2d\x35\x2e\x34\x37\x32\x30\x35\x2c\
+\x30\x2e\x34\x39\x33\x39\x39\x20\x2d\x31\x2e\x32\x32\x32\x31\x33\
+\x2c\x2d\x30\x2e\x30\x31\x39\x31\x20\x2d\x32\x2e\x37\x30\x30\x34\
+\x36\x2c\x30\x2e\x38\x35\x39\x32\x36\x20\x2d\x33\x2e\x32\x38\x35\
+\x31\x38\x2c\x31\x2e\x39\x35\x31\x38\x32\x20\x43\x20\x31\x30\x36\
+\x2e\x39\x32\x36\x39\x36\x2c\x31\x30\x35\x2e\x30\x30\x35\x20\x31\
+\x30\x35\x2c\x31\x30\x35\x2e\x37\x33\x39\x39\x36\x20\x31\x30\x35\
+\x2c\x31\x30\x34\x2e\x31\x35\x34\x39\x39\x20\x7a\x20\x6d\x20\x32\
+\x35\x2e\x32\x36\x39\x30\x33\x2c\x30\x2e\x31\x35\x32\x30\x32\x20\
+\x63\x20\x30\x2e\x39\x37\x32\x39\x37\x2c\x2d\x30\x2e\x32\x35\x33\
+\x35\x34\x20\x32\x2e\x33\x32\x32\x39\x37\x2c\x2d\x30\x2e\x32\x33\
+\x36\x38\x37\x20\x33\x2c\x30\x2e\x30\x33\x37\x20\x30\x2e\x36\x37\
+\x37\x30\x33\x2c\x30\x2e\x32\x37\x33\x39\x33\x20\x2d\x30\x2e\x31\
+\x31\x39\x30\x33\x2c\x30\x2e\x34\x38\x31\x33\x37\x20\x2d\x31\x2e\
+\x37\x36\x39\x30\x33\x2c\x30\x2e\x34\x36\x30\x39\x39\x20\x2d\x31\
+\x2e\x36\x35\x2c\x2d\x30\x2e\x30\x32\x30\x34\x20\x2d\x32\x2e\x32\
+\x30\x33\x39\x34\x2c\x2d\x30\x2e\x32\x34\x34\x35\x20\x2d\x31\x2e\
+\x32\x33\x30\x39\x37\x2c\x2d\x30\x2e\x34\x39\x38\x30\x34\x20\x7a\
+\x20\x6d\x20\x39\x2e\x35\x34\x33\x34\x37\x2c\x2d\x30\x2e\x39\x39\
+\x30\x31\x32\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\
+\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\
+\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\
+\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\
+\x2e\x33\x33\x32\x33\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x4d\x20\x31\x34\
+\x34\x2e\x35\x2c\x31\x30\x32\x20\x63\x20\x2d\x30\x2e\x33\x33\x39\
+\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x34\x31\x34\
+\x38\x2c\x2d\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\x20\
+\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x31\x2e\x30\x35\x39\x30\
+\x32\x2c\x30\x2e\x34\x35\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\
+\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x39\x38\x34\x34\
+\x2c\x31\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\
+\x2e\x32\x34\x32\x35\x34\x2c\x30\x20\x2d\x30\x2e\x37\x31\x39\x31\
+\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\
+\x2d\x31\x20\x7a\x20\x4d\x20\x39\x38\x2e\x34\x38\x34\x36\x38\x37\
+\x2c\x39\x36\x2e\x39\x37\x35\x32\x32\x33\x20\x63\x20\x2d\x30\x2e\
+\x33\x34\x38\x33\x34\x2c\x2d\x30\x2e\x35\x36\x33\x36\x32\x37\x20\
+\x2d\x30\x2e\x32\x36\x32\x33\x39\x38\x2c\x2d\x30\x2e\x39\x36\x30\
+\x33\x33\x37\x20\x30\x2e\x31\x39\x30\x39\x38\x33\x2c\x2d\x30\x2e\
+\x38\x38\x31\x35\x37\x39\x20\x32\x2e\x35\x33\x32\x37\x2c\x30\x2e\
+\x34\x33\x39\x39\x36\x37\x20\x33\x2e\x35\x38\x39\x32\x36\x2c\x2d\
+\x30\x2e\x33\x31\x34\x39\x30\x35\x20\x31\x2e\x35\x37\x34\x33\x33\
+\x2c\x2d\x31\x2e\x31\x32\x34\x38\x30\x36\x20\x2d\x31\x2e\x32\x33\
+\x37\x35\x2c\x2d\x30\x2e\x34\x39\x37\x34\x31\x34\x20\x2d\x32\x2e\
+\x32\x34\x33\x31\x30\x39\x2c\x2d\x31\x2e\x34\x38\x31\x33\x39\x20\
+\x2d\x32\x2e\x32\x33\x34\x36\x38\x37\x2c\x2d\x32\x2e\x31\x38\x36\
+\x36\x31\x34\x20\x30\x2e\x30\x31\x31\x37\x39\x2c\x2d\x30\x2e\x39\
+\x38\x36\x39\x30\x39\x20\x30\x2e\x32\x31\x33\x33\x31\x31\x2c\x2d\
+\x30\x2e\x39\x36\x39\x37\x34\x32\x20\x30\x2e\x38\x37\x35\x2c\x30\
+\x2e\x30\x37\x34\x35\x34\x20\x30\x2e\x35\x39\x39\x32\x39\x32\x2c\
+\x30\x2e\x39\x34\x35\x38\x30\x36\x20\x31\x2e\x30\x36\x36\x38\x37\
+\x32\x2c\x31\x2e\x30\x32\x31\x35\x33\x20\x31\x2e\x35\x34\x33\x37\
+\x30\x37\x2c\x30\x2e\x32\x35\x20\x30\x2e\x33\x37\x36\x32\x31\x2c\
+\x2d\x30\x2e\x36\x30\x38\x37\x32\x20\x31\x2e\x34\x34\x34\x39\x36\
+\x2c\x2d\x31\x2e\x30\x39\x39\x38\x37\x32\x20\x32\x2e\x33\x37\x35\
+\x2c\x2d\x31\x2e\x30\x39\x31\x34\x35\x20\x31\x2e\x33\x32\x36\x37\
+\x36\x2c\x30\x2e\x30\x31\x32\x30\x31\x20\x31\x2e\x33\x39\x39\x35\
+\x2c\x30\x2e\x32\x30\x30\x30\x31\x33\x20\x30\x2e\x33\x33\x37\x37\
+\x33\x2c\x30\x2e\x38\x37\x32\x38\x32\x36\x20\x2d\x31\x2e\x30\x35\
+\x35\x35\x32\x2c\x30\x2e\x36\x36\x38\x38\x35\x38\x20\x2d\x31\x2e\
+\x31\x30\x32\x37\x38\x2c\x31\x2e\x33\x32\x35\x34\x39\x37\x20\x2d\
+\x30\x2e\x32\x31\x34\x38\x31\x2c\x32\x2e\x39\x38\x34\x36\x38\x37\
+\x20\x43\x20\x31\x30\x33\x2e\x39\x35\x30\x35\x39\x2c\x39\x37\x2e\
+\x37\x37\x36\x31\x38\x38\x20\x31\x30\x33\x2e\x38\x30\x39\x38\x34\
+\x2c\x39\x38\x20\x31\x30\x31\x2e\x35\x39\x34\x32\x2c\x39\x38\x20\
+\x63\x20\x2d\x31\x2e\x33\x36\x31\x38\x39\x2c\x30\x20\x2d\x32\x2e\
+\x37\x36\x31\x31\x37\x32\x2c\x2d\x30\x2e\x34\x36\x31\x31\x34\x39\
+\x20\x2d\x33\x2e\x31\x30\x39\x35\x31\x33\x2c\x2d\x31\x2e\x30\x32\
+\x34\x37\x37\x37\x20\x7a\x20\x6d\x20\x31\x30\x2e\x33\x32\x37\x38\
+\x31\x33\x2c\x30\x2e\x33\x34\x31\x36\x36\x33\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\x20\
+\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\
+\x34\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\
+\x35\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\
+\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\
+\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\
+\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\
+\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\
+\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\x6d\x20\
+\x39\x2c\x2d\x31\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\
+\x30\x2e\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\x37\
+\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\x36\
+\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\x32\
+\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\
+\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\x31\
+\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\
+\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\
+\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\
+\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\
+\x34\x31\x36\x37\x20\x7a\x20\x4d\x20\x31\x32\x34\x2e\x31\x36\x32\
+\x31\x38\x2c\x39\x34\x2e\x32\x35\x20\x63\x20\x30\x2e\x31\x35\x38\
+\x33\x35\x2c\x2d\x30\x2e\x39\x36\x32\x35\x20\x2d\x30\x2e\x30\x36\
+\x34\x39\x2c\x2d\x32\x2e\x33\x31\x32\x35\x20\x2d\x30\x2e\x34\x39\
+\x36\x31\x36\x2c\x2d\x33\x20\x2d\x30\x2e\x35\x31\x38\x38\x37\x2c\
+\x2d\x30\x2e\x38\x32\x37\x32\x33\x32\x20\x2d\x30\x2e\x31\x37\x32\
+\x32\x32\x2c\x2d\x31\x2e\x32\x35\x34\x36\x31\x38\x20\x31\x2e\x30\
+\x32\x34\x39\x36\x2c\x2d\x31\x2e\x32\x36\x33\x36\x35\x35\x20\x30\
+\x2e\x39\x39\x34\x39\x36\x2c\x2d\x30\x2e\x30\x30\x37\x35\x20\x32\
+\x2e\x38\x39\x31\x38\x39\x2c\x2d\x30\x2e\x33\x30\x33\x33\x39\x35\
+\x20\x34\x2e\x32\x31\x35\x33\x39\x2c\x2d\x30\x2e\x36\x35\x37\x35\
+\x32\x33\x20\x31\x2e\x35\x39\x30\x32\x39\x2c\x2d\x30\x2e\x34\x32\
+\x35\x35\x31\x20\x32\x2e\x31\x38\x31\x36\x36\x2c\x2d\x30\x2e\x32\
+\x38\x30\x32\x37\x38\x20\x31\x2e\x37\x34\x33\x37\x37\x2c\x30\x2e\
+\x34\x32\x38\x32\x34\x34\x20\x2d\x30\x2e\x33\x36\x34\x34\x33\x2c\
+\x30\x2e\x35\x38\x39\x36\x36\x33\x20\x2d\x30\x2e\x30\x39\x37\x33\
+\x2c\x31\x2e\x33\x30\x30\x30\x32\x32\x20\x30\x2e\x35\x39\x33\x36\
+\x33\x2c\x31\x2e\x35\x37\x38\x35\x37\x36\x20\x30\x2e\x37\x31\x39\
+\x34\x38\x2c\x30\x2e\x32\x39\x30\x30\x36\x36\x20\x30\x2e\x34\x36\
+\x32\x37\x39\x2c\x30\x2e\x35\x34\x30\x31\x39\x35\x20\x2d\x30\x2e\
+\x36\x30\x30\x37\x36\x2c\x30\x2e\x35\x38\x35\x34\x31\x31\x20\x2d\
+\x31\x2e\x31\x37\x35\x36\x39\x2c\x30\x2e\x30\x34\x39\x39\x38\x20\
+\x2d\x31\x2e\x36\x35\x37\x34\x36\x2c\x30\x2e\x35\x39\x38\x39\x30\
+\x35\x20\x2d\x31\x2e\x33\x31\x33\x31\x34\x2c\x31\x2e\x34\x39\x36\
+\x31\x38\x38\x20\x43\x20\x31\x32\x39\x2e\x38\x37\x37\x34\x33\x2c\
+\x39\x34\x2e\x38\x34\x34\x31\x36\x38\x20\x31\x32\x38\x2e\x30\x39\
+\x38\x37\x36\x2c\x39\x36\x20\x31\x32\x35\x2e\x33\x35\x35\x33\x35\
+\x2c\x39\x36\x20\x63\x20\x2d\x30\x2e\x38\x35\x33\x35\x35\x2c\x30\
+\x20\x2d\x31\x2e\x33\x35\x39\x30\x39\x2c\x2d\x30\x2e\x37\x34\x31\
+\x34\x36\x31\x20\x2d\x31\x2e\x31\x39\x33\x31\x37\x2c\x2d\x31\x2e\
+\x37\x35\x20\x7a\x20\x6d\x20\x32\x38\x2e\x34\x38\x38\x34\x38\x2c\
+\x2d\x32\x2e\x37\x31\x37\x39\x37\x35\x20\x63\x20\x2d\x30\x2e\x33\
+\x30\x39\x38\x32\x2c\x2d\x30\x2e\x38\x30\x37\x33\x38\x36\x20\x2d\
+\x30\x2e\x32\x32\x36\x33\x38\x2c\x2d\x31\x2e\x36\x37\x36\x32\x31\
+\x31\x20\x30\x2e\x31\x38\x35\x34\x33\x2c\x2d\x31\x2e\x39\x33\x30\
+\x37\x32\x32\x20\x30\x2e\x34\x31\x31\x38\x31\x2c\x2d\x30\x2e\x32\
+\x35\x34\x35\x31\x31\x20\x30\x2e\x38\x31\x34\x31\x39\x2c\x30\x2e\
+\x34\x30\x36\x30\x37\x38\x20\x30\x2e\x38\x39\x34\x31\x38\x2c\x31\
+\x2e\x34\x36\x37\x39\x37\x35\x20\x30\x2e\x31\x37\x32\x39\x39\x2c\
+\x32\x2e\x32\x39\x36\x35\x36\x35\x20\x2d\x30\x2e\x32\x39\x38\x33\
+\x38\x2c\x32\x2e\x34\x39\x38\x36\x30\x35\x20\x2d\x31\x2e\x30\x37\
+\x39\x36\x31\x2c\x30\x2e\x34\x36\x32\x37\x34\x37\x20\x7a\x20\x4d\
+\x20\x31\x30\x35\x2e\x33\x36\x31\x31\x31\x2c\x38\x38\x2e\x32\x35\
+\x20\x63\x20\x30\x2e\x30\x37\x36\x34\x2c\x2d\x30\x2e\x39\x36\x32\
+\x35\x20\x31\x2e\x32\x36\x33\x38\x39\x2c\x2d\x32\x2e\x31\x32\x33\
+\x30\x31\x34\x20\x32\x2e\x36\x33\x38\x38\x39\x2c\x2d\x32\x2e\x35\
+\x37\x38\x39\x32\x31\x20\x34\x2e\x33\x34\x36\x39\x37\x2c\x2d\x31\
+\x2e\x34\x34\x31\x33\x31\x36\x20\x31\x34\x2e\x39\x35\x30\x35\x35\
+\x2c\x2d\x31\x2e\x39\x35\x37\x30\x31\x31\x20\x31\x36\x2e\x33\x35\
+\x30\x34\x36\x2c\x2d\x30\x2e\x37\x39\x35\x31\x38\x39\x20\x30\x2e\
+\x37\x31\x38\x33\x39\x2c\x30\x2e\x35\x39\x36\x32\x31\x31\x20\x33\
+\x2e\x30\x37\x30\x39\x32\x2c\x31\x2e\x34\x39\x37\x38\x33\x38\x20\
+\x35\x2e\x32\x32\x37\x38\x35\x2c\x32\x2e\x30\x30\x33\x36\x31\x34\
+\x20\x33\x2e\x37\x39\x31\x30\x37\x2c\x30\x2e\x38\x38\x38\x39\x36\
+\x35\x20\x33\x2e\x37\x31\x31\x35\x36\x2c\x30\x2e\x39\x32\x32\x39\
+\x34\x20\x2d\x32\x2e\x33\x38\x37\x33\x33\x2c\x31\x2e\x30\x32\x30\
+\x30\x34\x35\x20\x2d\x33\x2e\x34\x38\x35\x33\x38\x2c\x30\x2e\x30\
+\x35\x35\x34\x39\x20\x2d\x36\x2e\x30\x36\x31\x33\x39\x2c\x2d\x30\
+\x2e\x33\x30\x30\x32\x30\x38\x20\x2d\x35\x2e\x37\x35\x35\x37\x34\
+\x2c\x2d\x30\x2e\x37\x39\x34\x37\x36\x34\x20\x30\x2e\x38\x34\x37\
+\x39\x39\x2c\x2d\x31\x2e\x33\x37\x32\x30\x37\x37\x20\x2d\x32\x2e\
+\x35\x31\x37\x34\x39\x2c\x2d\x32\x2e\x32\x38\x31\x34\x31\x37\x20\
+\x2d\x33\x2e\x39\x37\x32\x39\x36\x2c\x2d\x31\x2e\x30\x37\x33\x34\
+\x38\x20\x2d\x30\x2e\x38\x35\x35\x36\x38\x2c\x30\x2e\x37\x31\x30\
+\x31\x35\x20\x2d\x31\x2e\x34\x39\x32\x36\x2c\x30\x2e\x37\x32\x38\
+\x36\x35\x38\x20\x2d\x31\x2e\x39\x30\x38\x36\x35\x2c\x30\x2e\x30\
+\x35\x35\x34\x36\x20\x2d\x30\x2e\x37\x35\x33\x30\x36\x2c\x2d\x31\
+\x2e\x32\x31\x38\x34\x37\x20\x2d\x34\x2e\x39\x38\x35\x36\x33\x2c\
+\x30\x2e\x32\x30\x32\x33\x37\x36\x20\x2d\x37\x2e\x32\x30\x30\x33\
+\x37\x2c\x32\x2e\x34\x31\x37\x31\x31\x33\x20\x2d\x31\x2e\x39\x39\
+\x30\x36\x2c\x31\x2e\x39\x39\x30\x35\x39\x36\x20\x2d\x33\x2e\x31\
+\x36\x32\x33\x39\x2c\x31\x2e\x38\x39\x31\x31\x37\x20\x2d\x32\x2e\
+\x39\x39\x32\x31\x35\x2c\x2d\x30\x2e\x32\x35\x33\x38\x38\x32\x20\
+\x7a\x20\x6d\x20\x33\x31\x2e\x34\x39\x39\x35\x39\x2c\x30\x2e\x36\
+\x34\x32\x37\x34\x35\x20\x63\x20\x2d\x30\x2e\x39\x32\x35\x31\x33\
+\x2c\x2d\x30\x2e\x35\x38\x36\x31\x34\x37\x20\x2d\x30\x2e\x33\x32\
+\x30\x33\x34\x2c\x2d\x30\x2e\x38\x36\x37\x30\x32\x31\x20\x31\x2e\
+\x38\x38\x39\x33\x2c\x2d\x30\x2e\x38\x37\x37\x34\x33\x32\x20\x31\
+\x2e\x37\x38\x37\x35\x2c\x2d\x30\x2e\x30\x30\x38\x34\x20\x33\x2e\
+\x32\x35\x2c\x30\x2e\x31\x35\x37\x32\x30\x33\x20\x33\x2e\x32\x35\
+\x2c\x30\x2e\x33\x36\x38\x30\x35\x36\x20\x30\x2c\x30\x2e\x39\x30\
+\x39\x32\x39\x32\x20\x2d\x33\x2e\x38\x39\x38\x32\x39\x2c\x31\x2e\
+\x32\x39\x35\x36\x36\x36\x20\x2d\x35\x2e\x31\x33\x39\x33\x2c\x30\
+\x2e\x35\x30\x39\x33\x37\x36\x20\x7a\x20\x6d\x20\x31\x2e\x38\x38\
+\x39\x33\x2c\x2d\x32\x2e\x35\x35\x35\x30\x32\x36\x20\x63\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\
+\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\
+\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\
+\x32\x37\x37\x34\x31\x33\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\
+\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x38\x36\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\
+\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x37\x33\x20\
+\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x38\x36\x20\
+\x7a\x20\x6d\x20\x31\x30\x2e\x30\x36\x32\x35\x2c\x2d\x31\x2e\x30\
+\x32\x30\x38\x33\x33\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\
+\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\
+\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\
+\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\
+\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\
+\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\
+\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\
+\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\
+\x30\x34\x31\x36\x37\x20\x7a\x20\x4d\x20\x39\x37\x2e\x36\x33\x38\
+\x33\x37\x34\x2c\x38\x32\x2e\x35\x20\x43\x20\x39\x37\x2e\x33\x32\
+\x31\x37\x39\x31\x2c\x38\x31\x2e\x36\x37\x35\x20\x39\x37\x2e\x34\
+\x39\x38\x36\x34\x36\x2c\x38\x31\x20\x39\x38\x2e\x30\x33\x31\x33\
+\x38\x35\x2c\x38\x31\x20\x39\x38\x2e\x35\x36\x34\x31\x32\x33\x2c\
+\x38\x31\x20\x39\x39\x2c\x38\x31\x2e\x34\x32\x30\x31\x31\x20\x39\
+\x39\x2c\x38\x31\x2e\x39\x33\x33\x35\x37\x38\x20\x63\x20\x30\x2c\
+\x30\x2e\x35\x31\x33\x34\x36\x37\x20\x31\x2e\x32\x33\x37\x35\x2c\
+\x31\x2e\x31\x32\x31\x30\x34\x33\x20\x32\x2e\x37\x35\x2c\x31\x2e\
+\x33\x35\x30\x31\x36\x38\x20\x32\x2e\x36\x34\x34\x38\x34\x2c\x30\
+\x2e\x34\x30\x30\x36\x35\x39\x20\x32\x2e\x36\x32\x39\x38\x31\x2c\
+\x30\x2e\x34\x32\x32\x33\x32\x20\x2d\x30\x2e\x33\x39\x33\x30\x31\
+\x2c\x30\x2e\x35\x36\x36\x34\x32\x32\x20\x43\x20\x39\x39\x2e\x33\
+\x37\x38\x36\x32\x39\x2c\x38\x33\x2e\x39\x34\x34\x34\x37\x39\x20\
+\x39\x38\x2e\x30\x30\x30\x36\x38\x36\x2c\x38\x33\x2e\x34\x34\x34\
+\x31\x37\x31\x20\x39\x37\x2e\x36\x33\x38\x33\x37\x34\x2c\x38\x32\
+\x2e\x35\x20\x7a\x20\x4d\x20\x31\x30\x35\x2e\x37\x35\x2c\x38\x33\
+\x2e\x33\x33\x37\x37\x31\x39\x20\x63\x20\x30\x2e\x36\x38\x37\x35\
+\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x31\x2e\x38\x31\x32\
+\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x32\x2e\x35\x2c\
+\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\
+\x33\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\
+\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\
+\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\
+\x2c\x2d\x30\x2e\x32\x32\x36\x39\x37\x33\x20\x2d\x31\x2e\x32\x35\
+\x2c\x2d\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x7a\x20\x6d\x20\x2d\
+\x36\x2e\x30\x34\x36\x39\x39\x38\x2c\x2d\x32\x2e\x36\x36\x39\x33\
+\x30\x31\x20\x63\x20\x2d\x30\x2e\x32\x34\x38\x38\x32\x32\x2c\x2d\
+\x30\x2e\x36\x34\x38\x34\x32\x20\x30\x2e\x31\x36\x36\x32\x31\x31\
+\x2c\x2d\x31\x2e\x37\x35\x36\x38\x31\x38\x20\x30\x2e\x39\x32\x32\
+\x32\x39\x38\x2c\x2d\x32\x2e\x34\x36\x33\x31\x30\x38\x20\x31\x2e\
+\x31\x31\x39\x34\x35\x2c\x2d\x31\x2e\x30\x34\x35\x37\x32\x38\x20\
+\x31\x2e\x33\x37\x37\x35\x34\x2c\x2d\x31\x2e\x30\x34\x34\x37\x35\
+\x31\x20\x31\x2e\x33\x39\x30\x30\x31\x2c\x30\x2e\x30\x30\x35\x33\
+\x20\x30\x2e\x30\x31\x30\x38\x2c\x30\x2e\x39\x31\x32\x30\x35\x34\
+\x20\x30\x2e\x32\x39\x39\x30\x32\x2c\x30\x2e\x38\x35\x30\x34\x32\
+\x36\x20\x30\x2e\x39\x38\x34\x36\x39\x2c\x2d\x30\x2e\x32\x31\x30\
+\x35\x37\x33\x20\x30\x2e\x35\x33\x33\x31\x36\x2c\x2d\x30\x2e\x38\
+\x32\x35\x20\x30\x2e\x39\x37\x36\x32\x37\x2c\x2d\x31\x2e\x30\x33\
+\x37\x35\x30\x38\x20\x30\x2e\x39\x38\x34\x36\x39\x2c\x2d\x30\x2e\
+\x34\x37\x32\x32\x34\x31\x20\x30\x2e\x30\x32\x35\x37\x2c\x31\x2e\
+\x37\x32\x33\x37\x31\x35\x20\x2d\x33\x2e\x37\x35\x39\x38\x38\x2c\
+\x34\x2e\x35\x30\x30\x34\x36\x33\x20\x2d\x34\x2e\x32\x38\x31\x36\
+\x38\x38\x2c\x33\x2e\x31\x34\x30\x36\x35\x39\x20\x7a\x20\x4d\x20\
+\x31\x32\x34\x2e\x34\x37\x30\x31\x36\x2c\x37\x39\x2e\x37\x35\x20\
+\x63\x20\x30\x2e\x35\x37\x32\x31\x2c\x2d\x34\x2e\x33\x37\x37\x36\
+\x30\x34\x20\x31\x2e\x36\x37\x37\x33\x31\x2c\x2d\x35\x2e\x37\x35\
+\x20\x34\x2e\x36\x33\x30\x35\x35\x2c\x2d\x35\x2e\x37\x35\x20\x32\
+\x2e\x34\x35\x31\x32\x36\x2c\x30\x20\x32\x2e\x38\x32\x33\x34\x37\
+\x2c\x30\x2e\x33\x33\x39\x34\x32\x34\x20\x32\x2e\x34\x36\x37\x33\
+\x33\x2c\x32\x2e\x32\x35\x20\x2d\x30\x2e\x32\x33\x30\x36\x38\x2c\
+\x31\x2e\x32\x33\x37\x35\x20\x2d\x30\x2e\x34\x35\x32\x38\x36\x2c\
+\x32\x2e\x35\x34\x33\x34\x37\x39\x20\x2d\x30\x2e\x34\x39\x33\x37\
+\x33\x2c\x32\x2e\x39\x30\x32\x31\x37\x35\x20\x43\x20\x31\x33\x31\
+\x2e\x30\x31\x35\x37\x31\x2c\x37\x39\x2e\x36\x36\x36\x34\x35\x37\
+\x20\x31\x32\x35\x2e\x35\x37\x38\x35\x32\x2c\x38\x32\x20\x31\x32\
+\x34\x2e\x34\x33\x38\x38\x33\x2c\x38\x32\x20\x63\x20\x2d\x30\x2e\
+\x31\x34\x34\x34\x39\x2c\x30\x20\x2d\x30\x2e\x31\x33\x30\x34\x2c\
+\x2d\x31\x2e\x30\x31\x32\x35\x20\x30\x2e\x30\x33\x31\x33\x2c\x2d\
+\x32\x2e\x32\x35\x20\x7a\x20\x6d\x20\x31\x32\x2e\x32\x36\x36\x35\
+\x37\x2c\x2d\x31\x2e\x38\x35\x31\x32\x33\x39\x20\x43\x20\x31\x33\
+\x37\x2e\x32\x37\x34\x37\x37\x2c\x37\x35\x2e\x38\x34\x31\x32\x39\
+\x35\x20\x31\x33\x39\x2c\x37\x35\x2e\x32\x37\x32\x38\x32\x38\x20\
+\x31\x33\x39\x2c\x37\x37\x2e\x31\x35\x33\x30\x31\x20\x63\x20\x30\
+\x2c\x30\x2e\x36\x33\x34\x31\x35\x35\x20\x30\x2e\x38\x34\x30\x32\
+\x38\x2c\x30\x2e\x31\x38\x34\x31\x35\x35\x20\x31\x2e\x38\x36\x37\
+\x33\x2c\x2d\x31\x20\x43\x20\x31\x34\x31\x2e\x38\x39\x34\x33\x31\
+\x2c\x37\x34\x2e\x39\x36\x38\x38\x35\x34\x20\x31\x34\x33\x2e\x30\
+\x32\x33\x31\x32\x2c\x37\x34\x20\x31\x34\x33\x2e\x33\x37\x35\x37\
+\x37\x2c\x37\x34\x20\x63\x20\x30\x2e\x35\x33\x37\x34\x38\x2c\x30\
+\x20\x30\x2e\x31\x32\x31\x37\x38\x2c\x30\x2e\x39\x37\x30\x30\x30\
+\x35\x20\x2d\x32\x2e\x30\x39\x33\x30\x32\x2c\x34\x2e\x38\x38\x33\
+\x39\x31\x38\x20\x2d\x30\x2e\x31\x31\x39\x34\x39\x2c\x30\x2e\x32\
+\x31\x31\x31\x35\x36\x20\x2d\x31\x2e\x33\x30\x32\x39\x35\x2c\x30\
+\x2e\x35\x30\x33\x30\x39\x38\x20\x2d\x32\x2e\x36\x32\x39\x39\x31\
+\x2c\x30\x2e\x36\x34\x38\x37\x36\x31\x20\x2d\x31\x2e\x39\x33\x33\
+\x35\x39\x2c\x30\x2e\x32\x31\x32\x32\x35\x35\x20\x2d\x32\x2e\x33\
+\x31\x34\x30\x36\x2c\x2d\x30\x2e\x31\x31\x32\x31\x37\x37\x20\x2d\
+\x31\x2e\x39\x31\x36\x31\x31\x2c\x2d\x31\x2e\x36\x33\x33\x39\x31\
+\x38\x20\x7a\x20\x4d\x20\x31\x35\x33\x2e\x36\x33\x38\x33\x37\x2c\
+\x37\x36\x2e\x35\x20\x43\x20\x31\x35\x33\x2e\x33\x32\x31\x37\x39\
+\x2c\x37\x35\x2e\x36\x37\x35\x20\x31\x35\x33\x2e\x34\x39\x38\x36\
+\x35\x2c\x37\x35\x20\x31\x35\x34\x2e\x30\x33\x31\x33\x38\x2c\x37\
+\x35\x20\x31\x35\x34\x2e\x35\x36\x34\x31\x32\x2c\x37\x35\x20\x31\
+\x35\x35\x2c\x37\x35\x2e\x36\x37\x35\x20\x31\x35\x35\x2c\x37\x36\
+\x2e\x35\x20\x63\x20\x30\x2c\x30\x2e\x38\x32\x35\x20\x2d\x30\x2e\
+\x31\x37\x36\x38\x36\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x33\x39\x33\
+\x30\x31\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x32\x31\x36\x31\x36\x2c\
+\x30\x20\x2d\x30\x2e\x36\x35\x32\x30\x33\x2c\x2d\x30\x2e\x36\x37\
+\x35\x20\x2d\x30\x2e\x39\x36\x38\x36\x32\x2c\x2d\x31\x2e\x35\x20\
+\x7a\x20\x4d\x20\x31\x33\x39\x2c\x37\x34\x2e\x34\x34\x30\x39\x38\
+\x33\x20\x63\x20\x30\x2c\x2d\x30\x2e\x38\x35\x37\x34\x35\x39\x20\
+\x30\x2e\x34\x35\x37\x33\x34\x2c\x2d\x31\x2e\x32\x37\x36\x33\x36\
+\x35\x20\x31\x2e\x30\x31\x36\x33\x31\x2c\x2d\x30\x2e\x39\x33\x30\
+\x39\x30\x32\x20\x30\x2e\x35\x35\x38\x39\x37\x2c\x30\x2e\x33\x34\
+\x35\x34\x36\x34\x20\x30\x2e\x37\x35\x37\x34\x32\x2c\x31\x2e\x30\
+\x34\x37\x30\x32\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x2e\
+\x35\x35\x39\x30\x31\x37\x20\x43\x20\x31\x33\x39\x2e\x36\x30\x30\
+\x30\x36\x2c\x37\x36\x2e\x34\x35\x36\x31\x34\x32\x20\x31\x33\x39\
+\x2c\x37\x36\x2e\x31\x39\x37\x35\x30\x39\x20\x31\x33\x39\x2c\x37\
+\x34\x2e\x34\x34\x30\x39\x38\x33\x20\x7a\x20\x4d\x20\x31\x30\x34\
+\x2c\x37\x34\x20\x63\x20\x30\x2e\x38\x32\x35\x2c\x2d\x30\x2e\x35\
+\x33\x33\x31\x35\x36\x20\x31\x2e\x30\x35\x2c\x2d\x31\x2e\x30\x30\
+\x34\x37\x38\x39\x20\x30\x2e\x35\x2c\x2d\x31\x2e\x30\x34\x38\x30\
+\x37\x34\x20\x2d\x30\x2e\x35\x35\x2c\x2d\x30\x2e\x30\x34\x33\x32\
+\x38\x20\x30\x2e\x31\x32\x35\x2c\x2d\x30\x2e\x35\x34\x34\x37\x31\
+\x38\x20\x31\x2e\x35\x2c\x2d\x31\x2e\x31\x31\x34\x32\x39\x37\x20\
+\x33\x2e\x33\x37\x37\x35\x31\x2c\x2d\x31\x2e\x33\x39\x39\x30\x39\
+\x38\x20\x31\x37\x2e\x38\x38\x36\x31\x35\x2c\x2d\x32\x2e\x30\x31\
+\x30\x36\x32\x37\x20\x31\x39\x2e\x38\x39\x31\x32\x35\x2c\x2d\x30\
+\x2e\x38\x33\x38\x34\x30\x32\x20\x31\x2e\x31\x32\x30\x35\x32\x2c\
+\x30\x2e\x36\x35\x35\x30\x37\x39\x20\x2d\x30\x2e\x35\x31\x35\x36\
+\x35\x2c\x30\x2e\x39\x36\x34\x37\x38\x37\x20\x2d\x35\x2e\x33\x39\
+\x31\x32\x35\x2c\x31\x2e\x30\x32\x30\x35\x20\x2d\x39\x2e\x32\x37\
+\x33\x37\x35\x2c\x30\x2e\x31\x30\x35\x39\x37\x31\x20\x2d\x31\x31\
+\x2e\x35\x38\x31\x36\x34\x2c\x30\x2e\x33\x39\x39\x32\x36\x20\x2d\
+\x31\x34\x2e\x31\x38\x34\x32\x36\x2c\x31\x2e\x38\x30\x32\x35\x35\
+\x33\x20\x43\x20\x31\x30\x33\x2e\x36\x39\x35\x37\x38\x2c\x37\x35\
+\x2e\x32\x33\x34\x39\x32\x35\x20\x31\x30\x31\x2e\x38\x37\x32\x35\
+\x38\x2c\x37\x35\x2e\x33\x37\x34\x38\x34\x35\x20\x31\x30\x34\x2c\
+\x37\x34\x20\x7a\x20\x6d\x20\x33\x31\x2e\x38\x31\x32\x35\x2c\x2d\
+\x30\x2e\x36\x38\x33\x31\x31\x34\x20\x63\x20\x30\x2e\x37\x32\x31\
+\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\
+\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\
+\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\
+\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\
+\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\
+\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\
+\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\
+\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\
+\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\x4d\x20\x31\x33\x39\
+\x2e\x35\x2c\x37\x32\x20\x6c\x20\x2d\x33\x2c\x2d\x30\x2e\x37\x36\
+\x33\x33\x37\x20\x33\x2c\x2d\x30\x2e\x30\x34\x38\x30\x33\x20\x63\
+\x20\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x30\x32\x36\x34\x32\x20\x33\
+\x2e\x39\x2c\x30\x2e\x33\x33\x38\x37\x31\x34\x20\x35\x2c\x30\x2e\
+\x38\x31\x31\x34\x20\x32\x2c\x30\x2e\x38\x35\x39\x34\x32\x39\x20\
+\x32\x2c\x30\x2e\x38\x35\x39\x34\x32\x39\x20\x30\x2c\x30\x2e\x38\
+\x31\x31\x34\x20\x2d\x31\x2e\x31\x2c\x2d\x30\x2e\x30\x32\x36\x34\
+\x32\x20\x2d\x33\x2e\x33\x35\x2c\x2d\x30\x2e\x33\x39\x31\x35\x34\
+\x36\x20\x2d\x35\x2c\x2d\x30\x2e\x38\x31\x31\x34\x20\x7a\x20\x6d\
+\x20\x36\x2e\x37\x36\x39\x30\x33\x2c\x2d\x31\x2e\x36\x39\x32\x39\
+\x39\x31\x20\x63\x20\x30\x2e\x39\x37\x32\x39\x37\x2c\x2d\x30\x2e\
+\x32\x35\x33\x35\x34\x33\x20\x32\x2e\x33\x32\x32\x39\x37\x2c\x2d\
+\x30\x2e\x32\x33\x36\x38\x36\x39\x20\x33\x2c\x30\x2e\x30\x33\x37\
+\x30\x35\x20\x30\x2e\x36\x37\x37\x30\x33\x2c\x30\x2e\x32\x37\x33\
+\x39\x32\x33\x20\x2d\x30\x2e\x31\x31\x39\x30\x33\x2c\x30\x2e\x34\
+\x38\x31\x33\x36\x38\x20\x2d\x31\x2e\x37\x36\x39\x30\x33\x2c\x30\
+\x2e\x34\x36\x30\x39\x38\x38\x20\x2d\x31\x2e\x36\x35\x2c\x2d\x30\
+\x2e\x30\x32\x30\x33\x38\x20\x2d\x32\x2e\x32\x30\x33\x39\x34\x2c\
+\x2d\x30\x2e\x32\x34\x34\x34\x39\x38\x20\x2d\x31\x2e\x32\x33\x30\
+\x39\x37\x2c\x2d\x30\x2e\x34\x39\x38\x30\x34\x32\x20\x7a\x20\x4d\
+\x20\x39\x38\x2e\x32\x35\x2c\x36\x39\x2e\x33\x31\x30\x36\x37\x34\
+\x20\x63\x20\x30\x2e\x39\x36\x32\x35\x2c\x2d\x30\x2e\x32\x35\x31\
+\x35\x32\x37\x20\x32\x2e\x35\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\
+\x31\x35\x32\x37\x20\x33\x2e\x35\x2c\x30\x20\x30\x2e\x39\x36\x32\
+\x35\x2c\x30\x2e\x32\x35\x31\x35\x32\x38\x20\x30\x2e\x31\x37\x35\
+\x2c\x30\x2e\x34\x35\x37\x33\x32\x33\x20\x2d\x31\x2e\x37\x35\x2c\
+\x30\x2e\x34\x35\x37\x33\x32\x33\x20\x2d\x31\x2e\x39\x32\x35\x2c\
+\x30\x20\x2d\x32\x2e\x37\x31\x32\x35\x2c\x2d\x30\x2e\x32\x30\x35\
+\x37\x39\x35\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x35\x37\
+\x33\x32\x33\x20\x7a\x20\x6d\x20\x32\x36\x2e\x35\x2c\x2d\x32\x2e\
+\x30\x33\x38\x39\x37\x38\x20\x63\x20\x31\x2e\x31\x37\x37\x35\x34\
+\x2c\x2d\x30\x2e\x33\x39\x34\x30\x39\x35\x20\x31\x2e\x36\x37\x37\
+\x35\x38\x2c\x2d\x32\x2e\x32\x35\x33\x38\x31\x39\x20\x31\x2e\x33\
+\x33\x36\x34\x33\x2c\x2d\x34\x2e\x39\x37\x30\x33\x37\x20\x2d\x30\
+\x2e\x31\x35\x39\x39\x35\x2c\x2d\x31\x2e\x32\x37\x33\x37\x30\x31\
+\x20\x36\x2e\x35\x37\x37\x32\x38\x2c\x2d\x32\x2e\x39\x37\x30\x39\
+\x34\x39\x20\x37\x2e\x36\x32\x36\x38\x36\x2c\x2d\x31\x2e\x39\x32\
+\x31\x33\x36\x34\x20\x43\x20\x31\x33\x34\x2e\x30\x35\x34\x33\x32\
+\x2c\x36\x30\x2e\x37\x32\x30\x39\x38\x33\x20\x31\x33\x33\x2e\x30\
+\x36\x33\x35\x39\x2c\x36\x31\x20\x31\x33\x31\x2e\x35\x31\x31\x36\
+\x38\x2c\x36\x31\x20\x63\x20\x2d\x32\x2e\x36\x31\x35\x34\x39\x2c\
+\x30\x20\x2d\x32\x2e\x37\x30\x37\x35\x36\x2c\x30\x2e\x31\x32\x37\
+\x38\x36\x35\x20\x2d\x31\x2e\x32\x36\x30\x31\x33\x2c\x31\x2e\x37\
+\x35\x20\x31\x2e\x39\x32\x35\x37\x34\x2c\x32\x2e\x31\x35\x38\x31\
+\x39\x20\x30\x2e\x35\x32\x39\x32\x38\x2c\x33\x2e\x37\x38\x39\x30\
+\x39\x32\x20\x2d\x33\x2e\x38\x33\x35\x31\x37\x2c\x34\x2e\x34\x37\
+\x39\x30\x32\x31\x20\x2d\x31\x2e\x36\x30\x34\x30\x31\x2c\x30\x2e\
+\x32\x35\x33\x35\x36\x20\x2d\x32\x2e\x33\x35\x33\x38\x38\x2c\x30\
+\x2e\x32\x37\x32\x37\x36\x34\x20\x2d\x31\x2e\x36\x36\x36\x33\x38\
+\x2c\x30\x2e\x30\x34\x32\x36\x38\x20\x7a\x20\x6d\x20\x38\x2e\x32\
+\x38\x31\x38\x2c\x2d\x32\x2e\x31\x38\x33\x38\x33\x31\x20\x63\x20\
+\x30\x2e\x30\x31\x37\x35\x2c\x2d\x30\x2e\x33\x32\x33\x33\x32\x36\
+\x20\x30\x2e\x36\x39\x32\x35\x2c\x2d\x31\x2e\x34\x36\x31\x33\x37\
+\x33\x20\x31\x2e\x35\x2c\x2d\x32\x2e\x35\x32\x38\x39\x39\x35\x20\
+\x31\x2e\x34\x35\x33\x33\x36\x2c\x2d\x31\x2e\x39\x32\x31\x35\x30\
+\x36\x20\x31\x2e\x34\x36\x38\x35\x31\x2c\x2d\x31\x2e\x39\x32\x31\
+\x35\x30\x36\x20\x31\x2e\x34\x39\x38\x36\x31\x2c\x30\x20\x30\x2e\
+\x30\x32\x38\x32\x2c\x31\x2e\x37\x39\x37\x38\x36\x34\x20\x30\x2e\
+\x31\x30\x35\x36\x34\x2c\x31\x2e\x38\x31\x31\x39\x37\x31\x20\x31\
+\x2e\x30\x34\x39\x36\x39\x2c\x30\x2e\x31\x39\x31\x31\x33\x20\x30\
+\x2e\x35\x36\x30\x36\x2c\x2d\x30\x2e\x39\x36\x32\x35\x20\x32\x2e\
+\x30\x38\x35\x31\x32\x2c\x2d\x31\x2e\x37\x35\x20\x33\x2e\x33\x38\
+\x37\x38\x2c\x2d\x31\x2e\x37\x35\x20\x33\x2e\x38\x35\x34\x36\x34\
+\x2c\x30\x20\x35\x2e\x35\x33\x32\x31\x2c\x2d\x31\x2e\x30\x36\x38\
+\x34\x35\x37\x20\x35\x2e\x35\x33\x32\x31\x2c\x2d\x33\x2e\x35\x32\
+\x33\x36\x35\x35\x20\x30\x2c\x2d\x31\x2e\x32\x37\x30\x33\x32\x33\
+\x20\x30\x2e\x35\x36\x32\x35\x2c\x2d\x32\x2e\x35\x33\x36\x36\x35\
+\x32\x20\x31\x2e\x32\x35\x2c\x2d\x32\x2e\x38\x31\x34\x30\x36\x34\
+\x20\x31\x2c\x2d\x30\x2e\x34\x30\x33\x35\x30\x39\x20\x31\x2c\x2d\
+\x30\x2e\x35\x32\x30\x31\x37\x36\x20\x30\x2c\x2d\x30\x2e\x35\x38\
+\x33\x33\x33\x34\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\
+\x30\x34\x33\x34\x32\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\
+\x35\x39\x32\x37\x31\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x31\
+\x34\x36\x33\x33\x35\x20\x30\x2c\x2d\x30\x2e\x36\x32\x36\x37\x39\
+\x33\x20\x30\x2e\x38\x36\x30\x35\x38\x2c\x2d\x30\x2e\x37\x39\x34\
+\x32\x34\x39\x20\x32\x2e\x30\x38\x34\x38\x35\x2c\x2d\x30\x2e\x34\
+\x30\x35\x36\x38\x31\x20\x32\x2e\x30\x32\x37\x38\x38\x2c\x30\x2e\
+\x36\x34\x33\x36\x32\x33\x20\x32\x2e\x30\x33\x38\x34\x2c\x30\x2e\
+\x35\x39\x30\x38\x30\x34\x20\x30\x2e\x33\x38\x34\x39\x39\x2c\x2d\
+\x31\x2e\x39\x33\x32\x36\x31\x32\x20\x2d\x31\x2e\x36\x39\x33\x31\
+\x35\x2c\x2d\x32\x2e\x35\x38\x34\x30\x37\x37\x20\x2d\x31\x2e\x36\
+\x38\x38\x35\x35\x2c\x2d\x32\x2e\x35\x39\x34\x33\x34\x35\x20\x31\
+\x2e\x31\x36\x35\x31\x35\x2c\x2d\x32\x2e\x36\x30\x30\x39\x30\x38\
+\x20\x6c\x20\x32\x2e\x38\x36\x35\x30\x31\x2c\x2d\x30\x2e\x30\x30\
+\x36\x36\x20\x2d\x32\x2e\x38\x32\x30\x32\x33\x2c\x2d\x31\x2e\x38\
+\x35\x39\x34\x37\x32\x20\x63\x20\x2d\x32\x2e\x32\x32\x38\x37\x32\
+\x2c\x2d\x31\x2e\x34\x36\x39\x34\x36\x32\x20\x2d\x32\x2e\x34\x39\
+\x34\x34\x33\x2c\x2d\x31\x2e\x39\x38\x34\x34\x39\x35\x20\x2d\x31\
+\x2e\x32\x36\x36\x38\x36\x2c\x2d\x32\x2e\x34\x35\x35\x35\x35\x36\
+\x20\x31\x2e\x39\x34\x33\x36\x37\x2c\x2d\x30\x2e\x37\x34\x35\x38\
+\x35\x37\x20\x30\x2e\x39\x38\x33\x30\x37\x2c\x2d\x33\x2e\x36\x32\
+\x32\x39\x32\x33\x20\x2d\x31\x2e\x32\x36\x39\x39\x2c\x2d\x33\x2e\
+\x38\x30\x33\x34\x33\x35\x20\x2d\x30\x2e\x39\x30\x33\x36\x35\x2c\
+\x2d\x30\x2e\x30\x37\x32\x34\x20\x2d\x30\x2e\x30\x36\x38\x2c\x2d\
+\x30\x2e\x34\x33\x33\x34\x32\x38\x20\x31\x2e\x38\x35\x36\x39\x39\
+\x2c\x2d\x30\x2e\x38\x30\x32\x32\x37\x39\x20\x33\x2e\x34\x36\x36\
+\x31\x34\x2c\x2d\x30\x2e\x36\x36\x34\x31\x35\x20\x36\x2c\x30\x2e\
+\x32\x35\x33\x35\x32\x36\x20\x36\x2c\x32\x2e\x31\x37\x32\x39\x39\
+\x36\x20\x30\x2c\x30\x2e\x35\x34\x36\x38\x30\x33\x20\x2d\x30\x2e\
+\x39\x33\x35\x35\x35\x2c\x30\x2e\x37\x34\x39\x35\x33\x36\x20\x2d\
+\x32\x2e\x30\x37\x38\x39\x39\x2c\x30\x2e\x34\x35\x30\x35\x31\x39\
+\x20\x2d\x31\x2e\x35\x36\x36\x37\x39\x2c\x2d\x30\x2e\x34\x30\x39\
+\x37\x32\x35\x20\x2d\x31\x2e\x39\x33\x35\x32\x39\x2c\x2d\x30\x2e\
+\x31\x36\x39\x32\x30\x31\x20\x2d\x31\x2e\x34\x39\x35\x37\x34\x2c\
+\x30\x2e\x39\x37\x36\x32\x36\x39\x20\x31\x2e\x37\x30\x38\x34\x39\
+\x2c\x34\x2e\x34\x35\x32\x32\x34\x39\x20\x31\x2e\x37\x36\x32\x39\
+\x2c\x36\x2e\x33\x33\x34\x31\x33\x36\x20\x30\x2e\x31\x38\x33\x31\
+\x34\x2c\x36\x2e\x33\x33\x34\x31\x33\x36\x20\x2d\x31\x2e\x33\x34\
+\x37\x33\x35\x2c\x30\x20\x2d\x31\x2e\x32\x38\x33\x37\x39\x2c\x30\
+\x2e\x33\x32\x34\x36\x32\x31\x20\x30\x2e\x33\x39\x31\x35\x39\x2c\
+\x32\x20\x31\x2e\x31\x2c\x31\x2e\x31\x20\x32\x2e\x30\x30\x36\x31\
+\x34\x2c\x33\x2e\x30\x31\x32\x35\x20\x32\x2e\x30\x31\x33\x36\x35\
+\x2c\x34\x2e\x32\x35\x20\x30\x2e\x30\x30\x38\x2c\x31\x2e\x32\x33\
+\x37\x35\x20\x30\x2e\x32\x38\x30\x33\x37\x2c\x33\x2e\x32\x34\x34\
+\x38\x31\x33\x20\x30\x2e\x36\x30\x36\x33\x36\x2c\x34\x2e\x34\x36\
+\x30\x36\x39\x36\x20\x30\x2e\x35\x33\x39\x2c\x32\x2e\x30\x31\x30\
+\x34\x32\x31\x20\x30\x2e\x33\x33\x33\x39\x33\x2c\x32\x2e\x31\x34\
+\x33\x39\x36\x32\x20\x2d\x32\x2e\x32\x36\x33\x36\x36\x2c\x31\x2e\
+\x34\x37\x34\x30\x36\x34\x20\x2d\x34\x2e\x37\x36\x33\x34\x34\x2c\
+\x2d\x31\x2e\x32\x32\x38\x34\x35\x35\x20\x2d\x38\x2e\x33\x35\x37\
+\x37\x39\x2c\x2d\x30\x2e\x33\x31\x31\x31\x36\x36\x20\x2d\x39\x2e\
+\x33\x38\x36\x38\x39\x2c\x32\x2e\x33\x39\x35\x35\x35\x36\x20\x2d\
+\x30\x2e\x38\x30\x39\x32\x38\x2c\x32\x2e\x31\x32\x38\x35\x37\x34\
+\x20\x2d\x31\x2e\x34\x39\x39\x36\x37\x2c\x32\x2e\x34\x31\x35\x37\
+\x38\x31\x20\x2d\x35\x2e\x34\x34\x38\x30\x39\x2c\x32\x2e\x32\x36\
+\x36\x34\x33\x34\x20\x2d\x32\x2e\x34\x38\x36\x37\x35\x2c\x2d\x30\
+\x2e\x30\x39\x34\x30\x36\x20\x2d\x34\x2e\x35\x30\x37\x30\x36\x2c\
+\x2d\x30\x2e\x34\x33\x35\x35\x35\x39\x20\x2d\x34\x2e\x34\x38\x39\
+\x35\x37\x2c\x2d\x30\x2e\x37\x35\x38\x38\x38\x35\x20\x7a\x20\x4d\
+\x20\x31\x35\x33\x2c\x35\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x35\x20\x2d\x30\x2e\x34\x37\x36\x35\x36\x2c\x2d\x31\x20\x2d\x31\
+\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x2d\x30\x2e\x35\x38\x32\
+\x34\x36\x2c\x30\x20\x2d\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\
+\x35\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x30\x2e\x33\
+\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x30\x2e\x38\x31\x36\x34\
+\x38\x2c\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x43\x20\
+\x31\x35\x32\x2e\x38\x30\x31\x35\x36\x2c\x35\x36\x20\x31\x35\x33\
+\x2c\x35\x35\x2e\x35\x35\x20\x31\x35\x33\x2c\x35\x35\x20\x7a\x20\
+\x4d\x20\x39\x38\x2e\x36\x30\x36\x39\x38\x39\x2c\x35\x38\x2e\x34\
+\x31\x38\x32\x31\x33\x20\x43\x20\x39\x37\x2e\x37\x30\x39\x2c\x35\
+\x36\x2e\x30\x37\x38\x30\x39\x32\x20\x39\x37\x2e\x37\x37\x33\x35\
+\x38\x37\x2c\x35\x36\x20\x31\x30\x30\x2e\x36\x30\x36\x39\x39\x2c\
+\x35\x36\x20\x63\x20\x31\x2e\x39\x36\x36\x33\x39\x2c\x30\x20\x32\
+\x2e\x34\x35\x37\x38\x34\x2c\x30\x2e\x33\x38\x38\x36\x38\x32\x20\
+\x32\x2c\x31\x2e\x35\x38\x31\x37\x38\x37\x20\x2d\x30\x2e\x33\x33\
+\x33\x38\x35\x2c\x30\x2e\x38\x36\x39\x39\x38\x34\x20\x2d\x30\x2e\
+\x36\x30\x36\x39\x39\x2c\x31\x2e\x37\x36\x39\x39\x38\x34\x20\x2d\
+\x30\x2e\x36\x30\x36\x39\x39\x2c\x32\x20\x30\x2c\x31\x2e\x31\x38\
+\x31\x35\x36\x39\x20\x2d\x32\x2e\x38\x37\x30\x38\x39\x32\x2c\x30\
+\x2e\x31\x39\x37\x30\x34\x36\x20\x2d\x33\x2e\x33\x39\x33\x30\x31\
+\x31\x2c\x2d\x31\x2e\x31\x36\x33\x35\x37\x34\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\
+\x32\x38\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x61\x32\x39\x63\x39\x63\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\x33\x33\x2e\x30\x35\x34\
+\x39\x33\x2c\x32\x31\x30\x2e\x38\x31\x34\x32\x34\x20\x63\x20\x2d\
+\x30\x2e\x35\x31\x30\x34\x39\x2c\x2d\x31\x2e\x32\x37\x32\x38\x33\
+\x20\x2d\x30\x2e\x39\x35\x36\x36\x38\x2c\x2d\x31\x2e\x37\x32\x35\
+\x31\x38\x20\x2d\x30\x2e\x39\x39\x31\x35\x34\x2c\x2d\x31\x2e\x30\
+\x30\x35\x32\x32\x20\x2d\x30\x2e\x30\x33\x34\x39\x2c\x30\x2e\x37\
+\x31\x39\x39\x36\x20\x2d\x30\x2e\x34\x38\x32\x33\x2c\x31\x2e\x30\
+\x35\x30\x31\x32\x20\x2d\x30\x2e\x39\x39\x34\x32\x39\x2c\x30\x2e\
+\x37\x33\x33\x36\x39\x20\x2d\x30\x2e\x35\x31\x32\x2c\x2d\x30\x2e\
+\x33\x31\x36\x34\x34\x20\x2d\x31\x2e\x32\x31\x33\x35\x36\x2c\x2d\
+\x30\x2e\x31\x31\x37\x39\x39\x20\x2d\x31\x2e\x35\x35\x39\x30\x32\
+\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x2d\x31\x2e\x31\x37\x39\x34\
+\x38\x2c\x31\x2e\x39\x30\x38\x34\x33\x20\x2d\x34\x2e\x33\x35\x36\
+\x32\x37\x2c\x31\x2e\x30\x39\x32\x36\x38\x20\x2d\x34\x2e\x38\x30\
+\x34\x33\x35\x2c\x2d\x31\x2e\x32\x33\x33\x36\x39\x20\x2d\x30\x2e\
+\x34\x31\x30\x31\x32\x2c\x2d\x32\x2e\x31\x32\x39\x32\x39\x20\x2d\
+\x30\x2e\x34\x34\x30\x36\x37\x2c\x2d\x32\x2e\x31\x33\x36\x37\x36\
+\x20\x2d\x30\x2e\x35\x36\x39\x35\x35\x2c\x2d\x30\x2e\x31\x33\x39\
+\x32\x38\x20\x2d\x30\x2e\x31\x31\x34\x31\x35\x2c\x31\x2e\x37\x36\
+\x39\x32\x33\x20\x2d\x30\x2e\x36\x39\x31\x32\x2c\x32\x2e\x30\x36\
+\x36\x36\x38\x20\x2d\x33\x2e\x35\x36\x36\x38\x31\x2c\x31\x2e\x38\
+\x33\x38\x35\x31\x20\x2d\x33\x2e\x32\x36\x35\x32\x39\x2c\x2d\x30\
+\x2e\x32\x35\x39\x30\x39\x20\x2d\x38\x2e\x33\x36\x37\x39\x36\x2c\
+\x2d\x32\x2e\x33\x35\x34\x39\x36\x20\x2d\x35\x2e\x38\x38\x38\x39\
+\x32\x2c\x2d\x32\x2e\x34\x31\x38\x38\x32\x20\x30\x2e\x36\x34\x39\
+\x32\x35\x2c\x2d\x30\x2e\x30\x31\x36\x37\x20\x31\x2e\x33\x37\x35\
+\x34\x36\x2c\x2d\x31\x2e\x30\x34\x32\x39\x31\x20\x31\x2e\x36\x31\
+\x33\x38\x32\x2c\x2d\x32\x2e\x32\x38\x30\x34\x31\x20\x6c\x20\x30\
+\x2e\x34\x33\x33\x33\x37\x2c\x2d\x32\x2e\x32\x35\x20\x30\x2e\x31\
+\x33\x36\x31\x38\x2c\x32\x2e\x32\x35\x20\x63\x20\x30\x2e\x31\x33\
+\x32\x37\x35\x2c\x32\x2e\x31\x39\x33\x32\x35\x20\x33\x2e\x31\x33\
+\x36\x31\x38\x2c\x33\x2e\x33\x33\x33\x38\x32\x20\x33\x2e\x31\x33\
+\x36\x31\x38\x2c\x31\x2e\x31\x39\x30\x39\x38\x20\x30\x2c\x2d\x30\
+\x2e\x35\x38\x32\x34\x36\x20\x30\x2e\x34\x35\x2c\x2d\x30\x2e\x37\
+\x38\x30\x39\x20\x31\x2c\x2d\x30\x2e\x34\x34\x30\x39\x38\x20\x30\
+\x2e\x35\x35\x2c\x30\x2e\x33\x33\x39\x39\x32\x20\x31\x2c\x30\x2e\
+\x31\x34\x31\x34\x38\x20\x31\x2c\x2d\x30\x2e\x34\x34\x30\x39\x38\
+\x20\x30\x2c\x2d\x30\x2e\x35\x38\x32\x34\x36\x20\x30\x2e\x33\x33\
+\x37\x35\x2c\x2d\x31\x2e\x30\x30\x35\x37\x33\x20\x30\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x39\x34\x30\x36\x20\x30\x2e\x34\x31\x32\x35\x2c\
+\x30\x2e\x30\x36\x35\x31\x20\x31\x2e\x38\x37\x35\x2c\x30\x2e\x30\
+\x31\x32\x39\x20\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x31\x31\x36\x20\
+\x31\x2e\x37\x38\x36\x36\x31\x2c\x2d\x30\x2e\x31\x36\x37\x35\x33\
+\x20\x32\x2e\x30\x30\x30\x36\x33\x2c\x2d\x30\x2e\x33\x36\x34\x39\
+\x32\x20\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x36\x39\x31\x37\x35\x20\
+\x2d\x32\x2e\x35\x33\x39\x31\x34\x2c\x2d\x30\x2e\x36\x36\x33\x35\
+\x34\x20\x2d\x32\x2e\x31\x35\x32\x36\x2c\x2d\x32\x2e\x32\x37\x33\
+\x33\x37\x20\x30\x2e\x34\x32\x36\x35\x39\x2c\x2d\x31\x2e\x37\x37\
+\x36\x36\x36\x20\x31\x2e\x36\x36\x38\x38\x35\x2c\x30\x2e\x33\x32\
+\x31\x33\x39\x20\x31\x2e\x39\x30\x32\x31\x32\x2c\x30\x2e\x31\x34\
+\x34\x37\x20\x31\x2c\x2d\x30\x2e\x37\x35\x37\x34\x32\x20\x2d\x31\
+\x2e\x36\x33\x35\x34\x37\x2c\x2d\x31\x2e\x36\x33\x35\x34\x37\x20\
+\x2d\x31\x2e\x34\x33\x32\x36\x31\x2c\x2d\x32\x2e\x38\x38\x39\x30\
+\x32\x20\x30\x2e\x39\x32\x36\x31\x36\x2c\x2d\x35\x2e\x37\x32\x33\
+\x31\x38\x20\x31\x2e\x36\x38\x30\x33\x38\x2c\x2d\x32\x2e\x30\x31\
+\x39\x30\x34\x20\x32\x2e\x31\x39\x36\x31\x35\x2c\x2d\x32\x2e\x31\
+\x39\x33\x38\x20\x32\x2e\x39\x35\x31\x34\x32\x2c\x2d\x31\x20\x30\
+\x2e\x37\x39\x30\x37\x32\x2c\x31\x2e\x32\x34\x39\x38\x33\x20\x30\
+\x2e\x39\x33\x30\x38\x35\x2c\x31\x2e\x32\x34\x32\x35\x36\x20\x31\
+\x2e\x30\x33\x30\x32\x2c\x2d\x30\x2e\x30\x35\x33\x34\x20\x30\x2e\
+\x30\x36\x33\x32\x2c\x2d\x30\x2e\x38\x32\x35\x20\x30\x2e\x34\x33\
+\x37\x30\x31\x2c\x2d\x30\x2e\x33\x37\x35\x20\x30\x2e\x38\x33\x30\
+\x35\x39\x2c\x31\x20\x30\x2e\x34\x35\x37\x37\x2c\x31\x2e\x35\x39\
+\x39\x30\x31\x20\x30\x2e\x39\x37\x33\x38\x34\x2c\x2d\x31\x2e\x36\
+\x33\x37\x39\x39\x20\x31\x2e\x34\x33\x32\x31\x35\x2c\x2d\x38\x2e\
+\x39\x38\x31\x38\x33\x20\x30\x2e\x33\x39\x34\x31\x2c\x2d\x36\x2e\
+\x33\x31\x35\x30\x31\x20\x31\x2e\x31\x35\x32\x32\x33\x2c\x2d\x31\
+\x31\x2e\x39\x31\x37\x35\x31\x20\x31\x2e\x36\x38\x34\x37\x32\x2c\
+\x2d\x31\x32\x2e\x34\x35\x20\x30\x2e\x35\x33\x32\x34\x39\x2c\x2d\
+\x30\x2e\x35\x33\x32\x34\x39\x20\x30\x2e\x39\x36\x38\x31\x37\x2c\
+\x2d\x31\x2e\x35\x37\x31\x39\x39\x20\x30\x2e\x39\x36\x38\x31\x37\
+\x2c\x2d\x32\x2e\x33\x30\x39\x39\x38\x20\x30\x2c\x2d\x30\x2e\x37\
+\x33\x38\x20\x30\x2e\x38\x38\x34\x34\x34\x2c\x2d\x32\x2e\x32\x39\
+\x31\x31\x35\x20\x31\x2e\x39\x36\x35\x34\x32\x2c\x2d\x33\x2e\x34\
+\x35\x31\x34\x35\x20\x31\x2e\x30\x38\x30\x39\x38\x2c\x2d\x31\x2e\
+\x31\x36\x30\x32\x39\x20\x31\x2e\x37\x34\x31\x36\x34\x2c\x2d\x32\
+\x2e\x34\x37\x31\x37\x31\x20\x31\x2e\x34\x36\x38\x31\x33\x2c\x2d\
+\x32\x2e\x39\x31\x34\x32\x35\x20\x2d\x30\x2e\x32\x37\x33\x35\x2c\
+\x2d\x30\x2e\x34\x34\x32\x35\x35\x20\x30\x2e\x36\x35\x33\x35\x36\
+\x2c\x2d\x31\x2e\x35\x35\x38\x36\x39\x20\x32\x2e\x30\x36\x30\x31\
+\x35\x2c\x2d\x32\x2e\x34\x38\x30\x33\x32\x20\x31\x2e\x38\x36\x35\
+\x33\x33\x2c\x2d\x31\x2e\x32\x32\x32\x32\x31\x20\x32\x2e\x34\x30\
+\x32\x32\x38\x2c\x2d\x32\x2e\x32\x34\x38\x39\x35\x20\x31\x2e\x39\
+\x38\x34\x31\x32\x2c\x2d\x33\x2e\x37\x39\x33\x39\x33\x20\x2d\x30\
+\x2e\x35\x32\x36\x30\x37\x2c\x2d\x31\x2e\x39\x34\x33\x36\x36\x20\
+\x2d\x30\x2e\x34\x37\x39\x30\x34\x2c\x2d\x31\x2e\x39\x36\x37\x31\
+\x36\x20\x30\x2e\x35\x37\x30\x36\x34\x2c\x2d\x30\x2e\x32\x38\x35\
+\x31\x31\x20\x30\x2e\x39\x32\x37\x30\x33\x2c\x31\x2e\x34\x38\x35\
+\x35\x31\x20\x30\x2e\x37\x34\x36\x34\x36\x2c\x32\x2e\x32\x35\x36\
+\x32\x37\x20\x2d\x30\x2e\x39\x35\x32\x32\x35\x2c\x34\x2e\x30\x36\
+\x34\x34\x35\x20\x2d\x31\x2e\x31\x35\x32\x39\x31\x2c\x31\x2e\x32\
+\x32\x37\x32\x33\x20\x2d\x32\x2e\x30\x39\x36\x32\x31\x2c\x32\x2e\
+\x35\x35\x38\x36\x34\x20\x2d\x32\x2e\x30\x39\x36\x32\x31\x2c\x32\
+\x2e\x39\x35\x38\x36\x38\x20\x30\x2c\x30\x2e\x34\x30\x30\x30\x35\
+\x20\x2d\x30\x2e\x38\x36\x36\x39\x37\x2c\x31\x2e\x36\x35\x37\x39\
+\x35\x20\x2d\x31\x2e\x39\x32\x36\x35\x39\x2c\x32\x2e\x37\x39\x35\
+\x33\x32\x20\x2d\x32\x2e\x38\x31\x31\x37\x33\x2c\x33\x2e\x30\x31\
+\x38\x30\x34\x20\x2d\x34\x2e\x30\x39\x32\x32\x33\x2c\x39\x2e\x38\
+\x31\x38\x37\x36\x20\x2d\x34\x2e\x33\x34\x37\x35\x34\x2c\x32\x33\
+\x2e\x30\x38\x39\x36\x38\x20\x2d\x30\x2e\x31\x32\x34\x32\x33\x2c\
+\x36\x2e\x34\x35\x37\x37\x20\x2d\x30\x2e\x35\x32\x39\x34\x34\x2c\
+\x31\x31\x2e\x37\x34\x35\x32\x20\x2d\x30\x2e\x39\x30\x30\x34\x36\
+\x2c\x31\x31\x2e\x37\x35\x20\x2d\x30\x2e\x33\x37\x31\x30\x33\x2c\
+\x30\x2e\x30\x30\x35\x20\x2d\x30\x2e\x34\x38\x32\x36\x32\x2c\x31\
+\x2e\x35\x35\x36\x36\x32\x20\x2d\x30\x2e\x32\x34\x37\x39\x37\x2c\
+\x33\x2e\x34\x34\x38\x34\x36\x20\x30\x2e\x35\x30\x35\x34\x36\x2c\
+\x34\x2e\x30\x37\x35\x32\x36\x20\x2d\x31\x2e\x31\x39\x37\x34\x39\
+\x2c\x35\x2e\x36\x37\x38\x33\x31\x20\x2d\x32\x2e\x35\x32\x32\x35\
+\x31\x2c\x32\x2e\x33\x37\x34\x35\x32\x20\x7a\x20\x4d\x20\x31\x33\
+\x33\x2c\x32\x30\x36\x20\x63\x20\x30\x2c\x2d\x31\x2e\x31\x31\x36\
+\x31\x20\x2d\x30\x2e\x36\x36\x36\x36\x37\x2c\x2d\x32\x20\x2d\x31\
+\x2e\x35\x30\x38\x34\x37\x2c\x2d\x32\x20\x2d\x31\x2e\x32\x35\x38\
+\x31\x35\x2c\x30\x20\x2d\x31\x2e\x33\x30\x31\x32\x31\x2c\x30\x2e\
+\x33\x33\x31\x38\x39\x20\x2d\x30\x2e\x32\x35\x39\x34\x36\x2c\x32\
+\x20\x30\x2e\x36\x38\x36\x39\x36\x2c\x31\x2e\x31\x20\x31\x2e\x33\
+\x36\x35\x37\x38\x2c\x32\x20\x31\x2e\x35\x30\x38\x34\x38\x2c\x32\
+\x20\x30\x2e\x31\x34\x32\x37\x2c\x30\x20\x30\x2e\x32\x35\x39\x34\
+\x35\x2c\x2d\x30\x2e\x39\x20\x30\x2e\x32\x35\x39\x34\x35\x2c\x2d\
+\x32\x20\x7a\x20\x6d\x20\x2d\x32\x33\x2e\x31\x36\x34\x37\x37\x2c\
+\x31\x2e\x36\x38\x31\x33\x32\x20\x63\x20\x2d\x30\x2e\x37\x34\x37\
+\x35\x35\x2c\x2d\x30\x2e\x36\x34\x39\x37\x33\x20\x2d\x31\x2e\x31\
+\x38\x32\x31\x32\x2c\x2d\x31\x2e\x30\x38\x34\x36\x35\x20\x2d\x30\
+\x2e\x39\x36\x35\x37\x32\x2c\x2d\x30\x2e\x39\x36\x36\x35\x20\x30\
+\x2e\x32\x31\x36\x34\x2c\x30\x2e\x31\x31\x38\x31\x35\x20\x31\x2e\
+\x32\x38\x38\x35\x39\x2c\x2d\x30\x2e\x32\x36\x34\x32\x35\x20\x32\
+\x2e\x33\x38\x32\x36\x35\x2c\x2d\x30\x2e\x38\x34\x39\x37\x37\x20\
+\x31\x2e\x32\x36\x35\x30\x39\x2c\x2d\x30\x2e\x36\x37\x37\x30\x36\
+\x20\x31\x2e\x37\x36\x30\x39\x39\x2c\x2d\x30\x2e\x36\x39\x35\x33\
+\x34\x20\x31\x2e\x33\x36\x32\x32\x39\x2c\x2d\x30\x2e\x30\x35\x30\
+\x32\x20\x2d\x30\x2e\x33\x34\x34\x38\x2c\x30\x2e\x35\x35\x37\x39\
+\x20\x2d\x30\x2e\x30\x38\x34\x34\x2c\x31\x2e\x31\x39\x35\x32\x31\
+\x20\x30\x2e\x35\x37\x38\x37\x36\x2c\x31\x2e\x34\x31\x36\x32\x35\
+\x20\x30\x2e\x37\x38\x37\x34\x38\x2c\x30\x2e\x32\x36\x32\x34\x39\
+\x20\x30\x2e\x36\x34\x39\x39\x33\x2c\x30\x2e\x36\x31\x35\x31\x34\
+\x20\x2d\x30\x2e\x33\x39\x36\x35\x37\x2c\x31\x2e\x30\x31\x36\x37\
+\x33\x20\x2d\x30\x2e\x38\x38\x31\x32\x33\x2c\x30\x2e\x33\x33\x38\
+\x31\x36\x20\x2d\x32\x2e\x32\x31\x33\x38\x37\x2c\x30\x2e\x30\x38\
+\x33\x32\x20\x2d\x32\x2e\x39\x36\x31\x34\x31\x2c\x2d\x30\x2e\x35\
+\x36\x36\x34\x38\x20\x7a\x20\x4d\x20\x31\x30\x35\x2e\x35\x2c\x32\
+\x30\x34\x20\x63\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\
+\x35\x35\x20\x31\x2e\x30\x36\x38\x30\x33\x2c\x2d\x31\x20\x31\x2e\
+\x36\x31\x38\x30\x33\x2c\x2d\x31\x20\x30\x2e\x35\x35\x2c\x30\x20\
+\x30\x2e\x37\x32\x31\x38\x39\x2c\x30\x2e\x34\x35\x20\x30\x2e\x33\
+\x38\x31\x39\x37\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\
+\x30\x2e\x35\x35\x20\x2d\x31\x2e\x30\x36\x38\x30\x33\x2c\x31\x20\
+\x2d\x31\x2e\x36\x31\x38\x30\x33\x2c\x31\x20\x2d\x30\x2e\x35\x35\
+\x2c\x30\x20\x2d\x30\x2e\x37\x32\x31\x38\x39\x2c\x2d\x30\x2e\x34\
+\x35\x20\x2d\x30\x2e\x33\x38\x31\x39\x37\x2c\x2d\x31\x20\x7a\x20\
+\x6d\x20\x2d\x31\x2e\x31\x30\x33\x31\x38\x2c\x2d\x31\x32\x2e\x34\
+\x33\x38\x39\x20\x63\x20\x2d\x30\x2e\x38\x36\x34\x38\x39\x2c\x2d\
+\x31\x2e\x38\x33\x32\x36\x39\x20\x2d\x30\x2e\x37\x30\x38\x35\x35\
+\x2c\x2d\x32\x2e\x31\x38\x37\x33\x34\x20\x31\x2e\x30\x32\x31\x36\
+\x39\x2c\x2d\x32\x2e\x33\x31\x37\x36\x37\x20\x31\x2e\x31\x32\x33\
+\x35\x37\x2c\x2d\x30\x2e\x30\x38\x34\x36\x20\x32\x2e\x35\x36\x30\
+\x38\x32\x2c\x2d\x30\x2e\x38\x36\x32\x32\x36\x20\x33\x2e\x31\x39\
+\x33\x39\x2c\x2d\x31\x2e\x37\x32\x38\x30\x35\x20\x31\x2e\x30\x33\
+\x37\x34\x39\x2c\x2d\x31\x2e\x34\x31\x38\x38\x35\x20\x31\x2e\x32\
+\x31\x36\x30\x36\x2c\x2d\x31\x2e\x34\x30\x34\x37\x37\x20\x31\x2e\
+\x38\x30\x39\x39\x2c\x30\x2e\x31\x34\x32\x37\x37\x20\x30\x2e\x34\
+\x30\x30\x35\x38\x2c\x31\x2e\x30\x34\x33\x38\x39\x20\x30\x2e\x30\
+\x37\x34\x33\x2c\x32\x2e\x30\x34\x34\x30\x36\x20\x2d\x30\x2e\x38\
+\x33\x32\x33\x37\x2c\x32\x2e\x35\x35\x31\x34\x35\x20\x2d\x30\x2e\
+\x38\x32\x30\x31\x36\x2c\x30\x2e\x34\x35\x38\x39\x39\x20\x2d\x32\
+\x2e\x30\x39\x34\x33\x38\x2c\x31\x2e\x34\x33\x37\x37\x20\x2d\x32\
+\x2e\x38\x33\x31\x35\x39\x2c\x32\x2e\x31\x37\x34\x39\x31\x20\x2d\
+\x31\x2e\x31\x32\x30\x35\x31\x2c\x31\x2e\x31\x32\x30\x35\x31\x20\
+\x2d\x31\x2e\x35\x30\x37\x38\x39\x2c\x30\x2e\x39\x38\x35\x34\x34\
+\x20\x2d\x32\x2e\x33\x36\x31\x35\x33\x2c\x2d\x30\x2e\x38\x32\x33\
+\x34\x31\x20\x7a\x20\x6d\x20\x32\x35\x2e\x36\x31\x38\x34\x39\x2c\
+\x2d\x31\x2e\x31\x39\x34\x34\x37\x20\x63\x20\x2d\x30\x2e\x30\x32\
+\x30\x34\x2c\x2d\x31\x2e\x35\x31\x32\x38\x37\x20\x2d\x34\x2e\x30\
+\x30\x36\x33\x33\x2c\x2d\x32\x2e\x35\x32\x30\x37\x35\x20\x2d\x34\
+\x2e\x30\x34\x35\x37\x32\x2c\x2d\x31\x2e\x30\x32\x33\x30\x31\x20\
+\x2d\x30\x2e\x30\x31\x36\x37\x2c\x30\x2e\x36\x33\x36\x30\x31\x20\
+\x2d\x30\x2e\x34\x39\x30\x37\x35\x2c\x30\x2e\x33\x36\x35\x39\x31\
+\x20\x2d\x31\x2e\x30\x35\x33\x33\x39\x2c\x2d\x30\x2e\x36\x30\x30\
+\x32\x33\x20\x2d\x30\x2e\x37\x39\x30\x31\x34\x2c\x2d\x31\x2e\x33\
+\x35\x36\x38\x20\x2d\x31\x2e\x34\x35\x32\x32\x32\x2c\x2d\x31\x2e\
+\x35\x32\x36\x38\x39\x20\x2d\x32\x2e\x39\x30\x38\x39\x2c\x2d\x30\
+\x2e\x37\x34\x37\x33\x20\x2d\x31\x2e\x30\x33\x37\x32\x36\x2c\x30\
+\x2e\x35\x35\x35\x31\x33\x20\x2d\x32\x2e\x31\x32\x37\x32\x39\x2c\
+\x30\x2e\x36\x31\x38\x37\x38\x20\x2d\x32\x2e\x34\x32\x32\x32\x39\
+\x2c\x30\x2e\x31\x34\x31\x34\x36\x20\x2d\x30\x2e\x35\x37\x30\x35\
+\x33\x2c\x2d\x30\x2e\x39\x32\x33\x31\x34\x20\x2d\x34\x2e\x38\x30\
+\x36\x37\x34\x2c\x2d\x30\x2e\x37\x33\x36\x35\x38\x20\x2d\x36\x2e\
+\x34\x35\x38\x37\x38\x2c\x30\x2e\x32\x38\x34\x34\x33\x20\x2d\x30\
+\x2e\x35\x34\x33\x34\x32\x2c\x30\x2e\x33\x33\x35\x38\x36\x20\x2d\
+\x31\x2e\x32\x34\x31\x30\x32\x2c\x30\x2e\x32\x30\x31\x33\x31\x20\
+\x2d\x31\x2e\x35\x35\x30\x32\x32\x2c\x2d\x30\x2e\x32\x39\x38\x39\
+\x39\x20\x2d\x30\x2e\x36\x39\x30\x38\x39\x2c\x2d\x31\x2e\x31\x31\
+\x37\x38\x39\x20\x33\x2e\x31\x36\x32\x34\x39\x2c\x2d\x32\x2e\x31\
+\x35\x30\x30\x34\x20\x31\x30\x2e\x33\x37\x36\x33\x32\x2c\x2d\x32\
+\x2e\x37\x37\x39\x33\x39\x20\x32\x2e\x39\x39\x38\x37\x39\x2c\x2d\
+\x30\x2e\x32\x36\x31\x36\x31\x20\x35\x2e\x37\x38\x30\x31\x39\x2c\
+\x2d\x30\x2e\x36\x37\x38\x32\x39\x20\x36\x2e\x31\x38\x30\x39\x31\
+\x2c\x2d\x30\x2e\x39\x32\x35\x39\x34\x20\x30\x2e\x34\x30\x30\x37\
+\x31\x2c\x2d\x30\x2e\x32\x34\x37\x36\x36\x20\x31\x2e\x30\x31\x31\
+\x32\x32\x2c\x30\x2e\x30\x30\x37\x20\x31\x2e\x33\x35\x36\x36\x38\
+\x2c\x30\x2e\x35\x36\x36\x30\x33\x20\x30\x2e\x33\x34\x35\x34\x36\
+\x2c\x30\x2e\x35\x35\x38\x39\x37\x20\x31\x2e\x35\x30\x31\x35\x36\
+\x2c\x31\x2e\x30\x31\x36\x33\x31\x20\x32\x2e\x35\x36\x39\x31\x2c\
+\x31\x2e\x30\x31\x36\x33\x31\x20\x31\x2e\x34\x35\x34\x34\x38\x2c\
+\x30\x20\x31\x2e\x39\x33\x37\x31\x34\x2c\x30\x2e\x36\x38\x39\x32\
+\x38\x20\x31\x2e\x39\x32\x35\x36\x37\x2c\x32\x2e\x37\x35\x20\x2d\
+\x30\x2e\x30\x31\x32\x2c\x32\x2e\x31\x35\x36\x31\x35\x20\x2d\x30\
+\x2e\x32\x32\x37\x39\x35\x2c\x32\x2e\x34\x32\x36\x30\x38\x20\x2d\
+\x31\x2c\x31\x2e\x32\x35\x20\x2d\x30\x2e\x38\x37\x35\x32\x38\x2c\
+\x2d\x31\x2e\x33\x33\x33\x33\x33\x20\x2d\x31\x2e\x30\x39\x34\x31\
+\x2c\x2d\x31\x2e\x33\x33\x33\x33\x33\x20\x2d\x31\x2e\x39\x36\x39\
+\x33\x38\x2c\x30\x20\x2d\x30\x2e\x35\x34\x31\x35\x38\x2c\x30\x2e\
+\x38\x32\x35\x20\x2d\x30\x2e\x39\x39\x31\x35\x38\x2c\x30\x2e\x39\
+\x38\x39\x39\x38\x20\x2d\x31\x2c\x30\x2e\x33\x36\x36\x36\x33\x20\
+\x7a\x20\x4d\x20\x31\x30\x34\x2c\x31\x38\x34\x2e\x31\x37\x33\x31\
+\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x34\x35\x34\x37\x34\x20\x31\
+\x2e\x33\x35\x2c\x2d\x30\x2e\x36\x32\x38\x36\x37\x20\x33\x2c\x2d\
+\x30\x2e\x33\x38\x36\x35\x20\x31\x2e\x36\x35\x2c\x30\x2e\x32\x34\
+\x32\x31\x37\x20\x33\x2c\x30\x2e\x36\x31\x34\x32\x33\x20\x33\x2c\
+\x30\x2e\x38\x32\x36\x38\x31\x20\x30\x2c\x30\x2e\x32\x31\x32\x35\
+\x37\x20\x2d\x31\x2e\x33\x35\x2c\x30\x2e\x33\x38\x36\x35\x20\x2d\
+\x33\x2c\x30\x2e\x33\x38\x36\x35\x20\x2d\x31\x2e\x36\x35\x2c\x30\
+\x20\x2d\x33\x2c\x2d\x30\x2e\x33\x37\x32\x30\x36\x20\x2d\x33\x2c\
+\x2d\x30\x2e\x38\x32\x36\x38\x31\x20\x7a\x20\x6d\x20\x31\x36\x2e\
+\x32\x36\x39\x30\x33\x2c\x2d\x30\x2e\x38\x36\x36\x31\x38\x20\x63\
+\x20\x30\x2e\x39\x37\x32\x39\x37\x2c\x2d\x30\x2e\x32\x35\x33\x35\
+\x34\x20\x32\x2e\x33\x32\x32\x39\x37\x2c\x2d\x30\x2e\x32\x33\x36\
+\x38\x37\x20\x33\x2c\x30\x2e\x30\x33\x37\x31\x20\x30\x2e\x36\x37\
+\x37\x30\x33\x2c\x30\x2e\x32\x37\x33\x39\x33\x20\x2d\x30\x2e\x31\
+\x31\x39\x30\x33\x2c\x30\x2e\x34\x38\x31\x33\x37\x20\x2d\x31\x2e\
+\x37\x36\x39\x30\x33\x2c\x30\x2e\x34\x36\x30\x39\x39\x20\x2d\x31\
+\x2e\x36\x35\x2c\x2d\x30\x2e\x30\x32\x30\x34\x20\x2d\x32\x2e\x32\
+\x30\x33\x39\x34\x2c\x2d\x30\x2e\x32\x34\x34\x35\x20\x2d\x31\x2e\
+\x32\x33\x30\x39\x37\x2c\x2d\x30\x2e\x34\x39\x38\x30\x34\x20\x7a\
+\x20\x6d\x20\x38\x2e\x32\x33\x30\x39\x37\x2c\x2d\x31\x2e\x30\x35\
+\x30\x36\x20\x63\x20\x33\x2e\x32\x35\x36\x31\x32\x2c\x2d\x30\x2e\
+\x33\x38\x38\x30\x38\x20\x33\x2e\x36\x32\x38\x30\x36\x2c\x2d\x30\
+\x2e\x36\x32\x39\x31\x36\x20\x32\x2c\x2d\x31\x2e\x32\x39\x36\x32\
+\x39\x20\x2d\x31\x2e\x37\x33\x33\x37\x2c\x2d\x30\x2e\x37\x31\x30\
+\x34\x32\x20\x2d\x31\x2e\x36\x32\x32\x37\x34\x2c\x2d\x30\x2e\x38\
+\x32\x38\x39\x31\x20\x30\x2e\x38\x33\x33\x33\x33\x2c\x2d\x30\x2e\
+\x38\x38\x39\x38\x33\x20\x31\x2e\x38\x34\x30\x39\x32\x2c\x2d\x30\
+\x2e\x30\x34\x35\x37\x20\x32\x2e\x36\x38\x39\x33\x36\x2c\x30\x2e\
+\x33\x36\x37\x35\x34\x20\x32\x2e\x34\x32\x32\x32\x38\x2c\x31\x2e\
+\x31\x37\x39\x37\x31\x20\x2d\x30\x2e\x32\x33\x38\x30\x33\x2c\x30\
+\x2e\x37\x32\x33\x38\x35\x20\x2d\x32\x2e\x32\x37\x32\x34\x39\x2c\
+\x31\x2e\x32\x39\x39\x30\x37\x20\x2d\x34\x2e\x38\x33\x33\x33\x33\
+\x2c\x31\x2e\x33\x36\x36\x35\x37\x20\x6c\x20\x2d\x34\x2e\x34\x32\
+\x32\x32\x38\x2c\x30\x2e\x31\x31\x36\x35\x38\x20\x34\x2c\x2d\x30\
+\x2e\x34\x37\x36\x37\x34\x20\x7a\x20\x4d\x20\x31\x30\x34\x2c\x31\
+\x37\x38\x2e\x35\x36\x35\x31\x20\x63\x20\x30\x2c\x2d\x30\x2e\x32\
+\x33\x39\x32\x20\x30\x2e\x34\x30\x37\x36\x38\x2c\x2d\x31\x2e\x35\
+\x30\x37\x31\x37\x20\x30\x2e\x39\x30\x35\x39\x35\x2c\x2d\x32\x2e\
+\x38\x31\x37\x37\x32\x20\x30\x2e\x37\x30\x34\x32\x39\x2c\x2d\x31\
+\x2e\x38\x35\x32\x34\x33\x20\x32\x2e\x32\x30\x36\x37\x37\x2c\x2d\
+\x32\x2e\x36\x39\x37\x32\x20\x36\x2e\x37\x35\x2c\x2d\x33\x2e\x37\
+\x39\x35\x31\x37\x20\x35\x2e\x34\x31\x35\x32\x35\x2c\x2d\x31\x2e\
+\x33\x30\x38\x37\x32\x20\x35\x2e\x36\x32\x33\x39\x33\x2c\x2d\x31\
+\x2e\x34\x36\x30\x31\x36\x20\x32\x2e\x38\x34\x34\x30\x35\x2c\x2d\
+\x32\x2e\x30\x36\x33\x39\x36\x20\x6c\x20\x2d\x33\x2c\x2d\x30\x2e\
+\x36\x35\x31\x36\x32\x20\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x31\x31\
+\x38\x33\x32\x20\x63\x20\x31\x2e\x38\x35\x39\x30\x34\x2c\x2d\x30\
+\x2e\x30\x36\x37\x37\x20\x33\x2e\x32\x35\x2c\x30\x2e\x33\x37\x36\
+\x30\x31\x20\x33\x2e\x32\x35\x2c\x31\x2e\x30\x33\x36\x36\x38\x20\
+\x30\x2c\x30\x2e\x36\x39\x31\x30\x34\x20\x30\x2e\x37\x33\x34\x35\
+\x38\x2c\x30\x2e\x34\x39\x30\x32\x20\x31\x2e\x38\x32\x38\x37\x34\
+\x2c\x2d\x30\x2e\x35\x20\x31\x2e\x30\x30\x35\x38\x31\x2c\x2d\x30\
+\x2e\x39\x31\x30\x32\x35\x20\x32\x2e\x37\x35\x37\x36\x36\x2c\x2d\
+\x31\x2e\x36\x35\x34\x39\x39\x20\x33\x2e\x38\x39\x33\x30\x31\x2c\
+\x2d\x31\x2e\x36\x35\x34\x39\x39\x20\x31\x2e\x31\x33\x35\x33\x35\
+\x2c\x30\x20\x32\x2e\x33\x32\x33\x32\x39\x2c\x2d\x30\x2e\x36\x37\
+\x35\x20\x32\x2e\x36\x33\x39\x38\x38\x2c\x2d\x31\x2e\x35\x20\x30\
+\x2e\x33\x31\x36\x35\x38\x2c\x2d\x30\x2e\x38\x32\x35\x20\x31\x2e\
+\x31\x35\x32\x32\x32\x2c\x2d\x31\x2e\x34\x36\x34\x34\x37\x20\x31\
+\x2e\x38\x35\x36\x39\x39\x2c\x2d\x31\x2e\x34\x32\x31\x30\x35\x20\
+\x31\x2e\x30\x30\x33\x36\x34\x2c\x30\x2e\x30\x36\x31\x38\x20\x31\
+\x2e\x30\x31\x30\x34\x34\x2c\x30\x2e\x31\x38\x38\x32\x37\x20\x30\
+\x2e\x30\x33\x31\x34\x2c\x30\x2e\x35\x38\x33\x33\x33\x20\x2d\x30\
+\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x2d\x31\
+\x2e\x32\x35\x2c\x31\x2e\x31\x34\x31\x38\x39\x20\x2d\x31\x2e\x32\
+\x35\x2c\x31\x2e\x39\x32\x31\x30\x35\x20\x30\x2c\x30\x2e\x39\x30\
+\x37\x34\x31\x20\x2d\x31\x2e\x30\x37\x38\x34\x33\x2c\x31\x2e\x34\
+\x31\x36\x36\x37\x20\x2d\x33\x2c\x31\x2e\x34\x31\x36\x36\x37\x20\
+\x2d\x31\x2e\x36\x35\x2c\x30\x20\x2d\x33\x2c\x30\x2e\x34\x39\x38\
+\x31\x34\x20\x2d\x33\x2c\x31\x2e\x31\x30\x36\x39\x39\x20\x30\x2c\
+\x30\x2e\x36\x30\x38\x38\x34\x20\x30\x2e\x36\x32\x30\x31\x37\x2c\
+\x30\x2e\x38\x36\x39\x30\x31\x20\x31\x2e\x33\x37\x38\x31\x34\x2c\
+\x30\x2e\x35\x37\x38\x31\x34\x20\x30\x2e\x37\x35\x37\x39\x38\x2c\
+\x2d\x30\x2e\x32\x39\x30\x38\x36\x20\x31\x2e\x39\x33\x39\x32\x33\
+\x2c\x2d\x30\x2e\x30\x30\x32\x20\x32\x2e\x36\x32\x35\x2c\x30\x2e\
+\x36\x34\x33\x30\x31\x20\x30\x2e\x39\x35\x35\x31\x33\x2c\x30\x2e\
+\x38\x39\x37\x36\x38\x20\x31\x2e\x33\x35\x34\x31\x2c\x30\x2e\x38\
+\x37\x39\x33\x39\x20\x31\x2e\x37\x30\x35\x31\x39\x2c\x2d\x30\x2e\
+\x30\x37\x38\x31\x20\x30\x2e\x32\x35\x32\x30\x39\x2c\x2d\x30\x2e\
+\x36\x38\x37\x35\x20\x31\x2e\x31\x34\x33\x39\x38\x2c\x2d\x31\x2e\
+\x32\x35\x20\x31\x2e\x39\x38\x31\x39\x39\x2c\x2d\x31\x2e\x32\x35\
+\x20\x31\x2e\x30\x31\x36\x36\x2c\x30\x20\x31\x2e\x33\x32\x30\x38\
+\x34\x2c\x30\x2e\x35\x38\x32\x33\x38\x20\x30\x2e\x39\x31\x34\x32\
+\x32\x2c\x31\x2e\x37\x35\x20\x2d\x30\x2e\x35\x33\x39\x38\x32\x2c\
+\x31\x2e\x35\x35\x30\x30\x36\x20\x2d\x30\x2e\x34\x36\x36\x33\x35\
+\x2c\x31\x2e\x35\x37\x31\x38\x31\x20\x30\x2e\x36\x34\x33\x30\x31\
+\x2c\x30\x2e\x31\x39\x30\x33\x35\x20\x30\x2e\x37\x35\x37\x37\x39\
+\x2c\x2d\x30\x2e\x39\x34\x33\x36\x36\x20\x32\x2e\x30\x38\x36\x37\
+\x36\x2c\x2d\x31\x2e\x33\x33\x38\x36\x31\x20\x33\x2e\x33\x36\x34\
+\x38\x38\x2c\x2d\x31\x20\x31\x2e\x36\x34\x36\x31\x2c\x30\x2e\x34\
+\x33\x36\x31\x20\x31\x2e\x39\x33\x37\x35\x36\x2c\x31\x2e\x30\x30\
+\x31\x31\x37\x20\x31\x2e\x33\x32\x30\x32\x39\x2c\x32\x2e\x35\x35\
+\x39\x36\x35\x20\x2d\x30\x2e\x34\x33\x35\x36\x38\x2c\x31\x2e\x31\
+\x20\x2d\x30\x2e\x38\x32\x33\x37\x38\x2c\x31\x2e\x34\x33\x37\x35\
+\x20\x2d\x30\x2e\x38\x36\x32\x34\x33\x2c\x30\x2e\x37\x35\x20\x2d\
+\x30\x2e\x30\x33\x38\x37\x2c\x2d\x30\x2e\x36\x38\x37\x35\x20\x2d\
+\x30\x2e\x35\x34\x36\x38\x35\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x31\
+\x2e\x31\x32\x39\x33\x31\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x30\x2e\
+\x35\x38\x32\x34\x36\x2c\x30\x20\x2d\x30\x2e\x38\x32\x35\x39\x36\
+\x2c\x30\x2e\x33\x37\x37\x30\x39\x20\x2d\x30\x2e\x35\x34\x31\x31\
+\x32\x2c\x30\x2e\x38\x33\x37\x39\x37\x20\x30\x2e\x32\x38\x34\x38\
+\x34\x2c\x30\x2e\x34\x36\x30\x38\x38\x20\x2d\x32\x2e\x35\x30\x31\
+\x31\x2c\x30\x2e\x32\x37\x39\x37\x32\x20\x2d\x36\x2e\x31\x39\x30\
+\x39\x38\x2c\x2d\x30\x2e\x34\x30\x32\x35\x37\x20\x2d\x37\x2e\x30\
+\x34\x38\x37\x32\x2c\x2d\x31\x2e\x33\x30\x33\x33\x38\x20\x2d\x38\
+\x2e\x33\x38\x38\x30\x35\x2c\x2d\x31\x2e\x33\x30\x34\x34\x35\x20\
+\x2d\x31\x34\x2e\x34\x35\x38\x38\x38\x2c\x2d\x30\x2e\x30\x31\x31\
+\x35\x20\x2d\x33\x2e\x34\x32\x32\x35\x34\x2c\x30\x2e\x37\x32\x38\
+\x39\x33\x20\x2d\x34\x2e\x33\x33\x35\x35\x2c\x31\x2e\x38\x36\x37\
+\x39\x31\x20\x2d\x33\x2e\x38\x36\x38\x34\x32\x2c\x34\x2e\x38\x32\
+\x36\x30\x39\x20\x43\x20\x31\x30\x37\x2e\x39\x34\x36\x37\x31\x2c\
+\x31\x37\x38\x2e\x36\x36\x32\x35\x20\x31\x30\x37\x2e\x31\x2c\x31\
+\x37\x39\x20\x31\x30\x36\x2c\x31\x37\x39\x20\x63\x20\x2d\x31\x2e\
+\x31\x2c\x30\x20\x2d\x32\x2c\x2d\x30\x2e\x31\x39\x35\x37\x31\x20\
+\x2d\x32\x2c\x2d\x30\x2e\x34\x33\x34\x39\x20\x7a\x20\x4d\x20\x39\
+\x38\x2c\x31\x37\x31\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\
+\x30\x2e\x34\x37\x36\x35\x35\x38\x2c\x2d\x31\x20\x31\x2e\x30\x35\
+\x39\x30\x31\x37\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x35\x39\
+\x2c\x30\x20\x30\x2e\x37\x38\x30\x39\x30\x32\x2c\x30\x2e\x34\x35\
+\x20\x30\x2e\x34\x34\x30\x39\x38\x33\x2c\x31\x20\x2d\x30\x2e\x33\
+\x33\x39\x39\x31\x39\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x38\x31\
+\x36\x34\x37\x36\x2c\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x31\x37\
+\x2c\x31\x20\x43\x20\x39\x38\x2e\x31\x39\x38\x34\x34\x32\x2c\x31\
+\x37\x32\x20\x39\x38\x2c\x31\x37\x31\x2e\x35\x35\x20\x39\x38\x2c\
+\x31\x37\x31\x20\x7a\x20\x6d\x20\x33\x32\x2e\x37\x30\x33\x36\x32\
+\x2c\x2d\x34\x2e\x31\x30\x33\x36\x32\x20\x63\x20\x30\x2e\x37\x39\
+\x30\x39\x35\x2c\x2d\x30\x2e\x37\x39\x30\x39\x35\x20\x31\x2e\x36\
+\x32\x36\x37\x34\x2c\x2d\x30\x2e\x37\x39\x39\x35\x37\x20\x32\x2e\
+\x39\x35\x2c\x2d\x30\x2e\x30\x33\x30\x34\x20\x31\x2e\x36\x31\x38\
+\x36\x33\x2c\x30\x2e\x39\x34\x30\x38\x33\x20\x31\x2e\x34\x38\x32\
+\x34\x39\x2c\x31\x2e\x30\x37\x36\x39\x36\x20\x2d\x31\x2e\x31\x30\
+\x33\x36\x32\x2c\x31\x2e\x31\x30\x33\x36\x32\x20\x2d\x32\x2e\x31\
+\x35\x31\x33\x33\x2c\x30\x2e\x30\x32\x32\x32\x20\x2d\x32\x2e\x36\
+\x35\x31\x32\x31\x2c\x2d\x30\x2e\x32\x36\x38\x33\x38\x20\x2d\x31\
+\x2e\x38\x34\x36\x33\x38\x2c\x2d\x31\x2e\x30\x37\x33\x32\x31\x20\
+\x7a\x20\x6d\x20\x34\x2e\x39\x30\x39\x34\x37\x2c\x2d\x32\x2e\x30\
+\x37\x39\x33\x36\x20\x63\x20\x30\x2e\x32\x38\x38\x38\x31\x2c\x2d\
+\x30\x2e\x34\x36\x37\x33\x20\x30\x2e\x39\x34\x34\x30\x31\x2c\x2d\
+\x30\x2e\x35\x39\x30\x37\x35\x20\x31\x2e\x34\x35\x36\x30\x31\x2c\
+\x2d\x30\x2e\x32\x37\x34\x33\x31\x20\x31\x2e\x33\x30\x38\x33\x38\
+\x2c\x30\x2e\x38\x30\x38\x36\x32\x20\x31\x2e\x31\x36\x31\x30\x36\
+\x2c\x31\x2e\x31\x32\x33\x39\x36\x20\x2d\x30\x2e\x35\x32\x35\x31\
+\x31\x2c\x31\x2e\x31\x32\x33\x39\x36\x20\x2d\x30\x2e\x38\x30\x30\
+\x38\x31\x2c\x30\x20\x2d\x31\x2e\x32\x31\x39\x37\x31\x2c\x2d\x30\
+\x2e\x33\x38\x32\x33\x34\x20\x2d\x30\x2e\x39\x33\x30\x39\x2c\x2d\
+\x30\x2e\x38\x34\x39\x36\x35\x20\x7a\x20\x6d\x20\x2d\x33\x31\x2e\
+\x35\x36\x30\x35\x36\x2c\x2d\x31\x2e\x39\x31\x35\x31\x38\x20\x43\
+\x20\x31\x30\x34\x2e\x36\x31\x32\x33\x34\x2c\x31\x36\x31\x2e\x38\
+\x35\x35\x38\x33\x20\x31\x30\x35\x2e\x35\x30\x34\x35\x33\x2c\x31\
+\x36\x31\x20\x31\x30\x36\x2e\x30\x33\x35\x31\x38\x2c\x31\x36\x31\
+\x20\x31\x30\x36\x2e\x35\x36\x35\x38\x33\x2c\x31\x36\x31\x20\x31\
+\x30\x37\x2c\x31\x36\x30\x2e\x33\x38\x33\x35\x32\x20\x31\x30\x37\
+\x2c\x31\x35\x39\x2e\x36\x33\x30\x30\x35\x20\x63\x20\x30\x2c\x2d\
+\x30\x2e\x38\x35\x35\x35\x38\x20\x31\x2e\x37\x38\x33\x34\x35\x2c\
+\x2d\x31\x2e\x36\x36\x39\x37\x36\x20\x34\x2e\x37\x35\x2c\x2d\x32\
+\x2e\x31\x36\x38\x34\x38\x20\x36\x2e\x31\x32\x35\x34\x2c\x2d\x31\
+\x2e\x30\x32\x39\x37\x35\x20\x32\x34\x2e\x32\x35\x2c\x2d\x31\x2e\
+\x32\x34\x34\x20\x32\x34\x2e\x32\x35\x2c\x2d\x30\x2e\x32\x38\x36\
+\x36\x35\x20\x30\x2c\x30\x2e\x38\x34\x34\x35\x20\x36\x2e\x36\x35\
+\x30\x31\x38\x2c\x30\x2e\x31\x34\x38\x36\x33\x20\x38\x2e\x33\x35\
+\x37\x39\x34\x2c\x2d\x30\x2e\x38\x37\x34\x35\x37\x20\x30\x2e\x36\
+\x32\x38\x31\x33\x2c\x2d\x30\x2e\x33\x37\x36\x33\x35\x20\x30\x2e\
+\x34\x39\x38\x35\x2c\x30\x2e\x31\x30\x38\x34\x20\x2d\x30\x2e\x32\
+\x38\x38\x30\x38\x2c\x31\x2e\x30\x37\x37\x32\x31\x20\x2d\x30\x2e\
+\x37\x38\x36\x35\x38\x2c\x30\x2e\x39\x36\x38\x38\x32\x20\x2d\x32\
+\x2e\x32\x32\x30\x30\x32\x2c\x31\x2e\x35\x35\x34\x39\x33\x20\x2d\
+\x33\x2e\x31\x38\x35\x34\x32\x2c\x31\x2e\x33\x30\x32\x34\x37\x20\
+\x2d\x30\x2e\x39\x36\x35\x34\x2c\x2d\x30\x2e\x32\x35\x32\x34\x36\
+\x20\x2d\x31\x2e\x39\x39\x35\x32\x31\x2c\x30\x2e\x31\x36\x36\x32\
+\x36\x20\x2d\x32\x2e\x32\x38\x38\x34\x37\x2c\x30\x2e\x39\x33\x30\
+\x34\x38\x20\x2d\x30\x2e\x36\x30\x37\x34\x37\x2c\x31\x2e\x35\x38\
+\x33\x30\x33\x20\x2d\x34\x2e\x31\x37\x34\x39\x31\x2c\x31\x2e\x38\
+\x37\x39\x38\x20\x2d\x35\x2e\x30\x37\x35\x37\x33\x2c\x30\x2e\x34\
+\x32\x32\x32\x34\x20\x2d\x30\x2e\x33\x32\x38\x37\x38\x2c\x2d\x30\
+\x2e\x35\x33\x31\x39\x38\x20\x2d\x32\x2e\x30\x30\x30\x33\x31\x2c\
+\x2d\x30\x2e\x36\x38\x36\x37\x34\x20\x2d\x33\x2e\x37\x31\x34\x35\
+\x2c\x2d\x30\x2e\x33\x34\x33\x39\x20\x2d\x32\x2e\x31\x33\x36\x38\
+\x35\x2c\x30\x2e\x34\x32\x37\x33\x37\x20\x2d\x32\x2e\x39\x30\x33\
+\x34\x38\x2c\x30\x2e\x32\x37\x38\x33\x31\x20\x2d\x32\x2e\x34\x33\
+\x38\x34\x34\x2c\x2d\x30\x2e\x34\x37\x34\x31\x34\x20\x30\x2e\x34\
+\x34\x32\x37\x38\x2c\x2d\x30\x2e\x37\x31\x36\x34\x33\x20\x2d\x30\
+\x2e\x38\x30\x35\x32\x36\x2c\x2d\x31\x2e\x32\x30\x34\x36\x34\x20\
+\x2d\x33\x2e\x35\x39\x34\x35\x31\x2c\x2d\x31\x2e\x34\x30\x36\x31\
+\x20\x43\x20\x31\x31\x37\x2e\x30\x31\x37\x32\x37\x2c\x31\x35\x37\
+\x2e\x33\x32\x30\x36\x38\x20\x31\x30\x37\x2c\x31\x36\x30\x2e\x31\
+\x32\x35\x33\x33\x20\x31\x30\x37\x2c\x31\x36\x32\x2e\x35\x30\x34\
+\x36\x39\x20\x63\x20\x30\x2c\x30\x2e\x36\x39\x34\x31\x33\x20\x2d\
+\x30\x2e\x38\x39\x32\x31\x39\x2c\x31\x2e\x34\x39\x35\x33\x36\x20\
+\x2d\x31\x2e\x39\x38\x32\x36\x35\x2c\x31\x2e\x37\x38\x30\x35\x32\
+\x20\x2d\x31\x2e\x36\x38\x36\x34\x37\x2c\x30\x2e\x34\x34\x31\x30\
+\x32\x20\x2d\x31\x2e\x38\x33\x30\x36\x2c\x30\x2e\x32\x33\x34\x33\
+\x36\x20\x2d\x30\x2e\x39\x36\x34\x38\x32\x2c\x2d\x31\x2e\x33\x38\
+\x33\x33\x37\x20\x7a\x20\x6d\x20\x36\x2e\x36\x39\x37\x34\x37\x2c\
+\x2d\x37\x2e\x35\x36\x34\x31\x32\x20\x63\x20\x30\x2e\x36\x38\x37\
+\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\
+\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\
+\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\
+\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\
+\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\
+\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\
+\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x31\x30\x2c\x2d\x31\x20\x63\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\
+\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x36\
+\x2e\x32\x35\x2c\x2d\x31\x2e\x39\x36\x30\x31\x36\x20\x63\x20\x30\
+\x2c\x2d\x31\x2e\x33\x38\x38\x38\x20\x30\x2e\x32\x35\x32\x30\x32\
+\x2c\x2d\x31\x2e\x34\x32\x39\x35\x35\x20\x31\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x32\x38\x32\x39\x37\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\
+\x2e\x37\x33\x36\x37\x31\x20\x31\x2e\x39\x33\x37\x35\x2c\x31\x2e\
+\x34\x36\x36\x38\x31\x20\x32\x2e\x31\x36\x36\x36\x37\x2c\x31\x2e\
+\x36\x32\x32\x34\x34\x20\x30\x2e\x32\x32\x39\x31\x36\x2c\x30\x2e\
+\x31\x35\x35\x36\x33\x20\x2d\x30\x2e\x35\x35\x38\x33\x34\x2c\x30\
+\x2e\x32\x38\x32\x39\x37\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x32\
+\x38\x32\x39\x37\x20\x43\x20\x31\x32\x37\x2e\x38\x33\x34\x37\x33\
+\x2c\x31\x35\x34\x20\x31\x32\x37\x2c\x31\x35\x33\x2e\x33\x37\x34\
+\x39\x33\x20\x31\x32\x37\x2c\x31\x35\x32\x2e\x33\x37\x37\x35\x36\
+\x20\x7a\x20\x6d\x20\x33\x2e\x31\x32\x39\x32\x37\x2c\x2d\x31\x2e\
+\x30\x32\x37\x36\x36\x20\x63\x20\x2d\x31\x2e\x32\x37\x38\x30\x33\
+\x2c\x2d\x30\x2e\x39\x33\x32\x33\x35\x20\x2d\x30\x2e\x34\x34\x35\
+\x35\x32\x2c\x2d\x31\x2e\x32\x37\x39\x32\x20\x34\x2e\x33\x39\x37\
+\x31\x2c\x2d\x31\x2e\x38\x33\x31\x39\x32\x20\x33\x2e\x32\x38\x35\
+\x35\x2c\x2d\x30\x2e\x33\x37\x34\x39\x39\x20\x36\x2e\x38\x37\x33\
+\x36\x33\x2c\x2d\x30\x2e\x38\x36\x35\x37\x39\x20\x37\x2e\x39\x37\
+\x33\x36\x33\x2c\x2d\x31\x2e\x30\x39\x30\x36\x36\x20\x31\x2e\x31\
+\x2c\x2d\x30\x2e\x32\x32\x34\x38\x37\x20\x31\x2e\x34\x33\x37\x35\
+\x2c\x2d\x30\x2e\x31\x35\x30\x35\x31\x20\x30\x2e\x37\x35\x2c\x30\
+\x2e\x31\x36\x35\x32\x34\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\x30\
+\x2e\x33\x31\x35\x37\x36\x20\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x32\
+\x30\x33\x30\x33\x20\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x39\x37\x31\
+\x37\x32\x20\x30\x2c\x32\x2e\x35\x32\x35\x36\x20\x2d\x38\x2e\x36\
+\x39\x36\x36\x36\x2c\x33\x2e\x31\x30\x31\x31\x35\x20\x2d\x31\x31\
+\x2e\x38\x37\x30\x37\x33\x2c\x30\x2e\x37\x38\x35\x36\x32\x20\x7a\
+\x20\x4d\x20\x31\x33\x39\x2c\x31\x35\x31\x2e\x30\x38\x38\x34\x38\
+\x20\x63\x20\x30\x2c\x2d\x31\x2e\x30\x31\x36\x36\x36\x20\x2d\x32\
+\x2e\x35\x35\x36\x39\x31\x2c\x2d\x30\x2e\x38\x36\x34\x39\x20\x2d\
+\x33\x2e\x36\x33\x37\x37\x32\x2c\x30\x2e\x32\x31\x35\x39\x31\x20\
+\x43\x20\x31\x33\x34\x2e\x39\x37\x39\x36\x39\x2c\x31\x35\x31\x2e\
+\x36\x38\x36\x39\x38\x20\x31\x33\x35\x2e\x36\x34\x31\x36\x37\x2c\
+\x31\x35\x32\x20\x31\x33\x36\x2e\x38\x33\x33\x33\x33\x2c\x31\x35\
+\x32\x20\x31\x33\x38\x2e\x30\x32\x35\x2c\x31\x35\x32\x20\x31\x33\
+\x39\x2c\x31\x35\x31\x2e\x35\x38\x39\x38\x32\x20\x31\x33\x39\x2c\
+\x31\x35\x31\x2e\x30\x38\x38\x34\x38\x20\x7a\x20\x6d\x20\x31\x31\
+\x2c\x2d\x31\x2e\x30\x32\x39\x34\x36\x20\x63\x20\x30\x2c\x2d\x31\
+\x2e\x36\x37\x36\x34\x33\x20\x31\x2e\x37\x37\x33\x35\x34\x2c\x2d\
+\x32\x2e\x30\x39\x31\x35\x34\x20\x32\x2e\x33\x36\x33\x38\x33\x2c\
+\x2d\x30\x2e\x35\x35\x33\x32\x38\x20\x43\x20\x31\x35\x32\x2e\x37\
+\x31\x32\x31\x33\x2c\x31\x35\x30\x2e\x34\x31\x33\x34\x20\x31\x35\
+\x32\x2e\x33\x36\x30\x37\x2c\x31\x35\x31\x20\x31\x35\x31\x2e\x34\
+\x36\x38\x36\x32\x2c\x31\x35\x31\x20\x31\x35\x30\x2e\x36\x36\x30\
+\x38\x38\x2c\x31\x35\x31\x20\x31\x35\x30\x2c\x31\x35\x30\x2e\x35\
+\x37\x36\x35\x36\x20\x31\x35\x30\x2c\x31\x35\x30\x2e\x30\x35\x39\
+\x30\x32\x20\x7a\x20\x6d\x20\x2d\x34\x36\x2e\x37\x33\x33\x33\x32\
+\x2c\x2d\x32\x2e\x31\x36\x38\x38\x39\x20\x43\x20\x31\x30\x33\x2e\
+\x31\x38\x38\x33\x37\x2c\x31\x34\x36\x2e\x38\x35\x30\x35\x36\x20\
+\x31\x30\x33\x2e\x37\x33\x33\x38\x33\x2c\x31\x34\x36\x20\x31\x30\
+\x34\x2e\x34\x37\x38\x38\x32\x2c\x31\x34\x36\x20\x63\x20\x30\x2e\
+\x37\x34\x34\x39\x38\x2c\x30\x20\x31\x2e\x35\x31\x30\x39\x38\x2c\
+\x2d\x30\x2e\x34\x36\x39\x33\x39\x20\x31\x2e\x37\x30\x32\x32\x31\
+\x2c\x2d\x31\x2e\x30\x34\x33\x31\x20\x30\x2e\x31\x39\x31\x32\x34\
+\x2c\x2d\x30\x2e\x35\x37\x33\x37\x20\x31\x2e\x35\x37\x39\x34\x36\
+\x2c\x2d\x31\x2e\x31\x37\x34\x34\x32\x20\x33\x2e\x30\x38\x34\x39\
+\x34\x2c\x2d\x31\x2e\x33\x33\x34\x39\x33\x20\x31\x2e\x35\x30\x35\
+\x34\x37\x2c\x2d\x30\x2e\x31\x36\x30\x35\x31\x20\x33\x2e\x30\x33\
+\x36\x35\x31\x2c\x2d\x30\x2e\x35\x39\x31\x31\x32\x20\x33\x2e\x34\
+\x30\x32\x33\x2c\x2d\x30\x2e\x39\x35\x36\x39\x20\x30\x2e\x33\x36\
+\x35\x37\x38\x2c\x2d\x30\x2e\x33\x36\x35\x37\x39\x20\x31\x2e\x38\
+\x32\x37\x35\x36\x2c\x2d\x30\x2e\x36\x37\x31\x39\x36\x20\x33\x2e\
+\x32\x34\x38\x34\x2c\x2d\x30\x2e\x36\x38\x30\x33\x38\x20\x32\x2e\
+\x30\x39\x31\x31\x36\x2c\x2d\x30\x2e\x30\x31\x32\x34\x20\x32\x2e\
+\x32\x39\x37\x35\x35\x2c\x2d\x30\x2e\x32\x31\x35\x32\x31\x20\x31\
+\x2e\x30\x38\x33\x33\x33\x2c\x2d\x31\x2e\x30\x36\x34\x35\x32\x20\
+\x2d\x31\x2e\x31\x30\x33\x30\x37\x2c\x2d\x30\x2e\x37\x37\x31\x35\
+\x37\x20\x2d\x30\x2e\x34\x34\x31\x35\x33\x2c\x2d\x30\x2e\x38\x38\
+\x34\x34\x36\x20\x32\x2e\x35\x2c\x2d\x30\x2e\x34\x32\x36\x36\x33\
+\x20\x32\x2e\x32\x2c\x30\x2e\x33\x34\x32\x34\x31\x20\x35\x2e\x33\
+\x36\x32\x34\x31\x2c\x30\x2e\x37\x35\x32\x30\x34\x20\x37\x2e\x30\
+\x32\x37\x35\x37\x2c\x30\x2e\x39\x31\x30\x32\x39\x20\x31\x2e\x36\
+\x36\x35\x31\x37\x2c\x30\x2e\x31\x35\x38\x32\x35\x20\x34\x2e\x30\
+\x31\x31\x37\x32\x2c\x30\x2e\x38\x31\x34\x34\x32\x20\x35\x2e\x32\
+\x31\x34\x35\x36\x2c\x31\x2e\x34\x35\x38\x31\x36\x20\x31\x2e\x38\
+\x30\x32\x31\x34\x2c\x30\x2e\x39\x36\x34\x34\x38\x20\x35\x2e\x33\
+\x34\x39\x35\x38\x2c\x30\x2e\x39\x37\x35\x35\x38\x20\x31\x30\x2e\
+\x39\x36\x33\x36\x36\x2c\x30\x2e\x30\x33\x34\x33\x20\x31\x2e\x39\
+\x35\x36\x30\x32\x2c\x2d\x30\x2e\x33\x32\x37\x39\x35\x20\x32\x2e\
+\x39\x36\x30\x38\x38\x2c\x30\x2e\x32\x31\x36\x33\x20\x32\x2e\x39\
+\x36\x30\x38\x38\x2c\x31\x2e\x36\x30\x33\x36\x38\x20\x30\x2c\x31\
+\x2e\x30\x38\x30\x31\x34\x20\x2d\x31\x2e\x31\x34\x32\x39\x36\x2c\
+\x31\x2e\x35\x31\x34\x32\x32\x20\x2d\x34\x2e\x30\x38\x33\x33\x34\
+\x2c\x31\x2e\x35\x35\x30\x38\x32\x20\x2d\x32\x2e\x32\x34\x35\x38\
+\x33\x2c\x30\x2e\x30\x32\x38\x20\x2d\x36\x2e\x31\x30\x38\x33\x33\
+\x2c\x30\x2e\x32\x37\x37\x37\x31\x20\x2d\x38\x2e\x35\x38\x33\x33\
+\x33\x2c\x30\x2e\x35\x35\x35\x30\x32\x20\x2d\x33\x2e\x34\x32\x37\
+\x2c\x30\x2e\x33\x38\x33\x39\x38\x20\x2d\x34\x2e\x31\x34\x32\x33\
+\x33\x2c\x30\x2e\x32\x34\x32\x20\x2d\x33\x2c\x2d\x30\x2e\x35\x39\
+\x35\x34\x35\x20\x31\x2e\x31\x39\x34\x30\x31\x2c\x2d\x30\x2e\x38\
+\x37\x35\x33\x33\x20\x30\x2e\x38\x38\x38\x30\x31\x2c\x2d\x31\x2e\
+\x30\x34\x31\x37\x38\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x38\x31\
+\x35\x39\x36\x20\x2d\x31\x2e\x37\x39\x34\x35\x33\x2c\x30\x2e\x31\
+\x36\x39\x36\x39\x20\x2d\x32\x2e\x39\x31\x36\x32\x2c\x2d\x30\x2e\
+\x31\x36\x34\x32\x33\x20\x2d\x32\x2e\x37\x39\x31\x34\x35\x2c\x2d\
+\x30\x2e\x38\x33\x31\x30\x33\x20\x30\x2e\x31\x34\x32\x37\x39\x2c\
+\x2d\x30\x2e\x37\x36\x33\x32\x33\x20\x2d\x31\x2e\x38\x38\x31\x36\
+\x31\x2c\x2d\x30\x2e\x39\x37\x38\x30\x37\x20\x2d\x36\x2e\x34\x32\
+\x30\x32\x33\x2c\x2d\x30\x2e\x36\x38\x31\x33\x35\x20\x2d\x36\x2e\
+\x37\x39\x32\x35\x33\x2c\x30\x2e\x34\x34\x34\x31\x20\x2d\x31\x33\
+\x2e\x32\x38\x38\x33\x32\x2c\x32\x2e\x34\x37\x37\x36\x32\x20\x2d\
+\x31\x33\x2e\x32\x38\x38\x33\x32\x2c\x34\x2e\x31\x35\x39\x39\x36\
+\x20\x30\x2c\x31\x2e\x38\x37\x38\x33\x34\x20\x2d\x32\x2e\x35\x39\
+\x32\x30\x32\x2c\x31\x2e\x39\x32\x34\x20\x2d\x32\x2e\x37\x33\x33\
+\x33\x32\x2c\x30\x2e\x30\x34\x38\x31\x20\x7a\x20\x6d\x20\x32\x31\
+\x2e\x35\x34\x35\x38\x32\x2c\x2d\x38\x2e\x35\x37\x33\x32\x34\x20\
+\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\
+\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\
+\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\
+\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\
+\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\
+\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\
+\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\
+\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\
+\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\
+\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x34\x2e\x36\x37\x34\
+\x34\x34\x2c\x2d\x30\x2e\x32\x39\x35\x37\x35\x20\x63\x20\x30\x2e\
+\x32\x38\x39\x30\x33\x2c\x2d\x30\x2e\x34\x36\x37\x36\x38\x20\x2d\
+\x30\x2e\x30\x33\x39\x38\x2c\x2d\x31\x2e\x30\x37\x38\x32\x33\x20\
+\x2d\x30\x2e\x37\x33\x30\x37\x31\x2c\x2d\x31\x2e\x33\x35\x36\x37\
+\x38\x20\x2d\x30\x2e\x36\x39\x30\x39\x33\x2c\x2d\x30\x2e\x32\x37\
+\x38\x35\x36\x20\x2d\x30\x2e\x33\x35\x36\x32\x33\x2c\x2d\x30\x2e\
+\x35\x34\x38\x38\x38\x20\x30\x2e\x37\x34\x33\x37\x37\x2c\x2d\x30\
+\x2e\x36\x30\x30\x37\x33\x20\x31\x2e\x36\x36\x34\x34\x2c\x2d\x30\
+\x2e\x30\x37\x38\x34\x20\x31\x2e\x37\x34\x38\x33\x2c\x2d\x30\x2e\
+\x32\x35\x36\x39\x31\x20\x30\x2e\x35\x2c\x2d\x31\x2e\x30\x36\x33\
+\x36\x33\x20\x2d\x31\x2e\x32\x34\x37\x36\x38\x2c\x2d\x30\x2e\x38\
+\x30\x36\x33\x31\x20\x2d\x31\x2e\x31\x36\x33\x35\x38\x2c\x2d\x30\
+\x2e\x39\x38\x33\x35\x34\x20\x30\x2e\x35\x2c\x2d\x31\x2e\x30\x35\
+\x33\x35\x39\x20\x31\x2e\x31\x2c\x2d\x30\x2e\x30\x34\x36\x33\x20\
+\x33\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x32\x34\x37\x35\x31\x20\
+\x34\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x34\x37\x30\x39\x20\x33\x2e\
+\x30\x34\x35\x31\x36\x2c\x2d\x30\x2e\x34\x30\x31\x38\x33\x20\x33\
+\x2e\x35\x34\x33\x31\x31\x2c\x30\x2e\x38\x35\x30\x34\x33\x20\x31\
+\x2e\x32\x35\x2c\x33\x2e\x31\x34\x33\x35\x34\x20\x2d\x30\x2e\x38\
+\x32\x35\x2c\x30\x2e\x38\x32\x35\x20\x2d\x31\x2e\x35\x2c\x31\x2e\
+\x32\x37\x34\x32\x37\x20\x2d\x31\x2e\x35\x2c\x30\x2e\x39\x39\x38\
+\x33\x37\x20\x30\x2c\x2d\x30\x2e\x32\x37\x35\x38\x39\x20\x2d\x31\
+\x2e\x33\x35\x38\x36\x38\x2c\x2d\x30\x2e\x31\x31\x31\x39\x35\x20\
+\x2d\x33\x2e\x30\x31\x39\x32\x39\x2c\x30\x2e\x33\x36\x34\x33\x20\
+\x2d\x31\x2e\x36\x36\x30\x36\x32\x2c\x30\x2e\x34\x37\x36\x32\x36\
+\x20\x2d\x32\x2e\x37\x38\x32\x38\x31\x2c\x30\x2e\x34\x38\x33\x32\
+\x38\x20\x2d\x32\x2e\x34\x39\x33\x37\x37\x2c\x30\x2e\x30\x31\x35\
+\x36\x20\x7a\x20\x4d\x20\x31\x34\x30\x2e\x32\x30\x36\x31\x36\x2c\
+\x31\x33\x36\x2e\x32\x35\x20\x63\x20\x30\x2e\x33\x36\x35\x39\x32\
+\x2c\x2d\x32\x2e\x31\x37\x39\x33\x31\x20\x31\x2e\x37\x32\x31\x37\
+\x31\x2c\x2d\x33\x2e\x32\x31\x34\x38\x36\x20\x34\x2e\x32\x33\x34\
+\x39\x37\x2c\x2d\x33\x2e\x32\x33\x34\x36\x39\x20\x31\x2e\x39\x32\
+\x31\x35\x31\x2c\x2d\x30\x2e\x30\x31\x35\x32\x20\x31\x2e\x39\x32\
+\x31\x35\x31\x2c\x36\x65\x2d\x34\x20\x30\x2c\x31\x2e\x35\x35\x38\
+\x38\x35\x20\x2d\x31\x2e\x30\x36\x37\x36\x32\x2c\x30\x2e\x38\x36\
+\x35\x37\x38\x20\x2d\x31\x2e\x32\x36\x36\x31\x33\x2c\x31\x2e\x32\
+\x32\x39\x34\x20\x2d\x30\x2e\x34\x34\x31\x31\x33\x2c\x30\x2e\x38\
+\x30\x38\x30\x34\x20\x31\x2e\x32\x39\x31\x33\x35\x2c\x2d\x30\x2e\
+\x36\x35\x39\x35\x35\x20\x31\x2e\x33\x30\x39\x30\x39\x2c\x2d\x30\
+\x2e\x35\x33\x30\x37\x37\x20\x30\x2e\x31\x32\x37\x35\x36\x2c\x30\
+\x2e\x39\x32\x35\x38\x34\x20\x2d\x31\x2e\x37\x39\x39\x39\x37\x2c\
+\x32\x2e\x32\x31\x39\x30\x31\x20\x2d\x34\x2e\x32\x39\x37\x35\x32\
+\x2c\x32\x2e\x31\x38\x32\x30\x35\x20\x2d\x33\x2e\x39\x32\x31\x34\
+\x2c\x2d\x30\x2e\x30\x35\x38\x20\x7a\x20\x6d\x20\x31\x30\x2e\x38\
+\x34\x34\x31\x37\x2c\x2d\x31\x2e\x33\x34\x34\x30\x35\x20\x63\x20\
+\x30\x2e\x36\x39\x30\x32\x39\x2c\x2d\x31\x2e\x32\x38\x39\x38\x31\
+\x20\x30\x2e\x35\x33\x36\x38\x38\x2c\x2d\x31\x2e\x38\x38\x36\x36\
+\x34\x20\x2d\x30\x2e\x35\x37\x33\x36\x31\x2c\x2d\x32\x2e\x32\x33\
+\x31\x35\x35\x20\x2d\x31\x2e\x30\x35\x34\x30\x38\x2c\x2d\x30\x2e\
+\x33\x32\x37\x33\x38\x20\x2d\x30\x2e\x39\x37\x36\x38\x2c\x2d\x30\
+\x2e\x34\x32\x31\x35\x39\x20\x30\x2e\x32\x35\x33\x36\x38\x2c\x2d\
+\x30\x2e\x33\x30\x39\x32\x32\x20\x32\x2e\x30\x33\x39\x2c\x30\x2e\
+\x31\x38\x36\x32\x20\x32\x2e\x36\x38\x38\x36\x39\x2c\x34\x2e\x33\
+\x30\x31\x34\x39\x20\x30\x2e\x36\x37\x39\x30\x38\x2c\x34\x2e\x33\
+\x30\x31\x34\x39\x20\x2d\x30\x2e\x39\x33\x32\x36\x32\x2c\x30\x20\
+\x2d\x31\x2e\x30\x33\x34\x34\x2c\x2d\x30\x2e\x34\x39\x38\x39\x39\
+\x20\x2d\x30\x2e\x33\x35\x39\x31\x35\x2c\x2d\x31\x2e\x37\x36\x30\
+\x37\x32\x20\x7a\x20\x6d\x20\x2d\x34\x39\x2e\x33\x38\x33\x36\x36\
+\x2c\x2d\x30\x2e\x35\x37\x32\x36\x32\x20\x63\x20\x2d\x31\x2e\x34\
+\x35\x39\x34\x31\x2c\x2d\x31\x2e\x34\x35\x39\x34\x31\x20\x2d\x30\
+\x2e\x35\x35\x35\x34\x33\x2c\x2d\x32\x2e\x34\x39\x33\x30\x38\x20\
+\x31\x2e\x30\x38\x33\x33\x33\x2c\x2d\x31\x2e\x32\x33\x38\x37\x34\
+\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x37\x33\x36\x37\x31\x20\
+\x31\x2e\x34\x32\x37\x37\x36\x2c\x30\x2e\x39\x35\x37\x30\x37\x20\
+\x31\x2e\x30\x33\x33\x39\x31\x2c\x30\x2e\x34\x38\x39\x36\x39\x20\
+\x2d\x31\x2e\x31\x35\x31\x37\x31\x2c\x2d\x31\x2e\x33\x36\x36\x37\
+\x35\x20\x33\x2e\x38\x35\x36\x30\x35\x2c\x2d\x34\x2e\x36\x35\x39\
+\x33\x33\x20\x37\x2e\x39\x35\x30\x35\x34\x2c\x2d\x35\x2e\x32\x32\
+\x37\x34\x34\x20\x32\x2e\x38\x34\x30\x34\x31\x2c\x2d\x30\x2e\x33\
+\x39\x34\x31\x31\x20\x33\x2e\x33\x39\x37\x30\x32\x2c\x2d\x30\x2e\
+\x32\x36\x30\x32\x31\x20\x32\x2e\x32\x36\x35\x35\x35\x2c\x30\x2e\
+\x35\x34\x35\x30\x33\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x2e\x35\
+\x38\x37\x31\x33\x20\x2d\x32\x2e\x34\x34\x30\x32\x37\x2c\x31\x2e\
+\x30\x37\x34\x34\x20\x2d\x33\x2e\x35\x38\x39\x34\x38\x2c\x31\x2e\
+\x30\x38\x32\x38\x32\x20\x2d\x31\x2e\x32\x34\x39\x31\x35\x2c\x30\
+\x2e\x30\x30\x39\x20\x2d\x32\x2e\x35\x34\x37\x36\x2c\x31\x2e\x30\
+\x32\x30\x37\x34\x20\x2d\x33\x2e\x32\x32\x38\x35\x37\x2c\x32\x2e\
+\x35\x31\x35\x33\x31\x20\x2d\x31\x2e\x30\x36\x38\x37\x35\x2c\x32\
+\x2e\x33\x34\x35\x36\x36\x20\x2d\x34\x2e\x30\x32\x31\x34\x35\x2c\
+\x33\x2e\x33\x32\x37\x31\x36\x20\x2d\x35\x2e\x35\x31\x35\x32\x38\
+\x2c\x31\x2e\x38\x33\x33\x33\x33\x20\x7a\x20\x4d\x20\x31\x33\x30\
+\x2e\x37\x35\x2c\x31\x33\x30\x2e\x37\x31\x31\x37\x31\x20\x63\x20\
+\x2d\x32\x2e\x30\x36\x32\x35\x2c\x2d\x30\x2e\x35\x30\x30\x37\x31\
+\x20\x2d\x33\x2e\x37\x35\x2c\x2d\x31\x2e\x32\x30\x36\x34\x33\x20\
+\x2d\x33\x2e\x37\x35\x2c\x2d\x31\x2e\x35\x36\x38\x32\x36\x20\x30\
+\x2c\x2d\x30\x2e\x33\x36\x31\x38\x32\x20\x2d\x32\x2e\x30\x37\x34\
+\x39\x39\x2c\x2d\x30\x2e\x34\x39\x32\x38\x33\x20\x2d\x34\x2e\x36\
+\x31\x31\x30\x39\x2c\x2d\x30\x2e\x32\x39\x31\x31\x33\x20\x2d\x32\
+\x2e\x35\x33\x36\x30\x39\x2c\x30\x2e\x32\x30\x31\x37\x31\x20\x2d\
+\x35\x2e\x35\x37\x33\x35\x39\x2c\x2d\x30\x2e\x30\x39\x39\x36\x20\
+\x2d\x36\x2e\x37\x35\x2c\x2d\x30\x2e\x36\x36\x39\x36\x37\x20\x2d\
+\x31\x2e\x31\x37\x36\x34\x2c\x2d\x30\x2e\x35\x37\x30\x30\x32\x20\
+\x2d\x32\x2e\x38\x31\x33\x39\x31\x2c\x2d\x31\x2e\x32\x35\x39\x35\
+\x33\x20\x2d\x33\x2e\x36\x33\x38\x39\x31\x2c\x2d\x31\x2e\x35\x33\
+\x32\x32\x34\x20\x2d\x30\x2e\x38\x32\x35\x2c\x2d\x30\x2e\x32\x37\
+\x32\x37\x31\x20\x32\x2e\x33\x39\x37\x32\x2c\x2d\x30\x2e\x33\x35\
+\x37\x30\x38\x20\x37\x2e\x31\x36\x30\x34\x34\x2c\x2d\x30\x2e\x31\
+\x38\x37\x34\x39\x20\x34\x2e\x37\x36\x33\x32\x34\x2c\x30\x2e\x31\
+\x36\x39\x35\x39\x20\x39\x2e\x30\x37\x30\x36\x33\x2c\x30\x2e\x35\
+\x36\x31\x38\x35\x20\x39\x2e\x35\x37\x31\x39\x37\x2c\x30\x2e\x38\
+\x37\x31\x37\x20\x31\x2e\x34\x30\x33\x35\x32\x2c\x30\x2e\x38\x36\
+\x37\x34\x32\x20\x38\x2e\x37\x32\x35\x39\x32\x2c\x31\x2e\x31\x31\
+\x38\x31\x38\x20\x39\x2e\x39\x38\x32\x30\x37\x2c\x30\x2e\x33\x34\
+\x31\x38\x34\x20\x30\x2e\x36\x31\x34\x37\x33\x2c\x2d\x30\x2e\x33\
+\x37\x39\x39\x32\x20\x32\x2e\x32\x36\x37\x31\x35\x2c\x2d\x30\x2e\
+\x32\x35\x33\x37\x34\x20\x33\x2e\x36\x37\x32\x30\x35\x2c\x30\x2e\
+\x32\x38\x30\x34\x20\x31\x2e\x39\x39\x36\x39\x38\x2c\x30\x2e\x37\
+\x35\x39\x32\x35\x20\x32\x2e\x37\x34\x37\x30\x37\x2c\x30\x2e\x36\
+\x32\x36\x38\x33\x20\x33\x2e\x34\x33\x37\x34\x37\x2c\x2d\x30\x2e\
+\x36\x30\x36\x38\x36\x20\x30\x2e\x37\x34\x39\x34\x36\x2c\x2d\x31\
+\x2e\x33\x33\x39\x32\x20\x30\x2e\x39\x36\x39\x31\x39\x2c\x2d\x31\
+\x2e\x32\x34\x38\x38\x33\x20\x31\x2e\x34\x35\x31\x39\x33\x2c\x30\
+\x2e\x35\x39\x37\x31\x36\x20\x30\x2e\x36\x39\x39\x35\x31\x2c\x32\
+\x2e\x36\x37\x34\x39\x32\x20\x2d\x30\x2e\x38\x37\x31\x36\x31\x2c\
+\x33\x2e\x33\x39\x36\x38\x33\x20\x2d\x36\x2e\x32\x37\x31\x38\x35\
+\x2c\x32\x2e\x38\x38\x31\x38\x34\x20\x43\x20\x31\x33\x38\x2e\x38\
+\x30\x31\x38\x33\x2c\x31\x33\x30\x2e\x36\x31\x38\x39\x38\x20\x31\
+\x33\x37\x2c\x31\x33\x30\x2e\x37\x32\x31\x35\x34\x20\x31\x33\x37\
+\x2c\x31\x33\x31\x2e\x30\x35\x36\x39\x31\x20\x63\x20\x30\x2c\x30\
+\x2e\x38\x33\x32\x39\x36\x20\x2d\x31\x2e\x38\x30\x38\x34\x34\x2c\
+\x30\x2e\x37\x33\x33\x30\x37\x20\x2d\x36\x2e\x32\x35\x2c\x2d\x30\
+\x2e\x33\x34\x35\x32\x20\x7a\x20\x6d\x20\x2d\x33\x31\x2e\x39\x33\
+\x37\x35\x2c\x2d\x33\x2e\x33\x39\x34\x38\x32\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x35\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\
+\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\
+\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\
+\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x33\x20\x2d\
+\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\
+\x2d\x31\x2e\x33\x31\x32\x35\x30\x33\x2c\x30\x2e\x35\x32\x35\x32\
+\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x34\x33\x2c\x2d\x30\x2e\x30\
+\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\
+\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x2c\x2d\x30\
+\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x32\x34\x2c\x2d\x32\
+\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\
+\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\
+\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\
+\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\
+\x32\x33\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\
+\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\
+\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\
+\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\
+\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\
+\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x35\x2e\x35\x39\x30\
+\x31\x35\x2c\x2d\x31\x2e\x31\x35\x39\x33\x37\x20\x43\x20\x31\x32\
+\x38\x2e\x37\x39\x36\x31\x31\x2c\x31\x32\x33\x2e\x35\x32\x30\x38\
+\x39\x20\x31\x32\x39\x2e\x37\x36\x36\x34\x38\x2c\x31\x32\x33\x20\
+\x31\x33\x30\x2e\x35\x35\x39\x30\x32\x2c\x31\x32\x33\x20\x63\x20\
+\x32\x2e\x33\x38\x32\x34\x31\x2c\x30\x20\x31\x2e\x36\x32\x30\x39\
+\x2c\x2d\x31\x2e\x39\x39\x30\x38\x20\x2d\x30\x2e\x38\x30\x39\x30\
+\x32\x2c\x2d\x32\x2e\x31\x31\x35\x20\x2d\x31\x2e\x32\x36\x30\x34\
+\x33\x2c\x2d\x30\x2e\x30\x36\x34\x34\x20\x2d\x30\x2e\x34\x39\x30\
+\x37\x36\x2c\x2d\x30\x2e\x34\x37\x38\x38\x38\x20\x31\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x39\x34\x32\x33\x37\x20\x35\x2e\x39\x32\x33\x36\
+\x36\x2c\x2d\x31\x2e\x32\x32\x35\x32\x37\x20\x37\x2e\x35\x2c\x2d\
+\x31\x2e\x31\x30\x38\x31\x32\x20\x37\x2e\x35\x2c\x30\x2e\x35\x35\
+\x37\x33\x37\x20\x30\x2c\x30\x2e\x38\x32\x35\x20\x2d\x30\x2e\x34\
+\x37\x36\x35\x36\x2c\x31\x2e\x35\x20\x2d\x31\x2e\x30\x35\x39\x30\
+\x32\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\
+\x20\x2d\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\x2d\x30\
+\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x30\x2e\x33\x35\x35\x34\x2c\
+\x30\x2e\x35\x37\x35\x30\x35\x20\x2d\x30\x2e\x35\x37\x35\x36\x35\
+\x2c\x31\x2e\x30\x30\x35\x38\x20\x2d\x32\x2e\x31\x39\x30\x39\x38\
+\x2c\x31\x2e\x30\x31\x33\x36\x35\x20\x2d\x31\x2e\x35\x34\x34\x39\
+\x36\x2c\x30\x2e\x30\x30\x38\x20\x2d\x33\x2e\x38\x39\x31\x38\x39\
+\x2c\x30\x2e\x33\x30\x33\x34\x20\x2d\x35\x2e\x32\x31\x35\x33\x39\
+\x2c\x30\x2e\x36\x35\x37\x35\x33\x20\x2d\x31\x2e\x36\x38\x37\x31\
+\x38\x2c\x30\x2e\x34\x35\x31\x34\x33\x20\x2d\x32\x2e\x31\x39\x32\
+\x35\x36\x2c\x30\x2e\x32\x39\x37\x39\x32\x20\x2d\x31\x2e\x36\x39\
+\x30\x39\x38\x2c\x2d\x30\x2e\x35\x31\x33\x36\x36\x20\x7a\x20\x6d\
+\x20\x31\x31\x2e\x37\x30\x33\x36\x34\x2c\x2d\x33\x2e\x30\x33\x32\
+\x35\x37\x20\x63\x20\x30\x2e\x36\x37\x37\x33\x35\x2c\x2d\x31\x2e\
+\x39\x34\x33\x30\x36\x20\x31\x2e\x36\x37\x37\x37\x36\x2c\x2d\x32\
+\x2e\x39\x34\x31\x35\x39\x20\x32\x2e\x38\x35\x38\x30\x35\x2c\x2d\
+\x32\x2e\x38\x35\x32\x36\x38\x20\x31\x2e\x30\x34\x35\x32\x37\x2c\
+\x30\x2e\x30\x37\x38\x37\x20\x31\x2e\x36\x30\x34\x39\x35\x2c\x30\
+\x2e\x36\x38\x36\x35\x37\x20\x31\x2e\x33\x31\x38\x38\x2c\x31\x2e\
+\x34\x33\x32\x32\x36\x20\x2d\x30\x2e\x32\x37\x33\x34\x31\x2c\x30\
+\x2e\x37\x31\x32\x35\x31\x20\x30\x2e\x31\x31\x33\x35\x33\x2c\x31\
+\x2e\x33\x30\x39\x31\x35\x20\x30\x2e\x38\x35\x39\x38\x37\x2c\x31\
+\x2e\x33\x32\x35\x38\x38\x20\x31\x2e\x36\x36\x37\x34\x39\x2c\x30\
+\x2e\x30\x33\x37\x34\x20\x2d\x30\x2e\x34\x36\x39\x30\x39\x2c\x31\
+\x2e\x33\x36\x38\x37\x32\x20\x2d\x33\x2e\x38\x36\x30\x39\x33\x2c\
+\x32\x2e\x34\x30\x35\x38\x33\x20\x2d\x32\x2e\x30\x38\x36\x38\x32\
+\x2c\x30\x2e\x36\x33\x38\x30\x38\x20\x2d\x32\x2e\x31\x35\x36\x33\
+\x32\x2c\x30\x2e\x35\x30\x31\x34\x36\x20\x2d\x31\x2e\x31\x37\x35\
+\x37\x39\x2c\x2d\x32\x2e\x33\x31\x31\x32\x39\x20\x7a\x20\x6d\x20\
+\x31\x31\x2e\x33\x32\x35\x37\x38\x2c\x32\x2e\x32\x31\x30\x34\x36\
+\x20\x63\x20\x30\x2e\x33\x31\x39\x32\x32\x2c\x2d\x30\x2e\x36\x34\
+\x30\x35\x32\x20\x30\x2e\x30\x31\x35\x31\x2c\x2d\x31\x2e\x33\x39\
+\x32\x35\x20\x2d\x30\x2e\x36\x37\x35\x38\x34\x2c\x2d\x31\x2e\x36\
+\x37\x31\x30\x35\x20\x2d\x30\x2e\x39\x37\x33\x36\x39\x2c\x2d\x30\
+\x2e\x33\x39\x32\x35\x36\x20\x2d\x30\x2e\x39\x36\x31\x38\x32\x2c\
+\x2d\x30\x2e\x35\x32\x34\x32\x32\x20\x30\x2e\x30\x35\x32\x38\x2c\
+\x2d\x30\x2e\x35\x38\x35\x34\x31\x20\x30\x2e\x37\x31\x39\x39\x36\
+\x2c\x2d\x30\x2e\x30\x34\x33\x34\x20\x31\x2e\x30\x35\x30\x31\x32\
+\x2c\x2d\x30\x2e\x34\x39\x37\x38\x36\x20\x30\x2e\x37\x33\x33\x36\
+\x39\x2c\x2d\x31\x2e\x30\x30\x39\x38\x35\x20\x2d\x30\x2e\x33\x31\
+\x36\x34\x34\x2c\x2d\x30\x2e\x35\x31\x32\x20\x2d\x30\x2e\x30\x34\
+\x38\x35\x2c\x2d\x31\x2e\x32\x35\x36\x35\x33\x20\x30\x2e\x35\x39\
+\x35\x34\x39\x2c\x2d\x31\x2e\x36\x35\x34\x35\x31\x20\x30\x2e\x36\
+\x39\x37\x38\x34\x2c\x2d\x30\x2e\x34\x33\x31\x32\x39\x20\x30\x2e\
+\x39\x30\x33\x39\x2c\x2d\x30\x2e\x32\x39\x31\x37\x32\x20\x30\x2e\
+\x35\x31\x30\x30\x38\x2c\x30\x2e\x33\x34\x35\x34\x39\x20\x2d\x30\
+\x2e\x33\x36\x33\x34\x31\x2c\x30\x2e\x35\x38\x38\x30\x31\x20\x2d\
+\x30\x2e\x31\x39\x32\x33\x36\x2c\x31\x2e\x32\x32\x35\x32\x33\x20\
+\x30\x2e\x33\x38\x30\x31\x2c\x31\x2e\x34\x31\x36\x30\x35\x20\x30\
+\x2e\x36\x32\x31\x31\x35\x2c\x30\x2e\x32\x30\x37\x30\x35\x20\x30\
+\x2e\x33\x39\x32\x31\x34\x2c\x31\x2e\x31\x34\x38\x37\x35\x20\x2d\
+\x30\x2e\x35\x36\x37\x39\x33\x2c\x32\x2e\x33\x33\x35\x34\x31\x20\
+\x2d\x30\x2e\x38\x38\x34\x38\x32\x2c\x31\x2e\x30\x39\x33\x36\x35\
+\x20\x2d\x31\x2e\x33\x34\x37\x35\x39\x2c\x31\x2e\x34\x36\x34\x33\
+\x39\x20\x2d\x31\x2e\x30\x32\x38\x33\x38\x2c\x30\x2e\x38\x32\x33\
+\x38\x37\x20\x7a\x20\x6d\x20\x2d\x34\x39\x2e\x31\x37\x37\x31\x34\
+\x2c\x2d\x35\x2e\x30\x36\x34\x36\x31\x20\x63\x20\x30\x2e\x39\x36\
+\x32\x31\x39\x2c\x2d\x31\x2e\x30\x36\x33\x32\x31\x20\x31\x2e\x34\
+\x34\x38\x34\x35\x2c\x2d\x32\x2e\x32\x33\x34\x30\x38\x20\x31\x2e\
+\x30\x38\x30\x35\x39\x2c\x2d\x32\x2e\x36\x30\x31\x39\x35\x20\x2d\
+\x30\x2e\x33\x36\x37\x38\x37\x2c\x2d\x30\x2e\x33\x36\x37\x38\x37\
+\x20\x2d\x30\x2e\x30\x36\x30\x34\x2c\x2d\x30\x2e\x36\x36\x38\x38\
+\x35\x20\x30\x2e\x36\x38\x33\x33\x36\x2c\x2d\x30\x2e\x36\x36\x38\
+\x38\x35\x20\x30\x2e\x37\x34\x33\x37\x32\x2c\x30\x20\x32\x2e\x33\
+\x39\x33\x37\x32\x2c\x2d\x30\x2e\x39\x37\x38\x34\x34\x20\x33\x2e\
+\x36\x36\x36\x36\x37\x2c\x2d\x32\x2e\x31\x37\x34\x33\x31\x20\x31\
+\x2e\x32\x37\x32\x39\x35\x2c\x2d\x31\x2e\x31\x39\x35\x38\x38\x20\
+\x32\x2e\x33\x31\x34\x34\x35\x2c\x2d\x31\x2e\x36\x34\x35\x38\x38\
+\x20\x32\x2e\x33\x31\x34\x34\x35\x2c\x2d\x31\x20\x30\x2c\x30\x2e\
+\x36\x34\x35\x38\x37\x20\x30\x2e\x34\x37\x36\x35\x36\x2c\x31\x2e\
+\x31\x37\x34\x33\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x2e\
+\x31\x37\x34\x33\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\
+\x30\x2e\x38\x31\x34\x39\x37\x2c\x2d\x30\x2e\x33\x39\x34\x38\x38\
+\x20\x30\x2e\x35\x31\x36\x36\x39\x2c\x2d\x30\x2e\x38\x37\x37\x35\
+\x20\x2d\x30\x2e\x32\x39\x38\x32\x38\x2c\x2d\x30\x2e\x34\x38\x32\
+\x36\x33\x20\x31\x2e\x36\x35\x37\x34\x33\x2c\x2d\x30\x2e\x38\x32\
+\x30\x31\x33\x20\x34\x2e\x33\x34\x36\x30\x32\x2c\x2d\x30\x2e\x37\
+\x35\x20\x32\x2e\x36\x38\x38\x36\x2c\x30\x2e\x30\x37\x30\x31\x20\
+\x34\x2e\x36\x37\x39\x35\x33\x2c\x2d\x30\x2e\x32\x31\x20\x34\x2e\
+\x34\x32\x34\x33\x2c\x2d\x30\x2e\x36\x32\x32\x35\x20\x2d\x30\x2e\
+\x32\x35\x35\x32\x34\x2c\x2d\x30\x2e\x34\x31\x32\x35\x20\x30\x2e\
+\x36\x34\x39\x39\x39\x2c\x2d\x30\x2e\x37\x35\x20\x32\x2e\x30\x31\
+\x31\x36\x32\x2c\x2d\x30\x2e\x37\x35\x20\x31\x2e\x33\x36\x31\x36\
+\x33\x2c\x30\x20\x32\x2e\x36\x35\x39\x34\x35\x2c\x30\x2e\x35\x35\
+\x31\x32\x39\x20\x32\x2e\x38\x38\x34\x30\x34\x2c\x31\x2e\x32\x32\
+\x35\x30\x38\x20\x30\x2e\x32\x36\x35\x38\x33\x2c\x30\x2e\x37\x39\
+\x37\x34\x38\x20\x32\x2e\x32\x31\x34\x36\x34\x2c\x31\x2e\x31\x34\
+\x36\x34\x39\x20\x35\x2e\x35\x38\x33\x33\x34\x2c\x30\x2e\x39\x39\
+\x39\x39\x31\x20\x33\x2e\x35\x38\x37\x31\x38\x2c\x2d\x30\x2e\x31\
+\x35\x36\x30\x38\x20\x35\x2e\x31\x37\x39\x36\x37\x2c\x30\x2e\x31\
+\x35\x38\x33\x39\x20\x35\x2e\x31\x39\x30\x32\x38\x2c\x31\x2e\x30\
+\x32\x34\x39\x32\x20\x30\x2e\x30\x31\x31\x2c\x30\x2e\x38\x39\x35\
+\x31\x39\x20\x30\x2e\x32\x36\x35\x38\x31\x2c\x30\x2e\x38\x35\x34\
+\x35\x20\x30\x2e\x38\x39\x37\x36\x34\x2c\x2d\x30\x2e\x31\x34\x33\
+\x33\x31\x20\x30\x2e\x35\x31\x36\x37\x35\x2c\x2d\x30\x2e\x38\x31\
+\x36\x30\x36\x20\x31\x2e\x37\x35\x33\x2c\x2d\x31\x2e\x31\x36\x35\
+\x37\x31\x20\x32\x2e\x39\x38\x33\x37\x2c\x2d\x30\x2e\x38\x34\x33\
+\x38\x38\x20\x31\x2e\x31\x35\x35\x37\x35\x2c\x30\x2e\x33\x30\x32\
+\x32\x34\x20\x32\x2e\x33\x35\x33\x33\x36\x2c\x30\x2e\x31\x34\x31\
+\x37\x37\x20\x32\x2e\x36\x36\x31\x33\x37\x2c\x2d\x30\x2e\x33\x35\
+\x36\x36\x20\x30\x2e\x33\x30\x38\x30\x31\x2c\x2d\x30\x2e\x34\x39\
+\x38\x33\x37\x20\x31\x2e\x30\x31\x30\x30\x31\x2c\x2d\x30\x2e\x39\
+\x30\x36\x31\x32\x20\x31\x2e\x35\x36\x30\x30\x31\x2c\x2d\x30\x2e\
+\x39\x30\x36\x31\x32\x20\x30\x2e\x35\x35\x2c\x30\x20\x30\x2e\x37\
+\x33\x39\x37\x36\x2c\x30\x2e\x34\x32\x31\x30\x38\x20\x30\x2e\x34\
+\x32\x31\x36\x39\x2c\x30\x2e\x39\x33\x35\x37\x33\x20\x2d\x30\x2e\
+\x33\x35\x33\x34\x31\x2c\x30\x2e\x35\x37\x31\x38\x33\x20\x30\x2e\
+\x35\x37\x32\x30\x36\x2c\x30\x2e\x36\x30\x35\x38\x31\x20\x32\x2e\
+\x33\x37\x39\x37\x34\x2c\x30\x2e\x30\x38\x37\x34\x20\x32\x2e\x38\
+\x31\x35\x37\x2c\x2d\x30\x2e\x38\x30\x37\x35\x33\x20\x32\x2e\x39\
+\x30\x38\x31\x35\x2c\x2d\x30\x2e\x37\x33\x38\x38\x34\x20\x31\x2e\
+\x39\x32\x31\x31\x31\x2c\x31\x2e\x34\x32\x37\x34\x37\x20\x2d\x30\
+\x2e\x38\x39\x32\x39\x32\x2c\x31\x2e\x39\x35\x39\x37\x34\x20\x2d\
+\x32\x2e\x30\x32\x32\x39\x36\x2c\x32\x2e\x33\x35\x38\x34\x38\x20\
+\x2d\x38\x2e\x31\x33\x36\x34\x33\x2c\x32\x2e\x38\x37\x31\x30\x31\
+\x20\x2d\x34\x2e\x34\x38\x37\x30\x39\x2c\x30\x2e\x33\x37\x36\x31\
+\x39\x20\x2d\x37\x2e\x35\x37\x38\x37\x2c\x30\x2e\x31\x39\x37\x34\
+\x39\x20\x2d\x38\x2e\x34\x30\x31\x38\x31\x2c\x2d\x30\x2e\x34\x38\
+\x35\x36\x33\x20\x43\x20\x31\x33\x31\x2e\x34\x33\x39\x31\x39\x2c\
+\x31\x31\x35\x2e\x31\x31\x39\x36\x20\x31\x33\x31\x2c\x31\x31\x35\
+\x2e\x31\x30\x33\x30\x33\x20\x31\x33\x31\x2c\x31\x31\x35\x2e\x37\
+\x38\x36\x38\x31\x20\x63\x20\x30\x2c\x30\x2e\x35\x36\x37\x34\x33\
+\x20\x2d\x31\x2e\x37\x37\x38\x32\x36\x2c\x30\x2e\x31\x37\x32\x35\
+\x33\x20\x2d\x33\x2e\x39\x35\x31\x36\x39\x2c\x2d\x30\x2e\x38\x37\
+\x37\x35\x36\x20\x2d\x36\x2e\x37\x38\x34\x31\x37\x2c\x2d\x33\x2e\
+\x32\x37\x37\x37\x35\x20\x2d\x31\x38\x2e\x32\x39\x31\x36\x35\x2c\
+\x2d\x32\x2e\x30\x39\x36\x31\x38\x20\x2d\x32\x30\x2e\x33\x36\x32\
+\x31\x31\x2c\x32\x2e\x30\x39\x30\x37\x35\x20\x2d\x30\x2e\x37\x30\
+\x37\x32\x37\x2c\x31\x2e\x34\x33\x30\x32\x35\x20\x2d\x32\x2e\x32\
+\x39\x34\x31\x33\x2c\x32\x2e\x36\x35\x30\x36\x20\x2d\x33\x2e\x37\
+\x30\x38\x34\x38\x2c\x32\x2e\x38\x35\x31\x39\x35\x20\x2d\x32\x2e\
+\x33\x38\x34\x32\x34\x2c\x30\x2e\x33\x33\x39\x34\x33\x20\x2d\x32\
+\x2e\x34\x30\x39\x39\x36\x2c\x30\x2e\x32\x38\x33\x31\x35\x20\x2d\
+\x30\x2e\x37\x32\x32\x37\x39\x2c\x2d\x31\x2e\x35\x38\x31\x31\x35\
+\x20\x7a\x20\x4d\x20\x31\x32\x38\x2e\x37\x35\x2c\x31\x30\x39\x2e\
+\x33\x30\x32\x32\x32\x20\x63\x20\x31\x2e\x32\x33\x37\x35\x2c\x2d\
+\x30\x2e\x32\x33\x39\x32\x38\x20\x32\x2e\x32\x35\x2c\x2d\x30\x2e\
+\x38\x39\x37\x33\x20\x32\x2e\x32\x35\x2c\x2d\x31\x2e\x34\x36\x32\
+\x32\x36\x20\x30\x2c\x2d\x30\x2e\x35\x36\x34\x39\x36\x20\x2d\x31\
+\x2e\x30\x31\x32\x35\x2c\x2d\x31\x2e\x33\x31\x31\x30\x35\x20\x2d\
+\x32\x2e\x32\x35\x2c\x2d\x31\x2e\x36\x35\x37\x39\x38\x20\x2d\x31\
+\x2e\x34\x38\x34\x30\x31\x2c\x2d\x30\x2e\x34\x31\x36\x30\x34\x20\
+\x30\x2e\x36\x34\x33\x37\x35\x2c\x2d\x31\x2e\x30\x32\x31\x34\x36\
+\x20\x36\x2e\x32\x35\x2c\x2d\x31\x2e\x37\x37\x38\x33\x34\x20\x39\
+\x2e\x33\x31\x31\x38\x35\x2c\x2d\x31\x2e\x32\x35\x37\x31\x36\x20\
+\x31\x30\x2e\x37\x35\x30\x33\x38\x2c\x2d\x31\x2e\x30\x33\x31\x39\
+\x37\x20\x38\x2e\x37\x39\x38\x35\x36\x2c\x31\x2e\x33\x37\x37\x33\
+\x35\x20\x2d\x31\x2e\x30\x38\x33\x34\x31\x2c\x31\x2e\x33\x33\x37\
+\x33\x34\x20\x2d\x31\x2e\x30\x36\x35\x38\x35\x2c\x31\x2e\x34\x36\
+\x32\x36\x38\x20\x30\x2e\x31\x30\x35\x39\x35\x2c\x30\x2e\x37\x35\
+\x36\x34\x36\x20\x30\x2e\x38\x38\x31\x39\x34\x2c\x2d\x30\x2e\x35\
+\x33\x31\x35\x33\x20\x31\x2e\x31\x37\x31\x34\x35\x2c\x2d\x30\x2e\
+\x34\x36\x39\x33\x38\x20\x30\x2e\x37\x37\x38\x31\x32\x2c\x30\x2e\
+\x31\x36\x37\x30\x36\x20\x2d\x30\x2e\x35\x36\x33\x38\x39\x2c\x30\
+\x2e\x39\x31\x32\x33\x38\x20\x2d\x34\x2e\x30\x37\x35\x34\x36\x2c\
+\x31\x2e\x35\x34\x39\x37\x32\x20\x2d\x31\x34\x2e\x36\x38\x32\x36\
+\x33\x2c\x32\x2e\x36\x36\x34\x38\x33\x20\x2d\x31\x2e\x39\x32\x35\
+\x2c\x30\x2e\x32\x30\x32\x33\x37\x20\x2d\x32\x2e\x34\x38\x37\x35\
+\x2c\x30\x2e\x31\x37\x32\x31\x37\x20\x2d\x31\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x30\x36\x37\x31\x20\x7a\x20\x4d\x20\x31\x35\x32\x2c\x31\
+\x30\x35\x2e\x31\x33\x32\x33\x34\x20\x63\x20\x30\x2c\x2d\x31\x2e\
+\x30\x39\x32\x31\x33\x20\x2d\x30\x2e\x37\x38\x37\x35\x2c\x2d\x32\
+\x2e\x32\x31\x34\x32\x38\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x32\x2e\
+\x34\x39\x33\x36\x36\x20\x2d\x31\x2e\x30\x36\x30\x34\x38\x2c\x2d\
+\x30\x2e\x33\x30\x37\x38\x32\x20\x2d\x30\x2e\x38\x30\x30\x36\x33\
+\x2c\x2d\x30\x2e\x34\x33\x35\x32\x32\x20\x30\x2e\x36\x35\x39\x34\
+\x38\x2c\x2d\x30\x2e\x33\x32\x33\x33\x32\x20\x32\x2e\x34\x31\x36\
+\x34\x35\x2c\x30\x2e\x31\x38\x35\x31\x37\x20\x33\x2e\x38\x30\x34\
+\x34\x35\x2c\x33\x2e\x31\x32\x35\x33\x38\x20\x32\x2e\x30\x30\x31\
+\x34\x35\x2c\x34\x2e\x32\x33\x39\x36\x39\x20\x43\x20\x31\x35\x32\
+\x2e\x34\x30\x39\x39\x32\x2c\x31\x30\x36\x2e\x38\x36\x34\x36\x39\
+\x20\x31\x35\x32\x2c\x31\x30\x36\x2e\x32\x32\x34\x34\x37\x20\x31\
+\x35\x32\x2c\x31\x30\x35\x2e\x31\x33\x32\x33\x34\x20\x7a\x20\x4d\
+\x20\x31\x30\x30\x2c\x31\x30\x34\x20\x63\x20\x30\x2c\x2d\x30\x2e\
+\x35\x35\x20\x30\x2e\x34\x35\x2c\x2d\x31\x20\x31\x2c\x2d\x31\x20\
+\x30\x2e\x35\x35\x2c\x30\x20\x31\x2e\x39\x2c\x2d\x30\x2e\x39\x20\
+\x33\x2c\x2d\x32\x20\x31\x2e\x31\x2c\x2d\x31\x2e\x31\x20\x33\x2e\
+\x31\x32\x35\x2c\x2d\x32\x20\x34\x2e\x35\x2c\x2d\x32\x20\x31\x2e\
+\x33\x37\x35\x2c\x30\x20\x32\x2e\x35\x2c\x2d\x30\x2e\x34\x37\x38\
+\x37\x38\x37\x20\x32\x2e\x35\x2c\x2d\x31\x2e\x30\x36\x33\x39\x37\
+\x20\x30\x2c\x2d\x30\x2e\x35\x38\x35\x31\x38\x34\x20\x31\x2e\x32\
+\x33\x37\x35\x2c\x2d\x30\x2e\x39\x34\x35\x35\x36\x36\x20\x32\x2e\
+\x37\x35\x2c\x2d\x30\x2e\x38\x30\x30\x38\x35\x20\x31\x2e\x35\x31\
+\x32\x35\x2c\x30\x2e\x31\x34\x34\x37\x31\x37\x20\x34\x2e\x34\x38\
+\x36\x37\x38\x2c\x2d\x30\x2e\x31\x31\x30\x38\x32\x32\x20\x36\x2e\
+\x36\x30\x39\x35\x31\x2c\x2d\x30\x2e\x35\x36\x37\x38\x36\x34\x20\
+\x32\x2e\x36\x35\x36\x31\x34\x2c\x2d\x30\x2e\x35\x37\x31\x38\x39\
+\x20\x34\x2e\x30\x38\x32\x37\x38\x2c\x2d\x30\x2e\x34\x36\x39\x37\
+\x31\x34\x20\x34\x2e\x35\x37\x35\x36\x31\x2c\x30\x2e\x33\x32\x37\
+\x37\x30\x35\x20\x30\x2e\x33\x39\x33\x38\x36\x2c\x30\x2e\x36\x33\
+\x37\x32\x37\x39\x20\x33\x2e\x31\x38\x33\x35\x35\x2c\x31\x2e\x32\
+\x39\x31\x38\x37\x36\x20\x36\x2e\x31\x39\x39\x33\x31\x2c\x31\x2e\
+\x34\x35\x34\x36\x35\x39\x20\x33\x2e\x30\x31\x35\x37\x36\x2c\x30\
+\x2e\x31\x36\x32\x37\x38\x34\x20\x35\x2e\x39\x38\x31\x34\x37\x2c\
+\x30\x2e\x36\x30\x33\x39\x31\x38\x20\x36\x2e\x35\x39\x30\x34\x37\
+\x2c\x30\x2e\x39\x38\x30\x32\x39\x39\x20\x30\x2e\x36\x30\x39\x2c\
+\x30\x2e\x33\x37\x36\x33\x38\x31\x20\x32\x2e\x32\x37\x30\x30\x33\
+\x2c\x30\x2e\x32\x34\x32\x32\x34\x38\x20\x33\x2e\x36\x39\x31\x31\
+\x38\x2c\x2d\x30\x2e\x32\x39\x38\x30\x37\x34\x20\x43\x20\x31\x34\
+\x33\x2e\x30\x39\x30\x30\x39\x2c\x39\x38\x2e\x33\x39\x35\x34\x35\
+\x20\x31\x34\x34\x2c\x39\x38\x2e\x33\x39\x32\x39\x33\x31\x20\x31\
+\x34\x34\x2c\x39\x39\x2e\x30\x32\x34\x37\x35\x31\x20\x31\x34\x34\
+\x2c\x39\x39\x2e\x35\x36\x31\x31\x33\x38\x20\x31\x34\x34\x2e\x36\
+\x36\x30\x38\x38\x2c\x31\x30\x30\x20\x31\x34\x35\x2e\x34\x36\x38\
+\x36\x32\x2c\x31\x30\x30\x20\x63\x20\x30\x2e\x38\x30\x37\x37\x33\
+\x2c\x30\x20\x31\x2e\x32\x35\x32\x37\x36\x2c\x2d\x30\x2e\x35\x36\
+\x32\x35\x20\x30\x2e\x39\x38\x38\x39\x34\x2c\x2d\x31\x2e\x32\x35\
+\x20\x2d\x30\x2e\x32\x39\x39\x39\x35\x2c\x2d\x30\x2e\x37\x38\x31\
+\x36\x35\x38\x20\x30\x2e\x34\x30\x31\x35\x38\x2c\x2d\x31\x2e\x32\
+\x35\x20\x31\x2e\x38\x37\x32\x33\x39\x2c\x2d\x31\x2e\x32\x35\x20\
+\x33\x2e\x34\x35\x38\x34\x33\x2c\x30\x20\x32\x2e\x32\x39\x31\x38\
+\x33\x2c\x33\x2e\x34\x37\x38\x30\x39\x20\x2d\x31\x2e\x31\x39\x36\
+\x35\x38\x2c\x33\x2e\x35\x36\x37\x34\x39\x20\x2d\x31\x2e\x34\x34\
+\x38\x33\x35\x2c\x30\x2e\x30\x33\x37\x31\x20\x2d\x34\x2e\x31\x37\
+\x38\x35\x36\x2c\x30\x2e\x32\x36\x37\x33\x38\x20\x2d\x36\x2e\x30\
+\x36\x37\x31\x32\x2c\x30\x2e\x35\x31\x31\x37\x20\x2d\x32\x2e\x31\
+\x31\x31\x34\x32\x2c\x30\x2e\x32\x37\x33\x31\x34\x20\x2d\x33\x2e\
+\x37\x34\x32\x32\x2c\x2d\x30\x2e\x30\x34\x31\x37\x20\x2d\x34\x2e\
+\x32\x33\x34\x36\x39\x2c\x2d\x30\x2e\x38\x31\x37\x34\x39\x20\x2d\
+\x30\x2e\x36\x33\x34\x37\x2c\x2d\x30\x2e\x39\x39\x39\x38\x33\x36\
+\x20\x2d\x30\x2e\x38\x30\x34\x31\x31\x2c\x2d\x31\x2e\x30\x30\x32\
+\x32\x36\x34\x20\x2d\x30\x2e\x38\x31\x36\x32\x35\x2c\x2d\x30\x2e\
+\x30\x31\x31\x37\x20\x2d\x30\x2e\x30\x30\x39\x2c\x30\x2e\x37\x35\
+\x38\x39\x39\x20\x2d\x31\x2e\x33\x39\x30\x31\x34\x2c\x31\x2e\x32\
+\x35\x20\x2d\x33\x2e\x35\x31\x35\x33\x31\x2c\x31\x2e\x32\x35\x20\
+\x2d\x31\x2e\x39\x32\x35\x2c\x30\x20\x2d\x33\x2e\x35\x2c\x2d\x30\
+\x2e\x34\x39\x38\x31\x34\x20\x2d\x33\x2e\x35\x2c\x2d\x31\x2e\x31\
+\x30\x36\x39\x39\x20\x30\x2c\x2d\x30\x2e\x36\x30\x38\x38\x34\x20\
+\x2d\x30\x2e\x36\x32\x30\x31\x37\x2c\x2d\x30\x2e\x38\x36\x39\x30\
+\x31\x20\x2d\x31\x2e\x33\x37\x38\x31\x34\x2c\x2d\x30\x2e\x35\x37\
+\x38\x31\x34\x20\x2d\x30\x2e\x37\x35\x37\x39\x38\x2c\x30\x2e\x32\
+\x39\x30\x38\x36\x20\x2d\x31\x2e\x38\x32\x32\x36\x31\x2c\x30\x2e\
+\x30\x38\x34\x34\x20\x2d\x32\x2e\x33\x36\x35\x38\x33\x2c\x2d\x30\
+\x2e\x34\x35\x38\x38\x34\x20\x2d\x31\x2e\x32\x32\x35\x31\x37\x2c\
+\x2d\x31\x2e\x32\x32\x35\x31\x37\x34\x20\x2d\x39\x2e\x36\x34\x34\
+\x30\x31\x2c\x2d\x31\x2e\x35\x31\x30\x32\x37\x37\x20\x2d\x31\x33\
+\x2e\x39\x39\x33\x38\x34\x2c\x2d\x30\x2e\x34\x37\x33\x39\x30\x32\
+\x20\x2d\x31\x2e\x37\x38\x30\x38\x2c\x30\x2e\x34\x32\x34\x32\x38\
+\x36\x20\x2d\x34\x2e\x30\x39\x35\x35\x37\x2c\x31\x2e\x38\x36\x31\
+\x38\x38\x32\x20\x2d\x35\x2e\x31\x34\x33\x39\x32\x2c\x33\x2e\x31\
+\x39\x34\x36\x35\x32\x20\x43\x20\x31\x30\x34\x2e\x32\x34\x30\x36\
+\x38\x2c\x31\x30\x34\x2e\x39\x36\x33\x37\x34\x20\x31\x30\x30\x2c\
+\x31\x30\x35\x2e\x39\x35\x30\x32\x20\x31\x30\x30\x2c\x31\x30\x34\
+\x20\x7a\x20\x6d\x20\x32\x38\x2e\x36\x39\x33\x38\x32\x2c\x2d\x38\
+\x2e\x36\x34\x33\x35\x35\x35\x20\x63\x20\x30\x2e\x36\x35\x36\x36\
+\x31\x2c\x2d\x30\x2e\x32\x36\x37\x31\x31\x33\x20\x30\x2e\x39\x34\
+\x35\x39\x36\x2c\x2d\x31\x2e\x31\x33\x31\x35\x38\x37\x20\x30\x2e\
+\x36\x34\x33\x30\x31\x2c\x2d\x31\x2e\x39\x32\x31\x30\x35\x33\x20\
+\x2d\x30\x2e\x33\x35\x35\x38\x31\x2c\x2d\x30\x2e\x39\x32\x37\x32\
+\x34\x36\x20\x30\x2e\x31\x30\x36\x35\x39\x2c\x2d\x31\x2e\x34\x34\
+\x30\x38\x31\x33\x20\x31\x2e\x33\x30\x36\x31\x38\x2c\x2d\x31\x2e\
+\x34\x35\x30\x37\x30\x35\x20\x31\x2e\x34\x32\x33\x32\x33\x2c\x2d\
+\x30\x2e\x30\x31\x31\x37\x34\x20\x31\x2e\x35\x34\x30\x30\x38\x2c\
+\x2d\x30\x2e\x32\x31\x36\x31\x31\x39\x20\x30\x2e\x35\x30\x30\x32\
+\x33\x2c\x2d\x30\x2e\x38\x37\x35\x20\x2d\x32\x2e\x30\x31\x37\x34\
+\x38\x2c\x2d\x31\x2e\x32\x37\x38\x33\x33\x35\x20\x30\x2e\x31\x32\
+\x39\x37\x32\x2c\x2d\x32\x2e\x32\x32\x35\x30\x35\x31\x20\x34\x2e\
+\x35\x37\x39\x34\x32\x2c\x2d\x32\x2e\x30\x31\x39\x31\x30\x37\x20\
+\x32\x2e\x30\x37\x37\x35\x34\x2c\x30\x2e\x30\x39\x36\x31\x35\x20\
+\x35\x2e\x30\x35\x30\x33\x2c\x2d\x30\x2e\x31\x36\x37\x35\x37\x34\
+\x20\x36\x2e\x36\x30\x36\x31\x33\x2c\x2d\x30\x2e\x35\x38\x36\x30\
+\x36\x31\x20\x32\x2e\x36\x36\x34\x37\x38\x2c\x2d\x30\x2e\x37\x31\
+\x36\x37\x37\x31\x20\x32\x2e\x38\x30\x39\x37\x33\x2c\x2d\x30\x2e\
+\x35\x39\x35\x33\x31\x35\x20\x32\x2e\x35\x2c\x32\x2e\x30\x39\x34\
+\x38\x35\x39\x20\x2d\x30\x2e\x32\x39\x30\x36\x2c\x32\x2e\x35\x32\
+\x34\x30\x36\x34\x20\x2d\x30\x2e\x38\x35\x31\x34\x34\x2c\x32\x2e\
+\x39\x34\x38\x38\x38\x38\x20\x2d\x34\x2e\x38\x32\x38\x37\x39\x2c\
+\x33\x2e\x36\x35\x37\x37\x30\x33\x20\x2d\x32\x2e\x34\x37\x35\x2c\
+\x30\x2e\x34\x34\x31\x30\x37\x37\x20\x2d\x35\x2e\x35\x31\x32\x35\
+\x2c\x30\x2e\x36\x32\x36\x30\x37\x36\x20\x2d\x36\x2e\x37\x35\x2c\
+\x30\x2e\x34\x31\x31\x31\x31\x20\x2d\x31\x2e\x32\x33\x37\x35\x2c\
+\x2d\x30\x2e\x32\x31\x34\x39\x36\x36\x20\x2d\x32\x2e\x32\x35\x2c\
+\x2d\x30\x2e\x30\x30\x33\x32\x20\x2d\x32\x2e\x32\x35\x2c\x30\x2e\
+\x34\x37\x30\x34\x38\x31\x20\x30\x2c\x30\x2e\x34\x37\x33\x37\x33\
+\x20\x2d\x30\x2e\x37\x38\x37\x35\x2c\x30\x2e\x38\x32\x35\x38\x30\
+\x32\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x37\x38\x32\x33\x38\x31\
+\x20\x2d\x30\x2e\x39\x36\x32\x35\x2c\x2d\x30\x2e\x30\x34\x33\x34\
+\x32\x20\x2d\x31\x2e\x32\x31\x32\x37\x38\x2c\x2d\x30\x2e\x32\x39\
+\x37\x34\x39\x35\x20\x2d\x30\x2e\x35\x35\x36\x31\x38\x2c\x2d\x30\
+\x2e\x35\x36\x34\x36\x30\x38\x20\x7a\x20\x4d\x20\x31\x35\x31\x2e\
+\x36\x36\x36\x30\x32\x2c\x39\x31\x2e\x37\x35\x20\x63\x20\x30\x2e\
+\x34\x33\x31\x32\x34\x2c\x2d\x30\x2e\x36\x38\x37\x35\x20\x30\x2e\
+\x36\x35\x34\x35\x31\x2c\x2d\x32\x2e\x30\x33\x37\x35\x20\x30\x2e\
+\x34\x39\x36\x31\x36\x2c\x2d\x33\x20\x2d\x30\x2e\x31\x35\x38\x33\
+\x34\x2c\x2d\x30\x2e\x39\x36\x32\x35\x20\x30\x2e\x31\x38\x37\x35\
+\x37\x2c\x2d\x31\x2e\x37\x35\x20\x30\x2e\x37\x36\x38\x36\x39\x2c\
+\x2d\x31\x2e\x37\x35\x20\x30\x2e\x35\x38\x31\x31\x32\x2c\x30\x20\
+\x30\x2e\x38\x36\x37\x38\x34\x2c\x31\x2e\x30\x31\x32\x35\x20\x30\
+\x2e\x36\x33\x37\x31\x37\x2c\x32\x2e\x32\x35\x20\x2d\x30\x2e\x32\
+\x33\x30\x36\x38\x2c\x31\x2e\x32\x33\x37\x35\x20\x2d\x30\x2e\x34\
+\x35\x32\x38\x36\x2c\x32\x2e\x35\x38\x37\x35\x20\x2d\x30\x2e\x34\
+\x39\x33\x37\x33\x2c\x33\x20\x2d\x30\x2e\x30\x34\x30\x39\x2c\x30\
+\x2e\x34\x31\x32\x35\x20\x2d\x30\x2e\x35\x35\x30\x38\x37\x2c\x30\
+\x2e\x37\x35\x20\x2d\x31\x2e\x31\x33\x33\x33\x33\x2c\x30\x2e\x37\
+\x35\x20\x2d\x30\x2e\x35\x39\x38\x37\x31\x2c\x30\x20\x2d\x30\x2e\
+\x37\x31\x38\x32\x32\x2c\x2d\x30\x2e\x35\x34\x33\x33\x31\x37\x20\
+\x2d\x30\x2e\x32\x37\x34\x39\x36\x2c\x2d\x31\x2e\x32\x35\x20\x7a\
+\x20\x6d\x20\x2d\x34\x38\x2e\x32\x34\x35\x37\x34\x2c\x2d\x33\x2e\
+\x34\x30\x37\x37\x37\x31\x20\x63\x20\x30\x2e\x34\x30\x35\x33\x31\
+\x2c\x2d\x32\x2e\x37\x36\x31\x35\x36\x31\x20\x36\x2e\x34\x34\x37\
+\x33\x35\x2c\x2d\x35\x2e\x37\x33\x37\x34\x39\x33\x20\x39\x2e\x30\
+\x30\x32\x30\x31\x2c\x2d\x34\x2e\x34\x33\x33\x38\x33\x32\x20\x31\
+\x2e\x32\x30\x35\x35\x32\x2c\x30\x2e\x36\x31\x35\x31\x38\x36\x20\
+\x31\x2e\x34\x34\x38\x30\x34\x2c\x31\x2e\x30\x31\x30\x38\x32\x39\
+\x20\x30\x2e\x35\x37\x37\x37\x31\x2c\x30\x2e\x39\x34\x32\x34\x39\
+\x33\x20\x2d\x33\x2e\x33\x36\x32\x30\x37\x2c\x2d\x30\x2e\x32\x36\
+\x33\x39\x38\x20\x2d\x37\x2e\x37\x34\x30\x37\x36\x2c\x31\x2e\x33\
+\x39\x36\x37\x34\x35\x20\x2d\x37\x2e\x36\x32\x32\x33\x31\x2c\x32\
+\x2e\x38\x39\x30\x39\x34\x34\x20\x30\x2e\x30\x36\x37\x33\x2c\x30\
+\x2e\x38\x34\x38\x35\x39\x39\x20\x2d\x30\x2e\x34\x30\x34\x31\x31\
+\x2c\x31\x2e\x37\x32\x39\x33\x31\x35\x20\x2d\x31\x2e\x30\x34\x37\
+\x35\x31\x2c\x31\x2e\x39\x35\x37\x31\x34\x35\x20\x2d\x30\x2e\x36\
+\x35\x39\x37\x34\x2c\x30\x2e\x32\x33\x33\x36\x31\x35\x20\x2d\x31\
+\x2e\x30\x35\x36\x34\x39\x2c\x2d\x30\x2e\x33\x35\x37\x39\x37\x38\
+\x20\x2d\x30\x2e\x39\x30\x39\x39\x2c\x2d\x31\x2e\x33\x35\x36\x37\
+\x35\x20\x7a\x20\x4d\x20\x31\x34\x37\x2e\x37\x35\x2c\x38\x37\x2e\
+\x33\x33\x37\x37\x31\x39\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x31\x2e\x38\x31\x32\x35\
+\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x32\x2e\x35\x2c\x30\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x33\
+\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\
+\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\
+\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\
+\x2d\x30\x2e\x32\x32\x36\x39\x37\x33\x20\x2d\x31\x2e\x32\x35\x2c\
+\x2d\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x7a\x20\x6d\x20\x2d\x32\
+\x32\x2e\x30\x30\x33\x38\x34\x2c\x2d\x31\x2e\x37\x32\x35\x35\x35\
+\x32\x20\x63\x20\x2d\x31\x2e\x35\x31\x34\x36\x31\x2c\x2d\x30\x2e\
+\x38\x32\x33\x36\x35\x31\x20\x2d\x34\x2e\x36\x36\x34\x36\x31\x2c\
+\x2d\x31\x2e\x36\x34\x37\x39\x34\x33\x20\x2d\x37\x2c\x2d\x31\x2e\
+\x38\x33\x31\x37\x36\x20\x4c\x20\x31\x31\x34\x2e\x35\x2c\x38\x33\
+\x2e\x34\x34\x36\x31\x39\x33\x20\x31\x31\x38\x2e\x34\x31\x33\x31\
+\x34\x2c\x38\x32\x2e\x35\x38\x31\x32\x20\x63\x20\x32\x2e\x36\x31\
+\x39\x32\x33\x2c\x2d\x30\x2e\x35\x37\x38\x39\x37\x37\x20\x35\x2e\
+\x30\x32\x31\x36\x33\x2c\x2d\x30\x2e\x34\x36\x34\x31\x35\x36\x20\
+\x37\x2e\x32\x36\x35\x35\x34\x2c\x30\x2e\x33\x34\x37\x32\x35\x20\
+\x34\x2e\x38\x36\x31\x33\x39\x2c\x31\x2e\x37\x35\x37\x39\x30\x34\
+\x20\x31\x33\x2e\x33\x31\x37\x36\x33\x2c\x32\x2e\x32\x34\x31\x36\
+\x39\x20\x31\x33\x2e\x33\x33\x36\x36\x33\x2c\x30\x2e\x37\x36\x32\
+\x39\x39\x36\x20\x30\x2e\x30\x31\x31\x2c\x2d\x30\x2e\x38\x35\x38\
+\x30\x39\x33\x20\x30\x2e\x32\x32\x30\x38\x37\x2c\x2d\x30\x2e\x38\
+\x37\x37\x39\x30\x37\x20\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x30\x37\
+\x30\x38\x32\x20\x30\x2e\x35\x34\x30\x32\x31\x2c\x30\x2e\x38\x32\
+\x33\x39\x38\x31\x20\x31\x2e\x39\x38\x30\x35\x39\x2c\x30\x2e\x38\
+\x30\x31\x36\x34\x34\x20\x35\x2e\x34\x34\x31\x32\x35\x2c\x2d\x30\
+\x2e\x30\x38\x34\x33\x38\x20\x33\x2e\x37\x32\x35\x30\x31\x2c\x2d\
+\x30\x2e\x39\x35\x33\x37\x30\x37\x20\x34\x2e\x38\x30\x36\x30\x32\
+\x2c\x2d\x30\x2e\x39\x34\x35\x38\x35\x20\x35\x2e\x31\x38\x33\x34\
+\x33\x2c\x30\x2e\x30\x33\x37\x36\x37\x20\x30\x2e\x36\x31\x32\x30\
+\x32\x2c\x31\x2e\x35\x39\x34\x38\x39\x33\x20\x2d\x31\x2e\x38\x31\
+\x30\x36\x32\x2c\x32\x2e\x31\x34\x32\x30\x32\x32\x20\x2d\x31\x32\
+\x2e\x38\x38\x39\x39\x39\x2c\x32\x2e\x39\x31\x31\x30\x37\x37\x20\
+\x2d\x37\x2e\x30\x31\x35\x32\x33\x2c\x30\x2e\x34\x38\x36\x39\x35\
+\x20\x2d\x39\x2e\x36\x30\x37\x33\x2c\x30\x2e\x32\x39\x34\x34\x36\
+\x35\x20\x2d\x31\x31\x2e\x37\x35\x33\x38\x34\x2c\x2d\x30\x2e\x38\
+\x37\x32\x38\x32\x38\x20\x7a\x20\x4d\x20\x31\x32\x38\x2e\x32\x35\
+\x2c\x38\x30\x2e\x38\x34\x34\x38\x34\x32\x20\x63\x20\x31\x2e\x35\
+\x31\x32\x35\x2c\x2d\x30\x2e\x35\x35\x36\x33\x33\x20\x32\x2e\x38\
+\x30\x36\x32\x35\x2c\x2d\x31\x2e\x34\x32\x34\x30\x30\x39\x20\x32\
+\x2e\x38\x37\x35\x2c\x2d\x31\x2e\x39\x32\x38\x31\x37\x35\x20\x43\
+\x20\x31\x33\x31\x2e\x31\x39\x33\x37\x35\x2c\x37\x38\x2e\x34\x31\
+\x32\x35\x20\x31\x33\x31\x2e\x33\x36\x32\x35\x2c\x37\x37\x2e\x35\
+\x35\x20\x31\x33\x31\x2e\x35\x2c\x37\x37\x20\x63\x20\x30\x2e\x31\
+\x33\x37\x35\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x33\x30\x36\x32\
+\x35\x2c\x2d\x31\x2e\x34\x30\x30\x37\x36\x37\x20\x30\x2e\x33\x37\
+\x35\x2c\x2d\x31\x2e\x38\x39\x30\x35\x39\x34\x20\x30\x2e\x32\x31\
+\x37\x36\x2c\x2d\x31\x2e\x35\x35\x30\x33\x34\x34\x20\x37\x2e\x31\
+\x32\x35\x2c\x2d\x31\x2e\x38\x38\x39\x32\x35\x36\x20\x37\x2e\x31\
+\x32\x35\x2c\x2d\x30\x2e\x33\x34\x39\x35\x38\x38\x20\x30\x2c\x30\
+\x2e\x37\x34\x37\x30\x31\x39\x20\x30\x2e\x34\x35\x37\x33\x34\x2c\
+\x31\x2e\x30\x37\x35\x35\x36\x34\x20\x31\x2e\x30\x31\x36\x33\x31\
+\x2c\x30\x2e\x37\x33\x30\x31\x30\x31\x20\x30\x2e\x35\x35\x38\x39\
+\x37\x2c\x2d\x30\x2e\x33\x34\x35\x34\x36\x34\x20\x30\x2e\x37\x35\
+\x37\x34\x32\x2c\x2d\x31\x2e\x30\x34\x37\x30\x32\x31\x20\x30\x2e\
+\x34\x34\x30\x39\x38\x2c\x2d\x31\x2e\x35\x35\x39\x30\x31\x37\x20\
+\x2d\x30\x2e\x38\x37\x37\x30\x35\x2c\x2d\x31\x2e\x34\x31\x39\x31\
+\x31\x20\x33\x2e\x35\x30\x36\x37\x37\x2c\x2d\x31\x2e\x31\x30\x39\
+\x36\x39\x36\x20\x34\x2e\x39\x36\x37\x30\x35\x2c\x30\x2e\x33\x35\
+\x30\x35\x37\x38\x20\x32\x2e\x31\x32\x39\x32\x2c\x32\x2e\x31\x32\
+\x39\x31\x39\x39\x20\x30\x2e\x31\x35\x30\x31\x36\x2c\x35\x2e\x37\
+\x32\x31\x33\x32\x37\x20\x2d\x33\x2e\x31\x34\x32\x31\x32\x2c\x35\
+\x2e\x37\x30\x33\x32\x30\x37\x20\x43\x20\x31\x34\x30\x2e\x37\x35\
+\x32\x2c\x37\x39\x2e\x39\x37\x36\x32\x36\x35\x20\x31\x33\x39\x2e\
+\x39\x35\x2c\x37\x39\x2e\x36\x33\x38\x37\x36\x35\x20\x31\x34\x30\
+\x2e\x35\x2c\x37\x39\x2e\x32\x33\x34\x36\x38\x37\x20\x31\x34\x31\
+\x2e\x38\x34\x39\x31\x2c\x37\x38\x2e\x32\x34\x33\x35\x32\x31\x20\
+\x31\x34\x34\x2e\x31\x38\x30\x33\x35\x2c\x37\x34\x20\x31\x34\x33\
+\x2e\x33\x37\x35\x37\x37\x2c\x37\x34\x20\x63\x20\x2d\x30\x2e\x33\
+\x35\x32\x36\x35\x2c\x30\x20\x2d\x31\x2e\x34\x38\x31\x34\x36\x2c\
+\x30\x2e\x39\x36\x38\x38\x35\x34\x20\x2d\x32\x2e\x35\x30\x38\x34\
+\x37\x2c\x32\x2e\x31\x35\x33\x30\x31\x20\x2d\x31\x2e\x30\x32\x37\
+\x30\x32\x2c\x31\x2e\x31\x38\x34\x31\x35\x35\x20\x2d\x31\x2e\x38\
+\x36\x37\x33\x2c\x31\x2e\x36\x33\x34\x31\x35\x35\x20\x2d\x31\x2e\
+\x38\x36\x37\x33\x2c\x31\x20\x43\x20\x31\x33\x39\x2c\x37\x36\x2e\
+\x35\x31\x38\x38\x35\x34\x20\x31\x33\x38\x2e\x34\x39\x37\x35\x32\
+\x2c\x37\x36\x20\x31\x33\x37\x2e\x38\x38\x33\x33\x37\x2c\x37\x36\
+\x20\x63\x20\x2d\x30\x2e\x36\x32\x34\x35\x36\x2c\x30\x20\x2d\x30\
+\x2e\x38\x38\x35\x39\x39\x2c\x30\x2e\x38\x38\x31\x39\x36\x20\x2d\
+\x30\x2e\x35\x39\x33\x32\x36\x2c\x32\x2e\x30\x30\x31\x33\x38\x20\
+\x30\x2e\x32\x38\x37\x38\x35\x2c\x31\x2e\x31\x30\x30\x37\x35\x39\
+\x20\x30\x2e\x31\x35\x33\x37\x37\x2c\x31\x2e\x37\x37\x32\x39\x35\
+\x35\x20\x2d\x30\x2e\x32\x39\x37\x39\x36\x2c\x31\x2e\x34\x39\x33\
+\x37\x36\x39\x20\x2d\x30\x2e\x34\x35\x31\x37\x33\x2c\x2d\x30\x2e\
+\x32\x37\x39\x31\x38\x35\x20\x2d\x30\x2e\x39\x37\x32\x32\x36\x2c\
+\x2d\x30\x2e\x31\x32\x34\x33\x31\x31\x20\x2d\x31\x2e\x31\x35\x36\
+\x37\x34\x2c\x30\x2e\x33\x34\x34\x31\x36\x36\x20\x2d\x30\x2e\x31\
+\x38\x34\x34\x38\x2c\x30\x2e\x34\x36\x38\x34\x37\x37\x20\x2d\x32\
+\x2e\x35\x38\x35\x34\x31\x2c\x31\x2e\x31\x31\x33\x39\x35\x39\x20\
+\x2d\x35\x2e\x33\x33\x35\x34\x31\x2c\x31\x2e\x34\x33\x34\x34\x30\
+\x35\x20\x2d\x34\x2e\x30\x38\x32\x33\x36\x2c\x30\x2e\x34\x37\x35\
+\x37\x20\x2d\x34\x2e\x34\x39\x35\x33\x2c\x30\x2e\x33\x39\x36\x39\
+\x38\x39\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x30\x2e\x34\x32\x38\x38\
+\x37\x38\x20\x7a\x20\x4d\x20\x31\x35\x32\x2e\x35\x2c\x37\x37\x20\
+\x63\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\
+\x30\x2e\x38\x31\x36\x34\x38\x2c\x2d\x31\x20\x31\x2e\x30\x35\x39\
+\x30\x32\x2c\x2d\x31\x20\x30\x2e\x32\x34\x32\x35\x34\x2c\x30\x20\
+\x30\x2e\x34\x34\x30\x39\x38\x2c\x30\x2e\x34\x35\x20\x30\x2e\x34\
+\x34\x30\x39\x38\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\
+\x2e\x34\x37\x36\x35\x36\x2c\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\
+\x32\x2c\x31\x20\x2d\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x2d\
+\x30\x2e\x37\x38\x30\x39\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x30\x2e\
+\x34\x34\x30\x39\x38\x2c\x2d\x31\x20\x7a\x20\x4d\x20\x31\x30\x31\
+\x2c\x37\x33\x2e\x34\x37\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x39\
+\x31\x37\x34\x36\x38\x20\x31\x2e\x32\x39\x34\x37\x34\x2c\x2d\x31\
+\x2e\x37\x38\x39\x38\x36\x32\x20\x33\x2e\x32\x35\x2c\x2d\x32\x2e\
+\x31\x38\x39\x38\x34\x35\x20\x33\x2e\x31\x37\x33\x37\x36\x2c\x2d\
+\x30\x2e\x36\x34\x39\x32\x34\x39\x20\x33\x2e\x31\x39\x31\x33\x35\
+\x2c\x2d\x30\x2e\x36\x38\x31\x35\x31\x33\x20\x30\x2e\x37\x35\x2c\
+\x2d\x31\x2e\x33\x37\x35\x33\x32\x20\x2d\x32\x2e\x34\x31\x32\x2c\
+\x2d\x30\x2e\x36\x38\x35\x34\x36\x37\x20\x2d\x32\x2e\x33\x39\x34\
+\x34\x2c\x2d\x30\x2e\x37\x31\x33\x34\x34\x35\x20\x30\x2e\x35\x2c\
+\x2d\x30\x2e\x37\x39\x34\x38\x34\x32\x20\x34\x2e\x38\x33\x38\x35\
+\x32\x2c\x2d\x30\x2e\x31\x33\x36\x30\x37\x31\x20\x36\x2e\x33\x31\
+\x36\x34\x37\x2c\x31\x2e\x35\x30\x39\x32\x35\x34\x20\x32\x2e\x30\
+\x37\x31\x31\x33\x2c\x32\x2e\x33\x30\x35\x36\x38\x35\x20\x2d\x31\
+\x2e\x39\x39\x34\x36\x39\x2c\x30\x2e\x33\x37\x34\x32\x30\x36\x20\
+\x2d\x33\x2e\x33\x39\x31\x37\x39\x2c\x31\x2e\x30\x36\x30\x34\x38\
+\x35\x20\x2d\x33\x2e\x31\x30\x34\x36\x36\x2c\x31\x2e\x35\x32\x35\
+\x30\x36\x34\x20\x30\x2e\x32\x38\x37\x31\x32\x2c\x30\x2e\x34\x36\
+\x34\x35\x37\x38\x20\x2d\x30\x2e\x31\x38\x37\x31\x38\x2c\x31\x2e\
+\x31\x31\x36\x38\x34\x32\x20\x2d\x31\x2e\x30\x35\x34\x2c\x31\x2e\
+\x34\x34\x39\x34\x37\x33\x20\x43\x20\x31\x30\x31\x2e\x31\x38\x2c\
+\x37\x35\x2e\x32\x35\x31\x38\x39\x34\x20\x31\x30\x31\x2c\x37\x35\
+\x2e\x31\x38\x33\x32\x33\x35\x20\x31\x30\x31\x2c\x37\x33\x2e\x34\
+\x37\x35\x20\x7a\x20\x4d\x20\x31\x35\x32\x2e\x36\x33\x38\x33\x37\
+\x2c\x37\x33\x2e\x35\x20\x43\x20\x31\x35\x32\x2e\x33\x32\x31\x37\
+\x39\x2c\x37\x32\x2e\x36\x37\x35\x20\x31\x35\x32\x2e\x34\x39\x38\
+\x36\x35\x2c\x37\x32\x20\x31\x35\x33\x2e\x30\x33\x31\x33\x38\x2c\
+\x37\x32\x20\x31\x35\x33\x2e\x35\x36\x34\x31\x32\x2c\x37\x32\x20\
+\x31\x35\x34\x2c\x37\x32\x2e\x36\x37\x35\x20\x31\x35\x34\x2c\x37\
+\x33\x2e\x35\x20\x63\x20\x30\x2c\x30\x2e\x38\x32\x35\x20\x2d\x30\
+\x2e\x31\x37\x36\x38\x36\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x33\x39\
+\x33\x30\x31\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x32\x31\x36\x31\x36\
+\x2c\x30\x20\x2d\x30\x2e\x36\x35\x32\x30\x33\x2c\x2d\x30\x2e\x36\
+\x37\x35\x20\x2d\x30\x2e\x39\x36\x38\x36\x32\x2c\x2d\x31\x2e\x35\
+\x20\x7a\x20\x6d\x20\x2d\x32\x36\x2e\x36\x39\x35\x35\x35\x2c\x2d\
+\x32\x2e\x34\x37\x32\x31\x39\x33\x20\x63\x20\x2d\x30\x2e\x38\x35\
+\x36\x34\x35\x2c\x2d\x30\x2e\x35\x30\x31\x32\x35\x37\x20\x2d\x34\
+\x2e\x33\x34\x33\x39\x35\x2c\x2d\x30\x2e\x38\x32\x31\x34\x30\x36\
+\x20\x2d\x37\x2e\x37\x35\x2c\x2d\x30\x2e\x37\x31\x31\x34\x34\x33\
+\x20\x2d\x36\x2e\x37\x35\x34\x38\x35\x2c\x30\x2e\x32\x31\x38\x30\
+\x37\x38\x20\x2d\x38\x2e\x32\x36\x34\x33\x37\x2c\x2d\x30\x2e\x38\
+\x33\x37\x31\x31\x32\x20\x2d\x32\x2e\x36\x39\x32\x38\x32\x2c\x2d\
+\x31\x2e\x38\x38\x32\x33\x34\x32\x20\x33\x2e\x37\x39\x37\x36\x39\
+\x2c\x2d\x30\x2e\x37\x31\x32\x34\x35\x31\x20\x39\x2e\x33\x34\x33\
+\x36\x37\x2c\x2d\x30\x2e\x30\x30\x34\x38\x20\x31\x33\x2e\x38\x34\
+\x32\x33\x36\x2c\x31\x2e\x37\x36\x36\x31\x37\x36\x20\x31\x2e\x36\
+\x37\x38\x37\x36\x2c\x30\x2e\x36\x36\x30\x38\x38\x20\x33\x2e\x31\
+\x31\x31\x35\x38\x2c\x30\x2e\x37\x34\x35\x36\x37\x39\x20\x33\x2e\
+\x35\x2c\x30\x2e\x32\x30\x37\x31\x34\x31\x20\x30\x2e\x33\x36\x31\
+\x37\x2c\x2d\x30\x2e\x35\x30\x31\x34\x39\x38\x20\x33\x2e\x33\x35\
+\x37\x36\x34\x2c\x2d\x30\x2e\x39\x34\x32\x34\x39\x38\x20\x36\x2e\
+\x36\x35\x37\x36\x34\x2c\x2d\x30\x2e\x39\x38\x20\x33\x2e\x33\x2c\
+\x2d\x30\x2e\x30\x33\x37\x35\x20\x37\x2e\x34\x36\x32\x35\x2c\x2d\
+\x30\x2e\x33\x38\x30\x34\x31\x32\x20\x39\x2e\x32\x35\x2c\x2d\x30\
+\x2e\x37\x36\x32\x30\x32\x34\x20\x31\x2e\x37\x38\x37\x35\x2c\x2d\
+\x30\x2e\x33\x38\x31\x36\x31\x32\x20\x33\x2e\x32\x35\x2c\x2d\x30\
+\x2e\x33\x30\x39\x35\x35\x37\x20\x33\x2e\x32\x35\x2c\x30\x2e\x31\
+\x36\x30\x31\x32\x31\x20\x30\x2c\x30\x2e\x38\x34\x34\x37\x36\x38\
+\x20\x2d\x31\x36\x2e\x32\x36\x38\x36\x31\x2c\x33\x2e\x32\x30\x32\
+\x38\x37\x33\x20\x2d\x32\x31\x2e\x36\x39\x31\x35\x38\x2c\x33\x2e\
+\x31\x34\x34\x31\x35\x35\x20\x2d\x31\x2e\x35\x34\x34\x36\x33\x2c\
+\x2d\x30\x2e\x30\x31\x36\x37\x32\x20\x2d\x33\x2e\x35\x30\x39\x31\
+\x35\x2c\x2d\x30\x2e\x34\x34\x30\x35\x32\x38\x20\x2d\x34\x2e\x33\
+\x36\x35\x36\x2c\x2d\x30\x2e\x39\x34\x31\x37\x38\x34\x20\x7a\x20\
+\x4d\x20\x31\x33\x30\x2c\x36\x36\x20\x63\x20\x30\x2c\x2d\x30\x2e\
+\x35\x35\x20\x30\x2e\x35\x31\x39\x37\x34\x2c\x2d\x31\x20\x31\x2e\
+\x31\x35\x34\x39\x39\x2c\x2d\x31\x20\x30\x2e\x36\x35\x34\x39\x39\
+\x2c\x30\x20\x30\x2e\x33\x37\x31\x34\x34\x2c\x2d\x30\x2e\x38\x36\
+\x35\x38\x31\x20\x2d\x30\x2e\x36\x35\x34\x39\x39\x2c\x2d\x32\x20\
+\x2d\x31\x2e\x37\x37\x33\x36\x34\x2c\x2d\x31\x2e\x39\x35\x39\x38\
+\x34\x37\x20\x2d\x31\x2e\x37\x34\x36\x36\x33\x2c\x2d\x32\x20\x31\
+\x2e\x33\x34\x35\x30\x31\x2c\x2d\x32\x20\x33\x2e\x30\x37\x36\x38\
+\x33\x2c\x30\x20\x34\x2e\x31\x36\x32\x33\x39\x2c\x31\x2e\x32\x35\
+\x39\x33\x36\x20\x32\x2e\x31\x35\x34\x39\x39\x2c\x32\x2e\x35\x20\
+\x2d\x31\x2e\x36\x31\x30\x32\x39\x2c\x30\x2e\x39\x39\x35\x32\x31\
+\x35\x20\x2d\x31\x2e\x31\x34\x37\x37\x32\x2c\x32\x2e\x37\x37\x30\
+\x36\x36\x32\x20\x30\x2e\x35\x35\x31\x39\x34\x2c\x32\x2e\x31\x31\
+\x38\x34\x34\x33\x20\x30\x2e\x38\x38\x39\x39\x32\x2c\x2d\x30\x2e\
+\x33\x34\x31\x34\x39\x36\x20\x31\x2e\x32\x39\x31\x33\x32\x2c\x2d\
+\x30\x2e\x31\x37\x33\x38\x34\x39\x20\x30\x2e\x39\x34\x30\x39\x38\
+\x2c\x30\x2e\x33\x39\x33\x30\x31\x31\x20\x43\x20\x31\x33\x34\x2e\
+\x36\x39\x33\x33\x33\x2c\x36\x37\x2e\x33\x30\x35\x32\x31\x39\x20\
+\x31\x33\x30\x2c\x36\x37\x2e\x32\x39\x35\x34\x33\x32\x20\x31\x33\
+\x30\x2c\x36\x36\x20\x7a\x20\x6d\x20\x31\x32\x2e\x38\x35\x34\x32\
+\x39\x2c\x2d\x32\x2e\x31\x33\x39\x37\x32\x33\x20\x43\x20\x31\x34\
+\x33\x2e\x39\x39\x31\x38\x33\x2c\x36\x30\x2e\x37\x37\x39\x32\x31\
+\x31\x20\x31\x34\x37\x2c\x36\x30\x2e\x31\x30\x31\x37\x38\x31\x20\
+\x31\x34\x37\x2c\x36\x32\x2e\x39\x32\x36\x36\x37\x36\x20\x31\x34\
+\x37\x2c\x36\x34\x2e\x30\x36\x37\x30\x30\x34\x20\x31\x34\x36\x2e\
+\x35\x38\x36\x38\x2c\x36\x35\x20\x31\x34\x36\x2e\x30\x38\x31\x37\
+\x39\x2c\x36\x35\x20\x63\x20\x2d\x30\x2e\x35\x30\x35\x30\x32\x2c\
+\x30\x20\x2d\x31\x2e\x36\x33\x33\x38\x38\x2c\x30\x2e\x32\x37\x34\
+\x36\x32\x35\x20\x2d\x32\x2e\x35\x30\x38\x35\x37\x2c\x30\x2e\x36\
+\x31\x30\x32\x37\x37\x20\x2d\x31\x2e\x33\x30\x38\x30\x32\x2c\x30\
+\x2e\x35\x30\x31\x39\x33\x32\x20\x2d\x31\x2e\x34\x33\x35\x36\x35\
+\x2c\x30\x2e\x31\x39\x31\x32\x34\x35\x20\x2d\x30\x2e\x37\x31\x38\
+\x39\x33\x2c\x2d\x31\x2e\x37\x35\x20\x7a\x20\x4d\x20\x31\x33\x36\
+\x2c\x36\x32\x2e\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x38\x32\x35\
+\x20\x30\x2e\x34\x33\x35\x38\x38\x2c\x2d\x31\x2e\x35\x20\x30\x2e\
+\x39\x36\x38\x36\x32\x2c\x2d\x31\x2e\x35\x20\x30\x2e\x35\x33\x32\
+\x37\x33\x2c\x30\x20\x30\x2e\x37\x30\x39\x35\x39\x2c\x30\x2e\x36\
+\x37\x35\x20\x30\x2e\x33\x39\x33\x30\x31\x2c\x31\x2e\x35\x20\x2d\
+\x30\x2e\x33\x31\x36\x35\x39\x2c\x30\x2e\x38\x32\x35\x20\x2d\x30\
+\x2e\x37\x35\x32\x34\x36\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x39\x36\
+\x38\x36\x32\x2c\x31\x2e\x35\x20\x43\x20\x31\x33\x36\x2e\x31\x37\
+\x36\x38\x36\x2c\x36\x34\x20\x31\x33\x36\x2c\x36\x33\x2e\x33\x32\
+\x35\x20\x31\x33\x36\x2c\x36\x32\x2e\x35\x20\x7a\x20\x6d\x20\x31\
+\x36\x2e\x33\x33\x33\x33\x33\x2c\x30\x20\x63\x20\x30\x2c\x2d\x30\
+\x2e\x38\x35\x35\x35\x35\x36\x20\x30\x2e\x34\x30\x38\x37\x35\x2c\
+\x2d\x31\x2e\x34\x31\x39\x33\x30\x36\x20\x30\x2e\x39\x30\x38\x33\
+\x34\x2c\x2d\x31\x2e\x32\x35\x32\x37\x37\x38\x20\x43\x20\x31\x35\
+\x33\x2e\x37\x34\x31\x32\x35\x2c\x36\x31\x2e\x34\x31\x33\x37\x35\
+\x20\x31\x35\x34\x2e\x31\x35\x2c\x36\x31\x2e\x39\x37\x37\x35\x20\
+\x31\x35\x34\x2e\x31\x35\x2c\x36\x32\x2e\x35\x20\x63\x20\x30\x2c\
+\x30\x2e\x35\x32\x32\x35\x20\x2d\x30\x2e\x34\x30\x38\x37\x35\x2c\
+\x31\x2e\x30\x38\x36\x32\x35\x20\x2d\x30\x2e\x39\x30\x38\x33\x33\
+\x2c\x31\x2e\x32\x35\x32\x37\x37\x38\x20\x2d\x30\x2e\x34\x39\x39\
+\x35\x39\x2c\x30\x2e\x31\x36\x36\x35\x32\x38\x20\x2d\x30\x2e\x39\
+\x30\x38\x33\x34\x2c\x2d\x30\x2e\x33\x39\x37\x32\x32\x32\x20\x2d\
+\x30\x2e\x39\x30\x38\x33\x34\x2c\x2d\x31\x2e\x32\x35\x32\x37\x37\
+\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x32\x38\x32\x36\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x39\x36\x38\x65\x38\
+\x66\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\
+\x33\x34\x2e\x31\x34\x31\x35\x2c\x31\x39\x32\x2e\x37\x35\x20\x63\
+\x20\x2d\x30\x2e\x31\x32\x35\x30\x37\x2c\x2d\x35\x2e\x39\x36\x36\
+\x33\x32\x20\x2d\x30\x2e\x33\x36\x36\x38\x35\x2c\x2d\x36\x2e\x37\
+\x35\x20\x2d\x32\x2e\x30\x38\x32\x34\x38\x2c\x2d\x36\x2e\x37\x35\
+\x20\x2d\x31\x2e\x30\x36\x37\x35\x34\x2c\x30\x20\x2d\x32\x2e\x32\
+\x32\x33\x36\x34\x2c\x2d\x30\x2e\x34\x35\x37\x33\x34\x20\x2d\x32\
+\x2e\x35\x36\x39\x31\x2c\x2d\x31\x2e\x30\x31\x36\x33\x31\x20\x2d\
+\x30\x2e\x33\x34\x35\x34\x36\x2c\x2d\x30\x2e\x35\x35\x38\x39\x37\
+\x20\x2d\x30\x2e\x39\x35\x31\x39\x33\x2c\x2d\x30\x2e\x38\x31\x36\
+\x31\x39\x20\x2d\x31\x2e\x33\x34\x37\x37\x2c\x2d\x30\x2e\x35\x37\
+\x31\x35\x38\x20\x2d\x30\x2e\x33\x39\x35\x37\x38\x2c\x30\x2e\x32\
+\x34\x34\x36\x20\x2d\x33\x2e\x34\x33\x36\x36\x34\x2c\x30\x2e\x36\
+\x38\x33\x34\x20\x2d\x36\x2e\x37\x35\x37\x34\x38\x2c\x30\x2e\x39\
+\x37\x35\x31\x32\x20\x2d\x33\x2e\x33\x32\x30\x38\x34\x2c\x30\x2e\
+\x32\x39\x31\x37\x32\x20\x2d\x37\x2e\x32\x34\x30\x39\x33\x2c\x30\
+\x2e\x39\x38\x37\x37\x39\x20\x2d\x38\x2e\x37\x31\x31\x33\x31\x2c\
+\x31\x2e\x35\x34\x36\x38\x33\x20\x2d\x31\x2e\x39\x39\x34\x35\x39\
+\x2c\x30\x2e\x37\x35\x38\x33\x35\x20\x2d\x32\x2e\x36\x38\x31\x31\
+\x35\x2c\x30\x2e\x37\x30\x35\x33\x32\x20\x2d\x32\x2e\x37\x30\x33\
+\x38\x34\x2c\x2d\x30\x2e\x32\x30\x38\x38\x31\x20\x2d\x30\x2e\x30\
+\x31\x36\x37\x2c\x2d\x30\x2e\x36\x37\x33\x38\x39\x20\x2d\x30\x2e\
+\x34\x38\x39\x30\x38\x2c\x2d\x30\x2e\x34\x33\x37\x37\x35\x20\x2d\
+\x31\x2e\x30\x34\x39\x36\x39\x2c\x30\x2e\x35\x32\x34\x37\x35\x20\
+\x2d\x30\x2e\x35\x36\x30\x36\x2c\x30\x2e\x39\x36\x32\x35\x20\x2d\
+\x31\x2e\x36\x39\x38\x34\x38\x2c\x31\x2e\x37\x35\x20\x2d\x32\x2e\
+\x35\x32\x38\x36\x31\x2c\x31\x2e\x37\x35\x20\x2d\x30\x2e\x39\x31\
+\x34\x30\x36\x2c\x30\x20\x2d\x31\x2e\x32\x33\x33\x33\x2c\x30\x2e\
+\x34\x39\x32\x39\x39\x20\x2d\x30\x2e\x38\x30\x39\x34\x34\x2c\x31\
+\x2e\x32\x35\x20\x30\x2e\x33\x38\x34\x39\x34\x2c\x30\x2e\x36\x38\
+\x37\x35\x20\x2d\x30\x2e\x31\x33\x31\x37\x32\x2c\x30\x2e\x34\x36\
+\x35\x37\x31\x20\x2d\x31\x2e\x31\x34\x38\x31\x33\x2c\x2d\x30\x2e\
+\x34\x39\x32\x38\x36\x20\x2d\x31\x2e\x31\x33\x32\x35\x36\x2c\x2d\
+\x31\x2e\x30\x36\x38\x31\x32\x20\x2d\x31\x2e\x34\x37\x37\x34\x35\
+\x2c\x2d\x32\x2e\x30\x36\x35\x34\x35\x20\x2d\x30\x2e\x38\x39\x30\
+\x38\x36\x2c\x2d\x32\x2e\x35\x37\x36\x31\x32\x20\x31\x2e\x39\x33\
+\x30\x33\x35\x2c\x2d\x31\x2e\x36\x38\x30\x35\x31\x20\x39\x2e\x32\
+\x30\x32\x33\x33\x2c\x2d\x33\x2e\x31\x30\x37\x30\x38\x20\x31\x38\
+\x2e\x39\x32\x36\x32\x39\x2c\x2d\x33\x2e\x37\x31\x32\x38\x34\x20\
+\x35\x2e\x34\x38\x33\x30\x33\x2c\x2d\x30\x2e\x33\x34\x31\x35\x36\
+\x20\x31\x30\x2e\x33\x32\x30\x35\x33\x2c\x2d\x30\x2e\x38\x33\x38\
+\x31\x39\x20\x31\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x31\x30\x33\x36\
+\x32\x20\x30\x2e\x34\x32\x39\x34\x37\x2c\x2d\x30\x2e\x32\x36\x35\
+\x34\x33\x20\x30\x2e\x37\x38\x30\x38\x35\x2c\x2d\x31\x2e\x37\x37\
+\x36\x37\x34\x20\x30\x2e\x37\x38\x30\x38\x35\x2c\x2d\x33\x2e\x33\
+\x35\x38\x34\x38\x20\x30\x2c\x2d\x31\x2e\x35\x38\x31\x37\x33\x20\
+\x30\x2e\x34\x32\x31\x30\x32\x2c\x2d\x33\x2e\x39\x38\x33\x32\x36\
+\x20\x30\x2e\x39\x33\x35\x36\x31\x2c\x2d\x35\x2e\x33\x33\x36\x37\
+\x31\x20\x30\x2e\x38\x31\x35\x38\x39\x2c\x2d\x32\x2e\x31\x34\x35\
+\x39\x36\x20\x30\x2e\x36\x32\x38\x34\x32\x2c\x2d\x32\x2e\x35\x31\
+\x39\x35\x36\x20\x2d\x31\x2e\x34\x36\x35\x31\x32\x2c\x2d\x32\x2e\
+\x39\x31\x39\x37\x36\x20\x2d\x31\x2e\x33\x32\x30\x33\x39\x2c\x2d\
+\x30\x2e\x32\x35\x32\x34\x31\x20\x2d\x32\x2e\x36\x30\x35\x38\x39\
+\x2c\x30\x2e\x30\x33\x38\x32\x20\x2d\x32\x2e\x38\x35\x36\x36\x36\
+\x2c\x30\x2e\x36\x34\x35\x37\x33\x20\x2d\x30\x2e\x32\x39\x33\x32\
+\x37\x2c\x30\x2e\x37\x31\x30\x35\x36\x20\x2d\x30\x2e\x34\x38\x34\
+\x31\x2c\x30\x2e\x36\x35\x38\x37\x31\x20\x2d\x30\x2e\x35\x33\x34\
+\x38\x38\x2c\x2d\x30\x2e\x31\x34\x35\x33\x34\x20\x2d\x30\x2e\x30\
+\x34\x33\x34\x2c\x2d\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x37\
+\x31\x36\x34\x35\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x31\x2e\x34\x39\
+\x35\x36\x32\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x30\x2e\x37\x37\x39\
+\x31\x36\x2c\x30\x20\x2d\x31\x2e\x36\x32\x32\x39\x31\x2c\x30\x2e\
+\x35\x36\x32\x35\x20\x2d\x31\x2e\x38\x37\x35\x2c\x31\x2e\x32\x35\
+\x20\x2d\x30\x2e\x33\x35\x31\x30\x39\x2c\x30\x2e\x39\x35\x37\x35\
+\x33\x20\x2d\x30\x2e\x37\x35\x30\x30\x36\x2c\x30\x2e\x39\x37\x35\
+\x38\x32\x20\x2d\x31\x2e\x37\x30\x35\x31\x39\x2c\x30\x2e\x30\x37\
+\x38\x31\x20\x2d\x30\x2e\x36\x38\x35\x37\x37\x2c\x2d\x30\x2e\x36\
+\x34\x34\x35\x32\x20\x2d\x31\x2e\x38\x36\x37\x30\x32\x2c\x2d\x30\
+\x2e\x39\x33\x33\x38\x37\x20\x2d\x32\x2e\x36\x32\x35\x2c\x2d\x30\
+\x2e\x36\x34\x33\x30\x31\x20\x2d\x30\x2e\x37\x35\x37\x39\x37\x2c\
+\x30\x2e\x32\x39\x30\x38\x37\x20\x2d\x31\x2e\x33\x37\x38\x31\x34\
+\x2c\x30\x2e\x30\x35\x38\x20\x2d\x31\x2e\x33\x37\x38\x31\x34\x2c\
+\x2d\x30\x2e\x35\x31\x37\x35\x39\x20\x30\x2c\x2d\x30\x2e\x35\x37\
+\x35\x35\x34\x20\x33\x2e\x31\x34\x34\x33\x33\x2c\x2d\x31\x2e\x33\
+\x35\x36\x32\x37\x20\x36\x2e\x39\x38\x37\x33\x39\x2c\x2d\x31\x2e\
+\x37\x33\x34\x39\x36\x20\x37\x2e\x31\x37\x37\x33\x2c\x2d\x30\x2e\
+\x37\x30\x37\x32\x33\x20\x38\x2e\x37\x31\x35\x33\x33\x2c\x2d\x30\
+\x2e\x35\x34\x30\x37\x34\x20\x38\x2e\x32\x33\x37\x38\x33\x2c\x30\
+\x2e\x38\x39\x31\x37\x35\x20\x2d\x30\x2e\x31\x35\x31\x31\x32\x2c\
+\x30\x2e\x34\x35\x33\x33\x38\x20\x30\x2e\x31\x36\x36\x37\x32\x2c\
+\x30\x2e\x35\x35\x31\x34\x37\x20\x30\x2e\x37\x30\x36\x33\x33\x2c\
+\x30\x2e\x32\x31\x37\x39\x37\x20\x30\x2e\x35\x33\x39\x36\x31\x2c\
+\x2d\x30\x2e\x33\x33\x33\x34\x39\x20\x30\x2e\x37\x32\x35\x34\x32\
+\x2c\x2d\x31\x2e\x32\x37\x32\x36\x34\x20\x30\x2e\x34\x31\x32\x39\
+\x32\x2c\x2d\x32\x2e\x30\x38\x37\x20\x2d\x30\x2e\x33\x34\x37\x34\
+\x32\x2c\x2d\x30\x2e\x39\x30\x35\x33\x37\x20\x30\x2e\x39\x33\x32\
+\x32\x39\x2c\x2d\x32\x2e\x39\x31\x31\x37\x33\x20\x33\x2e\x32\x39\
+\x33\x36\x38\x2c\x2d\x35\x2e\x31\x36\x33\x39\x20\x32\x2e\x31\x32\
+\x34\x30\x32\x2c\x2d\x32\x2e\x30\x32\x35\x37\x38\x20\x32\x2e\x39\
+\x36\x31\x38\x35\x2c\x2d\x33\x2e\x30\x35\x34\x32\x38\x20\x31\x2e\
+\x38\x36\x31\x38\x35\x2c\x2d\x32\x2e\x32\x38\x35\x35\x35\x20\x2d\
+\x31\x2e\x36\x39\x34\x30\x36\x2c\x31\x2e\x31\x38\x33\x38\x39\x20\
+\x2d\x31\x2e\x38\x31\x30\x33\x34\x2c\x31\x2e\x31\x38\x34\x38\x32\
+\x20\x2d\x30\x2e\x37\x36\x30\x31\x32\x2c\x30\x2e\x30\x30\x36\x20\
+\x32\x2e\x31\x31\x35\x35\x35\x2c\x2d\x32\x2e\x33\x37\x34\x35\x31\
+\x20\x33\x2e\x38\x35\x34\x35\x33\x2c\x2d\x31\x2e\x39\x38\x31\x32\
+\x37\x20\x33\x2e\x37\x38\x38\x35\x31\x2c\x30\x2e\x38\x35\x36\x37\
+\x31\x20\x2d\x30\x2e\x30\x34\x33\x32\x2c\x31\x2e\x38\x35\x36\x30\
+\x34\x20\x2d\x30\x2e\x35\x36\x38\x38\x36\x2c\x32\x2e\x35\x39\x31\
+\x20\x2d\x31\x2e\x37\x38\x34\x30\x34\x2c\x32\x2e\x34\x39\x34\x33\
+\x20\x2d\x30\x2e\x39\x34\x37\x35\x36\x2c\x2d\x30\x2e\x30\x37\x35\
+\x34\x20\x2d\x31\x2e\x34\x39\x35\x33\x33\x2c\x30\x2e\x32\x33\x31\
+\x30\x31\x20\x2d\x31\x2e\x32\x31\x37\x32\x38\x2c\x30\x2e\x36\x38\
+\x30\x39\x31\x20\x30\x2e\x32\x37\x38\x30\x36\x2c\x30\x2e\x34\x34\
+\x39\x38\x39\x20\x30\x2e\x30\x34\x30\x39\x2c\x31\x2e\x31\x30\x35\
+\x31\x38\x20\x2d\x30\x2e\x35\x32\x37\x30\x37\x2c\x31\x2e\x34\x35\
+\x36\x31\x39\x20\x2d\x30\x2e\x35\x36\x37\x39\x34\x2c\x30\x2e\x33\
+\x35\x31\x30\x31\x20\x2d\x30\x2e\x38\x31\x35\x38\x34\x2c\x30\x2e\
+\x39\x38\x38\x39\x35\x20\x2d\x30\x2e\x35\x35\x30\x38\x39\x2c\x31\
+\x2e\x34\x31\x37\x36\x35\x20\x30\x2e\x32\x36\x34\x39\x35\x2c\x30\
+\x2e\x34\x32\x38\x37\x31\x20\x2d\x30\x2e\x34\x30\x32\x37\x31\x2c\
+\x31\x2e\x37\x32\x38\x38\x20\x2d\x31\x2e\x34\x38\x33\x36\x39\x2c\
+\x32\x2e\x38\x38\x39\x30\x39\x20\x2d\x31\x2e\x30\x38\x30\x39\x38\
+\x2c\x31\x2e\x31\x36\x30\x33\x20\x2d\x31\x2e\x39\x36\x35\x34\x32\
+\x2c\x32\x2e\x37\x31\x33\x34\x35\x20\x2d\x31\x2e\x39\x36\x35\x34\
+\x32\x2c\x33\x2e\x34\x35\x31\x34\x35\x20\x30\x2c\x30\x2e\x37\x33\
+\x37\x39\x39\x20\x2d\x30\x2e\x34\x32\x35\x31\x33\x2c\x31\x2e\x37\
+\x36\x39\x33\x31\x20\x2d\x30\x2e\x39\x34\x34\x37\x34\x2c\x32\x2e\
+\x32\x39\x31\x38\x31\x20\x2d\x30\x2e\x35\x31\x39\x36\x31\x2c\x30\
+\x2e\x35\x32\x32\x35\x20\x2d\x31\x2e\x33\x35\x35\x39\x34\x2c\x36\
+\x2e\x31\x32\x35\x20\x2d\x31\x2e\x38\x35\x38\x35\x2c\x31\x32\x2e\
+\x34\x35\x20\x2d\x30\x2e\x37\x36\x34\x36\x37\x2c\x39\x2e\x36\x32\
+\x33\x37\x34\x20\x2d\x30\x2e\x39\x33\x36\x38\x34\x2c\x31\x30\x2e\
+\x33\x39\x38\x37\x32\x20\x2d\x31\x2e\x30\x35\x35\x32\x36\x2c\x34\
+\x2e\x37\x35\x20\x7a\x20\x6d\x20\x2d\x33\x30\x2e\x31\x39\x36\x32\
+\x31\x2c\x2d\x31\x36\x20\x63\x20\x2d\x30\x2e\x31\x30\x37\x34\x31\
+\x2c\x2d\x30\x2e\x34\x31\x32\x35\x20\x2d\x30\x2e\x32\x35\x38\x34\
+\x33\x2c\x2d\x31\x2e\x30\x38\x37\x35\x20\x2d\x30\x2e\x33\x33\x35\
+\x36\x2c\x2d\x31\x2e\x35\x20\x2d\x30\x2e\x30\x37\x37\x32\x2c\x2d\
+\x30\x2e\x34\x31\x32\x35\x20\x2d\x30\x2e\x34\x39\x37\x34\x38\x2c\
+\x2d\x31\x2e\x33\x31\x32\x35\x20\x2d\x30\x2e\x39\x33\x34\x30\x32\
+\x2c\x2d\x32\x20\x2d\x30\x2e\x35\x31\x31\x30\x37\x2c\x2d\x30\x2e\
+\x38\x30\x34\x38\x38\x20\x2d\x30\x2e\x32\x33\x38\x35\x34\x2c\x2d\
+\x31\x2e\x32\x35\x20\x30\x2e\x37\x36\x35\x33\x31\x2c\x2d\x31\x2e\
+\x32\x35\x20\x30\x2e\x38\x35\x37\x34\x36\x2c\x30\x20\x31\x2e\x35\
+\x35\x39\x30\x32\x2c\x2d\x30\x2e\x34\x35\x20\x31\x2e\x35\x35\x39\
+\x30\x32\x2c\x2d\x31\x20\x30\x2c\x2d\x30\x2e\x35\x36\x38\x36\x38\
+\x20\x32\x2e\x36\x39\x35\x37\x33\x2c\x2d\x30\x2e\x39\x36\x34\x38\
+\x39\x20\x36\x2e\x32\x35\x2c\x2d\x30\x2e\x39\x31\x38\x36\x20\x6c\
+\x20\x36\x2e\x32\x35\x2c\x30\x2e\x30\x38\x31\x34\x20\x2d\x35\x2e\
+\x39\x31\x39\x38\x33\x2c\x31\x2e\x37\x32\x37\x33\x35\x20\x63\x20\
+\x2d\x33\x2e\x38\x38\x31\x30\x32\x2c\x31\x2e\x31\x33\x32\x34\x34\
+\x20\x2d\x36\x2e\x31\x38\x31\x35\x33\x2c\x32\x2e\x33\x39\x35\x39\
+\x31\x20\x2d\x36\x2e\x36\x37\x39\x37\x31\x2c\x33\x2e\x36\x36\x38\
+\x35\x39\x20\x2d\x30\x2e\x34\x31\x37\x39\x34\x2c\x31\x2e\x30\x36\
+\x37\x37\x20\x2d\x30\x2e\x38\x34\x37\x37\x37\x2c\x31\x2e\x36\x30\
+\x33\x37\x36\x20\x2d\x30\x2e\x39\x35\x35\x31\x37\x2c\x31\x2e\x31\
+\x39\x31\x32\x36\x20\x7a\x20\x4d\x20\x31\x30\x30\x2e\x37\x35\x2c\
+\x31\x37\x30\x2e\x33\x33\x37\x37\x32\x20\x63\x20\x30\x2e\x36\x38\
+\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\
+\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\
+\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\
+\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\
+\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\
+\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\
+\x35\x30\x34\x33\x39\x20\x7a\x20\x4d\x20\x31\x31\x38\x2c\x31\x37\
+\x30\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x34\x37\
+\x36\x35\x36\x2c\x2d\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\
+\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x30\x2e\x37\x38\
+\x30\x39\x2c\x30\x2e\x34\x35\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\
+\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\
+\x2d\x30\x2e\x38\x31\x36\x34\x38\x2c\x31\x20\x2d\x31\x2e\x30\x35\
+\x39\x30\x32\x2c\x31\x20\x43\x20\x31\x31\x38\x2e\x31\x39\x38\x34\
+\x34\x2c\x31\x37\x31\x20\x31\x31\x38\x2c\x31\x37\x30\x2e\x35\x35\
+\x20\x31\x31\x38\x2c\x31\x37\x30\x20\x7a\x20\x6d\x20\x2d\x31\x34\
+\x2e\x38\x35\x30\x36\x34\x2c\x2d\x37\x2e\x36\x37\x34\x33\x32\x20\
+\x63\x20\x30\x2e\x31\x36\x35\x34\x2c\x2d\x31\x2e\x30\x30\x34\x31\
+\x32\x20\x2d\x30\x2e\x30\x35\x39\x2c\x2d\x32\x2e\x33\x39\x39\x33\
+\x33\x20\x2d\x30\x2e\x34\x39\x38\x36\x35\x2c\x2d\x33\x2e\x31\x30\
+\x30\x34\x36\x20\x2d\x30\x2e\x34\x33\x39\x36\x35\x2c\x2d\x30\x2e\
+\x37\x30\x31\x31\x32\x20\x2d\x30\x2e\x34\x32\x38\x34\x32\x2c\x2d\
+\x31\x2e\x32\x31\x30\x33\x33\x20\x30\x2e\x30\x32\x35\x2c\x2d\x31\
+\x2e\x31\x33\x31\x35\x38\x20\x30\x2e\x34\x35\x33\x33\x38\x2c\x30\
+\x2e\x30\x37\x38\x38\x20\x31\x2e\x34\x39\x39\x33\x33\x2c\x30\x2e\
+\x30\x35\x38\x33\x20\x32\x2e\x33\x32\x34\x33\x33\x2c\x2d\x30\x2e\
+\x30\x34\x35\x35\x20\x31\x2e\x30\x37\x30\x34\x37\x2c\x2d\x30\x2e\
+\x31\x33\x34\x36\x37\x20\x30\x2e\x39\x32\x37\x32\x39\x2c\x2d\x30\
+\x2e\x34\x33\x34\x31\x20\x2d\x30\x2e\x35\x2c\x2d\x31\x2e\x30\x34\
+\x35\x36\x35\x20\x2d\x31\x2e\x35\x33\x37\x31\x37\x2c\x2d\x30\x2e\
+\x36\x35\x38\x36\x34\x20\x2d\x31\x2e\x30\x37\x34\x33\x35\x2c\x2d\
+\x30\x2e\x38\x34\x31\x33\x35\x20\x32\x2c\x2d\x30\x2e\x37\x38\x39\
+\x35\x35\x20\x32\x2e\x32\x2c\x30\x2e\x30\x33\x37\x31\x20\x38\x2e\
+\x32\x37\x35\x2c\x2d\x30\x2e\x35\x32\x39\x30\x36\x20\x31\x33\x2e\
+\x35\x2c\x2d\x31\x2e\x32\x35\x38\x30\x37\x20\x35\x2e\x32\x32\x35\
+\x2c\x2d\x30\x2e\x37\x32\x39\x20\x31\x32\x2e\x30\x34\x35\x38\x37\
+\x2c\x2d\x31\x2e\x33\x35\x32\x34\x20\x31\x35\x2e\x31\x35\x37\x34\
+\x39\x2c\x2d\x31\x2e\x33\x38\x35\x33\x33\x20\x33\x2e\x31\x31\x31\
+\x36\x33\x2c\x2d\x30\x2e\x30\x33\x32\x39\x20\x35\x2e\x34\x34\x37\
+\x35\x37\x2c\x2d\x30\x2e\x33\x39\x39\x35\x35\x20\x35\x2e\x31\x39\
+\x30\x39\x39\x2c\x2d\x30\x2e\x38\x31\x34\x37\x31\x20\x43\x20\x31\
+\x34\x30\x2e\x30\x39\x31\x39\x2c\x31\x35\x32\x2e\x33\x33\x39\x36\
+\x37\x20\x31\x34\x30\x2e\x33\x35\x38\x35\x32\x2c\x31\x35\x32\x20\
+\x31\x34\x30\x2e\x39\x34\x30\x39\x38\x2c\x31\x35\x32\x20\x31\x34\
+\x31\x2e\x35\x32\x33\x34\x34\x2c\x31\x35\x32\x20\x31\x34\x32\x2c\
+\x31\x35\x31\x2e\x33\x37\x33\x31\x34\x20\x31\x34\x32\x2c\x31\x35\
+\x30\x2e\x36\x30\x36\x39\x39\x20\x31\x34\x32\x2c\x31\x34\x38\x2e\
+\x39\x32\x37\x37\x32\x20\x31\x34\x34\x2e\x31\x35\x33\x31\x2c\x31\
+\x34\x38\x20\x31\x34\x38\x2e\x30\x35\x30\x34\x2c\x31\x34\x38\x20\
+\x63\x20\x32\x2e\x31\x35\x35\x32\x33\x2c\x30\x20\x32\x2e\x37\x34\
+\x30\x39\x36\x2c\x30\x2e\x33\x38\x30\x31\x34\x20\x32\x2e\x33\x31\
+\x31\x32\x33\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x33\x32\x38\x38\x39\
+\x2c\x30\x2e\x38\x35\x37\x30\x37\x20\x30\x2e\x30\x30\x36\x2c\x31\
+\x2e\x35\x35\x36\x34\x32\x20\x30\x2e\x37\x38\x31\x33\x38\x2c\x31\
+\x2e\x36\x33\x31\x36\x34\x20\x30\x2e\x37\x34\x36\x33\x35\x2c\x30\
+\x2e\x30\x37\x32\x34\x20\x2d\x30\x2e\x32\x31\x38\x30\x31\x2c\x30\
+\x2e\x34\x33\x36\x33\x32\x20\x2d\x32\x2e\x31\x34\x33\x30\x31\x2c\
+\x30\x2e\x38\x30\x38\x37\x31\x20\x2d\x32\x2e\x35\x33\x33\x35\x32\
+\x2c\x30\x2e\x34\x39\x30\x31\x20\x2d\x33\x2e\x38\x34\x35\x31\x37\
+\x2c\x30\x2e\x32\x36\x32\x39\x20\x2d\x34\x2e\x37\x35\x2c\x2d\x30\
+\x2e\x38\x32\x32\x37\x37\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\x2d\
+\x30\x2e\x38\x32\x34\x39\x31\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x31\
+\x2e\x30\x30\x30\x36\x34\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\
+\x33\x39\x30\x35\x20\x30\x2c\x30\x2e\x36\x31\x30\x31\x34\x20\x2d\
+\x30\x2e\x32\x36\x36\x32\x38\x2c\x31\x2e\x38\x30\x33\x32\x36\x20\
+\x2d\x30\x2e\x35\x39\x31\x37\x33\x2c\x32\x2e\x36\x35\x31\x33\x38\
+\x20\x2d\x30\x2e\x34\x33\x35\x35\x31\x2c\x31\x2e\x31\x33\x34\x39\
+\x32\x20\x2d\x30\x2e\x30\x36\x30\x34\x2c\x31\x2e\x34\x33\x39\x37\
+\x31\x20\x31\x2e\x34\x32\x30\x38\x39\x2c\x31\x2e\x31\x35\x34\x34\
+\x34\x20\x31\x2e\x31\x30\x36\x39\x34\x2c\x2d\x30\x2e\x32\x31\x33\
+\x31\x38\x20\x32\x2e\x32\x32\x32\x30\x39\x2c\x30\x2e\x31\x35\x38\
+\x32\x38\x20\x32\x2e\x34\x37\x38\x31\x32\x2c\x30\x2e\x38\x32\x35\
+\x34\x37\x20\x30\x2e\x32\x35\x36\x30\x32\x2c\x30\x2e\x36\x36\x37\
+\x31\x38\x20\x2d\x30\x2e\x32\x37\x30\x38\x38\x2c\x31\x2e\x32\x35\
+\x35\x31\x31\x20\x2d\x31\x2e\x31\x37\x30\x38\x39\x2c\x31\x2e\x33\
+\x30\x36\x35\x20\x2d\x30\x2e\x39\x30\x30\x30\x32\x2c\x30\x2e\x30\
+\x35\x31\x34\x20\x2d\x33\x2e\x33\x32\x33\x38\x39\x2c\x30\x2e\x33\
+\x35\x32\x32\x32\x20\x2d\x35\x2e\x33\x38\x36\x33\x39\x2c\x30\x2e\
+\x36\x36\x38\x35\x32\x20\x2d\x32\x2e\x30\x36\x32\x35\x2c\x30\x2e\
+\x33\x31\x36\x33\x20\x2d\x33\x2e\x37\x35\x2c\x30\x2e\x32\x34\x34\
+\x39\x38\x20\x2d\x33\x2e\x37\x35\x2c\x2d\x30\x2e\x31\x35\x38\x34\
+\x37\x20\x30\x2c\x2d\x30\x2e\x39\x35\x37\x33\x35\x20\x2d\x31\x38\
+\x2e\x31\x32\x34\x36\x2c\x2d\x30\x2e\x37\x34\x33\x31\x20\x2d\x32\
+\x34\x2e\x32\x35\x2c\x30\x2e\x32\x38\x36\x36\x35\x20\x2d\x32\x2e\
+\x36\x31\x32\x35\x2c\x30\x2e\x34\x33\x39\x32\x20\x2d\x34\x2e\x37\
+\x35\x2c\x31\x2e\x31\x39\x30\x30\x31\x20\x2d\x34\x2e\x37\x35\x2c\
+\x31\x2e\x36\x36\x38\x34\x38\x20\x30\x2c\x30\x2e\x34\x37\x38\x34\
+\x37\x20\x2d\x30\x2e\x39\x33\x34\x30\x36\x2c\x31\x2e\x38\x30\x34\
+\x30\x31\x20\x2d\x32\x2e\x30\x37\x35\x36\x38\x2c\x32\x2e\x39\x34\
+\x35\x36\x33\x20\x2d\x31\x2e\x38\x38\x32\x33\x32\x2c\x31\x2e\x38\
+\x38\x32\x33\x32\x20\x2d\x32\x2e\x30\x34\x37\x36\x37\x2c\x31\x2e\
+\x39\x30\x35\x36\x31\x20\x2d\x31\x2e\x37\x37\x34\x39\x36\x2c\x30\
+\x2e\x32\x35\x20\x7a\x20\x6d\x20\x2d\x35\x2e\x36\x37\x36\x33\x35\
+\x32\x2c\x2d\x35\x2e\x33\x36\x39\x33\x35\x20\x43\x20\x39\x37\x2e\
+\x31\x34\x37\x39\x33\x35\x2c\x31\x35\x36\x2e\x34\x33\x30\x33\x35\
+\x20\x39\x37\x2e\x38\x30\x38\x35\x32\x34\x2c\x31\x35\x36\x20\x39\
+\x38\x2e\x39\x34\x30\x39\x38\x33\x2c\x31\x35\x36\x20\x63\x20\x32\
+\x2e\x34\x31\x34\x35\x36\x37\x2c\x30\x20\x32\x2e\x36\x35\x38\x31\
+\x35\x37\x2c\x30\x2e\x35\x35\x36\x31\x31\x20\x30\x2e\x35\x39\x31\
+\x30\x34\x32\x2c\x31\x2e\x33\x34\x39\x33\x34\x20\x2d\x30\x2e\x38\
+\x30\x37\x33\x38\x36\x2c\x30\x2e\x33\x30\x39\x38\x32\x20\x2d\x31\
+\x2e\x37\x33\x33\x39\x34\x34\x2c\x30\x2e\x31\x33\x32\x39\x37\x20\
+\x2d\x32\x2e\x30\x35\x39\x30\x31\x37\x2c\x2d\x30\x2e\x33\x39\x33\
+\x30\x31\x20\x7a\x20\x6d\x20\x33\x2e\x38\x37\x30\x35\x30\x32\x2c\
+\x2d\x31\x30\x2e\x34\x36\x35\x33\x36\x20\x63\x20\x2d\x30\x2e\x36\
+\x33\x36\x30\x38\x2c\x2d\x31\x2e\x33\x37\x31\x33\x38\x20\x2d\x30\
+\x2e\x37\x37\x39\x36\x37\x2c\x2d\x32\x2e\x32\x36\x30\x35\x33\x20\
+\x2d\x30\x2e\x33\x31\x39\x31\x2c\x2d\x31\x2e\x39\x37\x35\x38\x39\
+\x20\x30\x2e\x34\x36\x30\x35\x37\x2c\x30\x2e\x32\x38\x34\x36\x35\
+\x20\x31\x2e\x31\x32\x30\x30\x35\x2c\x30\x2e\x30\x36\x30\x32\x20\
+\x31\x2e\x34\x36\x35\x35\x31\x2c\x2d\x30\x2e\x34\x39\x38\x37\x37\
+\x20\x30\x2e\x33\x34\x35\x34\x36\x2c\x2d\x30\x2e\x35\x35\x38\x39\
+\x37\x20\x31\x2e\x38\x33\x39\x30\x36\x2c\x2d\x31\x2e\x30\x32\x33\
+\x32\x20\x33\x2e\x33\x31\x39\x31\x2c\x2d\x31\x2e\x30\x33\x31\x36\
+\x32\x20\x32\x2e\x31\x30\x34\x37\x36\x2c\x2d\x30\x2e\x30\x31\x32\
+\x20\x32\x2e\x33\x36\x34\x32\x31\x2c\x2d\x30\x2e\x32\x32\x36\x34\
+\x39\x20\x31\x2e\x31\x39\x30\x39\x38\x2c\x2d\x30\x2e\x39\x38\x34\
+\x36\x39\x20\x2d\x31\x2e\x30\x34\x35\x37\x33\x2c\x2d\x30\x2e\x36\
+\x37\x35\x38\x20\x30\x2e\x34\x36\x38\x35\x32\x2c\x2d\x30\x2e\x39\
+\x33\x38\x38\x38\x20\x35\x2c\x2d\x30\x2e\x38\x36\x38\x36\x39\x20\
+\x33\x2e\x35\x37\x35\x2c\x30\x2e\x30\x35\x35\x34\x20\x35\x2e\x36\
+\x2c\x30\x2e\x32\x39\x39\x38\x34\x20\x34\x2e\x35\x2c\x30\x2e\x35\
+\x34\x33\x32\x34\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x32\x34\x33\x34\
+\x20\x2d\x32\x2e\x36\x37\x35\x2c\x30\x2e\x37\x30\x30\x37\x20\x2d\
+\x33\x2e\x35\x2c\x31\x2e\x30\x31\x36\x32\x33\x20\x2d\x30\x2e\x38\
+\x32\x35\x2c\x30\x2e\x33\x31\x35\x35\x32\x20\x2d\x32\x2e\x36\x31\
+\x38\x35\x34\x2c\x30\x2e\x37\x31\x39\x37\x38\x20\x2d\x33\x2e\x39\
+\x38\x35\x36\x33\x2c\x30\x2e\x38\x39\x38\x33\x35\x20\x2d\x31\x2e\
+\x33\x36\x37\x31\x2c\x30\x2e\x31\x37\x38\x35\x37\x20\x2d\x32\x2e\
+\x36\x34\x32\x31\x2c\x30\x2e\x37\x39\x34\x30\x37\x20\x2d\x32\x2e\
+\x38\x33\x33\x33\x34\x2c\x31\x2e\x33\x36\x37\x37\x37\x20\x43\x20\
+\x31\x30\x35\x2e\x39\x38\x39\x38\x2c\x31\x34\x35\x2e\x35\x33\x30\
+\x36\x31\x20\x31\x30\x35\x2e\x31\x39\x35\x38\x33\x2c\x31\x34\x36\
+\x20\x31\x30\x34\x2e\x34\x31\x36\x36\x37\x2c\x31\x34\x36\x20\x31\
+\x30\x33\x2e\x36\x33\x37\x35\x2c\x31\x34\x36\x20\x31\x30\x33\x2c\
+\x31\x34\x36\x2e\x34\x37\x36\x35\x36\x20\x31\x30\x33\x2c\x31\x34\
+\x37\x2e\x30\x35\x39\x30\x32\x20\x63\x20\x30\x2c\x30\x2e\x35\x38\
+\x32\x34\x36\x20\x30\x2e\x35\x31\x39\x35\x33\x2c\x30\x2e\x37\x33\
+\x37\x39\x33\x20\x31\x2e\x31\x35\x34\x35\x31\x2c\x30\x2e\x33\x34\
+\x35\x34\x39\x20\x30\x2e\x37\x31\x35\x33\x2c\x2d\x30\x2e\x34\x34\
+\x32\x30\x38\x20\x30\x2e\x38\x38\x33\x30\x36\x2c\x2d\x30\x2e\x32\
+\x37\x34\x33\x32\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x30\x2e\x34\
+\x34\x30\x39\x38\x20\x2d\x31\x2e\x30\x38\x36\x37\x36\x2c\x31\x2e\
+\x37\x35\x38\x34\x31\x20\x2d\x31\x2e\x39\x38\x30\x38\x39\x2c\x31\
+\x2e\x33\x38\x35\x39\x39\x20\x2d\x33\x2e\x32\x35\x31\x39\x38\x2c\
+\x2d\x31\x2e\x33\x35\x34\x35\x32\x20\x7a\x20\x6d\x20\x33\x30\x2e\
+\x32\x34\x34\x34\x33\x2c\x2d\x33\x2e\x38\x30\x33\x30\x31\x20\x63\
+\x20\x2d\x31\x2e\x30\x32\x32\x31\x33\x2c\x2d\x30\x2e\x37\x34\x37\
+\x34\x20\x2d\x32\x2e\x38\x38\x32\x34\x37\x2c\x2d\x31\x2e\x31\x36\
+\x33\x31\x35\x20\x2d\x34\x2e\x31\x33\x34\x30\x39\x2c\x2d\x30\x2e\
+\x39\x32\x33\x38\x39\x20\x2d\x31\x2e\x32\x35\x31\x36\x32\x2c\x30\
+\x2e\x32\x33\x39\x32\x36\x20\x2d\x33\x2e\x31\x30\x33\x32\x36\x2c\
+\x2d\x30\x2e\x30\x34\x36\x31\x20\x2d\x34\x2e\x31\x31\x34\x37\x36\
+\x2c\x2d\x30\x2e\x36\x33\x34\x31\x31\x20\x2d\x31\x2e\x39\x39\x37\
+\x34\x37\x2c\x2d\x31\x2e\x31\x36\x31\x32\x32\x20\x2d\x32\x2e\x33\
+\x33\x35\x36\x37\x2c\x2d\x31\x2e\x30\x37\x35\x33\x35\x20\x36\x2e\
+\x32\x30\x30\x37\x32\x2c\x2d\x31\x2e\x35\x37\x34\x34\x31\x20\x31\
+\x2e\x36\x37\x31\x39\x2c\x2d\x30\x2e\x30\x39\x37\x37\x20\x33\x2e\
+\x36\x35\x33\x39\x33\x2c\x2d\x30\x2e\x35\x35\x37\x32\x35\x20\x34\
+\x2e\x34\x30\x34\x35\x31\x2c\x2d\x31\x2e\x30\x32\x31\x31\x34\x20\
+\x30\x2e\x38\x33\x38\x33\x37\x2c\x2d\x30\x2e\x35\x31\x38\x31\x34\
+\x20\x31\x2e\x31\x32\x39\x32\x33\x2c\x2d\x30\x2e\x34\x36\x32\x34\
+\x34\x20\x30\x2e\x37\x35\x34\x31\x38\x2c\x30\x2e\x31\x34\x34\x34\
+\x31\x20\x2d\x30\x2e\x33\x33\x35\x37\x39\x2c\x30\x2e\x35\x34\x33\
+\x33\x32\x20\x30\x2e\x30\x32\x34\x39\x2c\x30\x2e\x39\x38\x37\x38\
+\x35\x20\x30\x2e\x38\x30\x31\x35\x2c\x30\x2e\x39\x38\x37\x38\x35\
+\x20\x30\x2e\x37\x37\x36\x36\x31\x2c\x30\x20\x31\x2e\x31\x38\x30\
+\x32\x36\x2c\x2d\x30\x2e\x33\x37\x35\x20\x30\x2e\x38\x39\x36\x39\
+\x39\x2c\x2d\x30\x2e\x38\x33\x33\x33\x34\x20\x2d\x30\x2e\x32\x38\
+\x33\x32\x36\x2c\x2d\x30\x2e\x34\x35\x38\x33\x33\x20\x30\x2e\x39\
+\x37\x34\x30\x33\x2c\x2d\x30\x2e\x37\x38\x38\x34\x37\x20\x32\x2e\
+\x37\x39\x33\x39\x39\x2c\x2d\x30\x2e\x37\x33\x33\x36\x35\x20\x33\
+\x2e\x30\x31\x32\x39\x35\x2c\x30\x2e\x30\x39\x30\x38\x20\x33\x2e\
+\x30\x38\x36\x32\x34\x2c\x30\x2e\x31\x36\x31\x36\x39\x20\x30\x2e\
+\x38\x31\x39\x31\x2c\x30\x2e\x37\x39\x32\x37\x31\x20\x2d\x33\x2e\
+\x30\x36\x38\x2c\x30\x2e\x38\x35\x33\x39\x32\x20\x2d\x31\x2e\x34\
+\x39\x38\x32\x32\x2c\x31\x2e\x39\x37\x38\x39\x31\x20\x32\x2e\x31\
+\x37\x39\x34\x34\x2c\x31\x2e\x35\x36\x31\x39\x20\x31\x2e\x34\x37\
+\x39\x32\x34\x2c\x2d\x30\x2e\x31\x36\x37\x37\x32\x20\x33\x2e\x32\
+\x32\x31\x34\x31\x2c\x30\x2e\x33\x33\x35\x39\x33\x20\x33\x2e\x38\
+\x37\x31\x35\x2c\x31\x2e\x31\x31\x39\x32\x33\x20\x30\x2e\x39\x36\
+\x38\x32\x37\x2c\x31\x2e\x31\x36\x36\x37\x20\x30\x2e\x37\x35\x33\
+\x32\x32\x2c\x31\x2e\x34\x30\x35\x36\x38\x20\x2d\x31\x2e\x31\x38\
+\x39\x35\x33\x2c\x31\x2e\x33\x32\x31\x38\x32\x20\x2d\x31\x2e\x33\
+\x30\x34\x33\x32\x2c\x2d\x30\x2e\x30\x35\x36\x33\x20\x2d\x34\x2e\
+\x34\x30\x38\x35\x36\x2c\x30\x2e\x31\x37\x39\x37\x36\x20\x2d\x36\
+\x2e\x38\x39\x38\x33\x31\x2c\x30\x2e\x35\x32\x34\x35\x38\x20\x2d\
+\x33\x2e\x31\x30\x30\x31\x36\x2c\x30\x2e\x34\x32\x39\x33\x36\x20\
+\x2d\x35\x2e\x31\x31\x32\x35\x32\x2c\x30\x2e\x31\x39\x38\x36\x38\
+\x20\x2d\x36\x2e\x33\x38\x35\x32\x34\x2c\x2d\x30\x2e\x37\x33\x31\
+\x39\x36\x20\x7a\x20\x6d\x20\x31\x31\x2e\x38\x30\x36\x30\x35\x2c\
+\x2d\x36\x2e\x31\x36\x36\x36\x36\x20\x63\x20\x30\x2e\x33\x31\x35\
+\x38\x39\x2c\x2d\x32\x2e\x31\x35\x32\x33\x20\x31\x2e\x31\x30\x39\
+\x31\x34\x2c\x2d\x32\x2e\x36\x37\x34\x31\x37\x20\x34\x2e\x38\x32\
+\x36\x31\x33\x2c\x2d\x33\x2e\x31\x37\x35\x30\x38\x20\x32\x2e\x38\
+\x32\x35\x30\x37\x2c\x2d\x30\x2e\x33\x38\x30\x37\x31\x20\x33\x2e\
+\x33\x35\x31\x33\x31\x2c\x2d\x30\x2e\x31\x34\x30\x38\x33\x20\x33\
+\x2e\x33\x35\x31\x33\x31\x2c\x31\x2e\x35\x32\x37\x36\x36\x20\x30\
+\x2c\x31\x2e\x30\x38\x38\x36\x20\x2d\x30\x2e\x33\x35\x33\x35\x37\
+\x2c\x31\x2e\x37\x36\x30\x37\x36\x20\x2d\x30\x2e\x37\x38\x35\x37\
+\x32\x2c\x31\x2e\x34\x39\x33\x36\x38\x20\x2d\x30\x2e\x34\x33\x32\
+\x31\x34\x2c\x2d\x30\x2e\x32\x36\x37\x30\x37\x20\x2d\x30\x2e\x37\
+\x38\x36\x36\x31\x2c\x2d\x30\x2e\x31\x32\x31\x35\x34\x20\x2d\x30\
+\x2e\x37\x38\x37\x37\x31\x2c\x30\x2e\x33\x32\x33\x34\x32\x20\x2d\
+\x31\x30\x65\x2d\x34\x2c\x30\x2e\x34\x34\x34\x39\x36\x20\x2d\x31\
+\x2e\x35\x33\x35\x37\x38\x2c\x30\x2e\x39\x31\x38\x30\x38\x20\x2d\
+\x33\x2e\x34\x31\x30\x34\x2c\x31\x2e\x30\x35\x31\x33\x37\x20\x2d\
+\x32\x2e\x35\x31\x32\x31\x38\x2c\x30\x2e\x31\x37\x38\x36\x33\x20\
+\x2d\x33\x2e\x33\x35\x31\x39\x31\x2c\x2d\x30\x2e\x31\x34\x32\x34\
+\x33\x20\x2d\x33\x2e\x31\x39\x33\x36\x31\x2c\x2d\x31\x2e\x32\x32\
+\x31\x30\x35\x20\x7a\x20\x6d\x20\x2d\x34\x31\x2e\x33\x31\x39\x32\
+\x32\x2c\x2d\x33\x2e\x39\x33\x31\x32\x20\x63\x20\x2d\x30\x2e\x39\
+\x32\x36\x31\x39\x2c\x2d\x31\x2e\x31\x31\x36\x20\x2d\x30\x2e\x37\
+\x32\x31\x36\x32\x2c\x2d\x31\x2e\x37\x32\x34\x30\x35\x20\x30\x2e\
+\x39\x38\x31\x33\x35\x2c\x2d\x32\x2e\x39\x31\x36\x38\x35\x20\x6c\
+\x20\x32\x2e\x31\x35\x31\x34\x36\x2c\x2d\x31\x2e\x35\x30\x36\x39\
+\x35\x20\x2d\x32\x2e\x33\x35\x33\x37\x39\x2c\x2d\x30\x2e\x34\x30\
+\x32\x34\x37\x20\x63\x20\x2d\x31\x2e\x32\x39\x34\x35\x38\x2c\x2d\
+\x30\x2e\x32\x32\x31\x33\x36\x20\x31\x2e\x30\x32\x31\x32\x31\x2c\
+\x2d\x30\x2e\x34\x31\x38\x33\x31\x20\x35\x2e\x31\x34\x36\x32\x31\
+\x2c\x2d\x30\x2e\x34\x33\x37\x36\x35\x20\x36\x2e\x34\x35\x33\x31\
+\x37\x2c\x2d\x30\x2e\x30\x33\x30\x33\x20\x36\x2e\x39\x36\x32\x38\
+\x35\x2c\x30\x2e\x30\x38\x34\x38\x20\x33\x2e\x36\x35\x31\x36\x31\
+\x2c\x30\x2e\x38\x32\x34\x31\x34\x20\x2d\x34\x2e\x30\x37\x34\x32\
+\x32\x2c\x30\x2e\x39\x30\x39\x37\x34\x20\x2d\x39\x2e\x30\x31\x35\
+\x38\x35\x2c\x34\x2e\x31\x35\x32\x31\x20\x2d\x37\x2e\x39\x35\x31\
+\x30\x33\x2c\x35\x2e\x32\x31\x36\x39\x33\x20\x30\x2e\x33\x34\x38\
+\x30\x31\x2c\x30\x2e\x33\x34\x38\x30\x31\x20\x30\x2e\x33\x38\x37\
+\x38\x35\x2c\x30\x2e\x36\x33\x32\x37\x35\x20\x30\x2e\x30\x38\x38\
+\x35\x2c\x30\x2e\x36\x33\x32\x37\x35\x20\x2d\x30\x2e\x32\x39\x39\
+\x33\x32\x2c\x30\x20\x2d\x31\x2e\x30\x37\x30\x37\x37\x2c\x2d\x30\
+\x2e\x36\x33\x34\x34\x36\x20\x2d\x31\x2e\x37\x31\x34\x33\x34\x2c\
+\x2d\x31\x2e\x34\x30\x39\x39\x20\x7a\x20\x4d\x20\x31\x33\x33\x2c\
+\x31\x32\x38\x2e\x32\x30\x35\x32\x39\x20\x63\x20\x2d\x31\x2e\x39\
+\x32\x35\x2c\x2d\x30\x2e\x31\x39\x31\x33\x34\x20\x2d\x33\x2e\x38\
+\x36\x38\x37\x31\x2c\x2d\x30\x2e\x37\x30\x37\x30\x31\x20\x2d\x34\
+\x2e\x33\x31\x39\x33\x35\x2c\x2d\x31\x2e\x31\x34\x35\x39\x33\x20\
+\x2d\x30\x2e\x34\x35\x30\x36\x34\x2c\x2d\x30\x2e\x34\x33\x38\x39\
+\x33\x20\x2d\x32\x2e\x39\x32\x35\x36\x34\x2c\x2d\x30\x2e\x36\x34\
+\x36\x37\x38\x20\x2d\x35\x2e\x35\x2c\x2d\x30\x2e\x34\x36\x31\x38\
+\x38\x20\x2d\x33\x2e\x37\x33\x38\x31\x33\x2c\x30\x2e\x32\x36\x38\
+\x34\x37\x20\x2d\x33\x2e\x32\x37\x31\x30\x39\x2c\x30\x2e\x30\x35\
+\x33\x32\x20\x32\x2e\x33\x31\x39\x33\x35\x2c\x2d\x31\x2e\x30\x36\
+\x39\x32\x20\x37\x2e\x39\x31\x37\x31\x32\x2c\x2d\x31\x2e\x35\x38\
+\x39\x35\x20\x31\x36\x2e\x33\x33\x35\x34\x37\x2c\x2d\x31\x2e\x39\
+\x34\x36\x33\x36\x20\x31\x33\x2c\x2d\x30\x2e\x35\x35\x31\x30\x38\
+\x20\x2d\x31\x2e\x34\x37\x38\x39\x35\x2c\x30\x2e\x36\x31\x38\x36\
+\x37\x20\x2d\x30\x2e\x39\x30\x34\x32\x35\x2c\x30\x2e\x38\x30\x35\
+\x39\x39\x20\x32\x2e\x32\x30\x35\x39\x33\x2c\x30\x2e\x37\x31\x38\
+\x39\x38\x20\x34\x2e\x34\x36\x34\x36\x34\x2c\x2d\x30\x2e\x31\x32\
+\x34\x38\x39\x20\x35\x2e\x38\x39\x35\x2c\x30\x2e\x35\x32\x32\x34\
+\x39\x20\x34\x2e\x38\x35\x38\x38\x2c\x32\x2e\x31\x39\x39\x30\x38\
+\x20\x2d\x30\x2e\x34\x32\x31\x31\x39\x2c\x30\x2e\x36\x38\x31\x35\
+\x31\x20\x2d\x31\x2e\x34\x38\x38\x38\x33\x2c\x30\x2e\x37\x30\x33\
+\x39\x20\x2d\x33\x2e\x31\x36\x35\x36\x31\x2c\x30\x2e\x30\x36\x36\
+\x34\x20\x2d\x31\x2e\x33\x39\x31\x35\x34\x2c\x2d\x30\x2e\x35\x32\
+\x39\x30\x37\x20\x2d\x33\x2e\x32\x38\x38\x31\x31\x2c\x2d\x30\x2e\
+\x36\x31\x32\x34\x31\x20\x2d\x34\x2e\x32\x31\x34\x35\x39\x2c\x2d\
+\x30\x2e\x31\x38\x35\x32\x20\x2d\x30\x2e\x39\x32\x36\x34\x39\x2c\
+\x30\x2e\x34\x32\x37\x32\x20\x2d\x33\x2e\x32\x35\x39\x35\x33\x2c\
+\x30\x2e\x36\x32\x30\x31\x38\x20\x2d\x35\x2e\x31\x38\x34\x35\x33\
+\x2c\x30\x2e\x34\x32\x38\x38\x34\x20\x7a\x20\x6d\x20\x31\x33\x2e\
+\x37\x31\x30\x35\x31\x2c\x2d\x31\x2e\x32\x30\x34\x32\x39\x20\x63\
+\x20\x2d\x30\x2e\x32\x38\x37\x35\x31\x2c\x2d\x31\x2e\x30\x39\x39\
+\x34\x36\x20\x2d\x30\x2e\x31\x31\x35\x2c\x2d\x32\x2e\x32\x35\x31\
+\x30\x31\x20\x30\x2e\x33\x38\x33\x33\x37\x2c\x2d\x32\x2e\x35\x35\
+\x39\x30\x32\x20\x30\x2e\x34\x39\x38\x33\x37\x2c\x2d\x30\x2e\x33\
+\x30\x38\x30\x31\x20\x30\x2e\x39\x30\x36\x31\x32\x2c\x30\x2e\x35\
+\x39\x31\x35\x34\x20\x30\x2e\x39\x30\x36\x31\x32\x2c\x31\x2e\x39\
+\x39\x39\x20\x30\x2c\x33\x2e\x30\x36\x34\x30\x35\x20\x2d\x30\x2e\
+\x35\x36\x39\x39\x34\x2c\x33\x2e\x33\x31\x31\x35\x37\x20\x2d\x31\
+\x2e\x32\x38\x39\x34\x39\x2c\x30\x2e\x35\x36\x30\x30\x32\x20\x7a\
+\x20\x6d\x20\x2d\x31\x2e\x38\x34\x37\x33\x36\x2c\x2d\x34\x2e\x38\
+\x39\x35\x32\x36\x20\x63\x20\x31\x2e\x30\x38\x37\x31\x39\x2c\x2d\
+\x30\x2e\x36\x38\x38\x38\x20\x31\x2e\x31\x30\x31\x39\x36\x2c\x2d\
+\x30\x2e\x39\x35\x30\x37\x20\x30\x2e\x30\x37\x33\x2c\x2d\x31\x2e\
+\x32\x39\x33\x37\x31\x20\x2d\x32\x2e\x34\x31\x36\x32\x2c\x2d\x30\
+\x2e\x38\x30\x35\x34\x20\x30\x2e\x31\x36\x39\x30\x37\x2c\x2d\x32\
+\x2e\x38\x31\x32\x30\x33\x20\x33\x2e\x36\x32\x32\x39\x32\x2c\x2d\
+\x32\x2e\x38\x31\x32\x30\x33\x20\x33\x2e\x35\x39\x32\x30\x33\x2c\
+\x30\x20\x34\x2e\x30\x39\x33\x33\x35\x2c\x31\x2e\x32\x31\x38\x31\
+\x35\x20\x31\x2e\x36\x30\x30\x32\x33\x2c\x33\x2e\x38\x38\x38\x33\
+\x37\x20\x2d\x31\x2e\x31\x35\x32\x32\x36\x2c\x31\x2e\x32\x33\x34\
+\x31\x31\x20\x2d\x31\x2e\x34\x36\x36\x34\x32\x2c\x31\x2e\x32\x33\
+\x37\x34\x36\x20\x2d\x32\x2e\x32\x33\x34\x36\x39\x2c\x30\x2e\x30\
+\x32\x33\x38\x20\x2d\x30\x2e\x36\x33\x31\x33\x33\x2c\x2d\x30\x2e\
+\x39\x39\x37\x33\x34\x20\x2d\x30\x2e\x38\x39\x38\x34\x33\x2c\x2d\
+\x31\x2e\x30\x34\x34\x39\x38\x20\x2d\x30\x2e\x39\x30\x39\x32\x35\
+\x2c\x2d\x30\x2e\x31\x36\x32\x31\x38\x20\x2d\x30\x2e\x30\x30\x38\
+\x2c\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x38\x30\x32\x38\x31\
+\x2c\x31\x2e\x32\x34\x33\x31\x31\x20\x2d\x31\x2e\x37\x36\x35\x33\
+\x31\x2c\x31\x2e\x32\x33\x34\x36\x39\x20\x2d\x31\x2e\x33\x36\x39\
+\x35\x34\x2c\x2d\x30\x2e\x30\x31\x32\x20\x2d\x31\x2e\x34\x35\x33\
+\x36\x34\x2c\x2d\x30\x2e\x32\x30\x33\x30\x38\x20\x2d\x30\x2e\x33\
+\x38\x36\x38\x35\x2c\x2d\x30\x2e\x38\x37\x38\x39\x35\x20\x7a\x20\
+\x6d\x20\x2d\x34\x34\x2e\x32\x34\x36\x33\x37\x2c\x2d\x34\x2e\x36\
+\x36\x32\x20\x63\x20\x2d\x30\x2e\x39\x39\x39\x32\x30\x37\x2c\x2d\
+\x32\x2e\x36\x30\x33\x39\x20\x2d\x30\x2e\x37\x32\x34\x33\x37\x37\
+\x2c\x2d\x33\x2e\x34\x34\x32\x38\x20\x31\x2e\x31\x33\x33\x32\x32\
+\x2c\x2d\x33\x2e\x34\x35\x39\x30\x35\x20\x31\x2e\x34\x39\x35\x35\
+\x35\x2c\x2d\x30\x2e\x30\x31\x33\x31\x20\x31\x2e\x35\x33\x31\x39\
+\x2c\x2d\x30\x2e\x31\x35\x36\x32\x36\x20\x30\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x39\x38\x34\x36\x39\x20\x2d\x31\x2e\x31\x31\x31\x31\x32\
+\x2c\x2d\x30\x2e\x37\x31\x38\x30\x36\x20\x2d\x30\x2e\x34\x39\x36\
+\x30\x36\x2c\x2d\x30\x2e\x39\x37\x33\x33\x34\x20\x32\x2e\x33\x37\
+\x32\x34\x34\x2c\x2d\x30\x2e\x39\x38\x34\x36\x39\x20\x33\x2e\x33\
+\x32\x39\x35\x38\x2c\x2d\x30\x2e\x30\x31\x33\x32\x20\x33\x2e\x36\
+\x39\x37\x39\x33\x2c\x30\x2e\x31\x39\x34\x39\x37\x20\x32\x2e\x36\
+\x32\x37\x35\x36\x2c\x31\x2e\x34\x38\x34\x36\x39\x20\x2d\x30\x2e\
+\x36\x38\x34\x36\x39\x2c\x30\x2e\x38\x32\x35\x20\x2d\x31\x2e\x38\
+\x39\x31\x33\x35\x2c\x31\x2e\x35\x20\x2d\x32\x2e\x36\x38\x31\x34\
+\x36\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x37\x39\x30\x31\x32\x2c\x30\
+\x20\x2d\x31\x2e\x31\x38\x39\x39\x37\x2c\x30\x2e\x33\x39\x39\x30\
+\x31\x20\x2d\x30\x2e\x38\x38\x38\x35\x37\x2c\x30\x2e\x38\x38\x36\
+\x36\x39\x20\x30\x2e\x33\x30\x31\x34\x31\x2c\x30\x2e\x34\x38\x37\
+\x36\x38\x20\x2d\x30\x2e\x30\x36\x39\x35\x2c\x31\x2e\x33\x39\x39\
+\x31\x37\x20\x2d\x30\x2e\x38\x32\x34\x32\x2c\x32\x2e\x30\x32\x35\
+\x35\x33\x20\x2d\x31\x2e\x30\x35\x36\x35\x32\x2c\x30\x2e\x38\x37\
+\x36\x38\x34\x20\x2d\x31\x2e\x35\x31\x34\x31\x2c\x30\x2e\x37\x36\
+\x39\x30\x36\x20\x2d\x31\x2e\x39\x38\x38\x39\x39\x2c\x2d\x30\x2e\
+\x34\x36\x38\x34\x38\x20\x7a\x20\x6d\x20\x33\x35\x2e\x33\x39\x38\
+\x35\x33\x2c\x2d\x34\x2e\x32\x37\x39\x37\x33\x20\x63\x20\x2d\x30\
+\x2e\x30\x31\x30\x35\x2c\x2d\x30\x2e\x39\x31\x35\x31\x35\x20\x2d\
+\x31\x2e\x31\x39\x36\x35\x35\x2c\x2d\x31\x2e\x32\x36\x34\x38\x37\
+\x20\x2d\x33\x2e\x37\x36\x35\x33\x31\x2c\x2d\x31\x2e\x31\x31\x30\
+\x32\x32\x20\x2d\x35\x2e\x33\x31\x35\x38\x34\x2c\x30\x2e\x33\x32\
+\x30\x30\x33\x20\x2d\x37\x2e\x32\x35\x2c\x30\x2e\x30\x37\x35\x32\
+\x20\x2d\x37\x2e\x32\x35\x2c\x2d\x30\x2e\x39\x31\x37\x38\x37\x20\
+\x30\x2c\x2d\x30\x2e\x38\x32\x31\x39\x32\x20\x32\x2e\x38\x36\x37\
+\x30\x33\x2c\x2d\x31\x2e\x33\x38\x33\x37\x36\x20\x31\x33\x2c\x2d\
+\x32\x2e\x35\x34\x37\x35\x36\x20\x33\x2e\x35\x36\x37\x38\x37\x2c\
+\x2d\x30\x2e\x34\x30\x39\x37\x39\x20\x33\x2e\x38\x37\x38\x35\x38\
+\x2c\x2d\x30\x2e\x33\x34\x31\x36\x32\x20\x31\x2e\x35\x2c\x30\x2e\
+\x33\x32\x39\x30\x38\x20\x2d\x32\x2e\x39\x38\x38\x32\x36\x2c\x30\
+\x2e\x38\x34\x32\x36\x32\x20\x2d\x32\x2e\x39\x38\x34\x38\x35\x2c\
+\x30\x2e\x38\x34\x36\x33\x39\x20\x30\x2e\x38\x37\x32\x34\x34\x2c\
+\x30\x2e\x39\x36\x34\x32\x35\x20\x33\x2e\x31\x39\x35\x30\x33\x2c\
+\x30\x2e\x30\x39\x37\x36\x20\x33\x2e\x36\x36\x39\x36\x36\x2c\x30\
+\x2e\x33\x36\x32\x36\x35\x20\x32\x2e\x37\x31\x33\x32\x34\x2c\x31\
+\x2e\x35\x31\x35\x30\x38\x20\x2d\x30\x2e\x36\x34\x37\x33\x34\x2c\
+\x30\x2e\x37\x37\x39\x39\x39\x20\x2d\x32\x2e\x30\x37\x31\x33\x32\
+\x2c\x31\x2e\x31\x35\x38\x32\x34\x20\x2d\x33\x2e\x32\x32\x34\x38\
+\x31\x2c\x30\x2e\x38\x35\x36\x36\x20\x2d\x31\x2e\x31\x39\x33\x38\
+\x34\x2c\x2d\x30\x2e\x33\x31\x32\x32\x20\x2d\x32\x2e\x34\x33\x37\
+\x39\x36\x2c\x30\x2e\x30\x34\x37\x39\x20\x2d\x32\x2e\x39\x34\x37\
+\x39\x32\x2c\x30\x2e\x38\x35\x33\x32\x33\x20\x2d\x30\x2e\x37\x30\
+\x38\x33\x33\x2c\x31\x2e\x31\x31\x38\x36\x32\x20\x2d\x30\x2e\x38\
+\x38\x35\x33\x34\x2c\x31\x2e\x31\x32\x39\x39\x34\x20\x2d\x30\x2e\
+\x38\x39\x37\x36\x34\x2c\x30\x2e\x30\x35\x37\x34\x20\x7a\x20\x6d\
+\x20\x38\x2e\x36\x35\x32\x39\x39\x2c\x2d\x31\x2e\x37\x34\x31\x39\
+\x39\x20\x63\x20\x30\x2e\x32\x36\x37\x31\x34\x2c\x2d\x30\x2e\x36\
+\x39\x36\x31\x36\x20\x2d\x31\x2e\x36\x65\x2d\x34\x2c\x2d\x32\x2e\
+\x31\x37\x33\x35\x39\x20\x2d\x30\x2e\x35\x39\x34\x2c\x2d\x33\x2e\
+\x32\x38\x33\x31\x39\x20\x2d\x30\x2e\x37\x32\x37\x31\x34\x2c\x2d\
+\x31\x2e\x33\x35\x38\x36\x37\x20\x2d\x30\x2e\x37\x34\x36\x39\x36\
+\x2c\x2d\x32\x2e\x32\x32\x33\x31\x20\x2d\x30\x2e\x30\x36\x30\x37\
+\x2c\x2d\x32\x2e\x36\x34\x37\x32\x34\x20\x30\x2e\x35\x36\x30\x34\
+\x36\x2c\x2d\x30\x2e\x33\x34\x36\x33\x38\x20\x30\x2e\x37\x36\x31\
+\x35\x31\x2c\x2d\x31\x2e\x30\x34\x36\x34\x34\x20\x30\x2e\x34\x34\
+\x36\x37\x38\x2c\x2d\x31\x2e\x35\x35\x35\x36\x38\x20\x2d\x30\x2e\
+\x33\x32\x30\x38\x39\x2c\x2d\x30\x2e\x35\x31\x39\x32\x31\x20\x31\
+\x2e\x32\x33\x30\x32\x39\x2c\x2d\x30\x2e\x38\x35\x35\x32\x37\x20\
+\x33\x2e\x35\x33\x31\x35\x31\x2c\x2d\x30\x2e\x37\x36\x35\x31\x20\
+\x33\x2e\x35\x34\x36\x39\x34\x2c\x30\x2e\x31\x33\x38\x39\x39\x20\
+\x34\x2e\x30\x36\x33\x33\x34\x2c\x30\x2e\x34\x34\x33\x35\x39\x20\
+\x33\x2e\x38\x30\x35\x39\x32\x2c\x32\x2e\x32\x34\x35\x20\x2d\x30\
+\x2e\x31\x36\x33\x38\x2c\x31\x2e\x31\x34\x36\x33\x20\x2d\x30\x2e\
+\x39\x37\x32\x38\x32\x2c\x32\x2e\x31\x34\x34\x37\x38\x20\x2d\x31\
+\x2e\x37\x39\x37\x38\x32\x2c\x32\x2e\x32\x31\x38\x38\x34\x20\x2d\
+\x30\x2e\x38\x32\x35\x2c\x30\x2e\x30\x37\x34\x31\x20\x2d\x32\x2e\
+\x33\x31\x34\x30\x36\x2c\x30\x2e\x31\x38\x36\x35\x36\x20\x2d\x33\
+\x2e\x33\x30\x39\x30\x32\x2c\x30\x2e\x32\x35\x20\x2d\x31\x2e\x30\
+\x31\x31\x35\x33\x2c\x30\x2e\x30\x36\x34\x35\x20\x2d\x31\x2e\x35\
+\x31\x37\x39\x39\x2c\x30\x2e\x35\x38\x36\x32\x34\x20\x2d\x31\x2e\
+\x31\x34\x38\x38\x35\x2c\x31\x2e\x31\x38\x33\x35\x32\x20\x30\x2e\
+\x33\x36\x33\x31\x2c\x30\x2e\x35\x38\x37\x35\x20\x31\x2e\x32\x38\
+\x39\x36\x35\x2c\x30\x2e\x38\x32\x36\x36\x32\x20\x32\x2e\x30\x35\
+\x39\x30\x32\x2c\x30\x2e\x35\x33\x31\x33\x39\x20\x30\x2e\x37\x37\
+\x33\x34\x2c\x2d\x30\x2e\x32\x39\x36\x37\x38\x20\x31\x2e\x33\x39\
+\x38\x38\x35\x2c\x30\x2e\x30\x36\x37\x37\x20\x31\x2e\x33\x39\x38\
+\x38\x35\x2c\x30\x2e\x38\x31\x35\x32\x35\x20\x30\x2c\x30\x2e\x37\
+\x34\x33\x36\x32\x20\x2d\x31\x2e\x30\x38\x33\x39\x32\x2c\x31\x2e\
+\x35\x35\x39\x32\x34\x20\x2d\x32\x2e\x34\x30\x38\x37\x2c\x31\x2e\
+\x38\x31\x32\x34\x39\x20\x2d\x31\x2e\x36\x36\x30\x38\x36\x2c\x30\
+\x2e\x33\x31\x37\x34\x39\x20\x2d\x32\x2e\x32\x35\x37\x39\x31\x2c\
+\x30\x2e\x30\x36\x37\x35\x20\x2d\x31\x2e\x39\x32\x33\x2c\x2d\x30\
+\x2e\x38\x30\x35\x32\x38\x20\x7a\x20\x6d\x20\x2d\x34\x35\x2e\x32\
+\x30\x39\x38\x39\x39\x2c\x2d\x39\x2e\x34\x38\x39\x33\x33\x20\x63\
+\x20\x2d\x30\x2e\x33\x36\x39\x34\x39\x31\x2c\x2d\x30\x2e\x35\x39\
+\x37\x38\x35\x20\x30\x2e\x33\x37\x34\x32\x39\x31\x2c\x2d\x31\x2e\
+\x33\x35\x30\x37\x31\x20\x31\x2e\x36\x39\x30\x39\x37\x39\x2c\x2d\
+\x31\x2e\x37\x31\x31\x36\x32\x20\x32\x2e\x32\x35\x36\x39\x32\x2c\
+\x2d\x30\x2e\x36\x31\x38\x36\x33\x37\x20\x32\x2e\x32\x33\x31\x30\
+\x33\x2c\x2d\x30\x2e\x36\x37\x31\x30\x33\x32\x20\x2d\x30\x2e\x36\
+\x34\x39\x33\x38\x2c\x2d\x31\x2e\x33\x31\x34\x33\x38\x31\x20\x2d\
+\x32\x2e\x30\x32\x32\x30\x36\x2c\x2d\x30\x2e\x34\x35\x31\x36\x33\
+\x33\x20\x2d\x30\x2e\x37\x31\x38\x31\x34\x31\x2c\x2d\x30\x2e\x36\
+\x37\x35\x32\x36\x20\x34\x2c\x2d\x30\x2e\x36\x38\x36\x30\x31\x33\
+\x20\x35\x2e\x37\x33\x32\x39\x34\x2c\x2d\x30\x2e\x30\x31\x33\x30\
+\x36\x20\x36\x2e\x33\x37\x35\x33\x31\x2c\x30\x2e\x31\x33\x31\x31\
+\x31\x32\x20\x33\x2e\x35\x34\x38\x38\x36\x2c\x30\x2e\x37\x39\x36\
+\x35\x32\x35\x20\x2d\x31\x2e\x38\x39\x38\x31\x33\x2c\x30\x2e\x34\
+\x34\x36\x38\x36\x32\x20\x2d\x33\x2e\x39\x37\x32\x37\x34\x2c\x31\
+\x2e\x35\x32\x35\x37\x39\x39\x20\x2d\x34\x2e\x36\x31\x30\x32\x35\
+\x2c\x32\x2e\x33\x39\x37\x36\x33\x39\x20\x2d\x31\x2e\x33\x33\x39\
+\x39\x31\x2c\x31\x2e\x38\x33\x32\x34\x33\x20\x2d\x33\x2e\x30\x33\
+\x31\x37\x31\x2c\x32\x2e\x30\x35\x32\x35\x35\x20\x2d\x33\x2e\x39\
+\x38\x30\x32\x30\x39\x2c\x30\x2e\x35\x31\x37\x38\x35\x20\x7a\x20\
+\x4d\x20\x31\x33\x37\x2e\x35\x37\x39\x39\x32\x2c\x39\x39\x2e\x32\
+\x35\x20\x63\x20\x2d\x30\x2e\x34\x31\x34\x33\x37\x2c\x2d\x30\x2e\
+\x34\x31\x32\x35\x20\x2d\x31\x2e\x39\x35\x31\x38\x37\x2c\x2d\x30\
+\x2e\x37\x37\x38\x31\x31\x31\x20\x2d\x33\x2e\x34\x31\x36\x36\x36\
+\x2c\x2d\x30\x2e\x38\x31\x32\x34\x36\x39\x20\x2d\x31\x30\x2e\x35\
+\x37\x37\x32\x36\x2c\x2d\x30\x2e\x32\x34\x38\x31\x20\x2d\x31\x32\
+\x2e\x36\x31\x34\x31\x33\x2c\x2d\x31\x2e\x37\x33\x35\x30\x30\x39\
+\x20\x2d\x33\x2e\x39\x31\x33\x32\x36\x2c\x2d\x32\x2e\x38\x35\x36\
+\x36\x36\x20\x32\x2e\x38\x38\x37\x35\x2c\x2d\x30\x2e\x33\x37\x32\
+\x32\x33\x35\x20\x37\x2e\x30\x35\x2c\x2d\x30\x2e\x39\x33\x33\x32\
+\x32\x37\x20\x39\x2e\x32\x35\x2c\x2d\x31\x2e\x32\x34\x36\x36\x34\
+\x39\x20\x33\x2e\x38\x31\x38\x36\x2c\x2d\x30\x2e\x35\x34\x34\x30\
+\x31\x36\x20\x33\x2e\x39\x30\x39\x33\x2c\x2d\x30\x2e\x34\x39\x35\
+\x37\x39\x36\x20\x32\x2c\x31\x2e\x30\x36\x33\x32\x39\x38\x20\x2d\
+\x31\x2e\x39\x34\x38\x31\x36\x2c\x31\x2e\x35\x39\x30\x38\x32\x38\
+\x20\x2d\x31\x2e\x39\x33\x30\x38\x35\x2c\x31\x2e\x36\x31\x37\x35\
+\x32\x35\x20\x30\x2e\x36\x36\x37\x38\x33\x2c\x31\x2e\x30\x33\x30\
+\x30\x33\x33\x20\x32\x2e\x30\x35\x35\x39\x39\x2c\x2d\x30\x2e\x34\
+\x36\x34\x38\x30\x31\x20\x32\x2e\x39\x32\x34\x31\x2c\x2d\x30\x2e\
+\x31\x32\x34\x33\x30\x32\x20\x33\x2e\x37\x38\x35\x31\x39\x2c\x31\
+\x2e\x34\x38\x34\x36\x36\x31\x20\x43\x20\x31\x34\x36\x2e\x38\x36\
+\x30\x34\x39\x2c\x39\x39\x2e\x36\x30\x37\x38\x34\x31\x20\x31\x34\
+\x36\x2e\x37\x38\x32\x30\x31\x2c\x31\x30\x30\x20\x31\x34\x35\x2e\
+\x35\x33\x35\x31\x38\x2c\x31\x30\x30\x20\x31\x34\x34\x2e\x36\x39\
+\x30\x38\x33\x2c\x31\x30\x30\x20\x31\x34\x34\x2c\x39\x39\x2e\x35\
+\x36\x31\x31\x33\x38\x20\x31\x34\x34\x2c\x39\x39\x2e\x30\x32\x34\
+\x37\x35\x31\x20\x63\x20\x30\x2c\x2d\x30\x2e\x36\x33\x33\x36\x36\
+\x36\x20\x2d\x30\x2e\x38\x39\x38\x34\x33\x2c\x2d\x30\x2e\x36\x33\
+\x33\x36\x36\x36\x20\x2d\x32\x2e\x35\x36\x35\x31\x2c\x30\x20\x2d\
+\x33\x2e\x30\x37\x33\x37\x35\x2c\x31\x2e\x31\x36\x38\x36\x33\x39\
+\x20\x2d\x32\x2e\x39\x31\x36\x35\x33\x2c\x31\x2e\x31\x35\x39\x34\
+\x34\x39\x20\x2d\x33\x2e\x38\x35\x34\x39\x38\x2c\x30\x2e\x32\x32\
+\x35\x32\x34\x39\x20\x7a\x20\x4d\x20\x31\x34\x37\x2c\x39\x37\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x39\x32\x36\x35\
+\x36\x2c\x2d\x31\x20\x32\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\
+\x31\x2e\x31\x33\x32\x34\x36\x2c\x30\x20\x31\x2e\x37\x38\x30\x39\
+\x2c\x30\x2e\x34\x35\x20\x31\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\
+\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x31\
+\x2e\x32\x36\x36\x34\x38\x2c\x31\x20\x2d\x32\x2e\x30\x35\x39\x30\
+\x32\x2c\x31\x20\x43\x20\x31\x34\x37\x2e\x36\x34\x38\x34\x34\x2c\
+\x39\x38\x20\x31\x34\x37\x2c\x39\x37\x2e\x35\x35\x20\x31\x34\x37\
+\x2c\x39\x37\x20\x7a\x20\x6d\x20\x2d\x32\x2e\x32\x30\x34\x34\x39\
+\x2c\x2d\x36\x2e\x30\x36\x30\x30\x35\x33\x20\x63\x20\x30\x2e\x33\
+\x31\x37\x35\x39\x2c\x2d\x32\x2e\x31\x36\x33\x38\x37\x39\x20\x30\
+\x2e\x38\x37\x33\x38\x2c\x2d\x32\x2e\x38\x39\x37\x30\x38\x35\x20\
+\x31\x2e\x38\x39\x39\x32\x35\x2c\x2d\x32\x2e\x35\x30\x33\x35\x38\
+\x36\x20\x30\x2e\x37\x39\x37\x35\x37\x2c\x30\x2e\x33\x30\x36\x30\
+\x35\x37\x20\x32\x2e\x33\x31\x37\x35\x33\x2c\x30\x2e\x30\x39\x32\
+\x32\x35\x20\x33\x2e\x33\x37\x37\x36\x38\x2c\x2d\x30\x2e\x34\x37\
+\x35\x31\x33\x31\x20\x43\x20\x31\x35\x31\x2e\x36\x37\x30\x30\x37\
+\x2c\x38\x37\x2e\x31\x30\x36\x32\x30\x34\x20\x31\x35\x32\x2c\x38\
+\x37\x2e\x32\x36\x33\x39\x38\x31\x20\x31\x35\x32\x2c\x38\x38\x2e\
+\x38\x38\x33\x30\x32\x39\x20\x31\x35\x32\x2c\x39\x32\x2e\x36\x38\
+\x34\x30\x31\x36\x20\x31\x35\x30\x2e\x38\x35\x39\x37\x32\x2c\x39\
+\x34\x20\x31\x34\x37\x2e\x35\x36\x36\x32\x2c\x39\x34\x20\x63\x20\
+\x2d\x33\x2e\x30\x32\x32\x37\x39\x2c\x30\x20\x2d\x33\x2e\x31\x39\
+\x32\x33\x33\x2c\x2d\x30\x2e\x31\x38\x37\x32\x34\x35\x20\x2d\x32\
+\x2e\x37\x37\x30\x36\x39\x2c\x2d\x33\x2e\x30\x36\x30\x30\x35\x33\
+\x20\x7a\x20\x6d\x20\x2d\x34\x33\x2e\x38\x37\x32\x32\x33\x2c\x2d\
+\x32\x2e\x33\x34\x37\x35\x20\x63\x20\x31\x2e\x31\x38\x39\x38\x33\
+\x2c\x2d\x31\x2e\x34\x33\x33\x36\x36\x36\x20\x31\x2e\x31\x32\x33\
+\x34\x32\x2c\x2d\x31\x2e\x35\x36\x31\x33\x31\x34\x20\x2d\x30\x2e\
+\x35\x33\x31\x38\x34\x2c\x2d\x31\x2e\x30\x32\x32\x32\x35\x32\x20\
+\x2d\x31\x2e\x34\x32\x37\x32\x38\x31\x2c\x30\x2e\x34\x36\x34\x38\
+\x31\x38\x20\x2d\x31\x2e\x32\x37\x37\x39\x34\x31\x2c\x30\x2e\x31\
+\x30\x37\x37\x39\x33\x20\x30\x2e\x36\x30\x38\x35\x36\x2c\x2d\x31\
+\x2e\x34\x35\x34\x38\x37\x32\x20\x31\x2e\x33\x37\x35\x2c\x2d\x31\
+\x2e\x31\x33\x38\x39\x36\x38\x20\x33\x2e\x36\x32\x35\x2c\x2d\x32\
+\x2e\x30\x37\x34\x32\x32\x34\x20\x35\x2c\x2d\x32\x2e\x30\x37\x38\
+\x33\x34\x35\x20\x6c\x20\x32\x2e\x35\x2c\x2d\x30\x2e\x30\x30\x37\
+\x35\x20\x2d\x32\x2e\x35\x2c\x31\x2e\x32\x36\x34\x37\x39\x31\x20\
+\x63\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x2e\x36\x39\x35\x36\x33\
+\x35\x20\x2d\x32\x2e\x35\x2c\x31\x2e\x39\x32\x30\x33\x33\x38\x20\
+\x2d\x32\x2e\x35\x2c\x32\x2e\x37\x32\x31\x35\x36\x33\x20\x30\x2c\
+\x30\x2e\x38\x30\x31\x32\x32\x35\x20\x2d\x30\x2e\x38\x38\x35\x36\
+\x38\x2c\x31\x2e\x36\x32\x37\x33\x33\x37\x20\x2d\x31\x2e\x39\x36\
+\x38\x31\x37\x2c\x31\x2e\x38\x33\x35\x38\x30\x36\x20\x2d\x31\x2e\
+\x37\x31\x39\x35\x36\x32\x2c\x30\x2e\x33\x33\x31\x31\x35\x38\x20\
+\x2d\x31\x2e\x37\x39\x36\x34\x33\x2c\x30\x2e\x31\x37\x32\x31\x30\
+\x36\x20\x2d\x30\x2e\x36\x30\x38\x35\x35\x2c\x2d\x31\x2e\x32\x35\
+\x39\x31\x39\x37\x20\x7a\x20\x4d\x20\x39\x37\x2e\x35\x2c\x38\x35\
+\x20\x43\x20\x39\x37\x2e\x31\x36\x30\x30\x38\x31\x2c\x38\x34\x2e\
+\x34\x35\x20\x39\x37\x2e\x33\x35\x38\x35\x32\x34\x2c\x38\x34\x20\
+\x39\x37\x2e\x39\x34\x30\x39\x38\x33\x2c\x38\x34\x20\x39\x38\x2e\
+\x35\x32\x33\x34\x34\x32\x2c\x38\x34\x20\x39\x39\x2c\x38\x34\x2e\
+\x34\x35\x20\x39\x39\x2c\x38\x35\x20\x39\x39\x2c\x38\x35\x2e\x35\
+\x35\x20\x39\x38\x2e\x38\x30\x31\x35\x35\x38\x2c\x38\x36\x20\x39\
+\x38\x2e\x35\x35\x39\x30\x31\x37\x2c\x38\x36\x20\x39\x38\x2e\x33\
+\x31\x36\x34\x37\x36\x2c\x38\x36\x20\x39\x37\x2e\x38\x33\x39\x39\
+\x31\x39\x2c\x38\x35\x2e\x35\x35\x20\x39\x37\x2e\x35\x2c\x38\x35\
+\x20\x7a\x20\x6d\x20\x33\x30\x2e\x33\x32\x37\x39\x31\x2c\x2d\x31\
+\x2e\x33\x36\x36\x36\x35\x32\x20\x2d\x33\x2e\x33\x32\x37\x39\x31\
+\x2c\x2d\x30\x2e\x39\x30\x34\x36\x30\x31\x20\x32\x2e\x36\x37\x32\
+\x36\x39\x2c\x2d\x30\x2e\x37\x35\x37\x32\x31\x34\x20\x63\x20\x34\
+\x2e\x35\x37\x31\x32\x37\x2c\x2d\x31\x2e\x32\x39\x35\x31\x31\x31\
+\x20\x31\x35\x2e\x36\x30\x39\x31\x31\x2c\x2d\x32\x2e\x31\x30\x32\
+\x39\x34\x36\x20\x31\x33\x2e\x33\x32\x37\x33\x31\x2c\x2d\x30\x2e\
+\x39\x37\x35\x33\x39\x35\x20\x2d\x31\x2e\x34\x37\x39\x34\x34\x2c\
+\x30\x2e\x37\x33\x31\x30\x36\x34\x20\x2d\x30\x2e\x32\x37\x32\x38\
+\x39\x2c\x30\x2e\x39\x31\x36\x34\x38\x38\x20\x34\x2e\x36\x33\x35\
+\x36\x2c\x30\x2e\x37\x31\x32\x34\x30\x32\x20\x35\x2e\x35\x32\x34\
+\x39\x31\x2c\x2d\x30\x2e\x32\x32\x39\x37\x31\x35\x20\x36\x2e\x35\
+\x34\x30\x33\x35\x2c\x2d\x30\x2e\x30\x32\x37\x36\x34\x20\x36\x2e\
+\x30\x36\x36\x34\x38\x2c\x31\x2e\x32\x30\x37\x32\x32\x20\x2d\x30\
+\x2e\x33\x31\x33\x30\x31\x2c\x30\x2e\x38\x31\x35\x37\x31\x35\x20\
+\x2d\x30\x2e\x37\x32\x34\x37\x33\x2c\x31\x2e\x30\x31\x36\x32\x38\
+\x35\x20\x2d\x30\x2e\x39\x31\x34\x39\x32\x2c\x30\x2e\x34\x34\x35\
+\x37\x31\x32\x20\x2d\x30\x2e\x32\x33\x33\x39\x2c\x2d\x30\x2e\x37\
+\x30\x31\x36\x38\x39\x20\x2d\x31\x2e\x38\x37\x33\x34\x37\x2c\x2d\
+\x30\x2e\x36\x34\x36\x32\x39\x20\x2d\x35\x2e\x30\x36\x36\x34\x38\
+\x2c\x30\x2e\x31\x37\x31\x31\x39\x31\x20\x2d\x33\x2e\x34\x37\x30\
+\x34\x36\x2c\x30\x2e\x38\x38\x38\x35\x31\x32\x20\x2d\x34\x2e\x39\
+\x31\x35\x32\x35\x2c\x30\x2e\x39\x31\x31\x38\x30\x38\x20\x2d\x35\
+\x2e\x34\x35\x35\x33\x37\x2c\x30\x2e\x30\x38\x37\x39\x37\x20\x2d\
+\x30\x2e\x35\x34\x32\x32\x37\x2c\x2d\x30\x2e\x38\x32\x37\x31\x34\
+\x33\x20\x2d\x30\x2e\x37\x33\x38\x36\x39\x2c\x2d\x30\x2e\x38\x32\
+\x36\x38\x33\x32\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x30\x30\x31\
+\x32\x20\x2d\x30\x2e\x30\x31\x38\x2c\x31\x2e\x33\x32\x30\x39\x38\
+\x33\x20\x2d\x36\x2e\x33\x34\x36\x31\x2c\x31\x2e\x33\x32\x37\x35\
+\x30\x36\x20\x2d\x31\x31\x2e\x31\x38\x37\x34\x2c\x30\x2e\x30\x31\
+\x31\x35\x33\x20\x7a\x20\x4d\x20\x31\x31\x32\x2e\x38\x31\x32\x35\
+\x2c\x38\x33\x2e\x33\x31\x36\x38\x38\x36\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\x20\x31\
+\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\
+\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\
+\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\
+\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\
+\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\
+\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\
+\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\
+\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\x6d\x20\x33\
+\x33\x2e\x32\x34\x38\x34\x2c\x2d\x35\x2e\x39\x37\x37\x30\x37\x31\
+\x20\x63\x20\x30\x2e\x35\x36\x31\x33\x31\x2c\x2d\x31\x2e\x34\x37\
+\x36\x33\x36\x31\x20\x30\x2e\x34\x34\x31\x38\x36\x2c\x2d\x32\x2e\
+\x33\x34\x38\x37\x34\x35\x20\x2d\x30\x2e\x33\x36\x30\x39\x39\x2c\
+\x2d\x32\x2e\x36\x33\x36\x32\x37\x32\x20\x2d\x32\x2e\x30\x31\x33\
+\x31\x34\x2c\x2d\x30\x2e\x37\x32\x30\x39\x38\x33\x20\x2d\x30\x2e\
+\x30\x33\x38\x34\x2c\x2d\x31\x2e\x38\x38\x33\x39\x30\x32\x20\x33\
+\x2e\x34\x37\x38\x31\x35\x2c\x2d\x32\x2e\x30\x34\x38\x32\x37\x31\
+\x20\x33\x2e\x30\x30\x33\x35\x31\x2c\x2d\x30\x2e\x31\x34\x30\x33\
+\x38\x38\x20\x33\x2e\x33\x31\x38\x31\x36\x2c\x30\x2e\x31\x30\x38\
+\x33\x33\x33\x20\x33\x2e\x32\x38\x32\x35\x32\x2c\x32\x2e\x35\x39\
+\x34\x37\x32\x38\x20\x2d\x30\x2e\x30\x32\x31\x37\x2c\x31\x2e\x35\
+\x31\x32\x35\x20\x30\x2e\x33\x31\x35\x38\x32\x2c\x32\x2e\x37\x35\
+\x20\x30\x2e\x37\x35\x2c\x32\x2e\x37\x35\x20\x30\x2e\x34\x33\x34\
+\x31\x38\x2c\x30\x20\x30\x2e\x37\x38\x37\x39\x39\x2c\x30\x2e\x33\
+\x33\x37\x35\x20\x30\x2e\x37\x38\x36\x32\x33\x2c\x30\x2e\x37\x35\
+\x20\x2d\x30\x2e\x30\x30\x32\x2c\x30\x2e\x34\x31\x32\x35\x20\x2d\
+\x31\x2e\x39\x37\x36\x38\x2c\x30\x2e\x37\x36\x30\x34\x33\x20\x2d\
+\x34\x2e\x33\x38\x39\x30\x31\x2c\x30\x2e\x37\x37\x33\x31\x37\x37\
+\x20\x2d\x34\x2e\x31\x31\x32\x39\x38\x2c\x30\x2e\x30\x32\x31\x37\
+\x33\x20\x2d\x34\x2e\x33\x33\x33\x36\x33\x2c\x2d\x30\x2e\x31\x31\
+\x34\x30\x39\x31\x20\x2d\x33\x2e\x35\x34\x36\x39\x2c\x2d\x32\x2e\
+\x31\x38\x33\x33\x36\x32\x20\x7a\x20\x4d\x20\x39\x39\x2c\x37\x33\
+\x20\x43\x20\x39\x38\x2e\x31\x34\x35\x36\x38\x37\x2c\x37\x31\x2e\
+\x34\x30\x33\x37\x30\x31\x20\x39\x38\x2e\x32\x33\x39\x35\x31\x2c\
+\x37\x31\x20\x39\x39\x2e\x34\x36\x34\x38\x31\x36\x2c\x37\x31\x20\
+\x31\x30\x30\x2e\x33\x33\x33\x33\x33\x2c\x37\x31\x20\x31\x30\x31\
+\x2c\x37\x31\x2e\x38\x36\x38\x35\x31\x37\x20\x31\x30\x31\x2c\x37\
+\x33\x20\x63\x20\x30\x2c\x31\x2e\x31\x20\x2d\x30\x2e\x32\x30\x39\
+\x31\x37\x2c\x32\x20\x2d\x30\x2e\x34\x36\x34\x38\x32\x2c\x32\x20\
+\x43\x20\x31\x30\x30\x2e\x32\x37\x39\x35\x33\x2c\x37\x35\x20\x39\
+\x39\x2e\x35\x38\x38\x37\x30\x32\x2c\x37\x34\x2e\x31\x20\x39\x39\
+\x2c\x37\x33\x20\x7a\x20\x6d\x20\x33\x2c\x2d\x32\x2e\x31\x33\x38\
+\x36\x37\x32\x20\x43\x20\x31\x30\x32\x2c\x37\x30\x2e\x33\x38\x37\
+\x35\x39\x38\x20\x31\x30\x33\x2e\x31\x32\x35\x2c\x37\x30\x20\x31\
+\x30\x34\x2e\x35\x2c\x37\x30\x20\x63\x20\x31\x2e\x33\x37\x35\x2c\
+\x30\x20\x32\x2e\x35\x2c\x30\x2e\x31\x37\x32\x35\x34\x20\x32\x2e\
+\x35\x2c\x30\x2e\x33\x38\x33\x34\x32\x33\x20\x30\x2c\x30\x2e\x32\
+\x31\x30\x38\x38\x32\x20\x2d\x31\x2e\x31\x32\x35\x2c\x30\x2e\x35\
+\x39\x38\x34\x38\x20\x2d\x32\x2e\x35\x2c\x30\x2e\x38\x36\x31\x33\
+\x32\x38\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x2e\x32\x36\x32\x38\
+\x34\x38\x20\x2d\x32\x2e\x35\x2c\x30\x2e\x30\x39\x30\x33\x31\x20\
+\x2d\x32\x2e\x35\x2c\x2d\x30\x2e\x33\x38\x33\x34\x32\x33\x20\x7a\
+\x20\x6d\x20\x32\x37\x2e\x37\x31\x37\x34\x31\x2c\x2d\x30\x2e\x34\
+\x37\x37\x32\x34\x39\x20\x63\x20\x2d\x30\x2e\x33\x33\x38\x37\x35\
+\x2c\x2d\x30\x2e\x33\x33\x38\x37\x35\x36\x20\x2d\x32\x2e\x31\x30\
+\x31\x32\x35\x2c\x2d\x30\x2e\x39\x33\x31\x31\x32\x31\x20\x2d\x33\
+\x2e\x39\x31\x36\x36\x36\x2c\x2d\x31\x2e\x33\x31\x36\x33\x36\x35\
+\x20\x2d\x32\x2e\x38\x38\x37\x36\x36\x2c\x2d\x30\x2e\x36\x31\x32\
+\x37\x38\x34\x20\x2d\x32\x2e\x33\x30\x30\x37\x38\x2c\x2d\x30\x2e\
+\x38\x35\x32\x32\x38\x37\x20\x34\x2e\x36\x38\x39\x33\x37\x2c\x2d\
+\x31\x2e\x39\x31\x33\x37\x31\x38\x20\x35\x2e\x34\x30\x34\x36\x33\
+\x2c\x2d\x30\x2e\x38\x32\x30\x36\x37\x34\x20\x38\x2e\x31\x30\x31\
+\x31\x38\x2c\x2d\x30\x2e\x38\x38\x30\x30\x39\x36\x20\x38\x2e\x33\
+\x33\x33\x33\x33\x2c\x2d\x30\x2e\x31\x38\x33\x36\x33\x34\x20\x30\
+\x2e\x31\x38\x38\x37\x37\x2c\x30\x2e\x35\x36\x36\x33\x30\x31\x20\
+\x31\x2e\x30\x30\x37\x32\x37\x2c\x31\x2e\x30\x32\x39\x36\x33\x38\
+\x20\x31\x2e\x38\x31\x38\x39\x2c\x31\x2e\x30\x32\x39\x36\x33\x38\
+\x20\x30\x2e\x38\x31\x31\x36\x33\x2c\x30\x20\x31\x2e\x32\x34\x32\
+\x36\x35\x2c\x2d\x30\x2e\x33\x37\x37\x30\x35\x39\x20\x30\x2e\x39\
+\x35\x37\x38\x33\x2c\x2d\x30\x2e\x38\x33\x37\x39\x30\x39\x20\x2d\
+\x30\x2e\x32\x38\x34\x38\x32\x2c\x2d\x30\x2e\x34\x36\x30\x38\x35\
+\x20\x31\x2e\x30\x31\x31\x38\x38\x2c\x2d\x30\x2e\x33\x35\x39\x31\
+\x30\x39\x20\x32\x2e\x38\x38\x31\x35\x36\x2c\x30\x2e\x32\x32\x36\
+\x30\x39\x31\x20\x31\x2e\x38\x36\x39\x36\x37\x2c\x30\x2e\x35\x38\
+\x35\x32\x20\x33\x2e\x32\x35\x39\x32\x37\x2c\x31\x2e\x32\x30\x34\
+\x31\x34\x31\x20\x33\x2e\x30\x38\x37\x39\x39\x2c\x31\x2e\x33\x37\
+\x35\x34\x32\x36\x20\x2d\x30\x2e\x31\x37\x31\x32\x39\x2c\x30\x2e\
+\x31\x37\x31\x32\x38\x34\x20\x2d\x32\x2e\x35\x30\x37\x30\x35\x2c\
+\x30\x2e\x35\x34\x39\x34\x35\x35\x20\x2d\x35\x2e\x31\x39\x30\x35\
+\x38\x2c\x30\x2e\x38\x34\x30\x33\x38\x31\x20\x2d\x32\x2e\x36\x38\
+\x33\x35\x33\x2c\x30\x2e\x32\x39\x30\x39\x32\x35\x20\x2d\x35\x2e\
+\x34\x36\x35\x30\x32\x2c\x30\x2e\x37\x31\x38\x38\x38\x38\x20\x2d\
+\x36\x2e\x31\x38\x31\x30\x39\x2c\x30\x2e\x39\x35\x31\x30\x32\x39\
+\x20\x2d\x30\x2e\x37\x31\x36\x30\x36\x2c\x30\x2e\x32\x33\x32\x31\
+\x34\x20\x2d\x31\x2e\x30\x32\x37\x30\x31\x2c\x2d\x30\x2e\x30\x32\
+\x32\x37\x37\x20\x2d\x30\x2e\x36\x39\x30\x39\x38\x2c\x2d\x30\x2e\
+\x35\x36\x36\x34\x37\x32\x20\x43\x20\x31\x33\x35\x2e\x38\x34\x33\
+\x31\x2c\x36\x39\x2e\x34\x34\x34\x38\x34\x36\x20\x31\x33\x35\x2e\
+\x34\x31\x36\x34\x38\x2c\x36\x39\x20\x31\x33\x34\x2e\x35\x35\x39\
+\x30\x32\x2c\x36\x39\x20\x31\x33\x33\x2e\x37\x30\x31\x35\x36\x2c\
+\x36\x39\x20\x31\x33\x33\x2c\x36\x39\x2e\x34\x35\x20\x31\x33\x33\
+\x2c\x37\x30\x20\x63\x20\x30\x2c\x31\x2e\x30\x39\x36\x36\x39\x34\
+\x20\x2d\x32\x2e\x33\x30\x30\x37\x37\x2c\x31\x2e\x33\x36\x35\x38\
+\x39\x35\x20\x2d\x33\x2e\x32\x38\x32\x35\x39\x2c\x30\x2e\x33\x38\
+\x34\x30\x37\x39\x20\x7a\x20\x4d\x20\x31\x30\x39\x2e\x38\x31\x32\
+\x35\x2c\x36\x39\x2e\x33\x31\x36\x38\x38\x36\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\x20\
+\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x34\
+\x34\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\
+\x35\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\
+\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\
+\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\
+\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\
+\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\x31\
+\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\x6d\x20\
+\x33\x39\x2e\x39\x35\x35\x39\x35\x2c\x2d\x31\x2e\x34\x38\x35\x33\
+\x33\x36\x20\x63\x20\x30\x2e\x35\x38\x31\x31\x2c\x2d\x30\x2e\x35\
+\x38\x31\x31\x30\x32\x20\x31\x2e\x36\x34\x36\x38\x32\x2c\x2d\x30\
+\x2e\x38\x35\x39\x37\x39\x34\x20\x32\x2e\x33\x36\x38\x32\x36\x2c\
+\x2d\x30\x2e\x36\x31\x39\x33\x31\x33\x20\x30\x2e\x37\x34\x38\x39\
+\x35\x2c\x30\x2e\x32\x34\x39\x36\x34\x38\x20\x30\x2e\x32\x39\x35\
+\x36\x35\x2c\x30\x2e\x37\x30\x32\x39\x34\x31\x20\x2d\x31\x2e\x30\
+\x35\x36\x35\x35\x2c\x31\x2e\x30\x35\x36\x35\x35\x20\x2d\x31\x2e\
+\x36\x36\x33\x33\x35\x2c\x30\x2e\x34\x33\x34\x39\x37\x34\x20\x2d\
+\x32\x2e\x30\x35\x33\x37\x38\x2c\x30\x2e\x33\x30\x34\x38\x33\x31\
+\x20\x2d\x31\x2e\x33\x31\x31\x37\x31\x2c\x2d\x30\x2e\x34\x33\x37\
+\x32\x33\x37\x20\x7a\x20\x4d\x20\x31\x34\x35\x2e\x37\x35\x2c\x36\
+\x35\x2e\x32\x38\x33\x31\x35\x32\x20\x63\x20\x30\x2e\x36\x38\x37\
+\x35\x2c\x2d\x30\x2e\x32\x33\x36\x33\x39\x20\x31\x2e\x32\x35\x2c\
+\x2d\x31\x2e\x33\x32\x36\x36\x39\x35\x20\x31\x2e\x32\x35\x2c\x2d\
+\x32\x2e\x34\x32\x32\x38\x39\x39\x20\x30\x2c\x2d\x31\x2e\x35\x34\
+\x39\x31\x37\x35\x20\x30\x2e\x35\x36\x33\x37\x35\x2c\x2d\x31\x2e\
+\x39\x32\x32\x36\x32\x31\x20\x32\x2e\x35\x33\x31\x30\x39\x2c\x2d\
+\x31\x2e\x36\x37\x36\x36\x37\x35\x20\x31\x2e\x33\x39\x32\x31\x2c\
+\x30\x2e\x31\x37\x34\x30\x33\x32\x20\x32\x2e\x34\x38\x33\x38\x2c\
+\x30\x2e\x37\x34\x38\x38\x35\x32\x20\x32\x2e\x34\x32\x36\x2c\x31\
+\x2e\x32\x37\x37\x33\x37\x39\x20\x2d\x30\x2e\x30\x35\x37\x38\x2c\
+\x30\x2e\x35\x32\x38\x35\x32\x36\x20\x30\x2e\x37\x31\x35\x37\x31\
+\x2c\x31\x2e\x32\x38\x34\x33\x39\x37\x20\x31\x2e\x37\x31\x38\x39\
+\x31\x2c\x31\x2e\x36\x37\x39\x37\x31\x34\x20\x31\x2e\x33\x30\x32\
+\x36\x2c\x30\x2e\x35\x31\x33\x32\x39\x38\x20\x30\x2e\x38\x32\x33\
+\x35\x31\x2c\x30\x2e\x37\x34\x32\x37\x35\x33\x20\x2d\x31\x2e\x36\
+\x37\x36\x2c\x30\x2e\x38\x30\x32\x36\x39\x38\x20\x2d\x31\x2e\x39\
+\x32\x35\x2c\x30\x2e\x30\x34\x36\x31\x37\x20\x2d\x34\x2e\x34\x2c\
+\x30\x2e\x32\x33\x38\x32\x31\x20\x2d\x35\x2e\x35\x2c\x30\x2e\x34\
+\x32\x36\x37\x36\x32\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x31\x38\x38\
+\x35\x35\x32\x20\x2d\x31\x2e\x34\x33\x37\x35\x2c\x30\x2e\x31\x34\
+\x39\x34\x31\x32\x20\x2d\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x30\x38\
+\x36\x39\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x32\x38\x32\x34\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x38\x34\x37\
+\x62\x37\x62\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x31\x30\x31\x2e\x37\x32\x33\x38\x33\x2c\x31\x38\x36\x2e\x37\
+\x32\x32\x37\x20\x63\x20\x2d\x30\x2e\x33\x36\x32\x34\x35\x2c\x2d\
+\x30\x2e\x39\x34\x34\x35\x34\x20\x30\x2e\x35\x34\x32\x38\x33\x2c\
+\x2d\x31\x2e\x33\x35\x38\x37\x39\x20\x33\x2e\x31\x33\x33\x32\x32\
+\x2c\x2d\x31\x2e\x34\x33\x33\x37\x32\x20\x32\x2e\x30\x30\x33\x36\
+\x32\x2c\x2d\x30\x2e\x30\x35\x38\x20\x32\x2e\x37\x34\x32\x39\x35\
+\x2c\x30\x2e\x31\x32\x36\x37\x34\x20\x31\x2e\x36\x34\x32\x39\x35\
+\x2c\x30\x2e\x34\x31\x30\x34\x33\x20\x2d\x31\x2e\x31\x2c\x30\x2e\
+\x32\x38\x33\x36\x39\x20\x2d\x32\x2e\x35\x30\x39\x39\x35\x2c\x30\
+\x2e\x39\x32\x38\x38\x37\x20\x2d\x33\x2e\x31\x33\x33\x32\x32\x2c\
+\x31\x2e\x34\x33\x33\x37\x32\x20\x2d\x30\x2e\x37\x32\x34\x37\x37\
+\x2c\x30\x2e\x35\x38\x37\x30\x38\x20\x2d\x31\x2e\x33\x31\x36\x39\
+\x33\x2c\x30\x2e\x34\x33\x39\x31\x35\x20\x2d\x31\x2e\x36\x34\x32\
+\x39\x35\x2c\x2d\x30\x2e\x34\x31\x30\x34\x33\x20\x7a\x20\x4d\x20\
+\x31\x30\x32\x2e\x32\x2c\x31\x37\x33\x2e\x38\x20\x63\x20\x2d\x31\
+\x2e\x37\x30\x30\x33\x36\x2c\x2d\x31\x2e\x37\x30\x30\x33\x36\x20\
+\x2d\x31\x2e\x34\x39\x36\x30\x38\x2c\x2d\x32\x2e\x34\x38\x39\x33\
+\x31\x20\x30\x2e\x38\x2c\x2d\x33\x2e\x30\x38\x39\x37\x35\x20\x31\
+\x2e\x31\x2c\x2d\x30\x2e\x32\x38\x37\x36\x36\x20\x32\x2c\x2d\x30\
+\x2e\x31\x31\x35\x31\x34\x20\x32\x2c\x30\x2e\x33\x38\x33\x33\x37\
+\x20\x30\x2c\x30\x2e\x34\x39\x38\x35\x31\x20\x2d\x30\x2e\x37\x33\
+\x30\x31\x2c\x30\x2e\x39\x30\x36\x33\x38\x20\x2d\x31\x2e\x36\x32\
+\x32\x34\x34\x2c\x30\x2e\x39\x30\x36\x33\x38\x20\x2d\x31\x2e\x33\
+\x32\x38\x38\x2c\x30\x20\x2d\x31\x2e\x33\x39\x37\x31\x33\x2c\x30\
+\x2e\x32\x37\x31\x34\x39\x20\x2d\x30\x2e\x33\x37\x37\x35\x36\x2c\
+\x31\x2e\x35\x20\x31\x2e\x34\x38\x34\x35\x38\x2c\x31\x2e\x37\x38\
+\x38\x38\x31\x20\x30\x2e\x39\x30\x35\x38\x34\x2c\x32\x2e\x30\x30\
+\x35\x38\x34\x20\x2d\x30\x2e\x38\x2c\x30\x2e\x33\x20\x7a\x20\x6d\
+\x20\x34\x31\x2e\x32\x32\x39\x30\x33\x2c\x2d\x31\x34\x2e\x38\x39\
+\x34\x33\x39\x20\x43\x20\x31\x34\x34\x2e\x38\x34\x33\x30\x37\x2c\
+\x31\x35\x36\x2e\x39\x32\x38\x36\x39\x20\x31\x34\x36\x2c\x31\x35\
+\x34\x2e\x35\x36\x36\x31\x39\x20\x31\x34\x36\x2c\x31\x35\x33\x2e\
+\x36\x35\x35\x36\x31\x20\x31\x34\x36\x2c\x31\x35\x32\x2e\x37\x34\
+\x35\x30\x32\x20\x31\x34\x36\x2e\x34\x32\x33\x34\x34\x2c\x31\x35\
+\x32\x20\x31\x34\x36\x2e\x39\x34\x30\x39\x38\x2c\x31\x35\x32\x20\
+\x63\x20\x32\x2e\x33\x31\x31\x39\x35\x2c\x30\x20\x31\x2e\x36\x34\
+\x37\x34\x32\x2c\x31\x2e\x39\x34\x34\x36\x39\x20\x2d\x32\x2e\x30\
+\x37\x30\x36\x34\x2c\x36\x2e\x30\x35\x39\x35\x34\x20\x2d\x33\x2e\
+\x33\x31\x33\x39\x2c\x33\x2e\x36\x36\x37\x35\x35\x20\x2d\x33\x2e\
+\x35\x36\x34\x37\x37\x2c\x33\x2e\x38\x31\x34\x38\x32\x20\x2d\x31\
+\x2e\x34\x34\x31\x33\x31\x2c\x30\x2e\x38\x34\x36\x30\x37\x20\x7a\
+\x20\x6d\x20\x2d\x34\x32\x2e\x32\x35\x30\x38\x39\x2c\x30\x2e\x38\
+\x37\x32\x35\x33\x20\x43\x20\x31\x30\x30\x2e\x30\x30\x36\x37\x33\
+\x2c\x31\x35\x38\x2e\x36\x30\x36\x37\x33\x20\x31\x30\x30\x2e\x37\
+\x32\x31\x34\x31\x2c\x31\x35\x36\x20\x31\x30\x32\x2e\x32\x31\x33\
+\x39\x38\x2c\x31\x35\x36\x20\x63\x20\x30\x2e\x35\x35\x2c\x30\x20\
+\x30\x2e\x37\x31\x36\x35\x35\x2c\x30\x2e\x37\x33\x38\x36\x35\x20\
+\x30\x2e\x33\x37\x30\x31\x32\x2c\x31\x2e\x36\x34\x31\x34\x34\x20\
+\x2d\x30\x2e\x35\x33\x30\x35\x37\x2c\x31\x2e\x33\x38\x32\x36\x33\
+\x20\x2d\x30\x2e\x33\x38\x35\x39\x35\x2c\x31\x2e\x34\x33\x39\x20\
+\x30\x2e\x39\x31\x37\x31\x37\x2c\x30\x2e\x33\x35\x37\x35\x20\x32\
+\x2e\x31\x37\x33\x39\x33\x2c\x2d\x31\x2e\x38\x30\x34\x32\x20\x32\
+\x2e\x35\x33\x32\x36\x35\x2c\x2d\x30\x2e\x38\x34\x38\x35\x34\x20\
+\x30\x2e\x34\x33\x32\x30\x36\x2c\x31\x2e\x31\x35\x31\x30\x36\x20\
+\x2d\x31\x2e\x31\x38\x30\x32\x37\x2c\x31\x2e\x31\x32\x33\x35\x33\
+\x20\x2d\x32\x2e\x30\x35\x39\x33\x38\x2c\x31\x2e\x33\x32\x33\x39\
+\x35\x20\x2d\x32\x2e\x37\x35\x35\x31\x39\x2c\x30\x2e\x36\x32\x38\
+\x31\x34\x20\x7a\x20\x6d\x20\x36\x2e\x36\x33\x34\x33\x36\x2c\x2d\
+\x33\x2e\x34\x36\x31\x32\x35\x20\x63\x20\x30\x2e\x37\x32\x31\x38\
+\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\
+\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\
+\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\
+\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\
+\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\
+\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\
+\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\
+\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\
+\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\
+\x20\x6d\x20\x33\x34\x2e\x34\x37\x32\x32\x32\x2c\x2d\x32\x2e\x36\
+\x37\x31\x30\x36\x20\x43\x20\x31\x34\x32\x2e\x38\x32\x39\x35\x38\
+\x2c\x31\x35\x32\x2e\x30\x31\x31\x32\x37\x20\x31\x34\x35\x2c\x31\
+\x35\x31\x2e\x36\x39\x34\x38\x37\x20\x31\x34\x35\x2c\x31\x35\x33\
+\x2e\x32\x35\x20\x63\x20\x30\x2c\x30\x2e\x37\x37\x39\x31\x37\x20\
+\x2d\x30\x2e\x36\x38\x37\x35\x2c\x31\x2e\x34\x31\x36\x36\x37\x20\
+\x2d\x31\x2e\x35\x32\x37\x37\x38\x2c\x31\x2e\x34\x31\x36\x36\x37\
+\x20\x2d\x30\x2e\x38\x34\x30\x32\x38\x2c\x30\x20\x2d\x31\x2e\x33\
+\x37\x34\x36\x35\x2c\x2d\x30\x2e\x34\x35\x39\x33\x38\x20\x2d\x31\
+\x2e\x31\x38\x37\x35\x2c\x2d\x31\x2e\x30\x32\x30\x38\x34\x20\x7a\
+\x20\x4d\x20\x39\x39\x2e\x32\x31\x33\x31\x39\x39\x2c\x31\x34\x33\
+\x2e\x33\x36\x35\x31\x34\x20\x63\x20\x2d\x31\x2e\x34\x36\x38\x31\
+\x39\x37\x2c\x2d\x31\x2e\x31\x31\x35\x34\x20\x2d\x30\x2e\x39\x32\
+\x36\x36\x35\x31\x2c\x2d\x31\x2e\x32\x38\x34\x36\x35\x20\x33\x2e\
+\x37\x38\x36\x38\x30\x31\x2c\x2d\x31\x2e\x31\x38\x33\x35\x20\x33\
+\x2e\x30\x32\x35\x2c\x30\x2e\x30\x36\x34\x39\x20\x34\x2e\x32\x35\
+\x34\x38\x37\x2c\x30\x2e\x33\x30\x36\x32\x33\x20\x32\x2e\x37\x33\
+\x33\x30\x35\x2c\x30\x2e\x35\x33\x36\x32\x35\x20\x2d\x31\x2e\x35\
+\x32\x31\x38\x33\x2c\x30\x2e\x32\x33\x30\x30\x32\x20\x2d\x32\x2e\
+\x35\x35\x34\x31\x32\x2c\x30\x2e\x37\x36\x32\x36\x20\x2d\x32\x2e\
+\x32\x39\x33\x39\x39\x2c\x31\x2e\x31\x38\x33\x35\x20\x30\x2e\x37\
+\x38\x31\x32\x35\x2c\x31\x2e\x32\x36\x34\x31\x20\x2d\x32\x2e\x33\
+\x38\x34\x39\x33\x2c\x30\x2e\x38\x36\x32\x33\x31\x20\x2d\x34\x2e\
+\x32\x32\x35\x38\x36\x31\x2c\x2d\x30\x2e\x35\x33\x36\x32\x35\x20\
+\x7a\x20\x6d\x20\x34\x36\x2e\x33\x37\x32\x31\x36\x31\x2c\x2d\x32\
+\x2e\x32\x32\x37\x30\x32\x20\x63\x20\x2d\x30\x2e\x33\x35\x32\x32\
+\x2c\x2d\x30\x2e\x35\x36\x39\x38\x38\x20\x2d\x31\x2e\x39\x37\x32\
+\x31\x34\x2c\x2d\x30\x2e\x38\x36\x37\x36\x20\x2d\x33\x2e\x35\x39\
+\x39\x38\x37\x2c\x2d\x30\x2e\x36\x36\x31\x36\x20\x2d\x31\x2e\x36\
+\x32\x37\x37\x32\x2c\x30\x2e\x32\x30\x36\x30\x31\x20\x2d\x33\x2e\
+\x31\x38\x33\x30\x34\x2c\x30\x2e\x30\x31\x32\x39\x20\x2d\x33\x2e\
+\x34\x35\x36\x32\x36\x2c\x2d\x30\x2e\x34\x32\x39\x32\x33\x20\x2d\
+\x30\x2e\x36\x30\x33\x35\x39\x2c\x2d\x30\x2e\x39\x37\x36\x36\x32\
+\x20\x35\x2e\x32\x39\x33\x35\x38\x2c\x2d\x32\x2e\x32\x37\x34\x38\
+\x33\x20\x36\x2e\x36\x31\x37\x32\x38\x2c\x2d\x31\x2e\x34\x35\x36\
+\x37\x34\x20\x30\x2e\x35\x31\x37\x36\x31\x2c\x30\x2e\x33\x31\x39\
+\x39\x20\x31\x2e\x35\x36\x30\x32\x36\x2c\x30\x2e\x30\x36\x37\x38\
+\x20\x32\x2e\x33\x31\x37\x2c\x2d\x30\x2e\x35\x36\x30\x32\x37\x20\
+\x31\x2e\x30\x37\x33\x33\x38\x2c\x2d\x30\x2e\x38\x39\x30\x38\x32\
+\x20\x31\x2e\x33\x32\x35\x33\x37\x2c\x2d\x30\x2e\x37\x39\x37\x35\
+\x39\x20\x31\x2e\x31\x34\x36\x30\x37\x2c\x30\x2e\x34\x32\x34\x30\
+\x34\x20\x2d\x30\x2e\x33\x33\x35\x30\x32\x2c\x32\x2e\x32\x38\x32\
+\x36\x38\x20\x2d\x32\x2e\x32\x33\x31\x38\x2c\x33\x2e\x39\x36\x35\
+\x39\x36\x20\x2d\x33\x2e\x30\x32\x34\x32\x32\x2c\x32\x2e\x36\x38\
+\x33\x38\x20\x7a\x20\x4d\x20\x39\x39\x2e\x36\x36\x36\x36\x36\x37\
+\x2c\x31\x33\x30\x2e\x33\x33\x33\x33\x33\x20\x43\x20\x39\x38\x2e\
+\x32\x30\x38\x34\x37\x2c\x31\x32\x38\x2e\x38\x37\x35\x31\x34\x20\
+\x39\x39\x2e\x31\x35\x35\x32\x39\x31\x2c\x31\x32\x38\x20\x31\x30\
+\x32\x2e\x31\x39\x31\x31\x33\x2c\x31\x32\x38\x20\x63\x20\x33\x2e\
+\x30\x32\x30\x35\x38\x2c\x30\x20\x33\x2e\x30\x38\x37\x33\x39\x2c\
+\x30\x2e\x30\x37\x38\x35\x20\x31\x2e\x32\x35\x2c\x31\x2e\x34\x36\
+\x38\x32\x20\x2d\x32\x2e\x32\x30\x33\x31\x32\x2c\x31\x2e\x36\x36\
+\x36\x33\x35\x20\x2d\x32\x2e\x38\x32\x39\x36\x34\x2c\x31\x2e\x38\
+\x30\x39\x39\x35\x20\x2d\x33\x2e\x37\x37\x34\x34\x36\x33\x2c\x30\
+\x2e\x38\x36\x35\x31\x33\x20\x7a\x20\x6d\x20\x34\x30\x2e\x36\x39\
+\x38\x38\x32\x33\x2c\x2d\x35\x2e\x39\x31\x34\x31\x39\x20\x63\x20\
+\x32\x2e\x31\x32\x36\x30\x33\x2c\x2d\x30\x2e\x37\x36\x36\x39\x33\
+\x20\x34\x2e\x32\x33\x35\x38\x37\x2c\x2d\x31\x2e\x31\x36\x35\x35\
+\x31\x20\x34\x2e\x36\x38\x38\x35\x34\x2c\x2d\x30\x2e\x38\x38\x35\
+\x37\x35\x20\x30\x2e\x34\x35\x32\x36\x38\x2c\x30\x2e\x32\x37\x39\
+\x37\x37\x20\x31\x2e\x32\x38\x37\x30\x32\x2c\x2d\x30\x2e\x32\x38\
+\x38\x32\x39\x20\x31\x2e\x38\x35\x34\x31\x2c\x2d\x31\x2e\x32\x36\
+\x32\x33\x36\x20\x30\x2e\x35\x36\x37\x30\x38\x2c\x2d\x30\x2e\x39\
+\x37\x34\x30\x37\x20\x31\x2e\x30\x33\x30\x34\x33\x2c\x2d\x31\x2e\
+\x33\x32\x31\x30\x33\x20\x31\x2e\x30\x32\x39\x36\x36\x2c\x2d\x30\
+\x2e\x37\x37\x31\x30\x33\x20\x2d\x30\x2e\x30\x30\x33\x2c\x32\x2e\
+\x34\x38\x33\x36\x33\x20\x2d\x32\x2e\x36\x36\x38\x30\x38\x2c\x34\
+\x2e\x30\x39\x37\x38\x33\x20\x2d\x36\x2e\x39\x33\x37\x37\x39\x2c\
+\x34\x2e\x32\x30\x32\x38\x36\x20\x6c\x20\x2d\x34\x2e\x35\x2c\x30\
+\x2e\x31\x31\x30\x36\x39\x20\x33\x2e\x38\x36\x35\x34\x39\x2c\x2d\
+\x31\x2e\x33\x39\x34\x34\x31\x20\x7a\x20\x4d\x20\x31\x34\x38\x2c\
+\x31\x32\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\
+\x34\x37\x36\x35\x36\x2c\x2d\x31\x20\x31\x2e\x30\x35\x39\x30\x32\
+\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x30\x2e\
+\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\x30\x2e\x34\x34\x30\x39\
+\x38\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\
+\x35\x20\x2d\x30\x2e\x38\x31\x36\x34\x38\x2c\x31\x20\x2d\x31\x2e\
+\x30\x35\x39\x30\x32\x2c\x31\x20\x43\x20\x31\x34\x38\x2e\x31\x39\
+\x38\x34\x34\x2c\x31\x32\x36\x20\x31\x34\x38\x2c\x31\x32\x35\x2e\
+\x35\x35\x20\x31\x34\x38\x2c\x31\x32\x35\x20\x7a\x20\x4d\x20\x39\
+\x39\x2c\x31\x31\x33\x20\x63\x20\x30\x2c\x2d\x31\x2e\x32\x35\x32\
+\x39\x32\x20\x31\x2e\x30\x36\x31\x32\x34\x2c\x2d\x31\x2e\x32\x35\
+\x32\x39\x32\x20\x33\x2c\x30\x20\x31\x2e\x32\x31\x32\x39\x36\x2c\
+\x30\x2e\x37\x38\x33\x38\x37\x20\x31\x2e\x30\x36\x39\x34\x34\x2c\
+\x30\x2e\x39\x37\x32\x33\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x39\
+\x38\x34\x36\x39\x20\x43\x20\x31\x30\x30\x2e\x30\x31\x32\x35\x2c\
+\x31\x31\x33\x2e\x39\x39\x33\x31\x31\x20\x39\x39\x2c\x31\x31\x33\
+\x2e\x35\x35\x20\x39\x39\x2c\x31\x31\x33\x20\x7a\x20\x6d\x20\x34\
+\x31\x2e\x35\x2c\x2d\x33\x2e\x31\x30\x32\x30\x34\x20\x63\x20\x2d\
+\x32\x2e\x39\x30\x31\x31\x36\x2c\x2d\x30\x2e\x34\x34\x35\x34\x33\
+\x20\x2d\x33\x2e\x33\x31\x33\x32\x32\x2c\x2d\x30\x2e\x36\x38\x38\
+\x31\x39\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x38\x38\x33\x36\x38\
+\x20\x31\x2e\x33\x37\x35\x2c\x2d\x30\x2e\x31\x34\x38\x32\x34\x20\
+\x33\x2e\x34\x37\x32\x39\x2c\x2d\x30\x2e\x33\x37\x33\x37\x36\x20\
+\x34\x2e\x36\x36\x32\x2c\x2d\x30\x2e\x35\x30\x31\x31\x35\x20\x31\
+\x2e\x31\x38\x39\x31\x2c\x2d\x30\x2e\x31\x32\x37\x33\x39\x20\x32\
+\x2e\x38\x34\x33\x37\x2c\x2d\x30\x2e\x34\x39\x33\x32\x31\x20\x33\
+\x2e\x36\x37\x36\x38\x39\x2c\x2d\x30\x2e\x38\x31\x32\x39\x33\x20\
+\x31\x2e\x38\x34\x32\x37\x33\x2c\x2d\x30\x2e\x37\x30\x37\x31\x32\
+\x20\x34\x2e\x32\x38\x39\x31\x37\x2c\x31\x2e\x37\x39\x33\x36\x20\
+\x32\x2e\x37\x30\x39\x36\x37\x2c\x32\x2e\x37\x36\x39\x37\x39\x20\
+\x2d\x30\x2e\x35\x37\x36\x37\x31\x2c\x30\x2e\x33\x35\x36\x34\x32\
+\x20\x2d\x31\x2e\x30\x34\x38\x35\x36\x2c\x30\x2e\x32\x32\x31\x34\
+\x39\x20\x2d\x31\x2e\x30\x34\x38\x35\x36\x2c\x2d\x30\x2e\x32\x39\
+\x39\x38\x36\x20\x30\x2c\x2d\x30\x2e\x39\x36\x32\x39\x31\x20\x2d\
+\x33\x2e\x30\x38\x35\x36\x37\x2c\x2d\x31\x2e\x30\x38\x39\x34\x38\
+\x20\x2d\x34\x2c\x2d\x30\x2e\x31\x36\x34\x30\x37\x20\x2d\x30\x2e\
+\x32\x37\x35\x2c\x30\x2e\x32\x37\x38\x33\x33\x20\x2d\x32\x2e\x33\
+\x2c\x30\x2e\x32\x32\x39\x36\x39\x20\x2d\x34\x2e\x35\x2c\x2d\x30\
+\x2e\x31\x30\x38\x31\x20\x7a\x20\x6d\x20\x2d\x34\x30\x2e\x38\x33\
+\x33\x33\x33\x33\x2c\x2d\x38\x2e\x35\x36\x34\x36\x33\x20\x63\x20\
+\x2d\x31\x2e\x33\x33\x30\x39\x31\x36\x2c\x2d\x31\x2e\x33\x33\x30\
+\x39\x31\x20\x2d\x30\x2e\x36\x31\x36\x39\x34\x39\x2c\x2d\x32\x2e\
+\x33\x33\x30\x37\x36\x37\x20\x31\x2e\x35\x38\x33\x33\x33\x33\x2c\
+\x2d\x32\x2e\x32\x31\x37\x33\x32\x39\x20\x31\x2e\x37\x31\x32\x32\
+\x34\x2c\x30\x2e\x30\x38\x38\x32\x38\x20\x31\x2e\x38\x32\x38\x38\
+\x31\x2c\x30\x2e\x32\x32\x35\x38\x36\x38\x20\x30\x2e\x34\x38\x37\
+\x37\x36\x2c\x30\x2e\x35\x37\x35\x36\x38\x32\x20\x2d\x30\x2e\x39\
+\x36\x39\x32\x34\x2c\x30\x2e\x32\x35\x32\x38\x32\x35\x20\x2d\x31\
+\x2e\x35\x30\x35\x31\x38\x2c\x30\x2e\x38\x37\x35\x36\x32\x37\x20\
+\x2d\x31\x2e\x31\x39\x30\x39\x39\x2c\x31\x2e\x33\x38\x33\x39\x39\
+\x37\x20\x30\x2e\x36\x36\x31\x34\x36\x2c\x31\x2e\x30\x37\x30\x32\
+\x36\x20\x30\x2e\x30\x39\x37\x36\x2c\x31\x2e\x32\x33\x35\x33\x33\
+\x20\x2d\x30\x2e\x38\x38\x30\x31\x30\x33\x2c\x30\x2e\x32\x35\x37\
+\x36\x35\x20\x7a\x20\x6d\x20\x34\x31\x2e\x38\x34\x35\x33\x37\x33\
+\x2c\x2d\x35\x2e\x39\x36\x35\x37\x39\x20\x63\x20\x31\x2e\x32\x39\
+\x35\x30\x39\x2c\x2d\x30\x2e\x39\x34\x36\x39\x39\x35\x20\x33\x2e\
+\x34\x34\x39\x31\x35\x2c\x2d\x31\x2e\x32\x38\x33\x32\x35\x31\x20\
+\x36\x2e\x32\x34\x38\x35\x33\x2c\x2d\x30\x2e\x39\x37\x35\x34\x31\
+\x38\x20\x32\x2e\x35\x30\x31\x35\x2c\x30\x2e\x32\x37\x35\x30\x37\
+\x36\x20\x34\x2e\x30\x33\x33\x36\x35\x2c\x30\x2e\x30\x38\x33\x39\
+\x34\x20\x33\x2e\x36\x39\x36\x37\x36\x2c\x2d\x30\x2e\x34\x36\x31\
+\x31\x37\x20\x43\x20\x31\x35\x31\x2e\x31\x34\x30\x38\x38\x2c\x39\
+\x33\x2e\x34\x31\x38\x39\x32\x38\x20\x31\x35\x31\x2e\x33\x35\x38\
+\x35\x32\x2c\x39\x33\x20\x31\x35\x31\x2e\x39\x34\x30\x39\x38\x2c\
+\x39\x33\x20\x63\x20\x31\x2e\x32\x38\x36\x30\x35\x2c\x30\x20\x31\
+\x2e\x34\x30\x32\x38\x32\x2c\x31\x2e\x36\x36\x39\x34\x38\x36\x20\
+\x30\x2e\x31\x37\x30\x30\x36\x2c\x32\x2e\x34\x33\x31\x33\x37\x34\
+\x20\x2d\x30\x2e\x34\x38\x38\x39\x33\x2c\x30\x2e\x33\x30\x32\x31\
+\x37\x34\x20\x2d\x33\x2e\x35\x31\x38\x34\x32\x2c\x30\x2e\x37\x33\
+\x36\x35\x39\x38\x20\x2d\x36\x2e\x37\x33\x32\x32\x2c\x30\x2e\x39\
+\x36\x35\x33\x38\x36\x20\x2d\x35\x2e\x32\x38\x38\x38\x35\x2c\x30\
+\x2e\x33\x37\x36\x35\x31\x33\x20\x2d\x35\x2e\x36\x35\x35\x37\x32\
+\x2c\x30\x2e\x32\x37\x38\x38\x36\x34\x20\x2d\x33\x2e\x38\x36\x36\
+\x38\x2c\x2d\x31\x2e\x30\x32\x39\x32\x32\x20\x7a\x20\x4d\x20\x39\
+\x39\x2c\x38\x35\x2e\x35\x33\x35\x31\x38\x34\x20\x43\x20\x39\x39\
+\x2c\x38\x34\x2e\x36\x36\x36\x36\x36\x37\x20\x39\x39\x2e\x38\x36\
+\x38\x35\x31\x37\x2c\x38\x34\x20\x31\x30\x31\x2c\x38\x34\x20\x63\
+\x20\x31\x2e\x31\x2c\x30\x20\x32\x2c\x30\x2e\x32\x30\x39\x31\x36\
+\x37\x20\x32\x2c\x30\x2e\x34\x36\x34\x38\x31\x36\x20\x30\x2c\x30\
+\x2e\x32\x35\x35\x36\x34\x39\x20\x2d\x30\x2e\x39\x2c\x30\x2e\x39\
+\x34\x36\x34\x38\x32\x20\x2d\x32\x2c\x31\x2e\x35\x33\x35\x31\x38\
+\x34\x20\x2d\x31\x2e\x35\x39\x36\x32\x39\x39\x2c\x30\x2e\x38\x35\
+\x34\x33\x31\x33\x20\x2d\x32\x2c\x30\x2e\x37\x36\x30\x34\x39\x20\
+\x2d\x32\x2c\x2d\x30\x2e\x34\x36\x34\x38\x31\x36\x20\x7a\x20\x6d\
+\x20\x34\x31\x2e\x39\x37\x36\x34\x39\x2c\x2d\x34\x2e\x36\x30\x35\
+\x35\x31\x36\x20\x63\x20\x31\x2e\x33\x36\x32\x30\x38\x2c\x2d\x30\
+\x2e\x35\x36\x38\x30\x33\x35\x20\x33\x2e\x35\x33\x37\x32\x38\x2c\
+\x2d\x30\x2e\x37\x36\x36\x35\x35\x32\x20\x34\x2e\x38\x33\x33\x37\
+\x39\x2c\x2d\x30\x2e\x34\x34\x31\x31\x34\x38\x20\x31\x2e\x35\x30\
+\x32\x31\x35\x2c\x30\x2e\x33\x37\x37\x30\x31\x34\x20\x32\x2e\x31\
+\x32\x34\x31\x31\x2c\x30\x2e\x32\x31\x34\x33\x33\x35\x20\x31\x2e\
+\x37\x31\x34\x34\x39\x2c\x2d\x30\x2e\x34\x34\x38\x34\x33\x38\x20\
+\x43\x20\x31\x34\x37\x2e\x31\x34\x35\x31\x39\x2c\x37\x39\x2e\x34\
+\x32\x35\x39\x31\x33\x20\x31\x34\x37\x2e\x39\x30\x35\x37\x31\x2c\
+\x37\x39\x20\x31\x34\x39\x2e\x33\x38\x31\x39\x37\x2c\x37\x39\x20\
+\x63\x20\x32\x2e\x37\x33\x35\x35\x35\x2c\x30\x20\x34\x2e\x33\x35\
+\x30\x35\x33\x2c\x31\x2e\x35\x32\x36\x31\x37\x31\x20\x32\x2e\x33\
+\x36\x32\x32\x39\x2c\x32\x2e\x32\x33\x32\x33\x38\x34\x20\x2d\x30\
+\x2e\x36\x38\x34\x33\x34\x2c\x30\x2e\x32\x34\x33\x30\x37\x35\x20\
+\x2d\x33\x2e\x39\x34\x34\x32\x36\x2c\x30\x2e\x35\x30\x36\x37\x38\
+\x32\x20\x2d\x37\x2e\x32\x34\x34\x32\x36\x2c\x30\x2e\x35\x38\x36\
+\x30\x31\x35\x20\x2d\x34\x2e\x39\x37\x37\x39\x31\x2c\x30\x2e\x31\
+\x31\x39\x35\x31\x39\x20\x2d\x35\x2e\x35\x37\x38\x31\x33\x2c\x2d\
+\x30\x2e\x30\x33\x31\x38\x37\x20\x2d\x33\x2e\x35\x32\x33\x35\x31\
+\x2c\x2d\x30\x2e\x38\x38\x38\x37\x33\x31\x20\x7a\x20\x4d\x20\x39\
+\x39\x2e\x35\x2c\x37\x31\x20\x43\x20\x39\x37\x2e\x35\x39\x31\x36\
+\x34\x34\x2c\x37\x30\x2e\x31\x37\x39\x39\x35\x31\x20\x39\x37\x2e\
+\x36\x30\x33\x30\x39\x39\x2c\x37\x30\x2e\x31\x33\x37\x33\x35\x20\
+\x39\x39\x2e\x37\x35\x2c\x37\x30\x2e\x30\x37\x30\x32\x38\x35\x20\
+\x31\x30\x30\x2e\x39\x38\x37\x35\x2c\x37\x30\x2e\x30\x33\x31\x36\
+\x32\x38\x20\x31\x30\x32\x2c\x37\x30\x2e\x34\x35\x20\x31\x30\x32\
+\x2c\x37\x31\x20\x63\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\
+\x31\x31\x32\x35\x2c\x30\x2e\x39\x36\x38\x33\x37\x32\x20\x2d\x30\
+\x2e\x32\x35\x2c\x30\x2e\x39\x32\x39\x37\x31\x35\x20\x43\x20\x31\
+\x30\x31\x2e\x36\x31\x32\x35\x2c\x37\x31\x2e\x38\x39\x31\x30\x35\
+\x38\x20\x31\x30\x30\x2e\x36\x2c\x37\x31\x2e\x34\x37\x32\x36\x38\
+\x36\x20\x39\x39\x2e\x35\x2c\x37\x31\x20\x7a\x20\x4d\x20\x31\x33\
+\x39\x2c\x36\x36\x2e\x39\x36\x32\x37\x38\x39\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x34\x36\x31\x35\x39\x31\x20\x31\x2e\x39\x38\x32\x31\
+\x39\x2c\x2d\x30\x2e\x37\x35\x34\x35\x35\x31\x20\x34\x2e\x34\x30\
+\x34\x38\x37\x2c\x2d\x30\x2e\x36\x35\x31\x30\x32\x33\x20\x32\x2e\
+\x34\x32\x32\x36\x38\x2c\x30\x2e\x31\x30\x33\x35\x32\x39\x20\x34\
+\x2e\x32\x30\x36\x35\x34\x2c\x2d\x30\x2e\x31\x33\x32\x34\x31\x37\
+\x20\x33\x2e\x39\x36\x34\x31\x33\x2c\x2d\x30\x2e\x35\x32\x34\x33\
+\x32\x34\x20\x2d\x30\x2e\x32\x34\x32\x34\x32\x2c\x2d\x30\x2e\x33\
+\x39\x31\x39\x30\x37\x20\x30\x2e\x39\x32\x34\x35\x2c\x2d\x30\x2e\
+\x36\x31\x36\x39\x30\x37\x20\x32\x2e\x35\x39\x33\x31\x34\x2c\x2d\
+\x30\x2e\x35\x20\x34\x2e\x30\x30\x33\x32\x32\x2c\x30\x2e\x32\x38\
+\x30\x34\x37\x31\x20\x33\x2e\x38\x37\x39\x37\x36\x2c\x31\x2e\x34\
+\x39\x39\x35\x30\x39\x20\x2d\x30\x2e\x32\x31\x32\x31\x34\x2c\x32\
+\x2e\x30\x39\x34\x35\x32\x35\x20\x43\x20\x31\x34\x34\x2e\x37\x31\
+\x31\x35\x33\x2c\x36\x38\x2e\x31\x31\x34\x36\x32\x38\x20\x31\x33\
+\x39\x2c\x36\x37\x2e\x38\x39\x31\x39\x31\x36\x20\x31\x33\x39\x2c\
+\x36\x36\x2e\x39\x36\x32\x37\x38\x39\x20\x7a\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\x32\x32\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x37\x62\x37\x34\x37\x34\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x31\x34\x35\x2e\x33\x37\x30\x30\x33\
+\x2c\x31\x33\x38\x2e\x32\x39\x36\x36\x34\x20\x63\x20\x30\x2e\x37\
+\x38\x36\x37\x38\x2c\x2d\x30\x2e\x37\x38\x36\x37\x38\x20\x35\x2e\
+\x35\x39\x36\x30\x35\x2c\x2d\x31\x2e\x30\x35\x30\x37\x37\x20\x35\
+\x2e\x31\x32\x30\x33\x35\x2c\x2d\x30\x2e\x32\x38\x31\x30\x37\x20\
+\x2d\x30\x2e\x32\x34\x39\x36\x35\x2c\x30\x2e\x34\x30\x33\x39\x34\
+\x20\x2d\x31\x2e\x36\x30\x35\x38\x36\x2c\x30\x2e\x37\x33\x34\x34\
+\x33\x20\x2d\x33\x2e\x30\x31\x33\x38\x31\x2c\x30\x2e\x37\x33\x34\
+\x34\x33\x20\x2d\x31\x2e\x34\x30\x37\x39\x35\x2c\x30\x20\x2d\x32\
+\x2e\x33\x35\x35\x38\x39\x2c\x2d\x30\x2e\x32\x30\x34\x30\x31\x20\
+\x2d\x32\x2e\x31\x30\x36\x35\x34\x2c\x2d\x30\x2e\x34\x35\x33\x33\
+\x36\x20\x7a\x20\x6d\x20\x30\x2e\x31\x37\x35\x32\x39\x2c\x2d\x31\
+\x34\x2e\x32\x32\x33\x33\x31\x20\x63\x20\x2d\x30\x2e\x32\x32\x33\
+\x38\x32\x2c\x2d\x30\x2e\x33\x36\x32\x31\x35\x20\x30\x2e\x39\x31\
+\x31\x39\x32\x2c\x2d\x30\x2e\x37\x35\x38\x39\x35\x20\x32\x2e\x35\
+\x32\x33\x38\x37\x2c\x2d\x30\x2e\x38\x38\x31\x37\x38\x20\x31\x2e\
+\x36\x31\x31\x39\x34\x2c\x2d\x30\x2e\x31\x32\x32\x38\x32\x20\x32\
+\x2e\x39\x33\x30\x38\x31\x2c\x2d\x30\x2e\x30\x34\x33\x36\x20\x32\
+\x2e\x39\x33\x30\x38\x31\x2c\x30\x2e\x31\x37\x35\x39\x39\x20\x30\
+\x2c\x30\x2e\x37\x32\x35\x37\x33\x20\x2d\x35\x2e\x30\x33\x39\x33\
+\x37\x2c\x31\x2e\x33\x37\x37\x37\x38\x20\x2d\x35\x2e\x34\x35\x34\
+\x36\x38\x2c\x30\x2e\x37\x30\x35\x37\x39\x20\x7a\x20\x4d\x20\x31\
+\x35\x30\x2c\x31\x30\x38\x2e\x36\x30\x36\x39\x39\x20\x63\x20\x30\
+\x2c\x2d\x30\x2e\x32\x31\x36\x31\x36\x20\x30\x2e\x36\x39\x38\x33\
+\x37\x2c\x2d\x30\x2e\x36\x36\x31\x20\x31\x2e\x35\x35\x31\x39\x34\
+\x2c\x2d\x30\x2e\x39\x38\x38\x35\x35\x20\x30\x2e\x38\x38\x39\x39\
+\x32\x2c\x2d\x30\x2e\x33\x34\x31\x34\x39\x20\x31\x2e\x32\x39\x31\
+\x33\x32\x2c\x2d\x30\x2e\x31\x37\x33\x38\x35\x20\x30\x2e\x39\x34\
+\x30\x39\x38\x2c\x30\x2e\x33\x39\x33\x30\x31\x20\x43\x20\x31\x35\
+\x31\x2e\x39\x30\x35\x36\x36\x2c\x31\x30\x38\x2e\x39\x36\x31\x36\
+\x36\x20\x31\x35\x30\x2c\x31\x30\x39\x2e\x34\x31\x36\x39\x20\x31\
+\x35\x30\x2c\x31\x30\x38\x2e\x36\x30\x36\x39\x39\x20\x7a\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\
+\x38\x32\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x51\xb6\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\xc0\x00\x00\x00\xc0\x08\x06\x00\x00\x00\x52\xdc\x6c\x07\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0a\x3e\x00\x00\x0a\x3e\x01\
+\x3c\x37\xb1\x9c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x04\x1e\
+\x09\x1d\x1f\xc1\x16\x3b\x4d\x00\x00\x20\x00\x49\x44\x41\x54\x78\
+\xda\xec\xbd\x79\x7c\x5c\x77\x79\xef\xff\x3e\xeb\xec\x33\xda\x77\
+\x4b\xb6\x65\xc9\xfb\x1e\x3b\x9b\x8d\xb3\x91\x10\xb6\xb0\x15\x1a\
+\x28\xfd\x41\x1a\x02\x97\xde\x72\xdb\x12\xc2\xab\x94\x14\x2e\x25\
+\x50\x4a\xd9\xda\x9b\xa6\x90\xd0\x04\x4a\x20\xdc\x40\x12\x20\x01\
+\xec\x90\xdd\x8e\xe3\xc4\x89\x77\x79\x93\x2c\x5b\xd6\x36\x92\x66\
+\x46\xb3\x6f\x67\xf9\xfd\x31\x3a\xc7\x33\x92\xbc\x24\x10\xe0\x56\
+\xe7\x79\xbd\xce\xcb\x96\x74\xf6\xf3\x7c\xbe\xcf\xfe\x3c\x82\x69\
+\x9a\x26\x0e\x39\x34\x47\x49\x74\x5e\x81\x43\x0e\x00\x1c\x72\xc8\
+\x01\x80\x43\x0e\x39\x00\x70\xc8\x21\x07\x00\x0e\x39\xe4\x00\xc0\
+\x21\x87\x1c\x00\x38\xe4\x90\x03\x00\x87\x1c\x72\x00\xe0\x90\x43\
+\x0e\x00\x1c\xaa\xa0\xb3\x05\xd1\xcf\x15\x5c\x7f\xad\x7f\x73\xc8\
+\x01\xc0\x1f\x1d\xf3\x0b\x82\x00\xc0\x89\x13\x27\x78\xf2\xc9\x27\
+\x19\x18\x18\x00\x40\x10\x84\x59\x99\xd9\x3a\x26\x12\x89\xf0\xe9\
+\x4f\x7f\x9a\xd5\xab\x57\xb3\x76\xed\x5a\x3e\xf0\x81\x0f\x70\xf8\
+\xf0\xe1\xb3\x1e\xe7\x90\x03\x80\x3f\x3a\x12\x04\x81\x57\x5e\x79\
+\x85\xf9\xf3\xe7\xd3\xd9\xd9\xc9\xb5\xd7\x5e\x4b\x47\x47\x07\xab\
+\x57\xaf\x66\xc7\x8e\x1d\x36\x38\x4c\xd3\xb4\x99\x5a\x10\x04\x7e\
+\xf2\x93\x9f\xb0\x70\xe1\x42\xee\xbe\xfb\x6e\x54\x55\x05\xe0\xc9\
+\x27\x9f\x64\xcd\x9a\x35\xfc\xc7\x7f\xfc\x87\x7d\x9c\x43\xbf\xbf\
+\x95\xcc\xa1\x57\x41\x86\x61\x98\xa6\x69\x9a\xdf\xfb\xde\xf7\x4c\
+\xb7\xdb\x6d\x7e\xec\x63\x1f\x33\x1f\x7a\xe8\x21\xf3\x89\x27\x9e\
+\x30\x7f\xf4\xa3\x1f\x99\x1f\xfc\xe0\x07\xcd\xda\xda\x5a\xf3\x6b\
+\x5f\xfb\xda\x8c\x63\xbf\xf9\xcd\x6f\x9a\xf5\xf5\xf5\xe6\xe7\x3f\
+\xff\x79\xb3\xaf\xaf\xcf\xcc\x66\xb3\x66\x2e\x97\x33\xc7\xc6\xc6\
+\xcc\x3b\xef\xbc\xd3\x6c\x6e\x6e\x36\xff\xeb\xbf\xfe\xab\xe2\x3a\
+\x0e\xbd\xbe\xe4\x00\xe0\x35\xd0\xee\xdd\xbb\xcd\x40\x20\x60\xfe\
+\xe8\x47\x3f\x32\xc3\xe1\xb0\x39\x31\x31\x61\x4e\x4c\x4c\x98\x91\
+\x48\xc4\x1c\x1f\x1f\x37\x7f\xf0\x83\x1f\x98\x35\x35\x35\xe6\x27\
+\x3f\xf9\x49\xfb\x98\x2f\x7d\xe9\x4b\x66\x6d\x6d\xad\xf9\xe0\x83\
+\x0f\x9a\xe3\xe3\xe3\xf6\x31\xd6\x36\x36\x36\x66\xde\x7f\xff\xfd\
+\x66\x57\x57\x97\x99\x4c\x26\x9d\x97\xfc\x7b\x22\xc1\x49\x87\x7e\
+\xf5\x74\xd1\x45\x17\xf1\xee\x77\xbf\x9b\x5b\x6e\xb9\x65\x56\x1d\
+\x5f\x96\x65\x9e\x7a\xea\x29\x3e\xfa\xd1\x8f\x92\xcf\xe7\x01\x28\
+\x16\x8b\xdc\x7d\xf7\xdd\x5c\x77\xdd\x75\x33\x6c\x08\xd3\x34\x11\
+\x45\x91\x58\x2c\xc6\x17\xbe\xf0\x05\x56\xad\x5a\xc5\x27\x3f\xf9\
+\xc9\x8a\x7d\x1c\x7a\x9d\x54\x59\x07\x00\xaf\xce\xe8\x7d\xf4\xd1\
+\x47\xf9\xea\x57\xbf\xca\x7d\xf7\xdd\x47\x30\x18\x3c\xeb\x7e\xa2\
+\x28\x72\xe2\xc4\x09\x1e\x7f\xfc\x71\x34\x4d\xe3\xca\x2b\xaf\x64\
+\xc9\x92\x25\x33\x98\xbf\x9c\x74\x5d\xe7\x91\x47\x1e\xe1\xc1\x07\
+\x1f\xe4\xf1\xc7\x1f\x77\x5e\xfa\xef\x81\x64\xe7\x15\x5c\xb8\xd1\
+\x0b\xf0\xc3\x1f\xfe\x90\xf7\xbf\xff\xfd\x78\x3c\x9e\xb3\xee\x67\
+\x9a\x26\x86\x61\x30\x7f\xfe\x7c\x6e\xbe\xf9\xe6\x8a\xe3\xcf\xb5\
+\xaa\x4b\x92\x44\x5b\x5b\x1b\x92\x24\x71\xea\xd4\x29\x3a\x3a\x3a\
+\x1c\x29\xe0\x78\x81\xfe\x38\x56\x7f\x8b\x0e\x1e\x3c\xc8\xda\xb5\
+\x6b\x6d\x0f\xce\xf9\xfc\xf7\x82\x20\x54\x30\xf0\xf9\x98\x39\x18\
+\x0c\x52\x53\x53\xc3\xc1\x83\x07\x2f\x68\x7f\x87\x1c\x09\xf0\x7b\
+\x5b\xfd\xf7\xee\xdd\xcb\xa2\x45\x8b\xf0\x7a\xbd\x33\xd4\x1d\xaf\
+\xd7\x8b\x24\x49\xe8\xba\x4e\xa1\x50\xa0\x50\x28\xcc\xd0\xf1\x5d\
+\x2e\x97\x0d\x9c\x7c\x3e\x6f\xdb\x07\xe5\xe4\xf7\xfb\x09\x06\x83\
+\x9c\x38\x71\xc2\x79\xf1\x8e\x04\xf8\xe3\xa2\xfe\xfe\x7e\x9a\x9b\
+\x9b\x71\xb9\x5c\x15\xab\xfe\xd8\xd8\x18\x1f\xfa\xd0\x87\xa8\xaa\
+\xaa\xa2\xbb\xbb\x9b\xc7\x1e\x7b\x0c\x8f\xc7\x63\xc7\x00\x24\x49\
+\x22\x12\x89\x70\xc7\x1d\x77\xb0\x76\xed\x5a\xd6\xac\x59\xc3\xb7\
+\xbe\xf5\x2d\x1b\x00\xe5\xe7\x72\xb9\x5c\xb8\x5c\x2e\x86\x87\x87\
+\x2f\x48\xc2\x38\xe4\x48\x80\xdf\x1b\x8d\x8c\x8c\x10\x0a\x85\xf0\
+\x7a\xbd\xb8\xdd\x6e\x46\x47\x47\x79\xf4\xd1\x47\xf9\xd4\xa7\x3e\
+\x45\xb1\x58\x04\x20\x93\xc9\x70\xcb\x2d\xb7\x30\x30\x30\xc0\x07\
+\x3e\xf0\x01\x0c\xc3\xe0\xd0\xa1\x43\xdc\x76\xdb\x6d\xb6\x5a\x03\
+\xf0\xd9\xcf\x7e\x96\x7b\xee\xb9\x87\x7b\xef\xbd\x97\xb5\x6b\xd7\
+\x02\x60\x18\x06\xb2\x2c\xa3\xaa\x2a\x93\x93\x93\x17\xac\x36\x39\
+\xe4\x78\x81\x5e\x77\xef\x0f\xc0\x1d\x77\xdc\xc1\x8e\x1d\x3b\xa8\
+\xad\xad\x25\x1a\x8d\x72\xf2\xe4\x49\x7a\x7a\x7a\x00\x58\xb7\x6e\
+\x1d\xdd\xdd\xdd\x1c\x38\x70\x80\x43\x87\x0e\xe1\x76\xbb\x59\xb4\
+\x68\x11\xa2\x28\xd2\xdf\xdf\x4f\x32\x99\x44\x14\x45\x96\x2d\x5b\
+\xc6\xf8\xf8\x38\xe1\x70\x18\x80\x9a\x9a\x1a\x36\x6d\xda\xc4\x9b\
+\xde\xf4\x26\x36\x6e\xdc\x48\x6b\x6b\x2b\x77\xde\x79\x27\xfd\xfd\
+\xfd\xdc\x77\xdf\x7d\xc8\xb2\xb3\x46\xbd\xde\x1f\xd8\xa1\x0b\x8c\
+\x00\x7f\xfa\xd3\x9f\x36\x3d\x1e\x8f\x09\x54\x6c\xff\xf4\x4f\xff\
+\x64\x1a\x86\x61\xe6\xf3\x79\x33\x12\x89\x98\x9f\xf9\xcc\x67\x66\
+\xec\x73\xf1\xc5\x17\x9b\x07\x0e\x1c\x30\x35\x4d\x33\x4d\xd3\x34\
+\xbf\xf2\x95\xaf\x98\xb2\x2c\xcf\xd8\x2f\x18\x0c\x9a\x6b\xd6\xac\
+\x31\x6f\xba\xe9\x26\x33\x9d\x4e\x3b\x2f\xfe\x75\x26\xc7\x06\xb8\
+\x40\x2a\x16\x8b\x14\x0a\x85\x59\xf5\xf1\x37\xbf\xf9\xcd\xb6\xaa\
+\x52\x53\x53\xc3\x25\x97\x5c\x32\x63\x9f\xf7\xbd\xef\x7d\x74\x77\
+\x77\xa3\x69\x1a\x85\x42\x81\xdb\x6e\xbb\xad\xc2\x93\x64\x51\x22\
+\x91\x60\xff\xfe\xfd\xc8\xb2\x3c\xab\x91\xec\x90\x63\x04\xff\x41\
+\x01\xe0\xf5\x7a\x69\x6d\x6d\xad\xf8\xdb\x07\x3f\xf8\x41\x1e\x7a\
+\xe8\x21\x8e\x1c\x39\xc2\x3d\xf7\xdc\xc3\xad\xb7\xde\x3a\xe3\xf8\
+\x7f\xff\xf7\x7f\xe7\xd1\x47\x1f\x45\x51\x14\x26\x27\x27\xf9\xc8\
+\x47\x3e\x42\x2e\x97\x9b\xf5\x5a\x92\x24\x61\x9a\x26\xc5\x62\xd1\
+\x31\x80\x1d\x15\xe8\x8f\x83\x22\x91\x88\x79\xe3\x8d\x37\x9a\x5f\
+\xf9\xca\x57\xcc\x70\x38\x6c\x46\xa3\x51\xf3\x1f\xff\xf1\x1f\x4d\
+\x55\x55\x67\xa8\x31\x80\x59\x5d\x5d\x6d\x5e\x7b\xed\xb5\xe6\xba\
+\x75\xeb\x66\xfd\xbb\xb5\xcd\x9f\x3f\xdf\xdc\xb9\x73\xa7\x99\x4e\
+\xa7\xcd\xc1\xc1\x41\xf3\x8b\x5f\xfc\xa2\xd9\xde\xde\x6e\xde\x74\
+\xd3\x4d\xe6\xe0\xe0\xa0\x93\x14\xe7\xa8\x40\x7f\x1c\x86\x70\x3e\
+\x9f\x47\xd7\x75\x72\xb9\x1c\xf9\x7c\x1e\xc3\x30\xf8\xdb\xbf\xfd\
+\x5b\x1e\x7b\xec\x31\x6a\x6b\x6b\x2b\xf6\xbf\xe6\x9a\x6b\x78\xf8\
+\xe1\x87\xd9\xba\x75\x2b\xbf\xfe\xf5\xaf\xb9\xfd\xf6\xdb\xf1\xf9\
+\x7c\x33\xce\xfb\x9e\xf7\xbc\x87\x1d\x3b\x76\xb0\x64\xc9\x12\xb2\
+\xd9\x2c\xaa\xaa\x72\xd9\x65\x97\xb1\x6e\xdd\x3a\x4c\xd3\xa4\x50\
+\x28\x38\x2f\xdf\x71\x83\xfe\x71\x00\xc0\xd2\xff\xb3\xd9\xac\xad\
+\x96\x64\x32\x19\xd6\xad\x5b\xc7\xd6\xad\x5b\xf9\xe9\x4f\x7f\x8a\
+\x61\x18\x6c\xde\xbc\x99\x95\x2b\x57\x12\x0c\x06\x99\x98\x98\x40\
+\x92\x24\x3e\xf1\x89\x4f\xb0\x79\xf3\x66\xee\xba\xeb\x2e\x76\xed\
+\xda\x45\x7b\x7b\x3b\x7f\xf5\x57\x7f\xc5\x15\x57\x5c\x81\xcb\xe5\
+\x42\xd3\x34\x04\x41\xc0\x30\x0c\x26\x26\x26\x18\x1a\x1a\xa2\xb1\
+\xb1\x11\x4d\xd3\x9c\x54\x08\x07\x00\x7f\x04\xbe\x62\x41\x40\xd7\
+\x75\x44\x51\x24\x93\xc9\x60\x18\x86\xfd\x7b\xd3\x34\x99\x3f\x7f\
+\x3e\xb7\xdd\x76\x1b\x50\x4a\x68\x33\x4d\x13\x5d\xd7\x2b\x2a\xbc\
+\xd6\xad\x5b\xc7\x7d\xf7\xdd\x67\xeb\xf7\xe5\x06\x75\x79\xc4\x38\
+\x1e\x8f\x33\x36\x36\x86\xdb\xed\x76\xf4\x7f\x07\x00\x7f\x5c\xb1\
+\x00\x45\x51\xc8\xe5\x72\x36\x00\xca\x49\xd7\xf5\x0a\xc0\x4c\x07\
+\x90\x65\x48\x5b\x01\xb3\xb3\x49\x99\x78\x3c\x4e\x34\x1a\x25\x10\
+\x08\x20\x8a\x8e\x86\xea\x78\x81\xfe\x48\x24\x80\xa2\x28\xf8\x7c\
+\x3e\x5b\xff\x7f\x3d\x28\x16\x8b\xd1\xdb\xdb\x8b\xd7\xeb\x25\x14\
+\x0a\xe1\x72\xb9\x1c\xf5\xc7\x01\xc0\x1f\x07\xb9\x5c\x2e\x02\x81\
+\xc0\x59\x63\x01\xbf\x0b\x29\x33\x3e\x3e\x4e\x4f\x4f\x0f\xf5\xf5\
+\xf5\x34\x34\x34\xcc\x6a\x38\x3b\xe4\x00\xe0\x0f\x26\x01\xfc\x7e\
+\x3f\xc5\x62\xf1\x75\x93\x00\xd1\x68\x94\x3d\x7b\xf6\x30\x3e\x3e\
+\xce\x9e\x3d\x7b\xc8\x64\x32\xb6\x1d\xe1\xd8\x03\x0e\x00\xfe\xa0\
+\x24\x49\x12\x1e\x8f\xc7\x0e\x4e\xfd\x2e\x55\x13\xd3\x34\x49\xa7\
+\xd3\xec\xd9\xb3\x87\x64\x32\x89\x2c\xcb\x6c\xdf\xbe\x9d\xcf\x7d\
+\xee\x73\xec\xdb\xb7\xaf\xc2\x48\x76\xc8\x01\xc0\x1f\x4c\x0a\x48\
+\x92\xf4\x5b\x19\xa6\xd6\x4a\x2e\x8a\x22\xba\xae\x33\x3e\x3e\xce\
+\xd0\xd0\x10\xa3\xa3\xa3\x9c\x3e\x7d\x9a\x5f\xfe\xf2\x97\xc8\xb2\
+\x6c\xd7\x0d\x1c\x3f\x7e\x9c\xdb\x6f\xbf\x9d\x6d\xdb\xb6\xd9\x85\
+\x35\x0e\x08\x7e\xb7\xe4\x78\x81\x2e\x80\x69\x2d\x1f\xfd\x81\x03\
+\x07\x4a\xab\x86\x28\xe2\xf1\x78\x30\x0c\x83\x5c\x2e\xf7\xaa\x24\
+\x42\x20\x10\x60\xfb\x8e\x1d\x7c\xfb\x3f\xee\x62\xd7\xce\xe7\x89\
+\x46\x26\x50\x5d\x2e\x9a\x9a\x5b\x38\x7c\xe4\x18\x7e\xbf\x1f\x55\
+\x55\x11\x45\x11\x45\x51\x88\xc7\xe3\x7c\xf3\x9b\xdf\x24\x91\x48\
+\xf0\x8e\x77\xbc\x03\x59\x96\x9d\xd8\x80\x03\x80\xdf\x2f\xf3\x03\
+\x7c\xf7\xbb\xdf\x65\xe7\xce\x9d\x0c\x0f\x0f\xf3\xeb\x5f\xff\x0a\
+\x59\x92\xb9\xe5\xa3\xb7\xf0\xf7\x7f\xff\xd9\x0a\x17\xe8\xb9\xce\
+\x15\x0c\x06\xf9\xda\xd7\xbe\xc6\x97\xef\xf8\x22\xee\xda\x76\xd6\
+\x5f\xff\x97\x34\xce\x5f\x4c\x2e\x95\xe0\xf0\xce\x5f\x62\x1e\x3e\
+\x4a\x36\x9b\xc1\x34\x4d\x3b\x0d\x5a\x96\x65\x72\xb9\x1c\xdf\xfa\
+\xd6\xb7\xd0\x75\x9d\x77\xbe\xf3\x9d\xa8\xaa\xea\x80\xe0\x77\x25\
+\xd9\x9d\x7a\x80\x73\x33\xbf\x69\x9a\xdc\x7d\xf7\xdd\x7c\xe7\x3b\
+\xdf\xa1\xa7\xe7\x30\x81\xda\x66\xba\x56\x5f\x42\x31\x97\x61\xef\
+\x0b\x4f\xb1\x71\xcd\x72\xee\xff\xe1\x0f\xf1\xfb\xfd\x18\x86\x71\
+\x56\xa6\x54\x14\x85\x6f\xff\xc7\x5d\xdc\xf1\x4f\x5f\x65\xf3\x3b\
+\x6f\xe1\xba\xf7\x7e\x84\x54\x4e\x23\x16\xcf\xa2\x03\xa2\xa4\x10\
+\x1f\x3b\xcd\x93\x3f\xf8\x0a\xe1\xe3\x2f\xb1\x66\xcd\x1a\x14\x45\
+\xa9\xb8\x9f\x42\xa1\xc0\x67\x3f\xfb\x59\xae\xbd\xf6\x5a\x44\x51\
+\x74\x40\xe0\x00\xe0\xf5\x5f\xf9\x1f\x7e\xf8\x61\xee\xbc\xf3\x4e\
+\x5e\xd8\xf9\x3c\x97\xbc\xf9\xcf\xb9\xf6\x7d\x1f\xc3\x13\xa8\x42\
+\x91\x15\xa2\x23\xfd\x7c\xfb\x4b\x7f\x43\x57\x73\x80\x47\x7e\xf6\
+\xf3\x59\xd3\x97\xad\x95\xff\xfe\xfb\x7f\xc0\xdf\xff\xc3\x3f\x72\
+\xd5\x8d\x7f\xcb\xe2\x0d\xd7\x90\xc8\x16\x41\x94\x90\x24\x19\x41\
+\x94\x4a\x3a\xbe\x28\x91\x8e\x4f\xf0\xc4\x7d\xff\x9b\xdc\xf0\x41\
+\xe6\x2f\x5c\x64\x47\x94\xa1\x54\x31\xa6\x28\x0a\xb7\xdf\x7e\x3b\
+\x9b\x36\x6d\x72\x98\xdf\x01\xc0\xeb\x4b\x3b\x76\xec\xe0\xeb\x5f\
+\xff\x3a\x2f\xef\x7e\x11\x7f\xeb\x0a\xae\xf8\xd3\x4f\xe2\xad\x6e\
+\xb2\xdd\xa0\xa6\x69\xe2\x77\x99\xdc\x75\xdb\x7b\xf8\xcb\xbf\xf8\
+\x33\x3e\x79\xeb\xad\xe4\x72\xb9\x0a\xaf\x8d\xa2\x28\x1c\x3d\x72\
+\x84\x8f\x7c\xe4\x66\x3a\xdf\x70\x23\x8b\x2f\x79\x0b\x9a\x21\x92\
+\x49\xc6\x38\xfe\xf2\x13\x8c\xf4\xee\x67\xb4\xff\x10\x7a\x31\x8f\
+\xa8\xa8\xb8\x3c\x7e\x04\x41\x24\x1f\x39\xc9\xda\x75\xeb\x67\xa8\
+\x57\x16\x38\xbf\xfb\xdd\xef\xd2\xd1\xd1\xe1\x80\xc0\x01\xc0\xeb\
+\x43\xbd\xbd\xbd\x7c\xf5\xab\x5f\x65\xff\xbe\x7d\x9c\x1c\x18\x60\
+\xf5\x5b\x3e\x4e\x75\xe3\x3c\x7a\x9e\x7f\x94\xc8\xe0\x71\x54\xb7\
+\x8f\xce\xb5\x57\xd0\xb9\xfe\x6a\x32\xf1\x71\x7e\xfe\xf5\x8f\xf1\
+\xcc\xd3\x4f\xd3\xd1\xd1\x61\x27\xb7\x59\xdb\xff\xfa\xc4\xff\xe4\
+\xd0\xa8\xce\x55\x7f\xfa\x37\x8c\x0d\x9f\x64\xd7\x63\xf7\x72\x74\
+\xd7\x56\x04\xd9\x83\xe2\xf1\xa3\x78\x82\x08\x92\x84\xa9\x6b\x18\
+\x7a\x91\x6c\x7c\x9c\xfa\x6a\x3f\xeb\xd7\x5f\x84\xa6\x69\x15\x52\
+\x00\x40\xd3\x34\xba\xba\xba\xf8\xc6\x37\xbe\x41\x20\x10\x70\x3e\
+\x96\x03\x80\xdf\xad\xea\x93\x4c\x26\xb9\xe7\x9e\x7b\x78\xe8\xa1\
+\x87\x48\x26\x13\x0c\x8f\x4f\xa2\x19\x02\x89\x89\x11\x3c\x75\xf3\
+\xf1\xd6\xb6\xa1\x15\x32\xc4\x4e\xee\xa3\xba\xbe\x89\x37\x7f\xf4\
+\xcb\x0c\x1c\xdc\x41\x28\xd3\xcb\x43\x8f\xfc\xdc\x2e\x68\xf7\x7a\
+\xbd\x3c\xf2\xf0\x43\x7c\xfd\xae\xfb\x58\xf9\x96\x8f\x73\xf2\xc0\
+\xf3\x3c\xff\xd0\x9d\xb8\xea\x17\x51\xdb\x79\x11\xae\x60\x03\xb2\
+\xdb\x87\xa4\x78\xc0\x62\x70\xd3\x20\x31\x7c\x94\xe8\xc1\x5f\xb1\
+\x71\xf5\x52\xda\x3b\xe6\x33\x30\x30\x30\x03\x04\xf9\x7c\x9e\x1b\
+\x6e\xb8\x81\x4f\x7d\xea\x53\x8e\x2d\xf0\x5b\x90\x13\x07\x98\x45\
+\xef\x7f\xf9\xe5\x97\xf9\xe9\x4f\x7f\x8a\xdb\xed\x26\x95\x4a\x33\
+\x3e\x3c\x80\x2e\x79\x59\x74\xfd\xff\x62\xc1\x15\x1f\xa6\x71\xe5\
+\x35\xb4\xae\x7f\x3b\xcb\xdf\x7d\x3b\xa6\xab\x9a\x9f\x7c\xe5\x16\
+\x3a\x56\x6c\x62\xdf\xe1\x3e\x9e\xf8\xcd\x6f\x50\x55\x15\x49\x92\
+\x18\x1f\x1f\xe7\x91\x9f\x3d\x82\xbf\x63\x3d\xa7\xf6\x6f\xe7\xf9\
+\x47\xbe\x43\xd3\x45\xef\xa2\xe3\xf2\x3f\x25\xd0\xdc\x8d\xe2\x0d\
+\x21\x4a\x0a\xa6\xa1\x61\xea\xc5\xd2\x66\xe8\x04\x9a\xbb\xf0\xcd\
+\xbf\x98\x53\xa7\x4e\x52\x5f\x5f\xcf\xfc\xf9\xf3\x6d\xa3\xd7\x5a\
+\xaf\x5c\x2e\x17\x8f\x3e\xfa\x28\xcf\x3c\xf3\x8c\x13\x1f\x70\x00\
+\xf0\x3b\x10\x85\x53\xcc\x3f\x30\x30\xc0\xdd\x77\xdf\x8d\x24\x49\
+\xe4\x72\x39\xe2\x93\x51\xfc\xad\xcb\x69\xdd\xf8\x6e\x5c\x81\x3a\
+\x4c\xd3\xb0\x19\x51\x30\xa1\xfd\xb2\x3f\xc5\xd7\xba\x94\x5f\xdf\
+\x73\x3b\xdd\x9b\xde\xc3\xbf\xfd\xeb\x37\x50\x55\x15\x55\x55\x79\
+\xfa\xc9\xdf\xd0\x1f\x31\x30\x8a\x39\xf6\x3d\xf3\x73\x9a\xd6\xbf\
+\x83\x50\xfb\x4a\x04\xe1\xec\x1e\x1c\x8b\x91\x83\xcd\x8b\x89\x53\
+\xc3\xc1\xfd\x7b\x69\x6c\x6c\xa4\xbe\xbe\x7e\xc6\xfe\x92\x24\xf1\
+\x6f\xff\xf6\x6f\x64\xb3\x59\x47\x02\x38\x00\xf8\xed\x56\x7f\x80\
+\x5c\x2e\xc7\xe3\x8f\x3f\xce\x89\x13\x27\x50\x55\x95\x54\x2a\x49\
+\x3a\xa7\xe1\xad\x69\x41\x94\x64\x4c\x43\xaf\xd0\xed\xc1\xc4\xd0\
+\x35\x9a\x56\x5f\x4f\xde\x10\x38\x79\xf0\x05\x46\xe2\x1a\x2f\xbd\
+\xb8\x8b\x78\x3c\xce\x0b\x2f\xed\x21\x55\x14\x18\xe9\xdd\x87\xda\
+\xb4\x84\x50\xdb\x52\xb0\xc0\x73\x2e\x86\x35\x4d\xdc\xc1\x7a\xf0\
+\x35\x30\x32\x3a\x4a\x3c\x1e\xa7\xaa\xaa\x8a\x40\x20\x50\xb1\xda\
+\x5b\xd3\x66\xee\xbe\xfb\xee\x8a\xe7\x70\xc8\x01\xc0\x6b\x5a\xfd\
+\xc3\xe1\x30\xf7\xdf\x7f\x3f\x1e\x8f\x87\x6c\x36\xcb\xc8\xc8\x28\
+\xd9\x74\x12\x2d\x1b\xc7\xd0\x35\x40\x98\x7e\x60\xe9\x1f\x49\xa1\
+\x69\xdd\xdb\x39\xd5\xf3\x02\xe9\x02\x3c\xf0\xa3\x1f\x71\xb8\xe7\
+\x10\xfb\x7a\x87\x29\xa6\x63\x44\xe3\x29\xaa\xda\x57\xc1\x14\xf3\
+\x9e\x8b\xf9\x05\x41\xa4\x98\x4d\x90\x1a\xeb\x43\x50\xdc\x88\xb2\
+\x0b\xf7\x54\x26\x6a\x67\x67\x67\x45\x5b\x46\x28\x45\xa5\x1f\x7b\
+\xec\x31\x4e\x9e\x3c\xe9\xa8\x42\x0e\x00\x5e\x3b\xe5\xf3\x79\xbe\
+\xff\xfd\xef\x53\x28\x14\xd0\x34\x8d\xde\xde\x5e\x62\x39\x81\x05\
+\x57\x7c\x98\xd6\x0d\xef\x44\x76\xfb\x30\x4d\xe3\xac\x00\x52\x3d\
+\x41\xea\x97\x5f\xc3\xd1\xdd\x4f\x72\xef\xbd\xf7\xf2\xe1\x0f\x7d\
+\x88\x57\x76\x3c\xc1\xe4\xf8\x30\x81\xd6\xe5\xa8\xfe\x1a\xcc\x73\
+\x04\xca\xca\x96\x7f\x44\xd9\x45\x6e\x72\x94\x89\x23\xdb\x51\xd5\
+\x12\xf3\x07\x02\x01\x6a\x6b\x6b\x59\xb4\x68\x91\xdd\x4e\xc5\x62\
+\x76\x5d\xd7\xb9\xeb\xae\xbb\x2a\xc0\xec\xd0\x85\x91\x93\x0a\x31\
+\xc5\x48\xfd\xfd\xfd\x6c\xdb\xb6\x0d\x59\x96\x19\x3c\x3d\x40\x5c\
+\x73\xb1\xf0\x8a\xf7\xa3\xfa\xaa\x31\x0d\xfd\xfc\x2b\xb7\x28\x51\
+\xd5\xb1\x06\x53\xd7\xc8\x27\x27\x88\x17\x72\x28\x41\x1f\xae\x86\
+\xc5\x04\x5a\xba\x31\xf5\x22\x17\xca\x9a\xb2\xcb\x8b\xe2\x0d\x61\
+\xe6\xe2\x14\xf2\x59\x62\x93\x93\x36\xd3\xbb\x5c\x2e\x6a\x6a\x6a\
+\x18\x1b\x1b\xb3\xe3\x11\x86\x61\xd0\xd3\xd3\xc3\xc1\x83\x07\x59\
+\xb1\x62\x85\xf3\x41\x1d\x00\xbc\x3a\xd2\x75\x9d\x9f\xfc\xe4\x27\
+\x08\x82\x40\x36\x9b\x61\x2c\x91\xa7\x79\xcd\x5b\x51\x7d\x35\x18\
+\x7a\xb1\x22\x13\x73\xba\x0e\x5e\xa1\x8e\x28\x2e\x6a\x97\x6c\x2e\
+\x03\x8a\x00\x18\x98\x86\x31\x03\x40\x15\x3f\x9b\xe6\x19\x37\x28\
+\x60\x9a\x06\xee\xaa\x66\xaa\xe6\x2d\x23\x97\x4d\x13\x8b\xc5\x2a\
+\xe6\x11\x54\x55\x55\x11\x89\x44\x2a\xea\x12\xb2\xd9\x2c\x0f\x3c\
+\xf0\x00\x5f\xfc\xe2\x17\x9d\x0f\xea\x00\xe0\xd5\xd1\xd8\xd8\x18\
+\x4f\x3c\xf1\x04\xa2\x20\x30\x3e\x11\x45\xf0\x35\x11\x6c\x5e\x8c\
+\xa1\xe5\xa7\xf5\xf6\x17\xd1\xf2\x49\x8a\xd9\x24\xee\x60\x03\x08\
+\x12\x00\x17\xaf\xee\x46\x95\x25\x74\xc3\x40\xd3\x0d\xf2\x85\x22\
+\x91\xc9\x24\x91\x58\x92\x44\xba\x94\x1e\x21\x4b\x62\x05\x68\x04\
+\x41\xc0\xd4\x35\x04\x51\xc2\x14\x84\x4a\xe9\x60\x9a\xa8\xbe\x2a\
+\x94\x50\x2b\xd9\xc4\x21\x24\x49\xc2\xeb\xf5\x56\x1c\xdb\xd1\xd1\
+\x41\x5f\x5f\x9f\xfd\xb3\xae\xeb\x1c\x3a\x74\x88\xc3\x87\x0f\xb3\
+\x74\xe9\x52\xe7\xa3\x3a\x00\xb8\x30\xd5\xc7\x1a\x5d\x6a\x18\x06\
+\xc5\x62\x81\xd1\x48\x82\xb6\x4d\x37\x60\xe8\x33\x0b\x5f\x04\x49\
+\x22\x7e\xfa\x20\xaa\xbf\x16\x82\x0d\xf6\xef\x37\xaf\x5f\x4a\x51\
+\xd3\x51\x64\x09\xb7\xaa\xe0\xf7\xb9\x09\xf8\xdc\xe4\xf2\x1a\xb1\
+\x78\x8a\x83\xc7\x07\xd8\xb5\xff\x38\xa3\x13\x93\x67\xa4\x87\x28\
+\x91\x89\x0d\xe2\x09\x35\x23\x2a\xae\x99\xf7\x05\xb8\xab\x9a\x30\
+\xf3\x43\x08\x98\x54\x55\x55\x55\xdc\x73\x28\x14\x22\x1a\x8d\x12\
+\x8b\xc5\x6c\x10\xa4\x52\x29\x7e\xfe\xf3\x9f\xb3\x74\xe9\x52\x27\
+\x38\xe6\x00\xe0\xc2\xbc\x3f\xb9\x5c\x8e\x5f\xfc\xe2\x17\x88\xa2\
+\x48\x34\x36\x89\x12\x6a\xc1\x57\x33\x0f\xad\x90\x99\xd9\xdd\x41\
+\x94\x49\x0e\x1d\xa5\x7a\xc1\xda\x8a\xdf\xff\xf3\x77\x1f\xa1\xa9\
+\xb6\x1a\xd3\x34\x18\x1e\x8f\x61\x9a\x26\x55\x41\x1f\x4b\x17\xb6\
+\xd1\x3d\xbf\x85\x8b\x57\x77\x53\x5b\x1d\xe0\xa7\xdb\x5e\x20\x16\
+\x4f\x21\x8a\x12\x5a\x36\x4e\x31\x93\x40\x71\x05\x50\x15\x57\x05\
+\xc3\x96\xd4\x2c\x03\x57\xa0\x86\xe4\x88\xc2\xe8\xc8\x08\xa1\xaa\
+\x6a\x1b\x3c\xd6\xbf\xd5\xd5\xd5\xc4\x62\x31\xfb\xd8\x62\xb1\x48\
+\x4f\x4f\x0f\xb1\x58\x8c\xea\xea\x6a\x87\xbb\x1d\x2f\xd0\xf9\xe9\
+\xa9\xa7\x9e\xa2\x50\x28\x94\x9a\x52\x45\x13\xd4\x2c\xbc\x08\x43\
+\x2f\xcc\xb2\x7a\x0a\xe8\xf9\x34\x5a\x3e\x8d\x69\x9c\x49\x50\x33\
+\x0c\x83\xf7\xbe\xe9\x32\xbe\xf1\x99\x0f\xf1\xc5\xbf\x7e\x3f\xd7\
+\x5e\xbe\x1a\x49\x12\x59\xbd\x78\x3e\x2b\xbb\xdb\x19\x8b\x4c\xf2\
+\xdd\x9f\x3c\xc1\x03\xbf\xdc\x41\x32\x9d\xb5\xe3\x07\xd9\xc9\x30\
+\x98\x26\x03\xcf\x3f\x00\x08\x76\x70\xac\x5c\x0d\x72\xf9\xaa\x28\
+\xa2\x32\x19\x8f\x91\xcd\x66\xc9\x64\x32\x64\x32\x19\xb2\xd9\x2c\
+\xd9\x6c\x16\x45\x51\x70\xbb\xdd\x67\x3e\xe6\xd4\xa4\xc9\xa7\x9e\
+\x7a\xaa\x02\x28\x0e\x39\x12\xe0\xac\xea\xcf\xaf\x7e\xf5\x2b\x44\
+\x51\x24\x9f\xcf\x93\xc8\xe4\x69\x6d\x5d\x8c\xa9\x6b\xb3\x78\x79\
+\x44\xd2\xe1\x53\x28\xde\x10\x86\x5e\x04\x4a\x01\xad\xa6\xba\x6a\
+\xae\xbe\x64\x25\x8f\x3c\xf1\x22\x6e\x55\xe1\xca\x8d\x2b\x18\x1c\
+\x8d\xb0\x65\xc3\x32\x16\xb4\x35\xb0\x79\xfd\x52\x4e\x8f\x46\xb8\
+\xf7\xa1\x27\x39\x31\x18\x46\x96\x64\x8a\xd9\x38\xa6\x5e\x20\x13\
+\x39\x4d\x36\x36\x44\x31\x33\x89\x20\x48\xc8\x1e\x7f\xe5\xea\x24\
+\xab\xe8\xa2\x8a\xac\x88\xd4\xd5\xd6\x32\x1b\x3b\xab\xaa\x5a\x51\
+\x37\x1c\x8f\xc7\x79\xe1\x85\x17\x78\xd7\xbb\xde\xe5\xa8\x40\x8e\
+\x04\x38\xb7\xfa\x33\x36\x36\xc6\x81\x03\x07\x10\x04\x81\x44\x32\
+\x85\xb7\x7e\x3e\x82\x20\x61\x1a\x3a\x7a\x31\x57\xb9\x82\x0a\x22\
+\x93\xa7\x0f\xa0\xfa\xab\x11\x24\xd9\xb6\x11\x3a\xdb\x1b\x99\x88\
+\x25\xf9\xde\xc3\x4f\xf1\xf3\x27\x5e\x22\x9b\x2f\xb0\xb2\xbb\x83\
+\x70\x24\xce\x73\xbb\x0f\x73\xfc\xd4\x08\xa9\x74\x8e\xea\xa0\x1f\
+\xd3\x04\x04\x81\x62\x2a\x0a\x40\x6a\xf4\x18\xfe\x9a\x46\xc6\x0e\
+\x3f\x4b\x3e\x39\x0e\x82\x38\x03\xa4\x8a\x3b\x40\xbe\x58\xea\x14\
+\xad\x28\x0a\x8a\xa2\x20\xcb\xb2\xbd\xd5\xd4\xd4\xe0\xf3\xf9\x6c\
+\x40\x0b\x82\x40\x38\x1c\xb6\x07\x77\x38\xe4\x00\xe0\xac\xb4\x75\
+\xeb\x56\xdb\xad\x99\x4a\xa7\xf1\xd6\xce\xc3\x34\x0d\xb4\x7c\x9a\
+\x89\xc3\xcf\x31\x79\xf2\x15\x44\x59\x45\x52\xbd\x44\xfb\x5e\x24\
+\x1d\xee\x2b\xa5\x2e\x8b\x32\x46\xb1\xe4\xdd\xf1\xb8\x55\xa2\xf1\
+\x24\x92\x28\x81\x00\x93\xc9\x34\x7e\xaf\x1b\x97\xaa\x80\x20\x30\
+\x99\x48\x13\x89\x27\x40\x28\x81\xc9\x28\xe6\xd0\x8a\x39\xf2\xc9\
+\x09\xdc\x2e\x37\x57\xbc\xef\x6f\x89\x1e\xdf\x89\xec\xf6\xc1\xf4\
+\x35\xde\x34\x71\xf9\x42\xc4\xd3\x39\xc6\xc6\xc2\x24\x12\x09\xe2\
+\xf1\x38\x89\x44\xc2\xde\xe2\xf1\x38\xd5\xd5\xd5\x15\xae\xd9\x89\
+\x89\x09\xbb\x7e\xd9\x51\x83\x1c\x15\xe8\xac\xea\xcf\x8e\x1d\x3b\
+\x6c\x17\x62\x36\x97\xc7\xeb\xaf\x01\xd3\x40\xf1\x86\x08\xce\x5b\
+\xc1\xc8\x9e\xc7\x18\x3f\xfc\x2c\xa2\xac\xa2\x65\x26\xd1\xf2\x19\
+\x3b\x1a\x6c\x68\x05\x24\x20\x32\x99\x62\x7e\x6b\x03\x1e\xb7\x8a\
+\xc7\xad\xd2\xda\x50\xc3\xee\x43\x27\xa8\xad\x0a\x70\xdf\xc3\x4f\
+\xd1\x58\x17\xe2\xda\xcb\x56\x53\x28\xe8\x08\xa2\x48\x31\x5d\x5a\
+\xfd\xe3\x83\x47\x58\x7f\xe5\xbb\xe9\xda\xf0\x46\xd4\xef\x7d\x11\
+\x41\x52\x98\xa9\xe3\x98\x48\x2e\x0f\xb9\xa8\x41\x22\x91\xc0\xe5\
+\xf6\xcc\xca\xd0\x5e\xaf\xb7\xa2\x44\x32\x91\x48\x70\xe4\xc8\x91\
+\x0a\xb7\xab\x43\x0e\x00\x2a\xd4\x9f\x78\x3c\xce\xc9\x93\x27\xed\
+\x95\xd6\xd0\x0d\x84\x29\x15\xc4\x34\x0c\xbc\x75\xed\x34\xac\xb8\
+\x8a\xc1\x17\xfe\x2f\xf9\xc4\x38\xd7\xdf\x72\x07\x23\xbd\x7b\x19\
+\x1a\x1e\x41\x76\x07\x30\xf4\x52\xd1\xcb\xc1\xe3\x03\x18\x86\xc9\
+\x57\x3f\xf5\xe7\x98\xa6\xc9\xc8\x44\x8c\xe1\x70\x94\x85\x6d\x0d\
+\xc4\x93\x69\x5a\xea\xab\x31\x0c\x93\x82\xa6\x21\x20\xa0\xe5\xd2\
+\x98\x7a\x81\xfc\xe4\x08\x2b\xdf\xf0\x0e\xfa\xf7\x3d\x47\x21\x93\
+\xc2\x1d\x6a\x42\x2f\xe6\xa6\x31\xac\x80\x5e\xc8\xe1\x16\x4c\x7b\
+\x7c\xea\xd9\x00\x5d\x5b\x5b\xcb\xf8\xf8\x38\xa2\x28\x22\x8a\x22\
+\xc3\xc3\xc3\xf4\xf5\xf5\xd1\xd9\xd9\xe9\x70\xb9\xa3\x02\xcd\xa4\
+\x5d\xbb\x76\xd9\x91\x54\xdd\x30\x10\x45\x81\xec\xe4\xa8\xad\x87\
+\x0b\x08\xe4\x92\x51\xaa\xfd\x6e\xea\x6b\xab\x99\x38\x7d\x8c\x86\
+\x8e\x25\x08\x5a\xae\xa4\xff\x1b\x25\x43\x59\xd3\x74\xbe\xf3\xe0\
+\x36\x26\x13\x69\x86\xc2\x11\x7e\xfc\xd8\x0e\x92\x99\x2c\x03\xc3\
+\x13\x14\x35\x1d\x9f\xb7\xd4\xdf\x53\xd3\x74\x0c\x2d\x8f\x69\x68\
+\x24\xc3\xfd\x2c\x5c\xb3\x99\x5c\x2a\xce\xaf\xee\xbe\x1d\x59\x75\
+\xa1\x4f\x73\xbb\x9a\xa6\x89\x20\x8a\xe4\x53\x11\x24\x23\x87\xc7\
+\xeb\xc3\xe3\xf1\xe0\xf5\x7a\xf1\x78\x3c\xf6\xff\xad\xad\xbe\xbe\
+\xbe\x42\x0d\x1a\x1b\x1b\xa3\xb7\xb7\xd7\x51\x83\x1c\x09\x70\x7e\
+\x00\x98\xa6\x89\x4b\x91\x18\xeb\x7f\x85\xc6\xe5\x57\x96\x18\xb6\
+\x90\x41\x4f\x47\x71\xab\x12\xf5\x8d\x6d\x1c\xd9\xfe\x10\x9b\xde\
+\xff\x77\x08\x7a\x6e\xaa\x78\x45\x07\x4c\x04\x41\xa4\x7f\x68\x9c\
+\x6f\xfd\xe0\x31\x8a\xc5\x92\x2a\xa5\x8f\x1a\x1c\xee\x1b\xc4\xed\
+\x52\x19\x1e\x8b\xb1\x6b\xdf\x31\x62\x89\x34\xa6\x56\x1a\x89\x94\
+\x1c\xe9\xe5\xca\xb7\xff\x6f\x1e\xbf\xef\x8b\xb4\x36\xd5\x91\x4a\
+\x67\xc8\x44\x87\xf0\xd5\xcf\x07\xd3\x6a\xbd\x2e\xa2\xe5\x33\x14\
+\xe3\xa3\x14\xcd\x34\xd1\x68\xf4\x9c\x2a\x8d\xd5\xbe\xdd\x6a\xbc\
+\x15\x8d\x46\x39\x75\xea\x94\xa3\x06\x39\x00\x98\x9d\x0e\x1d\x3a\
+\x64\xb7\x31\x31\x0c\xa3\xd4\xf1\xad\x30\x49\xfc\xf4\x01\x42\xf3\
+\x56\x92\x89\x0e\x63\x26\x87\xf1\xf9\x83\x88\xa2\x44\xd0\xef\x65\
+\xfc\xe4\x21\xd0\x8b\x98\x5a\x61\xca\x15\x5a\xa2\x2f\x7e\xe2\x46\
+\x24\x51\x44\x14\x05\x24\x51\x44\x37\x0c\x26\x26\x93\x0c\x85\xa3\
+\x1c\xed\x1f\xe2\xe8\x89\x21\x52\x99\x3c\x86\x96\xa7\x98\x89\xe3\
+\x52\x15\xe2\xe3\xc3\x44\x07\x0f\xf3\x86\xcd\x9b\xe9\x3b\xd1\x4f\
+\x6c\xf8\x28\xfe\xc6\x85\x18\x5a\x29\xc6\x20\x4a\x32\x99\x70\x1f\
+\xf9\xe8\x00\x72\x43\x68\x46\xfe\xd1\x0c\x51\x2e\x8a\x04\x83\x41\
+\xe2\xf1\x38\xa2\x28\xa2\x69\x1a\x23\x23\x23\x64\xb3\xd9\x8a\x3c\
+\x22\x87\x1c\x00\x30\x32\x32\x42\x26\x93\xa9\xf8\x9d\xdb\xed\x46\
+\x11\x21\xd2\xfb\x22\xa1\x79\x2b\x48\x8c\x1c\x43\x2e\xc6\x69\x6e\
+\x59\x4e\x22\x91\xa0\xbe\xb1\x89\xbe\x97\x1f\xa7\xb1\x73\x1d\x91\
+\xc9\x38\x86\x76\x66\x7c\xd1\x3f\xdd\xfd\x30\x86\x61\x22\x49\x02\
+\x92\x28\xa1\xaa\x32\xd5\x01\x1f\xcd\x0d\xd5\x6c\x5c\xd5\xc5\xc2\
+\xb6\x46\x7e\xf9\xdc\x3e\x92\xe3\x79\x52\x63\x27\x59\xb8\x7a\x33\
+\xcf\xff\xfc\x3b\xac\x5a\xb1\x02\x41\x10\x68\x6a\x6c\xa4\xff\xe5\
+\xbd\xb4\xac\x7d\xf3\x14\x83\x0b\xe8\x85\x0c\x89\xa1\x1e\xf4\x4c\
+\x14\x7f\x60\x1e\xa1\x50\x88\x9a\x9a\x9a\xb3\xb6\x66\x34\x0c\x83\
+\x42\xa1\x60\xd7\x23\x4b\x92\x44\x38\x1c\x66\x70\x70\x90\xae\xae\
+\x2e\x87\xd3\x1d\x00\x9c\xa1\xa3\x47\x8f\x56\xb4\x1b\x11\x45\x91\
+\x50\x28\xc4\xd8\x58\x98\x74\x7c\x94\xd1\xfd\x8f\x93\x39\xf5\x22\
+\x8b\x3b\x17\xe0\xf5\x7a\x29\x14\x0a\x64\x32\x06\x6e\x45\x24\x3a\
+\xd4\x4b\x51\x70\xe1\x36\xcf\x1c\x3f\x11\x4b\xcc\xb8\xc6\x00\xe3\
+\xec\x3f\x76\x8a\xad\xdb\xf7\xda\x1e\x1d\x01\x93\x7c\x72\x82\xe8\
+\x30\x04\x3d\xaa\x9d\xdf\xe3\xf1\xb8\x09\x78\x14\xe2\x03\xfb\x09\
+\xcd\x2b\xa5\x33\xa7\x46\x7b\x89\xf6\xee\x22\xe8\x2f\xe9\xfe\x2e\
+\x97\x0b\x59\x96\xcf\x0a\x00\xd3\x34\x09\x85\x42\x18\x86\x61\xf7\
+\x30\x1d\x1b\x1b\x63\x64\x64\xc4\x01\x80\x03\x80\x99\x00\xd0\x34\
+\xad\x02\x00\x5e\xaf\x17\x45\x51\x29\xc6\xc6\x18\xdb\xbf\x95\xae\
+\xee\x2e\x5a\x5a\x5b\xd1\x75\xdd\x06\x41\x4d\x4d\x2d\xc7\x8f\x1f\
+\x43\xa9\x9e\x57\x96\x0e\x21\x20\x88\xa2\xbd\x72\xdb\x69\x9d\x56\
+\x01\xbb\xed\x36\x2d\x62\xe8\x45\x8c\x7c\x9a\xd1\x13\x23\x6c\xb8\
+\x68\x9d\xad\xce\x88\xa2\xc8\xbc\xb6\x66\x8e\xec\xdb\x46\xb0\x75\
+\x29\x85\x54\x94\xb1\x9e\xa7\x31\x0d\x1d\xd5\xe5\xb2\x47\x33\x9d\
+\xaf\x31\x6f\xb1\x58\xc4\xed\x76\xdb\x6d\x59\x62\xb1\x18\x13\x13\
+\x13\x15\xae\x5f\x87\xe6\x30\x00\x2c\x26\xe8\xed\xed\xad\x90\x00\
+\x6e\xb7\x1b\x97\xcb\x85\xcf\xe7\x23\xee\x72\xd1\xd8\xd8\xc8\xa2\
+\x45\x5d\xf6\xbc\x2f\x59\x96\x51\x55\x15\xc3\x30\xf0\xfb\x7c\x14\
+\x4a\x21\x5d\x44\x49\x25\x9f\x1c\x23\x1b\x19\x22\x97\x1c\xa7\x98\
+\x9c\x40\x2b\x64\x11\x25\x05\xd5\x5f\x8b\xb7\x7e\x3e\x81\xa6\x45\
+\x48\x2e\x1f\x7a\x31\x4f\x21\x19\x45\x2b\x64\xa9\x0a\xf9\xed\xfa\
+\x5e\x4b\x7d\xf1\xb8\xdd\x84\xdc\x70\xe2\x99\xef\xe1\xad\x6a\x44\
+\x32\xf2\xd4\x34\xce\xc3\xad\x98\x78\x3c\x1e\x7b\x52\xe5\xb9\x5c\
+\xbb\xba\xae\xe3\x76\xbb\x49\x26\x93\x08\x82\x40\x26\x93\x21\x12\
+\x89\x38\x86\xb0\x03\x00\x2a\x98\x20\x1c\x0e\x57\xf4\xd9\xa9\xad\
+\xad\xa5\xae\xae\x8e\x44\x22\x41\x34\x1a\x25\x99\x4c\x56\xb8\x0e\
+\x4d\xd3\xc4\xe7\xf3\x95\xa4\x40\x6d\x2d\xc3\xe3\x09\x52\x23\xc7\
+\x18\x79\xe5\x31\xf4\x42\xe6\xec\x17\x3c\xfc\x0c\x08\x22\x35\x0b\
+\xd7\x53\xb3\xe8\x12\xb4\x7c\x1a\xbd\x90\xa7\xbd\xbd\x0b\x49\x92\
+\xec\x73\x4f\x4e\x4e\x92\xcb\xe5\xe8\x5c\xb8\x80\xdd\x2f\xbd\x84\
+\x5b\xd4\xb8\xee\xe6\x7f\xe4\xd8\x8b\x5b\xd1\xc2\x07\x59\xb0\x60\
+\x01\x75\x75\x75\xf6\x31\x67\x23\x6b\x8c\x6b\x22\x91\xb0\xe3\x01\
+\x91\x48\x84\x54\x2a\x85\xdf\xef\x77\xb8\x7d\x36\xe7\xc1\x5c\x7b\
+\xe0\x78\x3c\x6e\xcf\xdf\xb5\x00\x10\x08\x04\x70\xb9\x5c\x54\x57\
+\x57\x13\x0a\x85\xc8\x64\x32\x9c\x3e\x7d\xba\x82\x49\x25\x49\x42\
+\x55\x55\xaa\xaa\xaa\x51\x85\x02\x66\xec\x04\xe8\xb9\x0b\x10\x3b\
+\x06\xd1\xbe\x97\xe8\xdd\xfa\x6f\x8c\x1f\x7d\x1e\xaf\xd7\x4d\x75\
+\x75\x8d\x7d\xed\x74\x3a\x4d\x3a\x9d\xc6\x30\x0c\x12\xf1\x38\x55\
+\x75\x8d\xac\x7f\xd3\x07\x59\x7a\xe9\xf5\x34\x2c\x58\x81\x8e\x88\
+\x38\xb5\xaf\xae\xeb\xe7\xdc\x0c\xc3\xc0\xe5\x72\x55\x14\xcc\x47\
+\x22\x11\xdb\x30\x76\xc8\xb1\x01\x18\x1d\x1d\xb5\x75\x64\x8b\x34\
+\x4d\x23\x9d\x4e\x23\x8a\x22\x6e\xb7\x1b\xc3\x30\x18\x18\x18\xa0\
+\xaa\xaa\x8a\x50\x28\x64\xab\x42\x56\xb7\x88\x4d\x9b\x36\xe3\xf7\
+\xfb\x19\x1e\x1e\xe6\xd9\x67\x9f\xbd\xa0\xeb\xfa\xbc\x5e\x44\x09\
+\x5a\x5b\xdb\x90\x65\xd9\x2e\x60\xb1\xd4\x15\x80\x48\x6c\x92\x86\
+\x45\x1b\x58\x73\xd5\xfb\xc8\xa5\x13\xb4\x76\xad\xe1\xf4\xfe\xa7\
+\xe9\xeb\x3b\x8e\xac\x28\x15\x76\xcb\xb9\xa4\x40\x79\xf9\x66\x3c\
+\x1e\x27\x99\x4c\x3a\x9c\xee\x48\x80\x33\x00\x28\x1f\x55\x6a\x9a\
+\x26\xae\x29\x43\xd3\xeb\xf5\xe2\xf7\xfb\xf1\x78\x3c\x24\x12\x09\
+\x8e\x1e\x3d\x5a\xd1\x74\x4a\x96\x65\x7b\x1f\x51\x14\xa9\xab\xab\
+\xbb\xa0\x6b\x7a\xbd\x5e\xde\xb0\x65\x0b\xef\x7a\xd7\xbb\x59\xb4\
+\x68\x11\x92\x24\x91\xc9\x64\x48\x24\x12\xb6\x24\x8a\x44\x22\x64\
+\x34\x81\xcb\xdf\xf5\x71\x74\xad\x58\xea\x37\x34\x7f\x29\xd5\xf3\
+\x96\x33\x34\x34\x62\xdf\xc7\xf9\x36\x51\x14\xed\xd9\x02\x56\x9b\
+\xc7\xe9\x2e\x5f\x87\xe6\xb0\x04\x18\x1f\x1f\xb7\x0d\x60\x2b\x6a\
+\xda\xda\xda\x8a\x61\x18\xf8\x7c\x3e\x92\xc9\x24\x63\x63\x63\x64\
+\x32\x19\xc6\xc7\xc7\xd9\xb7\x6f\x1f\x2b\x56\xac\xc0\xe7\xf3\x95\
+\x8c\x60\xbf\x9f\xc9\xc9\x33\xa5\x8d\x7e\xbf\x9f\x3f\xfb\xb3\x3f\
+\x03\xb0\x55\x26\x4b\xad\x19\x19\x19\x61\xdf\xbe\x7d\x74\x75\x75\
+\x51\x55\x55\xc5\xc4\xc4\x04\x86\x61\x90\xcd\x66\xed\x73\x08\x82\
+\x40\x34\x1a\x21\x9e\x29\xf2\x96\x8f\xfd\x13\x9e\x40\x15\x86\x56\
+\x44\x10\x45\x0c\x43\xa7\x7b\xe3\x35\xec\x3c\xb5\x8f\x5c\x26\x4d\
+\x47\x47\xc7\x39\x87\x71\x08\x82\x40\x3a\x9d\x66\x78\x78\xd8\x06\
+\x4c\x2a\x95\x72\x00\xe0\x00\xe0\x0c\x25\x93\xc9\x0a\x26\x52\x55\
+\xd5\xd6\xc1\x8b\xc5\xa2\x3d\x0e\x35\x16\x8b\xa1\xeb\x3a\x91\x48\
+\x84\x57\x5e\x7e\x99\xd5\x6b\xd6\x10\x0c\x06\xed\xf4\x09\x2b\xda\
+\xda\xd8\xd8\xc8\xd7\xbf\xfe\x75\xdb\xae\x28\xf7\x36\x6d\xdf\xbe\
+\x9d\xaf\x7e\xf5\xab\xf6\x80\x6d\x2b\x5d\xc1\x1a\xb5\x2a\x49\x12\
+\xa7\x4e\x9d\x22\x99\xce\x71\xc3\x5f\x7f\x93\xc6\x8e\xa5\x68\x85\
+\x3c\xa8\x02\xb2\xa8\x62\xe8\x1a\xcd\x0b\x96\x53\xd5\xb6\x9c\x9e\
+\x23\x7b\x69\x6c\x6e\xc1\xef\xf7\x9f\x69\xcd\x78\x96\x2e\x13\x8a\
+\xa2\x90\xcd\x66\x11\x45\x91\x64\x32\x49\x3a\x9d\x76\x5c\xa1\x0e\
+\x00\x4a\x94\x48\x24\x2a\xda\x89\x88\xa2\x48\x22\x91\xc0\x34\x4d\
+\x0c\xc3\x40\x96\x65\xaa\xaa\xaa\x88\x46\xa3\xe4\xb2\x19\x9a\xbb\
+\xd6\x82\x20\xb1\x67\xcf\x5e\x56\xae\x5c\x51\x51\x6b\x9b\xcb\xe5\
+\xa8\xae\xae\xa6\x58\x2c\xce\xd0\xcf\xdd\x6e\x37\xe1\x70\x98\x74\
+\x3a\x4d\x6b\x6b\xab\x0d\x10\xd3\x34\x09\x04\x02\x64\xb3\x59\x4e\
+\x9c\x38\x41\xc1\x94\xf8\xe0\x17\x1e\xc0\x5f\xd5\x40\x21\x9f\x2d\
+\x35\x52\xd1\x35\x50\x4a\x7d\x80\x74\xad\xc8\xda\x2b\xdf\xc5\x2f\
+\xee\x7a\x91\x3d\xaf\xbc\x4c\xf7\xe2\x25\xf6\x79\x66\x93\x00\xd3\
+\xef\xc3\x2a\xa5\x74\x5c\xa1\x0e\x00\x6c\x09\x50\x0e\x00\xcb\xff\
+\x6f\x31\x94\x32\x65\x6c\xe6\x72\x39\x72\x99\x34\xb2\xea\x66\xf3\
+\x9f\xfc\x35\x47\x5e\x7a\x9c\x13\xbb\x7f\xc9\x32\x97\x0b\xcf\x54\
+\x8b\x92\x58\x2c\xc6\xba\x75\xeb\xce\x3a\x37\x38\x93\xc9\xd8\x43\
+\xf4\xca\xa5\x8e\xae\xeb\xf4\xf5\x1e\xc3\xd7\xb8\x88\x3f\xf9\xd8\
+\x97\x09\xd6\xb7\xa1\x4f\x15\xd8\x98\x94\xd2\xb1\x0d\x5d\x47\x94\
+\x24\x0c\x5d\xa3\xb6\x75\x11\x6b\xae\x7a\x2f\x7b\x7f\x75\x0f\xcd\
+\xcd\xcd\xd4\xd4\xd6\x9d\x35\xc3\xd3\x9a\x69\x5c\xce\xf0\xe5\xd2\
+\xc9\x21\x47\x02\xcc\x08\x82\x05\x83\x41\x9b\xa1\x7c\x3e\x9f\x3d\
+\x84\x2e\x95\x4c\x90\xcd\xa5\xd0\x0d\x9d\x4b\xde\x7a\x13\x13\x27\
+\xf6\x51\x2c\x16\xf1\x4c\x49\x8e\x81\x81\x01\x6e\xbb\xed\xb6\x59\
+\x99\xd1\x4a\x4d\xb0\x5c\xaf\x56\x4f\x4f\x51\x14\x19\x1f\x0b\x53\
+\xd3\xbe\x82\x6b\x3e\xfc\x79\x02\xb5\x4d\x53\xfd\x81\xc4\xa9\xc2\
+\x78\x03\xd3\x34\x30\xf4\x22\xe2\x94\x4d\x51\xc8\xa5\x59\x75\xc5\
+\xbb\xe8\xdf\xff\x3c\x3b\x9e\x7f\x81\xf7\xbe\xf7\x4f\xec\xe0\xd8\
+\x74\xe6\x2f\x16\x8b\xc4\xe3\xf1\x8a\xe4\x39\x4b\xe5\x72\x24\x80\
+\xe3\x05\xb2\x07\x5d\x97\xab\x40\x85\x42\x81\x42\xa1\x40\x3e\x9f\
+\x47\xd3\x34\xbb\xd6\xb6\xa1\xa1\x01\xbd\x90\x21\x13\x8f\x10\xa8\
+\x6d\x46\x47\x44\xd7\x35\x44\x51\x24\x1c\x0e\xa3\xaa\x2a\xd7\x5e\
+\x7b\xed\xac\x12\x40\xd3\x34\x96\x2f\x5f\x4e\x6b\x6b\x2b\x23\x23\
+\x23\x15\xcc\x97\x4e\xa7\x98\xb7\x74\x23\x8a\x3a\xe5\xb3\x9f\x4a\
+\xa3\x90\x64\xc5\x06\x8f\xa1\x57\xb6\x63\xd4\x8b\x05\xae\xbb\xe9\
+\x76\xd2\xa6\x97\xc7\xb7\x6d\x23\x99\x4c\xa0\x69\x9a\xbd\x15\x8b\
+\x45\xbb\xaf\xe9\x74\x50\x14\x0a\x85\x0b\x9a\x64\xe9\x00\x60\x0e\
+\xd0\x74\x66\xcd\xe5\x72\x4c\x4c\x4c\x30\x31\x31\x41\x24\x12\x21\
+\x12\x89\x90\x48\x24\x28\x14\x0a\xa8\x2e\x17\xc5\x6c\x92\x6c\x6a\
+\x12\x49\x92\xa9\x6e\x59\x40\x78\x3c\xc2\xc4\xc4\x04\x2f\xbd\xf4\
+\x12\xff\xfc\xcf\xff\x6c\xcf\xed\x9d\x4e\xba\xae\xd3\xdd\xdd\xcd\
+\x75\xd7\x5d\x67\xe7\xe4\x58\xcc\x3c\x3a\x3c\x44\x5d\x5b\x17\x20\
+\x60\x94\xb5\x58\x91\x64\xb9\xe2\x3e\x75\xad\x78\x06\x10\x86\x81\
+\xea\xf1\xf3\x8e\x4f\x7c\x8d\xfe\xd1\x38\x0f\x3c\xf0\x00\x7d\x7d\
+\x7d\xc4\xe3\x71\xfb\xbe\x23\x91\x08\xb1\x58\x8c\x42\xa1\xb2\xad\
+\xcb\x6c\xc0\x70\x68\x0e\x03\xa0\x9c\x61\x15\x45\xc1\xe7\xf3\xcd\
+\xd8\x82\xc1\x20\xd5\xd5\x35\xa0\xe7\xc9\xa5\xe3\x14\x0b\x59\xd6\
+\x5c\xf5\x27\x44\x53\x79\x76\xed\xda\xc5\x27\x3f\xf9\x49\xae\xbf\
+\xfe\xfa\xb3\x1a\x97\xd6\x58\xd3\x0f\x7d\xe8\x43\xbc\xfd\xed\x6f\
+\xe7\xe0\xc1\x83\x64\xb3\x59\x7a\x0e\x1d\xc4\xdb\xb0\x90\xe6\x45\
+\xab\x11\xa7\xe6\x82\x59\xe7\x10\x44\xd1\x56\x7b\x4a\x6a\x90\x86\
+\x69\x1a\xb6\x8f\x5f\xd7\x8a\x04\x6a\x9a\xf8\xc0\x3f\xfc\x17\x52\
+\x68\x1e\x3f\x79\xf0\x41\x9e\x7f\xfe\x79\xa0\xd4\x24\xab\xaa\xaa\
+\x8a\xaa\xaa\x2a\x5c\x2e\x97\x1d\x10\x93\x24\xa9\x6c\x9e\x81\x53\
+\x1d\x36\xe7\x6d\x80\xe9\xaa\x80\xdb\xed\x26\x14\x0a\xcd\x60\x0c\
+\x4d\xd3\xc8\x64\x32\xf8\x7c\x3e\x32\xf1\x09\xb4\x42\x9e\x23\x2f\
+\x3c\xce\xbc\xa6\x3a\xde\xf3\xb6\xeb\xb8\xf5\xd6\x5b\x2b\xe6\xf8\
+\xce\x66\x8c\x5a\xa9\xc9\x9f\xfb\xdc\xe7\x08\x87\xc3\x3c\xf6\xd8\
+\xa3\x98\x26\xfc\xe9\xdf\xdf\x87\xdb\x17\xa4\x90\xcb\xa0\xeb\x5a\
+\xd9\x47\x10\x90\x65\x95\x82\x9e\x2d\x81\x55\xd7\xd0\x35\x0d\x79\
+\xca\x23\x54\x3a\xa7\x8e\xea\xf6\x72\xe3\x67\xbf\xcf\x33\x0f\x7c\
+\x8d\xfd\xcf\x3c\xc4\x2b\xaf\xbc\x82\x2c\x49\xa5\xa1\xda\x76\xc2\
+\x9c\x08\x94\xa4\x5d\x2a\x95\xc4\xed\x72\x71\xd5\xd5\x57\x33\x6f\
+\xde\xbc\x0a\x30\xcc\x75\xbb\x60\xce\x37\xc7\xcd\xe7\xf3\x76\xae\
+\x4c\xb9\xe1\x68\x18\x06\xb9\x5c\x0e\x59\x56\x48\x45\x47\x19\x3c\
+\xbe\x97\x91\x63\x2f\xf2\x9d\x6f\x7c\x89\x4b\x2f\xbb\xdc\xb6\x25\
+\xce\x3d\xec\xa2\x94\xa1\x59\x5d\x5d\xcd\xa7\x3f\xfd\x69\x6a\x6b\
+\x6a\x78\xf8\x67\x3f\xc7\x57\xd5\x00\x82\x80\x28\xc9\x68\x85\xdc\
+\xd4\x2a\x5f\x4a\xa9\x16\x25\x19\x51\x94\x30\xa6\x5a\xb2\xeb\xc5\
+\x02\xa2\x28\x95\xa4\x45\x59\x77\xea\x42\x2e\xcd\x1b\xde\xf7\xd7\
+\xac\xb9\xfa\xbd\x84\xfb\x0f\x93\x9c\x1c\xc3\xd0\x35\x54\x97\x07\
+\xd5\xe3\x47\x94\x64\xf4\x62\x81\x6c\x2a\x46\x78\xe0\x38\x1f\xfd\
+\xc4\x6d\xf8\xa4\x02\xef\xfb\xd3\x1b\xf9\xec\xed\xb7\xd3\xd6\xd6\
+\xe6\x18\xc5\x73\x11\x00\xaa\xaa\xce\x98\xb6\x98\xcd\x66\x67\x48\
+\x00\xd3\x34\xd1\x34\x0d\xd5\xe5\x26\x3d\x39\xc6\x8b\xbf\xba\x9f\
+\x37\x5d\xb5\x99\x85\x0b\x3b\x5f\x95\x3e\x6d\x79\x66\x6a\x6b\x6b\
+\xf9\x1f\x1f\xff\x38\x2f\xec\xdc\x61\x97\x53\x4a\x92\x4c\xd1\x2c\
+\x8d\x59\x92\x64\x75\xea\x00\x11\x59\x75\x51\xcc\x65\x30\x01\xc3\
+\xd0\xd1\x0a\x39\x14\x97\xbb\xd4\x49\xba\x0c\x74\xc5\x7c\x0e\x6f\
+\xb0\x96\x05\xab\x37\x9d\x57\xed\xbb\xe6\xcf\x3e\xcd\xc9\x9e\x9d\
+\xfc\xf0\x7b\x77\x70\xff\x0f\xef\x67\xdb\xb6\xc7\xb9\xf4\xd2\x4b\
+\x1d\x1b\x60\xae\x3d\xb0\xdb\xed\xae\x28\x2c\x91\x65\x99\x50\x28\
+\x34\xeb\x56\x5d\x5d\x4d\x4d\x4d\x2d\x99\x58\x98\x13\xbb\xb7\xf1\
+\x86\xcb\x36\x50\x37\xad\xfb\xc2\x85\x90\x55\x53\x20\x49\x12\x7e\
+\x9f\x17\x2d\x9f\x85\xa9\xae\x0f\xa2\x28\xa2\x4f\x01\xaa\xc4\xdc\
+\x20\x4a\x92\xed\x11\x2a\x49\x11\x8d\x62\x3e\x87\x61\xe8\xaf\x49\
+\x7d\x11\x45\x11\x04\x81\xce\xd5\x57\x70\xcb\xd7\x7e\x4d\xd7\xa5\
+\x37\x70\xd9\x65\x97\xf3\xfd\xef\x7f\x7f\xce\xdb\x05\x73\x4e\x02\
+\x78\x3c\x9e\x19\x43\x2e\xca\x03\x61\xd3\x19\xb7\xba\xa6\x86\xdc\
+\xfe\xfd\xac\x5d\xbb\x8a\xae\xae\xae\x8a\x4c\xcb\x57\x43\x8a\xa2\
+\x20\x08\x02\x81\x60\x90\x42\x26\x59\x1a\x97\x24\x8a\x08\xa2\x34\
+\x65\xec\x4e\xa9\x37\x94\x3a\x42\x48\x8a\x0b\xc3\x30\x6c\xa6\xd7\
+\x75\x0d\x23\x97\x41\x56\x5c\xc8\x8a\xfa\xaa\xaf\x5f\x32\xa2\x0b\
+\x08\x82\xc8\xd5\x7f\xfe\x19\xda\x97\x6e\xe4\x23\xb7\x7c\x8c\x54\
+\x2a\xc5\xc7\x3f\xfe\xf1\x39\x6b\x0f\xcc\x39\x00\xb8\xdd\xee\x19\
+\x2a\xd0\x74\x1b\xc0\x62\x98\x5c\x2e\x37\xc5\x84\x06\x57\x5f\x7d\
+\x8d\x9d\x34\xf7\x5a\x18\xc5\x02\x40\x28\x18\xa4\x90\x4d\x96\xf4\
+\x7e\xc4\x92\xbe\xaf\x6b\x53\x6a\x90\x82\x30\x15\x17\x10\x25\xa9\
+\xa4\x0a\xe5\xb3\x67\xc0\x61\x18\x14\xf3\x59\x74\xad\x80\xa2\xba\
+\x11\x25\xb9\x02\xac\xe7\xbb\x2f\xab\xed\xba\xa1\x15\x59\xb4\xee\
+\x4a\xde\xf9\xb7\x77\xf2\x57\x7f\x75\x33\xad\xad\xad\xdc\x70\xc3\
+\x0d\x73\x12\x04\x73\x4e\x05\xf2\xfb\xfd\x15\x95\x55\xd9\x6c\x96\
+\x74\x3a\x4d\x2a\x95\xb2\xb3\x38\xad\x2d\x9f\xcf\xdb\x45\x26\x2b\
+\x56\xac\xb0\x8b\xce\x5f\x2d\x99\xa6\x69\x03\xa0\xaa\xba\x9a\x5c\
+\x6a\x12\xd3\x4a\xaa\x93\xe4\x29\x7b\x63\x2a\x57\xa8\x6c\x56\x8c\
+\x24\x2b\xc8\x2e\x77\x85\xd4\x11\x04\x01\x43\xd7\xc9\x67\xd3\xe4\
+\x33\x49\x8a\xf9\x1c\xba\x56\xc0\x34\xf4\x0a\x17\xaf\x59\xba\xf0\
+\xac\x20\x60\xca\xb6\x68\x5f\xb6\x91\xeb\x3f\xf6\x65\x3e\xfc\xe1\
+\x0f\x33\x30\x30\x30\x27\xa7\x4c\xce\x39\x09\x50\x5b\x5b\x5b\x01\
+\x00\x4d\xd3\xa8\xa9\xa9\x99\xc1\xd8\x96\x27\x68\x74\x74\x94\x55\
+\xab\x56\x31\x6f\xde\xbc\xdf\x2a\x9a\x6a\xb9\x4c\xab\xab\x6b\x74\
+\xae\x08\x63\x00\x00\x20\x00\x49\x44\x41\x54\x18\x18\x8d\x61\x98\
+\x06\xd2\x94\x7e\x5e\x1a\x97\xa4\x97\xe6\x10\x8b\x52\xc5\x8a\x2e\
+\xc9\x2a\x82\x09\xc5\x42\x6e\x86\xed\x51\x92\x4e\x79\x28\x5a\xc1\
+\xe4\x92\x44\x91\x65\x15\x51\x96\xcf\x39\x96\x55\x10\x04\xb4\x62\
+\x81\x25\x1b\xdf\xc4\xf8\xc0\x31\xde\xfd\xae\x77\xb0\x7d\xc7\x4e\
+\x5c\x2e\x97\x23\x01\xe6\x0a\x00\x2c\x37\xa5\xa2\x28\x78\x3c\x1e\
+\xdc\x6e\x77\xc5\xe6\xf3\xf9\xc8\x66\xb3\x74\x75\x75\x31\x6f\xde\
+\xbc\x73\xaa\x3f\x56\x8a\xf2\xf4\x29\x2e\x15\xcc\x2c\x49\xd4\xd6\
+\xd6\x91\x4f\xc5\x6c\x09\x60\xb9\x43\x4b\x60\x2c\xce\x54\x67\x4c\
+\x13\x49\x51\x51\xdd\x3e\x24\x49\xb6\x57\xe9\x72\x30\xd8\x1d\x29\
+\x4c\x13\x5d\x2b\x52\xc8\xa5\x4b\x5e\x24\xd3\x38\x67\x00\xcc\x52\
+\x89\xd6\x5f\xfb\x67\xf4\x9f\xe8\xaf\xb8\x5f\x47\x02\xfc\x37\x06\
+\x80\x5c\x96\x72\x20\x08\x02\xa3\xa3\xa3\x15\xb5\xb4\xe5\x15\x56\
+\xa3\xa3\xa3\x6c\xd9\xb2\x85\xa6\xa6\xa6\xb3\x66\x55\x9a\xa6\xc9\
+\xb6\x6d\xdb\xf8\xd5\x2f\x1f\xe3\xba\x37\xbd\x89\xb7\xbf\xfd\x86\
+\x8a\xaa\x33\x8b\x69\x65\x59\xa6\xb6\xb6\x96\x6c\x6a\x77\xc5\xcc\
+\x61\x49\x92\x4b\x55\x60\x9a\x86\xa9\x4c\x9b\x4b\x36\x75\xac\x28\
+\x49\xa8\x6e\x2f\x9a\xd5\x5e\x65\x2a\x57\x68\xc6\x1c\xb3\xa9\xfd\
+\x35\xad\x88\x61\x1a\xb6\xad\x70\x2e\xe3\xfd\xf0\xce\x47\x79\xd3\
+\xf5\x6f\xb2\x57\xff\xb9\x64\x07\xcc\x39\x09\x30\x5b\x77\x85\x54\
+\x2a\x65\x27\xc4\x59\x49\x71\x85\x42\x81\x68\x34\x8a\xd7\xeb\xa5\
+\xb5\xb5\xd5\xee\xbb\x39\x9d\xf1\x45\x51\xe4\x9e\x7b\xee\xe1\x03\
+\x1f\xf8\x00\x4f\xbd\x72\x82\xcf\x7d\xfe\x1f\xd9\xbd\x7b\xf7\xac\
+\x51\x62\x59\x96\xa9\x99\x2e\x01\xa6\xec\x80\xd2\xf9\x8c\x33\x69\
+\xd1\xd3\x0c\x72\x2b\x69\x4e\x56\x54\x14\x97\x17\xd5\xe3\x43\x56\
+\x55\x04\x81\x59\xb3\x42\x01\x0c\x5d\xa7\x90\xcf\xda\x39\x45\xd3\
+\x75\x7c\xab\x01\xef\xc1\x67\x1f\x62\xf3\x1b\xb6\x30\x39\x39\xf9\
+\x9a\x6c\x1c\x47\x02\xfc\x3f\x44\xad\xad\xad\x28\x8a\x52\xb1\xda\
+\x4b\x92\x44\x73\x73\xf3\x8c\x42\x99\x53\xa7\x4e\xd1\xd4\xd4\x64\
+\xeb\xff\xd3\x2b\xb0\x44\x51\x64\xef\xde\xbd\xfc\xdd\xdf\xfd\x3d\
+\x37\xfe\xfd\xf7\x68\xea\x5c\xc9\xbe\x27\x7e\xc8\xf7\xee\xbd\x87\
+\x4d\x9b\x36\xcd\xa8\x3d\x96\x65\x99\xda\xba\x5a\xb2\xd3\x00\x80\
+\x20\xd8\xd1\x5f\x5d\xd3\x90\x14\x73\xc6\x8a\x3d\x7d\x95\x07\x11\
+\x45\xf5\xa0\xa8\x6e\x0a\xb9\x1c\xba\x5e\x00\x93\x19\xfb\x5b\x9e\
+\x23\xd3\x34\x4b\xf6\x44\x85\x41\x2d\x12\x3e\xd1\x43\x6e\x32\x4c\
+\x36\x9b\x23\x1a\x8d\x12\x08\x04\x1c\x1b\xe0\xbf\x2b\x59\x65\x88\
+\xd3\x7b\x6c\x5a\x5d\xd7\xa6\x17\x97\x47\xa3\x51\xaa\xaa\xaa\x66\
+\x35\x80\xad\xfd\x3e\x75\xeb\x27\xb9\xe2\x03\xb7\x32\x6f\xd9\x46\
+\x44\x51\xa2\xb1\x73\x1d\xc7\xfa\x4e\xd9\xbd\xfa\xcb\x49\x55\x55\
+\xaa\xab\xaa\x29\x66\xe2\x18\x66\xe5\x4a\x6b\x65\x82\x9a\xa6\x81\
+\x36\x25\x05\xce\x97\x66\x51\xf2\xf5\x08\xa8\x6e\x0f\xaa\xcb\x8b\
+\x30\x8b\x94\xb2\x55\xa2\x7c\x16\x5d\xcb\x57\xa4\x53\x48\xb2\xc2\
+\xee\x6d\xdf\xc7\x1f\x08\x30\x34\x34\x44\x26\x93\x99\x73\x5e\xa0\
+\x39\x05\x00\x8b\xa1\xe6\xcf\x9f\x5f\xa1\x06\x25\x12\x89\x8a\x94\
+\x62\x6b\x1b\x1a\x1a\x22\x14\x0a\xd1\xd2\xd2\x32\x43\x35\x90\x65\
+\x99\x9f\x3d\xf2\x08\xa7\xc6\xd3\xac\xbb\xe6\xc6\x52\x4e\x0f\x26\
+\xde\x40\x15\xae\xda\xf9\xec\x7c\x7e\x7b\x85\x1a\x64\x9a\x66\x29\
+\x0a\x2d\x49\x54\x07\xfd\xe4\x53\x65\x33\x83\xa1\xb4\x3a\x4f\xed\
+\xa7\x6b\xc5\x8a\x54\xe8\x73\x3c\x51\x85\xcb\x54\x75\x7b\x67\x55\
+\xd5\xac\x00\x9b\xed\x32\x9d\xb2\x29\xa2\xc3\x27\x38\xf6\xe2\xe3\
+\x78\xbd\x3e\xdc\x6e\xf7\x8c\x34\x11\x07\x00\xff\x4d\x69\x3a\x00\
+\x74\x5d\xb7\x8b\xe5\x35\x4d\x43\xd7\x75\x7b\x35\xac\xaf\xaf\xb7\
+\x2b\xc4\x2a\x56\x6c\x49\xe2\xce\x3b\xff\x0f\x9b\xdf\xf3\x57\x53\
+\x3e\xc8\x92\xc7\xc6\x13\xa8\x42\xad\x9e\xc7\xae\x9d\x3b\x2b\x54\
+\x2d\x4b\x05\x12\x45\x91\x96\xd6\x56\x12\x13\xc3\x67\xfc\xf4\x82\
+\x00\x82\x80\x34\x35\x30\xdb\x34\x0c\xb4\x42\xde\x9e\x42\x73\x21\
+\x9e\x99\x92\x4a\x26\xa1\xba\x7d\xb3\x82\xc0\x76\xfb\x16\xf2\x18\
+\x5a\x91\x54\x6c\x9c\x47\xfe\xf5\xaf\x51\x64\x89\xc6\xc6\x46\xe6\
+\xcd\x9b\x47\x30\x18\x3c\x6f\xff\x51\xc7\x06\xf8\x6f\x40\x56\x6f\
+\x9e\xe9\xab\xa4\x15\x0f\xb0\xea\x7d\x43\xa1\x10\xad\x53\x0d\x72\
+\xcb\x57\x46\x49\x92\x78\xf9\xe5\xdd\xf4\x0f\x4f\xf0\x86\x55\x9b\
+\x4a\x69\x0d\x53\x7f\x77\x7b\xfc\x78\x6a\x5a\xe9\x39\xf2\x2b\xb2\
+\xd9\x4c\xc5\xec\x2e\xd3\x34\x51\x55\x95\x96\x96\x56\x06\x23\xc3\
+\xf6\x44\x78\xdb\x16\x51\x94\x92\x87\x67\x2a\x05\xa2\x98\xcf\xa2\
+\xb8\x3c\x53\x5e\x9c\x0b\x93\x6e\x82\x28\xa2\xb8\x3c\x14\x72\x99\
+\x8a\xeb\x02\x28\xaa\x9b\x68\xf8\x14\x47\x5f\xf8\x15\x7b\x7e\xf3\
+\x00\x5a\x21\x47\x5d\x5d\x1d\xf3\xe7\xcf\x67\xc1\x82\x05\xf8\xfd\
+\x7e\x47\x02\xcc\x05\x5a\xb9\x72\x65\x85\x2b\xd4\x34\x4d\x52\xa9\
+\x94\x3d\x86\x54\x51\x14\xf2\xf9\x3c\x1e\x8f\xc7\x4e\x7f\x28\xdf\
+\x57\x55\x55\xee\xbb\xf7\x3f\x59\x7a\xe9\xdb\x28\xe6\xb3\x15\xbe\
+\x79\x13\xf0\x57\x37\x50\x54\x82\x1c\xd8\xbf\x7f\xc6\x75\xdc\x6e\
+\x37\xed\x1d\x1d\x4c\x86\x4f\xda\xae\xd0\x33\xad\x0c\x25\x14\x97\
+\xc7\x56\x6d\x8c\x29\x03\xd6\xd0\x35\x40\xb8\x20\x29\x60\x79\x95\
+\x14\x97\xbb\xc2\x43\xe4\xf2\xfa\x39\xf8\xdc\xc3\xfc\xec\x5b\x7f\
+\xcd\x4b\xbf\xbc\xaf\x94\x61\xaa\x28\xd4\xd7\xd7\xb3\x78\xf1\x62\
+\xda\xdb\xdb\xed\xa1\xdb\x73\xc9\x0e\x98\x73\x00\xb0\x0c\xe1\x05\
+\x0b\x16\x54\xa8\x17\xd1\x68\x94\x70\x38\x4c\x38\x1c\x66\x6c\x6c\
+\x8c\xc1\xc1\x41\x64\x59\xa6\xb9\xb9\xb9\xc2\x00\xb6\x82\x67\x5b\
+\xb7\x6e\x63\xc1\x9a\xcd\xe4\xd2\x09\x0a\xb9\xb4\x6d\x14\x9b\xa6\
+\x41\xa0\xaa\x1e\xc3\x55\xcd\xbe\xbd\x7b\x66\x94\x4c\xba\x5c\x2e\
+\x3a\x3b\x17\x11\x1d\x39\x31\x6b\x56\xa9\x20\x4a\x28\xaa\x6a\xff\
+\x5c\x02\x41\xae\x42\x1d\x02\xf3\x9c\x52\xa0\x04\x02\x05\x49\x76\
+\x4d\x79\xb9\x64\x5e\x7c\xf4\x3f\x79\xf6\xc1\x7f\x25\x19\x19\xb1\
+\xa5\x58\x30\x18\x64\xe1\xc2\x85\x2c\x5d\xba\x74\x46\x80\xd0\x01\
+\xc0\x7f\x73\x43\x78\xf5\xea\xd5\x15\xfa\xae\x55\x00\xa3\xaa\x2a\
+\x8a\xa2\xd8\xbd\xf6\x1b\x1a\x1a\x2a\x24\x80\xa2\x28\x3c\xf1\x9b\
+\xc7\xf1\x35\x2c\x44\x75\x97\x54\x86\x42\x36\x6d\x1b\xad\x98\x26\
+\xbe\x50\x2d\x86\xbb\x9a\x83\x07\x0f\xd8\xde\x25\x0b\x68\x2e\x97\
+\x8b\x85\x9d\x9d\x4c\x8e\x9c\x9c\xc1\xc8\x76\xc4\x58\x51\x2b\xd2\
+\xa1\x0d\x43\xa7\x58\xc8\xdb\x33\x09\x4c\x53\x38\x2f\xc8\x85\xa9\
+\x98\x81\xac\xba\xd9\xfb\xe4\x8f\x79\xf1\xd1\xef\xa2\xe5\x4b\xcd\
+\xb2\x14\x45\x21\x18\x0c\xd2\xd1\xd1\xc1\xea\xd5\xab\x59\xb4\x68\
+\xd1\x9c\x54\x7f\xe6\xac\x0a\x04\xb0\x66\xcd\x9a\x0a\x00\x58\x35\
+\xbc\x75\x75\x75\x54\x57\x57\x23\x49\x12\x2e\x97\x8b\x9a\x9a\x9a\
+\x8a\x15\x5c\x55\x55\x1e\x7b\xec\x51\xe6\x2d\xbf\x14\xa1\xec\xf8\
+\x42\x36\x65\xe7\xde\x88\xb2\x8c\xaf\xba\x89\x89\x78\x96\xc1\xd3\
+\x03\x15\xd7\x29\xcd\xf2\x0a\x51\x5b\xe5\x2f\x19\xc2\xb3\xe9\xf1\
+\x82\x88\xac\xb8\x10\xa7\x0a\x60\xa0\x54\x1e\xa9\x15\xf2\x53\xe9\
+\x0d\xe7\x56\x53\x2c\x95\x4c\x71\x7b\x39\x75\xe8\x05\xf6\x3e\xf1\
+\x63\xb4\x62\x1e\x49\x92\xf0\x7a\xbd\x34\x34\x34\xd0\xdd\xdd\xcd\
+\xc6\x8d\x1b\xd9\xb0\x61\x83\x1d\x1b\x99\x6b\xea\xcf\x9c\x07\x80\
+\xd5\xab\xc7\x92\x00\xb1\x58\xac\x62\x10\x45\x7d\x7d\xfd\x0c\xa6\
+\x10\x04\x81\x17\x5e\xd8\xc5\xc0\x91\x57\x6c\x2f\x4e\xc9\x75\xa9\
+\x95\x7a\x7a\x4e\xa5\x2d\x57\xd5\xb5\x90\xd6\x5d\x1c\x3e\xdc\x53\
+\xa1\x06\x59\xb3\x06\x56\xaf\x5a\xcd\xf0\xb1\x3d\x67\x59\xc1\x99\
+\x4a\x87\x56\x2b\x02\x5b\x9a\x56\x44\x2b\x16\xca\x8c\xdb\x73\x78\
+\x84\x24\x99\xc9\xf0\x00\xfb\x9f\xfe\x09\xa9\xd8\x58\x29\x06\x51\
+\x5d\xcd\x82\x05\x0b\x58\xbf\x7e\x3d\x57\x5c\x71\x05\x57\x5d\x75\
+\x15\xcb\x97\x2f\x27\x14\x0a\xd9\x20\x75\x8c\xe0\x39\x62\x07\x00\
+\x5c\x72\xc9\x25\x15\x1f\xbd\x50\x28\x70\xf2\xe4\x49\xc6\xc6\xc6\
+\xc8\xe7\xf3\x34\x36\x36\x56\x24\xc0\x49\x92\xc4\xd1\xa3\x47\x99\
+\x98\x88\xd0\xb7\xe7\x69\xb2\xa9\x78\xf9\x59\xd1\xad\x94\x66\xc3\
+\xa0\xba\xb1\x8d\x44\x51\xe6\xd0\x81\x03\x33\xe2\x01\x3e\x9f\x8f\
+\x35\x6b\xd7\x32\x74\xfc\x95\x59\x57\x5d\x41\x30\xcb\xf4\x78\xb5\
+\x62\x9f\x92\x1b\xb3\x60\x57\x8f\xcd\x6a\xe3\xc8\x0a\xd9\x64\x8c\
+\xe7\x1f\xbe\x8b\xfe\x7d\xcf\xa1\x28\x0a\x35\x35\x35\x2c\x5e\xbc\
+\x98\xcb\x2f\xbf\x9c\xeb\xae\xbb\x8e\x6b\xaf\xbd\x96\xf5\xeb\xd7\
+\xd3\xd2\xd2\x62\xfb\xff\xe7\x62\x65\xd8\x9c\x04\x80\xc5\xd0\x5b\
+\xb6\x6c\xa9\xf8\xe8\xba\xae\x13\x8d\x46\x6d\x09\x30\x3d\x4d\x5a\
+\x51\x14\x76\xed\xda\x45\x36\x57\x1a\x8c\x71\x72\xff\xf6\x8a\xf3\
+\x96\xec\x80\x52\x84\xd6\xe3\x0b\x21\x07\xea\xe9\x3d\x39\x40\x2c\
+\x1a\xad\x50\x83\x5c\x2e\x17\x1b\x2f\xbe\x98\x53\x07\x77\x62\x62\
+\x22\x30\x9d\x93\x85\x32\x7b\x40\xb1\x5b\xa5\xd8\x40\xcd\xe7\x30\
+\xa7\x8a\xe6\x67\xae\xfc\x12\xa9\xc9\x71\x9e\xba\xff\x9f\x39\xf8\
+\xdc\x23\x76\x93\xaf\xa5\x4b\x97\xb2\x65\xcb\x16\xae\xbb\xee\x3a\
+\x36\x6f\xde\xcc\x8a\x15\x2b\x68\x6e\x6e\xb6\x2b\xe4\xe6\xe2\xea\
+\x3f\xa7\x55\x20\x80\x8d\x1b\x37\xda\x2d\x06\xcf\x64\x51\x96\x3a\
+\xbf\x79\x3c\x1e\xaa\xab\xab\x67\x04\xb2\x5e\x7a\xe9\x25\x72\x53\
+\x00\x18\xea\xdd\x57\xc9\x80\x86\x61\x07\x67\x0d\x43\xa7\x61\x5e\
+\x17\xe1\x78\x81\xa3\x47\x8f\x54\xb8\x43\x0d\xc3\x60\xfe\x82\x85\
+\x2c\x6c\x6f\xe6\xf4\xa1\x5d\x20\x0a\x67\xd5\xe3\x45\xb1\x54\x1f\
+\x3c\x3d\x37\xa8\x90\xcf\xda\x46\xb4\x59\x66\x5f\x44\x06\xfb\xd8\
+\x7a\xf7\xed\x1c\xde\xf9\x18\x92\x24\x11\x08\x04\xe8\xea\xea\x62\
+\xd3\xa6\x4d\x5c\x71\xc5\x15\xac\x5d\xbb\x96\x05\x0b\x16\x50\x53\
+\x53\x33\xa3\x3e\x7a\x2e\xd2\x9c\x7d\x7a\x2b\x99\xed\xea\xab\xaf\
+\xae\x58\xe5\xf3\xf9\x3c\xa7\x4f\x9f\x46\x14\x45\xaa\xaa\xaa\xec\
+\xbf\x59\x49\x73\x3d\x3d\x3d\x68\x9a\x86\x24\x49\x8c\x9f\x3e\x56\
+\xa6\x00\x99\x18\xd6\x8a\x6c\x9a\x18\x86\x4e\x63\x7b\x37\x23\xb1\
+\x3c\x47\x66\xb1\x03\xaa\xab\xaa\x78\xdb\xdb\x6f\xe0\xc0\xb3\x8f\
+\x54\x18\xbb\x25\x1f\xbe\x17\xd5\xe3\xc7\xe5\x0d\xa0\xba\x7d\xb8\
+\x7d\x21\x14\x97\x77\x2a\x6b\x54\x38\x53\x1e\x39\x05\xc4\x12\x40\
+\x44\xf6\x3e\xf1\x63\x1e\xfa\xc6\xff\xa4\xff\xc0\x0e\x84\xa9\x69\
+\x37\xed\xed\xed\x6c\xdc\xb8\x91\x4d\x9b\x36\xb1\x7c\xf9\x72\x1a\
+\x1b\x1b\xf1\x7a\xbd\xf6\x94\x9a\xb9\xba\xf2\x5b\x34\x67\xfb\x02\
+\x59\x1f\xfd\x1d\xef\x78\x07\x8f\x3c\xf2\x88\xdd\x41\xcd\x9a\x09\
+\x50\x57\x57\x67\xf7\xe2\xb7\x56\xd7\xd3\xa7\x4f\x13\x89\x44\x50\
+\x55\x15\x59\x96\x49\x4e\x8e\x63\xe8\x9a\x5d\xd6\x88\x69\x94\xc6\
+\xa3\x0a\x02\x82\x69\xe2\xaf\xaa\x43\xf0\xd6\x72\xbc\xaf\x9f\x44\
+\x22\x61\xa7\x54\x58\xee\xd0\x78\x3c\x41\xdf\xde\xa7\xd1\xa7\x7c\
+\xfc\xa6\x69\x72\xf2\xe0\xf3\xec\x7b\xf2\x41\x26\xc3\x03\xc8\x8a\
+\x0b\xc5\xe3\x23\x50\xdd\x48\x4d\x53\x07\x35\x2d\x0b\xa8\x9b\xb7\
+\x18\xb7\x2f\x38\xa5\x68\x95\xba\x4e\x1f\x7b\xe9\x71\x9e\x7f\xe8\
+\x2e\xa2\xa3\xfd\xf6\xb3\x79\xdc\x6e\x5a\x5a\x5a\x58\xbd\x7a\x35\
+\x97\x5e\x7a\x29\x4b\x97\x2e\xa5\xae\xae\xce\x2e\xcd\x2c\x77\x97\
+\xce\x65\x9a\xd3\x8d\xb1\x4c\xd3\xb4\x03\x41\x47\x8f\x1e\xb5\x03\
+\x41\x9a\x56\xea\xd2\x60\x79\x89\xac\x9a\xde\x63\xc7\x8e\x91\xcb\
+\xe5\xa8\xaa\xaa\x42\x51\x14\xd2\xa9\x24\xc9\xc8\x28\xa1\x86\xb6\
+\x8a\x73\x96\xe7\xe3\xb7\x74\x2e\xa7\x7f\xe4\x25\x4e\x9d\xec\x67\
+\xc9\xd2\x65\x14\x8b\x45\x54\x55\xa5\xb7\xb7\x97\xfb\xee\xbb\x0f\
+\x97\x22\xd3\xf7\xf2\x93\x54\x35\xb4\xb1\xed\xde\x2f\x30\xda\x7f\
+\xe8\xbc\xf7\x2d\x29\x2a\xc1\xda\x16\x0c\x43\x27\x3e\x76\xba\x52\
+\xa4\x4f\xa9\x6f\xcd\xcd\xcd\xac\x59\xb3\x86\xcb\x2f\xbf\x9c\x15\
+\x2b\x56\x54\x30\x7f\x79\x7d\xf1\x5c\xa7\x39\xad\x00\x5a\x0c\xf0\
+\xee\x77\xbf\xbb\xa2\xda\x4b\x10\x04\x8e\x1d\x3b\xc6\x33\xcf\x3c\
+\x83\xdb\xed\xa6\xba\xba\x9a\xc9\xc9\x49\xee\xbe\xfb\x6e\xe2\xf1\
+\x38\x2d\x2d\x2d\xb4\xb4\xb4\xe0\x76\xbb\x49\x44\x46\xcb\x92\xe1\
+\xb0\x7b\x7d\x96\x00\xa0\xd1\xda\xb9\x92\xe3\x03\xe3\x1c\xee\x39\
+\x84\xcf\xe7\xa3\xae\xae\x8e\xe7\x9f\x7f\x9e\xf7\xbe\xf7\xbd\xd4\
+\xd5\xd5\xd1\xdd\xdd\xcd\x8e\x87\xff\x9d\x9f\xfc\xcb\xff\xb8\x20\
+\xe6\x87\x52\xa7\xe8\xd8\xe8\xc9\x59\x99\xdf\xeb\xf5\xd2\xde\xde\
+\xce\xfa\xf5\xeb\xd9\xb2\x65\x0b\x1b\x36\x6c\xa0\xa5\xa5\x05\x97\
+\xcb\xe5\xa8\x3c\x8e\x04\x98\x9d\xb6\x6c\xd9\x42\x5b\x5b\x1b\xe3\
+\xe3\xe3\x76\x2d\xc0\xd8\xd8\x18\x7f\xf9\x97\x7f\xc9\x7f\xfe\xe7\
+\x7f\xd2\xd1\xd1\xc1\xb3\xcf\x3e\xcb\xc4\xc4\x04\x75\x75\x75\x54\
+\x55\x55\x21\xcb\x32\x1e\x8f\x97\x64\x6c\x14\x81\x52\xba\xb1\x35\
+\x08\x43\xb4\xdb\x9c\x1b\x84\x6a\x9b\xf0\xd5\x34\xf3\xe1\xbf\xf8\
+\x08\xff\xf0\xf9\x2f\x90\xcd\x66\x99\x98\x98\xa0\xa9\xa9\x89\xd5\
+\xab\x57\x03\xb0\x67\xcf\x1e\x9b\x31\xa7\xaf\xcc\xd3\x13\xda\x66\
+\xab\x39\xb6\xa2\xcd\x2e\x97\x8b\xc5\x8b\x17\xb3\x72\xe5\x4a\x2e\
+\xbd\xf4\x52\x2e\xba\xe8\x22\xe6\xcf\x9f\x8f\xcf\xe7\x73\xd4\x1e\
+\x07\x00\xe7\x78\x09\xb2\xcc\x9f\xff\xf9\x9f\xf3\xa5\x2f\x7d\x09\
+\xb7\xdb\x6d\xf7\xf3\x6c\x68\x68\xe0\xe4\xc9\x93\xf4\xf4\xf4\xd8\
+\x11\xe2\xf2\xae\x09\x8a\xaa\x90\x8c\x86\xcb\xd2\xf2\x4b\xb1\x00\
+\xc5\xed\xb1\x33\x44\x75\x5d\xa3\xb9\x73\x35\x0d\x6d\x9d\xe4\xb2\
+\x71\x5c\x2e\x17\x6b\xd6\xac\xa1\xa5\xa5\xc5\x66\xe2\xfa\xfa\x7a\
+\xc6\xc7\xc7\x91\xa6\x1a\xdc\x5a\x69\xd3\x76\x14\x78\xaa\xdd\x89\
+\xd5\xa3\xa8\xbc\xfd\x89\x05\x58\x45\x51\xe8\xee\xee\xe6\x8a\x2b\
+\xae\x60\xdd\xba\x75\xac\x5c\xb9\x92\x79\xf3\xe6\xd9\x13\x2d\x5f\
+\x6b\x43\x2f\x07\x00\x73\x80\x24\x49\x62\xf3\xe6\xcd\x74\x74\x74\
+\x30\x34\x34\x64\x33\x4a\x43\x43\x03\xed\xed\xed\xe4\xf3\x79\x72\
+\xb9\x1c\x87\x0e\x1d\xc2\xe3\xf1\x50\x55\x55\x35\xd5\xe6\xd0\xcf\
+\x64\xf8\x14\x16\x02\x4c\xd3\xc4\xd0\x8a\x98\xba\x6e\xa7\x49\x18\
+\x7a\x91\xa6\x85\xcb\xf1\xd7\x34\xb2\xbe\x7b\x0d\xa1\xaa\x6a\x7b\
+\x56\xb1\xc5\xc0\x0d\x0d\x0d\x44\x22\x11\x02\x81\x00\x3e\x5f\xa9\
+\x38\xa5\x3c\x35\xc1\xaa\x53\xb0\xb6\x74\x3a\x6d\x27\xe8\x49\x92\
+\x84\xa2\x28\x54\x55\x55\xf1\xbe\xf7\xbd\x8f\x55\xab\x56\xb1\x68\
+\xd1\x22\x9a\x9a\x9a\xf0\x7a\xbd\x15\xc3\xbe\x1d\xe6\x77\x00\x70\
+\x56\xf2\xf9\x7c\xdc\x78\xe3\x8d\xdc\x71\xc7\x1d\x67\x74\xf8\x32\
+\x17\xa8\x69\x9a\x14\x8b\x45\x82\xc1\x20\xf5\xf5\xf5\xa5\x39\xc1\
+\xf5\xf5\xec\xd9\xdf\x53\x96\x09\x6a\x62\x98\x06\x5a\x31\x87\xe2\
+\xf2\xda\x86\x70\x55\x7d\x1b\xb2\xa7\x8a\x48\x34\x4a\x43\x63\xd3\
+\x0c\x46\xac\xaf\xaf\xe7\xc8\x91\x23\xb4\xb7\xb7\xdb\xde\x27\x55\
+\x3d\x13\x01\xb6\x26\xc0\xe8\xba\xce\xd0\xd0\x10\xaa\xaa\xda\x35\
+\x0a\x96\xd1\xfb\xce\x77\xbe\x93\xeb\xae\xbb\x8e\xc6\xc6\x46\x7b\
+\x46\x40\x79\x2d\x82\xc3\xfc\x0e\x00\xce\xe9\x0d\x92\x65\x99\x2d\
+\x5b\xb6\xf0\x8b\x5f\xfc\x82\xa7\x9e\x7a\x6a\x56\x7d\xdb\x8a\x05\
+\x58\x6a\x88\x24\x49\xe8\xf9\x34\xe3\x83\xc7\xa9\x6b\x59\x58\x72\
+\x71\x4e\xa5\x2f\x2b\x6e\x1f\xba\x56\x64\xa0\x67\x17\xaf\x6c\xfd\
+\x01\xa7\x0e\xbd\x00\x5d\x5d\x2c\x5d\xba\x0c\xb7\xdb\x6d\x7b\x9a\
+\xa0\x14\x19\xf6\x7a\xbd\xd4\xd7\xd7\xd3\xdc\xdc\x8c\xcb\xe5\xb2\
+\x03\x67\x96\xea\x63\x9a\x26\x91\x48\xc4\xf6\xe1\x97\xbb\x67\x3b\
+\x3a\x3a\xf8\xf8\xc7\x3f\x4e\x20\x10\xc0\xe3\xf1\xcc\xf0\xf6\x38\
+\xe4\x00\xe0\x82\x28\x18\x0c\x72\xd3\x4d\x37\xf1\xd4\x53\x4f\xcd\
+\xc8\xd5\xd7\xb4\x33\xbe\xfa\x4c\x26\x63\xff\xdf\xed\xf1\x70\x7c\
+\xf7\x13\xd4\xbf\xb3\x1b\x8c\x33\xa3\x50\xe3\x63\xa7\x79\x65\xdb\
+\x0f\xd9\xfb\xe4\xff\xb5\xd3\x98\x07\xa7\x0a\xcf\x03\x81\x00\xe9\
+\x74\xba\xc2\x90\x0d\x85\x42\xe4\xf3\x79\x3b\x2f\xa7\xbc\x0a\x4d\
+\x14\x45\x52\xa9\x94\x1d\x4b\x28\xcf\x2d\xd2\x75\x9d\x5b\x6f\xbd\
+\x95\xe6\xe6\xe6\x0a\x23\xda\x61\x7e\xc7\x0d\xfa\xaa\xdd\xa1\x82\
+\x20\xd0\xd9\xd9\xc9\x1b\xdf\xf8\x46\x7b\xb2\xa2\x45\x16\x00\x7c\
+\x3e\x9f\xdd\x3e\x3d\x18\x0c\xe2\xf5\x7a\x39\xf6\xd2\xb6\x92\xde\
+\x3f\xd5\x6a\xa4\x90\x4b\xb1\x7b\xeb\xf7\xd9\xf3\x9b\x1f\xd9\xcc\
+\x0f\xa5\xee\x13\xd1\x68\xd4\x36\x4c\xcb\x29\x14\x0a\x91\xcd\x66\
+\xa9\xad\xad\xb5\x47\x1d\x85\x42\x21\xaa\xaa\xaa\x50\x55\x95\x78\
+\x3c\x6e\x77\xb1\xb3\x36\x49\x92\xb8\xfe\xfa\xeb\xb9\xec\xb2\xcb\
+\x90\x24\xa9\xe2\x9c\x0e\xf3\x3b\x00\x78\x4d\x14\x08\x04\xb8\xe4\
+\x92\x4b\xf0\xfb\xfd\xb6\x0d\x50\xee\x81\x49\xa7\xd3\x76\x6c\xa0\
+\xa6\xa6\x86\x40\x20\x80\x96\xcf\x70\xf4\xc5\xad\x53\xee\x4f\x93\
+\xa1\xa3\x7b\xd8\xf7\xc4\x83\xf6\xea\x2d\xcb\xb2\xbd\x6a\x9f\x3a\
+\x75\x0a\xa8\xec\x52\x2d\x08\x02\x7e\xbf\x9f\x54\x2a\x65\x03\x2b\
+\x10\x08\xd8\x69\xca\x83\x83\x83\xa4\x52\xa9\x8a\x95\xdd\x34\x4d\
+\x9a\x9a\x9a\xf8\x9b\xbf\xf9\x9b\x19\x6a\x9a\x43\x0e\x00\x7e\x2b\
+\x72\xb9\x5c\x15\x9d\xa0\x2d\x4f\x8c\x24\x49\x24\x93\x49\x7a\x7a\
+\x7a\x88\xc7\xe3\x36\x23\x2b\xb2\xcc\x81\xe7\x1e\x46\x96\x55\xd2\
+\xf1\x09\x0e\x3d\xff\xa8\xed\xa1\x51\x55\xd5\x1e\xbc\xa7\x28\x0a\
+\x27\x4f\x9e\x24\x9f\xcf\x13\x0c\x06\x2b\xae\xe9\x76\xbb\x89\x46\
+\xa3\xc4\xe3\x71\x12\x89\x04\xa9\x54\x8a\x70\x38\x4c\x4f\x4f\x0f\
+\x93\x93\x93\x33\x62\x04\x85\x42\x81\xcf\x7c\xe6\x33\x76\xba\x86\
+\xc3\xf8\x8e\x0d\xf0\x3b\x31\x86\xad\x55\x74\xfa\x10\x0d\x4b\x05\
+\x92\x24\x89\x54\x2a\xc5\xe1\xc3\x87\x09\x85\x42\xb6\xcb\x32\x31\
+\x3e\xcc\xc0\xe1\x5d\xa8\x6e\x1f\x43\x47\x5f\x46\x92\x24\xdc\x6e\
+\x37\x81\x40\xc0\xee\xb6\x26\x49\x12\x91\x48\x69\xcc\x6a\x6b\x6b\
+\x6b\xc5\x8a\x2e\x49\x12\xb9\x5c\x8e\x58\x2c\x86\x2c\xcb\xa4\xd3\
+\x69\x46\x47\x47\x29\x14\x0a\x33\x2a\xd7\x34\x4d\xe3\x2f\xfe\xe2\
+\x2f\x58\xb1\x62\x85\xb3\xea\x3b\x00\x78\x1d\xc4\x62\x59\x1d\x6f\
+\xb9\x04\xb0\xdc\x8e\xa2\x28\xa2\x69\x1a\xe1\x70\x78\xaa\xc4\x31\
+\x48\x76\x6c\x8c\x7d\x4f\x3c\x48\xc7\xca\xcb\x00\x6c\xaf\x4e\x53\
+\x53\x13\xd5\xd5\xd5\xe8\xba\x8e\x2c\xcb\xc4\xe3\x71\x8e\x1e\x3d\
+\x4a\x5b\x5b\x1b\x5e\xaf\x97\x74\x3a\x6d\x33\xb1\xcb\xe5\x22\x93\
+\xc9\xa0\xeb\x3a\x13\x13\x13\x76\x6a\x76\x39\x65\xb3\x59\xde\xfa\
+\xd6\xb7\xf2\xc1\x0f\x7e\x70\xce\xa7\x32\x3b\x00\x78\x1d\x8d\xe2\
+\xe9\xe9\x07\xe5\x00\xb0\xf6\x11\x45\xd1\x0e\x48\xc9\x92\xc4\xd0\
+\xf1\x3d\x64\x53\x93\xa8\xaa\x42\x5d\x5d\x1d\x0b\x17\x2e\x64\xde\
+\xbc\x79\xb6\x87\x27\x9f\xcf\x13\x0e\x87\x39\x7a\xf4\x28\x97\x5e\
+\x7a\x29\xc1\x60\xb0\x02\x00\x56\xc5\x99\xa5\x7e\x4d\x67\xf0\x7c\
+\x3e\xcf\x25\x97\x5c\xc2\x47\x3f\xfa\xd1\x73\x8e\x68\x75\xc8\xb1\
+\x01\x7e\x2b\xc6\xb7\x98\x7b\x7a\xb5\x98\x28\x8a\x76\xda\xb4\x25\
+\x29\x54\x55\xc5\xed\x76\x23\x49\x12\x5a\x31\xcf\xd8\xc0\x11\xbc\
+\x5e\x9f\x3d\xb8\x5a\x51\x14\xbb\xdb\x9c\xe5\xef\x2f\x16\x8b\x1c\
+\x38\x70\x00\xbf\xdf\x5f\x71\x6d\x59\x96\xed\x8e\x74\xd3\x25\x90\
+\xa6\x69\x74\x75\x75\xf1\xa9\x4f\x7d\x8a\xba\xba\x3a\x67\xe0\xb5\
+\x03\x80\xd7\x5f\x05\x2a\xb7\x01\xf2\xf6\x00\xea\x4a\xb7\xa9\xaa\
+\xaa\x78\xbd\x5e\xdc\x6e\xb7\x5d\x64\xa2\xaa\x2a\x92\x24\x91\xcf\
+\xe7\xed\xf1\x4b\xb9\x5c\x0e\x51\x14\x71\xb9\x5c\xb8\x5c\x2e\x5e\
+\x7e\xf9\x65\x12\x89\x44\x45\xcd\x01\x30\x6b\x7b\xf2\x6c\x36\xcb\
+\xea\xd5\xab\xf9\xc2\x17\xbe\x40\x4b\x4b\x8b\xf3\x81\x1c\x00\xbc\
+\xfe\x5e\x20\x55\x55\x49\xa7\xd3\xb6\x9a\x93\x4e\xa7\xd9\xb4\x69\
+\x13\x8d\x8d\x8d\x15\x13\x5a\xc4\xa9\xca\x2b\x2b\x7d\x41\x51\x14\
+\xbb\xc3\x5a\x32\x99\x64\x74\x74\x94\xd3\xa7\x4f\x33\x34\x34\xc4\
+\xe4\xe4\xa4\x1d\x75\x2e\x16\x8b\xfc\xe6\x37\xbf\xa9\xa8\x39\x28\
+\x16\x8b\x33\x8a\xd3\xb3\xd9\x2c\x9b\x37\x6f\xe6\xb6\xdb\x6e\x63\
+\xde\xbc\x79\xf6\xbe\x8e\xe1\xeb\x00\xe0\x75\x23\x6b\x3c\x52\x22\
+\x91\x40\x14\x45\xe2\xf1\x38\xb2\x2c\xd3\xda\xda\xca\xed\xb7\xdf\
+\xce\xba\x75\xeb\x6c\x15\xc9\x52\x83\x7c\x3e\x1f\x1e\x8f\xc7\x1e\
+\xb5\x54\xde\x69\xc1\xda\x24\x49\xc2\xe3\xf1\xd8\xa9\x0e\x83\x83\
+\x83\xec\xdc\xb9\xd3\xce\xf5\xb1\xae\x63\xc5\x1c\xa0\x54\xab\xf0\
+\xd9\xcf\x7e\x96\xb6\xb6\x36\xc7\xd7\xef\x18\xc1\xbf\x1f\x52\x14\
+\x05\x9f\xcf\x47\x32\x99\x64\x70\x70\xd0\x6e\x93\xe8\xf3\xf9\xa8\
+\xaf\xaf\xe7\xcb\x5f\xfe\x32\x5b\xb7\x6e\xe5\xdb\xdf\xfe\x36\xc9\
+\x64\xd2\x76\x79\xfa\x7c\x3e\x8a\xc5\xa2\xcd\xe0\xd3\xd5\x28\x0b\
+\x00\x5e\xaf\xd7\xf6\xf6\x1c\x3b\x76\x8c\x70\x38\x5c\xc1\xd4\x85\
+\x42\x81\x96\x96\x16\x3e\xfc\xe1\x0f\x73\xdd\x75\xd7\xd9\xb9\x3f\
+\x0e\xe3\x3b\x12\xe0\xf7\x62\x08\x5b\x7d\x33\x35\x4d\xe3\xe5\x97\
+\x5f\x26\x1a\x8d\x12\x0c\x06\x09\x85\x42\x76\x0a\xc2\xdb\xde\xf6\
+\x36\xee\xbd\xf7\x5e\x36\x6c\xd8\x60\x1b\xb8\x7e\xbf\x1f\xaf\xd7\
+\x5b\xd1\x67\xbf\x3c\x78\x65\xd9\x07\x56\xca\xb3\x95\xaa\x1c\x8f\
+\xc7\x89\xc7\xe3\x76\x74\xf8\x8d\x6f\x7c\x23\xf7\xdc\x73\x0f\x6f\
+\x79\xcb\x5b\x1c\xe6\x77\x00\xf0\xfb\x07\x80\xdb\xed\x26\x18\x0c\
+\xe2\xf3\xf9\x6c\x9b\xa0\xbe\xbe\x9e\x86\x86\x86\x8a\x56\x22\xf5\
+\xf5\xf5\xfc\xcb\xbf\xfc\x0b\xff\xfa\xaf\xff\xca\xaa\x55\xab\xa8\
+\xab\xab\xc3\xe3\xf1\x54\x74\x5c\x28\xf7\xe4\x08\x82\x60\x4b\x17\
+\xcb\x66\xb0\xce\x25\x49\x12\xf5\xf5\xf5\xdc\x7c\xf3\xcd\x7c\xee\
+\x73\x9f\xa3\xaa\xaa\xca\x51\x79\x1c\x15\xe8\x0f\xe3\x01\x0a\x04\
+\x02\x34\x36\x36\x12\x0c\x06\xed\xb9\x59\xed\xed\xed\xcc\x9b\x37\
+\xcf\x06\x45\x39\xad\x5d\xbb\x96\x6f\x7d\xeb\x5b\xbc\xfc\xf2\xcb\
+\xec\xdd\xbb\x97\xbd\x7b\xf7\x72\xec\xd8\x31\x52\xa9\x94\x5d\xdd\
+\x55\x3e\xdb\x17\xb0\x55\x2a\x97\xcb\x45\x3e\x9f\x27\x10\x08\x70\
+\xf1\xc5\x17\xb3\x6e\xdd\x3a\x5b\x8d\x72\x18\xdf\x01\xc0\x1f\x0c\
+\x00\xed\xed\xed\xb4\xb7\xb7\x93\x4e\xa7\x69\x6e\x6e\x66\xd9\xb2\
+\x65\xb4\xb5\xb5\x9d\x95\x31\x15\x45\x61\xdd\xba\x75\xac\x5a\xb5\
+\x8a\x9b\x6e\xba\x09\x80\xa1\xa1\x21\xf6\xef\xdf\x4f\x38\x1c\x26\
+\x97\xcb\x51\x28\x14\xa8\xad\xad\xa5\xbe\xbe\xde\x2e\xbc\xdf\xb1\
+\x63\x07\xfd\xfd\xfd\xf8\x7c\x3e\x16\x2d\x5a\x64\x37\xe6\x75\xbc\
+\x3d\x0e\x00\xfe\x60\x2a\x90\xdf\xef\xa7\xb3\xb3\x93\xd5\xab\x57\
+\xa3\x28\x0a\xed\xed\xed\xac\x5e\xbd\x9a\x86\x86\x86\x8a\x0e\x6f\
+\xd3\xc9\x72\x83\x5a\x7a\xff\xc2\x85\x0b\x59\xb8\x70\xe1\xac\xfb\
+\xc6\xe3\x71\xea\xeb\xeb\xf1\x78\x3c\xf4\xf5\xf5\xd9\xb5\xc2\xe5\
+\x63\x5c\x1d\xe6\x77\x00\xf0\x07\x01\x80\xcb\xe5\xa2\xa3\xa3\x83\
+\xcb\x2e\xbb\x8c\xb6\xb6\x36\x9a\x9b\x9b\x59\xba\x74\x29\x81\x40\
+\x60\xd6\xee\x0a\xb3\x8d\x33\x3d\xdf\xea\x6d\xad\xf8\x3e\x9f\x8f\
+\xae\xae\x2e\x24\x49\xa2\xbd\xbd\x7d\x46\x96\xa8\x43\xaf\xf3\xf7\
+\x36\x9d\x98\xfa\x0c\x43\xd5\xaa\xfa\x0a\x87\xc3\xc4\xe3\x71\x02\
+\x81\x00\x0d\x0d\x0d\x76\x21\xcb\x6f\xab\x9a\x58\xc7\xeb\xba\x4e\
+\x36\x9b\x25\x9b\x2d\x8d\x59\xb2\xe2\x08\xbf\x8b\x6b\x38\xe4\x00\
+\xe0\xb7\x22\xc3\x30\xc8\xe7\xf3\x68\x9a\x86\x2c\xcb\xb6\xc7\xe6\
+\x77\xc5\x94\x16\x83\x5b\xf5\xbe\x56\xa0\xcc\x29\x67\x74\x00\xf0\
+\x47\x23\x05\x66\x53\x8f\x7e\x97\xcc\x39\x9b\x1a\xe5\x30\xbf\x03\
+\x00\x87\x1c\xfa\xbd\x91\x13\x08\x73\xc8\x01\x80\x43\x0e\x39\x00\
+\x70\xc8\x21\x07\x00\x0e\x39\xe4\x00\xc0\x21\x87\x1c\x00\x38\xe4\
+\x50\x39\x95\x57\xc1\xfd\x77\x22\x27\x15\xc2\xa1\x0b\x22\x2b\x36\
+\x31\x34\x34\x44\x2a\x95\xc2\x34\x4d\x6a\x6a\x6a\x68\x68\x68\x70\
+\x00\xe0\xd0\xdc\xa0\x6c\x36\xcb\xf6\xed\xdb\x89\x44\x22\x08\x82\
+\x40\x55\x55\x15\x37\xde\x78\xa3\x03\x00\x87\xe6\x06\x15\x0a\x05\
+\x34\x4d\xc3\x98\x9a\x7e\x63\xf5\x34\x72\x6c\x00\x87\xe6\x94\x1a\
+\xe4\x18\xc1\x0e\x39\xe4\x00\xc0\x21\x87\x1c\x00\x38\xe4\x90\x03\
+\x00\x87\x1c\xfa\x7f\x95\x5e\x93\x17\xa8\x3c\x67\x3d\x91\x29\x92\
+\xca\x69\xe4\x8a\x3a\xb2\x28\xe0\x75\xc9\x54\xf9\x14\x64\x49\x9c\
+\xb1\xef\x85\x9e\xb3\xa8\x1b\xc4\x92\x05\xb2\x45\x1d\xd3\x04\x97\
+\x22\x52\xed\x53\x71\xab\x67\x8a\xc5\x41\xe0\x7c\xa7\x2d\x6f\x2b\
+\x62\x9a\x26\xf1\x74\x91\x54\x5e\xa3\xa0\x19\xa8\xb2\x88\xd7\x25\
+\x53\xe3\x57\x5f\xd5\x7d\x4e\xdf\x37\x9d\xd3\x48\x64\x8b\xe4\x8a\
+\x06\xa2\x00\x5e\x55\x26\xe4\x53\x50\xe5\x57\xf7\xfc\x9a\xa6\x11\
+\x8b\xc5\x28\x16\x8b\xa8\xaa\x6a\xf7\x20\x2a\x3f\x3e\x99\x4c\xda\
+\xb3\xc5\x7c\x3e\x9f\x5d\x3e\x79\xbe\x6b\x54\xbc\xdb\x62\x91\x74\
+\x3a\x4d\x3e\x9f\xc7\x30\x0c\xbb\xb7\xa9\xc7\xe3\x79\xd5\xef\xe1\
+\xd5\xbc\xa7\x5c\x2e\x47\x26\x93\x21\x9f\xcf\xdb\xdd\xf4\x02\x81\
+\x40\xc5\x30\xc0\x57\x73\xdd\xf2\xfd\x35\x4d\x23\x99\x4c\x92\xcf\
+\xe7\x31\x4d\x13\x55\x55\xf1\xfb\xfd\xf6\x4c\xe7\x73\x9d\x5b\x7e\
+\xad\x0f\x95\x2b\xe8\x3c\x71\x60\x8c\x43\x03\x93\x4c\x66\x8a\x64\
+\xf2\x3a\x8a\x24\xe0\x77\x2b\xb4\xd5\x7a\xd8\xbc\xac\x9e\xee\x96\
+\xc0\x05\x15\x79\x94\xff\xfd\xe0\x40\x9c\x67\x7b\xc6\x19\x8d\x65\
+\x49\xe7\x75\x4c\xd3\xc4\xa3\x4a\xd4\x06\x5d\x6c\xe8\xac\xe1\xb2\
+\x25\x75\x48\xa2\x60\x83\xe0\x42\x98\x7f\x24\x96\xe3\xd9\x43\x63\
+\xf4\x8e\xa6\x48\x64\x8b\xe4\x8b\x06\x6e\x45\xc4\xef\x51\x58\xd4\
+\xe4\xe7\xea\x55\x8d\xd4\x07\x5d\x17\xf4\x11\xec\x72\x46\xd3\xe4\
+\xe9\x83\x63\xec\xed\x8f\x11\x4d\x15\xc9\xe6\x4b\x03\x34\xfc\x6e\
+\x99\xe6\x6a\x37\x97\x2d\xa9\x63\x55\x47\xd5\x39\x9f\xdf\xfa\x7d\
+\x2c\x16\xe3\xe9\xa7\x9f\x66\x7c\x7c\x9c\x42\xa1\x80\xaa\xaa\xb4\
+\xb4\xb4\xb0\x61\xc3\x06\x1a\x1b\x1b\x01\xd8\xbb\x77\x2f\x07\x0f\
+\x1e\xb4\x27\xd3\xf8\xfd\x7e\x16\x2f\x5e\xcc\x25\x97\x5c\x72\xc1\
+\x8c\xd2\xd7\xd7\xc7\xa1\x43\x87\x88\x44\x22\xe4\x72\x39\x0c\xc3\
+\xc0\xe5\x72\x11\x08\x04\x58\xb4\x68\x11\x6b\xd6\xac\x41\x92\xa4\
+\xdf\x09\x08\xac\x73\x14\x8b\x45\x8e\x1c\x39\xc2\x91\x23\x47\x48\
+\x24\x12\x64\xb3\x59\x24\x49\xc2\xe5\x72\x51\x53\x53\xc3\xf2\xe5\
+\xcb\xe9\xea\xea\x7a\xcd\x8b\xe5\x91\x23\x47\x38\x7c\xf8\x30\xb1\
+\x58\xcc\x7e\x26\xb7\xdb\x4d\x28\x14\x62\xc9\x92\x25\x2c\x5b\xb6\
+\xec\x9c\xcf\xf4\xaa\x0a\x62\xac\x93\x44\x53\x05\xfe\xfd\x57\xbd\
+\xc4\xd2\x85\xb3\x86\xc7\x15\x49\xe4\xea\x55\x8d\x5c\xbb\xa6\xe9\
+\x82\x1e\xae\xa8\x1b\x6c\xdb\x3b\xca\xaf\xf7\x8c\xa2\xca\xe2\xac\
+\xe7\xd5\x0c\x93\x15\xed\x55\x7c\x60\x73\x3b\x3e\xf7\x85\x75\x4c\
+\xdb\xd3\x1f\xe3\x91\x5d\x43\x24\x32\xc5\x59\x25\x86\x20\x08\x28\
+\x92\xc8\x87\xaf\x9a\xcf\xe2\xd6\xe0\x39\xcf\x59\x0e\xfe\xff\xf3\
+\xcb\xe3\x8c\x4c\xe6\xce\xfa\xfc\x82\x20\xb0\x69\x69\x1d\x6f\xdf\
+\xd0\x6a\x03\x76\xb6\xf3\xa6\x52\x29\xee\xbf\xff\x7e\x7b\x70\xb6\
+\x45\x86\x61\x50\x5f\x5f\xcf\x95\x57\x5e\xc9\xa9\x53\xa7\xd8\xbd\
+\x7b\xf7\x8c\x6b\x99\xa6\xc9\xb2\x65\xcb\xb8\xea\xaa\xab\x66\x3d\
+\x7f\x79\x95\xd9\xb3\xcf\x3e\x4b\x4f\x4f\xcf\xac\xdd\xa7\xad\xfb\
+\xad\xad\xad\xe5\x86\x1b\x6e\xc0\xed\x76\xcf\x7a\xbe\x44\x22\xc1\
+\x2f\x7e\xf1\x0b\x62\xb1\x98\xdd\x3c\xe0\xe6\x9b\x6f\x3e\xeb\x7b\
+\x4a\xa5\x52\x3c\xf7\xdc\x73\x1c\x3f\x7e\xdc\xee\x74\x31\xfd\x9a\
+\x00\xdd\xdd\xdd\x5c\x73\xcd\x35\xaf\x1a\x64\xbf\xfe\xf5\xaf\x39\
+\x71\xe2\xc4\x59\xbf\x81\x61\x18\x2c\x5a\xb4\x88\xcd\x9b\x37\x9f\
+\x75\x94\x94\xf4\xf9\xcf\x7f\xfe\xf3\xaf\x86\xf9\x4f\x8e\xa5\xf9\
+\xf6\xd6\x3e\x62\x99\x82\xfd\x10\xb3\x6d\x9a\x61\xd2\x37\x9a\xa2\
+\xa8\x9b\x2c\x68\xf4\x21\x9d\xa3\xd0\xbb\xa8\x1b\xfc\x74\xe7\x20\
+\xbf\xd9\x1f\xc6\xad\x48\x67\x3d\xaf\x24\x0a\x0c\x47\x33\x9c\x1c\
+\x4f\xb3\xb4\x2d\x84\x4b\x11\xcf\xfa\xd1\x01\x5e\xec\x8d\xf0\xd3\
+\x9d\x83\x24\xb3\x45\x24\x49\x9c\xf5\x9c\x00\xba\x61\xb0\xb7\x7f\
+\x92\x6a\xbf\x4a\x6b\xad\xf7\x9c\xcc\x34\x91\xc8\x73\xe7\xaf\x7b\
+\x19\x9d\xcc\x9d\xf3\xf9\x4d\xd3\xa4\x3f\x9c\x26\x91\xd5\xe8\x6c\
+\xf4\xa3\xc8\x33\x9f\xdf\x30\x0c\x1e\x7e\xf8\x61\xd2\xe9\xf4\x8c\
+\xe3\x45\x51\x24\x9d\x4e\x73\xf2\xe4\x49\xc2\xe1\x30\xc5\x62\xd1\
+\xae\x49\x2e\xdf\xc2\xe1\x30\xa1\x50\x88\xfa\xfa\xfa\x59\x4b\x2c\
+\x0b\x85\x02\xcf\x3c\xf3\x0c\x87\x0e\x1d\x3a\xef\xfd\x5a\xd7\x6b\
+\x6d\x6d\xc5\xeb\x9d\xf9\x1e\xf2\xf9\x3c\xc7\x8e\x1d\x23\x97\xcb\
+\xd9\xf3\x0c\xd6\xad\x5b\x37\xeb\x7b\x9a\x9c\x9c\xe4\xc9\x27\x9f\
+\xa4\xaf\xaf\xaf\xa2\x55\xcc\xf4\x77\x0f\x30\x3e\x3e\xce\xf8\xf8\
+\x38\x9d\x9d\x9d\xe7\x6c\x08\x60\xfd\x5e\xd3\x34\x1e\x7d\xf4\x51\
+\xfa\xfb\xfb\xcf\xfa\x3c\xd6\x3b\x1c\x1b\x1b\x23\x1e\x8f\xd3\xdc\
+\xdc\x6c\x77\xed\x7e\xd5\x46\x70\xf9\xca\xff\x93\x9d\xa7\x89\x67\
+\x8b\x08\x9c\x3b\x30\x22\x0a\x02\xa6\x09\x4f\x1f\x1a\xe3\xa5\xde\
+\x58\x05\xe2\xa7\xab\x29\x8f\xef\x0b\xf3\xfc\xd1\x09\x3c\xea\xf9\
+\x6f\xc7\xa5\x48\x9c\x18\x4d\xf3\xe3\xed\x03\xb3\xaa\x40\xd6\x25\
+\x7a\x47\x52\x3c\xba\x7b\x98\x4c\x5e\xb3\xed\x91\x73\x91\x6e\x98\
+\x3c\xba\x7b\x98\x63\xc3\xc9\x59\x6b\x82\x05\x41\x20\x5f\xd4\xf9\
+\xf1\x8e\x01\xc6\xe3\xb9\xf3\x3e\xbf\x05\xd8\x17\x8e\x45\xd8\x7e\
+\x64\x02\xdd\x98\x5a\x8d\xcb\xf6\xb1\xd4\x91\xb3\x9d\x47\x14\x45\
+\xb2\xd9\xac\x3d\x5b\xe0\x6c\xfb\xbc\xf0\xc2\x0b\xf6\x0c\xb3\xf2\
+\xeb\x9b\xa6\xc9\xbe\x7d\xfb\x38\x72\xe4\xc8\x79\xa7\xc5\x5b\x7f\
+\x8f\x46\xa3\x3c\xf7\xdc\x73\x36\x93\xbf\x9a\x04\x38\x8b\x4f\xb2\
+\xd9\x2c\xbb\x77\xef\xe6\xd4\xa9\x53\x17\x34\xc9\x46\x10\x04\x4e\
+\x9d\x3a\xc5\x33\xcf\x3c\x33\x2b\x9f\x4c\x97\x18\x4f\x3f\xfd\x34\
+\x83\x83\x83\x17\xa4\x2e\x29\x8a\xc2\x89\x13\x27\x78\xe5\x95\x57\
+\xc8\xe5\x72\xaf\x0d\x00\xd6\x85\x7e\xf6\xe2\x10\xc3\xd1\x6c\xc5\
+\xc7\x2f\x6f\xff\x3d\x3d\x63\x50\x14\x05\x34\xdd\xe4\xf1\x7d\xa3\
+\xf4\x8d\xa6\x66\x7d\x59\xc7\x86\x93\x6c\xdd\x33\x82\x22\x89\x36\
+\x43\xcf\x76\xce\xf2\xf3\x2a\xb2\xc8\xc1\xd3\x71\x9e\x3c\x18\xae\
+\x00\xd2\xd4\xdd\x32\x91\xc8\xb3\x75\xef\x28\x93\xa9\x62\x05\xf3\
+\x9f\xed\x9c\xb6\x41\x9f\x2d\xf2\xb3\x17\x87\xc8\x16\xf4\x59\x3f\
+\xfe\xcf\x5e\x1a\xa6\x7f\x2c\x3d\xe3\x23\x9d\xed\x3e\x4b\x4c\x05\
+\x8f\xef\x1b\xe5\xc8\x70\x72\xea\xee\xce\xd0\xbe\x7d\xfb\xce\xfa\
+\x1e\xa7\x33\xe6\xd9\xf6\xb1\x18\xee\xe8\xd1\xa3\x33\xbe\xdb\x89\
+\x13\x27\xd8\xbb\x77\xef\xac\x13\x67\xce\x76\x2e\x41\x10\x18\x1c\
+\x1c\x64\xd7\xae\x5d\xe7\x64\xc6\xb3\x31\xbf\x61\x18\xf4\xf5\xf5\
+\x71\xf0\xe0\xc1\x19\x3d\x52\xcf\x75\x5d\xd3\x34\xe9\xeb\xeb\xa3\
+\xa7\xa7\xe7\x9c\xd7\x39\x70\xe0\x00\xfd\xfd\xfd\x33\xa4\xdd\xf9\
+\xde\x5f\x3c\x1e\xaf\x18\x72\x72\xc1\x00\xb0\x4e\xb6\xb7\x7f\x92\
+\x93\x63\x69\x4c\xb3\x92\xf9\x35\xdd\x24\xe4\x55\x69\xab\xf5\xd2\
+\x50\xe5\x46\x96\x44\x34\xfd\x8c\x9e\x29\x89\x02\xe1\xc9\x2c\xfb\
+\x4f\x4d\x92\x2b\xe8\x95\x6a\x8a\x59\x02\x95\x24\x56\xbe\x24\xc3\
+\x04\x59\x12\x69\xaa\xf6\xd0\x52\xe3\xc1\xa3\x4a\x18\x66\x25\xa3\
+\xcb\xa2\xc0\xb6\xbd\xa3\x24\xb3\xda\x34\xb5\xc2\xa4\x77\x34\x45\
+\xcf\xe9\x38\xb2\x24\x54\xac\xf0\x00\x75\x41\x17\xed\xf5\x3e\xea\
+\x82\x2e\x0c\x13\x8c\xf2\x8f\x0f\x4c\x24\xf3\x3c\x7d\x70\x6c\xc6\
+\xf3\xf7\x87\x53\x1c\x1f\x4e\xa2\xe9\x95\x2f\xbe\xa8\x19\xf8\xdc\
+\x32\xad\xb5\x5e\x9a\xaa\x3d\xb8\x14\x89\xa2\x66\x54\x48\xc2\x4c\
+\x5e\x63\xf7\xf1\x08\x89\x4c\xb1\x42\xec\xa7\x52\x95\x8b\x82\x24\
+\x49\xd4\xd4\xd4\xa0\xaa\xea\xac\xba\xba\x69\x9a\x84\x42\x21\x7b\
+\xea\x64\xf9\x0c\xb3\x63\xc7\x8e\x55\xfc\x2e\x93\xc9\xd0\xdb\xdb\
+\x6b\x0f\xf9\x28\xf7\x36\x29\x8a\x42\x4d\x4d\x0d\xf5\xf5\xf5\x78\
+\xbd\x5e\x74\x5d\xaf\x60\x46\xc3\x30\x38\x7d\xfa\x34\x83\x83\x83\
+\xb3\x2c\x30\xe7\x5e\x24\x13\x89\x04\x7b\xf6\xec\xa9\x18\x25\x65\
+\x8d\x78\x72\xbb\xdd\xd4\xd5\xd5\x51\x53\x53\x63\x1b\xa6\xe5\x54\
+\x28\x14\x38\x78\xf0\xe0\x0c\x7b\xa8\x5c\x05\x3b\x74\xe8\xd0\x0c\
+\x46\x36\x0c\x03\x59\x96\xa9\xad\xad\xa5\xae\xae\x0e\x97\xcb\x85\
+\xa6\x69\x36\x18\x44\x51\x64\xc1\x82\x05\xf6\x7b\x7b\x55\x5e\x20\
+\x41\x10\x28\x6a\x06\xaf\x9c\x88\x12\xcf\x14\xb1\x78\xd5\x34\x4d\
+\x4c\xe0\x7d\x9b\xda\x59\xda\x16\xc4\xa5\x88\x18\x86\xc9\x78\x22\
+\xcf\xe3\xfb\xc2\xec\x3f\x39\x69\xbb\x2d\x5d\x8a\xc4\xce\xa3\x11\
+\x56\xcf\xaf\x62\x61\xa3\xdf\x7e\x31\x2f\xf5\x45\x19\x89\x65\x67\
+\xe8\xad\xcb\xdb\x82\xbc\x79\x5d\x13\x21\x9f\x8a\x00\x64\x0a\x3a\
+\xcf\xf6\x8c\xb3\xeb\x58\x84\xa2\x6e\x20\x4e\xa1\x3a\x5f\x34\xd8\
+\xb6\x77\x84\x77\x5f\x3a\xef\x8c\x47\x25\x5d\xe0\x99\x43\x63\xc8\
+\x52\xd9\x4c\x5d\xcd\xa0\xa5\xda\xc3\x5b\xd6\xb7\x30\xbf\xc1\x8b\
+\x2c\x09\x14\x75\x93\xa1\x48\x96\x1f\x3e\x77\x92\x74\x5e\x47\x9c\
+\xda\x37\x5f\x34\x38\x74\x3a\xce\x45\x8b\x6a\xa8\x0f\xba\xec\xf7\
+\xf0\xc2\xf1\x28\x13\xc9\x3c\x65\x58\xa5\xa8\x9b\xbc\xed\xa2\x16\
+\xd6\x77\x56\xe3\x52\x24\x30\x4d\x62\xe9\x22\x4f\x1f\x1a\xe3\x85\
+\xa3\x11\xfb\xf9\x55\x59\x64\xcf\x89\x49\xd6\x77\xd6\xb0\xa2\x3d\
+\x04\x94\xd2\x8a\xcb\x19\x58\x96\x65\xae\xb9\xe6\x1a\xda\xda\xda\
+\x18\x1a\x1a\xe2\xa9\xa7\x9e\x22\x9b\xcd\xda\xcc\x5b\x2c\x16\x59\
+\xb6\x6c\x19\x17\x5d\x74\x11\x6e\xb7\x9b\x27\x9e\x78\x82\x81\x81\
+\x01\xfb\xf8\x58\x2c\x66\xcf\x32\x06\x18\x19\x19\xa1\xb7\xb7\xb7\
+\x42\x05\xc9\xe7\xf3\x2c\x5f\xbe\x9c\x35\x6b\xd6\xd8\x4d\xbe\xf2\
+\xf9\x3c\x7d\x7d\x7d\x6c\xdf\xbe\xdd\x66\x5a\x51\x14\x89\xc5\x62\
+\xf4\xf6\xf6\xda\xe3\x5c\x2f\x84\x34\x4d\xa3\xaf\xaf\x8f\x48\x24\
+\x62\x5f\xd7\x7a\xc6\x8b\x2e\xba\x88\xa5\x4b\x97\xda\x06\x76\x36\
+\x9b\x65\xd7\xae\x5d\xf4\xf5\xf5\x55\xf4\x43\x9a\x9c\x9c\x64\xff\
+\xfe\xfd\xac\x5b\xb7\x6e\x46\xab\x98\x7d\xfb\xf6\x11\x8f\xc7\x2b\
+\xed\x37\x5d\xa7\xbb\xbb\x9b\x8d\x1b\x37\xda\x7d\x5b\xb3\xd9\x2c\
+\x3d\x3d\x3d\xec\xdd\xbb\x17\x4d\xd3\x58\xb2\x64\xc9\x59\xed\x8b\
+\x73\x1a\xc1\xd6\xce\x47\x06\x13\xbc\xd4\x1b\x25\x53\xd0\x11\xa7\
+\x3c\x1a\x92\x28\xf2\x89\xb7\x74\xb3\xb2\x23\x84\x5b\x11\x51\x65\
+\x09\x55\x16\xa9\xf1\xbb\x58\xda\x1a\x24\x93\xd7\x19\x18\xcf\x20\
+\x0a\xa5\x55\x30\x5b\xd0\xa9\xf6\xa9\x74\xd4\x7b\x6d\xb5\xe4\x81\
+\xe7\x4e\x91\xca\x9d\x91\x0a\x92\x28\xb0\x7e\x61\x35\xff\xdf\x55\
+\x0b\x08\x7a\x15\x14\x49\x40\x91\x45\x7c\x6e\x99\x65\x6d\x41\x24\
+\x49\xe4\xf4\x44\xc6\x96\x30\x82\x00\xc3\xd1\x1c\x57\xad\x6c\xb0\
+\x8d\xec\xde\x91\x14\xbf\xd9\x1f\xc6\xa5\x94\x56\x18\xdd\x28\x19\
+\xe1\x1f\xbc\xa2\x83\xce\x26\x3f\xaa\x2c\xa2\x48\x12\x2e\x45\xa4\
+\x21\xe4\x66\x63\x57\x2d\xaf\xf4\xc5\xc8\x17\x75\x5b\x0a\x14\x34\
+\x13\x9f\x5b\x66\x61\x63\x69\x88\xdd\xa9\xf1\x0c\x3b\x8f\x4e\x90\
+\xc8\x6a\xf6\xf3\x9b\xc0\xcd\xd7\x2c\xe4\xb2\x25\x75\x78\x54\x09\
+\x97\x22\xa1\xc8\x22\x21\x9f\xca\x92\xb6\x20\xa2\x20\x70\x7c\x38\
+\x89\x28\x60\x3b\x05\x54\x59\x64\x41\x63\xe9\x1e\x7a\x7a\x7a\x88\
+\x44\x22\xf6\x22\x33\x7f\xfe\x7c\x36\x6e\xdc\x88\x2c\xcb\xf8\xfd\
+\x7e\x34\x4d\x63\x60\x60\xc0\xfe\x68\x1e\x8f\x87\x37\xbc\xe1\x0d\
+\xd4\xd5\xd5\xa1\x28\x0a\x4d\x4d\x4d\x1c\x3a\x74\xc8\x66\x30\x49\
+\x92\x98\x3f\x7f\x3e\x5e\xaf\x97\x6c\x36\xcb\x81\x03\x07\x18\x1d\
+\x1d\xb5\x57\x5a\x5d\xd7\xd9\xb8\x71\x23\x97\x5f\x7e\x39\xc1\x60\
+\xd0\x9e\x5e\xef\x76\xbb\x69\x6e\x6e\xa6\xb1\xb1\xd1\x96\x22\xe5\
+\x93\x6d\xea\xea\xea\xec\x95\xf3\x7c\x46\x70\x26\x93\x61\xfb\xf6\
+\xed\xf6\x6c\x63\xab\xd9\xd7\x96\x2d\x5b\x58\xbf\x7e\xbd\xdd\x3a\
+\x5e\x51\x14\x3c\x1e\x0f\xdd\xdd\xdd\xe4\x72\x39\xc6\xc6\xc6\x2a\
+\x40\x64\x9a\x26\x4b\x96\x2c\xa9\x68\x37\xa9\x69\x1a\x2f\xbe\xf8\
+\x22\x93\x93\x93\x15\x03\x0c\xd7\xac\x59\xc3\x55\x57\x5d\x65\xcf\
+\x6b\x96\x65\x19\xaf\xd7\x4b\x7b\x7b\x3b\x2e\x97\x8b\xc9\xc9\x49\
+\x36\x6c\xd8\x30\xc3\x49\x70\x41\x2a\x90\xb5\x73\xff\x58\x9a\x48\
+\xaa\x80\x28\x60\x33\xd5\xfb\x37\xb7\xd3\x51\xef\xad\xd8\xcf\x7a\
+\x71\x3e\xb7\xcc\x75\x6b\x9b\x58\xdc\x12\xa0\xa8\x9b\xb6\xca\xd2\
+\x73\x3a\x41\x2a\x57\x12\x6f\xe1\x78\x8e\xf0\x94\x27\xc5\xba\xb1\
+\xf9\x0d\x7e\xde\xbb\xa9\xbd\xe2\x77\xe5\xba\xf8\x55\x2b\x1a\x58\
+\xb7\xb0\x1a\x49\x3a\x33\xaa\x54\x37\x0c\xf6\x9d\x9c\x04\x20\x5b\
+\xd0\xd9\x7f\x6a\xd2\x06\x98\x61\x96\x54\x9e\xb7\x5e\xd4\x42\x53\
+\x95\xa7\xec\x9c\x67\xee\xd5\xef\x96\xf9\xc8\xb5\x9d\x28\xd2\x99\
+\x97\x9a\xce\x6b\x9c\x1c\x4b\xdb\xea\x51\xff\x58\xaa\x62\xf5\x2f\
+\x6a\x26\x6f\xbf\xa8\x95\x95\x1d\x55\xb3\x3e\xbf\x4b\x16\xd9\xb2\
+\xbc\x81\xf5\x9d\x35\x33\x9e\x3f\x3d\xf5\xfc\x56\x40\xcb\x32\x64\
+\x17\x2c\x58\x60\x3f\xb7\xa2\x28\x34\x34\x34\xd8\xab\xbf\x61\x18\
+\x34\x37\x37\x57\xcc\x13\x0b\x06\x83\x15\x22\xdd\x6a\xe7\x68\xb9\
+\x56\x07\x07\x07\x6d\x69\xa0\x69\x1a\xdd\xdd\xdd\xac\x5d\xbb\x76\
+\x46\x70\xcd\xa2\x8e\x8e\x0e\x36\x6f\xde\x6c\x33\xa0\x28\x8a\x44\
+\xa3\x51\xc6\xc7\xc7\x2f\xd8\x06\x98\x9c\x9c\x64\x7c\x7c\xbc\xe2\
+\x9b\xad\x5e\xbd\x9a\xa5\x4b\x97\xce\xf8\xa6\xd6\x3e\x5b\xb6\x6c\
+\xa1\xbd\xbd\xdd\x4e\xb1\x16\x04\x81\x64\x32\x69\x4b\x37\x8b\x4e\
+\x9f\x3e\x4d\x2a\x95\xaa\x68\x33\xbf\x70\xe1\x42\x36\x6d\xda\x34\
+\xeb\x79\x01\x56\xac\x58\xc1\x8d\x37\xde\x68\xcf\x56\x9b\x4d\x92\
+\x9d\xd7\x06\x98\x4c\x17\x18\x8e\x66\x6d\x2f\x86\x66\x98\xac\x5d\
+\x50\xcd\xb2\x79\xc1\x73\x82\xa6\x36\xe0\xe2\xd2\x25\x75\xf8\x5c\
+\x12\xc6\xd4\xea\x7e\x72\x3c\x4d\x24\x59\x72\x9f\xbe\xdc\x17\xa5\
+\x5c\xcb\x55\x65\x91\xb7\x5d\xd4\x32\xab\xcf\xbc\xfc\xa1\xde\x76\
+\x51\x2b\x21\xaf\x52\xf1\x42\x77\xf7\xc5\x6c\xf5\x65\xff\xa9\x92\
+\xee\x5f\x5a\xc1\x60\xc3\xa2\x1a\xba\x9a\x03\x9e\x3f\x01\xd0\x00\
+\x00\x11\x1e\x49\x44\x41\x54\xe7\xbc\xd7\xe6\x6a\x37\x57\xad\x6a\
+\xa4\x38\xa5\xdf\x8b\x53\xee\xce\x53\x63\x19\x4c\x13\x4e\x8f\x67\
+\xc8\xe6\x75\xdb\x96\x58\xd8\xe4\xe7\x92\xee\xda\x73\x9e\x33\xe0\
+\x91\xb9\xb8\xbb\xa4\x46\x95\xde\x1d\x44\x53\x05\x4e\x4f\x64\xec\
+\xd5\xb4\x9c\xa6\xeb\xa7\x8a\xa2\xd8\xae\x48\x4b\x02\x58\x51\x53\
+\xeb\x1a\xa1\x50\xa8\x82\x01\x0b\x85\xd2\xbb\x8d\x46\xa3\xb6\xaf\
+\xde\x30\x0c\x82\xc1\x20\x2b\x56\xac\xb0\xa3\xbd\xb3\x06\x84\x04\
+\x81\xae\xae\xae\x0a\x66\x2c\x16\x8b\x8c\x8d\x8d\xcd\x6a\x3c\xce\
+\xa6\xfe\xf4\xf6\xf6\xda\xea\x8c\xae\xeb\x34\x37\x37\xb3\x64\xc9\
+\x92\xf3\xf6\x3a\xbd\xf2\xca\x2b\x2b\x82\x55\x16\x80\xcb\x55\xa8\
+\xc1\xc1\x41\x1b\x00\xd6\x22\xb1\x65\xcb\x96\xb3\x7e\x03\x4b\xfa\
+\xb8\x5c\xae\x19\x23\x6f\x5f\x15\x00\x26\x92\x05\x62\xe9\xc2\x94\
+\x5b\xd3\xc4\x30\xe0\xaa\x55\x8d\x76\xa8\xff\x5c\xb4\xa8\xd9\xcf\
+\x92\xb6\xe0\x94\xe1\x38\x85\xe4\x48\x76\xca\xa8\x2c\x19\xd4\xd6\
+\x0d\x2f\x6c\xf4\xd3\x5e\xef\x3d\x7b\xc4\xce\x5a\x5d\x15\x91\x8b\
+\xbb\x6a\xa6\xbc\x46\x25\x3a\x39\xe5\x99\x89\x24\xf3\x24\xb3\x45\
+\x44\x41\x40\x37\x4c\xe6\xd5\x79\x58\xda\x76\xfe\x74\x01\x51\x10\
+\xb8\x7c\x4a\x95\x29\xed\x57\x4a\xf1\x18\x4f\xe4\x88\xa6\xf2\xc4\
+\xd2\x05\xfb\xfe\x8b\x9a\xc1\x35\xab\x1a\x70\x5d\x80\xcb\xb6\xb3\
+\xd1\xcf\xd2\xb6\x20\xfa\x94\x41\x2b\x89\x02\x03\x13\x19\x8c\x73\
+\x00\xe7\x5c\x2e\xd1\xb3\x1d\x53\xe1\xce\xd5\x75\x7b\x15\xb6\x7e\
+\xee\xec\xec\xbc\xa0\xd2\x45\x8f\xc7\xc3\x9a\x35\x6b\x6c\xa3\xd8\
+\x1a\x10\x98\x4c\x26\xcf\x7b\xac\x61\x18\x8c\x8e\x8e\xda\xcc\x26\
+\xcb\x32\xff\x7f\x7b\xd7\xfa\xdb\xc6\x95\xdd\x7f\xf7\xce\x83\xaf\
+\x21\xc5\xa7\x5e\xa4\x29\x5b\x96\x64\x2b\x8a\xfc\x2c\x6c\xa7\x81\
+\x01\x37\xd8\x04\x9b\x45\x80\xa0\x5b\xa0\x1f\xfb\xa5\xdf\xf6\x73\
+\xff\x98\xf6\x53\xd1\x7e\x28\x50\x6c\x11\x20\x2d\xb6\x5d\x38\xdb\
+\x76\x53\x74\x53\x64\x13\xc7\x95\xd3\x35\x12\x5b\x91\x25\xcb\x16\
+\x65\x52\x22\x25\x8a\xaf\xe1\xcc\xdc\xe9\x87\xe1\xbd\x9a\x91\x44\
+\x72\x68\xc9\xaf\x5d\x1e\xc0\x10\x0c\x89\xc3\x3b\xf7\xde\x73\xee\
+\x39\xbf\xf3\x3b\xe7\xe6\xf3\x79\x24\x12\x89\x9e\x6b\x0a\x00\xe1\
+\x70\x18\x8b\x8b\x8b\xe2\x32\x72\xd3\x34\x45\xc6\x9b\x2b\x71\xb5\
+\x5a\x15\xbf\xb7\x2c\x0b\x17\x2f\x5e\x14\xb8\x7e\xaf\x67\xf7\x9a\
+\xab\x9e\x0a\xc0\x35\x66\xa7\xd6\x16\x59\x54\x8b\xd9\x98\x19\xd7\
+\x90\x8c\xa8\xbe\x30\xe2\x58\x48\xc1\x54\x26\xd2\xb1\xc8\xce\x46\
+\xdb\xac\x34\xd1\x6a\x5b\x28\xee\xea\xfb\xfe\x2b\x25\xb8\x36\x9b\
+\xec\x0b\xbb\xf1\xdf\x5d\x99\x4e\x40\x96\xbd\x08\xcf\xd3\xed\x26\
+\x36\x2a\x2d\x71\x82\x30\x1b\xc8\x26\x43\xc8\x1f\x70\xd3\xba\x89\
+\x2a\x53\x5c\x39\x9b\x70\x94\x15\x40\x5d\xb7\x50\xa9\x19\xd8\x6d\
+\x38\xff\x48\x27\xaf\xc1\x51\x24\xda\xe7\xfd\x6d\xdb\x86\x22\x53\
+\xe4\x33\x61\x44\x02\x0a\x6c\x00\x94\x00\x1b\x95\x26\x0c\xab\x17\
+\x89\xa3\xf7\x7a\xf4\x05\x2c\x0c\x03\xe5\x72\x59\xbc\xaf\xaa\xaa\
+\x18\x1b\x1b\x83\xaa\xaa\xbe\x60\xcc\x64\x32\x89\x74\x3a\x2d\x4e\
+\x81\xbd\xbd\x3d\xe1\x5a\xf5\xcc\xa3\x58\x96\xc8\x69\xd8\xb6\x8d\
+\x78\x3c\xee\xfb\x4e\x63\x42\x08\xce\x9d\x3b\x27\x4e\x3b\x1e\xc8\
+\x72\x25\xd8\xdd\xdd\x15\x1d\xb4\xf9\x3c\xcc\xcd\xcd\x9d\x08\x67\
+\x89\xf6\xdb\x6c\x95\x7a\xdb\x81\x1a\x3b\x1b\x6d\x6e\x32\x0a\x45\
+\xa6\x7d\x37\x15\x1f\xe8\x78\x3c\x88\x94\xe6\x40\x8e\x12\x05\x36\
+\x77\x5a\x58\x2b\x35\x04\x2c\xc9\xe5\xad\x9c\xff\xbe\xf8\xa9\x68\
+\x00\xf1\xf0\xfe\x45\x74\x36\x80\x47\xa5\x3a\x36\xca\x4d\x81\xe6\
+\x84\x03\x12\x72\xe9\x08\x88\xcf\xad\xa6\xca\x14\x8b\xf9\x11\x98\
+\xcc\x06\x3a\xca\xbe\xdb\x30\xb0\xbe\xdd\xc4\x5e\xd3\x04\x25\x0e\
+\x15\x63\x6e\x32\x0a\x55\xc0\xab\xa4\xd7\xaa\x8a\xf7\xcf\x8c\x04\
+\xc0\x98\x0d\x4a\x08\x36\xca\x4d\x98\xd6\x8b\x63\x37\xb6\xdb\x6d\
+\x94\xcb\x65\x50\x4a\xc1\x18\x43\x32\x99\x44\x3c\x1e\xef\xab\x44\
+\x7c\x2e\x03\x81\x00\x26\x27\x27\x3d\x0a\xd0\xaf\xf4\x91\xfb\xff\
+\xee\x7b\x8e\xa3\xd1\x28\x32\x99\x8c\x2f\xe3\x43\x08\x11\x97\x10\
+\xba\x15\xa0\x5a\xad\x1e\xa9\x00\xc9\x64\x12\x9a\xa6\x9d\x88\x02\
+\xf4\x85\x41\x1b\xba\x05\x66\xdb\x20\x84\x82\xd9\xc0\x44\x32\x08\
+\x45\x22\xbe\xb4\x1a\x00\x12\x11\x05\xb1\xb0\x8c\x52\xb5\x05\x4a\
+\x08\xf6\x9a\x06\xca\xb5\xb6\x08\x30\x01\x20\xa5\xa9\x47\x52\x05\
+\x7a\x49\x2e\x15\xc2\xb3\x9d\x96\x93\x59\xb5\x6d\x54\x6a\xed\x8e\
+\xa5\xe6\x16\xc9\xc6\x2f\xbe\x7e\x8a\x5f\x7e\xb3\x31\x80\x95\x05\
+\x82\x0a\x05\x01\x01\x81\x0d\xdd\xb4\x50\xae\xea\xd0\x0d\x0b\x12\
+\x25\x60\xcc\xc6\x64\x22\x04\x59\x18\x80\x1e\xef\xdf\xf9\x99\xd0\
+\x54\xc4\x42\xb2\x93\x3f\xa1\x8e\x6b\x65\x75\x94\xec\x45\x88\x65\
+\x59\x68\x34\x1a\xc2\x75\xe0\x37\x57\xfa\x4d\x6a\xf1\x1c\x01\x57\
+\x00\xd3\x34\x7d\xc5\x00\x6e\xff\x9c\xbb\x35\x7e\xb2\xc0\x6e\x17\
+\x6f\x74\x74\x14\x7b\x7b\x7b\xe2\x7b\x79\xe6\x56\xd7\x75\x18\x86\
+\xe1\xe1\x48\x75\xcb\x8c\x9f\xa8\x02\x98\x16\x83\xd1\x81\x1c\xf9\
+\xf1\x94\xd4\x54\x50\xea\x7f\xf5\xb4\xa0\x82\x48\x60\x7f\x03\xe8\
+\x06\x43\x43\x37\xe1\xe6\x04\x8c\xc6\x83\x03\x65\x1d\x01\x20\x33\
+\x12\x04\x21\xce\xa6\xb5\x01\x34\x74\x73\x1f\xca\x24\x04\xcc\xb6\
+\xd1\x36\x6d\x0c\xd2\xc9\x86\x78\x7c\x71\xa0\x6d\x30\x34\x88\xd5\
+\x89\x55\x3a\xd6\x27\xa6\x7a\x12\x77\xfd\xdf\x5f\x46\x38\x20\xc3\
+\x16\xa8\x95\x8d\xb6\xc5\xf0\xa2\x5a\xec\xf0\x60\x98\xa3\x3d\xfc\
+\xe2\x6e\xbf\x22\x49\x12\xa2\xd1\xa8\x27\x31\xd6\x2d\x31\xe5\xfe\
+\x4e\xb7\x92\xf0\x9b\x30\xfd\x90\x20\xdd\x0a\x10\x8b\xc5\xc0\x18\
+\x83\x24\x49\xb0\x2c\x4b\x6c\xfa\x76\xbb\x2d\xfc\x7f\x9e\x0c\x3c\
+\x29\xca\x76\x4f\x05\x30\x2c\x1b\x6d\x93\x09\x4b\xa7\xca\x14\x32\
+\x25\x03\xbd\x98\x22\x13\x27\x06\xe8\xfc\xbf\xd5\xb6\xd0\xd0\x4d\
+\xcf\xc6\x0c\xab\xd2\xc0\x03\x0f\x29\x5e\x0b\x50\xd7\x2d\x34\x0d\
+\x4b\x18\x56\xb1\x91\x8f\x31\x39\xcd\xb6\x25\x10\x9c\x4e\xe2\x1a\
+\x21\x59\x12\x6e\x96\x2f\xcb\xd6\x61\x9b\x72\x8d\x27\x20\x87\xde\
+\xff\x24\x37\xbf\x61\x18\x9e\x2c\xb2\x2c\xcb\x47\x32\x31\x7b\xba\
+\x83\xaa\xea\x71\x99\x0c\xc3\xe8\x1b\x83\xe8\xba\x2e\xe6\x9c\x52\
+\x2a\xac\xbf\xdf\x8d\xca\xd9\xa5\x02\xde\x76\x29\x80\x61\x18\xb0\
+\xac\x7d\xbf\xf1\x24\x6f\xd0\x94\xfb\x4d\xa8\x9b\x77\x2f\x51\x37\
+\xa1\xca\xdf\x00\x28\x25\x9e\x13\x83\xd9\x36\x5a\x06\xf3\x72\x86\
+\xa4\xc1\x5f\xc6\x43\x70\xb3\x01\xcb\x62\xb0\xac\x93\xdb\x56\x84\
+\x10\x71\xfa\xb9\xbe\x06\xaa\x3a\xf8\xd1\x2b\x39\x49\x62\x31\x6d\
+\x86\x69\xa3\x9f\x06\x70\x18\x94\x6f\x82\x50\x28\xe4\x6b\x23\x1f\
+\xe4\xd7\x50\x4a\x07\x76\x17\x78\x36\xf8\xf0\x3e\xe8\xed\x7a\xb9\
+\x3f\x3f\xa8\xd2\x1d\x44\xba\x2c\xcb\x12\x27\x8f\x69\x9a\xe2\xf9\
+\xbc\xe0\xe5\xa4\x44\xee\xb7\xc9\x14\xc1\xd9\x20\x68\x19\x16\x18\
+\x0f\x5e\x89\xed\x4b\x09\x0c\x93\x09\x64\x05\x00\x82\x8a\x84\x83\
+\x1e\x44\x4b\x1f\x3c\x2a\x6c\xb4\x2d\x8f\xef\x12\x0e\xc8\x08\x29\
+\x27\x69\x59\x9d\xdc\x85\x74\x50\x39\xed\xc1\x9e\xd1\x71\xac\x06\
+\xfe\xf6\x74\x3a\x8d\xf7\xdf\x7f\x5f\x50\xa5\xd3\xe9\x74\xdf\x85\
+\xe7\x17\x71\xbb\xe9\x03\xa6\x69\x8a\x6b\x9e\xfc\x8a\xbb\xf7\x0f\
+\x3f\x45\xfa\x29\x51\x20\x10\x10\x4a\xc2\x18\x13\x8a\x3b\xa8\xeb\
+\xd6\xeb\xdd\x0e\x92\xf6\x5e\xb8\x02\x28\x12\x15\x88\x8f\xe3\x03\
+\x03\x35\xdd\x04\x60\xfb\x46\x57\x9a\x6d\x0b\xad\x0e\xee\x67\xdb\
+\x40\x50\x3d\xec\x42\xec\x36\x8d\x81\x07\x5e\x6d\x18\x70\x19\x55\
+\x84\x03\x12\x82\xea\xbe\xb2\x72\xba\xc2\xf3\xfa\xda\xa6\x65\x43\
+\x95\xf9\x33\x9f\xfb\x1c\x79\x6e\x57\x46\x96\x65\x64\x32\x19\x81\
+\xa4\x1c\xb4\xee\xbd\xac\xa8\x3b\xf8\x6c\xb7\xdb\x30\x0c\xc3\xb7\
+\x02\x70\x9e\x8e\x9b\x9f\xe5\x27\x98\xe5\xee\x0b\xb7\xde\x3c\x80\
+\x1d\xa4\xca\x8b\x07\xef\x2f\x53\xe4\xde\x16\xc5\xa9\xc7\xe5\xd6\
+\x8c\x76\xca\x0b\xcf\x8e\x6b\xbe\x90\x20\x00\xd8\xa9\x1b\xa8\x36\
+\x9c\xe4\x94\x0d\xc7\x52\x93\x03\x47\x40\xa1\xdc\x1c\x68\x73\x10\
+\x42\xf0\x64\xbb\xe1\xd9\x98\xd1\xa0\x82\x6a\xc0\xf4\x60\xf0\x57\
+\xa7\x93\x58\x9c\x1a\x39\xe4\xca\xf8\x31\xdc\x84\x10\x64\x62\x01\
+\x7c\xf9\x70\xdb\x83\x58\xbd\x0c\xe9\xc7\x87\xef\xe7\x46\xf0\xdb\
+\xe7\x29\xa5\xa8\xd5\x6a\x68\x34\x1a\x22\x0b\xdc\xf7\xc4\x76\xe5\
+\x11\xb8\x0b\xd5\x4f\x01\x08\x21\x9e\x2a\x32\x5e\xa3\x3b\x48\x0c\
+\xc0\x18\x43\xa9\x54\x3a\x31\x74\xe7\xd8\x0a\xc0\x5f\x66\x24\xac\
+\x20\xa4\xca\xb0\x18\x73\xe8\x0c\xc5\x3a\xae\x75\x32\xb1\xbd\x9c\
+\x20\x77\x05\x55\xb9\xd6\x16\x89\xb4\xb1\x78\x00\xca\x01\x05\x30\
+\x2c\x1b\x8f\xb7\x1a\xc8\xa7\xc3\xfe\x7c\x73\x93\x89\x44\x1a\x3f\
+\x0e\x73\xa9\x10\x2c\xe6\x24\xc0\xa4\x4e\xb0\x1d\x54\xa9\xc8\x04\
+\x3f\xaf\x98\xec\xcd\xea\x88\xac\x28\x0a\x12\x89\x04\x0a\x85\x82\
+\xa8\x37\xae\x56\xab\x48\xa5\x52\xbe\xca\x3d\x75\x5d\x47\xb1\x58\
+\x14\x19\xdd\x48\x24\x22\x60\xd4\x5e\x92\x4a\xa5\x3c\xae\x57\xbd\
+\x5e\x47\xa5\x52\x41\x22\x91\xf0\x35\xee\x76\xbb\x8d\xad\xad\xad\
+\xd7\xe7\x04\x10\x38\xbe\xa6\x62\x24\x2c\x63\x6b\xaf\x0d\x59\x22\
+\xf8\xdd\xe3\x5d\xb4\xae\x65\x11\x09\x00\xc4\x29\x0e\xe8\xfa\x79\
+\xd3\x62\x58\xdf\x6a\xa0\xde\x32\xa1\xca\x54\xe0\xe8\x07\x03\x2a\
+\x66\xdb\xb8\xbb\x52\x41\x3e\x1d\xf6\x75\x64\xde\x7b\xbc\x8b\xb6\
+\x8b\x73\x4f\x08\x70\x7a\x2c\x82\xb6\xc5\xc0\x98\x0d\x22\x53\xd8\
+\xb0\xf1\x64\xbb\x89\xad\xaa\x8e\xb4\x8b\xd6\xdc\x15\xc5\x30\x2c\
+\xfc\xdd\xaf\x57\xf1\xb0\x50\x03\x01\x30\x95\x89\xe0\x4f\x6f\xe4\
+\x04\xea\xf5\x26\x08\x77\x57\x12\x89\x04\x9e\x3e\x7d\x0a\x59\x96\
+\xb1\xb7\xb7\x87\xad\xad\x2d\x9c\x39\x73\xc6\x57\x96\xbd\xd9\x6c\
+\x62\x7d\x7d\x1d\x92\x24\x81\x31\x86\x68\x34\xda\x57\x01\x08\x21\
+\xa2\x93\x45\xad\x56\x13\x14\x8a\x42\xa1\xd0\x93\x0a\xe1\xb6\xfe\
+\x8f\x1e\x3d\x82\x65\x59\x03\xc5\x2a\x27\x21\x7d\xcf\x9b\xa4\xa6\
+\x62\x24\xa2\xee\x17\x84\x1b\x16\xbe\x59\x29\x3b\x94\xe4\x1e\xd6\
+\x04\x70\x68\xc4\x0f\x0b\x7b\x1e\x76\x66\x36\x15\x76\x92\x5e\x9e\
+\x09\xb0\xf1\xbf\x8f\x76\xa0\x1b\xcc\x17\xc5\xe2\xb7\x0f\xb6\x3d\
+\x0a\x90\xd4\x54\x04\x15\x09\x63\x23\x41\x48\x12\x11\xd4\xea\xf5\
+\xad\x06\x96\x0f\x54\xa2\x75\x1b\xef\x83\x42\x0d\x77\x57\x76\x60\
+\x59\x0c\x6d\x93\xa1\x52\x6b\x63\xbb\xaa\x0f\x94\xf3\x78\x5d\x4e\
+\x00\x37\x95\x41\x92\x24\xac\xae\xae\x0a\xea\xf5\x51\x73\xeb\x86\
+\x3b\xbf\xfb\xee\x3b\x0f\x0f\x5f\xd3\x34\x68\x9a\xe6\xcb\xf5\xe2\
+\x94\x63\xc0\xa1\x46\x3f\x79\xf2\x44\x94\x6a\xf6\x5a\x53\xcb\xb2\
+\xf0\xed\xb7\xdf\x7a\x8a\x68\x5e\x1b\x05\x18\x8f\x07\x31\x36\x12\
+\x10\x15\x59\xaa\x4c\xf1\xab\xa5\x67\xd8\xa9\x1b\x5d\x27\x93\xd7\
+\xcf\x2e\xad\xee\x60\xa3\xd2\xea\xd0\xa8\x9d\x8c\xef\x44\x22\x78\
+\x64\x22\xa9\xd6\x32\xf0\x8b\x3b\x1b\x7d\xe1\xbd\xaf\x97\xcb\x58\
+\xdf\x6e\x78\xac\xca\xc5\xd3\xce\x31\x1b\x09\x48\x98\x9d\xd0\x60\
+\x75\x68\x07\xf5\x96\x89\xbb\x2b\x15\x6c\x55\xf5\xae\x8b\xcf\x03\
+\xde\x7f\xf9\xea\xa9\x93\x05\xe6\x5c\x16\x4d\x41\xb6\xe3\x56\xbd\
+\x69\x92\xc9\x64\x10\x0a\x85\xc0\x18\x03\xa5\x14\x85\x42\x01\xab\
+\xab\xab\x9e\x64\xd2\x51\x08\xcb\xf6\xf6\xb6\x28\x65\xe4\x7f\x93\
+\xc9\x64\x7c\x29\x80\x2c\xcb\x98\x9e\x9e\x16\x1b\x9e\x52\x8a\xb5\
+\xb5\x35\x2c\x2f\x2f\xf7\x5d\x53\x5e\x1b\xf1\xb2\xfd\xff\xbe\x0a\
+\xc0\x07\x98\xcf\x44\x30\x12\x56\x44\x36\x53\x37\x18\xfe\xfe\xd7\
+\xab\x30\x5d\xb8\xfb\x41\x84\x62\x69\xcd\xe9\xef\xa3\x48\xfb\x5d\
+\x22\xe6\x4f\xc5\xa0\x05\xe5\x43\xa8\x0a\xcf\x90\x7e\xb3\x52\xc1\
+\xd2\xea\xce\xa1\x5a\x4f\xfe\x37\xc5\x5d\x1d\xb7\x97\x36\xd1\xd4\
+\xbd\x0b\x79\xf5\xac\xa3\x00\x01\x55\xc2\x85\xa9\x38\x4c\xcb\xf9\
+\x9c\x2c\x11\xdc\x7f\x52\xc5\xff\x74\x4e\x0c\xf7\x73\xdd\xe3\xfe\
+\x87\xff\x7e\x8c\xe2\xae\x2e\x8a\x5d\x28\x25\x18\x8f\x07\x91\xd4\
+\xd4\x7d\xd8\xf7\x0d\x12\x4d\xd3\x90\xcd\x66\x3d\xa7\xc0\x97\x5f\
+\x7e\x29\x28\xc6\x47\xcd\x43\xab\xd5\xc2\x67\x9f\x7d\x26\x3e\xc3\
+\x09\x6d\x7e\x58\xa4\x3c\x58\xce\x66\xb3\x22\x18\xa6\x94\xa2\xd5\
+\x6a\xe1\xde\xbd\x7b\x78\xf6\xec\x59\xd7\x35\x2d\x95\x4a\xa2\x1a\
+\xed\x55\x88\xaf\x82\x98\xd9\x09\x0d\xa3\x1d\x42\x17\x00\xc1\xed\
+\xff\x9b\xdb\x3f\xe0\x49\x87\xdf\xce\xff\xb6\xa1\x5b\xf8\x8f\x6f\
+\x8b\xf8\xa7\x2f\x1e\x0b\x6a\x81\x6d\x3b\x79\x80\xb7\x72\xb1\xae\
+\x34\x6a\x42\x08\xea\xba\x89\x9f\x7f\xb1\x8e\xdf\x3e\xdc\xdf\xb0\
+\x9c\xd6\xf0\xb0\xb0\x87\xbf\xfd\xf7\x15\x94\x76\x75\x8f\xe7\x95\
+\x4f\x87\x45\x53\x2b\x45\xa2\x98\x9d\x88\x3a\x3d\x83\x38\x2e\x2e\
+\x11\xfc\x6a\x69\x13\xff\xfc\xd5\x53\x6c\xef\xe9\x9e\xb1\x96\xaa\
+\x3a\xfe\xf1\x37\x8f\xf1\xf5\x72\x59\x9c\x4a\xfc\xa4\xba\xd0\x29\
+\x76\x79\x13\x45\xd3\x34\xe4\xf3\x79\x0f\xbb\x92\x31\x86\xdb\xb7\
+\x6f\xe3\xfe\xfd\xfb\x02\xa3\xe7\xf3\xb0\xb1\xb1\x81\x4f\x3f\xfd\
+\xd4\x53\x6d\xc5\x18\x43\x3a\x9d\x16\x8d\xb9\xfc\xec\x93\x40\x20\
+\x80\xd9\xd9\x59\x91\xc0\x92\x24\x09\x85\x42\x01\x9f\x7f\xfe\x39\
+\xd6\xd6\xd6\x3c\xa0\x85\x61\x18\x58\x5e\x5e\xc6\x27\x9f\x7c\x32\
+\x10\x5a\xf4\x52\x61\x50\x11\xe1\x47\x03\x98\xcf\xc5\xb0\x51\x69\
+\xa1\xdd\xe1\xdb\x28\x12\xc5\xf2\x66\x0d\x7f\x7d\xfb\x07\x8c\x27\
+\x82\x18\x8d\x05\xd1\xd0\x4d\x6c\xee\xb4\x50\xaa\xea\x60\x1d\x4b\
+\xca\x51\x9e\xb7\xf3\x23\x98\xca\x44\x38\xca\x78\xb4\x36\x76\x0a\
+\xc8\x7f\xfe\xc5\x13\xfc\xd7\xfd\x12\x26\x12\x21\xc8\x94\xe0\xd9\
+\x6e\x0b\x85\x4a\xab\xc3\xf5\x81\xab\x85\xa2\x8d\x8f\xaf\x65\xbd\
+\x31\x4b\x54\xc5\xcd\xf9\x0c\xfe\xed\x6e\x01\x21\x55\xea\xb4\x27\
+\x01\x7e\xf3\xdd\x16\xee\xaf\x57\x91\x4d\x85\x10\x0d\x29\x28\xed\
+\xea\xd8\xaa\xb6\x50\xa9\x1b\x9e\x36\x86\x20\xc0\x64\x32\x84\xb9\
+\xc9\xe8\x4b\x87\x3f\x4f\xcc\xaa\x51\x8a\x5c\x2e\x87\xc9\xc9\x49\
+\x51\x16\x49\x29\x15\x3d\x82\xee\xdd\xbb\x87\x64\x32\x09\x59\x96\
+\x51\xa9\x54\x50\x2e\x97\xa1\xeb\xba\xb0\xc2\x1c\xfd\x39\x7d\xfa\
+\xb4\x6f\xf8\x94\x2b\xc0\xc2\xc2\x02\xbe\xff\xfe\x7b\xb1\xd9\x15\
+\x45\x41\xb1\x58\xc4\xed\xdb\xb7\x91\x4c\x26\x91\x4c\x26\x61\x18\
+\x86\xf8\x5e\x77\xc2\xed\xb5\x55\x00\x00\xb8\x31\x97\xc6\xef\xd6\
+\xab\x58\x2d\xd6\x41\x61\x8b\xbe\x37\xcd\xb6\x85\x95\xcd\x1a\x56\
+\x3a\xc1\xa6\xe0\x83\xb8\x8e\x3c\x89\x12\x5c\x9f\x4d\x22\xa1\xa9\
+\x3d\x21\x38\xfe\x79\x66\xdb\xd8\x28\x37\xb1\xe1\xca\x0f\x78\xb3\
+\x7f\x36\x2c\x06\x5c\x98\x1a\xc1\xe9\xd1\x88\x27\x68\x0b\x2a\x12\
+\x2e\x9d\x89\xe3\xab\xe5\x6d\x54\x9b\xa6\xa0\x6f\x10\x00\xbb\x0d\
+\x03\x3b\xf5\xfd\x6c\x23\xe9\x9c\x66\xe2\x68\xee\x04\xd4\xb7\xde\
+\x1e\x45\x4f\x4d\x7d\x03\x24\x95\x4a\x61\x6e\x6e\x0e\x9b\x9b\x9b\
+\x87\xca\x4b\xcb\xe5\xb2\x08\x8a\xf9\xdc\x72\xff\x9b\x9f\x1a\x63\
+\x63\x63\x98\x9b\x9b\x1b\xf8\x7b\x13\x89\x04\x16\x16\x16\xb0\xb4\
+\xb4\x24\xda\xa2\x50\x4a\x61\x18\x06\x36\x37\x37\xb1\xb9\xb9\x79\
+\xe4\x9a\xfa\x49\xf2\xbd\x92\x20\x98\x0f\x2e\x1a\x92\xf1\xde\xe2\
+\x18\xa2\x21\xf9\xd0\xbe\x38\xaa\xdb\x17\xff\x9c\xc9\x6c\xdc\x9c\
+\xcf\xe0\xdc\x64\xac\x4f\x22\xc4\xee\xfa\xcc\x83\xcf\x65\x0c\x18\
+\x09\x2b\xf8\xe9\x0d\x6f\xad\x27\xff\x39\x99\x0c\xe1\xfd\x4b\xe3\
+\xa2\x86\xb9\xeb\x58\x0f\x3c\x57\xa6\x04\x97\xcf\x24\x44\x31\xfc\
+\x9b\x2a\xfc\x9d\x67\x66\x66\x30\x3b\x3b\xeb\x69\x7b\xe2\x67\xcd\
+\xe2\xf1\x38\x2e\x5f\xbe\xec\x09\x86\xfd\x4a\x30\x18\xc4\xe2\xe2\
+\x22\xd2\xe9\xb4\x87\x1f\xd4\x6b\x4d\x5f\xe5\xed\x93\x03\x35\xc6\
+\xba\x30\x35\x82\x9b\xf3\x19\xc8\x3d\x6a\x2c\x3d\xc9\x0d\xd3\xc6\
+\x7c\x2e\x86\x5b\x6f\x67\x10\x0a\x48\x5d\x3f\x73\xe1\x74\x5c\xd4\
+\xce\xfa\x59\x5c\x8b\xd9\xf8\x8b\x5b\xa7\x91\xd4\x94\x23\x7f\x2f\
+\x51\x82\x6b\x33\x49\xbc\x7b\x3e\x03\xfd\x00\xf1\xae\xd7\x09\x74\
+\x3e\x1b\xc3\x47\x7f\x34\x89\x37\x5d\x44\x73\x82\x48\x04\x57\xaf\
+\x5e\xc5\xe8\xe8\xe8\xa1\xcd\xd8\x0d\x8f\x0f\x04\x02\xb8\x72\xe5\
+\x0a\xb2\xd9\xec\xc0\x16\x99\xcf\x73\x2a\x95\xc2\x3b\xef\xbc\x83\
+\x60\x30\xd8\xb5\x17\xe9\x51\xee\xd3\x85\x0b\x17\xfa\x52\xaf\x5f\
+\x89\x02\xb8\x5f\xf0\x83\x4b\xe3\xf8\x93\xc5\x51\xd1\xc0\xf6\xa8\
+\x86\xad\x7c\x93\xbe\x75\x2a\x86\x3f\xbb\x9e\x43\x2a\xda\xbb\xf3\
+\x72\x2c\xac\xe0\x67\x1f\xce\x38\xa7\x4b\x17\xe6\xa1\x53\xe6\xe8\
+\x50\x1c\x7e\xf6\xe3\x19\x4c\x8f\x45\xfa\xd4\x0e\x4b\xf8\xc9\x95\
+\x09\xdc\x7a\x7b\xd4\xa9\x19\xe8\x31\x56\x4a\x09\xce\x4d\x46\xf1\
+\x97\x3f\x9a\xc6\xef\x8b\xf0\x79\xe0\x0d\x76\xc7\xc7\xc7\xc1\x18\
+\xeb\x39\x0f\xa1\x50\x08\xd7\xaf\x5f\xc7\xc2\xc2\xc2\x73\x59\x65\
+\xf7\x7a\x4c\x4f\x4f\xe3\xbd\xf7\xde\x13\x70\x6c\xb7\x35\xe5\x8a\
+\xfa\xd1\x47\x1f\x21\x1e\x8f\x77\x55\x98\x17\x75\x4a\x0c\x98\x76\
+\x73\x26\xf5\x27\x57\x26\x30\x11\x0f\xe2\x8b\xef\xb7\xf1\x60\xa3\
+\xea\x04\xbc\xae\xe2\x94\x44\x44\xc1\xb5\xd9\x14\x6e\xce\x67\x30\
+\x12\x51\x7c\x65\x77\xe3\x11\x15\x7f\xf5\xf1\x79\xfc\xeb\x9d\x0d\
+\xdc\x5b\xdb\x45\xb5\x69\x88\x2c\xac\xc5\x1c\xdf\x7e\x6e\x32\x8a\
+\x1f\x5f\x99\x10\x94\x89\x7e\x05\xf4\xa1\x80\x84\x8f\xaf\x65\x31\
+\x91\x08\x76\x5a\xae\xb7\x60\x63\x7f\xac\xcc\xb6\x31\x91\x08\xe1\
+\x8f\xcf\xa7\x71\x6b\x61\xf4\xd0\x33\x29\x25\x00\x71\xf2\x04\x12\
+\x65\xe8\x91\xf8\xee\x6f\x5d\xed\xfd\x02\x23\x27\x2e\x81\x67\x63\
+\x3c\x0f\x06\xce\x79\xf3\xdc\x7a\x1f\x55\x08\xce\xfd\xf9\x0f\x3e\
+\xf8\x00\x4b\x4b\x4b\x78\xf0\xe0\x81\x20\x9d\x71\x74\x88\xf7\x14\
+\x5a\x5c\x5c\xc4\xd4\xd4\x54\xd7\x79\xe5\x65\x96\x7c\x93\xf6\xa3\
+\x55\xcc\xcc\xcc\x20\x12\x89\xe0\xce\x9d\x3b\x78\xfc\xf8\xb1\x68\
+\xf0\xcb\x37\x7e\x30\x18\xc4\xd9\xb3\x67\x71\xe3\xc6\x0d\x68\x9a\
+\x86\x52\xa9\x24\x9a\x7b\xb9\xdd\x24\x77\x9f\x22\x9e\xcb\x78\x25\
+\x0a\x20\x2a\xb0\x6c\x1b\x97\xa7\x9d\xd6\x28\xcf\x76\x5a\x58\xd9\
+\xac\xa3\xb0\xd3\x44\x38\x20\x63\x2a\x13\xc1\x99\xb1\x30\xa2\x21\
+\x45\x14\x8e\xfb\x1d\xf0\x48\x58\xc1\x9f\xbf\x9b\xc7\x8f\x2e\xb6\
+\xf1\xc3\x66\x0d\xab\xa5\x06\x6c\x66\x63\x32\x19\xc4\xcc\x44\x14\
+\x63\x23\x01\xdf\x17\x6f\xf0\x49\x53\x65\x8a\x77\xe7\xd3\xb8\x32\
+\x9d\xc4\x5a\xa9\x8e\xd5\x62\x1d\xdb\x7b\x3a\xb4\x90\x82\xf3\xd9\
+\x18\x72\xa9\x10\xb4\x60\xf7\x4b\x1a\xde\xca\xc5\xb0\xd7\x30\xd0\
+\x32\x19\xd2\x51\x55\x04\xf2\xfe\xee\x12\x70\xe6\x6c\x31\x3f\x82\
+\x66\xa7\x10\x48\x0b\xc8\x18\x8d\x29\xb8\x74\xe9\x92\x40\x4b\xc2\
+\xe1\xf0\x73\x5d\x38\xcd\x3b\x29\x00\x4e\xbd\x40\x2e\x97\xeb\x3a\
+\x0f\xf1\x78\x1c\x37\x6f\xde\xc4\xe5\xcb\x97\x51\x28\x14\x44\xc7\
+\xe9\x74\x3a\x8d\x6c\x36\x8b\x78\x3c\xde\xd7\xe7\xd7\x34\x0d\xf3\
+\xf3\xf3\x28\x16\x8b\x60\x8c\x21\x9f\xcf\xf7\x9c\x7b\x42\x08\x26\
+\x26\x26\xf0\xe1\x87\x1f\xa2\x5c\x2e\xa3\x50\x28\xa0\x58\x2c\x8a\
+\x36\x86\xbc\x91\x17\x6f\x89\x72\xea\xd4\x29\x9c\x3f\x7f\x1e\x96\
+\x65\x21\x1a\x8d\x8a\x7e\x3e\xf9\x7c\x1e\xd5\x6a\x15\xf5\x7a\x1d\
+\xb2\x2c\x23\x9b\xcd\x9e\x58\xd2\x6c\xa0\xfb\x01\x7a\xa1\x37\x83\
+\xfc\xee\x3f\xff\xaf\x88\x5f\xde\x2d\xc0\xe8\x60\xfd\xef\xce\xa7\
+\xf1\xd3\xeb\xb9\x63\x3d\xb3\xdf\x46\x04\x06\xff\x6c\xbf\x36\xdd\
+\xc7\x9d\xa3\xa3\x8e\xf8\xe3\x3e\xf7\x79\xe7\xcf\xcf\x25\x26\xcf\
+\x8b\xd2\x1c\xe7\xd9\xbd\xde\xf3\x24\x50\xa3\x63\x31\x8f\xfc\x90\
+\xab\x5e\x8f\x67\x72\xd0\xf3\x64\xc6\x32\xc8\x38\x06\x29\x09\x7c\
+\xd1\x63\x3b\xce\xdc\x1e\x67\xa3\x1d\xe7\xd9\x27\xb1\x06\x27\x16\
+\x04\x0f\x65\x28\xbf\x6f\x32\x54\x80\xa1\x0c\x15\x60\x28\x43\x19\
+\x2a\xc0\xcb\x94\x83\x71\xb7\x3d\x5c\x88\xa1\xbc\x1a\x91\x5f\xc5\
+\x97\x8e\x27\x42\x88\x47\x54\xb4\x0d\x0b\x20\x04\xb9\x54\x78\xb8\
+\x12\x43\x79\x25\x72\x2c\x18\xf4\x38\x52\xae\xb5\x9d\xa6\x53\x70\
+\xd8\xa6\x84\x0c\x17\x63\x28\x7f\x00\x0a\x70\x12\xd8\xfa\x50\x86\
+\xf2\xc6\x9f\x00\x43\x19\xca\x1f\x6e\x10\x3c\x94\xa1\xbc\x26\xf2\
+\xff\x2a\xca\xb1\x93\x8e\x67\x83\xcb\x00\x00\x00\x00\x49\x45\x4e\
+\x44\xae\x42\x60\x82\
+\x00\x00\x10\x45\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x10\x0c\x49\x44\x41\x54\x68\x81\xed\x99\x79\x90\xe5\x57\
+\x55\xc7\x3f\xe7\xfe\xf6\xb7\x77\xf7\xeb\xd7\xd3\xdb\x2c\x99\x99\
+\x24\x84\x90\x49\x44\x16\x91\x09\x24\x28\x20\x8b\xb1\x00\xa3\xa2\
+\xa5\x94\x42\x20\x40\x59\x2e\x55\x9a\xb2\x4a\x4b\x2c\xaa\x90\x52\
+\x4b\xab\x22\x93\x80\x4a\x61\x89\x1a\x71\x29\x49\x00\xc3\x16\x30\
+\x81\x40\x98\x08\xd9\x66\x92\xcc\x4c\x7a\xa6\xbb\xa7\x67\x7a\xfa\
+\xf5\xf2\xfa\xad\xbf\xed\xde\xeb\x1f\xaf\x33\x64\x9b\x61\x22\x7f\
+\x20\x55\x9c\xaa\x5b\xef\xd5\x7b\xf7\xf7\xde\xf7\x7b\xce\xb9\xe7\
+\x7c\xef\xbd\x62\xad\xe5\x87\xd9\xd4\x0f\x1a\xc0\xf7\x6b\x3f\x22\
+\xf0\x83\xb6\x1f\x7a\x02\xee\x85\x4e\x2c\xdf\x30\x1a\x38\x8e\x1a\
+\x03\x42\xa0\x6b\x8c\x5d\x13\xd0\xa2\x64\x38\xc1\xcb\xe0\xd1\x17\
+\xc0\xc1\x97\x82\x97\x61\x01\xac\x45\x64\xf8\xbd\x41\x51\x94\x1e\
+\x6f\x2e\xde\x81\x4b\x8e\x65\xf8\xb9\xc5\xa2\x8d\x41\x29\x55\x51\
+\x22\xa3\x62\xc1\xc2\xba\xb1\xa6\x8d\xa8\xa7\x79\xf8\x96\xe3\xad\
+\x67\xe1\xba\xa0\x08\xd4\x6e\xac\xbf\xa6\x5c\x0c\x3f\x59\x19\x29\
+\x7c\xc7\x0b\x9d\x23\xa2\xe4\x5e\x47\xf8\x2b\x0b\x3b\x9f\x4f\x15\
+\x13\x2c\xc2\xd3\xe7\x6b\x63\xc2\xa2\x17\xde\x58\x0f\xcb\x9f\xa9\
+\xf8\x85\xc3\x8e\xa8\x47\x1d\x51\x77\x04\x8e\xf7\xeb\xd6\x9a\xef\
+\x89\xef\x7b\x46\x60\xfa\x77\x67\x6f\x7a\xf9\x55\x17\x7f\xe8\x92\
+\xdd\x17\xb1\xb0\xba\xc8\x91\xb9\x53\x9c\x5a\x6a\xed\xde\x36\x5b\
+\x7b\x7f\xe0\x78\xd7\x9f\x38\xb1\xfa\x7a\x6b\xf9\x8e\x00\xc8\xb9\
+\xc9\x08\x96\x0c\x8f\xd4\xfa\x14\xa4\x8f\x45\xd0\x56\xd7\x77\x8c\
+\x4e\x7f\x6a\xdf\xce\xcb\xaf\xf1\x5d\x9f\xa5\x85\x63\x1c\x6d\x2d\
+\x31\xd0\xe9\xd5\xbb\x2a\x13\x57\xb7\xd2\xfe\xcf\x2c\x76\x9a\xbf\
+\xea\x29\x67\x70\xae\xdf\x3d\x2f\xc3\xb1\xf7\x35\x7e\xee\xe5\x57\
+\x5d\xfc\xa1\x3f\xbc\xee\x8f\xb8\xe9\xea\x3f\x61\xa2\x51\xc3\x75\
+\x15\xd6\x58\xfa\xfd\x94\x42\xc9\x6f\xec\xdd\xb3\xed\x76\x6b\x6d\
+\xc9\x1a\x60\x7d\xf4\x9c\x24\x04\xcb\xc0\x46\xb4\x4c\x0d\x85\x21\
+\x37\x9a\xc9\xea\xc4\x81\xd7\xbc\xe4\xb5\xd7\xbc\xee\xc0\x01\xf6\
+\x5d\xf7\x36\x8a\xca\x47\x44\xc8\x8d\xa6\x9b\x0e\x98\x29\x8d\xbf\
+\x6d\xb6\xd2\xf8\x40\x6e\x35\xe7\x72\xcd\x79\x09\x4c\x8c\xd5\x7e\
+\xb3\xbe\xad\xcc\xa1\xcd\x83\x7c\xfc\x91\xbf\xe4\xe8\x89\x93\xac\
+\x9c\x69\x63\xb4\x65\xd0\x4b\xd9\x6c\xf7\x89\x22\x6f\xa6\x50\xf0\
+\xaf\xb7\xb9\x03\xad\x1a\xc6\xe4\x18\xad\xa7\xb0\xbc\x11\x78\x3b\
+\xc8\xcf\x5a\x6b\xb7\x5b\x63\xb0\x56\x98\xcf\x77\x20\x62\x70\x44\
+\xed\xbc\x68\x6c\xe6\x2d\xb6\x3f\x60\xe9\x1f\xff\x8d\x43\xff\xfe\
+\x29\x4e\xf6\x56\xd9\x4c\x7b\xe4\x56\xd3\xc9\x62\x7a\xe9\x80\xb1\
+\xa0\xf4\x1b\xc0\xc4\xd6\x92\x79\x96\x9d\x33\x85\xca\x37\x8c\x8e\
+\xcd\xce\xd4\xf7\x3d\xfa\xc4\x22\x8f\xcf\x9f\xa0\xdd\x8e\x39\xbd\
+\xd4\xa6\xdf\x4d\x51\x22\x24\x89\x66\xbd\xdd\x43\x7c\x70\x2b\xf9\
+\x5b\xbd\xf6\xc4\xc7\xb3\xd5\xda\x25\xb5\xc9\x91\x3f\x2b\xd7\xc7\
+\xaf\xd1\x79\x5e\xea\x6e\x6c\xd0\xdb\x68\xe1\x47\x51\xdf\xf5\xfd\
+\x2f\x76\x5a\x9d\xdf\x5a\xce\x1b\x27\x7a\x3a\xa0\xe4\xc9\xab\x7a\
+\x49\xc7\x79\xf8\xb1\xff\xe1\xd0\xe1\x83\xac\x24\x6d\x4e\x0f\x5a\
+\x68\x6b\x00\xa1\x97\x0d\x58\xef\xad\x53\xf1\xc2\xd1\x29\x27\x7c\
+\x99\xc0\xed\xcf\x8b\x80\x52\x32\xd1\x19\x0c\x6a\xcd\x47\x37\xd1\
+\xb9\x41\x6b\x03\x16\x04\x41\x3c\xf0\xab\xa0\xca\x9a\x6e\xd0\x45\
+\xf7\x92\xba\xbb\xb8\xf3\xe2\x5d\x57\x5e\xf9\xb5\x17\xbc\x62\x4f\
+\xbd\x51\x2f\x71\xe8\x48\x93\x93\x47\xe6\x88\xbb\x5d\x44\xa9\xc2\
+\xc4\x45\x3b\xaf\x1b\xcb\xd2\xab\x8e\x3e\x78\x74\xff\xf1\x6c\xd7\
+\xc2\x8b\x83\xb9\x8b\xce\xb4\x9b\xac\xf6\xba\xb0\x55\x89\x86\x5e\
+\x16\x0a\xa2\xa8\xe2\x50\xce\x33\x82\x5c\x33\x8b\x3f\x76\x8e\x00\
+\x9c\x2f\x85\xa4\x1d\xc7\xe9\x20\xcf\x0c\x3a\xb7\x43\xe0\x08\x12\
+\x42\xb8\x4d\x51\x9e\xf1\xa9\xed\x08\x18\xd9\xe3\xa1\x5b\x5e\xb9\
+\x3e\xd8\xff\xd1\x2b\xae\xdd\x57\xff\xf3\xdf\xdb\xcf\x0d\xbf\x74\
+\x15\x7e\xb1\x80\xd5\x06\xa3\x0d\x46\x6b\x3a\x6b\xeb\xf8\x51\xb4\
+\x7d\xf6\x05\x7b\x3f\xd9\xcc\xc6\xd0\x46\xaf\x0e\xd2\x04\x6d\x35\
+\xda\x1a\x44\x04\x85\x50\x15\x87\x29\xf1\x98\x15\x9f\xed\x04\xec\
+\x94\x80\x19\xbc\x6c\x0a\xef\x39\x51\x9e\x33\x02\x22\x9c\xca\x92\
+\x7c\x5e\x44\x5d\x26\xc2\xd0\xfb\x1e\x84\x75\x45\x69\xc2\xa5\x38\
+\xee\x11\x8e\x3a\x44\x0d\xc3\x60\x62\x66\xac\x51\xdf\x7d\xe9\x20\
+\xcd\xb8\xed\xab\xcb\x3c\x70\x68\x99\xe5\xe3\x27\x69\x2d\x9f\x41\
+\x67\x19\xc6\x18\x92\x7e\x9f\xb8\xdb\xa3\x32\x52\xd9\xbf\xa4\xb6\
+\xff\xd8\x66\xfe\xd0\x3d\x15\x52\xe4\x6c\x3f\x80\x92\x28\x26\x70\
+\x69\x58\x8f\xba\xb8\xd4\xc4\xa1\x28\x2e\x22\x9c\xe6\x1c\xcb\xf8\
+\x9c\x04\x5a\xb7\xac\x9a\xda\xfb\xc6\x0f\x03\x97\x9d\x9d\x5c\x11\
+\x0a\x63\x0e\x85\x31\x97\x62\xc3\xa5\x30\xee\x52\xaa\x63\x9a\x6b\
+\x8d\xb4\xdf\x4e\xe5\xf8\xe1\x39\x8e\x3d\xb6\x48\xdc\x6a\xb1\xb1\
+\x78\x92\xde\xda\x06\xa2\x14\xd6\x68\xfa\x9b\x1d\xc4\xf1\x30\x28\
+\x74\x69\xf6\x8d\x3d\x5d\xfe\x8b\x92\x39\xd3\x13\xdc\xa2\xc1\xe2\
+\x8a\x30\x22\x2e\xa3\xb8\xd4\x71\xd9\xa6\x3c\x46\xdc\x10\xcf\x0f\
+\x37\xac\xb5\x8f\x9c\x0b\xe7\x79\xfb\x80\xef\xaa\x23\x9e\xef\x92\
+\xc4\x39\x46\x69\xfc\xb2\x10\x54\x5c\xc2\x11\x97\x42\xdd\xa5\x56\
+\x2e\x50\xcd\xc3\xce\xb1\x27\x2e\x69\x2e\x2f\x2c\xce\xc4\xd9\x1a\
+\x22\x42\x3a\x88\xd1\x59\x86\xa8\x61\x86\x3a\x5e\x84\xf8\x25\xe2\
+\xd4\x27\xdf\xb0\x48\x71\xdb\x74\xda\xaf\xf5\x0b\xb2\xbe\x1c\xe3\
+\xee\xce\x8d\x26\xb2\x50\xc6\xa1\x2a\x2e\x63\xe2\x32\xea\x45\xf8\
+\xa5\x31\x24\x2c\x3e\x80\xd1\x67\xce\x85\xf1\xbc\x65\x34\x4d\xf5\
+\xe7\xc2\xd0\x67\x6a\xaa\x46\xb1\xec\xe3\x45\x0a\x2f\x52\xf8\x65\
+\x45\x14\x79\x54\xa5\x48\x41\x97\x7a\x83\x65\xb5\x34\xe8\x77\x89\
+\xdb\x1d\x06\xed\x0e\x3a\xcf\xb7\xc0\x0b\x4e\x50\xc2\x2d\x37\xf0\
+\x2a\x93\x78\xd5\x29\x54\x71\x02\xb7\x36\xeb\xe6\xc1\x28\x71\x1e\
+\x7f\xa1\x11\xd5\x18\x0b\x2b\x14\x95\x47\x84\x50\x40\x51\x16\x17\
+\x2f\x2c\xa3\x4a\x23\xa8\x62\xed\x88\x2a\x8d\xa0\x4a\x23\xcf\x9f\
+\x80\x31\xf6\xde\x34\xcd\xbf\x50\x1b\x2d\x52\x1b\x2d\x12\x84\x2e\
+\xca\x07\xc7\x17\x3c\xe5\x52\xf0\x02\x16\x8e\xae\x2e\xb7\x07\xa7\
+\x0f\xe6\x59\x8a\x38\x0e\xa2\xd4\x59\xfd\xe3\x84\x25\xdc\xd2\x38\
+\x5e\xb9\x81\x57\x99\xc0\xab\x4e\xe2\x8f\x4c\xe3\x55\xa7\x5a\x6b\
+\x23\xaf\x26\xd1\xfa\x23\x4a\xa4\x3b\x1e\x56\xa8\x78\x21\x1e\x0a\
+\xdf\x82\x27\x2e\xe2\x05\xb8\x41\xb4\xe9\x7a\xc1\xcd\xae\x1f\xe1\
+\xfa\xd1\xf3\x27\xd0\xfe\xe8\x9a\x6d\x6f\xf6\x6f\x6c\x9e\x69\xf7\
+\x94\x12\x40\xce\xae\x25\xe5\x42\x1a\xeb\x47\x3e\xfd\x81\x07\xfe\
+\x2e\x3f\xdd\x78\xd0\xda\x94\xef\xea\x22\x8b\xf2\x42\xdc\xc2\x28\
+\x6e\x71\x0c\xb7\x58\xc7\x2b\x4f\xe0\x95\x27\xf1\x2b\x53\x04\xe5\
+\xf1\xe3\xbd\xf1\xfd\x68\xa7\x78\x68\xa9\xdb\xfc\x60\x3f\x4f\x78\
+\x9a\x6c\xb3\x16\x47\x84\xb5\xb4\xfb\x17\x2b\xdd\xf5\x43\xcd\xde\
+\x3a\xcd\xde\xfa\x73\x62\xfc\x9e\x5a\x48\x90\xf9\x53\x4b\xad\x53\
+\x95\x2c\xd8\xeb\xd6\x35\x4e\x2c\xe4\xb9\xc2\xe9\x94\xb8\xe3\xd6\
+\x47\xbf\x56\x1e\xdb\x79\x40\x67\xf6\x25\xae\x2f\x38\x4e\x40\x9e\
+\xa4\x80\x42\x05\x25\x9c\xa8\x8a\x13\xd5\x86\x24\x4a\xe3\x78\xc5\
+\x32\x7e\xa8\x72\xab\xfc\xaf\x87\x41\x79\xd8\x10\x75\xfa\xed\x85\
+\x6e\x93\x49\x27\x24\xca\x73\x06\xda\xa0\x2a\x15\x1e\x76\x63\xfb\
+\xa9\xb9\x6f\x7f\xc6\xb1\x16\x64\x58\xab\xfe\xfa\xf9\x46\x00\xa0\
+\x75\xeb\xaa\xb6\xd8\xac\xdb\x4a\x29\xd9\x11\x76\x85\x17\xb3\xbd\
+\x7b\x19\x0f\xdd\xb6\xce\xc6\x46\xff\x09\x15\x18\x10\xf3\x68\x58\
+\x2a\x2e\x79\x41\x80\x72\x1d\x1c\xcf\x47\xf9\x45\x94\x5f\xc4\x09\
+\x2b\x38\x61\x0d\xaf\x58\xa6\x54\x75\x28\xd7\x64\xa9\x54\x2f\x1e\
+\xaa\x0f\x0e\xa2\x74\x8c\x83\xea\x27\x3a\xa3\xad\x0c\xce\xcc\x34\
+\xe1\x8b\x2e\xe7\xf0\xae\x06\xff\xb1\x72\x24\xb3\x56\xaf\x6a\x01\
+\x8d\x21\xc7\xfc\xdf\x22\x50\xff\x9d\xc6\xab\x2a\xdb\xdd\x69\x71\
+\x85\x76\xaf\xcd\x89\xa3\x86\x54\x27\xf4\x9d\x1e\xb5\xe9\xe2\x75\
+\x83\xf5\xce\x3f\xd9\x2b\x1e\x3c\x15\x3f\xf4\x13\x9f\xad\xcd\x8e\
+\xde\x10\x96\x0a\xc4\x03\x8d\xf5\x42\x94\x17\x21\x7e\x84\x0a\x0a\
+\x04\x05\x87\x42\x49\xf0\x6a\xb5\xe3\xd1\xe2\xdd\xd9\xb6\xfb\xff\
+\x80\x5c\xa4\x38\xee\xf8\x6f\x2a\xa2\x70\x33\xcb\xe2\xda\x19\x4e\
+\x77\xd6\xa1\x37\x60\x07\xca\x6b\xb9\xe1\x9b\x9a\x26\xfd\x84\x63\
+\xe5\x9c\x6a\xf4\x39\x09\xd4\xde\x53\x2f\x01\x37\x7a\x15\x79\x7b\
+\x71\xda\xbd\xb2\xb1\xa7\x40\x10\xba\xa0\xc0\x5a\x83\x52\x01\x22\
+\x11\xab\x4b\xbd\x57\x6a\xf2\xc7\xd2\x2b\x0f\xdf\x9d\xa9\xfc\x1b\
+\x41\xff\x57\xba\x41\xd9\x2f\x75\x36\xfa\xc4\x3a\x00\xc7\x45\xb9\
+\x3e\xca\xf7\xf0\x02\x70\xca\x95\x41\x71\xf9\xeb\xbf\x3f\xfe\xf9\
+\x77\x5c\xe2\xa6\xbd\x9b\xea\x5e\xf1\xa7\x76\x49\x38\x33\xee\x46\
+\xb8\xa2\x10\x63\xb0\x31\xb8\x7e\x44\x82\x91\xa3\x69\xfb\x40\x8e\
+\x73\x53\x07\xf3\x39\x83\xfd\x30\x70\xe2\x99\x58\xe5\xa9\x1b\x92\
+\xe2\xbb\x6a\xbb\x5c\xcf\xf9\xa0\xb8\x5c\xad\x3c\x66\xbc\xa2\x50\
+\x18\x77\x29\x4f\x06\xcc\xec\xaa\x32\x52\x2b\xe0\x39\x0e\x49\x9e\
+\xb1\x78\xa2\xc5\xf2\x5c\x97\xa4\xad\xd1\x89\x41\xdb\xd8\xca\xdd\
+\xd7\xe6\xf5\xde\x6b\xbd\xc4\xa4\xc4\x59\x84\x14\x26\xf0\x6b\x33\
+\xf8\xb5\x09\x2a\xdb\x6a\x4c\xac\xdf\xf9\xd8\xf4\x5d\xef\x3e\x14\
+\xe8\xf4\x8d\xae\x13\x86\x23\x38\x8c\xe3\xb2\xdd\x2b\x32\x5b\x6a\
+\x10\xf9\x05\x04\xa1\x93\x74\x78\xbc\x73\x9a\x65\x1d\xd3\xc3\x90\
+\x60\x49\xb0\x9d\x2e\xe6\xb3\xa9\x35\x37\xdf\x72\xbc\x75\xef\xb3\
+\x08\x8c\xbe\xbf\xfe\xae\x3d\xbb\xa6\x6f\x8e\x6a\x2a\x38\xb1\xb2\
+\x4c\x66\x73\x1c\x4f\xe1\x15\x14\x7e\xd9\x21\xa8\x28\x46\x46\x8a\
+\x8c\x57\x2b\x9c\x5c\x59\x63\x73\x3d\xc6\x24\xa0\x33\x83\x4d\x2c\
+\xda\xa4\x0c\x0e\x37\xd0\xff\xf9\x06\x8a\xdb\x1a\x64\x14\x51\xc5\
+\x6d\x78\xd5\x29\xbc\x91\xed\x34\xaa\x31\x6f\x7e\xe4\xb7\xa9\xac\
+\x3e\xcc\x6a\xdc\xc7\xb5\xe0\xa3\x28\x89\xa2\x8c\xa2\xa2\x3c\xea\
+\x95\x06\x4a\x39\x9c\xda\x58\xa2\x6b\x35\x29\x96\xcc\x5a\x12\x6b\
+\x48\x8c\x25\xc6\x90\x29\x68\x91\xff\x6d\x82\x7d\xef\xad\xc7\x5b\
+\x99\x0b\x50\x7a\x77\xed\x92\x57\xbe\xf4\x8a\x8f\xfd\xcd\x3b\x6e\
+\xe1\x96\x87\xfe\x94\xd6\x83\x2d\x3a\xd9\x00\xcf\x77\x50\xde\xb0\
+\xee\xa3\x60\xa3\xdb\x63\xa3\xdb\xc5\x51\x8a\xb0\xea\x62\x0d\x58\
+\x6d\x31\x99\x45\x67\xa0\x26\x0d\xcd\xa4\x83\xac\x2a\xbc\x11\x0f\
+\x9d\x25\x44\xa2\xd9\x51\x6d\xb3\x70\xff\x1d\xbc\xfa\x17\xae\xa7\
+\xff\xe9\x3e\x8f\x2f\x1e\xc6\xb3\xe0\x89\xc2\xb3\xe0\x23\x58\xa3\
+\x59\xdb\x58\x02\x2b\xf8\xca\x61\x44\x5c\x0c\x16\x2d\x90\x58\x43\
+\xdf\x1a\x7a\x56\xe3\x88\xa2\x26\xce\x3b\x8f\xd9\xe4\x0e\xe0\x76\
+\x17\xc0\xf3\xdc\x6b\x6c\x98\xf0\xb1\x47\x3f\xcc\x5c\x7b\x9e\x91\
+\xf1\x22\x55\x37\x44\xf9\x20\xbe\xe0\xb8\x82\x72\xc1\x8a\x25\x17\
+\x8d\xb1\x06\x63\xc1\x1a\x8b\xd1\x43\x12\x04\x1a\x59\xf5\x51\xaa\
+\x80\x45\xa8\x46\x10\x56\x33\xc6\xab\x6b\x2c\x7c\xeb\x5e\x56\x16\
+\x96\x58\xbb\xf3\x3b\x8c\x66\x7d\xb6\x17\xc7\x70\xad\xc5\xb7\xe0\
+\x8b\xc2\x45\xe1\x60\x11\xa3\x41\x6b\xac\x19\xee\xc0\xb4\xb5\xe4\
+\x32\x1c\x31\x96\x8e\xc9\xb1\x22\xc4\x62\x59\xb0\xe9\x35\x67\x09\
+\x88\xc3\x6b\x4e\x26\xcb\xac\x1f\x59\xa5\x58\x0a\x29\x8f\x86\x44\
+\x91\x8f\x1b\x80\xf1\x35\xb9\x9b\x63\x5d\x8d\xa3\x04\x8b\x25\xb7\
+\x96\xdc\x18\x0c\x39\xd6\xcf\x49\x37\x15\x1b\xdf\xd8\x41\xff\xab\
+\x3f\x49\x71\xe2\x22\x8c\xc4\xac\x6d\x26\x48\x7b\x99\x93\xf3\xcb\
+\x28\x2f\x24\xda\xbe\x8f\x5b\x4f\x1e\xe4\x95\xe9\x3c\xd7\x8e\x56\
+\xa8\x87\x21\x79\x06\x2a\xcb\x70\xf3\x0c\xc7\x0a\xca\x55\x58\x3b\
+\x24\xa0\x75\x46\x6e\x72\x72\x93\x93\x61\x49\x95\xa5\x2c\x8a\x18\
+\x4b\x82\xa1\x84\xda\x7b\xb6\x0a\xb9\x45\x35\x21\x15\x43\xec\x26\
+\xbc\x7c\xf6\x12\xb6\x4f\x8c\xa3\x55\x4e\x26\x29\x09\x09\x03\x1b\
+\x03\x16\x41\x0d\x3b\xb1\x67\x20\xc8\x69\x2e\x68\x0e\xfd\x43\x81\
+\xe5\x2f\x4c\x92\xcc\x5d\x8a\x3f\x3a\x4b\x71\xc7\x08\x8e\x17\x80\
+\x28\x44\x86\x6d\x46\x14\xa4\xbd\x2e\x77\xc7\xfb\xf8\x72\xbe\x8d\
+\x3b\x3a\x3d\xde\x1a\x24\xfc\xe2\x78\xcc\x38\x09\xfd\x38\x21\xb7\
+\x0a\x94\x80\xb5\x58\x6b\xb0\x3a\xc3\x24\x7d\x74\xd2\x23\x8f\xbb\
+\xe4\x79\x4a\xa4\x73\xba\xd6\x20\x62\x99\x14\x6f\xe2\xbb\x04\x0a\
+\x32\x59\x6c\x78\xe4\xfd\x1c\x47\x41\x14\x78\xa4\x5a\x10\x2b\x18\
+\x6d\x11\xab\x10\x2b\x20\xe0\x15\x34\x1b\x27\x84\xfb\x3f\x52\xe3\
+\xd8\x9d\x15\xba\x67\x42\x9c\xc8\xc5\xab\x69\x2c\x5d\xd2\x7e\x91\
+\x91\x5d\xd3\x04\x95\xca\x50\xeb\x8b\xd0\x5f\x5d\xa5\xbd\x74\x92\
+\x90\x1c\x3f\x2c\xf0\x40\xea\xf1\xad\x85\x9c\x03\xa7\x13\xde\x50\
+\xed\xf2\xde\x6d\x03\x66\x42\xa1\x6f\x86\x87\x2e\x4f\xee\xbe\xc4\
+\x18\x1c\x93\xa3\xb2\x94\x50\xa7\xf4\x36\x96\xe9\xae\x2d\xb1\x3b\
+\x88\xd8\x6e\x83\x99\x77\xee\xaa\x56\x5c\xe7\xb5\x61\x6d\xf6\xf5\
+\x23\x63\xfd\x95\x9c\xc1\x7a\xc2\x72\x6d\x83\xc6\x74\x95\x7e\x16\
+\x93\xd9\x0c\x6d\x35\x82\xa0\x94\x42\x39\x86\x83\x07\x46\x99\xff\
+\xcc\x3e\xf2\x6e\x19\xeb\xac\x13\x34\x34\xe2\xb8\x28\x37\x00\x20\
+\x8f\xbb\xac\x1f\x9f\xa7\x38\x56\xa3\x36\x51\xa3\xdd\x6c\xd3\x5e\
+\x3e\x33\xec\x1f\x41\x11\x71\x7d\x0a\x41\x4a\xa4\x53\x56\x72\x9f\
+\x03\xeb\x3e\xff\xba\x9e\x72\xd3\x78\x93\x5f\x9b\x48\x48\xec\x90\
+\x84\xb5\x16\xac\x61\x18\x72\x8b\xe3\x45\x6c\x60\xf8\x56\xba\xc9\
+\xa2\x93\x31\xa5\x82\x89\xf5\x4e\x7c\x95\xc3\x0e\x77\xa6\x74\x91\
+\xff\x3e\x15\x28\xdf\x73\x15\x03\x3f\x26\x1a\x75\x31\xe4\x64\x5b\
+\xc7\x19\x56\x2c\x4e\x98\xf3\xc8\x6d\x55\x92\xaf\x5e\xcf\xc7\x6e\
+\xfe\x65\x4e\x11\x72\x66\x25\x26\x4d\x05\x27\xa8\xa0\xfc\x22\xe2\
+\x86\x28\x27\x00\x84\x74\x90\xd1\x5e\xd9\x24\xe9\x27\x88\xe3\xa0\
+\x1c\x1f\xe5\x85\x28\xaf\x80\xf2\x02\xc4\xf1\x50\x8e\x43\xe4\xfb\
+\xa4\xde\x08\x5f\xea\x84\x5c\x1b\x34\x99\xf6\x72\x72\x63\xc0\x68\
+\x30\x06\x6b\x0c\x58\x83\xc9\x12\x4e\xac\xcc\x31\xd0\x39\x03\xc7\
+\x72\x9a\x4c\x16\x92\xf8\xcb\xae\xb9\x2b\x3e\xe6\xbe\x3e\x7a\xcf\
+\xc4\x2b\x8a\x7f\x1c\x14\x9d\x5d\x88\x55\xa7\x2e\x6b\xb2\xbd\xda\
+\xc0\xc9\x1c\x74\xae\x11\x0b\xa9\xce\x39\x73\xff\x34\xbb\xf7\xee\
+\xe0\x9e\xc7\x37\x59\x59\x4d\x08\x4a\x15\x6a\x5e\x09\x71\x03\x10\
+\x17\x2b\x2e\xa0\xb0\x56\x61\xac\xc2\x6e\xa5\xdd\x93\x0a\x76\x08\
+\x66\xab\xca\xe8\x04\x95\x76\x31\x79\x82\x8b\x62\x53\x79\xdc\xd3\
+\x9e\xe3\xc7\xa3\x36\xb1\x56\xc3\x87\xac\x41\x10\x7c\x6b\xe9\xae\
+\x2f\xd1\x4f\xfb\x2c\xe6\x89\xf6\x44\x9d\x3a\x14\x77\xff\x7e\x2d\
+\x4d\xff\xc5\x05\xc8\xef\x1c\x7c\x52\xf6\xfb\xff\x85\x70\x29\x4a\
+\xae\x6a\xde\xdf\x7f\xf5\xfc\x8b\xda\x57\xed\xbe\x7c\x7c\xb6\xb1\
+\xa3\xe2\x05\x45\x07\xeb\x08\xdd\x15\x87\x87\x8e\xcf\xf3\xd8\xdc\
+\x0a\xd9\x40\x63\xa5\x80\x5b\x08\x50\x5e\x80\x13\x04\x28\xcf\x47\
+\x94\x87\xc5\xc1\x58\x41\x6b\x30\xda\x9e\xdd\xd8\xdb\xad\x12\x89\
+\xce\xb1\x26\x43\x05\x25\x4c\xd6\x07\x6d\x70\x25\x64\xbe\x13\x10\
+\x59\x83\xde\xd2\x98\xb9\x85\x6e\xd2\xe5\xa1\xd5\x85\xf5\xfb\x36\
+\x4f\x1f\x3e\x98\x76\xbe\xd8\xd4\xf9\x57\x64\xc0\xe1\x7b\x5a\x76\
+\xed\x59\x52\xe2\x69\x1a\xe3\x65\x6e\x9d\x40\xed\x2a\x4f\x84\x53\
+\xd5\x29\x77\x2c\xf2\x6a\xd3\xdd\xbb\xde\x79\x93\x38\x3b\x0b\x38\
+\x2e\x93\x7b\xa7\xa8\x4f\xd7\x11\xd7\x07\xc7\x47\x5b\x97\x38\x55\
+\x0c\x06\x60\xac\x20\x4a\x10\x11\xac\x61\x48\x20\x37\xe8\x54\x93\
+\xa7\x06\x93\x67\x58\x93\x83\x4e\x31\xd9\x00\x9b\x27\xa4\xb9\x61\
+\x72\xf1\xf6\xb9\xb7\xc4\xb7\x7d\x3c\x53\x4a\xc7\xc6\xf4\x5a\xd9\
+\x60\xed\x74\xdc\x3e\xbd\x92\x65\x0b\xb9\xb0\xf0\xcd\x96\xcd\xce\
+\xab\x85\xce\x67\xd1\xd4\xcf\xef\xac\x8d\xbd\xee\x68\x30\x3e\xe5\
+\xe6\xda\xb0\xf7\xc5\x33\x6c\xbf\x6c\x17\xc6\x0c\x0b\x6c\xae\x21\
+\x89\x2d\x49\x6a\x10\x19\x56\x44\xb6\x16\xa3\xb5\xc3\x94\xd6\xda\
+\x92\x25\x96\xb8\xa7\x19\x74\x34\x69\xaa\xc9\xe3\x1e\x18\x03\x26\
+\xa7\x75\xfc\xe0\xc3\xfa\xd8\x27\xae\xd8\x2d\x5f\xc3\x7b\xf2\xd0\
+\xfb\x29\xbf\x75\xd7\xc6\xb3\xb1\x5e\xf0\xfd\x40\x64\x2e\xba\xc2\
+\xab\xd6\x5c\x27\xac\x60\xd1\xe8\x3c\xc1\x0f\x7c\x5c\x47\x10\x0c\
+\x26\xcb\x31\x79\x86\x2b\x1a\x57\x34\x6a\x6b\x38\xca\xe0\x3a\x06\
+\xcf\x33\x84\xa1\xa5\x5c\x81\xb1\x6d\x0e\x93\x3b\x3d\x66\xf6\x94\
+\x70\xcd\x19\xb2\xfe\x06\x4e\x34\x42\x54\xdb\xb6\x37\xf6\x5e\xb8\
+\x63\xde\x7b\x0b\x48\x81\xa2\x03\xce\xb9\x4e\xb4\xb6\xec\x82\xef\
+\x07\x92\x7c\x75\x4f\xc5\x0d\x49\x56\xe7\xc8\xb3\x01\xed\x66\x44\
+\x7b\x53\x93\x26\x19\x79\x6e\xd1\xf9\x96\x77\x86\xa5\x7f\xab\x07\
+\x6c\x3d\xbc\x15\x85\x67\x0d\x9d\xd3\x6b\x9e\x24\x5e\x6b\x92\x36\
+\x8f\x11\x8c\xee\x08\x75\xb2\xba\x7f\xa5\xdf\x9a\x5f\x97\x97\xb0\
+\x3b\x7c\x82\x1d\xe1\x49\x72\x7b\xae\x53\xa1\xe7\x41\xc0\xe8\xbc\
+\x9e\xb5\x4f\x23\x4e\x80\x13\x46\x6c\x34\x07\x9c\x59\xec\xe0\x17\
+\x5c\x8c\xb1\x28\x05\x22\xc2\xd6\x7e\x1e\x79\xc6\x29\xf5\x77\x81\
+\x0f\xc9\x88\x72\x68\xaf\xac\x93\x25\x06\x27\x2c\xa2\x7b\x6b\xc4\
+\x69\x0f\xe5\x06\x7b\x21\x25\xb7\x3e\x8f\x0f\x2e\xa5\x67\x0a\xec\
+\x89\x9e\x40\xa1\x9f\x13\xd7\x05\xa7\x50\xdc\x3a\xf1\xd1\xd6\xc2\
+\x7d\x9f\xd7\x59\x0f\x74\x4e\xd6\xef\xb2\xb6\x62\x49\x53\x17\xac\
+\x60\x72\x30\x5b\x91\x30\x7a\xf8\xaa\xf5\xd6\x78\xca\x7b\xa3\x01\
+\x2b\xc4\xdd\x9c\xd6\x4a\x02\x40\x3e\x68\xa1\xb3\x7e\xd2\x9a\xff\
+\xe6\x3f\x0f\xda\xa7\x6e\x06\x8f\xa1\xcf\x35\x27\x93\x5d\xac\xa4\
+\xf5\xb3\xeb\xe0\x99\x76\xc1\x11\xb0\xf6\xbf\xe7\x45\xae\xbe\xae\
+\xbf\x3e\x77\xad\x72\x82\x7d\xca\xf5\x2e\x8f\x37\x4e\xfe\x74\x72\
+\xc9\xfe\x46\x63\xef\x1e\xa2\x52\x84\x3c\x45\xcb\x80\x19\xba\x1c\
+\xb6\x72\x4a\xa1\x44\x61\x0d\xf4\x7b\x86\xe6\xb1\x39\xd6\x1e\xfb\
+\xd2\xe9\xee\xe2\x7d\x5f\x4e\xbb\xab\xf7\x01\x07\xc1\xde\x07\xce\
+\x33\xfe\xf9\xb9\x3d\xff\xa4\x5d\x70\x15\x1a\xe2\xb8\x96\x27\x5b\
+\x3b\x58\x07\xd2\x1d\xe0\xbd\x30\x1a\xdd\x71\x59\x79\xdb\xec\xc5\
+\x51\xb5\xde\x28\xd4\x27\xc7\x83\x4a\x63\xc4\x0d\x4a\x91\xe3\x05\
+\x1e\x60\x74\x16\x27\x59\x7f\xb3\xd3\x5b\x3b\xbd\xdc\x6b\x9e\x3a\
+\xd5\x69\x9e\x39\xde\x5f\x39\x7a\xc8\x64\x1b\xdf\x06\xff\x04\x38\
+\xe7\x01\xe1\x70\x59\xe1\x61\xa6\x82\x33\x7c\x71\xfd\xd9\xd3\x2e\
+\x38\x02\x4f\xa1\xb1\x35\xd0\x10\xce\x41\x3a\x37\x58\x3f\xfa\x95\
+\xc1\xfa\xf1\x49\x51\x41\xcd\x2f\x96\x47\xfd\x62\xb5\xe6\x04\xa5\
+\x82\xe3\x47\xbe\x80\xce\xd3\xde\x20\xef\x77\x36\xe3\xce\x46\x33\
+\x8f\x7b\x6b\x90\x36\x81\x4d\x08\xf8\x7e\x2f\x4a\x9f\x57\x04\xfe\
+\x3f\xda\x0f\xfd\x3d\xf1\x8f\x08\xfc\xa0\xed\x87\x9e\xc0\xff\x02\
+\x82\xe5\x0b\x53\x02\xc9\x87\xf5\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x01\x1b\x0c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x02\xa8\x00\x00\x02\xa8\x08\x02\x00\x00\x00\x34\xda\x9a\x0b\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8f\x0b\xfc\x61\x05\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x20\x63\x48\x52\x4d\x00\x00\x7a\x26\x00\x00\x80\x84\x00\x00\xfa\
+\x00\x00\x00\x80\xe8\x00\x00\x75\x30\x00\x00\xea\x60\x00\x00\x3a\
+\x98\x00\x00\x17\x70\x9c\xba\x51\x3c\x00\x00\x00\x06\x62\x4b\x47\
+\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\x09\x70\
+\x48\x59\x73\x00\x00\x00\x48\x00\x00\x00\x48\x00\x46\xc9\x6b\x3e\
+\x00\x00\x80\x00\x49\x44\x41\x54\x78\xda\xec\xfd\x79\x90\x65\xc7\
+\x95\x9f\x09\x7e\xc7\xdd\xef\xbd\x2f\x96\x5c\x81\x04\x41\xb0\x56\
+\x95\x24\x93\x46\xdd\xea\x9e\x31\x4d\x4b\xa5\xee\x59\x64\x33\x36\
+\x4b\xcf\x74\x5b\x9b\xd4\x52\x95\x6c\x6c\x7a\x34\x36\x23\x4d\xb7\
+\xa6\x6b\xb4\xb7\x54\x55\xaa\x4d\x2a\xb1\x58\x2b\x6b\x61\x71\xdf\
+\x01\x90\x00\x89\x85\x00\x41\xec\xfb\xbe\x67\x62\x23\xd6\x04\x32\
+\x81\xdc\x63\xdf\xde\x7b\xf7\x5e\xf7\x73\xe6\x8f\x7b\x5f\x44\x24\
+\x48\x8a\x14\x48\x00\x99\x19\xfe\x99\x5b\x66\x64\xc4\x8b\x97\x11\
+\x7e\xdd\xfd\xb8\x1f\x3f\xe7\x77\x9c\x65\x32\x99\x4c\x26\x93\xd9\
+\x31\x38\x32\x99\x4c\x26\x93\xc9\xec\x18\xb2\xe1\xcf\x64\x32\x99\
+\x4c\x66\x07\x91\x0d\x7f\x26\x93\xc9\x64\x32\x3b\x88\x6c\xf8\x33\
+\x99\x4c\x26\x93\xd9\x41\x64\xc3\x9f\xc9\x64\x32\x99\xcc\x0e\x22\
+\x1b\xfe\x4c\x26\x93\xc9\x64\x76\x10\xd9\xf0\x67\x32\x99\x4c\x26\
+\xb3\x83\xc8\x86\x3f\x93\xc9\x64\x32\x99\x1d\x44\x36\xfc\x99\x4c\
+\x26\x93\xc9\xec\x20\xb2\xe1\xcf\x64\x32\x99\x4c\x66\x07\x91\x0d\
+\x7f\x26\x93\xc9\x64\x32\x3b\x88\x6c\xf8\x33\x99\x4c\x26\x93\xd9\
+\x41\x64\xc3\x9f\xc9\x64\x32\x99\xcc\x0e\x22\x1b\xfe\x4c\x26\x93\
+\xc9\x64\x76\x10\xd9\xf0\x67\x32\x99\x4c\x26\xb3\x83\xc8\x86\x3f\
+\x93\xc9\x64\x32\x99\x1d\x44\x36\xfc\x99\x4c\x26\x93\xc9\xec\x20\
+\xb2\xe1\xcf\x64\x32\x99\x4c\x66\x07\x91\x0d\x7f\x26\x93\xc9\x64\
+\x32\x3b\x88\x6c\xf8\x33\x99\x4c\x26\x93\xd9\x41\x64\xc3\x9f\xc9\
+\x64\x32\x99\xcc\x0e\x22\x1b\xfe\x4c\x26\x93\xc9\x64\x76\x10\xd9\
+\xf0\x67\x32\x99\x4c\x26\xb3\x83\xc8\x86\x3f\x93\xc9\x64\x32\x99\
+\x1d\x44\x36\xfc\x99\x4c\x26\x93\xc9\xec\x20\xb2\xe1\xcf\x64\x32\
+\x99\x4c\x66\x07\x91\x0d\x7f\x26\x93\xc9\x64\x32\x3b\x88\x6c\xf8\
+\x33\x99\x4c\x26\x93\xd9\x41\x64\xc3\x9f\xc9\x64\x32\x99\xcc\x0e\
+\x22\x1b\xfe\x4c\x26\x93\xc9\x64\x76\x10\xd9\xf0\x67\x32\x99\x4c\
+\x26\xb3\x83\xc8\x86\x3f\xb3\xb3\xd1\x55\x6c\x15\xdb\x80\x11\xb4\
+\x10\x0d\xd2\xa4\x19\x80\x42\x84\x16\xab\xb1\xba\x86\x66\x5b\x8b\
+\x10\x21\xa1\x86\x1a\xca\x77\x69\x3f\x18\xd6\x37\xdb\x6c\x8a\xe9\
+\xd6\xe7\xe9\x3e\x93\xb0\x84\xc6\xbe\xa5\x16\x18\x76\xcd\x18\x1a\
+\x63\x65\xac\x34\x91\x36\x12\x23\xda\x40\x3d\x69\x63\x18\x4f\x7e\
+\xc3\xed\xad\xd5\xbe\x25\x9d\xfc\x1a\xdb\x1a\xd6\x62\x2d\xa9\x21\
+\x35\xa4\x96\xd8\xd2\x36\xb4\x91\xa8\x44\xa5\x85\xf6\xec\x1e\xd9\
+\xfc\xe1\x54\x51\xc5\xb4\xff\xf9\xb7\xfd\x96\xe9\xec\x1e\x36\xb4\
+\xfb\x9d\x6a\xe2\x98\x38\x26\x0e\x89\x63\xb4\xeb\xea\xd4\x7d\x9b\
+\x42\x82\x08\xb6\x31\x79\x58\xf5\xe4\xb7\xd1\x6d\x9d\x34\x79\x58\
+\x93\xe7\x95\x07\x78\x26\xf3\x9d\x64\xc3\x9f\xd9\xd9\xc8\x2c\xec\
+\x86\x19\x6c\x0a\x2b\x20\x74\xb3\xc2\x6d\xcd\x0d\x07\x01\x3c\x52\
+\x20\x45\x40\xfd\x77\x34\x07\x02\xf2\x9d\x6f\x6e\x60\x11\x8b\x13\
+\x33\xae\xa0\x9d\x15\x8c\x31\xa6\x64\x69\x62\x16\x4d\x30\x21\x09\
+\x8d\xd0\x08\xad\xd0\x3a\x92\x23\x0a\x49\xd4\x44\x11\x15\xa7\xe2\
+\xa3\xb8\xe8\x7c\xd7\x5a\x1f\x5a\xac\xc4\x4a\x28\x85\x52\x28\x1d\
+\xa5\x23\x04\x0a\x4f\xf0\x38\x07\x1e\x3c\x38\xeb\x5b\x61\x04\xce\
+\x6a\x85\xf4\xcd\x0b\x0e\x44\xce\x6a\x68\x81\x15\x48\x89\x94\x48\
+\x81\x2b\xf0\x25\x21\xe0\x1d\xde\x59\x81\x15\xfd\x8f\xd0\xb5\xe8\
+\x42\xea\x9b\x4b\xce\x99\x38\xdb\xec\x1a\x43\x50\x31\xf5\xa6\xde\
+\x62\xd7\xba\x1e\x76\x38\x0f\x25\x56\x91\x2a\xda\x29\xda\x8a\xba\
+\xa2\x2e\x69\x3d\xda\x77\xae\x80\x03\xa9\x90\xca\xa8\x8c\x2a\x51\
+\x44\x42\xc2\x75\x7b\x08\x05\xc5\x59\xf7\xb0\x10\xf0\x48\x5e\xdf\
+\x32\x99\xef\x42\x9e\x18\x99\x9d\x8d\xb9\xed\xa7\x6a\x14\x51\xc4\
+\x26\xad\x7b\x09\x18\x2e\xe1\x12\xce\x93\xb6\x37\x41\xbb\xb6\x7d\
+\x4e\xd9\x66\xdb\x32\x3c\x9d\xc9\x57\x0c\x44\xe9\xbf\x2b\x7a\xd9\
+\xf6\x0e\x96\x44\xe3\xc4\xe8\xb7\x8e\x76\xf3\x63\xa1\x55\xab\xcd\
+\x46\x68\x77\x8a\x6d\xa0\x99\x9c\x68\x03\x04\xac\x6b\x6e\xd2\xfa\
+\x9f\x3f\x4c\x5a\x01\x25\x94\x40\x8a\xdb\x0e\xe5\xd1\x54\x4d\x75\
+\xf3\x58\xbe\xfd\xd7\xe8\xf6\x29\x2d\xb4\xd6\x3b\x36\xfa\x1f\x48\
+\x68\x85\x11\x8c\xa5\xf7\x25\x6c\x3f\xf0\xa7\xde\x05\xd2\x9f\xe6\
+\xf5\x6d\xef\xd7\x6d\x80\x2c\x6d\x73\x29\xf4\xfd\xbc\xad\x6d\x76\
+\x69\x9c\x9c\xf4\xd5\x04\xeb\x76\x42\x84\xef\x30\xf6\xfd\xff\x62\
+\x9b\x8f\xb4\xdf\xab\x75\x3b\x80\x4c\x26\xf3\x76\xb2\xe1\xcf\xec\
+\x6c\xce\xb6\xfa\xbd\xf5\xe8\xbd\xd3\x5b\xbe\xfa\x4d\xa7\xfb\x36\
+\x6b\x23\x74\xe6\xa8\x37\x33\xae\xdb\x1c\x74\x66\xaf\x9d\xb4\xb3\
+\x4e\xd7\xe2\x90\xfe\x6d\x7d\x70\xce\x77\x9b\x80\x16\x6b\xd0\x5a\
+\xac\x71\x36\x2e\x2d\x96\x16\x83\xc5\x60\xd1\x9b\x7a\x53\x31\x87\
+\x79\x47\x25\x4c\x21\x33\xc8\x0c\x4c\xc3\x34\x32\x8b\xcc\x9e\x75\
+\xab\x60\x36\xf9\x45\x94\x18\x49\x0d\xb1\x21\xb5\xe8\xb6\x26\x2d\
+\xb4\x48\x42\x12\x62\x22\xa9\x6f\x66\xd2\xf9\xca\xb5\xf7\xe2\xa7\
+\x44\x4a\x93\x0d\x8e\x23\xb9\xde\x2d\x21\x82\x83\x52\xa8\xd0\x01\
+\x3a\x20\x56\xc4\x8a\xb6\x6b\x65\x7f\x52\xaf\x4b\xea\x40\xeb\x69\
+\x85\x76\x62\xc2\x01\x87\x38\x28\x3a\xf7\x09\x52\x88\x4e\x7a\x5e\
+\x1d\x56\x60\x15\x36\x03\x7d\x33\x2a\xa3\x48\xb8\xcd\x27\xb1\xcd\
+\xe3\x42\xb1\xad\xf9\x49\x3b\xcb\xf5\x62\x79\x7d\xcb\x64\xbe\x0b\
+\x79\x62\x64\x76\x3c\x9b\x47\xc5\xce\x2a\x9b\x22\x11\x89\x48\x9a\
+\x9c\x60\xa3\x23\x0a\x51\x88\xc8\xc4\xd6\x48\x67\xce\xfb\x13\xf6\
+\x59\xef\xf1\xf6\xcb\x82\xcd\xff\xc8\x61\x9b\x87\xd1\x60\x14\x86\
+\x8f\x84\x28\x45\x72\x55\x72\x55\xf2\xd3\x68\x81\x16\x68\x85\x56\
+\xfd\x07\xa9\x40\x03\xea\x50\xb7\x79\xdb\xbd\x79\xd9\x0f\xeb\x58\
+\xd7\xd6\xd0\x75\xd2\x0a\xba\x84\x2e\x21\x2b\xd8\x1a\xac\x60\x8b\
+\xe8\x3c\x3a\x4f\x9a\x27\xcd\xd3\xae\x12\x57\x69\x97\xfb\x0f\xe2\
+\x3a\x69\x88\x0e\xb1\x21\x36\x72\xd4\x9e\xb6\x90\x58\xa0\xa5\xd3\
+\xd2\x11\x18\x05\x6a\x4f\xdd\xfd\x59\x50\xfb\xce\x9c\xa7\xda\xfa\
+\x2b\x7f\xdb\xee\x0d\x90\xb3\x0e\xe1\x67\x87\x38\xc8\xa4\x63\x64\
+\x5b\x07\xd9\xe4\xc5\xd2\x5f\xff\x37\xb2\x15\x97\xd0\x40\x3b\x89\
+\xb4\x70\x44\x47\x8b\xb5\xd2\xb7\x7a\xd2\xba\x7f\x46\xb1\x78\x56\
+\x54\xc1\xb6\xd8\x82\x4c\x26\xb3\x9d\x6c\xf8\x33\x3b\x7c\x06\xb4\
+\xf8\x16\xd7\xf6\x1f\xf8\x84\x4f\xbd\xa3\x7c\x5b\x50\xdd\xa6\x31\
+\x49\xc2\x66\xdb\xbc\x9e\x67\x72\xd0\xec\x0e\xa3\x81\x18\x88\x81\
+\x36\xd0\x62\x71\x12\x02\x78\x96\x79\x9b\x04\xdc\xb9\x1a\x5f\xe3\
+\x87\xb8\x21\x6e\x03\x37\xd2\x50\x5b\x68\x70\xea\x1c\x6e\x62\x23\
+\x89\x68\x43\xda\xa0\x59\x65\xbc\xc8\xf0\x8c\xac\x9f\x90\x95\x63\
+\x6e\xe5\x28\x6f\x3e\xcd\xd1\x27\x79\xfd\xb1\xf8\xf2\x03\xe3\xe7\
+\xee\x1e\x1e\xba\x7d\xed\xf1\x9b\xd7\x1e\xbf\x79\xf9\xc1\xeb\x97\
+\x1f\xb8\x66\xe5\xfe\xaf\x2f\xdf\xfb\xb5\xa5\xbb\xae\x5a\xb8\xf3\
+\x8a\x85\xdb\xbf\x3c\x7f\xdb\x97\x56\x1e\xb8\x6e\xf5\x81\xeb\x57\
+\x1f\xfa\xc6\xea\x23\x37\xae\x3f\x7a\xd3\xda\x13\xdf\x5a\x7f\xf2\
+\x96\xf5\x27\x6f\x6f\x9f\x7f\xa0\x79\xe9\xc1\xf8\xca\x23\xbc\xf1\
+\x24\xc7\x9e\xe5\xd4\x0b\xcc\xbf\xcc\xe2\xab\x61\xb8\x10\x46\xf3\
+\x61\xbc\xe4\x9b\x55\x1f\x87\xa2\xb5\x68\x83\xa9\xf3\xce\xf9\x82\
+\x50\xa5\xa2\x88\x21\xc4\x22\x34\x5d\x63\x6a\xd2\xaa\x48\x15\x29\
+\x12\x45\xea\x2f\x1c\x1c\x02\xa2\xdd\x65\x47\x1f\x35\xe9\x41\x1c\
+\x0e\x93\xde\x87\xc2\x36\xb7\xbf\x3f\xeb\x28\x6f\x02\x88\xeb\x1d\
+\x27\x5b\xe7\xfa\xee\x12\x21\x61\x09\x12\xa6\x7d\x50\x45\x26\x93\
+\xf9\x5e\xcb\x5e\xee\x82\xcc\x4e\xa6\x73\x5f\xf7\xad\xb7\xf4\x62\
+\x13\x57\xb8\xe2\x15\x0f\xde\x28\xba\xb6\x65\x8a\xb6\xdd\x4c\x23\
+\x6f\x3b\x5f\x76\xd3\x4a\x40\x26\x8e\x81\xd0\x9f\x74\x41\x0c\x07\
+\x4e\xfb\xab\xf7\x0a\x2a\x28\x0c\x17\x71\x2d\x53\x45\xac\x7c\x2c\
+\x5d\xed\x6c\x83\xb4\x42\x9c\xa3\x39\x46\x7d\x94\xb5\x17\x59\x7d\
+\x9e\xa5\xa7\x59\x78\x8c\xb9\x07\x39\x7d\x2f\xa7\xee\xe2\xd4\xdd\
+\x9c\x7e\x8e\xd3\xcf\x70\xea\x50\x38\x75\x68\x70\xf2\xe0\xf4\x89\
+\x83\xbb\x4e\x1e\xdc\x75\xfc\xa9\xbd\x67\x9e\xdd\x3b\xf7\xdc\x9e\
+\x33\xcf\xed\x9d\x7b\x6e\xdf\xdc\x73\x17\xcd\x3f\x7f\xd1\xfc\xf3\
+\x17\x2f\xbc\xb0\xe7\xd4\xe3\xbb\x4f\x3d\xb9\xfb\xe4\x93\xbb\x4f\
+\x3e\x39\x7b\xf2\x89\x5d\x27\x9e\x98\x3d\xf1\xc4\xec\x89\x47\x8b\
+\xd3\x8f\x97\x27\x1f\x0f\xa7\x9e\xe0\xf4\x13\x9c\x7e\x92\xb9\xa7\
+\x38\xf3\x14\x67\x9e\xe2\xc4\x6b\x9c\x3a\xcc\x99\x37\x58\x38\xc6\
+\xea\x49\x36\x16\x68\x96\x69\x96\x69\xd7\x88\x43\x74\xe4\xad\xf1\
+\x96\xba\xfd\xcf\x77\x3d\x60\x77\x9f\xd4\xad\xeb\x12\x37\x09\xbf\
+\x57\xa0\xc6\x35\xd2\x6f\x8b\x1c\x04\xa3\x34\x4a\xed\x5b\x50\xbc\
+\xaa\xf4\xfb\x2e\x0f\x52\x53\x34\x14\x91\x2a\x51\x99\x14\x88\x47\
+\x7c\xbf\x1b\x78\xfb\x6a\xf6\x1f\x92\x55\x91\xc9\xec\x24\xb2\xe1\
+\xcf\xec\x68\x6a\x8a\xce\x96\xb4\x14\x09\xaf\x13\x3b\xbe\xed\xac\
+\xe9\x1c\x6e\xcb\xc6\x6b\xdd\x47\xd8\xe9\xe4\x34\x6f\x8a\xf5\x31\
+\xf9\x11\xd7\xe0\x6a\x5c\x4d\x18\x13\xc6\x84\xee\x86\x20\x75\xc7\
+\x53\x05\x8d\xa4\x5a\xda\x8d\xa2\x5d\x0a\xcd\x5c\x18\x9f\x0c\xa3\
+\x63\x61\xe3\x8d\xc1\xd2\x8b\x33\x73\x07\x67\x4f\x3d\xc6\x33\xdf\
+\xe0\xe0\x35\x3c\xfa\x95\x78\xcf\xe7\x36\x6e\xfe\xd8\xf2\x75\xbf\
+\xbb\x70\xd5\x87\x17\xae\xfc\xcd\xe3\x5f\xf8\x95\x53\x9f\xfb\xd5\
+\xd3\x9f\xfb\xd5\x93\x9f\xff\xd5\x13\x9f\xf9\x95\xb7\x3e\xf3\x2b\
+\x6f\x7e\xfa\x57\x8e\x7c\xea\x97\x4f\x5c\xf1\x7b\x27\xbe\xf2\x87\
+\x27\xaf\xfe\xd8\xc9\xeb\x3f\x75\xe6\xe6\x2f\xce\xdd\x71\xe5\xdc\
+\x3d\x57\x2f\x3e\x70\xcd\xc2\xbd\x5f\x5b\xbc\xef\x9a\xe5\xfb\xaf\
+\x5b\x79\xe8\x1b\xab\x8f\xdc\xb8\xfa\xc8\xb7\x36\x1e\xbf\x75\xe3\
+\x89\x9b\xd7\x1f\xbf\x71\xed\xf1\xeb\x57\x1f\xbd\x76\xf5\xa1\xaf\
+\x2d\x3f\xf8\xd5\xc5\xfb\xae\x5c\xb8\xf7\xf2\xb9\x7b\x2e\x9f\xbb\
+\xe9\x93\x73\x37\x7e\xe2\xd4\xb5\x7f\x7c\xf2\xaa\xdf\x3d\x71\xf9\
+\xbf\x3b\xfe\xb9\x5f\x7d\xeb\x53\xbf\xfc\xd6\x27\xfe\xe5\xeb\x9f\
+\xff\xb5\xa3\x9f\xff\xf5\xb7\xbe\xf4\x6f\x4e\x7d\xf9\x37\xe7\x2e\
+\xff\xad\xc5\x2b\x3f\xb2\xf4\x95\xdf\x99\xbf\xfa\xf7\xea\x3b\x3e\
+\x5f\xdf\xf3\xc5\xf6\xa1\xab\x39\x78\x93\xbc\x72\x77\x78\xeb\x91\
+\x62\xee\x60\xb5\xf4\x5c\x39\x5a\x2e\xc7\xcb\xe5\x78\xb5\xac\x57\
+\x43\xbd\x1e\x9a\x8d\xd0\x8e\x7c\xac\x7d\x6a\xbd\xc5\x2e\x0a\x32\
+\xe1\x5a\x42\x4d\xa8\x09\x69\x12\xbf\xd7\x6f\x1a\xfa\xa0\x87\x49\
+\x32\x9e\xb5\x58\xea\x1d\x2e\x38\x34\x6c\xfa\x4f\x22\xb4\xb8\xd8\
+\x39\x12\xf0\x88\xe0\xba\x54\x84\xce\x53\x32\x69\x99\x4c\xe6\x3b\
+\xc8\x13\x23\xb3\xa3\x49\x90\x0c\xc0\x77\x51\xe0\x66\x92\x12\x6a\
+\xa4\xae\x25\x9a\x24\xad\xb9\x88\x57\xbc\x81\x53\x1c\x7d\x40\x9a\
+\x29\x0a\x26\x5d\x38\xdd\x77\x25\x24\x0d\x4d\xed\xc7\x1b\xc4\x75\
+\xda\x05\x46\x27\x98\x7b\x9e\xd7\xef\xe7\xf1\xaf\x73\xcf\x67\xf9\
+\xc6\xef\xe8\xe5\xbf\xd4\x7e\xfa\x1f\x8d\x3f\xf9\x3f\xac\x7f\xe2\
+\xef\xaf\x7e\xe2\xef\x2f\x7e\xf2\x1f\x2f\x7e\xe6\x9f\x2e\x7e\xf9\
+\x97\xd7\xbf\xfe\x91\xf6\x96\x3f\x91\x7b\xbf\x54\x3e\xfa\xf5\xea\
+\xa9\x1b\xf7\xbc\xfa\xd0\xae\xd7\x1f\xdf\xfd\xd6\xb3\xfb\x4e\xbe\
+\xbc\x7f\xe9\xe8\x07\x56\x4f\x5f\x3a\x5a\xbc\xac\x59\x3e\xd0\x9c\
+\x3e\xd0\x9c\xbe\xb8\x3d\x79\xa0\x39\xbd\xbf\x39\xb5\xaf\x39\x75\
+\x51\x7d\x66\xef\xf8\xf4\xfe\x76\x61\x7f\x33\xb7\xb7\x9d\xdf\xd3\
+\xcc\xed\x6e\x16\x76\x37\x0b\x33\xcd\xfc\x4c\xbd\x38\x3b\x5e\xdc\
+\x35\x5a\xdc\x3d\x5e\xda\x5d\x2f\xee\x1d\x2f\xee\x6b\x16\xf6\xd7\
+\x73\x17\xd5\xa7\x2f\x1a\x9f\xdc\x57\x9f\xbc\xb8\x39\x71\x71\x7d\
+\xea\xc0\xf8\xc4\x25\xf5\xc9\x4b\xeb\x53\x97\xd6\xa7\xf6\xaf\x3c\
+\xb5\x67\xf1\xc9\x5d\xa7\x1e\x2a\xdf\xbc\xcb\xbd\x7a\x93\x3d\x77\
+\x5d\x7a\xea\x2a\x7d\xec\xca\xa5\x6f\x7d\x74\xfe\xfa\xdf\x3e\x73\
+\xd5\xaf\x9f\xf8\xc2\xbf\x9a\xfb\xd4\x3f\x5d\xfe\xf8\x3f\x1a\xfd\
+\xe9\x2f\xb4\x7f\xfa\x0b\xe3\x2f\xfe\xd3\xf6\xf2\x7f\xc5\x75\xbf\
+\xc1\x9d\x1f\xe3\xa9\xaf\xf2\xc6\x5d\x2c\x1e\x62\xf8\x1a\xcd\x5b\
+\x34\x73\xb4\xcb\x92\xd6\x43\x6a\x0a\x8d\x5d\xcc\xfd\x34\x3a\x40\
+\x2b\x34\xf4\x7e\x13\x67\x52\xa8\x0f\xe6\x2b\x7c\x85\x2f\x70\x05\
+\x84\x3e\xf9\x02\x2a\xb4\x44\x03\x1a\x50\x4f\xf4\xbd\xb3\xa0\x8f\
+\x1c\x4c\x10\xcd\x0c\xb7\x79\x1d\x93\xc9\x64\xbe\x93\x6c\xf8\x33\
+\x3b\x9a\x19\x63\x46\xa8\x0c\x6f\x9b\x16\xc4\x63\x42\x13\x49\x06\
+\x1e\xe7\x71\x22\x0e\x5a\xd2\x28\xad\xc9\xd4\xba\x54\x43\x37\xa8\
+\x7d\xd5\xf8\x32\xf9\x80\xa8\xa4\xb1\x67\xe4\xe3\x46\x68\x57\xca\
+\x76\xb1\x6a\x16\xaa\xe6\xf4\x60\xed\xad\xc1\xc2\xab\x1c\xb9\x8d\
+\xe7\xaf\x6b\xee\xfb\xf4\xc2\xd7\x3f\x7c\xfc\xf3\xbf\x78\xe4\x63\
+\xff\xe4\xd5\x8f\xfd\x93\xd7\x3e\xf9\x3f\xcd\x7f\xf3\x8f\x57\x6e\
+\xfd\xe4\xfa\xfd\x5f\x6a\x9f\xfc\x7a\xf8\xf6\x2d\x83\x37\xee\x9b\
+\x3d\xfe\xd4\xee\xd3\xcf\xed\x1f\x1d\xdf\x3f\x3e\xb9\x7f\x7c\x72\
+\xef\xf8\xe4\xde\xf1\xe9\x3d\xf5\x99\x5d\xcd\xfc\x6c\xb3\x38\xdb\
+\x2c\xce\xb4\xcb\x53\x71\x65\xd0\x6e\x0c\xe2\xa8\x4c\xa3\x32\xd5\
+\x65\x6c\x0b\x1b\x15\x36\x2a\xac\x0e\x7d\x6b\x1c\x8d\xeb\xe3\x10\
+\xbb\xdb\xf4\xb3\x52\xe5\xce\x0a\x7c\xb3\xfe\x25\xae\xcb\x7f\x57\
+\x0d\xaa\x85\xc6\x42\x63\x91\x62\x91\x9a\x22\x35\x7b\xe3\xc6\xde\
+\xb8\xb6\x37\xae\xed\x8f\x2b\x17\x35\xcb\x17\xb5\xf3\x17\x37\x67\
+\x2e\x69\x4e\x5e\x9a\x4e\x7c\x28\x1d\xfb\xd0\xf8\xe8\x65\x1b\xaf\
+\x1e\x58\x7e\x7e\xef\x99\x27\xa7\x8e\x3f\x52\xbc\xf5\x10\x4f\x7d\
+\x39\x3e\xf6\xb9\xb5\x7b\x3f\xb5\x72\xd3\xef\x2f\x5f\xfd\x1b\x0b\
+\x9f\xfd\x97\xa7\xff\xe4\x1f\xbf\xf5\xd1\x5f\x58\xfc\xd2\x6f\xac\
+\x5d\xf7\x51\xbb\xef\x0a\x9e\xbb\x85\x23\x0f\xca\x99\x67\xfc\xf2\
+\x8b\x61\xe3\x75\x56\x8e\xb0\x71\x8c\x7a\x81\xb8\x8c\x8e\x04\x6d\
+\x61\x88\x2c\x24\x96\x60\x03\xc6\x42\xe3\x30\x8f\x19\x98\x86\xb4\
+\x16\xd2\x7a\xd0\x0d\xcf\xc8\xf7\x21\x85\xd1\x34\x25\x4d\x8a\x21\
+\x41\x9c\x8f\x10\x95\x5a\xa9\xb3\xa7\x3f\x93\xf9\x6e\x64\xc3\x9f\
+\xd9\xd9\x68\x24\x75\xd1\xe0\x80\x43\x0a\x25\x98\x04\x06\x53\x16\
+\xca\x64\x4e\x01\x35\xcc\x28\xf0\x03\xd9\xcc\xd3\xb3\x2e\x8b\xcc\
+\x6a\xe2\x32\xf5\x29\x86\x47\x38\xfd\x38\xdf\xbe\x91\x87\xbf\xc0\
+\x6d\xbf\xdf\x7e\xf5\x17\xcf\x7c\xf2\x1f\x1c\xfe\xe8\xff\x7d\xe9\
+\x63\x7f\x7f\xee\x0b\xff\x68\xf1\xfa\x7f\xd3\xde\xfb\xb1\xc1\xa1\
+\xab\x2e\x3a\x72\xd7\x8f\x2d\x1d\xfa\xc9\xfa\xc8\xbe\xb5\xc3\xbb\
+\x36\x4e\xcc\x36\x4b\x55\x1a\x8b\xc6\xad\x54\xf4\x30\xb9\x63\xd8\
+\xfc\x60\x33\x00\xbe\xfb\xd8\x77\x86\x5a\x71\x11\x17\xcf\x8a\x51\
+\xf8\x01\x9a\x4a\xe8\x9a\xf5\xad\xd3\xd8\x99\x08\x00\x7c\x27\xdb\
+\x65\xf6\xb6\x5d\xd4\xf7\x9f\xd9\x8e\x29\x29\x0e\x24\x4d\x59\xdc\
+\x95\x36\x76\xd5\x8b\xd3\xc3\xe3\xb3\xab\xaf\xee\x5a\x7c\x7e\xef\
+\xdc\xa1\xf4\xcc\x4d\xc3\x87\xae\x38\x79\xe3\x1f\xbc\xf9\xc5\x7f\
+\x7d\xfc\x53\xff\x64\xfe\x13\xff\x68\xf8\xb9\x7f\x6e\x5f\xfa\x97\
+\x1c\xba\x89\x67\x6f\xe3\xe5\x7b\x39\x76\x90\xa5\xd7\x19\x9f\x2e\
+\xd3\xfa\x2c\x71\xaf\x67\x7a\x5b\x7a\x9e\x19\xd2\x87\x5b\x94\xf8\
+\x02\x77\xb6\x0a\x91\x2b\xd4\x44\x37\x57\x33\x53\x27\x5a\x39\xaa\
+\xbc\xbc\x65\x32\xdf\x8d\x3c\x33\x32\x3b\x1b\x6d\xd1\xd4\x99\x97\
+\xe4\xa8\x1d\x63\xcf\xd0\xb1\x2e\x0c\x1d\x6d\x40\xc3\x24\xf4\x8e\
+\x11\x0c\xf7\xa7\xe5\x7d\x71\x71\xcf\xf8\xc4\x60\xf9\x65\x39\xf6\
+\x28\xcf\xdc\x38\xbe\xeb\x0b\x6b\x37\xfc\xe1\xa9\x4f\xff\xab\x53\
+\x9f\xfb\xc5\x53\x57\xfc\xc6\xc2\x75\xbf\xbb\x71\xe7\xc7\xe5\xa9\
+\xab\xf6\x1d\xbe\xf5\x83\x27\x1e\xdb\xb7\x72\xfc\xc0\x68\xee\xd2\
+\xb4\x7c\xa9\x5b\xbb\xc8\xd6\x76\xa5\x95\xa9\x7a\x2d\x8c\xd6\x7d\
+\x3b\x96\x14\x93\xb9\x48\x88\x14\x0d\x55\xc3\x54\xcd\x60\x14\x66\
+\x46\x61\x66\x14\xa6\x46\x61\x6a\x1c\xaa\x71\xa8\x1a\x5f\x36\x21\
+\xb4\xde\xb5\x9e\xe8\x88\xae\xcf\xec\xeb\xf3\xfb\xe4\xbb\xc6\x27\
+\x6e\xb5\xed\x69\x08\x49\x48\xe2\xb7\x35\x97\xa4\x8f\xb7\xef\x24\
+\xf6\x8c\x89\xf9\xdf\x0a\x9b\xdf\xdc\x77\x38\x13\xa7\xce\xa9\x73\
+\xd1\x33\x86\x91\x30\x0c\x8c\x06\x8c\xa7\x64\x34\x2d\xe3\x69\x37\
+\x9e\x76\x5a\x90\x4a\x62\x41\x2a\x10\xa1\x20\x4d\xe9\x70\x36\x2e\
+\x1d\x90\xd5\x0f\xc4\x33\x97\x8d\xdf\xfc\xd0\xda\x2b\x07\xce\x3c\
+\xbb\xef\xe8\x43\xd3\x2f\xde\x2a\xcf\xde\xf8\xc6\xe5\xbf\x77\xe4\
+\xf2\xdf\x7e\xeb\x4b\x1f\x3e\x7d\xf9\x87\x97\xaf\xfa\xad\xfa\x86\
+\x8f\xa6\xbb\x3e\xd3\x3e\x74\x79\x38\xfd\x58\xb5\xfc\xc2\xa0\x39\
+\x56\xc5\xb9\x42\x17\x9d\xad\x62\x43\xd2\xb0\xd1\xa9\xd6\xa6\x5a\
+\x9b\xaa\xb5\x1a\x59\x31\xd2\x62\x4c\x68\x70\xe6\x4b\x45\xac\x8b\
+\x10\x94\x54\x10\x3d\xb5\x27\x4b\xf6\x66\x32\xdf\x85\x6c\xf8\x33\
+\x3b\x9b\x50\x10\x8a\x64\x52\x27\x1a\xed\xcf\xb4\xc9\x28\x60\x00\
+\x03\x62\xd0\x0d\xd2\x12\xe9\x0c\xcd\x09\x86\xc7\xb8\xef\x77\xf8\
+\xe6\xaf\xc4\x2f\xff\xc2\xc2\x27\xfe\xc1\xc9\x4f\xfc\xf7\xc7\xaf\
+\xf8\xc5\xc5\x5b\x3e\x3a\x7c\xe8\x8a\xe9\xa3\x0f\xed\x3a\xfd\xcc\
+\xec\xf2\xe1\xc1\xea\xe9\x72\x65\xc5\xaf\x8d\x8a\x86\xe9\xed\x91\
+\xe6\xb1\x0b\x60\x13\x8a\x42\xa6\xa6\x5a\x29\x52\xa8\x2c\x94\x94\
+\x15\xc5\x80\xb2\xa4\x2c\xa5\xaa\x06\x31\x0e\x62\xac\x52\xaa\x52\
+\x2a\x93\x95\xc9\x82\x12\x92\xf3\xea\x44\x7b\x85\x3e\xed\x1a\x4e\
+\x71\x2e\x6d\xb6\xe0\x52\x70\xfa\xf6\x16\x52\xdf\xbc\x06\xaf\xa1\
+\xb3\xfe\xde\x92\xb3\xe4\x88\xde\x7a\x7d\x02\x21\x76\x7a\xba\xfd\
+\x7d\xf9\x24\x49\xa1\xf5\x5b\x2d\x3a\x92\x10\x1d\x2a\xce\x07\x1f\
+\x82\x2f\x7d\xe9\x29\x45\x83\x8b\x81\xc6\x59\x2d\xad\x84\xb6\x13\
+\x16\xee\xb4\x09\x21\x2a\x96\x18\xaf\xc6\x34\x4e\xa8\xf9\x40\x59\
+\xe1\x0b\x40\x89\xcd\x8f\x15\x1b\x1f\x4c\x0b\x17\xad\xbd\x36\x73\
+\xf4\x61\xf7\xcc\x8d\xe3\x7b\x3f\xb3\xf6\xad\xdf\x5b\xf9\xc6\x6f\
+\x9e\xfa\x93\xff\xfe\xf4\xa7\xff\xc9\xf2\x57\x7e\xa3\xbe\xe3\xd3\
+\x3c\x73\x0b\x27\x0e\x32\x3e\x46\x3a\x53\x42\xd1\x09\x11\x3a\x4a\
+\xa1\xe8\x53\x25\x48\x8a\x26\x54\xbb\xac\x40\x90\x44\x6a\x68\x86\
+\x79\x80\x67\x32\xdf\x49\x36\xfc\x99\x1d\x8d\x49\x40\x9c\xf7\x52\
+\x05\x9d\x92\x38\xa5\xa3\xd9\xb4\xbe\x7b\x7c\xba\x6a\x8e\xfb\xf5\
+\x97\x99\x7b\x8a\xd7\xef\xe5\x89\x6b\x56\xbf\xf1\x27\xaf\x7c\xe2\
+\x97\x1f\xfb\xed\xff\x2f\x5f\xff\x2d\x6e\xfd\x78\x78\xfc\xba\x8b\
+\x0e\xdf\xff\xc1\xf9\x67\x3e\xb4\x7e\xf8\xb2\xd1\x89\x4b\xea\x85\
+\xdd\xe3\x85\x19\x1b\xcf\x56\x7e\x66\xda\x15\x53\x48\x27\x90\x5b\
+\x4a\x5d\xec\x1b\x87\xbd\x23\xb7\x67\x43\x66\xd6\x75\x6a\x3d\x95\
+\xa3\x28\xe3\xb6\x73\xd1\x9b\x90\xd0\x91\xa6\x35\x69\xd6\xa4\x59\
+\x91\x66\x45\x62\x2d\xb1\x76\x6d\xe3\xda\xc6\xc5\xc6\xc5\xc6\xa5\
+\xc6\xa5\xe8\x54\x43\x22\xa8\xf3\xea\x9c\x79\xf0\x58\x81\x56\xdb\
+\x65\x7a\xcf\x6e\xfa\xb6\x26\xaa\xa2\xba\x65\xec\x25\x0a\x8a\x68\
+\x6f\x29\x3b\x36\xe3\x00\x26\x31\x01\xe6\xb4\x6b\x38\x45\x54\x44\
+\x1d\x1a\x4c\x43\x4a\x45\x4c\xa1\x6d\xca\xa6\xa9\x9a\xb6\x1a\xb7\
+\x83\x3a\x4e\xd5\x89\x36\x4a\x4c\x92\xd4\x1b\x4e\xe8\xc4\x08\x08\
+\xae\xdc\xe5\x5c\x25\xea\x88\x89\x36\x12\x13\x8a\x98\xb8\x82\x61\
+\xe5\x86\xd3\x6e\x34\xeb\x87\xbb\x6d\x6d\x4f\xb3\xbc\x77\xed\xc4\
+\xc5\x8b\xaf\x5f\x72\xea\xd0\xec\x6b\xf7\x36\x8f\x7e\xfd\xe4\xcd\
+\x9f\x7c\xed\xaa\xdf\x39\x72\xc5\x6f\x9d\xfa\xf2\x87\x17\xaf\xf9\
+\x03\x9e\xbb\x95\xd7\x1e\xe0\xf4\xb3\xb2\x7a\xc4\x8f\xcf\x84\x66\
+\xb5\x6a\x47\x55\x6a\xa7\xd0\x81\xa3\x14\xc1\x0c\x13\x08\xb8\x92\
+\x62\x3a\x8f\xf0\x4c\xe6\x3b\xc9\x86\x3f\xb3\xa3\x69\xfb\xcb\xf5\
+\x9a\x76\x85\xd1\x09\x96\x5f\xe1\xe8\xfd\x7c\xfb\x9b\xdc\xf4\x51\
+\xbb\xea\xd7\x57\x3e\xf9\x8f\x4e\xfc\xc9\x3f\x3c\xf6\xf9\x5f\x1c\
+\xde\xf6\xa7\x17\xbf\x78\xf3\x5f\x38\xf3\xc4\x66\x3d\xbe\x5e\x98\
+\x37\x82\x21\x0e\xeb\x2f\xff\x13\xc9\x34\xd2\x76\xe6\xad\x35\xda\
+\xb1\x4b\x4d\xb0\x38\xf0\xcc\x94\x32\x53\xba\x81\xb3\x52\x52\xd0\
+\xb6\xa0\xf1\xd2\x06\xb4\x14\x0a\x4f\x51\x50\x54\xdb\x3d\xeb\xdb\
+\x5b\x17\x83\x17\x91\x06\x69\x84\xda\x75\x4d\x46\x7d\x78\x9e\x4c\
+\x5e\xd0\x35\x89\x67\x7d\x7e\x5b\x53\x99\xe8\xef\x4e\x34\x0c\xbe\
+\xcb\x95\xc1\xe4\x9f\xd0\xeb\xef\x14\x89\x90\xba\xac\x7a\x42\xc2\
+\x29\x16\xd1\x84\x26\xac\xdb\x25\x74\xd5\x7e\x2a\xd7\xdd\xac\x57\
+\x8e\x52\xba\x2c\x09\xba\x9c\x87\x94\x34\x61\xe6\xc4\x55\x3e\x4c\
+\x05\x37\x28\xac\xf0\xc9\x4b\x5d\x8f\xdb\xba\xb1\x36\x9d\x15\x43\
+\x90\x70\xc6\x8c\xc5\x4b\x6c\xe3\xb2\xe6\xcc\x81\xa5\x97\x66\x5e\
+\xbf\xcf\x0e\x5e\x3b\x7e\xe0\x4b\x87\xff\xf8\xef\x9d\xf8\xe4\x3f\
+\x58\xff\xc2\x3f\xe5\xda\x7f\xc3\x3d\x9f\xe2\x85\x6f\x72\xe6\x20\
+\xe3\x63\x8c\x4e\x13\x57\xd0\x1a\x24\xa9\xb4\xd1\xb7\x54\x51\xaa\
+\x3c\xc2\x33\x99\xef\x24\x1b\xfe\xcc\x8e\xa6\x70\x90\x52\x9c\x3f\
+\xb3\xfa\xe2\xd3\x8b\x0f\x7c\xeb\xcc\x4d\x5f\x7a\xeb\xab\x7f\x74\
+\xe4\xcb\xbf\xb5\x7a\xdf\xe5\xf1\xc9\xeb\xf7\xbc\xf1\xd8\x65\xeb\
+\x6f\xfe\x98\x2d\x5d\x2a\xeb\xfb\xe3\xda\x9e\xf1\xda\xba\xec\x5b\
+\xf7\xfb\x46\xc5\xfe\x71\xb5\x6f\x1c\xf6\xd4\x32\x5d\x5b\xd5\x68\
+\x90\xb2\xc2\x39\x12\xb4\xe6\x94\x42\x28\x1c\x01\xaa\x34\x2a\xe3\
+\xb0\x68\x37\x7c\xb3\x21\xed\x50\xd2\x48\x68\x9d\xa9\x93\xad\x02\
+\x01\x29\x11\x23\x1a\x21\x31\x2a\xab\x51\x59\x8d\xaa\x72\x5c\x96\
+\xe3\x22\x34\x85\x6b\x02\x6d\xa7\x05\xe8\x51\x4f\x77\xda\xdf\x4c\
+\x53\x8f\x5e\xbb\xa6\x5e\xb7\x2e\xfe\xdd\xa4\x86\xc0\x66\xdb\x2a\
+\x80\xe3\xba\x96\xa4\x2f\x3b\x94\x70\x9d\x03\x7f\xb3\x6d\x06\x04\
+\x44\xb7\x25\x5e\xbc\x29\x69\x84\x39\xc3\xb9\x32\x68\xe9\x53\x55\
+\xb4\x45\x18\x87\x30\x2e\x8a\xba\x28\xc6\x65\xb1\x19\x06\x68\xdb\
+\x6b\x1d\x19\xa1\xdb\xbd\x24\xa3\x4d\xd6\x44\x4b\x2d\x1a\xd1\x54\
+\x4d\xf9\x30\x70\x5a\x48\x12\x51\x0a\x75\x25\x7e\x9a\x62\xca\x5a\
+\x4f\x72\xa8\x96\xd6\xec\xa1\x39\x60\xe3\x0f\xea\xf0\xb2\xb4\xfe\
+\x33\x9c\xbe\x6c\xe5\xa5\xd9\xd7\xef\x1a\x3e\x72\xc5\xe9\x9b\x3e\
+\xf6\xd6\xd5\x1f\x3d\x7a\xe5\x47\x0f\x5f\xf1\x27\x27\xee\xbf\x69\
+\xf9\xdb\x4f\xb3\xba\x88\xe1\xbc\xb7\xe0\x92\xd0\xe4\xf1\x9d\xc9\
+\x7c\x37\xb2\xe1\xcf\xbc\xb7\xc4\x49\x7c\xf8\xb6\x62\x6a\x7d\x94\
+\x78\xdc\xaa\x6f\x6f\x46\x9c\x54\x91\xaf\xfb\x73\x75\x57\x2b\x6e\
+\x84\x8d\x26\xd2\x2e\xb1\xab\x72\x6b\x49\xad\x2b\x26\x6f\x10\xc7\
+\x68\xdb\x47\xe9\x1b\x09\x46\xb0\x02\x2b\xb0\x0e\x2d\x09\xdb\x20\
+\xce\x31\x7e\x93\xb9\x43\x1c\x7d\x50\x3e\xfd\xbf\xe4\xf7\xff\x42\
+\xf8\xdd\xbf\xbc\xfb\x93\xff\xa7\xbd\xd7\xfe\xc3\x03\x0f\xfd\xe1\
+\x87\x8e\xde\xfe\x63\x1b\xaf\xcf\x8e\xce\x78\xad\xbb\x6c\xf1\xae\
+\x54\x9c\x06\xb4\x62\x9a\xa5\x69\x96\x2a\x16\x4b\x5d\x2a\x59\x29\
+\x64\x58\xb8\x3a\xb8\xa8\x5a\xab\xa9\xba\x49\x0d\x19\xe9\xeb\xf8\
+\xf4\xd2\xfb\x9b\x72\xfb\x93\xfa\x3e\xfd\x0b\x0c\x15\xc4\xe3\x02\
+\x38\xd4\xa8\xb4\xae\xb4\xae\x52\x53\x6a\x53\x6a\x0c\xaa\xdd\x39\
+\xbb\xf3\xb5\x9f\x55\xe2\x4e\x31\xdd\x2a\x05\xb8\xdd\xcf\xbf\x59\
+\x72\x48\x39\xfb\x7f\x94\x3e\x67\x2f\x68\x57\x1b\x77\xd2\x3a\x85\
+\xc2\x49\xdb\x56\x5e\x70\x2b\x65\x7e\xb3\x02\xb1\x3a\x35\x51\xd5\
+\xe8\x34\xf9\xd4\x06\x8d\xa5\xc6\x32\xb6\x45\xdb\x94\x75\xbd\xf9\
+\xab\x19\x7d\xf9\xbd\x2d\xd5\xfc\x6d\x3a\xbb\xdd\x6e\xc0\x81\xb6\
+\xc9\xa2\x8a\x9a\x88\xe1\x5b\x7c\xa3\x6e\xa8\x32\xb2\x41\xd2\x90\
+\x54\x74\xeb\xe7\x07\x85\xa6\xa0\x2d\x88\x8e\x81\xb4\x1f\x68\xcf\
+\xfc\xf8\xc2\x53\x3f\xf9\xea\x35\x3f\xf3\xe4\x47\x2f\xbb\xf1\xff\
+\x33\xfb\xd9\xff\x3a\xfe\xfe\x7f\xc1\x27\xfe\x4b\xf9\xd6\x3f\x2f\
+\x9f\xff\xc2\x60\xfe\xde\xe9\x8d\xa7\x36\xb4\x1f\x42\x0d\x34\x4a\
+\x4a\x93\x22\x46\x29\x92\x5a\x9a\x31\x6d\xbd\x35\x54\x94\x21\x0c\
+\xa1\x86\xd6\x48\x09\x8b\x90\x12\x3a\xc2\x96\x61\x01\x16\xb0\x55\
+\xb4\xed\x87\x6b\xbb\x55\x17\x69\x32\x9c\x75\xdb\x38\xd6\xb3\x9e\
+\xc4\x77\xe6\x41\x64\x32\xef\x13\xd9\xf0\x67\xde\x5b\x26\xf9\x69\
+\x26\x93\x05\xb2\xf3\x2a\x6f\x1e\x4c\x01\xe9\x4b\xca\x56\x6f\xaf\
+\xae\xea\xa1\x32\x99\x4a\x52\x8d\x52\xa8\x2d\xb4\xb8\x24\x88\x77\
+\xe2\x14\x89\x50\x0f\xc3\x60\xec\x8a\xa1\xb9\x71\x44\x93\x79\xd5\
+\x29\x6d\xf7\xe8\xc6\x9e\xb4\x3c\x5b\x1f\x2b\x96\xbe\xcd\x1b\x0f\
+\xf1\xf8\x37\xd6\xae\xfd\xe3\xd7\x3f\xf9\xaf\x0f\xfd\xde\x3f\xe6\
+\xb9\xe7\x78\xfd\xf5\x66\x7e\xb9\x19\x47\x11\x11\xef\x5d\x08\x21\
+\xe4\x79\x71\x8e\xe2\xcc\x89\x39\x67\xc8\xdb\x4b\x29\x3a\x1f\xdb\
+\x66\x69\x61\xee\xa5\x67\xde\xba\xfb\x5b\x6f\x5e\xf3\xc5\x93\x57\
+\x7e\x7c\xe1\xab\x9f\x9c\x79\xee\xfa\xc1\xeb\xf7\x54\x8b\x2f\x96\
+\xe3\xd3\x65\x5a\xf7\xa8\x2a\xb5\xb9\xb5\x18\x1a\x5f\xc4\x72\x90\
+\x8a\x0a\x81\xd4\x7a\x8b\x53\xd2\x4e\xb7\xed\x74\x6c\x2b\x53\x27\
+\xc4\xbe\x36\x91\x4f\xae\x82\x59\xd2\x6e\xe2\x6e\xd2\x34\x56\xe0\
+\x48\x81\xa6\x38\x4b\x22\x21\x8b\x04\x67\xce\x9b\x79\x94\xbb\x20\
+\xf3\x5e\x92\xfa\x22\x77\xb4\xa8\x6e\xbf\x2b\x17\x52\xe7\xa0\xf6\
+\x13\xf3\x6f\x8a\x46\xbf\xcd\x51\x0d\x18\xae\xfb\x2e\x17\xc4\x5c\
+\xff\xbd\x0d\x44\x09\x26\xde\xc4\x77\xc7\x35\xe7\x19\x04\x1c\x43\
+\xda\x39\xd6\x0e\x73\xe6\x19\xbe\x7d\x2b\x0f\x5c\xbe\xf2\xb5\xdf\
+\x3a\xfa\xb9\x5f\x3c\x72\xf9\xaf\x6e\xdc\xf3\x99\x0f\xbc\x75\xf7\
+\x5f\x6e\xbf\x9d\xc6\x75\x8c\xea\x1c\x21\x00\x58\x4a\xb1\x89\x75\
+\x56\x7e\x39\x57\x71\xa6\xce\xb4\x4f\x2f\xec\x14\xfd\x70\x18\xd4\
+\x49\xda\x7a\x50\xaf\xcf\x8e\x16\x67\x97\xdf\x1a\x9c\x78\xde\xbf\
+\xf6\x88\xbe\x70\xcf\xfc\x9f\xfe\xbd\xe1\x67\xfe\x21\x57\xfd\x12\
+\x77\x7e\x9c\xe7\x6f\xe5\xf4\xb3\xae\x59\xaa\x60\xb6\x04\x18\x27\
+\xea\x44\x02\x82\x47\x0c\x4b\x8c\x5a\x9a\x44\x6c\x3a\x75\x20\x45\
+\x13\x34\xb8\x28\x61\x52\x4a\x38\xb0\x95\x39\xb9\x59\x84\x50\xbf\
+\xbb\xd5\x97\x3c\x90\x32\xe7\xe4\x3c\xca\x5d\x90\x79\x2f\xd9\xf4\
+\xf4\xd3\x69\xaf\xf7\x2e\x70\xd8\x96\x74\x3e\x71\x00\x38\x9c\x4b\
+\x67\xad\xa6\x49\xac\xf6\xb4\x25\xb1\x9c\x7c\xd7\xe4\x02\x80\x75\
+\xdc\x2a\x61\x37\xba\x87\x7a\xa0\xcb\x34\xc7\x98\x7b\x96\xa7\x6f\
+\x6a\x6e\xfa\xc4\xd2\xe5\xbf\x75\xf4\xf3\xbf\x71\xea\x86\x8f\xdb\
+\x33\xb7\x7c\x70\xe9\xdb\x3f\xc5\xdc\xa5\x7e\x75\x26\x8d\xdc\x78\
+\xe4\xcb\x22\x94\x21\x14\xde\x39\x67\x66\x66\x26\xd2\x6f\x02\x32\
+\xe7\x20\xdd\x05\x84\x98\x76\xa6\x57\x25\x98\x38\x08\x78\x87\xe1\
+\x2c\x4d\x49\xb3\xaf\xac\x2f\x09\xeb\x97\x34\xa7\x2f\x5e\x7f\xe3\
+\x62\x5b\x9d\x9e\x7b\x69\xf8\xc4\x8d\x67\x6e\xfc\xd8\x89\x2b\x7f\
+\x63\xe1\xab\xff\x76\x74\xe3\xef\x35\xf7\x7d\x4a\xe6\x9f\x2e\xd7\
+\xdf\x98\xd5\x85\x69\x36\xbc\x35\x8d\xda\x90\x62\xe4\x06\xec\x9a\
+\x66\x50\xe2\x03\x2a\xa5\x32\x6d\x3a\x0d\x25\x24\x18\x3a\x36\x3c\
+\x63\x4f\xe3\x00\x82\x51\x69\x6f\xda\x27\xc5\x87\xc2\x66\xdb\x2a\
+\xd9\xcc\x96\x1f\x8b\x2c\x21\x9c\x39\x47\xe6\x51\xee\x82\xcc\x7b\
+\x8c\x4c\x64\xe8\x26\x77\xc7\xa9\x0b\x5f\xf3\x44\x41\xfb\xa2\xec\
+\x7d\x73\xbe\xf7\xf3\xc7\xbe\xe2\x2a\x74\x01\x02\x7d\xd2\xb9\x2a\
+\xa6\x01\xa6\x60\x0a\x66\xd1\x72\x7c\x88\xe3\x77\xeb\xfd\x9f\x9b\
+\xbf\xe2\xd7\x8f\x7f\xf6\x97\x8f\x5f\xf3\xfb\xcb\x0f\x5e\xcd\x4b\
+\xf7\x5c\xba\x71\xe4\xc0\xe8\xe4\xde\x7a\xb9\x6c\xc6\xb4\x69\x33\
+\x32\x5f\xdb\x56\x63\x4c\x31\xc5\xa8\x29\xa1\x8a\x08\xde\xe7\x79\
+\x71\x0e\x8f\x9e\xbe\xa9\x3a\x4d\x4e\x93\x38\x75\x30\x98\xa2\xf0\
+\x00\x2d\x8c\x23\xe3\x86\xa6\x95\x56\x69\x01\xa6\x2b\x77\x49\xd8\
+\xf8\xe0\xe8\xf5\xe9\xc3\x77\x34\xf7\x7f\x62\xfe\xfa\xdf\x58\xfe\
+\xd4\x2f\xb4\xd7\xfe\x5b\x9e\xbc\x8a\xb9\xa7\x69\xce\x94\x36\x9a\
+\x02\x07\x2b\xc2\x86\x93\x06\x4f\xf2\xc4\x82\x36\x10\xf1\xb6\x79\
+\xd9\xd4\x57\x11\x14\xeb\xee\xf8\xfb\x3c\x8a\x84\xfb\xae\xf2\x86\
+\x13\x93\xdf\xa5\x54\x44\x24\xe6\x07\x98\x39\x17\xc8\x0b\x5c\xe6\
+\x3d\xa5\xa4\x2d\x7a\x33\xcf\x36\x29\x5a\xe9\x92\xcb\x3c\x69\x12\
+\xbd\xbe\x59\x85\x7d\x1d\xdb\x80\x16\x30\x29\xa2\x54\x35\x55\x4d\
+\x31\xb2\x00\x6e\x20\x69\x5a\x57\xab\xfa\x58\x58\x3a\x18\x5e\xbf\
+\xdd\x3f\x77\xed\xda\xc7\xff\xf1\xe2\xe7\x7f\x69\xfe\xe6\x8f\xc9\
+\xd3\xd7\xef\x3e\xf6\xf0\x65\x6b\xaf\x5d\xa2\x73\xfb\xc2\xb0\x92\
+\xb1\x97\x84\x60\x5d\xf1\x1d\x48\xc1\xa7\xca\x9b\x01\x38\x27\xde\
+\x4b\x08\xd2\xe5\x81\xc7\x98\x3d\xb4\xe7\x2a\xd2\xef\x1c\x55\x30\
+\x51\x93\xa8\x2e\x46\xaf\x4d\x3d\x04\xa3\xf2\x0c\x3a\x2d\x65\x28\
+\x60\x0a\x4a\x41\xa0\x8d\x8c\x6b\x19\x0d\xa7\x9a\xb5\x3d\xed\xd2\
+\x65\xf1\xd4\xe0\xc4\x53\xcb\x8f\x5d\x7b\xf4\xea\xdf\x7d\xf3\x33\
+\xbf\xba\x78\xf5\xef\xf0\xf8\xd7\xe5\xf8\xc3\xd5\xf0\xb5\x3d\xba\
+\x38\x63\xeb\xa5\x8b\x56\x48\x2c\x69\x4a\x9a\x40\x2b\x5d\x3d\xa1\
+\x76\xc6\xea\x69\xab\x43\x8a\x68\x5f\xc3\x71\xbb\xb1\xdf\x94\x5d\
+\x66\xfb\xc7\xdb\x8f\xfb\xf9\xc4\x9f\x39\x37\xc8\x86\x3f\xf3\x9e\
+\x22\xac\x09\x23\x68\x41\x6d\x92\x4e\x66\x04\x28\xfa\x75\xd1\x90\
+\x2e\xbc\x3c\xe1\x63\xff\x3d\xe0\x22\xbe\xc1\x35\x93\xc8\xe8\x29\
+\xa1\xd0\x75\xd6\x8e\xf2\xd6\x13\x3c\x79\x0d\xdf\xfc\xe8\xea\x97\
+\xfe\xc5\x5b\x1f\xfb\x07\xbc\xf2\xd0\xe0\xd8\xa1\xbd\x4b\x47\x2e\
+\xaa\x17\x77\xa5\x5a\x52\x4b\xab\x34\x46\x03\x8a\x3a\x97\x8a\x2a\
+\x16\xd3\x6d\x39\x5b\x17\x53\xe3\x30\xd8\xfa\xc1\x44\xc4\x7b\x5f\
+\x04\x5f\x84\x50\xf8\xfc\xa4\xce\x4d\x36\x95\x89\xbb\x81\xb1\x19\
+\x52\xd7\xb4\x56\xab\xaa\x40\x28\xd4\xbb\x56\xa8\xa1\x4e\x10\x0d\
+\xc5\x0c\x85\x28\xbd\xd4\x42\xdd\x1a\x4d\xb3\x87\xe6\x03\x69\x79\
+\xe6\xe4\x33\xc3\x87\xbe\x7a\xfc\xea\x7f\xb3\xfe\x85\x7f\xce\x17\
+\xff\x29\xcf\xdf\xc5\x1b\x8f\xb0\xfc\xb2\xd8\x82\xd2\x8e\x60\x03\
+\x7a\xfd\xbf\x58\xd0\x78\x9a\xae\x9e\x63\x24\x10\x03\x9b\xb9\x0e\
+\x7e\xb2\xdf\x08\x5b\x7b\xd6\xad\xc0\x94\x4e\x9b\x20\xe5\xf5\x36\
+\x73\x6e\x90\x07\x62\xe6\x3d\xc6\xb6\xae\xf8\xc1\x6d\x0f\xcc\xb6\
+\x80\xf9\x3e\x09\x7d\xe2\x30\x5d\x63\x76\x83\x99\x31\x15\xb8\x8a\
+\x76\x5a\x37\xa6\xe3\x62\x55\x1f\xe3\xf8\x23\x3c\x79\xcd\xfa\xf5\
+\x1f\x3d\xf9\xf9\xdf\x38\x79\xe5\x47\xd6\xee\xbf\x6a\xf7\xf1\x67\
+\x7f\xdc\x96\x77\x45\x9d\x56\x4a\x39\xbb\xbc\x4d\x80\x52\x28\x0b\
+\x42\x65\xde\x89\x53\xa1\xf5\xb4\x41\x1a\x5f\x04\x11\x49\xc9\x9a\
+\x46\xdb\x3a\xa6\x36\x6a\xe7\xf4\xcf\x9c\x9b\xa3\xc7\xba\x32\x7d\
+\x38\xeb\x0b\x25\x77\x97\xea\xb3\xb3\x45\xe1\x5d\x6a\x53\xd3\xc4\
+\x84\x97\x50\xe2\x2b\x95\x82\x02\x02\xe2\xa1\xc0\x82\xa3\x28\xa4\
+\x1c\xf8\x62\x20\x22\x21\x36\x83\x66\xed\xa2\xb4\xfc\x63\x36\xff\
+\xa1\x8d\x23\xb3\x47\x1e\xe1\xe9\x6f\xbe\xf9\xe9\x7f\x39\x7f\xe5\
+\xbf\x4b\xb7\x7d\x8a\x67\xbe\x55\x2e\x3e\xbb\x27\x9d\xd9\x47\xbd\
+\xcb\x26\x65\x00\x7c\xc0\x57\x78\x8f\xa3\xdb\x48\x04\xea\x40\x1d\
+\x68\x3d\xb5\x50\x8b\xb5\x68\x8b\x46\x2c\xa2\x5b\x41\x7f\x69\x92\
+\xb2\x9a\xc9\x9c\x0b\x64\xc3\x9f\x79\x8f\xd9\x03\xbb\xb1\x29\xd4\
+\x75\x9a\x30\x3e\x22\x6a\xa0\x88\x9a\xd0\x20\xd1\x11\x03\xb1\xa0\
+\x9e\x38\x07\x3c\x04\x5d\xa5\x3e\xce\xe2\x21\x9e\xbe\x8a\xeb\x7f\
+\xf3\xd8\x1f\xfd\xbf\xe7\xaf\xfe\x35\x7b\xf2\xeb\xfb\xe6\x9e\x39\
+\x10\x97\x76\x75\x8b\xaa\x62\x94\x46\x30\x73\xa6\xbd\x78\xab\x3a\
+\x5a\xe7\x1a\xf1\x8d\x59\xd4\xd6\x52\xed\xd2\xb8\xd0\xba\x4a\x75\
+\x95\x5a\x8d\xd1\xcc\xba\xa8\x7e\xef\x91\xec\x8c\x3d\xc7\xd1\x20\
+\x1a\x44\x9d\x53\x5c\x9a\xd4\x29\x54\x18\xb7\x2e\x76\x05\x95\xcc\
+\xa7\x44\x54\x9f\x52\xc0\xb0\x89\x86\x2f\x08\xea\x53\xeb\xd3\x38\
+\xc4\x71\x65\xea\x92\x12\x95\x68\x5b\xc2\x12\xc6\xc5\x9c\xac\xce\
+\x1c\x5c\x79\xe0\xea\x33\x5f\xfa\xf0\xe2\xc7\x7f\xc5\xae\xfe\x43\
+\x9e\xbb\xdd\x6d\xbc\x4e\x5a\xc0\x8d\xea\xd0\x0e\x83\x8e\xbc\x44\
+\x09\xe0\xbc\x79\xb3\xa8\xb1\x26\xd5\x58\xc4\x14\x8b\x58\xc4\x52\
+\x1f\xac\x62\x5b\xa1\xfe\x9d\x3e\x42\x7e\x80\x99\x73\x81\x3c\x10\
+\x33\xef\x29\x0d\x21\x75\x07\xfa\x3e\x1a\xaa\xc1\x6a\xac\x21\x8e\
+\x0c\x6d\x70\xd1\xc9\xaa\xb0\x06\x43\x68\x02\x97\xc4\x66\x6f\x5c\
+\x2f\xea\x63\xbc\xf1\x08\xb7\x7d\x6e\xfd\x4b\xff\x76\xf9\x9a\xdf\
+\xdd\xb8\xff\xf2\x1f\x1b\xbe\x7a\xf1\xe8\xcd\x5d\xf5\xdc\x20\xae\
+\x7b\x8b\x2a\x21\xfa\xe9\xd6\xcf\x9a\x88\xe1\x92\xb8\xe4\x5c\xf4\
+\xb4\x8e\xc6\xbb\x4e\x8d\xae\xf7\x33\x18\xde\xb6\xc4\x70\x32\xe7\
+\x17\x62\x05\xe6\xc5\x42\x5f\x9e\x60\x7b\x28\xdd\x44\x25\xd0\xa9\
+\x06\x8b\xc1\x62\xa1\xd1\xb6\x7d\x29\x68\x97\x11\x70\x96\xe0\x0e\
+\xf4\xd1\xf7\xd1\x97\xad\xaf\x8a\x38\x9e\x69\xd6\xf6\x8d\xe6\xf6\
+\xcf\xbf\x3c\xfd\xd2\x1d\xe3\x7b\x3f\xb7\x7e\xe5\xaf\xcd\xfd\xe9\
+\xff\x8f\x87\xbf\xc4\x6b\x77\x54\xe3\xd7\xa7\x59\x2a\x19\x1b\x6d\
+\xa3\x96\xcc\x21\x03\x17\x66\xf0\x53\x48\x69\x09\x6d\x95\x04\xe2\
+\x71\xb2\x7d\x17\x39\x09\x4b\xc8\x03\x2e\x73\x4e\x90\x0d\x7f\xe6\
+\x3d\xa5\x89\xa4\xcd\xd5\xaf\x13\x7c\x4f\x11\x33\x8a\xa9\x06\xdf\
+\x60\x89\x34\x43\xbb\x9b\xd1\x6e\x56\xa6\x9b\x93\xbc\x79\x33\x0f\
+\x7c\x6a\xfd\xf3\xbf\xf4\xd6\xe7\x7e\xed\xcd\x3b\x2e\x1f\xbf\xfa\
+\x44\xb9\x72\x6a\xa0\x35\x29\x6d\xdd\x18\x38\x11\x31\x27\xd1\x4b\
+\x74\xd4\x42\xe3\xbb\x1a\x72\x20\xd2\x2f\xb8\x42\xdc\x4a\xaa\xfe\
+\xce\xa5\x3f\x73\x9e\x20\x24\x31\xeb\x65\x0b\x37\xe3\xe6\xd8\x76\
+\xa3\xbe\x3d\x86\xae\xdb\x0a\x68\xff\x27\xdb\x83\xed\xb7\xe9\x19\
+\xab\x10\x9d\x53\x21\x39\x2b\xc6\xce\x45\x2f\xde\x85\x69\x06\x83\
+\x38\x88\x67\xc2\xdc\xc1\xe2\xf0\xad\x6f\x5d\xf9\x6f\xe7\xaf\xfc\
+\x2d\xbb\xf1\x93\x3c\x7b\x9b\x5f\x7a\xa9\xd0\xf9\xd2\x6d\x98\x1b\
+\x25\x8a\x96\xa2\xd6\xa2\xd6\x42\xc3\x94\x55\x33\x56\x4e\x25\x82\
+\xc9\xa4\x11\x80\x4d\x45\xc7\xfc\x04\x33\xe7\x02\xd9\xf0\x67\xde\
+\x53\x82\xe1\x65\xf3\xde\x3d\x30\x98\xb2\xc1\x4c\x53\x0c\x86\xb8\
+\x84\x4c\xa1\xbb\x6c\xa3\x8a\x27\xfd\xd2\x21\x9e\xbd\xbe\xbd\xf7\
+\xd3\x7c\xe1\x17\x9b\x6f\xfc\xbe\x1e\xbc\xe1\xa2\xa5\x97\x2f\x63\
+\x65\x8f\x6b\x1c\xd2\x5a\x39\xd6\x6a\x2c\x55\x23\x65\x12\x2f\x24\
+\x91\xd6\x59\xe3\x18\x63\x08\x48\x77\x07\x0c\xde\x70\xdd\x7f\x6a\
+\x78\x53\xa7\x38\x75\x7d\x8e\xb5\xe4\xc1\x7f\x3e\xd2\x20\x0d\x12\
+\x37\xc3\xfb\x3b\xa3\x1a\xb7\xd5\x0e\xee\xaa\x15\xf4\x5f\xdd\x4a\
+\xad\x73\x4a\x19\xa5\x6a\xdd\x54\xe3\xa6\x1a\x57\xb6\x2e\x44\xe7\
+\xba\x1d\xa2\xa0\x22\x5d\xe4\x9e\x03\x70\x42\xf0\x3a\x05\x33\x0c\
+\x06\xec\x75\xe9\xc7\x6d\x79\xdf\x1b\x8f\xae\xdc\xfc\xa9\x93\x9f\
+\xf9\xd5\xd3\x9f\xfd\xb5\xe1\x6d\x9f\xe3\xe8\x83\x21\x1d\xf6\x66\
+\x5d\x8d\xe0\xe0\xd8\xca\x44\x75\x7d\x3e\x6a\xdb\xdf\xeb\xbb\xae\
+\xd2\xa1\xcf\xb7\xfc\x99\x73\x83\xbc\xf6\x65\xde\x53\x06\xc5\xba\
+\x77\x1b\xc8\x28\x49\xdb\x08\x23\x61\x08\x11\x4a\x98\xd6\x18\xc6\
+\x4b\x9c\x7c\x81\x27\x6e\xe2\xc6\x8f\xaf\x7e\xf5\x23\x8b\x57\x7f\
+\x24\x9d\x3c\xec\xd6\x4f\xef\x66\x34\xcd\xd0\x8f\x57\x75\xb4\xee\
+\xdb\x71\x15\xcc\x59\x14\xdd\x54\x70\x07\x26\x51\x83\xdb\x2e\xe9\
+\xc5\x10\x7a\xfd\xf9\xa0\x84\x84\xb7\xbe\x04\xad\x89\x33\xc1\xb2\
+\xed\x3f\xef\x90\xb3\x6a\x0e\xd9\xa4\xaa\x50\xec\xea\x0c\x89\xeb\
+\x6c\x7f\xda\x8c\xfc\x77\xe0\x9c\xb9\xa0\x12\x92\x08\x20\xd6\x55\
+\x28\x8c\xde\xba\x4d\xc2\xd6\x22\x68\x38\xa6\x93\x15\xa9\x4e\x69\
+\xd4\xe8\x68\xec\xeb\x91\xb4\x9d\xd6\x7f\x8b\x2f\xd8\x3b\x35\xba\
+\xb8\x79\x23\x1c\xbe\x67\xf9\xf6\xcf\x9d\xb9\xfc\xc3\x2b\x7f\xfa\
+\x4b\xcd\xcb\x0f\x33\xf7\xaa\xb4\x0b\x3e\xae\x86\xf1\xba\x8f\x4d\
+\x00\xc7\xdb\xcb\x25\xf4\xff\x49\x76\x32\x65\xce\x0d\xf2\xc2\x97\
+\x79\x8f\x51\xb0\x64\xad\x12\x1d\x6d\x49\x9c\xa1\x9e\x6e\x96\xc2\
+\xf8\x24\xaf\xdd\x3f\xbe\xe1\x63\xa7\x3e\xf3\xeb\x27\xbe\xf4\x91\
+\xc5\xbb\xae\x9a\x39\xf1\xf2\x65\x32\x4e\xc5\x20\xf9\xb2\x36\x33\
+\x4d\x12\xa4\x2a\x29\xc4\x18\x8d\xcb\xd4\x56\xda\x06\x8b\x7d\x26\
+\xfe\x77\xc3\x6c\x5b\x35\x20\xa3\x3f\xe8\x03\xa8\x49\xec\xcb\xcc\
+\x67\xce\xaf\xd1\x33\x29\x28\xcc\xa4\x70\xf0\xb6\xe7\xed\x54\x1c\
+\x9b\xd7\xff\x80\xd1\xf8\xaa\xf1\x45\xeb\x7c\x72\x20\xc9\xd3\x06\
+\xea\x42\x9b\xa0\xda\x07\x06\xf6\x65\x8d\x42\xa2\x6a\xa5\x1a\x89\
+\x8d\x05\x71\x94\x16\xa6\x75\x30\x60\xb6\x70\xb3\x94\x95\x06\x2c\
+\xa0\x0e\xe7\x75\x97\xae\x5f\xbc\x72\x64\xef\xe1\x47\x66\x0f\xdd\
+\xfe\xdc\xe7\xff\xd5\xb1\xab\xfe\x2d\xf7\x7d\x81\xe3\x8f\xa0\xc7\
+\xbd\xce\xf9\xb4\x5a\xb4\xc3\xe2\x3b\xf3\xf6\xbb\x82\xc7\x99\xcc\
+\x39\x40\x1e\x88\x99\xf7\x94\x36\xee\x6e\xe3\xac\xd8\xee\x82\x22\
+\x68\xed\x9b\xd3\x1c\x7f\x92\x97\x6e\x59\xfa\xec\x3f\x5f\xbe\xe2\
+\x97\x46\xf7\x7d\x66\xef\x89\x47\x2e\xf3\x4b\xfb\x77\x39\x3f\x25\
+\x09\x5a\x1a\x29\x25\x94\xbe\x49\x69\x3c\x4c\xa9\x85\x02\x99\x71\
+\x06\xba\x7d\x59\xb5\xed\x39\x81\xc1\x70\x66\x0e\xa3\x2f\x32\x67\
+\x25\x56\xf5\xfe\xfe\x3e\xf4\xaf\x2f\x41\x9b\x39\xbf\x48\x94\x51\
+\x42\xf7\xa8\xbb\x50\xbe\x2e\xa9\xcf\x1b\xde\x5c\x91\x5c\x50\xe7\
+\x34\x78\x0d\xa2\x0e\x45\xa4\xee\x1a\xd2\x9c\x15\xe7\xb1\x6d\xd8\
+\x48\x5f\xf8\xc7\x79\x75\xbe\x25\x28\x85\xe1\x49\x22\x35\x56\xa3\
+\xad\x25\x73\xbe\x6a\x5a\x46\x1b\x68\x43\x19\x28\xa7\x29\x2b\xf5\
+\xd4\x7f\x79\xf5\xe1\x99\x67\xbe\x7a\xe2\xba\x8f\x9c\xf9\xc2\xaf\
+\x8c\xaf\xfb\x28\xcf\xde\xce\xca\x61\x27\x6b\xde\x36\x4a\xd4\x6f\
+\xad\xb0\x0e\x5c\x4e\x1a\xc9\x9c\x23\xe4\x95\x2f\xf3\x9e\xd2\x5d\
+\xbe\x0a\xd0\x7a\x16\xe7\xc6\x4f\xdd\x7f\xec\xc6\xcf\x1f\xfe\xe2\
+\x6f\x86\x17\x6f\xdd\x73\xfc\xb1\x7d\x1b\x27\x06\x71\x8d\x76\xbd\
+\x4d\xcd\x7a\xa8\x36\x76\xed\x97\xa6\x76\x71\x84\xd6\xce\x53\x4c\
+\xe3\xa7\x43\x92\xb0\x31\xd4\x71\x28\x6a\x57\xb6\x52\x46\x29\xfa\
+\xa3\x5f\xef\x54\xed\xaa\xb6\x04\x70\x46\x89\x05\xac\xc0\x7c\x92\
+\xd0\xfb\xfb\x45\x74\xb3\xe4\x7c\x1e\xfe\xe7\x1b\x89\xc2\x28\x94\
+\xd2\x98\x98\x6d\x70\x4a\x48\x84\x44\x98\x5c\xeb\x48\x1f\xed\xef\
+\x0a\xa5\xd0\x3e\xc8\x03\x21\x49\xbf\xe1\xd3\x4d\x29\xbd\x3e\xe0\
+\x5f\x8b\x94\x4a\x8d\x65\x72\x85\x7a\x11\x87\xd7\xd6\xc7\xda\x37\
+\xad\xaf\xcd\x45\xa2\x56\x56\xcd\x84\x41\x21\x25\xad\x68\x4b\x03\
+\x75\x45\x99\x74\x1f\xf1\xb2\xb8\x30\x35\xf7\xec\xa9\xa7\x6e\x7d\
+\xe1\xd6\xaf\xbc\x7e\xcb\xd5\x27\x1f\xbf\x1b\x1d\x8b\xb5\x7e\x72\
+\x35\x01\x6c\x49\xf7\x67\x32\xef\x37\x79\x20\x66\xce\x26\x45\x92\
+\xb2\x4d\x79\xdc\xac\xff\xd0\x50\xa3\x86\x11\x8c\xfa\x6b\x4f\x6b\
+\xeb\x96\x64\x5d\xb5\x3d\x1a\x6b\x21\x62\x35\xb1\x66\x3c\xa6\x89\
+\x34\x30\xd6\xd8\x32\x86\x55\x38\x0d\x65\x7d\xac\x18\xbe\x24\x87\
+\x6f\xe2\x9b\xff\x32\xfe\xf1\xdf\xae\x3f\xfd\xff\xfa\xc0\xe3\x9f\
+\xff\x99\xe6\xd5\xd9\x76\x31\x16\x8c\xa6\xc3\x46\x15\xc6\x2e\x78\
+\x65\x76\x3c\xde\xbd\xba\x38\xf0\x38\x45\x12\xde\x90\x84\x36\x51\
+\x52\x9c\xf2\x54\xd6\x56\xd6\x04\x6b\x9c\xb6\xda\xa5\x4b\xf7\x22\
+\x6a\x8d\xba\xc6\x5c\x63\x12\x91\x2e\x10\xac\xc6\x8d\x9c\x6c\x74\
+\xcd\x53\x07\x8d\x65\xa2\x8a\x54\x6d\x7e\xde\xe7\x19\xa5\x6d\x04\
+\x1b\x39\x1a\xe8\xb3\x35\x94\x4e\xbe\x17\x26\x4f\x5c\x5d\xa3\x3e\
+\x6a\x50\x0d\xbd\x86\x4e\xaf\xf9\xa3\x7d\xc0\x47\x27\x1b\xd5\x7f\
+\xbb\x43\x9d\xaa\x8b\xe6\x1a\xa4\x56\xaf\x2a\x49\x4d\xd5\xf0\xd6\
+\x8b\xf1\x81\xaa\x6b\xd5\xd7\xea\xc6\x2a\x8d\x8a\x61\x04\xa5\x48\
+\x60\x0e\xc1\x60\x26\xd6\x1f\x1a\x1d\xfd\x73\xc7\xef\xfc\xc0\x83\
+\x1f\x9d\xba\xe2\x1f\xd6\xbf\xf9\x7f\xe0\x86\x5f\x94\xa3\x37\xfb\
+\xf5\x97\x25\x2e\x6f\x18\x27\x84\x23\xce\xc1\x3a\xd4\x9d\xe2\x04\
+\x8a\x46\x2c\x6d\x8f\x40\x54\xfa\x6a\xd5\x67\x67\xa0\xe8\x77\xb4\
+\x89\x8b\xcb\x26\x45\x27\x22\x31\x92\x6b\x01\x64\x7e\x20\xb2\xe1\
+\xcf\x9c\x8d\xb8\xed\xc1\x53\xdd\xe9\x7c\x12\x00\xe5\xa0\x30\x0a\
+\xa8\xa0\x80\x02\x29\x7c\x41\x54\x52\x5d\x17\x4d\x53\x9a\x90\x1c\
+\x5a\x99\x16\x54\x83\x36\x84\xd6\x41\xe5\x82\x6f\x07\x69\x7d\x77\
+\x5c\xfc\x40\x33\xc7\xab\x0f\xa5\x3b\xbf\xfa\xe6\x57\xff\xf8\x8d\
+\x3b\xbe\xbe\x71\xea\xf0\x9e\x81\x15\x81\xb4\x16\xa5\x8f\xc5\x53\
+\xaf\x93\x41\x99\xb5\xcd\x33\xe7\x01\x5b\xb2\x3c\x02\xce\x28\xac\
+\xa9\xb4\x1e\x9d\x7e\xf3\xe4\xdd\xdf\x3a\xf1\xc5\x3f\x19\xdd\xfc\
+\x55\x8e\x3e\x3d\xd3\x9e\xbc\xcc\x56\x3f\xa4\x1b\x0d\xd3\x2d\xa1\
+\xb1\xd4\x6a\x03\xe6\x3c\xe2\x48\x8a\x75\xde\x08\x5c\xea\xa4\x08\
+\xcd\xb0\x16\x6d\x6d\x7b\xca\x22\x67\x85\x07\x76\xdf\xb2\x99\xd3\
+\xea\xc1\xe7\xe8\xc1\xcc\x0f\x38\x6a\x73\x17\x64\xde\x3e\x22\x3a\
+\xe7\xa9\xdb\x0a\x9f\xde\x56\x61\xa4\x4b\x8e\xdb\x2a\x47\x06\xb1\
+\xf2\x6d\x55\x3a\xbc\xd0\x44\x46\x09\x68\x4b\xb7\x24\x8c\x1c\x29\
+\x80\xad\x11\xcf\xb0\xf1\x06\x4f\x7f\x6b\xf4\xe5\xdf\x9c\xbf\xea\
+\x77\x16\x1e\xb8\x72\xea\xe4\xc1\xfd\xf5\x5b\x83\x66\x99\xf1\x98\
+\x84\xf7\x5d\x44\x75\x7f\x5f\xeb\x26\xb1\xf7\xd9\xf0\x67\xce\x71\
+\xac\xaf\x2f\x01\x13\x6d\xa8\x52\x19\xe8\x68\x7a\xb4\x38\xbb\x71\
+\xa2\x3c\xf1\xdc\xf2\x23\x37\x9c\xba\xea\x0f\xea\xeb\x3f\xca\xb7\
+\x6f\x2e\x36\x9e\xf7\xb4\x81\x58\x4a\x2c\x7c\x32\x37\x32\x19\x99\
+\xb4\x04\xdd\x3c\xe6\x77\x6f\x25\x22\x60\x10\x95\x6d\x31\x8c\x6f\
+\xb3\xfa\x5b\x6a\x14\x9d\xf3\xc2\xb2\x40\x50\xe6\x07\x24\x1b\xfe\
+\xcc\x59\xa4\x2d\xa3\x1e\x13\xd1\x88\xb6\xe9\x3f\x9c\xc8\xa1\xf4\
+\x55\x47\x00\x08\xbd\xde\x29\x88\xa7\x1c\xd8\x6c\x31\x76\x44\x98\
+\x86\x59\xd2\xa0\x5d\x64\xe3\x04\xcf\xdd\x3d\xbe\xfc\xb7\xe7\xae\
+\xfa\x9d\xfa\xe0\xf5\xbb\x4e\x3c\x7d\xf1\xea\xe1\x03\x3a\xbf\xa7\
+\x4c\x55\x39\xa9\xa2\x56\x02\x88\x3a\x31\x27\x9b\x6f\x9e\x4f\xfc\
+\x99\xf3\x83\xc9\x89\x7f\x22\x0b\x28\x4a\x29\xba\x4b\x86\x17\xcb\
+\xca\xc5\xeb\x6f\xb8\x97\xee\x9b\xbb\xed\x8b\xc3\xab\x7f\x87\xab\
+\x7e\xdb\xbf\xf6\xb0\xcc\xbf\x48\x3b\x07\xeb\x82\x36\x84\x11\x7e\
+\x8c\x4b\x9d\xb7\x20\x69\x30\x15\xed\xe4\x89\x1c\xae\xe8\xf6\xde\
+\xdb\x45\x0b\xfa\xa9\xb1\xcd\x2b\x97\x33\x05\x33\xef\x70\xc8\x66\
+\x32\x9b\x4c\x6e\x0d\x5d\xea\x15\x48\xdc\x66\x20\xd5\x96\x30\xea\
+\x66\x7d\x9d\x5a\xb0\xca\xa4\x18\x3b\xb7\xea\x18\x81\x13\xa6\x19\
+\x55\xf5\x69\xb7\xf4\x12\x87\x6e\x59\xff\xd2\x47\x8e\x5d\xf1\xbb\
+\xa3\x17\xef\x9e\x19\x1d\x09\x1b\x6f\x55\x65\x57\xdf\x84\x7e\x3b\
+\xe1\x01\x4c\x51\xc1\x70\xce\x9c\x9b\x04\x40\x19\xdf\x91\xaf\x95\
+\xc9\x9c\x63\xf4\xb2\x80\x5d\x0a\x89\x6c\xab\xc3\xeb\xa1\x56\x86\
+\xeb\x05\x1b\x97\xcc\xea\x87\xdc\x8a\x1e\x3d\xb8\xf4\xc0\xf5\xaf\
+\x7c\xf2\x9f\xb5\x37\x7f\x9c\xd7\x1e\x62\xfd\x24\xcd\x7a\x4a\x6d\
+\x77\xb5\xe5\xa0\x40\x85\x96\x54\xa3\x6d\x97\x9f\x62\x04\xd1\xb6\
+\xaf\x02\x20\x6a\x93\x88\x54\x93\x89\x40\x85\xe1\x4d\xc5\x74\x32\
+\x65\xf2\x7a\x9e\xf9\x81\xc8\x03\x25\xf3\xf6\x01\x21\xe0\xba\x2c\
+\x38\x7a\xc1\xd1\x3e\xa0\xc8\xb6\x89\xdb\x77\xbe\x45\xa0\x2c\x93\
+\xf4\x3a\x65\x01\xa6\x18\x95\xe9\x14\x73\xcf\xf2\xe4\xf5\xcd\x15\
+\xff\xf6\xcc\x17\x7f\xcd\x9e\xb9\xf1\x83\xa3\x23\xd3\xa3\x53\xd2\
+\xac\x4f\xcf\x06\x46\xa0\x7d\x84\x80\x0a\x63\x65\xa4\xd4\x90\xa4\
+\x54\x71\xfd\x1b\x5b\x5f\x7d\x35\x65\xc3\x9f\x39\xc7\x31\xc5\x54\
+\xac\x9f\x24\xd1\x11\x05\xf5\x10\x3c\x53\x42\x25\x88\xa2\x63\x71\
+\x71\x76\x3a\xec\xdb\x33\xf8\x99\xa5\x67\xd6\xee\xbd\xf2\xf8\x67\
+\xff\xdd\xca\xd7\x3e\xc9\x6b\x4f\x4d\xa7\xb5\x59\x1d\x0d\x62\x53\
+\xa2\xd8\x44\xd7\xcf\x8c\xa4\xf4\xb9\x09\x8a\xf6\x71\xb6\x09\xed\
+\x8a\xff\xc8\xe4\xff\x25\x29\xda\xcd\x49\x49\x48\x9b\x5d\x64\x99\
+\x1f\x8c\x6c\xf8\x33\x67\x21\xd6\x57\x13\xdf\xde\xa4\x2f\xaa\xd3\
+\x22\x2d\x12\x71\x9a\x26\x87\xf6\xa1\xd0\x40\xdb\x34\xbb\xad\x9e\
+\x8e\x0b\xb2\xf4\xaa\xdd\xff\xf5\xa5\xaf\xfe\xde\x1b\x57\xfe\xbb\
+\xfa\xf9\x5b\x2e\xae\x0f\xef\x6a\x17\x7d\xb3\x56\x95\x4c\x15\xae\
+\x1e\x46\x66\x2b\x75\x32\xac\xd9\x68\xa8\x5d\xf0\x83\x69\x5f\x4d\
+\xe1\x4a\x50\x67\x2a\xfd\x45\xa7\x62\x5b\xf7\x9d\x99\xcc\xb9\xcb\
+\x56\xd1\x07\xd7\x49\x44\x44\xe7\x1a\xe7\xc6\x29\x45\x11\x15\x69\
+\x93\xb6\x51\xa3\x6a\x9b\xe2\x78\x3c\xf6\xe8\x7e\x1d\x1e\x58\x78\
+\xa5\x79\xec\xc6\x63\x5f\xfc\xcd\xb9\xcf\xfd\x3a\x4f\x7f\xd3\x37\
+\x27\x58\x3f\x45\x1a\xe3\x1c\xa1\x22\x14\x88\xa7\x3b\xc7\x6f\x8b\
+\xaf\xe9\x76\x14\xbe\x8f\xfc\x57\x48\x48\xda\x0c\x30\x98\xe8\x60\
+\x67\x32\xdf\x9f\x6c\xf8\x33\x67\xd3\x15\xc8\x9d\x94\x39\x0f\x16\
+\x85\xd4\xa7\x1c\x39\xed\x8a\xdc\x47\x5c\x4b\x9f\xc2\xa7\x36\x9a\
+\x62\x63\xd6\xad\xb0\xf4\x2a\x8f\x5e\xbf\x7e\xc5\xef\xcd\xdf\xfc\
+\x59\x79\xe9\xde\x9f\xf0\x4b\x53\xba\x6a\x0e\x66\x60\x80\x35\xa6\
+\x8d\x4e\x15\xd5\xb8\x8d\x1a\xca\xc1\xf4\x74\x39\x98\x42\xa5\x19\
+\xd7\xd6\x36\xa5\x68\xd0\xfe\xb0\x24\xe8\xb6\x18\xe6\x3c\x3e\x33\
+\xe7\x07\x62\x5b\x13\xc8\xa0\x35\xac\xf0\x52\x15\x16\x88\x82\x05\
+\xf0\xe2\x7c\xff\x9a\x52\xda\x03\x7a\xf2\x43\x67\x9e\x28\x9e\xb8\
+\x72\xf9\xeb\x1f\x5e\xfe\xc2\xbf\x66\xee\x20\xeb\x47\xb0\x35\x48\
+\x51\x7c\xeb\x85\xe0\x10\x35\xef\xcd\x75\xdb\x6f\xe7\x09\xbe\x3f\
+\xee\xd3\xa7\x27\x76\x53\x52\xba\xfc\x00\x57\xe4\xc7\x90\xf9\xc1\
+\xc8\x0b\x6b\xe6\x6c\x7a\x2d\x7b\x68\x5b\x86\x1b\xb4\x91\x04\xb8\
+\x94\xcc\xa4\x88\x14\x35\xa1\xf3\x48\x06\xf0\xd8\x6c\x3a\xcd\xfa\
+\x61\x5e\xb8\x7d\xed\x9a\x3f\x38\x71\xed\x47\xd3\x33\x37\xed\x5f\
+\x7a\x69\x6f\x3d\xef\xc7\x1b\x78\x92\x67\xac\x34\x8a\x79\x9c\x87\
+\x54\x07\x9f\xb0\x5a\xe3\xd8\xb7\x75\x65\x69\x9a\x54\x69\x72\x31\
+\xca\xd9\x3f\x82\x4c\x62\xa4\x33\x99\xf3\x60\xbe\x40\x17\x5a\xef\
+\x4c\xbd\xa9\x47\xab\x00\xb1\x4d\x4d\xed\xa0\xf2\x5d\x54\xac\x39\
+\x63\x5c\x54\x5a\x3a\x3c\x44\x15\x4b\x7b\x6d\x6d\xef\xc2\x33\xf2\
+\xc2\x4d\xaf\xfe\xf1\x3f\x5e\xbc\xe5\x93\x1c\x79\x98\x78\x2c\xb0\
+\xe8\xa9\x1b\x62\x2d\x32\x24\xac\x13\x46\xe6\x0c\x87\x42\xed\xac\
+\xb6\x4e\x04\xd0\xc4\xa5\x49\x6c\x3f\x40\x42\x72\x1a\x7f\xe6\x07\
+\x23\x1b\xfe\xcc\x59\x44\x9d\x0c\x0a\x27\x54\x15\x2e\x74\x91\xf7\
+\x29\x0c\x46\xb8\x31\x34\x66\x62\xf5\xc0\x36\xaa\xb4\x3c\x1d\x17\
+\x39\x74\x7b\xba\xee\x13\x47\xaf\xfc\xdd\x95\xa7\x6e\xd8\x5b\xbf\
+\xbe\xa7\x5c\xf2\xbe\xe9\xe3\x8c\xad\x54\x9d\x32\x9b\x51\xaa\x2e\
+\x22\x09\xd7\x57\xcc\x0b\xa6\xce\xd4\xa9\x8a\x9e\x5d\x21\x77\x9b\
+\x98\x9a\x53\x9c\xe6\xf4\xa4\xcc\xb9\x8d\x3b\x5b\x95\xb7\xab\x06\
+\xa9\x14\x89\xa0\x04\x23\x28\xae\xd3\x8c\x54\x42\xc2\xc4\xa2\x73\
+\xea\x21\x40\xe8\x47\xfb\x9e\x76\xe5\xa7\x9b\xc3\xe9\xd1\xaf\xbc\
+\xf5\xa5\x5f\x59\xfc\xfa\xef\xf0\xf2\x7d\x4e\x17\x4a\xc6\x66\xf5\
+\x5a\x13\x1d\x38\x61\xdc\x32\x1a\x41\x40\x0a\x6f\xd6\xa5\xde\x6c\
+\x66\xc0\x4c\x7e\x82\xbc\x51\xce\xfc\xc0\xc3\x36\x93\xd9\x42\x3d\
+\xad\xa1\xd6\xf6\x51\x44\x12\x12\xae\x13\xea\xab\xa1\x6e\x75\x97\
+\xc4\x32\xad\x32\x3e\xc1\xa1\x5b\x4e\x5f\xfd\xbb\x76\xf5\x9f\x8c\
+\x1e\xbe\x71\xef\xe2\x6b\x1f\x28\xd6\x06\x6e\x3c\xae\x19\xb7\x10\
+\x88\xce\x61\xde\x6b\x08\xc9\x79\x45\x0c\x9b\x28\x96\xf6\xbe\x4a\
+\xdb\x5e\x3e\x87\xee\x0b\xd6\x4b\xb0\x7d\xc7\x97\x32\x99\x73\x73\
+\xbe\xb8\xbe\xd9\x44\xe6\xc2\x2b\x4e\x27\xa9\x7d\xdb\xb5\xf6\x92\
+\x43\x5d\xa5\x8d\xb3\x18\xc5\x8d\x7d\x68\x0a\xa7\x05\x38\x48\x84\
+\xa1\x1d\x58\x5b\xbe\xec\xc4\x21\x1e\xfb\xc6\xc9\x6b\xff\x64\xe9\
+\x1b\x9f\xe0\x8d\x47\x07\xf1\xcc\xa5\x45\x98\x36\xa4\xb5\xb2\xc0\
+\xcf\x50\x7b\x86\xd6\x49\x4d\x3b\x8f\x0b\x48\xd8\x2c\x00\x90\xaf\
+\xf8\x33\x3f\x30\xd9\xf0\x67\xce\xa2\x4b\xa2\x33\x5f\x50\x16\x78\
+\xaf\x42\xf2\x98\xa0\x89\x69\xb8\x28\x24\x9a\x33\xbc\xf1\x04\xb7\
+\x7d\x7e\xf9\xe6\x4f\x8c\xef\xff\xb2\xcc\xbd\x32\x1b\xe7\xf7\x48\
+\x5d\xd4\xad\x35\x14\x25\xa1\xa2\xee\xd2\xf3\x24\xe1\x6a\x91\x91\
+\xa7\x0e\x8a\x4b\x88\x92\x64\x53\x60\xb5\x4b\x21\x70\xe6\x9c\x3a\
+\x17\x1d\xad\x23\x6e\x56\x53\x95\x6c\xf5\x33\xe7\x01\x49\x48\x4e\
+\x93\xeb\x4b\x44\x9f\x3d\x97\x26\x01\x77\x56\x42\x85\x14\x48\xd1\
+\x29\xf3\x09\x6a\xe2\x1a\xa9\x6a\xa9\xa2\x73\xb8\x5e\xc6\xd7\x1b\
+\xfb\xd7\xe7\xc2\xcb\x0f\x2f\xdd\x71\xf9\xc2\x35\x7f\xc0\x8d\x7f\
+\xc0\x99\xc3\x32\x5e\x28\x59\xf3\xb1\x4e\xa9\x4d\x80\xa7\x31\x1c\
+\x88\x3a\x62\x20\xba\x4e\x48\x2b\x09\x4d\x0e\xea\xcf\xfc\x60\x64\
+\xc3\x9f\xf9\x2e\x74\x41\xfb\x9d\x91\xf6\x89\x69\x63\x0f\xb1\x6a\
+\x16\x39\xf1\x8c\xde\xf3\xb5\xb9\xeb\x3e\x76\xf2\xf6\x2f\x95\x6f\
+\x3e\xfe\x93\x61\x81\xd0\xe0\x13\x29\x36\x1b\x30\xc6\xcb\x74\xf0\
+\x33\x28\x2a\xaa\xae\x49\xbe\x31\x37\xb9\xbf\x57\x88\xf4\x5e\x4a\
+\x71\x51\x42\x94\x10\x5d\x88\x2e\x44\x09\x51\xca\xd4\x69\x02\x6e\
+\xb7\xfd\x79\x21\xcb\x9c\xdb\x98\xd3\x5e\xbc\x6f\x12\x1c\x63\xdb\
+\x52\x61\x8d\x60\xe2\xcd\x79\x13\x67\xe2\x8c\xd0\x05\xcf\x86\x44\
+\xa1\xb1\xb4\xd6\x9b\x61\x01\x4a\x66\x2a\x14\x46\x10\xed\x40\xd0\
+\x9f\xaa\x4f\x4c\x7f\xfb\xd6\xf1\xad\x1f\x3f\xf6\xa5\x8f\xf0\xc0\
+\xd5\x2c\xbd\x42\x3a\x39\xc5\x72\xc5\xa8\xbb\x25\xd8\xe6\x4e\xe8\
+\x3d\x69\x89\xac\xdb\x97\xf9\x41\xc9\x86\x3f\x73\x16\x93\xb8\xe3\
+\x7e\x11\x09\x44\xcf\x3a\xcd\x49\x16\x9f\xe1\xd1\xaf\x2d\x5e\xf3\
+\x7b\x27\x6e\xfb\xac\x7f\xe3\x91\x8b\xdb\x33\xd3\x5a\xb3\xd1\x6c\
+\x44\xd4\x12\x53\x53\xe5\xde\x5d\xbe\x18\xd8\x7a\x6d\xeb\xe3\x52\
+\x8a\xcd\xb8\x3c\x93\xad\x35\x11\x63\xeb\x52\x54\xd4\x26\xad\x1f\
+\x8b\xe6\x27\x45\x75\x27\x2e\x81\x6c\xf8\x33\xe7\x3c\xbd\x9a\xfe\
+\x44\x3b\x97\x89\xb2\x65\x72\x5d\xb3\xe4\x92\x49\x6b\xd2\x9a\xab\
+\x11\xd7\x69\x60\x07\xd5\x32\xc5\x42\x1b\x67\x1a\x1d\xea\x82\x0d\
+\xa6\x99\x9a\xc6\x17\x68\xeb\x34\x4d\x89\x0d\x5c\x5b\xbd\x76\xf3\
+\x99\x5b\x3e\x5e\x5f\xfb\x07\xbc\x70\x17\xc3\xe3\x3e\x2e\x56\xb6\
+\x5e\x12\xb1\x6d\x5a\x7e\x02\x50\x64\x4f\x7f\xe6\x07\x26\x1b\xfe\
+\xcc\x59\xf4\x99\x43\x20\xa6\x9e\x1a\x5d\x65\x78\x8c\xd7\x1f\x5a\
+\xfc\xca\x6f\x2f\xdf\xf6\xf1\xf0\xc2\xcd\x1f\x58\xf9\xf6\x7e\x5d\
+\x2e\x7c\xc2\x43\x60\x66\xcf\x6e\x75\x55\x3d\x6e\x88\x63\x82\x49\
+\x29\xe2\x10\xd3\x90\x5c\x99\x5c\x19\x9d\x53\x87\xa1\x82\x06\x2c\
+\x50\x68\x0c\x1a\xfd\x24\xf8\xd9\x13\x9d\x45\x47\x13\x54\x9d\x99\
+\xeb\x44\xd0\x70\x36\xb9\x3d\xcd\x64\xce\x65\xb6\x6a\xe8\x48\x1f\
+\xdc\x07\x8a\xa8\x3a\xdd\xac\x16\xe8\xa4\xc1\x45\x71\x51\x5c\x54\
+\xd7\xbb\x04\xb6\xbd\x85\x22\x71\x58\x6f\x8c\x75\xd8\xba\x51\x72\
+\x75\xaf\x63\x9d\x60\x9d\x03\xe5\x89\x4b\xea\x17\x57\x9f\xbe\xe9\
+\xcd\x2b\xff\x68\xfd\xba\x2f\xf0\xda\x0b\x8c\x56\x89\x63\x24\x9a\
+\x27\x85\x2e\x51\xb0\x7f\x9b\x90\xf2\x03\xc9\xfc\x40\xe4\x95\x35\
+\x73\x16\x1a\x27\x47\x08\x8d\xc4\x11\xf3\xc7\xe6\x1e\xb8\xe9\xb9\
+\xaf\x7c\x6c\xfc\xfa\x23\xd3\x73\xdf\xde\xad\x6b\x85\x03\x85\x4e\
+\x54\x74\xaa\xaa\xd7\x1a\x6d\x31\x61\x94\xda\xda\xea\x14\x22\x85\
+\x01\x92\x82\x8b\x85\x8b\x55\x88\x05\x56\x46\x17\xea\xc0\xb0\xdc\
+\x12\xfc\xef\x12\xf6\x9c\xf5\x71\xfe\xde\xa2\x37\xed\x4a\xa6\x2a\
+\x4e\xbb\x54\xa5\x7c\xe2\xcf\x9c\xdb\xc8\xa6\xd5\x3f\xab\xc0\x84\
+\x3a\x14\xd1\x2e\x20\x5f\x04\x07\x22\xdd\x2b\x3b\x2f\x17\xfd\xf5\
+\x96\x04\x15\x10\x9d\x9d\x65\x6a\x17\x45\x65\x11\xc6\x46\x74\x41\
+\x07\x33\x71\x6a\x17\x6b\x50\xeb\x81\xb0\xbe\xbf\x59\x3c\xf1\xf8\
+\x83\xcf\x7e\xf5\xf2\xc5\x07\xef\x61\x3c\x04\x6b\x60\xdc\x5d\x0e\
+\x30\xd1\xd9\xce\xe9\x7c\x99\x1f\x8c\x6c\xf8\xcf\x33\x9a\xae\xb8\
+\xb8\x42\x8a\xbd\xac\x37\x44\x68\x36\x67\xbd\x45\x52\x4b\x8c\x44\
+\x25\xd2\xf4\x35\xf4\x14\xab\xb1\x11\x56\x43\x4c\xf4\x22\xbb\xb1\
+\xfb\xaa\x62\x13\x29\xb0\x5a\x90\x84\x1f\x2f\x16\x4b\x87\xb8\xe7\
+\x8f\xc7\x9f\xf8\x7b\xc5\xf5\xbf\xfa\x1f\x9d\x79\xf0\xb2\x8d\x63\
+\xa5\x26\x70\x66\xa5\x51\x99\x94\xa2\xa5\x0c\x53\x11\xc6\xc1\xd7\
+\xa5\x4b\x95\xa7\x00\x51\xd4\x54\x25\x69\x68\x34\xd4\x1a\x46\xea\
+\x6b\xa4\x09\x1a\xab\xc8\x54\xbb\x15\x05\xbd\x55\x58\xdc\x26\x11\
+\x85\xd2\xd5\x44\x6f\x1c\xd1\x99\x76\xa5\xd3\x33\x99\x73\x19\xb7\
+\x59\xd5\xca\xde\x9e\xab\xe2\xb4\x97\xc3\x32\x45\x0d\x55\x74\x2b\
+\x73\x55\x1d\xd1\xd1\x0f\x75\xa7\x68\x83\x0e\xd1\x9a\x42\x28\x3d\
+\x8e\x88\x6d\x38\xb7\xb6\x3e\xb5\xbf\x2e\x66\x4d\x99\x1d\x1d\xff\
+\xf3\xc3\xa7\xff\xf2\xf1\x2b\xf6\x7f\xeb\x7f\x6c\x3e\xf2\x5f\xf2\
+\xe0\xa7\xab\xd3\xcf\xce\x34\xeb\x53\xb0\xd1\x32\x76\xa4\x02\x0b\
+\xc0\x49\x74\x99\xd4\xeb\xf9\x8e\x1b\xda\xd4\xc0\x3a\x2c\xc3\x3a\
+\x16\x3b\xe9\xed\x06\xad\xd9\x18\xb3\x90\x9f\xe0\x0e\x1d\xb7\xb9\
+\x0b\xce\x3f\xfa\xfb\xef\xd4\x1f\x9c\xb7\xd1\x27\xf5\x3a\xc1\x83\
+\x77\x78\x4a\xb4\xab\x79\x9b\xa4\x32\xa9\x10\x07\xc9\x53\x87\x54\
+\x8b\xf5\x87\x84\xc6\x21\xbe\x0b\xbe\x6b\xa7\xe3\x2a\xab\xaf\xf3\
+\xec\x9d\x0b\xd7\x7d\xf6\xe8\x6d\xd7\xae\x1c\x7f\x7d\xd6\x47\x29\
+\xcf\xf6\x4c\xf6\x05\x40\x23\x92\x2d\x73\x26\xf3\x2e\xe2\xa9\xbd\
+\x24\xeb\x67\x34\x48\xa7\xac\xb5\xf0\xfa\xd7\x3f\xb5\x70\xe3\xa7\
+\x39\xfc\x90\xd4\xa7\xf7\xb8\x51\xd9\xb4\xa9\x36\x71\x24\x2e\x4e\
+\x6e\xb7\x3a\xcc\xf0\x30\x28\x28\x7c\x68\xa3\x83\x29\x18\x20\xa1\
+\x4b\xa9\xf5\xa8\x07\x47\xd6\xfa\xdb\xa1\x64\xc3\x7f\xfe\xa1\x80\
+\xb4\xdf\xd3\xe8\xf6\xdb\x02\x97\x84\x28\xa0\x23\x68\x53\x9f\x88\
+\xef\x12\x1e\x22\x36\x72\xae\x16\x1d\x37\x91\xd8\x6d\x17\x52\x42\
+\x97\x61\x91\x37\x6e\xe5\xb6\x4f\xbe\x71\xfd\x1f\x2d\x3d\x75\xd3\
+\xec\xca\xeb\xfb\x64\x3d\xc4\x96\x51\xdb\xbd\x73\x1f\x88\x27\xdb\
+\xd3\x93\x33\x99\xcc\xbb\x45\x21\x43\x91\x1a\x40\x1c\x41\x70\x68\
+\x1c\xc9\xf0\xc4\xfe\xf1\x91\xfa\x99\x6f\x9e\xbe\xe6\x77\xd2\xcd\
+\x1f\xe7\xe4\xd3\x4e\x17\x4b\xdf\xb4\xa3\x66\x8d\x62\x8c\x6b\x05\
+\xa3\x45\xc7\x58\x8b\x51\x84\xe9\x48\xd5\x10\x9a\x4e\x66\x1b\x75\
+\x58\x20\x94\xd9\xf0\xef\x54\xb2\xe1\x3f\xef\x1e\x58\x74\xd4\xfd\
+\x69\xdb\x6d\x55\xe6\x76\x5b\x21\xf0\x6a\x90\xd0\xc9\x95\x5f\x0b\
+\xb1\x7b\x81\x6e\xba\x04\xc4\x59\x4c\xde\x87\x32\x90\xa2\x56\xd6\
+\xc2\x22\xeb\xaf\xf1\xcc\xb7\xf4\xea\xdf\x5a\x7e\xe8\xca\xbd\xf3\
+\xcf\xfe\x4c\xb1\x76\xd1\xa0\x2d\x63\x22\x6e\xc5\xfa\x9b\xb8\x3e\
+\x0e\xff\x3b\x9c\x0d\x99\x4c\xe6\x47\x8e\xc7\x24\xa9\xaa\x26\x44\
+\x29\x90\x80\x69\x68\x9b\xbd\x83\x8d\x0f\x36\x6f\xba\x57\xef\x39\
+\x75\xe7\x97\xd6\xbe\xf1\x09\x9e\xb9\x83\xe1\xd1\xc2\xaf\xf8\xc9\
+\x5d\xbf\x79\x4f\xf0\xfd\xb4\x57\xbc\xe1\xfa\x8b\x08\x4d\x28\x08\
+\x56\xa0\x53\xb9\x87\x77\x26\xd9\xf0\x9f\x77\x0b\x41\x9a\x28\x85\
+\x74\xa9\x3c\x7e\x33\xa8\xc8\xf5\x65\xf4\x4c\x7a\x95\x3c\xed\xd3\
+\x7c\x0c\x4f\x5b\xa1\x15\x80\x4b\x54\x91\xdd\xb5\xdf\xd5\x98\xaf\
+\x88\xbb\xdd\x3a\xcd\x9b\xbc\x7a\xcf\xda\x2d\x9f\x79\xf9\xa6\x4f\
+\xd5\x87\x0f\xed\x6d\xce\xec\x0b\x63\x19\xad\xb3\x5e\xe3\xa0\x02\
+\xc5\x84\xe8\xba\xaa\x20\x8e\xcd\xac\xe5\x6c\xfb\x33\x99\x77\x19\
+\xa3\xab\x88\x95\x9c\x26\x4c\x5d\x77\x31\x37\x52\x69\x39\x30\xb0\
+\xcb\x6c\x71\xf8\xdc\x5d\xaf\x7d\xed\x0f\x46\x37\x7e\x8c\x37\xef\
+\xdf\x15\x37\x76\x5b\x3d\x45\x5b\xa3\x43\x8a\x48\x81\x73\x18\xa2\
+\x1a\x2c\x86\xae\xae\x16\x41\x09\x58\xaf\xfc\x93\xd9\x81\x64\xc3\
+\x7f\x9e\x21\xbd\x32\x67\xd7\x8a\x2e\x84\x88\xcd\x13\x7f\x57\xa5\
+\xdb\xba\xec\x39\x2d\x51\xa4\x82\x80\xa9\x58\xeb\x2d\x0a\xb4\xb8\
+\x1a\x70\xa1\x12\xa3\x59\x64\xee\x39\x1e\xf8\xca\x99\xeb\xff\x68\
+\xfe\xc1\xaf\xef\x99\x7b\x61\x6a\x57\x40\xa3\x0e\x63\x6c\xfa\xac\
+\x7b\x53\x5a\x25\x49\xa7\x46\xe2\x6c\x22\xbd\x67\xd9\xea\x67\x32\
+\xef\x32\x69\xa2\x04\xec\x0c\x34\xd1\xd5\xae\xec\x44\x7c\x0a\x10\
+\x44\xc7\x17\xd9\xd2\x45\xab\xaf\x0e\x9f\xbc\x6e\xe3\x2b\xbf\x91\
+\x1e\xfc\x3c\x27\x1e\x75\x71\x7e\x06\x9a\xc4\xa8\x77\xf2\x45\x18\
+\x62\x43\x4f\xe3\x37\x27\x6e\xae\x7b\xbd\x83\xc9\x86\xff\x7c\xc3\
+\x8a\xcd\xb6\x69\xf5\xe9\xad\x7e\xa4\x0b\xe7\x55\xed\xfc\x7b\x92\
+\xe8\x2b\x81\xf4\x42\xf9\xa1\x7b\x65\x05\x83\xd1\x98\xf1\x29\x5e\
+\x79\x60\xf9\xeb\x7f\xf8\xe6\xf5\x1f\x9f\x3a\x76\xf0\xa7\xc3\xfa\
+\x81\x76\x83\x3a\xc6\x16\x29\x09\x7b\xa7\xb4\x2c\x56\x87\x6c\xb4\
+\x14\xb3\xbb\x4d\xba\xa1\xa2\x7d\xf9\x51\x73\x36\x91\x2b\xc9\x64\
+\x32\xef\xd6\x74\x07\x93\x3e\x27\x70\x32\xd5\x25\x0a\x75\x82\x22\
+\x20\xde\xea\x36\x68\xbd\x6f\x50\x5f\x14\x4f\x14\x6f\x3e\x77\xf4\
+\x86\xdf\x8e\x77\x7e\x9a\xc3\x0f\x53\xcf\xed\x15\x9d\x32\xea\x48\
+\x53\xd7\x38\xc1\x39\x70\x1e\x29\xb6\xfb\x09\x33\x3b\x92\x6c\xf8\
+\xcf\x37\xde\x56\xce\x6e\xeb\x29\x4e\x36\xf0\x9d\x81\x57\x3f\xd1\
+\xf2\x54\x08\xb8\xc2\x5c\x91\x04\x6f\x54\x49\x43\xbd\x4c\x7d\x58\
+\x6f\xfd\xf4\x9b\x97\x7f\xb8\x7d\xee\xae\x1f\x67\x79\x57\x3b\x62\
+\xa3\xf5\x0e\x73\x84\x81\xc7\xf9\xf1\x70\x14\x35\xed\xde\x3b\x33\
+\x3d\x3d\x35\x5e\x5b\xf5\xaa\xde\x62\x50\xed\xb2\xed\x31\x87\x05\
+\xcd\x5a\x61\x99\xcc\xbb\x89\x53\x2f\x88\x79\xc1\x0b\x4e\x0c\x89\
+\x2a\xa6\xae\x08\x45\xdd\xc4\xb6\x4d\x52\x0a\x0e\x36\x5a\x36\xac\
+\xf4\xfc\x58\x7b\x7c\xfe\x91\x6b\xe6\xbe\xfa\xbb\xdc\x7b\x05\x73\
+\xcf\x87\x66\x75\xe0\xa3\x9f\x9e\x69\x64\xa6\x61\x36\x32\x05\x41\
+\x0c\x54\x31\xcd\x89\xff\x3b\x77\x5c\xe5\x2e\x38\x2f\x99\x08\xda\
+\xbb\x3e\xc7\x47\xad\x6d\x30\x03\x3f\xd9\xd3\x07\x70\x9d\x96\x88\
+\x09\x63\x63\xd4\x39\x07\x52\xcd\xfa\x1b\xbc\x78\xf3\xe2\x27\xff\
+\xd9\xf0\xa1\x2b\x0e\x2c\x7d\xfb\x40\x5a\x92\x76\xdc\x2b\x80\xa6\
+\x4e\x03\x3c\x61\xa9\xf2\x14\xa2\xda\x6c\x10\x47\x95\xc7\x11\x9d\
+\xaa\x58\xd7\x90\xad\xff\x3c\x93\xc9\xbc\x5b\xf8\x28\x2e\xf9\x64\
+\x45\x2b\x45\x23\x45\xa4\xc0\x9c\x37\x24\xb6\x15\x14\x1e\xc3\x4c\
+\xb0\x82\x2e\x42\xbf\xac\xb9\xd4\x35\x33\x27\x0f\xce\xdf\xfc\xb1\
+\xf8\x8d\xdf\xe3\xf0\xdd\xb4\x73\x9e\xd8\x40\x57\x63\x73\xa2\xea\
+\xa1\x58\x8b\xe5\xac\x9c\x1d\x4a\x36\xfc\xe7\x19\xe6\x31\x37\x91\
+\xb2\xdf\xe6\xe1\x97\xc2\x23\x0e\x09\x4a\x68\xa1\x75\xb4\x8e\x56\
+\x50\x11\x85\x20\x4c\x3b\x7c\xbd\xc4\xdc\x73\x3c\x78\xc5\xa9\xab\
+\x3e\xbc\x6f\xee\xc9\xd9\x95\xc3\x53\xf5\xb8\x8f\x14\xf4\x1e\x1f\
+\xf0\x65\xf7\xbf\xc8\x77\xb4\xb3\xd1\xae\x12\xb8\xd7\x7c\x49\x98\
+\xc9\xbc\x9b\xf4\x02\x80\x92\xf0\x49\xbc\x21\xce\x70\xaa\xb2\x29\
+\x19\x24\x74\x95\x2d\x1b\x17\x1a\x29\x3b\xad\xdf\xe9\xd4\xec\x5f\
+\x7f\x73\x78\xf0\xfa\xc5\x6f\x7c\xd4\xee\xbb\x9a\xb9\x57\x67\x2d\
+\x7a\xa3\x89\xb4\x06\xe2\x70\x0e\x5f\x6d\xce\xf7\xcc\x4e\x23\x1b\
+\xfe\xf3\x8c\x34\x29\xc3\xa5\x5d\x0c\xff\xe6\xbd\xbe\x09\x12\x22\
+\xd4\xd2\x5b\xfd\xae\x46\x48\xc4\xb7\xf5\x5a\xd0\x65\x9a\xd7\x79\
+\xe5\x96\x33\xd7\xfd\xf6\xd1\x3b\x3f\x5f\x2d\xbd\x64\xab\x0b\x34\
+\x9b\x75\x3e\x1c\x88\xe1\x53\x2f\x2b\xba\x85\xc9\x77\x5c\x2c\xf4\
+\xf2\x64\x0a\x51\xf2\x89\x21\x93\x79\x57\x51\x30\xf5\x6a\x8e\xe4\
+\x2d\x39\x4b\xce\xe2\xd6\x84\x74\x74\xca\xd6\x89\x2e\xe3\xc6\xd3\
+\x94\x5a\x03\xb8\x8a\x99\xb4\xde\xbc\xf6\xe0\xe9\x7b\xbe\x34\xff\
+\x8d\x3f\xe5\xad\x27\x66\x47\xa7\xf7\xf9\x91\x4f\xa3\xda\x2c\x3a\
+\x67\x8e\xe1\x38\xf7\xef\x0e\x25\x1b\xfe\xf3\x6e\x1d\x88\xa0\x86\
+\xba\x5e\x6f\xb7\xb3\xfa\xa0\x7d\xe2\x7e\xb7\x33\x98\x5c\x04\x68\
+\xa0\x1d\x14\x0d\x8b\x2f\x70\xef\xe7\xe7\xaf\xff\x08\x2f\xdc\x74\
+\x49\x7b\x62\x6f\xe9\xa2\xa3\xa9\x88\x15\x78\x30\x4d\x1a\x5b\xab\
+\xa3\xb6\x5d\xd0\xbe\x0a\x51\xba\x4a\xdf\x21\x49\x88\xae\x8c\x52\
+\xaa\x04\x93\x80\x38\xc4\xf5\xde\xc2\x7c\x47\x98\xc9\xbc\xfb\x93\
+\x5e\x88\x85\x36\x85\x35\xc1\x22\x6c\x39\xe2\xa2\xf4\x42\xfd\xde\
+\xb4\xd4\xa6\xd2\x11\xc5\x8c\x94\x55\x23\x44\xc5\x55\x1c\x98\xd2\
+\xdd\x4b\x2f\xd8\x53\xd7\xac\x5c\xfe\xab\x3c\xf2\x15\x36\x5e\x2f\
+\x65\xbd\x92\xd8\x2a\xb5\x10\xa6\x73\xdf\xee\x50\xb2\xe1\x3f\xef\
+\x1e\x58\x17\x4d\xff\xb6\x80\xfa\xae\xfe\x37\x74\x56\x3f\x59\x45\
+\x3b\x60\xbd\x64\xd9\xb5\x67\x78\xf1\xfe\xd5\x6f\x7d\x66\xfe\x8e\
+\xcf\x55\x6f\x3c\x77\x49\x1a\x4f\x49\xac\xeb\xb6\x2d\x76\xc5\x62\
+\x6f\x2c\x66\x93\x78\x55\x3c\x5d\xf0\x90\xb6\xd2\xd7\x11\xd3\x2e\
+\x7f\xaf\xaf\xa4\x23\x2a\x92\xc4\x27\x71\x7d\x78\x7f\x8e\x07\xce\
+\x64\xde\x93\x09\x0f\x74\x97\x6b\xb2\x99\x80\x27\xa8\xa3\x75\x21\
+\x12\x8c\xe0\x8c\x42\x71\x8a\x28\xc4\xb1\x14\x85\x0c\xa6\xc7\xde\
+\x8d\x12\xde\x98\xa6\x3d\x10\x4f\xeb\x0b\x77\x2e\xde\xfc\x09\x6e\
+\xf8\x04\x47\x9f\xa6\x99\x9f\xa2\xf5\x31\x4f\xe2\x1d\x3f\xac\x32\
+\xe7\x0b\x01\x09\xe0\xcf\x2a\xeb\xe9\x10\x11\xdf\xa7\xf6\x0d\x60\
+\xb7\x4f\x21\x6d\xd0\x2e\xb2\x71\x92\x07\xae\x7c\xeb\xc6\x4f\x9c\
+\x79\xf0\x86\x3d\xeb\xa7\x77\x0d\x60\x44\x5c\xc5\xbb\x0a\x15\x01\
+\xa7\x09\x4d\x0e\x70\xf8\x80\xf7\x82\x05\x2c\x88\x39\xa7\x38\xeb\
+\x4a\x89\x44\x67\xc9\x99\x75\x25\xc7\x93\x4c\x22\x0c\x24\x9b\xff\
+\x4c\xe6\xdd\xc5\xfc\xb6\x45\x7a\x9b\xd5\x4f\xe2\x92\x38\x67\x2e\
+\x28\x45\xda\xda\x13\x8c\x9b\xd1\xb8\xde\x40\xd3\x54\x28\x0b\xef\
+\xea\x16\x6b\x41\xd8\xb7\x87\x99\x85\xd7\x4e\xdd\x7b\xf5\xf2\xd5\
+\x1f\xe3\xf1\x6f\x32\x3c\x5a\xb0\x58\xe8\x28\xf7\xf0\xce\x24\x1b\
+\xfe\xf3\x8d\x4e\x66\xdb\xba\x3f\xbb\xc2\x1d\x1e\x71\x69\xf2\x38\
+\x2b\x20\x8d\x19\x2d\x72\xf8\x99\xf1\x83\xb7\xcd\x7d\xed\xc3\x7b\
+\xdf\x7c\xf4\xa7\x07\xd1\x27\x69\x36\xa0\x20\x4c\x07\xd7\xb6\xd3\
+\xed\x70\xaa\x5d\x2f\xdb\x91\xef\x2e\x06\x1c\x88\xd7\xce\x75\xa0\
+\x1a\x34\x06\x8d\x21\x69\xdf\x2c\x06\x6b\xbc\x35\xae\xf3\x2c\x76\
+\x1a\x3e\x2e\x1b\xfe\x4c\xe6\xdd\x25\x3a\x54\x5c\xef\xe9\x93\x4d\
+\xab\x8f\x39\x0d\xd6\x14\xda\x14\x29\x6e\xf7\x04\x14\xb3\xde\x89\
+\xc9\xb0\xf6\xeb\xe3\xa2\x51\xe7\x18\x97\xd4\x05\x31\x52\x0d\xc2\
+\xa5\xba\xe6\x5f\xbc\x6f\xe9\x86\x4f\x73\xfb\x17\x99\x7b\x1e\x4e\
+\xe7\x1e\xde\x99\x64\xc3\x7f\xbe\xd1\x55\xb4\xed\x23\xee\x5c\x27\
+\xbc\xcf\x36\xfd\x3e\x54\xa9\x87\xbc\x75\xf8\xc8\x43\xf7\xdc\xf7\
+\x8d\xab\x0e\x34\x2b\xbb\xea\x35\xdf\x8e\x5d\x98\xb2\x6a\xb6\x0d\
+\xbb\x91\x81\x47\x45\x23\x29\x6e\x8b\xdc\x93\xa8\x5a\x37\xe6\x2d\
+\x3a\xa2\x6c\x16\x18\xd5\xad\x3f\x9d\xd1\x05\x19\xab\xa0\xe2\x0c\
+\x34\x0f\x9f\x4c\xe6\xdd\xc4\x84\xe4\x30\x71\x48\x00\xa7\xe2\x3a\
+\x97\x9b\x18\xbe\xf3\xc1\xa5\xc9\x24\x15\x4c\x18\x93\xca\x8a\x50\
+\xf5\xf3\xb7\x18\x38\x1d\xcc\x2c\x33\x88\xd3\xbb\xd3\xb8\xa5\xae\
+\x77\x85\x66\x7a\xee\xb5\x97\xef\xbe\xf6\xc8\x9d\x5f\xe7\xf8\xf3\
+\xb9\x87\x77\x26\x79\xe5\x7e\x9f\x89\x5d\x7d\x5b\xad\x89\x35\x4d\
+\xa4\x85\x48\x34\x6a\x68\x3a\xa3\x6c\x8a\x46\x92\xf6\xc5\x37\xba\
+\x70\x3a\xa9\x91\x0d\x6c\xc3\x90\x06\xb7\x0e\xeb\x86\x41\x60\x91\
+\x95\x87\xb9\xf3\xc3\xab\x9f\xfb\xfb\x3f\x79\xf7\x47\xff\x8f\xc3\
+\x27\x34\xa0\x01\xd5\xa8\x71\xa3\x90\x75\x6f\xab\x1a\xd7\xd5\xf7\
+\x02\x3f\xea\xd0\x80\x3a\x34\x99\x4b\x36\xe5\xb1\xce\xae\x3b\xfa\
+\xd7\x04\xb6\x5e\xdc\x25\xef\x9b\x76\x0d\xb2\xe4\x67\x26\xf3\xee\
+\x12\x34\x7a\x8b\x26\x51\x5d\x54\xa7\xa0\x5e\x09\x09\xdf\x45\xf4\
+\x3a\xb4\x40\x8b\x7e\x16\x9b\x30\xd5\xa2\x0d\xaa\x68\x40\x05\x1d\
+\xe9\xd4\xc6\xc6\x81\x38\x2e\x47\xab\x52\xa2\xd3\x68\xa8\x8b\x72\
+\xe5\xcf\x35\x2f\xfd\xc4\x03\x1f\xd3\xdf\xfc\xaf\x78\xe0\x2b\x1c\
+\x3f\x44\xbd\x0c\xac\xc1\x2a\x8c\xd1\x46\x97\x61\x1d\xea\x08\x63\
+\xd8\x80\x71\xb7\x56\xd9\x46\x57\xf4\xab\x9f\xfb\x5d\x76\x8f\x45\
+\x68\xa1\x4e\xb4\x91\x18\x89\xd0\x62\x1b\xa4\x55\xe2\x62\x7e\x82\
+\xe7\x26\xd9\xf0\xbf\xcf\xf8\xfe\xd4\xee\xf1\x1e\xef\xf0\xe0\xf0\
+\x50\x1a\x65\xb7\xa3\x37\x07\x0e\xe7\x7a\xbd\x9c\x90\x90\x88\x15\
+\xb1\x2d\x13\x33\xad\x88\x82\x45\xf6\x49\xac\xe2\x69\x0e\x3f\xb1\
+\x74\xc3\x15\x47\xee\xbf\xc3\x36\x56\x64\xef\x34\x53\xf9\xf9\x66\
+\x32\x99\xef\xc9\x0b\x37\x7e\xb6\x7e\xe8\x7a\xce\x3c\x4f\x3b\x37\
+\xab\x75\xe8\xae\xfd\xdc\x6c\xa2\xa8\x63\x54\x6b\x03\x88\xe2\x8c\
+\x44\x40\x36\xab\xf9\x6d\xe6\xf1\xba\x6d\x1f\x08\x38\xed\x6a\x7f\
+\x4b\x89\xab\xb6\xbd\x3e\x73\x6e\x91\x0d\xc3\xfb\x8c\x18\xe0\x4c\
+\x42\x94\x10\xbd\x4b\x0e\x73\x48\xf7\xf9\xcd\x7a\xf7\xe2\x4c\x48\
+\xa2\x51\x22\xa1\x41\x63\x52\x67\x45\xd1\x38\x6a\xc3\xc1\xae\xb0\
+\xcc\xfa\x4b\x3c\x7a\xd5\xda\xb5\x7f\x18\x1f\xbd\x71\xff\xfc\x1b\
+\x83\x76\x54\x6b\xda\x90\x2c\xa9\x9b\xc9\x64\xbe\x27\x07\x96\x9e\
+\x38\x79\xf7\x67\x16\xaf\xfd\x28\x2f\xde\x2d\xed\xe9\xe9\xb4\x41\
+\x6c\x8d\x10\xa9\x24\x54\x4e\xf0\xc4\x29\xa7\x02\x06\xcd\x76\x33\
+\xbf\x15\xdf\xd3\x0b\x8a\x4d\xbe\xe6\x12\x2e\x52\x24\xa9\xcc\x67\
+\xc3\x7f\x8e\x92\x0d\xff\x39\xc1\xa6\x17\x3f\x01\x44\xa4\xdd\x9e\
+\x22\x6f\x82\xa2\x90\x84\xd6\x4c\x93\xf8\x16\x5a\x30\x98\x12\xca\
+\x76\x8e\xd5\xd7\xb8\xff\x8a\x95\x5b\x3f\xdb\x3c\x79\xeb\x81\xd1\
+\xc9\xdd\xbb\x7c\x25\xcd\x70\x5c\xd7\x92\x7d\xf1\x99\x4c\xe6\x7b\
+\x72\x89\xac\xff\x94\x9c\xb4\x57\xee\x3a\xf1\xf5\x3f\xe4\x9e\xaf\
+\x50\x9f\x1e\x30\x92\xd8\x02\x4a\x50\x0a\x40\xd0\xae\xb0\xa7\x03\
+\xa3\x13\xed\xdc\x7e\xcb\xd7\x55\xff\x72\x93\xd0\x43\x05\x52\xe7\
+\xfd\xcf\xfd\x7b\xae\x92\x0d\xff\xfb\x8d\x28\x9b\x02\x7a\xfd\xf3\
+\xe8\xf2\xf5\x7a\xdf\xbe\x39\x14\x26\x77\xee\xb4\x36\x48\xbe\x20\
+\xa0\xca\x34\x1a\xe2\x1c\xaf\x3f\x52\x5f\xf7\xc9\x33\xb7\x7d\x75\
+\xea\xd4\xcb\x17\x0d\xc0\xc3\x70\x1d\xb5\x5d\x25\x7b\x42\x7e\xbe\
+\x99\x4c\xe6\x7b\x33\x06\xc7\x45\xac\x14\xc7\x9e\x3a\x7e\xd7\x95\
+\xdc\xf2\x79\x4e\xbd\x50\xea\x5a\x65\x51\xa0\x81\x11\xbe\xc1\x89\
+\x33\x6f\x31\x58\x4c\x04\xc5\x75\xbe\xc8\xb3\x6b\x73\x3b\xfa\x14\
+\xa3\x7e\xa5\xca\x19\x3f\xe7\x32\xd9\x30\xbc\xcf\x18\x0a\x71\xf3\
+\x52\x3f\x28\x62\x18\x2e\xe1\x92\x10\x41\x51\x47\x14\xc0\x0a\xb4\
+\xc2\x79\x20\xc0\xac\x5f\x65\xe3\x65\x9e\xbe\x61\x74\xeb\x17\xd6\
+\x1f\xfa\xe6\x9e\xa5\xe3\x25\x91\x99\x40\x90\xc6\x48\x5d\x04\x50\
+\x9d\xf7\xdc\x99\x4c\xe6\x7b\x33\x4b\x5c\x86\x21\x07\x76\xbb\x8b\
+\x56\xdf\x38\x7c\xd3\x67\x97\xae\xf9\x23\x5e\x79\x80\x66\xae\xb2\
+\x36\x40\x8d\x24\x1c\x14\x58\x4b\xbb\xb6\xf9\x7d\xbd\xe5\xb0\xb7\
+\x1d\xfd\x4d\x48\x9e\x36\xd0\x06\x62\x20\x4b\x7a\x9f\xa3\x64\xc3\
+\x7f\x2e\x3c\x02\x87\xea\x59\x2a\xfc\x93\xc9\xe4\x89\x9e\x24\x80\
+\x05\x70\x26\xce\x41\x91\x08\xcd\x1c\x67\x9e\xe7\xa1\xaf\x2f\xde\
+\xfc\xa9\xf1\x33\xb7\x5d\xd4\xcc\x55\x53\xde\x54\x56\xa2\xac\x94\
+\xbb\xda\x5d\x7b\x34\x78\xda\x3e\x18\x37\x93\xc9\x64\xbe\x2b\x2a\
+\xb8\x69\x08\x30\xac\x07\xed\xc6\x8f\x33\xef\x5f\x7f\xf0\xd4\x35\
+\x7f\xc8\x13\xdf\x64\xe9\xf5\x81\xc5\x29\xd0\xee\x0a\x52\x3a\x7f\
+\x7e\x9f\xf1\x23\xf4\x55\x3a\xfb\x93\x7d\x17\x86\xdc\xd5\xf6\x40\
+\xa1\xf1\xb4\x21\x3b\xfb\xcf\x55\xb2\xe1\x3f\x07\x1e\x81\xb9\xb7\
+\x3d\x88\x2e\x49\xb7\xcf\xd3\x35\xc1\x82\x41\x23\xd4\x42\x68\x86\
+\x92\x16\x58\x7c\xad\xbd\xf7\xda\x93\xb7\x5d\x11\x8e\x1e\xdc\x27\
+\x23\x0a\x23\x36\xe3\x22\xb4\x61\x30\x4e\xd2\x34\x38\x3f\xa0\xf4\
+\xb9\x6a\x6e\x26\x93\xf9\xf7\xd0\x26\x9f\x9c\xa3\x28\x08\x81\x40\
+\xe9\x74\xf7\xe8\xf8\xee\xf9\xe7\xde\xbc\xe1\xe3\x3c\x7d\x33\xeb\
+\x47\x06\xa9\x1e\x80\x42\x94\xc2\xca\x5d\x1e\x95\xbe\x44\x48\xc2\
+\x26\x42\x20\x5b\xa7\xfe\x80\xf8\xc9\xa5\xa5\x92\x4f\xfc\xe7\x2a\
+\xd9\xf0\xbf\xcf\x6c\xa9\x6e\x4d\x54\xf8\x10\xc5\x14\x55\x92\x92\
+\x02\x6d\xb0\x84\x0a\x9d\x56\x07\xe9\x2d\x9e\xbb\x63\xee\xab\x7f\
+\xba\xf0\xc0\x4d\x7b\x17\x8f\xed\xb6\x04\x50\xd1\x16\xa8\xa3\x12\
+\x9d\x35\xa6\x54\x2d\xa9\x99\xc7\xe5\xa8\xfe\x4c\x26\xf3\x3d\x29\
+\x2c\x79\x23\x26\xd3\xa4\xbd\x38\xa0\x32\x3d\x5e\xd8\xb7\xf8\xca\
+\x89\x6f\x7d\x76\xed\xda\x3f\xe6\xad\xc7\x7d\xbb\x5c\x1a\x63\x63\
+\x1d\xa7\x8a\x26\x45\x15\x35\x4c\xd1\x86\x6d\x25\x3a\x4d\x30\x82\
+\x51\x40\xe8\x22\xfe\x72\x0f\x9f\x9b\xe4\x07\xf3\x7e\xa3\x00\xc9\
+\xd1\x08\x8d\x60\x12\x71\x35\x52\x93\x9a\x2e\x67\x46\x1d\x08\xde\
+\xa8\xac\x9d\xd1\x0d\x1e\xb8\x2a\x3d\x7e\x43\xf5\xd6\xc1\x8b\x47\
+\x67\xa6\x5c\xdb\x4d\xb1\x24\x34\x1e\x27\xcd\x4c\x1c\xcd\xc4\xb5\
+\x41\x1c\x79\x4b\xad\x97\xf5\xa2\xc8\x1d\x9c\xc9\x64\xbe\x17\x93\
+\x92\x1c\x9a\xc4\xb5\xce\xf5\x3a\xdc\xc6\x2e\x37\xda\xbf\xfa\x5a\
+\xfd\xd4\x8d\x2b\x37\x7c\x8c\xa7\xbe\xc9\xf8\xc4\xac\x68\x6b\x98\
+\x0b\xe2\x2b\x5c\x85\x14\xb8\x80\x73\x90\x88\x4d\x77\x7a\xd1\xbe\
+\x3a\xa8\x4b\x14\x86\xcb\xf6\xe5\xdc\x7d\xee\xb9\x0b\xde\x67\x44\
+\x91\xad\xcb\xfd\x34\xf9\xa4\x62\x29\x50\x7b\x36\x14\x71\x90\x16\
+\x99\x3b\x34\x7c\xe8\xf2\xe1\x5d\x57\xaf\x1d\xba\x5b\xe6\x5f\x0e\
+\x69\x99\x10\xf1\x98\x10\x0d\xaf\x54\xa9\xdb\x90\x2b\x1a\x85\x46\
+\xe8\x6a\x77\x64\x32\x99\xcc\xbf\x0f\x31\xed\x0a\xfc\x46\x71\xb1\
+\x73\xd5\x27\x06\x34\x7b\x57\x8e\x8e\x0f\xdd\xb4\x78\xcf\x97\x78\
+\xea\x46\xd6\x0e\xef\xb7\x55\x55\x92\x11\x21\x3a\x49\xe2\xb4\x4b\
+\xf1\x0b\x82\x44\x26\x22\x3e\xfd\x7b\xe6\xb8\xfe\x73\x98\x6c\xf8\
+\xdf\x6f\xfc\x10\xa9\xdd\x56\xb9\xbb\x00\x01\x29\x53\x39\x18\x43\
+\x0d\x55\x09\xba\xcc\xfc\x8b\x3c\xf8\xb5\x53\xdf\xfc\xd3\xe9\xd3\
+\x47\x66\x87\x67\xa6\x48\xbd\x23\x4d\xb1\x44\x15\x19\x44\xb6\x0a\
+\xf5\x78\x10\x0a\x8b\x33\x31\x07\xd7\x64\x32\x99\xef\x49\xeb\x2a\
+\x25\x74\x3e\x45\x8f\x02\x4a\x19\x25\xa4\x04\x8e\x30\xcb\x07\x8a\
+\x21\x87\x1f\x3a\x73\xc7\x17\x78\xf8\xab\x2c\x1d\x2c\x8c\x90\x30\
+\xed\x33\xf5\x47\xe6\x12\x82\x28\x96\x20\x8a\xf5\xb6\xdf\x03\xd8\
+\xf6\x5b\x80\xcc\x39\x45\x36\xfc\xef\x3b\x0a\x51\x88\x9b\x77\x62\
+\x46\x11\x29\x12\xd2\xa4\x54\x51\x97\xba\xc0\xf1\xa7\xf5\xae\x2b\
+\x96\x1f\xba\xe6\xc0\x99\xe7\x71\x31\x94\x84\x29\xb4\xa4\xcb\xf7\
+\x73\x06\xa9\x2b\xe5\xe1\x10\xd4\x63\xbe\xbf\xab\x93\x94\xbb\x37\
+\x93\xc9\x7c\x4f\x1a\x17\xa2\x73\x80\x18\x4e\xf1\x28\xa2\xd1\x79\
+\x2d\xbd\xb5\xd0\x80\x67\x9f\x8e\x39\xf2\xc4\xca\x03\x5f\xe3\x96\
+\x4f\xb3\x7a\x84\xb8\x5c\x68\xf4\x46\x54\x9c\x07\x5f\xa0\x69\xe2\
+\xaf\xd4\xce\xf6\x4f\x2a\x7b\x65\xc3\x7f\x8e\x92\x0d\xff\xfb\x4c\
+\xa2\x30\x82\x27\x79\x5a\x3f\x11\xbd\x52\x90\x14\xf7\xf9\x51\xd5\
+\x9e\xe4\x85\x5b\x57\x6f\xfe\xcc\xe9\x47\x6f\x08\x0b\x47\x76\x05\
+\x70\x2d\x8e\xe4\x30\x40\xf0\x5b\x73\xcc\x41\x88\x52\x46\x09\x51\
+\x26\x61\xb6\x59\xb8\x2f\x93\xc9\xfc\x7b\x90\xb8\xfd\x42\xb0\xbb\
+\xf2\x07\x73\x45\xd9\x08\x29\x42\x42\x0a\x2e\x72\x56\x9c\x7c\x71\
+\xfc\xc8\x4d\xa3\x9b\x3f\xce\x1b\x0f\xd2\x9c\x08\x3a\x2a\x05\xe9\
+\xad\x3d\x93\x37\x71\x26\x93\x50\x7e\x11\xc8\xc1\xc5\xe7\x28\xd9\
+\xf0\xbf\xcf\x24\xa6\xa0\x02\xa0\x81\x76\xf3\x9a\xbf\x8a\x63\x56\
+\x4f\x70\xf0\xae\xe1\x1d\x5f\x1e\x3e\x75\xd3\xae\xb5\x93\xb3\x05\
+\xc0\xa8\x60\xe8\x89\x86\x26\x7c\x0a\x42\x40\x04\x11\x3c\xd1\x8b\
+\x8a\xc7\x0a\xac\xec\xb6\x05\x39\x9d\x2f\x93\xc9\xfc\x7b\x28\xad\
+\x0e\x16\xb7\xdf\xc6\x7b\x55\x6f\x51\xad\x91\xca\xe9\x00\x73\x00\
+\xbe\x64\x1a\x1d\x6c\xac\x2e\xdd\xf3\x45\xee\xf9\x32\xaf\x3e\xc4\
+\xe8\x54\x49\xdd\xd9\x0f\x71\x05\xe2\xba\x92\x22\x6d\x27\x40\x2e\
+\x40\x80\x1c\x5c\x7c\x8e\x92\x0d\xff\xfb\x8c\x31\xd1\xbe\xc0\x20\
+\x26\x62\xea\x9e\x8a\xd3\xf6\xe9\x87\x4f\xde\x7c\x55\xf3\xe2\x13\
+\x97\xb2\x3e\x3b\x05\xde\xc5\x50\xb4\x33\xc4\x0a\x05\x69\x03\x4d\
+\x81\x06\x24\x44\xd1\xd6\xa3\x02\xe6\x44\x83\xa8\xc7\x42\x27\xb4\
+\x91\xc9\x64\x32\xdf\x8b\x2e\xf8\x7e\x3b\x02\x1e\xd5\x94\xa2\x69\
+\x8b\x1f\x9b\x6f\x4c\x98\xc4\x0f\x5d\xe6\x17\x4e\x1f\xbc\xf3\xad\
+\x5b\xae\x8a\xaf\x3c\x8d\xd5\x1e\x4d\xb4\xfd\xd7\x26\xb9\xc9\x5d\
+\xcd\x11\x63\x5b\xe1\x9e\xcc\x39\x46\x7e\x30\x3f\x6a\x52\x2f\x63\
+\xd9\x40\xc3\x44\xc6\x2a\x4e\xca\x58\x1b\x0d\x8c\x61\x4c\xac\xa9\
+\x1b\x46\x95\xae\x8a\x8c\x92\xf8\x31\xb3\x43\x66\x82\x85\xe9\xd1\
+\x7c\x58\x7b\x8e\xeb\xff\x8d\xdd\xf6\x91\x8b\x5e\xbf\x73\xaf\x2d\
+\xe1\x89\x89\x15\xa7\x8b\x65\x98\x5d\x65\x76\x44\xa5\x38\x1f\x35\
+\x8c\xd4\x8d\x55\x5a\xe7\xf0\x16\x83\xd5\x81\x0d\x2f\x6b\x4e\x46\
+\x48\xec\xaf\x00\x32\x99\x4c\xe6\x7b\xa0\x86\x1a\x4a\x27\xc5\xd7\
+\x37\x8c\x02\x06\xc6\x40\x53\x65\x29\x60\xbd\x5c\x5f\x80\x46\x3f\
+\x60\x4b\xfb\x0f\x7f\x6b\xf5\xeb\xff\x9a\x6f\xfd\x8e\x5f\x7f\x69\
+\x2a\x36\xa3\xa6\x58\xa2\x5a\x23\x34\xa8\xa4\xd5\x69\x36\x2a\xda\
+\x36\x5a\x14\xb6\x14\x7e\x0c\x78\x9b\xde\x4f\xc4\xba\xda\x64\x9a\
+\xe8\x17\xc6\xcc\x7b\x43\x36\xfc\xef\x02\xd6\xf7\x6c\x27\x5e\xb5\
+\x19\xaf\xdf\x95\xaf\xec\x14\x7a\x1d\x16\xd0\x02\xc5\xf9\x68\x92\
+\x70\x09\xa4\x8d\x2e\xad\xd3\xce\x6f\xdc\x74\xf9\xfc\xb3\xf7\x0e\
+\x17\x8e\x4b\xe7\x2d\x33\x4c\x18\x38\x37\x9b\x2d\x79\x26\x93\x79\
+\x1f\x09\x10\xa8\x44\x58\x3a\x33\xff\xd4\x03\xf1\x9e\x1b\x59\x78\
+\x6d\xba\xd8\x08\x96\x00\xc1\x05\x3f\x15\x5b\x01\x29\x0b\x69\xdb\
+\xb7\x69\xfb\xf4\x49\xcb\xba\xb9\x46\x6e\xbb\x63\xc8\x59\xff\xef\
+\x25\xb9\xab\xdf\x2d\x36\x55\xac\x4d\xd8\x5e\x67\x4f\x50\x4f\x2a\
+\xfb\x02\x56\x6e\xcc\x20\xca\xa0\x85\x69\x98\x62\xcc\x89\x67\x47\
+\x37\x7e\x72\xfd\xe9\x9b\xec\xd8\xc1\x2a\xae\x17\x03\x70\xbe\x86\
+\x64\xf8\x56\x8b\x61\x4e\xcf\xcb\x64\x32\xef\x1b\x63\xc3\x12\x01\
+\xd9\x57\xaf\xf1\xc6\xa1\x93\x0f\x5c\x3d\x7c\xf4\x6a\xe6\x0e\xee\
+\x92\xc5\x8a\xb6\x73\x16\x84\x62\x1a\xf5\xa0\x53\x85\x26\xa1\x6b\
+\x9b\xf6\xde\x36\xc3\x91\xb7\x55\x24\x75\x68\x0e\x49\x7a\x2f\xc9\
+\x86\xff\x47\x8d\x6c\xf5\x6c\xd7\xb9\xca\xd6\xd0\x07\x1c\xa9\x8b\
+\xde\xc7\x02\x1a\xd6\x70\x09\xa6\x51\x89\x8b\x9c\x79\x7e\xfe\x9b\
+\x9f\x3e\x7a\xfb\x97\x2e\x19\xbd\x79\xa0\xd2\xa9\x12\xa0\x49\x29\
+\x99\xf3\xbe\xf0\x8a\x6f\x73\xff\x66\x32\x99\xf7\x0d\xf3\xbb\xda\
+\xe8\x69\x5b\x09\xed\xc5\x6e\x75\xf7\xfc\x73\x1b\x4f\xdd\x70\xfa\
+\xf6\x2f\x30\xff\x7c\xc9\x62\x49\xdb\xf9\xee\x71\xa2\x4d\x8d\x6d\
+\xe5\x13\xdb\x77\xe4\x18\x4d\x6c\x3f\x4c\x02\x0b\x7c\xf6\x68\xbe\
+\x57\x64\xc3\xff\xa3\x9e\x18\x82\x09\x9b\x75\xab\xfc\xd9\x2e\xac\
+\xbe\xc0\x6e\x2f\xb2\x53\x20\x45\x40\x06\x44\x89\x73\xbc\x7c\xff\
+\xd2\x37\xfe\x28\xbe\x74\xcf\x9f\x99\x1a\x49\xbd\x81\x07\x45\xc7\
+\xd0\x52\x39\x0b\x82\xb8\xe0\xaa\x9c\x1e\x93\xc9\x64\xde\x37\xa6\
+\xc2\xac\x93\x81\x76\x06\x3d\xb0\x87\x34\x7b\xe6\x45\x3d\x74\xf7\
+\xd2\x37\x2f\xe7\xe8\x21\xd1\x65\xb3\x71\xec\xc2\x9b\xa4\x40\xdd\
+\xe6\xa1\x5e\xce\x6e\x4c\x56\x45\xdb\x3a\x1f\x6d\x29\x97\x66\xde\
+\x6d\xb2\xe1\xff\x11\xa3\xdb\x87\xb6\x81\x21\x3a\xa9\xb6\x87\x0a\
+\x66\x60\xf8\x44\x88\x42\x14\xf6\x51\xfb\x38\xc7\x8b\xf7\x2c\xdf\
+\xf9\xb9\xf6\x85\xdb\x0f\xc4\x13\x65\xd1\xf6\xb2\x58\x8a\x83\x52\
+\xf0\x6a\x36\x6e\x47\x4d\x4c\xa1\xcc\x3d\x9c\xc9\x64\xde\x37\xea\
+\xe8\x05\xab\xa4\x0b\x5a\xc2\x31\xd5\xda\x07\x57\x4e\xd5\x4f\xdc\
+\x3d\x7f\xdb\xd5\xbc\xf1\xc4\x40\x56\x1c\xa3\xc6\x5a\x7c\x80\x42\
+\xac\x3f\x05\xf5\x35\xc8\x26\x2b\x61\x97\x84\xd4\x91\x55\xfd\xdf\
+\x7b\x72\x77\xff\xc8\x3b\x54\x41\xb7\xf4\x73\x36\x6f\xb4\x54\x31\
+\xc0\x2b\x45\xc2\x6d\x79\xbd\x56\xdf\xe0\xb9\xbb\x17\xef\xbc\xb2\
+\x7e\xe9\xbe\x4b\xdc\xa2\x4f\x31\xae\x2a\xa5\x6b\x2c\xe0\x07\x78\
+\xe9\xde\xc1\x94\x64\x34\x92\x15\x79\x32\x99\xcc\xfb\x86\xb5\x6b\
+\xe6\xa2\x15\x45\x5d\x4c\x0e\x39\x0a\xf5\xf8\x92\xf1\xd2\xf8\xd0\
+\x3d\x73\x77\x5f\xc5\x1b\x8f\x96\x2c\x0c\x6c\x9c\x8c\xe4\x80\x88\
+\x29\xa6\x58\x27\xe4\x17\xa1\x45\x53\x2f\xf1\x0b\x9c\xed\xf3\xcf\
+\xbc\x37\xe4\xee\xfe\x91\x53\xf7\xa7\xf5\x7e\xa2\x6c\xde\x6e\x39\
+\x70\x69\x22\xa8\x1f\x20\x58\x0c\xa9\xe5\xf9\x6f\x2d\xdf\xf4\x99\
+\xd1\x0b\x0f\x1e\xf0\x35\x0d\x24\xc2\x0c\x4a\x50\x73\x26\xa5\x59\
+\x61\x0a\x0e\x3f\x60\x30\xc5\xa0\xca\x86\x3f\x93\xc9\xbc\x7f\x4c\
+\x9b\x7a\x6d\x62\x8c\x2d\x6d\x02\x73\xdd\xfa\xe6\x64\xfc\x81\xb4\
+\xb8\xf1\xe4\xad\xc7\xaf\xff\x34\x2f\x3f\x12\x74\xa5\x74\x71\xb4\
+\x59\x73\xbc\x37\x34\x9b\x5e\xfd\x88\x45\xcc\x40\x75\xf2\x29\x3b\
+\xab\xc4\x4f\xe6\xdd\x25\x1b\xfe\x1f\x31\x93\x4a\x7b\x13\xac\xff\
+\x2c\x8e\xf1\x44\xea\x22\x8e\x36\x88\xab\x0c\x8f\xaf\x3c\x7a\xfd\
+\xc6\x97\x3e\x5c\x1d\x3b\x74\xc0\xd7\xda\x46\x03\xf3\x10\x91\xd4\
+\x94\x8e\xa4\x75\x12\x1f\x8b\xaa\x25\xb4\x9d\x32\xc6\x28\x67\xba\
+\x66\x32\x99\xf7\x8d\x0d\x5f\xb7\xae\x2d\x9c\x4e\x5b\x28\xad\x52\
+\xaa\x58\x56\x3a\x08\xf8\x58\xe8\xea\x8f\xd7\x73\xc5\x73\x0f\x2d\
+\x5e\xfb\x79\x9e\x7d\x80\x34\x37\xeb\x6b\xe8\xad\x79\x6b\x24\x01\
+\x09\x24\xb0\x6e\x59\xec\xee\xf5\x37\xbd\xa2\x2e\x9f\xfb\xdf\x33\
+\x72\x47\xff\xc8\xf1\xbd\x42\xb5\xb1\x79\x0d\x66\x9e\x91\x90\x02\
+\xb5\x21\x91\x41\x48\x6c\x1c\xe3\xbe\xaf\x9e\xba\xe5\x13\x33\xed\
+\xe2\x54\x5c\x29\xb4\xc5\x8a\x44\x69\x16\xe8\x0a\x66\x58\xe3\xad\
+\x35\x97\x92\x23\x3a\x67\xb8\x2e\x50\x20\x93\xc9\x64\xde\x2f\x6a\
+\x8f\x0a\x45\x42\x52\x94\x94\x10\xad\xbd\xdb\x28\x5d\x2d\x8a\xe2\
+\x3d\x97\xe8\x5a\xf9\xda\x93\xf3\xb7\x5c\x6e\x8f\xdf\x44\x7b\x04\
+\x55\x54\x93\x10\x1d\xc3\xc4\x48\x51\x5f\x61\x3e\x8b\xfa\xbd\xbf\
+\xe4\xde\xff\x11\x63\x14\x93\x58\xfe\xbe\x83\x93\xa3\x99\xc8\x58\
+\xba\x44\x41\x4d\x3d\xc7\xe3\xdf\x5c\x7e\xf0\xaa\x3d\x6f\x3e\xd8\
+\xfb\xb7\xcc\x39\xc3\xa9\x17\x73\xbd\x3a\xb6\x20\xa2\x9e\xc6\x53\
+\x7b\x6b\xba\xb8\x01\xcd\x86\x3f\x93\xc9\xbc\x7f\x78\x9d\x1c\x3f\
+\x0c\x88\x42\x0d\x49\x85\xd6\x89\x75\xc1\x4c\x85\xce\xb6\x8b\xcd\
+\xcb\x0f\xcf\xdf\xff\x35\x1e\xf8\x1a\x0c\xa1\xb5\xa8\x02\xce\x63\
+\x8e\xda\x20\x54\x9d\xb6\x7f\x36\x40\xef\x17\xb9\xdf\x7f\xc4\x28\
+\x01\x9c\x4c\x3c\xfc\x69\xd3\xe4\x43\x09\xbb\xa4\x66\x74\x8a\xfb\
+\xae\x5d\xbc\xeb\xea\xe9\x33\x2f\x5c\x3a\x88\x63\x3f\xd5\xba\xca\
+\x04\xa7\xc9\x59\x2b\xa6\xe0\x4c\x9c\x75\x69\x7f\x46\xa1\x94\x4a\
+\x30\xcc\xca\xc8\x54\xee\xe1\x4c\x26\xf3\x7e\x31\x68\x43\xd8\x0a\
+\x53\x42\x84\x82\xa6\x4c\x5a\x10\xa4\x72\xbd\x58\xe9\xb4\x5e\x5a\
+\x8d\x06\x47\x9f\xac\x6f\xbf\x62\xf8\xcc\x3d\xb4\xf3\x41\x86\xae\
+\xb5\x4e\xc0\x37\x5a\x97\xb4\xe7\xb1\xad\x1b\x7d\x21\xdf\xf0\xbf\
+\xa7\x64\xc3\xff\x23\x66\x4b\x20\x5f\xb6\x34\x2b\x3c\xf8\x76\x7d\
+\x90\x96\xd9\x38\xc2\xfd\x5f\x3b\x76\xcf\xd7\x38\xfd\x62\x29\x91\
+\x9a\xda\x97\x8d\x0b\xa0\x48\xaf\x5c\x6d\x42\x92\x90\xc4\x6d\x4f\
+\x0d\x70\x8a\x98\x18\x39\x9d\x2f\x93\xc9\xbc\x6f\x0c\xa2\x0b\x3a\
+\x11\x20\x0f\x98\x23\x28\x55\xd2\xd0\x2a\xc5\x14\x95\x6f\x15\x22\
+\x4e\x9a\x5d\xcd\x72\x75\xe6\xd5\x17\xbf\xf9\x29\x0e\xde\x4a\x7b\
+\xb2\x64\x35\xb4\xe6\x21\xf8\x89\xe7\xf2\xed\x76\x5e\x73\x71\x91\
+\xf7\x8c\x6c\xf8\xdf\x1d\x64\xfb\x87\x5a\x31\x1a\xb8\x0d\x56\x5e\
+\xe3\x9e\xaf\x9c\xba\xf7\xab\x33\x8b\xaf\xed\x0f\x2d\x06\x8e\x60\
+\x8d\xa7\x55\xa7\x36\x91\xba\x30\x51\x24\xc2\xf6\x0d\x31\x80\xb7\
+\x54\x58\x0e\xee\xcb\x64\x32\xef\x1f\x16\x31\x54\x88\x8e\x28\x24\
+\xe9\x02\x92\xd4\xa9\xd1\xc4\xa4\x24\x4f\x03\x93\x10\x67\xbb\xe8\
+\xcc\xe3\x6f\xdc\xf4\xa7\x3c\x70\x0d\xe9\x4c\xe9\x36\x42\xd4\x12\
+\x0a\x01\x74\xb3\xa6\x49\xb7\xce\xe5\xe3\xfe\x7b\x49\x36\xfc\x3f\
+\x62\xf4\x6d\x7f\x43\x81\xa2\x23\x86\x67\x78\xf0\x9b\x73\x0f\x5e\
+\xb7\x7b\xe1\xa5\x7d\xc5\x3a\x2e\xa9\x27\xce\x86\x99\x38\xaa\xb4\
+\x31\xd1\xda\x85\x71\xe1\x1a\x0f\xa2\xc1\x34\xa8\x8a\xba\x48\xd9\
+\xca\x54\x94\xca\x70\xce\x62\x48\x59\xab\x3f\x93\xc9\xbc\x7f\x88\
+\x76\x26\xda\xac\x6f\x49\x50\xc1\x9c\x35\xe3\x5a\x1b\x2d\x0a\xef\
+\x02\xc9\xa3\x05\x09\x7e\xaa\x5a\x72\x47\x9f\x79\xe3\xde\xab\x38\
+\x74\x37\xed\x52\x70\x23\x9f\x9a\x49\x2e\x5f\xae\x1f\xfa\xbe\x91\
+\x0d\xff\x8f\x1c\xdd\xd6\xa0\x73\xf9\x5b\xbb\xfc\xe8\xbd\xaf\x3d\
+\x7a\xa7\x5f\x38\x32\x5d\x36\x8c\x13\x91\x34\x35\x7d\xa6\xf1\x24\
+\x44\x01\x6a\xef\xc7\xbe\x68\xbc\xd3\x49\x2d\x4b\x31\xa7\x4c\xd5\
+\xb2\xab\x65\xc6\x08\x79\x9a\x64\x32\x99\xf7\x17\x73\xa8\xeb\x56\
+\x27\x44\x9d\xe1\x54\x48\x0e\xf5\x12\x82\x14\x55\xe5\x09\xa9\xa1\
+\x35\x52\x45\x3d\x80\x79\x7e\xf2\x00\xb2\xf4\xd6\x53\xb7\x5e\x3f\
+\x7c\xe1\x49\xb4\x9e\x14\xeb\xc9\x6b\xd9\xfb\x49\x36\xfc\xdf\x17\
+\x35\xe8\x2b\x4f\x58\xe7\xe9\xaa\xb1\x98\xa0\xde\xfa\x64\x8b\xd5\
+\xa0\x11\x4a\x5d\xb2\x54\xaf\x10\x4e\xe1\x16\x20\xa4\x11\x67\x9e\
+\xe2\xa6\xdf\x1e\x5c\xf3\xcb\x7f\xf6\xcc\xc3\xfb\xfd\xba\x5a\x6a\
+\xa6\x69\x0b\xc2\x70\x78\x99\xd6\x1a\x50\x87\x57\x76\xb5\xf5\xee\
+\xa6\x9e\x6e\xd5\x29\x2a\xa8\x43\x5d\x0c\xac\x4c\xdb\x99\x8a\x45\
+\xa4\x51\x8f\x16\xf9\x71\x64\x32\x99\xf7\x0d\x63\x52\x52\xd7\xf0\
+\xa6\x41\x35\x28\x5e\x71\xa6\x38\xd3\x34\x56\xad\x8b\x82\x52\xf0\
+\x35\x83\x08\xd3\xb0\xc6\x4f\x35\x4b\xff\xf1\x91\xdb\xd2\x57\xff\
+\x27\xee\xfd\x24\xf1\x44\x12\xbf\x28\xd5\x8a\x14\x2d\x41\x62\xf4\
+\x71\xc3\xc7\x8d\x71\xaa\x87\x04\x54\x49\x4a\x54\x52\x84\xda\x18\
+\x19\x1b\x30\x82\x16\xc3\xa0\x81\xba\xfb\x11\xb4\xa5\x1d\xe5\x27\
+\xf2\xce\xc8\x86\xff\x3f\x84\x5e\x81\xdf\xf5\x99\xfa\xdd\xde\x75\
+\x53\x99\x1f\xf5\xd0\xd4\x82\x9f\x0a\x10\x12\x17\xa3\x8c\x4e\xf3\
+\xc4\x3d\x4b\x0f\xdd\xe5\x2d\xf6\x2f\x92\xef\x28\x53\x95\xc9\x64\
+\x32\x17\x2a\x01\x0a\xca\x82\x7a\xf5\xd4\xc9\x47\xef\xb0\x27\xee\
+\xf6\x71\x61\x1f\x54\xdd\xc1\xdf\x05\xa4\xc0\x97\x03\x1f\x5c\xb3\
+\x81\x38\x9c\xc3\x75\xc9\x7e\x5e\x09\x4a\x09\x01\x93\xce\xcd\xb0\
+\x29\xfe\x87\x08\x2e\xdb\xaf\x77\x48\xee\xb8\xef\x87\xb9\xcd\xb2\
+\x3b\xd6\xb9\xa7\xa4\x2f\x1b\x3d\x11\x9a\x56\xd0\xee\xcb\x82\xea\
+\xd4\xfe\x04\x85\xa6\x8b\x65\x9d\xe1\xeb\xf6\xc8\x35\xc7\x1e\xbe\
+\x51\x97\xde\x0c\xd6\x97\xd4\xb5\x6e\xdf\x60\xce\x72\x34\x4b\x26\
+\x93\xb9\xa0\xb1\x2e\xbb\xa9\x01\x61\x7f\xa8\xed\xe8\xa1\xd3\xf7\
+\x7e\x8d\x87\xbe\x21\xe3\xe3\x03\x6d\x5b\x63\xcd\x31\xf6\xa5\x4a\
+\x60\xdc\x0c\x70\x51\x26\x47\x29\x71\x89\x90\x28\x8c\xc2\x28\xb0\
+\xd0\x5d\x11\x74\x5f\x4c\x60\xe2\x70\x3e\xf7\xf0\x3b\x23\x1b\xfe\
+\x1f\xb4\x9b\xba\x20\xd6\x6e\x44\x9a\x6c\x7e\x12\xd0\xfe\x43\x01\
+\x73\x35\xc4\x44\x69\x6b\xd4\x47\x79\xfc\xda\x13\x77\x5f\x11\x4e\
+\x1e\xba\x68\x26\x0a\x11\x50\xe9\xad\x7e\xee\xd2\x4c\x26\x73\xc1\
+\xd3\xa8\xa8\x73\x75\x42\x23\x2e\xb4\x97\xf9\xd5\xa9\xa3\x8f\x9f\
+\xbe\xf9\x73\x3c\x79\x0b\xc3\x63\x33\xd2\x36\x30\x82\x06\x49\x11\
+\x70\x09\x12\x24\x21\x09\x67\x85\xff\x4d\x54\x83\xfc\xe4\xd0\xdf\
+\xe2\x92\xe4\x32\xe5\xef\x90\x6c\x81\xbe\x0f\x51\x3a\xed\xdd\xee\
+\x6f\x6c\x32\x34\xe9\xb5\x79\xa3\xc7\xe8\xeb\xee\x06\x13\xea\x9a\
+\x19\xdf\xd2\xcc\xf3\xd0\x0d\x8b\x77\x7d\x65\x66\xee\xb9\x4b\x64\
+\xcc\xea\x7a\xaf\xe0\x6b\x4e\x0c\x67\x08\x60\x68\xee\xfe\x4c\x26\
+\x73\xe1\x92\x14\x73\xbe\x9c\x41\x04\x56\xa1\xd5\x3d\x69\x65\xd7\
+\x99\x17\x96\xee\xbe\x92\x57\x1f\x21\xcd\xef\x46\x01\x05\x3f\x3d\
+\x83\x15\xb2\x25\x74\x0e\x5b\x5e\xd5\xb7\x25\x48\x43\xa7\x05\x94\
+\xfb\xf7\x9d\x92\x2d\xcf\xf7\xa1\x99\x98\x79\x4c\x31\x51\x5c\xa7\
+\xc4\x67\xa8\xd0\x62\x09\x13\x08\x8a\x6b\xa1\x81\x4b\xca\x11\xcd\
+\x69\x0e\xde\x79\xe2\x9e\x6b\xdd\xa9\x97\xf7\x96\xea\x04\x62\x17\
+\xdc\xef\x84\x2e\x22\x26\x7a\xed\x87\x7b\x26\x93\xc9\x5c\xa8\x58\
+\xd0\x26\x45\x91\x42\x4a\xe9\x4a\xf2\xe2\x98\x76\xeb\xf1\xad\x83\
+\xf3\x77\x7f\x95\x97\x1f\xa9\xd2\xdc\x3e\x94\x44\xe3\x68\xbc\x2b\
+\xc1\xa3\x62\x2a\xa8\xdf\xb6\x03\x60\x2b\x94\x8a\xac\xf4\xfb\xc3\
+\x93\x3b\xf0\xfb\x90\x36\x0b\x48\x69\xaf\xa2\x6f\xfd\x56\xa0\x33\
+\xf4\xa0\xee\x2c\x03\x3e\x3e\xc2\xc1\x5b\x4f\xdc\xff\x0d\x37\x7f\
+\x64\xaf\x6b\xfb\x5d\xc3\xae\x2e\x36\xc5\x89\x21\xaa\x98\x8a\x65\
+\xc1\x8a\x4c\x26\x73\x81\xe3\x03\x29\x59\x5b\x2b\x36\xc5\x54\x41\
+\x90\xce\x7d\xbf\x47\x86\x1b\x2f\x3e\xb4\x78\xfb\x15\xbc\xf4\x10\
+\xe3\x53\x53\xb1\x1d\x25\x36\xc2\x24\x0f\xda\x14\x4b\x42\x1b\x68\
+\x3d\xd1\xa1\x88\xe2\x14\xd1\x2e\x3c\x5a\xc0\x67\xcd\x9f\x1f\x82\
+\x6c\xf8\xff\x43\xd8\x8a\xc6\x8f\xda\x5f\xed\x17\x5d\x99\x29\x6f\
+\x94\xb4\x15\xab\xbc\x7a\xf7\xe9\xfb\xbe\x56\x1f\x39\x74\xa0\x32\
+\x4c\x19\x83\x07\x73\x51\x82\xf6\x7a\x55\xba\xa5\xe5\x9b\xc9\x64\
+\x32\x17\x2e\x66\x0c\x0a\xe7\x11\x1d\x47\x62\x81\x9b\x42\x82\x7a\
+\x3c\xed\x87\x8a\x51\xfb\xc2\x7d\xe3\x9b\xbf\xcc\xc9\x17\xc4\x56\
+\x8b\xfe\x20\xc5\x24\x04\x4a\xbb\x34\x6a\xa1\x15\xda\xfe\x08\xd6\
+\x69\x9e\x18\x9e\xbe\x65\xde\x19\xd9\xf0\x7f\x1f\x8a\xae\x8f\xba\
+\x13\xba\x53\x87\x3a\x34\xf4\x99\xfd\x53\x8d\xb8\xda\x11\x05\xb4\
+\xa5\x9e\xe3\xd8\xb3\x0b\x57\xff\x61\x39\xff\xe2\xa5\x45\x63\xe3\
+\x35\x4b\x50\x90\x44\x5a\x29\x92\x38\x93\x49\x0c\x20\x74\x6f\x99\
+\xc9\x64\x32\x17\x30\x62\x98\xaa\xa0\x2e\xa0\x5e\x5a\xf1\x63\x3f\
+\x15\x7d\xe5\xc5\x85\x38\xfe\x40\x5c\x8c\xaf\x3e\xd8\xde\xf8\x59\
+\x8e\x3f\x3d\x2d\xab\x65\x67\xd6\x0d\x24\x20\xde\x62\xe7\x4a\x55\
+\x52\x0b\x8a\xd8\x96\xc1\x32\xc4\xb2\xe1\x7f\xe7\x64\xc3\xff\x7d\
+\xa8\x20\x74\xae\x7c\x17\x91\x24\xa4\x02\x2d\x70\x25\x53\x63\x18\
+\x41\x0d\xa9\x8d\xa4\x45\x4e\x3c\x73\xe2\x86\x4f\xef\x1e\x9f\xda\
+\x5d\x2f\x56\x69\xdd\x5b\x34\x41\x9d\x53\x09\x36\x49\xf6\x37\x01\
+\x71\xdd\x7d\x95\x49\xee\xfd\x4c\x26\x73\x21\xe3\xb4\x14\x0d\x82\
+\x42\x83\x1b\x99\x8b\x49\x9c\x52\xa6\xd6\xa1\x20\xcc\xd6\x0b\xf5\
+\x1b\x8f\xc4\x87\xaf\xe3\xd8\xd3\xfb\xf4\x64\x12\x5a\x47\x23\x44\
+\x82\x86\x29\xcc\x43\xc0\x15\x00\x26\x08\x5b\x36\x4b\x34\x87\xf7\
+\xbd\xf3\xe7\x92\xbb\xe0\xdf\x8f\xc4\xee\x92\x5f\x0d\x4d\xbd\xeb\
+\xc9\xc4\x5c\x27\xc3\x53\x43\x0b\x55\x39\xe6\xf4\x0b\xcd\x1d\x5f\
+\x89\x07\x6f\x2f\xea\x0d\xdf\x0e\x5d\x6a\x11\x44\x50\x41\x0c\xb1\
+\xe4\xcc\x80\xfe\xdc\x2f\xc1\xc4\x65\x6f\x7f\x26\x93\xb9\xb0\x11\
+\xad\x5c\xe7\xba\x77\x38\xd4\x31\x2a\xac\xf1\x8a\x6c\x86\x46\x09\
+\x71\xf1\xad\x93\x4f\xdd\x6c\x8f\x5c\xc3\xc2\x21\x27\x38\x47\x84\
+\x06\x22\x2e\x49\x49\xf2\x98\xef\x43\xfd\x6c\xbb\xd5\x4f\xd0\xe6\
+\x1e\x7e\x67\x64\xc3\xff\xfd\xd0\xfe\x3e\x3e\xf5\x7f\x4f\x6e\xe8\
+\x5b\x0a\x28\x8d\xfd\xd4\xac\xbd\x31\x7a\xe8\x86\xa5\xa7\x6f\xff\
+\x09\x96\xad\xb1\xbe\x02\x05\x20\x38\xd4\x69\x2b\xda\x3a\x22\xa8\
+\x89\x26\x71\xd1\x61\xb8\x6c\xfb\x33\x99\xcc\x85\x8d\x68\x21\xdd\
+\x49\x5d\x40\xf0\x10\xac\x0e\x16\x9d\x2f\x31\x8f\x42\xc1\x9e\x01\
+\x83\xb5\x37\x57\x0f\xdd\xc2\xad\x5f\x94\xd1\x42\xb0\x51\x09\xad\
+\xd1\xe5\x4f\xa9\x05\xda\xfe\x6a\xff\x6c\xd4\x72\x5e\xd4\x3b\x25\
+\x1b\xfe\xef\x3f\x72\x81\x3e\x69\x9f\x4e\xac\x57\x00\xef\x91\x51\
+\xb3\x97\x75\x19\x1f\x59\xba\xed\xcb\xa7\x1e\xfb\xd6\x7e\x5d\x41\
+\xea\x64\x13\x1d\x5f\x10\xe9\x63\x03\xbc\xe1\x4c\x85\x28\xa8\x49\
+\xb4\xae\xac\x05\x4e\xc9\x02\x14\x99\x4c\xe6\x82\xc5\x75\x79\x4d\
+\x13\x9b\x2d\xfd\x4a\x98\xf0\x4a\x19\xba\xa2\xbc\x32\x60\x7f\x81\
+\x9f\x7b\xbd\x7e\xf2\x96\xd5\xc7\xae\x63\xe1\xe5\x60\x0b\x33\xd2\
+\x67\x53\x89\x03\x71\x98\x3b\x3b\x88\xdf\x59\x36\x5e\x3f\xd4\x73\
+\xc9\x7c\xdf\x1e\x12\xb0\xe0\x29\x3c\x95\x51\x98\x04\x73\x20\xb1\
+\x2a\xd6\xd9\x38\xc2\xbd\x57\x6f\x3c\x7e\xd3\xec\xca\x91\x82\x86\
+\x84\x89\x74\x56\xdf\xa4\x1f\xed\x62\xdb\xcc\x3f\x2a\xa2\xd2\x9f\
+\xfe\x5d\x0e\x4f\xc9\x64\x32\x17\x30\x22\xe3\x2e\x5c\xcf\xac\x77\
+\x95\x9a\x60\xd2\x40\x4d\x21\x94\x3e\x29\x3a\xc2\xc3\x8c\xa3\x18\
+\xaf\x9d\xbe\xfb\x8b\x3c\x7b\x33\xf5\xc9\xc0\xaa\x87\x36\x91\x04\
+\x8a\x80\x9b\x28\xa3\x77\x18\x20\xe4\x83\xd3\x3b\x25\x1b\xfe\xef\
+\x87\xd7\x2e\x61\x4f\xd4\x89\x39\xc5\x35\xd0\xa2\xd8\x1a\x69\x81\
+\x87\x6f\x5c\xb8\xeb\xab\x97\xae\x1c\x39\x10\x52\xac\x2d\x16\x38\
+\x09\x22\xde\x5c\x1f\xbe\x47\x77\xfa\x77\x93\xb4\x80\x89\xe4\xa4\
+\xa0\x06\x59\x72\x32\x93\xc9\x5c\xc8\xb8\x1a\x69\x8c\x90\x28\x23\
+\x65\x94\x10\x1d\xc9\x13\x5d\x42\x6b\x7c\x70\xae\x68\x5b\x52\x8b\
+\x04\x71\x81\xdd\xc7\x1f\x5b\x7f\xe2\x9b\x3c\x7d\x27\xc3\x33\x03\
+\x5a\xd7\x07\x44\x6b\x7f\x7e\x9a\x38\x53\x01\x08\x39\xa1\xef\x9d\
+\x3f\x96\xdc\x05\xff\x7e\x62\x37\xd4\x3a\xd5\x9e\x04\x90\x20\xa2\
+\xb8\xd8\x3c\xff\xd8\xc9\xc7\xef\xaa\xe6\x8e\x86\x66\x0c\x84\x8a\
+\x3a\x14\xce\x05\x91\xad\xb1\xd9\x59\xfd\xc9\x16\x00\x26\x89\x81\
+\xc0\x44\x9b\x32\x93\xc9\x64\x2e\x50\x04\x73\xa8\x78\xb3\xca\x6c\
+\x2a\x51\x25\x71\x2a\xe0\x18\xb7\x46\x6a\xa5\x9a\x2a\xcb\x81\xe1\
+\x34\x5a\xdb\xf2\x81\xa9\xb4\xfe\xfa\xb3\xc7\x9e\xba\x9f\x53\x47\
+\xa1\x09\x1e\xfa\xb8\x2a\xdd\xba\xd4\xef\x16\x52\xc8\xeb\xe7\x3b\
+\x66\xe7\x75\x5c\xbb\x41\x8c\x4c\x22\x47\x40\xb1\x1a\x1b\x41\x6b\
+\xfd\xc0\x6a\xb1\x1a\xab\x21\x1a\x34\x46\x22\x8e\xe3\xc6\xc8\xa5\
+\x3a\x30\x56\x06\xe3\xf1\xf4\xf8\x04\x2f\xdc\x1a\x6f\xfd\x93\xc1\
+\x9b\x0f\x0c\xa6\xc6\xad\x27\x01\xc6\xf4\xb0\xb5\x34\x22\x45\x49\
+\x9b\x12\x54\x98\xa2\x98\x0a\x2a\x93\xcf\x19\xce\x08\x56\x97\xb6\
+\x96\x87\x60\x26\x93\xb9\x50\x31\x03\xc3\x51\x7b\x59\x0b\xac\x94\
+\xb6\x51\x26\x0d\x09\x17\x29\x1d\xaa\xaa\xf5\xaa\x31\x76\x5e\x01\
+\xef\x20\x85\x4b\x7d\xbd\xef\xe9\xeb\xd3\xd7\x7e\x95\xd7\x6e\x29\
+\xdb\x85\xb1\xb2\x86\xaf\xa9\xb0\x56\x74\x59\xd2\x7a\x7f\x72\x4a\
+\x48\x93\xd3\xf9\xde\x21\x3b\x70\xc7\xd4\x55\x7a\x3e\x1b\x71\x86\
+\x4f\xb8\x84\x33\x3c\xd2\xbd\xc6\x01\xa5\xd6\x1e\x0b\xe5\x8c\xf3\
+\xbe\x4d\xcc\x08\xce\x8f\x79\xf3\x85\xf5\xfb\xbe\xb5\x72\xfc\x8d\
+\x60\xa9\x7b\x2f\x2f\x50\x20\x53\x79\x44\x65\x32\x99\xcc\x3b\xa5\
+\x8d\xb4\x69\xba\x94\x8d\x33\x6f\x0e\x1f\xbc\x8d\xb9\xc3\xbb\xa4\
+\xf5\x7d\xb4\x54\x01\x15\xae\xe8\x8b\x9c\x08\x7d\x7e\x7f\xe6\x3f\
+\x9c\x9d\x67\xf8\x25\xf4\x5a\x7c\x5b\xe5\x1f\x1c\x14\x2d\x2e\xd2\
+\x55\x91\x70\x46\xd1\x85\xe2\x29\x04\xad\xc1\x3a\x37\xbf\x53\x48\
+\xeb\x2c\xbc\x3c\x7c\xf8\xba\x85\xe7\xef\x2d\x47\x73\xb3\x5e\x9d\
+\x59\x9f\xf2\xb7\x59\xb6\x2f\x93\xc9\x64\x32\xff\xe1\x28\x82\x22\
+\x62\x2c\x9f\x38\xf5\xd4\xed\xc3\x47\x6f\x64\xed\xc8\x2c\xad\x83\
+\x48\x85\x9b\xea\xef\xf5\xbb\xad\x80\xcf\x6a\xfd\xef\x90\x1d\x68\
+\xf8\xfd\xe6\xed\x90\x00\xa6\x20\x09\xa7\xf4\x7a\xd0\xd6\x7b\xe8\
+\x37\x95\x22\x10\xa4\x4e\x44\x63\x3a\x44\x56\x8e\xf0\xf0\xb5\xab\
+\x07\x6f\xb9\x34\xcd\x5f\x54\x22\x02\x89\xe0\xa0\xdb\x1d\x64\xcf\
+\x53\x26\x93\xc9\xbc\x53\x9c\x2f\xf0\x42\xc3\x6e\xe1\x40\x7b\x66\
+\xfe\xf1\x1b\x87\xf7\x5e\x45\x73\xba\xb0\xa8\x30\x36\x37\x4e\xde\
+\x14\x33\x55\x21\x65\xbb\xff\x8e\xfb\x79\xe7\xfd\xc6\x7d\x3e\xa8\
+\x18\x6f\xab\x8b\xbb\xbd\x2f\x04\xed\x5d\x02\xae\x82\xc2\xc1\x6e\
+\xa0\x5d\xe0\xe9\x5b\x4e\x3d\x72\xfd\xcc\xf2\xf1\x4a\x13\x02\x2d\
+\x18\xe2\x01\xc4\x77\x2f\xcc\x64\x32\x99\xcc\x3b\x21\x8a\xe0\x3d\
+\x40\x60\x57\xd9\x0c\x4e\xbf\xb0\xf0\xc4\x8d\x1c\xbc\x83\x7a\xa9\
+\x34\x44\x88\x26\xe6\x9c\xf8\xbc\xd2\xfe\x50\xec\xb8\xee\xdb\xcc\
+\x25\x85\xee\xb8\x6f\x5d\x35\x28\x37\xd1\xe8\x09\xe0\xfb\x1a\x7a\
+\x51\x50\x73\x33\x31\x31\xeb\xa0\x5d\xe4\xe0\x1d\x67\x1e\xfd\xa6\
+\x3b\xfd\xda\xae\xaa\x97\x94\xa4\x2b\x1b\x61\x58\x44\xcd\x45\xa9\
+\xf2\x90\xca\x64\x32\x99\x77\x46\x8c\xd1\xf0\x14\xd0\xc2\x48\x2f\
+\x09\xba\x67\xf9\xf0\x1b\xdf\xfa\x02\x47\x9f\xa2\x5d\x2b\x21\x04\
+\x54\x30\x10\x92\xcf\xca\x7d\xef\x94\x1d\x67\xf8\x53\x77\x96\xef\
+\xe9\xfc\xfa\x08\xb1\x80\x02\x4a\xf0\x44\x6c\xa2\xcf\x6b\xd4\x5d\
+\x1f\xc5\x65\x5e\xbc\x7f\xe1\xe1\x6b\x39\xfe\xec\x3e\x99\x6c\x13\
+\x26\x3a\x94\x44\x62\x22\x49\x18\xb5\x79\x20\x66\x32\x99\xcc\x3b\
+\xc4\x2c\x25\x24\xf9\xa9\xda\xa0\x01\xcf\xee\xb8\xea\x8f\x1d\x1c\
+\xde\xff\x35\x8e\x3c\x26\xed\x46\x25\x68\x7f\x27\x9b\xb5\xfa\xdf\
+\x39\x3b\xd4\x61\x22\x6c\x6a\xf1\x76\xe7\xfe\x24\xb4\xbe\x2b\xfc\
+\xbc\xa9\xb3\x8f\x03\x67\x09\x67\x2d\xa7\xbf\xbd\xfe\xd8\x75\xcd\
+\x2b\x0f\x5c\xac\x2b\x45\x80\x06\xca\xc2\xc2\x54\xab\x42\x8b\x29\
+\x45\x41\x31\x18\xe4\xf1\x94\xc9\x64\x32\xef\x18\xef\xbd\x84\x10\
+\x09\x5a\x0c\xa8\x3c\x35\x8c\xd3\x4f\xec\xd2\x13\x0f\xdf\xc0\xab\
+\x0f\xb0\x7e\x44\xea\x55\x97\x50\xa3\x35\x72\x1e\xff\x3b\x66\xc7\
+\x75\x9c\x3f\xeb\x77\x96\xbe\x48\xae\x01\x11\x53\x34\x81\x20\x7e\
+\x33\xf8\x7f\xca\x22\x8b\xaf\x8d\x1f\xbc\x7e\xe9\xd0\x1d\x7b\xeb\
+\x05\x07\x28\xea\x43\xab\x21\x26\xf5\xde\xe3\x91\x80\x89\x8b\xa3\
+\xe1\xc0\xe7\xaa\x3b\x99\x4c\x26\xf3\x0e\x11\xb1\xd4\x34\xaa\x11\
+\xe7\x5b\x42\x5f\x20\x65\x38\xfc\x31\xbf\x72\xec\xf6\xcb\x79\xf0\
+\x5a\xda\xf9\x40\xed\x05\x71\xe5\x7a\x93\xd7\xdb\x77\xc8\x8e\x33\
+\xfc\xb2\x3d\xac\x4f\xe8\x4f\xf6\x02\xe6\x30\x70\xa5\x49\x88\xb8\
+\xc6\x48\x9d\xe6\xee\xf0\x75\x7b\xfa\x5b\xcb\xcf\xdf\xb3\x3f\x2e\
+\x4c\x05\x50\xcc\x81\x2f\x04\x0d\x96\x9c\x29\x60\xe2\x80\x60\xb1\
+\xd0\x26\x0f\xa9\x4c\x26\x93\x79\xc7\x08\x31\x58\xeb\x2d\x9a\x10\
+\xa5\xec\x0e\x66\x03\x97\xf6\x8d\x4e\xac\x1c\xbc\x95\x83\xb7\xd1\
+\xce\x7b\x8b\x4d\x42\xca\x32\x77\xd7\x3b\x63\xe7\xb9\x4a\x4c\xfb\
+\xc3\x3d\x4c\x4a\x3c\x79\xf0\x88\x8b\x2a\x11\xd7\x40\x03\x18\xde\
+\x10\x55\x9e\xbd\x61\xe1\xb1\xeb\xd3\x5b\xcf\xce\xb8\x16\xc1\x14\
+\x73\x01\x2c\x68\x2b\x1a\x31\x9d\x14\x9e\x9a\x94\xeb\xcd\x64\x32\
+\x99\xcc\x3b\x42\x50\x8f\x16\x1a\x0b\xab\x9d\x25\x43\xa2\xeb\x6d\
+\xff\x4c\xac\xeb\xd7\x9f\x58\x7e\xe4\x06\x0e\x3f\x41\x5c\xef\x2e\
+\xfb\x33\xef\x8c\x1d\x78\x47\xb2\x35\x5a\x0c\xa7\xbd\x5a\x9f\x4b\
+\x09\xf3\x65\xaf\xe3\xab\x94\x02\x69\x9d\x13\x2f\xe9\x5d\x5f\xf6\
+\x27\x9f\xb9\xb8\x6a\xf1\x42\xa4\x31\xf0\x41\xd2\xe6\xd6\x61\x73\
+\xbc\xf6\xef\x98\xc9\x64\x32\x99\x77\x8c\xeb\xbc\xb1\x46\xb0\x88\
+\x98\x8a\x57\x09\x44\xf0\x5c\x5c\xc4\xe6\x8d\xa7\x56\x1e\xb8\x8e\
+\x53\x2f\x17\xda\xda\x38\xf7\xd6\x3b\xed\xe4\x1d\xf7\x1b\x4f\x42\
+\xf1\x27\x42\x3d\x93\x4f\xfb\x60\x82\x42\x54\xa6\x1c\xc4\x65\x4e\
+\x3e\x7b\xea\xe1\xaf\x8f\x5f\x7f\x7e\xaf\x6e\x54\xa5\xa0\xd6\x82\
+\x14\x85\x99\x89\xe9\xf6\xe2\xd0\xb2\x79\x71\x90\x05\x25\x32\x99\
+\x4c\xe6\x9d\xd2\x8b\xaa\x4e\xe8\x2a\x98\x27\xe7\x92\x07\x8f\x1b\
+\x30\x5b\xcf\xaf\xbc\x70\x7f\x7a\xf2\x56\x56\xdf\xda\xed\xb2\x62\
+\xda\x0f\xd1\xcf\x3b\x0a\x23\x74\x6d\x9b\x70\xaf\x4a\x1f\xe6\x07\
+\x30\x10\x24\x8d\x18\x1d\xe7\xe9\x9b\x96\x1e\xb9\x6a\xba\x40\x1c\
+\x69\x6c\xa3\x1a\x5f\x55\x21\x04\x52\xc4\xbb\xde\xcc\xbb\xb3\x8d\
+\x7d\x36\xfc\x99\x4c\x26\xf3\x4e\x71\x86\x81\x3a\xd4\x61\x82\x43\
+\x1d\x2d\xa8\x2b\x2a\x80\x31\xd3\x8e\x7d\xa3\x53\xa7\x1e\xbb\x89\
+\x47\x6f\xa0\x3e\x96\x7b\xec\x1d\xf6\xf3\x4e\xfb\x85\x37\xcb\xe6\
+\x6d\x7a\xea\xbb\xbc\x50\x21\x0a\x04\xa3\x04\xea\x05\x9e\xbe\x7d\
+\xe9\xa9\x9b\x2e\x5e\x7a\x89\x12\x8c\x46\x51\x04\x9c\xb3\x28\x28\
+\xb8\x56\xaa\xd6\x55\x4a\x80\xde\x6f\x10\x1d\x63\x9f\x83\x4d\x32\
+\x99\x4c\xe6\x9d\x62\x98\xd0\x48\x59\x4b\x15\xc5\x89\x11\x4c\xbd\
+\xc5\x88\x26\xbc\x45\x30\x76\x49\xed\x4f\xbd\xb8\xf0\xf4\x1d\xbc\
+\x70\x6f\xee\xb0\x77\xc6\x8e\x33\xfc\x13\xf1\x87\xde\xc9\xef\x26\
+\x1b\x00\x53\xb5\x64\x02\x68\xcb\xc2\xf1\x93\xcf\x3d\xba\xfe\xd6\
+\x73\x07\x66\x61\x0c\x50\x4e\x55\xa1\xaa\x9a\x66\xac\x6d\xeb\x1c\
+\xd1\x88\x52\x36\x6e\x10\x9d\xdf\x36\x62\x5d\x94\x5c\x2d\x2a\x93\
+\xc9\x64\xde\x29\x86\x42\x94\x22\xca\x20\x49\x10\xc0\x10\xa8\xc7\
+\xad\x12\xa4\xa4\x2b\x9c\xbe\xd7\x8d\x75\xfe\xc8\xdc\xdd\xdf\xc8\
+\x1d\xf6\xce\xd8\x89\x02\x08\x32\x5c\x0b\x71\x23\xc4\xda\x27\xc4\
+\x1c\xad\xa1\x2a\x2e\xac\xb7\xb1\x90\x11\xf3\x0f\xa7\xeb\x7e\x65\
+\xff\xf3\xd7\xfe\xf8\x74\x39\x1e\x95\x1a\x50\x43\xda\xba\x48\xe3\
+\xd2\x19\xae\x4b\xe8\x6b\x2a\x5b\x9b\xd2\x95\x60\xb5\x0a\xea\x50\
+\xc1\x9b\x4e\xa7\x8d\x3c\xa4\x32\x99\x4c\xe6\x9d\xa1\x0e\x67\x4c\
+\xa7\x8d\x99\xb4\x52\x6a\xa3\xf4\x02\xbd\xd3\x05\x5e\x6b\x35\xb4\
+\x40\x4b\xca\x90\x2e\x1a\xbe\x78\xd1\x91\x1b\xd6\x3f\xfb\x0f\x59\
+\x7c\x82\x76\x61\xad\x4d\x4b\xb0\x04\x35\x6d\x4a\x6b\x58\x4b\x57\
+\x35\x2d\x42\x8c\x68\x04\xcd\x11\x01\x9b\xec\x38\xc3\x5f\x40\x31\
+\xb5\x0b\x57\xe1\xbc\x25\x35\x25\xb9\x80\xab\xc6\xe3\x66\x6f\xa5\
+\xac\x1d\x6b\x9f\xbc\x6f\xee\xc4\xd1\xd6\x20\xb6\xa5\xe5\xbc\xfc\
+\x4c\x26\x93\x39\x47\x59\x7b\xeb\xdb\x3c\x71\x2f\x71\x6d\x57\xa1\
+\x80\x87\x04\x22\xbe\xbf\xce\xed\x23\xb1\x02\x12\xe8\x8a\xb0\x64\
+\x80\x9d\x28\xe0\x93\xd4\x0c\x73\x21\x99\x17\xaf\xe2\x89\x5e\xc6\
+\xe0\xc5\xd1\x9c\xe6\x85\x3b\x4f\x3e\xfa\xad\x66\xf1\x0c\xae\xd0\
+\xd6\x5c\x56\x84\xcc\x64\x32\x99\x73\x15\x3b\xf5\xed\xd3\x8f\xdf\
+\xcc\x1b\x4f\x11\x97\xa7\xfb\x78\xeb\x42\x5c\xe8\x84\xd8\x11\xcc\
+\x11\x1d\x51\x30\x9c\x90\x72\x8f\x75\xec\x3c\xcb\x16\x63\x54\x46\
+\x89\x24\x82\xa7\xab\x04\x51\x43\x11\x12\xaf\x3d\xa1\x0f\x5f\x3b\
+\x7d\xea\xf9\x7d\x21\x79\x57\xa8\x80\xcf\x23\x24\x93\xc9\x64\xce\
+\x51\xf6\xa7\x39\x3f\xf7\xd2\xf2\x7d\xd7\x31\xf7\x6a\xa5\x1b\xd6\
+\x76\x87\xfa\x12\x71\x10\xe9\xc2\xb6\xd9\x34\xf8\xd9\xd9\xdf\xb3\
+\xf3\x0c\x7f\x70\x85\x27\x38\xbc\xc3\x70\x0d\x18\x4c\x01\x6b\x27\
+\xe2\x63\x37\x8d\x5e\x7a\xf0\x62\x86\xbb\x5c\xe3\x4d\x43\x99\x37\
+\x88\x99\x4c\x26\x73\xee\x32\xf0\xec\x8d\xf3\x2b\x2f\x3e\x90\x1e\
+\xbf\x8d\xd1\x99\xdd\x41\x5d\x57\xb3\x4f\x0a\x9c\x43\xb6\x2c\xbd\
+\xa0\x59\x60\x6d\x93\x1d\xe8\xcb\x76\x98\x96\xa2\x0e\xad\x71\x11\
+\x06\x50\xc6\xd5\xf6\xf1\x6f\xad\x7c\xfb\xf1\x72\x54\xe3\x60\x54\
+\xfb\x38\x24\x54\x1b\x79\x83\x98\xc9\x64\x32\xe7\x2c\x4a\xa8\xe3\
+\xbe\x76\xe1\xcc\x13\xb7\xf0\xdc\x03\xb4\xab\x21\x92\xa0\xc1\x21\
+\x05\x62\x81\x58\xd0\x65\x5d\x6b\xae\xe6\xb7\xc9\xce\x4b\xe7\x33\
+\x43\xc7\xa4\xa1\xa0\xd1\xf0\x50\xa6\x0d\x5e\xb9\xff\xcc\xa3\xd7\
+\xfb\xf5\x93\x45\x49\x37\x6a\xbc\x9a\xaa\x1f\x85\x99\x3c\x44\x32\
+\x99\x4c\xe6\x1c\xc5\x00\x76\xbb\x5a\x4e\xbd\xbc\xfc\xe8\x4d\x1c\
+\x7b\x3e\x58\xdb\x1d\xfa\x9b\xde\xba\xd5\x9e\x0d\x4f\x0d\x96\xef\
+\x6e\x37\xd9\x79\xca\x7d\xc1\x23\x86\xc5\x4e\xa9\x7f\x60\x30\xff\
+\xda\xe8\xc1\xab\x39\xfa\xe4\x2e\x57\x53\x54\x24\x28\xc0\x91\x92\
+\xb9\xc1\xfe\x3c\x44\x32\x99\x4c\xe6\xdc\x24\x96\x81\x02\x46\xe9\
+\x22\xd9\x18\xbd\xfc\x48\xfb\xd8\xb7\x68\xe7\x2b\x05\x68\x21\xe1\
+\xc1\xb0\x1a\x6b\x81\x2e\xb6\x3f\xc3\x8e\x94\xec\xd5\x56\x15\x3f\
+\xd5\x36\x3a\x2d\x50\x2f\xac\xdf\xfd\xb5\xd5\x67\xef\xfa\xa0\x5f\
+\x77\xed\xb0\x35\xb3\xe0\x70\x5d\x32\x88\x91\x72\xfa\x47\x26\x93\
+\xc9\x9c\xa3\xd4\x51\xa2\x39\x53\x8a\x98\x0e\xd8\xca\xc2\xd3\x77\
+\x8c\x6f\xbb\x92\x76\xd1\xb7\x00\xb1\x2b\xbe\x6a\x42\x8a\x24\xcb\
+\x21\x5b\x9b\xec\xbc\x74\x3e\x92\x14\x33\xa3\x54\x86\x50\xd2\xae\
+\xf3\xcc\x9d\xf5\xb7\xef\xdf\x1f\x57\x5c\x9f\xf3\x19\x93\xeb\x15\
+\xf8\xbd\xe9\x74\x5a\xcf\x43\x24\x93\xc9\x64\xce\x4d\x82\x77\x3e\
+\x04\x09\xe0\x08\x71\x7d\x76\xed\x0d\x39\xf2\x08\x2f\x3e\x30\x60\
+\x5d\x12\x2d\x44\xa6\x92\x95\xb8\x01\x3e\xc4\x7c\x8e\x9b\xb0\xe3\
+\x0c\xbf\x23\x46\xdc\x50\x45\x80\xe5\xc3\xe3\x47\xaf\xd3\xb7\x0e\
+\x15\xa9\xee\x54\x7c\x83\xaa\x57\x8d\x12\xa2\x2b\x9d\xb5\x83\xb4\
+\x92\x87\x48\x26\x93\xc9\x9c\x9b\x94\xda\x08\x82\x0f\x38\xc0\xa6\
+\x87\x8b\x7a\xf4\x89\xe1\x23\xd7\x30\x3e\x36\x9d\x86\x18\x23\x48\
+\x7e\x26\xb9\x41\xc2\xf9\x5c\x44\x6d\xc2\x0e\x3c\xf1\xd3\x2a\xbb\
+\x4a\x68\x17\x78\xf4\x86\xf1\x2b\x0f\xed\x67\x9d\x94\xfa\xe2\x7c\
+\x8a\x80\x8a\x8f\x9d\xf6\x53\xde\x21\x66\x32\x99\xcc\xb9\x8a\x44\
+\x23\x35\x29\x19\x2a\x38\x9c\xa3\x5a\x7d\xab\x3d\xfc\x08\x4f\xde\
+\x44\x7b\x7a\x16\x8d\xb1\x3b\xf7\x33\x1c\xb7\xd9\xf0\x6f\xb2\x03\
+\xef\xf8\x8b\x81\xc5\x32\x6e\xf0\xd2\xbd\x73\x8f\xdd\x38\xb5\x71\
+\xdc\x57\x62\x04\xa5\xea\x4b\xf7\x18\x82\x21\x13\xb9\xc7\x4c\x26\
+\x93\xc9\x9c\x9b\x08\x24\x8b\x46\xc4\x23\x8e\x02\x07\x53\x6b\x6f\
+\xad\x3c\x70\x3d\x47\x9f\xa2\x5d\xda\x1b\x10\x48\xe0\x9c\x93\x7c\
+\x92\x9b\xb0\xe3\x0c\x7f\x6b\xa1\xa0\x66\xee\x99\xd1\xa3\x5f\x97\
+\x53\xcf\x55\x1e\xa2\x89\xeb\x2e\xf6\x4b\x00\xa3\xd0\xa6\xd4\xda\
+\xa4\x4f\xff\xcc\x64\x32\x99\xcc\xb9\x48\xc0\x9c\x88\x88\x39\x81\
+\x5e\xb3\xb7\xb4\x66\xf8\xe6\x33\xf6\xc4\xad\x2c\xbe\x26\x71\x23\
+\x18\x0e\x06\xa5\x27\xe5\xda\x2b\x3d\x3b\xce\xf0\x27\x81\xe1\x22\
+\x8f\x5c\xd3\x7c\xfb\x8e\x8b\x7d\x83\x80\x02\xe2\x4c\x8d\x0a\x99\
+\xea\x4a\xf5\x3a\x23\x39\x36\x42\x16\x7c\xc8\x64\x32\x99\x73\x14\
+\x75\x53\xc9\xbc\x73\x78\x2f\x88\xeb\xb5\xf9\x8c\xbd\x8c\x4f\x3f\
+\x7b\x3f\x07\xef\xa2\x5e\x28\xb5\xf5\x8a\x07\x2c\x9f\xf8\x7b\x76\
+\x9e\x80\x0f\x70\xfa\xcd\x53\x4f\xdf\x53\xae\x2c\x52\x81\x41\xe9\
+\xb0\x84\x61\xf8\x28\x15\x84\xce\xe1\xaf\xc2\xc8\x4f\xe5\x21\x92\
+\xc9\x64\x32\xe7\x26\x75\x94\x56\x01\xba\x82\x6a\x7d\xfe\xb5\x30\
+\x35\x53\xd4\xf3\xc7\x4f\xbe\xf0\x14\x73\x6f\x62\x4d\xe1\x48\xa9\
+\xc5\x67\x01\x9f\x9e\xf3\xde\xf0\xd7\xd0\xf4\x35\x18\x22\xb4\x58\
+\x84\xbe\x10\xf3\xb0\xc5\xc0\xcc\x62\x8c\x0d\x2c\x2b\x4b\x30\x73\
+\xf8\xe3\x7c\xe3\x57\x65\x79\x4e\x77\x5f\x52\x37\x03\xc4\xa1\x8a\
+\x8b\xb8\x91\xf3\xcb\xde\x2d\x6b\x68\x2c\x80\x50\xb6\x5c\x3c\xda\
+\xc8\x43\x24\x73\x4e\x4f\xe0\xe8\x5c\xaa\x48\x7b\x54\xf7\x4a\x9a\
+\x71\xb1\x74\x11\x97\x70\x1a\xc4\x82\x53\x9c\xe2\x52\xf7\x19\xc4\
+\x10\x0b\xef\x6a\x73\x2d\x2e\xe2\x52\xe8\x7c\xaf\x4e\x70\xe0\x0c\
+\x67\xdd\x0f\x4b\x13\x48\x01\x71\x38\xc5\xb5\xf9\x01\x66\x7e\x28\
+\xbc\x1f\x56\x3e\x06\x8b\x34\x8d\x26\xdf\xfa\x3d\x63\xb7\xc7\xcc\
+\xb1\x3e\xfe\xc9\xe9\x61\xf9\xe2\x75\xdc\xfb\x47\x2c\x1f\xa2\x1d\
+\xd5\xbe\x38\x23\xd5\xc4\x46\xe8\xa4\xc5\x49\xdb\xfc\x67\x0b\xad\
+\x11\x23\xd4\x17\xf0\xba\x71\xde\x3f\x78\xf0\xfd\xaf\xe1\x40\xba\
+\xe0\xfc\x6e\xad\xa9\x0a\xa2\x81\x88\x0f\x21\x18\xbb\x1c\xbb\x81\
+\x27\x1f\x5f\x9e\x3f\x29\x29\x3a\x4d\x0e\x43\x04\xeb\x6a\x38\x83\
+\x61\xdd\x9f\x9d\x10\x64\x8e\xec\xcb\x9c\xfb\x88\x22\x2d\x6e\x8c\
+\x1b\xe1\x6a\x5c\x83\x03\x47\xf4\xda\x3a\xd7\x7a\xa7\x1e\x3c\xe6\
+\x69\x03\xe3\x50\x0a\xf1\x5d\x6d\x16\x50\x1f\x9a\xe0\xc7\xbe\x18\
+\x7b\x37\xf6\x44\x87\x3a\x94\xa0\x14\x58\x89\x6d\xae\xba\x0e\x2b\
+\xf3\x03\xcc\xfc\x30\x74\xdb\xd9\x2e\x10\x5b\xc5\x90\x88\x44\xeb\
+\x96\x6e\x65\xb6\xf2\x27\x5f\x7a\x9e\x17\x0f\xa2\xeb\x41\x29\xc0\
+\x28\xfa\x04\x2e\xd3\x89\xe7\xbf\x33\x17\x67\x4d\x2a\x70\x17\x76\
+\x71\xd6\xf3\xde\xf0\x07\xd4\xa3\x82\x82\x33\xba\x30\x0e\x15\x8b\
+\x12\xc7\x1e\x0c\xda\xae\x38\x83\x36\x3e\x2e\x72\xf4\xc9\xb5\x83\
+\x8f\x8e\x96\x17\x0a\xa2\xd3\xe8\xcd\x10\xdb\xec\x06\x13\x14\x54\
+\x9c\x8a\x33\x71\xd6\xad\xa0\x99\xcc\x39\x3e\x83\x45\x91\x1a\xa9\
+\xcd\x45\x73\x98\x27\x7a\xa2\xa3\x75\x34\xde\xd5\xce\x8d\x3d\xe3\
+\x40\xed\x5d\xe3\x31\xf7\xee\xb6\xd6\xbb\x3a\xb8\xc6\x85\xc6\x87\
+\xda\x57\xad\x84\x56\x5c\x22\xa8\x78\x2c\x88\x79\x67\x01\x73\x66\
+\x01\x2a\xa8\xf2\x03\xcc\xfc\x30\x78\x03\xb0\x6e\x1b\xd9\x6d\x82\
+\xa5\xd5\x89\xe1\xaf\x4c\xea\x13\x6f\x9c\x79\xfc\x4e\xe6\x5f\x29\
+\xad\x1e\x40\xd3\xcb\xf9\x29\x16\x27\xee\x61\x97\xce\x5a\xea\x7d\
+\xb7\xf2\x3b\xd4\x5f\xb8\x59\x00\xe7\xbf\x61\xb3\x16\x4b\xdd\xb3\
+\x4f\xdd\x15\x3e\x0a\xad\x74\x0e\x1c\x41\x61\x3c\x6c\xb0\x75\x56\
+\x0e\x1f\xbb\xfb\xf2\x76\x6d\x6e\x5a\x9a\x81\x44\xaf\xb5\xb3\x88\
+\x2a\x40\xe1\xe8\x53\xf9\x3a\xaf\xa4\xd3\x6e\x1b\x98\x0f\xfd\x99\
+\x73\x7c\xf8\x83\x0a\xba\x39\x50\x05\xc0\x19\xde\xb4\x30\x2d\x14\
+\x6f\x78\x23\x28\xa5\x6a\xa5\xcd\x24\x65\xf5\xdd\x6a\x85\x6a\xa1\
+\x4d\xa9\x31\xa8\x06\x55\x67\x78\x43\x50\xaf\x16\xac\xf5\xd6\x3a\
+\x8b\x88\xaa\x53\xeb\x26\x59\x26\xf3\x43\x20\x8a\x18\x06\x49\x30\
+\x89\x8e\xc6\x11\x01\xed\x92\xb1\x9b\x78\x69\xa5\xc3\xd7\x9f\x1c\
+\x3e\xf4\x4d\xda\xd3\x83\xf1\x6a\xcd\xa4\xd6\xba\x45\x2c\x99\x49\
+\xda\x32\x1c\xdd\xd4\xe9\xee\xc7\x3a\x27\xc2\x05\x2b\xf2\x7b\xfe\
+\xcf\xbc\x14\x51\xc5\x7a\xf7\xe1\x64\xff\x97\xf0\x68\x4a\x06\xc9\
+\x98\xa9\x3c\xed\x2a\x07\xef\x18\x3f\x7b\xdb\x8c\x6b\xa7\x7d\x1b\
+\xd2\x28\x10\xf1\x93\x67\x2e\x98\xa0\x72\x96\xb1\xb7\x0b\xa3\x7f\
+\x32\x17\x34\x89\x29\xa5\xc2\x4a\x67\x9d\xdb\x0a\x51\x9c\x52\x24\
+\xca\x14\xcb\x18\xcb\xa8\x45\xa4\x88\x94\x91\x41\xcb\xbb\x7d\xe4\
+\x97\x44\x68\x29\x63\x3d\xd3\xb6\xd3\x6d\x9a\x8a\xb1\x50\x0d\x49\
+\x45\x1b\xb4\x71\x16\x3d\x20\x98\xd3\x18\xea\x18\x2e\xe0\x5b\xd4\
+\xcc\x7b\x84\xe1\x54\x1c\xe6\x7a\x97\xaf\xa9\x81\xf9\xa2\xb3\x03\
+\x83\x22\xee\x1a\x9d\x9e\x7f\xe6\x6e\x5e\xbc\x4f\x64\xb1\xbf\xc6\
+\x35\x43\x40\xbc\x89\xdb\xdc\xb3\x6e\x5f\xed\x1d\xdb\xef\x02\x2e\
+\x40\x2e\x80\x13\xbf\x61\x74\x97\x34\x5b\xf7\x34\x02\x22\xe2\x82\
+\x82\x57\xd0\x0d\x8e\xbf\xb8\xf4\xe8\xad\x97\xd6\x27\x7c\x3b\xa4\
+\x19\xd2\x34\x88\xb1\xa9\xe4\xd4\x6a\xff\xf8\xb7\x1d\xf1\x05\xc8\
+\x82\x0f\x99\x73\x7d\xfc\x87\x6e\xc9\xeb\xff\x25\x93\x31\x6c\xdb\
+\x02\x98\xb6\x1d\xc9\x9d\xea\xbb\xda\xfa\xff\x4e\x41\xd5\x99\x3a\
+\x43\xce\xfe\x01\xba\x93\x58\xff\x43\x4a\xce\xab\xce\xfc\x50\xa8\
+\x23\x39\x0c\x27\xa8\x37\x9c\x76\x1e\x26\x54\x5c\xab\x50\xc2\xc8\
+\xf6\x87\x58\xae\x1c\x99\xbb\xff\x1b\x0c\xdf\xf4\x9b\xf7\xf9\x12\
+\x70\x41\xb7\x45\x72\xf5\xf3\xe3\xac\xc9\x75\xc1\xf6\xdb\xf9\x6f\
+\xf8\xa5\x0f\xe8\x83\x4d\xa9\x3d\x05\x8f\x94\x49\x3c\x91\x01\x2d\
+\x1b\x27\xe2\x13\xb7\x8d\xdf\x7c\x7e\x8f\xac\x49\x4c\x21\x99\xef\
+\x5e\x16\x53\x57\xa3\x59\xd3\x56\x57\x88\x21\xa8\x43\xc5\x34\x2b\
+\x3d\x65\xce\x71\x3c\xb5\xa7\x16\x69\x10\x55\x21\x49\x1f\x4c\xd7\
+\x4f\x06\xe7\x70\xce\x9c\x53\x8f\x7a\xcc\x4f\x3e\xff\xee\xb5\xa2\
+\x0b\xb8\x75\x38\x67\x84\x28\x41\x25\x20\x6e\x4b\x07\xd3\x7a\xb7\
+\x84\xd8\xdb\x43\xaa\x32\x99\xff\x50\x92\x74\x83\x48\x7d\x17\xe5\
+\xd7\x6f\x34\x9d\xaa\x4a\xe1\x71\x58\x42\x3c\xb3\x71\x2d\xbe\x7e\
+\x88\x07\x6e\x98\x69\x57\x8b\xb4\x61\x66\x26\x83\x48\xe8\x5c\xfa\
+\x7e\x5b\x24\xf7\xa4\x46\xdb\xe6\xbf\x2e\x4c\x2e\x80\x5f\x2c\x6c\
+\x46\x5f\x7a\xf0\x44\xc0\x28\x6a\x8a\x16\x06\x2e\x12\x17\x79\xf9\
+\x91\xf9\x67\xef\xdf\xa5\xab\x8c\xf1\x0e\xf1\xb8\xee\x3b\xba\x60\
+\xfe\xb2\x12\x0f\xdd\xc2\x65\x2a\x74\x27\x15\x05\xbd\x80\x77\x7c\
+\x99\x0b\x03\x91\xa6\xbf\xe2\x17\x4c\x48\x8e\xe4\x88\x6e\x12\x4b\
+\xef\x68\x7d\xa8\x7d\x18\xf9\x72\xe4\xc3\x46\x70\xad\x7b\x77\xdb\
+\x46\x60\x5c\xb8\xd6\xbb\xe8\x5c\xf4\xa8\xf8\xe8\xbc\x4a\x80\x12\
+\x0b\x58\x40\x1d\x86\x18\x5e\x9d\xd3\x7c\x95\x96\xf9\xa1\x48\x0e\
+\x13\xfa\x29\xd0\x2f\xd7\x0e\x50\x8b\x61\x10\xa2\x22\xbb\xc0\x90\
+\x7a\x7c\x31\xeb\xab\xb7\x7d\x55\x46\xc7\x24\x2e\x89\xa5\x16\x1a\
+\xba\x73\xdf\x96\x09\xe9\x55\x00\xac\x93\xfa\x71\xc8\x05\x1b\xd7\
+\x7f\x01\x9c\xf8\x0b\x9c\x4b\xc2\x24\xfb\x22\x81\x6b\xe9\x2f\x0f\
+\x45\x6b\xce\xbc\x34\x7a\xf2\x16\xbf\x78\x64\x36\xb0\xa9\xeb\x84\
+\x40\xb4\xfe\x7b\xea\x76\xd2\x0f\xda\x9f\xf5\x37\xdf\x3c\x1b\xfe\
+\xcc\x39\x8e\xf6\x1b\x5e\x33\x54\xf1\x50\x7a\x09\x42\x08\xde\x39\
+\xe7\x84\x82\x58\x8a\x56\xa2\x41\xf0\xf2\xee\xcf\x77\xc1\xa1\xc1\
+\x62\xb0\x26\x68\xe3\x68\xa5\x8f\xa3\x49\x38\x87\x08\x22\xc1\x97\
+\xc1\x79\xe9\xf6\xd6\x99\xcc\x0f\x3b\xe2\xd4\x6f\x5d\x75\x05\x95\
+\x00\x14\xce\x74\x54\xe3\x88\x89\x16\xaa\x22\xf8\xe1\xe2\xee\x7a\
+\xee\x95\xaf\xfd\x29\xac\x40\xda\xa8\x69\x21\x76\x8a\x7e\x71\xbc\
+\x39\x14\x05\xfa\xb4\x7e\x01\xc9\x27\xfe\x73\xf7\xb1\x6f\xbb\xdd\
+\xb7\x88\x29\x48\x1f\x93\x19\x8d\xb8\xcc\x4b\x8f\xac\xbd\xf2\xd8\
+\x45\xb2\x41\x4a\x67\xa5\xe6\x0b\x9c\x15\xba\xaf\xbd\x93\xc7\x7a\
+\x97\x51\x26\x73\x7e\x60\x0e\x0d\x6a\x22\x4a\x61\xe2\x5a\x73\x2d\
+\x8c\x13\xad\x76\xcd\xd5\x31\xd4\xb1\xaa\xe3\xd4\x38\x16\xad\xbe\
+\xab\x6d\x2a\x52\xb6\x48\x0b\x2d\x12\x09\x49\xbd\x46\x67\x11\x12\
+\xd2\xe0\x5b\x2c\xb5\x4d\xd3\xb6\xc9\xb8\xa0\x13\xa5\x33\xef\x09\
+\xbe\xbb\xd4\xef\xdc\xfd\xce\xb5\xce\x37\x5e\x10\x0d\x8a\x53\xbc\
+\xa2\x84\xc8\x94\xe1\x9d\x45\x34\xba\x37\x9f\xe0\xd9\x07\x48\x1b\
+\x33\x15\x80\x77\xd0\x0d\xce\xb3\xe2\xf8\x3a\x03\xe0\xe2\x85\xdb\
+\x6f\xe7\xbd\xe1\xb7\x49\x2e\x93\xb7\xee\x81\xb9\x4e\x7b\x21\xc0\
+\x40\xc6\x9c\x7c\x69\xf5\xd0\xdd\xcc\xbf\xe9\x52\x03\x24\x29\xba\
+\x08\xbe\x3e\x73\x4f\x9c\x49\x9f\xc1\xd9\xd9\x7b\xb1\x2c\xdb\x93\
+\x39\xbf\x26\x80\x47\x8b\x64\x25\x56\x14\x04\xa2\x75\x79\xac\xe6\
+\x82\xba\x0a\x5f\xe1\x64\xdb\x05\xe6\xbb\x3e\xba\xdd\xf6\xfb\x7e\
+\x8f\x79\x9f\x42\x91\x82\xef\x8b\x62\x38\x10\x62\x22\x81\xf8\xac\
+\x91\x95\xf9\x61\xe9\x0c\x7c\xa7\xbd\x16\x1d\x8d\x73\x51\x26\xa1\
+\x23\xfd\x7d\x7f\xa1\x94\xd6\x9d\xdd\x85\xe2\xcc\x8b\x0b\x8f\xdf\
+\xce\xdc\xe1\x52\x63\xd5\xed\x3c\x55\x11\xb7\x2d\xb0\x5b\x27\xdf\
+\x7d\x21\xfb\xa3\xce\x7b\xc3\xdf\x5b\xfd\xfe\x5f\x9d\xef\xde\x05\
+\xa8\x36\x86\xb4\x0b\x6b\x0f\x7e\x73\x78\xe4\xb9\x4b\x66\xa0\x86\
+\x10\x22\xae\xb7\xfa\xbd\x3e\xcf\x36\xe4\x6c\xab\x2f\xdb\xfe\xcc\
+\x64\xce\x55\x2c\xa4\x28\x29\x49\x42\x44\x24\x01\x18\x63\xef\x17\
+\x64\xf6\x64\x71\xf1\xf1\xea\xc0\x99\xc1\x25\x4b\xe5\xbe\xa5\xb0\
+\x7b\xa1\x38\x30\x17\x3e\xb0\xe2\x67\xdf\xd5\x76\xd2\xcd\x2e\xf8\
+\xd9\x55\x3f\xbb\xea\xf7\xcc\xf9\x8b\x8f\xf9\x03\xc7\xfd\x45\x67\
+\x64\x77\x3d\xbd\x2b\x75\x9b\x6e\x4f\xf0\x54\x15\x9d\x8c\x4a\x26\
+\xf3\xc3\x20\xaa\xdd\xd5\xad\x09\x49\x30\xa7\x88\x22\xda\x4d\x84\
+\x2e\x4c\xdf\x2b\x58\x1f\x5e\x7a\xc0\xd6\x47\x47\x0e\xe9\x0b\x0f\
+\x31\x9e\x1f\x28\x2e\x82\x0a\xd2\x95\x61\xd5\xde\x8e\x08\x48\xef\
+\x10\xbe\x50\x39\xff\x4f\xfc\x13\xff\x3c\x28\x04\x08\x06\x3e\xa9\
+\x0b\x1b\xbc\xf2\xe8\xfc\x73\xf7\x97\xe3\x05\x2a\x87\x07\x11\xb3\
+\xb4\xdd\x87\x3f\xf9\x50\x41\x7b\xdd\xc7\xb3\xc6\xd4\x85\xfd\xe8\
+\x33\x17\xc8\x0c\x36\x1f\xd5\xd5\xe2\x9b\x4e\x6e\xda\x3c\x1b\x83\
+\xd9\x8b\xfe\xca\xdf\x98\xfa\x6b\xff\xd7\xe2\x3f\xff\x5b\xc5\x7f\
+\xfe\xb7\x8b\xbf\xfe\x37\xab\xbf\xfe\x37\xab\x9f\xfd\x6f\xcb\xbf\
+\xfe\x73\xe9\xbf\xf8\xef\xde\xd5\x56\xfe\xf5\xbf\x55\xfc\xec\xdf\
+\x2a\x7f\xf6\x6f\x17\x3f\xfb\xf3\xe5\x5f\xfb\xf9\xea\x67\xff\xce\
+\xcc\x5f\xfd\x6f\xf6\xfd\x67\xff\xe7\xea\xa7\xfe\x93\x71\xb5\x07\
+\x2d\x49\x05\xea\x45\x76\xc1\x14\x59\xab\x3f\xf3\x23\xa2\xbb\xde\
+\x75\x96\xbc\xb5\xb2\x6d\x91\xf7\xa6\xc1\xa2\x23\x76\x27\xbd\xe9\
+\x82\xa9\xf5\xd3\xa7\x0f\xde\xcd\x91\x27\x89\xcb\x9e\x84\x2f\x90\
+\x02\x04\xd3\x89\x68\x7f\x97\x18\x78\x21\x67\x75\x9d\xf7\x86\xad\
+\x13\x69\x9e\x28\xf3\xd2\x48\xe7\xa3\xa9\x69\xe6\x57\x1f\xb8\x6e\
+\x7a\xe3\xf8\x2e\x1f\x19\x2a\x15\xb4\xad\xb7\xf4\x5d\x0f\xf1\x67\
+\x7d\xce\x7a\x31\x9f\x28\x65\x74\x45\x9e\x51\x99\x73\x7c\x06\x9b\
+\x80\x43\x3a\x01\x33\x48\x9e\xf1\xcc\x7e\xf9\x5b\xff\xcf\xfd\x3f\
+\xf7\x0b\x97\xfc\xdc\x3f\xdf\xf7\x77\xfe\xd9\xec\xcf\xfd\xb3\xe9\
+\x9f\xfb\x17\xb3\x3f\xf7\xcf\xf6\xfc\xed\x7f\xb1\xff\xff\xf6\xab\
+\xef\x6a\xbb\xe8\xe7\xff\xe5\xee\x9f\xff\xc5\xc1\xcf\xff\xf2\xd4\
+\xdf\xfd\xa5\x3d\x7f\xf7\x5f\x5f\xf2\x77\xff\xd5\x81\x9f\xff\xe7\
+\x83\xbf\xf3\x3f\xf2\xe7\xfe\x4a\x9c\xbe\x68\xac\x92\x12\xa9\x4d\
+\x44\x48\x1e\xcb\x92\xbd\x99\x1f\x8e\x5e\xa5\x1f\xc0\x9b\x56\x29\
+\x56\xaa\xde\xfa\x49\x81\x20\xd4\xc1\x46\x41\x13\x16\x54\x2a\x22\
+\x33\x69\x38\x3e\xfa\x8c\xbe\xf8\x20\xc3\xd3\x10\xcd\x91\x04\x08\
+\x90\x3a\x11\xd8\xd8\x8b\xf8\xaa\xbf\x70\x77\xa6\xe7\xbd\xe1\x77\
+\x74\xaa\xbd\x0d\x66\x49\x7a\xc1\x12\x52\xcd\x33\x0f\x6e\xbc\x7e\
+\x68\x4f\x5a\x29\x9c\xc5\x04\xae\x48\x4a\x10\x7b\xdb\x98\xa1\xf7\
+\x16\x6c\xd1\xdd\x05\x24\x09\x2a\x5e\x09\x79\x66\x65\xce\x65\x62\
+\x2f\x56\x1a\x44\x7c\x1f\x3b\xef\x4b\x06\x17\x61\xfb\xcc\x5d\xb6\
+\xe1\x7e\xac\xf6\x3f\x41\xf1\x63\xb8\x4b\xf1\x97\x51\x7c\x88\x70\
+\xe0\x5d\x6e\x3f\x41\xf9\x13\x94\x3f\x49\xf9\x13\x56\x7d\xa0\x09\
+\x1f\xa4\xb8\x8c\x62\x3f\xfb\x2e\x6d\xc4\x45\x92\xf7\x8a\x60\xda\
+\x98\xb6\x39\xb8\x2f\xf3\x43\x62\x8e\xe8\x48\x12\xc0\x15\x89\xa0\
+\xb8\x84\x40\x12\xda\xcd\x74\x51\x53\x2c\x8a\x79\xb5\x29\x5a\x06\
+\xc6\x9e\x76\x61\xee\x85\x47\x78\xe5\x29\x2c\x76\xa5\x5c\x91\x2e\
+\x85\x4f\x3b\xe9\xf7\x89\x54\x6f\x36\xfc\xe7\x2a\xd2\x39\x67\xcc\
+\x90\xfe\x99\x01\x58\xfb\xda\x43\x77\xce\xda\x86\xab\x6b\x8c\x30\
+\x53\xb6\x31\x3a\xf7\xb6\xa0\x7e\x05\xc4\x14\x39\x2b\x5f\xbf\x3b\
+\xee\x77\xca\xa7\xe9\xc2\x4d\xe7\xc8\x5c\x18\x24\x30\x3c\x0c\x36\
+\x0b\xdf\x39\x0a\xef\x67\xf0\x7b\xc6\xc5\xde\x21\x0c\x71\x8d\xec\
+\x22\xec\xc3\x4f\x25\x99\x28\xfb\xbf\x6b\xad\x65\xc6\x6c\x0a\x82\
+\xc2\x10\x86\x50\x33\x85\x94\x24\x1b\xb7\xb5\x23\x31\x70\x55\x01\
+\xd2\xa8\x34\xf8\x0b\x38\x6e\x3a\xf3\x9e\x8c\x7f\xe9\x0b\xac\x38\
+\x75\x7d\x3c\x9e\x81\xa1\xe2\xa2\x73\xc9\x6d\x93\x8d\x02\xeb\x0e\
+\x72\x8e\xbd\x85\x2d\xbf\xf5\xf2\x99\x57\xbf\x4d\x6c\x92\x75\x93\
+\x08\xe8\x35\x7a\x27\x86\xff\x42\x0e\xef\x3b\xef\x0d\x5b\x22\x24\
+\x99\x8a\x7e\xb6\x91\x6a\x3c\xd2\x99\x58\xfb\x8d\x97\xb9\xed\x23\
+\x1f\x38\x72\xcb\xae\xd5\x37\x4b\x81\x48\x6c\xd5\xa4\xb4\x4e\x3e\
+\xac\xb7\xf1\x6a\xa2\x26\x51\x9d\x6e\x26\xef\xf7\xde\x02\xc3\x99\
+\x06\xab\x4b\xdb\xa8\x6c\x2d\x4f\xad\xcc\xb9\xcc\x60\x14\xa6\xdb\
+\x34\xb5\xb2\x2e\xd1\xda\xb0\x4f\xfd\xf4\x70\xa8\x17\xed\xdf\xcf\
+\xd4\x8c\x43\x76\xc1\xbe\x44\xd9\x80\x0a\x86\xa7\xc6\xc9\xbb\xda\
+\x8a\x84\x3a\x9a\x80\x0b\xed\x0c\x71\x57\xbf\xcc\xec\x46\xdc\x14\
+\xb1\xc4\x31\x4a\xe2\x10\x35\x2f\x96\x34\x1f\xf9\x33\x3f\x14\x5d\
+\x3d\xaa\x60\x0d\x12\xb5\x2b\xa8\xe7\x51\x21\xa8\x56\x29\xfa\xee\
+\xa2\xde\xa3\x01\xf5\x23\xef\xe6\xbb\x55\x5e\x5a\xbb\x4c\xe7\xe4\
+\xa9\xcf\xf1\xd0\x47\xaa\xf8\xb2\xb7\x54\x83\xa6\x19\x5a\x44\xc7\
+\x15\x51\xbb\x02\xbe\x17\x6e\xf5\xc8\xf3\xde\xf0\x7b\x54\xac\xdf\
+\xe7\xcd\x54\x0e\x1d\x71\xf4\xe5\x8d\xd7\x5e\x0a\x5d\x5e\x66\x7f\
+\xd3\xa3\x42\x92\x0b\xb7\xe2\x42\x66\xc7\x62\xd2\xcb\x8f\x89\x99\
+\x77\x26\xce\xd4\xf9\x62\xcf\xbe\x49\xa0\x32\xfd\x2c\x20\x07\xab\
+\x66\x32\x10\x40\x44\x44\x06\x45\xe1\xe2\x78\xf8\xc6\xab\x9c\x3e\
+\x5a\x49\xe3\xba\x64\xb0\x50\x82\x38\x2c\xf4\xc7\xfd\x2c\xe0\x73\
+\xce\x92\x12\x86\x41\x54\x84\x96\xb4\xd8\x3c\xfb\xc0\xf2\x1b\x2f\
+\x04\x8d\xdd\xef\x67\x02\xa8\x10\x73\x6a\x5e\xe6\xc2\x43\x24\x61\
+\x10\x30\x92\x93\x16\xb4\x0d\x53\x5c\xfc\xe3\x5b\x6a\xa3\x6e\xab\
+\x88\x45\x97\xa4\x94\xc9\xec\x6c\xcc\x2c\x15\x81\xa2\x1d\xcf\xbf\
+\xf6\x5c\xf3\xc2\x63\xb4\x8b\x45\x52\x13\x70\x05\x12\xb0\x58\x58\
+\x2b\xd0\xa9\x4c\x5d\x90\x9c\xff\x86\x5f\x71\x10\x8d\xe0\x40\xd7\
+\x78\xed\xc9\x8d\x57\x1f\xdf\x3d\x9e\x2f\xb4\x05\xd4\x11\x1d\x08\
+\x3e\x2b\xf1\x65\x2e\x48\x3c\xc9\xa0\x28\xd0\x88\x8d\xd4\xda\xb6\
+\x9a\xe5\xc0\x87\xf0\xe5\xd6\x6b\x26\x8a\x3a\x96\x4f\xfc\x99\x1d\
+\x4e\xea\x4e\x89\x4a\x6c\xa7\xa8\xdd\xe2\x5b\xc3\x57\x1e\xe7\xf8\
+\xf3\x92\x56\x15\x5a\x01\xf1\xa2\xc9\x6b\xe3\xd0\x44\x79\xa1\x76\
+\xc3\x85\x60\xf8\x01\x8c\x0a\x65\x7c\x66\x7c\xf0\x2e\x77\xfa\xc5\
+\x5d\x7e\x8c\xaa\x89\x6b\x24\x24\xe9\x92\x3a\xb6\xaa\x2e\x67\x32\
+\x17\x0e\x62\xad\x48\x92\x20\x0a\x49\xdb\xa4\x3a\x7b\x31\xfb\x7e\
+\x1c\xa9\xd8\x2c\x80\xdb\x5b\x7d\xda\x6c\xf8\x33\x3b\x1b\x13\xc4\
+\x7b\x71\xc4\x56\x0b\x6c\x2f\xb5\x1d\x7b\x3e\x3e\x71\x3b\x71\xde\
+\x13\x1b\x48\x04\x9c\x47\x55\xc0\x2e\xdc\x10\x94\xf3\x7f\x21\x30\
+\x07\x0c\x1c\xa4\x55\x8e\x1c\x5a\x7a\xe5\x91\xc1\xfa\x5c\xe7\xff\
+\x4f\x12\x92\x78\x93\x5c\xfd\x33\x73\xe1\x22\xa8\x0b\x11\x87\x40\
+\x22\x2a\xd5\x25\x3f\xc1\xee\x0f\xe2\x0a\xd9\x54\xb4\x14\x20\x4a\
+\xde\xf7\x66\xf2\x74\x09\x01\xe7\x42\xa7\x1a\xa9\xcc\x3a\xaa\xa5\
+\xe3\x8b\xcf\xdc\xcd\x99\x17\xb1\x75\xe9\x52\xfb\x08\x48\x78\x2f\
+\x04\xae\xdf\x3f\xce\x7f\xc3\x5f\xfa\xa4\x78\x6d\x59\x3c\xb2\xf2\
+\xf4\x3d\x7e\xf1\x68\xe5\xfb\xfa\x7b\x86\x80\xf3\x13\x31\x67\xb8\
+\x90\xab\x2d\x65\x76\x28\x06\xe2\x4d\x7d\x37\x95\x2d\x84\xe9\x4b\
+\xff\x0c\xbb\x2f\x35\x2a\xbf\x55\x67\x52\x31\xeb\x72\x94\x33\x99\
+\x1d\x8d\x78\x8b\x6d\x5f\x71\x37\x82\x32\xdd\xb4\x61\xe1\x70\x7a\
+\xf2\x56\xc6\x67\x42\xef\x41\x2e\x20\x5c\xd8\x91\xb0\xe7\xfd\xef\
+\x56\x3b\x9a\xb6\x26\xad\xf2\xc6\xa1\xa5\x97\x1e\x9b\xd5\x0d\x06\
+\x5d\xa5\x1e\x00\xaf\x04\x75\x4c\x0c\xbf\x65\xc3\x9f\xb9\x00\xe7\
+\xb0\x98\x59\xe7\xcf\x8f\xc5\x6c\xb1\xef\xc7\x09\xbb\x15\x37\xc9\
+\x6c\xea\x06\xbf\x92\x4b\x4f\x64\x76\x3c\xa6\xda\x8c\xc0\xf0\x9e\
+\x26\xf5\x91\xfb\xfb\x59\x3f\xf9\xf4\x1d\xcc\xbf\x5c\xb2\xde\xb6\
+\x9d\x90\x5f\x79\x61\xef\x92\xcf\x33\x43\x68\x66\xaa\x6a\xb6\xf5\
+\x50\x1a\x98\x1a\x38\x16\x5f\x5f\x79\xe6\x5e\x37\x7f\x64\x8a\xd4\
+\x39\x6b\xd4\x83\x58\xa9\xc9\x4d\x24\x1d\x90\xee\x89\x66\x32\x17\
+\x0e\xd6\x50\x78\xef\xd4\x30\x41\x88\xd3\x07\xdc\xcf\xfc\x25\xa4\
+\x9a\x14\x28\x9b\x88\x53\x19\xe4\xca\x93\x99\x3c\x5f\xcc\xaa\x01\
+\x24\x14\xa4\xac\x90\x12\x83\xd6\xa6\x57\x8f\xad\x3c\xf0\x0d\xe2\
+\xfc\x40\x5a\x03\xf3\xd4\x17\x74\x21\x89\xf3\xc6\xf0\x9b\x59\x4a\
+\x49\x55\x45\x44\xde\x96\x95\x64\x6b\x1c\x3e\x68\xc7\xbf\x7d\x89\
+\x1b\x49\x02\x43\x2b\xa2\x38\x31\x75\x16\xe9\x4a\x33\xe1\x8c\x60\
+\x79\xe5\xcb\x5c\x58\x48\x09\xa9\x0d\x02\xc9\x0d\xdb\x62\x70\xd9\
+\x5f\x60\xf6\x03\x88\x13\xfa\xf0\x17\xa0\xf7\x5f\x5a\x56\xc8\xcd\
+\xec\xf8\xf9\xb2\x29\xc6\x67\x24\x29\x5b\xa9\x3a\x55\xb7\xa9\x7a\
+\x14\xdf\x7c\x8e\x97\x1f\x2f\xa5\x36\x25\x09\xde\x5f\xc8\x82\xed\
+\xe7\x93\xe1\x57\x55\xa0\xb3\xfa\xdd\x26\x00\x98\xa5\x66\x78\x7a\
+\xf1\xd9\x07\xea\x13\x2f\x0d\x82\x62\x8c\x21\x86\xa9\x24\xce\x11\
+\x31\x9d\x18\xfe\xd0\x8b\x32\x66\x32\x17\x12\x82\xa4\xc6\x3b\x5a\
+\x0d\x2b\x6e\xff\xae\xbf\xf0\xb3\xcc\x1e\xb0\x4d\x99\xd2\x4d\xdb\
+\x2f\xe7\xd5\x6c\xcf\x64\xde\x3d\xfa\xf4\x2e\x67\xb8\x24\x1e\xe7\
+\x30\xa6\x94\xf6\xad\x97\x96\x9e\xbe\x87\x76\x31\x8c\x47\x17\x7c\
+\x55\xf6\xf3\x66\x29\x70\xce\x79\xef\x37\xcf\xfa\x5b\xfb\x80\x78\
+\x9a\x17\x1f\x59\x7b\xfd\x99\x6a\xb8\x46\x8a\x40\x42\x12\x6e\xeb\
+\xb1\x89\x22\xce\x04\x75\x93\x3a\xcd\x99\xcc\x85\xc2\xb8\xc5\x61\
+\xd0\xd6\x54\xf1\xa2\x3f\xcb\x5f\xfc\x59\xc2\x8c\x75\x09\xfb\xe2\
+\x10\x07\xda\x6b\xf6\xc9\xdb\xeb\x51\x65\x32\x3b\x8d\xcd\x13\xbf\
+\x18\x42\x34\x31\x95\x80\x83\x40\x35\x5c\x1b\xbd\xf6\x04\xaf\x3f\
+\x29\xc5\xd0\x1b\x6a\x17\xf2\x7c\x39\x9f\xce\x00\xdb\x3d\xfc\xde\
+\xfb\x10\x02\xc0\xfa\x91\x85\x27\xef\x2c\x56\x4f\xec\x1d\x40\x03\
+\x01\x11\x1f\x9b\x56\xd0\xfe\xb1\x09\x88\x9a\x28\x5b\x41\xce\x99\
+\xcc\x05\x42\x63\x10\x20\xd6\x1b\x14\xd5\x4f\xfc\xa7\x7c\xe8\x2f\
+\x21\x85\x74\xc2\x15\xdb\x8f\x2d\x4e\xf2\x81\x3f\x93\xd9\x0c\x79\
+\x11\x23\x58\xeb\x19\xf7\x85\x7c\x1c\x7b\x1d\xd5\xe2\x9b\xc3\xc7\
+\x6f\xa1\x9d\x47\xd7\xbd\xc5\x74\xe1\x76\xc3\xf9\xe4\xea\xdf\x84\
+\xed\x9b\x80\x17\xee\x1f\xbf\xf2\xe4\x4c\x1c\x32\x28\x3a\xaf\x7e\
+\x21\x84\x36\x05\xdd\xd2\xea\x37\xa7\xea\x22\x92\x57\xbe\xcc\x05\
+\xc7\xa0\xc0\x43\x83\xcc\xec\xd9\xfd\x67\xff\x17\x84\x8b\x1a\x5f\
+\x76\x05\xa7\xac\x53\xef\x61\xa2\xd9\x97\xb7\xbd\x99\x0c\xd0\x1d\
+\xf0\x4d\x83\x36\x85\xd5\x26\xb1\x75\x81\x24\x22\xec\xaa\x17\x17\
+\x9f\x7f\x80\x13\xcf\x91\x96\x43\xb0\x0b\x58\xe1\xfa\x7c\x32\xfc\
+\xce\x39\xe7\xdc\x66\x48\xbf\xaa\xae\xae\xae\xf2\xc8\x2d\xb3\xc3\
+\xd3\x95\xd6\xa8\xe0\x20\x69\x21\x52\x90\x82\xf6\xbf\x9f\x7a\x92\
+\x53\x13\x5c\x4e\x67\xca\x5c\x70\x48\x51\x74\x35\x44\x2f\xfa\xe0\
+\x8f\x0f\xfe\xfc\x7f\x6a\xc1\x99\xa7\x53\x27\x49\x7d\xd1\x5e\x35\
+\xac\xaf\x34\x9a\xaf\xba\x32\x99\x2e\xdb\xdb\xfa\x73\xbf\xa0\x51\
+\x0a\xb5\x02\xa5\xd4\x54\xac\x1e\x1b\x3f\x71\x27\xeb\x73\x5c\xd0\
+\x45\xdd\xce\xa7\x3b\x7e\xce\xf6\xf6\x8f\x46\xa3\x95\x95\x95\xb5\
+\x6f\x3f\xbd\xc7\xa7\x90\x94\xb6\xa1\xf0\x1a\x01\x09\x93\x57\x75\
+\x25\x96\x74\x62\xf3\xf3\x1d\x67\xe6\x02\x23\x89\xa3\x06\x8f\xbf\
+\xf4\x43\x5c\xf6\x93\xb5\x90\xa0\x69\x6b\x98\x94\x99\xee\x3f\x70\
+\x39\xb8\x35\x93\x01\xd8\x3c\x03\xda\xd6\x24\x52\x57\x76\x1b\xe8\
+\xdd\xbe\x3d\xfc\xdc\x93\xac\x2f\x41\x8c\x17\x74\x17\x9c\x73\x18\
+\x40\x0b\x1b\xb0\x01\x1a\x21\x1a\x24\xa8\xc7\x98\xae\x3a\x37\x0f\
+\xc4\xf1\x4c\x7a\x7e\xe6\x8a\xbf\x3b\x13\xc6\x1a\x37\x5c\x85\x0a\
+\xaa\x89\x12\xd5\x46\x85\xae\x59\x97\xc6\x97\xf0\x09\x34\x4b\x97\
+\x65\xce\xf9\x09\xd9\xe2\x12\xce\xc0\x4a\xa7\xce\x25\x5c\x02\xab\
+\x36\xd2\xac\x0e\x3e\xd8\xda\xb4\x8b\xb8\xee\xd2\x2a\x4c\xad\xb3\
+\x6b\xef\xd2\xfa\x86\x84\x57\x7f\xe6\xbf\xaa\xff\xd7\xff\x03\xd3\
+\xfb\x88\x36\x65\x94\x61\xc6\x08\x06\x11\x5a\x9c\x47\x4b\x1b\x85\
+\xd4\x12\x2f\xe0\x04\xa5\x4c\xe6\xfb\xd3\x06\x9a\x10\xc7\x05\x4d\
+\x51\xe2\x1c\x4a\xd1\x32\xdb\xd4\xc4\x9a\xa9\x69\x84\x29\x6d\x2e\
+\x9e\x7f\xb1\xb9\xfb\x0a\xc6\x27\x06\x71\xb4\x01\xaa\x91\x66\x8d\
+\x34\x32\x18\x42\x43\x0d\xab\xb0\x0e\x34\xd0\x00\xd4\xd8\x06\x46\
+\x3c\x7f\xec\xcb\x39\x7b\xe2\x97\x4d\xd1\xc4\xbe\xa6\xa8\x81\xf3\
+\xe0\x0a\x28\x0c\x68\x78\xe9\xd0\xc6\xc2\xe9\x3c\x94\x33\x17\x14\
+\xdd\x69\xc4\x90\x4e\x88\x4a\x1c\xe2\x9c\xa5\x90\xc6\xd2\xac\x8b\
+\x26\x42\x01\x4e\x23\xc4\x7a\xa0\x1b\x0c\x58\x63\xf0\x63\x7f\xee\
+\x7f\x56\xfd\xe4\x4f\x83\xa3\x13\xb9\xb0\xae\x34\xd5\xf6\xe9\xed\
+\xe8\x43\xfe\x32\x99\x9d\xcb\x36\x5f\x30\x5b\xb2\x2e\x82\xf7\x1e\
+\x51\x8d\x58\xa2\x70\xba\x74\xea\x4d\x5e\x7e\x0e\x1b\x29\xe0\x04\
+\xef\x40\xbb\x69\x65\xb8\x94\x0c\xf3\x5d\xb1\x4b\xd7\x4f\xae\xc0\
+\x79\x75\x95\x7c\xee\x19\x7e\xeb\xd6\x3d\x67\x78\x28\xc0\xb9\xae\
+\xd6\x88\x18\x5e\x92\x5a\x80\x99\xa4\xc4\xe5\xb9\x27\xee\x93\xf5\
+\x85\x3c\x94\x33\x17\x14\x9b\x89\xf7\xa6\x80\x11\x4c\x1c\xe8\x94\
+\x44\xdf\xae\x39\x6b\x92\x2b\xc7\x54\xad\x88\x13\x2d\x9d\x8e\x6c\
+\xba\xb8\xec\x2f\x4e\xfd\xe5\x9f\xc5\xcf\xb4\x46\xe8\x0a\x55\x58\
+\x1f\x8f\x2c\xe0\x98\x44\xb9\x4a\xc8\x86\x3f\xb3\xc3\xf1\x86\xb3\
+\x4e\xc5\x7d\x5b\xe1\x4a\x41\x82\x07\xcc\x10\x65\x97\x97\x8d\x53\
+\x6f\xcc\x3d\xf7\x10\xed\x5c\xea\x0a\xbf\x8b\x81\x91\x1a\x41\x3d\
+\x45\xd2\x4e\xcc\x5f\x3b\x45\xac\x84\x07\x8f\x9c\x4f\x55\x7d\xce\
+\x3d\xc3\xdf\xc7\x1f\x39\x25\x24\x82\xf5\x99\x97\x11\x89\x48\x48\
+\x2a\x45\x22\xe8\x0a\x87\x9f\xd8\x38\xfa\xec\x5e\x37\xcc\x43\x39\
+\x73\x21\xd1\x4a\xd5\x57\x94\x30\x80\xe4\xc4\xf0\x98\xe2\x41\x09\
+\x58\x32\x6d\x29\xa4\x1a\x74\x3a\x7c\x47\xe5\xd2\x8b\xfe\xb3\xff\
+\x0b\x3f\xf1\x97\x90\x6a\xa2\x48\x9d\x10\xd9\x8c\x6c\x91\xfe\x26\
+\xd3\x21\xa4\x9c\xd6\x92\xd9\xd9\x88\xe2\xad\xdf\x55\xeb\xb6\x8a\
+\xd5\x49\x35\x69\xf2\x01\x1c\x45\xd0\x99\xf1\x4a\xf3\xd6\x73\x9c\
+\x78\x7e\x00\xbe\x0b\x15\x73\x51\x9c\x56\x38\xc0\xcb\x34\x14\x18\
+\x82\x0a\x24\x5c\xec\x4d\xd5\x79\xc3\x39\xba\x12\x28\xf4\x71\xc8\
+\x80\xb5\x58\x8d\xd3\x28\xf8\x02\x17\x47\x34\xf3\xf5\xd3\x77\x4d\
+\xaf\x9f\x9c\x75\x17\xb4\x9e\x72\x66\xe7\x91\x24\x18\x67\x49\xed\
+\x2a\xae\xaf\x2a\xe9\x20\x20\xda\x14\x4e\x45\x44\x5b\xa8\x09\x7f\
+\xfe\x7f\xc3\xff\xfc\x7f\x4f\xb1\x6f\xd8\x4c\x3c\x97\xd2\xbd\x81\
+\x02\x0e\x75\xfd\xfb\x48\xea\x4b\x8e\x66\x32\x3b\x98\x6d\x15\x2b\
+\xb6\xe5\xbb\x6a\xd2\x98\x52\xa2\x10\x80\xb6\xde\x23\x1b\x83\x85\
+\x23\x1c\xbc\x73\x80\x0a\x2d\x66\x88\x74\x29\xb1\xd2\xdd\x39\xf7\
+\xd7\xf9\x09\x54\xfb\x3a\x7f\xc0\x79\x63\x8f\xce\x41\x57\xbf\xdb\
+\xfc\xb1\xfa\xbe\x95\x88\x24\x70\x6d\x5f\x66\x6c\xc8\xf1\x17\x56\
+\x5e\x78\x68\x36\x2e\x53\xe7\x28\xe5\xcc\x05\xc6\xb6\x21\x6d\x78\
+\x4b\x88\x46\x57\xa4\xd4\x9f\x4e\x0a\x4b\x03\xdb\xd0\x58\xaf\xa8\
+\x8c\x76\xcd\xfe\xf4\xff\xf6\xbf\xe5\xc0\x9f\xc5\xef\x2e\xa7\xa7\
+\x81\xb6\x8d\x5b\xc1\xca\x67\xbf\x61\xfa\x8e\x2f\x64\x32\x3b\x91\
+\x2e\xbf\xa5\x8b\xeb\x17\x4c\x50\x51\xb3\xd4\x6f\x02\x14\x6a\x06\
+\x69\x5c\xad\x9f\x8e\x87\xee\xe3\xcc\xeb\xa4\x11\xde\x25\x1c\x04\
+\x4b\xea\x15\xdd\x52\xf6\x89\xae\xdf\x9d\xf7\xff\x3c\x5f\xfa\xe0\
+\x9c\x33\xfc\x36\xc9\xbb\x73\xdb\x03\x31\x44\x13\xd2\x76\x55\x46\
+\x46\x4b\x3c\x79\x4f\xb1\x74\x64\x1a\xe5\x02\x96\x56\xca\xec\x48\
+\x82\xb5\xfd\x6d\x97\x80\x20\x16\x9d\x99\x12\x6a\x57\xe0\x5d\x17\
+\xff\x82\x59\xa3\x16\xf7\xfd\x99\xa9\xbf\xfa\x37\xfd\x5f\xfc\x6b\
+\xf8\x3d\xb8\xa2\x9b\x0a\x5e\x92\x69\x17\x1c\xd0\x4f\xed\xed\xee\
+\xc7\xbc\x4d\xce\x64\x36\xd9\x0c\xee\x73\x20\x62\xde\xcb\x56\xde\
+\x97\x32\x68\x57\x75\xee\xcd\x85\xc7\x6f\xa7\x59\x05\x19\x51\x34\
+\x14\x26\x7d\xcc\x8c\xf5\xa1\xb3\x0a\x69\x2b\x8a\x36\x47\xf5\xbf\
+\x63\x36\x4d\xb9\xdf\xf2\x78\x0a\x84\x84\x4b\x09\x69\x23\x6b\xa7\
+\xe6\x9e\x7f\x70\x4f\x5a\xdb\x0c\xa9\xcc\x64\x2e\x18\x82\x45\x31\
+\xdd\x6e\xae\x85\xa8\x82\x2f\xa7\xf1\xa1\xbf\x00\x53\x86\x7e\x3a\
+\x7e\xf0\x3f\xe6\x3f\xff\x79\xca\xd9\x44\x19\x85\xb6\xc5\x43\x19\
+\xfc\xb8\x1e\xd2\xbf\x6a\x3b\x96\xa7\x4b\x26\x33\x49\x12\x3b\xfb\
+\x13\x86\x13\x0b\x21\xc4\xce\xaf\x56\x80\x10\x1c\xa5\x8f\x1b\x87\
+\xee\x60\xf9\x2d\xd0\x31\x65\xdb\xf9\xfa\x1d\xce\x91\x26\xb1\x33\
+\xdd\x35\x7f\x3f\xb9\xec\xbc\x49\x97\x3d\xe7\x96\x02\xed\x33\x2d\
+\x10\x36\xab\x88\x3a\xc3\x1b\xae\xf4\xc0\x70\xfc\xe4\x3d\xc5\xfa\
+\x29\x57\xc1\x06\xe7\x53\x18\x65\x26\xf3\x83\xcd\x48\x31\xda\x48\
+\xec\xec\xb6\x20\x22\x85\x4b\xd6\xae\x5b\x6c\xba\x14\xd7\xe5\x9a\
+\xf0\xa1\xff\xe8\x83\xff\xab\xbf\xc5\x87\xfe\x8a\x85\x92\xc2\x01\
+\x53\x45\x57\x45\xd4\xa6\xa6\xa6\x0d\x99\x28\xf6\xb8\xcd\x45\x49\
+\xb2\x72\x65\x26\xd3\x5f\xed\x3b\x3a\xa9\x17\xeb\x26\x19\x0e\xda\
+\xb6\xc5\x3b\x1c\xc4\x49\x05\xbf\xb6\xde\x3b\xf7\x6d\x9e\x7d\x88\
+\x54\x3b\x5c\xec\x4e\xf7\x20\x93\x28\xb4\xee\xd2\xc0\xa3\xbe\x53\
+\x87\xb3\xf3\xa6\xf0\xf5\xb9\xe7\xea\xef\xfe\x12\xc5\xb4\xd3\x53\
+\x34\x82\x52\x08\xcc\x10\x39\xf3\xfa\xfa\x9b\xcf\xb9\xe1\x3c\xd1\
+\x08\x58\x39\x93\xc7\x71\xe6\x82\x22\x81\x77\xc5\x54\x19\x8a\xd2\
+\x5c\xa1\xe2\xcc\x92\x6f\xc7\x03\x97\xa4\x05\x65\xcd\xb3\x7a\xd1\
+\x4f\x5d\xf4\x57\xff\x1b\xfe\x93\xff\x9d\xca\xde\x6e\x7b\xe0\xbb\
+\x5d\xb2\xc5\x4e\x67\x74\x62\xf5\xfb\xb9\x44\xbf\x05\xd0\xf3\x66\
+\x59\xca\x64\xde\x1d\x4c\x7a\xe3\x7d\x96\xe5\xeb\xb5\x7b\x61\x33\
+\xd4\xbf\x7f\x85\x9b\x59\x7a\x2d\xbd\xf2\x04\x6b\xf3\x83\xcd\x43\
+\xe9\xe4\x05\x7d\xa6\x1f\x74\x86\xbf\x2b\xf5\x7b\xbe\xf4\xc3\xb9\
+\xf8\x83\x4e\xea\x26\xea\x24\xaa\xd9\x83\xf3\x71\x4c\x5c\x49\xaf\
+\x3d\xb9\x76\xf4\xb9\x22\x36\x24\x70\x44\x2b\xf2\x50\xce\x5c\x48\
+\xb4\x09\x9c\xc3\x7b\x15\xd7\x20\xc9\x95\xe2\x43\x7f\xc4\x28\x59\
+\x18\x72\x66\xfa\xa7\x2f\xfd\x1b\xff\x0f\x7e\xf6\x6f\x12\x2e\xd6\
+\xb2\x60\x53\x80\xd4\x14\xb3\xb7\x4d\x6a\xa1\x73\x3f\xfa\x2e\xf5\
+\xc8\xe7\x5b\xfe\xcc\xce\x66\x4b\xb4\x07\xed\x8d\xfd\x64\x8f\xec\
+\xfa\x1c\x3f\xa7\xe2\xd4\x39\x25\x44\xe7\x7c\xa3\x2b\x87\x0f\xf2\
+\xda\xb3\xd3\xd4\xbd\x46\x06\xb6\x59\xef\xcd\x70\x86\xeb\x3e\x77\
+\x7e\x85\xce\x9e\x73\x86\x7f\x92\x92\xa4\x13\xa1\x7d\x07\xce\xe3\
+\x3c\x2d\x6b\xc7\x56\x5f\x7e\xa8\x5c\x3f\x39\x55\x01\x98\x73\x6d\
+\x9b\xa3\xfb\x32\x17\x14\xea\x04\x83\xb6\x6d\x9a\xa6\x4d\x66\xe2\
+\x09\x01\x0f\x8e\xb6\x65\x6d\xf6\x92\x3d\x7f\xe5\xbf\x2e\xff\xc6\
+\x7f\xc7\xcc\x4f\x35\xda\x95\xa4\x50\xe9\x55\xf9\xbb\xa0\xa3\xad\
+\x98\xbe\xad\x25\xce\xfa\xbd\x81\x64\xc3\x9f\xd9\xe1\xf3\x0b\x4c\
+\x10\x53\x67\x9d\x30\x76\xff\xf9\xce\xe7\xef\x26\x01\xff\x2a\x44\
+\x8f\x8a\x63\x8a\xb0\x7e\x66\xe5\x85\x87\xa8\xe7\xa6\x63\xe3\xa1\
+\x13\xc9\x90\xde\x7f\xe6\xb5\xbb\x61\x43\xcf\xaf\x8b\xb4\x73\xce\
+\xf0\xfb\x2d\x11\xc4\x7e\xe9\x72\x40\x52\xd2\x3a\xaf\x3e\x51\x1f\
+\x79\x7a\x8f\x5b\xa7\x00\x43\x7c\xe1\x2d\x67\x26\x67\x2e\x28\xbc\
+\xf7\x66\x96\x52\x02\x0d\x0e\x2f\xf6\xff\x67\xef\x4f\x83\x6c\xcb\
+\xb2\xc3\xbe\xef\xbf\xd6\xde\xe7\x9c\x7b\x73\x78\xf3\x54\xf3\xd8\
+\x5d\x5d\xd5\xdd\xd5\xdd\x55\xd5\x55\x3d\x0f\xe8\xb9\x1b\x43\x03\
+\x8d\x26\x40\x0c\x04\x28\x40\xa2\x44\xc9\x26\x68\x80\x64\x68\x08\
+\xcb\x11\x56\xd8\x0e\xdb\x8a\x90\x28\x5a\xa6\x2d\x92\xa2\xc2\x92\
+\x1c\x1e\xe4\xb0\x1d\xa1\x90\xad\x81\x94\x41\x71\x90\x38\x02\x02\
+\x1a\xdd\xe8\x79\xac\xb9\xea\x0d\x39\xdc\x7b\xcf\xde\x6b\xf9\xc3\
+\x39\x37\x33\xdf\xab\x6a\x36\x54\x55\x2f\xa7\xb7\x7e\x71\xe2\x55\
+\xbe\x7c\x59\x79\xef\x3d\x79\xf2\xae\xb3\xf7\x5e\x7b\x2d\xab\xc5\
+\x16\x2c\x9c\x1f\xc8\xfa\xb9\x27\x7f\xea\xdc\xa7\xfe\x24\xab\x77\
+\x6f\xd3\xa4\x46\x92\xf7\xec\xbc\x77\xf9\xb2\x60\x0f\x32\xac\xea\
+\xa7\xdd\x5f\x6f\xc5\x35\x36\xf3\x85\x00\x63\x47\x3e\x75\xbb\xa1\
+\x67\x9b\xf8\x70\x43\x60\xea\xe6\x62\x26\x56\xd5\x68\x38\xd1\xf6\
+\xd7\xbe\xfc\x77\xf9\xd6\x3f\xce\x6c\xa4\x71\x86\xdf\x13\x35\x63\
+\x32\xe6\x9f\xc9\x91\xcb\xa0\x39\x84\x81\xbf\x2c\x3b\x8a\x0e\x65\
+\x12\x11\x07\xab\xf4\x1b\xf5\xf7\xff\x5e\x7e\xf1\xeb\x6b\x54\xea\
+\x58\x97\xa4\x4b\xf1\x66\x16\x8e\x95\x4c\xc5\xaa\xaa\x4e\xda\x3c\
+\xc9\x68\xdd\xae\x8b\x72\xd5\xf5\xd9\xe6\xd2\xd9\xf7\x7c\x61\xed\
+\xa3\xbf\xc4\x99\x37\xcf\x3c\x57\x27\x61\xd8\xdc\x51\x1b\xe2\x3a\
+\x8a\xef\xb4\xb7\xb0\x21\xea\xcb\xce\x98\x46\x96\x55\x80\x42\xb8\
+\x95\x09\xca\x10\xab\x87\x79\x7e\x75\xf2\x70\x8c\xc5\x79\x76\xfe\
+\x09\x43\x0a\x15\xb4\xd7\xe7\xbf\xc2\x97\xff\x0e\x8b\x97\xc5\x4b\
+\x85\xea\x32\xec\xaa\x55\xd4\xd0\xa1\xc2\xec\xd1\x1a\xf4\x1f\xc2\
+\xf7\x82\x1e\xac\xa2\x95\x6c\x3b\x4f\xcf\x0a\xdf\xf8\xf2\xe5\x6f\
+\xfe\xce\x29\xdb\x44\x60\x81\x26\xad\xa5\x10\x1b\xf9\xc3\x71\xe3\
+\x80\xab\x90\x33\xd6\xcb\xc2\x53\x22\x9f\xb9\xf3\xc2\x63\x9f\x5e\
+\xfb\xd4\xaf\x73\xc7\xe3\xb3\x32\xd5\xc4\x6a\x82\xf9\x35\xa4\xd8\
+\xde\xb5\x45\x61\x1c\xdc\x0f\xbb\x8c\xfc\xfa\xef\xea\x11\xf8\xc3\
+\xad\x4e\x97\x79\x7c\xc3\x6f\x87\xcb\x30\x64\x4f\xb8\xee\x5d\x26\
+\xdb\xd9\xfb\x3a\x57\x28\xf5\x94\x5d\xdb\xfe\xfd\xbf\xcb\x0f\xbe\
+\x01\xb5\x82\x88\x82\x61\x26\x8e\xef\x6c\x9d\x15\x3b\x42\x95\x32\
+\x0e\x61\xe5\x3e\x13\xdc\xc7\x34\x8a\x65\xd1\x72\xaf\x5b\xdf\xf8\
+\xca\xd6\xf3\xdf\xcf\x2d\x38\xb5\x42\xdb\x2d\x16\x95\x7e\x11\x97\
+\x72\x38\x66\xc4\x71\x13\xac\xb0\x80\x82\x4e\xba\xb5\x4b\x77\x77\
+\x9f\xfd\x05\x2e\xbc\xc5\xf3\x6a\xed\x86\x6c\xbe\x9e\x46\xa8\xfd\
+\x10\xdc\xfd\x55\x86\x1a\x36\xfe\xee\x0c\x7f\xca\xf2\xb6\x20\x84\
+\xb0\x63\x88\xf7\xcb\x24\x18\xae\xdb\x0c\x83\x80\x4d\xc4\x0b\x2b\
+\x0d\x97\xbf\xf3\x15\x7e\xf0\x4d\xaa\x8d\x61\x7e\x4f\x7e\xc0\xf2\
+\x43\x5f\x36\x9a\x39\x02\x0e\x61\xe0\x5f\x9d\xa1\x95\xd2\xf6\x25\
+\x6f\x0d\xb5\x7a\xb7\xb9\xf2\xbb\x1b\x7f\xf3\xaf\xdf\xd5\x3f\x47\
+\xcf\xb5\x86\xab\xd3\xd5\xf9\x66\x9e\x34\x58\x24\xf5\x87\xd7\xc7\
+\xf4\xba\x63\xb9\x4a\xbe\xf3\x5f\x64\xc8\xdc\x5d\x1e\x43\xe2\xcf\
+\x2b\x8f\x9d\x77\x0a\xe5\xd5\xbf\xfe\x86\x6f\x3b\x24\xac\xaa\xa2\
+\x82\x82\x1a\x52\x91\x61\x02\xab\x90\xe6\x3d\x5b\xf9\xca\xe2\xc4\
+\xd7\xce\x3c\xfe\xd2\x27\xfe\x75\x7e\xe3\x3f\x5c\xdc\xfe\x91\x6b\
+\x93\xb3\x73\x61\x05\xb2\x01\x52\xb4\x9b\x35\x6b\x1d\xe4\x9d\x98\
+\x3e\x1c\xa2\x90\x21\xef\x8e\x5c\xd2\xce\x02\x64\x04\xfe\x70\x6b\
+\xf3\x31\x69\x7c\xf8\xad\x74\x5d\xa0\xdb\xe8\xb6\xeb\xdc\xd4\x4c\
+\xc7\x5c\x59\x8c\x54\x69\x0b\xad\xf9\x0b\x05\x56\xce\x9c\x5e\x3c\
+\xc3\x7f\xf5\x17\xb9\xfa\xdf\x75\xb3\xf9\x4b\x70\x45\x3b\xb2\xc1\
+\x66\x07\x1d\x64\x57\x48\x55\xa2\x80\xcf\x6b\xfe\xb9\xe8\xd0\xdc\
+\xb8\x4a\x5e\xe6\xf7\x95\x39\x5f\xfb\x7d\xf5\x19\x6a\x40\x32\x92\
+\x17\xd1\x5e\x64\xf8\x44\x08\xaf\xe3\x17\xe0\xfa\xb8\xbe\x7b\x1d\
+\xca\xde\x3b\xf9\xdd\x43\x5d\xd5\x35\x19\x79\x68\x1f\xb9\x3c\xd4\
+\x10\x1b\xd7\xd4\x7d\xd8\x14\x44\x2e\x92\x73\x21\x57\x92\x51\x69\
+\x17\xd2\xcd\xb4\xeb\x55\xc7\x01\xfa\x02\xb6\x61\x06\x15\xcf\x2c\
+\xda\x6e\x33\xaf\xb0\x80\x06\x97\xee\x45\x5f\xf3\x07\x9f\x7c\xf0\
+\x27\xfe\xc4\x99\x0f\x7f\x9e\xe6\x24\xa4\x66\x27\xc6\x63\xa0\x42\
+\xa3\x74\xf1\x13\x0c\xe1\xe6\x49\xc2\xb4\x95\x7e\x31\x73\x67\x76\
+\xed\x0a\xdf\xfc\x6a\xdb\x58\xbb\x93\x77\x2e\x3a\xd4\x00\x00\xc3\
+\x8f\xd2\x6d\xf5\xa1\x7b\xaa\x0b\x68\xb0\xa6\x9f\x83\x95\x0c\x0e\
+\x1b\x2f\xbe\xf8\x3b\x7f\x27\xd5\xab\x88\xe3\x64\xa3\xa3\xa8\xce\
+\x5c\xa3\x14\x59\x78\xbd\xc4\x76\x8f\xeb\x22\xbc\x8f\x0d\x3c\xae\
+\x3f\x54\x5c\x77\xb7\xff\xbe\xea\x01\x4e\xae\x34\x45\x9b\x22\xdd\
+\xf0\x49\xf1\x16\x97\xe5\x22\xa2\x0e\xbd\x3c\x49\xd0\xc1\x04\x32\
+\x6e\xd8\x50\x27\x7c\x22\x97\x17\xf2\xed\xee\x9c\x3f\xf1\xc9\x53\
+\x3f\xf3\x2f\xf0\xc1\x2f\xb2\x76\xff\xa2\x5f\x57\xb4\x81\x4c\x41\
+\x7a\xc4\x70\x55\x34\xc5\x08\x3e\x84\x9b\xca\xe8\x12\x94\x45\x93\
+\x58\x6c\x6e\xf6\xbf\xff\x8f\x28\x97\x57\x20\x81\x0f\xfb\x66\x76\
+\xa7\xf7\xed\x08\x6d\x97\x3d\x8c\x81\x5f\x96\x6b\x25\xd6\x80\xcf\
+\xf9\xf6\x97\x66\x5f\xfb\x47\x4d\xbd\xdc\x0b\x15\x69\x6b\x6e\xbd\
+\xaa\x8c\xe7\x3e\x84\xd7\x43\x5c\x65\x2c\x63\x3f\x04\xf5\xdd\xbf\
+\xee\x1c\x63\x4d\x0f\x51\x13\x76\x3b\x70\xca\x0d\x5f\x05\xca\x90\
+\xed\x8b\x58\xa2\xcf\x3e\xcf\x3e\x37\x5d\x37\x59\x05\x1a\xeb\x27\
+\x75\x7b\x5a\xe7\xad\x15\x60\xa1\xcc\x92\x6e\xa7\xdc\x6b\x63\xaa\
+\xaa\x3a\x65\xb1\x66\x5b\xdf\xef\x57\xb7\x6f\x7f\xdb\xa5\x4f\xfc\
+\xfc\xb9\x9f\xfb\x17\x79\xf4\xe3\xdb\xdd\x6d\x2f\x5b\x47\x93\xb2\
+\x93\xbc\x8c\x89\x44\xa2\x80\x54\x52\xe4\xb6\x86\x70\x33\xd5\x9e\
+\x64\xde\x60\x59\x53\x52\x7f\xe1\x1b\xbf\xc7\xf3\x7f\x38\xa9\x1b\
+\x19\x7a\x32\x0c\xfb\xfb\xca\x32\x87\xe6\xc8\xfc\x42\x1e\xba\xc0\
+\x5f\x18\xc2\x79\x53\x17\x0b\x07\x6c\x93\x3f\xf8\x6f\x57\x2e\x7f\
+\xbb\xb5\xbe\x17\x8c\x06\x53\x71\x54\x31\x81\xa8\xdc\x17\xde\x80\
+\x5f\x81\xbd\x21\x1f\x96\x19\xbf\x03\x7b\x65\x4b\x0f\xc1\x85\xa2\
+\xf4\xaa\x8b\x94\xb7\x73\xbb\x9d\xba\xed\xdc\xce\x52\x5b\x54\xab\
+\x8e\xbb\x84\xd5\x2d\x7b\xd9\x4e\xa9\xa8\xda\x4e\xc6\xaf\x8f\xe5\
+\xbe\x8c\xb6\x67\x75\xa1\xeb\x0b\x5d\xef\x65\xd5\xaa\xb2\x80\x19\
+\x2b\x4f\x7e\xe1\xb6\x1f\xff\x53\x93\xcf\xfe\x2a\x17\x1e\xb9\x26\
+\x27\x36\x20\xe5\xbd\xbf\xa5\x5a\x69\x0a\x5a\x77\x5a\x88\x86\x10\
+\x6e\xde\xbb\x83\x40\x01\x31\xaa\x4d\x72\xaa\x2f\x7f\x8f\xdf\xfb\
+\x5b\xd4\x97\x5a\xcc\xa0\x92\xc1\xf6\xbc\x5f\x44\x5b\xde\xd7\xca\
+\x01\x13\x24\x17\x27\xd3\xf3\xdc\xd7\x37\xff\xf0\x1f\x9e\xf6\x6b\
+\xad\x23\x02\xd2\x5c\xff\xa5\x51\x7d\x3c\xbc\x71\xd7\xde\xab\xaf\
+\x1c\xd9\xf5\x07\x2c\x47\xfb\x0c\xc5\xba\x5d\x4c\xd4\x48\x8e\x54\
+\xd1\x1b\xbe\x49\x2b\x97\x45\xaf\xd5\x54\x4a\xa2\xa4\x71\xb2\x5f\
+\x8d\xc9\x7c\xb1\x6e\x9b\x27\x6d\xdb\x67\x9b\x2f\x5c\xeb\x9f\x4d\
+\x17\xca\xfd\xef\xe7\x43\x5f\x3c\xfd\xd3\x7f\x96\x77\xff\x0c\x93\
+\x7b\x67\xac\x15\x58\x81\x09\xd0\xcf\x87\xf7\x94\x31\xea\xc7\x54\
+\x57\x08\xfb\x42\x1a\x55\x07\xa3\x14\x77\x2b\x93\xf9\x95\x8d\x3f\
+\xf8\xbb\x5c\xfb\xbe\xf8\xbc\xee\x0e\xf0\x6d\xb9\xca\x17\x53\xfd\
+\xaf\x55\xc6\x49\x09\xc9\x6d\xdb\x26\xdb\xa8\x5f\xfd\x87\x8b\xe7\
+\xbe\x8a\xda\xd0\x78\xc4\x19\x2a\x26\x82\xe3\x4e\x91\x78\x03\x0c\
+\xaf\xcb\x72\xf1\xde\x7c\xcf\x36\x5c\x17\x76\x22\xfd\x50\x8c\x7b\
+\xf7\xf7\xc4\xc7\x66\x1d\x6a\x34\x66\x5d\x5d\x74\xd6\x77\xb5\xef\
+\x6a\x9f\xbd\x26\x07\xcf\x45\x76\x8f\xc6\xc9\xe0\x42\xaf\x79\xae\
+\xd3\xb9\x76\xb0\x6c\xec\x35\x37\xe6\x33\x4d\x4d\x73\xe7\x23\xeb\
+\xef\xfb\xb9\xfc\xb3\xff\x1a\xbf\xf8\xbf\xe5\xd4\x23\xe4\x4b\x2e\
+\x6b\x99\xbc\x52\xad\x2b\x8b\x96\x79\x6e\x86\xa4\xff\xdd\xec\xc3\
+\xdd\x34\xfe\x10\xc2\x4d\x94\x00\x0a\x92\x15\x2b\x2b\xbe\xb5\xfd\
+\x9d\xdf\xe1\xdb\xbf\x4b\xdd\x66\x4f\x9c\xaf\x43\x1d\xad\xa3\xe3\
+\xd0\x3d\xd7\x29\x7d\x15\xb6\x4c\x44\x94\x8d\x17\xe6\xdf\xf9\x5d\
+\x59\x3c\x37\x3c\xcd\x6c\xa8\xd4\xb1\x27\x89\x83\x53\x63\xae\x33\
+\xbc\x3e\x2e\xe6\x52\x86\xc0\xbf\x73\x8c\x45\xb8\x76\x36\xe0\x39\
+\x32\x94\xf9\x70\x7c\xa7\x36\xa7\x8f\xcd\xa3\xd5\x2d\x5b\xc9\x5e\
+\xb2\x59\x32\x40\x9d\xa6\x48\xd7\xcb\x74\xae\xab\xa6\xc3\x5e\x00\
+\x1a\x2f\x53\xdb\x9e\x94\x39\xcb\x86\x7a\x33\xd5\x6b\x27\xef\x5c\
+\x79\xf7\x8f\x5f\xf8\x85\x3f\xb7\xf6\x73\xbf\xc1\x5b\x3e\x3a\x5b\
+\xb9\xbb\xb6\x8d\x8b\x78\x4f\x5e\x58\x07\x59\x05\xa7\x2e\xca\x50\
+\x47\x5c\x20\x43\x3b\xbc\x1b\x89\x91\xa2\x64\x75\x08\x37\x51\xe9\
+\x7d\x08\x37\x69\x32\x71\xf7\x89\x2f\xd2\x95\xa7\xf9\xd6\xef\x53\
+\xb7\x96\x5b\xf7\xd4\x49\x15\xea\x91\xba\x13\x3f\x74\x4f\xb4\x29\
+\x5e\xa0\x76\x60\x95\x67\xbf\xf1\xfc\xef\xfd\xad\xcc\xc6\xf0\x34\
+\x53\x05\x2f\x8b\x54\x8b\xa8\x57\x05\xf5\xc8\x6e\x0a\x7f\x34\xf2\
+\x43\x98\xd8\x0d\x5b\xed\x87\xc3\x2b\x3e\x54\xe5\x1e\x3a\x76\x2f\
+\x0b\x79\x16\xcd\x0b\x49\x0b\x49\x7d\xd2\x9a\x53\x4d\x52\x94\x3a\
+\xec\x09\x16\xab\x52\x84\xa2\xcc\xb3\xcc\x1a\x99\x75\x6c\x6d\x55\
+\xe6\x86\x0c\x5b\xfe\x1c\x84\x0a\x2f\xc9\xfa\xd3\x67\x1e\x95\x8f\
+\xfc\xe9\xf5\x7f\xf6\x2f\xf1\x0b\xff\x73\x1e\xf9\x84\x75\x17\x66\
+\xd2\xf4\x90\x0c\x31\x54\x40\x87\xea\x55\x09\x3a\x6d\xd7\x9d\x06\
+\x34\x61\xc9\x8b\x2c\xdb\xef\x3a\x47\x66\xdf\x70\x08\x47\x91\x8b\
+\x0e\x95\x30\x4a\x5f\xdc\x5d\xdd\x4e\x35\xf6\x8d\xdf\xfe\xcf\x78\
+\xf9\x07\xad\xbb\x40\x45\xe6\x66\xc3\x14\x9e\x5b\x04\xfe\xd7\xa1\
+\x0e\xeb\x99\xb6\xcd\x1f\xfc\x83\x33\xe5\x25\x1d\x3b\x1f\x2a\xa6\
+\x89\x52\xb5\x14\x69\xdc\xa7\x6a\xd9\x8f\x4e\xa5\xa4\x70\xc0\xbf\
+\xc0\x3f\xcc\x9e\x8d\x78\x15\xdc\xc7\x23\x35\xa4\x06\x4d\xa8\x2c\
+\x37\x8d\x1a\x18\x9e\xcd\xb3\x15\xb5\x5e\x64\x5b\x98\x49\x33\xd7\
+\x76\xde\x36\xdb\xc2\x5c\x91\x44\x52\xcb\x62\xd9\x6b\xb6\x3e\x7b\
+\x2f\x2e\x5d\xdb\xa6\x69\xb7\x80\x17\x67\xbc\xd0\x9c\x5f\x3c\xf4\
+\xc9\xf5\x4f\xfe\x8b\xb7\xfd\x0b\xff\x56\xf7\xd3\xff\x32\x0f\x7f\
+\x6e\xbe\xfa\xe0\x66\x3a\xbb\x49\x72\xb6\x1b\xae\x2e\x9b\x7e\x1b\
+\x52\x00\x86\x4d\xff\xcb\x9b\x0f\xbc\x42\xbf\x6c\x14\x12\x65\x2c\
+\x42\xb8\xc9\xef\x1b\x2c\x8b\x73\x81\xb8\x01\x5a\x59\x2d\x9b\x7c\
+\xe3\x77\xc5\x36\xc5\xaa\x93\x45\xdb\xe1\x37\x51\xf4\xc8\x24\x9b\
+\x1f\xc2\xca\x7d\x00\x19\xb8\xf6\xec\xb5\xff\xfe\x6f\xaf\x2d\x2e\
+\x67\x58\xa8\x22\x0d\xae\xe2\x8c\xb9\x94\xde\x10\xdb\xf8\xc3\x4d\
+\xbc\x0e\x65\x9c\xd6\xd7\xe1\x50\x72\x22\xa7\x3a\x33\x29\xde\x25\
+\x9f\x66\x5b\xc9\x34\x5a\xd4\x17\xde\xf7\x8d\xd2\x25\x72\x46\x86\
+\x7c\x53\x83\x0a\x95\x26\xa5\xcb\xdb\xf2\x9d\xed\xd5\x1f\x9c\x79\
+\x8c\x0f\xfc\xb3\xe7\x7e\xe9\x7f\x33\xfd\x93\xff\x66\xf3\x33\x7f\
+\x8e\xfb\xde\xe7\xeb\xb7\x2f\x24\x1b\x08\xb5\x01\xa5\x19\x47\xf0\
+\x43\xea\x60\x72\x92\xb1\xdc\xdd\x2a\xbb\x45\xf9\x15\x51\x24\x3b\
+\x51\xc0\x2a\x84\x9b\xff\x4e\x30\xfe\x77\x37\x7b\x7f\x52\xb7\x5f\
+\xfc\xdd\xbf\xcd\xec\xf9\xd6\xe6\xcb\x99\xc1\xe1\x2b\x63\xc4\xff\
+\x9a\x49\xca\xb0\xce\x36\xdf\xfe\x9d\xf9\x33\x5f\x93\xf9\x56\x52\
+\x9c\x6c\x92\x87\xed\xcb\x63\x36\xb5\x8c\xcb\xae\x21\xbc\x1e\xc9\
+\x48\xf6\x2a\x95\xfb\x6a\xf5\x5a\xbd\x56\x4a\xf1\x52\xbc\xef\xbd\
+\x5f\x58\xbf\xb0\x29\xb4\x95\xb4\x8d\x6c\xba\x5e\xab\xed\x96\x4d\
+\x7b\x56\x9d\x76\x8e\x2e\x60\xa1\x8b\x45\xba\xb6\xc8\x2f\xd6\xf6\
+\x65\x5d\xbd\xd2\x9c\xda\xbc\xf0\xf6\xf5\xc7\x3f\x7b\xf7\x1f\xfb\
+\xad\x7b\xff\xf4\xbf\x79\xf6\x4f\xfe\x2f\x79\xef\x2f\xcf\xcf\xbf\
+\x6d\xd6\x9c\x99\x49\xe7\x3e\x6f\xed\xda\xd4\xaf\xad\xb0\x98\x20\
+\x89\x16\x56\x5c\xa9\x89\xaa\xc3\x73\xa9\x30\xc7\xca\x4e\x46\x21\
+\x34\x2e\x4d\xa5\xa9\xcb\xcc\x83\x10\xc2\xcd\x23\x8e\x0f\x5b\x75\
+\xa4\xc8\x72\xb7\x5e\x67\xf3\xcd\x6f\xfe\x13\xbe\xff\xfb\xc8\x6c\
+\x98\x89\xcb\x47\x2d\xd1\xf6\xf0\x3d\xdb\x94\x5b\x7a\xfa\x17\x36\
+\xbe\xfc\xb7\xa7\x5c\xf1\x9e\x64\x64\xa4\x0e\x99\x13\x4e\x53\x49\
+\x6e\xae\x3d\x52\x9a\x58\xe2\x0f\x7f\xc4\x0b\xfd\x87\x11\x54\x48\
+\xec\x3d\x24\x91\x44\x54\xa5\x41\x5b\xcd\x53\xc9\xd3\xd4\x4d\x53\
+\xb7\x9a\x27\x6b\xc8\xb2\xd1\xfd\x72\x3f\xdf\xd8\x9c\xcb\xd9\xae\
+\xdd\xf3\xfd\xc9\x67\xfc\xee\x17\x4f\x3d\xc6\x43\x9f\x3f\xf5\xe1\
+\x7f\xe9\xe4\x4f\xfc\xeb\xa7\x7f\xfd\x2f\x36\xbf\xf0\x6f\xf0\xa1\
+\x5f\xe5\xce\x27\x68\x4e\x6f\xb8\x2e\x40\x18\xea\x51\x80\x28\xae\
+\x94\x44\xd1\x54\x98\x54\xe6\xba\x33\x95\x2f\x60\x50\xa0\x1f\x5a\
+\x56\x22\xb8\x50\xd1\xf1\xaa\x3f\x6a\x2d\xc0\x43\x38\x72\x84\x6a\
+\x62\x2e\x43\x6e\xef\x50\x5c\x93\xd6\xe7\x93\xab\xdf\xe7\xcb\x7f\
+\x87\xb2\x95\xc0\x86\xb7\x04\x3b\x4a\x37\xe2\x87\x2e\xf0\xcf\x86\
+\xe2\xfc\x3f\xf8\xca\xb5\x6f\xfc\xc3\xae\x99\x89\x40\x25\x55\x5c\
+\xac\x24\x10\x72\xa5\xb5\x1e\x99\x23\x16\x49\xfd\xe1\x8f\xe8\x87\
+\x2e\xf1\xd7\x71\x4e\x7e\x19\xc2\x15\x4b\xee\x82\xe7\x8a\x9a\x6b\
+\x5f\x65\x61\x69\x56\x64\xbb\xc8\x56\xcf\xa6\xac\x6e\xc9\xca\x2c\
+\xad\x6e\xe9\xf4\x6a\x6a\xaf\x34\xab\x97\x27\x67\x5f\x5e\xb9\xfb\
+\x07\x27\x1f\xde\x7a\xe0\x23\x67\x3e\xfa\x2b\x77\xff\xe2\xbf\x72\
+\xef\x3f\xf7\xbf\x3a\xfb\x2b\xff\x33\xf9\xc9\xdf\xe0\x23\xbf\x5a\
+\xee\xfe\x40\x3d\xf5\xc8\x42\x2f\x15\x6f\xc1\xd6\x74\xbe\xce\xbc\
+\xf3\x85\xd7\x45\xad\xea\xac\x20\xab\x78\x43\x71\xb1\xb1\x91\xee\
+\xb2\x24\xe0\xb2\xd7\x8e\x0e\xe9\x45\xb6\xb3\xda\x38\xdc\x78\x44\
+\xe0\x0f\xe1\x66\xd3\xe5\x28\x7f\xf8\x6d\x1b\xea\x76\xab\xd9\x29\
+\xbb\x72\xed\xab\x7f\x9f\xad\xe7\x05\xaa\x0f\x03\x86\xa3\x34\xff\
+\x76\xe8\x02\xff\x36\x50\x17\x7c\xf9\x1f\x73\xf9\xdb\xf3\xfe\x2a\
+\x53\x58\x40\xad\x26\xd6\x27\xf0\x4c\x55\xf5\x32\xa6\x3e\x45\xe0\
+\x0f\x7f\x34\x66\xfe\xaa\x07\x65\x99\x4d\x5a\xd8\xb9\x09\xb0\x2a\
+\x42\x76\xb2\x79\xaa\x9e\xaa\x49\x6f\xa9\x77\x59\x18\x4f\x77\x2b\
+\xcf\xac\x9c\x7d\xfa\xf4\x5d\x2f\xdc\xf5\xe8\xe6\xdb\x3f\xe9\x1f\
+\xf9\x13\xab\x5f\xf8\x0b\xa7\x7f\xf5\x7f\x71\xfb\xbf\xfe\x1f\x9d\
+\xfd\x33\xff\x4e\xfa\xe2\x9f\xe7\x03\x3f\xcb\x9b\x9e\xe4\xc2\x83\
+\xac\x9f\x63\xb2\x3e\x33\xe6\x0e\x59\x44\x5b\xaf\xc3\x06\x00\x85\
+\x9c\xa5\x53\x6d\xc6\xc4\xc1\x24\xb4\x69\x48\xe3\xef\xd8\xee\xe8\
+\x33\x26\xae\x78\xe3\xd2\x15\xe9\x16\x9a\x8a\x50\xc5\xc6\x5d\x85\
+\x86\x78\x81\xb9\xcb\x66\xfc\x64\x43\xb8\x79\xae\xbb\xb5\x76\x4c\
+\xb4\x4a\xc6\x69\x7d\x31\x7b\xfa\xeb\x7c\xff\x5b\x8a\x65\x81\x21\
+\xaf\x3f\x46\xfc\xaf\x59\x0f\xd4\x32\xfb\xee\x37\x9a\xb2\xb9\xb9\
+\x05\x93\xa1\x38\x7a\x75\xa9\x45\x05\x74\x0c\xf6\x63\xb7\xe4\xb8\
+\x32\xc3\x1f\x89\xd9\xab\x1f\x63\xd4\x5f\x86\x7c\xaf\xc3\x2d\x02\
+\x92\xdb\xa6\x5b\xe9\x4e\x9c\x5a\xb9\x74\x69\xed\xde\xfb\x4f\xbe\
+\xe5\x91\x53\x8f\xbe\xf3\xf4\x63\x4f\x3e\xf8\x99\xcf\xde\xff\x85\
+\x2f\xde\xf7\xab\x7f\xea\xee\x7f\xfe\xcf\xdd\xf6\xcf\xfe\xcb\xa7\
+\x7e\xfe\xcf\x34\x9f\xf8\xd5\xf2\xf8\xcf\x6e\x9c\x7e\xd7\xe5\xb5\
+\x37\xbd\x34\xb9\xed\x4a\x3e\x75\x35\xad\x6e\x69\x33\x13\x9f\x69\
+\x59\xf3\x7e\xc5\xad\x05\x94\x3e\xe9\x3c\xb5\x0b\x6d\xaa\x28\x22\
+\x52\x8d\x7e\x46\x59\x60\x95\xea\xc3\xae\x21\x61\x03\x36\xa9\x75\
+\x58\x3e\x58\xc0\x1c\x66\xe8\x7c\xa8\xf3\x4b\xa1\x16\x7c\x98\xfc\
+\x9f\x1b\x7d\xfc\x64\x43\xb8\x79\x64\x77\x43\xcd\xf8\x19\x5f\x36\
+\xc8\xb4\xcd\x97\x36\x9f\xfb\x01\x20\xd0\xcf\x67\x47\x2b\x1a\xdd\
+\xf4\xc0\xef\xd8\x02\x9b\x63\x05\x1b\x72\x94\x2a\xcc\x60\xd3\x87\
+\xdd\x51\x73\x6c\xab\xd6\xcd\x9e\xa1\x32\x3f\x17\xfc\x05\x36\xbe\
+\xf2\xbd\x3f\xf8\x7b\x27\x36\x36\x2f\x38\xbe\xc9\xd5\x35\xd9\x5e\
+\x5d\xcb\xa6\xeb\xf3\x39\xbe\xa0\xb5\x59\xc3\x42\x99\x27\xca\x34\
+\xae\xcc\x70\xfd\x05\xed\x98\x21\x45\xd5\xd0\x05\x2f\x17\x7d\xf9\
+\xfd\xff\xdc\x77\x7e\xe1\x3f\xfe\xea\x9f\xf8\x4f\xbe\xff\x8b\xff\
+\xe1\x73\x7f\xfc\xaf\x3e\xfd\x8b\x7f\xf5\x07\xbf\xf4\xef\x3d\xf7\
+\x0b\x7f\xf9\xa5\x9f\xff\x77\x2f\xff\xfc\xbf\xfb\xdd\x5f\xfb\x8f\
+\xbf\xf7\xeb\xff\xe7\x1f\xfc\xa9\xff\xfb\xd3\x7f\xfa\xff\xf5\xec\
+\xff\xe8\x3f\x7d\xfe\xcf\xfe\x7f\x5f\xfc\x9f\xfc\x8d\x97\x7e\xf3\
+\x6f\x5e\xf9\xf3\xbf\x7d\xf5\xb7\xfe\xd6\xc6\x6f\xfd\xf6\xec\xcf\
+\xfe\xad\xf2\x1b\xff\x3f\xfe\xcc\xdf\xe4\x5f\xfa\x9b\xfc\x0b\xff\
+\x39\x9f\xfb\xeb\x7c\xe0\xdf\xe4\x2d\xbf\xc1\x85\x2f\xb0\xfa\x3e\
+\xf2\x43\x70\x3e\xd3\xad\xc1\x29\x38\x03\x27\xe1\xc4\x58\x6a\xb7\
+\x99\xd0\x91\x1a\x54\x11\x12\xb4\xd0\xed\x96\xdf\x81\xac\xb4\x13\
+\x9a\x96\x9c\x68\x64\xac\x4c\xc5\x79\x38\x45\x6a\x86\x09\xfd\x0e\
+\x56\xe1\x04\xac\xa2\x99\x8c\x64\x72\x26\x35\xc8\x14\x4e\x24\x4e\
+\xc5\x4f\x3c\x84\x9b\x6a\x48\x21\x1f\x77\xf9\x60\xe8\xdc\x13\x28\
+\x27\x17\x57\xca\xdf\xfa\x0f\xe5\x99\x7f\xb0\xea\x6c\x4c\x57\x37\
+\xc8\xc8\xf6\x51\x79\x51\xba\xff\x0f\xb1\xd3\x4d\xd7\xdd\x71\x05\
+\xd5\xd4\xe8\x4e\x29\x12\x9b\xf3\xad\xaf\x4a\xbf\x95\x87\x9e\x87\
+\x82\xaa\x5a\xed\xf7\xde\x4f\x8d\x39\xd8\x51\xb1\x34\xbc\x82\x43\
+\x15\x5d\xd8\x30\x77\xc4\xf4\xe4\xd9\xb3\x6f\x7a\xeb\xbd\xef\xfd\
+\xe0\x23\x1f\xf8\xe4\xbd\x1f\xfc\xe4\x1d\x1f\xfa\xe4\xdd\x1f\xfc\
+\xd4\x3d\x1f\xfc\xcc\x1d\x1f\xfa\xcc\xc5\x0f\x7d\xe6\xfc\x87\x3e\
+\x73\xd7\xfb\x3f\x74\xe7\x7b\x3f\x7c\xfb\x53\xef\xbb\xed\xf1\xa7\
+\x2e\xbe\xeb\xdd\x17\xde\xf6\xae\xf3\x8f\x3c\x7a\xf1\xe1\xb7\x9f\
+\xbc\xe3\xee\x13\xb7\xdf\xb9\x76\xfe\xd2\xe4\xe4\xa9\xbc\xb2\x42\
+\x6e\x10\x1d\xf6\x95\x84\x10\x6e\x95\xf7\x93\x1f\x9e\x46\x93\x95\
+\xb2\x7d\x95\x1f\x7c\x1b\xb3\xc9\xd0\xce\x27\xb6\xf3\xbd\xd2\x0d\
+\x27\x30\x8b\xda\x38\xd9\xaa\x43\x28\x1f\xeb\xa3\xf7\x97\xbf\xff\
+\xbb\x7f\xbf\x29\x9b\xea\x8b\x31\x8d\x5f\x30\xeb\x5d\xca\x9e\x6c\
+\x26\x1d\xf6\x32\xc5\x76\xa6\xf0\x8a\x5f\x47\x52\x37\xcd\x93\xd5\
+\xa1\x6f\xd6\x56\x4d\xe4\x55\x9a\x13\xa4\x35\xd2\x09\xd2\x29\xd2\
+\x19\xf2\x19\xf2\x59\xf2\x39\xd2\x79\x74\x15\x9d\x20\x2b\xd0\x41\
+\x87\x37\x78\xc6\x33\x79\x85\xdc\x91\x3a\x52\x87\x34\x68\x8a\x64\
+\xba\x10\x6e\x39\x8e\xbf\x6a\xf8\x37\xb2\x62\x9b\x2f\x6d\x7c\xe5\
+\x1f\xb1\x78\x69\x05\x9a\x61\x93\xce\x11\xb1\xcf\x4f\xd4\xd8\x53\
+\x17\x55\x55\x49\x0d\x9a\x2b\x69\xcc\x8b\x70\xe7\xfb\x7f\xb0\xf1\
+\x8d\xdf\x59\xf5\x19\x65\x99\xc6\x6c\x35\xe3\xbb\xb5\x54\x05\x35\
+\x4d\xa6\x43\x71\xd3\x10\xf6\xea\x7b\x6a\xad\x48\x1a\xda\xd9\xce\
+\x4d\xfb\x05\x5e\x74\x0e\xae\x1d\xba\x56\x74\x3a\x67\xba\x90\xd5\
+\x9a\xd6\x3c\xaf\xa2\x2b\xa4\x55\xd2\x94\x66\x8d\xbc\x42\xb3\x42\
+\xbb\x42\x33\x29\x26\xa5\x52\x4d\xaa\x8f\x5b\xe8\xeb\x11\xea\xb6\
+\x1d\x42\x78\x03\xf9\x18\xfb\x75\xa7\x67\xb7\x83\x90\x67\x57\x5e\
+\xfe\xc6\x3f\xe6\xca\x77\x52\x9d\x37\x70\x84\xba\xc5\xea\xfe\x3c\
+\xc6\x98\x95\xb7\x2c\x8e\xaa\x98\x62\x22\x32\x8c\xf5\xfb\xe1\xbe\
+\xca\x0d\x2a\x5f\xfa\xfb\xdd\xe5\x1f\x9c\x48\xc5\xfb\x71\x80\xe5\
+\x85\x56\x45\x76\xfa\xa3\x38\xea\x9a\x4c\x63\xb8\x1f\x5e\xa9\xcd\
+\x64\xcc\xcb\x9c\x52\x10\xba\x36\x37\x6d\x96\xa6\x73\xa8\x7e\xdd\
+\xbe\xf8\x1e\x16\xd0\x4b\xdb\x4b\x5b\xb4\xad\x92\xc7\x03\xad\xa8\
+\xe4\x2c\x39\x93\x04\xc5\x25\xb2\x48\x43\xb8\x15\xb9\x00\x6a\xf2\
+\xca\x4f\x02\x4c\x7d\xdb\x5e\xf8\x26\xcf\xfc\x01\xf5\x32\x5e\x6a\
+\x4c\xf5\xbf\x82\xed\xf9\x60\x38\x8d\xb5\xd6\x8a\x60\x60\x43\x27\
+\x04\xef\xe9\x37\xf8\xc3\x7f\x70\xca\x36\x1a\xdf\x16\x19\x5b\xa0\
+\x66\x50\xf7\x71\x0f\xe5\xf8\x9c\x45\x5c\xf7\x66\x5a\x86\xb0\x73\
+\x45\x27\x2f\x52\xfb\xa1\xf5\x6d\xf2\x8a\xf5\x94\xed\x0c\x59\x50\
+\xac\x81\x9d\xa3\xdd\xcd\xd9\x19\x8b\xe3\xd9\x4e\x89\xbc\x3d\xbf\
+\x21\x7b\x8f\x10\xc2\xad\xf5\x86\xb2\xfb\xe7\x92\x83\x82\x31\x11\
+\x56\x66\xcf\xf1\x8d\x7f\xcc\xc6\x73\x78\x3d\x42\x7b\x6c\x74\xdf\
+\x1e\x46\x58\xbe\xa1\x3a\x8a\xc9\xb2\x45\x4a\x05\x84\x84\x61\x73\
+\x9e\xf9\x0e\xcf\x7c\x6d\x4d\x66\x65\xb6\x60\x32\x7e\x71\x4a\x4a\
+\xb1\x3d\xe5\x54\xc7\xb1\xbe\x13\x6b\xae\xe1\x46\x3e\x63\x5e\xcc\
+\x7d\x6c\xa6\x29\x5e\x31\xc3\x3d\x01\x5e\xf0\x3e\x51\x5a\xac\xa5\
+\x24\x2f\x62\xb6\x37\x9c\x2f\xaf\x52\x13\x37\xab\xc5\xad\xa7\xf6\
+\x6e\xc5\xad\x40\x2f\xde\xef\xd4\xec\x0c\x21\xdc\x0a\xf6\xce\x2b\
+\x2f\x47\x08\x6a\x43\xcb\xbe\x02\xca\xba\x6f\x6d\x7e\xed\x1f\x71\
+\xf9\xfb\x78\x39\x42\xef\x0e\xfb\x11\xf8\xe5\x55\x3e\xe3\x2a\xa2\
+\xaa\x0c\x6b\x25\x8e\xd0\xb3\xf5\xf2\xd6\x33\x5f\x67\xfb\x72\x66\
+\xb1\x58\x40\x97\x86\xf7\x6e\x74\xe2\x0b\xf4\xd5\x56\xf4\x63\xc0\
+\x1f\x6e\xbc\xb4\x26\xb4\x93\xd5\xd4\xad\xa2\x50\x59\x14\x43\x84\
+\x9c\xc6\xeb\xc5\x8d\x71\xe6\x7e\xdc\xb6\xbf\xa7\x52\xaf\x29\x96\
+\xb0\x46\x48\x42\x93\xc8\x2a\x29\x89\x2a\xaa\x2e\xee\xee\xe6\x16\
+\xab\xfc\x21\xdc\x72\xf4\xfa\x48\xe3\x28\x9a\x86\x94\x9f\x89\x2c\
+\x36\x9f\xfe\x1a\x1b\xcf\xe3\xf5\x08\x2d\x08\xde\xf4\xc0\x2f\x37\
+\xfc\xc5\xc7\x47\x34\xab\xaa\xb9\x0e\xbd\xf8\x04\x66\x9b\xe4\xfe\
+\x7b\xbf\xf7\x77\x99\x6d\x58\xed\xdb\x55\xca\xbc\x9a\x29\xda\x32\
+\x2f\xaa\xca\x32\x87\xdf\x97\xd3\xb3\xae\xd4\x98\x7b\x0d\xd7\x2b\
+\xce\x66\x65\xdb\x84\xd4\xd1\x62\xa9\x73\xc9\xc8\xd0\xd5\x21\x21\
+\x19\x64\xac\x95\x83\x22\x22\x94\xe5\x61\xc3\xb1\x9c\xef\xbf\xfe\
+\xc2\x15\x15\x4d\xa2\x47\x26\x79\x27\x84\xf0\x86\x10\x47\x7c\x2c\
+\xa7\x6d\xb0\xdc\x4e\x9e\x99\x42\x61\x7e\x95\xa9\xcc\x17\x5f\xf9\
+\x27\xd8\x2c\x1f\x9d\x17\xa5\xfb\xfb\x58\xca\x72\xb3\xe3\x30\xdc\
+\x07\x7c\x48\x85\x4c\x85\x67\xbe\x9e\xaf\x7c\xd7\xc5\x86\x37\xe0\
+\xa2\x5a\x25\x2f\xab\x20\xe7\xdd\xae\xe9\x00\x6e\x62\x91\x6f\x15\
+\x5e\xa9\x0a\x4e\xb6\xb1\x77\x2d\x55\x92\x49\x42\xb4\x82\x8b\xa2\
+\xa9\x92\x7b\xb4\x92\x91\x06\xc9\x3f\x70\xe8\x04\x00\x00\x80\x00\
+\x49\x44\x41\x54\x3f\xe2\x72\x5d\xee\x35\xf5\xdd\xe2\x11\x21\x84\
+\x5b\xca\x98\xdb\xb7\x67\xda\x5f\x16\xa5\x22\x19\xa5\x5b\x41\x67\
+\x1b\x57\x7e\xf0\x4d\x36\x5f\xee\x8e\xce\x4b\xda\xbf\x37\xb2\xeb\
+\x27\x4b\x44\x18\x53\xf5\xdc\x48\x18\x3e\xe3\x1b\xbf\xa3\x2f\x7d\
+\xa3\x2e\x93\xa8\x87\x2e\xa9\xbb\xff\x97\x2b\x3e\x3e\x61\x13\xf3\
+\xd8\xc9\x17\x5e\x4d\x72\xd4\x4b\x72\xc3\x0d\x47\xf1\xeb\x76\x7f\
+\xf8\x78\x51\x0d\x7b\xf3\xf6\x6c\xcf\xdd\x9b\xc0\x97\x9d\xec\x68\
+\x5d\x1e\xb6\xe7\xe3\x38\xc3\x21\xdc\x4a\x74\xc8\x4e\xbb\x61\x13\
+\x99\x39\x88\x52\xa0\x45\xca\xec\xda\x33\xdf\xe6\xf9\x6f\xa5\xfe\
+\xc8\xf4\xce\xb8\xf9\x6f\x64\x3e\xe4\x4c\x2d\x87\xfb\xd7\x57\x41\
+\x19\x9b\xa0\x7b\x8f\x6d\x6e\x7e\xfb\xf7\x9a\x2b\xdf\xdd\x29\xca\
+\x37\x6c\xa1\xb2\x61\x6d\x7f\x9c\x27\xd0\xe1\x33\xb6\x5c\xf0\xd7\
+\x58\xe4\x0f\xd7\xcb\x4e\xeb\xf3\xec\x73\x7c\x8e\x93\x6d\xa1\xf4\
+\x78\x59\x5e\x77\xf6\x8a\x8c\x93\xbc\xec\xa6\xbd\x33\xac\xdf\x9d\
+\xeb\xdf\x3b\xcd\x64\xd1\x1a\x22\x84\x5b\xcc\x0d\x93\x7c\xea\x08\
+\xa6\x5e\x9b\x9c\x18\xa6\x9d\x0b\xad\x58\xda\x7e\x71\xf1\xad\xff\
+\x9e\xf2\xe2\x51\x79\x5d\xfb\x34\x82\xf1\x1b\xdf\x34\x97\xf3\xfc\
+\x43\xc5\x3e\xef\xd9\x7c\x71\xfb\xd9\x6f\xac\x97\x17\x01\x71\x92\
+\x5b\x72\x13\x0a\x54\x97\x65\xf5\x1e\xc6\x64\xc0\xe1\x9b\x29\x68\
+\xbc\x13\x87\x57\x5c\x6a\x89\xd2\x78\x1d\x22\x76\x1a\x1a\xef\x78\
+\x4d\x30\x14\x8a\xd8\x93\xcd\x87\xf8\x6e\x68\x7f\xd5\x7b\x48\xb9\
+\xfe\x92\x8d\xf1\x7e\x08\xb7\x14\x13\x19\xf3\xd2\x96\x83\x7e\x75\
+\x4b\x5e\xb2\x3b\xee\xda\xc0\x8c\x0c\x6b\x3e\x7b\xe9\x0f\xff\x01\
+\x8b\x67\x8f\xca\xeb\x3a\x80\xb7\x32\xdf\x99\x05\x58\x76\x2a\xc1\
+\x0b\xdf\xfd\x86\x5f\x7d\xf6\x44\x5d\x08\x24\xb7\x6c\xe4\x61\x09\
+\x40\x8a\x6b\xd9\x49\xe8\x77\x61\x48\x02\x60\x58\x71\x89\xc0\x1f\
+\x5e\xf5\x0a\x7b\xb5\x0b\x6e\x39\x68\x2f\xcb\x26\x8f\xf6\x4f\xf9\
+\xad\xd8\x39\xd2\xf5\x47\x08\xe1\xd6\x71\xc3\x88\x5f\x7c\x18\xf4\
+\x43\x5d\xe0\x95\x49\x0b\x60\x4c\xea\xc6\xe6\xf7\xbf\xc4\xcb\xdf\
+\x38\x2a\xaf\x6b\x5f\x03\xff\xde\x71\x95\xb9\x01\x66\x43\xfc\x2e\
+\x2f\x7d\xf3\xcb\x6c\x5f\x66\x39\xdf\x2a\x36\x9e\x62\x05\x93\x61\
+\x6e\x1f\x96\x89\xd7\x3e\x96\xf2\x8d\xc0\x1f\x5e\xe5\x8a\x2e\x9a\
+\x7b\x19\x4b\xeb\x57\x12\x22\xc8\x70\xe7\xa8\x43\x53\xa8\xe5\xe5\
+\x38\xd6\x92\xba\xf1\xf0\x7f\xda\x11\x42\xb8\x75\xdc\x98\xcf\x3b\
+\xf6\x97\x1b\x26\xb1\x2b\xb5\xd2\x80\xd1\x94\xcd\xb4\xf1\x02\x5f\
+\xfb\x27\x47\xe5\x75\x1d\x40\x72\xdf\x30\x5e\x77\xdf\xf3\x26\x6a\
+\xe5\xc5\x67\x9f\xa5\xdf\xc6\x11\xb7\xeb\xe6\x5e\x05\x97\x21\x9b\
+\xef\xd5\x3a\x25\xc4\x1b\x71\xb8\x5e\x85\x4a\x63\xd2\x22\x09\xc1\
+\x44\x5d\x32\xa2\x63\xcd\x47\xf9\xe1\x57\xe7\xab\xcc\xf8\x0f\x19\
+\x82\x86\x0f\xa5\x7e\x87\x23\x84\x70\x0b\x79\xf5\xb8\x93\x70\xa7\
+\xce\xea\x90\x20\xa4\xd0\x32\xe3\x3b\x7f\x78\x54\x5e\xd4\xbe\x14\
+\xf0\x71\xcd\xae\xd9\x7a\xa1\x0c\xe7\x48\xea\x76\xb2\x45\x15\xb6\
+\x1b\xb0\x9e\xaf\xfe\xe7\x77\x7c\xf9\xff\x71\xde\x36\xb7\x5b\x71\
+\x59\x16\x52\xd1\x21\xbb\x8f\x64\xa8\xe3\x52\x5c\x8a\xba\xb5\x95\
+\xae\x90\x0c\x53\xac\x8d\xcb\x32\x5c\x27\x41\xa2\x57\x5f\xe0\x15\
+\x47\xdd\x64\x8c\xdc\x80\xed\x29\x20\x39\xf4\xd8\x5d\x5e\xff\xf2\
+\xaa\x87\xa2\xcb\x43\xf2\x78\x84\x10\x6e\x19\x99\x4d\x17\xb3\xb1\
+\xbb\x0c\x0e\x26\x58\xa2\x3a\x55\xf0\x44\x29\x54\x48\x2e\xb7\x97\
+\xab\xfc\x83\xff\x77\xbd\xf2\x5d\xea\x26\xdb\x5b\x18\xe6\x14\xa8\
+\x14\x98\xe3\x65\x4f\x31\x70\x83\x65\x39\xb1\x03\x72\x40\xe9\x4a\
+\x02\xb2\xcc\xd6\xb3\x9e\xe7\x9f\xf1\x72\x84\xea\x1c\x87\x10\x42\
+\xb8\xa5\x89\x0c\x41\x6c\xc9\x1d\xf7\x6b\xcf\x7c\x0f\xeb\x87\x7f\
+\x10\x19\x8b\xfa\xbf\x6a\x9c\x3d\xd8\xd9\x6a\xdd\xd7\xf3\xb4\x6b\
+\xd8\x43\x45\x06\xb6\x5e\xde\xfa\xf6\x57\xad\x9f\xc7\x95\x14\x42\
+\x08\xe1\xf0\x53\x95\x21\xf0\xcb\x72\xe5\xda\xdd\xdd\xec\xe5\xaf\
+\xff\xf7\xd4\x39\xa2\x38\x06\x52\x77\x16\x0a\xc6\xdd\xec\x43\xaa\
+\x71\x1d\x66\x0e\x0e\x6e\x9b\xd0\x7e\x3d\xb2\x5c\xff\x58\x92\x90\
+\x04\x74\x0e\x57\x9f\xbf\xfc\xbd\x6f\x34\x5e\x88\x7d\xf9\x21\x84\
+\x10\x8e\x02\x59\x0e\xeb\x45\x70\xc7\xcc\xcd\x7c\xfe\xcd\xdf\x61\
+\xfb\x25\x94\x7e\x18\xd3\xbb\x83\xe3\x82\xe8\xb2\xbb\xec\x38\xe5\
+\x7f\xfc\x47\xfc\xe3\x0b\x1e\x52\xf1\xc7\x73\xa6\x46\x33\xce\xf3\
+\xbf\xf8\xed\xfe\xca\xd3\x9d\x46\xa6\x5e\x08\x21\x84\x23\x43\x44\
+\x64\x39\x93\xed\x8e\x3b\xf9\x99\x2f\xf3\xe2\xf7\xc0\x3c\x51\x87\
+\x3d\xe7\xd5\x87\x54\x76\x83\xe1\x8f\xc3\xb0\x0f\xfd\xe6\x07\x7e\
+\x31\x96\xbd\x0d\x10\x1d\x3e\x1c\x0a\xa6\x0a\x50\xae\x6d\xfd\xe0\
+\x2b\xed\xfc\x8a\x28\x54\x92\x44\x89\x94\x10\x42\x08\x47\xc9\xce\
+\x9c\xff\xfa\xc6\x77\xf8\xfe\x97\xf1\x7e\x18\xd6\x27\x51\x1c\x24\
+\x0d\x21\xef\x86\x78\xaf\x1c\x58\x66\xdb\xc1\xd4\xea\x1f\xcb\xa4\
+\x9b\xb1\xf9\xe2\xc6\x77\xbe\x34\xf5\xed\xa1\x7e\x7a\x8a\xb8\x1f\
+\x42\x08\xe1\x70\x1b\xd6\xf4\x87\x8f\x65\x4f\xfa\xda\xfa\xec\x39\
+\xfb\xce\x1f\xb0\xb8\x36\x56\x99\x91\x1b\xb6\x03\x8e\x9f\x63\xdc\
+\x39\x74\x60\x23\xff\xfd\x2f\xd9\xbb\x67\xae\xc3\x66\xcc\x9e\x2b\
+\xcf\x7f\xab\xb3\x6d\x1c\x2b\xc8\x0f\xdd\x67\x1d\x42\x08\x21\x1c\
+\x0a\x7e\x63\xd3\xb9\x71\xbd\x7f\xa5\x5c\xdd\x7e\xfe\x9b\xcc\xaf\
+\x8c\x91\xf5\xfa\x00\x3b\x14\xac\x55\xdf\x29\x03\x7a\x9c\x03\xff\
+\xab\xbf\xb6\x2c\x60\xdb\x7c\xe7\xcb\xf6\xd2\xb7\x5b\x5f\x60\x68\
+\x07\x35\x0a\xa4\x84\x10\x42\x38\xd4\xae\x4b\xe6\x77\x77\xf7\x71\
+\xb6\x5f\x78\xfe\xdb\x5f\xe2\xda\x33\x6a\x15\x98\xcf\x0d\x4d\xcb\
+\xa5\xee\x71\xfb\xbe\x40\xf2\x03\x4e\xf0\xdb\xa7\x11\xff\x9e\x81\
+\xfc\x98\xe7\xa7\x0e\xfd\x26\xcf\x7f\x63\xd2\x5f\x4d\xd5\xc6\x0d\
+\x8f\x91\xdf\x17\x42\x08\xe1\x88\x72\x5a\xb6\x78\xee\x1b\xad\x6c\
+\x65\x40\x05\x51\x44\xd2\x18\x04\xc7\x7e\x3f\xcb\xe3\xc0\x0a\x82\
+\xe9\xbe\x3c\xc4\x75\x83\x7e\x19\xda\x9f\xd4\x9e\xfe\xca\xf6\xb7\
+\x7f\x7f\x52\xae\x0d\x5b\x1e\x51\xa5\xc6\x85\x13\x42\x08\xe1\x68\
+\x12\x9a\xba\xf5\xf2\x37\x7f\x97\x7a\x55\x6a\xf1\x24\x08\x88\x09\
+\xe5\xba\x4a\x3e\xe3\x10\xf7\xc0\xda\x7e\xdd\xf4\xc0\xef\xaf\xf2\
+\xb1\x09\xe0\x0b\x36\x5f\xdc\x7c\xfa\xeb\x13\x7a\xa0\x48\x42\x73\
+\x8c\xf8\x43\x08\x21\x1c\x5d\x2d\xe5\xda\xb7\x7f\x9f\xf9\x4b\x4d\
+\x9d\x69\x62\x31\x7e\xfa\xfa\x92\xff\x63\x82\xdf\x81\x65\xb3\xef\
+\xcf\x03\x8f\x75\xf7\x77\xfe\x9a\x00\xa9\xbc\xf8\x7d\xbb\xf2\x4c\
+\x36\x80\x22\x9d\x4b\x8e\x6e\x7b\x21\x84\x10\x8e\x2a\xa1\xf1\xde\
+\x9f\xfd\x36\x2f\x7e\x17\x16\x3e\x74\x01\x07\xbc\xe0\x66\x50\x05\
+\xd4\x90\x82\x50\x0f\x2e\x97\xfd\xa6\x07\x7e\x43\x97\xfb\x16\xae\
+\x8b\xfd\x78\xcf\xf7\xbe\x9e\xcb\x55\x0c\x92\x56\x6d\xab\x45\x4a\
+\x7f\x08\x21\x84\xa3\x6a\x21\xb4\xd0\x6d\xbf\xcc\xb7\xbf\x84\x57\
+\x86\xa5\x7c\x19\xfb\x84\x39\xc3\x6a\xb6\x21\x8e\x1c\x64\xaf\xcf\
+\x7d\x9b\x6a\xf0\xeb\x1e\xc9\x8d\xb2\xfd\xec\xb7\xbf\x3a\xa1\xa7\
+\x00\x52\x25\x57\x97\x83\x5b\xf2\x08\x21\x84\x10\x5e\x17\x13\xd4\
+\x7d\xa5\x6e\xdb\x57\xbf\x84\x2f\xea\xd8\x12\x54\x70\x1f\x16\xb2\
+\x87\x12\xbe\x50\x2a\x07\x99\xd2\xb6\x3f\x6b\xfc\xfe\x8a\xcf\x39\
+\x8b\xf9\xcb\xcf\x3f\x93\xc5\x31\x0c\x71\x49\xe6\x31\xe2\x0f\x21\
+\x84\x70\x54\x55\x51\x75\x3a\x2f\x2f\x3f\xfd\x3d\xbc\x96\x7a\x5d\
+\xf0\xb3\x3d\x25\x6d\xfc\x78\x07\xfe\x05\xf3\x2d\x9a\x42\x23\xa5\
+\x48\xd5\x19\xcd\x15\x6b\x28\x57\xf9\x83\xff\xdb\x03\x2f\xff\xb7\
+\x6d\x81\x93\x5d\x5d\x94\xd3\x8b\x67\x27\xf5\x5a\xdf\xc4\x95\x13\
+\x5e\x9f\x6d\xda\x5e\x01\xd2\xd0\x10\xab\x62\x8a\xad\x9a\x83\x2b\
+\x96\x31\xcd\x8e\xd0\xc3\x36\xb2\x51\xb0\x43\x75\xd4\x9d\x77\x88\
+\x1e\xe6\x30\x87\x1e\x2a\xee\xec\x0e\x11\x8c\xa1\xc7\x37\xd1\xd2\
+\x32\x84\xc3\xa4\x36\x50\xe9\x6a\xdf\x5c\xfb\x3e\x2f\x7c\xfd\x84\
+\x5e\x3d\x41\xcf\xa2\x47\xd6\xaa\xe6\x84\x4d\x98\x43\xb3\x60\x9a\
+\x60\xdd\xb6\x0f\xea\x79\xea\xcd\x7f\x00\x19\xca\x15\x21\x63\x5d\
+\x3e\x15\x70\xe3\xf2\xe5\x52\x0a\x80\xb9\xf8\xb8\xc9\x2f\x92\xfa\
+\xc3\xeb\xd5\x50\xf2\xa2\xe4\xf9\x10\xf8\x55\xe6\xc8\x1c\xe6\x0d\
+\xcb\x9b\xed\x21\x7e\x56\xa1\x66\xac\xc9\xae\x87\xea\x80\x02\x05\
+\x29\xa4\x42\x36\xf2\x78\x07\xb3\x2c\x85\x61\x60\xa8\xa1\xb6\x53\
+\xfd\x2b\x84\x70\x48\x8c\x1d\xf8\x0a\xa5\x5f\xf0\xd2\x73\xe3\xbd\
+\x7a\x4a\x2c\x63\xad\xa3\x3b\x1f\x1f\xe7\xac\x7e\x45\x05\xcc\x87\
+\x80\x0f\xd0\x0a\xb0\xa8\xcf\x3e\x53\xfb\x21\xf0\x9b\x3b\xe8\xd0\
+\xa7\x37\x84\xd7\x27\x31\x4f\x5a\x74\x59\x0b\x5b\x6c\x39\x40\x1e\
+\x7f\x2f\x97\x11\x34\x23\x1d\xd2\xed\x29\xa6\x71\x28\x0e\x45\x7d\
+\xd8\xfa\xa3\x90\xcc\x53\xa9\x5a\xaa\x94\x8a\x39\xe6\xe3\x7d\x8b\
+\x56\xd5\x9a\xa9\xf9\x96\xfd\x31\x87\x70\x28\xdf\x7e\x96\xf5\xf8\
+\xea\x7c\x6b\xf3\xe9\xef\x60\x3d\x80\xee\xfe\xa2\xda\x30\x0a\x1e\
+\xdf\x8e\x8e\xef\x3e\xfe\xe1\x1d\xd8\xbd\x82\x0e\x8f\x96\x81\xd9\
+\xb5\x97\x9f\x7b\x5a\xaa\x01\x54\x74\x39\xd2\xef\x63\x3b\x5f\x78\
+\x7d\x2a\xe2\x3e\x75\x9f\x2e\xbb\x5e\x77\x90\x11\xad\x82\x27\xc8\
+\x78\xa6\x64\x16\x89\xb9\xb2\x25\x14\x3d\x5c\x87\xb8\x42\x36\x72\
+\x21\x2f\xc8\xfd\x72\x86\x62\x18\xe9\x83\x3a\x3a\x84\xff\xc2\xc1\
+\xf5\xf6\x0a\x21\xbc\x9a\x64\xe3\xe8\x42\xeb\xfc\xda\xd3\xdf\xa4\
+\x6c\xbb\xd9\x10\x67\x65\x79\x6f\xaf\xc3\x86\x76\xa8\x1c\xdf\xca\
+\x7d\xb2\x9c\xaa\x1c\x26\x41\x14\x92\x17\x5e\x7a\x7a\xfb\xea\x4b\
+\x59\x74\xb8\x29\x00\x18\x96\x30\x63\xae\x3f\xbc\xce\x0b\xda\x5a\
+\xf1\x9c\xab\x8e\x1b\x48\x3d\xe3\x89\xe5\xa2\x79\xa1\xf4\x94\x42\
+\x31\x4a\xc1\x7a\x30\xec\x50\x1d\x18\x62\x24\x1f\x0b\x5c\x26\x34\
+\xe1\x09\x4f\x58\x03\x09\x32\x64\xa7\x75\x5a\x27\x52\x62\x42\x38\
+\x64\xef\x3f\x0e\x90\x68\xa9\xf5\xa5\xef\xb1\xf9\xa2\xb8\xc1\x30\
+\xc6\x37\x50\x1b\x4b\xd9\xf6\x70\xac\xb7\xf3\x25\x74\x67\x6d\xa3\
+\x0c\x8f\x67\x33\x9e\xfb\x9e\x6f\x5e\xcb\xa2\xa0\x58\x4d\x0a\x4e\
+\x35\x22\xaf\x3f\xbc\x4e\xa2\xf3\x86\x6b\x59\x36\x86\xd9\xb4\xe4\
+\x05\x2a\x5e\xd3\xb0\xfa\x4f\xdf\xd0\x4f\x98\x4f\x98\xaf\xd0\x4f\
+\xa1\xa5\x1e\xaa\x63\x4c\x44\x30\x92\x91\xdd\x12\x35\xb9\x25\x2c\
+\xe1\x42\x11\x2f\x58\x8f\xf5\xd4\x5e\xaa\xa5\xe8\x69\x15\xc2\xa1\
+\x7a\xff\x19\x26\x1a\x73\xca\x3e\x97\x2b\x4f\xf3\xc2\xf7\x90\x65\
+\x5c\x5b\x6e\xe5\x17\x80\x02\xb6\x38\xb8\xe7\x79\xf3\x0b\xf8\x14\
+\x17\x4c\xf1\xe1\x26\x47\x80\xfe\xea\xd6\x33\xdf\x48\xfd\xb6\xba\
+\x51\x0d\x93\xe1\x59\x88\x90\xb3\x12\xc2\xeb\xfa\xcd\x43\x65\x9c\
+\x49\x43\xf0\x71\x8d\xdf\x96\x85\xb2\x1b\xa1\xc1\x33\x96\xc5\x9a\
+\xd6\xa1\x36\x87\xeb\x18\xb2\xf6\xc6\x6c\x3e\x5d\xbe\x67\x68\x45\
+\x0a\xb8\x38\x5a\x90\x05\x52\x96\x2b\x00\x21\x84\xc3\x22\x19\x15\
+\x41\x13\xfd\x76\xde\x7c\x81\x67\xbe\x83\xf5\xee\x2c\xb7\xf2\x0d\
+\x7c\xa8\xed\x73\x80\xbf\xbd\x37\x7f\xaa\xdf\x1d\x47\xc5\x87\x91\
+\x4c\xa2\xa7\x5c\xf3\x2b\xcf\xb5\x75\xb6\x67\x78\x2f\xc8\x10\xf8\
+\x23\x5b\x29\xbc\x3e\xd7\xaf\x16\x2d\x64\x1d\x56\xa0\xab\xb0\x40\
+\xe7\xe4\x19\xb9\x48\x87\x76\x55\x75\x26\x54\x3d\x5c\x47\x51\x5d\
+\x08\x73\xa1\x8c\x03\x85\x8c\x74\x85\xa6\x27\xcf\xc9\xdb\x34\x85\
+\x8c\x66\x52\x53\x73\xb3\x88\x1b\xe5\x10\x0e\x13\x31\xdc\x04\x17\
+\xef\xc9\xb3\xcb\xbc\xf4\x34\xd6\x8b\x5f\xd7\xa0\xf6\x30\xb8\xf9\
+\x81\x3f\x65\xbc\xba\xfb\x98\xe1\xc0\x82\xad\x17\xaf\x7c\xfb\xcb\
+\xad\x97\x21\xd7\x7f\xd8\xde\xe7\x8e\x3b\xd6\xc7\xdc\x65\x78\xdd\
+\xd7\xb4\x4c\x4b\xed\x28\xba\xe8\x25\x35\xa7\xe8\xc1\x4a\x36\x6f\
+\xa8\x4a\x15\xaa\xb2\xc0\xb7\x84\xca\x32\xcd\xff\xf0\x1c\xd9\xb7\
+\x5a\x5f\x74\x56\x73\xad\xd2\xf7\xf4\x33\x16\x5b\xb9\x2c\x3a\x2b\
+\xab\xd8\x0a\xf3\xcc\x02\x4a\x5f\x6d\x0e\x97\x23\x27\x26\x84\x43\
+\x45\x28\x4e\x75\x5b\x59\xa3\xb3\xed\x2b\xdf\xfb\x1a\xb6\x2d\x63\
+\x4b\x9e\x3d\x9b\x8a\xc6\x4f\x1c\x18\xdd\x87\x13\x01\x22\xf8\x58\
+\xa8\xc8\x7b\xae\x3e\xa7\x5b\x2f\xb4\x3e\x7f\xe5\x13\x88\x25\xfe\
+\xf0\x3a\x2d\x4a\x33\xef\xdb\xde\x1a\xb4\x6d\xdb\x6e\x5d\x7b\x9e\
+\xfd\x2a\x7f\xf8\xdf\xf0\xd5\xff\x5a\xbf\xfa\x5f\x36\x5f\xff\x2f\
+\xbb\xaf\xff\x17\xfa\xd5\xff\x8c\xaf\xfe\x67\xfa\x87\xff\xe9\xe4\
+\x6b\xff\x85\x7e\xed\xff\x73\xa8\x0e\xbe\xf2\x5f\xf3\x95\xbf\xc1\
+\x1f\xfe\x0d\xbe\xf2\x37\xf8\xc3\xff\x8a\x3f\xfc\x2f\xf9\xc3\xbf\
+\xc1\x57\xfe\xa6\x7c\xe5\xb7\xf9\xc3\xdf\xe6\x4b\x7f\x93\x3f\xf8\
+\x6d\xbe\xf4\xdf\x34\xcf\x7f\x73\xc5\x59\x8d\x5f\x98\x10\x0e\x15\
+\x97\x94\x52\xf5\x82\x93\xfa\x39\x1b\x2f\xb2\xf1\xc2\xb8\xa9\x0f\
+\xd1\xb1\xf4\x86\x20\xc2\x81\x96\xe1\xb8\xf9\x81\x7f\x18\x94\x88\
+\x8c\xfb\x1b\xad\xf2\xe2\x0f\xf4\xda\x0b\xcd\x70\x2e\xf6\xdc\x02\
+\x89\x6b\x8a\x25\xcb\xf0\x3a\x2f\xe8\xd6\xbd\xe9\x25\xcd\xa8\x33\
+\xfa\x19\x2f\x7c\xe9\xe5\xbf\xff\x7f\x7d\xe1\x3f\xf9\x37\x7e\xf0\
+\x1f\xfc\xe6\xb3\x7f\xed\xb7\x9e\xfd\x2b\xbf\xf5\xec\x5f\xfd\xcd\
+\x2b\x7f\xe5\xcf\x6e\xff\x95\xff\xf1\xd6\xbf\xf7\x67\x5e\xfe\xf7\
+\x7e\xe3\xf2\x5f\x39\x64\xc7\x5f\xfb\x0b\x2f\xff\xb5\xbf\xf0\xc2\
+\xbf\xff\xe7\x5f\xfc\x0f\x7e\xeb\xca\x5f\xff\xcd\xad\xbf\xfe\x5b\
+\x5b\x7f\xfd\xcf\x5d\xfb\xf7\xff\xfc\xe5\xbf\xf2\xe7\xae\xfc\x1f\
+\x7f\xeb\xca\x5f\xf9\x0b\x97\xff\xfd\x7f\xed\xbb\xff\x97\xff\xf5\
+\xb5\xbf\xf7\x9f\x70\xf5\x9b\xab\x25\x4a\xf7\x85\x70\x98\xb8\xe4\
+\x9c\xcd\x1d\x50\xa7\x5e\x7d\x91\x97\x7e\x40\xdd\x72\xd4\xc9\xb2\
+\x1b\xec\x5b\xe0\x00\x17\xb6\x6f\x7e\x72\x9f\x33\x6c\x5f\xf4\xe1\
+\x75\xd6\xc2\x0b\xdf\x6b\xe7\x57\xb3\x2d\x5c\x30\x51\x5f\xc6\x7e\
+\xf5\x61\x13\x73\x08\xaf\x5d\x92\xd2\xe8\xbc\x6d\xca\xb0\xf5\x6d\
+\xa2\xac\x5c\xfe\xc3\xee\x9b\xff\xcd\x85\x67\xff\xf1\xc5\x67\x7e\
+\xef\xe2\x33\xbf\x77\xf1\xe9\x2f\x9d\x7c\xfa\x9b\xd3\xa7\x7f\xb0\
+\xf2\xcc\xb7\x4e\x3f\xf3\xa5\x53\xcf\x7c\xe5\x70\x1d\xcf\xfe\xde\
+\xe9\xe7\x7e\xf7\xec\x73\xff\xe4\xcc\xf3\xbf\x7b\xf2\x85\x2f\xad\
+\xbc\xf0\x95\x95\x17\xbe\xbc\xfe\xfc\xef\x9e\x7a\xe1\x1f\x9d\x7c\
+\xee\x1f\x9e\x7c\xf6\x77\x4f\x3d\xf3\x8f\xba\xef\xff\x77\x93\x6b\
+\xdf\xa0\x9b\x91\x63\x27\x7f\x08\x87\x89\x27\x49\x62\x36\x46\xf8\
+\xb2\x79\x99\x17\xbe\x8f\xcc\x6d\x9c\xf0\x06\x33\x50\xa7\x01\xed\
+\x0e\xee\x69\xde\xf4\x40\xbb\x77\xd1\x3e\x01\x75\xce\xf3\x4f\x4f\
+\x96\x35\x8a\xab\x48\x1d\x32\x97\x1d\x71\x52\xac\x59\x86\xd7\x47\
+\xb6\x90\x59\x95\xa1\xea\x8d\x43\xa6\x6b\x58\x6f\xc9\xb2\xac\x29\
+\x91\xa1\x85\x06\x5a\xe8\xa0\x39\x64\x47\x82\x84\x64\x24\x43\x86\
+\x66\xf9\xe7\x04\x56\x60\x0a\x1d\x42\x3f\x07\xf2\x74\x93\xb5\xf8\
+\x89\x87\x70\x78\xb8\x83\x94\xa1\x4c\xbd\x2a\xba\xd8\xe2\xb9\xef\
+\x60\x8b\xdd\x96\x3c\x6e\xb8\x2e\x9b\x6e\x1c\xd8\x8d\xfb\xcd\xef\
+\xce\xb7\x1c\xd0\x8f\x33\xfa\xf3\xd9\xb5\xe7\xbe\x3f\xa1\x0e\xbd\
+\x09\xeb\x75\xf5\xf9\x55\x62\xaa\x3f\xbc\x4e\x42\xaa\x8d\xf8\x4a\
+\xb5\xb1\xec\xfd\xac\xe4\x9a\xf2\xb0\x7f\x76\x4b\x9b\x97\xd3\xea\
+\xb5\x94\x67\x0d\xd7\x1a\x9e\x6b\xa6\x9b\x49\x0f\xd5\x51\x44\x17\
+\xa2\x33\xd1\x39\x2c\x84\x85\x30\x4b\x5c\x4b\xf9\xe5\x22\x75\x18\
+\x44\x24\x6a\x37\x9d\xe9\x94\x74\x6a\x33\x7e\xdc\x21\x1c\x26\xae\
+\x89\x5a\xc6\xf2\xf4\x4a\xb2\x32\x7b\xf6\x3b\xb0\x77\xc4\xef\xec\
+\x76\xdb\x3a\xb0\x9d\xfc\xba\x9f\x8f\x20\xc0\xe6\xe6\xb5\xe7\x9f\
+\x1d\x47\x63\xc3\x1a\xc0\xb2\xbe\x81\xc4\x70\x3f\xbc\x7e\x2d\x9e\
+\xc5\xbb\xec\xd3\xd6\x56\xa4\x4c\xdb\xda\xe6\xd4\x4d\x86\xf1\x74\
+\x93\xa7\x4d\x5e\x69\xf2\x4a\x9b\x53\x97\x9b\x69\x6a\x26\x69\x72\
+\xa8\x8e\xd4\xac\xe4\x66\xa5\x4d\x2b\x6d\x9a\xb6\x29\x35\xb9\xd1\
+\xbc\x22\xed\x09\x4b\x2b\x9e\xbb\xa1\xca\x65\x8b\xe7\xde\x28\x12\
+\x95\xfb\x42\x38\x54\x44\x73\x2d\xa6\x4a\x75\x5c\x10\xab\x97\x9f\
+\xfd\x2e\x8b\x19\x43\xc4\x1b\x37\xf4\xef\x04\xfe\x03\x6b\xcc\xbb\
+\x1f\x25\x7b\x81\xa1\x1a\xaf\x03\xf3\xed\xad\x6b\x97\x87\x9a\xc5\
+\x26\xd8\x0d\xed\x89\x22\xf6\x87\xd7\x6d\xc3\x16\x1b\xb6\x3d\x93\
+\xc5\x5c\x7d\x56\x17\x5b\x5b\xb3\xf9\xe6\x06\x0b\xd8\xa6\xd9\xde\
+\x6a\xb7\x37\x26\x5b\x57\x75\xa3\xb6\x1b\xfd\xda\xe6\xd5\xb4\xb5\
+\x75\xa8\x0e\x99\xcf\x74\x36\xd7\xd9\x4c\xb6\xb7\xd9\xae\xb2\xdd\
+\x33\x5f\xf8\x7c\x3e\x51\xcd\x5a\xa5\x40\x61\xd5\x66\xab\x65\x9b\
+\x7e\xbe\x1e\x33\x64\x21\x1c\x2a\x49\x6b\x25\x2b\x56\xa9\x86\x5b\
+\xd9\xb8\xf2\x32\xfd\x36\xbb\xe5\x7a\xc6\xfa\x7d\x3b\x1f\x1f\x88\
+\xfd\x68\xd2\x83\x08\x32\x99\x3a\xdd\xec\x05\xbe\xf3\xb7\xcf\x94\
+\xe7\xe8\x20\xe3\xa2\x2b\x65\xde\x16\x53\xa3\xd7\xb6\x4f\x46\x8e\
+\x7d\xfc\xe1\x75\x31\x63\x2d\x71\xa2\xef\x57\x7a\xba\x9e\x95\xc2\
+\xd9\x86\x46\xb0\x8c\x75\x58\x53\x72\xda\xb6\x06\xeb\xb0\x16\x4f\
+\x58\x7b\xb8\x0e\x72\x21\xf7\xd6\x96\xd2\x51\xda\xec\x59\x5b\x29\
+\x6b\x6c\x66\xbb\xd6\x97\xb9\xb5\x00\xb5\xe4\x26\x2b\x3a\xdf\x8c\
+\x5c\xd8\x10\x0e\x93\x85\x6f\x66\x43\xe6\xd8\x42\x26\xed\xca\xe9\
+\xb2\xf9\xe0\xfc\x0f\xf8\xda\xdf\x6e\x6b\x3f\x87\x9a\x40\xe7\xd8\
+\x76\x1e\x92\xfc\x8e\x71\x5b\x5e\xd9\x7d\x14\x43\x2a\x57\xaf\x0c\
+\x95\xf9\x6f\xf8\x8a\x10\x42\x08\xe1\xa8\x53\x05\x45\x44\x10\x41\
+\xa8\xb5\x72\xf9\x65\xdc\x76\x77\xed\x8b\x30\xa6\x01\x1e\xdc\x93\
+\xdc\xbf\x87\x72\xc3\xfa\x8d\xe7\x9f\x57\xd5\xeb\x66\x38\xc6\x8d\
+\xfe\x31\x6b\x19\x42\x08\xe1\x88\x1b\x36\xe6\x0c\x55\xeb\x94\x5a\
+\x8a\x3f\xff\x2c\x5e\x96\x81\x5f\x77\x03\xff\xc1\xd9\x8f\xc0\xbf\
+\x7c\x81\x95\xf9\xd6\xd5\x17\x9e\xbe\x71\xc4\x1f\x42\x08\x21\x1c\
+\x7d\xe2\x36\x8c\xe3\xcd\xcc\x6b\x1d\x02\xec\xe5\x17\x9e\xc3\xfb\
+\xbc\x93\xc0\xee\xca\x50\xa6\x9e\xe3\x3b\xd5\xbf\xfb\x28\x56\xd8\
+\x78\x69\xeb\xca\xf3\xea\xb6\x3c\x47\xec\x64\x37\xc8\x32\xc9\x3f\
+\x84\x10\x42\x38\xaa\x1c\x0c\xc7\xbd\xf6\xc3\x6e\xfe\xf9\xc6\x15\
+\x36\x2f\xb7\xc3\xd4\xbe\xcb\x72\xfd\x5b\x0e\x70\xae\x5f\xf7\xe5\
+\x24\x0c\x1f\x15\x5e\x7a\x9a\xc5\x86\x5b\xbd\xee\x61\xc7\xd7\x6e\
+\x12\x3d\x46\x43\x08\x21\x1c\x59\x22\x82\x81\x21\x82\x99\xe1\x64\
+\x95\x7e\xfb\x1a\x57\x9e\x4b\x8e\xc8\xb8\xb6\xaf\x43\x2a\xc0\xb1\
+\x1e\xf1\x0f\x63\x79\xa7\xce\x79\xe9\xe9\xce\x17\x52\x0b\x32\x7c\
+\x76\x37\xd2\x0f\xd1\xdf\x23\xd1\x2f\x84\x10\xc2\xd1\x24\x43\x81\
+\x1e\x68\x53\x1a\x6e\x02\xbc\xba\x6f\x6f\x70\xe5\x59\x29\x73\x30\
+\x5c\x41\x65\x08\xfc\x7e\x8c\x47\xfc\xee\x0e\x66\x86\x6d\xb3\xf1\
+\xc2\x94\xb9\x9b\x23\xf8\x9e\x9d\x0c\x2e\xec\xcc\xff\x87\x10\x42\
+\x08\x47\xd4\xb0\x76\x2f\x39\xab\x2a\x8e\x3b\xbe\xd8\x64\xf3\x45\
+\x7c\x1b\x37\x73\x19\x03\xbe\x1c\xeb\xed\x7c\x2a\x5a\x86\x09\x90\
+\xe4\x57\x9e\xfd\x26\xdb\x57\xa7\x2b\xd9\x0b\x80\x5e\xbf\xa9\x2f\
+\xf6\x24\x87\x10\x42\x38\xba\x14\x34\x81\x63\x7d\xef\xee\x64\x54\
+\x68\x58\x5c\xfe\xc1\xd7\xa1\xc7\x5d\x9b\x16\x49\xca\x4e\xeb\xba\
+\x03\x7b\x9e\x37\xdd\xf8\xe2\xac\x4f\xb3\xab\x4d\xd9\xc4\x8a\x2b\
+\x76\xfd\x43\xcb\x0d\x53\xff\x21\x84\x10\xc2\x91\xb3\x8c\xe6\x32\
+\x4c\x63\x3b\xad\xf7\x79\x76\x15\xdb\x06\x43\x9b\xdd\x68\x2f\xe9\
+\xa0\x9e\xe3\x3e\x24\xf7\x2d\x5f\xe6\xe6\xe5\xba\xf9\x42\x63\x0b\
+\x0c\x19\x9a\x18\xc8\xde\xe2\x85\x21\x84\x10\xc2\x91\x77\xc3\xda\
+\x7d\xf6\xbe\x6e\xbc\x48\xd9\xc2\x6d\x1c\xe7\x0f\x61\x2f\xe5\x83\
+\x7a\x86\xfb\xb1\xc6\x3f\x9e\x84\x6b\x57\xea\xb5\x97\xf2\x98\xf1\
+\x98\x5c\x6e\x1c\xf1\x8b\x47\x72\x5f\x08\x21\x84\xa3\x6a\x4f\xab\
+\xb9\xdd\xf9\xeb\xe4\x8b\xb2\xf1\x02\x5b\x57\x86\x42\xbd\x76\x08\
+\xc2\xdc\x7e\x4c\xf5\xdb\x50\xac\x60\xf3\x72\xdd\x7a\xb9\x95\xb1\
+\x3d\xcf\x8e\xf1\x0e\x60\x4c\xeb\x8f\x85\xfe\x10\x42\x08\x47\xd5\
+\x2b\x87\xaf\xd9\xeb\xe2\xda\x4b\x6c\x5f\xdd\x19\xed\x1f\x78\xe9\
+\xbe\x7d\x0c\xb4\xd7\xae\xd9\x7c\x03\x05\xc3\x4d\x70\xb9\xae\x0f\
+\x6f\xcc\xf8\x87\x10\x42\x38\x4e\x1c\x9c\xe4\xa5\x6c\x5d\x65\xfb\
+\x1a\xee\xb6\x53\xb9\xe6\x78\x07\x7e\x11\x71\x70\xf7\x7e\xbe\x49\
+\x3f\x27\x01\x54\xb7\x98\xd5\x0f\x21\x84\x70\x9c\xc8\xab\x7d\x4a\
+\xb0\x7e\xb6\xc9\x7c\x0b\xdb\xd3\x7e\xf6\x98\x07\xfe\x9d\xca\x7c\
+\xa5\xc8\xb2\x66\x9f\x7b\x0c\xf0\x43\x08\x21\x1c\x5f\xcb\xbb\x00\
+\x71\xbc\x2e\xa8\xfd\xb2\xba\xcf\x32\xb1\xfd\x18\x77\xe7\x73\x58\
+\x5d\x5c\x4b\x8b\x6f\xfa\x77\x7e\xf7\xc4\xda\x69\x7a\x80\x56\x12\
+\x68\x15\x15\x50\xb7\x2a\x2c\x52\xae\xa2\x8d\xc5\x86\xbe\x10\x42\
+\x08\x47\x93\xef\xfe\xd9\xab\x6e\x37\xea\x4a\xae\x3c\x20\x2f\xf3\
+\xa5\xff\x0e\x61\x13\xb6\x01\x9f\xa1\x45\xea\x81\x3d\xcd\x7d\x59\
+\xe3\x17\xc7\xac\xcc\x67\x5e\x2a\x80\x2c\x47\xfc\xd1\x8a\x37\x84\
+\x10\xc2\xb1\x57\x8d\xbe\xdf\x4d\x5f\x97\x03\x5e\xea\xde\x8f\x11\
+\x3f\xaa\xf4\xdb\xdb\x5b\x9b\xa5\x2c\x86\x8e\x44\x43\x19\x5f\x8d\
+\xf9\xfe\x10\x42\x08\xc7\x94\xec\xcc\xe7\x9b\x2d\xb6\xb7\xb0\x92\
+\x0f\xc7\x13\xbb\xe9\x81\x7f\x1c\xd4\x6f\x6f\xce\xb7\x2e\x5b\xed\
+\x87\x93\xe1\xee\xbb\x29\xfd\x43\x2d\x9f\xb8\x09\x08\x21\x84\x70\
+\xa4\xc9\xde\x0f\xc7\xca\x7d\x80\x99\xcf\x36\xae\xb0\xd8\x96\x31\
+\xe8\x2a\x07\x3a\xe6\xdf\x9f\xed\x7c\xc6\xf6\xb5\x7e\x73\x63\xef\
+\x89\x40\x5c\xa2\x31\x4f\x08\x21\x84\xe3\xe2\xfa\xf1\xec\x2e\x85\
+\xd9\xc6\x35\xe6\x9b\x69\x77\x3b\xdf\x41\x16\xad\xd9\x87\xac\x7e\
+\xf0\xc2\xd6\x15\x5f\x6c\x35\xe3\xa4\x07\xaa\x79\x77\x88\xef\x10\
+\x0d\x7a\x42\x08\x21\x1c\x7d\x2e\xe3\xf4\xbe\x38\xbb\xf5\xfb\x84\
+\xc5\xd6\x06\x8b\xad\xdd\xa9\x7e\x81\xe3\x9d\xd5\x0f\xce\x7c\x33\
+\xd7\xad\x36\x0b\x8e\x39\xae\x72\x38\x0a\x17\x86\x10\x42\x08\x6f\
+\x3c\x05\xf5\x65\xe4\x17\xb1\xf9\x26\x8b\xad\x84\x09\xd8\xee\x3e\
+\xf7\x03\x7b\x6e\x37\x9f\x17\x16\x9b\xd9\xfa\x24\x86\x50\x1d\x11\
+\xd9\xc9\xec\x73\xd9\x9d\x1e\x89\xaa\x3e\x21\x84\x10\x8e\xae\x57\
+\x5f\xc0\x56\x95\x32\xa7\x6c\xe3\xfd\xf8\x19\x3f\xc8\xc4\xb6\x7d\
+\x19\xf1\xbb\xf1\xfc\x33\x13\xe9\x6d\xde\x7b\x45\x54\xdd\x97\x89\
+\x0f\x21\x84\x10\xc2\xb1\xe0\x7b\x8a\xf6\x88\xef\xc9\xea\xef\x6b\
+\xab\xce\xb3\xdf\xc7\x7b\xc5\x87\x7f\x39\xc0\xe7\xb9\x5f\x23\xfe\
+\xb2\xd1\xf8\x7c\x68\xc6\x5b\x25\x0d\x79\x8e\x7b\x5e\x78\xac\xf1\
+\x87\x10\x42\x38\xf2\x5c\xc6\x65\xec\x1b\x92\xf8\xb2\xf7\xf4\x9b\
+\xf8\x02\xcc\x11\x3f\xde\x53\xfd\x15\xa8\x0b\xb6\xae\xa4\xba\x60\
+\x58\xf0\xd0\xc4\x9e\xb4\x86\x98\xde\x0f\x21\x84\x70\x1c\xc8\x8d\
+\x1f\xb8\x8c\x3b\xf7\xb2\x55\xb6\xae\x52\xfb\x34\xcc\x83\xa3\x72\
+\x70\x03\xde\x7d\x79\x64\x2b\x8b\xcd\x2b\x8d\x2f\x86\xd7\xef\x92\
+\xdc\x7d\xcf\xc2\xfe\x9e\xd8\x1f\xbb\xf9\x43\x08\x21\x1c\x03\xbe\
+\xac\x4f\x33\xf4\xe8\xa3\xf4\x1b\x97\x29\xdb\x82\x1b\xca\x81\x86\
+\xbb\x7d\x29\xe0\x63\x75\xbe\x71\x35\x0d\xfd\x09\x54\x90\x74\xe0\
+\x39\x8d\x21\x84\x10\xc2\x1b\xcb\x86\x28\xbf\x77\x05\x7f\x98\xea\
+\x17\x92\xd7\xc5\xb5\xab\xd4\x5e\x97\x5f\x79\x80\xf6\x65\xc4\x5f\
+\xcb\x6c\xe3\xca\x4e\x1a\xbf\x5c\x5f\xa6\x38\x76\xf5\x85\x10\x42\
+\x38\x3e\x6e\x2c\xce\xa3\x38\xc9\x6d\xbe\x75\x95\xd2\x83\x19\xee\
+\x07\xba\xc8\xbd\x2f\x59\xfd\x56\xfa\xf9\xe6\xce\x1d\x90\xeb\x72\
+\xaa\x3f\x26\xf6\x43\x08\x21\x1c\x5f\xb6\x33\xd0\xf5\x3a\x9f\x6d\
+\x60\xe5\x30\x3c\xab\xfd\xc9\xea\xf7\xb2\x58\xc0\x8f\x2e\x54\x14\
+\x89\x7e\x21\x84\x10\x8e\x87\xdd\xf8\x2a\x80\x95\xc5\x82\x65\xa1\
+\xfa\x63\x9e\xd5\xbf\x8e\xf1\xf4\xf7\x4e\x98\xe0\x90\x59\x98\x4f\
+\x16\x9b\x13\x9f\xa3\xf4\x0d\x0b\x6d\xdd\x3b\xf5\x22\x52\x92\x9b\
+\x56\x42\x08\x21\x84\xa3\x28\x1b\xd9\x71\x72\x91\x16\x50\xa3\xb3\
+\xb9\xab\xa1\x64\x9f\x9f\xda\xfa\x01\x97\xbf\x2b\x26\x0b\x12\xa8\
+\x94\xed\x83\x7a\x9e\xfb\x52\xab\xdf\x8a\xfb\x38\xad\x3f\x4e\x7b\
+\xc4\xc8\x3e\x84\x10\xc2\xad\xc4\xdd\xb1\x43\x51\xb9\x6e\x1f\xa6\
+\xfa\x8d\x52\xdc\x2b\x80\x23\xaf\xd8\xba\x18\xf7\x00\x21\x84\x10\
+\x8e\x21\xd9\x9d\xd2\x57\x07\x37\xfa\xf9\xde\xce\x3d\x07\x65\x1f\
+\x02\xbf\xb3\x98\x63\x36\xbc\x48\xd9\x3b\xe4\x8f\x98\x1f\x42\x08\
+\xe1\x58\xdb\x5d\xce\xb7\xc2\x7c\x86\x1f\xfc\x56\xb6\x7d\x19\xf1\
+\x2f\xe6\x5e\xcb\x90\xc3\x2f\x72\x7d\x33\x42\xb1\xeb\x92\xfb\xe3\
+\x56\x20\x84\x10\xc2\x11\xf5\xaa\x43\xda\x21\xc4\x89\x9b\x15\x66\
+\xdb\xbb\x23\xfe\x83\xbb\x01\xb8\xf9\x81\xdf\xad\xf6\xf3\xb1\x39\
+\xa1\x2c\x47\xfc\x7b\x3a\x19\xbc\xca\x09\x0a\x21\x84\x10\x8e\xac\
+\x9d\xba\x35\xbb\x4b\xfa\x8e\xd4\x61\xc4\xef\x7a\xd0\xfd\x69\xf6\
+\x21\xf0\x17\xef\xe7\x58\x1d\xdb\x11\xa9\xbc\xf2\x04\x45\x8b\x9e\
+\x10\x42\x08\xc7\xc8\x6e\xc4\xb7\xa1\x5c\xbf\xe3\x56\x59\x6c\x43\
+\xd9\xd9\xda\x7f\x50\x4f\x6e\x3f\x46\xfc\x5e\x7b\xf1\x3a\x4e\xf5\
+\x93\xae\x0f\xf4\x76\xd0\xb5\x0b\x43\x08\x21\x84\x9b\x62\x5c\xe0\
+\x1f\x42\xbc\x55\xea\x02\xb7\x65\x08\x3c\xb0\x31\xef\x7e\x8c\xf8\
+\x37\x37\x2e\xe7\xe5\x40\xbf\xd6\x0a\x63\xac\x1f\xda\x15\x5f\x77\
+\x82\x62\x8d\x3f\x84\x10\xc2\x91\xb5\x77\xe1\x7e\xd9\xa3\x47\x51\
+\xc5\xc1\x8a\xcd\xb6\x11\x1b\x1a\xd7\xa0\xc7\x39\xf0\x57\xb5\xaa\
+\xc3\x19\xf0\xe5\x49\xd9\x9b\xde\xb7\xcf\xcf\x27\x84\x10\x42\xb8\
+\x89\x4c\x96\x33\xd9\x8e\xfa\x32\xea\x25\xaf\xe2\x05\x37\x3d\xe8\
+\x21\xee\x7e\x64\xf5\x5b\x29\x82\xed\x44\xf8\x7a\x5d\xac\x37\x30\
+\x89\x9c\xbe\x10\x42\x08\x47\xdc\xab\x17\xe2\x75\x65\x28\x61\xe7\
+\x15\x5b\xe0\xcb\x72\xfd\x07\x17\xf8\xf6\x63\xaa\xdf\xca\x4c\xdc\
+\x60\x78\xed\x31\x9b\x1f\x42\x08\xe1\xd8\xda\x3b\x94\x35\x74\x77\
+\x9e\xdb\x2a\x7d\x8f\x5b\x62\xf9\x99\x03\x72\xf3\x03\xbf\x50\xcb\
+\x42\x97\x2f\x52\x44\xdc\x7d\xe7\x71\xd5\x89\xe1\x7e\x08\x21\x84\
+\xe3\x4b\x70\x47\x11\xaf\x56\x7b\xb0\x03\x5f\xd2\xde\x9f\x7d\xfc\
+\x05\x8c\xb4\x9c\xed\x90\x03\x7d\x3e\x21\x84\x10\xc2\xcd\xe7\xc2\
+\x18\xd4\x1c\x04\xbc\x7a\x2d\x43\x83\x3e\x61\x9c\x03\x3f\x10\xfb\
+\x30\xe2\x37\xaf\x65\xef\xb0\xfe\x10\xd4\x2b\x0c\x21\x84\x10\x6e\
+\x3a\x17\xc6\x25\x6e\x01\x30\x2b\xec\xc4\x5d\x3f\xce\x59\xfd\x98\
+\x99\xe8\x0f\xb9\xb5\x91\xa1\x6a\x6f\x08\x21\x84\x70\x4c\xc8\x2b\
+\xeb\xd3\xc8\xd0\x9d\xcf\x77\x4b\xd7\x1c\xe7\x11\xbf\xd7\x22\x5d\
+\xef\xa7\xd8\x46\x1d\xf5\x99\xb7\xd5\x25\x53\xc9\x85\x2a\x2c\x32\
+\x2e\xe4\x8a\x18\x7d\x8a\x0b\x26\x84\x10\xc2\x91\xe4\x4e\xae\xe4\
+\x5a\xf0\x6c\x64\xa0\xb3\x45\xe3\x73\x13\xf5\x9e\x94\xdb\xbe\xcc\
+\x91\x6e\x0b\x7a\x8e\x79\x77\xbe\x10\x42\x08\x21\x1c\x16\x11\xf8\
+\x43\x08\x21\x84\x5b\x48\x04\xfe\x10\x42\x08\xe1\x16\x12\x81\x3f\
+\x84\x10\x42\xb8\x85\x44\xe0\x0f\x21\x84\x10\x6e\x21\x11\xf8\x43\
+\x08\x21\x84\x5b\x48\x04\xfe\x10\x42\x08\xe1\x16\xb2\x4f\x81\xdf\
+\xdd\x69\xa0\x20\x22\x66\x26\x12\xc5\xfb\x42\x08\x21\xdc\x2a\xa4\
+\x49\x22\x22\x22\xc8\xb2\x68\xdd\x71\x2e\xe0\x03\xaa\x31\xaf\x10\
+\x42\x08\xe1\x56\x77\x48\xa2\xe1\x7e\x3c\x89\x9c\x33\x8c\xbd\x87\
+\xdd\x7d\xe7\xcf\x10\x42\x08\xe1\xd8\x73\xf7\x61\x7c\x3f\x46\xc3\
+\xc1\xc1\xcd\x7c\xef\x6f\xe0\x8f\x09\xfe\x10\x42\x08\xb7\xa0\x21\
+\xf0\x37\x0d\x87\x20\x12\xee\x53\xe0\x17\x19\x7b\x16\xf8\x9e\x71\
+\x7f\x08\x21\x84\x70\x4b\x18\xa2\x5e\xd3\x70\x08\xc2\xdf\x7e\x04\
+\xfe\xa6\x69\x20\x46\xfc\x21\x84\x10\x6e\x55\x43\xb8\xbf\x75\x02\
+\x7f\x4a\xbb\x4d\xf7\x62\xc4\x1f\x42\x08\xe1\x16\x95\x12\xb7\xc8\
+\x54\xff\x98\xc7\x18\xb1\x3e\x84\x10\xc2\x2d\x69\x1c\xed\xee\xcd\
+\xea\x3f\xce\xc9\x7d\xe9\xe2\x6c\xb2\xbe\xc8\x3d\x19\x0a\x9d\xe4\
+\x64\xa6\xde\x0f\xf7\x3c\xb9\x74\xb9\x9f\x6a\x55\xa0\x26\x16\xc9\
+\xe2\xfa\x08\x21\x84\x70\x14\xd5\x21\xa4\x2a\xa6\xa5\x68\x12\x53\
+\x2d\xe4\x8a\xab\xcc\x9a\x6e\xb3\x5d\x67\xf5\x0c\xd2\x00\x3d\x70\
+\x70\xf1\x6e\x1f\x46\xfc\x92\x52\x72\x51\xd8\x9d\xe0\xd8\xb9\xd1\
+\x71\xb9\x6e\x1e\x40\x63\x56\x20\x84\x10\xc2\xb1\xa4\x09\xcd\xbb\
+\x61\xf7\x38\x8f\xf8\x85\xb6\x9b\xec\xfd\xeb\x0d\x65\xfb\x2c\x32\
+\xfe\x42\x08\x21\x1c\x4b\x02\xa0\x8e\x89\xba\x28\xcd\xe4\x30\x24\
+\xb9\xef\xc3\x88\x3f\xb7\x2b\x6b\x16\x4d\x01\x42\x08\x21\x1c\x7b\
+\x3b\x13\xdb\xb8\xef\xc6\x78\x03\x48\x2d\x93\x55\xd0\x5b\x20\xb9\
+\x4f\x94\xd5\x35\x53\x1d\x1f\xca\x15\xbf\xf1\x55\x7b\x0c\xfa\x43\
+\x08\x21\x1c\x17\xf2\x8a\x65\x6b\x47\x5d\x3b\x26\x6b\x7b\x66\xf8\
+\x8f\x73\xe5\x3e\x65\xba\xe6\x2c\xeb\x14\x4a\x7a\xc5\x19\x1a\x13\
+\x1c\xd4\x63\x9f\x7f\x08\x21\x84\xa3\x6c\x08\xf9\xd7\x07\x33\x01\
+\x24\x59\x9a\x30\x59\x83\xac\xaf\x76\x67\xb0\x9f\x6e\x7a\xe0\x37\
+\x84\xc9\x6a\x95\xdd\x07\xf2\x9d\x8f\x05\x93\xd8\xe5\x17\x42\x08\
+\xe1\x58\x10\xdb\x99\xc0\x16\x37\x5c\x97\x1f\x03\x94\xdc\xd1\xae\
+\x21\x2a\xc7\x3e\xf0\x17\x51\x9a\xd6\x49\xcb\x3b\x20\x61\x5c\xee\
+\x78\xb5\x67\x13\x77\x01\x21\x84\x10\x8e\x34\x41\x1c\x1d\x02\xdd\
+\xf2\x3e\xc0\x44\xab\xb6\x34\x2b\x48\x16\x10\xf0\x83\x4b\x7d\xbb\
+\xe9\x0f\xec\x02\x6d\x97\x27\xab\x38\x64\xa9\x86\x4a\xd6\x9c\x76\
+\xff\x75\xe7\x5c\x45\xd4\x0f\x21\x84\x70\x64\x89\xe3\xb2\x5b\xad\
+\x6e\x77\x4a\x5b\x59\xf4\x65\xe5\xcc\x45\xa4\x83\x8c\xd3\x1e\x68\
+\xbe\xfb\xcd\x1f\xf1\x03\xda\x68\xdb\x39\x0a\xf2\xca\x47\xf4\x3d\
+\x53\x00\x11\xfb\x43\x08\x21\x1c\x69\xc3\x80\x56\x7c\x88\x6b\x63\
+\xe1\x5a\x13\xa5\x59\x21\x4d\x86\x1d\xed\xb2\xf3\x4f\x07\xe1\xa6\
+\x3f\x70\x05\x24\x4f\xa6\x6b\xe6\x63\xd4\x17\x11\xdc\x91\x7f\xfa\
+\xac\x7f\x08\x21\x84\x70\xc4\x5c\x1f\xd2\x74\x67\x3e\xdf\xd1\x3c\
+\x3d\x89\x4e\x91\x3c\x7c\xf6\x00\x83\xdf\xbe\x04\xfe\x94\xa7\xeb\
+\x27\x2a\x0a\xea\x26\xa0\x3b\xed\x89\x6e\x98\xea\x8f\xac\xfe\x10\
+\x42\x08\xc7\xc0\x10\xce\xc6\x0a\x75\x8e\x88\xb4\x6b\x27\x68\x26\
+\x80\x0a\x72\xa0\x83\xde\x7d\x09\xfc\xda\x36\x27\x4e\x3a\xba\xb3\
+\x7f\x71\xa8\x6b\xb0\x9c\xd7\xf7\xd8\xc7\x1f\x42\x08\xe1\x18\x70\
+\xd4\x77\x6b\xd2\xc3\x9e\x11\x7f\xb7\x76\x9a\x3c\x75\x67\x88\x7e\
+\xc7\x79\xc4\xef\x40\x4a\xac\xad\x1b\x0e\x6a\x08\xd7\xb7\xe5\xdd\
+\xb9\x21\x0a\x21\x84\x10\x8e\xbc\x3d\xe1\xcc\xf7\x04\xb8\xbc\x76\
+\x82\xd4\x18\xc3\x70\xff\x58\x8f\xf8\x1d\x48\x99\x95\x35\x37\x59\
+\x56\x2a\x8c\xf2\xbd\x21\x84\x10\x6e\x01\xcb\xe1\xbf\x89\x30\x59\
+\x41\x5b\x63\x6c\xcf\x73\x80\xa3\xdd\x7d\x28\xe0\x03\x22\x34\xcd\
+\xde\x53\xf0\x43\x9f\x4d\x8c\xfb\x43\x08\x21\x1c\x4b\x4d\xcb\xe1\
+\xc8\x64\xbb\xe9\x81\xff\x82\x03\x1d\x77\x3c\xf1\xec\xf4\x76\xac\
+\x6f\xfd\x9a\x96\xab\xdb\xea\xae\x88\xd3\x16\x4b\x96\xaa\xe2\x19\
+\x4f\x98\x44\x92\x7f\x08\x21\x84\x23\x29\x19\xe2\x6a\xcb\xed\x7a\
+\xe2\x8c\x41\x56\xe8\x11\xce\x9d\x25\xeb\x42\xa9\xa6\x18\x6d\x39\
+\xb0\xe7\x79\xd3\x03\xbf\x00\x24\x24\x49\x6a\x70\xc7\x5d\xc4\x6f\
+\x68\xcc\x3b\xfe\x37\x86\xfb\x21\x84\x10\x8e\xb4\x57\x1d\xbe\x0a\
+\xb9\xed\xd0\x74\x48\x56\xba\x6f\x7e\xe0\x1f\xee\x7d\x9a\xa6\x99\
+\x4c\x40\x86\x5d\x0d\xcb\xba\x7d\xc3\x09\xd9\xfd\x38\x84\x10\x42\
+\x38\x36\x64\x59\xb8\x77\xb2\x76\x02\xcd\xec\x86\xbc\x83\xbc\x03\
+\xd8\x97\xc7\x96\x44\xbb\x9a\x57\x4e\x56\xd7\x31\xd8\xdf\xd0\xa5\
+\x78\x5f\x9f\x4d\x08\x21\x84\xf0\xc6\x1b\xd2\xd8\xf6\x24\xab\x8d\
+\x01\xae\xd2\x4c\x4f\x9c\x25\x37\x76\xdd\x18\xf7\xc0\xc6\xbb\x37\
+\x3f\xd4\x3a\x88\xd0\x4d\xba\xb5\x53\x55\x75\x68\x4f\x28\x22\x3f\
+\xf4\x8b\x43\x08\x21\x84\xa3\x6b\x19\xdf\xd4\x51\x77\xd0\x22\xcd\
+\xe4\xe4\x79\xd2\xe4\x95\x5f\x73\x20\xf6\x67\xc4\x9f\x69\xd7\xf2\
+\x89\x53\x55\x1b\x00\xb1\x71\x23\xff\xf5\xb3\xfc\x51\xa8\x3f\x84\
+\x10\xc2\x51\xa6\xea\x06\xf8\x4e\xc5\x7e\xcc\x85\x5e\x5b\x39\x75\
+\x91\xa6\x63\x6f\xd0\x95\x03\x0b\xfe\x37\x3f\xf0\xd7\x02\x4a\xb7\
+\xaa\xab\xa7\xaa\x66\x00\xdb\x5b\xbf\xe7\x3a\xe2\x31\xd9\x1f\x42\
+\x08\xe1\x48\xb2\xdd\x64\xfe\x61\xb6\xdb\xc4\xcd\xc9\x73\x69\x59\
+\x3b\x4b\xea\x86\xe0\x67\x7b\x2a\xfa\x1d\x88\x7d\x78\xec\x0a\x4a\
+\x9e\x5a\xb7\x56\x52\x3b\x14\xee\x1b\x17\x3e\xc6\xf0\x6f\xfc\xe8\
+\x1d\xfe\x21\x84\x10\xc2\xe1\xb6\x67\xec\xea\x32\xdc\x01\x98\x89\
+\x2c\x64\xc2\xe4\x04\xda\xe2\x63\x19\xbb\xe3\x3e\xd5\xaf\xa9\x22\
+\x48\xbb\x76\xe9\xee\x8d\xbe\xd2\x36\x37\x2c\xe4\xef\xe6\x41\x78\
+\x8c\xf8\x43\x08\x21\x1c\x61\xc3\x3e\x36\x17\x4c\xc6\x0e\x7c\x8e\
+\x96\x66\x95\x8b\x77\x53\x75\xdc\xd5\x2f\x43\x1b\x9b\x03\x73\xf3\
+\x03\xad\x99\x8b\x92\x26\x74\xeb\x34\x1d\xee\x38\x09\x61\xcf\x64\
+\xc8\xf8\x41\x08\x21\x84\x70\x64\xdd\x30\x75\x3d\x4c\x70\x3b\x6a\
+\x79\x85\xf6\x24\xda\xb2\xbc\x33\x38\xd8\x3d\x6c\xfb\x90\xd5\x5f\
+\x2b\x54\x3a\x56\x4f\x48\xb7\x86\x0f\x35\x7c\x65\xa7\x9e\xd1\x75\
+\x3b\xfa\x62\xc4\x1f\x42\x08\xe1\xa8\x52\xf1\x21\xb5\x0f\x5f\xc6\
+\x38\x13\xd5\x95\x53\x4c\x4e\x92\xba\xdd\x2f\x3c\xe6\x53\xfd\xe6\
+\x06\x3d\xb0\x7a\xba\x59\xdd\x1b\xf8\x43\x08\x21\x84\x63\xc8\x04\
+\x47\x77\xee\x00\xda\xb5\xd3\x4c\x4e\x90\xba\xea\xc3\xe7\x00\xf0\
+\x63\xbc\x8f\x5f\xcc\x87\xc0\xbf\x7e\x6a\xb2\xb6\x3e\xa4\x33\x8a\
+\xff\x90\xc1\x7d\xe4\xf8\x85\x10\x42\x38\x9a\x6e\x8c\xe4\x02\x60\
+\x48\xb7\x7e\x9a\xe9\x09\x24\x73\x38\xea\xd4\xed\xc3\x73\x90\xe5\
+\x88\x7f\x7d\xb2\x7a\x02\x11\x9c\xbd\xfb\xf9\x86\x50\x6f\x11\xf1\
+\x43\x08\x21\x1c\x6d\xaf\x88\x64\x8e\x0b\xab\x27\xcf\xd2\xae\x00\
+\x22\x7b\xbe\xe2\x38\xef\xe3\x97\xe5\x54\x7f\x6a\xdb\xc9\x14\x15\
+\x64\x08\xfc\xaf\x78\x68\xd7\x28\xda\x1b\x42\x08\xe1\x18\x30\x59\
+\xe6\xb0\xa3\xcd\xda\x3a\xd2\xd8\x9e\xfb\x02\x3b\xd0\x4e\xb4\xfb\
+\x10\xf8\x97\xf9\x7b\xa2\xb4\xcd\x70\xc3\xe3\x1e\x49\xfc\x21\x84\
+\x10\x8e\xab\xeb\x63\x6b\x3b\x41\xb4\x2e\xe3\x9e\x1f\xe4\xfa\xfe\
+\x2b\x9f\xdc\xcd\x60\xdb\x27\x8c\x13\x3d\x78\xe3\x6f\x79\xfc\xcb\
+\x6b\x77\xbe\xc4\x4a\x6a\x3a\x91\x45\x9f\x99\xa5\xd5\x4a\xd7\x54\
+\xb2\x81\xda\xac\xc9\x71\xbd\x84\x10\x42\x38\x92\x74\x4e\x85\x22\
+\x46\x9e\xd9\x9c\x06\x0a\xb6\xf6\x60\xb9\xeb\xf1\x97\xf3\x9a\x29\
+\x79\x36\xcf\x05\x87\x79\xa6\xa6\xcd\x03\x7b\x9a\x37\xfd\x11\x44\
+\x11\x54\x21\xa9\xac\x9d\xd2\xdc\xa8\x2a\x56\x96\xff\x7c\x7d\x77\
+\x3e\x3f\xd0\xe9\x8f\x10\x42\x08\xe1\xb5\x1a\xdb\xd0\x03\x62\x49\
+\xc0\xc1\x90\xdc\xe4\xd5\xf5\x66\x0c\xb6\x3e\x0c\xf6\x15\x0e\x70\
+\x69\x7b\x1f\x02\x7f\x03\xb4\x0a\x92\x39\x7b\x49\xba\xd5\x9c\x84\
+\x52\x87\x73\xa2\xa0\xee\x43\x45\x03\x93\x65\xeb\xe2\x10\x42\x08\
+\xe1\xa8\xd9\x9b\xae\xa7\x43\x74\x75\x74\xba\xc2\x89\x93\xca\xd8\
+\x9b\x76\x58\xea\x36\x10\x8e\x71\x72\x5f\xca\xf8\x50\xb2\x38\x71\
+\xe2\x7c\xb3\x72\x52\x75\x67\x9c\xaf\xe2\xa6\x5e\x00\x13\x4c\x48\
+\x7e\xa0\x65\x0c\x43\x08\x21\x84\xd7\x4a\x19\x8b\xf2\x62\xae\x80\
+\xd3\x27\x26\x27\xcf\x30\x5d\x19\x63\x6d\x4a\x24\x38\xe0\xfa\x3d\
+\xfb\x31\xd5\xd0\x00\x18\xe6\x4a\x73\x62\x72\xfa\xe2\xde\x7f\x13\
+\x2a\x98\xc3\x42\x31\x18\x6e\x02\x42\x08\x21\x84\xa3\xc7\x1c\x40\
+\x45\xb0\x2c\x20\xcc\xd2\x4a\x3a\x7f\x3b\x64\x1f\x47\xfc\x00\xe9\
+\xd8\x4f\xf5\xfb\x50\xb2\xc0\xbd\x77\x41\x57\x4e\x5e\xba\xc7\x0c\
+\x14\x1c\x13\x14\x1b\xb6\x39\x16\xd1\x9d\x96\x06\x21\x84\x10\xc2\
+\x91\x23\xee\x20\xa8\x88\xb9\x3a\xc5\x29\xdd\x1a\x17\xee\x04\x5d\
+\x96\xf0\xd5\x21\xf6\xef\xfe\x71\x10\x6e\x7a\xe0\x5f\x00\x6e\x88\
+\xb9\xb6\xc8\x74\x7a\xdb\x7d\xbd\xc9\xf8\xb0\xae\x43\xdf\x62\x83\
+\x2a\x79\x2c\x70\x18\x42\x08\x21\x1c\x41\x56\x01\x1d\xbb\xd1\x38\
+\x45\xf2\xbc\x3b\xc9\x85\x3b\x91\x9c\x86\x51\xad\x80\x9b\x1c\xfb\
+\x11\xff\xb8\x73\x51\x5c\xa0\x32\xe5\xcc\xed\x0b\x69\xc7\x87\x15\
+\xdb\xc9\xe6\x73\x92\x45\xf5\x9e\x10\x42\x08\x47\x96\xda\xd8\x7d\
+\x4f\x1d\x71\xaa\x34\x5b\xed\x3a\x27\xce\xa3\x29\x0f\xab\xff\x42\
+\x5f\xcb\x98\xe8\x77\xac\xb3\xfa\x87\xff\xb8\x43\x4f\xc7\xda\xf9\
+\xe6\xc4\x79\x5f\x8c\xa7\x66\xfc\xb7\x1b\x7a\xf4\x85\x10\x42\x08\
+\x47\x8d\x24\xe9\x8b\x55\xab\x43\x4c\x33\x9d\xe6\xb3\xb7\x71\xea\
+\x22\xd2\xe9\x98\xe4\xae\x4d\xdb\x0e\x23\xfe\x63\x9d\xd5\x3f\x70\
+\x07\x2a\x30\x3d\xd9\x9c\xbe\xd3\x72\x5a\xce\xf1\x03\x88\x23\xb8\
+\x46\xec\x0f\x21\x84\x70\x74\xb9\x9a\x40\x1a\x1b\xf2\xf6\xd2\xb4\
+\xe7\xee\xa4\x3b\x81\xa4\xf1\x0b\xc6\x32\xbe\x76\xcc\xb3\xfa\xf7\
+\x3e\x80\x01\x93\x53\xeb\xb7\x3f\xd0\xe7\x75\x17\x86\xad\xfc\x08\
+\x0a\xd9\x16\xc9\x0b\xd1\xaa\x27\x84\x10\xc2\x11\xe5\xb8\xa8\xa6\
+\x84\x81\x31\x37\x3d\x71\xc7\x03\x74\x6b\xc8\xd8\xa2\xb7\x8e\xe3\
+\x5d\xe3\x78\x97\xec\x15\x40\x14\x74\x8c\xe9\x69\xca\xa5\x07\xb6\
+\xd2\xca\xb0\x14\xe2\xc3\x3f\x39\x8d\x1f\x70\xb2\x43\x08\x21\x84\
+\xf0\xfa\x08\x22\x92\x74\xa8\xd9\x57\x69\x56\x6e\xbf\x1b\x9d\x22\
+\x63\xc0\x1f\xc3\xfd\x41\xa7\xb1\xef\x4b\xe0\x77\x47\x10\x4c\x01\
+\x6d\x39\x7b\xd7\x3c\xad\x39\xaa\x0e\xae\x4e\x16\x68\x1c\x75\x4c\
+\xa2\x56\x7f\x08\x21\x84\x23\x2a\x89\x68\x1d\x02\x7b\x25\x4f\x56\
+\x39\x7d\xa9\x97\xb6\x2e\x27\xb3\x6d\x9c\xe7\x76\xfc\x20\x07\xfd\
+\xfb\x33\xe2\x17\x50\xc1\x12\x20\x0d\xa7\xef\xd0\xd5\x33\x2e\x2a\
+\x8e\x89\x56\x15\x1c\x31\xd4\xa9\x12\x73\xfd\x21\x84\x10\x8e\x26\
+\x77\x92\xd6\x5a\x01\x9c\xf5\xd3\x67\x59\x3b\x35\x47\xc6\x92\xb4\
+\x3b\xa9\x6d\xb7\xc4\x88\x1f\x10\xa5\x16\xc1\xa8\x70\xea\xfc\xea\
+\x99\x4b\x86\x0a\xb8\xe0\xcb\x82\x06\x80\x13\x23\xfe\x10\x42\x08\
+\x47\x93\xb9\x88\xf4\xa5\x90\x40\x58\x3d\x77\x81\xc9\xda\x38\xca\
+\x77\xd8\x8d\xf8\xc7\x7d\x8d\x3f\xed\x7c\x34\x26\xf6\x3b\x93\xb5\
+\x95\x13\xa7\x7c\x08\xf6\x2e\x63\xdd\x9e\xc3\x90\xe9\x18\x42\x08\
+\x21\xbc\x66\xee\x80\x0d\x29\x6c\x0a\x27\x4f\xd3\xb4\x87\xb0\x03\
+\xcd\xcd\x1f\xf1\xd7\x2b\xae\x56\xdd\x1b\xc9\xdd\x62\x3b\xe9\x84\
+\xee\xfc\xe6\x5b\x3e\xfc\x5c\x3e\x4b\xa5\xa9\xf3\x59\xbf\xb8\xd2\
+\xdd\xb9\xa1\x27\x10\x26\x65\xf3\xf0\x9d\xa2\x10\x42\x08\xe1\x47\
+\x2b\xe2\x8d\x54\x29\x94\xb4\xf2\xcc\xca\x43\xdc\xfb\x1e\x9a\x95\
+\x0e\x3a\x03\x31\xd2\xb6\x33\x77\x14\xef\x00\x61\x7e\x50\xcf\xf3\
+\xe6\x67\xd1\xab\xbe\xe2\xe1\x52\xb7\xba\x9a\x27\xd3\x61\x32\x24\
+\x89\x8b\x57\x19\x7b\x1b\xc4\x95\x13\x42\x08\xe1\x68\x52\xc1\x6b\
+\x93\x40\x52\xb3\xba\xc6\xda\x89\xbd\xb3\xde\xa0\xc2\x2b\x03\xe2\
+\x41\x3c\xcd\x9b\xfe\x08\xb2\xe7\x21\x44\x30\x48\xa9\x3d\x7d\xbe\
+\x5b\x3b\x35\x3c\x7e\x16\xb2\x55\xf7\x7a\xa0\x85\x8c\x42\x08\x21\
+\x84\xd7\x45\x44\xa4\xd6\x2e\x51\xf1\xc9\xe9\x73\x9c\x3a\x0f\x79\
+\xa8\xd4\x8b\x18\xc3\x6e\x3f\xc6\xba\x7d\x07\x48\xf7\xf1\x21\x04\
+\x4d\xe3\x6a\xc7\x99\xf3\x69\xed\x6c\x2f\xe0\x34\x52\x13\x7d\xde\
+\x59\xe7\x0f\x21\x84\x10\x8e\xa2\x04\x05\xa0\x77\x9a\xf3\x17\x39\
+\x71\x11\xba\xb1\x1b\xaf\x3a\xe8\x50\xb0\x7f\xa8\x5c\x87\xa7\x83\
+\x7a\x9a\xfb\x11\xf8\x6d\xa8\xca\x2f\x0c\xf7\x3c\x2e\xb0\x7a\xaa\
+\x3d\x75\x71\x46\xc6\x51\xbc\xf1\x99\x4a\x1d\x52\xfc\x43\x08\x21\
+\x84\x23\x49\x9d\x0a\x95\x5e\x9b\x7c\xfe\x4e\x56\x4e\x39\x4d\x02\
+\xb0\xa1\x62\x5d\x42\x75\xa8\x5e\x2f\xe0\xc7\x77\xaa\xdf\x49\x80\
+\xea\x90\xe3\xa8\x36\xbe\xe6\xc9\xea\xa5\xfb\xfa\x76\x6d\x7c\x12\
+\x75\x91\x01\x4d\x51\xac\x3f\x84\x10\xc2\x11\x25\x3a\x96\xee\xf1\
+\x6e\x45\x2f\xdd\x43\x3a\x51\xc7\x49\xfd\x8a\xd8\x50\xa6\x16\x30\
+\xec\x60\x07\xb9\x37\x3d\xf0\x0f\xcd\x76\xc7\x82\xbd\x22\x28\x15\
+\xd0\x86\x3b\x1f\xf2\xf5\x0b\x36\x4c\x75\x58\x55\xa9\xa8\xc6\x1a\
+\x7f\x08\x21\x84\x23\xca\xdd\x86\x64\x3e\x5d\x3f\xcd\xed\xf7\x90\
+\x26\x75\x8c\xb2\x06\x06\x8a\x8f\x4d\x6a\x0e\xb6\x0d\xfd\x4d\x7f\
+\xec\xdd\x2d\x8c\xa2\x80\x08\xd5\x41\x5a\x2e\xdc\x5d\x57\x2f\x94\
+\xd4\x8e\xe7\x04\x43\x12\x29\x0a\xf8\x84\x10\x42\x38\x92\xdc\x1d\
+\x85\xa4\x75\xf5\x2c\xa7\x6f\x9b\x93\x9d\x31\xc0\x8d\x43\xfc\xb1\
+\x62\xbf\x1e\xf3\x11\xbf\x72\x5d\x56\xbf\x0a\x49\x40\x33\xa7\x6e\
+\x6b\xcf\xdf\xbb\xad\x13\x96\x77\x44\x6e\x56\xfa\x98\xec\x0f\x21\
+\x84\x70\x24\xe5\x0c\x73\x36\xbc\x3b\xfb\xa6\xb7\xb3\x72\xb2\x07\
+\x40\xae\xcf\x5e\x3b\x0c\x9b\xd6\xf7\x61\xaa\x7f\x8f\xe5\x7e\xbd\
+\x4a\xa6\x59\x9f\x5c\xba\x7f\x5b\x57\x48\xa0\xe0\xb8\xfb\xb0\xe1\
+\x21\x84\x10\x42\x38\x7a\x2a\x0b\x65\x7b\x7a\x96\xf3\xf7\xa2\x2b\
+\x43\xbc\xf7\xbd\x4b\xd8\xb2\xf3\x07\x07\x18\xef\x74\xff\x1e\x43\
+\xc6\x8f\x65\x98\xff\x4f\xab\x93\xfb\xde\xb6\xc8\xeb\xa6\xe3\x67\
+\xc5\x5c\x23\xab\x3f\x84\x10\xc2\x11\x55\x99\xe7\x66\xbe\x7e\x89\
+\xbb\x1e\x86\x66\xcf\x76\xfd\xa1\x74\xcf\x38\xd1\x2f\xbb\xbb\xdc\
+\x0e\x86\xee\xcb\x03\xec\x36\x24\x10\x2c\x61\x06\xc8\x84\xdb\x1f\
+\xa8\x2b\x67\x8a\xb4\x08\x98\xb8\x7b\xac\xf0\x87\x10\x42\x38\xaa\
+\x8c\x79\xb3\xda\x9f\xbb\x9b\x0b\xf7\xee\x04\x7e\x83\x65\xfd\x3e\
+\xdb\x19\x00\x2b\xec\x34\xed\xdb\x7f\xfb\x31\xe2\xbf\xfe\xd6\xa6\
+\x26\x2a\xb0\x45\x66\xfd\xe2\xf4\xec\x1d\x0b\x6d\x30\xf1\xa1\xb0\
+\x51\x94\xec\x0d\x21\x84\x70\x44\x55\xfa\x66\xa5\xbd\xe3\xcd\x4c\
+\xce\x42\x4e\x65\x7b\x48\x67\x5f\xc6\x7a\x1f\x02\x7f\x1a\xff\x5b\
+\x0e\xea\x69\xee\x5f\xa4\x1d\xc7\xfc\x6e\x50\x0c\xe6\x80\x4e\xcf\
+\xdf\xfd\xa6\xaa\x13\x77\xf1\xe5\x06\xc7\x10\x42\x08\xe1\x48\x72\
+\x6a\xb7\xba\x7a\xdf\xc3\xa4\x35\x37\xc9\xde\xc3\xcc\xc6\x8d\x7c\
+\x02\x36\x16\xee\x1d\x0b\xd5\x1e\xdf\x11\xbf\xc0\xf5\x19\x7e\xb6\
+\xfb\x57\xed\xd2\xbd\x0f\xd2\x4c\x0a\x62\xa2\x22\xb1\x8b\x3f\x84\
+\x10\xc2\x91\x65\x30\x59\x3b\x75\xcf\x43\x3d\x13\x91\xa4\x6a\x09\
+\xf3\x21\xe6\x2d\x37\xf6\xc1\xce\x38\xf8\x58\x27\xf7\xbd\xe2\xc4\
+\x2c\x87\xf6\xae\x5c\xb8\x4d\x72\x86\x21\xea\x47\x4a\x7f\x08\x21\
+\x84\x23\xcb\xd1\xdc\x71\xee\x62\x3f\xa4\xac\x2b\x42\xb1\x61\x64\
+\x7f\xfd\x46\xfe\xdd\x8f\x0f\xc2\x7e\x04\xfe\x05\xb9\x0c\x33\xf9\
+\x4e\x91\x6e\x46\xd3\xc2\x69\xa3\xf4\x53\x4e\x3f\xc1\x63\x3f\x5b\
+\x6d\x9a\x36\xe6\xb8\xff\x60\xb5\x8b\x2b\x27\x84\x10\xc2\x61\xa0\
+\x8e\x56\xb4\x22\x4e\x49\x2c\x32\x02\x5a\xd1\x1e\x7a\x3c\x4d\x48\
+\x2b\x75\xa1\xd2\xa3\xb0\x30\xbe\x7b\xea\xa1\xdb\xdf\xfe\x31\xae\
+\xf6\x2b\x26\x5b\xa2\xdb\x7e\xca\xeb\xca\x94\x92\x28\x35\xe5\x85\
+\x4c\x0b\xd9\x84\x92\x99\x09\x9b\x9c\x39\xb0\xd7\xb5\x0f\x0f\x70\
+\x43\x07\xc2\x9d\xc9\x7f\x11\x68\xda\xf5\xb3\xe7\x6a\x33\x1d\xbe\
+\x28\x79\xac\xf3\x87\x10\x42\x38\x14\x96\xed\xe5\xc6\xbf\xec\x6e\
+\x38\x1f\xb6\xab\x99\xb9\x7b\x12\x11\x11\x94\x9c\xb1\x76\x95\xd3\
+\x17\x68\x27\xcb\x2f\x41\x44\xf6\x36\xe3\x91\x65\x40\x3c\xd8\x85\
+\xed\x7d\x58\xe3\x37\xc1\xc6\x4e\x84\xcb\xfd\x8b\xb2\xf3\xe0\x79\
+\x22\x77\xdc\x5f\x57\x4e\x93\x14\xc8\xb5\x8f\x4b\x2d\x84\x10\xc2\
+\x61\xb0\xac\xbd\xa3\x37\x86\xea\xa4\xae\x98\x15\xbc\xe8\x38\xba\
+\x95\x94\xb0\xb5\xf3\x5c\xba\x8f\x3c\x79\xc5\x77\x52\x76\x87\xc1\
+\x96\x28\x69\xb9\xc3\xef\x40\xec\xc3\x54\x7f\x55\x4c\x96\x8b\x19\
+\xca\x70\x96\x6c\x7c\x70\xc9\x5c\xb8\xa7\x9e\xbc\xcd\xd3\x2a\xc6\
+\xc4\x62\xc4\x1f\x42\x08\xe1\x50\xb0\x9d\x80\xef\xca\x90\x8d\xcf\
+\xd0\x51\x17\x97\xa1\xc9\x5e\x8f\x1a\xee\x54\x77\xd4\x4f\xdf\xc3\
+\xb9\xbb\x90\x69\x31\x86\xaf\x17\xdd\x9d\xf2\x16\x10\x0c\xaf\x50\
+\xd3\x30\x1e\x3e\x20\xba\x2f\xa7\xce\x77\xb2\x18\x04\xd2\xd0\xab\
+\x4f\x96\x6d\xfa\xd6\x2f\x36\x17\x1f\xd8\xc8\x2b\xd5\x99\x44\xdc\
+\x0f\x21\x84\x70\x38\xb8\xec\xce\xf6\xcb\x30\x63\x3f\xee\xc4\x13\
+\x13\x64\x68\x3d\x23\x8e\x51\x0a\xe6\x39\x5f\x7a\x88\xd5\xf3\x68\
+\x57\x7c\xcf\xdc\xb6\xcb\xce\x88\x1f\x37\xbc\xe0\x26\xd4\xe3\x3d\
+\xe2\xbf\xf1\x11\x65\x6c\x4b\x88\x0b\x05\x68\x4e\xac\xdd\xf7\xb6\
+\xd9\xf4\x4c\x75\x52\xe4\xf5\x87\x10\x42\x38\x1c\xaa\xec\x56\xda\
+\x57\xdf\x19\xf1\x2b\x43\x17\xbe\xb1\xdd\x3c\x38\x55\x92\xb4\xeb\
+\x27\x1f\x78\x14\x3d\x41\x6a\x44\x87\x51\xae\xe3\xb0\x6c\xd2\x23\
+\x3b\xc9\xfc\x6e\xe3\x07\x07\xe4\xa6\x07\xfe\x65\x3e\x84\xee\x59\
+\x21\xd1\x61\x47\xa3\x0c\x81\x3f\x4d\x79\xf0\xed\x8b\xd5\xb3\x45\
+\xf4\xe0\xea\x19\x84\x10\x42\x08\xd7\x71\xc1\x6e\x4c\xc3\x53\x50\
+\xd7\x34\x96\x9e\xf1\x71\xda\x5f\xda\xb5\x74\xf2\xe2\xc9\xfb\xdf\
+\x8e\xb4\x08\x29\x0d\xed\x79\x01\x7c\x6f\x97\x9e\xc3\x31\xab\xbd\
+\x0f\xdd\xf9\xc4\x48\x8e\xfa\x90\xdb\xe8\xcb\x57\x2e\x36\x16\xec\
+\x91\x8e\x4b\xf7\xcd\x57\x4e\xf5\xd2\x1c\x92\x93\x12\x42\x08\x21\
+\xb0\xa7\xb7\x9e\xec\xc9\xea\x17\x11\x55\x65\xb9\x10\x60\xa9\xb1\
+\xc9\x29\xd6\x2e\x70\xe2\xa2\xd1\xfa\x90\xbd\xef\xc3\x82\xf6\x0d\
+\x51\x4d\x21\x23\xba\x4c\xf0\x3f\x18\xfb\x30\xe2\xcf\x8e\x56\xa8\
+\x7b\x2a\xf6\x01\xb5\xf4\x02\xbd\xd1\xbb\xd2\xae\xdd\xff\xd4\x87\
+\xae\xd6\xa8\xdc\x17\x42\x08\xe1\xb0\x18\x86\xfb\xcb\xd8\x3f\x46\
+\x30\x17\x2a\x62\x82\xfb\xb2\xea\x6e\xb3\xfa\x83\xab\x95\x0f\x7c\
+\x0e\x45\x5b\x31\x41\x41\x65\xac\x56\x27\x92\x77\xfe\x47\x64\x48\
+\xed\xcf\x7b\xf7\x06\xee\xbf\x7d\x18\xf1\x8f\x7f\xee\x56\xec\x1b\
+\x4e\x45\x4a\x40\xab\x98\x83\x76\x5c\xba\x5b\x4e\x5c\x88\xeb\x2c\
+\x84\x10\xc2\x61\x34\x66\xeb\x2d\x13\xd5\xcd\xb3\x32\xcc\x5b\x6f\
+\x79\xdb\x5c\xb8\x97\x53\x77\xfa\xce\x72\x3e\x43\x63\x1a\xbb\x6e\
+\xc0\x3f\xfe\x5b\x42\x92\xa1\x07\x98\xd2\xa6\xfb\xf6\x00\x63\x66\
+\xff\x72\x5b\xa4\x8b\x16\x2b\x79\x38\x8d\xa9\xe1\xb6\x7b\x57\x6e\
+\x7f\x70\x4e\x54\xee\x0b\x21\x84\x70\x28\xec\x8e\xca\x77\x1a\xcc\
+\x2e\x27\xa6\x6b\xb5\xa4\xc3\x9c\x7d\xbe\x66\xf9\xf4\x7d\x6f\xe5\
+\xec\xfd\xc3\xcd\xc1\x75\x61\x75\xdc\x11\xb0\x77\x80\xaf\x1c\x74\
+\x23\xda\x9b\xfe\xf0\x69\x67\x1b\xe4\xf8\x89\xe1\x0e\x48\x1d\x15\
+\x91\xe4\x43\x11\x83\x86\x93\xe7\x4e\x3c\xf0\xb6\x97\xe5\x64\x5c\
+\x6a\x21\x84\x10\x0e\x03\xd9\xc9\xe4\x1f\xff\x3e\xfc\xc7\x44\x1c\
+\x1f\x87\xfb\x3d\x69\x9e\xd7\xd6\xee\x7d\x1b\xeb\x77\x0c\x5f\xbc\
+\xbb\x6d\x9f\x1b\x36\xf1\x8f\x86\x6f\x79\x9c\xf7\xf1\x8b\x93\x96\
+\x1b\x1f\x94\x1e\xef\xc1\x10\x7a\x34\x49\xa2\x90\x85\x42\x46\x27\
+\xf9\xfe\x47\xb7\xa6\x97\xe2\x52\x0b\x21\x84\x70\x18\xa8\x03\x2a\
+\x8e\x5f\x57\x78\xd7\x14\x11\x1f\x17\xb0\x7b\x4f\xba\x7e\x8e\x3b\
+\x1e\x22\x9f\xe1\xba\x02\x7f\x8a\xa4\x31\xc8\xfa\x9e\xc4\xf6\xf1\
+\xdf\x0e\xb2\x6a\xef\xcd\xbf\xe7\x30\xb0\x61\xdc\x5f\x84\x05\x14\
+\xdc\x76\x0b\xfa\x94\x32\x24\x3e\x16\x6f\xb9\xfd\xcd\x7a\xe1\xc1\
+\xb8\xd4\x42\x08\x21\x1c\x06\x43\x72\xfe\xee\x3c\x3f\xbb\xe1\x3a\
+\x0b\xf4\x00\x95\xe6\xf4\xed\xf7\x71\xee\x4e\x6f\xa6\x3b\x7d\xe7\
+\x1d\x7c\x9c\xd2\x5f\x06\x59\xdf\xfd\x53\x96\x85\x7b\x0f\xea\x75\
+\xed\x43\xe0\xb7\xa1\x44\xbf\x52\x95\x0a\x15\x71\xdb\x09\xfc\x39\
+\x0f\x73\xff\x8b\x34\xe1\xd4\xa5\x53\x77\x3f\x1c\x97\x5a\x08\x21\
+\x84\xc3\x40\x6e\xc8\xbc\x97\xdd\x3f\x45\xc4\x2a\x08\xe4\xee\xc4\
+\x3d\xf7\x73\xf2\xc2\x16\x20\x15\xc6\x91\xed\xb0\x97\x0d\xd9\x33\
+\xd6\xbf\xee\xbb\xd9\x01\x6e\xea\xdf\xb7\x55\x86\x21\xd6\x97\x9d\
+\xa2\x45\x02\x65\x59\xae\xa7\x02\x4c\xc8\xdd\x89\x8b\x77\xc6\xa5\
+\x16\x42\x08\xe1\x90\xd8\x1b\xfb\x77\x8b\xf9\xb8\x8b\xa8\x0d\x3d\
+\x67\x52\xc3\xd9\x8b\x48\xb3\x60\x37\x94\xff\x88\x90\xee\x80\x2f\
+\xeb\xf7\x1d\x80\x9b\x1f\xf8\x1b\x25\x03\x9a\x99\x0a\x67\x90\x53\
+\xe4\x2e\xc1\x1a\x4c\x12\x34\x90\x59\x85\xa9\xe7\x2a\x77\xd8\xc7\
+\x7e\xfd\xda\xf9\x07\xae\xd1\x6a\x42\x17\x68\xa5\x14\x4c\x41\x50\
+\x45\x04\x13\x15\xcf\x5a\x51\x07\x65\x9e\xe3\xb2\x0c\x21\x84\x70\
+\x53\x98\xa8\x60\x38\xe2\x98\xe5\xbc\x40\x0a\x62\x38\x95\x52\x73\
+\x61\xde\x4d\xbe\x7f\xe7\xe3\x3c\xf9\x33\x5b\xc6\x69\xb6\x91\x66\
+\x58\x04\xc8\x90\x77\xfa\xef\x29\xa4\xe5\xb1\xdb\x94\xb7\x41\x0e\
+\x6c\x17\x9b\x1e\x92\xf3\x0b\x88\x88\x88\x9c\xbc\xfd\x81\x3e\xaf\
+\x62\x8a\x80\x88\x2a\xbe\xec\x94\xb0\xb7\xee\xe1\x9e\xcd\x92\x21\
+\x84\x10\xc2\x1b\x4f\x6e\x08\x34\xcb\xd4\x7c\xaf\xe3\x3c\xf5\xb5\
+\x22\x77\xdc\xfb\x20\xc8\x74\xb2\x7a\x7d\x88\x3a\xd4\x0e\x2c\xf0\
+\xbb\x5f\x37\x17\x32\x44\x7d\x55\xe5\x2d\x4f\x2c\x26\x67\xb7\x6b\
+\x26\x03\xae\xaa\x06\xc5\xf7\x34\xf8\xf3\xdd\xb2\xff\x12\x25\x7e\
+\x43\x08\x21\xdc\x24\x62\x3e\x64\xe2\x0d\xf1\x7e\x19\x31\xc7\xd0\
+\xd3\xca\xb6\x9e\x58\x7d\xeb\xe3\x68\x8b\x48\x5f\x8f\x4c\x40\x3a\
+\xc8\x11\xff\xab\xc6\x7e\xee\x7f\x77\x3d\x79\xc7\x35\xeb\x86\x61\
+\xbe\x2a\x38\xa6\xd4\xa1\x22\xd2\xce\x8e\x0a\x39\xe8\x67\x1f\x42\
+\x08\xe1\x58\x4b\x8e\x0b\x45\x30\x51\x86\x9e\x73\xa2\x08\x02\x64\
+\xae\x5a\xa7\x17\xde\xcc\x5d\x0f\xa3\xed\x72\xf3\xde\xd1\x70\xc0\
+\xa1\xd3\xdd\x6f\x08\xff\x9c\x7f\x28\x5f\x7a\xcb\xac\x5d\x37\x74\
+\xb9\x2d\x42\x86\x8a\xc8\xe3\x9c\xbf\xec\x3e\xed\x18\xf1\x87\x10\
+\x42\xb8\x49\xd4\xa9\x68\x91\xd6\xc8\x88\x99\x50\x34\x3b\xc3\xb2\
+\xbd\x5c\xf6\x95\xd3\x0f\xbd\x9b\xee\x34\xda\x94\x5a\x34\xb5\x47\
+\xe6\x75\x1d\xba\x67\xd4\x5d\x38\xf3\xe0\xbb\xf4\xe4\x6d\xbd\x36\
+\x00\xd5\x55\xc1\x65\xd8\x13\x29\xce\x6e\xaf\x1f\x8f\xc0\x1f\x42\
+\x08\xe1\xa6\x71\x80\x2a\x09\x50\x37\x17\xaa\xc8\x30\xf9\xef\x92\
+\xfc\xc4\x1d\x2b\x6f\x79\x2f\xe9\x04\xa4\x5a\x8f\xce\x44\xff\x01\
+\x06\xfe\x71\x62\x7f\x38\xb7\x7b\x07\xfd\xe9\x64\xf7\xa6\x77\x4e\
+\xcf\xdd\x5e\x53\x3b\xec\x80\x4c\xbb\x4f\x75\x7c\xb6\xcb\x71\x7f\
+\x08\x21\x84\x70\xd3\xf8\xf0\x47\x66\x59\x75\x67\xfc\xbc\xb2\x55\
+\xd3\xc9\x7b\x1f\xe1\xce\x87\xd1\x75\x77\x26\x6d\x13\x81\xff\x7f\
+\xf8\xe9\x5d\xc6\xfe\x85\x67\x2e\xdc\xad\x27\x2f\xf4\x79\x8a\x82\
+\xa1\xee\x2c\xff\x55\x7d\xb7\xf2\xbf\x45\xec\x0f\x21\x84\x70\x33\
+\x09\x80\x21\x26\x8e\xba\x31\x84\x1e\x61\x93\x76\xe5\xf6\x87\x38\
+\x71\x07\xd2\xf4\x7d\x0f\x56\xfa\x72\x54\x5e\xd4\x01\x07\x7e\xd9\
+\x63\xfc\x54\x02\xcf\xa7\x1f\xff\xc0\x95\xa2\x34\x89\x8c\xcd\x49\
+\x4e\x1a\x26\xf6\xc5\xc0\x7c\x48\xb5\x88\x79\xfe\x10\x42\x08\x37\
+\xcf\x84\xda\xdb\x62\xbe\x8d\x55\x0c\x81\x26\xe1\x82\x69\x4a\xa7\
+\xef\x68\x1f\x7e\x02\xa6\x45\x68\xbb\x0e\xab\x93\xe6\xc8\xa4\x9b\
+\x1f\xca\x27\x9a\xa7\x9c\xba\xb4\x72\xe9\xbe\x6d\x6f\x11\x34\x93\
+\xea\xd8\x25\x49\x7c\xcf\x64\x4b\x08\x21\x84\x70\xf3\xf4\x64\x65\
+\xb5\x6b\xdb\x26\xa1\xb8\x63\x75\x5e\x2a\x57\xbd\x6b\x2f\x3d\xc8\
+\xc9\xdb\x3c\x77\xcb\x7d\xe6\x47\x69\x0e\xfa\xf0\x05\x7e\x07\x4d\
+\x9c\xb9\xeb\xcc\x43\x4f\x5c\x4d\x6b\x66\xa0\xa8\x93\xdc\x74\x99\
+\xd9\x27\xbe\x9b\xdf\x17\x42\x08\x21\xdc\x14\x85\xa4\xb4\x43\x83\
+\x3d\x47\x1c\x15\x8a\xe6\x8d\x74\x62\xfd\xc1\xc7\x39\x73\x57\x1d\
+\xa2\x7d\xe9\x11\xe1\xe8\x0c\x4a\x0f\x5d\xe0\xcf\x80\x34\xac\x9e\
+\xd3\x37\x3d\x51\x56\x2f\x6d\x54\x10\x34\x71\x5d\x9f\x63\x38\x42\
+\xa7\x38\x84\x10\xc2\x51\xe5\xd4\x32\x5b\x2c\x4a\xef\x88\x92\x04\
+\xda\x8e\x33\x77\xf3\xe0\x13\xa4\x13\x75\x77\x73\xf9\x51\x4a\x3a\
+\x3b\x74\x81\x5f\xc5\xaa\x0b\xe9\x14\x77\xbc\xad\xbd\xe3\xa1\x2d\
+\x26\x14\xc8\xba\xbb\x73\xcf\x97\xad\x12\x43\x08\x21\x84\x9b\x67\
+\x1c\xd0\x53\x0d\x32\x08\x66\xcc\x3c\xad\xdf\xfb\x28\xb7\xbf\xcd\
+\xd3\xd4\x86\x2f\xc9\x09\x51\xb7\x18\xf1\xbf\x66\x5e\x7b\x52\x49\
+\x1d\xa7\xee\x3e\xf7\xa6\x27\x7c\xe5\x6c\xb1\xeb\x9f\xad\x8c\x7f\
+\xa8\x47\xf8\x0f\x21\x84\x70\xb3\xf4\x29\x03\x49\xc8\x6d\xa3\xdd\
+\xaa\x41\x29\x14\x6d\x4f\x3e\xf4\x38\xd3\x8b\xdb\x43\x24\x82\xa1\
+\xa0\x8f\x47\xad\xfe\xd7\xce\x9c\xc4\x16\xd0\x9c\x92\x37\xbf\x6b\
+\x7a\xe6\x36\x53\xa5\xfa\xf8\x54\x3d\xaa\xf4\x86\x10\x42\xd8\x0f\
+\x45\x1a\x17\x44\x91\xd4\x54\x52\x6f\x34\x0d\xa7\xce\xdf\xc6\x7d\
+\x8f\xd4\x34\x1d\x02\xff\xb0\xdb\xdc\x51\x4d\xcd\x51\x79\x5d\x87\
+\x30\xf0\xf7\x40\x81\x5e\x12\xb7\xdd\x35\x39\x71\x52\x52\xa6\xbc\
+\xda\xd0\x3e\xf6\xf1\x87\x10\x42\xb8\x69\x0c\x05\xdc\x28\x56\x17\
+\xa5\x96\x8a\xac\xe4\xe9\xed\x77\x72\xf2\x7c\x0f\xf3\xa1\xbc\x8f\
+\x95\x61\xac\x1f\x05\x7c\x5e\x3b\x6f\xa6\x13\x2e\x9f\xe1\xea\xb6\
+\xb2\x58\x7d\x78\xf2\xa9\xdf\xbc\x2c\xa7\x69\x41\xca\x2c\xf5\x8b\
+\x6c\x08\x98\xd8\xbc\x59\xf4\x49\x35\x26\x00\x42\x08\x21\xdc\x14\
+\xab\x8b\x4d\xaf\xc8\xb4\x99\x94\xf9\xba\x6e\x8a\xf2\xd5\xf4\x56\
+\x7e\xec\xcf\x33\x7d\x08\x38\x27\xb4\x20\xa9\x41\x44\x0c\xa9\xfd\
+\x51\x79\x5d\x87\x2e\x70\x0a\x15\x72\x4f\x33\xae\x9d\x9c\x3c\xbd\
+\x72\xdb\xbd\x14\x80\x64\xee\x06\x06\x2a\xa9\x49\x5d\xce\x47\xa8\
+\x1b\x52\x08\x21\x84\x23\xa6\x05\xc7\x66\x3d\x0e\x0b\xe6\xda\x9c\
+\xbd\xf3\x01\x4e\x5d\xd8\x1b\x3a\xc7\xc4\x73\x39\x4a\x89\xfd\x87\
+\x70\xc4\x3c\x77\xf2\xdc\x5a\x85\x04\x9c\x3d\xbf\xfa\xd0\x13\x2f\
+\xe7\x55\xa0\xab\x34\x46\x2f\x8d\x91\x49\x26\x6a\x5e\x6a\x5c\x99\
+\x21\x84\x10\x6e\x0a\xcd\x26\xd4\x05\x34\x6c\x55\x16\x2b\x17\xcf\
+\x3c\xfc\x04\x2b\xa7\x5d\xc6\xb4\xbe\x21\xd4\x8f\x01\x5f\xf2\x91\
+\x79\x59\x87\xef\x29\xcd\x2b\x6d\x21\x8d\x1d\x11\xba\x35\x1e\x79\
+\xef\xfc\xdc\x9b\x0c\x30\x54\x93\xe5\x95\x2d\xb4\xda\x02\xeb\x4b\
+\x89\xdd\xfc\x21\x84\x10\x6e\x8a\xbe\xaa\x0a\x02\xa4\xbc\x95\x57\
+\xe5\xe2\x43\xbc\xe9\x49\xd2\xea\x10\x78\xc6\x32\xfe\x14\x7c\xe8\
+\xd7\x77\x64\x5e\xd7\x21\x4c\xee\xb3\x8a\x8a\x92\x00\x2f\xe4\x8e\
+\x7b\x1f\x6b\x1e\x7c\x6a\x8b\x09\xc3\x02\x8a\x36\x33\x58\xd4\xbd\
+\x8d\xfb\x42\x08\x21\x84\x37\x58\x6f\x49\x93\xaa\x50\x0b\xb3\xc9\
+\xb9\xf6\x9e\x77\x71\xe9\x21\x64\xea\x90\x76\x4b\xf7\x38\x52\x1c\
+\x8e\xd0\xfc\xf3\x21\xdc\xc7\x2f\x8c\x0d\x10\xc1\xab\xd3\x71\xe2\
+\xae\x93\x8f\x7c\x70\xb1\x72\x1b\x06\x8b\x9a\xc4\x44\xc4\x15\x12\
+\x7a\x74\x9a\x22\x84\x10\x42\x38\x5a\x52\x4a\x24\x55\x61\x63\x5e\
+\x39\x73\xf7\xda\x03\xef\x26\x9f\x35\x6d\x84\x3d\xc3\x4e\x17\xc0\
+\x22\xf0\xbf\xbe\x67\x34\x11\xc8\xc3\x69\x55\xdd\x22\xcd\x58\xcb\
+\xf7\xbd\x33\xdf\xf1\x56\xa6\x99\x9e\x5c\x36\x3b\x75\xc9\x82\x12\
+\x85\x7b\x43\x08\x21\xdc\x24\x19\xa7\x14\x84\xed\x34\x5d\xbd\xeb\
+\xad\xf9\xc1\xc7\x49\xd3\x2a\xa4\x61\x9c\x0f\xa0\xc8\xd1\x1b\x7f\
+\x1e\xc2\x67\x3c\x49\x46\x0b\x42\x75\xd4\x3c\x55\xe0\xcc\x3d\x7e\
+\xd7\xdb\xe7\xeb\xb7\xe3\x50\xe7\x13\x2b\x42\xe3\x28\x47\xa6\xfd\
+\x71\x08\x21\x84\x23\x46\xca\x16\x3d\x24\xca\xe4\xcc\xe4\x8e\x87\
+\x39\x75\xe7\xf6\x50\xb0\xc7\x0b\xde\x03\x15\x1c\x1d\x22\x69\x74\
+\xe7\x7b\x1d\x3c\x27\x21\x33\x57\x16\x15\x69\x24\x65\x40\x26\x27\
+\x3f\xf4\x53\xdf\x4f\xa7\x58\x13\xb6\xc8\x62\x6e\x5a\xdc\xa3\x62\
+\x6f\x08\x21\x84\x9b\x44\x93\xd3\x70\xcd\xa4\x39\x7f\xef\xf4\xb1\
+\x0f\x98\x74\xbd\x90\x1c\xac\xc7\x0b\x50\x77\x63\xbf\x1d\xa1\x81\
+\xff\xe1\x2b\xe0\xc3\x70\x33\xb5\x09\xb5\xa2\x0a\x2d\x40\xe6\xe4\
+\x5d\xa7\xde\xf1\xe1\xab\x34\x64\xd8\x32\x91\x64\xa2\x32\x8d\x2b\
+\x33\x84\x10\xc2\xcd\x31\x07\xd8\xca\x27\x2f\xbe\xfd\x7d\x4c\xcf\
+\x15\x45\x21\xe9\x75\x0b\xfa\x63\x71\x19\x48\x47\x67\x0a\xfa\xd0\
+\x05\xfe\x2a\xe0\x8e\x57\x30\x47\x13\xc8\xd0\xff\x68\x7a\xee\xcc\
+\x7b\x3e\xbd\xbd\x76\xdb\x50\x51\x21\x89\x9b\xd9\x61\x5c\xa9\x08\
+\x21\x84\x70\x3c\x08\xdb\xda\xd9\xb9\xfb\x78\xe7\x87\x69\x4f\xd8\
+\x18\x32\x97\x51\xdf\xf7\x7e\xa1\xc9\xd1\x29\xda\x7b\x58\x23\xa7\
+\x28\xa4\x31\x73\xd2\x0b\xd0\x7b\xe6\xde\x47\x27\x0f\x3c\x31\xa3\
+\xa1\x23\x8b\x53\xdd\x16\x71\x61\x86\x10\x42\xb8\x39\xa6\xf9\x6a\
+\x3a\x79\xea\xa1\xa7\xb8\xf4\x66\x52\x67\x90\xdc\x71\x83\x04\x99\
+\xe5\xa6\xbe\x65\x83\xbe\x23\xe3\x10\x96\xec\x05\x4d\x30\x81\x36\
+\x03\xd8\x50\x11\xd1\xdd\xd1\xb5\x93\x8f\x7e\xec\xe9\xe6\xbc\x75\
+\x53\xb1\xed\x06\xfa\x48\xea\x0f\x21\x84\x70\x73\x6c\xeb\xca\xb5\
+\xf6\xcc\xf4\x1d\x1f\x21\x9d\xaa\x69\x8a\x5b\x23\x05\x51\xb4\x41\
+\x1b\x9c\x64\x64\xdf\x49\xeb\x8b\x92\xbd\xaf\xf9\x09\x09\x2e\xea\
+\xb2\x0a\x4d\x1a\x56\x4f\x14\xc4\x1a\x15\x64\xca\x03\x4f\x2e\x6e\
+\x7b\xfb\xb5\xa6\xf3\x42\x4e\xa8\x1e\x99\x12\x89\x21\x84\x10\x8e\
+\x96\xcb\xd6\xb5\x77\xbc\x85\xfb\x1f\x2b\x7a\xa2\x87\x56\x4c\x31\
+\x73\xaf\x92\xc7\x69\x7d\x07\x1b\xe6\xfc\xf5\x08\x0d\xfa\x0f\xe1\
+\x88\x7f\xde\xc3\x62\x38\xa1\x6e\xe0\x3e\xf4\xe3\x93\x8a\x27\xce\
+\x3c\x70\xe9\xf1\x8f\xcf\xf2\x8a\x38\x08\xa4\xb5\xb8\x34\x43\x08\
+\x21\xdc\x0c\xbe\x7a\xf6\xee\x77\xbc\x8f\xe9\xf9\x45\x6e\x0b\x24\
+\x2a\x94\xe2\xa9\x8c\xe9\x68\x60\x86\x97\xe5\xe2\x7e\x04\xfe\xd7\
+\x6e\x59\xfb\xd0\xc1\x1c\xac\x8e\xe9\x14\x05\x94\xbc\x76\xf2\xed\
+\x4f\xda\x64\x82\x80\x63\xf5\x08\xed\x9c\x0c\x21\x84\x70\x94\x4c\
+\x4f\x9e\xe5\x91\x77\xa1\xd3\x1e\x36\xfb\x3a\x94\x8c\x13\x4d\x65\
+\x37\xc1\xaf\x32\xae\xfa\x1f\x9d\xd4\xbe\xc3\x18\xf8\x17\xab\x5d\
+\x65\xc5\x41\xb7\x49\x05\x34\xa3\xee\x79\x3b\x4d\x67\x59\x37\xbd\
+\x72\xe9\x2d\x2b\x1f\xfd\xb3\x5f\x5a\x79\x0b\x69\xa5\xdb\x78\xf9\
+\x9a\xde\x66\x3e\xd5\x1e\xed\xd1\x0a\xe8\x5c\xa7\x45\x5a\x75\xd4\
+\x50\x03\x98\xeb\xea\x5c\xd6\xf1\xac\x91\x13\x10\x42\x08\xb7\x2a\
+\x05\x94\x22\xad\xd1\x69\xbd\x3e\x64\x54\xb4\x47\x4d\xe6\xf3\xc9\
+\xcc\xd6\xb5\x69\x74\x8b\xef\x7f\xfe\x2f\x6f\x9d\x7e\x1f\xda\x9d\
+\x84\x0b\x59\x85\xa9\xfb\x4a\x32\x5b\x85\x0e\x48\xd0\x34\x34\x0d\
+\x29\x0a\xf8\xbc\x4e\xbb\x27\x4f\x1d\x75\xc6\x49\xfd\xc6\xc8\xd0\
+\xe6\x8e\xdc\x9e\xbc\xeb\xde\xb5\x0b\x97\x36\xb6\xe6\x24\xb2\xcf\
+\x75\xcc\x03\x18\x77\x54\x08\x26\xd7\xed\xa7\x54\xf1\xe1\x93\x47\
+\xea\x96\x2c\x84\x10\xc2\x1b\xce\x11\xd0\x3d\xe5\xdf\x04\x13\x91\
+\xe1\x23\x16\xde\x65\x43\xec\xda\xac\x72\xd7\xe9\xdb\x6e\xbb\x6d\
+\x65\x65\x05\x28\xa5\xd4\x3a\x0e\xf2\xc7\x2f\x3e\xca\x0e\x61\xad\
+\xfe\xf1\x67\x03\xc9\x48\x75\x1c\xb4\x93\x21\x1b\x09\x90\x86\x7b\
+\xde\x74\xe1\x4d\x6f\xdb\x90\x29\x0d\x2d\x1b\x42\x8f\xec\x34\x4b\
+\xb2\xe4\xbd\x60\x63\x9f\x1f\xc5\x50\xa5\x24\x2f\xe2\x31\xde\x0f\
+\x21\x84\x5b\x97\x0b\xe2\x24\x33\x71\x20\x23\x2a\x4e\xf2\x2a\x98\
+\x89\x90\xa0\xa2\x8d\xb9\xd8\xd5\xe6\x2c\x8f\x7f\xee\xec\xd9\xb3\
+\xe3\xff\xe8\xae\xaa\x80\x88\x44\xe0\xbf\x39\xcf\x68\x48\x9a\xf0\
+\xec\xe4\x82\x3a\xc3\x5f\xa1\x07\xa3\x7a\x43\xb7\x36\x79\xe4\xf1\
+\xee\xe2\xfd\xe4\x93\x8d\x2f\x10\xb3\x44\x51\x7a\xc5\x85\x84\x25\
+\x1f\x7f\xc6\x43\xa8\x57\xf7\xec\x35\x3a\xfa\x84\x10\xc2\xad\xac\
+\xa0\x38\xea\x45\xdc\x5c\x92\x0f\x7b\xf1\xbd\x00\xde\x74\x48\xa2\
+\x03\xca\x0c\x6d\xee\x79\x94\x77\x7f\x61\xf8\xbf\xdc\xbd\x69\x9a\
+\x21\xf0\x1f\x0f\x87\x70\xaa\xdf\xc6\x08\xed\x63\x29\x44\x1b\x7e\
+\x5e\x5e\x28\x26\xce\x46\x01\x59\xe5\xbe\xb7\x9e\x7a\xf3\x13\xcf\
+\xdb\xda\x30\x6f\x53\x85\x5e\xb5\xca\xb8\xd0\x32\xdc\x39\x54\xa1\
+\x4a\x06\x4d\x6e\xe2\x16\xf3\xfc\x21\x84\x70\x2b\xab\x74\xa0\x38\
+\x43\x65\xd8\x2a\xc9\xd1\x61\x95\x98\x9c\x17\xe6\x74\xd0\x33\x4b\
+\xdd\xc9\x47\xde\xcf\x6d\xef\x36\xb3\x5a\xeb\x31\x18\xe2\xdf\xe0\
+\x10\xde\xc2\xd4\x31\xf6\xef\x3d\xd5\xc3\x5e\x49\x15\x11\x52\xd3\
+\x2e\x98\x32\x3d\x2f\x6f\x7e\xf7\xe5\xd5\x3b\x87\x2f\x73\xe1\xd5\
+\xfa\x23\x2d\x9b\x26\xb9\x11\xf3\xfc\x21\x84\x70\x6b\x73\xb2\x2f\
+\xa3\x9e\x09\x3e\x8c\x15\x1d\xa5\x8a\x17\xc3\x10\x36\x8c\x74\xf6\
+\xee\xee\x4d\x4f\x7a\x7b\x87\xaa\xee\x0c\xf4\x4b\x29\xa5\x1c\x93\
+\x86\xb0\x87\x72\xee\x42\x7c\xb9\xb2\x3f\x74\x3e\x00\x14\x37\x54\
+\x10\x32\x54\x5a\xd2\x3a\x6f\x7a\x6c\xf5\x2d\xef\x1d\x7e\x7e\xe2\
+\x64\x2f\xc9\x4d\x1d\x1c\x07\x97\x21\x33\xd0\x34\x42\x7e\x08\x21\
+\x04\x86\x19\xe5\x61\x5a\xd8\x10\x73\x86\xac\x6f\xa4\x22\x65\xd6\
+\x26\xfa\x42\xbf\x7a\xea\xe2\xdb\xdf\xcf\x3d\xef\x78\xf9\x15\x93\
+\xc4\x39\x67\x60\x27\xcb\xef\xe8\x3a\x84\x81\x7f\xf8\x39\x38\x62\
+\x43\x35\xe4\xe4\xe0\x8a\x2a\x4a\x29\x3e\x26\x5f\xd6\x96\x53\x77\
+\xad\x3d\xfa\x81\xcd\x34\x2d\xb4\xc9\x69\x8c\xa6\x22\x8e\xa3\x8e\
+\x8a\xa1\x6e\xd9\xcb\x18\xf8\x45\x8f\xd2\x66\x8b\x10\x42\x08\x6f\
+\xb4\xe4\xbd\xa9\x21\xc3\x24\xb1\x0f\xfb\xbf\xc6\xa0\xb2\x40\x95\
+\x6b\x26\xfd\x99\x07\xe5\xad\x1f\xa6\x3b\x8f\x60\x66\xa5\x8c\x1d\
+\xe0\x87\xa8\x0f\x1c\x83\x71\xff\x21\x0c\xfc\x43\x76\x9f\x39\xbd\
+\x62\xd9\x97\x39\x79\x29\x93\xc8\xad\xe4\xa1\x51\x6f\x5e\x25\x9f\
+\x38\xf1\xd4\x47\x57\x1f\x78\xea\x72\x9d\x08\x89\x06\x0a\x82\x54\
+\x9a\xde\xd2\xb8\x90\x33\xac\xe5\x88\x9a\x28\x1c\xa9\x8d\x96\x21\
+\x84\x10\xde\x50\xd9\x17\x60\x45\xb5\x2a\xca\x42\xa4\xf7\x9d\x9e\
+\x7a\x13\x16\x5b\xd8\xda\xa5\x95\x37\x3d\xc5\x83\x4f\xe1\x6d\x07\
+\xaa\xda\x34\xcd\x0d\x6b\xfc\x5d\xd7\x1d\xf5\xf3\x70\x18\x03\xbf\
+\x43\xc5\xa0\x08\x95\xdd\xc0\x8f\x2b\x40\x72\x92\x81\xab\xeb\x6a\
+\x4d\x27\x78\xc7\x27\xba\x0b\x0f\x6d\xf7\x79\xc8\xf9\xf7\xde\x91\
+\xc6\xc9\xe2\xcb\xbd\x00\x43\x86\x80\xa8\x47\xd4\x0f\x21\x84\x5b\
+\xd8\x10\xf0\x6c\xa8\xeb\x22\x28\xc6\x10\x1d\x0a\xf4\xe8\x84\xc5\
+\xda\xa5\xb5\x27\x3f\x07\xa7\xc9\x32\x3d\xf2\x33\xfa\x3f\xe2\x3c\
+\x1c\x26\xce\x9e\xbd\xfc\xcb\x54\x7c\xa1\x0a\x75\xc8\xf4\x5f\x36\
+\x45\xe8\x61\x46\xe6\xed\x1f\x5f\xbb\xff\xf1\x4d\x5d\xc5\xa0\x41\
+\x84\x94\xd2\x75\xdf\x50\xa8\x3a\xe4\x71\xc4\x88\x3f\x84\x10\x6e\
+\x61\x8e\x42\x15\x1d\x63\xff\x90\xcf\xef\x6a\x0e\xca\x56\x7b\xf2\
+\xd4\x9b\x9e\xe4\xde\x77\x5a\xb3\x0e\xa8\x1f\x93\x54\xbe\x57\x3a\
+\x74\x81\xdf\x65\xa8\xc3\xb7\x87\x80\xec\x8e\xfc\xf7\x32\x60\xed\
+\xae\xf4\xa6\x77\xdb\x99\x7b\xb7\xc9\x34\x90\x45\xa5\x8a\xf7\xe3\
+\x97\xef\x44\x7a\xb1\x88\xfa\x21\x84\x70\x4b\x73\x86\x42\xae\x3b\
+\xb1\x6f\x48\x02\xd3\x2e\xcd\xd3\x74\x7e\xf2\xae\x95\x27\x3f\x41\
+\x3e\xd5\x27\xe6\x73\x83\xf9\x71\x3d\x0d\x87\x2e\xf0\x8f\x25\x77\
+\x86\x0c\x7e\xc6\xea\x7b\xc8\x50\x9a\xcf\xc6\xd8\x2d\xe3\x53\x6f\
+\x81\xee\x0c\x6f\x7e\x6c\xf5\x4d\xef\xbc\xdc\x9c\x2a\xa6\x88\x63\
+\x5b\x99\xc2\x72\x7c\x3f\x8e\xf5\x6f\xb8\x0f\x08\x21\x84\x70\xeb\
+\x11\x48\x3e\xcc\xf0\x8f\x7f\x55\x6c\x21\xdd\x33\xb6\xbe\xfa\x96\
+\x0f\x72\xdf\xbb\x16\x9e\x2b\x68\x3a\xce\x85\x5f\x0e\xdf\x88\x7f\
+\xfc\xd9\xe8\x90\xd1\x3f\x44\xfd\xb1\x1e\xdf\x4e\xf0\x56\x86\x7d\
+\x7d\x1d\xa5\x4f\x1d\xe7\xee\x5e\x7b\xdb\x7b\xfd\xfc\xbd\x57\xaa\
+\x94\x02\xc5\x92\x8e\xdf\xc5\x12\x55\x74\x58\xd3\x61\x99\xbd\x19\
+\x42\x08\xe1\x56\xe4\xe0\x24\x47\x9d\xa1\x89\x9b\x38\xea\xb6\xe5\
+\x79\x76\xe2\xce\x95\xa7\x3e\x4b\x7b\xc6\x73\x53\x8d\xa6\x11\x8e\
+\x5d\xdd\x9e\x1d\x87\x71\x1f\xff\x98\x7f\xef\x09\xb4\x42\x19\xc7\
+\xeb\x15\x77\x86\x1d\x18\xc3\x20\xde\x8c\xda\x6f\x2a\xe4\x75\xde\
+\xfc\x8e\x0b\x0f\xbf\xab\x9f\xae\x55\x96\xc3\x7a\xa1\x28\x45\x72\
+\x5d\x96\x68\x08\x21\x84\x70\xab\x33\xd4\x86\x8d\xdf\xd9\xc7\x2a\
+\x7e\x58\x9e\x3c\xf0\xee\x8f\x71\xd7\xa3\xbd\xae\x55\x50\x7a\xc7\
+\xd0\xe6\xb8\x9e\x83\x43\x3a\xd5\xcf\xb0\x77\x1f\x5d\x2e\xed\x0f\
+\xa5\xf7\x0c\xa7\xc2\xb2\xec\x7e\xc5\xeb\x0c\xb6\x0d\xd6\xcf\xe6\
+\xfb\xde\xd2\xad\x9d\xd4\xa1\xe2\xcf\xb2\x9c\x5f\x15\x75\xd1\x1b\
+\xeb\x00\x86\x10\x42\xb8\x15\x29\x80\x83\x98\x21\x43\xe5\x3e\x9c\
+\xdc\xad\xe4\xa7\x3e\x42\x5a\x5b\x90\x7b\x6a\xa7\x2c\xca\xbc\x4a\
+\x04\xfe\xfd\xd2\x0e\x51\x5b\x32\xaa\x40\x1e\x3f\x93\x91\x0e\xe9\
+\x10\xcd\xd0\x0d\xe5\xfc\xb4\x21\xaf\x5d\x9a\xd1\xa4\xe6\x5a\x7b\
+\x3f\x8f\xfd\x52\xfb\xae\x9f\xdd\x28\x2b\xf4\x43\xb1\x65\xe6\x99\
+\x09\x8b\x69\xbf\x68\x17\xe4\xd2\xf5\xda\x5d\x6b\x53\x5c\xf8\xe1\
+\x30\xdb\xe8\x58\x64\x00\x57\x4a\x53\x4a\x63\x38\x32\x6f\xbb\xc5\
+\xb4\xfa\x64\xb3\x65\xd6\xd2\x6b\x32\x5a\xb2\x6c\x00\xcc\x0f\xd7\
+\x21\xa4\x3a\x6f\xcb\x55\xea\x36\xa2\x15\xba\xb1\xbd\xd6\xda\x8c\
+\xb5\x32\x94\xe0\x74\x1c\x45\xb3\xe8\xb1\xcd\x9a\x0e\x87\x54\x31\
+\x3a\x2e\xeb\xca\x22\x9d\x5e\xf5\x79\x3b\x2b\x74\x7c\x27\x9f\xeb\
+\x3e\xfd\x5b\xf5\xe4\xfb\xe7\xcd\x99\xae\x70\xb2\xcc\x73\x59\x74\
+\x69\xf5\xd8\xa6\xf6\x1d\xd2\x92\xbd\xff\x83\xd4\x2a\x4e\x02\xf2\
+\x64\xf5\x4d\x8f\x4e\x6f\x7b\xa0\x2c\xa0\x1b\xef\x18\xc6\x45\x7d\
+\x07\x2f\xe2\xf5\x58\xa7\x6b\x84\xe3\x20\x57\x72\x45\x2b\xc9\x50\
+\xdf\xcd\x79\x41\x51\xb1\xc6\xe9\x8c\x66\x68\x56\x5d\xbc\x85\x39\
+\xdd\xe1\x3a\x14\x97\x0e\x9d\x22\xd3\x19\x3a\x83\xb9\x80\xe8\x58\
+\x10\x7d\xd9\x7f\x4b\x76\xe6\xf0\x42\xd8\x4f\x0d\xf4\xb4\x62\x5a\
+\xb7\x86\x69\xe0\xc5\x8c\xb5\x8b\xf7\x4f\x1e\x78\x38\xad\xae\x8f\
+\x19\xe1\x22\x08\x6e\x76\x7c\x9a\xf1\xbd\xc2\xd1\x7f\x69\x8d\x2a\
+\x50\x81\x86\x37\x3f\x39\x79\xe4\xbd\x2f\xb5\x27\x68\xda\x6c\x64\
+\xc3\x11\x53\x35\x30\xab\x62\x35\xc7\xfb\x4c\x38\xdc\xb2\xa1\xa6\
+\xd4\xac\x55\xc7\x86\x15\x02\xc9\x48\xd6\xa8\x75\x8e\x54\xba\x02\
+\x05\xaa\x36\x90\x0e\xdf\x21\x0a\x22\xe8\x9e\xd9\x35\x71\xa4\x8a\
+\x2c\x84\xba\xbb\xe8\xa6\x71\x1b\x1e\xf6\x5d\x23\xf3\xc2\x44\x4b\
+\xe7\x73\x9c\x45\xe2\xda\xf4\xe2\x99\x77\x7c\x94\xdb\x1e\x44\x34\
+\x81\x8e\xfd\xde\xb4\xd6\x1a\x81\xff\x50\xff\x20\x05\x1a\xab\xd0\
+\xd1\x5c\xe4\x6d\x1f\x4f\xf7\xbd\x63\x56\x85\x8a\x56\x9c\xa6\x4f\
+\x6d\x49\x6a\x42\x32\x6f\x8f\x6f\x25\xa6\x70\x7c\x7e\x21\x7d\xac\
+\x52\x95\x86\x14\x24\x01\x31\xa7\x62\x36\xf6\xad\x94\x84\xb4\x48\
+\xe3\x90\xad\x3f\x64\xc7\x36\x75\x03\xdb\xc0\xb6\x3a\x18\x0e\x6c\
+\x1b\x9b\x67\xeb\xd3\x30\x83\x31\xec\xb3\x45\xca\x31\x6a\x70\x1e\
+\x8e\x84\xb9\xac\x99\xa2\x5e\x14\xbc\x67\x63\x72\x6a\xe5\xe1\x0f\
+\xf1\xc4\xa7\xc8\x27\x10\xbc\x47\xbc\x20\xa0\xea\xd4\x63\x9c\x12\
+\x7e\xe4\x7f\xf1\xaa\x00\xb5\x51\x6a\x55\xf2\x19\xde\xfc\x81\xd3\
+\x8f\x7d\xe2\x45\x9f\x9a\x43\x45\x5c\x4d\x1a\x69\x52\x1e\x36\x06\
+\xc6\x88\x3f\x1c\xf2\xeb\x79\x68\x25\x2d\x05\x37\x71\x74\x19\xf8\
+\xab\x17\x73\x33\x07\xa1\xd7\x86\x94\xc9\x79\x0e\xf8\xe2\x70\x1d\
+\xd5\xb0\x82\x19\xe6\xe6\x66\xe0\x56\xb0\x0a\x86\xd8\xce\x7e\x5a\
+\x17\x4c\xd4\x8e\xc1\xc0\x23\x1c\x29\xdb\x96\x9b\xa6\x19\xaa\xc0\
+\x5e\xeb\xd9\x5e\xbd\x7b\xfa\xce\x4f\x71\xe1\x51\x7c\x05\x21\xab\
+\x21\x43\x6d\x1f\xcd\x39\x67\x8e\x6d\xe4\x3f\xf2\xbf\x78\x3d\x50\
+\x0b\x98\x28\xd7\x1c\x56\x6e\xd3\xb7\x7e\x30\xdd\xf1\x96\x45\x93\
+\x51\xdc\xab\x52\x44\x84\xe1\xfd\x34\x5a\xf4\x86\xc3\x6d\x91\x19\
+\x3a\x4c\x8d\xbb\x5a\x7d\xcf\x4e\xd4\xb1\xdf\xb4\x6e\x69\x9a\x27\
+\x47\x7a\x87\x59\x5a\x3d\x5c\x47\xb3\xba\x68\x4e\x95\xe6\xcc\x3c\
+\xaf\x6f\x89\x2e\xa0\x6a\x26\x4d\x91\xae\x97\x6e\x21\xb2\x53\x59\
+\x4b\x30\x8d\x35\xfe\xb0\xcf\xac\xe4\xa4\xc3\x8c\xda\xbc\x5b\x6d\
+\xee\x79\x07\x0f\xbc\x87\xf6\x6c\xed\x5a\x17\x50\xc3\x0c\xaf\x88\
+\x88\x22\x72\x6c\xa7\x88\x8f\x7c\xe0\x37\x83\x9c\x90\x2a\x89\x9a\
+\xd8\x04\x6e\x7b\xdb\xa5\xf7\xfe\xd4\xec\xc4\x9d\xde\x75\x78\xaf\
+\x65\x96\x6a\x0f\x43\x8a\x5f\x2c\x2b\x86\x43\xcd\x87\x12\xe2\x7a\
+\x63\x95\x49\x11\x44\xc4\x84\x22\x5e\x59\x50\x37\xe8\x5f\x5c\xe7\
+\xf2\x90\x20\x77\x78\x8e\x7e\x48\x3f\x00\x07\x85\x06\xb2\x03\x05\
+\xa8\x92\xab\x34\x3b\x83\xfe\xe4\x9e\xe3\x46\x3c\xec\xaf\xce\xb6\
+\xb1\x05\x42\xef\x74\x77\x3e\x7c\xe1\x5d\x1f\xe3\xec\xfd\xb3\x61\
+\x00\x09\xe0\xa8\xdb\x58\x24\x0e\x62\xc4\x7f\x68\x35\x0a\x50\x4b\
+\x6f\x90\x60\x56\x21\x9d\xe1\xc9\x9f\xb8\x72\xf2\xbe\xed\xc9\x49\
+\x84\x5c\x5c\x8a\xb3\x93\x27\x15\xc2\x21\x96\x86\x8c\x7d\xbf\xf1\
+\x3d\x27\xa9\xaa\x6a\x02\x75\xcf\xb6\xdd\x2d\x5e\xe0\xda\xb7\xd7\
+\xae\x7d\x7d\xe5\xe5\xdf\x3f\x54\xc7\xfa\xcb\x5f\x5b\x79\xe9\x2b\
+\xdd\x4b\xbf\x3f\x79\xf1\x0f\x56\x5f\xfa\xea\xca\xcb\x5f\xe3\xc5\
+\xdf\xe7\xe5\xaf\xd0\x3f\xbf\x52\x37\x93\xef\x59\x37\x35\x89\xa5\
+\xb7\xb0\xcf\xa6\x56\xa8\x4e\x96\x97\x9b\xd3\xed\xdd\x8f\xf1\xc8\
+\x53\xa4\x69\x55\x1c\x6a\x75\xdc\x48\x59\x53\xe3\xa8\xbb\xd4\x12\
+\x4d\x7a\x0e\xab\xc6\x71\x32\xed\xc4\xe9\x5b\x58\x1d\x6a\xf4\x4e\
+\xee\xba\xe7\xa7\x7e\xfd\x69\xa6\xdb\x15\xe9\x86\xf1\x46\xc6\xa1\
+\x89\xc8\x1f\x0e\xf7\xf5\x5c\xd0\xaa\x58\x86\xcc\x75\x45\xa6\xd5\
+\x4a\xf5\x8a\x56\x4e\xc9\x6c\xf1\xfb\x7f\xef\xc5\xbf\xf8\x3f\xfd\
+\xf6\xbf\xfd\xaf\x5c\xfb\x77\xfe\xe4\x21\x3b\x7e\x7e\xf3\x2f\xfd\
+\xfc\xec\xdf\xf9\xa5\xad\xbf\xf4\x8b\x57\xfe\xd2\xaf\xbc\xf0\x97\
+\x7e\xed\xa5\xff\xfd\x9f\xde\xfc\x3f\xfc\xf9\x97\xfe\x9f\x7f\xf9\
+\xd4\xe2\x85\xd5\xa1\xd1\x36\xe0\x6a\x36\x94\xe5\x0e\x61\x7f\x25\
+\xae\xd4\xce\x6f\x7f\xfb\xe4\xc9\xcf\xb0\x72\x61\xbe\xa8\xe3\x86\
+\x94\x34\x6c\x45\x19\xf6\x9d\x82\xa4\x94\xbb\xe3\x7a\x0e\x8e\x7e\
+\x72\x8d\x63\x0c\x3d\x79\x4a\xc7\x7c\x32\xac\x83\xe6\x13\xdc\xf3\
+\xd8\xe9\xb7\xbe\xa7\xae\x4c\xe8\xa1\x42\x75\x9a\xb6\xd6\x98\xea\
+\x0f\x87\x5a\xaa\x1d\xde\x40\xc2\x15\xd7\x71\xe8\xef\x8a\xa8\xa2\
+\x29\x21\x0a\x6e\xed\xf6\xb3\x67\x5e\xfa\xfa\xa5\x67\x7e\x7f\xfd\
+\x5b\x7f\xff\x70\x1d\xdf\xfe\x87\xab\xdf\xfa\x27\x93\x6f\xfd\x93\
+\x95\x6f\xfd\xe3\x93\xdf\xfa\xbb\xa7\xbf\xf5\xdb\xab\xdf\xf9\x3b\
+\xcd\x77\xff\xe1\xe9\xfe\x85\xb6\x2e\xf6\x4c\x63\xa8\x0c\x2f\x30\
+\x84\x7d\xf7\x52\x3e\x73\xe6\x1d\x1f\xe3\xee\x77\xc2\xa4\x9d\x24\
+\xa9\x34\x00\xe6\xa8\xef\x89\x89\x7e\x7c\x93\x4f\x8f\x43\xe0\xf7\
+\x65\x93\x65\xd8\xc6\x0a\xb0\x25\xb0\x7e\xe7\x99\xf7\x7d\x26\x5d\
+\xbc\x7f\xb3\x40\x97\xd0\x8c\x5b\xec\xe6\x0b\x87\x5c\xd5\x21\x8d\
+\x7f\x99\x01\x37\x16\xf0\x31\xea\xf2\xe2\x1d\x52\xff\xac\xca\xec\
+\xe5\xee\xda\xf7\x0f\xdd\x0b\x90\x65\x66\xa2\x8c\x4f\xb6\xf3\x92\
+\x87\x99\x0b\xd9\x69\xb1\x9d\xc5\x11\x37\x39\xbe\xfd\xce\xc3\x21\
+\x95\xd9\xb6\xd4\xdc\xf9\xf6\xe6\x5d\x1f\x67\x7a\xbe\xd0\x08\xd6\
+\xd8\x96\xd0\xc3\xd0\x11\x5e\x59\xae\x09\x1f\xe3\x95\xa8\xe3\x10\
+\xf8\x87\x1f\xd8\x50\x6c\x09\xef\xd3\x78\x0b\xb0\xc6\xfd\x4f\xae\
+\x3f\xf2\xa1\xcd\x95\x33\xb4\x6b\x34\x4d\xdf\x97\x14\x33\x8b\xe1\
+\x70\x2b\xa9\x2f\xa9\x77\xed\x91\x82\xd8\xf2\x06\x00\xb7\x5a\x8b\
+\x15\xa8\x4a\xcd\xe3\xa4\x00\x99\x59\xb7\x72\xa8\x8e\x8d\xf6\xd4\
+\x66\x7b\x62\xde\xac\x94\x66\x52\x9a\x95\x92\x57\x4a\x5a\xb1\x34\
+\xed\xa5\xeb\xb5\x2d\xd2\x16\x69\x97\x03\xa9\xa8\xdc\x17\xf6\x9d\
+\xb0\xb1\x76\xdb\x9d\x4f\x7c\x9c\x4b\x6f\x26\xaf\x4a\xdb\xe0\x45\
+\xb3\x0f\xeb\xc1\xcb\x3a\x99\x36\x7c\x74\x8c\xe7\x87\x8f\x7e\xe0\
+\x57\x18\x4a\xf7\x93\x21\x0f\xef\x95\x09\x66\x40\xbe\xc0\x3b\x3f\
+\xdb\x3d\xf8\x9e\xe7\x6a\x36\xc8\x4d\xd4\x0a\x0b\x87\x5d\x55\xf3\
+\x71\x33\xb1\xed\x4d\xf1\x13\x41\x04\x77\x7a\xe8\x95\x45\x43\x9d\
+\xe0\x13\xcc\xfb\xc3\x75\x58\x31\x2b\xd5\xa9\x8e\x99\x79\x35\xb7\
+\xe2\x56\x04\x07\x73\xb1\x61\xdb\xc2\x38\xab\x11\xfb\xf8\xc3\xfe\
+\xfa\x8e\xaf\x9f\x78\xcb\x87\x78\xdb\x7b\xc9\xeb\xb3\xf1\xd7\xab\
+\x20\x95\xbd\x37\xa1\x6e\x60\xc7\xbb\xa1\xeb\x91\xff\xc5\x73\x41\
+\xc6\xc0\x9f\x90\x06\x01\xfa\x0e\x5a\xd8\xa8\xeb\xdc\xf9\xc4\xc9\
+\x77\x7f\x7a\x73\x7a\x7a\xab\x2c\x64\xd2\xf8\x22\xae\xfc\x70\xd8\
+\x7f\x21\x85\x31\xee\x8f\x8d\x29\x15\x53\x68\xd0\x44\x23\x24\xc7\
+\x4d\xab\xa7\xea\x6a\xa4\x15\xef\x0f\xd5\xb1\xce\xc6\xba\x6f\xad\
+\xb0\xd5\x31\x6f\x99\x37\x32\x6f\x58\x34\x2c\xb2\x2f\xb2\x97\x44\
+\x11\x0a\x52\x86\x82\x04\x48\x04\xfe\xb0\xaf\xae\x9c\x7b\xa4\x7b\
+\xea\x33\x9c\xb9\xd7\xb5\x03\x66\x8b\x05\x22\xde\x57\x96\xab\xfb\
+\x82\xe1\x7e\x9c\x07\xfb\xcb\xf7\x99\xa3\xad\x2e\x97\x12\x95\xec\
+\x74\x68\x46\xe6\x99\x79\x82\x99\xb4\x9e\x6f\xe3\x91\x0f\xdc\xf9\
+\xf6\xc7\xbd\x49\x94\x5e\x23\xa9\x3f\x1c\x6e\xd9\xc8\x43\xdb\xe9\
+\x9a\xa9\x2d\x9e\x0d\xca\xb2\x9e\x0f\x95\xa6\xd0\x55\xda\xe2\xb9\
+\x27\x0d\xbb\xe6\x0f\xd3\x61\x95\x3a\x1e\xee\xd5\xdd\x96\x8d\xb4\
+\x87\x1b\x1a\x47\x31\xf5\x61\x4a\x63\xef\x9e\x85\x10\xf6\xc3\x9d\
+\xef\xf9\x49\xee\x7f\x8c\xe6\xe4\x90\x32\x93\x92\x00\x55\xc4\xd1\
+\x65\x47\xf8\x3d\x33\x6d\x51\xb2\xf7\xd0\x1a\x7e\x7e\xc3\xb4\x4c\
+\x1d\x53\x33\x0a\xcc\xdd\x51\xe5\xa5\x0a\xeb\x97\x9a\x27\x9e\xea\
+\x56\xba\xfe\x5a\xec\x1e\x0a\x87\x5d\x32\xa4\x42\xcd\x58\xc2\x13\
+\xa8\x89\x9a\xb0\x18\xca\xe2\x18\x18\x5a\x2d\x9b\x68\x85\xe2\xa5\
+\xe9\x0e\xd5\xd1\x37\x4d\xdf\x76\xf3\x76\x65\xde\xae\x2d\xda\xb5\
+\xd2\xac\xd4\xa6\x21\x8b\x0b\x0e\x08\xe2\x43\x86\x9f\x41\x91\x28\
+\xe0\x13\xf6\xd7\xe9\x27\x3f\x46\x7b\x12\x6d\xb6\x16\xd5\xa1\x49\
+\xa9\xd6\x92\x73\x37\x34\x8f\x5a\xde\x88\x2e\x17\xda\x8e\xaf\xa3\
+\x3f\xd5\x3f\x6c\xe8\x93\x5e\xe8\x33\x54\x9a\xca\x29\x38\x31\x95\
+\x72\x1a\xd6\x13\xb5\xbd\x8d\xb7\xfe\x89\xfc\xe9\x7f\xf5\xbb\xab\
+\xe7\x50\x7a\xd7\xc5\x02\xcd\x59\x73\xb2\x6d\xb4\xa0\xed\x9a\xd6\
+\xa4\xa6\x6a\x68\x45\x0d\xf5\xf1\x2a\x38\xce\x7d\x19\xc3\x61\xbd\
+\xa0\x2d\x61\x5d\xb1\xe9\xdc\x26\xdb\x96\x16\xd9\xac\x2d\x64\xc7\
+\x14\xcb\x58\xc6\x12\x26\xd5\x92\x59\x36\xb5\xf9\xa1\x3a\xda\xd2\
+\xb7\x65\x3e\x29\x5b\x93\xba\xd1\xd8\x46\xb2\x2d\xf1\xde\x70\x5f\
+\x56\xce\xf4\x65\x75\x22\x17\x4c\x23\xf0\x87\xd7\xe5\xd9\xe9\xc9\
+\xed\xac\xea\xe3\x5b\x37\x9e\x65\xb9\x27\x4f\x1d\x95\xac\x5b\xa8\
+\x32\x67\xed\x0f\xa6\xef\xd4\x5f\xf8\xcb\x5c\x7a\x8a\xf6\x0e\xa4\
+\x3b\xd1\xa6\x29\x64\x34\xa5\x75\x98\x66\x72\x3b\x2c\x19\x4b\x26\
+\x75\xa4\x8c\x92\x8f\xef\x8c\xd4\x91\x8f\x6c\x0a\x89\x1b\x33\xa1\
+\x86\x37\x50\xc1\xc6\xcf\x49\xa3\xf7\xbc\xe5\xe2\x9b\xde\xf9\xf4\
+\x4c\xbb\x44\x12\xea\xbc\xe0\x29\xaf\x34\x28\xcc\x37\xd0\x61\x41\
+\x55\x77\xb6\x21\x0d\x35\xd2\x23\x19\x30\x84\x10\x0e\xad\x69\x5d\
+\xa4\x65\x2e\x3e\xa0\x94\x3d\x1b\x47\x85\x45\x21\x43\x65\x43\xba\
+\x0b\x6f\x7a\x3b\x6f\x7e\x34\xce\xd8\xe0\xc8\x07\xfe\x84\x09\x75\
+\xc8\xc3\x44\x6c\xb9\x18\x6a\xe0\x6e\x05\xc3\x80\x34\xe5\xae\x87\
+\x57\x9f\xfc\xcc\xc6\xd9\xb7\x50\xac\xc9\x14\x69\x16\x96\xc8\x2d\
+\x02\xfd\x10\xe7\x29\xaa\xbd\xb6\x45\xb2\x2f\x63\x7f\x0c\x48\x42\
+\x08\xe1\xd0\x5a\x2d\xdb\xd9\xcc\x86\x2d\x5d\x3e\xbc\xf1\x0f\x3d\
+\x23\xd4\x87\xf2\x2e\x2d\x97\x17\xe2\x17\x1e\x3c\xff\x81\x4f\x71\
+\xf6\x8e\x38\x63\x83\xe3\x10\xf8\xf1\x9d\x8c\x8c\xe5\xcb\x71\xc0\
+\x44\x5c\xc5\x1c\x16\x9e\xc9\x67\x79\xf8\xc3\x67\x9e\xfc\xbc\x17\
+\x5c\x1a\x69\x26\xbd\x33\x9b\xcf\x00\x1a\x70\x5c\x28\xaa\x45\x92\
+\x49\x72\x74\x77\x46\x32\x84\x10\xc2\xa1\xd4\x14\x92\x51\xa5\x31\
+\x9a\x65\x47\x4b\x8a\x66\x43\xc4\x61\x82\x8b\x5c\x99\x5e\x3c\xf7\
+\xc4\x27\x78\xcb\x7b\x61\x35\xce\xd8\xe0\x18\xac\xf1\x0f\x9b\x82\
+\xf2\x8d\xaf\xc5\x0d\x4a\xa2\x00\xbd\x8a\xeb\x1a\x27\xee\x3d\xfb\
+\xd4\x4f\xca\xa5\x07\x36\x7c\x3a\x5f\x58\x97\x50\xab\x5e\x21\x81\
+\x0f\xbb\x03\x0c\xcc\x04\xdb\xf9\x6e\x11\xf8\x43\x08\xe1\x10\x13\
+\x70\xd4\xc6\x37\x70\x4c\xb4\x92\x44\xc6\x6a\xae\x2f\xf6\xcd\xfa\
+\xc3\x1f\xd4\x27\x7f\x82\xe6\xc2\x76\x6d\xe2\x74\x0d\x8e\x41\x56\
+\xbf\x42\x83\x0c\x7d\x16\xf6\x16\x03\x33\xbc\xaa\x95\x61\xb9\x67\
+\xa1\x99\x74\x92\xdb\xdf\xca\x93\x3f\xb5\x38\x79\xef\xd6\x62\x91\
+\xa5\xb4\x19\x1c\x37\x7a\xc5\x85\x44\xc9\xde\xab\xbb\x0b\x16\x3b\
+\x8c\x43\x08\xe1\x90\x13\x4c\x10\x8a\xd2\x0f\xe5\xa2\x17\xda\x98\
+\x90\xdd\xc8\xf4\x33\xfa\xd3\xf7\x9d\x79\xdf\xcf\x70\xee\xad\xf3\
+\xc5\x64\x3a\x3d\x11\x27\x6c\x70\xe4\xc3\xdb\xb0\x7f\x18\xb9\x61\
+\xc4\x3f\x34\xeb\xad\xa8\x25\x4c\xc1\x61\x41\x26\xaf\xf0\xee\x2f\
+\xac\x3d\xfc\x7e\x5d\x3f\x4b\xdf\x03\x92\x28\x50\xb5\x75\x34\x39\
+\x8d\x59\xf6\x05\x50\x55\x5d\x34\xda\xf8\x86\x10\xc2\xa1\xd5\x27\
+\xaa\x92\x64\xae\x14\x84\x5e\xb5\x0a\xc9\xeb\x90\xae\x5d\xd6\x4e\
+\x5c\x7c\xd7\xa7\x78\xf8\xc7\x48\xab\x65\x48\x02\x08\xc0\x31\x08\
+\xfc\x43\xef\xbd\x61\x8b\x30\x2c\xf3\xf0\x05\x44\x41\x10\xb0\x85\
+\x2f\x2b\x85\x38\xca\xf9\x47\xbb\xb7\x7e\x38\x5d\xba\x6f\x63\x01\
+\x0b\xc8\xa4\x94\x45\x54\x5c\x87\x3e\xe8\xea\x0c\xdb\x8b\x5d\x88\
+\xc0\x1f\x42\x08\x87\xd6\x5c\x3b\x5f\xbe\xed\xbb\x50\x15\xc5\xb3\
+\x17\x37\xe6\x26\xf5\xb6\x47\xf5\xc9\x9f\xa0\xbb\x70\x65\xc1\x4a\
+\x07\xd1\x9d\x75\xe9\x18\x4d\x68\xfb\xb0\x85\x6f\xf9\x92\x24\xd3\
+\x34\x90\x92\xa6\x71\x25\x40\x10\xa8\xcd\x1a\xef\xfc\xc8\xa9\xb7\
+\x7e\x68\x76\xf2\x12\x2d\xcc\xd1\x52\x72\xdf\xa7\x3d\x7b\xf6\x13\
+\x45\x58\x54\xa1\x4f\x71\x85\x84\x10\xc2\x21\xd5\x17\xda\xb6\xc5\
+\x20\x21\x09\xaa\x4d\x73\xc9\x46\xcd\x6c\x9f\x7a\x70\xed\x43\x3f\
+\xc7\x3d\x8f\x79\x66\xda\xe1\x06\x12\x23\xb9\xd1\x91\x0f\xfc\x43\
+\x97\x32\x19\x13\xfb\x0d\x5f\x76\x32\x25\x41\x0b\xd9\x91\x61\xe8\
+\x9e\x00\x6c\x96\xa0\x3d\xa5\xef\xfd\x7c\xf7\xd6\x8f\xbf\xd8\x9c\
+\x63\xb5\xa5\x90\xac\xaa\x99\xd1\x39\x2d\x20\x4e\x76\x10\x2b\xb1\
+\xd2\x1f\x42\x08\x87\xd5\x5a\x6e\x7c\xb6\xc0\x41\xe8\x0d\x71\xa8\
+\x86\xf0\x12\xab\x6b\xef\xfc\x34\x0f\x7f\x9c\xf6\x4c\x81\x06\x74\
+\xa8\xeb\x12\x80\x63\x10\xf8\xf3\x58\x87\x77\xa8\x68\x3a\x6c\xe8\
+\x87\x71\xce\x3e\x55\x52\x25\xef\xfe\xb8\x1d\x33\xe6\xde\x71\xe1\
+\x6d\xeb\xef\xfe\x99\xcd\xf3\x6f\xdb\xea\xf3\x98\x10\xe8\x56\x69\
+\x7b\xed\x7c\x4f\x3e\x7f\xa4\xf8\x85\x10\xc2\xa1\xd5\x58\xf1\x39\
+\x08\x5e\x71\xa3\x6b\xc1\xd8\x28\x34\xf7\x3e\x96\x9f\xfc\x49\xce\
+\xbd\x79\x26\x28\x26\x3e\x43\x99\x47\x52\xff\xd2\x31\x08\xfc\x65\
+\x5c\xe8\x17\x03\xc6\x3f\x01\x30\xf4\x15\x35\x78\xb4\xb1\x9e\x44\
+\xc9\x6b\x3c\xf2\x63\xe7\x1f\xff\xdc\x4b\xe9\x1c\xcd\xd8\x10\xcd\
+\x45\xab\xa4\x2a\x63\x41\xff\x98\x15\x0a\x21\x84\x43\x6d\x7b\xa6\
+\x40\xce\x0b\x43\x12\x34\x6d\x6f\x6c\xad\x5d\x3c\xfd\x81\x9f\xe5\
+\xce\xc7\xaf\xa2\x0b\x48\xd2\x53\xb6\x10\x8b\x7a\x6c\x3b\x8e\xc1\
+\x88\xb6\x8e\x3b\xf8\x44\x51\x79\xe5\xfe\x7b\xdd\xf9\xd3\x01\x26\
+\x19\x81\xcd\x0a\xdd\xc9\xe9\x53\x9f\x3b\xf3\xe8\xc7\x36\x26\x17\
+\x1d\x10\x55\x5f\x24\xef\xc7\xff\x4d\x50\xa7\x89\x4b\x25\x84\x10\
+\x0e\x2d\x1b\x6a\xb8\x88\x2a\x22\xb2\x35\xab\x57\xa7\x17\x4f\xbf\
+\xf3\x33\xbc\xf3\xd3\xde\x9d\xde\x28\xc3\x0a\x6f\x19\x8a\xb2\xc7\
+\x58\x6e\xc7\xf1\x98\xca\x56\xa4\x41\x1a\x24\xa3\xcb\xdc\x3e\x2c\
+\x61\x69\xa7\x6c\xf3\x6e\x9b\x45\x49\x30\x4d\xb8\xc3\xa9\xdb\x56\
+\x3e\xf4\x85\x8d\xf3\x8f\x3e\xcb\x09\x13\xcd\xbe\xdd\xfa\xa6\xba\
+\xf5\x9a\x8b\x28\x4e\x8e\xee\x61\x21\x84\x70\x68\xb5\x1d\xa2\xd4\
+\xd2\x64\x5c\xfc\xe5\xda\xfa\x3d\x4f\x36\x1f\xfd\x15\xa6\x77\xf4\
+\xce\x89\x44\x37\x34\x61\xc9\xab\xa0\xb9\x8f\xf3\x35\x3a\x06\x81\
+\x5f\x2b\xa9\xa0\xc3\xee\xbc\x32\x6e\xc3\xb3\xa1\x7a\xbf\x50\x86\
+\xf0\x0f\xe3\x88\xbf\xd4\x4c\x6f\xad\xc3\x6c\x1b\x6f\xb8\xef\xb1\
+\xd3\x4f\x7c\xba\x3f\x7f\x7f\xd1\x34\x94\x7a\x16\x4a\x91\x6e\x2e\
+\x53\x23\x6b\x8d\x2b\x24\x84\x10\x0e\xa9\x92\x9b\xa2\x19\xf7\xa1\
+\x92\xcf\xca\x1d\x0f\x9e\x7b\xea\xc7\xb9\xf3\x09\x4f\xab\x18\x6b\
+\xd2\x67\xe6\x46\xae\x4c\x71\x6d\xeb\x2c\xce\xd8\xe0\x18\x54\xee\
+\x13\x47\xeb\xb2\x92\x4f\xdd\xad\xdc\xe7\xf8\xb0\xc3\xff\xfa\xce\
+\xca\x89\x94\x95\x7e\x5b\x5a\xa8\x90\x4e\x74\xef\xfd\xcc\x99\x7b\
+\xdf\xda\xab\x2e\x03\x3f\x95\xc6\xe8\x18\x2a\xf6\x87\x10\x42\x38\
+\x94\xb6\xaa\xb8\x0a\x40\x8f\x2a\xa7\x1f\x7c\x2b\x6f\x7f\x3f\x79\
+\x6d\x2e\x24\x33\xea\x36\xd6\x3b\x4d\x05\x9b\x97\x68\xb7\xba\xe3\
+\x18\x34\xe9\xc9\x19\x3a\x58\x81\x15\xe8\xc6\x6d\x7b\xc3\xe4\x7f\
+\x07\x0d\xe4\x71\xba\x5f\x41\xc9\xf4\x50\x68\xa6\x35\x4d\xe7\x2b\
+\xab\x8b\x76\x95\xd5\x3b\x57\x7f\xf1\x37\x7e\x70\xdb\x13\x2f\xad\
+\x9e\x62\x22\x08\x6b\xb6\xb1\xae\x73\x73\xfa\x66\xa2\x65\x1d\x9b\
+\x56\xc9\x25\x51\x15\x53\x4c\x28\x9a\xb7\x73\x9e\xa7\x5c\x45\xd5\
+\xc6\x56\xd0\x55\xd9\xce\xb1\x0b\x20\x84\x10\x5e\x23\x05\x75\xb4\
+\xa2\x15\xf1\xbc\x90\xe9\x56\xee\xe6\x49\x8b\xa0\xa0\xa2\xe2\x2b\
+\xc5\x4e\x94\x3a\xd5\x2a\x6a\x9c\x58\x5c\x6b\x6c\x8e\xcb\xf7\xed\
+\xcc\x95\xb7\xfd\x3a\x9f\xfc\x57\x39\xf1\xe6\x2d\xa1\x83\xa4\xe0\
+\x27\xf0\x13\xd5\x49\x8e\x76\x73\x9a\x17\xe3\x0c\xef\x9c\xe7\x5b\
+\x4b\x25\x0d\xb5\x78\x55\x18\x97\x00\x72\x4b\xb3\xfe\xa6\x1f\xfb\
+\xc9\x7e\xfd\xd2\x4b\x73\x27\x25\xbc\x78\xbf\x9d\xb2\x9a\x38\x14\
+\xa1\x0a\xa6\x4e\x72\xb2\x91\x1c\xf5\x92\xdc\x04\x13\x76\x93\x00\
+\xc4\x35\x6e\x28\x43\x08\xe1\x75\xf1\x65\x66\x16\x28\x96\xdc\x13\
+\x96\x87\xc4\x3c\x33\xbc\x2a\xae\x0a\x29\x91\x20\x83\xb3\xe1\xd3\
+\xee\x8e\x87\xce\x3d\xfa\x1e\xd6\x4e\xcf\x17\x8b\x8e\xa1\xfa\xea\
+\x6e\x01\x56\x17\x20\xe3\x5d\x9c\xdd\xc1\x2d\x17\xf8\x7b\xb4\x47\
+\x7d\xcc\xfe\x43\xc1\x53\xc3\xe4\x3c\x8f\x7f\x7a\xe5\x91\x8f\x6c\
+\xac\xdd\xbe\x55\x1d\x41\xb2\x25\xe6\xee\x15\xe9\x85\x92\xdc\x92\
+\x0d\x99\xa1\x88\x91\x9d\xec\x96\xdc\x96\xa9\x83\x00\xc3\x9d\x41\
+\x08\x21\x84\xd7\x6e\x4c\xbe\x57\x47\x05\xcf\xbe\xc8\x86\x8e\x81\
+\x1f\xf1\x92\xa4\x66\x05\x19\x47\x6f\xf3\x5e\xb7\xce\xdc\x7b\xe6\
+\xc9\x4f\xf3\xce\x0f\x31\x39\x65\x55\xd3\x50\xc6\xc7\xf7\x56\x72\
+\x1d\xb2\xba\x57\xe2\xec\x8e\x27\xf7\x56\x7b\xc1\x43\x12\x40\xa5\
+\x3a\x45\x98\x25\x4a\x8f\x56\x3d\x45\x77\xe7\xfa\xfb\x7e\xe6\xc4\
+\xdb\x3f\xfc\xb2\x4e\x0d\xc8\x50\x5d\xac\x40\x41\x4c\x86\x82\x80\
+\xbe\x6c\xff\x67\x24\xbf\x7e\xa3\xbf\xa3\x46\x8e\x4d\x00\x21\x84\
+\xf0\x9a\x8d\x63\x27\x75\x51\xc1\x92\x97\x6c\xe8\xf0\xc6\x3b\xf6\
+\x61\xa9\x42\x8f\x57\xbc\x50\x9d\x9a\x36\x9a\x73\x6b\x6f\xfd\xb0\
+\x3e\xf5\xe3\x4c\x6f\x2f\xba\x3a\x9d\x4e\xc7\xa8\xef\x20\x65\xa8\
+\xd9\x2a\xe0\x64\x64\x35\x4e\xf0\x78\x7e\x6f\xb5\x17\x3c\x4c\xef\
+\x1b\x62\x38\x98\xe0\xc0\x1c\xbd\xb2\x38\xc1\x3d\xef\x3e\xf5\xde\
+\x9f\x6c\xef\x7a\xf4\xb2\xc1\x0c\x94\xd6\x40\x71\xd9\x6d\xf2\xb3\
+\x93\xee\x27\x63\x85\xbf\xe5\x3f\x01\x6e\x1a\xfb\xfe\x43\x08\xe1\
+\x75\xf0\xe5\x9b\xaa\x50\xd4\x6d\xdc\x89\x3d\xbc\xb3\x0e\x31\x9c\
+\x9e\xba\xf0\xea\xa5\x72\x8d\xf5\xd5\x87\x9e\x5a\x79\xfc\xd3\x9c\
+\x7d\x68\x93\xd5\xed\xe1\x5b\x58\x0f\x43\x65\x7e\x85\x92\xe8\x95\
+\x62\xb0\x88\x8d\xfc\x4b\xb7\x5c\xe0\xef\x20\x83\xa0\xc3\x62\xfd\
+\x70\x2d\x29\xd0\xa9\xa7\x53\x3c\xf0\xbe\xf3\x4f\x7d\x6e\x7e\xfa\
+\xee\x97\x67\xa0\xc8\xf2\xd6\xa0\x8a\x9a\x28\xa2\xd7\x9d\xb0\x65\
+\x4b\xa8\x5d\x11\xf7\x43\x08\xe1\xb5\xda\x79\x3b\x15\xca\xde\x81\
+\x56\x01\x53\xc6\x77\x60\x03\xc7\x15\xb2\x6e\xdc\xf6\xc8\xe4\xbd\
+\x9f\xe3\x81\x77\x2f\x64\xb5\x80\x3b\xb5\xcc\x48\x86\x0a\x9a\x11\
+\xc5\xc1\x4d\x70\x1f\x1a\xb8\x07\xe0\x16\x0c\xfc\x52\xcb\x50\xbb\
+\xdf\xc8\xc6\x04\x24\x39\x9d\x33\x11\x8a\x43\x73\x91\x77\x7e\xfa\
+\xcc\xa3\x9f\xea\x4f\x5f\x44\x32\x8e\x89\x56\xc9\x4e\xae\x92\x4d\
+\xf2\x4e\x8d\xa0\xf1\x82\xf4\xeb\x52\x51\x42\x08\x21\xbc\x66\x0e\
+\x2e\xd7\x57\x5f\x1d\xdb\xa6\x88\xa5\x16\x95\x71\xce\x5f\xa1\x5d\
+\x91\xb5\xf3\x27\xde\xf7\x93\x3c\xf2\x41\x9a\x33\xc5\xc8\xd0\x09\
+\xa2\x46\x82\xa4\x55\x71\x01\xd3\xa1\x15\x8b\x41\x94\x65\xd9\x71\
+\xeb\x6d\x3f\xb3\x8a\x8d\x2d\x78\x2b\x40\xc6\x4c\x8c\xae\x62\x05\
+\xd7\x8e\x93\x0f\x74\xef\xfc\xac\xde\xf9\xf8\x86\xaf\x23\x30\xa6\
+\xee\x1b\x50\x95\xa2\x6a\xa2\xa6\xea\x28\xae\xea\x7a\xdd\x39\x8c\
+\xf0\x1f\x42\x08\xaf\xdd\xf0\x76\x7a\xdd\xdc\xa9\x81\x69\xe3\x92\
+\x50\x10\x1c\x16\xa9\x9d\xad\x5c\xd8\x3a\x79\xf7\xea\x93\x9f\x63\
+\xfd\x76\xb4\xeb\x84\x09\x74\x98\xaa\x2c\x6a\x5d\xa0\x85\xe1\xa6\
+\x61\x78\x8b\x56\x8d\xf9\xd8\x57\x9c\xe5\x5b\xee\x25\x8f\xcb\xf3\
+\x63\x0d\x5f\xc3\x7b\xdc\xba\xcc\xac\x40\x3e\xc5\x9b\xdf\x7f\xee\
+\xc3\x3f\xdb\x5f\x78\xf8\x65\x4e\x64\x94\xde\x1a\xf5\x46\x6b\xe9\
+\x17\xd5\x17\xd2\xea\xbc\x37\x23\xe3\x19\xcf\xe2\x8a\x2b\xc4\xb8\
+\x3f\x84\x10\xde\x20\xb2\xfb\x81\x89\x7a\xa9\x0d\xd5\xb7\x2b\x20\
+\x2b\xf9\x7b\xdb\x5c\x5d\xbf\x6f\xfd\x8f\xff\x26\xe7\x1f\x22\x9f\
+\x40\x48\x4e\x32\x70\x03\xd5\x34\xd9\x9d\x87\x15\x96\xa9\x01\x96\
+\x22\xf6\x2f\xdd\x7a\x81\x3f\x35\xa8\xee\xa4\x7a\x1a\x20\xc3\xaa\
+\xd1\x0c\xb7\xdc\x32\x13\x68\x4f\xf3\xe6\xf7\x9e\x7e\xec\x53\x97\
+\xcf\x3d\x34\x9b\x5b\x9e\x24\xbc\xda\xac\x4e\x1b\xba\x86\x5a\x16\
+\xdd\x24\xab\x23\x2e\x6a\x82\xab\x8b\xba\xe0\x1a\x81\x3f\x84\x10\
+\x5e\xbb\x61\xff\x94\x0b\xb6\x7c\x47\x75\x50\x67\xda\x65\xdf\x5e\
+\x48\x03\x2d\x57\xbc\x59\x7d\xf0\xc9\x4b\x1f\xfe\x22\xb7\xbf\x7b\
+\x46\x53\xc6\x28\xd6\x43\x0f\x38\x8d\x90\x33\xb4\xe3\x77\x04\x55\
+\x64\x58\xf3\x0f\xa3\x5b\x2e\xf0\x97\x61\xe1\x87\x92\xe9\x13\x65\
+\xcc\x20\x4d\x8a\x0a\xd2\x2b\x14\x67\x41\x66\xfd\x76\x9e\xfa\xec\
+\xf4\x1d\x9f\x2a\x4d\xae\x2e\x80\x0e\xfb\x01\x9c\xac\xa8\xba\x30\
+\xa6\x9b\x0a\xc0\xd0\xd2\x97\x12\x85\xfb\x42\x08\xe1\xb5\x1a\xd6\
+\x55\x87\xcc\xaa\x22\xb9\xd7\xec\x64\x71\x28\x73\x01\x9c\x8d\x39\
+\x1b\xdd\xc5\x73\x8f\x7d\x9c\xc7\x3f\x4b\x77\xef\xf2\x7f\x2b\x68\
+\x41\xcd\x45\x0d\x4d\x43\x49\x15\x2b\xd0\x23\xa5\x0a\x05\x05\x6d\
+\x6f\xc5\x19\xee\x57\x77\xcb\x9d\x88\xc5\x70\x5b\x88\x43\x49\x54\
+\xc1\x2a\xea\x22\xa8\x9a\x57\xb0\x66\xc8\xf2\xcb\x2b\x9c\xbd\xff\
+\xd2\x07\x7f\x66\xed\xcd\x8f\xbd\x24\x2b\x33\x83\x95\xe5\x3d\x65\
+\x03\x7d\x15\xb7\xe5\x5a\x41\x71\x31\x13\x1c\x75\xe2\x9e\x32\x84\
+\x10\x5e\xab\x65\x7d\x94\x2a\x5a\x24\x55\x49\x26\x88\x1b\x05\x56\
+\x75\x0e\x2f\xa6\x13\xeb\x6f\xfd\x40\x7a\xf4\x63\x4c\xee\xd8\x4e\
+\x9a\xc7\x1d\xda\x0e\x36\x94\xfa\x1d\xff\x56\xc1\x2a\x94\xa1\x65\
+\x8b\x0d\xa1\x2e\x66\xfa\x97\x6e\xd9\x3b\xa0\xb1\x10\x94\x52\xc1\
+\x7a\xb4\x90\xaa\x66\xc7\x33\x74\x8a\x79\x26\x9d\xe0\x8e\x47\xf8\
+\xd0\x17\xec\xae\x77\x3d\xeb\x6b\xa5\x5f\x16\x01\x18\x7a\x3b\xca\
+\x50\xc6\xaf\x20\x36\xe4\x00\x0e\xa5\xa6\xe2\x92\x0a\x21\x84\xd7\
+\xe8\x15\xc5\x4f\xc7\x3a\xe8\x8d\x58\x6d\x5e\xce\xe7\xd6\x1f\xf9\
+\xc8\x89\x0f\xfe\x31\x6e\x7b\xa4\xe6\xbc\x90\xe5\xc6\x7e\x70\x72\
+\x25\x19\xcb\xe1\xd8\x6e\x5a\x9f\x0c\x1f\x89\x13\x4d\xd7\x76\xcf\
+\xea\xad\xf6\x82\xdb\x9d\x2e\x3e\xde\xe0\x59\x20\x51\x15\x66\xee\
+\x4e\x2b\xa4\x04\xc9\x51\xa1\xaf\xb9\x48\xc7\x3b\x3f\x77\xfe\xbd\
+\x3f\xbd\x38\xfb\xd0\x33\xb3\x86\x0e\x1a\xea\x0c\x1a\x1c\x45\x0c\
+\xd9\x5b\xab\x1f\xf5\x58\xe4\x0f\x21\x84\xd7\x45\xdd\x94\x22\xd4\
+\xe4\x55\x87\xed\xf7\xd2\x7d\xf7\x9a\x2e\x2e\x3c\x72\xe6\x7d\x5f\
+\xe4\xde\x27\xc9\xa7\xcc\x99\x02\x63\x94\x4f\xd0\x09\x3a\x16\x65\
+\x19\x72\xb8\xb4\x81\x46\xc8\x69\x7c\xcf\x37\x24\x76\xf2\x2f\xcf\
+\xf0\xad\xf6\x82\xb3\xf7\xc9\x6d\xa8\xfe\x80\x27\xdc\x84\x92\x30\
+\x19\x72\x42\x19\xe6\x88\x0c\x43\x84\x85\x43\x77\xaf\x3e\xf1\xe9\
+\xbb\x9e\xfa\x74\x3e\x7b\x5f\xef\x1d\x63\x1d\x89\x3c\x74\xea\x1b\
+\x72\xfa\x96\x9d\xff\x2c\x9a\xf4\x84\x10\xc2\xeb\x32\x94\xd8\x77\
+\x4b\x94\x6c\x63\x19\x9f\xad\x92\xba\xdb\xde\x7c\xe9\xc9\xcf\xf2\
+\xf0\x87\x68\x2f\x6e\xa1\x59\x68\x7b\xab\x58\x05\x1b\x4a\xb1\xf9\
+\x58\x49\x7d\xd8\x68\xe5\xc3\xfe\xad\xe1\x93\x6e\x50\x91\xd8\xc9\
+\x3f\xba\x05\xf7\xf1\x2f\x70\xdb\x9d\x0b\x32\xc5\x4c\xf0\x46\xd4\
+\xc1\xc7\xf2\x90\x4e\x2d\x59\xc9\xc2\x33\xac\xb2\x7a\xdb\xe4\xdd\
+\x1f\x39\x7f\xef\xc3\xd7\x16\x5e\x0a\xcd\x84\x45\x5f\x1c\xb5\x3d\
+\x1b\x4e\x58\xe6\xa3\x86\x10\x42\x78\x3d\x86\xa1\xd4\xd8\x0f\xc5\
+\x01\x5d\x78\xba\xf4\xae\xf7\xb6\xef\xf9\x04\xd3\x8b\x57\x9c\x22\
+\xc3\x9b\xed\x56\x65\x2c\x93\x2e\x7b\xea\xf9\xdb\x32\x1d\xab\xb2\
+\x5c\xef\x77\x8b\x11\xff\x5e\xb7\xe0\x76\xbe\x55\x34\x2f\x8b\x3a\
+\x0c\xbb\xfb\x56\xa1\x69\x61\x0a\xcd\x30\x47\xd4\x24\x9a\x8c\xd0\
+\xc2\x79\xb8\xd6\x9f\xe0\xf6\x8f\xa7\x3f\xf6\x97\xe7\x8f\xfe\xa9\
+\x97\xea\x3a\x0b\x5a\x41\xb4\x5c\x4b\x6b\xd7\x58\x97\x82\xf4\xa8\
+\x33\x6f\xfd\x99\xd5\x89\x3a\xc3\x21\xc3\xb5\x88\x82\x8e\x9b\xfe\
+\xd1\xa1\x75\xaf\x1a\x6a\x63\xcf\xe9\x10\x42\x38\xae\xb4\xa0\x15\
+\x35\xc5\x5b\xa3\xab\x4c\x8d\x0e\x6f\xf1\x2c\x9e\xc5\x33\xde\xe2\
+\x2d\xde\xe1\x1d\xde\x2e\x9a\x3c\xd7\xc6\x72\xe7\x15\x36\x21\xc3\
+\xfa\xea\xd7\xd2\x6d\xb3\xf7\xfe\x3a\x3f\xf6\x9b\xac\xbf\xd3\x4b\
+\x77\xd2\x39\xd1\x17\xea\x82\xb4\xd2\x91\xc7\xd5\x5b\x59\x56\x5f\
+\x17\x12\xb4\xc3\xaa\xee\x70\x07\x91\x41\x33\xd2\x41\x34\xe9\x59\
+\xfe\x5c\xe2\x14\xfc\xd3\x89\x31\x6d\x71\x81\xd5\x95\xdb\x9e\x78\
+\x4f\x77\xef\xdb\x2f\xcf\xc1\xc8\x85\xb5\xba\x35\x95\xb9\xb3\x5c\
+\x65\x32\xd6\xca\xec\x15\xdf\xc0\xd8\xc9\x4f\xb9\xf1\x5b\xc7\xd9\
+\x0d\x21\x1c\x6b\xbb\x65\xcd\x0c\x5c\xa8\xea\x55\x28\x82\x09\x45\
+\xdc\x84\x22\x14\xa1\x0a\x55\x30\x97\x9c\xb2\x58\x3f\x4f\x8a\x9e\
+\xa0\xce\x78\x7e\x96\x57\xee\x7e\xf8\xd2\x53\x1f\xe6\xd4\x19\x14\
+\x1b\xbe\xa1\x0a\xb8\x79\x8c\x9c\x5e\xa3\x08\xfc\x3f\xfa\x04\xa5\
+\xa1\xbb\xc3\x4a\xc7\x63\xef\x3f\xf9\xbe\xcf\xcf\xee\x7c\xf4\x5a\
+\x55\x7a\x9a\x5a\x1a\x59\x78\xd2\x6d\x4d\x0b\x49\xa9\xfa\xfa\x62\
+\xbe\x7b\xc1\xfb\xde\xe2\x53\x7b\xf6\x91\x0c\x49\x01\x3b\xbf\x15\
+\x21\x84\x70\x5c\x09\x08\x2e\x86\x98\x52\x74\x0c\xf3\x43\x1d\x74\
+\x10\x13\xb7\x31\xfc\x7b\x11\x2f\xa6\xa9\xf6\x8b\x34\x4c\xc9\x57\
+\x9e\x17\xe5\xee\x77\xde\xfe\xf1\x9f\xe3\x4d\x8f\x91\xa7\x88\x48\
+\x32\xa4\x90\xdc\x73\xf2\x94\xe2\x04\xbf\x36\x11\xf8\x7f\x14\xc3\
+\x8b\xab\xb0\x90\x86\xee\x1c\xef\xf9\xfc\xa5\x0f\xff\xd2\xf6\xfa\
+\xfd\xcb\xad\xa2\x68\x4a\xb5\x59\x29\x69\xaa\xc8\x2b\xbb\x40\x88\
+\xc3\xf2\x12\x87\x3d\x1d\x7e\x23\xe4\x87\x10\x8e\x3b\x53\x6c\x7c\
+\xd3\x33\x19\x8f\xeb\xed\x4c\x09\x08\x08\x62\x2e\x86\x74\x90\x78\
+\x69\x86\x5d\x7a\xdb\xf9\x0f\x7e\x81\x77\x7d\x9a\xf6\xac\xa5\xb6\
+\xa8\x89\x9a\x43\x8f\xd5\x9d\x5d\xfb\xe1\x7f\xb8\x38\x71\x3f\x9a\
+\xd4\x02\x56\xd0\x97\x58\xf5\xb5\xfb\x78\xf7\x4f\x9c\x7f\xfc\x73\
+\xb3\xc9\xd9\xa1\xce\x2f\x7d\x9f\xd4\x54\x7f\xc8\x99\x7c\xb5\x00\
+\x3f\x34\xf8\x89\xda\xfe\x21\x84\xe3\x6d\x0c\xf5\xb2\x1b\xdc\xc7\
+\xf7\xbd\x57\x1c\xc3\xa0\x28\xd7\x45\x9b\x40\xa8\x15\x2e\xdc\x77\
+\xe9\xbd\x3f\xc1\x5b\x3f\x4e\x77\x71\x5b\xa6\x73\x92\x0c\x8d\x55\
+\xbc\x56\x63\xe1\x56\x3c\x92\xf5\x5e\xa3\x08\xfc\x3f\xf2\xca\x45\
+\x52\x4e\xcb\xba\x4f\x5b\x64\x4e\xde\x23\x1f\xfd\x62\x7d\xf0\xfd\
+\x7e\xea\x62\xad\xf8\x82\x69\xbf\xd5\xd8\x56\xaf\x6e\xcd\x9e\xff\
+\x51\xae\xff\x2e\x4b\xbe\xbc\xc4\x3d\x0a\xfe\x84\x10\x8e\xb5\xbd\
+\x95\x4d\x96\x95\x76\x76\xc7\xfe\x7b\x8f\x61\x91\x3f\xd7\x42\x96\
+\xed\x0d\x9e\x97\x33\x67\x1e\xfb\x9c\xbe\xe7\x67\x38\x7d\xff\x16\
+\x8d\x33\x8c\x96\x0c\x77\x27\xab\xb6\x8d\xe4\x2e\xce\xef\x6b\x15\
+\x81\xe7\x47\x49\x0c\x4d\xa0\x27\xc6\x1a\xe0\x54\x99\x72\xf1\xe1\
+\xd5\x4f\xfc\x92\x3d\xf2\xb1\xcd\x93\x67\x5d\xc0\x3d\x59\x29\xc2\
+\x46\x9b\xc6\x0b\xfc\x15\x97\xfb\x0d\xe5\x22\x77\xc2\x7f\x08\x21\
+\x1c\x6f\xe2\xbb\x51\xdf\xa1\xa2\x95\x5c\xc9\x15\x1d\x5a\x9e\x57\
+\xc1\x44\x8b\x2a\x02\x0b\xd9\x5e\xbf\xb8\xfe\xe8\xa7\x79\xfc\xa7\
+\x38\xf5\x50\x91\x0e\xc8\x90\x6d\x81\x55\x33\x4d\x92\x14\x1a\x48\
+\x11\xbf\x5e\xab\x38\x71\x7f\x84\x33\x64\xe0\xa8\x31\xe9\x59\x75\
+\x50\xe6\xac\xf1\xf6\x4f\xd8\xdb\x3e\xb9\x71\xe1\x91\xc5\x64\x3a\
+\xb6\xf9\x33\x6a\x4a\x3b\x71\xfe\xba\x44\xfe\xdd\xbc\xd6\xa5\x3d\
+\x35\x26\x42\x08\xe1\x58\x92\xbd\xb3\x9a\x0e\x8e\x91\x9d\xc6\xc7\
+\xfa\xa8\xcb\x1d\x4f\xae\x0c\xbd\x4e\xda\xf6\xc5\x3a\xed\xee\x7f\
+\xdf\xea\xc7\x7f\x85\x7b\x9e\xac\xb2\x3a\x37\x32\xb4\x94\xe4\x55\
+\x34\x25\xcd\x02\xc9\x59\x6c\xf6\xd4\x78\xff\x7c\x8d\xe2\xc4\xfd\
+\x08\x2e\x46\x06\x59\xde\xac\x1a\xc9\xf1\xa6\xdd\xd4\x53\xcd\x53\
+\x3f\x71\xfb\xc7\x7f\x61\xeb\xec\x03\xc5\x21\xd3\x28\xad\x15\x87\
+\x3a\xd4\x07\x72\x4a\x41\x14\x51\x59\xcc\x5e\x11\xfb\x25\xfa\x45\
+\x84\x10\x6e\x09\xcb\x3a\x3c\xb8\xa8\x8b\x82\x7a\x25\x8b\x6a\x35\
+\x35\xb2\x4a\x23\xb8\x7b\xdb\xb6\xdf\xbb\x2a\x93\x07\x9f\x5a\xfd\
+\xc8\x17\xb8\xe7\x71\xda\x13\x8b\x4c\xa7\x34\x43\x31\x9e\xd4\x80\
+\x8a\xa0\x8e\x38\x6d\xd7\xc4\x89\x7d\xcd\x22\xf0\xff\x08\x63\x95\
+\x9d\xa1\x10\x84\x18\x5e\x86\x8a\x92\xbd\xe3\xf9\x0c\xef\xfa\xe4\
+\x99\x0f\xfc\xf4\xe5\xb3\x0f\x5e\x9d\x93\x2a\xab\xdb\x26\x4d\x92\
+\x46\xc8\xaa\x59\x24\x51\x2a\x8e\x4f\x26\xbb\x93\x5d\xd7\xc5\xfe\
+\x08\xff\x21\x84\x63\x6f\x39\xff\x29\x8e\xb8\xa8\x91\xbc\xaa\x2d\
+\xd4\x61\x1b\xdf\x74\x92\xa6\xa6\x7b\xf1\xe5\x0d\x79\xe4\x43\xab\
+\x1f\xf8\x69\xde\xfa\x41\xda\x93\x9b\x15\xab\x64\x8a\x50\x00\x27\
+\x15\xd4\x76\xc6\x50\x91\x1c\xfd\x3a\x44\xe0\xff\x11\x86\x2a\x90\
+\x55\x8c\x64\x64\x43\x15\x68\x9d\x89\xb0\x30\x58\xb9\xc8\x47\x7e\
+\xfe\xcc\xfb\x7f\xee\xca\xfa\x7d\x1b\xdb\xa0\x6c\xce\xea\xa2\x78\
+\x31\x33\x55\xcd\x02\x94\xb2\xac\x04\xbc\x93\xc1\x3a\xd4\x8f\x8c\
+\x26\x91\x21\x84\x63\xed\xba\x34\x26\x07\x50\xf7\xe4\x35\x53\x71\
+\xc3\x20\x21\x0d\x7d\x5f\xb7\x6b\x9a\x9e\xbf\xe3\xd2\xc7\xfe\x04\
+\x4f\x7c\x92\xf6\xcc\x42\xb3\x64\x56\x52\x81\x19\xd4\x4a\x9a\xa3\
+\x65\xf8\x1e\x32\xb4\x45\x8d\xf0\xf5\xda\xc5\x99\xfb\xa3\x9c\xa0\
+\xe2\xd4\x8a\x55\x51\x92\x0e\x17\xde\xc4\x91\x5a\x67\xde\xb1\x72\
+\x8f\x7e\xf0\xe7\xcf\xbd\xfb\x27\xcb\xca\x9d\x2c\x1a\x17\x5c\x53\
+\x15\xad\x06\xaa\x92\x00\xea\x0d\xfb\xfb\x65\x2c\xe8\x2b\x1e\xb1\
+\x3f\x84\x70\x6c\xf9\xb2\x62\xdf\x40\x9c\xa1\x66\x1f\xee\xe3\xe2\
+\xe9\x2a\x9c\x58\x79\x7e\x9e\x36\xa6\x17\xd7\x3f\xfa\xd3\xe9\xf1\
+\x4f\xb3\x72\xc7\x42\xbb\xe2\xd6\x51\x84\x39\x5e\x0c\x2f\xe4\xca\
+\x4e\x9d\x94\x3a\x64\x5d\x45\x72\xf4\x6b\x16\x81\xff\x47\x58\x6e\
+\x43\xc5\xa1\xa0\x0b\x86\xf9\x25\xc3\xe6\x6d\x76\x34\x5f\xb3\x55\
+\x4e\xbe\x69\xfa\x91\x3f\x7e\xfa\x89\xcf\x3c\x67\xe7\x52\x37\x4d\
+\xdd\x24\x37\xd3\xea\xd2\x17\x73\x91\xa6\x91\x9c\x87\x6f\xb5\x13\
+\xef\x97\x75\xfd\xe2\xc2\x0d\x21\x1c\x6b\xbe\xa7\x3e\xcf\x50\xaa\
+\x6f\x59\xd3\x0c\x32\x18\x57\x17\xed\xe2\xfc\x9b\xcf\x3d\xf1\x59\
+\xde\xf3\x33\x8b\x7c\x6e\xc3\x3a\x93\xa6\x13\xc4\x7b\x2b\x0b\xa4\
+\x11\x26\x2c\x8b\xf1\x8f\x86\x37\xe1\x98\x34\x7d\xad\x22\xf0\xff\
+\x08\x09\x12\x9e\x40\x50\xc6\x69\x7f\xd0\x8a\x16\xac\xcf\x90\x94\
+\x2a\x1d\xe7\x1f\xe6\x03\x5f\x6c\x9e\xfa\xfc\xac\x2f\xd7\x36\x37\
+\xe7\x7d\xd1\xdc\x54\xdc\xcc\x51\xdd\xa9\x5f\x31\xae\x75\x45\x37\
+\xbf\x10\xc2\x2d\x60\x28\xd4\x37\xee\x5e\x1a\xef\x00\x8c\x9d\xb1\
+\x54\x23\x2f\xf6\xf9\x19\x3f\x79\xe1\x89\x1f\x6f\x3e\xfe\x2b\xac\
+\xbf\xcd\x20\x69\x6e\x20\x61\x56\x5c\xd3\x2a\x74\x8e\x66\xe8\xa0\
+\xc1\x04\xab\x43\xa3\x5d\xfc\x55\x4a\xa5\x86\x3f\x9a\x08\xfc\x3f\
+\xfa\xd2\x1d\x76\xdc\x27\xd7\x21\xbb\x7f\x27\xd7\x6f\x31\xdf\x4a\
+\xee\xed\x10\xcd\x9b\x13\xdc\xff\xc4\xe9\xcf\xfd\xda\xe9\x7b\xef\
+\xd3\xd4\xcc\x16\x73\x17\x11\x92\x3b\xee\x5e\xfa\xeb\xbf\x65\xc4\
+\xfb\x10\xc2\xad\xe0\x15\xf3\x9a\x2e\x63\x47\x74\x12\x73\x5a\x3f\
+\x75\xfb\xed\xef\xfa\xe8\xca\x7b\x7f\x9c\xb3\x6f\xdd\xee\xce\x67\
+\x98\x08\xc9\x8d\x6a\x39\xaf\xb8\xb4\x95\x5c\x16\x9e\xbc\x4f\xbe\
+\x9d\xbc\x57\x70\xb4\x92\x01\x58\xc4\x09\x7e\x6d\x22\xf0\xff\x48\
+\x8e\x0f\x25\xa7\x49\x8e\x8e\x73\xfe\x38\xde\xae\xac\x08\xce\x1c\
+\xef\x71\x81\xee\x34\xf7\xbc\x8d\x8f\x7f\xfc\xf4\x3d\xf7\x8a\xe6\
+\x21\xe4\x9b\x5f\xf7\x9d\x42\x08\xe1\x56\x34\x0c\xfd\x77\xeb\x96\
+\x42\x6e\x37\x7b\x39\x79\xdb\xbd\x6b\x1f\xfd\x2c\x97\x1e\xdc\xa0\
+\xbb\x0c\xc9\x10\x33\x4a\x8f\x39\x50\x9c\x45\x4f\xdb\x64\xcc\xa8\
+\x3d\x5e\xe4\xba\x29\xfe\x78\x4b\x7d\x8d\x22\xf0\xff\x48\x0d\x9a\
+\x49\x4a\x02\x61\x98\x71\xca\x34\xc2\x1a\x4c\x11\xcd\x1d\x4d\x83\
+\x8c\x77\xb5\xdd\x4b\x4f\xfe\xef\x16\x7f\xfc\xff\x54\xdf\xfc\xe3\
+\x8b\xe7\xb6\x56\xcc\xa6\xca\xe6\x96\x6d\xaf\x9e\xba\xd2\x4c\x6b\
+\x4a\x54\x58\x28\x75\x82\x4c\x49\xb9\x36\xbb\x37\xc3\x63\xdd\x4a\
+\xdd\x3d\x6c\xb9\x22\xa0\x86\xd6\xf1\x08\x21\x84\x83\xa2\x15\x35\
+\xd4\x41\xae\x7b\xa7\x32\x51\x3c\x1b\x6d\x95\xb6\x4a\x5b\x34\x17\
+\xcd\x45\x75\xb2\xa0\xc9\xcc\x25\x5f\xf6\xb5\xd2\x9e\x11\x49\xba\
+\x89\xce\x90\xb6\xf9\xce\xe6\xfa\xfc\x1d\xbf\xd8\xfc\xdc\xbf\xc5\
+\x7d\x9f\x5f\xe4\xdb\xda\xc4\x79\x10\x05\x55\x9a\x8e\xa6\x43\x68\
+\x84\x69\x33\x2c\xef\x77\xe4\x13\xe8\x2a\x68\x0b\x2d\x08\x0d\xac\
+\xc5\x4f\xe4\x35\xfe\x1c\xe3\x14\xbc\xb1\xd6\xa0\xbd\xed\xae\xf3\
+\x1f\xfc\x89\xb5\x77\xfd\xd8\xb5\x99\xb2\xcd\xda\x44\xd2\xc6\xe5\
+\xa6\xd4\x85\x27\xcf\x0d\x9d\xc0\x8c\xd9\x76\xbf\x5d\x6a\xef\x7f\
+\xa4\x65\xfe\x48\x03\x0c\x21\x1c\x06\xcb\x86\x3a\x8c\xad\x47\xc7\
+\xda\x7c\xea\x26\x98\xfa\xd8\x66\x57\xdd\xd4\x8b\xba\x31\x61\xb1\
+\x89\xd4\xb2\xd6\xba\xcd\x2e\x53\x2a\x2b\x90\x78\xfe\xaa\x5c\x78\
+\xf4\x03\xb7\xbd\xf7\x93\x9c\xbf\x1b\x69\x52\x42\x1c\xb1\x79\x9c\
+\xe0\xfd\x11\x81\xff\x0d\xd6\xd2\xd3\x9d\xe4\x5d\x9f\xd2\x1f\xfb\
+\xe5\xed\xfb\xdf\x77\x2d\xb7\xb8\xaf\xc0\xd4\xca\xc2\x7c\x43\xb0\
+\x64\xc3\xe4\x41\xa3\xb4\x43\xb6\xea\xb8\xbd\x75\xf7\x77\x69\xef\
+\x07\xd7\xfd\xca\x85\x10\xc2\x01\x92\x71\x17\xde\xf2\x6f\xe8\x10\
+\xfb\x97\xfb\xf4\x92\x5b\xf2\xa2\x98\x82\x42\xe9\x51\x65\x92\x53\
+\xee\x37\x73\x31\x1a\x98\xae\x3c\x9d\x4f\xe9\x23\x1f\x99\x7c\xe4\
+\xe7\x78\xeb\x07\x69\x4f\x0f\x85\x77\x93\xf5\x29\xde\xe2\xf6\x4b\
+\x04\xfe\x37\xda\xac\x77\x59\xa1\xbb\x8d\x77\x7c\xf2\xc2\x67\x7f\
+\x85\xfb\x1e\xdb\xde\x06\x45\x44\x26\x54\x97\xba\x25\xbe\x50\xe8\
+\xa0\x55\x6c\x5c\x22\xb8\x21\xf6\xef\x8d\xfa\xe3\x7a\x98\xc4\xb8\
+\x3f\x84\x70\xc0\x8c\xec\x32\x46\x8d\xa1\xbc\xfe\xde\xf7\x2b\x01\
+\xc1\x90\xdd\x4d\xcb\x8b\xd2\xe4\x66\x42\x5f\xa9\xe8\x0a\xc5\x79\
+\xc1\xd7\xec\xfe\xf7\x9c\xfd\xc9\x7f\x9e\x47\x3e\xc6\xe4\xb6\x0d\
+\xd3\xc5\xb8\xa0\x59\xb1\xd8\x9e\xb7\x4f\x22\xf0\xbf\xd1\xbf\x18\
+\x69\xa5\x17\xb9\x86\x96\xc9\x79\xde\xfd\xc9\xf5\x0f\x7c\x71\xfb\
+\x8e\xc7\xb6\xfb\x09\xa5\x76\xd8\x7a\x63\x29\xb1\xe5\xf4\x43\x63\
+\xea\xc5\x36\x7b\xf6\xf7\xb3\xd3\xb2\x62\xe7\xbb\xed\x64\xc4\x0c\
+\xbd\x02\x22\xf0\x87\x10\x0e\x4e\x95\x64\x64\x5b\xc6\x7e\x19\x2b\
+\xf0\xef\xbc\x47\xa9\xb3\x3b\x21\xe0\xc2\x4a\x37\xf5\xd9\x8c\x19\
+\x43\x1a\xfe\x73\xb5\xe9\xef\x78\xdb\x1d\x9f\xfe\x65\x1e\xfa\x40\
+\x9d\x5c\xb8\x26\xd0\x30\xcc\x0d\xa0\xc3\xbe\xe9\xb0\x1f\x22\xf0\
+\xbf\xc1\xfa\x06\x87\x16\x16\x54\xd2\x19\x3e\xf0\xc7\xce\x7c\xe6\
+\x4f\x5d\xbb\xe3\x1d\xd7\x8a\xb0\x8d\xf4\x4c\x15\x77\xb6\x3d\xa3\
+\x4a\xda\x53\xc5\xfa\x47\xc6\xfe\x68\xe3\x1b\x42\x38\x68\x2e\xd7\
+\xad\x4b\xba\x50\x85\x4a\xae\xd2\x56\xc9\x4e\x76\xd1\x2a\x54\xc1\
+\x80\xb2\x29\x0e\x13\xbc\xf0\xf4\xb6\xb4\x0f\x3e\x75\xdb\xc7\x7f\
+\x91\xb7\x7f\xb8\xcf\xa7\xaf\x02\x90\x21\xd5\xe1\xdb\x25\x24\xfa\
+\xee\xec\x93\x08\xfc\x6f\xb0\x0a\x18\x1d\xa5\xad\x3e\xb7\x96\xe6\
+\x12\xef\xfe\x89\xf3\x1f\xff\xa5\x7a\xdf\xbb\x16\x2d\x6c\xc3\x82\
+\x55\x49\x22\xa9\xa4\xc6\xa6\x0a\xd7\xed\x49\xd9\x89\xfd\x7b\xc3\
+\xff\x90\xf0\x3f\x1c\x21\x84\x70\x80\x86\xd2\x7b\x7b\xa3\xbe\x49\
+\x36\x49\x26\xe2\x88\x89\xda\xb8\x08\xa0\x2e\xb0\x55\x69\xa0\x6d\
+\x2f\x37\x27\xd3\xfd\x1f\x38\xf7\x63\xbf\xcc\xdb\x7f\x8c\x7c\x66\
+\x9b\x3c\xec\x90\x9a\xd0\x6b\xd9\xc0\x16\xa8\x7a\x2c\xf2\xef\x97\
+\x08\xfc\x6f\xb0\x16\xa4\xcc\x28\x35\x6b\x97\xa4\xbd\x56\x72\xed\
+\xce\xc8\x07\x3f\xbf\xf6\xd4\xe7\xaf\xdd\xfe\x8e\xab\x06\x3d\xad\
+\xd5\x95\x32\xef\xeb\xe2\xb2\x5f\x77\xfe\xf7\xae\xf7\xf3\x8a\xa1\
+\x7f\x8c\xf8\x43\x08\x07\x4b\x70\x5d\x56\x31\x67\xec\x61\xa6\x46\
+\xaa\xa2\xa0\x88\xeb\x90\xdc\xe7\x36\x0c\xf8\x69\xa0\xf2\xf4\x56\
+\x9a\x5d\x7a\xc7\x85\x8f\xff\x0a\xef\xf8\x2c\xcd\x6d\x1b\xa5\xeb\
+\x60\x85\xd2\xda\x55\x7c\x43\x5b\x47\x6d\x5e\x6d\x3b\xb6\xe5\xef\
+\x97\x08\xfc\x6f\xb0\xcc\xd5\xb6\x15\x52\x87\x6b\x76\xd6\x12\xaa\
+\x1d\xcd\xe9\xfc\xd1\x5f\x3c\xf3\xb1\x5f\x9b\xdd\xfd\xee\x2b\x5b\
+\x50\x48\x8a\xd6\xd2\x74\x13\x64\xb7\x77\x9f\x1b\x92\x92\xe4\xdc\
+\xbf\x62\x57\x4b\x84\xfc\x10\xc2\x21\x60\xdc\xb8\xe7\x48\x1d\x36\
+\x37\xb6\xdb\x2e\x37\x52\x6d\x56\x44\x50\xa5\xf6\x34\x29\x71\x22\
+\x3f\x67\xb9\xb9\xff\xdd\xb7\x7d\xf6\x9f\xe1\xb1\x1f\xa7\xbd\x7d\
+\x21\x5d\x93\xb5\xc5\x12\x73\xc4\x70\x07\x45\x52\x4a\x1a\x03\xfe\
+\x7d\x13\x81\xff\x0d\xd7\x03\x75\x48\xc5\x37\xa4\x22\x8e\xb3\xca\
+\xf4\x6e\x79\xe2\x27\x2f\x7c\xe2\x4f\xc8\x83\x4f\xcc\x1c\x16\x74\
+\x85\x6e\x7b\x93\xa6\x91\x26\x91\xd2\x58\x03\xa8\x56\xdc\xbb\x89\
+\xbe\xea\x7a\x7f\x08\x21\x1c\x32\x96\xdc\xcf\x9d\x5d\x63\xeb\x1a\
+\x8b\x9a\xa7\x00\x38\xdd\x44\x0c\xbe\xb5\xd9\xe5\xb7\xbc\xf7\xdc\
+\x87\xbf\xc8\xc3\x1f\xa1\xbd\x38\x13\x9d\x0f\x09\xff\x54\x0c\x3c\
+\xa3\x1d\xd2\x38\x02\x96\xa2\xe9\xce\x7e\x89\xc0\xff\x86\xeb\x9c\
+\xc4\x30\x15\x36\xe4\xe2\x57\x80\x4d\xcf\xac\xdf\xce\x53\x9f\x5d\
+\xff\xd0\x17\x16\x0f\xbc\x7b\xb3\xcd\x54\x5a\x73\x5b\xf4\xb5\xaf\
+\x56\x2a\x20\x4d\x02\xbc\xaf\xc3\x24\xc0\xab\xee\xef\x0f\x21\x84\
+\x83\xa3\x5c\x3f\x01\x39\xb6\xd9\xed\xb7\xc7\x5c\xa5\x1e\x16\x60\
+\xf4\xae\x97\x67\xf4\x6f\xfe\xf0\x99\x0f\xfc\x31\x9e\xfc\x2c\xd3\
+\xdb\xe7\xc2\xc2\x69\x84\x16\x30\x90\x8c\x4e\x0a\xab\x0b\xba\x9e\
+\x9c\xa8\x99\xed\x38\xbf\xfb\xf7\x53\x0c\x6f\xa0\x19\x6b\x3d\x39\
+\x2d\x7f\x27\x86\x3f\xc5\x48\xd5\x7b\x9c\xe9\x39\x79\xff\xe7\xd7\
+\x3f\xf6\x2b\x8b\x7b\x9e\xda\x56\xa5\x60\x09\x49\x54\xa7\x0c\x65\
+\xfd\x55\x81\xda\xfb\x8f\xdc\xdf\x1f\x42\x08\xfb\xcc\x05\xdb\x13\
+\x35\x86\xea\x3d\x09\xab\x43\x12\xdf\x60\xc2\x95\xc2\xf3\x65\x7d\
+\xe5\xde\x77\xde\xf7\xa9\x5f\xe7\xb1\xcf\xd2\x5e\x9c\x4b\x33\xab\
+\xb4\x42\xe7\xe0\x36\x74\x37\x29\xe4\xc5\x30\x47\x3a\x14\x00\xa0\
+\x8f\x33\xbc\x3f\x22\xf0\xbf\xc1\xc6\x76\x51\x5e\xf0\x7e\xe8\x40\
+\xe5\x02\xc2\x24\x55\x2f\xdb\x73\xda\x32\xbd\x47\x9e\xf8\x89\xf5\
+\xf7\x7e\xd1\xef\x79\x7c\x56\xc9\x6d\xa3\x6d\x93\xbb\x04\x94\x52\
+\x71\x97\xac\xa9\x19\xb6\xf9\xff\xd0\x3d\x7e\x21\x84\x70\x00\xfc\
+\xba\x06\xe3\x03\x71\x52\xb7\xfc\xd4\x84\xda\x9e\x7c\xa9\xbd\x94\
+\x1f\x78\xdf\xe4\xd3\xbf\x96\xdf\xfe\x31\x56\x6e\xab\xba\xda\x3b\
+\x5d\x22\x83\x54\xe8\x17\x43\xe8\xa9\x37\xb4\xd9\xb1\x88\x47\xfb\
+\x24\x4e\xf4\x1b\xac\x65\x98\xe8\x57\x12\x0c\x1d\x2c\xc6\x5e\xd4\
+\xb5\xcd\x13\x68\x67\x4c\xe9\x2e\xe6\xf7\xff\xd4\xca\x8f\xfd\xf2\
+\xf3\x0f\x7d\xec\xda\x46\x7f\x6d\xa3\xef\x6b\x4d\x6d\x72\xc7\xcc\
+\x51\x1d\xc6\xfd\xe3\x2f\xd5\x0f\xd9\xe3\x17\x42\x08\xfb\x6c\x88\
+\xfb\x3b\xef\x43\x3b\x55\x46\xc6\x4f\x35\xba\xb1\xe8\xbe\xd7\xaf\
+\xaf\xbf\xf5\xe3\x17\x3e\xf5\xcf\xf0\xc8\x67\x8a\x9e\x58\x30\x5d\
+\x18\x6d\xa2\x81\xec\xc0\x9c\x9c\x86\xd9\xd0\x04\x19\x1a\x68\x00\
+\x4f\x10\xfb\xf8\xf7\x49\x04\xfe\x37\xd8\xc4\x48\x4e\x45\x17\x34\
+\x0b\x50\xfa\xc4\x36\xb2\x5d\xcd\x0b\x1d\xa8\xf7\xd5\x5c\xe8\x4e\
+\xf1\xd4\x4f\xb7\x9f\xfd\x33\xeb\x77\x9e\x43\x58\x2c\x90\x94\x52\
+\xc2\x0c\xdc\xa9\xf5\xba\x8a\xd8\xb1\xc6\x1f\x42\x38\x14\xf4\xba\
+\xa8\xe1\xe3\xe4\xff\xf6\x1c\xb4\xb5\xbc\xba\xd5\x9c\x39\xf1\xc0\
+\x93\xe7\x3e\xfc\x45\x1e\xfe\x04\xdd\xbd\xc3\x4c\xfe\x50\xab\x4c\
+\xad\x50\xe7\xa8\xee\x94\x1e\xcf\x4e\xe7\xb4\xe3\xfb\xdb\xb0\xb1\
+\x3f\xec\xd3\x4f\x31\xbc\xa1\xca\x26\x4e\x0f\xb3\x21\x7f\x85\x6d\
+\xd8\x80\x79\xd5\xbc\xe5\x00\xeb\x39\x69\x3f\xc3\x9b\x79\x77\x69\
+\xfa\xd8\x4f\xf0\xd1\x8f\xae\xdf\x75\x5e\x13\x08\x15\xdc\xd9\x69\
+\xf1\x3b\xfc\x5e\xf1\x8a\xfd\xfd\x21\x84\x70\xe0\xc6\x59\x7f\x57\
+\x47\xdb\x49\x53\xd1\x6b\x0b\xce\xdd\xfb\xe6\xd3\x1f\xff\x29\x1e\
+\x78\x8c\xe6\xc4\x95\x04\x0c\x0b\x9e\x24\x0c\xeb\x49\x8a\x60\x7d\
+\x8f\x18\x14\xbc\xe0\x85\x6a\xe3\x38\x47\x22\x1e\xed\x93\x38\xd1\
+\x6f\xb4\x76\x15\x65\x02\x27\x60\x02\x70\x02\xce\xc3\xa9\x96\x7c\
+\x42\xe8\x00\x81\xf6\x04\xba\xda\x91\x4f\x00\x1f\xfd\x8b\xfc\xc9\
+\xff\xe8\xea\x63\xbf\xfc\x9d\xcd\xf5\x86\xdc\xac\xc0\xa2\x94\xc4\
+\x66\x62\x9e\x40\x19\x52\x5e\xa4\xe0\x50\x54\x87\x85\x7f\x35\x55\
+\x6b\xc5\x3a\xbc\x05\x45\x96\xb5\xb2\xea\x70\xe4\x4a\xb7\xad\xab\
+\xd7\xf2\x7a\xfc\x40\x42\x08\x3f\x8c\x56\xd4\x29\xd2\x6d\xeb\xfa\
+\x56\x5a\x5d\x68\x8b\x8c\xab\x8a\xea\x28\x20\x54\xd1\x2a\xb9\x8a\
+\x9a\x68\x2b\xdb\xb5\xf6\x1b\xbe\xb2\xd5\x9c\x29\xf9\x44\x2a\x34\
+\xbd\x35\x5a\x24\xf1\x35\x3f\x7b\xf5\xa9\x5f\xd5\x5f\xfe\xb7\x79\
+\xc7\x2f\xcd\xd7\xee\x9c\x25\xb2\xb0\x02\xd3\xb1\x4e\xbf\x4a\x9e\
+\x22\x0d\xd2\x68\xb7\x82\x64\x24\xa3\x19\xcd\x24\x1d\xe7\x11\x62\
+\x1f\xff\xbe\xfd\xdc\xe3\x14\x1c\x2c\xe3\x24\x77\x3f\x72\xe9\x63\
+\x3f\x7d\xf1\x9d\x1f\x7c\xba\xef\xb6\xaf\x41\x2b\xb9\xb0\xaa\xa9\
+\x4b\x99\x24\xb4\x30\x81\x16\x15\x72\x1d\xf7\xb9\x8e\x2d\xfb\x70\
+\x30\xdb\xbb\xea\x36\xfe\xe6\x94\xec\x7d\xeb\xf3\x2e\xfa\x5b\x87\
+\x10\xfe\x29\x04\x5c\xb3\xf9\xf0\x76\x91\x7d\x21\xbe\xdb\x0b\xd4\
+\xc7\x69\x4b\x92\x5b\x36\xcb\x66\xf3\x9a\x9b\xc9\xca\x5a\x2b\xed\
+\xe2\x4a\x3b\xbf\x2a\x19\x12\x5b\x73\x9e\x96\x33\xf7\xbc\xef\x73\
+\x77\x7d\xec\xf3\x5c\xb8\xc7\x51\xaf\x24\x67\x25\x4e\xef\x61\x15\
+\x81\xff\x80\x6d\xcb\x94\x74\x1b\xf7\x3f\xd9\x7d\xea\x97\xd6\x9f\
+\xfa\xdc\x0b\x2b\x17\xaf\xcd\x1b\x9a\x8e\x79\xa5\xaf\x14\xb7\x82\
+\xf9\xd0\xcb\x02\xdd\x4d\xaa\x35\xd7\xe2\x32\x46\x7d\x63\xdc\x3b\
+\x30\xfe\x26\x0b\xe2\xd6\x58\x99\xd8\x22\xce\x70\x08\xe1\x87\x71\
+\x5a\x50\xf5\x45\x53\x17\x4d\x2d\x79\x28\x38\xe6\x14\xd1\x5e\x72\
+\x91\x16\xcf\xc9\x50\x33\x71\x30\x4a\x5e\x5b\x2c\x0a\xdb\x9b\x4d\
+\xad\xc3\x64\xe4\x26\xf2\xfc\xca\x1d\x27\x9f\xfa\x99\xc9\x47\x7f\
+\x89\x3b\x1f\x23\x9f\x32\xa1\x4b\x34\x36\x17\xdb\x8c\x33\x7c\x38\
+\x45\xe0\x3f\x60\x15\xae\xb8\xce\xf4\x1c\x0f\x7e\x60\xed\x67\xfe\
+\xf4\x99\xf7\xff\xf4\x95\xe9\x1d\xa5\x4e\xa9\x50\x1d\xa7\x3a\xf3\
+\xca\xa2\x0c\xcb\xff\xcb\x95\x7e\x01\x31\xa4\x20\x65\x28\xa2\x69\
+\x60\x82\xeb\xf2\x6e\x7d\xf9\x6b\x1d\x42\x08\x3f\x8c\x0f\xbb\x8f\
+\x86\x25\x76\x1b\x6b\x8e\x39\xd9\xbd\x71\x92\xb8\xa4\xa1\x7c\x88\
+\x2b\xae\xa0\x4d\x56\xeb\xe7\xea\x30\x01\xe5\x72\xcf\xfc\xdc\x43\
+\xe7\x3e\xf0\xc7\xd6\x3e\xfd\xeb\xdc\xfe\x58\x6d\x4e\x6d\x3b\x3e\
+\x6c\xca\xf7\xb2\x5b\x8d\x3c\x1c\x32\x11\xf8\x0f\x58\x63\x34\xc2\
+\x22\x75\x33\xbd\xc0\x85\x77\xac\x7e\xe2\x57\xce\x7f\xe0\x0b\x57\
+\xd6\xee\x2a\xdd\x29\x54\x51\x9a\x44\xab\x54\x63\xdb\xf2\x96\xb4\
+\xd7\xfd\xcf\xd7\x65\x01\x6a\x15\x8a\x52\x86\xca\x01\xf1\x83\x0d\
+\x21\xfc\x48\x52\xd9\x29\x94\xbb\x1c\x36\x08\x96\xbc\x66\xab\xc9\
+\x7b\x71\x03\x10\x75\x69\x4c\xba\x76\xfb\xa5\x95\x16\xa6\xe0\x6c\
+\xa8\x94\xbb\x1f\x39\xf3\xc1\x2f\xae\x7e\xf6\xd7\x38\xf7\xd0\x22\
+\xad\xce\x41\x14\x01\xab\x15\x57\x24\xb2\xf4\x0f\xa9\x88\x0f\x07\
+\x6c\x0a\x1d\xb4\xb0\x40\xae\xd5\x13\x5c\x7c\x5b\xf7\xa9\x5f\x3a\
+\xfb\x63\x5f\x7c\xe1\xd4\xdd\x5b\xba\xc2\x1c\x0a\x49\xc8\x22\x45\
+\xba\x45\x5a\x1b\xfe\xaf\x61\xc2\x7f\xb7\x49\xd6\x50\x47\x13\xad\
+\xa2\x45\xe8\x13\x45\x30\x8d\xd6\x3e\x21\x84\x7f\x1a\x65\xe1\x52\
+\x5c\xd5\x92\x9a\xaa\xa9\x0e\xe3\x75\xa5\x28\x65\xe8\xc0\x0b\x98\
+\x68\x1d\xba\xf2\xcd\x41\xa9\x85\x6f\xcf\xba\x97\x6f\x7f\xdf\xb9\
+\x4f\xfe\x73\x7c\xf8\x17\x59\xbb\xa7\xe8\xea\xdc\xc6\x7d\xf9\x56\
+\xac\x98\x7a\x33\x2d\x12\xfb\xf2\x0f\xed\xcf\x3d\x1c\x2c\x2f\x32\
+\x5b\x4c\x9c\x15\x30\xd7\x85\xac\x71\xe6\x01\x3e\xfa\xc5\x93\x1f\
+\xfa\x7c\xbd\xef\x5d\x57\x9a\x6e\xa8\x6e\xd5\x18\x8d\xd7\xac\xb2\
+\x33\x27\x37\xf4\x01\x1a\x4a\xfb\xe0\x2a\xae\xe2\x3a\x54\xf8\xb1\
+\xe1\x17\x95\x5c\x6e\x98\x21\x08\x21\x84\xbd\x04\x57\x8a\xb2\xd0\
+\x3c\x4f\xb9\xa8\xd6\xbd\x03\x86\xa1\x0b\xaf\x1a\x52\x92\xcf\x13\
+\xdb\x24\x98\xf3\x62\x3e\x23\x0f\x7d\xfc\xec\x8f\xfd\x49\x9e\xfc\
+\x59\x56\xef\x9d\x31\x31\xe8\xb4\x24\x7a\xf1\x62\x62\xda\xa4\x1e\
+\xfa\x18\x78\x1c\x56\x11\xf8\x0f\xfc\x27\x90\xb5\xcd\x54\x72\x6f\
+\x27\x13\xc0\x16\x2b\xac\xde\x39\xfd\xcc\xaf\xac\xbc\xe7\x27\x37\
+\x6f\x7f\xc7\xd6\xca\x39\xd2\x0a\x30\xad\xb3\xb5\x7a\x15\xcf\x46\
+\x1e\xb2\xfa\xab\xe0\xa8\x93\x41\xd5\x35\xb9\xa9\x5b\x72\x92\x33\
+\x36\xc3\x8e\x21\x7f\x08\xe1\x87\x5b\x36\x05\xb1\x21\x5b\xc8\xc4\
+\x5c\xa8\x4a\x49\x14\x1d\xe6\x0e\xd5\x84\x61\xb4\x2f\x0e\x2b\xbc\
+\x90\x57\xea\xdd\xef\xbe\xfb\x33\xbf\xb6\xf2\xbe\x2f\xd4\xff\x7f\
+\x7b\xef\x19\x6c\xc9\x91\xdd\x77\xfe\xcf\xc9\xcc\xaa\xeb\x9e\x77\
+\xed\x1d\x1a\x8d\x6e\x98\x86\x77\x03\xdb\x70\x0d\xef\x1a\xde\x0c\
+\x7c\x03\x20\x30\x30\x33\x98\x21\x81\x31\x1c\x72\xc8\xe1\x04\x29\
+\x71\x38\x22\x63\x45\x2e\x63\xa9\x5d\x4a\xda\x58\xa3\x08\xad\x3e\
+\xac\x42\x1b\x1b\xb1\xbb\x11\x1b\x5a\x52\xfa\xb2\x1f\xf6\x03\x25\
+\x85\x36\xc8\xe5\xcc\x60\x00\x34\xd0\xee\x99\x7b\xab\x2a\xf3\x9c\
+\xfd\x90\x55\xf7\xdd\x06\x30\xd4\x87\x1e\x68\xba\xfb\xe5\x2f\x32\
+\x3a\x5e\x3f\x73\xdf\x7d\x55\x95\x79\x32\x8f\xf9\x9f\xf6\xc6\x45\
+\xc9\x89\x2d\xa3\xcc\x50\x59\x08\x88\x8d\xb1\x01\x10\x4d\x3a\x7c\
+\xa7\x2e\xc9\xf0\xff\x92\x29\x08\xca\x0c\x12\x20\x20\x54\x99\x82\
+\xc1\xcb\xe8\x15\x3c\x67\xae\x7f\x6c\xc3\x53\xef\xca\xae\x1b\x3e\
+\xe8\xe7\x2a\x06\x19\x50\x56\xec\x5a\xea\x43\xa8\x60\x8c\xc9\x4c\
+\x26\x81\x2b\x1f\x98\x1c\x00\x52\xb1\xd1\x37\x20\xb0\x02\x2b\x62\
+\x52\x72\x4d\x22\x91\xf8\xf9\x04\x82\x10\x08\xb0\x2a\x4e\xbd\x15\
+\x01\xe0\x89\x91\x75\x4b\x72\x9e\x32\xe3\x2c\x1b\x48\xcc\x21\xce\
+\xf1\x57\x83\xe9\xe9\x2b\x1f\x5c\xff\xf0\x1b\xd8\x7d\xad\x9a\x89\
+\x15\xc0\x31\x0c\xbc\x45\x05\x48\x00\x7b\x70\x00\x0c\xd0\x22\x58\
+\x4d\x6d\x76\x4f\x51\x92\xe1\xff\x25\xe3\x63\x47\x2a\x66\x30\x00\
+\x81\x54\x39\x60\x80\x8a\xc6\x82\xd9\x80\xad\x5f\xea\xdd\xf5\xd2\
+\xc2\x4d\x8f\x1e\xee\xcc\x17\xc7\x01\x02\xca\x25\x67\xd1\xca\xc8\
+\x84\xa0\xbe\xb4\x86\x72\x97\x81\x09\x20\x52\x1e\xe6\xe5\x92\x80\
+\x54\x38\x4d\xbc\x44\x22\xf1\xf3\x11\x30\x14\x56\x60\x03\x6c\x80\
+\x51\x40\x59\xd5\x05\x65\x26\xe3\x34\xb0\x78\x26\xd2\x0c\x03\x83\
+\xa5\x8a\x76\x3c\xf4\x2e\x5f\xf3\x24\x36\x5e\x0c\x3b\x1e\x88\xac\
+\xc2\x42\x2c\x2a\x40\x01\x8e\x2f\x80\xba\x29\x79\x05\x49\x6d\x76\
+\x4f\x51\x92\xe1\xff\x25\x93\x03\x0c\x04\x02\x8c\x83\x31\x00\x51\
+\x90\x96\x22\x03\x16\x03\x17\xf9\x3c\xce\xba\x9a\x6e\x7e\x62\xfc\
+\x8a\x7b\x96\x67\xb7\x2e\x97\x0c\x67\x61\x0d\x44\x51\xc0\x94\xb0\
+\x08\x06\x28\xcb\x52\xc0\x1a\x13\x6a\x87\x22\xff\x94\x3c\xfd\x89\
+\x44\xe2\xef\x42\x34\x87\xda\x61\x39\x5f\xd4\xcc\x27\x65\x14\x85\
+\x29\x06\x56\x02\x48\xca\x52\x3f\xf2\xdd\x62\xe3\x15\xbd\x7d\x2f\
+\xe6\xd7\x3e\x89\x9d\xd7\xc2\xcd\x82\x32\x0d\x3e\xa7\x60\x51\x01\
+\x01\x20\x05\xf3\xa8\x40\x2f\xd2\xa9\xe3\xd4\x25\x19\xfe\x5f\x32\
+\x56\xfa\x16\x95\x02\x03\xa0\x8c\x1a\x96\xca\xf0\xc8\x02\x3a\x06\
+\x7d\x60\x89\xc7\xb1\xe1\x02\x77\xfb\x73\xd3\x37\x3d\x73\x64\xd3\
+\x35\xa5\xb7\xa1\x0a\xf0\x4d\xbd\x7e\x25\xf0\x7d\xc3\x2a\x8c\x40\
+\xac\x58\x95\xf1\x11\x58\x4f\x26\x5d\xe1\x44\x22\xf1\xf3\x60\xe5\
+\xd5\x3a\x7e\x82\xc2\x92\x92\x55\xc9\x7d\xe9\x00\x04\x60\x80\x63\
+\xe8\x86\xcd\x97\x4d\x5c\xf3\x65\xdc\xf3\x0d\x8c\xad\x87\xed\x05\
+\x72\x65\x10\x22\xe2\x5a\x41\x94\x01\x26\xc0\x22\x38\x78\x1b\xad\
+\x3e\x31\x38\x25\x17\x9f\xaa\xf7\x3d\x5d\x82\x5f\x32\xd2\x87\x94\
+\x71\x8a\x55\x80\xaf\xfb\x5e\x08\xaa\x2a\x13\x64\x40\x01\x14\x34\
+\x89\xd9\x3d\xb8\xfe\xf1\x0d\xf7\xbc\xb6\x38\xbd\xeb\x63\xb7\xb0\
+\x48\x39\x1c\xc0\x80\x07\x04\xae\xe3\x00\x11\xa2\x40\x16\x00\x28\
+\x96\xdf\xb0\xe7\x74\x7f\x13\x89\xc4\xcf\x85\x55\x58\x49\x91\x29\
+\x5b\x45\xa6\x30\xac\x6a\xa5\x8a\xed\x72\x45\x70\xd8\xf6\xda\xbb\
+\xaf\xdf\x74\xfb\x0b\xb8\xea\x00\x3a\x3b\x3d\xc1\x13\xc0\x60\x67\
+\x0c\x1b\x8d\xdf\x47\x59\xad\xc7\x0f\x21\x04\x20\x00\x00\x9c\xa6\
+\x72\xbe\x53\xf6\xbe\xa7\x4b\xf0\xcb\xc6\x42\xad\x01\x0c\x40\xd1\
+\x3b\x66\x00\x23\x30\x00\xa4\x0d\xc4\x36\x3b\xca\xe3\x98\xdc\xce\
+\x57\xdc\x35\x73\xef\xeb\xad\x8b\xee\x3e\xd2\xdb\x71\xb8\x6a\x23\
+\x4a\xf9\x32\x50\xad\x08\x05\x21\xc5\xaa\x58\x9f\x28\x09\x28\xa4\
+\xeb\x9b\x48\x24\x7e\x1e\x06\x15\xa0\x81\xc9\x93\xf3\x6c\x00\x65\
+\x94\x80\x88\xe0\x68\xc9\x87\x27\xb7\x4d\x7d\xe9\x91\xde\x5d\x07\
+\x71\xd1\x6d\xe8\xae\x5b\x61\xb0\x78\xdb\x98\x0d\xaf\xb1\xd6\x38\
+\xfa\x0c\xa8\xe9\xd8\xcb\x00\x29\xec\xd0\xfe\x27\x4e\x41\x92\xe1\
+\xff\xa5\xdf\x81\x71\x50\x4e\x8a\x7c\x24\xde\xaf\x86\xe1\x08\xa1\
+\xa4\x41\x91\x09\x72\x81\xf7\x52\x20\x2b\x4c\x0f\x97\x3f\x3a\x71\
+\xd3\xb3\x33\x97\xdd\xa5\x73\x67\xf7\xb9\x15\x35\xfc\x8b\x02\x4c\
+\xbe\xd6\xdc\x00\x62\x91\x1f\xc1\x13\x92\x56\x7f\x22\x91\xf8\xb9\
+\x10\x3c\xc8\x0b\x21\x10\x2b\x09\xa1\x8c\x3e\xff\x65\x93\xfb\x0d\
+\xe7\x8f\x5d\xf3\x28\xdd\xf6\x32\x76\xde\x88\x6c\xba\x80\x5a\x80\
+\xfd\x12\xaa\x45\x0d\x05\xc2\x89\x7d\xc1\xc0\x50\x03\x38\x85\x0b\
+\xb0\xe1\x84\x2f\x25\x4e\x39\x92\xe1\xff\x25\xe3\xe3\x5e\x59\x40\
+\xa1\x3e\xe7\x07\x48\x01\x78\x30\x9c\x85\x63\xf8\x12\xe2\x9d\x61\
+\x10\x2d\x42\x97\xcd\x38\xb6\x5e\xd6\xbd\xe9\xc0\xcc\xf9\x57\xa2\
+\x3d\x19\x02\xc0\xc8\xb2\x38\xcd\x24\x5a\xfd\x88\xd1\x74\x77\x13\
+\x89\xc4\x7f\x12\x91\x3a\x11\xb8\xc9\x06\x26\x50\x77\x7a\xf6\xf2\
+\x5b\xf2\x1b\x1f\xc2\xfc\x79\x7d\x33\xb9\x42\xce\x90\x66\xe8\xc3\
+\x08\x8c\x32\xb3\x31\xc4\x04\x83\x98\x15\xa8\x00\x40\x5c\xc7\x2b\
+\x9b\xbc\x3e\x03\x9f\x2e\xee\xa9\x49\x32\x0d\xbf\x64\x2c\x40\x54\
+\x27\xc2\x82\x41\x40\x06\x6e\x81\x2d\x18\xb0\x30\x0e\x59\x06\x6b\
+\x41\xc8\x81\x59\x10\x0c\x96\x6c\xee\x37\x5c\x85\x87\x7e\xdf\x3f\
+\xf2\x47\xff\xef\xd6\x7b\xde\x2f\xa7\x49\x4c\x56\xc1\x55\x20\xc5\
+\xa2\x71\x87\x5d\xf7\xa8\xeb\x94\x64\xad\x40\x60\x85\x58\x08\xc2\
+\x10\x06\x18\x14\xfb\x6d\x0b\x38\x30\x07\xcb\x3e\xe3\x60\x59\x98\
+\x05\x9c\xca\xfe\x13\x89\xd3\x19\x2e\x72\x2e\x32\x2e\x2d\x97\xe0\
+\xaa\x2e\xab\x67\x61\x52\xeb\x2b\x06\xb7\xd8\x76\x59\x2c\x8b\x61\
+\x65\x2e\x30\x68\x2d\xf4\x4b\x6a\xad\x14\x6d\x5d\xce\xb8\x5c\x26\
+\xfc\xf5\xd8\xf6\xff\x7b\xc7\x03\xbd\x37\xff\x3b\xdc\xfc\x36\x66\
+\x2e\x80\xc9\x33\xf8\x16\x02\x81\x3d\xda\x30\xd3\xe0\x71\x90\xa3\
+\x26\x3a\x09\x02\xd8\x80\x18\x80\x01\xb2\x46\x83\xdc\xd4\xcb\x5b\
+\xe2\x94\x7c\x4e\xd2\x25\x38\xbd\xc8\x02\x5a\x04\x02\x90\xe7\x63\
+\x7b\x2f\xdb\x75\xef\x53\xb3\x97\xee\xff\x20\x8c\x2b\x32\x78\x20\
+\x60\xcc\xf8\x49\x1e\x38\xbf\x02\x11\x76\xb9\x51\x18\x59\x1d\x24\
+\x80\xc6\x8d\x3d\x83\x18\xc4\x4d\x67\x0e\x49\x8e\xb9\x44\xe2\xb4\
+\xc7\xd4\xfd\xf6\x60\x78\x18\x73\x57\x16\xea\xe5\x2e\x53\x48\x09\
+\x54\xe0\x18\x97\x37\x70\x6c\xfb\x1f\x76\xad\xa2\x03\x28\x8e\xf6\
+\xb1\xd8\xdd\xb4\xf9\xf2\xfd\x17\x3f\x72\x10\x13\x1b\xd1\x99\x06\
+\x39\x05\x43\x54\xc5\x93\x78\xd2\x74\x82\x3f\x43\x48\x86\xff\x34\
+\xc3\x95\xb5\xce\x86\x17\x45\x77\x16\xe7\x5e\x97\xed\x7f\x61\xee\
+\xb6\x83\xff\x5f\xbe\x75\xb9\x3d\x01\x06\x06\xca\x83\xd0\x05\x0c\
+\x64\xa5\x5f\x51\x23\xe3\x4f\x8a\x38\x10\x9d\x73\xc4\x9e\xd9\x33\
+\x3c\x8b\xb0\xc4\x8e\x3e\x9a\x1e\x87\x44\xe2\x74\x46\x8c\x88\x11\
+\xb1\xe2\x2d\xbc\xad\x95\x77\x95\x80\xc1\x72\x59\x69\x10\x51\x78\
+\x31\x5a\x42\x2a\x68\x69\xac\x15\xc0\x22\x80\x3e\xd0\x4e\x7f\xe3\
+\xc5\xf3\xd7\x3d\x65\x6f\x78\x1c\x9b\x2e\xc6\xf8\x06\x35\x9d\x00\
+\x16\x30\xe2\x29\x81\xc4\xa4\xd2\xfc\x33\x85\xb4\xd2\x9f\x6e\x18\
+\x40\x05\x1a\x82\xca\x32\x6c\x70\x0b\xd8\x7e\x95\xb9\xf7\xf5\x4d\
+\x77\xff\x4a\xb1\xe1\x92\x43\xa5\x03\x80\x0c\xa8\x40\x05\xda\x99\
+\x53\xd0\x70\xdb\x5f\xbf\x42\x34\xff\x51\x9d\x9b\x3c\x48\x84\x44\
+\x80\xa8\xff\x9f\x48\x24\x4e\x5f\x82\xf1\xc1\x78\xcf\x22\x24\x42\
+\x88\xc1\xfb\x40\x28\x03\xd8\xc1\x65\x00\x10\x82\x88\x6a\x08\x5e\
+\xa5\x84\xc2\x17\x38\x4c\x53\xf9\x39\x37\xae\xdf\xff\x12\xdf\xf4\
+\x65\x2c\x5c\x04\x9e\x0e\xdc\x0e\x8d\x18\x18\x19\x4b\x6c\x1b\xe5\
+\x90\xc4\x99\x40\x32\xfc\xa7\xe1\x1d\x53\x01\x42\xe6\xac\xe5\x7c\
+\x05\xbc\xc8\x5d\xe4\x9b\xec\x4d\x4f\x4e\xdf\xf9\x62\xef\xd2\x3b\
+\x3e\x69\x4d\x94\x25\xd0\x82\xed\x31\xf9\x42\x29\xc4\x25\x40\x29\
+\xea\x6c\xd4\xd3\x97\x20\x46\x63\xdc\xbf\xde\xc5\x4b\xb3\xbb\x4f\
+\x24\x12\xa7\x29\xb1\x95\x0e\x6b\x33\xcd\xb5\x69\xdd\x09\x72\x26\
+\x83\x1a\xf5\xe2\x08\x2d\xcb\x2d\xc7\xb9\xa1\x63\xc0\x91\xce\xcc\
+\xd8\x05\xb7\x4c\xdd\xf1\x02\xae\xbc\x1f\x63\x3b\x3d\x8d\x7b\xeb\
+\x82\x42\x04\x12\x5b\x7d\x81\x14\x0c\xb8\x3a\x70\x9f\x38\xfd\x49\
+\x0b\xfd\xe9\x86\x01\xac\x05\x13\x21\x58\x48\x06\x10\xb0\x42\x50\
+\x3b\x87\x0b\xf7\xb7\x1f\x7c\xb3\x77\xcd\xe3\x1f\x4f\xee\x38\x16\
+\x3a\xa8\x2c\x3c\x84\xbd\xb0\x07\x79\x25\x19\x55\xf0\x8d\x6e\x7f\
+\x6e\xfe\x85\x5a\xa8\x53\xcd\xd3\x05\x4e\x24\x4e\x5f\xac\xc0\x2a\
+\x9a\xcc\x1e\x36\xc2\x46\x2c\x8b\x45\xa5\x71\xb0\x30\x28\x83\x1a\
+\x5f\x49\x55\xe9\xd2\xd6\xab\xe7\xf6\x3d\xd3\xba\xeb\x25\xec\xbc\
+\x06\x76\xa1\x64\x27\x1c\x73\xf4\x42\x26\x85\x53\x89\x22\xe0\x1e\
+\xf0\x02\x91\x64\x2f\xce\x10\xd2\x8d\x3c\xcd\x28\x09\x21\xa6\xd2\
+\x0a\xb8\x2a\xb3\x20\x5d\x85\x05\x06\x06\x4b\x3a\x86\x4d\x97\xe5\
+\x0f\xbd\xbd\xe1\xbe\x37\x8e\xcd\x5d\xf0\xb3\xa2\x83\x89\xf5\x4c\
+\x88\xc7\xfc\x78\xca\x07\xf0\x59\x87\x3e\x29\xb8\x39\x19\xa4\x2b\
+\x9c\x48\x9c\xc6\x48\x13\xcb\x53\x2b\x70\x02\x47\x4a\x2c\xe2\x0c\
+\x21\xca\xed\x18\x13\x60\x8e\x54\xd9\x62\x7b\x9d\xdb\x76\xc9\xcc\
+\xcd\x2f\x63\xdf\x73\x58\x7f\x09\xdc\xdc\x92\x27\x10\x1c\x21\xf4\
+\x17\xa1\x25\xe0\xa9\x59\x11\x24\x40\x05\x94\x3c\xfd\x67\x0a\x69\
+\xa1\x3f\xed\x6e\x58\x29\x28\x05\x04\xce\xc9\xb4\x28\x80\x2a\x64\
+\x01\x06\xd0\x2c\x5b\xa4\x71\xcd\x37\xe3\xca\xfb\xb6\x3c\xfa\xe6\
+\xe4\xe5\x77\xfe\xc7\xe3\x6d\x01\x84\x9a\xb4\x3e\x3d\xa1\x71\x86\
+\x30\x84\x10\x18\x81\x01\xf2\x8c\xca\x68\x95\xae\x70\x22\x71\x7a\
+\xa3\x50\x70\x20\xe7\x29\x53\x62\x40\xa1\x1e\xa2\xa8\x04\x41\xbd\
+\xea\x27\xd4\xfd\x78\x6c\x9b\xb9\xf0\x4e\x1c\xf8\x6a\xeb\xea\x87\
+\x30\x79\x0e\xdc\xb4\x67\xce\x72\x32\x00\x41\x6c\xcb\xd6\x62\xfb\
+\xf5\xa9\x01\x16\x70\x26\x45\xf8\xcf\x1c\x92\xe1\x3f\xcd\xb0\x28\
+\x1d\x54\x61\x42\x9c\x91\x5c\x77\xe4\xcb\xa2\x74\x2f\x70\x0c\x6d\
+\xcd\x17\xb0\xfb\xfa\xf6\x3d\x2f\x6f\xbb\xff\x95\xe3\x34\xd6\xa7\
+\xb1\x82\xda\x41\x1d\xc0\xab\x45\x3e\x19\xc3\xb2\x64\x86\x73\xc7\
+\x96\x83\x08\xab\x27\x97\x0c\x7f\x22\x71\x3a\xa3\x00\x10\x88\x3d\
+\x54\x54\x55\x03\xa4\xac\x9d\xf5\x2d\x20\xc3\x4f\x4a\x5e\x9c\x39\
+\x6b\xf3\x9d\xcf\x8c\x3f\xf0\x16\x76\xdd\x1e\x6c\xd7\x1b\x17\x5b\
+\x84\xd4\x5d\xf5\x54\x40\x16\x94\xc3\xb4\x03\x93\xc4\xda\x40\x02\
+\xd4\x43\xd2\xfa\x70\x86\x90\x0c\xff\x69\x37\xb1\xeb\x7e\x97\x01\
+\x75\xb7\x8c\x7a\x1f\xee\xb5\x05\xb4\x00\x06\xfa\x68\x23\x9b\xc5\
+\xc6\xf3\xed\x97\x1e\x98\xbe\xef\xcd\xd6\xae\x7d\x1f\xdb\x0d\x47\
+\xb4\x57\x21\xd3\xbe\xa0\x0f\x08\x50\x49\x59\xca\xca\x20\x2c\xf7\
+\xab\xa2\x92\x5a\x44\x88\x52\x5e\x7f\x22\x71\x3a\x93\xd9\x4a\x51\
+\x55\xde\xb1\x76\x5c\xc8\xd8\x53\x4c\xf3\x6b\x63\xb9\xc2\x47\xf9\
+\xdc\xec\xe5\x77\x9e\xf5\xc0\xcb\xad\x6b\x1f\xd6\x99\xf3\x8e\xd9\
+\x99\x00\xc4\xa9\x6f\x21\x46\x3d\x10\x40\x50\x38\x4f\xb6\x6c\xc4\
+\xf6\x49\xeb\x4a\x22\x24\x25\xbe\x33\x85\x64\xf8\x4f\x37\x34\x87\
+\xba\x3a\xf0\x06\x04\x6e\xee\xa1\x92\x91\x5a\xf0\xdf\x8b\x1f\x20\
+\xf3\x76\x52\x67\xb7\xe1\xda\x67\xdd\xcd\x2f\x76\x2e\xbe\x63\x79\
+\xfa\xac\x63\x76\x4c\x3a\x0e\x9d\x38\x9b\xd1\x32\xe8\x58\xe4\x8c\
+\xcc\x92\x8d\x12\x5b\x45\xba\xbe\x89\xc4\x69\xcc\xa0\x50\xe7\xf2\
+\x76\xdb\xd9\xb2\xc0\x72\x1f\xea\xe1\x50\x58\xf7\x53\xdf\x5b\xde\
+\x78\xd9\xfc\x8d\xcf\xf6\xee\x7a\x15\x17\xdc\x86\xce\xc6\x15\x70\
+\x19\x33\xf5\x15\xa4\x15\xa4\x80\x16\x50\x01\x38\x8c\xc8\xee\xd6\
+\x10\x40\x06\xa9\xdb\xde\x99\x42\x32\xfc\xa7\x1b\x9a\x43\xed\x50\
+\xe4\xb7\x9e\x93\x5c\xb7\xf6\x33\x02\xa7\x70\x4c\x1e\xa1\x0f\x5a\
+\x86\xf5\xf9\x59\x38\xf7\x96\xe9\x87\xbe\xb2\x75\xff\x93\xba\xf9\
+\x82\x8f\x78\xbc\x80\x81\x03\x2a\x20\xc0\x06\xb8\x00\xae\x14\xbe\
+\x51\xd9\x4e\x24\x12\xa7\x2d\xad\x7c\x0c\x42\x18\x54\xb1\xd7\x0e\
+\x04\x7d\xe9\x7c\x64\xe6\xf3\xf3\xef\x98\xbf\xe5\x65\xdc\xf6\x2a\
+\x36\x7e\x09\x6e\x63\xbf\xb4\x2c\x18\xaf\x7d\x7c\x1e\xe2\xa1\x61\
+\x34\x09\x88\x30\x14\x00\x89\xff\x67\xb0\x05\x27\x09\xde\x33\x84\
+\x64\xf8\x4f\x4f\x14\x06\x95\x41\x61\x50\xc5\x39\x5a\xcb\xef\x28\
+\x98\xd0\x82\x69\x81\x73\x90\x03\x3e\x71\x58\xb1\x6d\x8c\x6f\xc7\
+\xb5\x0f\xce\xdd\xfb\xc2\xd8\xc5\xfb\x3f\xea\x6e\xf9\xd9\x20\xf3\
+\xad\x0c\xc6\x80\x98\x14\x14\x80\x40\x20\x86\x4b\x3b\xfa\x44\xe2\
+\xb4\x26\x68\x59\x80\x80\x4e\x1e\x98\xdf\x1f\x98\xe3\x53\x67\xcf\
+\x5d\x7d\x60\xf6\xe1\x37\x71\xe5\x43\xe8\x6c\x2f\x4d\x6f\x39\xa0\
+\x95\x51\x9b\x24\xf7\x4d\xf7\x4e\x62\xd0\x50\x9f\x47\x0c\x60\x11\
+\x1b\x7f\xd6\x6a\xfc\x1a\x7b\x7d\xa6\xec\xbe\x33\x85\x64\xf8\x4f\
+\x4f\x28\x6e\xcc\xa5\x19\x00\x81\x4c\x7d\x3f\x09\x62\x81\x0c\x92\
+\x43\x3a\x40\x50\x2c\x55\x16\xf9\x02\x76\xdf\xdc\x3b\xf0\xf6\x86\
+\x5b\x5f\xa4\x9d\x37\x7e\x6c\x37\x2c\x4a\x47\x2b\x00\x04\x6b\xc0\
+\x71\x53\x9f\x04\x3a\x12\x89\xd3\x18\xed\x2f\x92\x53\xef\xf2\x4f\
+\x4a\xf7\xe3\xd6\x46\x73\xc1\xed\x0b\xb7\xbf\xd0\xba\xfb\x45\x2c\
+\x9c\x87\x6c\x72\xc0\xf0\x0c\x67\x41\x00\x34\x80\x2a\x25\xd4\xa9\
+\x7c\x94\x83\x32\x90\x05\x94\xe0\x0d\xbc\x81\xa7\xc6\xe5\x2f\x75\
+\x9d\x60\xe2\x0c\x21\x19\xfe\xd3\x6e\x66\xc7\x44\x1b\x00\xa4\x70\
+\x1a\xfd\xfd\x24\xb5\xde\x2e\xa1\xaa\x2a\xf1\xaa\x95\x60\x10\xe0\
+\x79\x6c\x50\x8d\x29\xda\x39\xf5\x29\x2f\xdd\x02\xa6\x2f\x32\x37\
+\x3c\xb3\xee\xc1\x37\xb3\x1d\x57\x57\xbd\x0d\xc7\x2b\x96\x52\xa3\
+\x97\x2f\xa8\xf7\xa9\x3d\x5f\x22\x71\x3a\x43\x1d\x08\xe3\x90\xf0\
+\xe2\xdc\x59\xb3\x37\x3e\xb6\xf0\xc4\xd7\x70\xdd\x43\x98\xde\xbe\
+\xec\x79\x25\x94\x0c\x64\x80\x83\x14\x45\x3f\x48\x80\xc9\x63\x38\
+\x3f\x10\x94\x2c\xc8\x35\x87\x7c\x6d\x46\xbd\xe4\x60\x34\xb6\x98\
+\x38\xfd\x49\x86\xff\x74\x43\xfb\xd0\x00\x48\x80\x8d\x03\x00\x54\
+\x10\x06\xa0\xba\x17\x36\x1b\x43\xc6\xc2\x3a\x28\xa0\xc7\x51\x2d\
+\xb3\x47\x00\x16\x81\xc3\x64\x25\xdf\x88\x6d\x97\x4e\x3f\xf6\xf2\
+\xf4\xb5\xb7\x4d\x6c\xdc\xc2\xb9\xa9\x27\x37\xc3\xb8\xf4\x3c\x24\
+\x12\xa7\x33\x82\x42\x30\xb5\x75\xdb\xb6\xbb\x1e\xee\xdd\xfe\x30\
+\x36\x9c\xdb\xe7\xc9\x65\xf4\xa8\x3d\x6e\x2d\x39\x2c\x19\x1c\x27\
+\xf4\xb3\xdc\x06\xdb\x1a\xc0\x06\x60\x74\xe8\xe7\x59\x84\x61\xb0\
+\x3f\x19\xfe\x33\x86\xb4\xd0\x9f\x6e\xb8\x36\xac\x03\xd9\x61\x1c\
+\x0e\x60\x90\x85\x6b\x03\x0e\xb0\xce\xe5\xf5\x4c\xb5\x80\x03\xda\
+\x53\xc8\x73\xb2\x55\x0f\xd5\x0c\xfc\x04\xc4\x1b\x94\xad\x05\x5d\
+\x77\x1d\xee\xff\x2d\xbc\xfc\xe7\x3f\xbe\xe6\xed\xff\x30\x7e\xe1\
+\x62\x6b\xda\x38\xd0\xf1\xfe\xb1\x0a\x9e\x99\xc9\xa2\x84\xf6\xc1\
+\xc2\x4c\x36\x80\x84\x18\x60\x16\x66\x01\x0b\x00\x78\x83\xc2\xc2\
+\xb3\x0d\xc4\x20\xb0\x22\x7e\xa9\x1e\x8d\x60\xf8\xea\xda\x11\xb5\
+\x81\x13\x89\x35\x0c\x13\x88\x6a\x15\x7d\x92\x2c\x0e\x16\xae\xd5\
+\xf5\x09\x20\x04\x86\x67\x2e\x39\x2b\xa9\xdd\x77\xce\x33\xc7\xb9\
+\xc3\x04\xb6\x60\x07\xb1\xbc\x62\xf3\x15\x3b\x5e\xd0\xa4\xf7\x5d\
+\x2e\x2d\x7b\x70\x00\x57\xf8\x57\x63\x4f\x7c\x72\xeb\x8f\x5a\x4f\
+\xff\x39\x2e\x7b\x1e\x63\xe7\x04\x33\xcd\x9c\xc7\x83\x7e\x06\x47\
+\xd2\xa1\xd0\x83\xe6\x04\x32\xf0\x0c\x1f\xeb\x80\xb2\xd1\x88\x7e\
+\xbd\x70\xc4\x61\x87\x1a\x3e\xa9\x45\xcf\x19\xf5\x1c\xa6\x4b\x70\
+\x86\xa3\x0c\x1d\x99\xd4\x60\x00\x0a\x54\x60\x50\x1b\x9b\x76\x6d\
+\xbe\xf3\xe1\x5d\xb7\x3d\x56\x2e\x9c\xf7\xa1\x9f\x59\xce\xba\x53\
+\xd3\x6c\x4b\xf1\x2b\x9e\x3b\xce\x4c\x76\x83\xf0\x72\xe9\xd9\xb6\
+\x14\xa0\x28\x21\xa0\x80\xd6\x56\xdc\x28\x04\x46\x61\x25\xda\x74\
+\x5a\x1d\x4a\x10\x42\x20\x16\x62\xc4\xd6\x7f\x69\xd9\x48\xac\x79\
+\xa2\xf6\x3d\x29\x08\x42\x28\x09\x9e\xe0\x9b\xc9\x02\x4f\x08\x04\
+\x52\x58\x95\x4c\xcb\x5c\xfa\x39\x8b\x61\x15\x82\x04\x84\x12\x55\
+\x1f\x45\x81\xe0\xa5\x8b\x2a\x2f\x8e\xb7\x65\x31\xeb\xd8\xe0\x3a\
+\x1f\xfb\xf6\xd1\xf6\x3a\xec\xbc\xf4\xf6\xc7\x9f\xdc\x74\xfd\x0d\
+\x98\x5f\x0f\x9b\x41\x62\xfa\x0f\x6b\x9c\x7c\x7a\x42\x94\x9e\x01\
+\x93\xd6\xff\xb5\x4a\xba\xf1\x6b\x03\xe5\xd1\xda\x9c\x58\xb5\xe3\
+\xc9\xc1\x4c\x60\xea\x2c\x5c\xf7\xf0\xcc\xa3\x5f\x9f\xd8\xf7\xe2\
+\xdf\xae\xbb\x36\x1c\x11\x6e\xc1\xf6\x80\xe5\xaa\x3c\xb2\x4c\xac\
+\xad\x56\xcb\x7b\x0f\xf0\x09\x96\x5b\xeb\x76\x20\xac\x0c\x90\xc2\
+\x7a\xce\x3c\xd9\x38\x2a\xb6\x15\x5b\x4f\x99\x10\x47\x55\xe0\xfa\
+\x87\x92\xed\x4f\xac\x6d\x64\x38\x0b\xb4\xc9\xd7\x81\x90\x42\x60\
+\x05\x99\xc2\x42\x99\xa3\x7b\x2c\x80\x14\x5a\x06\x0d\xaa\x26\x43\
+\x6b\x22\xb4\x26\x42\xd6\x25\x93\xe5\x0c\x5a\x11\x67\x01\x1b\xaa\
+\xa2\x7f\x88\xba\xe1\xec\x6b\x26\x6f\x7f\x0d\x8f\x7d\x17\xe7\xee\
+\xc5\xd4\x3c\x6c\x0b\x9c\x2b\xb7\x15\x0e\x80\x05\xd5\xfb\xfd\x28\
+\xbd\x1f\xf5\xfc\xc1\x69\xf5\x5f\xb3\xa4\x5b\xbf\x66\x50\x06\x60\
+\x20\xf1\xec\x5f\x09\x3c\xe0\x39\x2b\x7c\x17\xf9\x06\x6c\xbb\xa6\
+\x75\xc7\x4b\x5b\xee\x7b\x8b\xce\xda\x73\x3c\x9f\x3d\x5a\x59\x6d\
+\x99\xac\x47\x1c\x02\xfa\x83\x9c\x2a\x82\x0f\x64\x3d\x67\xca\x16\
+\xcd\xca\xc5\x02\xd6\x8a\x35\xc4\x5e\x00\x4a\x2c\x64\x84\x4c\x20\
+\x23\x30\x42\xab\x1a\x20\x92\xac\x7e\x22\xd1\x1c\xb9\x95\x3e\xe5\
+\x3d\x97\x3a\x34\x16\x5b\xe8\x8e\x1c\xcd\x45\xe0\x05\x3e\x68\x80\
+\x12\x8c\x2a\xa9\x0f\x5a\x01\x63\x80\xe0\xf8\x32\x8e\xe6\xf3\x33\
+\x57\xdc\xbe\xf0\xd0\x57\x70\xeb\xf3\xd8\xbe\x0f\xae\x0d\x93\x81\
+\x9c\x50\x56\xc1\xd4\xaf\x14\xb0\xfa\x9a\x0a\x80\x87\x1d\xba\x13\
+\x6b\x93\x64\xf8\xd7\xc0\x4a\xa3\xa3\xab\x8e\x18\x88\x05\x62\x6b\
+\x1e\x01\x4c\xbb\xa5\xdc\x86\x19\xc7\xd8\x96\xee\x45\xfb\xf8\x99\
+\xdf\xef\xde\xf8\xca\xf1\x75\x97\x7f\xc0\x53\x41\x2d\x32\x18\x0b\
+\x04\x18\x85\x82\x2b\xca\x07\xdc\x2e\x4d\x5b\x9a\x1e\x01\x56\xbd\
+\x55\x6f\x50\x72\xed\xb7\x0c\x80\xb2\x2a\x23\x18\x15\xa3\xc2\x2a\
+\x46\xd2\x73\x96\x48\x00\x58\x35\xc0\x7a\x62\xd8\x9c\xd5\x5b\x29\
+\x5d\x28\xad\x7a\x52\x28\x41\x19\xca\xa0\x96\x01\x01\x52\xb9\xb0\
+\xe2\x74\xa9\x8d\x41\x6e\xa0\x79\x7b\xb1\xea\x7c\xe0\xe6\xe4\xec\
+\x1b\xe6\xee\x3e\xe8\xee\x3e\x88\xb3\xaf\xd6\x7c\xfe\x18\x77\xd5\
+\xf4\x2a\xdb\x2b\x4c\x5e\x36\x01\x38\x0b\x64\x3c\xb2\x08\xd0\xc8\
+\xbf\x89\xb5\x4a\x5a\x90\xd7\x06\xf5\x72\x23\x50\x05\x82\x41\xd5\
+\x65\x65\xa9\x28\x94\x06\x20\x82\x12\x43\x19\x26\xc7\xc6\x5b\xcc\
+\x1d\x6f\x6f\x79\xf4\xbd\xec\xc2\x7b\x3e\xec\x6c\x59\xa2\x0c\x0c\
+\xf8\x58\x3b\x58\x3a\xed\x1b\x78\x01\x97\x94\x97\x94\x95\xc6\x0e\
+\x97\x33\x02\x18\x62\xd4\x33\x4a\xab\xa5\x15\x6f\xd5\x3b\x91\xb8\
+\xfc\x90\x80\x52\x21\x70\x62\xcd\x63\x04\xa4\xf5\x74\x14\x82\x0c\
+\x7b\x6d\xe8\x09\xaa\x1c\x01\xb6\xa2\x6c\xc0\x79\x50\x43\x84\xdc\
+\x00\xec\xa1\x25\x2a\x3f\x10\x1c\x35\x93\x47\x66\xf6\x8e\x5d\xf7\
+\xdc\xe4\xe3\xdf\xc6\x8d\xcf\x63\xee\x7c\x4f\xbd\x01\xd8\x02\x05\
+\xb2\x80\x1c\xc8\x19\x6c\x01\xab\x23\xa9\xf8\xa3\xd9\xf9\x04\x05\
+\x87\xb4\xfe\xaf\x55\xd2\x8d\x5f\x33\x10\x46\x5a\xfa\x40\x7d\x61\
+\x59\x9c\x51\x92\x42\xcb\x15\x82\x87\x51\xc0\x1f\x0a\xb6\xcc\xa6\
+\xb1\xe7\xd6\x99\x27\xbf\xb5\xe1\xc0\x37\x06\xbb\xee\xf8\xa0\xbb\
+\x65\xb9\xdb\xd2\x98\x73\x24\x3e\x0b\xfd\x96\x2c\x33\xa4\xe4\x7c\
+\x85\x7b\xf1\x25\x95\xeb\x6c\x3e\xa1\xfa\x77\xf0\xb0\x11\xb0\x36\
+\xd9\x4c\xca\x75\x15\x42\x22\xb1\x66\x67\xa1\xd6\xe7\xfc\x38\x59\
+\x3e\x3f\x04\xa6\x5c\xd7\xbf\x90\xb2\x2f\x4d\xdc\x31\x07\x48\x81\
+\xe3\x82\xfe\xe4\x36\xdd\x71\xd5\x96\x03\x6f\x75\x6f\x7f\x19\xdb\
+\xaf\xd7\xd6\xc6\x3e\xf7\xc4\xb4\x1d\x84\xc3\x31\x6d\x14\xf8\x4c\
+\xdd\x7a\x07\xea\x11\x0a\xdf\x68\xf0\x0a\x08\x01\xb1\x08\xa0\xee\
+\xc1\x93\x58\x83\x24\xc3\x7f\xc6\xe3\x01\xa9\x95\xfe\x88\x41\x75\
+\x86\x3f\xd9\x0c\x4a\x08\x02\x28\x39\x57\x27\xfa\x28\x75\x2d\x04\
+\xf0\x36\x47\x6b\x3b\xae\x7c\x62\xf6\xe9\xef\x4d\xdd\xf2\xea\xcf\
+\xc6\xcf\xff\x24\x9b\x96\xba\x1b\x10\xa0\xc8\xa4\xb0\x5a\x1a\x55\
+\x4f\xa8\x18\x9e\xe0\x09\x02\x16\xe2\x00\xd6\xcf\x59\xce\x18\xe0\
+\xd4\xfc\x2f\x91\x88\xfb\x60\xa3\x18\x69\xb0\xc5\x20\x0b\xca\x40\
+\xb1\xb0\x0e\x0c\x9f\x69\xd9\x92\x32\x07\x2c\x43\x0c\x2d\x9b\xfc\
+\xd0\xd8\x7c\x79\xf6\xb5\x53\xb7\x3c\x37\xf3\xd4\xbb\x38\xef\x26\
+\x8c\x6f\x2d\x8c\xeb\x47\x8f\x1d\xc0\xd0\xb6\xc9\x62\x05\x9e\x55\
+\xa0\x02\xc5\xc2\x7c\x86\xc9\x6d\xf4\xb9\x05\xc0\x83\x75\xd5\xb3\
+\x90\x58\xa3\x24\xc3\xbf\x16\x96\x19\x89\xfb\xfd\xb8\xc7\xf7\xe0\
+\x00\xab\x70\x20\x0b\x93\x83\x33\xc4\x8f\x61\x41\xa6\x1d\x24\x07\
+\x04\x28\x1c\x05\xd7\xc3\xc4\xae\xfc\xba\x27\x76\xbe\xf5\x43\xbb\
+\xf7\xee\xa3\x33\xe7\x1f\xa6\xcc\xc7\xa2\x60\x46\xab\x28\xc6\x8a\
+\x63\x4a\x46\xc1\x5e\x4d\xa0\x4c\x4d\x06\x9b\xab\xc9\x62\x71\xbf\
+\x10\x8f\x24\x31\x89\x92\x28\xa5\xd5\x26\xb1\xb6\xa9\xf5\x72\x41\
+\x00\x53\x5d\xd6\xaf\x04\x18\x17\x60\xcb\xa0\x21\x08\x44\xea\x89\
+\xeb\x01\x60\x25\xe0\xa7\xbe\x77\x78\xee\xa2\xe9\x5b\x5f\x99\x7d\
+\xee\x77\x70\xd3\xb3\x98\x3c\x07\xd9\x94\x1a\x63\x81\xbc\x29\xb7\
+\x27\x38\x45\xdb\xc6\x2d\x85\xc2\x44\x17\xbf\x0a\xc8\xc7\xdd\x7f\
+\x18\x09\xb5\x71\x52\xe2\x5b\xdb\x24\xc3\xbf\x06\xee\x30\x01\xb5\
+\x2c\xd7\x6a\x62\xaf\xac\x56\xe3\xb3\x12\x02\xea\x26\x1c\x04\x25\
+\x95\xac\x36\xee\x50\xe3\x90\x4d\xa3\x73\xd6\xe4\x93\xdf\x9d\xbe\
+\xff\xd7\xaa\x4b\x9f\x78\x7f\xe6\x82\x43\x18\xaf\x02\x60\x80\x0c\
+\xe5\x52\x20\xd1\x76\xd6\x6a\x1b\xa3\x45\x55\x2e\xf7\x49\x34\x6b\
+\x75\x05\xd6\x33\x7b\x8e\xff\x42\x18\xca\x8d\xe3\x21\x91\x58\xab\
+\x14\x2b\x5e\xa5\x09\xb7\xd7\xa1\x7e\xb0\x08\x10\x8c\xd5\xac\xe5\
+\x4c\xdb\xc1\x35\x45\x77\x8c\x9f\x14\x59\xd8\x74\xe1\xe6\x5b\x9e\
+\xda\x7c\xdf\x1b\xee\xda\x27\xb1\xf1\xca\x22\xdb\xb8\x64\xc7\x3d\
+\x59\x82\x37\xe8\x1b\xed\x1b\xad\x0c\x10\x80\x12\x23\xd9\x3c\xf0\
+\xa0\xaa\x2e\x0a\x24\xad\x43\x07\xcd\xb0\x80\x51\x98\xe4\x81\x5b\
+\xab\x24\xc3\x7f\x86\x13\x0f\x00\xe1\x44\xf9\x2d\x03\x98\x3a\xc8\
+\x38\xfc\xb6\xc6\xf5\xc7\x06\xc4\x50\x4f\x5a\x90\xf6\x89\x2b\xd8\
+\x16\x5a\xeb\xd0\xde\x8e\x4b\x1e\x5a\x78\xf4\x3b\x1b\xee\x7d\x27\
+\xec\xbe\xed\xa3\xf6\x7c\x5f\x00\x8f\xee\x64\xc7\x81\xf5\xf8\xb2\
+\x2e\xf5\x5b\x12\x7a\x16\x1c\xca\x72\x69\x11\x24\x02\x04\x82\xe7\
+\x5a\x9c\x44\xa8\xae\x22\x4e\x24\xd6\x2c\xcc\xa0\x3c\x43\xde\x16\
+\xb2\x45\x80\x0f\x75\xfc\x1e\xbe\x44\xd5\x47\x58\x81\x7a\x35\x66\
+\x99\xed\xb1\x56\x7b\xb1\x37\x39\x7e\xcd\xf3\x63\xfb\x5e\xc2\x8d\
+\xcf\xe1\xc2\xfd\x61\x7a\xd7\x71\xb8\x15\xa0\x29\x94\xd5\x46\x69\
+\x57\x9a\x34\x1a\xd4\x5e\x7c\x12\x90\xa2\xde\x6a\x37\x33\x1b\x88\
+\x6d\xb8\xcc\x89\x89\x84\x89\xb5\xf8\x1c\xa6\x4b\x70\x66\x13\xc0\
+\xb1\x98\x8e\x63\xd6\x7d\xdd\x74\xab\x6a\x96\x8c\x2a\x46\xe7\xa3\
+\x4a\xa7\x69\x3e\x0b\xb2\x20\xae\xf3\x01\x8d\x0d\x8e\x8e\x96\x28\
+\x6c\xae\x53\xdb\xed\x15\xf7\xae\xbb\xef\xb5\x8d\xf7\xbc\x59\x9d\
+\x73\xcb\x5f\x9b\x75\xba\x5c\x6a\x29\x64\x40\x51\xdc\x33\xc0\x88\
+\x66\x46\xac\x78\x6e\x72\x0b\xa4\x91\xed\x93\x54\x44\x94\x58\xdb\
+\xb8\xdc\xc0\x38\xc0\x14\xc1\x56\xea\xd4\xe6\xb0\x06\x16\x90\x7a\
+\x57\x3e\xf0\xe1\x27\x03\xfa\xa0\xb5\x99\xce\xbd\x7d\xec\xce\xd7\
+\xc7\xef\xff\x35\x5c\xfd\x24\x66\xcf\x57\x3b\xb3\x1c\xe0\x15\xab\
+\xde\x38\x18\x20\x07\xb5\x40\x0e\x80\x51\x64\xf5\x8b\x08\x48\x87\
+\xde\xb5\xc6\xcf\xc7\x00\x13\x9a\x2e\x7b\x75\x8d\x4f\xb2\xfc\x6b\
+\x94\x64\xf8\xd7\xca\x6d\x26\x20\x26\x11\x43\x03\x54\x56\xc7\xea\
+\x0e\xa0\x32\xa8\x62\x80\x30\x00\x1e\xce\xa3\xed\xc9\x79\x82\x02\
+\x9d\x16\x08\x58\x29\x05\xd4\xc2\xa6\xbd\xb8\xfe\xa9\xf1\xfb\xbe\
+\x3e\x7e\xd7\xbb\x2b\x13\x3b\x8e\xb5\xd6\x1d\xa3\xf1\xc0\x1d\x58\
+\x5b\x6f\x1f\x62\xaf\x80\xa6\x8e\xbf\xce\xf0\x47\xd2\xea\x4f\xac\
+\x75\x44\x42\xa8\x06\x45\x51\x7a\x51\x63\x5b\xd6\xe6\x30\x19\x08\
+\xe8\x72\x45\x38\xec\x71\x6c\x6c\x43\xfb\xbc\x9b\x36\xdd\xf2\xe5\
+\xf1\xdb\x5f\xc1\x75\xcf\x85\x99\xad\x3e\x9b\x2c\x4d\xbb\x04\x72\
+\x83\x09\x42\x1b\xc1\x7a\x6f\x80\x00\x2e\xe0\x06\xb0\x25\x6a\x51\
+\x8d\xfa\x04\x4f\xc3\xc2\x9a\xa1\xc9\x27\x1a\xb5\xfa\x40\xe3\x18\
+\x48\x79\xfd\x6b\x94\x64\xf8\xcf\x70\x68\x35\xca\x2f\xcd\x4e\x9f\
+\x41\x71\x18\xd0\x30\xc5\x47\x00\x0f\x78\x48\xbd\x86\x78\xa0\x00\
+\x4a\x20\x00\x04\x38\x41\x06\x74\x33\xc0\x58\x70\x0f\xd9\x7a\xec\
+\xdc\x37\x73\xc7\xab\xdd\xa7\xbf\x35\x79\xe3\x97\x97\x37\x5d\xfe\
+\x63\x3b\x77\xa8\x6a\xad\x54\x50\xdf\x64\x10\x08\x8c\x80\x95\xa3\
+\xaa\xbf\x69\xba\xfb\x24\x12\x6b\x96\x00\x84\x10\x48\x7c\x9b\xb5\
+\xa5\x65\x28\x8b\x7e\xbf\x3c\x5c\xd9\x0f\x8a\xd6\x07\xdd\x8d\xe5\
+\xd9\x37\xcc\xdc\xf8\xcc\xec\x83\x6f\xe6\xb7\xbd\x88\x6d\x5f\x82\
+\xdb\x54\x08\x2a\x85\xd6\x19\x35\xde\xa0\x62\x15\x4b\x14\x77\xd2\
+\x3a\x7a\x80\x87\x80\xaa\x46\x95\x2f\x6a\x67\xc4\x29\x68\x00\x3b\
+\xb2\x2d\x68\x16\x85\x38\x27\x13\x6b\x92\x64\xf8\xcf\x70\xcc\x09\
+\xf5\xf4\x0c\x18\x90\x51\x38\x0f\x57\xc2\x16\xf5\x70\x1e\x26\x0c\
+\x05\x3d\xb4\x6e\xe9\x63\x86\x43\xe1\xab\x52\xa5\xce\x0d\x0e\x64\
+\xc1\xae\x1e\xe7\x3f\x80\xdb\x5f\xdd\x70\xef\x6b\xeb\xae\x7f\x34\
+\x6c\x3e\xff\x88\x19\x5b\x04\xd0\x5a\x15\xf6\x31\x02\x23\x96\x03\
+\x53\x8a\x29\x26\xd6\x3c\x64\x2d\x33\x32\x16\x8b\x92\x7c\x41\xfd\
+\x42\x4d\x46\x53\x9b\xfb\x0b\x7b\x27\xae\x7d\x72\xdd\x23\xef\xda\
+\xfd\xaf\x62\xeb\xb5\xc8\x37\x15\xa6\xb7\x84\xac\xa3\x68\x2b\x72\
+\x05\xa9\x97\x38\x85\xd5\x01\x06\x1a\x2b\x73\x62\x3e\x3f\x04\x00\
+\x33\xd8\xac\x6e\xee\xeb\xcc\xfd\xa6\x66\x50\x4f\x10\xf1\x54\x92\
+\x00\xf1\x69\x42\xae\x55\x92\xe1\x3f\xd3\x19\xb5\xfa\x54\xb7\xff\
+\xa8\x00\x0f\x54\x40\x09\x94\x80\x07\x4a\xd8\x68\xfb\x87\x7a\x3b\
+\xb6\x69\xfb\x6b\x54\x55\xc4\x65\x19\xd8\xfa\xfa\xdb\x20\xe2\x63\
+\xa4\xe0\x68\xd6\xab\xc6\xb7\x62\xef\xbe\xd6\x1d\x8f\xad\xbb\xeb\
+\xf1\x8d\x97\x5e\x9b\x4d\xcc\xae\x2c\xfb\xf8\xab\xeb\xf6\xa3\xf5\
+\x82\xc5\x90\xf4\xbc\x25\xd6\x34\x5e\xa0\x4d\x42\x1e\x02\x0c\xa3\
+\x33\x39\x3d\xb5\xfd\xdc\xed\x4f\x7e\x65\x7c\xff\x97\xb1\xed\x6a\
+\xdf\xda\x7c\x58\x7a\x47\x01\x0f\x90\x01\xc2\x61\x84\xe3\x90\xbe\
+\x21\x80\x6c\x20\x33\x4c\xe0\x83\x88\x41\xe5\x50\x19\x78\x00\x81\
+\xa0\xcc\x27\x08\xf2\x83\x01\x8e\x4d\xb4\x4e\x58\x12\x62\x15\x4f\
+\x32\xfc\x6b\x98\xb4\x10\xaf\x81\x3b\x3c\x1c\x04\x10\x08\xc8\x80\
+\x16\xd0\x05\xc6\x80\x31\xa0\x0b\x74\x80\x1c\x36\x83\xab\x83\xf4\
+\x54\xcb\x7e\x19\x80\x88\xc8\x70\xfc\x41\x0b\xe4\xa0\x0c\xcc\x6c\
+\x61\x18\x96\xbb\x08\xc2\x58\x76\x93\x8b\x13\x17\x17\x97\xbf\x81\
+\x17\xfe\xa5\x3c\xf7\x2f\x8e\xdd\xf0\x9d\xff\x30\x76\xd9\x11\x33\
+\x0d\x01\xd8\x83\x3c\xc4\xab\x8a\x3a\x1a\x98\xf1\x81\x19\x2f\x4d\
+\xaf\xa4\x76\x85\xcc\xc3\x10\x11\xd3\xb0\xb2\xb0\xce\x03\x08\x64\
+\x4b\xce\x0a\xce\xeb\xad\x8a\x82\x85\x59\x32\x0e\x39\x49\x06\xb5\
+\x51\xee\x54\x18\x62\x10\x43\x9c\x94\x72\x08\x12\x27\x3f\x5d\x3c\
+\xb3\x67\x8e\xee\x2f\xa9\x75\x2e\x63\x83\x69\xcf\xd6\xb3\x0d\x94\
+\x09\x32\x68\x06\xcd\x48\x32\x78\x50\xa8\x0d\x2c\x1b\xb0\x01\xf3\
+\x89\x03\x60\x01\x0b\x34\x40\x03\xb7\x56\xbc\x0b\xa8\x4c\xfb\xa7\
+\xad\x1d\xff\x7e\xdb\x1d\x7f\x7b\xc7\x6f\xca\xc1\xff\x1e\xbf\xf2\
+\xdf\x62\xcf\x81\x30\xbe\xc7\x9b\x1e\x20\xe3\xd6\xf7\xe0\x73\xf8\
+\x1c\x1e\xf9\x34\xdc\x38\x4c\x1b\xb0\xd1\xfd\x46\xdc\x54\xee\x1b\
+\x06\x1c\xc1\x99\xe1\x97\xd0\x1c\xf2\x69\xd5\x63\x47\x18\xfa\xf6\
+\xeb\xaf\x12\x60\x61\x73\xb4\x5b\xe8\xa6\x3b\xbe\x46\x9f\xf3\x74\
+\x09\x12\x27\x83\x93\x41\x8e\xaa\x03\xb4\xa2\xe4\x98\x41\xe7\x9c\
+\x0b\xd7\xdf\xf9\xf8\xae\x67\xdf\xed\x5e\xf6\xe0\xdf\xb4\x76\x7e\
+\x24\xe3\x92\x75\x91\x33\x31\x08\xa1\x23\x4b\x1d\x5d\x6e\x69\xbf\
+\x85\x22\xd3\xd2\x84\x10\x82\xfa\x80\xd1\x7e\xbe\x02\x4b\x10\xab\
+\xde\x69\x15\x15\x00\xa2\xd8\x80\x92\x57\x2e\xc0\x25\x91\x37\x75\
+\x10\x01\x2c\x10\x85\x27\xae\xd8\x0e\x4c\x96\xee\x48\xe2\xe4\x68\
+\x22\x52\x8d\x84\xbe\x10\x14\xac\x14\x1d\xe6\x51\x95\x52\xea\x92\
+\x3a\xf2\x68\xe5\xe2\x4c\x25\xf0\x05\xa4\x04\x02\x54\x51\x0a\x96\
+\x2b\x2c\x79\xac\x88\xf5\xec\x60\x18\x04\x43\x30\x46\x3e\x01\x1d\
+\xb2\x13\x8b\xf3\xe7\x6d\xb8\xea\xce\x73\x1e\x7c\x66\xcb\xfe\x87\
+\x78\xcb\x39\xf0\x04\xb8\x61\xe2\xfd\xa7\x5b\xf7\x25\x12\xbf\x68\
+\x92\xe1\x4f\x9c\x1c\x65\x01\x2d\x48\xfa\x2e\xf4\xa9\x58\x41\xa8\
+\x60\xdb\x98\x3a\x0b\xbb\x6f\xc9\x1e\xff\xce\xb6\x97\xff\xbe\xb9\
+\xf2\xa9\xbf\x6e\xef\xfa\x88\x66\x06\x36\xaf\x2a\x80\x04\x3e\xa0\
+\x1f\x50\x0a\x19\x98\x0c\x86\x50\x0a\x79\xca\x0b\xee\x16\xd4\x2d\
+\xa9\x2d\xe4\x58\xd8\x8a\xd8\x20\xd0\xb6\x22\x87\x5a\x25\x04\x96\
+\x60\xa0\xcd\x81\xa6\xa9\x5a\x62\x85\x0d\x64\x2b\x62\x9f\x1e\xe7\
+\xc4\x49\x32\x92\x0d\xab\x04\x25\x5e\xb5\xfa\x00\x48\x62\xf9\x2b\
+\x35\x2a\xd5\x41\x0a\xb0\x90\x43\x70\x08\x0e\xc8\x1d\xb9\x9c\x8c\
+\xe9\x74\xda\x99\xb5\x46\x85\x99\x61\xb2\x00\xaa\x02\xc4\xe3\xc8\
+\xf9\x77\xe7\x37\x3d\x3b\x7d\xe0\x4d\xba\xe3\x79\xec\xbe\x1e\x63\
+\x5b\xe0\xa6\x91\x8d\xc5\xf4\x1a\xb3\xea\x9e\x3b\x31\x26\x9f\x48\
+\xfc\x42\x49\x2b\x65\xe2\xe4\xb0\x1d\x68\x2c\x43\x0e\xec\x04\xec\
+\x05\xa1\x32\xce\x67\xe3\xe8\x6e\xc6\xb9\xfb\x67\x9e\xfa\xd6\x59\
+\xcf\xfd\x46\xe7\x8a\x03\x1f\x4f\x5d\x70\xa8\xb7\xbd\xbf\x0c\x00\
+\xe8\x02\x19\x50\x02\x2b\xa0\x80\x8e\x23\xa3\x9e\x87\x92\x66\x3a\
+\xb2\xf4\xc1\x93\x86\xb8\xc8\x72\x53\xa2\x14\xe5\xce\x14\x99\x20\
+\x57\x38\x52\x36\xea\x1d\x4a\x8b\x32\xdd\x90\xc4\xc9\xa0\xcc\xc2\
+\x2c\xcc\x9e\x6d\x20\x1b\xa8\xee\x31\x41\x2a\xa4\xc2\xea\x0d\xc4\
+\xa8\x50\x73\x18\x37\x05\x4c\x50\x05\xf5\x61\x8e\xfa\xfc\x48\xd5\
+\x5a\x2e\x11\xfa\x81\x06\xfd\x4c\x7d\xee\x84\xa5\xfc\x78\x20\x3f\
+\xb1\xeb\x17\x77\xdd\xcc\x37\xbf\xbc\xfd\xb1\x6f\x8c\xdf\xf9\x32\
+\xf6\xee\xc7\xf4\xd9\xc8\x17\x06\xda\xed\x83\x3d\x01\x4d\x1e\x2e\
+\xad\xca\x5e\xa4\x33\x7f\xe2\x8b\x22\x19\xfe\xc4\x49\xe1\x6d\x4b\
+\xb9\x05\xb4\xc0\x0e\x00\x38\xb0\x11\x4b\xb2\x34\xa8\x0a\x82\xb7\
+\x39\x30\x85\xb3\x6f\xe8\x3d\xfa\xee\xa6\x2f\xff\x96\x5c\xf9\x6c\
+\xd8\x7a\xe1\xd1\x89\x1d\x87\x65\x72\xd1\xb3\x00\x88\x4d\x49\x44\
+\x9c\x14\xed\xb0\xdc\x09\x2b\x99\x94\x71\x07\xa0\xc8\x40\x16\x54\
+\x80\x4a\x40\x48\xea\xb0\x2b\x0b\x20\x99\xc0\x79\x36\x81\x58\x48\
+\x19\xa5\x53\xc9\x02\x5a\x55\xba\x21\x89\x93\xa2\x30\xae\x64\x57\
+\xb2\x13\x62\xa1\x3a\x25\x9e\x20\x46\xc5\x40\x1a\xdb\x0c\xa0\xb6\
+\xcb\x6c\x00\x85\x09\x6a\x03\xb7\xd8\x76\x18\x1d\x83\x96\xa9\x37\
+\xb5\xe5\x32\x16\xdb\x53\xee\xdc\xeb\x66\xf6\xbf\x38\x7d\xe0\x57\
+\x71\xe0\x5b\x66\xcb\xa5\x3a\xb1\xc3\x9b\x99\x82\x7a\x03\x30\x9a\
+\xf6\x58\x8d\x48\x6f\x85\x55\x75\x5d\xd6\xb4\x3e\x27\xbe\x18\xd2\
+\x83\x95\x38\x29\x7c\xac\x0b\x20\x23\xea\x54\x8c\x7a\x51\x5f\x12\
+\xca\x89\x16\x91\x84\xaa\x12\x6d\xb7\xe0\xc6\xe1\x36\x63\xe7\xcd\
+\x9b\x1e\xf9\x56\xef\xa1\x6f\x4c\xde\xf0\x4c\xb5\xf3\xa6\x4f\xc6\
+\xcf\x39\x94\xcd\xf4\x39\x8b\xcb\x5d\xcc\x52\x66\x29\x5d\xe8\x5b\
+\x2d\x48\x35\x30\x79\x72\x62\xa1\x31\x43\x49\x1b\xad\x81\x60\x59\
+\xc0\x0a\x50\x00\x55\xa0\x92\x30\x52\xd1\x9c\x48\x9c\x04\x8c\x10\
+\x07\x48\x08\x42\x2a\x84\x5a\x81\x6a\x98\x1b\x1f\xc5\xae\x3d\xc3\
+\x33\x60\x08\x02\x0e\xe8\x99\x6a\xcc\x2c\xe7\xba\x48\x55\xe1\x03\
+\x8a\x6e\xf7\xf8\xba\x6d\xe5\x45\xb7\xf7\x6e\x7d\x7d\xe2\xe1\x6f\
+\xf4\xee\x39\x88\x5d\x5f\x2a\x5b\xeb\xfa\xc1\x56\x70\x51\x4c\x53\
+\x14\x41\x86\x29\x78\xb1\xce\xc6\xc7\xce\x3c\x31\x9f\x35\xa4\xf5\
+\x39\xf1\x45\x3d\xe7\x89\xc4\x49\x20\x05\x8c\x82\x08\xca\x2c\xb6\
+\x0d\x37\x0e\xdb\x55\xd8\x10\x7c\xc6\xd4\x72\x2c\xb1\x68\xd0\x51\
+\xe1\xec\xa2\x32\xf6\xdc\x8e\x5b\x5f\x5a\x38\xf0\xf6\xe6\x3b\x0e\
+\xf2\xb9\xb7\x7c\x32\xbe\xeb\x70\x3e\xed\x3b\x59\x1d\xde\x6c\x5e\
+\x95\x50\x1a\x0d\x8c\x10\x43\xa9\x43\xcd\x51\x80\xa1\x02\x2d\x59\
+\x0b\x27\xa5\xd5\x13\xc3\xfa\xc9\xf0\x27\x4e\x8e\x4c\xbc\x6b\x86\
+\x51\xcf\x10\x23\xd1\xe4\xd7\x95\x72\x4a\xa8\x9b\x50\xc4\xa1\x4e\
+\xa4\xd9\x92\xae\x00\xcb\xf0\x36\x5f\x59\xd8\x5d\x9e\xff\x40\xe7\
+\xae\xf7\x7a\x4f\xff\x90\xf6\x7f\x0d\x5b\x6f\x50\x33\xab\x60\x87\
+\x41\x9b\x5d\xa6\xcc\x5e\xd8\x4b\x4e\x68\x31\x48\xbd\x2f\x97\x81\
+\x0a\xe4\x1b\x9d\xdd\xa8\xbd\x93\x1e\xe7\xc4\x17\x45\x32\xfc\x89\
+\x93\xa2\x63\x24\x76\xfa\x12\x8f\x10\xa2\xfc\x2f\x57\x6a\x61\x5a\
+\x03\x4f\x83\x4a\x20\x30\x04\x12\x18\x45\x3b\x03\xb2\x69\xe4\x73\
+\xd8\x7c\x91\xb9\xe1\xd1\xb9\xc7\xde\xd9\xf4\xc0\x1b\x72\xde\xed\
+\x7f\x93\xef\xf8\x30\x5f\x58\x72\xdd\xca\xf2\xf0\x91\x24\xf5\x8c\
+\x92\x83\x25\xb1\x81\x32\x61\x2b\xc6\xaa\x65\x58\x69\xaa\x94\xea\
+\x46\x24\x00\x04\xb6\xe2\x76\xc5\x63\xe9\x8e\x24\x4e\x8a\xe6\x70\
+\x4f\x8a\x46\x6a\x7a\x18\xe6\xe7\xfa\xf3\x00\x9a\x7d\xa8\x95\x92\
+\x19\x70\x08\xce\x1d\xcd\x7b\x1f\xce\xef\xa2\x2b\x9e\x1a\x7f\xf8\
+\x9b\x63\x07\x7e\xd5\x5e\xfb\x94\xce\xee\x5e\xe1\xf1\xe3\x55\x1e\
+\x90\xad\x8a\xe6\x0a\x2c\xb3\x33\x6c\x9a\x3c\x7e\x97\x65\xc3\xd7\
+\x03\xac\xae\xaa\xed\x26\x12\x5f\x08\xc9\xf0\x27\x4e\x0e\x53\x3f\
+\x42\xce\x20\x63\x58\x85\x01\x0c\x01\x80\xb5\xe4\x1c\x83\xc1\x80\
+\x63\xb1\x54\x59\xad\x94\x10\x60\x85\x72\xb8\x59\xcc\xec\xc6\x65\
+\xf7\xcf\x3e\xf6\xde\xce\xb7\xfe\x90\x2f\x7f\xec\xf0\xe6\x6b\xfe\
+\x26\xdb\xfa\x63\x8c\x2d\xd9\x4c\x1c\xc5\x67\xd3\xf6\xbd\x15\x58\
+\x63\xe0\xcc\x0a\xe4\x28\xc2\x92\x35\xbe\x65\x35\x6b\xb4\x86\x09\
+\x44\x8e\x4d\xa6\xb0\x55\x5a\x2c\x13\x27\x49\x3c\x72\x33\x40\x10\
+\x25\x11\xa8\x2a\x21\x3e\x8d\x02\xad\x55\xef\xd9\x83\x04\x99\x41\
+\x10\xac\x18\x1c\x6a\xaf\xfb\xd9\xa6\xab\xcd\xfe\x37\x17\x5e\xf9\
+\x63\xf3\xc4\xf7\x71\xd1\x01\xcc\xed\x86\xc9\x49\xd1\x01\xc6\x2d\
+\xac\x10\x34\x87\xf6\xe2\x13\x1b\x69\x9a\xe4\xd9\x28\x69\x1d\xfb\
+\x64\x69\x13\x08\x48\xa9\x7d\x89\x2f\x8e\x64\xf8\x13\x27\x45\x11\
+\x5d\xf1\xb5\xd0\x89\x47\xf0\xe4\xc5\x04\xd8\x66\x3d\x3b\x01\xf2\
+\x84\xca\x50\x09\x22\x65\x17\x4c\x4f\xb3\x39\x8c\xef\xc4\xcc\x45\
+\x73\x8f\xbf\xbb\xe5\xa9\xef\x9c\xf5\xc0\x5b\xdd\x4b\xef\x3b\x3a\
+\xb9\xeb\x7d\xe9\x1e\x51\xf2\x51\x42\xa8\xf4\xda\xef\x87\x50\x64\
+\xdd\xac\x3d\x31\x86\x3c\x5f\x09\x14\x4c\x5b\xd9\x41\x19\x15\x50\
+\x55\xa8\x0a\xab\xfd\xdc\xa4\xac\xfe\xc4\xc9\xd1\x72\xea\x8c\x07\
+\x57\x6a\x40\xc6\x18\xc3\x4c\x80\x87\x48\x1d\x85\x0f\x50\x81\x67\
+\x94\xe0\xc5\xe0\x3e\x59\x77\x8e\xbb\xe4\xbe\xb9\x07\xdf\xde\xf4\
+\xd4\xaf\x8f\xdd\xf9\x15\xec\xbc\xa1\x68\xcd\x0f\x6c\x3b\xb0\x05\
+\x04\xd2\x47\xe8\x23\x54\x31\x01\x25\x28\x94\xa1\x84\xc0\x08\x84\
+\xd0\x1c\xeb\xa5\x39\xeb\x03\x36\x7a\x14\x86\xf2\x3b\x89\xc4\x17\
+\x41\x32\xfc\x89\x93\xc2\xc7\x7c\xbb\xd5\x4f\x04\x68\x05\xa9\x20\
+\x02\x01\x35\xb6\x3f\x80\x03\x5c\x40\x0e\x94\xa0\xc0\xec\x15\x41\
+\x81\x12\x18\xd8\xbc\xe8\xcd\x86\x6c\x01\x9b\x2f\xe3\x2f\x3d\x32\
+\x7d\xcf\xab\x9b\x0e\xbc\xb1\x69\xdf\x53\xd5\x96\x2b\xfe\x23\xe6\
+\xd5\x59\xb4\x33\x74\x9c\x42\xca\xe3\x2b\xe5\x91\xe3\xae\xec\x8f\
+\x3b\xe6\xaa\x22\x51\x30\xc3\x1a\x30\x40\x81\xc9\x1b\x14\xe9\x8e\
+\x24\x4e\xea\x79\x56\xf2\x81\x82\x80\x88\xd8\x10\x58\x20\x1e\xa5\
+\x42\x80\x1c\xe8\x65\x45\xd6\xfd\x40\x7b\x87\xf2\x4d\xd5\xe6\xab\
+\xc6\x2e\x7d\x60\xfe\xf1\xbf\xe7\xee\xfd\x0e\xae\x7a\x02\x9b\x2f\
+\x44\x3e\x8e\x5a\x49\x12\x0a\x28\x59\x70\x1b\xa6\x0d\x76\x75\x1b\
+\x5d\x45\x20\x84\x3a\x67\xa5\xb1\xee\xda\x34\xd4\x18\x4a\x07\x09\
+\x62\x93\x4c\x93\x3c\x58\x89\x2f\x86\x64\xf8\x13\x27\x45\xde\xb4\
+\x09\x01\x01\x6c\xc1\x39\x38\x07\x1b\x0c\xe3\x99\x00\x00\x45\x94\
+\x07\x8f\x27\x1b\x06\x88\xe1\x2d\xbc\x6d\x56\xc9\x01\x30\xa0\x5c\
+\xf3\x05\xac\xdb\x8b\x0b\xef\xc0\x5d\xaf\xce\x3f\xf4\xb5\x73\x1e\
+\x7a\xe7\xd0\xf6\x4b\x7f\x36\x77\xd6\x07\xf9\xec\x8a\x9d\xe8\xb4\
+\xf2\x71\x47\x79\xa1\x38\x52\xf0\xa2\x47\xdf\x23\x78\x41\x10\x03\
+\x69\x84\x7d\x12\x89\x93\xc1\x4a\xe5\xe0\x1d\x84\xd5\x23\x54\x08\
+\x01\x04\x38\x94\x06\x47\x42\xf6\x13\xdf\xfb\xa0\xb7\xd3\xed\xbd\
+\x77\xd3\xdd\x5f\x9d\x7c\xe2\xb7\xf1\xf8\x6f\xe1\xbc\xbb\xb1\x70\
+\x09\xdc\x06\x84\x0e\x8a\x02\x7e\x60\x75\x60\xb4\x14\xa0\x00\x56\
+\x08\x03\x82\xe7\xa1\xe3\x5e\xa8\xee\x7f\xed\x0d\xbc\x81\xac\x36\
+\xd0\x92\xa6\x2c\xa5\x91\xcf\x4f\xae\xfe\xc4\x17\x47\x32\xfc\x89\
+\x93\xc2\xca\xb2\x45\xdf\xc0\x07\xa0\x24\x14\x8c\xd2\xc0\x1b\x56\
+\xc3\x60\x06\x01\xf0\x04\x6f\x20\xd1\x75\xe9\x91\x07\xe4\x8d\x17\
+\xb3\x32\x32\xc8\xe0\x1d\xe0\x00\x02\x4a\xa2\x02\x3d\xf0\x1c\x3a\
+\x3b\x70\xf6\x4d\x74\xfd\x53\xf3\x2f\x7f\x7f\xfd\x83\x5f\x6d\x5d\
+\xfa\xc0\x60\x7e\xef\x31\xb3\x50\x55\x5d\x78\x40\x81\xa8\x12\xec\
+\x00\x87\x60\x50\x19\x13\xd8\x7a\x4e\x92\xbd\x89\x93\x63\x45\x11\
+\xc0\x16\x9c\x51\x69\xf8\x38\x99\x23\xa6\x7b\xa8\x3d\xf7\x7e\x6b\
+\xa3\xdf\x71\xf5\xc6\xdb\x9e\xdf\xfa\xf4\x7b\xb3\x4f\x7f\x1b\xfb\
+\x5e\xc2\xb6\x1b\x43\xe7\xec\xfa\xa7\x94\xc5\xb6\xb5\x3d\xa9\xb6\
+\x17\xa8\x15\x28\x8b\x3b\xdc\xa8\x52\x01\x20\x44\xf7\xbe\x61\x83\
+\xd2\xc0\x53\x1d\x33\xa8\xa0\x15\x10\xfb\x5d\x7d\x9e\x4e\x6f\xb2\
+\xfc\x89\x2f\x86\x64\xf8\x13\x27\x49\xd5\xb4\x1b\xab\x6b\x9a\x0a\
+\xa0\xa8\x8b\xfb\xe3\x42\xa6\xb1\x06\xca\xc0\x5b\x48\x8c\x0b\x04\
+\x58\xc0\x41\x2d\x00\x84\xca\xf8\x42\x8b\xa2\x2e\x68\x36\xf0\x36\
+\xaf\xb8\x57\xe9\x78\xdf\x8f\x63\xe6\x0a\x5c\xf8\xc0\xd4\x83\x5f\
+\x5d\xf7\xe4\xb7\xa6\xee\x79\xdd\x5c\x7c\xcf\xb1\x85\x0b\x3f\x6e\
+\xcd\x1c\xd7\xce\x62\x30\xcb\x81\x0a\x21\x81\x31\xa0\x10\xd4\x97\
+\x49\xc1\x27\x71\x72\xb4\x00\x8b\x0a\xf4\xb1\x6f\xfd\x14\x53\x1f\
+\x8c\xed\x58\xdc\x72\x65\x75\xee\x6d\xdb\x1e\x7f\x77\xee\x89\x77\
+\xe9\xce\x83\x38\x67\x1f\xba\xdb\x57\xd0\x3b\x4a\x38\x4e\x80\x2c\
+\x41\x0a\x30\xc4\xa0\x0f\xac\xa0\x8e\x36\x19\xc0\x6a\x61\x75\xd9\
+\xea\xb2\x45\xa1\xd1\x01\x00\x34\x1e\x2f\xae\x1b\xe8\xd5\xdd\xa5\
+\x62\xdb\x89\x46\x30\x98\xd3\x79\x3f\xf1\xc5\x92\x0c\x7f\xe2\x24\
+\x9f\xa0\x36\x28\x8f\xe1\xc8\x61\x46\x52\x93\x94\x24\x01\xd2\xe8\
+\x9e\xc7\x21\x4d\xeb\x13\x04\x30\xc8\x81\x5a\xa0\x0c\x64\xf2\xdc\
+\x59\x08\x85\x60\x04\x04\x10\x81\x9c\x73\xed\xae\xf8\x5e\x08\x33\
+\x70\x3b\xb0\x6d\x1f\xf6\xbd\xc4\x8f\x7f\x7b\xe2\xc9\xef\x4c\x1e\
+\xf8\xfa\x27\xdb\xf7\x1d\x9f\xdf\x7b\xbc\xb5\x6e\x39\xb4\xa5\x12\
+\xae\x7c\x1e\x42\x2b\xa4\xa0\x68\xe2\xa4\x58\x2e\x71\x2c\xf0\x11\
+\x37\xdb\x9f\xdf\x93\xef\xdd\xbf\x61\xff\xc1\x2d\x8f\xbf\xb7\xe1\
+\xf9\xdf\xc6\x15\x8f\x60\xf3\x95\xc8\x37\xc0\x4d\xc1\xe5\x59\x86\
+\x36\xa1\x05\x40\x7d\xec\x3f\x19\x9b\x5e\x3a\x20\x07\x32\x05\xa9\
+\x00\xa8\xc5\xa7\xc1\xd4\x78\xbc\xa0\x79\x3d\x90\x83\x1c\xc8\x28\
+\x71\x20\xeb\x89\x6b\x61\x80\x7a\x67\x2c\x0a\xd1\xd4\x36\x37\xf1\
+\xc5\x90\x0c\x7f\xe2\xa4\x28\x91\x97\x70\x01\x16\x10\x03\xef\x50\
+\xe5\x28\x2c\x0a\x83\x82\x50\xa1\x16\x20\x25\x10\x83\x18\xa8\x6b\
+\x97\x55\xa1\x31\x2b\x90\xa0\x6c\x60\x2c\x00\xad\x4a\x96\xca\x90\
+\x18\x05\x82\x86\x00\x8d\x67\x21\x46\x69\x69\xd9\xba\x63\x6e\x72\
+\x71\x66\x4f\xb8\xf0\x5e\x7b\xeb\xf3\xdb\x5f\xff\xde\xc6\x87\x5f\
+\x5b\x7f\xe9\x2d\xd3\xf3\x5b\x5a\xb6\xc5\x71\xdf\x91\x3c\xfd\x89\
+\x93\xc3\x4e\x4e\x4c\xec\xb8\x60\xfe\xfa\xbb\x37\x3f\x7c\x70\xc3\
+\x63\xaf\xf5\x6e\x7c\x0c\xdb\xae\xf4\xf9\x96\x65\x33\x37\x30\x93\
+\x25\x77\x2b\x58\x09\x95\x55\x9f\x8b\x6f\x57\xe5\x8a\x9b\x2c\xb8\
+\x5b\x41\x4c\x58\xb1\x7e\x31\xf3\x4b\x26\x2c\x43\x0a\xa8\x00\x39\
+\xb8\xad\xd4\x56\x38\x06\x72\x54\x1d\x14\xb1\xd3\x84\x8e\x64\xbd\
+\x54\x60\xdf\x24\xc9\x36\x56\x7f\x18\xf4\x4f\x86\x3f\xf1\x85\x90\
+\x0c\x7f\xe2\xa4\xc8\x9a\x40\xa6\x05\x5b\x58\x03\x67\x90\x5b\xe4\
+\x16\xb9\x41\x6e\xe0\xa8\xae\x53\x62\x80\x41\x1c\xff\x33\xfc\xac\
+\x59\xf5\x68\x32\xb9\x16\xb9\x16\x88\x41\xb0\x86\x72\x03\x07\x94\
+\x19\xbc\x85\x23\xe9\xc2\x4f\xa8\x8c\x29\x18\xd6\x9b\xb9\x72\xfc\
+\xe2\x70\xf1\x0b\x78\xf6\x4f\xf8\x9d\x7f\x25\x2f\xff\xf3\x8f\x6e\
+\xfd\xc1\x5f\x6d\x79\xfa\xdf\x66\xfb\xd8\x83\x7d\xa3\xea\x1f\x7f\
+\xab\xa2\x52\xae\x6c\xb7\xc8\x67\x06\xed\xd9\x22\x9b\x2c\x28\x0b\
+\xa1\x16\x44\x25\x02\xd1\x68\x03\x75\x62\x10\x29\x0f\xd5\x5a\x86\
+\x91\x57\x61\x88\x01\x57\x96\x3d\x9f\xf0\x5b\x74\xd5\x3b\x2b\x04\
+\xcf\x5c\x72\xde\xe7\xee\x0a\x4f\xac\xf0\x04\x8d\x08\xc2\x44\x4d\
+\x98\x7a\x48\xd3\x0d\x46\xec\xc8\xc8\x38\xd8\x91\x2f\x31\x87\xa6\
+\x37\xfc\x70\x0c\x7f\x75\x00\x87\x2f\xfc\xfe\x16\x16\xa5\x59\x1d\
+\x51\xa7\x36\xaa\xda\x46\xe5\xda\x21\xf1\x0f\x0c\x94\xc5\x21\xc8\
+\x04\x56\x60\x85\x38\x7e\x67\x1c\x81\x4f\x18\xd1\xee\xd5\x7f\x8e\
+\x30\x29\x03\x2c\xc4\x81\x38\x34\x6a\xf9\xa4\x96\xd4\xb2\x58\x0e\
+\x96\x2d\xd8\x82\x0d\xa8\x7e\x03\xec\x61\x3c\x0c\x38\x93\xc0\x1a\
+\xc0\x6c\x98\x0d\x47\x8b\x1a\xc0\x65\xce\x3e\x67\xca\xd4\x39\x9f\
+\xb3\x64\x00\x81\x3d\x78\x00\x5e\x02\xaf\x80\xfd\xd8\x71\xbb\xed\
+\xc7\xd3\x57\xfc\xe4\xbc\xc7\x3e\xb9\xe5\x6b\x47\x7e\xed\xdf\x2d\
+\xbf\xf1\xaf\xf1\xd0\x9f\x61\xef\xcb\x32\x79\x15\xb2\x4d\xa0\x9e\
+\x05\x75\x09\xad\xb7\xf3\x8b\x2b\x00\x00\x19\x82\x49\x44\x41\x54\
+\x78\xa6\x27\xb0\x71\x20\x0b\xb6\x70\x59\x07\xc8\x01\x87\x0c\xa6\
+\x03\x3b\x06\xdb\x83\xe9\xc2\xe4\x60\x8b\x91\x4e\x3b\x04\xae\xdd\
+\x01\x5c\x3f\x72\x44\x30\x4d\x1e\x40\x0e\xb4\x9a\x91\xd7\x13\x8a\
+\x0d\xd8\xd4\x19\x02\x89\xc4\x2f\x98\x64\xf8\x13\xa7\xfa\x03\x5a\
+\x87\x3b\x15\x50\x81\x4a\xec\x92\x12\x7c\xac\x89\x72\x18\x9f\x31\
+\x7b\xf6\xce\xdf\x72\xe7\x9e\xc7\x9f\xb9\xe2\xe0\x1b\xb8\xe9\xe0\
+\xca\x05\x77\xbf\x3f\xbd\xfb\x67\x3c\xb5\x28\xb1\xb8\x00\x79\x25\
+\x79\xb9\xdc\x1e\x7c\xd2\x59\xf9\xb8\x55\x1e\xcd\xa4\x34\x06\x70\
+\x0c\x63\x97\x82\x5b\x51\xd7\x57\x57\x04\x2e\x0a\x94\x85\x22\x68\
+\x63\xaa\xea\x4e\x29\x68\x12\xae\x55\x18\xc6\x83\x01\x66\x35\x2c\
+\x6c\x85\xac\xa7\xcc\x23\xf3\xb0\x01\x16\x60\x2b\xc8\x43\xd1\x91\
+\xe5\x5e\x38\xd6\x0b\xc7\x86\x0b\xbf\x32\x94\x21\x8d\xbd\x14\x16\
+\xa5\x38\x3c\xe2\x88\x7d\x0f\x08\x4d\x98\x17\x40\xfc\x59\x3e\x61\
+\xc4\x1d\xca\xf0\xbf\x5f\x30\xb9\x47\x16\x90\xfb\x7a\xb8\x00\x17\
+\x60\x03\x6c\x60\x23\x6c\x46\xf6\x28\xd1\x3c\x3b\x2d\xad\x96\x56\
+\x4b\x83\x92\xc9\x33\x79\x9c\x78\x6c\x1d\xee\x81\xcc\x30\x3e\x34\
+\xfc\x4b\x87\xd7\x06\xb1\x50\x43\x8c\xd6\xba\xf8\xa4\x3e\xea\xd8\
+\x17\x03\x54\x03\x68\x05\x0a\x71\xef\x28\x59\x08\x59\x15\xb8\x2c\
+\x2d\xc4\x10\xc4\xc3\x8b\xad\x5c\xaf\x6f\xc7\x97\xb4\x0b\x53\x80\
+\x0a\x54\xa5\xe9\x57\x6e\x45\xa8\x0f\x28\xfb\xbc\x55\x4e\x8e\x1f\
+\x99\x9e\xfa\xd9\xfc\xf6\x8f\xcf\xbe\xb4\x73\xcd\x3d\x5b\xef\x3f\
+\xb8\xe5\x91\xd7\xe7\xee\x7a\x69\x6c\x6c\xac\xdd\x6e\xc7\x77\xa4\
+\xaa\x22\xa2\xaa\xaa\x29\x84\x94\x38\xd3\xd6\xd5\x44\xe2\x74\x78\
+\x46\x47\x0a\x9f\x8c\xc2\x50\x0c\x16\x58\x98\x0e\xdc\x24\x26\x36\
+\x60\xcb\x6e\x9c\x7d\x09\x0e\x7c\xaf\xf3\xf8\x0f\x36\x3c\xfe\xbd\
+\xe9\x5b\x5f\xf1\xbb\x6e\x3c\xd2\xdb\xb4\xcc\x56\x86\x79\x07\x01\
+\xe4\x61\x04\x1c\x80\x52\xa4\xef\xdb\xad\x09\xc3\x6d\x15\x0b\xb2\
+\xb6\x65\xb3\x16\x09\xa3\xf2\x23\x29\xd6\x0a\x12\x18\x61\x13\xac\
+\x11\xab\x06\xca\x22\x46\x02\x23\x90\xf1\x94\x7b\xb4\x3d\xda\x82\
+\xae\x22\x67\x71\x2c\x20\x05\xc5\xea\xac\x10\x7b\xba\xd7\xe7\xe3\
+\x58\xc3\x3d\x3c\xec\x7a\x83\xc0\xb5\xa2\x8b\x36\x59\x5d\xcd\x6e\
+\x40\xe2\x27\x95\x58\x89\xa5\x1e\x56\xc8\x7a\x3e\x61\x7c\xe1\x17\
+\x3f\x80\x03\x48\x3e\x6f\x44\x8f\x88\x36\x6d\x94\x1b\xe2\x71\x16\
+\x34\xd2\xc5\x6e\xf4\x05\x63\x85\x7a\xf3\x22\x27\xe4\xb2\x0d\xfb\
+\xd1\x6a\xbd\xe5\x5a\x4d\x71\x1b\xfa\x85\x1c\xd4\x22\xf0\xc8\x23\
+\x11\x3f\xe0\x78\x58\x76\xea\x43\xbf\x5f\x54\x55\x70\xce\x75\xc7\
+\xc6\x6a\x9f\x88\x01\x88\x11\xba\x25\xcd\x1f\xb5\x5b\xdf\xef\x9c\
+\xfd\xc1\xe6\xab\x71\xf3\xd3\xeb\x5f\xfd\xf5\xd9\x37\xbe\x9f\x3d\
+\xf6\x16\x2e\xbb\x17\x33\x17\xc3\x6c\xef\x76\xbb\xcc\x27\xac\x8a\
+\x44\x44\x94\x12\xed\x12\x67\xe2\xa2\x9a\x48\x9c\xb2\x08\x62\x92\
+\x14\x00\x85\xd6\xa1\xcf\x8c\x41\x40\x00\xfa\xe0\x02\x6d\xcf\xe3\
+\x62\xa7\x90\xcd\xf8\xf6\x3c\x16\xce\xc3\xde\xdb\xf3\x7b\x5f\x99\
+\x7a\xfe\x7b\x53\x4f\x7c\xb7\xbb\xef\xe5\xfe\x79\x77\xbe\x3f\xbe\
+\xfb\x50\x7b\xe3\x61\x3b\xb1\xcc\x59\x9d\x3b\x5d\x6b\xad\x1f\x6f\
+\xc9\x52\x47\xfa\x59\x28\xb5\xf2\x5e\xd4\x1b\x16\x4b\x25\x73\xc9\
+\xb6\x22\x2b\x54\xbb\xfd\x39\x08\x07\x8f\xc6\xa4\x31\xc4\xa0\xb0\
+\x5a\x59\x0c\x32\x29\xad\x94\x56\x84\x35\x6a\xb3\x35\x06\x89\x57\
+\x05\x5b\x64\x64\xeb\x32\x3c\x3f\x0e\x3b\xbe\x84\xc6\x13\x4e\x75\
+\x41\x77\x3d\xe2\x26\x00\x24\x42\x10\x12\xa9\x77\x03\x50\x82\x82\
+\xe4\x3f\x83\x41\xfa\xb4\xf6\xe2\x70\x08\x20\x20\x89\xb1\x07\x25\
+\x1f\xdf\xaa\xe7\xa6\x7b\x0d\xc3\x13\x02\x9d\xf0\x0a\xfc\x99\x93\
+\x73\x65\x6c\x3d\x98\x3d\x23\x34\x7f\xdd\x09\xbf\x97\x56\x7f\xb5\
+\xcb\xac\xb1\x14\x9a\xb2\x11\x31\x84\x8c\xb4\x05\x65\xa0\x02\xca\
+\xca\x38\x8c\x8d\xa3\xd3\x29\x6c\xf5\x09\x0e\x7d\x50\x8d\xd1\x52\
+\xdb\x7d\x62\x7a\x1f\x64\xeb\x3f\x9e\xdb\xa3\x17\xdc\x36\x7d\xe7\
+\xc1\x2d\x4f\xbf\xb7\xe5\xe0\x6f\x4d\xdd\xfd\x1a\xce\xbe\xb9\xec\
+\xee\xea\x9b\xf5\x03\x3b\x37\xc8\x3a\xcb\xf9\x6a\x92\x88\xaa\x32\
+\xf3\xa7\x36\x01\x89\xc4\x99\x41\x7a\xac\x13\xa7\x34\x75\xae\xd3\
+\xaa\xbd\x51\x40\xe2\x41\xdc\x68\x6d\xc1\x95\xe1\xd9\x55\xdc\x29\
+\xb8\x4b\xf5\x49\x3b\x03\xcf\x63\x72\x2f\xf6\x1e\xc0\xbd\xdf\xea\
+\x3e\xff\x0f\x36\x3c\xf3\x07\x33\xf7\x7f\x87\xaf\xfa\xf2\xf2\x96\
+\x6b\x0f\xf7\x76\x0c\xb8\x1d\x2d\xb0\x7c\x5c\xa2\x12\xb4\x40\x5d\
+\x63\x1d\xb1\xc0\x0a\x32\xce\x48\x6d\x1d\x72\x56\x5b\x4f\x13\x02\
+\x48\x62\x5a\x22\x86\x01\x7b\x94\x56\x0b\x46\x9f\xd1\x27\xed\x03\
+\x25\x48\x40\x16\x64\x95\x32\x45\x16\x90\xab\xe6\xaa\x19\xa9\x65\
+\x65\x2b\x6c\x05\xae\x8e\x7e\xc3\xc4\xfe\xc2\x75\x0f\xd6\x18\x2c\
+\x18\x29\xe7\x26\xd0\xaa\xf7\x3b\x86\xd7\x4b\xa3\xb5\x61\x25\xaa\
+\x18\x5f\x7c\xf9\xa2\x59\x6d\x8b\x18\x8f\xe6\xf1\x84\xbf\x1a\xb9\
+\x60\x48\xfd\x5f\x51\x96\x82\xf2\x82\xb2\x8a\xb2\xa0\x76\xd8\x4e\
+\x7e\xf8\xd3\xc3\x23\x7c\x60\x04\xe6\xc0\xbc\xba\x8f\x21\x56\x58\
+\xad\x13\x27\x46\xda\xdf\x11\x3c\xa1\x32\xf5\xd0\x81\x47\xa1\x1c\
+\x00\x65\x85\x55\x6a\x55\xdc\xf2\xa6\x5d\xb0\x2d\x0d\x7b\x47\x6a\
+\x50\x0d\x50\x1c\x17\x09\xa0\x09\xfc\x4d\x38\xeb\xd8\xfc\x55\x9d\
+\x6b\x1e\x5b\xf7\xc4\xd7\xe6\x5e\xfe\xf5\xce\x97\xbf\x81\xdb\x9f\
+\xc1\x05\xb7\x63\x6c\x0f\xec\x56\x60\xc1\x62\xd2\xa0\x1d\x80\x02\
+\xe8\x13\x44\x24\x84\x10\x42\x00\x90\x0e\xfa\x89\x33\x95\x64\xf8\
+\x13\xa7\x34\xc3\xfc\x67\xad\xcb\x9d\x3d\x38\x80\x3c\x82\x22\xc0\
+\x29\xac\xa2\xb1\xcc\x10\x20\x08\x94\xc0\x36\x0b\xae\x55\x71\x77\
+\x80\xc9\x90\xaf\xc3\xc4\x59\xd8\x73\x2b\x5f\xf7\xc4\xe4\x43\x6f\
+\xcf\x3f\xfb\xdd\xe9\x27\xbf\xd9\xba\xf5\xe5\xa5\xf3\x6e\xf9\xd9\
+\xc2\x9e\xa5\xf5\x33\xc7\xda\x63\xc7\xaa\x6c\x71\x59\xca\x42\xc9\
+\x83\x2b\xa1\x7e\xe1\xca\xd2\x56\xa5\xf5\x25\x4b\x09\x88\x90\xf5\
+\xc6\x55\xa6\xed\xd1\x0e\xda\xf6\xc8\x03\xac\x10\x8f\x7a\xe9\x1b\
+\x97\xb5\x00\x32\x14\x5c\xb7\x81\x63\x2e\x40\x0c\x8d\xb3\x08\x07\
+\x50\x74\x9e\x37\xb9\x81\x46\x60\xea\x4d\xc6\x09\xea\xec\x9f\x9f\
+\x15\x08\xb1\xba\x3a\xbe\xe8\xeb\x3f\x9a\x97\x57\xdb\xf8\x11\xaf\
+\x03\x3e\x33\x58\x2d\xab\x33\x62\x8c\x32\x6b\xbd\xbf\x61\xad\xff\
+\xd2\xd8\xd2\x7e\xb4\x9f\xbd\x55\x6f\xa5\x1e\x46\xc5\x28\x8c\x30\
+\xd4\x2a\x32\x41\xe6\x29\xaf\x28\x1f\x70\x7b\xc0\xed\x15\xd3\x5e\
+\x31\x5d\xf2\x30\x0a\x47\xc8\x20\x2e\x78\x53\xf4\xd1\xef\xfb\x7e\
+\x9f\xad\x29\xb3\xde\xb1\x7c\xfa\xfd\xf6\xfa\x1f\x8f\x6f\x79\x7f\
+\xd3\x79\x2b\x97\xec\xc7\x2d\xcf\xef\x7e\xe6\xb7\x37\x3e\xf6\xed\
+\xf6\xdd\x6f\xe0\xda\xc7\xc2\xce\x1b\x97\xa7\xf6\x1c\xb5\xeb\x8f\
+\x9b\xc9\xe5\xb2\x05\xc9\x51\x39\xae\x4c\x56\x55\x56\x4a\x8b\x90\
+\x41\x98\x99\x1a\x00\x88\x88\xf7\x3e\xee\x03\x12\x89\x33\x86\x64\
+\xf8\x13\xa7\x34\xc3\xcc\xff\xd5\xf6\xe4\xd1\x66\x1a\x4f\x0c\x52\
+\x98\x78\x46\x57\xe4\x8a\xb6\x42\x19\x01\xe8\x97\xa8\x2a\x58\x46\
+\xcb\xc2\x30\x54\x01\x62\x70\x07\x9d\x8d\xd8\x78\x31\x2e\xba\x0f\
+\x77\x7d\xb5\xf7\xe2\x1f\xae\xff\xda\x3f\x1d\xbf\xef\xeb\xee\xba\
+\xe7\x8e\xed\xb8\xf9\xc3\xc9\x0b\x0e\xb5\x37\x2f\xb7\xa7\x90\xb5\
+\x30\x0c\x21\xd7\xbf\x55\x00\x89\xb6\xca\x79\x8e\x76\x1a\x30\x01\
+\xae\xa2\xac\x60\x3b\x60\x3b\x30\x5c\x1a\xae\x98\x3d\xb3\x70\xdd\
+\x8e\x88\x50\x59\xa9\xac\x54\x2c\x15\xd4\xc7\xfe\x05\xab\x12\xad\
+\xa8\x3f\x26\x15\x86\x37\xea\xad\x56\xa3\x86\x76\xd5\xbe\x8e\xa2\
+\x9f\x17\x33\xf8\xc2\x68\x0a\x1c\x98\x94\x49\x78\x34\xba\x1f\x53\
+\x19\x3e\x35\x5a\xa1\x68\xfb\x22\x0b\x85\x0b\xa5\x0d\x42\x72\xe2\
+\x1f\x3b\x7c\x59\x80\x55\x30\x12\xce\x67\x05\x8b\xb0\x08\xab\x58\
+\x11\x17\xc4\x89\x58\x51\xab\x6a\x55\xac\x88\x15\x31\xea\xc1\x23\
+\xa5\x20\x0a\x30\x5c\x8b\xed\x58\xef\x18\xf7\x0e\x65\x0b\xc7\x16\
+\x2e\xca\xae\x7c\x7c\xdb\xd3\xbf\xb3\xfd\xed\x3f\xef\xbd\xf8\xa7\
+\xb8\xff\x77\x71\xc1\x6d\xd8\x7e\x35\x26\x77\x95\xb4\x7e\x09\xbd\
+\x01\x6c\x54\x96\x70\x2d\xa3\x0a\x94\x01\xde\x83\x4d\x4e\xdc\x81\
+\xe6\xa8\x00\x10\xd1\xd0\xc3\x1f\x93\xfb\xd2\xd1\x3f\x71\x86\x91\
+\x0c\x7f\xe2\x94\xc6\x8e\x74\x2d\xc5\xa8\xed\x60\x80\x7c\xfd\x39\
+\x11\x04\x81\x04\x40\xaa\x12\xa4\x68\x3b\xb4\x2c\x48\x80\x50\x42\
+\x2a\x22\x0f\x12\x18\xf6\x36\xf3\xa6\xe7\xdd\x8c\x6f\x6f\xf6\x93\
+\xbb\x8b\xf9\x8b\x70\xcd\x93\x9d\x07\xbe\xb6\xe5\x95\xdf\xdb\xf9\
+\xf2\x0f\x36\xde\xf7\x56\xb5\xf7\xfe\x0f\xd6\x5f\xf5\xd1\xf4\x9e\
+\x4f\xda\x0b\x4b\xad\x89\x32\x6f\x8b\xb1\x4a\xcc\xf0\x99\x14\xed\
+\xd0\x27\x59\xe6\xd0\x67\xed\x5b\x29\x9c\x54\xac\xc2\xca\x80\x51\
+\x75\x15\x39\xcf\xd6\x93\xf5\xcc\x9e\xa3\x20\xbb\x87\x7a\x68\x93\
+\xd9\x3e\xf4\x0d\x98\x11\x17\x7a\xe3\xfd\x8e\xe6\xbe\x29\x87\xb3\
+\x81\x6c\x80\x0d\xc4\x0a\x96\xcf\x9a\x7f\xfc\x67\x33\xfc\x20\xe1\
+\xd5\xa1\x96\xd4\x92\xd4\x03\xfa\xe9\x41\xd2\xfc\xbd\xc3\xf7\x56\
+\x67\x24\x34\x21\x12\x81\x51\xc4\x78\x47\x1e\xc4\x93\x6d\x5a\x39\
+\x36\x7a\x76\x2a\x10\x81\x78\x0a\xde\x86\xd2\xf9\xb2\xe5\x8b\x76\
+\x28\xba\xa1\xe8\xf9\x62\xc0\xae\xcf\xd9\x0a\xb7\x8e\x99\xee\xe1\
+\xd6\xf4\xd1\xa9\x1d\x2b\x5b\xbe\x14\xce\xb9\x7d\xee\xde\xb7\xb7\
+\xbf\xf0\xfd\x1d\xbf\xf2\xfb\x73\x0f\xbe\xc3\x17\x3e\xe0\xe7\x2e\
+\x59\x69\x6d\x3e\x66\x66\x34\xef\xaa\x6d\x2b\x72\x27\x98\x10\x4c\
+\x2b\x26\x14\x1d\x80\x81\xca\x20\x74\x8d\xb6\x2d\x0c\x4b\x30\x54\
+\x99\x5c\xf2\x4f\xff\xf9\x44\xc6\x98\x14\xe9\x4f\x9c\x61\xa4\x07\
+\x3a\x71\x6a\x13\x83\xfc\x22\x50\xc4\x4e\xe8\x3a\xac\x76\x8b\x7e\
+\xf5\xfa\xd4\x1f\x60\x04\x54\xf5\x2c\x5c\xdd\xeb\x4c\x00\x0f\xc3\
+\x60\x03\x58\x25\xf6\x75\xf8\x1f\xa1\xc9\x9d\x33\x44\x30\x33\x30\
+\xb3\x68\x6f\xc6\xf6\xeb\xb0\xef\xd9\xa9\xe7\xbe\xbf\xee\xf5\x3f\
+\x9c\x7f\xfd\x8f\xbb\xf7\x7f\x53\xae\x7d\xe1\x93\x1d\xfb\xde\x9f\
+\x38\xe7\x93\x6c\x6e\x60\xc6\x11\x1b\x01\xe8\x68\xcc\x5b\x2c\x7c\
+\x16\xca\x78\xcc\xed\x84\x22\x97\xd2\x6a\x09\xf8\xc0\x12\xac\x06\
+\xc7\xab\x2e\x8b\xd8\x90\xd8\xda\xc2\xb5\xfa\x59\x7b\xc9\x64\x4b\
+\x26\x5b\x31\xae\x6f\xa8\xe4\xba\x99\x81\x32\xd8\x58\xc3\x96\xc9\
+\x31\x39\xb0\x01\xd5\xf9\x00\xaa\xb1\x20\x9e\x15\x0c\x32\x4d\x5b\
+\xf8\x5f\xd8\x49\x34\x26\xb2\xd1\x08\xc3\x2f\xd4\xe7\x71\x12\x10\
+\x04\x2a\x4a\x01\x04\x9b\xc1\x38\xe5\x5c\x28\x13\x6a\x79\xca\x3d\
+\xe5\x15\x32\x34\x15\x7a\x42\x28\xc1\x25\x65\xde\x76\x91\x4d\x56\
+\xd4\x0d\xdc\x01\xe5\x24\x44\x15\xa8\x02\x85\xe8\xf9\x17\x90\x10\
+\x2b\x31\xc3\xa0\xee\xef\x10\x35\x20\xdd\x88\xd8\xbd\xd4\x02\x4d\
+\x7f\x3b\xbe\xe3\xd0\xfc\xde\xfe\x9e\x5b\x5a\x37\x3e\x37\xfd\xd0\
+\xbb\x93\xcf\xfd\x7e\xe7\xe0\x1f\xb5\x5e\xf8\x21\xae\x7f\x15\x67\
+\xdf\x85\xde\xb9\xb0\xeb\x41\x6d\xab\xe8\x28\x26\x14\x01\x0e\x64\
+\x48\x41\x01\xa8\x40\x25\x4c\x05\x53\x27\x53\x48\x05\xe9\x03\x03\
+\x40\x2c\xa9\xad\xbb\xe6\x8d\x9e\xef\x93\xd5\x4f\x9c\x91\xa4\x67\
+\x3a\x71\x6a\xa3\x02\x6d\xba\x98\xe8\x68\x23\x53\x03\x58\x10\xd7\
+\x19\x67\x80\x42\x02\x00\x2d\x80\xa2\x2e\xf4\x26\x44\x93\x1f\x7b\
+\x9f\xc7\xc7\xdd\x02\x39\x7c\x86\x22\xc3\xb2\xc5\x12\xc8\x41\x5d\
+\xe0\x4e\x30\xbd\xd2\x4d\x17\xf9\xba\xfe\xcc\xf9\x83\x75\x97\xb5\
+\x6e\x79\x7e\xfc\xe1\xaf\xaf\x7f\xfe\x7b\x9b\x5e\xfe\xfe\xec\x13\
+\xdf\x6c\xdd\xf4\x8c\x9c\x73\xeb\xb1\xf9\xcb\x3e\x98\xda\xf2\x41\
+\x77\xdd\x47\x6e\xfa\x88\x76\xfb\x62\x35\x34\x39\x08\x01\x54\x81\
+\x03\xac\x22\x23\xb4\x18\x99\xaa\x91\xfa\xe0\xeb\x09\x05\xa3\x22\
+\x2d\x41\x25\x6b\x45\xa4\xce\x91\x33\x6a\x58\x0d\xab\x81\x36\xbe\
+\x7d\x94\x85\x56\x05\x85\x8a\x42\xc5\x21\x18\x11\x03\xad\xe5\x08\
+\xd4\x0a\xac\x87\xa9\x94\x4b\x31\xa5\x98\x22\xfc\xc2\xe6\xaf\x88\
+\x7c\xaa\x66\x3d\x9a\xff\x52\x7d\x45\xa1\xa2\xe0\x8d\x04\x07\x64\
+\x8c\x9c\x39\x37\x03\x5f\x14\x52\x79\xa9\x02\x05\x61\x21\x03\xb6\
+\x64\x33\xb3\x2c\x28\x80\xe0\x32\xe4\x1d\x71\xad\x12\xbc\x58\xf8\
+\xa3\x4b\xcb\x95\xa8\x08\x00\xaa\x4d\xbb\x00\x15\x30\x80\x23\xb1\
+\x10\xd2\x00\xf1\x08\x22\x2a\xc1\xb8\x2a\xef\x1d\x91\xce\x21\x99\
+\x78\x5f\x67\x7e\x6c\x36\xfc\x6c\xf2\xac\xc5\x1d\x57\xe2\xd2\x7b\
+\x70\xdd\xd3\xbb\x5e\xf8\xde\x96\xe7\x7f\x63\xe6\xc9\x6f\xe7\xf7\
+\xbd\x8d\xeb\x9e\xc5\x39\xfb\xc3\xe4\x85\x7d\xb7\x69\x90\x4d\x0f\
+\x6c\xbb\x34\xb6\x76\x8d\x04\x0f\xdf\x47\xb5\x6c\x9b\xc4\x82\xc6\
+\xdd\x22\x60\x0f\x54\xd0\x2a\x43\x70\x90\x0c\xc2\xf1\xed\x10\x4a\
+\x93\xe6\x5b\x62\x4d\x90\x0c\x7f\xe2\xd4\xc6\x84\xe6\xc4\x09\x10\
+\x63\x44\x07\xb0\xc9\xfb\x8b\xf9\xf0\xf1\x20\x67\x60\x1c\xd8\xc1\
+\x98\xba\x35\x30\x79\x82\x18\x88\x6d\x86\x89\xdd\xfd\x62\xba\xbe\
+\xba\x60\x6c\x65\x9d\x37\xb6\xe4\x3a\xfe\x4e\x04\x6e\x75\x94\xbb\
+\xc8\x67\x30\x7d\x0e\xb6\x5d\x8b\x4b\x1f\xc1\xdd\x5f\xe7\x67\x7f\
+\x6f\xe2\x8d\xff\x6a\xdd\x8b\x3f\x9a\x7d\xe8\x37\x70\xed\x8b\x47\
+\x77\xdf\xf1\xfe\xfc\x25\x3f\x1d\xdb\x71\xb8\x35\x5d\x58\x07\x07\
+\x70\xad\xc2\x1a\x35\x57\x19\xb0\x0a\x64\x46\x1d\x93\x23\x63\x90\
+\x31\x5a\x54\xb5\xa5\xe8\x84\x95\xac\x58\xb6\x45\xdf\x55\x45\xee\
+\x43\x3c\xd4\x1b\x05\x13\x0c\x05\x43\x81\xc9\x33\x3c\xab\x27\xa9\
+\x28\x54\x24\x15\x4b\x20\x78\xa3\x62\x09\x8e\x29\xb3\xce\x39\x97\
+\xe7\xf9\x2f\xea\x32\x8b\x40\xb5\x16\x58\x1e\xb5\xfd\xf5\xf5\xb6\
+\x50\x03\x21\xaf\xf0\x8a\x52\xb4\x60\x0a\x04\x6f\xa8\x34\x5a\x70\
+\x58\x31\x7e\x99\xab\x25\x2a\x17\xbb\x5d\x93\xe7\xc6\x20\x90\xef\
+\x67\x61\xd0\xe5\x6a\xaa\xc5\x53\xe3\xb9\x0b\x2b\x46\x06\x50\x0f\
+\x00\xcc\x70\x5c\xef\x8f\x2a\x40\x00\x86\x37\x58\x36\xfc\x89\xed\
+\x7d\x98\xcd\xfe\xb8\xb5\xe9\xc3\xf9\xbd\x4b\xe7\xdc\xd6\xbd\xe9\
+\x95\xcd\x4f\x7f\x7f\xfd\xaf\xfc\xc9\xd8\xc1\x3f\xc1\x53\x3f\xc4\
+\xfd\xdf\xc7\xae\x5b\xb1\xf5\x7a\xcc\x5d\x80\xce\x96\x60\x67\x3d\
+\xb7\x7c\x94\x32\xc2\xb0\x48\x33\x2e\x6c\x16\xdc\x06\x77\x9b\x9b\
+\x1a\xef\x36\xd4\x35\x69\x23\x10\x04\x31\x41\xad\x84\x0c\x62\x50\
+\x6b\x48\x27\x12\x6b\x81\x64\xf8\x13\xa7\x36\x46\x60\x00\xa6\x28\
+\xf5\x3f\x1a\xd4\x16\x8c\xa6\xca\xc5\x62\x30\x5b\x80\x0b\x70\x09\
+\x0e\x75\x50\x00\xab\xfd\x4f\x35\x40\xa3\x64\x8c\x53\x72\x4a\x79\
+\xa0\xbc\x00\x02\x03\x1c\x9d\x01\xda\x02\x5a\x90\x4c\x85\x7c\x85\
+\x40\x8a\x76\x30\xd3\x3e\x5f\x28\x3b\x9b\x8b\xe9\x3d\xc5\xc2\x5e\
+\xec\xbe\xcb\x5e\xf3\xf4\xfc\xc3\xef\x6e\x7f\xed\x87\x67\xbd\xfd\
+\x0f\x37\xbd\xf4\xbb\xd3\xf7\xbd\x63\x6e\x7c\xe1\xe8\xee\xdb\x8e\
+\x6d\xbb\xfc\xf0\xfc\xce\x4f\xc6\xd6\x1f\x71\x73\xc7\x68\xe6\xa8\
+\x4c\x1c\x0d\x63\xcb\x92\x0d\xc4\x55\x62\x54\xc1\x02\x1b\x15\xfe\
+\x3c\xf2\x46\x9c\xd5\x28\x4e\xd0\xfc\x91\x91\x3f\x8c\x9a\x84\x00\
+\x46\x08\x2a\xa5\x88\xf7\xea\xab\xe0\xcb\x50\xf5\xb5\x1a\x48\xd9\
+\xff\x45\x5d\xe6\xe8\xde\x1e\x3a\xb9\xe3\xd1\x5f\x44\xd4\x43\xaa\
+\x7a\xa0\x84\x16\xaa\x85\x52\xa1\x19\x23\xe3\xc6\xfd\x32\x52\x80\
+\x80\xc5\x80\x95\x80\x32\x90\x57\xf6\x42\x65\x40\xd1\x47\x7f\x29\
+\x6b\xc1\x64\xa8\x48\x8f\x81\x3f\xd2\xec\x43\x1a\x3b\x94\xcd\x7d\
+\xd2\xde\xf0\xe1\xd8\xec\xc7\x93\x1b\x0e\xcf\x9e\xbd\xb8\xe9\x52\
+\x9c\xbf\x7f\xee\xa6\xa7\x37\x3c\xfa\xb5\x1d\x2f\x7e\x77\xf7\xbb\
+\x7f\xbc\xfd\xb5\x1f\x4c\x3c\xf0\x36\xae\x7c\x44\xb6\xed\x1b\xcc\
+\x5d\xb8\xdc\x39\xeb\x78\xbe\x69\x60\x27\xfb\xd4\xeb\xfb\xd6\x4a\
+\xa9\x55\x59\xc0\x97\x39\xa4\x05\xc9\x21\xb9\xc2\xd6\xaa\xc9\x28\
+\x19\x85\x41\xd1\x48\x45\x7b\x42\xb9\xda\x37\x32\xee\x22\x0d\xd0\
+\x78\x5a\xa4\x16\x0a\xb4\x49\x1b\x3f\xb1\x36\x48\x86\x3f\x71\x4a\
+\x13\x7b\x9f\x0d\x3b\x97\xfc\x1d\xcf\x71\x4c\x98\x1b\xb6\x00\x00\
+\x20\xb5\xeb\xdd\x29\xe5\x4a\xb9\x92\x53\xb2\x51\xe1\x7e\xf8\x82\
+\x16\x3e\x8e\x0c\xde\xa8\x48\xa8\xe0\x15\x81\x61\x1c\xd8\x8a\x61\
+\xcf\x28\x09\x03\x60\x00\xf4\x81\xa8\x12\xab\xd2\x86\x99\xc5\xcc\
+\x79\xd8\xb3\x1f\x37\xbf\x6c\x0f\x7c\x67\xf2\xf5\x3f\x9d\x78\xe3\
+\xcf\xa6\x0f\xfe\xc3\x99\x27\x7e\x77\xea\xde\x77\x5b\xd7\xbd\x8c\
+\x4b\x9e\x2c\xf7\x3c\x78\xd8\x2d\x1c\xce\xe6\x8f\xd9\xb9\x45\x33\
+\xbd\xc4\x9d\x82\x4d\xdd\xc0\x78\xe8\x1b\x18\x96\x2b\xd0\xe7\x75\
+\x65\x6d\xba\xb5\x98\x9c\x4c\x8b\x8c\x03\x1b\x18\x82\x21\x90\x2a\
+\xfd\xe2\xa4\x64\x99\x29\x86\xf8\x87\x9f\x89\x0e\x80\x5c\x90\x2b\
+\x72\x45\x0e\x38\x26\x6b\xd9\x5a\x66\x67\x56\xfb\xc9\xac\xbe\x7f\
+\x42\xf4\x10\x0c\x5f\xa3\xe9\x74\x10\x2c\x96\x82\xf9\x84\x7a\x47\
+\x3b\x0b\x2b\xb3\xbb\x64\xdb\x65\xe6\xbc\x1b\xf2\xcb\xee\xea\x5c\
+\x7d\x5f\xe7\xbe\xef\xcd\x3e\xfa\xf7\xa6\x5f\xfc\x2f\xa6\x5e\xfb\
+\x2f\xbb\x2f\xfd\x08\xf7\x7d\x03\x57\x3c\x86\x5d\x37\xa1\xbd\x05\
+\xed\xf5\x70\x53\x9e\xdb\x15\x73\xec\xf8\x2c\x51\xd6\x9e\xd0\xb2\
+\xd4\xc9\x5c\x2b\xcb\xad\xcd\x30\x74\x51\x90\x47\x23\xf7\x1b\x7d\
+\xf8\x16\x12\xa8\x0a\xf0\x68\x24\x85\xe2\xd5\x15\x58\x25\x0b\xd3\
+\x0c\xb2\xd0\x5a\x36\x3f\x91\x58\x0b\x24\xc3\x9f\x38\xa5\x91\x3a\
+\xfd\xdd\xf2\x50\x00\xa6\x11\xcf\xc7\x88\xc5\x5c\x35\xf9\x52\x18\
+\x2d\x8c\xfa\x46\xa2\x77\xf4\xa8\x87\xaa\xf9\x11\x03\xc4\x13\x5e\
+\x16\x16\xad\xac\x18\x54\x04\x25\x22\xb0\xab\xd8\x94\x8c\x92\x50\
+\x12\x42\xd3\xf3\xaf\x03\xf4\x20\x63\xf0\x90\x15\xa0\x20\x08\xc8\
+\x08\xe5\x25\xf7\x06\x66\x7a\x29\x5f\xbf\xe4\xb6\x0c\x7a\xe7\x87\
+\x6d\x37\xe3\xd2\x47\x70\xd3\xc1\xfc\xfe\x77\x26\x1f\x79\x77\xfe\
+\xa9\x6f\x6f\x7e\xe5\xfb\x1b\x9f\xff\xee\xc2\xa3\xef\x4c\xef\x3f\
+\xd8\xbe\xfc\x91\x95\xb3\x6f\x3d\xb4\x70\xd9\x4f\xa7\x77\xbf\x3f\
+\xbe\xed\xc3\xde\xe6\x43\xdd\xf5\x87\xda\x0b\x1f\xe5\xf3\x87\xec\
+\xdc\x47\x3c\xfb\x11\xcd\x2e\xbb\xf1\x65\x37\xbe\xec\x7a\x2b\xb6\
+\xb7\xe2\x3a\x85\xeb\x96\x59\xbb\xcc\x5a\x25\x5c\x05\xe3\xd9\x04\
+\x63\x60\x19\x96\x29\x67\xca\x7f\x61\xf3\x97\x3e\x43\xdc\x0a\x60\
+\xd8\x90\x46\x1d\xc4\x89\xb7\xa5\x77\x85\xcf\x0a\xee\xf5\x69\x7c\
+\x85\xa7\x96\xcc\xcc\x22\xcf\x1c\x37\x73\x47\x79\xee\x98\x99\xff\
+\xb8\xb7\xee\x50\x77\xe1\xc3\xd6\xdc\x4f\x5b\x73\xef\xf7\xd6\x7f\
+\x30\x73\xd6\x27\x1b\x2f\x3e\xb6\xed\x86\xde\x2d\x2f\xcc\xdc\xf1\
+\xca\xfc\x7d\x6f\xad\x7f\xf8\x9d\x75\x8f\x7f\x63\xf6\xf1\x6f\x8c\
+\x3f\xf2\xd5\xf6\xfd\x5f\xe9\x5c\xf3\x8a\x5e\xf2\x38\xb6\xde\xa2\
+\x53\x97\x84\xec\xec\xd2\x6d\xab\xdc\xc6\x60\xe7\x82\x9b\x0a\x68\
+\x0b\x94\xc5\xbb\x50\xb5\x42\x35\x11\xca\x49\xa9\x50\xae\xc0\xf7\
+\x21\x25\x9a\xbd\x53\x09\xee\x93\x29\xc1\x1e\x36\x00\x84\x40\xe8\
+\x93\x2e\x91\x1e\x37\x72\x14\xf0\x31\x7f\x3f\x83\x36\x0d\xa5\x18\
+\x40\x15\x9f\x0a\x82\xaf\x2b\x26\xb8\xde\xc7\x24\x12\x6b\x80\x64\
+\xf8\x13\xa7\x34\xae\x6e\x53\x36\x54\x86\x1f\x1e\x28\x45\xe1\x05\
+\x15\x50\x01\x15\xc5\x0f\xd4\x43\xe3\x91\x8f\xa3\xb4\x9f\x3b\xd1\
+\x0d\x60\x00\x03\xcf\xa8\xa8\xee\x1a\x5c\x40\x33\x88\x19\xae\xf8\
+\xb1\x53\x1f\x31\x24\x00\x5a\xa7\x96\x5b\x78\x8b\x8a\x7d\x1f\x83\
+\x15\x30\x83\x0d\xac\x03\xbb\x61\x49\x79\x0c\xcf\xc3\x20\x18\x0a\
+\x36\x83\xeb\x22\x1f\x43\x77\x46\x7a\xb3\xd8\xb5\x1f\xe7\xdf\x87\
+\xab\x9f\xc6\xfe\x37\xdd\x63\xdf\x9d\x7a\xe9\x47\xeb\xde\xfa\xb3\
+\x8d\xef\xfc\xe3\x0d\x2f\xfc\xc1\xc2\x97\x7f\x30\xf7\xe0\x7b\xbd\
+\x9b\x5e\xe6\x4b\x1f\x5a\xd9\x79\xd3\xe1\x0d\x97\x7f\x38\x7b\xc1\
+\x62\x67\xdd\x62\x67\xdd\x62\x7b\x61\xb1\x3d\xb7\x98\xcd\x1e\xb7\
+\x93\xc7\xed\xc4\x12\x77\x97\xb9\xbd\x62\xda\x03\xca\x06\x64\x07\
+\xb0\x25\xb8\x52\xf2\xf2\x0b\xcb\xea\x1f\x26\xf7\xd5\x36\xdf\x18\
+\x32\x86\x6c\x4c\xa9\x37\x81\x6c\x65\xdd\xc0\x76\xfa\xd9\x58\x3f\
+\x9f\x3a\xde\x9a\x39\xd2\x9e\x3f\xdc\xdd\x78\x78\x62\xdb\xe1\x99\
+\x9d\xc7\xd6\x9d\x7f\x7c\xc3\x45\xcb\x5b\x2e\x5b\xda\x72\xc5\xe0\
+\xaa\x2f\xd3\x4d\xbf\x32\x79\xe0\x5b\x1b\x5f\xfc\x07\x1b\xde\xfa\
+\xb3\x75\xef\xfc\x93\x99\x77\xfe\xc9\xf4\xdb\xff\x35\xee\x7a\x0f\
+\xb7\xbd\x8d\x6b\x5f\xc0\xde\xfb\xb1\x6d\x1f\x66\x2e\x42\x7b\x3b\
+\xb2\x2d\x70\xb1\x09\x0f\x42\x13\x73\x11\x42\x05\x78\x81\x28\x86\
+\xd5\x06\x1c\x63\x3d\xa2\xe4\xac\x30\x79\x09\xa5\x2f\x44\x45\x9b\
+\x32\x8b\x91\x05\x8d\x80\x0c\xe4\x62\x37\x3c\x03\x18\x30\x9d\xa8\
+\x7c\xf0\x29\xaf\x0a\x00\x90\x80\x05\x94\x2c\x7f\x62\x4d\x90\x0c\
+\x7f\xe2\x94\xe6\x84\xe0\x77\xed\xd8\x16\xc0\x2b\x82\xd4\x47\xbe\
+\xe1\x88\x0e\x74\x57\x67\xff\x69\x5d\x35\x6e\x45\xac\x56\x56\x0b\
+\x8b\xbe\xc1\x32\xa1\x20\x94\x80\x28\x24\x80\xc1\x5d\x98\x2e\xa8\
+\x05\x61\x20\x10\x0a\x83\xc2\x61\xa5\x65\xfa\x19\xf5\x0d\x06\x1a\
+\x06\x2a\x02\x18\x32\x5d\x93\x8f\x0b\xb7\xc1\x4d\xd3\x55\x85\x11\
+\xe4\x01\x6d\x45\x27\xa0\x15\x24\x53\x6f\xb4\x82\xae\x80\x0a\xb8\
+\xc0\x6d\x73\xd8\x4e\x1f\xb1\x33\xc7\xec\xdc\xf1\x7c\xdd\xf1\xce\
+\xd6\xc5\x89\x5d\x2b\x33\x17\x94\x0b\x97\xe1\xfc\xfb\x70\xc9\x03\
+\xb8\xf6\x89\xf6\x9d\x07\x67\x1f\x7d\x7b\xeb\xc1\xf7\x76\xbf\xf9\
+\x9b\x17\xbc\xf3\x3b\xeb\x9e\x7c\x69\xdd\xc3\xcf\xae\xbb\xf7\x89\
+\x85\x9b\xef\x5b\xb8\xfa\xa6\xb9\x8b\xae\x9a\xdd\xb5\x77\x7a\xe7\
+\xf9\x53\xdb\x76\x4e\x6c\xda\xde\x5b\xbf\xa5\x3b\xbb\xbe\x35\x31\
+\xe5\xba\x63\x9c\xb5\x91\xb5\x7e\x51\xd7\x59\x24\xe6\xf7\xd5\x05\
+\x6d\x60\x86\xb5\x30\x06\x93\x93\x98\x99\x32\xf3\xeb\xdc\xa6\x6d\
+\xad\xb3\xce\xee\xee\x39\x7f\x62\xef\x25\x73\x17\x5d\xb9\x6e\xdf\
+\x9d\x1b\x6f\xbb\x6f\xd3\xdd\x8f\x6e\x79\xe8\xb9\x4d\x4f\xbe\xba\
+\xe9\xc5\x77\x36\xbe\xfa\x6b\x1b\x5f\xff\xe6\xa6\x03\xef\xcc\xde\
+\xfd\x95\x7c\xdf\x0b\xb8\xf8\x80\x3f\x6b\x7f\x7f\xe1\xaa\xa5\xb1\
+\x73\x8f\xe7\xdb\x16\xbb\x5b\x17\xf3\x75\xcb\x6e\xba\x6f\x27\x57\
+\xb8\x57\x50\x57\xa8\x0b\x6e\x9b\xca\x1b\xef\xad\xf7\xd6\xfb\x2c\
+\x48\xa6\x12\xb3\x1f\x2c\x83\x09\x02\xf2\xca\xb5\x67\x9e\x2c\x4c\
+\x56\x92\x0d\x9c\xa9\x35\x64\xc9\x90\x77\xa8\x72\x0c\x32\x59\xc9\
+\x50\x59\x78\x03\x09\xb0\x1e\xae\x44\xbb\xa0\x6e\xc1\x5d\x04\x8b\
+\x10\x25\x11\x29\x36\x86\x1e\xba\x7c\x5c\xf3\xac\xc4\x86\x09\xb5\
+\x92\x62\x22\xb1\x06\x48\x86\x3f\x71\x6a\x33\x2a\x7a\x13\x8f\x69\
+\x60\x82\xb5\x70\x19\xf2\x0c\x6d\x8b\xb6\x41\x1b\x68\x03\x39\x28\
+\x1f\x9e\xeb\x47\xaa\xed\x19\xe4\x40\x39\xd0\x06\xba\xcd\x68\x13\
+\xda\x06\x79\xfd\x9a\x4c\x60\x53\x77\x4c\x47\x0e\x74\x50\xbf\x66\
+\x8b\x4d\x8b\x38\x03\xea\xc4\x71\x1e\x55\xa8\x1d\x7d\x63\x06\x30\
+\x0c\xb2\x20\x07\xea\x00\x5d\xa0\x07\xf4\xa6\x81\x29\x60\x02\x18\
+\x07\xc6\x81\x31\xa0\x33\x8c\x25\x73\x1b\x76\x1a\xf9\x46\x74\x76\
+\xa2\xb7\x17\xe3\x97\x61\xe2\x4a\x7f\xf1\x3b\xfe\xca\x77\xc3\x0d\
+\xbf\x19\xee\xfa\xa1\x3e\xfa\x8f\xf0\xfc\x3f\xc3\x6b\xff\x0b\xde\
+\xfc\xdf\xf0\xd5\x7f\x8d\xaf\xfe\x85\xbc\xfd\x17\xd5\x5b\xff\x66\
+\xf9\xcd\x7f\x73\xec\x8d\xbf\x3c\xfa\x95\xbf\x3c\xf2\xfa\x5f\x94\
+\x07\xff\xa7\xe2\xa5\x7f\xde\x7f\xfe\x7f\x58\x7a\xe6\x9f\x2e\x3e\
+\xf1\x8f\x8e\x3d\xfa\xa7\xc7\x0e\xfc\xd1\xb1\x07\x7e\xb4\x72\xe0\
+\x0f\x06\x0f\xfc\x5e\xff\xbe\x1f\x0c\xee\xfe\xcd\xc1\x9d\xdf\x19\
+\xdc\xfe\xcd\xe2\xf6\xf7\xca\x3b\xbe\x79\xec\x9e\xbf\x7f\xfc\xde\
+\x1f\x1e\xbf\xff\x0f\x8e\x3f\xf8\x47\xc7\x0f\xfc\xc9\xf1\x87\xff\
+\xf4\xd8\xa3\xff\xcd\xe1\xc7\xfe\xf1\xd2\x33\xff\xe3\xe2\xf3\xff\
+\xe2\xf8\x8b\xff\xf2\xf8\xc1\xff\x75\xe9\xd5\xff\xbd\xff\xda\xff\
+\x39\x78\xfd\xff\x2a\xdf\xf8\xcb\xc3\xbf\xf6\xef\x8e\xbf\xf7\xef\
+\x07\xdf\xfc\x2b\x79\xef\xff\xc1\xd7\xff\x2d\xde\xf8\x3f\xf0\xca\
+\xff\x8c\x17\xff\x19\x1e\xf8\x43\xdc\xf9\x3b\xb8\xf1\x57\x71\xe9\
+\xcb\x38\xe7\x51\x6c\xbc\x0d\xd3\xd7\x61\xfc\x4a\xe4\x73\x70\x53\
+\xa0\x2e\xe0\x2c\xa8\x0d\xf4\x9a\x3f\x7c\x2c\x5e\x77\xa0\xc3\xc8\
+\x0d\xb8\x3e\x9c\x5b\x38\x0b\x6b\x61\x2d\x4c\xdd\x68\x98\x46\x33\
+\x36\x08\x4c\x75\xe7\x02\x10\x32\x70\x06\xce\x90\x39\x64\x8c\x0c\
+\x70\x40\x8b\xb9\x33\xdc\xf0\x8d\x36\xb9\xcf\x01\x18\x17\xd3\x35\
+\x40\x76\xf8\xe2\xa3\xa3\x59\x06\x87\xb7\x3e\x91\x38\xf3\x49\x86\
+\x3f\x91\x38\x1d\xb0\x06\x99\xe3\x76\xd7\x8d\xf5\xba\xd3\x53\x93\
+\xb3\xf3\x33\xeb\x36\xcc\xad\x5f\xdf\xda\x73\x45\x7b\xf7\x15\xdd\
+\x73\xbf\x34\x7e\xee\x35\x13\x17\x5c\x37\xb5\xf7\x9a\xa9\x0b\x6f\
+\x98\xba\xe8\x86\xde\xb9\x57\x75\xf6\x5c\xd3\xdd\xf3\xa5\xce\x79\
+\xd7\x74\xce\xbb\xa6\x73\xfe\x75\xed\xf3\xaf\x6f\x9d\x77\xdd\xd4\
+\xee\x4b\x27\x77\x5f\x32\xb9\xfb\x92\xc9\x73\x2e\x9e\xdc\xbd\x77\
+\xf2\x9c\x8b\xa7\x76\xed\x9d\xdd\x75\xc1\xe4\x9e\x8b\xa7\x76\xef\
+\x9d\xdc\x75\xfe\xf8\x59\x7b\x7a\x5b\x77\xb5\xb7\xec\x6c\x6d\xda\
+\x96\x6d\xd8\xd2\xed\x76\xdb\xed\x76\x96\x65\x43\x1d\x9b\x98\xed\
+\x9f\x6e\x48\x22\x71\xfa\x92\x0c\x7f\x22\x71\x3a\x10\xb5\x80\x08\
+\x30\x0e\x2e\x47\xab\x8d\x76\x0b\x9d\x2e\x3a\xeb\xd1\xdb\x80\xb1\
+\x8d\x98\xd8\x82\xc9\x6d\x98\xde\x89\xd9\x5d\x98\x3b\x07\x1b\xf6\
+\x62\xd3\x5e\x6c\xb9\x04\x5b\xaf\xc0\xf6\xab\xb0\xfd\xca\x7a\x6c\
+\x3d\x0f\x5b\xce\xc5\xe6\xf3\xb0\x79\x37\x36\xee\xc6\x86\xb3\xb1\
+\x7e\x27\xd6\xed\xc4\xd4\x06\x4c\xac\xc7\xd8\x3a\x8c\xcd\xa1\x37\
+\x85\xd6\x04\x5a\xe3\xc8\xc7\xf2\x3c\x77\xce\x8d\x5a\xfd\x51\x91\
+\x9f\x44\x22\x71\x3a\x92\x0c\x7f\x22\x71\x0a\x71\x42\xc6\xd9\xe8\
+\xa7\x94\x10\x7b\xf1\xa9\x34\x61\x06\x0b\xd8\x58\x67\x38\x00\x0a\
+\xa6\xc2\x98\x8a\x9d\xb7\x59\xb0\xad\x60\xda\x6a\xbb\x6a\xbb\x30\
+\x3d\xd8\x71\xb8\xc9\x13\x86\x1d\x87\x8d\xff\xf6\x60\x7b\xb0\xdd\
+\x40\x6d\xe1\xdc\x1b\xe7\xd9\x56\xec\x2a\x63\x2a\x36\xde\xd8\x4f\
+\xbf\x17\x22\x66\x36\x26\x49\xdc\x25\x12\xa7\x31\xc9\xf0\x27\x12\
+\xa7\xee\xcc\x5c\x2d\x5d\xb4\xb1\x94\xc0\xc2\x18\x30\xd7\x71\x6f\
+\x82\x6b\x46\xad\x68\x48\xf5\xbe\x41\x04\x5e\x10\x14\x3e\x66\x42\
+\x02\x51\x75\xcf\x93\xad\x07\xd8\x83\x2b\x70\xac\x8b\x08\x14\x15\
+\x0d\x87\xb5\xf7\x23\xd5\xf8\x27\x92\x6e\x4d\x22\x71\x66\x2c\x2f\
+\x89\x44\xe2\x14\x21\x76\xbd\x5f\xd5\xf0\x8b\x96\xb6\xb1\xba\x23\
+\x76\x99\x18\xc4\x46\xbd\x91\xaa\x1e\xa1\x64\x29\xa3\xce\xbf\x85\
+\xb7\xa4\x06\x6a\x09\x96\xc0\x00\x93\xf2\x89\x79\x6d\xc3\x42\x47\
+\x0b\x64\x84\x8c\x9a\x44\x77\xd1\xe1\xc0\x48\xd3\x9a\xf8\x16\x42\
+\x08\xa9\x3f\x7d\x22\x71\x5a\x93\x0c\x7f\x22\x71\x4a\x4d\x48\xc1\
+\x67\x84\x63\x15\x08\x8a\xa0\x10\x50\x00\x05\x90\xc0\x48\xad\x66\
+\x1c\x40\x52\x0f\x43\x44\x60\x56\x66\x44\xed\x5a\xa2\x46\xf9\x2f\
+\x4a\xf0\x6a\x30\xc3\x9f\x94\xba\xb5\x61\x53\x30\x29\x4d\x77\x63\
+\x0f\x04\x68\x33\x00\x8c\xc8\xfb\xe0\xc4\xe6\x75\x89\x44\xe2\xf4\
+\x5c\x67\x12\x89\xc4\x29\xc7\xa7\xcc\x3f\x1b\x36\xc4\x26\x9e\xf2\
+\x41\xac\xb1\xc9\x3d\x01\x64\x56\x07\x08\x64\x41\x56\xc9\x80\xad\
+\x92\x53\xb0\x82\x03\x58\x88\x94\x58\xc9\x0c\x45\x6c\x6a\xb4\x11\
+\x48\xa8\x3c\x7c\x40\x08\x08\x80\x34\xed\x7a\x80\xa8\xea\x13\x3f\
+\x8e\x01\xfe\x14\xe3\x4f\x24\x4e\x77\x92\xe1\x4f\x24\x4e\x75\x3e\
+\xeb\x04\x18\x51\xa2\xb3\x27\x8e\xd8\x9a\x88\x05\x2c\x27\xfe\x60\
+\x54\x2b\xf8\x9c\xec\xc1\xf8\x19\x97\xc1\x3a\x58\x07\x63\xc1\x0e\
+\xec\xe2\x1e\x82\x99\xd3\x11\x3f\x91\x38\xc3\x48\x86\x3f\x91\x38\
+\xcd\x26\xe9\x89\xf9\x75\xab\xd9\x00\x54\x0f\x4f\xf0\xe6\x84\x51\
+\x0d\xc7\xa7\xd5\x87\x46\x62\xfe\xca\x9f\x33\x12\x89\xc4\x99\xbf\
+\xa6\x24\x12\x89\x53\x63\x62\xf2\x70\x86\x7e\x6a\x96\x8e\x1e\xda\
+\x69\xd5\xde\x4b\x23\x5a\x1c\x7d\x01\x61\x35\x54\x3f\x54\x35\x56\
+\xbf\x6a\xe6\xe3\xf7\x11\x94\x10\x08\xa1\xd6\xad\x5d\x1d\x31\xdb\
+\x3f\x91\x48\x9c\x91\xeb\x4b\x22\x91\x38\xa5\xa6\x24\x7f\x76\x7a\
+\xf2\xcf\x31\xff\x43\x0f\xff\x88\x80\xf0\x30\x67\xbf\x4e\x08\x00\
+\x86\xe7\x77\x1e\x6e\x02\xa2\x63\x20\xf6\x38\xe0\x26\x20\x40\x3f\
+\xe7\x7d\x24\x12\x89\x33\x6c\x95\x49\x24\x12\xa7\xd4\x94\xe4\x9f\
+\x67\x76\xf9\x33\xa3\x39\xa0\xb3\x07\x87\x7a\xd8\x38\x14\xae\x19\
+\xb9\x52\x8e\x38\x56\x5d\x02\xa3\x07\x7e\x89\x41\x01\xae\x43\x03\
+\x32\x1c\xe9\x7e\x24\x12\x67\xe4\x2a\x93\x48\x24\x4e\x69\x6a\xf7\
+\xbc\x7e\xce\x18\x45\x4f\x1c\xe1\xc4\x11\x4f\xf7\x23\x2e\x81\xcf\
+\xb4\xaa\x59\xfd\xff\x68\xf8\x20\x91\x48\x9c\x69\x24\xc3\x9f\x48\
+\x9c\xba\x7c\xda\x2c\x7f\x06\xfb\x99\x61\x3e\x6f\x8c\x58\xf8\x91\
+\xef\xd5\x13\x07\x46\x82\x02\x29\xbb\x2f\x91\x38\x73\x49\x13\x3b\
+\x91\x38\x9d\xd1\xea\xc4\xe1\xa9\x1e\xab\xa7\x76\xd2\xd5\x1d\xc0\
+\xa8\x4b\xe0\x33\x2f\x35\xcc\x03\xf8\xbb\xc2\x0d\x89\x44\xe2\x74\
+\x27\x4d\xec\x44\xe2\x14\xe2\xf3\x5d\xf0\x3f\xef\xcb\x04\x90\x3b\
+\x71\xd8\x66\x8c\x18\x6f\xfa\xfc\x17\xf8\xbc\x57\xfb\x4f\xbe\x83\
+\x44\x22\x71\xda\x93\x0c\x7f\x22\x91\x48\x24\x12\x6b\x88\x64\xf8\
+\x13\x89\x44\x22\x91\x58\x43\x24\xc3\x9f\x48\x24\x12\x89\xc4\x1a\
+\x22\x19\xfe\x44\x22\x91\x48\x24\xd6\x10\xc9\xf0\x27\x12\x89\x44\
+\x22\xb1\x86\x48\x86\x3f\x91\x48\x24\x12\x89\x35\x44\x32\xfc\x89\
+\x44\x22\x91\x48\xac\x21\x92\xe1\x4f\x24\x12\x89\x44\x62\x0d\x91\
+\x0c\x7f\x22\x91\x48\x24\x12\x6b\x88\x64\xf8\x13\x89\x44\x22\x91\
+\x58\x43\x24\xc3\x9f\x48\x24\x12\x89\xc4\x1a\x22\x19\xfe\x44\x22\
+\x91\x48\x24\xd6\x10\xc9\xf0\x27\x12\x89\x44\x22\xb1\x86\x48\x86\
+\x3f\x91\x48\x24\x12\x89\x35\x44\x32\xfc\x89\x44\x22\x91\x48\xac\
+\x21\x92\xe1\x4f\x24\x12\x89\x44\x62\x0d\x91\x0c\x7f\x22\x91\x48\
+\x24\x12\x6b\x88\x64\xf8\x13\x89\x44\x22\x91\x58\x43\x24\xc3\x9f\
+\x48\x24\x12\x89\xc4\x1a\x22\x19\xfe\x44\x22\x91\x48\x24\xd6\x10\
+\xc9\xf0\x27\x12\x89\x44\x22\xb1\x86\x48\x86\x3f\x91\x48\x24\x12\
+\x89\x35\x44\x32\xfc\x89\x44\x22\x91\x48\xac\x21\xfe\x7f\x29\x7e\
+\xba\x8c\x14\x60\x38\xc9\x00\x00\x00\x25\x74\x45\x58\x74\x64\x61\
+\x74\x65\x3a\x63\x72\x65\x61\x74\x65\x00\x32\x30\x31\x32\x2d\x31\
+\x32\x2d\x33\x31\x54\x31\x34\x3a\x35\x31\x3a\x33\x31\x2b\x30\x30\
+\x3a\x30\x30\x53\xd3\x21\x26\x00\x00\x00\x25\x74\x45\x58\x74\x64\
+\x61\x74\x65\x3a\x6d\x6f\x64\x69\x66\x79\x00\x32\x30\x31\x32\x2d\
+\x31\x32\x2d\x33\x31\x54\x31\x34\x3a\x35\x31\x3a\x31\x35\x2b\x30\
+\x30\x3a\x30\x30\x94\xe4\xba\xf4\x00\x00\x00\x11\x74\x45\x58\x74\
+\x6a\x70\x65\x67\x3a\x63\x6f\x6c\x6f\x72\x73\x70\x61\x63\x65\x00\
+\x32\x2c\x75\x55\x9f\x00\x00\x00\x20\x74\x45\x58\x74\x6a\x70\x65\
+\x67\x3a\x73\x61\x6d\x70\x6c\x69\x6e\x67\x2d\x66\x61\x63\x74\x6f\
+\x72\x00\x32\x78\x32\x2c\x31\x78\x31\x2c\x31\x78\x31\x49\xfa\xa6\
+\xb4\x00\x00\x00\x12\x74\x45\x58\x74\x78\x6d\x70\x4d\x4d\x3a\x44\
+\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x00\x97\xa8\x24\x08\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x1f\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x05\xe6\x49\x44\x41\x54\x58\x85\xc5\x96\x7f\x70\x54\xd5\
+\x15\xc7\x3f\x6f\x7f\xbc\x5d\x36\xbb\x24\xbb\xf9\x41\x42\xba\x40\
+\xb2\x06\x68\x22\xd4\x12\x53\x98\xa6\x50\xcd\x0c\x82\x56\x8b\x92\
+\x52\xd4\x42\xb5\x6a\x47\x47\x67\xfa\xeb\x8f\xda\x5a\x98\xa1\x74\
+\x68\x29\x62\x55\x86\x88\x4d\x65\xa2\xd8\x91\xa8\x84\x28\x60\x41\
+\x88\x04\x57\x63\x02\x88\xb4\x68\x24\x96\x6c\x42\x08\x31\x3f\xc8\
+\x92\x64\xc3\xdb\xec\xef\xd3\x3f\xb2\xc4\xd0\x46\xdb\x4d\x01\xbf\
+\x33\x67\xde\xbc\xfb\xee\xb9\xf7\x73\xcf\x79\xf7\xdc\xab\x88\x08\
+\x5f\xa6\x0c\x5f\xf4\xf1\xce\xbb\x7e\x68\x72\xb9\x5c\xc5\xb9\x39\
+\x53\x17\x84\x23\xe1\x1c\x04\x93\x51\x35\x76\x77\xf7\x78\x8f\x37\
+\x35\x9d\x3c\xb0\xed\xf9\xe7\x3a\xfe\x5f\x00\xe5\xf3\x22\xf0\xfb\
+\xf5\x4f\xdc\xeb\xcc\xce\x7c\x74\xf7\xeb\xd5\xd6\x57\xab\xaa\x9a\
+\x80\x33\x40\x04\x98\x34\xab\xa0\x60\xe6\xca\x95\x2b\x93\x2d\xd6\
+\xe4\xbf\xbd\x79\xa0\x66\xd5\xae\xd7\x76\x74\x5e\x36\x80\xd2\xef\
+\xdd\x95\xb4\x74\xe9\x92\xbf\xee\xd9\xfd\xfa\xbc\xca\xca\xca\x0d\
+\xc0\x3b\xf9\x05\xb3\x0d\x0b\x6e\xb8\xd1\x60\x32\x4d\xb8\x70\xee\
+\x5c\x5f\xdf\xce\x9d\xd5\xfa\x80\xd6\x73\xbd\x23\x25\xe9\x27\x7f\
+\x7a\x6a\x4b\x6e\xed\xa1\x77\x56\x3c\x5f\x51\x7e\x70\x5c\x04\x22\
+\x32\x62\x8b\x16\xdf\x66\xdc\xbe\xfd\x95\xda\x29\x4e\xa7\x1b\xc8\
+\x5f\xb3\x66\xdd\x3d\x22\xb2\x5d\x44\xb6\x89\xc8\xef\x44\xe4\x01\
+\x11\x29\x11\x11\x87\x88\xa0\x4f\x9d\x9b\x0c\xac\xdb\x52\x56\x36\
+\xf8\x83\x95\xf7\x95\x8c\x1e\xeb\x7f\xb5\x4b\x5e\x36\x6e\x7c\xf2\
+\xe9\x79\x45\x45\xef\x01\x39\x1e\x4f\xdb\x8b\x22\xd2\x26\x22\xbb\
+\x44\x64\xbd\x88\x3c\x2c\x22\x0b\x45\x24\x79\xb4\xcf\xac\x1b\x1e\
+\x51\x80\xdf\x96\x97\x97\xb7\x2e\xbe\x65\x49\x7a\xa2\x00\xba\x91\
+\x5c\x28\xca\x1c\xd5\xa0\xdc\xd1\x70\xf4\xd8\x83\x67\xbb\xb5\x5f\
+\xe5\xe6\x4e\x59\x06\x34\x03\x9d\xc0\x20\xe0\x05\x4e\x74\x41\xa0\
+\x0b\xac\xa7\xc1\xfa\xa1\x86\xb5\xa2\x6a\xb3\x71\xee\x2d\x8f\x3d\
+\xf5\x72\xe5\xcb\x2d\x85\x85\x5f\x7f\x2c\xd1\x0c\x8c\x00\x2c\x5a\
+\xb4\xe8\xa1\xb7\xeb\x4f\xd4\xac\xde\xec\x0e\x64\x67\x58\x3e\x00\
+\x9a\x00\x1f\xa0\x01\x43\xc0\x29\x1f\x28\x36\xc8\xb0\x80\x3d\x09\
+\xec\xb6\x24\xec\x8a\x8e\x49\xab\x1f\x5f\xa7\x8f\x4e\x98\x59\x6e\
+\xb7\x59\x6e\x5d\x7c\xf3\x77\xd3\x13\x06\x50\x14\xc5\x79\x7d\x61\
+\xe1\x3c\x6b\xda\xec\xda\xb5\x8f\x14\x6f\x8a\x81\x3d\x0c\x8f\xc7\
+\x27\x8f\x02\xe7\xfc\x10\x36\x43\x96\x1e\xd2\x0c\x90\x66\x82\x34\
+\x33\xa4\x99\x2d\xa4\x59\x6d\x64\x97\x2c\x79\xb8\x25\x86\x31\x98\
+\xea\x70\x7c\x2b\x11\x80\x8b\x75\x20\x3f\x6b\x72\xb6\x39\x6d\x7a\
+\xb1\x01\xc8\xd3\xc1\x54\x81\x4d\x40\x0d\x70\x0d\xe0\xd7\x41\x16\
+\xa0\xbb\x18\x32\x7d\xdc\x4c\x2a\x18\x74\x30\xc5\x95\x1f\xd0\x75\
+\xb5\x76\xda\x3c\x9f\xcc\x06\xaa\x13\x05\x98\x6c\x4f\xcd\x54\xcc\
+\x59\x39\xa9\x0c\xef\x75\x4d\x0f\xdf\x01\xea\xc2\x70\x46\xc0\xa6\
+\x03\xdb\x58\xe1\x53\x00\x45\x01\x93\x99\x40\xba\xd3\x15\xd6\xeb\
+\xf5\xc9\xe3\x89\x40\xc8\xa4\x9a\x54\x8b\xc5\x9a\x01\x84\x80\x70\
+\x7c\xec\xaf\xe9\xa1\x25\x04\x83\xba\x51\xff\xcb\x68\x09\x10\x15\
+\x50\x74\x04\x33\x1c\xa9\xf6\x60\x30\x14\x1a\x0f\x40\xc7\x79\x6f\
+\x97\x21\x23\x4f\xf7\x95\x28\x04\xf5\xc3\xed\x26\x20\x12\x81\xcc\
+\x18\xd8\x75\xc3\x40\xc4\xe2\x16\x8d\x53\x86\x43\xe0\xbf\x00\x16\
+\x95\xb0\x45\x8d\x66\xf5\xf5\xf5\x9f\x1a\x0f\xc0\x27\x07\xde\xdc\
+\xdb\x51\xb2\xe4\xfe\xfc\x8f\xbb\x18\xca\xcf\x64\x62\x14\x24\x06\
+\x6a\x18\x54\x1d\xc4\x22\xa3\x57\x0c\x04\x81\x00\xc3\x93\xf7\xf7\
+\x23\xd7\x3a\x31\x7e\xea\x39\x65\xf5\x9e\xef\xaf\x4f\x18\x40\x44\
+\x3a\x15\x45\x79\xe3\x89\x4d\xde\x5f\x77\x0d\xa6\xb6\x34\x9b\x49\
+\x4a\x4e\xc1\x0c\x44\x74\x10\xd1\x83\xe8\xe3\x0e\x17\x57\x3f\x04\
+\x68\x7e\xf0\x7a\x21\x1a\x22\x56\x30\x99\xac\x55\xcf\x1c\x78\xff\
+\x50\xed\xfe\x8f\x13\x01\xf8\xac\x24\xc2\x35\x0f\x3d\xf8\x63\x4f\
+\x48\x24\xf6\xc6\x71\xd1\xea\xce\x88\xff\x84\x4f\xb4\xa6\x88\x68\
+\x6d\x22\xda\xd9\xb8\xb5\x89\x68\xcd\x51\xd1\xfe\xee\x13\xad\xc6\
+\x23\x5a\xc5\x5b\xa2\xf5\x04\x65\xc8\xed\x76\x87\xb2\x9d\xd3\x6e\
+\x4c\xb4\x12\x5e\x72\x18\x29\x8a\x72\xdf\x6b\xd5\xd5\xcf\xde\x7a\
+\xfb\xed\xc6\xdd\x47\x21\xac\x83\xf4\x54\xb0\xd9\xc0\xa0\x0e\xf7\
+\x89\x46\x61\x48\x83\x73\xbd\x30\xd0\x07\x0b\x8b\xc0\x16\xf3\x73\
+\xd3\x4d\x0b\xf7\xd5\xd7\xd7\xdd\x9c\xd0\xea\xe1\x3f\x00\x8c\xc0\
+\xa3\xaf\x54\x56\xae\x5e\xb6\x7c\xb9\xfa\x41\x3b\xfc\xf3\xcc\x70\
+\xc8\x0d\xea\xf0\x36\x08\x87\x41\xa2\x90\xe5\x80\x92\x02\xf0\x78\
+\x5a\x62\x47\x8f\x1e\x8b\xe5\xb8\x5c\x91\xdc\x69\x53\x0f\x39\x52\
+\xed\x7f\xd0\xeb\x74\xee\x84\x53\x30\x2a\x15\x2a\x70\x7f\x69\x69\
+\x69\x73\x47\x47\xb7\x88\x88\x0c\x44\x45\xda\x7c\x22\xad\x03\x22\
+\x3d\x21\x19\x51\x59\x59\x99\x06\xfc\x06\xf8\xf9\x47\x8d\x4d\xf2\
+\xe4\xa6\xcd\xd2\xdd\xd3\x3b\x14\x89\x44\x1f\x18\x57\x0a\x2e\x09\
+\x8d\xa2\x7c\x15\xf8\xfe\x9c\xeb\xae\x5b\x7c\x47\x69\x69\xde\x8c\
+\x19\x33\x6c\xaa\xaa\xea\x3a\x3b\x3b\x02\x07\x6b\x0e\x9e\x7d\xb5\
+\xaa\xaa\x16\xf8\x8b\x88\x1c\x57\x14\x65\xf2\x9a\xb5\x6b\x77\x3b\
+\x9d\xd3\xe6\x34\x1c\x3e\xcc\x2f\x7e\xf6\x53\x66\xce\xc8\xdb\x78\
+\xbe\xbf\xff\x97\x8e\x94\x94\x2f\xbc\xf3\x7d\x2e\x40\x1c\x42\x01\
+\x1c\xc0\x94\xf8\x53\x01\xfa\x80\xd3\x22\xe2\xfd\xb7\xbe\x0b\xb6\
+\x56\x54\xbc\xe0\x1b\xf4\x4f\x6b\x6f\x6f\xe7\xce\xe5\xcb\x28\x2a\
+\x9c\xb3\x43\xf3\xfb\xef\x4d\xb2\x58\xb4\x71\x01\x24\x2a\x45\x51\
+\x96\xee\xda\xb3\x67\x6b\xcb\xe9\xf6\x94\x50\x30\xc0\xbc\xb9\xdf\
+\x60\x7e\xf1\x37\xdf\x0e\x85\xc2\x4b\x55\xd5\x78\x7e\x2c\x9f\x31\
+\xcb\xeb\x78\x25\x22\x3b\x57\xdc\x7d\xf7\x9f\x67\x15\x14\x84\x26\
+\x26\x4f\xe4\x74\x5b\x3b\xef\x35\x1c\xfe\xb6\xaa\x1a\xf7\xf5\xf7\
+\xfb\x32\xaf\x38\x00\x80\xcf\xe7\x5b\xf5\xa3\x7b\x56\x54\x5c\x5b\
+\x90\x2f\x46\xa3\x81\x40\x20\xc0\x3f\x3e\x6c\x2c\x4a\x49\x99\x58\
+\xf5\x69\x57\x97\x7d\x2c\xea\xcb\x6e\xc0\x84\xe9\xd3\xa7\x6f\x7b\
+\xb7\xae\x5e\xf6\xee\xaf\x91\xc6\xc6\x93\xd2\xec\x69\x95\x50\x28\
+\xe2\xf6\xb4\xb6\x5d\x72\xa5\xbb\x22\x00\x71\x08\xab\xcb\x95\xf7\
+\xa2\xfb\xdd\x3a\xa9\x6b\x38\x22\x3d\x3d\xbd\xd2\xd9\xdd\x23\x03\
+\x3e\xdf\xbe\xfa\x86\x23\x13\xae\x38\xc0\x67\x10\xae\x6d\xee\xba\
+\x3a\xf9\xa8\xf1\xa4\x84\x22\x11\x19\xf0\xf9\xa4\xb7\xd7\xbb\xe3\
+\xc8\xfb\xc7\x92\xaf\x38\x40\x1c\xc2\x92\x9d\x9d\xbd\xf5\xad\x43\
+\xee\x88\xa7\xb5\x4d\xa2\xf1\x22\xf6\x6c\x79\xf9\x1f\xaf\x0a\x40\
+\x1c\xc2\x9c\x9e\x9e\xbe\x65\xef\xfe\x9a\xa0\xef\x82\x26\xeb\x37\
+\x6c\x38\x06\x64\x5e\x35\x80\x38\x84\xd1\x66\xb3\x3d\x5d\x3c\x7f\
+\xfe\x4b\xc0\xa4\x8b\xed\x97\xb5\x10\xfd\x37\x29\x8a\x62\x89\xef\
+\x3c\xff\x48\xdb\xd5\x04\x18\x4b\xff\x02\xd4\x0b\x2a\x1c\x3a\xea\
+\xb0\x7f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x05\x25\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd3\x0a\x1a\x16\x3a\x2d\x55\xb7\x36\xb5\x00\x00\x00\x1d\x74\x45\
+\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\
+\x64\x20\x77\x69\x74\x68\x20\x54\x68\x65\x20\x47\x49\x4d\x50\xef\
+\x64\x25\x6e\x00\x00\x04\x89\x49\x44\x41\x54\x78\xda\xbd\x96\xcf\
+\x6b\x1d\x55\x14\xc7\xbf\x93\xbc\x24\x8f\x97\x5f\x2f\xa6\xa9\x0d\
+\x69\x93\xa5\x28\x6a\x40\xed\x4a\x41\xa8\xd5\x65\x45\xd0\xff\xc0\
+\xb5\xb8\x10\x97\x42\x37\xe2\xa2\x22\xee\xb4\x7f\x80\x5d\x35\x6e\
+\x44\x41\x30\x12\xac\xab\x0a\x6d\x08\xd8\x8a\x29\x54\x1a\x9a\xe6\
+\x19\xdb\x97\xf7\x63\xde\xcc\x3d\x3f\xae\x8b\x7b\xdf\xfc\xca\x4c\
+\x21\x85\xe6\xc2\xe5\xde\xb9\x73\x67\xce\xf7\x9e\xf3\x39\x67\x26\
+\xc0\x63\xda\xd5\xb5\xdf\x2c\x11\x83\x8c\x20\x08\x00\x66\x01\x33\
+\x83\x28\x1d\xf3\x73\x06\x73\x76\xcc\xaf\x11\x09\x5a\xfb\x07\x78\
+\xf4\xb0\x8b\xcd\x9b\x97\x03\x00\xa8\x55\x19\x5f\x5b\xbb\x66\xdf\
+\x78\xf3\x65\x30\x2b\x44\x15\xa7\x4f\xcd\x01\x00\xb6\xfe\xda\xc9\
+\xed\x7b\xe9\xb9\xd3\x38\x4a\xfb\x69\x63\x0b\x6c\x08\x5f\x7d\x31\
+\x6d\x7f\x5d\xff\x32\xa8\x14\x40\xcc\x88\x62\x42\x3f\x8c\xc1\x92\
+\x0a\x38\xfb\xee\x45\x2c\x2e\x34\x51\xaf\x8f\xa1\x3e\x31\x86\x1b\
+\x3f\x5c\x3c\x92\x80\xed\x7f\x5a\x10\x11\x9c\x7b\xfb\x35\xdc\xfa\
+\xf3\x7d\x5b\x2d\x80\x04\x22\x0a\x62\x37\x0e\xdb\x64\x63\x02\xaf\
+\xbc\xb8\x82\xb9\x99\x06\x9a\xb3\x0d\x1c\xb5\xb1\x7f\x9f\x31\x06\
+\xb5\xda\x48\x75\x08\x98\x05\x2c\xea\x3a\x4b\xb2\x3e\x3e\x56\xc3\
+\xe2\xc9\x26\x9a\x33\x0d\x34\x67\x9e\x4c\x00\x8b\xa2\xdd\xee\x40\
+\x55\xf1\x18\x0f\x30\x44\xd5\x79\x42\x53\x0f\x9c\x5a\x98\xc5\xe2\
+\xc9\x59\x2f\x60\xf2\xc8\x02\x88\x05\x9d\x83\x2e\x06\x61\x04\x55\
+\x8b\xe0\x69\xd3\x7e\xf3\xc6\xb7\x39\x01\x9f\x7e\xfe\x1d\xc2\x6e\
+\x1f\x9d\xbd\x7d\xfc\xfc\xe3\x1f\xa8\x3d\x6d\xda\xcf\xbd\xf5\x09\
+\xd6\x7f\xb9\x04\x55\x45\xab\xd5\x46\xaf\xd3\x03\x31\x83\x0c\xb9\
+\x10\x1c\x07\xed\x8b\x8b\x1f\xe0\xeb\x6f\x3e\x46\xbf\x1f\xc1\x18\
+\x06\x33\xc3\x18\x82\xb5\x16\xb5\xe3\xa2\x7d\xfd\xf7\x2d\x17\x46\
+\x62\x10\x33\x0c\x11\x54\x2d\x6a\xc7\x45\xbb\x89\x9d\x61\xf6\x9d\
+\x28\xf1\xc0\xf1\xd0\x6e\x88\x9c\x61\xf6\xb0\x1a\x76\x02\x98\x05\
+\xc2\x0a\x96\x7c\x08\xde\x7b\xe7\x55\xac\x3e\xbf\x8c\xa9\xc6\x04\
+\xa6\x26\xeb\x47\x16\xd0\x6e\x77\x10\x76\xfb\x88\x7d\xac\x9f\x9d\
+\x9f\x01\x31\xe3\xee\x4e\x0b\x4c\x2e\x04\xce\x03\xcc\x60\x91\xc4\
+\x65\xc3\xf6\xd9\x47\x17\xf0\x24\xad\x8a\xf6\x0b\xe7\xcf\x82\x59\
+\x70\xe9\xf2\xf7\x3e\x5d\x7d\x16\x30\x09\x44\x2c\x88\x15\x22\x8a\
+\xbf\xef\xee\x41\xd5\x42\xad\x85\xf5\xa3\xaa\xc2\x5a\xf8\x75\x85\
+\xb5\x36\xd9\xa3\x6a\x93\x6b\x22\xc2\xfe\xbf\xed\x52\xda\x8b\xb5\
+\x83\x89\x33\x59\xa0\x0e\x40\x51\xc5\xad\xed\xdd\xdc\xb5\x78\x40\
+\xb3\xa3\x9b\x3b\xe1\x2c\xee\xa5\xdd\x4e\x1f\xfd\x5e\x3f\x2d\x60\
+\x05\xda\x73\x02\xc4\x89\x4b\x43\xc0\xe2\xc3\xe0\x8a\x51\x95\x21\
+\x29\x08\x89\x0d\xa1\xdf\x0b\x11\xf6\x43\x6f\xc0\x55\xd3\x32\xda\
+\x6f\xdf\x7e\x80\x95\x95\x67\x40\x4c\x10\x76\x7b\x1c\x84\xde\x03\
+\x2e\x04\x52\x7a\x62\xce\x88\x89\x63\x83\x38\x36\x18\x84\x11\xe2\
+\x98\x52\xc3\xc4\x60\x4a\x8d\x17\x69\x5f\x58\x98\x4a\xf6\x48\xde\
+\x03\x92\xd4\x00\x11\xc5\xfc\xdc\x14\x54\x15\xa2\x36\x19\x4d\x4c\
+\x88\x22\x83\xc1\x20\xc2\x58\x30\x86\x89\xd1\x00\x8d\xb1\x51\x67\
+\x84\x24\x13\x5b\x6f\xb4\x84\xf6\x5e\x6f\x80\xe9\xe9\x09\x30\x53\
+\xf2\xad\x49\xeb\x80\x3f\x1d\xb3\xe2\xfc\xeb\x2f\x24\x44\x8b\x28\
+\xc2\x30\x46\x1c\x1b\xff\x90\xdb\xe3\xc4\x4a\x66\x4d\x0e\xdd\x2f\
+\xd2\xde\xed\x46\xa8\xd7\x47\xfd\x57\x36\x23\x60\x78\xf2\x62\x21\
+\x8a\x63\x42\x18\x46\xb9\x97\x0e\xbb\x88\xf8\x1f\x16\x29\xbd\x5f\
+\x46\xfb\x89\x13\x93\x0e\x4e\x61\xa8\x08\x84\x33\x59\xc0\x99\x38\
+\x5b\x6b\x7d\x1a\x51\xe9\x8b\xf3\x42\xaa\xef\x17\x69\xdf\xde\x6e\
+\x61\x69\x69\x16\xc2\x8e\x01\x11\x06\x90\x0d\x81\x7f\xb0\xd7\x1b\
+\xe0\xfa\xf5\x7b\x2e\x23\x44\x12\x30\xf3\x63\x6a\xbc\xec\x5e\x19\
+\xed\xf3\xf3\x0d\xef\x15\x4a\x42\x9e\x40\x38\xfc\x1a\x86\xfd\x08\
+\x51\x44\x58\x5e\x9e\x2d\xc4\x59\x0b\x31\xd7\x43\x0c\x64\x0f\x51\
+\x46\xfb\xc8\x48\xe0\x43\x20\x50\x1e\x86\x60\x14\x35\x26\x06\x8b\
+\x62\x30\x88\x11\x0e\x22\x30\x33\xda\xed\x30\x73\xc2\xbc\xc1\xaa\
+\xeb\xe1\x5c\x44\x4a\x69\xbf\x7f\xff\x1e\x44\x04\xfd\xd6\x03\xa8\
+\x5a\x70\x1c\xc3\xda\x86\xf3\x00\x31\xa3\xd7\x0b\x93\xdf\xa9\x76\
+\x7b\x90\x73\x6b\xd6\xd5\xd9\xd0\xe4\xd7\xd3\x79\x19\xed\x57\xae\
+\x5c\x83\xb5\x40\xe7\xe1\x08\x00\xc0\xda\x06\x44\x36\x82\x1a\x91\
+\xb8\xa2\x62\x0c\x98\x04\xc6\x30\xce\x9c\x99\x29\x4d\xad\x62\x26\
+\x54\x41\x59\x46\xfb\xce\xce\xd5\xa0\xec\xe3\x55\x23\x43\x88\xa2\
+\xd8\xfd\x30\xf8\x62\xb2\xb9\xb9\x0b\x11\x81\x6a\xd6\xb5\x5a\xf0\
+\x4a\xea\x09\xd5\xfc\x5a\x19\xed\x55\xad\x16\x1b\x02\x91\xb8\xb4\
+\x23\x27\x62\x69\x69\xfa\x50\x8e\x67\x4f\x9c\x05\x2e\xeb\xfe\xb4\
+\x46\x1c\xa6\xbd\x52\x80\x23\x96\x7d\xde\x3b\x06\xc6\xc7\x47\xc0\
+\x6c\x11\x04\xc3\x1e\x20\x08\x46\xfc\x49\xdc\x1a\x10\x00\x08\x10\
+\x04\x41\x32\xb7\xd6\xf5\x32\xda\x2b\x05\x98\x81\x41\xef\xbf\x47\
+\xe8\xec\xb6\x40\xcc\xb8\x73\x67\xfb\x50\x8e\x33\x6b\x09\x6c\x5a\
+\x5a\x0f\x86\x61\x28\xd2\x5e\xd5\x02\x00\x58\x5d\xfd\xd0\x1e\x1c\
+\xf4\x60\x0c\xa3\xd9\x6c\x24\xbf\x66\xd6\x5a\xdf\x91\xb8\x31\x7f\
+\x9d\xce\x8b\x6b\x7b\x7b\xfb\x7e\x3f\x20\xb2\x11\x54\x09\xf8\x1f\
+\x7a\x09\xcc\x18\xfc\x59\xc6\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+\x00\x00\x0d\xfb\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x64\x00\x00\x00\x27\x08\x06\x00\x00\x00\xf9\x2e\xed\x96\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
+\x06\x62\x4b\x47\x44\x00\xfb\x00\xf9\x00\x47\x94\x0a\x46\x5f\x00\
+\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\
+\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x06\x0b\
+\x0b\x24\x29\x1e\xab\x03\xcd\x00\x00\x00\x19\x74\x45\x58\x74\x43\
+\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\x64\x20\x77\
+\x69\x74\x68\x20\x47\x49\x4d\x50\x57\x81\x0e\x17\x00\x00\x0d\x56\
+\x49\x44\x41\x54\x68\xde\xed\x9a\x7b\x74\x54\xd5\xbd\xc7\x3f\xfb\
+\xcc\x3b\x93\x64\xf2\x24\x04\x88\x90\x84\xf7\x9b\x40\x80\x10\x40\
+\x82\xd2\x28\xb0\x08\x74\xe1\xad\x8a\xae\x5b\x64\xd9\xca\x2d\x85\
+\xeb\xab\x55\xeb\xd5\xe5\x6a\x57\x7d\xb4\x5d\xb7\xda\x7b\x6b\xab\
+\xb5\x42\x45\xb8\x6a\x6b\xf1\xc1\x3b\x18\xa8\x08\x42\x78\x06\x42\
+\x48\xb8\x91\x84\x24\x10\x08\x79\xce\x64\x1e\x99\x99\xb3\xef\x1f\
+\x73\x72\x92\x21\x09\x25\xb5\x4b\x6e\xed\xfc\xfe\x99\x99\x75\xf6\
+\xd9\x67\x9f\xfd\xfd\x3d\xbe\xbf\xef\x1e\xe1\xf7\xe5\x4b\x22\xf6\
+\xff\xc6\x94\xc8\x16\x44\x00\x89\x58\x04\x90\x08\x20\x11\x8b\x00\
+\x12\x01\x24\x62\x80\xaa\x8a\xbf\xeb\x7c\xc6\x7f\x84\x97\x0e\x04\
+\x0d\x74\x04\x4c\x58\x4c\x1d\x18\x14\xf5\xa6\xaf\xe7\x17\x7f\x5e\
+\x85\xdb\x6b\xc3\xe5\xb5\x61\x35\x77\xf0\xdc\x8a\x97\xbf\xfe\x80\
+\x5c\x68\x48\x65\xed\x6f\x9e\xc5\xd7\x61\xa1\x23\x68\xc2\x6a\xf2\
+\xf1\xce\x93\x6b\x88\xb6\x7a\x6e\xea\xba\x8e\x57\x8e\x65\xdb\xe1\
+\x3c\x10\x02\xa4\xe4\x99\x7b\x5f\xf9\xe7\x88\x90\xb7\x3f\x59\x8a\
+\xd3\x13\x83\x44\x22\x10\xcc\x1e\x57\x7c\xd3\xc1\x00\xd8\xb8\xb7\
+\x00\x29\x04\x02\x88\x8d\x72\x31\x63\xd4\x89\xaf\x0e\x10\x29\xa1\
+\xb4\x7a\x24\x8d\xce\x38\xbc\x7e\x0b\x6e\xaf\x8d\x76\x9f\x0d\xb7\
+\xcf\x86\xdb\x6b\xa3\xcd\x63\xc7\xe3\xb3\x21\x25\xa4\x25\xd7\x33\
+\x7d\xe4\x09\xb2\x47\x9e\xfa\xd2\x8b\xf2\xf9\x4d\xec\x3b\x3d\x03\
+\x90\x08\x00\x09\xdf\xbe\xfd\x4f\x37\x1d\x8c\x56\x77\x34\x95\x17\
+\x87\x22\x50\x41\x0a\xa6\x8d\x28\xc1\x6a\xee\xb8\xee\x3d\x17\x1b\
+\x07\x50\x7a\x61\x04\x55\x97\xd3\xf0\xfa\x4d\xdc\x92\x7c\x89\x39\
+\xe3\x8a\x49\x88\x69\xed\x3f\x20\xfe\x80\x89\xe7\x36\xad\xa5\xb9\
+\xdd\x81\x54\x01\xd1\x9d\x03\x48\x40\xe8\x9f\x87\x2b\x24\xef\x7f\
+\x96\xcf\xfc\xc9\x07\x78\xe2\xae\x57\x31\x28\x7f\xbb\x22\x73\xa8\
+\x7c\x0a\x1d\x41\x23\x82\x50\x5a\x48\x4f\xbd\x40\x6a\x42\xc3\xcd\
+\x2b\xdc\x52\xd0\xd8\x16\x47\xe1\xf1\xd9\xb4\xb9\x63\x10\x02\x10\
+\x92\x46\x67\x1c\xcf\x6e\x5c\x47\xb3\xcb\x81\xcb\x1b\xc5\x6f\xd6\
+\x3c\x8d\xd9\x18\xd0\xeb\xde\x0b\xef\xad\x66\x7f\x69\x16\xfe\xa0\
+\xa9\xd3\xb5\x40\x0a\xde\xfa\x64\x19\xaf\xad\x7d\x92\x84\xe8\xb6\
+\xfe\x01\x52\xdd\x30\x88\x46\x67\x1c\x42\x08\xe8\x41\x26\x44\xd8\
+\xa7\x10\x21\x60\xf6\x9c\xc8\x25\x3f\xeb\x53\xa6\x8d\xf8\xdb\x23\
+\x65\xfc\xd0\x72\x36\x3c\xf2\x18\x76\x8b\x07\xab\xd9\x47\x94\xc5\
+\xdb\xef\x39\x3c\x1d\x16\x7c\x1d\x66\x3c\x1d\x56\x4c\x46\x3f\x49\
+\xb1\x2d\x00\x34\xb4\x26\x70\xb6\x36\x83\xb2\x9a\xe1\x94\xd7\xa4\
+\x53\xd7\x94\x4a\xab\x2b\x06\xa1\xa8\x0c\x8c\xbb\xca\xdc\x09\x87\
+\xb8\x3f\x6f\x0b\x06\x43\x17\x79\xf8\xd1\x86\xc7\x38\x5c\x3e\x29\
+\xe4\x7a\x42\xea\xef\x7c\xe2\x8b\x71\xa1\x6f\x42\x72\x57\xee\x76\
+\x1d\x8c\xb2\x9a\x4c\x9e\xdd\xb8\x8e\xab\x6d\x09\x21\xf0\x3a\x5d\
+\x57\x0a\x84\x50\x69\x76\xc5\xb1\xeb\xe8\x5c\xee\xbe\xf5\xe3\xfe\
+\x01\xf2\xee\xa7\x8b\xe8\x9b\xd4\x49\x2d\x38\x44\x18\x83\x16\xc0\
+\xbe\xd3\x33\xbe\x14\x20\x09\x31\xad\xbd\x86\x74\x93\x33\x96\xab\
+\x6d\x89\x34\x39\x1d\x34\xb6\xc5\x93\x3f\xf5\x2f\x18\x0d\xc1\x1e\
+\xe3\x9e\x58\xff\x38\x27\x2a\xc7\x82\x00\x7f\xc0\xc8\x6f\xd7\x3c\
+\x4d\x52\x6c\x0b\x35\x0d\xa9\x3c\xf8\xab\xe7\xf1\x07\x14\x90\x8a\
+\xb6\x76\x6d\x83\x03\x50\xdd\x30\x98\x3f\xec\xf9\x26\x46\x45\xe5\
+\xbe\xf9\x5b\x42\x69\xaa\x3d\x86\x43\xe5\x93\x11\x22\x54\xcb\xba\
+\x3b\xa4\x10\x20\x91\x98\x94\x00\xf7\xe4\x7d\x00\x40\x5d\x63\x0a\
+\xeb\x7e\xfb\x0c\x41\xd5\x00\x42\x90\x18\xd3\x48\xc1\xcc\x42\xea\
+\x1a\x07\xb2\xe3\xe8\x1c\x90\x21\xe7\xbe\xd8\x94\xd2\xbf\x94\xd5\
+\xe1\x37\xb1\xb7\x64\x66\xe7\xfd\x00\xc4\x47\xb7\xb0\x34\x67\x17\
+\x76\xab\x9b\x28\x8b\x97\x76\x6f\x14\x9b\xf6\x16\xd0\xec\x8a\xed\
+\x8a\x18\x21\x69\x75\x45\x77\xcd\x13\x30\xd2\xd8\x16\x8f\xdb\x67\
+\xc5\xed\xb3\x21\x84\x64\xfc\xd0\x73\x34\x39\x1d\x14\x9e\xc8\x65\
+\xdf\xa9\xe9\x5c\x6c\x1c\xc8\x43\x8b\xde\x26\x3f\xeb\x53\xca\x6a\
+\x32\xf9\xd9\x1f\xbf\x43\x50\x35\xd0\xee\xb3\x11\x1b\xd5\xce\x6b\
+\xdf\x7f\x12\x45\xa8\x3c\xb3\xf1\x51\xce\x5c\xc8\x44\x08\x81\x22\
+\x02\xcc\x9b\xf8\x39\x46\x43\x78\xa1\x2f\x3c\x31\x8b\xc3\xe5\x93\
+\x3a\x49\x10\xdf\x5b\xfc\x16\xc3\x07\x55\x87\x52\x61\xc5\x24\xfc\
+\x01\x63\x68\xad\x42\x82\x94\x1a\x1c\x52\x5b\x7e\x68\x93\x77\x1c\
+\x9b\xad\x03\xf2\xf1\xe1\x3c\x0c\x4a\x00\x04\xa8\xaa\x11\x29\x25\
+\x66\x83\x9f\xd1\x69\x95\x44\x5b\x3d\x58\x2c\x5e\x32\x06\xd6\xe0\
+\x88\x72\x51\xd3\x90\xca\x03\xbf\x7c\x1e\x55\x86\xc6\x2d\x99\x59\
+\xc8\xbf\x17\xbc\xa9\x45\xac\x99\x7d\xa7\x66\xe0\xf5\x5b\x00\x30\
+\x19\x02\xfd\x03\xe4\xf8\x17\x63\x51\xa5\x42\x28\x42\x43\x5c\x27\
+\x7b\xc4\x49\xee\xd3\x3c\x01\x1d\xa4\x56\x7e\xbc\xf9\xfb\x5d\x81\
+\x02\x24\x3b\x9a\xf4\xef\xeb\x0b\xef\xe2\xdd\x4f\xef\xd4\x37\xa8\
+\x60\x66\x21\x66\xa3\x9f\xc7\xde\x78\x0a\x97\xc7\x86\x10\x0a\x56\
+\x93\x87\xc9\x19\x67\x00\x78\x73\xf7\x5d\x54\x35\x0c\xd1\xaa\x93\
+\x64\x79\xee\x76\x3d\x0a\x02\xaa\xa2\xe3\x6e\xb3\xf8\x30\x28\xc1\
+\x1e\x4e\xf4\xc6\xce\x6f\xe9\x51\x3b\x2c\xa5\x96\x25\x33\x0a\xbb\
+\xc0\x3a\x3e\x1b\x81\xe4\xce\x69\x45\x4c\x1f\x59\x42\x4a\xfc\x55\
+\x8c\x86\x00\xaf\xef\xb8\x9b\x43\x15\x93\xb5\xa9\x25\xb1\x36\xb7\
+\x7e\x4f\xc1\xcc\x42\x16\x65\x17\xb1\xf2\x3f\x7f\x46\x9b\x27\x06\
+\x21\x04\x63\x87\x9d\xe3\x17\xab\x7e\xaa\xa5\xea\xae\xe7\xbf\xf0\
+\xde\x6a\x1d\x8c\xcc\xd4\x0b\x3a\x18\x00\x6e\x6f\x14\x41\xb5\xab\
+\x06\x0f\x4d\xa9\xed\x1f\x20\x07\xca\xb2\x90\x12\x84\x10\x21\x2f\
+\x92\x92\x45\xd3\xf7\xf6\x18\x67\x35\xfb\xc2\x16\x25\xa5\x60\xfc\
+\xb0\x72\xfd\xf7\xf6\x23\x73\x51\xa5\x21\x04\x2c\x10\x54\x15\x56\
+\xff\xf7\x4f\xf4\xb9\x41\x32\x28\xb1\x81\xc4\x98\x16\x9a\x9c\x0e\
+\x4a\xce\x8f\x42\x84\x2e\x62\x32\xf8\xb9\x33\x3b\xf4\xcc\x60\x50\
+\xc1\x28\x82\x7a\xda\x30\x1b\x3b\xb4\x7c\xde\x65\x2f\x7f\xf4\xaf\
+\x5c\x6e\x49\xd4\xd6\x13\xe4\x99\x7b\x5e\xc1\x64\x0c\x81\xd6\xee\
+\xb5\x71\xc7\xd4\xbd\x2c\x7c\x68\xaf\x9e\xeb\x3b\xed\xbb\x77\x6e\
+\xe6\x70\xf9\x24\xad\xb7\x80\xac\xe1\xa5\xfa\xb5\x68\x9b\x9b\xe2\
+\x73\x13\x68\x73\xc7\x20\x85\x44\x48\xb8\x3f\x6f\x4b\xd8\x3b\x03\
+\x6c\x39\xb8\x80\xb3\xb5\x99\x3a\x48\x93\xd2\xcb\x78\x63\xd7\x72\
+\xda\xdc\x31\x38\x3d\x76\xae\xb4\x24\xe1\x0f\x9a\xf4\xf1\x13\x86\
+\x96\xdf\x38\x20\x52\xc2\xe9\xaa\x91\xda\x86\x85\x42\x3a\x31\xb6\
+\x89\xf1\x43\x2b\x7a\x8c\xdd\x71\xe4\x56\xbd\x57\x90\xa8\x58\x4d\
+\x1d\x8c\x1a\x72\x1e\x80\x93\x5f\x8c\xa1\xad\x3d\x46\x4b\x09\x42\
+\x03\x68\x9e\x06\x86\xf6\x20\x21\xb8\x75\xfc\x21\x8c\x86\x20\xa5\
+\x17\x46\x10\x08\x1a\xf5\x28\xc8\xca\x3c\x83\x23\xca\xa5\x93\x06\
+\x5f\xd0\xa4\x3f\xcb\x64\x08\x84\x01\x52\x5c\x31\x91\xed\xc5\xf3\
+\x42\xe9\x48\x4a\x1e\x5f\xfe\x3b\x86\xa5\xd4\xe9\xd7\xed\x56\x0f\
+\x4b\x73\x0a\xc3\xa2\xa9\xa1\x2d\x9e\x96\xf6\x58\x3e\x3c\xb8\x40\
+\x7f\xa6\x04\x96\xe6\xec\x0a\x07\x7a\xcb\x03\x9d\x55\x03\x87\xbd\
+\x95\x29\x99\x67\xc2\xae\xb7\xb8\x62\x78\x75\xfb\xbd\x48\x29\x43\
+\x7b\x26\xe1\xfd\x83\xf9\x08\x2d\xdf\x4b\xad\xde\x0a\x2d\x2d\x26\
+\xc5\x34\x92\x3e\xb0\x1f\x11\x72\xa1\x61\x10\xd5\x57\x06\x77\x43\
+\x48\x70\xfb\x94\x03\x3d\xc6\x55\x5d\x1e\xcc\xfe\x33\xd9\x08\x24\
+\x52\xaa\x08\x21\x18\x39\xe4\x3c\xa9\xf1\x57\x00\x78\xff\x40\xbe\
+\x56\x83\x3a\x8b\x27\x04\x55\xc1\xd2\x9c\xdd\xe4\x8c\x3e\x86\xc3\
+\xee\xa2\xf4\xc2\x70\xe6\x4f\x3a\x08\x40\x51\x49\x0e\x52\x2a\x74\
+\x86\xd3\xec\x71\xc5\xfa\xb3\x82\xaa\x12\x2a\x88\x5a\x0d\x36\x9b\
+\xfc\x21\xa0\x35\x7b\x75\xeb\x0a\x2d\x2d\x4a\x32\x06\x55\xb3\x60\
+\xf2\xfe\xb0\xb5\x7a\x3b\xcc\xec\x39\x91\xcb\x81\xb2\x2c\x4e\x55\
+\x8d\xc2\xe5\x8d\xea\x91\x72\x40\x92\x96\x74\x89\x38\x7b\x17\x1d\
+\x2d\xaf\x4d\xe7\x52\x73\x72\x28\x6d\x4b\xc1\xaa\xfc\x77\x7b\xc9\
+\x26\x53\x09\xf8\xcd\x9a\x83\xc8\x2e\xf6\x29\x40\x51\x02\xd8\x2d\
+\x5e\x6c\x16\x0f\xd1\x56\x37\x16\x53\x07\xdf\xb9\x63\x73\xff\x1a\
+\xc3\x5d\xc7\xe7\x20\xbb\xe9\x8e\x46\x83\x9f\xb9\xe3\x0f\x87\x8d\
+\xf9\xdf\x8b\x43\x79\x62\xfd\xe3\xdd\x18\x47\xc8\x33\x9f\xbe\xfb\
+\xbf\x10\x02\xda\xdc\x76\x4a\xaa\x46\xeb\x29\xa6\x33\x86\x7e\xbe\
+\xea\x05\x26\x67\x94\xe9\xf3\x8c\x1c\x7c\x5e\xf7\xd8\x83\x67\xb2\
+\x74\x30\x40\x30\xb3\x5b\x17\x2c\x04\x04\x55\x83\x1e\xb5\x66\x43\
+\x40\xdf\xcc\xdf\xed\xfc\x16\xd5\x0d\x83\x01\x81\xa2\x04\x79\x69\
+\xe5\x8b\x61\xb4\xb5\xea\xf2\x60\x1e\x7d\xfd\x29\x5a\xdc\x71\x61\
+\xf3\xf5\xc6\x1c\x73\xc6\x1c\x0f\x63\x6e\xbb\x8e\xcf\xd1\xd7\x13\
+\x65\xf1\xf4\xca\x1e\x0f\x94\x65\xe9\xa4\xc0\x6c\xf4\xf1\xf3\x55\
+\xcf\x13\x17\xdd\x4a\x6c\x54\x3b\x16\x53\xa8\xd6\x29\xda\x7b\x09\
+\xd1\xcf\x4e\x3d\x10\x34\xb0\xb7\x24\x27\x6c\x91\x42\x91\x6c\x3d\
+\x94\xc7\x87\x07\x6f\xc7\xe5\xb3\x73\xa9\x71\x00\x95\xf5\x69\xdd\
+\x26\x97\x48\x09\x6b\x97\x6c\xd0\xf9\x7e\xd5\xe5\x34\x5c\x1e\x5b\
+\x58\x1e\xfc\x8f\x7b\x7e\x15\x06\x46\x77\xdb\x5a\x3c\x0f\x5f\xd0\
+\xa4\xc5\x92\x60\x5c\x5a\x05\x89\xda\x5c\x21\x55\x55\x21\xa8\x2a\
+\x7a\xf8\x1b\x0d\x01\x04\x92\x8a\xba\x74\x36\xef\x5b\x02\xa8\x48\
+\x09\x8f\x2c\x7d\x93\xf8\x6e\x0d\xd7\x91\x73\x13\x78\x6a\xc3\xa3\
+\x04\x55\x93\xb6\x0c\x49\xee\x98\xa3\xa4\x26\x5e\x61\x80\xa3\x89\
+\x6d\x47\x6e\xa5\xfa\x4a\x9a\x3e\x7e\x61\x76\x51\xf8\x66\x9f\xc9\
+\xd2\xa3\x72\xe4\xe0\xf3\xa4\xc4\x35\xf6\x58\xfb\xe9\xea\x11\xfa\
+\xf7\x31\x69\x95\x8c\x1b\x7a\xae\xd7\x77\xfc\xf8\x70\x1e\xdf\x98\
+\xb2\x1f\xb3\xc9\x7f\xe3\x80\x54\x5e\xba\x85\xfa\xe6\xa4\x30\xbe\
+\xed\x0f\x98\xd9\x76\x74\x7e\x58\x0b\x22\x84\xec\xea\xd5\x25\x2c\
+\x9b\xb5\x9b\xa5\x39\xbb\xf5\x21\x45\x25\x33\x51\xa5\x51\xbf\x61\
+\xea\xf0\x52\xe6\x4d\x3c\xd4\xe7\x42\xb6\x16\xcf\xef\xe2\xf9\x52\
+\xf2\x6f\x8b\xdf\xba\xb6\xeb\x41\x4a\x45\xa7\xe0\x26\x93\x1f\x83\
+\x41\xe5\xd7\x5b\x57\xe8\x69\x35\x2d\xb9\x9e\x45\xd3\x8b\xc2\x72\
+\xfb\x8f\x37\xaf\x21\xa8\xd5\xa5\xc4\x98\x46\x7e\xff\xf0\x0f\x75\
+\x4d\xcc\xd3\x61\xe1\xd7\x5b\xef\xd3\x6b\xd1\x94\xcc\x52\x6e\x49\
+\xbe\xa4\xdf\x7f\xac\x72\x2c\x57\x5a\x92\x74\x21\xf1\xda\xda\xd2\
+\x49\xeb\xf5\xee\x1d\x68\x6e\x8f\x0d\xab\xc5\x3e\xbf\x99\xcf\xcb\
+\xa7\xf0\xd2\x7b\x0f\xb2\x20\xeb\x33\x16\x4f\x2f\xea\x5f\x84\x94\
+\x54\x8d\x0e\x57\x46\x7a\x33\xad\x5b\x15\x48\xe2\xec\x2d\x3c\x78\
+\xc7\x3b\xdc\x31\xf5\x2f\x61\x43\x8a\x4a\x66\x76\xe5\x53\x09\x8b\
+\xa7\xef\xe9\x73\x11\xf5\xcd\x49\x5c\x6c\x1a\xa0\x35\x9b\x92\xf8\
+\x68\x27\x63\xd2\x2a\xaf\x91\x2f\x14\x02\x41\x45\x4f\xcf\x76\xb3\
+\x87\x3f\x7d\x96\xcf\xa9\xf3\xa3\x41\x40\x94\xd5\xcd\x2b\xdf\x7d\
+\x2e\xbc\x27\x39\x99\x8b\xd3\x63\xd7\xd9\xdc\xea\x45\x9b\xc2\x04\
+\xca\x97\x3f\xf8\xb6\x0e\x86\x94\x70\xf7\xdc\x8f\xc2\xee\x5f\xbf\
+\x7b\x79\x98\x20\x51\x5c\x31\x91\x26\x67\x1c\x4e\x8f\x9d\x65\xb3\
+\x76\x86\xe6\x92\xdd\xdb\x45\xc9\x85\xcb\x83\x79\xf8\xb5\xa7\x49\
+\x72\x34\xd1\xe4\x8c\xe3\x8b\xfa\x21\xb4\xb9\x63\x11\x42\xe5\xde\
+\x79\x1f\xf6\x5f\x5c\x3c\x50\x36\x55\x2f\x48\x9d\x1b\xa4\x4b\x58\
+\x5a\x4f\xa2\x08\x49\xb2\xa3\x89\xa5\x39\xbb\x28\x98\x51\xd8\x23\
+\x04\xf7\x97\x4e\xa3\xcd\x13\xad\x17\x73\xa3\xd1\x7f\x5d\x55\xb4\
+\xa2\x2e\x1d\x6f\x87\x45\x97\x68\x7a\x1d\x2b\x75\xa9\x11\x09\x5c\
+\x6c\x19\xc0\xeb\x3b\xee\xd1\x93\xf2\xea\x85\x9b\x70\xd8\x9d\xe1\
+\x8a\x71\x51\x81\xbe\x59\x52\x42\x7a\x4a\x4d\x58\xfa\xd8\x75\x6c\
+\x8e\xce\x7c\x92\x1d\x4d\x61\x4e\xa0\x4a\xc1\xf9\xcb\x43\xc2\xbc\
+\x72\xeb\x91\x3c\x90\x82\x21\x49\xf5\xfc\xcb\x9c\xad\xa1\x5a\x66\
+\xf2\x93\x96\x7c\x91\x9a\xab\x83\x74\xe4\x42\x4e\x2d\x74\x35\x43\
+\x08\xc9\xc4\x61\xe5\x24\xc5\x36\xf5\x0f\x10\x6f\x87\x99\xd3\x55\
+\x23\xc3\x36\x21\x7b\x54\x09\xb7\x4d\x3c\x80\xd5\xe2\x23\xda\xea\
+\x26\x36\xca\x49\x52\x6c\x33\x0e\xbb\xab\xcf\x49\x77\x1c\x9b\xd3\
+\x6d\xeb\x60\x71\x76\xd1\x75\x55\xd1\x4d\x7b\x97\x68\x1b\x13\x4a\
+\x83\xb9\x63\x8f\xf6\x22\xf0\x29\xa8\xaa\x41\xa7\x9f\xb5\x57\x52\
+\xf5\x68\x9d\x30\xac\x8c\x85\xd9\x7b\x7b\x28\xb3\xad\xed\xb1\xba\
+\x62\x2c\x04\xfc\xf2\x83\x07\xc8\x4c\xad\xe6\x6c\x4d\x06\x67\x6b\
+\x87\xeb\x60\x48\x60\xdc\x2d\xe5\xd8\xbb\x45\x8f\xa2\x39\x5e\x67\
+\x7d\xec\x8c\x32\x21\x24\xb7\x4d\xfa\x0c\x4b\x37\x27\x5c\x57\xf0\
+\x26\xcf\xbf\xf3\x3d\x1a\x5d\x71\xc8\xce\xe2\x2d\x25\x03\xe2\xae\
+\x32\x6d\xc4\x69\x66\x8f\x2b\x66\xc6\xa8\x93\xfd\x97\xdf\xb7\x1f\
+\x9d\x87\xaa\x77\xc3\xa1\xc8\x58\x96\xb3\xbb\x5f\x9a\x7f\xbb\xd7\
+\x46\x45\x4d\xa6\xee\x2d\x52\x4a\x96\xce\xda\xd5\xb7\xa4\xdd\x1e\
+\xc3\xb9\xba\x74\x64\x67\x07\x6e\xf2\x31\x73\xf4\xf1\xde\x02\x84\
+\xa0\x2a\xba\x49\x34\xa1\x0d\x8a\xb6\xb6\xf3\xe2\xca\x97\xfa\x9c\
+\x5f\x74\x95\x25\x4e\x55\x8d\xa6\xe4\xfc\x28\xe2\xa2\x9d\x2c\xcf\
+\xdd\xc6\x1f\xf7\x2f\xd4\x8b\xe0\xca\x05\x3d\xe5\xfd\x67\xef\x7d\
+\x85\x9f\xbc\xb3\x06\xb7\xd7\x82\xa2\x80\x40\xc5\x68\x50\x59\x36\
+\x6b\x67\xd8\xb8\x29\x99\x65\x6c\x7c\xfc\x61\xce\xd6\x66\x50\xdf\
+\x92\x8c\xc3\xe6\x22\x6d\xc0\x45\x06\x25\x5c\xf9\x72\xe7\x21\x1f\
+\x7d\x7e\x5b\x37\xed\x4a\x62\x50\x02\x8c\x1e\x52\xd9\xaf\x09\xeb\
+\x9b\x93\xb9\xea\x8c\xd7\xea\xa0\x4a\x5a\x72\x3d\xa9\xf1\x7d\x4b\
+\xe7\x9b\xf7\x2d\xd6\xbd\x1e\x29\x59\x34\xfd\x93\x5e\x8f\x69\xa5\
+\x54\x90\xea\xb5\xf2\x3f\xac\x5e\xf4\x76\x98\xb7\x76\x9a\x23\xca\
+\xc5\xe8\x21\x95\x94\xd7\x65\x74\x15\x01\x29\x99\x36\xe2\x14\xeb\
+\x0a\xd6\xf3\xa3\x0d\x8f\x32\x2c\xa5\x86\x84\x98\x56\x52\x13\x1a\
+\x48\xeb\x56\xcc\x3b\x2d\x6b\x78\x29\xff\xf3\x83\xb5\xb8\xbc\x51\
+\xd8\x2c\x5e\x6c\x66\x5f\x9f\xef\x61\x36\xf9\x99\x98\x5e\xce\x44\
+\xca\xff\x3e\x07\x54\x97\x5b\x12\xa9\x6b\x1a\xd0\x95\x73\x51\x18\
+\x35\xe4\x7c\x8f\xbc\xfc\xd7\xec\xcf\x07\xbe\xa1\x4b\xd4\x42\x08\
+\xc6\xa4\x55\xf6\xaa\xc8\x86\xce\x5b\x0c\x1c\x3c\x9b\xd5\xe5\xf4\
+\x8a\xca\x92\x19\x7b\xfa\x3c\x93\x50\xa5\xa2\xb3\x0d\x29\x05\x13\
+\x33\xca\x7a\x90\x89\xee\xf6\xc2\xca\x17\x79\x75\xdb\x0a\xca\x6b\
+\x32\x49\x72\x34\x72\xff\xfc\x0f\x98\xa0\xc9\x3a\xeb\x1f\xf9\xc1\
+\x0d\xbd\x8f\xd9\xe4\x27\xc1\xd4\xfa\x95\x9d\xbd\x18\xbb\x37\x7a\
+\x81\x80\x51\x8f\x71\x21\xb9\x21\x56\x70\xad\x6d\x3b\x92\xa7\x01\
+\xa2\x82\x54\x58\x94\xdd\x37\xcd\xab\x6f\x49\xa6\xf6\xea\x40\x6d\
+\x83\x21\x35\xbe\x91\x81\x7d\x44\x93\xd9\xe0\x67\xf9\xec\x6d\x44\
+\xdb\xdc\x38\xec\x4e\x6c\x26\x2f\x93\xaf\x91\x30\xae\xb5\xd8\xa8\
+\x76\x7e\xb8\xfc\x35\xfe\x91\xcc\xd8\xc5\x8c\xb2\x91\x74\xf1\x7c\
+\x83\x21\x10\xd6\x29\xdf\x88\xed\x3b\x3d\x5d\x63\x16\xa1\xbc\x67\
+\x36\xfb\x74\x8f\xec\xfd\x78\x33\x85\x6f\xce\xda\xc9\xa0\xc4\xcb\
+\x0c\x8c\x6b\x20\x63\x60\x6d\x9f\xd1\x64\xb3\xf8\x58\x91\xf7\x21\
+\x5f\x77\xd3\x01\xd9\x7d\x22\x37\xac\xad\xef\x8d\xe9\xfc\x35\x93\
+\xaa\xe0\xa1\x85\x6f\x13\x67\x6f\xc3\x11\xe5\x22\xc9\x71\x7d\x9a\
+\x37\x63\xd4\xc9\x1b\x66\x1f\xff\x2c\x66\xec\x3c\xfb\x90\xaa\x20\
+\xda\xe6\xc2\x60\x50\x31\x28\x41\x72\xc7\x1e\xe9\xf7\x64\xd7\xeb\
+\xc4\x23\x76\x63\x26\xfc\xbe\x7c\xd9\xec\x8a\xc5\xe7\x37\x63\x33\
+\x7b\xb1\x9a\x7d\xbd\xb2\x96\x88\x7d\x85\x11\x12\xdf\xcb\xbf\x1f\
+\x22\x76\x73\x2c\xf2\xdf\xde\x08\x20\x11\x8b\x00\x12\x01\x24\x62\
+\x11\x40\xbe\x26\xf6\x7f\x3d\xc1\x5e\x79\x92\xa1\xfe\x8d\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x01\x6e\x1f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x32\x22\
+\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\
+\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x37\x20\x72\x32\x32\x35\
+\x38\x33\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x32\x35\
+\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x32\x35\
+\x30\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\
+\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x75\x70\x70\x65\x72\x5f\x69\x6d\
+\x70\x6c\x61\x6e\x74\x2e\x73\x76\x67\x22\x3e\x0a\x20\x20\x3c\x6d\
+\x65\x74\x61\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x6d\x65\x74\x61\x64\x61\x74\x61\x38\x22\x3e\x0a\x20\x20\x20\
+\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\
+\x6d\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\
+\x6c\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x79\x70\x65\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x72\x65\
+\x73\x6f\x75\x72\x63\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\
+\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\
+\x79\x70\x65\x2f\x53\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\
+\x69\x74\x6c\x65\x3e\x3c\x2f\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\x63\x3a\x57\x6f\x72\x6b\
+\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\
+\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\x3e\x0a\x20\
+\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x64\x65\x66\x73\x36\x22\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\
+\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\
+\x69\x3a\x74\x79\x70\x65\x3d\x22\x69\x6e\x6b\x73\x63\x61\x70\x65\
+\x3a\x70\x65\x72\x73\x70\x33\x64\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\x22\
+\x30\x20\x3a\x20\x30\x2e\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\
+\x79\x3d\x22\x30\x20\x3a\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
+\x3a\x76\x70\x5f\x7a\x3d\x22\x31\x20\x3a\x20\x30\x2e\x35\x20\x3a\
+\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\
+\x69\x6e\x3d\x22\x30\x2e\x35\x20\x3a\x20\x30\x2e\x33\x33\x33\x33\
+\x33\x33\x33\x33\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\
+\x31\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\
+\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\x6d\
+\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x70\x61\x67\x65\
+\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\x66\x66\x66\x66\x66\x22\x0a\
+\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\
+\x3d\x22\x23\x36\x36\x36\x36\x36\x36\x22\x0a\x20\x20\x20\x20\x20\
+\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\
+\x22\x0a\x20\x20\x20\x20\x20\x6f\x62\x6a\x65\x63\x74\x74\x6f\x6c\
+\x65\x72\x61\x6e\x63\x65\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x20\
+\x20\x67\x72\x69\x64\x74\x6f\x6c\x65\x72\x61\x6e\x63\x65\x3d\x22\
+\x31\x30\x22\x0a\x20\x20\x20\x20\x20\x67\x75\x69\x64\x65\x74\x6f\
+\x6c\x65\x72\x61\x6e\x63\x65\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\
+\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x73\x68\x61\
+\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x77\x69\x64\
+\x74\x68\x3d\x22\x31\x33\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x37\x32\x32\x22\x0a\x20\x20\x20\x20\
+\x20\x69\x64\x3d\x22\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x34\x22\
+\x0a\x20\x20\x20\x20\x20\x73\x68\x6f\x77\x67\x72\x69\x64\x3d\x22\
+\x66\x61\x6c\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x32\x22\x0a\x20\x20\
+\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x78\x3d\x22\
+\x31\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x79\x3d\x22\x31\x32\x36\x2e\x37\x36\x34\x32\x34\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\
+\x77\x2d\x79\x3d\x22\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x6d\x61\
+\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x0a\x20\x20\x20\x20\
+\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\x65\x6e\
+\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x73\x76\x67\x32\x22\x20\x2f\
+\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x67\x32\x38\x31\x38\x22\x0a\x20\x20\x20\x20\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2e\
+\x35\x39\x33\x31\x36\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x2d\x37\x32\
+\x2e\x39\x36\x38\x31\x39\x31\x2c\x33\x33\x2e\x30\x30\x30\x30\x30\
+\x32\x29\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x63\x64\x63\x62\x63\x63\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x31\x32\x32\x2e\x32\x36\x33\x37\x35\
+\x2c\x32\x31\x34\x2e\x32\x38\x32\x34\x32\x20\x63\x20\x31\x2e\x35\
+\x32\x30\x30\x36\x2c\x2d\x30\x2e\x32\x32\x39\x38\x36\x20\x33\x2e\
+\x37\x37\x30\x30\x36\x2c\x2d\x30\x2e\x32\x32\x33\x37\x31\x20\x35\
+\x2c\x30\x2e\x30\x31\x33\x36\x20\x31\x2e\x32\x32\x39\x39\x34\x2c\
+\x30\x2e\x32\x33\x37\x33\x36\x20\x2d\x30\x2e\x30\x31\x33\x38\x2c\
+\x30\x2e\x34\x32\x35\x34\x32\x20\x2d\x32\x2e\x37\x36\x33\x37\x35\
+\x2c\x30\x2e\x34\x31\x37\x39\x32\x20\x2d\x32\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x30\x30\x38\x20\x2d\x33\x2e\x37\x35\x36\x33\x31\x2c\x2d\
+\x30\x2e\x32\x30\x31\x37\x32\x20\x2d\x32\x2e\x32\x33\x36\x32\x35\
+\x2c\x2d\x30\x2e\x34\x33\x31\x35\x37\x20\x7a\x20\x6d\x20\x31\x34\
+\x2e\x38\x31\x39\x35\x38\x2c\x2d\x32\x2e\x35\x37\x32\x38\x37\x20\
+\x43\x20\x31\x33\x37\x2e\x33\x31\x32\x35\x2c\x32\x31\x31\x2e\x35\
+\x34\x39\x38\x20\x31\x33\x39\x2e\x33\x2c\x32\x31\x30\x2e\x31\x36\
+\x37\x33\x33\x20\x31\x34\x31\x2e\x35\x2c\x32\x30\x38\x2e\x36\x33\
+\x37\x34\x20\x6c\x20\x34\x2c\x2d\x32\x2e\x37\x38\x31\x37\x31\x20\
+\x2d\x33\x2e\x34\x36\x32\x32\x33\x2c\x33\x2e\x30\x37\x32\x31\x36\
+\x20\x43\x20\x31\x34\x30\x2e\x31\x33\x33\x35\x35\x2c\x32\x31\x30\
+\x2e\x36\x31\x37\x35\x33\x20\x31\x33\x38\x2e\x31\x34\x36\x30\x35\
+\x2c\x32\x31\x32\x20\x31\x33\x37\x2e\x36\x32\x31\x31\x31\x2c\x32\
+\x31\x32\x20\x63\x20\x2d\x30\x2e\x35\x32\x34\x39\x34\x2c\x30\x20\
+\x2d\x30\x2e\x37\x36\x36\x39\x34\x2c\x2d\x30\x2e\x31\x33\x30\x37\
+\x20\x2d\x30\x2e\x35\x33\x37\x37\x38\x2c\x2d\x30\x2e\x32\x39\x30\
+\x34\x35\x20\x7a\x20\x4d\x20\x31\x30\x32\x2e\x38\x37\x32\x34\x34\
+\x2c\x32\x30\x36\x2e\x32\x35\x20\x63\x20\x2d\x31\x2e\x32\x34\x33\
+\x38\x37\x2c\x2d\x31\x2e\x35\x38\x36\x30\x36\x20\x2d\x31\x2e\x32\
+\x30\x38\x35\x2c\x2d\x31\x2e\x36\x32\x31\x34\x33\x20\x30\x2e\x33\
+\x37\x37\x35\x36\x2c\x2d\x30\x2e\x33\x37\x37\x35\x36\x20\x30\x2e\
+\x39\x36\x32\x35\x2c\x30\x2e\x37\x35\x34\x38\x35\x20\x31\x2e\x37\
+\x35\x2c\x31\x2e\x35\x34\x32\x33\x35\x20\x31\x2e\x37\x35\x2c\x31\
+\x2e\x37\x35\x20\x30\x2c\x30\x2e\x38\x32\x33\x30\x34\x20\x2d\x30\
+\x2e\x38\x32\x31\x31\x39\x2c\x30\x2e\x32\x39\x33\x33\x31\x20\x2d\
+\x32\x2e\x31\x32\x37\x35\x36\x2c\x2d\x31\x2e\x33\x37\x32\x34\x34\
+\x20\x7a\x20\x6d\x20\x2d\x34\x2e\x38\x35\x37\x31\x32\x37\x2c\x2d\
+\x37\x2e\x34\x32\x32\x34\x35\x20\x63\x20\x2d\x30\x2e\x30\x31\x35\
+\x38\x36\x2c\x2d\x31\x2e\x37\x33\x32\x30\x39\x20\x33\x2e\x33\x34\
+\x34\x30\x35\x37\x2c\x2d\x33\x2e\x31\x37\x33\x35\x36\x20\x31\x30\
+\x2e\x32\x32\x35\x39\x33\x37\x2c\x2d\x34\x2e\x33\x38\x37\x31\x31\
+\x20\x32\x2e\x30\x35\x37\x36\x39\x2c\x2d\x30\x2e\x33\x36\x32\x38\
+\x36\x20\x33\x2e\x35\x36\x34\x33\x35\x2c\x2d\x30\x2e\x39\x34\x37\
+\x39\x20\x33\x2e\x33\x34\x38\x31\x34\x2c\x2d\x31\x2e\x33\x30\x30\
+\x30\x39\x20\x2d\x30\x2e\x32\x31\x36\x32\x32\x2c\x2d\x30\x2e\x33\
+\x35\x32\x31\x39\x20\x34\x2e\x35\x31\x32\x37\x32\x2c\x2d\x30\x2e\
+\x36\x35\x39\x35\x36\x20\x31\x30\x2e\x35\x30\x38\x37\x35\x2c\x2d\
+\x30\x2e\x36\x38\x33\x30\x34\x20\x37\x2e\x38\x30\x31\x30\x32\x2c\
+\x2d\x30\x2e\x30\x33\x30\x35\x20\x31\x30\x2e\x39\x30\x31\x38\x36\
+\x2c\x30\x2e\x32\x39\x36\x36\x35\x20\x31\x30\x2e\x39\x30\x31\x38\
+\x36\x2c\x31\x2e\x31\x35\x30\x33\x35\x20\x30\x2c\x30\x2e\x37\x36\
+\x36\x32\x36\x20\x2d\x31\x2e\x35\x37\x36\x30\x34\x2c\x31\x2e\x31\
+\x33\x39\x32\x35\x20\x2d\x34\x2e\x34\x30\x35\x38\x38\x2c\x31\x2e\
+\x30\x34\x32\x36\x38\x20\x2d\x32\x2e\x34\x32\x33\x32\x34\x2c\x2d\
+\x30\x2e\x30\x38\x32\x37\x20\x2d\x34\x2e\x32\x33\x36\x31\x35\x2c\
+\x30\x2e\x31\x32\x33\x32\x39\x20\x2d\x34\x2e\x30\x32\x38\x37\x2c\
+\x30\x2e\x34\x35\x37\x37\x34\x20\x30\x2e\x34\x31\x34\x31\x37\x2c\
+\x30\x2e\x36\x36\x37\x37\x20\x2d\x39\x2e\x37\x34\x35\x33\x36\x2c\
+\x31\x2e\x38\x36\x38\x31\x36\x20\x2d\x31\x38\x2e\x38\x37\x33\x30\
+\x33\x2c\x32\x2e\x32\x33\x30\x30\x35\x20\x2d\x33\x2e\x38\x31\x30\
+\x34\x34\x2c\x30\x2e\x31\x35\x31\x30\x38\x20\x2d\x36\x2e\x31\x32\
+\x36\x34\x31\x36\x2c\x30\x2e\x37\x33\x34\x33\x33\x20\x2d\x36\x2e\
+\x37\x33\x34\x36\x38\x35\x2c\x31\x2e\x36\x39\x36\x30\x36\x20\x2d\
+\x30\x2e\x37\x38\x34\x36\x31\x37\x2c\x31\x2e\x32\x34\x30\x35\x36\
+\x20\x2d\x30\x2e\x39\x32\x39\x34\x33\x33\x2c\x31\x2e\x32\x30\x38\
+\x38\x31\x20\x2d\x30\x2e\x39\x34\x32\x33\x39\x32\x2c\x2d\x30\x2e\
+\x32\x30\x36\x36\x34\x20\x7a\x20\x6d\x20\x31\x36\x2e\x37\x31\x33\
+\x38\x35\x37\x2c\x2d\x33\x2e\x34\x33\x31\x37\x32\x20\x63\x20\x2d\
+\x30\x2e\x33\x33\x32\x33\x2c\x2d\x30\x2e\x33\x33\x32\x32\x39\x20\
+\x2d\x31\x2e\x31\x39\x34\x38\x2c\x2d\x30\x2e\x33\x36\x37\x38\x31\
+\x20\x2d\x31\x2e\x39\x31\x36\x36\x37\x2c\x2d\x30\x2e\x30\x37\x38\
+\x39\x20\x2d\x30\x2e\x37\x39\x37\x37\x33\x2c\x30\x2e\x33\x31\x39\
+\x32\x32\x20\x2d\x30\x2e\x35\x36\x30\x37\x38\x2c\x30\x2e\x35\x35\
+\x36\x31\x38\x20\x30\x2e\x36\x30\x34\x31\x37\x2c\x30\x2e\x36\x30\
+\x34\x31\x36\x20\x31\x2e\x30\x35\x34\x31\x36\x2c\x30\x2e\x30\x34\
+\x33\x34\x20\x31\x2e\x36\x34\x34\x37\x39\x2c\x2d\x30\x2e\x31\x39\
+\x32\x39\x33\x20\x31\x2e\x33\x31\x32\x35\x2c\x2d\x30\x2e\x35\x32\
+\x35\x32\x32\x20\x7a\x20\x4d\x20\x31\x34\x35\x2c\x31\x39\x38\x2e\
+\x30\x35\x39\x30\x32\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x31\x37\
+\x35\x34\x20\x30\x2e\x34\x34\x34\x38\x35\x2c\x2d\x31\x2e\x32\x31\
+\x35\x39\x32\x20\x30\x2e\x39\x38\x38\x35\x35\x2c\x2d\x31\x2e\x35\
+\x35\x31\x39\x34\x20\x30\x2e\x35\x36\x36\x38\x36\x2c\x2d\x30\x2e\
+\x33\x35\x30\x33\x34\x20\x30\x2e\x37\x33\x34\x35\x2c\x30\x2e\x30\
+\x35\x31\x31\x20\x30\x2e\x33\x39\x33\x30\x31\x2c\x30\x2e\x39\x34\
+\x30\x39\x38\x20\x43\x20\x31\x34\x35\x2e\x37\x31\x36\x37\x37\x2c\
+\x31\x39\x39\x2e\x31\x38\x30\x34\x38\x20\x31\x34\x35\x2c\x31\x39\
+\x39\x2e\x34\x39\x37\x34\x35\x20\x31\x34\x35\x2c\x31\x39\x38\x2e\
+\x30\x35\x39\x30\x32\x20\x7a\x20\x6d\x20\x2d\x31\x2e\x34\x39\x32\
+\x39\x32\x2c\x2d\x37\x2e\x30\x34\x37\x35\x37\x20\x63\x20\x2d\x30\
+\x2e\x33\x35\x30\x33\x34\x2c\x2d\x30\x2e\x35\x36\x36\x38\x36\x20\
+\x30\x2e\x30\x35\x31\x31\x2c\x2d\x30\x2e\x37\x33\x34\x35\x20\x30\
+\x2e\x39\x34\x30\x39\x38\x2c\x2d\x30\x2e\x33\x39\x33\x30\x31\x20\
+\x31\x2e\x37\x33\x32\x34\x32\x2c\x30\x2e\x36\x36\x34\x37\x39\x20\
+\x32\x2e\x30\x34\x39\x33\x39\x2c\x31\x2e\x33\x38\x31\x35\x36\x20\
+\x30\x2e\x36\x31\x30\x39\x36\x2c\x31\x2e\x33\x38\x31\x35\x36\x20\
+\x2d\x30\x2e\x35\x31\x37\x35\x34\x2c\x30\x20\x2d\x31\x2e\x32\x31\
+\x35\x39\x32\x2c\x2d\x30\x2e\x34\x34\x34\x38\x35\x20\x2d\x31\x2e\
+\x35\x35\x31\x39\x34\x2c\x2d\x30\x2e\x39\x38\x38\x35\x35\x20\x7a\
+\x20\x4d\x20\x39\x36\x2c\x31\x38\x34\x2e\x35\x35\x39\x30\x32\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x37\x39\x32\x35\x34\x20\x30\x2e\x33\
+\x35\x33\x35\x37\x31\x2c\x2d\x31\x2e\x36\x35\x39\x35\x31\x20\x30\
+\x2e\x37\x38\x35\x37\x31\x34\x2c\x2d\x31\x2e\x39\x32\x36\x35\x38\
+\x20\x30\x2e\x34\x33\x32\x31\x34\x33\x2c\x2d\x30\x2e\x32\x36\x37\
+\x30\x38\x20\x30\x2e\x37\x38\x35\x37\x31\x35\x2c\x30\x2e\x33\x38\
+\x31\x33\x36\x20\x30\x2e\x37\x38\x35\x37\x31\x35\x2c\x31\x2e\x34\
+\x34\x30\x39\x38\x20\x30\x2c\x31\x2e\x30\x35\x39\x36\x32\x20\x2d\
+\x30\x2e\x33\x35\x33\x35\x37\x32\x2c\x31\x2e\x39\x32\x36\x35\x38\
+\x20\x2d\x30\x2e\x37\x38\x35\x37\x31\x35\x2c\x31\x2e\x39\x32\x36\
+\x35\x38\x20\x43\x20\x39\x36\x2e\x33\x35\x33\x35\x37\x31\x2c\x31\
+\x38\x36\x20\x39\x36\x2c\x31\x38\x35\x2e\x33\x35\x31\x35\x36\x20\
+\x39\x36\x2c\x31\x38\x34\x2e\x35\x35\x39\x30\x32\x20\x7a\x20\x6d\
+\x20\x36\x2e\x34\x35\x38\x36\x36\x2c\x2d\x33\x2e\x36\x32\x35\x39\
+\x20\x63\x20\x2d\x30\x2e\x33\x36\x32\x36\x35\x2c\x2d\x30\x2e\x35\
+\x38\x36\x37\x39\x20\x2d\x30\x2e\x30\x35\x31\x37\x2c\x2d\x30\x2e\
+\x39\x35\x37\x39\x36\x20\x30\x2e\x36\x39\x30\x39\x39\x2c\x2d\x30\
+\x2e\x38\x32\x34\x38\x32\x20\x30\x2e\x37\x34\x32\x36\x39\x2c\x30\
+\x2e\x31\x33\x33\x31\x33\x20\x33\x2e\x31\x35\x30\x33\x35\x2c\x2d\
+\x30\x2e\x32\x36\x31\x30\x38\x20\x35\x2e\x33\x35\x30\x33\x35\x2c\
+\x2d\x30\x2e\x38\x37\x36\x30\x32\x20\x35\x2e\x39\x31\x32\x32\x36\
+\x2c\x2d\x31\x2e\x36\x35\x32\x35\x39\x20\x32\x35\x2e\x35\x2c\x2d\
+\x32\x2e\x37\x35\x39\x32\x36\x20\x32\x35\x2e\x35\x2c\x2d\x31\x2e\
+\x34\x34\x30\x37\x31\x20\x30\x2c\x30\x2e\x35\x38\x35\x34\x39\x20\
+\x2d\x32\x2e\x35\x38\x37\x35\x2c\x31\x2e\x33\x35\x34\x31\x35\x20\
+\x2d\x35\x2e\x37\x35\x2c\x31\x2e\x37\x30\x38\x31\x35\x20\x2d\x33\
+\x2e\x31\x36\x32\x35\x2c\x30\x2e\x33\x35\x34\x20\x2d\x38\x2e\x31\
+\x39\x35\x31\x35\x2c\x31\x2e\x30\x36\x31\x33\x38\x20\x2d\x31\x31\
+\x2e\x31\x38\x33\x36\x36\x2c\x31\x2e\x35\x37\x31\x39\x36\x20\x2d\
+\x37\x2e\x32\x34\x32\x37\x32\x2c\x31\x2e\x32\x33\x37\x33\x39\x20\
+\x2d\x31\x33\x2e\x37\x39\x35\x37\x2c\x31\x2e\x31\x37\x35\x32\x33\
+\x20\x2d\x31\x34\x2e\x36\x30\x37\x36\x38\x2c\x2d\x30\x2e\x31\x33\
+\x38\x35\x36\x20\x7a\x20\x6d\x20\x34\x31\x2e\x36\x32\x30\x32\x39\
+\x2c\x2d\x36\x2e\x35\x31\x36\x34\x35\x20\x63\x20\x30\x2e\x30\x34\
+\x38\x2c\x2d\x31\x2e\x31\x36\x34\x39\x35\x20\x30\x2e\x32\x38\x34\
+\x39\x34\x2c\x2d\x31\x2e\x34\x30\x31\x39\x20\x30\x2e\x36\x30\x34\
+\x31\x36\x2c\x2d\x30\x2e\x36\x30\x34\x31\x37\x20\x30\x2e\x32\x38\
+\x38\x38\x37\x2c\x30\x2e\x37\x32\x31\x38\x37\x20\x30\x2e\x32\x35\
+\x33\x33\x35\x2c\x31\x2e\x35\x38\x34\x33\x37\x20\x2d\x30\x2e\x30\
+\x37\x38\x39\x2c\x31\x2e\x39\x31\x36\x36\x37\x20\x2d\x30\x2e\x33\
+\x33\x32\x33\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x35\
+\x36\x38\x36\x34\x2c\x2d\x30\x2e\x32\x35\x38\x33\x34\x20\x2d\x30\
+\x2e\x35\x32\x35\x32\x32\x2c\x2d\x31\x2e\x33\x31\x32\x35\x20\x7a\
+\x20\x6d\x20\x2d\x34\x38\x2e\x37\x39\x34\x32\x32\x38\x2c\x2d\x35\
+\x2e\x37\x37\x30\x38\x34\x20\x63\x20\x30\x2e\x35\x33\x31\x33\x32\
+\x37\x2c\x2d\x31\x2e\x35\x39\x33\x39\x38\x20\x32\x2e\x33\x38\x31\
+\x39\x34\x35\x2c\x2d\x31\x2e\x38\x35\x38\x33\x35\x20\x32\x2e\x33\
+\x38\x31\x39\x34\x35\x2c\x2d\x30\x2e\x33\x34\x30\x32\x37\x20\x30\
+\x2c\x30\x2e\x37\x34\x38\x36\x31\x20\x2d\x30\x2e\x36\x31\x32\x35\
+\x2c\x31\x2e\x33\x36\x31\x31\x31\x20\x2d\x31\x2e\x33\x36\x31\x31\
+\x31\x31\x2c\x31\x2e\x33\x36\x31\x31\x31\x20\x2d\x30\x2e\x37\x34\
+\x38\x36\x31\x32\x2c\x30\x20\x2d\x31\x2e\x32\x30\x37\x39\x38\x37\
+\x2c\x2d\x30\x2e\x34\x35\x39\x33\x38\x20\x2d\x31\x2e\x30\x32\x30\
+\x38\x33\x34\x2c\x2d\x31\x2e\x30\x32\x30\x38\x34\x20\x7a\x20\x4d\
+\x20\x31\x34\x37\x2e\x35\x2c\x31\x36\x38\x20\x63\x20\x30\x2e\x39\
+\x39\x35\x34\x39\x2c\x2d\x31\x2e\x31\x20\x32\x2e\x30\x33\x34\x39\
+\x38\x2c\x2d\x32\x20\x32\x2e\x33\x30\x39\x39\x38\x2c\x2d\x32\x20\
+\x30\x2e\x32\x37\x35\x2c\x30\x20\x2d\x30\x2e\x33\x31\x34\x34\x39\
+\x2c\x30\x2e\x39\x20\x2d\x31\x2e\x33\x30\x39\x39\x38\x2c\x32\x20\
+\x2d\x30\x2e\x39\x39\x35\x34\x39\x2c\x31\x2e\x31\x20\x2d\x32\x2e\
+\x30\x33\x34\x39\x38\x2c\x32\x20\x2d\x32\x2e\x33\x30\x39\x39\x38\
+\x2c\x32\x20\x2d\x30\x2e\x32\x37\x35\x2c\x30\x20\x30\x2e\x33\x31\
+\x34\x34\x39\x2c\x2d\x30\x2e\x39\x20\x31\x2e\x33\x30\x39\x39\x38\
+\x2c\x2d\x32\x20\x7a\x20\x6d\x20\x2d\x33\x36\x2e\x35\x2c\x30\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x38\x35\x36\x20\x2d\x32\x2e\
+\x37\x32\x32\x32\x32\x2c\x2d\x31\x20\x2d\x36\x2e\x31\x36\x36\x36\
+\x37\x2c\x2d\x31\x20\x2d\x33\x2e\x33\x39\x31\x36\x36\x2c\x30\x20\
+\x2d\x35\x2e\x39\x33\x32\x35\x39\x37\x2c\x2d\x30\x2e\x32\x33\x34\
+\x30\x37\x20\x2d\x35\x2e\x36\x34\x36\x35\x31\x35\x2c\x2d\x30\x2e\
+\x35\x32\x30\x31\x35\x20\x32\x2e\x32\x37\x35\x32\x37\x35\x2c\x2d\
+\x32\x2e\x32\x37\x35\x32\x37\x20\x34\x30\x2e\x37\x34\x30\x35\x37\
+\x35\x2c\x2d\x35\x2e\x37\x38\x39\x34\x32\x20\x33\x39\x2e\x33\x38\
+\x36\x33\x38\x35\x2c\x2d\x33\x2e\x35\x39\x38\x33\x20\x2d\x30\x2e\
+\x33\x38\x30\x31\x38\x2c\x30\x2e\x36\x31\x35\x31\x35\x20\x2d\x32\
+\x2e\x33\x31\x35\x33\x32\x2c\x31\x2e\x31\x31\x38\x34\x35\x20\x2d\
+\x34\x2e\x33\x30\x30\x33\x2c\x31\x2e\x31\x31\x38\x34\x35\x20\x2d\
+\x33\x2e\x33\x30\x30\x35\x35\x2c\x30\x20\x2d\x31\x33\x2e\x32\x30\
+\x38\x38\x39\x2c\x31\x2e\x33\x35\x30\x38\x36\x20\x2d\x31\x39\x2e\
+\x32\x32\x30\x37\x35\x2c\x32\x2e\x36\x32\x30\x34\x37\x20\x2d\x31\
+\x2e\x39\x33\x36\x32\x32\x2c\x30\x2e\x34\x30\x38\x39\x20\x2d\x32\
+\x2e\x31\x34\x35\x32\x33\x2c\x30\x2e\x37\x30\x38\x33\x39\x20\x2d\
+\x31\x2c\x31\x2e\x34\x33\x32\x39\x33\x20\x31\x2e\x31\x32\x37\x32\
+\x36\x2c\x30\x2e\x37\x31\x33\x31\x35\x20\x30\x2e\x39\x34\x39\x36\
+\x34\x2c\x30\x2e\x39\x31\x39\x33\x37\x20\x2d\x30\x2e\x38\x30\x32\
+\x31\x35\x2c\x30\x2e\x39\x33\x31\x32\x39\x20\x43\x20\x31\x31\x32\
+\x2e\x30\x31\x32\x35\x2c\x31\x36\x38\x2e\x39\x39\x33\x31\x31\x20\
+\x31\x31\x31\x2c\x31\x36\x38\x2e\x35\x35\x20\x31\x31\x31\x2c\x31\
+\x36\x38\x20\x7a\x20\x6d\x20\x34\x31\x2e\x37\x31\x30\x32\x35\x2c\
+\x2d\x34\x20\x63\x20\x30\x2e\x32\x38\x37\x36\x36\x2c\x2d\x31\x2e\
+\x31\x20\x30\x2e\x36\x39\x35\x35\x33\x2c\x2d\x32\x20\x30\x2e\x39\
+\x30\x36\x33\x38\x2c\x2d\x32\x20\x30\x2e\x32\x31\x30\x38\x35\x2c\
+\x30\x20\x30\x2e\x33\x38\x33\x33\x37\x2c\x30\x2e\x39\x20\x30\x2e\
+\x33\x38\x33\x33\x37\x2c\x32\x20\x30\x2c\x31\x2e\x31\x20\x2d\x30\
+\x2e\x34\x30\x37\x38\x37\x2c\x32\x20\x2d\x30\x2e\x39\x30\x36\x33\
+\x38\x2c\x32\x20\x2d\x30\x2e\x34\x39\x38\x35\x31\x2c\x30\x20\x2d\
+\x30\x2e\x36\x37\x31\x30\x33\x2c\x2d\x30\x2e\x39\x20\x2d\x30\x2e\
+\x33\x38\x33\x33\x37\x2c\x2d\x32\x20\x7a\x20\x4d\x20\x39\x35\x2e\
+\x32\x36\x37\x36\x33\x34\x2c\x31\x35\x34\x2e\x35\x38\x32\x38\x37\
+\x20\x43\x20\x39\x35\x2e\x33\x39\x35\x34\x33\x35\x2c\x31\x35\x33\
+\x2e\x35\x32\x38\x34\x34\x20\x39\x36\x2e\x31\x37\x35\x2c\x31\x35\
+\x32\x2e\x34\x38\x31\x36\x38\x20\x39\x37\x2c\x31\x35\x32\x2e\x32\
+\x35\x36\x37\x34\x20\x63\x20\x30\x2e\x39\x36\x34\x37\x37\x36\x2c\
+\x2d\x30\x2e\x32\x36\x33\x30\x37\x20\x31\x2e\x31\x30\x37\x34\x38\
+\x33\x2c\x2d\x30\x2e\x31\x31\x34\x32\x33\x20\x30\x2e\x33\x39\x39\
+\x39\x34\x34\x2c\x30\x2e\x34\x31\x37\x31\x33\x20\x2d\x30\x2e\x36\
+\x30\x35\x30\x33\x31\x2c\x30\x2e\x34\x35\x34\x33\x37\x20\x2d\x31\
+\x2e\x33\x38\x34\x35\x39\x35\x2c\x31\x2e\x35\x30\x31\x31\x33\x20\
+\x2d\x31\x2e\x37\x33\x32\x33\x36\x36\x2c\x32\x2e\x33\x32\x36\x31\
+\x33\x20\x2d\x30\x2e\x34\x34\x34\x32\x38\x32\x2c\x31\x2e\x30\x35\
+\x33\x39\x35\x20\x2d\x30\x2e\x35\x36\x33\x32\x31\x32\x2c\x30\x2e\
+\x39\x32\x39\x39\x31\x20\x2d\x30\x2e\x33\x39\x39\x39\x34\x34\x2c\
+\x2d\x30\x2e\x34\x31\x37\x31\x33\x20\x7a\x20\x4d\x20\x31\x30\x38\
+\x2e\x36\x33\x38\x33\x37\x2c\x31\x35\x33\x2e\x35\x20\x63\x20\x30\
+\x2e\x34\x36\x31\x31\x36\x2c\x2d\x31\x2e\x32\x30\x31\x37\x35\x20\
+\x2d\x30\x2e\x33\x39\x30\x31\x33\x2c\x2d\x31\x2e\x35\x31\x32\x36\
+\x20\x2d\x34\x2e\x32\x38\x31\x33\x38\x2c\x2d\x31\x2e\x35\x36\x33\
+\x33\x39\x20\x2d\x34\x2e\x32\x36\x36\x33\x34\x2c\x2d\x30\x2e\x30\
+\x35\x35\x37\x20\x2d\x34\x2e\x35\x35\x32\x39\x36\x39\x2c\x2d\x30\
+\x2e\x31\x38\x34\x38\x37\x20\x2d\x32\x2e\x33\x35\x36\x39\x39\x2c\
+\x2d\x31\x2e\x30\x36\x32\x34\x32\x20\x31\x2e\x33\x37\x35\x2c\x2d\
+\x30\x2e\x35\x34\x39\x34\x37\x20\x34\x2e\x30\x37\x35\x2c\x2d\x30\
+\x2e\x37\x32\x39\x32\x35\x20\x36\x2c\x2d\x30\x2e\x33\x39\x39\x35\
+\x31\x20\x32\x2e\x33\x34\x36\x39\x32\x2c\x30\x2e\x34\x30\x32\x30\
+\x31\x20\x33\x2e\x30\x33\x37\x35\x38\x2c\x30\x2e\x32\x38\x39\x34\
+\x39\x20\x32\x2e\x30\x39\x36\x33\x39\x2c\x2d\x30\x2e\x33\x34\x31\
+\x35\x34\x20\x2d\x31\x2e\x35\x37\x35\x31\x38\x2c\x2d\x31\x2e\x30\
+\x35\x36\x30\x38\x20\x34\x2e\x35\x38\x32\x30\x39\x2c\x2d\x31\x2e\
+\x37\x37\x31\x32\x32\x20\x32\x31\x2e\x39\x30\x33\x36\x31\x2c\x2d\
+\x32\x2e\x35\x34\x34\x30\x32\x20\x31\x33\x2e\x34\x31\x33\x32\x33\
+\x2c\x2d\x30\x2e\x35\x39\x38\x34\x33\x20\x38\x2e\x32\x33\x32\x31\
+\x36\x2c\x30\x2e\x36\x35\x35\x34\x31\x20\x2d\x31\x34\x2e\x37\x39\
+\x33\x30\x33\x2c\x33\x2e\x35\x37\x39\x39\x38\x20\x2d\x30\x2e\x37\
+\x31\x31\x31\x37\x2c\x30\x2e\x30\x39\x30\x33\x20\x2d\x31\x2e\x30\
+\x37\x37\x30\x38\x2c\x30\x2e\x37\x32\x36\x39\x39\x20\x2d\x30\x2e\
+\x38\x31\x33\x31\x35\x2c\x31\x2e\x34\x31\x34\x38\x31\x20\x30\x2e\
+\x35\x37\x34\x32\x32\x2c\x31\x2e\x34\x39\x36\x33\x37\x20\x2d\x31\
+\x2e\x34\x39\x38\x32\x2c\x32\x2e\x34\x31\x36\x30\x39\x20\x2d\x35\
+\x2e\x34\x34\x34\x32\x32\x2c\x32\x2e\x34\x31\x36\x30\x39\x20\x2d\
+\x32\x2e\x31\x35\x35\x32\x33\x2c\x30\x20\x2d\x32\x2e\x37\x34\x30\
+\x39\x36\x2c\x2d\x30\x2e\x33\x38\x30\x31\x34\x20\x2d\x32\x2e\x33\
+\x31\x31\x32\x33\x2c\x2d\x31\x2e\x35\x20\x7a\x20\x4d\x20\x31\x34\
+\x36\x2e\x37\x35\x2c\x31\x34\x36\x2e\x33\x33\x37\x37\x32\x20\x63\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\
+\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x4d\x20\x39\
+\x35\x2e\x33\x31\x35\x33\x35\x35\x2c\x31\x34\x30\x2e\x30\x37\x38\
+\x33\x33\x20\x43\x20\x39\x35\x2e\x34\x31\x36\x39\x31\x2c\x31\x33\
+\x38\x2e\x37\x34\x36\x34\x31\x20\x39\x36\x2e\x31\x37\x35\x2c\x31\
+\x33\x37\x2e\x34\x37\x34\x36\x35\x20\x39\x37\x2c\x31\x33\x37\x2e\
+\x32\x35\x32\x32\x20\x63\x20\x30\x2e\x39\x39\x31\x31\x30\x34\x2c\
+\x2d\x30\x2e\x32\x36\x37\x32\x34\x20\x31\x2e\x31\x31\x35\x31\x36\
+\x37\x2c\x2d\x30\x2e\x31\x32\x34\x31\x39\x20\x30\x2e\x33\x36\x35\
+\x36\x38\x32\x2c\x30\x2e\x34\x32\x31\x36\x37\x20\x2d\x30\x2e\x36\
+\x32\x33\x38\x37\x35\x2c\x30\x2e\x34\x35\x34\x33\x37\x20\x2d\x31\
+\x2e\x33\x38\x31\x39\x36\x35\x2c\x31\x2e\x37\x32\x36\x31\x33\x20\
+\x2d\x31\x2e\x36\x38\x34\x36\x34\x35\x2c\x32\x2e\x38\x32\x36\x31\
+\x33\x20\x2d\x30\x2e\x34\x33\x33\x39\x33\x33\x2c\x31\x2e\x35\x37\
+\x37\x20\x2d\x30\x2e\x35\x31\x31\x32\x37\x35\x2c\x31\x2e\x34\x38\
+\x37\x38\x32\x20\x2d\x30\x2e\x33\x36\x35\x36\x38\x32\x2c\x2d\x30\
+\x2e\x34\x32\x31\x36\x37\x20\x7a\x20\x4d\x20\x31\x30\x37\x2e\x39\
+\x32\x31\x37\x2c\x31\x33\x39\x2e\x31\x34\x36\x33\x31\x20\x43\x20\
+\x31\x30\x39\x2e\x30\x32\x38\x30\x34\x2c\x31\x33\x37\x2e\x30\x37\
+\x39\x30\x39\x20\x31\x30\x38\x2e\x38\x37\x38\x36\x39\x2c\x31\x33\
+\x37\x20\x31\x30\x33\x2e\x38\x36\x38\x35\x32\x2c\x31\x33\x37\x20\
+\x63\x20\x2d\x35\x2e\x36\x36\x31\x37\x30\x37\x2c\x30\x20\x2d\x36\
+\x2e\x30\x34\x36\x39\x31\x34\x2c\x2d\x30\x2e\x38\x36\x39\x30\x35\
+\x20\x2d\x30\x2e\x37\x31\x32\x38\x31\x2c\x2d\x31\x2e\x36\x30\x38\
+\x31\x33\x20\x31\x2e\x38\x33\x39\x33\x36\x2c\x2d\x30\x2e\x32\x35\
+\x34\x38\x36\x20\x35\x2e\x33\x36\x39\x32\x39\x2c\x2d\x30\x2e\x38\
+\x34\x38\x30\x38\x20\x37\x2e\x38\x34\x34\x32\x39\x2c\x2d\x31\x2e\
+\x33\x31\x38\x32\x36\x20\x32\x2e\x34\x37\x35\x2c\x2d\x30\x2e\x34\
+\x37\x30\x31\x38\x20\x37\x2e\x38\x37\x35\x2c\x2d\x30\x2e\x39\x34\
+\x31\x32\x35\x20\x31\x32\x2c\x2d\x31\x2e\x30\x34\x36\x38\x32\x20\
+\x34\x2e\x31\x32\x35\x2c\x2d\x30\x2e\x31\x30\x35\x35\x36\x20\x39\
+\x2e\x31\x39\x31\x31\x35\x2c\x2d\x30\x2e\x33\x34\x32\x37\x31\x20\
+\x31\x31\x2e\x32\x35\x38\x31\x31\x2c\x2d\x30\x2e\x35\x32\x37\x20\
+\x32\x2e\x31\x30\x39\x34\x34\x2c\x2d\x30\x2e\x31\x38\x38\x30\x37\
+\x20\x33\x2e\x35\x30\x39\x33\x32\x2c\x30\x2e\x30\x36\x37\x35\x20\
+\x33\x2e\x31\x39\x30\x39\x39\x2c\x30\x2e\x35\x38\x32\x35\x38\x20\
+\x2d\x30\x2e\x33\x31\x31\x39\x33\x2c\x30\x2e\x35\x30\x34\x36\x39\
+\x20\x2d\x32\x2e\x30\x33\x32\x39\x33\x2c\x30\x2e\x39\x31\x37\x36\
+\x33\x20\x2d\x33\x2e\x38\x32\x34\x34\x36\x2c\x30\x2e\x39\x31\x37\
+\x36\x33\x20\x2d\x33\x2e\x34\x39\x39\x30\x38\x2c\x30\x20\x2d\x31\
+\x34\x2e\x36\x30\x37\x31\x36\x2c\x31\x2e\x38\x37\x33\x32\x39\x20\
+\x2d\x31\x35\x2e\x39\x32\x33\x32\x2c\x32\x2e\x36\x38\x35\x33\x32\
+\x20\x2d\x30\x2e\x34\x33\x39\x32\x31\x2c\x30\x2e\x32\x37\x31\x30\
+\x31\x20\x2d\x30\x2e\x32\x37\x31\x36\x31\x2c\x31\x2e\x31\x32\x37\
+\x36\x37\x20\x30\x2e\x33\x37\x32\x34\x35\x2c\x31\x2e\x39\x30\x33\
+\x37\x31\x20\x30\x2e\x39\x37\x33\x35\x33\x2c\x31\x2e\x31\x37\x33\
+\x30\x34\x20\x30\x2e\x35\x31\x37\x39\x39\x2c\x31\x2e\x34\x31\x33\
+\x32\x37\x20\x2d\x32\x2e\x37\x30\x31\x34\x35\x2c\x31\x2e\x34\x32\
+\x34\x36\x32\x20\x2d\x32\x2e\x31\x32\x39\x38\x34\x2c\x30\x2e\x30\
+\x30\x38\x20\x2d\x34\x2e\x39\x33\x36\x30\x31\x2c\x30\x2e\x32\x39\
+\x38\x33\x35\x20\x2d\x36\x2e\x32\x33\x35\x39\x33\x2c\x30\x2e\x36\
+\x34\x36\x33\x31\x20\x2d\x32\x2e\x31\x36\x32\x31\x31\x2c\x30\x2e\
+\x35\x37\x38\x37\x35\x20\x2d\x32\x2e\x32\x36\x35\x36\x31\x2c\x30\
+\x2e\x34\x34\x39\x37\x39\x20\x2d\x31\x2e\x32\x31\x34\x38\x31\x2c\
+\x2d\x31\x2e\x35\x31\x33\x36\x35\x20\x7a\x20\x6d\x20\x2d\x31\x2e\
+\x31\x38\x30\x36\x33\x2c\x2d\x31\x33\x2e\x38\x30\x35\x36\x31\x20\
+\x63\x20\x32\x2e\x31\x31\x30\x36\x32\x2c\x2d\x30\x2e\x38\x35\x32\
+\x37\x32\x20\x2d\x31\x2e\x30\x34\x36\x31\x36\x2c\x2d\x33\x2e\x31\
+\x35\x32\x31\x37\x20\x2d\x34\x2e\x38\x34\x35\x34\x32\x2c\x2d\x33\
+\x2e\x35\x32\x39\x34\x39\x20\x2d\x32\x2e\x39\x31\x31\x32\x31\x36\
+\x2c\x2d\x30\x2e\x32\x38\x39\x31\x32\x20\x2d\x32\x2e\x34\x36\x38\
+\x33\x33\x39\x2c\x2d\x30\x2e\x35\x32\x35\x31\x37\x20\x33\x2e\x31\
+\x30\x34\x33\x35\x2c\x2d\x31\x2e\x36\x35\x34\x35\x36\x20\x37\x2e\
+\x39\x38\x33\x31\x37\x2c\x2d\x31\x2e\x36\x31\x37\x39\x31\x20\x32\
+\x37\x2e\x34\x38\x34\x37\x31\x2c\x2d\x32\x2e\x36\x31\x38\x32\x36\
+\x20\x32\x34\x2e\x33\x37\x38\x38\x39\x2c\x2d\x31\x2e\x32\x35\x30\
+\x35\x34\x20\x2d\x31\x2e\x31\x36\x36\x36\x2c\x30\x2e\x35\x31\x33\
+\x37\x34\x20\x2d\x33\x2e\x38\x36\x34\x35\x36\x2c\x31\x2e\x31\x30\
+\x33\x39\x34\x20\x2d\x35\x2e\x39\x39\x35\x34\x36\x2c\x31\x2e\x33\
+\x31\x31\x35\x35\x20\x2d\x32\x2e\x38\x37\x38\x36\x38\x2c\x30\x2e\
+\x32\x38\x30\x34\x36\x20\x2d\x33\x2e\x39\x36\x39\x35\x2c\x30\x2e\
+\x38\x37\x39\x32\x32\x20\x2d\x34\x2e\x32\x34\x34\x35\x38\x2c\x32\
+\x2e\x33\x32\x39\x39\x20\x2d\x30\x2e\x35\x33\x37\x33\x34\x2c\x32\
+\x2e\x38\x33\x33\x38\x33\x20\x2d\x31\x2e\x39\x38\x30\x38\x33\x2c\
+\x33\x2e\x34\x32\x39\x34\x33\x20\x2d\x38\x2e\x31\x33\x38\x38\x35\
+\x2c\x33\x2e\x33\x35\x38\x31\x38\x20\x2d\x33\x2e\x30\x32\x35\x2c\
+\x2d\x30\x2e\x30\x33\x35\x20\x2d\x34\x2e\x39\x34\x31\x35\x32\x2c\
+\x2d\x30\x2e\x32\x38\x39\x32\x37\x20\x2d\x34\x2e\x32\x35\x38\x39\
+\x33\x2c\x2d\x30\x2e\x35\x36\x35\x30\x34\x20\x7a\x20\x6d\x20\x34\
+\x37\x2e\x33\x33\x37\x38\x38\x2c\x2d\x35\x2e\x39\x32\x34\x30\x33\
+\x20\x63\x20\x30\x2e\x30\x34\x38\x2c\x2d\x31\x2e\x31\x36\x34\x39\
+\x35\x20\x30\x2e\x32\x38\x34\x39\x34\x2c\x2d\x31\x2e\x34\x30\x31\
+\x39\x20\x30\x2e\x36\x30\x34\x31\x36\x2c\x2d\x30\x2e\x36\x30\x34\
+\x31\x37\x20\x30\x2e\x32\x38\x38\x38\x37\x2c\x30\x2e\x37\x32\x31\
+\x38\x37\x20\x30\x2e\x32\x35\x33\x33\x35\x2c\x31\x2e\x35\x38\x34\
+\x33\x37\x20\x2d\x30\x2e\x30\x37\x38\x39\x2c\x31\x2e\x39\x31\x36\
+\x36\x37\x20\x2d\x30\x2e\x33\x33\x32\x33\x2c\x30\x2e\x33\x33\x32\
+\x32\x39\x20\x2d\x30\x2e\x35\x36\x38\x36\x34\x2c\x2d\x30\x2e\x32\
+\x35\x38\x33\x34\x20\x2d\x30\x2e\x35\x32\x35\x32\x32\x2c\x2d\x31\
+\x2e\x33\x31\x32\x35\x20\x7a\x20\x6d\x20\x2d\x35\x37\x2e\x39\x37\
+\x39\x32\x37\x2c\x2d\x39\x2e\x36\x34\x37\x36\x32\x20\x63\x20\x2d\
+\x30\x2e\x30\x37\x35\x35\x35\x2c\x2d\x32\x2e\x30\x36\x39\x39\x31\
+\x20\x30\x2e\x34\x34\x34\x39\x33\x39\x2c\x2d\x32\x2e\x38\x34\x32\
+\x37\x32\x20\x32\x2e\x31\x35\x30\x33\x32\x2c\x2d\x33\x2e\x31\x39\
+\x32\x37\x31\x20\x39\x2e\x30\x37\x33\x32\x33\x2c\x2d\x31\x2e\x38\
+\x36\x32\x30\x37\x20\x31\x33\x2e\x34\x38\x39\x37\x32\x2c\x2d\x32\
+\x2e\x39\x36\x34\x33\x34\x20\x31\x35\x2c\x2d\x33\x2e\x37\x34\x33\
+\x36\x37\x20\x31\x2e\x30\x36\x33\x38\x39\x2c\x2d\x30\x2e\x35\x34\
+\x38\x39\x39\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x33\x35\x37\
+\x38\x20\x31\x2e\x37\x35\x2c\x30\x2e\x30\x33\x33\x37\x20\x30\x2c\
+\x30\x2e\x35\x34\x33\x30\x39\x20\x34\x2e\x35\x31\x37\x35\x31\x2c\
+\x30\x2e\x38\x30\x38\x38\x36\x20\x31\x30\x2e\x37\x35\x2c\x30\x2e\
+\x36\x33\x32\x34\x34\x20\x6c\x20\x31\x30\x2e\x37\x35\x2c\x2d\x30\
+\x2e\x33\x30\x34\x32\x39\x20\x2d\x38\x2e\x33\x37\x32\x39\x39\x2c\
+\x31\x2e\x30\x31\x35\x30\x37\x20\x63\x20\x2d\x36\x2e\x38\x34\x32\
+\x31\x36\x2c\x30\x2e\x38\x32\x39\x34\x38\x20\x2d\x38\x2e\x34\x36\
+\x32\x34\x38\x2c\x31\x2e\x33\x35\x37\x32\x37\x20\x2d\x38\x2e\x38\
+\x36\x32\x34\x36\x2c\x32\x2e\x38\x38\x36\x37\x39\x20\x2d\x30\x2e\
+\x35\x31\x35\x37\x34\x2c\x31\x2e\x39\x37\x32\x31\x39\x20\x2d\x35\
+\x2e\x36\x38\x34\x31\x2c\x33\x2e\x38\x38\x38\x32\x36\x20\x2d\x31\
+\x30\x2e\x35\x31\x34\x35\x35\x2c\x33\x2e\x38\x39\x38\x30\x35\x20\
+\x2d\x32\x2e\x31\x31\x30\x37\x36\x2c\x30\x2e\x30\x30\x34\x20\x2d\
+\x32\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x37\x32\x36\x39\x20\x2d\x32\
+\x2e\x37\x35\x2c\x2d\x32\x2e\x30\x35\x31\x39\x32\x20\x30\x2c\x2d\
+\x31\x2e\x37\x39\x39\x35\x35\x20\x2d\x30\x2e\x35\x32\x37\x38\x31\
+\x2c\x2d\x32\x2e\x30\x31\x38\x39\x35\x20\x2d\x34\x2e\x32\x31\x30\
+\x31\x35\x2c\x2d\x31\x2e\x37\x35\x20\x2d\x33\x2e\x35\x31\x35\x38\
+\x32\x35\x2c\x30\x2e\x32\x35\x36\x37\x39\x20\x2d\x34\x2e\x33\x32\
+\x33\x39\x37\x37\x2c\x30\x2e\x37\x31\x39\x38\x20\x2d\x34\x2e\x39\
+\x30\x30\x33\x32\x33\x2c\x32\x2e\x38\x30\x37\x35\x20\x6c\x20\x2d\
+\x30\x2e\x36\x39\x30\x31\x36\x37\x2c\x32\x2e\x35\x20\x2d\x30\x2e\
+\x30\x39\x39\x36\x38\x2c\x2d\x32\x2e\x37\x33\x30\x39\x35\x20\x7a\
+\x20\x4d\x20\x31\x31\x32\x2e\x37\x35\x2c\x31\x30\x35\x2e\x33\x31\
+\x30\x36\x37\x20\x63\x20\x2d\x30\x2e\x39\x36\x32\x35\x2c\x2d\x30\
+\x2e\x32\x35\x31\x35\x32\x20\x2d\x32\x2e\x35\x33\x37\x35\x2c\x2d\
+\x30\x2e\x32\x35\x31\x35\x32\x20\x2d\x33\x2e\x35\x2c\x30\x20\x2d\
+\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x32\x35\x31\x35\x33\x20\x2d\
+\x30\x2e\x31\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\x31\x2e\
+\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\x31\x2e\x39\x32\x35\
+\x2c\x30\x20\x32\x2e\x37\x31\x32\x35\x2c\x2d\x30\x2e\x32\x30\x35\
+\x38\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x35\x37\x33\x33\x20\
+\x7a\x20\x4d\x20\x31\x35\x34\x2e\x31\x39\x34\x39\x35\x2c\x31\x30\
+\x34\x2e\x35\x20\x63\x20\x30\x2e\x30\x32\x30\x34\x2c\x2d\x31\x2e\
+\x36\x35\x20\x30\x2e\x32\x34\x34\x35\x2c\x2d\x32\x2e\x32\x30\x33\
+\x39\x34\x20\x30\x2e\x34\x39\x38\x30\x34\x2c\x2d\x31\x2e\x32\x33\
+\x30\x39\x37\x20\x30\x2e\x32\x35\x33\x35\x34\x2c\x30\x2e\x39\x37\
+\x32\x39\x37\x20\x30\x2e\x32\x33\x36\x38\x37\x2c\x32\x2e\x33\x32\
+\x32\x39\x37\x20\x2d\x30\x2e\x30\x33\x37\x31\x2c\x33\x20\x2d\x30\
+\x2e\x32\x37\x33\x39\x33\x2c\x30\x2e\x36\x37\x37\x30\x33\x20\x2d\
+\x30\x2e\x34\x38\x31\x33\x37\x2c\x2d\x30\x2e\x31\x31\x39\x30\x33\
+\x20\x2d\x30\x2e\x34\x36\x30\x39\x39\x2c\x2d\x31\x2e\x37\x36\x39\
+\x30\x33\x20\x7a\x20\x4d\x20\x39\x36\x2c\x39\x36\x2e\x32\x30\x35\
+\x32\x31\x31\x20\x63\x20\x30\x2c\x2d\x34\x2e\x30\x30\x30\x32\x35\
+\x36\x20\x30\x2e\x31\x32\x39\x36\x30\x35\x2c\x2d\x34\x2e\x31\x36\
+\x33\x30\x32\x32\x20\x34\x2e\x31\x38\x34\x32\x33\x2c\x2d\x35\x2e\
+\x32\x35\x34\x38\x32\x20\x32\x2e\x33\x30\x31\x33\x33\x2c\x2d\x30\
+\x2e\x36\x31\x39\x36\x38\x34\x20\x35\x2e\x34\x37\x33\x37\x2c\x2d\
+\x30\x2e\x38\x36\x38\x38\x30\x34\x20\x37\x2e\x30\x34\x39\x37\x31\
+\x2c\x2d\x30\x2e\x35\x35\x33\x36\x30\x32\x20\x31\x2e\x35\x37\x36\
+\x30\x32\x2c\x30\x2e\x33\x31\x35\x32\x30\x32\x20\x32\x2e\x36\x32\
+\x37\x30\x35\x2c\x30\x2e\x31\x38\x37\x33\x20\x32\x2e\x33\x33\x35\
+\x36\x33\x2c\x2d\x30\x2e\x32\x38\x34\x32\x32\x37\x20\x2d\x30\x2e\
+\x37\x38\x30\x35\x2c\x2d\x31\x2e\x32\x36\x32\x38\x37\x36\x20\x35\
+\x2e\x37\x37\x30\x30\x38\x2c\x2d\x32\x2e\x31\x30\x35\x31\x30\x35\
+\x20\x31\x35\x2e\x34\x33\x30\x34\x33\x2c\x2d\x31\x2e\x39\x38\x33\
+\x39\x33\x37\x20\x38\x2e\x31\x36\x34\x33\x37\x2c\x30\x2e\x31\x30\
+\x32\x34\x30\x33\x20\x38\x2e\x33\x30\x32\x35\x37\x2c\x30\x2e\x31\
+\x34\x31\x34\x31\x38\x20\x33\x2e\x35\x2c\x30\x2e\x39\x38\x38\x30\
+\x37\x33\x20\x2d\x32\x2e\x37\x35\x2c\x30\x2e\x34\x38\x34\x38\x30\
+\x33\x20\x2d\x36\x2e\x38\x2c\x30\x2e\x36\x37\x32\x37\x31\x36\x20\
+\x2d\x39\x2c\x30\x2e\x34\x31\x37\x35\x38\x36\x20\x2d\x32\x2e\x32\
+\x32\x35\x35\x36\x2c\x2d\x30\x2e\x32\x35\x38\x30\x39\x35\x20\x2d\
+\x33\x2e\x31\x31\x32\x37\x38\x2c\x2d\x30\x2e\x31\x34\x36\x37\x38\
+\x34\x20\x2d\x32\x2c\x30\x2e\x32\x35\x30\x39\x32\x31\x20\x32\x2e\
+\x33\x37\x38\x35\x2c\x30\x2e\x38\x35\x30\x30\x37\x31\x20\x32\x2e\
+\x36\x39\x38\x31\x32\x2c\x34\x2e\x38\x33\x32\x38\x36\x37\x20\x30\
+\x2e\x35\x2c\x36\x2e\x32\x33\x30\x34\x35\x36\x20\x2d\x32\x2e\x30\
+\x32\x38\x39\x37\x2c\x31\x2e\x32\x39\x30\x30\x34\x20\x2d\x31\x31\
+\x2e\x37\x32\x31\x34\x37\x2c\x31\x2e\x32\x34\x34\x30\x33\x31\x20\
+\x2d\x31\x32\x2e\x35\x32\x37\x30\x37\x2c\x2d\x30\x2e\x30\x35\x39\
+\x34\x37\x20\x2d\x30\x2e\x33\x35\x34\x38\x31\x2c\x2d\x30\x2e\x35\
+\x37\x34\x30\x39\x33\x20\x2d\x30\x2e\x30\x37\x38\x32\x2c\x2d\x31\
+\x2e\x37\x32\x36\x39\x34\x33\x20\x30\x2e\x36\x31\x34\x37\x39\x2c\
+\x2d\x32\x2e\x35\x36\x31\x38\x39\x20\x31\x2e\x31\x30\x32\x32\x35\
+\x2c\x2d\x31\x2e\x33\x32\x38\x31\x32\x39\x20\x30\x2e\x36\x34\x33\
+\x37\x39\x2c\x2d\x31\x2e\x34\x37\x39\x30\x35\x38\x20\x2d\x33\x2e\
+\x36\x36\x33\x39\x31\x2c\x2d\x31\x2e\x32\x30\x36\x31\x39\x35\x20\
+\x43\x20\x39\x37\x2e\x36\x31\x37\x37\x32\x36\x2c\x39\x32\x2e\x34\
+\x39\x32\x35\x34\x33\x20\x39\x37\x2e\x34\x39\x37\x36\x30\x39\x2c\
+\x39\x32\x2e\x35\x37\x38\x31\x30\x34\x20\x39\x37\x2e\x34\x2c\x39\
+\x35\x2e\x37\x36\x36\x36\x36\x37\x20\x39\x37\x2e\x32\x35\x31\x35\
+\x37\x36\x2c\x31\x30\x30\x2e\x36\x31\x35\x31\x39\x20\x39\x36\x2c\
+\x31\x30\x31\x2e\x30\x30\x37\x32\x34\x20\x39\x36\x2c\x39\x36\x2e\
+\x32\x30\x35\x32\x31\x31\x20\x7a\x20\x4d\x20\x31\x35\x32\x2e\x36\
+\x34\x32\x33\x39\x2c\x39\x35\x20\x63\x20\x30\x2e\x36\x32\x38\x33\
+\x32\x2c\x2d\x30\x2e\x38\x32\x35\x20\x31\x2e\x33\x36\x33\x36\x32\
+\x2c\x2d\x32\x2e\x34\x20\x31\x2e\x36\x33\x34\x2c\x2d\x33\x2e\x35\
+\x20\x30\x2e\x34\x36\x36\x39\x34\x2c\x2d\x31\x2e\x38\x39\x39\x36\
+\x32\x37\x20\x30\x2e\x34\x39\x37\x34\x33\x2c\x2d\x31\x2e\x38\x39\
+\x33\x32\x32\x36\x20\x30\x2e\x36\x30\x37\x36\x31\x2c\x30\x2e\x31\
+\x32\x37\x35\x35\x35\x20\x30\x2e\x30\x36\x33\x38\x2c\x31\x2e\x31\
+\x37\x30\x31\x35\x36\x20\x2d\x30\x2e\x36\x37\x31\x35\x2c\x32\x2e\
+\x37\x34\x35\x31\x35\x36\x20\x2d\x31\x2e\x36\x33\x34\x2c\x33\x2e\
+\x35\x20\x43\x20\x31\x35\x31\x2e\x37\x32\x38\x30\x31\x2c\x39\x36\
+\x2e\x33\x32\x31\x31\x38\x36\x20\x31\x35\x31\x2e\x36\x34\x38\x38\
+\x34\x2c\x39\x36\x2e\x33\x30\x34\x35\x36\x37\x20\x31\x35\x32\x2e\
+\x36\x34\x32\x33\x39\x2c\x39\x35\x20\x7a\x20\x4d\x20\x31\x33\x37\
+\x2e\x37\x35\x2c\x38\x37\x2e\x32\x39\x34\x32\x36\x37\x20\x63\x20\
+\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x32\x33\x38\x33\x35\x33\
+\x20\x33\x2e\x32\x36\x32\x35\x2c\x2d\x30\x2e\x32\x33\x38\x33\x35\
+\x33\x20\x34\x2e\x35\x2c\x30\x20\x31\x2e\x32\x33\x37\x35\x2c\x30\
+\x2e\x32\x33\x38\x33\x35\x33\x20\x30\x2e\x32\x32\x35\x2c\x30\x2e\
+\x34\x33\x33\x33\x36\x39\x20\x2d\x32\x2e\x32\x35\x2c\x30\x2e\x34\
+\x33\x33\x33\x36\x39\x20\x2d\x32\x2e\x34\x37\x35\x2c\x30\x20\x2d\
+\x33\x2e\x34\x38\x37\x35\x2c\x2d\x30\x2e\x31\x39\x35\x30\x31\x36\
+\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x30\x2e\x34\x33\x33\x33\x36\x39\
+\x20\x7a\x20\x6d\x20\x39\x2c\x2d\x30\x2e\x39\x35\x36\x35\x34\x38\
+\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\
+\x34\x31\x32\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\
+\x37\x34\x31\x32\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\
+\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x33\x20\x30\x2e\x31\x32\x35\
+\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x32\x35\x2c\
+\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x33\x37\x35\x2c\
+\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\
+\x39\x37\x33\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\
+\x33\x38\x36\x20\x7a\x20\x6d\x20\x35\x2c\x30\x20\x63\x20\x30\x2e\
+\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x31\
+\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x32\x20\
+\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\
+\x37\x37\x34\x31\x33\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x38\x36\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\
+\x33\x38\x36\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\
+\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x37\x33\x20\x2d\
+\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x7a\
+\x20\x4d\x20\x39\x36\x2e\x33\x38\x33\x34\x32\x37\x2c\x38\x31\x2e\
+\x30\x37\x37\x37\x32\x31\x20\x43\x20\x39\x36\x2e\x34\x36\x32\x38\
+\x33\x37\x2c\x37\x38\x2e\x30\x36\x35\x32\x33\x39\x20\x39\x36\x2e\
+\x39\x37\x38\x31\x39\x32\x2c\x37\x36\x2e\x35\x32\x36\x36\x39\x35\
+\x20\x39\x38\x2c\x37\x36\x2e\x32\x35\x31\x35\x39\x20\x63\x20\x31\
+\x2e\x30\x33\x30\x38\x34\x35\x2c\x2d\x30\x2e\x32\x37\x37\x35\x33\
+\x39\x20\x31\x2e\x31\x33\x32\x33\x33\x37\x2c\x2d\x30\x2e\x31\x34\
+\x31\x34\x30\x34\x20\x30\x2e\x33\x32\x34\x34\x39\x36\x2c\x30\x2e\
+\x34\x33\x35\x32\x35\x35\x20\x2d\x30\x2e\x36\x34\x36\x35\x32\x38\
+\x2c\x30\x2e\x34\x36\x31\x35\x30\x39\x20\x2d\x31\x2e\x33\x37\x33\
+\x39\x38\x35\x2c\x32\x2e\x36\x33\x33\x32\x36\x38\x20\x2d\x31\x2e\
+\x36\x31\x36\x35\x37\x33\x2c\x34\x2e\x38\x32\x36\x31\x33\x31\x20\
+\x2d\x30\x2e\x34\x33\x37\x37\x32\x39\x2c\x33\x2e\x39\x35\x36\x38\
+\x33\x32\x20\x2d\x30\x2e\x34\x34\x30\x31\x38\x36\x2c\x33\x2e\x39\
+\x35\x33\x35\x33\x36\x20\x2d\x30\x2e\x33\x32\x34\x34\x39\x36\x2c\
+\x2d\x30\x2e\x34\x33\x35\x32\x35\x35\x20\x7a\x20\x4d\x20\x31\x30\
+\x36\x2e\x35\x2c\x38\x31\x2e\x39\x38\x37\x39\x38\x39\x20\x63\x20\
+\x31\x2e\x39\x33\x38\x39\x34\x2c\x2d\x30\x2e\x38\x34\x34\x38\x33\
+\x33\x20\x31\x2e\x39\x33\x30\x36\x36\x2c\x2d\x30\x2e\x38\x39\x32\
+\x32\x31\x34\x20\x2d\x30\x2e\x32\x37\x31\x30\x38\x2c\x2d\x31\x2e\
+\x35\x35\x31\x38\x35\x37\x20\x2d\x31\x2e\x37\x39\x33\x36\x31\x2c\
+\x2d\x30\x2e\x35\x33\x37\x33\x36\x38\x20\x2d\x32\x2e\x30\x33\x30\
+\x36\x36\x2c\x2d\x30\x2e\x39\x37\x30\x30\x39\x34\x20\x2d\x31\x2e\
+\x31\x32\x37\x35\x35\x2c\x2d\x32\x2e\x30\x35\x38\x32\x37\x35\x20\
+\x31\x2e\x31\x33\x37\x36\x31\x2c\x2d\x31\x2e\x33\x37\x30\x37\x33\
+\x35\x20\x30\x2e\x31\x30\x31\x38\x35\x2c\x2d\x31\x2e\x39\x33\x38\
+\x30\x35\x34\x20\x2d\x32\x2e\x36\x30\x31\x33\x37\x2c\x2d\x31\x2e\
+\x34\x32\x34\x38\x34\x39\x20\x2d\x30\x2e\x36\x36\x36\x36\x37\x2c\
+\x30\x2e\x31\x32\x36\x35\x36\x36\x20\x2d\x30\x2e\x36\x36\x36\x36\
+\x37\x2c\x2d\x30\x2e\x31\x32\x31\x32\x33\x37\x20\x30\x2c\x2d\x30\
+\x2e\x37\x34\x33\x34\x31\x20\x31\x2e\x38\x35\x31\x39\x2c\x2d\x31\
+\x2e\x37\x32\x38\x33\x30\x35\x20\x39\x2e\x32\x30\x39\x31\x31\x2c\
+\x2d\x32\x2e\x39\x33\x37\x37\x30\x39\x20\x31\x39\x2e\x30\x38\x32\
+\x35\x35\x2c\x2d\x33\x2e\x31\x33\x36\x38\x35\x37\x20\x35\x2e\x33\
+\x39\x36\x30\x31\x2c\x2d\x30\x2e\x31\x30\x38\x38\x33\x37\x20\x31\
+\x30\x2e\x32\x34\x31\x39\x32\x2c\x2d\x30\x2e\x34\x36\x34\x32\x35\
+\x37\x20\x31\x30\x2e\x37\x36\x38\x36\x39\x2c\x2d\x30\x2e\x37\x38\
+\x39\x38\x32\x32\x20\x30\x2e\x35\x32\x36\x37\x38\x2c\x2d\x30\x2e\
+\x33\x32\x35\x35\x36\x35\x20\x30\x2e\x36\x33\x36\x36\x39\x2c\x2d\
+\x30\x2e\x30\x37\x32\x34\x31\x20\x30\x2e\x32\x34\x34\x32\x35\x2c\
+\x30\x2e\x35\x36\x32\x35\x37\x33\x20\x43\x20\x31\x33\x32\x2e\x32\
+\x30\x33\x30\x35\x2c\x37\x33\x2e\x34\x38\x30\x34\x37\x31\x20\x31\
+\x33\x30\x2e\x33\x36\x32\x38\x32\x2c\x37\x34\x20\x31\x32\x38\x2e\
+\x35\x30\x36\x30\x38\x2c\x37\x34\x20\x63\x20\x2d\x34\x2e\x32\x39\
+\x34\x31\x32\x2c\x30\x20\x2d\x38\x2e\x38\x31\x34\x32\x2c\x31\x2e\
+\x36\x39\x32\x34\x33\x39\x20\x2d\x38\x2e\x30\x30\x37\x32\x34\x2c\
+\x32\x2e\x39\x39\x38\x31\x32\x37\x20\x43\x20\x31\x32\x30\x2e\x38\
+\x33\x39\x34\x2c\x37\x37\x2e\x35\x34\x39\x31\x35\x37\x20\x31\x32\
+\x30\x2e\x36\x38\x39\x36\x32\x2c\x37\x38\x20\x31\x32\x30\x2e\x31\
+\x36\x36\x30\x31\x2c\x37\x38\x20\x63\x20\x2d\x30\x2e\x35\x32\x33\
+\x36\x32\x2c\x30\x20\x2d\x31\x2e\x32\x32\x30\x30\x32\x2c\x30\x2e\
+\x36\x39\x38\x33\x37\x32\x20\x2d\x31\x2e\x35\x34\x37\x35\x37\x2c\
+\x31\x2e\x35\x35\x31\x39\x33\x38\x20\x2d\x30\x2e\x33\x34\x31\x34\
+\x39\x2c\x30\x2e\x38\x38\x39\x39\x32\x35\x20\x2d\x30\x2e\x31\x37\
+\x33\x38\x35\x2c\x31\x2e\x32\x39\x31\x33\x32\x32\x20\x30\x2e\x33\
+\x39\x33\x30\x31\x2c\x30\x2e\x39\x34\x30\x39\x38\x33\x20\x30\x2e\
+\x35\x34\x33\x37\x2c\x2d\x30\x2e\x33\x33\x36\x30\x32\x35\x20\x30\
+\x2e\x39\x38\x38\x35\x35\x2c\x2d\x30\x2e\x31\x39\x35\x35\x36\x33\
+\x20\x30\x2e\x39\x38\x38\x35\x35\x2c\x30\x2e\x33\x31\x32\x31\x33\
+\x38\x20\x30\x2c\x30\x2e\x39\x39\x30\x33\x32\x20\x2d\x37\x2e\x32\
+\x38\x37\x30\x34\x2c\x32\x2e\x32\x33\x39\x39\x35\x36\x20\x2d\x31\
+\x32\x2e\x33\x38\x39\x35\x37\x2c\x32\x2e\x31\x32\x34\x36\x35\x36\
+\x20\x2d\x32\x2e\x36\x35\x34\x37\x31\x2c\x2d\x30\x2e\x30\x35\x39\
+\x39\x39\x20\x2d\x32\x2e\x38\x31\x37\x34\x2c\x2d\x30\x2e\x31\x39\
+\x37\x39\x36\x33\x20\x2d\x31\x2e\x31\x31\x30\x34\x33\x2c\x2d\x30\
+\x2e\x39\x34\x31\x37\x32\x36\x20\x7a\x20\x4d\x20\x39\x37\x2e\x31\
+\x30\x30\x33\x39\x31\x2c\x37\x31\x2e\x37\x30\x34\x35\x32\x32\x20\
+\x63\x20\x2d\x31\x2e\x32\x36\x34\x39\x31\x38\x2c\x2d\x32\x2e\x31\
+\x30\x36\x33\x30\x39\x20\x2d\x31\x2e\x32\x34\x33\x36\x30\x38\x2c\
+\x2d\x32\x2e\x31\x32\x37\x36\x31\x39\x20\x30\x2e\x34\x37\x38\x33\
+\x33\x32\x2c\x2d\x30\x2e\x34\x37\x38\x33\x33\x32\x20\x30\x2e\x39\
+\x39\x31\x32\x32\x36\x2c\x30\x2e\x39\x34\x39\x34\x30\x35\x20\x31\
+\x2e\x35\x38\x36\x39\x38\x2c\x31\x2e\x39\x34\x31\x34\x34\x20\x31\
+\x2e\x33\x32\x33\x38\x39\x38\x2c\x32\x2e\x32\x30\x34\x35\x32\x32\
+\x20\x2d\x30\x2e\x32\x36\x33\x30\x38\x32\x2c\x30\x2e\x32\x36\x33\
+\x30\x38\x32\x20\x2d\x31\x2e\x30\x37\x34\x30\x38\x35\x2c\x2d\x30\
+\x2e\x35\x31\x33\x37\x30\x34\x20\x2d\x31\x2e\x38\x30\x32\x32\x33\
+\x2c\x2d\x31\x2e\x37\x32\x36\x31\x39\x20\x7a\x20\x4d\x20\x39\x36\
+\x2c\x36\x36\x2e\x37\x35\x30\x31\x34\x37\x20\x63\x20\x30\x2c\x2d\
+\x32\x2e\x38\x38\x36\x35\x32\x34\x20\x31\x2e\x34\x39\x39\x35\x33\
+\x37\x2c\x2d\x34\x2e\x34\x39\x36\x37\x31\x35\x20\x32\x2e\x32\x38\
+\x33\x39\x37\x32\x2c\x2d\x32\x2e\x34\x35\x32\x35\x31\x32\x20\x30\
+\x2e\x32\x37\x31\x34\x34\x38\x2c\x30\x2e\x37\x30\x37\x33\x38\x32\
+\x20\x2d\x30\x2e\x31\x33\x31\x33\x39\x39\x2c\x32\x2e\x31\x34\x30\
+\x38\x30\x36\x20\x2d\x30\x2e\x38\x39\x35\x32\x31\x35\x2c\x33\x2e\
+\x31\x38\x35\x33\x38\x36\x20\x43\x20\x39\x36\x2e\x30\x37\x34\x34\
+\x35\x32\x2c\x36\x39\x2e\x32\x38\x30\x34\x34\x20\x39\x36\x2c\x36\
+\x39\x2e\x32\x34\x31\x31\x35\x20\x39\x36\x2c\x36\x36\x2e\x37\x35\
+\x30\x31\x34\x37\x20\x7a\x20\x6d\x20\x38\x2e\x38\x33\x37\x34\x39\
+\x2c\x31\x2e\x34\x33\x34\x32\x33\x33\x20\x63\x20\x31\x2e\x36\x30\
+\x39\x37\x33\x2c\x2d\x31\x2e\x30\x39\x35\x38\x39\x34\x20\x31\x2e\
+\x31\x31\x34\x35\x34\x2c\x2d\x35\x2e\x37\x38\x34\x32\x36\x32\x20\
+\x2d\x30\x2e\x35\x37\x35\x32\x34\x2c\x2d\x35\x2e\x34\x34\x36\x33\
+\x37\x36\x20\x2d\x31\x2e\x36\x31\x37\x38\x2c\x30\x2e\x33\x32\x33\
+\x34\x39\x31\x20\x2d\x30\x2e\x33\x39\x30\x31\x39\x2c\x2d\x32\x2e\
+\x38\x30\x33\x31\x31\x32\x20\x31\x2e\x39\x30\x30\x31\x35\x2c\x2d\
+\x34\x2e\x38\x33\x39\x35\x32\x35\x20\x43\x20\x31\x30\x38\x2e\x31\
+\x35\x34\x37\x34\x2c\x35\x36\x2e\x31\x32\x37\x30\x32\x39\x20\x31\
+\x30\x37\x2e\x36\x33\x37\x39\x35\x2c\x35\x35\x20\x31\x30\x34\x2e\
+\x38\x33\x33\x33\x33\x2c\x35\x35\x20\x31\x30\x33\x2e\x38\x32\x35\
+\x2c\x35\x35\x20\x31\x30\x33\x2c\x35\x34\x2e\x35\x35\x20\x31\x30\
+\x33\x2c\x35\x34\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\
+\x2e\x35\x36\x32\x35\x2c\x2d\x31\x2e\x30\x30\x36\x38\x39\x31\x20\
+\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x30\x31\x35\x33\x31\x33\x20\x30\
+\x2e\x38\x35\x37\x37\x38\x2c\x2d\x30\x2e\x30\x31\x30\x35\x31\x20\
+\x30\x2e\x37\x39\x34\x33\x32\x2c\x2d\x30\x2e\x33\x30\x33\x35\x37\
+\x37\x20\x2d\x30\x2e\x32\x30\x32\x32\x35\x2c\x2d\x30\x2e\x39\x33\
+\x34\x30\x31\x37\x20\x2d\x30\x2e\x37\x39\x38\x37\x34\x2c\x2d\x30\
+\x2e\x35\x30\x35\x32\x38\x37\x20\x2d\x31\x2e\x38\x31\x31\x32\x34\
+\x2c\x2d\x30\x2e\x36\x39\x36\x38\x33\x39\x20\x2d\x32\x2e\x32\x35\
+\x2c\x2d\x30\x2e\x34\x32\x35\x36\x37\x20\x2d\x30\x2e\x37\x33\x37\
+\x34\x2c\x30\x2e\x34\x35\x35\x37\x33\x36\x20\x2d\x31\x2e\x31\x37\
+\x38\x35\x38\x2c\x2d\x31\x2e\x33\x35\x34\x32\x36\x20\x2d\x31\x2e\
+\x30\x36\x36\x34\x2c\x2d\x34\x2e\x33\x37\x35\x20\x30\x2e\x30\x32\
+\x35\x35\x2c\x2d\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x35\x36\
+\x37\x34\x33\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x31\x2e\x33\x31\x37\
+\x37\x31\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x31\x2e\x30\x32\x36\x32\
+\x37\x37\x2c\x30\x20\x2d\x31\x2e\x31\x33\x38\x34\x30\x37\x2c\x30\
+\x2e\x35\x39\x33\x37\x31\x38\x20\x2d\x30\x2e\x34\x35\x32\x37\x33\
+\x33\x2c\x32\x2e\x33\x39\x37\x31\x37\x37\x20\x30\x2e\x35\x30\x31\
+\x32\x37\x33\x2c\x31\x2e\x33\x31\x38\x34\x34\x38\x20\x30\x2e\x36\
+\x34\x30\x31\x33\x35\x2c\x32\x2e\x36\x36\x38\x34\x34\x38\x20\x30\
+\x2e\x33\x30\x38\x35\x38\x32\x2c\x33\x20\x43\x20\x39\x37\x2e\x35\
+\x38\x35\x33\x30\x33\x2c\x35\x33\x2e\x30\x38\x31\x33\x36\x33\x20\
+\x39\x37\x2c\x35\x31\x2e\x33\x33\x30\x31\x36\x37\x20\x39\x37\x2c\
+\x34\x34\x2e\x36\x30\x36\x39\x38\x39\x20\x63\x20\x30\x2c\x2d\x35\
+\x2e\x38\x31\x38\x39\x36\x39\x20\x30\x2e\x33\x33\x36\x37\x37\x38\
+\x2c\x2d\x37\x2e\x35\x32\x32\x32\x34\x35\x20\x31\x2e\x35\x38\x31\
+\x37\x38\x37\x2c\x2d\x38\x20\x32\x2e\x31\x32\x32\x30\x39\x33\x2c\
+\x2d\x30\x2e\x38\x31\x34\x33\x32\x34\x20\x35\x33\x2e\x39\x32\x36\
+\x37\x36\x33\x2c\x2d\x30\x2e\x37\x38\x32\x32\x30\x39\x20\x35\x33\
+\x2e\x31\x31\x31\x36\x33\x33\x2c\x30\x2e\x30\x33\x32\x39\x32\x20\
+\x2d\x30\x2e\x33\x35\x31\x39\x35\x2c\x30\x2e\x33\x35\x31\x39\x35\
+\x33\x20\x2d\x36\x2e\x34\x37\x39\x37\x32\x2c\x30\x2e\x39\x32\x39\
+\x37\x31\x36\x20\x2d\x31\x33\x2e\x36\x31\x37\x32\x35\x2c\x31\x2e\
+\x32\x38\x33\x39\x31\x38\x20\x2d\x37\x2e\x31\x33\x37\x35\x34\x2c\
+\x30\x2e\x33\x35\x34\x32\x30\x32\x20\x2d\x31\x33\x2e\x32\x34\x32\
+\x31\x35\x2c\x30\x2e\x39\x30\x38\x38\x31\x32\x20\x2d\x31\x33\x2e\
+\x35\x36\x35\x38\x2c\x31\x2e\x32\x33\x32\x34\x36\x36\x20\x2d\x30\
+\x2e\x33\x32\x33\x36\x36\x2c\x30\x2e\x33\x32\x33\x36\x35\x34\x20\
+\x30\x2e\x30\x34\x35\x33\x2c\x32\x2e\x34\x32\x37\x39\x39\x32\x20\
+\x30\x2e\x38\x31\x39\x39\x31\x2c\x34\x2e\x36\x37\x36\x33\x30\x35\
+\x20\x30\x2e\x37\x37\x34\x36\x31\x2c\x32\x2e\x32\x34\x38\x33\x31\
+\x34\x20\x31\x2e\x30\x32\x34\x39\x37\x2c\x34\x2e\x32\x31\x38\x32\
+\x34\x33\x20\x30\x2e\x35\x35\x36\x33\x37\x2c\x34\x2e\x33\x37\x37\
+\x36\x32\x20\x2d\x30\x2e\x34\x36\x38\x36\x31\x2c\x30\x2e\x31\x35\
+\x39\x33\x37\x38\x20\x2d\x30\x2e\x39\x37\x32\x33\x31\x2c\x31\x2e\
+\x39\x37\x36\x33\x37\x35\x20\x2d\x31\x2e\x31\x31\x39\x33\x33\x2c\
+\x34\x2e\x30\x33\x37\x37\x37\x32\x20\x2d\x30\x2e\x31\x37\x38\x36\
+\x39\x2c\x32\x2e\x35\x30\x35\x33\x38\x34\x20\x2d\x30\x2e\x37\x36\
+\x34\x36\x33\x2c\x33\x2e\x37\x37\x31\x39\x36\x33\x20\x2d\x31\x2e\
+\x37\x36\x37\x33\x32\x2c\x33\x2e\x38\x32\x30\x32\x38\x36\x20\x2d\
+\x31\x2e\x33\x33\x33\x33\x33\x2c\x30\x2e\x30\x36\x34\x32\x36\x20\
+\x2d\x31\x2e\x33\x33\x33\x33\x33\x2c\x30\x2e\x31\x34\x37\x38\x31\
+\x33\x20\x30\x2c\x30\x2e\x37\x35\x32\x30\x30\x34\x20\x32\x2e\x30\
+\x35\x34\x34\x31\x2c\x30\x2e\x39\x33\x30\x39\x34\x33\x20\x32\x2e\
+\x33\x34\x35\x33\x33\x2c\x33\x2e\x31\x30\x39\x39\x36\x38\x20\x30\
+\x2e\x35\x30\x39\x32\x38\x2c\x33\x2e\x38\x31\x34\x35\x32\x39\x20\
+\x43\x20\x31\x32\x32\x2e\x36\x37\x39\x31\x37\x2c\x36\x30\x2e\x39\
+\x35\x33\x33\x35\x34\x20\x31\x32\x32\x2c\x36\x31\x2e\x38\x34\x30\
+\x38\x33\x33\x20\x31\x32\x32\x2c\x36\x32\x2e\x36\x30\x36\x39\x38\
+\x39\x20\x31\x32\x32\x2c\x36\x33\x2e\x33\x37\x33\x31\x34\x35\x20\
+\x31\x32\x31\x2e\x35\x30\x31\x38\x36\x2c\x36\x34\x20\x31\x32\x30\
+\x2e\x38\x39\x33\x30\x31\x2c\x36\x34\x20\x63\x20\x2d\x30\x2e\x36\
+\x30\x38\x38\x34\x2c\x30\x20\x2d\x30\x2e\x38\x35\x33\x35\x2c\x30\
+\x2e\x36\x36\x30\x35\x38\x39\x20\x2d\x30\x2e\x35\x34\x33\x36\x37\
+\x2c\x31\x2e\x34\x36\x37\x39\x37\x35\x20\x30\x2e\x33\x30\x39\x38\
+\x32\x2c\x30\x2e\x38\x30\x37\x33\x38\x36\x20\x30\x2e\x32\x34\x35\
+\x34\x37\x2c\x31\x2e\x36\x35\x32\x36\x20\x2d\x30\x2e\x31\x34\x33\
+\x30\x31\x2c\x31\x2e\x38\x37\x38\x32\x35\x32\x20\x2d\x31\x2e\x35\
+\x33\x38\x33\x31\x2c\x30\x2e\x38\x39\x33\x35\x34\x20\x2d\x31\x36\
+\x2e\x36\x36\x31\x36\x37\x2c\x31\x2e\x37\x31\x38\x33\x30\x37\x20\
+\x2d\x31\x35\x2e\x33\x36\x38\x38\x34\x2c\x30\x2e\x38\x33\x38\x31\
+\x35\x33\x20\x7a\x20\x4d\x20\x31\x30\x34\x2c\x34\x38\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x34\x37\x36\x35\x36\
+\x2c\x2d\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\
+\x2d\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x2d\x30\x2e\x37\x38\
+\x30\x39\x2c\x30\x2e\x34\x35\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\
+\x2c\x31\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\
+\x30\x2e\x38\x31\x36\x34\x38\x2c\x31\x20\x31\x2e\x30\x35\x39\x30\
+\x32\x2c\x31\x20\x43\x20\x31\x30\x33\x2e\x38\x30\x31\x35\x36\x2c\
+\x34\x39\x20\x31\x30\x34\x2c\x34\x38\x2e\x35\x35\x20\x31\x30\x34\
+\x2c\x34\x38\x20\x7a\x20\x6d\x20\x2d\x30\x2e\x37\x39\x31\x37\x34\
+\x2c\x2d\x33\x2e\x36\x37\x36\x31\x39\x33\x20\x63\x20\x2d\x30\x2e\
+\x39\x39\x31\x39\x32\x2c\x2d\x30\x2e\x33\x39\x38\x30\x30\x32\x20\
+\x2d\x31\x2e\x30\x32\x31\x35\x33\x2c\x2d\x30\x2e\x38\x34\x33\x38\
+\x37\x38\x20\x2d\x30\x2e\x31\x32\x37\x35\x35\x2c\x2d\x31\x2e\x39\
+\x32\x31\x30\x35\x33\x20\x30\x2e\x39\x32\x37\x30\x31\x2c\x2d\x31\
+\x2e\x31\x31\x36\x39\x38\x34\x20\x30\x2e\x37\x38\x32\x37\x32\x2c\
+\x2d\x31\x2e\x34\x31\x38\x38\x33\x37\x20\x2d\x30\x2e\x37\x30\x38\
+\x32\x37\x2c\x2d\x31\x2e\x34\x38\x31\x37\x30\x31\x20\x2d\x31\x2e\
+\x30\x35\x33\x36\x34\x2c\x2d\x30\x2e\x30\x34\x34\x34\x33\x20\x2d\
+\x31\x2e\x33\x32\x35\x38\x33\x2c\x2d\x30\x2e\x32\x39\x39\x35\x31\
+\x31\x20\x2d\x30\x2e\x36\x32\x32\x34\x34\x2c\x2d\x30\x2e\x35\x38\
+\x33\x33\x33\x34\x20\x32\x2e\x30\x33\x31\x38\x31\x2c\x2d\x30\x2e\
+\x38\x31\x39\x38\x35\x34\x20\x31\x2e\x34\x33\x31\x39\x36\x2c\x2d\
+\x31\x2e\x38\x38\x36\x34\x34\x34\x20\x2d\x31\x2e\x31\x38\x32\x36\
+\x34\x2c\x2d\x32\x2e\x31\x30\x32\x38\x33\x35\x20\x2d\x32\x2e\x30\
+\x38\x35\x39\x38\x35\x2c\x2d\x30\x2e\x31\x37\x32\x36\x34\x31\x20\
+\x2d\x32\x2e\x34\x32\x30\x37\x35\x35\x2c\x30\x2e\x32\x31\x36\x36\
+\x38\x37\x20\x2d\x32\x2e\x33\x34\x39\x32\x33\x36\x2c\x32\x2e\x37\
+\x33\x32\x30\x39\x38\x20\x30\x2e\x30\x36\x30\x39\x39\x2c\x32\x2e\
+\x31\x34\x35\x32\x35\x33\x20\x30\x2e\x36\x34\x37\x34\x34\x34\x2c\
+\x33\x2e\x30\x34\x34\x35\x36\x32\x20\x32\x2e\x31\x38\x32\x36\x33\
+\x36\x2c\x33\x2e\x33\x34\x37\x30\x34\x32\x20\x33\x2e\x30\x35\x30\
+\x33\x2c\x30\x2e\x36\x30\x30\x39\x39\x39\x20\x34\x2e\x32\x39\x31\
+\x37\x35\x2c\x30\x2e\x36\x30\x35\x33\x32\x35\x20\x32\x2e\x38\x30\
+\x37\x35\x2c\x30\x2e\x30\x30\x39\x38\x20\x7a\x20\x4d\x20\x31\x35\
+\x35\x2e\x32\x33\x32\x2c\x36\x31\x20\x63\x20\x30\x2c\x2d\x31\x2e\
+\x39\x32\x35\x20\x30\x2e\x32\x30\x35\x38\x2c\x2d\x32\x2e\x37\x31\
+\x32\x35\x20\x30\x2e\x34\x35\x37\x33\x33\x2c\x2d\x31\x2e\x37\x35\
+\x20\x30\x2e\x32\x35\x31\x35\x32\x2c\x30\x2e\x39\x36\x32\x35\x20\
+\x30\x2e\x32\x35\x31\x35\x32\x2c\x32\x2e\x35\x33\x37\x35\x20\x30\
+\x2c\x33\x2e\x35\x20\x43\x20\x31\x35\x35\x2e\x34\x33\x37\x38\x2c\
+\x36\x33\x2e\x37\x31\x32\x35\x20\x31\x35\x35\x2e\x32\x33\x32\x2c\
+\x36\x32\x2e\x39\x32\x35\x20\x31\x35\x35\x2e\x32\x33\x32\x2c\x36\
+\x31\x20\x7a\x20\x4d\x20\x39\x37\x2e\x35\x36\x34\x32\x39\x33\x2c\
+\x36\x30\x2e\x37\x30\x36\x38\x37\x32\x20\x63\x20\x30\x2e\x33\x37\
+\x35\x35\x33\x31\x2c\x2d\x30\x2e\x39\x38\x36\x32\x32\x31\x20\x30\
+\x2e\x39\x33\x34\x36\x39\x32\x2c\x2d\x31\x2e\x35\x34\x31\x32\x32\
+\x31\x20\x31\x2e\x32\x34\x32\x35\x37\x39\x2c\x2d\x31\x2e\x32\x33\
+\x33\x33\x33\x33\x20\x30\x2e\x33\x30\x37\x38\x38\x37\x2c\x30\x2e\
+\x33\x30\x37\x38\x38\x37\x20\x36\x2e\x33\x34\x65\x2d\x34\x2c\x31\
+\x2e\x31\x31\x34\x37\x39\x34\x20\x2d\x30\x2e\x36\x38\x32\x37\x38\
+\x34\x2c\x31\x2e\x37\x39\x33\x31\x32\x38\x20\x2d\x30\x2e\x39\x38\
+\x37\x36\x31\x36\x2c\x30\x2e\x39\x38\x30\x32\x36\x37\x20\x2d\x31\
+\x2e\x31\x30\x32\x34\x38\x2c\x30\x2e\x38\x36\x35\x34\x30\x33\x20\
+\x2d\x30\x2e\x35\x35\x39\x37\x39\x35\x2c\x2d\x30\x2e\x35\x35\x39\
+\x37\x39\x35\x20\x7a\x20\x4d\x20\x31\x35\x35\x2e\x33\x36\x35\x32\
+\x33\x2c\x34\x37\x2e\x35\x20\x63\x20\x30\x2e\x30\x30\x33\x2c\x2d\
+\x35\x2e\x35\x20\x30\x2e\x31\x37\x30\x35\x33\x2c\x2d\x37\x2e\x36\
+\x32\x32\x34\x31\x35\x20\x30\x2e\x33\x37\x33\x31\x37\x2c\x2d\x34\
+\x2e\x37\x31\x36\x34\x37\x38\x20\x30\x2e\x32\x30\x32\x36\x35\x2c\
+\x32\x2e\x39\x30\x35\x39\x33\x37\x20\x30\x2e\x32\x30\x30\x35\x32\
+\x2c\x37\x2e\x34\x30\x35\x39\x33\x37\x20\x2d\x30\x2e\x30\x30\x35\
+\x2c\x31\x30\x20\x43\x20\x31\x35\x35\x2e\x35\x32\x38\x34\x32\x2c\
+\x35\x35\x2e\x33\x37\x37\x35\x38\x35\x20\x31\x35\x35\x2e\x33\x36\
+\x32\x36\x33\x2c\x35\x33\x20\x31\x35\x35\x2e\x33\x36\x35\x32\x33\
+\x2c\x34\x37\x2e\x35\x20\x7a\x20\x4d\x20\x39\x36\x2e\x36\x30\x33\
+\x30\x30\x36\x2c\x35\x34\x2e\x38\x33\x33\x33\x33\x33\x20\x43\x20\
+\x39\x36\x2e\x38\x38\x36\x32\x37\x31\x2c\x35\x34\x2e\x33\x37\x35\
+\x20\x39\x37\x2e\x35\x34\x31\x34\x37\x36\x2c\x35\x34\x20\x39\x38\
+\x2e\x30\x35\x39\x30\x31\x37\x2c\x35\x34\x20\x39\x38\x2e\x35\x37\
+\x36\x35\x35\x38\x2c\x35\x34\x20\x39\x39\x2c\x35\x34\x2e\x33\x37\
+\x35\x20\x39\x39\x2c\x35\x34\x2e\x38\x33\x33\x33\x33\x33\x20\x63\
+\x20\x30\x2c\x30\x2e\x34\x35\x38\x33\x33\x34\x20\x2d\x30\x2e\x36\
+\x35\x35\x32\x30\x35\x2c\x30\x2e\x38\x33\x33\x33\x33\x34\x20\x2d\
+\x31\x2e\x34\x35\x36\x30\x31\x31\x2c\x30\x2e\x38\x33\x33\x33\x33\
+\x34\x20\x2d\x30\x2e\x38\x30\x30\x38\x30\x37\x2c\x30\x20\x2d\x31\
+\x2e\x32\x32\x34\x32\x34\x39\x2c\x2d\x30\x2e\x33\x37\x35\x20\x2d\
+\x30\x2e\x39\x34\x30\x39\x38\x33\x2c\x2d\x30\x2e\x38\x33\x33\x33\
+\x33\x34\x20\x7a\x20\x4d\x20\x31\x33\x39\x2e\x35\x2c\x34\x34\x20\
+\x63\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\
+\x31\x2e\x30\x36\x38\x30\x33\x2c\x2d\x31\x20\x31\x2e\x36\x31\x38\
+\x30\x33\x2c\x2d\x31\x20\x30\x2e\x35\x35\x2c\x30\x20\x30\x2e\x37\
+\x32\x31\x38\x39\x2c\x30\x2e\x34\x35\x20\x30\x2e\x33\x38\x31\x39\
+\x37\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\
+\x35\x20\x2d\x31\x2e\x30\x36\x38\x30\x33\x2c\x31\x20\x2d\x31\x2e\
+\x36\x31\x38\x30\x33\x2c\x31\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\
+\x2d\x30\x2e\x37\x32\x31\x38\x39\x2c\x2d\x30\x2e\x34\x35\x20\x2d\
+\x30\x2e\x33\x38\x31\x39\x37\x2c\x2d\x31\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\x33\
+\x32\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x63\x30\x62\x64\x62\x65\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\x31\x37\x2e\x38\x31\x32\x35\
+\x2c\x32\x31\x33\x2e\x33\x31\x36\x38\x39\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\
+\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\
+\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x6d\x20\x31\x39\x2e\x37\x37\x31\x33\x2c\x2d\x33\
+\x2e\x31\x38\x31\x33\x20\x63\x20\x2d\x30\x2e\x39\x39\x39\x33\x31\
+\x2c\x2d\x31\x2e\x36\x31\x36\x39\x32\x20\x2d\x30\x2e\x32\x31\x33\
+\x34\x31\x2c\x2d\x31\x30\x2e\x30\x32\x30\x39\x36\x20\x30\x2e\x38\
+\x38\x30\x34\x39\x2c\x2d\x39\x2e\x34\x31\x35\x34\x36\x20\x30\x2e\
+\x35\x36\x39\x36\x34\x2c\x30\x2e\x33\x31\x35\x33\x20\x30\x2e\x34\
+\x37\x33\x32\x31\x2c\x2d\x30\x2e\x30\x33\x32\x37\x20\x2d\x30\x2e\
+\x32\x31\x34\x32\x39\x2c\x2d\x30\x2e\x37\x37\x33\x34\x33\x20\x2d\
+\x31\x2e\x34\x38\x36\x31\x32\x2c\x2d\x31\x2e\x36\x30\x31\x30\x38\
+\x20\x2d\x31\x2e\x36\x38\x34\x32\x38\x2c\x2d\x34\x2e\x33\x33\x33\
+\x31\x33\x20\x2d\x30\x2e\x32\x35\x2c\x2d\x33\x2e\x34\x34\x36\x37\
+\x20\x30\x2e\x35\x35\x2c\x30\x2e\x33\x33\x39\x39\x32\x20\x31\x2c\
+\x2d\x30\x2e\x33\x30\x38\x35\x32\x20\x31\x2c\x2d\x31\x2e\x34\x34\
+\x30\x39\x38\x20\x30\x2c\x2d\x31\x2e\x31\x33\x32\x34\x36\x20\x2d\
+\x30\x2e\x35\x36\x32\x35\x2c\x2d\x32\x2e\x30\x36\x35\x39\x31\x20\
+\x2d\x31\x2e\x32\x35\x2c\x2d\x32\x2e\x30\x37\x34\x33\x33\x20\x2d\
+\x30\x2e\x38\x30\x34\x34\x37\x2c\x2d\x30\x2e\x30\x31\x20\x2d\x30\
+\x2e\x38\x38\x31\x36\x35\x2c\x2d\x30\x2e\x32\x37\x37\x31\x38\x20\
+\x2d\x30\x2e\x32\x31\x36\x35\x34\x2c\x2d\x30\x2e\x37\x35\x20\x30\
+\x2e\x35\x36\x38\x34\x2c\x2d\x30\x2e\x34\x30\x34\x30\x38\x20\x30\
+\x2e\x39\x39\x38\x30\x36\x2c\x2d\x31\x2e\x34\x30\x39\x36\x39\x20\
+\x30\x2e\x39\x35\x34\x38\x2c\x2d\x32\x2e\x32\x33\x34\x36\x39\x20\
+\x2d\x30\x2e\x30\x34\x33\x33\x2c\x2d\x30\x2e\x38\x32\x35\x20\x30\
+\x2e\x34\x35\x36\x33\x2c\x2d\x33\x2e\x36\x31\x30\x33\x38\x20\x31\
+\x2e\x31\x31\x30\x31\x33\x2c\x2d\x36\x2e\x31\x38\x39\x37\x34\x20\
+\x30\x2e\x36\x35\x33\x38\x34\x2c\x2d\x32\x2e\x35\x37\x39\x33\x36\
+\x20\x30\x2e\x39\x33\x32\x30\x33\x2c\x2d\x34\x2e\x39\x34\x36\x35\
+\x31\x20\x30\x2e\x36\x31\x38\x32\x2c\x2d\x35\x2e\x32\x36\x30\x33\
+\x33\x20\x2d\x30\x2e\x33\x31\x33\x38\x32\x2c\x2d\x30\x2e\x33\x31\
+\x33\x38\x33\x20\x30\x2e\x32\x34\x30\x31\x38\x2c\x2d\x31\x2e\x31\
+\x36\x33\x34\x35\x20\x31\x2e\x32\x33\x31\x31\x33\x2c\x2d\x31\x2e\
+\x38\x38\x38\x30\x34\x20\x31\x2e\x33\x37\x35\x30\x36\x2c\x2d\x31\
+\x2e\x30\x30\x35\x34\x37\x20\x32\x2e\x37\x31\x39\x34\x31\x2c\x2d\
+\x31\x2e\x30\x37\x32\x35\x20\x35\x2e\x36\x37\x37\x2c\x2d\x30\x2e\
+\x32\x38\x33\x30\x38\x20\x32\x2e\x31\x33\x31\x34\x2c\x30\x2e\x35\
+\x36\x38\x39\x31\x20\x33\x2e\x38\x37\x35\x32\x38\x2c\x31\x2e\x34\
+\x33\x39\x35\x35\x20\x33\x2e\x38\x37\x35\x32\x38\x2c\x31\x2e\x39\
+\x33\x34\x37\x37\x20\x30\x2c\x30\x2e\x34\x39\x35\x32\x32\x20\x2d\
+\x30\x2e\x37\x38\x37\x35\x2c\x30\x2e\x36\x32\x36\x31\x35\x20\x2d\
+\x31\x2e\x37\x35\x2c\x30\x2e\x32\x39\x30\x39\x36\x20\x2d\x31\x2e\
+\x34\x32\x35\x32\x38\x2c\x2d\x30\x2e\x34\x39\x36\x33\x36\x20\x2d\
+\x31\x2e\x33\x37\x38\x39\x2c\x2d\x30\x2e\x33\x30\x37\x34\x37\x20\
+\x30\x2e\x32\x35\x2c\x31\x2e\x30\x31\x37\x39\x38\x20\x31\x2e\x39\
+\x36\x38\x2c\x31\x2e\x36\x30\x31\x33\x39\x20\x31\x2e\x39\x36\x32\
+\x34\x32\x2c\x31\x2e\x36\x31\x38\x35\x31\x20\x2d\x30\x2e\x33\x34\
+\x38\x39\x31\x2c\x31\x2e\x30\x37\x30\x32\x31\x20\x2d\x31\x2e\x32\
+\x39\x31\x39\x31\x2c\x2d\x30\x2e\x33\x30\x36\x34\x37\x20\x2d\x32\
+\x2e\x31\x30\x36\x35\x2c\x2d\x30\x2e\x33\x31\x34\x38\x31\x20\x2d\
+\x31\x2e\x38\x31\x30\x32\x32\x2c\x2d\x30\x2e\x30\x31\x38\x35\x20\
+\x30\x2e\x32\x39\x36\x32\x38\x2c\x30\x2e\x32\x39\x36\x32\x39\x20\
+\x2d\x30\x2e\x33\x33\x34\x32\x31\x2c\x31\x2e\x34\x37\x35\x36\x35\
+\x20\x2d\x31\x2e\x34\x30\x31\x30\x39\x2c\x32\x2e\x36\x32\x30\x38\
+\x31\x20\x2d\x31\x2e\x38\x36\x34\x31\x37\x2c\x32\x2e\x30\x30\x30\
+\x39\x36\x20\x2d\x32\x2e\x31\x38\x39\x37\x38\x2c\x32\x2e\x39\x32\
+\x33\x36\x20\x2d\x32\x2e\x31\x38\x39\x37\x38\x2c\x36\x2e\x32\x30\
+\x34\x39\x39\x20\x30\x2c\x32\x2e\x39\x33\x37\x35\x33\x20\x30\x2e\
+\x32\x37\x39\x39\x34\x2c\x33\x2e\x32\x31\x36\x39\x33\x20\x32\x2e\
+\x37\x35\x2c\x32\x2e\x37\x34\x34\x37\x35\x20\x31\x2e\x35\x31\x39\
+\x39\x36\x2c\x2d\x30\x2e\x32\x39\x30\x35\x36\x20\x32\x2e\x35\x2c\
+\x2d\x30\x2e\x30\x31\x37\x31\x20\x32\x2e\x35\x2c\x30\x2e\x36\x39\
+\x37\x36\x39\x20\x30\x2c\x30\x2e\x36\x34\x36\x35\x38\x20\x30\x2e\
+\x34\x35\x2c\x30\x2e\x38\x39\x37\x34\x38\x20\x31\x2c\x30\x2e\x35\
+\x35\x37\x35\x36\x20\x30\x2e\x35\x35\x2c\x2d\x30\x2e\x33\x33\x39\
+\x39\x32\x20\x31\x2c\x2d\x30\x2e\x33\x37\x38\x30\x33\x20\x31\x2c\
+\x2d\x30\x2e\x30\x38\x34\x37\x20\x30\x2c\x30\x2e\x32\x39\x33\x33\
+\x34\x20\x2d\x31\x2e\x33\x35\x2c\x31\x2e\x32\x33\x31\x34\x35\x20\
+\x2d\x33\x2c\x32\x2e\x30\x38\x34\x37\x20\x2d\x33\x2e\x33\x38\x31\
+\x34\x34\x2c\x31\x2e\x37\x34\x38\x36\x31\x20\x2d\x33\x2e\x37\x37\
+\x33\x37\x35\x2c\x33\x2e\x32\x31\x33\x37\x34\x20\x2d\x31\x2e\x33\
+\x33\x37\x35\x32\x2c\x34\x2e\x39\x39\x35\x31\x35\x20\x30\x2e\x39\
+\x31\x34\x33\x36\x2c\x30\x2e\x36\x36\x38\x36\x20\x31\x2e\x34\x31\
+\x39\x37\x33\x2c\x31\x2e\x38\x34\x33\x32\x31\x20\x31\x2e\x31\x32\
+\x33\x30\x34\x2c\x32\x2e\x36\x31\x30\x32\x34\x20\x2d\x30\x2e\x37\
+\x38\x38\x33\x2c\x32\x2e\x30\x33\x37\x39\x35\x20\x2d\x39\x2e\x35\
+\x35\x33\x38\x35\x2c\x38\x2e\x30\x37\x38\x34\x37\x20\x2d\x31\x30\
+\x2e\x32\x30\x31\x37\x32\x2c\x37\x2e\x30\x33\x30\x32\x20\x7a\x20\
+\x6d\x20\x2d\x33\x38\x2e\x30\x37\x34\x37\x35\x39\x2c\x2d\x39\x2e\
+\x34\x38\x36\x35\x31\x20\x63\x20\x2d\x30\x2e\x37\x38\x37\x33\x38\
+\x36\x2c\x2d\x31\x2e\x38\x32\x30\x36\x36\x20\x30\x2e\x36\x39\x38\
+\x36\x33\x39\x2c\x2d\x33\x2e\x36\x31\x38\x34\x35\x20\x32\x2e\x39\
+\x39\x30\x39\x35\x39\x2c\x2d\x33\x2e\x36\x31\x38\x34\x35\x20\x30\
+\x2e\x35\x35\x2c\x30\x20\x30\x2e\x34\x38\x39\x35\x36\x2c\x30\x2e\
+\x33\x33\x30\x36\x20\x2d\x30\x2e\x31\x33\x34\x33\x32\x2c\x30\x2e\
+\x37\x33\x34\x36\x38\x20\x2d\x30\x2e\x36\x32\x33\x38\x37\x2c\x30\
+\x2e\x34\x30\x34\x30\x38\x20\x2d\x31\x2e\x33\x34\x31\x37\x33\x2c\
+\x31\x2e\x36\x33\x34\x36\x39\x20\x2d\x31\x2e\x35\x39\x35\x32\x34\
+\x2c\x32\x2e\x37\x33\x34\x36\x39\x20\x2d\x30\x2e\x34\x33\x37\x39\
+\x36\x2c\x31\x2e\x39\x30\x30\x33\x34\x20\x2d\x30\x2e\x35\x30\x30\
+\x38\x31\x2c\x31\x2e\x39\x30\x37\x37\x37\x20\x2d\x31\x2e\x32\x36\
+\x31\x33\x39\x39\x2c\x30\x2e\x31\x34\x39\x30\x38\x20\x7a\x20\x6d\
+\x20\x31\x31\x2e\x33\x30\x33\x34\x37\x39\x2c\x2d\x30\x2e\x37\x31\
+\x31\x35\x33\x20\x63\x20\x2d\x30\x2e\x31\x39\x31\x38\x35\x2c\x2d\
+\x30\x2e\x35\x37\x35\x35\x35\x20\x2d\x31\x2e\x31\x31\x35\x31\x33\
+\x2c\x2d\x31\x2e\x31\x35\x38\x39\x33\x20\x2d\x32\x2e\x30\x35\x31\
+\x37\x33\x2c\x2d\x31\x2e\x32\x39\x36\x33\x39\x20\x2d\x33\x2e\x30\
+\x36\x30\x30\x37\x2c\x2d\x30\x2e\x34\x34\x39\x31\x33\x20\x2d\x33\
+\x2e\x32\x33\x31\x39\x39\x2c\x2d\x31\x2e\x37\x30\x37\x36\x32\x20\
+\x2d\x30\x2e\x32\x30\x38\x34\x2c\x2d\x31\x2e\x35\x32\x35\x35\x20\
+\x31\x2e\x36\x32\x31\x31\x39\x2c\x30\x2e\x30\x39\x37\x37\x20\x35\
+\x2e\x30\x38\x35\x31\x31\x2c\x2d\x30\x2e\x31\x36\x34\x35\x32\x20\
+\x37\x2e\x36\x39\x37\x36\x31\x2c\x2d\x30\x2e\x35\x38\x32\x36\x20\
+\x33\x2e\x39\x38\x35\x34\x38\x2c\x2d\x30\x2e\x36\x33\x37\x38\x20\
+\x34\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x30\x35\x35\x20\x34\x2e\x37\
+\x35\x2c\x30\x2e\x38\x32\x32\x30\x31\x20\x30\x2c\x30\x2e\x39\x34\
+\x34\x36\x38\x20\x2d\x30\x2e\x35\x36\x33\x36\x33\x2c\x31\x2e\x33\
+\x36\x35\x38\x38\x20\x2d\x31\x2e\x33\x39\x38\x38\x35\x2c\x31\x2e\
+\x30\x34\x35\x33\x37\x20\x2d\x30\x2e\x37\x36\x39\x33\x37\x2c\x2d\
+\x30\x2e\x32\x39\x35\x32\x33\x20\x2d\x31\x2e\x37\x30\x30\x34\x36\
+\x2c\x2d\x30\x2e\x30\x34\x38\x38\x20\x2d\x32\x2e\x30\x36\x39\x31\
+\x2c\x30\x2e\x35\x34\x37\x37\x20\x2d\x30\x2e\x33\x36\x38\x36\x33\
+\x2c\x30\x2e\x35\x39\x36\x34\x37\x20\x2d\x31\x2e\x30\x37\x39\x38\
+\x35\x2c\x30\x2e\x38\x33\x31\x33\x33\x20\x2d\x31\x2e\x35\x38\x30\
+\x34\x38\x2c\x30\x2e\x35\x32\x31\x39\x33\x20\x2d\x30\x2e\x35\x30\
+\x30\x36\x33\x2c\x2d\x30\x2e\x33\x30\x39\x34\x31\x20\x2d\x31\x2e\
+\x37\x38\x33\x32\x34\x2c\x2d\x30\x2e\x30\x39\x35\x33\x20\x2d\x32\
+\x2e\x38\x35\x30\x32\x33\x2c\x30\x2e\x34\x37\x35\x37\x20\x2d\x31\
+\x2e\x33\x34\x34\x38\x34\x2c\x30\x2e\x37\x31\x39\x37\x33\x20\x2d\
+\x32\x2e\x30\x34\x37\x30\x31\x2c\x30\x2e\x37\x31\x37\x32\x31\x20\
+\x2d\x32\x2e\x32\x38\x38\x38\x32\x2c\x2d\x30\x2e\x30\x30\x38\x20\
+\x7a\x20\x6d\x20\x2d\x35\x2e\x30\x30\x30\x30\x32\x2c\x2d\x35\x2e\
+\x36\x32\x30\x36\x36\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\
+\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\
+\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\
+\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\
+\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\
+\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\
+\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\
+\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\
+\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\
+\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x4d\
+\x20\x31\x30\x39\x2c\x31\x39\x33\x2e\x32\x36\x30\x31\x20\x63\x20\
+\x30\x2c\x2d\x31\x2e\x35\x31\x37\x34\x34\x20\x37\x2e\x35\x33\x37\
+\x31\x35\x2c\x2d\x34\x2e\x30\x37\x31\x32\x34\x20\x31\x30\x2e\x34\
+\x30\x30\x32\x39\x2c\x2d\x33\x2e\x35\x32\x33\x39\x31\x20\x31\x2e\
+\x34\x32\x39\x38\x34\x2c\x30\x2e\x32\x37\x33\x33\x33\x20\x32\x2e\
+\x35\x39\x39\x37\x31\x2c\x30\x2e\x37\x39\x36\x33\x36\x20\x32\x2e\
+\x35\x39\x39\x37\x31\x2c\x31\x2e\x31\x36\x32\x32\x38\x20\x30\x2c\
+\x30\x2e\x33\x36\x35\x39\x32\x20\x31\x2e\x32\x30\x31\x32\x37\x2c\
+\x30\x2e\x37\x36\x34\x37\x33\x20\x32\x2e\x36\x36\x39\x34\x39\x2c\
+\x30\x2e\x38\x38\x36\x32\x35\x20\x35\x2e\x38\x31\x39\x38\x31\x2c\
+\x30\x2e\x34\x38\x31\x36\x36\x20\x33\x2e\x33\x39\x36\x33\x37\x2c\
+\x31\x2e\x33\x35\x35\x30\x31\x20\x2d\x33\x2e\x31\x37\x36\x32\x33\
+\x2c\x31\x2e\x31\x34\x34\x36\x33\x20\x2d\x33\x2e\x38\x34\x36\x32\
+\x39\x2c\x2d\x30\x2e\x31\x32\x33\x31\x31\x20\x2d\x38\x2e\x32\x33\
+\x30\x37\x36\x2c\x30\x2e\x31\x31\x36\x32\x31\x20\x2d\x39\x2e\x37\
+\x34\x33\x32\x36\x2c\x30\x2e\x35\x33\x31\x38\x32\x20\x2d\x31\x2e\
+\x36\x31\x30\x32\x38\x2c\x30\x2e\x34\x34\x32\x34\x37\x20\x2d\x32\
+\x2e\x37\x35\x2c\x30\x2e\x33\x35\x39\x31\x34\x20\x2d\x32\x2e\x37\
+\x35\x2c\x2d\x30\x2e\x32\x30\x31\x30\x37\x20\x7a\x20\x6d\x20\x2d\
+\x31\x32\x2c\x2d\x39\x2e\x32\x30\x31\x30\x38\x20\x63\x20\x30\x2c\
+\x2d\x31\x2e\x36\x37\x36\x34\x33\x20\x31\x2e\x37\x37\x33\x35\x34\
+\x34\x2c\x2d\x32\x2e\x30\x39\x31\x35\x34\x20\x32\x2e\x33\x36\x33\
+\x38\x33\x2c\x2d\x30\x2e\x35\x35\x33\x32\x38\x20\x43\x20\x39\x39\
+\x2e\x37\x31\x32\x31\x33\x32\x2c\x31\x38\x34\x2e\x34\x31\x33\x34\
+\x20\x39\x39\x2e\x33\x36\x30\x36\x39\x39\x2c\x31\x38\x35\x20\x39\
+\x38\x2e\x34\x36\x38\x36\x31\x35\x2c\x31\x38\x35\x20\x39\x37\x2e\
+\x36\x36\x30\x38\x37\x37\x2c\x31\x38\x35\x20\x39\x37\x2c\x31\x38\
+\x34\x2e\x35\x37\x36\x35\x36\x20\x39\x37\x2c\x31\x38\x34\x2e\x30\
+\x35\x39\x30\x32\x20\x7a\x20\x6d\x20\x38\x2c\x2d\x30\x2e\x39\x32\
+\x39\x35\x32\x20\x63\x20\x30\x2c\x2d\x30\x2e\x34\x30\x30\x32\x20\
+\x31\x2e\x34\x36\x32\x35\x2c\x2d\x30\x2e\x37\x35\x30\x36\x35\x20\
+\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x37\x37\x38\x37\x37\x20\x31\x2e\
+\x37\x38\x37\x35\x2c\x2d\x30\x2e\x30\x32\x38\x31\x20\x34\x2e\x34\
+\x38\x36\x34\x39\x2c\x2d\x30\x2e\x33\x39\x32\x30\x38\x20\x35\x2e\
+\x39\x39\x37\x37\x36\x2c\x2d\x30\x2e\x38\x30\x38\x37\x38\x20\x31\
+\x2e\x35\x31\x31\x32\x37\x2c\x2d\x30\x2e\x34\x31\x36\x37\x31\x20\
+\x33\x2e\x35\x33\x36\x32\x37\x2c\x2d\x30\x2e\x34\x33\x39\x30\x34\
+\x20\x34\x2e\x35\x2c\x2d\x30\x2e\x30\x34\x39\x36\x20\x31\x2e\x35\
+\x37\x37\x38\x31\x2c\x30\x2e\x36\x33\x37\x35\x33\x20\x31\x2e\x35\
+\x33\x38\x38\x2c\x30\x2e\x37\x39\x30\x34\x38\x20\x2d\x30\x2e\x33\
+\x39\x31\x37\x38\x2c\x31\x2e\x35\x33\x36\x34\x32\x20\x43\x20\x31\
+\x31\x35\x2e\x37\x31\x33\x38\x33\x2c\x31\x38\x34\x2e\x30\x34\x39\
+\x36\x31\x20\x31\x30\x35\x2c\x31\x38\x34\x2e\x31\x33\x30\x34\x35\
+\x20\x31\x30\x35\x2c\x31\x38\x33\x2e\x31\x32\x39\x35\x20\x7a\x20\
+\x6d\x20\x2d\x31\x2c\x2d\x33\x2e\x31\x36\x30\x38\x38\x20\x43\x20\
+\x31\x30\x34\x2c\x31\x37\x39\x2e\x34\x33\x35\x38\x38\x20\x31\x30\
+\x34\x2e\x36\x37\x35\x2c\x31\x37\x39\x20\x31\x30\x35\x2e\x35\x2c\
+\x31\x37\x39\x20\x63\x20\x30\x2e\x38\x32\x35\x2c\x30\x20\x31\x2e\
+\x35\x2c\x30\x2e\x31\x37\x36\x38\x36\x20\x31\x2e\x35\x2c\x30\x2e\
+\x33\x39\x33\x30\x31\x20\x30\x2c\x30\x2e\x32\x31\x36\x31\x36\x20\
+\x2d\x30\x2e\x36\x37\x35\x2c\x30\x2e\x36\x35\x32\x30\x33\x20\x2d\
+\x31\x2e\x35\x2c\x30\x2e\x39\x36\x38\x36\x32\x20\x2d\x30\x2e\x38\
+\x32\x35\x2c\x30\x2e\x33\x31\x36\x35\x38\x20\x2d\x31\x2e\x35\x2c\
+\x30\x2e\x31\x33\x39\x37\x32\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\
+\x33\x39\x33\x30\x31\x20\x7a\x20\x6d\x20\x31\x36\x2e\x37\x35\x2c\
+\x30\x2e\x33\x36\x39\x31\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\
+\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\
+\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\
+\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\
+\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\
+\x33\x39\x20\x7a\x20\x6d\x20\x39\x2c\x2d\x31\x20\x63\x20\x30\x2e\
+\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\
+\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\
+\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\
+\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\
+\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\
+\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\
+\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x2d\x32\x30\x2e\
+\x30\x34\x34\x31\x32\x2c\x2d\x32\x2e\x30\x31\x33\x36\x35\x20\x63\
+\x20\x30\x2e\x32\x37\x39\x34\x36\x2c\x2d\x30\x2e\x37\x32\x38\x32\
+\x34\x20\x31\x2e\x31\x33\x34\x39\x35\x2c\x2d\x31\x2e\x33\x38\x30\
+\x33\x32\x20\x31\x2e\x39\x30\x31\x31\x31\x2c\x2d\x31\x2e\x34\x34\
+\x39\x30\x37\x20\x32\x2e\x31\x35\x36\x36\x35\x2c\x2d\x30\x2e\x31\
+\x39\x33\x35\x32\x20\x38\x2e\x30\x34\x37\x32\x32\x2c\x2d\x30\x2e\
+\x31\x34\x37\x39\x20\x31\x31\x2e\x36\x34\x33\x30\x31\x2c\x30\x2e\
+\x30\x39\x30\x32\x20\x6c\x20\x33\x2e\x32\x35\x2c\x30\x2e\x32\x31\
+\x35\x31\x39\x20\x2d\x33\x2c\x30\x2e\x38\x31\x37\x38\x36\x20\x63\
+\x20\x2d\x31\x2e\x36\x35\x2c\x30\x2e\x34\x34\x39\x38\x32\x20\x2d\
+\x35\x2e\x35\x34\x33\x2c\x31\x2e\x30\x30\x35\x30\x37\x20\x2d\x38\
+\x2e\x36\x35\x31\x31\x31\x2c\x31\x2e\x32\x33\x33\x38\x38\x20\x2d\
+\x34\x2e\x33\x39\x39\x35\x34\x2c\x30\x2e\x33\x32\x33\x38\x39\x20\
+\x2d\x35\x2e\x35\x33\x38\x35\x37\x2c\x30\x2e\x31\x32\x32\x37\x38\
+\x20\x2d\x35\x2e\x31\x34\x33\x30\x31\x2c\x2d\x30\x2e\x39\x30\x38\
+\x30\x35\x20\x7a\x20\x6d\x20\x33\x33\x2e\x30\x32\x37\x34\x35\x2c\
+\x2d\x34\x2e\x34\x34\x38\x31\x36\x20\x63\x20\x30\x2e\x36\x37\x38\
+\x33\x34\x2c\x2d\x30\x2e\x36\x38\x33\x34\x32\x20\x31\x2e\x34\x38\
+\x35\x32\x34\x2c\x2d\x30\x2e\x39\x39\x30\x36\x37\x20\x31\x2e\x37\
+\x39\x33\x31\x33\x2c\x2d\x30\x2e\x36\x38\x32\x37\x38\x20\x30\x2e\
+\x33\x30\x37\x38\x39\x2c\x30\x2e\x33\x30\x37\x38\x39\x20\x2d\x30\
+\x2e\x32\x34\x37\x31\x31\x2c\x30\x2e\x38\x36\x37\x30\x35\x20\x2d\
+\x31\x2e\x32\x33\x33\x33\x33\x2c\x31\x2e\x32\x34\x32\x35\x38\x20\
+\x2d\x31\x2e\x34\x32\x35\x32\x2c\x30\x2e\x35\x34\x32\x36\x38\x20\
+\x2d\x31\x2e\x35\x34\x30\x30\x36\x2c\x30\x2e\x34\x32\x37\x38\x32\
+\x20\x2d\x30\x2e\x35\x35\x39\x38\x2c\x2d\x30\x2e\x35\x35\x39\x38\
+\x20\x7a\x20\x6d\x20\x2d\x34\x36\x2e\x32\x37\x34\x34\x34\x39\x2c\
+\x2d\x31\x2e\x39\x34\x32\x34\x34\x20\x63\x20\x2d\x30\x2e\x33\x36\
+\x32\x35\x33\x33\x2c\x2d\x30\x2e\x35\x38\x36\x35\x39\x20\x2d\x30\
+\x2e\x34\x34\x34\x36\x38\x33\x2c\x2d\x31\x2e\x32\x38\x31\x20\x2d\
+\x30\x2e\x31\x38\x32\x35\x35\x35\x2c\x2d\x31\x2e\x35\x34\x33\x31\
+\x33\x20\x30\x2e\x32\x36\x32\x31\x32\x38\x2c\x2d\x30\x2e\x32\x36\
+\x32\x31\x33\x20\x30\x2e\x37\x34\x33\x30\x36\x36\x2c\x30\x2e\x32\
+\x31\x37\x38\x31\x20\x31\x2e\x30\x36\x38\x37\x35\x31\x2c\x31\x2e\
+\x30\x36\x36\x35\x33\x20\x30\x2e\x36\x37\x36\x31\x38\x34\x2c\x31\
+\x2e\x37\x36\x32\x31\x31\x20\x30\x2e\x30\x39\x39\x38\x35\x2c\x32\
+\x2e\x30\x37\x32\x30\x36\x20\x2d\x30\x2e\x38\x38\x36\x31\x39\x36\
+\x2c\x30\x2e\x34\x37\x36\x36\x20\x7a\x20\x4d\x20\x39\x38\x2e\x30\
+\x31\x35\x33\x31\x33\x2c\x31\x36\x38\x2e\x37\x35\x20\x63\x20\x2d\
+\x30\x2e\x30\x31\x31\x31\x35\x2c\x2d\x31\x2e\x32\x37\x33\x38\x37\
+\x20\x30\x2e\x37\x33\x32\x38\x39\x36\x2c\x2d\x31\x2e\x37\x31\x38\
+\x34\x34\x20\x32\x2e\x37\x33\x34\x36\x38\x37\x2c\x2d\x31\x2e\x36\
+\x33\x34\x20\x32\x2e\x31\x30\x37\x37\x39\x2c\x30\x2e\x30\x38\x38\
+\x39\x20\x32\x2e\x32\x38\x32\x39\x34\x2c\x30\x2e\x32\x33\x32\x36\
+\x39\x20\x30\x2e\x37\x35\x2c\x30\x2e\x36\x31\x35\x36\x38\x20\x2d\
+\x31\x2e\x31\x2c\x30\x2e\x32\x37\x34\x38\x33\x20\x2d\x32\x2e\x33\
+\x33\x30\x36\x30\x39\x2c\x31\x2e\x30\x31\x30\x31\x33\x20\x2d\x32\
+\x2e\x37\x33\x34\x36\x38\x37\x2c\x31\x2e\x36\x33\x34\x20\x2d\x30\
+\x2e\x34\x36\x36\x32\x35\x38\x2c\x30\x2e\x37\x31\x39\x38\x38\x20\
+\x2d\x30\x2e\x37\x34\x30\x32\x38\x32\x2c\x30\x2e\x34\x39\x34\x39\
+\x33\x20\x2d\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x36\x31\x35\x36\x38\
+\x20\x7a\x20\x4d\x20\x31\x30\x36\x2c\x31\x36\x38\x2e\x35\x20\x63\
+\x20\x2d\x31\x2e\x30\x36\x31\x33\x36\x2c\x2d\x31\x2e\x32\x37\x38\
+\x38\x37\x20\x2d\x30\x2e\x37\x38\x34\x35\x37\x2c\x2d\x31\x2e\x35\
+\x20\x31\x2e\x38\x37\x37\x35\x36\x2c\x2d\x31\x2e\x35\x20\x33\x2e\
+\x33\x30\x37\x33\x33\x2c\x30\x20\x34\x2e\x31\x39\x32\x37\x36\x2c\
+\x31\x2e\x33\x37\x35\x33\x20\x31\x2e\x35\x34\x30\x36\x35\x2c\x32\
+\x2e\x33\x39\x33\x30\x31\x20\x2d\x32\x2e\x30\x38\x39\x38\x2c\x30\
+\x2e\x38\x30\x31\x39\x33\x20\x2d\x31\x2e\x39\x38\x39\x38\x37\x2c\
+\x30\x2e\x38\x32\x38\x30\x34\x20\x2d\x33\x2e\x34\x31\x38\x32\x31\
+\x2c\x2d\x30\x2e\x38\x39\x33\x30\x31\x20\x7a\x20\x6d\x20\x38\x2e\
+\x30\x35\x32\x31\x35\x2c\x2d\x30\x2e\x34\x31\x38\x32\x39\x20\x63\
+\x20\x2d\x31\x2e\x31\x35\x33\x34\x36\x2c\x2d\x30\x2e\x37\x35\x32\
+\x32\x39\x20\x2d\x30\x2e\x39\x35\x30\x31\x33\x2c\x2d\x31\x2e\x30\
+\x34\x36\x39\x37\x20\x31\x2c\x2d\x31\x2e\x34\x34\x39\x32\x36\x20\
+\x31\x2e\x33\x34\x36\x33\x32\x2c\x2d\x30\x2e\x32\x37\x37\x37\x33\
+\x20\x33\x2e\x31\x32\x32\x38\x35\x2c\x2d\x30\x2e\x34\x38\x30\x30\
+\x35\x20\x33\x2e\x39\x34\x37\x38\x35\x2c\x2d\x30\x2e\x34\x34\x39\
+\x36\x20\x30\x2e\x38\x32\x35\x2c\x30\x2e\x30\x33\x30\x35\x20\x32\
+\x2e\x33\x38\x35\x32\x36\x2c\x2d\x30\x2e\x33\x30\x38\x38\x39\x20\
+\x33\x2e\x34\x36\x37\x32\x34\x2c\x2d\x30\x2e\x37\x35\x34\x30\x39\
+\x20\x31\x2e\x37\x32\x38\x38\x32\x2c\x2d\x30\x2e\x37\x31\x31\x33\
+\x36\x20\x31\x2e\x37\x39\x34\x37\x34\x2c\x2d\x30\x2e\x36\x32\x34\
+\x38\x20\x30\x2e\x35\x34\x33\x39\x31\x2c\x30\x2e\x37\x31\x34\x32\
+\x32\x20\x2d\x30\x2e\x37\x38\x32\x38\x34\x2c\x30\x2e\x38\x33\x38\
+\x30\x33\x20\x2d\x31\x2e\x38\x39\x33\x30\x39\x2c\x31\x2e\x35\x36\
+\x36\x30\x39\x20\x2d\x32\x2e\x34\x36\x37\x32\x34\x2c\x31\x2e\x36\
+\x31\x37\x39\x32\x20\x2d\x30\x2e\x35\x37\x34\x31\x35\x2c\x30\x2e\
+\x30\x35\x31\x38\x20\x2d\x31\x2e\x39\x34\x33\x39\x31\x2c\x30\x2e\
+\x33\x35\x37\x36\x38\x20\x2d\x33\x2e\x30\x34\x33\x39\x31\x2c\x30\
+\x2e\x36\x37\x39\x36\x37\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x33\x32\
+\x31\x39\x39\x20\x2d\x32\x2e\x36\x35\x31\x35\x33\x2c\x30\x2e\x31\
+\x36\x30\x35\x20\x2d\x33\x2e\x34\x34\x37\x38\x35\x2c\x2d\x30\x2e\
+\x33\x35\x38\x38\x36\x20\x7a\x20\x4d\x20\x31\x34\x37\x2c\x31\x36\
+\x35\x2e\x39\x34\x30\x39\x38\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x38\x32\x34\x36\x20\x30\x2e\x34\x35\x2c\x2d\x30\x2e\x37\x38\x30\
+\x39\x20\x31\x2c\x2d\x30\x2e\x34\x34\x30\x39\x38\x20\x30\x2e\x35\
+\x35\x2c\x30\x2e\x33\x33\x39\x39\x32\x20\x31\x2c\x30\x2e\x38\x31\
+\x36\x34\x38\x20\x31\x2c\x31\x2e\x30\x35\x39\x30\x32\x20\x30\x2c\
+\x30\x2e\x32\x34\x32\x35\x34\x20\x2d\x30\x2e\x34\x35\x2c\x30\x2e\
+\x34\x34\x30\x39\x38\x20\x2d\x31\x2c\x30\x2e\x34\x34\x30\x39\x38\
+\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x31\x2c\x2d\x30\x2e\x34\
+\x37\x36\x35\x36\x20\x2d\x31\x2c\x2d\x31\x2e\x30\x35\x39\x30\x32\
+\x20\x7a\x20\x4d\x20\x31\x34\x39\x2e\x35\x2c\x31\x36\x35\x20\x63\
+\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\
+\x30\x2e\x30\x38\x33\x35\x2c\x2d\x31\x20\x30\x2e\x39\x34\x30\x39\
+\x38\x2c\x2d\x31\x20\x30\x2e\x38\x35\x37\x34\x36\x2c\x30\x20\x31\
+\x2e\x35\x35\x39\x30\x32\x2c\x30\x2e\x34\x35\x20\x31\x2e\x35\x35\
+\x39\x30\x32\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\
+\x34\x32\x33\x34\x34\x2c\x31\x20\x2d\x30\x2e\x39\x34\x30\x39\x38\
+\x2c\x31\x20\x2d\x30\x2e\x35\x31\x37\x35\x34\x2c\x30\x20\x2d\x31\
+\x2e\x32\x31\x39\x31\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x35\
+\x35\x39\x30\x32\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x2d\x32\x30\x2e\
+\x36\x38\x37\x35\x2c\x2d\x30\x2e\x36\x38\x33\x31\x31\x20\x63\x20\
+\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\
+\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\
+\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\
+\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\
+\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\
+\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\
+\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\
+\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\
+\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\
+\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x2d\x31\x38\x2e\x36\x36\x31\
+\x33\x39\x2c\x2d\x32\x2e\x32\x31\x35\x30\x34\x20\x63\x20\x30\x2e\
+\x38\x31\x37\x35\x39\x2c\x2d\x31\x2e\x33\x32\x36\x30\x31\x20\x32\
+\x2e\x30\x33\x38\x31\x38\x2c\x2d\x32\x2e\x30\x31\x30\x37\x33\x20\
+\x33\x2e\x30\x39\x38\x38\x39\x2c\x2d\x31\x2e\x37\x33\x38\x33\x39\
+\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x32\x34\x37\x31\x31\x20\
+\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x30\x30\x37\x20\x31\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x35\x36\x34\x30\x37\x20\x30\x2c\x2d\x30\x2e\x35\
+\x37\x31\x33\x34\x20\x30\x2e\x37\x36\x33\x33\x34\x2c\x2d\x30\x2e\
+\x37\x30\x30\x39\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x32\x39\x37\
+\x30\x31\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x33\x39\x34\x20\
+\x32\x2e\x34\x32\x35\x2c\x30\x2e\x38\x31\x31\x34\x37\x20\x33\x2e\
+\x32\x35\x2c\x30\x2e\x39\x32\x37\x37\x31\x20\x30\x2e\x38\x32\x35\
+\x2c\x30\x2e\x31\x31\x36\x32\x34\x20\x32\x2e\x31\x37\x35\x2c\x30\
+\x2e\x34\x38\x31\x33\x37\x20\x33\x2c\x30\x2e\x38\x31\x31\x34\x20\
+\x30\x2e\x38\x32\x35\x2c\x30\x2e\x33\x33\x30\x30\x33\x20\x32\x2e\
+\x31\x37\x35\x2c\x30\x2e\x38\x32\x35\x31\x38\x20\x33\x2c\x31\x2e\
+\x31\x30\x30\x33\x33\x20\x30\x2e\x38\x32\x35\x2c\x30\x2e\x32\x37\
+\x35\x31\x36\x20\x2d\x31\x2e\x32\x35\x36\x32\x35\x2c\x30\x2e\x35\
+\x33\x35\x38\x31\x20\x2d\x34\x2e\x36\x32\x35\x2c\x30\x2e\x35\x37\
+\x39\x32\x33\x20\x2d\x33\x2e\x33\x36\x38\x37\x35\x2c\x30\x2e\x30\
+\x34\x33\x34\x20\x2d\x37\x2e\x35\x37\x35\x37\x35\x2c\x30\x2e\x33\
+\x36\x39\x31\x20\x2d\x39\x2e\x33\x34\x38\x38\x39\x2c\x30\x2e\x37\
+\x32\x33\x37\x33\x20\x2d\x33\x2e\x31\x31\x30\x34\x35\x2c\x30\x2e\
+\x36\x32\x32\x30\x39\x20\x2d\x33\x2e\x31\x37\x36\x34\x33\x2c\x30\
+\x2e\x35\x36\x37\x38\x20\x2d\x31\x2e\x38\x37\x35\x2c\x2d\x31\x2e\
+\x35\x34\x32\x39\x33\x20\x7a\x20\x6d\x20\x34\x30\x2e\x36\x36\x31\
+\x33\x39\x2c\x30\x2e\x32\x31\x35\x30\x34\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\
+\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\
+\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x4d\x20\x39\x36\x2c\x31\x35\x34\x2e\x36\x30\x36\
+\x39\x39\x20\x63\x20\x30\x2c\x2d\x31\x2e\x34\x34\x31\x31\x38\x20\
+\x32\x2e\x38\x38\x35\x35\x30\x32\x2c\x2d\x33\x2e\x30\x35\x34\x38\
+\x32\x20\x33\x2e\x38\x30\x39\x37\x39\x35\x2c\x2d\x32\x2e\x31\x33\
+\x30\x35\x33\x20\x30\x2e\x32\x38\x37\x39\x34\x35\x2c\x30\x2e\x32\
+\x38\x37\x39\x35\x20\x2d\x30\x2e\x30\x34\x39\x36\x31\x2c\x30\x2e\
+\x35\x32\x33\x35\x34\x20\x2d\x30\x2e\x37\x35\x30\x31\x31\x37\x2c\
+\x30\x2e\x35\x32\x33\x35\x34\x20\x2d\x30\x2e\x37\x32\x31\x32\x39\
+\x36\x2c\x30\x20\x2d\x31\x2e\x30\x32\x34\x30\x32\x37\x2c\x30\x2e\
+\x36\x35\x30\x35\x32\x20\x2d\x30\x2e\x36\x39\x38\x30\x35\x32\x2c\
+\x31\x2e\x35\x20\x30\x2e\x33\x35\x30\x36\x32\x34\x2c\x30\x2e\x39\
+\x31\x33\x37\x31\x20\x30\x2e\x30\x30\x31\x36\x2c\x31\x2e\x35\x20\
+\x2d\x30\x2e\x38\x39\x33\x30\x31\x31\x2c\x31\x2e\x35\x20\x43\x20\
+\x39\x36\x2e\x36\x36\x30\x38\x37\x37\x2c\x31\x35\x36\x20\x39\x36\
+\x2c\x31\x35\x35\x2e\x33\x37\x33\x31\x34\x20\x39\x36\x2c\x31\x35\
+\x34\x2e\x36\x30\x36\x39\x39\x20\x7a\x20\x6d\x20\x37\x2e\x35\x35\
+\x38\x38\x37\x2c\x2d\x31\x2e\x31\x32\x34\x34\x37\x20\x43\x20\x31\
+\x30\x31\x2e\x37\x33\x37\x35\x33\x2c\x31\x35\x32\x2e\x30\x39\x31\
+\x34\x39\x20\x31\x30\x31\x2e\x38\x35\x30\x36\x38\x2c\x31\x35\x32\
+\x20\x31\x30\x35\x2e\x33\x39\x32\x32\x2c\x31\x35\x32\x20\x63\x20\
+\x32\x2e\x35\x37\x34\x38\x38\x2c\x30\x20\x33\x2e\x36\x34\x32\x31\
+\x39\x2c\x30\x2e\x33\x39\x37\x32\x37\x20\x33\x2e\x33\x35\x38\x32\
+\x37\x2c\x31\x2e\x32\x35\x20\x2d\x30\x2e\x36\x30\x37\x39\x31\x2c\
+\x31\x2e\x38\x32\x35\x37\x37\x20\x2d\x32\x2e\x39\x36\x37\x31\x33\
+\x2c\x31\x2e\x39\x33\x31\x34\x33\x20\x2d\x35\x2e\x31\x39\x31\x36\
+\x2c\x30\x2e\x32\x33\x32\x35\x32\x20\x7a\x20\x6d\x20\x31\x32\x2e\
+\x36\x33\x34\x39\x35\x2c\x30\x2e\x37\x38\x38\x39\x38\x20\x63\x20\
+\x30\x2e\x33\x38\x31\x36\x31\x2c\x2d\x30\x2e\x32\x32\x30\x33\x39\
+\x20\x30\x2e\x34\x37\x34\x37\x34\x2c\x2d\x30\x2e\x39\x37\x31\x36\
+\x34\x20\x30\x2e\x32\x30\x36\x39\x37\x2c\x2d\x31\x2e\x36\x36\x39\
+\x34\x34\x20\x2d\x30\x2e\x32\x36\x37\x37\x37\x2c\x2d\x30\x2e\x36\
+\x39\x37\x38\x20\x30\x2e\x30\x39\x35\x2c\x2d\x31\x2e\x33\x33\x36\
+\x32\x31\x20\x30\x2e\x38\x30\x36\x31\x38\x2c\x2d\x31\x2e\x34\x31\
+\x38\x37\x20\x30\x2e\x37\x31\x31\x31\x37\x2c\x2d\x30\x2e\x30\x38\
+\x32\x35\x20\x32\x2e\x36\x34\x33\x30\x33\x2c\x2d\x30\x2e\x33\x32\
+\x33\x30\x31\x20\x34\x2e\x32\x39\x33\x30\x33\x2c\x2d\x30\x2e\x35\
+\x33\x34\x35\x31\x20\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x32\x31\x31\
+\x34\x39\x20\x32\x2e\x32\x33\x37\x33\x38\x2c\x2d\x30\x2e\x31\x39\
+\x30\x39\x37\x20\x31\x2e\x33\x30\x35\x32\x39\x2c\x30\x2e\x30\x34\
+\x35\x36\x20\x2d\x30\x2e\x39\x38\x37\x33\x37\x2c\x30\x2e\x32\x35\
+\x30\x36\x32\x20\x2d\x31\x2e\x34\x36\x34\x34\x34\x2c\x31\x2e\x30\
+\x33\x30\x32\x31\x20\x2d\x31\x2e\x31\x34\x33\x30\x31\x2c\x31\x2e\
+\x38\x36\x37\x38\x35\x20\x30\x2e\x33\x36\x37\x38\x35\x2c\x30\x2e\
+\x39\x35\x38\x36\x20\x2d\x30\x2e\x31\x32\x33\x31\x37\x2c\x31\x2e\
+\x34\x33\x37\x36\x39\x20\x2d\x31\x2e\x34\x37\x33\x35\x2c\x31\x2e\
+\x34\x33\x37\x36\x39\x20\x2d\x31\x2e\x31\x31\x33\x38\x36\x2c\x30\
+\x20\x2d\x32\x2e\x36\x32\x34\x35\x31\x2c\x30\x2e\x31\x35\x31\x32\
+\x35\x20\x2d\x33\x2e\x33\x35\x36\x39\x39\x2c\x30\x2e\x33\x33\x36\
+\x31\x20\x2d\x30\x2e\x37\x33\x32\x34\x39\x2c\x30\x2e\x31\x38\x34\
+\x38\x36\x20\x2d\x31\x2e\x30\x31\x39\x35\x37\x2c\x30\x2e\x31\x35\
+\x35\x37\x39\x20\x2d\x30\x2e\x36\x33\x37\x39\x37\x2c\x2d\x30\x2e\
+\x30\x36\x34\x36\x20\x7a\x20\x4d\x20\x31\x35\x32\x2e\x35\x2c\x31\
+\x34\x39\x2e\x35\x20\x63\x20\x30\x2c\x2d\x31\x2e\x32\x36\x39\x39\
+\x36\x20\x30\x2e\x33\x33\x37\x35\x2c\x2d\x32\x2e\x31\x30\x30\x34\
+\x33\x20\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x38\x34\x35\x34\x39\x20\
+\x30\x2e\x34\x31\x32\x35\x2c\x30\x2e\x32\x35\x34\x39\x34\x20\x30\
+\x2e\x37\x35\x2c\x31\x2e\x30\x38\x35\x34\x31\x20\x30\x2e\x37\x35\
+\x2c\x31\x2e\x38\x34\x35\x34\x39\x20\x30\x2c\x30\x2e\x37\x36\x30\
+\x30\x38\x20\x2d\x30\x2e\x33\x33\x37\x35\x2c\x31\x2e\x35\x39\x30\
+\x35\x35\x20\x2d\x30\x2e\x37\x35\x2c\x31\x2e\x38\x34\x35\x34\x39\
+\x20\x2d\x30\x2e\x34\x31\x32\x35\x2c\x30\x2e\x32\x35\x34\x39\x34\
+\x20\x2d\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x35\x37\x35\x35\x33\x20\
+\x2d\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x38\x34\x35\x34\x39\x20\x7a\
+\x20\x6d\x20\x2d\x34\x32\x2e\x30\x39\x36\x34\x36\x2c\x2d\x31\x2e\
+\x33\x34\x33\x39\x33\x20\x43\x20\x31\x31\x30\x2e\x37\x39\x36\x35\
+\x31\x2c\x31\x34\x37\x2e\x35\x32\x30\x32\x33\x20\x31\x31\x31\x2e\
+\x37\x36\x36\x34\x38\x2c\x31\x34\x37\x20\x31\x31\x32\x2e\x35\x35\
+\x39\x30\x32\x2c\x31\x34\x37\x20\x31\x31\x33\x2e\x33\x35\x31\x35\
+\x36\x2c\x31\x34\x37\x20\x31\x31\x34\x2c\x31\x34\x36\x2e\x36\x30\
+\x35\x32\x38\x20\x31\x31\x34\x2c\x31\x34\x36\x2e\x31\x32\x32\x38\
+\x34\x20\x63\x20\x30\x2c\x2d\x31\x2e\x30\x38\x34\x34\x36\x20\x39\
+\x2e\x31\x34\x31\x34\x39\x2c\x2d\x30\x2e\x32\x31\x30\x35\x34\x20\
+\x31\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x30\x31\x20\x30\x2e\
+\x35\x35\x38\x37\x2c\x30\x2e\x35\x31\x36\x34\x34\x20\x2d\x30\x2e\
+\x36\x37\x37\x2c\x30\x2e\x38\x38\x32\x36\x38\x20\x2d\x33\x2c\x30\
+\x2e\x38\x38\x39\x31\x36\x20\x2d\x32\x2e\x31\x37\x32\x35\x2c\x30\
+\x2e\x30\x30\x36\x20\x2d\x35\x2e\x37\x30\x37\x34\x36\x2c\x30\x2e\
+\x33\x30\x31\x32\x38\x20\x2d\x37\x2e\x38\x35\x35\x34\x38\x2c\x30\
+\x2e\x36\x35\x36\x30\x37\x20\x2d\x32\x2e\x38\x32\x39\x37\x39\x2c\
+\x30\x2e\x34\x36\x37\x34\x20\x2d\x33\x2e\x37\x30\x38\x36\x38\x2c\
+\x30\x2e\x33\x32\x36\x36\x35\x20\x2d\x33\x2e\x31\x39\x30\x39\x38\
+\x2c\x2d\x30\x2e\x35\x31\x31\x30\x31\x20\x7a\x20\x6d\x20\x32\x36\
+\x2e\x34\x30\x38\x39\x36\x2c\x30\x2e\x31\x36\x30\x38\x32\x20\x63\
+\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\
+\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\
+\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\
+\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\
+\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\
+\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\
+\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\
+\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\
+\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\
+\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x2d\x38\x2e\x35\x36\x32\
+\x35\x2c\x2d\x31\x2e\x30\x30\x36\x32\x32\x20\x63\x20\x30\x2e\x39\
+\x36\x32\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\x32\x2e\x35\
+\x33\x37\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\x33\x2e\x35\
+\x2c\x30\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x32\x35\x31\x35\
+\x33\x20\x30\x2e\x31\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\
+\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\x2d\x31\
+\x2e\x39\x32\x35\x2c\x30\x20\x2d\x32\x2e\x37\x31\x32\x35\x2c\x2d\
+\x30\x2e\x32\x30\x35\x38\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x34\x35\x37\x33\x33\x20\x7a\x20\x4d\x20\x31\x34\x32\x2c\x31\x34\
+\x36\x2e\x37\x38\x37\x32\x39\x20\x43\x20\x31\x34\x32\x2c\x31\x34\
+\x36\x2e\x33\x35\x34\x32\x38\x20\x31\x34\x32\x2e\x38\x36\x32\x35\
+\x2c\x31\x34\x36\x20\x31\x34\x33\x2e\x39\x31\x36\x36\x37\x2c\x31\
+\x34\x36\x20\x63\x20\x31\x2e\x30\x35\x34\x31\x36\x2c\x30\x20\x32\
+\x2e\x31\x30\x35\x34\x31\x2c\x2d\x30\x2e\x33\x33\x37\x35\x20\x32\
+\x2e\x33\x33\x36\x31\x2c\x2d\x30\x2e\x37\x35\x20\x30\x2e\x32\x33\
+\x30\x36\x39\x2c\x2d\x30\x2e\x34\x31\x32\x35\x20\x30\x2e\x32\x39\
+\x33\x34\x37\x2c\x2d\x30\x2e\x32\x31\x36\x35\x37\x20\x30\x2e\x31\
+\x33\x39\x35\x31\x2c\x30\x2e\x34\x33\x35\x33\x39\x20\x2d\x30\x2e\
+\x31\x35\x33\x39\x36\x2c\x30\x2e\x36\x35\x31\x39\x37\x20\x30\x2e\
+\x32\x35\x37\x32\x39\x2c\x31\x2e\x34\x31\x32\x30\x38\x20\x30\x2e\
+\x39\x31\x33\x39\x2c\x31\x2e\x36\x38\x39\x31\x35\x20\x30\x2e\x36\
+\x35\x36\x36\x2c\x30\x2e\x32\x37\x37\x30\x37\x20\x2d\x30\x2e\x32\
+\x36\x38\x36\x38\x2c\x30\x2e\x34\x33\x35\x34\x32\x20\x2d\x32\x2e\
+\x30\x35\x36\x31\x38\x2c\x30\x2e\x33\x35\x31\x39\x20\x2d\x31\x2e\
+\x37\x38\x37\x35\x2c\x2d\x30\x2e\x30\x38\x33\x35\x20\x2d\x33\x2e\
+\x32\x35\x2c\x2d\x30\x2e\x35\x30\x36\x31\x34\x20\x2d\x33\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x39\x33\x39\x31\x35\x20\x7a\x20\x4d\x20\x39\
+\x36\x2c\x31\x34\x30\x2e\x30\x33\x36\x20\x63\x20\x30\x2c\x2d\x32\
+\x2e\x32\x33\x39\x31\x38\x20\x31\x2e\x37\x39\x30\x30\x33\x39\x2c\
+\x2d\x32\x2e\x38\x37\x32\x36\x33\x20\x38\x2e\x32\x36\x35\x38\x32\
+\x2c\x2d\x32\x2e\x39\x32\x35\x30\x36\x20\x34\x2e\x34\x33\x31\x34\
+\x34\x2c\x2d\x30\x2e\x30\x33\x35\x39\x20\x34\x2e\x36\x39\x32\x30\
+\x38\x2c\x30\x2e\x30\x39\x39\x32\x20\x33\x2e\x37\x31\x34\x38\x32\
+\x2c\x31\x2e\x39\x32\x35\x32\x34\x20\x43\x20\x31\x30\x36\x2e\x37\
+\x34\x39\x35\x2c\x31\x34\x31\x2e\x33\x33\x36\x35\x39\x20\x31\x30\
+\x33\x2c\x31\x34\x31\x2e\x36\x38\x35\x37\x36\x20\x31\x30\x33\x2c\
+\x31\x33\x39\x2e\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x39\x34\x39\
+\x37\x35\x20\x2d\x30\x2e\x39\x35\x36\x33\x33\x2c\x2d\x31\x2e\x35\
+\x20\x2d\x32\x2e\x36\x30\x36\x39\x39\x2c\x2d\x31\x2e\x35\x20\x2d\
+\x31\x2e\x38\x33\x38\x38\x32\x2c\x30\x20\x2d\x32\x2e\x34\x34\x36\
+\x37\x33\x39\x2c\x30\x2e\x34\x31\x37\x36\x20\x2d\x32\x2e\x30\x36\
+\x33\x31\x34\x31\x2c\x31\x2e\x34\x31\x37\x32\x34\x20\x30\x2e\x32\
+\x39\x39\x31\x31\x35\x2c\x30\x2e\x37\x37\x39\x34\x38\x20\x2d\x30\
+\x2e\x31\x30\x32\x37\x34\x2c\x31\x2e\x36\x36\x35\x33\x36\x20\x2d\
+\x30\x2e\x38\x39\x33\x30\x31\x31\x2c\x31\x2e\x39\x36\x38\x36\x32\
+\x20\x43\x20\x39\x36\x2e\x34\x39\x38\x32\x31\x2c\x31\x34\x31\x2e\
+\x37\x34\x36\x30\x35\x20\x39\x36\x2c\x31\x34\x31\x2e\x32\x37\x38\
+\x30\x31\x20\x39\x36\x2c\x31\x34\x30\x2e\x30\x33\x36\x20\x7a\x20\
+\x6d\x20\x32\x32\x2e\x30\x37\x33\x38\x39\x2c\x2d\x31\x2e\x34\x34\
+\x36\x39\x37\x20\x63\x20\x2d\x30\x2e\x36\x34\x34\x30\x36\x2c\x2d\
+\x30\x2e\x37\x37\x36\x30\x34\x20\x2d\x30\x2e\x38\x31\x31\x36\x36\
+\x2c\x2d\x31\x2e\x36\x31\x33\x38\x32\x20\x2d\x30\x2e\x33\x37\x32\
+\x34\x35\x2c\x2d\x31\x2e\x38\x36\x31\x37\x34\x20\x31\x2e\x35\x31\
+\x37\x37\x31\x2c\x2d\x30\x2e\x38\x35\x36\x37\x32\x20\x36\x2e\x37\
+\x39\x35\x30\x35\x2c\x2d\x31\x2e\x37\x38\x35\x34\x39\x20\x35\x2e\
+\x37\x32\x35\x36\x32\x2c\x2d\x31\x2e\x30\x30\x37\x36\x37\x20\x2d\
+\x30\x2e\x35\x39\x30\x31\x32\x2c\x30\x2e\x34\x32\x39\x32\x31\x20\
+\x2d\x31\x2e\x33\x36\x33\x35\x2c\x31\x2e\x35\x36\x37\x38\x38\x20\
+\x2d\x31\x2e\x37\x31\x38\x36\x32\x2c\x32\x2e\x35\x33\x30\x33\x38\
+\x20\x2d\x30\x2e\x37\x38\x30\x38\x33\x2c\x32\x2e\x31\x31\x36\x33\
+\x33\x20\x2d\x32\x2e\x30\x36\x30\x34\x36\x2c\x32\x2e\x32\x33\x35\
+\x36\x39\x20\x2d\x33\x2e\x36\x33\x34\x35\x35\x2c\x30\x2e\x33\x33\
+\x39\x30\x33\x20\x7a\x20\x4d\x20\x31\x31\x31\x2c\x31\x33\x32\x2e\
+\x34\x35\x32\x31\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x37\x39\x38\
+\x37\x20\x30\x2e\x33\x33\x37\x35\x2c\x2d\x31\x2e\x34\x38\x30\x39\
+\x32\x20\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x35\x31\x36\x30\x33\x20\
+\x30\x2e\x34\x31\x32\x35\x2c\x2d\x30\x2e\x30\x33\x35\x31\x20\x32\
+\x2e\x33\x32\x33\x35\x33\x2c\x2d\x30\x2e\x32\x31\x36\x35\x32\x20\
+\x34\x2e\x32\x34\x36\x37\x32\x2c\x2d\x30\x2e\x34\x30\x33\x31\x34\
+\x20\x31\x2e\x39\x32\x33\x32\x2c\x2d\x30\x2e\x31\x38\x36\x36\x31\
+\x20\x34\x2e\x32\x35\x38\x33\x39\x2c\x30\x2e\x30\x36\x38\x33\x20\
+\x35\x2e\x31\x38\x39\x33\x32\x2c\x30\x2e\x35\x36\x36\x35\x34\x20\
+\x31\x2e\x30\x37\x31\x32\x39\x2c\x30\x2e\x35\x37\x33\x33\x34\x20\
+\x31\x2e\x39\x33\x31\x30\x37\x2c\x30\x2e\x35\x31\x39\x39\x36\x20\
+\x32\x2e\x33\x34\x32\x33\x2c\x2d\x30\x2e\x31\x34\x35\x34\x31\x20\
+\x30\x2e\x34\x31\x39\x36\x31\x2c\x2d\x30\x2e\x36\x37\x38\x39\x35\
+\x20\x31\x2e\x30\x36\x30\x38\x39\x2c\x2d\x30\x2e\x37\x31\x31\x32\
+\x35\x20\x31\x2e\x38\x31\x30\x36\x39\x2c\x2d\x30\x2e\x30\x39\x31\
+\x32\x20\x30\x2e\x36\x33\x38\x35\x33\x2c\x30\x2e\x35\x32\x38\x30\
+\x34\x20\x32\x2e\x35\x31\x30\x39\x37\x2c\x31\x2e\x31\x35\x37\x34\
+\x36\x20\x34\x2e\x31\x36\x30\x39\x37\x2c\x31\x2e\x33\x39\x38\x37\
+\x32\x20\x31\x2e\x36\x35\x2c\x30\x2e\x32\x34\x31\x32\x36\x20\x2d\
+\x30\x2e\x31\x35\x2c\x30\x2e\x35\x33\x32\x30\x31\x20\x2d\x34\x2c\
+\x30\x2e\x36\x34\x36\x31\x20\x2d\x33\x2e\x38\x35\x2c\x30\x2e\x31\
+\x31\x34\x31\x20\x2d\x38\x2e\x36\x38\x37\x35\x2c\x30\x2e\x33\x38\
+\x35\x30\x31\x20\x2d\x31\x30\x2e\x37\x35\x2c\x30\x2e\x36\x30\x32\
+\x30\x33\x20\x2d\x32\x2e\x37\x39\x32\x39\x34\x2c\x30\x2e\x32\x39\
+\x33\x38\x37\x20\x2d\x33\x2e\x37\x35\x2c\x30\x2e\x30\x32\x34\x20\
+\x2d\x33\x2e\x37\x35\x2c\x2d\x31\x2e\x30\x35\x37\x36\x32\x20\x7a\
+\x20\x6d\x20\x32\x36\x2e\x35\x34\x30\x34\x2c\x30\x2e\x36\x33\x39\
+\x36\x37\x20\x63\x20\x30\x2e\x35\x32\x37\x37\x38\x2c\x2d\x30\x2e\
+\x35\x31\x30\x30\x33\x20\x33\x2e\x32\x30\x39\x36\x2c\x2d\x31\x2e\
+\x32\x34\x31\x39\x33\x20\x35\x2e\x39\x35\x39\x36\x2c\x2d\x31\x2e\
+\x36\x32\x36\x34\x35\x20\x33\x2e\x32\x39\x33\x31\x34\x2c\x2d\x30\
+\x2e\x34\x36\x30\x34\x36\x20\x34\x2e\x36\x35\x38\x36\x33\x2c\x2d\
+\x30\x2e\x33\x36\x32\x31\x31\x20\x34\x2c\x30\x2e\x32\x38\x38\x31\
+\x31\x20\x2d\x30\x2e\x35\x35\x2c\x30\x2e\x35\x34\x32\x39\x37\x20\
+\x2d\x33\x2e\x32\x33\x31\x38\x32\x2c\x31\x2e\x32\x37\x34\x38\x38\
+\x20\x2d\x35\x2e\x39\x35\x39\x36\x2c\x31\x2e\x36\x32\x36\x34\x35\
+\x20\x2d\x33\x2e\x30\x35\x35\x36\x31\x2c\x30\x2e\x33\x39\x33\x38\
+\x33\x20\x2d\x34\x2e\x35\x39\x31\x32\x31\x2c\x30\x2e\x32\x38\x33\
+\x32\x33\x20\x2d\x34\x2c\x2d\x30\x2e\x32\x38\x38\x31\x31\x20\x7a\
+\x20\x4d\x20\x39\x36\x2c\x31\x32\x35\x2e\x35\x20\x63\x20\x30\x2c\
+\x2d\x31\x2e\x34\x39\x30\x37\x31\x20\x30\x2e\x34\x33\x30\x35\x39\
+\x39\x2c\x2d\x32\x2e\x33\x35\x31\x39\x31\x20\x31\x2c\x2d\x32\x20\
+\x30\x2e\x35\x35\x2c\x30\x2e\x33\x33\x39\x39\x32\x20\x31\x2c\x31\
+\x2e\x32\x33\x39\x39\x32\x20\x31\x2c\x32\x20\x30\x2c\x30\x2e\x37\
+\x36\x30\x30\x38\x20\x2d\x30\x2e\x34\x35\x2c\x31\x2e\x36\x36\x30\
+\x30\x38\x20\x2d\x31\x2c\x32\x20\x2d\x30\x2e\x35\x36\x39\x34\x30\
+\x31\x2c\x30\x2e\x33\x35\x31\x39\x31\x20\x2d\x31\x2c\x2d\x30\x2e\
+\x35\x30\x39\x32\x39\x20\x2d\x31\x2c\x2d\x32\x20\x7a\x20\x6d\x20\
+\x36\x2c\x30\x2e\x30\x33\x31\x34\x20\x63\x20\x30\x2c\x2d\x30\x2e\
+\x39\x33\x39\x32\x39\x20\x30\x2e\x36\x33\x30\x37\x33\x2c\x2d\x31\
+\x2e\x32\x37\x32\x35\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x39\x32\
+\x34\x34\x39\x20\x31\x2e\x36\x35\x34\x38\x2c\x30\x2e\x35\x31\x34\
+\x35\x32\x20\x31\x2e\x36\x35\x34\x33\x36\x2c\x30\x2e\x34\x38\x32\
+\x36\x37\x20\x2d\x30\x2e\x30\x30\x38\x2c\x2d\x30\x2e\x35\x38\x35\
+\x35\x31\x20\x2d\x30\x2e\x39\x36\x36\x38\x36\x2c\x2d\x30\x2e\x36\
+\x32\x31\x32\x39\x20\x2d\x32\x2e\x31\x31\x33\x33\x34\x2c\x2d\x30\
+\x2e\x39\x30\x39\x39\x36\x20\x2d\x32\x2e\x35\x34\x37\x37\x35\x2c\
+\x2d\x30\x2e\x36\x34\x31\x34\x39\x20\x2d\x30\x2e\x34\x33\x34\x34\
+\x2c\x30\x2e\x32\x36\x38\x34\x38\x20\x2d\x31\x2e\x34\x34\x33\x33\
+\x33\x36\x2c\x30\x2e\x30\x37\x34\x37\x20\x2d\x32\x2e\x32\x34\x32\
+\x30\x37\x36\x2c\x2d\x30\x2e\x34\x33\x30\x35\x36\x20\x2d\x31\x2e\
+\x30\x33\x31\x31\x34\x35\x2c\x2d\x30\x2e\x36\x35\x32\x33\x31\x20\
+\x2d\x30\x2e\x33\x34\x34\x31\x35\x38\x2c\x2d\x30\x2e\x39\x32\x33\
+\x31\x34\x20\x32\x2e\x33\x36\x39\x31\x37\x36\x2c\x2d\x30\x2e\x39\
+\x33\x34\x30\x32\x20\x32\x2e\x31\x30\x31\x37\x38\x2c\x2d\x30\x2e\
+\x30\x30\x38\x20\x34\x2e\x34\x39\x36\x34\x33\x2c\x30\x2e\x36\x35\
+\x39\x36\x39\x20\x35\x2e\x33\x32\x31\x34\x33\x2c\x31\x2e\x34\x38\
+\x34\x36\x39\x20\x30\x2e\x38\x39\x37\x34\x35\x2c\x30\x2e\x38\x39\
+\x37\x34\x35\x20\x31\x2e\x30\x34\x35\x39\x2c\x31\x2e\x35\x20\x30\
+\x2e\x33\x36\x39\x35\x35\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x36\x32\
+\x31\x37\x34\x2c\x30\x20\x2d\x30\x2e\x38\x35\x32\x33\x33\x2c\x30\
+\x2e\x34\x35\x20\x2d\x30\x2e\x35\x31\x32\x34\x31\x2c\x31\x20\x30\
+\x2e\x33\x35\x30\x35\x32\x2c\x30\x2e\x35\x36\x37\x31\x36\x20\x2d\
+\x30\x2e\x34\x38\x39\x36\x32\x2c\x31\x20\x2d\x31\x2e\x39\x34\x30\
+\x39\x38\x2c\x31\x20\x43\x20\x31\x30\x32\x2e\x39\x37\x35\x33\x31\
+\x2c\x31\x32\x37\x20\x31\x30\x32\x2c\x31\x32\x36\x2e\x34\x34\x30\
+\x32\x37\x20\x31\x30\x32\x2c\x31\x32\x35\x2e\x35\x33\x31\x33\x38\
+\x20\x7a\x20\x6d\x20\x31\x35\x2e\x36\x33\x34\x33\x32\x2c\x2d\x30\
+\x2e\x32\x39\x36\x36\x39\x20\x63\x20\x30\x2e\x36\x32\x33\x38\x37\
+\x2c\x2d\x30\x2e\x34\x30\x34\x30\x38\x20\x31\x2e\x32\x39\x38\x38\
+\x37\x2c\x2d\x31\x2e\x35\x39\x30\x33\x20\x31\x2e\x35\x2c\x2d\x32\
+\x2e\x36\x33\x36\x30\x35\x20\x30\x2e\x32\x30\x34\x33\x33\x2c\x2d\
+\x31\x2e\x30\x36\x32\x34\x20\x31\x2e\x33\x37\x33\x37\x36\x2c\x2d\
+\x32\x2e\x30\x35\x34\x37\x36\x20\x32\x2e\x36\x35\x30\x33\x34\x2c\
+\x2d\x32\x2e\x32\x34\x39\x30\x31\x20\x32\x2e\x30\x30\x35\x36\x2c\
+\x2d\x30\x2e\x33\x30\x35\x31\x39\x20\x32\x2e\x31\x35\x33\x39\x38\
+\x2c\x2d\x30\x2e\x31\x30\x33\x34\x39\x20\x31\x2e\x32\x31\x34\x38\
+\x31\x2c\x31\x2e\x36\x35\x31\x33\x36\x20\x2d\x30\x2e\x35\x38\x38\
+\x34\x31\x2c\x31\x2e\x30\x39\x39\x34\x35\x20\x2d\x30\x2e\x37\x31\
+\x36\x35\x2c\x32\x2e\x30\x33\x30\x36\x34\x20\x2d\x30\x2e\x32\x38\
+\x34\x36\x35\x2c\x32\x2e\x30\x36\x39\x33\x20\x31\x2e\x32\x33\x34\
+\x33\x38\x2c\x30\x2e\x31\x31\x30\x34\x39\x20\x2d\x33\x2e\x30\x34\
+\x31\x31\x31\x2c\x31\x2e\x37\x38\x32\x37\x37\x20\x2d\x34\x2e\x37\
+\x31\x34\x38\x32\x2c\x31\x2e\x38\x34\x34\x31\x31\x20\x2d\x30\x2e\
+\x39\x39\x34\x35\x2c\x30\x2e\x30\x33\x36\x35\x20\x2d\x31\x2e\x31\
+\x31\x37\x37\x33\x2c\x2d\x30\x2e\x31\x39\x32\x36\x32\x20\x2d\x30\
+\x2e\x33\x36\x35\x36\x38\x2c\x2d\x30\x2e\x36\x37\x39\x37\x31\x20\
+\x7a\x20\x4d\x20\x31\x30\x38\x2e\x32\x35\x2c\x31\x31\x39\x2e\x32\
+\x35\x32\x37\x37\x20\x63\x20\x30\x2e\x34\x31\x32\x35\x2c\x2d\x30\
+\x2e\x32\x33\x30\x36\x39\x20\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x31\
+\x30\x35\x30\x38\x20\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x39\x34\x33\
+\x30\x39\x20\x30\x2c\x2d\x30\x2e\x38\x33\x38\x30\x31\x20\x30\x2e\
+\x35\x38\x31\x33\x35\x2c\x2d\x31\x2e\x33\x30\x30\x35\x37\x20\x31\
+\x2e\x32\x39\x31\x38\x39\x2c\x2d\x31\x2e\x30\x32\x37\x39\x31\x20\
+\x30\x2e\x37\x31\x30\x35\x34\x2c\x30\x2e\x32\x37\x32\x36\x36\x20\
+\x32\x2e\x30\x35\x37\x34\x39\x2c\x2d\x30\x2e\x30\x36\x34\x31\x20\
+\x32\x2e\x39\x39\x33\x32\x31\x2c\x2d\x30\x2e\x37\x34\x38\x32\x39\
+\x20\x31\x2e\x33\x36\x31\x31\x37\x2c\x2d\x30\x2e\x39\x39\x35\x33\
+\x31\x20\x32\x2e\x37\x33\x32\x30\x34\x2c\x2d\x30\x2e\x39\x37\x36\
+\x36\x36\x20\x36\x2e\x38\x35\x36\x38\x32\x2c\x30\x2e\x30\x39\x33\
+\x33\x20\x32\x2e\x38\x33\x35\x35\x33\x2c\x30\x2e\x37\x33\x35\x35\
+\x33\x20\x35\x2e\x33\x32\x31\x32\x39\x2c\x31\x2e\x35\x30\x33\x31\
+\x31\x20\x35\x2e\x35\x32\x33\x39\x32\x2c\x31\x2e\x37\x30\x35\x37\
+\x34\x20\x30\x2e\x32\x30\x32\x36\x33\x2c\x30\x2e\x32\x30\x32\x36\
+\x33\x20\x2d\x33\x2e\x31\x34\x37\x32\x39\x2c\x30\x2e\x36\x33\x39\
+\x35\x33\x20\x2d\x37\x2e\x34\x34\x34\x32\x37\x2c\x30\x2e\x39\x37\
+\x30\x38\x38\x20\x2d\x34\x2e\x32\x39\x36\x39\x38\x2c\x30\x2e\x33\
+\x33\x31\x33\x36\x20\x2d\x38\x2e\x34\x36\x37\x31\x38\x2c\x30\x2e\
+\x37\x37\x34\x39\x20\x2d\x39\x2e\x32\x36\x37\x31\x33\x2c\x30\x2e\
+\x39\x38\x35\x36\x35\x20\x2d\x30\x2e\x37\x39\x39\x39\x34\x2c\x30\
+\x2e\x32\x31\x30\x37\x34\x20\x2d\x31\x2e\x31\x31\x36\x39\x34\x2c\
+\x30\x2e\x31\x39\x34\x34\x32\x20\x2d\x30\x2e\x37\x30\x34\x34\x34\
+\x2c\x2d\x30\x2e\x30\x33\x36\x33\x20\x7a\x20\x4d\x20\x31\x33\x31\
+\x2e\x35\x2c\x31\x31\x38\x20\x63\x20\x30\x2e\x33\x33\x39\x39\x32\
+\x2c\x2d\x30\x2e\x35\x35\x20\x32\x2e\x35\x30\x33\x39\x38\x2c\x2d\
+\x30\x2e\x39\x36\x38\x33\x37\x20\x34\x2e\x38\x30\x39\x30\x32\x2c\
+\x2d\x30\x2e\x39\x32\x39\x37\x31\x20\x33\x2e\x32\x35\x38\x31\x35\
+\x2c\x30\x2e\x30\x35\x34\x36\x20\x33\x2e\x37\x34\x35\x38\x32\x2c\
+\x30\x2e\x32\x36\x31\x35\x37\x20\x32\x2e\x31\x39\x30\x39\x38\x2c\
+\x30\x2e\x39\x32\x39\x37\x31\x20\x2d\x32\x2e\x38\x32\x37\x39\x31\
+\x2c\x31\x2e\x32\x31\x35\x31\x39\x20\x2d\x37\x2e\x37\x35\x31\x30\
+\x33\x2c\x31\x2e\x32\x31\x35\x31\x39\x20\x2d\x37\x2c\x30\x20\x7a\
+\x20\x6d\x20\x31\x31\x2e\x33\x31\x32\x35\x2c\x2d\x30\x2e\x36\x38\
+\x33\x31\x31\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\
+\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\
+\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\
+\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\
+\x2e\x33\x33\x32\x33\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x4d\x20\x31\x34\
+\x36\x2c\x31\x31\x37\x2e\x31\x39\x30\x33\x32\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x35\x33\x36\x39\x39\x20\x30\x2e\x37\x31\x32\x36\x2c\
+\x2d\x31\x2e\x32\x34\x39\x37\x39\x20\x31\x2e\x35\x38\x33\x35\x36\
+\x2c\x2d\x31\x2e\x35\x38\x34\x30\x31\x20\x30\x2e\x39\x37\x33\x39\
+\x31\x2c\x2d\x30\x2e\x33\x37\x33\x37\x33\x20\x31\x2e\x34\x33\x31\
+\x30\x38\x2c\x2d\x30\x2e\x31\x35\x30\x32\x34\x20\x31\x2e\x31\x38\
+\x37\x35\x2c\x30\x2e\x35\x38\x30\x35\x31\x20\x2d\x30\x2e\x34\x39\
+\x38\x32\x38\x2c\x31\x2e\x34\x39\x34\x38\x34\x20\x2d\x32\x2e\x37\
+\x37\x31\x30\x36\x2c\x32\x2e\x33\x31\x37\x38\x39\x20\x2d\x32\x2e\
+\x37\x37\x31\x30\x36\x2c\x31\x2e\x30\x30\x33\x35\x20\x7a\x20\x6d\
+\x20\x2d\x34\x39\x2e\x34\x36\x33\x2c\x2d\x35\x2e\x37\x30\x34\x39\
+\x35\x20\x63\x20\x31\x2e\x35\x38\x38\x34\x39\x2c\x2d\x35\x2e\x30\
+\x39\x36\x30\x39\x20\x31\x2e\x35\x32\x32\x36\x36\x2c\x2d\x35\x2e\
+\x30\x30\x35\x31\x31\x20\x32\x2e\x35\x30\x31\x34\x38\x32\x2c\x2d\
+\x33\x2e\x34\x35\x37\x33\x34\x20\x31\x2e\x32\x39\x36\x32\x33\x38\
+\x2c\x32\x2e\x30\x34\x39\x36\x38\x20\x31\x2e\x32\x32\x31\x30\x32\
+\x38\x2c\x32\x2e\x33\x32\x38\x38\x31\x20\x2d\x31\x2e\x30\x30\x31\
+\x34\x38\x32\x2c\x33\x2e\x37\x31\x36\x37\x39\x20\x2d\x31\x2e\x36\
+\x33\x36\x37\x36\x39\x2c\x31\x2e\x30\x32\x32\x31\x38\x20\x2d\x31\
+\x2e\x38\x38\x36\x30\x35\x34\x2c\x30\x2e\x39\x37\x39\x30\x36\x20\
+\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x32\x35\x39\x34\x35\x20\x7a\x20\
+\x6d\x20\x36\x2e\x33\x33\x38\x2c\x30\x2e\x30\x39\x38\x20\x63\x20\
+\x2d\x30\x2e\x30\x36\x38\x37\x2c\x2d\x30\x2e\x33\x32\x30\x38\x33\
+\x20\x2d\x30\x2e\x31\x38\x31\x32\x35\x2c\x2d\x31\x2e\x30\x34\x39\
+\x37\x34\x20\x2d\x30\x2e\x32\x35\x2c\x2d\x31\x2e\x36\x31\x39\x38\
+\x20\x2d\x30\x2e\x30\x36\x38\x37\x2c\x2d\x30\x2e\x35\x37\x30\x30\
+\x37\x20\x2d\x30\x2e\x38\x2c\x2d\x31\x2e\x34\x36\x33\x31\x37\x20\
+\x2d\x31\x2e\x36\x32\x35\x2c\x2d\x31\x2e\x39\x38\x34\x36\x39\x20\
+\x2d\x31\x2e\x31\x32\x32\x32\x32\x37\x2c\x2d\x30\x2e\x37\x30\x39\
+\x34\x31\x20\x2d\x30\x2e\x36\x36\x33\x39\x37\x2c\x2d\x30\x2e\x39\
+\x35\x32\x30\x37\x20\x31\x2e\x38\x31\x39\x35\x35\x2c\x2d\x30\x2e\
+\x39\x36\x33\x35\x33\x20\x32\x2e\x38\x34\x32\x30\x38\x2c\x2d\x30\
+\x2e\x30\x31\x33\x31\x20\x33\x2e\x32\x37\x33\x35\x39\x2c\x30\x2e\
+\x32\x39\x37\x30\x36\x20\x33\x2c\x32\x2e\x31\x35\x36\x33\x36\x20\
+\x2d\x30\x2e\x32\x38\x36\x31\x34\x2c\x31\x2e\x39\x34\x34\x36\x20\
+\x2d\x32\x2e\x36\x33\x32\x37\x39\x2c\x33\x2e\x38\x36\x36\x35\x36\
+\x20\x2d\x32\x2e\x39\x34\x34\x35\x35\x2c\x32\x2e\x34\x31\x31\x36\
+\x36\x20\x7a\x20\x6d\x20\x31\x30\x2e\x39\x33\x37\x35\x2c\x2d\x31\
+\x2e\x32\x36\x36\x34\x34\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\
+\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\
+\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\
+\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\
+\x39\x2c\x30\x2e\x33\x33\x32\x33\x20\x2d\x30\x2e\x32\x35\x38\x33\
+\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\
+\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\
+\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\
+\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\
+\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\
+\x20\x33\x2e\x37\x36\x30\x34\x34\x2c\x2d\x31\x2e\x30\x38\x32\x32\
+\x20\x63\x20\x30\x2e\x35\x39\x30\x31\x32\x2c\x2d\x30\x2e\x34\x30\
+\x34\x30\x38\x20\x31\x2e\x33\x36\x33\x35\x2c\x2d\x31\x2e\x35\x32\
+\x32\x31\x39\x20\x31\x2e\x37\x31\x38\x36\x32\x2c\x2d\x32\x2e\x34\
+\x38\x34\x36\x39\x20\x30\x2e\x39\x30\x34\x37\x39\x2c\x2d\x32\x2e\
+\x34\x35\x32\x32\x39\x20\x34\x2e\x37\x30\x38\x34\x34\x2c\x2d\x32\
+\x2e\x32\x39\x38\x30\x31\x20\x34\x2e\x37\x30\x38\x34\x34\x2c\x30\
+\x2e\x31\x39\x30\x39\x38\x20\x30\x2c\x32\x2e\x34\x39\x35\x38\x35\
+\x20\x2d\x31\x2e\x39\x36\x34\x32\x38\x2c\x33\x2e\x37\x32\x34\x36\
+\x38\x20\x2d\x33\x2e\x30\x39\x36\x34\x39\x2c\x31\x2e\x39\x33\x37\
+\x31\x34\x20\x2d\x30\x2e\x36\x33\x32\x31\x2c\x2d\x30\x2e\x39\x39\
+\x37\x39\x36\x20\x2d\x30\x2e\x38\x37\x37\x31\x31\x2c\x2d\x31\x2e\
+\x30\x33\x33\x33\x20\x2d\x30\x2e\x38\x38\x38\x32\x2c\x2d\x30\x2e\
+\x31\x32\x38\x31\x32\x20\x2d\x30\x2e\x30\x30\x38\x2c\x30\x2e\x36\
+\x38\x37\x35\x20\x2d\x30\x2e\x38\x30\x32\x38\x31\x2c\x31\x2e\x32\
+\x34\x33\x31\x31\x20\x2d\x31\x2e\x37\x36\x35\x33\x31\x2c\x31\x2e\
+\x32\x33\x34\x36\x39\x20\x2d\x31\x2e\x30\x35\x34\x37\x34\x2c\x2d\
+\x30\x2e\x30\x30\x39\x20\x2d\x31\x2e\x33\x32\x33\x37\x33\x2c\x2d\
+\x30\x2e\x33\x30\x37\x32\x20\x2d\x30\x2e\x36\x37\x37\x30\x36\x2c\
+\x2d\x30\x2e\x37\x35\x20\x7a\x20\x6d\x20\x2d\x39\x2e\x35\x33\x35\
+\x31\x39\x2c\x2d\x36\x2e\x33\x30\x35\x32\x33\x20\x63\x20\x30\x2e\
+\x35\x36\x37\x39\x34\x2c\x2d\x31\x2e\x30\x36\x31\x32\x20\x31\x2e\
+\x35\x37\x39\x32\x38\x2c\x2d\x31\x2e\x39\x36\x30\x34\x36\x20\x32\
+\x2e\x32\x34\x37\x34\x33\x2c\x2d\x31\x2e\x39\x39\x38\x33\x36\x20\
+\x30\x2e\x36\x36\x38\x31\x35\x2c\x2d\x30\x2e\x30\x33\x37\x39\x20\
+\x32\x2e\x34\x36\x30\x34\x34\x2c\x2d\x30\x2e\x32\x33\x33\x30\x36\
+\x20\x33\x2e\x39\x38\x32\x38\x36\x2c\x2d\x30\x2e\x34\x33\x33\x37\
+\x20\x31\x2e\x39\x33\x31\x33\x35\x2c\x2d\x30\x2e\x32\x35\x34\x35\
+\x34\x20\x32\x2e\x35\x35\x33\x34\x33\x2c\x2d\x30\x2e\x30\x30\x37\
+\x20\x32\x2e\x30\x35\x38\x30\x35\x2c\x30\x2e\x38\x31\x38\x39\x20\
+\x2d\x30\x2e\x33\x39\x30\x35\x31\x2c\x30\x2e\x36\x35\x31\x30\x33\
+\x20\x30\x2e\x30\x38\x35\x37\x2c\x30\x2e\x35\x33\x37\x36\x34\x20\
+\x31\x2e\x30\x35\x38\x31\x37\x2c\x2d\x30\x2e\x32\x35\x32\x20\x31\
+\x2e\x35\x33\x36\x35\x31\x2c\x2d\x31\x2e\x32\x34\x37\x35\x39\x35\
+\x20\x31\x2e\x38\x38\x37\x32\x2c\x2d\x31\x2e\x32\x34\x37\x35\x39\
+\x35\x20\x32\x2e\x36\x37\x36\x36\x34\x2c\x30\x20\x30\x2e\x37\x37\
+\x39\x32\x38\x2c\x31\x2e\x32\x33\x31\x35\x33\x20\x30\x2e\x39\x31\
+\x32\x38\x33\x2c\x31\x2e\x32\x32\x32\x33\x39\x20\x30\x2e\x39\x33\
+\x39\x31\x2c\x2d\x30\x2e\x30\x36\x34\x33\x20\x30\x2e\x30\x32\x37\
+\x32\x2c\x2d\x31\x2e\x33\x33\x33\x33\x33\x33\x20\x30\x2e\x31\x33\
+\x38\x33\x33\x2c\x2d\x31\x2e\x33\x33\x33\x33\x33\x33\x20\x31\x2c\
+\x30\x20\x31\x2e\x35\x37\x36\x32\x37\x2c\x32\x2e\x34\x33\x39\x31\
+\x31\x20\x31\x2e\x32\x30\x34\x38\x2c\x32\x2e\x37\x37\x32\x38\x33\
+\x20\x2d\x33\x2c\x32\x2e\x36\x39\x35\x31\x35\x20\x2d\x32\x2e\x32\
+\x2c\x2d\x30\x2e\x30\x34\x30\x36\x20\x2d\x34\x2c\x2d\x30\x2e\x34\
+\x36\x35\x32\x34\x20\x2d\x34\x2c\x2d\x30\x2e\x39\x34\x33\x35\x34\
+\x20\x30\x2c\x2d\x30\x2e\x34\x37\x38\x33\x20\x2d\x30\x2e\x34\x36\
+\x34\x36\x36\x2c\x2d\x30\x2e\x35\x38\x32\x34\x37\x20\x2d\x31\x2e\
+\x30\x33\x32\x35\x37\x2c\x2d\x30\x2e\x32\x33\x31\x34\x38\x20\x2d\
+\x30\x2e\x35\x36\x37\x39\x31\x2c\x30\x2e\x33\x35\x30\x39\x39\x20\
+\x2d\x32\x2e\x33\x36\x36\x37\x36\x2c\x31\x2e\x30\x32\x30\x38\x20\
+\x2d\x33\x2e\x39\x39\x37\x34\x33\x2c\x31\x2e\x34\x38\x38\x34\x37\
+\x20\x2d\x32\x2e\x37\x32\x33\x39\x39\x2c\x30\x2e\x37\x38\x31\x32\
+\x33\x20\x2d\x32\x2e\x38\x38\x30\x39\x37\x2c\x30\x2e\x36\x39\x33\
+\x35\x36\x20\x2d\x31\x2e\x39\x33\x32\x32\x35\x2c\x2d\x31\x2e\x30\
+\x37\x39\x31\x34\x20\x7a\x20\x4d\x20\x31\x33\x34\x2e\x35\x2c\x31\
+\x30\x33\x20\x63\x20\x2d\x31\x2e\x34\x36\x39\x31\x35\x2c\x2d\x30\
+\x2e\x36\x33\x31\x33\x32\x20\x2d\x30\x2e\x36\x37\x32\x38\x37\x2c\
+\x2d\x30\x2e\x38\x35\x39\x34\x33\x20\x33\x2c\x2d\x30\x2e\x38\x35\
+\x39\x34\x33\x20\x33\x2e\x36\x37\x32\x38\x37\x2c\x30\x20\x34\x2e\
+\x34\x36\x39\x31\x35\x2c\x30\x2e\x32\x32\x38\x31\x31\x20\x33\x2c\
+\x30\x2e\x38\x35\x39\x34\x33\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x34\
+\x37\x32\x36\x39\x20\x2d\x32\x2e\x34\x35\x2c\x30\x2e\x38\x35\x39\
+\x34\x33\x20\x2d\x33\x2c\x30\x2e\x38\x35\x39\x34\x33\x20\x2d\x30\
+\x2e\x35\x35\x2c\x30\x20\x2d\x31\x2e\x39\x2c\x2d\x30\x2e\x33\x38\
+\x36\x37\x34\x20\x2d\x33\x2c\x2d\x30\x2e\x38\x35\x39\x34\x33\x20\
+\x7a\x20\x6d\x20\x31\x32\x2e\x32\x36\x38\x34\x35\x2c\x2d\x31\x2e\
+\x31\x36\x38\x34\x35\x20\x63\x20\x30\x2e\x35\x38\x31\x31\x2c\x2d\
+\x30\x2e\x35\x38\x31\x31\x20\x31\x2e\x36\x34\x36\x38\x32\x2c\x2d\
+\x30\x2e\x38\x35\x39\x37\x39\x20\x32\x2e\x33\x36\x38\x32\x36\x2c\
+\x2d\x30\x2e\x36\x31\x39\x33\x31\x20\x30\x2e\x37\x34\x38\x39\x35\
+\x2c\x30\x2e\x32\x34\x39\x36\x35\x20\x30\x2e\x32\x39\x35\x36\x35\
+\x2c\x30\x2e\x37\x30\x32\x39\x34\x20\x2d\x31\x2e\x30\x35\x36\x35\
+\x35\x2c\x31\x2e\x30\x35\x36\x35\x35\x20\x2d\x31\x2e\x36\x36\x33\
+\x33\x35\x2c\x30\x2e\x34\x33\x34\x39\x37\x20\x2d\x32\x2e\x30\x35\
+\x33\x37\x38\x2c\x30\x2e\x33\x30\x34\x38\x33\x20\x2d\x31\x2e\x33\
+\x31\x31\x37\x31\x2c\x2d\x30\x2e\x34\x33\x37\x32\x34\x20\x7a\x20\
+\x4d\x20\x39\x37\x2e\x33\x38\x32\x39\x37\x36\x2c\x39\x36\x2e\x35\
+\x35\x35\x36\x33\x36\x20\x63\x20\x2d\x30\x2e\x39\x33\x32\x31\x35\
+\x31\x2c\x2d\x32\x2e\x34\x32\x39\x31\x34\x37\x20\x2d\x30\x2e\x30\
+\x32\x39\x30\x32\x2c\x2d\x33\x2e\x32\x33\x38\x30\x39\x36\x20\x32\
+\x2e\x32\x39\x33\x33\x33\x32\x2c\x2d\x32\x2e\x30\x35\x34\x31\x36\
+\x36\x20\x32\x2e\x31\x33\x31\x35\x39\x32\x2c\x31\x2e\x30\x38\x36\
+\x36\x38\x31\x20\x32\x2e\x31\x33\x36\x32\x36\x32\x2c\x31\x2e\x31\
+\x33\x34\x34\x39\x20\x30\x2e\x32\x32\x37\x33\x30\x36\x2c\x32\x2e\
+\x33\x32\x36\x36\x35\x31\x20\x2d\x31\x2e\x35\x39\x30\x33\x31\x33\
+\x2c\x30\x2e\x39\x39\x33\x31\x36\x37\x20\x2d\x32\x2e\x30\x35\x34\
+\x32\x30\x35\x2c\x30\x2e\x39\x34\x33\x30\x32\x20\x2d\x32\x2e\x35\
+\x32\x30\x36\x33\x38\x2c\x2d\x30\x2e\x32\x37\x32\x34\x38\x35\x20\
+\x7a\x20\x6d\x20\x35\x2e\x35\x34\x38\x39\x36\x34\x2c\x2d\x30\x2e\
+\x36\x38\x32\x38\x31\x20\x63\x20\x2d\x31\x2e\x32\x30\x33\x37\x2c\
+\x2d\x32\x2e\x32\x34\x39\x31\x33\x32\x20\x2d\x30\x2e\x30\x30\x33\
+\x2c\x2d\x33\x2e\x38\x32\x34\x36\x37\x35\x20\x32\x2e\x39\x34\x30\
+\x35\x2c\x2d\x33\x2e\x38\x35\x37\x35\x31\x33\x20\x31\x2e\x31\x34\
+\x37\x36\x35\x2c\x2d\x30\x2e\x30\x31\x32\x38\x31\x20\x31\x2e\x31\
+\x35\x33\x38\x33\x2c\x30\x2e\x32\x34\x38\x31\x30\x38\x20\x30\x2e\
+\x30\x33\x37\x38\x2c\x31\x2e\x35\x39\x32\x39\x20\x2d\x31\x2e\x31\
+\x33\x34\x30\x31\x2c\x31\x2e\x33\x36\x36\x34\x30\x31\x20\x2d\x31\
+\x2e\x30\x34\x38\x35\x2c\x31\x2e\x38\x31\x37\x34\x38\x31\x20\x30\
+\x2e\x35\x36\x38\x36\x39\x2c\x33\x20\x43\x20\x31\x30\x38\x2e\x33\
+\x32\x31\x33\x35\x2c\x39\x37\x2e\x39\x35\x35\x34\x35\x39\x20\x31\
+\x30\x38\x2e\x33\x31\x33\x32\x36\x2c\x39\x38\x20\x31\x30\x36\x2e\
+\x32\x32\x36\x33\x31\x2c\x39\x38\x20\x63\x20\x2d\x31\x2e\x31\x38\
+\x35\x37\x37\x2c\x30\x20\x2d\x32\x2e\x36\x36\x38\x32\x34\x2c\x2d\
+\x30\x2e\x39\x35\x37\x32\x32\x38\x20\x2d\x33\x2e\x32\x39\x34\x33\
+\x37\x2c\x2d\x32\x2e\x31\x32\x37\x31\x37\x34\x20\x7a\x20\x6d\x20\
+\x31\x36\x2e\x35\x32\x31\x35\x39\x2c\x2d\x32\x2e\x35\x33\x39\x36\
+\x33\x34\x20\x63\x20\x30\x2e\x30\x35\x32\x2c\x2d\x32\x2e\x39\x38\
+\x35\x33\x37\x36\x20\x31\x2e\x39\x31\x32\x37\x31\x2c\x2d\x34\x2e\
+\x31\x30\x34\x30\x35\x38\x20\x33\x2e\x39\x37\x36\x38\x36\x2c\x2d\
+\x32\x2e\x33\x39\x30\x39\x36\x35\x20\x43\x20\x31\x32\x35\x2e\x34\
+\x32\x38\x39\x39\x2c\x39\x32\x2e\x36\x30\x30\x39\x32\x20\x31\x32\
+\x34\x2e\x31\x39\x30\x30\x38\x2c\x39\x36\x20\x31\x32\x31\x2e\x35\
+\x38\x36\x39\x2c\x39\x36\x20\x63\x20\x2d\x31\x2e\x37\x30\x36\x34\
+\x36\x2c\x30\x20\x2d\x32\x2e\x31\x36\x39\x37\x34\x2c\x2d\x30\x2e\
+\x35\x37\x39\x31\x31\x39\x20\x2d\x32\x2e\x31\x33\x33\x33\x37\x2c\
+\x2d\x32\x2e\x36\x36\x36\x38\x30\x38\x20\x7a\x20\x4d\x20\x39\x39\
+\x2c\x39\x33\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\
+\x34\x37\x36\x35\x35\x38\x2c\x2d\x31\x20\x31\x2e\x30\x35\x39\x30\
+\x32\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x30\
+\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\x30\x2e\x34\x34\x30\
+\x39\x38\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\
+\x35\x35\x20\x2d\x30\x2e\x38\x31\x36\x34\x37\x36\x2c\x31\x20\x2d\
+\x31\x2e\x30\x35\x39\x30\x31\x37\x2c\x31\x20\x43\x20\x39\x39\x2e\
+\x31\x39\x38\x34\x34\x32\x2c\x39\x34\x20\x39\x39\x2c\x39\x33\x2e\
+\x35\x35\x20\x39\x39\x2c\x39\x33\x20\x7a\x20\x6d\x20\x39\x2e\x31\
+\x37\x34\x36\x39\x2c\x2d\x34\x2e\x33\x30\x32\x30\x37\x32\x20\x63\
+\x20\x32\x2e\x33\x35\x33\x35\x32\x2c\x2d\x32\x2e\x33\x37\x35\x32\
+\x37\x20\x36\x2e\x35\x39\x36\x37\x33\x2c\x2d\x33\x2e\x38\x37\x36\
+\x37\x39\x39\x20\x37\x2e\x33\x37\x38\x39\x34\x2c\x2d\x32\x2e\x36\
+\x31\x31\x31\x35\x39\x20\x30\x2e\x34\x31\x36\x30\x35\x2c\x30\x2e\
+\x36\x37\x33\x31\x39\x34\x20\x31\x2e\x30\x35\x32\x39\x37\x2c\x30\
+\x2e\x36\x35\x34\x36\x38\x36\x20\x31\x2e\x39\x30\x38\x36\x35\x2c\
+\x2d\x30\x2e\x30\x35\x35\x34\x36\x20\x31\x2e\x33\x36\x38\x33\x33\
+\x2c\x2d\x31\x2e\x31\x33\x35\x36\x31\x32\x20\x34\x2e\x38\x34\x34\
+\x37\x39\x2c\x2d\x30\x2e\x33\x33\x37\x31\x36\x34\x20\x34\x2e\x30\
+\x36\x30\x30\x39\x2c\x30\x2e\x39\x33\x32\x34\x39\x34\x20\x2d\x30\
+\x2e\x32\x35\x36\x33\x37\x2c\x30\x2e\x34\x31\x34\x38\x32\x36\x20\
+\x2d\x32\x2e\x39\x31\x35\x35\x2c\x31\x2e\x30\x34\x32\x31\x30\x34\
+\x20\x2d\x35\x2e\x39\x30\x39\x31\x37\x2c\x31\x2e\x33\x39\x33\x39\
+\x35\x31\x20\x2d\x32\x2e\x39\x39\x33\x36\x37\x2c\x30\x2e\x33\x35\
+\x31\x38\x34\x37\x20\x2d\x36\x2e\x32\x36\x38\x38\x32\x2c\x30\x2e\
+\x39\x35\x32\x36\x31\x31\x20\x2d\x37\x2e\x32\x37\x38\x31\x32\x2c\
+\x31\x2e\x33\x33\x35\x30\x33\x32\x20\x2d\x31\x2e\x37\x31\x37\x31\
+\x39\x2c\x30\x2e\x36\x35\x30\x36\x34\x33\x20\x2d\x31\x2e\x37\x32\
+\x37\x35\x2c\x30\x2e\x35\x38\x36\x37\x33\x33\x20\x2d\x30\x2e\x31\
+\x36\x30\x33\x39\x2c\x2d\x30\x2e\x39\x39\x34\x38\x35\x34\x20\x7a\
+\x20\x6d\x20\x34\x35\x2e\x39\x30\x34\x32\x36\x2c\x2d\x30\x2e\x32\
+\x38\x31\x32\x36\x31\x20\x63\x20\x30\x2e\x30\x34\x38\x2c\x2d\x31\
+\x2e\x31\x36\x34\x39\x34\x33\x20\x30\x2e\x32\x38\x34\x39\x34\x2c\
+\x2d\x31\x2e\x34\x30\x31\x39\x20\x30\x2e\x36\x30\x34\x31\x36\x2c\
+\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x30\x2e\x32\x38\x38\x38\
+\x37\x2c\x30\x2e\x37\x32\x31\x38\x37\x35\x20\x30\x2e\x32\x35\x33\
+\x33\x35\x2c\x31\x2e\x35\x38\x34\x33\x37\x35\x20\x2d\x30\x2e\x30\
+\x37\x38\x39\x2c\x31\x2e\x39\x31\x36\x36\x36\x37\x20\x2d\x30\x2e\
+\x33\x33\x32\x33\x2c\x30\x2e\x33\x33\x32\x32\x39\x31\x20\x2d\x30\
+\x2e\x35\x36\x38\x36\x34\x2c\x2d\x30\x2e\x32\x35\x38\x33\x33\x34\
+\x20\x2d\x30\x2e\x35\x32\x35\x32\x32\x2c\x2d\x31\x2e\x33\x31\x32\
+\x35\x20\x7a\x20\x4d\x20\x31\x33\x33\x2c\x38\x38\x20\x63\x20\x30\
+\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x36\x37\x35\x2c\x2d\x31\x20\
+\x31\x2e\x35\x2c\x2d\x31\x20\x30\x2e\x38\x32\x35\x2c\x30\x20\x31\
+\x2e\x35\x2c\x30\x2e\x34\x35\x20\x31\x2e\x35\x2c\x31\x20\x30\x2c\
+\x30\x2e\x35\x35\x20\x2d\x30\x2e\x36\x37\x35\x2c\x31\x20\x2d\x31\
+\x2e\x35\x2c\x31\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x20\x2d\x31\
+\x2e\x35\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x35\x2c\x2d\x31\
+\x20\x7a\x20\x6d\x20\x31\x30\x2c\x2d\x31\x20\x63\x20\x2d\x31\x2e\
+\x32\x30\x36\x37\x37\x2c\x2d\x30\x2e\x37\x37\x39\x38\x37\x36\x20\
+\x2d\x31\x2e\x30\x34\x38\x36\x32\x2c\x2d\x30\x2e\x39\x37\x32\x33\
+\x36\x38\x20\x30\x2e\x38\x30\x39\x30\x32\x2c\x2d\x30\x2e\x39\x38\
+\x34\x36\x38\x37\x20\x31\x2e\x32\x38\x37\x35\x37\x2c\x2d\x30\x2e\
+\x30\x30\x38\x35\x20\x32\x2e\x30\x33\x35\x36\x31\x2c\x30\x2e\x34\
+\x32\x37\x30\x36\x31\x20\x31\x2e\x36\x39\x30\x39\x38\x2c\x30\x2e\
+\x39\x38\x34\x36\x38\x37\x20\x2d\x30\x2e\x37\x34\x33\x31\x39\x2c\
+\x31\x2e\x32\x30\x32\x35\x20\x2d\x30\x2e\x36\x33\x39\x32\x36\x2c\
+\x31\x2e\x32\x30\x32\x35\x20\x2d\x32\x2e\x35\x2c\x30\x20\x7a\x20\
+\x4d\x20\x31\x30\x32\x2e\x30\x38\x37\x37\x36\x2c\x38\x33\x2e\x31\
+\x35\x39\x38\x34\x38\x20\x43\x20\x39\x39\x2e\x34\x34\x31\x32\x33\
+\x34\x2c\x38\x32\x2e\x37\x38\x35\x32\x31\x32\x20\x39\x37\x2c\x38\
+\x30\x2e\x37\x38\x39\x32\x31\x33\x20\x39\x37\x2c\x37\x39\x20\x63\
+\x20\x30\x2c\x2d\x31\x2e\x33\x37\x33\x39\x34\x20\x32\x2e\x30\x35\
+\x35\x33\x38\x37\x2c\x2d\x33\x2e\x33\x39\x36\x39\x31\x34\x20\x33\
+\x2e\x38\x32\x38\x36\x36\x2c\x2d\x33\x2e\x37\x36\x38\x32\x38\x34\
+\x20\x31\x2e\x38\x37\x30\x30\x39\x2c\x2d\x30\x2e\x33\x39\x31\x36\
+\x34\x35\x20\x35\x2e\x35\x36\x30\x30\x36\x2c\x32\x2e\x34\x31\x30\
+\x30\x30\x36\x20\x34\x2e\x32\x34\x34\x37\x38\x2c\x33\x2e\x32\x32\
+\x32\x38\x39\x33\x20\x2d\x30\x2e\x35\x39\x30\x33\x39\x2c\x30\x2e\
+\x33\x36\x34\x38\x38\x34\x20\x2d\x31\x2e\x30\x38\x30\x33\x33\x2c\
+\x30\x2e\x30\x37\x34\x33\x37\x20\x2d\x31\x2e\x30\x38\x38\x37\x35\
+\x2c\x2d\x30\x2e\x36\x34\x35\x35\x39\x32\x20\x2d\x30\x2e\x30\x31\
+\x31\x33\x2c\x2d\x30\x2e\x39\x36\x33\x39\x33\x38\x20\x2d\x30\x2e\
+\x32\x39\x39\x37\x36\x2c\x2d\x30\x2e\x39\x31\x33\x35\x39\x31\x20\
+\x2d\x31\x2e\x30\x39\x34\x33\x34\x2c\x30\x2e\x31\x39\x30\x39\x38\
+\x33\x20\x2d\x30\x2e\x38\x37\x34\x34\x34\x2c\x31\x2e\x32\x31\x35\
+\x36\x30\x35\x20\x2d\x30\x2e\x39\x35\x34\x39\x35\x2c\x31\x2e\x31\
+\x32\x33\x30\x34\x38\x20\x2d\x30\x2e\x34\x32\x34\x36\x37\x2c\x2d\
+\x30\x2e\x34\x38\x38\x31\x37\x36\x20\x30\x2e\x36\x35\x33\x30\x35\
+\x2c\x2d\x31\x2e\x39\x38\x34\x32\x33\x34\x20\x30\x2e\x36\x35\x30\
+\x35\x35\x2c\x2d\x31\x2e\x39\x38\x34\x32\x33\x34\x20\x2d\x31\x2e\
+\x32\x36\x31\x33\x37\x2c\x30\x20\x2d\x32\x2e\x32\x34\x39\x39\x39\
+\x34\x2c\x32\x2e\x33\x33\x35\x30\x39\x39\x20\x2d\x31\x2e\x38\x38\
+\x34\x30\x38\x36\x2c\x35\x2e\x33\x31\x30\x38\x30\x39\x20\x30\x2e\
+\x33\x37\x35\x32\x33\x2c\x33\x2e\x30\x35\x31\x34\x39\x37\x20\x30\
+\x2e\x37\x36\x31\x39\x2c\x2d\x30\x2e\x37\x36\x31\x39\x30\x35\x20\
+\x32\x2e\x33\x30\x30\x32\x31\x2c\x2d\x31\x2e\x31\x34\x36\x30\x32\
+\x33\x20\x33\x2e\x34\x31\x38\x34\x35\x2c\x2d\x30\x2e\x38\x35\x33\
+\x35\x39\x35\x20\x43\x20\x31\x30\x37\x2e\x34\x39\x32\x39\x32\x2c\
+\x38\x30\x2e\x33\x36\x32\x31\x36\x34\x20\x31\x30\x38\x2e\x36\x36\
+\x38\x38\x34\x2c\x38\x32\x20\x31\x30\x36\x2e\x36\x34\x32\x33\x35\
+\x2c\x38\x32\x20\x63\x20\x2d\x30\x2e\x38\x31\x31\x36\x33\x2c\x30\
+\x20\x2d\x31\x2e\x36\x32\x35\x36\x38\x2c\x30\x2e\x33\x33\x37\x37\
+\x39\x37\x20\x2d\x31\x2e\x38\x30\x39\x30\x32\x2c\x30\x2e\x37\x35\
+\x30\x36\x36\x20\x2d\x30\x2e\x31\x38\x33\x33\x33\x2c\x30\x2e\x34\
+\x31\x32\x38\x36\x32\x20\x2d\x31\x2e\x34\x31\x38\x38\x34\x2c\x30\
+\x2e\x35\x39\x36\x39\x39\x37\x20\x2d\x32\x2e\x37\x34\x35\x35\x37\
+\x2c\x30\x2e\x34\x30\x39\x31\x38\x38\x20\x7a\x20\x4d\x20\x31\x32\
+\x30\x2c\x38\x31\x2e\x30\x31\x30\x35\x33\x34\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x36\x32\x30\x37\x31\x32\x20\x2d\x30\x2e\x34\x34\x34\
+\x38\x35\x2c\x2d\x30\x2e\x38\x35\x33\x36\x33\x38\x20\x2d\x30\x2e\
+\x39\x38\x38\x35\x35\x2c\x2d\x30\x2e\x35\x31\x37\x36\x31\x33\x20\
+\x2d\x30\x2e\x35\x36\x36\x38\x36\x2c\x30\x2e\x33\x35\x30\x33\x33\
+\x39\x20\x2d\x30\x2e\x37\x33\x34\x35\x2c\x2d\x30\x2e\x30\x35\x31\
+\x30\x36\x20\x2d\x30\x2e\x33\x39\x33\x30\x31\x2c\x2d\x30\x2e\x39\
+\x34\x30\x39\x38\x33\x20\x43\x20\x31\x31\x38\x2e\x39\x34\x35\x39\
+\x39\x2c\x37\x38\x2e\x36\x39\x38\x33\x37\x32\x20\x31\x31\x39\x2e\
+\x36\x34\x32\x33\x39\x2c\x37\x38\x20\x31\x32\x30\x2e\x31\x36\x36\
+\x30\x31\x2c\x37\x38\x20\x63\x20\x30\x2e\x35\x32\x33\x36\x31\x2c\
+\x30\x20\x30\x2e\x36\x37\x33\x33\x39\x2c\x2d\x30\x2e\x34\x35\x30\
+\x38\x34\x33\x20\x30\x2e\x33\x33\x32\x38\x33\x2c\x2d\x31\x2e\x30\
+\x30\x31\x38\x37\x33\x20\x2d\x30\x2e\x33\x34\x30\x35\x35\x2c\x2d\
+\x30\x2e\x35\x35\x31\x30\x33\x20\x30\x2e\x35\x36\x32\x31\x38\x2c\
+\x2d\x31\x2e\x34\x35\x31\x30\x33\x20\x32\x2e\x30\x30\x36\x30\x39\
+\x2c\x2d\x32\x20\x33\x2e\x35\x34\x36\x35\x36\x2c\x2d\x31\x2e\x33\
+\x34\x38\x34\x20\x33\x2e\x38\x32\x36\x35\x38\x2c\x2d\x31\x2e\x32\
+\x37\x37\x35\x38\x33\x20\x32\x2e\x39\x37\x33\x30\x33\x2c\x30\x2e\
+\x37\x35\x31\x38\x37\x33\x20\x2d\x30\x2e\x34\x30\x34\x38\x31\x2c\
+\x30\x2e\x39\x36\x32\x35\x20\x2d\x30\x2e\x38\x32\x35\x37\x31\x2c\
+\x32\x2e\x36\x35\x20\x2d\x30\x2e\x39\x33\x35\x33\x34\x2c\x33\x2e\
+\x37\x35\x20\x43\x20\x31\x32\x34\x2e\x33\x33\x32\x35\x38\x2c\x38\
+\x31\x2e\x36\x30\x37\x35\x30\x37\x20\x31\x32\x30\x2c\x38\x33\x2e\
+\x30\x34\x38\x31\x39\x38\x20\x31\x32\x30\x2c\x38\x31\x2e\x30\x31\
+\x30\x35\x33\x34\x20\x7a\x20\x6d\x20\x2d\x31\x33\x2e\x35\x34\x31\
+\x38\x39\x2c\x2d\x37\x2e\x33\x33\x33\x33\x35\x20\x63\x20\x31\x2e\
+\x30\x37\x36\x39\x36\x2c\x2d\x30\x2e\x38\x30\x30\x30\x38\x33\x20\
+\x32\x2e\x35\x35\x38\x38\x37\x2c\x2d\x31\x2e\x32\x32\x34\x31\x36\
+\x34\x20\x33\x2e\x32\x39\x33\x31\x33\x2c\x2d\x30\x2e\x39\x34\x32\
+\x34\x30\x32\x20\x31\x2e\x36\x37\x39\x37\x39\x2c\x30\x2e\x36\x34\
+\x34\x35\x39\x37\x20\x31\x2e\x34\x34\x37\x2c\x30\x2e\x38\x31\x39\
+\x34\x30\x33\x20\x2d\x32\x2e\x32\x35\x31\x32\x34\x2c\x31\x2e\x36\
+\x39\x30\x34\x38\x32\x20\x2d\x32\x2e\x37\x39\x38\x38\x36\x2c\x30\
+\x2e\x36\x35\x39\x32\x34\x32\x20\x2d\x32\x2e\x38\x36\x38\x37\x32\
+\x2c\x30\x2e\x36\x30\x39\x30\x38\x36\x20\x2d\x31\x2e\x30\x34\x31\
+\x38\x39\x2c\x2d\x30\x2e\x37\x34\x38\x30\x38\x20\x7a\x20\x6d\x20\
+\x35\x2e\x35\x33\x39\x35\x36\x2c\x2d\x30\x2e\x38\x31\x33\x36\x38\
+\x35\x20\x63\x20\x30\x2e\x30\x30\x34\x2c\x2d\x31\x2e\x30\x33\x38\
+\x30\x34\x34\x20\x35\x2e\x30\x38\x34\x39\x39\x2c\x2d\x31\x2e\x34\
+\x30\x31\x31\x36\x34\x20\x31\x31\x2e\x35\x30\x32\x33\x33\x2c\x2d\
+\x30\x2e\x38\x32\x31\x39\x39\x39\x20\x35\x2e\x39\x39\x36\x31\x39\
+\x2c\x30\x2e\x35\x34\x31\x31\x35\x36\x20\x35\x2e\x39\x39\x34\x34\
+\x34\x2c\x30\x2e\x35\x34\x31\x37\x39\x31\x20\x2d\x32\x2e\x37\x35\
+\x32\x33\x33\x2c\x31\x20\x2d\x34\x2e\x38\x31\x33\x37\x39\x2c\x30\
+\x2e\x32\x35\x32\x31\x37\x35\x20\x2d\x38\x2e\x37\x35\x31\x32\x39\
+\x2c\x30\x2e\x31\x37\x32\x30\x37\x35\x20\x2d\x38\x2e\x37\x35\x2c\
+\x2d\x30\x2e\x31\x37\x38\x30\x30\x31\x20\x7a\x20\x6d\x20\x31\x39\
+\x2e\x36\x33\x33\x34\x34\x2c\x30\x2e\x33\x34\x38\x36\x34\x32\x20\
+\x63\x20\x2d\x30\x2e\x32\x36\x37\x38\x31\x2c\x2d\x30\x2e\x34\x33\
+\x33\x33\x32\x32\x20\x30\x2e\x36\x33\x30\x33\x34\x2c\x2d\x30\x2e\
+\x38\x38\x30\x33\x32\x36\x20\x31\x2e\x39\x39\x35\x38\x39\x2c\x2d\
+\x30\x2e\x39\x39\x33\x33\x34\x32\x20\x31\x2e\x34\x33\x31\x32\x35\
+\x2c\x2d\x30\x2e\x31\x31\x38\x34\x35\x35\x20\x32\x2e\x32\x32\x32\
+\x37\x39\x2c\x30\x2e\x32\x31\x35\x32\x33\x20\x31\x2e\x38\x36\x38\
+\x38\x39\x2c\x30\x2e\x37\x38\x37\x38\x35\x39\x20\x2d\x30\x2e\x37\
+\x33\x32\x38\x32\x2c\x31\x2e\x31\x38\x35\x37\x31\x37\x20\x2d\x33\
+\x2e\x31\x37\x38\x35\x39\x2c\x31\x2e\x33\x31\x35\x37\x35\x35\x20\
+\x2d\x33\x2e\x38\x36\x34\x37\x38\x2c\x30\x2e\x32\x30\x35\x34\x38\
+\x33\x20\x7a\x20\x6d\x20\x36\x2e\x36\x33\x37\x39\x32\x2c\x2d\x30\
+\x2e\x39\x30\x35\x31\x33\x32\x20\x63\x20\x30\x2e\x39\x37\x32\x39\
+\x37\x2c\x2d\x30\x2e\x32\x35\x33\x35\x34\x33\x20\x32\x2e\x33\x32\
+\x32\x39\x37\x2c\x2d\x30\x2e\x32\x33\x36\x38\x36\x39\x20\x33\x2c\
+\x30\x2e\x30\x33\x37\x30\x35\x20\x30\x2e\x36\x37\x37\x30\x33\x2c\
+\x30\x2e\x32\x37\x33\x39\x32\x33\x20\x2d\x30\x2e\x31\x31\x39\x30\
+\x33\x2c\x30\x2e\x34\x38\x31\x33\x36\x38\x20\x2d\x31\x2e\x37\x36\
+\x39\x30\x33\x2c\x30\x2e\x34\x36\x30\x39\x38\x38\x20\x2d\x31\x2e\
+\x36\x35\x2c\x2d\x30\x2e\x30\x32\x30\x33\x38\x20\x2d\x32\x2e\x32\
+\x30\x33\x39\x34\x2c\x2d\x30\x2e\x32\x34\x34\x34\x39\x38\x20\x2d\
+\x31\x2e\x32\x33\x30\x39\x37\x2c\x2d\x30\x2e\x34\x39\x38\x30\x34\
+\x32\x20\x7a\x20\x4d\x20\x31\x34\x37\x2c\x37\x30\x2e\x39\x39\x30\
+\x38\x31\x35\x20\x63\x20\x32\x2e\x34\x37\x35\x2c\x2d\x30\x2e\x34\
+\x31\x37\x33\x36\x39\x20\x34\x2e\x39\x32\x37\x35\x2c\x2d\x30\x2e\
+\x33\x36\x31\x30\x34\x34\x20\x35\x2e\x34\x35\x2c\x30\x2e\x31\x32\
+\x35\x31\x36\x37\x20\x30\x2e\x35\x35\x37\x38\x38\x2c\x30\x2e\x35\
+\x31\x39\x31\x32\x38\x20\x2d\x31\x2e\x32\x39\x39\x35\x36\x2c\x30\
+\x2e\x38\x33\x32\x33\x35\x34\x20\x2d\x34\x2e\x35\x2c\x30\x2e\x37\
+\x35\x38\x38\x35\x31\x20\x4c\x20\x31\x34\x32\x2e\x35\x2c\x37\x31\
+\x2e\x37\x34\x39\x36\x36\x37\x20\x31\x34\x37\x2c\x37\x30\x2e\x39\
+\x39\x30\x38\x31\x35\x20\x7a\x20\x4d\x20\x39\x37\x2c\x36\x38\x2e\
+\x30\x35\x39\x30\x31\x37\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x31\
+\x37\x35\x34\x31\x20\x30\x2e\x34\x35\x31\x32\x31\x37\x2c\x2d\x31\
+\x2e\x32\x31\x39\x38\x35\x20\x31\x2e\x30\x30\x32\x37\x30\x34\x2c\
+\x2d\x31\x2e\x35\x36\x30\x36\x38\x38\x20\x30\x2e\x36\x34\x39\x30\
+\x33\x32\x2c\x2d\x30\x2e\x34\x30\x31\x31\x32\x34\x20\x30\x2e\x36\
+\x36\x35\x35\x34\x31\x2c\x2d\x31\x2e\x32\x34\x39\x37\x30\x32\x20\
+\x30\x2e\x30\x34\x36\x38\x2c\x2d\x32\x2e\x34\x30\x35\x38\x32\x32\
+\x20\x43\x20\x39\x37\x2e\x30\x32\x38\x35\x37\x39\x2c\x36\x32\x2e\
+\x31\x38\x34\x38\x38\x33\x20\x39\x38\x2e\x33\x38\x36\x34\x38\x39\
+\x2c\x36\x30\x20\x31\x30\x30\x2e\x35\x39\x33\x30\x31\x2c\x36\x30\
+\x20\x63\x20\x30\x2e\x36\x35\x36\x31\x36\x2c\x30\x20\x31\x2e\x34\
+\x36\x36\x31\x36\x2c\x2d\x30\x2e\x37\x31\x31\x38\x30\x34\x20\x31\
+\x2e\x38\x2c\x2d\x31\x2e\x35\x38\x31\x37\x38\x37\x20\x43\x20\x31\
+\x30\x33\x2e\x32\x35\x34\x36\x34\x2c\x35\x36\x2e\x31\x37\x32\x38\
+\x35\x20\x31\x30\x33\x2e\x31\x38\x35\x37\x2c\x35\x36\x20\x31\x30\
+\x31\x2e\x34\x32\x38\x35\x37\x2c\x35\x36\x20\x63\x20\x2d\x30\x2e\
+\x38\x36\x34\x32\x38\x2c\x30\x20\x2d\x32\x2e\x32\x39\x35\x35\x35\
+\x36\x2c\x2d\x30\x2e\x37\x32\x34\x31\x32\x39\x20\x2d\x33\x2e\x31\
+\x38\x30\x36\x30\x33\x2c\x2d\x31\x2e\x36\x30\x39\x31\x37\x36\x20\
+\x2d\x31\x2e\x34\x37\x38\x39\x30\x32\x2c\x2d\x31\x2e\x34\x37\x38\
+\x39\x30\x32\x20\x2d\x31\x2e\x34\x37\x36\x30\x33\x33\x2c\x2d\x31\
+\x2e\x36\x38\x33\x36\x38\x38\x20\x30\x2e\x30\x33\x35\x34\x34\x2c\
+\x2d\x32\x2e\x35\x32\x39\x35\x35\x32\x20\x31\x2e\x32\x38\x31\x33\
+\x37\x34\x2c\x2d\x30\x2e\x37\x31\x37\x30\x39\x32\x20\x31\x2e\x34\
+\x33\x37\x31\x36\x35\x2c\x2d\x31\x2e\x34\x36\x36\x30\x31\x39\x20\
+\x30\x2e\x37\x30\x35\x33\x35\x36\x2c\x2d\x33\x2e\x33\x39\x30\x38\
+\x32\x33\x20\x43\x20\x39\x38\x2e\x32\x37\x34\x33\x38\x35\x2c\x34\
+\x36\x2e\x35\x39\x31\x34\x38\x38\x20\x39\x38\x2e\x33\x37\x36\x31\
+\x31\x31\x2c\x34\x36\x20\x39\x39\x2e\x34\x31\x33\x36\x34\x2c\x34\
+\x36\x20\x63\x20\x30\x2e\x37\x35\x30\x32\x38\x2c\x30\x20\x31\x2e\
+\x33\x34\x33\x32\x35\x2c\x30\x2e\x35\x36\x32\x35\x20\x31\x2e\x33\
+\x31\x37\x37\x31\x2c\x31\x2e\x32\x35\x20\x2d\x30\x2e\x31\x31\x32\
+\x31\x38\x2c\x33\x2e\x30\x32\x30\x37\x34\x20\x30\x2e\x33\x32\x39\
+\x2c\x34\x2e\x38\x33\x30\x37\x33\x36\x20\x31\x2e\x30\x36\x36\x34\
+\x2c\x34\x2e\x33\x37\x35\x20\x30\x2e\x34\x33\x38\x37\x36\x2c\x2d\
+\x30\x2e\x32\x37\x31\x31\x36\x39\x20\x31\x2e\x34\x35\x31\x32\x36\
+\x2c\x2d\x30\x2e\x30\x37\x39\x36\x32\x20\x32\x2e\x32\x35\x2c\x30\
+\x2e\x34\x32\x35\x36\x37\x20\x30\x2e\x39\x39\x36\x35\x37\x2c\x30\
+\x2e\x36\x33\x30\x34\x34\x20\x31\x2e\x30\x36\x30\x30\x33\x2c\x30\
+\x2e\x39\x32\x33\x35\x30\x39\x20\x30\x2e\x32\x30\x32\x32\x35\x2c\
+\x30\x2e\x39\x33\x34\x30\x31\x37\x20\x43\x20\x31\x30\x33\x2e\x35\
+\x36\x32\x35\x2c\x35\x32\x2e\x39\x39\x33\x31\x30\x39\x20\x31\x30\
+\x33\x2c\x35\x33\x2e\x34\x35\x20\x31\x30\x33\x2c\x35\x34\x20\x63\
+\x20\x30\x2c\x30\x2e\x35\x35\x20\x30\x2e\x38\x32\x35\x2c\x31\x20\
+\x31\x2e\x38\x33\x33\x33\x33\x2c\x31\x20\x32\x2e\x38\x30\x34\x36\
+\x32\x2c\x30\x20\x33\x2e\x33\x32\x31\x34\x31\x2c\x31\x2e\x31\x32\
+\x37\x30\x32\x39\x20\x31\x2e\x33\x32\x39\x30\x37\x2c\x32\x2e\x38\
+\x39\x38\x34\x37\x39\x20\x2d\x32\x2e\x32\x39\x30\x33\x34\x2c\x32\
+\x2e\x30\x33\x36\x34\x31\x33\x20\x2d\x33\x2e\x35\x31\x37\x39\x35\
+\x2c\x35\x2e\x31\x36\x33\x30\x31\x36\x20\x2d\x31\x2e\x39\x30\x30\
+\x31\x35\x2c\x34\x2e\x38\x33\x39\x35\x32\x35\x20\x31\x2e\x36\x38\
+\x36\x35\x37\x2c\x2d\x30\x2e\x33\x33\x37\x32\x34\x33\x20\x32\x2e\
+\x31\x38\x38\x35\x38\x2c\x34\x2e\x33\x36\x30\x39\x36\x39\x20\x30\
+\x2e\x35\x37\x35\x32\x34\x2c\x35\x2e\x33\x38\x33\x35\x39\x33\x20\
+\x43\x20\x31\x30\x33\x2e\x30\x31\x37\x33\x38\x2c\x36\x39\x2e\x32\
+\x37\x35\x32\x38\x34\x20\x39\x37\x2c\x36\x39\x2e\x32\x32\x37\x32\
+\x33\x36\x20\x39\x37\x2c\x36\x38\x2e\x30\x35\x39\x30\x31\x37\x20\
+\x7a\x20\x6d\x20\x32\x33\x2e\x32\x37\x39\x30\x32\x2c\x2d\x32\x2e\
+\x30\x30\x35\x30\x34\x20\x43\x20\x31\x32\x30\x2e\x31\x39\x33\x39\
+\x32\x2c\x36\x34\x2e\x39\x32\x34\x32\x39\x20\x31\x32\x30\x2e\x35\
+\x34\x36\x33\x33\x2c\x36\x34\x20\x31\x32\x31\x2e\x30\x36\x32\x31\
+\x35\x2c\x36\x34\x20\x31\x32\x31\x2e\x35\x37\x37\x39\x37\x2c\x36\
+\x34\x20\x31\x32\x32\x2c\x36\x33\x2e\x33\x37\x33\x31\x34\x35\x20\
+\x31\x32\x32\x2c\x36\x32\x2e\x36\x30\x36\x39\x38\x39\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x37\x36\x36\x31\x35\x36\x20\x30\x2e\x36\x37\
+\x39\x31\x37\x2c\x2d\x31\x2e\x36\x35\x33\x36\x33\x35\x20\x31\x2e\
+\x35\x30\x39\x32\x38\x2c\x2d\x31\x2e\x39\x37\x32\x31\x37\x35\x20\
+\x31\x2e\x38\x33\x36\x30\x35\x2c\x2d\x30\x2e\x37\x30\x34\x35\x36\
+\x31\x20\x31\x2e\x35\x34\x35\x31\x33\x2c\x2d\x32\x2e\x38\x38\x33\
+\x35\x38\x36\x20\x2d\x30\x2e\x35\x30\x39\x32\x38\x2c\x2d\x33\x2e\
+\x38\x31\x34\x35\x32\x39\x20\x2d\x31\x2e\x33\x33\x33\x33\x33\x2c\
+\x2d\x30\x2e\x36\x30\x34\x31\x39\x31\x20\x2d\x31\x2e\x33\x33\x33\
+\x33\x33\x2c\x2d\x30\x2e\x36\x38\x37\x37\x34\x37\x20\x30\x2c\x2d\
+\x30\x2e\x37\x35\x32\x30\x30\x34\x20\x31\x2e\x30\x30\x32\x36\x39\
+\x2c\x2d\x30\x2e\x30\x34\x38\x33\x32\x20\x31\x2e\x35\x38\x38\x36\
+\x33\x2c\x2d\x31\x2e\x33\x31\x34\x39\x30\x32\x20\x31\x2e\x37\x36\
+\x37\x33\x32\x2c\x2d\x33\x2e\x38\x32\x30\x32\x38\x36\x20\x30\x2e\
+\x31\x34\x37\x30\x32\x2c\x2d\x32\x2e\x30\x36\x31\x33\x39\x37\x20\
+\x30\x2e\x37\x30\x35\x39\x32\x2c\x2d\x33\x2e\x38\x39\x36\x37\x39\
+\x37\x20\x31\x2e\x32\x34\x32\x30\x31\x2c\x2d\x34\x2e\x30\x37\x38\
+\x36\x36\x35\x20\x30\x2e\x35\x37\x37\x37\x37\x2c\x2d\x30\x2e\x31\
+\x39\x36\x30\x31\x32\x20\x30\x2e\x36\x32\x37\x30\x35\x2c\x2d\x31\
+\x2e\x30\x31\x30\x34\x37\x31\x20\x30\x2e\x31\x32\x31\x30\x31\x2c\
+\x2d\x32\x20\x2d\x30\x2e\x34\x36\x39\x35\x32\x2c\x2d\x30\x2e\x39\
+\x31\x38\x31\x33\x32\x20\x2d\x31\x2e\x31\x34\x34\x32\x32\x2c\x2d\
+\x32\x2e\x38\x38\x35\x38\x32\x20\x2d\x31\x2e\x34\x39\x39\x33\x34\
+\x2c\x2d\x34\x2e\x33\x37\x32\x36\x34\x31\x20\x2d\x30\x2e\x35\x38\
+\x36\x38\x31\x2c\x2d\x32\x2e\x34\x35\x36\x38\x38\x39\x20\x2d\x30\
+\x2e\x33\x34\x38\x37\x34\x2c\x2d\x32\x2e\x37\x34\x38\x34\x38\x36\
+\x20\x32\x2e\x36\x31\x31\x36\x37\x2c\x2d\x33\x2e\x31\x39\x38\x38\
+\x38\x37\x20\x36\x2e\x36\x37\x38\x36\x36\x2c\x2d\x31\x2e\x30\x31\
+\x36\x31\x30\x32\x20\x32\x35\x2e\x34\x34\x35\x39\x39\x2c\x2d\x31\
+\x2e\x34\x30\x38\x32\x35\x38\x20\x32\x36\x2e\x38\x31\x37\x38\x38\
+\x2c\x2d\x30\x2e\x35\x36\x30\x33\x37\x37\x20\x31\x2e\x31\x37\x34\
+\x30\x36\x2c\x30\x2e\x37\x32\x35\x36\x30\x39\x20\x31\x2e\x31\x39\
+\x33\x32\x33\x2c\x31\x2e\x31\x30\x35\x30\x34\x39\x20\x30\x2e\x31\
+\x30\x39\x36\x36\x2c\x32\x2e\x31\x37\x30\x39\x33\x34\x20\x2d\x30\
+\x2e\x37\x32\x32\x31\x39\x2c\x30\x2e\x37\x31\x30\x34\x30\x33\x20\
+\x2d\x31\x2e\x31\x36\x38\x34\x32\x2c\x30\x2e\x38\x34\x31\x36\x34\
+\x31\x20\x2d\x30\x2e\x39\x39\x31\x36\x34\x2c\x30\x2e\x32\x39\x31\
+\x36\x34\x31\x20\x30\x2e\x34\x30\x39\x33\x31\x2c\x2d\x31\x2e\x32\
+\x37\x33\x34\x31\x35\x20\x2d\x30\x2e\x34\x30\x34\x31\x37\x2c\x2d\
+\x31\x2e\x35\x32\x37\x36\x34\x31\x20\x2d\x34\x2e\x34\x32\x38\x35\
+\x37\x2c\x2d\x31\x2e\x33\x38\x33\x39\x39\x39\x20\x2d\x31\x2e\x37\
+\x38\x37\x35\x2c\x30\x2e\x30\x36\x33\x38\x20\x2d\x32\x2e\x35\x30\
+\x30\x38\x31\x2c\x30\x2e\x33\x31\x34\x34\x31\x38\x20\x2d\x31\x2e\
+\x35\x38\x35\x31\x34\x2c\x30\x2e\x35\x35\x36\x39\x32\x37\x20\x32\
+\x2e\x33\x30\x39\x37\x37\x2c\x30\x2e\x36\x31\x31\x37\x32\x37\x20\
+\x33\x2e\x31\x34\x30\x32\x38\x2c\x33\x2e\x32\x37\x32\x37\x35\x20\
+\x31\x2e\x32\x34\x38\x30\x35\x2c\x33\x2e\x39\x39\x38\x38\x36\x36\
+\x20\x2d\x31\x2e\x32\x32\x37\x35\x37\x2c\x30\x2e\x34\x37\x31\x30\
+\x36\x31\x20\x2d\x30\x2e\x39\x36\x31\x38\x36\x2c\x30\x2e\x39\x38\
+\x36\x30\x39\x34\x20\x31\x2e\x32\x36\x36\x38\x36\x2c\x32\x2e\x34\
+\x35\x35\x35\x35\x36\x20\x6c\x20\x32\x2e\x38\x32\x30\x32\x33\x2c\
+\x31\x2e\x38\x35\x39\x34\x37\x32\x20\x2d\x32\x2e\x38\x36\x35\x30\
+\x31\x2c\x30\x2e\x30\x30\x36\x36\x20\x63\x20\x2d\x32\x2e\x38\x35\
+\x33\x37\x2c\x30\x2e\x30\x30\x36\x36\x20\x2d\x32\x2e\x38\x35\x38\
+\x33\x2c\x30\x2e\x30\x31\x36\x38\x33\x20\x2d\x31\x2e\x31\x36\x35\
+\x31\x35\x2c\x32\x2e\x36\x30\x30\x39\x30\x38\x20\x31\x2e\x36\x35\
+\x33\x34\x31\x2c\x32\x2e\x35\x32\x33\x34\x31\x36\x20\x31\x2e\x36\
+\x34\x32\x38\x39\x2c\x32\x2e\x35\x37\x36\x32\x33\x35\x20\x2d\x30\
+\x2e\x33\x38\x34\x39\x39\x2c\x31\x2e\x39\x33\x32\x36\x31\x32\x20\
+\x2d\x32\x2e\x32\x30\x37\x31\x36\x2c\x2d\x30\x2e\x37\x30\x30\x35\
+\x32\x36\x20\x2d\x32\x2e\x39\x36\x38\x31\x32\x2c\x30\x2e\x39\x34\
+\x39\x39\x39\x34\x20\x2d\x30\x2e\x38\x33\x34\x38\x35\x2c\x31\x2e\
+\x38\x31\x30\x37\x38\x38\x20\x31\x2c\x30\x2e\x34\x30\x33\x35\x30\
+\x39\x20\x31\x2c\x30\x2e\x35\x32\x30\x31\x37\x36\x20\x30\x2c\x30\
+\x2e\x35\x38\x33\x33\x33\x34\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\
+\x30\x2e\x30\x34\x33\x34\x32\x20\x2d\x31\x2e\x32\x35\x2c\x31\x2e\
+\x31\x39\x35\x33\x37\x34\x20\x2d\x31\x2e\x32\x35\x2c\x32\x2e\x35\
+\x35\x39\x38\x39\x35\x20\x30\x2c\x33\x2e\x30\x39\x30\x38\x31\x35\
+\x20\x2d\x33\x2e\x30\x33\x37\x36\x31\x2c\x34\x2e\x30\x32\x33\x35\
+\x33\x38\x20\x2d\x31\x30\x2e\x33\x32\x39\x34\x34\x2c\x33\x2e\x31\
+\x37\x31\x37\x34\x33\x20\x2d\x37\x2e\x30\x34\x38\x37\x31\x2c\x2d\
+\x30\x2e\x38\x32\x33\x33\x39\x36\x20\x2d\x39\x2e\x34\x32\x30\x35\
+\x36\x2c\x2d\x30\x2e\x30\x37\x34\x38\x39\x20\x2d\x39\x2e\x34\x32\
+\x30\x35\x36\x2c\x32\x2e\x39\x37\x32\x39\x31\x39\x20\x30\x2c\x32\
+\x2e\x39\x35\x32\x33\x31\x39\x20\x2d\x30\x2e\x30\x37\x36\x33\x2c\
+\x33\x2e\x30\x34\x31\x37\x31\x36\x20\x2d\x33\x2e\x32\x38\x35\x31\
+\x38\x2c\x33\x2e\x38\x34\x37\x30\x38\x33\x20\x2d\x32\x2e\x30\x36\
+\x37\x32\x37\x2c\x30\x2e\x35\x31\x38\x38\x35\x33\x20\x2d\x32\x2e\
+\x35\x35\x39\x34\x33\x2c\x30\x2e\x32\x35\x38\x38\x38\x32\x20\x2d\
+\x32\x2e\x36\x38\x35\x38\x2c\x2d\x31\x2e\x34\x31\x38\x37\x31\x36\
+\x20\x7a\x20\x4d\x20\x31\x34\x31\x2e\x35\x2c\x34\x34\x20\x63\x20\
+\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\
+\x31\x36\x38\x30\x33\x2c\x2d\x31\x20\x2d\x30\x2e\x33\x38\x31\x39\
+\x37\x2c\x2d\x31\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x31\x2e\
+\x32\x37\x38\x31\x31\x2c\x30\x2e\x34\x35\x20\x2d\x31\x2e\x36\x31\
+\x38\x30\x33\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\
+\x2e\x35\x35\x20\x2d\x30\x2e\x31\x36\x38\x30\x33\x2c\x31\x20\x30\
+\x2e\x33\x38\x31\x39\x37\x2c\x31\x20\x30\x2e\x35\x35\x2c\x30\x20\
+\x31\x2e\x32\x37\x38\x31\x31\x2c\x2d\x30\x2e\x34\x35\x20\x31\x2e\
+\x36\x31\x38\x30\x33\x2c\x2d\x31\x20\x7a\x20\x4d\x20\x31\x35\x34\
+\x2c\x35\x36\x20\x63\x20\x30\x2c\x2d\x31\x2e\x36\x36\x36\x36\x36\
+\x37\x20\x2d\x30\x2e\x38\x38\x38\x38\x39\x2c\x2d\x33\x2e\x38\x38\
+\x38\x38\x38\x39\x20\x2d\x32\x2c\x2d\x35\x20\x2d\x31\x2e\x36\x37\
+\x35\x33\x38\x2c\x2d\x31\x2e\x36\x37\x35\x33\x37\x39\x20\x2d\x31\
+\x2e\x37\x33\x38\x39\x34\x2c\x2d\x32\x20\x2d\x30\x2e\x33\x39\x31\
+\x35\x39\x2c\x2d\x32\x20\x31\x2e\x35\x37\x39\x37\x36\x2c\x30\x20\
+\x31\x2e\x35\x32\x35\x33\x35\x2c\x2d\x31\x2e\x38\x38\x31\x38\x38\
+\x37\x20\x2d\x30\x2e\x31\x38\x33\x31\x34\x2c\x2d\x36\x2e\x33\x33\
+\x34\x31\x33\x36\x20\x2d\x30\x2e\x34\x33\x39\x35\x35\x2c\x2d\x31\
+\x2e\x31\x34\x35\x34\x37\x20\x2d\x30\x2e\x30\x37\x31\x31\x2c\x2d\
+\x31\x2e\x33\x38\x35\x39\x39\x34\x20\x31\x2e\x34\x39\x35\x37\x34\
+\x2c\x2d\x30\x2e\x39\x37\x36\x32\x36\x39\x20\x43\x20\x31\x35\x34\
+\x2e\x38\x31\x37\x37\x37\x2c\x34\x32\x2e\x31\x38\x35\x36\x30\x38\
+\x20\x31\x35\x35\x2c\x34\x32\x2e\x39\x36\x38\x30\x39\x33\x20\x31\
+\x35\x35\x2c\x35\x30\x2e\x36\x31\x36\x36\x33\x31\x20\x31\x35\x35\
+\x2c\x35\x35\x2e\x32\x32\x37\x34\x38\x34\x20\x31\x35\x34\x2e\x37\
+\x37\x35\x2c\x35\x39\x20\x31\x35\x34\x2e\x35\x2c\x35\x39\x20\x31\
+\x35\x34\x2e\x32\x32\x35\x2c\x35\x39\x20\x31\x35\x34\x2c\x35\x37\
+\x2e\x36\x35\x20\x31\x35\x34\x2c\x35\x36\x20\x7a\x20\x6d\x20\x2d\
+\x32\x2e\x35\x2c\x2d\x31\x20\x63\x20\x2d\x30\x2e\x33\x33\x39\x39\
+\x32\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x34\x31\x34\x38\
+\x2c\x2d\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\x20\x30\
+\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x31\x2e\x30\x35\x39\x30\x32\
+\x2c\x30\x2e\x34\x35\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\
+\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x39\x38\x34\x34\x2c\
+\x31\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\
+\x32\x34\x32\x35\x34\x2c\x30\x20\x2d\x30\x2e\x37\x31\x39\x31\x2c\
+\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\
+\x31\x20\x7a\x20\x6d\x20\x2d\x34\x39\x2c\x2d\x37\x20\x63\x20\x2d\
+\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\
+\x2e\x31\x34\x31\x34\x38\x2c\x2d\x31\x20\x30\x2e\x34\x34\x30\x39\
+\x38\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x31\
+\x2e\x30\x35\x39\x30\x32\x2c\x30\x2e\x34\x35\x20\x31\x2e\x30\x35\
+\x39\x30\x32\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\
+\x31\x39\x38\x34\x34\x2c\x31\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\
+\x2c\x31\x20\x2d\x30\x2e\x32\x34\x32\x35\x34\x2c\x30\x20\x2d\x30\
+\x2e\x37\x31\x39\x31\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\x2e\x30\
+\x35\x39\x30\x32\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x2d\x32\x2e\x30\
+\x39\x39\x32\x34\x2c\x2d\x33\x2e\x36\x38\x35\x39\x37\x36\x20\x63\
+\x20\x2d\x31\x2e\x35\x33\x35\x31\x39\x32\x2c\x2d\x30\x2e\x33\x30\
+\x32\x34\x38\x20\x2d\x32\x2e\x31\x32\x31\x36\x34\x31\x2c\x2d\x31\
+\x2e\x32\x30\x31\x37\x38\x39\x20\x2d\x32\x2e\x31\x38\x32\x36\x33\
+\x36\x2c\x2d\x33\x2e\x33\x34\x37\x30\x34\x32\x20\x2d\x30\x2e\x30\
+\x37\x31\x35\x32\x2c\x2d\x32\x2e\x35\x31\x35\x34\x31\x31\x20\x30\
+\x2e\x32\x36\x33\x32\x35\x31\x2c\x2d\x32\x2e\x39\x30\x34\x37\x33\
+\x39\x20\x32\x2e\x33\x34\x39\x32\x33\x36\x2c\x2d\x32\x2e\x37\x33\
+\x32\x30\x39\x38\x20\x32\x2e\x36\x31\x34\x36\x2c\x30\x2e\x32\x31\
+\x36\x33\x39\x31\x20\x33\x2e\x32\x31\x34\x34\x35\x2c\x31\x2e\x32\
+\x38\x32\x39\x38\x31\x20\x31\x2e\x31\x38\x32\x36\x34\x2c\x32\x2e\
+\x31\x30\x32\x38\x33\x35\x20\x2d\x30\x2e\x37\x30\x33\x33\x39\x2c\
+\x30\x2e\x32\x38\x33\x38\x32\x33\x20\x2d\x30\x2e\x34\x33\x31\x32\
+\x2c\x30\x2e\x35\x33\x38\x39\x30\x39\x20\x30\x2e\x36\x32\x32\x34\
+\x34\x2c\x30\x2e\x35\x38\x33\x33\x33\x34\x20\x31\x2e\x34\x39\x30\
+\x39\x39\x2c\x30\x2e\x30\x36\x32\x38\x36\x20\x31\x2e\x36\x33\x35\
+\x32\x38\x2c\x30\x2e\x33\x36\x34\x37\x31\x37\x20\x30\x2e\x37\x30\
+\x38\x32\x37\x2c\x31\x2e\x34\x38\x31\x37\x30\x31\x20\x2d\x30\x2e\
+\x38\x39\x33\x39\x38\x2c\x31\x2e\x30\x37\x37\x31\x37\x35\x20\x2d\
+\x30\x2e\x38\x36\x34\x33\x37\x2c\x31\x2e\x35\x32\x33\x30\x35\x31\
+\x20\x30\x2e\x31\x32\x37\x35\x35\x2c\x31\x2e\x39\x32\x31\x30\x35\
+\x33\x20\x31\x2e\x34\x38\x34\x32\x35\x2c\x30\x2e\x35\x39\x35\x35\
+\x34\x32\x20\x30\x2e\x32\x34\x32\x38\x2c\x30\x2e\x35\x39\x31\x32\
+\x31\x36\x20\x2d\x32\x2e\x38\x30\x37\x35\x2c\x2d\x30\x2e\x30\x30\
+\x39\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x32\x38\x33\x30\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x62\x32\x61\x65\
+\x61\x66\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\
+\x31\x31\x37\x2e\x32\x35\x36\x31\x36\x2c\x32\x31\x33\x2e\x30\x32\
+\x35\x32\x20\x63\x20\x2d\x31\x2e\x37\x38\x34\x31\x31\x2c\x2d\x30\
+\x2e\x34\x32\x33\x35\x34\x20\x2d\x33\x2e\x39\x32\x31\x36\x31\x2c\
+\x2d\x31\x2e\x33\x33\x32\x35\x38\x20\x2d\x34\x2e\x37\x35\x2c\x2d\
+\x32\x2e\x30\x32\x30\x30\x38\x20\x43\x20\x31\x31\x31\x2e\x36\x37\
+\x37\x37\x37\x2c\x32\x31\x30\x2e\x33\x31\x37\x36\x31\x20\x31\x31\
+\x31\x2c\x32\x31\x30\x2e\x30\x38\x38\x36\x32\x20\x31\x31\x31\x2c\
+\x32\x31\x30\x2e\x34\x39\x36\x32\x34\x20\x63\x20\x30\x2c\x30\x2e\
+\x38\x39\x37\x30\x37\x20\x2d\x37\x2e\x30\x30\x37\x30\x38\x2c\x2d\
+\x34\x2e\x32\x39\x31\x34\x35\x20\x2d\x38\x2e\x37\x31\x38\x32\x2c\
+\x2d\x36\x2e\x34\x35\x35\x35\x35\x20\x2d\x30\x2e\x36\x37\x2c\x2d\
+\x30\x2e\x38\x34\x37\x33\x38\x20\x2d\x31\x2e\x32\x33\x32\x35\x2c\
+\x2d\x32\x2e\x35\x39\x37\x39\x36\x20\x2d\x31\x2e\x32\x35\x2c\x2d\
+\x33\x2e\x38\x39\x30\x31\x37\x20\x2d\x30\x2e\x30\x32\x39\x38\x2c\
+\x2d\x32\x2e\x32\x30\x32\x39\x38\x20\x30\x2e\x32\x36\x31\x37\x2c\
+\x2d\x32\x2e\x33\x32\x30\x31\x39\x20\x34\x2e\x36\x37\x34\x39\x34\
+\x2c\x2d\x31\x2e\x38\x37\x39\x37\x37\x20\x32\x2e\x35\x38\x38\x37\
+\x31\x2c\x30\x2e\x32\x35\x38\x33\x34\x20\x34\x2e\x38\x37\x35\x30\
+\x31\x2c\x30\x2e\x39\x37\x34\x35\x31\x20\x35\x2e\x30\x38\x30\x36\
+\x37\x2c\x31\x2e\x35\x39\x31\x34\x39\x20\x30\x2e\x32\x36\x35\x35\
+\x32\x2c\x30\x2e\x37\x39\x36\x35\x36\x20\x30\x2e\x39\x33\x36\x33\
+\x36\x2c\x30\x2e\x38\x32\x30\x37\x38\x20\x32\x2e\x33\x31\x33\x39\
+\x33\x2c\x30\x2e\x30\x38\x33\x35\x20\x31\x2e\x30\x36\x36\x39\x39\
+\x2c\x2d\x30\x2e\x35\x37\x31\x30\x34\x20\x32\x2e\x33\x34\x39\x36\
+\x2c\x2d\x30\x2e\x37\x38\x35\x31\x31\x20\x32\x2e\x38\x35\x30\x32\
+\x33\x2c\x2d\x30\x2e\x34\x37\x35\x37\x20\x30\x2e\x35\x30\x30\x36\
+\x33\x2c\x30\x2e\x33\x30\x39\x34\x20\x31\x2e\x32\x31\x31\x38\x35\
+\x2c\x30\x2e\x30\x37\x34\x35\x20\x31\x2e\x35\x38\x30\x34\x38\x2c\
+\x2d\x30\x2e\x35\x32\x31\x39\x33\x20\x30\x2e\x33\x36\x38\x36\x34\
+\x2c\x2d\x30\x2e\x35\x39\x36\x34\x37\x20\x31\x2e\x32\x39\x39\x37\
+\x33\x2c\x2d\x30\x2e\x38\x34\x32\x39\x33\x20\x32\x2e\x30\x36\x39\
+\x31\x2c\x2d\x30\x2e\x35\x34\x37\x37\x20\x30\x2e\x38\x33\x35\x39\
+\x32\x2c\x30\x2e\x33\x32\x30\x37\x37\x20\x31\x2e\x33\x39\x38\x38\
+\x35\x2c\x2d\x30\x2e\x31\x30\x31\x31\x33\x20\x31\x2e\x33\x39\x38\
+\x38\x35\x2c\x2d\x31\x2e\x30\x34\x38\x34\x20\x30\x2c\x2d\x31\x2e\
+\x31\x35\x31\x36\x35\x20\x30\x2e\x36\x38\x33\x37\x34\x2c\x2d\x31\
+\x2e\x34\x35\x34\x34\x39\x20\x32\x2e\x35\x2c\x2d\x31\x2e\x31\x30\
+\x37\x32\x39\x20\x31\x2e\x33\x37\x35\x2c\x30\x2e\x32\x36\x32\x38\
+\x35\x20\x32\x2e\x35\x2c\x30\x2e\x30\x39\x30\x33\x20\x32\x2e\x35\
+\x2c\x2d\x30\x2e\x33\x38\x33\x34\x32\x20\x30\x2c\x2d\x30\x2e\x34\
+\x37\x33\x37\x33\x20\x30\x2e\x39\x2c\x2d\x30\x2e\x38\x36\x31\x33\
+\x33\x20\x32\x2c\x2d\x30\x2e\x38\x36\x31\x33\x33\x20\x32\x2e\x34\
+\x34\x36\x38\x33\x2c\x30\x20\x32\x2e\x35\x31\x37\x31\x36\x2c\x30\
+\x2e\x37\x37\x31\x30\x36\x20\x30\x2e\x32\x39\x34\x33\x39\x2c\x33\
+\x2e\x32\x32\x37\x32\x20\x2d\x31\x2e\x33\x37\x32\x39\x38\x2c\x31\
+\x2e\x35\x31\x37\x31\x33\x20\x2d\x31\x2e\x34\x37\x36\x35\x37\x2c\
+\x32\x2e\x32\x35\x31\x34\x34\x20\x2d\x30\x2e\x35\x33\x31\x31\x33\
+\x2c\x33\x2e\x37\x36\x35\x33\x33\x20\x31\x2e\x30\x31\x34\x31\x32\
+\x2c\x31\x2e\x36\x32\x33\x38\x36\x20\x30\x2e\x39\x30\x35\x36\x36\
+\x2c\x31\x2e\x38\x32\x38\x38\x37\x20\x2d\x30\x2e\x37\x39\x34\x33\
+\x39\x2c\x31\x2e\x35\x30\x31\x34\x38\x20\x2d\x32\x2e\x34\x33\x34\
+\x37\x38\x2c\x2d\x30\x2e\x34\x36\x38\x39\x20\x2d\x32\x2e\x36\x33\
+\x34\x31\x2c\x31\x2e\x31\x38\x35\x35\x20\x2d\x30\x2e\x32\x31\x38\
+\x38\x37\x2c\x31\x2e\x38\x31\x36\x36\x36\x20\x31\x2e\x32\x35\x30\
+\x36\x33\x2c\x30\x2e\x33\x32\x36\x38\x33\x20\x31\x2e\x30\x33\x36\
+\x36\x31\x2c\x30\x2e\x35\x32\x34\x32\x32\x20\x2d\x30\x2e\x37\x35\
+\x2c\x30\x2e\x36\x39\x31\x37\x35\x20\x2d\x31\x2e\x33\x37\x35\x2c\
+\x30\x2e\x31\x32\x38\x39\x33\x20\x2d\x32\x2e\x38\x33\x37\x35\x2c\
+\x30\x2e\x31\x38\x31\x31\x33\x20\x2d\x33\x2e\x32\x35\x2c\x30\x2e\
+\x31\x31\x36\x20\x2d\x30\x2e\x34\x31\x32\x35\x2c\x2d\x30\x2e\x30\
+\x36\x35\x31\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x33\x35\x38\x31\
+\x34\x20\x2d\x30\x2e\x37\x35\x2c\x30\x2e\x39\x34\x30\x36\x20\x30\
+\x2c\x30\x2e\x35\x38\x32\x34\x36\x20\x2d\x30\x2e\x34\x35\x2c\x30\
+\x2e\x37\x38\x30\x39\x20\x2d\x31\x2c\x30\x2e\x34\x34\x30\x39\x38\
+\x20\x2d\x30\x2e\x35\x35\x2c\x2d\x30\x2e\x33\x33\x39\x39\x32\x20\
+\x2d\x31\x2c\x2d\x30\x2e\x31\x34\x31\x34\x38\x20\x2d\x31\x2c\x30\
+\x2e\x34\x34\x30\x39\x38\x20\x30\x2c\x32\x2e\x30\x36\x31\x38\x38\
+\x20\x2d\x32\x2e\x38\x36\x37\x34\x31\x2c\x31\x2e\x30\x32\x35\x32\
+\x32\x20\x2d\x33\x2e\x32\x39\x34\x32\x37\x2c\x2d\x31\x2e\x31\x39\
+\x30\x39\x38\x20\x6c\x20\x2d\x30\x2e\x34\x33\x33\x33\x37\x2c\x2d\
+\x32\x2e\x32\x35\x20\x2d\x30\x2e\x31\x33\x36\x31\x38\x2c\x32\x2e\
+\x32\x35\x20\x63\x20\x2d\x30\x2e\x30\x37\x34\x39\x2c\x31\x2e\x32\
+\x33\x37\x35\x20\x2d\x30\x2e\x36\x39\x38\x36\x38\x2c\x32\x2e\x32\
+\x36\x33\x36\x38\x20\x2d\x31\x2e\x33\x38\x36\x31\x38\x2c\x32\x2e\
+\x32\x38\x30\x34\x31\x20\x2d\x32\x2e\x35\x31\x32\x32\x37\x2c\x30\
+\x2e\x30\x36\x31\x31\x20\x32\x2e\x34\x38\x38\x36\x34\x2c\x32\x2e\
+\x31\x35\x34\x35\x34\x20\x35\x2e\x37\x36\x38\x36\x2c\x32\x2e\x34\
+\x31\x34\x37\x39\x20\x32\x2e\x37\x35\x31\x33\x32\x2c\x30\x2e\x32\
+\x31\x38\x33\x31\x20\x33\x2e\x34\x35\x36\x39\x36\x2c\x2d\x30\x2e\
+\x31\x32\x33\x36\x20\x33\x2e\x37\x39\x34\x34\x35\x2c\x2d\x31\x2e\
+\x38\x33\x38\x35\x31\x20\x30\x2e\x33\x39\x35\x35\x2c\x2d\x32\x2e\
+\x30\x30\x39\x37\x31\x20\x30\x2e\x34\x32\x30\x38\x35\x2c\x2d\x32\
+\x2e\x30\x30\x33\x31\x31\x20\x30\x2e\x35\x35\x30\x37\x37\x2c\x30\
+\x2e\x31\x34\x33\x33\x31\x20\x30\x2e\x31\x34\x32\x33\x2c\x32\x2e\
+\x33\x35\x31\x31\x38\x20\x33\x2e\x34\x31\x38\x30\x35\x2c\x33\x2e\
+\x32\x32\x30\x39\x37\x20\x34\x2e\x36\x34\x36\x32\x36\x2c\x31\x2e\
+\x32\x33\x33\x36\x39\x20\x30\x2e\x33\x34\x35\x34\x36\x2c\x2d\x30\
+\x2e\x35\x35\x38\x39\x37\x20\x31\x2e\x30\x34\x37\x30\x32\x2c\x2d\
+\x30\x2e\x37\x35\x37\x34\x32\x20\x31\x2e\x35\x35\x39\x30\x32\x2c\
+\x2d\x30\x2e\x34\x34\x30\x39\x38\x20\x30\x2e\x35\x31\x31\x39\x39\
+\x2c\x30\x2e\x33\x31\x36\x34\x33\x20\x30\x2e\x39\x36\x32\x35\x33\
+\x2c\x2d\x30\x2e\x30\x31\x33\x37\x20\x31\x2e\x30\x30\x31\x31\x39\
+\x2c\x2d\x30\x2e\x37\x33\x33\x36\x39\x20\x30\x2e\x30\x33\x38\x36\
+\x2c\x2d\x30\x2e\x37\x31\x39\x39\x36\x20\x30\x2e\x34\x32\x37\x30\
+\x32\x2c\x2d\x30\x2e\x34\x30\x39\x30\x32\x20\x30\x2e\x38\x36\x33\
+\x30\x34\x2c\x30\x2e\x36\x39\x30\x39\x38\x20\x30\x2e\x35\x36\x35\
+\x36\x39\x2c\x31\x2e\x34\x32\x37\x31\x36\x20\x30\x2e\x33\x33\x30\
+\x37\x35\x2c\x32\x2e\x31\x39\x34\x36\x38\x20\x2d\x30\x2e\x38\x32\
+\x30\x32\x39\x2c\x32\x2e\x36\x37\x39\x37\x31\x20\x2d\x32\x2e\x31\
+\x33\x38\x30\x38\x2c\x30\x2e\x39\x30\x30\x39\x36\x20\x2d\x31\x30\
+\x2e\x37\x38\x39\x38\x39\x2c\x30\x2e\x38\x31\x30\x39\x38\x20\x2d\
+\x31\x34\x2e\x38\x35\x36\x38\x38\x2c\x2d\x30\x2e\x31\x35\x34\x35\
+\x31\x20\x7a\x20\x6d\x20\x2d\x34\x2e\x30\x36\x32\x39\x35\x2c\x2d\
+\x35\x2e\x37\x39\x34\x31\x33\x20\x63\x20\x2d\x30\x2e\x36\x36\x33\
+\x31\x32\x2c\x2d\x30\x2e\x32\x32\x31\x30\x34\x20\x2d\x30\x2e\x39\
+\x32\x33\x35\x36\x2c\x2d\x30\x2e\x38\x35\x38\x33\x35\x20\x2d\x30\
+\x2e\x35\x37\x38\x37\x36\x2c\x2d\x31\x2e\x34\x31\x36\x32\x35\x20\
+\x30\x2e\x33\x39\x38\x37\x2c\x2d\x30\x2e\x36\x34\x35\x31\x31\x20\
+\x2d\x30\x2e\x30\x39\x37\x32\x2c\x2d\x30\x2e\x36\x32\x36\x38\x33\
+\x20\x2d\x31\x2e\x33\x36\x32\x32\x39\x2c\x30\x2e\x30\x35\x30\x32\
+\x20\x2d\x31\x2e\x30\x39\x34\x30\x36\x2c\x30\x2e\x35\x38\x35\x35\
+\x32\x20\x2d\x32\x2e\x31\x36\x36\x32\x35\x2c\x30\x2e\x39\x36\x37\
+\x39\x32\x20\x2d\x32\x2e\x33\x38\x32\x36\x35\x2c\x30\x2e\x38\x34\
+\x39\x37\x37\x20\x2d\x30\x2e\x32\x31\x36\x34\x2c\x2d\x30\x2e\x31\
+\x31\x38\x31\x35\x20\x30\x2e\x32\x31\x38\x31\x37\x2c\x30\x2e\x33\
+\x31\x36\x37\x37\x20\x30\x2e\x39\x36\x35\x37\x32\x2c\x30\x2e\x39\
+\x36\x36\x35\x20\x30\x2e\x37\x34\x37\x35\x34\x2c\x30\x2e\x36\x34\
+\x39\x37\x32\x20\x32\x2e\x30\x38\x30\x31\x38\x2c\x30\x2e\x39\x30\
+\x34\x36\x34\x20\x32\x2e\x39\x36\x31\x34\x31\x2c\x30\x2e\x35\x36\
+\x36\x34\x38\x20\x31\x2e\x30\x34\x36\x35\x2c\x2d\x30\x2e\x34\x30\
+\x31\x35\x39\x20\x31\x2e\x31\x38\x34\x30\x35\x2c\x2d\x30\x2e\x37\
+\x35\x34\x32\x34\x20\x30\x2e\x33\x39\x36\x35\x37\x2c\x2d\x31\x2e\
+\x30\x31\x36\x37\x33\x20\x7a\x20\x4d\x20\x31\x30\x37\x2e\x35\x2c\
+\x32\x30\x34\x20\x63\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\
+\x2e\x35\x35\x20\x30\x2e\x31\x36\x38\x30\x33\x2c\x2d\x31\x20\x2d\
+\x30\x2e\x33\x38\x31\x39\x37\x2c\x2d\x31\x20\x2d\x30\x2e\x35\x35\
+\x2c\x30\x20\x2d\x31\x2e\x32\x37\x38\x31\x31\x2c\x30\x2e\x34\x35\
+\x20\x2d\x31\x2e\x36\x31\x38\x30\x33\x2c\x31\x20\x2d\x30\x2e\x33\
+\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x36\x38\
+\x30\x33\x2c\x31\x20\x30\x2e\x33\x38\x31\x39\x37\x2c\x31\x20\x30\
+\x2e\x35\x35\x2c\x30\x20\x31\x2e\x32\x37\x38\x31\x31\x2c\x2d\x30\
+\x2e\x34\x35\x20\x31\x2e\x36\x31\x38\x30\x33\x2c\x2d\x31\x20\x7a\
+\x20\x6d\x20\x32\x38\x2e\x33\x37\x32\x33\x38\x2c\x36\x2e\x38\x30\
+\x39\x30\x32\x20\x63\x20\x2d\x30\x2e\x30\x37\x30\x32\x2c\x2d\x30\
+\x2e\x37\x31\x39\x39\x36\x20\x2d\x30\x2e\x32\x33\x33\x37\x35\x2c\
+\x2d\x32\x2e\x33\x32\x31\x35\x32\x20\x2d\x30\x2e\x33\x36\x33\x34\
+\x37\x2c\x2d\x33\x2e\x35\x35\x39\x30\x32\x20\x2d\x30\x2e\x31\x32\
+\x39\x37\x31\x2c\x2d\x31\x2e\x32\x33\x37\x35\x20\x30\x2e\x31\x30\
+\x31\x36\x35\x2c\x2d\x32\x2e\x32\x35\x20\x30\x2e\x35\x31\x34\x31\
+\x33\x2c\x2d\x32\x2e\x32\x35\x20\x31\x2e\x30\x37\x33\x38\x35\x2c\
+\x30\x20\x31\x2e\x38\x30\x38\x33\x39\x2c\x35\x2e\x39\x38\x36\x31\
+\x35\x20\x30\x2e\x38\x31\x30\x32\x33\x2c\x36\x2e\x36\x30\x33\x30\
+\x35\x20\x2d\x30\x2e\x34\x35\x38\x33\x2c\x30\x2e\x32\x38\x33\x32\
+\x34\x20\x2d\x30\x2e\x38\x39\x30\x37\x2c\x2d\x30\x2e\x30\x37\x34\
+\x31\x20\x2d\x30\x2e\x39\x36\x30\x38\x39\x2c\x2d\x30\x2e\x37\x39\
+\x34\x30\x33\x20\x7a\x20\x4d\x20\x31\x33\x31\x2e\x32\x33\x32\x30\
+\x37\x2c\x32\x30\x36\x20\x63\x20\x2d\x31\x2e\x30\x34\x31\x37\x35\
+\x2c\x2d\x31\x2e\x36\x36\x38\x31\x31\x20\x2d\x30\x2e\x39\x39\x38\
+\x36\x39\x2c\x2d\x32\x20\x30\x2e\x32\x35\x39\x34\x36\x2c\x2d\x32\
+\x20\x30\x2e\x38\x34\x31\x38\x2c\x30\x20\x31\x2e\x35\x30\x38\x34\
+\x37\x2c\x30\x2e\x38\x38\x33\x39\x20\x31\x2e\x35\x30\x38\x34\x37\
+\x2c\x32\x20\x30\x2c\x31\x2e\x31\x20\x2d\x30\x2e\x31\x31\x36\x37\
+\x35\x2c\x32\x20\x2d\x30\x2e\x32\x35\x39\x34\x35\x2c\x32\x20\x2d\
+\x30\x2e\x31\x34\x32\x37\x2c\x30\x20\x2d\x30\x2e\x38\x32\x31\x35\
+\x32\x2c\x2d\x30\x2e\x39\x20\x2d\x31\x2e\x35\x30\x38\x34\x38\x2c\
+\x2d\x32\x20\x7a\x20\x6d\x20\x34\x2e\x39\x36\x35\x36\x37\x2c\x2d\
+\x37\x2e\x31\x37\x31\x34\x20\x63\x20\x30\x2e\x31\x37\x36\x32\x31\
+\x2c\x2d\x33\x2e\x30\x31\x34\x38\x20\x30\x2e\x38\x32\x33\x35\x34\
+\x2c\x2d\x35\x2e\x33\x34\x33\x31\x38\x20\x31\x2e\x35\x35\x32\x32\
+\x36\x2c\x2d\x35\x2e\x35\x38\x33\x33\x33\x20\x30\x2e\x37\x33\x39\
+\x32\x31\x2c\x2d\x30\x2e\x32\x34\x33\x36\x31\x20\x31\x2e\x32\x35\
+\x2c\x30\x2e\x34\x36\x33\x35\x20\x31\x2e\x32\x35\x2c\x31\x2e\x37\
+\x33\x30\x34\x31\x20\x30\x2c\x31\x2e\x31\x37\x38\x33\x20\x2d\x30\
+\x2e\x34\x35\x2c\x31\x2e\x38\x36\x34\x32\x34\x20\x2d\x31\x2c\x31\
+\x2e\x35\x32\x34\x33\x32\x20\x2d\x31\x2e\x34\x33\x34\x32\x38\x2c\
+\x2d\x30\x2e\x38\x38\x36\x34\x33\x20\x2d\x31\x2e\x32\x33\x36\x31\
+\x32\x2c\x31\x2e\x38\x34\x35\x36\x32\x20\x30\x2e\x32\x35\x2c\x33\
+\x2e\x34\x34\x36\x37\x20\x31\x2e\x30\x30\x38\x30\x31\x2c\x31\x2e\
+\x30\x38\x35\x39\x39\x20\x30\x2e\x39\x38\x37\x32\x37\x2c\x31\x2e\
+\x31\x39\x37\x32\x37\x20\x2d\x30\x2e\x31\x30\x37\x31\x33\x2c\x30\
+\x2e\x35\x37\x34\x37\x37\x20\x2d\x31\x2e\x30\x33\x30\x31\x37\x2c\
+\x2d\x30\x2e\x35\x38\x35\x39\x35\x20\x2d\x31\x2e\x31\x39\x34\x36\
+\x33\x2c\x2d\x30\x2e\x32\x35\x39\x39\x31\x20\x2d\x30\x2e\x36\x38\
+\x32\x36\x32\x2c\x31\x2e\x33\x35\x33\x33\x20\x30\x2e\x34\x31\x33\
+\x36\x32\x2c\x31\x2e\x33\x30\x33\x31\x38\x20\x30\x2e\x32\x34\x31\
+\x34\x34\x2c\x32\x2e\x31\x32\x35\x32\x33\x20\x2d\x30\x2e\x34\x34\
+\x35\x31\x32\x2c\x32\x2e\x31\x32\x35\x32\x33\x20\x2d\x30\x2e\x37\
+\x32\x30\x38\x33\x2c\x30\x20\x2d\x31\x2e\x30\x31\x31\x39\x38\x2c\
+\x2d\x31\x2e\x38\x34\x32\x30\x38\x20\x2d\x30\x2e\x38\x31\x37\x33\
+\x39\x2c\x2d\x35\x2e\x31\x37\x31\x34\x20\x7a\x20\x4d\x20\x31\x33\
+\x32\x2c\x31\x39\x36\x2e\x30\x35\x39\x30\x32\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x35\x31\x37\x35\x34\x20\x30\x2e\x34\x34\x34\x38\x35\
+\x2c\x2d\x31\x2e\x32\x31\x35\x39\x32\x20\x30\x2e\x39\x38\x38\x35\
+\x35\x2c\x2d\x31\x2e\x35\x35\x31\x39\x34\x20\x30\x2e\x35\x36\x36\
+\x38\x36\x2c\x2d\x30\x2e\x33\x35\x30\x33\x34\x20\x30\x2e\x37\x33\
+\x34\x35\x2c\x30\x2e\x30\x35\x31\x31\x20\x30\x2e\x33\x39\x33\x30\
+\x31\x2c\x30\x2e\x39\x34\x30\x39\x38\x20\x43\x20\x31\x33\x32\x2e\
+\x37\x31\x36\x37\x37\x2c\x31\x39\x37\x2e\x31\x38\x30\x34\x38\x20\
+\x31\x33\x32\x2c\x31\x39\x37\x2e\x34\x39\x37\x34\x35\x20\x31\x33\
+\x32\x2c\x31\x39\x36\x2e\x30\x35\x39\x30\x32\x20\x7a\x20\x4d\x20\
+\x31\x30\x36\x2c\x31\x39\x33\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x35\x20\x30\x2e\x33\x36\x35\x31\x35\x2c\x2d\x31\x20\x30\x2e\x38\
+\x31\x31\x34\x34\x2c\x2d\x31\x20\x30\x2e\x34\x34\x36\x32\x39\x2c\
+\x30\x20\x31\x2e\x37\x30\x31\x33\x36\x2c\x2d\x30\x2e\x37\x38\x37\
+\x35\x20\x32\x2e\x37\x38\x39\x30\x34\x2c\x2d\x31\x2e\x37\x35\x20\
+\x31\x2e\x30\x38\x37\x36\x39\x2c\x2d\x30\x2e\x39\x36\x32\x35\x20\
+\x32\x2e\x36\x33\x35\x30\x34\x2c\x2d\x31\x2e\x39\x30\x37\x35\x37\
+\x20\x33\x2e\x34\x33\x38\x35\x37\x2c\x2d\x32\x2e\x31\x30\x30\x31\
+\x37\x20\x33\x2e\x34\x30\x39\x38\x35\x2c\x2d\x30\x2e\x38\x31\x37\
+\x32\x38\x20\x36\x2e\x30\x34\x35\x33\x39\x2c\x2d\x30\x2e\x38\x32\
+\x32\x32\x33\x20\x36\x2e\x35\x34\x35\x39\x36\x2c\x2d\x30\x2e\x30\
+\x31\x32\x33\x20\x30\x2e\x32\x39\x35\x2c\x30\x2e\x34\x37\x37\x33\
+\x32\x20\x31\x2e\x33\x38\x35\x30\x33\x2c\x30\x2e\x34\x31\x33\x36\
+\x37\x20\x32\x2e\x34\x32\x32\x32\x39\x2c\x2d\x30\x2e\x31\x34\x31\
+\x34\x36\x20\x31\x2e\x34\x35\x36\x36\x38\x2c\x2d\x30\x2e\x37\x37\
+\x39\x35\x39\x20\x32\x2e\x31\x31\x38\x37\x36\x2c\x2d\x30\x2e\x36\
+\x30\x39\x35\x20\x32\x2e\x39\x30\x38\x39\x2c\x30\x2e\x37\x34\x37\
+\x33\x20\x30\x2e\x35\x36\x32\x36\x34\x2c\x30\x2e\x39\x36\x36\x31\
+\x34\x20\x31\x2e\x30\x33\x36\x36\x37\x2c\x31\x2e\x32\x30\x38\x32\
+\x33\x20\x31\x2e\x30\x35\x33\x33\x39\x2c\x30\x2e\x35\x33\x37\x39\
+\x39\x20\x30\x2e\x30\x33\x34\x34\x2c\x2d\x31\x2e\x33\x37\x39\x33\
+\x34\x20\x33\x2e\x30\x39\x39\x39\x37\x2c\x2d\x30\x2e\x35\x35\x35\
+\x38\x38\x20\x34\x2e\x32\x36\x35\x31\x2c\x31\x2e\x31\x34\x35\x36\
+\x38\x20\x30\x2e\x34\x39\x33\x38\x34\x2c\x30\x2e\x37\x32\x31\x32\
+\x31\x20\x30\x2e\x37\x33\x39\x37\x2c\x30\x2e\x36\x36\x33\x31\x36\
+\x20\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x31\x37\x37\x30\x36\x20\x30\
+\x2e\x30\x32\x31\x36\x2c\x2d\x31\x2e\x37\x36\x34\x39\x34\x20\x31\
+\x2e\x36\x38\x34\x31\x31\x2c\x2d\x31\x2e\x35\x35\x35\x34\x36\x20\
+\x32\x2e\x33\x39\x36\x38\x39\x2c\x30\x2e\x33\x30\x32\x30\x31\x20\
+\x30\x2e\x35\x30\x32\x36\x2c\x31\x2e\x33\x30\x39\x37\x33\x20\x2d\
+\x30\x2e\x33\x33\x39\x32\x35\x2c\x31\x2e\x35\x31\x38\x32\x37\x20\
+\x2d\x35\x2e\x33\x39\x33\x30\x31\x2c\x31\x2e\x33\x33\x35\x39\x20\
+\x43\x20\x31\x32\x34\x2e\x36\x39\x34\x38\x36\x2c\x31\x39\x31\x2e\
+\x37\x36\x39\x30\x35\x20\x31\x32\x32\x2c\x31\x39\x31\x2e\x33\x34\
+\x38\x31\x20\x31\x32\x32\x2c\x31\x39\x30\x2e\x39\x35\x32\x34\x38\
+\x20\x63\x20\x30\x2c\x2d\x30\x2e\x33\x39\x35\x36\x33\x20\x2d\x31\
+\x2e\x31\x36\x39\x38\x37\x2c\x2d\x30\x2e\x39\x34\x32\x39\x36\x20\
+\x2d\x32\x2e\x35\x39\x39\x37\x31\x2c\x2d\x31\x2e\x32\x31\x36\x32\
+\x39\x20\x43\x20\x31\x31\x36\x2e\x36\x34\x33\x38\x36\x2c\x31\x38\
+\x39\x2e\x32\x30\x39\x32\x36\x20\x31\x30\x39\x2c\x31\x39\x31\x2e\
+\x37\x31\x39\x35\x34\x20\x31\x30\x39\x2c\x31\x39\x33\x2e\x31\x35\
+\x31\x36\x39\x20\x31\x30\x39\x2c\x31\x39\x33\x2e\x36\x31\x38\x32\
+\x36\x20\x31\x30\x38\x2e\x33\x32\x35\x2c\x31\x39\x34\x20\x31\x30\
+\x37\x2e\x35\x2c\x31\x39\x34\x20\x63\x20\x2d\x30\x2e\x38\x32\x35\
+\x2c\x30\x20\x2d\x31\x2e\x35\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x31\
+\x2e\x35\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x33\x30\x2e\x37\x30\x34\
+\x37\x37\x2c\x2d\x36\x2e\x32\x35\x20\x63\x20\x30\x2e\x36\x34\x30\
+\x32\x2c\x2d\x38\x2e\x31\x37\x34\x31\x36\x20\x32\x2e\x32\x36\x32\
+\x34\x31\x2c\x2d\x31\x34\x2e\x33\x33\x37\x36\x35\x20\x34\x2e\x33\
+\x36\x38\x36\x34\x2c\x2d\x31\x36\x2e\x35\x39\x38\x34\x32\x20\x31\
+\x2e\x30\x35\x39\x36\x32\x2c\x2d\x31\x2e\x31\x33\x37\x33\x37\x20\
+\x31\x2e\x39\x32\x36\x35\x39\x2c\x2d\x32\x2e\x33\x35\x39\x33\x31\
+\x20\x31\x2e\x39\x32\x36\x35\x39\x2c\x2d\x32\x2e\x37\x31\x35\x34\
+\x31\x20\x30\x2c\x2d\x30\x2e\x33\x35\x36\x31\x20\x31\x2e\x30\x31\
+\x32\x35\x2c\x2d\x31\x2e\x38\x34\x39\x30\x35\x20\x32\x2e\x32\x35\
+\x2c\x2d\x33\x2e\x33\x31\x37\x36\x35\x20\x31\x2e\x39\x34\x34\x34\
+\x36\x2c\x2d\x32\x2e\x33\x30\x37\x36\x20\x32\x2e\x36\x32\x33\x34\
+\x34\x2c\x2d\x32\x2e\x35\x33\x38\x36\x33\x20\x35\x2c\x2d\x31\x2e\
+\x37\x30\x31\x33\x32\x20\x33\x2e\x32\x33\x39\x35\x38\x2c\x31\x2e\
+\x31\x34\x31\x33\x37\x20\x33\x2e\x37\x32\x39\x30\x33\x2c\x32\x2e\
+\x36\x35\x31\x35\x38\x20\x30\x2e\x35\x39\x33\x36\x33\x2c\x31\x2e\
+\x38\x33\x31\x36\x36\x20\x2d\x31\x2e\x36\x31\x37\x35\x2c\x2d\x30\
+\x2e\x34\x32\x32\x39\x39\x20\x2d\x31\x2e\x39\x35\x31\x33\x35\x2c\
+\x2d\x30\x2e\x32\x33\x32\x31\x38\x20\x2d\x31\x2e\x33\x33\x35\x39\
+\x36\x2c\x30\x2e\x37\x36\x33\x35\x36\x20\x30\x2e\x36\x30\x36\x37\
+\x38\x2c\x30\x2e\x39\x38\x31\x37\x38\x20\x30\x2e\x33\x35\x38\x31\
+\x2c\x31\x2e\x31\x35\x30\x30\x35\x20\x2d\x30\x2e\x39\x35\x34\x39\
+\x37\x2c\x30\x2e\x36\x34\x36\x31\x38\x20\x2d\x31\x2e\x32\x37\x33\
+\x35\x37\x2c\x2d\x30\x2e\x34\x38\x38\x37\x32\x20\x2d\x31\x2e\x36\
+\x32\x33\x37\x34\x2c\x2d\x30\x2e\x32\x38\x36\x31\x32\x20\x2d\x31\
+\x2e\x32\x33\x38\x38\x39\x2c\x30\x2e\x37\x31\x36\x37\x38\x20\x30\
+\x2e\x32\x39\x35\x30\x36\x2c\x30\x2e\x37\x36\x38\x39\x34\x20\x2d\
+\x30\x2e\x38\x39\x32\x33\x33\x2c\x32\x2e\x38\x38\x30\x37\x36\x20\
+\x2d\x32\x2e\x36\x33\x38\x36\x36\x2c\x34\x2e\x36\x39\x32\x39\x35\
+\x20\x2d\x31\x2e\x37\x34\x36\x33\x33\x2c\x31\x2e\x38\x31\x32\x31\
+\x38\x20\x2d\x32\x2e\x36\x31\x32\x36\x35\x2c\x32\x2e\x39\x36\x31\
+\x36\x20\x2d\x31\x2e\x39\x32\x35\x31\x35\x2c\x32\x2e\x35\x35\x34\
+\x32\x36\x20\x32\x2e\x31\x38\x31\x37\x34\x2c\x2d\x31\x2e\x32\x39\
+\x32\x36\x38\x20\x31\x2e\x33\x34\x35\x34\x39\x2c\x31\x2e\x31\x39\
+\x37\x31\x32\x20\x2d\x30\x2e\x39\x33\x39\x36\x37\x2c\x32\x2e\x37\
+\x39\x37\x37\x31\x20\x2d\x31\x2e\x32\x30\x34\x33\x31\x2c\x30\x2e\
+\x38\x34\x33\x35\x33\x20\x2d\x31\x2e\x39\x32\x37\x32\x2c\x31\x2e\
+\x37\x39\x36\x31\x36\x20\x2d\x31\x2e\x36\x30\x36\x34\x31\x2c\x32\
+\x2e\x31\x31\x36\x39\x36\x20\x30\x2e\x33\x32\x30\x38\x2c\x30\x2e\
+\x33\x32\x30\x37\x39\x20\x30\x2e\x30\x32\x36\x2c\x32\x2e\x36\x39\
+\x35\x36\x20\x2d\x30\x2e\x36\x35\x35\x30\x32\x2c\x35\x2e\x32\x37\
+\x37\x33\x36\x20\x2d\x30\x2e\x36\x38\x31\x30\x35\x2c\x32\x2e\x35\
+\x38\x31\x37\x36\x20\x2d\x31\x2e\x31\x32\x32\x39\x39\x2c\x35\x2e\
+\x34\x37\x39\x36\x34\x20\x2d\x30\x2e\x39\x38\x32\x30\x37\x2c\x36\
+\x2e\x34\x33\x39\x37\x34\x20\x30\x2e\x31\x34\x30\x39\x31\x2c\x30\
+\x2e\x39\x36\x30\x31\x20\x2d\x30\x2e\x33\x31\x32\x39\x32\x2c\x31\
+\x2e\x37\x34\x35\x36\x34\x20\x2d\x31\x2e\x30\x30\x38\x35\x32\x2c\
+\x31\x2e\x37\x34\x35\x36\x34\x20\x2d\x30\x2e\x39\x31\x31\x32\x35\
+\x2c\x30\x20\x2d\x31\x2e\x31\x34\x39\x38\x2c\x2d\x31\x2e\x34\x36\
+\x37\x33\x33\x20\x2d\x30\x2e\x38\x35\x33\x35\x34\x2c\x2d\x35\x2e\
+\x32\x35\x20\x7a\x20\x4d\x20\x39\x39\x2e\x35\x39\x37\x31\x39\x36\
+\x2c\x31\x38\x34\x2e\x32\x36\x33\x38\x36\x20\x43\x20\x39\x38\x2e\
+\x32\x33\x35\x33\x33\x38\x2c\x31\x38\x32\x2e\x39\x30\x32\x20\x39\
+\x39\x2e\x31\x38\x30\x31\x39\x37\x2c\x31\x38\x32\x20\x31\x30\x31\
+\x2e\x39\x36\x38\x36\x32\x2c\x31\x38\x32\x20\x63\x20\x32\x2e\x30\
+\x31\x32\x31\x34\x2c\x30\x20\x32\x2e\x38\x30\x39\x32\x32\x2c\x30\
+\x2e\x34\x31\x35\x33\x36\x20\x32\x2e\x34\x37\x33\x39\x31\x2c\x31\
+\x2e\x32\x38\x39\x31\x36\x20\x2d\x30\x2e\x35\x31\x36\x34\x34\x2c\
+\x31\x2e\x33\x34\x35\x38\x32\x20\x2d\x33\x2e\x38\x31\x31\x33\x39\
+\x2c\x32\x2e\x30\x30\x38\x36\x34\x20\x2d\x34\x2e\x38\x34\x35\x33\
+\x33\x34\x2c\x30\x2e\x39\x37\x34\x37\x20\x7a\x20\x6d\x20\x32\x30\
+\x2e\x30\x34\x30\x31\x34\x34\x2c\x2d\x32\x2e\x30\x34\x31\x36\x34\
+\x20\x63\x20\x2d\x30\x2e\x38\x38\x33\x30\x36\x2c\x2d\x31\x2e\x34\
+\x32\x38\x38\x32\x20\x37\x2e\x35\x30\x34\x35\x36\x2c\x2d\x32\x2e\
+\x34\x38\x39\x39\x38\x20\x31\x30\x2e\x34\x33\x32\x38\x32\x2c\x2d\
+\x31\x2e\x33\x31\x39\x39\x31\x20\x6c\x20\x32\x2e\x34\x32\x39\x38\
+\x34\x2c\x30\x2e\x39\x37\x30\x39\x32\x20\x2d\x32\x2e\x35\x2c\x30\
+\x2e\x30\x37\x34\x34\x20\x63\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\
+\x2e\x30\x34\x30\x39\x20\x2d\x34\x2e\x31\x33\x30\x32\x39\x2c\x30\
+\x2e\x33\x34\x34\x30\x33\x20\x2d\x36\x2e\x31\x32\x32\x38\x37\x2c\
+\x30\x2e\x36\x37\x33\x36\x20\x2d\x32\x2e\x30\x31\x39\x37\x31\x2c\
+\x30\x2e\x33\x33\x34\x30\x35\x20\x2d\x33\x2e\x38\x39\x35\x38\x36\
+\x2c\x30\x2e\x31\x35\x37\x34\x39\x20\x2d\x34\x2e\x32\x33\x39\x37\
+\x39\x2c\x2d\x30\x2e\x33\x39\x39\x20\x7a\x20\x6d\x20\x32\x38\x2e\
+\x39\x39\x35\x31\x2c\x2d\x33\x2e\x30\x30\x37\x39\x33\x20\x63\x20\
+\x2d\x30\x2e\x32\x36\x37\x30\x38\x2c\x2d\x30\x2e\x34\x33\x32\x31\
+\x35\x20\x30\x2e\x33\x38\x31\x33\x36\x2c\x2d\x30\x2e\x37\x38\x35\
+\x37\x32\x20\x31\x2e\x34\x34\x30\x39\x38\x2c\x2d\x30\x2e\x37\x38\
+\x35\x37\x32\x20\x31\x2e\x30\x35\x39\x36\x32\x2c\x30\x20\x31\x2e\
+\x39\x32\x36\x35\x38\x2c\x30\x2e\x33\x35\x33\x35\x37\x20\x31\x2e\
+\x39\x32\x36\x35\x38\x2c\x30\x2e\x37\x38\x35\x37\x32\x20\x30\x2c\
+\x30\x2e\x34\x33\x32\x31\x34\x20\x2d\x30\x2e\x36\x34\x38\x34\x34\
+\x2c\x30\x2e\x37\x38\x35\x37\x31\x20\x2d\x31\x2e\x34\x34\x30\x39\
+\x38\x2c\x30\x2e\x37\x38\x35\x37\x31\x20\x2d\x30\x2e\x37\x39\x32\
+\x35\x34\x2c\x30\x20\x2d\x31\x2e\x36\x35\x39\x35\x31\x2c\x2d\x30\
+\x2e\x33\x35\x33\x35\x37\x20\x2d\x31\x2e\x39\x32\x36\x35\x38\x2c\
+\x2d\x30\x2e\x37\x38\x35\x37\x31\x20\x7a\x20\x6d\x20\x2d\x34\x30\
+\x2e\x38\x30\x31\x31\x33\x2c\x2d\x30\x2e\x37\x31\x36\x33\x31\x20\
+\x63\x20\x2d\x31\x2e\x35\x39\x31\x31\x32\x2c\x2d\x31\x2e\x35\x39\
+\x31\x31\x32\x20\x30\x2e\x35\x39\x30\x36\x38\x2c\x2d\x34\x2e\x33\
+\x36\x30\x37\x35\x20\x34\x2e\x30\x31\x30\x37\x33\x2c\x2d\x35\x2e\
+\x30\x39\x31\x33\x34\x20\x35\x2e\x39\x36\x33\x37\x2c\x2d\x31\x2e\
+\x32\x37\x33\x39\x35\x20\x37\x2e\x33\x33\x36\x36\x35\x2c\x2d\x31\
+\x2e\x32\x37\x31\x32\x20\x31\x34\x2e\x33\x36\x36\x38\x34\x2c\x30\
+\x2e\x30\x32\x38\x38\x20\x33\x2e\x36\x38\x39\x38\x38\x2c\x30\x2e\
+\x36\x38\x32\x32\x39\x20\x36\x2e\x34\x37\x35\x38\x32\x2c\x30\x2e\
+\x38\x36\x33\x34\x35\x20\x36\x2e\x31\x39\x30\x39\x38\x2c\x30\x2e\
+\x34\x30\x32\x35\x37\x20\x2d\x30\x2e\x32\x38\x34\x38\x34\x2c\x2d\
+\x30\x2e\x34\x36\x30\x38\x38\x20\x2d\x30\x2e\x30\x34\x31\x33\x2c\
+\x2d\x30\x2e\x38\x33\x37\x39\x37\x20\x30\x2e\x35\x34\x31\x31\x32\
+\x2c\x2d\x30\x2e\x38\x33\x37\x39\x37\x20\x30\x2e\x35\x38\x32\x34\
+\x36\x2c\x30\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x30\x2e\x36\x36\
+\x36\x34\x33\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x2e\x34\x38\
+\x30\x39\x35\x20\x30\x2c\x32\x2e\x30\x39\x36\x32\x31\x20\x2d\x33\
+\x2e\x38\x38\x37\x34\x33\x2c\x32\x2e\x38\x31\x31\x38\x35\x20\x2d\
+\x39\x2e\x36\x31\x37\x32\x2c\x31\x2e\x37\x37\x30\x34\x33\x20\x2d\
+\x37\x2e\x30\x34\x35\x38\x31\x2c\x2d\x31\x2e\x32\x38\x30\x36\x31\
+\x20\x2d\x31\x33\x2e\x32\x38\x32\x35\x2c\x2d\x30\x2e\x37\x37\x30\
+\x38\x20\x2d\x31\x34\x2e\x37\x32\x36\x33\x36\x2c\x31\x2e\x32\x30\
+\x33\x37\x39\x20\x2d\x30\x2e\x36\x36\x36\x32\x34\x2c\x30\x2e\x39\
+\x31\x31\x31\x33\x20\x2d\x31\x2e\x34\x38\x37\x35\x34\x2c\x31\x2e\
+\x33\x38\x30\x33\x39\x20\x2d\x31\x2e\x38\x32\x35\x31\x33\x2c\x31\
+\x2e\x30\x34\x32\x38\x31\x20\x7a\x20\x4d\x20\x39\x39\x2c\x31\x36\
+\x39\x2e\x31\x31\x36\x35\x38\x20\x63\x20\x30\x2c\x2d\x31\x2e\x36\
+\x31\x38\x30\x33\x20\x35\x2e\x34\x32\x38\x32\x34\x2c\x2d\x32\x2e\
+\x30\x34\x32\x34\x36\x20\x36\x2e\x39\x36\x34\x32\x39\x2c\x2d\x30\
+\x2e\x35\x34\x34\x35\x33\x20\x31\x2e\x32\x37\x34\x36\x34\x2c\x31\
+\x2e\x32\x34\x33\x30\x31\x20\x30\x2e\x39\x31\x38\x34\x39\x2c\x31\
+\x2e\x34\x32\x37\x39\x35\x20\x2d\x32\x2e\x37\x35\x2c\x31\x2e\x34\
+\x32\x37\x39\x35\x20\x43\x20\x31\x30\x30\x2e\x38\x39\x36\x34\x33\
+\x2c\x31\x37\x30\x20\x39\x39\x2c\x31\x36\x39\x2e\x36\x30\x32\x34\
+\x36\x20\x39\x39\x2c\x31\x36\x39\x2e\x31\x31\x36\x35\x38\x20\x7a\
+\x20\x6d\x20\x31\x30\x2e\x38\x31\x32\x35\x2c\x30\x2e\x32\x30\x30\
+\x33\x31\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\
+\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x38\x2e\
+\x39\x34\x33\x37\x33\x2c\x2d\x30\x2e\x39\x38\x31\x32\x35\x20\x63\
+\x20\x30\x2e\x36\x39\x30\x39\x33\x2c\x2d\x30\x2e\x32\x37\x38\x35\
+\x35\x20\x30\x2e\x39\x35\x38\x39\x2c\x2d\x30\x2e\x39\x38\x37\x35\
+\x35\x20\x30\x2e\x35\x39\x35\x34\x39\x2c\x2d\x31\x2e\x35\x37\x35\
+\x35\x36\x20\x2d\x30\x2e\x33\x39\x30\x35\x33\x2c\x2d\x30\x2e\x36\
+\x33\x31\x39\x20\x2d\x30\x2e\x31\x38\x38\x36\x31\x2c\x2d\x30\x2e\
+\x37\x37\x37\x33\x31\x20\x30\x2e\x34\x39\x33\x37\x37\x2c\x2d\x30\
+\x2e\x33\x35\x35\x35\x37\x20\x31\x2e\x37\x34\x34\x38\x39\x2c\x31\
+\x2e\x30\x37\x38\x34\x20\x31\x2e\x33\x38\x33\x34\x36\x2c\x32\x2e\
+\x36\x30\x35\x38\x32\x20\x2d\x30\x2e\x35\x39\x35\x34\x39\x2c\x32\
+\x2e\x35\x31\x36\x35\x34\x20\x2d\x31\x2e\x30\x35\x35\x37\x35\x2c\
+\x2d\x30\x2e\x30\x34\x37\x36\x20\x2d\x31\x2e\x32\x35\x31\x36\x33\
+\x2c\x2d\x30\x2e\x32\x37\x39\x38\x37\x20\x2d\x30\x2e\x34\x39\x33\
+\x37\x37\x2c\x2d\x30\x2e\x35\x38\x35\x34\x31\x20\x7a\x20\x4d\x20\
+\x31\x32\x32\x2c\x31\x36\x37\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x35\x20\x30\x2e\x35\x36\x32\x35\x2c\x2d\x31\x2e\x30\x37\x30\x33\
+\x20\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x31\x35\x36\x32\x32\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x30\x38\x35\x39\x20\x32\x2e\
+\x33\x37\x35\x2c\x2d\x30\x2e\x33\x32\x30\x31\x33\x20\x33\x2e\x37\
+\x35\x2c\x2d\x30\x2e\x35\x32\x30\x34\x36\x20\x38\x2e\x32\x34\x39\
+\x32\x39\x2c\x2d\x31\x2e\x32\x30\x31\x38\x37\x20\x31\x30\x2e\x38\
+\x35\x34\x36\x2c\x2d\x31\x2e\x31\x30\x37\x39\x39\x20\x31\x30\x2e\
+\x32\x38\x37\x31\x38\x2c\x30\x2e\x33\x37\x30\x36\x39\x20\x2d\x30\
+\x2e\x33\x37\x34\x31\x37\x2c\x30\x2e\x39\x37\x35\x30\x37\x20\x2d\
+\x31\x2e\x34\x34\x31\x38\x38\x2c\x31\x2e\x33\x31\x38\x34\x31\x20\
+\x2d\x33\x2e\x31\x30\x38\x39\x33\x2c\x30\x2e\x39\x39\x39\x37\x33\
+\x20\x2d\x31\x2e\x33\x39\x36\x34\x38\x2c\x2d\x30\x2e\x32\x36\x36\
+\x39\x35\x20\x2d\x33\x2e\x33\x37\x31\x36\x2c\x30\x2e\x30\x33\x30\
+\x32\x20\x2d\x34\x2e\x33\x38\x39\x31\x36\x2c\x30\x2e\x36\x36\x30\
+\x34\x35\x20\x2d\x31\x2e\x34\x35\x39\x37\x38\x2c\x30\x2e\x39\x30\
+\x34\x30\x37\x20\x2d\x32\x2e\x30\x35\x31\x34\x32\x2c\x30\x2e\x38\
+\x32\x39\x33\x35\x20\x2d\x32\x2e\x38\x30\x34\x32\x39\x2c\x2d\x30\
+\x2e\x33\x35\x34\x31\x39\x20\x2d\x30\x2e\x36\x33\x34\x31\x33\x2c\
+\x2d\x30\x2e\x39\x39\x36\x38\x37\x20\x2d\x30\x2e\x39\x35\x39\x33\
+\x31\x2c\x2d\x31\x2e\x30\x38\x30\x37\x33\x20\x2d\x30\x2e\x39\x36\
+\x39\x34\x39\x2c\x2d\x30\x2e\x32\x35\x20\x43\x20\x31\x32\x36\x2e\
+\x30\x30\x36\x38\x39\x2c\x31\x36\x37\x2e\x34\x33\x37\x35\x20\x31\
+\x32\x35\x2e\x31\x2c\x31\x36\x38\x20\x31\x32\x34\x2c\x31\x36\x38\
+\x20\x63\x20\x2d\x31\x2e\x31\x2c\x30\x20\x2d\x32\x2c\x2d\x30\x2e\
+\x34\x35\x20\x2d\x32\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x2d\x31\x35\
+\x2c\x2d\x34\x2e\x33\x37\x38\x36\x38\x20\x63\x20\x30\x2c\x2d\x32\
+\x2e\x34\x38\x36\x37\x33\x20\x39\x2e\x38\x34\x39\x31\x2c\x2d\x35\
+\x2e\x33\x31\x32\x37\x39\x20\x31\x36\x2e\x37\x37\x32\x37\x39\x2c\
+\x2d\x34\x2e\x38\x31\x32\x37\x31\x20\x32\x2e\x37\x36\x32\x30\x31\
+\x2c\x30\x2e\x31\x39\x39\x34\x39\x20\x34\x2e\x30\x33\x35\x33\x39\
+\x2c\x30\x2e\x36\x39\x32\x37\x34\x20\x33\x2e\x36\x30\x31\x33\x38\
+\x2c\x31\x2e\x33\x39\x34\x39\x39\x20\x2d\x30\x2e\x34\x34\x37\x30\
+\x38\x2c\x30\x2e\x37\x32\x33\x33\x39\x20\x30\x2e\x32\x35\x30\x39\
+\x2c\x30\x2e\x39\x31\x30\x30\x36\x20\x32\x2e\x30\x38\x39\x2c\x30\
+\x2e\x35\x35\x38\x36\x39\x20\x31\x2e\x35\x31\x38\x32\x33\x2c\x2d\
+\x30\x2e\x32\x39\x30\x32\x33\x20\x33\x2e\x39\x34\x37\x36\x31\x2c\
+\x30\x2e\x30\x39\x31\x37\x20\x35\x2e\x33\x39\x38\x36\x32\x2c\x30\
+\x2e\x38\x34\x38\x38\x35\x20\x32\x2e\x34\x36\x34\x37\x32\x2c\x31\
+\x2e\x32\x38\x36\x30\x32\x20\x32\x2e\x31\x36\x35\x33\x33\x2c\x31\
+\x2e\x33\x37\x36\x39\x34\x20\x2d\x34\x2e\x35\x35\x32\x37\x37\x2c\
+\x31\x2e\x33\x38\x32\x37\x20\x2d\x33\x2e\x39\x35\x35\x30\x34\x2c\
+\x30\x2e\x30\x30\x33\x20\x2d\x37\x2e\x34\x35\x31\x34\x2c\x2d\x30\
+\x2e\x34\x31\x35\x32\x31\x20\x2d\x37\x2e\x37\x36\x39\x36\x39\x2c\
+\x2d\x30\x2e\x39\x33\x30\x32\x31\x20\x2d\x30\x2e\x33\x31\x38\x32\
+\x39\x2c\x2d\x30\x2e\x35\x31\x35\x20\x2d\x31\x2e\x33\x35\x37\x33\
+\x35\x2c\x2d\x30\x2e\x39\x30\x34\x39\x32\x20\x2d\x32\x2e\x33\x30\
+\x39\x30\x32\x2c\x2d\x30\x2e\x38\x36\x36\x34\x38\x20\x2d\x30\x2e\
+\x39\x35\x31\x36\x37\x2c\x30\x2e\x30\x33\x38\x34\x20\x2d\x32\x2e\
+\x35\x31\x37\x38\x31\x2c\x2d\x30\x2e\x32\x36\x33\x33\x34\x20\x2d\
+\x33\x2e\x34\x38\x30\x33\x31\x2c\x2d\x30\x2e\x36\x37\x30\x36\x32\
+\x20\x2d\x31\x2e\x30\x34\x30\x39\x37\x2c\x2d\x30\x2e\x34\x34\x30\
+\x34\x39\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x33\x30\x34\x37\
+\x32\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x33\x33\x35\x31\x20\x30\
+\x2c\x30\x2e\x35\x39\x31\x35\x38\x20\x2d\x30\x2e\x37\x30\x33\x37\
+\x2c\x30\x2e\x38\x30\x35\x35\x37\x20\x2d\x31\x2e\x35\x36\x33\x37\
+\x37\x2c\x30\x2e\x34\x37\x35\x35\x33\x20\x2d\x30\x2e\x39\x35\x33\
+\x39\x39\x2c\x2d\x30\x2e\x33\x36\x36\x30\x39\x20\x2d\x32\x2e\x31\
+\x34\x35\x39\x33\x2c\x30\x2e\x32\x33\x31\x30\x37\x20\x2d\x33\x2e\
+\x30\x35\x36\x37\x31\x2c\x31\x2e\x35\x33\x31\x33\x38\x20\x43\x20\
+\x31\x30\x38\x2e\x36\x38\x31\x38\x2c\x31\x36\x34\x2e\x32\x39\x32\
+\x33\x39\x20\x31\x30\x37\x2c\x31\x36\x34\x2e\x36\x36\x37\x20\x31\
+\x30\x37\x2c\x31\x36\x32\x2e\x36\x32\x31\x33\x32\x20\x7a\x20\x6d\
+\x20\x33\x31\x2e\x38\x31\x32\x39\x38\x2c\x2d\x30\x2e\x37\x31\x32\
+\x20\x63\x20\x2d\x30\x2e\x39\x30\x37\x35\x34\x2c\x2d\x32\x2e\x32\
+\x39\x38\x39\x38\x20\x30\x2e\x34\x31\x32\x2c\x2d\x34\x2e\x30\x31\
+\x31\x30\x35\x20\x32\x2e\x32\x31\x33\x34\x31\x2c\x2d\x32\x2e\x38\
+\x37\x31\x38\x35\x20\x30\x2e\x38\x37\x32\x36\x35\x2c\x30\x2e\x35\
+\x35\x31\x38\x36\x20\x30\x2e\x39\x39\x33\x37\x34\x2c\x30\x2e\x39\
+\x33\x38\x31\x35\x20\x30\x2e\x32\x39\x36\x39\x33\x2c\x30\x2e\x39\
+\x34\x37\x32\x32\x20\x2d\x30\x2e\x36\x34\x37\x31\x37\x2c\x30\x2e\
+\x30\x30\x38\x20\x2d\x31\x2e\x33\x33\x35\x34\x36\x2c\x30\x2e\x38\
+\x30\x32\x38\x31\x20\x2d\x31\x2e\x35\x32\x39\x35\x34\x2c\x31\x2e\
+\x37\x36\x35\x33\x31\x20\x2d\x30\x2e\x33\x30\x38\x39\x34\x2c\x31\
+\x2e\x35\x33\x32\x31\x34\x20\x2d\x30\x2e\x34\x33\x31\x30\x34\x2c\
+\x31\x2e\x35\x35\x31\x39\x37\x20\x2d\x30\x2e\x39\x38\x30\x38\x2c\
+\x30\x2e\x31\x35\x39\x33\x32\x20\x7a\x20\x6d\x20\x2d\x34\x30\x2e\
+\x31\x34\x36\x33\x31\x33\x2c\x2d\x36\x2e\x35\x37\x35\x39\x39\x20\
+\x63\x20\x2d\x32\x2e\x32\x35\x34\x31\x32\x2c\x2d\x32\x2e\x32\x35\
+\x34\x31\x32\x20\x31\x2e\x38\x31\x31\x32\x36\x33\x2c\x2d\x33\x2e\
+\x39\x30\x35\x34\x33\x20\x34\x2e\x37\x39\x37\x35\x37\x33\x2c\x2d\
+\x31\x2e\x39\x34\x38\x37\x32\x20\x31\x2e\x32\x30\x30\x33\x34\x2c\
+\x30\x2e\x37\x38\x36\x34\x39\x20\x33\x2e\x32\x37\x34\x34\x33\x2c\
+\x31\x2e\x36\x33\x35\x34\x32\x20\x34\x2e\x36\x30\x39\x31\x2c\x31\
+\x2e\x38\x38\x36\x35\x31\x20\x31\x2e\x33\x33\x34\x36\x36\x2c\x30\
+\x2e\x32\x35\x31\x30\x38\x20\x2d\x30\x2e\x30\x38\x35\x38\x2c\x30\
+\x2e\x35\x31\x37\x38\x20\x2d\x33\x2e\x31\x35\x36\x36\x37\x2c\x30\
+\x2e\x35\x39\x32\x37\x20\x2d\x33\x2e\x30\x37\x30\x38\x34\x2c\x30\
+\x2e\x30\x37\x34\x39\x20\x2d\x35\x2e\x38\x38\x33\x33\x33\x37\x2c\
+\x2d\x30\x2e\x31\x36\x33\x38\x32\x20\x2d\x36\x2e\x32\x35\x30\x30\
+\x30\x33\x2c\x2d\x30\x2e\x35\x33\x30\x34\x39\x20\x7a\x20\x6d\x20\
+\x31\x39\x2e\x31\x34\x35\x38\x33\x33\x2c\x2d\x31\x2e\x30\x31\x36\
+\x34\x34\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\
+\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\
+\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\
+\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\
+\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x33\x2e\
+\x38\x36\x33\x36\x2c\x2d\x31\x2e\x37\x31\x38\x35\x37\x20\x63\x20\
+\x2d\x30\x2e\x38\x34\x32\x34\x33\x2c\x2d\x32\x2e\x31\x39\x35\x33\
+\x36\x20\x35\x2e\x37\x39\x32\x37\x33\x2c\x2d\x33\x2e\x30\x38\x33\
+\x37\x38\x20\x38\x2e\x35\x35\x39\x32\x33\x2c\x2d\x31\x2e\x31\x34\
+\x36\x30\x34\x20\x31\x2e\x35\x34\x39\x30\x39\x2c\x31\x2e\x30\x38\
+\x35\x30\x32\x20\x31\x2e\x37\x35\x34\x35\x32\x2c\x31\x2e\x35\x34\
+\x37\x37\x32\x20\x30\x2e\x36\x38\x37\x31\x38\x2c\x31\x2e\x35\x34\
+\x37\x37\x32\x20\x2d\x30\x2e\x38\x33\x37\x33\x38\x2c\x30\x20\x2d\
+\x32\x2e\x30\x36\x32\x35\x31\x2c\x2d\x30\x2e\x35\x34\x20\x2d\x32\
+\x2e\x37\x32\x32\x35\x31\x2c\x2d\x31\x2e\x32\x20\x2d\x30\x2e\x39\
+\x33\x33\x33\x33\x2c\x2d\x30\x2e\x39\x33\x33\x33\x33\x20\x2d\x31\
+\x2e\x32\x2c\x2d\x30\x2e\x38\x32\x32\x32\x32\x20\x2d\x31\x2e\x32\
+\x2c\x30\x2e\x35\x20\x30\x2c\x32\x2e\x31\x30\x34\x33\x34\x20\x2d\
+\x34\x2e\x35\x33\x33\x33\x38\x2c\x32\x2e\x33\x35\x38\x33\x37\x20\
+\x2d\x35\x2e\x33\x32\x33\x39\x2c\x30\x2e\x32\x39\x38\x33\x32\x20\
+\x7a\x20\x4d\x20\x31\x33\x34\x2e\x35\x2c\x31\x35\x31\x2e\x38\x36\
+\x34\x32\x38\x20\x63\x20\x32\x2e\x35\x31\x37\x31\x33\x2c\x2d\x31\
+\x2e\x36\x31\x39\x34\x34\x20\x34\x2e\x35\x2c\x2d\x31\x2e\x39\x36\
+\x31\x32\x39\x20\x34\x2e\x35\x2c\x2d\x30\x2e\x37\x37\x35\x38\x20\
+\x30\x2c\x30\x2e\x35\x30\x31\x33\x34\x20\x2d\x30\x2e\x36\x33\x38\
+\x32\x2c\x30\x2e\x39\x31\x31\x35\x32\x20\x2d\x31\x2e\x34\x31\x38\
+\x32\x31\x2c\x30\x2e\x39\x31\x31\x35\x32\x20\x2d\x30\x2e\x37\x38\
+\x30\x30\x32\x2c\x30\x20\x2d\x32\x2e\x32\x34\x32\x35\x32\x2c\x30\
+\x2e\x32\x35\x38\x39\x38\x20\x2d\x33\x2e\x32\x35\x2c\x30\x2e\x35\
+\x37\x35\x35\x31\x20\x2d\x31\x2e\x35\x35\x31\x38\x38\x2c\x30\x2e\
+\x34\x38\x37\x35\x36\x20\x2d\x31\x2e\x35\x32\x36\x31\x37\x2c\x30\
+\x2e\x33\x37\x38\x38\x38\x20\x30\x2e\x31\x36\x38\x32\x31\x2c\x2d\
+\x30\x2e\x37\x31\x31\x32\x33\x20\x7a\x20\x6d\x20\x2d\x32\x38\x2e\
+\x31\x34\x32\x37\x33\x2c\x2d\x34\x2e\x33\x31\x39\x35\x39\x20\x63\
+\x20\x32\x2e\x37\x38\x30\x39\x31\x2c\x2d\x32\x2e\x35\x37\x37\x32\
+\x35\x20\x35\x2e\x37\x34\x33\x37\x35\x2c\x2d\x33\x2e\x33\x39\x37\
+\x20\x31\x34\x2e\x33\x35\x35\x32\x32\x2c\x2d\x33\x2e\x39\x37\x31\
+\x37\x34\x20\x33\x2e\x34\x38\x36\x36\x34\x2c\x2d\x30\x2e\x32\x33\
+\x32\x37\x20\x35\x2e\x31\x34\x32\x31\x33\x2c\x30\x2e\x30\x32\x35\
+\x31\x20\x35\x2c\x30\x2e\x37\x37\x38\x36\x34\x20\x2d\x30\x2e\x31\
+\x32\x37\x35\x2c\x30\x2e\x36\x37\x35\x39\x35\x20\x30\x2e\x39\x38\
+\x37\x34\x31\x2c\x31\x2e\x30\x32\x33\x38\x37\x20\x32\x2e\x37\x38\
+\x37\x35\x31\x2c\x30\x2e\x38\x36\x39\x38\x37\x20\x6c\x20\x33\x2c\
+\x2d\x30\x2e\x32\x35\x36\x36\x36\x20\x2d\x32\x2e\x38\x31\x36\x38\
+\x35\x2c\x31\x2e\x35\x38\x34\x35\x36\x20\x63\x20\x2d\x31\x2e\x38\
+\x32\x31\x30\x36\x2c\x31\x2e\x30\x32\x34\x34\x31\x20\x2d\x33\x2e\
+\x32\x33\x35\x31\x31\x2c\x31\x2e\x32\x35\x33\x36\x32\x20\x2d\x34\
+\x2c\x30\x2e\x36\x34\x38\x34\x20\x43\x20\x31\x32\x33\x2e\x32\x38\
+\x37\x31\x37\x2c\x31\x34\x36\x2e\x30\x39\x33\x31\x38\x20\x31\x31\
+\x34\x2c\x31\x34\x34\x2e\x39\x35\x33\x36\x35\x20\x31\x31\x34\x2c\
+\x31\x34\x35\x2e\x38\x38\x36\x39\x34\x20\x31\x31\x34\x2c\x31\x34\
+\x36\x2e\x36\x33\x37\x33\x31\x20\x31\x30\x36\x2e\x35\x31\x36\x39\
+\x33\x2c\x31\x35\x30\x20\x31\x30\x34\x2e\x38\x34\x37\x31\x32\x2c\
+\x31\x35\x30\x20\x63\x20\x2d\x30\x2e\x36\x32\x36\x35\x34\x2c\x30\
+\x20\x30\x2e\x30\x35\x33\x2c\x2d\x31\x2e\x31\x30\x34\x38\x39\x20\
+\x31\x2e\x35\x31\x30\x31\x35\x2c\x2d\x32\x2e\x34\x35\x35\x33\x31\
+\x20\x7a\x20\x4d\x20\x31\x35\x32\x2c\x31\x34\x39\x2e\x31\x36\x36\
+\x36\x37\x20\x63\x20\x30\x2c\x2d\x30\x2e\x36\x34\x31\x36\x37\x20\
+\x2d\x31\x2e\x30\x31\x32\x35\x2c\x2d\x31\x2e\x32\x31\x38\x38\x37\
+\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x31\x2e\x32\x38\x32\x36\x37\x20\
+\x2d\x31\x2e\x38\x35\x31\x39\x36\x2c\x2d\x30\x2e\x30\x39\x35\x35\
+\x20\x2d\x31\x2e\x39\x32\x31\x36\x33\x2c\x2d\x30\x2e\x32\x30\x30\
+\x35\x32\x20\x2d\x30\x2e\x33\x39\x33\x37\x38\x2c\x2d\x30\x2e\x35\
+\x39\x33\x37\x38\x20\x31\x2e\x39\x39\x34\x37\x2c\x2d\x30\x2e\x35\
+\x31\x33\x34\x32\x20\x34\x2e\x34\x35\x35\x31\x39\x2c\x31\x2e\x32\
+\x33\x31\x37\x20\x33\x2e\x33\x32\x37\x31\x31\x2c\x32\x2e\x33\x35\
+\x39\x37\x38\x20\x43\x20\x31\x35\x32\x2e\x33\x30\x37\x35\x2c\x31\
+\x35\x30\x2e\x30\x32\x35\x38\x33\x20\x31\x35\x32\x2c\x31\x34\x39\
+\x2e\x38\x30\x38\x33\x33\x20\x31\x35\x32\x2c\x31\x34\x39\x2e\x31\
+\x36\x36\x36\x37\x20\x7a\x20\x6d\x20\x2d\x31\x32\x2e\x31\x38\x37\
+\x35\x2c\x2d\x30\x2e\x38\x34\x39\x37\x38\x20\x63\x20\x30\x2e\x37\
+\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\
+\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\
+\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\
+\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x6d\x20\x2d\x32\x2e\x35\x36\x32\x35\x2c\x2d\x32\
+\x2e\x30\x30\x36\x32\x32\x20\x63\x20\x30\x2e\x39\x36\x32\x35\x2c\
+\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\x32\x2e\x35\x33\x37\x35\x2c\
+\x2d\x30\x2e\x32\x35\x31\x35\x32\x20\x33\x2e\x35\x2c\x30\x20\x30\
+\x2e\x39\x36\x32\x35\x2c\x30\x2e\x32\x35\x31\x35\x33\x20\x30\x2e\
+\x31\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\x2d\x31\x2e\x37\
+\x35\x2c\x30\x2e\x34\x35\x37\x33\x33\x20\x2d\x31\x2e\x39\x32\x35\
+\x2c\x30\x20\x2d\x32\x2e\x37\x31\x32\x35\x2c\x2d\x30\x2e\x32\x30\
+\x35\x38\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x34\x35\x37\x33\
+\x33\x20\x7a\x20\x6d\x20\x2d\x34\x30\x2e\x31\x36\x32\x32\x32\x39\
+\x2c\x2d\x34\x2e\x35\x39\x32\x39\x20\x63\x20\x30\x2e\x38\x37\x33\
+\x32\x37\x34\x2c\x2d\x30\x2e\x36\x36\x39\x37\x37\x20\x31\x2e\x34\
+\x31\x36\x32\x35\x34\x2c\x2d\x31\x2e\x37\x32\x36\x33\x33\x20\x31\
+\x2e\x32\x30\x36\x36\x32\x32\x2c\x2d\x32\x2e\x33\x34\x37\x39\x20\
+\x2d\x30\x2e\x34\x37\x36\x31\x31\x38\x2c\x2d\x31\x2e\x34\x31\x31\
+\x37\x33\x20\x35\x2e\x35\x36\x38\x30\x37\x37\x2c\x2d\x32\x2e\x34\
+\x30\x31\x34\x31\x20\x36\x2e\x34\x30\x34\x31\x34\x37\x2c\x2d\x31\
+\x2e\x30\x34\x38\x36\x33\x20\x30\x2e\x33\x36\x37\x36\x31\x2c\x30\
+\x2e\x35\x39\x34\x38\x32\x20\x30\x2e\x30\x38\x38\x35\x2c\x30\x2e\
+\x36\x36\x35\x31\x39\x20\x2d\x30\x2e\x37\x30\x31\x35\x36\x2c\x30\
+\x2e\x31\x37\x36\x39\x20\x2d\x30\x2e\x39\x38\x32\x31\x2c\x2d\x30\
+\x2e\x36\x30\x36\x39\x37\x20\x2d\x31\x2e\x31\x36\x36\x34\x37\x2c\
+\x2d\x30\x2e\x32\x35\x34\x32\x37\x20\x2d\x30\x2e\x37\x33\x33\x31\
+\x39\x2c\x31\x2e\x34\x30\x32\x35\x39\x20\x30\x2e\x33\x37\x38\x37\
+\x38\x2c\x31\x2e\x34\x34\x38\x34\x36\x20\x30\x2e\x31\x37\x34\x30\
+\x31\x2c\x32\x2e\x30\x37\x34\x31\x33\x20\x2d\x30\x2e\x35\x39\x32\
+\x34\x38\x2c\x31\x2e\x38\x31\x30\x32\x39\x20\x2d\x30\x2e\x36\x34\
+\x34\x32\x32\x2c\x2d\x30\x2e\x32\x32\x31\x37\x35\x20\x2d\x32\x2e\
+\x35\x32\x31\x33\x31\x2c\x2d\x30\x2e\x30\x33\x36\x39\x20\x2d\x34\
+\x2e\x31\x37\x31\x33\x31\x2c\x30\x2e\x34\x31\x30\x36\x37\x20\x2d\
+\x32\x2e\x34\x36\x31\x36\x31\x32\x2c\x30\x2e\x36\x36\x37\x38\x20\
+\x2d\x32\x2e\x37\x31\x35\x30\x35\x34\x2c\x30\x2e\x35\x39\x35\x33\
+\x31\x20\x2d\x31\x2e\x34\x31\x32\x32\x32\x39\x2c\x2d\x30\x2e\x34\
+\x30\x33\x39\x32\x20\x7a\x20\x6d\x20\x31\x36\x2e\x37\x32\x34\x37\
+\x32\x39\x2c\x2d\x31\x2e\x34\x30\x30\x38\x38\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\
+\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\
+\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\
+\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\
+\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\
+\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\
+\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\
+\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\
+\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\
+\x31\x36\x20\x7a\x20\x6d\x20\x37\x2e\x38\x36\x33\x32\x32\x2c\x2d\
+\x32\x2e\x31\x38\x34\x38\x36\x20\x63\x20\x30\x2e\x36\x32\x31\x38\
+\x32\x2c\x2d\x32\x2e\x33\x37\x37\x38\x32\x20\x32\x2e\x38\x30\x34\
+\x39\x34\x2c\x2d\x33\x2e\x33\x30\x39\x37\x39\x20\x36\x2e\x32\x31\
+\x34\x38\x36\x2c\x2d\x32\x2e\x36\x35\x33\x31\x20\x33\x2e\x30\x37\
+\x35\x2c\x30\x2e\x35\x39\x32\x31\x39\x20\x33\x2e\x39\x39\x33\x32\
+\x39\x2c\x31\x2e\x35\x31\x36\x36\x37\x20\x31\x2e\x35\x32\x36\x30\
+\x39\x2c\x31\x2e\x35\x33\x36\x33\x38\x20\x2d\x31\x2e\x36\x30\x33\
+\x35\x38\x2c\x30\x2e\x30\x31\x32\x38\x20\x2d\x31\x2e\x36\x37\x31\
+\x36\x34\x2c\x30\x2e\x31\x37\x33\x36\x37\x20\x2d\x30\x2e\x34\x31\
+\x36\x36\x37\x2c\x30\x2e\x39\x38\x34\x36\x39\x20\x31\x2e\x31\x38\
+\x39\x39\x33\x2c\x30\x2e\x37\x36\x38\x39\x39\x20\x30\x2e\x39\x38\
+\x33\x32\x32\x2c\x30\x2e\x39\x37\x35\x33\x36\x20\x2d\x31\x2c\x30\
+\x2e\x39\x39\x38\x33\x34\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x2e\
+\x30\x31\x35\x39\x20\x2d\x33\x2e\x34\x38\x32\x30\x31\x2c\x30\x2e\
+\x32\x39\x32\x33\x34\x20\x2d\x34\x2e\x36\x38\x32\x32\x35\x2c\x30\
+\x2e\x36\x31\x34\x32\x33\x20\x2d\x31\x2e\x38\x32\x35\x39\x35\x2c\
+\x30\x2e\x34\x38\x39\x37\x20\x2d\x32\x2e\x30\x39\x34\x30\x34\x2c\
+\x30\x2e\x32\x34\x37\x39\x38\x20\x2d\x31\x2e\x36\x34\x32\x30\x33\
+\x2c\x2d\x31\x2e\x34\x38\x30\x35\x34\x20\x7a\x20\x4d\x20\x31\x33\
+\x36\x2e\x37\x35\x2c\x31\x33\x37\x2e\x33\x33\x37\x37\x32\x20\x63\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x20\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x30\x39\x33\x37\x34\x20\x31\
+\x2e\x32\x35\x2c\x2d\x31\x2e\x38\x31\x34\x30\x36\x20\x30\x2c\x2d\
+\x31\x2e\x33\x37\x38\x33\x32\x20\x32\x2e\x39\x31\x33\x32\x34\x2c\
+\x2d\x32\x2e\x39\x34\x33\x37\x35\x20\x33\x2e\x38\x30\x39\x37\x39\
+\x2c\x2d\x32\x2e\x30\x34\x37\x32\x20\x30\x2e\x32\x38\x37\x39\x35\
+\x2c\x30\x2e\x32\x38\x37\x39\x35\x20\x2d\x30\x2e\x30\x30\x31\x2c\
+\x30\x2e\x35\x32\x33\x35\x34\x20\x2d\x30\x2e\x36\x34\x33\x31\x32\
+\x2c\x30\x2e\x35\x32\x33\x35\x34\x20\x2d\x30\x2e\x36\x34\x31\x36\
+\x37\x2c\x30\x20\x2d\x31\x2e\x31\x31\x33\x33\x38\x2c\x30\x2e\x33\
+\x33\x37\x35\x20\x2d\x31\x2e\x30\x34\x38\x32\x35\x2c\x30\x2e\x37\
+\x35\x20\x30\x2e\x33\x35\x39\x36\x38\x2c\x32\x2e\x32\x37\x37\x39\
+\x39\x20\x2d\x30\x2e\x33\x35\x39\x39\x37\x2c\x33\x2e\x32\x34\x31\
+\x35\x32\x20\x2d\x32\x2e\x33\x36\x38\x34\x32\x2c\x33\x2e\x31\x37\
+\x31\x30\x35\x20\x2d\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x30\
+\x34\x33\x34\x20\x2d\x31\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x33\
+\x30\x35\x39\x32\x20\x2d\x31\x2c\x2d\x30\x2e\x35\x38\x33\x33\x33\
+\x20\x7a\x20\x6d\x20\x31\x35\x2e\x36\x37\x38\x35\x37\x2c\x2d\x33\
+\x2e\x32\x36\x34\x33\x20\x63\x20\x30\x2c\x2d\x31\x2e\x30\x35\x39\
+\x36\x32\x20\x30\x2e\x33\x35\x33\x35\x37\x2c\x2d\x31\x2e\x37\x30\
+\x38\x30\x36\x20\x30\x2e\x37\x38\x35\x37\x32\x2c\x2d\x31\x2e\x34\
+\x34\x30\x39\x38\x20\x30\x2e\x34\x33\x32\x31\x34\x2c\x30\x2e\x32\
+\x36\x37\x30\x37\x20\x30\x2e\x37\x38\x35\x37\x31\x2c\x31\x2e\x31\
+\x33\x34\x30\x34\x20\x30\x2e\x37\x38\x35\x37\x31\x2c\x31\x2e\x39\
+\x32\x36\x35\x38\x20\x30\x2c\x30\x2e\x37\x39\x32\x35\x34\x20\x2d\
+\x30\x2e\x33\x35\x33\x35\x37\x2c\x31\x2e\x34\x34\x30\x39\x38\x20\
+\x2d\x30\x2e\x37\x38\x35\x37\x31\x2c\x31\x2e\x34\x34\x30\x39\x38\
+\x20\x2d\x30\x2e\x34\x33\x32\x31\x35\x2c\x30\x20\x2d\x30\x2e\x37\
+\x38\x35\x37\x32\x2c\x2d\x30\x2e\x38\x36\x36\x39\x36\x20\x2d\x30\
+\x2e\x37\x38\x35\x37\x32\x2c\x2d\x31\x2e\x39\x32\x36\x35\x38\x20\
+\x7a\x20\x6d\x20\x2d\x34\x35\x2e\x32\x31\x39\x32\x38\x2c\x2d\x31\
+\x2e\x36\x33\x33\x34\x33\x20\x63\x20\x30\x2e\x36\x32\x37\x31\x36\
+\x2c\x2d\x31\x2e\x33\x37\x36\x34\x35\x20\x32\x2e\x32\x33\x38\x30\
+\x35\x2c\x2d\x32\x2e\x34\x36\x39\x35\x33\x20\x34\x2e\x31\x35\x37\
+\x33\x31\x2c\x2d\x32\x2e\x38\x32\x30\x39\x35\x20\x34\x2e\x37\x38\
+\x39\x36\x33\x2c\x2d\x30\x2e\x38\x37\x36\x39\x38\x20\x31\x35\x2e\
+\x36\x33\x35\x35\x2c\x2d\x31\x2e\x32\x30\x31\x39\x31\x20\x31\x35\
+\x2e\x36\x33\x34\x33\x39\x2c\x2d\x30\x2e\x34\x36\x38\x33\x38\x20\
+\x2d\x35\x2e\x34\x65\x2d\x34\x2c\x30\x2e\x33\x35\x37\x38\x36\x20\
+\x31\x2e\x36\x38\x36\x35\x31\x2c\x31\x2e\x30\x39\x38\x38\x36\x20\
+\x33\x2e\x37\x34\x39\x30\x31\x2c\x31\x2e\x36\x34\x36\x36\x35\x20\
+\x6c\x20\x33\x2e\x37\x35\x2c\x30\x2e\x39\x39\x35\x39\x39\x20\x2d\
+\x34\x2e\x30\x35\x2c\x30\x2e\x31\x30\x33\x33\x35\x20\x63\x20\x2d\
+\x32\x2e\x32\x32\x37\x35\x2c\x30\x2e\x30\x35\x36\x38\x20\x2d\x34\
+\x2e\x35\x33\x39\x32\x31\x2c\x2d\x30\x2e\x33\x38\x35\x38\x36\x20\
+\x2d\x35\x2e\x31\x33\x37\x31\x33\x2c\x2d\x30\x2e\x39\x38\x33\x37\
+\x38\x20\x2d\x30\x2e\x37\x38\x32\x38\x35\x2c\x2d\x30\x2e\x37\x38\
+\x32\x38\x35\x20\x2d\x31\x2e\x32\x37\x35\x36\x36\x2c\x2d\x30\x2e\
+\x37\x38\x32\x30\x39\x20\x2d\x31\x2e\x37\x36\x30\x36\x39\x2c\x30\
+\x2e\x30\x30\x33\x20\x2d\x30\x2e\x34\x33\x31\x36\x2c\x30\x2e\x36\
+\x39\x38\x33\x34\x20\x2d\x31\x2e\x32\x38\x31\x35\x38\x2c\x30\x2e\
+\x37\x36\x34\x34\x33\x20\x2d\x32\x2e\x33\x36\x36\x31\x34\x2c\x30\
+\x2e\x31\x38\x33\x39\x39\x20\x2d\x30\x2e\x39\x33\x30\x39\x33\x2c\
+\x2d\x30\x2e\x34\x39\x38\x32\x31\x20\x2d\x33\x2e\x32\x36\x36\x31\
+\x32\x2c\x2d\x30\x2e\x37\x35\x33\x31\x35\x20\x2d\x35\x2e\x31\x38\
+\x39\x33\x32\x2c\x2d\x30\x2e\x35\x36\x36\x35\x34\x20\x2d\x31\x2e\
+\x39\x32\x33\x31\x39\x2c\x30\x2e\x31\x38\x36\x36\x32\x20\x2d\x33\
+\x2e\x38\x33\x34\x32\x32\x2c\x30\x2e\x33\x36\x38\x30\x33\x20\x2d\
+\x34\x2e\x32\x34\x36\x37\x32\x2c\x30\x2e\x34\x30\x33\x31\x34\x20\
+\x2d\x30\x2e\x34\x31\x32\x35\x2c\x30\x2e\x30\x33\x35\x31\x20\x2d\
+\x30\x2e\x37\x35\x2c\x30\x2e\x36\x38\x36\x33\x38\x20\x2d\x30\x2e\
+\x37\x35\x2c\x31\x2e\x34\x34\x37\x32\x36\x20\x30\x2c\x30\x2e\x37\
+\x36\x30\x38\x39\x20\x2d\x31\x2e\x30\x38\x33\x32\x39\x2c\x31\x2e\
+\x35\x39\x30\x35\x31\x20\x2d\x32\x2e\x34\x30\x37\x33\x2c\x31\x2e\
+\x38\x34\x33\x36\x31\x20\x2d\x32\x2e\x31\x37\x39\x34\x36\x2c\x30\
+\x2e\x34\x31\x36\x36\x33\x20\x2d\x32\x2e\x33\x31\x30\x34\x2c\x30\
+\x2e\x32\x34\x37\x34\x39\x20\x2d\x31\x2e\x33\x38\x33\x34\x31\x2c\
+\x2d\x31\x2e\x37\x38\x37\x30\x34\x20\x7a\x20\x6d\x20\x32\x33\x2e\
+\x36\x30\x33\x32\x31\x2c\x31\x2e\x38\x37\x36\x39\x20\x63\x20\x30\
+\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\
+\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\
+\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\
+\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\
+\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\
+\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\
+\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\
+\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\
+\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\
+\x34\x31\x36\x20\x7a\x20\x4d\x20\x31\x33\x37\x2c\x31\x33\x31\x2e\
+\x31\x37\x33\x31\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x34\x35\x34\
+\x37\x34\x20\x31\x2e\x33\x35\x2c\x2d\x30\x2e\x36\x32\x38\x36\x37\
+\x20\x33\x2c\x2d\x30\x2e\x33\x38\x36\x35\x20\x31\x2e\x36\x35\x2c\
+\x30\x2e\x32\x34\x32\x31\x37\x20\x33\x2c\x30\x2e\x36\x31\x34\x32\
+\x33\x20\x33\x2c\x30\x2e\x38\x32\x36\x38\x31\x20\x30\x2c\x30\x2e\
+\x32\x31\x32\x35\x37\x20\x2d\x31\x2e\x33\x35\x2c\x30\x2e\x33\x38\
+\x36\x35\x20\x2d\x33\x2c\x30\x2e\x33\x38\x36\x35\x20\x2d\x31\x2e\
+\x36\x35\x2c\x30\x20\x2d\x33\x2c\x2d\x30\x2e\x33\x37\x32\x30\x36\
+\x20\x2d\x33\x2c\x2d\x30\x2e\x38\x32\x36\x38\x31\x20\x7a\x20\x6d\
+\x20\x2d\x33\x39\x2e\x36\x30\x36\x32\x30\x31\x2c\x2d\x35\x2e\x31\
+\x37\x32\x34\x32\x20\x63\x20\x30\x2e\x30\x39\x38\x33\x33\x2c\x2d\
+\x32\x2e\x37\x36\x36\x38\x33\x20\x30\x2e\x33\x34\x39\x33\x34\x38\
+\x2c\x2d\x32\x2e\x39\x36\x31\x35\x36\x20\x33\x2e\x33\x38\x38\x35\
+\x38\x31\x2c\x2d\x32\x2e\x36\x32\x38\x37\x36\x20\x31\x2e\x38\x30\
+\x35\x33\x31\x2c\x30\x2e\x31\x39\x37\x36\x38\x20\x33\x2e\x36\x30\
+\x35\x33\x31\x2c\x30\x2e\x37\x31\x36\x35\x34\x20\x34\x2c\x31\x2e\
+\x31\x35\x33\x30\x33\x20\x30\x2e\x33\x39\x34\x36\x39\x2c\x30\x2e\
+\x34\x33\x36\x34\x39\x20\x2d\x30\x2e\x30\x36\x39\x39\x2c\x30\x2e\
+\x35\x31\x31\x30\x34\x20\x2d\x31\x2e\x30\x33\x32\x33\x38\x2c\x30\
+\x2e\x31\x36\x35\x36\x37\x20\x2d\x31\x2e\x31\x37\x37\x2c\x2d\x30\
+\x2e\x34\x32\x32\x33\x33\x20\x2d\x31\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x31\x32\x37\x37\x35\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x38\x39\
+\x39\x36\x39\x20\x30\x2c\x30\x2e\x38\x39\x37\x39\x33\x20\x2d\x30\
+\x2e\x34\x37\x34\x37\x35\x2c\x31\x2e\x32\x33\x34\x32\x33\x20\x2d\
+\x31\x2e\x31\x35\x31\x37\x2c\x30\x2e\x38\x31\x35\x38\x34\x20\x2d\
+\x30\x2e\x36\x33\x33\x34\x34\x2c\x2d\x30\x2e\x33\x39\x31\x34\x38\
+\x20\x2d\x31\x2e\x36\x39\x33\x37\x33\x32\x2c\x30\x2e\x30\x32\x39\
+\x35\x20\x2d\x32\x2e\x33\x35\x36\x32\x30\x35\x2c\x30\x2e\x39\x33\
+\x35\x34\x36\x20\x2d\x31\x2e\x30\x33\x34\x2c\x31\x2e\x34\x31\x34\
+\x30\x38\x20\x2d\x31\x2e\x31\x38\x39\x34\x36\x34\x2c\x31\x2e\x32\
+\x32\x34\x32\x37\x20\x2d\x31\x2e\x30\x39\x38\x32\x39\x36\x2c\x2d\
+\x31\x2e\x33\x34\x30\x39\x33\x20\x7a\x20\x4d\x20\x31\x30\x37\x2e\
+\x37\x35\x2c\x31\x32\x36\x2e\x33\x33\x37\x37\x32\x20\x63\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\
+\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\
+\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\
+\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\
+\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\
+\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\
+\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\x31\x34\x2e\
+\x38\x34\x31\x30\x35\x2c\x2d\x32\x2e\x31\x39\x30\x34\x20\x63\x20\
+\x2d\x30\x2e\x32\x38\x39\x38\x34\x2c\x2d\x30\x2e\x34\x36\x38\x39\
+\x37\x20\x30\x2e\x30\x34\x32\x35\x2c\x2d\x31\x2e\x36\x33\x31\x34\
+\x36\x20\x30\x2e\x37\x33\x38\x34\x38\x2c\x2d\x32\x2e\x35\x38\x33\
+\x33\x20\x30\x2e\x39\x39\x32\x31\x34\x2c\x2d\x31\x2e\x33\x35\x36\
+\x38\x34\x20\x32\x2e\x30\x36\x35\x31\x34\x2c\x2d\x31\x2e\x35\x38\
+\x30\x36\x31\x20\x34\x2e\x39\x36\x37\x39\x37\x2c\x2d\x31\x2e\x30\
+\x33\x36\x30\x33\x20\x34\x2e\x33\x39\x36\x39\x32\x2c\x30\x2e\x38\
+\x32\x34\x38\x37\x20\x34\x2e\x36\x31\x37\x37\x35\x2c\x31\x2e\x35\
+\x33\x39\x37\x31\x20\x30\x2e\x39\x39\x35\x33\x33\x2c\x33\x2e\x32\
+\x32\x32\x30\x31\x20\x2d\x33\x2e\x31\x32\x31\x37\x35\x2c\x31\x2e\
+\x34\x34\x39\x37\x39\x20\x2d\x35\x2e\x39\x34\x37\x37\x37\x2c\x31\
+\x2e\x36\x31\x37\x33\x33\x20\x2d\x36\x2e\x37\x30\x31\x37\x38\x2c\
+\x30\x2e\x33\x39\x37\x33\x32\x20\x7a\x20\x4d\x20\x31\x33\x37\x2e\
+\x35\x2c\x31\x32\x33\x20\x63\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\
+\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x34\x31\x34\x38\x2c\
+\x2d\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\x20\x31\x2e\
+\x34\x38\x33\x30\x32\x2c\x30\x20\x31\x2e\x33\x32\x37\x30\x39\x2c\
+\x2d\x32\x2e\x37\x32\x35\x31\x37\x20\x2d\x30\x2e\x31\x39\x30\x39\
+\x38\x2c\x2d\x33\x2e\x33\x33\x37\x37\x32\x20\x2d\x30\x2e\x36\x38\
+\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x2d\x30\x2e\x33\
+\x35\x2c\x2d\x30\x2e\x35\x34\x36\x38\x20\x30\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x35\x39\x38\x36\x35\x20\x31\x2e\x36\x36\x34\x34\x2c\x2d\
+\x30\x2e\x30\x37\x38\x34\x20\x31\x2e\x37\x34\x38\x33\x2c\x2d\x30\
+\x2e\x32\x35\x36\x39\x31\x20\x30\x2e\x35\x2c\x2d\x31\x2e\x30\x36\
+\x33\x36\x33\x20\x2d\x31\x2e\x30\x39\x38\x35\x31\x2c\x2d\x30\x2e\
+\x37\x30\x39\x39\x31\x20\x2d\x30\x2e\x33\x36\x32\x34\x36\x2c\x2d\
+\x30\x2e\x39\x37\x33\x34\x37\x20\x32\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x39\x38\x34\x36\x39\x20\x32\x2e\x33\x33\x37\x35\x2c\x2d\x30\x2e\
+\x30\x30\x38\x20\x34\x2e\x32\x35\x2c\x30\x2e\x33\x39\x32\x35\x36\
+\x20\x34\x2e\x32\x35\x2c\x30\x2e\x38\x39\x31\x30\x37\x20\x30\x2c\
+\x30\x2e\x34\x39\x38\x35\x31\x20\x2d\x30\x2e\x39\x30\x30\x39\x33\
+\x2c\x30\x2e\x36\x37\x30\x37\x38\x20\x2d\x32\x2e\x30\x30\x32\x30\
+\x37\x2c\x30\x2e\x33\x38\x32\x38\x33\x20\x2d\x31\x2e\x35\x37\x31\
+\x36\x35\x2c\x2d\x30\x2e\x34\x31\x31\x20\x2d\x32\x2e\x33\x32\x36\
+\x39\x39\x2c\x30\x2e\x32\x35\x34\x30\x38\x20\x2d\x33\x2e\x35\x31\
+\x33\x34\x32\x2c\x33\x2e\x30\x39\x33\x36\x32\x20\x2d\x31\x2e\x36\
+\x30\x39\x2c\x33\x2e\x38\x35\x30\x38\x39\x20\x2d\x32\x2e\x30\x30\
+\x36\x35\x37\x2c\x34\x2e\x31\x39\x39\x35\x32\x20\x2d\x32\x2e\x39\
+\x38\x34\x35\x31\x2c\x32\x2e\x36\x31\x37\x31\x37\x20\x7a\x20\x6d\
+\x20\x2d\x33\x30\x2e\x39\x31\x34\x36\x38\x2c\x2d\x35\x2e\x38\x37\
+\x30\x35\x36\x20\x63\x20\x31\x2e\x30\x37\x30\x31\x34\x2c\x2d\x32\
+\x2e\x31\x34\x35\x31\x36\x20\x32\x2e\x33\x37\x37\x34\x38\x2c\x2d\
+\x33\x2e\x30\x32\x36\x38\x35\x20\x35\x2e\x31\x37\x33\x33\x35\x2c\
+\x2d\x33\x2e\x34\x38\x39\x20\x36\x2e\x35\x34\x39\x31\x35\x2c\x2d\
+\x31\x2e\x30\x38\x32\x35\x35\x20\x31\x31\x2e\x32\x32\x36\x32\x2c\
+\x2d\x30\x2e\x36\x39\x34\x34\x33\x20\x31\x35\x2e\x32\x38\x39\x36\
+\x34\x2c\x31\x2e\x32\x36\x38\x38\x31\x20\x32\x2e\x31\x37\x33\x34\
+\x33\x2c\x31\x2e\x30\x35\x30\x30\x39\x20\x33\x2e\x39\x35\x31\x36\
+\x39\x2c\x31\x2e\x34\x37\x33\x35\x33\x20\x33\x2e\x39\x35\x31\x36\
+\x39\x2c\x30\x2e\x39\x34\x30\x39\x38\x20\x30\x2c\x2d\x30\x2e\x35\
+\x33\x32\x35\x34\x20\x30\x2e\x34\x35\x37\x33\x34\x2c\x2d\x30\x2e\
+\x36\x38\x35\x36\x31\x20\x31\x2e\x30\x31\x36\x33\x31\x2c\x2d\x30\
+\x2e\x33\x34\x30\x31\x35\x20\x30\x2e\x35\x35\x38\x39\x37\x2c\x30\
+\x2e\x33\x34\x35\x34\x36\x20\x30\x2e\x37\x33\x30\x38\x32\x2c\x31\
+\x2e\x30\x39\x30\x30\x35\x20\x30\x2e\x33\x38\x31\x38\x39\x2c\x31\
+\x2e\x36\x35\x34\x36\x34\x20\x2d\x30\x2e\x37\x32\x35\x31\x38\x2c\
+\x31\x2e\x31\x37\x33\x33\x36\x20\x2d\x34\x2e\x35\x38\x34\x36\x32\
+\x2c\x30\x2e\x37\x32\x39\x34\x37\x20\x2d\x31\x32\x2e\x31\x35\x34\
+\x39\x39\x2c\x2d\x31\x2e\x33\x39\x37\x39\x38\x20\x2d\x34\x2e\x32\
+\x32\x35\x31\x38\x2c\x2d\x31\x2e\x31\x38\x37\x33\x38\x20\x2d\x35\
+\x2e\x35\x39\x30\x36\x37\x2c\x2d\x31\x2e\x32\x33\x33\x31\x36\x20\
+\x2d\x36\x2e\x39\x35\x38\x31\x31\x2c\x2d\x30\x2e\x32\x33\x33\x32\
+\x36\x20\x2d\x30\x2e\x39\x33\x35\x37\x32\x2c\x30\x2e\x36\x38\x34\
+\x32\x32\x20\x2d\x32\x2e\x32\x38\x32\x36\x37\x2c\x31\x2e\x30\x32\
+\x30\x39\x35\x20\x2d\x32\x2e\x39\x39\x33\x32\x31\x2c\x30\x2e\x37\
+\x34\x38\x32\x39\x20\x43\x20\x31\x30\x39\x2e\x35\x38\x31\x33\x35\
+\x2c\x31\x31\x36\x2e\x30\x30\x39\x31\x31\x20\x31\x30\x39\x2c\x31\
+\x31\x36\x2e\x34\x36\x31\x30\x32\x20\x31\x30\x39\x2c\x31\x31\x37\
+\x2e\x32\x38\x36\x30\x32\x20\x31\x30\x39\x2c\x31\x31\x38\x2e\x35\
+\x30\x37\x39\x32\x20\x31\x30\x37\x2e\x30\x37\x32\x39\x36\x2c\x31\
+\x32\x30\x20\x31\x30\x35\x2e\x34\x39\x34\x38\x36\x2c\x31\x32\x30\
+\x20\x63\x20\x2d\x30\x2e\x31\x38\x37\x38\x37\x2c\x30\x20\x30\x2e\
+\x33\x30\x32\x38\x34\x2c\x2d\x31\x2e\x32\x39\x31\x37\x35\x20\x31\
+\x2e\x30\x39\x30\x34\x36\x2c\x2d\x32\x2e\x38\x37\x30\x35\x36\x20\
+\x7a\x20\x6d\x20\x32\x34\x2e\x31\x36\x34\x36\x38\x2c\x32\x2e\x32\
+\x30\x38\x32\x38\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\
+\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\
+\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\
+\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\
+\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\
+\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\
+\x20\x7a\x20\x6d\x20\x32\x31\x2e\x37\x30\x33\x32\x33\x2c\x2d\x30\
+\x2e\x32\x36\x32\x30\x34\x20\x63\x20\x30\x2e\x33\x31\x34\x31\x39\
+\x2c\x2d\x30\x2e\x35\x30\x38\x33\x37\x20\x2d\x30\x2e\x31\x31\x38\
+\x30\x37\x2c\x2d\x31\x2e\x31\x33\x37\x35\x37\x20\x2d\x30\x2e\x39\
+\x36\x30\x35\x39\x2c\x2d\x31\x2e\x33\x39\x38\x32\x31\x20\x2d\x31\
+\x2e\x31\x38\x34\x39\x31\x2c\x2d\x30\x2e\x33\x36\x36\x35\x36\x20\
+\x2d\x31\x2e\x31\x34\x39\x38\x33\x2c\x2d\x30\x2e\x34\x34\x30\x33\
+\x33\x20\x30\x2e\x31\x35\x34\x38\x39\x2c\x2d\x30\x2e\x33\x32\x35\
+\x36\x38\x20\x31\x2e\x38\x38\x33\x32\x2c\x30\x2e\x31\x36\x35\x34\
+\x37\x20\x33\x2e\x31\x37\x33\x39\x36\x2c\x32\x2e\x36\x34\x38\x32\
+\x31\x20\x31\x2e\x33\x37\x36\x37\x39\x2c\x32\x2e\x36\x34\x38\x32\
+\x31\x20\x2d\x30\x2e\x36\x32\x38\x33\x2c\x30\x20\x2d\x30\x2e\x38\
+\x38\x35\x32\x39\x2c\x2d\x30\x2e\x34\x31\x35\x39\x34\x20\x2d\x30\
+\x2e\x35\x37\x31\x30\x39\x2c\x2d\x30\x2e\x39\x32\x34\x33\x32\x20\
+\x7a\x20\x6d\x20\x2d\x35\x33\x2e\x36\x36\x39\x33\x36\x2c\x2d\x37\
+\x2e\x39\x32\x30\x39\x34\x20\x63\x20\x30\x2e\x37\x35\x39\x37\x30\
+\x32\x2c\x2d\x30\x2e\x34\x38\x32\x30\x35\x20\x31\x2e\x30\x30\x30\
+\x33\x36\x36\x2c\x2d\x31\x2e\x35\x35\x33\x34\x34\x20\x30\x2e\x35\
+\x38\x39\x34\x36\x39\x2c\x2d\x32\x2e\x36\x32\x34\x32\x32\x20\x2d\
+\x30\x2e\x35\x38\x34\x34\x35\x34\x2c\x2d\x31\x2e\x35\x32\x33\x30\
+\x36\x20\x2d\x30\x2e\x34\x30\x33\x37\x39\x36\x2c\x2d\x31\x2e\x36\
+\x34\x36\x39\x34\x20\x31\x2e\x31\x34\x31\x30\x30\x31\x2c\x2d\x30\
+\x2e\x37\x38\x32\x34\x33\x20\x32\x2e\x39\x36\x36\x33\x36\x2c\x31\
+\x2e\x36\x36\x30\x30\x35\x20\x32\x2e\x37\x35\x30\x33\x2c\x34\x2e\
+\x32\x35\x34\x34\x35\x20\x2d\x30\x2e\x33\x35\x32\x38\x32\x2c\x34\
+\x2e\x32\x33\x36\x36\x20\x2d\x31\x2e\x37\x35\x38\x33\x31\x36\x2c\
+\x2d\x30\x2e\x30\x31\x30\x31\x20\x2d\x32\x2e\x32\x32\x35\x38\x33\
+\x2c\x2d\x30\x2e\x32\x39\x31\x37\x37\x20\x2d\x31\x2e\x33\x37\x37\
+\x36\x35\x2c\x2d\x30\x2e\x38\x32\x39\x39\x35\x20\x7a\x20\x6d\x20\
+\x36\x2e\x39\x36\x36\x31\x33\x2c\x30\x2e\x31\x38\x32\x39\x38\x20\
+\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\
+\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\
+\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\x30\
+\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\x35\
+\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\
+\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\
+\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\x2e\
+\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\x20\
+\x31\x31\x2c\x2d\x31\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\
+\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\
+\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\
+\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\
+\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\
+\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\
+\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\
+\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\
+\x39\x20\x7a\x20\x6d\x20\x37\x2e\x30\x31\x35\x38\x36\x2c\x2d\x32\
+\x2e\x38\x39\x33\x32\x33\x20\x63\x20\x30\x2e\x34\x32\x36\x32\x32\
+\x2c\x2d\x32\x2e\x32\x32\x39\x36\x34\x20\x30\x2e\x38\x36\x35\x33\
+\x37\x2c\x2d\x32\x2e\x35\x30\x34\x34\x33\x20\x33\x2e\x31\x31\x35\
+\x31\x35\x2c\x2d\x31\x2e\x39\x34\x39\x32\x35\x20\x32\x2e\x36\x38\
+\x34\x38\x33\x2c\x30\x2e\x36\x36\x32\x35\x33\x20\x34\x2e\x38\x32\
+\x35\x30\x38\x2c\x32\x2e\x31\x37\x30\x36\x34\x20\x34\x2e\x30\x35\
+\x32\x33\x32\x2c\x32\x2e\x38\x35\x35\x34\x33\x20\x2d\x30\x2e\x32\
+\x33\x38\x33\x33\x2c\x30\x2e\x32\x31\x31\x32\x31\x20\x2d\x32\x2e\
+\x30\x36\x30\x31\x35\x2c\x30\x2e\x36\x37\x37\x37\x31\x20\x2d\x34\
+\x2e\x30\x34\x38\x34\x38\x2c\x31\x2e\x30\x33\x36\x36\x39\x20\x2d\
+\x33\x2e\x34\x37\x33\x36\x2c\x30\x2e\x36\x32\x37\x31\x31\x20\x2d\
+\x33\x2e\x35\x39\x35\x37\x33\x2c\x30\x2e\x35\x35\x31\x30\x33\x20\
+\x2d\x33\x2e\x31\x31\x38\x39\x39\x2c\x2d\x31\x2e\x39\x34\x32\x38\
+\x37\x20\x7a\x20\x4d\x20\x31\x30\x35\x2c\x31\x30\x34\x2e\x31\x35\
+\x34\x39\x39\x20\x63\x20\x30\x2c\x2d\x31\x2e\x33\x37\x32\x32\x38\
+\x20\x33\x2e\x32\x37\x34\x34\x35\x2c\x2d\x33\x2e\x38\x30\x30\x34\
+\x38\x20\x36\x2e\x35\x2c\x2d\x34\x2e\x38\x32\x30\x31\x34\x38\x20\
+\x33\x2e\x36\x36\x33\x36\x34\x2c\x2d\x31\x2e\x31\x35\x38\x31\x35\
+\x37\x20\x31\x32\x2e\x34\x31\x30\x34\x36\x2c\x2d\x30\x2e\x38\x32\
+\x34\x33\x38\x31\x20\x31\x33\x2e\x37\x35\x39\x39\x32\x2c\x30\x2e\
+\x35\x32\x35\x30\x37\x36\x20\x30\x2e\x35\x34\x31\x30\x38\x2c\x30\
+\x2e\x35\x34\x31\x30\x38\x32\x20\x31\x2e\x36\x30\x33\x39\x36\x2c\
+\x30\x2e\x37\x34\x35\x38\x31\x32\x20\x32\x2e\x33\x36\x31\x39\x34\
+\x2c\x30\x2e\x34\x35\x34\x39\x35\x32\x20\x30\x2e\x37\x35\x37\x39\
+\x37\x2c\x2d\x30\x2e\x32\x39\x30\x38\x37\x20\x31\x2e\x33\x37\x38\
+\x31\x34\x2c\x2d\x30\x2e\x30\x36\x32\x20\x31\x2e\x33\x37\x38\x31\
+\x34\x2c\x30\x2e\x35\x30\x38\x35\x39\x20\x30\x2c\x30\x2e\x35\x37\
+\x30\x35\x39\x20\x31\x2e\x30\x31\x32\x35\x2c\x31\x2e\x32\x31\x30\
+\x32\x33\x20\x32\x2e\x32\x35\x2c\x31\x2e\x34\x32\x31\x34\x32\x20\
+\x31\x2e\x32\x33\x37\x35\x2c\x30\x2e\x32\x31\x31\x32\x20\x2d\x30\
+\x2e\x31\x33\x36\x34\x34\x2c\x30\x2e\x34\x34\x31\x39\x31\x20\x2d\
+\x33\x2e\x30\x35\x33\x32\x2c\x30\x2e\x35\x31\x32\x37\x31\x20\x2d\
+\x33\x2e\x39\x31\x38\x36\x39\x2c\x30\x2e\x30\x39\x35\x31\x20\x2d\
+\x35\x2e\x34\x35\x36\x31\x38\x2c\x2d\x30\x2e\x32\x36\x39\x39\x34\
+\x20\x2d\x35\x2e\x38\x38\x39\x31\x36\x2c\x2d\x31\x2e\x33\x39\x38\
+\x32\x38\x20\x2d\x30\x2e\x34\x37\x35\x30\x39\x2c\x2d\x31\x2e\x32\
+\x33\x38\x30\x36\x20\x2d\x30\x2e\x37\x34\x35\x39\x36\x2c\x2d\x31\
+\x2e\x32\x37\x34\x36\x31\x20\x2d\x31\x2e\x34\x33\x31\x34\x39\x2c\
+\x2d\x30\x2e\x31\x39\x33\x31\x36\x20\x2d\x30\x2e\x36\x31\x35\x30\
+\x32\x2c\x30\x2e\x39\x37\x30\x32\x31\x20\x2d\x30\x2e\x38\x34\x39\
+\x37\x2c\x30\x2e\x39\x39\x38\x34\x20\x2d\x30\x2e\x38\x36\x30\x38\
+\x34\x2c\x30\x2e\x31\x30\x33\x33\x38\x20\x2d\x30\x2e\x30\x31\x30\
+\x33\x2c\x2d\x30\x2e\x38\x32\x38\x35\x20\x2d\x31\x2e\x30\x37\x37\
+\x30\x32\x2c\x2d\x31\x2e\x30\x35\x37\x37\x37\x20\x2d\x33\x2e\x32\
+\x36\x35\x33\x31\x2c\x2d\x30\x2e\x37\x30\x31\x38\x33\x20\x2d\x31\
+\x2e\x37\x38\x37\x35\x2c\x30\x2e\x32\x39\x30\x37\x36\x20\x2d\x34\
+\x2e\x32\x34\x39\x39\x32\x2c\x30\x2e\x35\x31\x33\x30\x35\x20\x2d\
+\x35\x2e\x34\x37\x32\x30\x35\x2c\x30\x2e\x34\x39\x33\x39\x39\x20\
+\x2d\x31\x2e\x32\x32\x32\x31\x33\x2c\x2d\x30\x2e\x30\x31\x39\x31\
+\x20\x2d\x32\x2e\x37\x30\x30\x34\x36\x2c\x30\x2e\x38\x35\x39\x32\
+\x36\x20\x2d\x33\x2e\x32\x38\x35\x31\x38\x2c\x31\x2e\x39\x35\x31\
+\x38\x32\x20\x43\x20\x31\x30\x36\x2e\x39\x32\x36\x39\x36\x2c\x31\
+\x30\x35\x2e\x30\x30\x35\x20\x31\x30\x35\x2c\x31\x30\x35\x2e\x37\
+\x33\x39\x39\x36\x20\x31\x30\x35\x2c\x31\x30\x34\x2e\x31\x35\x34\
+\x39\x39\x20\x7a\x20\x6d\x20\x32\x35\x2e\x32\x36\x39\x30\x33\x2c\
+\x30\x2e\x31\x35\x32\x30\x32\x20\x63\x20\x30\x2e\x39\x37\x32\x39\
+\x37\x2c\x2d\x30\x2e\x32\x35\x33\x35\x34\x20\x32\x2e\x33\x32\x32\
+\x39\x37\x2c\x2d\x30\x2e\x32\x33\x36\x38\x37\x20\x33\x2c\x30\x2e\
+\x30\x33\x37\x20\x30\x2e\x36\x37\x37\x30\x33\x2c\x30\x2e\x32\x37\
+\x33\x39\x33\x20\x2d\x30\x2e\x31\x31\x39\x30\x33\x2c\x30\x2e\x34\
+\x38\x31\x33\x37\x20\x2d\x31\x2e\x37\x36\x39\x30\x33\x2c\x30\x2e\
+\x34\x36\x30\x39\x39\x20\x2d\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x30\
+\x32\x30\x34\x20\x2d\x32\x2e\x32\x30\x33\x39\x34\x2c\x2d\x30\x2e\
+\x32\x34\x34\x35\x20\x2d\x31\x2e\x32\x33\x30\x39\x37\x2c\x2d\x30\
+\x2e\x34\x39\x38\x30\x34\x20\x7a\x20\x6d\x20\x39\x2e\x35\x34\x33\
+\x34\x37\x2c\x2d\x30\x2e\x39\x39\x30\x31\x32\x20\x63\x20\x30\x2e\
+\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\
+\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\
+\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\
+\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x33\x20\x2d\x30\
+\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\
+\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\
+\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x20\x7a\x20\x4d\x20\x31\x34\x34\x2e\x35\x2c\x31\x30\x32\x20\
+\x63\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\
+\x20\x2d\x30\x2e\x31\x34\x31\x34\x38\x2c\x2d\x31\x20\x30\x2e\x34\
+\x34\x30\x39\x38\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\x36\x2c\
+\x30\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x30\x2e\x34\x35\x20\x31\
+\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x30\x2c\x30\x2e\x35\x35\x20\
+\x2d\x30\x2e\x31\x39\x38\x34\x34\x2c\x31\x20\x2d\x30\x2e\x34\x34\
+\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x32\x34\x32\x35\x34\x2c\x30\
+\x20\x2d\x30\x2e\x37\x31\x39\x31\x2c\x2d\x30\x2e\x34\x35\x20\x2d\
+\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x7a\x20\x4d\x20\x39\
+\x38\x2e\x34\x38\x34\x36\x38\x37\x2c\x39\x36\x2e\x39\x37\x35\x32\
+\x32\x33\x20\x63\x20\x2d\x30\x2e\x33\x34\x38\x33\x34\x2c\x2d\x30\
+\x2e\x35\x36\x33\x36\x32\x37\x20\x2d\x30\x2e\x32\x36\x32\x33\x39\
+\x38\x2c\x2d\x30\x2e\x39\x36\x30\x33\x33\x37\x20\x30\x2e\x31\x39\
+\x30\x39\x38\x33\x2c\x2d\x30\x2e\x38\x38\x31\x35\x37\x39\x20\x32\
+\x2e\x35\x33\x32\x37\x2c\x30\x2e\x34\x33\x39\x39\x36\x37\x20\x33\
+\x2e\x35\x38\x39\x32\x36\x2c\x2d\x30\x2e\x33\x31\x34\x39\x30\x35\
+\x20\x31\x2e\x35\x37\x34\x33\x33\x2c\x2d\x31\x2e\x31\x32\x34\x38\
+\x30\x36\x20\x2d\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x34\x39\
+\x37\x34\x31\x34\x20\x2d\x32\x2e\x32\x34\x33\x31\x30\x39\x2c\x2d\
+\x31\x2e\x34\x38\x31\x33\x39\x20\x2d\x32\x2e\x32\x33\x34\x36\x38\
+\x37\x2c\x2d\x32\x2e\x31\x38\x36\x36\x31\x34\x20\x30\x2e\x30\x31\
+\x31\x37\x39\x2c\x2d\x30\x2e\x39\x38\x36\x39\x30\x39\x20\x30\x2e\
+\x32\x31\x33\x33\x31\x31\x2c\x2d\x30\x2e\x39\x36\x39\x37\x34\x32\
+\x20\x30\x2e\x38\x37\x35\x2c\x30\x2e\x30\x37\x34\x35\x34\x20\x30\
+\x2e\x35\x39\x39\x32\x39\x32\x2c\x30\x2e\x39\x34\x35\x38\x30\x36\
+\x20\x31\x2e\x30\x36\x36\x38\x37\x32\x2c\x31\x2e\x30\x32\x31\x35\
+\x33\x20\x31\x2e\x35\x34\x33\x37\x30\x37\x2c\x30\x2e\x32\x35\x20\
+\x30\x2e\x33\x37\x36\x32\x31\x2c\x2d\x30\x2e\x36\x30\x38\x37\x32\
+\x20\x31\x2e\x34\x34\x34\x39\x36\x2c\x2d\x31\x2e\x30\x39\x39\x38\
+\x37\x32\x20\x32\x2e\x33\x37\x35\x2c\x2d\x31\x2e\x30\x39\x31\x34\
+\x35\x20\x31\x2e\x33\x32\x36\x37\x36\x2c\x30\x2e\x30\x31\x32\x30\
+\x31\x20\x31\x2e\x33\x39\x39\x35\x2c\x30\x2e\x32\x30\x30\x30\x31\
+\x33\x20\x30\x2e\x33\x33\x37\x37\x33\x2c\x30\x2e\x38\x37\x32\x38\
+\x32\x36\x20\x2d\x31\x2e\x30\x35\x35\x35\x32\x2c\x30\x2e\x36\x36\
+\x38\x38\x35\x38\x20\x2d\x31\x2e\x31\x30\x32\x37\x38\x2c\x31\x2e\
+\x33\x32\x35\x34\x39\x37\x20\x2d\x30\x2e\x32\x31\x34\x38\x31\x2c\
+\x32\x2e\x39\x38\x34\x36\x38\x37\x20\x43\x20\x31\x30\x33\x2e\x39\
+\x35\x30\x35\x39\x2c\x39\x37\x2e\x37\x37\x36\x31\x38\x38\x20\x31\
+\x30\x33\x2e\x38\x30\x39\x38\x34\x2c\x39\x38\x20\x31\x30\x31\x2e\
+\x35\x39\x34\x32\x2c\x39\x38\x20\x63\x20\x2d\x31\x2e\x33\x36\x31\
+\x38\x39\x2c\x30\x20\x2d\x32\x2e\x37\x36\x31\x31\x37\x32\x2c\x2d\
+\x30\x2e\x34\x36\x31\x31\x34\x39\x20\x2d\x33\x2e\x31\x30\x39\x35\
+\x31\x33\x2c\x2d\x31\x2e\x30\x32\x34\x37\x37\x37\x20\x7a\x20\x6d\
+\x20\x31\x30\x2e\x33\x32\x37\x38\x31\x33\x2c\x30\x2e\x33\x34\x31\
+\x36\x36\x33\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\
+\x2e\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\
+\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\x36\x36\
+\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\x32\x32\
+\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\
+\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\
+\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\
+\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\
+\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\
+\x31\x36\x37\x20\x7a\x20\x6d\x20\x39\x2c\x2d\x31\x20\x63\x20\x30\
+\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x31\
+\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\
+\x34\x34\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\
+\x39\x35\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\
+\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\
+\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\
+\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\
+\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\
+\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\x34\
+\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\x4d\
+\x20\x31\x32\x34\x2e\x31\x36\x32\x31\x38\x2c\x39\x34\x2e\x32\x35\
+\x20\x63\x20\x30\x2e\x31\x35\x38\x33\x35\x2c\x2d\x30\x2e\x39\x36\
+\x32\x35\x20\x2d\x30\x2e\x30\x36\x34\x39\x2c\x2d\x32\x2e\x33\x31\
+\x32\x35\x20\x2d\x30\x2e\x34\x39\x36\x31\x36\x2c\x2d\x33\x20\x2d\
+\x30\x2e\x35\x31\x38\x38\x37\x2c\x2d\x30\x2e\x38\x32\x37\x32\x33\
+\x32\x20\x2d\x30\x2e\x31\x37\x32\x32\x32\x2c\x2d\x31\x2e\x32\x35\
+\x34\x36\x31\x38\x20\x31\x2e\x30\x32\x34\x39\x36\x2c\x2d\x31\x2e\
+\x32\x36\x33\x36\x35\x35\x20\x30\x2e\x39\x39\x34\x39\x36\x2c\x2d\
+\x30\x2e\x30\x30\x37\x35\x20\x32\x2e\x38\x39\x31\x38\x39\x2c\x2d\
+\x30\x2e\x33\x30\x33\x33\x39\x35\x20\x34\x2e\x32\x31\x35\x33\x39\
+\x2c\x2d\x30\x2e\x36\x35\x37\x35\x32\x33\x20\x31\x2e\x35\x39\x30\
+\x32\x39\x2c\x2d\x30\x2e\x34\x32\x35\x35\x31\x20\x32\x2e\x31\x38\
+\x31\x36\x36\x2c\x2d\x30\x2e\x32\x38\x30\x32\x37\x38\x20\x31\x2e\
+\x37\x34\x33\x37\x37\x2c\x30\x2e\x34\x32\x38\x32\x34\x34\x20\x2d\
+\x30\x2e\x33\x36\x34\x34\x33\x2c\x30\x2e\x35\x38\x39\x36\x36\x33\
+\x20\x2d\x30\x2e\x30\x39\x37\x33\x2c\x31\x2e\x33\x30\x30\x30\x32\
+\x32\x20\x30\x2e\x35\x39\x33\x36\x33\x2c\x31\x2e\x35\x37\x38\x35\
+\x37\x36\x20\x30\x2e\x37\x31\x39\x34\x38\x2c\x30\x2e\x32\x39\x30\
+\x30\x36\x36\x20\x30\x2e\x34\x36\x32\x37\x39\x2c\x30\x2e\x35\x34\
+\x30\x31\x39\x35\x20\x2d\x30\x2e\x36\x30\x30\x37\x36\x2c\x30\x2e\
+\x35\x38\x35\x34\x31\x31\x20\x2d\x31\x2e\x31\x37\x35\x36\x39\x2c\
+\x30\x2e\x30\x34\x39\x39\x38\x20\x2d\x31\x2e\x36\x35\x37\x34\x36\
+\x2c\x30\x2e\x35\x39\x38\x39\x30\x35\x20\x2d\x31\x2e\x33\x31\x33\
+\x31\x34\x2c\x31\x2e\x34\x39\x36\x31\x38\x38\x20\x43\x20\x31\x32\
+\x39\x2e\x38\x37\x37\x34\x33\x2c\x39\x34\x2e\x38\x34\x34\x31\x36\
+\x38\x20\x31\x32\x38\x2e\x30\x39\x38\x37\x36\x2c\x39\x36\x20\x31\
+\x32\x35\x2e\x33\x35\x35\x33\x35\x2c\x39\x36\x20\x63\x20\x2d\x30\
+\x2e\x38\x35\x33\x35\x35\x2c\x30\x20\x2d\x31\x2e\x33\x35\x39\x30\
+\x39\x2c\x2d\x30\x2e\x37\x34\x31\x34\x36\x31\x20\x2d\x31\x2e\x31\
+\x39\x33\x31\x37\x2c\x2d\x31\x2e\x37\x35\x20\x7a\x20\x6d\x20\x32\
+\x38\x2e\x34\x38\x38\x34\x38\x2c\x2d\x32\x2e\x37\x31\x37\x39\x37\
+\x35\x20\x63\x20\x2d\x30\x2e\x33\x30\x39\x38\x32\x2c\x2d\x30\x2e\
+\x38\x30\x37\x33\x38\x36\x20\x2d\x30\x2e\x32\x32\x36\x33\x38\x2c\
+\x2d\x31\x2e\x36\x37\x36\x32\x31\x31\x20\x30\x2e\x31\x38\x35\x34\
+\x33\x2c\x2d\x31\x2e\x39\x33\x30\x37\x32\x32\x20\x30\x2e\x34\x31\
+\x31\x38\x31\x2c\x2d\x30\x2e\x32\x35\x34\x35\x31\x31\x20\x30\x2e\
+\x38\x31\x34\x31\x39\x2c\x30\x2e\x34\x30\x36\x30\x37\x38\x20\x30\
+\x2e\x38\x39\x34\x31\x38\x2c\x31\x2e\x34\x36\x37\x39\x37\x35\x20\
+\x30\x2e\x31\x37\x32\x39\x39\x2c\x32\x2e\x32\x39\x36\x35\x36\x35\
+\x20\x2d\x30\x2e\x32\x39\x38\x33\x38\x2c\x32\x2e\x34\x39\x38\x36\
+\x30\x35\x20\x2d\x31\x2e\x30\x37\x39\x36\x31\x2c\x30\x2e\x34\x36\
+\x32\x37\x34\x37\x20\x7a\x20\x4d\x20\x31\x30\x35\x2e\x33\x36\x31\
+\x31\x31\x2c\x38\x38\x2e\x32\x35\x20\x63\x20\x30\x2e\x30\x37\x36\
+\x34\x2c\x2d\x30\x2e\x39\x36\x32\x35\x20\x31\x2e\x32\x36\x33\x38\
+\x39\x2c\x2d\x32\x2e\x31\x32\x33\x30\x31\x34\x20\x32\x2e\x36\x33\
+\x38\x38\x39\x2c\x2d\x32\x2e\x35\x37\x38\x39\x32\x31\x20\x34\x2e\
+\x33\x34\x36\x39\x37\x2c\x2d\x31\x2e\x34\x34\x31\x33\x31\x36\x20\
+\x31\x34\x2e\x39\x35\x30\x35\x35\x2c\x2d\x31\x2e\x39\x35\x37\x30\
+\x31\x31\x20\x31\x36\x2e\x33\x35\x30\x34\x36\x2c\x2d\x30\x2e\x37\
+\x39\x35\x31\x38\x39\x20\x30\x2e\x37\x31\x38\x33\x39\x2c\x30\x2e\
+\x35\x39\x36\x32\x31\x31\x20\x33\x2e\x30\x37\x30\x39\x32\x2c\x31\
+\x2e\x34\x39\x37\x38\x33\x38\x20\x35\x2e\x32\x32\x37\x38\x35\x2c\
+\x32\x2e\x30\x30\x33\x36\x31\x34\x20\x33\x2e\x37\x39\x31\x30\x37\
+\x2c\x30\x2e\x38\x38\x38\x39\x36\x35\x20\x33\x2e\x37\x31\x31\x35\
+\x36\x2c\x30\x2e\x39\x32\x32\x39\x34\x20\x2d\x32\x2e\x33\x38\x37\
+\x33\x33\x2c\x31\x2e\x30\x32\x30\x30\x34\x35\x20\x2d\x33\x2e\x34\
+\x38\x35\x33\x38\x2c\x30\x2e\x30\x35\x35\x34\x39\x20\x2d\x36\x2e\
+\x30\x36\x31\x33\x39\x2c\x2d\x30\x2e\x33\x30\x30\x32\x30\x38\x20\
+\x2d\x35\x2e\x37\x35\x35\x37\x34\x2c\x2d\x30\x2e\x37\x39\x34\x37\
+\x36\x34\x20\x30\x2e\x38\x34\x37\x39\x39\x2c\x2d\x31\x2e\x33\x37\
+\x32\x30\x37\x37\x20\x2d\x32\x2e\x35\x31\x37\x34\x39\x2c\x2d\x32\
+\x2e\x32\x38\x31\x34\x31\x37\x20\x2d\x33\x2e\x39\x37\x32\x39\x36\
+\x2c\x2d\x31\x2e\x30\x37\x33\x34\x38\x20\x2d\x30\x2e\x38\x35\x35\
+\x36\x38\x2c\x30\x2e\x37\x31\x30\x31\x35\x20\x2d\x31\x2e\x34\x39\
+\x32\x36\x2c\x30\x2e\x37\x32\x38\x36\x35\x38\x20\x2d\x31\x2e\x39\
+\x30\x38\x36\x35\x2c\x30\x2e\x30\x35\x35\x34\x36\x20\x2d\x30\x2e\
+\x37\x35\x33\x30\x36\x2c\x2d\x31\x2e\x32\x31\x38\x34\x37\x20\x2d\
+\x34\x2e\x39\x38\x35\x36\x33\x2c\x30\x2e\x32\x30\x32\x33\x37\x36\
+\x20\x2d\x37\x2e\x32\x30\x30\x33\x37\x2c\x32\x2e\x34\x31\x37\x31\
+\x31\x33\x20\x2d\x31\x2e\x39\x39\x30\x36\x2c\x31\x2e\x39\x39\x30\
+\x35\x39\x36\x20\x2d\x33\x2e\x31\x36\x32\x33\x39\x2c\x31\x2e\x38\
+\x39\x31\x31\x37\x20\x2d\x32\x2e\x39\x39\x32\x31\x35\x2c\x2d\x30\
+\x2e\x32\x35\x33\x38\x38\x32\x20\x7a\x20\x6d\x20\x33\x31\x2e\x34\
+\x39\x39\x35\x39\x2c\x30\x2e\x36\x34\x32\x37\x34\x35\x20\x63\x20\
+\x2d\x30\x2e\x39\x32\x35\x31\x33\x2c\x2d\x30\x2e\x35\x38\x36\x31\
+\x34\x37\x20\x2d\x30\x2e\x33\x32\x30\x33\x34\x2c\x2d\x30\x2e\x38\
+\x36\x37\x30\x32\x31\x20\x31\x2e\x38\x38\x39\x33\x2c\x2d\x30\x2e\
+\x38\x37\x37\x34\x33\x32\x20\x31\x2e\x37\x38\x37\x35\x2c\x2d\x30\
+\x2e\x30\x30\x38\x34\x20\x33\x2e\x32\x35\x2c\x30\x2e\x31\x35\x37\
+\x32\x30\x33\x20\x33\x2e\x32\x35\x2c\x30\x2e\x33\x36\x38\x30\x35\
+\x36\x20\x30\x2c\x30\x2e\x39\x30\x39\x32\x39\x32\x20\x2d\x33\x2e\
+\x38\x39\x38\x32\x39\x2c\x31\x2e\x32\x39\x35\x36\x36\x36\x20\x2d\
+\x35\x2e\x31\x33\x39\x33\x2c\x30\x2e\x35\x30\x39\x33\x37\x36\x20\
+\x7a\x20\x6d\x20\x31\x2e\x38\x38\x39\x33\x2c\x2d\x32\x2e\x35\x35\
+\x35\x30\x32\x36\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\
+\x2e\x32\x37\x37\x34\x31\x32\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\
+\x30\x2e\x32\x37\x37\x34\x31\x32\x20\x32\x2e\x35\x2c\x30\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x33\x20\x30\
+\x2e\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\
+\x2e\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\
+\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\
+\x2e\x32\x32\x36\x39\x37\x33\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\
+\x2e\x35\x30\x34\x33\x38\x36\x20\x7a\x20\x6d\x20\x31\x30\x2e\x30\
+\x36\x32\x35\x2c\x2d\x31\x2e\x30\x32\x30\x38\x33\x33\x20\x63\x20\
+\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\
+\x31\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\
+\x33\x34\x34\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\
+\x38\x39\x35\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\
+\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\
+\x35\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\
+\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\
+\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\
+\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\x2e\x36\x30\
+\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\x20\x7a\x20\
+\x4d\x20\x39\x37\x2e\x36\x33\x38\x33\x37\x34\x2c\x38\x32\x2e\x35\
+\x20\x43\x20\x39\x37\x2e\x33\x32\x31\x37\x39\x31\x2c\x38\x31\x2e\
+\x36\x37\x35\x20\x39\x37\x2e\x34\x39\x38\x36\x34\x36\x2c\x38\x31\
+\x20\x39\x38\x2e\x30\x33\x31\x33\x38\x35\x2c\x38\x31\x20\x39\x38\
+\x2e\x35\x36\x34\x31\x32\x33\x2c\x38\x31\x20\x39\x39\x2c\x38\x31\
+\x2e\x34\x32\x30\x31\x31\x20\x39\x39\x2c\x38\x31\x2e\x39\x33\x33\
+\x35\x37\x38\x20\x63\x20\x30\x2c\x30\x2e\x35\x31\x33\x34\x36\x37\
+\x20\x31\x2e\x32\x33\x37\x35\x2c\x31\x2e\x31\x32\x31\x30\x34\x33\
+\x20\x32\x2e\x37\x35\x2c\x31\x2e\x33\x35\x30\x31\x36\x38\x20\x32\
+\x2e\x36\x34\x34\x38\x34\x2c\x30\x2e\x34\x30\x30\x36\x35\x39\x20\
+\x32\x2e\x36\x32\x39\x38\x31\x2c\x30\x2e\x34\x32\x32\x33\x32\x20\
+\x2d\x30\x2e\x33\x39\x33\x30\x31\x2c\x30\x2e\x35\x36\x36\x34\x32\
+\x32\x20\x43\x20\x39\x39\x2e\x33\x37\x38\x36\x32\x39\x2c\x38\x33\
+\x2e\x39\x34\x34\x34\x37\x39\x20\x39\x38\x2e\x30\x30\x30\x36\x38\
+\x36\x2c\x38\x33\x2e\x34\x34\x34\x31\x37\x31\x20\x39\x37\x2e\x36\
+\x33\x38\x33\x37\x34\x2c\x38\x32\x2e\x35\x20\x7a\x20\x4d\x20\x31\
+\x30\x35\x2e\x37\x35\x2c\x38\x33\x2e\x33\x33\x37\x37\x31\x39\x20\
+\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\
+\x31\x32\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\
+\x34\x31\x32\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\
+\x2c\x30\x2e\x32\x37\x37\x34\x31\x33\x20\x30\x2e\x31\x32\x35\x2c\
+\x30\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x32\x35\x2c\x30\
+\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\
+\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\
+\x37\x33\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\
+\x38\x36\x20\x7a\x20\x6d\x20\x2d\x36\x2e\x30\x34\x36\x39\x39\x38\
+\x2c\x2d\x32\x2e\x36\x36\x39\x33\x30\x31\x20\x63\x20\x2d\x30\x2e\
+\x32\x34\x38\x38\x32\x32\x2c\x2d\x30\x2e\x36\x34\x38\x34\x32\x20\
+\x30\x2e\x31\x36\x36\x32\x31\x31\x2c\x2d\x31\x2e\x37\x35\x36\x38\
+\x31\x38\x20\x30\x2e\x39\x32\x32\x32\x39\x38\x2c\x2d\x32\x2e\x34\
+\x36\x33\x31\x30\x38\x20\x31\x2e\x31\x31\x39\x34\x35\x2c\x2d\x31\
+\x2e\x30\x34\x35\x37\x32\x38\x20\x31\x2e\x33\x37\x37\x35\x34\x2c\
+\x2d\x31\x2e\x30\x34\x34\x37\x35\x31\x20\x31\x2e\x33\x39\x30\x30\
+\x31\x2c\x30\x2e\x30\x30\x35\x33\x20\x30\x2e\x30\x31\x30\x38\x2c\
+\x30\x2e\x39\x31\x32\x30\x35\x34\x20\x30\x2e\x32\x39\x39\x30\x32\
+\x2c\x30\x2e\x38\x35\x30\x34\x32\x36\x20\x30\x2e\x39\x38\x34\x36\
+\x39\x2c\x2d\x30\x2e\x32\x31\x30\x35\x37\x33\x20\x30\x2e\x35\x33\
+\x33\x31\x36\x2c\x2d\x30\x2e\x38\x32\x35\x20\x30\x2e\x39\x37\x36\
+\x32\x37\x2c\x2d\x31\x2e\x30\x33\x37\x35\x30\x38\x20\x30\x2e\x39\
+\x38\x34\x36\x39\x2c\x2d\x30\x2e\x34\x37\x32\x32\x34\x31\x20\x30\
+\x2e\x30\x32\x35\x37\x2c\x31\x2e\x37\x32\x33\x37\x31\x35\x20\x2d\
+\x33\x2e\x37\x35\x39\x38\x38\x2c\x34\x2e\x35\x30\x30\x34\x36\x33\
+\x20\x2d\x34\x2e\x32\x38\x31\x36\x38\x38\x2c\x33\x2e\x31\x34\x30\
+\x36\x35\x39\x20\x7a\x20\x4d\x20\x31\x32\x34\x2e\x34\x37\x30\x31\
+\x36\x2c\x37\x39\x2e\x37\x35\x20\x63\x20\x30\x2e\x35\x37\x32\x31\
+\x2c\x2d\x34\x2e\x33\x37\x37\x36\x30\x34\x20\x31\x2e\x36\x37\x37\
+\x33\x31\x2c\x2d\x35\x2e\x37\x35\x20\x34\x2e\x36\x33\x30\x35\x35\
+\x2c\x2d\x35\x2e\x37\x35\x20\x32\x2e\x34\x35\x31\x32\x36\x2c\x30\
+\x20\x32\x2e\x38\x32\x33\x34\x37\x2c\x30\x2e\x33\x33\x39\x34\x32\
+\x34\x20\x32\x2e\x34\x36\x37\x33\x33\x2c\x32\x2e\x32\x35\x20\x2d\
+\x30\x2e\x32\x33\x30\x36\x38\x2c\x31\x2e\x32\x33\x37\x35\x20\x2d\
+\x30\x2e\x34\x35\x32\x38\x36\x2c\x32\x2e\x35\x34\x33\x34\x37\x39\
+\x20\x2d\x30\x2e\x34\x39\x33\x37\x33\x2c\x32\x2e\x39\x30\x32\x31\
+\x37\x35\x20\x43\x20\x31\x33\x31\x2e\x30\x31\x35\x37\x31\x2c\x37\
+\x39\x2e\x36\x36\x36\x34\x35\x37\x20\x31\x32\x35\x2e\x35\x37\x38\
+\x35\x32\x2c\x38\x32\x20\x31\x32\x34\x2e\x34\x33\x38\x38\x33\x2c\
+\x38\x32\x20\x63\x20\x2d\x30\x2e\x31\x34\x34\x34\x39\x2c\x30\x20\
+\x2d\x30\x2e\x31\x33\x30\x34\x2c\x2d\x31\x2e\x30\x31\x32\x35\x20\
+\x30\x2e\x30\x33\x31\x33\x2c\x2d\x32\x2e\x32\x35\x20\x7a\x20\x6d\
+\x20\x31\x32\x2e\x32\x36\x36\x35\x37\x2c\x2d\x31\x2e\x38\x35\x31\
+\x32\x33\x39\x20\x43\x20\x31\x33\x37\x2e\x32\x37\x34\x37\x37\x2c\
+\x37\x35\x2e\x38\x34\x31\x32\x39\x35\x20\x31\x33\x39\x2c\x37\x35\
+\x2e\x32\x37\x32\x38\x32\x38\x20\x31\x33\x39\x2c\x37\x37\x2e\x31\
+\x35\x33\x30\x31\x20\x63\x20\x30\x2c\x30\x2e\x36\x33\x34\x31\x35\
+\x35\x20\x30\x2e\x38\x34\x30\x32\x38\x2c\x30\x2e\x31\x38\x34\x31\
+\x35\x35\x20\x31\x2e\x38\x36\x37\x33\x2c\x2d\x31\x20\x43\x20\x31\
+\x34\x31\x2e\x38\x39\x34\x33\x31\x2c\x37\x34\x2e\x39\x36\x38\x38\
+\x35\x34\x20\x31\x34\x33\x2e\x30\x32\x33\x31\x32\x2c\x37\x34\x20\
+\x31\x34\x33\x2e\x33\x37\x35\x37\x37\x2c\x37\x34\x20\x63\x20\x30\
+\x2e\x35\x33\x37\x34\x38\x2c\x30\x20\x30\x2e\x31\x32\x31\x37\x38\
+\x2c\x30\x2e\x39\x37\x30\x30\x30\x35\x20\x2d\x32\x2e\x30\x39\x33\
+\x30\x32\x2c\x34\x2e\x38\x38\x33\x39\x31\x38\x20\x2d\x30\x2e\x31\
+\x31\x39\x34\x39\x2c\x30\x2e\x32\x31\x31\x31\x35\x36\x20\x2d\x31\
+\x2e\x33\x30\x32\x39\x35\x2c\x30\x2e\x35\x30\x33\x30\x39\x38\x20\
+\x2d\x32\x2e\x36\x32\x39\x39\x31\x2c\x30\x2e\x36\x34\x38\x37\x36\
+\x31\x20\x2d\x31\x2e\x39\x33\x33\x35\x39\x2c\x30\x2e\x32\x31\x32\
+\x32\x35\x35\x20\x2d\x32\x2e\x33\x31\x34\x30\x36\x2c\x2d\x30\x2e\
+\x31\x31\x32\x31\x37\x37\x20\x2d\x31\x2e\x39\x31\x36\x31\x31\x2c\
+\x2d\x31\x2e\x36\x33\x33\x39\x31\x38\x20\x7a\x20\x4d\x20\x31\x35\
+\x33\x2e\x36\x33\x38\x33\x37\x2c\x37\x36\x2e\x35\x20\x43\x20\x31\
+\x35\x33\x2e\x33\x32\x31\x37\x39\x2c\x37\x35\x2e\x36\x37\x35\x20\
+\x31\x35\x33\x2e\x34\x39\x38\x36\x35\x2c\x37\x35\x20\x31\x35\x34\
+\x2e\x30\x33\x31\x33\x38\x2c\x37\x35\x20\x31\x35\x34\x2e\x35\x36\
+\x34\x31\x32\x2c\x37\x35\x20\x31\x35\x35\x2c\x37\x35\x2e\x36\x37\
+\x35\x20\x31\x35\x35\x2c\x37\x36\x2e\x35\x20\x63\x20\x30\x2c\x30\
+\x2e\x38\x32\x35\x20\x2d\x30\x2e\x31\x37\x36\x38\x36\x2c\x31\x2e\
+\x35\x20\x2d\x30\x2e\x33\x39\x33\x30\x31\x2c\x31\x2e\x35\x20\x2d\
+\x30\x2e\x32\x31\x36\x31\x36\x2c\x30\x20\x2d\x30\x2e\x36\x35\x32\
+\x30\x33\x2c\x2d\x30\x2e\x36\x37\x35\x20\x2d\x30\x2e\x39\x36\x38\
+\x36\x32\x2c\x2d\x31\x2e\x35\x20\x7a\x20\x4d\x20\x31\x33\x39\x2c\
+\x37\x34\x2e\x34\x34\x30\x39\x38\x33\x20\x63\x20\x30\x2c\x2d\x30\
+\x2e\x38\x35\x37\x34\x35\x39\x20\x30\x2e\x34\x35\x37\x33\x34\x2c\
+\x2d\x31\x2e\x32\x37\x36\x33\x36\x35\x20\x31\x2e\x30\x31\x36\x33\
+\x31\x2c\x2d\x30\x2e\x39\x33\x30\x39\x30\x32\x20\x30\x2e\x35\x35\
+\x38\x39\x37\x2c\x30\x2e\x33\x34\x35\x34\x36\x34\x20\x30\x2e\x37\
+\x35\x37\x34\x32\x2c\x31\x2e\x30\x34\x37\x30\x32\x31\x20\x30\x2e\
+\x34\x34\x30\x39\x38\x2c\x31\x2e\x35\x35\x39\x30\x31\x37\x20\x43\
+\x20\x31\x33\x39\x2e\x36\x30\x30\x30\x36\x2c\x37\x36\x2e\x34\x35\
+\x36\x31\x34\x32\x20\x31\x33\x39\x2c\x37\x36\x2e\x31\x39\x37\x35\
+\x30\x39\x20\x31\x33\x39\x2c\x37\x34\x2e\x34\x34\x30\x39\x38\x33\
+\x20\x7a\x20\x4d\x20\x31\x30\x34\x2c\x37\x34\x20\x63\x20\x30\x2e\
+\x38\x32\x35\x2c\x2d\x30\x2e\x35\x33\x33\x31\x35\x36\x20\x31\x2e\
+\x30\x35\x2c\x2d\x31\x2e\x30\x30\x34\x37\x38\x39\x20\x30\x2e\x35\
+\x2c\x2d\x31\x2e\x30\x34\x38\x30\x37\x34\x20\x2d\x30\x2e\x35\x35\
+\x2c\x2d\x30\x2e\x30\x34\x33\x32\x38\x20\x30\x2e\x31\x32\x35\x2c\
+\x2d\x30\x2e\x35\x34\x34\x37\x31\x38\x20\x31\x2e\x35\x2c\x2d\x31\
+\x2e\x31\x31\x34\x32\x39\x37\x20\x33\x2e\x33\x37\x37\x35\x31\x2c\
+\x2d\x31\x2e\x33\x39\x39\x30\x39\x38\x20\x31\x37\x2e\x38\x38\x36\
+\x31\x35\x2c\x2d\x32\x2e\x30\x31\x30\x36\x32\x37\x20\x31\x39\x2e\
+\x38\x39\x31\x32\x35\x2c\x2d\x30\x2e\x38\x33\x38\x34\x30\x32\x20\
+\x31\x2e\x31\x32\x30\x35\x32\x2c\x30\x2e\x36\x35\x35\x30\x37\x39\
+\x20\x2d\x30\x2e\x35\x31\x35\x36\x35\x2c\x30\x2e\x39\x36\x34\x37\
+\x38\x37\x20\x2d\x35\x2e\x33\x39\x31\x32\x35\x2c\x31\x2e\x30\x32\
+\x30\x35\x20\x2d\x39\x2e\x32\x37\x33\x37\x35\x2c\x30\x2e\x31\x30\
+\x35\x39\x37\x31\x20\x2d\x31\x31\x2e\x35\x38\x31\x36\x34\x2c\x30\
+\x2e\x33\x39\x39\x32\x36\x20\x2d\x31\x34\x2e\x31\x38\x34\x32\x36\
+\x2c\x31\x2e\x38\x30\x32\x35\x35\x33\x20\x43\x20\x31\x30\x33\x2e\
+\x36\x39\x35\x37\x38\x2c\x37\x35\x2e\x32\x33\x34\x39\x32\x35\x20\
+\x31\x30\x31\x2e\x38\x37\x32\x35\x38\x2c\x37\x35\x2e\x33\x37\x34\
+\x38\x34\x35\x20\x31\x30\x34\x2c\x37\x34\x20\x7a\x20\x6d\x20\x33\
+\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x36\x38\x33\x31\x31\x34\
+\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\
+\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\
+\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\
+\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\
+\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\
+\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\x31\x32\
+\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\
+\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\x2e\x34\
+\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\x20\x2d\x30\
+\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x37\
+\x20\x7a\x20\x4d\x20\x31\x33\x39\x2e\x35\x2c\x37\x32\x20\x6c\x20\
+\x2d\x33\x2c\x2d\x30\x2e\x37\x36\x33\x33\x37\x20\x33\x2c\x2d\x30\
+\x2e\x30\x34\x38\x30\x33\x20\x63\x20\x31\x2e\x36\x35\x2c\x2d\x30\
+\x2e\x30\x32\x36\x34\x32\x20\x33\x2e\x39\x2c\x30\x2e\x33\x33\x38\
+\x37\x31\x34\x20\x35\x2c\x30\x2e\x38\x31\x31\x34\x20\x32\x2c\x30\
+\x2e\x38\x35\x39\x34\x32\x39\x20\x32\x2c\x30\x2e\x38\x35\x39\x34\
+\x32\x39\x20\x30\x2c\x30\x2e\x38\x31\x31\x34\x20\x2d\x31\x2e\x31\
+\x2c\x2d\x30\x2e\x30\x32\x36\x34\x32\x20\x2d\x33\x2e\x33\x35\x2c\
+\x2d\x30\x2e\x33\x39\x31\x35\x34\x36\x20\x2d\x35\x2c\x2d\x30\x2e\
+\x38\x31\x31\x34\x20\x7a\x20\x6d\x20\x36\x2e\x37\x36\x39\x30\x33\
+\x2c\x2d\x31\x2e\x36\x39\x32\x39\x39\x31\x20\x63\x20\x30\x2e\x39\
+\x37\x32\x39\x37\x2c\x2d\x30\x2e\x32\x35\x33\x35\x34\x33\x20\x32\
+\x2e\x33\x32\x32\x39\x37\x2c\x2d\x30\x2e\x32\x33\x36\x38\x36\x39\
+\x20\x33\x2c\x30\x2e\x30\x33\x37\x30\x35\x20\x30\x2e\x36\x37\x37\
+\x30\x33\x2c\x30\x2e\x32\x37\x33\x39\x32\x33\x20\x2d\x30\x2e\x31\
+\x31\x39\x30\x33\x2c\x30\x2e\x34\x38\x31\x33\x36\x38\x20\x2d\x31\
+\x2e\x37\x36\x39\x30\x33\x2c\x30\x2e\x34\x36\x30\x39\x38\x38\x20\
+\x2d\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x30\x32\x30\x33\x38\x20\x2d\
+\x32\x2e\x32\x30\x33\x39\x34\x2c\x2d\x30\x2e\x32\x34\x34\x34\x39\
+\x38\x20\x2d\x31\x2e\x32\x33\x30\x39\x37\x2c\x2d\x30\x2e\x34\x39\
+\x38\x30\x34\x32\x20\x7a\x20\x4d\x20\x39\x38\x2e\x32\x35\x2c\x36\
+\x39\x2e\x33\x31\x30\x36\x37\x34\x20\x63\x20\x30\x2e\x39\x36\x32\
+\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x37\x20\x32\x2e\x35\x33\
+\x37\x35\x2c\x2d\x30\x2e\x32\x35\x31\x35\x32\x37\x20\x33\x2e\x35\
+\x2c\x30\x20\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x32\x35\x31\x35\
+\x32\x38\x20\x30\x2e\x31\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x32\
+\x33\x20\x2d\x31\x2e\x37\x35\x2c\x30\x2e\x34\x35\x37\x33\x32\x33\
+\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\x20\x2d\x32\x2e\x37\x31\x32\
+\x35\x2c\x2d\x30\x2e\x32\x30\x35\x37\x39\x35\x20\x2d\x31\x2e\x37\
+\x35\x2c\x2d\x30\x2e\x34\x35\x37\x33\x32\x33\x20\x7a\x20\x6d\x20\
+\x32\x36\x2e\x35\x2c\x2d\x32\x2e\x30\x33\x38\x39\x37\x38\x20\x63\
+\x20\x31\x2e\x31\x37\x37\x35\x34\x2c\x2d\x30\x2e\x33\x39\x34\x30\
+\x39\x35\x20\x31\x2e\x36\x37\x37\x35\x38\x2c\x2d\x32\x2e\x32\x35\
+\x33\x38\x31\x39\x20\x31\x2e\x33\x33\x36\x34\x33\x2c\x2d\x34\x2e\
+\x39\x37\x30\x33\x37\x20\x2d\x30\x2e\x31\x35\x39\x39\x35\x2c\x2d\
+\x31\x2e\x32\x37\x33\x37\x30\x31\x20\x36\x2e\x35\x37\x37\x32\x38\
+\x2c\x2d\x32\x2e\x39\x37\x30\x39\x34\x39\x20\x37\x2e\x36\x32\x36\
+\x38\x36\x2c\x2d\x31\x2e\x39\x32\x31\x33\x36\x34\x20\x43\x20\x31\
+\x33\x34\x2e\x30\x35\x34\x33\x32\x2c\x36\x30\x2e\x37\x32\x30\x39\
+\x38\x33\x20\x31\x33\x33\x2e\x30\x36\x33\x35\x39\x2c\x36\x31\x20\
+\x31\x33\x31\x2e\x35\x31\x31\x36\x38\x2c\x36\x31\x20\x63\x20\x2d\
+\x32\x2e\x36\x31\x35\x34\x39\x2c\x30\x20\x2d\x32\x2e\x37\x30\x37\
+\x35\x36\x2c\x30\x2e\x31\x32\x37\x38\x36\x35\x20\x2d\x31\x2e\x32\
+\x36\x30\x31\x33\x2c\x31\x2e\x37\x35\x20\x31\x2e\x39\x32\x35\x37\
+\x34\x2c\x32\x2e\x31\x35\x38\x31\x39\x20\x30\x2e\x35\x32\x39\x32\
+\x38\x2c\x33\x2e\x37\x38\x39\x30\x39\x32\x20\x2d\x33\x2e\x38\x33\
+\x35\x31\x37\x2c\x34\x2e\x34\x37\x39\x30\x32\x31\x20\x2d\x31\x2e\
+\x36\x30\x34\x30\x31\x2c\x30\x2e\x32\x35\x33\x35\x36\x20\x2d\x32\
+\x2e\x33\x35\x33\x38\x38\x2c\x30\x2e\x32\x37\x32\x37\x36\x34\x20\
+\x2d\x31\x2e\x36\x36\x36\x33\x38\x2c\x30\x2e\x30\x34\x32\x36\x38\
+\x20\x7a\x20\x6d\x20\x38\x2e\x32\x38\x31\x38\x2c\x2d\x32\x2e\x31\
+\x38\x33\x38\x33\x31\x20\x63\x20\x30\x2e\x30\x31\x37\x35\x2c\x2d\
+\x30\x2e\x33\x32\x33\x33\x32\x36\x20\x30\x2e\x36\x39\x32\x35\x2c\
+\x2d\x31\x2e\x34\x36\x31\x33\x37\x33\x20\x31\x2e\x35\x2c\x2d\x32\
+\x2e\x35\x32\x38\x39\x39\x35\x20\x31\x2e\x34\x35\x33\x33\x36\x2c\
+\x2d\x31\x2e\x39\x32\x31\x35\x30\x36\x20\x31\x2e\x34\x36\x38\x35\
+\x31\x2c\x2d\x31\x2e\x39\x32\x31\x35\x30\x36\x20\x31\x2e\x34\x39\
+\x38\x36\x31\x2c\x30\x20\x30\x2e\x30\x32\x38\x32\x2c\x31\x2e\x37\
+\x39\x37\x38\x36\x34\x20\x30\x2e\x31\x30\x35\x36\x34\x2c\x31\x2e\
+\x38\x31\x31\x39\x37\x31\x20\x31\x2e\x30\x34\x39\x36\x39\x2c\x30\
+\x2e\x31\x39\x31\x31\x33\x20\x30\x2e\x35\x36\x30\x36\x2c\x2d\x30\
+\x2e\x39\x36\x32\x35\x20\x32\x2e\x30\x38\x35\x31\x32\x2c\x2d\x31\
+\x2e\x37\x35\x20\x33\x2e\x33\x38\x37\x38\x2c\x2d\x31\x2e\x37\x35\
+\x20\x33\x2e\x38\x35\x34\x36\x34\x2c\x30\x20\x35\x2e\x35\x33\x32\
+\x31\x2c\x2d\x31\x2e\x30\x36\x38\x34\x35\x37\x20\x35\x2e\x35\x33\
+\x32\x31\x2c\x2d\x33\x2e\x35\x32\x33\x36\x35\x35\x20\x30\x2c\x2d\
+\x31\x2e\x32\x37\x30\x33\x32\x33\x20\x30\x2e\x35\x36\x32\x35\x2c\
+\x2d\x32\x2e\x35\x33\x36\x36\x35\x32\x20\x31\x2e\x32\x35\x2c\x2d\
+\x32\x2e\x38\x31\x34\x30\x36\x34\x20\x31\x2c\x2d\x30\x2e\x34\x30\
+\x33\x35\x30\x39\x20\x31\x2c\x2d\x30\x2e\x35\x32\x30\x31\x37\x36\
+\x20\x30\x2c\x2d\x30\x2e\x35\x38\x33\x33\x33\x34\x20\x2d\x30\x2e\
+\x36\x38\x37\x35\x2c\x2d\x30\x2e\x30\x34\x33\x34\x32\x20\x2d\x31\
+\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x35\x39\x32\x37\x31\x20\x2d\x31\
+\x2e\x32\x35\x2c\x2d\x31\x2e\x31\x34\x36\x33\x33\x35\x20\x30\x2c\
+\x2d\x30\x2e\x36\x32\x36\x37\x39\x33\x20\x30\x2e\x38\x36\x30\x35\
+\x38\x2c\x2d\x30\x2e\x37\x39\x34\x32\x34\x39\x20\x32\x2e\x30\x38\
+\x34\x38\x35\x2c\x2d\x30\x2e\x34\x30\x35\x36\x38\x31\x20\x32\x2e\
+\x30\x32\x37\x38\x38\x2c\x30\x2e\x36\x34\x33\x36\x32\x33\x20\x32\
+\x2e\x30\x33\x38\x34\x2c\x30\x2e\x35\x39\x30\x38\x30\x34\x20\x30\
+\x2e\x33\x38\x34\x39\x39\x2c\x2d\x31\x2e\x39\x33\x32\x36\x31\x32\
+\x20\x2d\x31\x2e\x36\x39\x33\x31\x35\x2c\x2d\x32\x2e\x35\x38\x34\
+\x30\x37\x37\x20\x2d\x31\x2e\x36\x38\x38\x35\x35\x2c\x2d\x32\x2e\
+\x35\x39\x34\x33\x34\x35\x20\x31\x2e\x31\x36\x35\x31\x35\x2c\x2d\
+\x32\x2e\x36\x30\x30\x39\x30\x38\x20\x6c\x20\x32\x2e\x38\x36\x35\
+\x30\x31\x2c\x2d\x30\x2e\x30\x30\x36\x36\x20\x2d\x32\x2e\x38\x32\
+\x30\x32\x33\x2c\x2d\x31\x2e\x38\x35\x39\x34\x37\x32\x20\x63\x20\
+\x2d\x32\x2e\x32\x32\x38\x37\x32\x2c\x2d\x31\x2e\x34\x36\x39\x34\
+\x36\x32\x20\x2d\x32\x2e\x34\x39\x34\x34\x33\x2c\x2d\x31\x2e\x39\
+\x38\x34\x34\x39\x35\x20\x2d\x31\x2e\x32\x36\x36\x38\x36\x2c\x2d\
+\x32\x2e\x34\x35\x35\x35\x35\x36\x20\x31\x2e\x39\x34\x33\x36\x37\
+\x2c\x2d\x30\x2e\x37\x34\x35\x38\x35\x37\x20\x30\x2e\x39\x38\x33\
+\x30\x37\x2c\x2d\x33\x2e\x36\x32\x32\x39\x32\x33\x20\x2d\x31\x2e\
+\x32\x36\x39\x39\x2c\x2d\x33\x2e\x38\x30\x33\x34\x33\x35\x20\x2d\
+\x30\x2e\x39\x30\x33\x36\x35\x2c\x2d\x30\x2e\x30\x37\x32\x34\x20\
+\x2d\x30\x2e\x30\x36\x38\x2c\x2d\x30\x2e\x34\x33\x33\x34\x32\x38\
+\x20\x31\x2e\x38\x35\x36\x39\x39\x2c\x2d\x30\x2e\x38\x30\x32\x32\
+\x37\x39\x20\x33\x2e\x34\x36\x36\x31\x34\x2c\x2d\x30\x2e\x36\x36\
+\x34\x31\x35\x20\x36\x2c\x30\x2e\x32\x35\x33\x35\x32\x36\x20\x36\
+\x2c\x32\x2e\x31\x37\x32\x39\x39\x36\x20\x30\x2c\x30\x2e\x35\x34\
+\x36\x38\x30\x33\x20\x2d\x30\x2e\x39\x33\x35\x35\x35\x2c\x30\x2e\
+\x37\x34\x39\x35\x33\x36\x20\x2d\x32\x2e\x30\x37\x38\x39\x39\x2c\
+\x30\x2e\x34\x35\x30\x35\x31\x39\x20\x2d\x31\x2e\x35\x36\x36\x37\
+\x39\x2c\x2d\x30\x2e\x34\x30\x39\x37\x32\x35\x20\x2d\x31\x2e\x39\
+\x33\x35\x32\x39\x2c\x2d\x30\x2e\x31\x36\x39\x32\x30\x31\x20\x2d\
+\x31\x2e\x34\x39\x35\x37\x34\x2c\x30\x2e\x39\x37\x36\x32\x36\x39\
+\x20\x31\x2e\x37\x30\x38\x34\x39\x2c\x34\x2e\x34\x35\x32\x32\x34\
+\x39\x20\x31\x2e\x37\x36\x32\x39\x2c\x36\x2e\x33\x33\x34\x31\x33\
+\x36\x20\x30\x2e\x31\x38\x33\x31\x34\x2c\x36\x2e\x33\x33\x34\x31\
+\x33\x36\x20\x2d\x31\x2e\x33\x34\x37\x33\x35\x2c\x30\x20\x2d\x31\
+\x2e\x32\x38\x33\x37\x39\x2c\x30\x2e\x33\x32\x34\x36\x32\x31\x20\
+\x30\x2e\x33\x39\x31\x35\x39\x2c\x32\x20\x31\x2e\x31\x2c\x31\x2e\
+\x31\x20\x32\x2e\x30\x30\x36\x31\x34\x2c\x33\x2e\x30\x31\x32\x35\
+\x20\x32\x2e\x30\x31\x33\x36\x35\x2c\x34\x2e\x32\x35\x20\x30\x2e\
+\x30\x30\x38\x2c\x31\x2e\x32\x33\x37\x35\x20\x30\x2e\x32\x38\x30\
+\x33\x37\x2c\x33\x2e\x32\x34\x34\x38\x31\x33\x20\x30\x2e\x36\x30\
+\x36\x33\x36\x2c\x34\x2e\x34\x36\x30\x36\x39\x36\x20\x30\x2e\x35\
+\x33\x39\x2c\x32\x2e\x30\x31\x30\x34\x32\x31\x20\x30\x2e\x33\x33\
+\x33\x39\x33\x2c\x32\x2e\x31\x34\x33\x39\x36\x32\x20\x2d\x32\x2e\
+\x32\x36\x33\x36\x36\x2c\x31\x2e\x34\x37\x34\x30\x36\x34\x20\x2d\
+\x34\x2e\x37\x36\x33\x34\x34\x2c\x2d\x31\x2e\x32\x32\x38\x34\x35\
+\x35\x20\x2d\x38\x2e\x33\x35\x37\x37\x39\x2c\x2d\x30\x2e\x33\x31\
+\x31\x31\x36\x36\x20\x2d\x39\x2e\x33\x38\x36\x38\x39\x2c\x32\x2e\
+\x33\x39\x35\x35\x35\x36\x20\x2d\x30\x2e\x38\x30\x39\x32\x38\x2c\
+\x32\x2e\x31\x32\x38\x35\x37\x34\x20\x2d\x31\x2e\x34\x39\x39\x36\
+\x37\x2c\x32\x2e\x34\x31\x35\x37\x38\x31\x20\x2d\x35\x2e\x34\x34\
+\x38\x30\x39\x2c\x32\x2e\x32\x36\x36\x34\x33\x34\x20\x2d\x32\x2e\
+\x34\x38\x36\x37\x35\x2c\x2d\x30\x2e\x30\x39\x34\x30\x36\x20\x2d\
+\x34\x2e\x35\x30\x37\x30\x36\x2c\x2d\x30\x2e\x34\x33\x35\x35\x35\
+\x39\x20\x2d\x34\x2e\x34\x38\x39\x35\x37\x2c\x2d\x30\x2e\x37\x35\
+\x38\x38\x38\x35\x20\x7a\x20\x4d\x20\x31\x35\x33\x2c\x35\x35\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x2d\x30\x2e\x34\x37\x36\
+\x35\x36\x2c\x2d\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\
+\x31\x20\x2d\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x2d\x30\x2e\
+\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\x2d\x30\x2e\x34\x34\x30\
+\x39\x38\x2c\x31\x20\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\
+\x35\x20\x30\x2e\x38\x31\x36\x34\x38\x2c\x31\x20\x31\x2e\x30\x35\
+\x39\x30\x32\x2c\x31\x20\x43\x20\x31\x35\x32\x2e\x38\x30\x31\x35\
+\x36\x2c\x35\x36\x20\x31\x35\x33\x2c\x35\x35\x2e\x35\x35\x20\x31\
+\x35\x33\x2c\x35\x35\x20\x7a\x20\x4d\x20\x39\x38\x2e\x36\x30\x36\
+\x39\x38\x39\x2c\x35\x38\x2e\x34\x31\x38\x32\x31\x33\x20\x43\x20\
+\x39\x37\x2e\x37\x30\x39\x2c\x35\x36\x2e\x30\x37\x38\x30\x39\x32\
+\x20\x39\x37\x2e\x37\x37\x33\x35\x38\x37\x2c\x35\x36\x20\x31\x30\
+\x30\x2e\x36\x30\x36\x39\x39\x2c\x35\x36\x20\x63\x20\x31\x2e\x39\
+\x36\x36\x33\x39\x2c\x30\x20\x32\x2e\x34\x35\x37\x38\x34\x2c\x30\
+\x2e\x33\x38\x38\x36\x38\x32\x20\x32\x2c\x31\x2e\x35\x38\x31\x37\
+\x38\x37\x20\x2d\x30\x2e\x33\x33\x33\x38\x35\x2c\x30\x2e\x38\x36\
+\x39\x39\x38\x34\x20\x2d\x30\x2e\x36\x30\x36\x39\x39\x2c\x31\x2e\
+\x37\x36\x39\x39\x38\x34\x20\x2d\x30\x2e\x36\x30\x36\x39\x39\x2c\
+\x32\x20\x30\x2c\x31\x2e\x31\x38\x31\x35\x36\x39\x20\x2d\x32\x2e\
+\x38\x37\x30\x38\x39\x32\x2c\x30\x2e\x31\x39\x37\x30\x34\x36\x20\
+\x2d\x33\x2e\x33\x39\x33\x30\x31\x31\x2c\x2d\x31\x2e\x31\x36\x33\
+\x35\x37\x34\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\
+\x3d\x22\x70\x61\x74\x68\x32\x38\x32\x38\x22\x20\x2f\x3e\x0a\x20\
+\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x61\x32\x39\
+\x63\x39\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\
+\x20\x31\x33\x33\x2e\x30\x35\x34\x39\x33\x2c\x32\x31\x30\x2e\x38\
+\x31\x34\x32\x34\x20\x63\x20\x2d\x30\x2e\x35\x31\x30\x34\x39\x2c\
+\x2d\x31\x2e\x32\x37\x32\x38\x33\x20\x2d\x30\x2e\x39\x35\x36\x36\
+\x38\x2c\x2d\x31\x2e\x37\x32\x35\x31\x38\x20\x2d\x30\x2e\x39\x39\
+\x31\x35\x34\x2c\x2d\x31\x2e\x30\x30\x35\x32\x32\x20\x2d\x30\x2e\
+\x30\x33\x34\x39\x2c\x30\x2e\x37\x31\x39\x39\x36\x20\x2d\x30\x2e\
+\x34\x38\x32\x33\x2c\x31\x2e\x30\x35\x30\x31\x32\x20\x2d\x30\x2e\
+\x39\x39\x34\x32\x39\x2c\x30\x2e\x37\x33\x33\x36\x39\x20\x2d\x30\
+\x2e\x35\x31\x32\x2c\x2d\x30\x2e\x33\x31\x36\x34\x34\x20\x2d\x31\
+\x2e\x32\x31\x33\x35\x36\x2c\x2d\x30\x2e\x31\x31\x37\x39\x39\x20\
+\x2d\x31\x2e\x35\x35\x39\x30\x32\x2c\x30\x2e\x34\x34\x30\x39\x38\
+\x20\x2d\x31\x2e\x31\x37\x39\x34\x38\x2c\x31\x2e\x39\x30\x38\x34\
+\x33\x20\x2d\x34\x2e\x33\x35\x36\x32\x37\x2c\x31\x2e\x30\x39\x32\
+\x36\x38\x20\x2d\x34\x2e\x38\x30\x34\x33\x35\x2c\x2d\x31\x2e\x32\
+\x33\x33\x36\x39\x20\x2d\x30\x2e\x34\x31\x30\x31\x32\x2c\x2d\x32\
+\x2e\x31\x32\x39\x32\x39\x20\x2d\x30\x2e\x34\x34\x30\x36\x37\x2c\
+\x2d\x32\x2e\x31\x33\x36\x37\x36\x20\x2d\x30\x2e\x35\x36\x39\x35\
+\x35\x2c\x2d\x30\x2e\x31\x33\x39\x32\x38\x20\x2d\x30\x2e\x31\x31\
+\x34\x31\x35\x2c\x31\x2e\x37\x36\x39\x32\x33\x20\x2d\x30\x2e\x36\
+\x39\x31\x32\x2c\x32\x2e\x30\x36\x36\x36\x38\x20\x2d\x33\x2e\x35\
+\x36\x36\x38\x31\x2c\x31\x2e\x38\x33\x38\x35\x31\x20\x2d\x33\x2e\
+\x32\x36\x35\x32\x39\x2c\x2d\x30\x2e\x32\x35\x39\x30\x39\x20\x2d\
+\x38\x2e\x33\x36\x37\x39\x36\x2c\x2d\x32\x2e\x33\x35\x34\x39\x36\
+\x20\x2d\x35\x2e\x38\x38\x38\x39\x32\x2c\x2d\x32\x2e\x34\x31\x38\
+\x38\x32\x20\x30\x2e\x36\x34\x39\x32\x35\x2c\x2d\x30\x2e\x30\x31\
+\x36\x37\x20\x31\x2e\x33\x37\x35\x34\x36\x2c\x2d\x31\x2e\x30\x34\
+\x32\x39\x31\x20\x31\x2e\x36\x31\x33\x38\x32\x2c\x2d\x32\x2e\x32\
+\x38\x30\x34\x31\x20\x6c\x20\x30\x2e\x34\x33\x33\x33\x37\x2c\x2d\
+\x32\x2e\x32\x35\x20\x30\x2e\x31\x33\x36\x31\x38\x2c\x32\x2e\x32\
+\x35\x20\x63\x20\x30\x2e\x31\x33\x32\x37\x35\x2c\x32\x2e\x31\x39\
+\x33\x32\x35\x20\x33\x2e\x31\x33\x36\x31\x38\x2c\x33\x2e\x33\x33\
+\x33\x38\x32\x20\x33\x2e\x31\x33\x36\x31\x38\x2c\x31\x2e\x31\x39\
+\x30\x39\x38\x20\x30\x2c\x2d\x30\x2e\x35\x38\x32\x34\x36\x20\x30\
+\x2e\x34\x35\x2c\x2d\x30\x2e\x37\x38\x30\x39\x20\x31\x2c\x2d\x30\
+\x2e\x34\x34\x30\x39\x38\x20\x30\x2e\x35\x35\x2c\x30\x2e\x33\x33\
+\x39\x39\x32\x20\x31\x2c\x30\x2e\x31\x34\x31\x34\x38\x20\x31\x2c\
+\x2d\x30\x2e\x34\x34\x30\x39\x38\x20\x30\x2c\x2d\x30\x2e\x35\x38\
+\x32\x34\x36\x20\x30\x2e\x33\x33\x37\x35\x2c\x2d\x31\x2e\x30\x30\
+\x35\x37\x33\x20\x30\x2e\x37\x35\x2c\x2d\x30\x2e\x39\x34\x30\x36\
+\x20\x30\x2e\x34\x31\x32\x35\x2c\x30\x2e\x30\x36\x35\x31\x20\x31\
+\x2e\x38\x37\x35\x2c\x30\x2e\x30\x31\x32\x39\x20\x33\x2e\x32\x35\
+\x2c\x2d\x30\x2e\x31\x31\x36\x20\x31\x2e\x37\x38\x36\x36\x31\x2c\
+\x2d\x30\x2e\x31\x36\x37\x35\x33\x20\x32\x2e\x30\x30\x30\x36\x33\
+\x2c\x2d\x30\x2e\x33\x36\x34\x39\x32\x20\x30\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x36\x39\x31\x37\x35\x20\x2d\x32\x2e\x35\x33\x39\x31\x34\
+\x2c\x2d\x30\x2e\x36\x36\x33\x35\x34\x20\x2d\x32\x2e\x31\x35\x32\
+\x36\x2c\x2d\x32\x2e\x32\x37\x33\x33\x37\x20\x30\x2e\x34\x32\x36\
+\x35\x39\x2c\x2d\x31\x2e\x37\x37\x36\x36\x36\x20\x31\x2e\x36\x36\
+\x38\x38\x35\x2c\x30\x2e\x33\x32\x31\x33\x39\x20\x31\x2e\x39\x30\
+\x32\x31\x32\x2c\x30\x2e\x31\x34\x34\x37\x20\x31\x2c\x2d\x30\x2e\
+\x37\x35\x37\x34\x32\x20\x2d\x31\x2e\x36\x33\x35\x34\x37\x2c\x2d\
+\x31\x2e\x36\x33\x35\x34\x37\x20\x2d\x31\x2e\x34\x33\x32\x36\x31\
+\x2c\x2d\x32\x2e\x38\x38\x39\x30\x32\x20\x30\x2e\x39\x32\x36\x31\
+\x36\x2c\x2d\x35\x2e\x37\x32\x33\x31\x38\x20\x31\x2e\x36\x38\x30\
+\x33\x38\x2c\x2d\x32\x2e\x30\x31\x39\x30\x34\x20\x32\x2e\x31\x39\
+\x36\x31\x35\x2c\x2d\x32\x2e\x31\x39\x33\x38\x20\x32\x2e\x39\x35\
+\x31\x34\x32\x2c\x2d\x31\x20\x30\x2e\x37\x39\x30\x37\x32\x2c\x31\
+\x2e\x32\x34\x39\x38\x33\x20\x30\x2e\x39\x33\x30\x38\x35\x2c\x31\
+\x2e\x32\x34\x32\x35\x36\x20\x31\x2e\x30\x33\x30\x32\x2c\x2d\x30\
+\x2e\x30\x35\x33\x34\x20\x30\x2e\x30\x36\x33\x32\x2c\x2d\x30\x2e\
+\x38\x32\x35\x20\x30\x2e\x34\x33\x37\x30\x31\x2c\x2d\x30\x2e\x33\
+\x37\x35\x20\x30\x2e\x38\x33\x30\x35\x39\x2c\x31\x20\x30\x2e\x34\
+\x35\x37\x37\x2c\x31\x2e\x35\x39\x39\x30\x31\x20\x30\x2e\x39\x37\
+\x33\x38\x34\x2c\x2d\x31\x2e\x36\x33\x37\x39\x39\x20\x31\x2e\x34\
+\x33\x32\x31\x35\x2c\x2d\x38\x2e\x39\x38\x31\x38\x33\x20\x30\x2e\
+\x33\x39\x34\x31\x2c\x2d\x36\x2e\x33\x31\x35\x30\x31\x20\x31\x2e\
+\x31\x35\x32\x32\x33\x2c\x2d\x31\x31\x2e\x39\x31\x37\x35\x31\x20\
+\x31\x2e\x36\x38\x34\x37\x32\x2c\x2d\x31\x32\x2e\x34\x35\x20\x30\
+\x2e\x35\x33\x32\x34\x39\x2c\x2d\x30\x2e\x35\x33\x32\x34\x39\x20\
+\x30\x2e\x39\x36\x38\x31\x37\x2c\x2d\x31\x2e\x35\x37\x31\x39\x39\
+\x20\x30\x2e\x39\x36\x38\x31\x37\x2c\x2d\x32\x2e\x33\x30\x39\x39\
+\x38\x20\x30\x2c\x2d\x30\x2e\x37\x33\x38\x20\x30\x2e\x38\x38\x34\
+\x34\x34\x2c\x2d\x32\x2e\x32\x39\x31\x31\x35\x20\x31\x2e\x39\x36\
+\x35\x34\x32\x2c\x2d\x33\x2e\x34\x35\x31\x34\x35\x20\x31\x2e\x30\
+\x38\x30\x39\x38\x2c\x2d\x31\x2e\x31\x36\x30\x32\x39\x20\x31\x2e\
+\x37\x34\x31\x36\x34\x2c\x2d\x32\x2e\x34\x37\x31\x37\x31\x20\x31\
+\x2e\x34\x36\x38\x31\x33\x2c\x2d\x32\x2e\x39\x31\x34\x32\x35\x20\
+\x2d\x30\x2e\x32\x37\x33\x35\x2c\x2d\x30\x2e\x34\x34\x32\x35\x35\
+\x20\x30\x2e\x36\x35\x33\x35\x36\x2c\x2d\x31\x2e\x35\x35\x38\x36\
+\x39\x20\x32\x2e\x30\x36\x30\x31\x35\x2c\x2d\x32\x2e\x34\x38\x30\
+\x33\x32\x20\x31\x2e\x38\x36\x35\x33\x33\x2c\x2d\x31\x2e\x32\x32\
+\x32\x32\x31\x20\x32\x2e\x34\x30\x32\x32\x38\x2c\x2d\x32\x2e\x32\
+\x34\x38\x39\x35\x20\x31\x2e\x39\x38\x34\x31\x32\x2c\x2d\x33\x2e\
+\x37\x39\x33\x39\x33\x20\x2d\x30\x2e\x35\x32\x36\x30\x37\x2c\x2d\
+\x31\x2e\x39\x34\x33\x36\x36\x20\x2d\x30\x2e\x34\x37\x39\x30\x34\
+\x2c\x2d\x31\x2e\x39\x36\x37\x31\x36\x20\x30\x2e\x35\x37\x30\x36\
+\x34\x2c\x2d\x30\x2e\x32\x38\x35\x31\x31\x20\x30\x2e\x39\x32\x37\
+\x30\x33\x2c\x31\x2e\x34\x38\x35\x35\x31\x20\x30\x2e\x37\x34\x36\
+\x34\x36\x2c\x32\x2e\x32\x35\x36\x32\x37\x20\x2d\x30\x2e\x39\x35\
+\x32\x32\x35\x2c\x34\x2e\x30\x36\x34\x34\x35\x20\x2d\x31\x2e\x31\
+\x35\x32\x39\x31\x2c\x31\x2e\x32\x32\x37\x32\x33\x20\x2d\x32\x2e\
+\x30\x39\x36\x32\x31\x2c\x32\x2e\x35\x35\x38\x36\x34\x20\x2d\x32\
+\x2e\x30\x39\x36\x32\x31\x2c\x32\x2e\x39\x35\x38\x36\x38\x20\x30\
+\x2c\x30\x2e\x34\x30\x30\x30\x35\x20\x2d\x30\x2e\x38\x36\x36\x39\
+\x37\x2c\x31\x2e\x36\x35\x37\x39\x35\x20\x2d\x31\x2e\x39\x32\x36\
+\x35\x39\x2c\x32\x2e\x37\x39\x35\x33\x32\x20\x2d\x32\x2e\x38\x31\
+\x31\x37\x33\x2c\x33\x2e\x30\x31\x38\x30\x34\x20\x2d\x34\x2e\x30\
+\x39\x32\x32\x33\x2c\x39\x2e\x38\x31\x38\x37\x36\x20\x2d\x34\x2e\
+\x33\x34\x37\x35\x34\x2c\x32\x33\x2e\x30\x38\x39\x36\x38\x20\x2d\
+\x30\x2e\x31\x32\x34\x32\x33\x2c\x36\x2e\x34\x35\x37\x37\x20\x2d\
+\x30\x2e\x35\x32\x39\x34\x34\x2c\x31\x31\x2e\x37\x34\x35\x32\x20\
+\x2d\x30\x2e\x39\x30\x30\x34\x36\x2c\x31\x31\x2e\x37\x35\x20\x2d\
+\x30\x2e\x33\x37\x31\x30\x33\x2c\x30\x2e\x30\x30\x35\x20\x2d\x30\
+\x2e\x34\x38\x32\x36\x32\x2c\x31\x2e\x35\x35\x36\x36\x32\x20\x2d\
+\x30\x2e\x32\x34\x37\x39\x37\x2c\x33\x2e\x34\x34\x38\x34\x36\x20\
+\x30\x2e\x35\x30\x35\x34\x36\x2c\x34\x2e\x30\x37\x35\x32\x36\x20\
+\x2d\x31\x2e\x31\x39\x37\x34\x39\x2c\x35\x2e\x36\x37\x38\x33\x31\
+\x20\x2d\x32\x2e\x35\x32\x32\x35\x31\x2c\x32\x2e\x33\x37\x34\x35\
+\x32\x20\x7a\x20\x4d\x20\x31\x33\x33\x2c\x32\x30\x36\x20\x63\x20\
+\x30\x2c\x2d\x31\x2e\x31\x31\x36\x31\x20\x2d\x30\x2e\x36\x36\x36\
+\x36\x37\x2c\x2d\x32\x20\x2d\x31\x2e\x35\x30\x38\x34\x37\x2c\x2d\
+\x32\x20\x2d\x31\x2e\x32\x35\x38\x31\x35\x2c\x30\x20\x2d\x31\x2e\
+\x33\x30\x31\x32\x31\x2c\x30\x2e\x33\x33\x31\x38\x39\x20\x2d\x30\
+\x2e\x32\x35\x39\x34\x36\x2c\x32\x20\x30\x2e\x36\x38\x36\x39\x36\
+\x2c\x31\x2e\x31\x20\x31\x2e\x33\x36\x35\x37\x38\x2c\x32\x20\x31\
+\x2e\x35\x30\x38\x34\x38\x2c\x32\x20\x30\x2e\x31\x34\x32\x37\x2c\
+\x30\x20\x30\x2e\x32\x35\x39\x34\x35\x2c\x2d\x30\x2e\x39\x20\x30\
+\x2e\x32\x35\x39\x34\x35\x2c\x2d\x32\x20\x7a\x20\x6d\x20\x2d\x32\
+\x33\x2e\x31\x36\x34\x37\x37\x2c\x31\x2e\x36\x38\x31\x33\x32\x20\
+\x63\x20\x2d\x30\x2e\x37\x34\x37\x35\x35\x2c\x2d\x30\x2e\x36\x34\
+\x39\x37\x33\x20\x2d\x31\x2e\x31\x38\x32\x31\x32\x2c\x2d\x31\x2e\
+\x30\x38\x34\x36\x35\x20\x2d\x30\x2e\x39\x36\x35\x37\x32\x2c\x2d\
+\x30\x2e\x39\x36\x36\x35\x20\x30\x2e\x32\x31\x36\x34\x2c\x30\x2e\
+\x31\x31\x38\x31\x35\x20\x31\x2e\x32\x38\x38\x35\x39\x2c\x2d\x30\
+\x2e\x32\x36\x34\x32\x35\x20\x32\x2e\x33\x38\x32\x36\x35\x2c\x2d\
+\x30\x2e\x38\x34\x39\x37\x37\x20\x31\x2e\x32\x36\x35\x30\x39\x2c\
+\x2d\x30\x2e\x36\x37\x37\x30\x36\x20\x31\x2e\x37\x36\x30\x39\x39\
+\x2c\x2d\x30\x2e\x36\x39\x35\x33\x34\x20\x31\x2e\x33\x36\x32\x32\
+\x39\x2c\x2d\x30\x2e\x30\x35\x30\x32\x20\x2d\x30\x2e\x33\x34\x34\
+\x38\x2c\x30\x2e\x35\x35\x37\x39\x20\x2d\x30\x2e\x30\x38\x34\x34\
+\x2c\x31\x2e\x31\x39\x35\x32\x31\x20\x30\x2e\x35\x37\x38\x37\x36\
+\x2c\x31\x2e\x34\x31\x36\x32\x35\x20\x30\x2e\x37\x38\x37\x34\x38\
+\x2c\x30\x2e\x32\x36\x32\x34\x39\x20\x30\x2e\x36\x34\x39\x39\x33\
+\x2c\x30\x2e\x36\x31\x35\x31\x34\x20\x2d\x30\x2e\x33\x39\x36\x35\
+\x37\x2c\x31\x2e\x30\x31\x36\x37\x33\x20\x2d\x30\x2e\x38\x38\x31\
+\x32\x33\x2c\x30\x2e\x33\x33\x38\x31\x36\x20\x2d\x32\x2e\x32\x31\
+\x33\x38\x37\x2c\x30\x2e\x30\x38\x33\x32\x20\x2d\x32\x2e\x39\x36\
+\x31\x34\x31\x2c\x2d\x30\x2e\x35\x36\x36\x34\x38\x20\x7a\x20\x4d\
+\x20\x31\x30\x35\x2e\x35\x2c\x32\x30\x34\x20\x63\x20\x30\x2e\x33\
+\x33\x39\x39\x32\x2c\x2d\x30\x2e\x35\x35\x20\x31\x2e\x30\x36\x38\
+\x30\x33\x2c\x2d\x31\x20\x31\x2e\x36\x31\x38\x30\x33\x2c\x2d\x31\
+\x20\x30\x2e\x35\x35\x2c\x30\x20\x30\x2e\x37\x32\x31\x38\x39\x2c\
+\x30\x2e\x34\x35\x20\x30\x2e\x33\x38\x31\x39\x37\x2c\x31\x20\x2d\
+\x30\x2e\x33\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x31\x2e\
+\x30\x36\x38\x30\x33\x2c\x31\x20\x2d\x31\x2e\x36\x31\x38\x30\x33\
+\x2c\x31\x20\x2d\x30\x2e\x35\x35\x2c\x30\x20\x2d\x30\x2e\x37\x32\
+\x31\x38\x39\x2c\x2d\x30\x2e\x34\x35\x20\x2d\x30\x2e\x33\x38\x31\
+\x39\x37\x2c\x2d\x31\x20\x7a\x20\x6d\x20\x2d\x31\x2e\x31\x30\x33\
+\x31\x38\x2c\x2d\x31\x32\x2e\x34\x33\x38\x39\x20\x63\x20\x2d\x30\
+\x2e\x38\x36\x34\x38\x39\x2c\x2d\x31\x2e\x38\x33\x32\x36\x39\x20\
+\x2d\x30\x2e\x37\x30\x38\x35\x35\x2c\x2d\x32\x2e\x31\x38\x37\x33\
+\x34\x20\x31\x2e\x30\x32\x31\x36\x39\x2c\x2d\x32\x2e\x33\x31\x37\
+\x36\x37\x20\x31\x2e\x31\x32\x33\x35\x37\x2c\x2d\x30\x2e\x30\x38\
+\x34\x36\x20\x32\x2e\x35\x36\x30\x38\x32\x2c\x2d\x30\x2e\x38\x36\
+\x32\x32\x36\x20\x33\x2e\x31\x39\x33\x39\x2c\x2d\x31\x2e\x37\x32\
+\x38\x30\x35\x20\x31\x2e\x30\x33\x37\x34\x39\x2c\x2d\x31\x2e\x34\
+\x31\x38\x38\x35\x20\x31\x2e\x32\x31\x36\x30\x36\x2c\x2d\x31\x2e\
+\x34\x30\x34\x37\x37\x20\x31\x2e\x38\x30\x39\x39\x2c\x30\x2e\x31\
+\x34\x32\x37\x37\x20\x30\x2e\x34\x30\x30\x35\x38\x2c\x31\x2e\x30\
+\x34\x33\x38\x39\x20\x30\x2e\x30\x37\x34\x33\x2c\x32\x2e\x30\x34\
+\x34\x30\x36\x20\x2d\x30\x2e\x38\x33\x32\x33\x37\x2c\x32\x2e\x35\
+\x35\x31\x34\x35\x20\x2d\x30\x2e\x38\x32\x30\x31\x36\x2c\x30\x2e\
+\x34\x35\x38\x39\x39\x20\x2d\x32\x2e\x30\x39\x34\x33\x38\x2c\x31\
+\x2e\x34\x33\x37\x37\x20\x2d\x32\x2e\x38\x33\x31\x35\x39\x2c\x32\
+\x2e\x31\x37\x34\x39\x31\x20\x2d\x31\x2e\x31\x32\x30\x35\x31\x2c\
+\x31\x2e\x31\x32\x30\x35\x31\x20\x2d\x31\x2e\x35\x30\x37\x38\x39\
+\x2c\x30\x2e\x39\x38\x35\x34\x34\x20\x2d\x32\x2e\x33\x36\x31\x35\
+\x33\x2c\x2d\x30\x2e\x38\x32\x33\x34\x31\x20\x7a\x20\x6d\x20\x32\
+\x35\x2e\x36\x31\x38\x34\x39\x2c\x2d\x31\x2e\x31\x39\x34\x34\x37\
+\x20\x63\x20\x2d\x30\x2e\x30\x32\x30\x34\x2c\x2d\x31\x2e\x35\x31\
+\x32\x38\x37\x20\x2d\x34\x2e\x30\x30\x36\x33\x33\x2c\x2d\x32\x2e\
+\x35\x32\x30\x37\x35\x20\x2d\x34\x2e\x30\x34\x35\x37\x32\x2c\x2d\
+\x31\x2e\x30\x32\x33\x30\x31\x20\x2d\x30\x2e\x30\x31\x36\x37\x2c\
+\x30\x2e\x36\x33\x36\x30\x31\x20\x2d\x30\x2e\x34\x39\x30\x37\x35\
+\x2c\x30\x2e\x33\x36\x35\x39\x31\x20\x2d\x31\x2e\x30\x35\x33\x33\
+\x39\x2c\x2d\x30\x2e\x36\x30\x30\x32\x33\x20\x2d\x30\x2e\x37\x39\
+\x30\x31\x34\x2c\x2d\x31\x2e\x33\x35\x36\x38\x20\x2d\x31\x2e\x34\
+\x35\x32\x32\x32\x2c\x2d\x31\x2e\x35\x32\x36\x38\x39\x20\x2d\x32\
+\x2e\x39\x30\x38\x39\x2c\x2d\x30\x2e\x37\x34\x37\x33\x20\x2d\x31\
+\x2e\x30\x33\x37\x32\x36\x2c\x30\x2e\x35\x35\x35\x31\x33\x20\x2d\
+\x32\x2e\x31\x32\x37\x32\x39\x2c\x30\x2e\x36\x31\x38\x37\x38\x20\
+\x2d\x32\x2e\x34\x32\x32\x32\x39\x2c\x30\x2e\x31\x34\x31\x34\x36\
+\x20\x2d\x30\x2e\x35\x37\x30\x35\x33\x2c\x2d\x30\x2e\x39\x32\x33\
+\x31\x34\x20\x2d\x34\x2e\x38\x30\x36\x37\x34\x2c\x2d\x30\x2e\x37\
+\x33\x36\x35\x38\x20\x2d\x36\x2e\x34\x35\x38\x37\x38\x2c\x30\x2e\
+\x32\x38\x34\x34\x33\x20\x2d\x30\x2e\x35\x34\x33\x34\x32\x2c\x30\
+\x2e\x33\x33\x35\x38\x36\x20\x2d\x31\x2e\x32\x34\x31\x30\x32\x2c\
+\x30\x2e\x32\x30\x31\x33\x31\x20\x2d\x31\x2e\x35\x35\x30\x32\x32\
+\x2c\x2d\x30\x2e\x32\x39\x38\x39\x39\x20\x2d\x30\x2e\x36\x39\x30\
+\x38\x39\x2c\x2d\x31\x2e\x31\x31\x37\x38\x39\x20\x33\x2e\x31\x36\
+\x32\x34\x39\x2c\x2d\x32\x2e\x31\x35\x30\x30\x34\x20\x31\x30\x2e\
+\x33\x37\x36\x33\x32\x2c\x2d\x32\x2e\x37\x37\x39\x33\x39\x20\x32\
+\x2e\x39\x39\x38\x37\x39\x2c\x2d\x30\x2e\x32\x36\x31\x36\x31\x20\
+\x35\x2e\x37\x38\x30\x31\x39\x2c\x2d\x30\x2e\x36\x37\x38\x32\x39\
+\x20\x36\x2e\x31\x38\x30\x39\x31\x2c\x2d\x30\x2e\x39\x32\x35\x39\
+\x34\x20\x30\x2e\x34\x30\x30\x37\x31\x2c\x2d\x30\x2e\x32\x34\x37\
+\x36\x36\x20\x31\x2e\x30\x31\x31\x32\x32\x2c\x30\x2e\x30\x30\x37\
+\x20\x31\x2e\x33\x35\x36\x36\x38\x2c\x30\x2e\x35\x36\x36\x30\x33\
+\x20\x30\x2e\x33\x34\x35\x34\x36\x2c\x30\x2e\x35\x35\x38\x39\x37\
+\x20\x31\x2e\x35\x30\x31\x35\x36\x2c\x31\x2e\x30\x31\x36\x33\x31\
+\x20\x32\x2e\x35\x36\x39\x31\x2c\x31\x2e\x30\x31\x36\x33\x31\x20\
+\x31\x2e\x34\x35\x34\x34\x38\x2c\x30\x20\x31\x2e\x39\x33\x37\x31\
+\x34\x2c\x30\x2e\x36\x38\x39\x32\x38\x20\x31\x2e\x39\x32\x35\x36\
+\x37\x2c\x32\x2e\x37\x35\x20\x2d\x30\x2e\x30\x31\x32\x2c\x32\x2e\
+\x31\x35\x36\x31\x35\x20\x2d\x30\x2e\x32\x32\x37\x39\x35\x2c\x32\
+\x2e\x34\x32\x36\x30\x38\x20\x2d\x31\x2c\x31\x2e\x32\x35\x20\x2d\
+\x30\x2e\x38\x37\x35\x32\x38\x2c\x2d\x31\x2e\x33\x33\x33\x33\x33\
+\x20\x2d\x31\x2e\x30\x39\x34\x31\x2c\x2d\x31\x2e\x33\x33\x33\x33\
+\x33\x20\x2d\x31\x2e\x39\x36\x39\x33\x38\x2c\x30\x20\x2d\x30\x2e\
+\x35\x34\x31\x35\x38\x2c\x30\x2e\x38\x32\x35\x20\x2d\x30\x2e\x39\
+\x39\x31\x35\x38\x2c\x30\x2e\x39\x38\x39\x39\x38\x20\x2d\x31\x2c\
+\x30\x2e\x33\x36\x36\x36\x33\x20\x7a\x20\x4d\x20\x31\x30\x34\x2c\
+\x31\x38\x34\x2e\x31\x37\x33\x31\x39\x20\x63\x20\x30\x2c\x2d\x30\
+\x2e\x34\x35\x34\x37\x34\x20\x31\x2e\x33\x35\x2c\x2d\x30\x2e\x36\
+\x32\x38\x36\x37\x20\x33\x2c\x2d\x30\x2e\x33\x38\x36\x35\x20\x31\
+\x2e\x36\x35\x2c\x30\x2e\x32\x34\x32\x31\x37\x20\x33\x2c\x30\x2e\
+\x36\x31\x34\x32\x33\x20\x33\x2c\x30\x2e\x38\x32\x36\x38\x31\x20\
+\x30\x2c\x30\x2e\x32\x31\x32\x35\x37\x20\x2d\x31\x2e\x33\x35\x2c\
+\x30\x2e\x33\x38\x36\x35\x20\x2d\x33\x2c\x30\x2e\x33\x38\x36\x35\
+\x20\x2d\x31\x2e\x36\x35\x2c\x30\x20\x2d\x33\x2c\x2d\x30\x2e\x33\
+\x37\x32\x30\x36\x20\x2d\x33\x2c\x2d\x30\x2e\x38\x32\x36\x38\x31\
+\x20\x7a\x20\x6d\x20\x31\x36\x2e\x32\x36\x39\x30\x33\x2c\x2d\x30\
+\x2e\x38\x36\x36\x31\x38\x20\x63\x20\x30\x2e\x39\x37\x32\x39\x37\
+\x2c\x2d\x30\x2e\x32\x35\x33\x35\x34\x20\x32\x2e\x33\x32\x32\x39\
+\x37\x2c\x2d\x30\x2e\x32\x33\x36\x38\x37\x20\x33\x2c\x30\x2e\x30\
+\x33\x37\x31\x20\x30\x2e\x36\x37\x37\x30\x33\x2c\x30\x2e\x32\x37\
+\x33\x39\x33\x20\x2d\x30\x2e\x31\x31\x39\x30\x33\x2c\x30\x2e\x34\
+\x38\x31\x33\x37\x20\x2d\x31\x2e\x37\x36\x39\x30\x33\x2c\x30\x2e\
+\x34\x36\x30\x39\x39\x20\x2d\x31\x2e\x36\x35\x2c\x2d\x30\x2e\x30\
+\x32\x30\x34\x20\x2d\x32\x2e\x32\x30\x33\x39\x34\x2c\x2d\x30\x2e\
+\x32\x34\x34\x35\x20\x2d\x31\x2e\x32\x33\x30\x39\x37\x2c\x2d\x30\
+\x2e\x34\x39\x38\x30\x34\x20\x7a\x20\x6d\x20\x38\x2e\x32\x33\x30\
+\x39\x37\x2c\x2d\x31\x2e\x30\x35\x30\x36\x20\x63\x20\x33\x2e\x32\
+\x35\x36\x31\x32\x2c\x2d\x30\x2e\x33\x38\x38\x30\x38\x20\x33\x2e\
+\x36\x32\x38\x30\x36\x2c\x2d\x30\x2e\x36\x32\x39\x31\x36\x20\x32\
+\x2c\x2d\x31\x2e\x32\x39\x36\x32\x39\x20\x2d\x31\x2e\x37\x33\x33\
+\x37\x2c\x2d\x30\x2e\x37\x31\x30\x34\x32\x20\x2d\x31\x2e\x36\x32\
+\x32\x37\x34\x2c\x2d\x30\x2e\x38\x32\x38\x39\x31\x20\x30\x2e\x38\
+\x33\x33\x33\x33\x2c\x2d\x30\x2e\x38\x38\x39\x38\x33\x20\x31\x2e\
+\x38\x34\x30\x39\x32\x2c\x2d\x30\x2e\x30\x34\x35\x37\x20\x32\x2e\
+\x36\x38\x39\x33\x36\x2c\x30\x2e\x33\x36\x37\x35\x34\x20\x32\x2e\
+\x34\x32\x32\x32\x38\x2c\x31\x2e\x31\x37\x39\x37\x31\x20\x2d\x30\
+\x2e\x32\x33\x38\x30\x33\x2c\x30\x2e\x37\x32\x33\x38\x35\x20\x2d\
+\x32\x2e\x32\x37\x32\x34\x39\x2c\x31\x2e\x32\x39\x39\x30\x37\x20\
+\x2d\x34\x2e\x38\x33\x33\x33\x33\x2c\x31\x2e\x33\x36\x36\x35\x37\
+\x20\x6c\x20\x2d\x34\x2e\x34\x32\x32\x32\x38\x2c\x30\x2e\x31\x31\
+\x36\x35\x38\x20\x34\x2c\x2d\x30\x2e\x34\x37\x36\x37\x34\x20\x7a\
+\x20\x4d\x20\x31\x30\x34\x2c\x31\x37\x38\x2e\x35\x36\x35\x31\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x32\x33\x39\x32\x20\x30\x2e\x34\x30\
+\x37\x36\x38\x2c\x2d\x31\x2e\x35\x30\x37\x31\x37\x20\x30\x2e\x39\
+\x30\x35\x39\x35\x2c\x2d\x32\x2e\x38\x31\x37\x37\x32\x20\x30\x2e\
+\x37\x30\x34\x32\x39\x2c\x2d\x31\x2e\x38\x35\x32\x34\x33\x20\x32\
+\x2e\x32\x30\x36\x37\x37\x2c\x2d\x32\x2e\x36\x39\x37\x32\x20\x36\
+\x2e\x37\x35\x2c\x2d\x33\x2e\x37\x39\x35\x31\x37\x20\x35\x2e\x34\
+\x31\x35\x32\x35\x2c\x2d\x31\x2e\x33\x30\x38\x37\x32\x20\x35\x2e\
+\x36\x32\x33\x39\x33\x2c\x2d\x31\x2e\x34\x36\x30\x31\x36\x20\x32\
+\x2e\x38\x34\x34\x30\x35\x2c\x2d\x32\x2e\x30\x36\x33\x39\x36\x20\
+\x6c\x20\x2d\x33\x2c\x2d\x30\x2e\x36\x35\x31\x36\x32\x20\x33\x2e\
+\x32\x35\x2c\x2d\x30\x2e\x31\x31\x38\x33\x32\x20\x63\x20\x31\x2e\
+\x38\x35\x39\x30\x34\x2c\x2d\x30\x2e\x30\x36\x37\x37\x20\x33\x2e\
+\x32\x35\x2c\x30\x2e\x33\x37\x36\x30\x31\x20\x33\x2e\x32\x35\x2c\
+\x31\x2e\x30\x33\x36\x36\x38\x20\x30\x2c\x30\x2e\x36\x39\x31\x30\
+\x34\x20\x30\x2e\x37\x33\x34\x35\x38\x2c\x30\x2e\x34\x39\x30\x32\
+\x20\x31\x2e\x38\x32\x38\x37\x34\x2c\x2d\x30\x2e\x35\x20\x31\x2e\
+\x30\x30\x35\x38\x31\x2c\x2d\x30\x2e\x39\x31\x30\x32\x35\x20\x32\
+\x2e\x37\x35\x37\x36\x36\x2c\x2d\x31\x2e\x36\x35\x34\x39\x39\x20\
+\x33\x2e\x38\x39\x33\x30\x31\x2c\x2d\x31\x2e\x36\x35\x34\x39\x39\
+\x20\x31\x2e\x31\x33\x35\x33\x35\x2c\x30\x20\x32\x2e\x33\x32\x33\
+\x32\x39\x2c\x2d\x30\x2e\x36\x37\x35\x20\x32\x2e\x36\x33\x39\x38\
+\x38\x2c\x2d\x31\x2e\x35\x20\x30\x2e\x33\x31\x36\x35\x38\x2c\x2d\
+\x30\x2e\x38\x32\x35\x20\x31\x2e\x31\x35\x32\x32\x32\x2c\x2d\x31\
+\x2e\x34\x36\x34\x34\x37\x20\x31\x2e\x38\x35\x36\x39\x39\x2c\x2d\
+\x31\x2e\x34\x32\x31\x30\x35\x20\x31\x2e\x30\x30\x33\x36\x34\x2c\
+\x30\x2e\x30\x36\x31\x38\x20\x31\x2e\x30\x31\x30\x34\x34\x2c\x30\
+\x2e\x31\x38\x38\x32\x37\x20\x30\x2e\x30\x33\x31\x34\x2c\x30\x2e\
+\x35\x38\x33\x33\x33\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\
+\x32\x37\x37\x34\x31\x20\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x31\x34\
+\x31\x38\x39\x20\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x39\x32\x31\x30\
+\x35\x20\x30\x2c\x30\x2e\x39\x30\x37\x34\x31\x20\x2d\x31\x2e\x30\
+\x37\x38\x34\x33\x2c\x31\x2e\x34\x31\x36\x36\x37\x20\x2d\x33\x2c\
+\x31\x2e\x34\x31\x36\x36\x37\x20\x2d\x31\x2e\x36\x35\x2c\x30\x20\
+\x2d\x33\x2c\x30\x2e\x34\x39\x38\x31\x34\x20\x2d\x33\x2c\x31\x2e\
+\x31\x30\x36\x39\x39\x20\x30\x2c\x30\x2e\x36\x30\x38\x38\x34\x20\
+\x30\x2e\x36\x32\x30\x31\x37\x2c\x30\x2e\x38\x36\x39\x30\x31\x20\
+\x31\x2e\x33\x37\x38\x31\x34\x2c\x30\x2e\x35\x37\x38\x31\x34\x20\
+\x30\x2e\x37\x35\x37\x39\x38\x2c\x2d\x30\x2e\x32\x39\x30\x38\x36\
+\x20\x31\x2e\x39\x33\x39\x32\x33\x2c\x2d\x30\x2e\x30\x30\x32\x20\
+\x32\x2e\x36\x32\x35\x2c\x30\x2e\x36\x34\x33\x30\x31\x20\x30\x2e\
+\x39\x35\x35\x31\x33\x2c\x30\x2e\x38\x39\x37\x36\x38\x20\x31\x2e\
+\x33\x35\x34\x31\x2c\x30\x2e\x38\x37\x39\x33\x39\x20\x31\x2e\x37\
+\x30\x35\x31\x39\x2c\x2d\x30\x2e\x30\x37\x38\x31\x20\x30\x2e\x32\
+\x35\x32\x30\x39\x2c\x2d\x30\x2e\x36\x38\x37\x35\x20\x31\x2e\x31\
+\x34\x33\x39\x38\x2c\x2d\x31\x2e\x32\x35\x20\x31\x2e\x39\x38\x31\
+\x39\x39\x2c\x2d\x31\x2e\x32\x35\x20\x31\x2e\x30\x31\x36\x36\x2c\
+\x30\x20\x31\x2e\x33\x32\x30\x38\x34\x2c\x30\x2e\x35\x38\x32\x33\
+\x38\x20\x30\x2e\x39\x31\x34\x32\x32\x2c\x31\x2e\x37\x35\x20\x2d\
+\x30\x2e\x35\x33\x39\x38\x32\x2c\x31\x2e\x35\x35\x30\x30\x36\x20\
+\x2d\x30\x2e\x34\x36\x36\x33\x35\x2c\x31\x2e\x35\x37\x31\x38\x31\
+\x20\x30\x2e\x36\x34\x33\x30\x31\x2c\x30\x2e\x31\x39\x30\x33\x35\
+\x20\x30\x2e\x37\x35\x37\x37\x39\x2c\x2d\x30\x2e\x39\x34\x33\x36\
+\x36\x20\x32\x2e\x30\x38\x36\x37\x36\x2c\x2d\x31\x2e\x33\x33\x38\
+\x36\x31\x20\x33\x2e\x33\x36\x34\x38\x38\x2c\x2d\x31\x20\x31\x2e\
+\x36\x34\x36\x31\x2c\x30\x2e\x34\x33\x36\x31\x20\x31\x2e\x39\x33\
+\x37\x35\x36\x2c\x31\x2e\x30\x30\x31\x31\x37\x20\x31\x2e\x33\x32\
+\x30\x32\x39\x2c\x32\x2e\x35\x35\x39\x36\x35\x20\x2d\x30\x2e\x34\
+\x33\x35\x36\x38\x2c\x31\x2e\x31\x20\x2d\x30\x2e\x38\x32\x33\x37\
+\x38\x2c\x31\x2e\x34\x33\x37\x35\x20\x2d\x30\x2e\x38\x36\x32\x34\
+\x33\x2c\x30\x2e\x37\x35\x20\x2d\x30\x2e\x30\x33\x38\x37\x2c\x2d\
+\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x35\x34\x36\x38\x35\x2c\
+\x2d\x31\x2e\x32\x35\x20\x2d\x31\x2e\x31\x32\x39\x33\x31\x2c\x2d\
+\x31\x2e\x32\x35\x20\x2d\x30\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\
+\x2d\x30\x2e\x38\x32\x35\x39\x36\x2c\x30\x2e\x33\x37\x37\x30\x39\
+\x20\x2d\x30\x2e\x35\x34\x31\x31\x32\x2c\x30\x2e\x38\x33\x37\x39\
+\x37\x20\x30\x2e\x32\x38\x34\x38\x34\x2c\x30\x2e\x34\x36\x30\x38\
+\x38\x20\x2d\x32\x2e\x35\x30\x31\x31\x2c\x30\x2e\x32\x37\x39\x37\
+\x32\x20\x2d\x36\x2e\x31\x39\x30\x39\x38\x2c\x2d\x30\x2e\x34\x30\
+\x32\x35\x37\x20\x2d\x37\x2e\x30\x34\x38\x37\x32\x2c\x2d\x31\x2e\
+\x33\x30\x33\x33\x38\x20\x2d\x38\x2e\x33\x38\x38\x30\x35\x2c\x2d\
+\x31\x2e\x33\x30\x34\x34\x35\x20\x2d\x31\x34\x2e\x34\x35\x38\x38\
+\x38\x2c\x2d\x30\x2e\x30\x31\x31\x35\x20\x2d\x33\x2e\x34\x32\x32\
+\x35\x34\x2c\x30\x2e\x37\x32\x38\x39\x33\x20\x2d\x34\x2e\x33\x33\
+\x35\x35\x2c\x31\x2e\x38\x36\x37\x39\x31\x20\x2d\x33\x2e\x38\x36\
+\x38\x34\x32\x2c\x34\x2e\x38\x32\x36\x30\x39\x20\x43\x20\x31\x30\
+\x37\x2e\x39\x34\x36\x37\x31\x2c\x31\x37\x38\x2e\x36\x36\x32\x35\
+\x20\x31\x30\x37\x2e\x31\x2c\x31\x37\x39\x20\x31\x30\x36\x2c\x31\
+\x37\x39\x20\x63\x20\x2d\x31\x2e\x31\x2c\x30\x20\x2d\x32\x2c\x2d\
+\x30\x2e\x31\x39\x35\x37\x31\x20\x2d\x32\x2c\x2d\x30\x2e\x34\x33\
+\x34\x39\x20\x7a\x20\x4d\x20\x39\x38\x2c\x31\x37\x31\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x34\x37\x36\x35\x35\x38\
+\x2c\x2d\x31\x20\x31\x2e\x30\x35\x39\x30\x31\x37\x2c\x2d\x31\x20\
+\x30\x2e\x35\x38\x32\x34\x35\x39\x2c\x30\x20\x30\x2e\x37\x38\x30\
+\x39\x30\x32\x2c\x30\x2e\x34\x35\x20\x30\x2e\x34\x34\x30\x39\x38\
+\x33\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x31\x39\x2c\x30\x2e\
+\x35\x35\x20\x2d\x30\x2e\x38\x31\x36\x34\x37\x36\x2c\x31\x20\x2d\
+\x31\x2e\x30\x35\x39\x30\x31\x37\x2c\x31\x20\x43\x20\x39\x38\x2e\
+\x31\x39\x38\x34\x34\x32\x2c\x31\x37\x32\x20\x39\x38\x2c\x31\x37\
+\x31\x2e\x35\x35\x20\x39\x38\x2c\x31\x37\x31\x20\x7a\x20\x6d\x20\
+\x33\x32\x2e\x37\x30\x33\x36\x32\x2c\x2d\x34\x2e\x31\x30\x33\x36\
+\x32\x20\x63\x20\x30\x2e\x37\x39\x30\x39\x35\x2c\x2d\x30\x2e\x37\
+\x39\x30\x39\x35\x20\x31\x2e\x36\x32\x36\x37\x34\x2c\x2d\x30\x2e\
+\x37\x39\x39\x35\x37\x20\x32\x2e\x39\x35\x2c\x2d\x30\x2e\x30\x33\
+\x30\x34\x20\x31\x2e\x36\x31\x38\x36\x33\x2c\x30\x2e\x39\x34\x30\
+\x38\x33\x20\x31\x2e\x34\x38\x32\x34\x39\x2c\x31\x2e\x30\x37\x36\
+\x39\x36\x20\x2d\x31\x2e\x31\x30\x33\x36\x32\x2c\x31\x2e\x31\x30\
+\x33\x36\x32\x20\x2d\x32\x2e\x31\x35\x31\x33\x33\x2c\x30\x2e\x30\
+\x32\x32\x32\x20\x2d\x32\x2e\x36\x35\x31\x32\x31\x2c\x2d\x30\x2e\
+\x32\x36\x38\x33\x38\x20\x2d\x31\x2e\x38\x34\x36\x33\x38\x2c\x2d\
+\x31\x2e\x30\x37\x33\x32\x31\x20\x7a\x20\x6d\x20\x34\x2e\x39\x30\
+\x39\x34\x37\x2c\x2d\x32\x2e\x30\x37\x39\x33\x36\x20\x63\x20\x30\
+\x2e\x32\x38\x38\x38\x31\x2c\x2d\x30\x2e\x34\x36\x37\x33\x20\x30\
+\x2e\x39\x34\x34\x30\x31\x2c\x2d\x30\x2e\x35\x39\x30\x37\x35\x20\
+\x31\x2e\x34\x35\x36\x30\x31\x2c\x2d\x30\x2e\x32\x37\x34\x33\x31\
+\x20\x31\x2e\x33\x30\x38\x33\x38\x2c\x30\x2e\x38\x30\x38\x36\x32\
+\x20\x31\x2e\x31\x36\x31\x30\x36\x2c\x31\x2e\x31\x32\x33\x39\x36\
+\x20\x2d\x30\x2e\x35\x32\x35\x31\x31\x2c\x31\x2e\x31\x32\x33\x39\
+\x36\x20\x2d\x30\x2e\x38\x30\x30\x38\x31\x2c\x30\x20\x2d\x31\x2e\
+\x32\x31\x39\x37\x31\x2c\x2d\x30\x2e\x33\x38\x32\x33\x34\x20\x2d\
+\x30\x2e\x39\x33\x30\x39\x2c\x2d\x30\x2e\x38\x34\x39\x36\x35\x20\
+\x7a\x20\x6d\x20\x2d\x33\x31\x2e\x35\x36\x30\x35\x36\x2c\x2d\x31\
+\x2e\x39\x31\x35\x31\x38\x20\x43\x20\x31\x30\x34\x2e\x36\x31\x32\
+\x33\x34\x2c\x31\x36\x31\x2e\x38\x35\x35\x38\x33\x20\x31\x30\x35\
+\x2e\x35\x30\x34\x35\x33\x2c\x31\x36\x31\x20\x31\x30\x36\x2e\x30\
+\x33\x35\x31\x38\x2c\x31\x36\x31\x20\x31\x30\x36\x2e\x35\x36\x35\
+\x38\x33\x2c\x31\x36\x31\x20\x31\x30\x37\x2c\x31\x36\x30\x2e\x33\
+\x38\x33\x35\x32\x20\x31\x30\x37\x2c\x31\x35\x39\x2e\x36\x33\x30\
+\x30\x35\x20\x63\x20\x30\x2c\x2d\x30\x2e\x38\x35\x35\x35\x38\x20\
+\x31\x2e\x37\x38\x33\x34\x35\x2c\x2d\x31\x2e\x36\x36\x39\x37\x36\
+\x20\x34\x2e\x37\x35\x2c\x2d\x32\x2e\x31\x36\x38\x34\x38\x20\x36\
+\x2e\x31\x32\x35\x34\x2c\x2d\x31\x2e\x30\x32\x39\x37\x35\x20\x32\
+\x34\x2e\x32\x35\x2c\x2d\x31\x2e\x32\x34\x34\x20\x32\x34\x2e\x32\
+\x35\x2c\x2d\x30\x2e\x32\x38\x36\x36\x35\x20\x30\x2c\x30\x2e\x38\
+\x34\x34\x35\x20\x36\x2e\x36\x35\x30\x31\x38\x2c\x30\x2e\x31\x34\
+\x38\x36\x33\x20\x38\x2e\x33\x35\x37\x39\x34\x2c\x2d\x30\x2e\x38\
+\x37\x34\x35\x37\x20\x30\x2e\x36\x32\x38\x31\x33\x2c\x2d\x30\x2e\
+\x33\x37\x36\x33\x35\x20\x30\x2e\x34\x39\x38\x35\x2c\x30\x2e\x31\
+\x30\x38\x34\x20\x2d\x30\x2e\x32\x38\x38\x30\x38\x2c\x31\x2e\x30\
+\x37\x37\x32\x31\x20\x2d\x30\x2e\x37\x38\x36\x35\x38\x2c\x30\x2e\
+\x39\x36\x38\x38\x32\x20\x2d\x32\x2e\x32\x32\x30\x30\x32\x2c\x31\
+\x2e\x35\x35\x34\x39\x33\x20\x2d\x33\x2e\x31\x38\x35\x34\x32\x2c\
+\x31\x2e\x33\x30\x32\x34\x37\x20\x2d\x30\x2e\x39\x36\x35\x34\x2c\
+\x2d\x30\x2e\x32\x35\x32\x34\x36\x20\x2d\x31\x2e\x39\x39\x35\x32\
+\x31\x2c\x30\x2e\x31\x36\x36\x32\x36\x20\x2d\x32\x2e\x32\x38\x38\
+\x34\x37\x2c\x30\x2e\x39\x33\x30\x34\x38\x20\x2d\x30\x2e\x36\x30\
+\x37\x34\x37\x2c\x31\x2e\x35\x38\x33\x30\x33\x20\x2d\x34\x2e\x31\
+\x37\x34\x39\x31\x2c\x31\x2e\x38\x37\x39\x38\x20\x2d\x35\x2e\x30\
+\x37\x35\x37\x33\x2c\x30\x2e\x34\x32\x32\x32\x34\x20\x2d\x30\x2e\
+\x33\x32\x38\x37\x38\x2c\x2d\x30\x2e\x35\x33\x31\x39\x38\x20\x2d\
+\x32\x2e\x30\x30\x30\x33\x31\x2c\x2d\x30\x2e\x36\x38\x36\x37\x34\
+\x20\x2d\x33\x2e\x37\x31\x34\x35\x2c\x2d\x30\x2e\x33\x34\x33\x39\
+\x20\x2d\x32\x2e\x31\x33\x36\x38\x35\x2c\x30\x2e\x34\x32\x37\x33\
+\x37\x20\x2d\x32\x2e\x39\x30\x33\x34\x38\x2c\x30\x2e\x32\x37\x38\
+\x33\x31\x20\x2d\x32\x2e\x34\x33\x38\x34\x34\x2c\x2d\x30\x2e\x34\
+\x37\x34\x31\x34\x20\x30\x2e\x34\x34\x32\x37\x38\x2c\x2d\x30\x2e\
+\x37\x31\x36\x34\x33\x20\x2d\x30\x2e\x38\x30\x35\x32\x36\x2c\x2d\
+\x31\x2e\x32\x30\x34\x36\x34\x20\x2d\x33\x2e\x35\x39\x34\x35\x31\
+\x2c\x2d\x31\x2e\x34\x30\x36\x31\x20\x43\x20\x31\x31\x37\x2e\x30\
+\x31\x37\x32\x37\x2c\x31\x35\x37\x2e\x33\x32\x30\x36\x38\x20\x31\
+\x30\x37\x2c\x31\x36\x30\x2e\x31\x32\x35\x33\x33\x20\x31\x30\x37\
+\x2c\x31\x36\x32\x2e\x35\x30\x34\x36\x39\x20\x63\x20\x30\x2c\x30\
+\x2e\x36\x39\x34\x31\x33\x20\x2d\x30\x2e\x38\x39\x32\x31\x39\x2c\
+\x31\x2e\x34\x39\x35\x33\x36\x20\x2d\x31\x2e\x39\x38\x32\x36\x35\
+\x2c\x31\x2e\x37\x38\x30\x35\x32\x20\x2d\x31\x2e\x36\x38\x36\x34\
+\x37\x2c\x30\x2e\x34\x34\x31\x30\x32\x20\x2d\x31\x2e\x38\x33\x30\
+\x36\x2c\x30\x2e\x32\x33\x34\x33\x36\x20\x2d\x30\x2e\x39\x36\x34\
+\x38\x32\x2c\x2d\x31\x2e\x33\x38\x33\x33\x37\x20\x7a\x20\x6d\x20\
+\x36\x2e\x36\x39\x37\x34\x37\x2c\x2d\x37\x2e\x35\x36\x34\x31\x32\
+\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\
+\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\
+\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\x2e\
+\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\x30\
+\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\x2e\
+\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\x31\
+\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\x6d\
+\x20\x31\x30\x2c\x2d\x31\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\
+\x2d\x30\x2e\x32\x37\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\
+\x2e\x36\x38\x37\x35\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\
+\x31\x32\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\
+\x35\x2c\x30\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\
+\x2c\x30\x20\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\
+\x36\x39\x38\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\
+\x33\x39\x20\x7a\x20\x6d\x20\x36\x2e\x32\x35\x2c\x2d\x31\x2e\x39\
+\x36\x30\x31\x36\x20\x63\x20\x30\x2c\x2d\x31\x2e\x33\x38\x38\x38\
+\x20\x30\x2e\x32\x35\x32\x30\x32\x2c\x2d\x31\x2e\x34\x32\x39\x35\
+\x35\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x32\x38\x32\x39\x37\x20\
+\x30\x2e\x39\x36\x32\x35\x2c\x30\x2e\x37\x33\x36\x37\x31\x20\x31\
+\x2e\x39\x33\x37\x35\x2c\x31\x2e\x34\x36\x36\x38\x31\x20\x32\x2e\
+\x31\x36\x36\x36\x37\x2c\x31\x2e\x36\x32\x32\x34\x34\x20\x30\x2e\
+\x32\x32\x39\x31\x36\x2c\x30\x2e\x31\x35\x35\x36\x33\x20\x2d\x30\
+\x2e\x35\x35\x38\x33\x34\x2c\x30\x2e\x32\x38\x32\x39\x37\x20\x2d\
+\x31\x2e\x37\x35\x2c\x30\x2e\x32\x38\x32\x39\x37\x20\x43\x20\x31\
+\x32\x37\x2e\x38\x33\x34\x37\x33\x2c\x31\x35\x34\x20\x31\x32\x37\
+\x2c\x31\x35\x33\x2e\x33\x37\x34\x39\x33\x20\x31\x32\x37\x2c\x31\
+\x35\x32\x2e\x33\x37\x37\x35\x36\x20\x7a\x20\x6d\x20\x33\x2e\x31\
+\x32\x39\x32\x37\x2c\x2d\x31\x2e\x30\x32\x37\x36\x36\x20\x63\x20\
+\x2d\x31\x2e\x32\x37\x38\x30\x33\x2c\x2d\x30\x2e\x39\x33\x32\x33\
+\x35\x20\x2d\x30\x2e\x34\x34\x35\x35\x32\x2c\x2d\x31\x2e\x32\x37\
+\x39\x32\x20\x34\x2e\x33\x39\x37\x31\x2c\x2d\x31\x2e\x38\x33\x31\
+\x39\x32\x20\x33\x2e\x32\x38\x35\x35\x2c\x2d\x30\x2e\x33\x37\x34\
+\x39\x39\x20\x36\x2e\x38\x37\x33\x36\x33\x2c\x2d\x30\x2e\x38\x36\
+\x35\x37\x39\x20\x37\x2e\x39\x37\x33\x36\x33\x2c\x2d\x31\x2e\x30\
+\x39\x30\x36\x36\x20\x31\x2e\x31\x2c\x2d\x30\x2e\x32\x32\x34\x38\
+\x37\x20\x31\x2e\x34\x33\x37\x35\x2c\x2d\x30\x2e\x31\x35\x30\x35\
+\x31\x20\x30\x2e\x37\x35\x2c\x30\x2e\x31\x36\x35\x32\x34\x20\x2d\
+\x30\x2e\x36\x38\x37\x35\x2c\x30\x2e\x33\x31\x35\x37\x36\x20\x2d\
+\x31\x2e\x32\x35\x2c\x31\x2e\x32\x30\x33\x30\x33\x20\x2d\x31\x2e\
+\x32\x35\x2c\x31\x2e\x39\x37\x31\x37\x32\x20\x30\x2c\x32\x2e\x35\
+\x32\x35\x36\x20\x2d\x38\x2e\x36\x39\x36\x36\x36\x2c\x33\x2e\x31\
+\x30\x31\x31\x35\x20\x2d\x31\x31\x2e\x38\x37\x30\x37\x33\x2c\x30\
+\x2e\x37\x38\x35\x36\x32\x20\x7a\x20\x4d\x20\x31\x33\x39\x2c\x31\
+\x35\x31\x2e\x30\x38\x38\x34\x38\x20\x63\x20\x30\x2c\x2d\x31\x2e\
+\x30\x31\x36\x36\x36\x20\x2d\x32\x2e\x35\x35\x36\x39\x31\x2c\x2d\
+\x30\x2e\x38\x36\x34\x39\x20\x2d\x33\x2e\x36\x33\x37\x37\x32\x2c\
+\x30\x2e\x32\x31\x35\x39\x31\x20\x43\x20\x31\x33\x34\x2e\x39\x37\
+\x39\x36\x39\x2c\x31\x35\x31\x2e\x36\x38\x36\x39\x38\x20\x31\x33\
+\x35\x2e\x36\x34\x31\x36\x37\x2c\x31\x35\x32\x20\x31\x33\x36\x2e\
+\x38\x33\x33\x33\x33\x2c\x31\x35\x32\x20\x31\x33\x38\x2e\x30\x32\
+\x35\x2c\x31\x35\x32\x20\x31\x33\x39\x2c\x31\x35\x31\x2e\x35\x38\
+\x39\x38\x32\x20\x31\x33\x39\x2c\x31\x35\x31\x2e\x30\x38\x38\x34\
+\x38\x20\x7a\x20\x6d\x20\x31\x31\x2c\x2d\x31\x2e\x30\x32\x39\x34\
+\x36\x20\x63\x20\x30\x2c\x2d\x31\x2e\x36\x37\x36\x34\x33\x20\x31\
+\x2e\x37\x37\x33\x35\x34\x2c\x2d\x32\x2e\x30\x39\x31\x35\x34\x20\
+\x32\x2e\x33\x36\x33\x38\x33\x2c\x2d\x30\x2e\x35\x35\x33\x32\x38\
+\x20\x43\x20\x31\x35\x32\x2e\x37\x31\x32\x31\x33\x2c\x31\x35\x30\
+\x2e\x34\x31\x33\x34\x20\x31\x35\x32\x2e\x33\x36\x30\x37\x2c\x31\
+\x35\x31\x20\x31\x35\x31\x2e\x34\x36\x38\x36\x32\x2c\x31\x35\x31\
+\x20\x31\x35\x30\x2e\x36\x36\x30\x38\x38\x2c\x31\x35\x31\x20\x31\
+\x35\x30\x2c\x31\x35\x30\x2e\x35\x37\x36\x35\x36\x20\x31\x35\x30\
+\x2c\x31\x35\x30\x2e\x30\x35\x39\x30\x32\x20\x7a\x20\x6d\x20\x2d\
+\x34\x36\x2e\x37\x33\x33\x33\x32\x2c\x2d\x32\x2e\x31\x36\x38\x38\
+\x39\x20\x43\x20\x31\x30\x33\x2e\x31\x38\x38\x33\x37\x2c\x31\x34\
+\x36\x2e\x38\x35\x30\x35\x36\x20\x31\x30\x33\x2e\x37\x33\x33\x38\
+\x33\x2c\x31\x34\x36\x20\x31\x30\x34\x2e\x34\x37\x38\x38\x32\x2c\
+\x31\x34\x36\x20\x63\x20\x30\x2e\x37\x34\x34\x39\x38\x2c\x30\x20\
+\x31\x2e\x35\x31\x30\x39\x38\x2c\x2d\x30\x2e\x34\x36\x39\x33\x39\
+\x20\x31\x2e\x37\x30\x32\x32\x31\x2c\x2d\x31\x2e\x30\x34\x33\x31\
+\x20\x30\x2e\x31\x39\x31\x32\x34\x2c\x2d\x30\x2e\x35\x37\x33\x37\
+\x20\x31\x2e\x35\x37\x39\x34\x36\x2c\x2d\x31\x2e\x31\x37\x34\x34\
+\x32\x20\x33\x2e\x30\x38\x34\x39\x34\x2c\x2d\x31\x2e\x33\x33\x34\
+\x39\x33\x20\x31\x2e\x35\x30\x35\x34\x37\x2c\x2d\x30\x2e\x31\x36\
+\x30\x35\x31\x20\x33\x2e\x30\x33\x36\x35\x31\x2c\x2d\x30\x2e\x35\
+\x39\x31\x31\x32\x20\x33\x2e\x34\x30\x32\x33\x2c\x2d\x30\x2e\x39\
+\x35\x36\x39\x20\x30\x2e\x33\x36\x35\x37\x38\x2c\x2d\x30\x2e\x33\
+\x36\x35\x37\x39\x20\x31\x2e\x38\x32\x37\x35\x36\x2c\x2d\x30\x2e\
+\x36\x37\x31\x39\x36\x20\x33\x2e\x32\x34\x38\x34\x2c\x2d\x30\x2e\
+\x36\x38\x30\x33\x38\x20\x32\x2e\x30\x39\x31\x31\x36\x2c\x2d\x30\
+\x2e\x30\x31\x32\x34\x20\x32\x2e\x32\x39\x37\x35\x35\x2c\x2d\x30\
+\x2e\x32\x31\x35\x32\x31\x20\x31\x2e\x30\x38\x33\x33\x33\x2c\x2d\
+\x31\x2e\x30\x36\x34\x35\x32\x20\x2d\x31\x2e\x31\x30\x33\x30\x37\
+\x2c\x2d\x30\x2e\x37\x37\x31\x35\x37\x20\x2d\x30\x2e\x34\x34\x31\
+\x35\x33\x2c\x2d\x30\x2e\x38\x38\x34\x34\x36\x20\x32\x2e\x35\x2c\
+\x2d\x30\x2e\x34\x32\x36\x36\x33\x20\x32\x2e\x32\x2c\x30\x2e\x33\
+\x34\x32\x34\x31\x20\x35\x2e\x33\x36\x32\x34\x31\x2c\x30\x2e\x37\
+\x35\x32\x30\x34\x20\x37\x2e\x30\x32\x37\x35\x37\x2c\x30\x2e\x39\
+\x31\x30\x32\x39\x20\x31\x2e\x36\x36\x35\x31\x37\x2c\x30\x2e\x31\
+\x35\x38\x32\x35\x20\x34\x2e\x30\x31\x31\x37\x32\x2c\x30\x2e\x38\
+\x31\x34\x34\x32\x20\x35\x2e\x32\x31\x34\x35\x36\x2c\x31\x2e\x34\
+\x35\x38\x31\x36\x20\x31\x2e\x38\x30\x32\x31\x34\x2c\x30\x2e\x39\
+\x36\x34\x34\x38\x20\x35\x2e\x33\x34\x39\x35\x38\x2c\x30\x2e\x39\
+\x37\x35\x35\x38\x20\x31\x30\x2e\x39\x36\x33\x36\x36\x2c\x30\x2e\
+\x30\x33\x34\x33\x20\x31\x2e\x39\x35\x36\x30\x32\x2c\x2d\x30\x2e\
+\x33\x32\x37\x39\x35\x20\x32\x2e\x39\x36\x30\x38\x38\x2c\x30\x2e\
+\x32\x31\x36\x33\x20\x32\x2e\x39\x36\x30\x38\x38\x2c\x31\x2e\x36\
+\x30\x33\x36\x38\x20\x30\x2c\x31\x2e\x30\x38\x30\x31\x34\x20\x2d\
+\x31\x2e\x31\x34\x32\x39\x36\x2c\x31\x2e\x35\x31\x34\x32\x32\x20\
+\x2d\x34\x2e\x30\x38\x33\x33\x34\x2c\x31\x2e\x35\x35\x30\x38\x32\
+\x20\x2d\x32\x2e\x32\x34\x35\x38\x33\x2c\x30\x2e\x30\x32\x38\x20\
+\x2d\x36\x2e\x31\x30\x38\x33\x33\x2c\x30\x2e\x32\x37\x37\x37\x31\
+\x20\x2d\x38\x2e\x35\x38\x33\x33\x33\x2c\x30\x2e\x35\x35\x35\x30\
+\x32\x20\x2d\x33\x2e\x34\x32\x37\x2c\x30\x2e\x33\x38\x33\x39\x38\
+\x20\x2d\x34\x2e\x31\x34\x32\x33\x33\x2c\x30\x2e\x32\x34\x32\x20\
+\x2d\x33\x2c\x2d\x30\x2e\x35\x39\x35\x34\x35\x20\x31\x2e\x31\x39\
+\x34\x30\x31\x2c\x2d\x30\x2e\x38\x37\x35\x33\x33\x20\x30\x2e\x38\
+\x38\x38\x30\x31\x2c\x2d\x31\x2e\x30\x34\x31\x37\x38\x20\x2d\x31\
+\x2e\x35\x2c\x2d\x30\x2e\x38\x31\x35\x39\x36\x20\x2d\x31\x2e\x37\
+\x39\x34\x35\x33\x2c\x30\x2e\x31\x36\x39\x36\x39\x20\x2d\x32\x2e\
+\x39\x31\x36\x32\x2c\x2d\x30\x2e\x31\x36\x34\x32\x33\x20\x2d\x32\
+\x2e\x37\x39\x31\x34\x35\x2c\x2d\x30\x2e\x38\x33\x31\x30\x33\x20\
+\x30\x2e\x31\x34\x32\x37\x39\x2c\x2d\x30\x2e\x37\x36\x33\x32\x33\
+\x20\x2d\x31\x2e\x38\x38\x31\x36\x31\x2c\x2d\x30\x2e\x39\x37\x38\
+\x30\x37\x20\x2d\x36\x2e\x34\x32\x30\x32\x33\x2c\x2d\x30\x2e\x36\
+\x38\x31\x33\x35\x20\x2d\x36\x2e\x37\x39\x32\x35\x33\x2c\x30\x2e\
+\x34\x34\x34\x31\x20\x2d\x31\x33\x2e\x32\x38\x38\x33\x32\x2c\x32\
+\x2e\x34\x37\x37\x36\x32\x20\x2d\x31\x33\x2e\x32\x38\x38\x33\x32\
+\x2c\x34\x2e\x31\x35\x39\x39\x36\x20\x30\x2c\x31\x2e\x38\x37\x38\
+\x33\x34\x20\x2d\x32\x2e\x35\x39\x32\x30\x32\x2c\x31\x2e\x39\x32\
+\x34\x20\x2d\x32\x2e\x37\x33\x33\x33\x32\x2c\x30\x2e\x30\x34\x38\
+\x31\x20\x7a\x20\x6d\x20\x32\x31\x2e\x35\x34\x35\x38\x32\x2c\x2d\
+\x38\x2e\x35\x37\x33\x32\x34\x20\x63\x20\x30\x2e\x37\x32\x31\x38\
+\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\
+\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\
+\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\
+\x32\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x20\x2d\x30\x2e\x32\x35\
+\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\
+\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\
+\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\
+\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\
+\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\
+\x20\x6d\x20\x34\x2e\x36\x37\x34\x34\x34\x2c\x2d\x30\x2e\x32\x39\
+\x35\x37\x35\x20\x63\x20\x30\x2e\x32\x38\x39\x30\x33\x2c\x2d\x30\
+\x2e\x34\x36\x37\x36\x38\x20\x2d\x30\x2e\x30\x33\x39\x38\x2c\x2d\
+\x31\x2e\x30\x37\x38\x32\x33\x20\x2d\x30\x2e\x37\x33\x30\x37\x31\
+\x2c\x2d\x31\x2e\x33\x35\x36\x37\x38\x20\x2d\x30\x2e\x36\x39\x30\
+\x39\x33\x2c\x2d\x30\x2e\x32\x37\x38\x35\x36\x20\x2d\x30\x2e\x33\
+\x35\x36\x32\x33\x2c\x2d\x30\x2e\x35\x34\x38\x38\x38\x20\x30\x2e\
+\x37\x34\x33\x37\x37\x2c\x2d\x30\x2e\x36\x30\x30\x37\x33\x20\x31\
+\x2e\x36\x36\x34\x34\x2c\x2d\x30\x2e\x30\x37\x38\x34\x20\x31\x2e\
+\x37\x34\x38\x33\x2c\x2d\x30\x2e\x32\x35\x36\x39\x31\x20\x30\x2e\
+\x35\x2c\x2d\x31\x2e\x30\x36\x33\x36\x33\x20\x2d\x31\x2e\x32\x34\
+\x37\x36\x38\x2c\x2d\x30\x2e\x38\x30\x36\x33\x31\x20\x2d\x31\x2e\
+\x31\x36\x33\x35\x38\x2c\x2d\x30\x2e\x39\x38\x33\x35\x34\x20\x30\
+\x2e\x35\x2c\x2d\x31\x2e\x30\x35\x33\x35\x39\x20\x31\x2e\x31\x2c\
+\x2d\x30\x2e\x30\x34\x36\x33\x20\x33\x2e\x32\x33\x37\x35\x2c\x2d\
+\x30\x2e\x32\x34\x37\x35\x31\x20\x34\x2e\x37\x35\x2c\x2d\x30\x2e\
+\x34\x34\x37\x30\x39\x20\x33\x2e\x30\x34\x35\x31\x36\x2c\x2d\x30\
+\x2e\x34\x30\x31\x38\x33\x20\x33\x2e\x35\x34\x33\x31\x31\x2c\x30\
+\x2e\x38\x35\x30\x34\x33\x20\x31\x2e\x32\x35\x2c\x33\x2e\x31\x34\
+\x33\x35\x34\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x2e\x38\x32\x35\
+\x20\x2d\x31\x2e\x35\x2c\x31\x2e\x32\x37\x34\x32\x37\x20\x2d\x31\
+\x2e\x35\x2c\x30\x2e\x39\x39\x38\x33\x37\x20\x30\x2c\x2d\x30\x2e\
+\x32\x37\x35\x38\x39\x20\x2d\x31\x2e\x33\x35\x38\x36\x38\x2c\x2d\
+\x30\x2e\x31\x31\x31\x39\x35\x20\x2d\x33\x2e\x30\x31\x39\x32\x39\
+\x2c\x30\x2e\x33\x36\x34\x33\x20\x2d\x31\x2e\x36\x36\x30\x36\x32\
+\x2c\x30\x2e\x34\x37\x36\x32\x36\x20\x2d\x32\x2e\x37\x38\x32\x38\
+\x31\x2c\x30\x2e\x34\x38\x33\x32\x38\x20\x2d\x32\x2e\x34\x39\x33\
+\x37\x37\x2c\x30\x2e\x30\x31\x35\x36\x20\x7a\x20\x4d\x20\x31\x34\
+\x30\x2e\x32\x30\x36\x31\x36\x2c\x31\x33\x36\x2e\x32\x35\x20\x63\
+\x20\x30\x2e\x33\x36\x35\x39\x32\x2c\x2d\x32\x2e\x31\x37\x39\x33\
+\x31\x20\x31\x2e\x37\x32\x31\x37\x31\x2c\x2d\x33\x2e\x32\x31\x34\
+\x38\x36\x20\x34\x2e\x32\x33\x34\x39\x37\x2c\x2d\x33\x2e\x32\x33\
+\x34\x36\x39\x20\x31\x2e\x39\x32\x31\x35\x31\x2c\x2d\x30\x2e\x30\
+\x31\x35\x32\x20\x31\x2e\x39\x32\x31\x35\x31\x2c\x36\x65\x2d\x34\
+\x20\x30\x2c\x31\x2e\x35\x35\x38\x38\x35\x20\x2d\x31\x2e\x30\x36\
+\x37\x36\x32\x2c\x30\x2e\x38\x36\x35\x37\x38\x20\x2d\x31\x2e\x32\
+\x36\x36\x31\x33\x2c\x31\x2e\x32\x32\x39\x34\x20\x2d\x30\x2e\x34\
+\x34\x31\x31\x33\x2c\x30\x2e\x38\x30\x38\x30\x34\x20\x31\x2e\x32\
+\x39\x31\x33\x35\x2c\x2d\x30\x2e\x36\x35\x39\x35\x35\x20\x31\x2e\
+\x33\x30\x39\x30\x39\x2c\x2d\x30\x2e\x35\x33\x30\x37\x37\x20\x30\
+\x2e\x31\x32\x37\x35\x36\x2c\x30\x2e\x39\x32\x35\x38\x34\x20\x2d\
+\x31\x2e\x37\x39\x39\x39\x37\x2c\x32\x2e\x32\x31\x39\x30\x31\x20\
+\x2d\x34\x2e\x32\x39\x37\x35\x32\x2c\x32\x2e\x31\x38\x32\x30\x35\
+\x20\x2d\x33\x2e\x39\x32\x31\x34\x2c\x2d\x30\x2e\x30\x35\x38\x20\
+\x7a\x20\x6d\x20\x31\x30\x2e\x38\x34\x34\x31\x37\x2c\x2d\x31\x2e\
+\x33\x34\x34\x30\x35\x20\x63\x20\x30\x2e\x36\x39\x30\x32\x39\x2c\
+\x2d\x31\x2e\x32\x38\x39\x38\x31\x20\x30\x2e\x35\x33\x36\x38\x38\
+\x2c\x2d\x31\x2e\x38\x38\x36\x36\x34\x20\x2d\x30\x2e\x35\x37\x33\
+\x36\x31\x2c\x2d\x32\x2e\x32\x33\x31\x35\x35\x20\x2d\x31\x2e\x30\
+\x35\x34\x30\x38\x2c\x2d\x30\x2e\x33\x32\x37\x33\x38\x20\x2d\x30\
+\x2e\x39\x37\x36\x38\x2c\x2d\x30\x2e\x34\x32\x31\x35\x39\x20\x30\
+\x2e\x32\x35\x33\x36\x38\x2c\x2d\x30\x2e\x33\x30\x39\x32\x32\x20\
+\x32\x2e\x30\x33\x39\x2c\x30\x2e\x31\x38\x36\x32\x20\x32\x2e\x36\
+\x38\x38\x36\x39\x2c\x34\x2e\x33\x30\x31\x34\x39\x20\x30\x2e\x36\
+\x37\x39\x30\x38\x2c\x34\x2e\x33\x30\x31\x34\x39\x20\x2d\x30\x2e\
+\x39\x33\x32\x36\x32\x2c\x30\x20\x2d\x31\x2e\x30\x33\x34\x34\x2c\
+\x2d\x30\x2e\x34\x39\x38\x39\x39\x20\x2d\x30\x2e\x33\x35\x39\x31\
+\x35\x2c\x2d\x31\x2e\x37\x36\x30\x37\x32\x20\x7a\x20\x6d\x20\x2d\
+\x34\x39\x2e\x33\x38\x33\x36\x36\x2c\x2d\x30\x2e\x35\x37\x32\x36\
+\x32\x20\x63\x20\x2d\x31\x2e\x34\x35\x39\x34\x31\x2c\x2d\x31\x2e\
+\x34\x35\x39\x34\x31\x20\x2d\x30\x2e\x35\x35\x35\x34\x33\x2c\x2d\
+\x32\x2e\x34\x39\x33\x30\x38\x20\x31\x2e\x30\x38\x33\x33\x33\x2c\
+\x2d\x31\x2e\x32\x33\x38\x37\x34\x20\x30\x2e\x39\x36\x32\x35\x2c\
+\x30\x2e\x37\x33\x36\x37\x31\x20\x31\x2e\x34\x32\x37\x37\x36\x2c\
+\x30\x2e\x39\x35\x37\x30\x37\x20\x31\x2e\x30\x33\x33\x39\x31\x2c\
+\x30\x2e\x34\x38\x39\x36\x39\x20\x2d\x31\x2e\x31\x35\x31\x37\x31\
+\x2c\x2d\x31\x2e\x33\x36\x36\x37\x35\x20\x33\x2e\x38\x35\x36\x30\
+\x35\x2c\x2d\x34\x2e\x36\x35\x39\x33\x33\x20\x37\x2e\x39\x35\x30\
+\x35\x34\x2c\x2d\x35\x2e\x32\x32\x37\x34\x34\x20\x32\x2e\x38\x34\
+\x30\x34\x31\x2c\x2d\x30\x2e\x33\x39\x34\x31\x31\x20\x33\x2e\x33\
+\x39\x37\x30\x32\x2c\x2d\x30\x2e\x32\x36\x30\x32\x31\x20\x32\x2e\
+\x32\x36\x35\x35\x35\x2c\x30\x2e\x35\x34\x35\x30\x33\x20\x2d\x30\
+\x2e\x38\x32\x35\x2c\x30\x2e\x35\x38\x37\x31\x33\x20\x2d\x32\x2e\
+\x34\x34\x30\x32\x37\x2c\x31\x2e\x30\x37\x34\x34\x20\x2d\x33\x2e\
+\x35\x38\x39\x34\x38\x2c\x31\x2e\x30\x38\x32\x38\x32\x20\x2d\x31\
+\x2e\x32\x34\x39\x31\x35\x2c\x30\x2e\x30\x30\x39\x20\x2d\x32\x2e\
+\x35\x34\x37\x36\x2c\x31\x2e\x30\x32\x30\x37\x34\x20\x2d\x33\x2e\
+\x32\x32\x38\x35\x37\x2c\x32\x2e\x35\x31\x35\x33\x31\x20\x2d\x31\
+\x2e\x30\x36\x38\x37\x35\x2c\x32\x2e\x33\x34\x35\x36\x36\x20\x2d\
+\x34\x2e\x30\x32\x31\x34\x35\x2c\x33\x2e\x33\x32\x37\x31\x36\x20\
+\x2d\x35\x2e\x35\x31\x35\x32\x38\x2c\x31\x2e\x38\x33\x33\x33\x33\
+\x20\x7a\x20\x4d\x20\x31\x33\x30\x2e\x37\x35\x2c\x31\x33\x30\x2e\
+\x37\x31\x31\x37\x31\x20\x63\x20\x2d\x32\x2e\x30\x36\x32\x35\x2c\
+\x2d\x30\x2e\x35\x30\x30\x37\x31\x20\x2d\x33\x2e\x37\x35\x2c\x2d\
+\x31\x2e\x32\x30\x36\x34\x33\x20\x2d\x33\x2e\x37\x35\x2c\x2d\x31\
+\x2e\x35\x36\x38\x32\x36\x20\x30\x2c\x2d\x30\x2e\x33\x36\x31\x38\
+\x32\x20\x2d\x32\x2e\x30\x37\x34\x39\x39\x2c\x2d\x30\x2e\x34\x39\
+\x32\x38\x33\x20\x2d\x34\x2e\x36\x31\x31\x30\x39\x2c\x2d\x30\x2e\
+\x32\x39\x31\x31\x33\x20\x2d\x32\x2e\x35\x33\x36\x30\x39\x2c\x30\
+\x2e\x32\x30\x31\x37\x31\x20\x2d\x35\x2e\x35\x37\x33\x35\x39\x2c\
+\x2d\x30\x2e\x30\x39\x39\x36\x20\x2d\x36\x2e\x37\x35\x2c\x2d\x30\
+\x2e\x36\x36\x39\x36\x37\x20\x2d\x31\x2e\x31\x37\x36\x34\x2c\x2d\
+\x30\x2e\x35\x37\x30\x30\x32\x20\x2d\x32\x2e\x38\x31\x33\x39\x31\
+\x2c\x2d\x31\x2e\x32\x35\x39\x35\x33\x20\x2d\x33\x2e\x36\x33\x38\
+\x39\x31\x2c\x2d\x31\x2e\x35\x33\x32\x32\x34\x20\x2d\x30\x2e\x38\
+\x32\x35\x2c\x2d\x30\x2e\x32\x37\x32\x37\x31\x20\x32\x2e\x33\x39\
+\x37\x32\x2c\x2d\x30\x2e\x33\x35\x37\x30\x38\x20\x37\x2e\x31\x36\
+\x30\x34\x34\x2c\x2d\x30\x2e\x31\x38\x37\x34\x39\x20\x34\x2e\x37\
+\x36\x33\x32\x34\x2c\x30\x2e\x31\x36\x39\x35\x39\x20\x39\x2e\x30\
+\x37\x30\x36\x33\x2c\x30\x2e\x35\x36\x31\x38\x35\x20\x39\x2e\x35\
+\x37\x31\x39\x37\x2c\x30\x2e\x38\x37\x31\x37\x20\x31\x2e\x34\x30\
+\x33\x35\x32\x2c\x30\x2e\x38\x36\x37\x34\x32\x20\x38\x2e\x37\x32\
+\x35\x39\x32\x2c\x31\x2e\x31\x31\x38\x31\x38\x20\x39\x2e\x39\x38\
+\x32\x30\x37\x2c\x30\x2e\x33\x34\x31\x38\x34\x20\x30\x2e\x36\x31\
+\x34\x37\x33\x2c\x2d\x30\x2e\x33\x37\x39\x39\x32\x20\x32\x2e\x32\
+\x36\x37\x31\x35\x2c\x2d\x30\x2e\x32\x35\x33\x37\x34\x20\x33\x2e\
+\x36\x37\x32\x30\x35\x2c\x30\x2e\x32\x38\x30\x34\x20\x31\x2e\x39\
+\x39\x36\x39\x38\x2c\x30\x2e\x37\x35\x39\x32\x35\x20\x32\x2e\x37\
+\x34\x37\x30\x37\x2c\x30\x2e\x36\x32\x36\x38\x33\x20\x33\x2e\x34\
+\x33\x37\x34\x37\x2c\x2d\x30\x2e\x36\x30\x36\x38\x36\x20\x30\x2e\
+\x37\x34\x39\x34\x36\x2c\x2d\x31\x2e\x33\x33\x39\x32\x20\x30\x2e\
+\x39\x36\x39\x31\x39\x2c\x2d\x31\x2e\x32\x34\x38\x38\x33\x20\x31\
+\x2e\x34\x35\x31\x39\x33\x2c\x30\x2e\x35\x39\x37\x31\x36\x20\x30\
+\x2e\x36\x39\x39\x35\x31\x2c\x32\x2e\x36\x37\x34\x39\x32\x20\x2d\
+\x30\x2e\x38\x37\x31\x36\x31\x2c\x33\x2e\x33\x39\x36\x38\x33\x20\
+\x2d\x36\x2e\x32\x37\x31\x38\x35\x2c\x32\x2e\x38\x38\x31\x38\x34\
+\x20\x43\x20\x31\x33\x38\x2e\x38\x30\x31\x38\x33\x2c\x31\x33\x30\
+\x2e\x36\x31\x38\x39\x38\x20\x31\x33\x37\x2c\x31\x33\x30\x2e\x37\
+\x32\x31\x35\x34\x20\x31\x33\x37\x2c\x31\x33\x31\x2e\x30\x35\x36\
+\x39\x31\x20\x63\x20\x30\x2c\x30\x2e\x38\x33\x32\x39\x36\x20\x2d\
+\x31\x2e\x38\x30\x38\x34\x34\x2c\x30\x2e\x37\x33\x33\x30\x37\x20\
+\x2d\x36\x2e\x32\x35\x2c\x2d\x30\x2e\x33\x34\x35\x32\x20\x7a\x20\
+\x6d\x20\x2d\x33\x31\x2e\x39\x33\x37\x35\x2c\x2d\x33\x2e\x33\x39\
+\x34\x38\x32\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x35\x2c\x2d\
+\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\
+\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\
+\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\
+\x30\x2e\x33\x33\x32\x33\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\
+\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x30\
+\x33\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\
+\x39\x34\x33\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\
+\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\
+\x30\x34\x31\x36\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\
+\x20\x6d\x20\x32\x34\x2c\x2d\x32\x20\x63\x20\x30\x2e\x37\x32\x31\
+\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\x38\x37\x20\x31\x2e\x35\x38\
+\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\x33\x33\x35\x20\x31\x2e\x39\
+\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\x38\x39\x20\x30\x2e\x33\x33\
+\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\x33\x20\x2d\x30\x2e\x32\x35\
+\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x20\x2d\x31\x2e\x33\
+\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\
+\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x38\x20\x2d\x31\x2e\x34\
+\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x20\x2d\x30\x2e\
+\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\x36\x20\x7a\
+\x20\x6d\x20\x35\x2e\x35\x39\x30\x31\x35\x2c\x2d\x31\x2e\x31\x35\
+\x39\x33\x37\x20\x43\x20\x31\x32\x38\x2e\x37\x39\x36\x31\x31\x2c\
+\x31\x32\x33\x2e\x35\x32\x30\x38\x39\x20\x31\x32\x39\x2e\x37\x36\
+\x36\x34\x38\x2c\x31\x32\x33\x20\x31\x33\x30\x2e\x35\x35\x39\x30\
+\x32\x2c\x31\x32\x33\x20\x63\x20\x32\x2e\x33\x38\x32\x34\x31\x2c\
+\x30\x20\x31\x2e\x36\x32\x30\x39\x2c\x2d\x31\x2e\x39\x39\x30\x38\
+\x20\x2d\x30\x2e\x38\x30\x39\x30\x32\x2c\x2d\x32\x2e\x31\x31\x35\
+\x20\x2d\x31\x2e\x32\x36\x30\x34\x33\x2c\x2d\x30\x2e\x30\x36\x34\
+\x34\x20\x2d\x30\x2e\x34\x39\x30\x37\x36\x2c\x2d\x30\x2e\x34\x37\
+\x38\x38\x38\x20\x31\x2e\x37\x35\x2c\x2d\x30\x2e\x39\x34\x32\x33\
+\x37\x20\x35\x2e\x39\x32\x33\x36\x36\x2c\x2d\x31\x2e\x32\x32\x35\
+\x32\x37\x20\x37\x2e\x35\x2c\x2d\x31\x2e\x31\x30\x38\x31\x32\x20\
+\x37\x2e\x35\x2c\x30\x2e\x35\x35\x37\x33\x37\x20\x30\x2c\x30\x2e\
+\x38\x32\x35\x20\x2d\x30\x2e\x34\x37\x36\x35\x36\x2c\x31\x2e\x35\
+\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x2e\x35\x20\x2d\x30\
+\x2e\x35\x38\x32\x34\x36\x2c\x30\x20\x2d\x30\x2e\x37\x38\x30\x39\
+\x2c\x30\x2e\x34\x35\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\
+\x20\x30\x2e\x33\x35\x35\x34\x2c\x30\x2e\x35\x37\x35\x30\x35\x20\
+\x2d\x30\x2e\x35\x37\x35\x36\x35\x2c\x31\x2e\x30\x30\x35\x38\x20\
+\x2d\x32\x2e\x31\x39\x30\x39\x38\x2c\x31\x2e\x30\x31\x33\x36\x35\
+\x20\x2d\x31\x2e\x35\x34\x34\x39\x36\x2c\x30\x2e\x30\x30\x38\x20\
+\x2d\x33\x2e\x38\x39\x31\x38\x39\x2c\x30\x2e\x33\x30\x33\x34\x20\
+\x2d\x35\x2e\x32\x31\x35\x33\x39\x2c\x30\x2e\x36\x35\x37\x35\x33\
+\x20\x2d\x31\x2e\x36\x38\x37\x31\x38\x2c\x30\x2e\x34\x35\x31\x34\
+\x33\x20\x2d\x32\x2e\x31\x39\x32\x35\x36\x2c\x30\x2e\x32\x39\x37\
+\x39\x32\x20\x2d\x31\x2e\x36\x39\x30\x39\x38\x2c\x2d\x30\x2e\x35\
+\x31\x33\x36\x36\x20\x7a\x20\x6d\x20\x31\x31\x2e\x37\x30\x33\x36\
+\x34\x2c\x2d\x33\x2e\x30\x33\x32\x35\x37\x20\x63\x20\x30\x2e\x36\
+\x37\x37\x33\x35\x2c\x2d\x31\x2e\x39\x34\x33\x30\x36\x20\x31\x2e\
+\x36\x37\x37\x37\x36\x2c\x2d\x32\x2e\x39\x34\x31\x35\x39\x20\x32\
+\x2e\x38\x35\x38\x30\x35\x2c\x2d\x32\x2e\x38\x35\x32\x36\x38\x20\
+\x31\x2e\x30\x34\x35\x32\x37\x2c\x30\x2e\x30\x37\x38\x37\x20\x31\
+\x2e\x36\x30\x34\x39\x35\x2c\x30\x2e\x36\x38\x36\x35\x37\x20\x31\
+\x2e\x33\x31\x38\x38\x2c\x31\x2e\x34\x33\x32\x32\x36\x20\x2d\x30\
+\x2e\x32\x37\x33\x34\x31\x2c\x30\x2e\x37\x31\x32\x35\x31\x20\x30\
+\x2e\x31\x31\x33\x35\x33\x2c\x31\x2e\x33\x30\x39\x31\x35\x20\x30\
+\x2e\x38\x35\x39\x38\x37\x2c\x31\x2e\x33\x32\x35\x38\x38\x20\x31\
+\x2e\x36\x36\x37\x34\x39\x2c\x30\x2e\x30\x33\x37\x34\x20\x2d\x30\
+\x2e\x34\x36\x39\x30\x39\x2c\x31\x2e\x33\x36\x38\x37\x32\x20\x2d\
+\x33\x2e\x38\x36\x30\x39\x33\x2c\x32\x2e\x34\x30\x35\x38\x33\x20\
+\x2d\x32\x2e\x30\x38\x36\x38\x32\x2c\x30\x2e\x36\x33\x38\x30\x38\
+\x20\x2d\x32\x2e\x31\x35\x36\x33\x32\x2c\x30\x2e\x35\x30\x31\x34\
+\x36\x20\x2d\x31\x2e\x31\x37\x35\x37\x39\x2c\x2d\x32\x2e\x33\x31\
+\x31\x32\x39\x20\x7a\x20\x6d\x20\x31\x31\x2e\x33\x32\x35\x37\x38\
+\x2c\x32\x2e\x32\x31\x30\x34\x36\x20\x63\x20\x30\x2e\x33\x31\x39\
+\x32\x32\x2c\x2d\x30\x2e\x36\x34\x30\x35\x32\x20\x30\x2e\x30\x31\
+\x35\x31\x2c\x2d\x31\x2e\x33\x39\x32\x35\x20\x2d\x30\x2e\x36\x37\
+\x35\x38\x34\x2c\x2d\x31\x2e\x36\x37\x31\x30\x35\x20\x2d\x30\x2e\
+\x39\x37\x33\x36\x39\x2c\x2d\x30\x2e\x33\x39\x32\x35\x36\x20\x2d\
+\x30\x2e\x39\x36\x31\x38\x32\x2c\x2d\x30\x2e\x35\x32\x34\x32\x32\
+\x20\x30\x2e\x30\x35\x32\x38\x2c\x2d\x30\x2e\x35\x38\x35\x34\x31\
+\x20\x30\x2e\x37\x31\x39\x39\x36\x2c\x2d\x30\x2e\x30\x34\x33\x34\
+\x20\x31\x2e\x30\x35\x30\x31\x32\x2c\x2d\x30\x2e\x34\x39\x37\x38\
+\x36\x20\x30\x2e\x37\x33\x33\x36\x39\x2c\x2d\x31\x2e\x30\x30\x39\
+\x38\x35\x20\x2d\x30\x2e\x33\x31\x36\x34\x34\x2c\x2d\x30\x2e\x35\
+\x31\x32\x20\x2d\x30\x2e\x30\x34\x38\x35\x2c\x2d\x31\x2e\x32\x35\
+\x36\x35\x33\x20\x30\x2e\x35\x39\x35\x34\x39\x2c\x2d\x31\x2e\x36\
+\x35\x34\x35\x31\x20\x30\x2e\x36\x39\x37\x38\x34\x2c\x2d\x30\x2e\
+\x34\x33\x31\x32\x39\x20\x30\x2e\x39\x30\x33\x39\x2c\x2d\x30\x2e\
+\x32\x39\x31\x37\x32\x20\x30\x2e\x35\x31\x30\x30\x38\x2c\x30\x2e\
+\x33\x34\x35\x34\x39\x20\x2d\x30\x2e\x33\x36\x33\x34\x31\x2c\x30\
+\x2e\x35\x38\x38\x30\x31\x20\x2d\x30\x2e\x31\x39\x32\x33\x36\x2c\
+\x31\x2e\x32\x32\x35\x32\x33\x20\x30\x2e\x33\x38\x30\x31\x2c\x31\
+\x2e\x34\x31\x36\x30\x35\x20\x30\x2e\x36\x32\x31\x31\x35\x2c\x30\
+\x2e\x32\x30\x37\x30\x35\x20\x30\x2e\x33\x39\x32\x31\x34\x2c\x31\
+\x2e\x31\x34\x38\x37\x35\x20\x2d\x30\x2e\x35\x36\x37\x39\x33\x2c\
+\x32\x2e\x33\x33\x35\x34\x31\x20\x2d\x30\x2e\x38\x38\x34\x38\x32\
+\x2c\x31\x2e\x30\x39\x33\x36\x35\x20\x2d\x31\x2e\x33\x34\x37\x35\
+\x39\x2c\x31\x2e\x34\x36\x34\x33\x39\x20\x2d\x31\x2e\x30\x32\x38\
+\x33\x38\x2c\x30\x2e\x38\x32\x33\x38\x37\x20\x7a\x20\x6d\x20\x2d\
+\x34\x39\x2e\x31\x37\x37\x31\x34\x2c\x2d\x35\x2e\x30\x36\x34\x36\
+\x31\x20\x63\x20\x30\x2e\x39\x36\x32\x31\x39\x2c\x2d\x31\x2e\x30\
+\x36\x33\x32\x31\x20\x31\x2e\x34\x34\x38\x34\x35\x2c\x2d\x32\x2e\
+\x32\x33\x34\x30\x38\x20\x31\x2e\x30\x38\x30\x35\x39\x2c\x2d\x32\
+\x2e\x36\x30\x31\x39\x35\x20\x2d\x30\x2e\x33\x36\x37\x38\x37\x2c\
+\x2d\x30\x2e\x33\x36\x37\x38\x37\x20\x2d\x30\x2e\x30\x36\x30\x34\
+\x2c\x2d\x30\x2e\x36\x36\x38\x38\x35\x20\x30\x2e\x36\x38\x33\x33\
+\x36\x2c\x2d\x30\x2e\x36\x36\x38\x38\x35\x20\x30\x2e\x37\x34\x33\
+\x37\x32\x2c\x30\x20\x32\x2e\x33\x39\x33\x37\x32\x2c\x2d\x30\x2e\
+\x39\x37\x38\x34\x34\x20\x33\x2e\x36\x36\x36\x36\x37\x2c\x2d\x32\
+\x2e\x31\x37\x34\x33\x31\x20\x31\x2e\x32\x37\x32\x39\x35\x2c\x2d\
+\x31\x2e\x31\x39\x35\x38\x38\x20\x32\x2e\x33\x31\x34\x34\x35\x2c\
+\x2d\x31\x2e\x36\x34\x35\x38\x38\x20\x32\x2e\x33\x31\x34\x34\x35\
+\x2c\x2d\x31\x20\x30\x2c\x30\x2e\x36\x34\x35\x38\x37\x20\x30\x2e\
+\x34\x37\x36\x35\x36\x2c\x31\x2e\x31\x37\x34\x33\x31\x20\x31\x2e\
+\x30\x35\x39\x30\x32\x2c\x31\x2e\x31\x37\x34\x33\x31\x20\x30\x2e\
+\x35\x38\x32\x34\x36\x2c\x30\x20\x30\x2e\x38\x31\x34\x39\x37\x2c\
+\x2d\x30\x2e\x33\x39\x34\x38\x38\x20\x30\x2e\x35\x31\x36\x36\x39\
+\x2c\x2d\x30\x2e\x38\x37\x37\x35\x20\x2d\x30\x2e\x32\x39\x38\x32\
+\x38\x2c\x2d\x30\x2e\x34\x38\x32\x36\x33\x20\x31\x2e\x36\x35\x37\
+\x34\x33\x2c\x2d\x30\x2e\x38\x32\x30\x31\x33\x20\x34\x2e\x33\x34\
+\x36\x30\x32\x2c\x2d\x30\x2e\x37\x35\x20\x32\x2e\x36\x38\x38\x36\
+\x2c\x30\x2e\x30\x37\x30\x31\x20\x34\x2e\x36\x37\x39\x35\x33\x2c\
+\x2d\x30\x2e\x32\x31\x20\x34\x2e\x34\x32\x34\x33\x2c\x2d\x30\x2e\
+\x36\x32\x32\x35\x20\x2d\x30\x2e\x32\x35\x35\x32\x34\x2c\x2d\x30\
+\x2e\x34\x31\x32\x35\x20\x30\x2e\x36\x34\x39\x39\x39\x2c\x2d\x30\
+\x2e\x37\x35\x20\x32\x2e\x30\x31\x31\x36\x32\x2c\x2d\x30\x2e\x37\
+\x35\x20\x31\x2e\x33\x36\x31\x36\x33\x2c\x30\x20\x32\x2e\x36\x35\
+\x39\x34\x35\x2c\x30\x2e\x35\x35\x31\x32\x39\x20\x32\x2e\x38\x38\
+\x34\x30\x34\x2c\x31\x2e\x32\x32\x35\x30\x38\x20\x30\x2e\x32\x36\
+\x35\x38\x33\x2c\x30\x2e\x37\x39\x37\x34\x38\x20\x32\x2e\x32\x31\
+\x34\x36\x34\x2c\x31\x2e\x31\x34\x36\x34\x39\x20\x35\x2e\x35\x38\
+\x33\x33\x34\x2c\x30\x2e\x39\x39\x39\x39\x31\x20\x33\x2e\x35\x38\
+\x37\x31\x38\x2c\x2d\x30\x2e\x31\x35\x36\x30\x38\x20\x35\x2e\x31\
+\x37\x39\x36\x37\x2c\x30\x2e\x31\x35\x38\x33\x39\x20\x35\x2e\x31\
+\x39\x30\x32\x38\x2c\x31\x2e\x30\x32\x34\x39\x32\x20\x30\x2e\x30\
+\x31\x31\x2c\x30\x2e\x38\x39\x35\x31\x39\x20\x30\x2e\x32\x36\x35\
+\x38\x31\x2c\x30\x2e\x38\x35\x34\x35\x20\x30\x2e\x38\x39\x37\x36\
+\x34\x2c\x2d\x30\x2e\x31\x34\x33\x33\x31\x20\x30\x2e\x35\x31\x36\
+\x37\x35\x2c\x2d\x30\x2e\x38\x31\x36\x30\x36\x20\x31\x2e\x37\x35\
+\x33\x2c\x2d\x31\x2e\x31\x36\x35\x37\x31\x20\x32\x2e\x39\x38\x33\
+\x37\x2c\x2d\x30\x2e\x38\x34\x33\x38\x38\x20\x31\x2e\x31\x35\x35\
+\x37\x35\x2c\x30\x2e\x33\x30\x32\x32\x34\x20\x32\x2e\x33\x35\x33\
+\x33\x36\x2c\x30\x2e\x31\x34\x31\x37\x37\x20\x32\x2e\x36\x36\x31\
+\x33\x37\x2c\x2d\x30\x2e\x33\x35\x36\x36\x20\x30\x2e\x33\x30\x38\
+\x30\x31\x2c\x2d\x30\x2e\x34\x39\x38\x33\x37\x20\x31\x2e\x30\x31\
+\x30\x30\x31\x2c\x2d\x30\x2e\x39\x30\x36\x31\x32\x20\x31\x2e\x35\
+\x36\x30\x30\x31\x2c\x2d\x30\x2e\x39\x30\x36\x31\x32\x20\x30\x2e\
+\x35\x35\x2c\x30\x20\x30\x2e\x37\x33\x39\x37\x36\x2c\x30\x2e\x34\
+\x32\x31\x30\x38\x20\x30\x2e\x34\x32\x31\x36\x39\x2c\x30\x2e\x39\
+\x33\x35\x37\x33\x20\x2d\x30\x2e\x33\x35\x33\x34\x31\x2c\x30\x2e\
+\x35\x37\x31\x38\x33\x20\x30\x2e\x35\x37\x32\x30\x36\x2c\x30\x2e\
+\x36\x30\x35\x38\x31\x20\x32\x2e\x33\x37\x39\x37\x34\x2c\x30\x2e\
+\x30\x38\x37\x34\x20\x32\x2e\x38\x31\x35\x37\x2c\x2d\x30\x2e\x38\
+\x30\x37\x35\x33\x20\x32\x2e\x39\x30\x38\x31\x35\x2c\x2d\x30\x2e\
+\x37\x33\x38\x38\x34\x20\x31\x2e\x39\x32\x31\x31\x31\x2c\x31\x2e\
+\x34\x32\x37\x34\x37\x20\x2d\x30\x2e\x38\x39\x32\x39\x32\x2c\x31\
+\x2e\x39\x35\x39\x37\x34\x20\x2d\x32\x2e\x30\x32\x32\x39\x36\x2c\
+\x32\x2e\x33\x35\x38\x34\x38\x20\x2d\x38\x2e\x31\x33\x36\x34\x33\
+\x2c\x32\x2e\x38\x37\x31\x30\x31\x20\x2d\x34\x2e\x34\x38\x37\x30\
+\x39\x2c\x30\x2e\x33\x37\x36\x31\x39\x20\x2d\x37\x2e\x35\x37\x38\
+\x37\x2c\x30\x2e\x31\x39\x37\x34\x39\x20\x2d\x38\x2e\x34\x30\x31\
+\x38\x31\x2c\x2d\x30\x2e\x34\x38\x35\x36\x33\x20\x43\x20\x31\x33\
+\x31\x2e\x34\x33\x39\x31\x39\x2c\x31\x31\x35\x2e\x31\x31\x39\x36\
+\x20\x31\x33\x31\x2c\x31\x31\x35\x2e\x31\x30\x33\x30\x33\x20\x31\
+\x33\x31\x2c\x31\x31\x35\x2e\x37\x38\x36\x38\x31\x20\x63\x20\x30\
+\x2c\x30\x2e\x35\x36\x37\x34\x33\x20\x2d\x31\x2e\x37\x37\x38\x32\
+\x36\x2c\x30\x2e\x31\x37\x32\x35\x33\x20\x2d\x33\x2e\x39\x35\x31\
+\x36\x39\x2c\x2d\x30\x2e\x38\x37\x37\x35\x36\x20\x2d\x36\x2e\x37\
+\x38\x34\x31\x37\x2c\x2d\x33\x2e\x32\x37\x37\x37\x35\x20\x2d\x31\
+\x38\x2e\x32\x39\x31\x36\x35\x2c\x2d\x32\x2e\x30\x39\x36\x31\x38\
+\x20\x2d\x32\x30\x2e\x33\x36\x32\x31\x31\x2c\x32\x2e\x30\x39\x30\
+\x37\x35\x20\x2d\x30\x2e\x37\x30\x37\x32\x37\x2c\x31\x2e\x34\x33\
+\x30\x32\x35\x20\x2d\x32\x2e\x32\x39\x34\x31\x33\x2c\x32\x2e\x36\
+\x35\x30\x36\x20\x2d\x33\x2e\x37\x30\x38\x34\x38\x2c\x32\x2e\x38\
+\x35\x31\x39\x35\x20\x2d\x32\x2e\x33\x38\x34\x32\x34\x2c\x30\x2e\
+\x33\x33\x39\x34\x33\x20\x2d\x32\x2e\x34\x30\x39\x39\x36\x2c\x30\
+\x2e\x32\x38\x33\x31\x35\x20\x2d\x30\x2e\x37\x32\x32\x37\x39\x2c\
+\x2d\x31\x2e\x35\x38\x31\x31\x35\x20\x7a\x20\x4d\x20\x31\x32\x38\
+\x2e\x37\x35\x2c\x31\x30\x39\x2e\x33\x30\x32\x32\x32\x20\x63\x20\
+\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x32\x33\x39\x32\x38\x20\
+\x32\x2e\x32\x35\x2c\x2d\x30\x2e\x38\x39\x37\x33\x20\x32\x2e\x32\
+\x35\x2c\x2d\x31\x2e\x34\x36\x32\x32\x36\x20\x30\x2c\x2d\x30\x2e\
+\x35\x36\x34\x39\x36\x20\x2d\x31\x2e\x30\x31\x32\x35\x2c\x2d\x31\
+\x2e\x33\x31\x31\x30\x35\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x31\x2e\
+\x36\x35\x37\x39\x38\x20\x2d\x31\x2e\x34\x38\x34\x30\x31\x2c\x2d\
+\x30\x2e\x34\x31\x36\x30\x34\x20\x30\x2e\x36\x34\x33\x37\x35\x2c\
+\x2d\x31\x2e\x30\x32\x31\x34\x36\x20\x36\x2e\x32\x35\x2c\x2d\x31\
+\x2e\x37\x37\x38\x33\x34\x20\x39\x2e\x33\x31\x31\x38\x35\x2c\x2d\
+\x31\x2e\x32\x35\x37\x31\x36\x20\x31\x30\x2e\x37\x35\x30\x33\x38\
+\x2c\x2d\x31\x2e\x30\x33\x31\x39\x37\x20\x38\x2e\x37\x39\x38\x35\
+\x36\x2c\x31\x2e\x33\x37\x37\x33\x35\x20\x2d\x31\x2e\x30\x38\x33\
+\x34\x31\x2c\x31\x2e\x33\x33\x37\x33\x34\x20\x2d\x31\x2e\x30\x36\
+\x35\x38\x35\x2c\x31\x2e\x34\x36\x32\x36\x38\x20\x30\x2e\x31\x30\
+\x35\x39\x35\x2c\x30\x2e\x37\x35\x36\x34\x36\x20\x30\x2e\x38\x38\
+\x31\x39\x34\x2c\x2d\x30\x2e\x35\x33\x31\x35\x33\x20\x31\x2e\x31\
+\x37\x31\x34\x35\x2c\x2d\x30\x2e\x34\x36\x39\x33\x38\x20\x30\x2e\
+\x37\x37\x38\x31\x32\x2c\x30\x2e\x31\x36\x37\x30\x36\x20\x2d\x30\
+\x2e\x35\x36\x33\x38\x39\x2c\x30\x2e\x39\x31\x32\x33\x38\x20\x2d\
+\x34\x2e\x30\x37\x35\x34\x36\x2c\x31\x2e\x35\x34\x39\x37\x32\x20\
+\x2d\x31\x34\x2e\x36\x38\x32\x36\x33\x2c\x32\x2e\x36\x36\x34\x38\
+\x33\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\x2e\x32\x30\x32\x33\x37\
+\x20\x2d\x32\x2e\x34\x38\x37\x35\x2c\x30\x2e\x31\x37\x32\x31\x37\
+\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x30\x36\x37\x31\x20\x7a\
+\x20\x4d\x20\x31\x35\x32\x2c\x31\x30\x35\x2e\x31\x33\x32\x33\x34\
+\x20\x63\x20\x30\x2c\x2d\x31\x2e\x30\x39\x32\x31\x33\x20\x2d\x30\
+\x2e\x37\x38\x37\x35\x2c\x2d\x32\x2e\x32\x31\x34\x32\x38\x20\x2d\
+\x31\x2e\x37\x35\x2c\x2d\x32\x2e\x34\x39\x33\x36\x36\x20\x2d\x31\
+\x2e\x30\x36\x30\x34\x38\x2c\x2d\x30\x2e\x33\x30\x37\x38\x32\x20\
+\x2d\x30\x2e\x38\x30\x30\x36\x33\x2c\x2d\x30\x2e\x34\x33\x35\x32\
+\x32\x20\x30\x2e\x36\x35\x39\x34\x38\x2c\x2d\x30\x2e\x33\x32\x33\
+\x33\x32\x20\x32\x2e\x34\x31\x36\x34\x35\x2c\x30\x2e\x31\x38\x35\
+\x31\x37\x20\x33\x2e\x38\x30\x34\x34\x35\x2c\x33\x2e\x31\x32\x35\
+\x33\x38\x20\x32\x2e\x30\x30\x31\x34\x35\x2c\x34\x2e\x32\x33\x39\
+\x36\x39\x20\x43\x20\x31\x35\x32\x2e\x34\x30\x39\x39\x32\x2c\x31\
+\x30\x36\x2e\x38\x36\x34\x36\x39\x20\x31\x35\x32\x2c\x31\x30\x36\
+\x2e\x32\x32\x34\x34\x37\x20\x31\x35\x32\x2c\x31\x30\x35\x2e\x31\
+\x33\x32\x33\x34\x20\x7a\x20\x4d\x20\x31\x30\x30\x2c\x31\x30\x34\
+\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x34\x35\x2c\
+\x2d\x31\x20\x31\x2c\x2d\x31\x20\x30\x2e\x35\x35\x2c\x30\x20\x31\
+\x2e\x39\x2c\x2d\x30\x2e\x39\x20\x33\x2c\x2d\x32\x20\x31\x2e\x31\
+\x2c\x2d\x31\x2e\x31\x20\x33\x2e\x31\x32\x35\x2c\x2d\x32\x20\x34\
+\x2e\x35\x2c\x2d\x32\x20\x31\x2e\x33\x37\x35\x2c\x30\x20\x32\x2e\
+\x35\x2c\x2d\x30\x2e\x34\x37\x38\x37\x38\x37\x20\x32\x2e\x35\x2c\
+\x2d\x31\x2e\x30\x36\x33\x39\x37\x20\x30\x2c\x2d\x30\x2e\x35\x38\
+\x35\x31\x38\x34\x20\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x39\
+\x34\x35\x35\x36\x36\x20\x32\x2e\x37\x35\x2c\x2d\x30\x2e\x38\x30\
+\x30\x38\x35\x20\x31\x2e\x35\x31\x32\x35\x2c\x30\x2e\x31\x34\x34\
+\x37\x31\x37\x20\x34\x2e\x34\x38\x36\x37\x38\x2c\x2d\x30\x2e\x31\
+\x31\x30\x38\x32\x32\x20\x36\x2e\x36\x30\x39\x35\x31\x2c\x2d\x30\
+\x2e\x35\x36\x37\x38\x36\x34\x20\x32\x2e\x36\x35\x36\x31\x34\x2c\
+\x2d\x30\x2e\x35\x37\x31\x38\x39\x20\x34\x2e\x30\x38\x32\x37\x38\
+\x2c\x2d\x30\x2e\x34\x36\x39\x37\x31\x34\x20\x34\x2e\x35\x37\x35\
+\x36\x31\x2c\x30\x2e\x33\x32\x37\x37\x30\x35\x20\x30\x2e\x33\x39\
+\x33\x38\x36\x2c\x30\x2e\x36\x33\x37\x32\x37\x39\x20\x33\x2e\x31\
+\x38\x33\x35\x35\x2c\x31\x2e\x32\x39\x31\x38\x37\x36\x20\x36\x2e\
+\x31\x39\x39\x33\x31\x2c\x31\x2e\x34\x35\x34\x36\x35\x39\x20\x33\
+\x2e\x30\x31\x35\x37\x36\x2c\x30\x2e\x31\x36\x32\x37\x38\x34\x20\
+\x35\x2e\x39\x38\x31\x34\x37\x2c\x30\x2e\x36\x30\x33\x39\x31\x38\
+\x20\x36\x2e\x35\x39\x30\x34\x37\x2c\x30\x2e\x39\x38\x30\x32\x39\
+\x39\x20\x30\x2e\x36\x30\x39\x2c\x30\x2e\x33\x37\x36\x33\x38\x31\
+\x20\x32\x2e\x32\x37\x30\x30\x33\x2c\x30\x2e\x32\x34\x32\x32\x34\
+\x38\x20\x33\x2e\x36\x39\x31\x31\x38\x2c\x2d\x30\x2e\x32\x39\x38\
+\x30\x37\x34\x20\x43\x20\x31\x34\x33\x2e\x30\x39\x30\x30\x39\x2c\
+\x39\x38\x2e\x33\x39\x35\x34\x35\x20\x31\x34\x34\x2c\x39\x38\x2e\
+\x33\x39\x32\x39\x33\x31\x20\x31\x34\x34\x2c\x39\x39\x2e\x30\x32\
+\x34\x37\x35\x31\x20\x31\x34\x34\x2c\x39\x39\x2e\x35\x36\x31\x31\
+\x33\x38\x20\x31\x34\x34\x2e\x36\x36\x30\x38\x38\x2c\x31\x30\x30\
+\x20\x31\x34\x35\x2e\x34\x36\x38\x36\x32\x2c\x31\x30\x30\x20\x63\
+\x20\x30\x2e\x38\x30\x37\x37\x33\x2c\x30\x20\x31\x2e\x32\x35\x32\
+\x37\x36\x2c\x2d\x30\x2e\x35\x36\x32\x35\x20\x30\x2e\x39\x38\x38\
+\x39\x34\x2c\x2d\x31\x2e\x32\x35\x20\x2d\x30\x2e\x32\x39\x39\x39\
+\x35\x2c\x2d\x30\x2e\x37\x38\x31\x36\x35\x38\x20\x30\x2e\x34\x30\
+\x31\x35\x38\x2c\x2d\x31\x2e\x32\x35\x20\x31\x2e\x38\x37\x32\x33\
+\x39\x2c\x2d\x31\x2e\x32\x35\x20\x33\x2e\x34\x35\x38\x34\x33\x2c\
+\x30\x20\x32\x2e\x32\x39\x31\x38\x33\x2c\x33\x2e\x34\x37\x38\x30\
+\x39\x20\x2d\x31\x2e\x31\x39\x36\x35\x38\x2c\x33\x2e\x35\x36\x37\
+\x34\x39\x20\x2d\x31\x2e\x34\x34\x38\x33\x35\x2c\x30\x2e\x30\x33\
+\x37\x31\x20\x2d\x34\x2e\x31\x37\x38\x35\x36\x2c\x30\x2e\x32\x36\
+\x37\x33\x38\x20\x2d\x36\x2e\x30\x36\x37\x31\x32\x2c\x30\x2e\x35\
+\x31\x31\x37\x20\x2d\x32\x2e\x31\x31\x31\x34\x32\x2c\x30\x2e\x32\
+\x37\x33\x31\x34\x20\x2d\x33\x2e\x37\x34\x32\x32\x2c\x2d\x30\x2e\
+\x30\x34\x31\x37\x20\x2d\x34\x2e\x32\x33\x34\x36\x39\x2c\x2d\x30\
+\x2e\x38\x31\x37\x34\x39\x20\x2d\x30\x2e\x36\x33\x34\x37\x2c\x2d\
+\x30\x2e\x39\x39\x39\x38\x33\x36\x20\x2d\x30\x2e\x38\x30\x34\x31\
+\x31\x2c\x2d\x31\x2e\x30\x30\x32\x32\x36\x34\x20\x2d\x30\x2e\x38\
+\x31\x36\x32\x35\x2c\x2d\x30\x2e\x30\x31\x31\x37\x20\x2d\x30\x2e\
+\x30\x30\x39\x2c\x30\x2e\x37\x35\x38\x39\x39\x20\x2d\x31\x2e\x33\
+\x39\x30\x31\x34\x2c\x31\x2e\x32\x35\x20\x2d\x33\x2e\x35\x31\x35\
+\x33\x31\x2c\x31\x2e\x32\x35\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\
+\x20\x2d\x33\x2e\x35\x2c\x2d\x30\x2e\x34\x39\x38\x31\x34\x20\x2d\
+\x33\x2e\x35\x2c\x2d\x31\x2e\x31\x30\x36\x39\x39\x20\x30\x2c\x2d\
+\x30\x2e\x36\x30\x38\x38\x34\x20\x2d\x30\x2e\x36\x32\x30\x31\x37\
+\x2c\x2d\x30\x2e\x38\x36\x39\x30\x31\x20\x2d\x31\x2e\x33\x37\x38\
+\x31\x34\x2c\x2d\x30\x2e\x35\x37\x38\x31\x34\x20\x2d\x30\x2e\x37\
+\x35\x37\x39\x38\x2c\x30\x2e\x32\x39\x30\x38\x36\x20\x2d\x31\x2e\
+\x38\x32\x32\x36\x31\x2c\x30\x2e\x30\x38\x34\x34\x20\x2d\x32\x2e\
+\x33\x36\x35\x38\x33\x2c\x2d\x30\x2e\x34\x35\x38\x38\x34\x20\x2d\
+\x31\x2e\x32\x32\x35\x31\x37\x2c\x2d\x31\x2e\x32\x32\x35\x31\x37\
+\x34\x20\x2d\x39\x2e\x36\x34\x34\x30\x31\x2c\x2d\x31\x2e\x35\x31\
+\x30\x32\x37\x37\x20\x2d\x31\x33\x2e\x39\x39\x33\x38\x34\x2c\x2d\
+\x30\x2e\x34\x37\x33\x39\x30\x32\x20\x2d\x31\x2e\x37\x38\x30\x38\
+\x2c\x30\x2e\x34\x32\x34\x32\x38\x36\x20\x2d\x34\x2e\x30\x39\x35\
+\x35\x37\x2c\x31\x2e\x38\x36\x31\x38\x38\x32\x20\x2d\x35\x2e\x31\
+\x34\x33\x39\x32\x2c\x33\x2e\x31\x39\x34\x36\x35\x32\x20\x43\x20\
+\x31\x30\x34\x2e\x32\x34\x30\x36\x38\x2c\x31\x30\x34\x2e\x39\x36\
+\x33\x37\x34\x20\x31\x30\x30\x2c\x31\x30\x35\x2e\x39\x35\x30\x32\
+\x20\x31\x30\x30\x2c\x31\x30\x34\x20\x7a\x20\x6d\x20\x32\x38\x2e\
+\x36\x39\x33\x38\x32\x2c\x2d\x38\x2e\x36\x34\x33\x35\x35\x35\x20\
+\x63\x20\x30\x2e\x36\x35\x36\x36\x31\x2c\x2d\x30\x2e\x32\x36\x37\
+\x31\x31\x33\x20\x30\x2e\x39\x34\x35\x39\x36\x2c\x2d\x31\x2e\x31\
+\x33\x31\x35\x38\x37\x20\x30\x2e\x36\x34\x33\x30\x31\x2c\x2d\x31\
+\x2e\x39\x32\x31\x30\x35\x33\x20\x2d\x30\x2e\x33\x35\x35\x38\x31\
+\x2c\x2d\x30\x2e\x39\x32\x37\x32\x34\x36\x20\x30\x2e\x31\x30\x36\
+\x35\x39\x2c\x2d\x31\x2e\x34\x34\x30\x38\x31\x33\x20\x31\x2e\x33\
+\x30\x36\x31\x38\x2c\x2d\x31\x2e\x34\x35\x30\x37\x30\x35\x20\x31\
+\x2e\x34\x32\x33\x32\x33\x2c\x2d\x30\x2e\x30\x31\x31\x37\x34\x20\
+\x31\x2e\x35\x34\x30\x30\x38\x2c\x2d\x30\x2e\x32\x31\x36\x31\x31\
+\x39\x20\x30\x2e\x35\x30\x30\x32\x33\x2c\x2d\x30\x2e\x38\x37\x35\
+\x20\x2d\x32\x2e\x30\x31\x37\x34\x38\x2c\x2d\x31\x2e\x32\x37\x38\
+\x33\x33\x35\x20\x30\x2e\x31\x32\x39\x37\x32\x2c\x2d\x32\x2e\x32\
+\x32\x35\x30\x35\x31\x20\x34\x2e\x35\x37\x39\x34\x32\x2c\x2d\x32\
+\x2e\x30\x31\x39\x31\x30\x37\x20\x32\x2e\x30\x37\x37\x35\x34\x2c\
+\x30\x2e\x30\x39\x36\x31\x35\x20\x35\x2e\x30\x35\x30\x33\x2c\x2d\
+\x30\x2e\x31\x36\x37\x35\x37\x34\x20\x36\x2e\x36\x30\x36\x31\x33\
+\x2c\x2d\x30\x2e\x35\x38\x36\x30\x36\x31\x20\x32\x2e\x36\x36\x34\
+\x37\x38\x2c\x2d\x30\x2e\x37\x31\x36\x37\x37\x31\x20\x32\x2e\x38\
+\x30\x39\x37\x33\x2c\x2d\x30\x2e\x35\x39\x35\x33\x31\x35\x20\x32\
+\x2e\x35\x2c\x32\x2e\x30\x39\x34\x38\x35\x39\x20\x2d\x30\x2e\x32\
+\x39\x30\x36\x2c\x32\x2e\x35\x32\x34\x30\x36\x34\x20\x2d\x30\x2e\
+\x38\x35\x31\x34\x34\x2c\x32\x2e\x39\x34\x38\x38\x38\x38\x20\x2d\
+\x34\x2e\x38\x32\x38\x37\x39\x2c\x33\x2e\x36\x35\x37\x37\x30\x33\
+\x20\x2d\x32\x2e\x34\x37\x35\x2c\x30\x2e\x34\x34\x31\x30\x37\x37\
+\x20\x2d\x35\x2e\x35\x31\x32\x35\x2c\x30\x2e\x36\x32\x36\x30\x37\
+\x36\x20\x2d\x36\x2e\x37\x35\x2c\x30\x2e\x34\x31\x31\x31\x31\x20\
+\x2d\x31\x2e\x32\x33\x37\x35\x2c\x2d\x30\x2e\x32\x31\x34\x39\x36\
+\x36\x20\x2d\x32\x2e\x32\x35\x2c\x2d\x30\x2e\x30\x30\x33\x32\x20\
+\x2d\x32\x2e\x32\x35\x2c\x30\x2e\x34\x37\x30\x34\x38\x31\x20\x30\
+\x2c\x30\x2e\x34\x37\x33\x37\x33\x20\x2d\x30\x2e\x37\x38\x37\x35\
+\x2c\x30\x2e\x38\x32\x35\x38\x30\x32\x20\x2d\x31\x2e\x37\x35\x2c\
+\x30\x2e\x37\x38\x32\x33\x38\x31\x20\x2d\x30\x2e\x39\x36\x32\x35\
+\x2c\x2d\x30\x2e\x30\x34\x33\x34\x32\x20\x2d\x31\x2e\x32\x31\x32\
+\x37\x38\x2c\x2d\x30\x2e\x32\x39\x37\x34\x39\x35\x20\x2d\x30\x2e\
+\x35\x35\x36\x31\x38\x2c\x2d\x30\x2e\x35\x36\x34\x36\x30\x38\x20\
+\x7a\x20\x4d\x20\x31\x35\x31\x2e\x36\x36\x36\x30\x32\x2c\x39\x31\
+\x2e\x37\x35\x20\x63\x20\x30\x2e\x34\x33\x31\x32\x34\x2c\x2d\x30\
+\x2e\x36\x38\x37\x35\x20\x30\x2e\x36\x35\x34\x35\x31\x2c\x2d\x32\
+\x2e\x30\x33\x37\x35\x20\x30\x2e\x34\x39\x36\x31\x36\x2c\x2d\x33\
+\x20\x2d\x30\x2e\x31\x35\x38\x33\x34\x2c\x2d\x30\x2e\x39\x36\x32\
+\x35\x20\x30\x2e\x31\x38\x37\x35\x37\x2c\x2d\x31\x2e\x37\x35\x20\
+\x30\x2e\x37\x36\x38\x36\x39\x2c\x2d\x31\x2e\x37\x35\x20\x30\x2e\
+\x35\x38\x31\x31\x32\x2c\x30\x20\x30\x2e\x38\x36\x37\x38\x34\x2c\
+\x31\x2e\x30\x31\x32\x35\x20\x30\x2e\x36\x33\x37\x31\x37\x2c\x32\
+\x2e\x32\x35\x20\x2d\x30\x2e\x32\x33\x30\x36\x38\x2c\x31\x2e\x32\
+\x33\x37\x35\x20\x2d\x30\x2e\x34\x35\x32\x38\x36\x2c\x32\x2e\x35\
+\x38\x37\x35\x20\x2d\x30\x2e\x34\x39\x33\x37\x33\x2c\x33\x20\x2d\
+\x30\x2e\x30\x34\x30\x39\x2c\x30\x2e\x34\x31\x32\x35\x20\x2d\x30\
+\x2e\x35\x35\x30\x38\x37\x2c\x30\x2e\x37\x35\x20\x2d\x31\x2e\x31\
+\x33\x33\x33\x33\x2c\x30\x2e\x37\x35\x20\x2d\x30\x2e\x35\x39\x38\
+\x37\x31\x2c\x30\x20\x2d\x30\x2e\x37\x31\x38\x32\x32\x2c\x2d\x30\
+\x2e\x35\x34\x33\x33\x31\x37\x20\x2d\x30\x2e\x32\x37\x34\x39\x36\
+\x2c\x2d\x31\x2e\x32\x35\x20\x7a\x20\x6d\x20\x2d\x34\x38\x2e\x32\
+\x34\x35\x37\x34\x2c\x2d\x33\x2e\x34\x30\x37\x37\x37\x31\x20\x63\
+\x20\x30\x2e\x34\x30\x35\x33\x31\x2c\x2d\x32\x2e\x37\x36\x31\x35\
+\x36\x31\x20\x36\x2e\x34\x34\x37\x33\x35\x2c\x2d\x35\x2e\x37\x33\
+\x37\x34\x39\x33\x20\x39\x2e\x30\x30\x32\x30\x31\x2c\x2d\x34\x2e\
+\x34\x33\x33\x38\x33\x32\x20\x31\x2e\x32\x30\x35\x35\x32\x2c\x30\
+\x2e\x36\x31\x35\x31\x38\x36\x20\x31\x2e\x34\x34\x38\x30\x34\x2c\
+\x31\x2e\x30\x31\x30\x38\x32\x39\x20\x30\x2e\x35\x37\x37\x37\x31\
+\x2c\x30\x2e\x39\x34\x32\x34\x39\x33\x20\x2d\x33\x2e\x33\x36\x32\
+\x30\x37\x2c\x2d\x30\x2e\x32\x36\x33\x39\x38\x20\x2d\x37\x2e\x37\
+\x34\x30\x37\x36\x2c\x31\x2e\x33\x39\x36\x37\x34\x35\x20\x2d\x37\
+\x2e\x36\x32\x32\x33\x31\x2c\x32\x2e\x38\x39\x30\x39\x34\x34\x20\
+\x30\x2e\x30\x36\x37\x33\x2c\x30\x2e\x38\x34\x38\x35\x39\x39\x20\
+\x2d\x30\x2e\x34\x30\x34\x31\x31\x2c\x31\x2e\x37\x32\x39\x33\x31\
+\x35\x20\x2d\x31\x2e\x30\x34\x37\x35\x31\x2c\x31\x2e\x39\x35\x37\
+\x31\x34\x35\x20\x2d\x30\x2e\x36\x35\x39\x37\x34\x2c\x30\x2e\x32\
+\x33\x33\x36\x31\x35\x20\x2d\x31\x2e\x30\x35\x36\x34\x39\x2c\x2d\
+\x30\x2e\x33\x35\x37\x39\x37\x38\x20\x2d\x30\x2e\x39\x30\x39\x39\
+\x2c\x2d\x31\x2e\x33\x35\x36\x37\x35\x20\x7a\x20\x4d\x20\x31\x34\
+\x37\x2e\x37\x35\x2c\x38\x37\x2e\x33\x33\x37\x37\x31\x39\x20\x63\
+\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\x31\
+\x32\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\x37\x34\
+\x31\x32\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\x2c\
+\x30\x2e\x32\x37\x37\x34\x31\x33\x20\x30\x2e\x31\x32\x35\x2c\x30\
+\x2e\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\
+\x35\x30\x34\x33\x38\x36\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\
+\x2d\x31\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x37\
+\x33\x20\x2d\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x38\
+\x36\x20\x7a\x20\x6d\x20\x2d\x32\x32\x2e\x30\x30\x33\x38\x34\x2c\
+\x2d\x31\x2e\x37\x32\x35\x35\x35\x32\x20\x63\x20\x2d\x31\x2e\x35\
+\x31\x34\x36\x31\x2c\x2d\x30\x2e\x38\x32\x33\x36\x35\x31\x20\x2d\
+\x34\x2e\x36\x36\x34\x36\x31\x2c\x2d\x31\x2e\x36\x34\x37\x39\x34\
+\x33\x20\x2d\x37\x2c\x2d\x31\x2e\x38\x33\x31\x37\x36\x20\x4c\x20\
+\x31\x31\x34\x2e\x35\x2c\x38\x33\x2e\x34\x34\x36\x31\x39\x33\x20\
+\x31\x31\x38\x2e\x34\x31\x33\x31\x34\x2c\x38\x32\x2e\x35\x38\x31\
+\x32\x20\x63\x20\x32\x2e\x36\x31\x39\x32\x33\x2c\x2d\x30\x2e\x35\
+\x37\x38\x39\x37\x37\x20\x35\x2e\x30\x32\x31\x36\x33\x2c\x2d\x30\
+\x2e\x34\x36\x34\x31\x35\x36\x20\x37\x2e\x32\x36\x35\x35\x34\x2c\
+\x30\x2e\x33\x34\x37\x32\x35\x20\x34\x2e\x38\x36\x31\x33\x39\x2c\
+\x31\x2e\x37\x35\x37\x39\x30\x34\x20\x31\x33\x2e\x33\x31\x37\x36\
+\x33\x2c\x32\x2e\x32\x34\x31\x36\x39\x20\x31\x33\x2e\x33\x33\x36\
+\x36\x33\x2c\x30\x2e\x37\x36\x32\x39\x39\x36\x20\x30\x2e\x30\x31\
+\x31\x2c\x2d\x30\x2e\x38\x35\x38\x30\x39\x33\x20\x30\x2e\x32\x32\
+\x30\x38\x37\x2c\x2d\x30\x2e\x38\x37\x37\x39\x30\x37\x20\x30\x2e\
+\x37\x35\x2c\x2d\x30\x2e\x30\x37\x30\x38\x32\x20\x30\x2e\x35\x34\
+\x30\x32\x31\x2c\x30\x2e\x38\x32\x33\x39\x38\x31\x20\x31\x2e\x39\
+\x38\x30\x35\x39\x2c\x30\x2e\x38\x30\x31\x36\x34\x34\x20\x35\x2e\
+\x34\x34\x31\x32\x35\x2c\x2d\x30\x2e\x30\x38\x34\x33\x38\x20\x33\
+\x2e\x37\x32\x35\x30\x31\x2c\x2d\x30\x2e\x39\x35\x33\x37\x30\x37\
+\x20\x34\x2e\x38\x30\x36\x30\x32\x2c\x2d\x30\x2e\x39\x34\x35\x38\
+\x35\x20\x35\x2e\x31\x38\x33\x34\x33\x2c\x30\x2e\x30\x33\x37\x36\
+\x37\x20\x30\x2e\x36\x31\x32\x30\x32\x2c\x31\x2e\x35\x39\x34\x38\
+\x39\x33\x20\x2d\x31\x2e\x38\x31\x30\x36\x32\x2c\x32\x2e\x31\x34\
+\x32\x30\x32\x32\x20\x2d\x31\x32\x2e\x38\x38\x39\x39\x39\x2c\x32\
+\x2e\x39\x31\x31\x30\x37\x37\x20\x2d\x37\x2e\x30\x31\x35\x32\x33\
+\x2c\x30\x2e\x34\x38\x36\x39\x35\x20\x2d\x39\x2e\x36\x30\x37\x33\
+\x2c\x30\x2e\x32\x39\x34\x34\x36\x35\x20\x2d\x31\x31\x2e\x37\x35\
+\x33\x38\x34\x2c\x2d\x30\x2e\x38\x37\x32\x38\x32\x38\x20\x7a\x20\
+\x4d\x20\x31\x32\x38\x2e\x32\x35\x2c\x38\x30\x2e\x38\x34\x34\x38\
+\x34\x32\x20\x63\x20\x31\x2e\x35\x31\x32\x35\x2c\x2d\x30\x2e\x35\
+\x35\x36\x33\x33\x20\x32\x2e\x38\x30\x36\x32\x35\x2c\x2d\x31\x2e\
+\x34\x32\x34\x30\x30\x39\x20\x32\x2e\x38\x37\x35\x2c\x2d\x31\x2e\
+\x39\x32\x38\x31\x37\x35\x20\x43\x20\x31\x33\x31\x2e\x31\x39\x33\
+\x37\x35\x2c\x37\x38\x2e\x34\x31\x32\x35\x20\x31\x33\x31\x2e\x33\
+\x36\x32\x35\x2c\x37\x37\x2e\x35\x35\x20\x31\x33\x31\x2e\x35\x2c\
+\x37\x37\x20\x63\x20\x30\x2e\x31\x33\x37\x35\x2c\x2d\x30\x2e\x35\
+\x35\x20\x30\x2e\x33\x30\x36\x32\x35\x2c\x2d\x31\x2e\x34\x30\x30\
+\x37\x36\x37\x20\x30\x2e\x33\x37\x35\x2c\x2d\x31\x2e\x38\x39\x30\
+\x35\x39\x34\x20\x30\x2e\x32\x31\x37\x36\x2c\x2d\x31\x2e\x35\x35\
+\x30\x33\x34\x34\x20\x37\x2e\x31\x32\x35\x2c\x2d\x31\x2e\x38\x38\
+\x39\x32\x35\x36\x20\x37\x2e\x31\x32\x35\x2c\x2d\x30\x2e\x33\x34\
+\x39\x35\x38\x38\x20\x30\x2c\x30\x2e\x37\x34\x37\x30\x31\x39\x20\
+\x30\x2e\x34\x35\x37\x33\x34\x2c\x31\x2e\x30\x37\x35\x35\x36\x34\
+\x20\x31\x2e\x30\x31\x36\x33\x31\x2c\x30\x2e\x37\x33\x30\x31\x30\
+\x31\x20\x30\x2e\x35\x35\x38\x39\x37\x2c\x2d\x30\x2e\x33\x34\x35\
+\x34\x36\x34\x20\x30\x2e\x37\x35\x37\x34\x32\x2c\x2d\x31\x2e\x30\
+\x34\x37\x30\x32\x31\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\
+\x2e\x35\x35\x39\x30\x31\x37\x20\x2d\x30\x2e\x38\x37\x37\x30\x35\
+\x2c\x2d\x31\x2e\x34\x31\x39\x31\x31\x20\x33\x2e\x35\x30\x36\x37\
+\x37\x2c\x2d\x31\x2e\x31\x30\x39\x36\x39\x36\x20\x34\x2e\x39\x36\
+\x37\x30\x35\x2c\x30\x2e\x33\x35\x30\x35\x37\x38\x20\x32\x2e\x31\
+\x32\x39\x32\x2c\x32\x2e\x31\x32\x39\x31\x39\x39\x20\x30\x2e\x31\
+\x35\x30\x31\x36\x2c\x35\x2e\x37\x32\x31\x33\x32\x37\x20\x2d\x33\
+\x2e\x31\x34\x32\x31\x32\x2c\x35\x2e\x37\x30\x33\x32\x30\x37\x20\
+\x43\x20\x31\x34\x30\x2e\x37\x35\x32\x2c\x37\x39\x2e\x39\x37\x36\
+\x32\x36\x35\x20\x31\x33\x39\x2e\x39\x35\x2c\x37\x39\x2e\x36\x33\
+\x38\x37\x36\x35\x20\x31\x34\x30\x2e\x35\x2c\x37\x39\x2e\x32\x33\
+\x34\x36\x38\x37\x20\x31\x34\x31\x2e\x38\x34\x39\x31\x2c\x37\x38\
+\x2e\x32\x34\x33\x35\x32\x31\x20\x31\x34\x34\x2e\x31\x38\x30\x33\
+\x35\x2c\x37\x34\x20\x31\x34\x33\x2e\x33\x37\x35\x37\x37\x2c\x37\
+\x34\x20\x63\x20\x2d\x30\x2e\x33\x35\x32\x36\x35\x2c\x30\x20\x2d\
+\x31\x2e\x34\x38\x31\x34\x36\x2c\x30\x2e\x39\x36\x38\x38\x35\x34\
+\x20\x2d\x32\x2e\x35\x30\x38\x34\x37\x2c\x32\x2e\x31\x35\x33\x30\
+\x31\x20\x2d\x31\x2e\x30\x32\x37\x30\x32\x2c\x31\x2e\x31\x38\x34\
+\x31\x35\x35\x20\x2d\x31\x2e\x38\x36\x37\x33\x2c\x31\x2e\x36\x33\
+\x34\x31\x35\x35\x20\x2d\x31\x2e\x38\x36\x37\x33\x2c\x31\x20\x43\
+\x20\x31\x33\x39\x2c\x37\x36\x2e\x35\x31\x38\x38\x35\x34\x20\x31\
+\x33\x38\x2e\x34\x39\x37\x35\x32\x2c\x37\x36\x20\x31\x33\x37\x2e\
+\x38\x38\x33\x33\x37\x2c\x37\x36\x20\x63\x20\x2d\x30\x2e\x36\x32\
+\x34\x35\x36\x2c\x30\x20\x2d\x30\x2e\x38\x38\x35\x39\x39\x2c\x30\
+\x2e\x38\x38\x31\x39\x36\x20\x2d\x30\x2e\x35\x39\x33\x32\x36\x2c\
+\x32\x2e\x30\x30\x31\x33\x38\x20\x30\x2e\x32\x38\x37\x38\x35\x2c\
+\x31\x2e\x31\x30\x30\x37\x35\x39\x20\x30\x2e\x31\x35\x33\x37\x37\
+\x2c\x31\x2e\x37\x37\x32\x39\x35\x35\x20\x2d\x30\x2e\x32\x39\x37\
+\x39\x36\x2c\x31\x2e\x34\x39\x33\x37\x36\x39\x20\x2d\x30\x2e\x34\
+\x35\x31\x37\x33\x2c\x2d\x30\x2e\x32\x37\x39\x31\x38\x35\x20\x2d\
+\x30\x2e\x39\x37\x32\x32\x36\x2c\x2d\x30\x2e\x31\x32\x34\x33\x31\
+\x31\x20\x2d\x31\x2e\x31\x35\x36\x37\x34\x2c\x30\x2e\x33\x34\x34\
+\x31\x36\x36\x20\x2d\x30\x2e\x31\x38\x34\x34\x38\x2c\x30\x2e\x34\
+\x36\x38\x34\x37\x37\x20\x2d\x32\x2e\x35\x38\x35\x34\x31\x2c\x31\
+\x2e\x31\x31\x33\x39\x35\x39\x20\x2d\x35\x2e\x33\x33\x35\x34\x31\
+\x2c\x31\x2e\x34\x33\x34\x34\x30\x35\x20\x2d\x34\x2e\x30\x38\x32\
+\x33\x36\x2c\x30\x2e\x34\x37\x35\x37\x20\x2d\x34\x2e\x34\x39\x35\
+\x33\x2c\x30\x2e\x33\x39\x36\x39\x38\x39\x20\x2d\x32\x2e\x32\x35\
+\x2c\x2d\x30\x2e\x34\x32\x38\x38\x37\x38\x20\x7a\x20\x4d\x20\x31\
+\x35\x32\x2e\x35\x2c\x37\x37\x20\x63\x20\x30\x2e\x33\x33\x39\x39\
+\x32\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x38\x31\x36\x34\x38\x2c\
+\x2d\x31\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x30\x2e\
+\x32\x34\x32\x35\x34\x2c\x30\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\
+\x30\x2e\x34\x35\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x30\
+\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x34\x37\x36\x35\x36\x2c\x31\
+\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x2d\x30\x2e\x35\
+\x38\x32\x34\x36\x2c\x30\x20\x2d\x30\x2e\x37\x38\x30\x39\x2c\x2d\
+\x30\x2e\x34\x35\x20\x2d\x30\x2e\x34\x34\x30\x39\x38\x2c\x2d\x31\
+\x20\x7a\x20\x4d\x20\x31\x30\x31\x2c\x37\x33\x2e\x34\x37\x35\x20\
+\x63\x20\x30\x2c\x2d\x30\x2e\x39\x31\x37\x34\x36\x38\x20\x31\x2e\
+\x32\x39\x34\x37\x34\x2c\x2d\x31\x2e\x37\x38\x39\x38\x36\x32\x20\
+\x33\x2e\x32\x35\x2c\x2d\x32\x2e\x31\x38\x39\x38\x34\x35\x20\x33\
+\x2e\x31\x37\x33\x37\x36\x2c\x2d\x30\x2e\x36\x34\x39\x32\x34\x39\
+\x20\x33\x2e\x31\x39\x31\x33\x35\x2c\x2d\x30\x2e\x36\x38\x31\x35\
+\x31\x33\x20\x30\x2e\x37\x35\x2c\x2d\x31\x2e\x33\x37\x35\x33\x32\
+\x20\x2d\x32\x2e\x34\x31\x32\x2c\x2d\x30\x2e\x36\x38\x35\x34\x36\
+\x37\x20\x2d\x32\x2e\x33\x39\x34\x34\x2c\x2d\x30\x2e\x37\x31\x33\
+\x34\x34\x35\x20\x30\x2e\x35\x2c\x2d\x30\x2e\x37\x39\x34\x38\x34\
+\x32\x20\x34\x2e\x38\x33\x38\x35\x32\x2c\x2d\x30\x2e\x31\x33\x36\
+\x30\x37\x31\x20\x36\x2e\x33\x31\x36\x34\x37\x2c\x31\x2e\x35\x30\
+\x39\x32\x35\x34\x20\x32\x2e\x30\x37\x31\x31\x33\x2c\x32\x2e\x33\
+\x30\x35\x36\x38\x35\x20\x2d\x31\x2e\x39\x39\x34\x36\x39\x2c\x30\
+\x2e\x33\x37\x34\x32\x30\x36\x20\x2d\x33\x2e\x33\x39\x31\x37\x39\
+\x2c\x31\x2e\x30\x36\x30\x34\x38\x35\x20\x2d\x33\x2e\x31\x30\x34\
+\x36\x36\x2c\x31\x2e\x35\x32\x35\x30\x36\x34\x20\x30\x2e\x32\x38\
+\x37\x31\x32\x2c\x30\x2e\x34\x36\x34\x35\x37\x38\x20\x2d\x30\x2e\
+\x31\x38\x37\x31\x38\x2c\x31\x2e\x31\x31\x36\x38\x34\x32\x20\x2d\
+\x31\x2e\x30\x35\x34\x2c\x31\x2e\x34\x34\x39\x34\x37\x33\x20\x43\
+\x20\x31\x30\x31\x2e\x31\x38\x2c\x37\x35\x2e\x32\x35\x31\x38\x39\
+\x34\x20\x31\x30\x31\x2c\x37\x35\x2e\x31\x38\x33\x32\x33\x35\x20\
+\x31\x30\x31\x2c\x37\x33\x2e\x34\x37\x35\x20\x7a\x20\x4d\x20\x31\
+\x35\x32\x2e\x36\x33\x38\x33\x37\x2c\x37\x33\x2e\x35\x20\x43\x20\
+\x31\x35\x32\x2e\x33\x32\x31\x37\x39\x2c\x37\x32\x2e\x36\x37\x35\
+\x20\x31\x35\x32\x2e\x34\x39\x38\x36\x35\x2c\x37\x32\x20\x31\x35\
+\x33\x2e\x30\x33\x31\x33\x38\x2c\x37\x32\x20\x31\x35\x33\x2e\x35\
+\x36\x34\x31\x32\x2c\x37\x32\x20\x31\x35\x34\x2c\x37\x32\x2e\x36\
+\x37\x35\x20\x31\x35\x34\x2c\x37\x33\x2e\x35\x20\x63\x20\x30\x2c\
+\x30\x2e\x38\x32\x35\x20\x2d\x30\x2e\x31\x37\x36\x38\x36\x2c\x31\
+\x2e\x35\x20\x2d\x30\x2e\x33\x39\x33\x30\x31\x2c\x31\x2e\x35\x20\
+\x2d\x30\x2e\x32\x31\x36\x31\x36\x2c\x30\x20\x2d\x30\x2e\x36\x35\
+\x32\x30\x33\x2c\x2d\x30\x2e\x36\x37\x35\x20\x2d\x30\x2e\x39\x36\
+\x38\x36\x32\x2c\x2d\x31\x2e\x35\x20\x7a\x20\x6d\x20\x2d\x32\x36\
+\x2e\x36\x39\x35\x35\x35\x2c\x2d\x32\x2e\x34\x37\x32\x31\x39\x33\
+\x20\x63\x20\x2d\x30\x2e\x38\x35\x36\x34\x35\x2c\x2d\x30\x2e\x35\
+\x30\x31\x32\x35\x37\x20\x2d\x34\x2e\x33\x34\x33\x39\x35\x2c\x2d\
+\x30\x2e\x38\x32\x31\x34\x30\x36\x20\x2d\x37\x2e\x37\x35\x2c\x2d\
+\x30\x2e\x37\x31\x31\x34\x34\x33\x20\x2d\x36\x2e\x37\x35\x34\x38\
+\x35\x2c\x30\x2e\x32\x31\x38\x30\x37\x38\x20\x2d\x38\x2e\x32\x36\
+\x34\x33\x37\x2c\x2d\x30\x2e\x38\x33\x37\x31\x31\x32\x20\x2d\x32\
+\x2e\x36\x39\x32\x38\x32\x2c\x2d\x31\x2e\x38\x38\x32\x33\x34\x32\
+\x20\x33\x2e\x37\x39\x37\x36\x39\x2c\x2d\x30\x2e\x37\x31\x32\x34\
+\x35\x31\x20\x39\x2e\x33\x34\x33\x36\x37\x2c\x2d\x30\x2e\x30\x30\
+\x34\x38\x20\x31\x33\x2e\x38\x34\x32\x33\x36\x2c\x31\x2e\x37\x36\
+\x36\x31\x37\x36\x20\x31\x2e\x36\x37\x38\x37\x36\x2c\x30\x2e\x36\
+\x36\x30\x38\x38\x20\x33\x2e\x31\x31\x31\x35\x38\x2c\x30\x2e\x37\
+\x34\x35\x36\x37\x39\x20\x33\x2e\x35\x2c\x30\x2e\x32\x30\x37\x31\
+\x34\x31\x20\x30\x2e\x33\x36\x31\x37\x2c\x2d\x30\x2e\x35\x30\x31\
+\x34\x39\x38\x20\x33\x2e\x33\x35\x37\x36\x34\x2c\x2d\x30\x2e\x39\
+\x34\x32\x34\x39\x38\x20\x36\x2e\x36\x35\x37\x36\x34\x2c\x2d\x30\
+\x2e\x39\x38\x20\x33\x2e\x33\x2c\x2d\x30\x2e\x30\x33\x37\x35\x20\
+\x37\x2e\x34\x36\x32\x35\x2c\x2d\x30\x2e\x33\x38\x30\x34\x31\x32\
+\x20\x39\x2e\x32\x35\x2c\x2d\x30\x2e\x37\x36\x32\x30\x32\x34\x20\
+\x31\x2e\x37\x38\x37\x35\x2c\x2d\x30\x2e\x33\x38\x31\x36\x31\x32\
+\x20\x33\x2e\x32\x35\x2c\x2d\x30\x2e\x33\x30\x39\x35\x35\x37\x20\
+\x33\x2e\x32\x35\x2c\x30\x2e\x31\x36\x30\x31\x32\x31\x20\x30\x2c\
+\x30\x2e\x38\x34\x34\x37\x36\x38\x20\x2d\x31\x36\x2e\x32\x36\x38\
+\x36\x31\x2c\x33\x2e\x32\x30\x32\x38\x37\x33\x20\x2d\x32\x31\x2e\
+\x36\x39\x31\x35\x38\x2c\x33\x2e\x31\x34\x34\x31\x35\x35\x20\x2d\
+\x31\x2e\x35\x34\x34\x36\x33\x2c\x2d\x30\x2e\x30\x31\x36\x37\x32\
+\x20\x2d\x33\x2e\x35\x30\x39\x31\x35\x2c\x2d\x30\x2e\x34\x34\x30\
+\x35\x32\x38\x20\x2d\x34\x2e\x33\x36\x35\x36\x2c\x2d\x30\x2e\x39\
+\x34\x31\x37\x38\x34\x20\x7a\x20\x4d\x20\x31\x33\x30\x2c\x36\x36\
+\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\x35\x20\x30\x2e\x35\x31\x39\
+\x37\x34\x2c\x2d\x31\x20\x31\x2e\x31\x35\x34\x39\x39\x2c\x2d\x31\
+\x20\x30\x2e\x36\x35\x34\x39\x39\x2c\x30\x20\x30\x2e\x33\x37\x31\
+\x34\x34\x2c\x2d\x30\x2e\x38\x36\x35\x38\x31\x20\x2d\x30\x2e\x36\
+\x35\x34\x39\x39\x2c\x2d\x32\x20\x2d\x31\x2e\x37\x37\x33\x36\x34\
+\x2c\x2d\x31\x2e\x39\x35\x39\x38\x34\x37\x20\x2d\x31\x2e\x37\x34\
+\x36\x36\x33\x2c\x2d\x32\x20\x31\x2e\x33\x34\x35\x30\x31\x2c\x2d\
+\x32\x20\x33\x2e\x30\x37\x36\x38\x33\x2c\x30\x20\x34\x2e\x31\x36\
+\x32\x33\x39\x2c\x31\x2e\x32\x35\x39\x33\x36\x20\x32\x2e\x31\x35\
+\x34\x39\x39\x2c\x32\x2e\x35\x20\x2d\x31\x2e\x36\x31\x30\x32\x39\
+\x2c\x30\x2e\x39\x39\x35\x32\x31\x35\x20\x2d\x31\x2e\x31\x34\x37\
+\x37\x32\x2c\x32\x2e\x37\x37\x30\x36\x36\x32\x20\x30\x2e\x35\x35\
+\x31\x39\x34\x2c\x32\x2e\x31\x31\x38\x34\x34\x33\x20\x30\x2e\x38\
+\x38\x39\x39\x32\x2c\x2d\x30\x2e\x33\x34\x31\x34\x39\x36\x20\x31\
+\x2e\x32\x39\x31\x33\x32\x2c\x2d\x30\x2e\x31\x37\x33\x38\x34\x39\
+\x20\x30\x2e\x39\x34\x30\x39\x38\x2c\x30\x2e\x33\x39\x33\x30\x31\
+\x31\x20\x43\x20\x31\x33\x34\x2e\x36\x39\x33\x33\x33\x2c\x36\x37\
+\x2e\x33\x30\x35\x32\x31\x39\x20\x31\x33\x30\x2c\x36\x37\x2e\x32\
+\x39\x35\x34\x33\x32\x20\x31\x33\x30\x2c\x36\x36\x20\x7a\x20\x6d\
+\x20\x31\x32\x2e\x38\x35\x34\x32\x39\x2c\x2d\x32\x2e\x31\x33\x39\
+\x37\x32\x33\x20\x43\x20\x31\x34\x33\x2e\x39\x39\x31\x38\x33\x2c\
+\x36\x30\x2e\x37\x37\x39\x32\x31\x31\x20\x31\x34\x37\x2c\x36\x30\
+\x2e\x31\x30\x31\x37\x38\x31\x20\x31\x34\x37\x2c\x36\x32\x2e\x39\
+\x32\x36\x36\x37\x36\x20\x31\x34\x37\x2c\x36\x34\x2e\x30\x36\x37\
+\x30\x30\x34\x20\x31\x34\x36\x2e\x35\x38\x36\x38\x2c\x36\x35\x20\
+\x31\x34\x36\x2e\x30\x38\x31\x37\x39\x2c\x36\x35\x20\x63\x20\x2d\
+\x30\x2e\x35\x30\x35\x30\x32\x2c\x30\x20\x2d\x31\x2e\x36\x33\x33\
+\x38\x38\x2c\x30\x2e\x32\x37\x34\x36\x32\x35\x20\x2d\x32\x2e\x35\
+\x30\x38\x35\x37\x2c\x30\x2e\x36\x31\x30\x32\x37\x37\x20\x2d\x31\
+\x2e\x33\x30\x38\x30\x32\x2c\x30\x2e\x35\x30\x31\x39\x33\x32\x20\
+\x2d\x31\x2e\x34\x33\x35\x36\x35\x2c\x30\x2e\x31\x39\x31\x32\x34\
+\x35\x20\x2d\x30\x2e\x37\x31\x38\x39\x33\x2c\x2d\x31\x2e\x37\x35\
+\x20\x7a\x20\x4d\x20\x31\x33\x36\x2c\x36\x32\x2e\x35\x20\x63\x20\
+\x30\x2c\x2d\x30\x2e\x38\x32\x35\x20\x30\x2e\x34\x33\x35\x38\x38\
+\x2c\x2d\x31\x2e\x35\x20\x30\x2e\x39\x36\x38\x36\x32\x2c\x2d\x31\
+\x2e\x35\x20\x30\x2e\x35\x33\x32\x37\x33\x2c\x30\x20\x30\x2e\x37\
+\x30\x39\x35\x39\x2c\x30\x2e\x36\x37\x35\x20\x30\x2e\x33\x39\x33\
+\x30\x31\x2c\x31\x2e\x35\x20\x2d\x30\x2e\x33\x31\x36\x35\x39\x2c\
+\x30\x2e\x38\x32\x35\x20\x2d\x30\x2e\x37\x35\x32\x34\x36\x2c\x31\
+\x2e\x35\x20\x2d\x30\x2e\x39\x36\x38\x36\x32\x2c\x31\x2e\x35\x20\
+\x43\x20\x31\x33\x36\x2e\x31\x37\x36\x38\x36\x2c\x36\x34\x20\x31\
+\x33\x36\x2c\x36\x33\x2e\x33\x32\x35\x20\x31\x33\x36\x2c\x36\x32\
+\x2e\x35\x20\x7a\x20\x6d\x20\x31\x36\x2e\x33\x33\x33\x33\x33\x2c\
+\x30\x20\x63\x20\x30\x2c\x2d\x30\x2e\x38\x35\x35\x35\x35\x36\x20\
+\x30\x2e\x34\x30\x38\x37\x35\x2c\x2d\x31\x2e\x34\x31\x39\x33\x30\
+\x36\x20\x30\x2e\x39\x30\x38\x33\x34\x2c\x2d\x31\x2e\x32\x35\x32\
+\x37\x37\x38\x20\x43\x20\x31\x35\x33\x2e\x37\x34\x31\x32\x35\x2c\
+\x36\x31\x2e\x34\x31\x33\x37\x35\x20\x31\x35\x34\x2e\x31\x35\x2c\
+\x36\x31\x2e\x39\x37\x37\x35\x20\x31\x35\x34\x2e\x31\x35\x2c\x36\
+\x32\x2e\x35\x20\x63\x20\x30\x2c\x30\x2e\x35\x32\x32\x35\x20\x2d\
+\x30\x2e\x34\x30\x38\x37\x35\x2c\x31\x2e\x30\x38\x36\x32\x35\x20\
+\x2d\x30\x2e\x39\x30\x38\x33\x33\x2c\x31\x2e\x32\x35\x32\x37\x37\
+\x38\x20\x2d\x30\x2e\x34\x39\x39\x35\x39\x2c\x30\x2e\x31\x36\x36\
+\x35\x32\x38\x20\x2d\x30\x2e\x39\x30\x38\x33\x34\x2c\x2d\x30\x2e\
+\x33\x39\x37\x32\x32\x32\x20\x2d\x30\x2e\x39\x30\x38\x33\x34\x2c\
+\x2d\x31\x2e\x32\x35\x32\x37\x37\x38\x20\x7a\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\x32\x36\
+\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\
+\x6c\x3a\x23\x39\x36\x38\x65\x38\x66\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x31\x33\x34\x2e\x31\x34\x31\x35\x2c\
+\x31\x39\x32\x2e\x37\x35\x20\x63\x20\x2d\x30\x2e\x31\x32\x35\x30\
+\x37\x2c\x2d\x35\x2e\x39\x36\x36\x33\x32\x20\x2d\x30\x2e\x33\x36\
+\x36\x38\x35\x2c\x2d\x36\x2e\x37\x35\x20\x2d\x32\x2e\x30\x38\x32\
+\x34\x38\x2c\x2d\x36\x2e\x37\x35\x20\x2d\x31\x2e\x30\x36\x37\x35\
+\x34\x2c\x30\x20\x2d\x32\x2e\x32\x32\x33\x36\x34\x2c\x2d\x30\x2e\
+\x34\x35\x37\x33\x34\x20\x2d\x32\x2e\x35\x36\x39\x31\x2c\x2d\x31\
+\x2e\x30\x31\x36\x33\x31\x20\x2d\x30\x2e\x33\x34\x35\x34\x36\x2c\
+\x2d\x30\x2e\x35\x35\x38\x39\x37\x20\x2d\x30\x2e\x39\x35\x31\x39\
+\x33\x2c\x2d\x30\x2e\x38\x31\x36\x31\x39\x20\x2d\x31\x2e\x33\x34\
+\x37\x37\x2c\x2d\x30\x2e\x35\x37\x31\x35\x38\x20\x2d\x30\x2e\x33\
+\x39\x35\x37\x38\x2c\x30\x2e\x32\x34\x34\x36\x20\x2d\x33\x2e\x34\
+\x33\x36\x36\x34\x2c\x30\x2e\x36\x38\x33\x34\x20\x2d\x36\x2e\x37\
+\x35\x37\x34\x38\x2c\x30\x2e\x39\x37\x35\x31\x32\x20\x2d\x33\x2e\
+\x33\x32\x30\x38\x34\x2c\x30\x2e\x32\x39\x31\x37\x32\x20\x2d\x37\
+\x2e\x32\x34\x30\x39\x33\x2c\x30\x2e\x39\x38\x37\x37\x39\x20\x2d\
+\x38\x2e\x37\x31\x31\x33\x31\x2c\x31\x2e\x35\x34\x36\x38\x33\x20\
+\x2d\x31\x2e\x39\x39\x34\x35\x39\x2c\x30\x2e\x37\x35\x38\x33\x35\
+\x20\x2d\x32\x2e\x36\x38\x31\x31\x35\x2c\x30\x2e\x37\x30\x35\x33\
+\x32\x20\x2d\x32\x2e\x37\x30\x33\x38\x34\x2c\x2d\x30\x2e\x32\x30\
+\x38\x38\x31\x20\x2d\x30\x2e\x30\x31\x36\x37\x2c\x2d\x30\x2e\x36\
+\x37\x33\x38\x39\x20\x2d\x30\x2e\x34\x38\x39\x30\x38\x2c\x2d\x30\
+\x2e\x34\x33\x37\x37\x35\x20\x2d\x31\x2e\x30\x34\x39\x36\x39\x2c\
+\x30\x2e\x35\x32\x34\x37\x35\x20\x2d\x30\x2e\x35\x36\x30\x36\x2c\
+\x30\x2e\x39\x36\x32\x35\x20\x2d\x31\x2e\x36\x39\x38\x34\x38\x2c\
+\x31\x2e\x37\x35\x20\x2d\x32\x2e\x35\x32\x38\x36\x31\x2c\x31\x2e\
+\x37\x35\x20\x2d\x30\x2e\x39\x31\x34\x30\x36\x2c\x30\x20\x2d\x31\
+\x2e\x32\x33\x33\x33\x2c\x30\x2e\x34\x39\x32\x39\x39\x20\x2d\x30\
+\x2e\x38\x30\x39\x34\x34\x2c\x31\x2e\x32\x35\x20\x30\x2e\x33\x38\
+\x34\x39\x34\x2c\x30\x2e\x36\x38\x37\x35\x20\x2d\x30\x2e\x31\x33\
+\x31\x37\x32\x2c\x30\x2e\x34\x36\x35\x37\x31\x20\x2d\x31\x2e\x31\
+\x34\x38\x31\x33\x2c\x2d\x30\x2e\x34\x39\x32\x38\x36\x20\x2d\x31\
+\x2e\x31\x33\x32\x35\x36\x2c\x2d\x31\x2e\x30\x36\x38\x31\x32\x20\
+\x2d\x31\x2e\x34\x37\x37\x34\x35\x2c\x2d\x32\x2e\x30\x36\x35\x34\
+\x35\x20\x2d\x30\x2e\x38\x39\x30\x38\x36\x2c\x2d\x32\x2e\x35\x37\
+\x36\x31\x32\x20\x31\x2e\x39\x33\x30\x33\x35\x2c\x2d\x31\x2e\x36\
+\x38\x30\x35\x31\x20\x39\x2e\x32\x30\x32\x33\x33\x2c\x2d\x33\x2e\
+\x31\x30\x37\x30\x38\x20\x31\x38\x2e\x39\x32\x36\x32\x39\x2c\x2d\
+\x33\x2e\x37\x31\x32\x38\x34\x20\x35\x2e\x34\x38\x33\x30\x33\x2c\
+\x2d\x30\x2e\x33\x34\x31\x35\x36\x20\x31\x30\x2e\x33\x32\x30\x35\
+\x33\x2c\x2d\x30\x2e\x38\x33\x38\x31\x39\x20\x31\x30\x2e\x37\x35\
+\x2c\x2d\x31\x2e\x31\x30\x33\x36\x32\x20\x30\x2e\x34\x32\x39\x34\
+\x37\x2c\x2d\x30\x2e\x32\x36\x35\x34\x33\x20\x30\x2e\x37\x38\x30\
+\x38\x35\x2c\x2d\x31\x2e\x37\x37\x36\x37\x34\x20\x30\x2e\x37\x38\
+\x30\x38\x35\x2c\x2d\x33\x2e\x33\x35\x38\x34\x38\x20\x30\x2c\x2d\
+\x31\x2e\x35\x38\x31\x37\x33\x20\x30\x2e\x34\x32\x31\x30\x32\x2c\
+\x2d\x33\x2e\x39\x38\x33\x32\x36\x20\x30\x2e\x39\x33\x35\x36\x31\
+\x2c\x2d\x35\x2e\x33\x33\x36\x37\x31\x20\x30\x2e\x38\x31\x35\x38\
+\x39\x2c\x2d\x32\x2e\x31\x34\x35\x39\x36\x20\x30\x2e\x36\x32\x38\
+\x34\x32\x2c\x2d\x32\x2e\x35\x31\x39\x35\x36\x20\x2d\x31\x2e\x34\
+\x36\x35\x31\x32\x2c\x2d\x32\x2e\x39\x31\x39\x37\x36\x20\x2d\x31\
+\x2e\x33\x32\x30\x33\x39\x2c\x2d\x30\x2e\x32\x35\x32\x34\x31\x20\
+\x2d\x32\x2e\x36\x30\x35\x38\x39\x2c\x30\x2e\x30\x33\x38\x32\x20\
+\x2d\x32\x2e\x38\x35\x36\x36\x36\x2c\x30\x2e\x36\x34\x35\x37\x33\
+\x20\x2d\x30\x2e\x32\x39\x33\x32\x37\x2c\x30\x2e\x37\x31\x30\x35\
+\x36\x20\x2d\x30\x2e\x34\x38\x34\x31\x2c\x30\x2e\x36\x35\x38\x37\
+\x31\x20\x2d\x30\x2e\x35\x33\x34\x38\x38\x2c\x2d\x30\x2e\x31\x34\
+\x35\x33\x34\x20\x2d\x30\x2e\x30\x34\x33\x34\x2c\x2d\x30\x2e\x36\
+\x38\x37\x35\x20\x2d\x30\x2e\x37\x31\x36\x34\x35\x2c\x2d\x31\x2e\
+\x32\x35\x20\x2d\x31\x2e\x34\x39\x35\x36\x32\x2c\x2d\x31\x2e\x32\
+\x35\x20\x2d\x30\x2e\x37\x37\x39\x31\x36\x2c\x30\x20\x2d\x31\x2e\
+\x36\x32\x32\x39\x31\x2c\x30\x2e\x35\x36\x32\x35\x20\x2d\x31\x2e\
+\x38\x37\x35\x2c\x31\x2e\x32\x35\x20\x2d\x30\x2e\x33\x35\x31\x30\
+\x39\x2c\x30\x2e\x39\x35\x37\x35\x33\x20\x2d\x30\x2e\x37\x35\x30\
+\x30\x36\x2c\x30\x2e\x39\x37\x35\x38\x32\x20\x2d\x31\x2e\x37\x30\
+\x35\x31\x39\x2c\x30\x2e\x30\x37\x38\x31\x20\x2d\x30\x2e\x36\x38\
+\x35\x37\x37\x2c\x2d\x30\x2e\x36\x34\x34\x35\x32\x20\x2d\x31\x2e\
+\x38\x36\x37\x30\x32\x2c\x2d\x30\x2e\x39\x33\x33\x38\x37\x20\x2d\
+\x32\x2e\x36\x32\x35\x2c\x2d\x30\x2e\x36\x34\x33\x30\x31\x20\x2d\
+\x30\x2e\x37\x35\x37\x39\x37\x2c\x30\x2e\x32\x39\x30\x38\x37\x20\
+\x2d\x31\x2e\x33\x37\x38\x31\x34\x2c\x30\x2e\x30\x35\x38\x20\x2d\
+\x31\x2e\x33\x37\x38\x31\x34\x2c\x2d\x30\x2e\x35\x31\x37\x35\x39\
+\x20\x30\x2c\x2d\x30\x2e\x35\x37\x35\x35\x34\x20\x33\x2e\x31\x34\
+\x34\x33\x33\x2c\x2d\x31\x2e\x33\x35\x36\x32\x37\x20\x36\x2e\x39\
+\x38\x37\x33\x39\x2c\x2d\x31\x2e\x37\x33\x34\x39\x36\x20\x37\x2e\
+\x31\x37\x37\x33\x2c\x2d\x30\x2e\x37\x30\x37\x32\x33\x20\x38\x2e\
+\x37\x31\x35\x33\x33\x2c\x2d\x30\x2e\x35\x34\x30\x37\x34\x20\x38\
+\x2e\x32\x33\x37\x38\x33\x2c\x30\x2e\x38\x39\x31\x37\x35\x20\x2d\
+\x30\x2e\x31\x35\x31\x31\x32\x2c\x30\x2e\x34\x35\x33\x33\x38\x20\
+\x30\x2e\x31\x36\x36\x37\x32\x2c\x30\x2e\x35\x35\x31\x34\x37\x20\
+\x30\x2e\x37\x30\x36\x33\x33\x2c\x30\x2e\x32\x31\x37\x39\x37\x20\
+\x30\x2e\x35\x33\x39\x36\x31\x2c\x2d\x30\x2e\x33\x33\x33\x34\x39\
+\x20\x30\x2e\x37\x32\x35\x34\x32\x2c\x2d\x31\x2e\x32\x37\x32\x36\
+\x34\x20\x30\x2e\x34\x31\x32\x39\x32\x2c\x2d\x32\x2e\x30\x38\x37\
+\x20\x2d\x30\x2e\x33\x34\x37\x34\x32\x2c\x2d\x30\x2e\x39\x30\x35\
+\x33\x37\x20\x30\x2e\x39\x33\x32\x32\x39\x2c\x2d\x32\x2e\x39\x31\
+\x31\x37\x33\x20\x33\x2e\x32\x39\x33\x36\x38\x2c\x2d\x35\x2e\x31\
+\x36\x33\x39\x20\x32\x2e\x31\x32\x34\x30\x32\x2c\x2d\x32\x2e\x30\
+\x32\x35\x37\x38\x20\x32\x2e\x39\x36\x31\x38\x35\x2c\x2d\x33\x2e\
+\x30\x35\x34\x32\x38\x20\x31\x2e\x38\x36\x31\x38\x35\x2c\x2d\x32\
+\x2e\x32\x38\x35\x35\x35\x20\x2d\x31\x2e\x36\x39\x34\x30\x36\x2c\
+\x31\x2e\x31\x38\x33\x38\x39\x20\x2d\x31\x2e\x38\x31\x30\x33\x34\
+\x2c\x31\x2e\x31\x38\x34\x38\x32\x20\x2d\x30\x2e\x37\x36\x30\x31\
+\x32\x2c\x30\x2e\x30\x30\x36\x20\x32\x2e\x31\x31\x35\x35\x35\x2c\
+\x2d\x32\x2e\x33\x37\x34\x35\x31\x20\x33\x2e\x38\x35\x34\x35\x33\
+\x2c\x2d\x31\x2e\x39\x38\x31\x32\x37\x20\x33\x2e\x37\x38\x38\x35\
+\x31\x2c\x30\x2e\x38\x35\x36\x37\x31\x20\x2d\x30\x2e\x30\x34\x33\
+\x32\x2c\x31\x2e\x38\x35\x36\x30\x34\x20\x2d\x30\x2e\x35\x36\x38\
+\x38\x36\x2c\x32\x2e\x35\x39\x31\x20\x2d\x31\x2e\x37\x38\x34\x30\
+\x34\x2c\x32\x2e\x34\x39\x34\x33\x20\x2d\x30\x2e\x39\x34\x37\x35\
+\x36\x2c\x2d\x30\x2e\x30\x37\x35\x34\x20\x2d\x31\x2e\x34\x39\x35\
+\x33\x33\x2c\x30\x2e\x32\x33\x31\x30\x31\x20\x2d\x31\x2e\x32\x31\
+\x37\x32\x38\x2c\x30\x2e\x36\x38\x30\x39\x31\x20\x30\x2e\x32\x37\
+\x38\x30\x36\x2c\x30\x2e\x34\x34\x39\x38\x39\x20\x30\x2e\x30\x34\
+\x30\x39\x2c\x31\x2e\x31\x30\x35\x31\x38\x20\x2d\x30\x2e\x35\x32\
+\x37\x30\x37\x2c\x31\x2e\x34\x35\x36\x31\x39\x20\x2d\x30\x2e\x35\
+\x36\x37\x39\x34\x2c\x30\x2e\x33\x35\x31\x30\x31\x20\x2d\x30\x2e\
+\x38\x31\x35\x38\x34\x2c\x30\x2e\x39\x38\x38\x39\x35\x20\x2d\x30\
+\x2e\x35\x35\x30\x38\x39\x2c\x31\x2e\x34\x31\x37\x36\x35\x20\x30\
+\x2e\x32\x36\x34\x39\x35\x2c\x30\x2e\x34\x32\x38\x37\x31\x20\x2d\
+\x30\x2e\x34\x30\x32\x37\x31\x2c\x31\x2e\x37\x32\x38\x38\x20\x2d\
+\x31\x2e\x34\x38\x33\x36\x39\x2c\x32\x2e\x38\x38\x39\x30\x39\x20\
+\x2d\x31\x2e\x30\x38\x30\x39\x38\x2c\x31\x2e\x31\x36\x30\x33\x20\
+\x2d\x31\x2e\x39\x36\x35\x34\x32\x2c\x32\x2e\x37\x31\x33\x34\x35\
+\x20\x2d\x31\x2e\x39\x36\x35\x34\x32\x2c\x33\x2e\x34\x35\x31\x34\
+\x35\x20\x30\x2c\x30\x2e\x37\x33\x37\x39\x39\x20\x2d\x30\x2e\x34\
+\x32\x35\x31\x33\x2c\x31\x2e\x37\x36\x39\x33\x31\x20\x2d\x30\x2e\
+\x39\x34\x34\x37\x34\x2c\x32\x2e\x32\x39\x31\x38\x31\x20\x2d\x30\
+\x2e\x35\x31\x39\x36\x31\x2c\x30\x2e\x35\x32\x32\x35\x20\x2d\x31\
+\x2e\x33\x35\x35\x39\x34\x2c\x36\x2e\x31\x32\x35\x20\x2d\x31\x2e\
+\x38\x35\x38\x35\x2c\x31\x32\x2e\x34\x35\x20\x2d\x30\x2e\x37\x36\
+\x34\x36\x37\x2c\x39\x2e\x36\x32\x33\x37\x34\x20\x2d\x30\x2e\x39\
+\x33\x36\x38\x34\x2c\x31\x30\x2e\x33\x39\x38\x37\x32\x20\x2d\x31\
+\x2e\x30\x35\x35\x32\x36\x2c\x34\x2e\x37\x35\x20\x7a\x20\x6d\x20\
+\x2d\x33\x30\x2e\x31\x39\x36\x32\x31\x2c\x2d\x31\x36\x20\x63\x20\
+\x2d\x30\x2e\x31\x30\x37\x34\x31\x2c\x2d\x30\x2e\x34\x31\x32\x35\
+\x20\x2d\x30\x2e\x32\x35\x38\x34\x33\x2c\x2d\x31\x2e\x30\x38\x37\
+\x35\x20\x2d\x30\x2e\x33\x33\x35\x36\x2c\x2d\x31\x2e\x35\x20\x2d\
+\x30\x2e\x30\x37\x37\x32\x2c\x2d\x30\x2e\x34\x31\x32\x35\x20\x2d\
+\x30\x2e\x34\x39\x37\x34\x38\x2c\x2d\x31\x2e\x33\x31\x32\x35\x20\
+\x2d\x30\x2e\x39\x33\x34\x30\x32\x2c\x2d\x32\x20\x2d\x30\x2e\x35\
+\x31\x31\x30\x37\x2c\x2d\x30\x2e\x38\x30\x34\x38\x38\x20\x2d\x30\
+\x2e\x32\x33\x38\x35\x34\x2c\x2d\x31\x2e\x32\x35\x20\x30\x2e\x37\
+\x36\x35\x33\x31\x2c\x2d\x31\x2e\x32\x35\x20\x30\x2e\x38\x35\x37\
+\x34\x36\x2c\x30\x20\x31\x2e\x35\x35\x39\x30\x32\x2c\x2d\x30\x2e\
+\x34\x35\x20\x31\x2e\x35\x35\x39\x30\x32\x2c\x2d\x31\x20\x30\x2c\
+\x2d\x30\x2e\x35\x36\x38\x36\x38\x20\x32\x2e\x36\x39\x35\x37\x33\
+\x2c\x2d\x30\x2e\x39\x36\x34\x38\x39\x20\x36\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x39\x31\x38\x36\x20\x6c\x20\x36\x2e\x32\x35\x2c\x30\x2e\
+\x30\x38\x31\x34\x20\x2d\x35\x2e\x39\x31\x39\x38\x33\x2c\x31\x2e\
+\x37\x32\x37\x33\x35\x20\x63\x20\x2d\x33\x2e\x38\x38\x31\x30\x32\
+\x2c\x31\x2e\x31\x33\x32\x34\x34\x20\x2d\x36\x2e\x31\x38\x31\x35\
+\x33\x2c\x32\x2e\x33\x39\x35\x39\x31\x20\x2d\x36\x2e\x36\x37\x39\
+\x37\x31\x2c\x33\x2e\x36\x36\x38\x35\x39\x20\x2d\x30\x2e\x34\x31\
+\x37\x39\x34\x2c\x31\x2e\x30\x36\x37\x37\x20\x2d\x30\x2e\x38\x34\
+\x37\x37\x37\x2c\x31\x2e\x36\x30\x33\x37\x36\x20\x2d\x30\x2e\x39\
+\x35\x35\x31\x37\x2c\x31\x2e\x31\x39\x31\x32\x36\x20\x7a\x20\x4d\
+\x20\x31\x30\x30\x2e\x37\x35\x2c\x31\x37\x30\x2e\x33\x33\x37\x37\
+\x32\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x37\
+\x37\x34\x31\x20\x31\x2e\x38\x31\x32\x35\x2c\x2d\x30\x2e\x32\x37\
+\x37\x34\x31\x20\x32\x2e\x35\x2c\x30\x20\x30\x2e\x36\x38\x37\x35\
+\x2c\x30\x2e\x32\x37\x37\x34\x31\x20\x30\x2e\x31\x32\x35\x2c\x30\
+\x2e\x35\x30\x34\x33\x39\x20\x2d\x31\x2e\x32\x35\x2c\x30\x2e\x35\
+\x30\x34\x33\x39\x20\x2d\x31\x2e\x33\x37\x35\x2c\x30\x20\x2d\x31\
+\x2e\x39\x33\x37\x35\x2c\x2d\x30\x2e\x32\x32\x36\x39\x38\x20\x2d\
+\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x35\x30\x34\x33\x39\x20\x7a\x20\
+\x4d\x20\x31\x31\x38\x2c\x31\x37\x30\x20\x63\x20\x30\x2c\x2d\x30\
+\x2e\x35\x35\x20\x30\x2e\x34\x37\x36\x35\x36\x2c\x2d\x31\x20\x31\
+\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x30\x2e\x35\x38\x32\x34\
+\x36\x2c\x30\x20\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\
+\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\
+\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x38\x31\x36\x34\x38\
+\x2c\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x43\x20\
+\x31\x31\x38\x2e\x31\x39\x38\x34\x34\x2c\x31\x37\x31\x20\x31\x31\
+\x38\x2c\x31\x37\x30\x2e\x35\x35\x20\x31\x31\x38\x2c\x31\x37\x30\
+\x20\x7a\x20\x6d\x20\x2d\x31\x34\x2e\x38\x35\x30\x36\x34\x2c\x2d\
+\x37\x2e\x36\x37\x34\x33\x32\x20\x63\x20\x30\x2e\x31\x36\x35\x34\
+\x2c\x2d\x31\x2e\x30\x30\x34\x31\x32\x20\x2d\x30\x2e\x30\x35\x39\
+\x2c\x2d\x32\x2e\x33\x39\x39\x33\x33\x20\x2d\x30\x2e\x34\x39\x38\
+\x36\x35\x2c\x2d\x33\x2e\x31\x30\x30\x34\x36\x20\x2d\x30\x2e\x34\
+\x33\x39\x36\x35\x2c\x2d\x30\x2e\x37\x30\x31\x31\x32\x20\x2d\x30\
+\x2e\x34\x32\x38\x34\x32\x2c\x2d\x31\x2e\x32\x31\x30\x33\x33\x20\
+\x30\x2e\x30\x32\x35\x2c\x2d\x31\x2e\x31\x33\x31\x35\x38\x20\x30\
+\x2e\x34\x35\x33\x33\x38\x2c\x30\x2e\x30\x37\x38\x38\x20\x31\x2e\
+\x34\x39\x39\x33\x33\x2c\x30\x2e\x30\x35\x38\x33\x20\x32\x2e\x33\
+\x32\x34\x33\x33\x2c\x2d\x30\x2e\x30\x34\x35\x35\x20\x31\x2e\x30\
+\x37\x30\x34\x37\x2c\x2d\x30\x2e\x31\x33\x34\x36\x37\x20\x30\x2e\
+\x39\x32\x37\x32\x39\x2c\x2d\x30\x2e\x34\x33\x34\x31\x20\x2d\x30\
+\x2e\x35\x2c\x2d\x31\x2e\x30\x34\x35\x36\x35\x20\x2d\x31\x2e\x35\
+\x33\x37\x31\x37\x2c\x2d\x30\x2e\x36\x35\x38\x36\x34\x20\x2d\x31\
+\x2e\x30\x37\x34\x33\x35\x2c\x2d\x30\x2e\x38\x34\x31\x33\x35\x20\
+\x32\x2c\x2d\x30\x2e\x37\x38\x39\x35\x35\x20\x32\x2e\x32\x2c\x30\
+\x2e\x30\x33\x37\x31\x20\x38\x2e\x32\x37\x35\x2c\x2d\x30\x2e\x35\
+\x32\x39\x30\x36\x20\x31\x33\x2e\x35\x2c\x2d\x31\x2e\x32\x35\x38\
+\x30\x37\x20\x35\x2e\x32\x32\x35\x2c\x2d\x30\x2e\x37\x32\x39\x20\
+\x31\x32\x2e\x30\x34\x35\x38\x37\x2c\x2d\x31\x2e\x33\x35\x32\x34\
+\x20\x31\x35\x2e\x31\x35\x37\x34\x39\x2c\x2d\x31\x2e\x33\x38\x35\
+\x33\x33\x20\x33\x2e\x31\x31\x31\x36\x33\x2c\x2d\x30\x2e\x30\x33\
+\x32\x39\x20\x35\x2e\x34\x34\x37\x35\x37\x2c\x2d\x30\x2e\x33\x39\
+\x39\x35\x35\x20\x35\x2e\x31\x39\x30\x39\x39\x2c\x2d\x30\x2e\x38\
+\x31\x34\x37\x31\x20\x43\x20\x31\x34\x30\x2e\x30\x39\x31\x39\x2c\
+\x31\x35\x32\x2e\x33\x33\x39\x36\x37\x20\x31\x34\x30\x2e\x33\x35\
+\x38\x35\x32\x2c\x31\x35\x32\x20\x31\x34\x30\x2e\x39\x34\x30\x39\
+\x38\x2c\x31\x35\x32\x20\x31\x34\x31\x2e\x35\x32\x33\x34\x34\x2c\
+\x31\x35\x32\x20\x31\x34\x32\x2c\x31\x35\x31\x2e\x33\x37\x33\x31\
+\x34\x20\x31\x34\x32\x2c\x31\x35\x30\x2e\x36\x30\x36\x39\x39\x20\
+\x31\x34\x32\x2c\x31\x34\x38\x2e\x39\x32\x37\x37\x32\x20\x31\x34\
+\x34\x2e\x31\x35\x33\x31\x2c\x31\x34\x38\x20\x31\x34\x38\x2e\x30\
+\x35\x30\x34\x2c\x31\x34\x38\x20\x63\x20\x32\x2e\x31\x35\x35\x32\
+\x33\x2c\x30\x20\x32\x2e\x37\x34\x30\x39\x36\x2c\x30\x2e\x33\x38\
+\x30\x31\x34\x20\x32\x2e\x33\x31\x31\x32\x33\x2c\x31\x2e\x35\x20\
+\x2d\x30\x2e\x33\x32\x38\x38\x39\x2c\x30\x2e\x38\x35\x37\x30\x37\
+\x20\x30\x2e\x30\x30\x36\x2c\x31\x2e\x35\x35\x36\x34\x32\x20\x30\
+\x2e\x37\x38\x31\x33\x38\x2c\x31\x2e\x36\x33\x31\x36\x34\x20\x30\
+\x2e\x37\x34\x36\x33\x35\x2c\x30\x2e\x30\x37\x32\x34\x20\x2d\x30\
+\x2e\x32\x31\x38\x30\x31\x2c\x30\x2e\x34\x33\x36\x33\x32\x20\x2d\
+\x32\x2e\x31\x34\x33\x30\x31\x2c\x30\x2e\x38\x30\x38\x37\x31\x20\
+\x2d\x32\x2e\x35\x33\x33\x35\x32\x2c\x30\x2e\x34\x39\x30\x31\x20\
+\x2d\x33\x2e\x38\x34\x35\x31\x37\x2c\x30\x2e\x32\x36\x32\x39\x20\
+\x2d\x34\x2e\x37\x35\x2c\x2d\x30\x2e\x38\x32\x32\x37\x37\x20\x2d\
+\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x38\x32\x34\x39\x31\x20\
+\x2d\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x30\x30\x30\x36\x34\x20\x2d\
+\x31\x2e\x32\x35\x2c\x2d\x30\x2e\x33\x39\x30\x35\x20\x30\x2c\x30\
+\x2e\x36\x31\x30\x31\x34\x20\x2d\x30\x2e\x32\x36\x36\x32\x38\x2c\
+\x31\x2e\x38\x30\x33\x32\x36\x20\x2d\x30\x2e\x35\x39\x31\x37\x33\
+\x2c\x32\x2e\x36\x35\x31\x33\x38\x20\x2d\x30\x2e\x34\x33\x35\x35\
+\x31\x2c\x31\x2e\x31\x33\x34\x39\x32\x20\x2d\x30\x2e\x30\x36\x30\
+\x34\x2c\x31\x2e\x34\x33\x39\x37\x31\x20\x31\x2e\x34\x32\x30\x38\
+\x39\x2c\x31\x2e\x31\x35\x34\x34\x34\x20\x31\x2e\x31\x30\x36\x39\
+\x34\x2c\x2d\x30\x2e\x32\x31\x33\x31\x38\x20\x32\x2e\x32\x32\x32\
+\x30\x39\x2c\x30\x2e\x31\x35\x38\x32\x38\x20\x32\x2e\x34\x37\x38\
+\x31\x32\x2c\x30\x2e\x38\x32\x35\x34\x37\x20\x30\x2e\x32\x35\x36\
+\x30\x32\x2c\x30\x2e\x36\x36\x37\x31\x38\x20\x2d\x30\x2e\x32\x37\
+\x30\x38\x38\x2c\x31\x2e\x32\x35\x35\x31\x31\x20\x2d\x31\x2e\x31\
+\x37\x30\x38\x39\x2c\x31\x2e\x33\x30\x36\x35\x20\x2d\x30\x2e\x39\
+\x30\x30\x30\x32\x2c\x30\x2e\x30\x35\x31\x34\x20\x2d\x33\x2e\x33\
+\x32\x33\x38\x39\x2c\x30\x2e\x33\x35\x32\x32\x32\x20\x2d\x35\x2e\
+\x33\x38\x36\x33\x39\x2c\x30\x2e\x36\x36\x38\x35\x32\x20\x2d\x32\
+\x2e\x30\x36\x32\x35\x2c\x30\x2e\x33\x31\x36\x33\x20\x2d\x33\x2e\
+\x37\x35\x2c\x30\x2e\x32\x34\x34\x39\x38\x20\x2d\x33\x2e\x37\x35\
+\x2c\x2d\x30\x2e\x31\x35\x38\x34\x37\x20\x30\x2c\x2d\x30\x2e\x39\
+\x35\x37\x33\x35\x20\x2d\x31\x38\x2e\x31\x32\x34\x36\x2c\x2d\x30\
+\x2e\x37\x34\x33\x31\x20\x2d\x32\x34\x2e\x32\x35\x2c\x30\x2e\x32\
+\x38\x36\x36\x35\x20\x2d\x32\x2e\x36\x31\x32\x35\x2c\x30\x2e\x34\
+\x33\x39\x32\x20\x2d\x34\x2e\x37\x35\x2c\x31\x2e\x31\x39\x30\x30\
+\x31\x20\x2d\x34\x2e\x37\x35\x2c\x31\x2e\x36\x36\x38\x34\x38\x20\
+\x30\x2c\x30\x2e\x34\x37\x38\x34\x37\x20\x2d\x30\x2e\x39\x33\x34\
+\x30\x36\x2c\x31\x2e\x38\x30\x34\x30\x31\x20\x2d\x32\x2e\x30\x37\
+\x35\x36\x38\x2c\x32\x2e\x39\x34\x35\x36\x33\x20\x2d\x31\x2e\x38\
+\x38\x32\x33\x32\x2c\x31\x2e\x38\x38\x32\x33\x32\x20\x2d\x32\x2e\
+\x30\x34\x37\x36\x37\x2c\x31\x2e\x39\x30\x35\x36\x31\x20\x2d\x31\
+\x2e\x37\x37\x34\x39\x36\x2c\x30\x2e\x32\x35\x20\x7a\x20\x6d\x20\
+\x2d\x35\x2e\x36\x37\x36\x33\x35\x32\x2c\x2d\x35\x2e\x33\x36\x39\
+\x33\x35\x20\x43\x20\x39\x37\x2e\x31\x34\x37\x39\x33\x35\x2c\x31\
+\x35\x36\x2e\x34\x33\x30\x33\x35\x20\x39\x37\x2e\x38\x30\x38\x35\
+\x32\x34\x2c\x31\x35\x36\x20\x39\x38\x2e\x39\x34\x30\x39\x38\x33\
+\x2c\x31\x35\x36\x20\x63\x20\x32\x2e\x34\x31\x34\x35\x36\x37\x2c\
+\x30\x20\x32\x2e\x36\x35\x38\x31\x35\x37\x2c\x30\x2e\x35\x35\x36\
+\x31\x31\x20\x30\x2e\x35\x39\x31\x30\x34\x32\x2c\x31\x2e\x33\x34\
+\x39\x33\x34\x20\x2d\x30\x2e\x38\x30\x37\x33\x38\x36\x2c\x30\x2e\
+\x33\x30\x39\x38\x32\x20\x2d\x31\x2e\x37\x33\x33\x39\x34\x34\x2c\
+\x30\x2e\x31\x33\x32\x39\x37\x20\x2d\x32\x2e\x30\x35\x39\x30\x31\
+\x37\x2c\x2d\x30\x2e\x33\x39\x33\x30\x31\x20\x7a\x20\x6d\x20\x33\
+\x2e\x38\x37\x30\x35\x30\x32\x2c\x2d\x31\x30\x2e\x34\x36\x35\x33\
+\x36\x20\x63\x20\x2d\x30\x2e\x36\x33\x36\x30\x38\x2c\x2d\x31\x2e\
+\x33\x37\x31\x33\x38\x20\x2d\x30\x2e\x37\x37\x39\x36\x37\x2c\x2d\
+\x32\x2e\x32\x36\x30\x35\x33\x20\x2d\x30\x2e\x33\x31\x39\x31\x2c\
+\x2d\x31\x2e\x39\x37\x35\x38\x39\x20\x30\x2e\x34\x36\x30\x35\x37\
+\x2c\x30\x2e\x32\x38\x34\x36\x35\x20\x31\x2e\x31\x32\x30\x30\x35\
+\x2c\x30\x2e\x30\x36\x30\x32\x20\x31\x2e\x34\x36\x35\x35\x31\x2c\
+\x2d\x30\x2e\x34\x39\x38\x37\x37\x20\x30\x2e\x33\x34\x35\x34\x36\
+\x2c\x2d\x30\x2e\x35\x35\x38\x39\x37\x20\x31\x2e\x38\x33\x39\x30\
+\x36\x2c\x2d\x31\x2e\x30\x32\x33\x32\x20\x33\x2e\x33\x31\x39\x31\
+\x2c\x2d\x31\x2e\x30\x33\x31\x36\x32\x20\x32\x2e\x31\x30\x34\x37\
+\x36\x2c\x2d\x30\x2e\x30\x31\x32\x20\x32\x2e\x33\x36\x34\x32\x31\
+\x2c\x2d\x30\x2e\x32\x32\x36\x34\x39\x20\x31\x2e\x31\x39\x30\x39\
+\x38\x2c\x2d\x30\x2e\x39\x38\x34\x36\x39\x20\x2d\x31\x2e\x30\x34\
+\x35\x37\x33\x2c\x2d\x30\x2e\x36\x37\x35\x38\x20\x30\x2e\x34\x36\
+\x38\x35\x32\x2c\x2d\x30\x2e\x39\x33\x38\x38\x38\x20\x35\x2c\x2d\
+\x30\x2e\x38\x36\x38\x36\x39\x20\x33\x2e\x35\x37\x35\x2c\x30\x2e\
+\x30\x35\x35\x34\x20\x35\x2e\x36\x2c\x30\x2e\x32\x39\x39\x38\x34\
+\x20\x34\x2e\x35\x2c\x30\x2e\x35\x34\x33\x32\x34\x20\x2d\x31\x2e\
+\x31\x2c\x30\x2e\x32\x34\x33\x34\x20\x2d\x32\x2e\x36\x37\x35\x2c\
+\x30\x2e\x37\x30\x30\x37\x20\x2d\x33\x2e\x35\x2c\x31\x2e\x30\x31\
+\x36\x32\x33\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x2e\x33\x31\x35\
+\x35\x32\x20\x2d\x32\x2e\x36\x31\x38\x35\x34\x2c\x30\x2e\x37\x31\
+\x39\x37\x38\x20\x2d\x33\x2e\x39\x38\x35\x36\x33\x2c\x30\x2e\x38\
+\x39\x38\x33\x35\x20\x2d\x31\x2e\x33\x36\x37\x31\x2c\x30\x2e\x31\
+\x37\x38\x35\x37\x20\x2d\x32\x2e\x36\x34\x32\x31\x2c\x30\x2e\x37\
+\x39\x34\x30\x37\x20\x2d\x32\x2e\x38\x33\x33\x33\x34\x2c\x31\x2e\
+\x33\x36\x37\x37\x37\x20\x43\x20\x31\x30\x35\x2e\x39\x38\x39\x38\
+\x2c\x31\x34\x35\x2e\x35\x33\x30\x36\x31\x20\x31\x30\x35\x2e\x31\
+\x39\x35\x38\x33\x2c\x31\x34\x36\x20\x31\x30\x34\x2e\x34\x31\x36\
+\x36\x37\x2c\x31\x34\x36\x20\x31\x30\x33\x2e\x36\x33\x37\x35\x2c\
+\x31\x34\x36\x20\x31\x30\x33\x2c\x31\x34\x36\x2e\x34\x37\x36\x35\
+\x36\x20\x31\x30\x33\x2c\x31\x34\x37\x2e\x30\x35\x39\x30\x32\x20\
+\x63\x20\x30\x2c\x30\x2e\x35\x38\x32\x34\x36\x20\x30\x2e\x35\x31\
+\x39\x35\x33\x2c\x30\x2e\x37\x33\x37\x39\x33\x20\x31\x2e\x31\x35\
+\x34\x35\x31\x2c\x30\x2e\x33\x34\x35\x34\x39\x20\x30\x2e\x37\x31\
+\x35\x33\x2c\x2d\x30\x2e\x34\x34\x32\x30\x38\x20\x30\x2e\x38\x38\
+\x33\x30\x36\x2c\x2d\x30\x2e\x32\x37\x34\x33\x32\x20\x30\x2e\x34\
+\x34\x30\x39\x38\x2c\x30\x2e\x34\x34\x30\x39\x38\x20\x2d\x31\x2e\
+\x30\x38\x36\x37\x36\x2c\x31\x2e\x37\x35\x38\x34\x31\x20\x2d\x31\
+\x2e\x39\x38\x30\x38\x39\x2c\x31\x2e\x33\x38\x35\x39\x39\x20\x2d\
+\x33\x2e\x32\x35\x31\x39\x38\x2c\x2d\x31\x2e\x33\x35\x34\x35\x32\
+\x20\x7a\x20\x6d\x20\x33\x30\x2e\x32\x34\x34\x34\x33\x2c\x2d\x33\
+\x2e\x38\x30\x33\x30\x31\x20\x63\x20\x2d\x31\x2e\x30\x32\x32\x31\
+\x33\x2c\x2d\x30\x2e\x37\x34\x37\x34\x20\x2d\x32\x2e\x38\x38\x32\
+\x34\x37\x2c\x2d\x31\x2e\x31\x36\x33\x31\x35\x20\x2d\x34\x2e\x31\
+\x33\x34\x30\x39\x2c\x2d\x30\x2e\x39\x32\x33\x38\x39\x20\x2d\x31\
+\x2e\x32\x35\x31\x36\x32\x2c\x30\x2e\x32\x33\x39\x32\x36\x20\x2d\
+\x33\x2e\x31\x30\x33\x32\x36\x2c\x2d\x30\x2e\x30\x34\x36\x31\x20\
+\x2d\x34\x2e\x31\x31\x34\x37\x36\x2c\x2d\x30\x2e\x36\x33\x34\x31\
+\x31\x20\x2d\x31\x2e\x39\x39\x37\x34\x37\x2c\x2d\x31\x2e\x31\x36\
+\x31\x32\x32\x20\x2d\x32\x2e\x33\x33\x35\x36\x37\x2c\x2d\x31\x2e\
+\x30\x37\x35\x33\x35\x20\x36\x2e\x32\x30\x30\x37\x32\x2c\x2d\x31\
+\x2e\x35\x37\x34\x34\x31\x20\x31\x2e\x36\x37\x31\x39\x2c\x2d\x30\
+\x2e\x30\x39\x37\x37\x20\x33\x2e\x36\x35\x33\x39\x33\x2c\x2d\x30\
+\x2e\x35\x35\x37\x32\x35\x20\x34\x2e\x34\x30\x34\x35\x31\x2c\x2d\
+\x31\x2e\x30\x32\x31\x31\x34\x20\x30\x2e\x38\x33\x38\x33\x37\x2c\
+\x2d\x30\x2e\x35\x31\x38\x31\x34\x20\x31\x2e\x31\x32\x39\x32\x33\
+\x2c\x2d\x30\x2e\x34\x36\x32\x34\x34\x20\x30\x2e\x37\x35\x34\x31\
+\x38\x2c\x30\x2e\x31\x34\x34\x34\x31\x20\x2d\x30\x2e\x33\x33\x35\
+\x37\x39\x2c\x30\x2e\x35\x34\x33\x33\x32\x20\x30\x2e\x30\x32\x34\
+\x39\x2c\x30\x2e\x39\x38\x37\x38\x35\x20\x30\x2e\x38\x30\x31\x35\
+\x2c\x30\x2e\x39\x38\x37\x38\x35\x20\x30\x2e\x37\x37\x36\x36\x31\
+\x2c\x30\x20\x31\x2e\x31\x38\x30\x32\x36\x2c\x2d\x30\x2e\x33\x37\
+\x35\x20\x30\x2e\x38\x39\x36\x39\x39\x2c\x2d\x30\x2e\x38\x33\x33\
+\x33\x34\x20\x2d\x30\x2e\x32\x38\x33\x32\x36\x2c\x2d\x30\x2e\x34\
+\x35\x38\x33\x33\x20\x30\x2e\x39\x37\x34\x30\x33\x2c\x2d\x30\x2e\
+\x37\x38\x38\x34\x37\x20\x32\x2e\x37\x39\x33\x39\x39\x2c\x2d\x30\
+\x2e\x37\x33\x33\x36\x35\x20\x33\x2e\x30\x31\x32\x39\x35\x2c\x30\
+\x2e\x30\x39\x30\x38\x20\x33\x2e\x30\x38\x36\x32\x34\x2c\x30\x2e\
+\x31\x36\x31\x36\x39\x20\x30\x2e\x38\x31\x39\x31\x2c\x30\x2e\x37\
+\x39\x32\x37\x31\x20\x2d\x33\x2e\x30\x36\x38\x2c\x30\x2e\x38\x35\
+\x33\x39\x32\x20\x2d\x31\x2e\x34\x39\x38\x32\x32\x2c\x31\x2e\x39\
+\x37\x38\x39\x31\x20\x32\x2e\x31\x37\x39\x34\x34\x2c\x31\x2e\x35\
+\x36\x31\x39\x20\x31\x2e\x34\x37\x39\x32\x34\x2c\x2d\x30\x2e\x31\
+\x36\x37\x37\x32\x20\x33\x2e\x32\x32\x31\x34\x31\x2c\x30\x2e\x33\
+\x33\x35\x39\x33\x20\x33\x2e\x38\x37\x31\x35\x2c\x31\x2e\x31\x31\
+\x39\x32\x33\x20\x30\x2e\x39\x36\x38\x32\x37\x2c\x31\x2e\x31\x36\
+\x36\x37\x20\x30\x2e\x37\x35\x33\x32\x32\x2c\x31\x2e\x34\x30\x35\
+\x36\x38\x20\x2d\x31\x2e\x31\x38\x39\x35\x33\x2c\x31\x2e\x33\x32\
+\x31\x38\x32\x20\x2d\x31\x2e\x33\x30\x34\x33\x32\x2c\x2d\x30\x2e\
+\x30\x35\x36\x33\x20\x2d\x34\x2e\x34\x30\x38\x35\x36\x2c\x30\x2e\
+\x31\x37\x39\x37\x36\x20\x2d\x36\x2e\x38\x39\x38\x33\x31\x2c\x30\
+\x2e\x35\x32\x34\x35\x38\x20\x2d\x33\x2e\x31\x30\x30\x31\x36\x2c\
+\x30\x2e\x34\x32\x39\x33\x36\x20\x2d\x35\x2e\x31\x31\x32\x35\x32\
+\x2c\x30\x2e\x31\x39\x38\x36\x38\x20\x2d\x36\x2e\x33\x38\x35\x32\
+\x34\x2c\x2d\x30\x2e\x37\x33\x31\x39\x36\x20\x7a\x20\x6d\x20\x31\
+\x31\x2e\x38\x30\x36\x30\x35\x2c\x2d\x36\x2e\x31\x36\x36\x36\x36\
+\x20\x63\x20\x30\x2e\x33\x31\x35\x38\x39\x2c\x2d\x32\x2e\x31\x35\
+\x32\x33\x20\x31\x2e\x31\x30\x39\x31\x34\x2c\x2d\x32\x2e\x36\x37\
+\x34\x31\x37\x20\x34\x2e\x38\x32\x36\x31\x33\x2c\x2d\x33\x2e\x31\
+\x37\x35\x30\x38\x20\x32\x2e\x38\x32\x35\x30\x37\x2c\x2d\x30\x2e\
+\x33\x38\x30\x37\x31\x20\x33\x2e\x33\x35\x31\x33\x31\x2c\x2d\x30\
+\x2e\x31\x34\x30\x38\x33\x20\x33\x2e\x33\x35\x31\x33\x31\x2c\x31\
+\x2e\x35\x32\x37\x36\x36\x20\x30\x2c\x31\x2e\x30\x38\x38\x36\x20\
+\x2d\x30\x2e\x33\x35\x33\x35\x37\x2c\x31\x2e\x37\x36\x30\x37\x36\
+\x20\x2d\x30\x2e\x37\x38\x35\x37\x32\x2c\x31\x2e\x34\x39\x33\x36\
+\x38\x20\x2d\x30\x2e\x34\x33\x32\x31\x34\x2c\x2d\x30\x2e\x32\x36\
+\x37\x30\x37\x20\x2d\x30\x2e\x37\x38\x36\x36\x31\x2c\x2d\x30\x2e\
+\x31\x32\x31\x35\x34\x20\x2d\x30\x2e\x37\x38\x37\x37\x31\x2c\x30\
+\x2e\x33\x32\x33\x34\x32\x20\x2d\x31\x30\x65\x2d\x34\x2c\x30\x2e\
+\x34\x34\x34\x39\x36\x20\x2d\x31\x2e\x35\x33\x35\x37\x38\x2c\x30\
+\x2e\x39\x31\x38\x30\x38\x20\x2d\x33\x2e\x34\x31\x30\x34\x2c\x31\
+\x2e\x30\x35\x31\x33\x37\x20\x2d\x32\x2e\x35\x31\x32\x31\x38\x2c\
+\x30\x2e\x31\x37\x38\x36\x33\x20\x2d\x33\x2e\x33\x35\x31\x39\x31\
+\x2c\x2d\x30\x2e\x31\x34\x32\x34\x33\x20\x2d\x33\x2e\x31\x39\x33\
+\x36\x31\x2c\x2d\x31\x2e\x32\x32\x31\x30\x35\x20\x7a\x20\x6d\x20\
+\x2d\x34\x31\x2e\x33\x31\x39\x32\x32\x2c\x2d\x33\x2e\x39\x33\x31\
+\x32\x20\x63\x20\x2d\x30\x2e\x39\x32\x36\x31\x39\x2c\x2d\x31\x2e\
+\x31\x31\x36\x20\x2d\x30\x2e\x37\x32\x31\x36\x32\x2c\x2d\x31\x2e\
+\x37\x32\x34\x30\x35\x20\x30\x2e\x39\x38\x31\x33\x35\x2c\x2d\x32\
+\x2e\x39\x31\x36\x38\x35\x20\x6c\x20\x32\x2e\x31\x35\x31\x34\x36\
+\x2c\x2d\x31\x2e\x35\x30\x36\x39\x35\x20\x2d\x32\x2e\x33\x35\x33\
+\x37\x39\x2c\x2d\x30\x2e\x34\x30\x32\x34\x37\x20\x63\x20\x2d\x31\
+\x2e\x32\x39\x34\x35\x38\x2c\x2d\x30\x2e\x32\x32\x31\x33\x36\x20\
+\x31\x2e\x30\x32\x31\x32\x31\x2c\x2d\x30\x2e\x34\x31\x38\x33\x31\
+\x20\x35\x2e\x31\x34\x36\x32\x31\x2c\x2d\x30\x2e\x34\x33\x37\x36\
+\x35\x20\x36\x2e\x34\x35\x33\x31\x37\x2c\x2d\x30\x2e\x30\x33\x30\
+\x33\x20\x36\x2e\x39\x36\x32\x38\x35\x2c\x30\x2e\x30\x38\x34\x38\
+\x20\x33\x2e\x36\x35\x31\x36\x31\x2c\x30\x2e\x38\x32\x34\x31\x34\
+\x20\x2d\x34\x2e\x30\x37\x34\x32\x32\x2c\x30\x2e\x39\x30\x39\x37\
+\x34\x20\x2d\x39\x2e\x30\x31\x35\x38\x35\x2c\x34\x2e\x31\x35\x32\
+\x31\x20\x2d\x37\x2e\x39\x35\x31\x30\x33\x2c\x35\x2e\x32\x31\x36\
+\x39\x33\x20\x30\x2e\x33\x34\x38\x30\x31\x2c\x30\x2e\x33\x34\x38\
+\x30\x31\x20\x30\x2e\x33\x38\x37\x38\x35\x2c\x30\x2e\x36\x33\x32\
+\x37\x35\x20\x30\x2e\x30\x38\x38\x35\x2c\x30\x2e\x36\x33\x32\x37\
+\x35\x20\x2d\x30\x2e\x32\x39\x39\x33\x32\x2c\x30\x20\x2d\x31\x2e\
+\x30\x37\x30\x37\x37\x2c\x2d\x30\x2e\x36\x33\x34\x34\x36\x20\x2d\
+\x31\x2e\x37\x31\x34\x33\x34\x2c\x2d\x31\x2e\x34\x30\x39\x39\x20\
+\x7a\x20\x4d\x20\x31\x33\x33\x2c\x31\x32\x38\x2e\x32\x30\x35\x32\
+\x39\x20\x63\x20\x2d\x31\x2e\x39\x32\x35\x2c\x2d\x30\x2e\x31\x39\
+\x31\x33\x34\x20\x2d\x33\x2e\x38\x36\x38\x37\x31\x2c\x2d\x30\x2e\
+\x37\x30\x37\x30\x31\x20\x2d\x34\x2e\x33\x31\x39\x33\x35\x2c\x2d\
+\x31\x2e\x31\x34\x35\x39\x33\x20\x2d\x30\x2e\x34\x35\x30\x36\x34\
+\x2c\x2d\x30\x2e\x34\x33\x38\x39\x33\x20\x2d\x32\x2e\x39\x32\x35\
+\x36\x34\x2c\x2d\x30\x2e\x36\x34\x36\x37\x38\x20\x2d\x35\x2e\x35\
+\x2c\x2d\x30\x2e\x34\x36\x31\x38\x38\x20\x2d\x33\x2e\x37\x33\x38\
+\x31\x33\x2c\x30\x2e\x32\x36\x38\x34\x37\x20\x2d\x33\x2e\x32\x37\
+\x31\x30\x39\x2c\x30\x2e\x30\x35\x33\x32\x20\x32\x2e\x33\x31\x39\
+\x33\x35\x2c\x2d\x31\x2e\x30\x36\x39\x32\x20\x37\x2e\x39\x31\x37\
+\x31\x32\x2c\x2d\x31\x2e\x35\x38\x39\x35\x20\x31\x36\x2e\x33\x33\
+\x35\x34\x37\x2c\x2d\x31\x2e\x39\x34\x36\x33\x36\x20\x31\x33\x2c\
+\x2d\x30\x2e\x35\x35\x31\x30\x38\x20\x2d\x31\x2e\x34\x37\x38\x39\
+\x35\x2c\x30\x2e\x36\x31\x38\x36\x37\x20\x2d\x30\x2e\x39\x30\x34\
+\x32\x35\x2c\x30\x2e\x38\x30\x35\x39\x39\x20\x32\x2e\x32\x30\x35\
+\x39\x33\x2c\x30\x2e\x37\x31\x38\x39\x38\x20\x34\x2e\x34\x36\x34\
+\x36\x34\x2c\x2d\x30\x2e\x31\x32\x34\x38\x39\x20\x35\x2e\x38\x39\
+\x35\x2c\x30\x2e\x35\x32\x32\x34\x39\x20\x34\x2e\x38\x35\x38\x38\
+\x2c\x32\x2e\x31\x39\x39\x30\x38\x20\x2d\x30\x2e\x34\x32\x31\x31\
+\x39\x2c\x30\x2e\x36\x38\x31\x35\x31\x20\x2d\x31\x2e\x34\x38\x38\
+\x38\x33\x2c\x30\x2e\x37\x30\x33\x39\x20\x2d\x33\x2e\x31\x36\x35\
+\x36\x31\x2c\x30\x2e\x30\x36\x36\x34\x20\x2d\x31\x2e\x33\x39\x31\
+\x35\x34\x2c\x2d\x30\x2e\x35\x32\x39\x30\x37\x20\x2d\x33\x2e\x32\
+\x38\x38\x31\x31\x2c\x2d\x30\x2e\x36\x31\x32\x34\x31\x20\x2d\x34\
+\x2e\x32\x31\x34\x35\x39\x2c\x2d\x30\x2e\x31\x38\x35\x32\x20\x2d\
+\x30\x2e\x39\x32\x36\x34\x39\x2c\x30\x2e\x34\x32\x37\x32\x20\x2d\
+\x33\x2e\x32\x35\x39\x35\x33\x2c\x30\x2e\x36\x32\x30\x31\x38\x20\
+\x2d\x35\x2e\x31\x38\x34\x35\x33\x2c\x30\x2e\x34\x32\x38\x38\x34\
+\x20\x7a\x20\x6d\x20\x31\x33\x2e\x37\x31\x30\x35\x31\x2c\x2d\x31\
+\x2e\x32\x30\x34\x32\x39\x20\x63\x20\x2d\x30\x2e\x32\x38\x37\x35\
+\x31\x2c\x2d\x31\x2e\x30\x39\x39\x34\x36\x20\x2d\x30\x2e\x31\x31\
+\x35\x2c\x2d\x32\x2e\x32\x35\x31\x30\x31\x20\x30\x2e\x33\x38\x33\
+\x33\x37\x2c\x2d\x32\x2e\x35\x35\x39\x30\x32\x20\x30\x2e\x34\x39\
+\x38\x33\x37\x2c\x2d\x30\x2e\x33\x30\x38\x30\x31\x20\x30\x2e\x39\
+\x30\x36\x31\x32\x2c\x30\x2e\x35\x39\x31\x35\x34\x20\x30\x2e\x39\
+\x30\x36\x31\x32\x2c\x31\x2e\x39\x39\x39\x20\x30\x2c\x33\x2e\x30\
+\x36\x34\x30\x35\x20\x2d\x30\x2e\x35\x36\x39\x39\x34\x2c\x33\x2e\
+\x33\x31\x31\x35\x37\x20\x2d\x31\x2e\x32\x38\x39\x34\x39\x2c\x30\
+\x2e\x35\x36\x30\x30\x32\x20\x7a\x20\x6d\x20\x2d\x31\x2e\x38\x34\
+\x37\x33\x36\x2c\x2d\x34\x2e\x38\x39\x35\x32\x36\x20\x63\x20\x31\
+\x2e\x30\x38\x37\x31\x39\x2c\x2d\x30\x2e\x36\x38\x38\x38\x20\x31\
+\x2e\x31\x30\x31\x39\x36\x2c\x2d\x30\x2e\x39\x35\x30\x37\x20\x30\
+\x2e\x30\x37\x33\x2c\x2d\x31\x2e\x32\x39\x33\x37\x31\x20\x2d\x32\
+\x2e\x34\x31\x36\x32\x2c\x2d\x30\x2e\x38\x30\x35\x34\x20\x30\x2e\
+\x31\x36\x39\x30\x37\x2c\x2d\x32\x2e\x38\x31\x32\x30\x33\x20\x33\
+\x2e\x36\x32\x32\x39\x32\x2c\x2d\x32\x2e\x38\x31\x32\x30\x33\x20\
+\x33\x2e\x35\x39\x32\x30\x33\x2c\x30\x20\x34\x2e\x30\x39\x33\x33\
+\x35\x2c\x31\x2e\x32\x31\x38\x31\x35\x20\x31\x2e\x36\x30\x30\x32\
+\x33\x2c\x33\x2e\x38\x38\x38\x33\x37\x20\x2d\x31\x2e\x31\x35\x32\
+\x32\x36\x2c\x31\x2e\x32\x33\x34\x31\x31\x20\x2d\x31\x2e\x34\x36\
+\x36\x34\x32\x2c\x31\x2e\x32\x33\x37\x34\x36\x20\x2d\x32\x2e\x32\
+\x33\x34\x36\x39\x2c\x30\x2e\x30\x32\x33\x38\x20\x2d\x30\x2e\x36\
+\x33\x31\x33\x33\x2c\x2d\x30\x2e\x39\x39\x37\x33\x34\x20\x2d\x30\
+\x2e\x38\x39\x38\x34\x33\x2c\x2d\x31\x2e\x30\x34\x34\x39\x38\x20\
+\x2d\x30\x2e\x39\x30\x39\x32\x35\x2c\x2d\x30\x2e\x31\x36\x32\x31\
+\x38\x20\x2d\x30\x2e\x30\x30\x38\x2c\x30\x2e\x36\x38\x37\x35\x20\
+\x2d\x30\x2e\x38\x30\x32\x38\x31\x2c\x31\x2e\x32\x34\x33\x31\x31\
+\x20\x2d\x31\x2e\x37\x36\x35\x33\x31\x2c\x31\x2e\x32\x33\x34\x36\
+\x39\x20\x2d\x31\x2e\x33\x36\x39\x35\x34\x2c\x2d\x30\x2e\x30\x31\
+\x32\x20\x2d\x31\x2e\x34\x35\x33\x36\x34\x2c\x2d\x30\x2e\x32\x30\
+\x33\x30\x38\x20\x2d\x30\x2e\x33\x38\x36\x38\x35\x2c\x2d\x30\x2e\
+\x38\x37\x38\x39\x35\x20\x7a\x20\x6d\x20\x2d\x34\x34\x2e\x32\x34\
+\x36\x33\x37\x2c\x2d\x34\x2e\x36\x36\x32\x20\x63\x20\x2d\x30\x2e\
+\x39\x39\x39\x32\x30\x37\x2c\x2d\x32\x2e\x36\x30\x33\x39\x20\x2d\
+\x30\x2e\x37\x32\x34\x33\x37\x37\x2c\x2d\x33\x2e\x34\x34\x32\x38\
+\x20\x31\x2e\x31\x33\x33\x32\x32\x2c\x2d\x33\x2e\x34\x35\x39\x30\
+\x35\x20\x31\x2e\x34\x39\x35\x35\x35\x2c\x2d\x30\x2e\x30\x31\x33\
+\x31\x20\x31\x2e\x35\x33\x31\x39\x2c\x2d\x30\x2e\x31\x35\x36\x32\
+\x36\x20\x30\x2e\x32\x35\x2c\x2d\x30\x2e\x39\x38\x34\x36\x39\x20\
+\x2d\x31\x2e\x31\x31\x31\x31\x32\x2c\x2d\x30\x2e\x37\x31\x38\x30\
+\x36\x20\x2d\x30\x2e\x34\x39\x36\x30\x36\x2c\x2d\x30\x2e\x39\x37\
+\x33\x33\x34\x20\x32\x2e\x33\x37\x32\x34\x34\x2c\x2d\x30\x2e\x39\
+\x38\x34\x36\x39\x20\x33\x2e\x33\x32\x39\x35\x38\x2c\x2d\x30\x2e\
+\x30\x31\x33\x32\x20\x33\x2e\x36\x39\x37\x39\x33\x2c\x30\x2e\x31\
+\x39\x34\x39\x37\x20\x32\x2e\x36\x32\x37\x35\x36\x2c\x31\x2e\x34\
+\x38\x34\x36\x39\x20\x2d\x30\x2e\x36\x38\x34\x36\x39\x2c\x30\x2e\
+\x38\x32\x35\x20\x2d\x31\x2e\x38\x39\x31\x33\x35\x2c\x31\x2e\x35\
+\x20\x2d\x32\x2e\x36\x38\x31\x34\x36\x2c\x31\x2e\x35\x20\x2d\x30\
+\x2e\x37\x39\x30\x31\x32\x2c\x30\x20\x2d\x31\x2e\x31\x38\x39\x39\
+\x37\x2c\x30\x2e\x33\x39\x39\x30\x31\x20\x2d\x30\x2e\x38\x38\x38\
+\x35\x37\x2c\x30\x2e\x38\x38\x36\x36\x39\x20\x30\x2e\x33\x30\x31\
+\x34\x31\x2c\x30\x2e\x34\x38\x37\x36\x38\x20\x2d\x30\x2e\x30\x36\
+\x39\x35\x2c\x31\x2e\x33\x39\x39\x31\x37\x20\x2d\x30\x2e\x38\x32\
+\x34\x32\x2c\x32\x2e\x30\x32\x35\x35\x33\x20\x2d\x31\x2e\x30\x35\
+\x36\x35\x32\x2c\x30\x2e\x38\x37\x36\x38\x34\x20\x2d\x31\x2e\x35\
+\x31\x34\x31\x2c\x30\x2e\x37\x36\x39\x30\x36\x20\x2d\x31\x2e\x39\
+\x38\x38\x39\x39\x2c\x2d\x30\x2e\x34\x36\x38\x34\x38\x20\x7a\x20\
+\x6d\x20\x33\x35\x2e\x33\x39\x38\x35\x33\x2c\x2d\x34\x2e\x32\x37\
+\x39\x37\x33\x20\x63\x20\x2d\x30\x2e\x30\x31\x30\x35\x2c\x2d\x30\
+\x2e\x39\x31\x35\x31\x35\x20\x2d\x31\x2e\x31\x39\x36\x35\x35\x2c\
+\x2d\x31\x2e\x32\x36\x34\x38\x37\x20\x2d\x33\x2e\x37\x36\x35\x33\
+\x31\x2c\x2d\x31\x2e\x31\x31\x30\x32\x32\x20\x2d\x35\x2e\x33\x31\
+\x35\x38\x34\x2c\x30\x2e\x33\x32\x30\x30\x33\x20\x2d\x37\x2e\x32\
+\x35\x2c\x30\x2e\x30\x37\x35\x32\x20\x2d\x37\x2e\x32\x35\x2c\x2d\
+\x30\x2e\x39\x31\x37\x38\x37\x20\x30\x2c\x2d\x30\x2e\x38\x32\x31\
+\x39\x32\x20\x32\x2e\x38\x36\x37\x30\x33\x2c\x2d\x31\x2e\x33\x38\
+\x33\x37\x36\x20\x31\x33\x2c\x2d\x32\x2e\x35\x34\x37\x35\x36\x20\
+\x33\x2e\x35\x36\x37\x38\x37\x2c\x2d\x30\x2e\x34\x30\x39\x37\x39\
+\x20\x33\x2e\x38\x37\x38\x35\x38\x2c\x2d\x30\x2e\x33\x34\x31\x36\
+\x32\x20\x31\x2e\x35\x2c\x30\x2e\x33\x32\x39\x30\x38\x20\x2d\x32\
+\x2e\x39\x38\x38\x32\x36\x2c\x30\x2e\x38\x34\x32\x36\x32\x20\x2d\
+\x32\x2e\x39\x38\x34\x38\x35\x2c\x30\x2e\x38\x34\x36\x33\x39\x20\
+\x30\x2e\x38\x37\x32\x34\x34\x2c\x30\x2e\x39\x36\x34\x32\x35\x20\
+\x33\x2e\x31\x39\x35\x30\x33\x2c\x30\x2e\x30\x39\x37\x36\x20\x33\
+\x2e\x36\x36\x39\x36\x36\x2c\x30\x2e\x33\x36\x32\x36\x35\x20\x32\
+\x2e\x37\x31\x33\x32\x34\x2c\x31\x2e\x35\x31\x35\x30\x38\x20\x2d\
+\x30\x2e\x36\x34\x37\x33\x34\x2c\x30\x2e\x37\x37\x39\x39\x39\x20\
+\x2d\x32\x2e\x30\x37\x31\x33\x32\x2c\x31\x2e\x31\x35\x38\x32\x34\
+\x20\x2d\x33\x2e\x32\x32\x34\x38\x31\x2c\x30\x2e\x38\x35\x36\x36\
+\x20\x2d\x31\x2e\x31\x39\x33\x38\x34\x2c\x2d\x30\x2e\x33\x31\x32\
+\x32\x20\x2d\x32\x2e\x34\x33\x37\x39\x36\x2c\x30\x2e\x30\x34\x37\
+\x39\x20\x2d\x32\x2e\x39\x34\x37\x39\x32\x2c\x30\x2e\x38\x35\x33\
+\x32\x33\x20\x2d\x30\x2e\x37\x30\x38\x33\x33\x2c\x31\x2e\x31\x31\
+\x38\x36\x32\x20\x2d\x30\x2e\x38\x38\x35\x33\x34\x2c\x31\x2e\x31\
+\x32\x39\x39\x34\x20\x2d\x30\x2e\x38\x39\x37\x36\x34\x2c\x30\x2e\
+\x30\x35\x37\x34\x20\x7a\x20\x6d\x20\x38\x2e\x36\x35\x32\x39\x39\
+\x2c\x2d\x31\x2e\x37\x34\x31\x39\x39\x20\x63\x20\x30\x2e\x32\x36\
+\x37\x31\x34\x2c\x2d\x30\x2e\x36\x39\x36\x31\x36\x20\x2d\x31\x2e\
+\x36\x65\x2d\x34\x2c\x2d\x32\x2e\x31\x37\x33\x35\x39\x20\x2d\x30\
+\x2e\x35\x39\x34\x2c\x2d\x33\x2e\x32\x38\x33\x31\x39\x20\x2d\x30\
+\x2e\x37\x32\x37\x31\x34\x2c\x2d\x31\x2e\x33\x35\x38\x36\x37\x20\
+\x2d\x30\x2e\x37\x34\x36\x39\x36\x2c\x2d\x32\x2e\x32\x32\x33\x31\
+\x20\x2d\x30\x2e\x30\x36\x30\x37\x2c\x2d\x32\x2e\x36\x34\x37\x32\
+\x34\x20\x30\x2e\x35\x36\x30\x34\x36\x2c\x2d\x30\x2e\x33\x34\x36\
+\x33\x38\x20\x30\x2e\x37\x36\x31\x35\x31\x2c\x2d\x31\x2e\x30\x34\
+\x36\x34\x34\x20\x30\x2e\x34\x34\x36\x37\x38\x2c\x2d\x31\x2e\x35\
+\x35\x35\x36\x38\x20\x2d\x30\x2e\x33\x32\x30\x38\x39\x2c\x2d\x30\
+\x2e\x35\x31\x39\x32\x31\x20\x31\x2e\x32\x33\x30\x32\x39\x2c\x2d\
+\x30\x2e\x38\x35\x35\x32\x37\x20\x33\x2e\x35\x33\x31\x35\x31\x2c\
+\x2d\x30\x2e\x37\x36\x35\x31\x20\x33\x2e\x35\x34\x36\x39\x34\x2c\
+\x30\x2e\x31\x33\x38\x39\x39\x20\x34\x2e\x30\x36\x33\x33\x34\x2c\
+\x30\x2e\x34\x34\x33\x35\x39\x20\x33\x2e\x38\x30\x35\x39\x32\x2c\
+\x32\x2e\x32\x34\x35\x20\x2d\x30\x2e\x31\x36\x33\x38\x2c\x31\x2e\
+\x31\x34\x36\x33\x20\x2d\x30\x2e\x39\x37\x32\x38\x32\x2c\x32\x2e\
+\x31\x34\x34\x37\x38\x20\x2d\x31\x2e\x37\x39\x37\x38\x32\x2c\x32\
+\x2e\x32\x31\x38\x38\x34\x20\x2d\x30\x2e\x38\x32\x35\x2c\x30\x2e\
+\x30\x37\x34\x31\x20\x2d\x32\x2e\x33\x31\x34\x30\x36\x2c\x30\x2e\
+\x31\x38\x36\x35\x36\x20\x2d\x33\x2e\x33\x30\x39\x30\x32\x2c\x30\
+\x2e\x32\x35\x20\x2d\x31\x2e\x30\x31\x31\x35\x33\x2c\x30\x2e\x30\
+\x36\x34\x35\x20\x2d\x31\x2e\x35\x31\x37\x39\x39\x2c\x30\x2e\x35\
+\x38\x36\x32\x34\x20\x2d\x31\x2e\x31\x34\x38\x38\x35\x2c\x31\x2e\
+\x31\x38\x33\x35\x32\x20\x30\x2e\x33\x36\x33\x31\x2c\x30\x2e\x35\
+\x38\x37\x35\x20\x31\x2e\x32\x38\x39\x36\x35\x2c\x30\x2e\x38\x32\
+\x36\x36\x32\x20\x32\x2e\x30\x35\x39\x30\x32\x2c\x30\x2e\x35\x33\
+\x31\x33\x39\x20\x30\x2e\x37\x37\x33\x34\x2c\x2d\x30\x2e\x32\x39\
+\x36\x37\x38\x20\x31\x2e\x33\x39\x38\x38\x35\x2c\x30\x2e\x30\x36\
+\x37\x37\x20\x31\x2e\x33\x39\x38\x38\x35\x2c\x30\x2e\x38\x31\x35\
+\x32\x35\x20\x30\x2c\x30\x2e\x37\x34\x33\x36\x32\x20\x2d\x31\x2e\
+\x30\x38\x33\x39\x32\x2c\x31\x2e\x35\x35\x39\x32\x34\x20\x2d\x32\
+\x2e\x34\x30\x38\x37\x2c\x31\x2e\x38\x31\x32\x34\x39\x20\x2d\x31\
+\x2e\x36\x36\x30\x38\x36\x2c\x30\x2e\x33\x31\x37\x34\x39\x20\x2d\
+\x32\x2e\x32\x35\x37\x39\x31\x2c\x30\x2e\x30\x36\x37\x35\x20\x2d\
+\x31\x2e\x39\x32\x33\x2c\x2d\x30\x2e\x38\x30\x35\x32\x38\x20\x7a\
+\x20\x6d\x20\x2d\x34\x35\x2e\x32\x30\x39\x38\x39\x39\x2c\x2d\x39\
+\x2e\x34\x38\x39\x33\x33\x20\x63\x20\x2d\x30\x2e\x33\x36\x39\x34\
+\x39\x31\x2c\x2d\x30\x2e\x35\x39\x37\x38\x35\x20\x30\x2e\x33\x37\
+\x34\x32\x39\x31\x2c\x2d\x31\x2e\x33\x35\x30\x37\x31\x20\x31\x2e\
+\x36\x39\x30\x39\x37\x39\x2c\x2d\x31\x2e\x37\x31\x31\x36\x32\x20\
+\x32\x2e\x32\x35\x36\x39\x32\x2c\x2d\x30\x2e\x36\x31\x38\x36\x33\
+\x37\x20\x32\x2e\x32\x33\x31\x30\x33\x2c\x2d\x30\x2e\x36\x37\x31\
+\x30\x33\x32\x20\x2d\x30\x2e\x36\x34\x39\x33\x38\x2c\x2d\x31\x2e\
+\x33\x31\x34\x33\x38\x31\x20\x2d\x32\x2e\x30\x32\x32\x30\x36\x2c\
+\x2d\x30\x2e\x34\x35\x31\x36\x33\x33\x20\x2d\x30\x2e\x37\x31\x38\
+\x31\x34\x31\x2c\x2d\x30\x2e\x36\x37\x35\x32\x36\x20\x34\x2c\x2d\
+\x30\x2e\x36\x38\x36\x30\x31\x33\x20\x35\x2e\x37\x33\x32\x39\x34\
+\x2c\x2d\x30\x2e\x30\x31\x33\x30\x36\x20\x36\x2e\x33\x37\x35\x33\
+\x31\x2c\x30\x2e\x31\x33\x31\x31\x31\x32\x20\x33\x2e\x35\x34\x38\
+\x38\x36\x2c\x30\x2e\x37\x39\x36\x35\x32\x35\x20\x2d\x31\x2e\x38\
+\x39\x38\x31\x33\x2c\x30\x2e\x34\x34\x36\x38\x36\x32\x20\x2d\x33\
+\x2e\x39\x37\x32\x37\x34\x2c\x31\x2e\x35\x32\x35\x37\x39\x39\x20\
+\x2d\x34\x2e\x36\x31\x30\x32\x35\x2c\x32\x2e\x33\x39\x37\x36\x33\
+\x39\x20\x2d\x31\x2e\x33\x33\x39\x39\x31\x2c\x31\x2e\x38\x33\x32\
+\x34\x33\x20\x2d\x33\x2e\x30\x33\x31\x37\x31\x2c\x32\x2e\x30\x35\
+\x32\x35\x35\x20\x2d\x33\x2e\x39\x38\x30\x32\x30\x39\x2c\x30\x2e\
+\x35\x31\x37\x38\x35\x20\x7a\x20\x4d\x20\x31\x33\x37\x2e\x35\x37\
+\x39\x39\x32\x2c\x39\x39\x2e\x32\x35\x20\x63\x20\x2d\x30\x2e\x34\
+\x31\x34\x33\x37\x2c\x2d\x30\x2e\x34\x31\x32\x35\x20\x2d\x31\x2e\
+\x39\x35\x31\x38\x37\x2c\x2d\x30\x2e\x37\x37\x38\x31\x31\x31\x20\
+\x2d\x33\x2e\x34\x31\x36\x36\x36\x2c\x2d\x30\x2e\x38\x31\x32\x34\
+\x36\x39\x20\x2d\x31\x30\x2e\x35\x37\x37\x32\x36\x2c\x2d\x30\x2e\
+\x32\x34\x38\x31\x20\x2d\x31\x32\x2e\x36\x31\x34\x31\x33\x2c\x2d\
+\x31\x2e\x37\x33\x35\x30\x30\x39\x20\x2d\x33\x2e\x39\x31\x33\x32\
+\x36\x2c\x2d\x32\x2e\x38\x35\x36\x36\x36\x20\x32\x2e\x38\x38\x37\
+\x35\x2c\x2d\x30\x2e\x33\x37\x32\x32\x33\x35\x20\x37\x2e\x30\x35\
+\x2c\x2d\x30\x2e\x39\x33\x33\x32\x32\x37\x20\x39\x2e\x32\x35\x2c\
+\x2d\x31\x2e\x32\x34\x36\x36\x34\x39\x20\x33\x2e\x38\x31\x38\x36\
+\x2c\x2d\x30\x2e\x35\x34\x34\x30\x31\x36\x20\x33\x2e\x39\x30\x39\
+\x33\x2c\x2d\x30\x2e\x34\x39\x35\x37\x39\x36\x20\x32\x2c\x31\x2e\
+\x30\x36\x33\x32\x39\x38\x20\x2d\x31\x2e\x39\x34\x38\x31\x36\x2c\
+\x31\x2e\x35\x39\x30\x38\x32\x38\x20\x2d\x31\x2e\x39\x33\x30\x38\
+\x35\x2c\x31\x2e\x36\x31\x37\x35\x32\x35\x20\x30\x2e\x36\x36\x37\
+\x38\x33\x2c\x31\x2e\x30\x33\x30\x30\x33\x33\x20\x32\x2e\x30\x35\
+\x35\x39\x39\x2c\x2d\x30\x2e\x34\x36\x34\x38\x30\x31\x20\x32\x2e\
+\x39\x32\x34\x31\x2c\x2d\x30\x2e\x31\x32\x34\x33\x30\x32\x20\x33\
+\x2e\x37\x38\x35\x31\x39\x2c\x31\x2e\x34\x38\x34\x36\x36\x31\x20\
+\x43\x20\x31\x34\x36\x2e\x38\x36\x30\x34\x39\x2c\x39\x39\x2e\x36\
+\x30\x37\x38\x34\x31\x20\x31\x34\x36\x2e\x37\x38\x32\x30\x31\x2c\
+\x31\x30\x30\x20\x31\x34\x35\x2e\x35\x33\x35\x31\x38\x2c\x31\x30\
+\x30\x20\x31\x34\x34\x2e\x36\x39\x30\x38\x33\x2c\x31\x30\x30\x20\
+\x31\x34\x34\x2c\x39\x39\x2e\x35\x36\x31\x31\x33\x38\x20\x31\x34\
+\x34\x2c\x39\x39\x2e\x30\x32\x34\x37\x35\x31\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x36\x33\x33\x36\x36\x36\x20\x2d\x30\x2e\x38\x39\x38\
+\x34\x33\x2c\x2d\x30\x2e\x36\x33\x33\x36\x36\x36\x20\x2d\x32\x2e\
+\x35\x36\x35\x31\x2c\x30\x20\x2d\x33\x2e\x30\x37\x33\x37\x35\x2c\
+\x31\x2e\x31\x36\x38\x36\x33\x39\x20\x2d\x32\x2e\x39\x31\x36\x35\
+\x33\x2c\x31\x2e\x31\x35\x39\x34\x34\x39\x20\x2d\x33\x2e\x38\x35\
+\x34\x39\x38\x2c\x30\x2e\x32\x32\x35\x32\x34\x39\x20\x7a\x20\x4d\
+\x20\x31\x34\x37\x2c\x39\x37\x20\x63\x20\x30\x2c\x2d\x30\x2e\x35\
+\x35\x20\x30\x2e\x39\x32\x36\x35\x36\x2c\x2d\x31\x20\x32\x2e\x30\
+\x35\x39\x30\x32\x2c\x2d\x31\x20\x31\x2e\x31\x33\x32\x34\x36\x2c\
+\x30\x20\x31\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\x35\x20\x31\x2e\
+\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x33\x33\x39\x39\x32\
+\x2c\x30\x2e\x35\x35\x20\x2d\x31\x2e\x32\x36\x36\x34\x38\x2c\x31\
+\x20\x2d\x32\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\x43\x20\x31\x34\
+\x37\x2e\x36\x34\x38\x34\x34\x2c\x39\x38\x20\x31\x34\x37\x2c\x39\
+\x37\x2e\x35\x35\x20\x31\x34\x37\x2c\x39\x37\x20\x7a\x20\x6d\x20\
+\x2d\x32\x2e\x32\x30\x34\x34\x39\x2c\x2d\x36\x2e\x30\x36\x30\x30\
+\x35\x33\x20\x63\x20\x30\x2e\x33\x31\x37\x35\x39\x2c\x2d\x32\x2e\
+\x31\x36\x33\x38\x37\x39\x20\x30\x2e\x38\x37\x33\x38\x2c\x2d\x32\
+\x2e\x38\x39\x37\x30\x38\x35\x20\x31\x2e\x38\x39\x39\x32\x35\x2c\
+\x2d\x32\x2e\x35\x30\x33\x35\x38\x36\x20\x30\x2e\x37\x39\x37\x35\
+\x37\x2c\x30\x2e\x33\x30\x36\x30\x35\x37\x20\x32\x2e\x33\x31\x37\
+\x35\x33\x2c\x30\x2e\x30\x39\x32\x32\x35\x20\x33\x2e\x33\x37\x37\
+\x36\x38\x2c\x2d\x30\x2e\x34\x37\x35\x31\x33\x31\x20\x43\x20\x31\
+\x35\x31\x2e\x36\x37\x30\x30\x37\x2c\x38\x37\x2e\x31\x30\x36\x32\
+\x30\x34\x20\x31\x35\x32\x2c\x38\x37\x2e\x32\x36\x33\x39\x38\x31\
+\x20\x31\x35\x32\x2c\x38\x38\x2e\x38\x38\x33\x30\x32\x39\x20\x31\
+\x35\x32\x2c\x39\x32\x2e\x36\x38\x34\x30\x31\x36\x20\x31\x35\x30\
+\x2e\x38\x35\x39\x37\x32\x2c\x39\x34\x20\x31\x34\x37\x2e\x35\x36\
+\x36\x32\x2c\x39\x34\x20\x63\x20\x2d\x33\x2e\x30\x32\x32\x37\x39\
+\x2c\x30\x20\x2d\x33\x2e\x31\x39\x32\x33\x33\x2c\x2d\x30\x2e\x31\
+\x38\x37\x32\x34\x35\x20\x2d\x32\x2e\x37\x37\x30\x36\x39\x2c\x2d\
+\x33\x2e\x30\x36\x30\x30\x35\x33\x20\x7a\x20\x6d\x20\x2d\x34\x33\
+\x2e\x38\x37\x32\x32\x33\x2c\x2d\x32\x2e\x33\x34\x37\x35\x20\x63\
+\x20\x31\x2e\x31\x38\x39\x38\x33\x2c\x2d\x31\x2e\x34\x33\x33\x36\
+\x36\x36\x20\x31\x2e\x31\x32\x33\x34\x32\x2c\x2d\x31\x2e\x35\x36\
+\x31\x33\x31\x34\x20\x2d\x30\x2e\x35\x33\x31\x38\x34\x2c\x2d\x31\
+\x2e\x30\x32\x32\x32\x35\x32\x20\x2d\x31\x2e\x34\x32\x37\x32\x38\
+\x31\x2c\x30\x2e\x34\x36\x34\x38\x31\x38\x20\x2d\x31\x2e\x32\x37\
+\x37\x39\x34\x31\x2c\x30\x2e\x31\x30\x37\x37\x39\x33\x20\x30\x2e\
+\x36\x30\x38\x35\x36\x2c\x2d\x31\x2e\x34\x35\x34\x38\x37\x32\x20\
+\x31\x2e\x33\x37\x35\x2c\x2d\x31\x2e\x31\x33\x38\x39\x36\x38\x20\
+\x33\x2e\x36\x32\x35\x2c\x2d\x32\x2e\x30\x37\x34\x32\x32\x34\x20\
+\x35\x2c\x2d\x32\x2e\x30\x37\x38\x33\x34\x35\x20\x6c\x20\x32\x2e\
+\x35\x2c\x2d\x30\x2e\x30\x30\x37\x35\x20\x2d\x32\x2e\x35\x2c\x31\
+\x2e\x32\x36\x34\x37\x39\x31\x20\x63\x20\x2d\x31\x2e\x33\x37\x35\
+\x2c\x30\x2e\x36\x39\x35\x36\x33\x35\x20\x2d\x32\x2e\x35\x2c\x31\
+\x2e\x39\x32\x30\x33\x33\x38\x20\x2d\x32\x2e\x35\x2c\x32\x2e\x37\
+\x32\x31\x35\x36\x33\x20\x30\x2c\x30\x2e\x38\x30\x31\x32\x32\x35\
+\x20\x2d\x30\x2e\x38\x38\x35\x36\x38\x2c\x31\x2e\x36\x32\x37\x33\
+\x33\x37\x20\x2d\x31\x2e\x39\x36\x38\x31\x37\x2c\x31\x2e\x38\x33\
+\x35\x38\x30\x36\x20\x2d\x31\x2e\x37\x31\x39\x35\x36\x32\x2c\x30\
+\x2e\x33\x33\x31\x31\x35\x38\x20\x2d\x31\x2e\x37\x39\x36\x34\x33\
+\x2c\x30\x2e\x31\x37\x32\x31\x30\x36\x20\x2d\x30\x2e\x36\x30\x38\
+\x35\x35\x2c\x2d\x31\x2e\x32\x35\x39\x31\x39\x37\x20\x7a\x20\x4d\
+\x20\x39\x37\x2e\x35\x2c\x38\x35\x20\x43\x20\x39\x37\x2e\x31\x36\
+\x30\x30\x38\x31\x2c\x38\x34\x2e\x34\x35\x20\x39\x37\x2e\x33\x35\
+\x38\x35\x32\x34\x2c\x38\x34\x20\x39\x37\x2e\x39\x34\x30\x39\x38\
+\x33\x2c\x38\x34\x20\x39\x38\x2e\x35\x32\x33\x34\x34\x32\x2c\x38\
+\x34\x20\x39\x39\x2c\x38\x34\x2e\x34\x35\x20\x39\x39\x2c\x38\x35\
+\x20\x39\x39\x2c\x38\x35\x2e\x35\x35\x20\x39\x38\x2e\x38\x30\x31\
+\x35\x35\x38\x2c\x38\x36\x20\x39\x38\x2e\x35\x35\x39\x30\x31\x37\
+\x2c\x38\x36\x20\x39\x38\x2e\x33\x31\x36\x34\x37\x36\x2c\x38\x36\
+\x20\x39\x37\x2e\x38\x33\x39\x39\x31\x39\x2c\x38\x35\x2e\x35\x35\
+\x20\x39\x37\x2e\x35\x2c\x38\x35\x20\x7a\x20\x6d\x20\x33\x30\x2e\
+\x33\x32\x37\x39\x31\x2c\x2d\x31\x2e\x33\x36\x36\x36\x35\x32\x20\
+\x2d\x33\x2e\x33\x32\x37\x39\x31\x2c\x2d\x30\x2e\x39\x30\x34\x36\
+\x30\x31\x20\x32\x2e\x36\x37\x32\x36\x39\x2c\x2d\x30\x2e\x37\x35\
+\x37\x32\x31\x34\x20\x63\x20\x34\x2e\x35\x37\x31\x32\x37\x2c\x2d\
+\x31\x2e\x32\x39\x35\x31\x31\x31\x20\x31\x35\x2e\x36\x30\x39\x31\
+\x31\x2c\x2d\x32\x2e\x31\x30\x32\x39\x34\x36\x20\x31\x33\x2e\x33\
+\x32\x37\x33\x31\x2c\x2d\x30\x2e\x39\x37\x35\x33\x39\x35\x20\x2d\
+\x31\x2e\x34\x37\x39\x34\x34\x2c\x30\x2e\x37\x33\x31\x30\x36\x34\
+\x20\x2d\x30\x2e\x32\x37\x32\x38\x39\x2c\x30\x2e\x39\x31\x36\x34\
+\x38\x38\x20\x34\x2e\x36\x33\x35\x36\x2c\x30\x2e\x37\x31\x32\x34\
+\x30\x32\x20\x35\x2e\x35\x32\x34\x39\x31\x2c\x2d\x30\x2e\x32\x32\
+\x39\x37\x31\x35\x20\x36\x2e\x35\x34\x30\x33\x35\x2c\x2d\x30\x2e\
+\x30\x32\x37\x36\x34\x20\x36\x2e\x30\x36\x36\x34\x38\x2c\x31\x2e\
+\x32\x30\x37\x32\x32\x20\x2d\x30\x2e\x33\x31\x33\x30\x31\x2c\x30\
+\x2e\x38\x31\x35\x37\x31\x35\x20\x2d\x30\x2e\x37\x32\x34\x37\x33\
+\x2c\x31\x2e\x30\x31\x36\x32\x38\x35\x20\x2d\x30\x2e\x39\x31\x34\
+\x39\x32\x2c\x30\x2e\x34\x34\x35\x37\x31\x32\x20\x2d\x30\x2e\x32\
+\x33\x33\x39\x2c\x2d\x30\x2e\x37\x30\x31\x36\x38\x39\x20\x2d\x31\
+\x2e\x38\x37\x33\x34\x37\x2c\x2d\x30\x2e\x36\x34\x36\x32\x39\x20\
+\x2d\x35\x2e\x30\x36\x36\x34\x38\x2c\x30\x2e\x31\x37\x31\x31\x39\
+\x31\x20\x2d\x33\x2e\x34\x37\x30\x34\x36\x2c\x30\x2e\x38\x38\x38\
+\x35\x31\x32\x20\x2d\x34\x2e\x39\x31\x35\x32\x35\x2c\x30\x2e\x39\
+\x31\x31\x38\x30\x38\x20\x2d\x35\x2e\x34\x35\x35\x33\x37\x2c\x30\
+\x2e\x30\x38\x37\x39\x37\x20\x2d\x30\x2e\x35\x34\x32\x32\x37\x2c\
+\x2d\x30\x2e\x38\x32\x37\x31\x34\x33\x20\x2d\x30\x2e\x37\x33\x38\
+\x36\x39\x2c\x2d\x30\x2e\x38\x32\x36\x38\x33\x32\x20\x2d\x30\x2e\
+\x37\x35\x2c\x30\x2e\x30\x30\x31\x32\x20\x2d\x30\x2e\x30\x31\x38\
+\x2c\x31\x2e\x33\x32\x30\x39\x38\x33\x20\x2d\x36\x2e\x33\x34\x36\
+\x31\x2c\x31\x2e\x33\x32\x37\x35\x30\x36\x20\x2d\x31\x31\x2e\x31\
+\x38\x37\x34\x2c\x30\x2e\x30\x31\x31\x35\x33\x20\x7a\x20\x4d\x20\
+\x31\x31\x32\x2e\x38\x31\x32\x35\x2c\x38\x33\x2e\x33\x31\x36\x38\
+\x38\x36\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\
+\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\
+\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\x36\x36\x37\
+\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\x32\x32\x39\
+\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\x38\
+\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\x33\
+\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\x31\
+\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\x31\
+\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\x20\
+\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\x31\
+\x36\x37\x20\x7a\x20\x6d\x20\x33\x33\x2e\x32\x34\x38\x34\x2c\x2d\
+\x35\x2e\x39\x37\x37\x30\x37\x31\x20\x63\x20\x30\x2e\x35\x36\x31\
+\x33\x31\x2c\x2d\x31\x2e\x34\x37\x36\x33\x36\x31\x20\x30\x2e\x34\
+\x34\x31\x38\x36\x2c\x2d\x32\x2e\x33\x34\x38\x37\x34\x35\x20\x2d\
+\x30\x2e\x33\x36\x30\x39\x39\x2c\x2d\x32\x2e\x36\x33\x36\x32\x37\
+\x32\x20\x2d\x32\x2e\x30\x31\x33\x31\x34\x2c\x2d\x30\x2e\x37\x32\
+\x30\x39\x38\x33\x20\x2d\x30\x2e\x30\x33\x38\x34\x2c\x2d\x31\x2e\
+\x38\x38\x33\x39\x30\x32\x20\x33\x2e\x34\x37\x38\x31\x35\x2c\x2d\
+\x32\x2e\x30\x34\x38\x32\x37\x31\x20\x33\x2e\x30\x30\x33\x35\x31\
+\x2c\x2d\x30\x2e\x31\x34\x30\x33\x38\x38\x20\x33\x2e\x33\x31\x38\
+\x31\x36\x2c\x30\x2e\x31\x30\x38\x33\x33\x33\x20\x33\x2e\x32\x38\
+\x32\x35\x32\x2c\x32\x2e\x35\x39\x34\x37\x32\x38\x20\x2d\x30\x2e\
+\x30\x32\x31\x37\x2c\x31\x2e\x35\x31\x32\x35\x20\x30\x2e\x33\x31\
+\x35\x38\x32\x2c\x32\x2e\x37\x35\x20\x30\x2e\x37\x35\x2c\x32\x2e\
+\x37\x35\x20\x30\x2e\x34\x33\x34\x31\x38\x2c\x30\x20\x30\x2e\x37\
+\x38\x37\x39\x39\x2c\x30\x2e\x33\x33\x37\x35\x20\x30\x2e\x37\x38\
+\x36\x32\x33\x2c\x30\x2e\x37\x35\x20\x2d\x30\x2e\x30\x30\x32\x2c\
+\x30\x2e\x34\x31\x32\x35\x20\x2d\x31\x2e\x39\x37\x36\x38\x2c\x30\
+\x2e\x37\x36\x30\x34\x33\x20\x2d\x34\x2e\x33\x38\x39\x30\x31\x2c\
+\x30\x2e\x37\x37\x33\x31\x37\x37\x20\x2d\x34\x2e\x31\x31\x32\x39\
+\x38\x2c\x30\x2e\x30\x32\x31\x37\x33\x20\x2d\x34\x2e\x33\x33\x33\
+\x36\x33\x2c\x2d\x30\x2e\x31\x31\x34\x30\x39\x31\x20\x2d\x33\x2e\
+\x35\x34\x36\x39\x2c\x2d\x32\x2e\x31\x38\x33\x33\x36\x32\x20\x7a\
+\x20\x4d\x20\x39\x39\x2c\x37\x33\x20\x43\x20\x39\x38\x2e\x31\x34\
+\x35\x36\x38\x37\x2c\x37\x31\x2e\x34\x30\x33\x37\x30\x31\x20\x39\
+\x38\x2e\x32\x33\x39\x35\x31\x2c\x37\x31\x20\x39\x39\x2e\x34\x36\
+\x34\x38\x31\x36\x2c\x37\x31\x20\x31\x30\x30\x2e\x33\x33\x33\x33\
+\x33\x2c\x37\x31\x20\x31\x30\x31\x2c\x37\x31\x2e\x38\x36\x38\x35\
+\x31\x37\x20\x31\x30\x31\x2c\x37\x33\x20\x63\x20\x30\x2c\x31\x2e\
+\x31\x20\x2d\x30\x2e\x32\x30\x39\x31\x37\x2c\x32\x20\x2d\x30\x2e\
+\x34\x36\x34\x38\x32\x2c\x32\x20\x43\x20\x31\x30\x30\x2e\x32\x37\
+\x39\x35\x33\x2c\x37\x35\x20\x39\x39\x2e\x35\x38\x38\x37\x30\x32\
+\x2c\x37\x34\x2e\x31\x20\x39\x39\x2c\x37\x33\x20\x7a\x20\x6d\x20\
+\x33\x2c\x2d\x32\x2e\x31\x33\x38\x36\x37\x32\x20\x43\x20\x31\x30\
+\x32\x2c\x37\x30\x2e\x33\x38\x37\x35\x39\x38\x20\x31\x30\x33\x2e\
+\x31\x32\x35\x2c\x37\x30\x20\x31\x30\x34\x2e\x35\x2c\x37\x30\x20\
+\x63\x20\x31\x2e\x33\x37\x35\x2c\x30\x20\x32\x2e\x35\x2c\x30\x2e\
+\x31\x37\x32\x35\x34\x20\x32\x2e\x35\x2c\x30\x2e\x33\x38\x33\x34\
+\x32\x33\x20\x30\x2c\x30\x2e\x32\x31\x30\x38\x38\x32\x20\x2d\x31\
+\x2e\x31\x32\x35\x2c\x30\x2e\x35\x39\x38\x34\x38\x20\x2d\x32\x2e\
+\x35\x2c\x30\x2e\x38\x36\x31\x33\x32\x38\x20\x2d\x31\x2e\x33\x37\
+\x35\x2c\x30\x2e\x32\x36\x32\x38\x34\x38\x20\x2d\x32\x2e\x35\x2c\
+\x30\x2e\x30\x39\x30\x33\x31\x20\x2d\x32\x2e\x35\x2c\x2d\x30\x2e\
+\x33\x38\x33\x34\x32\x33\x20\x7a\x20\x6d\x20\x32\x37\x2e\x37\x31\
+\x37\x34\x31\x2c\x2d\x30\x2e\x34\x37\x37\x32\x34\x39\x20\x63\x20\
+\x2d\x30\x2e\x33\x33\x38\x37\x35\x2c\x2d\x30\x2e\x33\x33\x38\x37\
+\x35\x36\x20\x2d\x32\x2e\x31\x30\x31\x32\x35\x2c\x2d\x30\x2e\x39\
+\x33\x31\x31\x32\x31\x20\x2d\x33\x2e\x39\x31\x36\x36\x36\x2c\x2d\
+\x31\x2e\x33\x31\x36\x33\x36\x35\x20\x2d\x32\x2e\x38\x38\x37\x36\
+\x36\x2c\x2d\x30\x2e\x36\x31\x32\x37\x38\x34\x20\x2d\x32\x2e\x33\
+\x30\x30\x37\x38\x2c\x2d\x30\x2e\x38\x35\x32\x32\x38\x37\x20\x34\
+\x2e\x36\x38\x39\x33\x37\x2c\x2d\x31\x2e\x39\x31\x33\x37\x31\x38\
+\x20\x35\x2e\x34\x30\x34\x36\x33\x2c\x2d\x30\x2e\x38\x32\x30\x36\
+\x37\x34\x20\x38\x2e\x31\x30\x31\x31\x38\x2c\x2d\x30\x2e\x38\x38\
+\x30\x30\x39\x36\x20\x38\x2e\x33\x33\x33\x33\x33\x2c\x2d\x30\x2e\
+\x31\x38\x33\x36\x33\x34\x20\x30\x2e\x31\x38\x38\x37\x37\x2c\x30\
+\x2e\x35\x36\x36\x33\x30\x31\x20\x31\x2e\x30\x30\x37\x32\x37\x2c\
+\x31\x2e\x30\x32\x39\x36\x33\x38\x20\x31\x2e\x38\x31\x38\x39\x2c\
+\x31\x2e\x30\x32\x39\x36\x33\x38\x20\x30\x2e\x38\x31\x31\x36\x33\
+\x2c\x30\x20\x31\x2e\x32\x34\x32\x36\x35\x2c\x2d\x30\x2e\x33\x37\
+\x37\x30\x35\x39\x20\x30\x2e\x39\x35\x37\x38\x33\x2c\x2d\x30\x2e\
+\x38\x33\x37\x39\x30\x39\x20\x2d\x30\x2e\x32\x38\x34\x38\x32\x2c\
+\x2d\x30\x2e\x34\x36\x30\x38\x35\x20\x31\x2e\x30\x31\x31\x38\x38\
+\x2c\x2d\x30\x2e\x33\x35\x39\x31\x30\x39\x20\x32\x2e\x38\x38\x31\
+\x35\x36\x2c\x30\x2e\x32\x32\x36\x30\x39\x31\x20\x31\x2e\x38\x36\
+\x39\x36\x37\x2c\x30\x2e\x35\x38\x35\x32\x20\x33\x2e\x32\x35\x39\
+\x32\x37\x2c\x31\x2e\x32\x30\x34\x31\x34\x31\x20\x33\x2e\x30\x38\
+\x37\x39\x39\x2c\x31\x2e\x33\x37\x35\x34\x32\x36\x20\x2d\x30\x2e\
+\x31\x37\x31\x32\x39\x2c\x30\x2e\x31\x37\x31\x32\x38\x34\x20\x2d\
+\x32\x2e\x35\x30\x37\x30\x35\x2c\x30\x2e\x35\x34\x39\x34\x35\x35\
+\x20\x2d\x35\x2e\x31\x39\x30\x35\x38\x2c\x30\x2e\x38\x34\x30\x33\
+\x38\x31\x20\x2d\x32\x2e\x36\x38\x33\x35\x33\x2c\x30\x2e\x32\x39\
+\x30\x39\x32\x35\x20\x2d\x35\x2e\x34\x36\x35\x30\x32\x2c\x30\x2e\
+\x37\x31\x38\x38\x38\x38\x20\x2d\x36\x2e\x31\x38\x31\x30\x39\x2c\
+\x30\x2e\x39\x35\x31\x30\x32\x39\x20\x2d\x30\x2e\x37\x31\x36\x30\
+\x36\x2c\x30\x2e\x32\x33\x32\x31\x34\x20\x2d\x31\x2e\x30\x32\x37\
+\x30\x31\x2c\x2d\x30\x2e\x30\x32\x32\x37\x37\x20\x2d\x30\x2e\x36\
+\x39\x30\x39\x38\x2c\x2d\x30\x2e\x35\x36\x36\x34\x37\x32\x20\x43\
+\x20\x31\x33\x35\x2e\x38\x34\x33\x31\x2c\x36\x39\x2e\x34\x34\x34\
+\x38\x34\x36\x20\x31\x33\x35\x2e\x34\x31\x36\x34\x38\x2c\x36\x39\
+\x20\x31\x33\x34\x2e\x35\x35\x39\x30\x32\x2c\x36\x39\x20\x31\x33\
+\x33\x2e\x37\x30\x31\x35\x36\x2c\x36\x39\x20\x31\x33\x33\x2c\x36\
+\x39\x2e\x34\x35\x20\x31\x33\x33\x2c\x37\x30\x20\x63\x20\x30\x2c\
+\x31\x2e\x30\x39\x36\x36\x39\x34\x20\x2d\x32\x2e\x33\x30\x30\x37\
+\x37\x2c\x31\x2e\x33\x36\x35\x38\x39\x35\x20\x2d\x33\x2e\x32\x38\
+\x32\x35\x39\x2c\x30\x2e\x33\x38\x34\x30\x37\x39\x20\x7a\x20\x4d\
+\x20\x31\x30\x39\x2e\x38\x31\x32\x35\x2c\x36\x39\x2e\x33\x31\x36\
+\x38\x38\x36\x20\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\
+\x2e\x32\x38\x38\x38\x37\x31\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\
+\x2d\x30\x2e\x32\x35\x33\x33\x34\x34\x20\x31\x2e\x39\x31\x36\x36\
+\x37\x2c\x30\x2e\x30\x37\x38\x39\x35\x20\x30\x2e\x33\x33\x32\x32\
+\x39\x2c\x30\x2e\x33\x33\x32\x32\x39\x32\x20\x2d\x30\x2e\x32\x35\
+\x38\x33\x34\x2c\x30\x2e\x35\x36\x38\x36\x34\x31\x20\x2d\x31\x2e\
+\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\x35\x32\x32\x20\x2d\x31\x2e\
+\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\x30\x34\x37\x39\x38\x20\x2d\
+\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\x38\x34\x39\x34\x31\
+\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\x2e\x36\x30\x34\
+\x31\x36\x37\x20\x7a\x20\x6d\x20\x33\x39\x2e\x39\x35\x35\x39\x35\
+\x2c\x2d\x31\x2e\x34\x38\x35\x33\x33\x36\x20\x63\x20\x30\x2e\x35\
+\x38\x31\x31\x2c\x2d\x30\x2e\x35\x38\x31\x31\x30\x32\x20\x31\x2e\
+\x36\x34\x36\x38\x32\x2c\x2d\x30\x2e\x38\x35\x39\x37\x39\x34\x20\
+\x32\x2e\x33\x36\x38\x32\x36\x2c\x2d\x30\x2e\x36\x31\x39\x33\x31\
+\x33\x20\x30\x2e\x37\x34\x38\x39\x35\x2c\x30\x2e\x32\x34\x39\x36\
+\x34\x38\x20\x30\x2e\x32\x39\x35\x36\x35\x2c\x30\x2e\x37\x30\x32\
+\x39\x34\x31\x20\x2d\x31\x2e\x30\x35\x36\x35\x35\x2c\x31\x2e\x30\
+\x35\x36\x35\x35\x20\x2d\x31\x2e\x36\x36\x33\x33\x35\x2c\x30\x2e\
+\x34\x33\x34\x39\x37\x34\x20\x2d\x32\x2e\x30\x35\x33\x37\x38\x2c\
+\x30\x2e\x33\x30\x34\x38\x33\x31\x20\x2d\x31\x2e\x33\x31\x31\x37\
+\x31\x2c\x2d\x30\x2e\x34\x33\x37\x32\x33\x37\x20\x7a\x20\x4d\x20\
+\x31\x34\x35\x2e\x37\x35\x2c\x36\x35\x2e\x32\x38\x33\x31\x35\x32\
+\x20\x63\x20\x30\x2e\x36\x38\x37\x35\x2c\x2d\x30\x2e\x32\x33\x36\
+\x33\x39\x20\x31\x2e\x32\x35\x2c\x2d\x31\x2e\x33\x32\x36\x36\x39\
+\x35\x20\x31\x2e\x32\x35\x2c\x2d\x32\x2e\x34\x32\x32\x38\x39\x39\
+\x20\x30\x2c\x2d\x31\x2e\x35\x34\x39\x31\x37\x35\x20\x30\x2e\x35\
+\x36\x33\x37\x35\x2c\x2d\x31\x2e\x39\x32\x32\x36\x32\x31\x20\x32\
+\x2e\x35\x33\x31\x30\x39\x2c\x2d\x31\x2e\x36\x37\x36\x36\x37\x35\
+\x20\x31\x2e\x33\x39\x32\x31\x2c\x30\x2e\x31\x37\x34\x30\x33\x32\
+\x20\x32\x2e\x34\x38\x33\x38\x2c\x30\x2e\x37\x34\x38\x38\x35\x32\
+\x20\x32\x2e\x34\x32\x36\x2c\x31\x2e\x32\x37\x37\x33\x37\x39\x20\
+\x2d\x30\x2e\x30\x35\x37\x38\x2c\x30\x2e\x35\x32\x38\x35\x32\x36\
+\x20\x30\x2e\x37\x31\x35\x37\x31\x2c\x31\x2e\x32\x38\x34\x33\x39\
+\x37\x20\x31\x2e\x37\x31\x38\x39\x31\x2c\x31\x2e\x36\x37\x39\x37\
+\x31\x34\x20\x31\x2e\x33\x30\x32\x36\x2c\x30\x2e\x35\x31\x33\x32\
+\x39\x38\x20\x30\x2e\x38\x32\x33\x35\x31\x2c\x30\x2e\x37\x34\x32\
+\x37\x35\x33\x20\x2d\x31\x2e\x36\x37\x36\x2c\x30\x2e\x38\x30\x32\
+\x36\x39\x38\x20\x2d\x31\x2e\x39\x32\x35\x2c\x30\x2e\x30\x34\x36\
+\x31\x37\x20\x2d\x34\x2e\x34\x2c\x30\x2e\x32\x33\x38\x32\x31\x20\
+\x2d\x35\x2e\x35\x2c\x30\x2e\x34\x32\x36\x37\x36\x32\x20\x2d\x31\
+\x2e\x31\x2c\x30\x2e\x31\x38\x38\x35\x35\x32\x20\x2d\x31\x2e\x34\
+\x33\x37\x35\x2c\x30\x2e\x31\x34\x39\x34\x31\x32\x20\x2d\x30\x2e\
+\x37\x35\x2c\x2d\x30\x2e\x30\x38\x36\x39\x38\x20\x7a\x22\x0a\x20\
+\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x38\
+\x32\x34\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x38\x34\x37\x62\x37\x62\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\x30\x31\x2e\x37\x32\x33\
+\x38\x33\x2c\x31\x38\x36\x2e\x37\x32\x32\x37\x20\x63\x20\x2d\x30\
+\x2e\x33\x36\x32\x34\x35\x2c\x2d\x30\x2e\x39\x34\x34\x35\x34\x20\
+\x30\x2e\x35\x34\x32\x38\x33\x2c\x2d\x31\x2e\x33\x35\x38\x37\x39\
+\x20\x33\x2e\x31\x33\x33\x32\x32\x2c\x2d\x31\x2e\x34\x33\x33\x37\
+\x32\x20\x32\x2e\x30\x30\x33\x36\x32\x2c\x2d\x30\x2e\x30\x35\x38\
+\x20\x32\x2e\x37\x34\x32\x39\x35\x2c\x30\x2e\x31\x32\x36\x37\x34\
+\x20\x31\x2e\x36\x34\x32\x39\x35\x2c\x30\x2e\x34\x31\x30\x34\x33\
+\x20\x2d\x31\x2e\x31\x2c\x30\x2e\x32\x38\x33\x36\x39\x20\x2d\x32\
+\x2e\x35\x30\x39\x39\x35\x2c\x30\x2e\x39\x32\x38\x38\x37\x20\x2d\
+\x33\x2e\x31\x33\x33\x32\x32\x2c\x31\x2e\x34\x33\x33\x37\x32\x20\
+\x2d\x30\x2e\x37\x32\x34\x37\x37\x2c\x30\x2e\x35\x38\x37\x30\x38\
+\x20\x2d\x31\x2e\x33\x31\x36\x39\x33\x2c\x30\x2e\x34\x33\x39\x31\
+\x35\x20\x2d\x31\x2e\x36\x34\x32\x39\x35\x2c\x2d\x30\x2e\x34\x31\
+\x30\x34\x33\x20\x7a\x20\x4d\x20\x31\x30\x32\x2e\x32\x2c\x31\x37\
+\x33\x2e\x38\x20\x63\x20\x2d\x31\x2e\x37\x30\x30\x33\x36\x2c\x2d\
+\x31\x2e\x37\x30\x30\x33\x36\x20\x2d\x31\x2e\x34\x39\x36\x30\x38\
+\x2c\x2d\x32\x2e\x34\x38\x39\x33\x31\x20\x30\x2e\x38\x2c\x2d\x33\
+\x2e\x30\x38\x39\x37\x35\x20\x31\x2e\x31\x2c\x2d\x30\x2e\x32\x38\
+\x37\x36\x36\x20\x32\x2c\x2d\x30\x2e\x31\x31\x35\x31\x34\x20\x32\
+\x2c\x30\x2e\x33\x38\x33\x33\x37\x20\x30\x2c\x30\x2e\x34\x39\x38\
+\x35\x31\x20\x2d\x30\x2e\x37\x33\x30\x31\x2c\x30\x2e\x39\x30\x36\
+\x33\x38\x20\x2d\x31\x2e\x36\x32\x32\x34\x34\x2c\x30\x2e\x39\x30\
+\x36\x33\x38\x20\x2d\x31\x2e\x33\x32\x38\x38\x2c\x30\x20\x2d\x31\
+\x2e\x33\x39\x37\x31\x33\x2c\x30\x2e\x32\x37\x31\x34\x39\x20\x2d\
+\x30\x2e\x33\x37\x37\x35\x36\x2c\x31\x2e\x35\x20\x31\x2e\x34\x38\
+\x34\x35\x38\x2c\x31\x2e\x37\x38\x38\x38\x31\x20\x30\x2e\x39\x30\
+\x35\x38\x34\x2c\x32\x2e\x30\x30\x35\x38\x34\x20\x2d\x30\x2e\x38\
+\x2c\x30\x2e\x33\x20\x7a\x20\x6d\x20\x34\x31\x2e\x32\x32\x39\x30\
+\x33\x2c\x2d\x31\x34\x2e\x38\x39\x34\x33\x39\x20\x43\x20\x31\x34\
+\x34\x2e\x38\x34\x33\x30\x37\x2c\x31\x35\x36\x2e\x39\x32\x38\x36\
+\x39\x20\x31\x34\x36\x2c\x31\x35\x34\x2e\x35\x36\x36\x31\x39\x20\
+\x31\x34\x36\x2c\x31\x35\x33\x2e\x36\x35\x35\x36\x31\x20\x31\x34\
+\x36\x2c\x31\x35\x32\x2e\x37\x34\x35\x30\x32\x20\x31\x34\x36\x2e\
+\x34\x32\x33\x34\x34\x2c\x31\x35\x32\x20\x31\x34\x36\x2e\x39\x34\
+\x30\x39\x38\x2c\x31\x35\x32\x20\x63\x20\x32\x2e\x33\x31\x31\x39\
+\x35\x2c\x30\x20\x31\x2e\x36\x34\x37\x34\x32\x2c\x31\x2e\x39\x34\
+\x34\x36\x39\x20\x2d\x32\x2e\x30\x37\x30\x36\x34\x2c\x36\x2e\x30\
+\x35\x39\x35\x34\x20\x2d\x33\x2e\x33\x31\x33\x39\x2c\x33\x2e\x36\
+\x36\x37\x35\x35\x20\x2d\x33\x2e\x35\x36\x34\x37\x37\x2c\x33\x2e\
+\x38\x31\x34\x38\x32\x20\x2d\x31\x2e\x34\x34\x31\x33\x31\x2c\x30\
+\x2e\x38\x34\x36\x30\x37\x20\x7a\x20\x6d\x20\x2d\x34\x32\x2e\x32\
+\x35\x30\x38\x39\x2c\x30\x2e\x38\x37\x32\x35\x33\x20\x43\x20\x31\
+\x30\x30\x2e\x30\x30\x36\x37\x33\x2c\x31\x35\x38\x2e\x36\x30\x36\
+\x37\x33\x20\x31\x30\x30\x2e\x37\x32\x31\x34\x31\x2c\x31\x35\x36\
+\x20\x31\x30\x32\x2e\x32\x31\x33\x39\x38\x2c\x31\x35\x36\x20\x63\
+\x20\x30\x2e\x35\x35\x2c\x30\x20\x30\x2e\x37\x31\x36\x35\x35\x2c\
+\x30\x2e\x37\x33\x38\x36\x35\x20\x30\x2e\x33\x37\x30\x31\x32\x2c\
+\x31\x2e\x36\x34\x31\x34\x34\x20\x2d\x30\x2e\x35\x33\x30\x35\x37\
+\x2c\x31\x2e\x33\x38\x32\x36\x33\x20\x2d\x30\x2e\x33\x38\x35\x39\
+\x35\x2c\x31\x2e\x34\x33\x39\x20\x30\x2e\x39\x31\x37\x31\x37\x2c\
+\x30\x2e\x33\x35\x37\x35\x20\x32\x2e\x31\x37\x33\x39\x33\x2c\x2d\
+\x31\x2e\x38\x30\x34\x32\x20\x32\x2e\x35\x33\x32\x36\x35\x2c\x2d\
+\x30\x2e\x38\x34\x38\x35\x34\x20\x30\x2e\x34\x33\x32\x30\x36\x2c\
+\x31\x2e\x31\x35\x31\x30\x36\x20\x2d\x31\x2e\x31\x38\x30\x32\x37\
+\x2c\x31\x2e\x31\x32\x33\x35\x33\x20\x2d\x32\x2e\x30\x35\x39\x33\
+\x38\x2c\x31\x2e\x33\x32\x33\x39\x35\x20\x2d\x32\x2e\x37\x35\x35\
+\x31\x39\x2c\x30\x2e\x36\x32\x38\x31\x34\x20\x7a\x20\x6d\x20\x36\
+\x2e\x36\x33\x34\x33\x36\x2c\x2d\x33\x2e\x34\x36\x31\x32\x35\x20\
+\x63\x20\x30\x2e\x37\x32\x31\x38\x37\x2c\x2d\x30\x2e\x32\x38\x38\
+\x38\x37\x20\x31\x2e\x35\x38\x34\x33\x37\x2c\x2d\x30\x2e\x32\x35\
+\x33\x33\x35\x20\x31\x2e\x39\x31\x36\x36\x37\x2c\x30\x2e\x30\x37\
+\x38\x39\x20\x30\x2e\x33\x33\x32\x32\x39\x2c\x30\x2e\x33\x33\x32\
+\x32\x39\x20\x2d\x30\x2e\x32\x35\x38\x33\x34\x2c\x30\x2e\x35\x36\
+\x38\x36\x34\x20\x2d\x31\x2e\x33\x31\x32\x35\x2c\x30\x2e\x35\x32\
+\x35\x32\x32\x20\x2d\x31\x2e\x31\x36\x34\x39\x35\x2c\x2d\x30\x2e\
+\x30\x34\x38\x20\x2d\x31\x2e\x34\x30\x31\x39\x2c\x2d\x30\x2e\x32\
+\x38\x34\x39\x34\x20\x2d\x30\x2e\x36\x30\x34\x31\x37\x2c\x2d\x30\
+\x2e\x36\x30\x34\x31\x36\x20\x7a\x20\x6d\x20\x33\x34\x2e\x34\x37\
+\x32\x32\x32\x2c\x2d\x32\x2e\x36\x37\x31\x30\x36\x20\x43\x20\x31\
+\x34\x32\x2e\x38\x32\x39\x35\x38\x2c\x31\x35\x32\x2e\x30\x31\x31\
+\x32\x37\x20\x31\x34\x35\x2c\x31\x35\x31\x2e\x36\x39\x34\x38\x37\
+\x20\x31\x34\x35\x2c\x31\x35\x33\x2e\x32\x35\x20\x63\x20\x30\x2c\
+\x30\x2e\x37\x37\x39\x31\x37\x20\x2d\x30\x2e\x36\x38\x37\x35\x2c\
+\x31\x2e\x34\x31\x36\x36\x37\x20\x2d\x31\x2e\x35\x32\x37\x37\x38\
+\x2c\x31\x2e\x34\x31\x36\x36\x37\x20\x2d\x30\x2e\x38\x34\x30\x32\
+\x38\x2c\x30\x20\x2d\x31\x2e\x33\x37\x34\x36\x35\x2c\x2d\x30\x2e\
+\x34\x35\x39\x33\x38\x20\x2d\x31\x2e\x31\x38\x37\x35\x2c\x2d\x31\
+\x2e\x30\x32\x30\x38\x34\x20\x7a\x20\x4d\x20\x39\x39\x2e\x32\x31\
+\x33\x31\x39\x39\x2c\x31\x34\x33\x2e\x33\x36\x35\x31\x34\x20\x63\
+\x20\x2d\x31\x2e\x34\x36\x38\x31\x39\x37\x2c\x2d\x31\x2e\x31\x31\
+\x35\x34\x20\x2d\x30\x2e\x39\x32\x36\x36\x35\x31\x2c\x2d\x31\x2e\
+\x32\x38\x34\x36\x35\x20\x33\x2e\x37\x38\x36\x38\x30\x31\x2c\x2d\
+\x31\x2e\x31\x38\x33\x35\x20\x33\x2e\x30\x32\x35\x2c\x30\x2e\x30\
+\x36\x34\x39\x20\x34\x2e\x32\x35\x34\x38\x37\x2c\x30\x2e\x33\x30\
+\x36\x32\x33\x20\x32\x2e\x37\x33\x33\x30\x35\x2c\x30\x2e\x35\x33\
+\x36\x32\x35\x20\x2d\x31\x2e\x35\x32\x31\x38\x33\x2c\x30\x2e\x32\
+\x33\x30\x30\x32\x20\x2d\x32\x2e\x35\x35\x34\x31\x32\x2c\x30\x2e\
+\x37\x36\x32\x36\x20\x2d\x32\x2e\x32\x39\x33\x39\x39\x2c\x31\x2e\
+\x31\x38\x33\x35\x20\x30\x2e\x37\x38\x31\x32\x35\x2c\x31\x2e\x32\
+\x36\x34\x31\x20\x2d\x32\x2e\x33\x38\x34\x39\x33\x2c\x30\x2e\x38\
+\x36\x32\x33\x31\x20\x2d\x34\x2e\x32\x32\x35\x38\x36\x31\x2c\x2d\
+\x30\x2e\x35\x33\x36\x32\x35\x20\x7a\x20\x6d\x20\x34\x36\x2e\x33\
+\x37\x32\x31\x36\x31\x2c\x2d\x32\x2e\x32\x32\x37\x30\x32\x20\x63\
+\x20\x2d\x30\x2e\x33\x35\x32\x32\x2c\x2d\x30\x2e\x35\x36\x39\x38\
+\x38\x20\x2d\x31\x2e\x39\x37\x32\x31\x34\x2c\x2d\x30\x2e\x38\x36\
+\x37\x36\x20\x2d\x33\x2e\x35\x39\x39\x38\x37\x2c\x2d\x30\x2e\x36\
+\x36\x31\x36\x20\x2d\x31\x2e\x36\x32\x37\x37\x32\x2c\x30\x2e\x32\
+\x30\x36\x30\x31\x20\x2d\x33\x2e\x31\x38\x33\x30\x34\x2c\x30\x2e\
+\x30\x31\x32\x39\x20\x2d\x33\x2e\x34\x35\x36\x32\x36\x2c\x2d\x30\
+\x2e\x34\x32\x39\x32\x33\x20\x2d\x30\x2e\x36\x30\x33\x35\x39\x2c\
+\x2d\x30\x2e\x39\x37\x36\x36\x32\x20\x35\x2e\x32\x39\x33\x35\x38\
+\x2c\x2d\x32\x2e\x32\x37\x34\x38\x33\x20\x36\x2e\x36\x31\x37\x32\
+\x38\x2c\x2d\x31\x2e\x34\x35\x36\x37\x34\x20\x30\x2e\x35\x31\x37\
+\x36\x31\x2c\x30\x2e\x33\x31\x39\x39\x20\x31\x2e\x35\x36\x30\x32\
+\x36\x2c\x30\x2e\x30\x36\x37\x38\x20\x32\x2e\x33\x31\x37\x2c\x2d\
+\x30\x2e\x35\x36\x30\x32\x37\x20\x31\x2e\x30\x37\x33\x33\x38\x2c\
+\x2d\x30\x2e\x38\x39\x30\x38\x32\x20\x31\x2e\x33\x32\x35\x33\x37\
+\x2c\x2d\x30\x2e\x37\x39\x37\x35\x39\x20\x31\x2e\x31\x34\x36\x30\
+\x37\x2c\x30\x2e\x34\x32\x34\x30\x34\x20\x2d\x30\x2e\x33\x33\x35\
+\x30\x32\x2c\x32\x2e\x32\x38\x32\x36\x38\x20\x2d\x32\x2e\x32\x33\
+\x31\x38\x2c\x33\x2e\x39\x36\x35\x39\x36\x20\x2d\x33\x2e\x30\x32\
+\x34\x32\x32\x2c\x32\x2e\x36\x38\x33\x38\x20\x7a\x20\x4d\x20\x39\
+\x39\x2e\x36\x36\x36\x36\x36\x37\x2c\x31\x33\x30\x2e\x33\x33\x33\
+\x33\x33\x20\x43\x20\x39\x38\x2e\x32\x30\x38\x34\x37\x2c\x31\x32\
+\x38\x2e\x38\x37\x35\x31\x34\x20\x39\x39\x2e\x31\x35\x35\x32\x39\
+\x31\x2c\x31\x32\x38\x20\x31\x30\x32\x2e\x31\x39\x31\x31\x33\x2c\
+\x31\x32\x38\x20\x63\x20\x33\x2e\x30\x32\x30\x35\x38\x2c\x30\x20\
+\x33\x2e\x30\x38\x37\x33\x39\x2c\x30\x2e\x30\x37\x38\x35\x20\x31\
+\x2e\x32\x35\x2c\x31\x2e\x34\x36\x38\x32\x20\x2d\x32\x2e\x32\x30\
+\x33\x31\x32\x2c\x31\x2e\x36\x36\x36\x33\x35\x20\x2d\x32\x2e\x38\
+\x32\x39\x36\x34\x2c\x31\x2e\x38\x30\x39\x39\x35\x20\x2d\x33\x2e\
+\x37\x37\x34\x34\x36\x33\x2c\x30\x2e\x38\x36\x35\x31\x33\x20\x7a\
+\x20\x6d\x20\x34\x30\x2e\x36\x39\x38\x38\x32\x33\x2c\x2d\x35\x2e\
+\x39\x31\x34\x31\x39\x20\x63\x20\x32\x2e\x31\x32\x36\x30\x33\x2c\
+\x2d\x30\x2e\x37\x36\x36\x39\x33\x20\x34\x2e\x32\x33\x35\x38\x37\
+\x2c\x2d\x31\x2e\x31\x36\x35\x35\x31\x20\x34\x2e\x36\x38\x38\x35\
+\x34\x2c\x2d\x30\x2e\x38\x38\x35\x37\x35\x20\x30\x2e\x34\x35\x32\
+\x36\x38\x2c\x30\x2e\x32\x37\x39\x37\x37\x20\x31\x2e\x32\x38\x37\
+\x30\x32\x2c\x2d\x30\x2e\x32\x38\x38\x32\x39\x20\x31\x2e\x38\x35\
+\x34\x31\x2c\x2d\x31\x2e\x32\x36\x32\x33\x36\x20\x30\x2e\x35\x36\
+\x37\x30\x38\x2c\x2d\x30\x2e\x39\x37\x34\x30\x37\x20\x31\x2e\x30\
+\x33\x30\x34\x33\x2c\x2d\x31\x2e\x33\x32\x31\x30\x33\x20\x31\x2e\
+\x30\x32\x39\x36\x36\x2c\x2d\x30\x2e\x37\x37\x31\x30\x33\x20\x2d\
+\x30\x2e\x30\x30\x33\x2c\x32\x2e\x34\x38\x33\x36\x33\x20\x2d\x32\
+\x2e\x36\x36\x38\x30\x38\x2c\x34\x2e\x30\x39\x37\x38\x33\x20\x2d\
+\x36\x2e\x39\x33\x37\x37\x39\x2c\x34\x2e\x32\x30\x32\x38\x36\x20\
+\x6c\x20\x2d\x34\x2e\x35\x2c\x30\x2e\x31\x31\x30\x36\x39\x20\x33\
+\x2e\x38\x36\x35\x34\x39\x2c\x2d\x31\x2e\x33\x39\x34\x34\x31\x20\
+\x7a\x20\x4d\x20\x31\x34\x38\x2c\x31\x32\x35\x20\x63\x20\x30\x2c\
+\x2d\x30\x2e\x35\x35\x20\x30\x2e\x34\x37\x36\x35\x36\x2c\x2d\x31\
+\x20\x31\x2e\x30\x35\x39\x30\x32\x2c\x2d\x31\x20\x30\x2e\x35\x38\
+\x32\x34\x36\x2c\x30\x20\x30\x2e\x37\x38\x30\x39\x2c\x30\x2e\x34\
+\x35\x20\x30\x2e\x34\x34\x30\x39\x38\x2c\x31\x20\x2d\x30\x2e\x33\
+\x33\x39\x39\x32\x2c\x30\x2e\x35\x35\x20\x2d\x30\x2e\x38\x31\x36\
+\x34\x38\x2c\x31\x20\x2d\x31\x2e\x30\x35\x39\x30\x32\x2c\x31\x20\
+\x43\x20\x31\x34\x38\x2e\x31\x39\x38\x34\x34\x2c\x31\x32\x36\x20\
+\x31\x34\x38\x2c\x31\x32\x35\x2e\x35\x35\x20\x31\x34\x38\x2c\x31\
+\x32\x35\x20\x7a\x20\x4d\x20\x39\x39\x2c\x31\x31\x33\x20\x63\x20\
+\x30\x2c\x2d\x31\x2e\x32\x35\x32\x39\x32\x20\x31\x2e\x30\x36\x31\
+\x32\x34\x2c\x2d\x31\x2e\x32\x35\x32\x39\x32\x20\x33\x2c\x30\x20\
+\x31\x2e\x32\x31\x32\x39\x36\x2c\x30\x2e\x37\x38\x33\x38\x37\x20\
+\x31\x2e\x30\x36\x39\x34\x34\x2c\x30\x2e\x39\x37\x32\x33\x20\x2d\
+\x30\x2e\x37\x35\x2c\x30\x2e\x39\x38\x34\x36\x39\x20\x43\x20\x31\
+\x30\x30\x2e\x30\x31\x32\x35\x2c\x31\x31\x33\x2e\x39\x39\x33\x31\
+\x31\x20\x39\x39\x2c\x31\x31\x33\x2e\x35\x35\x20\x39\x39\x2c\x31\
+\x31\x33\x20\x7a\x20\x6d\x20\x34\x31\x2e\x35\x2c\x2d\x33\x2e\x31\
+\x30\x32\x30\x34\x20\x63\x20\x2d\x32\x2e\x39\x30\x31\x31\x36\x2c\
+\x2d\x30\x2e\x34\x34\x35\x34\x33\x20\x2d\x33\x2e\x33\x31\x33\x32\
+\x32\x2c\x2d\x30\x2e\x36\x38\x38\x31\x39\x20\x2d\x31\x2e\x35\x2c\
+\x2d\x30\x2e\x38\x38\x33\x36\x38\x20\x31\x2e\x33\x37\x35\x2c\x2d\
+\x30\x2e\x31\x34\x38\x32\x34\x20\x33\x2e\x34\x37\x32\x39\x2c\x2d\
+\x30\x2e\x33\x37\x33\x37\x36\x20\x34\x2e\x36\x36\x32\x2c\x2d\x30\
+\x2e\x35\x30\x31\x31\x35\x20\x31\x2e\x31\x38\x39\x31\x2c\x2d\x30\
+\x2e\x31\x32\x37\x33\x39\x20\x32\x2e\x38\x34\x33\x37\x2c\x2d\x30\
+\x2e\x34\x39\x33\x32\x31\x20\x33\x2e\x36\x37\x36\x38\x39\x2c\x2d\
+\x30\x2e\x38\x31\x32\x39\x33\x20\x31\x2e\x38\x34\x32\x37\x33\x2c\
+\x2d\x30\x2e\x37\x30\x37\x31\x32\x20\x34\x2e\x32\x38\x39\x31\x37\
+\x2c\x31\x2e\x37\x39\x33\x36\x20\x32\x2e\x37\x30\x39\x36\x37\x2c\
+\x32\x2e\x37\x36\x39\x37\x39\x20\x2d\x30\x2e\x35\x37\x36\x37\x31\
+\x2c\x30\x2e\x33\x35\x36\x34\x32\x20\x2d\x31\x2e\x30\x34\x38\x35\
+\x36\x2c\x30\x2e\x32\x32\x31\x34\x39\x20\x2d\x31\x2e\x30\x34\x38\
+\x35\x36\x2c\x2d\x30\x2e\x32\x39\x39\x38\x36\x20\x30\x2c\x2d\x30\
+\x2e\x39\x36\x32\x39\x31\x20\x2d\x33\x2e\x30\x38\x35\x36\x37\x2c\
+\x2d\x31\x2e\x30\x38\x39\x34\x38\x20\x2d\x34\x2c\x2d\x30\x2e\x31\
+\x36\x34\x30\x37\x20\x2d\x30\x2e\x32\x37\x35\x2c\x30\x2e\x32\x37\
+\x38\x33\x33\x20\x2d\x32\x2e\x33\x2c\x30\x2e\x32\x32\x39\x36\x39\
+\x20\x2d\x34\x2e\x35\x2c\x2d\x30\x2e\x31\x30\x38\x31\x20\x7a\x20\
+\x6d\x20\x2d\x34\x30\x2e\x38\x33\x33\x33\x33\x33\x2c\x2d\x38\x2e\
+\x35\x36\x34\x36\x33\x20\x63\x20\x2d\x31\x2e\x33\x33\x30\x39\x31\
+\x36\x2c\x2d\x31\x2e\x33\x33\x30\x39\x31\x20\x2d\x30\x2e\x36\x31\
+\x36\x39\x34\x39\x2c\x2d\x32\x2e\x33\x33\x30\x37\x36\x37\x20\x31\
+\x2e\x35\x38\x33\x33\x33\x33\x2c\x2d\x32\x2e\x32\x31\x37\x33\x32\
+\x39\x20\x31\x2e\x37\x31\x32\x32\x34\x2c\x30\x2e\x30\x38\x38\x32\
+\x38\x20\x31\x2e\x38\x32\x38\x38\x31\x2c\x30\x2e\x32\x32\x35\x38\
+\x36\x38\x20\x30\x2e\x34\x38\x37\x37\x36\x2c\x30\x2e\x35\x37\x35\
+\x36\x38\x32\x20\x2d\x30\x2e\x39\x36\x39\x32\x34\x2c\x30\x2e\x32\
+\x35\x32\x38\x32\x35\x20\x2d\x31\x2e\x35\x30\x35\x31\x38\x2c\x30\
+\x2e\x38\x37\x35\x36\x32\x37\x20\x2d\x31\x2e\x31\x39\x30\x39\x39\
+\x2c\x31\x2e\x33\x38\x33\x39\x39\x37\x20\x30\x2e\x36\x36\x31\x34\
+\x36\x2c\x31\x2e\x30\x37\x30\x32\x36\x20\x30\x2e\x30\x39\x37\x36\
+\x2c\x31\x2e\x32\x33\x35\x33\x33\x20\x2d\x30\x2e\x38\x38\x30\x31\
+\x30\x33\x2c\x30\x2e\x32\x35\x37\x36\x35\x20\x7a\x20\x6d\x20\x34\
+\x31\x2e\x38\x34\x35\x33\x37\x33\x2c\x2d\x35\x2e\x39\x36\x35\x37\
+\x39\x20\x63\x20\x31\x2e\x32\x39\x35\x30\x39\x2c\x2d\x30\x2e\x39\
+\x34\x36\x39\x39\x35\x20\x33\x2e\x34\x34\x39\x31\x35\x2c\x2d\x31\
+\x2e\x32\x38\x33\x32\x35\x31\x20\x36\x2e\x32\x34\x38\x35\x33\x2c\
+\x2d\x30\x2e\x39\x37\x35\x34\x31\x38\x20\x32\x2e\x35\x30\x31\x35\
+\x2c\x30\x2e\x32\x37\x35\x30\x37\x36\x20\x34\x2e\x30\x33\x33\x36\
+\x35\x2c\x30\x2e\x30\x38\x33\x39\x34\x20\x33\x2e\x36\x39\x36\x37\
+\x36\x2c\x2d\x30\x2e\x34\x36\x31\x31\x37\x20\x43\x20\x31\x35\x31\
+\x2e\x31\x34\x30\x38\x38\x2c\x39\x33\x2e\x34\x31\x38\x39\x32\x38\
+\x20\x31\x35\x31\x2e\x33\x35\x38\x35\x32\x2c\x39\x33\x20\x31\x35\
+\x31\x2e\x39\x34\x30\x39\x38\x2c\x39\x33\x20\x63\x20\x31\x2e\x32\
+\x38\x36\x30\x35\x2c\x30\x20\x31\x2e\x34\x30\x32\x38\x32\x2c\x31\
+\x2e\x36\x36\x39\x34\x38\x36\x20\x30\x2e\x31\x37\x30\x30\x36\x2c\
+\x32\x2e\x34\x33\x31\x33\x37\x34\x20\x2d\x30\x2e\x34\x38\x38\x39\
+\x33\x2c\x30\x2e\x33\x30\x32\x31\x37\x34\x20\x2d\x33\x2e\x35\x31\
+\x38\x34\x32\x2c\x30\x2e\x37\x33\x36\x35\x39\x38\x20\x2d\x36\x2e\
+\x37\x33\x32\x32\x2c\x30\x2e\x39\x36\x35\x33\x38\x36\x20\x2d\x35\
+\x2e\x32\x38\x38\x38\x35\x2c\x30\x2e\x33\x37\x36\x35\x31\x33\x20\
+\x2d\x35\x2e\x36\x35\x35\x37\x32\x2c\x30\x2e\x32\x37\x38\x38\x36\
+\x34\x20\x2d\x33\x2e\x38\x36\x36\x38\x2c\x2d\x31\x2e\x30\x32\x39\
+\x32\x32\x20\x7a\x20\x4d\x20\x39\x39\x2c\x38\x35\x2e\x35\x33\x35\
+\x31\x38\x34\x20\x43\x20\x39\x39\x2c\x38\x34\x2e\x36\x36\x36\x36\
+\x36\x37\x20\x39\x39\x2e\x38\x36\x38\x35\x31\x37\x2c\x38\x34\x20\
+\x31\x30\x31\x2c\x38\x34\x20\x63\x20\x31\x2e\x31\x2c\x30\x20\x32\
+\x2c\x30\x2e\x32\x30\x39\x31\x36\x37\x20\x32\x2c\x30\x2e\x34\x36\
+\x34\x38\x31\x36\x20\x30\x2c\x30\x2e\x32\x35\x35\x36\x34\x39\x20\
+\x2d\x30\x2e\x39\x2c\x30\x2e\x39\x34\x36\x34\x38\x32\x20\x2d\x32\
+\x2c\x31\x2e\x35\x33\x35\x31\x38\x34\x20\x2d\x31\x2e\x35\x39\x36\
+\x32\x39\x39\x2c\x30\x2e\x38\x35\x34\x33\x31\x33\x20\x2d\x32\x2c\
+\x30\x2e\x37\x36\x30\x34\x39\x20\x2d\x32\x2c\x2d\x30\x2e\x34\x36\
+\x34\x38\x31\x36\x20\x7a\x20\x6d\x20\x34\x31\x2e\x39\x37\x36\x34\
+\x39\x2c\x2d\x34\x2e\x36\x30\x35\x35\x31\x36\x20\x63\x20\x31\x2e\
+\x33\x36\x32\x30\x38\x2c\x2d\x30\x2e\x35\x36\x38\x30\x33\x35\x20\
+\x33\x2e\x35\x33\x37\x32\x38\x2c\x2d\x30\x2e\x37\x36\x36\x35\x35\
+\x32\x20\x34\x2e\x38\x33\x33\x37\x39\x2c\x2d\x30\x2e\x34\x34\x31\
+\x31\x34\x38\x20\x31\x2e\x35\x30\x32\x31\x35\x2c\x30\x2e\x33\x37\
+\x37\x30\x31\x34\x20\x32\x2e\x31\x32\x34\x31\x31\x2c\x30\x2e\x32\
+\x31\x34\x33\x33\x35\x20\x31\x2e\x37\x31\x34\x34\x39\x2c\x2d\x30\
+\x2e\x34\x34\x38\x34\x33\x38\x20\x43\x20\x31\x34\x37\x2e\x31\x34\
+\x35\x31\x39\x2c\x37\x39\x2e\x34\x32\x35\x39\x31\x33\x20\x31\x34\
+\x37\x2e\x39\x30\x35\x37\x31\x2c\x37\x39\x20\x31\x34\x39\x2e\x33\
+\x38\x31\x39\x37\x2c\x37\x39\x20\x63\x20\x32\x2e\x37\x33\x35\x35\
+\x35\x2c\x30\x20\x34\x2e\x33\x35\x30\x35\x33\x2c\x31\x2e\x35\x32\
+\x36\x31\x37\x31\x20\x32\x2e\x33\x36\x32\x32\x39\x2c\x32\x2e\x32\
+\x33\x32\x33\x38\x34\x20\x2d\x30\x2e\x36\x38\x34\x33\x34\x2c\x30\
+\x2e\x32\x34\x33\x30\x37\x35\x20\x2d\x33\x2e\x39\x34\x34\x32\x36\
+\x2c\x30\x2e\x35\x30\x36\x37\x38\x32\x20\x2d\x37\x2e\x32\x34\x34\
+\x32\x36\x2c\x30\x2e\x35\x38\x36\x30\x31\x35\x20\x2d\x34\x2e\x39\
+\x37\x37\x39\x31\x2c\x30\x2e\x31\x31\x39\x35\x31\x39\x20\x2d\x35\
+\x2e\x35\x37\x38\x31\x33\x2c\x2d\x30\x2e\x30\x33\x31\x38\x37\x20\
+\x2d\x33\x2e\x35\x32\x33\x35\x31\x2c\x2d\x30\x2e\x38\x38\x38\x37\
+\x33\x31\x20\x7a\x20\x4d\x20\x39\x39\x2e\x35\x2c\x37\x31\x20\x43\
+\x20\x39\x37\x2e\x35\x39\x31\x36\x34\x34\x2c\x37\x30\x2e\x31\x37\
+\x39\x39\x35\x31\x20\x39\x37\x2e\x36\x30\x33\x30\x39\x39\x2c\x37\
+\x30\x2e\x31\x33\x37\x33\x35\x20\x39\x39\x2e\x37\x35\x2c\x37\x30\
+\x2e\x30\x37\x30\x32\x38\x35\x20\x31\x30\x30\x2e\x39\x38\x37\x35\
+\x2c\x37\x30\x2e\x30\x33\x31\x36\x32\x38\x20\x31\x30\x32\x2c\x37\
+\x30\x2e\x34\x35\x20\x31\x30\x32\x2c\x37\x31\x20\x63\x20\x30\x2c\
+\x30\x2e\x35\x35\x20\x2d\x30\x2e\x31\x31\x32\x35\x2c\x30\x2e\x39\
+\x36\x38\x33\x37\x32\x20\x2d\x30\x2e\x32\x35\x2c\x30\x2e\x39\x32\
+\x39\x37\x31\x35\x20\x43\x20\x31\x30\x31\x2e\x36\x31\x32\x35\x2c\
+\x37\x31\x2e\x38\x39\x31\x30\x35\x38\x20\x31\x30\x30\x2e\x36\x2c\
+\x37\x31\x2e\x34\x37\x32\x36\x38\x36\x20\x39\x39\x2e\x35\x2c\x37\
+\x31\x20\x7a\x20\x4d\x20\x31\x33\x39\x2c\x36\x36\x2e\x39\x36\x32\
+\x37\x38\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x34\x36\x31\x35\x39\
+\x31\x20\x31\x2e\x39\x38\x32\x31\x39\x2c\x2d\x30\x2e\x37\x35\x34\
+\x35\x35\x31\x20\x34\x2e\x34\x30\x34\x38\x37\x2c\x2d\x30\x2e\x36\
+\x35\x31\x30\x32\x33\x20\x32\x2e\x34\x32\x32\x36\x38\x2c\x30\x2e\
+\x31\x30\x33\x35\x32\x39\x20\x34\x2e\x32\x30\x36\x35\x34\x2c\x2d\
+\x30\x2e\x31\x33\x32\x34\x31\x37\x20\x33\x2e\x39\x36\x34\x31\x33\
+\x2c\x2d\x30\x2e\x35\x32\x34\x33\x32\x34\x20\x2d\x30\x2e\x32\x34\
+\x32\x34\x32\x2c\x2d\x30\x2e\x33\x39\x31\x39\x30\x37\x20\x30\x2e\
+\x39\x32\x34\x35\x2c\x2d\x30\x2e\x36\x31\x36\x39\x30\x37\x20\x32\
+\x2e\x35\x39\x33\x31\x34\x2c\x2d\x30\x2e\x35\x20\x34\x2e\x30\x30\
+\x33\x32\x32\x2c\x30\x2e\x32\x38\x30\x34\x37\x31\x20\x33\x2e\x38\
+\x37\x39\x37\x36\x2c\x31\x2e\x34\x39\x39\x35\x30\x39\x20\x2d\x30\
+\x2e\x32\x31\x32\x31\x34\x2c\x32\x2e\x30\x39\x34\x35\x32\x35\x20\
+\x43\x20\x31\x34\x34\x2e\x37\x31\x31\x35\x33\x2c\x36\x38\x2e\x31\
+\x31\x34\x36\x32\x38\x20\x31\x33\x39\x2c\x36\x37\x2e\x38\x39\x31\
+\x39\x31\x36\x20\x31\x33\x39\x2c\x36\x36\x2e\x39\x36\x32\x37\x38\
+\x39\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
+\x70\x61\x74\x68\x32\x38\x32\x32\x22\x20\x2f\x3e\x0a\x20\x20\x20\
+\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\
+\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x37\x62\x37\x34\x37\
+\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\
+\x34\x35\x2e\x33\x37\x30\x30\x33\x2c\x31\x33\x38\x2e\x32\x39\x36\
+\x36\x34\x20\x63\x20\x30\x2e\x37\x38\x36\x37\x38\x2c\x2d\x30\x2e\
+\x37\x38\x36\x37\x38\x20\x35\x2e\x35\x39\x36\x30\x35\x2c\x2d\x31\
+\x2e\x30\x35\x30\x37\x37\x20\x35\x2e\x31\x32\x30\x33\x35\x2c\x2d\
+\x30\x2e\x32\x38\x31\x30\x37\x20\x2d\x30\x2e\x32\x34\x39\x36\x35\
+\x2c\x30\x2e\x34\x30\x33\x39\x34\x20\x2d\x31\x2e\x36\x30\x35\x38\
+\x36\x2c\x30\x2e\x37\x33\x34\x34\x33\x20\x2d\x33\x2e\x30\x31\x33\
+\x38\x31\x2c\x30\x2e\x37\x33\x34\x34\x33\x20\x2d\x31\x2e\x34\x30\
+\x37\x39\x35\x2c\x30\x20\x2d\x32\x2e\x33\x35\x35\x38\x39\x2c\x2d\
+\x30\x2e\x32\x30\x34\x30\x31\x20\x2d\x32\x2e\x31\x30\x36\x35\x34\
+\x2c\x2d\x30\x2e\x34\x35\x33\x33\x36\x20\x7a\x20\x6d\x20\x30\x2e\
+\x31\x37\x35\x32\x39\x2c\x2d\x31\x34\x2e\x32\x32\x33\x33\x31\x20\
+\x63\x20\x2d\x30\x2e\x32\x32\x33\x38\x32\x2c\x2d\x30\x2e\x33\x36\
+\x32\x31\x35\x20\x30\x2e\x39\x31\x31\x39\x32\x2c\x2d\x30\x2e\x37\
+\x35\x38\x39\x35\x20\x32\x2e\x35\x32\x33\x38\x37\x2c\x2d\x30\x2e\
+\x38\x38\x31\x37\x38\x20\x31\x2e\x36\x31\x31\x39\x34\x2c\x2d\x30\
+\x2e\x31\x32\x32\x38\x32\x20\x32\x2e\x39\x33\x30\x38\x31\x2c\x2d\
+\x30\x2e\x30\x34\x33\x36\x20\x32\x2e\x39\x33\x30\x38\x31\x2c\x30\
+\x2e\x31\x37\x35\x39\x39\x20\x30\x2c\x30\x2e\x37\x32\x35\x37\x33\
+\x20\x2d\x35\x2e\x30\x33\x39\x33\x37\x2c\x31\x2e\x33\x37\x37\x37\
+\x38\x20\x2d\x35\x2e\x34\x35\x34\x36\x38\x2c\x30\x2e\x37\x30\x35\
+\x37\x39\x20\x7a\x20\x4d\x20\x31\x35\x30\x2c\x31\x30\x38\x2e\x36\
+\x30\x36\x39\x39\x20\x63\x20\x30\x2c\x2d\x30\x2e\x32\x31\x36\x31\
+\x36\x20\x30\x2e\x36\x39\x38\x33\x37\x2c\x2d\x30\x2e\x36\x36\x31\
+\x20\x31\x2e\x35\x35\x31\x39\x34\x2c\x2d\x30\x2e\x39\x38\x38\x35\
+\x35\x20\x30\x2e\x38\x38\x39\x39\x32\x2c\x2d\x30\x2e\x33\x34\x31\
+\x34\x39\x20\x31\x2e\x32\x39\x31\x33\x32\x2c\x2d\x30\x2e\x31\x37\
+\x33\x38\x35\x20\x30\x2e\x39\x34\x30\x39\x38\x2c\x30\x2e\x33\x39\
+\x33\x30\x31\x20\x43\x20\x31\x35\x31\x2e\x39\x30\x35\x36\x36\x2c\
+\x31\x30\x38\x2e\x39\x36\x31\x36\x36\x20\x31\x35\x30\x2c\x31\x30\
+\x39\x2e\x34\x31\x36\x39\x20\x31\x35\x30\x2c\x31\x30\x38\x2e\x36\
+\x30\x36\x39\x39\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x64\x3d\x22\x70\x61\x74\x68\x32\x38\x32\x30\x22\x20\x2f\x3e\x0a\
+\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x14\x3c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\
+\xf4\x42\x4b\x88\x80\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\
+\x14\x91\x26\x2a\x21\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\
+\x45\x45\x04\x1b\xc8\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\
+\x8a\x0a\xd8\x07\xe4\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\
+\xa3\x6b\xd6\xbc\xf7\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\
+\xcf\x07\xc0\x08\x0c\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\
+\xe0\x83\xc7\xc4\xc6\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\
+\xb3\x64\x21\x73\xfd\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\
+\xbe\x00\x01\x78\xd3\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\
+\x0f\xea\x42\x99\x5c\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\
+\x14\x00\x40\x7a\x8e\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\
+\x00\xa0\x04\x00\x60\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\
+\xe6\xd3\x00\x80\x9d\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\
+\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\
+\x00\x58\x30\x00\x14\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\
+\x66\x48\x00\xb0\xb7\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\
+\x51\x88\x85\x29\x00\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\
+\x00\x14\x46\xf2\x57\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\
+\xb2\x3c\xb9\x24\x39\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\
+\x28\xce\x49\x17\x2b\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\
+\x19\x32\x81\x34\x0f\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\
+\xf3\xfd\x78\xce\x0e\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\
+\x06\xff\x22\x62\x62\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\
+\x7e\xd1\xfe\x2c\x2f\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\
+\x04\x68\x5e\x0b\xa0\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\
+\xda\x57\xf3\x70\xf8\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\
+\xe4\xd8\x4a\xc4\x42\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\
+\xfd\x6c\xf9\x7e\x3c\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\
+\x47\x04\xf8\xe0\xc2\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\
+\xe6\x8f\x47\xfc\xb7\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\
+\x2a\x14\xe3\x51\x12\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\
+\x92\x29\xc5\x25\xd2\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\
+\xb0\x6a\x3e\x01\x7b\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\
+\x74\xc0\xe2\xf7\x00\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\
+\x83\xe1\xcf\x77\xff\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\
+\x71\x00\x00\x5e\x44\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\
+\xa0\x81\x2a\xb0\x41\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\
+\xc1\x0b\xfc\x60\x36\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\
+\x1c\x72\x60\x29\xac\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\
+\x40\x1d\x34\xc0\x51\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\
+\x70\x0f\xfa\x61\x08\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\
+\x61\x21\xda\x88\x01\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\
+\xc1\x48\x04\x12\x8b\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\
+\x31\x52\x8a\x54\x20\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\
+\xba\x91\x3b\xc8\x00\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\
+\x3d\xd4\x0c\xb5\x43\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\
+\x31\x9a\x8f\x16\xa0\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\
+\xab\x68\x0f\xda\x8f\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\
+\x30\x2e\xc6\xc3\x42\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\
+\xab\xc6\x1a\xb0\x56\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\
+\x81\x45\xc0\x09\x36\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\
+\x4e\xd8\x48\xa8\x20\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\
+\xc2\x27\x22\x93\xa8\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\
+\x87\x58\x48\x2c\x23\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\
+\x24\x12\x89\x43\x32\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\
+\x46\xd2\x6e\x52\x23\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\
+\x64\x6b\xb2\x07\x39\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\
+\x33\xe4\x1b\xe4\x21\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\
+\x28\x52\xca\x6a\x4a\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\
+\x55\xa3\x9a\x52\xdd\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\
+\x52\xaf\x51\x87\xa8\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\
+\xad\xa2\x95\xd3\x1a\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\
+\x95\x1e\x4e\x97\xd0\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\
+\x0c\x0d\x86\x15\x83\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\
+\x77\x18\xaf\x98\x4c\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\
+\x98\xe7\x99\x0f\x99\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\
+\x95\x4a\x95\x26\x95\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\
+\x55\xf3\x55\xcb\x54\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\
+\xa9\x09\xd4\x96\xab\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\
+\xa8\x87\xaa\x67\xa8\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\
+\x4c\xc3\x4f\x43\xa4\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\
+\xb3\x78\x2c\x21\x6b\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\
+\x7c\x76\x2a\xbb\x98\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\
+\x4a\x33\x57\xb3\x52\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\
+\x4e\x09\xe7\x28\xa7\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\
+\xa6\x34\x4c\xb9\x31\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\
+\x51\xab\x47\xeb\xbd\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\
+\x81\x0e\x41\xc7\x4a\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\
+\xd9\x53\xdd\xa7\x0a\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\
+\x1b\xa1\xbb\x44\x77\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\
+\x6f\xa7\xde\x79\xbd\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\
+\xf5\x47\x0c\x58\x06\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\
+\x71\x6f\x3c\x1d\x2f\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\
+\x95\x61\x97\xe1\x84\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\
+\x69\xc6\x5c\xe3\x24\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\
+\x4b\x4d\xea\x4d\xee\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\
+\xc7\xcd\xcc\xcd\xa2\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\
+\xe7\x9b\xd7\x9b\xdf\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\
+\x49\xb2\xe4\x5a\xa6\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\
+\x55\x5a\x5d\xb3\x46\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\
+\xb9\x4e\x93\x4e\xab\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\
+\x19\xb0\xe5\xd8\x06\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\
+\xb7\xc5\xae\xc3\xee\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\
+\x87\xd9\x0e\xab\x1d\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\
+\x9a\xce\x9c\xee\x3f\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\
+\xd8\x33\xe3\xb6\x13\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\
+\x67\xb9\x73\x83\xf3\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\
+\x1b\xc6\xdd\xc8\xbd\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\
+\x9b\xb3\x9b\xc2\xed\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\
+\xcc\x34\x9f\x29\x9e\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\
+\x3f\x0b\x9f\x95\x30\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\
+\x23\x2f\x63\x2f\x91\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\
+\x17\x3e\xf6\x3e\x72\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\
+\xcc\x37\xc0\xb7\xc8\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\
+\x23\xff\x64\xff\x7a\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\
+\x41\x81\x5b\x02\xfb\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\
+\xb2\xd9\xed\x41\x8c\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\
+\xad\x21\x68\xc8\xec\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\
+\x85\x50\x7e\xe8\xd6\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\
+\x87\x85\x57\x86\x3f\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\
+\xdc\x43\x73\xdf\x44\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\
+\x2d\x4a\x35\x2a\x3e\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\
+\x2e\x66\x59\xcc\xd5\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\
+\x36\x6e\x6c\xbe\xdf\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\
+\x98\x2f\xc8\x5d\x70\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\
+\x2c\x3a\x96\x40\x4c\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\
+\x25\xf2\x13\x77\x25\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\
+\xd1\x88\xd8\x43\x5c\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\
+\xbc\x35\x79\x24\xc5\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\
+\x0d\x4c\xdd\x9b\x3a\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\
+\x83\x92\x91\x90\x71\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\
+\x76\xcb\xac\x65\x85\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\
+\x6b\xb3\x90\xac\x05\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\
+\x2a\x07\xb2\x67\x65\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\
+\xcd\xed\xcc\xb3\xca\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\
+\xe1\x92\xb6\xa5\x86\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\
+\x3c\x71\x79\xdb\x0a\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\
+\xb6\x2a\x6d\xd5\x4f\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\
+\x81\x5e\xc1\xca\x82\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\
+\xeb\xdc\xd7\xed\x5d\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\
+\x3e\x15\x89\x8a\xae\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\
+\x1b\x87\x6f\xca\xbf\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\
+\xd2\x66\xe9\xe6\xde\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\
+\x0d\xd9\xda\xb4\x0d\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\
+\x28\xdb\xbb\x83\xb6\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\
+\xcd\x3b\x3f\x54\xa4\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\
+\xd7\xf8\x6e\xd1\xee\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\
+\xfd\x3e\xc9\xbe\xdb\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\
+\xb3\xf7\x3f\xae\x89\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\
+\xed\xc7\x03\xd2\x03\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\
+\x3d\x54\x52\x8f\xd6\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\
+\x2d\x0d\x36\x0d\x55\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\
+\x09\xdf\xf7\x1e\x0d\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\
+\x1d\x67\x1d\x2f\x6a\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\
+\x5b\xba\x4f\xcc\x3e\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\
+\x34\x3c\x59\x79\x4a\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\
+\xcf\x8c\x9d\x95\x9d\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\
+\x63\xce\xdf\x6a\x0f\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\
+\x3b\xbc\x3b\xce\x5c\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\
+\x9a\xaf\x3a\x5f\x6d\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\
+\xbb\x9a\xae\xb9\x5c\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\
+\x9e\x37\xce\xdd\xf4\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\
+\xbd\xf3\x7a\x6f\xf7\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\
+\xcb\xbb\xd9\x77\x27\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\
+\x43\xdd\x87\xd5\x3f\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\
+\xf3\xd1\xdc\x47\xf7\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\
+\x8f\x99\x8f\xcb\x86\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\
+\xfd\xe9\xfc\xa7\x43\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\
+\x17\x16\x2f\x7e\xf8\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\
+\x93\xbf\x6d\x7c\xa5\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\
+\xbe\xc9\x78\x33\x31\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\
+\xa3\xdf\x0f\x4f\xe4\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\
+\xa7\xfb\x93\x19\x93\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\
+\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\
+\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\
+\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x09\x57\
+\x49\x44\x41\x54\x78\xda\xec\x9a\x5d\x68\x5b\xe7\x19\xc7\x7f\xef\
+\x7b\x3e\x24\xf9\x48\xb2\x1d\xad\x76\x5c\x67\x8d\x13\x87\x2c\x69\
+\xd3\x8b\x92\x86\x41\xbb\x76\x90\x41\xc6\x9a\xb2\x50\x8f\x5e\x98\
+\xb1\x41\x20\x50\x02\x4d\x29\x34\x37\x61\xa3\xd0\xec\x6e\x30\x4a\
+\x28\xcc\x59\x7d\xd1\x65\x37\x4d\x47\x7a\x51\x4a\x47\x0b\x4d\xc7\
+\xc2\x4a\x3e\x8a\x13\x92\x26\xc1\xde\x88\x1d\x3b\x5e\xd2\xda\xb5\
+\xeb\x4f\x49\x47\xe7\x7d\xcf\xbb\x0b\x49\x27\x92\x6c\x27\x96\xed\
+\x7d\x14\x7a\xe0\xf0\x4a\x47\xd2\x39\xcf\xff\x79\xfe\xcf\xe7\x2b\
+\x61\x8c\xe1\x9b\x7c\x48\xbe\xe1\x87\xbd\xd4\x07\x42\x08\xf1\xde\
+\x7b\xef\x8d\xfc\x3f\x08\xb9\x6f\xdf\xbe\x87\xcc\x12\x54\xb1\xef\
+\xf1\x3b\x2b\x1e\x8f\x8f\xef\xd9\xb3\xe7\xb1\xff\xb4\x80\xc6\x18\
+\xc2\x30\x8c\xd6\xf2\x19\x8b\xc5\x38\x7d\xfa\xf4\x25\xc0\x02\x54\
+\xbd\x00\x84\xd6\x5a\x01\x04\x41\x50\xb6\x4a\xd5\xba\xd4\xeb\xca\
+\x6b\x4b\x09\x5c\x79\x56\x0a\x5f\x09\xc2\xb2\x2c\x4a\x32\x88\xba\
+\x29\x54\x12\xc4\x94\x1f\x58\x5e\x85\x10\xd1\x5a\x79\xad\x56\xc0\
+\xa5\x40\x2e\xc6\x84\x5a\xe0\x42\x08\xa4\x94\x48\x29\x23\x19\x56\
+\xe5\xc4\x95\x0f\xad\x04\xb3\x9c\x6b\xf7\x12\xb6\xf6\x2c\x09\x5c\
+\xf5\x7e\x55\x51\xa8\x56\x73\xb5\x82\x56\xae\xf7\x03\x56\x6b\xc5\
+\xa5\x40\x54\x02\x29\xaf\x2b\x06\x50\xd6\xc0\xbd\xb4\xad\x94\x62\
+\x6a\x6a\x9a\x42\x21\xa8\xfa\xac\x96\xd7\xe5\xf3\xda\xd5\xab\x5c\
+\xbf\x76\x6d\x01\xc5\x2a\x85\xaf\xa0\xcf\x7d\xad\x20\xeb\x89\x14\
+\x8b\x5d\x1b\x1d\xfd\x17\xd7\xaf\x5d\x63\x62\x72\x72\x81\xb6\x2b\
+\xc1\x08\x21\x98\x99\x99\xe1\xe6\xcd\x61\x9a\x9a\xd7\x31\x36\x36\
+\x16\xf9\x53\xf9\xfb\xb5\x3e\xb0\xea\x44\x26\xa5\x5c\x16\xd7\xa5\
+\x94\x5c\xfd\xfc\x0a\xf9\x7c\x7e\x01\xfd\xca\xda\x34\xc6\x30\x3e\
+\x36\x8e\x31\x86\x8b\x17\xfb\x18\x19\x1e\x2e\xc6\x6a\xcb\xaa\xd2\
+\x78\x2d\x65\xd6\xc4\x02\xb5\x02\x57\x86\x3a\x69\x42\x74\x50\xe0\
+\xa3\x0f\x3f\x22\x9f\xcb\x2d\x19\x1a\x8d\x31\x64\xe7\xe7\x48\x7b\
+\x0d\x9c\x3f\x7b\x96\xb1\x2f\xbf\x58\xd4\x37\x96\x02\xb2\xd2\x30\
+\x5a\x25\xf8\x9f\x4e\xfc\x91\xbe\x1b\xb7\x99\x16\x09\x04\x86\x82\
+\x0a\x48\xc4\x13\x38\xa1\xcf\x23\x1d\x9b\x79\xe9\x77\xbd\x04\x81\
+\xc2\x70\x17\x04\xa6\x44\xa3\x92\xb0\xcd\x8d\x69\xd6\x29\xf8\xa0\
+\xaf\x9f\xdf\x7f\x78\x16\xc7\xb6\x11\x52\x22\xa5\xc5\xba\x70\x9e\
+\x7d\xbb\x7f\xc0\x4f\x9e\x79\x66\x01\xad\x56\x04\xa0\x56\xfb\xd7\
+\x2f\x5f\x22\xfc\xf1\x41\xfe\x3c\x64\x40\x86\x60\xb9\x30\x70\x8e\
+\x03\xb1\x11\x52\xdf\xed\xe4\x6d\xf3\x1d\xb0\x6c\xa0\xc2\x5f\x4c\
+\x29\x0d\x49\x0b\x66\xbf\x66\x5b\xdf\x49\x0e\xef\x79\x9c\xdf\x06\
+\x5b\xf9\x47\x3a\x05\xd2\x44\xa2\xbc\xd4\x36\xcb\xad\xc1\xbe\x65\
+\x6b\x7f\xd9\x61\xb4\x6c\x6a\xcb\xb2\x41\x2b\x08\x03\x08\x0a\xa0\
+\x02\xec\x20\xcb\xcc\xcd\x7e\x8e\x9f\xfa\x00\x0a\x85\xe2\x75\x1d\
+\x14\x4f\x15\xf0\xa3\x0d\x0d\x74\x78\x12\xfc\x3c\x68\x45\xda\x9f\
+\xe2\xa3\xbf\x9f\x63\x9d\x9e\x67\xcf\xe6\x46\x28\xf8\xa0\x0a\x10\
+\x06\x04\x7e\x1e\x69\x59\x75\x65\x75\xbb\xee\x24\x66\x0c\x84\x86\
+\x8e\xe6\x38\xeb\x1a\x5c\x86\x82\x1d\x0c\x6e\x5c\xcf\x84\x72\xf8\
+\x5e\x6b\x12\xcf\xb5\xb9\xf4\xe5\x5c\xd1\x06\x02\xc6\xb3\x01\xad\
+\x0d\x2e\x2d\x9e\xcb\x4c\xce\xe5\xc2\xb6\x9f\x72\x21\x97\x65\x4b\
+\xac\x19\x99\xf7\x79\xfc\xc1\x34\x52\xc0\x85\x31\x9f\x42\xa1\x10\
+\x45\xac\x55\x57\xa3\xb5\x16\x10\x42\x80\x31\x84\xa1\xc1\x72\x2c\
+\x8e\x7c\xbf\x9d\xde\x4b\x5f\xf0\xb3\x47\xda\x79\xc0\x34\xf3\x97\
+\x5b\x73\x74\x6d\x7f\x00\x6d\xa0\x39\x66\x71\xfa\xc6\xd7\xe0\x48\
+\x32\x09\x87\x56\xcf\x61\x22\xa7\x50\xda\x81\x64\x33\x24\x52\x24\
+\x13\x71\xda\x93\x2e\xf9\x40\x33\x1f\x84\x20\x04\x41\x10\x14\xfd\
+\x66\x09\x3f\x5c\x95\x05\x8c\x31\x98\x12\xb7\xb5\xd2\xfc\x75\x78\
+\x9a\x2d\x99\x04\x99\x74\x1c\x19\xba\xe4\x9d\x22\xdd\x6f\xcd\xfa\
+\xdc\x99\x2b\x80\x14\x60\x20\xa7\x42\xe6\x83\x10\x5b\x42\x60\x80\
+\x44\x0a\x4c\xc8\x94\x12\x48\x40\x1b\xc8\xaa\x10\x42\x83\xd6\x8a\
+\x50\xeb\xb5\x6f\x68\x2a\x41\x68\x63\x40\x08\xee\xcc\x16\x68\xf3\
+\x5c\x92\xb6\x24\x67\x1c\x32\x5e\x9c\x19\x5f\xf3\xd6\xe5\x2f\xb9\
+\x3e\x3e\x5f\xbc\xb3\x31\x3c\x94\x76\x79\xd0\x73\x98\x29\x68\xa6\
+\x72\x01\x48\x1b\xa4\x43\x6b\x83\xcd\x7a\xcf\x61\x2c\x1b\xf0\x55\
+\x2e\x00\x0c\x4a\xe9\x05\x16\x58\x15\x85\x16\xd6\xec\x10\xb7\x04\
+\x49\xd7\x22\x0f\x7c\x30\x34\xc5\x64\x5e\xb1\xa5\x29\x4e\x56\x69\
+\xde\xee\xff\x8a\x64\xbc\xfa\x96\x67\x46\x67\x01\xc3\xb4\xaf\x31\
+\x06\x92\x09\x1b\x0c\x0c\x4e\xf9\x0c\x4d\xfb\x7c\x9d\x57\x48\x21\
+\x48\xc6\x62\xd8\x81\x41\x97\xf2\xc6\x72\xe8\x53\xb7\x13\x67\x03\
+\xc5\xe1\xc7\xd6\xf3\x9b\xbd\xed\x14\x94\x46\x0a\x81\x00\x94\x31\
+\x38\x96\x45\xb2\xc1\x26\x0c\x21\x97\x2b\x44\xbf\x09\x4d\x51\x90\
+\x44\xdc\xc1\xb1\x20\x04\x7c\x3f\x24\x50\x0a\x63\x8a\x4c\x03\x10\
+\x52\x72\xfe\x6f\x63\x7c\xde\x77\x63\xed\x2d\x50\x76\xe2\x30\x34\
+\x78\xb6\xa0\x25\x61\x43\x58\xa1\x1d\x69\x31\x37\x33\xcd\xbb\x6f\
+\xbd\xcb\x96\xce\x4e\x9e\x7c\xfa\x69\x08\xc3\x62\xc4\x2a\xe5\x85\
+\x8b\x9f\x5d\xa0\xbf\xbf\x9f\x54\x3a\xcd\x93\x4f\x3c\xc1\xfa\x07\
+\x5a\x20\xd4\x55\xf7\x48\x48\x22\x0b\xac\x49\x26\x5e\xd0\x45\x61\
+\x50\x5a\x63\x8c\xa1\x10\x28\x8c\x31\xb8\xae\x0b\x61\xc8\x91\x5f\
+\xfd\x9a\x9e\x9e\x1e\xf6\xef\xdf\xcf\x93\x4f\xff\x10\x3f\x50\x38\
+\x8e\xc3\x3f\x07\x06\x38\x7c\xf8\x30\x7d\x7d\x7d\x4c\x4f\x4f\xe3\
+\x38\x0e\x1b\x36\x6c\xe0\xc8\x91\x23\x74\x77\x77\x47\xdd\x5e\x2c\
+\x66\x11\x28\x8d\x09\xcd\x92\x8d\x52\xdd\x4e\x5c\x59\x06\x47\x4e\
+\xac\x35\x4a\x29\x94\x52\xd8\xb6\xcd\xe4\xe4\x24\x2f\xbf\xfc\x32\
+\xa7\x4e\x9d\xa2\xb5\xb5\x95\x78\x3c\x1e\x95\x11\x4a\x29\x5e\x7d\
+\xf5\x55\x3e\xfd\xf4\x53\x36\x6d\xda\xc4\xd1\xa3\x47\x79\xee\xb9\
+\xe7\x98\x9a\x9a\xe2\xb5\xd7\x5e\x63\x60\x60\x00\x29\x25\x4a\xa9\
+\xa8\xb6\x32\x26\x5c\x56\x63\xb4\x9c\xa9\xc4\x42\x30\x61\x51\x30\
+\xad\x8b\xda\x3d\x7f\xfe\x3c\x87\x0e\x1d\x62\x64\x64\x84\x96\x96\
+\x16\xa6\xa7\xa7\x31\xc6\xa0\x54\xd1\x3a\xe3\xe3\xe3\x0c\x0f\x0f\
+\x63\x59\x16\xaf\xbc\xf2\x0a\x5d\x5d\x5d\x4c\x4c\x4c\xb0\x77\xef\
+\x5e\x86\x86\x86\xb8\x7a\xf5\x2a\x5b\xb7\x6e\x45\x6b\x8d\xd6\xba\
+\x94\x07\x16\x56\xbc\xf7\xb2\x84\x5d\x6f\x33\x53\xb4\x80\x26\x16\
+\xb3\xb9\x72\xe5\x0a\x37\x6f\xde\xe4\xc5\x17\x5f\xc4\xf7\x7d\x7a\
+\x7b\x7b\xa3\xef\xf8\xbe\x4f\x2c\x16\xe3\xc4\x89\x13\x4c\x4c\x4c\
+\xb0\x79\xf3\x66\xe6\xe7\xe7\xf1\x7d\x3f\xba\x7f\x3c\x1e\x27\x08\
+\x02\xb4\xd6\x14\x0a\x05\x66\x67\x66\xa0\x64\xf1\x4a\xa1\xef\x55\
+\x52\xcb\xfb\x01\xa8\xca\x03\xdc\xa5\x46\x36\x9b\x65\xfb\xf6\xed\
+\x9c\x3c\x79\x92\xa3\x47\x8f\x12\x8b\xc5\x22\x1a\x94\x29\x06\xd0\
+\xd2\xd2\xc2\x8e\x1d\x3b\x70\x5d\x17\xdb\xb6\x79\xe7\x9d\x77\x18\
+\x19\x19\xa1\xb5\xb5\x95\xad\x5b\xb7\x92\xcb\xe5\x22\xc0\x53\xd3\
+\xd3\x51\xb2\xac\x54\xdc\xbd\x00\xd4\x97\x89\x43\x83\xd6\x61\xa4\
+\xb1\x47\x1f\x7d\x14\x29\x25\xb3\xb3\xb3\x28\xa5\xa2\x0e\xab\x4c\
+\x89\x72\xcb\x29\x84\x20\x99\x4c\x72\xfc\xf8\x71\x5e\x7f\xfd\x75\
+\xb4\xd6\xbc\xf0\xc2\x0b\xb4\xb5\xb5\x91\xcd\x66\x11\x42\x50\x28\
+\x14\x4a\xbe\x60\xd6\x2e\x8c\x96\xb3\x62\x14\x46\x4d\x48\x58\x72\
+\x62\xad\x35\xb9\x5c\x0e\x00\xcf\xf3\xaa\x80\x56\x5a\x40\x08\x81\
+\xe7\x79\xf4\xf4\xf4\x70\xec\xd8\x31\x0a\x85\x02\x07\x0e\x1c\xe0\
+\xf9\xe7\x9f\x67\x6e\x6e\x8e\x30\x0c\xb1\x6d\x9b\x99\x99\x99\xa8\
+\xde\xaa\xd4\xfe\xfd\x32\xf3\x92\x00\x1c\xc7\x59\x74\xb2\xa0\xc3\
+\xb0\x4a\xc3\x00\x5a\xeb\x2a\xb0\x95\x9f\x7b\x9e\xc7\x9b\x6f\xbe\
+\xc9\xb1\x63\xc7\x10\x42\x70\xe8\xd0\x21\x0e\x1e\x3c\x48\x3e\x9f\
+\x8f\xac\xe3\x38\x0e\x77\x6e\xdf\xc6\xb1\x1d\x42\xb3\x30\x0f\x94\
+\x65\x59\x55\x1e\xb8\xab\x11\xbd\x00\x40\x39\xea\x94\x29\x54\xb6\
+\x50\x22\x91\xe0\xfd\xf7\xdf\xe7\x8d\x37\xde\x40\x4a\x49\x77\x77\
+\x37\xdd\xdd\xdd\xdc\xbe\x7d\x1b\x63\x0c\xe9\x74\x9a\x54\x2a\x45\
+\x2e\x9b\x65\x6e\x2e\x4b\x83\x97\x8c\x7a\xa1\xe5\x4e\xcd\x97\xe5\
+\x03\xd1\xcd\xa2\xf8\xae\x23\x8a\x54\x5a\xa0\x32\xfe\x1b\x63\x98\
+\x9c\x9c\xa4\xb7\xb7\x17\x29\x25\xae\xeb\xf2\xc9\x27\x9f\xf0\xf1\
+\xc7\x1f\xd3\xd4\xd4\xc4\xc3\x0f\x3f\xcc\xfe\xfd\xfb\xe9\xe8\xe8\
+\xe0\x6c\xff\x00\x96\xe5\x10\x8b\xb9\x20\x58\x9b\x4c\x5c\xdb\x8d\
+\x95\xdf\x87\xba\x98\x07\x6a\x2d\x50\x4b\x21\xcb\xb2\xb8\x78\xf1\
+\x22\xa3\xa3\xa3\xc4\x62\xb1\x62\x2d\x95\xcd\xd2\xd9\xd9\xc9\xae\
+\x5d\xbb\xd8\xb5\x6b\x17\xdb\xb6\x6d\x23\x97\xcb\x71\x6b\xe4\x16\
+\x1d\x1d\x9b\x99\x9f\x9f\x5d\x74\xf2\xb1\xa2\x3c\xb0\x78\x29\x01\
+\xa1\x09\x23\x8a\x94\x8f\xb9\xb9\x39\xba\xba\xba\xd8\xbd\x7b\x37\
+\xa9\x54\x2a\x8a\x2c\x9d\x9d\x9d\xf4\xf4\xf4\x20\xa5\xc4\x71\x1c\
+\x1a\x1b\x1b\xc9\x64\x32\x64\x32\x19\x1a\x1b\x1b\x99\x9d\x9d\xe5\
+\xfc\xb9\x73\x24\x1a\x3c\x52\xe9\x14\xae\xe3\xd4\xd5\x8d\xd5\xef\
+\x03\x86\x28\xd6\xeb\x28\x3a\x18\x30\xd0\xd4\xd4\x44\x26\x93\x89\
+\x28\x04\x90\x4a\xa5\xc8\x64\x32\x34\x34\x34\x90\x4c\x26\x49\xa7\
+\xd3\x58\x96\x45\x3e\x9f\xe7\xb3\x0b\x17\xb8\x71\x63\x10\xcf\x4b\
+\xd1\xda\xda\x4a\x83\xe7\x61\x3b\xee\x02\x8b\xaf\x99\x0f\xdc\x9d\
+\x4a\x17\x6b\x17\xad\xaa\xc7\xf5\x65\x8b\xd4\x46\x2d\xc7\x76\x10\
+\x08\x94\x52\x8c\x8e\x8e\x32\xf1\xd5\x04\x77\xee\xdc\x41\xeb\x90\
+\x8d\x1b\x37\x91\x4e\xa7\xf1\x92\x49\x32\xeb\x32\x24\x12\x89\xa8\
+\x23\x5b\xb5\x13\x97\x05\xae\x6e\x68\x34\x57\x2e\x5f\xc6\x75\x63\
+\x84\x51\x29\x7c\x37\x76\x87\x26\x44\x97\x1c\x3c\x08\x0a\x04\x81\
+\x42\xa9\x20\x2a\x00\x03\x15\xe0\xd8\x0e\x9e\xe7\xe1\xc6\x62\x0c\
+\x0e\x0e\xe2\xba\x2e\x8e\xe3\x90\x48\x24\x18\x1f\x1b\x47\x5a\xd6\
+\x7d\xc7\xf7\x2b\x6e\x68\xda\xdb\xdb\xe9\xfd\xc3\x71\xa6\xa6\xa6\
+\xb0\x2d\x0b\xc7\x75\x71\x5c\x17\xd7\x75\x70\x6c\x07\xdb\xb1\xb1\
+\x6d\x27\x1a\x17\x22\x8a\x4e\xaf\x74\xd1\x62\x45\x60\x0a\x15\x04\
+\x04\xaa\xb4\x96\x6a\x21\x63\x0c\x99\x4c\x86\x9f\xff\xf2\x17\x6b\
+\x63\x81\x5a\xed\x0b\x21\xd8\xfb\xec\xb3\xe8\x92\x0f\x88\x52\x8d\
+\x22\xa4\x2c\x76\x66\x42\x20\x2d\xab\x6a\x2c\x28\x10\xd1\x94\x8e\
+\xda\x5d\x19\x53\x71\xbd\xf4\x0c\xd7\x71\x79\xea\xa9\xa7\x96\x35\
+\x58\x5e\x11\x85\x76\xee\xdc\xc9\xce\x9d\x3b\x97\xb5\xb5\xb4\xd2\
+\xd7\xcb\xd9\x01\xaa\x6b\x2a\xb1\x54\x73\x51\xcf\x0e\xcd\x4a\xee\
+\xb1\x5c\x0a\xad\x78\x8b\xe9\xbf\x01\x62\x2d\x26\x73\xa2\x8a\xd3\
+\x75\xec\x4e\xae\x86\x42\xb5\x32\xac\x38\x8c\x86\xa5\xca\xb3\xb2\
+\xa4\x5d\xea\xa1\x95\x3e\x73\xbf\xd7\x95\xfc\x5e\xcc\xdf\xa2\xb2\
+\xa5\x1c\x30\x56\x12\x46\x7d\xdf\x57\xf9\x7c\xbe\xed\xcc\x99\x33\
+\xa3\xff\xe3\x8d\xfa\x36\xdf\xf7\xd5\x92\x8a\xfe\xf6\xcf\x1e\xdf\
+\x02\x58\xdd\xf1\xef\x01\x00\xe7\xd7\xca\x8c\x43\x4f\x3e\xb3\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0f\xd3\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xd9\x04\xdc\xb2\xda\x02\
+\x00\x00\x0f\x8a\x49\x44\x41\x54\x78\x9c\xed\x99\x59\x8c\x5c\xc7\
+\x75\x86\xbf\xaa\xbb\xf4\xbd\xb7\xf7\x9e\xe9\x59\x34\x1b\x77\x93\
+\x22\x2d\x71\x31\x19\xd1\x92\xe0\x35\x81\x0d\x59\x0a\x04\x38\x36\
+\x02\x23\x32\x84\x20\x88\xec\x07\xc3\x10\xac\x07\x07\x31\x84\x00\
+\x01\x0c\xbd\x50\x06\x12\x06\x06\x11\x04\x08\x20\x01\x4c\x9c\x38\
+\x04\x44\x89\x08\x1c\xda\x5a\x22\x52\x0b\x68\x52\x63\x6e\x23\x72\
+\x24\x4a\x9c\x21\x67\x48\xce\xf4\xf4\xf4\x7a\x97\xaa\xca\xc3\xed\
+\x19\x49\xb4\xe4\xc8\x76\x9c\x3c\x44\x67\x70\x30\xb7\x6f\x77\xdf\
+\xfa\xff\x53\xa7\x4e\xfd\xa7\x1a\x3e\xb2\x8f\xec\xff\xb7\x89\xdf\
+\xf6\x01\x8f\x3e\xfa\xa8\xdc\xbb\x77\xef\x88\x6d\xdb\x1b\x5c\xd7\
+\x1d\x75\x5d\x77\x2c\x93\xc9\x0c\x08\x21\x7c\x21\x84\x31\xc6\x08\
+\xa5\x54\x17\xb8\x3e\x39\x39\x39\xe3\x79\xde\xe5\x6e\xb7\x3b\xfd\
+\xe0\x83\x0f\x5e\x06\xd4\xff\x29\x81\x23\x47\x8e\x0c\x67\x32\x99\
+\x9d\x9e\xe7\xdd\x9e\xcd\x66\x6f\xf7\x7d\x7f\xcc\xf3\xbc\x7e\xcf\
+\xf3\x8a\x52\x4a\x57\x4a\x69\xb4\xd6\x42\x6b\x1d\xc7\x71\x5c\x9f\
+\x9b\x9b\x5b\xd0\x5a\xcf\x2c\x2c\x2c\x4c\xfe\xec\x67\x3f\x7b\x6d\
+\x66\x66\xe6\xc4\x93\x4f\x3e\x39\xf3\xbf\x4a\xe0\xc8\x91\x23\x6b\
+\x7c\xdf\xbf\xaf\x52\xa9\xdc\x5b\xa9\x54\x76\x97\xcb\xe5\x62\x10\
+\x04\xbf\xf6\xc0\xc6\x18\xde\x7a\xeb\xad\xc6\xec\xec\xec\x89\xe3\
+\xc7\x8f\x1f\x3e\x78\xf0\xe0\xa1\x13\x27\x4e\x4c\xff\xba\xcf\xf9\
+\xd0\x04\x1e\x7d\xf4\xd1\x3d\x5f\xfc\xe2\x17\xbf\x51\xad\x56\xef\
+\x1f\x1c\x1c\x2c\x66\xb3\xd9\xd5\xf7\x9a\xcd\x26\xf3\xf3\xf3\xcc\
+\xce\xce\x72\xe3\xfa\x75\x96\xea\x75\xa2\x30\x64\xb9\xd1\xa0\x50\
+\x28\xe0\xba\x2e\x85\x42\x81\xbe\xbe\x3e\x6e\xb9\xe5\x16\x86\x86\
+\x86\x28\x16\x8b\x37\x93\x69\xbe\xf4\xd2\x4b\x87\x9f\x78\xe2\x89\
+\xbf\x7b\xfa\xe9\xa7\x5f\xf8\x1f\x23\xf0\xc4\x13\x4f\x4c\x8c\x8e\
+\x8e\x7e\x6f\x64\x64\xe4\x81\xa1\xa1\x21\xc7\xf7\x7d\xa4\x94\xd4\
+\x6a\x35\xa6\xce\x9f\xe7\xec\xb9\xb3\x5c\x99\xbd\x42\xb3\xd5\x42\
+\x4a\x89\x90\x92\x4c\xc6\xc3\xb2\x6d\x6c\xdb\xc2\xb6\x6d\x2c\x29\
+\xd1\x5a\x23\x80\x24\x49\xb0\x6d\x8b\x72\xa9\xcc\xda\x75\xeb\xd8\
+\xb2\x65\x0b\xd5\x6a\x15\x21\x04\x49\x92\x70\xe3\xc6\x0d\x7d\xf8\
+\xf0\xe1\x83\xfb\xf6\xed\xfb\xab\xf3\xe7\xcf\xbf\xfe\x5b\x11\x38\
+\x78\xf0\xe0\x03\x6b\xd6\xac\x79\x6c\xfd\xfa\xf5\x43\x2b\xc0\x17\
+\x16\x16\x38\x71\xe2\x04\x67\xcf\x9e\xa1\xd9\x6a\x13\xe4\xf2\x14\
+\x2b\x15\x0a\xa5\x32\xf9\x5c\x9e\x20\x1b\xe0\xfb\x01\x71\x14\xd2\
+\x58\xae\x33\x36\x31\x81\x4e\x14\xda\x18\x74\x92\xa0\x54\x42\x1c\
+\x46\x34\x1b\x75\x6a\x0b\x8b\x74\xda\x2d\xaa\x03\x55\xb6\x6f\xdf\
+\xc1\xf0\xf0\x30\x5a\x6b\x8c\x31\x5c\xba\x74\xa9\xf6\xc3\x1f\xfe\
+\xf0\x7b\xfb\xf7\xef\xdf\xff\x9b\x10\x90\xfb\xf7\xef\x7f\xfc\x9e\
+\x7b\xee\xf9\x56\x2e\x97\x43\x08\x81\xd2\x9a\xc9\x53\xa7\x78\xf5\
+\xd5\x57\x09\x95\xa6\x6f\x60\x88\x81\xe1\x5b\xa8\x56\xab\x54\xfb\
+\x2a\x94\x0a\x05\xb2\x81\x8f\xe7\x3a\x38\xb6\x4d\x37\x0c\x69\x36\
+\x1a\x0c\x0c\x54\xd1\xda\xa0\xb4\x26\x4e\x12\xc2\x30\xa2\x13\x86\
+\x74\xbb\x29\x41\xad\x14\xd7\xe7\xe7\x98\xbb\x7a\x85\xa1\xa1\x41\
+\x6e\xbf\x7d\x3b\x9e\xe7\x61\x8c\xa1\xd1\x68\x70\xe8\xd0\xa1\x7f\
+\xf8\xf6\xb7\xbf\xfd\x2d\xa0\xf5\x61\x09\x38\xfb\xf6\xed\xfb\xfb\
+\x2f\x7f\xf9\xcb\x0f\xd8\xb6\x8d\x10\x82\x66\xb3\xc9\x0b\x2f\x3c\
+\xcf\xcc\x95\x79\xaa\xa3\xe3\x8c\x8e\xad\x61\x6c\x64\x98\xa1\x6a\
+\x3f\xc5\x5c\x80\x65\xdb\x80\xc1\x68\x83\x31\x06\x83\x41\x2b\x83\
+\x31\x1a\xdb\xb6\x91\x42\x20\xa4\x40\x0a\x81\xec\x8d\xd8\x6c\xb5\
+\x98\xbe\x78\x11\xcb\xcd\x50\x2c\xf7\xd3\x6a\x2e\x73\x69\xfa\x22\
+\x4b\xb5\x45\x6e\xbb\xed\x36\x2a\x95\x0a\xc6\x18\x94\x52\x1c\x3d\
+\x7a\xf4\xf0\x23\x8f\x3c\xf2\xc7\xd7\xaf\x5f\x6f\xde\x0c\xd6\xba\
+\xf9\xc6\xbe\x7d\xfb\x0e\xdc\x7f\xff\xfd\x0f\x1a\x63\xd0\x5a\x53\
+\xab\x2d\x72\xf4\xe8\x51\xda\x09\x6c\xda\xb6\x93\xdb\xb6\x6d\xe3\
+\xd6\x8d\xeb\x18\x1e\xa8\xe0\x58\x36\x51\x92\x10\x45\x09\x89\x52\
+\x68\x6d\x40\x08\x04\x02\xcb\x92\x58\xb6\x8d\x40\x00\x22\x4d\x21\
+\x63\x00\xc1\xb9\x73\xe7\x38\x7f\xf6\x0c\x02\x28\x97\xcb\x0c\x54\
+\xab\xb8\x19\x9f\xfe\x81\x41\xb2\xb9\x1c\xe7\xcf\x9e\x41\x4a\x89\
+\xe7\x79\x68\xad\x19\x1b\x1b\xdb\x34\x3e\x3e\xbe\xf9\xe9\xa7\x9f\
+\xfe\x37\x40\x7f\x20\x81\x87\x1f\x7e\xf8\x1b\x5f\xfb\xda\xd7\xbe\
+\x17\xc7\x31\x4a\x29\x5a\xcd\x26\xc7\x5f\x7a\x19\x27\xd7\xcf\x96\
+\x8f\xef\xe0\xd6\x8d\xeb\x18\xaa\x56\x30\x06\xda\xed\x88\x38\x51\
+\x08\x29\xb0\x2d\x0b\xc7\xb6\xb1\x6d\x1b\xdb\xb2\xb0\x2c\x89\x94\
+\x02\x4b\x08\xa4\x25\xd2\x6b\x29\x70\xa4\xe0\xf4\xe9\xd3\xbc\xfc\
+\xd2\x71\xa6\xa6\xa6\x58\x58\xac\x63\xdb\x3e\x23\x23\xc3\x94\xf2\
+\x01\xd2\xb2\xf0\x82\x3c\x7d\xd5\x2a\x17\x2e\x4c\x61\x49\x89\xe3\
+\x38\x18\x63\x18\x1f\x1f\xdf\x22\x84\xd0\xaf\xbe\xfa\xea\xb3\xef\
+\x4b\x60\xcf\x9e\x3d\x6b\x1f\x79\xe4\x91\x7f\x06\x3c\xa5\x14\x2a\
+\x49\x38\x73\xf6\x1c\x6e\x71\x80\x8d\x9b\xb6\xb0\x66\x64\x08\xcf\
+\x75\x68\xb4\x42\xe2\x44\x61\x59\x12\xc7\xb1\x71\x6c\x0b\xcb\xb2\
+\xb0\x2d\x89\x25\x57\xc0\x82\x10\x20\x05\xbd\xf8\xa7\x7e\xea\xb5\
+\x49\x8e\x1f\x7b\x91\xd9\xd9\x59\xfc\x20\xcf\x2d\xa3\x6b\xd9\xb4\
+\x69\x23\x95\xbe\x0a\x89\xd2\xb8\x8e\x8d\x6d\x49\x1c\xd7\xa3\xaf\
+\xbf\xca\x5b\x6f\x4e\x93\xc9\x64\xd2\x99\x05\x36\x6f\xde\x7c\xc7\
+\xc9\x93\x27\x8f\x5e\xbd\x7a\x75\x75\xf3\x93\x2b\x17\x5f\xff\xfa\
+\xd7\xff\xc2\xf7\xfd\x52\xb7\xdb\x25\x8e\x63\xae\x5c\xbd\x8a\xf4\
+\x8b\xac\x59\xbb\x91\xc1\xfe\x12\x4a\x69\x6a\xcb\x6d\x94\xd6\x58\
+\x96\xec\x01\x96\x48\x4b\x62\xbd\x2b\xca\xef\x06\xfd\x6e\x3b\x79\
+\xf2\x24\xff\xf9\xc2\x73\x4c\x4f\x4f\xe3\xba\x01\xe3\x13\x1b\xd9\
+\xb5\x73\x3b\x1b\x37\xae\xc1\x18\x43\xa2\x35\xdd\x30\x46\x0a\x41\
+\xc6\xb1\x29\x95\xcb\x78\x85\x3e\x66\x67\x67\x49\x92\x98\x6e\xb7\
+\x4b\x10\x04\xde\x03\x0f\x3c\xf0\x97\xef\x0e\xbc\x04\xd8\xb0\x61\
+\xc3\xe8\x8e\x1d\x3b\xfe\xa8\xd9\x6c\x12\xc7\x31\xdd\x4e\x87\x4e\
+\xac\x19\x1e\x5d\x47\x21\xe7\x13\xc7\x8a\x46\xab\x03\xc2\xe0\xd8\
+\x16\xd9\x20\x8b\xef\xfb\x38\xbd\x1a\x2f\x45\x9a\x32\x42\xbc\x7f\
+\x55\x78\xf1\xd8\x31\x9e\x7b\xee\x39\xa6\xa6\xa6\xc8\x64\x02\xd6\
+\xaf\xdf\xc2\xde\xbd\x9f\x60\xc3\xfa\x31\x92\x24\x4d\x69\x01\x18\
+\x03\x61\xa4\xb0\xa4\xa4\xbe\xdc\xc2\xd8\x39\x62\x63\xd3\x6e\xb7\
+\x08\xc3\x90\x56\xab\xc5\xae\x5d\xbb\xfe\x60\xc3\x86\x0d\xbb\xdf\
+\x43\xe0\xae\xbb\xee\xfa\x42\x10\x04\xc5\x6e\xb7\x8b\x52\x8a\x4e\
+\xb7\x4b\xb6\x50\x25\xf0\x3d\xb4\x32\xb4\xda\x5d\x64\x2f\xd7\x8d\
+\xd1\xbc\x7c\xfc\x45\x26\x5f\x3b\x45\xb3\xd9\xc4\xb2\x2c\x5c\x5b\
+\x60\xbd\x0f\xf8\x38\x8e\xf9\xe9\x4f\x7f\xca\xb1\x17\x5f\xe4\xcc\
+\x99\xd3\xb8\x6e\x96\x2d\x5b\xb6\x73\xe7\x5d\xbb\x19\x1f\x1b\x26\
+\xd1\xa4\x8b\x5e\x80\xa0\xf7\x5f\xc0\xc2\x52\x83\x5a\xbd\x85\xef\
+\x65\xc8\x95\xaa\x74\xba\x21\x4a\xa9\x95\x59\x70\x3e\xf7\xb9\xcf\
+\xdd\xbb\x32\x86\x0d\x70\xf7\xdd\x77\xdf\xd9\x6a\xb5\x88\xa2\x08\
+\x4b\x4a\x84\xe5\x90\x2b\x96\x71\x33\x2e\x51\x14\x81\x10\x48\x21\
+\xc9\x66\xb3\xfc\xfb\x33\x4f\xf1\xd0\x9f\xfe\x09\x6b\xd6\xae\x65\
+\xdb\xb6\x8f\xb3\x7d\xc7\x4e\xb6\x6e\xbd\x95\x8d\x1b\x36\x30\x34\
+\x34\x44\xa5\x52\xc1\xb2\x2c\xb4\xd6\x4c\x4f\x4f\x73\xf2\xe4\x49\
+\x26\x5f\x3b\x45\xff\xc0\x08\xbb\x77\xdf\xc9\xa7\x3e\x75\x07\xc3\
+\xc3\x03\x98\x14\x3b\x42\x80\xe9\xcd\x81\x10\x82\x56\xbb\xcb\xdc\
+\x8d\x3a\x42\x4a\x7c\xcf\x43\xeb\x22\x9d\xa4\x85\x56\x09\x51\x94\
+\xa6\xd2\xc6\x8d\x1b\xf7\x00\x1e\xd0\xb5\x01\x27\x97\xcb\xad\x0f\
+\xc3\x10\x63\x0c\xda\x68\x5c\xaf\xc0\x9b\x6f\xbe\xc1\xe2\x8d\x79\
+\xfa\xab\x83\x6c\xde\xbc\x05\xd1\x5b\x2d\x42\x58\x8c\x8c\xad\x65\
+\x6e\xfe\x3a\x6f\xbf\xfd\x0c\xcf\x3f\xff\x1c\x23\x23\x23\xac\x5b\
+\xb7\x8e\xcd\x9b\xb7\xb0\x61\xc3\x06\x36\x6d\xda\xc4\xf8\xf8\x38\
+\xd5\x6a\x95\x35\x6b\x26\x98\x9a\x7a\x83\x4f\xec\xda\xcb\x67\x3e\
+\xfb\x49\x06\x07\xfa\x7f\x29\xc5\xd2\xe8\x6b\x9a\xed\x90\xc5\x7a\
+\x0b\xad\x35\x93\x27\x7f\x4e\xb7\xd3\x61\x7c\xed\x7a\x4a\xd9\x3c\
+\x71\xbb\x86\xd6\x9a\x4e\xa7\xc3\xf0\xf0\xf0\x18\x50\x01\xae\xd8\
+\x80\x2d\x84\xc8\x68\xad\x11\x22\xad\xda\x96\xed\x90\xc4\x11\x9d\
+\x4e\x87\x24\x4e\x56\x6b\x79\x1c\x45\x6c\xdd\xfa\x71\xfe\xfa\xfb\
+\x8f\x33\x7f\xf5\x2a\x97\x2e\xbd\xc9\xe5\xb7\x2e\x71\x75\x6e\x86\
+\x8b\x17\x2f\x71\xe1\xf5\x69\xfc\xc0\x63\xcf\x9e\xdd\x7c\xe7\x3b\
+\x8f\xb0\xbc\x5c\x67\x64\x64\x9c\xbb\xef\xfe\x0c\x9f\xff\xfc\xdd\
+\x1f\x08\x5e\x99\x14\x7c\xb3\xd5\x4d\xab\x97\x84\x28\x8a\xe8\x74\
+\xda\x28\xa5\xb0\xec\x80\xb8\xf7\xf9\x28\x8a\xf0\x7d\x3f\x93\xcf\
+\xe7\xf3\x8d\x46\x03\x1b\x10\x52\x4a\xa4\x94\xbd\x08\x4b\x8c\xd1\
+\x7c\x6c\xf3\x56\xb6\x6f\xdf\x49\xba\x27\x24\x38\xb6\x8b\x52\x8a\
+\x91\xd1\x5b\x18\x1b\x1f\x21\x8e\x22\xda\xad\x36\xb5\xc5\x1a\xd7\
+\xe6\xaf\x33\x3b\x7b\x85\x99\xcb\x33\x5c\xba\xf4\x06\x5a\xbb\xfc\
+\xe2\x17\xbf\xe0\xfc\xf9\xf3\xec\xda\xb5\x9b\x2f\x7d\xe9\xf7\x29\
+\x97\x8b\xbf\x04\x1e\x20\x4e\x12\xda\x9d\x90\x30\x4e\x56\xd3\x49\
+\x08\xc9\x27\xef\xbc\x0b\xad\x0d\x9d\x6e\x88\x0e\x1b\x08\x21\x7a\
+\xf8\x04\x52\x4a\x8c\x31\xd6\xea\x1a\x70\x5d\x77\xe5\x26\x08\x10\
+\x18\xe2\x24\x41\x86\x86\x8c\xeb\x90\x28\x85\xe9\xfd\x69\xad\x71\
+\x1c\x87\xa0\x98\x67\x60\xa0\x8f\x4d\x1b\xc6\x7a\x2a\x53\xd1\x6c\
+\xb6\x98\xbf\x76\x83\xf9\xb9\xeb\x74\xbb\x6d\xc6\xc7\xd7\xb0\x63\
+\xc7\xed\xef\x0b\x5e\x6b\x43\x14\x2b\xa2\x28\x41\x6b\xb3\x5a\x85\
+\x8c\x36\x48\x29\x90\xc2\xd0\xee\x76\x51\xda\x20\xd1\xbd\xf7\x0d\
+\x8e\xe3\xa0\xf5\x3b\x9b\xb1\x0d\xe0\xfb\x3e\x9e\xe7\xd1\xe9\x74\
+\x10\x08\xa4\x51\x68\xd2\x01\xb2\x7e\x86\x8c\xeb\x10\xab\x74\xa0\
+\x54\x9f\x68\x92\x44\x21\x88\xd0\xb6\x85\x63\x49\x6c\xdb\xa2\x54\
+\x2a\x50\x2a\x15\xf8\xd8\xa6\x75\xef\x1b\xed\x15\x4b\x34\x24\x89\
+\x41\xa9\x77\xb4\xd3\x8a\x74\x11\x02\x72\xbe\x47\xbb\x1b\x92\xa8\
+\xf4\xb5\x30\x49\xba\xda\x7b\xc1\x36\xc6\xac\x3e\x4b\xf6\x6e\x8a\
+\x42\xa1\xd0\x9b\x01\x81\x14\x1a\x8b\x04\x6d\x0c\xed\x6e\x88\xe7\
+\x3a\xe4\x03\x3f\x8d\xb4\xd2\x68\x6d\x56\xdd\x18\x83\x32\x06\x65\
+\x56\xaa\xc9\x07\x9b\x01\xb4\xa1\xf7\x5d\x8d\x36\x3a\xd5\x48\xda\
+\x90\xa8\x74\x77\x2f\xe4\x7c\x2c\x29\x68\x77\x42\x00\x2c\x12\x24\
+\x1a\x10\x18\x63\xc8\xe5\x72\xd8\xb6\x2d\x8c\x31\x62\x85\x80\x92\
+\x52\x76\xca\xe5\xf2\xaa\xee\x10\x08\x3c\x4b\x61\x09\xe8\x84\x31\
+\x8d\x56\x07\xcf\x75\x29\xe4\x03\x1c\x27\x2d\x91\x89\xd6\x29\x88\
+\x1e\x21\xa5\x4d\x9a\x02\xbf\x02\xbc\x31\xa0\x56\xc8\x1b\x8d\xd2\
+\x9a\x44\x69\x8c\x36\x78\xae\x4b\x3e\xd7\x6b\x96\x1a\xed\x54\x67\
+\x09\x70\x45\xb2\x12\x7c\x6c\xdb\xa6\x54\x2a\x51\xab\xd5\xa2\x38\
+\x8e\x63\x48\x8b\x63\x78\xfe\xfc\xf9\x37\xf2\xf9\x3c\xfd\xfd\xfd\
+\x24\x49\x82\x90\x12\x47\x42\xd6\x4d\xd5\x63\xbd\xd9\xa6\xb6\xdc\
+\xc4\x92\x92\x42\x2e\x20\x1b\x78\xd8\x52\xac\x02\x50\x89\x42\x2b\
+\x4d\xa2\x0c\x5a\xa7\x51\x36\xbc\xe3\xba\x17\xf9\x44\x1b\x92\x44\
+\x93\x28\x95\xce\xa4\x01\xd7\xb6\xc8\x65\x3d\x72\x41\x06\xa3\x61\
+\x61\xa9\x49\xbb\x13\x01\x82\xc0\x31\x38\x52\x23\x84\x24\x8e\x63\
+\xca\xe5\x32\xbe\xef\x33\x33\x33\x73\x35\x8a\xa2\xce\x6a\x0a\x1d\
+\x3b\x76\xec\x15\x29\x25\x83\x83\x83\x78\x9e\x47\x92\xa4\x39\x97\
+\xcb\x48\xca\x59\x0b\x6d\x60\xa9\xd1\xe2\xda\x42\x9d\x28\x8c\xf1\
+\x5c\x9b\x7c\xe0\x13\xf8\x19\x1c\xc7\x5a\x6d\x78\x12\xa5\x89\x95\
+\x4e\x81\xaa\x9b\x3c\xd1\xa8\x44\xa3\x31\x48\x01\x19\xc7\x21\xeb\
+\x67\x08\xfc\x0c\xb6\x6d\xd1\xea\x86\x5c\x5b\xac\xd3\x6a\x77\x31\
+\xc6\x90\xf7\x25\xb9\x4c\x1a\x63\xa5\x14\xae\xeb\x52\xad\x56\x89\
+\xe3\x98\x57\x5e\x79\x65\x12\xe8\x00\xc6\x06\x38\x7a\xf4\xe8\x73\
+\x73\x73\x73\x4b\xd9\x6c\xb6\x34\x3a\x3a\xca\xdb\x6f\xbf\x9d\xae\
+\x74\x21\x28\x65\x1d\x1c\xdb\x61\xb1\x19\xd2\x68\x75\x51\x5a\x53\
+\x8a\xb2\x14\x73\x01\x9e\xe7\x60\x59\x69\xed\x33\x2b\x89\xb2\x72\
+\x6d\xd2\x92\x67\x48\x2b\x8c\xb0\x04\xc2\x16\xbd\x7e\x21\x4d\xa7\
+\x44\x1b\xba\x9d\x88\xa5\x46\x9b\x46\xab\x4d\x27\x8c\xd1\xc6\xd0\
+\x57\xc8\x90\x73\x21\x8c\xd2\xf6\x32\x8a\x22\x46\x46\x46\x50\x4a\
+\x51\xab\xd5\xc2\x67\x9f\x7d\xf6\x65\x20\x4c\xd7\x08\x50\xaf\xd7\
+\x6b\x13\x13\x13\x9b\x76\xef\xde\xbd\x5d\x29\x45\x2e\x97\x63\x61\
+\x61\x21\x15\x6c\x8e\x43\x3e\x9b\x21\x1f\x64\x88\x55\xaf\xf4\xc5\
+\x09\x61\x1c\x91\x24\x0a\x48\xeb\xb2\x65\xf5\xf4\xff\x8a\xf7\x94\
+\xa9\x7c\xd7\x3d\x21\x04\xc6\x40\x9c\x28\x5a\xed\x88\xfa\x72\x8b\
+\x5a\xa3\x4d\xbb\x1b\x12\xc5\x09\xae\x6d\x31\x58\xf6\xc9\x7b\x76\
+\xda\x82\xc6\x31\x4b\x4b\x4b\x0c\x0d\x0d\x61\x8c\xc1\xb2\x2c\x0e\
+\x1f\x3e\x7c\xec\xc7\x3f\xfe\xf1\x3f\x02\x73\x80\x5a\xd5\x5f\x13\
+\x13\x13\x7b\x7f\xf2\x93\x9f\x1c\xf1\x3c\xaf\x08\x20\xa5\x64\x7e\
+\x7e\x9e\x52\xa9\x44\xa1\x50\xc0\x71\x6c\x2c\xcb\xa6\xd5\x8d\xa9\
+\x37\xd3\x9e\x40\x4a\x89\xeb\xd8\xb8\xae\x43\xc6\xb1\x71\x9c\xb4\
+\x2f\x70\x6c\x9b\xa5\xa5\x25\xce\x9e\x3d\xc3\xde\xbd\x7b\xd3\xd2\
+\x99\xa4\xe9\x15\xc7\x8a\x28\x49\x88\xe3\x84\x28\x4e\x50\x5a\x63\
+\x5b\x92\x42\x36\x43\x36\x63\xa3\x55\x42\x9c\x24\x34\x1a\x0d\x16\
+\x16\x16\x18\x18\x18\x20\x8e\x63\x3a\x9d\x0e\x71\x1c\x77\xbf\xf2\
+\x95\xaf\x7c\x67\x7a\x7a\xfa\x5f\x7b\x04\xde\xd1\xd5\xf5\x7a\x7d\
+\xbe\xd1\x68\x38\xf7\xdc\x73\xcf\xa7\x97\x97\x97\x01\xe8\xef\xef\
+\x67\x79\x79\x99\x38\x8e\x09\x82\x00\xc7\x71\xc8\x06\x19\x2a\xc5\
+\x2c\xd9\xc0\xeb\x1d\x97\x18\x54\xa2\x88\x12\x45\x14\x2b\xc2\x30\
+\x41\x19\x38\x37\x35\xc5\xa1\x43\x87\xd8\xbe\x6b\x0f\x61\xac\x69\
+\x77\x63\xc2\x28\x26\x8a\x52\xd0\x52\x42\x36\xc8\xd0\x5f\xce\x33\
+\x50\xce\xe1\x67\xec\x94\xa8\x52\x2c\x2e\x2e\xd2\xe9\x74\x18\x1a\
+\x1a\xa2\xd5\x6a\xd1\x6c\x36\x29\x16\x8b\x3c\xf6\xd8\x63\xff\xf4\
+\xec\xb3\xcf\xfe\x33\x30\x0b\x24\xef\x21\x00\x98\x53\xa7\x4e\xbd\
+\x3e\x38\x38\xb8\x7e\xf7\xee\xdd\x9b\x97\x96\x96\x68\xb5\x5a\xf4\
+\xf5\xf5\xad\x9e\x03\x09\x21\xf0\xbc\x34\xad\x32\x8e\x4d\x2e\xf0\
+\x28\xe6\x03\xb2\x7e\x06\x3f\xe3\x60\xdb\x69\xa3\x23\xa5\xc0\xf7\
+\x7d\x46\x47\x47\x19\x18\x18\xc4\xb6\x2c\x5c\x47\xa6\x8b\x3f\xe7\
+\x51\xce\x07\xf4\x15\xb3\xe4\xb3\x1e\x19\xd7\x46\x4a\x81\x52\x8a\
+\xe5\xe5\x65\x6e\xdc\xb8\x81\xe7\x79\xe4\x72\x39\xae\x5d\xbb\x46\
+\xbb\xdd\xa6\x52\xa9\x70\xf0\xe0\xc1\xe3\x8f\x3f\xfe\xf8\xdf\x00\
+\xaf\x03\xf5\x15\xd0\x37\x4b\x78\xdb\x71\x9c\x8f\xfd\xe0\x07\x3f\
+\xf8\xdb\xfb\xee\xbb\xef\xd3\x37\x6e\xdc\xa0\xdb\xed\x52\x28\x14\
+\xa8\x54\x2a\x28\xa5\x88\xe3\x98\x5c\x2e\x47\xb1\x58\xc4\x71\x9c\
+\x0f\xa8\xfa\x1f\xde\xe2\x38\xa6\x5e\xaf\xd3\x68\x34\xb0\x6d\x1b\
+\xc7\x71\xa8\xd5\x6a\x2c\x2e\x2e\x62\xdb\x36\xe5\x72\x99\xa3\x47\
+\x8f\x4e\x3e\xfc\xf0\xc3\xdf\xef\x76\xbb\x2f\x01\xef\x39\x14\xbe\
+\xf9\x54\x42\x6b\xad\x97\x9f\x79\xe6\x99\x9f\x57\x2a\x95\x91\x9d\
+\x3b\x77\x6e\x4a\x92\x84\x5a\xad\xc6\xb5\x6b\xd7\xd0\x5a\x13\x04\
+\x01\xc6\x18\x9a\xcd\x26\xed\x76\x3b\xed\x17\x78\x47\x64\xfd\x77\
+\xa6\x94\x22\x0c\x43\x1a\x8d\x06\x4b\x4b\x4b\x2c\x2f\x2f\xa3\x54\
+\xba\x9e\x96\x96\x96\xb8\x7c\xf9\x32\xcd\x66\x13\xcf\xf3\xc8\xe7\
+\xf3\xfc\xe8\x47\x3f\x7a\xf1\xbb\xdf\xfd\xee\xe3\x51\x14\x9d\x04\
+\x66\x60\x55\x98\xa6\xe3\x7e\xc0\x38\x3e\xb0\xee\xab\x5f\xfd\xea\
+\x9f\x7f\xf3\x9b\xdf\x7c\xb0\x50\x28\xe4\x16\x17\x17\x59\x69\x39\
+\x83\x20\xa0\x52\xa9\x50\x2a\x95\xc8\x66\xb3\x08\x21\xde\xd9\xc5\
+\x85\x78\x8f\x38\x14\x42\xa0\x7b\x15\x45\x29\xb5\x7a\x84\x68\x8c\
+\xa1\xd3\xe9\xd0\x6a\xb5\xa8\xd5\x6a\xb4\x7a\x47\x93\xbe\xef\x53\
+\x2c\x16\x69\x36\x9b\xdd\x03\x07\x0e\x1c\x7a\xf2\xc9\x27\x0f\x02\
+\xe7\x80\xb7\x81\xee\xcd\x40\x7f\xd5\xd1\xa2\x07\x0c\x4e\x4c\x4c\
+\x7c\xf6\xa1\x87\x1e\xfa\xb3\x3b\xef\xbc\x73\x6f\x92\x24\xd4\xeb\
+\xf5\xd5\xe8\xc7\x71\x8c\x6d\xdb\x64\xb3\xd9\x55\x0f\x82\x00\xcf\
+\xf3\x88\xe3\x98\x30\x0c\x71\x5d\x17\xd7\x4d\x3b\xbb\x30\x0c\x69\
+\xb7\xdb\x74\xbb\x5d\xda\xed\x76\xef\x9c\xd4\xc6\xf7\x7d\x82\x20\
+\x20\x9f\xcf\x23\xa5\xe4\xf8\xf1\xe3\xa7\x0e\x1c\x38\xf0\x2f\x17\
+\x2e\x5c\x38\x06\xbc\x01\x5c\xb9\x39\xf2\x1f\x86\x00\xa4\x6a\xb5\
+\x04\xac\xdb\xb3\x67\xcf\x17\xee\xbd\xf7\xde\x3f\xdc\xba\x75\xeb\
+\xed\x52\x4a\xab\xd1\x68\xd0\x6c\x36\x69\x36\x9b\x34\x1a\x0d\x1a\
+\x8d\xc6\x2a\xb0\x76\xbb\x4d\xa3\xd1\xa0\xd3\xe9\xe0\x79\x1e\x95\
+\x4a\x85\x5c\x2e\x47\x3e\x9f\x27\x08\x02\x72\xb9\xdc\x2f\xb9\x52\
+\x4a\x4f\x4e\x4e\x9e\x7b\xea\xa9\xa7\xfe\xe3\xd8\xb1\x63\xcf\xf7\
+\x80\xcf\x00\x8b\xdc\x74\x98\xf5\xeb\x10\x58\xb1\x2c\x69\x0b\x37\
+\xb1\x7e\xfd\xfa\xdf\xbb\xe3\x8e\x3b\x3e\xb5\x6d\xdb\xb6\x1d\xc5\
+\x62\x71\xc4\x18\x23\x56\x4a\xdd\x8a\xb7\x5a\x2d\x1a\x8d\x06\xed\
+\x76\x1b\xdf\xf7\xa9\x54\x2a\xe4\xf3\x79\x0a\x85\x02\x85\x42\x81\
+\x5c\x2e\x47\x36\x9b\xc5\xb2\x2c\x16\x17\x17\xaf\x9e\x3e\x7d\xfa\
+\xcc\x0b\x2f\xbc\x70\x6c\x6a\x6a\x6a\x92\x34\x55\xe6\x80\xeb\xbc\
+\x4f\xca\xfc\xa6\x04\x20\xd5\x4d\x3e\xe9\x8c\x54\x2d\xcb\x5a\x33\
+\x3e\x3e\xbe\x65\x6c\x6c\xec\xd6\xc1\xc1\xc1\xb5\xd9\x6c\x76\xc4\
+\x75\xdd\x62\x1c\xc7\xd9\x30\x0c\xdd\x95\x99\xf0\x3c\x8f\x52\xa9\
+\x84\xef\xfb\x71\x26\x93\x69\x45\x51\x54\x6f\xb5\x5a\xf3\xb3\xb3\
+\xb3\x6f\xce\xcc\xcc\x5c\xb8\x78\xf1\xe2\x05\xad\xf5\x2c\x70\xa3\
+\xe7\x8b\xa4\x3a\xe7\x43\xd9\x6f\xfa\x13\x53\x86\x74\x56\xf2\x3d\
+\x2f\x01\xe5\x20\x08\xfa\x2d\xcb\x2a\x1a\x63\x7c\xcf\xf3\xf2\x80\
+\x63\x8c\x89\xc3\x30\x6c\x09\x21\xc2\x24\x49\x1a\x9d\x4e\x67\x91\
+\xb4\x8e\x37\xde\xe5\xcb\x40\x93\x0f\xc8\xf3\xdf\x05\x81\x77\x7f\
+\xdf\x06\xdc\x1e\x29\xb7\xe7\x4e\xef\xfe\x4a\x5d\x55\x3d\x8f\x7b\
+\xde\x25\x15\x63\x11\xbd\x1d\xf5\xb7\x01\xf0\xbb\xb0\x95\xe7\x4a\
+\xde\xdb\x1a\x7c\x64\x1f\xd9\x47\xf6\x91\xbd\xd7\xfe\x0b\x99\x8c\
+\xcd\xc2\xec\xe1\x6f\x3e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x07\xdd\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x07\xa4\x49\x44\x41\x54\x58\x85\xbd\x97\x69\x8c\x5f\x55\
+\x15\xc0\x7f\xf7\xde\xb7\xfc\x97\xd9\x3a\xd3\x85\x76\x3a\xa5\xa5\
+\x0c\x6d\x51\x4a\xa4\x80\x26\x80\x45\x50\xb6\x62\xd5\x4a\x05\x94\
+\x68\x94\x48\xf8\x80\x7e\x31\x12\xd1\x18\xf9\xa4\x09\x6a\xd0\xd6\
+\x25\x25\x50\x8c\x11\x89\x0b\x8b\x88\xda\x4a\x14\x45\xd4\x82\x24\
+\x84\x82\x01\x2c\xd3\x4e\x1d\xa0\x94\x59\xff\xdb\x5b\xef\xbd\xc7\
+\x0f\x53\x6a\xc9\x14\xea\x87\x89\x27\xb9\x79\x27\x79\xe7\xdd\xf3\
+\x7b\x67\xbb\xef\x21\x22\xcc\xe7\x5a\xbf\xf6\x94\xcf\xbd\xfb\x9c\
+\x0d\x77\xff\xaf\xf6\xf3\xea\x5c\x44\xb8\x7a\x49\xef\x3d\xcf\xfc\
+\xe3\x71\xd9\xf0\x8e\xd3\xb6\xd7\x15\xea\x44\xf6\x9a\x79\x96\xaa\
+\xf1\xf2\xce\x53\x97\x71\xff\x3d\x3b\x6e\x3a\xe7\xac\x35\xf7\x2c\
+\x56\xca\xbc\x9d\xfd\xbc\x03\x54\x8c\xa7\x3d\xba\x97\x15\xbd\x8a\
+\x9f\x7c\xf7\xd6\x6b\xcf\x5c\xbb\xf2\x47\x4b\xae\x0f\xde\xd2\xcf\
+\xbc\x03\x44\xca\x49\x3e\x7e\x90\xc6\xe8\x3f\xe9\x97\x19\xbe\x7f\
+\xeb\x0d\xd7\x5d\xb4\xb7\xe7\x91\x45\x77\x57\x15\xc0\xfa\xdb\x4e\
+\x51\x4b\x6f\xec\x51\x6f\xd8\x07\x6f\x28\x57\x9e\xbd\x3c\xac\x84\
+\xf4\x65\x53\xaf\xd0\x5b\xd5\xd4\x43\xa8\x85\x50\x09\x66\x57\x64\
+\x20\xd4\x60\x14\x4a\xe9\x59\x70\x11\x85\x17\x70\x02\xa5\x87\x4e\
+\xe6\xba\x16\x2f\x5b\xbe\xb4\x98\x39\x44\xe1\x2d\xce\x59\x7a\x43\
+\xcd\x17\x3e\xbe\xf5\x22\x77\xfb\xbd\xbb\xf9\x34\x97\xec\xbd\x79\
+\xbf\xac\xfb\xf6\xe0\x51\x00\x25\x22\x00\x5c\x7d\xfe\x8a\xaf\x7f\
+\x64\x68\xdd\x2d\x94\x89\x57\x0a\x14\x1e\xa5\x40\xab\xd9\xab\x52\
+\x1e\xa5\x04\x40\x29\x04\x10\xf0\x0e\x11\xc1\x7b\xc1\x3b\xc1\x5a\
+\x4f\x18\x55\xd5\xb9\x9b\xd6\x90\x76\x32\xca\xd2\x61\x6d\x49\x64\
+\x14\x2f\x1f\x2e\xd9\xfe\xc0\x9f\x77\x3f\xf4\xaf\xf4\xb2\x63\x23\
+\x76\x34\x02\x35\x95\x0d\x7e\xf0\xfa\x8d\x84\x36\xd1\x4e\x4a\xb4\
+\x76\x98\xc0\xa2\x03\x8b\x36\x0e\xb4\x05\x05\xa8\x23\x8f\xb8\x12\
+\x5c\x0a\x65\x02\x79\x4e\x91\x59\xf2\xcc\x93\x75\x32\x3a\x8d\x7d\
+\xb8\xc4\x92\x25\x8e\x4e\x6a\x29\xcb\x92\x58\xc3\x35\xef\x59\x79\
+\xe9\xd6\x35\xdd\xbf\xf9\xc5\x8b\xad\x4d\x73\x00\xba\x43\xef\x9b\
+\xaf\xed\x87\xd6\x34\xa2\x2c\x51\xec\x88\x62\x4b\x18\x39\xa2\xc0\
+\x62\x42\x20\xa8\x83\xa9\x02\x06\xc4\x83\xcb\xa0\x68\x42\x36\x8d\
+\xc9\x5a\x44\x59\x86\x4b\x1d\x51\xe6\xc9\x13\x8b\xb4\x1d\x45\xdb\
+\xd3\x68\x3b\x8a\xd2\x11\x29\xe1\xc2\xe1\x05\x57\x6c\x59\x5b\xbb\
+\xef\xfe\x17\x92\x8f\xbe\x09\xa0\x1e\x7a\x3a\x13\x63\x48\x63\x9c\
+\x20\xb2\x48\x64\x21\x2a\x09\x2a\x25\x3a\xf6\x50\xe9\x87\x8a\x81\
+\x30\xe2\x08\xcd\x2c\x88\x31\x10\x06\x18\xab\x31\x3a\x25\x94\x29\
+\xb4\xb3\x58\x81\x7c\xd6\x02\xe7\xa1\x99\x82\x42\x91\x8a\x62\x61\
+\xc7\x56\xe6\xa6\x20\x70\xb4\x27\xc6\x30\xed\x57\xa9\xd4\x1c\x33\
+\x1d\xc7\x40\x97\xa6\xaf\x3f\x44\x75\x9f\x04\xd1\x32\x08\x96\x43\
+\x6d\x09\xc4\x7d\x10\x54\x41\x69\x10\x0b\x45\x07\xd2\x49\xe8\x1c\
+\x42\x07\xfb\xe8\x4e\x9f\xc3\xba\x0e\x2d\x07\x45\x09\x8d\x1c\x5e\
+\x49\x34\x56\x0f\x30\x3d\x32\xf3\xbb\x3b\xc6\x8a\xb9\x29\xa8\x06\
+\x42\x9e\x4d\x53\xb1\x0d\x70\xd0\x85\x62\xd1\x8a\xd3\x39\x30\x5a\
+\x49\xf6\xfe\xea\x40\x16\x55\x66\x94\xd6\xcf\xa2\x82\x08\x4c\xc0\
+\xd1\x0e\x16\x8f\x78\x8f\xf7\x0e\x5b\x14\xbe\x6f\x70\x59\xed\xc2\
+\x0b\xce\xa8\xf6\xcb\x73\x20\x6d\xf2\x12\xd2\x5c\x51\xaa\x01\x9e\
+\x79\x76\x72\xd7\x8e\x83\xee\x8a\xe3\x17\x61\x88\xc2\x28\x4c\x08\
+\x71\x00\xbd\x75\x45\x18\xd7\xf9\xc3\xcf\x9f\xde\x73\xe3\x48\x71\
+\x71\x71\xb3\xaa\xa8\x08\x42\x0f\x44\x1a\xb4\x3a\x52\x07\x82\xb3\
+\xd0\xb1\xd0\x73\x9b\x64\x77\xae\x89\x1e\xdf\xb8\x79\xeb\x79\xca\
+\x65\xf4\xca\x8b\x2c\xd6\x25\x8d\x60\x31\x8f\x3d\x36\xf5\xc7\x1d\
+\x23\xee\xf2\x65\x3f\x1e\xa8\xf7\xd6\x62\xff\xfc\x55\xaf\xa6\x6f\
+\x02\xa8\x04\x14\xca\x28\x02\x43\x5a\x0d\xa0\x2b\xae\xa3\xe2\x9e\
+\xaa\x11\xdb\x06\x88\x6e\x93\x8c\xb7\x10\x03\xf4\x1c\xd1\xc3\x80\
+\x52\x2d\x58\x05\x36\x43\xf9\x0e\x59\xd5\xf3\xe8\xdf\x9a\x7f\xff\
+\xeb\x03\x6b\xae\x8b\x1f\x50\x6b\x16\xe9\x7e\x03\xb4\x80\x31\x38\
+\x66\x12\xc6\x01\xaf\x69\xc5\x68\x60\x18\xa9\x19\x46\x4c\x7d\x60\
+\x44\x57\x07\x0e\x7a\xa7\x0a\x80\x8d\x4f\x5f\xbc\x65\xdd\xb6\xd5\
+\x77\xbd\x15\xc4\x51\x18\x6d\x50\xbd\x43\xd0\xbf\x9a\xe9\x68\x90\
+\xef\x3d\xdc\x1c\x9d\x78\xf4\xca\x5b\x74\x61\xcf\x02\x86\x51\x0c\
+\x8b\xc8\xe0\x9c\x14\xc4\x86\x31\xa5\x18\x09\x14\x49\x64\x34\x54\
+\x07\x20\xee\xad\x75\x9c\x49\xde\xb7\x67\xed\x7b\x57\x4f\x9f\x7d\
+\x9f\x1e\x68\xef\x39\x11\x00\x26\x82\x85\xa7\xc2\xc8\x53\xfe\xee\
+\x1d\x4f\x3c\xf5\xf0\xd6\x25\x93\x57\xe4\x7e\x83\xb5\xe5\x91\xe9\
+\xa7\x42\xef\x7d\x0c\xec\x79\x53\x04\x42\xc3\x24\x70\xc0\xc0\xa8\
+\x36\xd1\x28\x71\xef\x28\x41\xcf\x33\xe9\x07\xfa\x7a\x25\x3b\x69\
+\xf7\xb5\x97\x5f\x4d\xd0\x1d\xbb\x13\xf9\x17\x51\x3a\x79\x72\x37\
+\x77\x7c\x69\xe7\xc3\xfb\xb6\x0d\x6f\x11\xab\x86\x8b\x22\x3f\xb3\
+\x28\xcb\x33\xf0\x9c\x81\xe7\x4c\x67\xdd\xaa\x39\x11\x30\x8a\x19\
+\x2f\x1c\x54\x42\xae\x09\x40\x57\x3a\xbf\x56\x87\xce\xdb\xf5\xb1\
+\x15\x9b\xcf\xb9\x70\x58\x8d\x32\x42\x66\xd3\x13\x06\xa0\x5e\x31\
+\x8f\xfd\xec\x8b\xdb\x5a\x37\x8c\xba\x0f\x9d\xb7\xff\xfc\xf5\x95\
+\x28\x59\x98\xe5\xd9\x86\x3c\xcf\x45\x2c\x88\xa5\x2a\x48\x32\x07\
+\x40\x6b\x1a\xce\x31\x26\x8e\x52\x89\x6e\x3d\x64\x5f\xb9\xf8\x2b\
+\xe3\xfb\xae\x39\xe5\xfc\x15\x6a\xba\x35\xc1\x58\xf7\x41\x12\x97\
+\x1c\xdf\xeb\x31\xb2\xe5\x89\xc9\xaf\xbe\xa1\xfb\xa4\x55\x55\x46\
+\xf7\x25\x49\xa7\x37\x4b\x73\x91\x02\x24\x13\x0d\x1c\x9c\x03\x00\
+\x34\x0b\xcb\xab\x71\xc9\xd4\x83\xce\x5e\xfe\xf9\xf6\xa1\x9b\xfa\
+\x56\x77\xe9\xf6\xcc\x0c\x91\xd6\x8c\xc7\x87\xc9\x9b\x69\xbc\xfe\
+\xb7\x27\x87\xd5\x85\xd5\x6a\x10\x86\x2a\x08\x0d\x46\x6b\x94\xd2\
+\xa0\x20\x55\x40\xe9\x28\xbd\xc7\xce\xa4\x49\x78\xc0\x0f\xe1\x0c\
+\xcd\x76\x53\xa5\x9d\x5c\x49\x06\x24\x20\x8a\xb9\xc7\xb1\x08\x4d\
+\x63\xfd\x0b\x3f\xcd\xcd\xe6\x6f\xa4\xe1\xd7\xd2\xe5\x93\xc6\x34\
+\x0a\xe2\xc0\x60\x8c\xc6\x84\x86\xd5\xf1\xd0\xbb\x46\x5f\x7c\x7d\
+\xca\x8f\xc5\x08\x11\xa2\x02\x3c\x06\x94\x60\xc5\x21\x58\x0a\x11\
+\xac\x2f\xb1\x25\xf4\x66\x7d\x41\x75\x91\xa2\xd1\x6c\x90\x76\x72\
+\xa4\x0d\xd2\x00\x89\xfe\xfb\xd6\x47\x01\x36\xdd\xd9\x3c\xfc\xe5\
+\xcf\x2e\xfd\xe4\x2f\x6b\x43\xb7\xdb\x7c\x2a\x88\x27\x03\x8a\xd8\
+\xd1\x09\x13\x34\x06\xef\x85\xc5\xef\x5f\x64\x2e\xe8\xd9\xd0\x55\
+\x8b\xeb\x74\x9b\x6e\x6a\x74\x11\x12\x22\x08\x39\x19\x4d\x9a\xb4\
+\xcb\x26\xad\x4e\x8b\x76\xa7\x4d\x2b\x6d\x33\x35\x3e\xc5\xf8\xc4\
+\x24\x79\xc3\xa2\xa6\x80\x0e\x48\xf5\x38\x00\x9f\xb8\xb4\xba\x79\
+\xef\xe9\xa7\xee\x5c\xb9\x6c\xd0\x0c\x66\x29\x0e\x8f\xcd\x4b\x24\
+\xb3\x88\xf2\x74\x5c\xc9\xfe\x7c\x8c\x91\xa9\x83\x48\xec\x90\xc8\
+\xe2\x43\x87\xd7\x1e\xa7\x1c\x0e\x8b\x2d\x4b\x8a\xc2\x51\xa4\x25\
+\x45\xbb\xc4\xb6\x3c\xe5\x8c\x50\x4e\x0b\x7e\x1c\x64\x1c\x88\x40\
+\x32\x99\x0b\xf0\x7a\x87\xba\xb7\x98\x38\x0c\x91\xd2\xa2\x32\x0b\
+\xd3\x60\x15\xe0\x1d\xde\x83\x58\x8f\xcf\x41\x22\xc1\x47\xe0\x63\
+\xc1\x07\x1e\xa7\x1d\x0e\x8f\x73\x82\xb7\x82\xe4\x20\x05\x78\x0b\
+\xe2\x40\x72\x60\x1a\x48\x81\x18\xe4\x98\x66\x3a\x3a\x07\x1e\x79\
+\x3c\xbd\x77\x78\xdf\x6b\xd7\xef\x7b\x69\x84\xa8\x1a\xa3\x50\xe8\
+\x8e\x42\x8f\x6b\x98\x54\x48\x43\xe1\x9a\x0a\xd5\x09\x21\x89\xd0\
+\x79\x84\x2e\x22\x4c\x19\x61\x6c\x8c\xb6\x11\xda\x47\x18\x1f\xa1\
+\x09\xd1\x3a\x42\x29\x83\x52\xb3\x45\xaa\x7b\x34\x6a\x81\x46\x45\
+\x1a\xd7\x3e\x4e\x0a\x00\x1e\xdc\x35\xbe\xf3\x92\x73\x83\xe0\x80\
+\xd1\x3b\x4e\x5e\x39\x44\x96\x24\xe8\x54\xe3\x0b\x8d\x4a\x3c\x69\
+\x27\x97\x99\x76\x43\x30\x22\x68\x99\x3d\x04\x14\xa0\x05\x01\x3c\
+\x7e\xf6\x67\xc3\x6b\xbc\x0b\x31\xce\x80\xc5\x07\x56\x10\x0b\x81\
+\x0a\xa4\xbf\x32\x10\x05\x46\x1d\x9a\x03\xf0\xbd\xab\x06\xd4\x84\
+\xea\xe3\xf7\x4f\xda\x3b\x3e\x7c\x61\x97\x79\x49\xeb\x1f\x0c\x0e\
+\x9d\x44\x96\xa6\x68\xab\x91\x46\xc0\xc4\xf8\xf8\xbf\xf3\xca\xf4\
+\x05\x84\x44\x2a\x50\x4a\x05\x80\x56\xa8\x23\x4d\x25\x1e\x94\x03\
+\x64\xf6\x33\x81\x12\xc8\x28\x25\x45\x7c\x0a\x59\x5b\x78\x39\x4b\
+\x75\x17\xdd\x93\x73\x00\x26\x0e\xb7\xe9\x5f\xbc\x60\x36\x12\x7f\
+\x6a\xff\xf0\x33\x97\xd5\x82\x27\x51\xdb\x96\x0e\x2d\x22\x4b\x52\
+\x34\x8a\x46\xb3\x95\xe4\xdb\xfd\x18\xf3\x28\x47\x01\x6e\xfd\x4b\
+\x2e\xc7\xde\xd8\xb9\x2b\xd9\x5e\x5f\x57\x37\xc1\x26\x6e\x5f\xb8\
+\x6c\x80\xcc\xe6\x68\xaf\xe6\xee\x30\x5f\x00\xc7\x93\xce\xf3\x9d\
+\xef\xf4\x0c\x77\x07\x6c\x92\x6f\x0e\x9c\x3e\x80\x94\xf2\x76\xe6\
+\xf3\x0f\x00\xd0\xdc\xd7\xfa\x56\x6d\x49\x75\x6a\xcd\xa7\xd4\x5d\
+\xb5\xb4\x36\xf3\x7f\x07\x00\x48\x0e\xa7\x3b\x57\x0d\xaf\xaa\xd5\
+\x4e\xab\x6f\x9c\x6f\x80\xff\x00\xf5\x6b\x6f\xe6\x91\xd8\x77\x63\
+\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x20\x0e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\
+\x00\x00\x1f\xd5\x49\x44\x41\x54\x78\x9c\xd5\x7b\x69\x70\x5c\xd7\
+\x75\xe6\x77\xee\xdb\x7a\x6f\x00\xdd\x8d\xc6\x0e\x10\xdc\x41\x11\
+\xe0\x02\x0a\xa2\x16\x4a\xa6\x16\x2f\xa2\x2d\x5b\xb2\x12\x6f\x33\
+\x2e\x57\x3c\x95\xc4\x55\xa9\xa9\x54\xb9\x3c\x65\x3b\x63\x4f\x2a\
+\x53\xf6\x4c\xc6\xe3\x49\x26\xae\xa9\xa4\xbc\xc5\xf6\x24\x56\x6c\
+\xc9\xb6\x64\x4b\xb2\x2d\x51\x76\x48\x91\x14\x45\x89\x3b\x48\x82\
+\x00\x89\x1d\x0d\xa0\x37\xf4\xfe\xfa\x2d\xf7\xce\x8f\xf7\xba\xd1\
+\x00\x21\x59\x52\xfc\x67\x5e\xd5\xc5\x5b\xfb\xbe\xfb\x7d\xe7\x3b\
+\xe7\x9e\x7b\xef\x03\x2d\x24\x12\xd8\x68\x63\xc4\xc0\x18\xab\x9f\
+\x73\xce\xc1\x24\x06\x46\x0c\x99\x4c\x06\xcd\xcd\xcd\x58\x5c\x5c\
+\x44\x3c\x1e\x47\x3a\x9d\x46\x34\x1a\x85\xae\xeb\xc8\x66\xb3\x68\
+\x6b\x6b\x83\x65\x59\xd0\x75\x1d\x7e\xbf\x3f\x6c\xdb\x76\xa7\x69\
+\x9a\xbd\xa6\x69\x76\x99\xa6\xd9\x66\x59\x56\x84\x0b\x1e\x16\x5c\
+\x80\x73\x0e\x49\x96\x01\xa0\x2a\x49\xd2\x8a\x2c\xcb\x8b\x8a\x22\
+\x27\x54\x45\x9d\x91\x65\x79\x96\x31\x96\xd0\x75\xdd\x56\x35\x0d\
+\x33\x33\xd3\x68\x6a\x6a\x46\x28\x14\xc4\xf4\xf4\x0c\xda\xdb\xda\
+\xa0\x79\x3c\x88\xb7\xc6\x36\xc4\xf0\x56\x36\xf9\x1d\xff\xf2\xcd\
+\x37\x0f\x80\x9d\x00\x86\x97\x97\x97\xf7\xe8\xba\xbe\xd3\xb2\xcc\
+\x2e\x21\x10\x03\xe0\x97\x65\x49\x21\xc6\x20\x31\x06\xce\x39\x60\
+\x09\x98\x96\x05\xc1\xb9\xe0\x42\x94\x21\x90\x67\x12\x5b\x50\x55\
+\x75\xd2\xeb\xf5\x5e\xf2\x79\x7d\x67\x01\x5c\x00\x30\xfb\xfb\x6e\
+\xe8\xef\x93\x80\x18\x80\xfb\x01\xbc\x6f\x7c\xfc\xfa\x9d\xa6\x65\
+\x6d\xf6\xfb\x7c\x08\x06\x83\x68\x69\x69\x87\xdf\xef\x87\xd7\xeb\
+\x85\x2c\xcb\x6b\x94\xb5\x6e\x23\xdb\xb6\xfd\xd5\x6a\xd5\x5f\xa9\
+\x54\xda\x0b\x85\xc2\xfe\x5c\x2e\xf7\xe1\x54\x32\x09\xcb\xb6\x0b\
+\x3e\x9f\xef\x02\x80\x5f\x01\xf8\x05\x80\xf3\xbf\x8f\x46\xff\x3e\
+\x08\xb8\x1b\xc0\x27\x47\x47\x47\xdf\xcf\xb9\x1d\x8f\x46\xa3\xd8\
+\xba\x75\x2b\x5a\x5a\x5a\x20\x49\xd2\xdb\xae\x4c\x92\x24\xf8\x7c\
+\x3e\xf8\x7c\x3e\x44\x22\x91\xfa\xf5\x52\xa9\x14\x4c\x26\x93\x77\
+\x2f\x2c\x24\xee\x9e\x99\x99\xfe\xcb\x60\x30\x74\x1a\xc0\x3f\x01\
+\xf8\x11\x80\xe4\x3b\x6d\x3c\xfd\x1b\x62\xc0\xfb\x16\x17\x17\xff\
+\x7c\x6e\x7e\xee\x01\xbf\xdf\x8f\xcd\xfd\xfd\x68\x6f\x6f\x07\x11\
+\x01\x00\x84\x10\xef\xb4\x4d\x1b\x37\xd4\xad\x17\x00\x4a\xa5\x12\
+\x26\x27\x27\x31\x37\x3f\x0f\xaf\xd7\x9b\xe8\xe9\xed\xfb\xb6\xc7\
+\xeb\xfd\x46\x7b\x6b\x6c\xe9\x6d\xd7\xfb\x0e\x08\xd8\x9b\xc9\x64\
+\xfe\xea\xda\xb5\x6b\x0f\x87\x42\x21\x0c\xec\x1a\x40\x24\x12\x01\
+\xe7\x1c\xb6\x65\xbd\x03\x68\x6f\x7f\x63\x8c\x41\x96\x65\x18\x86\
+\x81\xc9\xc9\x49\x8c\x8d\x8d\xa1\xa9\xb9\x65\x71\xcb\xb6\x6d\xff\
+\x0d\xc0\xff\xe9\x6c\x8b\x9b\x6f\xb5\xae\xb7\x43\x80\xc4\x24\xf6\
+\x9f\x2e\x5d\xbc\xf4\x17\xd9\x95\xac\x77\xff\xfe\xfd\xe8\x68\xef\
+\x80\x65\x99\xb0\x39\x77\x2a\xbb\xb5\xfa\x37\x3d\x7d\x5b\xdb\x2d\
+\x82\x12\x00\x11\x54\x45\x81\x61\x18\xb8\x70\xe1\x02\x66\xe7\xe6\
+\xb1\x7b\x68\xe8\x44\x24\xd2\xf2\x67\x6d\xb1\xd8\xb9\xb7\x52\xed\
+\x5b\x25\xa0\xb3\x5a\xad\x7e\xfb\xe5\x13\x2f\xbf\x3b\x1a\x8d\x62\
+\x78\x78\x18\x44\xd4\x60\x71\x17\x59\x4d\xa6\x6b\x76\xa2\xd6\x56\
+\xe7\xca\x3b\xf1\x0c\xb7\x3e\x21\x84\x7b\x5c\xaf\x19\x10\x02\x44\
+\x04\x4d\xd5\x90\x48\x24\x70\xf2\xe4\x49\xf4\x6e\xda\x54\xda\xbe\
+\x63\xfb\x7f\x8c\x47\xa3\xdf\xfe\x9d\x55\xbf\x05\x02\x76\x15\x0a\
+\x85\x9f\xbe\xf4\xd2\xd1\xad\x43\x7b\xf6\x60\xcb\xd6\xad\x30\x74\
+\x7d\x6d\xcb\xde\xf0\x70\xe3\xfb\xef\x78\xdb\x48\x05\x0d\x97\x65\
+\x59\x86\x65\x5a\x38\x7a\xf4\x28\xc2\x2d\xcd\x18\x1e\x3e\xf0\x57\
+\xf1\x68\xe4\x4b\x6f\x56\xe5\xef\x22\x60\xa0\x58\x2c\xbe\xf8\xfc\
+\x2f\x9f\x6f\x3f\x78\xc7\x41\x74\x74\x76\xa0\x5a\x35\xc0\x88\x9c\
+\x97\x92\x83\x8b\xd6\x9a\xdc\x3d\x7c\x6b\xe0\x69\xc3\x07\xc4\x1b\
+\x0b\x45\xbc\xc1\x53\x8e\xd0\xc0\x18\x41\x92\x24\xbc\x74\xf4\x28\
+\x02\xa1\x10\x46\x6e\xbf\xe3\xab\xad\xb1\xc8\x17\xde\xf0\xfd\x6f\
+\x42\x40\x9c\x73\x7e\xfc\xc9\xa7\x9e\xdc\xba\x6f\xdf\x3e\xf4\xf5\
+\xf6\xa1\x6a\x54\xeb\xcd\x5e\x55\xa2\x0b\xe1\x77\x82\x6f\xd0\xc5\
+\x2d\x84\xdc\x4a\x40\xfd\xe8\x0d\xac\xbe\xba\xbb\x95\x04\x22\x82\
+\x2c\xcb\x78\xee\xd9\x67\xd1\xd7\xdf\x8f\xa1\xc1\xa1\xcf\xc6\x5b\
+\xa3\xff\x73\x23\x9c\x6f\x94\x07\x90\xaa\xa9\xdf\xf9\xf9\x33\x3f\
+\xdf\xda\xd1\xd1\x89\xae\xae\x2e\x14\x4b\x45\x07\x1a\x35\x02\x7e\
+\x03\xf0\xeb\x40\x6f\xc0\xc1\xad\xf7\x6e\x85\x88\x5b\x34\x2f\x36\
+\xb8\xb7\x8e\x88\x1a\x61\xb6\x6d\xe3\xde\xfb\xee\xc3\xd3\x4f\xff\
+\x0c\x6d\x6d\x6d\x7f\x6d\x5b\xf6\xeb\x1d\x1d\xf1\xdf\xde\x02\x74\
+\x7e\xe1\x56\x05\x68\x9a\xfa\xe9\xeb\xd7\xaf\x7f\xf3\xc4\xcb\x27\
+\xf0\xfe\x47\x3e\x00\xd3\x30\xb0\xde\xea\x75\xa0\xb4\x7a\x9d\x36\
+\x52\xc6\xba\xf3\x46\xfc\xbf\x2b\x2c\x6c\x68\xfd\x0d\x48\x70\x9e\
+\x13\x10\x62\x35\x30\x42\x08\xc8\xaa\x82\x99\xa9\x29\x5c\x1a\x1d\
+\xc5\x47\x3e\xfa\xb1\x6b\xa6\x6e\x0c\xf7\xf4\x74\x96\x1a\x6b\xdc\
+\x48\x01\xcd\x82\x8b\xbf\x7c\xf9\xf8\x71\xec\xd9\xb7\x0f\x46\xd5\
+\x80\x6d\xdb\x6b\xfd\xbd\x4e\xc2\x3a\xb0\x0d\xa6\x5e\xa3\x84\xc6\
+\xe7\xdd\x53\x41\xbf\x5b\x03\x42\xac\xbf\xb2\x4a\x82\x73\x5f\xac\
+\xb9\x26\xd6\x1d\x5b\x15\x0b\xdd\x3d\xbd\x38\x7f\xe1\x02\xae\x5c\
+\x19\xdd\x31\xb0\x63\xe7\x1f\x03\xf8\xfa\x1a\x02\x3a\x3b\xda\xd7\
+\xbc\xfa\x1f\xbf\xf7\xbd\x8f\xef\xdd\xb3\xb7\xc3\x30\x4d\xb4\xb6\
+\xb6\x42\xd7\x75\x57\xf6\x04\x62\xab\xe0\xdc\x4b\x75\x58\x35\x97\
+\x68\x24\x61\x1d\x3f\x6b\xc0\xbe\xd5\x4e\xe1\x8d\x25\xdf\xf0\x77\
+\x03\x42\x84\x70\x6e\x57\x51\xc5\xce\x9d\x3b\x71\xe1\xdc\x39\x6c\
+\xdd\xba\xf5\xcf\x1e\x3e\x72\xe4\x1f\x9e\xfd\xc5\x2f\xea\x2a\x58\
+\xaf\x00\x1a\x1a\xda\xf3\x89\x73\xe7\xcf\xa1\xb3\xb3\x13\x66\xd5\
+\x84\x65\x5b\x00\x08\x6c\x9d\xe4\x89\xa8\xe1\xb8\x06\x7e\xb5\x37\
+\x58\x25\x66\x7d\x40\xa4\xb7\x0c\x7e\x15\xfa\x1a\xdd\xbb\x16\x16\
+\xf5\xeb\x75\xd9\xbb\x24\xd4\xce\x85\x00\x4c\xcb\x44\x6b\x6b\x1c\
+\xaf\x9c\x7a\x05\xb6\x65\xf7\xc9\xb2\x7c\x1f\x80\x67\xeb\x04\x0c\
+\x0e\x0e\x36\xbe\xab\xaf\xa7\xa7\x67\xe8\x99\xa7\x9f\xc6\xbe\xfd\
+\xfb\xa1\x1b\x55\x08\xc1\x41\x20\xf0\x3a\xf8\x55\x60\xab\x80\x6f\
+\x25\xe5\xcd\x49\x78\x6b\x34\x34\x4a\x7a\xcd\xb5\x46\x90\xeb\xf7\
+\xf5\x78\xb0\x4a\x90\xa6\x69\xf0\xf9\xbc\x98\x9b\x9d\xc1\x63\x8f\
+\x7d\xf8\x3d\x6b\x08\xd8\xbd\x7b\x0d\x01\x03\xb6\xcd\x3d\xa5\x72\
+\x09\xaa\xa6\xc2\x30\x8c\xba\x2f\xd7\x00\x3b\xa5\x31\xe0\x35\xf6\
+\x0c\xeb\x00\x53\x9d\x02\xd7\x65\xde\xac\x2b\xdc\x80\x00\xb1\xf6\
+\xa4\x0e\x0e\x35\x90\x00\xb9\xe0\xeb\x6a\x58\xa3\x04\xf7\x19\xd3\
+\x82\x3f\x10\xc4\xec\xec\x2c\xb6\x6f\xdf\x3e\xd4\xf8\x0e\xb9\xa7\
+\xb7\xa7\xf1\xbc\xc7\xb2\x4c\xd8\x96\x0d\x22\x06\xcb\xb2\x40\x44\
+\x60\x04\x00\xcc\x01\x5e\xb3\xf2\x7a\x32\x68\x35\xe8\x51\x83\x52\
+\xd6\x06\xcc\xd5\xb8\x20\xe8\x2d\x6a\x60\xbd\xc4\x37\x08\x82\x8d\
+\xe0\x45\x0d\xbc\x5b\x9c\x54\x19\x50\x14\x05\xf9\x7c\x1e\xf1\x78\
+\x6b\x5b\x4b\x73\x8b\x27\x93\xcd\xe8\x00\x20\x73\x6e\x37\xbe\x31\
+\x40\x44\xb0\x2c\x0b\x96\x69\xd5\x03\x1d\x07\x03\x91\xa8\x2b\x81\
+\x35\xfa\x7c\x03\x19\x35\x4b\xd7\x88\xa9\x9f\x83\xea\x2a\xae\x81\
+\x77\xe1\xbd\x85\x4d\xac\xeb\x0d\xd6\x92\xc2\x45\xed\x5a\x23\x68\
+\xb8\x6e\xc1\xc1\x01\x90\xcd\x60\x9a\x26\x14\x59\x06\xe7\xc2\x2b\
+\x20\x34\x00\x35\x02\xd6\x34\xa3\xa2\xa9\x2a\x6c\x6e\xa3\x5c\x29\
+\x43\xd3\x3c\x00\x00\xc6\x78\xdd\xca\x44\x04\xbe\x81\x02\x80\xb5\
+\xea\x00\x1a\xee\xaf\x0f\x8e\x42\xac\x76\x89\x1b\xc8\xa0\x1e\xd5\
+\x37\x20\xa1\xd1\xca\xb5\xfe\xde\xb9\xc7\xdd\x3c\xc0\xcd\x07\xc4\
+\xaa\x2a\x38\x71\x14\x0a\x79\x74\x75\x76\x42\x70\x5e\xe1\x5c\xd4\
+\xad\x2e\xdf\xbc\x71\xa3\xf1\xdd\x8b\x3e\xbf\x0f\x9a\xaa\x62\x25\
+\x9b\x41\xac\x35\x0e\xc1\x05\x38\x63\x8e\xe5\xd9\x6a\xb0\xdb\xd0\
+\x15\x44\x63\xcf\x40\x10\x0d\xbe\xbf\x26\x7f\x68\x40\x4f\xb5\xf4\
+\x15\x6b\xf7\xab\x51\xdd\xa5\x62\x8d\xa5\x01\x21\x78\x03\x21\xab\
+\xa0\x1b\xa5\x5f\x3b\x66\x12\x43\x3a\x9d\xc6\xc8\xc8\x08\xe6\xe6\
+\xe7\x52\xa5\x72\xa9\x36\x9a\x83\x7c\xfe\xfc\x9a\xa9\xb5\x69\xbd\
+\xa2\xeb\x7d\x7d\x7d\x9e\xe9\x99\x19\xb4\xc6\xdb\x60\x71\x0b\x24\
+\x9c\x98\xc0\xb9\x43\x04\x31\x72\x5d\xa1\x41\xea\x00\x88\x49\x20\
+\x72\x86\xa7\xe4\x0e\x53\x85\x70\xac\x2c\x50\x4f\x1c\xd6\x26\x49\
+\x6f\x92\x08\xad\x82\x76\x55\x00\x01\xc1\x9d\x7a\xb9\xe0\x0d\xa0\
+\xe1\x02\xe6\xf5\xe7\xb9\x10\xe0\x2e\x89\xf9\x7c\x1e\xf9\x5c\x0e\
+\xdb\xb7\x6d\xc7\x93\x4f\x3d\x39\x66\x99\x66\x7d\xe6\x46\x9e\x9d\
+\x9d\x6b\x7c\x73\x7e\x66\x66\x26\x7f\xf0\xe0\x9d\x9e\x6f\x7c\xe3\
+\x1b\x18\x1c\x1c\x72\x46\x58\x20\x10\xd9\x20\xe2\x20\x62\x20\xee\
+\x90\x20\x6a\xca\x20\xc7\x76\xdc\xb6\xc0\xdc\x6b\x54\x4b\xf7\x00\
+\x30\x47\x1e\xae\xfc\x51\x63\xa4\x61\x6b\x24\x61\x6d\x64\xe0\x9c\
+\xd7\x5d\xa8\x0e\x9a\x37\x58\xbf\xd1\xda\x70\x63\x82\x70\x88\x12\
+\x9c\x43\x56\x64\x4c\xde\xb8\x81\x58\x2c\x86\x78\x5b\x1b\xce\x9d\
+\x3b\xbf\x48\x44\x24\xdc\x08\x2a\x7b\x3c\x9e\xc6\xf7\x79\x92\xa9\
+\x94\xe7\xce\x83\x07\xd1\xd4\xdc\x84\xf1\xf1\xeb\xd8\xb6\x6d\x87\
+\xd3\x1b\x30\xd7\xe2\x70\xa6\xc6\x84\x55\x03\xe6\x02\x96\x18\x24\
+\xa0\xce\x3a\xb9\xd7\x41\x00\x18\x73\xa4\x48\x0c\xe4\x02\x61\xd4\
+\x30\x33\x4c\xeb\xc2\xe1\xba\x01\x4e\xdd\x9a\x0d\x41\x4e\xa0\x01\
+\x3c\x04\x2c\xee\x80\x06\x77\x95\xe0\xb6\xc3\xb2\x2c\x5c\xbc\x74\
+\x11\xff\xee\x13\x9f\x40\xb9\x52\x06\x80\x60\x0d\x3c\x00\xc8\x3b\
+\x76\xec\x68\x7c\x75\x8f\x69\xd9\xa1\x5c\x3e\x8f\xc7\x1f\x7f\x1c\
+\xdf\xf8\xbb\xbf\x43\x5f\xef\x26\x48\x8a\xbc\x2a\x47\xa2\xba\x0c\
+\x57\x01\xd4\xe2\x7c\x63\x30\x44\x3d\x73\x14\xae\x3b\xac\xe6\x0f\
+\x6b\xf3\x81\x46\xf8\x35\xe1\x88\x35\xc1\x59\xac\x19\x77\x08\x47\
+\xe3\x75\xf0\x82\x03\x0c\x02\x9c\xe0\x24\x6c\xae\xcb\xa8\xaa\x8a\
+\xd7\x5e\x7b\x0d\xad\xb1\x18\x6e\x1f\x19\xc1\xf8\xc4\x4d\xec\xd8\
+\xb1\x63\x27\x63\x4c\xe2\x6e\xf7\x27\x0f\x0c\x0c\x34\x12\xd0\xa5\
+\xaa\x0a\xce\x9e\x3f\x8f\x07\x0e\xdf\x8f\x7d\xfb\x4f\xe2\xe5\x97\
+\x8f\xe3\xc1\x87\xde\x0d\xcb\x32\x1b\xba\x38\x72\x92\x63\xc6\x40\
+\x92\x93\x26\xb3\x0d\x03\x63\x43\x2f\xd1\x90\x2f\xac\xc6\x86\x55\
+\xc2\x6a\x24\x01\xc2\x09\x8c\xac\x96\xc9\x39\xae\x23\xc8\x01\x0a\
+\xd7\xdd\xc0\x98\x73\x4f\x08\x08\x26\xc0\x39\x81\x41\x00\xcc\xe9\
+\xb6\x55\x49\xc1\xf2\xf2\x12\xae\x5e\xbd\x82\x2f\xfd\xe7\x2f\x21\
+\x97\x2b\x60\x6e\x7e\x1e\xdb\xb7\x6d\xeb\xf4\xfb\xfd\x3e\x00\x05\
+\x00\x60\x81\x80\x1f\x0d\xa5\x39\x1c\x0a\x61\x61\x3e\x81\xcb\xa3\
+\x97\xf1\x99\xcf\x7c\x06\x04\x81\xd7\x5f\x3b\x03\xaf\xd7\xe3\xc8\
+\xda\xd1\x34\x48\x92\x40\x0c\x60\xa2\x66\x98\x5b\x7b\x05\xd6\x00\
+\x90\x91\xe4\x10\xc6\x98\xe3\x36\x52\x43\x61\x04\xe6\xee\x1d\x52\
+\x9d\xc2\x98\x04\x26\xb9\xbf\x83\xfb\x1c\xb1\x7a\xf0\xad\x11\x0e\
+\xa2\x7a\xdd\x0c\x04\x4d\x55\x50\xd6\x2b\xf8\xe5\xf3\xcf\xe3\x63\
+\x1f\xfd\x18\x3a\xbb\xba\x70\x69\x74\x14\x9c\xdb\x08\x87\xc3\x41\
+\x59\x96\xeb\x7e\xcf\x24\x59\x46\x43\xe1\x1e\x4d\x03\x11\x70\xf2\
+\xd4\x69\xcc\xce\xce\xe1\xcb\x5f\xfe\x32\x16\x13\x0b\x38\xf3\xea\
+\xab\xf0\x7a\x3c\xa0\x1a\x10\x5a\x9d\x37\x74\x02\x9f\xdb\x40\x37\
+\x56\x30\xb7\x61\x8c\x49\x0e\x59\x12\x03\x93\x24\x30\x89\x41\x92\
+\x08\x32\x63\x90\x88\x20\xb1\x0d\x0a\xb9\xf7\x25\x72\xea\xaf\xfd\
+\x9e\x49\x75\xc0\x6b\x89\xa8\xfb\x07\x54\x55\x45\xb9\x54\xc2\x4f\
+\x9f\x7a\x12\xef\x7b\xdf\x7b\x71\xe8\xd0\x21\xfc\xfa\xd7\x2f\x20\
+\x9d\xcd\x82\x5b\x16\xbc\x3e\x9f\xdd\xb8\x66\xc1\xb2\x99\x2c\x1a\
+\x4a\x26\x14\x0a\x21\xb7\x92\x85\xd7\xe3\xc5\x4f\x7e\xf2\x33\x2c\
+\xcc\x2f\xe0\xab\x5f\xfd\x2a\x12\x0b\x09\xbc\x74\xf4\x25\x28\xaa\
+\x02\x55\x91\xeb\x2e\x0e\x90\x93\xd6\x92\xd3\x5b\x00\x00\x31\x27\
+\x38\x32\x26\x39\x00\xdc\xec\x91\x01\x90\xdc\x9c\x60\x95\x2c\x76\
+\x6b\x61\x6e\x57\x0b\x5a\xfd\xad\x4b\x32\xab\x13\xc1\x56\x15\x07\
+\x02\x63\x80\xcf\xe7\xc3\xe2\xe2\x12\xfe\xe5\x89\x27\xf0\x9e\xf7\
+\xbc\x07\x8f\x3e\xfa\x18\x9e\x78\xe2\x09\x14\x2b\x15\xac\xa4\xd3\
+\x90\x24\x19\x55\xa3\x9a\xd3\x75\xbd\x5a\x27\xe0\xfb\xdf\xff\x1e\
+\x6a\xe5\xd2\xa5\x8b\xf3\x9a\x47\xe3\x5e\x8f\x86\x5c\x7e\x05\xed\
+\x1d\x1d\x78\xf2\x27\x3f\xc3\xf4\xd4\x34\xbe\xf6\xb5\xff\x01\xaf\
+\xd7\x83\x27\x7f\xfc\x2f\xc8\xe7\x72\xf0\x7a\xbd\x4e\x43\x18\x81\
+\xd5\xe3\x1d\xb9\x91\x9e\x35\xa8\x84\x1a\xd4\xe2\x66\x88\x75\x49\
+\xaf\xba\x85\xe3\x1a\xb4\xea\x22\xb5\xe7\xdc\x63\x06\x40\x62\x6e\
+\x97\xcc\x6a\xf8\x9d\x7b\x8a\xaa\x40\x53\x35\x9c\x3a\x79\x12\xcf\
+\xfe\xe2\x19\x7c\xfa\x3f\x7c\x1a\x47\x1e\x7e\x18\x3f\xfe\xd1\x8f\
+\xa1\x9b\x36\x7c\x5e\x2f\x12\x0b\xf3\xd8\xb4\xa9\x0f\xe3\xd7\xaf\
+\xcf\x54\xab\x55\xa3\x4e\x40\x63\x00\x1e\x1f\x1f\x5f\x4c\x26\x93\
+\xb9\xdd\x83\x83\x58\x5c\x98\x03\x63\x84\x9e\xde\x3e\x1c\x7b\xf9\
+\x24\x5e\x3d\xfd\x2a\xbe\xf8\xc5\x2f\xe2\xc8\x91\x23\x78\xe6\xe9\
+\x9f\xe1\xe5\xe3\xc7\x21\x08\xf0\x6a\x5a\xbd\xef\x77\xd4\xc0\x1c\
+\x52\xea\x63\x06\x07\x3c\x68\x9d\x2a\xea\xf9\x02\xd5\xcf\x25\x59\
+\x76\xfc\xb8\x26\xfb\x5a\x17\xcb\x6a\x53\xf4\xae\x72\x00\x48\xc4\
+\xa0\xa8\x0a\x3c\x7e\x3f\x12\x0b\x09\xfc\xe0\xfb\xdf\x43\x72\x79\
+\x09\xff\xfd\xaf\xbf\x86\x9e\xee\x5e\x3c\xf5\xd4\x4f\x61\x0b\x42\
+\xbc\x2d\x8e\x9b\x37\x26\x10\x0a\x05\xd1\xd3\xdd\x8d\xb3\x67\xcf\
+\x4d\xa2\xa1\xe3\x59\xb3\x4c\x6b\x9a\x26\x5f\x5e\x4e\x89\xed\xdb\
+\x77\x20\x16\x89\xe0\xfa\xd8\x35\xa8\xaa\x82\xa6\x96\x16\x2c\x2c\
+\x2e\xe3\xbb\xdf\xf9\x2e\x6e\x1f\x3e\x80\xaf\x7f\xfd\xeb\x20\x02\
+\xfe\xf9\x07\xdf\xc7\x99\x33\xaf\x82\x73\x0e\x8f\xd7\x0b\x49\x91\
+\xc1\x18\x5c\x45\xac\x5a\xdb\x91\x6a\x4d\x15\x54\xcf\x26\x6b\xc0\
+\x59\xdd\x1d\x1c\xc5\xd4\xc8\x61\xb5\xe0\xd8\x10\xec\x18\x31\x68\
+\x9a\x07\x9a\xd7\x83\xa5\xc5\x45\xfc\xf8\x89\x27\xf0\xab\x5f\x3e\
+\x8f\x47\x3e\xf8\x41\x7c\xe5\x2b\x5f\xc1\x6b\x67\x5e\xc5\x4f\x7f\
+\xfa\x33\x34\xb5\x44\xa0\x68\x1a\x16\x17\x12\x48\x2e\x2f\x61\x68\
+\x70\x08\x92\x24\x21\x93\xc9\xd8\x8d\x04\x34\xce\x08\x89\x9e\xde\
+\xde\x58\xd5\x30\x9a\x24\x49\xc2\x81\xdb\x6f\xc7\x2f\x7f\xf5\x2b\
+\xdc\xbc\x39\x81\xce\xae\x6e\xf8\xc2\xcd\x50\x54\x15\x7f\xf3\xb7\
+\x7f\x8b\xbd\x7b\xf6\xe0\x73\x9f\xfd\x2c\x26\xa7\xa6\xf1\xc3\x1f\
+\xfe\x33\xfe\xe9\xff\xfe\x00\xbd\x9b\x36\x61\x70\x70\x10\xed\x6d\
+\xed\x90\x15\xc5\x59\x2b\xe4\x7c\xd5\x35\xd8\x6a\xef\x00\xd0\xaa\
+\x3b\xb8\x71\x84\x08\x6e\x57\xb8\x9a\x2c\x42\x10\x38\x04\x14\x49\
+\x86\xc4\x64\x08\x00\x85\x42\x1e\x97\x2f\x5f\xc6\x85\xf3\xe7\x51\
+\xad\xea\xb8\xef\xbe\x77\xe1\x91\x47\x1e\xc1\xe4\xe4\x24\xbe\xf0\
+\x85\xbf\x00\x93\x64\xdc\x7b\xdf\xbb\x90\xcd\x66\x90\x5c\x5e\x42\
+\x2a\x95\x44\x7b\x5b\x3b\x06\x07\x07\x31\x9f\x58\x44\x57\x77\x77\
+\x5f\xa3\xd1\xe5\x0f\x3d\xfa\xa8\x83\xde\x89\x8c\x3d\x00\xd8\xd8\
+\xf5\x71\xec\xdd\xbb\x0f\xe3\x13\x13\x98\x9a\x9a\xc6\xd4\xe4\x4d\
+\xb4\xb6\xb6\x61\x73\x7f\x3f\xf6\xec\x1b\xc6\xaf\x5f\x78\x11\xa7\
+\x4e\x9f\xc1\x23\x1f\x38\x82\xcf\x7f\xfe\xf3\x48\xa5\xd2\x78\xee\
+\xb9\x67\x71\xf4\x85\x17\xc0\x39\x47\x57\x77\x37\xfa\xfb\x37\xa3\
+\xa3\xab\x13\xa1\x40\xc8\xfd\x02\xc4\x19\x51\xd6\x73\x77\xb6\x3a\
+\x37\xd0\x98\x0f\xd4\x33\x4e\x62\xe0\x5c\xc0\xa8\xea\x48\xa5\x53\
+\x98\x9c\x9c\xc4\xc4\xf8\x04\x32\xe9\x14\x62\xb1\x18\x1e\x79\xe4\
+\x11\x1c\x3c\x78\x10\x89\xc4\x22\xbe\xf9\xad\x6f\xe1\xf4\xe9\xd7\
+\x10\x6d\x8d\xe1\xf0\xdd\x87\xb0\xb2\x92\xc5\x8d\x1b\x13\xe0\xdc\
+\x86\xa6\x2a\xb8\xf3\xae\x3b\x21\x2b\x0a\x6e\xde\x9c\xc4\xae\x81\
+\x9d\x9b\x34\x4d\x53\x01\x18\x00\x40\x7f\xfa\xa7\x9f\x69\x24\xe0\
+\xf3\x9f\xfc\xd4\xa7\xbe\x72\xf5\xea\x18\x1e\x38\xfc\x2e\x70\xc1\
+\xf1\xd4\x53\x4f\x42\xd7\xab\xc8\xe5\x72\x08\x06\xc3\xd8\x3d\x38\
+\x88\x85\x85\x05\x9c\x7e\xf5\x0c\x08\x02\x9d\x9d\x1d\x18\x39\x70\
+\x00\x23\xb7\x1f\x40\x38\x1c\xc2\xb5\xb1\x31\xbc\xf2\xca\x2b\x18\
+\x1b\x1b\x43\x3e\x9f\x87\xaa\x69\x68\x6e\x6e\x46\x34\x1a\x45\x4b\
+\x4b\x04\xa1\x50\x08\xfe\x80\x1f\xaa\xa2\xd6\xdd\x80\xdb\x36\x04\
+\x17\xd0\xab\x3a\x4a\xa5\x12\x72\xb9\x1c\x52\xa9\x14\x92\xc9\x24\
+\x0a\xf9\x3c\x18\x93\x10\x8f\xb7\x62\xcf\xde\x3d\xd8\xbb\x77\x1f\
+\xc2\xa1\x30\xc6\xc7\xc7\x71\xf2\xe4\x29\x8c\x4f\x4c\x60\x25\x97\
+\x87\xd7\xeb\xc3\x1d\x77\x8c\x00\x44\xb8\x74\xf1\x3c\x42\xa1\x10\
+\x18\x01\x03\x3b\x07\xf0\xe0\x83\x0f\xe2\xc2\xa5\xcb\x58\x5c\x5a\
+\x42\xc0\xeb\x99\xfd\xd8\xc7\x3e\x3a\x9c\xcb\xe5\x96\x01\x40\x96\
+\x15\xb9\x91\x00\xd5\xef\xf5\x41\x08\x8e\xdf\xfc\xeb\x31\xbc\xff\
+\xc8\xc3\x78\xe8\xa1\x87\xf0\xdc\x73\xcf\x22\xd6\x1a\x43\x32\x99\
+\xc2\x89\x97\x8f\x61\xf7\xee\x21\x0c\x0c\xec\xc4\xf8\xf5\x71\x14\
+\x4b\x65\x9c\x3e\x73\x06\x57\xaf\x5d\x43\x67\x67\x27\xb6\x6f\xdb\
+\x8a\xc7\x1f\x7f\x1c\x81\x40\x00\xf9\x7c\x1e\x33\x33\x33\x98\x9e\
+\x9e\xc2\xfc\xfc\x02\xa6\x26\x6f\xa2\x54\x2a\xc1\x34\x4d\xd8\xb6\
+\x05\x22\x67\x99\xbb\x36\xf3\x24\xcb\x32\xbc\x5e\x2f\x42\xa1\x10\
+\x5a\x63\x31\x0c\xef\xdf\x8f\xee\xee\x6e\xc4\x62\xad\x60\x8c\xb0\
+\xb4\xb4\x8c\xcb\x97\x2e\x63\x72\x6a\x0a\xe9\x74\x16\x15\x5d\x87\
+\x6d\x73\xa8\xaa\x8a\x2d\x5b\x36\x23\x9b\xc9\x62\x66\x76\x0a\xad\
+\xad\x71\x90\xe0\x88\xc7\x5b\x71\xdf\xe1\xc3\x38\x7f\xe1\x22\xa6\
+\xe7\xe6\x11\xf0\x79\xe0\xf5\xf9\x64\x80\xea\xae\x5f\x4f\xca\xff\
+\xf8\x4f\xfe\x04\x00\xfe\xfc\x73\x9f\xfb\xdc\xd7\x5f\x7a\xe9\x37\
+\x30\x2c\x0e\x61\x5b\xf8\xe8\x47\xfe\x00\xf3\xf3\x0b\xf8\xe5\xaf\
+\x7e\x05\x45\x55\x51\x28\x14\x90\x4e\xa7\x10\x0e\x35\xa1\x5c\xae\
+\x20\xbb\xb2\x82\xe6\xe6\x66\x44\x22\x11\x04\x83\x41\xf8\x7c\x5e\
+\xf8\xbc\x3e\x84\xc2\x41\x44\x9a\x9b\x11\x89\x44\xd1\xdc\x1c\x86\
+\xcf\xe7\x87\x24\x31\x48\x92\xe4\xcc\x38\xd5\x57\x96\x85\x33\x6f\
+\x00\x82\x2c\x3b\x5f\x94\x70\xce\x61\x54\x0d\xe4\x0b\x45\x64\x57\
+\x32\xc8\xa4\xb3\x58\xc9\xe5\x50\x2e\x97\x51\xa9\xe8\x28\x96\x8a\
+\xc8\x66\x57\xb0\xbc\x9c\x44\xa1\x50\x40\x73\x53\x08\x8c\x11\x64\
+\x45\x41\x47\x47\x3b\xf4\x4a\x05\xad\xb1\x18\x3e\xf8\xc1\x0f\xe1\
+\xd4\xa9\x93\xb8\x39\x33\x07\xaf\xc7\x83\x96\xe6\x26\xc4\xa2\x91\
+\x1b\xef\x7d\xcf\x7b\x0e\x96\x4a\xa5\xe4\x9a\x20\xf8\x0f\x7f\xff\
+\xf7\x38\x7c\xf8\x70\x22\x10\x08\x00\x82\x43\x51\x64\x14\x2a\x3a\
+\xbe\xf9\xcd\xef\xe0\x53\x9f\xfa\x24\x1e\xfd\xd0\x87\xf0\xfc\xf3\
+\xcf\x21\x18\x0c\xa0\xa9\xa9\x09\x89\x85\x05\x54\x2a\x45\x98\x46\
+\x15\x8b\x8b\x89\x3a\x20\x4d\x53\x41\x12\x03\x04\x50\xaa\xe8\xa8\
+\x2e\x2d\x62\x69\x79\x19\xb6\x6d\xa3\xa2\x57\xc1\xb9\x0d\xc6\x24\
+\xc8\x12\x73\xe7\x05\x9d\x01\x37\xb7\x6d\x67\xc4\x47\x80\x22\x4b\
+\xf0\x7a\x3c\x10\x70\x96\xb8\x6c\xce\xc1\xdc\xcf\x6d\x74\x5d\x47\
+\x26\x9b\xc5\x62\x62\x11\x2b\x2b\x2b\xf0\x68\x2a\x88\x80\x78\x3c\
+\x8e\x50\x38\x84\x4c\x3a\x8d\x2d\x9b\x37\xe3\xa1\x77\xbf\x1b\xa7\
+\x4e\x9e\xc2\x99\xd7\xcf\x61\xfb\x8e\x1d\x98\x9e\xbc\x81\xdb\x76\
+\xee\xc0\xd4\xf4\xd4\x52\xa5\x52\x59\x4d\x84\x1a\x94\xc0\xae\x5e\
+\xbd\x3a\x53\x2a\x96\x4a\x9b\x36\x6d\xc2\xf2\x62\x02\xad\xf1\x56\
+\x90\x24\xe3\x87\x3f\x7c\x02\x80\xc0\xc7\x3f\xfe\x71\xc4\xa2\x51\
+\x54\x75\x1d\x3d\x3d\x3d\xd8\xb2\x75\x1b\xba\xba\x3a\xe0\xf3\x7a\
+\x90\x4c\x2e\xe1\xc6\xc4\x38\x26\x27\x27\x91\x4c\x2e\xa3\x54\x2e\
+\x83\xdb\x36\x64\x59\x86\xe6\xd1\xe0\xf3\xfb\xa1\x69\x0a\x38\x00\
+\x5d\x37\x90\x2f\x96\x50\xc8\x17\x90\xcf\x17\x51\x28\x14\x50\xae\
+\x54\x61\xda\x16\x24\x49\x82\xdf\x1f\x80\xc7\xe3\x85\xaa\xa8\x00\
+\x18\x0c\xc3\x40\x3e\x9f\xc7\xfc\xc2\x02\xc6\x27\xc6\x31\x3d\x39\
+\x09\xbd\x52\x42\x7b\x5b\x0c\x3b\x76\x6c\xc7\xce\x9d\x03\xd0\x34\
+\x0f\x72\x2b\x2b\x38\x74\xcf\x21\x3c\xf8\xe0\x43\x78\xf1\x85\x17\
+\x70\xe5\xea\x18\xfa\xfa\xfb\x91\x4c\x2e\x83\x11\xa1\xb7\xaf\x0f\
+\x67\xcf\x9e\xbb\x26\x84\x30\x89\x88\x11\x11\xc9\xb5\x40\x0c\x80\
+\xa5\x33\x99\xd2\xe2\xf2\x52\x65\xfb\xf6\xed\xfe\xf3\xe7\x2f\x60\
+\x76\x66\x0a\x1d\x5d\x3d\xa8\x94\x4a\x78\xf1\xc5\x97\xd0\xd7\xd7\
+\x83\x0f\x3f\xf6\x18\x46\x47\x47\x71\xf2\xd4\x29\x30\x02\xfa\xfb\
+\x37\xa3\xab\xbb\x07\x99\x74\x1a\xa9\x54\x0a\x4b\x8b\x09\x2c\x26\
+\x16\x10\x0c\x06\x11\x8f\xc7\xd1\xde\xde\x81\xb6\xb6\x38\x9a\x9a\
+\x9a\xe1\xf7\xf9\xc1\x41\x30\xc8\x00\xe7\x76\x7d\xbc\x0f\x00\x8c\
+\x49\x50\x15\x05\x3e\x9f\x17\xb2\x24\xa3\x50\xc8\x23\x95\x4a\x23\
+\xb1\x98\x40\x22\x91\x40\x3a\x9d\x86\x69\x18\xd0\x34\x0d\x5d\xdd\
+\x9d\x88\x45\x63\x08\x85\x42\x8e\x22\x32\x29\x74\x74\x74\xe0\xc1\
+\x87\xfe\x10\xb9\x6c\x16\xdf\xf9\xd6\x77\xd0\x1c\x8d\xa2\x25\x12\
+\x45\xb9\x54\xc2\xc2\xfc\x3c\x6e\x1f\x1e\x46\xc0\x1f\xc0\xec\xec\
+\x6c\x0e\x0d\xb3\x6f\x72\xa3\x02\x6c\xcb\xd2\x6f\xde\x9c\x2a\x0e\
+\xed\x1e\x8c\xee\xda\x35\x80\x97\x5f\x3e\x81\x85\xb9\x59\xb4\xb6\
+\xb6\x21\x14\x0a\x62\xec\xfa\x04\xce\x9c\x79\x1d\x8f\x3f\xfe\x18\
+\x3e\xfd\x47\x7f\x84\x93\x27\x4f\x62\x74\x74\x14\x02\x40\x47\x47\
+\x07\xba\xba\xbb\x50\x2a\x96\xb0\xb2\xb2\x82\xec\x4a\x16\x33\x33\
+\x33\x98\x98\x98\x00\x11\xc1\xa3\x69\xf0\xf9\x7c\x50\x54\xb5\x9e\
+\xd9\xc9\x8a\x02\x02\x60\x5b\x1c\x5c\xd8\x80\x00\x6c\xdb\xf9\xc0\
+\x52\xd7\x75\x58\x96\x09\xc6\x18\x7c\x3e\x1f\x5a\x63\x31\xb4\xb4\
+\xb4\x20\x1c\x0e\x43\x92\x65\x94\x4a\x45\x24\x93\xcb\x08\x87\xc2\
+\x78\xe4\x03\x1f\x40\x67\x67\x27\x9e\x7c\xf2\x29\xbc\x7a\xe6\x35\
+\x8c\xdc\x71\x10\xaa\xa6\x21\x95\x4a\x22\xb1\x30\x8f\x68\xa4\x05\
+\xbb\x6e\xdb\x85\x6c\x6e\x05\xcb\xcb\xcb\x2b\x35\xbc\x35\x02\x6a\
+\x0a\x90\x6c\xdb\x2e\x9f\x3b\x77\x6e\xfe\x9e\x7b\xee\xea\x1b\x1c\
+\x1a\xc2\xdc\xfc\x02\x26\x27\x27\x61\x98\x06\xda\xed\x0e\x6c\xde\
+\xbc\x15\x97\x2e\x5f\xc2\x97\xff\xcb\x7f\xc5\xdd\x77\xdd\x81\xc7\
+\x1e\x7d\x14\x23\x23\x23\xb8\x70\xe9\x12\xae\x5c\xbe\x82\x7c\x3e\
+\x07\x8f\xc7\x83\xee\x9e\x6e\xf4\x6d\xea\x83\x65\x59\xa8\xe8\x3a\
+\x2a\xe5\x32\xca\xe5\x32\x74\x5d\x87\x69\x18\xb0\x8c\x6a\x7d\xaa\
+\xcb\x49\x7e\x98\xfb\x61\x83\x0c\x45\x51\x10\x8d\x46\xe0\xf5\x7a\
+\xe1\xf3\xf9\xe0\xf5\xf9\xa1\xaa\x8e\x9f\x57\xca\x3a\x0a\x85\x1c\
+\x2c\xd3\x42\x5b\x5b\x1c\xef\xba\xf7\x5e\xc4\xe3\xce\xb2\xd7\xff\
+\xfa\x9b\xff\x8d\x4c\x26\x8b\xfb\xef\xbf\x1f\xa1\x50\x08\xe3\xe3\
+\xd7\xb1\xb2\x92\x45\xd0\xef\xc7\xe0\xee\x41\x44\xa3\x51\x9c\xbb\
+\x70\x19\x53\x93\x37\xe7\xdd\xd8\xc7\x01\xf0\xba\x02\x64\x59\x66\
+\x96\x65\xf1\x2b\x57\x2e\x8f\x5e\x1e\xbd\x7a\xd7\x9d\x23\xb7\xe3\
+\xc0\x81\x61\x54\xf5\x0a\x16\x97\x96\x31\x31\x7e\x1d\xa6\x69\x89\
+\xdd\xb7\xdd\x46\x15\x5d\xc7\x6f\x8f\x9f\x10\x97\x46\xaf\xd0\xc8\
+\x81\x03\xb8\xef\xde\x43\x18\xfe\xf7\xfb\xb0\xb4\xb4\x84\xb1\xb1\
+\x6b\x62\x76\x76\x4e\xe4\x2b\x15\xc6\x98\x04\xaf\xd7\x23\x82\xf1\
+\x38\xa9\xb2\xe2\x0c\x8d\xeb\x33\xc2\x10\xf5\xa9\x92\xfa\xac\x39\
+\x03\x31\x67\x36\xc8\xb2\x6d\x54\x75\x1d\xe5\x72\x09\xb9\x95\x2c\
+\x88\x08\x4d\x4d\x4d\x38\x30\x3c\x8c\xfe\xfe\x7e\x70\x21\x70\xf6\
+\xf5\x73\xf8\xee\x3f\x7e\x1f\x37\x6e\x4e\x42\x08\xe0\xf6\x91\x11\
+\xc4\x5a\x63\x38\x77\xee\x2c\x74\xbd\x82\x96\xe6\x08\x7a\x7b\xba\
+\x30\x34\xb4\x07\xcb\xc9\x14\x46\x47\x2f\x67\x16\x17\x17\xe7\x64\
+\x59\x56\x85\x10\x96\x6d\xdb\x24\x4b\x92\x44\xf1\x78\x9c\x00\xb0\
+\x42\x3e\xcf\x46\x2f\x5f\x3e\x3f\x33\x3d\x63\x29\xb2\x2c\x1f\xba\
+\xe7\x2e\x91\xcf\xe7\x81\x0b\x97\x90\xcd\x65\x31\x3e\x7e\x0d\xa5\
+\x52\x41\xec\x1a\xd8\x85\xaa\xae\x63\x69\x79\x59\x9c\x3b\x7f\x11\
+\x13\x37\x6f\x8a\xde\xee\x6e\xec\xda\xb5\x13\x43\x43\x7b\x70\xf7\
+\xdd\xf7\xa0\x5c\x2a\xf1\x85\x84\xe3\xbf\xd9\x95\x15\x51\x2c\xe4\
+\xc9\x30\x4d\x08\xee\x8e\xe4\x56\x51\xd7\x27\xfd\x05\x00\xc1\x05\
+\x31\x46\x50\x55\x15\x81\x40\x00\x9d\x9d\x5b\xd1\xd1\xde\x5e\xff\
+\x68\x72\x7e\x7e\x1e\x47\x8f\xbe\x84\xf1\xf1\x1b\x48\x65\x32\xa8\
+\x54\x2a\x50\x14\x15\x9b\x36\xf5\xa1\xb5\x35\x86\x33\xaf\x9e\x06\
+\xe7\x1c\x6d\xed\xed\x68\x0e\x87\x70\xd7\xdd\x77\xa3\x50\x2c\xe0\
+\xe6\xd4\x34\xce\x9d\x7d\xfd\xa2\x61\x18\xe9\x48\x24\x22\xb9\x06\
+\x27\x79\x64\x64\x04\x8c\x31\x92\x24\x89\x0a\x85\x02\x66\xa6\xa7\
+\x27\xc6\xc6\xae\x5e\x22\x26\xed\x35\xaa\x3a\xee\x3f\x7c\x18\xdc\
+\xb6\x71\xf5\xda\x18\x7c\x5e\x1f\xe6\x17\x16\x90\x5b\xc9\x8a\x78\
+\x6b\x8c\x2a\x15\x5d\x54\x2a\x15\x84\x88\x90\x59\xc9\xe1\xf5\xb3\
+\x17\x30\x76\x7d\x42\x44\xa3\x11\x6a\x6f\x6b\x43\xbc\xb5\x95\xf7\
+\x8c\xf4\x32\x27\xf3\x14\xdc\x32\x2d\xaa\x1a\x06\xe9\xba\x0e\xd3\
+\x34\x84\x10\xce\x57\x02\x42\x08\x21\x49\x12\x29\x8a\x02\x4d\xd3\
+\x84\xaa\xaa\x90\x88\xc8\xe2\x1c\x85\x42\x51\x2c\x2f\x27\xe9\xc6\
+\x8d\xd7\x90\x4c\xa5\xb0\x92\xcf\xa1\x52\xae\xc0\x76\x27\x48\xcb\
+\xe5\x32\x9a\x9a\xc2\x80\xb0\x71\xfe\xdc\xeb\x68\x6a\x6e\x41\x34\
+\xd2\x02\x8f\xc7\x83\xfb\xde\x75\x18\xa5\x62\x09\xa7\x4e\x9f\x86\
+\xe6\xf3\xf1\xd7\xcf\x9c\x39\xde\xdb\xdb\x6b\xb4\xb5\xb5\x41\x96\
+\x65\xb2\x2c\x8b\xe4\xdb\x6e\xbb\x0d\x3e\x9f\x8f\x64\x59\xa6\x72\
+\xb9\xcc\x9b\xc2\xe1\xfc\x2b\xa7\x4e\xfe\x7a\x70\x68\xcf\xee\x0b\
+\x17\x2f\x4b\xba\xae\xe3\xc8\xc3\x0f\x0b\x4d\xd3\x70\xe5\xca\x15\
+\xf8\x7c\x3e\x24\x93\x49\x4c\x4d\x4f\x71\x6e\x73\x18\x46\x15\xc9\
+\x64\x0a\x44\x0c\x5e\xaf\x47\x30\x49\x82\x61\x5a\x62\x71\x39\x49\
+\xd9\x5c\x9e\x54\x45\x16\x8a\xaa\xd6\x66\x88\xb8\xac\x28\x50\x65\
+\xc7\xd7\x65\x49\x22\x0e\x90\xe0\x1c\x96\x69\x0a\xc3\x34\x61\x1a\
+\x26\x2c\x6e\x83\x00\x61\x9a\x36\x4c\xd3\x80\x61\x98\xa8\x56\x0d\
+\x77\xf2\x95\xa1\x5a\x35\x28\x93\xc9\x3a\xef\x05\x87\x69\xe8\xa2\
+\x6a\x68\xd4\xdb\xb7\x09\x1e\xcd\x83\x60\xc0\x87\x7b\xee\xbd\x17\
+\x7a\xb9\x8c\xa7\x9f\x79\x06\xfd\x5b\xb7\xe1\xc4\xf1\x7f\xbd\x04\
+\x88\xcb\x23\x23\x23\x76\x3c\x1e\x07\x63\x8c\x74\x5d\x87\x7c\xcf\
+\x3d\xf7\xc0\xb6\x6d\xa8\xaa\x0a\xdb\xb6\x45\x6f\x6f\xaf\x7e\xec\
+\xd8\xb1\xf3\xa7\x4e\x9e\x38\x75\xff\x03\x0f\xdd\x75\xf1\xd2\x28\
+\x84\xc5\xf1\xde\x87\xdf\x8b\xe6\x96\x16\xf1\xfa\x6b\xaf\x43\x55\
+\x55\x11\x8d\xc6\x90\x4c\x2e\x83\x08\x62\x65\x25\x87\xb9\xb9\x59\
+\xe8\x7a\x85\x2c\x8b\x0b\x49\x92\x49\x53\x35\xae\x28\x32\x34\xcd\
+\x03\x45\x91\x61\xd9\x02\xb9\x7c\x4e\x54\xca\x15\x18\xa6\x45\xce\
+\xa4\xac\x20\x08\x70\x77\x18\x04\x59\x95\xa1\x2a\x8a\x08\x86\x02\
+\xf0\x79\xbc\x60\x92\x4d\x44\x04\xd3\xb6\x61\xda\x26\x0a\x85\x02\
+\x96\x96\x96\xb0\x98\x48\x88\x62\x31\x2f\x34\x4d\xa3\x68\x34\x8e\
+\x78\x5b\x1b\xc2\xe1\x26\xc1\x6d\x13\x6d\xf1\x76\xdc\x75\xf7\x9d\
+\x98\x9d\x99\xa1\xdf\xfe\xf6\x18\x5a\xe3\xed\xc8\xa4\x92\xe5\xab\
+\xa3\x97\x7f\x79\xf8\xf0\xe1\xec\xee\xdd\xbb\x4d\xbf\xdf\xef\x64\
+\x9b\x86\x01\xba\x7e\xfd\xba\xc4\x39\x97\x4d\xd3\xd4\x24\x49\xf2\
+\x15\x0a\x85\xa6\xb3\x67\xcf\x76\xbf\xf8\xe2\x8b\x07\x07\xf7\xee\
+\xfb\x74\x7f\xff\x96\xf6\x6c\x3a\x8d\x96\xa6\x30\x0e\xdd\x7b\x48\
+\x84\xc3\x61\x9c\x7e\xf5\xb4\x48\x2c\x2c\x10\x07\x84\x61\x98\x94\
+\xcd\x64\x78\x32\x95\x44\x7e\x25\x47\x5c\x08\x84\x42\x61\xd1\xd6\
+\xd6\x86\xae\xae\x4e\xc4\x62\x71\x34\x35\x87\xa1\xa9\x1e\xa1\x57\
+\x75\xca\x15\x0a\xa8\x56\x0c\x70\x6e\x11\xe7\x7c\xb5\x4b\x66\x8c\
+\x54\x55\xa1\x80\xcf\xcb\x83\x81\x10\x09\x61\xa3\x50\x2a\x21\x95\
+\x4c\x51\x62\x61\x81\xe6\x17\xe6\x91\x4a\x26\x51\x35\xaa\xe4\xf5\
+\x78\x10\x8d\x46\x45\x2c\xd6\x8a\x60\x30\x08\xc1\x05\x24\x89\xd1\
+\xe0\xd0\x20\xb6\x6c\xd9\x86\xdf\xbc\x74\x14\xf3\x0b\x0b\xf0\xfa\
+\x83\x20\x46\xf8\xf5\x73\xcf\x3e\xd7\xde\x1e\xff\xe9\x03\x0f\x3c\
+\x78\xb5\xbb\xbb\x7b\x89\x31\x56\xe0\x9c\x57\xfc\x7e\xbf\x41\xf9\
+\x7c\x5e\xb2\x2c\x4b\x62\x8c\x69\x00\xbc\x42\x88\x60\x22\x91\x88\
+\x1e\x3f\x7e\x7c\xeb\xb1\x63\xc7\xee\x19\xdc\xbb\xef\x83\xed\x6d\
+\x1d\xcd\x1e\x4d\xe3\x33\xd3\x53\xb4\x6b\x60\x27\x0e\xdf\x7f\x58\
+\x24\x12\x8b\xe2\xd2\xa5\x8b\x62\x25\x97\x27\x62\x92\xb0\x6d\x1b\
+\xa5\x52\x11\x2b\xd9\x8c\xc8\x66\xb3\xa2\x50\x28\x92\x10\x1c\x8a\
+\xa2\x8a\x70\x38\x24\x9a\x9a\x9a\x59\x38\xdc\x04\x62\x44\xb6\x3b\
+\xa7\xcf\x18\x23\x46\x04\xd3\xf9\x0a\x45\xc0\x99\x4e\xa4\x72\xc9\
+\xcd\x25\xb2\x59\x94\x4a\x25\x12\xdc\x26\x55\xf3\xa0\xa9\xb9\x49\
+\x44\x5a\xa2\x14\x6e\x6e\x82\x57\xd3\x60\x59\x26\x84\x10\xe8\xe9\
+\xee\xc1\xfe\xfd\xfb\xd8\xd2\xd2\x32\x7e\xf4\xa3\x1f\xc3\xe7\x0f\
+\x60\x53\x7f\x3f\xd2\x99\x34\x5e\x7d\xe5\xe4\x6b\xc1\x40\xe0\x99\
+\x23\x47\x8e\x5c\x1c\x18\x18\x98\xf3\x78\x3c\x59\x22\x2a\x0a\x21\
+\x74\x22\x32\x48\x08\xc1\x6c\xdb\x96\x6c\xdb\x56\x89\xc8\x43\x44\
+\x7e\xce\x79\x78\x7a\x7a\xba\xed\xf8\xf1\xe3\xdb\x4e\x9c\x38\x71\
+\xc7\xd6\xed\x3b\x1f\xec\xed\xdb\xd4\x14\x0c\x04\xc4\xb1\x63\xc7\
+\xa0\x48\x8c\x7f\xe4\x0f\xff\x00\x03\xbb\x06\xc4\xec\xdc\x1c\xc6\
+\xae\x8f\x63\x25\x9b\xe1\xc2\x99\xc4\x14\x96\xcd\x49\xaf\x56\x50\
+\x2c\x14\x44\xb1\x50\x44\xb1\x58\x64\x95\x4a\x19\xa6\x69\x72\xd3\
+\x34\x09\x42\x10\x17\xee\xc2\x19\x11\x04\xb7\x65\x01\xe2\x44\xce\
+\xe7\xf2\x92\x24\x91\xa6\x69\x92\x3f\x10\x10\x81\x40\x00\xc1\x40\
+\x10\xfe\x40\x40\xa8\x9a\x06\xc1\x39\x19\x86\x01\x99\x11\xba\xba\
+\xbb\x69\xd7\xc0\x2e\x08\xce\xd9\xd3\xcf\xfc\x1c\xbf\xf9\xcd\x6f\
+\xb1\x73\x60\x40\xec\x1f\x1e\xa6\xe9\xd9\x19\x5c\x3c\xf7\xfa\xc5\
+\x50\x30\xf0\xc2\xc3\x0f\x1f\x19\xdd\xbd\x7b\xf7\x54\x28\x14\xca\
+\x70\xce\x73\x00\x4a\x42\x88\xaa\x24\x49\x26\x09\x21\xc8\xb2\x2c\
+\x49\x92\x24\x85\x88\x54\x21\x84\x8f\x88\x82\x86\x61\x34\xcf\xcd\
+\xcd\xb5\x9d\x3a\x75\x6a\xcb\xc9\x93\x27\xf7\x87\x9b\x5a\xee\xdc\
+\xbb\x7f\x38\xaa\xa9\xaa\x38\x7a\xf4\xa8\x48\xa7\xd2\x38\x30\xbc\
+\x4f\x3c\xf0\xc0\xfd\x62\xeb\xd6\x2d\xa2\x54\x2a\x89\xa9\xa9\x29\
+\x24\x12\x09\x51\xd1\x75\x08\x01\xc1\x18\x23\xe6\x2e\x8b\xd9\xdc\
+\x26\xcb\xb2\xb8\x69\x59\x64\x9b\x16\x6c\x6e\xb3\xda\x22\x26\x73\
+\xa6\x8c\xb8\x2c\x31\x49\x96\x65\xc8\xb2\x2c\x24\x59\x26\x46\x8c\
+\x20\x04\x4c\xcb\x94\x4c\xc3\x12\x8c\x40\xe1\x70\x88\xf7\xf6\xf6\
+\x4a\xdd\xdd\xdd\xbc\x50\x28\xb2\x13\x2f\x9f\xc0\xf1\x13\x27\x68\
+\x21\xb1\x88\x6d\xdb\x77\xe0\xee\x3b\x0f\xd2\xc4\x8d\x1b\xf6\xe8\
+\xa5\x0b\x97\xbb\xbb\x3b\x4f\x3d\xf0\xc0\x83\x57\x06\x06\x06\x66\
+\xc2\xe1\xf0\x32\x11\xad\x08\x21\x4a\x44\x54\xe6\x9c\x1b\x42\x08\
+\x8b\x9c\xae\xc8\x99\x67\x04\xa0\xc2\xf9\x77\x17\x3f\x80\x90\x69\
+\x9a\x4d\x89\x44\xa2\xfd\xc2\x85\x0b\xfd\xc7\x8f\x1f\xdf\x5e\xd1\
+\xab\xc3\x23\x77\xdc\xd9\xa9\xc8\x0a\x9d\x7c\xe5\x94\xd0\x75\x5d\
+\x34\x85\x42\xbc\xb7\xb7\x07\x43\x83\xb7\x89\x1d\xdb\x77\x88\x60\
+\x28\x88\x52\xa9\x8c\xe5\xe5\x25\x91\x4a\xa5\x90\x2f\x16\x85\x51\
+\xad\x92\x10\x82\x88\x88\x03\x20\x62\xee\xca\x01\x39\xeb\x43\x42\
+\x08\x12\x82\x3b\x6b\x80\xb6\x4d\xb6\x6d\x03\x42\x30\xc6\x18\xf3\
+\x78\xbd\x08\x87\x9a\xa8\xb5\x35\x26\xa2\x51\x27\x17\x98\x9b\x9b\
+\xa7\x0b\x17\x2e\x60\xec\xfa\x75\x29\x93\x59\x11\xa5\x4a\x85\x22\
+\x2d\x11\x8c\xdc\x7e\x80\x6e\xde\xbc\x51\xb8\x3e\x76\x75\x74\x68\
+\x68\xe8\xe2\xa1\x43\x87\x26\xb6\x6c\xd9\x32\x1b\x0c\x06\x93\x44\
+\x94\x03\x90\x03\x50\x81\xf3\x71\x84\x09\xc0\xae\x11\x50\x23\x41\
+\x06\xa0\xb9\x24\x04\x01\x04\x6d\xdb\x6e\xce\x64\x32\xad\xd7\xaf\
+\x5f\xef\x7e\xe5\x95\x53\xfd\x13\x13\x37\xb7\x6d\xdf\xb1\x73\x93\
+\xe6\xf1\x79\xaf\x8d\x5d\x83\xaa\x28\xa2\xa9\xa9\x89\x7b\x3c\x1e\
+\x0a\x87\x82\xa2\x2d\x1e\xb7\xbb\xbb\x3b\xd1\xde\xde\x2e\x42\xa1\
+\x10\x31\xc6\x60\x59\x96\x28\x97\xcb\xa2\x52\x29\xb3\x4a\x45\x27\
+\x5d\xd7\x99\x69\x9a\x36\xe7\x5c\x06\xc0\x85\x10\x4c\x92\x24\xa8\
+\xaa\x42\xaa\xaa\xc1\xeb\xf1\x32\x9f\xcf\x2b\x34\xcd\xc3\xc0\x24\
+\x2a\x97\xca\x2c\x95\x5a\x16\xf3\xf3\xf3\x98\x5f\x58\xa0\x4c\x26\
+\xcb\xca\x4e\x0e\xc2\xd2\xe9\x8c\x50\x15\x45\xea\xee\xe9\xb2\x53\
+\xc9\xe5\x25\xd3\xa8\x8e\x8d\x8c\x8c\x4c\xec\xdb\xb7\x6f\xaa\xab\
+\xab\x6b\xde\xe7\xf3\xa5\x01\x64\xe1\x2c\x85\x95\x5c\xf0\x06\x00\
+\xab\x96\x0a\xd7\x86\x64\x02\x80\xed\x32\x43\xae\x22\x48\x92\x24\
+\x16\x8d\x46\xe1\xf5\x7a\x79\x2c\x16\xab\x5e\xb9\x72\x25\x7f\xfe\
+\xfc\xf9\x64\xb9\x3c\xd7\xe5\x51\x95\x58\xa1\x58\x52\x89\x18\xf7\
+\x78\x3c\x20\xc6\xec\x52\xb9\x22\xa6\xa6\x67\x69\x71\x29\xc9\x7d\
+\x5e\x2f\xf3\xf9\xbd\xf0\xfb\x03\x42\xd3\x54\xae\xa8\xaa\xd4\xdc\
+\x12\x21\x55\x51\x6c\xc6\x88\x18\x63\x0c\x20\x70\xc1\x99\x6d\xd9\
+\xcc\xb6\x6d\xa1\x57\x75\xa9\xaa\x57\x45\x2a\x9d\xa1\x62\xa9\x44\
+\xe5\x72\x19\xa5\x62\x99\xf4\xaa\x2e\xe9\x7a\x55\x08\x41\x12\x93\
+\x15\x6e\x5a\x45\xca\x64\x32\x4c\xaf\x54\xb8\xcc\x90\x4f\xcc\xcf\
+\x2e\xf4\xf5\xf5\xcd\x0c\x0f\x0f\x4f\x6f\xde\xbc\x79\x21\x1a\x8d\
+\x2e\xcb\xb2\x9c\x71\xad\x5e\x72\x2d\x5f\xad\x01\xaf\xe1\x96\x1b\
+\xc0\x73\xf7\xb8\x46\x42\xfd\x2b\x0a\x22\x12\x81\x40\xc0\xee\xef\
+\xef\x37\xa3\xd1\x68\x79\xcb\x96\x2d\xb9\x6b\xd7\xae\x2d\x4d\x4c\
+\x8c\xc7\x2b\xe5\x52\x2c\x95\x5c\x0a\x59\x96\xa1\x72\x6e\x4b\x92\
+\x24\x73\x8f\x47\xe3\xb2\x2c\x0b\x49\x91\x49\x08\x88\x72\xb9\x82\
+\x95\x5c\x5e\x14\x8a\x45\x32\x0c\x43\xd8\x36\x97\x20\x6a\x5f\x0a\
+\x81\x71\x08\xe2\x5c\x08\xc6\x48\x92\x25\x89\x7b\x7d\x3e\xe6\xf3\
+\xf9\x24\x06\x01\x49\x96\x49\xd5\x54\x66\xda\x26\xb3\x6d\x0b\xc5\
+\x52\x09\xc9\xe5\x65\x69\x69\x71\xd1\x34\x0c\xbd\x10\x8b\x46\x32\
+\xfd\xfd\x9b\x96\x06\x06\x76\x2d\x6e\xde\xbc\x79\x31\x16\x8b\x2d\
+\x79\xbd\xde\x0c\x11\x65\x01\xe4\x5d\xcb\x97\x5d\xf0\xe6\x3a\x02\
+\x04\x35\xac\x93\x35\xba\x02\x03\xa0\x34\xc4\x04\x9f\x1b\x17\x02\
+\x42\x88\xb0\x69\x9a\xa1\x62\xb1\xd8\xb2\xbc\xbc\xdc\x32\x33\x33\
+\xdd\x7c\xe3\xc6\xcd\xe6\xb9\xb9\xf9\xa6\x72\xa5\xe2\xf3\xfa\x7c\
+\xfe\x78\x6b\x9c\xb5\x77\x74\x50\x34\x12\x11\xa1\x70\x48\x78\x34\
+\x8d\x81\x24\x5e\x2e\x97\x44\xb1\x58\x64\x86\x61\x33\xce\x2d\x08\
+\xc1\x49\x08\x21\x81\x88\x88\x18\x97\x65\x49\xf6\xa8\x1a\x82\xc1\
+\x00\x49\x8a\xcc\x2c\xc3\x44\xb1\x5c\xa6\x6c\x26\x23\x2d\x2d\x2d\
+\x51\x62\x21\xc1\xd3\xe9\xa4\x01\x21\xca\xb1\x58\x34\xd7\xdf\xdf\
+\x9f\xdd\xbc\x79\x73\xa6\xb3\xb3\x33\xd9\xd2\xd2\x92\xf2\xf9\x7c\
+\x59\xc6\xd8\x8a\x0b\xbc\xe8\x96\x9a\xcf\xd7\x64\x6f\x37\x2a\xa0\
+\x91\x80\x8d\x48\x90\x5d\x12\x1a\x83\x63\x8d\x8c\xa0\x65\x59\x81\
+\x72\xb9\x1c\xcc\xe5\x72\xe1\x64\x32\x19\x5c\x58\x58\x08\xcc\xcd\
+\xcd\xf9\xd3\xe9\xb4\xbf\x5a\x35\x54\xcd\xe3\x51\x9b\x9b\x9b\xe5\
+\x48\x24\xca\x5a\x5a\x9a\x99\xd7\xeb\xa3\xaa\x61\x90\x69\xd6\xc1\
+\x93\x10\x60\x80\x60\x20\x26\x24\xc6\x24\x4d\x53\x25\xc1\x39\x56\
+\x56\x56\x44\x3a\x9d\x62\xa9\x74\xda\x2e\xe6\xf3\x96\x10\xc2\x08\
+\x06\x03\x95\xf6\xf6\xf6\x72\x77\x77\x77\xbe\xa3\xa3\xa3\x10\x89\
+\x44\xb2\xc1\x60\x30\xa7\x69\x5a\x8e\x31\x96\x77\x81\x97\x1a\x80\
+\xd7\x64\x7f\x8b\xe5\xdf\x88\x80\x46\x12\x1a\x7b\x07\xc5\x2d\xb5\
+\x00\xe9\x6d\x50\x86\x8f\x73\xee\x35\x4d\xd3\xa7\xeb\xba\xbf\x58\
+\x2c\xfa\x73\xb9\x9c\x37\x9d\x4e\xab\xa9\x54\xca\x9b\xcd\x66\xd5\
+\x42\xa1\xa0\x54\xab\x55\x89\x73\xae\x08\x01\x49\x08\x21\x11\x91\
+\x6c\xdb\x36\x00\x30\xf7\x93\x95\xda\xf7\x55\xb6\x10\x82\x64\x59\
+\x16\x3e\x9f\xcf\x6c\x6a\x6a\x32\x23\x91\x48\x35\x1a\x8d\xea\x91\
+\x48\xa4\x12\x0a\x85\xca\x7e\xbf\xbf\xa4\x69\x5a\x41\x92\xa4\x12\
+\x11\x15\x5d\xd0\x25\x57\xea\x35\xb9\xd7\x80\xd7\xc0\x37\xba\xf9\
+\xaa\xec\xdf\xe0\xdf\xdb\x56\x17\x7f\x57\x49\x90\x5c\x45\xd4\x5c\
+\x43\x75\x09\xa9\x91\xa2\x01\xd0\x84\x10\x1e\xdb\xb6\x55\xd3\x34\
+\x3d\xd5\x6a\x55\x31\x0c\x43\xab\x56\xab\x6a\xb9\x5c\x96\x75\x5d\
+\x57\x74\x5d\x97\x4d\xd3\x84\x65\x59\x0a\xe7\x5c\x72\x1b\x43\x8c\
+\x31\x52\x55\x15\xaa\xaa\x72\x4d\xd3\xb8\xcf\xe7\xe3\x1e\x8f\xc7\
+\xf4\x78\x3c\xa6\xa6\x69\x86\xa2\x28\x86\xa2\x28\x3a\x63\xac\x26\
+\xe9\x72\x83\x95\x75\xb7\xd4\x80\x5b\x2e\xf0\x9a\xdc\xeb\x92\x6f\
+\x04\xff\x66\x04\xd4\x48\x68\x24\xa3\xe6\x16\x8d\x64\x34\x12\xa2\
+\x6c\x50\x64\x00\xaa\x10\x42\xe2\x9c\x2b\x9c\x73\x49\x08\x21\x0b\
+\x21\x98\x5b\x24\xb7\x4e\x01\xa7\xc7\x11\x44\x24\x88\xc8\x66\x8c\
+\x09\x22\x32\x89\xa8\x16\x94\x0d\xb7\xd4\x02\xb4\x81\x55\x2b\xd7\
+\xee\xd5\x7c\xbc\x56\xc4\xba\x72\x2b\xc8\xb7\xf0\x0f\x8e\xeb\x89\
+\xd8\x88\x8c\xc6\x22\x6f\x40\x52\x0d\xa8\xdc\xf0\x5b\xb6\xae\xce\
+\xda\x56\x93\x6a\xcd\x7a\x35\x50\x16\x56\x2d\xdb\x78\x6c\x37\xdc\
+\xe7\x0d\xbf\xe7\xeb\xea\xdc\x18\xdc\xdb\xf8\x0f\x4f\xda\x60\x5f\
+\x23\x63\xfd\xfe\x8d\x4a\xe3\x73\x1b\x81\xaf\x35\xb6\x56\xf8\xba\
+\x62\xaf\xdb\x37\xca\x5b\x60\xad\xd4\xdf\x14\x78\x6d\x7b\x3b\xff\
+\x3b\xbc\xa1\x0f\xfd\xff\xbe\xfd\x3f\x7d\x25\x03\xb9\x75\x54\xd5\
+\x13\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x05\x71\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xaf\xc8\x37\x05\x8a\xe9\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x05\x03\x49\x44\x41\x54\x78\xda\x62\
+\xfc\xff\xff\x3f\xc3\x40\x02\x80\x00\x62\x62\x18\x60\x00\x10\x40\
+\x03\xee\x00\x80\x00\x1a\x70\x07\x00\x04\x10\x0b\x23\x23\x23\xdd\
+\x2d\x15\x5d\xcd\xe0\xc8\xcc\xc4\xd0\xc0\xc4\xcc\x60\x07\x10\x40\
+\x4c\x2c\x0b\x19\x1c\xa1\x21\x41\x73\x97\xb0\x2e\x62\x70\xe4\x58\
+\xc2\x70\xf0\xeb\x1f\x86\x7d\x9f\x7e\x31\xd8\x7d\x7a\xc8\x30\x0d\
+\x20\x80\x18\x19\x16\x32\xfc\x67\xf8\xc9\xb0\x8c\x21\x8d\x21\x03\
+\xa8\xe6\x1b\x10\xff\xa5\xba\xcd\x73\x81\x9e\x64\x64\x68\x60\x00\
+\xfa\x18\x2e\x76\x85\xa1\x95\xa1\x9b\x61\x33\x40\x00\x31\x31\xfc\
+\x62\x78\x04\xf4\x7f\x14\x43\x1f\xd0\x29\x0c\x0c\x7c\x40\xcc\x4c\
+\x35\x8b\xa7\x32\x28\x32\xcc\x04\x7b\x71\x1f\x37\x0b\xb7\x1d\xc3\
+\x6f\xa0\x18\x08\x9f\x01\x5a\xdd\xcd\xb0\x1d\xc8\x7a\x03\x10\x40\
+\x4c\x40\x3f\x6f\x65\xf8\x03\x64\x72\x31\x04\x32\x74\x32\xcc\xa3\
+\x8a\x23\x26\x02\x2d\x9e\x0a\xb4\x98\x99\xe1\x9e\x10\x8f\x50\x5c\
+\x98\x59\x18\x83\x08\xa7\x08\x03\xd0\xb3\x5f\x18\x0e\x33\x34\x31\
+\x4c\x66\xd8\x08\x54\xf5\x1c\x88\x5f\x02\x04\x10\xc8\x01\x87\x40\
+\x0e\xb0\x33\x04\x86\x0e\x37\x43\x00\x43\x1b\x05\x8e\xe8\x05\x5a\
+\x3c\x11\x62\x31\x3f\x0f\x7f\x9c\x8f\xbd\x0f\x43\x5a\x70\x1a\xc3\
+\x91\xab\x47\x18\x1e\x3e\x7b\xf8\x95\x61\x2d\x43\x39\x50\x16\xe4\
+\xf3\xa7\x20\xcb\x41\x51\x0e\x10\x40\xa0\x84\xc7\xca\xd0\xcf\xf0\
+\xcb\xd6\xcd\x96\xe1\x2f\xe3\x5f\x86\x63\x3b\x8f\x31\x30\x7c\x66\
+\xd8\xc0\x50\xc7\x90\x04\x94\xfb\x44\x54\x9a\xe8\x04\x5a\xcc\x0c\
+\x8e\xe3\x38\x56\x76\x56\x06\x0d\x23\x0d\x06\x63\x73\x63\x86\x0f\
+\xaf\x3f\x30\xec\xdb\xbc\x8f\xe1\xd3\xfb\x4f\x5f\x81\xe1\x5c\xc6\
+\xb0\x9f\xe1\x2c\x50\xf5\x33\x50\xd0\x03\xf1\x4f\x20\xfe\x07\x10\
+\x40\x10\x5f\xda\x33\x98\x7d\x67\xfa\xae\x2a\x65\x2b\xc5\xc0\xc6\
+\xcb\xc6\xf0\xf6\xc1\x5b\x0d\x06\x4b\x06\x75\x86\x83\x0c\x3b\xa0\
+\xb1\xf6\x1f\x87\xc5\x02\x0c\xae\x0c\x1d\xc0\x34\xb4\x9c\x99\x9d\
+\x59\x5f\xc6\x54\x86\x41\xdb\x5b\x9b\x81\x57\x9e\x97\xe1\xf9\xab\
+\xe7\x0c\x87\x56\x1e\x62\xf8\xfe\xfa\xfb\x3d\x86\x95\x0c\xa5\x0c\
+\x27\x18\x2e\xa1\x59\x0e\x36\x13\x20\x80\x98\xc1\x0c\x1b\x06\x99\
+\x9f\xdf\x7f\xba\x00\x2d\x65\xf8\x27\xf6\x8f\x81\x89\x97\x89\xe1\
+\xfb\xfd\xef\x1a\x0c\xe6\x40\x47\x1c\xc6\xe2\x88\x56\xa0\xc5\xce\
+\x0c\x95\x0c\xff\x18\x56\x30\xb2\x33\xda\xf3\x99\xf3\x31\x88\xfb\
+\x89\x33\xb0\x28\xb2\x30\x7c\x66\xf9\xcc\xf0\xe6\xe5\x1b\x86\x9b\
+\xcb\x6e\x32\xfc\x79\xff\xe7\x1e\xc3\x6c\x86\x12\x86\xdb\x40\x08\
+\xb1\xfc\x2d\x03\x28\x25\x20\x99\x05\x10\x40\x90\xbc\x9f\x03\xb4\
+\x48\x9c\xe1\x06\x4b\x2c\x0b\x03\xa3\x3c\x44\xe8\xef\xc5\xbf\x0c\
+\xff\x36\xff\x83\x44\x47\x17\x34\x3a\x1a\x19\x78\x81\x74\x21\x10\
+\xe7\x33\x70\x32\xf0\x03\x1d\xc8\xc0\x62\x06\xd4\xc3\x81\x54\x84\
+\x5c\x04\xba\x76\x33\xd0\xbd\x3f\x18\xee\x31\xcc\x07\x5a\xfe\x8c\
+\xe1\x01\x34\xce\xdf\x03\xf1\x1f\xf4\xd0\x04\x08\x20\x98\x4e\x66\
+\x86\x5a\x86\xfb\x40\x03\x65\x19\xdc\x18\x50\x0c\x63\xd8\x0c\xc4\
+\x5f\x80\x8e\x60\x66\xb8\xc5\xc0\xc1\x90\x0e\xcc\xcf\xfc\x0c\xb6\
+\x40\x31\xa0\xe5\x40\x3e\x2a\x80\xa9\x7f\xcb\xb0\x87\x61\x3d\xc3\
+\x14\xa0\xe5\x0f\xa1\x3e\x7f\x0f\x0d\x45\x0c\x00\x10\x40\x88\x94\
+\x6e\xc6\xa0\x0a\x74\x9f\x29\x83\x3e\x34\xd9\x81\xb0\x28\x10\x83\
+\xfc\x7c\x8f\x41\x03\xe8\x00\x6b\x06\x1d\xa0\x95\x41\x40\xbe\x2a\
+\xd4\xe9\x7f\x91\xf0\x79\x20\xde\x04\x8e\xe1\x3d\x0c\xd3\x81\x79\
+\xe9\x33\xc3\x63\x68\x56\xfb\x80\xcb\x72\x10\x00\x08\x20\x16\x28\
+\xfd\x9f\xe1\x3b\x30\x3b\x3e\x63\xc8\x64\x78\x0d\xe4\xf1\x23\xa9\
+\xd0\x00\x62\x41\x20\x66\x07\x62\x01\xa8\xd8\x2f\x34\x53\xb6\x02\
+\xf1\x65\x20\x7e\x07\xb4\x7c\x0e\xd0\x72\x48\x16\x7b\x4e\x4c\x2e\
+\x02\x08\x20\xe4\xf2\x9f\x15\x18\xbb\xbf\x18\xbc\x80\x2c\x5d\x12\
+\xf2\xfe\x56\x70\xb1\xca\xc0\x70\x07\x98\x99\x37\x83\x0b\x98\x57\
+\x40\xfc\x82\xd8\x2c\x0c\x10\x40\xa8\x85\x8d\x21\x30\x22\xfe\x03\
+\x03\x58\x15\x2d\x78\xb1\x61\x50\xad\xb1\x1d\xea\xf3\xdb\x40\xcb\
+\xb7\x32\xac\x83\xfa\xfa\x05\x38\xd5\x10\x59\xa7\x00\x04\x10\x0b\
+\x12\xfb\x1f\xd0\xff\x07\x81\x49\xd1\x13\x23\x88\xd1\x01\x28\x17\
+\xaf\x02\xe2\xd7\xe0\xf4\xd1\xcf\xb0\x13\x6e\xf9\x4b\xa8\xd3\xfe\
+\x11\x1b\x80\x00\x01\x84\x1a\x02\xca\xc0\x24\xc4\x04\xcc\x94\xc2\
+\xd0\x74\x80\xcb\xe7\x2b\xc0\xd6\x7d\x65\x38\x09\x8c\xb4\x63\x0c\
+\xfb\xa0\x96\xbf\x22\xd5\x72\x10\x00\x08\x20\xd4\x16\xd1\x1a\x60\
+\x4c\xfe\x06\xa6\xde\x7b\xd0\x84\x86\x8e\x41\x65\xd8\x72\x70\xae\
+\xfe\xca\x70\x0a\x58\xb4\x5e\x02\x17\xad\x4f\xa0\xc1\x4e\xb2\xe5\
+\x20\x00\x10\x40\xe8\x4d\xb2\x7f\xc0\xe0\xdd\x02\xcc\xf1\x98\x96\
+\x83\x72\xf3\x22\x20\x7e\x0c\xf4\xe9\x19\xa0\xe5\x57\x80\x24\xa4\
+\x80\x01\xf9\xfc\x3b\x39\x96\x83\x00\x40\x00\xa1\x3b\xe0\x3f\x30\
+\x04\x0e\x31\x7c\x44\x2a\x34\x7f\x41\x03\x78\x2d\x38\x5d\xdf\x63\
+\xd8\x05\x6c\xb8\x5c\x03\xfa\x1f\x62\x39\x4a\xb9\x4e\x0e\x00\x08\
+\x20\x6c\xcd\x30\x56\x86\x68\xa0\xb5\xa0\x92\x4e\x1b\x88\x1f\x01\
+\xf1\x21\x70\xba\xbe\xc7\xb0\x17\x58\xb4\xbe\x03\x17\xad\xc8\xa5\
+\x1b\x45\x1d\x0b\x80\x00\xc2\x5e\xe7\x6b\x01\xb3\x23\x0b\x30\x33\
+\x82\x8c\x3f\x08\xc4\x5f\x81\x99\x6d\x1f\xb0\xf2\xc1\xb4\x9c\x62\
+\x00\x10\x40\xd8\x9a\xe5\xff\x80\x7e\x3a\x08\x2e\x48\x8f\x81\x83\
+\x7d\x0f\x30\xf8\x0b\x80\x96\xdf\x43\xaa\x54\xa8\x62\x39\x08\x00\
+\x04\x10\xf6\x7e\xc1\x57\x60\xe5\xc3\x00\x0e\xf6\x1d\xc0\xd2\x0d\
+\x56\xb4\x3e\xa1\xb6\xe5\x20\x00\x10\x40\x8c\x78\xa2\x46\x08\x88\
+\xc5\xa0\x55\xe8\x2b\xa2\x5b\x47\x24\x02\x80\x00\x62\xc4\x23\xce\
+\x0a\xad\x82\x40\xd9\xeb\x07\x4d\x9a\xeb\x40\x00\x10\x40\x8c\x03\
+\xdd\x3b\x06\x08\xa0\x01\xef\x1b\x02\x04\x18\x00\x8f\x7b\x95\x11\
+\xa5\x12\x2b\xb0\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x09\x2a\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x08\xf1\x49\x44\x41\x54\x58\x85\xa5\x97\x7d\x70\x54\xd5\
+\x19\xc6\x7f\xe7\xde\xbb\x7b\x77\xb3\x5f\xd9\x64\x09\x49\x48\x02\
+\x09\x12\x02\x49\x15\x50\x5b\x30\xa2\x54\xd0\x42\x6b\xb1\x56\x5a\
+\x44\x04\x8a\x0a\x52\x2a\x68\xad\x75\xd4\x8e\xed\xa8\xa5\x71\x94\
+\xa2\x23\xca\xd4\xc2\x94\xa1\x53\xad\xfe\x51\x67\xac\x55\x0b\x4e\
+\xa7\xa8\x54\x22\x28\x20\x45\xa3\x12\x86\xaf\x90\x90\x2c\xc9\x66\
+\xb3\xc9\xdd\xbd\x9f\xa7\x7f\xe4\x53\x2c\x56\xe9\x3b\x73\xe7\xbc\
+\xf7\xce\x39\xef\x79\xce\x73\x9e\xf3\x9e\xf7\x0a\x29\x25\xe7\x6b\
+\x57\xce\xac\x5f\x85\x50\x0e\xbf\xf9\xd6\xdb\xff\x38\xdf\x18\x62\
+\xc6\xa5\x53\x51\x14\x01\x08\x84\x22\x40\x0a\x18\x78\x07\x01\x42\
+\x20\x84\x00\xa1\x20\x10\x48\x04\x42\x80\x10\x22\x0f\xb3\xe7\xb0\
+\x14\xea\x31\xd7\xb1\xea\xa5\x94\x28\x42\xa0\xe4\xc5\x41\x02\x78\
+\xf4\xaf\x4d\xd2\xef\xc8\x81\xef\xfd\xef\x52\x7a\x44\xa3\x11\x94\
+\xf3\x04\x5e\x24\xb3\xa9\x13\xb7\xac\x5c\x5d\x3a\x67\xf6\x9c\xcb\
+\x80\xfd\xe7\xcb\x80\x76\x1e\x63\x12\xae\xd1\xf5\xe1\x8d\x37\x2f\
+\x2f\x5c\xba\xfc\x36\x00\xba\xba\x3b\xa7\xec\x69\x6c\x7c\x1f\xb8\
+\xf8\xab\x06\xfb\xaa\x0c\x4c\x50\xac\xf4\x91\x15\xab\xef\x4c\xdc\
+\x71\xe7\xdd\xb4\xb6\xb6\xd1\xd5\x95\xe2\x89\x8d\xbf\x67\xf6\x9c\
+\x6b\xa6\x01\x9f\xf0\x15\x17\xf5\x55\x00\xd4\xc8\x5c\xd7\xfe\x65\
+\xb7\xdf\x11\x5d\xb6\xfc\x36\x4e\x9c\x38\x49\x24\x1c\x42\x55\x55\
+\xda\xdb\x3b\x78\xb8\x61\x3d\x57\x7e\xf3\xaa\x6a\xb7\xaf\xb3\x09\
+\xf0\x7f\xd9\xa0\x6a\xf9\x98\x92\x7e\x91\x21\x86\x5a\xc4\xe7\x44\
+\x78\x9d\xcf\xeb\xdd\xb9\xfa\xae\xfb\x03\x8b\x97\x2c\xe3\x4c\xf2\
+\x0c\xa5\xa5\x25\xe8\xba\x4e\x20\xa0\x13\x0e\x87\xc8\xf4\xf6\x32\
+\xef\x3b\xf3\x69\xef\x68\x2f\x68\xfe\x68\xff\x1a\xb4\xc0\x4b\x40\
+\xd7\xb9\xa7\x96\xe8\xba\xfe\xa5\x00\xcc\xd5\xc9\xfd\xf5\xfe\x87\
+\x7f\xab\xce\xbb\x76\x3e\x5d\x9d\x67\x48\xa7\xbb\xd9\xbc\x79\x33\
+\x79\xc1\x3c\xda\x3b\xda\x79\xe4\x91\x47\x98\x50\x5d\x4d\x30\x18\
+\x64\xf6\xd5\xdf\x22\x6b\xd9\x81\x43\xef\xed\xba\x05\x2d\xf8\x1c\
+\x90\xfe\x22\x00\xff\x6b\x0b\x96\x44\xfc\xde\xab\x0f\x3d\xf6\x8c\
+\x52\x7f\x79\x3d\xad\x2d\x27\x18\x95\x48\x60\x9a\x16\x4f\x6c\x78\
+\x92\x77\x77\xef\x63\xc7\x8e\xb7\xd8\xb4\x69\x13\xae\xe3\x10\x89\
+\x44\x68\x6d\x39\xc5\x8f\x57\xaf\x65\xc5\x9a\x9f\x87\x34\x27\xd3\
+\xc4\x17\x08\xb3\x37\x93\xf9\x42\x06\x96\x84\x54\x67\xdb\xc3\xeb\
+\x9f\x55\xea\xea\xea\xe8\x4c\x26\x89\x46\xa3\x04\x02\x01\x22\x91\
+\x28\x05\xb1\x22\x2e\xaa\x1f\xc5\xa8\x62\x9d\x69\x93\xe7\x30\xef\
+\xdb\x73\x51\x35\x05\xd7\xf3\xe8\xec\x3c\x43\xfd\xcc\x2b\xc8\x0b\
+\xc7\x7c\x7b\xdf\x7e\x63\x39\x5a\xe0\x65\xa0\xfd\x6c\x06\x84\x38\
+\xb7\x62\xd7\xc6\x43\xda\x93\xbf\x6c\x78\x46\x54\x57\x5f\x40\xaa\
+\xab\x93\x58\x2c\x4a\x2c\x16\x03\xa0\xf5\x54\x2b\x2f\xfd\xf3\x31\
+\xfe\xb4\xf3\x63\x0a\x8a\xc2\x14\x87\xa7\x63\xf4\x2e\xc2\xaf\x47\
+\xc9\xcf\xcf\x07\xa0\xed\xd4\x29\xbe\xf7\xfd\x1f\xa2\x6a\x9a\xef\
+\x77\x1b\x1a\xde\x33\x95\xe0\x3c\xe0\x73\x19\xf3\xbf\x31\x70\x4f\
+\x3c\xe4\xdb\xb0\xee\xa9\x2d\xa2\x72\x6c\x25\x3d\xe9\x6e\x62\xb1\
+\xd8\xd0\xe4\x00\x47\x8f\x1d\x21\x9d\xca\x31\xb9\x74\x3e\xe3\x0a\
+\xaf\x40\x71\xf3\xa8\x18\x5b\xc5\xe8\xa2\xd1\x00\x04\x02\x01\xa4\
+\x94\x74\xa7\xba\x98\x32\xed\x12\x46\x8f\xa9\x54\x1b\xdf\x7c\xf5\
+\x66\x4f\xe8\x8d\xc0\x91\x91\x0c\x9c\x0d\xe0\xc1\x44\x7e\xa8\xe1\
+\xa1\xc7\x37\x51\x5e\x5e\x86\xd1\x9b\x21\x1a\x8d\x12\x8d\x46\x3f\
+\x83\xda\xb6\x5c\xe2\xe1\x62\x6a\x6a\x26\x31\x76\x6c\x15\xe5\x25\
+\xe3\xa9\xa8\xa8\x20\x12\x09\x0f\xf5\x09\x04\x02\x00\xa4\xbb\x53\
+\xd4\x4c\xae\xa5\xb4\xac\x4a\xbc\xf7\xce\x1b\x37\x39\x52\x6b\x02\
+\x3e\x1a\x04\x30\xf2\x2e\x78\xbc\x24\x11\xbb\xa7\x61\xe3\x1f\x48\
+\xc4\xe3\xe4\x72\x06\xd1\x68\x84\xbc\xbc\xd0\xb9\x34\xf4\xa5\xcc\
+\x30\x0c\x7a\x7a\x7a\x88\xc7\x13\xbc\xbb\xa7\x91\x75\x0f\xac\x95\
+\x59\x4f\xbf\x55\x4a\x6f\xab\x32\x82\x81\x0d\x15\xa5\x45\x3f\x6b\
+\xd8\xb8\x95\x31\x25\xc5\xd8\xb6\x4d\x41\x41\x1c\x5d\xd7\xff\xaf\
+\xc9\x01\x7c\x3e\x1f\xc1\x60\x10\xc3\xe8\xa3\xba\xba\x9a\x0b\x6a\
+\xa7\x89\x3d\x6f\xbd\x36\xdf\xb4\x39\x2d\x04\xef\x8b\x19\x97\x4e\
+\x7d\x61\xd2\xc4\xf1\x0b\x6f\x5d\x73\x2f\xc9\xd3\x6d\x38\x8e\x4d\
+\x3c\x5e\x40\x38\x12\x41\xa0\xe0\x49\x17\x29\x25\xd2\xf5\x70\xbd\
+\x81\xab\x5b\x80\x40\x0c\xfb\x03\x9f\xa5\x94\x48\x40\x55\xfa\x6f\
+\x56\x21\x04\x8a\xa2\x81\x90\x64\x32\x19\x52\x9d\x9d\x44\x62\x71\
+\x74\xbf\x9f\xa7\x1e\xfd\x05\x67\xd2\xb9\x5f\xab\x0b\x16\x2c\xb8\
+\xfc\xba\x1b\x16\xd5\x75\xb4\xb7\x8a\xd6\x96\x63\x2a\xb8\x14\x14\
+\x24\xc8\x0b\x06\x31\xcd\x1c\x9a\xaa\x22\x80\xde\xde\x0c\xa6\x99\
+\xc5\x32\x4d\x5c\xc7\xc6\x32\x73\xd8\x96\x89\x6d\x99\x58\x96\x85\
+\x65\x99\xe4\x72\x59\x6c\xcb\xc4\x71\x6c\x34\x55\x45\x55\x55\x5c\
+\xc7\x22\x18\x08\xe2\xd8\x36\xa7\x4f\x1f\xa7\xe5\xe4\x31\xe2\xf1\
+\x42\x6f\xca\x25\x97\x39\x07\xf6\xed\x7d\x43\x03\xee\x02\xee\x2a\
+\x2f\x2b\x7b\x3e\x51\x18\x5b\x54\x56\x36\x86\xed\xdb\x77\xf2\xca\
+\x2b\xaf\xb0\x74\xe9\x52\x76\xee\xdc\x49\x53\x53\x13\xdb\xb6\x6d\
+\x23\x18\x0c\x92\x4c\x26\x49\x26\x93\xe8\x81\x00\xae\xe3\xe2\x22\
+\x51\x85\x20\x9d\x4e\x53\x56\x56\x46\x49\x49\x09\xd9\x6c\x96\x75\
+\xeb\xd6\xe1\x79\x1e\xd7\x5e\xfb\x5d\xd6\xaf\x5f\xcf\xac\x59\x57\
+\xb2\x6a\xd5\x72\x8e\x1f\x3f\x81\xeb\x7a\x5b\x80\xdb\x61\x20\x0f\
+\xd4\xd6\xd6\x00\x04\x0c\xa3\x9b\xb1\x63\x2b\xe8\xe9\x49\xb3\x7b\
+\xf7\x6e\x56\xac\x58\xc1\xc1\x83\x07\x39\x70\xe0\x00\xe3\xc6\x8d\
+\x43\xd3\x34\x72\xb9\x1c\xba\xae\x13\x0a\x85\xf0\x07\x74\xa4\xeb\
+\xe1\xb8\x2e\xc9\x8e\x0e\x22\x91\x08\x63\xc6\x8c\xc1\x30\x0c\x9a\
+\x9a\x9a\xd0\xfc\x7e\x74\xdd\xcf\xde\xbd\x7b\x98\x3a\x75\x0a\x55\
+\x55\x95\x48\x29\x71\x5d\xa9\x0e\x6a\x44\xfb\xcd\xa3\x0d\x83\xbe\
+\x0c\x87\xfd\xe8\x7a\x3e\x75\xb5\x17\xb2\x68\xe1\x22\xea\xea\x2e\
+\xa4\xaa\xb2\x8a\xaa\xaa\x2a\x7c\x3e\x1f\x00\x85\x85\x85\x18\x86\
+\x41\x2c\x1a\x45\xd1\x34\xa4\x27\x71\x5d\x17\xcb\xb4\x28\x28\x88\
+\x23\x84\x20\x14\x0a\x31\x7b\xf6\x6c\x0a\x0b\x0b\x29\x2e\x2e\xa6\
+\xb6\xb6\x8e\x99\x33\x67\x02\x01\x12\x89\x04\x9e\x27\x6d\x80\xe7\
+\x5e\x7c\x01\x2d\x97\xeb\x1d\x04\x90\xed\xcf\x07\xd0\x76\xfa\x34\
+\xfb\xf7\xfd\x9b\xce\x8e\x5e\x5a\x5a\x3a\x50\x35\x6f\x48\xd5\xae\
+\xeb\x02\xa0\x6a\x1a\xae\xf4\x90\x9e\x44\xd3\x34\xa4\xf4\xf0\x9c\
+\xe1\x7e\xcd\x87\x0f\xd3\xd1\x96\xe2\xa2\xda\xe9\x1c\x6d\x3e\x41\
+\x77\x2a\x3d\x2c\x54\xe9\xd9\x43\x0c\xd8\xd6\x90\xdf\x9f\x90\x64\
+\x8e\xb2\xd2\x0a\x2e\xfe\xc6\x14\x52\xea\x2e\x16\xfe\xe8\x2a\xac\
+\xae\xf8\x50\x1f\xc7\x71\xb0\x1d\x07\xdb\xb6\x41\x4a\x5c\x24\x08\
+\xb0\x2c\x0b\xdb\x1d\x8e\x35\x71\xc2\x45\x68\xd1\x14\x6e\xfe\x07\
+\xdc\x7d\xef\x5a\xaa\x2f\x98\x8c\xe7\x18\xd8\x96\x83\xeb\x3a\xce\
+\x10\x00\x67\xd8\x47\x08\x81\xe7\xc2\xa7\x47\x0e\x71\xf0\xd4\xf3\
+\x34\x3d\x9d\xa1\x62\x7c\x11\xe3\xa3\x3f\x40\x3a\x20\xb4\x7e\x06\
+\x3c\xd7\xc3\xb6\x1d\xa4\x27\x41\x01\xcf\xf5\xf8\xfb\xeb\xaf\xb3\
+\xf0\xc6\x1b\xfb\x59\x72\xe0\xc0\xa7\xdb\xc9\xf8\xf6\xb0\xeb\x63\
+\xc9\xd8\xf2\x6a\x0c\x7b\x2a\x96\xe9\xe0\x38\x36\xae\x6b\x0f\x51\
+\xa5\xd9\xc3\x00\x3c\x55\x55\xe9\xc9\xf4\x51\x34\x7a\x14\xf3\x66\
+\xac\xc1\xe7\x85\xf0\x54\x0b\xd3\xcc\xd2\x71\x26\x49\xd1\xe8\x04\
+\xae\xeb\xa2\xaa\x03\x15\xf4\x40\x2a\x50\x15\x95\xcb\xea\xeb\xfb\
+\x59\x01\x3a\x3b\x93\x5c\x3a\x75\x26\x3e\x65\x2e\x7e\x2d\x84\x61\
+\xa6\xc8\xf4\x64\xe8\xcd\xf6\x61\xbb\x2e\xd2\x73\x87\x16\xad\xe1\
+\x89\x41\xdf\x46\x68\x78\x0e\xcc\xb9\xe2\x7a\x72\xb9\x5e\xa4\xe2\
+\xe1\x79\x2e\x66\xce\x44\xd5\x14\xfa\x8c\x3e\x5c\xdb\x01\x55\xc1\
+\xf3\xbc\x81\xfd\x94\x78\x12\x0a\x0a\x0a\x71\x1c\x07\xc3\x30\x50\
+\x7d\x2a\x8b\x6e\x58\x49\x61\x7e\x29\x59\xa7\x1b\x81\x40\x25\x88\
+\x95\xed\xc2\xb1\x6c\x60\x58\x2b\x5a\xc3\xd6\x45\x00\x2c\xbe\xee\
+\xa7\xe1\x63\x1d\x07\xe8\xe8\xf9\x84\x79\xd3\xd7\x30\x79\xc2\x9c\
+\xfe\x12\xde\x01\x23\x67\x60\xda\x26\x66\xce\xc4\x95\x1e\x1a\xea\
+\x00\x00\x31\x50\xf2\xdb\xb8\x6e\xff\x7f\x80\x99\x33\x09\x68\x79\
+\x4c\xa8\x29\xe0\xdd\x4f\xff\xcc\x8e\xc6\x2d\xf8\xb5\x00\xb3\xa6\
+\x2c\x61\x42\xfc\x1a\x8c\x6c\x1f\x88\x61\xb5\x0e\xd6\x03\xe5\xaf\
+\xfd\x6b\xcb\xf5\x4d\x1f\x1d\x21\x9d\x32\x68\x3e\xde\xc4\xaa\xeb\
+\x37\x82\xea\x82\xa7\xf0\xb5\x8a\xb9\xa8\x9a\x0f\x84\x4b\x5f\xa6\
+\x0f\xcd\xdf\x9f\xdf\x2d\xcb\x42\x08\x81\x4f\xf5\xd1\xe3\xeb\x41\
+\x53\x54\xc2\x79\x71\x7c\x01\xd8\xf1\xce\x56\xd6\x3d\xb3\x92\x88\
+\x5e\x8c\x6d\x7b\x1c\x39\xde\xc4\xd5\xd3\x4e\x32\x7d\xe2\x42\x3c\
+\x69\xf4\x0d\x01\xe8\x3e\x63\x01\xfc\xa4\xfd\x64\xbb\xcf\xe8\xd6\
+\xd0\xf5\x7c\x3a\x8f\x29\x3c\xfb\xe2\xbd\xb4\xb4\xb4\xa2\x05\x5d\
+\x6e\x5d\xf0\x2b\xaa\x62\xf3\xe9\xcb\xa6\x88\xc6\xc2\xf8\x15\x48\
+\xa5\x52\x48\x44\xbf\x10\xf1\xf0\x3c\x49\xce\x74\x38\xd4\xdc\xc8\
+\xc1\x93\x7f\x61\xff\xa1\x37\x31\x4e\x45\xd0\xa2\x1a\xaa\x26\x48\
+\x36\x6b\x7c\x50\xf0\x37\x5a\x3a\x9a\x18\x57\x36\xe1\xeb\x47\xdb\
+\xf6\xf5\x0b\x7f\xc6\x9c\x52\x80\x25\xd1\x98\xfe\x47\xa3\xdb\x41\
+\x00\x96\x93\x43\x8b\x78\xf4\xb4\x9b\xf8\xc3\x1e\xf8\x7c\xb4\x7d\
+\x18\x42\x08\x95\xc5\x8b\x6f\x42\xd7\x75\x46\x9e\x1e\x00\xbf\xdf\
+\x4f\x26\x6d\xb0\xbd\x71\x33\x86\xd9\x4b\xf9\xb8\x10\x01\x2d\x44\
+\xdb\x91\x34\xba\x4f\x27\x3a\x3a\x80\x96\xa7\xd0\xd7\x63\x30\x79\
+\x5a\x25\x13\x6b\xc6\xcd\x00\x1a\x07\x01\x70\xf1\xa4\x59\xdb\x72\
+\x5e\xf7\xfc\x5c\x9f\xa5\x16\x27\x2a\x5b\x63\x89\x88\x77\xec\x78\
+\x53\x95\x2a\xfd\xd4\x4c\xba\xe4\x68\xc0\x37\xea\x63\x21\x64\x50\
+\xd7\xf5\x30\x20\xe4\x88\xbf\x5a\x31\x98\xc1\x50\x2c\xc3\x4c\x26\
+\xda\x93\xcd\x95\xaa\x08\x98\xd1\x58\x3c\xdd\xd9\xd5\x16\x71\x4c\
+\xb2\x7a\x40\xef\x3e\xf4\xc9\xae\xda\x74\x57\x46\x11\x1a\x69\x2d\
+\xa0\xd4\x02\xa7\x46\xd6\x84\xcb\x38\xcb\xb6\x6c\x7a\x2d\x1f\xd0\
+\x81\x3c\x60\xd0\xf7\x03\x2a\xe0\x1b\xd1\x55\x02\x0e\xe0\x02\x7d\
+\x40\x06\xc8\x0e\xb4\xbd\xf7\x3d\xb0\xca\x01\x78\x7a\xc3\xcb\x25\
+\xf7\x3d\xb8\x72\x54\x6b\x5b\xf3\xc1\xb3\x45\x78\x2e\xeb\x1e\xe1\
+\x2b\x67\x3d\x23\xc7\x7a\x0c\x9f\x2d\x8b\x91\xe7\xec\xb3\xd6\x36\
+\xf0\x0c\xd9\x7f\x00\x69\x59\xf6\xa1\xa7\xc9\x42\x6a\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0e\xa8\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0e\x6f\x49\x44\x41\x54\x68\x81\xb5\x9a\x69\x90\x5d\xc5\
+\x75\xc7\x7f\xbd\xdc\x7b\xdf\x7b\xb3\x8f\xd6\xd1\x08\x2d\xc8\x92\
+\x02\x48\x80\x04\x88\x58\x2c\x02\x64\x16\x09\x10\x58\x2c\x89\x91\
+\x00\xb1\x06\x70\xa8\x18\x07\xa7\x9c\xf8\x43\x5c\x8e\x8b\xc2\x01\
+\xec\xb8\x0a\xc7\x14\x36\x24\x84\x9d\x72\x20\x36\x06\x43\x14\x16\
+\xc7\x44\xd8\x38\x26\x96\x41\x20\x04\x08\x04\x48\x02\x6d\xb3\xbc\
+\xed\x6e\xdd\x9d\x0f\x6f\x99\xf7\x66\x91\x06\x91\x9c\xa9\x53\x33\
+\xef\xbe\xbe\xb7\xff\xff\x73\x4e\x9f\x73\xba\xef\x08\xe7\x1c\xe3\
+\x95\x36\xb1\x6e\x94\xab\x12\x07\x18\x12\x99\x12\x76\x19\xca\x3d\
+\x82\xb4\x1b\x92\x89\x12\xd7\x05\x60\x11\x7b\xc1\xdf\xe7\xd0\x7b\
+\x14\xd9\x8f\x35\x99\x3e\x85\x76\x82\xca\xb7\xe3\x95\xbc\xfb\xe7\
+\x11\xd7\xc4\xa7\x21\x30\x5c\x32\x62\xad\x1f\xd3\x77\x58\x20\xc2\
+\x93\x27\xf6\x78\x27\xcf\x98\xd3\x33\xff\xd0\x79\x73\x7a\x26\x4f\
+\x9d\xdc\xde\xde\xd1\xee\xfb\x99\x00\x70\x44\xe5\x88\x81\xfe\x81\
+\x78\xd7\xce\x4f\xfa\xdf\x7d\xeb\xdd\x9d\x1f\x6e\xfd\xe4\xcd\xbd\
+\x9f\xa4\xbf\x8c\xc9\xbe\x14\xd0\xb5\xb9\xec\xee\x4f\x0f\x16\xc3\
+\xa7\x22\x50\xf1\x80\x22\xa6\xd4\x65\xf8\xf8\xdc\xe9\x33\x73\x17\
+\x1f\x77\xe2\x82\x13\x8e\x3f\x79\x59\xe7\xac\xd9\x73\x69\x6f\xef\
+\xc6\xf3\x02\x70\x30\xfc\xb9\x42\x08\x10\x10\x27\x21\x03\xfd\x7b\
+\x78\xef\x9d\x2d\x6c\xf8\xe5\x8b\x7b\x7f\xf7\x5f\x6f\xbc\xb8\x73\
+\x47\xfc\x98\x66\xea\xb3\x3e\xd9\x01\x30\x63\xce\xff\x99\x3d\x90\
+\x15\x97\x05\x31\x1f\x5e\xf0\xb9\xc3\xda\x6f\x58\xf1\xc5\x33\x4f\
+\xf8\xe3\x93\x96\xd3\xd5\x39\x09\x93\x1a\xd2\x24\xc6\x5a\x8b\x73\
+\xae\x02\x76\x0c\x11\x08\xa4\x52\x68\xcf\x43\x2a\xc9\x9e\x3d\x3b\
+\x78\xe9\xc5\x67\x79\xe6\x89\xff\x78\x61\xdb\xd6\xe4\x1f\x32\xf4\
+\x3e\x55\x72\xf7\x8d\xcd\xe2\x60\x09\x78\xe2\xfc\x85\x1d\xdd\xfb\
+\xfe\xf6\xbc\x35\x67\xaf\x3e\xed\xac\xf3\x44\x7b\x4b\x17\x61\xb9\
+\x84\xb5\xa3\xcf\xb5\x3f\x12\x35\x71\xce\xa1\xb5\x26\xc8\x64\xe9\
+\xeb\xdf\xc5\x33\x4f\xfe\x24\xfe\xf9\x23\xcf\x3d\x58\x2a\x4c\xf9\
+\x76\x86\xce\xad\xc3\xbd\x71\xd0\x1e\x50\x62\xf9\x45\x0b\x8f\xeb\
+\xfc\xfb\x4b\xff\xec\xfa\x59\x33\x67\xcc\x27\x2a\x17\x31\xc6\x20\
+\x84\x38\xa0\xc5\xc7\x2b\x4a\x69\xfc\x4c\x86\xb7\xb7\xfc\x9e\x7f\
+\xb9\xeb\xee\x4d\x5b\x5e\x4f\x6e\x32\xee\xd9\xf5\x07\xba\xef\x80\
+\x04\x3c\x71\xd2\x57\x96\x9f\x7f\xd4\x2d\x17\xac\xb9\x26\xeb\x2b\
+\x9f\x38\x2a\x23\x00\x46\x01\xfd\x59\x88\xd4\x70\x04\x99\x1c\xc5\
+\xf2\x00\x0f\xdd\xfb\x8f\xfd\x1b\xd6\x6f\xbb\x39\xc3\xec\x7b\x44\
+\x35\x53\x7d\x6a\x0f\xf8\xf2\xc4\x9b\x57\x7e\x69\xe9\xad\x2b\xcf\
+\x5f\xab\x4c\x14\x61\x4c\x3a\x02\xe4\x78\x40\x37\x8e\x39\x90\xc1\
+\x2a\x61\xe5\x81\x14\xfc\xeb\xc3\x77\x87\xcf\xff\xec\x8d\x9b\x52\
+\xf7\x9f\x77\x8d\xf9\xec\xb1\x1e\xe8\x89\x93\x6f\x3c\xfd\xc2\xc5\
+\xdf\x5d\x71\xde\x5a\x9d\x94\x4b\x38\x37\x94\xaf\x47\x03\x3d\xda\
+\x35\x63\x2c\xd6\x3a\x3c\x4f\xed\x17\x74\x23\xf8\x9a\x48\xa9\x90\
+\x9e\xe6\xf1\x87\x7f\x14\xbe\xf4\xcc\xfb\xd7\x66\x99\x75\x7f\xde\
+\xdd\x33\x3e\x02\x5a\x9c\x71\xee\x31\xcb\xa6\x3c\xb2\xfa\x92\x6b\
+\x73\x26\x0e\x71\xd5\x85\x3a\x5e\xeb\x0b\x21\x88\xe3\x94\x69\x53\
+\x3b\xe8\xee\x6c\xe1\xb5\xcd\x3b\x08\x7c\x7d\x40\xd0\xc3\xaf\x49\
+\xa9\x70\x52\xf0\xc8\xbd\x77\xee\x7e\xe3\xbf\xe3\xd5\x89\x7b\xea\
+\xa5\x11\x58\x87\x5f\x08\xc4\x45\x73\x7a\x67\xdb\xdb\x4f\x5d\x79\
+\x61\xae\x9c\x1f\xc4\x98\x18\x21\xe4\xa8\x20\x47\xfb\x2c\x84\x20\
+\x8c\x12\xa6\x4d\xe9\x60\xf5\x8a\xa3\xe8\xea\xc8\x22\x84\xe3\x37\
+\xaf\x6e\x25\x13\x78\xf5\x85\x7f\x20\x22\xb5\xcf\xda\xf3\x39\xfd\
+\xbc\x8b\x27\xed\xda\x7e\xd7\xf7\x32\xe2\x4b\xab\x42\xf7\xf0\xce\
+\x31\x09\xb4\x8a\x2b\xb4\x0e\xb6\x7f\xe3\xc4\x95\x17\xcd\x93\x4e\
+\x52\x28\x0c\x36\x01\x1b\x0d\xf8\x70\x02\x61\x94\x30\xeb\x90\x89\
+\xac\x59\xbd\x84\xae\x8e\x2c\xa9\xb1\xac\x3a\x63\x21\x02\xcb\x8b\
+\x1b\x36\x13\x04\x1e\x72\x9c\x24\x00\xc2\x30\x24\x93\x69\xe5\x84\
+\xb3\x4e\x3d\xf6\xa9\xfb\xd7\x7f\x15\xf8\xda\x98\x04\x62\x76\x7e\
+\x61\xc1\x71\x87\x5e\x32\x69\xf2\x4c\x06\x07\xf6\x42\x43\x8a\x3c\
+\x50\xf8\x08\x21\x28\x87\x31\xf3\xe7\xf4\xb0\xee\x4f\x4e\xa0\xbd\
+\x35\x4b\x14\xa7\x55\x60\x92\x55\x67\x1c\x0d\x38\x9e\x7d\x7e\x23\
+\x9e\xaf\x91\xc3\xee\x1f\xcb\x03\x00\x51\x18\x72\xc8\xcc\xc3\x39\
+\x74\xe1\xef\xaf\x0d\xc4\xaa\x27\x22\xf7\xb3\x0d\x23\x08\xb4\x88\
+\xcb\x83\x6c\x7b\xfe\xc6\xb9\x0b\x57\x04\xa5\xc1\x3e\x4c\x1a\x8d\
+\x0a\x7e\x2c\x8f\x94\xc3\x98\x23\x0f\x9b\xc9\xd5\x6b\x4e\x21\x97\
+\x0b\x88\xe2\xa4\x9e\x6a\x4d\xb5\x42\xaf\x3a\x73\x11\x4a\xc2\xbf\
+\x3d\xfd\x5b\xb4\x56\x48\x29\xea\x60\xf7\x47\xc0\x39\x87\x4a\x52\
+\xfe\x68\xd1\x92\xf6\x6d\x6f\x3e\x79\x63\xab\xb8\xe2\x95\x82\xfb\
+\xa7\xb4\x89\x40\xca\xee\x65\x33\xe7\xf7\x9e\xee\xfb\xad\x14\xf2\
+\xfd\x4d\xb9\x7e\x38\x81\xe1\x5a\x2a\x47\x2c\x59\x34\x97\x6b\x2f\
+\x5f\x4e\x26\xf0\x88\xe3\xb4\x72\x6b\x03\x08\xe3\x1c\x2e\x76\x9c\
+\x73\xfa\x22\xa4\x84\x87\x1f\x7f\x09\x25\xe5\x08\x12\x35\xe0\xc3\
+\x09\x40\x99\x96\xd6\x2e\xa6\xce\x99\xb0\xf2\xa3\x4d\xfb\x16\x03\
+\xaf\xd4\x09\xb4\x8a\x2b\xa4\xf2\x07\xff\x74\xd2\x21\x8b\xbc\x52\
+\xbe\x0f\x9b\x94\x81\x21\x80\x63\x01\x17\x42\x50\x2c\x45\x2c\x5b\
+\x7a\x04\xd7\xad\x3b\x03\xcf\x53\xc4\x49\x2d\x6c\x18\x21\xc6\x39\
+\xca\x51\xc2\xca\xe5\x8b\xd0\x4a\x70\xcf\x83\xcf\x55\xc2\x40\x09\
+\x9c\x6b\x26\x31\x1a\x19\x95\x18\xa6\xce\x9a\xdd\xbe\xfd\xcd\xdf\
+\x5d\xdc\x44\xc0\x52\x9c\x95\x9b\xa8\xce\xf4\xfd\x56\x0a\x83\xfd\
+\xe0\xec\x08\xa0\x52\xca\xa6\xcf\xb5\xb0\x39\xf3\xd4\xc5\x5c\x77\
+\xe5\x0a\xa4\x14\xc4\xc9\x81\x7b\x30\xe7\x1c\xa5\x30\xe6\x8c\x53\
+\x16\xa1\x94\xe4\x07\x3f\x7e\x8a\xd0\x18\xb4\x56\x4d\xc0\x6b\x8d\
+\x61\xa3\x0a\x51\x26\x93\xeb\x22\xd3\x25\x4f\x6f\x11\x6b\x27\x14\
+\xdd\x03\x7b\x35\x80\x63\x70\x49\xb6\x6b\xc2\xb4\xb8\x5c\xc6\x46\
+\x79\xa8\x02\xae\xe9\x70\x32\x35\xf0\x5f\x3c\x7b\x29\xd7\x5f\x75\
+\x36\xce\x39\x92\xc4\x8c\xd6\x5d\x8c\x2a\xd6\x42\xb1\x1c\x72\xda\
+\x49\x47\xa2\x94\xe0\x8e\x3b\x1f\x67\x30\x5f\xc6\x1b\x46\xa2\x91\
+\x4c\x8d\x90\xf4\x32\xe4\xba\xb3\x87\x87\x7b\x07\x16\x03\xeb\x2b\
+\x04\x64\xe1\x78\x9d\x9d\x4a\xa9\x30\x80\x4d\xcb\x4d\xe0\x1b\x09\
+\x48\x29\x71\xce\x11\x46\x09\x97\x5c\x78\x1a\xd7\x5f\x75\x2e\x69\
+\x6a\x30\xc6\x8e\x19\x36\x63\x7b\x02\x8a\xa5\x90\x65\x4b\x17\xa2\
+\x95\xe2\xdb\xb7\x3f\xc8\xe0\x60\x01\xdf\xd7\x4d\xd6\xaf\xfd\x5d\
+\x23\x21\xe3\x14\x2f\xdb\xa6\x9d\xe8\x3b\x06\x58\x2f\xdb\xd4\x95\
+\x3e\x7e\x79\xa1\x43\x52\x2c\xe6\x09\xc3\x90\x28\x8a\x08\xc3\xb0\
+\x49\xa3\x28\xa2\x54\x2a\xd1\x3f\x90\x67\xed\xc5\xa7\x71\xc3\x55\
+\xe7\x92\x24\x29\xa9\x31\xb8\x83\xfc\xb1\xce\x91\x2f\x96\x59\xba\
+\xe4\x70\xbe\xf9\xf5\x4b\xc9\x64\x34\xfd\x03\x83\xa3\xce\x5f\xd3\
+\x72\xa9\x80\x13\x3e\x4e\xc7\x0b\xda\xd4\xd5\x42\x3a\x61\x3a\x85\
+\xc7\x74\xe7\x24\x69\x1c\x93\xa6\x29\x49\x92\x90\xa6\x69\x5d\x4d\
+\x9a\x12\x45\x31\xc5\x52\xc8\x75\x57\x9e\xcb\x75\x57\xae\x22\x8a\
+\x13\x52\x63\xc1\xf1\x99\xd4\x39\xc8\x17\xcb\x1c\xb7\x78\x3e\xdf\
+\xf9\xe6\x35\x74\x77\xb6\x51\x28\x94\x30\xc6\x54\xe6\xae\xfe\xae\
+\x69\x1c\xc7\x08\xa9\x10\x7e\x34\xd7\x49\xdb\x2a\x9d\x48\xba\x84\
+\x1f\x74\x0a\x21\xb1\xce\xd4\x5d\xd5\xa8\x95\x3c\x6e\xf9\xea\x97\
+\x2f\xe4\x9a\xcb\xce\xa6\x1c\x46\xa4\xa6\xea\xda\xcf\xa8\xb5\x50\
+\xc9\x17\xca\x1c\xb9\x60\x0e\xdf\xbd\xe5\x06\x7a\xa7\x4d\x24\x8c\
+\xe2\x51\x43\xc8\x5a\x53\x6d\xf4\x98\xe4\x84\x69\x91\x42\xd1\x61\
+\x70\x2d\x85\xfc\x20\x49\x1c\xd7\xbb\xce\xc6\x18\x2c\x95\x43\xd6\
+\x5d\xb2\x82\xab\x2f\x3d\x87\x72\x14\x63\xcc\xc8\x0c\xc1\x28\x7a\
+\xa0\xef\x87\x8f\x2b\x14\xcb\x1c\x75\xc4\x1c\xee\xb8\xe5\xcb\xb4\
+\xb6\x64\x48\x92\xb4\x62\x40\x63\xaa\x63\xaa\x8b\xd9\x3a\x84\x92\
+\x2d\x48\xd3\xa1\x91\x42\x58\xeb\xe4\xde\xdd\xbb\x18\x70\x65\x72\
+\xb9\x2c\x2d\x2d\x2d\x64\x32\x19\x7c\xdf\x47\x29\x85\xa7\x35\x2f\
+\xfc\xea\x55\xf6\xec\x1b\x60\xf9\x29\xc7\x70\xfc\xb1\x87\x13\xc7\
+\x49\x9d\xa8\x52\x12\xdf\xf3\x70\x54\x56\xb1\x40\x60\xac\xad\x8f\
+\x01\xf0\x7c\x0f\x25\x65\x7d\x4c\x6d\x9c\x75\xb6\x5a\xf8\x04\x69\
+\x6a\xb8\xef\x91\x67\xf9\xc3\xa6\x77\x29\x95\xc2\x11\x86\x74\x0e\
+\x9c\x75\x58\x1c\x48\xe9\x23\x45\x4e\x23\x05\x48\x1f\x54\x06\x1b\
+\x97\x28\x95\x4a\x44\x51\x84\xe7\x79\xf8\xbe\x4f\x26\x93\x21\x08\
+\x02\x36\xbd\xb9\x95\xdf\xbe\xba\x99\x23\x0e\x9b\x8d\x52\xb2\x5e\
+\x5c\x7c\xdf\xe3\xf5\x37\xde\xe3\x81\x47\xd7\xe3\x79\x1a\x21\x20\
+\x49\x0d\x87\xce\xec\xe1\x8a\xb5\x67\x61\xad\x43\x6b\xc5\xbd\xf7\
+\xff\x82\xb7\xdf\xfd\xa8\xbe\x37\x70\x0e\x92\x24\xa5\xb7\x67\x02\
+\xd7\xac\x3b\x17\xcf\xab\xa4\xd0\x07\x1e\xfd\x77\xde\x7e\xf7\x43\
+\xda\x5a\x73\x08\xe1\x30\xa6\xe2\x81\x38\x8e\x89\xe3\x98\x28\x0a\
+\x29\xa7\x1a\x93\x1a\xab\x95\x30\xda\x49\x19\x09\xa1\x62\xa9\x74\
+\x4e\x29\x85\x14\xa0\x54\x65\x92\x34\x4d\x29\x95\x4a\x84\x61\x88\
+\x52\x8a\x24\xb5\x18\x93\x36\x1d\x9b\x28\x29\xd9\xb5\xbb\x8f\x5f\
+\xac\xff\x35\xd9\x6c\x80\x14\x92\x30\x4e\x38\xf6\xe8\xf9\x5c\xb1\
+\xf6\xac\x8a\xa5\x85\xe0\xd5\x8d\x5b\x78\xf9\x37\x9b\x08\x32\x7e\
+\x3d\x6c\xc2\x28\xe6\xb0\x79\x33\xb8\xfa\xf2\x73\xea\xd6\xf6\xb4\
+\x04\x67\x29\x14\x0a\xf5\x84\x52\xd3\xca\xa2\x4e\x31\x32\x87\x72\
+\x94\x91\x7a\x40\x23\xbd\x7d\x0a\x93\x47\xe9\x4e\xa5\x3c\xa4\xb0\
+\x28\xa5\x46\xd4\x02\x29\x25\xd6\xa6\x98\xd4\xd4\x53\x60\x6d\x52\
+\xeb\x0c\x49\x12\xa1\x95\x40\x4a\x81\x49\x52\x8c\x49\x86\xda\x03\
+\x1c\xd6\xa4\xa4\x69\x8c\x4e\x87\xc2\x22\x4d\x22\x92\x34\x6e\x58\
+\xd4\x96\x42\xb1\x48\x3e\x9f\x47\x6b\xd5\x94\x48\x6a\x75\x08\x34\
+\x28\x8d\x32\x2a\x0f\x7e\x41\x23\xfd\x01\xe1\xec\x6e\xa5\xd4\x21\
+\x4a\x7b\x48\x12\xa4\x94\x4d\x24\x6a\x37\x2b\x29\xab\x19\xa9\x9a\
+\x06\xab\x04\x70\x02\x81\x00\x1c\xce\xd1\x50\x39\x87\xc6\x85\x51\
+\x4c\xa9\x54\xc6\x3a\x5b\xf5\x00\x84\x61\x44\x1c\x25\xf5\x94\x6a\
+\x6d\x85\x98\xac\xce\x3d\x5a\x07\x20\x84\x04\x25\x11\x64\xb7\x21\
+\x75\x5e\xa3\xfc\xbc\x70\xfe\x7b\x42\xba\xc5\x52\x07\x48\x3b\xba\
+\x07\x84\x10\x48\x25\xeb\x3b\xaa\xe1\x8d\x56\x8d\x74\x85\xec\xd0\
+\x91\x8b\x75\x8e\x38\x4a\xf8\x8b\xeb\x2f\x62\xdd\x9a\x95\xf5\xee\
+\x13\x2a\x44\x5b\x72\x19\x10\x55\xd2\xd5\x3d\x74\xed\x59\xd6\x36\
+\x9f\x9b\x3a\xe7\x40\x2a\x10\x02\x2b\xb2\x9b\x8b\x7b\xee\x8c\x75\
+\x71\xf7\xf7\x6d\xcb\xa4\xf3\x5f\x51\x22\xbd\x40\x7a\x39\x54\x1a\
+\x8f\xed\x01\xa5\x40\xd4\xc2\xa2\x0a\xa2\x92\x4e\x50\xaa\x99\xa8\
+\x94\xb2\x5e\xaf\xac\xb1\x1c\x71\xd8\x6c\xa4\x92\x4d\xfd\x86\x10\
+\x02\x6b\x2d\x61\x94\xd4\x43\x4d\x29\x89\x92\xaa\x1a\x2e\xc3\x37\
+\x4e\x0e\x44\x06\xd2\x3c\x46\x74\x6f\x84\x6a\x37\xea\x64\xc7\xcb\
+\x22\xd9\x1e\xa9\x96\xde\x40\x52\x42\x62\xea\xa0\x1b\x49\x54\x16\
+\xf7\xe8\x1e\x50\x4a\xd5\x3d\x50\x23\x5f\xaf\x03\xd5\x10\xda\x9f\
+\x58\x57\x69\xa9\xa5\x50\x15\x12\xd5\x67\x0d\xf7\x02\x3a\xc0\xc6\
+\x03\xfb\x9c\xea\x7a\x05\x40\x02\x38\xdd\xb9\xd1\xa5\x6e\xa3\x54\
+\x0a\xa9\x33\x48\xa9\xaa\x9b\x8d\x21\xad\x64\x28\x85\x1d\xb5\x88\
+\x51\x25\xd6\xdc\xd0\x39\x37\x72\xec\x7e\xb5\x1a\x8a\x63\xaa\xf6\
+\x91\xd2\x61\x8d\xb7\x01\xaf\x7d\x4b\xdd\x03\xe5\xed\xdf\x1f\x6c\
+\x99\xb6\xfa\x09\x61\x06\x97\x48\xbf\x0d\x99\x54\x76\x54\x8d\xe0\
+\x6b\x1e\xf1\x7d\x8f\x96\x5c\xa6\x5e\x90\xb2\x41\x40\x5b\x5b\x8e\
+\x49\x13\x3b\x09\x02\x1f\x21\x04\x51\x1c\xd3\xd5\xd9\x46\x36\x1b\
+\xd4\x17\x66\x3d\x6c\x86\x9b\xbe\xb2\xf5\xab\x18\x4c\x49\x94\x56\
+\x75\x0f\x36\x85\x8e\x93\xa0\x5a\xb1\x51\x3f\x46\x74\xff\xb4\xfc\
+\xe1\x1d\x49\x9d\x00\x80\xf1\x7a\x1e\x4f\xc3\xb7\xbf\xe2\xe5\x26\
+\x4f\x91\x84\x28\x17\x21\xa5\x68\x0a\xa1\x20\xe3\xf3\xf2\x2b\x9b\
+\x28\x96\x22\x92\x06\x92\xe5\x30\x62\xd9\x89\x8b\x90\x52\x54\xb2\
+\x84\x80\xc0\xf7\x79\xe8\xb1\xe7\x6a\xd3\xd7\x33\xcf\x90\xc5\x87\
+\x5a\x96\xd4\x58\x04\x95\xc2\x56\x28\x94\xab\x05\x71\x28\xf3\x38\
+\xe7\x10\x4a\xa3\xb4\x47\x39\x1f\xbe\x65\x83\x79\x4f\xd7\xf9\x37\
+\x5a\xa7\xe5\x90\xf3\xbe\xd3\xd9\xdd\xfa\x57\xda\x6b\x43\x25\xfd\
+\x48\x69\x2b\xe1\xd4\xb0\xa0\x2b\x2d\xb4\xad\x7c\xae\x4e\xa2\x3d\
+\x4d\x10\x04\x95\x75\x50\x1d\x07\x02\x63\x4c\x25\xb4\xa8\x82\xae\
+\x36\x86\xd6\x18\x52\x63\x30\xc6\x60\x8d\x69\x6a\xea\x32\x81\x57\
+\x59\x13\xd5\x1e\xc8\x56\xc7\x1b\xdd\x46\x12\xf6\xd1\x5f\xf0\x6f\
+\x2e\x6e\x7b\xf4\x8e\xfa\x92\x68\xf4\xa6\x09\x0e\xfd\x61\x98\xdf\
+\x74\x61\xc7\x94\x89\x87\x0a\xd1\x82\xb4\xa5\xa6\x2c\x24\x84\x20\
+\x93\x09\x9a\x16\xb8\xd6\xba\xae\x8d\x0b\xb9\x36\xbe\x66\xc1\x9a\
+\x9a\x2a\xf0\x5a\x9b\x9c\x24\x49\x43\xb3\x36\xd4\x7d\xd6\xee\x03\
+\x87\x93\x39\x94\x54\x0c\x96\x0a\xff\x63\x82\xa3\x1f\x68\x8a\xc0\
+\xe1\xc7\x19\xd9\x39\x97\xad\x9b\xd8\x52\xbc\x37\xdb\x31\x5b\x88\
+\x78\x1f\xaa\x5a\xd8\x46\x4b\xa9\x9e\xe7\xe1\x79\xde\x08\x02\x8d\
+\x63\x1b\x09\xd4\xac\x3a\x9c\x40\xad\x4d\x18\xad\x75\x36\x4e\xe2\
+\x74\x3b\xc5\xbe\xad\xd1\x9e\xb8\xe7\xa2\xf0\x9d\x1f\x3f\xd9\x88\
+\x77\xc4\xd1\xa2\xcd\xce\x7c\xa8\xbf\xf8\x87\x53\x83\x5c\xff\x65\
+\x7e\x66\x02\x22\xed\x47\xba\x04\x59\x2f\xe5\x95\x94\xe9\xfb\x7e\
+\x9d\x40\x8d\x44\x8d\x40\xcd\x0b\xc3\x4f\xa5\x1b\x09\xa4\x69\x3a\
+\xc2\x30\x49\x92\x54\xb6\x8d\x52\x80\x13\x20\x35\xe8\x76\xa2\xd2\
+\x6e\xfa\xe3\xec\x0f\x5c\xae\xf7\xe7\xc3\xf1\x8e\x7a\xb8\xeb\x2f\
+\xf8\x7a\x6f\x5b\xfc\xda\x63\x53\x7a\x3e\xb7\x54\xeb\x00\x91\x0c\
+\x22\x49\xeb\x39\x3e\x08\x82\x11\x04\x1a\x49\x8c\xc7\x03\x8d\xd6\
+\x8f\xe3\x98\x24\x49\x88\xa2\x88\x24\x49\xaa\x7d\xbf\xc0\x79\xad\
+\x24\x51\x81\x9d\xbb\x3f\x7e\xba\x98\x3d\x7a\x4d\xbc\xf1\xef\xfa\
+\xc7\x45\x00\xc0\x3b\xf2\xe6\x05\xdd\xe9\x5b\x3f\x99\xd2\x33\x7f\
+\xbe\x52\x1e\x22\xc9\x23\x49\xf0\x7d\xbf\x4e\x60\x34\x2f\x68\xad\
+\x9b\x52\x6f\xa3\xf5\x6b\x04\x1a\xb7\xad\x35\xf0\x95\x56\x39\x22\
+\x8e\x22\x12\x03\xc2\x6b\x25\x49\x4a\xec\xd8\xf9\xfe\x86\x81\xcc\
+\xc2\x35\xc9\xc6\x5b\xdf\x1f\x0d\xe7\xfe\x5f\x70\x2c\xfa\xda\xe7\
+\xbb\xe3\xb7\xee\xee\xe9\x99\xbb\x40\xf9\xad\x28\x5b\x24\xa3\x1d\
+\xbe\xef\x35\x11\xd9\x9f\x17\xc6\x0a\x9f\xe1\x96\xaf\xf7\xfb\x89\
+\x25\x21\x4b\x5c\xee\x63\xfb\x27\x1f\xfc\xaa\x3f\xb3\xe0\x72\x29\
+\x33\xef\x61\x0d\xd1\xab\xdf\xfa\x74\x04\x00\xbc\xe3\xfe\x7a\x7e\
+\x47\xb8\xf9\x87\xd3\x27\x4d\x3b\xb5\xbd\x7b\x06\x9e\x88\xf1\x95\
+\x25\xf0\x14\xbe\xef\x11\xf8\x3e\x7e\xe0\xe3\x79\x43\x44\x54\x43\
+\x37\x59\x93\x5a\x06\x6a\x02\x5f\x03\x1d\xc7\x44\x71\x4a\x62\x04\
+\x89\xd3\xf4\xed\xda\xca\xb6\x3d\xfb\x9e\x1c\xcc\x1d\xf1\xe7\xe9\
+\x2b\xdf\xfa\x60\x7f\xf8\xc6\xf7\x92\x6f\xe9\xb7\x26\xb7\x94\xb6\
+\x7c\x63\x66\xbb\xbe\xae\xf7\x90\x05\x7e\x26\x9b\x43\x8b\x84\x40\
+\x83\xef\x6b\x02\xdf\xc3\xf7\x7c\xbc\xaa\x37\xf6\xf7\xda\xa9\xb6\
+\xbb\x4a\x92\x98\x28\x8a\x89\xe3\x94\xc8\x38\x8c\xd3\x94\x0a\x83\
+\x7c\xb0\xed\xf5\xe2\xfb\x45\xfd\xbd\x72\xcb\xdc\xdb\x94\x63\x50\
+\x24\x29\x98\x4a\x0b\x7e\x50\x1e\x68\x14\xff\xf3\x37\xad\x9a\x62\
+\x3e\xfe\x9b\xb9\xbd\x33\x8e\x9f\xda\x3b\x97\x6c\xae\x05\x2d\x0d\
+\x9e\x86\xc0\xd3\x78\x5a\x8f\xe3\x74\x4e\x90\x1a\x43\x9c\xa4\xa4\
+\x29\xa4\x56\x50\x2a\xe6\xd9\xfe\xe1\x66\x36\xef\xf8\xf8\xf9\x5d\
+\xba\xf7\xd6\x74\xc3\x6d\x07\x7c\x3b\x79\x50\x04\xf4\x17\x6e\xc7\
+\xba\x64\x82\x5f\xde\xbe\x66\xba\x57\xb8\x7c\x5e\xef\x8c\xc5\xd3\
+\x7b\x67\xd1\xd9\x3d\x15\x3f\xf0\xc1\x59\xac\x89\xc1\xd9\x7a\x11\
+\xaa\x81\xae\xbc\xa9\x97\x48\xe5\xa1\xa4\x26\x4e\x22\xfa\x76\xef\
+\xe4\x83\x8f\xb6\x9a\x37\xb7\x7f\xf4\xeb\x1d\xa6\xf3\x47\x49\xae\
+\xf7\x09\x89\x1c\x94\x69\x52\xb1\x7a\x6a\x11\xa9\xfd\xbf\xf3\x40\
+\xd3\x8d\x2b\x6e\x9b\xa0\xc3\x5d\xcb\x27\xba\x81\x73\x66\x76\xb7\
+\x9d\x38\x63\x42\xd7\xec\x89\x13\xa6\xd2\xd6\xd6\x8d\xd6\x3e\x4a\
+\x7b\x50\xdf\xa5\x39\xac\x49\x48\x93\x88\xc1\xc1\xbd\xec\xd9\xfb\
+\x89\xfd\xa0\xaf\xff\x9d\xf7\xfb\x8a\x2f\xed\x91\x9d\x3f\xb5\xc1\
+\xe4\x17\xdc\xd3\x7f\x99\x3f\x28\x1c\x9f\x86\x80\xb7\xfc\x56\x50\
+\x0a\xb4\xc4\x49\x85\xf3\x34\x56\x20\x48\x4b\x33\x44\xdc\xbf\x20\
+\xe7\xa2\xc3\x3b\x7c\x39\xaf\x55\xbb\xe9\x39\x69\x27\x7b\x42\x64\
+\x9c\xc0\x25\x86\x72\xc9\x8a\x8f\x0b\x56\xec\x1c\x8c\xdd\x5b\x25\
+\x91\x7d\xdd\xf9\x1d\xaf\xa1\x73\x3b\xa4\x35\x88\x34\x45\x98\xaa\
+\xa5\x8d\x1d\xfa\xfb\xff\xd3\x03\xfb\x13\x71\xd9\xdd\x1e\xb8\x16\
+\x84\x13\x08\x01\x16\x83\x90\x45\x77\xdf\x35\xe3\xfe\x1f\x88\xf1\
+\xca\xff\x02\xe3\xa9\xbe\x7c\x92\x24\xf8\x5e\x00\x00\x00\x00\x49\
+\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x02\x49\x44\x41\x54\x58\x85\xc5\x96\xcf\x6f\x5c\x57\
+\x15\xc7\x3f\xe7\xdc\xf7\x63\x9c\xf1\x1b\xdb\x69\x63\xbb\x34\x09\
+\xa5\xa2\xd0\x04\xa9\x26\x49\x23\x1a\x62\xbb\x6d\x2a\x99\x8a\xb0\
+\x40\x42\x02\x81\x58\xb0\x62\x51\xd8\xb3\x66\xc5\xdf\x91\x00\x12\
+\x5b\x10\x2d\x94\x5f\xca\xaf\x0a\xa1\xb6\xd0\x34\x15\x34\x6d\xb3\
+\xa8\x50\x81\xc4\x49\xd3\x8c\x9d\x99\xf1\xbc\x7b\xef\x61\xf1\xde\
+\x73\x9c\xc4\xe3\xd8\x6c\x38\xd2\xd1\x7b\xf3\xde\xbc\x73\xbe\xf7\
+\x7b\xbe\xf7\x9c\x2b\x66\xc6\xff\xd3\x64\xf2\x47\x97\x40\x04\x2c\
+\x60\x65\x84\x32\x02\xd5\xbd\x85\x08\xb5\x5b\x88\x48\x88\xf4\x87\
+\x81\x5d\xa9\xd2\xca\x94\x4f\x7a\x01\x11\x41\xe4\x4e\x40\x33\xc3\
+\x7c\x64\xea\x89\x69\xcc\x47\x36\x2e\x30\xd6\xef\x7d\x34\x9e\xfe\
+\x74\x41\x92\x66\xe8\x4e\xd0\x46\x33\xbc\x37\xca\x32\x8e\x87\x60\
+\x7b\x63\xac\x82\x5b\xe3\xf5\xcd\x4e\x58\xdd\x36\x00\x8b\x46\x28\
+\x23\xf4\xcb\xce\x37\x8f\x4d\xaf\x2c\x1e\x98\xf8\x67\x08\x56\x25\
+\xdb\xe0\x16\xad\x06\xb2\x3d\x10\xdb\x02\x60\xd1\x08\x3e\xb2\xd6\
+\x1b\xb6\xbf\x78\xec\x91\x5b\x53\xdf\x79\x8a\xdf\xbc\xdf\xf3\xe3\
+\xb9\xd0\xce\x95\x76\xcb\x55\xd7\x5c\x69\x67\xc2\x43\x4f\xce\x54\
+\x40\x78\x30\x88\x64\xcb\xc4\x54\x2b\x69\x92\x1f\x3a\x34\xbd\xfa\
+\xcc\x4b\x87\xf8\x77\x09\x21\xcb\x06\xf4\x87\x44\x14\x4c\xd6\x57\
+\x5f\xec\x7f\xb8\xae\x7d\x13\xe0\x7f\x65\xa0\xa6\x31\x94\x91\x61\
+\x7f\x58\x1c\x9e\xdb\xb3\x3a\xff\xc3\xa7\xf9\xf9\x7b\x90\xf7\x40\
+\x85\x88\x53\x2a\x17\x4c\x84\x62\xef\x24\x16\xe2\x0e\x4a\x60\x23\
+\x18\x30\x30\xaa\x95\x0f\xfb\x65\x31\xf7\x85\xdd\xdd\x85\x1f\x1c\
+\xe1\xf4\x65\xc8\x23\x88\x01\x4e\xad\x01\x60\x66\x14\x8f\x14\x3b\
+\xae\xbf\xd9\x08\x00\x66\x46\xf0\xc6\xb0\xef\x8b\x43\x07\x26\xbb\
+\x0b\x2f\x1d\xe1\xa7\xef\x43\xee\xc1\x14\x04\x30\x55\x13\x55\x50\
+\xa1\x98\x6a\x63\x8d\x20\xb7\x69\x86\x61\x31\xde\x0d\xa0\xd9\x54\
+\x21\x18\xe5\x5a\x59\x3c\xf5\xd9\x4e\x77\xfe\xfb\x87\x39\xfd\x2e\
+\xe4\x25\x88\x19\xde\x84\xe0\x61\x18\x62\xcf\x99\xd1\x6e\x67\x04\
+\x1f\xd9\x56\xc1\xeb\x24\x0d\xce\xfb\x19\xb0\x26\xb9\x2f\x0e\x3e\
+\x36\xde\x5d\xf8\xde\x61\x4e\xbd\x6d\xb4\x7c\x89\xd6\xfb\xdb\x44\
+\x29\xfb\x29\xdf\xdd\xd3\xff\xd4\x85\x3c\x9f\xbe\xd1\x0f\xd7\x5c\
+\x62\x49\xc5\xcd\x7d\x26\x80\x22\xb2\x26\x10\x4d\xa4\x96\x96\x41\
+\x04\x71\x1b\x76\x81\x59\xd5\xf4\xca\x61\x2c\x9e\x9c\x6d\x75\x17\
+\xbf\x75\x98\xd3\x7f\x5d\x23\x37\x8f\x98\xd5\x5d\x0c\x22\x42\x1c\
+\xc0\x47\xb3\xb3\x14\x45\xb8\x9a\x9b\xe0\x46\x48\x59\x04\xf0\x82\
+\x10\x3e\xd6\xa1\x7f\xc7\xb2\xe4\x0d\x59\x1b\xbe\xe3\x6f\x74\xdf\
+\xeb\x8c\x3f\xf4\xe6\xa0\x5f\x0e\x92\x26\x79\x8c\x86\xf7\xa1\x78\
+\x62\xda\x75\x17\xbe\x31\xc7\xa9\xb7\x56\x69\x79\x8f\xca\x06\x6a\
+\xeb\xad\xe5\x06\x30\xf1\xf9\xfd\x4c\x65\x82\x6b\xd6\x39\xc2\x9c\
+\x19\xbb\x1c\xed\x5f\x5e\x19\x24\x09\x56\x48\xb4\x76\x7c\x34\x92\
+\xad\xdd\x6e\xdd\x58\x5e\x19\x24\x0d\x25\x3e\x58\xe7\xf1\x09\x77\
+\xeb\xd9\xaf\x1d\xe0\xf4\x9b\x5d\x72\x0b\x95\xd8\xe4\x4e\x3b\x31\
+\x40\x23\xbc\xfa\x41\x89\x6d\x95\xf5\x1e\x53\xc7\x0d\x45\x03\x52\
+\x95\x50\x9d\xc8\xbf\x2c\x61\x10\x1d\x89\x19\x78\x93\x99\xbd\x6d\
+\xfb\xcf\x73\x4b\x9f\xe3\xd4\x1b\x9f\x90\x5b\xac\xe6\x13\xf7\x4b\
+\xcb\x00\xb7\xc9\xf3\xf5\x07\x1b\xcb\x11\xab\x8b\x88\x98\x28\x11\
+\xf0\x88\x04\x73\x62\x88\xa2\xa9\x92\x68\x96\x32\x73\xf9\x1f\x3f\
+\x59\xf8\xf6\x97\xf9\xc5\x6b\xcb\x30\x28\x31\x81\x20\x71\x3d\x40\
+\x95\xc0\xee\x4e\xd4\xdc\x36\xa3\x50\xef\x64\x57\x01\xd4\x2a\x95\
+\x09\x98\x13\x44\x2a\x3d\xe2\x00\x51\x44\x0c\x55\x25\x11\x8c\x9b\
+\x07\x0f\xfe\xf8\xfc\xcf\xce\x7e\xbd\x7d\xf4\xc8\x54\x9a\x18\xfd\
+\x41\x20\xd1\xd1\xdb\xca\x00\x0b\x1b\x26\xe0\xba\x85\xbb\xb0\x0a\
+\xbe\x02\xa8\xa0\x22\x55\xd9\x1c\xa8\x68\x83\x8d\x04\x03\xa2\x7d\
+\x78\xf3\xf0\xa1\x13\xb3\x7f\xfe\xcb\xd9\xc1\x89\xf9\x4e\xd2\xf2\
+\xac\xf4\x02\xa9\xd8\x5d\xb3\xbe\x09\x1e\x31\x8a\x29\x65\x4c\x14\
+\x1f\xd9\xd2\xcc\xc0\x22\x1a\xcd\x14\x33\x31\x43\x62\xdd\x6b\x7c\
+\x22\x15\x03\x18\x78\x1f\xdf\xba\xfa\xcc\x97\xe6\x67\xcf\xbc\x76\
+\x41\x97\x16\x3a\xe2\x02\xab\x3d\x4f\xa2\x72\x9f\xdc\xc4\x60\x2e\
+\x6b\x31\xbe\x4f\xf0\x51\xb6\xec\x41\x66\x50\x86\x38\xed\x83\xdd\
+\xf4\xc1\x26\x83\xd1\x56\xb3\xac\xd7\x8d\x7a\x79\xb9\xac\xfa\x80\
+\xd4\xb3\xdc\x87\x78\xe9\xea\xf1\x63\x8b\x33\x7f\x38\x7f\xde\x2d\
+\x3d\x5b\xa8\x53\x56\x06\x1e\x27\x86\x34\x59\x44\xc8\x9c\xe3\xcc\
+\xef\x03\xb3\xe3\x97\xaf\xa4\x2d\xdf\xb2\x30\xa2\xa5\x0b\x49\x1c\
+\x1b\xeb\x25\xb1\x5c\x8e\xed\xb1\x77\x5d\xea\xae\xb8\xb5\xb5\x6e\
+\x96\xa7\xe5\xae\x3d\xfb\x63\x76\x6b\x63\x2b\x36\x43\xcc\x28\xcb\
+\x70\xf1\xda\xc2\xf1\xe3\x33\xaf\x9e\xbb\x30\x7e\xf2\xb9\x8e\x25\
+\xca\xed\x7e\xc0\x09\x15\x08\x11\x42\xe6\x78\xb4\xf3\xb7\xb8\xf2\
+\xf8\xdc\x8b\x4c\x44\x43\x68\xb3\x69\x37\xb0\x8a\xe0\x48\x17\xac\
+\x07\x0c\x00\x9f\xa8\xf8\xa4\x5f\x7a\x9f\xc7\x5a\x03\x52\xd1\xda\
+\x30\x51\x0e\xc3\xa5\xe5\xe7\xe7\x17\xf7\xbc\x72\xe6\x5c\xfb\xe4\
+\x89\x0e\xaa\xf4\x87\x01\x31\xab\xd4\xac\x8a\x39\xd5\x5e\xcb\x3e\
+\x90\x32\x22\xc1\x36\x1f\xec\x23\x4a\x33\x10\x43\xeb\x51\xac\xf7\
+\xfd\xb3\x66\x62\x38\x0c\x17\x97\x5f\x58\x9c\xcf\x5f\x3e\xdb\x6d\
+\x65\x09\xad\xb1\x0c\x4b\x1c\xe2\x14\x75\xd5\x35\x2d\x1c\x12\x22\
+\x62\xb1\x02\x77\xaf\xb3\xb9\x6b\xdd\xc6\x94\x4d\x70\x4b\xad\x09\
+\xa9\x99\xb8\xbe\xb4\xb8\xb8\xeb\x95\x3f\x75\xd3\xd4\x91\xb7\x32\
+\x62\x96\x62\x69\x52\xa9\x4b\x94\xb4\x68\x41\xb4\x75\xe0\xd2\xc4\
+\xd8\xc2\x37\x9a\x4a\xee\x36\xe5\x4b\x36\x32\xf1\x95\x13\x8b\xc5\
+\xcb\x7f\xec\xa6\xa9\x23\x1b\x4b\x90\x56\xc5\x80\x38\x45\x54\xc9\
+\x76\x8f\xd7\x20\xd8\xf6\x61\x64\x1d\x80\xea\xe8\x6f\x2a\x10\x91\
+\xe0\xc3\xc5\x6b\x2f\xbe\xb0\x38\xfe\xeb\xdf\x75\x5b\x2d\x87\xdc\
+\x76\xc4\x68\x90\x29\x96\x08\x96\x08\xd9\x4c\xa7\x3e\x88\xee\x0c\
+\x84\x4a\xea\x48\x3b\xf9\xc8\xad\x2c\xd5\xa8\x24\x86\x70\xf1\xfa\
+\xc9\xa5\x85\xc9\x5f\xfd\xb6\xb7\xe7\x23\xe5\xe3\x1b\x33\x68\x22\
+\x68\xaa\xa8\x53\x44\x85\x7c\xdf\x64\x35\xd3\x77\x00\x42\xfd\x75\
+\xf0\xd7\x05\xd4\x30\xd9\xfc\xa3\xaa\x7d\x45\x62\x08\x6f\xdf\xfe\
+\xea\xd2\xf3\xc5\xd5\xd7\x7b\xe5\xbe\xcf\x9c\xb3\x15\x21\xae\x2a\
+\xe1\xb6\x12\x56\x95\xd8\x15\xb2\xa9\x87\x77\x74\x30\x4d\xf2\x58\
+\x49\x43\x6e\x8d\x31\xd8\x3d\xc4\x64\xc4\x78\xaf\x4f\x2c\x83\x61\
+\x78\xbd\x7b\x74\xee\xe8\x44\xcf\x6c\xe8\x50\x51\xa9\xb3\x49\xa3\
+\x60\xf2\x99\x69\xd6\xae\x5e\xc3\x54\xab\x58\x5b\x4c\xee\x64\x3d\
+\xf8\x36\xe6\x7b\xc5\x84\xd9\x30\xb1\xbf\xd3\x32\xc4\x19\x77\x48\
+\xbb\xd3\x29\x45\x22\x63\x8f\x4d\xd3\xff\x70\x99\x07\x21\x48\xca\
+\x89\x26\x38\x9b\x1f\x00\xee\xb5\xfa\x3c\x47\xdc\xd0\x7c\x9a\x6f\
+\xa4\x7a\xbf\x2e\xc4\x6d\x2c\x2c\x69\x56\x30\xa2\xfc\x0f\x00\xb3\
+\xc5\xef\x6d\xc6\xfb\x2f\x6e\xea\x7f\x4f\x3f\x06\xf0\x89\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x3b\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x06\x02\x49\x44\x41\x54\x58\x85\xc5\x96\xcf\x6f\x5c\x57\
+\x15\xc7\x3f\xe7\xdc\xf7\x63\x9c\xf1\x1b\xdb\x69\x63\xbb\x34\x09\
+\xa5\xa2\xd0\x04\xa9\x26\x49\x23\x1a\x62\xbb\x6d\x2a\x99\x8a\xb0\
+\x40\x42\x02\x81\x58\xb0\x62\x51\xd8\xb3\x66\xc5\xdf\x91\x00\x12\
+\x5b\x10\x2d\x94\x5f\xca\xaf\x0a\xa1\xb6\xd0\x34\x15\x34\x6d\xb3\
+\xa8\x50\x81\xc4\x49\xd3\x8c\x9d\x99\xf1\xbc\x7b\xef\x61\xf1\xde\
+\x73\x9c\xc4\xe3\xd8\x6c\x38\xd2\xd1\x7b\xf3\xde\xbc\x73\xbe\xf7\
+\x7b\xbe\xf7\x9c\x2b\x66\xc6\xff\xd3\x64\xf2\x47\x97\x40\x04\x2c\
+\x60\x65\x84\x32\x02\xd5\xbd\x85\x08\xb5\x5b\x88\x48\x88\xf4\x87\
+\x81\x5d\xa9\xd2\xca\x94\x4f\x7a\x01\x11\x41\xe4\x4e\x40\x33\xc3\
+\x7c\x64\xea\x89\x69\xcc\x47\x36\x2e\x30\xd6\xef\x7d\x34\x9e\xfe\
+\x74\x41\x92\x66\xe8\x4e\xd0\x46\x33\xbc\x37\xca\x32\x8e\x87\x60\
+\x7b\x63\xac\x82\x5b\xe3\xf5\xcd\x4e\x58\xdd\x36\x00\x8b\x46\x28\
+\x23\xf4\xcb\xce\x37\x8f\x4d\xaf\x2c\x1e\x98\xf8\x67\x08\x56\x25\
+\xdb\xe0\x16\xad\x06\xb2\x3d\x10\xdb\x02\x60\xd1\x08\x3e\xb2\xd6\
+\x1b\xb6\xbf\x78\xec\x91\x5b\x53\xdf\x79\x8a\xdf\xbc\xdf\xf3\xe3\
+\xb9\xd0\xce\x95\x76\xcb\x55\xd7\x5c\x69\x67\xc2\x43\x4f\xce\x54\
+\x40\x78\x30\x88\x64\xcb\xc4\x54\x2b\x69\x92\x1f\x3a\x34\xbd\xfa\
+\xcc\x4b\x87\xf8\x77\x09\x21\xcb\x06\xf4\x87\x44\x14\x4c\xd6\x57\
+\x5f\xec\x7f\xb8\xae\x7d\x13\xe0\x7f\x65\xa0\xa6\x31\x94\x91\x61\
+\x7f\x58\x1c\x9e\xdb\xb3\x3a\xff\xc3\xa7\xf9\xf9\x7b\x90\xf7\x40\
+\x85\x88\x53\x2a\x17\x4c\x84\x62\xef\x24\x16\xe2\x0e\x4a\x60\x23\
+\x18\x30\x30\xaa\x95\x0f\xfb\x65\x31\xf7\x85\xdd\xdd\x85\x1f\x1c\
+\xe1\xf4\x65\xc8\x23\x88\x01\x4e\xad\x01\x60\x66\x14\x8f\x14\x3b\
+\xae\xbf\xd9\x08\x00\x66\x46\xf0\xc6\xb0\xef\x8b\x43\x07\x26\xbb\
+\x0b\x2f\x1d\xe1\xa7\xef\x43\xee\xc1\x14\x04\x30\x55\x13\x55\x50\
+\xa1\x98\x6a\x63\x8d\x20\xb7\x69\x86\x61\x31\xde\x0d\xa0\xd9\x54\
+\x21\x18\xe5\x5a\x59\x3c\xf5\xd9\x4e\x77\xfe\xfb\x87\x39\xfd\x2e\
+\xe4\x25\x88\x19\xde\x84\xe0\x61\x18\x62\xcf\x99\xd1\x6e\x67\x04\
+\x1f\xd9\x56\xc1\xeb\x24\x0d\xce\xfb\x19\xb0\x26\xb9\x2f\x0e\x3e\
+\x36\xde\x5d\xf8\xde\x61\x4e\xbd\x6d\xb4\x7c\x89\xd6\xfb\xdb\x44\
+\x29\xfb\x29\xdf\xdd\xd3\xff\xd4\x85\x3c\x9f\xbe\xd1\x0f\xd7\x5c\
+\x62\x49\xc5\xcd\x7d\x26\x80\x22\xb2\x26\x10\x4d\xa4\x96\x96\x41\
+\x04\x71\x1b\x76\x81\x59\xd5\xf4\xca\x61\x2c\x9e\x9c\x6d\x75\x17\
+\xbf\x75\x98\xd3\x7f\x5d\x23\x37\x8f\x98\xd5\x5d\x0c\x22\x42\x1c\
+\xc0\x47\xb3\xb3\x14\x45\xb8\x9a\x9b\xe0\x46\x48\x59\x04\xf0\x82\
+\x10\x3e\xd6\xa1\x7f\xc7\xb2\xe4\x0d\x59\x1b\xbe\xe3\x6f\x74\xdf\
+\xeb\x8c\x3f\xf4\xe6\xa0\x5f\x0e\x92\x26\x79\x8c\x86\xf7\xa1\x78\
+\x62\xda\x75\x17\xbe\x31\xc7\xa9\xb7\x56\x69\x79\x8f\xca\x06\x6a\
+\xeb\xad\xe5\x06\x30\xf1\xf9\xfd\x4c\x65\x82\x6b\xd6\x39\xc2\x9c\
+\x19\xbb\x1c\xed\x5f\x5e\x19\x24\x09\x56\x48\xb4\x76\x7c\x34\x92\
+\xad\xdd\x6e\xdd\x58\x5e\x19\x24\x0d\x25\x3e\x58\xe7\xf1\x09\x77\
+\xeb\xd9\xaf\x1d\xe0\xf4\x9b\x5d\x72\x0b\x95\xd8\xe4\x4e\x3b\x31\
+\x40\x23\xbc\xfa\x41\x89\x6d\x95\xf5\x1e\x53\xc7\x0d\x45\x03\x52\
+\x95\x50\x9d\xc8\xbf\x2c\x61\x10\x1d\x89\x19\x78\x93\x99\xbd\x6d\
+\xfb\xcf\x73\x4b\x9f\xe3\xd4\x1b\x9f\x90\x5b\xac\xe6\x13\xf7\x4b\
+\xcb\x00\xb7\xc9\xf3\xf5\x07\x1b\xcb\x11\xab\x8b\x88\x98\x28\x11\
+\xf0\x88\x04\x73\x62\x88\xa2\xa9\x92\x68\x96\x32\x73\xf9\x1f\x3f\
+\x59\xf8\xf6\x97\xf9\xc5\x6b\xcb\x30\x28\x31\x81\x20\x71\x3d\x40\
+\x95\xc0\xee\x4e\xd4\xdc\x36\xa3\x50\xef\x64\x57\x01\xd4\x2a\x95\
+\x09\x98\x13\x44\x2a\x3d\xe2\x00\x51\x44\x0c\x55\x25\x11\x8c\x9b\
+\x07\x0f\xfe\xf8\xfc\xcf\xce\x7e\xbd\x7d\xf4\xc8\x54\x9a\x18\xfd\
+\x41\x20\xd1\xd1\xdb\xca\x00\x0b\x1b\x26\xe0\xba\x85\xbb\xb0\x0a\
+\xbe\x02\xa8\xa0\x22\x55\xd9\x1c\xa8\x68\x83\x8d\x04\x03\xa2\x7d\
+\x78\xf3\xf0\xa1\x13\xb3\x7f\xfe\xcb\xd9\xc1\x89\xf9\x4e\xd2\xf2\
+\xac\xf4\x02\xa9\xd8\x5d\xb3\xbe\x09\x1e\x31\x8a\x29\x65\x4c\x14\
+\x1f\xd9\xd2\xcc\xc0\x22\x1a\xcd\x14\x33\x31\x43\x62\xdd\x6b\x7c\
+\x22\x15\x03\x18\x78\x1f\xdf\xba\xfa\xcc\x97\xe6\x67\xcf\xbc\x76\
+\x41\x97\x16\x3a\xe2\x02\xab\x3d\x4f\xa2\x72\x9f\xdc\xc4\x60\x2e\
+\x6b\x31\xbe\x4f\xf0\x51\xb6\xec\x41\x66\x50\x86\x38\xed\x83\xdd\
+\xf4\xc1\x26\x83\xd1\x56\xb3\xac\xd7\x8d\x7a\x79\xb9\xac\xfa\x80\
+\xd4\xb3\xdc\x87\x78\xe9\xea\xf1\x63\x8b\x33\x7f\x38\x7f\xde\x2d\
+\x3d\x5b\xa8\x53\x56\x06\x1e\x27\x86\x34\x59\x44\xc8\x9c\xe3\xcc\
+\xef\x03\xb3\xe3\x97\xaf\xa4\x2d\xdf\xb2\x30\xa2\xa5\x0b\x49\x1c\
+\x1b\xeb\x25\xb1\x5c\x8e\xed\xb1\x77\x5d\xea\xae\xb8\xb5\xb5\x6e\
+\x96\xa7\xe5\xae\x3d\xfb\x63\x76\x6b\x63\x2b\x36\x43\xcc\x28\xcb\
+\x70\xf1\xda\xc2\xf1\xe3\x33\xaf\x9e\xbb\x30\x7e\xf2\xb9\x8e\x25\
+\xca\xed\x7e\xc0\x09\x15\x08\x11\x42\xe6\x78\xb4\xf3\xb7\xb8\xf2\
+\xf8\xdc\x8b\x4c\x44\x43\x68\xb3\x69\x37\xb0\x8a\xe0\x48\x17\xac\
+\x07\x0c\x00\x9f\xa8\xf8\xa4\x5f\x7a\x9f\xc7\x5a\x03\x52\xd1\xda\
+\x30\x51\x0e\xc3\xa5\xe5\xe7\xe7\x17\xf7\xbc\x72\xe6\x5c\xfb\xe4\
+\x89\x0e\xaa\xf4\x87\x01\x31\xab\xd4\xac\x8a\x39\xd5\x5e\xcb\x3e\
+\x90\x32\x22\xc1\x36\x1f\xec\x23\x4a\x33\x10\x43\xeb\x51\xac\xf7\
+\xfd\xb3\x66\x62\x38\x0c\x17\x97\x5f\x58\x9c\xcf\x5f\x3e\xdb\x6d\
+\x65\x09\xad\xb1\x0c\x4b\x1c\xe2\x14\x75\xd5\x35\x2d\x1c\x12\x22\
+\x62\xb1\x02\x77\xaf\xb3\xb9\x6b\xdd\xc6\x94\x4d\x70\x4b\xad\x09\
+\xa9\x99\xb8\xbe\xb4\xb8\xb8\xeb\x95\x3f\x75\xd3\xd4\x91\xb7\x32\
+\x62\x96\x62\x69\x52\xa9\x4b\x94\xb4\x68\x41\xb4\x75\xe0\xd2\xc4\
+\xd8\xc2\x37\x9a\x4a\xee\x36\xe5\x4b\x36\x32\xf1\x95\x13\x8b\xc5\
+\xcb\x7f\xec\xa6\xa9\x23\x1b\x4b\x90\x56\xc5\x80\x38\x45\x54\xc9\
+\x76\x8f\xd7\x20\xd8\xf6\x61\x64\x1d\x80\xea\xe8\x6f\x2a\x10\x91\
+\xe0\xc3\xc5\x6b\x2f\xbe\xb0\x38\xfe\xeb\xdf\x75\x5b\x2d\x87\xdc\
+\x76\xc4\x68\x90\x29\x96\x08\x96\x08\xd9\x4c\xa7\x3e\x88\xee\x0c\
+\x84\x4a\xea\x48\x3b\xf9\xc8\xad\x2c\xd5\xa8\x24\x86\x70\xf1\xfa\
+\xc9\xa5\x85\xc9\x5f\xfd\xb6\xb7\xe7\x23\xe5\xe3\x1b\x33\x68\x22\
+\x68\xaa\xa8\x53\x44\x85\x7c\xdf\x64\x35\xd3\x77\x00\x42\xfd\x75\
+\xf0\xd7\x05\xd4\x30\xd9\xfc\xa3\xaa\x7d\x45\x62\x08\x6f\xdf\xfe\
+\xea\xd2\xf3\xc5\xd5\xd7\x7b\xe5\xbe\xcf\x9c\xb3\x15\x21\xae\x2a\
+\xe1\xb6\x12\x56\x95\xd8\x15\xb2\xa9\x87\x77\x74\x30\x4d\xf2\x58\
+\x49\x43\x6e\x8d\x31\xd8\x3d\xc4\x64\xc4\x78\xaf\x4f\x2c\x83\x61\
+\x78\xbd\x7b\x74\xee\xe8\x44\xcf\x6c\xe8\x50\x51\xa9\xb3\x49\xa3\
+\x60\xf2\x99\x69\xd6\xae\x5e\xc3\x54\xab\x58\x5b\x4c\xee\x64\x3d\
+\xf8\x36\xe6\x7b\xc5\x84\xd9\x30\xb1\xbf\xd3\x32\xc4\x19\x77\x48\
+\xbb\xd3\x29\x45\x22\x63\x8f\x4d\xd3\xff\x70\x99\x07\x21\x48\xca\
+\x89\x26\x38\x9b\x1f\x00\xee\xb5\xfa\x3c\x47\xdc\xd0\x7c\x9a\x6f\
+\xa4\x7a\xbf\x2e\xc4\x6d\x2c\x2c\x69\x56\x30\xa2\xfc\x0f\x00\xb3\
+\xc5\xef\x6d\xc6\xfb\x2f\x6e\xea\x7f\x4f\x3f\x06\xf0\x89\x00\x00\
+\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x44\x73\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\xf0\x00\x00\x00\xe0\x08\x03\x00\x00\x00\x0a\x5d\x1b\x3b\
+\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x01\
+\x80\x50\x4c\x54\x45\x5b\x5b\x5b\xa5\xa5\xa5\xa1\xa1\xa1\x98\x98\
+\x98\xe3\xe3\xe3\xde\xde\xde\x91\x91\x91\xe6\xe6\xe6\xf0\xf0\xf0\
+\xe8\xe8\xe8\x9e\x9e\x9e\x96\x96\x96\x81\x81\x81\xfd\xfd\xfd\xf5\
+\xf5\xf5\xf8\xf8\xf8\xea\xea\xea\xe4\xe4\xe4\x8d\x8d\x8d\x89\x89\
+\x89\xf2\xf2\xf2\xdb\xdb\xdb\xd2\xd2\xd2\xf6\xf6\xf6\xd4\xd4\xd4\
+\xd9\xd9\xd9\xec\xec\xec\xd6\xd6\xd6\xd8\xd8\xd8\xe0\xe0\xe0\x7e\
+\x7e\x7e\xd0\xd0\xd0\x48\x48\x48\x79\x79\x79\xc9\xc9\xc9\xce\xce\
+\xce\x75\x75\x75\xbf\xbf\xbf\x35\x35\x35\xc7\xc7\xc7\x84\x84\x84\
+\x61\x61\x61\xbc\xbc\xbc\xc4\xc4\xc4\xc6\xc6\xc6\xaa\xaa\xaa\xc2\
+\xc2\xc2\x70\x70\x70\x6e\x6e\x6e\xba\xba\xba\xcc\xcc\xcc\x27\x27\
+\x27\x69\x69\x69\xb5\xb5\xb5\xb3\xb3\xb3\x65\x65\x65\xc0\xc0\xc0\
+\xac\xac\xac\xae\xae\xae\xb2\xb2\xb2\x86\x86\x86\xb8\xb8\xb8\x52\
+\x52\x52\xa8\xa8\xa8\xb0\xb0\xb0\x02\x02\x02\x16\x16\x16\xfa\xfa\
+\xfa\xef\xef\xef\xfb\xfb\xfb\xee\xee\xee\xfe\xfe\xfe\xef\xee\xee\
+\x8f\x8f\x8f\xb9\xba\xba\x6b\x6b\x6b\x9f\x9f\x9f\xb7\xb7\xb7\xe1\
+\xe2\xe2\x3f\x3f\x3f\xbd\xbe\xbd\x85\x86\x86\x6c\x6b\x6c\xb1\xb1\
+\xb1\xb8\xb7\xb8\xa4\xa4\xa3\xeb\xeb\xeb\xef\xf0\xef\xf9\xf9\xf9\
+\xe1\xe1\xe1\x9b\x9b\x9b\xf1\xf1\xf1\x94\x94\x94\x93\x93\x93\x94\
+\x93\x94\xe9\xe9\xe9\x77\x77\x77\xa7\xa7\xa7\xab\xac\xac\x7b\x7b\
+\x7b\xbc\xbb\xbb\x87\x87\x87\xbd\xbd\xbd\xbe\xbd\xbe\xa8\xa7\xa8\
+\xcd\xcd\xcd\x85\x85\x85\xac\xab\xab\x90\x90\x90\xad\xad\xad\x85\
+\x86\x85\xef\xef\xf0\x68\x68\x68\x67\x67\x67\x86\x85\x86\xcb\xcb\
+\xcb\xc1\xc1\xc1\x6c\x6c\x6c\xaf\xaf\xaf\xab\xab\xab\xfa\xfb\xfb\
+\xa7\xa8\xa8\xb9\xb9\xb9\x63\x63\x63\xa9\xa9\xa9\xf3\xf3\xf3\xbb\
+\xbb\xbb\xff\xff\xff\xfa\x12\x2c\x0b\x00\x00\x00\x01\x74\x52\x4e\
+\x53\x00\x40\xe6\xd8\x66\x00\x00\x00\x01\x62\x4b\x47\x44\x00\x88\
+\x05\x1d\x48\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\
+\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\
+\x07\xda\x03\x02\x17\x1c\x2d\x28\x19\x93\x6f\x00\x00\x20\x00\x49\
+\x44\x41\x54\x78\xda\xed\xbd\xed\x6f\xe2\xc8\xf6\xef\x5b\x60\x8c\
+\x79\x7e\xb0\xb1\x63\x6c\xc0\x91\x11\x0f\xc2\x80\x14\x90\x23\x20\
+\x21\x09\x84\x10\xe5\x28\x21\x5c\xe5\x80\x02\x84\x83\x72\x75\xc3\
+\x3d\xe4\xc2\x7d\x71\x40\xa0\x8b\x02\xfc\xeb\xb7\xaa\x8c\x79\x4a\
+\x7a\x4f\x77\x4f\xcf\xec\xd9\xe7\xd7\xb5\xf7\x74\xf7\xf4\x4c\xa6\
+\xf9\x64\xad\x5a\xeb\xbb\x56\x2d\x97\x01\xf8\xbd\x7e\xaf\xdf\xeb\
+\xf7\xfa\xbd\x7e\xaf\xdf\xeb\xf7\xfa\xbd\x7e\xaf\xdf\xeb\xf7\xfa\
+\xbd\x7e\xaf\xdf\xeb\x4f\xae\xe4\x7f\x2d\xdc\xfe\x71\xf9\xbf\x12\
+\xb1\x74\x51\x2a\x3f\xfe\x17\xe2\x25\x01\x48\xa5\xa3\x25\xe9\x57\
+\xfe\x27\x93\xf3\xe9\x4c\xfc\x47\xd2\x0a\x94\xc7\x23\x94\x84\xc7\
+\x52\x29\xf4\x2b\xfe\x73\x9e\x80\x94\x91\xc6\x9c\x3c\x57\xd5\x7c\
+\xf7\xb2\xf6\x4f\xa3\xa5\x44\x6f\x4f\x28\x95\x4a\xbd\x63\xf8\xc3\
+\xf7\x7d\x89\x95\x64\xc5\xe0\x97\xff\xa4\xc6\xc5\x22\x91\x46\x28\
+\x1e\x0a\x39\x5e\xa6\xfd\xc8\x5c\x7d\x30\x32\x67\xff\x34\x60\x6b\
+\x09\x2d\x0a\xf1\x96\xa2\xa6\x3f\xf6\x54\x4e\x86\x4b\xa1\x0d\x9f\
+\xbf\x0f\x01\x69\x90\x19\x8c\x65\xe5\x0e\xd0\x71\x9a\x61\xcc\x8d\
+\x87\x88\xaa\x9e\xd1\xe7\xe4\x3f\x08\xb7\x67\xc2\xb8\x25\xf1\x11\
+\xff\x74\xf1\x87\x5f\xe0\x67\x4d\x14\x5c\x4d\xe3\xfb\xa7\x8d\xc1\
+\x49\x9c\x24\x85\xc3\x99\x70\x0c\x30\x34\x5a\x0c\xdd\x48\x3f\x20\
+\x23\x4f\xfe\x31\xbc\x56\x9b\xbf\x54\x52\x8f\x41\x3b\x8b\x79\xa3\
+\xc2\x1f\xb9\x03\xbf\xb2\x50\x5e\xaf\xc9\x4b\x0d\x0f\x80\xc5\x2e\
+\x25\x48\x1c\x26\x1e\x4b\xff\x27\x00\x77\x77\x88\x98\x11\x93\x6a\
+\xb1\x7f\x4a\xbc\x8c\xff\x19\xbc\xec\xd0\x16\x2b\x39\x4a\xfa\x2a\
+\xfb\xff\x30\x79\x65\x01\xbb\xea\x41\x62\x6a\x09\xb8\xcd\xef\x9a\
+\x02\x1c\x17\x30\x33\x37\x2d\x8d\x78\x30\x0e\xff\x4f\xf8\xbb\x21\
+\x07\x78\x91\x6b\x72\x3d\xc5\xdc\x27\x1a\xcc\x99\x6a\x67\xff\xed\
+\xbc\x3c\x38\x3f\x56\xc0\x96\x37\xf6\x87\x5f\x01\x43\x6e\xd9\xee\
+\x6e\x7a\x4d\x26\x2a\x69\xcc\x27\xfa\xcb\x44\x24\x9d\x19\x84\xfd\
+\x7e\x3f\xcb\x83\xd7\x15\x8b\x9c\x5a\x0a\x67\xc6\x52\xf2\xff\x69\
+\xdb\x5e\x4f\xc7\xe9\x17\xf0\x58\x86\xb1\x50\x3d\x6b\x00\xf0\xdf\
+\x0b\xc2\xbf\x93\xb6\x09\x14\x23\x0f\xc6\x5b\xde\xec\x1f\xf3\x02\
+\x4f\x19\xfe\x30\x76\x7b\x29\x93\xc9\x4a\x91\x9b\xd5\x97\x58\x3f\
+\xab\x80\xb4\x53\x5c\x6f\xe3\x0c\xfc\x2e\x48\x09\x10\x2d\xe3\x6f\
+\x64\xf4\x18\xbc\x4e\x47\xb3\x19\xd1\xe6\xfe\x7d\x42\xa3\x59\x7a\
+\x30\x03\xa3\xfc\xa2\xc1\x46\x2f\x4a\xc7\xdf\x15\x4b\x11\x70\xcd\
+\x43\x51\xd0\xc6\xa6\x56\xb0\xd6\xc2\xbc\x6c\xd6\x58\xf3\x07\xd8\
+\x07\xc0\x3d\xf3\x98\x98\x93\x95\xb0\x2c\xa7\x01\x8e\x0c\x17\x0f\
+\xc9\x5c\xbb\xf1\x94\x4f\x19\x1a\xed\xee\xfc\xdf\xc4\x1b\xa4\x4a\
+\xa7\x77\xf0\xe7\x09\xfc\x3c\xf7\xd1\x12\x76\xef\xef\x5b\xc7\x6a\
+\xd5\x8a\xc2\x34\x22\xee\x69\x46\x36\x29\xd9\x79\xcb\x0f\x89\x4f\
+\x81\xec\x66\xa1\x4f\x73\xb3\xd0\x47\xdf\x1f\x90\xc3\x4a\x2a\x74\
+\x91\x2d\x1d\x13\x75\x25\x37\x9f\xe6\x3f\x0c\x8d\xfb\x3b\xc3\xbf\
+\xcb\xad\x55\x1a\x65\x92\xe3\xac\x01\x14\xbe\x53\x6e\x80\x5e\x50\
+\x0c\x8b\xa6\x2a\xa5\x2d\x53\xb3\xd2\x3f\xbe\x30\x41\xe0\x5e\x37\
+\x2b\x92\xac\xdf\x2f\xb2\x2a\x98\x2e\x28\x8e\x3f\x01\x57\x4d\x23\
+\x93\xa6\x24\x45\x1e\x64\x96\xc4\x45\x39\x0a\xbf\x7a\x36\x9d\x7d\
+\x18\x0c\xff\x07\xe8\xfe\x7b\x62\xd7\x03\x8d\x1d\x3b\x4f\xc1\x1f\
+\xff\x30\xfb\x92\xf5\x7e\xbd\x9e\x9b\xc8\x92\xbf\xd5\x6b\x5a\x35\
+\xde\x6a\x65\x79\x51\xce\x96\xf9\x1a\x49\x52\xc7\xd9\x16\x02\x86\
+\xc4\xf2\x3b\x2d\x53\x63\x40\x58\x4c\x92\x1a\x6f\x53\x6c\x5a\x49\
+\x2b\x31\x0e\xc5\x89\x68\x57\x1d\xcd\x3e\x5e\xdb\xf1\xff\x5b\xfa\
+\xbb\x59\x91\x4f\x9d\x39\x36\x7f\x1b\x83\x81\xc5\xf8\x07\x5f\x61\
+\xaa\x51\xd6\xa6\x00\x57\xd3\x0a\x17\xc4\x15\x2a\x89\x8b\xf2\x63\
+\x51\x2d\x2d\x29\x92\x7a\x28\x95\xec\x14\x8b\x4c\x2c\xfa\xc5\x27\
+\xe6\xc5\x98\x62\x83\x48\x4d\xbf\x38\x58\x53\x3a\x9d\x8e\x24\x6d\
+\xa5\x12\x53\x57\x9f\xa6\xa3\xd4\xe5\x2b\x61\xfb\xbb\x79\xd3\x68\
+\xb7\x9e\x6e\xff\x1e\xa5\xe1\xec\x1f\x7f\x97\xe0\xf2\xc0\xd5\xc3\
+\xc0\xcd\xd8\x45\xe9\x31\xdf\x5c\xc4\x4a\x06\x4f\xd0\xfa\x98\x05\
+\x65\x0e\x99\x38\x20\x22\xe4\x74\x3d\xcc\x21\xf9\x91\x91\xda\xa0\
+\x49\xe6\xd2\x93\xb4\x5a\x2e\x9f\x2e\xd5\xd3\xa7\x42\x3e\xf5\x6a\
+\xb0\x13\x7f\x2f\xaf\x7c\x75\xa0\x3d\xa2\xdf\xa5\x28\xb1\x79\x37\
+\xc0\x2e\x50\x6a\x54\x2c\x5e\x2b\x57\x36\x37\x9b\x74\xe9\x85\x2d\
+\x81\x9e\x66\x62\x91\xe7\x45\x5e\x4b\x4d\xe3\x71\x98\x61\xdc\x5c\
+\x2e\x9d\x93\x1f\x4b\x86\x3e\x54\xd5\x57\x05\xb4\x8d\xcd\x7f\x2f\
+\x31\x2a\x50\xd9\xd8\x78\x93\x83\xcc\x28\x73\x4c\xc1\x8f\x11\xbb\
+\x40\xd9\xe4\xa1\xbc\x14\x5f\x66\x5c\xcb\x52\xb4\x25\x80\xd2\xd2\
+\xab\x99\x98\xe7\x79\x0e\xe9\x2d\x89\x1b\x8c\x33\x0a\x38\x75\xc7\
+\x26\x69\x99\x29\x01\xe5\x41\x45\x4e\x3d\xbb\x34\x34\xfe\x56\xe2\
+\x1e\x0c\x41\x92\x9f\x2d\x8a\x1b\xad\xf8\x5d\x1e\xad\x01\x0b\x5b\
+\xe0\x12\x07\x93\xb1\x55\x2a\xdb\x2d\xf2\xb1\x4a\xb5\xf8\xf2\xa3\
+\x77\x63\x62\x04\xcc\xc9\x4b\x28\xc1\x38\x1b\xb0\xb4\x26\xe9\x74\
+\x3f\x9b\x9d\xcc\x1f\x74\xa7\x6e\x98\xed\x7f\x27\x2f\x5b\x73\xaf\
+\x9a\x3a\xaf\x70\x51\xfa\xe3\x2a\xd8\xa4\x03\xa3\x7f\x57\xc0\xc0\
+\xa1\xd2\x58\x80\xa1\x2b\x51\xca\x5b\xbd\x26\xa8\x3e\x3c\x4c\x89\
+\xde\x98\x18\x02\xf3\x2a\xb0\xcf\x3e\xd4\x7a\x03\x50\x55\x25\x9d\
+\x96\xdf\x4a\x2f\xb0\x6e\x82\x4e\x8d\x22\x75\xc3\x78\xd7\xfd\xdb\
+\xe4\x24\x60\x29\xe7\x8d\x77\xab\xf0\xb0\xce\xe2\xfe\xb0\xfd\x03\
+\x23\xbb\x50\x12\xf8\xb4\x3a\x28\x95\x60\xa4\x86\x16\x8e\x41\x60\
+\x5f\xb7\x24\x53\x41\xa4\xb6\x5a\x6c\xf6\x31\x88\x33\xd3\xda\xa7\
+\x01\x58\x70\x06\xa2\xdb\x56\x59\x5e\x51\xd2\x13\xf9\x31\x9a\xc6\
+\x26\x9e\xe6\x53\x1f\x06\xa3\x91\x36\xff\x3d\x09\x49\x00\x14\xe7\
+\xbe\x31\x6d\x54\x55\xbc\xf4\x1d\x06\xd6\xcb\x22\x36\x05\xa2\xa5\
+\x32\xf0\x94\x04\xca\xd2\x1e\xa2\xe4\x64\x39\xce\x06\x4d\xc1\x60\
+\x10\x12\xd7\xd4\x08\xb9\xf1\x69\x48\x1c\x0a\xdd\xf6\xa4\xb0\xac\
+\xc8\x31\x05\x01\x2b\x6a\x96\x99\xac\x4d\x9c\x82\x26\x36\x9a\xef\
+\x82\x5a\x82\xfc\xab\x1d\x9a\xa3\x9c\x9e\x35\x00\xe5\xff\xd0\xb4\
+\xfd\x1f\x89\xe8\x25\x6a\xd2\x08\x03\x02\xbb\x7f\xe9\x18\xda\x98\
+\xea\x59\x50\x13\x40\x2c\x81\x6a\x4d\x03\x66\xbd\x35\x96\xdd\x86\
+\x2d\x71\x06\xf8\x1b\x6e\x9c\x19\xcb\x72\x2c\x09\x89\x23\xca\x87\
+\xb1\x5f\x54\xb1\x89\x61\xa4\x6e\x34\xec\xf8\xfb\xc8\xff\xb5\xbc\
+\x50\x55\x59\xb9\xeb\xe7\xc8\x98\x25\xc9\x40\x38\x19\x8e\x68\x55\
+\x7f\xea\x0f\x0b\x8d\xac\x0a\x40\x1f\x44\xd7\x55\x15\xdc\x06\x9a\
+\xda\x5a\x38\x4a\xb6\xea\xda\xc2\x88\x99\xd5\x7c\x1a\xed\x62\x7e\
+\x00\xcc\xab\x96\x3c\x46\xc0\x31\x64\xe2\x88\x32\x39\x99\x63\x13\
+\xc3\xb8\x75\x79\xc9\x00\xda\x30\x54\xf9\xc4\xf2\x2f\xe6\x15\x38\
+\x97\xf3\x9a\x55\x72\xb9\xf4\x98\xad\xf8\xb4\x0d\x4c\xff\xf1\x57\
+\x46\x61\xa2\x7e\xdc\x94\x91\xa5\xa7\x52\x09\x77\x79\x02\xe5\xb2\
+\x48\xc1\x9a\x69\x0d\xac\x11\xaf\xe3\x74\xe0\x1e\x04\xdd\x92\xac\
+\x03\xa7\x73\x91\x7e\xe2\xa4\x88\x77\xf1\x68\x36\xa2\xc1\xff\xc7\
+\x9e\xb6\x1d\xc4\x65\x7c\xf4\x17\xc1\x7a\x24\x09\x3a\x2e\xcb\xf9\
+\x9c\xd7\xd7\xb7\x2b\xa7\xd3\x79\xbb\x5a\x5d\x7e\xd7\x06\x46\x8b\
+\xd6\x51\x41\x92\x8f\x63\x13\x23\x60\xf8\x0d\x03\x1d\x93\xa9\xb6\
+\x6f\xe2\xb5\x4f\xf3\x32\xb0\xad\x48\x04\xac\xf9\xf4\x24\x52\xef\
+\x2f\xd7\x26\x2e\xd8\x81\xa1\x75\x45\x10\xf6\xf7\xff\xd1\x05\xf5\
+\xbf\xe8\x5c\x81\x9c\x2b\x63\x99\xbc\x86\xbc\x70\xdd\xdc\x40\x6c\
+\x12\xdb\xec\xbb\x0e\x1b\x9a\x9a\xef\x67\xd5\x15\x5c\x09\xb4\x8b\
+\xa1\x4f\x77\x4e\x4a\x25\x45\x38\x00\xde\x9a\x58\x24\x40\x6d\xd7\
+\xc4\x91\x7a\xbd\xbe\xd4\x02\xf5\x14\x98\xad\xaa\xcd\xd6\x26\x5e\
+\xe2\xf6\x21\xf8\x4b\x6a\x09\x4f\xc9\x44\x89\xad\xa3\xdb\x1b\x4c\
+\x8b\x96\xf3\xb9\x8b\x21\xbe\xef\x8f\xc3\xf2\x04\x90\x2b\xbc\xba\
+\x51\x04\xec\x81\x9a\x14\xf8\x50\x55\xfc\x35\x30\x34\xf1\xcb\xca\
+\xa4\x99\x58\xc1\xeb\xe4\x6c\x7a\x5a\x54\xcf\x9e\xae\x9e\xc0\xab\
+\xd5\x68\x34\xda\x08\xbb\x39\x4e\xd0\x20\xf8\x97\x14\xfc\x3e\xe7\
+\x0a\xe2\xde\x6c\xd6\x4a\xc4\x31\xe8\x7b\x4f\x1a\x3c\xdd\xf3\x31\
+\x64\xbd\xf6\x79\x4c\x6c\xd8\x81\x80\x7d\x86\x52\x59\x16\xb4\xc6\
+\xc7\xde\x26\xd6\xe5\xa5\x68\x04\x9c\x13\xf7\xb0\x63\xc9\xa4\xdc\
+\x37\xbc\x01\x07\xfd\x62\x88\x24\xcf\xae\x9e\x8c\x20\x56\x37\x1a\
+\xef\xdb\x84\x7d\xe8\x68\x3b\xde\xfe\x02\x5e\xaf\x70\x73\xbd\x31\
+\x2e\x36\xf0\xb5\xad\xf4\x2f\x35\xa5\x57\x4e\xa8\xcb\xe6\x7e\xcb\
+\x2f\x71\x49\x0c\xe9\xf7\x77\x50\x80\x7b\xd8\xda\xab\x45\x81\x8f\
+\xa2\x4c\x26\xf8\x57\x2d\x88\x58\x0f\x80\xb9\x30\x00\xd5\x8a\x84\
+\x88\x33\x73\x33\x70\xd8\xd4\x13\xd5\x30\x74\x8c\x03\x4f\xd3\x27\
+\x3b\xb8\x9c\xa4\x6c\xc8\xc4\x74\xdc\x06\xda\xbf\xde\xa3\xa9\x9b\
+\x3d\x5c\x68\x60\x01\x87\x68\x03\xac\xdf\xbe\xfa\x02\xa5\xfd\x1e\
+\x0a\x85\xc0\x4e\xc2\xf2\x9c\x99\x99\x38\xac\x25\x99\x77\x07\x2d\
+\xc2\x44\x6c\xa5\x9a\x1c\x0b\x77\x72\x8f\x12\x95\x48\x1d\xc6\xdf\
+\x65\x24\x26\x7a\xbd\xa4\x7f\xab\xa7\xf9\x08\x60\x16\xcd\xb0\x2c\
+\xd5\x87\x80\x49\x88\xbc\x9c\x8e\x24\x4e\x18\xd0\x94\x47\x85\xe9\
+\x3d\x78\x8b\xa8\x6d\xb8\x8b\xcd\x0c\xd3\x06\x27\xbf\x18\x17\x04\
+\xaf\x0f\x78\x6f\x56\x2c\x52\x11\xd1\x0e\xcb\xdd\x7f\x3e\x32\x89\
+\xd1\x21\x47\x3c\x1e\x7f\x77\x30\xba\x89\x03\xa3\x77\xb3\x34\xb8\
+\x22\xde\x81\xc3\x41\x64\x04\x41\x2b\x8a\x7b\x54\x33\x58\xbf\x6f\
+\x8f\x54\x98\x6e\x9e\xae\x3e\x08\x7a\xe0\x16\x76\x0b\x08\x28\xa8\
+\xe9\xaa\x27\xd3\x06\xa1\x5c\x8b\x95\x27\xf5\x7e\x7f\x99\xb8\x02\
+\x8a\x75\x5a\x18\x15\x66\x0c\x90\x55\x18\xa8\xcd\x77\x0e\xb3\x19\
+\x04\x7e\xa9\x7e\x2e\x91\xae\x1b\x8d\xd7\xe9\xdc\x00\x73\x08\xf8\
+\xce\x54\x5d\x65\xc0\xe7\x7d\x1c\x7a\x47\xbc\xd0\x96\xda\xfe\x4f\
+\x10\x0e\x47\x5c\x44\x85\x43\x8d\x97\x38\xb2\xd7\xd4\x8a\x62\xaa\
+\x69\x9a\x32\xed\x9c\xc8\x42\x63\x8a\x01\xbf\x5f\x06\xc0\x75\x43\
+\x06\x36\xc0\x98\x38\x04\xff\x52\x6b\xc1\x81\x32\x49\x47\x60\x2a\
+\x5e\x16\xc1\xbd\x5b\x9d\x16\x66\xa9\x69\x88\x36\xa1\x40\x6d\xbe\
+\x0b\x35\x40\xfc\xd7\x0a\x8e\xe6\xed\xf5\xb5\x73\xb5\xba\x41\x09\
+\x58\x07\xae\x39\xb2\xc7\x0d\x2b\xcc\xc9\x3c\xf8\xd4\xe0\x51\xc1\
+\x79\xfc\x1d\x01\x17\xbc\xac\x7c\x66\x7f\x0f\xc5\xcf\xe3\x2f\x4d\
+\x3d\x17\xa3\xaa\x18\x03\x7b\x38\x07\x33\xf6\x7a\x6b\x30\x6e\xa1\
+\x76\x6d\x8b\x05\xe0\x08\x01\xef\x14\xc5\xbc\x02\xc0\x95\xef\x46\
+\x4c\x22\x41\x8d\xb4\xc7\x72\x09\xee\x6e\x12\x85\x42\x7e\x64\x00\
+\xe6\xa6\xb1\x4d\x10\x74\xfc\x9c\x36\x02\xe3\x2f\x8d\xd0\xce\x8e\
+\x7b\xe5\x93\x45\x67\x87\x00\xee\x5b\x27\x86\x76\x3e\xfb\x25\x0f\
+\xfc\x1e\x40\x53\x83\x52\xf9\x30\x37\x31\x9a\x89\xcf\xe1\x86\x85\
+\x2b\x7e\xfe\xf6\xe6\xc0\x31\x4e\x6f\x02\x60\xe0\x9e\x04\x5e\x2c\
+\x0b\x74\xd0\xa4\x85\xe9\x5a\x0e\xbc\xae\x16\xbb\x15\x13\x27\x4a\
+\xf7\x80\x50\x1a\x4d\xeb\x58\x03\x86\xda\xa3\x1f\x07\x6e\xf9\xea\
+\xf4\x09\x6e\x24\x51\x42\xb9\x18\xc6\x05\x60\x38\x07\xf2\xaf\xe3\
+\x6d\x55\x28\xce\xc9\x7e\xbc\x82\x15\x71\xc9\x3b\x11\x30\x42\x86\
+\x16\x5f\x21\xf2\xdb\x24\xf8\xa4\xb6\x92\x66\x07\xb4\x2f\xfc\x3f\
+\xfa\xeb\x1c\xfe\xff\xfc\xdc\x31\x3b\x04\xb6\x7a\x08\xe0\x75\x76\
+\xa8\x4d\x5e\xaa\xb5\x81\xb8\xea\xe9\x72\x1a\xfd\x25\x7f\x00\xf0\
+\xd4\x11\x41\xbc\xe9\x91\xd3\x9a\xd8\x4a\xf4\x0d\x40\xe5\x0c\x5d\
+\x07\x00\x03\xff\xeb\xfd\x7d\xbb\x0d\x9e\x08\x70\x45\xfc\xca\xca\
+\x29\xe0\x1f\xb3\xae\x97\xa3\x48\x6a\x45\x34\x56\x4e\xe7\x1a\x78\
+\xbd\x6e\x3b\xa9\xec\x7e\x4b\x8b\xbc\x82\x21\xeb\xfd\x1d\xd3\x9e\
+\xa3\xff\xc1\xf5\x76\xee\x50\x21\x6e\x49\xef\x7a\x68\xc0\x79\x30\
+\x73\x57\x7b\x94\xae\xb5\x82\x0c\xa0\x56\x14\x4e\x4d\x22\x1f\x4e\
+\x2e\x53\xed\x77\x87\x81\xa7\x58\x49\x05\x8e\x66\x4f\x46\xed\x4b\
+\xa4\xa7\x97\x04\x38\xbf\xa3\xef\x1a\x03\x29\x65\x34\x1a\x1a\x46\
+\x47\x3b\xf7\x66\x67\x42\xe0\xfe\x97\x9d\xa9\xc8\x56\x7f\x67\x2e\
+\x5f\x83\xce\x11\xfc\x40\x4e\xe7\x3e\xf2\x2a\xe0\xd8\xed\xe1\x91\
+\x30\x3e\x41\x5c\x64\x5c\x64\x5a\x4c\x8b\x78\xcf\x1d\x75\x04\x5c\
+\xda\x01\xa6\xa8\x9a\x11\x74\xc9\x8a\xb5\x47\xb5\x30\x70\xcb\x08\
+\x8a\x37\xc1\x58\x64\xa9\x9e\xe6\x5f\x8d\x36\x9b\x71\x34\x91\xfc\
+\x01\x6e\x3c\x96\x9e\xc0\x5b\x85\x92\x27\x5a\x01\x31\x3f\xc9\xb7\
+\xef\x0b\x0f\x27\x6a\xca\x60\x78\x05\x51\x98\x84\x93\xf6\xf3\x38\
+\xb4\xf8\xaf\x92\x98\x50\xb8\xf1\x4d\xe3\xea\xc9\xb8\xba\x7a\xdb\
+\xf2\xc2\xea\xe1\xf6\xd6\x79\xe3\x74\x3d\x20\x45\x0d\x26\x23\xa3\
+\x6d\x34\xba\x1f\xc6\x71\x3e\xc2\xbc\x18\x79\x0b\x3c\x39\x04\x86\
+\xc4\xd6\x74\x08\x14\x2c\x15\x8f\x57\xb3\x30\x77\x0e\xda\xea\x53\
+\x61\x34\x9b\x5e\xa9\xc5\xba\x32\x08\x23\xf1\x31\xc8\x40\xe2\x02\
+\xe8\xba\x6b\xca\x04\x02\xf7\x61\x8d\x58\x2c\xaa\xa7\x57\xa3\x54\
+\xea\x32\x75\x01\x95\xcf\x7d\x88\xa8\x9f\xbf\x39\x42\xc0\xf1\xeb\
+\x0e\x81\xab\x8d\x3b\x57\xa8\xb2\x02\xec\x06\xf8\x76\x75\xdd\xe9\
+\x2c\xdc\xb7\x2b\x91\x41\x1d\x00\xe0\x08\xe1\x05\xb7\xee\x06\x17\
+\x1a\xf8\x6d\x6d\xe2\x37\x18\xb4\xbe\x02\x86\x79\xc9\x00\x68\xca\
+\x87\x6a\x62\xb8\x89\x83\xfe\xe5\xbd\x61\x39\x49\x2b\xf2\x38\x2c\
+\x71\x28\x6c\xa1\x6e\xed\x00\xd6\xc4\x30\x76\xe5\xaf\x03\x13\x5c\
+\x31\xa1\x1a\x51\xab\x8a\xf3\xed\x12\xf8\x30\xd8\xec\x20\xd2\xc6\
+\x26\x2e\xfc\xb2\x53\x60\x01\x18\xd5\x73\x97\xd1\xbe\xe5\xbd\xa5\
+\x60\x1e\x68\x90\x96\x5e\x1e\x55\x05\x51\x3a\x7e\xb0\x20\xa8\x6e\
+\xe1\x37\xbc\x1c\xfd\xaf\x80\xa1\xc0\x9c\x03\xf3\xb5\xdb\x4a\x6a\
+\x6a\x1a\x1f\x26\xc2\x4d\x1c\x08\x88\x7a\xb3\x16\x03\xcb\x32\x03\
+\x06\xee\x0c\x0a\xd3\x89\x0d\xf0\x2c\x95\x8a\x82\x94\xf9\xfd\xfe\
+\x3d\xde\x67\xce\xb1\x9c\xfd\x35\xbc\xfe\x8e\x91\xbe\x95\x40\x23\
+\xbd\xba\xd5\x81\x57\x24\x16\x96\x8f\x21\x07\xae\xfb\x00\xa3\xf9\
+\xb1\x66\xdd\xb5\x89\x35\xd3\xae\x81\x19\xc7\xbc\xa4\x87\xe9\x5d\
+\x60\x4a\xa8\x83\xc6\xf5\x33\x45\xee\xd5\x4b\xbb\xdd\xe9\x70\x18\
+\x03\x4f\x00\xe8\x50\x5a\xd4\xc2\x45\x31\xee\xf4\x8c\xe8\x72\xb6\
+\x5c\x82\x39\x98\x38\x83\x12\xce\x0c\x7e\x4d\xbb\x5a\xe0\x57\x6c\
+\x67\xb5\x82\x05\xff\x96\xb7\xd2\x2e\xed\xac\x3d\x03\xbf\xeb\x1b\
+\xf8\x5d\xdb\xbc\x10\x98\x81\xc4\x71\xc3\x57\xc0\x02\x35\x03\x46\
+\xc1\x27\xb4\x82\x7f\x04\x9c\x31\x82\x84\x33\xdc\xd7\x36\x31\x6e\
+\x6d\x8d\xf2\xa9\xcb\xbc\x19\xaa\xba\xac\x83\x00\x1f\x0d\x90\x37\
+\x33\xbf\xa0\xc5\x65\xad\x01\xae\x8a\x32\xae\xf3\x76\x27\x5c\x39\
+\xc3\x78\x44\xa9\x0c\x83\xf3\x45\xb6\x14\x75\xbc\x61\x50\x0d\x76\
+\x9d\x80\xe1\x06\xd6\x80\xa1\x91\xb1\x8d\x69\x76\x1f\xb8\xe7\xe9\
+\x35\x4d\x91\x38\x48\xfb\x2c\xbd\xc3\x16\xc0\x3e\x30\x6a\xe4\xc9\
+\x72\x04\xbc\x39\xc9\x3a\x04\xc6\x6d\x0f\xf5\x69\x5a\x98\xce\x2e\
+\x0d\x97\xf9\x8f\xd7\xf2\x85\x91\x01\x57\x21\x35\x0e\x4b\x8c\x3f\
+\xdd\xa5\x94\x38\x96\xdc\x0d\xcd\x9a\x81\x05\x6c\xe0\x32\x40\x73\
+\x45\x0c\x38\x7f\xdb\x31\x2f\xf6\xea\xf3\xb5\xdc\xd8\x38\x34\x5c\
+\x8e\xc8\x1a\x78\xad\x3e\x28\x52\x3a\x7b\xb9\x3b\x0b\x0a\x1e\xea\
+\x53\x0b\x20\xb0\x29\x1f\xb6\xc0\x50\x49\x09\x95\x5c\x7d\x13\xb5\
+\x4e\x6d\x8f\x8d\xd9\x6b\xa3\x31\x03\xa5\x8b\xfb\x97\x38\xac\x2f\
+\x68\x60\x06\x83\x3f\xbb\x7d\x59\x99\xdb\xb5\xed\xda\xc0\x12\xee\
+\xb7\x5e\x60\x4f\x86\xa1\x78\x97\xf7\x7d\x93\x83\xf7\x70\xe1\x7a\
+\x0f\x97\x3c\x1e\x58\xfb\xb6\x48\x3f\x97\x51\x96\xea\xd5\xec\x4a\
+\x61\xbd\xda\x24\xc0\xb7\x80\x51\x98\x96\x06\xb8\xe9\x01\xc3\x56\
+\xcb\xad\x6c\x81\x55\xa2\x74\xa7\xa6\x46\x23\x18\x4c\x42\xed\xae\
+\xd9\x01\x9e\xce\x61\xae\xf8\x93\x45\x04\x29\x08\xbc\xfb\xb3\x81\
+\x2d\x0d\xd4\x8e\x2e\x87\xce\x3f\xc5\xe6\xcd\xf6\xd5\x63\x16\xf2\
+\x6b\x18\xb2\xe3\x0c\x2c\x8e\xa3\x0a\x99\x84\x35\x4f\xae\x9f\x48\
+\x24\xea\x13\x25\xc3\xf9\x49\x2f\xf5\x4d\x60\xbf\x06\x0c\xff\x3f\
+\x96\x61\x2a\x96\x33\x0e\x40\xed\x02\x9f\x9d\x66\xa3\x46\x5b\x08\
+\xaa\x00\xd0\x40\x25\x13\xcd\xc0\x54\x4c\x83\xd8\x9f\x4b\xc0\x78\
+\xeb\xde\xa2\x3e\xd4\x8e\x99\x57\x2c\xd8\x86\xe6\xbd\x70\xb5\x1f\
+\xaf\x20\x2d\xfc\x2d\x66\x48\x34\xf2\x86\x2b\x83\x6d\x08\x68\x61\
+\x11\xa8\xd7\xeb\x39\x25\x29\x4b\x3c\xdb\x82\x49\x89\xfa\x1a\xd8\
+\xcf\xb6\x48\x35\x83\x89\x65\x5b\x9c\x28\x9c\xe4\xfa\xcb\x3c\x78\
+\xbf\x69\x4e\xe0\x26\x5e\xae\xa3\x96\xda\xc5\xa7\x00\xd9\x8b\x2c\
+\xb0\xd9\xcd\x34\xfd\x86\x52\xb1\xe3\x4f\xa9\x0f\xd2\x02\xa5\xd4\
+\xed\xca\xdd\xac\xd5\x7a\x47\x1b\x43\xaf\xdc\xc5\xbd\xdc\xfb\x7e\
+\x60\xe3\x73\x3d\x27\xc1\xbf\x1b\xde\x4f\x15\xc9\x5f\xa3\x7a\x1e\
+\xa1\x49\x5d\x81\x53\x67\x93\x22\x5b\x5e\xaa\xd7\xf4\x34\x3d\xeb\
+\xc9\x87\xcf\xc0\x24\x1b\x50\x6c\x17\x40\x42\xc0\xb0\x3a\xcc\x3f\
+\xb5\xdb\x86\x4b\x23\x41\xf0\x0b\x2e\xb7\xc9\x4b\x30\x4c\xab\x6d\
+\xf0\x78\xfc\x08\x1c\xa5\x63\xa3\xbd\x0b\x2d\xfc\x0e\x61\x19\xf0\
+\x67\x26\xf6\x48\x28\x98\x6f\xaf\x29\x2e\x1c\xe6\x78\x69\x23\xa3\
+\x57\xd6\x3b\x6c\xe0\x4f\x62\x43\x4f\x49\x48\x6e\xbc\xc7\x1d\xe7\
+\x2f\x86\x25\xd7\xea\x59\x7c\x8b\x45\xa7\xd3\xb1\x74\x7c\xd4\x1b\
+\x20\x17\x15\x9f\xd0\x6c\x36\x3d\x7a\x1a\xd6\x80\xb7\x51\x9a\x24\
+\x29\x2a\xa1\xc4\x1f\x4b\x8f\xa4\x88\x9a\x3c\x5d\x10\x59\xf1\x85\
+\x7b\xc2\x68\xcb\x87\xc5\x0c\xac\x97\x36\xc0\x67\xd3\xc2\x95\xaa\
+\xc2\xa2\xb3\xeb\xb8\x6b\xdb\xbb\x43\x9a\x39\x87\x3e\x0d\x1c\xcc\
+\x9f\x34\xf0\x35\x2b\x8b\x94\x57\x1c\x07\xa4\x9b\xb5\x57\x6b\xbd\
+\x8e\xec\xdb\xfb\x37\x81\xa1\xce\x7b\x37\xbf\xe6\x44\xaa\xe2\x72\
+\xb9\x7c\x90\xb6\x82\x56\xd5\x97\x01\x66\x77\xb3\xb3\x2d\x1e\x3e\
+\x01\x07\x5b\x41\xe9\x12\x00\x45\xcc\x94\x69\x12\x75\x6a\x61\xd0\
+\xf5\xac\xd8\x4c\x78\x2c\x27\x63\xb2\xa2\xd5\x4b\xfd\x93\x93\x35\
+\x70\x7e\x36\x33\x1c\x1f\xdb\x0c\x36\x82\x78\x81\xc0\x6f\x71\x08\
+\x4c\xff\x89\x6e\x0f\x8b\x0c\x6c\x0a\x63\xc1\xd0\x0b\x8b\xeb\x68\
+\xbd\xba\xee\x23\x8f\x3e\xa6\x3f\x6d\xe0\x8d\xe6\x70\xd0\xc6\xb4\
+\x48\x75\x5c\x47\x2e\x6c\x5c\x1d\xb8\x52\xb5\x01\xd9\x2d\x74\x36\
+\x73\x0f\xeb\xe9\xa5\x35\xb0\xa9\x19\x1c\x44\x40\xb4\x04\x28\x92\
+\xcc\x64\x0b\x2c\x02\x86\x21\xc8\x77\xcd\x6f\x8f\x1f\x74\xe0\x8d\
+\xb8\xbc\xcc\xa7\x8c\xb0\x26\x46\xdd\x4b\x9a\x41\x9b\x38\xf4\xf3\
+\x72\x8b\x14\xa0\x81\xdd\x92\x17\x03\x93\x61\xcf\xda\xa5\x57\x9d\
+\xd7\xf2\x6e\xc8\xc2\x2d\x8d\xb5\x79\xb5\x14\x1c\x6f\xb0\x3d\x8b\
+\xcb\x7d\xb4\x40\x0b\xf1\x5a\x30\x6f\xb5\x0a\x4b\x79\x87\xa5\x82\
+\x4c\xfc\x09\x98\x6a\x52\x19\x3b\x18\x72\xdc\x7b\x59\x0e\xfa\x83\
+\xa9\xec\x58\x44\xc0\x70\x43\xf6\x6e\x02\x7b\xc0\x28\x4c\x6b\xc0\
+\x53\x04\x0c\x0b\x62\xa3\x0d\x01\xaf\x37\x31\xa0\x7f\xde\xc0\xa8\
+\xbc\x5f\x0c\x28\x3c\xfc\x2d\xb1\xb7\x1b\xd5\x61\x83\xc0\x65\xc8\
+\x85\x49\x99\x3b\xf8\x47\x39\xe2\x8e\x6d\x8d\xe4\x20\xa8\xa3\xe7\
+\x23\xe8\xcc\x88\xd7\xb7\x0b\x5c\xa9\x18\xc0\xc4\x5d\xed\x1c\x00\
+\x53\x95\x1e\x79\x85\x46\x48\xc1\xa2\x25\x80\x63\xca\xef\xf7\xc6\
+\x1f\x59\x4d\x78\x38\x80\xb8\x7b\xc0\xa4\x44\x76\xea\xa5\xe9\xe8\
+\x00\x18\x6f\x62\xf0\xb3\xcd\x1e\xca\x7b\x0b\xcb\xfb\x4e\x06\x5b\
+\x98\xe3\x9e\x37\xc0\x4d\x04\x9c\x7d\x73\x38\x98\x97\x86\xda\x97\
+\x39\x9e\x4b\x5e\x11\x34\xc3\xe8\x82\xc3\x61\xeb\x09\x6e\xd7\x57\
+\xc0\xd5\x0e\x07\xde\x5c\x15\x5f\x73\x0b\x6c\x15\x7c\x1d\xd2\x06\
+\x96\x85\x0f\x80\x32\x7b\xcf\x14\x35\x43\x60\x0a\x80\x9a\xd6\x99\
+\xb6\x83\x93\x15\x35\xd6\x4e\x1f\x14\x59\xc9\xe5\x26\xfd\xc4\xc6\
+\xc2\xbb\xc0\x5d\x7d\x13\x83\xee\xcb\x4f\xe1\x52\x6c\x07\x7a\xf4\
+\xca\x37\x46\x16\x0e\x84\x2d\xdb\xac\xd4\x29\xc0\x3d\x9c\x1d\xda\
+\xd4\x31\xeb\x71\x3d\xe3\xe6\xc7\xf3\xa0\x0d\x7d\x49\x37\xf1\x5b\
+\x24\xe8\x71\x1f\x61\xde\x03\xe0\x4a\xaf\x0b\xf8\x23\x5f\xb5\xb7\
+\x29\x96\xfc\x7d\x3b\xc8\x96\x4f\xbc\xbd\x5e\x35\x12\x85\x1b\x85\
+\xc8\x4a\xa4\x9f\x65\xa3\x43\x52\x03\x7e\x02\xe7\x47\x02\x8f\x81\
+\xe5\xe4\x6b\xe8\xfc\x2a\x1d\xcb\xad\xf7\xf0\xd3\x2e\x30\x94\x1e\
+\x30\x13\xbf\x03\xa8\xb7\xec\xe0\x67\x26\x6e\x65\x59\x44\xad\xc9\
+\x55\x67\xec\x41\x07\x66\x81\x8d\xf2\x58\xad\x8e\x72\x20\x0b\x0c\
+\x1c\xb5\xb8\xbe\x45\xbf\x87\x3a\xf4\xab\x89\x3d\x5b\x06\xcc\x3a\
+\x25\xc5\xdf\x4f\x48\xca\xed\xda\x6c\xe1\x75\xcc\x82\x4b\xb0\x2c\
+\xc1\xf4\xba\x62\xd1\x81\x05\x15\x5c\x20\x77\x09\x0b\x68\xe0\x32\
+\x80\xf4\xcc\x85\x40\xfa\x49\x25\xbb\xd4\x5c\x9a\x83\xfa\x6a\x79\
+\x6d\xc2\xc7\x2d\x0a\x03\xe8\x57\xa2\x4f\xf1\x89\x79\x71\x03\xfc\
+\x81\x80\xef\xd7\xc0\x4c\x08\xa8\x36\x98\x8a\x7f\xe2\xe4\xc5\x4a\
+\xb2\xdc\xca\x79\x73\xbb\xa2\x32\xf0\x43\x78\x45\xb9\xd5\xb9\xc6\
+\x07\x7f\xb7\x2e\x32\xc6\x2d\x58\x0a\x4b\x30\xdc\xd4\x82\xc0\x2b\
+\xea\x1e\x39\x64\xfc\x0d\x25\x60\x68\xe1\xf3\xb8\x4a\x36\xdd\x5f\
+\x02\x0f\x00\xe1\xee\xf8\x36\x16\x26\x4d\x02\xd2\xe5\x59\xb5\x02\
+\xd3\x92\x89\x3a\x47\xa3\xe0\xc1\x56\xad\x1d\xd5\xb5\x34\xf7\x00\
+\x83\xc9\x82\x85\x4e\x9d\x8c\x03\xd5\x0d\xb7\xe7\xa0\x32\xc0\x7b\
+\xf8\x54\x03\x7e\x35\x68\xc0\x38\x4c\x83\x97\x08\x9e\xa3\xff\xa9\
+\xe3\x06\x25\x70\x73\xeb\xf6\x0e\x48\xb4\x85\xc3\xa2\x34\x08\x43\
+\xe9\x0b\xbf\x0d\xe3\xb1\x08\xf1\x6b\xab\x4d\xdf\xf2\xfa\xda\x79\
+\x7d\x6a\x46\x76\x62\x36\x0a\xfa\x3d\xae\x58\x35\x9f\xde\xf3\x68\
+\x08\x2c\x01\xfb\xf3\xc2\xb7\x1b\xb3\x9a\x4d\xf4\xcd\xb2\x09\x28\
+\x11\xe3\x91\x82\xe3\xe4\x02\x5c\xd4\xf4\xf2\x90\xb3\x81\x78\xb3\
+\x29\x0e\x64\x1a\x3c\xad\xa8\x58\x1e\x80\x80\x20\x3f\xe8\x15\xf1\
+\x6c\x07\xf8\xee\x0e\x3a\x26\x9a\xed\x31\xff\x54\xd8\x0a\xf2\x31\
+\x59\xe4\xc6\xac\x56\xb6\x07\xb8\x75\xe9\xc2\x89\x6c\x93\x52\x83\
+\xec\x0e\xef\x8d\xb3\x6f\xc7\x8d\x3c\x7a\xdd\xd0\x81\x7f\x85\x8a\
+\x9d\xe7\xcf\x5b\x58\x10\x2c\x49\x60\xbc\x76\xf9\xac\x7b\x41\xba\
+\x83\xda\x62\x8e\x5e\x8d\x24\xbd\x8f\x68\x0c\xaa\x6c\x3c\x7e\xdb\
+\x02\x67\x98\x0b\x73\xd3\xca\x99\x41\xc3\xd9\x54\x26\x8a\x11\xc6\
+\x33\x4a\x51\x31\x70\x01\x03\xeb\x61\x7a\xc8\x80\x02\x9e\x1e\xa7\
+\xc1\xcf\x8c\xad\x89\x14\xcb\x85\x39\x6a\xdb\xd6\xa0\x5a\x50\x09\
+\x79\xd1\x8e\x2e\xa9\x64\xe0\xda\xb9\x01\xbe\x65\x6d\xc8\x30\x8f\
+\x34\x2a\x8b\x70\x8f\x23\xee\x30\x78\xb5\x34\x7c\xe0\xd1\x82\xa5\
+\x00\xea\xd7\xae\xca\x1e\xb0\xc9\x6b\x41\x71\x1f\xd4\xbc\xde\xa7\
+\x2c\x4f\xa1\xff\x56\x19\x6d\x61\x7d\x00\x31\xf6\x0e\x18\x69\x19\
+\x1a\x1d\x35\xe5\x5c\x3a\x97\x36\x83\x61\x85\x4c\xec\x03\x63\xe5\
+\x61\x06\x21\x9e\x46\x61\xfa\xe7\x7c\x5a\xc4\x3d\xb7\xaf\x17\x04\
+\x76\x6f\x80\x6f\xdc\xa7\x71\xe4\xd0\xe7\xcc\x3a\x64\x39\xe2\xc4\
+\xdc\xeb\xde\x6e\x61\x6c\x69\x9f\x05\x22\x0b\x55\x6b\x1c\xd6\x78\
+\xee\xe6\x0e\x30\x2a\x1d\x6a\x82\x0a\x03\xff\xb1\xe8\x42\xc1\xc3\
+\x9a\xca\x96\xa2\xfe\x9d\x8e\x07\x17\x83\x06\x33\xc6\x28\x12\xb7\
+\xe2\x27\x7d\x07\x98\xba\xb8\x35\x70\x6a\x6b\xe1\xae\x19\xcc\x26\
+\x1a\xeb\xdd\x4f\x54\x10\x14\x5b\xfa\xf6\x7a\x60\x03\x47\xce\xcd\
+\x0e\x16\x8c\x00\x77\x3f\xd0\x39\x03\x14\x23\xb4\xf1\x84\xec\x1c\
+\x1d\xe9\x41\xda\xe7\xae\x8a\xe3\x0c\x4f\x52\x4d\x0b\x64\x7f\x00\
+\xa3\x6b\xf7\xa2\xb7\xaf\xa4\x4d\xad\xa0\x20\xc3\x9c\x14\x9d\x65\
+\x1f\x4c\x2c\x4b\xc9\x8f\xa0\xc5\xef\xb4\x78\xc2\x83\xfa\x59\x22\
+\x13\x56\x34\xa5\x95\x53\x01\xe0\xaa\xca\xa9\x66\xe1\xd4\xeb\x3a\
+\x4c\x23\x60\x03\x04\x46\x26\x66\x7e\xe2\x14\x82\xb5\xfe\x0b\xe0\
+\x22\x1f\x70\x6d\x80\x6f\x9e\x23\xdd\xe3\xf2\x23\x54\x5b\xf1\x50\
+\x7c\x68\x9c\x87\xbd\x9d\x23\xb7\x4b\xcf\xc2\x8b\x4e\x9a\x6e\x3f\
+\x28\x72\x26\x9c\xc9\x48\x7c\x1f\x0c\xe1\x3f\xdc\x35\xf0\x1a\x98\
+\xb4\x8a\xa8\x4b\x76\x4c\xa1\x16\x2d\xc9\xf2\x07\x3d\xad\xcc\x60\
+\x1c\x4b\xae\x81\xeb\x13\x23\x88\x77\xc8\x87\x33\x0d\xf8\xf2\xa3\
+\xd1\xb6\x13\x10\xf8\x05\xc6\xab\x3a\x11\xc2\x5a\xeb\x27\x1a\x1f\
+\x7c\xe9\x5f\x02\xb3\xae\x4d\x4e\xba\xbe\x71\xf9\x15\x03\x71\xf9\
+\xf1\xfa\x61\x28\x8a\x94\xe5\xc8\xbd\x91\x59\x8b\x8e\xaf\x93\x02\
+\xfd\x4a\xb0\x7e\x75\xd5\x87\x89\x45\x51\xfb\xb0\xa4\xd8\x91\x1d\
+\x9a\x92\xc6\xd5\x30\x15\x84\x7e\x62\xa3\x70\xfd\xcf\x06\xf4\xd3\
+\xc3\x6d\xd7\x32\x16\xd3\x81\xfb\x09\x07\x98\xbb\x62\x57\x08\x38\
+\x3f\x6a\xa0\x72\x30\xde\x50\xdb\x5d\x33\x54\xd1\xaa\x56\x39\x9c\
+\xa3\x91\xb2\x5f\x08\x3c\xd7\x81\xaf\xb5\x19\x26\xa7\xdb\x57\x81\
+\x9f\xbd\x57\x75\xb9\x9f\x9f\x31\xae\x0e\xec\x52\xa0\xd0\x58\x2c\
+\xe0\xfe\x5b\x2e\x8b\x0f\x8a\xd8\xb2\x56\x85\x9d\xa6\xf4\x4e\xad\
+\x44\xd6\x7a\xe0\x98\x3d\x18\xf2\xc0\x27\x0f\x07\xc0\xfd\x7e\x7d\
+\x06\x40\x85\xc4\x7d\xcb\x0f\x98\x8a\x98\xb6\x3d\xe4\x10\x8b\xe6\
+\xe1\xf0\x0d\xda\x58\xab\x1d\x42\xe9\x1f\x15\x1e\xeb\x2d\x9c\x88\
+\x7c\x05\x7c\xca\xb3\xee\x1d\xe0\xeb\xeb\x67\x3c\x1e\x70\xfd\xec\
+\x86\xeb\x68\x0b\xec\x5b\x78\xe2\xa0\x62\x71\xa3\xea\xbf\x53\x69\
+\xe2\xa7\x1e\xf6\xba\xf0\xbb\xc0\xb0\xf4\x6f\xed\xce\x2d\x6d\x80\
+\x07\x87\xc0\xcb\xfe\x3b\x90\x17\xf5\xe9\xd3\x13\x94\x54\x6d\x45\
+\x51\x5f\x87\xe0\x8c\x35\x0f\xef\xe8\x77\x60\x53\x35\x80\xc6\x8f\
+\x6e\x61\x9c\x8f\x4c\x30\x92\x1c\x7f\x11\xab\x4f\x49\xff\xf3\x2e\
+\x30\x06\xd5\xd7\x9e\x81\x39\x70\xf9\x5c\x39\xd2\x65\xc7\xde\x43\
+\x00\xbb\x5b\x78\x7f\x6c\x69\x0b\x2c\x1d\x02\x4f\x70\x3d\x5c\xb7\
+\x01\xa3\x73\x7c\x9a\x0a\x01\x66\x20\x26\x5e\x8d\x46\x23\xb0\x79\
+\x5f\x20\x30\x0d\xde\xd6\x97\x10\xfc\x58\xdf\xc3\x03\x38\x6d\x4e\
+\x30\xaa\xa4\xa2\x8f\x9f\x78\xc9\x2b\x53\x6d\xcf\xc0\xee\x6f\x02\
+\xf7\x81\xe2\xb6\xb8\xf4\x2c\xbc\xf7\x98\xc7\x17\x0d\x2d\xbd\x85\
+\xb7\xb5\x30\xf7\x25\x70\x3f\x05\x98\x6b\x16\x6e\xd7\x62\x4b\x1e\
+\xc1\x20\x6d\xbc\x07\xf7\x94\x1d\x03\xb7\x73\x7a\x83\xf9\x47\x2a\
+\x7f\x51\xd0\xb6\x70\x96\x81\xe2\x19\x80\x43\xe0\x89\xc2\x7a\xbe\
+\xc7\xc0\x3e\xdf\x22\x0f\x78\x57\x67\xb1\x6f\xe0\x6f\x79\xf4\x6e\
+\x93\x36\x20\xa2\xe3\x34\x49\xd2\x1e\xbc\x3c\x04\x4e\x4c\x41\xc8\
+\xf9\x04\x68\x36\x78\x72\x69\xc0\x79\x18\xbc\x7a\xbb\x10\xd8\x01\
+\x14\x3d\x21\xfd\xc8\x94\x6d\x80\xd3\x3c\xba\x04\x4a\x00\xd6\x0b\
+\xed\xd7\xb5\xd4\x0a\x04\xb5\x5f\x4c\x6b\x7e\xbc\x85\xaf\xbf\x00\
+\x7e\xd6\x98\xf5\x18\x6d\x04\x64\xc7\xe2\xfb\xec\xd1\xff\x0a\x18\
+\x46\x2e\x71\x30\x39\x33\x40\x81\x6c\xfc\x98\xcb\xa8\x2f\x8d\x78\
+\x93\xda\x48\x2d\x3a\x3e\x84\xc0\x71\x1e\x5c\x79\xb8\xab\x4b\x4d\
+\x78\x10\xa0\xef\x37\x9b\x61\x98\xb6\x8f\xf5\x89\xa2\x1f\xa9\x98\
+\x4c\x72\x46\x9f\x7d\x1d\xf6\x16\xab\x6b\x11\xff\x3a\x36\xc9\xc4\
+\x72\x28\x96\xd5\x73\x5e\xcf\x2e\xaf\x4e\xfc\x7c\xbb\x5a\x39\x5d\
+\x8b\x23\x58\x56\xb9\xb5\x24\xec\xf3\xcd\x80\xd8\xa1\x7c\x1b\x8f\
+\xb6\x54\x10\x74\xef\x5f\x6d\x61\x92\xe4\x8b\xc4\x79\x9c\xa1\xed\
+\xed\xd7\x7c\xea\xf5\x84\x6d\x91\x83\x43\xe0\x3e\x6a\xf4\xb1\x94\
+\x32\x9b\xad\xa5\x65\x17\xc8\x92\xf9\x05\xee\x5b\x8e\xd0\x81\x7f\
+\x40\x5e\x36\x85\x40\x4b\xe3\x1d\x66\xcb\xe5\x3e\xc8\x9e\xa3\x5f\
+\x0f\xe4\x16\xc9\xfb\x93\x69\x56\x9e\x9a\x5a\x7b\x3b\x58\xdb\xc3\
+\xd7\xab\x1b\x89\x00\xc7\xd1\x68\x36\x0a\x52\xc2\x4a\x93\x95\x0b\
+\x05\x9c\xb9\x6b\x96\x35\x70\xa7\xc9\xa9\x67\x91\x30\x4b\x79\xbe\
+\x01\x8c\x70\x65\xe8\x93\xdd\x42\x3d\x06\xeb\x5f\x25\x72\x1a\x02\
+\x27\x37\x02\xb7\x0f\xbc\x5c\xf6\x19\x70\xe9\x36\x3d\xe4\xb5\xf2\
+\x10\x3d\x0e\x00\xea\x63\x74\x40\x3c\x98\xfd\x8c\x8e\xde\x14\x0c\
+\x7c\x39\x5b\x8e\x42\x63\xcb\xf0\xd7\xcd\x1c\x5b\x73\x5a\x25\x51\
+\x8c\x4d\xc8\xe0\xbe\x43\x63\xfb\xae\xae\x5f\xa3\xd9\xe3\xb8\xa1\
+\xae\xd2\x48\x24\x8e\x56\x1a\x70\x30\x14\x87\x19\xba\x83\x80\x2d\
+\x42\xff\xdd\x61\x2c\x26\x39\x8e\xa7\x9a\x87\xb2\x43\x5f\xc9\x21\
+\x08\x3d\xb1\x56\x52\xe4\x51\xd8\xe2\x79\xe2\xe2\x7e\xb5\x90\xb6\
+\x59\x09\x01\xf7\xeb\x66\xe0\x30\x39\xd3\xb3\xe9\x06\x98\xc0\x2e\
+\x6c\xcf\x4d\xe3\xf1\x38\x88\xae\x13\xcd\xf7\xcf\x91\xea\xc0\x2f\
+\xe6\x05\x09\x5c\xda\x24\xbb\xc4\xf1\xcf\xab\xd5\xb3\x57\x64\x5b\
+\xd4\x17\x1b\x78\xc5\x1d\x6b\xc3\xc1\xc8\xad\xd1\x94\x8b\x71\x85\
+\xea\x06\x9f\xe5\x03\xc4\x5c\x64\xd5\x52\xb5\x2c\x44\x06\xcc\xbc\
+\x55\xce\xf6\xe2\x5f\xb4\x74\x13\xef\x1b\xb8\xc6\xc3\x4f\x1d\x11\
+\x7c\x14\x19\xd0\x8f\xd2\xe2\x40\x59\x09\xe3\x5d\xe0\x48\xba\x78\
+\x0e\xda\xaf\xc9\x6b\x65\xb4\x05\xbe\x87\x52\xf2\xa5\x50\x68\xa3\
+\xd2\x05\xac\xe7\x5d\x95\x1f\x07\x9e\xf6\x56\x0b\xb0\x92\xf1\x13\
+\xfe\x49\x3f\xbb\x42\xe7\x2e\x4e\xf7\xb3\xf3\x73\x4a\x5a\x2d\xcb\
+\x25\xfb\xea\x56\x13\x1d\xcf\x2b\x54\x4c\x78\x8f\x70\xa5\x14\x00\
+\x8c\x40\x91\x95\x85\xa0\x82\x38\x7b\xed\xb2\x78\x4e\x40\xbc\x2a\
+\xd4\x9a\x5f\x00\xb7\xe0\x47\x3c\xf3\x1d\x21\xf3\xae\x4b\x07\xbe\
+\x08\x25\xd5\x8a\x95\xb7\xc0\x13\xa5\x0f\x0b\x62\xb5\x09\x1a\xb7\
+\xf2\x08\xb5\x69\xf5\x6a\xc9\xdc\x6d\x13\xe8\x8a\x04\xe6\x3c\x1e\
+\xd5\x46\x8a\x46\x3f\x0e\x4c\x56\xdc\x27\xe6\xd5\xbc\x80\x3c\x5a\
+\x16\x7b\xb7\x37\x3b\xd3\x96\x7b\x06\xbe\xe5\xca\x30\x9e\x3f\xeb\
+\x39\xe9\x16\xed\x81\xff\xee\xc4\xb5\xbf\x45\x85\xc5\x1c\x29\xca\
+\x0c\x38\xed\xb8\x17\x15\x8f\x40\x11\xe0\xc3\xed\xa5\x7a\x9f\x62\
+\x74\x10\xaa\x41\x6e\xe5\xaa\xed\xea\x2c\x06\x3c\xad\x3a\x03\x1d\
+\x38\x99\x54\x8a\x70\x87\xd3\x9c\x4f\x85\xc2\x63\x80\x81\x2f\xf5\
+\xf2\x90\x40\x69\x89\x86\xe2\x32\x7e\xf1\xf8\x83\x61\xda\xa3\x03\
+\x9b\xa2\x70\x0f\x5f\x44\xd1\xc1\x4a\x70\xc0\x75\x9c\x3b\xb3\xb4\
+\x7b\xbc\xd7\xd7\xb0\xd2\x91\x56\x1b\x55\xe9\xf6\xc2\xfa\xb8\x71\
+\x8b\x7b\x1d\x1d\xca\x00\x4e\xa9\x81\xf1\x92\x84\xa9\x0a\xc9\x0e\
+\x81\x83\x5c\x47\x2d\xcf\xa6\x16\xd6\x81\xf9\x10\x74\x5f\x77\x4d\
+\xdc\x02\xf3\x11\x18\x50\x56\x41\x79\x2c\x8f\x51\x2a\xce\x3d\xb5\
+\x61\x44\x1a\x4e\x28\x56\xb1\x01\xbb\x93\x1b\x15\xf4\x46\x3c\x6e\
+\x00\xbc\x98\x69\x73\x08\x7e\x62\xb0\xf6\xe9\xbb\x1f\x18\xbc\x5b\
+\x03\xd7\xcb\xd9\x6c\x19\x3f\x91\x51\x62\x39\xc9\xe5\xfc\xcc\xbb\
+\x76\xe8\x00\xd4\x28\xae\xeb\x8d\x8a\xbe\x66\xe1\x57\x3d\x39\xb5\
+\xde\x4e\x87\x9a\x13\x23\x99\x6d\x56\x3a\x16\xac\x3a\x7a\x3d\x15\
+\xbc\x55\x9a\x26\xcf\x41\xc8\x0a\x42\x4d\x28\x3e\xc3\x40\x1d\xd8\
+\x02\xe7\x81\xc3\x7d\xc4\x86\xc7\xc9\x88\x6a\xb0\xa3\xb1\x77\xf3\
+\x54\x22\xc5\xd8\xbc\x68\x00\xe7\x6e\x16\xb5\xb4\xd6\xe5\xb0\x0d\
+\x03\x0f\xe9\xec\xc5\xf0\xf8\xd8\xa1\x01\xbf\x7f\x77\x90\x56\x72\
+\x6b\xe0\x86\xc1\xb9\xe8\xf1\xd9\x11\xf2\x6e\x2e\x6c\xd1\x80\xf7\
+\x32\xf0\x3a\x62\x3d\xc0\xb8\xec\xde\x02\xaf\xa6\x70\x0f\xd7\x8e\
+\xd6\xcd\x2c\x8b\x85\x82\x75\x81\x50\xd5\x65\xa5\x27\x48\x83\x87\
+\x67\x93\xf5\x30\x46\xf3\x0c\xa0\x83\x14\xcf\x6f\x9e\x3e\xe4\xb8\
+\x02\x54\x7d\xd4\xb2\x4d\xbf\x85\x42\x0e\xc6\xfe\xb1\x94\x79\x2e\
+\xac\x24\x8a\xf3\x93\x3c\xdc\xdb\xb5\xa7\x0d\x30\xee\x78\xbc\x0c\
+\xed\xc7\xc7\x66\xfa\xe2\x98\xd1\x36\x71\xe8\x7b\xef\x2c\xf2\x88\
+\xdc\x7a\xd0\xf7\x02\x3f\x93\x01\x90\xd8\xa8\x49\x03\xcf\x2d\x1e\
+\x28\x85\x71\xeb\x80\xd7\xbd\x82\x7b\xb6\xdc\x72\xea\xaa\xf2\xe8\
+\x19\x7a\x78\x68\xb5\x6d\x66\x59\x3a\x96\x8d\xac\x84\xa2\xa3\x09\
+\x83\x13\x55\xf1\x7a\x0e\x65\xd6\x18\x56\x76\x13\x2f\xcb\xb3\x7e\
+\x5d\x48\xc3\x7f\x31\xfe\x30\xb2\x35\x52\xd3\x79\x2e\x39\x1e\x0c\
+\x64\x65\x92\x48\x2c\x4f\xe6\xc5\x33\x74\x51\x84\x9a\xcf\xa7\x10\
+\x70\xe3\x9e\xc0\x2e\xdd\x8d\x67\xe3\xf4\x1b\x4c\x4a\x51\x6d\x13\
+\x7f\xff\xbd\x54\xa2\x56\x20\xcd\x4a\xe5\x8b\x25\xd4\xd2\xe8\xd7\
+\xd6\x81\x14\xbc\x75\xae\x5c\x5c\x7f\x29\x57\x9d\x07\x92\xf2\xc6\
+\x97\x2d\x95\xde\x57\x3a\xef\x8a\x86\xdb\xc0\xfd\xbc\xd7\x9e\xdd\
+\xd5\xd1\x3d\x2f\x01\x66\xd7\x94\xe7\x50\x66\x91\x22\x34\x9c\x99\
+\xf5\x88\x88\x58\x1b\x77\xa8\x13\xe7\x77\x57\x4a\x32\x86\x0f\x97\
+\x14\x65\x82\x87\x78\x4e\x8a\x45\x58\x03\x0e\x16\x89\x19\x6e\x69\
+\xbd\xbe\x00\xf0\xfa\xd4\xb6\x77\xed\xa0\xcc\x30\x8f\xc7\x30\x0f\
+\x6b\x3e\xfd\xfd\xbd\x5a\x49\x03\x36\x80\xc7\x6c\x09\x04\x18\xfc\
+\x37\xb2\x28\xad\x9c\xe2\xe5\xe9\x80\xcf\xcc\x83\x37\x07\x45\x12\
+\x42\x2c\x47\x56\xd8\xc6\xb7\x37\x74\xa9\x6c\x5e\xbd\x02\x97\xaf\
+\xb2\x0f\xac\x17\x4a\x56\x0f\xb4\x9c\xc7\x42\x59\x0f\x54\x07\xab\
+\x19\x39\x5c\xa9\xb5\x44\xbd\x63\xc9\x65\xe4\x01\x9e\xe2\xc1\x3a\
+\x4b\x2b\x1d\x4e\x8a\x0f\xf3\x37\x50\x74\x2b\x18\xf8\xb2\x0b\x1c\
+\xff\xcb\x26\xcd\xed\x66\xf3\x39\x8c\x39\x88\x77\x0d\x1c\xf9\x6e\
+\x60\x6e\x5b\x18\x49\xe0\x51\x2b\x96\xc2\x6c\x5d\x2c\xe6\x45\x4a\
+\x60\xb9\xa0\xb2\xb8\xd9\x2f\x0a\x9f\x6f\x43\xa8\xb3\xcc\x1e\xb9\
+\x5d\xee\x87\xe3\x12\x5d\x59\x89\xe5\xb2\xb0\xd8\x69\xcf\xee\xd5\
+\x0d\x56\x92\x01\x89\x67\x6b\xd3\xfb\xa9\x70\x60\x39\x1b\xdc\xb6\
+\x6e\xf8\x87\x6c\x8a\xe1\xcc\x78\x5f\x67\x25\xd0\xc9\xd2\x9c\x00\
+\xe6\x05\x57\x40\x1d\xad\x36\x30\x9b\xfe\x5f\x30\x23\x2f\x87\x43\
+\x33\xfc\xb0\x10\x56\x97\x1e\xea\xcf\xb5\x77\xc6\x33\xad\x54\xe2\
+\xf8\xab\x98\x09\xa9\xce\xab\xa0\x44\x39\xf7\x8b\xe0\x23\x72\x35\
+\x08\x5d\x94\xcb\x8f\xac\xf3\x19\x4d\xd5\xa0\x0b\x65\xa2\xd4\xe2\
+\x6b\x03\xa3\x23\xc3\x33\x40\xbb\xf1\x7c\x56\xeb\xa0\x52\x0a\x8e\
+\xe1\x1f\xbf\xf2\x89\x9b\xf6\x4e\xe6\xb0\xdd\x81\x06\x1e\x1e\x8a\
+\x1f\xb0\xe0\xa5\x12\x1f\xa9\x0f\x03\x74\x16\xce\x0c\x8d\x24\x77\
+\xef\x68\x33\x01\x4a\xc7\x30\x9a\x43\xbf\x06\x3f\x32\x6a\xfa\x65\
+\x3f\xcb\x44\x52\x9a\xc8\x8e\xc8\xac\xe8\xdc\xab\x09\xaf\x7d\x51\
+\xb0\xba\x46\x4d\xb8\xf4\x2d\xdc\xf2\xb0\x7a\x08\x19\xe4\x5a\xe5\
+\xb3\x81\xf5\x4a\xb8\x07\xb7\x97\xa7\xe3\xa1\xf6\x66\x3b\xf0\x38\
+\x0b\x94\x1a\x8d\x1b\x27\xb5\x31\xb0\xd6\xcf\x3a\x04\x56\x55\x35\
+\x04\x6c\xd5\xf0\xd5\x47\xca\x01\x24\xab\xf1\xfe\x7f\x81\xb6\xc9\
+\x48\x9b\xcd\xc7\xd9\xc7\xe8\xa6\x7a\x78\xfd\x35\x0d\xbc\x92\xf8\
+\x40\x65\x8e\x6e\x76\x6b\xfe\xeb\x45\xb6\x04\x33\x76\x39\x7b\x9c\
+\xb9\x71\xb1\xbc\xe0\x86\xb1\xfc\xda\xf5\xad\x1d\x8c\x80\xa1\xf8\
+\x08\x1e\x55\xa9\x4f\x95\x21\xac\xda\x4f\xaf\xaf\xa9\x6d\xc3\x52\
+\xef\x76\x24\x37\xd5\xbf\x76\x1a\xfe\x00\x5d\x5f\x09\x4e\x9e\xde\
+\x80\xba\x98\xb6\x6d\xb0\x78\xf0\x3e\xd0\xef\xd1\xec\x39\xbe\xea\
+\x47\x5b\xc6\x1f\xde\xc3\x42\xf3\x2b\xe0\xe6\xb4\x96\x69\xee\x75\
+\x75\x9e\xdd\x0e\x30\x4c\xc9\xa4\xe5\x06\xaa\xa9\xe7\xeb\x23\xdf\
+\xe6\x7c\xe5\x6b\x03\xa3\xa7\x3b\x40\xed\xa8\x42\xed\x1a\x98\x0c\
+\x92\x0a\x0d\x1c\xfc\xca\x15\xe4\xb6\xc0\x99\xf1\x41\xf5\x8f\x63\
+\x16\x3a\x59\x82\x9e\x9b\x0b\x77\xc1\xcc\x35\x6f\xdf\xb7\x21\xbe\
+\x98\x1e\x82\x47\x86\xd9\x01\xb6\xff\x20\x70\x58\x3d\x3b\xbb\xca\
+\x05\xbf\x38\x68\xe1\x79\x72\xbf\x8d\xe5\x5e\xe1\x07\x3e\x76\x8f\
+\x84\x2d\xff\xc2\xc0\x54\x0f\xaa\x2a\xc1\xd5\x59\x4f\xfe\x93\xc1\
+\x60\xcd\x14\xe4\x4e\xcf\x41\xa8\xee\x7b\xf6\xb0\xdc\x5e\x4b\xfa\
+\xab\x98\x05\x79\xd5\x3c\xac\xf4\xcd\xed\xbe\xf7\xff\xb2\x19\x21\
+\x70\x1c\x8c\xc7\x34\x1e\x6b\x89\xfe\x04\xb0\x84\x87\x1c\x62\x81\
+\x16\x54\xad\xa3\xb3\xd6\x21\xb0\xa2\x90\xfc\x5e\x1b\x6b\xb7\x33\
+\xbb\xe6\xed\x54\xbe\xc8\xc1\x3d\x6b\x0f\xfe\x00\x7f\xd1\x9c\x81\
+\x97\x9b\x23\xf4\x00\x0f\x7a\xec\x90\xf4\x8f\x97\x06\x98\x8f\xec\
+\x49\x8f\xab\x49\xee\xb5\xe0\x75\x8f\xd6\xfb\x59\x75\x3c\x86\x87\
+\x07\x0f\x9f\x46\xd0\x1f\xd4\xd8\x14\xeb\xac\x36\x03\x14\x8e\x46\
+\x33\x0f\x8e\xed\x43\x63\xdf\x39\xcd\x43\xf6\x00\x1e\x54\xe2\xfd\
+\x55\x58\xfd\x54\x28\x29\x15\x3e\xdc\xc4\xaa\x37\x7c\xf4\xfc\x99\
+\x77\x67\xc6\xe1\xb3\x81\x9b\x02\x14\x97\x4d\x8a\x14\xb9\x70\x46\
+\x82\x31\x4b\x5e\x55\x48\x49\x56\xfa\xa7\xaf\xed\xbb\xf3\x50\xdc\
+\x6c\xc8\xb1\x02\xac\x23\xb5\xc2\xff\x93\x47\x2b\x9b\x2c\xac\x6d\
+\x61\x74\xfc\x3f\x2d\xa4\xf2\x79\x83\xb1\x81\x94\x34\x04\x4e\x7f\
+\x02\xfe\xce\x4e\x6d\x2b\xa9\xb9\xb4\x98\x41\x52\xf2\xe6\xa8\x49\
+\x9e\x51\xfb\xc0\xad\x82\x57\xf2\x3d\x7f\x6a\x54\xee\x1a\xf8\x80\
+\xb7\x5a\xa9\x08\x35\x7e\x92\x27\x86\xe6\x17\x7b\xdb\xd8\xb0\x39\
+\x8c\x1d\x6a\xda\xed\xda\x5f\xec\x84\xf1\xf5\x74\x32\xe0\x6b\x56\
+\xca\x14\x64\x51\xa1\xb4\xdb\x91\xc6\x1e\x9d\x94\x63\xf2\x60\x1c\
+\xc1\xc5\xbf\xbe\x85\x4f\xcf\x9e\xf6\x4a\x07\x08\x2c\x0f\x18\x1a\
+\x16\xc3\x3b\xc0\xdf\x7b\xbe\x94\xe4\x30\xb0\x77\xb9\x40\xea\xc2\
+\xe9\xe2\x06\xe2\x41\xd4\x1a\xb5\xc2\xd6\xeb\x6f\xf0\xfa\x3a\xfb\
+\x11\xab\x5a\xed\xf8\xaa\xc1\xe4\xeb\x90\x61\xcc\xc6\xd3\x9c\x0c\
+\xad\x26\x2b\xa7\xaa\xf7\xa8\x26\x2b\xf2\x60\xc0\xf1\x7e\x16\xcd\
+\xdf\xc1\xad\xcc\x06\x02\x7b\x47\x0e\x6b\x8f\x8e\x25\xc3\xbc\x4c\
+\x00\x26\xa6\x1d\x2b\x69\x1e\x7d\x7a\x36\x45\x03\xf1\x1f\x7a\xe9\
+\xd0\x8e\x03\x36\xb7\x0f\x3c\xfc\xee\x81\x2d\x4a\x0d\x60\xae\x3e\
+\xeb\x84\x95\xee\x6d\x50\xe1\x4d\x07\x3e\x3d\x62\x79\xd3\xf5\x21\
+\xef\x57\x0e\x5d\xe9\xb8\x16\x94\x54\xb8\x0b\xc5\x89\x22\x47\x7a\
+\x29\xab\xb7\x85\xf2\x4f\x04\x38\x84\xeb\x0a\x09\x51\x51\xc0\x6a\
+\x05\xbf\xea\xc0\xeb\x1e\x3d\xe0\xb9\x2b\x10\x8d\xde\x41\x21\xad\
+\x79\x34\xce\xf1\xbb\x2d\x09\x00\x00\x20\x00\x49\x44\x41\x54\xc2\
+\x67\x10\x78\xdd\xee\x68\xa0\x41\x3c\x58\xec\x5b\x0c\x08\x78\x3b\
+\x4c\xcb\x7c\xff\x84\x1a\xaf\xd5\xc3\x52\xda\x09\x53\xec\xd1\x9c\
+\xff\x94\x96\x67\x12\xbb\x05\xfe\x26\x2f\xa4\xf5\xd5\xd2\x6d\x47\
+\xa8\xab\x72\x14\x74\xed\x66\xaf\xd7\xd3\x62\xf4\x19\x60\x8e\x3a\
+\x16\x18\xae\x5a\xad\xaf\x4e\x1c\x76\x3d\x7a\xa0\x82\x63\x58\x5c\
+\x33\xe2\xda\xa3\xb7\x5b\xb8\xa0\xb5\x3b\x0c\x50\x65\xc5\x19\x34\
+\x9e\x89\xb6\xf0\xfb\x06\xd8\xfe\x03\x23\x79\x26\xed\xf9\x93\xa0\
+\xba\x78\x76\x3b\x79\x85\xa5\x3e\x01\x8f\x59\xef\xf3\x26\x60\x1d\
+\xc1\xf5\x39\x42\x5b\x5c\x16\xf6\xc4\x1e\x72\x18\x93\xad\x8a\xcf\
+\x82\x70\x37\x47\xfe\x5e\x1b\xb0\x5d\x5b\x84\xd6\x81\xca\xfa\x6c\
+\x60\xe8\xd1\x61\xe8\xac\xa8\x3f\x2e\x69\x07\xa5\xeb\x31\x4b\x55\
+\xdf\xc2\x97\x8d\x10\x7a\x74\xd7\x11\x7f\xe2\xdb\x5a\xcc\x5a\x03\
+\x87\x86\x68\xb6\xe5\x7b\x0f\xd2\x14\x4c\x4c\x2d\xad\x37\xcf\xee\
+\x98\x18\x38\xe4\x15\x8c\x7e\xb6\x09\x81\x9f\x51\x7f\x0b\x4a\xcc\
+\xa3\x23\xcd\xd2\xbb\x06\xf6\x55\x95\x3b\xc0\x8c\x24\x6b\x07\xd3\
+\x7a\x7a\xdb\x4e\xb4\xb7\xd6\x05\x85\x9b\x4a\x33\xf8\xe9\x48\x69\
+\xdb\xeb\xe0\x44\x96\x1b\xe0\x18\xcd\x85\xd1\x4d\x03\xd1\x98\xe6\
+\xd1\x9b\x2d\x7c\x85\xb6\x30\x04\x06\xa0\x9f\xee\xbe\x31\xc6\x2b\
+\x82\xde\x0b\xd2\xb6\xef\x4f\x4b\x50\x77\x58\x26\x53\x6b\x89\x54\
+\x62\xd6\x1b\xf7\x11\x27\x7d\xca\xc3\xa2\x8d\x12\x5d\xab\x1b\x98\
+\x33\x33\x93\x93\xa7\xbc\xc1\xf0\x9a\x57\x15\x9e\xf2\xb9\xb6\x11\
+\xda\xd7\x7a\x01\xf7\xac\xc5\xb5\xb0\x54\xaa\x42\x4f\xf7\xe5\xf5\
+\xd0\x0e\xfb\x0e\x22\xd7\x55\xcf\xb7\x0c\xcc\xf3\x2c\x29\x3e\x41\
+\x35\x20\xa1\x9c\xc4\x5d\x94\x2e\x60\xed\xf9\x14\xdb\x78\xb4\x36\
+\x93\x36\x85\xd5\xff\x47\xca\x0c\x4e\xdd\x79\xb8\x85\xb5\x0e\xde\
+\x36\x66\x39\x88\x1f\x90\x96\x02\xdf\x71\x8f\x0d\x86\x54\x98\x73\
+\x3d\xbb\x9f\xc9\x41\xe2\x10\x38\xff\x54\xe5\xb8\xe5\x65\xdb\x4e\
+\xdc\xe7\xd5\x65\x5a\x81\xa5\x79\x42\x9d\x16\xe6\x62\xd5\xb7\xe6\
+\xed\x98\x18\x90\x71\x3e\xbb\x20\x6d\x13\x6d\xdd\x5e\x8f\xda\x1e\
+\x35\x50\xfe\x10\x90\x9f\x05\xeb\x37\x0c\x4c\x92\xe1\x11\x8c\x52\
+\x60\x22\xa1\x18\x2d\x82\x12\x48\xc0\x4d\x6c\x1e\xef\x79\xf4\x15\
+\xde\xc2\xa8\x54\xaa\x70\x6d\xad\x83\x77\x47\x33\x28\x66\x69\xc0\
+\xf8\x44\xed\xe3\x7b\x81\xb9\x8a\xcb\x6d\xf5\x93\x35\x0b\x72\xdb\
+\x4e\xeb\xa1\xa1\xec\xed\x62\x96\x91\x4c\x86\xfb\x7c\x4e\x22\xad\
+\x42\xd5\x62\xb1\x54\x9b\x3d\xa4\x27\x38\xa9\x9f\x11\x7c\xda\x06\
+\xf6\x29\x60\xe4\xa4\x16\xd5\x26\x9a\x7d\x3f\x30\xb0\x89\xe2\xa1\
+\xf5\xdc\x4d\xea\x2b\x03\x8b\xe2\xd8\x8c\x6f\xec\x69\xd7\x38\x54\
+\xf7\xf3\xc6\x52\x74\x3c\xce\xc2\x4d\x3c\xf8\xe4\xd1\x10\xb8\x0d\
+\xce\x8f\x26\x6d\x34\x95\xd6\xc5\xc0\x9b\x98\x95\xfa\xa1\x7a\x98\
+\xab\xba\x5c\x50\x16\xbb\xb5\x16\xac\xaf\x19\x50\x8d\xb3\xa4\xee\
+\xd8\xb5\xd3\xf8\xa9\xbb\x69\x6a\x5a\x3a\xbe\x05\x8c\xcd\x38\x60\
+\xb9\x5c\x3e\x81\x9d\x26\x04\xae\xb5\xd0\x22\xb4\x4f\x46\x93\x45\
+\x50\x3a\x35\x0f\x0d\x6c\x82\xc0\xa8\x4f\xeb\xf6\x50\x5f\x1a\x58\
+\x4c\x33\x84\x11\x75\x4a\x59\x14\xb2\xb8\x49\xb9\xac\x4a\x68\x36\
+\xf1\x51\xde\x8d\xd1\x68\x18\x1e\x79\xb4\x1d\x98\xdd\x4b\x0d\x78\
+\xb8\xb7\x85\x09\xd4\xe2\xfc\xee\xa9\x07\xbe\xea\x5a\xb8\xb4\x48\
+\x84\x4b\x21\x97\xc5\x9b\x39\x33\x1a\x3f\xd4\xbe\x3a\xb3\x99\x3f\
+\x02\x6e\xd2\xea\x3a\xda\x0a\x68\xbc\x71\x17\xae\x14\x40\x97\xeb\
+\x68\x19\xa9\x43\x9a\xdf\x44\xd3\x84\x6b\x0a\x1a\xef\xde\xd9\x19\
+\x05\x4b\x25\xe9\xc8\x4a\x7d\xbd\x83\x45\x98\x9c\x1f\x4b\xa5\xe3\
+\x80\x94\x19\x87\xa5\xc7\x12\xc1\x25\x25\x18\xa7\xb3\xc5\x74\x7d\
+\x57\x66\x21\xe0\x4b\xb8\x85\xdb\x47\x2a\x81\xe7\x0e\xf7\x81\xf1\
+\xfe\x95\xbe\xbf\x87\xb7\x58\xe0\x7e\xba\x8e\xfc\xec\xf2\x75\x7a\
+\x6c\x26\x52\x7c\x48\x73\xde\x05\x09\x7d\xfe\xf9\x68\x93\x7e\xb5\
+\x4c\xb4\xf0\x02\xda\x47\x6d\x15\x87\xdf\xf8\x22\x51\x4a\xcc\xf4\
+\xc9\xa1\x35\x97\xce\x40\x0b\xef\xf2\xb2\x58\x68\xad\x43\x34\x7a\
+\x8e\x33\x2b\x4b\xe3\x0c\x0f\x37\x30\x1f\x53\xc6\xe8\xf6\x80\x46\
+\x2c\x5d\x5f\xee\x7b\xf4\x65\x8a\x06\xaf\xae\x2b\x82\x20\xf0\x63\
+\x4b\x28\x66\x85\xd0\x00\x8f\x5e\x38\x7c\xf7\x69\x1a\xd7\x5b\x60\
+\xe2\xa3\xdd\x8a\x17\x13\xc2\xdf\x75\x0f\xf2\x94\xb8\xd0\x71\x5d\
+\x5a\x22\xea\xf8\x5c\x05\x10\xee\x78\x5c\x1b\x49\x69\x69\x8d\xcc\
+\x7d\x2a\x1c\xab\x79\xf6\x23\x16\x5c\x5e\x11\xca\x57\xb7\x97\xda\
+\x2d\xfc\xb9\xa2\xf1\x7e\x9a\x93\xb4\x7e\x34\x8b\xae\x51\x9c\x72\
+\xe3\x40\xbc\x74\xc1\xc9\x31\x25\xf6\x00\x7d\xfc\x5c\x69\xa8\x5b\
+\x8f\x9e\xe2\x0e\xed\xc7\x1b\x98\x76\xf2\xc4\x66\x0b\x63\x56\xd5\
+\xac\x97\x86\xdf\x3d\xb9\x24\x52\x0b\xbc\x3f\x77\x89\x35\x4b\x3f\
+\x43\xad\x79\x3a\xa7\x02\x87\xbc\x1d\x97\x04\x6c\xae\x9e\x6b\xa7\
+\x28\xac\xf4\xd2\x74\xaa\x19\xe0\x0f\x1d\xda\x54\x33\x91\x43\x30\
+\x73\x93\xb5\xcd\x99\x70\x4b\x82\xca\xf0\xfd\xbe\xa8\x28\x03\x0c\
+\x2c\x16\x4b\x48\x5b\x89\xf7\xa5\xa8\x8c\xe7\xd1\x64\xe8\xe3\xd9\
+\x63\x70\x9a\xd8\x93\x59\x1f\xaf\x97\x71\xa0\x56\x3e\x30\x30\xca\
+\x4a\xb0\x58\x88\x3b\x40\xa2\xbd\xb6\xf0\xf7\x1f\x14\xb3\xe4\xa2\
+\xa3\x39\xf5\x21\x32\xd2\x17\x05\x25\x48\xee\x6d\x5f\xe4\xd0\x94\
+\x23\x24\x08\xbe\xc5\x4e\xc9\x20\x54\x3a\x29\x30\x71\x91\xdb\xe7\
+\xb1\x34\x87\xae\xd5\x4c\xa6\x0f\xf0\x2e\x58\xc9\x9a\x6e\xe2\x11\
+\x00\x97\x5e\xd2\xd8\x4d\x52\x22\x87\xbb\x77\x61\x14\x96\xc9\x13\
+\x14\xb0\x50\x65\x38\xe8\x47\x4b\x51\x30\x53\xfa\x7a\x29\x7c\x85\
+\x0d\x7c\x69\x78\x75\x00\x55\xb8\x24\xd6\x5b\x18\xe2\x16\xda\x21\
+\x50\x1f\x02\x4d\x6c\x7e\xff\x1c\x4f\x4b\x84\x16\xd6\x89\x0f\x91\
+\xab\x06\xce\x5f\x3b\xda\xe7\xed\x2c\xce\x80\xb4\x68\xee\x74\xb1\
+\x2a\x16\x9f\x10\x03\xc0\x0f\x6d\x6e\xdd\x77\xe8\x5a\xad\xe6\xcd\
+\x40\xe9\xeb\x0a\x68\x8f\x48\xd7\xc2\x34\x60\x5a\x2b\x37\x0b\x53\
+\xe7\xbc\x4a\xfa\x45\xa8\x2a\xfd\xc7\x30\x2c\x67\xa2\xa5\x06\x8f\
+\x7a\x3b\x49\xe6\x18\x18\x15\x79\x92\x38\xd9\x96\xc2\x79\xad\x05\
+\xef\x00\x0f\xc2\x07\xf6\xe8\x21\xe4\x6d\x24\xcc\x7a\xfb\x1d\x09\
+\xad\xef\x7f\xf2\xc1\x2a\x2d\x7c\x2e\x9d\x78\x87\x19\xa5\x20\xb7\
+\xd0\xe0\x45\x13\xc6\xf5\x6d\x79\x05\x33\xd3\x21\x7b\xc8\xc1\x61\
+\xd4\xb2\x74\x5c\x2e\x21\xa0\xbe\x03\x33\x09\xf5\xa6\x87\x3a\x30\
+\x30\x5c\x64\x03\xbc\x53\x54\x38\x10\x24\x6b\xec\x19\xdc\x75\xd7\
+\x2b\xc1\xcf\xf3\x30\xb0\x8e\x7d\x2c\x0b\x81\xd1\xa3\x8d\xe5\x68\
+\x29\xce\xe3\xd2\x3f\xf2\xa2\x66\x92\xb9\xbe\xde\xdc\xd1\x55\x07\
+\x2a\x1c\x1c\xe0\xb4\xfa\x61\x87\x06\xee\x42\xde\x9c\xfa\x1e\x0a\
+\x01\x06\x25\x23\x64\x6e\x70\xf9\xfd\x33\x0f\xd2\xa4\x91\x71\x6f\
+\x89\xb5\x74\xab\x59\xd5\xdd\x33\x90\x1c\xb5\x67\x5e\x18\xb2\x2a\
+\x4f\x76\x2f\x7f\x96\x64\xa9\xa6\x50\xad\x7a\x58\xa5\xf1\x0e\xce\
+\xf3\x2c\x4c\xe6\x9d\x03\x87\xc6\xc0\x64\x90\x67\x00\x41\x91\xc9\
+\x0c\x07\xb5\x81\x99\x5c\xb9\xbd\xe8\x3e\xda\xf0\x1b\x70\x50\x56\
+\x56\x94\x24\x11\x3f\x9d\x0c\xc8\x75\x6f\x47\x56\x70\xf7\x6e\xb9\
+\xf5\x68\xa4\xa3\x35\xe0\xab\x66\xca\x0e\xd7\x1b\xa0\xa5\x57\x07\
+\x92\x1d\x85\x86\x3e\x86\xf7\xfd\x07\x0f\xa0\x95\x92\xa7\xe4\xd1\
+\x1e\xb1\xbe\xdc\xd6\x06\x0b\x81\x77\x71\x11\x31\x75\x52\xf4\xc7\
+\xa0\xd8\xb4\xdb\x89\x2e\x03\xab\xdf\xb9\xdf\xf2\x7c\xe4\xab\x34\
+\xad\x9f\x1d\x1a\x05\xab\xe0\x98\x06\x5d\x3e\xa0\xd2\x80\x0e\x3b\
+\x9d\x4d\x16\x2b\x68\x11\xd2\x17\x5d\x14\x29\x49\x5c\x1d\x3d\x18\
+\x05\x93\x69\x06\xdf\x94\xa6\x35\xb3\x76\x3c\xba\xb0\x3e\x45\x83\
+\xc0\xf7\x56\x15\xfe\x99\xf0\x67\xde\xe6\xc0\x59\x58\x86\xd0\xaf\
+\x17\xd9\x1f\x9a\xf1\x00\xc0\x63\x6d\x45\xb4\x82\xef\x13\xb0\x27\
+\xc5\x4a\xd4\x01\x2f\x5c\x55\x92\xe3\xa1\x3b\x66\x64\x18\x63\x48\
+\xc1\x75\xe4\xb2\x54\x04\x8f\xb5\xf7\x35\x2f\x5c\xdc\xc7\xfb\x50\
+\x95\x33\x6c\xc7\x5d\x25\xd7\x35\x12\x1f\x8e\x03\xfb\x73\x25\x28\
+\x71\xec\xbc\x5c\x2a\x1f\x87\xf2\x49\x79\x67\x92\xe5\x30\x09\xa3\
+\xda\x9f\x01\x0e\x53\xb2\x0d\x53\x90\x2a\xbd\xc4\xdf\x91\x90\x76\
+\x28\xe8\xe8\x1f\x0a\x97\x1f\xba\x7e\x09\x8d\x00\xd4\x29\xad\xc2\
+\x75\x1d\xa1\x0e\xec\xd6\xb7\x2d\x79\x7e\xc0\x1e\x02\x57\xaa\x95\
+\x0e\x7e\xc0\xae\xd9\x14\x04\x8b\xcf\x07\x8b\x06\xf4\x90\xff\x0e\
+\xef\xce\x06\x5e\x2f\x4e\x51\xb8\x1a\x65\x22\x45\xbd\xea\xe7\x39\
+\x68\xf0\xa3\x0a\xc9\x9d\x80\xc7\x0b\x73\x9d\xe3\x07\xeb\xe6\x5d\
+\x7a\x63\xe0\x6d\xa1\x94\x7a\x7d\x6d\x34\x1a\x5d\x18\xfd\xfc\xaf\
+\xe8\x99\x23\xfa\x9c\x89\xe3\xca\xe1\x0e\xb4\x2f\x4a\x65\x08\xfc\
+\x23\x4f\x20\xa2\x37\xcd\x8c\xf9\xe7\x23\xcd\xc4\x73\x47\x97\x5b\
+\xdd\x6e\x90\xeb\x49\x31\xb3\x05\xd6\x7a\xee\x5a\x64\xae\x6a\x51\
+\x1a\x2b\x68\xcf\x5a\x42\xeb\x3e\x6d\xda\x37\xb0\x9e\x91\xfc\x81\
+\xc0\xa6\x6f\x87\x80\xcd\xd0\xe0\x5c\xc3\x3c\xe1\xf9\xc1\xa7\x6e\
+\x25\x3a\x25\x5d\xcb\xca\xcd\x2c\x0b\x1a\xf8\x78\x73\x88\x27\x50\
+\x75\xe8\xba\x92\x38\x2e\x5d\x80\xf2\x05\xf8\x91\x17\xda\x78\x9a\
+\xa5\x52\x20\xc3\x91\xb0\xe6\x5d\x38\x47\xf0\xbb\x75\x0c\x72\xda\
+\x70\xdd\x62\x71\xc4\xa9\xc1\x5c\x53\x23\x76\x61\xfd\xe5\xab\x56\
+\xb7\xed\x58\x4c\x8b\x79\x61\xfc\xb2\xf8\x5c\x96\x4e\xcf\xbb\xcb\
+\xdb\x3a\x10\xd0\xfe\x8d\x81\x39\x5e\x8a\x03\xe2\xa6\xc2\x0e\x38\
+\x31\xbc\x3e\x50\x4a\xae\x0d\x1c\x89\x4c\x22\xfd\x13\x55\xd5\x43\
+\x96\x3e\xcb\x62\x44\xd1\xf8\xbe\xb9\x64\xb4\x4a\x09\x01\x3b\x8e\
+\xd1\xcd\x4f\xe5\xec\x45\xe6\x47\x2e\xee\x80\x16\xae\xc9\x89\x0b\
+\x90\xf3\xad\x56\x8d\xac\x73\xb5\xc8\x5f\x00\x4a\x23\x76\x09\x2a\
+\x9b\xe6\x5d\x08\xf7\xa8\x55\xb4\xd9\x0d\xe9\xcd\xa0\xdd\x86\xd7\
+\x63\x59\xb8\x7c\x3d\x72\xa0\xda\x42\xc7\xc0\xdf\xdb\xd9\xc0\x7b\
+\xbc\x3b\x4d\x0e\xed\xe1\x77\x00\x46\xb7\xd5\xc0\x60\x73\xdc\x80\
+\x0d\x8c\xc2\x56\xe2\xc9\x38\x3c\x8f\x33\xed\x69\x5f\xdd\x24\x61\
+\xd4\xbd\xbb\x47\xf9\xb6\x6e\xba\x42\xf3\x4a\x9a\x47\x83\x0b\x7c\
+\x0f\x12\x0c\x79\x3f\xf4\x92\x26\x91\x2c\x79\x27\x02\x65\x03\x17\
+\x20\x4d\x5e\xa8\xab\xeb\xd5\x75\x7b\x43\xcc\xe5\xfc\x53\xca\x7d\
+\xe4\x26\x8d\x20\x9e\xaa\x3f\x14\x2e\xc3\xd5\x8a\xc6\xbb\xb8\x76\
+\x77\x10\xb0\x6f\x78\x01\x8e\xa3\xd9\x6c\x16\x8d\x1e\x17\x2b\x5f\
+\x6c\xe0\x3d\x03\xeb\x37\xfe\x2d\x61\x51\x71\x5b\xe5\x06\x83\xf1\
+\xd6\xc0\xc9\x58\xae\xd0\x46\xe3\x29\x21\x66\x68\x3e\xe3\xc5\x7a\
+\x61\xd7\xc0\xd0\xc2\xed\x11\x88\x85\x89\xad\x47\x97\xd1\x49\xe9\
+\x05\xfe\xf1\x07\x56\x26\xef\xa1\x14\xd2\xbd\x5a\xb1\x74\xf9\xf8\
+\xb1\x9c\x22\x5d\xae\x5b\xb6\xb7\x6e\xd4\x59\x64\x4e\x69\x04\x78\
+\x03\x08\x29\xd5\xe7\x67\x3e\xe3\x3f\x95\x2a\x1a\x6f\xc2\xde\x50\
+\x2a\xd0\xc0\x6e\x50\xca\xbe\xb5\x55\x99\x6d\x0a\xd1\x92\xad\xe3\
+\xfd\xbc\x81\x75\xde\x00\x7a\xde\x7f\x0d\x2d\xb6\x2f\x40\xc7\x49\
+\xa1\x3a\x58\x37\xb0\x1c\x3b\x45\xe2\x89\x36\xa8\xf5\x34\xd4\xc8\
+\xa1\x9e\x65\x32\x9a\xea\x93\x1d\x90\x37\x0e\x8c\x9e\xf3\x0b\x82\
+\x9c\x31\x6f\xef\x1a\x70\x16\x1f\x2d\x65\x4b\xc7\x3f\xf6\xf8\x61\
+\x6b\x1c\xeb\x29\x2d\xf2\xf8\x62\xb9\x3a\x7e\x9a\x1c\x97\xc1\x62\
+\xe1\x73\xbb\x7c\x68\xc1\x38\x25\x48\x6c\xff\x0d\xdc\x29\xe8\x79\
+\xf7\x45\x2d\x2f\xb7\xe6\x24\x1a\x92\x5d\xac\xfe\x47\x29\xca\xfa\
+\x5c\xcd\xde\x51\xbb\xf4\x78\x83\xfb\xb7\xb7\xb0\xc0\xf3\x7d\x7b\
+\x03\xb3\xac\x62\x30\xd3\x34\x61\x4c\x9d\xce\xfb\x50\x2d\x0c\x56\
+\x2e\x7e\xa0\x1f\xaf\xc8\xb2\x82\x0e\xcc\x0c\x0a\x2f\x72\x63\x25\
+\x57\xb7\x83\x10\xdc\x4f\x05\x3d\x64\x35\x1a\x30\x0e\x3f\xd4\x52\
+\xf0\x5f\x61\xfb\xa8\x9b\x85\x9e\x0e\x87\x1f\xf5\xf1\x11\x1c\x97\
+\xcb\x3f\x22\x3b\xd0\x2c\x1e\x3f\x1e\xc8\xb5\xe2\xa3\xf1\x82\x06\
+\x8d\x15\x71\x71\x64\xd9\x93\x19\x1d\x53\x93\xc2\xcf\x44\xc3\xfc\
+\xe3\x93\xda\xac\x98\x6c\x56\x85\x4e\xcc\x86\xb6\xce\xa3\xc3\xe3\
+\xf1\x45\x4a\x65\x96\x0a\x28\x67\x44\x08\x7e\xaf\x9b\xde\x6f\x6c\
+\x60\x96\xed\x43\x67\x1d\xb6\x6d\x46\x83\xd1\x4e\x3b\xc0\x39\xb7\
+\x72\xf9\x07\xba\x81\xc7\x49\xa8\x0d\x69\x59\xa0\x38\x39\x0d\xcb\
+\x86\xe2\x03\xdc\xad\x2b\x29\xaf\x89\x0e\xb8\xda\x0e\xf0\xc6\x71\
+\x36\x24\x2a\x15\x6e\x18\xd7\x0c\x0c\xfd\x11\x7e\x86\xe8\xe3\x05\
+\x30\xfd\x98\x4f\x87\x9b\xa3\x39\xdb\x02\xb7\x47\xa0\x1c\x5f\xcd\
+\xa3\x96\xfd\xc4\x8b\x8a\xc7\x23\xa8\xb6\x70\xff\xb9\xf9\x91\xb2\
+\x2a\x6c\x55\x70\x9f\xc3\x0a\x0e\x94\x4b\xd1\xaa\x4b\x20\xe1\x4f\
+\xd1\x6c\x39\x1b\x85\x7f\x7e\x96\xa5\x0e\x36\xb0\xce\xeb\x87\x36\
+\x9d\x74\x04\x5e\x49\xc0\x7c\x93\x50\x38\xc1\x45\xad\x7b\xb3\x68\
+\x4d\xa1\xea\xe4\x5d\x1e\x69\xd2\x4f\xc0\x1c\x3c\x5f\xb6\x41\xfc\
+\xb9\x79\x5a\x18\xe5\xf3\xb3\xd9\xcc\x80\xb2\xac\x2a\x16\x09\xbb\
+\xfd\x05\xdd\x72\x65\x77\xa0\x90\x15\x42\xb7\x5c\x94\xa2\x68\xe0\
+\xe1\x47\x5f\x55\x27\x51\x94\xcc\xde\x18\xda\xab\xd5\xe3\xc5\x8a\
+\x8d\x8a\x47\x7b\xc0\x16\xcb\xfa\x6c\x01\xb7\x73\x32\x66\xbf\x28\
+\x37\x05\x28\x39\x5c\xab\x4c\xb9\x34\xce\x9c\x09\xd5\xc7\xd2\xc5\
+\x68\x3e\x60\xa9\x23\xae\x5c\xca\x79\x34\xde\xe0\x21\x30\xe4\x85\
+\x65\x52\x2b\xc0\x73\xd2\x78\xcc\x05\xa0\x50\x1b\x0c\xd6\x3b\x38\
+\xa3\x0c\x81\x83\x77\x36\xa5\x5c\x1f\x8b\xac\x93\x13\xc8\x2f\x3a\
+\x95\xfc\xb4\x30\x2d\xa4\x50\x14\x8b\xab\xfc\xc4\x08\xeb\x86\x6e\
+\xd7\x01\x18\x6f\x1b\xf2\x62\xc6\x6c\xb4\x84\xb7\xf1\xeb\x0f\x02\
+\x07\xd8\x4e\xb3\x57\xf5\xb5\x43\x8e\x6c\xd4\xb7\x88\xaa\xd7\xdf\
+\xa0\x45\x67\x65\xc1\xbb\x62\x6f\x4c\x21\x60\x77\x2b\x5a\xb2\x07\
+\xca\xd1\x96\x1b\x3d\x3b\x00\x37\x3c\x4c\x62\xd9\x52\xbb\xfa\x35\
+\x2f\xcc\x42\xb9\x95\x05\x3f\x73\x87\x13\x13\x3e\x5c\xd1\x52\x52\
+\xe6\x04\x7e\xe4\xeb\x6b\x1e\x4a\x0e\xad\x39\x3b\x3f\xa1\x01\xb1\
+\x32\xa9\x67\x85\x86\x1d\x15\xf6\xed\x5c\x38\x67\x20\x70\x25\x6c\
+\x7e\x03\xa1\x96\x2d\xb4\xee\x66\x95\x1f\xcb\x38\x42\xff\xe8\x33\
+\xe2\x14\x8f\xde\xab\x52\x71\x67\x8c\x27\x8f\xdc\xea\x82\x71\xe2\
+\x11\xc2\x1d\xd2\x6d\xe9\x6b\xa1\xe8\xcb\x2a\x4f\x09\x9e\xca\x75\
+\x1d\x16\xee\x8f\xe5\xc7\x41\xd3\x65\x2e\x3d\xb2\x19\xd5\xf8\x8e\
+\x9e\xff\x06\xd5\xaf\x78\xfd\xec\x13\x00\x26\x97\x95\xe5\x77\x0f\
+\x57\x34\x87\x1e\xf7\x01\x98\xae\x3a\xe3\x08\x02\xd6\x44\x16\xd4\
+\x4d\x0a\xcc\x02\x48\x20\x3b\xda\x45\x39\xf6\xd0\x68\xaf\xdb\xb3\
+\x66\x06\xc4\x4d\x44\x68\xd3\xbe\x2b\x95\x7f\xea\x71\x69\xce\xda\
+\xf3\xa0\xc8\xfb\xbc\xba\x30\xac\x1c\xc0\x59\xf9\xb4\x2c\xeb\xd6\
+\x86\xc5\xc4\x60\xe0\x2a\x0b\x25\x70\xe9\x31\x54\x2a\x9f\x55\x2c\
+\xc5\x52\x09\xa7\xe1\x0b\x28\x04\x8e\x29\xd3\x4e\xc0\xda\x44\x68\
+\xbf\x0d\x38\x2a\x1d\x6a\xe7\x30\x49\xda\x18\x18\xee\xd0\x5e\x2f\
+\x96\x86\x65\xe1\x7a\xaa\x63\x9e\x87\xb5\x93\x4c\x83\x38\x31\xab\
+\x27\x95\x79\xbe\x71\x8f\x2e\xb4\xd4\x4a\xff\x73\xd0\x26\x99\x0d\
+\xef\x31\x16\x1e\x8d\x1f\x06\x16\x6b\x3d\x74\x68\x2f\x54\x9f\xed\
+\xa1\x55\x21\xba\x38\x30\xae\xc5\xe5\xea\xf8\x5c\xf8\xf1\x1c\x0b\
+\xe9\xc8\x57\x79\x6b\x73\xf1\x0a\xbc\x6c\xa9\xec\xc9\xe4\x3c\x94\
+\x20\x96\x4b\x5d\xde\x4f\x35\x2b\x37\x67\xa5\xb2\x48\x1d\x04\x68\
+\x4d\x72\xd0\x17\x76\x77\xd5\xb4\x3d\x2d\xdc\xf0\xca\x32\x04\x7e\
+\x62\xe5\xf9\x7c\x92\x5b\x97\x49\xc5\x53\x08\xd4\x9d\x4e\x92\x4a\
+\x5d\xcd\x1b\x90\xe4\x40\x03\xb4\xf8\xc0\x61\xe8\x00\xfd\xc1\xd6\
+\xc0\xc7\x58\x72\xfc\xf8\xc5\x69\xac\xd8\xb3\x42\x62\x14\x85\x1b\
+\xbe\xda\x31\xe7\xda\xf3\x64\x8b\xa0\x10\x34\x91\x0f\x7b\x16\x16\
+\xc1\xc2\x81\xa2\x10\x80\x95\x52\xf5\xc8\x62\xcd\x96\xea\x47\x15\
+\x74\xb3\xdf\x63\xa9\xfd\x8c\x24\x65\x4f\x2a\x97\x22\x2e\xc1\xd3\
+\x3a\x94\x94\x01\x29\x04\xf2\xcf\xbd\xe0\x9e\x43\xaf\x35\x96\x5c\
+\x67\x00\xb0\x2b\x61\x25\x37\xd9\xd4\xc1\x23\xa3\x71\x94\x28\x3e\
+\xe5\x61\x0a\xd6\x54\xe5\xba\xff\x7e\x37\x04\x80\xfc\x00\x7f\xfe\
+\x05\xa2\x32\xba\xc3\x8d\xf2\xc3\xda\xd6\x22\xb8\x4f\xea\xae\xea\
+\xce\xaa\x08\x06\xd0\x90\x95\x19\x41\x3c\x90\x9d\x23\x15\x70\x14\
+\xa9\x35\xdc\x5d\x17\x25\xc2\xa5\xdf\x76\xef\x16\xd0\x37\xa7\x17\
+\x2d\xa1\x43\x9e\x40\xed\x40\x42\xb3\x31\x00\xfa\x6e\x8a\xdc\x75\
+\xe8\x8d\xc6\x92\xd3\x06\x48\x60\x0c\xf0\x31\xa5\x7e\xa2\xd5\xc1\
+\xe8\x52\xb8\xc2\x6c\x86\x3a\x1d\x8d\xc6\xd6\xc0\xc3\x3b\xa8\x2e\
+\xc9\xf7\xd0\x3e\xf0\xcf\x5c\xf7\xc8\x91\x56\x6b\xf3\x8a\x36\x13\
+\x4f\xa4\xab\x63\x69\xee\xf2\x56\x7d\x3c\x88\x74\x7c\xcf\x42\x70\
+\x9c\xea\x36\x46\x80\x16\x82\x3d\xad\xe1\x7e\x14\x2f\x01\x08\xec\
+\xb5\xba\xed\xa5\xec\xe4\x12\xca\x42\x28\x4c\xcb\xe5\xe8\x23\x18\
+\xd4\x76\x79\xa1\x84\x66\xd3\xf0\x9b\x7a\x44\xb1\x1c\xf7\xc9\xa1\
+\xf1\xb4\x7f\x04\x6a\x43\x86\xa5\xc4\xc9\x7c\xdd\xc9\xd2\xcf\x93\
+\x34\x55\xb9\xd9\xc1\xf0\xcf\x20\x53\x87\x2d\xd9\x9f\xb9\x33\x5e\
+\xe0\xac\x94\x55\x11\x29\xff\x92\x98\x05\x5d\x9d\x7d\x60\x85\xf6\
+\x06\xd0\xa1\x3e\xd5\xe2\x55\xc2\x68\x82\xc2\x12\xe1\x5a\x29\xdf\
+\x53\x29\xea\xa1\xa8\x2a\xf3\x98\x2d\x41\xd9\x11\x85\xfb\xe9\xe5\
+\x49\xe6\x83\xbd\x66\xeb\x80\x57\x64\x61\x24\xe6\x5c\xa6\x0d\xb0\
+\x16\xa1\xb7\x63\x77\x8a\x62\x80\xb2\xc4\x59\x43\x77\x76\xec\x1c\
+\xaf\xe0\xc2\x5f\x33\xf0\xfa\x9e\x03\xb0\xcc\x38\x1c\xfb\x06\xfe\
+\xb9\xb7\xb8\x48\x24\x65\xa5\x94\xda\xd1\xb5\x2f\x67\xbf\xa2\x7c\
+\x28\x80\xe9\x85\x6f\xa7\x6e\xa6\x38\x13\xca\xbc\x42\xb3\xe2\xba\
+\x76\xbb\x2c\xeb\x76\x7b\x53\x3c\x06\xa4\x95\xf2\x24\xec\xaf\xe9\
+\xb1\xd8\xea\x55\x2d\x96\xaa\x67\x13\xb2\x76\x79\x45\x7f\x11\x86\
+\x96\x45\xcb\xbf\xb7\x81\xf7\xaa\xc2\x2e\x38\xef\xdc\x64\x8a\xf3\
+\x87\xed\x69\x83\x5e\xf8\xe3\xb1\x8e\xf5\x44\xc3\x69\xec\x3d\x74\
+\x00\xac\xfc\x14\xb0\x57\x41\x17\x5e\xab\x82\xa7\xfa\x5c\x2d\x12\
+\xe3\x8e\xb0\x5d\x95\x87\x36\x25\x51\x5a\xa9\x8f\x6b\xe0\x9e\xfe\
+\x70\x9d\xb5\x29\xa0\xfe\x95\xa7\x22\x78\x7a\x68\xe6\x6c\xb7\xc3\
+\xb1\xc7\x2b\x06\x12\xf0\x7b\xea\xaa\xf9\x3f\x6f\x60\xdc\xb8\x93\
+\x8b\x0e\x40\x2c\xdc\xd2\x5c\x3f\x5d\xb9\xda\x37\xb0\x0d\x8f\xd9\
+\x85\xde\xcc\xea\x2c\x7e\x68\xe0\x9f\xbd\x24\x4e\x91\x61\x7e\x39\
+\x19\x57\x3c\xbd\xca\x33\x79\x5f\xaf\xec\x00\x9f\xdd\x53\x61\xab\
+\xb0\xee\xe3\x1c\x34\xaf\xf4\xfe\x86\xa6\x27\x5b\x9f\x79\xb5\xa6\
+\x4e\xa0\x0e\x8b\x23\x1f\x2b\x6e\x36\x70\x66\x5b\x05\xc7\xe4\x3a\
+\x4c\x4c\xca\xaa\xa9\x3c\xe8\x9d\x3b\x6d\x4c\x69\x5d\x07\xc3\xc2\
+\x7f\x08\xe8\x25\xc1\x74\x09\xe2\x2e\xfe\x09\xf8\x67\xdf\x65\x42\
+\x26\xc6\x4d\x6b\xab\x50\x6b\x7a\x60\x7e\xe2\x47\xfc\x96\xb8\xa2\
+\x1a\xa9\x30\xa5\xe1\xee\x9f\x0e\x6e\xfa\x93\xa6\x03\xfd\x7c\xc8\
+\xcb\x8b\x50\x59\x9e\x76\xf0\xcb\xd1\xf6\x78\xd1\x0f\x73\x58\x10\
+\x7c\x54\x9e\xf9\xfe\xfc\x64\x1b\xb1\x0a\x9b\x46\x07\x04\xee\x02\
+\x7a\xa1\x0e\xcd\xe8\x5a\xb8\xf3\x43\xde\xd0\x4f\x5f\x50\x2b\xa5\
+\x93\x9e\x6a\xa6\x2f\x40\xcd\x25\x1a\x39\x45\x73\x61\xb4\xaa\xc5\
+\x7b\xd3\x58\x07\xb6\xee\xe3\x52\xdb\x72\xff\x5f\xf1\xf2\xa8\x65\
+\xc7\x78\x48\x69\xbb\x81\xd1\x5d\x0e\x83\xb1\x52\x34\xc2\xcf\x9f\
+\xa7\xdc\x64\xfa\x64\xb9\xee\x54\xea\x11\x6b\x36\xd3\xae\x1a\xba\
+\x87\x11\xdc\x34\xa0\xd1\x91\x30\x9a\x54\x3a\xc8\xc1\x86\x9f\x4e\
+\xc5\x3c\xa9\x4c\xe5\xdc\x13\xeb\xb1\x0a\xd3\x7b\x92\xc7\xf3\xa1\
+\x78\x09\xca\xbd\x49\x3e\x3c\xfa\xfd\x57\xee\xbc\x2b\xb0\xf4\xc9\
+\x15\xd4\x77\x9f\x08\x61\x99\xd3\x2f\xbd\x91\x95\xf9\x8c\x38\x87\
+\x16\x6a\xcb\x1e\xc1\xaf\x2c\x13\x7d\x3d\x05\x6b\x11\xab\x70\x3a\
+\x23\x1a\x97\x58\x64\x31\xc0\xd8\x31\xd2\xe8\x48\x18\x1d\x91\xbe\
+\xed\x13\xff\x89\x97\x51\x8f\x9b\x5c\xbb\x9b\x1e\x34\x7b\x56\xe3\
+\x98\xf5\xee\x00\x4b\x76\x52\x26\x3d\x9f\x69\xd7\xb8\x5f\xf3\x6e\
+\xec\x2b\x06\xd0\x9d\xe8\x1c\x94\xc6\x40\x62\xeb\x39\xa5\xfe\x30\
+\x7d\x6d\x9b\xf1\xe1\x2e\x63\x2b\xf2\x14\x45\x86\x73\x89\xfe\xa6\
+\xf5\x8e\x1d\x7a\x7a\xaa\x1a\x41\xb4\x9c\xa5\x0d\x28\x25\xa1\x2f\
+\x7c\xc1\xbc\x30\x40\xd1\xcb\xbd\x09\xb4\x3f\xf3\x52\x0f\x4e\xf4\
+\x74\xaa\x5e\x92\xa2\x7a\x13\x8e\x13\x60\x6c\xea\xad\x81\xc9\x36\
+\x2f\xb3\xbd\x4f\xb8\x5e\xd3\x97\xdb\x77\x87\x17\xf7\xb0\x38\xf9\
+\xa1\x31\xd4\x42\x69\x8a\xe4\xf0\x6b\x2a\x1d\x6f\x43\xdb\xa8\x1e\
+\x66\x29\x2f\x29\x66\x94\x48\xbf\x8e\x27\x58\x36\x0e\xad\xce\xaf\
+\xe8\x0b\x7c\x6b\x27\x48\xc1\x88\xd5\x85\xe5\x5c\x1a\xbf\x7f\x1a\
+\x8d\xdb\x31\xdc\xb6\xe7\x4e\xff\xd8\x09\xcb\xa7\x27\xa7\xc7\xc1\
+\x9a\x15\x1d\xff\x59\x49\xfe\x8a\xad\xe0\xf9\x6e\xb4\x7a\xbd\x51\
+\x6e\x10\xeb\xfd\x2b\xdc\xd6\x27\x5e\x3c\xd6\xc0\x29\xa3\x2e\x2a\
+\xf1\xe2\x76\xc3\xe9\x32\x9d\x4e\x2b\x27\x6a\x32\xd0\x62\x79\x16\
+\x0d\xc4\xb3\xa8\x77\xa5\x4c\x26\xda\x90\xa1\xce\xab\xaa\x27\xaa\
+\x4d\x7b\x2b\xef\x63\xb4\x74\x91\x82\x29\x89\x81\xbb\xff\x8c\xc6\
+\xbc\xe8\xf2\x25\x25\xbf\x03\xfc\xe7\x6e\x98\x0e\xfb\x83\x35\x93\
+\x76\xe9\xd5\x98\xe8\x53\x15\xcf\x9a\xb8\x29\xcd\x44\x35\xd8\xfb\
+\x26\xee\x27\xf3\x22\x58\x69\x69\x44\x67\xd4\xe6\xa7\xa4\x48\x41\
+\x69\x86\x2e\xed\xf0\xc7\x1c\xe0\x63\x41\xa1\x43\xe1\xc1\x58\x4e\
+\x6a\x97\xcf\x68\xbc\x68\x03\x2f\x13\x6a\xb1\xbf\xfc\x9f\xf8\x0d\
+\xd3\xa5\xf2\x05\x7d\x0a\x4a\x17\x1f\xb6\x76\x3b\x04\x98\xd6\x03\
+\x3e\x02\xe7\xd0\x7c\x52\x21\xf1\x8b\x0c\x0c\x1d\x47\x0e\x06\x6b\
+\x5e\x0c\xd4\xf1\xce\xec\x2a\x59\x11\xb0\x99\x7b\x94\x2a\xa7\xeb\
+\x1a\x30\xb4\xb7\x07\xc7\x6a\xfc\x30\xe1\x17\xe6\x25\x83\x35\x92\
+\x3b\x69\xa3\x4b\x45\x8d\x4a\xcb\x72\xe4\x12\xbc\xa4\x7f\x7d\x57\
+\x96\xf4\x0a\x4b\x88\xf5\x1d\x7f\x9a\xe2\x48\x6b\x67\x85\x68\x03\
+\x47\x66\x40\x7d\x8a\x1f\x97\xb5\xb7\x58\x19\x9f\x66\x05\x50\x7a\
+\x7c\x6d\x23\x60\xc0\xc5\x08\x48\xc7\xe3\x32\xc9\xa6\x29\xab\x37\
+\xf4\x7c\xe5\x9f\x7d\x8f\xab\x84\x3e\xae\x09\x23\x0b\xee\xda\xd4\
+\x6c\xc8\x20\xe3\xa0\x77\x43\xcd\xc5\x4b\xb9\x49\x79\x83\xd0\x0f\
+\x07\x31\xa8\x04\x93\x31\x39\xc3\x89\x41\x88\xed\x6d\xed\x9e\x1e\
+\x91\x41\x31\x62\x83\x9f\xea\xfd\x35\xdc\x73\x5f\xbb\x3c\x41\x56\
+\x7b\xac\x50\x13\x1c\xd2\x00\xba\x20\x6f\xd2\xde\x9a\x95\xdc\xe1\
+\x85\x0e\xdd\x9f\x65\x4b\x8f\xda\x75\xbb\x80\x38\x3b\x4b\x19\xd0\
+\x4d\xd2\xd1\x06\x14\xd1\x30\xbe\x4d\xf9\x4b\xf8\x85\x97\x00\x95\
+\x49\x76\x65\xfd\xf4\x2c\xfd\xa7\x42\xb4\x7e\x06\xe1\xed\xb5\x4c\
+\xe8\xd9\x04\x2f\x55\x75\x37\x23\xed\x97\x0f\x85\xf5\x42\x1b\x8f\
+\x8b\x0a\xba\x24\x5b\xbb\xf9\x3f\x4e\x33\xf8\xa2\x61\xc7\xf9\xb0\
+\xb1\xe4\x5a\xb5\xed\xc8\x19\xc9\x37\xa0\x65\x0d\x63\xcf\xb5\xd3\
+\xd5\x0c\xfa\xf1\xeb\xee\x76\x2b\x42\x4e\x09\x01\x33\xc5\x6e\x79\
+\xd3\x3a\xef\xc9\x83\xf6\x0e\xbd\xf2\x05\x33\x52\xaf\x70\xeb\xfd\
+\x03\x02\xa3\x97\xb3\xa0\x29\x8e\xb3\xa1\x59\x32\x02\x9c\x83\x89\
+\xba\x36\xb6\xe3\x70\xfc\x44\xa7\xe3\x93\x53\x93\x6d\x42\xa8\x69\
+\x46\xf6\x52\x1e\x97\x2b\x58\x37\x9a\x87\x43\x33\x9e\x50\x56\xd3\
+\x12\xb4\x69\xb3\xe2\x73\x1d\xb9\x7c\x96\xaa\xd5\xc4\x2a\x53\x1b\
+\x4d\xdb\x14\x76\xc3\x1b\x0b\x81\x17\xd2\xb9\x3a\x6a\xb6\xd8\x00\
+\x4a\xbe\x22\xbf\xdf\xd2\x09\x0f\xa6\x00\x14\x3d\x52\x66\x7d\x14\
+\xbc\xde\xc0\xd0\xa1\xff\xdb\x14\x5d\x26\x79\x11\x4f\x15\x4f\x47\
+\x6b\x4d\x79\x89\x80\x61\x55\x88\xfb\x78\xb3\x93\xe1\xba\x68\x48\
+\xa5\x40\xc8\xae\xed\xe0\x5f\xf0\xf6\x92\xe0\xd5\xa3\xa3\xd7\xf2\
+\x56\x29\x1c\xbc\xbc\x94\xe0\x72\x77\x5a\x7c\x78\x20\x7a\x8e\x7a\
+\x56\xc9\xe2\xf6\x75\x2a\x02\x9a\xd4\x41\x3b\xdb\x03\xeb\x08\x8a\
+\xcb\x2d\x3f\x4e\x58\x3d\x5a\x11\x17\xf7\x6e\x8b\x40\xc2\x84\xb4\
+\x91\x58\xbb\xbc\x83\x71\x06\xa6\xe3\x50\x2b\x38\x90\x15\xfd\x52\
+\x03\xad\x4d\xf9\xf0\x30\x7f\xbd\x6b\x4f\xff\xdb\xc3\x53\x5e\x3f\
+\xfe\x36\xbe\x42\xe0\x7b\xc8\x6b\x1e\x3a\x42\xe6\x97\x77\xc7\x5a\
+\x54\xa6\x1d\x71\xe2\xc7\x6f\x67\xf9\x66\x6a\x22\x4d\xc0\x2c\x64\
+\xda\x64\x87\xd2\x3c\xdb\x4b\xf5\x2a\x0b\xb7\xdb\xbd\x10\xe6\x72\
+\xee\x01\x46\xe7\x9a\xbe\xd0\x9d\x79\x2d\x2a\xcc\x5c\x51\x49\x5e\
+\x8f\xce\x97\xc0\x28\xa4\x13\x9c\xf6\xdc\xf7\xc6\xbc\x3b\x02\x7a\
+\x3c\x78\x42\x97\x18\xf0\x99\x1d\xde\x25\x92\xd0\x0f\xea\x7c\x59\
+\x54\xa7\xbb\x55\xbf\x01\x02\xdb\xf0\x14\x1a\xba\x96\x75\x7d\x3e\
+\x0a\xce\xcf\xee\xd6\x4f\x28\xbd\x83\x5f\xb1\x48\xb6\x05\xd2\xc1\
+\x6c\xf6\x8e\xb4\xa0\xfb\xfa\xf0\xc2\x3f\x51\x3c\xcc\x4d\xe3\x8d\
+\xb8\x42\x03\xee\x70\x79\x55\xf0\x62\xd9\x68\x49\x56\x22\xce\x97\
+\x9c\x9a\x57\xc4\xaf\x78\xb5\x8a\x30\x19\x07\x77\x02\x3b\xd8\x0d\
+\xd0\xeb\x0c\x8c\x24\x25\x7e\x7d\xc5\xba\x28\x84\x69\x8d\xd6\x26\
+\x85\x91\xa6\xd4\xa7\xdf\x6d\x06\x5d\x69\xfd\xa2\x77\xa9\xf3\xb5\
+\x13\xe0\x1a\xa2\xcb\x59\x29\xc1\xb4\xbb\xa8\x88\x1a\xb8\xf2\xe3\
+\xc7\xbc\x5b\x6b\x5c\xb2\xc5\xc1\xd0\x5e\x81\xc1\x5b\xef\x3e\x8b\
+\x73\x62\xc6\x25\x2f\x9f\xc2\xdf\xe2\x95\xc7\xd0\x3e\x5e\x8a\xdb\
+\x0d\xd0\xbb\xbc\x9b\xa2\x10\x3d\x80\x66\x6c\x23\x87\xbe\xd3\x0e\
+\xfc\xd7\x55\xc3\x93\x6e\xd8\x8f\x5f\xc3\x0b\xbc\x3c\x05\x86\x9e\
+\x2c\x80\xfe\x34\xb7\x50\xb5\x2d\xb0\x97\x7c\x95\xe5\xc4\x96\x16\
+\x3f\x9d\x72\x07\x52\x0b\x0f\xb5\x23\x26\xfd\xe1\xab\x76\x31\x90\
+\x2e\x86\xbf\xc1\x2b\xcb\x5d\x10\xb2\xf6\x78\x3c\xac\xa3\x29\xac\
+\xf9\x5e\x4d\xb8\x29\x0a\x6d\x7a\xa3\x72\xfd\x38\x87\xc6\x9b\xf8\
+\x75\xaf\xa4\xd9\xde\xfa\xc0\x41\xdc\xa8\x50\x7f\x2c\x01\x13\x15\
+\x6c\xb5\x5a\xeb\x4d\x4b\x8d\x8d\xec\x83\x54\xdb\xd0\x92\x64\xeb\
+\x09\x74\x17\xd5\x1e\xa9\x37\xdb\xd1\x45\x51\x2c\x99\x02\xed\x1e\
+\xcf\x89\x9f\xf7\x2f\xe6\x8d\xc5\xe1\xd7\xf4\xa4\xc9\x17\xbc\xd3\
+\x6d\xc0\xda\xf0\x6e\x1c\x5a\xe3\x55\x37\x99\xe8\x17\xbe\xa7\x96\
+\x33\x11\x30\x21\x9a\x5d\x14\x51\x7e\xe4\x7a\x64\x70\xb3\x5a\xb3\
+\x39\x37\x27\xb7\xaf\x69\x24\x83\x6d\x90\xb1\xf2\xc1\xe0\x46\x3f\
+\xb3\xac\x98\x84\x05\xaa\xc1\xbd\x30\xed\xe1\x6e\xec\x1b\x1b\xc3\
+\x32\x51\x79\xf6\x26\x73\xba\x3f\x1f\xf0\xee\xd9\x17\x5f\x23\xbd\
+\xde\xc0\x18\x38\xbe\xe9\x5f\xe5\x7f\xa1\x89\x29\x8e\x8d\xd3\xd9\
+\x2c\xdb\x6a\xf2\xc7\xd9\xb1\x95\x84\x19\x4a\x33\xab\x69\x40\x88\
+\x11\x69\x77\x30\x47\x26\x1e\x24\x9b\x79\x96\x93\x25\x98\x73\x39\
+\xf9\x04\x07\x94\x7b\x76\xe5\xa6\xc4\xad\xbc\xe2\x78\x4e\xca\x64\
+\x20\xf4\x00\x16\xfd\xc9\xf3\x8b\xae\x1b\x5f\xef\xaf\x29\x68\xad\
+\xc7\xb1\x6e\xea\xe0\x80\xb5\x69\xdb\xb5\x09\x33\x83\xab\x60\x7d\
+\x03\x9b\x87\x06\xe3\xfa\x31\xb4\xf7\x5f\xea\xd4\xac\x78\xf2\xc1\
+\x46\x19\x0f\xeb\xa5\x8e\xb3\x3c\x35\x50\x13\x9c\xc9\x84\x01\xed\
+\x2a\x3f\xd9\x1d\x44\x22\xfd\x32\x37\xb8\xa4\xd1\x0b\x17\x70\x73\
+\x9c\xb1\x25\x48\xd7\xea\x88\x62\x45\x51\xe7\xe5\xa4\xc4\x3d\x03\
+\x45\x19\x4d\x18\x3f\x46\x57\x85\x38\x60\xaa\x4e\x7f\x6e\xdf\x9f\
+\x51\x8f\x63\x8f\x17\x5a\x98\x40\xa5\xc7\xdb\xf4\x95\xc1\x13\x3b\
+\x08\xd8\x48\x80\x89\xd6\xd5\x79\xff\x55\x2f\x1e\xda\x38\x35\x9f\
+\x6b\x3d\x3c\x06\x48\xd6\xc4\x96\x8f\xc9\x50\xc8\x66\x6f\x2b\xe8\
+\x84\xbb\xd5\x7e\x69\xa5\xfd\x7b\xda\x19\xc6\x30\x2b\x7e\x8a\x34\
+\x93\x11\x4d\x96\xe7\x6b\x97\xd0\x0a\x70\x9c\x7c\x56\x14\x45\xcd\
+\xbc\x45\x07\x70\x5c\x9e\xe5\x0d\xf7\x6d\x3a\x1e\x02\x21\xe6\xc4\
+\xed\x16\x27\xfb\xfe\xbc\xe5\xd5\x36\x70\xc3\x88\x69\xcf\x19\x60\
+\x10\x52\xe7\x6f\x5a\x46\x8a\x7f\xd0\xa0\xfd\x81\x1f\xba\x63\x7e\
+\xb2\x33\xfb\xaf\xaa\x08\x91\xa7\xe2\x0c\x8c\xbe\x3d\x63\x89\x61\
+\xb8\x9e\x20\xb7\xdb\xe9\xa0\xb7\x66\x7e\xf7\x66\x02\x7b\x07\x83\
+\x12\xdf\xf2\xb2\xe8\xe5\x15\x68\x28\x0d\xd5\xb8\x68\xf1\x69\xdb\
+\xc5\xe3\x19\xba\xe3\x8e\x3b\x03\xe0\xe4\xd9\x69\xe2\x32\x31\x59\
+\x0a\x67\xf8\x96\xc7\x13\x88\xd5\x77\xfc\x59\x6f\x52\x6e\x12\x52\
+\xc3\x00\x0b\x60\x10\x6f\x17\x4e\x67\x00\xc8\x1c\x54\xed\x71\x54\
+\x52\xdb\x6c\xeb\x01\x52\x5a\x7f\x6c\xe7\x97\x2e\x6a\xc0\x89\x01\
+\x90\x44\xf3\xeb\xd1\x6c\x9b\x1b\x93\xd6\x9e\xdc\xb6\x17\xfb\xa0\
+\x0b\x37\xf8\xce\xa3\x0b\xd2\xf1\xc5\xf1\x31\xc1\xfa\x03\xe2\xfa\
+\x9c\x5b\x14\xfd\x28\x78\xb5\x9a\xb6\x12\x20\xa5\xb0\x04\x4d\xa1\
+\x3a\xb5\x3b\xd0\xd1\xa5\x42\x83\xb1\x32\x89\xe4\x0e\xed\xbb\x9e\
+\x10\xc6\x13\xb3\x68\x98\x83\xb9\xac\xf7\xa7\x46\xe2\x1d\xa4\x28\
+\xfb\x39\x7a\x01\x2a\x20\x8c\xe8\xb9\x15\x5a\xd5\xe6\xc0\xff\x8a\
+\xb7\xd3\x92\x03\x2e\x20\x2b\xf0\xb3\xf7\x40\x29\x2e\x27\x39\x74\
+\xbd\x0e\x97\x3a\x0f\x71\x94\x2e\xab\xb4\xf5\xd4\x6d\x80\xac\xd7\
+\x8a\x1a\x02\xa8\x2c\x86\x06\x4e\x9f\x3c\xb5\xed\xa1\x8b\x52\xf9\
+\x8c\x87\xd5\x11\x2c\x80\x29\x8f\x7f\x5b\xff\x6a\x0d\x8e\x03\x7f\
+\xbe\xd2\xed\xfb\x7a\xd9\x86\x70\x72\xf8\xd4\x68\xef\xbe\xd0\xc0\
+\x2e\xd8\xce\xe3\xa8\xcd\xd7\xd0\xc4\xd5\xab\x51\x7b\xa2\xd2\xf3\
+\x17\x00\x83\xc0\x80\xc3\x69\xd5\x6b\x2c\x01\xf8\x39\x11\x25\x65\
+\xb1\xb8\xdc\xcd\xe0\x96\x16\x66\xde\x20\x45\x46\xb5\x7b\x43\x2e\
+\x8e\x1f\x1f\xa3\xd9\x72\x59\xbf\x4f\x50\x26\x51\x3e\xb2\xa3\xb3\
+\x37\x6e\xa7\xde\x4f\xe7\x72\xb9\x03\xfb\xea\xfe\x7c\x99\x82\x6e\
+\x6b\xe3\xf9\x29\x81\x66\xa2\xcd\x20\xd4\x43\xc7\x82\x8c\xb1\xa1\
+\x6b\x49\x3b\x7e\x3e\xe9\x07\x2e\xdd\xf9\x31\x89\x99\xcc\x71\x90\
+\xd8\xe4\x28\x39\xa4\xc9\x55\x58\xbb\x77\x43\x4f\xb9\x6b\xa1\x81\
+\xc4\xa4\x74\x0c\x29\xcb\xe5\x6c\x36\x1a\x45\x23\x00\xd0\xf1\xee\
+\x8c\x5d\x70\x0c\x3f\x9e\x2c\x86\x33\x43\x40\x54\x03\x83\x98\x5e\
+\xfe\x2a\x49\xe8\xd2\xf5\x7a\x7d\x9f\x77\x84\x79\x3f\x0c\xef\x80\
+\x60\xc5\x29\x9e\xe5\xb0\x77\x01\xb8\x7c\x02\x0e\xa2\xd1\xde\x79\
+\x98\x21\xf4\xf3\x47\x49\xdf\x73\xf6\xd2\x35\x9c\x70\xac\x94\xcd\
+\x2a\x6c\x2e\x32\x13\xf1\xe4\xd1\xfe\x0a\x68\x4d\x58\xad\x7d\xc3\
+\xfb\xd9\xcd\x3b\x94\x59\x96\x2b\xd2\xc7\xd9\x10\x07\x8b\xf6\x78\
+\x4d\x8a\x24\xb5\x13\xc2\x64\xf2\xc4\x48\x87\x1c\x8c\xd9\xa8\x2e\
+\x8b\xdb\xf8\xac\xd9\xf7\x03\x9a\x77\xe0\x51\xdb\xf8\x41\x2c\x3b\
+\x9a\xc7\x02\x84\x01\xbd\x58\xf1\xe0\x63\xa9\xe0\x2f\x5b\x03\xa5\
+\x3f\xad\x73\xa3\x24\x2b\xf2\x8a\x3a\xf3\xaf\x71\xd6\xac\xeb\x09\
+\x42\xfc\xd2\x51\xb6\x86\x6e\xd9\xf1\x6f\xa5\x46\x38\x2c\x71\xa2\
+\x68\x2b\x1f\xa3\x97\xdb\x9d\x06\x23\x11\x0d\x77\x14\x07\xa1\xc6\
+\x99\xd1\x7e\x95\x7e\xd0\xeb\x85\xa7\x8d\x7d\x21\x2f\xcf\x1a\x09\
+\x2c\x28\xed\x66\xf3\x9d\xc3\x41\x77\x19\x7d\x3c\x69\xbb\x2e\xff\
+\x3a\x5e\xe0\x51\x72\x01\xe5\x4a\x86\xbc\x22\x27\x9d\x19\x39\x5e\
+\x9e\x17\x73\x12\xcb\x6e\x58\xd7\x15\x7e\x40\x41\x5b\x2b\x3e\x0f\
+\x20\x43\xa3\x31\x2c\x4d\x4a\x86\xad\xa0\xe4\x10\x47\x00\x8c\x45\
+\xb5\x1f\x93\x95\x59\x08\xd0\xdc\x51\x95\x7b\x01\x6f\x3c\xf7\x29\
+\xff\x5e\xc2\xe8\xf4\xa1\x5e\xe2\xbb\xc1\x10\x2f\x7a\x3e\xf8\xfd\
+\xd3\xc1\xd9\x9f\xee\xda\xfd\xc1\xf3\x2e\x39\x95\x17\x4f\xa6\x31\
+\xc4\xc5\xf6\xed\x0e\x10\xb7\xdb\x88\xf6\x89\xb8\xed\x66\xe0\x4c\
+\x34\xc8\xa2\xb0\xf5\x58\xa2\xc9\x00\x29\x1b\x4f\x38\xbf\x76\x7d\
+\xc3\x80\x29\x97\xec\x9c\x0c\xd5\x7e\x52\x4e\x35\x60\xf8\x1d\xfa\
+\x6f\x3c\xe3\xc4\x72\x0a\x03\x91\x38\x78\x40\xdb\x77\x47\x6f\x18\
+\x50\x73\x12\xbc\x9c\x4c\xd4\xf6\x8b\xf9\x40\x41\xaf\x17\x03\xfe\
+\x82\x97\x87\x1f\xa4\xe3\x87\x69\x86\xe5\xd4\x53\x49\xe4\xf8\x60\
+\x2d\xd0\xaa\xb8\x16\xd6\x5c\xfb\x3e\xb6\xa5\xc5\xa3\xed\xd1\xec\
+\x95\xbf\x27\x5d\x10\x03\x03\x28\x97\xca\xe8\xc6\x36\xf4\x41\xb3\
+\xa5\x72\x08\xb5\x27\x53\x8e\x73\x75\xde\xbd\x2b\x04\x9f\xad\xf2\
+\x72\xb9\x3c\xe9\x17\xd0\xbd\x61\xf2\xc3\xe9\xd3\xba\x5e\xd0\x0b\
+\x24\x74\xd2\x14\xaf\xca\xc4\x37\x78\x87\xe0\xc2\x0e\xfe\xea\x45\
+\x19\x5f\x65\x89\xcd\x19\x14\x04\xc6\x06\xc9\x00\x2f\x4a\x6a\xdd\
+\x90\xdc\x56\xf7\xe8\x59\xba\x30\x28\x67\x1f\x8f\x1f\xa3\x90\xf6\
+\xe2\x63\x06\x8e\xd1\x5d\x82\xe5\xec\x71\xbc\xcf\xa1\x8b\xc0\x62\
+\x93\xd3\x79\x86\xa5\xac\xa2\xb2\x5c\x26\x50\x7b\xe3\x04\x56\x00\
+\x1f\xa4\xa2\xe2\x70\x05\xeb\xa3\x35\xaf\x11\x79\xc1\x98\xb4\x0d\
+\x71\x05\xbc\x53\xf2\xaf\xed\x1b\xfa\x1b\x78\x01\x10\xe4\xc9\x58\
+\x52\xe9\x59\x72\xfd\xca\x3a\xc8\xad\x14\x14\xfc\x0d\xd8\x2c\x89\
+\x67\xd3\x2f\xe0\x02\x1a\xb6\x9d\x84\x5b\x18\x8a\xe8\x64\x3f\x11\
+\x91\x39\x6e\xac\x4d\x6f\x68\x2f\x8b\x4e\x2c\x13\xa8\x9b\x03\xb3\
+\xd1\xc3\x03\x0c\xc1\xb2\x3f\x71\x35\xd2\xea\xfd\x35\xaf\x0d\x66\
+\x25\x32\x66\x1f\x9a\xbf\xe4\x0d\x31\x17\x6d\x00\xfe\x16\x62\x25\
+\x5c\x78\x97\x14\x5c\x08\x68\x42\x39\x37\x9b\x18\x92\xdb\x72\x17\
+\xff\x93\x00\xce\xcd\xfc\x7a\x32\x67\x3c\x18\x8c\xb5\x67\x36\xb0\
+\xd6\x58\xcf\x50\x26\xf4\xee\xd5\x03\x2c\x66\x09\xd3\x58\x9d\xe9\
+\xf2\x19\xae\xf6\x3b\xa0\x65\xde\x70\xf7\x0d\x7f\x86\x12\xab\x01\
+\xfe\x9e\x25\x24\x15\x39\x21\x27\x51\xaa\x59\x2f\xfe\xe4\x52\xf9\
+\x90\x37\xb0\x5a\x85\x8f\xab\x5d\xbd\xab\x81\x84\xd5\x7a\x38\x07\
+\xe2\x6a\x5a\x12\x8b\xab\xf5\x79\x99\x8a\x0e\x0d\xc4\x87\x14\x96\
+\x93\x86\x57\x83\x6d\x18\x02\x84\x22\x15\xba\xe6\x6f\xf3\xce\xc0\
+\xdf\xb6\x62\x13\x59\x3e\x53\xc7\xd2\x60\xb0\x86\xe6\x4e\x0d\xca\
+\xeb\x98\xd3\x51\x37\xb0\x6b\x5a\x8c\xab\xe8\xe6\xcd\x1d\x98\x17\
+\x65\x23\x04\x5c\x63\xd5\x14\xea\xe8\xc0\x52\x30\x14\xa2\xa7\xb2\
+\x72\xd9\xed\xe2\xc9\xb3\xaf\x78\xdf\xc0\x1c\xfc\x8d\x2b\x53\x4f\
+\x86\x73\x53\x35\x06\x91\x07\x88\x3a\xcc\x5d\xce\xd2\x85\x81\xd6\
+\xbb\x81\xb0\x7b\xb4\xf2\xc6\xb8\x3b\xde\xac\xef\x5e\x55\x5b\x57\
+\x50\x40\x1c\x49\x90\x15\x96\xc8\x21\xc6\xa6\x2a\xe9\x33\x5b\xf7\
+\x45\xeb\xc8\xd2\xda\x03\x0d\xfb\xf9\xd7\x2e\x83\xbf\x75\x71\x09\
+\x18\xba\x26\x85\xab\x5c\x06\x35\xe3\x32\x99\x41\xe6\xe5\xa9\xae\
+\xea\xa4\xfb\xb0\x5b\x5f\xc6\xce\xac\x5b\xf7\x64\x3e\x47\xcc\xa7\
+\x33\x83\xb1\x6d\x87\xf9\x87\x53\xcf\x43\x71\x9a\xf8\x28\xa6\x95\
+\x93\x91\x8d\xb0\x23\x39\x89\x1e\x0b\xd6\x78\x0f\xf4\x06\xed\x05\
+\x7f\xf3\x62\x13\x75\x45\x96\x94\xab\x0f\x55\xc1\x53\xfb\xd2\x19\
+\x88\x3d\xa4\x33\xf2\x16\x75\x7f\xe7\xee\xe2\x42\xde\x44\xbd\x7f\
+\xa2\xe6\x8d\x76\x3a\xee\x88\xbf\xd1\xe6\x3b\xc0\x8c\xc5\xb3\xe2\
+\x44\x51\xfa\xea\x0c\x5f\x25\x4c\xe8\xf2\x4a\x0b\xcf\x07\xad\x58\
+\x02\xfc\xfd\xcb\x1a\x59\x4e\xd2\x32\x37\x58\xa6\x5e\x9f\x12\x8a\
+\x1c\x4e\x80\x4b\x3e\xbd\xdd\xc0\xfb\xb4\x5b\xdc\x7a\x24\x97\x8b\
+\x2c\xd5\x57\x82\x76\x40\x73\xbe\x16\xe1\x57\x86\xc7\x0a\x0d\x4e\
+\x16\x92\x5a\xb8\x6c\x18\x6d\x70\x69\xed\x49\x7d\xfb\xbe\x7d\x96\
+\x93\x53\xf0\x6f\x59\xf2\x43\x3d\x37\x51\x06\x5c\xa6\x9f\xbf\x27\
+\xa0\xcc\x4c\xc9\xd0\x0f\x6d\xf7\xc6\xc6\xe5\xec\x4a\x2d\xf6\xd1\
+\x0d\x2e\xf2\xfa\x08\x54\xa3\x8d\x4c\xd2\x93\xc4\x99\x81\x60\x1c\
+\xf1\xbb\xc6\x5c\x16\x59\x31\x8c\x5e\xca\x9b\x1f\x41\xfd\xc0\xb2\
+\x57\x46\x9c\x7c\xf5\x76\xec\xda\x9d\x3f\x87\xab\x9f\x7e\xcb\xdf\
+\x9f\x5f\x62\x71\x1e\x99\x4c\x10\xb3\xc8\x73\x83\x33\x3e\xc0\x0d\
+\x32\x72\xba\x9e\x98\x9f\x8e\x52\xc6\x36\xf1\xf2\x42\x34\xce\xea\
+\xe8\xf1\xdf\x1c\x36\x6e\xae\x3e\xea\x9e\xc7\x19\xfb\x65\x84\x63\
+\xc9\x40\x38\xfd\xf0\x54\x18\xc1\x95\xcf\x8f\x1c\x60\xd8\x1b\xbf\
+\x6e\x78\xd1\xe5\xd8\x77\x6b\xf3\x6e\x8e\x08\xb7\x82\xd2\x0b\xfe\
+\x6d\xab\x17\x51\x13\x11\xe8\xa3\xd0\xd0\xb2\x02\xd4\x31\xdc\xce\
+\xb0\x0c\x86\x15\x31\xaa\x1c\x03\x9c\x3c\x37\xd8\xcd\x44\xbe\x8e\
+\x5d\xb9\x5e\x87\x75\x9c\x3d\x46\xd6\x82\x62\x66\x52\x84\xb2\xf9\
+\x0a\x29\x67\x24\x25\x67\xf0\x1f\xcc\xa8\x84\x51\xc7\x7d\x39\x0f\
+\x01\xc7\x9d\xf9\x93\x3b\xc7\xb1\x90\x3c\x03\xff\xd6\x25\x9d\xaa\
+\x89\x3e\xda\x97\x13\xc5\xce\x84\x55\xe8\xbb\x70\xe5\xf0\x9a\x28\
+\xb1\x0c\x37\x63\xae\xce\x4e\x71\x9c\x4a\xf4\xe9\x8b\x36\x25\x3f\
+\x14\xd5\xd3\xd3\x53\xad\x6f\x85\x70\xa1\xb4\x9a\x41\x25\x7d\x42\
+\xaa\x78\x64\xd4\x66\xbb\x03\x0e\x23\x24\xfb\x98\x34\x0e\xa2\xb3\
+\x03\x09\x49\x07\x0f\xfe\xcd\x8b\xea\x3f\x15\x97\xcb\x7e\xbd\x9e\
+\xeb\x3b\x9e\x4e\xe6\xe9\x1c\xc4\xd5\x98\x91\x13\x9f\x02\xa0\x58\
+\xe5\x04\xba\x13\xfa\x64\xf9\x44\xd3\x29\x03\x61\xbf\x9f\xa2\x32\
+\x1f\xd5\x81\xb0\x10\x44\x95\xc2\xc7\x3d\x7a\xe6\x6a\x76\x0f\x79\
+\xdb\x34\x70\x3c\x8d\xd5\x2e\xda\xa8\xf2\xdd\x16\x37\x0e\x2b\x67\
+\x34\x04\x9d\x02\xff\x80\xc5\xa1\xb9\x31\x58\xf6\xe4\x9e\xcc\xf3\
+\xfc\x32\x87\x1c\x18\x7b\x30\xfc\x1e\x40\xf7\x3b\xab\x90\xca\xc9\
+\x09\xd6\x90\xf3\xe5\x99\xe1\xd5\xd6\x6e\x18\x46\xba\x33\xa7\x70\
+\x61\x64\x68\x84\x40\x28\x36\x87\x55\xef\x79\x88\x56\x33\xea\x0b\
+\x73\x87\xd2\x72\x51\xe7\x65\xd0\x8b\xdf\xe2\x68\x66\x85\x04\xff\
+\x88\x25\x28\xa3\x27\xb5\x58\x9c\xf7\x4f\x8d\x33\xa3\x9a\xeb\x6b\
+\x0b\xbd\x26\xfc\x03\x98\xc9\x44\xe1\xb4\x78\x82\xc6\x44\xe7\xea\
+\xd9\x08\xb5\x1b\x79\x2a\x32\x2a\x8c\x46\x5b\xdc\x46\x03\x75\x2d\
+\x8c\xf7\xf4\xd0\x98\x48\x7f\xa0\xd8\x0c\xe1\x8c\x7e\x1a\x4f\x70\
+\x38\xba\x9b\xf1\x76\x05\xfc\x63\x16\xf9\x90\xba\xc2\x13\x73\xa3\
+\x42\xbb\x51\x84\xfe\x1d\xe9\x6b\xb5\xc1\xe9\x74\x72\x85\x32\xea\
+\xcb\x0b\xba\xb1\x9e\xee\xb6\x67\x49\x92\x4c\x5e\xe5\x77\xac\xab\
+\x1d\x1c\x99\xdf\xe9\xc6\x99\x3a\x6b\xd3\x34\x8a\xce\xb0\x70\xe0\
+\xf1\xcb\xcf\x1c\xed\x0d\xee\x2b\xf8\x47\x2d\xf1\xe9\x72\x0a\x86\
+\xdf\x5e\xeb\x00\x00\x02\x47\x49\x44\x41\x54\x63\x91\xaa\x16\x2f\
+\xef\x8d\x36\x82\xa6\xed\x6d\xe3\xe5\xe9\x1c\x7a\x72\x4e\x7b\xe9\
+\xca\x24\x9d\xcc\xc0\x6a\x72\x3c\x39\xfd\xf8\x98\xcd\xb4\x22\x7f\
+\x8d\x8b\x43\xb3\xf6\x2e\x4e\xed\xb1\xe7\x10\xf3\x31\xc7\xad\x58\
+\xf3\x4c\x6f\x40\x13\x35\xf0\x4f\x5b\x52\xc1\x90\xbf\x7a\x3a\x3b\
+\x3d\xa9\x2f\x55\x75\x99\x1c\xc8\x2a\xd1\xb5\xa5\x70\x9f\xf9\x0c\
+\x7e\x23\x1e\x1e\x4e\x9f\xd0\x5b\x0a\x53\x98\x76\xd7\xb8\xba\xb2\
+\xb2\xd3\xe0\x1c\x95\x0a\xb4\xdd\x66\xdb\x8c\xc7\x16\xf0\xcb\x1a\
+\x5e\x58\xf0\x4f\x5c\xb1\x59\xe3\xb2\x50\x98\x4e\xcf\x8a\x91\x49\
+\x7d\xae\xaa\x67\x46\xc2\x68\xcc\xc3\x80\x7c\x75\x35\x2d\x60\x85\
+\x91\xdf\xd2\x6e\x70\xdb\x6b\xe1\x3c\x04\xe0\xb4\xde\xb0\x0f\xd7\
+\xaf\x89\xd6\x32\x11\xf3\x0f\xc6\xc5\x67\x13\x57\x46\x43\x6a\x36\
+\x6a\xd8\x09\x23\x34\xf7\xd9\xb4\xcb\x14\x1a\x97\xd3\x02\x0a\x51\
+\x98\x15\xc3\x6a\x71\x6a\xdf\xb8\x5d\xd4\x66\x1f\xcb\x4c\x1c\xbf\
+\xb5\x7a\x9d\x8b\x18\x88\x7b\x01\xda\x24\xf8\x27\x2f\x16\xea\x87\
+\xd7\x36\xb0\x15\x61\xcd\x73\x6f\x40\xc7\x9b\x23\xb4\x65\x21\x2b\
+\xdc\xb5\x97\x3b\xa6\xdd\xa1\x7d\x81\xb2\x19\xda\xd7\x28\xbe\xa0\
+\x17\x92\xaf\xeb\x5e\xc7\x39\xfe\xb9\x40\x81\x7f\xfa\xa2\x94\x4b\
+\x1b\xf3\x56\x1c\x4d\xa7\x1f\x86\x06\x03\x24\xf9\x12\x2f\x84\x8a\
+\x7b\x55\x7b\xb4\x08\xd7\x8c\xaf\xb3\x03\x60\x70\xa6\x1b\x17\xbd\
+\x22\x13\x17\xbd\x31\xf0\x9f\xb1\xc4\x13\x3b\xd3\x6e\x43\xef\xce\
+\x9f\xd6\x15\xd5\xd0\xd0\x9a\x72\x1a\xaa\x11\x0b\x2a\x9d\xb6\xab\
+\x9d\x28\xa0\x44\x04\xea\xf8\xd6\x55\xc7\xfb\xb9\xb6\x85\x43\x57\
+\x26\xf0\x1f\xb4\xb8\x82\x9d\xa6\x09\x54\xdb\xda\x8c\xfa\x5a\xa3\
+\x6a\xb0\x28\x3b\x9b\xd1\x08\x21\x9a\x21\x84\x9e\x0c\xb7\xec\x1b\
+\x68\x37\xf4\x83\xc1\x0f\x16\xfc\xc7\x2d\x51\x35\x0e\xef\xd0\x5b\
+\x54\xdb\xdb\xa5\xa1\x6a\xdb\x16\x4f\xe3\xbc\x31\x0c\x7d\x67\xc6\
+\xd7\x8e\x22\x2f\x7e\x45\x9a\x8b\xb9\xfa\x0f\xa4\xd5\x56\x2b\x79\
+\x75\x4f\xd8\x09\x04\x6d\x27\xba\x2f\x5d\xbb\x79\xd8\x45\x8d\x57\
+\x98\x7b\x18\x7a\x38\x34\xdb\xf1\xe0\x15\xbd\xcd\x43\xe6\xa1\x51\
+\xee\x81\xff\xec\x45\xc6\x54\x03\xcc\xae\x77\x43\xb3\x39\x0e\xcc\
+\x46\xbc\x65\xdf\x00\x68\xb7\xe1\x6f\xd0\xe7\xbb\x17\x9c\xb7\x1f\
+\x78\x0a\xfc\x6f\xb2\xc8\xc1\x49\x0a\x55\xba\x06\x22\x0e\xe3\x12\
+\x0a\xc6\xf1\x50\xc8\xbc\x1e\x45\x81\x9e\xfe\x11\xe1\xac\xe0\x7f\
+\xc3\x45\x89\x03\x79\x39\x57\xaf\x46\xa9\xc6\xc7\xe5\x2c\x55\x50\
+\x13\x8a\x14\xa0\xc0\xef\xf5\x7b\xfd\x5e\xbf\xd7\xef\xf5\x7b\xfd\
+\x5e\xbf\xd7\xef\xf5\x7b\xfd\x5e\xbf\xd7\x3f\x70\xfd\xff\xe8\x94\
+\xa1\xcc\x0e\xe8\x0a\x80\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x11\x15\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x37\x34\
+\x34\x2e\x30\x39\x34\x34\x38\x38\x31\x39\x22\x0a\x20\x20\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x35\x32\x2e\x33\x36\x32\x32\
+\x30\x34\x37\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x33\
+\x31\x33\x37\x22\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\
+\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x38\x2e\
+\x34\x20\x72\x39\x39\x33\x39\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x64\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x63\x6f\
+\x6e\x74\x72\x61\x63\x74\x2e\x73\x76\x67\x22\x3e\x0a\x20\x20\x3c\
+\x64\x65\x66\x73\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\
+\x66\x73\x33\x31\x33\x39\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x73\x6f\
+\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\
+\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x62\x61\x73\x65\x22\x0a\
+\x20\x20\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\
+\x23\x66\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\
+\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x36\x36\x36\x36\
+\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\
+\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x2e\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\
+\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x73\
+\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\
+\x33\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x63\x78\x3d\x22\x33\x37\x35\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x79\x3d\x22\x36\x33\x34\
+\x2e\x32\x38\x35\x37\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\
+\x6e\x69\x74\x73\x3d\x22\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\x65\x6e\x74\x2d\
+\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\x20\
+\x20\x20\x20\x20\x73\x68\x6f\x77\x67\x72\x69\x64\x3d\x22\x66\x61\
+\x6c\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\
+\x22\x31\x33\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\
+\x68\x74\x3d\x22\x37\x32\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\
+\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x79\x3d\x22\x32\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\
+\x6e\x64\x6f\x77\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\
+\x31\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x6d\x65\x74\x61\x64\x61\x74\
+\x61\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6d\x65\x74\x61\x64\
+\x61\x74\x61\x33\x31\x34\x32\x22\x3e\x0a\x20\x20\x20\x20\x3c\x72\
+\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x63\
+\x63\x3a\x57\x6f\x72\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x72\x64\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\
+\x3e\x69\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\x6c\x3c\x2f\
+\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x3c\x64\x63\x3a\x74\x79\x70\x65\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\
+\x72\x63\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\
+\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\
+\x2f\x53\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\x2f\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\
+\x65\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\x63\x3a\
+\x57\x6f\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\
+\x52\x44\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\
+\x61\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\
+\x65\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\
+\x61\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\
+\x61\x79\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x33\x37\x30\x2e\x34\x32\x38\
+\x35\x39\x2c\x35\x33\x38\x2e\x39\x33\x33\x36\x20\x33\x35\x38\x2e\
+\x35\x37\x31\x34\x31\x2c\x30\x20\x30\x2c\x31\x38\x2e\x35\x37\x31\
+\x34\x34\x20\x30\x2c\x31\x38\x2e\x35\x37\x31\x34\x32\x20\x2d\x33\
+\x35\x38\x2e\x35\x37\x31\x34\x31\x2c\x30\x20\x2d\x33\x35\x38\x2e\
+\x35\x37\x31\x34\x34\x39\x2c\x30\x20\x30\x2c\x2d\x31\x38\x2e\x35\
+\x37\x31\x34\x32\x20\x30\x2c\x2d\x31\x38\x2e\x35\x37\x31\x34\x34\
+\x20\x33\x35\x38\x2e\x35\x37\x31\x34\x30\x39\x2c\x30\x20\x7a\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\
+\x33\x31\x39\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\
+\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\
+\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x72\x65\x63\x74\x33\x31\x36\x37\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x34\x35\x2e\x37\x31\x34\x32\
+\x38\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\
+\x74\x3d\x22\x37\x30\x38\x2e\x32\x33\x34\x32\x35\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x78\x3d\x22\x36\x39\x36\x2e\x36\x34\x37\x38\
+\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x79\x3d\x22\x2d\x37\x32\
+\x36\x2e\x31\x30\x34\x37\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\
+\x78\x28\x30\x2c\x31\x2c\x2d\x31\x2c\x30\x2c\x30\x2c\x30\x29\x22\
+\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\
+\x3a\x23\x32\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x72\x65\x63\x74\x33\x31\x36\x37\x2d\x35\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x34\x35\
+\x2e\x37\x31\x34\x32\x38\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x68\x65\x69\x67\x68\x74\x3d\x22\x37\x30\x38\x2e\x32\x33\x34\x32\
+\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x78\x3d\x22\x33\x38\x33\
+\x2e\x37\x39\x30\x37\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x79\
+\x3d\x22\x2d\x37\x32\x36\x2e\x31\x30\x34\x38\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\
+\x61\x74\x72\x69\x78\x28\x30\x2c\x31\x2c\x2d\x31\x2c\x30\x2c\x30\
+\x2c\x30\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\
+\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x34\x38\x2e\x33\x38\x39\x33\
+\x33\x37\x2c\x31\x30\x34\x32\x2e\x32\x33\x36\x39\x20\x63\x20\x32\
+\x34\x2e\x31\x39\x37\x38\x2c\x2d\x32\x30\x2e\x30\x34\x36\x34\x20\
+\x32\x39\x38\x2e\x36\x35\x37\x33\x33\x33\x2c\x2d\x32\x33\x33\x2e\
+\x34\x34\x36\x30\x35\x20\x33\x30\x31\x2e\x38\x38\x31\x37\x34\x33\
+\x2c\x2d\x32\x33\x34\x2e\x37\x32\x31\x31\x38\x20\x32\x2e\x33\x30\
+\x39\x38\x39\x2c\x2d\x30\x2e\x39\x31\x33\x34\x37\x20\x36\x30\x2e\
+\x30\x30\x30\x37\x2c\x33\x37\x2e\x36\x31\x30\x33\x38\x20\x31\x32\
+\x38\x2e\x32\x30\x31\x37\x39\x2c\x38\x35\x2e\x36\x30\x38\x35\x36\
+\x20\x36\x38\x2e\x32\x30\x31\x30\x39\x2c\x34\x37\x2e\x39\x39\x38\
+\x31\x36\x20\x31\x34\x35\x2e\x33\x36\x39\x37\x2c\x31\x30\x32\x2e\
+\x31\x34\x30\x32\x31\x20\x31\x37\x31\x2e\x34\x38\x35\x38\x33\x2c\
+\x31\x32\x30\x2e\x33\x31\x35\x35\x32\x20\x6c\x20\x34\x37\x2e\x34\
+\x38\x33\x38\x34\x2c\x33\x33\x2e\x30\x34\x36\x33\x20\x2d\x31\x37\
+\x2e\x35\x31\x36\x37\x36\x2c\x2d\x31\x2e\x30\x32\x39\x39\x20\x63\
+\x20\x2d\x31\x35\x2e\x36\x34\x37\x32\x37\x2c\x2d\x30\x2e\x39\x32\
+\x20\x2d\x32\x36\x2e\x35\x31\x34\x39\x35\x2c\x2d\x37\x2e\x33\x35\
+\x31\x33\x20\x2d\x31\x30\x31\x2e\x38\x32\x39\x34\x2c\x2d\x36\x30\
+\x2e\x32\x36\x30\x30\x38\x20\x43\x20\x34\x35\x30\x2e\x32\x30\x37\
+\x36\x37\x2c\x38\x39\x35\x2e\x33\x35\x33\x35\x35\x20\x33\x35\x39\
+\x2e\x34\x33\x30\x38\x33\x2c\x38\x33\x34\x2e\x33\x36\x30\x30\x32\
+\x20\x33\x35\x35\x2e\x31\x34\x33\x36\x33\x2c\x38\x33\x35\x2e\x33\
+\x39\x32\x37\x38\x20\x33\x35\x33\x2e\x30\x32\x35\x39\x2c\x38\x33\
+\x35\x2e\x39\x30\x32\x39\x35\x20\x32\x39\x31\x2e\x30\x39\x31\x35\
+\x35\x2c\x38\x38\x33\x2e\x31\x34\x34\x31\x38\x20\x32\x31\x37\x2e\
+\x35\x31\x31\x37\x35\x2c\x39\x34\x30\x2e\x33\x37\x33\x33\x31\x20\
+\x38\x35\x2e\x33\x30\x37\x34\x30\x31\x2c\x31\x30\x34\x33\x2e\x31\
+\x39\x39\x36\x20\x38\x33\x2e\x34\x39\x32\x30\x32\x36\x2c\x31\x30\
+\x34\x34\x2e\x34\x33\x38\x33\x20\x36\x33\x2e\x35\x31\x36\x35\x36\
+\x36\x2c\x31\x30\x34\x35\x2e\x34\x33\x38\x35\x20\x63\x20\x2d\x31\
+\x36\x2e\x30\x39\x38\x39\x32\x39\x2c\x30\x2e\x38\x30\x36\x32\x20\
+\x2d\x31\x39\x2e\x31\x37\x38\x32\x39\x39\x2c\x30\x2e\x31\x35\x34\
+\x35\x20\x2d\x31\x35\x2e\x31\x32\x37\x32\x32\x39\x2c\x2d\x33\x2e\
+\x32\x30\x31\x36\x20\x6c\x20\x30\x2c\x30\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x31\x39\
+\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\x75\x72\
+\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\x62\x31\x31\
+\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\x20\x37\
+\x35\x2e\x31\x39\x34\x37\x37\x39\x2c\x31\x30\x34\x34\x2e\x39\x37\
+\x38\x37\x20\x43\x20\x39\x37\x2e\x31\x34\x34\x38\x39\x36\x2c\x31\
+\x30\x32\x36\x2e\x32\x38\x35\x38\x20\x33\x36\x33\x2e\x31\x37\x36\
+\x37\x32\x2c\x38\x31\x34\x2e\x34\x39\x30\x33\x31\x20\x33\x36\x36\
+\x2e\x32\x38\x39\x36\x39\x2c\x38\x31\x33\x2e\x32\x32\x39\x38\x31\
+\x20\x63\x20\x32\x2e\x32\x32\x39\x33\x39\x2c\x2d\x30\x2e\x39\x30\
+\x32\x37\x31\x20\x35\x37\x2e\x39\x30\x39\x34\x35\x2c\x33\x37\x2e\
+\x31\x36\x37\x36\x37\x20\x31\x32\x33\x2e\x37\x33\x33\x34\x39\x2c\
+\x38\x34\x2e\x36\x30\x30\x38\x35\x20\x36\x35\x2e\x38\x32\x34\x30\
+\x32\x2c\x34\x37\x2e\x34\x33\x33\x31\x37\x20\x31\x34\x30\x2e\x31\
+\x35\x38\x38\x2c\x31\x30\x30\x2e\x38\x33\x35\x38\x37\x20\x31\x36\
+\x35\x2e\x31\x38\x38\x34\x31\x2c\x31\x31\x38\x2e\x36\x37\x32\x35\
+\x34\x20\x6c\x20\x34\x35\x2e\x35\x30\x38\x33\x34\x2c\x33\x32\x2e\
+\x34\x33\x30\x34\x20\x2d\x33\x31\x35\x2e\x30\x38\x34\x36\x2c\x30\
+\x20\x63\x20\x2d\x32\x35\x31\x2e\x33\x32\x35\x30\x36\x2c\x30\x20\
+\x2d\x33\x31\x34\x2e\x31\x34\x34\x38\x35\x38\x2c\x2d\x30\x2e\x38\
+\x30\x30\x33\x20\x2d\x33\x31\x30\x2e\x34\x34\x30\x35\x35\x31\x2c\
+\x2d\x33\x2e\x39\x35\x34\x39\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x31\x38\x39\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\x75\x72\x76\x61\x74\
+\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\
+\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\
+\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\x20\x32\x30\x36\x2e\
+\x34\x31\x35\x32\x37\x2c\x31\x34\x31\x2e\x35\x36\x38\x31\x35\x20\
+\x43\x20\x31\x31\x34\x2e\x34\x35\x30\x38\x32\x2c\x38\x30\x2e\x39\
+\x34\x30\x39\x31\x33\x20\x33\x37\x2e\x33\x37\x39\x36\x33\x39\x2c\
+\x32\x39\x2e\x35\x31\x30\x33\x37\x32\x20\x33\x35\x2e\x31\x34\x35\
+\x39\x39\x32\x2c\x32\x37\x2e\x32\x37\x38\x30\x36\x32\x20\x63\x20\
+\x2d\x33\x2e\x31\x30\x30\x36\x34\x36\x2c\x2d\x33\x2e\x30\x39\x38\
+\x37\x37\x34\x20\x30\x2e\x35\x35\x38\x37\x31\x2c\x2d\x34\x2e\x30\
+\x35\x38\x37\x33\x36\x20\x31\x35\x2e\x34\x37\x31\x39\x37\x38\x2c\
+\x2d\x34\x2e\x30\x35\x38\x37\x33\x36\x20\x31\x38\x2e\x36\x34\x33\
+\x37\x35\x2c\x30\x20\x32\x32\x2e\x34\x31\x32\x39\x32\x39\x2c\x31\
+\x2e\x39\x30\x37\x34\x39\x37\x20\x38\x32\x2e\x37\x37\x37\x33\x35\
+\x2c\x34\x31\x2e\x38\x39\x31\x38\x37\x33\x20\x31\x31\x36\x2e\x34\
+\x39\x33\x37\x32\x2c\x37\x37\x2e\x31\x36\x33\x34\x33\x31\x20\x32\
+\x34\x34\x2e\x35\x39\x35\x30\x32\x2c\x31\x35\x39\x2e\x32\x35\x38\
+\x36\x37\x31\x20\x32\x34\x38\x2e\x35\x30\x37\x2c\x31\x35\x39\x2e\
+\x32\x35\x38\x36\x37\x31\x20\x33\x2e\x33\x31\x39\x39\x35\x2c\x30\
+\x20\x34\x38\x2e\x36\x39\x32\x34\x33\x2c\x2d\x33\x32\x2e\x34\x39\
+\x38\x36\x20\x32\x34\x37\x2e\x38\x35\x37\x30\x33\x2c\x2d\x31\x37\
+\x37\x2e\x35\x33\x30\x35\x39\x31\x20\x32\x34\x2e\x39\x30\x31\x38\
+\x38\x2c\x2d\x31\x38\x2e\x31\x33\x33\x35\x39\x39\x20\x33\x35\x2e\
+\x34\x32\x37\x31\x2c\x2d\x32\x33\x2e\x36\x31\x39\x39\x35\x33\x20\
+\x34\x35\x2e\x33\x31\x33\x33\x35\x2c\x2d\x32\x33\x2e\x36\x31\x39\
+\x39\x35\x33\x20\x31\x31\x2e\x37\x37\x32\x33\x33\x2c\x30\x20\x31\
+\x32\x2e\x32\x37\x39\x34\x37\x2c\x30\x2e\x35\x31\x32\x31\x36\x39\
+\x20\x35\x2e\x39\x30\x39\x38\x36\x2c\x35\x2e\x39\x36\x38\x35\x38\
+\x20\x2d\x31\x34\x2e\x39\x32\x38\x39\x35\x2c\x31\x32\x2e\x37\x38\
+\x38\x35\x39\x35\x20\x2d\x33\x30\x31\x2e\x36\x38\x37\x31\x37\x2c\
+\x32\x32\x32\x2e\x33\x34\x30\x31\x36\x34\x20\x2d\x33\x30\x34\x2e\
+\x34\x33\x38\x37\x39\x2c\x32\x32\x32\x2e\x34\x37\x31\x38\x33\x34\
+\x20\x2d\x31\x2e\x36\x30\x36\x32\x34\x2c\x30\x2e\x30\x37\x36\x39\
+\x20\x2d\x37\x38\x2e\x31\x36\x34\x30\x37\x2c\x2d\x34\x39\x2e\x34\
+\x36\x34\x33\x36\x20\x2d\x31\x37\x30\x2e\x31\x32\x38\x35\x2c\x2d\
+\x31\x31\x30\x2e\x30\x39\x31\x35\x39\x20\x6c\x20\x30\x2c\x30\x20\
+\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x33\x31\x39\x33\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\
+\x72\x2d\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\
+\x23\x32\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
+\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\
+\x3d\x22\x4d\x20\x32\x31\x35\x2e\x34\x33\x39\x34\x34\x2c\x31\x32\
+\x38\x2e\x32\x31\x39\x33\x32\x20\x34\x35\x2e\x31\x38\x39\x34\x34\
+\x33\x2c\x32\x31\x2e\x37\x39\x30\x37\x35\x34\x20\x32\x30\x39\x2e\
+\x38\x39\x36\x38\x2c\x32\x31\x2e\x30\x33\x37\x31\x36\x34\x20\x63\
+\x20\x39\x30\x2e\x35\x38\x39\x30\x35\x2c\x2d\x30\x2e\x34\x31\x34\
+\x34\x38\x20\x32\x33\x37\x2e\x31\x35\x35\x32\x38\x2c\x2d\x30\x2e\
+\x34\x31\x34\x34\x38\x20\x33\x32\x35\x2e\x37\x30\x32\x37\x34\x2c\
+\x30\x20\x6c\x20\x31\x36\x30\x2e\x39\x39\x35\x34\x2c\x30\x2e\x37\
+\x35\x33\x35\x39\x20\x2d\x31\x35\x32\x2e\x35\x36\x31\x39\x36\x2c\
+\x31\x30\x36\x2e\x32\x39\x30\x37\x38\x36\x20\x63\x20\x2d\x38\x33\
+\x2e\x39\x30\x39\x30\x38\x2c\x35\x38\x2e\x34\x35\x39\x39\x33\x20\
+\x2d\x31\x35\x33\x2e\x38\x36\x32\x38\x31\x2c\x31\x30\x36\x2e\x33\
+\x35\x32\x37\x39\x20\x2d\x31\x35\x35\x2e\x34\x35\x32\x37\x34\x2c\
+\x31\x30\x36\x2e\x34\x32\x38\x35\x37\x20\x2d\x31\x2e\x35\x38\x39\
+\x39\x34\x2c\x30\x2e\x30\x37\x35\x38\x20\x2d\x37\x39\x2e\x35\x30\
+\x33\x32\x39\x2c\x2d\x34\x37\x2e\x37\x35\x35\x30\x37\x20\x2d\x31\
+\x37\x33\x2e\x31\x34\x30\x38\x2c\x2d\x31\x30\x36\x2e\x32\x39\x30\
+\x37\x39\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
+\x22\x70\x61\x74\x68\x33\x31\x39\x31\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\
+\x63\x74\x6f\x72\x2d\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\
+\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\
+\x76\x67\x3e\x0a\
+\x00\x00\x19\x49\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
+\x00\x00\x0a\x4f\x69\x43\x43\x50\x50\x68\x6f\x74\x6f\x73\x68\x6f\
+\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\x6c\x65\x00\x00\x78\
+\xda\x9d\x53\x67\x54\x53\xe9\x16\x3d\xf7\xde\xf4\x42\x4b\x88\x80\
+\x94\x4b\x6f\x52\x15\x08\x20\x52\x42\x8b\x80\x14\x91\x26\x2a\x21\
+\x09\x10\x4a\x88\x21\xa1\xd9\x15\x51\xc1\x11\x45\x45\x04\x1b\xc8\
+\xa0\x88\x03\x8e\x8e\x80\x8c\x15\x51\x2c\x0c\x8a\x0a\xd8\x07\xe4\
+\x21\xa2\x8e\x83\xa3\x88\x8a\xca\xfb\xe1\x7b\xa3\x6b\xd6\xbc\xf7\
+\xe6\xcd\xfe\xb5\xd7\x3e\xe7\xac\xf3\x9d\xb3\xcf\x07\xc0\x08\x0c\
+\x96\x48\x33\x51\x35\x80\x0c\xa9\x42\x1e\x11\xe0\x83\xc7\xc4\xc6\
+\xe1\xe4\x2e\x40\x81\x0a\x24\x70\x00\x10\x08\xb3\x64\x21\x73\xfd\
+\x23\x01\x00\xf8\x7e\x3c\x3c\x2b\x22\xc0\x07\xbe\x00\x01\x78\xd3\
+\x0b\x08\x00\xc0\x4d\x9b\xc0\x30\x1c\x87\xff\x0f\xea\x42\x99\x5c\
+\x01\x80\x84\x01\xc0\x74\x91\x38\x4b\x08\x80\x14\x00\x40\x7a\x8e\
+\x42\xa6\x00\x40\x46\x01\x80\x9d\x98\x26\x53\x00\xa0\x04\x00\x60\
+\xcb\x63\x62\xe3\x00\x50\x2d\x00\x60\x27\x7f\xe6\xd3\x00\x80\x9d\
+\xf8\x99\x7b\x01\x00\x5b\x94\x21\x15\x01\xa0\x91\x00\x20\x13\x65\
+\x88\x44\x00\x68\x3b\x00\xac\xcf\x56\x8a\x45\x00\x58\x30\x00\x14\
+\x66\x4b\xc4\x39\x00\xd8\x2d\x00\x30\x49\x57\x66\x48\x00\xb0\xb7\
+\x00\xc0\xce\x10\x0b\xb2\x00\x08\x0c\x00\x30\x51\x88\x85\x29\x00\
+\x04\x7b\x00\x60\xc8\x23\x23\x78\x00\x84\x99\x00\x14\x46\xf2\x57\
+\x3c\xf1\x2b\xae\x10\xe7\x2a\x00\x00\x78\x99\xb2\x3c\xb9\x24\x39\
+\x45\x81\x5b\x08\x2d\x71\x07\x57\x57\x2e\x1e\x28\xce\x49\x17\x2b\
+\x14\x36\x61\x02\x61\x9a\x40\x2e\xc2\x79\x99\x19\x32\x81\x34\x0f\
+\xe0\xf3\xcc\x00\x00\xa0\x91\x15\x11\xe0\x83\xf3\xfd\x78\xce\x0e\
+\xae\xce\xce\x36\x8e\xb6\x0e\x5f\x2d\xea\xbf\x06\xff\x22\x62\x62\
+\xe3\xfe\xe5\xcf\xab\x70\x40\x00\x00\xe1\x74\x7e\xd1\xfe\x2c\x2f\
+\xb3\x1a\x80\x3b\x06\x80\x6d\xfe\xa2\x25\xee\x04\x68\x5e\x0b\xa0\
+\x75\xf7\x8b\x66\xb2\x0f\x40\xb5\x00\xa0\xe9\xda\x57\xf3\x70\xf8\
+\x7e\x3c\x3c\x45\xa1\x90\xb9\xd9\xd9\xe5\xe4\xe4\xd8\x4a\xc4\x42\
+\x5b\x61\xca\x57\x7d\xfe\x67\xc2\x5f\xc0\x57\xfd\x6c\xf9\x7e\x3c\
+\xfc\xf7\xf5\xe0\xbe\xe2\x24\x81\x32\x5d\x81\x47\x04\xf8\xe0\xc2\
+\xcc\xf4\x4c\xa5\x1c\xcf\x92\x09\x84\x62\xdc\xe6\x8f\x47\xfc\xb7\
+\x0b\xff\xfc\x1d\xd3\x22\xc4\x49\x62\xb9\x58\x2a\x14\xe3\x51\x12\
+\x71\x8e\x44\x9a\x8c\xf3\x32\xa5\x22\x89\x42\x92\x29\xc5\x25\xd2\
+\xff\x64\xe2\xdf\x2c\xfb\x03\x3e\xdf\x35\x00\xb0\x6a\x3e\x01\x7b\
+\x91\x2d\xa8\x5d\x63\x03\xf6\x4b\x27\x10\x58\x74\xc0\xe2\xf7\x00\
+\x00\xf2\xbb\x6f\xc1\xd4\x28\x08\x03\x80\x68\x83\xe1\xcf\x77\xff\
+\xef\x3f\xfd\x47\xa0\x25\x00\x80\x66\x49\x92\x71\x00\x00\x5e\x44\
+\x24\x2e\x54\xca\xb3\x3f\xc7\x08\x00\x00\x44\xa0\x81\x2a\xb0\x41\
+\x1b\xf4\xc1\x18\x2c\xc0\x06\x1c\xc1\x05\xdc\xc1\x0b\xfc\x60\x36\
+\x84\x42\x24\xc4\xc2\x42\x10\x42\x0a\x64\x80\x1c\x72\x60\x29\xac\
+\x82\x42\x28\x86\xcd\xb0\x1d\x2a\x60\x2f\xd4\x40\x1d\x34\xc0\x51\
+\x68\x86\x93\x70\x0e\x2e\xc2\x55\xb8\x0e\x3d\x70\x0f\xfa\x61\x08\
+\x9e\xc1\x28\xbc\x81\x09\x04\x41\xc8\x08\x13\x61\x21\xda\x88\x01\
+\x62\x8a\x58\x23\x8e\x08\x17\x99\x85\xf8\x21\xc1\x48\x04\x12\x8b\
+\x24\x20\xc9\x88\x14\x51\x22\x4b\x91\x35\x48\x31\x52\x8a\x54\x20\
+\x55\x48\x1d\xf2\x3d\x72\x02\x39\x87\x5c\x46\xba\x91\x3b\xc8\x00\
+\x32\x82\xfc\x86\xbc\x47\x31\x94\x81\xb2\x51\x3d\xd4\x0c\xb5\x43\
+\xb9\xa8\x37\x1a\x84\x46\xa2\x0b\xd0\x64\x74\x31\x9a\x8f\x16\xa0\
+\x9b\xd0\x72\xb4\x1a\x3d\x8c\x36\xa1\xe7\xd0\xab\x68\x0f\xda\x8f\
+\x3e\x43\xc7\x30\xc0\xe8\x18\x07\x33\xc4\x6c\x30\x2e\xc6\xc3\x42\
+\xb1\x38\x2c\x09\x93\x63\xcb\xb1\x22\xac\x0c\xab\xc6\x1a\xb0\x56\
+\xac\x03\xbb\x89\xf5\x63\xcf\xb1\x77\x04\x12\x81\x45\xc0\x09\x36\
+\x04\x77\x42\x20\x61\x1e\x41\x48\x58\x4c\x58\x4e\xd8\x48\xa8\x20\
+\x1c\x24\x34\x11\xda\x09\x37\x09\x03\x84\x51\xc2\x27\x22\x93\xa8\
+\x4b\xb4\x26\xba\x11\xf9\xc4\x18\x62\x32\x31\x87\x58\x48\x2c\x23\
+\xd6\x12\x8f\x13\x2f\x10\x7b\x88\x43\xc4\x37\x24\x12\x89\x43\x32\
+\x27\xb9\x90\x02\x49\xb1\xa4\x54\xd2\x12\xd2\x46\xd2\x6e\x52\x23\
+\xe9\x2c\xa9\x9b\x34\x48\x1a\x23\x93\xc9\xda\x64\x6b\xb2\x07\x39\
+\x94\x2c\x20\x2b\xc8\x85\xe4\x9d\xe4\xc3\xe4\x33\xe4\x1b\xe4\x21\
+\xf2\x5b\x0a\x9d\x62\x40\x71\xa4\xf8\x53\xe2\x28\x52\xca\x6a\x4a\
+\x19\xe5\x10\xe5\x34\xe5\x06\x65\x98\x32\x41\x55\xa3\x9a\x52\xdd\
+\xa8\xa1\x54\x11\x35\x8f\x5a\x42\xad\xa1\xb6\x52\xaf\x51\x87\xa8\
+\x13\x34\x75\x9a\x39\xcd\x83\x16\x49\x4b\xa5\xad\xa2\x95\xd3\x1a\
+\x68\x17\x68\xf7\x69\xaf\xe8\x74\xba\x11\xdd\x95\x1e\x4e\x97\xd0\
+\x57\xd2\xcb\xe9\x47\xe8\x97\xe8\x03\xf4\x77\x0c\x0d\x86\x15\x83\
+\xc7\x88\x67\x28\x19\x9b\x18\x07\x18\x67\x19\x77\x18\xaf\x98\x4c\
+\xa6\x19\xd3\x8b\x19\xc7\x54\x30\x37\x31\xeb\x98\xe7\x99\x0f\x99\
+\x6f\x55\x58\x2a\xb6\x2a\x7c\x15\x91\xca\x0a\x95\x4a\x95\x26\x95\
+\x1b\x2a\x2f\x54\xa9\xaa\xa6\xaa\xde\xaa\x0b\x55\xf3\x55\xcb\x54\
+\x8f\xa9\x5e\x53\x7d\xae\x46\x55\x33\x53\xe3\xa9\x09\xd4\x96\xab\
+\x55\xaa\x9d\x50\xeb\x53\x1b\x53\x67\xa9\x3b\xa8\x87\xaa\x67\xa8\
+\x6f\x54\x3f\xa4\x7e\x59\xfd\x89\x06\x59\xc3\x4c\xc3\x4f\x43\xa4\
+\x51\xa0\xb1\x5f\xe3\xbc\xc6\x20\x0b\x63\x19\xb3\x78\x2c\x21\x6b\
+\x0d\xab\x86\x75\x81\x35\xc4\x26\xb1\xcd\xd9\x7c\x76\x2a\xbb\x98\
+\xfd\x1d\xbb\x8b\x3d\xaa\xa9\xa1\x39\x43\x33\x4a\x33\x57\xb3\x52\
+\xf3\x94\x66\x3f\x07\xe3\x98\x71\xf8\x9c\x74\x4e\x09\xe7\x28\xa7\
+\x97\xf3\x7e\x8a\xde\x14\xef\x29\xe2\x29\x1b\xa6\x34\x4c\xb9\x31\
+\x65\x5c\x6b\xaa\x96\x97\x96\x58\xab\x48\xab\x51\xab\x47\xeb\xbd\
+\x36\xae\xed\xa7\x9d\xa6\xbd\x45\xbb\x59\xfb\x81\x0e\x41\xc7\x4a\
+\x27\x5c\x27\x47\x67\x8f\xce\x05\x9d\xe7\x53\xd9\x53\xdd\xa7\x0a\
+\xa7\x16\x4d\x3d\x3a\xf5\xae\x2e\xaa\x6b\xa5\x1b\xa1\xbb\x44\x77\
+\xbf\x6e\xa7\xee\x98\x9e\xbe\x5e\x80\x9e\x4c\x6f\xa7\xde\x79\xbd\
+\xe7\xfa\x1c\x7d\x2f\xfd\x54\xfd\x6d\xfa\xa7\xf5\x47\x0c\x58\x06\
+\xb3\x0c\x24\x06\xdb\x0c\xce\x18\x3c\xc5\x35\x71\x6f\x3c\x1d\x2f\
+\xc7\xdb\xf1\x51\x43\x5d\xc3\x40\x43\xa5\x61\x95\x61\x97\xe1\x84\
+\x91\xb9\xd1\x3c\xa3\xd5\x46\x8d\x46\x0f\x8c\x69\xc6\x5c\xe3\x24\
+\xe3\x6d\xc6\x6d\xc6\xa3\x26\x06\x26\x21\x26\x4b\x4d\xea\x4d\xee\
+\x9a\x52\x4d\xb9\xa6\x29\xa6\x3b\x4c\x3b\x4c\xc7\xcd\xcc\xcd\xa2\
+\xcd\xd6\x99\x35\x9b\x3d\x31\xd7\x32\xe7\x9b\xe7\x9b\xd7\x9b\xdf\
+\xb7\x60\x5a\x78\x5a\x2c\xb6\xa8\xb6\xb8\x65\x49\xb2\xe4\x5a\xa6\
+\x59\xee\xb6\xbc\x6e\x85\x5a\x39\x59\xa5\x58\x55\x5a\x5d\xb3\x46\
+\xad\x9d\xad\x25\xd6\xbb\xad\xbb\xa7\x11\xa7\xb9\x4e\x93\x4e\xab\
+\x9e\xd6\x67\xc3\xb0\xf1\xb6\xc9\xb6\xa9\xb7\x19\xb0\xe5\xd8\x06\
+\xdb\xae\xb6\x6d\xb6\x7d\x61\x67\x62\x17\x67\xb7\xc5\xae\xc3\xee\
+\x93\xbd\x93\x7d\xba\x7d\x8d\xfd\x3d\x07\x0d\x87\xd9\x0e\xab\x1d\
+\x5a\x1d\x7e\x73\xb4\x72\x14\x3a\x56\x3a\xde\x9a\xce\x9c\xee\x3f\
+\x7d\xc5\xf4\x96\xe9\x2f\x67\x58\xcf\x10\xcf\xd8\x33\xe3\xb6\x13\
+\xcb\x29\xc4\x69\x9d\x53\x9b\xd3\x47\x67\x17\x67\xb9\x73\x83\xf3\
+\x88\x8b\x89\x4b\x82\xcb\x2e\x97\x3e\x2e\x9b\x1b\xc6\xdd\xc8\xbd\
+\xe4\x4a\x74\xf5\x71\x5d\xe1\x7a\xd2\xf5\x9d\x9b\xb3\x9b\xc2\xed\
+\xa8\xdb\xaf\xee\x36\xee\x69\xee\x87\xdc\x9f\xcc\x34\x9f\x29\x9e\
+\x59\x33\x73\xd0\xc3\xc8\x43\xe0\x51\xe5\xd1\x3f\x0b\x9f\x95\x30\
+\x6b\xdf\xac\x7e\x4f\x43\x4f\x81\x67\xb5\xe7\x23\x2f\x63\x2f\x91\
+\x57\xad\xd7\xb0\xb7\xa5\x77\xaa\xf7\x61\xef\x17\x3e\xf6\x3e\x72\
+\x9f\xe3\x3e\xe3\x3c\x37\xde\x32\xde\x59\x5f\xcc\x37\xc0\xb7\xc8\
+\xb7\xcb\x4f\xc3\x6f\x9e\x5f\x85\xdf\x43\x7f\x23\xff\x64\xff\x7a\
+\xff\xd1\x00\xa7\x80\x25\x01\x67\x03\x89\x81\x41\x81\x5b\x02\xfb\
+\xf8\x7a\x7c\x21\xbf\x8e\x3f\x3a\xdb\x65\xf6\xb2\xd9\xed\x41\x8c\
+\xa0\xb9\x41\x15\x41\x8f\x82\xad\x82\xe5\xc1\xad\x21\x68\xc8\xec\
+\x90\xad\x21\xf7\xe7\x98\xce\x91\xce\x69\x0e\x85\x50\x7e\xe8\xd6\
+\xd0\x07\x61\xe6\x61\x8b\xc3\x7e\x0c\x27\x85\x87\x85\x57\x86\x3f\
+\x8e\x70\x88\x58\x1a\xd1\x31\x97\x35\x77\xd1\xdc\x43\x73\xdf\x44\
+\xfa\x44\x96\x44\xde\x9b\x67\x31\x4f\x39\xaf\x2d\x4a\x35\x2a\x3e\
+\xaa\x2e\x6a\x3c\xda\x37\xba\x34\xba\x3f\xc6\x2e\x66\x59\xcc\xd5\
+\x58\x9d\x58\x49\x6c\x4b\x1c\x39\x2e\x2a\xae\x36\x6e\x6c\xbe\xdf\
+\xfc\xed\xf3\x87\xe2\x9d\xe2\x0b\xe3\x7b\x17\x98\x2f\xc8\x5d\x70\
+\x79\xa1\xce\xc2\xf4\x85\xa7\x16\xa9\x2e\x12\x2c\x3a\x96\x40\x4c\
+\x88\x4e\x38\x94\xf0\x41\x10\x2a\xa8\x16\x8c\x25\xf2\x13\x77\x25\
+\x8e\x0a\x79\xc2\x1d\xc2\x67\x22\x2f\xd1\x36\xd1\x88\xd8\x43\x5c\
+\x2a\x1e\x4e\xf2\x48\x2a\x4d\x7a\x92\xec\x91\xbc\x35\x79\x24\xc5\
+\x33\xa5\x2c\xe5\xb9\x84\x27\xa9\x90\xbc\x4c\x0d\x4c\xdd\x9b\x3a\
+\x9e\x16\x9a\x76\x20\x6d\x32\x3d\x3a\xbd\x31\x83\x92\x91\x90\x71\
+\x42\xaa\x21\x4d\x93\xb6\x67\xea\x67\xe6\x66\x76\xcb\xac\x65\x85\
+\xb2\xfe\xc5\x6e\x8b\xb7\x2f\x1e\x95\x07\xc9\x6b\xb3\x90\xac\x05\
+\x59\x2d\x0a\xb6\x42\xa6\xe8\x54\x5a\x28\xd7\x2a\x07\xb2\x67\x65\
+\x57\x66\xbf\xcd\x89\xca\x39\x96\xab\x9e\x2b\xcd\xed\xcc\xb3\xca\
+\xdb\x90\x37\x9c\xef\x9f\xff\xed\x12\xc2\x12\xe1\x92\xb6\xa5\x86\
+\x4b\x57\x2d\x1d\x58\xe6\xbd\xac\x6a\x39\xb2\x3c\x71\x79\xdb\x0a\
+\xe3\x15\x05\x2b\x86\x56\x06\xac\x3c\xb8\x8a\xb6\x2a\x6d\xd5\x4f\
+\xab\xed\x57\x97\xae\x7e\xbd\x26\x7a\x4d\x6b\x81\x5e\xc1\xca\x82\
+\xc1\xb5\x01\x6b\xeb\x0b\x55\x0a\xe5\x85\x7d\xeb\xdc\xd7\xed\x5d\
+\x4f\x58\x2f\x59\xdf\xb5\x61\xfa\x86\x9d\x1b\x3e\x15\x89\x8a\xae\
+\x14\xdb\x17\x97\x15\x7f\xd8\x28\xdc\x78\xe5\x1b\x87\x6f\xca\xbf\
+\x99\xdc\x94\xb4\xa9\xab\xc4\xb9\x64\xcf\x66\xd2\x66\xe9\xe6\xde\
+\x2d\x9e\x5b\x0e\x96\xaa\x97\xe6\x97\x0e\x6e\x0d\xd9\xda\xb4\x0d\
+\xdf\x56\xb4\xed\xf5\xf6\x45\xdb\x2f\x97\xcd\x28\xdb\xbb\x83\xb6\
+\x43\xb9\xa3\xbf\x3c\xb8\xbc\x65\xa7\xc9\xce\xcd\x3b\x3f\x54\xa4\
+\x54\xf4\x54\xfa\x54\x36\xee\xd2\xdd\xb5\x61\xd7\xf8\x6e\xd1\xee\
+\x1b\x7b\xbc\xf6\x34\xec\xd5\xdb\x5b\xbc\xf7\xfd\x3e\xc9\xbe\xdb\
+\x55\x01\x55\x4d\xd5\x66\xd5\x65\xfb\x49\xfb\xb3\xf7\x3f\xae\x89\
+\xaa\xe9\xf8\x96\xfb\x6d\x5d\xad\x4e\x6d\x71\xed\xc7\x03\xd2\x03\
+\xfd\x07\x23\x0e\xb6\xd7\xb9\xd4\xd5\x1d\xd2\x3d\x54\x52\x8f\xd6\
+\x2b\xeb\x47\x0e\xc7\x1f\xbe\xfe\x9d\xef\x77\x2d\x0d\x36\x0d\x55\
+\x8d\x9c\xc6\xe2\x23\x70\x44\x79\xe4\xe9\xf7\x09\xdf\xf7\x1e\x0d\
+\x3a\xda\x76\x8c\x7b\xac\xe1\x07\xd3\x1f\x76\x1d\x67\x1d\x2f\x6a\
+\x42\x9a\xf2\x9a\x46\x9b\x53\x9a\xfb\x5b\x62\x5b\xba\x4f\xcc\x3e\
+\xd1\xd6\xea\xde\x7a\xfc\x47\xdb\x1f\x0f\x9c\x34\x3c\x59\x79\x4a\
+\xf3\x54\xc9\x69\xda\xe9\x82\xd3\x93\x67\xf2\xcf\x8c\x9d\x95\x9d\
+\x7d\x7e\x2e\xf9\xdc\x60\xdb\xa2\xb6\x7b\xe7\x63\xce\xdf\x6a\x0f\
+\x6f\xef\xba\x10\x74\xe1\xd2\x45\xff\x8b\xe7\x3b\xbc\x3b\xce\x5c\
+\xf2\xb8\x74\xf2\xb2\xdb\xe5\x13\x57\xb8\x57\x9a\xaf\x3a\x5f\x6d\
+\xea\x74\xea\x3c\xfe\x93\xd3\x4f\xc7\xbb\x9c\xbb\x9a\xae\xb9\x5c\
+\x6b\xb9\xee\x7a\xbd\xb5\x7b\x66\xf7\xe9\x1b\x9e\x37\xce\xdd\xf4\
+\xbd\x79\xf1\x16\xff\xd6\xd5\x9e\x39\x3d\xdd\xbd\xf3\x7a\x6f\xf7\
+\xc5\xf7\xf5\xdf\x16\xdd\x7e\x72\x27\xfd\xce\xcb\xbb\xd9\x77\x27\
+\xee\xad\xbc\x4f\xbc\x5f\xf4\x40\xed\x41\xd9\x43\xdd\x87\xd5\x3f\
+\x5b\xfe\xdc\xd8\xef\xdc\x7f\x6a\xc0\x77\xa0\xf3\xd1\xdc\x47\xf7\
+\x06\x85\x83\xcf\xfe\x91\xf5\x8f\x0f\x43\x05\x8f\x99\x8f\xcb\x86\
+\x0d\x86\xeb\x9e\x38\x3e\x39\x39\xe2\x3f\x72\xfd\xe9\xfc\xa7\x43\
+\xcf\x64\xcf\x26\x9e\x17\xfe\xa2\xfe\xcb\xae\x17\x16\x2f\x7e\xf8\
+\xd5\xeb\xd7\xce\xd1\x98\xd1\xa1\x97\xf2\x97\x93\xbf\x6d\x7c\xa5\
+\xfd\xea\xc0\xeb\x19\xaf\xdb\xc6\xc2\xc6\x1e\xbe\xc9\x78\x33\x31\
+\x5e\xf4\x56\xfb\xed\xc1\x77\xdc\x77\x1d\xef\xa3\xdf\x0f\x4f\xe4\
+\x7c\x20\x7f\x28\xff\x68\xf9\xb1\xf5\x53\xd0\xa7\xfb\x93\x19\x93\
+\x93\xff\x04\x03\x98\xf3\xfc\x63\x33\x2d\xdb\x00\x00\x00\x06\x62\
+\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\
+\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\
+\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xda\x05\x18\x13\x37\
+\x17\x2f\x88\x5d\x33\x00\x00\x0e\x7b\x49\x44\x41\x54\x68\xde\xd5\
+\x99\x79\x70\x5c\x45\x7e\xc7\x3f\xfd\xce\x99\xd1\xcc\xe8\xb2\xe4\
+\xe8\xc2\x17\x3e\x80\x75\xb8\x16\x5b\xb2\x1d\xae\x00\xc1\x36\x2c\
+\x60\x0a\xbc\x5e\x36\x45\x0a\x6d\x92\x2d\x9c\x65\x8d\x43\x70\xed\
+\x1f\x10\x20\x45\x41\xb9\xb6\x8c\xc3\x86\x85\x8d\x71\x51\x09\x04\
+\x96\xc3\x86\x70\x99\x25\xa9\xdd\x60\x5b\x16\xb6\x29\xec\xc5\xc6\
+\xf8\xbe\x90\x8d\x0f\x49\xd6\x8c\xe6\xd0\xcc\x7b\xaf\x3b\x7f\xbc\
+\xa7\xd1\x35\x63\x69\xb3\xd9\xaa\xa4\x4b\xaf\x34\xdd\xaf\xfb\xf7\
+\x7e\xdf\xfe\x9d\xfd\x6b\xa1\x94\xa2\xbf\x2d\xbc\x79\x3e\x42\x08\
+\x00\x06\x8f\x3b\x8e\x43\x32\x91\xe0\x57\xbf\xfe\x0d\x89\x64\x92\
+\xde\x64\xa2\xc1\x34\xcd\x5b\x32\x99\xcc\x2f\x6c\xdb\x26\x1e\x8f\
+\xb3\x78\xd1\x22\xca\xa2\x51\x0c\xc3\xa0\x58\x73\x5d\x97\xde\xde\
+\x5e\xde\xf9\xe0\x03\x7a\x93\x49\xf2\xf9\x3c\xba\xae\x2f\xcd\x64\
+\xb2\xaf\x44\xca\x22\x89\x78\x79\x39\x77\x2c\x58\x40\x2c\x1e\xc7\
+\x34\xcd\x11\xeb\x85\x10\x28\xa5\x10\x08\xde\xff\xe8\xc3\xc2\x78\
+\xf1\xaf\x15\x59\xac\x69\x1a\x86\x61\x60\x59\x16\x89\x73\xe7\x8e\
+\x4e\x99\x3a\xd5\xc8\x66\xb3\x7f\xfa\xde\xbb\xef\xde\x1d\x8f\xc7\
+\xd1\x0d\xa3\x00\xbe\x28\x0d\xc0\xd0\x75\x3e\xda\xb0\x81\xde\x64\
+\x92\x59\xb3\x66\xbd\xda\xd4\xd4\xb4\xc4\x71\x9c\x27\x75\x5d\xaf\
+\xd0\x75\x1d\xa1\x69\xe7\xa5\x51\xac\x69\x63\x02\x00\x18\x86\xc1\
+\xd6\x4f\xdb\xd9\xbe\xf5\xd3\x79\x1b\x3f\xf9\x2f\xe3\xd0\x81\x03\
+\x5c\xfa\xc7\x33\xef\x0a\x85\x42\x66\x28\x14\xc2\x18\x0d\x80\x10\
+\xe8\x86\x81\x6d\xdb\x84\xc3\x61\x0e\x1d\x38\xb0\xe4\xa3\x0d\x1b\
+\xb8\xe4\xe2\x8b\xca\x0f\xef\xdf\x7f\xcb\xa1\xfd\xfb\x31\x4d\xf3\
+\x0f\x04\x40\xd3\x30\x2d\x8b\xf6\xb6\x36\xda\xdb\xda\xa6\x5c\x38\
+\x75\x3a\x3b\x76\xee\xf8\xe7\x93\x27\x4f\xf3\xe5\xae\x5d\x17\xbf\
+\xb4\x66\xcd\xe8\x00\x02\x09\xb6\x6f\xda\xc4\x96\xcd\x9b\xeb\x2e\
+\x98\x34\x89\xb3\x67\xcf\xae\x39\x70\xf0\x10\x6d\x5b\xb6\xcc\x5a\
+\xfe\xe3\x1f\x63\x59\x16\x9a\xa6\xfd\xcf\x01\x08\x21\x06\x9e\xc1\
+\x93\x82\x8f\xaf\x7b\xe3\x0d\x6a\x6b\x6b\xab\xa7\x4c\xbd\x90\xf6\
+\xb6\x2d\xeb\x9f\xfd\xc7\x55\x58\xb6\x7d\x39\x42\xa0\x8f\x22\x7e\
+\x21\x04\x86\xae\xf3\x69\x7b\x3b\xa1\x50\xa8\x7e\xfa\xf4\xe9\x1c\
+\x3e\x74\xe8\xdd\x9f\xae\x5c\x49\x2a\x99\x9a\x14\x89\x44\x30\x74\
+\xbd\x28\x0d\x11\xac\x47\xc0\x50\xce\x86\x01\xd0\x03\x02\x9e\xeb\
+\x22\xa5\x87\x90\x1e\x42\xba\x96\x90\x6e\x48\x47\x59\xb6\xa1\x21\
+\xa4\xa7\x4f\x9b\x3a\x15\x0d\x54\xdb\xe6\xcd\x28\xd7\x19\x6f\x08\
+\x10\xca\xb3\x84\xf4\xc2\xa5\x1f\x37\xac\x21\x6d\x53\xd7\x10\xd2\
+\x0b\x97\x47\xa3\xd4\xd5\xfd\x51\xf4\xf3\xcf\xb6\x67\x95\xf4\xaa\
+\x4d\x4d\xa0\x29\x39\x88\x86\x1b\x12\xd2\x33\x91\x9e\x90\xd2\xc3\
+\x75\x5d\x0c\x5d\x47\xd3\x87\x4a\x68\x88\x11\x1f\x38\x74\x90\x73\
+\xdd\xdd\x96\xa1\x6b\xab\x66\x5c\xf2\xad\xbf\x94\x52\x66\x1d\xc7\
+\x41\x29\x85\x52\x8a\xbc\xa6\xf7\x6d\xd9\xbe\x3d\x7e\xd5\x9c\x9d\
+\x24\xd2\xa9\x97\x9b\xe7\xcc\x21\x9d\x4e\x3f\x7e\x2e\x9d\x7e\x30\
+\xa2\x54\x48\x8c\xae\xc0\x2a\x0f\xce\x97\xfb\xf7\xeb\x1b\x7e\xf5\
+\x11\xbd\xe9\xf4\x0b\xb5\x75\x75\x61\xbb\x2c\x3c\xff\x4c\x4f\xcf\
+\xc9\x50\x28\x14\xd6\x06\x74\x48\x09\x21\x30\x0c\x03\xc7\x71\x42\
+\x5f\x1f\x3b\xf6\x9c\x26\xb4\xbf\xad\xaf\x6f\x18\x2a\x9d\xc1\xee\
+\x32\x12\x0e\x5b\xd9\xbe\xbe\xfb\xee\xb9\xe7\x9e\xe7\x99\xfd\x1d\
+\xfe\xed\xac\x4d\x58\xe6\xd0\x50\x28\x04\xe8\x3a\x99\x53\xdf\xc0\
+\x37\x47\x28\xcb\x7c\xc3\xe1\x57\x57\xb3\xe4\x9d\x5d\xfc\x7a\xef\
+\x69\x22\x21\x9d\xe1\xec\xab\x22\xca\xa0\x84\x46\x5f\xa6\x17\x75\
+\x70\x0f\x24\x4e\xf1\xde\xdf\x2d\x66\x77\x78\x22\x3f\xf9\xf7\x9d\
+\x84\xa2\x26\x9a\x46\x41\x49\x24\x82\xac\x1e\x66\x79\xc5\x29\xe4\
+\xf1\x3d\xac\x5e\xbd\x7a\xc1\xc4\x09\x13\x37\x1c\x39\x7a\xa4\xb8\
+\x04\x84\xa6\xd9\xc0\x94\x58\x2c\x46\xae\x6e\x32\x98\xb5\x64\xc9\
+\x04\xac\x08\x30\x6d\x08\x9f\x64\xe6\xe1\xff\xe0\x81\xef\xde\xca\
+\x9e\x3d\x7b\xf8\x4d\xc2\x82\xe9\xb3\xc9\x28\xa7\x28\xcb\xb8\xd2\
+\xd7\xd4\xfe\x2f\xe9\x16\xe4\x72\x54\xed\xdb\xc4\x43\x37\x5f\x4c\
+\x4d\x4d\x0d\x6f\xb4\x1d\x86\x0b\x9b\xe9\xd3\x72\xa0\x0f\x42\x80\
+\x00\x23\x4a\xc4\xda\x81\x7b\xe6\x30\x02\x2e\x90\x9e\xab\x01\xb2\
+\x28\x00\x43\xd7\x05\x20\x7b\x7b\x7b\xe9\xeb\x3a\x0d\xf9\x10\xb8\
+\xe9\x01\xc6\xac\x08\xa4\xce\xa2\x9d\x3d\xc6\xa5\x97\x5e\xca\x73\
+\xcf\x3d\x87\xaa\xba\x09\xc2\x15\x90\x4f\x8f\x64\x5e\x4a\xea\xca\
+\x43\x54\xda\x06\x5f\x75\x67\x50\x12\x30\x2c\x70\x3d\x6a\x0e\x6d\
+\x61\xc6\x0f\x6e\x65\xf3\xe6\xcd\xec\xd8\xd6\xc5\xa5\xdf\xbb\x92\
+\x5c\x22\xcb\xde\x33\xc9\xc0\x32\x85\xff\x58\x8a\xee\x73\xa7\x10\
+\xbd\xbd\xf8\xfe\x45\x13\x25\x6d\x40\x29\x25\x00\xcd\x71\x1c\x9c\
+\x5c\xce\x27\xa0\x24\x78\x12\x3c\x80\x1c\xc4\xc7\xf1\xdb\x9a\xab\
+\xf8\x93\xef\xfd\x90\x5c\xcd\x64\x58\x58\x0f\xf9\x3e\x70\x3c\xd0\
+\x05\x04\xde\x02\x00\x4f\x51\xa6\x0b\x6a\x43\x06\x7b\xdc\x80\x86\
+\x70\x41\xc0\xbe\xe6\x7b\x69\x7d\x74\x25\xbd\x66\x14\x16\xfc\x88\
+\x0a\xe1\x90\xd0\x00\xcf\x03\x29\x40\x13\x20\x34\x10\x82\x6c\x36\
+\x8d\x91\xcf\x83\x10\x9a\x94\x9e\x46\xc0\xcd\x48\x00\xfd\xdf\xf5\
+\x3c\x3c\x29\x41\x0f\x54\x40\x87\x99\x75\x31\x4e\xe7\x24\x67\x4e\
+\xf5\x12\xbf\x7e\x11\x65\x35\x4b\xc9\x75\x9e\xa4\x5b\x2a\xea\xcb\
+\x6d\x2c\x0c\x8e\x9e\xee\xf5\x55\xc0\xd0\x83\x0d\x54\x24\x72\x1e\
+\xe5\xb6\xc7\x65\xe3\xcb\xc8\x38\x12\xc3\x30\x38\x99\xca\xd1\xd3\
+\x70\x11\xe7\x2e\xbe\x1a\x52\xe7\xc0\xb0\xd8\x73\x2a\x41\x5d\x04\
+\xae\xbf\xb0\x9a\xbc\x27\x71\x3d\xc5\xa7\xa7\xd2\xa0\xc0\x71\x5d\
+\x84\xe7\x81\x54\xc2\x93\x5e\x69\x2f\x44\x60\xd0\x52\x4a\xa4\x94\
+\xc1\x4e\x0a\x4e\x74\xbd\x07\x5d\xfe\x94\xe6\xc9\x77\xf2\xe9\xe1\
+\x75\x90\xf4\xfb\xad\x57\xfd\x39\x6b\xb7\xbf\x5c\x20\xd1\x50\xbe\
+\x10\xa4\xf2\x77\x50\xc2\x15\xe3\xa3\x68\x80\xae\x29\xba\xfa\x24\
+\xf5\x51\x0b\x89\xa0\x07\x01\xc9\xd3\xe0\xb8\x88\x48\x19\xdf\xbf\
+\xa8\x9a\x44\x36\xc7\x96\x93\xbd\x54\xd8\x3a\x51\x53\x27\x62\x69\
+\x64\x94\x42\x2a\x9f\x1f\x05\x78\xae\x2a\x1d\x07\xfa\x3d\x92\x52\
+\xca\x97\x86\x04\x2b\x6c\x60\xaf\x5d\xcb\x65\x13\x16\xd1\x90\xbd\
+\x86\xf2\x70\xc8\x67\x54\x9f\x45\x83\x39\x17\xdb\xf2\x13\xaf\x86\
+\xec\xd5\xd8\x6b\xd7\x52\x15\x0f\x81\x2c\xd8\x18\x5f\xf7\xf6\xe1\
+\xa2\x38\x93\x76\x09\xeb\xd0\xd3\xe7\x22\x51\x10\x8a\xfa\xea\x66\
+\xd9\x28\xc3\x66\x5f\x77\x9a\xbd\xdd\x59\x2e\x88\xdb\xe4\xa5\x62\
+\x5c\x99\x45\x26\xeb\x81\x10\x28\xa9\x90\x52\x22\x00\x35\x88\xf6\
+\xc8\x54\x42\x51\x90\x00\x4a\x81\x01\xf9\x64\x1f\xb9\xd6\x56\xbe\
+\x7a\x74\x21\x27\xc2\x9f\xd0\x99\xc9\x61\xaf\x5d\xcb\x09\x6f\x1b\
+\xdf\xf9\xf6\x34\xba\x32\xae\xdf\x0f\x6f\x24\xd7\xda\x4a\x77\x4f\
+\x16\x8c\x01\x4f\xd2\xeb\x48\x40\x21\x34\x41\xca\x91\x84\x0d\x41\
+\xa6\x2f\x0f\x76\x04\xe2\xe3\xa0\xbc\x06\xd0\xe8\x4e\xe7\x89\x5a\
+\x3a\x89\x3e\x8f\x90\xae\x73\x26\x9d\x0f\x34\xc2\xcf\x42\xfb\x25\
+\x80\x18\x83\x04\xe4\x60\x94\x21\x93\x86\xd8\x02\xc6\xfd\xf0\x75\
+\xec\xb5\x6b\xf9\x56\x55\x98\x5c\x6b\x2b\x0d\xce\xf5\xbc\xdb\xde\
+\x41\x6d\x58\xf3\xfb\xa1\x9b\x69\x08\xfd\x19\x58\x3a\x83\xfc\x20\
+\x55\x21\x83\xa8\xa1\x53\x69\xeb\xc4\x6d\x9d\x64\xde\xc3\x36\x02\
+\x4f\x68\x58\x81\xd1\x2b\x26\x94\xfb\x92\xad\x0c\x6b\x98\x9a\x20\
+\xa4\x8b\x82\x23\x1a\xcc\x93\x1a\xe6\xa9\x8b\xa6\xd3\x52\x4a\xa4\
+\x52\xe0\x28\x2c\x4b\xe7\xe4\xca\xdb\x90\x4d\x17\x90\x6b\x6d\xe5\
+\x93\x13\xbd\xfe\x8e\xb7\xfa\x73\xff\x5a\xde\x1b\x58\xbe\x84\xa8\
+\xe5\x4b\xb1\xff\x2b\x4a\x21\xa5\x22\xa4\xeb\x48\x60\xfb\x89\x24\
+\x5d\x5d\x59\x1f\xa4\x10\xe0\x7a\xfe\x5c\x01\xa6\x0e\xe5\xb6\xc1\
+\x9b\xbb\x4f\xfb\x3e\x46\x03\x74\xdd\xa7\xa1\x14\xca\xf3\x28\x16\
+\xe6\x8d\x11\x59\x53\xe0\x85\x32\x39\x0f\xc8\x93\x4f\xa5\x18\xf7\
+\x83\xd7\x7c\x17\xd9\x9b\x87\x13\x49\xc6\xfd\xc5\x2b\xfe\x17\x04\
+\xb0\xa5\x83\x06\xed\x06\xf0\x14\x24\x73\x03\x9b\x1f\x60\xd8\xb5\
+\xb7\x93\x5d\xb2\x73\x60\x37\x85\x80\x3e\x77\xe8\x3c\x05\xaf\x6c\
+\x3c\xee\xdb\x8e\xae\x11\x64\x6d\xa0\x69\xe0\xe5\xc9\x3a\x12\xcb\
+\x75\x91\xa3\x02\x08\x5a\x4f\x4f\x0f\xcb\xae\xac\xe7\xd9\xeb\xae\
+\x20\xd3\x95\xc6\x55\x9e\x4f\x3b\xc8\x15\xbc\x80\x3b\x21\x04\x86\
+\xd0\x10\x9a\xf0\x75\x31\xc8\x99\x86\x9a\x95\x0c\x78\x14\xe8\x42\
+\x43\x13\xa2\x90\x72\x28\x45\x21\xcf\xf2\x90\x81\x3e\x6b\x05\x6c\
+\x42\xd3\x29\x1b\x17\xe6\xe3\x7f\xfa\x84\xff\xdc\x9d\x2a\x9a\x5c\
+\x15\x05\x90\xcf\x64\x99\x5a\x19\xe6\x82\xa6\x5a\xfe\x2f\xb4\xaa\
+\x7f\x78\x82\x5c\x3a\x33\x76\x00\x9e\x94\xf4\xe5\xdd\x31\x11\xdf\
+\xbb\x6e\x1d\xc9\x64\x02\x4d\xd3\xf9\xf6\xbd\xf7\x8e\x3a\xbf\x7b\
+\xf3\x26\xbe\xfe\xfa\x6b\xe2\xb1\x18\x93\xfe\xe5\x5f\xe1\xcd\x37\
+\x47\x5d\x93\x73\x3c\xdc\x61\x01\xec\xfc\x00\x94\xc2\xf5\xe4\xa8\
+\x84\x53\xdb\xb7\x33\x6f\xe2\xc4\x42\xbf\xb3\xa6\xa6\xe4\xdc\x9f\
+\xdc\x7e\x3b\x2f\xbe\xf8\x22\x6a\xfa\x8c\x21\xe3\x33\x67\xce\x64\
+\xdd\xba\x75\x54\xcd\x9d\x5b\x72\xad\x44\x0d\xf2\x8c\x62\xf4\x23\
+\xa5\x94\x0a\x35\x86\xa3\xe9\x75\xd7\x5d\xe7\x7b\xda\x50\x88\xb2\
+\xb2\xb2\x92\xf3\xe6\x55\x57\xb3\x66\xcd\x1a\x74\x5d\x1f\x32\x6e\
+\xdb\x36\xbb\x76\xed\x62\xda\xb4\x69\x1c\xf9\xf0\xc3\xd2\x87\x08\
+\x05\xae\xeb\x15\xe5\xb8\x28\x00\x25\x3d\xdf\x2d\x96\x68\xc9\xad\
+\x5b\x69\xa9\xa8\xe0\xc8\x91\x23\xd4\xd6\xd6\x62\x9a\xe6\x08\xe6\
+\xfa\xdb\x63\x8b\x17\xb3\x77\xef\x5e\xe2\xf1\x38\x4a\x29\x16\x2d\
+\x5a\xc4\xfa\xf5\xeb\x79\xf8\xe1\x87\x11\x42\x10\x8b\xc5\x00\x58\
+\xb2\x64\x49\xe9\xe3\xa8\x02\x19\xf0\xa3\x8d\x45\x85\xfc\x54\x42\
+\x15\x25\xb6\xf6\xa1\x87\x58\x31\x79\x32\x00\xb1\x58\xac\x70\x86\
+\x2d\x75\x18\x7b\xeb\xad\xb7\x7c\xd0\xc9\x24\x77\xde\x79\x27\xbf\
+\xd8\xb8\x11\x36\x6d\xe2\x6a\x60\xc6\xcf\x7f\xce\x7d\xf7\xdd\x47\
+\x2c\x16\xe3\xe0\xc1\x83\xf4\x1c\x3c\x48\x45\x4b\x4b\xd1\x93\x7b\
+\x90\xc4\x15\xb2\x9c\xf3\x4b\xa0\x88\x3b\x04\xb8\x79\xc2\x04\x56\
+\xac\x58\x51\xe8\x4f\x9a\x34\x09\xc7\x71\x4a\x8b\x7e\xf9\x72\x0c\
+\xc3\x28\x14\xaa\x6e\xb9\xe5\x96\x21\xef\xaf\xbd\xf6\xda\x21\xe0\
+\xd3\xe9\x74\x51\x3a\x9e\x27\x07\xd2\x9c\xb1\x04\x32\xe9\x15\x07\
+\x90\xcd\x66\x0b\xbf\x5f\x7e\xf9\x65\x62\xb1\x18\xb7\xdf\x7e\x3b\
+\xd1\x68\xb4\xb8\xe8\x57\xad\x62\x27\x40\x45\x05\x47\x37\x6c\x60\
+\xe2\x13\x4f\x0c\x79\xdf\xd9\xd9\x39\xa4\x3f\xa4\x22\xd7\xd8\x08\
+\x1d\x1d\xbe\x5b\xcf\xe5\xfa\x23\xa3\x87\xf2\xd4\x98\x6c\xa0\x00\
+\xa0\xb1\xb1\x30\x5e\x59\x59\xc9\x8d\x37\xde\xc8\xf1\xe3\xc7\x99\
+\xbf\x7c\x39\x89\x44\xa2\xb8\xc4\x5a\x5a\xfc\x67\x50\x9b\x38\x7f\
+\x3e\xb4\xb7\x0f\x19\x7b\xea\xa9\xa7\x0a\x1b\x53\x5b\x5b\x4b\xed\
+\x35\xd7\x0c\xac\x9f\x33\x67\x48\x69\x33\x90\x92\x44\x0d\x15\x42\
+\x49\x1b\xe8\xf7\x5a\xea\xee\xbb\x50\x8d\x4d\x68\xab\x56\xf1\x4e\
+\x3a\x0d\xfb\xf6\xc1\x95\x57\x02\x90\xc9\x64\x86\xd4\x7d\x0a\x5e\
+\xec\xae\xbb\x50\x0d\x0d\xb0\x6c\x99\xff\xee\xc4\x09\xff\x7f\x47\
+\x07\x62\xd5\x2a\x00\x5e\x7f\xec\x31\xde\x5e\xba\x94\xf2\xf2\x72\
+\x12\x89\x04\xcb\x96\x2d\x83\x67\x9e\x81\x96\x16\xbc\x60\x9d\xbe\
+\x65\x0b\x74\x74\xe0\x7a\x12\xe1\x17\x2b\xa4\x94\x52\x9d\x07\x80\
+\x16\xc4\x01\x39\x90\x99\xce\x9e\x8d\xbe\xf8\xbb\x85\x9d\x91\xcb\
+\x97\x17\x18\xf1\xbc\x61\xc1\xa5\xa5\x05\xda\xdb\xd1\x96\x2f\x1f\
+\xa9\xc7\xaf\xbf\x5e\x18\x7f\xe3\xf1\xc7\x59\x7a\xff\xfd\x44\x22\
+\x11\x12\x89\x04\x33\x67\xce\xe4\xaf\x9e\x79\xc6\x9f\xd8\xde\x8e\
+\x3e\x48\x52\xf9\x9d\x3b\x71\x9f\x7f\xa1\xbf\x62\xe7\xca\x61\xaa\
+\x5d\x52\x02\xfd\x56\x53\x60\x3e\x20\xae\x0d\x22\xde\x1f\x5c\x0a\
+\x15\xed\x96\x16\xc4\x30\x35\x29\x14\xcd\x16\x2f\x1e\xf0\x62\xf7\
+\xdf\x4f\x38\x1c\x26\x93\xc9\x50\x51\x51\xc1\x07\x1f\x7c\x50\x90\
+\xea\x88\x48\xbf\x77\x2f\x21\x3b\x84\xf0\x19\xf7\xa4\x27\xc7\x12\
+\xc8\x64\x51\x23\x2e\x0e\x74\x40\x85\xe4\xec\xd9\xc5\x27\x06\x76\
+\xf4\xd3\xd6\x56\x56\xac\x58\x41\x34\x1a\x25\x9b\xcd\x52\x5f\x5f\
+\xcf\xd6\xad\x5b\x89\x94\x60\x1e\xe0\xe8\xd1\xa3\xd4\xd6\x8e\xc7\
+\xf5\x37\xcb\x71\x87\x49\x5d\x2b\xd6\xf1\x8d\x52\xfe\x4e\x00\x0a\
+\xbb\x7c\xf7\xdd\x23\x27\x76\x74\xf0\xfc\x03\x0f\xf0\xf4\xd3\x4f\
+\x13\x8d\x46\x49\xa5\x52\xd4\xd7\xd7\xd3\xd6\xd6\x46\xf5\xbc\x79\
+\x25\xe9\xf7\x6e\xdb\x46\x26\x9d\xa1\xba\xa6\xa6\x90\xe9\x3b\x8e\
+\x3b\x86\xea\x74\x89\x38\x30\x1a\x00\x00\xd9\xdc\x3c\x62\xec\xb5\
+\x47\x1f\xe5\x91\x47\x1e\x21\x1e\x8f\x93\xcb\xe5\xb8\xfc\xf2\xcb\
+\xf9\xe2\x8e\x3b\x88\xcd\x9a\x55\x32\x7e\x00\xec\xfa\xe2\xb7\xc4\
+\xe2\xe5\x54\x54\x54\xf4\x33\x2a\x1d\x37\x3f\x06\x1b\x28\xc1\x5c\
+\x31\x55\x1b\x11\x34\x07\x19\xb0\xf1\xb3\x9f\xf1\x65\x53\x13\x3f\
+\x9a\x3b\x97\x48\x24\x82\xae\xeb\xd4\xd7\xd7\xb3\x7e\xfd\x7a\x28\
+\xc1\x3c\x8d\x8d\xbe\xa7\x6a\x6c\xe4\xab\x2f\xbf\xa2\x79\xce\x5c\
+\xc2\xe1\x32\x02\xe3\xf5\xc6\x7c\x3f\xa0\x94\x82\xa6\xc6\x31\x4b\
+\xa0\x18\xe0\xc8\xa2\x45\x3c\xf8\xe0\x83\x00\x44\xa3\x51\x4c\xd3\
+\xc4\xf3\x3c\x6e\xb8\xe1\x06\x2e\x74\x1c\x9a\x52\x29\x66\x28\xc5\
+\xc2\xc9\x93\x59\x7a\xfd\xf5\x05\x75\x03\xd8\xb1\x72\x25\x86\x69\
+\x52\x57\x57\x47\x38\x1c\xea\xa7\xaf\x7e\x37\x00\x2d\x73\xce\x0b\
+\xa0\xdf\x8d\xe6\xf3\x79\x5c\x77\xe4\xf9\xa1\xbd\xbd\x9d\x6d\xdb\
+\xb6\x51\x56\x56\x86\xeb\xba\xb8\xae\x4b\x2a\x95\xe2\xd8\xb1\x63\
+\xa4\x52\x29\xc6\x8f\x1f\xcf\xac\x59\xb3\x68\x69\x69\x61\xde\x30\
+\x5b\xf8\x62\xc7\x4e\x26\x4c\x9c\x44\x79\x65\x05\x86\x65\x95\xd4\
+\x88\x12\x36\x00\x52\xa9\xa2\xfa\x3c\xb8\xf5\xe7\x2e\xf9\x7c\x7e\
+\x64\x1e\xd3\xd8\xc8\xc7\x1f\x7f\x5c\x98\x97\x48\x24\xe8\xe9\xe9\
+\x21\x91\x48\x50\x5e\x5e\x4e\x73\x73\x33\x0b\x16\x2c\xe0\xa6\x9b\
+\x6e\x62\xfe\xfc\xf9\xdc\x7a\xeb\xad\x85\xa5\xfb\xde\x5e\x8f\x61\
+\x99\x34\x34\x34\x11\x8d\xc4\x30\x0d\xbd\xa4\x04\x8c\xe2\x77\x62\
+\x0a\x25\x65\xd1\x80\x34\xb8\x7d\xbf\xaf\x8f\x59\xef\xbf\x8f\x61\
+\x18\xbe\x3d\x0c\x3e\x91\x75\x74\xb0\x70\xe1\x42\x9a\x9b\x9b\xb1\
+\x6d\xbb\x70\xd3\x63\xdb\x36\x15\x15\x15\x44\xa3\x51\xa2\xbf\xfc\
+\x25\xe2\xc9\x27\x87\xd0\xcc\x7c\xf6\x19\xdb\xde\x5a\xc7\xb4\xe9\
+\x17\x51\x5d\x5d\x85\x1d\xb2\xfd\x5b\x99\x12\x4e\xd1\x28\xae\xd3\
+\x63\xbb\xa7\xaa\x7a\xe9\x25\x9a\x5f\x7a\xa9\xe4\xfb\x69\xb7\xdd\
+\x36\x32\x1e\x04\x3a\x5e\xac\x6d\x7c\xe1\x79\x0e\xbf\xf1\x26\x93\
+\x27\x4f\xa1\xa9\xa9\x89\x68\x2c\x86\xae\x07\x31\xa6\x84\x5b\x1f\
+\x56\xdc\xf5\x43\xb0\x7f\xad\xaa\xff\xef\x9f\xce\x3b\x3a\xb0\x77\
+\xee\x24\x77\xd9\x65\x43\x86\xf7\xbd\xfd\x36\x6d\x9b\xdb\x08\x1d\
+\x3f\xc1\x8c\x19\x97\xd0\xd4\xd4\x48\x65\x45\x15\x96\x65\x8d\xea\
+\x15\x87\x02\xf0\x7d\x95\x2b\x34\x88\x44\xca\xfe\x20\x15\x86\xc1\
+\xcc\x7f\xf1\xea\x6b\xec\xde\xbd\x9b\x7c\xdb\x56\x26\x4f\x99\x4a\
+\x43\x63\x13\x55\xd5\x55\xc4\xa2\x51\x42\x76\xa8\x70\x69\x2e\x84\
+\x20\xe7\xe4\x47\x07\xe0\x49\xcf\x03\x9c\x70\x38\x4c\xcd\xd9\x33\
+\x74\xac\x7e\x96\x8e\x78\x39\x8e\xe3\x8c\xf0\xf9\xa2\xdf\x9e\x04\
+\x45\x0f\xdb\xfd\x2a\x69\xdb\x21\x74\x5d\xc3\xf3\x24\x8e\x93\xc7\
+\x75\x1d\x3c\xd7\x23\xd7\xd7\x47\xa8\xb3\x9b\x2b\xae\x9a\x4d\x7d\
+\x5d\x03\x95\xd5\x55\xc4\x63\x65\x14\xbb\x65\xad\xa8\xac\x1c\x51\
+\xd4\x2d\x0a\x40\x4a\xe5\x01\x72\xd2\xc4\x89\xac\xdb\xf3\x15\xa7\
+\x4e\x7d\x43\x2a\x9d\xf6\x01\x28\x09\xd2\x3f\xcf\x29\xe9\x27\x7b\
+\x7e\xce\x14\x94\xaf\x94\xc4\xaf\x04\xa8\xe0\x6f\xa0\xd2\x2d\x01\
+\x4d\xf8\x85\x2d\xd3\x32\x09\x87\xc3\x84\xc3\x11\xca\xca\x22\x84\
+\xc2\x61\x42\xb6\x8d\x61\x9a\xc1\x5d\xb3\xee\xdf\x93\x05\x09\xa2\
+\x65\x59\x48\xa9\x98\x31\x63\x06\x07\x8e\x1c\x16\xe7\x07\xe0\x1b\
+\x8a\x3a\xd3\xd9\xc9\xb1\xc3\x07\xf9\xfc\xf3\xcf\xd1\x0d\x03\xdd\
+\xd0\xb1\x4c\x13\xd3\x30\x31\xcd\x81\xc7\x30\x4d\x0c\x2b\xf8\x6d\
+\x18\x18\xa6\x8e\xae\x1b\x18\xba\x81\x1e\x6c\xa5\x44\x21\x3d\x89\
+\x27\x3d\xa4\xeb\x5f\x97\x3a\xae\x4b\x2a\xd9\xc3\xb9\xae\xb3\x38\
+\xae\x8b\x93\xcb\x91\x77\x1c\x9c\x7c\x9e\x5c\x2e\x87\xe3\xe4\x71\
+\x5c\xbf\x9c\xee\xba\x2e\xf3\xe6\xcd\xa5\xeb\xdc\xb9\xa2\xde\x45\
+\x0c\xcb\x28\x43\xc0\x9d\xc0\xdf\xdb\xb6\x3d\x15\xe5\x97\x57\x84\
+\xd0\xfc\xb2\xa0\x26\xd0\x74\x0d\xa1\xe9\x68\x9a\xe6\x97\x1a\x35\
+\x0d\x5d\x0b\x4a\x86\xc1\x65\xb7\x26\xfc\xab\x26\x31\xd8\x00\xfb\
+\x8b\xb4\x4a\xe1\x49\x0f\x25\x15\x4a\xf6\xff\x0e\x00\x7a\xb2\x70\
+\xb9\xa2\x0a\x1a\x2a\x40\x83\x5c\x2e\xf7\x19\xf0\x37\xc0\xd6\x21\
+\x3c\x0f\x4f\x89\x81\x1a\x20\x1e\x48\x47\x0d\x0a\x1e\xe2\xf7\xb0\
+\x5d\x75\x9e\xbe\x1a\xc3\x7a\x03\xc8\x00\xdd\x40\xba\x24\x80\xff\
+\x8f\xed\xbf\x01\x8a\x65\xb4\x14\x90\x53\x00\x77\x00\x00\x00\x00\
+\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x09\xc1\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\
+\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd6\x07\x0c\x16\x01\x39\xae\xf0\x50\xb1\x00\x00\x09\x4e\x49\x44\
+\x41\x54\x58\xc3\xc5\x56\x7b\x70\x54\xd5\x19\xff\x9d\x7b\xee\xdd\
+\xbb\x9b\xcd\x66\xf3\xce\x6e\x5e\x64\x13\xc3\x2b\x90\x90\xb7\x06\
+\x30\x09\xa0\x14\xa6\x3e\x21\x8a\xe3\xa3\xad\xa2\xce\x94\x29\x3a\
+\x5a\x94\xaa\x58\x99\x96\x29\xe2\x54\x9d\x8a\x8f\xa2\x9d\xe9\xa8\
+\xb5\x20\xca\x63\x10\x10\x23\x46\x34\x04\x42\x48\x10\x50\x30\x4d\
+\xb2\x9b\x6c\xb2\xaf\x64\xb3\x49\x36\xbb\x7b\x77\xf7\xde\xdd\xd3\
+\x3f\xdc\xc4\x34\x15\xc4\x8e\x4e\xbf\x99\x6f\xee\x9d\x73\xbe\x7b\
+\x7e\xbf\xf3\x9d\xef\xfb\xdd\x03\xfc\x9f\x8d\x4c\x1f\x58\xb3\xa6\
+\x21\x23\x0a\xe6\x34\xe5\x99\x30\x23\xcf\xd4\xd6\xd4\x74\xf4\xee\
+\xfa\xfa\xa5\x6f\xf5\xf5\x5a\x2a\x2d\xbd\x16\x70\x20\x59\x3b\x77\
+\xee\xb6\xff\x64\x8c\x1a\x6e\x5f\xc5\xce\x9c\xe9\x60\x56\x6b\x2f\
+\xdb\xbb\xef\x7d\xf9\xc4\xc9\x16\x65\xef\xbe\xf7\x65\xab\xb5\x97\
+\x9d\x39\xd3\xc1\x1a\x6e\x5f\xc5\x7e\x4c\x3c\x7e\xfa\x40\xbe\x29\
+\x9f\x25\x27\x27\x93\xf4\x74\x03\x6e\xf8\xf9\x8d\xbc\x2c\x2b\x10\
+\x2a\x2a\xa1\x28\x11\x30\xf6\xcd\xfc\x8f\x49\x80\x9b\x3e\x30\x23\
+\x6f\x46\x47\x7b\x7b\x9b\x4c\x29\xc5\x5b\x6f\xbf\x29\xdd\xff\xe0\
+\x7d\xc1\xb7\xde\x7e\x53\xa2\x94\xa2\xbd\xbd\x4d\x9e\x91\x37\xa3\
+\xe3\x27\x25\xd0\xd4\xd4\xb4\x36\x23\xc3\x28\x28\x8a\x82\x43\x87\
+\x0f\x69\x42\x92\x7c\xdd\xa1\xc3\x87\x34\x8a\xa2\x20\x23\xc3\x28\
+\x34\x35\x35\xad\x9b\x5b\x5a\x3a\xa3\xa4\xb2\xfa\xaf\x55\x0b\x17\
+\xf7\x57\xd4\x2c\x66\xc5\xe5\xe5\xb7\xfd\xc7\x31\x36\x34\xd0\x92\
+\xf2\xab\xcb\xff\x27\x02\xf5\xf5\xf5\x6f\xb8\x5c\x0e\x99\xe7\x79\
+\xac\x5c\xb1\x52\x12\x35\x42\xe3\xca\x15\x2b\x25\x9e\xe7\xe1\x72\
+\x39\xe4\x6b\xaf\xad\x7d\x55\xa5\x52\xf7\xde\xfb\xcb\x7b\x1e\xd8\
+\xf1\xea\xf6\xec\x2d\x9b\x9f\x86\x4a\xa5\x7e\x6c\xea\x1a\x5d\x7d\
+\xd6\x9d\x82\xc8\x9f\xae\x5a\xb4\xd8\x55\x54\x59\xb9\xf4\x07\xa5\
+\xe4\xf1\x8d\x1b\xa2\x7d\x7d\xbd\x2c\x18\x0c\x32\x45\x91\x99\x24\
+\x49\x4c\x51\x64\x16\x0c\x06\x59\x5f\x5f\x2f\x7b\x7c\xe3\x86\x68\
+\x4d\x5d\x5d\xc4\x33\xe2\x61\x36\xfb\x00\x73\x3a\x9d\xac\xa6\x6e\
+\x49\x64\x62\x33\xf3\x2a\x2a\xea\x96\xfc\x6c\x05\x1b\x1c\x1a\x64\
+\xad\x6d\xa7\xd8\x92\xe5\x2b\x58\x49\x65\xd5\x0b\x57\x5c\x84\x66\
+\x8b\x99\x78\x3c\x1e\x10\x02\xb4\x77\xb4\x2b\x06\x83\x91\x38\x9d\
+\x0e\x56\x5e\x56\xce\x7b\x3c\x1e\x98\x2d\x66\x02\xc0\x63\xee\x31\
+\xa7\x28\xd1\x30\xb4\x71\x3a\x2c\xad\xaf\xe3\x14\x45\x56\x28\xa5\
+\xa1\x48\x24\xa2\xfa\xdd\x86\x47\x31\x3c\x3c\x8c\x9c\xec\x6c\x3c\
+\xfc\x9b\x5f\xe3\x99\x2d\x5b\xcb\x7f\x88\x0e\xcc\x88\x82\xf5\x4e\
+\xe8\xc0\x3f\x77\xef\xfe\x88\xa7\xfc\xaf\x52\x12\x75\x99\x1c\xc7\
+\xc1\xe7\x93\xd6\xbb\x86\x47\xb7\x3d\xf6\xc8\x43\xea\xb9\x73\x66\
+\x43\xaf\xd7\x43\x10\x04\xf0\x94\x87\x14\x94\xe0\x74\x39\x01\x06\
+\x0c\xba\x5d\x28\xcc\x9f\x85\xf5\x8f\xfc\x16\x4e\xf7\x60\xde\xd9\
+\xd6\xd6\xbe\x2b\x22\x30\xd5\xe6\x97\x55\x55\x25\xe8\xe3\x5b\x6f\
+\xbd\xe9\x46\xec\xdd\xbf\x9f\x29\x4a\xa4\x13\x20\x33\x5f\xfc\xf3\
+\x36\x6e\xde\xdc\xb9\x70\x0f\xbb\xd1\x3f\x60\x85\x2c\x87\x21\x2b\
+\x32\xb4\x5a\x2d\xd2\x53\x33\xa0\xd7\xeb\x61\xb3\xdb\xd0\xd3\x63\
+\xc1\xd6\xe7\x5e\xe8\x6c\x3f\xd9\x32\xfb\x8a\x33\x30\xd5\x2a\x6b\
+\x16\xf5\x3f\xf5\xe4\xc6\xec\x25\xb5\xb5\x18\x1a\x1a\xc2\xc1\x0f\
+\x3f\xc4\xd2\xba\x5a\x18\x0c\x46\xb4\x9e\x6a\x81\xcf\xef\x03\xc7\
+\x71\x31\x27\x93\xef\xa2\x28\xa2\x20\xbf\x10\x01\x7f\x00\xeb\xd6\
+\x3f\xc2\x46\x47\x47\xae\xf9\xe2\xf4\xe9\x56\x00\x28\x2e\x2e\xd6\
+\x9e\x3b\x77\xce\xff\xbd\x04\x4a\x4a\x6a\x8a\x55\x5a\xee\x6c\xe3\
+\xe1\x0f\x30\xec\x19\x82\xdd\x61\x47\xa2\x2e\x09\x79\x26\x13\x3e\
+\x3d\x76\x14\xa1\x70\x68\x0a\xf8\x7f\x93\xe0\x79\x1e\x39\x59\xb9\
+\xf0\xf9\xfc\x78\x60\xdd\x43\xe1\x28\x98\x93\xe7\xf8\xcc\x70\x38\
+\xc4\x2b\xd1\x48\xdd\xf9\xb6\xb6\x63\x00\x40\x2f\x45\xc0\x64\xca\
+\xf2\x32\x82\x45\x4d\xc7\x3e\xcb\xab\xaa\xac\x00\x4f\x79\xcc\x99\
+\x3d\x07\xcd\x2d\xc7\x20\x05\x25\x50\x9e\x82\xa7\x3c\x74\x3a\x1d\
+\x92\x93\x53\x90\x94\x98\x0c\x4d\x5c\x1c\x22\x91\x08\x08\x07\x70\
+\x84\x43\x20\x18\x40\x46\xba\x01\x59\x59\x46\xba\xac\xb6\x4e\x7f\
+\xd7\x1d\x6b\xb8\xfc\xfc\x7c\x9c\x38\xd1\x9a\xe4\xb2\xdb\x76\x5e\
+\x96\xc0\xc0\xc0\x80\x62\xef\xef\xff\xbb\xa0\xd6\x5e\x68\x3c\xfa\
+\xc9\xea\x15\xcb\xaf\x23\x94\x52\xf4\x59\x2d\xa0\x94\x82\xe7\x79\
+\xa4\xa5\xa6\x83\x01\xd8\xf5\xee\x1e\xf4\x59\xad\x48\x4d\x4d\xc1\
+\xcc\xc2\x59\x90\x82\x01\x00\x0c\x1c\xc7\x81\xf2\x14\x09\x09\x09\
+\x18\x1e\x76\x83\xa7\x14\x39\xd9\xd9\xf8\xe8\xe3\x8f\x8d\x03\xd6\
+\xbe\xad\xdf\x29\x44\xd3\xed\x7c\xfb\xa9\xdd\x8c\xb1\xb0\xc1\x60\
+\x80\xc3\x69\x03\xa5\x14\x94\x52\x24\x26\x26\xc1\x1f\x90\xb0\x61\
+\xe3\x26\xa5\xe9\x58\xf3\xba\x3d\xfb\x0f\xdc\xfb\xd4\xa6\x3f\x4a\
+\x03\x76\x1b\x72\xb2\x72\x27\xe3\x82\xa1\x20\x12\x74\xf1\x88\xd3\
+\xc4\x41\x1b\xa7\x85\xcd\xee\x40\x58\x96\xf5\x75\x75\x75\xfc\x77\
+\xea\xc0\x25\x4c\xa5\x8d\xd3\xc2\x3b\xee\x05\xa5\x14\x1c\xc7\x21\
+\x51\x9f\x84\xfd\x07\x0e\x42\x92\xc2\xeb\xce\x9d\x3e\xb5\x03\x00\
+\x4a\xca\xaa\x6c\x9b\xff\xb0\xf5\xc8\xfe\xdd\xbb\x60\x73\xf4\x83\
+\xe3\x38\x10\x02\x08\x2a\x01\xed\x67\xce\xa2\xf1\xe3\x4f\x58\x30\
+\x24\x5d\x08\xcb\xd1\x17\x3e\x3d\xf9\x69\xe4\xb2\x04\x8a\xcb\xaa\
+\x6a\x38\x8a\xa7\xd4\x6a\xcd\xb2\xb4\xd4\x14\x12\x0a\x87\x20\xaa\
+\x54\x90\xe5\x30\x38\x8e\x83\x5a\x54\x63\xc8\xed\x06\x89\x30\x69\
+\xf2\x23\x81\x04\x12\xf5\x7a\x08\x82\x0a\x82\xa0\x02\xc0\x40\x08\
+\x01\xe5\x78\x7c\x72\xec\x73\x38\x07\xac\x9a\xee\xee\xee\xd0\x65\
+\x95\x70\x72\x2d\x15\x7f\xbc\x61\xf5\xad\xa8\x5d\xbc\x10\x94\xe3\
+\x10\x0a\x85\xa0\x12\x45\xd0\xa0\x04\x8e\xe3\xa0\x44\x14\xdc\x75\
+\xc7\xed\x38\xde\x72\xea\xf5\xf9\x15\x15\x0e\x12\xa5\x21\x81\x17\
+\x0e\xdc\x73\xe7\x1a\x04\x24\x3f\x38\x42\x40\x38\x0e\x02\x2f\x40\
+\x56\x64\x84\x43\xe1\xc8\x74\xf0\xcb\xd6\x00\xcf\x53\x67\x65\x79\
+\x19\xe2\xb5\x71\x70\x0d\x3a\x31\x3a\x3a\x82\xe4\xa4\x14\x50\x9e\
+\x82\xf2\x14\xa3\x63\x1e\x14\x14\x5c\x85\xe7\xb7\x6d\x11\x2b\x4a\
+\x4b\x1b\xd3\xd2\x93\x3f\x7b\xfe\xd9\x2d\xfa\xeb\x97\x5d\x07\xe7\
+\xa0\xed\x9b\x38\x4a\x21\xa8\x54\x18\x1a\x1a\x82\x1c\x91\xb9\x92\
+\x8a\x8a\x9b\xa6\xe3\x5c\xaa\x0b\x48\x6a\x9a\x61\x9e\x5e\x9f\xb0\
+\x60\x41\x49\x09\x82\xc1\x10\xac\xfd\xfd\x98\x3d\x73\x36\xbc\x3e\
+\xef\x64\x90\xcf\xef\xc3\xcc\xc2\x59\xb8\x6d\xd5\x6a\xdc\x73\xd7\
+\x9d\x48\x4d\x49\xc5\x80\xd3\x8a\x60\x28\x08\x42\x08\x08\x08\x44\
+\x51\x0d\x6b\x9f\x15\x25\xf3\xe7\x91\x2e\xb3\x65\x4d\x62\x52\xea\
+\x42\xad\x46\xfd\xae\xc7\xe3\x89\x5e\x4a\x88\x08\x00\x52\x58\x5a\
+\x3a\x4b\xaf\xd1\x5e\x10\x78\x1e\x8c\x30\x49\x0e\x2b\xc2\x2b\x7f\
+\x79\x9e\xcf\xc8\x48\x87\xd3\x65\x03\x08\x26\x45\x67\xa2\x30\x09\
+\x21\x20\xe4\xdb\x25\x35\xea\x38\xb8\x87\xdc\x38\x79\xe2\x24\xb2\
+\xb2\x73\x90\x69\xcc\xc2\xc6\xa7\x37\x63\x74\x68\x64\xf5\xf9\xb3\
+\x6d\x7b\x01\x30\x32\xe5\x27\x94\x14\x61\x51\x4f\xbe\x29\x1f\x26\
+\x93\xe9\xf3\x0f\x0e\x1e\xdc\x54\x7d\xf5\xd5\x2f\x8f\x8f\x8d\x15\
+\x59\x7a\x2d\x18\x1c\x74\xff\x3e\x4a\x84\x67\x5e\x7b\xf9\x45\xa2\
+\x4b\xd0\xc1\xed\x76\x81\xc5\x7a\x7d\xc2\xbf\xdd\x01\x81\x28\x8a\
+\xf0\xfb\x03\x38\x7c\xe8\x23\xcc\x9d\x33\x07\x3a\x9d\x0e\xfe\x40\
+\x00\x9b\xb7\xfc\xc9\x7f\xba\xa5\x25\x15\x40\x04\x40\x84\x4e\x05\
+\xbf\xff\x81\xb5\x28\x2d\x5f\x80\xa0\x24\x65\x5d\x7f\xfd\xf2\x5f\
+\x88\x2a\x3e\xa5\x66\x71\x0d\x57\x54\x54\x84\xce\xaf\xbf\xae\x77\
+\xb8\xdc\x16\xcf\xb0\x27\xa9\xa0\xc0\x04\x83\x21\x13\x3c\xcf\x03\
+\x84\x4c\x56\x3b\xc7\x51\xa8\x04\x15\x44\x51\x0d\x8f\x67\x14\x9b\
+\x9e\xde\x82\x96\xd6\x36\x73\x5b\x7b\x47\xa2\xa8\x56\x93\xf7\xf6\
+\xec\xc3\xa0\xcb\xbd\x7e\x78\xd0\x75\x11\x00\x03\xc0\x78\x00\x60\
+\x1c\x53\xe5\xe7\xe6\x33\xbd\x3e\x81\x14\x16\xcc\x42\xf1\xdc\x05\
+\xbc\x2f\xe0\x43\x75\x65\x35\xa4\x90\x84\xae\xee\xaf\x11\x8d\x46\
+\x99\x4a\x54\x99\x6a\xaf\x5d\x84\x2f\xcf\x9d\x83\xc3\xee\x40\x5a\
+\x7a\x1a\xd2\x52\x53\x21\xc6\xab\x20\xcb\x0a\x42\xe1\x20\xdc\x43\
+\xc3\xf8\x57\x97\x19\x2f\xbd\xb2\x23\x3a\xe8\xb4\x3f\xd1\x6f\xb1\
+\x34\xeb\x92\x92\x74\xe3\x63\xde\x27\x19\x21\xe3\x9d\x5f\x9e\x3d\
+\x0c\x40\x05\x20\x0a\x20\xca\x03\xc0\xae\x77\xde\x73\xbd\xf2\xda\
+\xf6\x8e\x9e\x6e\x73\xf1\xfc\xa2\x05\xc2\x8e\x37\x5e\x0b\xb6\xb6\
+\x9e\x22\xd5\xd5\x55\xec\xfe\xb5\x0f\xaa\xbb\xbb\x7a\x14\xbb\x6b\
+\x78\x64\x41\x71\x49\x5a\x76\x76\x16\xc0\xa2\x08\x05\xc3\x78\xf8\
+\xd1\xc7\xc1\xa2\x2c\x22\x88\x6a\x9a\x6d\x34\xe0\xe6\x1b\x56\xc2\
+\xe1\xb2\x23\x51\x9f\x0c\x8e\x40\xea\xb7\x58\xce\x02\xd0\x8c\x8f\
+\x8c\x48\xe7\x47\xda\x37\x00\x90\x62\xe0\x72\xcc\x39\x2e\x56\x74\
+\xdc\x91\x23\x47\x1e\x32\x1a\x32\x05\x7f\xc0\x8f\xe6\xe6\xe3\x6a\
+\x6b\xef\xc0\xdd\xcd\xcd\xc7\xd5\xfe\x80\x1f\x99\xc6\x2c\x5e\x91\
+\x15\xf7\xc5\x8b\x17\xd1\xd9\xd9\x05\xa3\x31\x0b\xff\xd8\xb5\x1b\
+\x76\xbb\xfd\xd5\xd6\xe6\xcf\x1b\x9a\x8f\x36\xae\xea\x31\xf7\x46\
+\x18\x00\x43\x86\x11\xc6\x0c\x03\x40\xb8\xb8\x2b\xbd\x94\x52\x00\
+\xe2\xb2\x65\xcb\xb6\x3b\x9c\x76\x59\x1b\xa7\xc5\xa2\x45\x0b\x83\
+\xb9\x79\xd9\x6f\x2f\x5c\x58\x13\xd2\xc6\x69\x61\x77\xd8\x94\x35\
+\x0d\xb7\xd0\x1e\xb3\xf9\x89\x17\x5f\x7a\x79\xfc\xd1\x8d\x4f\xc2\
+\x62\xe9\x35\x5b\xbb\xbb\xf7\xc7\x76\x25\xf9\x03\xfe\x2f\x3b\xbb\
+\xba\x21\x8a\x6a\x9c\xff\xea\x2b\x00\x20\xc9\x69\x69\x29\x13\xf3\
+\x31\x0f\x01\x08\xc7\x76\x1f\x01\x10\x25\x00\x34\x33\x67\x15\x1a\
+\x6f\xb9\xe5\xe6\xee\x5b\x57\xdf\x4c\x0a\xaf\x9a\x0d\x8d\xa8\x81\
+\x2f\xe0\x43\x7c\x5c\xfc\x64\x0d\xec\x79\x6f\x1f\x7b\x76\xeb\x73\
+\xb5\x00\x42\x39\x79\x85\x55\x63\x1e\xd7\x05\xaf\xd7\xeb\x9f\x68\
+\xe5\xcc\xdc\xdc\xf2\xb4\x74\xc3\x76\x41\x14\xa4\x40\x20\xf8\x85\
+\xcf\x3b\xfa\x8e\xb5\xa7\xa7\x19\x80\x32\x25\xe5\xe1\x18\x89\x09\
+\x22\x0a\x0f\x40\x18\xf7\x8e\xab\xcd\x16\x33\x19\x1b\xf3\xa2\xab\
+\xa7\x13\x3d\x5d\x3d\x51\xa3\x31\x0b\x0e\x87\x0d\x05\x85\x05\xdc\
+\xd8\x98\x77\xe2\x32\x1a\x06\xe0\xeb\xef\xed\x3a\x12\xab\xe2\x49\
+\x35\xb5\x5b\xad\x8d\x6e\xa7\x73\x5e\x38\x1c\x0e\xc5\xe6\xa2\x13\
+\xad\x16\x73\x65\x9a\x4f\x66\x20\x01\x40\x52\x6e\x6e\x4e\x51\xf5\
+\x35\x55\x07\x01\xa0\xac\xac\xac\xef\x8d\xd7\xff\x76\xe0\xbe\xb5\
+\xf7\xde\x38\x36\x3a\x96\x6b\xb6\x98\x71\xe8\x83\xc3\xcb\xfd\xfe\
+\x80\x0d\x80\x37\x46\x24\x32\x21\x5a\xd3\x8e\x75\x02\x7c\xe2\x39\
+\xdd\x23\x53\x63\x08\x00\x0d\x00\x2d\x00\x3d\x80\x44\x00\xf1\xb1\
+\x31\x1a\x0b\x0e\x01\xf0\x03\x18\x03\x30\x0e\x20\x10\x4b\x67\x74\
+\x0a\x38\x99\x02\x3e\xf1\xfc\x3e\x07\x00\xf6\x6f\xd9\xb9\x33\xf9\
+\x65\x1b\x9d\x32\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+\x00\x00\x01\x2e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x18\x00\x00\x00\x09\x08\x06\x00\x00\x00\x28\xfd\xec\xc6\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd1\x0c\x12\x05\x2c\x2f\xbe\x7d\x83\x23\x00\x00\x00\xbb\x49\x44\
+\x41\x54\x78\x9c\x63\x60\xa0\x31\x60\x44\xe6\x30\x31\xb1\xfc\xc7\
+\xa5\xf0\xdf\xbf\x3f\x64\xa9\x85\x33\x98\x98\x58\xfe\x47\x44\x44\
+\x30\xf4\xf5\xf5\x32\xbc\x78\xf1\x02\x45\xc3\xfe\xfd\x07\x18\x8a\
+\x8b\x8b\xe1\x1a\x99\x98\x58\xfe\xf7\xf6\xf6\x32\xa8\xa9\xa9\x32\
+\x18\x1b\x1b\xa3\xa8\x3d\x7b\xf6\x2c\x83\xaf\xaf\x1f\x86\x83\x18\
+\x98\x98\x58\xfe\x6f\xdd\xba\xed\x3f\x13\x13\x0b\x45\xf8\xc5\x8b\
+\x97\xff\x91\x7d\xc7\x82\x6c\x89\xb4\xb4\x34\x86\x17\x99\x98\x58\
+\xfe\xe7\xe4\x64\x31\xb8\xbb\x7b\xc0\xe5\x19\x18\x18\x18\x9e\x3e\
+\x7d\x8a\xe1\x52\x88\x05\xa8\xbe\x47\xf1\xc1\x85\x0b\x17\x69\xeb\
+\x83\x79\xf3\xe6\x32\xcc\x98\x31\x85\xc1\xcc\xcc\x12\xee\xca\xa7\
+\x4f\x1f\x31\x7c\xfd\xfa\x13\x23\x0e\x60\xbe\x42\x0f\x81\xb6\xb6\
+\x56\x14\x31\x9a\xa7\x22\x9a\x03\x00\xe1\x38\x80\xe3\xdb\x0c\xa8\
+\xab\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x09\x17\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x08\xce\x49\x44\x41\x54\x58\x85\xa5\x96\x69\x6c\x5c\xd5\
+\x15\xc7\x7f\xf7\x2d\xb3\x8f\xed\xcc\x78\x62\x7b\xe2\x78\x8d\xad\
+\x04\xc2\x16\xc2\xd6\x84\x86\x16\x08\x01\x89\x02\x05\xd1\x42\x55\
+\x1a\x4a\x69\x4b\x55\x29\x48\xfd\xd0\x42\xfb\xa5\x55\x91\xfa\xa1\
+\x45\xa8\xad\x5a\xa9\xa5\xa0\x14\x5a\x4a\xba\x08\xb1\x84\x84\x86\
+\x26\x90\xb0\x24\x21\x2c\x71\x4c\x62\x67\x33\x4e\xbc\x7b\x6c\x8f\
+\x67\x9f\x37\xef\x9e\x7e\x98\x89\x63\xc7\x09\xa1\xea\x95\xae\xf4\
+\xee\xb9\xf7\x9d\xff\xff\xde\x7b\xfe\xe7\x1e\xc5\x19\xad\xf9\xd6\
+\xc7\x56\x18\x62\xfd\x43\xb4\x6e\x01\xd4\x99\xf3\x9f\xd6\x4c\x53\
+\xf0\x7b\x4b\x54\x07\x8b\x04\xfc\x25\x2c\xd3\xa5\xe8\x98\x52\x74\
+\xac\x93\x35\x55\xb9\x7b\x5f\x7c\xe2\x57\x6f\x2b\x85\x9e\xfd\x8f\
+\x35\x7b\xb0\x7d\xfb\x76\xeb\x7b\xbf\xd9\xbb\xa5\xbe\xa1\x21\x16\
+\xaf\x8f\x60\xa8\xcf\x86\xaf\x10\x82\xbe\x0c\x0b\x6b\x12\x04\xfd\
+\x59\xfc\x1e\x13\xcb\x2c\xa1\x94\xe0\x6a\xa5\x46\xc7\x8b\x8b\x07\
+\x47\x0a\x9b\xb2\xc9\xa5\xb7\x8a\x94\x0e\x2b\x75\x64\x7a\x1e\x81\
+\xad\xff\xd9\x7a\x79\xa1\x94\xf9\x73\x2e\xef\xc6\xea\x17\x46\xf8\
+\xf6\x2d\x1d\x7c\x7e\x45\xc7\x67\x80\x77\xd1\xfa\x24\x22\xfd\x88\
+\x36\x11\x99\x04\x0c\x44\x0a\x80\x4b\xc9\x85\xcd\xef\x8e\xa3\xf4\
+\x74\x83\x58\xe6\xf2\x4c\xc6\x8a\x66\xb3\xcb\x0f\xfa\xfd\x07\x06\
+\x94\x42\x5b\x00\xdb\x77\xfd\x7b\xb5\x65\x58\x9b\xf3\x3a\x12\xb6\
+\xed\x83\xec\xde\x7b\x80\x77\x76\xef\x3f\x2f\xb4\xa1\x84\xe6\x86\
+\x14\xed\x8b\x92\xc4\x63\x19\xea\x22\x19\xa2\xd5\x79\xaa\x42\x05\
+\x02\x3e\x4d\xdb\xe2\x6f\x71\xfc\xc4\xb3\xf8\x4d\x87\xce\x26\x3f\
+\x03\xa3\xc1\xd5\x8d\xb1\xcc\x87\xe2\x28\x3b\xc7\x72\xe0\xc0\x09\
+\x6b\xfb\x9e\xed\xf5\x21\xcb\xf7\x62\x73\x63\x6b\xf8\xd1\xdf\xed\
+\xe0\xee\x2f\xad\xe2\x8a\xe5\x4d\x98\xc6\xf9\x8f\xdf\x6b\x4d\x12\
+\xf6\xf5\x10\xf0\x0c\xe0\xb3\x87\xf0\xd9\x23\x78\x2d\x07\xcb\x74\
+\x08\xf8\xbe\x88\xdf\xff\x55\x16\x46\x4a\xa4\x32\x4f\x33\x91\x2a\
+\x71\xac\xbf\xe6\x9e\x45\xb5\xa9\x94\x32\x0c\xb4\x56\xce\xc4\x44\
+\xdb\xb4\x15\x0d\x84\x37\xb6\x36\x77\x2e\x48\x67\xd2\xbc\xbe\xf7\
+\x38\x8f\xaf\x5b\xc5\xbb\xbd\x09\x8a\x25\xfd\xa9\xe0\xa6\xe1\xb0\
+\x38\x72\x8c\x58\xd5\x49\x6a\xc3\x43\x44\x43\xc3\x78\xcd\x61\x3c\
+\x56\x02\xdb\xaa\xc6\xeb\x7d\x10\x00\x8f\xe7\x2e\x02\xce\x33\xd8\
+\x35\x23\xa4\x53\x9e\xe0\xbe\xc1\xcc\x06\x8f\xa5\xb6\x5f\x54\x1f\
+\x7a\xc6\x6b\x04\x3a\x0c\x57\x58\x6b\xd9\x16\xe3\x13\x23\x58\xa6\
+\x81\x02\xb4\xc8\x79\x77\x1f\xf0\x64\x09\x78\x52\x04\xbd\x29\x42\
+\xbe\x49\xaa\xfc\x09\xaa\x03\x63\xd8\x56\x27\x1e\xcf\x4f\x31\x8c\
+\x7a\x00\x94\xf2\x61\xfb\x7e\x81\xc7\x6a\x21\x1e\x4b\xb3\x34\xde\
+\x66\x4c\xe5\xf4\x17\xd0\x6a\x21\xb6\x8a\x59\x99\x74\x9a\x4c\x26\
+\x43\x72\x3a\x09\x80\x20\x68\xad\xf9\xa4\x6f\x10\x80\xc5\x4d\x0d\
+\x18\x86\x31\x8f\x40\xc8\x37\x85\xd7\xce\xe2\xb3\x53\xc4\xaa\x16\
+\xd3\x18\xbb\x1f\x8f\xd5\x8e\x32\xea\x80\xb9\xeb\x6d\xeb\x32\x6c\
+\x6b\x13\xbe\xc0\x38\x25\xdd\x47\x6b\xf4\x59\x43\xa9\x6d\x35\x4a\
+\xab\x6a\x23\x5f\xc8\xe7\x0b\xf9\x3c\x88\xe2\xba\x4b\xa3\x88\xeb\
+\x72\xb0\xab\x9b\x3a\x2b\xc1\xaa\xc6\x34\x03\x3d\xf3\x83\x51\x29\
+\x8d\x6d\xe4\xb1\xcc\x02\xb6\x59\xc4\x36\x0b\x78\x3d\x57\xa1\x8c\
+\x86\x79\xe0\xb3\xfe\x42\xa9\x18\xb6\xb9\x12\xaf\xe5\x47\x50\x01\
+\x2d\xe2\x37\x72\xf9\xc2\xde\xbe\xfe\x63\xb4\x36\xb7\xf3\xb5\x1b\
+\xda\xd0\xa3\x7b\x58\xff\x39\x9b\xf5\xeb\x3a\xf9\xc6\x9d\x37\x72\
+\xd9\xc2\xc9\x39\x6e\x44\x04\xc4\x45\x51\xee\x86\x51\x22\x5f\xd8\
+\x4f\x2e\xfb\x03\xa0\x74\x9e\x8b\x13\x0a\x85\x5f\x32\x91\x7e\x1e\
+\x85\xb6\x15\xca\xb2\xe2\x75\x0b\xf5\x54\x72\x9a\xde\xc3\x87\x68\
+\x6e\x6a\x66\xf9\x05\xcb\x71\x1c\x87\xc4\x44\x82\x9d\x3b\xdf\x60\
+\x2a\x67\xcc\x00\x8b\x54\x08\x28\x30\x0c\x93\xf8\x82\x00\xf1\x48\
+\x90\xa0\xd7\x4b\xa9\xf4\x26\xf9\xfc\x93\xf8\x7c\xdf\x3d\x27\x7c\
+\xa1\xf0\x3c\x45\xe7\x59\xb4\x80\xa0\x5c\x85\xd2\x96\x61\xd9\x6b\
+\xae\xb9\x6a\x35\x6f\xef\xde\xc5\xdf\x5f\x7a\x9d\x48\xd8\xa0\xe0\
+\x08\x89\x94\x30\x90\xf2\xe1\x8f\x5f\x8d\x21\x52\x21\x50\x26\x71\
+\xf9\x92\x18\xb7\x5d\xe9\xc5\x67\x59\xe4\x8b\x69\x44\x8f\x61\x19\
+\x41\x44\x6f\x01\xce\x4d\xc0\x2d\x6d\xa1\x24\x36\xc5\x92\x60\x28\
+\xc9\x69\xa5\xf3\x46\x26\x9d\x26\x9b\xcd\xe2\xf3\x79\x79\x72\x5b\
+\x92\xf0\x92\xb5\x1c\xb7\xaf\x60\xff\x74\x23\xe3\x12\x45\x94\x89\
+\xd6\x32\xd3\xd7\xad\x68\xe0\xde\x35\x2d\x7c\x7c\xd2\x64\xd3\x5b\
+\x09\xb6\x7d\x94\xa2\xbb\x5f\x18\x99\xf2\x21\x92\xfd\xd4\x0b\x70\
+\x75\x08\x9d\x9c\xa0\xa9\xe4\x32\x35\x90\x59\xaa\xb4\x4a\xcd\x0f\
+\x42\x29\x71\xa8\xab\x9b\x3a\x6b\x9c\xd5\x8d\x19\x06\x0f\xef\x47\
+\x8b\xa0\x45\xe8\x88\x87\x59\xb7\x22\xce\xa6\x9d\x7d\xfc\x65\x47\
+\x82\xd1\xa4\x07\xdb\x8a\x50\x70\x17\x30\x9d\x8b\x90\x77\x2e\x9b\
+\x15\x2b\x29\x1c\xe7\x1d\xb4\x1e\x9d\xb1\x65\x0b\xcb\x08\x2d\xb8\
+\x88\xda\x45\xd7\x91\x1a\x4d\xdf\x6c\xc0\x84\x95\xcb\xe5\xdf\xea\
+\xeb\x3f\x76\x7d\x39\x08\x5d\xc6\x13\xfb\x58\xbf\xca\xa6\xb9\x69\
+\x09\xed\xed\x9d\xe4\x9f\xda\xc8\xa0\xd6\x88\xc0\xcd\x2b\xe2\x74\
+\xf7\x4f\xb1\xa3\x6b\x84\xaa\x60\x88\x7b\xd6\x5c\x43\x6d\xe8\x13\
+\x5c\xb7\x8a\xa9\xb4\x9f\x70\xa0\x0d\x57\x27\x71\x8a\xcf\xa1\xdd\
+\x8d\x68\x3d\x4d\xc9\xf5\xa2\xcc\x3b\x09\x06\xbe\x49\x26\x17\xa1\
+\xc6\x1a\xc7\xb0\x5b\x29\x66\x1d\x8f\x6b\x70\xc4\x12\xaf\xb1\x61\
+\x78\x64\xb8\xab\x58\x74\xd4\xd9\x82\x70\x32\xab\xd0\x41\x21\xe0\
+\xb3\x68\xaf\x0f\xf3\xfb\x57\x7b\xd0\x22\xdc\x76\xe5\x62\x62\x55\
+\x35\x6c\xda\x79\x98\x80\x17\x6e\xbc\xa4\x05\x91\x11\xf6\xf5\x6c\
+\xa0\xca\x9f\xa2\xa5\xae\x89\xa1\x89\x69\xf2\x8e\xa2\x50\x7c\x0f\
+\xaf\xe7\x38\x6f\xbf\x9f\xe4\xbe\x1b\xfc\x18\x52\x45\x31\x5b\x64\
+\xf3\xe6\xee\x31\xab\x65\x61\xfc\xf1\x96\x95\x1d\xea\xc0\xc1\x2e\
+\x36\xbd\xb4\x8d\x68\xd8\x24\x5f\x14\x12\x29\x4d\xff\xb4\x07\xbb\
+\x76\x25\x4a\x84\x68\xc8\x83\x52\x30\x30\x9e\x41\xb4\xd0\xb9\x28\
+\x4c\xef\x60\x96\x37\x0e\x04\xa9\xaf\x09\xd1\xd1\x60\xd3\x11\x0f\
+\x33\x38\x91\x66\xda\x57\x45\x5b\x43\x0d\xe3\xa9\x31\xa6\xd2\x2e\
+\x05\xc7\x43\x24\x5c\xcb\xf1\x01\x8d\xa1\x8b\x40\x84\x7c\xaa\xc8\
+\xdd\xf7\xe1\x5a\xae\xb0\xd6\xf6\xd8\x84\xc3\x41\xfe\xb4\x6d\x9a\
+\x1f\x7d\xff\x0e\x7a\xfb\x92\xb8\x41\x8d\x37\x70\x5a\x7a\xa7\xd2\
+\x73\xc9\x15\xb4\x68\x0c\xa5\xd0\x5a\xc8\x17\x6d\xfa\xc7\xe3\x64\
+\x0a\xd5\x28\xa3\xc8\xf0\xe4\x38\x2d\x75\xa0\x8c\x5a\x8e\x0e\x59\
+\x64\x0b\x9a\xa2\xe3\x41\xd4\x42\x8e\x0e\x24\x51\x08\x06\x11\x44\
+\x97\xfd\xcd\x4b\xc5\x5a\x0b\x6e\xa9\xc4\x89\x13\x23\x08\x42\x7d\
+\x43\x1d\x4a\xc1\xd8\x54\x0e\x11\x88\x47\xfd\x8c\x25\x73\x1c\x19\
+\x4a\xb1\xa2\x3d\x4a\x47\x3c\x4c\xbe\xe8\xb2\xac\xe9\x62\x4c\xd3\
+\x41\x4b\x86\x2b\x3a\x6b\xe8\x3d\x39\xc1\xe1\xa1\x34\xae\x6b\x90\
+\x77\x3c\x28\xb3\x85\x8f\x7a\x87\x51\xa2\x99\x5d\x68\x59\x15\x15\
+\xf8\x4e\xa9\x40\x6b\x97\x63\x3d\xbd\xb4\xd4\x6a\x96\xd4\xfb\x78\
+\xeb\xd0\xc7\x44\x9a\x96\x31\x9d\x75\x38\x3e\x92\xe2\xda\x0b\xeb\
+\xf8\xf0\x68\x82\x7f\xee\xea\xa3\xad\x3e\xc4\xa3\x5f\xb9\x04\x01\
+\x8e\x0e\x4e\xb3\x24\x5e\xc5\x43\xb7\x5e\xcf\xde\x9e\x51\xfe\xf0\
+\xea\x34\xb9\x42\x2b\xae\x5b\x3e\xa9\xda\xaa\x6a\x0a\x8e\xc5\xfe\
+\x87\x7f\x0d\x40\xd0\x52\x7c\x78\xbf\xfa\xce\x59\x54\xd0\xc5\x03\
+\x9f\xf7\xd2\xdc\xd4\x4c\x7b\x7b\x27\xc5\xa7\x36\x72\xa4\x92\x84\
+\x5e\x7c\xb7\x9f\x87\x6f\xbf\x90\x55\x17\xd4\xf1\x66\xd7\x10\x8f\
+\x3c\xfd\x1e\xad\xf5\x21\x92\x99\x22\x8e\xa3\x89\x47\x03\xf4\x8f\
+\xa6\x19\x9d\xca\x95\x93\x16\xc6\x4c\xf2\x72\x2b\x47\x7e\xe9\x8f\
+\x9f\x2e\x5f\x65\x3e\x4d\xf7\x13\x1b\x1e\x3f\xaf\x0a\x26\x32\xa0\
+\xc3\x82\x20\x7c\x70\x2c\xc1\x2b\x7b\x4f\xf0\xc0\x4d\x9d\x2c\x8a\
+\x06\x78\x79\x4f\x3f\xdd\x7d\x93\x88\x08\x7e\x8f\xc5\x8a\x8e\x28\
+\xeb\x56\x36\xf2\xf3\xbf\x7e\x80\x9e\x95\xba\x45\x04\x57\x97\xeb\
+\x0b\x7d\xa8\x4c\xc0\x5c\xba\x1e\x71\x75\xe0\xac\x2a\xc8\x15\x34\
+\xe3\x29\xcd\x27\x49\x1b\xa9\xbe\x04\x25\x7a\xc6\xd9\xdf\x76\x1c\
+\x65\x6c\x2a\xc7\x5d\xd7\xb6\xb2\xee\xf2\x45\x8c\x25\xf3\x94\x5c\
+\x4d\xdd\x82\x00\x5a\x84\xad\xef\x9d\x98\xf5\x76\xcc\x0a\x62\xf7\
+\x8c\x1a\x43\x97\x1f\xae\x79\x2a\x78\x68\xfd\x2d\x74\x9f\x48\xe2\
+\x9a\x1a\x16\x00\x52\x4e\xc1\x33\xbb\x41\x78\xed\xfd\x01\xde\xec\
+\x1a\xe2\xe2\xd6\x08\x8d\xb5\x21\x4c\x03\x86\x27\x73\xec\xeb\x1d\
+\x63\x2a\x53\x98\x03\x3c\x73\x05\x52\xa9\xb0\x0c\x0f\xe8\x62\xb9\
+\x9f\x4d\x05\x52\x51\xc2\xf0\xd0\x28\x82\x10\xab\x8b\xa1\x0c\x05\
+\x22\x28\x51\x28\x29\xaf\x29\x38\x9a\x3d\x3d\x63\xec\xee\x19\x43\
+\x38\x0d\xa4\x8c\xca\x1a\x01\x11\x55\x99\x03\x39\x15\xf9\x96\x1f\
+\x5c\x75\xfa\x04\xce\x54\x81\xa9\x60\xe0\xf8\x51\xda\x6a\x85\x25\
+\x0d\x3e\x76\x1d\x3c\xcc\x82\xc5\xcb\x2a\xbb\x2f\x53\x94\x0a\x00\
+\x15\x9b\x54\x0c\x52\xd9\x80\xcc\x2c\x60\x66\xad\x65\x98\x00\x28\
+\xd3\x8b\x88\x3e\x4d\x60\xbe\x0a\x3e\xe6\xc1\x35\xbe\x39\x2a\x38\
+\x66\x1a\x33\xce\x4e\x11\x80\xb9\xdf\x52\x66\x74\xc6\xb8\x4c\x08\
+\x11\x4c\xdb\xac\x5c\x81\x0d\xaa\x00\xe2\x56\x08\x48\xf1\x9e\xc1\
+\xa1\x81\xde\x62\xd1\xa9\x39\xd7\x5b\x60\x05\xcd\x53\x9e\x98\x85\
+\xcd\x1c\x8b\x70\x7a\x6e\x0e\xc9\x32\x19\xcb\xaa\x9c\x40\xfd\xd5\
+\xe0\x16\x28\xa5\x27\x51\xa6\x91\x55\x00\x37\xdd\x74\x4d\xe4\xcb\
+\x77\x7f\xfd\xb9\xc9\xb4\x5a\x1b\xad\x3a\xfd\x16\x9c\x4c\x79\xf1\
+\xd4\x2d\xc5\xb4\x3d\xcc\x6b\x33\x80\xe7\xa8\xa0\x67\x11\x32\x94\
+\xa2\x39\x16\xe4\xb7\x7f\x7c\x81\x7f\x45\x1e\x29\xdb\x0c\x95\xc7\
+\x54\x0f\x2b\xc0\x06\x62\x40\xb4\xf5\x96\xc7\xb6\xde\x71\xfb\xf5\
+\x0d\xad\x8d\x11\x14\x8a\xb9\x7b\x9a\xeb\xfc\x2c\x78\x67\x1d\x08\
+\xa0\x45\x73\xb4\x7f\x9c\x97\x5f\xd9\x31\xd2\xb7\xf9\x27\xb7\x01\
+\x09\x60\x1c\x98\xb2\x00\xf7\x54\x4f\x1c\x7c\xed\x87\x2f\x88\x3c\
+\xa6\x0d\x73\x11\x72\xce\xf2\xf6\x7f\x6f\x0a\xad\xdc\xd2\xc0\x64\
+\xcf\x96\x9f\x51\xae\x5c\x4b\x15\xcc\x99\x57\xc1\xa4\xac\xfa\x10\
+\xe0\xad\xd8\xad\xb3\xb8\xfa\x7f\xda\x29\xe0\x2c\x90\x04\x32\x00\
+\xff\x05\x36\xcd\x09\x53\xa6\xd0\xdb\x95\x00\x00\x00\x00\x49\x45\
+\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x02\xb9\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x02\x80\x49\x44\x41\x54\x58\x85\xc5\x57\x4d\x6f\xd3\x40\
+\x10\x7d\xeb\x34\xa4\xb1\x9d\x08\x11\xa2\xa4\xa0\xaa\x51\x11\x94\
+\x0f\x55\x8e\xea\xf0\x37\xf2\x4f\x73\x89\x94\x03\xbf\xa1\x69\x2d\
+\xce\x01\xc1\x09\xd2\x06\x04\x87\x88\x7c\x90\xee\x70\xb0\x37\x72\
+\xcc\xce\x7a\x5d\x8a\xfa\x24\x6b\xe3\x99\xd5\x64\xf6\xbd\xd9\xd9\
+\xb5\x20\x22\xdc\x27\xf6\xb2\x86\xe1\x70\xf8\xdf\x32\xea\xf7\xfb\
+\x22\x37\x81\x64\xe2\x9d\xfd\xa9\x94\x12\x44\x84\xd1\x68\xa4\xf5\
+\x6b\x13\x58\xaf\xd7\x10\x42\x80\x88\x20\x44\x9c\x74\x7a\xd4\xd9\
+\x00\x80\x88\x76\x1e\x29\xe5\x36\x01\x0e\x8e\xce\x48\x44\xb8\xb8\
+\xbc\x8c\x03\x25\x01\x54\x90\xec\xef\xf4\xa8\x92\x73\x1c\x67\x3b\
+\xaa\x87\x83\x96\x01\x22\x42\x37\x08\x62\x36\x2e\xde\x63\x72\x70\
+\xc2\x06\xc8\xc3\xe9\xa1\x67\xf4\x6b\x13\x00\x80\xf9\x7c\x0e\xdf\
+\xf7\xe1\x96\x05\x5e\x3f\xd9\x67\xa9\xe7\xe4\x50\x0b\x91\x52\xee\
+\xd8\xb2\x60\x25\x58\x2c\x16\x48\x22\x6e\x6d\x3a\xea\x39\x39\x14\
+\x94\x14\x1c\x58\x06\x9a\xcd\x26\x88\x08\xbf\xd6\x12\x93\x2f\x4b\
+\x36\x40\x1e\xba\x9d\xba\xd1\xcf\xd6\xc0\xf9\x78\x8c\xb7\xbd\x1e\
+\xaa\x65\x81\x57\x07\x15\x00\xf9\xd4\x9b\xe4\xe0\xc0\x72\x13\x86\
+\x21\x4b\xef\x6d\xe5\xd0\x81\x65\x40\x15\xe1\xe2\x37\x61\x32\x5d\
+\xe7\x06\xe2\xd0\xed\xd4\x8d\x4c\xb0\x35\xb0\x5c\xad\xe0\xfb\x3e\
+\xaa\x65\x81\x93\x56\x19\x40\x31\xea\x6d\xe8\x07\x0c\xbb\xe0\x71\
+\xa3\x11\x53\x98\xa2\x56\xf9\xb2\xa3\x8d\x8d\x03\xcb\xc0\xf9\x78\
+\x8c\x5e\x18\x62\xb1\x01\x26\xd7\x1b\xab\xd5\xe8\x10\x1c\xd5\x8a\
+\x27\x40\x44\x08\xcf\xce\x40\x44\x70\xf7\x80\xe7\xcd\x92\x55\xb5\
+\xeb\xe6\xe4\x31\xc0\xee\x82\xd9\x6c\x16\x53\x89\xbf\x29\x35\xed\
+\x8e\xf4\x22\xb2\xf3\x75\x60\x19\xa8\xba\x2e\x00\x60\xb9\x01\x3e\
+\x7c\x93\xc6\x55\x98\x70\x7a\xe8\x15\x4f\x00\x00\x3c\xd7\x05\x11\
+\x61\xbf\x44\x78\xd6\x10\xb9\xd4\x9b\x8e\x68\x13\xd8\x5d\x10\x45\
+\x11\x92\x48\x5b\x9b\x2d\xe5\x9c\x4f\x07\x56\x82\x20\x08\x40\x44\
+\x58\x6e\x80\x8f\xdf\x55\x80\xe2\xb7\xb5\x37\x4f\xab\x46\x3f\x2b\
+\xc1\xf4\xea\x0a\xed\x56\x0b\x95\x12\xe1\xf8\x51\x6c\x2b\xd2\x7c\
+\xd4\x7b\x5e\x11\xb2\xbb\xa0\x5e\xab\xb1\xcd\xc4\xd4\x7c\x4c\xb2\
+\xe8\xc0\x4a\xe0\x26\x45\xb8\xba\x11\xf8\xf4\x43\xad\x2c\x1d\xc8\
+\x4e\x0e\x75\x92\x16\x4a\x00\x00\xa2\x28\x42\x10\x04\xa8\x94\x08\
+\x9d\x87\xd2\xba\x01\xa9\x31\x7b\x33\x2a\x94\x80\x2a\xc2\xe4\x45\
+\x1b\x44\xe9\x9b\x7d\xcf\xda\xf3\xc0\x32\xf0\x75\x3a\x45\xbb\xd5\
+\xc2\x4a\x3a\xf8\xfc\x53\x57\x2a\x76\x72\xbc\x6c\x3f\xb8\x1d\x03\
+\xbe\xef\x03\x00\x56\x2f\x8e\x71\xe4\xdc\x00\xb0\x6b\x3c\x77\xd6\
+\x88\x7c\x2f\x69\xa1\x29\x4a\x8b\x9c\x07\xff\x74\x16\x78\xde\xee\
+\x5d\x3e\xbb\x62\xdb\x1e\x60\x03\x6d\x02\x83\xc1\xe0\x1d\x11\x89\
+\xf4\xa7\x19\x87\xac\x5f\x37\xdf\x71\x1c\x48\x29\xb5\x34\x88\xfb\
+\xfe\x3c\xff\x03\x4e\xd7\xdf\x5d\xbd\xdd\xf2\xb1\x00\x00\x00\x00\
+\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x11\x01\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
+\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
+\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
+\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
+\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
+\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
+\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
+\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
+\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
+\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
+\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
+\x78\x6d\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\
+\x73\x6f\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\
+\x44\x54\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\
+\x74\x64\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\
+\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x37\x34\
+\x34\x2e\x30\x39\x34\x34\x38\x38\x31\x39\x22\x0a\x20\x20\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x35\x32\x2e\x33\x36\x32\x32\
+\x30\x34\x37\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x33\
+\x31\x33\x37\x22\x0a\x20\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\
+\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x38\x2e\
+\x34\x20\x72\x39\x39\x33\x39\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x64\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x65\x78\
+\x70\x61\x6e\x64\x2e\x73\x76\x67\x22\x3e\x0a\x20\x20\x3c\x64\x65\
+\x66\x73\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\
+\x33\x31\x33\x39\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\
+\x70\x6f\x64\x69\x3a\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x62\x61\x73\x65\x22\x0a\x20\x20\
+\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\
+\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\
+\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x36\x36\x36\x36\x36\x36\
+\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\
+\x63\x69\x74\x79\x3d\x22\x31\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\x70\x61\
+\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\x20\x20\
+\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x73\x68\x61\
+\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\x33\x35\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x63\x78\x3d\x22\x33\x37\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x63\x79\x3d\x22\x37\x34\x38\x2e\x35\
+\x37\x31\x34\x33\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\
+\x74\x73\x3d\x22\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\
+\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\x65\x6e\x74\x2d\x6c\x61\
+\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\x20\x20\x20\
+\x20\x20\x73\x68\x6f\x77\x67\x72\x69\x64\x3d\x22\x66\x61\x6c\x73\
+\x65\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
+\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\
+\x33\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\
+\x3d\x22\x37\x32\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x30\
+\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
+\x77\x69\x6e\x64\x6f\x77\x2d\x79\x3d\x22\x32\x30\x22\x0a\x20\x20\
+\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\
+\x6f\x77\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\
+\x20\x2f\x3e\x0a\x20\x20\x3c\x6d\x65\x74\x61\x64\x61\x74\x61\x0a\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6d\x65\x74\x61\x64\x61\x74\
+\x61\x33\x31\x34\x32\x22\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\
+\x3a\x52\x44\x46\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x63\x63\x3a\
+\x57\x6f\x72\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\
+\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x69\
+\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\x6c\x3c\x2f\x64\x63\
+\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x3c\x64\x63\x3a\x74\x79\x70\x65\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\x72\x63\
+\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
+\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\x2f\x53\
+\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\x65\x20\
+\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\x63\x3a\x57\x6f\
+\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\
+\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\x61\x74\x61\x3e\
+\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\x72\
+\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
+\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\x79\
+\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\x79\
+\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\
+\x6c\x6c\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\x66\x69\x6c\x6c\x2d\
+\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x64\x3d\x22\x6d\x20\x33\x31\x36\x2e\x39\x37\x39\x37\x35\
+\x2c\x35\x30\x34\x2e\x35\x32\x37\x30\x36\x20\x30\x2c\x2d\x32\x35\
+\x33\x2e\x36\x34\x32\x38\x35\x20\x35\x39\x2e\x34\x36\x36\x32\x33\
+\x2c\x30\x20\x35\x39\x2e\x34\x36\x36\x32\x35\x2c\x30\x20\x30\x2c\
+\x32\x35\x33\x2e\x36\x34\x32\x38\x35\x20\x30\x2c\x32\x35\x33\x2e\
+\x36\x34\x32\x38\x35\x20\x2d\x35\x39\x2e\x34\x36\x36\x32\x35\x2c\
+\x30\x20\x2d\x35\x39\x2e\x34\x36\x36\x32\x33\x2c\x30\x20\x30\x2c\
+\x2d\x32\x35\x33\x2e\x36\x34\x32\x38\x35\x20\x7a\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x31\x39\
+\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\x75\x72\
+\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\x62\x31\x31\
+\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\
+\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x72\x65\
+\x63\x74\x33\x31\x36\x37\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x77\
+\x69\x64\x74\x68\x3d\x22\x38\x36\x2e\x34\x39\x36\x33\x33\x38\x22\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\
+\x35\x33\x30\x2e\x36\x34\x37\x35\x32\x22\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x78\x3d\x22\x32\x33\x37\x2e\x37\x38\x31\x35\x36\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x79\x3d\x22\x32\x32\x34\x2e\x38\x35\
+\x32\x34\x35\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x72\x65\x63\
+\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x66\x69\x6c\x6c\x3a\x23\x32\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\
+\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x69\x64\x3d\x22\x72\x65\x63\x74\x33\x31\x36\x37\
+\x2d\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\
+\x3d\x22\x39\x37\x2e\x33\x30\x38\x34\x30\x33\x22\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x32\x33\x2e\
+\x39\x37\x32\x37\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x78\x3d\
+\x22\x33\x39\x39\x2e\x39\x36\x32\x31\x39\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x79\x3d\x22\x32\x32\x36\x2e\x35\x32\x31\x31\x33\x22\
+\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\
+\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\
+\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x64\x3d\x22\x4d\x20\x35\x30\x2e\x32\x35\x36\x37\x34\x33\x2c\x32\
+\x37\x33\x2e\x34\x35\x34\x34\x39\x20\x43\x20\x37\x36\x2e\x34\x30\
+\x30\x37\x34\x38\x2c\x32\x35\x31\x2e\x37\x31\x38\x31\x34\x20\x33\
+\x37\x32\x2e\x39\x33\x34\x37\x39\x2c\x32\x30\x2e\x33\x32\x38\x32\
+\x35\x37\x20\x33\x37\x36\x2e\x34\x31\x38\x35\x34\x2c\x31\x38\x2e\
+\x39\x34\x35\x36\x33\x33\x20\x63\x20\x32\x2e\x34\x39\x35\x36\x39\
+\x2c\x2d\x30\x2e\x39\x39\x30\x34\x37\x32\x20\x36\x34\x2e\x38\x32\
+\x36\x35\x2c\x34\x30\x2e\x37\x38\x31\x30\x36\x33\x20\x31\x33\x38\
+\x2e\x35\x31\x32\x39\x34\x2c\x39\x32\x2e\x38\x32\x35\x36\x30\x37\
+\x20\x37\x33\x2e\x36\x38\x36\x34\x32\x2c\x35\x32\x2e\x30\x34\x34\
+\x35\x37\x20\x31\x35\x37\x2e\x30\x36\x31\x36\x34\x2c\x31\x31\x30\
+\x2e\x37\x35\x30\x39\x32\x20\x31\x38\x35\x2e\x32\x37\x38\x32\x36\
+\x2c\x31\x33\x30\x2e\x34\x35\x38\x35\x35\x20\x6c\x20\x35\x31\x2e\
+\x33\x30\x32\x39\x32\x2c\x33\x35\x2e\x38\x33\x32\x30\x39\x20\x2d\
+\x31\x38\x2e\x39\x32\x35\x36\x32\x2c\x2d\x31\x2e\x31\x31\x36\x37\
+\x32\x20\x43\x20\x37\x31\x35\x2e\x36\x38\x31\x32\x37\x2c\x32\x37\
+\x35\x2e\x39\x34\x37\x36\x34\x20\x37\x30\x33\x2e\x39\x33\x39\x35\
+\x32\x2c\x32\x36\x38\x2e\x39\x37\x34\x32\x32\x20\x36\x32\x32\x2e\
+\x35\x36\x37\x36\x2c\x32\x31\x31\x2e\x36\x30\x35\x30\x33\x20\x34\
+\x38\x34\x2e\x33\x39\x32\x39\x34\x2c\x31\x31\x34\x2e\x31\x38\x38\
+\x34\x35\x20\x33\x38\x36\x2e\x33\x31\x35\x2c\x34\x38\x2e\x30\x35\
+\x32\x39\x39\x33\x20\x33\x38\x31\x2e\x36\x38\x32\x39\x39\x2c\x34\
+\x39\x2e\x31\x37\x32\x38\x32\x20\x33\x37\x39\x2e\x33\x39\x34\x39\
+\x32\x2c\x34\x39\x2e\x37\x32\x35\x39\x39\x33\x20\x33\x31\x32\x2e\
+\x34\x37\x39\x32\x36\x2c\x31\x30\x30\x2e\x39\x34\x39\x38\x20\x32\
+\x33\x32\x2e\x39\x38\x31\x35\x32\x2c\x31\x36\x33\x2e\x30\x30\x33\
+\x35\x31\x20\x39\x30\x2e\x31\x34\x34\x30\x39\x2c\x32\x37\x34\x2e\
+\x34\x39\x38\x34\x31\x20\x38\x38\x2e\x31\x38\x32\x36\x39\x33\x2c\
+\x32\x37\x35\x2e\x38\x34\x31\x33\x39\x20\x36\x36\x2e\x36\x30\x30\
+\x36\x33\x34\x2c\x32\x37\x36\x2e\x39\x32\x36\x30\x34\x20\x63\x20\
+\x2d\x31\x37\x2e\x33\x39\x33\x37\x34\x36\x2c\x30\x2e\x38\x37\x34\
+\x31\x34\x20\x2d\x32\x30\x2e\x37\x32\x30\x37\x39\x2c\x30\x2e\x31\
+\x36\x37\x34\x37\x20\x2d\x31\x36\x2e\x33\x34\x33\x38\x39\x31\x2c\
+\x2d\x33\x2e\x34\x37\x31\x35\x35\x20\x6c\x20\x30\x2c\x30\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x33\x31\x39\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\
+\x2d\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\
+\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\
+\x32\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\
+\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\
+\x22\x4d\x20\x33\x34\x2e\x33\x33\x35\x35\x31\x2c\x32\x37\x36\x2e\
+\x37\x34\x39\x31\x31\x20\x43\x20\x35\x38\x2e\x39\x30\x37\x34\x37\
+\x36\x2c\x32\x35\x37\x2e\x30\x33\x31\x33\x34\x20\x33\x35\x36\x2e\
+\x37\x31\x35\x36\x37\x2c\x33\x33\x2e\x36\x32\x34\x32\x30\x36\x20\
+\x33\x36\x30\x2e\x32\x30\x30\x34\x35\x2c\x33\x32\x2e\x32\x39\x34\
+\x36\x30\x31\x20\x63\x20\x32\x2e\x34\x39\x35\x37\x2c\x2d\x30\x2e\
+\x39\x35\x32\x32\x30\x35\x20\x31\x37\x38\x2e\x33\x35\x32\x39\x35\
+\x2c\x31\x31\x39\x2e\x33\x30\x33\x31\x32\x39\x20\x32\x35\x32\x2e\
+\x30\x33\x39\x33\x39\x2c\x31\x36\x39\x2e\x33\x33\x36\x38\x33\x39\
+\x20\x37\x33\x2e\x36\x38\x36\x34\x31\x2c\x35\x30\x2e\x30\x33\x33\
+\x36\x39\x20\x34\x33\x2e\x33\x37\x33\x37\x32\x2c\x32\x36\x2e\x32\
+\x36\x36\x34\x31\x20\x37\x31\x2e\x33\x39\x33\x30\x31\x2c\x34\x35\
+\x2e\x30\x38\x31\x30\x33\x20\x6c\x20\x35\x30\x2e\x39\x34\x34\x31\
+\x33\x2c\x33\x34\x2e\x32\x30\x38\x34\x31\x20\x2d\x33\x35\x32\x2e\
+\x37\x32\x30\x31\x32\x2c\x30\x20\x63\x20\x2d\x32\x38\x31\x2e\x33\
+\x34\x34\x37\x36\x2c\x30\x20\x2d\x33\x35\x31\x2e\x36\x36\x38\x31\
+\x31\x31\x2c\x2d\x30\x2e\x38\x34\x34\x31\x38\x20\x2d\x33\x34\x37\
+\x2e\x35\x32\x31\x33\x35\x2c\x2d\x34\x2e\x31\x37\x31\x37\x37\x20\
+\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\
+\x74\x68\x33\x31\x38\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\
+\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\
+\x72\x2d\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\x22\x73\x73\x73\x73\x63\
+\x73\x73\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\
+\x69\x6c\x6c\x3a\x23\x30\x30\x38\x30\x38\x30\x3b\x66\x69\x6c\x6c\
+\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x64\x3d\x22\x4d\x20\x32\x32\x31\x2e\x39\x36\x38\x35\
+\x39\x2c\x38\x37\x37\x2e\x37\x35\x34\x39\x32\x20\x43\x20\x31\x32\
+\x34\x2e\x30\x37\x32\x34\x39\x2c\x38\x31\x31\x2e\x33\x36\x35\x34\
+\x31\x20\x34\x32\x2e\x30\x33\x30\x32\x35\x37\x2c\x37\x35\x35\x2e\
+\x30\x34\x36\x36\x37\x20\x33\x39\x2e\x36\x35\x32\x35\x34\x31\x2c\
+\x37\x35\x32\x2e\x36\x30\x32\x31\x39\x20\x63\x20\x2d\x33\x2e\x33\
+\x30\x30\x36\x35\x2c\x2d\x33\x2e\x33\x39\x33\x32\x39\x20\x30\x2e\
+\x35\x39\x34\x37\x34\x36\x2c\x2d\x34\x2e\x34\x34\x34\x34\x39\x20\
+\x31\x36\x2e\x34\x36\x39\x39\x30\x34\x2c\x2d\x34\x2e\x34\x34\x34\
+\x34\x39\x20\x31\x39\x2e\x38\x34\x36\x32\x35\x39\x2c\x30\x20\x32\
+\x33\x2e\x38\x35\x38\x35\x34\x39\x2c\x32\x2e\x30\x38\x38\x38\x20\
+\x38\x38\x2e\x31\x31\x36\x34\x37\x35\x2c\x34\x35\x2e\x38\x37\x33\
+\x34\x36\x20\x31\x32\x34\x2e\x30\x30\x37\x34\x38\x2c\x38\x34\x2e\
+\x34\x39\x37\x33\x39\x20\x32\x36\x30\x2e\x33\x37\x31\x32\x34\x2c\
+\x31\x37\x34\x2e\x33\x39\x35\x33\x33\x20\x32\x36\x34\x2e\x35\x33\
+\x35\x35\x35\x2c\x31\x37\x34\x2e\x33\x39\x35\x33\x33\x20\x33\x2e\
+\x35\x33\x34\x30\x37\x2c\x30\x20\x31\x39\x2e\x33\x39\x36\x39\x33\
+\x2c\x2d\x35\x32\x2e\x32\x37\x34\x34\x34\x20\x32\x33\x31\x2e\x34\
+\x30\x37\x35\x33\x2c\x2d\x32\x31\x31\x2e\x30\x39\x30\x39\x31\x20\
+\x32\x36\x2e\x35\x30\x38\x30\x36\x2c\x2d\x31\x39\x2e\x38\x35\x37\
+\x31\x20\x37\x30\x2e\x31\x34\x38\x32\x38\x2c\x2d\x39\x2e\x31\x37\
+\x37\x38\x38\x20\x38\x30\x2e\x36\x37\x32\x31\x37\x2c\x2d\x39\x2e\
+\x31\x37\x37\x38\x38\x20\x31\x32\x2e\x35\x33\x31\x36\x35\x2c\x30\
+\x20\x31\x33\x2e\x30\x37\x31\x35\x2c\x30\x2e\x35\x36\x30\x38\x34\
+\x20\x36\x2e\x32\x39\x31\x30\x36\x2c\x36\x2e\x35\x33\x35\x38\x36\
+\x20\x2d\x31\x35\x2e\x38\x39\x31\x38\x37\x2c\x31\x34\x2e\x30\x30\
+\x34\x30\x38\x20\x2d\x33\x32\x31\x2e\x31\x34\x35\x38\x34\x2c\x32\
+\x35\x36\x2e\x38\x32\x32\x30\x34\x20\x2d\x33\x32\x34\x2e\x30\x37\
+\x34\x39\x34\x2c\x32\x35\x36\x2e\x39\x36\x36\x31\x34\x20\x2d\x31\
+\x2e\x37\x30\x39\x38\x34\x2c\x30\x2e\x30\x38\x34\x20\x2d\x38\x33\
+\x2e\x32\x30\x35\x36\x31\x2c\x2d\x36\x37\x2e\x35\x31\x35\x32\x36\
+\x20\x2d\x31\x38\x31\x2e\x31\x30\x31\x37\x2c\x2d\x31\x33\x33\x2e\
+\x39\x30\x34\x37\x38\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x69\x64\x3d\x22\x70\x61\x74\x68\x33\x31\x39\x33\x22\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\
+\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\x75\x72\x76\x61\x74\x75\x72\
+\x65\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x73\x73\x73\x73\x73\x73\x73\x63\x63\x63\x22\x20\x2f\x3e\
+\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x66\x69\x6c\x6c\x3a\x23\x32\
+\x62\x31\x31\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\
+\x74\x79\x3a\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\
+\x4d\x20\x31\x39\x35\x2e\x32\x37\x35\x37\x33\x2c\x38\x37\x30\x2e\
+\x38\x30\x37\x33\x36\x20\x31\x32\x2e\x32\x31\x33\x31\x34\x31\x2c\
+\x37\x34\x36\x2e\x34\x38\x38\x39\x39\x20\x31\x38\x39\x2e\x33\x31\
+\x35\x39\x36\x2c\x37\x34\x35\x2e\x36\x30\x38\x37\x32\x20\x63\x20\
+\x39\x37\x2e\x34\x30\x36\x35\x34\x2c\x2d\x30\x2e\x34\x38\x34\x31\
+\x35\x20\x32\x35\x35\x2e\x30\x30\x33\x2c\x2d\x30\x2e\x34\x38\x34\
+\x31\x35\x20\x33\x35\x30\x2e\x32\x31\x34\x33\x31\x2c\x30\x20\x4c\
+\x20\x37\x31\x32\x2e\x36\x34\x31\x38\x2c\x37\x34\x36\x2e\x34\x38\
+\x38\x39\x39\x20\x35\x34\x38\x2e\x35\x39\x38\x34\x2c\x38\x37\x30\
+\x2e\x36\x34\x36\x34\x31\x20\x43\x20\x34\x35\x38\x2e\x33\x37\x34\
+\x35\x33\x2c\x39\x33\x38\x2e\x39\x33\x33\x20\x33\x38\x33\x2e\x31\
+\x35\x36\x32\x36\x2c\x39\x39\x34\x2e\x38\x37\x36\x32\x37\x20\x33\
+\x38\x31\x2e\x34\x34\x36\x36\x37\x2c\x39\x39\x34\x2e\x39\x36\x34\
+\x37\x38\x20\x63\x20\x2d\x31\x2e\x37\x30\x39\x36\x31\x2c\x30\x2e\
+\x30\x38\x38\x35\x20\x2d\x38\x35\x2e\x34\x38\x36\x35\x31\x2c\x2d\
+\x35\x35\x2e\x37\x38\x32\x33\x31\x20\x2d\x31\x38\x36\x2e\x31\x37\
+\x30\x39\x34\x2c\x2d\x31\x32\x34\x2e\x31\x35\x37\x34\x32\x20\x7a\
+\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\
+\x68\x33\x31\x39\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\
+\x2d\x63\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\
+\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\
+\x00\x00\x3f\xe2\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\
+\x00\x00\x20\x00\x49\x44\x41\x54\x78\x9c\xec\xbd\x77\x98\x64\x57\
+\x79\xee\xfb\x5b\x6b\x87\xca\x9d\xa7\xd3\x48\x33\x23\x8d\x46\xa3\
+\x8c\x22\x20\x21\x40\x20\x93\xc4\x91\x00\xdb\xd8\x17\xdb\xd7\xf8\
+\x98\x63\xb0\xf1\x01\x1e\x0c\x18\x9b\x73\x6c\x9f\x63\xf9\x1a\xec\
+\x8b\xed\x6b\x0c\x38\x1d\xdb\x38\xe0\x84\x49\x26\x09\x81\x84\x50\
+\x40\x81\x91\x18\x8d\x34\x39\x87\x0e\xd3\xb9\xbb\xe2\x0e\x6b\xad\
+\xfb\xc7\xda\xd5\xbd\x67\x4f\xf5\x68\x94\x50\x40\xdf\xf3\xec\xa9\
+\xae\x5d\x53\x55\xbb\xf6\x97\xde\xef\x5d\xdf\x5a\x0b\x5e\x90\x17\
+\xe4\x05\x79\x41\x5e\x90\x17\xe4\x05\x79\x41\x5e\x90\x1f\x39\x11\
+\xcf\xf4\x05\x3c\xc7\xa4\x1f\xe8\x03\xba\x81\x2e\xc0\x03\x24\x60\
+\x80\x10\x68\x00\xb5\xe4\x58\x4a\x8e\xf8\x19\xb9\xd2\xd3\x94\x17\
+\x0c\xe0\xb1\x65\x3d\xb0\x09\x38\x07\xb8\x04\x38\x77\x4d\xa9\xbc\
+\xb1\xb7\x50\x5a\xef\x3b\x9e\x90\x42\xa0\xd1\x44\x4a\x51\x6b\xb5\
+\xa6\xe6\x5b\xf5\xa3\x8d\x28\x3a\x06\x8c\x03\x87\x80\x83\xc0\x04\
+\x70\x24\x39\x9e\x55\xf2\x82\x01\xac\x2e\x9b\x81\x57\x02\xaf\x1b\
+\x2e\x57\xae\x3b\xab\x7f\xa8\xef\x8c\xee\x5e\xd6\xf7\xf4\xb1\x71\
+\x60\x90\x75\x3d\x03\x54\x72\x05\x3c\x29\x89\xb4\xa2\x1a\xb4\x98\
+\xaa\x55\x19\x5f\x9c\x67\xbc\xba\xc0\x4c\xbd\xc6\x5c\xa3\xc6\x54\
+\x6d\x89\xb1\xc5\xf9\xa3\x33\x8d\xda\x7d\xc0\xfd\xc0\xb7\x80\x6d\
+\xcf\xe8\x2f\x4b\xc9\x0b\x06\x70\xb2\x9c\x0d\xfc\x1a\xf0\x63\x6f\
+\xd8\x7c\xc9\xe6\x9f\xbc\xe4\x4a\x2e\x19\x39\x93\x0d\xbd\x03\x0c\
+\x54\xba\xc0\xf3\x41\x6b\x30\x1a\x8c\x59\x79\x97\x10\x80\x00\x29\
+\xec\xdf\x4a\xd3\x68\xd6\x99\xa9\x55\x19\xaf\x2e\xb0\x77\xe6\x38\
+\xb7\xef\xdb\xc9\x3f\x6c\xb9\xe7\x98\xc6\xdc\x0b\x7c\x12\xb8\xf3\
+\x19\xf9\x85\x29\x79\xc1\x00\x4e\x94\x5f\x07\xde\xba\x79\x60\xe8\
+\xf2\x0f\xbc\xf2\x06\x79\xfd\x39\xe7\x73\xf6\x9a\x61\x90\x12\xb4\
+\xb2\x0a\x4f\x2b\xfd\xb1\x44\x48\x6b\x10\x52\x82\x36\x4c\x2f\xce\
+\xf3\xdd\x03\xbb\xf8\xe4\xf7\x6e\xe3\xbb\x07\x76\x1f\x04\xfe\x0e\
+\xf8\x38\xd0\x7c\x7a\x7e\xce\x69\x5c\xe2\x33\xf5\xc5\xcf\x42\x79\
+\x07\xf0\xb1\x37\x5f\x78\xf9\xc0\xff\xbc\xfe\x46\xae\x58\xbb\x1e\
+\x5c\x17\x94\x7a\xea\xbe\x41\x3a\x60\x34\x47\xe7\x67\xf9\x97\xad\
+\xf7\xf3\xbb\xdf\xfe\x52\xad\x1e\x86\x77\x01\xef\x03\xf6\x3e\x75\
+\x5f\x74\xfa\xe2\x3c\x13\x5f\xfa\x2c\x94\x5f\x05\x7e\xfb\xc3\xd7\
+\xdd\x30\xf4\xbf\x5e\xfb\x66\xce\x1b\x5a\x6b\xc3\xb8\xd6\x4f\xed\
+\xb7\x24\xd1\xa3\xbb\x54\xe1\xaa\xb5\xeb\x79\xd5\x39\xe7\xfb\x5b\
+\x8e\x1e\xdc\x38\x55\xab\xbe\x0e\x78\x98\x67\x00\x24\xbe\x60\x00\
+\xf0\x21\xe0\x23\xbf\xfd\x63\x6f\x1a\xfe\xf5\xeb\x6e\x60\xb0\xab\
+\x3b\x51\xd4\xe3\x08\xf5\x8f\x57\x8c\xc6\x71\x1c\xd6\xf5\xf4\x73\
+\xd3\x85\x97\x89\x43\x73\xd3\x03\x3b\xa7\x26\xde\x00\xec\x06\xf6\
+\x3c\x7d\x5f\x7c\xb2\xfc\x28\x1b\x80\x04\x7e\x0e\xf8\xc3\xf7\x5d\
+\xfb\xda\xde\xb7\x5d\x76\x35\x78\x0e\xb5\x38\xa2\x66\x62\x5a\x5a\
+\x81\x14\x78\x8e\x83\x30\x10\x3b\x12\xed\x48\xe4\x53\x1c\x14\xba\
+\xf2\x45\xde\x78\xde\x8b\x98\x6b\xd6\xca\x0f\x1d\x3b\xf4\x1a\x60\
+\x3b\x3f\xc4\x74\xf0\xa3\x8a\x01\x9c\x75\xeb\xd6\xfd\xd7\x4a\xa5\
+\xf2\x17\xeb\xd7\xaf\x77\x06\x7a\x7b\xa9\x94\x2b\x14\x0a\x79\x7c\
+\x3f\x07\x80\xd6\x8a\x30\x08\x59\x9c\x99\xd1\xf9\x7a\xc8\xe6\xde\
+\x35\xf2\xe2\x8d\x9b\xd8\x54\xe9\x65\x20\x32\xb8\xc6\xe0\x08\xf9\
+\x14\x5d\x8e\xa0\x15\x87\xfc\xea\x17\xfe\x91\xbf\xdd\x72\xd7\x18\
+\xf0\x66\x60\xcb\x53\xf4\xe1\x8f\xf1\xcd\x3f\x62\x32\x34\x34\x54\
+\x7a\xfd\xeb\x5f\xff\x9e\x0d\x1b\x36\x7c\x74\xd3\xa6\x4d\x0c\x0f\
+\x8f\x20\x04\x48\x29\x69\xdf\x0e\x63\x74\xf2\x08\x06\xc3\xdc\xec\
+\x1c\xfb\xf7\xef\x33\x8f\x6e\x7f\x54\x84\xcd\xc0\x8c\x16\x2b\x5c\
+\xe1\x96\xc4\x35\x43\xeb\x18\x29\x77\x51\xf0\x7d\xc4\x32\x21\xf8\
+\xc4\xa5\x16\xb4\xf8\xf1\x7f\xf8\x33\xf3\xad\xbd\x3b\x76\x00\x3f\
+\x06\x4c\x72\xfa\x3a\x7a\x42\x5f\xfe\xa3\x96\x02\x0a\xc5\x62\xf1\
+\x17\x87\x87\x87\xff\xe8\xea\xab\xaf\xe5\xfc\xf3\x2f\xc0\x71\x1c\
+\x3c\xcf\xc7\xf3\x7c\xa4\x74\x10\x42\xe0\xba\x0e\x8e\xe3\x92\xcf\
+\xe7\x29\x97\x4b\x0c\x0e\x0e\xb1\x79\xf3\x66\xf1\x92\x97\x5c\xcd\
+\xe6\xf3\xce\x13\x3a\xe7\xf3\xc0\xec\x04\x7f\x7e\xdf\xed\xfa\xbe\
+\x3d\x3b\x45\x6f\xb9\x2c\x7a\xcb\x15\xf2\xae\x0b\xe6\x89\xfb\x94\
+\xef\xba\xbc\x62\xe3\x79\xe2\xf3\x0f\x6f\xe9\x5b\x0a\x9a\x1b\x81\
+\x7f\x4f\x5e\x6a\x5b\x67\xf6\x48\xcb\x6a\xe7\x4f\x29\x3f\x4a\x06\
+\x50\x04\x7e\xc5\x75\xbd\xff\xef\x9a\x6b\x5e\xa1\xdf\xfa\xd6\xb7\
+\x89\x7c\xbe\x48\x2e\x57\xa0\x50\x28\x27\x47\x29\x79\x5e\xa4\x58\
+\x2c\xd0\xd5\xd5\xcd\xc0\xc0\x1a\x2a\x95\x0a\xbe\xef\xe2\xfb\x39\
+\x7a\x7b\x7b\xd9\xb8\x71\x93\xb8\xe8\xc2\x8b\xc4\xa5\x97\x5e\x26\
+\x8f\x34\x6b\xfc\xf5\xf7\x6e\xd7\x07\x83\x9a\x18\xed\x5f\x23\xfa\
+\xfc\x3c\xce\x93\x08\xac\xdd\xf9\x22\x9b\xd7\x8c\xc8\x7f\xde\x7a\
+\xdf\x5a\xa0\x0a\x7c\x9f\xce\x06\xc0\x2a\xe7\xb2\xe7\x4f\x29\x3f\
+\x2a\x06\x50\x02\x7e\xb5\xbb\xbb\xf7\xe3\xef\x78\xc7\x3b\xcd\x87\
+\x3f\xfc\x3f\xa4\xd6\x06\x21\x04\x8e\xe3\xe1\x38\x0e\xae\xeb\x51\
+\x28\x14\x28\x95\xca\x74\x77\x77\xd1\xdf\xdf\x4f\x4f\x4f\x37\xc5\
+\x62\x91\x7c\x3e\x47\xa1\x50\xa2\x50\xc8\xe3\x38\xf6\x96\x69\x0d\
+\xe5\x72\x85\x2b\xaf\xb8\x42\x5c\x7a\xc9\x8b\xe4\x3d\x8f\x6e\x13\
+\x77\x8d\x1d\xd4\xc5\x4a\x59\x0c\xba\x79\x0a\xae\xf7\xf8\x48\xa3\
+\x44\x84\x10\x0c\x16\xcb\xec\x38\x3a\x9e\xdf\x33\x3f\x79\x2e\xf0\
+\x1d\xe0\x38\x56\x57\xa7\x63\x00\x9d\x8c\x61\x55\xf9\x51\x30\x80\
+\x12\xf0\xde\x9e\x9e\xbe\x8f\xbd\xf3\x9d\xbf\x6c\xde\xff\xfe\xdf\
+\x10\x41\xd0\xc2\xa4\x94\xe3\x38\x82\x7c\xde\x23\x9f\xf7\xf1\x7d\
+\x0f\xcf\x73\x70\x1c\x89\xe3\x38\x38\x8e\x40\x4a\x89\x94\x02\xd7\
+\x75\xc9\xe5\xf2\x88\x04\xfc\x09\xe1\x10\x45\x11\xe5\x72\x99\x6b\
+\x5f\x76\x2d\xcd\xa0\xc5\x96\xa9\x31\xe6\x5a\x75\x31\xec\xe5\xe9\
+\xca\x15\x1e\xbf\x11\x08\x70\x84\x83\x8f\xcb\x1d\xfb\x77\xf5\x35\
+\x54\xd8\x0b\x7c\x15\x9b\xe3\x1f\xaf\x01\x64\x1f\x4f\x92\xe7\xbb\
+\x01\x14\x81\xf7\xf7\xf4\xf4\xfd\x3f\xef\x7a\xd7\xbb\xf5\x7b\xde\
+\xf3\x01\x19\x86\x27\x2a\x1f\xc0\xf7\x6d\x14\x10\x02\x8c\x31\x48\
+\x29\xf1\x3c\x07\x29\x25\x42\x48\x84\xb0\x9e\x09\x24\x18\xc1\x43\
+\x4a\x07\x63\x24\x52\xba\x18\x03\x51\x14\xb0\x71\xe3\x39\xa2\xab\
+\x5c\x12\x7b\x97\xe6\xd9\x39\x7e\x94\x11\xe9\xd1\x57\xee\x7a\xdc\
+\x84\x92\x10\xd0\x6c\xc5\x1c\x9c\x98\x61\xcf\xd2\xc4\x10\x76\x34\
+\xf1\x07\x80\xcb\xea\xca\x3f\x95\x01\x64\xcf\x2f\xcb\xf3\xd9\x00\
+\x0a\xc0\x07\xba\xbb\x7b\x6e\xfe\x95\x5f\xf9\xef\xbc\xfb\xdd\xef\
+\x95\x61\x18\x9e\xf4\x9f\x1c\x47\xe2\xba\x2e\xae\xeb\x26\x29\x41\
+\xe2\xba\x4e\xe2\xf5\xd6\xd3\x8d\x01\xad\x0d\x5a\x1b\x94\xd2\x80\
+\xc1\x18\x43\x14\x29\xb4\x36\xb8\xae\x8f\xe3\x38\x28\x15\xd3\xdb\
+\xdb\x4b\x7f\x7f\x2f\x63\xf5\x2a\x77\x6c\x7f\xd8\xac\x75\x72\x0c\
+\x75\xf7\x8a\xc7\x6b\x04\x0b\xf5\x06\x07\xc6\x66\x68\xea\xa8\x74\
+\xbc\xb9\x58\x06\xbe\x88\xed\x2d\x68\xd7\x9e\xa7\xa3\xfc\x4e\xa9\
+\xe0\x04\x23\x78\xbe\x1a\xc0\x30\xf0\x97\xeb\xd7\x6f\x78\xcf\x1f\
+\xfc\xc1\x1f\x8b\x9f\xfc\xc9\xb7\x89\x38\x8e\x96\x5f\x6c\x23\x7d\
+\xcf\x73\xc9\xe7\x73\x14\x8b\x79\x0a\x85\x1c\xb9\x9c\x87\xe7\xb9\
+\xcb\x5e\x6f\xef\x95\x55\x7c\x18\xc6\xd4\x6a\x0d\x9a\xcd\x90\x38\
+\x56\x44\x91\x22\x0c\x43\x94\xd2\xc9\xe7\xf9\xb8\xae\x0f\x40\xb1\
+\x58\x64\x64\x64\x84\x30\xef\x89\x7f\xbc\xfb\x36\xe3\x36\x5a\x9c\
+\x3f\xba\x5e\x18\xad\x4e\x0b\x1e\x1a\x63\x98\x98\x5f\xe2\xc0\xf8\
+\x34\x95\x5c\x81\x03\x4b\x53\xa3\x81\x8e\x1f\x00\x76\x01\x3e\x9d\
+\xbd\xff\x54\x55\xc2\xaa\x86\xf0\x7c\x34\x80\x33\x80\x4f\xac\x5b\
+\xb7\xe1\xad\x37\xdf\xfc\x51\x5e\xf9\xca\x57\xa3\xd4\x4a\x53\x8e\
+\x94\x92\x42\xc1\xa7\x5c\xce\x53\x28\x58\xc5\x7b\x9e\x9b\xe4\x7c\
+\x89\x10\x02\x21\x04\xc6\x68\xb4\x36\xcb\x03\x80\x61\x18\x53\xaf\
+\xb7\x68\xb5\x62\xa2\x28\x26\x8e\x63\xb4\x56\x27\xa4\xf8\x76\x19\
+\xe9\x38\x0e\xbe\xe7\xd3\xd7\xdb\x8b\xf2\x5c\xf1\x95\x7b\xef\xa4\
+\x47\xc3\xa6\xd1\x75\xe2\x74\x06\x97\x62\x6d\x38\x30\x39\xcd\xfe\
+\xc9\x29\x0a\xae\x4f\x35\x6e\xb9\x63\xf5\xf9\x3d\xc0\x43\x80\xe2\
+\xc4\xaa\x80\x55\x1e\x3b\x95\x89\x64\xce\x8b\xe7\x9b\x01\x9c\x05\
+\xfc\xd9\xc6\x8d\xe7\xbc\xe5\xe6\x9b\x3f\xc6\xb5\xd7\xbe\x72\xf9\
+\x05\x21\x2c\xd8\x2b\x16\xf3\xcb\x1e\xef\xfb\x6e\x12\xee\x05\x52\
+\x8a\x65\xe5\xb7\xff\xd6\xda\x10\xc7\x0a\x63\x6c\xe8\x0f\x82\x08\
+\xa5\xec\xf3\xb6\x71\x64\x45\x08\x89\x52\x0a\x10\x48\xe9\xb0\x66\
+\x70\x0d\x75\x94\xb8\xf5\xbe\xef\x89\xf3\x2b\xbd\x0c\xf5\xf4\xdb\
+\x5e\x82\xd5\x44\x08\xc2\x30\xe2\xa1\x03\x47\x98\x5a\xac\x52\xf4\
+\x7c\x9a\x71\xc4\x8e\x85\xf1\x1a\xb6\x24\x9c\x63\x05\x0b\x3c\x96\
+\xc7\x3f\x56\x14\x78\x5e\x45\x80\xf3\x80\x3f\xbb\xf0\xc2\x8b\xde\
+\xf8\x7b\xbf\xf7\x07\x5c\x7b\xed\x2b\xc8\xe7\xbd\x04\xd5\xbb\x78\
+\x9e\xbb\x0c\xea\x40\xe0\x38\x16\xd5\xaf\x48\x1b\x64\xaf\x00\x41\
+\x63\x04\x41\x10\x12\x04\x11\x51\x14\xa3\x54\x8c\xd6\x8f\x8d\xea\
+\xa5\x74\xf0\x3c\x0f\x29\x5d\x1c\xc7\x61\x68\x70\x90\x23\x8b\x73\
+\xdc\xbf\xf5\x41\x5e\x77\xd6\x79\x38\xae\xbb\x7a\x75\x20\x04\xd5\
+\x66\x8b\x5b\x7f\xb0\x1d\x0d\x38\x08\x02\x15\xb1\x67\x71\xa2\x1c\
+\x6a\x75\x07\x70\x18\xdb\x8b\xd8\x56\x7a\x1b\x13\x64\xb9\x02\x58\
+\x3d\x0a\x2c\xff\xfd\x7c\x31\x80\x21\xe0\x33\x97\x5e\x7a\xf9\x8f\
+\xdd\x7c\xf3\x47\x79\xd9\xcb\xae\xa5\x5c\x6e\x7b\xba\x4f\x3e\xef\
+\x93\xcb\x59\x63\xb0\xc0\xce\xa0\x94\x41\x6b\x8d\xe3\xb4\x81\x9e\
+\x7d\xde\x06\x7c\xf6\x51\xd1\x68\x04\x34\x9b\x21\x4a\xa9\xd3\x52\
+\xbe\x8d\x20\xd6\xd0\xda\x2c\xa3\xef\xfb\xf4\xf4\x74\xb3\x65\xff\
+\x1e\xdd\xdd\x0c\xd9\x34\x34\xba\x2a\x28\x8c\xb5\xe6\xde\x5d\xfb\
+\xd9\x37\x39\x8d\x93\x44\xa4\x48\x2b\xf6\x2e\x1d\xaf\xd4\xe2\xe0\
+\x56\x60\x07\x90\xe3\x44\x85\x9f\x8a\x29\x34\xac\x1e\x09\x9e\x17\
+\x06\xb0\x0e\xf8\xf8\xd5\x57\x5f\x7b\xe3\x6f\xff\xf6\xcd\x5c\x7e\
+\xf9\xe5\x09\xaa\x77\x70\x5d\xb9\x5c\xc3\x5b\xb2\xc7\x49\x50\xbe\
+\x5c\xfe\x5b\x6b\x9d\x1c\x56\xb9\x5a\x2b\xa2\x28\x26\x08\x22\x5a\
+\xad\x88\x56\x2b\x40\x29\x7d\x5a\xca\xcf\x4a\xdb\x18\x1c\xc7\xa5\
+\x5c\x2a\x22\x7c\x57\xdc\xb3\xe5\x01\x71\x7e\xa5\xd7\x96\x87\x99\
+\x28\x60\x8c\x61\xff\xe4\x34\xdf\x78\x68\x3b\x52\xb4\x3f\xc3\x3e\
+\xee\x5c\x98\x60\x31\x6c\xdc\x87\x35\x80\xd3\x51\x3c\x9c\x1c\x01\
+\x4e\x3a\xff\x5c\x37\x80\x73\x81\x4f\x9c\x7d\xf6\x39\x3f\xfe\xd1\
+\x8f\xfe\xbf\x9c\x7b\xee\x79\x04\x41\x48\xab\x15\xd0\x68\x34\x59\
+\x5a\xaa\xb2\xb0\xb0\x48\xad\xd6\x20\x8a\x62\x60\x05\xdc\xb5\xf3\
+\xbd\x25\x7b\x64\xe2\xb5\xed\x92\x8f\xc4\x00\x02\xe2\x58\x9f\xc4\
+\x1b\x3c\x5e\x69\x33\x8d\x3d\x5d\x15\xee\xde\xf9\x88\x71\xab\x0d\
+\x71\x61\xdf\xd0\x32\xab\xd8\x96\x89\xb9\x05\x3e\xf7\xbd\x07\x89\
+\xe2\x74\x27\xb9\xc0\x95\x92\x5d\x0b\x13\xcc\x06\xb5\x1d\xd8\x86\
+\xd2\x90\x15\xdd\x9d\x8a\x0f\x78\x2c\x11\xee\x63\xff\x9f\x67\xad\
+\x5c\x05\xfc\x47\xa1\xe0\xac\xab\xd5\xc6\xd4\x2f\xfd\xd2\x5b\x8c\
+\x52\x4a\x28\x15\x8b\x28\xd2\xc2\x18\x3b\x2a\xe3\x79\x0e\x5d\x5d\
+\x5d\xf4\xf7\x0f\x70\xc6\x19\xeb\xf4\xe6\xcd\x97\x8a\x4b\x2f\x7d\
+\xb1\xb8\xf0\xc2\x0b\xe9\xef\xef\xa3\x54\x2a\xe2\xfb\x3e\xae\xeb\
+\x20\x84\xc4\x96\xfe\x3a\x01\x7e\xe6\x49\x2b\x1f\xac\x67\xbb\xae\
+\x47\x5f\xdf\x10\x2f\xbb\xe6\x1a\xbe\xf6\x85\x2f\xeb\x8b\x7b\x07\
+\xc5\x15\xeb\x37\x0a\xb4\x46\x29\xc5\xec\x52\x9d\x7f\xff\xde\x83\
+\x34\x82\xe0\xc4\xf7\x62\xf0\xa4\x43\xce\x71\x01\x06\x81\x0a\x76\
+\xfe\x81\x04\x2c\x29\x71\xf2\xa3\x60\xa5\x5a\x20\x39\x0f\x2b\x23\
+\x86\xcb\xe9\xe1\xb9\x6a\x00\x97\x01\x9f\xbe\xe0\x02\xd6\xdd\x74\
+\x93\x62\xdd\xba\xa6\x23\x25\x38\x0e\x78\x1e\xf8\x3e\xe4\xf3\xed\
+\x43\xe3\x38\xb3\xd4\xeb\xb3\xec\xd8\xb1\x5b\xde\x79\xe7\x6d\xfa\
+\x0b\x5f\xf0\xf1\xbc\x2e\x36\x6d\xba\xd4\xbc\xf5\x2d\x3f\x23\xcf\
+\xbf\xf0\x62\x06\x06\x87\xe8\xee\xee\xc6\x71\x1c\xb4\xd6\xf8\xbe\
+\x47\x1c\x2b\x82\x20\x7a\xca\x8c\xc0\xf3\x7c\xae\xb8\xec\xc5\xe2\
+\x8e\xbb\xef\x16\xdf\x3a\xb4\x87\x0d\x3d\x03\x38\x38\xec\x38\x36\
+\xce\xf7\x76\xef\xa7\xde\x6c\x75\x7c\xaf\x40\x90\x77\x7c\xb0\x13\
+\x53\x8a\x58\xef\x77\x58\x51\x7a\xfb\x10\xac\x18\x81\x49\x9d\x6b\
+\x1b\x4b\xda\x68\xe0\x39\x1a\x01\x5e\x0c\xfc\xed\xab\x5f\xcd\x85\
+\x7f\xfd\xd7\x70\xf6\xd9\xa7\xff\xc6\x37\xbc\x01\x3e\xf0\x01\x2d\
+\x1b\xcd\x16\x77\xdc\xd6\xe2\x96\x2f\xdd\xaa\x3f\xff\xa9\xbb\xe3\
+\x79\xb3\x56\x8c\x6e\xbe\x46\xbe\xfe\x75\x37\x70\xf1\xc5\x17\x89\
+\xd1\xd1\x51\x72\x39\x8f\x62\x31\x0f\x18\x5a\xad\xe8\x31\x3f\xfb\
+\x74\x44\x08\xc1\xe0\xe0\x08\x97\x5f\x72\xb9\xf9\xc7\xbf\xf8\xb4\
+\xd1\x0b\xa1\x94\x2d\x87\x7a\xd0\xc2\x91\x72\x99\x6e\xee\x24\x39\
+\xc7\x45\x40\xc5\x58\x86\xd3\xc1\x96\x82\x59\x03\xd0\x58\xcf\x4f\
+\x2b\x19\x56\x0c\x01\x4e\x4c\x0d\xe6\xb9\x86\x01\xae\x06\x3e\xf3\
+\xda\xd7\x72\xc1\xdf\xfd\x1d\xac\x5f\xff\xc4\x3e\xc4\xf3\x60\xd3\
+\x28\xbc\xe1\xa2\x35\xf2\x35\x3f\xf6\x0b\x8d\x73\xcf\x7b\x49\xfe\
+\x8e\xdb\xbf\xc1\x5f\xfd\xd5\x5f\x98\xed\xbb\xf6\xd3\xdd\xdd\x43\
+\x7f\xff\x80\x28\x97\x4b\xf8\xbe\x4b\x1c\xeb\x84\x02\x7e\xf2\x22\
+\xa5\xcb\x40\xff\x80\xf9\xca\xb7\xbf\x21\x0e\xee\x3b\x24\xd6\x96\
+\xfb\xf0\x1c\xf7\x94\xca\x97\x42\x70\xa4\x36\xc7\x91\xda\xec\xac\
+\xc6\xdc\x09\xcc\x73\xe2\xe8\x60\xba\x14\x6c\x4b\xa7\x0f\x34\x99\
+\xc7\xe7\x14\x11\xf4\x32\xe0\x33\x37\xdc\xc0\xe6\xbf\xfd\x5b\x58\
+\xbb\xf6\x09\x7e\x4a\x84\x1d\x5c\x9d\x38\x23\xa0\xeb\x17\xe2\xe2\
+\x39\xef\x2e\x9e\x3d\x9a\xe3\x67\x5f\x9e\x13\x17\x9e\xd5\x2d\xee\
+\x7d\xe0\x41\x3e\xf3\x4f\xff\xae\x14\xae\x1c\x19\x1e\x65\x60\xa0\
+\x1f\xdf\x77\x96\xc9\xa0\x93\xab\xaa\xc7\x27\x42\x08\x7c\xdf\x9d\
+\xdb\xf1\xc8\xc3\xe6\xc1\x9d\xdb\xfc\x8d\xa5\x41\xca\x7e\xfe\x94\
+\xef\x71\x84\xe4\x70\x6d\x96\xc3\xd5\x99\x39\x8d\xb9\x83\x15\x32\
+\x28\x3b\x2e\x90\x95\xf6\xc5\xae\x9a\xc3\x9e\x2b\x06\xf0\x0a\xe0\
+\x6f\xde\xf8\x46\xce\xfd\x9b\xbf\x81\x91\x91\x27\xf8\x29\x2d\xe0\
+\xa8\x80\xb9\x33\x43\x86\x7f\x05\x86\x7f\x39\x4f\xbd\x05\x87\x6f\
+\x81\xe6\x04\x9b\x37\x0f\xf1\x7f\xbd\xe6\x3c\x11\xab\xd8\x7c\xe6\
+\xb3\x5f\x14\xbb\x0f\x8c\x8b\x73\x36\x9e\xc3\x99\x67\x9e\x99\x8c\
+\x0e\x8a\x84\x19\x7c\xe2\x3f\xc4\x75\x3d\x0e\x1e\xdc\x77\xa4\x5e\
+\xaf\x16\xee\xdb\xfa\x50\xa1\x2b\x76\x18\x2e\xf6\x9c\x32\x02\x38\
+\x42\x72\xa8\x3e\xc3\xa1\xda\xcc\x8c\x36\xe6\xbb\x9c\xcc\x06\xb6\
+\xe5\x84\xf0\x7e\x3a\x8f\xcf\x05\x03\x78\x15\xf0\x97\x37\xde\xc8\
+\xe6\xbf\xfc\xcb\x27\xa1\xfc\x00\x38\x22\x60\x61\x7d\xc8\xf0\xbb\
+\x60\xf0\x1d\x39\x54\x11\x8e\x7e\x09\xe6\x1f\xb5\xf5\x5f\xac\x70\
+\x1d\xc1\x2b\xaf\x3e\x53\x6e\x5a\xdb\x23\xbe\x7a\xeb\x3d\xdc\x7a\
+\xe7\x43\xe6\x82\xf3\xce\xe3\xac\xb3\xce\x16\x9e\x67\xcb\xc5\x28\
+\x52\x49\xdf\xe0\xe3\x8f\x04\xae\xeb\xb1\x7d\xfb\x0f\x9a\xc6\xa8\
+\xe2\xc1\x83\x07\x73\xe3\xc7\x27\xd9\xdc\x35\x8c\x2f\x57\x57\x85\
+\x23\x24\x07\xaa\x53\x1c\xaa\xce\x1c\xd7\x98\xbb\xb0\x29\xa0\x8d\
+\xdf\x56\x9a\x19\x3b\x4b\xb6\x02\x38\xa1\xe7\xfd\xa9\x6a\x6b\x7d\
+\xba\xe4\x7d\xc0\xbf\xfe\xd6\x6f\xb1\xf9\x9f\xff\x19\x46\x47\x9f\
+\xe0\xa7\xb4\x80\xbd\x8e\x21\x7a\x71\x93\x73\xfe\x08\x46\xdf\xeb\
+\x13\x49\x38\xf8\x6f\x30\x71\x0f\x84\x4d\x6b\x00\x51\x00\x61\x0b\
+\x6a\x75\x6e\x7a\xf9\x19\x7c\xe5\x4f\x6e\xe4\xa5\xeb\x17\xc4\xdb\
+\x7e\xf6\x67\xf4\xdf\xff\xfd\x67\x8c\xe7\xf9\x94\xcb\x05\xba\xbb\
+\x4b\xa7\xf4\xd8\xd5\xc4\x75\x5d\x26\x27\x8f\x8d\x1d\x3f\x3e\x51\
+\x6e\x34\x1a\x95\xab\x5f\xf2\x52\xa6\x69\xb1\x10\x36\x38\x95\x0e\
+\x05\x82\x40\xc5\xc4\x46\x37\x92\x53\x1e\xd6\x00\xda\x8f\xed\xc3\
+\xc1\xea\xf4\x74\x8e\x67\x3d\x15\xfc\x6b\xc0\x47\x7e\xfb\xb7\x19\
+\xfc\xd0\x87\xa0\x52\x79\x12\x9f\x34\xe5\x41\xf4\xd2\x26\xc5\xff\
+\xea\x33\xf2\x56\x8f\x56\x15\x8e\x7c\x05\x26\xee\x02\x42\x90\x2e\
+\x84\xc9\xbd\x55\x31\xb8\x3e\x20\xa9\xf4\x55\x78\xe9\x85\xc3\xd4\
+\x6a\x0b\xfc\xd9\xdf\xdf\x62\xfa\x7a\x7b\xc5\xe5\x97\x5f\x29\x1c\
+\x47\x2c\xf7\x02\x3c\x9e\x12\x51\x4a\x87\x47\x1e\x79\xa8\x7e\xf8\
+\xf0\xa1\x02\xe0\xf7\xf5\xf5\xf1\xd0\xb6\x87\xe9\x8a\x1d\x86\x0a\
+\xdd\xab\x1a\x95\x23\x25\xdb\xe6\x8e\x32\xd1\x58\xd8\x0d\x3c\x80\
+\xe5\x01\xd2\xba\x4b\xd3\xbe\xd9\x0b\x32\x99\xf3\xe9\xe7\xcf\xda\
+\x2a\xe0\x37\x81\xdf\xf8\xdd\xdf\x65\xe0\x03\x1f\x78\x92\xca\x9f\
+\xf5\xa0\x7a\x79\x93\xfc\x7f\xf3\x18\xf9\x69\x0f\x1d\xc3\xe1\x2f\
+\xc3\xd1\x6f\x83\x63\xc0\xf1\x20\x57\x00\x2f\x0f\x5e\xce\x92\x09\
+\x5a\x81\x8a\x20\x8a\x28\xb8\x9a\x97\x9c\xd3\x2d\xa2\xb0\xc5\x9f\
+\x7c\xe6\x56\xd3\x55\xa9\x88\xcb\x2f\xbf\x42\x48\x69\xec\x24\x60\
+\x75\x7a\x4c\xa1\xef\xfb\xcc\xcd\xcd\x2c\xde\x7f\xff\x3d\x5a\x6b\
+\xd5\x2b\xa5\x24\x9f\xcf\x73\xf4\xc8\x11\xdd\x9a\x5b\x14\x67\x95\
+\x07\x90\x1d\xe6\x19\xb4\xdb\x12\xb6\xce\x1e\x61\xba\x55\x7d\x18\
+\x3b\x24\x1c\x71\x72\xc8\x68\x73\x00\x70\xa2\x11\x98\x0e\xc7\xb2\
+\x3c\x1b\x0d\xe0\x7f\x03\x1f\xfc\xd8\xc7\xe8\x79\xdf\xfb\xa0\x5c\
+\x7e\x02\x9f\xd0\xfe\x99\xaa\x00\x07\xce\x89\xc8\xbd\xcb\x61\xed\
+\x4f\x7b\x38\x12\xc6\xbf\x03\xd3\x77\x81\x6a\x01\x32\x09\xfd\x91\
+\x7d\x43\x1c\xda\x09\x9c\x60\x0d\xc1\x71\x40\xba\xe4\x8a\x39\xae\
+\xbc\x60\x48\x34\x9a\x55\xfe\xe0\xcf\xbf\x64\x4a\xc5\x02\x2f\x7b\
+\xd9\xcb\x84\x6d\x16\xd1\xc4\xf1\xa9\x4b\x44\xc7\x71\x68\x36\x1b\
+\xf5\x87\x1f\x7e\x70\x66\x6c\xec\xe8\x88\xeb\xba\xb2\x3d\x4e\x10\
+\x04\x01\xe3\x47\x8e\x8a\x4d\xa5\x35\xb8\x1d\x70\x80\x14\x82\x50\
+\xc5\x6c\x9d\x3b\xc2\x7c\x50\xbf\x07\x3b\x73\x28\x8d\xee\xd3\xde\
+\x9f\xbd\x03\x69\x76\xb0\xe3\xf1\x6c\x23\x82\x7e\xd6\x75\xf9\xc0\
+\xc7\x3f\x4e\xe9\x5d\xef\xb2\x4c\xde\x69\x4b\xda\xb6\x05\x20\x8a\
+\xf0\xe8\x3a\x45\xf9\x3d\x92\x33\xde\xea\x60\x02\x38\xf8\x4d\x98\
+\xbc\x13\x08\x2d\x5d\x88\x48\xc2\x3d\x49\xdf\x9e\x49\xa6\x72\x6b\
+\x8b\x05\x54\x13\xc2\x00\x84\xa0\x9c\x2f\xf0\x81\xb7\x9c\x2d\x6b\
+\x4b\x4b\xe6\x0f\x3f\xfe\x47\xe6\xe5\x2f\x7f\x39\x17\x5f\x7c\x09\
+\x4a\xd9\x9e\x81\x30\xec\xbc\x12\x8c\x55\x72\x18\xec\xdc\xf9\xe8\
+\xfc\xee\xdd\x3b\x86\x3d\xcf\x73\xda\xa1\xde\xf7\x7d\x06\x07\x07\
+\xc5\x43\x52\x9f\x62\x56\x87\xa0\xa9\x22\x9a\x71\x08\x16\xfd\x87\
+\xd8\x7c\x9f\x26\x7b\xd2\x0d\xa3\xa4\xfe\x4e\x0f\x18\x75\x94\x67\
+\x4b\x04\x70\x80\x5f\xf4\x3c\x3e\xf1\xa9\x4f\x51\x79\xe7\x3b\x21\
+\x97\x7b\x9c\x9f\x10\xb1\x12\x18\x9d\x3c\x6c\x3f\x53\x51\xf9\x75\
+\x38\xf3\xc7\x1d\x4c\x0b\x26\x6f\x83\xa5\x87\x41\xc4\xe0\xe6\x6c\
+\xde\x47\x40\xd0\x84\xa0\xb1\x02\x00\xdb\xd1\xc0\x68\xf0\x0b\x50\
+\xac\x40\xa1\x02\x7e\x81\x5c\xb9\xcc\x8b\x36\x0d\x8a\xfd\xfb\x0e\
+\x8a\x6d\x87\x9a\xbc\xf8\xaa\x2b\xa8\x54\x4a\x44\x91\x6d\x11\xcb\
+\x8a\x10\x82\x28\x8a\xc2\x1d\x3b\x1e\x9d\x7a\xf0\xc1\x7b\xfb\x5d\
+\xd7\x2d\x4a\x29\x59\x5c\x5c\xa4\xd9\x6c\xe2\xfb\x3e\xf3\xf3\xf3\
+\x3c\xbc\x6d\x1b\x97\x56\xd6\xe2\x75\x88\x00\x8e\x10\xcc\xb6\x6a\
+\x6c\x9d\x3d\x1c\xb4\x54\x74\x1b\x30\xc6\x4a\x05\x00\x27\x33\x7e\
+\xed\x73\x59\x86\xb0\x63\x44\x78\x36\x44\x80\x1c\xf0\x8b\xc5\x22\
+\x7f\xfa\xee\x77\xe3\xbd\xf3\x9d\x4f\xf0\x53\x7c\x92\x9f\x94\x83\
+\x47\x37\x28\xba\x7f\x07\x86\x5f\xe3\x60\x42\x38\x76\x0b\x4c\x3d\
+\x08\x71\x0d\x74\x6c\x15\x1d\x87\x50\xec\x06\x84\xcd\xfd\xae\x07\
+\xd2\xb3\xe3\xaf\x02\x6b\x10\x2a\x86\xa8\x0e\x71\xf2\x9e\xb0\xc9\
+\x70\xa5\xc4\xfb\xde\x7c\x0e\x6f\xfb\xc3\xcf\x9a\x2b\xaf\xb8\x9c\
+\x9f\xfb\xd9\x9f\x11\xb9\x9c\xb7\xdc\x33\x90\x96\x56\xab\xd9\xdc\
+\xb2\xe5\xde\x63\x7b\xf6\xec\x5a\xef\x38\x8e\x6f\xfb\x0f\x1c\xe2\
+\x38\x66\xef\xde\xbd\xec\xdf\xbf\x1f\xcf\xf7\xa9\xb7\x9a\xab\x46\
+\x00\x21\x04\x0d\x15\xb0\x18\x36\x8f\x00\x8b\xac\x20\x7d\xc3\x0a\
+\xa2\x6f\xd7\xa4\xab\x11\x42\xab\x9d\xe7\x99\x36\x80\x22\xf0\xae\
+\xae\x2e\xfe\xf8\xbd\xef\x45\xdf\x7c\xf3\x93\xfc\xb4\xc0\x81\x3d\
+\x1b\x34\x6b\x7e\x4f\xd0\x7f\x95\xa4\x39\x05\xe3\x77\xc2\xd4\x7d\
+\x20\x94\xf5\x7a\x37\x07\xf9\x2e\xab\x68\xad\x20\x8e\xac\x51\x54\
+\x67\xad\xf7\x4b\x09\x42\xda\xf3\xe5\x1e\x9b\x22\xbc\x02\x14\xbb\
+\xc0\x71\xc1\x68\x2e\xbf\xb4\x9b\xd7\xbf\xe8\x80\xf9\x97\x7f\xfa\
+\x8c\x39\x63\xed\xa8\xbc\xf2\xca\x17\x8b\x54\x6f\x81\x89\xe3\x38\
+\x9e\x9b\x9b\xad\xde\x71\xc7\x37\x8e\x37\x9b\xc1\xf9\x52\xda\x12\
+\x70\x7e\x7e\x9e\x30\x0c\x71\x5d\x17\xad\x35\xe3\xe3\xe3\x8c\x8e\
+\x8e\xa2\x4d\x96\xba\x5f\x91\xd8\x68\xe6\x5a\x35\x34\xe6\x30\x2b\
+\x06\x70\x2a\x65\xb7\xe5\xb1\x5e\x07\x9e\x59\x03\x28\x03\xbf\xd2\
+\xdf\xcf\x1f\xfe\xda\xaf\xa1\x3f\xf2\x91\x27\xc1\x49\x68\x60\x1a\
+\xc3\xb1\x61\xcd\xf0\xaf\x43\xdf\xc5\x0e\x8d\x19\x98\x7e\x08\x96\
+\xb6\x41\x3e\x67\xbd\x58\xc5\x10\x85\x56\xe1\x51\x08\x71\x13\xdc\
+\x04\xfd\xe7\x0a\x50\xea\x05\x3f\xbf\x02\x04\x4d\x92\x0a\xb4\xb6\
+\xc6\xd2\xaa\x41\xb3\x0a\x39\x9f\xf7\xbc\xed\x32\xf9\x73\x37\xdf\
+\xc9\x6d\xb7\x7f\xd7\x6c\xda\x74\xae\x6a\xb5\x22\xa3\x35\xaa\xd5\
+\x6a\xc5\xf7\xdd\x77\xd7\xfe\x89\x89\xa3\xe7\x68\xad\xcf\x3f\x7c\
+\xf8\x30\xf9\x7c\x9e\xa1\xa1\x21\xe2\x38\x66\x6c\x6c\x8c\xbe\xbe\
+\x3e\x84\x10\x84\x61\x68\xdb\xcf\x56\x29\xff\xa4\x10\x2c\x85\x4d\
+\x8e\xd6\xe7\xc0\xb6\x82\x2d\xb2\x92\xff\x57\x6b\x00\x39\x15\x57\
+\x7d\x92\x51\x3c\x53\x06\x50\x06\xfe\xfb\xe0\x20\x1f\xfd\xe0\x07\
+\x31\x1f\xfa\xd0\x93\x24\xa4\x62\x0c\x8b\x7d\x11\x23\xef\x11\x74\
+\x6d\x70\x99\xdb\x0f\xd3\xdb\x61\xe6\x07\x50\x9f\x85\x5c\xd1\x96\
+\x7b\x9e\x67\x91\xbd\xeb\x5a\x45\xd3\x6d\xdf\xef\xe7\xec\xeb\x06\
+\x6b\x1c\x71\xb8\x42\x0c\xc5\x21\xb4\xea\x36\x62\xe4\x8a\xd0\x3b\
+\x0c\x6e\x8e\x73\x86\x5d\x6e\x7a\xc5\xd9\xfa\x4f\xff\xe6\x13\x71\
+\xd0\x5a\x5a\xe8\xee\xee\xd1\xae\xeb\x4f\xb7\x5a\xf5\x75\xb9\x5c\
+\xee\x92\x5c\x2e\x47\xb3\xd9\xa4\xd5\x6a\x71\xf4\xe8\x51\x94\x52\
+\x54\x2a\x15\xea\xf5\x3a\x9e\xe7\x21\x84\x20\x8e\x63\x82\x30\xc0\
+\x93\xe9\xf9\x1e\x2b\x22\x80\xe9\x56\x95\x7d\xd5\xe3\x75\xe0\x68\
+\x72\xba\x3d\x0c\x0c\x27\xc2\xde\x6c\x15\xd0\x49\x4e\x3a\xff\x4c\
+\x80\xc0\x12\xf0\xde\xc1\x41\x3e\xfa\xe1\x0f\x63\x3e\xf8\xc1\x27\
+\x31\xb2\x02\x16\x13\x8f\x15\x43\xba\x7f\x0f\x0a\xeb\x7c\x66\xc6\
+\x05\x53\x3b\xa0\xba\xd7\xae\xe8\xd5\x35\x00\xa5\x1e\xab\xbc\x76\
+\x9d\xad\x23\x7b\x2b\x72\x25\x1b\xd6\xb5\xb6\xd1\x21\x0e\xad\x97\
+\x07\x0d\x68\x35\xec\xf3\x42\x19\xca\xbd\x50\xee\xb3\xff\x5f\x48\
+\x7b\x3e\x8e\xd9\xbc\x61\x40\x7c\xf5\xce\xdd\xce\xd1\xe3\xcd\xd2\
+\x86\x0d\xeb\xca\x13\x13\x63\x43\xbe\xef\xe7\x95\x52\x04\x41\x80\
+\x31\x86\x20\x08\x98\x9a\x9a\x22\x8a\x22\x7c\xdf\x67\x61\x61\x61\
+\x59\xf9\x0b\x0b\x0b\x04\xad\x90\xd6\x52\x95\xcb\x7a\xcf\x3c\x01\
+\x04\x4a\x04\xd5\xb8\xc5\x3d\xc7\xf7\x70\xb4\x3e\xbf\x13\xf8\x26\
+\x27\x36\x7e\xb4\x87\x7d\xb3\xc3\xc0\xd9\xe7\x8a\x13\xc1\x5f\x1a\
+\x14\xfe\xd0\x23\x40\x01\x78\xcf\x9a\x35\xfc\xfe\x6f\xfc\x06\xe6\
+\xfd\xef\x7f\x92\xca\x8f\x31\x8c\x95\x42\xea\x6f\xd7\x0c\xbd\xb4\
+\x40\x7d\x11\xe2\x49\x90\x55\x68\x4f\xc9\x8a\x93\xd9\x40\x2a\xb6\
+\x94\xaf\x74\x2c\xe9\x03\xf6\xb5\x20\x51\xb4\x90\x16\x23\x78\x3e\
+\xe4\x7a\x2c\x28\xd4\x1a\x8c\x6d\xf1\xc6\xa8\xc4\x50\x22\x1b\x11\
+\x1c\x97\xc1\x33\xfb\xb9\xe1\x9a\xb3\xf4\x5f\xff\xe7\x6e\xb1\x6b\
+\xd7\xa8\xa8\xd7\xeb\xcc\xcf\xcf\x2f\x7b\xfa\xfc\xfc\x3c\x1b\x36\
+\x6c\xc0\x71\x1c\xe6\xe6\xe6\xc8\xe7\xf3\xe8\xa4\x03\x28\x8a\x22\
+\x5c\xd7\xa5\x5a\xaf\x9a\xa2\xf0\x85\x4c\xdd\x0a\x81\x20\x34\x31\
+\x3f\x98\x39\xcc\xc3\x73\x47\x17\x80\xef\x62\x57\x1f\xed\x34\xdc\
+\x9b\xad\xed\x4f\x59\xf7\x67\xdf\xfb\xc3\x8c\x00\x39\xe0\x7d\xbd\
+\xbd\x7c\xec\xc3\x1f\xc6\x7c\xe0\x03\x4f\x52\xf9\x01\x86\x23\x6b\
+\x42\xa2\xf7\x68\xce\x7e\x7b\x8e\x56\x4d\x30\xb3\x1d\xea\x07\x40\
+\x07\x56\xb1\xcd\x2a\xd4\xe7\x92\x25\xde\xb4\xfd\xf9\xad\xfa\x0a\
+\x16\x40\x5b\x90\x57\xea\x81\x52\x77\x92\xff\x25\xa8\xd0\x1a\x8b\
+\x36\x56\xe1\x18\x9b\x02\x54\x64\xcf\xe5\x4b\x36\xa2\x20\x59\x53\
+\x40\x7c\xe1\xb6\x9d\xa2\x1e\xf9\xa8\x38\xa2\xd1\x68\xd0\x68\x34\
+\x28\x97\xcb\x6c\xdd\xba\x15\xdf\xf7\x31\xc6\xb0\xb4\xb4\x84\xe7\
+\x79\x44\x51\x44\x2e\x97\x23\x08\x02\x0a\x85\x02\xe3\x13\x13\x66\
+\x80\xbc\xd8\xdc\x3d\x82\x93\x98\x81\x32\x9a\x07\x67\x0f\x73\xfb\
+\xd8\x8e\x50\x63\xbe\x06\xdc\x86\x8d\xd6\x59\x2f\xce\x7a\xba\xca\
+\x3c\x4f\x47\x80\x4e\x51\xe0\x87\x16\x01\x7c\xe0\xbd\x5d\x5d\xfc\
+\xde\x87\x3f\x0c\x1f\xfa\xd0\x93\x54\x7e\x0b\xd8\xd5\x17\x23\xde\
+\x0d\xe7\xbf\x23\x4f\x38\x23\x38\x72\x07\x2c\xee\x03\xa1\x6d\x9b\
+\x43\x7d\xde\x7a\xac\xe7\x5b\xe5\x19\x01\x9e\x0b\x5e\x8f\xad\xef\
+\x65\x42\xf9\xea\x18\xe2\x00\x9a\x8b\x2b\x1d\xa1\x5a\xd9\xf7\x14\
+\xbb\x93\xd2\x10\x40\x82\x5f\xb4\xdf\xaf\x63\x10\xd0\x5c\xa8\xd1\
+\xed\xeb\xa5\xcd\xeb\xfa\x73\xdb\x27\x26\x7d\xd3\xbb\x46\x08\x60\
+\x7e\x7e\x9e\xbe\xbe\x3e\xd6\xad\x5b\xc7\xe1\xc3\x87\x19\x19\x19\
+\x21\x8a\x22\xea\xf5\x3a\x60\xc9\x21\xdf\xf7\x29\x14\x0a\xd4\x1b\
+\x0d\xd1\x5f\x1e\xa0\x1d\x01\x34\xb0\x75\xee\x28\xb7\x1f\xdb\x1e\
+\x47\x46\xdd\x0a\xdc\xc2\x8a\xf2\xa1\xb3\x57\x67\xbd\x3e\xfd\x9c\
+\x55\xce\x01\x3f\x1c\x03\xe8\x05\xfe\xf8\x8c\x33\xf8\x85\x4f\x7d\
+\x0a\x6e\xba\xe9\x49\x7e\xda\x02\xf0\xc8\x86\x90\xd2\xfb\x24\x9b\
+\xdf\x94\x63\xfa\x07\x70\xf4\xbb\xd0\x18\x07\x47\x82\xf0\x6c\x38\
+\xef\x1a\xb4\x80\x4f\x24\x94\xae\x31\x09\xf2\x0f\xa1\x36\x6f\x01\
+\x9e\xe3\x26\xc6\xa1\xed\xa3\x97\x87\x9c\x9f\x70\x02\xed\x8e\xab\
+\xc4\x56\x83\x3a\xd4\x17\x2d\x71\x24\x0d\x93\x75\x97\xf1\xc3\x63\
+\xb5\xfe\x35\xa3\xc1\x7f\xbb\xf1\xa2\xe2\x5f\xff\xcb\xdd\x62\x22\
+\x2e\xd1\x52\x0e\x8d\x66\x93\xc9\xc9\x49\x86\x86\x86\x38\x7a\xf4\
+\x28\x71\x1c\x13\x86\x21\xd5\x6a\x95\xc1\xc1\x41\x7a\x7a\x7a\x58\
+\x5a\x5a\xa2\xd9\x6c\x12\xc5\x91\x58\x5f\xee\xc7\x91\x96\x96\xbe\
+\x7d\x62\x07\xf7\x1e\xdf\x17\xc4\x46\x7f\x16\xb8\x9b\x13\x7b\xfd\
+\xda\xb2\x5a\x24\xc8\xe2\x80\xc7\x24\x83\x9e\x6e\x03\xe8\x05\xfe\
+\x68\x68\x88\xb7\x7f\xf2\x93\x4f\x81\xf2\x6b\xc0\x96\xc1\x80\xfc\
+\x4f\x3b\x9c\xff\x16\x97\xf0\x30\xcc\x6e\x05\x35\x0f\xa5\x2e\xeb\
+\xd5\xd2\x59\x01\x7b\xed\xe5\xde\x1a\x55\x0b\xee\xa4\x9b\x28\x57\
+\x5a\xe5\x3b\x09\x1e\x68\x2b\x5c\xc8\x95\x46\x7c\x8c\xa5\x81\x5b\
+\x55\xcb\x09\xa8\xc8\x46\x06\x09\x8d\xf9\x2a\x3b\x76\xce\xd4\x87\
+\x7a\xcb\xda\xcb\xe5\x07\x5e\x72\x6e\x49\x7c\xbd\x1b\x53\x6d\x68\
+\xd1\xd2\x36\xab\x2e\x2e\x2e\x52\x2e\x97\x29\x95\x4a\x78\x9e\x5d\
+\x7c\xc2\xf7\x7d\xd6\xae\x5d\x4b\x77\x77\x37\x4b\x4b\x4b\xcc\xce\
+\xcd\x51\x72\x72\xf4\xe4\x8a\x38\x42\xf2\x9d\x89\x9d\xdc\x37\xb5\
+\x5f\xc7\x46\xff\x07\x70\x1f\x2b\x54\x6e\xbc\x72\x51\x27\x28\xb1\
+\x93\x62\xb3\x1d\xc2\xab\xe1\x02\xe0\xe9\x8d\x00\xfd\xc0\xc7\x87\
+\x87\x79\xfb\xa7\x3f\x8d\x78\xd3\x9b\x9e\xe4\xa7\xc5\xc0\x83\xbd\
+\x01\xfc\xb8\xc3\xe5\xff\xcd\x45\x4c\xc1\xdc\x2e\x08\xa7\x21\x5f\
+\x5e\x19\x36\x0b\x1a\x36\xcf\xc7\x91\x55\xac\xeb\xdb\xe5\x5a\x0b\
+\x5d\x36\xb7\x07\x75\xa8\xf4\x40\xbe\x68\x7b\x62\x65\x5b\xe9\x49\
+\x24\x08\x5b\x2b\xf8\xc1\x49\x5e\x77\x3d\x6b\x00\xc2\xd0\x58\x6a\
+\xf0\xc0\xa3\xe3\x51\x77\xb9\x5b\xf7\x0c\x8e\x96\xa5\x57\x10\x45\
+\x47\xb1\x7e\xb0\x60\x8e\x1c\x8b\x85\x08\x3c\x00\x6a\xb5\x1a\xb3\
+\xb3\xb3\xe4\xf3\x79\x2a\x95\x0a\x71\xd2\xeb\xdf\xfe\xdb\x18\xc3\
+\xd8\xd8\x98\x19\xf6\x2a\xa2\xe8\xe6\xb8\xeb\xf8\x6e\xee\x9d\xda\
+\x4b\xa4\xd5\xe7\x80\xef\x25\xbf\xba\xad\xfc\x4e\x4a\xcf\xe6\xfa\
+\x4e\xff\x27\x6b\x20\x27\x0d\x0b\x3f\x5d\x06\x90\x03\xfe\x64\x64\
+\x84\x9f\xfb\xd4\xa7\x10\x6f\x79\xcb\x53\xf0\x89\x77\x77\x07\x38\
+\x3f\x2f\x78\xc9\x3b\x5d\xfc\x06\x4c\x6c\x85\xe9\x6d\x10\xd6\x57\
+\xe8\xdd\x76\x5e\xf7\xf2\x50\x2a\xae\xb0\x7a\x52\xda\x54\xa0\x3c\
+\xcb\x04\xba\x39\x7b\x5e\x6b\x88\x5a\x56\xb9\x61\x62\x1c\x42\x82\
+\x30\xd6\x60\xa4\x80\xda\x02\xe4\x04\x14\x2b\x44\x11\x6c\x3b\x34\
+\x13\x35\x9b\x34\xce\xdd\x34\x50\xf1\x3d\x57\x36\xaa\x0b\x78\x39\
+\xc9\xe5\x6b\x73\xf2\xe8\x5c\xdd\x8c\x37\x0a\x22\x19\x03\x20\x08\
+\x02\x72\xb9\x1c\xb5\x5a\x0d\xcf\xf3\x70\x5d\x3b\x57\xb0\x5a\xad\
+\xd2\x68\x34\x58\xac\x55\xc5\x35\x03\xe7\xb1\x65\xe6\x20\xf7\x4c\
+\xee\xa1\xa9\xa2\x2f\x00\xf7\xb0\xa2\xf4\x74\x09\x97\x2d\xe7\xda\
+\xcf\xe1\x44\x00\x98\x7d\xdf\x6a\x11\x02\x78\x7a\x22\x40\x01\xf8\
+\xb5\x75\xeb\xf8\xbf\x3f\xf1\x09\x78\xd2\x9e\x0f\x70\x4f\xa5\x45\
+\xfc\xd3\x0e\x97\xbe\xd3\xc5\x0d\xe0\xe0\xb7\xe0\xe0\xfd\x10\x35\
+\xad\x97\x96\x7a\x2d\x8a\x97\xc9\xcf\x69\x2b\xfe\x04\x7e\xc4\x24\
+\x58\x40\x27\x11\x22\xc1\x03\x5e\x61\x05\x07\x14\xba\x2c\x21\x14\
+\xd6\x93\x70\xef\x42\xa5\x17\x72\x25\x94\x36\xec\xde\x73\x38\x9e\
+\x5b\x6c\x35\x2e\x38\x7b\xa8\x1c\x23\xa4\x89\x41\xc6\x2d\x72\xf1\
+\x3c\xb9\x9c\xc3\x70\xae\x49\x18\xb4\x96\xe7\x16\x14\x0a\x05\x46\
+\x47\x47\x99\x9e\x9e\xc6\x71\x1c\x72\xb9\x1c\x4a\x29\x5a\xad\x16\
+\x73\x73\x73\x14\xa4\xcb\x58\x7d\x81\xdd\x4b\x13\xd4\xe3\xf0\xab\
+\xac\x28\x3f\x0d\x92\xd3\x0a\xcc\x22\xfb\xd5\x50\x7f\x36\x32\x74\
+\x02\x80\x4f\x4b\x04\x28\x03\x1f\xec\xe9\xe1\x7f\xfc\xf9\x9f\xc3\
+\x0d\x37\x74\xa2\xa3\x4f\x02\xa2\xa7\x96\xad\xe5\x3a\x73\xd7\x79\
+\x5c\xfd\x4b\x1e\x6e\x08\x47\xbf\x01\xc7\xf7\xda\xd2\xcd\x5d\x93\
+\x90\x9b\x4e\x2a\x77\x67\xbf\x2b\x91\x38\x86\xc6\x82\xad\x04\x1c\
+\x3f\x21\x75\x9c\x24\xcb\x7a\x90\x73\x20\x6e\x41\x2b\xe1\x0a\xf2\
+\x85\x64\xd4\xd0\x7e\xf6\xec\xd4\x6c\x74\x7c\x6a\x61\xf1\xc2\xb3\
+\x06\x7b\xca\xf5\x09\xa7\x11\xf9\x38\x71\x1d\x27\xa8\x61\xca\x65\
+\xf2\xbe\x4f\x8f\x1b\x81\x8e\xd0\xc2\xae\x3a\x52\x2c\x16\xe9\xea\
+\xea\xe2\xc8\x91\x23\x74\x77\x77\x93\xcf\xe7\xa9\xd5\x6a\xb4\x5a\
+\x2d\xc6\xc7\xc7\x8d\x13\x1b\xb1\xbd\x39\x46\x53\x85\xb7\x60\x6b\
+\xfd\x30\x75\xe1\x69\xcf\x4f\x83\x3b\xd5\xe1\x58\x8d\x10\x5a\xad\
+\x22\x58\x7e\xfe\x54\x1a\x40\x0e\x78\xe7\xc0\x80\xf8\x9d\xdf\xfa\
+\x4d\xc1\x0d\x2f\x91\xb0\xd7\x45\xb5\x72\x81\x09\xbb\x1b\x46\x95\
+\x5b\x26\xca\xc5\x26\x5f\x88\xc5\x99\xb1\x70\x7a\x0f\xad\x71\xdc\
+\x5a\x09\x1d\x1b\xdb\x96\x85\x38\xc9\x56\x76\xe7\xaa\x1c\xbc\xca\
+\xe3\xca\x5f\xf2\x91\x4b\x30\x73\x18\xaa\xc7\x93\xfc\xdd\xc9\xb0\
+\x12\x83\x8b\x02\x0b\xfa\x8c\x59\x51\xb8\x4c\xe8\xdf\xa0\x09\xba\
+\x69\x07\x77\x7c\xdf\x62\x85\xfa\xbc\x8d\x0e\xf9\x12\xe4\x2b\xc9\
+\xa0\x8f\x80\xa0\x8a\x09\x9a\x4c\x4d\x57\xe3\xfd\x47\x67\x97\x36\
+\xf4\xe4\x7b\xbb\xa3\x19\x67\xc9\x2d\xd9\x28\x13\x46\x04\xa1\x41\
+\xe4\xfa\x29\xe5\xa7\x28\xf8\x8a\x82\xef\xd0\x68\x58\xd6\xaf\x52\
+\xa9\x50\xab\xd5\x92\xb9\x81\x2e\xa5\x52\x89\x7a\xbd\xce\xe2\xe2\
+\x22\x8d\x46\x43\xd4\x5b\x75\x80\x5b\x81\x3b\xb0\x6d\xab\x59\xc5\
+\x67\x15\x1b\xa7\x8e\x4e\xde\x9e\x35\x98\x34\x07\x70\x12\x00\xe4\
+\x29\x8e\x00\x17\x77\x95\xfc\x8f\xfc\xd2\x4d\x97\x2f\xfc\xf2\xcb\
+\x5e\x5e\x5d\x3c\x38\x50\xa6\x38\x50\x92\xc5\x42\x4e\x14\x64\x4e\
+\x48\x89\x31\xda\xe0\xe6\x31\x0d\x10\xc7\x27\x8c\x69\xcd\xcc\x99\
+\x4a\x34\xe9\x15\x76\xc7\xae\xba\x6b\x9d\x1c\x9c\xeb\x76\xfc\xc0\
+\x52\x61\x0b\xde\x2c\x47\x5f\xe1\x72\xe5\x3b\x7d\x0a\x02\x26\xef\
+\x85\xe6\x94\xcd\xf7\x98\xe4\x67\x08\x4b\xeb\x36\xdb\xa0\xcf\xb1\
+\x21\x5c\xba\x2b\xa3\x77\x69\x03\x31\x06\x0a\x49\x49\x18\x36\x2d\
+\x06\xc8\x15\xa0\x67\x30\x19\x00\x4a\x06\x7f\x82\x06\xb4\x9a\xe8\
+\xfa\x22\x0b\x2d\x1d\x1f\x9d\xa8\xcf\x8d\x16\xdc\x81\x1e\x4f\xcb\
+\x66\x5d\x63\xa4\xc1\x15\x02\x15\x47\xe8\x7c\x85\x5c\x6d\x82\x30\
+\x56\x2c\x06\x02\x2f\x5f\xa4\xe2\x48\x0a\x85\x02\xe7\x9c\x73\x0e\
+\x0f\x3f\xfc\x30\x9e\xe7\x51\x2a\x95\xe8\xea\xea\xa2\x56\xab\x71\
+\xf0\xe0\x41\x1a\x8d\x06\xc0\xed\xc9\xd1\xe0\x44\x6f\xed\xf4\x98\
+\x55\x6a\xc4\xc9\x91\xa0\x6d\x18\xa7\x62\x03\xe1\x69\x88\x00\x39\
+\xe0\xe5\x17\x9f\x7b\x46\xff\xbb\xde\xf1\x33\x04\xeb\xce\xed\x91\
+\x46\x80\xe3\xe0\x08\x0f\x21\xbd\x04\x68\x3b\x02\x69\x10\x4a\xa0\
+\xbb\x06\x04\x9a\x3e\x1d\x35\xfa\x74\x7c\x29\x35\xe7\xed\x2d\x39\
+\x7e\xf0\x50\x41\x7f\xba\x5b\x06\x47\x5c\x77\xcf\x19\x0e\x83\xe7\
+\x56\xa8\x1d\x90\x4c\x4d\x43\x54\x4d\x50\x7c\x72\xaf\x84\xb3\x82\
+\xd2\x73\x79\x3b\x74\xdb\x49\xda\xa5\xa0\x8a\xc1\x24\x8c\xa0\x4a\
+\x9c\xad\x4d\x08\xb5\x07\x7e\x6a\x73\x89\x91\x94\x89\xf3\x65\x76\
+\x1d\x9c\x8f\x66\xe7\x82\xf9\x91\x81\xc1\xbe\x35\xd1\x51\x19\xe1\
+\xd1\xcc\xf5\x10\x2f\xcd\xe1\xba\x3e\x71\x18\x92\x77\x1c\x5c\x22\
+\x9a\xca\x21\x88\x05\x95\xae\x1e\xfa\x4b\x3d\x78\x9e\x47\x2e\x97\
+\xa3\x58\x2c\x32\x38\x38\xc8\xc0\xc0\x00\x8d\x46\x83\xc3\x87\x0f\
+\x33\x31\x31\x61\x8c\x31\xdb\x81\xbb\xb0\xca\x6f\xd7\xf9\x69\xa0\
+\xd6\x56\x68\xa7\x70\x1f\xa7\x1e\x3b\x85\xfc\x4e\x11\xe4\x24\xe5\
+\xf3\x14\x46\x80\x7e\x29\xc5\x4d\x9b\x2e\x38\x97\x33\x2e\xb8\x98\
+\x7a\xa3\x85\x74\x7c\xa4\xe3\xe1\x38\x3e\xc2\xc9\x21\x1c\x81\x50\
+\xc2\x32\x75\x8e\xc4\x11\x05\x4c\x1c\xa1\xa4\x44\xb9\x1e\x9e\x56\
+\x79\xd1\x73\xc1\x59\xf5\xd6\x9f\xd6\xf3\x87\xfe\xa3\x21\xa6\xbe\
+\xdc\xe5\x1c\xfd\x27\x49\xdf\x7a\xe8\x19\x82\xae\x7e\x3b\x6c\x9b\
+\x2f\xd9\xd2\xce\xc9\x5c\xba\x59\xfe\xc7\x02\x38\x95\xb0\x7c\x06\
+\xab\xf0\x28\x4a\x46\x04\x7d\x70\x0b\xe0\xbb\xd6\x20\x1a\x4b\x36\
+\x12\xf8\x79\x0b\xf8\xfc\x22\x51\xa4\xd8\xb7\xf3\x90\x9a\x99\x6d\
+\x2c\x74\x77\x0f\xf4\x0d\xbb\x8b\xae\xa9\x55\xa9\x16\xcf\xc4\x0b\
+\x17\xc8\x17\x72\x78\xba\x89\x32\x1a\x57\x07\x18\x99\xa3\x4b\x06\
+\xe4\x3d\x4d\x77\xa1\x97\x72\xcf\x1a\xaa\xd5\x25\xa6\xa7\xa7\x19\
+\x1a\x1a\x62\xdd\xba\x75\x34\x1a\x0d\x76\xef\xde\xcd\x8e\x1d\x3b\
+\x8c\x52\xea\xfb\xd8\xb5\xff\x16\x58\x41\xaa\xab\x91\x37\xed\x90\
+\x1f\xa5\x0e\x95\x3c\x66\x53\x43\xa7\xbc\xdf\x89\x06\x6e\xdf\xac\
+\xa7\xcc\x00\xce\x58\xbf\x6e\xe4\xba\x1b\x5e\x77\x35\xb1\x32\x38\
+\x4e\x21\x31\x00\x89\xe3\xe6\x92\xb9\xf8\x8e\x65\xea\x30\x16\xa1\
+\x1b\x30\x8e\x00\x21\x10\x42\x62\x54\x84\xc1\x90\xcb\xcb\x92\xb8\
+\xfc\xa7\x4a\x51\x2e\x5f\x67\xf7\x2d\xda\x89\x83\x82\x6d\xd9\xee\
+\xb3\x23\x73\x90\xa0\x76\xec\x6f\x69\xaf\xb4\xb1\xfc\x18\xdb\xd2\
+\x2e\x8e\x6d\x74\xf0\xfc\xa4\x09\x24\x69\x2d\x8e\x02\x68\x2e\x25\
+\x46\x12\x5b\xe4\x9f\x2b\x5b\xac\x60\xac\xf1\xec\x7d\x78\x97\x3a\
+\x72\x64\x71\xb1\xd2\x3f\xd8\x7b\x46\xaf\xe3\x7a\x93\x07\xa9\x77\
+\x9d\x8d\x68\x45\xc4\x5a\x51\xec\x2a\x13\x07\x2d\xb4\xb1\xb8\xc3\
+\x89\x5a\x2c\x34\x41\x0a\x17\x04\xc4\x71\x84\xe3\x38\x14\x0a\x05\
+\x3c\xcf\xc3\x18\xc3\xb1\x63\xc7\xd8\xb6\x6d\x1b\x41\x10\xdc\x0f\
+\x7c\x1b\xbb\x0c\x6c\x9b\xe2\x3d\x15\xaf\xdf\x29\xcc\xa7\xcb\xc4\
+\xd5\xc6\x00\xb2\x46\x90\xdc\xb0\xe5\xc7\xa7\x2c\x05\xe4\x80\xeb\
+\xd6\x8e\x0e\x70\xed\xd5\x97\xa0\x8c\xb0\x4a\x97\x12\xc7\xcf\xe1\
+\x38\x39\x30\x32\xc1\x67\xae\xbd\xe9\xed\xe5\x2f\x1c\x81\x54\x20\
+\xb4\x41\x09\x81\x8e\x35\x46\x3a\x28\x0c\xf2\xf2\x5f\x28\x05\x83\
+\x97\xcc\xbb\x47\xbe\xad\x9c\x85\x03\x25\xe7\xc8\xa3\x82\xe1\x73\
+\x6d\xa8\xf7\x7d\x50\xda\xe6\xff\xf6\x48\x9e\x8a\x13\xf0\x66\xc0\
+\xc9\x59\xa5\x4a\x61\xcf\x07\x4d\x4b\xec\xc4\xc9\xf8\xbe\x70\xa0\
+\xd2\x67\x23\x82\xeb\x63\xa4\x83\xd0\x06\x24\x8c\xef\x3b\xa0\xeb\
+\xe3\x63\x8d\xae\xee\x33\xba\xfa\xca\xbe\x5b\x9c\xdd\x4e\x24\x8b\
+\xb4\x44\x01\x5a\x47\xd0\xc2\x47\x86\x2d\x82\xd0\xe0\x17\x4b\xb8\
+\x32\xc6\x48\x07\xa9\x62\xf6\x2d\x78\x26\xee\xd1\x22\x0c\x43\xf2\
+\xf9\x3c\x03\x03\x03\x00\xec\xd9\xb3\x87\x5b\x6e\xb9\x85\xd9\xd9\
+\xd9\xed\xc0\xd7\xb1\xfb\x09\xa6\x95\x9f\xf6\xd2\x74\xd8\x6f\x7b\
+\x7e\xa7\x54\x90\x4d\x11\xe9\xfa\x3f\xad\xf0\x8e\x9e\xdf\x56\xde\
+\x53\x61\x00\x95\xae\xae\xd2\x9b\x2f\xbd\x78\x13\x23\xc3\x83\x34\
+\x9a\x0a\xe1\x48\x1b\xfe\xdd\x1c\xa2\x3d\x03\xdd\x60\x09\x96\xf6\
+\xf8\xbb\x2b\x40\x0b\x84\x14\x28\xa5\x6d\x1b\xbe\xd6\xf6\x8a\x55\
+\x84\xd3\x8a\xf0\x87\x2f\xee\x0d\xf3\x7d\xb3\xde\xa3\xff\x82\xb3\
+\xb4\xa5\xc4\x91\x47\x04\x7d\x67\xc0\x9a\x11\xab\x44\xa3\x6d\xa8\
+\x77\xb0\xe4\x8f\x74\xec\x77\x44\x31\x54\x93\xc1\x1d\x15\xdb\xba\
+\x3e\x5f\xb6\xe9\xc3\x5f\xb3\x42\x0c\x25\x7b\xf8\x08\x15\x83\xd4\
+\x2c\x8e\xcf\xc5\x87\xf7\x4c\x34\xf3\x7d\xeb\x73\xbd\x7d\x7d\x6e\
+\x69\x71\x3f\x26\x0c\x58\x2a\x9d\x85\x5b\x3f\x4e\x4b\x1b\x0a\x05\
+\x87\x28\x68\x12\x2a\x9f\x5c\x4e\x22\x5a\x55\x54\xec\xb2\xd4\x0c\
+\xd9\x5f\x2b\x0a\x59\xd6\x88\x28\x62\x78\x78\x18\x29\x25\xbb\x77\
+\xef\xe6\x9b\xdf\xfc\x26\xb3\xb3\xb3\xdb\x80\xaf\x61\x3d\xbf\xdd\
+\xd5\x93\xf5\xf8\xec\xb9\xb8\xc3\xd1\xe9\x7c\xa7\xca\x61\x35\x10\
+\xf8\x94\x57\x01\x6b\x87\x06\x7b\xaf\x7e\xfd\x6b\xae\x26\x8e\xc1\
+\x71\xf2\x48\xd7\x43\xb4\x39\x79\x91\xec\xb8\xd5\x9e\xce\xde\x66\
+\xb7\xb5\xc6\x18\x8d\x41\xa0\x71\xda\x34\x5a\x0d\x00\x00\x1f\x9d\
+\x49\x44\x41\x54\x51\xc2\x20\xa4\x83\xd0\x0a\x83\x47\x28\x40\x87\
+\x11\x39\x21\xfa\x83\xb3\xae\xaf\x92\x2b\x2e\xe6\x0e\x7e\xa7\xcc\
+\xfc\x98\x4b\xa9\x04\xe5\xfe\x95\xb1\xfe\x30\x00\xcf\x24\x7d\xfd\
+\x22\xb9\x05\x31\x48\xdf\x32\x82\xbd\x83\x80\x58\x19\x27\x68\xe3\
+\x85\x76\x8f\x80\x23\x68\xd4\xa2\x70\xdb\xa3\x63\x8d\xc2\x9a\x8d\
+\xf9\x35\x43\x03\x7e\xfd\xd0\x36\x4a\xde\x12\xb3\xf4\x60\xb4\xc4\
+\x8b\x1a\x48\x2f\x4f\xde\xb4\xa8\x0b\x0f\x0d\x48\x15\xd1\x32\x2e\
+\x25\xcf\x67\xe7\x64\xcb\xcc\x45\xbd\x62\xd0\x71\x28\x95\x4a\xf4\
+\xf5\xf5\xb1\x6b\xd7\x2e\xbe\xf9\xcd\x6f\x32\x33\x33\xf3\x30\xd6\
+\xf3\xa7\xe9\xec\xf9\x59\x14\x9f\xce\xe9\xd9\x94\xd0\x89\x1b\x38\
+\xd5\x78\x40\xd6\xf3\x9f\xd2\x08\x90\x13\x0e\x3f\x79\xe6\x19\x43\
+\xbc\xea\xe5\x97\xa3\x8c\x44\xba\x39\xa4\x48\xd6\xd8\x4d\x6e\xb4\
+\x11\x58\xc0\xa5\x59\xe9\x4a\x53\x86\x28\x56\x08\x34\x46\x82\xe7\
+\x3b\xc4\x4a\x11\xb7\xec\x7f\x95\x52\x13\x2b\x41\xec\xaf\xc1\xef\
+\xef\xa9\xd4\x7a\xcf\x6e\x44\x5d\xa3\x0b\xe5\xfd\x5f\xcd\x33\x37\
+\x59\xa6\xbe\x94\x74\xea\xf4\xd8\x10\xef\x7a\xd6\xc3\xed\x74\x9d\
+\xe4\x27\x9b\x14\x19\x98\x94\x81\xed\x21\x60\x1d\x5b\x02\xa8\x50\
+\xa0\xb9\xb0\xd4\x38\xbc\xfb\x68\x58\x12\x94\xd6\xac\xe9\xf2\xbc\
+\xb9\x3d\x74\xc5\x53\x34\xfd\x3e\xe6\x54\x9e\xe1\x70\x8e\x7a\x53\
+\x31\x90\x9f\xa7\x1e\xe7\x08\x0b\xbd\x14\x1a\xc7\xf0\xa5\xa4\x5a\
+\x1c\xa6\x2c\xaa\xdc\xb2\x33\x10\x4b\xe4\x38\xb7\xa7\x97\xb3\xce\
+\x3a\x8b\xfb\xef\xbf\x9f\xbb\xee\xba\x4b\xb7\x5a\xad\x6f\x63\x49\
+\x9e\x66\x46\xf9\xab\xe5\xf8\x36\xd0\x8b\xb1\xc4\x50\xfb\x79\x98\
+\x3a\xbf\x9a\x81\xac\x46\x00\x65\x81\xe0\xb2\x3c\x59\x03\xf0\x87\
+\x06\xfa\x7e\xf2\xda\x6b\x5e\x44\xb1\x58\x24\x8c\x9c\x64\xb5\x4c\
+\x2c\xe8\x23\xe1\xdb\x45\xa2\x85\xf6\xa3\xb1\x06\xe2\x39\x1e\xa0\
+\x31\x18\x74\x72\x8d\xb1\x54\x18\x07\xb4\x11\x18\xa3\x90\x42\x12\
+\x69\x70\x04\xc5\x60\xed\x55\x92\x38\xac\x97\x77\x7d\xde\xc1\x95\
+\x85\xe5\xd6\x6d\x2f\x6f\xc3\xfe\x09\x1b\x39\x26\xb3\x7e\x5c\x2f\
+\xa9\xf1\x45\xa2\xf4\xa4\x33\xd8\x78\xa0\x23\xe2\xf9\xe9\xd6\xf4\
+\xde\x63\x91\x59\x6a\x94\xf3\xa5\x5e\x37\x57\x1b\xa7\x36\x33\x41\
+\x77\xa9\xc2\x44\xe0\x33\x50\x92\x44\xf5\x26\x39\x1f\xb4\x74\x68\
+\x38\x7d\xc4\x41\x8b\xbc\x84\xc8\xb8\xf8\xc1\x1c\x33\xcd\x80\x89\
+\x45\x45\x69\xb4\xc2\xc0\xc0\x1a\xb6\x6c\xd9\xc2\x9d\x77\xde\x69\
+\x82\x20\xb8\x15\x3b\xa4\x9b\x55\x7e\x9a\xcf\x6f\x87\xf5\xac\x72\
+\xd3\x75\x7e\x3a\xfc\x9f\xaa\xf5\xeb\x54\xe1\xff\x24\xe5\x3f\x69\
+\x03\xf0\x3c\xce\xed\xee\x29\x9f\xf7\xda\x57\xbe\x98\x58\x09\x84\
+\xe3\x2d\x03\x3c\x41\xd2\x84\xb1\x2c\x49\xfb\xfa\x32\x61\xe7\x20\
+\xa5\x02\x1c\x0c\x06\x21\x0c\x42\x0a\x84\x8c\x97\x37\xe6\x14\xc2\
+\x49\x6c\xc6\x01\x62\xa4\x70\xf2\xc1\xda\xab\x1c\x13\xb5\x1a\xc5\
+\xfd\x5f\x37\x8e\xd2\x45\x94\x82\xfe\x11\x8b\xf6\x9d\x24\xb7\xa7\
+\x87\x75\xdb\x83\x41\x08\xd0\x8e\x1d\x34\x6a\xd5\x92\xca\xdb\xc4\
+\x7b\xf7\xcf\x37\x1b\x71\x4f\xa9\x54\xca\xbb\x79\x19\xe1\x54\x27\
+\xed\x6c\x1e\x3c\xc2\xd8\x50\x0e\x26\xa9\xc5\x31\x95\x92\x4f\xd5\
+\x5b\x83\x5b\xab\xd2\x68\x29\x0a\x7d\x25\xaa\x8d\x98\x62\x63\x8a\
+\x07\x27\x8b\xd4\x62\xc7\xbc\xe8\xfc\xcd\x62\xeb\xd6\x1f\xb0\x65\
+\xcb\x16\x82\x20\xf8\x06\x76\x54\xaf\x95\xdc\xe7\x2c\x7f\x9f\x05\
+\x7b\x69\xc5\x77\xca\xfb\xe9\x3c\xdf\x09\x2f\xa4\x3f\x9f\xd4\xff\
+\x4f\xa7\x80\x93\xe4\xc9\x18\x80\x23\x84\xff\x5f\x06\x07\xfa\xb9\
+\xf4\xd2\x73\x51\xc6\xe0\x3a\x8e\x55\xbc\x10\x09\x48\x4b\xea\xfe\
+\x13\xd6\x28\x52\x36\x2a\x48\x40\x4a\x0c\x0a\xad\x34\xc2\x08\xa4\
+\x90\x76\xa3\x4d\x40\x09\x8d\x30\x60\x74\x94\x54\x0e\x01\x18\x90\
+\x5e\xde\x0b\xd7\xbf\xac\x28\x9b\xf3\xad\xd2\xa1\x3b\x22\x7a\x46\
+\x3d\x0c\xc9\x54\x22\xb1\xe2\xf9\x2a\xf1\x76\x13\x43\x10\xda\x2a\
+\x40\x1b\xdb\x22\x9e\xcf\x11\x45\x44\xfb\x0f\xcf\x2c\x2e\xc6\xa5\
+\xae\x91\x35\x5d\x7e\x3c\xb5\x97\x92\x6c\xd1\x52\x39\x8a\x39\xc3\
+\x9c\xca\x33\x5a\xa8\xd3\xa8\xb6\xe8\x72\x62\x62\xb7\x87\x38\x68\
+\x11\x87\x4d\xca\x8e\x44\x84\x11\x2c\xcd\x91\xeb\xef\xe1\xf6\x3d\
+\x75\x9d\xef\x1e\x92\x3b\x77\xee\x34\x7b\x76\xef\x16\xad\x56\xeb\
+\x3f\xb1\xb3\x78\x5b\x58\xcf\xef\xe4\xb5\x69\xaf\x4f\x2b\x3d\x8b\
+\xfe\xd3\x29\x20\x1b\x09\xb2\xa3\x80\xed\x24\x9b\x36\x82\x55\x95\
+\x0f\x4f\xce\x00\xdc\xae\xae\xfc\x4f\xbf\xf2\x65\x97\x90\xcb\xe5\
+\xd1\x26\xf1\xba\xa4\xae\x47\x26\x91\x47\x1b\x96\x3b\x6e\x8c\x06\
+\xe3\x20\x64\x92\x9b\xb5\xc6\x88\x08\x15\x6b\x1c\xd7\xae\xe2\xe9\
+\xba\x2e\x4a\x6b\xb4\xd1\x48\x21\x10\x46\xa3\x5b\x8b\xe0\x4b\x8c\
+\xb1\x11\x43\xfa\x45\x2f\x3c\xfb\xd5\xc8\xda\x6c\xcb\x9f\x1d\xc7\
+\xc9\xf9\x1e\xf5\x05\xdb\xde\x2d\x9d\x24\xc4\xc7\xd0\x4c\xc6\x03\
+\xfc\x62\x42\x20\xe5\xc0\x75\x69\x05\x2a\x3a\x32\x31\xb3\x38\x33\
+\xb1\x54\xea\x1b\x1a\xf2\x0b\xad\x49\x22\x5a\x68\xaf\x9b\x56\xb3\
+\x01\x7e\x11\x2f\x6e\x10\xb5\xea\xb6\x27\xb4\x67\x90\x7a\xbd\x41\
+\x1c\x2a\xa6\xab\x9a\xf3\x47\xf3\xcc\xcd\x4c\x92\xf3\x40\xe4\x4a\
+\xec\x9b\x98\x96\xd3\xf3\xc2\x34\xc6\xa7\x44\x14\x86\x5f\x04\x1e\
+\xc4\x72\xfb\x6d\x86\x2f\x1d\xf2\x3b\x45\x80\xb4\xd2\xd3\x18\x20\
+\x4b\xf7\xae\xc6\x0c\x76\x02\x80\x9d\x98\xbf\xa7\xd4\x00\x36\x4b\
+\xe9\x9c\x7b\xdd\xcb\x2f\x43\xa9\xd8\x96\x7b\x46\x5b\xcf\x47\x58\
+\xc5\x0b\x48\x90\x60\xe2\x99\x1a\xa4\x4e\x2e\x31\xc6\x08\x41\xd8\
+\x52\x84\x71\x88\xa7\x0c\x52\xba\x68\x65\x30\x49\x9e\x50\x4a\x21\
+\x85\x87\xeb\xe7\xd0\x22\xc2\x15\x12\xa5\x93\xd7\x4b\x03\x5e\x6b\
+\xd3\x6b\x90\x5b\xff\x29\x70\xc6\x0e\x78\xac\xdd\x68\x7f\x67\xb3\
+\x0e\xa2\x6e\x39\xfe\x7c\x19\xfc\xa4\xf5\x5b\x0a\xb4\x32\x8c\x1d\
+\x39\xae\xf6\xef\x9b\x6c\xce\xcf\xd4\x2a\x9b\xd7\xf5\xe7\x4a\x8d\
+\x31\x4c\x54\x25\x14\x25\x5a\xca\xc3\x29\x94\xa9\x07\x01\x65\x19\
+\x11\x06\x4d\xba\xfa\x7a\x51\xcd\x25\x9c\x46\x93\x86\xe8\xa6\xab\
+\xbb\x44\xd8\x9c\xa7\xa5\x5c\xca\x3d\xdd\xec\x99\x85\x43\x73\x11\
+\x8b\x8b\x2d\x01\xe6\x3f\xb0\x1b\x3b\xa4\x3b\x78\x56\xf3\xfa\xb4\
+\x82\xb3\x8a\xcf\x46\x80\xec\x00\xd0\x6a\xde\x7f\x52\x99\xf7\x58\
+\x4a\x7c\x32\x13\x32\xde\xd4\x55\x29\x99\x2b\x2e\xdb\x94\x4c\x8f\
+\x36\x2b\x68\x5b\x62\x15\x2f\xdb\x91\x48\xda\xcb\x73\x24\x42\xcb\
+\x64\x95\x3b\xdb\xa9\xe3\x78\x12\xe9\xb8\x04\x41\x8b\x66\xab\x81\
+\xd2\xb1\x05\xef\x12\x84\x51\x88\x04\x14\x0a\x04\xaa\x1d\xe0\x74\
+\x6c\x69\xe4\xee\xf5\x5e\x63\xf3\x4d\x6e\xd0\x0c\x97\x98\x1b\x83\
+\x56\x0b\xbc\x3c\xa6\xd0\x83\x29\xf5\x42\xa1\xdb\xd2\xc6\xc9\xca\
+\xdf\x47\x8f\x1d\xd7\x3b\xb6\x1d\xa9\x4f\x4f\x35\xfc\xde\xa2\x9b\
+\x13\x3a\xa0\x1e\x28\xa6\x54\x11\xb7\xd2\x8d\xaf\x02\xb4\x74\x28\
+\x88\x26\xba\xb9\x40\xb9\x00\x12\xcd\x54\x2d\x24\xc8\xf7\x13\x49\
+\x8f\x61\x67\x81\x86\xf2\x18\xe8\xaf\xa0\xa4\xcf\xef\x7c\x71\xcc\
+\xec\x9a\x68\x01\xe6\x5f\xb1\x9e\x9f\xa5\x64\x57\xf3\xf6\xf6\x11\
+\xb2\x3a\x06\xc8\x7a\x7e\x27\x20\x08\x27\x1a\x40\xfb\x79\xa7\xba\
+\xff\x24\x79\xa2\x06\x20\x5c\xd7\xf9\xa9\xd7\xbd\xea\x4a\xd7\x77\
+\xac\x67\x5b\xbc\x67\x07\x7a\xac\xd3\x0b\x50\x49\x53\x26\x0a\xa4\
+\xb1\x6c\x1b\xc6\x62\x03\x1d\x83\x56\xb8\xd2\x25\xef\x39\x78\xbe\
+\x40\xa2\x51\x3a\x46\x45\x11\x52\x1b\x5c\x5f\x20\x09\x6c\xa9\xa8\
+\x35\x32\xac\x5b\x34\x21\x93\xa5\xdb\xa2\x98\x66\xff\xf9\xf9\xea\
+\xc6\x37\x7a\x6a\x61\xb6\x49\xd8\x80\xc6\x22\x22\x58\x80\x85\x69\
+\x4c\x63\xc9\xb2\x7f\x18\xa6\x27\x66\xf4\xf7\xef\xdd\xdb\x38\x32\
+\xa3\xfc\xd1\xe1\xfe\x7c\xc1\x33\x84\xad\x88\x16\x39\x44\x65\x10\
+\x15\x2a\x84\x9f\xa7\xd6\x8a\x91\x8d\x05\x14\x1e\xb9\x52\x17\x8d\
+\x85\x39\xe6\x55\x17\x33\x2a\x87\xdf\x5a\x60\x5e\xe5\x91\x28\xaa\
+\x2d\xc3\x2f\xff\xf3\x24\x5f\xdb\x3a\xd7\xc4\x98\xcf\x00\x5b\x39\
+\x31\xcf\x67\x3d\x3f\x4b\xe2\xac\xe6\xf1\x9d\x00\x62\xa7\x32\x6f\
+\xb5\xb0\xdf\x11\xed\xaf\x26\x4f\xd4\x00\x2e\x10\x70\xce\x1b\x5e\
+\x73\x15\xda\x08\x04\x89\xd2\xa5\x44\x38\x09\xfa\xd7\xc6\x56\x04\
+\xc6\x7a\xaf\x68\xa7\x43\x47\x80\x91\x18\x61\x00\x07\xa3\x05\x02\
+\x89\x27\x04\x92\x10\x54\x84\x90\x02\x88\x91\x3a\x42\x6a\xdb\x20\
+\x23\x84\x40\x79\x25\x82\x50\x13\x37\x42\xe2\x30\x20\x8a\x14\x2a\
+\x8c\x69\x0d\x5f\x59\xa8\x0d\x5c\xa6\xd5\xf4\xc1\x08\x1d\x41\x79\
+\x0d\xa2\x6f\x10\x51\xec\x02\x2f\xc7\xc2\x62\x55\xdf\x77\xcf\xae\
+\xc6\x91\x45\xe1\x0d\x9e\x31\x9a\xef\x96\x0d\xf2\x22\x04\xd7\xa3\
+\x41\x01\xc7\x28\x4c\x2e\xc7\x92\xf2\xe9\x09\x27\x69\x84\x9a\x58\
+\x78\xa8\x56\x8b\xfd\x0b\x3e\x3d\x25\x07\x59\x9f\xc5\x2d\xf7\x22\
+\xe2\x26\xca\x18\xde\xfb\xb9\x59\xbe\xfc\xfd\xe9\x79\xa3\xcd\x67\
+\xb1\x8b\x36\x64\xf3\xf1\xa9\x78\xfc\x53\x1d\xe9\x01\x9f\xc7\x93\
+\xef\xb3\x1e\xff\x98\xde\x0f\x4f\x1c\x03\xfc\xc4\xc0\x40\xb7\x78\
+\xe9\x55\xe7\x63\x10\x08\xd7\xb5\x43\xbe\xc8\xa4\xf4\x4b\x50\xbe\
+\x6e\xc7\xf2\xa4\x57\x4f\xf8\xa0\x62\x8c\x89\xed\xb8\x80\xb6\xa9\
+\x52\xc7\x21\x46\x47\x48\x5a\x60\x5c\x5b\x38\x88\x00\x63\x42\x10\
+\x0a\x13\x2b\x8c\xd6\xc4\x4a\xa1\x23\x45\x10\xda\x0e\x5d\x69\x0c\
+\xa1\x56\x08\x42\xa6\xcf\x7c\xa3\xa1\xb9\x14\x74\x4f\x3c\xea\xd0\
+\x33\x22\xc9\x97\x30\xc6\x30\x37\xb3\x64\x1e\xb8\x7b\x7b\xa3\x6b\
+\x60\x44\xac\x29\xf9\xb9\x33\xbb\x05\x5e\x10\xa3\x9c\x3c\x5a\x2b\
+\x7a\x92\x30\xaf\x73\x7d\xe4\x6b\x07\x70\xa2\x00\x17\x43\x8f\x13\
+\x32\x59\x75\xa8\x14\x1d\xdc\xe6\x3c\x6e\xbe\x9b\xee\xbc\x61\xb6\
+\xe5\xf1\x97\x77\x35\xf9\xda\xd6\xf9\x09\xec\x3e\x3e\xfb\x58\x99\
+\x62\x97\xf5\xfe\x4e\xf4\x6d\xc4\xea\x39\x3f\x8d\x11\xd2\xde\xdf\
+\x29\xb2\x74\x1a\xec\x79\x5c\xca\x87\x27\x1e\x01\xde\xf4\xe6\x37\
+\x5e\x93\x73\xbd\x5c\x52\xab\x3b\x08\xc7\x45\x38\xa9\x26\x4c\x92\
+\xe6\x4a\x01\xe8\xc4\x30\x4c\xbc\x4c\xff\x1a\x63\x0d\x41\xab\x10\
+\x6d\x62\xb4\x0a\xec\xd6\x2e\xba\x01\xba\x86\x34\x4d\x8b\xe4\x95\
+\x42\x2b\x45\xac\x63\x62\x15\x13\x84\x11\x2a\x36\x28\x25\x89\x95\
+\x46\x2b\x43\x1c\x80\x0a\x74\xf9\xd8\xe8\x7f\x69\xd6\xdc\xbe\x16\
+\x73\x63\x10\x47\x2c\x2d\xd4\xf4\xf7\xef\xdd\x55\xf7\x8a\xbd\x62\
+\xe4\xac\xf5\xa5\xa1\x92\x40\x37\xe6\x88\xb4\x8b\x0a\x43\x1a\xca\
+\xa3\xec\xc6\x08\xaf\x88\x99\x9b\xa0\x10\x54\xa9\xc6\x06\x2f\xe7\
+\x12\x79\x45\x26\xe6\xea\x48\xa3\xa8\xca\x1e\xba\x4b\x79\xa6\xeb\
+\x82\x4f\xdf\xbd\xc8\x27\xbf\x35\x3e\x87\xdd\xd5\x73\x0f\x2b\x73\
+\xf5\xb3\xf5\xf9\x6a\x65\xdd\xa9\x3c\xbe\x53\x99\xf7\x58\xca\xcf\
+\xd2\xbe\xa7\xad\x7c\x78\x62\x11\x60\x33\x70\xf6\x0d\xaf\xb9\x06\
+\x84\xc4\x71\x3d\x1c\xe9\xdb\xb0\x2d\x12\xef\x37\x36\xcc\xdb\xe5\
+\x56\x0c\x08\x8b\xeb\xd1\xf1\x09\xfb\xf2\x6a\xa3\x31\x3a\x51\xbe\
+\xb6\x5e\x8e\x89\x6c\xe6\xd0\xd8\x6d\x5b\x92\x8d\x1c\x54\xa8\x6c\
+\x79\x18\xd9\xf5\xfd\x0d\x06\x69\x04\x26\x32\x28\x0c\x2a\x56\x68\
+\x51\x58\x33\x57\xb9\xa8\xe5\x85\x87\x75\x30\x3d\x23\x76\xee\x9e\
+\xa9\xb9\x95\x5e\x59\xea\x5e\x53\x9a\x3c\x7c\x8c\xd1\xb2\xa4\xb1\
+\x64\x68\x35\xeb\xc4\xc2\xa3\xcf\x6b\x11\x16\xd6\x93\x43\xa3\xab\
+\x13\x48\x11\xe0\x23\x29\x54\xba\x98\x9c\x0f\xe8\x2e\xdb\x46\x96\
+\x2e\xdf\xb0\x18\x39\x7c\xf4\xeb\x63\xfc\xdb\xf7\x66\xa6\x80\x6f\
+\x00\x87\x58\x59\xaf\x37\x0d\xf8\xd2\xde\xdf\x7e\xec\x14\xfe\xb3\
+\x9e\x7e\xaa\x1a\x3f\x9b\x02\xb2\x86\x90\x05\x80\xa7\x2d\x4f\x24\
+\x02\xfc\xc4\x40\x7f\xb7\x7f\xd9\x8b\x36\xd9\x35\xf6\xa5\x9b\x0c\
+\xe2\x38\x08\x93\x5a\xbd\xb4\xed\xfd\x12\xbb\x46\xbf\x52\x18\xa1\
+\x31\x46\xa1\x75\x8c\x56\x31\x5a\x87\x36\x02\xe8\xd0\xf6\x03\x24\
+\xe3\xeb\xb6\xa0\x30\xcb\x9b\x39\xa8\xd8\x92\x45\x71\xb2\x67\x8f\
+\x1d\xfb\xd7\x76\x0b\x97\x64\x5c\x01\xa5\x50\x51\xc8\x6c\xe5\x62\
+\x8e\x37\x2a\xfa\xf0\xfe\xc9\xa6\x09\x94\xd8\x70\xe6\x48\x79\x6e\
+\x72\x9c\x5e\xe6\x10\xc6\xd0\x5f\x72\x70\x45\x8c\x27\x42\x8a\xbe\
+\x83\x97\xcb\x23\x6b\xe3\x98\xa8\xce\x5c\x20\xf1\xba\xba\xa9\x51\
+\xa2\x16\xb9\xf8\x85\x22\x03\x7d\x05\x16\x42\xc1\xcd\x5f\x3e\xc6\
+\xbf\x7d\xef\xf8\x38\xf0\x15\xec\x4a\x5d\xe9\xc5\x9a\x3b\xe5\xfa\
+\x74\x79\x97\xe6\xf4\xb3\x47\x96\xe3\x5f\xcd\xfb\x4f\x27\xf7\x3f\
+\x2e\xe5\xc3\x13\x33\x80\xd7\xdf\xf0\xda\x2b\x0b\xb9\xbc\x97\x84\
+\x7f\x17\x21\x5d\x90\x0e\xa6\x4d\x44\xb5\xbb\x6d\xc1\x7a\xbd\x8a\
+\xc0\x28\x8c\x56\xf6\x2a\xb5\x46\xeb\x16\x3a\x0a\x88\xa3\x10\x1d\
+\xb7\xbd\xdf\x92\x46\x76\x53\x07\x8d\x8a\x63\xe2\x28\x22\x8c\x22\
+\x94\xd2\xc4\x2a\xb6\xbc\x12\x22\x09\x34\x06\x6d\x34\xca\x68\x62\
+\x0d\x2a\x8c\x20\xd7\x9b\x3f\x56\xcd\xab\xa9\x5a\x5e\xf6\x97\x44\
+\x45\x4d\xee\xa3\xbb\x35\x0e\xf9\x6e\xa6\xab\x11\x79\x5a\x20\x5d\
+\x86\xdd\x45\x1a\x14\x29\x34\xa7\xf1\x82\x25\x02\x93\xa3\x91\xef\
+\x45\x96\xfb\x98\x9f\x6f\xe0\x9a\x80\xbe\xee\x22\x07\xea\x5d\xfc\
+\xfe\x2d\xf3\x7c\xfe\xde\x89\xa3\xc0\x7f\x02\x0f\x63\xe7\x3a\x76\
+\x42\xfb\x59\x8f\xef\x54\xcb\x77\xc2\x01\x59\x03\xe8\x64\x54\x9d\
+\xbc\xfe\x09\x85\xfd\xb4\x3c\xde\x14\x70\x05\x70\xee\xcf\xfe\xd4\
+\x6b\x84\xe7\x5a\xa5\x0b\xe9\x60\x84\x44\x0a\x93\x20\xfd\x84\x0f\
+\x90\x22\x09\xef\x2a\x61\xf0\x0c\x46\x1b\x4b\x06\xaa\x10\x6d\x14\
+\x5a\x05\xf6\xf5\x24\x35\xb4\x15\x6f\x92\x05\x18\xe3\x24\xec\xab\
+\x28\x46\x69\x83\x30\x22\x31\x1e\xbb\xb7\x8f\x94\x0a\x69\x04\xb1\
+\x32\xc4\x51\x44\xac\x14\x46\x40\xd8\x7f\xae\x3b\x3d\xb5\x45\x0e\
+\xf5\xaf\xa1\xb1\xef\x6e\xba\x2a\xdd\x2c\x88\x2e\x7a\xe5\x18\x73\
+\x75\x45\x45\x34\x09\x8a\x6b\x71\xba\x06\x70\x66\xb6\x51\xa3\xc0\
+\x7c\xae\x87\xb5\x83\x5d\xcc\x4d\x4d\xa2\x9a\x73\x8c\x0c\xf5\xb1\
+\x65\x5c\xf0\xe1\xcf\xee\x62\xd7\xb1\xa5\x07\xb1\x93\x34\xa7\xb1\
+\xca\xcf\x72\xf3\x9d\xf2\x7e\x36\xb7\xa7\x41\x5e\xb8\xca\xeb\x9d\
+\xca\xc6\xd5\xf2\x7f\x27\x10\xf8\xb8\xe5\xf1\x46\x80\x1b\xcf\x18\
+\x1d\x28\x6d\xdc\x30\x6a\xe9\x5e\x03\x26\x29\xf9\x8c\xd1\x98\x36\
+\x0b\x88\x46\xeb\x88\x38\x6e\xa1\xe3\x96\x55\xb0\x56\x18\x21\x30\
+\x26\x5a\x51\xbe\x8e\x13\x30\xa8\xec\x98\x80\xd1\x68\x65\xe7\xcf\
+\xc7\x61\x8c\x8a\x6d\xf8\x37\xca\x60\x94\xc0\x44\x76\x30\xc9\x24\
+\x4b\xba\x29\x65\x08\x22\x1b\x29\xa2\x38\x01\x84\x51\x84\x5b\x59\
+\xe3\x34\x63\xc7\xcc\x44\x3e\xf3\x81\x24\x72\xbb\x88\x6b\x0b\x94\
+\x8b\x1e\xc4\x01\x85\x42\x9e\x46\x7e\x88\xb2\x5a\x60\x21\x3f\xca\
+\xd1\x46\x9e\x72\x0e\xba\xd4\x02\xa6\x59\x65\xa8\xaf\xcc\xa3\x93\
+\x8a\xdf\xfc\xec\x5e\x76\x1d\x5b\x7a\x00\xdb\xc8\x31\xc3\xc9\x39\
+\x3f\x8b\xf6\x3b\xd5\xf8\x69\x85\x87\x58\x8a\x78\xb5\xdc\x7f\x2a\
+\xc2\xe7\xb1\xca\xbe\x27\x24\x8f\x37\x02\x5c\xff\xba\xeb\xaf\x2a\
+\x17\x0a\x05\x8c\x31\x89\xf2\x22\x0c\x0e\xc6\x38\xa0\x03\x6b\x08\
+\x3a\x42\xe9\x08\xad\x24\xc2\x68\x3b\x49\x47\x3a\x96\xfb\x37\x76\
+\xf0\x57\xeb\xd8\x1a\x40\xdb\xa3\x93\x23\x8e\xb5\xdd\x90\x51\x69\
+\xe2\x28\x06\x21\x91\x08\xb4\x8a\x2c\xbf\xda\xfe\x7f\x06\xb4\x52\
+\x84\xad\x98\x28\x06\x65\x0c\x02\x63\x0d\x08\x89\x97\x2b\x30\x3b\
+\xbf\x48\x8f\x5f\xa0\x52\x72\x98\x5b\xa8\xd3\xca\xfb\xac\x65\x9a\
+\xaa\x3c\x83\x2e\x2f\x20\x88\x34\xb3\xa1\x0b\x51\x44\xbf\x0f\xe1\
+\xc2\x22\xa3\x03\x45\xbe\x7b\x50\xf1\x3b\x9f\x3f\xcc\x8e\x63\xf5\
+\xfb\xb0\x2b\x73\x2c\x70\xe2\x88\x5e\xa7\x90\x1f\x75\x78\xec\x44\
+\xeb\x66\x43\x7e\x76\xc4\x2f\x4b\xf9\xae\x16\xee\x9f\x94\xe2\xdb\
+\xf2\x78\x0c\xe0\x12\xe0\x8c\x37\xbc\xe6\xc5\xe4\xf3\x9e\xf5\x5a\
+\xa3\x50\x51\x60\x15\x24\xdd\x95\x1d\x37\x8d\xdd\x55\x53\x20\x31\
+\xc2\xa1\x3d\x40\x6c\x94\xb6\x91\x40\xdb\xc5\x91\x8c\x36\x68\x6d\
+\x01\x9e\xd6\x06\x15\xc7\x16\xe9\xc7\x06\x94\x46\x4a\x89\x36\x9a\
+\x58\x18\x62\x23\x2c\x79\x14\x6a\x62\x6d\x08\x83\x98\x48\x87\x98\
+\xc8\xa0\x71\x31\x5a\xa1\x8c\xc5\x11\xc2\x11\x14\xbb\xfa\x4d\x6d\
+\x72\x2f\x83\x9e\x87\xce\x75\xe1\x78\x31\xb2\x31\x87\x29\xf6\x13\
+\xf8\x3d\xb8\xcd\x2a\x63\x8d\x02\x85\xc6\x18\xbd\x65\x97\xa2\x30\
+\xe4\x4b\x0e\xff\xb1\x23\x34\x37\x7f\x71\x4c\xec\x9d\xa8\xdf\x03\
+\x7c\x8b\x13\xfb\xf7\x4e\x05\xfa\xd2\x61\x3e\x4b\xf3\xa6\x0d\x62\
+\x35\xf4\x6f\x52\x8f\x9d\x40\xdf\xa9\xea\xfe\x27\x2c\x8f\xc7\x00\
+\x6e\x18\x5a\xd3\xdb\xbb\x69\xe3\x5a\x1c\x29\x2d\x5e\x53\x1a\x23\
+\x94\x1d\x0c\x42\x22\x64\xe2\xc9\xca\xd8\xbc\x2f\x8d\x1d\xd2\x95\
+\x02\x62\x85\xc1\x1a\x80\x8e\x15\x46\xa9\xc4\xeb\xc1\x28\x83\x52\
+\x0a\x15\x29\x1b\xf6\x8d\xc5\x01\xc2\xd8\x21\x61\x54\xe2\xd9\x61\
+\x84\x36\x86\x20\x8a\x51\xb1\x22\xd6\x1a\x61\x24\x9a\x38\xb9\x2b\
+\x76\x1f\x5f\x29\x40\x78\x39\x93\xcf\xfb\xc6\x31\x52\x4c\xcd\x07\
+\x2c\x34\x0c\x9b\x7b\x02\x76\x07\x43\x9c\x51\x76\x99\xd7\x3d\x14\
+\xcc\x71\x3c\xd5\xa2\xc7\x71\xa9\xe4\x8a\xfc\x9f\x07\x8c\xf9\xd8\
+\x7f\x1e\x15\x87\xa7\x9a\x77\x60\x27\x6c\xd4\x38\xb1\x67\x3f\x9b\
+\xef\x3b\xd1\xbc\x59\xef\xee\x64\x20\x9d\xc6\x07\xb2\xca\x7e\xac\
+\x70\xff\x43\x8f\x00\xd7\xbf\xee\xfa\xab\xba\x7b\xba\xcb\x49\xe3\
+\x8d\xbd\x5e\xad\x63\xcb\xff\x63\x95\x61\xda\xf5\x3c\x06\xb4\xb0\
+\xe5\xa0\x49\x30\x82\x8e\xd1\x71\x60\xa3\x87\x56\x18\x15\xa3\xe3\
+\x44\xf9\x71\xa2\x7c\x6d\xa7\x4e\x6b\xa5\xd1\xd8\xf1\x81\x28\x52\
+\xa8\x18\x94\xb6\xdb\xb9\xc5\x5a\x61\x8c\x40\x47\x00\xc9\x38\x84\
+\x21\xd9\xf4\xd9\xe2\x84\x42\xb1\x18\xfa\xb4\xf2\x8e\xef\x8a\xa3\
+\x0b\x01\x1b\x72\x0b\x48\xbf\x88\x14\x15\x8c\xd0\x04\xb5\x45\x72\
+\xb5\x49\xfa\x73\x11\x3d\xdd\x7d\x7c\xea\xee\x45\xf3\x87\x5f\x39\
+\x2a\xc6\xe7\x5a\xb7\xb2\x32\x61\x23\x7b\xf3\x3b\x81\xb4\xc7\x42\
+\xfc\xab\xd5\xfd\xed\xe7\xab\x11\x3d\xab\xa1\xfc\xa7\x2c\xfc\xc3\
+\xe9\x1b\xc0\x65\xc0\x99\xaf\x7d\xf5\x15\x94\x4b\x36\xff\x5b\xc0\
+\xaf\x41\xc7\x36\xff\xea\x38\x59\xee\xdc\x2a\xdb\xb6\x84\x19\x8c\
+\x6c\xd7\xed\xa0\x55\x82\xf6\xe3\x08\xa3\x94\x55\x7e\x18\xda\x5d\
+\x3c\x95\x22\x8e\x92\xdd\x3b\x25\x18\x63\x49\xa4\x58\x19\x0b\xee\
+\x54\x98\x18\x82\x46\xc5\x7a\x99\x65\xc6\x08\x84\x1d\x70\xb0\x97\
+\xa4\x04\xc6\xd1\x48\x9a\x81\xa3\x1b\xf9\x7a\xb5\x4e\xec\xf5\xb2\
+\x6e\xc0\x67\xbf\x1a\xe4\xec\x72\x95\xa6\x29\xe1\x34\xe6\x88\xeb\
+\x55\x7a\x47\x46\xf8\xe8\x2d\xb3\xe6\x93\xb7\x8e\x89\xd9\x6a\xf8\
+\x15\xe0\x5e\x2c\x50\x6b\x4b\x7b\x48\x33\x5b\xa2\xa5\x15\x9a\x55\
+\x7e\x36\xe7\x77\x62\x06\x3b\x79\x7d\xfb\xdc\x93\xe2\xf7\x1f\x8f\
+\x3c\xd6\x22\x51\xed\x6a\xfe\xe7\x3d\xcf\x79\xf5\x45\x17\x6c\x98\
+\x12\x86\xa5\x28\xd6\x42\x0a\x7c\xad\x6d\xd2\x75\x1c\x23\xc1\x24\
+\xbb\x69\xb7\x97\x4f\x37\x49\xed\xaf\x2d\xe5\x9b\x80\x37\x54\x64\
+\x87\x8f\x95\xb2\x75\xbe\x36\x44\x4a\x11\x86\x11\xb1\x8a\x2c\x16\
+\xd0\x06\xa1\x41\x2b\xdb\x2b\xd8\x0c\x62\x74\x64\x88\x82\xe4\xfe\
+\x6b\xdb\xf9\x63\x5b\xc9\x92\x39\xa5\xed\x49\x1a\x08\x8c\xe3\x40\
+\x75\x3c\x10\xb3\xfb\x73\x85\x62\x51\xf4\x0f\xf4\xe0\x14\x2a\x2c\
+\x36\x0d\x83\x65\x87\xda\xc2\x22\xb9\xea\x31\xd6\xac\xe9\xe7\xe3\
+\x77\xb5\xf8\xd3\xaf\x1f\xd6\x0b\xf5\xf8\xcb\xd8\x55\x39\x02\x4e\
+\x0e\xbf\xd9\x7a\xbc\x53\xed\xde\x7e\x0c\x3b\x9c\xcb\x62\x05\xbd\
+\xca\xe7\x66\xa9\xdd\xa7\x14\xf1\x77\x92\x4e\x73\xaa\xb3\xaf\x19\
+\xe0\x6b\x42\x88\x1b\xda\xeb\xe2\x3b\x8e\x8b\x10\xcc\x9c\x73\xd6\
+\xe8\xa1\xb7\xfe\xf8\x2b\xf3\x37\xbe\xee\xa5\x1b\x07\x06\x7a\xdc\
+\x72\xa9\x28\x73\x39\xcf\xd1\xda\xd8\xce\xa0\x84\xd8\xc3\x88\x24\
+\x05\xd8\x92\x2e\x8e\x15\x71\x14\x13\x46\x31\x3a\x8a\x88\x62\x45\
+\x1c\x2b\xab\xd8\x84\x01\x14\x52\xd8\xc1\x9f\x38\xa6\xd5\x54\xa0\
+\x0d\xca\xa8\x24\xda\x88\x44\xf9\xd2\x7a\xbf\x11\x68\xa3\x93\x76\
+\x34\x10\x8e\x47\x7c\xec\xde\x60\x69\xc7\x9d\x7e\xcf\x99\x1b\xc5\
+\xb9\x23\x79\x0e\xd4\xcb\x6c\x2c\x2e\x5a\x63\x9a\x3e\x08\xc5\x1e\
+\x6e\xd9\xef\xf2\x81\xbf\xdd\xd6\x0a\x63\xf3\x65\x56\xc6\xf2\x3b\
+\xf1\xeb\x9d\x14\xba\x1a\xca\x0f\x39\x31\xcc\xa7\x2b\x83\xf6\xf9\
+\xb4\xc7\xa7\xa3\x0a\x1d\xbe\xfb\x69\x53\x3e\x74\x8e\x00\xe9\x49\
+\xfd\x06\xb8\x12\x78\xbb\x94\x72\xd0\xf7\x73\x6c\xd8\x70\x16\x57\
+\x5f\x7d\x0d\xe7\x9f\x7f\x41\xb1\xde\x54\xa3\x5f\xf9\xfa\x5d\x83\
+\x9f\xfe\x3f\x5f\x0a\xbe\xfa\x8d\x7b\xf7\xf6\x74\x97\xa2\xe1\xc1\
+\x9e\x62\x3e\xef\x5b\xc7\x34\xda\x72\x04\x2a\x41\xfa\xca\xae\xaa\
+\x1d\x85\x91\xf5\xf8\x28\x26\x8c\x22\x4c\x2c\xc0\xac\x28\x1e\x03\
+\x2a\x8a\x09\x82\x98\x38\x88\x08\xe3\xa4\x0b\x48\xd8\xc6\x4e\x2d\
+\x4c\xd2\xf1\x6d\x68\x9f\xb6\xca\x37\xd8\x79\x06\xa8\x70\x72\xbb\
+\x2b\xea\xc7\x45\xff\xd0\x10\xf9\x7c\x9e\xa8\xd5\xa2\xdb\x6b\x12\
+\x2f\xcd\x80\x90\x7c\x69\x8f\xcb\x6f\xfe\xe3\xf6\x30\x88\xcc\xe7\
+\xb0\xca\xd7\xa9\xdf\x9c\x2e\xc7\x3a\x01\xba\x2c\x8b\x97\xf6\xfc\
+\xb4\x11\x9c\x8a\xe2\xcd\xd6\xf9\x59\xc3\x4b\x5f\xcb\xd3\xa2\x7c\
+\x38\xd9\x00\x44\xe6\x6f\x03\xfc\x8c\xeb\xba\x6f\xec\xee\xee\x29\
+\x9c\x7f\xfe\x05\xdc\x78\xe3\x5b\x78\xe3\x1b\x6f\xe2\xf5\xaf\xbf\
+\x91\x6b\xae\xb9\x16\x21\x0c\x93\x93\x13\xfe\xe4\xf1\xd9\xa1\xaf\
+\x7c\xe3\x7b\xde\xdd\xdf\x7b\xf4\xe8\x85\xe7\xaf\x17\x23\x43\x7d\
+\x79\x29\xa4\xb0\xbb\x6e\x2b\x94\x56\xc4\xa1\x5d\x57\x5f\xc5\x9a\
+\x28\xb0\x84\x8f\x56\x9a\x38\x06\xa3\x14\x08\x61\x47\xf8\x22\x4d\
+\x14\x69\x82\x28\x24\x8a\x6c\xc7\xb0\x1d\x60\xb2\xf7\xc6\x08\x81\
+\xd3\x6e\xfe\xd4\xc9\x85\x4a\x2c\x67\x20\x25\x61\x10\xb7\xd4\xdc\
+\x01\x57\x34\xe6\xc5\xba\xb3\xd6\x73\x74\x49\x33\xea\xd7\x09\xeb\
+\x75\x9c\xb8\xc1\xbf\x3d\x1c\xf2\x9b\xff\x7a\xa0\x19\xc5\xdc\x81\
+\x6d\xdb\x4e\xdf\xec\x2c\xd2\x4f\x47\x80\x2c\xa2\xcf\x92\x3e\x59\
+\x10\x98\xc6\x09\x9d\x3c\x3e\xfd\x98\x56\x3c\x9c\xe8\xfd\x4f\x9b\
+\x74\xda\x77\xa6\x1d\x01\x0c\x40\x3e\x9f\xff\x60\x4f\x4f\xcf\x65\
+\x1b\x37\x6e\xe2\xfa\xeb\x5f\xc7\x05\x17\x5c\xc0\x9a\x35\x83\x78\
+\x9e\x8b\xeb\xba\x6c\xd8\x70\x36\x23\x23\xc3\x80\x60\x69\x69\xc1\
+\x3b\x78\x78\xac\xff\x0b\x5f\xb9\xbb\x7e\xd9\x25\x9b\x96\xd6\x8e\
+\xf6\x97\x1c\x21\x44\x14\x2a\xa2\x38\x26\x8a\x62\xc2\x20\xb6\xf5\
+\xbe\xd2\xa8\x30\x4e\xf5\x00\xda\x7c\x11\x05\x31\x51\x18\x11\x04\
+\x16\x0f\x08\xec\xa2\xc9\x3a\x81\xfa\x32\x69\x30\xb6\x21\x46\x24\
+\x1d\xe0\x49\x37\x30\x76\x0d\xbe\x46\xad\xda\x5a\x38\xb8\xc5\xab\
+\x78\x4a\xae\x19\x5d\xcb\xd2\xfc\x0c\x43\x65\x41\x63\x6e\x9a\x7f\
+\xd8\xd2\xe2\xb7\xbe\x38\x51\x33\x86\xdb\xb1\x93\x34\xdb\x6c\x68\
+\x96\xd9\xeb\xc4\xcc\x75\x52\x7e\x36\xd4\x77\x6a\xe6\x48\x2b\x7a\
+\x35\xe5\x9f\x0a\xfc\x3d\x6d\x92\xde\x81\x3a\xfd\x48\xf2\xe5\x67\
+\xf6\xf4\xf4\xbc\x7b\x70\x70\x68\xf8\xaa\xab\xae\xe6\xba\xeb\x5e\
+\xc5\xf9\xe7\x5f\x40\x57\x57\x9f\x0d\xc1\x82\x64\xb7\x0c\xbb\x2e\
+\x4e\xb9\x5c\x62\x61\x7e\x9e\x85\xc5\xa5\xd2\x2d\xdf\xba\x6f\x69\
+\xfd\xba\xa1\xa5\x0d\x67\x8e\x54\x30\x42\x44\x61\x44\x1c\x29\x54\
+\x18\x12\x29\x8d\x8a\x14\xda\xa8\x84\x07\x50\x44\x81\x22\x6c\x85\
+\xc4\x61\x4c\x9c\x70\xfd\x42\x1b\x8b\xf7\x84\x5c\x9e\x62\x20\xa4\
+\x44\x63\x27\x8c\x58\xeb\x38\x91\xcd\x16\x42\xd0\x68\x34\xea\xea\
+\xf8\x8e\x5c\xb9\xab\x24\x73\xa5\x32\x45\x5d\xc5\xb4\x1a\xfc\xf3\
+\xdd\xe3\xfc\xaf\xaf\xcd\x2d\x62\x15\xff\x1d\x56\xc6\xf2\xb3\x48\
+\x3c\xeb\xed\xab\x29\x3d\xcd\xe1\xa7\x23\x41\xd6\x00\x1e\x4b\xf9\
+\x9d\x42\xfe\xd3\xae\x7c\x38\xf5\xda\xf3\xa6\x54\x2a\x5d\x59\xa9\
+\x54\xde\xb5\x6e\xdd\x59\xf9\x57\xbc\xe2\x95\x5c\x74\xd1\x25\x54\
+\x2a\x15\x96\x96\x16\x39\x7e\x7c\x82\xb1\xb1\x71\x26\x27\x27\xd8\
+\xb7\x6f\x0f\x07\x0e\xec\xe7\xcc\x33\xcf\x20\xe7\xe7\x99\x9e\x3a\
+\x4e\xb5\xd6\xe8\xba\xed\x8e\x87\xea\x17\x9d\xbf\xa1\xb1\x76\xa8\
+\xbf\xa8\xa2\x58\x44\x61\x44\x14\xda\xdf\x1c\x05\xc9\x08\x5f\x14\
+\x11\x05\x11\xb1\xd2\xc4\x26\x21\x86\x34\xb6\x92\x30\x22\x59\xbf\
+\xc1\x24\x17\x68\x43\x3e\x32\x69\x3d\xef\xb0\x59\x93\x74\x1c\x96\
+\xe6\xa6\xab\x7e\x30\x91\xef\xed\x29\x3b\x7d\x8d\x43\x38\xd2\xf0\
+\xd9\xbb\xa7\xf9\xdf\x5f\x9b\x5b\x34\x76\x49\x96\xbb\xe8\xbc\xf7\
+\x6e\x27\xe5\x77\x2a\xf3\x56\x0b\xfd\x69\xc0\x97\xf5\xfa\xd5\x06\
+\x77\x3a\x95\x79\x3f\x14\xe5\xc3\xca\xee\x13\x69\x69\x1b\x83\xe3\
+\x79\xde\x4f\x74\x75\x75\xdf\x78\xc1\x05\x17\x71\xdd\x75\xd7\x33\
+\x32\x32\x8a\xd6\xb0\xb8\x38\xc7\x8e\x1d\xdb\xd9\xb2\xe5\x01\x76\
+\xed\xda\xce\xcc\xcc\x14\x77\xdd\xf5\x5d\x16\x17\x17\xe9\x1f\x58\
+\x03\x08\xa6\xa6\x8e\x13\xc5\xaa\xf2\xcd\xef\x3c\x18\x5f\x7d\xc5\
+\xe6\xb0\xbb\x52\xca\xa9\x58\x89\x30\x52\xb6\x15\x3c\x8a\x21\x82\
+\x58\x29\x3b\xd3\x3b\x51\x85\x91\x96\xc8\xc1\x11\x18\x48\x96\x50\
+\x35\x08\x99\x34\x9f\x62\x12\x8e\x81\x95\xd9\x3f\x99\xcb\x9f\xde\
+\xf7\x50\x60\x6a\x53\xf9\x0d\xc5\x9a\x74\x54\xc0\xfb\xff\xed\x38\
+\x7f\xf1\xdd\xd9\xa3\x06\xfe\x15\xdb\xbc\x99\xde\x73\x27\xcd\xe9\
+\x77\x02\x78\x9d\xce\x75\xe2\xf3\x3b\xf5\xf3\xa7\xcb\xbe\x6c\x04\
+\xe8\xe4\xf9\xf0\x43\x54\x3e\xac\xae\x7c\x0d\x9c\x19\x04\xc1\x65\
+\xc6\x68\x7a\x7a\xfa\xa8\x54\xca\x38\x8e\x24\x0c\x5b\x34\x9b\x41\
+\xb2\xe8\x03\x1c\x39\x72\x98\x83\x07\xf7\xb3\xb0\x30\xcf\xee\xdd\
+\xbb\xb8\xff\xfe\x7b\x39\x7a\xf4\xc8\xf2\x07\x36\x1a\xad\x9e\xff\
+\xf9\xfb\x9f\x69\xcc\x2d\xd4\x95\xd2\xda\x0e\xf1\xc6\x1a\x13\x1b\
+\x5b\x06\x1a\x43\x32\x29\xdc\x4e\x0f\x33\x62\x25\xbf\x63\x73\xff\
+\xf2\xc8\xa3\x90\xd6\x10\x56\x13\x21\xd0\x71\x84\x13\xd7\xf3\xba\
+\x59\x97\x93\x61\x89\x5f\xfd\xdc\x02\xff\xb9\x75\xe9\x28\xf0\x79\
+\xe0\x00\x27\x4f\xd0\xec\xa4\xb0\x4e\x8a\x5d\x4d\xe1\xd9\x68\xb1\
+\x5a\xce\xef\x94\xef\xe9\xf0\xf7\x0f\x55\xb2\xcb\x8f\xa7\x01\xe0\
+\x59\x4a\xa9\x97\x7b\x9e\xc7\xc8\xc8\x08\xe5\x72\x17\x61\xa8\x98\
+\x98\x98\xe0\xf0\xe1\x83\x4c\x4e\x8e\x33\x3e\x3e\xce\x81\x03\xfb\
+\xd9\xbb\x77\x2f\x95\x4a\x85\x4a\xa5\x8b\xe9\xe9\x29\x16\x17\x17\
+\x4e\xf8\x92\x9d\xfb\x8e\xf5\x7f\xe3\x3b\xdf\x3f\x5e\xab\x06\x4a\
+\xa9\x64\x14\xd0\x28\x8c\x04\xa5\xad\xc7\x2f\xbb\x83\x00\x8c\x41\
+\x6a\x6d\xa7\xf1\xa3\x97\xef\x90\xe8\x98\xa9\x52\x62\x60\xfe\xf8\
+\x58\xd8\x57\x11\xbe\xec\x19\x10\x1f\xf9\xdc\x11\x6e\x79\x64\xf1\
+\x28\xb6\x7f\xef\x20\x2b\x9b\x2d\x64\x51\x79\x27\xe5\xa7\x3b\x76\
+\xd2\xe5\x5d\x16\xe8\x65\x4b\xc4\x4e\x21\xfe\x54\xb5\xfd\x33\xa6\
+\x7c\x38\x71\xff\x59\x58\xb9\xbb\x2e\x70\x2e\xb0\x76\xcd\x9a\x61\
+\xce\x3a\x6b\x23\xb9\x5c\x81\xe9\xe9\x09\x1e\x79\x64\x2b\x0f\x3d\
+\xf4\x7d\x8c\x31\xdc\x7d\xf7\x9d\x34\x1a\x75\xba\xba\xba\x51\x2a\
+\x66\x69\x69\x71\xb5\xef\xf1\x3f\xf1\x57\x5f\xa8\xbc\xf2\xaa\x4b\
+\x44\xa9\x98\x43\x25\x3d\x7d\x16\xe1\x4b\xdb\x00\x22\x40\x1a\x83\
+\x14\x12\x9d\x6c\xa3\xa6\x21\x69\x11\x3f\x15\x5f\x65\x81\x9f\xe7\
+\x3a\xa0\x23\x82\xda\x4c\xe3\xd1\x3d\x53\xa5\xcf\xdf\x73\x4c\x3c\
+\x7c\x60\xfe\x30\xf0\x05\xec\x6e\x1b\xc9\xc4\xc4\x93\xbc\xb2\xd3\
+\xa0\x4d\x7a\x24\x2f\x5b\xce\xa9\xd4\xeb\xd9\x12\x31\x9b\xe3\xd3\
+\xcf\xe1\x19\x42\xfa\xa7\x92\xec\x16\xe4\x60\x2f\x68\x04\x78\xa9\
+\xeb\xba\x6c\xda\xb4\x89\xb5\x6b\xd7\x12\x86\x21\xdb\xb6\xfd\x80\
+\xfb\xee\xbb\x87\x66\xb3\xc5\xfe\xfd\x7b\x71\x5d\x8f\xb5\x6b\xcf\
+\xe4\xf0\xe1\x83\x00\x27\xed\x9a\x95\x96\x46\x2b\xec\xba\xed\xee\
+\x07\xa7\x5e\xf7\xf2\x2b\x06\x96\x37\x4e\x84\xa4\xb3\x07\x94\x31\
+\x48\xe1\x2c\x83\x3f\x8b\xfe\x57\x57\xbc\x10\x02\x47\x4a\x5c\xd7\
+\xa1\x11\x04\xdc\x7b\xff\x0e\xee\xd9\xf2\x28\xbb\x76\xee\xed\x99\
+\x5d\xac\x31\x57\x8b\x16\xb0\x61\xff\x58\xf2\x96\x6c\x99\xf7\x58\
+\x24\x4f\x27\xd0\xd7\x89\xde\x3d\x55\xb9\x97\xf5\xf6\xf4\x39\x78\
+\x86\x95\x0f\x2b\x11\xa0\x7d\xa7\x25\x96\x0b\x5f\x07\xbc\xaa\xb7\
+\xb7\x8f\xf5\xeb\x37\x52\x28\x94\x19\x1b\x3b\xc6\xfd\xf7\xdf\xc7\
+\x81\x03\xfb\xf1\x7d\x9f\x83\x07\x0f\x12\x45\x11\x0b\x0b\xf3\xa7\
+\x54\x7c\x5a\xfe\xf1\xf3\xb7\x45\xd7\x5d\x7d\x09\x8e\xe7\xda\xe6\
+\x8d\xf6\x28\x1e\x2e\x8e\x54\x16\x08\x26\xdb\xb6\x75\x84\x77\x49\
+\x49\x28\x85\x60\xa9\xd6\x60\xcb\xb6\x3d\xdc\xb3\x65\x07\x8f\xee\
+\x39\x44\xb5\xd6\xa0\xd1\x6c\x4d\xc4\xb1\xde\x05\xec\xc2\x76\xf0\
+\xb4\x73\x51\xd6\x23\xd3\x06\x90\xf5\xee\x4e\xad\x5a\x9d\xc6\xf0\
+\xdb\x7f\xa7\x39\xfd\x4e\x83\x3a\xab\x11\x3a\xcf\xb8\xf2\x61\x65\
+\x0f\x7a\x52\x8f\x3e\xb0\xc9\x71\x9c\x75\x23\x23\x23\x8c\x8e\x0e\
+\x53\xad\x2e\xb1\x63\xc7\x23\xec\xde\xbd\x8b\xae\xae\x5e\xb6\x6e\
+\x7d\x90\x56\xab\x09\xc0\x69\xea\x1e\x80\x85\x6a\x7d\xb8\x51\x6f\
+\xc5\xe5\x42\xd1\x37\xda\x2e\xce\x69\xef\x94\x5e\xe6\x15\x56\x13\
+\x63\x0c\x53\x33\x8b\xdc\xf7\x83\x9d\xdc\xf5\xc0\x76\xb3\x73\xef\
+\x11\xe2\x38\x56\x71\xac\x26\x62\xad\x77\x00\x8f\x60\x9b\x37\xda\
+\xb4\x6c\xa7\x9a\x3b\x8d\xca\x3b\x01\xb8\x53\x75\xee\xa4\x73\x7c\
+\xf6\xef\x4e\xde\x9f\x36\x00\x52\xe7\xd2\x6c\xdf\x33\x2e\xe9\xe1\
+\xe0\x36\xfa\x1f\x02\x5e\x01\x50\x28\x94\x28\x16\x4b\xcc\xce\x1e\
+\xe7\xee\xbb\xef\xa0\x56\xab\xb3\x77\xef\xee\x53\xe5\xfa\xc7\x12\
+\xe7\x1b\xdf\x7d\x68\xec\xe7\xde\x72\xfd\x3a\xe9\x08\x94\x59\x26\
+\xf0\x96\x27\x8f\xd9\x89\x9c\xda\x32\x85\x5a\x33\x36\x39\xc3\x7d\
+\x3f\xd8\xc5\x5d\xf7\x3d\xa2\xf6\x1e\x1a\x37\xda\xe8\x10\xc3\x41\
+\x6d\xcc\x4e\x2c\xaa\x5f\x64\xc5\x0b\xd3\x37\x5d\xa5\xce\xa5\x95\
+\xdf\x49\xe9\x59\x8f\x4f\x87\xfc\xd3\x41\xf9\x59\x3e\x21\x1d\xe6\
+\x61\xf5\x28\xf0\x8c\x4b\x36\x05\x68\x60\x18\x78\xb5\x52\x8a\x6a\
+\x75\x91\xd9\xd9\x59\x76\xec\xd8\xc6\xd8\xd8\x31\x8e\x1f\x9f\x64\
+\x69\x69\x09\xa5\x9e\x98\x11\x07\x41\xc4\xad\x77\x6e\xd1\x3f\xff\
+\x13\xd7\x5b\x3c\x2f\xed\x57\x0b\x20\x56\x9a\x20\x8c\x68\xb4\x02\
+\xf6\x1f\x9e\x60\xcb\xc3\xbb\xb9\xf3\xfe\x47\xc2\xc9\xe9\x79\x85\
+\x4d\x4b\xfb\xb0\xa1\x7d\x3f\x76\xe1\x85\xf6\x75\x67\x73\x6c\xf6\
+\xb1\xad\xa8\x6c\x18\xef\x14\xe2\xd3\x00\x30\x4d\xea\x64\x95\xdf\
+\x29\xd7\x77\xf2\xfe\x67\x15\xe0\xeb\x24\xed\x14\xd0\x3e\x5c\xe0\
+\x1c\x60\xbd\x5d\xe2\x74\x98\x7b\xef\xbd\x9b\x9d\x3b\xb7\x33\x31\
+\x31\xce\xd2\xd2\xc2\x69\xe7\xfb\xd5\x64\x7a\x76\xa1\x5f\x6b\xa3\
+\x7d\xcf\x91\xad\x20\xa4\xd1\x0a\xa8\xd6\x9a\x1c\x38\x32\xc1\xfd\
+\x5b\x77\x71\xfb\xdd\x5b\x5b\xcd\x20\x0c\xb1\xe1\x7c\x3f\xb0\x1b\
+\x3b\x0b\x47\xb1\x3c\xd5\xa4\xa3\xe2\x3b\x29\x27\x8b\xdc\x57\xcb\
+\xf7\x9d\x14\x9f\x8d\x18\x8f\x35\x88\xd3\x7e\x0e\x27\x1a\x61\xfb\
+\xf9\xb3\x4e\xf9\x70\x62\x0a\xd0\xc0\x00\xf0\x2a\xb0\x60\x6b\x7e\
+\x7e\x8e\x03\x07\xf6\x51\xad\x56\xa9\xd5\xaa\x44\x51\xfc\xa4\xbf\
+\x50\x6b\x2a\x5b\x1e\xd9\x5b\xaf\x94\x0a\xa5\xed\x7b\x0e\xf1\xc0\
+\xc3\x7b\xcc\x0f\x1e\xdd\x57\x8f\x63\xd5\xc2\x82\xb6\xed\x58\xa5\
+\x4f\x91\x70\x82\xc9\x75\xb6\xc7\x2d\x3a\x79\xd5\x6a\x5c\x7b\x27\
+\x84\xdf\x29\x02\x74\x1a\xed\xcb\x1a\x4e\x56\xd9\xd9\x94\xd3\xa9\
+\xdc\xcb\xfe\xfd\xac\x13\x81\x05\x7d\xed\x1a\x79\x33\xf0\x65\xe0\
+\xec\xa7\xef\x1b\x05\xe5\x62\xae\x5e\xab\xb7\x02\x6c\xd3\xe5\x34\
+\x36\xbc\xef\x05\x8e\x63\x95\xdd\x56\xb8\x61\xc5\xeb\xd3\x37\x32\
+\xab\x8c\xb4\x12\xd2\xde\x9a\xee\xbb\xcb\x76\xea\x74\x1a\xe4\x49\
+\x47\x86\x4e\xde\x9f\x0d\xf9\xa7\x43\xee\x3c\x6b\x95\x0f\x27\x46\
+\x00\x17\xd8\xc0\xd3\xa7\xfc\x26\xb0\x88\x31\x0b\xb5\x7a\x6b\x1c\
+\xab\xf0\x03\x58\xaf\xf7\xb0\x0a\x6f\x1b\xe3\xf2\x70\x34\x9d\x01\
+\x54\x27\x2f\xec\x14\xaa\xd3\x8a\x0d\x39\x51\xc1\x2a\x73\xbe\x53\
+\xc8\x5f\x2d\xcf\x9f\x2a\xc7\x3f\x67\x94\x0f\x2b\x18\xc0\x60\x77\
+\xfb\x78\xc5\x53\xfc\xf9\x0b\xc0\x5c\x72\x1c\xc6\x2a\xfc\x30\xd6\
+\x18\xfc\xe4\xfb\x0b\x9c\x48\x42\x69\x4e\x1c\x93\x80\xce\x06\x91\
+\x0d\xf7\x9d\x8e\x4e\x25\x5e\xd6\x00\x56\x53\x7c\xb6\xd4\xeb\x84\
+\xf8\x9f\xd3\xca\x07\x7b\x63\xf3\xd8\x8b\xdd\x80\x6d\x8a\x5c\x65\
+\xe1\xfd\xd3\x92\x18\x3b\x67\xfe\x20\x56\xd9\x33\xc0\x2c\x16\xd0\
+\x09\xac\xa7\x7b\xb0\xbc\xef\x7d\x9a\x80\xca\x5e\x57\x5b\xb2\x9e\
+\xdf\xbe\xf1\x59\x06\xae\x93\xf2\x3a\xe5\xfa\x4e\xf9\xbd\x13\x9b\
+\x97\x8e\x26\x9d\xca\xcc\x4e\x2c\x5f\xf6\x7a\x9f\xf5\x92\x2e\x03\
+\x5d\x9e\x98\xf2\x67\x80\x47\xb1\x88\xfd\x18\xd6\xdb\x17\x80\x3a\
+\xc9\x32\xce\xac\x84\xf8\x74\x2e\xef\xe4\xe9\x6d\x69\xdf\xc4\xf4\
+\xa4\x0c\x38\xf1\xe6\x77\xf2\xd2\xf4\xf3\x34\x78\xeb\x94\xe7\xb3\
+\x58\x20\x0d\x26\xb3\xe1\x3f\xcb\xe8\x65\x8f\x6c\xdd\xff\x9c\x91\
+\x76\x53\x84\xc4\x02\xb2\x3b\x80\xeb\x4e\xe3\x7d\x3b\x80\x6d\xc0\
+\x4e\x2c\x5a\x5f\x4c\xde\x1f\x62\x43\xbb\xcf\xc9\x4a\x87\xce\xca\
+\x87\x13\x79\x88\x74\x3a\x48\x1b\x40\x3a\xd7\x77\xca\xf9\x59\xb6\
+\x2e\xcd\xfa\x65\xeb\xfa\xf4\x7b\x56\x43\xf8\x59\x52\x27\x8b\xf0\
+\x4f\x45\xf3\x3e\x67\x24\x1d\x01\x16\xb1\xc3\xa6\xd7\x75\xf8\x7f\
+\xb3\xd8\xce\xd9\x2d\x58\xc4\x3e\x8f\x55\x78\x1d\xab\x60\x1f\xbb\
+\x6f\x40\x3b\xaf\x67\xeb\xf4\xec\xd1\x0e\xff\xe9\xdc\xde\x56\x38\
+\x9c\x78\x53\xb3\xb4\x6a\x3a\xfc\x67\xa9\xd9\xd5\xbc\x3b\x0b\xfe\
+\x56\x0b\xf3\xab\x51\xbb\x9d\x42\x7d\xba\xec\x7b\xce\x4a\xba\x0a\
+\x88\xb1\xdb\x98\xe4\x81\x9b\xb0\x1e\xbc\x13\xb8\x13\x5b\x9e\xd5\
+\x93\x23\x62\x25\xac\xb7\x3d\x3d\xdb\x5b\x07\x9d\xf3\x78\x5b\xf1\
+\xd9\x08\xd0\x09\x3c\xe9\xd4\xff\x4d\xe7\x5f\x43\x67\x5a\xf6\xb1\
+\x30\x40\x36\x5a\x64\x15\x7c\x2a\xd4\x9f\xbe\xb6\xac\x21\x3c\xa7\
+\x45\x60\x3d\xb7\x1d\xaa\x25\x50\x04\xba\x58\x69\x9b\x6a\x2f\x79\
+\xda\xae\xcd\x3d\x56\x6a\xf5\x74\xcd\x9e\x7e\xad\xfd\x5c\xa4\x3e\
+\xbb\x5d\xcf\xb7\xbf\x37\x5b\xdf\x67\x51\x74\xda\xd3\xb2\x06\x90\
+\x56\x72\x56\xa9\xd9\xfa\xbf\x93\x31\x74\x42\xf6\xe9\xd4\x92\x36\
+\x80\xf6\xf5\x64\x8d\xf4\x39\x1b\xf6\xd3\xd2\x69\x6e\x60\x88\x05\
+\x72\x12\xab\xbc\xb4\x81\x64\x43\x74\x27\xaf\x48\x87\xd3\x36\x99\
+\xd3\x36\x2e\xc5\xc9\x9d\x47\x69\x10\x98\xbe\xe1\xd9\x50\x9b\xfe\
+\x3f\x9d\x50\x7b\xfa\x79\x36\xd4\x9f\x6e\x6d\xdf\x89\xdc\x81\x93\
+\x95\xff\xbc\x91\x4e\x06\x90\x46\xe0\xe9\xe7\xed\x90\x9c\xbe\x09\
+\x59\x85\xb6\xd1\x74\x7a\xbe\x41\xda\x6b\xb3\x2d\x68\xab\x95\x78\
+\x9d\x8c\x29\xeb\xfd\x59\x4f\xcd\x86\xf6\x2c\xd8\x4b\x47\x88\xec\
+\x61\x56\xf9\x2e\xe8\xac\xfc\xe7\x8d\x11\xb4\x0d\x40\xb3\x7a\x38\
+\x6e\xdf\xa4\xb6\xc2\xda\x8a\x8c\x59\x59\x0a\xbd\x53\x64\x68\xbf\
+\xa7\x1d\x49\xb2\x39\x3f\xfb\x9e\xd5\x6a\xeb\xf4\x6b\xe9\x23\x4e\
+\xbd\xde\x09\xb8\x65\x0d\x61\x35\x32\xa7\xd3\xb9\xd5\x0c\x20\xfd\
+\xf8\xbc\x90\xec\x60\x50\x76\xc0\x25\x7d\x63\xb2\x9e\x9e\x6d\x26\
+\x49\xa3\xfb\xb6\x41\xb5\x8f\x34\x60\x4a\x87\xfe\xec\x77\xa5\xc3\
+\xee\x6a\xca\x6a\x8f\x48\xad\x66\x00\x59\xe5\x77\x02\x74\xab\x29\
+\xbf\x2d\xcf\xfb\xd0\xdf\x96\xcc\xde\xaa\x27\x28\x3b\x1d\x72\xf9\
+\xff\xdb\x39\xa3\xed\x06\x61\x18\x86\xaa\xdb\xff\xff\xf1\x46\xf7\
+\xa4\xb3\x8b\x90\x43\x9f\x01\xbd\x24\x0d\x09\xd9\xa9\x6c\xcb\x31\
+\x65\x3a\xbe\x40\x62\x22\xfc\x05\x32\x4f\xd8\xb4\x4f\x2c\x73\xbd\
+\xd7\xb4\x73\x7e\x1a\x04\x75\xd9\xfb\x26\xd1\x53\x94\x68\xc7\x39\
+\x66\xf5\x8a\xfe\x99\xf7\x5f\x0e\x2e\x04\x49\xdd\x23\x3d\x6e\xaf\
+\x4f\xfc\x68\xff\x6e\x5d\x7a\x3d\x0d\x20\x31\x91\x9f\x7a\xcf\xb6\
+\x25\x6a\xa9\xdd\xf6\x7c\x69\x1f\x05\x1a\xc9\xbc\x8f\x74\x34\x8e\
+\xcb\x12\x6f\x64\x04\x60\xe6\xde\xf4\x3c\x93\x3e\x66\xed\xdf\x31\
+\xd7\xfa\xef\xdc\x22\x43\xbf\xd7\x49\xeb\xf3\xb6\x49\x4c\x92\xf9\
+\x59\x9a\x13\xbc\x33\x23\xcb\xeb\xf9\xb7\x5d\x1a\x36\x00\x5a\xfc\
+\x16\x73\xf2\xa7\x9a\x94\x87\xcc\x01\x5e\x3a\x4a\x45\x4b\xfe\x58\
+\x0c\x5a\x49\x80\xdb\xf4\xe8\x0c\xe5\x2d\x61\x9c\x12\x4b\x2d\xf6\
+\xbc\x05\xe9\x84\x25\xc0\x04\x26\xf9\xc2\xb5\x1c\xdb\xa2\x65\x9d\
+\xa0\x19\x00\x93\xc4\x46\x9a\xd1\x12\xbf\x0c\xff\x2b\x63\xc9\x71\
+\xe9\x33\x03\xb8\x25\x18\x01\xa6\xfa\x3d\x43\xba\xe7\xb2\xc0\x63\
+\xad\x4f\xef\xcf\x07\x3d\x44\xca\x47\x23\x27\x8d\x63\x25\x13\x2b\
+\x23\x78\xc7\x1a\xee\x21\xdd\x98\x7c\x69\x2e\x04\xa5\x57\x7e\x95\
+\x31\x93\xc8\x9f\x6e\xbd\x62\x8d\xef\xe7\xf9\x9e\xb7\x95\xf1\x24\
+\x65\x4a\xd4\xa6\xd0\x7d\xa6\xeb\xd9\x67\x7b\x5b\xa4\x04\x90\x0c\
+\x97\x6e\x8d\x4c\xfe\x48\xf0\xa4\xfb\xf9\xb4\x2f\x49\x17\xae\x71\
+\x4e\x1a\xdb\xef\x30\x47\x3a\x92\xfe\x49\x21\xe7\xf6\xc4\x1b\x7e\
+\x58\xd3\x42\x36\x49\x64\x35\x8f\xff\x55\xa4\xbd\x5d\xcc\x7b\xe4\
+\x5e\xf4\x62\xe6\x0f\x93\xe7\x4b\x7b\xa9\xc8\x39\xfc\xfc\x69\x05\
+\xef\x21\x1f\x60\x1d\x40\x3a\x46\x02\xc3\x5f\x2e\x8f\x74\xac\xf8\
+\x79\x2d\x5b\x62\x45\xc6\x99\x01\x64\xe8\x9f\xee\x33\xe9\xfa\x43\
+\xfc\x02\xed\x11\xed\x14\x09\xd8\xcf\x0a\x1f\xfb\x34\x90\x49\x83\
+\x85\x31\x62\xca\xda\x57\x72\xe1\x7e\x2b\xe5\xb6\x3d\x1e\x00\x2b\
+\xed\xe6\x1c\x95\xf1\x76\xec\xcb\xba\x80\xf4\x6f\x10\x52\x27\x23\
+\xbd\x7e\x3a\x92\x9e\x69\xfa\x99\x71\x3d\x28\xf8\x03\xe9\x4a\x01\
+\xef\xb4\x3e\x14\xed\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\
+\x82\
+\x00\x00\x08\x79\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xaf\xc8\x37\x05\x8a\xe9\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x08\x0b\x49\x44\x41\x54\x78\xda\x62\
+\xfc\xff\xff\x3f\x03\x0c\x30\x32\x32\x32\x90\x03\x36\x6f\x3e\x64\
+\xc8\xc5\xc5\xb1\x9e\x95\x95\x55\xfe\xce\x9d\x3b\x3e\x49\x49\xa1\
+\x7b\x80\xc2\xbf\x80\xf8\x3f\x3e\x7d\x20\xbb\x01\x02\x88\x89\x81\
+\x42\xb0\x6a\xd5\x4e\x45\x66\x66\xe6\x7d\x26\x26\x5a\xf2\x62\x62\
+\x82\x0c\xd7\xae\x5d\x16\x07\x0a\xf3\x01\x31\x33\x31\xfa\x01\x02\
+\x88\x62\x07\xfc\xfe\xfd\xaf\x41\x53\x53\x41\x80\x8f\x8f\x1b\xc8\
+\xfe\xc3\xf0\xee\xdd\x3b\x1e\xa0\x30\x07\x28\x40\xd1\xd5\xee\xd9\
+\x73\x4a\x60\xf3\xe6\xfd\x82\xc8\x72\x00\x01\x44\xb1\x03\x80\xc0\
+\x5e\x41\x41\x0a\xcc\xf8\xf3\xe7\x2f\xc3\xaf\x5f\xbf\xb1\xc6\xe3\
+\x86\x0d\x07\x04\x7e\xfe\xfc\x75\x80\x95\x95\x7d\x23\x90\x0b\x72\
+\x24\x0b\x48\x1c\x20\x80\x58\x28\xb5\x9d\x9b\x9b\x53\xfe\xef\xdf\
+\x7f\x60\x36\xd0\x72\x20\xfe\x83\xa1\x66\xf1\xe2\x6d\x60\xcb\x0d\
+\x0d\xd5\xf5\xdf\xbe\xfd\x08\x12\x92\x00\xe2\xe7\x40\xfc\x05\x20\
+\x80\x28\x0e\x81\x1f\x3f\x7e\x41\x2d\xfe\xcd\x00\xb4\x04\x18\x0a\
+\xa8\x0e\x98\x3e\x7d\x2d\xd8\x72\x60\x1a\xd1\x97\x93\x93\x60\x00\
+\x26\x56\x90\x30\x28\x1a\xd8\x40\x0c\x80\x00\xa2\xd8\x01\xdf\xbf\
+\xff\x84\x3b\x00\xe4\x18\x50\x3a\x80\x81\xee\xee\xc5\x60\xcb\xad\
+\xad\xf5\xf5\x95\x94\xa4\xc1\x62\x8f\x1e\xbd\x80\x85\x3c\x38\xaa\
+\x00\x02\x88\x85\x1a\x21\xf0\xf3\xe7\x6f\x30\x1b\x14\x02\xb0\x28\
+\x48\x4c\x2c\x01\x59\xbe\xdb\xc9\xc9\x04\x6c\xf9\xbf\x7f\xff\x18\
+\x3e\x7c\xf8\xcc\x70\xeb\xd6\xbd\xcb\x40\xe9\xbf\xb0\x2c\x0a\x10\
+\x40\x54\x70\x00\x24\x04\x60\x8e\x01\x85\x80\xb6\xb6\x29\x9f\xb8\
+\xb8\xfc\x16\x7b\x7b\x23\x3d\x65\x65\x19\xb0\xd8\x9b\x37\x1f\x19\
+\xb6\x6d\x3b\xf2\x75\xcb\x96\xd5\xd3\x81\x4a\xbf\x81\x32\x10\x48\
+\x0f\x40\x00\xb1\x50\x2b\x0d\xc0\xd8\xcc\xcc\x6c\x3c\x76\x76\x41\
+\xab\x1c\x1d\x4d\xb4\x54\x54\x64\x81\x96\xff\x05\x5a\xfe\x01\x54\
+\x58\x7d\xdd\xb4\x69\x79\xd9\xfe\xfd\x5b\xce\x02\x95\xbe\x01\x29\
+\x07\xe9\x01\x08\x20\xaa\x84\x00\x28\xe8\x61\x51\x20\x25\xa5\x56\
+\xe1\xe6\x66\xc1\xa3\xaa\x2a\x07\x4e\x90\xaf\x5f\xbf\x67\xd8\xb8\
+\xf1\xe0\xd7\x9d\x3b\x57\x97\x1d\x39\xb2\x13\x64\xf9\x33\x20\x7e\
+\x0f\xca\xb5\x20\x3d\x00\x01\x44\xa5\x10\xf8\x03\xa6\x2f\x5e\xbc\
+\xcd\xe0\xea\x6a\xc1\xa3\xa6\x26\x0f\xb7\x7c\xfd\xfa\x7d\x5f\xf7\
+\xef\xdf\x58\x76\xf2\xe4\x5e\x90\xe5\x4f\xa1\xbe\xff\x09\x4b\x03\
+\x00\x01\xc4\x42\x79\x49\xf8\x87\xe1\xd3\xa7\xaf\x0c\x2b\x57\xee\
+\x66\x30\x32\x52\x67\xd0\xd0\x50\x00\x5b\xfe\xea\xd5\x3b\x86\xb5\
+\x6b\xf7\x7e\x3d\x7a\x74\x5b\xd9\xf9\xf3\x07\xb1\x5a\x0e\x02\x00\
+\x01\x44\x94\x03\x0e\x34\x68\x3a\xfe\xfb\xff\x9f\x09\x58\x57\x31\
+\x3a\x36\xdc\x38\x80\x9c\x8a\x41\x3e\x5f\xb1\x62\x17\x83\xae\xae\
+\x0a\x83\xba\xba\x3c\xdc\xf2\x55\xab\x76\x7d\x3d\x73\x66\x77\xd9\
+\x95\x2b\xc7\x70\x5a\x0e\x02\x00\x01\x84\xd3\x01\x5b\xca\x34\x05\
+\x98\x99\x18\x26\xf0\x8a\x32\x07\x48\x68\x73\xf0\xb3\x71\x32\x31\
+\xfc\xff\xf5\x9f\xe1\xec\x04\x9d\x4f\x6f\xde\xfe\xaa\x72\x6f\xbe\
+\x35\xf7\x40\x93\x1a\xd7\x91\x37\xb7\x19\xd8\x64\xec\xc0\x16\x7f\
+\xfd\xfa\x9d\xe1\xdb\xb7\x1f\x0c\x6b\xd6\xec\xfd\x7a\xfa\xf4\xae\
+\xb2\x5b\xb7\x4e\xe1\xb5\x1c\x04\x00\x02\x08\xab\x03\x56\xe6\x6a\
+\x38\x32\xb2\x32\xae\x33\x0c\xe5\x13\x10\xd7\x62\x47\x91\x93\x36\
+\xe7\xe4\xbb\xbb\xf9\xe3\x94\xd5\xc5\xca\x9c\x82\xdc\x2c\x71\x82\
+\x7f\x98\x18\xa2\xd3\x02\xc1\x16\xf7\xf7\x2f\x67\x78\xfa\xf4\x15\
+\xd0\xe7\xc4\x59\x0e\x02\x00\x01\x84\xe1\x80\x45\x19\xea\x8e\xfc\
+\xe2\xcc\xfb\x9c\x92\x78\x19\x58\x39\x18\x19\xbe\xde\xfc\xc6\xf0\
+\xeb\xc3\x3f\x06\x26\x36\x46\x06\x5e\x05\x16\x06\x66\x56\x46\x06\
+\x65\x67\x4e\x86\x6f\xaf\xfe\x74\xcb\x58\x71\x30\x28\x3d\xf9\xc0\
+\xb0\x7a\xf5\x5e\x70\x6e\x78\xf1\xe4\x21\xc3\xef\xd7\x47\xfa\x80\
+\x96\x9f\x83\xa6\x76\xbc\x96\x83\x00\x40\x00\x31\x22\x37\x48\xe6\
+\xa6\x68\x0a\x70\x71\x33\xde\x0f\xce\xe3\x02\x05\x3f\xc3\x83\xa3\
+\xbf\x18\x6e\x5c\xff\xbe\xe7\xf0\xb5\x2f\x3b\xe5\x45\xd9\x44\x6d\
+\x74\x78\xb2\xb4\x7c\x39\x79\x98\x81\x8e\xf9\xf9\xe5\x1f\x03\x3b\
+\x0f\xa4\x24\xbf\x71\x95\x9b\xe1\xf5\x95\x3f\x0c\x92\x8a\xbf\x19\
+\xe6\x2e\x7e\x54\xd4\xb1\xfe\xc5\x16\xa8\xef\xbf\xe3\xb3\x1c\x64\
+\x37\x40\x00\xa1\x84\x00\x30\x41\x17\x9a\xd8\x31\x09\xb0\xfd\xfd\
+\xcd\x70\x79\xcf\x5f\x86\x2d\x87\x3e\xf6\x57\x2d\x7b\x02\xaa\x3e\
+\xdf\x01\xf1\xd7\x39\x99\x8a\x1f\xc4\xd4\x99\xda\xc4\x15\x99\x18\
+\xd8\x41\x25\xf9\x57\x60\x91\xf6\xf1\x3f\xc3\xff\x7b\xdf\x19\x4c\
+\x83\x79\x19\x3e\xdc\xff\xcb\x60\xa3\xc1\xeb\x76\xac\x55\x20\xfc\
+\xdf\x7f\x86\x73\xdf\x7e\xfc\xdb\xe8\xd6\x72\x6b\x1f\x34\xcf\x63\
+\x75\x08\x40\x00\xa1\x54\x46\xcc\x6c\xff\xe3\x55\x15\xff\x32\x7c\
+\x7a\xf2\x8b\xe1\xd4\xf9\x1f\x7b\xa0\x96\x83\x82\xf2\x11\xc8\x47\
+\xac\x8c\xcc\x0f\x3f\xbf\x06\x9a\xf5\xe5\x17\x18\x7f\x7d\xfe\x8b\
+\xe1\xd6\xb1\x7f\x0c\xf2\x4e\x5c\x0c\x1c\xc0\x1a\x9e\x5b\x98\x91\
+\xc1\x3a\x98\xcf\xc3\x32\x5d\xc0\x5c\xdb\x83\x3b\x53\x56\x85\x7d\
+\xc7\x8e\x6a\xf5\x69\xa0\x5a\x1b\x57\xc5\x07\x10\x40\x28\x82\x12\
+\xa2\xff\xe4\x19\xbe\xfe\x62\xf8\xf1\xe1\x37\xc3\xc3\x97\xbf\xef\
+\x02\x85\x3e\x00\xf1\x6b\x20\xfe\x0c\x8a\x4b\x66\x06\xe6\x08\x11\
+\x7e\x60\xb1\x0b\x54\xf3\xf9\xe5\x1f\x86\x33\x07\x19\xbe\x32\x73\
+\x31\x02\xab\x58\xa0\xe7\xbe\xff\x61\xe0\x05\x56\xb2\x02\xe2\x8c\
+\x60\x36\x88\xd6\x70\x66\x67\x50\xd6\x66\x4b\x59\x5d\xa8\xda\x0e\
+\xd4\xcf\x8b\xcd\x11\x00\x01\x84\x22\x20\xcc\x0b\xcc\xde\xdf\x7e\
+\x31\xfc\xfd\xfa\x87\x81\x89\x91\x59\x14\x5a\x5e\x83\xca\xd9\x7f\
+\xd3\xe2\x35\x12\x65\x25\xfe\xf8\x0a\xb0\xfd\x64\xf8\xf4\xea\x2f\
+\xc3\xf1\x63\xcc\x5f\xa7\x6e\x7f\x55\xf6\xe7\x37\xd0\xf2\x1f\xbf\
+\xe1\xf8\xf3\xfd\x5f\x0c\xef\xae\xfd\x02\xd3\x20\xbe\x8a\x29\x13\
+\x83\xb4\x24\x6b\x4e\xbc\xbd\xa8\x21\xd0\x1c\x4e\xf4\xa6\x1a\x40\
+\x00\xa1\xa4\x81\x07\x8f\x18\x19\xac\xd4\x7e\x31\x48\x02\x03\xcc\
+\x48\x91\x3b\xa8\xc6\x47\x99\x85\x99\x99\xf1\x26\x17\x1b\x93\x85\
+\x96\xec\x77\x5b\x73\xd5\x1f\x0c\x1f\x5e\x31\x33\x1c\xba\xcc\xfd\
+\x75\xc1\x81\xd7\x65\xeb\x4f\xbf\x3b\x5b\x1a\x01\x6c\x83\xfe\x80\
+\x54\xc1\x8f\xaf\x30\x30\x5c\xba\xfc\x0b\x98\x68\x3f\xef\x74\xd0\
+\xe6\x75\xd1\xd6\x61\x73\x97\xd5\x61\x60\x90\x57\x67\x60\x30\xbc\
+\xca\xed\xbf\xf0\xe0\xeb\xeb\x50\x4f\xfd\x85\xd9\x09\x10\x40\x28\
+\x0e\xb8\xfd\x8c\xf9\xe8\xcb\x67\xff\xad\xc5\xf9\x7e\x33\xf8\xe9\
+\xff\x62\xd0\x97\x62\xf5\x03\x89\x0b\x70\xff\x63\xe0\xe7\xfa\xcb\
+\xf0\xfe\x03\x2b\xc3\xde\xeb\xfc\x5f\x17\x1f\x7d\x5d\xb6\xe9\xec\
+\x3b\x70\x3e\x87\x84\x00\xb0\x10\x02\x46\xd2\xe5\x4b\xff\x2f\xfb\
+\xb4\xdf\x06\x05\xf7\xdb\xce\x0d\x2f\x36\x6c\xaf\x56\x9f\x25\x24\
+\xce\xe0\x28\x0a\x0c\x4b\x11\x5e\x36\x47\xa0\xf8\x54\x20\xfe\x88\
+\xec\x00\x80\x00\x42\x89\x82\x57\x1f\x7f\x95\x2f\x3a\x28\xf0\xf9\
+\xe5\x4b\x50\x8d\xfd\x9b\x41\x9e\xfb\x1b\x18\x73\xfe\xf9\xc5\x70\
+\xee\x2e\x17\xc3\xa6\xf3\x02\x2f\xe7\x1f\x7c\x03\xb2\xfc\x0c\xac\
+\x90\xf9\xf3\x0b\xe2\x80\x17\x0f\xff\x33\xec\xbb\xfc\x79\x3d\xb4\
+\xa6\x03\x25\xdc\x27\xcf\xdf\xfd\x59\x00\x12\x67\xfd\xfb\x87\x01\
+\xd8\x68\x06\xb5\x03\xb9\x80\x98\x15\xd9\x4e\x80\x00\x42\x09\x81\
+\x69\x07\x1e\x9c\x8a\xb1\x90\x09\x9a\xf0\x4d\xb8\x46\x4d\xe4\x9f\
+\x3d\x17\xfb\x3f\x06\x70\x79\xf0\x81\xed\xde\xb3\x8f\x3f\x76\xaf\
+\x3f\xfb\x78\xeb\x83\xd7\x3f\x40\x16\x83\x9c\xf8\x16\x94\x30\xff\
+\xfc\xf9\xf7\x11\x18\xd7\xfc\xbf\x80\x39\xfe\xfd\x97\x7f\xa0\x44\
+\xfb\x09\x9a\x68\x7f\x00\x13\xed\xf3\x5f\xdf\xff\x82\xd3\x02\x37\
+\x27\x33\xa8\xbf\xc0\x8e\x6e\x27\x40\x00\xa1\x97\x84\x7f\x96\x9c\
+\x78\x72\x04\x48\x47\x02\xb1\x10\xb4\xf9\x0c\xea\x60\xfc\x83\x96\
+\x68\x9f\xa0\x39\xe3\x33\xb4\x45\xf3\xff\xe1\x53\xa6\xcb\xc0\x10\
+\xb0\xe1\x01\x36\x31\x65\x85\x38\xf5\x81\x62\xeb\xa1\xea\x19\x80\
+\x2d\x74\x3b\x36\xc6\x3f\xe0\x10\xba\x76\xff\xdf\x65\x6c\x7d\x05\
+\x80\x00\x42\xcf\x16\xff\xa1\x16\x81\x8a\xd0\x87\xa0\x64\x01\xc4\
+\x37\x81\xf8\x16\x10\xdf\x85\x06\xfb\x07\xe4\x6e\x17\xd0\x73\x0f\
+\xdf\xbe\xfe\xcf\x20\xce\xf5\x93\x41\x51\x84\x25\x38\xcc\x4c\x1c\
+\x94\xda\xd9\xba\xc3\x55\x8d\x18\xfe\xfd\xcf\x95\xe5\xff\xc1\x00\
+\x92\xff\xf4\xed\xdf\x0b\xa8\xa3\xff\x21\x5b\x08\x10\x40\xd8\x2a\
+\xa3\xff\x50\x85\xbf\x89\xa9\xaa\xdf\x7f\xf9\xbb\xe4\xe2\x6d\xf6\
+\x68\x27\xad\x4f\x0c\x9e\x7a\x1f\x79\x7e\xfc\xe0\x5f\xa7\x23\xc5\
+\x77\x82\x87\xfd\xbf\xa6\x9f\xd1\x07\x7e\xb6\xbf\x7f\x19\x2e\xde\
+\xe6\x63\xb8\xf5\xfc\xfb\x51\x68\x0e\x40\x69\xb7\x03\x04\x10\x23\
+\x15\x3a\xa7\xac\x3d\x11\x6a\x07\xc3\x8d\xdf\x59\xca\x08\xfc\xc4\
+\x90\x7c\xfd\x85\x95\x61\xd6\x11\xc1\xcb\x35\x6b\xef\x66\x43\x43\
+\xf5\x05\x34\x04\xc1\x75\x01\x40\x00\x51\xa3\x6b\xf6\xe7\xc6\xb3\
+\x6f\xe9\xeb\xce\x09\x7e\x7e\xfc\x92\x19\x52\x26\x40\x31\x88\xbf\
+\xec\xa4\xd0\xd7\xb5\xa7\x5f\x75\x43\xb3\xdf\x47\xf4\x10\x00\x08\
+\x20\x6a\x84\x00\x38\x14\x82\x8c\x24\x0c\xd4\xc4\xb9\x6b\x55\x44\
+\xfe\xf9\x8a\x71\xff\x62\x78\xf5\x95\x8d\xe1\xda\x4b\x86\x3d\x7b\
+\xaf\xbf\x5d\x78\xf1\xf1\xa7\xeb\xd0\xf4\xf3\x16\x39\x6a\x41\x76\
+\x03\x04\x18\x00\x02\x25\xa9\xd2\x7a\x2a\xd4\xc0\x00\x00\x00\x00\
+\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x01\x45\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x18\x00\x00\x00\x09\x08\x06\x00\x00\x00\x28\xfd\xec\xc6\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd1\x0c\x12\x00\x36\x0d\xdd\xfb\xfa\xf7\x00\x00\x00\xd2\x49\x44\
+\x41\x54\x78\x9c\xbd\x52\x31\x0a\xc2\x40\x10\x9c\x5b\xee\x17\x5b\
+\x6b\xab\x10\x08\xf8\x82\xd8\xc4\x3a\x6f\x90\x74\x79\x83\xe9\x62\
+\x65\x91\xc6\xfc\x22\xb6\xf1\x03\x27\xfa\x05\xe1\xe0\x7c\x40\x0a\
+\x21\xdc\x59\x08\x92\xa0\x89\x8d\x71\x60\xab\x9d\xd9\xdd\xd9\x5d\
+\x60\x64\x08\x00\x20\x92\xae\x8f\x60\x6d\x23\x86\x0a\x7c\xd3\x0a\
+\x22\xe9\xa2\x28\xc2\x76\x9b\xc1\x18\xd3\x21\x54\xd5\x11\x49\x92\
+\xf4\x36\x21\x92\x2e\xcb\x32\x4c\xa7\x13\x78\x9e\xd7\xc9\x29\xa5\
+\x10\x86\xab\x27\xa9\x2c\x0f\x8e\x48\x0e\xc6\xa7\xe2\x43\x61\xcc\
+\xcd\x11\x49\x27\x01\x80\x99\xdf\xd6\x41\x24\x5d\x1c\xaf\x11\x04\
+\x4b\x30\x33\xe6\xf3\x59\xa7\xc1\xe9\xa4\x00\x00\x5a\x6b\x84\xe1\
+\xea\x4d\xfb\xda\x06\x91\x74\xe7\xf3\x65\x5c\x07\x45\xb1\x47\x9e\
+\xef\xe0\xfb\x8b\xd7\x54\x5a\x5f\x51\xd7\xf7\xde\x1b\x58\xdb\x88\
+\xb6\xcb\x36\x98\x19\x69\xba\x01\xf0\x87\x2f\x1a\xd2\xfe\x04\x0f\
+\x26\x4c\x83\xdb\xee\x28\xff\x47\x00\x00\x00\x00\x49\x45\x4e\x44\
+\xae\x42\x60\x82\
+"
+
+qt_resource_name = "\
+\x00\x0c\
+\x0a\xa1\x0f\x27\
+\x00\x77\
+\x00\x69\x00\x64\x00\x65\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x06\xb9\xb8\x07\
+\x00\x61\
+\x00\x70\x00\x70\x00\x74\x00\x5f\x00\x6f\x00\x76\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x0f\x07\x5a\xc7\
+\x00\x65\
+\x00\x78\x00\x69\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x07\
+\x0b\xf7\x57\xa7\
+\x00\x74\
+\x00\x78\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x05\
+\x00\x6f\xa6\x53\
+\x00\x69\
+\x00\x63\x00\x6f\x00\x6e\x00\x73\
+\x00\x07\
+\x0e\xb3\x57\x87\
+\x00\x68\
+\x00\x64\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0a\xcd\x1c\xa7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x07\
+\x01\xd0\x57\xa7\
+\x00\x6b\
+\x00\x66\x00\x6d\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x08\x87\xae\x67\
+\x00\x76\
+\x00\x63\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x01\x31\x8d\xc7\
+\x00\x73\
+\x00\x70\x00\x65\x00\x61\x00\x6b\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0e\
+\x05\x73\xce\xc7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x66\x00\x61\x00\x6d\x00\x69\x00\x6c\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x06\xe1\x5a\x27\
+\x00\x64\
+\x00\x6f\x00\x77\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x09\xc8\xc6\x47\
+\x00\x65\
+\x00\x72\x00\x61\x00\x73\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0c\x0e\x3c\xa7\
+\x00\x6b\
+\x00\x66\x00\x6d\x00\x5f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x0e\x5d\xf3\x47\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x6d\x00\x6f\x00\x6c\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0b\
+\x08\x5d\x84\xe7\
+\x00\x66\
+\x00\x6f\x00\x72\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x05\xab\xbf\x87\
+\x00\x6d\
+\x00\x6f\x00\x6e\x00\x74\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x08\xf8\x7a\x67\
+\x00\x6e\
+\x00\x68\x00\x73\x00\x5f\x00\x73\x00\x63\x00\x6f\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x05\xe2\x59\x27\
+\x00\x6c\
+\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x05\x4b\xcb\x27\
+\x00\x6e\
+\x00\x65\x00\x77\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x10\
+\x05\x5b\x5a\xc7\
+\x00\x6b\
+\x00\x61\x00\x64\x00\x64\x00\x72\x00\x65\x00\x73\x00\x73\x00\x62\x00\x6f\x00\x6f\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x05\x30\x1a\xc7\
+\x00\x61\
+\x00\x64\x00\x64\x00\x5f\x00\x75\x00\x73\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x07\x17\x80\x27\
+\x00\x73\
+\x00\x63\x00\x68\x00\x65\x00\x64\x00\x75\x00\x6c\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x06\
+\x07\x76\x57\x47\
+\x00\x70\
+\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x11\
+\x09\x06\x0f\xa7\
+\x00\x75\
+\x00\x70\x00\x70\x00\x65\x00\x72\x00\x5f\x00\x69\x00\x6d\x00\x70\x00\x6c\x00\x61\x00\x6e\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x19\
+\x01\x13\x2f\xc7\
+\x00\x6e\
+\x00\x65\x00\x77\x00\x6c\x00\x6f\x00\x67\x00\x6f\x00\x5f\x00\x6c\x00\x61\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x70\x00\x61\x00\x64\
+\x00\x53\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x0f\xa1\x1a\x07\
+\x00\x6b\
+\x00\x64\x00\x6d\x00\x63\x00\x6f\x00\x6e\x00\x66\x00\x69\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x09\xa7\x8d\x47\
+\x00\x66\
+\x00\x69\x00\x72\x00\x73\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x08\x94\x60\x47\
+\x00\x73\
+\x00\x65\x00\x61\x00\x72\x00\x63\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0b\x1e\xc1\xe7\
+\x00\x73\
+\x00\x61\x00\x76\x00\x65\x00\x5f\x00\x61\x00\x6c\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0b\
+\x08\x4b\x76\xc7\
+\x00\x70\
+\x00\x72\x00\x69\x00\x76\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x11\
+\x09\x22\x63\xa7\
+\x00\x6c\
+\x00\x6f\x00\x77\x00\x65\x00\x72\x00\x5f\x00\x69\x00\x6d\x00\x70\x00\x6c\x00\x61\x00\x6e\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x0d\
+\x03\xb5\x0e\x27\
+\x00\x76\
+\x00\x63\x00\x61\x00\x6c\x00\x65\x00\x6e\x00\x64\x00\x61\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x08\x90\x59\x67\
+\x00\x6b\
+\x00\x61\x00\x72\x00\x6d\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0e\
+\x08\x3a\x46\xc7\
+\x00\x61\
+\x00\x67\x00\x74\x00\x5f\x00\x72\x00\x65\x00\x6c\x00\x6f\x00\x61\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x05\xc9\x18\x47\
+\x00\x64\
+\x00\x61\x00\x74\x00\x61\x00\x62\x00\x61\x00\x73\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x09\xcd\x39\x67\
+\x00\x62\
+\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x5f\x00\x6f\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x06\x3d\x9c\xa7\
+\x00\x67\
+\x00\x6f\x00\x68\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x06\x38\x5a\xa7\
+\x00\x68\
+\x00\x6f\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x07\x9e\x5a\x47\
+\x00\x62\
+\x00\x61\x00\x63\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0d\
+\x06\xf8\x5b\xc7\
+\x00\x77\
+\x00\x69\x00\x6b\x00\x69\x00\x70\x00\x65\x00\x64\x00\x69\x00\x61\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0a\xeb\xed\xc7\
+\x00\x63\
+\x00\x6f\x00\x6e\x00\x74\x00\x72\x00\x61\x00\x63\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x13\
+\x03\xd8\x4f\xe7\
+\x00\x73\
+\x00\x63\x00\x68\x00\x65\x00\x64\x00\x75\x00\x6c\x00\x65\x00\x5f\x00\x61\x00\x63\x00\x74\x00\x69\x00\x76\x00\x65\x00\x2e\x00\x70\
+\x00\x6e\x00\x67\
+\x00\x0a\
+\x00\x6d\xa2\x27\
+\x00\x61\
+\x00\x63\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x08\x01\x84\x87\
+\x00\x63\
+\x00\x68\x00\x61\x00\x69\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x04\x66\xb0\xc7\
+\x00\x6d\
+\x00\x65\x00\x6d\x00\x6f\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0a\xba\x53\x87\
+\x00\x6d\
+\x00\x61\x00\x69\x00\x6c\x00\x5f\x00\x6e\x00\x65\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x08\x4a\xc4\x07\
+\x00\x65\
+\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x09\xf1\x8f\xc7\
+\x00\x70\
+\x00\x65\x00\x6e\x00\x63\x00\x69\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x07\xa0\x86\x47\
+\x00\x73\
+\x00\x65\x00\x70\x00\x61\x00\x72\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x10\
+\x01\xbc\x1f\x87\
+\x00\x63\
+\x00\x68\x00\x61\x00\x69\x00\x6e\x00\x2d\x00\x62\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+"
+
+qt_resource_struct = "\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x29\x00\x00\x00\x01\
+\x00\x00\x00\x64\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x2a\
+\x00\x00\x02\x9e\x00\x00\x00\x00\x00\x01\x00\x05\x41\x65\
+\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x01\x00\x01\xb4\xc7\
+\x00\x00\x00\xa6\x00\x00\x00\x00\x00\x01\x00\x01\x94\xf2\
+\x00\x00\x03\x8a\x00\x00\x00\x00\x00\x01\x00\x08\x45\xe6\
+\x00\x00\x02\x28\x00\x00\x00\x00\x00\x01\x00\x03\xab\x35\
+\x00\x00\x01\xe6\x00\x00\x00\x00\x00\x01\x00\x02\x85\xe3\
+\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x03\x9b\xb3\
+\x00\x00\x00\xee\x00\x00\x00\x00\x00\x01\x00\x01\xba\x17\
+\x00\x00\x01\x9a\x00\x00\x00\x00\x00\x01\x00\x02\x53\xc2\
+\x00\x00\x03\xe2\x00\x00\x00\x00\x00\x01\x00\x08\x71\xde\
+\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x02\x72\x55\
+\x00\x00\x04\x3a\x00\x00\x00\x00\x00\x01\x00\x08\xa0\x93\
+\x00\x00\x04\x20\x00\x00\x00\x00\x00\x01\x00\x08\x97\x65\
+\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x63\x53\
+\x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x01\xc2\x56\
+\x00\x00\x02\x46\x00\x00\x00\x00\x00\x01\x00\x03\xb2\x4a\
+\x00\x00\x02\x64\x00\x00\x00\x00\x00\x01\x00\x03\xcc\xe5\
+\x00\x00\x04\x50\x00\x00\x00\x00\x00\x01\x00\x08\xaf\x3f\
+\x00\x00\x04\x50\x00\x00\x00\x00\x00\x01\x00\x08\xb5\x7e\
+\x00\x00\x03\xc0\x00\x00\x00\x00\x00\x01\x00\x08\x69\xfd\
+\x00\x00\x03\x46\x00\x00\x00\x00\x00\x01\x00\x06\xc9\xc4\
+\x00\x00\x01\x7e\x00\x00\x00\x00\x00\x01\x00\x02\x4d\x82\
+\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x01\xa2\x69\
+\x00\x00\x03\xaa\x00\x00\x00\x00\x00\x01\x00\x08\x5a\x26\
+\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x06\xbe\x78\
+\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x02\x56\x3b\
+\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x03\xd3\x4a\
+\x00\x00\x03\x62\x00\x00\x00\x00\x00\x01\x00\x06\xd7\xc3\
+\x00\x00\x02\xf6\x00\x00\x00\x00\x00\x01\x00\x05\xa3\x68\
+\x00\x00\x01\x26\x00\x00\x00\x00\x00\x01\x00\x01\xc8\xbd\
+\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x08\x91\xf0\
+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x88\x00\x00\x00\x00\x00\x01\x00\x01\x8c\x5a\
+\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x06\xc4\x9b\
+\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x01\x19\xe2\
+\x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x01\xd0\xc0\
+\x00\x00\x01\x5e\x00\x00\x00\x00\x00\x01\x00\x01\xe1\xff\
+\x00\x00\x00\x74\x00\x00\x00\x00\x00\x01\x00\x01\x31\x6a\
+\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x01\x12\x63\
+\x00\x00\x02\xd6\x00\x00\x00\x00\x00\x01\x00\x05\x93\x1f\
+\x00\x00\x04\xd0\x00\x00\x00\x00\x00\x01\x00\x09\x2a\x9a\
+\x00\x00\x05\x8a\x00\x00\x00\x00\x00\x01\x00\x09\x9a\xd1\
+\x00\x00\x04\xa4\x00\x00\x00\x00\x00\x01\x00\x09\x11\x4d\
+\x00\x00\x05\x02\x00\x00\x00\x00\x00\x01\x00\x09\x35\x91\
+\x00\x00\x04\x66\x00\x00\x00\x00\x00\x01\x00\x08\xbb\xbd\
+\x00\x00\x05\x6c\x00\x00\x00\x00\x00\x01\x00\x09\x92\x54\
+\x00\x00\x04\xea\x00\x00\x00\x00\x00\x01\x00\x09\x34\x5f\
+\x00\x00\x05\x38\x00\x00\x00\x00\x00\x01\x00\x09\x41\x69\
+\x00\x00\x05\x52\x00\x00\x00\x00\x00\x01\x00\x09\x52\x6e\
+\x00\x00\x05\x1a\x00\x00\x00\x00\x00\x01\x00\x09\x3e\xac\
+\x00\x00\x04\x86\x00\x00\x00\x00\x00\x01\x00\x09\x00\x34\
+"
+
+def qInitResources():
+ QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+def qCleanupResources():
+ QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+qInitResources()
diff --git a/src/openmolar/qt4gui/schema_updater.py b/src/openmolar/qt4gui/schema_updater.py
new file mode 100644
index 0000000..c7d3f98
--- /dev/null
+++ b/src/openmolar/qt4gui/schema_updater.py
@@ -0,0 +1,266 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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
+# version 3 of the License, or (at your option) any later version. It is
+# provided for educational purposes and 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.
+
+'''
+this module is called when the schema is found to be out of date
+'''
+
+from gettext import gettext as _
+import logging
+import sys
+import time
+from PyQt4 import QtGui, QtCore
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+
+LOGGER = logging.getLogger("openmolar")
+
+MESSAGE = "<h3>%s</h3>%s<br />%s {OLD} %s {NEW}<hr />%s<br /><b>%s</b>" %(
+_("Update required"),
+_("Your Openmolar database schema is out of date "
+"for this version of the client."),
+("Your database is at version"),
+("The required version is"),
+_("Would you like to Upgrade Now?"),
+_("WARNING - PLEASE ENSURE ALL OTHER STATIONS ARE LOGGED OFF")
+)
+
+ABORT_MESSAGE = _('Sorry, you cannot run this version of the '
+'openmolar client without updating your database schema.')
+
+FAILURE_MESSAGE = "<p>%s</p><p>%s</p><p>%s></p>" %(
+_("Sorry, we seem unable to update your schema at this point, "
+"Perhaps you have grabbed a development version of the program?"),
+("If so, please revert to a release version."),
+_("If this is not the case, something odd has happened, "
+"please let the developers of openmolar know ASAP.")
+)
+
+
+class UserQuit(Exception):
+ pass
+
+def proceed():
+ '''
+ on to the main gui.
+ '''
+ from openmolar.qt4gui import maingui
+ localsettings.loadFeeTables()
+ sys.exit(maingui.main(QtGui.QApplication.instance()))
+
+def user_quit():
+ raise UserQuit, "user has quit the update"
+
+class SchemaUpdater(object):
+ def __init__(self):
+ self.pb = QtGui.QProgressDialog()
+ self.pb.canceled.connect(user_quit)
+
+ required = localsettings.CLIENT_SCHEMA_VERSION
+ self.current = schema_version.getVersion()
+
+ message = MESSAGE.replace("{OLD}",self.current).replace("{NEW}", required)
+
+ if QtGui.QMessageBox.question(None, "Update Schema",
+ message, QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No) == QtGui.QMessageBox.Yes:
+ self.pb.setWindowTitle("openMolar")
+ self.pb.show()
+ else:
+ self.completed(False, ABORT_MESSAGE)
+
+ self.apply_updates()
+
+ if schema_version.getVersion() == required:
+ self.pb.destroy()
+ proceed()
+ else:
+ self.completed(False, FAILURE_MESSAGE)
+
+ def updateProgress(self, arg, message):
+ LOGGER.info("%s %s"% (arg, message))
+ self.pb.setLabelText(message)
+ self.pb.setValue(arg)
+ QtGui.QApplication.instance().processEvents()
+
+ def apply_update(self):
+ self.updateProgress(1,
+ "%s %s"% (_("upgrading to schema version"), self.next_version))
+
+ QtCore.QObject.connect(self.dbu,
+ QtCore.SIGNAL("progress"), self.updateProgress)
+ QtCore.QObject.connect(self.dbu,
+ QtCore.SIGNAL("completed"), self.completed)
+
+ try:
+ if self.dbu.run():
+ localsettings.DB_SCHEMA_VERSION = self.next_version
+ else:
+ self.completed(False,
+ _('Conversion to %s failed')% self.next_version)
+ except UserQuit:
+ LOGGER.warning("user quit the database upgrade")
+ completed(False, "Schema Upgrade Halted")
+
+ except Exception as exc:
+ LOGGER.exception("unexpected exception")
+ #fatal error!
+ completed(False, ('Unexpected Error updating the schema '
+ 'please file a bug at http:www.openmolar.com'))
+
+ def completed(self, sucess, message):
+ def accept():
+ m.accept()
+ self.pb.hide()
+ if sucess:
+ m = QtGui.QMessageBox()
+ m.setText(message)
+ m.setStandardButtons(QtGui.QMessageBox.NoButton)
+ m.setWindowTitle(_("OpenMolar"))
+ m.setModal(False)
+ QtCore.QTimer.singleShot(3*1000, accept)
+ m.exec_()
+ m.move(0, 0)
+ else:
+ LOGGER.warning("failure - %s"% message)
+ QtGui.QMessageBox.warning(self.pb, "Failure", message )
+ QtGui.QApplication.instance().closeAllWindows()
+ sys.exit("FAILED TO UPGRADE SCHEMA")
+
+ def apply_updates(self):
+ ##################### UPDATE TO SCHEMA 1.1 ########################
+ self.next_version = "1.1"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_0to1_1 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.2 ########################
+ self.next_version = "1.2"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_1to1_2 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.3 ########################
+ self.next_version = "1.3"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_2to1_3 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.4 ########################
+ self.next_version = "1.4"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_3to1_4 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.5 ########################
+ self.next_version = "1.5"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_4to1_5 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.6 ########################
+ self.next_version = "1.6"
+ if self.current < self.next_version:
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.7 ########################
+ self.next_version = "1.7"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_6to1_7 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.8 ########################
+ self.next_version = "1.8"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_7to1_8 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 1.9 ########################
+ self.next_version = "1.9"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_8to1_9 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 2.0 ########################
+ self.next_version = "2.0"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema1_9to2_0 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 2.1 ########################
+ self.next_version = "2.1"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema2_0to2_1 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 2.2 ########################
+ self.next_version = "2.2"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema2_1to2_2 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 2.3 ########################
+ self.next_version = "2.3"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema2_2to2_3 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+ ##################### UPDATE TO SCHEMA 2.4 ########################
+ self.next_version = "2.4"
+ if self.current < self.next_version:
+ from openmolar.schema_upgrades import schema2_3to2_4 as upmod
+ self.dbu = upmod.dbUpdater(self.pb)
+ self.apply_update()
+
+
+def main():
+ LOGGER.info("running schema_updater")
+ if QtGui.QApplication.instance() is None:
+ app = QtGui.QApplication(sys.argv)
+ schema_update = SchemaUpdater()
+ schema_update.run()
+
+if __name__ == "__main__":
+ #-- put "openmolar" on the pyth path and go....
+ LOGGER.setLevel(logging.DEBUG)
+ LOGGER.debug("starting schema_updater")
+
+ import os
+ def determine_path ():
+ """Borrowed from wxglade.py"""
+ try:
+ root = __file__
+ if os.path.islink (root):
+ root = os.path.realpath (root)
+ retarg = os.path.dirname (os.path.abspath (root))
+ return retarg
+ except:
+ print "I'm sorry, but something is wrong."
+ print "There is no __file__ variable. Please contact the author."
+ sys.exit ()
+
+ wkdir = determine_path()
+ sys.path.append(os.path.dirname(wkdir))
+
+ main()
diff --git a/src/openmolar/qt4gui/tools/__init__.py b/src/openmolar/qt4gui/tools/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/openmolar/qt4gui/tools/apptTools.py b/src/openmolar/qt4gui/tools/apptTools.py
new file mode 100644
index 0000000..96accb8
--- /dev/null
+++ b/src/openmolar/qt4gui/tools/apptTools.py
@@ -0,0 +1,131 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+from PyQt4 import QtGui, QtCore
+
+import datetime
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_apptTools
+from openmolar.qt4gui.dialogs import apptOpenDay, block_wizard
+from openmolar.dbtools import extend_books, db_settings
+
+
+class apptTools(Ui_apptTools.Ui_MainWindow):
+ def __init__(self, parent=None):
+ self.parent = parent
+ self.setupUi(parent)
+ self.signals()
+
+ def advise(self, arg, warning_level=1):
+ '''
+ inform the user of events -
+ warning level0 = status bar only.
+ warning level 1 advisory
+ warning level 2 critical (and logged)
+ '''
+ if warning_level == 0:
+ self.statusbar.showMessage(arg, 5000) #5000 milliseconds=5secs
+ elif warning_level == 1:
+ QtGui.QMessageBox.information(self.parent, _("Advisory"), arg)
+ elif warning_level == 2:
+ now=QtCore.QTime.currentTime()
+ QtGui.QMessageBox.warning(self.parent, _("Error"), arg)
+ #--for logging purposes
+ print "%d:%02d ERROR MESSAGE"%(now.hour(), now.minute()), arg
+
+ def openDay(self):
+ print "openDay called"
+ Dialog=QtGui.QDialog(self.parent)
+ dl=apptOpenDay.apptDialog(Dialog)
+ if dl.exec_():
+ print "openDay returned True"
+ else:
+ print "openDay returned False"
+
+ def extendBooks(self):
+ print "extending books"
+
+ message = "%s %s %s %s"%( _("Books Currently end on"),
+ localsettings.formatDate(localsettings.bookEnd),"<br />",
+ _("extend the books now?"))
+
+ result = QtGui.QMessageBox.question(self.parent, _("Confirm"),
+ message,QtGui.QMessageBox.No | QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.Yes )
+
+ if result == QtGui.QMessageBox.No:
+ return
+ else:
+ months, result = QtGui.QInputDialog.getInteger(self.parent,
+ _("Extend Books"), _("How many months?"))
+
+ if result:
+
+ newBookEnd = QtCore.QDate(
+ localsettings.bookEnd).addMonths(months).toPyDate()
+
+ if extend_books.extend(localsettings.apptix.values(),
+ localsettings.bookEnd, newBookEnd):
+ #now put this date into the settings database.
+
+ db_format= "%s,%s,%s"% newBookEnd.timetuple()[:3]
+ db_settings.insertData(
+ "bookend", db_format, localsettings.operator)
+
+ def removeOld(self):
+ '''
+ throw the old diaries away now?
+ '''
+ print "removing old weeks"
+ self.advise(_("not yet implemented"))
+
+ def editWeeks(self):
+ '''
+ edit the working hours for a standard week for a dentist/hygenist
+ '''
+ print "editing weeks"
+ self.advise(_("not yet implemented"))
+
+ def blocks(self):
+ '''
+ insert blocks and appointments
+ '''
+ print "blocks called"
+ Dialog = QtGui.QDialog(self.parent)
+ dl = block_wizard.blocker(Dialog)
+ Dialog.exec_()
+
+
+ def signals(self):
+ '''
+ connect signals
+ '''
+ QtCore.QObject.connect(self.openDay_pushButton,
+ QtCore.SIGNAL("clicked()"), self.openDay)
+
+ QtCore.QObject.connect(self.extendBook_pushButton,
+ QtCore.SIGNAL("clicked()"), self.extendBooks)
+
+ QtCore.QObject.connect(self.editWeeks_pushButton,
+ QtCore.SIGNAL("clicked()"), self.editWeeks)
+
+ QtCore.QObject.connect(self.removeOld_pushButton,
+ QtCore.SIGNAL("clicked()"), self.removeOld)
+
+ QtCore.QObject.connect(self.blocks_pushButton,
+ QtCore.SIGNAL("clicked()"), self.blocks)
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ MainWindow = QtGui.QMainWindow()
+ ui = apptTools(MainWindow)
+ MainWindow.show()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/qt4gui/tools/new_setup.py b/src/openmolar/qt4gui/tools/new_setup.py
new file mode 100644
index 0000000..51baeb9
--- /dev/null
+++ b/src/openmolar/qt4gui/tools/new_setup.py
@@ -0,0 +1,431 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import datetime
+import re
+import sys
+from PyQt4 import QtGui, QtCore
+from xml.dom import minidom
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_initialise
+
+PRACTICE_ATTRIBS = ("name","add1","add2","add3", "town", "county",
+"pcde_zip", "tel", "fax", "web", "email")
+
+USER_ATTRIBS = ("user_id", "user_inits", "user_name", 'user_group',
+'active', 'deactivation_dt')
+
+class om_user():
+ def __init__(self, parent_ui):
+ self.id = None
+ self.inits = ""
+ self.name = ""
+ self.group = ""
+ self.deactivation_dt = None
+ self.active = False
+ self.parent_ui = parent_ui
+
+ def toTuple(self):
+ '''
+ changes the class to a tuple of xml friendly attribs, consistent with
+ the USER_ATTRIBS expected
+ '''
+ return (str(self.id), self.inits.upper(), self.name, self.group,
+ str(self.active), str(self.deactivation_dt))
+
+ def fromTuple(self, tup):
+ '''
+ reloads the values from a tuple
+ '''
+ self.id = tup[0]
+ self.inits = tup[1]
+ self.name = tup[2]
+ self.group = tup[3]
+ self.active = tup[4] == "True"
+ if not self.active:
+ da = tup[5].split("-")
+ self.deactivation_dt = datetime.date(int(da[0]), int(da[1]),
+ int(da[2]))
+
+ def load(self):
+ '''
+ grab the user entered values
+ '''
+ self.inits = str(self.parent_ui.userInits_lineEdit.text().toAscii())
+ self.name = str(self.parent_ui.userName_lineEdit.text().toAscii())
+ self.group = str(
+ self.parent_ui.userGroup_comboBox.currentText().toAscii())
+ self.deactivation_dt = self.parent_ui.user_dateEdit.date().toPyDate()
+ self.active = self.parent_ui.userActive_checkBox.isChecked()
+
+ def verifies(self):
+ '''
+ check the data for integrity, return (True,"") if ok
+ or (False,"error message") otherwise
+ '''
+ error = ""
+ if self.inits == "":
+ error = "<p>%s</p>"% _("Please enter initials for this user")
+ if self.name == "":
+ error += "<p>%s</p>"% _("Please set a name for this user")
+
+ return (error == "", error)
+
+ def toNode(self):
+ '''
+ create an xml Node
+ '''
+ d = minidom.Document()
+ unode = d.createElement("user")
+ i = 0
+ values = self.toTuple()
+ for attrib in USER_ATTRIBS:
+ if values[i] != "None":
+ c = d.createElement(attrib)
+ c.appendChild(d.createTextNode(values[i]))
+ unode.appendChild(c)
+ i += 1
+ return unode
+
+ def fromNode(self, unode):
+ '''
+ creates an instance from existing xml
+ '''
+ tup = []
+ for attrib in USER_ATTRIBS:
+ d = unode.getElementsByTagName(attrib)
+ value = None
+ if d:
+ try:
+ child = d[0].childNodes
+ value = child[0].data
+ except IndexError:
+ value = None
+ tup.append(value)
+
+ self.fromTuple(tuple(tup))
+
+class setup_gui(QtGui.QMainWindow):
+ '''
+ a ui for customising the database of openmolar
+ set details for a practice, patient categories etc...
+ '''
+ def __init__(self, app):
+ QtGui.QMainWindow.__init__(self)
+ self.ui = Ui_initialise.Ui_MainWindow()
+ self.ui.setupUi(self)
+ self.app = app
+ self.previousTabIndex = 0
+ self.ui.tabWidget.setCurrentIndex(0)
+ self.template = minidom.Document()
+ self.template.appendChild(self.template.createElement("template"))
+ self.ui.user_dateEdit.setDate(QtCore.QDate.currentDate())
+ self.ui.user_dateEdit.hide()
+ self.ui.user_date_label.hide()
+ self.ui.user_groupBox.hide()
+ self.ui.modifyUser_pushButton.hide()
+ self.signals()
+
+ def advise(self, arg, warning_level=0):
+ '''
+ inform the user of events -
+ warning level0 = status bar only.
+ warning level 1 advisory
+ warning level 2 critical (and logged)
+ '''
+ if warning_level == 0:
+ self.ui.statusbar.showMessage(arg, 5000) #5000 milliseconds=5secs
+ elif warning_level == 1:
+ QtGui.QMessageBox.information(self, _("Advisory"), arg)
+ elif warning_level == 2:
+ now=QtCore.QTime.currentTime()
+ QtGui.QMessageBox.warning(self, _("Error"), arg)
+ #--for logging purposes
+ print "%d:%02d ERROR MESSAGE"%(now.hour(), now.minute()), arg
+
+ def confirmDataOverwrite(self):
+ '''
+ check that the user is prepared to lose any changes
+ '''
+ result = QtGui.QMessageBox.question(self, _("confirm"),
+ "<p>%s<br />%s</p>"% (
+ _("this action will overwrite any current data stored"),
+ _("proceed?")),
+ QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Ok )
+ return result == QtGui.QMessageBox.Ok
+
+ def save_template(self):
+ '''
+ save the template, so it can be re-used in future
+ '''
+ try:
+ filepath = QtGui.QFileDialog.getSaveFileName(self,
+ _("save template file"),"",
+ _("openmolar template files ")+"(*.om_xml)")
+ if filepath != '':
+ if not re.match(".*\.om_xml$", filepath):
+ filepath += ".om_xml"
+ f = open(filepath, "w")
+ f.write(self.template.toxml())
+ f.close()
+ self.advise(_("Template Saved"), 1)
+ else:
+ self.advise(_("operation cancelled"), 1)
+ except Exception, e:
+ self.advise(_("Template not saved")+" - %s"% e, 2)
+
+ def load_template(self):
+ '''
+ change the default template for a new database
+ '''
+ if not self.confirmDataOverwrite():
+ return
+ filename = QtGui.QFileDialog.getOpenFileName(self,
+ _("load an existing template file"),"",
+ _("openmolar template files")+" (*.om_xml)")
+
+ if filename != '':
+ try:
+ self.template = minidom.parse(str(filename))
+ self.advise(_("template loaded sucessfully"),1)
+ self.tab_navigated(self.ui.tabWidget.currentIndex(), False)
+ except Exception, e:
+ self.advise(_("error parsing template file")+" - %s"% e, 2)
+ else:
+ self.advise(_("operation cancelled"), 1)
+
+ def tab_navigated(self, i, updateTemplate=True):
+ '''
+ a slot called when the user navigates the tabwidget
+ current tab is i
+ previous tab stored in self.previousTabIndex
+ '''
+ if updateTemplate:
+ #always true unless called following a load from file
+ if self.previousTabIndex == 1:
+ self.save_addy()
+
+ if i == 1: #practice addy
+ self.load_addy()
+ elif i == 2: #users
+ self.load_users()
+ elif i == 9: #XML viewer
+ self.ui.xml_label.setText(self.template.toprettyxml())
+
+ self.previousTabIndex = i
+
+ def blankdb_radioButton(self, i):
+ '''
+ user has altered the state of the newdb from template checkbox
+ '''
+ if i and self.confirmDataOverwrite():
+ self.template = minidom.Document()
+
+ def newdb_from_template_radioButton(self, i):
+ '''
+ user has altered the state of the newdb from template checkbox
+ '''
+ if i:
+ self.load_template()
+
+ def save_addy(self):
+ '''
+ save the practice address
+ '''
+ d = self.template.getElementsByTagName("practice")
+ if d:
+ d[0].parentNode.removeChild(d[0])
+ foundText = False # a bool to prevent unnecessary nodes
+ d = self.template.createElement("practice")
+ i = 0
+ for widg in self.ui.practice_frame.children():
+ if type(widg) == QtGui.QLineEdit:
+ attrib = PRACTICE_ATTRIBS[i]
+ value = str(widg.text().toAscii())
+ if value != "":
+ foundText = True
+ new_element = self.template.createElement(attrib)
+ d.appendChild(new_element)
+ new_element.appendChild(
+ self.template.createTextNode(value))
+ i += 1
+ if foundText:
+ self.template.childNodes[0].appendChild(d)
+
+ def load_addy(self):
+ '''
+ load the practice address
+ '''
+ d = self.template.getElementsByTagName("practice")
+ i = 0
+ for widg in self.ui.practice_frame.children():
+ if type(widg) == QtGui.QLineEdit:
+ attrib = PRACTICE_ATTRIBS[i]
+ try:
+ value = \
+ d[0].getElementsByTagName(attrib)[0].firstChild.data
+ except IndexError:
+ value = ""
+ widg.setText(value)
+ i += 1
+
+ def nameEntered(self, arg):
+ '''
+ user is entering the name of a new user
+ '''
+ wordlist = arg.split(" ")
+ inits = ""
+ for word in wordlist:
+ try:
+ inits += word[0]
+ except IndexError:
+ pass
+ self.ui.userInits_lineEdit.setText(inits)
+
+ def add_modify_User(self):
+ '''
+ user has clicked the button to add a new user
+ '''
+ if self.ui.newUser_pushButton.text() in (
+ _("Apply Now"), _("Modify Now")) :
+ user = om_user(self.ui)
+ user.load()
+ result, error = user.verifies()
+ if result:
+ nodelist = self.template.getElementsByTagName("users")
+ if nodelist:
+ d = nodelist[0]
+ else:
+ d = self.template.createElement("users")
+ if self.ui.newUser_pushButton.text() == _("Modify Now"):
+ selected = self.ui.users_tableWidget.currentItem().row()
+ d.removeChild(d.childNodes[selected])
+ self.ui.users_tableWidget.setCurrentCell(-1,-1)
+ self.ui.modifyUser_pushButton.hide()
+
+ d.appendChild(user.toNode())
+ self.template.childNodes[0].appendChild(d)
+ self.ui.user_groupBox.hide()
+ self.ui.userName_lineEdit.setText("")
+ self.ui.userGroup_comboBox.setCurrentIndex(0)
+ self.ui.newUser_pushButton.setText(_("Add New User"))
+
+ self.tab_navigated(self.ui.tabWidget.currentIndex(), False)
+ else:
+ self.advise(error,1)
+
+ else:
+ self.ui.users_tableWidget.setCurrentCell(-1, -1)
+ self.ui.user_groupBox.show()
+ self.ui.userActive_checkBox.setChecked(True)
+ self.ui.newUser_pushButton.setText(_("Apply Now"))
+
+ def userSelected(self):
+ '''
+ user has navigated the users table
+ '''
+ if self.ui.users_tableWidget.currentRow() != -1:
+ self.ui.user_groupBox.hide()
+ self.ui.modifyUser_pushButton.show()
+ else:
+ self.ui.modifyUser_pushButton.hide()
+
+ def modifyUser(self):
+ '''
+ modify user pushButton ha been pressed
+ '''
+ self.ui.newUser_pushButton.setText(_("Modify Now"))
+ self.ui.modifyUser_pushButton.hide()
+ selected = self.ui.users_tableWidget.selectedItems()
+ tup = []
+ for val in selected:
+ tup.append(val.text())
+ user = om_user(self.ui)
+ user.fromTuple(tuple(tup))
+ self.ui.user_groupBox.show()
+ self.ui.userName_lineEdit.setText(user.name)
+ self.ui.userInits_lineEdit.setText(user.inits)
+ self.ui.userActive_checkBox.setChecked(user.active)
+ try:
+ self.ui.user_dateEdit.setDate(user.deactivation_dt)
+ except TypeError:
+ self.ui.user_dateEdit.setDate(QtCore.QDate.currentDate())
+
+
+ def handleUserActive(self, arg):
+ '''
+ hide/show the deactivation date
+ '''
+ self.ui.user_dateEdit.setVisible(not arg)
+ self.ui.user_date_label.setVisible(not arg)
+
+ def load_users(self):
+ '''
+ populate the user table from the template
+ '''
+ users = self.template.getElementsByTagName("user")
+ self.ui.users_tableWidget.setRowCount(len(users))
+ rowno = 0
+ for user in users:
+ uclass = om_user(self)
+ uclass.fromNode(user)
+ colno = 0
+ for val in uclass.toTuple():
+ item = QtGui.QTableWidgetItem(val)
+ self.ui.users_tableWidget.setItem(rowno, colno, item)
+ colno += 1
+ rowno += 1
+
+ def signals(self):
+ '''
+ set up signals/slots
+ '''
+ QtCore.QObject.connect(self.ui.action_Save_Template,
+ QtCore.SIGNAL("triggered()"), self.save_template)
+
+ QtCore.QObject.connect(self.ui.actionLoad_Template,
+ QtCore.SIGNAL("triggered()"), self.load_template)
+
+ QtCore.QObject.connect(self.ui.blankdb_radioButton,
+ QtCore.SIGNAL("toggled (bool)"), self.blankdb_radioButton)
+
+ QtCore.QObject.connect(self.ui.newdb_template_radioButton,
+ QtCore.SIGNAL("toggled (bool)"), self.newdb_from_template_radioButton)
+
+ QtCore.QObject.connect(self.ui.tabWidget,
+ QtCore.SIGNAL("currentChanged(int)"), self.tab_navigated)
+
+ QtCore.QObject.connect(self.ui.userName_lineEdit,
+ QtCore.SIGNAL("textChanged (const QString&)"), self.nameEntered)
+
+ QtCore.QObject.connect(self.ui.newUser_pushButton,
+ QtCore.SIGNAL("clicked()"), self.add_modify_User)
+
+ QtCore.QObject.connect(self.ui.users_tableWidget,
+ QtCore.SIGNAL("itemSelectionChanged()"), self.userSelected)
+
+ QtCore.QObject.connect(self.ui.users_tableWidget,
+ QtCore.SIGNAL("itemDoubleClicked (QTableWidgetItem *)"),
+ self.modifyUser)
+
+ QtCore.QObject.connect(self.ui.modifyUser_pushButton,
+ QtCore.SIGNAL("clicked()"), self.modifyUser)
+
+ QtCore.QObject.connect(self.ui.userActive_checkBox,
+ QtCore.SIGNAL("stateChanged (int)"), self.handleUserActive)
+
+def main(args):
+ app = QtGui.QApplication(args)
+ ui = setup_gui(app)
+ ui.show()
+ sys.exit(app.exec_())
+
+
+if __name__ == "__main__":
+
+ main(sys.argv)
diff --git a/src/openmolar/qt4gui/tools/recordtools.py b/src/openmolar/qt4gui/tools/recordtools.py
new file mode 100644
index 0000000..8bd9293
--- /dev/null
+++ b/src/openmolar/qt4gui/tools/recordtools.py
@@ -0,0 +1,362 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+import re
+from PyQt4 import QtGui, QtCore
+
+from openmolar.settings import localsettings
+from openmolar.qt4gui.compiled_uis import Ui_record_tools
+
+TEETH = (
+'ur8', 'ur7', 'ur6', 'ur5', 'ur4', 'ur3', 'ur2', 'ur1',
+'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8',
+'ll8', 'll7', 'll6', 'll5', 'll4', 'll3', 'll2', 'll1',
+'lr1', 'lr2', 'lr3', 'lr4', 'lr5', 'lr6', 'lr7', 'lr8')
+
+class recordTools(Ui_record_tools.Ui_Dialog):
+ def __init__(self, om_gui):
+ self.om_gui = om_gui
+ self.dialog = QtGui.QDialog(om_gui)
+ self.setupUi(self.dialog)
+ self.tabWidget.setCurrentIndex(0)
+ self.initialMoney()
+ self.initialDates()
+ self.chartplan_lineEdits = {}
+ self.initialPlan()
+ self.chartcompleted_lineEdits = {}
+ self.initialCompleted()
+ self.initialHidden_notes()
+ self.signals()
+
+ def initialMoney(self):
+ '''
+ loads the money at startup
+ '''
+ self.total_label.setText(localsettings.formatMoney(
+ self.om_gui.pt.fees))
+
+ self.money0_spinBox.setValue(self.om_gui.pt.money0)
+ self.money1_spinBox.setValue(self.om_gui.pt.money1)
+ self.money2_spinBox.setValue(self.om_gui.pt.money2)
+ self.money3_spinBox.setValue(self.om_gui.pt.money3)
+ self.money4_spinBox.setValue(self.om_gui.pt.money4)
+ self.money5_spinBox.setValue(self.om_gui.pt.money5)
+ self.money6_spinBox.setValue(self.om_gui.pt.money6)
+ self.money7_spinBox.setValue(self.om_gui.pt.money7)
+ self.money8_spinBox.setValue(self.om_gui.pt.money8)
+ self.money9_spinBox.setValue(self.om_gui.pt.money9)
+ self.money10_spinBox.setValue(self.om_gui.pt.money10)
+ self.money11_spinBox.setValue(self.om_gui.pt.money11)
+
+ def updateMoneyTotal(self, arg=0):
+ '''
+ updates the money label
+ '''
+ fees = (self.money0_spinBox.value() + self.money1_spinBox.value() +
+ self.money9_spinBox.value() + self.money10_spinBox.value() +
+ self.money11_spinBox.value() - self.money2_spinBox.value() -
+ self.money3_spinBox.value() - self.money8_spinBox.value())
+
+ self.total_label.setText(localsettings.formatMoney(fees))
+
+ def changeMoney(self):
+ '''
+ modify the money fields on a patient record
+ '''
+ self.om_gui.pt.money0 = self.money0_spinBox.value()
+ self.om_gui.pt.money1 = self.money1_spinBox.value()
+ self.om_gui.pt.money2 = self.money2_spinBox.value()
+ self.om_gui.pt.money3 = self.money3_spinBox.value()
+ self.om_gui.pt.money4 = self.money4_spinBox.value()
+ self.om_gui.pt.money5 = self.money5_spinBox.value()
+ self.om_gui.pt.money6 = self.money6_spinBox.value()
+ self.om_gui.pt.money7 = self.money7_spinBox.value()
+ self.om_gui.pt.money8 = self.money8_spinBox.value()
+ self.om_gui.pt.money9 = self.money9_spinBox.value()
+ self.om_gui.pt.money10 = self.money10_spinBox.value()
+ self.om_gui.pt.money11 = self.money11_spinBox.value()
+
+ self.om_gui.updateDetails()
+ self.om_gui.advise(_("money changes applied"), 1)
+
+ def initialDates(self):
+ '''
+ modify Date fields
+ '''
+ try:
+ self.pd5_dateEdit.setDate(self.om_gui.pt.pd5)
+ self.pd5_pushButton.hide()
+ except TypeError:
+ self.pd5_dateEdit.hide()
+ QtCore.QObject.connect(self.pd5_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd5_dateEdit.show)
+
+ try:
+ self.pd6_dateEdit.setDate(self.om_gui.pt.pd6)
+ self.pd6_pushButton.hide()
+ except TypeError:
+ self.pd6_dateEdit.hide()
+ QtCore.QObject.connect(self.pd6_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd6_dateEdit.show)
+
+ try:
+ self.pd7_dateEdit.setDate(self.om_gui.pt.pd7)
+ self.pd7_pushButton.hide()
+ except TypeError:
+ self.pd7_dateEdit.hide()
+ QtCore.QObject.connect(self.pd7_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd7_dateEdit.show)
+
+ try:
+ self.pd8_dateEdit.setDate(self.om_gui.pt.pd8)
+ self.pd8_pushButton.hide()
+ except TypeError:
+ self.pd8_dateEdit.hide()
+ QtCore.QObject.connect(self.pd8_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd8_dateEdit.show)
+
+ try:
+ self.pd9_dateEdit.setDate(self.om_gui.pt.pd9)
+ self.pd9_pushButton.hide()
+ except TypeError:
+ self.pd9_dateEdit.hide()
+ QtCore.QObject.connect(self.pd9_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd9_dateEdit.show)
+
+ try:
+ self.pd10_dateEdit.setDate(self.om_gui.pt.pd10)
+ self.pd10_pushButton.hide()
+ except TypeError:
+ self.pd10_dateEdit.hide()
+ QtCore.QObject.connect(self.pd10_pushButton,
+ QtCore.SIGNAL("clicked()"), self.pd10_dateEdit.show)
+
+ try:
+ self.billdate_dateEdit.setDate(self.om_gui.pt.billdate)
+ self.billdate_pushButton.hide()
+ except TypeError:
+ self.billdate_dateEdit.hide()
+ QtCore.QObject.connect(self.billdate_pushButton,
+ QtCore.SIGNAL("clicked()"), self.billdate_dateEdit.show)
+
+ def changeDates(self):
+ '''
+ apply date changes
+ '''
+ if self.pd5_dateEdit.isVisible():
+ self.om_gui.pt.pd5 = self.pd5_dateEdit.date().toPyDate()
+ if self.pd6_dateEdit.isVisible():
+ self.om_gui.pt.pd6 = self.pd6_dateEdit.date().toPyDate()
+ if self.pd7_dateEdit.isVisible():
+ self.om_gui.pt.pd7 = self.pd7_dateEdit.date().toPyDate()
+ if self.pd8_dateEdit.isVisible():
+ self.om_gui.pt.pd8 = self.pd8_dateEdit.date().toPyDate()
+ if self.pd9_dateEdit.isVisible():
+ self.om_gui.pt.pd9 = self.pd9_dateEdit.date().toPyDate()
+ if self.pd10_dateEdit.isVisible():
+ self.om_gui.pt.pd10 = self.pd10_dateEdit.date().toPyDate()
+ if self.billdate_dateEdit.isVisible():
+ self.om_gui.pt.billdate = \
+ self.billdate_dateEdit.date().toPyDate()
+
+ self.om_gui.updateDetails()
+ self.om_gui.advise(_("date changes applied"), 1)
+
+ def initialPlan(self):
+ '''
+ set up the plan page
+ '''
+ glayout = QtGui.QGridLayout(self.chartplan_frame)
+ #glayout.setSpacing(0)
+ row=0
+ for tooth in TEETH:
+ label = QtGui.QLabel()
+ label.setText(tooth)
+ self.chartplan_lineEdits[tooth] = QtGui.QLineEdit()
+ self.chartplan_lineEdits[tooth].setMaxLength(34)
+ self.chartplan_lineEdits[tooth].setText(
+ self.om_gui.pt.treatment_course.__dict__.get(tooth+"pl"))
+
+ glayout.addWidget(label, row, 0)
+ glayout.addWidget(self.chartplan_lineEdits[tooth], row, 1)
+ row += 1
+
+ self.xraypl_lineEdit.setText(self.om_gui.pt.treatment_course.xraypl)
+ self.periopl_lineEdit.setText(self.om_gui.pt.treatment_course.periopl)
+ self.anaespl_lineEdit.setText(self.om_gui.pt.treatment_course.anaespl)
+ self.otherpl_lineEdit.setText(self.om_gui.pt.treatment_course.otherpl)
+ self.custompl_lineEdit.setText(self.om_gui.pt.treatment_course.custompl)
+ self.ndupl_lineEdit.setText(self.om_gui.pt.treatment_course.ndupl)
+ self.ndlpl_lineEdit.setText(self.om_gui.pt.treatment_course.ndlpl)
+ self.odupl_lineEdit.setText(self.om_gui.pt.treatment_course.odupl)
+ self.odlpl_lineEdit.setText(self.om_gui.pt.treatment_course.odlpl)
+
+ def planEntryCheck(self, le):
+ '''
+ does a quick check on anything entered
+ takes a Line Edit as arg, returns a python string
+ '''
+ vals = str(le.text().toAscii()).upper().split(" ")
+ retarg = ""
+ for val in vals:
+ if not val in ("", " "):
+ retarg += val.upper()
+ return retarg
+
+ def dentureEntry(self, le):
+ '''
+ denture lines include spaces
+ '''
+ return str(le.text().toAscii()).upper()
+
+ def changePlan(self):
+ '''
+ apply date changes
+ '''
+ for tooth in TEETH:
+ self.om_gui.pt.treatment_course.__dict__[tooth+"pl"] = \
+ self.planEntryCheck(self.chartplan_lineEdits[tooth])
+
+ course = self.om_gui.pt.treatment_course
+ course.xraypl = self.planEntryCheck(self.xraypl_lineEdit)
+ course.periopl = self.planEntryCheck(self.periopl_lineEdit)
+ course.anaespl = self.planEntryCheck(self.anaespl_lineEdit)
+ course.custompl = self.planEntryCheck(self.custompl_lineEdit)
+ course.ndupl = self.dentureEntry(self.ndupl_lineEdit)
+ course.ndlpl = self.dentureEntry(self.ndlpl_lineEdit)
+ course.odupl = self.dentureEntry(self.odupl_lineEdit)
+ course.odlpl = self.dentureEntry(self.odlpl_lineEdit)
+ self.om_gui.advise(_("plan changes applied"), 1)
+
+ def initialCompleted(self):
+ '''
+ set up the plan page
+ '''
+ glayout = QtGui.QGridLayout(self.chartcompleted_frame)
+ #glayout.setSpacing(0)
+ row=0
+ for tooth in TEETH:
+ label = QtGui.QLabel()
+ label.setText(tooth)
+ self.chartcompleted_lineEdits[tooth] = QtGui.QLineEdit()
+ self.chartcompleted_lineEdits[tooth].setMaxLength(34)
+ self.chartcompleted_lineEdits[tooth].setText(
+ self.om_gui.pt.treatment_course.__dict__.get(tooth+"cmp"))
+
+ glayout.addWidget(label, row, 0)
+ glayout.addWidget(self.chartcompleted_lineEdits[tooth], row, 1)
+ row += 1
+
+ course = self.om_gui.pt.treatment_course
+ self.xraycmp_lineEdit.setText(course.xraycmp)
+ self.periocmp_lineEdit.setText(course.periocmp)
+ self.anaescmp_lineEdit.setText(course.anaescmp)
+ self.othercmp_lineEdit.setText(course.othercmp)
+ self.customcmp_lineEdit.setText(course.customcmp)
+ self.nducmp_lineEdit.setText(course.nducmp)
+ self.ndlcmp_lineEdit.setText(course.ndlcmp)
+ self.oducmp_lineEdit.setText(course.oducmp)
+ self.odlcmp_lineEdit.setText(course.odlcmp)
+
+ def changeCompleted(self):
+ '''
+ apply date changes
+ '''
+ for tooth in TEETH:
+ self.om_gui.pt.treatment_course.__dict__[tooth+"cmp"] = \
+ self.planEntryCheck(self.chartcompleted_lineEdits[tooth])
+
+ course = self.om_gui.pt.treatment_course
+
+ course.xraycmp = self.planEntryCheck(self.xraycmp_lineEdit)
+ course.periocmp = self.planEntryCheck(self.periocmp_lineEdit)
+ course.anaescmp = self.planEntryCheck(self.anaescmp_lineEdit)
+ course.customcmp = self.planEntryCheck(self.customcmp_lineEdit)
+ course.nducmp = self.dentureEntry(self.nducmp_lineEdit)
+ course.ndlcmp = self.dentureEntry(self.ndlcmp_lineEdit)
+ course.oducmp = self.dentureEntry(self.oducmp_lineEdit)
+ course.odlcmp = self.dentureEntry(self.odlcmp_lineEdit)
+ self.om_gui.advise(_("completed treatment changes applied"), 1)
+
+ def initialHidden_notes(self):
+ '''
+ load the patients hidden notes
+ '''
+ self.hidden_notes_tableWidget.clear()
+ self.hidden_notes_tableWidget.setColumnCount(2)
+ self.hidden_notes_tableWidget.setRowCount(
+ len(self.om_gui.pt.HIDDENNOTES))
+ header = self.hidden_notes_tableWidget.horizontalHeader()
+ self.hidden_notes_tableWidget.setHorizontalHeaderLabels(
+ ["type", "note"])
+ header.setStretchLastSection(True)
+ for row_no, (ntype, note) in enumerate(self.om_gui.pt.HIDDENNOTES):
+ ntype_item = QtGui.QTableWidgetItem(ntype)
+ self.hidden_notes_tableWidget.setItem(row_no, 0, ntype_item)
+
+ note_item = QtGui.QTableWidgetItem(note)
+ self.hidden_notes_tableWidget.setItem(row_no, 1, note_item)
+
+ def changeHidden_notes(self):
+ '''
+ apply new notes
+ '''
+ HN = []
+ for row_no in range(self.hidden_notes_tableWidget.rowCount()):
+ ntype = self.hidden_notes_tableWidget.item(row_no, 0).text()
+ note = self.hidden_notes_tableWidget.item(row_no, 1).text()
+
+ HN.append((ntype, note))
+
+ self.om_gui.pt.HIDDENNOTES = HN
+ self.om_gui.updateHiddenNotesLabel()
+ self.om_gui.advise(_("updated hidden notes list"), 1)
+
+ def signals(self):
+ '''
+ connect signals
+ '''
+ for widg in self.money_scrollAreaWidgetContents.children():
+ if type(widg) == QtGui.QSpinBox:
+ QtCore.QObject.connect(widg,
+ QtCore.SIGNAL("valueChanged (int)"), self.updateMoneyTotal)
+
+ QtCore.QObject.connect(self.money_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changeMoney)
+
+ QtCore.QObject.connect(self.dates_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changeDates)
+
+ QtCore.QObject.connect(self.plan_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changePlan)
+
+ QtCore.QObject.connect(self.completed_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changeCompleted)
+
+ QtCore.QObject.connect(self.hidden_notes_pushButton,
+ QtCore.SIGNAL("clicked()"), self.changeHidden_notes)
+
+ def exec_(self):
+ self.dialog.exec_()
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ localsettings.loadFeeTables()
+ import sys
+ from openmolar.qt4gui import maingui
+ app = QtGui.QApplication(sys.argv)
+ om_gui = maingui.OpenmolarGui()
+ om_gui.getrecord(1)
+ om_gui.pt.HIDDENNOTES = [
+ ('COURSE OPENED', '= = = = = '),
+ ('TC: EXAM', 'CE')
+ ]
+
+ ui = recordTools(om_gui)
+ ui.exec_()
+ sys.exit(app.exec_())
+
diff --git a/src/openmolar/resources/Dental_Information_Guide_2008_v4.pdf b/src/openmolar/resources/Dental_Information_Guide_2008_v4.pdf
new file mode 100644
index 0000000..00bdd6f
Binary files /dev/null and b/src/openmolar/resources/Dental_Information_Guide_2008_v4.pdf differ
diff --git a/src/openmolar/resources/Dental_Information_Guide_2009.pdf b/src/openmolar/resources/Dental_Information_Guide_2009.pdf
new file mode 100644
index 0000000..e91190d
Binary files /dev/null and b/src/openmolar/resources/Dental_Information_Guide_2009.pdf differ
diff --git a/src/openmolar/resources/Makefile b/src/openmolar/resources/Makefile
new file mode 100644
index 0000000..1298696
--- /dev/null
+++ b/src/openmolar/resources/Makefile
@@ -0,0 +1,4 @@
+#MakeFile
+
+resources:
+ pyrcc4 -py2 resources.qrc > ../qt4gui/resources_rc.py
diff --git a/src/openmolar/resources/appointment_shortcuts.xml b/src/openmolar/resources/appointment_shortcuts.xml
new file mode 100644
index 0000000..f1eb4df
--- /dev/null
+++ b/src/openmolar/resources/appointment_shortcuts.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<shortcuts>
+ <shortcut>
+ <description>Hygenist</description>
+ <appointment>
+ <trt1>HYG</trt1>
+ <clinician>14</clinician>
+ <length>20</length>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>20 minute Filling</description>
+ <appointment>
+ <trt1>FILL</trt1>
+ <length>20</length>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>30 minute Filling</description>
+ <appointment>
+ <trt1>FILL</trt1>
+ <length>30</length>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>30 minute Filling/SP</description>
+ <appointment>
+ <trt1>FILL</trt1>
+ <trt2>SP</trt2>
+ <length>30</length>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>Exam & Hygenist</description>
+ <appointment>
+ <trt1>EXAM</trt1>
+ <length>15</length>
+ </appointment>
+ <appointment>
+ <trt1>HYG</trt1>
+ <clinician>14</clinician>
+ <length>20</length>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>Denture Appointments</description>
+ <appointment>
+ <trt1>IMPS</trt1>
+ <length>15</length>
+ </appointment>
+ <appointment>
+ <trt1>BITE</trt1>
+ <length>20</length>
+ <datespec>+14</datespec>
+ </appointment>
+ <appointment>
+ <trt1>TRY</trt1>
+ <length>15</length>
+ <datespec>+14</datespec>
+ </appointment>
+ <appointment>
+ <trt1>FIT</trt1>
+ <length>15</length>
+ <datespec>+14</datespec>
+ </appointment>
+ </shortcut>
+ <shortcut>
+ <description>Prep & Fit</description>
+ <appointment>
+ <trt1>PREP</trt1>
+ <length>60</length>
+ </appointment>
+ <appointment>
+ <trt1>FIT</trt1>
+ <length>15</length>
+ <datespec>+14</datespec>
+ </appointment>
+ </shortcut>
+</shortcuts>
+
diff --git a/src/openmolar/resources/appt_ov.png b/src/openmolar/resources/appt_ov.png
new file mode 100644
index 0000000..219299c
Binary files /dev/null and b/src/openmolar/resources/appt_ov.png differ
diff --git a/src/openmolar/resources/demodump.sql b/src/openmolar/resources/demodump.sql
new file mode 100644
index 0000000..2e2479f
--- /dev/null
+++ b/src/openmolar/resources/demodump.sql
@@ -0,0 +1,1306 @@
+-- MySQL dump 10.13 Distrib 5.1.41, for debian-linux-gnu (x86_64)
+--
+-- Host: localhost Database: openmolar_demo
+-- ------------------------------------------------------
+-- Server version 5.1.41-3ubuntu12.1
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `aday`
+--
+
+DROP TABLE IF EXISTS `aday`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `aday` (
+ `adate` date NOT NULL DEFAULT '0000-00-00',
+ `apptix` smallint(6) NOT NULL DEFAULT '0',
+ `start` smallint(6) DEFAULT NULL,
+ `end` smallint(6) DEFAULT NULL,
+ `maxtime` smallint(6) DEFAULT NULL,
+ `flag` tinyint(4) DEFAULT NULL,
+ `memo` char(30) DEFAULT NULL,
+ `stn` tinyint(4) DEFAULT NULL,
+ `ver` tinyint(4) DEFAULT NULL,
+ PRIMARY KEY (`adate`,`apptix`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `aday`
+--
+
+LOCK TABLES `aday` WRITE;
+/*!40000 ALTER TABLE `aday` DISABLE KEYS */;
+INSERT INTO `aday` VALUES ('2010-05-01',4,0,1800,NULL,0,'',NULL,NULL),('2010-05-01',5,0,1800,NULL,0,'',NULL,NULL),('2010-05-01',6,0,1800,NULL,0,'',NULL,NULL),('2010-05-01',7,0,1800,NULL,0,'',NULL,NULL),('2010-05-02',4,0,1800,NULL,0,'',NULL,NULL),('2010-05-02',5,0,1800,NULL,0,'',NULL,NULL),('2010-05-02',6,0,1800,NULL,0,'',NULL,NULL),('2010-05-02',7,0,1800,NULL,0,'',NULL,NULL),('2010-05-03',0,830,1800,NULL,NULL,'DTS closed today',NULL,NULL),('2010-05-03',4,1300,1800,NULL,1,'',NULL,NULL),(' [...]
+/*!40000 ALTER TABLE `aday` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `apr`
+--
+
+DROP TABLE IF EXISTS `apr`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `apr` (
+ `serialno` int(11) NOT NULL DEFAULT '0',
+ `aprix` tinyint(4) NOT NULL DEFAULT '0',
+ `practix` smallint(6) DEFAULT NULL,
+ `code0` char(8) DEFAULT NULL,
+ `code1` char(8) DEFAULT NULL,
+ `code2` char(8) DEFAULT NULL,
+ `note` char(20) DEFAULT NULL,
+ `adate` date DEFAULT NULL,
+ `atime` smallint(6) DEFAULT NULL,
+ `length` smallint(6) DEFAULT NULL,
+ `flag0` tinyint(4) DEFAULT NULL,
+ `flag1` tinyint(4) DEFAULT NULL,
+ `flag2` tinyint(4) DEFAULT NULL,
+ `flag3` tinyint(4) DEFAULT NULL,
+ `flag4` tinyint(4) DEFAULT NULL,
+ `datespec` char(10) DEFAULT NULL,
+ PRIMARY KEY (`serialno`,`aprix`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `apr`
+--
+
+LOCK TABLES `apr` WRITE;
+/*!40000 ALTER TABLE `apr` DISABLE KEYS */;
+INSERT INTO `apr` VALUES (1,1,4,'EXAM','','','','2009-04-06',945,20,0,80,0,0,0,''),(1,2,4,'CR PREP','','','','2009-05-05',915,60,0,80,0,0,0,''),(1,3,4,'CR FIT','FILL','','',NULL,0,30,0,80,0,0,0,'+14'),(1,4,6,'SP','','','nw patient','2009-05-26',1200,30,1,80,0,0,0,''),(3,1,6,'SP','','','',NULL,NULL,30,1,80,0,0,0,''),(4,1,4,'EXAM','','','new patient','2009-07-01',1130,15,1,73,0,0,0,'');
+/*!40000 ALTER TABLE `apr` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `aslot`
+--
+
+DROP TABLE IF EXISTS `aslot`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `aslot` (
+ `adate` date DEFAULT NULL,
+ `apptix` smallint(6) DEFAULT NULL,
+ `start` smallint(6) DEFAULT NULL,
+ `end` smallint(6) DEFAULT NULL,
+ `name` char(30) DEFAULT NULL,
+ `serialno` int(11) DEFAULT NULL,
+ `code0` char(8) DEFAULT NULL,
+ `code1` char(8) DEFAULT NULL,
+ `code2` char(8) DEFAULT NULL,
+ `note` char(20) DEFAULT NULL,
+ `flag0` tinyint(4) DEFAULT NULL,
+ `flag1` tinyint(4) DEFAULT NULL,
+ `flag2` tinyint(4) DEFAULT NULL,
+ `flag3` tinyint(4) DEFAULT NULL,
+ `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ KEY `adate` (`adate`,`apptix`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `aslot`
+--
+
+LOCK TABLES `aslot` WRITE;
+/*!40000 ALTER TABLE `aslot` DISABLE KEYS */;
+INSERT INTO `aslot` VALUES ('2010-05-03',6,1300,1400,'LUNCH',0,'','','','',-128,0,0,0,'0000-00-00 00:00:00'),('2010-05-04',6,1300,1400,'LUNCH',0,'','','','',-128,0,0,0,'0000-00-00 00:00:00'),('2010-05-05',6,1300,1400,'LUNCH',0,'','','','',-128,0,0,0,'0000-00-00 00:00:00'),('2010-05-06',6,1300,1400,'LUNCH',0,'','','','',-128,0,0,0,'0000-00-00 00:00:00'),('2010-05-10',6,1300,1400,'LUNCH',0,'','','','',-128,0,0,0,'0000-00-00 00:00:00'),('2010-05-11',6,1300,1400,'LUNCH',0,'','','','',-128,0, [...]
+/*!40000 ALTER TABLE `aslot` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `bpe`
+--
+
+DROP TABLE IF EXISTS `bpe`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `bpe` (
+ `serialno` int(11) NOT NULL DEFAULT '0',
+ `bpedate` date NOT NULL DEFAULT '0000-00-00',
+ `bpe` char(6) DEFAULT NULL,
+ PRIMARY KEY (`serialno`,`bpedate`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `bpe`
+--
+
+LOCK TABLES `bpe` WRITE;
+/*!40000 ALTER TABLE `bpe` DISABLE KEYS */;
+INSERT INTO `bpe` VALUES (1,'2004-04-15','444344'),(1,'2009-05-07','_____3');
+/*!40000 ALTER TABLE `bpe` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `calendar`
+--
+
+DROP TABLE IF EXISTS `calendar`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `calendar` (
+ `adate` date NOT NULL,
+ `memo` char(30) DEFAULT NULL,
+ PRIMARY KEY (`adate`),
+ KEY `adate` (`adate`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `calendar`
+--
+
+LOCK TABLES `calendar` WRITE;
+/*!40000 ALTER TABLE `calendar` DISABLE KEYS */;
+INSERT INTO `calendar` VALUES ('2009-12-25','Christmas Day'),('2009-12-26','Boxing Day'),('2009-01-01','New Year\'s Day'),('2009-01-25','Burn\'s Night'),('2009-04-10','GoodFriday'),('2009-05-04','May Bank Holiday'),('2009-05-25','Spring Bank Holiday'),('2009-08-03','Summer Bank Holiday'),('2009-12-28','in lieu of Boxing Day'),('2010-12-26','Boxing Day'),('2010-12-25','Christmas Day'),('2010-01-01','New Year\'s Day'),('2010-01-04','in Lieu of January 2'),('2010-05-03','May Bank Holiday'), [...]
+/*!40000 ALTER TABLE `calendar` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `calldurr`
+--
+
+DROP TABLE IF EXISTS `calldurr`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `calldurr` (
+ `stn` tinyint(4) NOT NULL DEFAULT '0',
+ `serialno` int(11) DEFAULT NULL,
+ PRIMARY KEY (`stn`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `calldurr`
+--
+
+LOCK TABLES `calldurr` WRITE;
+/*!40000 ALTER TABLE `calldurr` DISABLE KEYS */;
+/*!40000 ALTER TABLE `calldurr` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `cashbook`
+--
+
+DROP TABLE IF EXISTS `cashbook`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `cashbook` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `cbdate` date DEFAULT NULL,
+ `ref` char(10) DEFAULT NULL,
+ `linkid` int(11) DEFAULT NULL,
+ `descr` varchar(32) DEFAULT NULL,
+ `code` tinyint(3) unsigned DEFAULT NULL,
+ `dntid` smallint(6) DEFAULT NULL,
+ `amt` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `date` (`cbdate`),
+ KEY `ref` (`ref`)
+) ENGINE=InnoDB AUTO_INCREMENT=112372 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `cashbook`
+--
+
+LOCK TABLES `cashbook` WRITE;
+/*!40000 ALTER TABLE `cashbook` DISABLE KEYS */;
+INSERT INTO `cashbook` VALUES (37424,'1996-06-14','000001',0,'MOLAR O',1,2,1076),(40664,'1996-12-23','000001',0,'MOLAR O',1,2,416),(51621,'1998-10-07','000001',0,'MOLAR O',1,4,2108),(54730,'1999-06-28','000001',0,'MOLAR O',1,4,1064),(55284,'1999-08-05','000001',0,'MOLAR O',7,4,7300),(58957,'2000-04-28','000001',0,'MOLAR O',2,4,1175),(63432,'2001-03-23','000001',0,'MOLAR O',2,4,3150),(70944,'2002-07-01','000001',0,'MOLAR O',2,4,3300),(90356,'2005-03-08','000001',0,'MOLAR O',2,4,4200),(976 [...]
+/*!40000 ALTER TABLE `cashbook` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `cbcodes`
+--
+
+DROP TABLE IF EXISTS `cbcodes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `cbcodes` (
+ `code` tinyint(3) unsigned DEFAULT NULL,
+ `flag` tinyint(4) DEFAULT NULL,
+ `descr` char(20) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `cbcodes`
+--
+
+LOCK TABLES `cbcodes` WRITE;
+/*!40000 ALTER TABLE `cbcodes` DISABLE KEYS */;
+INSERT INTO `cbcodes` VALUES (0,2,'DPB'),(1,2,'NHS CASH'),(2,2,'PRIVATE CASH'),(3,2,'NHS CHEQUE'),(4,2,'PRIVATE CHEQUE'),(5,2,'NHS CREDIT CARD'),(6,2,'PRIVATE CREDIT CARD'),(7,2,'NHS SWITCH CARD'),(8,2,'PRIVATE SWITCH CARD'),(9,0,''),(10,0,''),(11,0,''),(12,0,''),(13,1,'HIGHLAND DENTAL PLAN'),(14,2,'SUNDRIES CASH'),(15,2,'SUNDRIES CHEQUE'),(16,2,'SUNDRIES SWITCH'),(17,2,'SUNDRIES CREDIT CARD'),(18,3,'SUNDRIES'),(19,0,''),(20,0,''),(21,3,'ANNUAL HDPS'),(22,0,''),(23,0,''),(24,3,'OTHER'),( [...]
+/*!40000 ALTER TABLE `cbcodes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `claims`
+--
+
+DROP TABLE IF EXISTS `claims`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `claims` (
+ `courseno` int(11) NOT NULL DEFAULT '0',
+ `serialno` int(11) NOT NULL DEFAULT '0',
+ `dntix` smallint(6) DEFAULT '0',
+ `proddate` date DEFAULT NULL,
+ `startdate` date DEFAULT NULL,
+ `cmpldate` date DEFAULT NULL,
+ `regdate` date DEFAULT NULL,
+ `authdate` date DEFAULT NULL,
+ `dob` date DEFAULT NULL,
+ `sname` varchar(30) DEFAULT NULL,
+ `fname` varchar(30) DEFAULT NULL,
+ `addr1` varchar(30) DEFAULT NULL,
+ `addr2` varchar(30) DEFAULT NULL,
+ `addr3` varchar(30) DEFAULT NULL,
+ `pcde` varchar(30) DEFAULT NULL,
+ `nhsno` varchar(30) DEFAULT NULL,
+ `prevsname` varchar(30) DEFAULT NULL,
+ `exempttext` varchar(50) DEFAULT NULL,
+ `i0` int(11) DEFAULT '0',
+ `i1` int(11) DEFAULT '0',
+ `i2` int(11) DEFAULT '0',
+ `i3` int(11) DEFAULT '0',
+ `i4` int(11) DEFAULT '0',
+ `f0` tinyint(3) unsigned DEFAULT '0',
+ `f1` tinyint(3) unsigned DEFAULT '0',
+ `f2` tinyint(3) unsigned DEFAULT '0',
+ `f3` tinyint(3) unsigned DEFAULT '0',
+ `f4` tinyint(3) unsigned DEFAULT '0',
+ `f5` tinyint(3) unsigned DEFAULT '0',
+ `f6` tinyint(3) unsigned DEFAULT '0',
+ `f7` tinyint(3) unsigned DEFAULT '0',
+ `f8` tinyint(3) unsigned DEFAULT '0',
+ `f9` tinyint(3) unsigned DEFAULT '0',
+ `submstatus` tinyint(4) DEFAULT '0',
+ `submcount` tinyint(4) DEFAULT '0',
+ `submno` int(11) DEFAULT '0',
+ `claimdata` blob,
+ `trtdata` blob,
+ `archdate` date DEFAULT NULL,
+ `town` varchar(30) DEFAULT NULL,
+ `county` varchar(30) DEFAULT NULL,
+ `regtype` tinyint(3) unsigned DEFAULT '0',
+ PRIMARY KEY (`serialno`,`courseno`),
+ KEY `dentist` (`dntix`),
+ KEY `patient` (`sname`,`fname`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `claims`
+--
+
+LOCK TABLES `claims` WRITE;
+/*!40000 ALTER TABLE `claims` DISABLE KEYS */;
+/*!40000 ALTER TABLE `claims` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `clinical_memos`
+--
+
+DROP TABLE IF EXISTS `clinical_memos`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `clinical_memos` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) unsigned NOT NULL,
+ `author` char(8) DEFAULT NULL,
+ `datestamp` datetime NOT NULL,
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `synopsis` text,
+ PRIMARY KEY (`ix`),
+ KEY `serialno` (`serialno`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `clinical_memos`
+--
+
+LOCK TABLES `clinical_memos` WRITE;
+/*!40000 ALTER TABLE `clinical_memos` DISABLE KEYS */;
+/*!40000 ALTER TABLE `clinical_memos` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `currtrtmt`
+--
+
+DROP TABLE IF EXISTS `currtrtmt`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `currtrtmt` (
+ `serialno` int(11) NOT NULL,
+ `courseno` int(11) NOT NULL,
+ `xraypl` varchar(56) DEFAULT NULL,
+ `periopl` varchar(56) DEFAULT NULL,
+ `anaespl` varchar(56) DEFAULT NULL,
+ `otherpl` varchar(56) DEFAULT NULL,
+ `ndupl` varchar(56) DEFAULT NULL,
+ `ndlpl` varchar(56) DEFAULT NULL,
+ `odupl` varchar(56) DEFAULT NULL,
+ `odlpl` varchar(56) DEFAULT NULL,
+ `xraycmp` varchar(56) DEFAULT NULL,
+ `periocmp` varchar(56) DEFAULT NULL,
+ `anaescmp` varchar(56) DEFAULT NULL,
+ `othercmp` varchar(56) DEFAULT NULL,
+ `nducmp` varchar(56) DEFAULT NULL,
+ `ndlcmp` varchar(56) DEFAULT NULL,
+ `oducmp` varchar(56) DEFAULT NULL,
+ `odlcmp` varchar(56) DEFAULT NULL,
+ `ur8pl` varchar(34) DEFAULT NULL,
+ `ur7pl` varchar(34) DEFAULT NULL,
+ `ur6pl` varchar(34) DEFAULT NULL,
+ `ur5pl` varchar(34) DEFAULT NULL,
+ `ur4pl` varchar(34) DEFAULT NULL,
+ `ur3pl` varchar(34) DEFAULT NULL,
+ `ur2pl` varchar(34) DEFAULT NULL,
+ `ur1pl` varchar(34) DEFAULT NULL,
+ `ul1pl` varchar(34) DEFAULT NULL,
+ `ul2pl` varchar(34) DEFAULT NULL,
+ `ul3pl` varchar(34) DEFAULT NULL,
+ `ul4pl` varchar(34) DEFAULT NULL,
+ `ul5pl` varchar(34) DEFAULT NULL,
+ `ul6pl` varchar(34) DEFAULT NULL,
+ `ul7pl` varchar(34) DEFAULT NULL,
+ `ul8pl` varchar(34) DEFAULT NULL,
+ `ll8pl` varchar(34) DEFAULT NULL,
+ `ll7pl` varchar(34) DEFAULT NULL,
+ `ll6pl` varchar(34) DEFAULT NULL,
+ `ll5pl` varchar(34) DEFAULT NULL,
+ `ll4pl` varchar(34) DEFAULT NULL,
+ `ll3pl` varchar(34) DEFAULT NULL,
+ `ll2pl` varchar(34) DEFAULT NULL,
+ `ll1pl` varchar(34) DEFAULT NULL,
+ `lr1pl` varchar(34) DEFAULT NULL,
+ `lr2pl` varchar(34) DEFAULT NULL,
+ `lr3pl` varchar(34) DEFAULT NULL,
+ `lr4pl` varchar(34) DEFAULT NULL,
+ `lr5pl` varchar(34) DEFAULT NULL,
+ `lr6pl` varchar(34) DEFAULT NULL,
+ `lr7pl` varchar(34) DEFAULT NULL,
+ `lr8pl` varchar(34) DEFAULT NULL,
+ `ur8cmp` varchar(34) DEFAULT NULL,
+ `ur7cmp` varchar(34) DEFAULT NULL,
+ `ur6cmp` varchar(34) DEFAULT NULL,
+ `ur5cmp` varchar(34) DEFAULT NULL,
+ `ur4cmp` varchar(34) DEFAULT NULL,
+ `ur3cmp` varchar(34) DEFAULT NULL,
+ `ur2cmp` varchar(34) DEFAULT NULL,
+ `ur1cmp` varchar(34) DEFAULT NULL,
+ `ul1cmp` varchar(34) DEFAULT NULL,
+ `ul2cmp` varchar(34) DEFAULT NULL,
+ `ul3cmp` varchar(34) DEFAULT NULL,
+ `ul4cmp` varchar(34) DEFAULT NULL,
+ `ul5cmp` varchar(34) DEFAULT NULL,
+ `ul6cmp` varchar(34) DEFAULT NULL,
+ `ul7cmp` varchar(34) DEFAULT NULL,
+ `ul8cmp` varchar(34) DEFAULT NULL,
+ `ll8cmp` varchar(34) DEFAULT NULL,
+ `ll7cmp` varchar(34) DEFAULT NULL,
+ `ll6cmp` varchar(34) DEFAULT NULL,
+ `ll5cmp` varchar(34) DEFAULT NULL,
+ `ll4cmp` varchar(34) DEFAULT NULL,
+ `ll3cmp` varchar(34) DEFAULT NULL,
+ `ll2cmp` varchar(34) DEFAULT NULL,
+ `ll1cmp` varchar(34) DEFAULT NULL,
+ `lr1cmp` varchar(34) DEFAULT NULL,
+ `lr2cmp` varchar(34) DEFAULT NULL,
+ `lr3cmp` varchar(34) DEFAULT NULL,
+ `lr4cmp` varchar(34) DEFAULT NULL,
+ `lr5cmp` varchar(34) DEFAULT NULL,
+ `lr6cmp` varchar(34) DEFAULT NULL,
+ `lr7cmp` varchar(34) DEFAULT NULL,
+ `lr8cmp` varchar(34) DEFAULT NULL,
+ `examt` varchar(10) DEFAULT NULL,
+ `examd` date DEFAULT NULL,
+ `accd` date DEFAULT NULL,
+ `cmpd` date DEFAULT NULL,
+ `custompl` varchar(56) DEFAULT NULL,
+ `customcmp` varchar(56) DEFAULT NULL,
+ PRIMARY KEY (`serialno`,`courseno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `currtrtmt`
+--
+
+LOCK TABLES `currtrtmt` WRITE;
+/*!40000 ALTER TABLE `currtrtmt` DISABLE KEYS */;
+INSERT INTO `currtrtmt` VALUES (1,147660,'2S 2S ','SP','','','','','','','','','','','','','','','','CR,GO ','','','','P ','','','','MI ','','','','DO ','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','CE','2009-05-24','2009-04-06','2009-05-25','',''),(1,147670,'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','' [...]
+/*!40000 ALTER TABLE `currtrtmt` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `daybook`
+--
+
+DROP TABLE IF EXISTS `daybook`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `daybook` (
+ `date` date DEFAULT NULL,
+ `serialno` int(11) DEFAULT NULL,
+ `coursetype` char(1) DEFAULT NULL,
+ `dntid` smallint(6) DEFAULT NULL,
+ `trtid` smallint(6) DEFAULT NULL,
+ `diagn` varchar(56) DEFAULT NULL,
+ `perio` varchar(56) DEFAULT NULL,
+ `anaes` varchar(56) DEFAULT NULL,
+ `misc` varchar(56) DEFAULT NULL,
+ `ndu` varchar(56) DEFAULT NULL,
+ `ndl` varchar(56) DEFAULT NULL,
+ `odu` varchar(56) DEFAULT NULL,
+ `odl` varchar(56) DEFAULT NULL,
+ `other` varchar(56) DEFAULT NULL,
+ `chart` blob,
+ `feesa` int(11) DEFAULT NULL,
+ `feesb` int(11) DEFAULT NULL,
+ `feesc` int(11) DEFAULT NULL,
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `serialno` (`serialno`)
+) ENGINE=InnoDB AUTO_INCREMENT=287212 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `daybook`
+--
+
+LOCK TABLES `daybook` WRITE;
+/*!40000 ALTER TABLE `daybook` DISABLE KEYS */;
+INSERT INTO `daybook` VALUES ('1996-06-14',1,'N',2,2,'CE ','SP ','','','','','','','','\0',1345,1076,0,107466),('1996-12-23',1,'N',2,2,'CE ','','','','','','','','','\0',520,416,0,117803),('1997-11-07',1,'N',2,2,'CE ','SP ','','','','','','','','\0',1390,1112,0,135436),('1997-11-21',1,'N',2,2,'','','','','','','','','','UR4 DO,PR LR6 DO,PR \0',3190,-1112,0,136327),('1998-10-07',1,'N',4,4,'CE ','','','','','','','','','LL7 MODL,PR \0',2635,0,0,151382),('1999-06-28',1,'N',4,4,'CE 2S ',' [...]
+/*!40000 ALTER TABLE `daybook` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `docsimported`
+--
+
+DROP TABLE IF EXISTS `docsimported`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `docsimported` (
+ `ix` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) unsigned NOT NULL DEFAULT '0',
+ `datatype` varchar(60) NOT NULL DEFAULT 'application/octet-stream',
+ `name` varchar(120) NOT NULL DEFAULT '',
+ `size` bigint(20) unsigned NOT NULL DEFAULT '1024',
+ `filedate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `importime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `docsimported`
+--
+
+LOCK TABLES `docsimported` WRITE;
+/*!40000 ALTER TABLE `docsimported` DISABLE KEYS */;
+/*!40000 ALTER TABLE `docsimported` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `docsimporteddata`
+--
+
+DROP TABLE IF EXISTS `docsimporteddata`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `docsimporteddata` (
+ `ix` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `masterid` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `filedata` blob NOT NULL,
+ PRIMARY KEY (`ix`),
+ KEY `master_idx` (`masterid`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `docsimporteddata`
+--
+
+LOCK TABLES `docsimporteddata` WRITE;
+/*!40000 ALTER TABLE `docsimporteddata` DISABLE KEYS */;
+/*!40000 ALTER TABLE `docsimporteddata` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `exemptions`
+--
+
+DROP TABLE IF EXISTS `exemptions`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `exemptions` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) unsigned NOT NULL,
+ `exemption` varchar(10) DEFAULT NULL,
+ `exempttext` varchar(50) DEFAULT NULL,
+ `datestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`ix`),
+ KEY `serialno` (`serialno`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `exemptions`
+--
+
+LOCK TABLES `exemptions` WRITE;
+/*!40000 ALTER TABLE `exemptions` DISABLE KEYS */;
+/*!40000 ALTER TABLE `exemptions` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `families`
+--
+
+DROP TABLE IF EXISTS `families`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `families` (
+ `familyno` int(11) NOT NULL,
+ `head` int(11) DEFAULT NULL,
+ PRIMARY KEY (`familyno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `families`
+--
+
+LOCK TABLES `families` WRITE;
+/*!40000 ALTER TABLE `families` DISABLE KEYS */;
+/*!40000 ALTER TABLE `families` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `feetable_key`
+--
+
+DROP TABLE IF EXISTS `feetable_key`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `feetable_key` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `tablename` char(30) DEFAULT NULL,
+ `categories` char(30) DEFAULT NULL,
+ `description` char(60) DEFAULT NULL,
+ `startdate` date DEFAULT NULL,
+ `enddate` date DEFAULT NULL,
+ `feecoltypes` tinytext,
+ `in_use` tinyint(1) NOT NULL DEFAULT '1',
+ `display_order` smallint(6) DEFAULT NULL,
+ `data` mediumtext,
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `feetable_key`
+--
+
+LOCK TABLES `feetable_key` WRITE;
+/*!40000 ALTER TABLE `feetable_key` DISABLE KEYS */;
+INSERT INTO `feetable_key` VALUES (1,'feetable_scotNHS_08_Adult','N','Scottish NHS Adult feescale implemented April 2008','2008-04-01','2009-08-31','<?xml version=\"1.0\"?><columns><column type=\"fee\">fee</column><column type=\"ptfee\">pt_fee</column></columns>',1,5,'<?xml version=\"1.0\" ?><table><item><section>1</section><code>0101</code><oldcode>1a</oldcode><USERCODE>CE</USERCODE><description>clinical examination^</description><brief_description>clinical exam</brief_description><pl_c [...]
+/*!40000 ALTER TABLE `feetable_key` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `forum`
+--
+
+DROP TABLE IF EXISTS `forum`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `forum` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `parent_ix` int(10) unsigned DEFAULT NULL,
+ `inits` char(5) DEFAULT NULL,
+ `fdate` datetime DEFAULT NULL,
+ `topic` char(30) DEFAULT NULL,
+ `comment` text NOT NULL,
+ `open` tinyint(1) NOT NULL DEFAULT '1',
+ `recipient` char(8) DEFAULT NULL,
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `forum`
+--
+
+LOCK TABLES `forum` WRITE;
+/*!40000 ALTER TABLE `forum` DISABLE KEYS */;
+INSERT INTO `forum` VALUES (1,NULL,'Anon','2009-06-26 13:01:32','What Are you working on?','can you tell us?',0,NULL),(2,NULL,'USER','2009-06-26 13:02:12','windows version','doesn\'t look as good as the linux version - can you fix this?',0,NULL),(3,NULL,'USER','2010-05-31 22:45:34','Example Forum Posts','This could be anything which needs to be aired. The forum has proved REALLY useful, espescially as many care workers are part-time.',1,'ALL'),(4,3,'Anon','2010-05-31 22:45:50','re. Examp [...]
+/*!40000 ALTER TABLE `forum` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `forumread`
+--
+
+DROP TABLE IF EXISTS `forumread`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `forumread` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `id` int(10) unsigned NOT NULL,
+ `op` char(8) DEFAULT NULL,
+ `readdate` datetime NOT NULL,
+ PRIMARY KEY (`ix`),
+ KEY `id` (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `forumread`
+--
+
+LOCK TABLES `forumread` WRITE;
+/*!40000 ALTER TABLE `forumread` DISABLE KEYS */;
+INSERT INTO `forumread` VALUES (1,2,'USER','2010-05-31 22:43:56'),(2,3,'USER','2010-05-31 22:45:34'),(3,4,'USER','2010-05-31 22:45:50'),(4,4,'NW','2010-05-31 23:37:40'),(5,5,'NW','2010-05-31 23:39:03'),(6,5,'NW','2010-06-01 00:29:30');
+/*!40000 ALTER TABLE `forumread` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `mednotes`
+--
+
+DROP TABLE IF EXISTS `mednotes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `mednotes` (
+ `serialno` int(11) NOT NULL,
+ `drnm` varchar(60) DEFAULT NULL,
+ `adrtel` varchar(60) DEFAULT NULL,
+ `curmed` varchar(60) DEFAULT NULL,
+ `allerg` varchar(60) DEFAULT NULL,
+ `heart` varchar(60) DEFAULT NULL,
+ `lungs` varchar(60) DEFAULT NULL,
+ `liver` varchar(60) DEFAULT NULL,
+ `kidney` varchar(60) DEFAULT NULL,
+ `bleed` varchar(60) DEFAULT NULL,
+ `anaes` varchar(60) DEFAULT NULL,
+ `other` varchar(60) DEFAULT NULL,
+ `oldmed` varchar(60) DEFAULT NULL,
+ `alert` tinyint(1) NOT NULL DEFAULT '0',
+ `chkdate` date DEFAULT NULL,
+ PRIMARY KEY (`serialno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `mednotes`
+--
+
+LOCK TABLES `mednotes` WRITE;
+/*!40000 ALTER TABLE `mednotes` DISABLE KEYS */;
+INSERT INTO `mednotes` VALUES (1,'new doctor again','dunno','non','med ok','heart','lungs','liver','bleeding','kidneys','ops','other','?',0,NULL),(3,'','','','','','','','','','','','',0,NULL);
+/*!40000 ALTER TABLE `mednotes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `mnhist`
+--
+
+DROP TABLE IF EXISTS `mnhist`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `mnhist` (
+ `serialno` int(11) DEFAULT NULL,
+ `chgdate` date DEFAULT NULL,
+ `ix` tinyint(3) unsigned DEFAULT NULL,
+ `note` varchar(60) DEFAULT NULL,
+ KEY `sd` (`serialno`,`chgdate`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `mnhist`
+--
+
+LOCK TABLES `mnhist` WRITE;
+/*!40000 ALTER TABLE `mnhist` DISABLE KEYS */;
+INSERT INTO `mnhist` VALUES (1,'2009-05-05',140,'new doctor'),(1,'2009-05-05',141,''),(1,'2009-05-05',142,''),(1,'2009-05-05',143,''),(1,'2009-05-05',144,''),(1,'2009-05-05',145,''),(1,'2009-05-05',146,''),(1,'2009-05-05',147,''),(1,'2009-05-05',148,''),(1,'2009-05-05',149,''),(1,'2009-05-05',150,'');
+/*!40000 ALTER TABLE `mnhist` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `newdocsprinted`
+--
+
+DROP TABLE IF EXISTS `newdocsprinted`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `newdocsprinted` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) DEFAULT NULL,
+ `printdate` date DEFAULT NULL,
+ `docname` char(20) DEFAULT NULL,
+ `docversion` smallint(6) DEFAULT NULL,
+ `data` blob,
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `newdocsprinted`
+--
+
+LOCK TABLES `newdocsprinted` WRITE;
+/*!40000 ALTER TABLE `newdocsprinted` DISABLE KEYS */;
+INSERT INTO `newdocsprinted` VALUES (1,1,'2009-06-01','Account toneA (pdf)',1,'%PDF-1.4\n1 0 obj\n<<\n/Title ()\n/Creator ()\n/Producer (Qt 4.4.3 (C) 1992-2008 Nokia Corporation and/or its subsidiary(-ies))\n/CreationDate (D:20090601213502)\n>>\nendobj\n2 0 obj\n<<\n/Type /Catalog\n/Pages 3 0 R\n>>\nendobj\n4 0 obj\n<<\n/Type /ExtGState\n/SA true\n/SM 0.02\n/ca 1.0\n/CA 1.0\n/AIS false\n/SMask /None>>\nendobj\n5 0 obj\n[/Pattern /DeviceRGB]\nendobj\n6 0 obj\n<<\n/Type /Page\n/Parent 3 0 [...]
+/*!40000 ALTER TABLE `newdocsprinted` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `newestimates`
+--
+
+DROP TABLE IF EXISTS `newestimates`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `newestimates` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) NOT NULL,
+ `courseno` int(10) unsigned DEFAULT NULL,
+ `category` char(12) DEFAULT NULL,
+ `type` char(20) DEFAULT NULL,
+ `number` tinyint(4) DEFAULT NULL,
+ `itemcode` char(4) DEFAULT NULL,
+ `description` char(50) DEFAULT NULL,
+ `fee` int(11) DEFAULT NULL,
+ `ptfee` int(11) DEFAULT NULL,
+ `csetype` char(5) DEFAULT NULL,
+ `feescale` char(1) DEFAULT NULL,
+ `dent` tinyint(1) DEFAULT NULL,
+ `completed` tinyint(1) DEFAULT NULL,
+ `carriedover` tinyint(1) DEFAULT NULL,
+ `linked` tinyint(1) DEFAULT NULL,
+ `modified_by` varchar(20) NOT NULL,
+ `time_stamp` datetime NOT NULL,
+ PRIMARY KEY (`ix`),
+ KEY `serialno` (`serialno`),
+ KEY `courseno` (`courseno`)
+) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `newestimates`
+--
+
+LOCK TABLES `newestimates` WRITE;
+/*!40000 ALTER TABLE `newestimates` DISABLE KEYS */;
+INSERT INTO `newestimates` VALUES (22,2,147669,'ul3','MI',1,'1420','composite filling* - ul3',8650,8650,'P','0',4,1,0,0,'NW','2010-05-31 23:58:01'),(3,1,147678,'exam','CE',1,'0101','clinical examination^',1950,1950,'P','A',4,0,0,NULL,'1_0to1_1script','2010-05-31 22:24:02'),(4,2,147669,'exam','CE',1,'0101','clinical examination^',1950,1950,'P','A',4,1,0,NULL,'1_0to1_1script','2010-05-31 22:24:02'),(5,3,147679,'exam','CE',1,'0101','clinical examination^',1950,1950,'P','A',5,1,0,NULL,'1_0to [...]
+/*!40000 ALTER TABLE `newestimates` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `newfeetable`
+--
+
+DROP TABLE IF EXISTS `newfeetable`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `newfeetable` (
+ `ix` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `section` smallint(6) DEFAULT NULL,
+ `USERCODE` char(14) DEFAULT NULL,
+ `code` char(8) DEFAULT NULL,
+ `oldcode` char(12) DEFAULT NULL,
+ `regulation` char(50) DEFAULT NULL,
+ `max_per_course` char(25) DEFAULT NULL,
+ `description` char(60) DEFAULT NULL,
+ `description1` char(60) DEFAULT NULL,
+ `NF08` int(11) DEFAULT NULL,
+ `NF08_pt` int(11) DEFAULT NULL,
+ `PFA` int(11) DEFAULT NULL,
+ `NF09` int(11) DEFAULT NULL,
+ `NF09_pt` int(11) DEFAULT NULL,
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM AUTO_INCREMENT=495 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `newfeetable`
+--
+
+LOCK TABLES `newfeetable` WRITE;
+/*!40000 ALTER TABLE `newfeetable` DISABLE KEYS */;
+INSERT INTO `newfeetable` VALUES (1,1,'CE','0101','1a','','1','clinical examination^','clinical exam',800,0,1950,1950,0),(2,1,'ECE','0111','1b','','1','extensive clinical examination^','extensive clinical exam',1200,0,3850,4500,0),(3,1,'FCA','0121','1c','','1','full case assessment^','full case assessment',2500,0,6655,7500,0),(4,1,'CTS','0131','1d','','1','care and treatment summary^','care & treatment summary',395,316,0,0,0),(5,2,'S','0201','2a1','n=1:A,n=2:B,n=3:C,n>3:C+(n-3)*D,max=E', [...]
+/*!40000 ALTER TABLE `newfeetable` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `notes`
+--
+
+DROP TABLE IF EXISTS `notes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `notes` (
+ `serialno` int(11) NOT NULL,
+ `lineno` smallint(5) unsigned NOT NULL,
+ `line` varchar(80) DEFAULT NULL,
+ PRIMARY KEY (`serialno`,`lineno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `notes`
+--
+
+LOCK TABLES `notes` WRITE;
+/*!40000 ALTER TABLE `notes` DISABLE KEYS */;
+INSERT INTO `notes` VALUES (1,0,'ECM/CM``)'),(1,1,'pCE'),(1,2,'rˆTM —TM ¦TM ¤TM ´TM '),(1,3,'iSP '),(1,4,'d'),(1,5,'`4'),(1,6,'JM/JM``'),(1,7,'s'),(1,8,'a'),(1,9,'`'),(1,10,'JM/JM``'),(1,11,'w10.76 B'),(1,12,'`'),(1,13,'ECM/CM
`
`
;'),(1,14,'pCE'),(1,15,'
`
'),(1,16,'JM/JM
`
`
'),(1,17,'{'),(1,18,'w4.16 B'),(1,19,'a'),(1,20,'
`
'),(1,21,'ECM/CM
a
a7'),(1,22,'pCE'),(1,23,'iSP '),(1,24,'
a'),(1,25,'ECM/CM
a
a'),(1,26, [...]
+/*!40000 ALTER TABLE `notes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `opid`
+--
+
+DROP TABLE IF EXISTS `opid`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `opid` (
+ `id` char(5) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `opid`
+--
+
+LOCK TABLES `opid` WRITE;
+/*!40000 ALTER TABLE `opid` DISABLE KEYS */;
+INSERT INTO `opid` VALUES ('BW'),('NW'),('REC'),('USER');
+/*!40000 ALTER TABLE `opid` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `patients`
+--
+
+DROP TABLE IF EXISTS `patients`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `patients` (
+ `serialno` int(11) NOT NULL,
+ `pf0` tinyint(4) DEFAULT NULL,
+ `pf1` tinyint(4) DEFAULT NULL,
+ `pf2` tinyint(4) DEFAULT NULL,
+ `pf3` tinyint(4) DEFAULT NULL,
+ `pf4` tinyint(4) DEFAULT NULL,
+ `pf5` tinyint(4) DEFAULT NULL,
+ `pf6` tinyint(4) DEFAULT NULL,
+ `pf7` tinyint(4) DEFAULT NULL,
+ `pf8` tinyint(4) DEFAULT NULL,
+ `pf9` tinyint(4) DEFAULT NULL,
+ `pf10` tinyint(4) DEFAULT NULL,
+ `pf11` tinyint(4) DEFAULT NULL,
+ `pf12` tinyint(4) DEFAULT NULL,
+ `pf14` tinyint(4) DEFAULT NULL,
+ `pf15` tinyint(4) DEFAULT NULL,
+ `pf16` tinyint(4) DEFAULT NULL,
+ `pf17` tinyint(4) DEFAULT NULL,
+ `pf18` tinyint(4) DEFAULT NULL,
+ `pf19` tinyint(4) DEFAULT NULL,
+ `money0` int(11) DEFAULT NULL,
+ `money1` int(11) DEFAULT NULL,
+ `money2` int(11) DEFAULT NULL,
+ `money3` int(11) DEFAULT NULL,
+ `money4` int(11) DEFAULT NULL,
+ `money5` int(11) DEFAULT NULL,
+ `money6` int(11) DEFAULT NULL,
+ `money7` int(11) DEFAULT NULL,
+ `money8` int(11) DEFAULT NULL,
+ `money9` int(11) DEFAULT NULL,
+ `money10` int(11) DEFAULT NULL,
+ `pd0` date DEFAULT NULL,
+ `pd1` date DEFAULT NULL,
+ `pd2` date DEFAULT NULL,
+ `pd3` date DEFAULT NULL,
+ `pd4` date DEFAULT NULL,
+ `pd5` date DEFAULT NULL,
+ `pd6` date DEFAULT NULL,
+ `pd7` date DEFAULT NULL,
+ `pd8` date DEFAULT NULL,
+ `pd9` date DEFAULT NULL,
+ `pd10` date DEFAULT NULL,
+ `pd11` date DEFAULT NULL,
+ `pd12` date DEFAULT NULL,
+ `pd13` date DEFAULT NULL,
+ `pd14` date DEFAULT NULL,
+ `sname` varchar(30) DEFAULT NULL,
+ `fname` varchar(30) DEFAULT NULL,
+ `title` varchar(30) DEFAULT NULL,
+ `sex` char(1) DEFAULT NULL,
+ `dob` date DEFAULT NULL,
+ `addr1` varchar(30) DEFAULT NULL,
+ `addr2` varchar(30) DEFAULT NULL,
+ `addr3` varchar(30) DEFAULT NULL,
+ `pcde` varchar(30) DEFAULT NULL,
+ `tel1` varchar(30) DEFAULT NULL,
+ `tel2` varchar(30) DEFAULT NULL,
+ `occup` varchar(30) DEFAULT NULL,
+ `nhsno` varchar(30) DEFAULT NULL,
+ `cnfd` date DEFAULT NULL,
+ `psn` varchar(30) DEFAULT NULL,
+ `cset` varchar(10) DEFAULT NULL,
+ `dnt1` smallint(6) DEFAULT NULL,
+ `dnt2` smallint(6) DEFAULT NULL,
+ `courseno0` int(11) DEFAULT NULL,
+ `courseno1` int(11) DEFAULT NULL,
+ `exempttext` varchar(50) DEFAULT NULL,
+ `ur8st` varchar(34) DEFAULT NULL,
+ `ur7st` varchar(34) DEFAULT NULL,
+ `ur6st` varchar(34) DEFAULT NULL,
+ `ur5st` varchar(34) DEFAULT NULL,
+ `ur4st` varchar(34) DEFAULT NULL,
+ `ur3st` varchar(34) DEFAULT NULL,
+ `ur2st` varchar(34) DEFAULT NULL,
+ `ur1st` varchar(34) DEFAULT NULL,
+ `ul1st` varchar(34) DEFAULT NULL,
+ `ul2st` varchar(34) DEFAULT NULL,
+ `ul3st` varchar(34) DEFAULT NULL,
+ `ul4st` varchar(34) DEFAULT NULL,
+ `ul5st` varchar(34) DEFAULT NULL,
+ `ul6st` varchar(34) DEFAULT NULL,
+ `ul7st` varchar(34) DEFAULT NULL,
+ `ul8st` varchar(34) DEFAULT NULL,
+ `ll8st` varchar(34) DEFAULT NULL,
+ `ll7st` varchar(34) DEFAULT NULL,
+ `ll6st` varchar(34) DEFAULT NULL,
+ `ll5st` varchar(34) DEFAULT NULL,
+ `ll4st` varchar(34) DEFAULT NULL,
+ `ll3st` varchar(34) DEFAULT NULL,
+ `ll2st` varchar(34) DEFAULT NULL,
+ `ll1st` varchar(34) DEFAULT NULL,
+ `lr1st` varchar(34) DEFAULT NULL,
+ `lr2st` varchar(34) DEFAULT NULL,
+ `lr3st` varchar(34) DEFAULT NULL,
+ `lr4st` varchar(34) DEFAULT NULL,
+ `lr5st` varchar(34) DEFAULT NULL,
+ `lr6st` varchar(34) DEFAULT NULL,
+ `lr7st` varchar(34) DEFAULT NULL,
+ `lr8st` varchar(34) DEFAULT NULL,
+ `dent0` tinyint(4) DEFAULT NULL,
+ `dent1` tinyint(4) DEFAULT NULL,
+ `dent2` tinyint(4) DEFAULT NULL,
+ `dent3` tinyint(4) DEFAULT NULL,
+ `exmpt` varchar(10) DEFAULT NULL,
+ `recd` date DEFAULT NULL,
+ `dmask` char(7) DEFAULT NULL,
+ `minstart` smallint(6) DEFAULT NULL,
+ `maxend` smallint(6) DEFAULT NULL,
+ `billdate` date DEFAULT NULL,
+ `billct` tinyint(3) unsigned DEFAULT NULL,
+ `billtype` char(1) DEFAULT NULL,
+ `pf20` tinyint(4) DEFAULT NULL,
+ `money11` int(11) DEFAULT NULL,
+ `pf13` tinyint(4) DEFAULT NULL,
+ `familyno` int(11) DEFAULT NULL,
+ `memo` varchar(255) DEFAULT NULL,
+ `town` varchar(30) DEFAULT NULL,
+ `county` varchar(30) DEFAULT NULL,
+ `mobile` varchar(30) DEFAULT NULL,
+ `fax` varchar(30) DEFAULT NULL,
+ `email1` varchar(50) DEFAULT NULL,
+ `email2` varchar(50) DEFAULT NULL,
+ `status` varchar(30) DEFAULT NULL,
+ `source` varchar(30) DEFAULT NULL,
+ `enrolled` date DEFAULT NULL,
+ `archived` tinyint(4) DEFAULT '0',
+ `initaccept` date DEFAULT NULL,
+ `lastreaccept` date DEFAULT NULL,
+ `lastclaim` date DEFAULT NULL,
+ `expiry` date DEFAULT NULL,
+ `cstatus` tinyint(3) unsigned DEFAULT NULL,
+ `transfer` date DEFAULT NULL,
+ `pstatus` tinyint(3) unsigned DEFAULT NULL,
+ `courseno2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`serialno`),
+ KEY `sname` (`sname`,`fname`),
+ KEY `familyno` (`familyno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `patients`
+--
+
+LOCK TABLES `patients` WRITE;
+/*!40000 ALTER TABLE `patients` DISABLE KEYS */;
+INSERT INTO `patients` VALUES (1,1,1,0,0,0,3,0,0,0,0,0,65,0,0,0,1,2,0,0,0,0,0,0,0,40450,0,0,0,0,0,NULL,NULL,NULL,'1999-08-05','2009-05-25','2007-07-13',NULL,NULL,NULL,'2006-02-08','1999-06-28',NULL,NULL,NULL,NULL,'MOLAR','OPEN','MR','M','1969-12-09','1512, RUE DE LA SOLEIL','DAVIOT','','IV0 0XX','NO PHONE','','','',NULL,'','P',4,4,147678,147660,'','TM ','MOB,GL ','TM ','DO ','MODBP ','','P RT MI ','DIP PV RT P ','D ','M ','P,AM ','','','MODP MB,CO ','MODBP,CO ','TM ','TM ','CR,GO ','TM ' [...]
+/*!40000 ALTER TABLE `patients` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `perio`
+--
+
+DROP TABLE IF EXISTS `perio`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `perio` (
+ `serialno` int(11) NOT NULL DEFAULT '0',
+ `chartdate` date NOT NULL DEFAULT '0000-00-00',
+ `bpe` char(6) DEFAULT NULL,
+ `chartdata` blob,
+ `flag` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`serialno`,`chartdate`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `perio`
+--
+
+LOCK TABLES `perio` WRITE;
+/*!40000 ALTER TABLE `perio` DISABLE KEYS */;
+/*!40000 ALTER TABLE `perio` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `phrasebook`
+--
+
+DROP TABLE IF EXISTS `phrasebook`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `phrasebook` (
+ `clinician_id` int(10) unsigned NOT NULL,
+ `phrases` text,
+ PRIMARY KEY (`clinician_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `phrasebook`
+--
+
+LOCK TABLES `phrasebook` WRITE;
+/*!40000 ALTER TABLE `phrasebook` DISABLE KEYS */;
+INSERT INTO `phrasebook` VALUES (0,'<?xml version=\"1.0\" ?>\n<phrasebook>\n<section>\n <header>Anaesthetics</header>\n <phrase>No LA.</phrase>\n <phrase>Anaesthetic Used - Citanest</phrase>\n <phrase>Anaesthetic Used - Scandonest Plain</phrase>\n <phrase>Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)</phrase>\n <phrase>Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)</phrase>\n <phrase>Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline</phras [...]
+/*!40000 ALTER TABLE `phrasebook` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `plandata`
+--
+
+DROP TABLE IF EXISTS `plandata`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `plandata` (
+ `serialno` int(11) NOT NULL,
+ `plantype` char(4) DEFAULT NULL,
+ `band` char(1) DEFAULT NULL,
+ `grosschg` int(11) DEFAULT NULL,
+ `discount` int(11) DEFAULT NULL,
+ `netchg` int(11) DEFAULT NULL,
+ `catcode` char(1) DEFAULT NULL,
+ `planjoin` date DEFAULT NULL,
+ `regno` int(11) DEFAULT NULL,
+ PRIMARY KEY (`serialno`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `plandata`
+--
+
+LOCK TABLES `plandata` WRITE;
+/*!40000 ALTER TABLE `plandata` DISABLE KEYS */;
+INSERT INTO `plandata` VALUES (1,'HDP','C',1229,5,NULL,'3','1994-01-05',67),(2,'','B',978,5,NULL,'3','2009-06-21',68),(3,'','B',978,5,NULL,'2','2009-06-21',69);
+/*!40000 ALTER TABLE `plandata` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `practitioners`
+--
+
+DROP TABLE IF EXISTS `practitioners`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `practitioners` (
+ `id` smallint(6) NOT NULL DEFAULT '0',
+ `inits` char(4) DEFAULT NULL,
+ `name` varchar(30) DEFAULT NULL,
+ `apptix` smallint(6) DEFAULT NULL,
+ `formalname` varchar(30) DEFAULT NULL,
+ `fpcno` varchar(20) DEFAULT NULL,
+ `quals` varchar(30) DEFAULT NULL,
+ `datefrom` date DEFAULT NULL,
+ `dateto` date DEFAULT NULL,
+ `flag0` tinyint(4) DEFAULT NULL,
+ `flag1` tinyint(4) DEFAULT NULL,
+ `flag2` tinyint(4) DEFAULT NULL,
+ `flag3` tinyint(4) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `practitioners`
+--
+
+LOCK TABLES `practitioners` WRITE;
+/*!40000 ALTER TABLE `practitioners` DISABLE KEYS */;
+INSERT INTO `practitioners` VALUES (4,'NW','Neil Wallace',4,'MR N.A. WALLACE','DEMO','BChD',NULL,NULL,1,1,1,1),(5,'BW','Bea Wallace',5,'MRS B.A. WALLACE','DEMO','B.Ch.D.',NULL,NULL,1,0,1,1),(6,'AH','Able Hygenist',6,'Ms Able Hygenist','DEMO','BSDHT',NULL,NULL,0,0,1,1);
+/*!40000 ALTER TABLE `practitioners` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `ptmemos`
+--
+
+DROP TABLE IF EXISTS `ptmemos`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `ptmemos` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `serialno` int(11) DEFAULT NULL,
+ `enabled` tinyint(1) DEFAULT NULL,
+ `author` char(5) DEFAULT NULL,
+ `type` char(5) DEFAULT NULL,
+ `mdate` datetime DEFAULT NULL,
+ `expiredate` date DEFAULT NULL,
+ `message` char(200) DEFAULT NULL,
+ `open` tinyint(1) NOT NULL DEFAULT '1',
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `ptmemos`
+--
+
+LOCK TABLES `ptmemos` WRITE;
+/*!40000 ALTER TABLE `ptmemos` DISABLE KEYS */;
+INSERT INTO `ptmemos` VALUES (10,3,NULL,'USER','all','2009-06-18 00:00:00','3000-01-01','fees outstanding.',1);
+/*!40000 ALTER TABLE `ptmemos` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `settings`
+--
+
+DROP TABLE IF EXISTS `settings`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `settings` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `value` varchar(128) DEFAULT NULL,
+ `data` text,
+ `hostname` varchar(128) DEFAULT NULL,
+ `station` char(20) DEFAULT NULL,
+ `user` char(20) DEFAULT NULL,
+ `modified_by` varchar(20) NOT NULL,
+ `time_stamp` datetime NOT NULL,
+ PRIMARY KEY (`ix`),
+ KEY `value` (`value`)
+) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `settings`
+--
+
+LOCK TABLES `settings` WRITE;
+/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
+INSERT INTO `settings` VALUES (1,'Schema_Version','1.1',NULL,NULL,NULL,'1_0 to 1_1 script','2010-05-31 22:24:02'),(3,'Schema_Version','1.2',NULL,NULL,NULL,'1_1 to 1_2 script','2010-05-31 22:24:02'),(5,'Schema_Version','1.3',NULL,NULL,NULL,'1_2 to 1_3 script','2010-05-31 22:24:03'),(8,'Schema_Version','1.4',NULL,NULL,NULL,'1_3 to 1_4 script','2010-05-31 22:24:04'),(10,'Schema_Version','1.5',NULL,NULL,NULL,'1_4 to 1_5 script','2010-05-31 22:24:04'),(12,'Schema_Version','1.6',NULL,NULL,NULL [...]
+/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `tasks`
+--
+
+DROP TABLE IF EXISTS `tasks`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `tasks` (
+ `ix` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `op` char(8) DEFAULT NULL,
+ `author` char(8) DEFAULT NULL,
+ `type` char(8) DEFAULT NULL,
+ `mdate` datetime NOT NULL,
+ `due` datetime NOT NULL,
+ `message` char(255) DEFAULT NULL,
+ `completed` tinyint(1) NOT NULL DEFAULT '0',
+ `visible` tinyint(1) NOT NULL DEFAULT '1',
+ PRIMARY KEY (`ix`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `tasks`
+--
+
+LOCK TABLES `tasks` WRITE;
+/*!40000 ALTER TABLE `tasks` DISABLE KEYS */;
+/*!40000 ALTER TABLE `tasks` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `userdata`
+--
+
+DROP TABLE IF EXISTS `userdata`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `userdata` (
+ `serialno` int(11) NOT NULL,
+ `data` blob,
+ PRIMARY KEY (`serialno`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `userdata`
+--
+
+LOCK TABLES `userdata` WRITE;
+/*!40000 ALTER TABLE `userdata` DISABLE KEYS */;
+/*!40000 ALTER TABLE `userdata` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2010-06-01 0:31:09
diff --git a/src/openmolar/resources/feescales/example_feescale.xml b/src/openmolar/resources/feescales/example_feescale.xml
new file mode 100644
index 0000000..bfac877
--- /dev/null
+++ b/src/openmolar/resources/feescales/example_feescale.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0" ?><feescale>
+ <version>0.1</version>
+ <tablename>test_feescale</tablename>
+ <feescale_description>Example Fee Scale</feescale_description>
+ <category>P</category>
+ <header id="1">Diagnosis</header>
+ <header id="2">Preventive Care</header>
+ <header id="3">Periodontal Treatment</header>
+ <header id="4">Conservative Treatment</header>
+ <header id="5">Endodontic Treatment</header>
+ <header id="6">Crowns and Veneers</header>
+ <header id="7">Bridgework</header>
+ <header id="8">Extractions and Surgical Treatment</header>
+ <header id="9">Prostheses</header>
+ <header id="10">Orthodontic Treatment</header>
+ <header id="11">Other Forms of Treatment</header>
+ <start>
+ <year>2013</year>
+ <month>8</month>
+ <day>1</day>
+ </start>
+ <item id="E0101">
+ <section>1</section>
+ <shortcut att="exam">CE</shortcut>
+ <description>clinical examination^</description>
+ <fee>
+ <brief_description>clinical exam</brief_description>
+ <gross>2200</gross>
+ <charge>2200</charge>
+ </fee>
+ </item>
+ <item id="E0111">
+ <section>1</section>
+ <shortcut att="exam">ECE</shortcut>
+ <description>extensive clinical examination^</description>
+ <fee>
+ <brief_description>extensive clinical exam</brief_description>
+ <gross>4500</gross>
+ <charge>4500</charge>
+ </fee>
+ </item>
+ <item id="E0121" obscurity="2">
+ <section>1</section>
+ <shortcut att="exam">FCA</shortcut>
+ <description>full case assessment^</description>
+ <fee>
+ <brief_description>full case assessment^</brief_description>
+ <gross>6000</gross>
+ <charge>6000</charge>
+ </fee>
+ </item>
+ <item id="E0201">
+ <section>1</section>
+ <shortcut att="xray">S</shortcut>
+ <description>small xray*</description>
+ <fee condition="item_no=1">
+ <brief_description>small xrays 1 film</brief_description>
+ <gross>900</gross>
+ <charge>900</charge>
+ </fee>
+ <fee condition="item_no=2">
+ <brief_description>small xrays 2 films</brief_description>
+ <gross>1500</gross>
+ <charge>1500</charge>
+ </fee>
+ <fee condition="item_no=3">
+ <brief_description>small xrays 3 films</brief_description>
+ <gross>2000</gross>
+ <charge>2000</charge>
+ </fee>
+ <fee condition="item_no>=4">
+ <brief_description>small xrays maximum</brief_description>
+ <gross>2500</gross>
+ <charge>2500</charge>
+ </fee>
+ </item>
+ <item id="E1401" obscurity="0">
+ <section>4</section>
+ <shortcut att="chart" type="regex">u[lr][de4-8][MODBP]*$|l[lr][de4-8][MODBL]*$|u[lr][a-c1-3][MIDBP]*$|l[lr][a-c1-3][MIDBL]*$</shortcut>
+ <description>filling*</description>
+ <fee>
+ <brief_description>filling</brief_description>
+ <gross>4500</gross>
+ <charge>4500</charge>
+ </fee>
+ </item>
+ <item id="E1001">
+ <section>3</section>
+ <shortcut att="perio">SP</shortcut>
+ <description>scale and polish^</description>
+ <fee>
+ <brief_description>scale & polish</brief_description>
+ <gross>3300</gross>
+ <charge>3300</charge>
+ </fee>
+ <feescale_forbid>
+ <reason>please add scale and polish to a treatment plan conventionally</reason>
+ </feescale_forbid>
+ </item>
+ <item id="E1011">
+ <section>3</section>
+ <shortcut att="perio">SP+</shortcut>
+ <description>extended scale and polish^</description>
+ <fee>
+ <brief_description>scale & polish > 1 visit</brief_description>
+ <gross>4500</gross>
+ <charge>4500</charge>
+ </fee>
+ </item>
+ <item id="E1501">
+ <section>5</section>
+ <shortcut att="chart" type="regex">[ul][lr][1-3]RT$</shortcut>
+ <description>anterior root filling*</description>
+ <fee>
+ <brief_description>root filling 1-3</brief_description>
+ <gross>19500</gross>
+ <charge>19500</charge>
+ </fee>
+ </item>
+ <item id="E1502">
+ <section>5</section>
+ <shortcut att="chart" type="regex">[ul][lr][45]RT$</shortcut>
+ <description>premolar root filling*</description>
+ <fee>
+ <brief_description>root filling 4-5</brief_description>
+ <gross>19500</gross>
+ <charge>19500</charge>
+ </fee>
+ </item>
+ <item id="E1504">
+ <section>5</section>
+ <shortcut att="chart" type="regex">[ul][lr][6-8]RT$</shortcut>
+ <description>molar root filling*</description>
+ <fee>
+ <brief_description>root filling 6-8</brief_description>
+ <gross>28000</gross>
+ <charge>19500</charge>
+ </fee>
+ </item>
+ <item id="E0601">
+ <section>6</section>
+ <shortcut att="chart" type="regex">[ul][lr][1-8]CR</shortcut>
+ <description>other crown*</description>
+ <fee>
+ <brief_description>unspecified crown</brief_description>
+ <gross>35000</gross>
+ <charge>0</charge>
+ </fee>
+ </item>
+ <item id="E0701">
+ <section>7</section>
+ <shortcut att="chart" type="regex">[ul][lr][1-8]BR</shortcut>
+ <description>bridge unit*</description>
+ <fee>
+ <brief_description>unspecified bridge unit</brief_description>
+ <gross>35000</gross>
+ <charge>0</charge>
+ </fee>
+ </item>
+ <item id="E2101">
+ <section>8</section>
+ <shortcut att="chart" type="regex">u[lr][a-e1-8]EX</shortcut>
+ <description>extraction*</description>
+ <fee condition="item_no=1">
+ <brief_description>extraction, 1 tooth</brief_description>
+ <gross>5500</gross>
+ <charge>5500</charge>
+ </fee>
+ <fee condition="item_no=2">
+ <brief_description>extraction, 2 teeth</brief_description>
+ <gross>6500</gross>
+ <charge>5500</charge>
+ </fee>
+ <fee condition="3<=item_no<=4">
+ <brief_description>extraction, 3-4 teeth</brief_description>
+ <gross>8000</gross>
+ <charge>5500</charge>
+ </fee>
+ <fee condition="5<=item_no<=9">
+ <brief_description>extraction, 5-9 teeth</brief_description>
+ <gross>9000</gross>
+ <charge>5500</charge>
+ </fee>
+ <fee condition="10<=item_no<=18">
+ <brief_description>extraction, 10-18 teeth</brief_description>
+ <gross>12000</gross>
+ <charge>5500</charge>
+ </fee>
+ <fee condition="item_no>=18">
+ <brief_description>extraction, > 18 teeth</brief_description>
+ <gross>15000</gross>
+ <charge>5500</charge>
+ </fee>
+ </item>
+ <complex_shortcut>
+ <shortcut att="perio">SP</shortcut>
+ <addition>
+ <case condition="n_txs=1" handled="no"/>
+ <case condition="n_txs=2">
+ <remove_item id="E1001"/>
+ <add_item id="E1011"/>
+ <message>1 visit scale and polish fee removed from estimate. 2 visit scale and polish fee added instead.</message>
+ </case>
+ <case condition="n_txs>2">
+ <alter_item id="E1011"/>
+ <message>maximum fee already claimed for this treatment. Add Privately, or start a new course.</message>
+ </case>
+ </addition>
+ <removal>
+ <case condition="n_txs=1" handled="no"/>
+ <case condition="n_txs=2">
+ <remove_item id="E1011"/>
+ <add_item id="E1001"/>
+ <message>2 visit scale and polish fee removed from estimate, replaced by 1 visit fee.</message>
+ </case>
+ <case condition="n_txs>2">
+ <alter_item id="E1011"/>
+ </case>
+ </removal>
+ </complex_shortcut>
+ <user_display>
+ <crown_chart_button description="Porcelain Jacket" shortcut="CR,PJ" tooltip="any tooth"/>
+ <crown_chart_button description="Gold" shortcut="CR,GO"/>
+ <crown_chart_button description="Porcelain/Precious Metal" shortcut="CR,V1"/>
+ <crown_chart_button description="Temporary" shortcut="CR,T1"/>
+ <crown_chart_button description="Resin" shortcut="CR,SR"/>
+ <crown_chart_button description="Lava" shortcut="CR,LAVA"/>
+ <crown_chart_button description="Opalite" shortcut="CR,OPAL"/>
+ <crown_chart_button description="Emax" shortcut="CR,EMAX"/>
+ <crown_chart_button description="Other" shortcut="CR,OT"/>
+ <crown_chart_button description="RECEMENT" shortcut="CR,RC"/>
+ </user_display>
+</feescale>
\ No newline at end of file
diff --git a/src/openmolar/resources/feescales/feescale_schema.xsd b/src/openmolar/resources/feescales/feescale_schema.xsd
new file mode 100644
index 0000000..9060a00
--- /dev/null
+++ b/src/openmolar/resources/feescales/feescale_schema.xsd
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="feescale">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="version" type="xs:string"/>
+ <xs:element name="tablename" type="xs:string"/>
+ <xs:element name="feescale_description" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="category" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
+ <xs:element name="header" minOccurs="1" maxOccurs="unbounded" />
+ <xs:element ref="start" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="end" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="item" maxOccurs="unbounded"/>
+ <xs:element ref="complex_shortcut" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="user_display" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="header">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:integer" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="start">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="year" type="xs:integer"/>
+ <xs:element name="month" type="xs:integer"/>
+ <xs:element name="day" type="xs:integer"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="end">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="year" type="xs:integer"/>
+ <xs:element name="month" type="xs:integer"/>
+ <xs:element name="day" type="xs:integer"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="complex_shortcut">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="shortcut" minOccurs="1" maxOccurs="1"/>
+ <xs:element ref="addition" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="removal" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="addition">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="case" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removal">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="case" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="case">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="remove_item" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="add_item" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="alter_item" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="shortcut_substitution" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="message" minOccurs="0" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="condition" type="xs:string" use="required"/>
+ <xs:attribute name="handled" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="remove_item">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="add_item">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="alter_item">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="shortcut_substitution">
+ <xs:complexType>
+ <xs:attribute name="find" type="xs:string" use="required"/>
+ <xs:attribute name="replace" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="item">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="section" type="xs:string"/>
+ <xs:element ref="shortcut" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="description" type="xs:string"/>
+ <xs:element ref="fee" maxOccurs="unbounded"/>
+ <xs:element ref="feescale_forbid" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="obscurity" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="shortcut">
+ <xs:complexType mixed="true">
+ <xs:attribute name="att" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="fee">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="brief_description" type="xs:string" minOccurs="1" maxOccurs="1" />
+ <xs:element name="gross" type="xs:integer" minOccurs="1" maxOccurs="1" />
+ <xs:element name="charge" type="xs:integer" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="condition" type="xs:string" use="optional"/>
+ <xs:attribute name="shortcut_match" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="feescale_forbid">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="reason" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="user_display">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="crown_chart_button" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="implant_chart_button" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="fs_chart_button" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="endo_chart_button" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="surgical_chart_button" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="crown_chart_button">
+ <xs:complexType>
+ <xs:attribute name="shortcut" type="xs:string" use="required"/>
+ <xs:attribute name="description" type="xs:string" use="required"/>
+ <xs:attribute name="tooltip" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="implant_chart_button">
+ <xs:complexType>
+ <xs:attribute name="shortcut" type="xs:string" use="required"/>
+ <xs:attribute name="description" type="xs:string" use="required"/>
+ <xs:attribute name="tooltip" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="fs_chart_button">
+ <xs:complexType>
+ <xs:attribute name="shortcut" type="xs:string" use="required"/>
+ <xs:attribute name="description" type="xs:string" use="required"/>
+ <xs:attribute name="tooltip" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="endo_chart_button">
+ <xs:complexType>
+ <xs:attribute name="shortcut" type="xs:string" use="required"/>
+ <xs:attribute name="description" type="xs:string" use="required"/>
+ <xs:attribute name="tooltip" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="surgical_chart_button">
+ <xs:complexType>
+ <xs:attribute name="shortcut" type="xs:string" use="required"/>
+ <xs:attribute name="description" type="xs:string" use="required"/>
+ <xs:attribute name="tooltip" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+
+
+
+ <xs:element name="modifier">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="condition" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
+ <xs:element ref="item_id_match" minOccurs="1" maxOccurs="unbounded"/>
+ <xs:element name="gross" type="xs:integer" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="charge" type="xs:integer" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="item_id_match">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" type="xs:string" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+
+
+
+</xs:schema>
diff --git a/src/openmolar/resources/gp17-1/back.png b/src/openmolar/resources/gp17-1/back.png
new file mode 100644
index 0000000..d54dbdb
Binary files /dev/null and b/src/openmolar/resources/gp17-1/back.png differ
diff --git a/src/openmolar/resources/gp17-1/front.png b/src/openmolar/resources/gp17-1/front.png
new file mode 100644
index 0000000..ef5db51
Binary files /dev/null and b/src/openmolar/resources/gp17-1/front.png differ
diff --git a/src/openmolar/resources/gp17/back.jpg b/src/openmolar/resources/gp17/back.jpg
new file mode 100644
index 0000000..d7ebcfc
Binary files /dev/null and b/src/openmolar/resources/gp17/back.jpg differ
diff --git a/src/openmolar/resources/gp17/front.jpg b/src/openmolar/resources/gp17/front.jpg
new file mode 100644
index 0000000..00b63a6
Binary files /dev/null and b/src/openmolar/resources/gp17/front.jpg differ
diff --git a/src/openmolar/resources/guidance-issue-2-v17.pdf b/src/openmolar/resources/guidance-issue-2-v17.pdf
new file mode 100644
index 0000000..5671939
Binary files /dev/null and b/src/openmolar/resources/guidance-issue-2-v17.pdf differ
diff --git a/src/openmolar/resources/hdp.png b/src/openmolar/resources/hdp.png
new file mode 100644
index 0000000..a04239d
Binary files /dev/null and b/src/openmolar/resources/hdp.png differ
diff --git a/src/openmolar/resources/hdp_small.png b/src/openmolar/resources/hdp_small.png
new file mode 100644
index 0000000..ce48493
Binary files /dev/null and b/src/openmolar/resources/hdp_small.png differ
diff --git a/src/openmolar/resources/icons/Speaker_Icon.svg b/src/openmolar/resources/icons/Speaker_Icon.svg
new file mode 100644
index 0000000..2613b89
--- /dev/null
+++ b/src/openmolar/resources/icons/Speaker_Icon.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:svg="http://www.w3.org/2000/svg"
+xmlns="http://www.w3.org/2000/svg"
+xml:space="preserve"
+version="1.0"
+id="layer1"
+width="400pt" height="400pt"
+viewBox="0 0 75 75"><metadata
+id="metadata1"><rdf:RDF><cc:Work
+rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><g
+id="g1"><polygon
+id="polygon1"
+points="39.389,13.769 22.235,28.606 6,28.606 6,47.699 21.989,47.699 39.389,62.75 39.389,13.769"
+style="stroke:#111111;stroke-width:5;stroke-linejoin:round;fill:#111111;"
+/><path id="path1"
+d="M 48.128,49.03 C 50.057,45.934 51.19,42.291 51.19,38.377 C 51.19,34.399 50.026,30.703 48.043,27.577"
+style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round"/>
+<path id="path2"
+d="M 55.082,20.537 C 58.777,25.523 60.966,31.694 60.966,38.377 C 60.966,44.998 58.815,51.115 55.178,56.076"
+style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round"/>
+<path id="path1"
+d="M 61.71,62.611 C 66.977,55.945 70.128,47.531 70.128,38.378 C 70.128,29.161 66.936,20.696 61.609,14.01"
+style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round"/>
+</g>
+</svg>
\ No newline at end of file
diff --git a/src/openmolar/resources/icons/action.png b/src/openmolar/resources/icons/action.png
new file mode 100644
index 0000000..97fa67e
Binary files /dev/null and b/src/openmolar/resources/icons/action.png differ
diff --git a/src/openmolar/resources/icons/add_user.png b/src/openmolar/resources/icons/add_user.png
new file mode 100755
index 0000000..14b111b
Binary files /dev/null and b/src/openmolar/resources/icons/add_user.png differ
diff --git a/src/openmolar/resources/icons/agt_back.png b/src/openmolar/resources/icons/agt_back.png
new file mode 100755
index 0000000..8cae1b3
Binary files /dev/null and b/src/openmolar/resources/icons/agt_back.png differ
diff --git a/src/openmolar/resources/icons/agt_family.png b/src/openmolar/resources/icons/agt_family.png
new file mode 100755
index 0000000..fc5a0b6
Binary files /dev/null and b/src/openmolar/resources/icons/agt_family.png differ
diff --git a/src/openmolar/resources/icons/agt_forward.png b/src/openmolar/resources/icons/agt_forward.png
new file mode 100755
index 0000000..e260865
Binary files /dev/null and b/src/openmolar/resources/icons/agt_forward.png differ
diff --git a/src/openmolar/resources/icons/agt_home.png b/src/openmolar/resources/icons/agt_home.png
new file mode 100755
index 0000000..30756e7
Binary files /dev/null and b/src/openmolar/resources/icons/agt_home.png differ
diff --git a/src/openmolar/resources/icons/agt_reload.png b/src/openmolar/resources/icons/agt_reload.png
new file mode 100755
index 0000000..0b7754c
Binary files /dev/null and b/src/openmolar/resources/icons/agt_reload.png differ
diff --git a/src/openmolar/resources/icons/alert.png b/src/openmolar/resources/icons/alert.png
new file mode 100755
index 0000000..d64c533
Binary files /dev/null and b/src/openmolar/resources/icons/alert.png differ
diff --git a/src/openmolar/resources/icons/back.png b/src/openmolar/resources/icons/back.png
new file mode 100755
index 0000000..8cae1b3
Binary files /dev/null and b/src/openmolar/resources/icons/back.png differ
diff --git a/src/openmolar/resources/icons/button_ok.png b/src/openmolar/resources/icons/button_ok.png
new file mode 100644
index 0000000..230de53
Binary files /dev/null and b/src/openmolar/resources/icons/button_ok.png differ
diff --git a/src/openmolar/resources/icons/chain-broken.png b/src/openmolar/resources/icons/chain-broken.png
new file mode 100644
index 0000000..2e961a3
Binary files /dev/null and b/src/openmolar/resources/icons/chain-broken.png differ
diff --git a/src/openmolar/resources/icons/chain.png b/src/openmolar/resources/icons/chain.png
new file mode 100644
index 0000000..5bc2eed
Binary files /dev/null and b/src/openmolar/resources/icons/chain.png differ
diff --git a/src/openmolar/resources/icons/contract.svg b/src/openmolar/resources/icons/contract.svg
new file mode 100644
index 0000000..a568aae
--- /dev/null
+++ b/src/openmolar/resources/icons/contract.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg3137"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="contract.svg">
+ <defs
+ id="defs3139" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="375"
+ inkscape:cy="634.28571"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="721"
+ inkscape:window-x="0"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3142">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="m 370.42859,538.9336 358.57141,0 0,18.57144 0,18.57142 -358.57141,0 -358.571449,0 0,-18.57142 0,-18.57144 358.571409,0 z"
+ id="path3197"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#2b1100;fill-opacity:1"
+ id="rect3167"
+ width="45.714287"
+ height="708.23425"
+ x="696.64789"
+ y="-726.10474"
+ transform="matrix(0,1,-1,0,0,0)" />
+ <rect
+ style="fill:#2b1100;fill-opacity:1"
+ id="rect3167-5"
+ width="45.714287"
+ height="708.23425"
+ x="383.79071"
+ y="-726.1048"
+ transform="matrix(0,1,-1,0,0,0)" />
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="m 48.389337,1042.2369 c 24.1978,-20.0464 298.657333,-233.44605 301.881743,-234.72118 2.30989,-0.91347 60.0007,37.61038 128.20179,85.60856 68.20109,47.99816 145.3697,102.14021 171.48583,120.31552 l 47.48384,33.0463 -17.51676,-1.0299 c -15.64727,-0.92 -26.51495,-7.3513 -101.8294,-60.26008 C 450.20767,895.35355 359.43083,834.36002 355.14363,835.39278 353.0259,835.90295 291.09155,883.14418 217.51175,940.37331 85.307401,1043.1996 83.492026,1044.4383 63.516566,1045.4385 c -16.098929, [...]
+ id="path3195"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2b1100;fill-opacity:1"
+ d="M 75.194779,1044.9787 C 97.144896,1026.2858 363.17672,814.49031 366.28969,813.22981 c 2.22939,-0.90271 57.90945,37.16767 123.73349,84.60085 65.82402,47.43317 140.1588,100.83587 165.18841,118.67254 l 45.50834,32.4304 -315.0846,0 c -251.32506,0 -314.144858,-0.8003 -310.440551,-3.9549 z"
+ id="path3189"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="M 206.41527,141.56815 C 114.45082,80.940913 37.379639,29.510372 35.145992,27.278062 c -3.100646,-3.098774 0.55871,-4.058736 15.471978,-4.058736 18.64375,0 22.412929,1.907497 82.77735,41.891873 116.49372,77.163431 244.59502,159.258671 248.507,159.258671 3.31995,0 48.69243,-32.4986 247.85703,-177.530591 24.90188,-18.133599 35.4271,-23.619953 45.31335,-23.619953 11.77233,0 12.27947,0.512169 5.90986,5.96858 -14.92895,12.788595 -301.68717,222.340164 -304.43879,222.471834 -1.60624,0. [...]
+ id="path3193"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2b1100;fill-opacity:1"
+ d="M 215.43944,128.21932 45.189443,21.790754 209.8968,21.037164 c 90.58905,-0.41448 237.15528,-0.41448 325.70274,0 l 160.9954,0.75359 -152.56196,106.290786 c -83.90908,58.45993 -153.86281,106.35279 -155.45274,106.42857 -1.58994,0.0758 -79.50329,-47.75507 -173.1408,-106.29079 z"
+ id="path3191"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/openmolar/resources/icons/database.png b/src/openmolar/resources/icons/database.png
new file mode 100755
index 0000000..82061f0
Binary files /dev/null and b/src/openmolar/resources/icons/database.png differ
diff --git a/src/openmolar/resources/icons/down.jpg b/src/openmolar/resources/icons/down.jpg
new file mode 100644
index 0000000..1be26bb
Binary files /dev/null and b/src/openmolar/resources/icons/down.jpg differ
diff --git a/src/openmolar/resources/icons/down.png b/src/openmolar/resources/icons/down.png
new file mode 100755
index 0000000..631b7ef
Binary files /dev/null and b/src/openmolar/resources/icons/down.png differ
diff --git a/src/openmolar/resources/icons/eraser.png b/src/openmolar/resources/icons/eraser.png
new file mode 100644
index 0000000..92efe97
Binary files /dev/null and b/src/openmolar/resources/icons/eraser.png differ
diff --git a/src/openmolar/resources/icons/exit.png b/src/openmolar/resources/icons/exit.png
new file mode 100644
index 0000000..7445887
Binary files /dev/null and b/src/openmolar/resources/icons/exit.png differ
diff --git a/src/openmolar/resources/icons/expand.png b/src/openmolar/resources/icons/expand.png
new file mode 100644
index 0000000..d44179e
Binary files /dev/null and b/src/openmolar/resources/icons/expand.png differ
diff --git a/src/openmolar/resources/icons/expand.svg b/src/openmolar/resources/icons/expand.svg
new file mode 100644
index 0000000..c81accf
--- /dev/null
+++ b/src/openmolar/resources/icons/expand.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg3137"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="expand.svg">
+ <defs
+ id="defs3139" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="375"
+ inkscape:cy="748.57143"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="721"
+ inkscape:window-x="0"
+ inkscape:window-y="20"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3142">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="m 316.97975,504.52706 0,-253.64285 59.46623,0 59.46625,0 0,253.64285 0,253.64285 -59.46625,0 -59.46623,0 0,-253.64285 z"
+ id="path3197"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#2b1100;fill-opacity:1"
+ id="rect3167"
+ width="86.496338"
+ height="530.64752"
+ x="237.78156"
+ y="224.85245" />
+ <rect
+ style="fill:#2b1100;fill-opacity:1"
+ id="rect3167-5"
+ width="97.308403"
+ height="523.97272"
+ x="399.96219"
+ y="226.52113" />
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="M 50.256743,273.45449 C 76.400748,251.71814 372.93479,20.328257 376.41854,18.945633 c 2.49569,-0.990472 64.8265,40.781063 138.51294,92.825607 73.68642,52.04457 157.06164,110.75092 185.27826,130.45855 l 51.30292,35.83209 -18.92562,-1.11672 C 715.68127,275.94764 703.93952,268.97422 622.5676,211.60503 484.39294,114.18845 386.315,48.052993 381.68299,49.17282 379.39492,49.725993 312.47926,100.9498 232.98152,163.00351 90.14409,274.49841 88.182693,275.84139 66.600634,276.92604 c -17.3 [...]
+ id="path3195"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#2b1100;fill-opacity:1"
+ d="M 34.33551,276.74911 C 58.907476,257.03134 356.71567,33.624206 360.20045,32.294601 c 2.4957,-0.952205 178.35295,119.303129 252.03939,169.336839 73.68641,50.03369 43.37372,26.26641 71.39301,45.08103 l 50.94413,34.20841 -352.72012,0 c -281.34476,0 -351.668111,-0.84418 -347.52135,-4.17177 z"
+ id="path3189"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssscss" />
+ <path
+ style="fill:#008080;fill-opacity:1"
+ d="M 221.96859,877.75492 C 124.07249,811.36541 42.030257,755.04667 39.652541,752.60219 c -3.30065,-3.39329 0.594746,-4.44449 16.469904,-4.44449 19.846259,0 23.858549,2.0888 88.116475,45.87346 124.00748,84.49739 260.37124,174.39533 264.53555,174.39533 3.53407,0 19.39693,-52.27444 231.40753,-211.09091 26.50806,-19.8571 70.14828,-9.17788 80.67217,-9.17788 12.53165,0 13.0715,0.56084 6.29106,6.53586 -15.89187,14.00408 -321.14584,256.82204 -324.07494,256.96614 -1.70984,0.084 -83.20561,- [...]
+ id="path3193"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csssssssccc" />
+ <path
+ style="fill:#2b1100;fill-opacity:1"
+ d="M 195.27573,870.80736 12.213141,746.48899 189.31596,745.60872 c 97.40654,-0.48415 255.003,-0.48415 350.21431,0 L 712.6418,746.48899 548.5984,870.64641 C 458.37453,938.933 383.15626,994.87627 381.44667,994.96478 c -1.70961,0.0885 -85.48651,-55.78231 -186.17094,-124.15742 z"
+ id="path3191"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/openmolar/resources/icons/gohome.png b/src/openmolar/resources/icons/gohome.png
new file mode 100755
index 0000000..d09ca26
Binary files /dev/null and b/src/openmolar/resources/icons/gohome.png differ
diff --git a/src/openmolar/resources/icons/home.png b/src/openmolar/resources/icons/home.png
new file mode 100755
index 0000000..b328103
Binary files /dev/null and b/src/openmolar/resources/icons/home.png differ
diff --git a/src/openmolar/resources/icons/kaddressbook.png b/src/openmolar/resources/icons/kaddressbook.png
new file mode 100755
index 0000000..69bb68f
Binary files /dev/null and b/src/openmolar/resources/icons/kaddressbook.png differ
diff --git a/src/openmolar/resources/icons/karm.png b/src/openmolar/resources/icons/karm.png
new file mode 100755
index 0000000..9e52060
Binary files /dev/null and b/src/openmolar/resources/icons/karm.png differ
diff --git a/src/openmolar/resources/icons/kdmconfig.png b/src/openmolar/resources/icons/kdmconfig.png
new file mode 100755
index 0000000..ff21d32
Binary files /dev/null and b/src/openmolar/resources/icons/kdmconfig.png differ
diff --git a/src/openmolar/resources/icons/kfm.png b/src/openmolar/resources/icons/kfm.png
new file mode 100755
index 0000000..15cf92d
Binary files /dev/null and b/src/openmolar/resources/icons/kfm.png differ
diff --git a/src/openmolar/resources/icons/kfm_home.png b/src/openmolar/resources/icons/kfm_home.png
new file mode 100755
index 0000000..5bca037
Binary files /dev/null and b/src/openmolar/resources/icons/kfm_home.png differ
diff --git a/src/openmolar/resources/icons/logo.png b/src/openmolar/resources/icons/logo.png
new file mode 100644
index 0000000..f5b1237
Binary files /dev/null and b/src/openmolar/resources/icons/logo.png differ
diff --git a/src/openmolar/resources/icons/lower_implant.svg b/src/openmolar/resources/icons/lower_implant.svg
new file mode 100644
index 0000000..eac517a
--- /dev/null
+++ b/src/openmolar/resources/icons/lower_implant.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ width="250"
+ height="250"
+ sodipodi:docname="upper_implant.svg">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1366"
+ inkscape:window-height="722"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2"
+ inkscape:cx="125"
+ inkscape:cy="126.76424"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg2" />
+ <g
+ id="g2818"
+ transform="matrix(1.593167,0,0,1,-72.968191,33.000002)">
+ <path
+ style="fill:#cdcbcc"
+ d="m 122.26375,214.28242 c 1.52006,-0.22986 3.77006,-0.22371 5,0.0136 1.22994,0.23736 -0.0138,0.42542 -2.76375,0.41792 -2.75,-0.008 -3.75631,-0.20172 -2.23625,-0.43157 z m 14.81958,-2.57287 C 137.3125,211.5498 139.3,210.16733 141.5,208.6374 l 4,-2.78171 -3.46223,3.07216 C 140.13355,210.61753 138.14605,212 137.62111,212 c -0.52494,0 -0.76694,-0.1307 -0.53778,-0.29045 z M 102.87244,206.25 c -1.24387,-1.58606 -1.2085,-1.62143 0.37756,-0.37756 0.9625,0.75485 1.75,1.54235 1.75,1.75 0,0 [...]
+ id="path2832" />
+ <path
+ style="fill:#c0bdbe"
+ d="m 117.8125,213.31689 c 0.72187,-0.28887 1.58437,-0.25335 1.91667,0.0789 0.33229,0.33229 -0.25834,0.56864 -1.3125,0.52522 -1.16495,-0.048 -1.4019,-0.28494 -0.60417,-0.60416 z m 19.7713,-3.1813 c -0.99931,-1.61692 -0.21341,-10.02096 0.88049,-9.41546 0.56964,0.3153 0.47321,-0.0327 -0.21429,-0.77343 -1.48612,-1.60108 -1.68428,-4.33313 -0.25,-3.4467 0.55,0.33992 1,-0.30852 1,-1.44098 0,-1.13246 -0.5625,-2.06591 -1.25,-2.07433 -0.80447,-0.01 -0.88165,-0.27718 -0.21654,-0.75 0.5684,-0 [...]
+ id="path2830" />
+ <path
+ style="fill:#b2aeaf"
+ d="m 117.25616,213.0252 c -1.78411,-0.42354 -3.92161,-1.33258 -4.75,-2.02008 C 111.67777,210.31761 111,210.08862 111,210.49624 c 0,0.89707 -7.00708,-4.29145 -8.7182,-6.45555 -0.67,-0.84738 -1.2325,-2.59796 -1.25,-3.89017 -0.0298,-2.20298 0.2617,-2.32019 4.67494,-1.87977 2.58871,0.25834 4.87501,0.97451 5.08067,1.59149 0.26552,0.79656 0.93636,0.82078 2.31393,0.0835 1.06699,-0.57104 2.3496,-0.78511 2.85023,-0.4757 0.50063,0.3094 1.21185,0.0745 1.58048,-0.52193 0.36864,-0.59647 1.2997 [...]
+ id="path2828" />
+ <path
+ style="fill:#a29c9c"
+ d="m 133.05493,210.81424 c -0.51049,-1.27283 -0.95668,-1.72518 -0.99154,-1.00522 -0.0349,0.71996 -0.4823,1.05012 -0.99429,0.73369 -0.512,-0.31644 -1.21356,-0.11799 -1.55902,0.44098 -1.17948,1.90843 -4.35627,1.09268 -4.80435,-1.23369 -0.41012,-2.12929 -0.44067,-2.13676 -0.56955,-0.13928 -0.11415,1.76923 -0.6912,2.06668 -3.56681,1.83851 -3.26529,-0.25909 -8.36796,-2.35496 -5.88892,-2.41882 0.64925,-0.0167 1.37546,-1.04291 1.61382,-2.28041 l 0.43337,-2.25 0.13618,2.25 c 0.13275,2.193 [...]
+ id="path2826" />
+ <path
+ style="fill:#968e8f"
+ d="m 134.1415,192.75 c -0.12507,-5.96632 -0.36685,-6.75 -2.08248,-6.75 -1.06754,0 -2.22364,-0.45734 -2.5691,-1.01631 -0.34546,-0.55897 -0.95193,-0.81619 -1.3477,-0.57158 -0.39578,0.2446 -3.43664,0.6834 -6.75748,0.97512 -3.32084,0.29172 -7.24093,0.98779 -8.71131,1.54683 -1.99459,0.75835 -2.68115,0.70532 -2.70384,-0.20881 -0.0167,-0.67389 -0.48908,-0.43775 -1.04969,0.52475 -0.5606,0.9625 -1.69848,1.75 -2.52861,1.75 -0.91406,0 -1.2333,0.49299 -0.80944,1.25 0.38494,0.6875 -0.13172,0.4 [...]
+ id="path2824" />
+ <path
+ style="fill:#847b7b"
+ d="m 101.72383,186.7227 c -0.36245,-0.94454 0.54283,-1.35879 3.13322,-1.43372 2.00362,-0.058 2.74295,0.12674 1.64295,0.41043 -1.1,0.28369 -2.50995,0.92887 -3.13322,1.43372 -0.72477,0.58708 -1.31693,0.43915 -1.64295,-0.41043 z M 102.2,173.8 c -1.70036,-1.70036 -1.49608,-2.48931 0.8,-3.08975 1.1,-0.28766 2,-0.11514 2,0.38337 0,0.49851 -0.7301,0.90638 -1.62244,0.90638 -1.3288,0 -1.39713,0.27149 -0.37756,1.5 1.48458,1.78881 0.90584,2.00584 -0.8,0.3 z m 41.22903,-14.89439 C 144.84307,1 [...]
+ id="path2822" />
+ <path
+ style="fill:#7b7474"
+ d="m 145.37003,138.29664 c 0.78678,-0.78678 5.59605,-1.05077 5.12035,-0.28107 -0.24965,0.40394 -1.60586,0.73443 -3.01381,0.73443 -1.40795,0 -2.35589,-0.20401 -2.10654,-0.45336 z m 0.17529,-14.22331 c -0.22382,-0.36215 0.91192,-0.75895 2.52387,-0.88178 1.61194,-0.12282 2.93081,-0.0436 2.93081,0.17599 0,0.72573 -5.03937,1.37778 -5.45468,0.70579 z M 150,108.60699 c 0,-0.21616 0.69837,-0.661 1.55194,-0.98855 0.88992,-0.34149 1.29132,-0.17385 0.94098,0.39301 C 151.90566,108.96166 150,1 [...]
+ id="path2820" />
+ </g>
+</svg>
diff --git a/src/openmolar/resources/icons/mail_new.png b/src/openmolar/resources/icons/mail_new.png
new file mode 100755
index 0000000..de0609b
Binary files /dev/null and b/src/openmolar/resources/icons/mail_new.png differ
diff --git a/src/openmolar/resources/icons/memos.png b/src/openmolar/resources/icons/memos.png
new file mode 100644
index 0000000..1f4d30e
Binary files /dev/null and b/src/openmolar/resources/icons/memos.png differ
diff --git a/src/openmolar/resources/icons/month.png b/src/openmolar/resources/icons/month.png
new file mode 100755
index 0000000..a506095
Binary files /dev/null and b/src/openmolar/resources/icons/month.png differ
diff --git a/src/openmolar/resources/icons/number1.png b/src/openmolar/resources/icons/number1.png
new file mode 100644
index 0000000..9ce86b6
Binary files /dev/null and b/src/openmolar/resources/icons/number1.png differ
diff --git a/src/openmolar/resources/icons/pencil.png b/src/openmolar/resources/icons/pencil.png
new file mode 100644
index 0000000..0fe4d1c
Binary files /dev/null and b/src/openmolar/resources/icons/pencil.png differ
diff --git a/src/openmolar/resources/icons/ps.png b/src/openmolar/resources/icons/ps.png
new file mode 100644
index 0000000..d554b55
Binary files /dev/null and b/src/openmolar/resources/icons/ps.png differ
diff --git a/src/openmolar/resources/icons/save_all.png b/src/openmolar/resources/icons/save_all.png
new file mode 100644
index 0000000..e48ceeb
Binary files /dev/null and b/src/openmolar/resources/icons/save_all.png differ
diff --git a/src/openmolar/resources/icons/schedule.png b/src/openmolar/resources/icons/schedule.png
new file mode 100755
index 0000000..0473329
Binary files /dev/null and b/src/openmolar/resources/icons/schedule.png differ
diff --git a/src/openmolar/resources/icons/schedule_active.png b/src/openmolar/resources/icons/schedule_active.png
new file mode 100644
index 0000000..ca40cfb
Binary files /dev/null and b/src/openmolar/resources/icons/schedule_active.png differ
diff --git a/src/openmolar/resources/icons/search.png b/src/openmolar/resources/icons/search.png
new file mode 100755
index 0000000..88c6eb1
Binary files /dev/null and b/src/openmolar/resources/icons/search.png differ
diff --git a/src/openmolar/resources/icons/separate.png b/src/openmolar/resources/icons/separate.png
new file mode 100644
index 0000000..79d2dca
Binary files /dev/null and b/src/openmolar/resources/icons/separate.png differ
diff --git a/src/openmolar/resources/icons/txt.png b/src/openmolar/resources/icons/txt.png
new file mode 100755
index 0000000..03a807f
Binary files /dev/null and b/src/openmolar/resources/icons/txt.png differ
diff --git a/src/openmolar/resources/icons/upper_implant.svg b/src/openmolar/resources/icons/upper_implant.svg
new file mode 100644
index 0000000..383f56c
--- /dev/null
+++ b/src/openmolar/resources/icons/upper_implant.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ width="250"
+ height="250"
+ sodipodi:docname="upper_implant.svg">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1366"
+ inkscape:window-height="722"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2"
+ inkscape:cx="125"
+ inkscape:cy="126.76424"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg2" />
+ <g
+ id="g2818"
+ transform="matrix(1.593167,0,0,-1,-73.468191,219.72632)">
+ <path
+ style="fill:#cdcbcc"
+ d="m 122.26375,214.28242 c 1.52006,-0.22986 3.77006,-0.22371 5,0.0136 1.22994,0.23736 -0.0138,0.42542 -2.76375,0.41792 -2.75,-0.008 -3.75631,-0.20172 -2.23625,-0.43157 z m 14.81958,-2.57287 C 137.3125,211.5498 139.3,210.16733 141.5,208.6374 l 4,-2.78171 -3.46223,3.07216 C 140.13355,210.61753 138.14605,212 137.62111,212 c -0.52494,0 -0.76694,-0.1307 -0.53778,-0.29045 z M 102.87244,206.25 c -1.24387,-1.58606 -1.2085,-1.62143 0.37756,-0.37756 0.9625,0.75485 1.75,1.54235 1.75,1.75 0,0 [...]
+ id="path2832" />
+ <path
+ style="fill:#c0bdbe"
+ d="m 117.8125,213.31689 c 0.72187,-0.28887 1.58437,-0.25335 1.91667,0.0789 0.33229,0.33229 -0.25834,0.56864 -1.3125,0.52522 -1.16495,-0.048 -1.4019,-0.28494 -0.60417,-0.60416 z m 19.7713,-3.1813 c -0.99931,-1.61692 -0.21341,-10.02096 0.88049,-9.41546 0.56964,0.3153 0.47321,-0.0327 -0.21429,-0.77343 -1.48612,-1.60108 -1.68428,-4.33313 -0.25,-3.4467 0.55,0.33992 1,-0.30852 1,-1.44098 0,-1.13246 -0.5625,-2.06591 -1.25,-2.07433 -0.80447,-0.01 -0.88165,-0.27718 -0.21654,-0.75 0.5684,-0 [...]
+ id="path2830" />
+ <path
+ style="fill:#b2aeaf"
+ d="m 117.25616,213.0252 c -1.78411,-0.42354 -3.92161,-1.33258 -4.75,-2.02008 C 111.67777,210.31761 111,210.08862 111,210.49624 c 0,0.89707 -7.00708,-4.29145 -8.7182,-6.45555 -0.67,-0.84738 -1.2325,-2.59796 -1.25,-3.89017 -0.0298,-2.20298 0.2617,-2.32019 4.67494,-1.87977 2.58871,0.25834 4.87501,0.97451 5.08067,1.59149 0.26552,0.79656 0.93636,0.82078 2.31393,0.0835 1.06699,-0.57104 2.3496,-0.78511 2.85023,-0.4757 0.50063,0.3094 1.21185,0.0745 1.58048,-0.52193 0.36864,-0.59647 1.2997 [...]
+ id="path2828" />
+ <path
+ style="fill:#a29c9c"
+ d="m 133.05493,210.81424 c -0.51049,-1.27283 -0.95668,-1.72518 -0.99154,-1.00522 -0.0349,0.71996 -0.4823,1.05012 -0.99429,0.73369 -0.512,-0.31644 -1.21356,-0.11799 -1.55902,0.44098 -1.17948,1.90843 -4.35627,1.09268 -4.80435,-1.23369 -0.41012,-2.12929 -0.44067,-2.13676 -0.56955,-0.13928 -0.11415,1.76923 -0.6912,2.06668 -3.56681,1.83851 -3.26529,-0.25909 -8.36796,-2.35496 -5.88892,-2.41882 0.64925,-0.0167 1.37546,-1.04291 1.61382,-2.28041 l 0.43337,-2.25 0.13618,2.25 c 0.13275,2.193 [...]
+ id="path2826" />
+ <path
+ style="fill:#968e8f"
+ d="m 134.1415,192.75 c -0.12507,-5.96632 -0.36685,-6.75 -2.08248,-6.75 -1.06754,0 -2.22364,-0.45734 -2.5691,-1.01631 -0.34546,-0.55897 -0.95193,-0.81619 -1.3477,-0.57158 -0.39578,0.2446 -3.43664,0.6834 -6.75748,0.97512 -3.32084,0.29172 -7.24093,0.98779 -8.71131,1.54683 -1.99459,0.75835 -2.68115,0.70532 -2.70384,-0.20881 -0.0167,-0.67389 -0.48908,-0.43775 -1.04969,0.52475 -0.5606,0.9625 -1.69848,1.75 -2.52861,1.75 -0.91406,0 -1.2333,0.49299 -0.80944,1.25 0.38494,0.6875 -0.13172,0.4 [...]
+ id="path2824" />
+ <path
+ style="fill:#847b7b"
+ d="m 101.72383,186.7227 c -0.36245,-0.94454 0.54283,-1.35879 3.13322,-1.43372 2.00362,-0.058 2.74295,0.12674 1.64295,0.41043 -1.1,0.28369 -2.50995,0.92887 -3.13322,1.43372 -0.72477,0.58708 -1.31693,0.43915 -1.64295,-0.41043 z M 102.2,173.8 c -1.70036,-1.70036 -1.49608,-2.48931 0.8,-3.08975 1.1,-0.28766 2,-0.11514 2,0.38337 0,0.49851 -0.7301,0.90638 -1.62244,0.90638 -1.3288,0 -1.39713,0.27149 -0.37756,1.5 1.48458,1.78881 0.90584,2.00584 -0.8,0.3 z m 41.22903,-14.89439 C 144.84307,1 [...]
+ id="path2822" />
+ <path
+ style="fill:#7b7474"
+ d="m 145.37003,138.29664 c 0.78678,-0.78678 5.59605,-1.05077 5.12035,-0.28107 -0.24965,0.40394 -1.60586,0.73443 -3.01381,0.73443 -1.40795,0 -2.35589,-0.20401 -2.10654,-0.45336 z m 0.17529,-14.22331 c -0.22382,-0.36215 0.91192,-0.75895 2.52387,-0.88178 1.61194,-0.12282 2.93081,-0.0436 2.93081,0.17599 0,0.72573 -5.03937,1.37778 -5.45468,0.70579 z M 150,108.60699 c 0,-0.21616 0.69837,-0.661 1.55194,-0.98855 0.88992,-0.34149 1.29132,-0.17385 0.94098,0.39301 C 151.90566,108.96166 150,1 [...]
+ id="path2820" />
+ </g>
+</svg>
diff --git a/src/openmolar/resources/icons/vcalendar.png b/src/openmolar/resources/icons/vcalendar.png
new file mode 100755
index 0000000..fa92cbf
Binary files /dev/null and b/src/openmolar/resources/icons/vcalendar.png differ
diff --git a/src/openmolar/resources/icons/vcard.png b/src/openmolar/resources/icons/vcard.png
new file mode 100755
index 0000000..5fe3e1e
Binary files /dev/null and b/src/openmolar/resources/icons/vcard.png differ
diff --git a/src/openmolar/resources/icons/warning.png b/src/openmolar/resources/icons/warning.png
new file mode 100755
index 0000000..704cf4b
Binary files /dev/null and b/src/openmolar/resources/icons/warning.png differ
diff --git a/src/openmolar/resources/icons/widelogo.png b/src/openmolar/resources/icons/widelogo.png
new file mode 100644
index 0000000..73e0491
Binary files /dev/null and b/src/openmolar/resources/icons/widelogo.png differ
diff --git a/src/openmolar/resources/icons/wikipedia.png b/src/openmolar/resources/icons/wikipedia.png
new file mode 100644
index 0000000..51a6a4b
Binary files /dev/null and b/src/openmolar/resources/icons/wikipedia.png differ
diff --git a/src/openmolar/resources/information-guide-2012-final.pdf b/src/openmolar/resources/information-guide-2012-final.pdf
new file mode 100644
index 0000000..5ae8189
Binary files /dev/null and b/src/openmolar/resources/information-guide-2012-final.pdf differ
diff --git a/src/openmolar/resources/information_guide_2010_v2.pdf b/src/openmolar/resources/information_guide_2010_v2.pdf
new file mode 100644
index 0000000..cce9890
Binary files /dev/null and b/src/openmolar/resources/information_guide_2010_v2.pdf differ
diff --git a/src/openmolar/resources/logo.png b/src/openmolar/resources/logo.png
new file mode 100644
index 0000000..1995916
Binary files /dev/null and b/src/openmolar/resources/logo.png differ
diff --git a/src/openmolar/resources/logo1.png b/src/openmolar/resources/logo1.png
new file mode 100644
index 0000000..73e0491
Binary files /dev/null and b/src/openmolar/resources/logo1.png differ
diff --git a/src/openmolar/resources/newlogo.png b/src/openmolar/resources/newlogo.png
new file mode 100644
index 0000000..b1536a6
Binary files /dev/null and b/src/openmolar/resources/newlogo.png differ
diff --git a/src/openmolar/resources/newlogo_launchpadSize.png b/src/openmolar/resources/newlogo_launchpadSize.png
new file mode 100644
index 0000000..a08947f
Binary files /dev/null and b/src/openmolar/resources/newlogo_launchpadSize.png differ
diff --git a/src/openmolar/resources/nhs_scot.png b/src/openmolar/resources/nhs_scot.png
new file mode 100644
index 0000000..af7cb8a
Binary files /dev/null and b/src/openmolar/resources/nhs_scot.png differ
diff --git a/src/openmolar/resources/openmolar.svg b/src/openmolar/resources/openmolar.svg
new file mode 100644
index 0000000..774229d
--- /dev/null
+++ b/src/openmolar/resources/openmolar.svg
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg3126"
+ version="1.1"
+ inkscape:version="0.47pre1 r21720"
+ sodipodi:docname="New document 6"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3128">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3134" />
+ <inkscape:perspective
+ id="perspective3070"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <pattern
+ inkscape:stockid="Stripes 1:1"
+ id="Strips1_1"
+ patternTransform="matrix(20.470626,35.456163,-35.456163,20.470626,0,0)"
+ height="1"
+ width="2"
+ patternUnits="userSpaceOnUse"
+ inkscape:collect="always">
+ <rect
+ id="rect5098"
+ height="2"
+ width="1"
+ y="-0.5"
+ x="0"
+ style="fill:black;stroke:none" />
+ </pattern>
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter5854">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="1.7600865"
+ id="feGaussianBlur5856" />
+ </filter>
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter4374">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="4.1901708"
+ id="feGaussianBlur4376" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="375"
+ inkscape:cy="987.57463"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="919"
+ inkscape:window-height="593"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata3131">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g6035"
+ transform="matrix(1.7250419,0,0,2.3129065,-4157.5301,-6157.9579)">
+ <g
+ id="g5898">
+ <path
+ sodipodi:type="arc"
+ style="fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3639"
+ sodipodi:cx="-2672"
+ sodipodi:cy="-659.63782"
+ sodipodi:rx="880"
+ sodipodi:ry="880"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ transform="matrix(0.1688925,0.108001,-0.108001,0.1688925,2976.8052,3315.8586)" />
+ <path
+ transform="matrix(0.145597,0.09310429,-0.09310429,0.145597,2924.3862,3260.6879)"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ sodipodi:ry="880"
+ sodipodi:rx="880"
+ sodipodi:cy="-659.63782"
+ sodipodi:cx="-2672"
+ id="path3641"
+ style="fill:#818181;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.18399999;fill:url(#Strips1_1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:31.20000076;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter5854);enable-background:accumulate"
+ id="path5814"
+ sodipodi:cx="-2672"
+ sodipodi:cy="-659.63782"
+ sodipodi:rx="880"
+ sodipodi:ry="880"
+ d="m -1792,-659.63782 c 0,486.01058 -393.9894,880 -880,880 -486.0106,0 -880,-393.98942 -880,-880 0,-486.01058 393.9894,-879.99998 880,-879.99998 486.0106,0 880,393.9894 880,879.99998 z"
+ transform="matrix(0.1496098,0.08650895,-0.08650895,0.1496098,2939.459,3245.7122)" />
+ </g>
+ <g
+ transform="matrix(1.1144857,0,0,1.1144857,-317.93496,-875.71638)"
+ id="g5858">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4374)"
+ d="m 2641.8438,3199.1562 c -20.0837,-0.074 -23.4607,12.7865 -35.9688,12.9688 -13.802,0.201 -17.3376,-14.8211 -42.5,-10.75 -18.1792,5.8889 -23.5853,18.3708 -24.625,33.125 -0.1686,0.032 -0.3297,0.059 -0.5,0.094 l -1.125,11.6562 c 0.4981,-0.1973 1.0399,-0.3741 1.5625,-0.5312 0.4984,13.1107 2.5791,27.0521 1.3125,39.25 -0.1338,0.038 -0.273,0.054 -0.4062,0.094 -9.682,2.8471 -15.037,13.3967 -19.1876,22.75 -0.7433,0.9281 -1.4717,1.9112 -2.1562,2.9687 -1.0331,0.2307 -2.0529,0.4559 -3.4 [...]
+ id="path4234" />
+ <g
+ id="g4156"
+ transform="translate(0,1094)">
+ <g
+ id="g4158">
+ <path
+ style="fill:#ececec;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2539.8787,2178.1122 c 3.7274,-30.3738 -14.9007,-72.3107 23.5,-84.75 25.1624,-4.071 28.698,10.951 42.5,10.75 13.802,-0.201 16.4651,-15.8373 42.75,-12.5 33.4961,5.989 26.5162,59.4556 8.5,81.5 l -44.25,18.5 -17.25,25.25 -17.75,-4 -25.75,-30.25 -12.25,-4.5 z"
+ id="path4160"
+ sodipodi:nodetypes="cczccccccc" />
+ <path
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2523.8787,2229.3622 c -1.3223,29.2179 -13.0758,49.3087 5,95.5 l 17.5,46 c 15.4773,15.2139 7.8286,31.4171 19,48.5 l 16,24 c 3.7476,-25.5453 23.0907,-27.6973 41,-32 l 24.5,-8.5 c 16.0422,-15.0949 36.6382,-10.4565 56.5,-9 15.5197,1.9583 30.8793,4.1432 62,-16 6.978,-6.6667 12.1065,-13.3333 34.5,-20 9.8528,-2.412 13.1945,-15.6759 19.5,-24 -23.0979,-22.1104 -48.0898,-26.4754 -74.567,-24.2054 -32.0864,2.7509 -55.2646,-21.3658 -74.933,-59.2946 l -15,-40.5 -36.5,14.5 c 0,0 -19 [...]
+ id="path4162"
+ sodipodi:nodetypes="cccccccccccscccscccc" />
+ <path
+ style="fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2541.9184,2306.1881 c 7.4823,1.9127 17.7228,-12.1935 18.3536,-25.8058 16.1926,-1.1087 32.3853,-0.8766 48.5779,1.3119 -8.1647,6.7221 -15.4992,13.6435 8.95,28.193 0.408,1.6502 5.4085,-5.2596 5.7737,-2.2825 2.1327,17.3854 5.8755,61.7096 19.4708,81.8037 -7.2833,9.0408 -14.8564,17.6469 -32.5783,11.0297 -18.3785,-33.8823 -22.967,-57.1187 -30.3194,-59.953 -12.1989,-4.7026 -30.7319,18.401 -41.4306,57.8548 -11.8304,7.9247 -21.0224,5.2958 -29.5477,0 0.3877,-24.5968 14.7966,-77. [...]
+ id="path4164"
+ sodipodi:nodetypes="ccccsccsccc" />
+ <path
+ style="fill:#494949;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2509.2537,2397.4873 c 6.5523,4.488 15.256,8.5382 29.125,0.75 l -4.75,44.125 c -4.6752,11.4731 -16.5976,25.3715 -23.5,1.75 l -0.875,-46.625 z"
+ id="path4166"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4168"
+ d="m 2610.355,2400.0788 c 6.1912,3.4797 24.6691,3.943 32.5351,-10.8602 7.354,13.3653 14.1744,27.2288 16.6018,45.1923 2.4377,11.7257 0.1458,28.6081 -19.5333,15.4109 -14.2129,-10.8506 -20.7103,-32.0083 -29.6036,-49.743 z"
+ style="fill:#494949;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#2d5886;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2506.3399,2212.0173 c 3.277,-3.0171 7.2664,-5.3244 10.5789,-7.0083 9.3676,-16.8578 26.3457,-18.7022 34.8286,-19.2734 20.3286,2.1182 21.4593,13.8354 28.8236,22.4357 l 18.7535,0.664 c 9.6808,-12.5204 23.9905,-19.4862 40.7263,-23.5407 -1.1932,0.3703 20.9865,-4.6575 31.6469,2.8101 5.855,6.1153 16.1022,9.9271 9.3764,25.9192 4.6407,6.3564 7.0637,16.5789 8.9342,25.7128 -0.1461,13.9437 -18.0437,25.9908 -21.7174,30.5647 -1.8783,2.3385 -16.9116,-8.318 -20.1931,-25.374 l 1.4802, [...]
+ id="path4170"
+ sodipodi:nodetypes="cccccccccscccccccccccc" />
+ <path
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2593.5124,2209.2192 7.6014,0.1768 c 9.4666,-8.6891 16.2505,-26.1653 65.3859,-23.1881 5.802,1.9762 6.4296,1.1267 9.5637,5.7708 -4.5279,-10.205 -4.1722,-15.3107 -21.7058,-19.1629 -17.5336,-3.8523 -38.1209,1.006 -60.8452,36.4034 z"
+ id="path4172"
+ sodipodi:nodetypes="cccczc" />
+ <path
+ sodipodi:nodetypes="cccczc"
+ id="path4174"
+ d="m 2587.5634,2208.9692 -6.3514,-0.3232 c -9.4666,-8.6891 -22.0715,-27.597 -50.5109,-16.1881 -5.802,1.9762 -9.4296,7.8767 -12.5637,12.5208 4.5279,-10.205 9.9279,-24.523 21.4558,-27.9129 11.5978,-3.4105 25.2459,-3.494 47.9702,31.9034 z"
+ style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:4.45499992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2556.1911,2270.7071 c 16.7371,-1.6921 30.4354,-6.0974 59.6926,3.3891 l -7.3667,8.4549 c -20.1874,-2.7115 -36.4488,-2.3857 -53.033,-1.9445 l 0.7071,-9.8995 z"
+ id="path4176"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path4178"
+ d="m 2631.3114,2299.2237 c -0.1953,5.7217 -8.1898,9.1815 -11.9853,11.753 -9.3354,-6.2493 -21.7435,-12.9102 -18.2028,-21.7947 -0.2011,-2.9883 11.1749,-19.6518 20.185,-13.4571 9.2576,-16.0487 18.0256,-25.2437 26.6201,-32.0091 3.1012,12.8645 10.4365,23.9126 19.6651,26.4077 -9.2677,11.671 -21.7094,16.7782 -35.575,24.8575 l -0.7071,4.2427 z"
+ style="fill:#494949;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:#494949;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4.45499992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 2536.392,2297.2237 c 0.1953,5.7217 4.6898,7.6815 8.4853,10.253 9.3354,-6.2493 18.9935,-11.0352 15.4528,-32.9197 -4.4239,-1.9883 -5.9249,-3.7768 -13.685,-2.0821 -5.7063,-8.0946 -15.8179,-29.5333 -26.9585,-29.9636 -3.1012,12.8645 -9.5981,19.8671 -18.8267,22.3622 4.5177,13.421 20.9594,20.0282 34.825,28.1075 l 0.7071,4.2427 z"
+ id="path4180"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+ <path
+ style="opacity:0.06796115;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2795.5,2356.2372 c -18.0615,-11.697 -39.6116,-27.2741 -67,-27.875 -10.0422,-0.2148 -35.0554,-8.0795 -46.5,-21.75 -11.3423,-13.5482 -14.5189,-25.7418 -21.7428,-34.0067 -8.3125,-9.5104 -14.2572,1.2567 -14.2572,1.2567 0,0 12.4184,28.4297 20,37.5 7.5816,9.0703 17.6246,16.8472 28.5,22.5 10.8754,5.6528 29.9486,7.3862 43.75,14.25 14.1019,7.0132 31.625,23.625 31.625,23.625 l 25.625,-15.5 z"
+ id="path4182"
+ sodipodi:nodetypes="cszsczzzcc" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2538.246,2126.5858 c 8.8611,-1.8293 15.4377,0.1127 22.2259,-3.482 6.7882,-3.5947 10.5837,-4.5864 16.2612,-5.1489 12.9387,-1.2818 13.032,7.9325 24.4127,6.9206 11.7316,-1.0431 8.6103,-3.6296 15.0391,-5.3621 8.3693,-2.2555 19.3865,-2.1055 28.7907,4.9042 8.6484,2.9954 17.977,1.9942 28.2022,5.6399 l -0.4005,10.5902 c -12.5619,-4.0676 -22.2874,-5.2353 -29.2388,-0.6117 -23.6249,15.7136 -35.9199,-0.5811 -42.9377,-1.0848 -7.0178,-0.5037 -8.3854,2.4178 -14.1295,4.431 -7.7984,2.73 [...]
+ id="path4184"
+ sodipodi:nodetypes="czszscccszsccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2540.4822,2223.4097 c -3.7936,11.2869 -7.413,15.4055 -12.6483,16.6884 -5.2353,1.283 -11.1775,-0.819 -16.7187,-4.2812 -4.088,-2.1395 -5.1969,-1.6723 -1.75,2.7812 5.9227,3.7006 12.6812,6.2973 19.25,4.6876 6.5687,-1.6098 12.4124,-7.4613 16.4062,-19.3438 2.4089,-14.1447 -1.8669,-5.7947 -4.5392,-0.5322 z"
+ id="path4186"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2530.0526,2202.3837 c -6.2822,-1.1945 -8.0065,-0.4181 -15.2088,1.1475 l 1.375,4.25 c 6.7294,-1.7001 8.0204,-2.5525 13.8338,-5.3975 z"
+ id="path4188"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path4190"
+ d="m 2672.5976,2202.3406 c 0.8769,6.3344 2.9594,6.6592 6.7457,12.9828 l 3.5872,-2.6617 c -3.7625,-5.8325 -5.7785,-5.7225 -10.3329,-10.3211 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2537.0992,2236.4124 8.1317,-16.0867 c 5.6821,10.1941 7.7209,28.5945 9.1923,48.6137 l -7.071,1.9445 -10.253,-34.4715 z"
+ id="path4192"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4194"
+ d="m 2643.6955,2226.8664 -2.2982,-9.1924 c -12.2228,8.4263 -25.3986,33.7211 -26.87,53.7403 l 4.2426,1.5909 24.9256,-46.1388 z"
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.34951459;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2652.7113,2264.6966 c 2.4001,2.8974 5.5174,6.8302 8.8388,7.4246 -9.7817,11.0494 -18.8562,13.1267 -28.6378,19.0919 l -6.0104,-6.7176 c 9.5316,-5.9806 19.0406,-11.9763 25.8094,-19.7989 z"
+ id="path4196"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4198"
+ d="m 2519.6868,2252.8525 c 1.3394,-2.8478 1.7167,-3.9532 2.1213,-6.7175 7.0663,3.639 14.1697,14.4703 22.8926,28.9914 l -3.7123,6.8058 c -6.2015,-14.9962 -19.2316,-24.0855 -21.3016,-29.0797 z"
+ style="opacity:0.34951459;fill:#000000;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.12135919;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 2543.3749,2280.96 c 1.3394,-2.8478 1.8051,-2.9809 2.2097,-5.7452 4.945,-0.7804 5.9571,-0.7629 10.0423,0.034 l 2.3321,4.9156 c -4.0801,-0.6772 -10.216,-0.1322 -14.5841,0.7956 z"
+ id="path4200"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:0.12135919;fill:#ffffff;fill-opacity:1;stroke:none"
+ d="m 2617.4887,2276.956 c 1.287,-0.1352 2.9851,1.0608 4.5075,2.5733 -6.2745,0.4459 -12.051,5.8606 -15.3802,13.6109 -2.762,0.8053 -3.6293,-0.4194 -3.0932,-3.1478 3.7021,-7.263 7.9133,-12.5901 13.9659,-13.0364 z"
+ id="path4202"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2652.7065,2230.0846 c -4.6152,4.4265 -3.6564,6.3035 -6.5559,13.0797 l 4.26,1.3433 c 2.5158,-6.4688 1.2439,-8.0368 2.2959,-14.423 z"
+ id="path4204"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.06796115;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2727.5303,2392.8345 c 1.963,-0.8179 -28.6977,-26.1678 -51.2218,-39.3154 -22.5241,-13.1477 -40.8085,-69.6569 -40.8085,-69.6569 l -4,9 c 14.2361,34.2439 17.9411,53.136 27.875,63.25 9.7556,9.9325 30.1841,22.1453 37.1345,36.7197 l 31.0208,0 z"
+ id="path4206"
+ sodipodi:nodetypes="czcczcc" />
+ <path
+ style="opacity:0.10679614;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2596.5,2419.1122 c -2.5135,1.6569 -17.7135,-13.5231 -18.0806,-29.853 -0.503,-22.3785 -18.155,-29.5478 -23.3477,-29.1145 l -6.5717,10.2175 c 4.1717,6.8193 9.9682,14.5003 12.375,32.375 2.4068,17.8747 13.6875,28.5972 19,35.875 2.978,-8.0918 11.8083,-14.8055 16.625,-19.5 z"
+ id="path4208"
+ sodipodi:nodetypes="cscczcc" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ id="path4210"
+ sodipodi:cx="2577.875"
+ sodipodi:cy="2131.3623"
+ sodipodi:rx="9.125"
+ sodipodi:ry="4"
+ d="m 2587,2131.3623 c 0,2.2091 -4.0854,4 -9.125,4 -5.0396,0 -9.125,-1.7909 -9.125,-4 0,-2.2091 4.0854,-4 9.125,-4 5.0396,0 9.125,1.7909 9.125,4 z"
+ transform="matrix(1.3287671,0,0,1.3287671,-849.02055,-700.47186)" />
+ <path
+ transform="matrix(1.3287671,0,0,1.3287671,-800.77055,-699.97186)"
+ d="m 2587,2131.3623 c 0,2.2091 -4.0854,4 -9.125,4 -5.0396,0 -9.125,-1.7909 -9.125,-4 0,-2.2091 4.0854,-4 9.125,-4 5.0396,0 9.125,1.7909 9.125,4 z"
+ sodipodi:ry="4"
+ sodipodi:rx="9.125"
+ sodipodi:cy="2131.3623"
+ sodipodi:cx="2577.875"
+ id="path4212"
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 2573.2009,2224.1897 c -6.1545,0.2269 -11.2961,5.0876 -11.7037,11.3614 -0.4347,6.6922 4.6694,12.5008 11.3614,12.9357 6.6921,0.4347 12.5236,-4.6694 12.9586,-11.3614 0.4349,-6.6924 -4.6695,-12.5009 -11.3616,-12.9357 -0.4182,-0.027 -0.8444,-0.015 -1.2547,0 z m 0.2052,5.8176 c 0.2152,-0.01 0.4421,-0.014 0.6616,0 3.5147,0.2283 6.1602,3.2383 5.9317,6.753 -0.2284,3.5145 -3.2383,6.1599 -6.753,5.9318 -3.5145,-0.2286 -6.16,-3.2385 -5.9316,-6.7531 0.214,-3.2951 2.8642,-5.8169 6.091 [...]
+ id="path4214" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 2597.0642,2226.0438 c -3.652,-0.4679 -7.0145,1.9956 -7.7595,5.5434 -3e-4,0 -4e-4,0 -9e-4,0.01 -0.048,0.1181 -0.08,0.2423 -0.094,0.369 l -1.8347,14.3181 c -0.098,0.7741 0.4491,1.4815 1.223,1.5822 l 2.5791,0.3305 c 0.774,0.098 1.4815,-0.4491 1.582,-1.2228 l 1.8044,-14.0818 c 0.015,-0.052 0.027,-0.1042 0.036,-0.1573 0.1554,-0.8392 0.9129,-1.4078 1.7745,-1.2973 0.8616,0.1104 1.4511,0.8516 1.3902,1.7028 0,0.031 0,0.062 0,0.094 l -0.549,4.2847 c -0.098,0.7741 0.449,1.4815 1.2 [...]
+ id="path4216" />
+ <path
+ style="fill:#c4d7ec;fill-opacity:1;stroke:none"
+ d="m 2564.1265,2251.2752 c 0,0 11.4139,-0.4199 22.564,0.1662 11.2231,0.5899 22.8569,3.3891 22.8569,3.3891 l -0.1642,3.7909 c 0,0 -12.0884,-2.4896 -22.857,-3.3891 -10.6958,-0.8935 -22.5639,-0.166 -22.5639,-0.166 l 0.1642,-3.7911 z"
+ id="path4218"
+ sodipodi:nodetypes="czcczcc" />
+ <path
+ sodipodi:nodetypes="czcczcc"
+ id="path4220"
+ d="m 2564.1265,2217.8745 c 0,0 11.4139,-0.4199 22.564,0.1662 11.2231,0.5898 27.8377,3.975 27.8377,3.975 l -0.1642,3.7909 c 0,0 -17.0692,-3.0755 -27.8378,-3.975 -10.6958,-0.8935 -22.5639,-0.1661 -22.5639,-0.1661 l 0.1642,-3.791 z"
+ style="fill:#c4d7ec;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.33495148;fill:#000000;fill-opacity:1;stroke:none"
+ d="m 2535.0008,2403.2226 c -1.7874,1.041 -4.3247,2.0821 -6.8121,2.4231 l -2.7652,44.2689 c 2.2284,-1.8992 4.1354,-5.084 5.6568,-9.8111 l 3.9205,-36.8809 z"
+ id="path4222"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4224"
+ d="m 2616.2059,2404.8808 c 2.0456,0.3062 4.1693,0.3352 6.6065,-0.2679 l 23.2715,44.7041 c -2.7728,-0.9404 -8.9926,-6.5531 -12.1543,-10.3824 -7.0851,-10.1819 -10.3415,-17.2863 -17.7237,-34.0538 z"
+ style="opacity:0.22330095;fill:#ffffff;fill-opacity:1;stroke:none" />
+ <path
+ style="opacity:0.40291263;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 2531.875,2185.7372 c 4.4164,-3.5477 6.923,-5.9689 15.75,-7 9.2965,-0.5465 12.5182,4.9818 18.25,8 -10.4027,-6.487 -22.433,-7.204 -34,-1 z"
+ id="path4226"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path4228"
+ d="m 2605.7694,2198.1588 c 2.6147,-5.0254 15.0716,-15.1451 22.7368,-19.6422 8.29,-4.2425 9.7522,-1.3627 16.2141,-0.9071 -12.134,-1.7507 -30.8598,10.2139 -38.9509,20.5493 z"
+ style="opacity:0.30582521;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+ </g>
+ <path
+ style="opacity:0.20873784;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 394.48868,233.49091 c 21.58475,-69.65341 29.82045,-118.46013 18.29682,-180.310948 0.50597,-1.582722 7.8398,5.999208 12.13465,25.24977 4.45957,19.9879 6.99659,42.799178 3.41764,71.243298 -3.57894,28.44413 -14.82191,65.97033 -23.28427,81.05072 -6.19876,11.04645 -10.56484,2.76716 -10.56484,2.76716 z"
+ id="path6097"
+ sodipodi:nodetypes="ccszsc" />
+ <path
+ sodipodi:nodetypes="csccc"
+ id="path6099"
+ d="m 368.79453,801.30947 c 0.31361,-8.27281 10.34007,-5.27713 6.94656,-12.73833 -20.40707,-44.86785 -34.52223,-164.34659 -39.10307,-205.92779 -4.45958,19.98791 -9.58416,1.16686 -20.66808,-0.4568 2.18011,11.53816 18.31823,177.87338 52.82459,219.12292 z"
+ style="opacity:0.20873784;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+</svg>
diff --git a/src/openmolar/resources/phrasebook/phrasebook.xsd b/src/openmolar/resources/phrasebook/phrasebook.xsd
new file mode 100644
index 0000000..79c420d
--- /dev/null
+++ b/src/openmolar/resources/phrasebook/phrasebook.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="phrasebook">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="section" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="section">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="header" type="xs:string"/>
+ <xs:element ref="phrase"/>
+ <xs:element name="widget" type="xs:string"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="phrase">
+ <xs:complexType mixed="true">
+ <xs:attribute name="spacer" type="xs:string" use="optional"/>
+ <xs:attribute name="sub_heading" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/src/openmolar/resources/private.png b/src/openmolar/resources/private.png
new file mode 100644
index 0000000..fa4f593
Binary files /dev/null and b/src/openmolar/resources/private.png differ
diff --git a/src/openmolar/resources/referral_data.xml b/src/openmolar/resources/referral_data.xml
new file mode 100644
index 0000000..5accdec
--- /dev/null
+++ b/src/openmolar/resources/referral_data.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<referrals>
+<referral>
+<description>Oral Surgery - Raigmore</description>
+<surgeon_postal>Dr Adrian Farrow</surgeon_postal>
+<surgeon_greeting>Dr Farrow</surgeon_greeting>
+<address>
+<line>The Consultant</line>
+<line>Oral Surgery</line>
+<line>Raigmore Hospital</line>
+<line>Old Perth Road</line>
+<line>Inverness</line>
+<line>IV2 3JH.</line>
+</address>
+</referral>
+
+<referral>
+<description>Orthodontics - Raigmore</description>
+<surgeon_postal>Mr Adrian Hart</surgeon_postal>
+<surgeon_greeting>Mr Hart</surgeon_greeting>
+<address>
+<line>Consultant Orthodontist</line>
+<line>Department of Orthodontics</line>
+<line>Raigmore Hospital</line>
+<line>Old Perth Road</line>
+<line>Inverness</line>
+<line>IV2 3JH.</line>
+</address>
+</referral>
+
+<referral>
+<description>Restorative - Raigmore</description>
+<surgeon_postal>Dr M.A. Donachie</surgeon_postal>
+<surgeon_greeting>Dr Donachie</surgeon_greeting>
+<address>
+<line>Restorative Consultant</line>
+<line>Dental Department</line>
+<line>Raigmore Hospital</line>
+<line>Old Perth Road</line>
+<line>Inverness</line>
+<line>IV2 3JH.</line>
+</address>
+</referral>
+
+
+<referral>
+<description>Dr. Chris Buchanan - Highland Ortho</description>
+<surgeon_postal>Dr. Chris Buchanan</surgeon_postal>
+<surgeon_greeting>Dr. Buchanan</surgeon_greeting>
+<address>
+<line>Highland Orthodontics</line>
+<line>67 Kenneth Street</line>
+<line>Inverness</line>
+<line>IV3 5QF</line>
+</address>
+</referral>
+
+<referral>
+<description>Michael Gough</description>
+<surgeon_postal>Dr. Michael Gough</surgeon_postal>
+<surgeon_greeting>Michael</surgeon_greeting>
+<address>
+<line>Southside Dental Practice</line>
+<line>28 Southside Road</line>
+<line>Inverness</line>
+</address>
+</referral>
+
+<referral>
+<description>Inverness Dental Centre (GA kids..)</description>
+<surgeon_postal>The Community Dental Officer</surgeon_postal>
+<surgeon_greeting>Sir/Madam</surgeon_greeting>
+<address>
+<line>Inverness Dental Centre</line>
+<line>Centre For Health Science</line>
+<line>Old Perth Road</line>
+<line>Inverness</line>
+<line>IV2 3JH.</line>
+</address>
+</referral>
+
+<referral>
+<description>Special Care - RNI/New Craigs</description>
+<surgeon_postal>Dr. Rhona Brown</surgeon_postal>
+<surgeon_greeting>Dr. Brown</surgeon_greeting>
+<address>
+<line>Dental Department</line>
+<line>RNI Community Hospital</line>
+<line>Ness Walk</line>
+<line>Inverness</line>
+</address>
+</referral>
+
+<referral>
+<description>Oral Surgery, Dundee</description>
+<surgeon_postal>The Consultant Oral Surgeon</surgeon_postal>
+<surgeon_greeting>Sir/Madam</surgeon_greeting>
+<address>
+<line>Department of Oral Surgery</line>
+<line>Dundee Dental Hospital</line>
+<line>Park Place</line>
+<line>Dundee</line>
+</address>
+</referral>
+
+<referral>
+<description>Oral Surgery, Glasgow</description>
+<surgeon_postal>The Consultant Oral Surgeon</surgeon_postal>
+<surgeon_greeting>Sir/Madam</surgeon_greeting>
+<address>
+<line>Department of Oral Surgery</line>
+<line>Glasgow Dental Hospital</line>
+<line>378 Sauchiehall Street</line>
+<line>Glasgow</line>
+<line>G2 3JZ.</line>
+</address>
+</referral>
+
+<referral>
+<description>Oral Surgery, Edinburgh</description>
+<surgeon_postal>The Consultant Oral Surgeon</surgeon_postal>
+<surgeon_greeting>Sir/Madam</surgeon_greeting>
+<address>
+<line>Department of Oral Surgery</line>
+<line>Edinburgh Dental Institute</line>
+<line>The University of Edinburgh</line>
+<line>4th Floor, Lauriston Building</line>
+<line>Lauriston Place</line>
+<line>Edinburgh</line>
+<line>EH3 9HA</line>
+</address>
+
+</referral>
+
+</referrals>
+
diff --git a/src/openmolar/resources/resources.qrc b/src/openmolar/resources/resources.qrc
new file mode 100644
index 0000000..3ae4124
--- /dev/null
+++ b/src/openmolar/resources/resources.qrc
@@ -0,0 +1,55 @@
+<RCC>
+ <qresource>
+ <file>icons/mail_new.png</file>
+ <file>icons/schedule_active.png</file>
+ <file>icons/pencil.png</file>
+ <file>icons/expand.svg</file>
+ <file>icons/contract.svg</file>
+ <file>icons/wikipedia.png</file>
+ <file>icons/action.png</file>
+ <file>icons/memos.png</file>
+ <file alias="lower_implant.svg">icons/lower_implant.svg</file>
+ <file alias="upper_implant.svg">icons/upper_implant.svg</file>
+ <file alias="database.png">icons/database.png</file>
+ <file>openmolar.svg</file>
+ <file>icons/separate.png</file>
+ <file>appt_ov.png</file>
+ <file>newlogo_launchpadSize.png</file>
+ <file>newlogo.png</file>
+ <file>icons/chain-broken.png</file>
+ <file>icons/chain.png</file>
+ <file>private.png</file>
+ <file>hdp.png</file>
+ <file>nhs_scot.png</file>
+ <file alias="first.png">icons/number1.png</file>
+ <file alias="speaker.svg">icons/Speaker_Icon.svg</file>
+ <file alias="logo.png">icons/logo.png</file>
+ <file alias="widelogo.png">icons/widelogo.png</file>
+ <file alias="back.png">icons/agt_back.png</file>
+ <file alias="agt_family.png">icons/agt_family.png</file>
+ <file alias="forward.png">icons/agt_forward.png</file>
+ <file alias="agt_home.png">icons/agt_home.png</file>
+ <file alias="agt_reload.png">icons/agt_reload.png</file>
+ <file alias="back.png">icons/back.png</file>
+ <file alias="button_ok.png">icons/button_ok.png</file>
+ <file alias="down.png">icons/down.png</file>
+ <file alias="eraser.png">icons/eraser.png</file>
+ <file alias="exit.png">icons/exit.png</file>
+ <file alias="gohome.png">icons/gohome.png</file>
+ <file alias="home.png">icons/home.png</file>
+ <file alias="kaddressbook.png">icons/kaddressbook.png</file>
+ <file alias="karm.png">icons/karm.png</file>
+ <file alias="kdmconfig.png">icons/kdmconfig.png</file>
+ <file alias="kfm_home.png">icons/kfm_home.png</file>
+ <file alias="month.png">icons/month.png</file>
+ <file alias="save_all.png">icons/save_all.png</file>
+ <file alias="search.png">icons/search.png</file>
+ <file alias="vcalendar.png">icons/vcalendar.png</file>
+ <file alias="txt.png">icons/txt.png</file>
+ <file alias="schedule.png">icons/schedule.png</file>
+ <file alias="vcard.png">icons/vcard.png</file>
+ <file alias="ps.png">icons/ps.png</file>
+ <file alias="kfm.png">icons/kfm.png</file>
+ <file alias="add_user.png">icons/add_user.png</file>
+ </qresource>
+</RCC>
diff --git a/src/openmolar/resources/scotNHSremuneration08.pdf b/src/openmolar/resources/scotNHSremuneration08.pdf
new file mode 100755
index 0000000..a0f2ab6
Binary files /dev/null and b/src/openmolar/resources/scotNHSremuneration08.pdf differ
diff --git a/src/openmolar/resources/scotNHSremuneration09.pdf b/src/openmolar/resources/scotNHSremuneration09.pdf
new file mode 100644
index 0000000..6e7a217
Binary files /dev/null and b/src/openmolar/resources/scotNHSremuneration09.pdf differ
diff --git a/src/openmolar/resources/scotNHSremuneration10.pdf b/src/openmolar/resources/scotNHSremuneration10.pdf
new file mode 100644
index 0000000..d81ae42
Binary files /dev/null and b/src/openmolar/resources/scotNHSremuneration10.pdf differ
diff --git a/src/openmolar/resources/scotNHSremuneration12.pdf b/src/openmolar/resources/scotNHSremuneration12.pdf
new file mode 100644
index 0000000..3ec98bc
Binary files /dev/null and b/src/openmolar/resources/scotNHSremuneration12.pdf differ
diff --git a/src/openmolar/resources/scotNHSremuneration13.pdf b/src/openmolar/resources/scotNHSremuneration13.pdf
new file mode 100644
index 0000000..0a9c5f2
Binary files /dev/null and b/src/openmolar/resources/scotNHSremuneration13.pdf differ
diff --git a/src/openmolar/resources/ssi_20100208_en.pdf b/src/openmolar/resources/ssi_20100208_en.pdf
new file mode 100644
index 0000000..c377d0d
Binary files /dev/null and b/src/openmolar/resources/ssi_20100208_en.pdf differ
diff --git a/src/openmolar/resources/style.css b/src/openmolar/resources/style.css
new file mode 100755
index 0000000..bdd53cb
--- /dev/null
+++ b/src/openmolar/resources/style.css
@@ -0,0 +1,51 @@
+/*-- stylesheet for openmolar - written by Neil Wallace modified 30/6/2009 --*/
+
+body{background-color:#ffffff;}
+
+.ops{font-size:12pt;}
+.notes{font-size:13pt;}
+
+/*-- DIVS --*/
+div.center{text-align:center;}
+
+h1,h2,h3,h4,h5,h6{margin:3px;color:#4322a8;}
+h1{text-align:center;}
+.debt{color:red;}
+.ut_label{font-style:italic;color:#99ccff;}
+
+/*-- UNORDERED LISTS --*/
+ul{list-style:none;padding-left:0px;}
+li.about{list-style:none;color:blue;padding-left:0px}
+
+li.recep_note{font-size:9pt;list-style-type:none;padding-left:0px;background-color:#ffeedd;}
+
+li.agenda{font-size:9pt;list-style-type:disk}
+li.slot{font-size:9pt;list-style-type:disk;font-style:bold;color:red;background-color:#ffff66;}
+li.active_slot{font-size:11pt;list-style-type:circle;font-style:bold;color:red;background-color:#ffff00;}
+
+/* -- reception_notes -- */
+.recep_date{font-size:9pt;font-style:bold;background-color:#eeeeee;}
+
+/*-- th and td --*/
+table{width:100%;}
+
+.date{background-color:#ffeedd}
+.ops{background-color:#dddddd;}
+.tx{background-color:#aaaaaa;}
+.notes{background-color:#dddddd; width:50%}
+.reception{background-color:#eeeeee;}
+.verbose{background-color:#ddeeff}
+
+table.yeartable{width:600pt;}
+.yearheader{font-size:16pt;background-color:#eeeeee;font-style:bold;text-align:center;}
+.bankholiday{font-size:14pt;background-color:#eeeeee;font-style:bold;font-style:italic;text-align:center;}
+.yearops{background-color:#eeeeff;font-size:12pt;text-align:center;}
+.yearmemo{background-color:#eeeeff;font-style:italic;font-size:12pt;}
+
+th{border-style:solid;
+background-color:#4322a8;
+color:#ffffff;}
+
+
+
+
diff --git a/src/openmolar/resources/teeth/ll1.png b/src/openmolar/resources/teeth/ll1.png
new file mode 100644
index 0000000..f6d1a5a
Binary files /dev/null and b/src/openmolar/resources/teeth/ll1.png differ
diff --git a/src/openmolar/resources/teeth/ll2.png b/src/openmolar/resources/teeth/ll2.png
new file mode 100644
index 0000000..5371807
Binary files /dev/null and b/src/openmolar/resources/teeth/ll2.png differ
diff --git a/src/openmolar/resources/teeth/ll3.png b/src/openmolar/resources/teeth/ll3.png
new file mode 100644
index 0000000..e7ffd65
Binary files /dev/null and b/src/openmolar/resources/teeth/ll3.png differ
diff --git a/src/openmolar/resources/teeth/ll4.png b/src/openmolar/resources/teeth/ll4.png
new file mode 100644
index 0000000..2633766
Binary files /dev/null and b/src/openmolar/resources/teeth/ll4.png differ
diff --git a/src/openmolar/resources/teeth/ll5.png b/src/openmolar/resources/teeth/ll5.png
new file mode 100644
index 0000000..c09a288
Binary files /dev/null and b/src/openmolar/resources/teeth/ll5.png differ
diff --git a/src/openmolar/resources/teeth/ll6.png b/src/openmolar/resources/teeth/ll6.png
new file mode 100644
index 0000000..ba9ee9f
Binary files /dev/null and b/src/openmolar/resources/teeth/ll6.png differ
diff --git a/src/openmolar/resources/teeth/ll7.png b/src/openmolar/resources/teeth/ll7.png
new file mode 100644
index 0000000..e298a1b
Binary files /dev/null and b/src/openmolar/resources/teeth/ll7.png differ
diff --git a/src/openmolar/resources/teeth/ll8.png b/src/openmolar/resources/teeth/ll8.png
new file mode 100644
index 0000000..e08483f
Binary files /dev/null and b/src/openmolar/resources/teeth/ll8.png differ
diff --git a/src/openmolar/resources/teeth/lr1.png b/src/openmolar/resources/teeth/lr1.png
new file mode 100644
index 0000000..900d04f
Binary files /dev/null and b/src/openmolar/resources/teeth/lr1.png differ
diff --git a/src/openmolar/resources/teeth/lr2.png b/src/openmolar/resources/teeth/lr2.png
new file mode 100644
index 0000000..90b6c0b
Binary files /dev/null and b/src/openmolar/resources/teeth/lr2.png differ
diff --git a/src/openmolar/resources/teeth/lr3.png b/src/openmolar/resources/teeth/lr3.png
new file mode 100644
index 0000000..e51338e
Binary files /dev/null and b/src/openmolar/resources/teeth/lr3.png differ
diff --git a/src/openmolar/resources/teeth/lr4.png b/src/openmolar/resources/teeth/lr4.png
new file mode 100644
index 0000000..954f2e2
Binary files /dev/null and b/src/openmolar/resources/teeth/lr4.png differ
diff --git a/src/openmolar/resources/teeth/lr5.png b/src/openmolar/resources/teeth/lr5.png
new file mode 100644
index 0000000..adc5ed2
Binary files /dev/null and b/src/openmolar/resources/teeth/lr5.png differ
diff --git a/src/openmolar/resources/teeth/lr6.png b/src/openmolar/resources/teeth/lr6.png
new file mode 100644
index 0000000..34b56ed
Binary files /dev/null and b/src/openmolar/resources/teeth/lr6.png differ
diff --git a/src/openmolar/resources/teeth/lr7.png b/src/openmolar/resources/teeth/lr7.png
new file mode 100644
index 0000000..0c0edca
Binary files /dev/null and b/src/openmolar/resources/teeth/lr7.png differ
diff --git a/src/openmolar/resources/teeth/lr8.png b/src/openmolar/resources/teeth/lr8.png
new file mode 100644
index 0000000..ba3c02d
Binary files /dev/null and b/src/openmolar/resources/teeth/lr8.png differ
diff --git a/src/openmolar/resources/teeth/ul1.png b/src/openmolar/resources/teeth/ul1.png
new file mode 100644
index 0000000..aa655a3
Binary files /dev/null and b/src/openmolar/resources/teeth/ul1.png differ
diff --git a/src/openmolar/resources/teeth/ul2.png b/src/openmolar/resources/teeth/ul2.png
new file mode 100644
index 0000000..14d0f1b
Binary files /dev/null and b/src/openmolar/resources/teeth/ul2.png differ
diff --git a/src/openmolar/resources/teeth/ul3.png b/src/openmolar/resources/teeth/ul3.png
new file mode 100644
index 0000000..3566f09
Binary files /dev/null and b/src/openmolar/resources/teeth/ul3.png differ
diff --git a/src/openmolar/resources/teeth/ul4.png b/src/openmolar/resources/teeth/ul4.png
new file mode 100644
index 0000000..68be1a4
Binary files /dev/null and b/src/openmolar/resources/teeth/ul4.png differ
diff --git a/src/openmolar/resources/teeth/ul5.png b/src/openmolar/resources/teeth/ul5.png
new file mode 100644
index 0000000..a7a8e33
Binary files /dev/null and b/src/openmolar/resources/teeth/ul5.png differ
diff --git a/src/openmolar/resources/teeth/ul6.png b/src/openmolar/resources/teeth/ul6.png
new file mode 100644
index 0000000..bc80109
Binary files /dev/null and b/src/openmolar/resources/teeth/ul6.png differ
diff --git a/src/openmolar/resources/teeth/ul7.png b/src/openmolar/resources/teeth/ul7.png
new file mode 100644
index 0000000..2a98dc5
Binary files /dev/null and b/src/openmolar/resources/teeth/ul7.png differ
diff --git a/src/openmolar/resources/teeth/ul8.png b/src/openmolar/resources/teeth/ul8.png
new file mode 100644
index 0000000..0671255
Binary files /dev/null and b/src/openmolar/resources/teeth/ul8.png differ
diff --git a/src/openmolar/resources/teeth/ur1.png b/src/openmolar/resources/teeth/ur1.png
new file mode 100644
index 0000000..7ebeb60
Binary files /dev/null and b/src/openmolar/resources/teeth/ur1.png differ
diff --git a/src/openmolar/resources/teeth/ur2.png b/src/openmolar/resources/teeth/ur2.png
new file mode 100644
index 0000000..1f37b4f
Binary files /dev/null and b/src/openmolar/resources/teeth/ur2.png differ
diff --git a/src/openmolar/resources/teeth/ur3.png b/src/openmolar/resources/teeth/ur3.png
new file mode 100644
index 0000000..e11dbf2
Binary files /dev/null and b/src/openmolar/resources/teeth/ur3.png differ
diff --git a/src/openmolar/resources/teeth/ur4.png b/src/openmolar/resources/teeth/ur4.png
new file mode 100644
index 0000000..7ee0b0c
Binary files /dev/null and b/src/openmolar/resources/teeth/ur4.png differ
diff --git a/src/openmolar/resources/teeth/ur5.png b/src/openmolar/resources/teeth/ur5.png
new file mode 100644
index 0000000..57ec378
Binary files /dev/null and b/src/openmolar/resources/teeth/ur5.png differ
diff --git a/src/openmolar/resources/teeth/ur6.png b/src/openmolar/resources/teeth/ur6.png
new file mode 100644
index 0000000..f2976a5
Binary files /dev/null and b/src/openmolar/resources/teeth/ur6.png differ
diff --git a/src/openmolar/resources/teeth/ur7.png b/src/openmolar/resources/teeth/ur7.png
new file mode 100644
index 0000000..8bbc610
Binary files /dev/null and b/src/openmolar/resources/teeth/ur7.png differ
diff --git a/src/openmolar/resources/teeth/ur8.png b/src/openmolar/resources/teeth/ur8.png
new file mode 100644
index 0000000..87dee23
Binary files /dev/null and b/src/openmolar/resources/teeth/ur8.png differ
diff --git a/src/openmolar/resources/user_manual/index.html b/src/openmolar/resources/user_manual/index.html
new file mode 100644
index 0000000..858d975
--- /dev/null
+++ b/src/openmolar/resources/user_manual/index.html
@@ -0,0 +1,41 @@
+<html>
+<body>
+<h1>Openmolar User Manual</h1>
+<p>
+ <em>WARNING</em>
+ This manual is in its infancy.
+</p>
+
+<p>
+Many pages are yet to be written, if you would like to get involved, please visit
+<a href="http://www.openmolar.com">openmolar.com</a>
+</p>
+
+<h4>Index</h4>
+<ul>
+<li>Installation</li>
+ <ol>
+ <li>Setting up a mysql server</li>
+ <li>Customise for your practice</li>
+ <li>Add users to the system</li>
+ <li>Adding dentists to the system</li>
+ <li>Adding hygienists to the system</li>
+ </ol>
+
+<li>Using Openmolar</li>
+ <ol>
+ <li>Logging in</li>
+ <li>Accessing a patient record</li>
+ <li>Creating a new patient record</li>
+ <li>Appointment system</li>
+ </ol>
+
+<li>Tutorials</li>
+ <ol>
+ <li><a href="treatment-planning.html">Treatment Planning</a></li>
+ <ol>
+
+</ul>
+
+</body>
+</html>
diff --git a/src/openmolar/resources/user_manual/styles.css b/src/openmolar/resources/user_manual/styles.css
new file mode 100644
index 0000000..d8abec4
--- /dev/null
+++ b/src/openmolar/resources/user_manual/styles.css
@@ -0,0 +1,3 @@
+p.question {color:green;}
+p.answer {color:green;}
+
diff --git a/src/openmolar/resources/user_manual/treatment-planning.html b/src/openmolar/resources/user_manual/treatment-planning.html
new file mode 100644
index 0000000..053b1ae
--- /dev/null
+++ b/src/openmolar/resources/user_manual/treatment-planning.html
@@ -0,0 +1,125 @@
+<html>
+<body>
+<h1>Openmolar User Manual</h1>
+<h4>What does openmolar do when I add an item of treatment to a patient's treatment plan.</h4>
+
+
+<ol>
+<li>
+ Openmolar checks that the patient has an active treatment course,
+ and gets the user to verify which clinician is responsible for that course.<br />
+ If no active course is in place (or started at this prompt, the process is abandoned.<br />
+ <a href="#active-course">Appendix i - What is an active course?</a>
+</li>
+
+<li>
+ As an example, let's assume you are adding a small xray.<br />
+ For this item the treatment shortcut is "S" <a href="#shortcut">Appendix ii - What is a shortcut?</a><br />
+</li>
+
+<li>
+ At this point the feescales are checked to get a price for this treatment.
+ <a href="#feescales">Appendix iii - feescales</a><br />
+
+ (ie. A key lookup for "xray S" is done.)<br />
+ At this point there are 3 possibilities.
+ <ul>
+ <li>The code matches an item in the patient's default feescale.
+ <a href="#default-feescale">Appendix iv - default feescale</a><br />
+ When this occurs, an estimate item is created, using the description and price provided by the item.
+ </li>
+
+ <li>The code matches an item in another feescale. <br />
+ This can happen, for instance with some items that are only provided privately.<br />
+ Large white fillings in posterior teeth, for instance.<br />
+ If this occurs, the user is prompted for approval before the code is accepted and estimate generated from the
+ alternate item.
+ </li>
+
+ <li>The code is not found in any feescale.<br />
+ If this is the case, the user is warned, and asked what to do.<br />
+ Should this shortcut be used on the treatment plan,
+ and an estimate item generated which refers to "other treatment"?
+ </li>
+ </ul>
+</li>
+
+</ol>
+
+
+If we have got this far without the user chosing to abandon, we will have both a shortcut and an esimate object.<br />
+It is time to apply these.<br />
+<ul>
+ <li>An "S" and a space is appended to the treatment plan's xray attribute.
+ <a href="#attribute">Appendix v - What is an attribute?</a>
+ </li>
+ <li>This estimate is appended to the patients list of estimates.</li>
+ <li>The user interfaces displaying this information are updated.
+</ul>
+
+
+
+<hr />
+
+<h4>Appendix</h4>
+
+<dl>
+
+<dt id="active-course">
+i: What is an active course?
+</dt>
+<dd>
+An active course responds to a single data row with a unique id.
+Until that id is set, there is nowhere to save the treatment plan data.
+</dd>
+
+<dt id="shortcut">
+ii: What is a shortcut?
+</dt>
+<dd>
+A shortcut is an abbreviation of the treatment being applied.<br />
+Many are very common in dentistry, example "MOD" describes a specific thess surface filling.<br />
+For non-filling items, shortcuts are less obvious.<br />
+In fact, Openmolar allows heavy customisation of all these shortcuts, however consistency is key, and for historical reasons, in my practice, a small xray is "S", a medium xray is "M" a panoral xray is "P" and so on.<br />
+Codes should be unique for each type of treatment (namely xray, perio, chart, denture, other etc.. ) and consistent across all <a href="feescales">feescales</a> in use.
+</dd>
+
+<dt id="feescales">
+iii: What is a feescale?
+</dt>
+<dd>
+A feescale is an xml document stored in the database.<br />
+More information can be found at <a href="feescales.html">feescales.html</a>
+</dd>
+
+<dt id="default-feescale">
+iv: The patient has a default feescale?
+</dt>
+<dd>
+Yes. Assuming your system has more than one feescale, when a record is loaded, or a new treatment course started, the best match is used a a default.<br />
+Criteria used are contract type (example NHS, Private or Insurance Plan), patients age, and the date the treatment course commenced.
+</dd>
+
+<dt id="attribute">
+v: What is an attribute?
+</dt>
+<dd>
+An attribute is simply a computer science term for a property associated with an object in memory.<br />
+In the case of a treatment plan, this attribute is a sequence of space separated characters.<br />
+eg "2S P M " as an xray attribute would equate to 2 small, a panoral and a medium xray.
+</dd>
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</body>
+</html>
+
diff --git a/src/openmolar/schema_upgrades/__init__.py b/src/openmolar/schema_upgrades/__init__.py
new file mode 100755
index 0000000..8b13789
--- /dev/null
+++ b/src/openmolar/schema_upgrades/__init__.py
@@ -0,0 +1 @@
+
diff --git a/src/openmolar/schema_upgrades/formatted_notes1_9.py b/src/openmolar/schema_upgrades/formatted_notes1_9.py
new file mode 100644
index 0000000..ba7ffc5
--- /dev/null
+++ b/src/openmolar/schema_upgrades/formatted_notes1_9.py
@@ -0,0 +1,84 @@
+#! /usr/bin/python
+
+from openmolar import connect
+from openmolar.ptModules import notes
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ print "using openmolar.backports for OrderedDict"
+ from openmolar.backports import OrderedDict
+
+
+def get_notes(sno):
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute('''SELECT line from notes where serialno = %s
+ order by lineno''', sno)
+ results = cursor.fetchall()
+ cursor.close()
+
+ notes_dict = OrderedDict()
+ ndate, op = "", ""
+
+ #a line is like ('\x01REC\x0c\x08m\x0c\x08m\n\x08',)
+ for line, in results:
+ ntype, note, operator, date2 = notes.decipher_noteline(line)
+ if date2 != "":
+ ndate = date2
+ if operator != "":
+ op = operator
+
+ key = (ndate, op)
+ if notes_dict.has_key(key):
+ notes_dict[key].append((ntype, note))
+ else:
+ notes_dict[key] = [(ntype, note)]
+
+ return notes_dict
+
+
+def transfer(sno):
+ print "transferring notes for serialnos %s"% sno,
+ notes_dict = get_notes(sno)
+ query = '''insert into formatted_notes
+ (serialno, ndate, op1 , op2 , ntype, note)
+ values (%s, %s, %s, %s, %s, %s)'''
+
+ values = []
+ for key in notes_dict:
+ date, ops = key
+ op2=None
+ if "/" in ops:
+ op1, op2 = ops.split("/")
+ else:
+ op1=ops
+
+ for ntype, note in notes_dict[key]:
+ values.append((sno, date, op1, op2, ntype, note))
+ if values:
+ db = connect.connect()
+ cursor = db.cursor()
+ rows = cursor.executemany(query, values)
+ print "%d rows of notes inserted"% rows
+ cursor.close()
+ db.commit()
+ else:
+ print "no notes inserted"
+
+def get_max_sno():
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute("select max(serialno) from notes")
+ max_sno = cursor.fetchone()[0]
+ cursor.close()
+ db.close()
+ return max_sno
+
+if __name__ == "__main__":
+ max_sno = get_max_sno()
+ print "modding notes up to maximum found", max_sno
+ sno = 0
+ while sno < max_sno:
+ transfer(sno)
diff --git a/src/openmolar/schema_upgrades/schema1_0to1_1.py b/src/openmolar/schema_upgrades/schema1_0to1_1.py
new file mode 100644
index 0000000..77d55fa
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_0to1_1.py
@@ -0,0 +1,211 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data from the estimates
+table in schema 1_0 to the newestimates table in schema 1_1
+The NewTable schema is contained in module variable NEW_TABLE_SQLSTRINGS
+Incidentally - this script introduces the "settings table" in which the schema
+variable is stored.
+'''
+from PyQt4 import QtGui, QtCore
+
+NEW_TABLE_SQLSTRINGS = ['''
+CREATE TABLE IF NOT EXISTS newestimates (
+`ix` int(10) unsigned NOT NULL auto_increment ,
+`serialno` int(11) NOT NULL ,
+`courseno` int(10) unsigned ,
+`category` char(12),
+`type` char(20),
+`number` tinyint(4),
+`itemcode` char(4),
+`description` char(50),
+`fee` int(11),
+`ptfee` int(11),
+`csetype` char(5),
+`feescale` char(1),
+`dent` tinyint(1),
+`completed` tinyint(1),
+`carriedover` tinyint(1),
+`linked` tinyint(1),
+`modified_by` varchar(20) NOT NULL,
+`time_stamp` DATETIME NOT NULL,
+PRIMARY KEY (ix),
+KEY (serialno),
+KEY (courseno));
+''',
+'''
+CREATE TABLE IF NOT EXISTS settings (
+`ix` int(10) unsigned NOT NULL auto_increment ,
+`value` varchar(128),
+`data` text,
+`hostname` varchar(128),
+`station` char(20),
+`user` char(20),
+`modified_by` varchar(20) NOT NULL,
+`time_stamp` DATETIME NOT NULL,
+PRIMARY KEY (ix),
+KEY (value));
+''',
+'''
+CREATE TABLE IF NOT EXISTS calendar (
+`ix` int(10) unsigned NOT NULL auto_increment ,
+`adate` DATE NOT NULL,
+`memo` char(30),
+PRIMARY KEY (ix),
+KEY (adate));
+'''
+]
+
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+'''this checks for names which have changed.'''
+
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def createNewTables(self):
+ '''
+ creates the newEstimatesTable.
+ NOTE - this function may fail depending on the mysql permissions in place
+ '''
+ try:
+ db = connect.connect()
+ cursor = db.cursor()
+ for sql_strings in NEW_TABLE_SQLSTRINGS:
+ cursor.execute(sql_strings)
+ db.commit()
+ return True
+ except Exception, e:
+ print e
+ print "unable to execute createNewEstimates"
+
+ def getRowsFromOld(self):
+ '''
+ get ALL data from the estimates table
+ '''
+ db = connect.connect()
+ cursor=db.cursor()
+ cursor.execute('''select serialno, courseno, type, number, itemcode,
+ description, fee, ptfee, feescale, csetype, dent, completed,
+ carriedover, linked from estimates''')
+ rows=cursor.fetchall()
+ cursor.close()
+ db.close()
+ return rows
+
+ def convertData(self, rows):
+ '''
+ convert to the new row type
+ '''
+ retlist=[]
+ progress_var = len(rows)
+ for row in rows:
+ newrow = []
+ for i in range(len(row)):
+ data = row[i]
+ if i == 2: #split the type into the new catergory / type fields
+ try:
+ splitdata = data.split(" ")
+ category = splitdata[0]
+ type = splitdata[1]
+ except IndexError:
+ category = "unknown"
+ type = data
+ newrow.append(category)
+ newrow.append(type)
+ elif i == 8:
+ newrow.append(row[9])
+ elif i == 9:
+ newrow.append(row[8])
+ else:
+ newrow.append(data)
+
+ if i % 100 == 0:
+ self.progressSig((i / progress_var) * 40 + 20)
+ if len(row) != len(newrow)-1:
+ print "Error converting ",row
+ sys.exit()
+ retlist.append(newrow)
+ return retlist
+
+ def insertRowsIntoNew(self, rows):
+ '''
+ insert new row types into the newestimates table
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ progress_var = len(rows)
+ i = 0
+ query='''insert into newestimates
+ (serialno, courseno, category, type, number, itemcode, description,
+ fee, ptfee , csetype, feescale, dent, completed, carriedover ,
+ linked , modified_by , time_stamp) values (%s, %s, %s, %s, %s, %s,
+ %s, %s, %s, %s, %s, %s, %s, %s, %s, '1_0to1_1script', NOW())'''
+
+ for values in rows:
+ cursor.execute(query, values)
+ i += 1
+ if i % 100 == 0:
+ self.progressSig((i / progress_var) * 90 + 40)
+
+ db.commit()
+ db.close()
+
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.0 to 1.1"
+ try:
+ if self.createNewTables():
+ self.progressSig(10, "extracting estimates")
+ oldrows = self.getRowsFromOld()
+ self.progressSig(20, "converting data")
+ newRows = self.convertData(oldrows)
+
+ self.progressSig(40, "exporting into newestimates table")
+ print 'now exporting, this can take some time'
+ self.insertRowsIntoNew(newRows)
+ self.progressSig(90, "updating stored schema version")
+ schema_version.update(("1.1",), "1_0 to 1_1 script")
+
+ self.progressSig(100)
+ self.completed = True
+ self.completeSig("ALL DONE - sucessfully moved db to 1,1")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_1to1_2.py b/src/openmolar/schema_upgrades/schema1_1to1_2.py
new file mode 100644
index 0000000..5327e7d
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_1to1_2.py
@@ -0,0 +1,140 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data from the estimates
+table in schema 1_0 to the newestimates table in schema 1_1
+The NewTable schema is contained in module variable NEW_TABLE_SQLSTRINGS
+Incidentally - this script introduces the "settings table" in which the schema
+variable is stored.
+'''
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''alter table forum add column recipient char(8);''',
+'''alter table forum change column comment comment char(255);''',
+'''
+CREATE TABLE if not exists forumread (
+ix int(10) unsigned NOT NULL auto_increment ,
+id int(10) unsigned NOT NULL ,
+op char(8),
+readdate DATETIME NOT NULL,
+PRIMARY KEY (ix),
+KEY (id))''',
+'''
+CREATE TABLE if not exists tasks (
+ix int(10) unsigned NOT NULL auto_increment,
+op char(8),
+author char(8),
+type char(8),
+mdate DATETIME NOT NULL,
+due DATETIME NOT NULL,
+message char(255),
+completed bool NOT NULL default False,
+visible bool NOT NULL default True,
+PRIMARY KEY (ix))''',
+]
+
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+def create_alter_tables():
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions in place
+ '''
+ db = connect.connect()
+ cursor = db.cursor()
+ for sql_string in SQLSTRINGS:
+ cursor.execute(sql_string)
+ db.commit()
+ return True
+
+def copy_OMforum_into_forum():
+ '''
+ I am scrapping the omforum table, put these posts into the forum
+ '''
+ db = connect.connect()
+ cursor=db.cursor()
+ cursor.execute('''lock tables omforum read,forum write''')
+ cursor.execute('''select ix, parent_ix, inits, fdate, topic, comment, open
+from omforum order by ix''')
+ rows=cursor.fetchall()
+
+ cursor.execute('''select max(ix) from forum''')
+ start_ix = cursor.fetchone()[0]+1
+ print "start_ix =", start_ix
+
+ query = '''insert into forum (parent_ix, inits, fdate, topic, comment,
+ open) values (%s, %s, %s, %s, %s, %s)'''
+
+ for row in rows:
+ if row[1]:
+ parent_ix = row[1] + start_ix
+ else:
+ parent_ix = None
+ values = (parent_ix, row[2], row[3], row[4], row[5], row[6])
+ cursor.execute(query, values)
+
+ db.commit()
+
+ cursor.execute("unlock tables")
+ cursor.close()
+
+ db.close()
+ return True
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+
+ def progressSig(self, val, message):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ self.emit(QtCore.SIGNAL("progress"), val, message)
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.1 to 1.2"
+ try:
+ self.progressSig(30, "updating schema to 1,2")
+ if create_alter_tables():
+ self.progressSig(50, 'created new table "forumread"')
+
+ if copy_OMforum_into_forum():
+ self.progressSig(80,
+ 'copied data from obsolete table OMforum')
+
+ schema_version.update(("1.2",), "1_1 to 1_2 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ +" 1.2")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_2to1_3.py b/src/openmolar/schema_upgrades/schema1_2to1_3.py
new file mode 100644
index 0000000..d3b9067
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_2to1_3.py
@@ -0,0 +1,115 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data from the estimates
+table in schema 1_1 to the newestimates table in schema 1_2
+'''
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''alter table newfeetable drop column spare1''',
+'''alter table newfeetable drop column spare2''',
+'''alter table newfeetable drop column spare3''',
+'''alter table newfeetable drop column spare4''',
+'''alter table newfeetable change column PFC NF09 int(11)''',
+'''alter table newfeetable change column PFI NF09_pt int(11)''',
+'''
+CREATE TABLE if not exists clinical_memos (
+ix int(10) unsigned NOT NULL auto_increment ,
+serialno int(11) unsigned NOT NULL ,
+author char(8),
+datestamp DATETIME NOT NULL,
+hidden bool NOT NULL default False,
+PRIMARY KEY (ix),
+KEY (serialno))''',
+]
+
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ cursor.execute(sql_string)
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE create_alter_tables", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ return sucess
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.2 to 1.3"
+ try:
+ self.progressSig(10, _("creating new tables"))
+ if self.create_alter_tables():
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ #pass a tuple of compatible clients and the "user"
+ #who made these changes.
+ schema_version.update(("1.2","1.3"), "1_2 to 1_3 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.3")
+ else:
+ localsettings.CLIENT_SCHEMA_VERSION = " 1.2"
+ self.completeSig(_("couldn't create tables, rolled back to")
+ + "1.2")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_3to1_4.py b/src/openmolar/schema_upgrades/schema1_3to1_4.py
new file mode 100644
index 0000000..b433faa
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_3to1_4.py
@@ -0,0 +1,369 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data from the estimates
+table in schema 1_3 to the newestimates table in schema 1_4
+'''
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''
+CREATE TABLE if not exists feetable_key (
+ix int(10) unsigned NOT NULL auto_increment ,
+tablename char(30),
+categories char(30),
+description char(60),
+startdate date,
+enddate date,
+feecoltypes TINYTEXT,
+in_use bool NOT NULL default True,
+display_order smallint(6),
+PRIMARY KEY (ix))
+''',
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+enddate, display_order, feecoltypes)
+values ("feetable_scotNHS_08_Adult","N",
+"Scottish NHS Adult feescale implemented April 2008",
+20080401, 20090831, 5,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="ptfee">pt_fee</column></columns>'
+)
+''',
+'''
+CREATE TABLE if not exists feetable_scotNHS_08_Adult (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+pt_fee int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+enddate, display_order, feecoltypes)
+values ("feetable_scotNHS_08_Child","C",
+"Scottish NHS Child feescale implemented April 2008",
+20080401, 20090831, 6,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="ptfee">pt_fee</column></columns>'
+)
+
+''',
+'''
+CREATE TABLE if not exists feetable_scotNHS_08_Child (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+pt_fee int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+display_order, feecoltypes)
+values ("feetable_scotNHS_09_Adult","N",
+"Scottish NHS Adult feescale implemented September 2009",
+20090901, 3,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="ptfee">pt_fee</column></columns>'
+)
+''',
+'''
+CREATE TABLE if not exists feetable_scotNHS_09_Adult (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+pt_fee int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+display_order, feecoltypes)
+values ("feetable_scotNHS_09_Child","C",
+"Scottish NHS Adult feescale implemented September 2009", 20090901, 4,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="ptfee">pt_fee</column></columns>'
+)
+
+''',
+'''
+CREATE TABLE if not exists feetable_scotNHS_09_Child (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+pt_fee int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+display_order, feecoltypes)
+values ("feetable_HDP", "I",
+"Highland Dental Plan FeeScale", 20080401, 2,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="ptfee">pt_fee</column></columns>'
+)
+
+''',
+'''
+CREATE TABLE if not exists feetable_HDP (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+pt_fee int(11) NOT NULL default 0,
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+enddate, display_order, feecoltypes)
+values ("feetable_Private_2009","P,PB,PC,PD",
+"Private FeeScale", 20080401, 20091231, 1,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="fee">feeB</column>
+<column type="fee">feeC</column><column type="fee">feeD</column></columns>'
+)
+''',
+'''
+CREATE TABLE if not exists feetable_Private_2009 (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+feeB int(11),
+feeC int(11),
+feeD int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+INSERT into feetable_key (tablename, categories, description, startdate,
+display_order, feecoltypes)
+values ("feetable_Private_2010","P,PB,PC,PD",
+"Private FeeScale", 20100101, 7,
+'<?xml version="1.0"?><columns><column type="fee">fee</column><column type="fee">feeB</column>
+<column type="fee">feeC</column><column type="fee">feeD</column></columns>'
+)
+''',
+
+'''
+CREATE TABLE if not exists feetable_Private_2010 (
+ix int(10) unsigned NOT NULL auto_increment ,
+section smallint(6),
+code char(8),
+oldcode char(12),
+USERCODE char(20),
+regulation char(60),
+description char(60),
+brief_description char(60),
+fee int(11),
+feeB int(11),
+feeC int(11),
+feeD int(11),
+hide bool NOT NULL default False,
+PRIMARY KEY (ix))
+''',
+
+'''
+CREATE TABLE if not exists docsimported (
+ix int(10) unsigned NOT NULL auto_increment ,
+serialno int(11) NOT NULL ,
+importdate date ,
+docname char(60),
+data blob ,
+PRIMARY KEY (ix),
+KEY (serialno))
+''',
+
+'DROP TABLE if exists omforum',
+'DROP TABLE if exists estimates',
+
+]
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ cursor.execute(sql_string)
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE create_alter_tables", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't create tables!")
+
+ def transferData(self):
+ '''
+ move data into the new tables
+ '''
+ db = connect.connect()
+ cursor=db.cursor()
+ for table, vals in (
+ ("feetable_scotNHS_08_Adult", "NF08, NF08_pt"),
+ ("feetable_scotNHS_08_Child", "NF08, NF08_pt"),
+ ("feetable_scotNHS_09_Adult", "NF09, NF09_pt"),
+ ("feetable_scotNHS_09_Child", "NF09, NF09_pt"),
+ ("feetable_Private_2009", "PFA"),
+ ("feetable_Private_2010", "PFA"),
+ ("feetable_HDP", "PFA")):
+ cursor.execute('lock tables newfeetable read, %s write'% table)
+
+ cursor.execute('''select section, code, oldcode, USERCODE,
+regulation, description, description1, %s from newfeetable
+order by code, ix'''% vals)
+ rows=cursor.fetchall()
+
+ query = 'insert into %s'% table
+ query += ''' (section, code, oldcode, USERCODE,
+regulation, description, brief_description, fee'''
+
+ if "," in vals:
+ query += ' , pt_fee) values (%s, %s, %s, %s, %s, %s, %s, %s, %s)'
+ else:
+ query += ') values (%s, %s, %s, %s, %s, %s, %s, %s)'
+
+ values = []
+ for row in rows:
+ if "NHS" in table or row[7] != 0 :
+ values.append(row)
+
+ cursor.executemany(query, values)
+
+ db.commit()
+ cursor.execute("unlock tables")
+
+ cursor.close()
+ db.close()
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.3 to 1.4"
+ try:
+ #- execute the SQL commands
+ self.progressSig(10, _("creating new tables"))
+ self.create_alter_tables()
+
+ #- transfer data
+ self.progressSig(20,
+ _("copying data across from old feetable"))
+ self.transferData()
+
+ #- update the schema version
+ #pass a tuple of compatible clients and the "user"
+ #who made these changes.
+ #only 1.4 client will work now.
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.4",), "1_3 to 1_4 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.4")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.3"
+ self.completeSig(_("rolled back to") + " 1.3")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_4to1_5.py b/src/openmolar/schema_upgrades/schema1_4to1_5.py
new file mode 100644
index 0000000..1cc2357
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_4to1_5.py
@@ -0,0 +1,166 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+from the patients table
+in schema 1_4 to a new exemptions table in schema 1_5
+also, remove the key for calendar, it makes more sense to have the date
+as the primary key. (cleaner code for updates)
+'''
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'alter table clinical_memos add column synopsis text',
+'alter table calendar drop column ix',
+'alter table calendar add primary key(adate)',
+'''
+CREATE TABLE if not exists exemptions (
+ix int(10) unsigned NOT NULL auto_increment ,
+serialno int(11) unsigned NOT NULL ,
+exemption varchar(10),
+exempttext varchar(50),
+datestamp DATETIME NOT NULL default '0000-00-00 00:00:00',
+PRIMARY KEY (ix),
+key (serialno))
+'''
+]
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def transferData(self):
+ '''
+ move data into the new tables
+ '''
+ db = connect.connect()
+ cursor=db.cursor()
+ cursor.execute('lock tables patients read, exemptions write')
+
+ cursor.execute('select serialno, exmpt, exempttext from patients')
+ rows=cursor.fetchall()
+
+ query = '''insert into exemptions (serialno, exemption, exempttext)
+ values (%s, %s, %s)'''
+
+ values = []
+ for row in rows:
+ if row[1] != "" or row[2] != "":
+ values.append(row)
+
+ cursor.executemany(query, values)
+
+ db.commit()
+ cursor.execute("unlock tables")
+
+ cursor.close()
+ db.close()
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.4 to 1.5"
+ try:
+ #- execute the SQL commands
+ self.progressSig(20, _("executing statements"))
+ self.create_alter_tables()
+
+ #- transfer data between tables
+ self.progressSig(50, _('transfering data'))
+
+ print "transfering data to new table, ...",
+ if self.transferData():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.5",), "1_4 to 1_5 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.5")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.4"
+ self.completeSig(_("rolled back to") + " 1.4")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_5to1_6.py b/src/openmolar/schema_upgrades/schema1_5to1_6.py
new file mode 100644
index 0000000..70b9d84
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_5to1_6.py
@@ -0,0 +1,234 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 1_6
+'''
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''
+alter table forum change comment comment text not null
+''',
+'''
+drop table docsimported
+''',
+'''
+CREATE TABLE if not exists docsimported (
+ix mediumint(8) unsigned NOT NULL auto_increment,
+serialno int(11) unsigned NOT NULL default 0,
+datatype varchar(60) NOT NULL default 'application/octet-stream',
+name varchar(120) NOT NULL default '',
+size bigint(20) unsigned NOT NULL default '1024',
+filedate datetime NOT NULL default '0000-00-00 00:00:00',
+importime timestamp NOT NULL default CURRENT_TIMESTAMP,
+PRIMARY KEY (ix) )
+''',
+'''
+CREATE TABLE if not exists docsimporteddata (
+ix mediumint(8) unsigned NOT NULL auto_increment,
+masterid mediumint(8) unsigned NOT NULL default '0',
+filedata blob NOT NULL,
+PRIMARY KEY (ix),
+KEY master_idx (masterid) )
+'''
+]
+
+TYPEDICT = {
+"exam" : ('0101', '0111', '0121', '0131', '4701'),
+"xray" : ('0202', '0203', '0204', '0205', '0206', '0207', '0211', '0212', '0213', '0221', '0301',
+ '4901', '4911', '4921', '4931', ),
+"perio" : ('1001', '1011', '1021', '1022', '1041', '1100', '1101', '1102', '1103', '1111', '1112',
+ '1113', '1121', '1131', '1191'),
+"CHART" : ('1401', '1402', '1403', '1404', '1411', '1412', '1415', '1416', '1417', '1418', '1420',
+ '1421', '1422', '1423', '1424', '1425', '1426', '1427', '1431', '1451', '1461', '1462',
+ '1470', '1471', '1481', '1482', '1483', '1501', '1502', '1503', '1504', '1511', '1521',
+ '1522', '1523', '1531', '1541', '1551', '1600', '1601', '1700', '1701', '1702', '1703',
+ '1704', '1705', '1706', '1711', '1712', '1716', '1721', '1722', '1723', '1726', '1731',
+ '1732', '1733', '1734', '1735', '1736', '1737', '1738', '1739', '1742', '1743', '1744',
+ '1751', '1761', '1762', '1771', '1781', '1782', '1801', '1802', '1803', '1804', '1805',
+ '1806', '1807', '1808', '1811', '1812', '1813', '1814', '1815', '1816', '1821', '1822',
+ '1823', '1824', '1825', '1826', '1827', '1831', '1832', '1841', '1851', '1852', '1861',
+ '1862', '1871', '2101', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2221',
+ '3611', '3661', '3671', '4401', '4402', '4403', '4404', '4405', '4406', '5001', '5112',
+ '5021', '5021', '5031', '5032', '5041', '5071', '5075', '5102', '5103', '5103', '5201',
+ '5211', '5212', '5213', '5214', '5215', '5216', '5217', '5811', '5812', '5813', '5814',
+ '5820', '5821', '5822', '5823', '5824', '5825', '5826', '5827', '5831', '5836', '5837',
+ '5838', '5841', '5842', '5843', '6001', '6002', '6003', '6004'),
+"ndu" : ('2711', '2730', '2731', '2733', '2741', '2743', '2744', '2745', '2761', '2771', '2781',
+ '5900', '5901', '5903', '5911', '5931', '5941', '5951'),
+"odu" : ('2801', '2803', '2821', '2831', '2851', '2853', '2855', '2861', '2863', '2865', '5501',
+ '5503', '5521', '5531', '5551', '5553', '5555', '5561', '5563', '5565'),
+"ndl" : ('2712', '2732', '2735', '2747', '2748', '2749', '2762', '2772', '2782',
+ '5902', '5905', '5923', '5932', '5942', '5952'),
+"odl" : ('2802', '2804', '2822', '2832', '2852', '2854', '2856', '2862', '2864', '2866', '5502',
+ '5504', '5522', '5532', '5551', '5553', '5555', '5562', '5564', '5566', ),
+
+"ortho" : ('3241', '3242', '3243', '3244', '3245', '3246', '3247', '3248', '3249', '3261', '3262',
+ '3263', '3264', '3281', '3282', '3283', '3284', '3285', '3291', '5581', '5582', '5583',
+ '5584', '5585', '5586', '5587', '5588', '5589' )
+
+}
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def addColumns(self):
+ '''
+ fee tables need a new column
+ '''
+
+ db = connect.connect()
+ cursor=db.cursor()
+
+ cursor.execute('select tablename from feetable_key')
+ rows = cursor.fetchall()
+
+ for row in rows:
+ print "altering feetable", row[0]
+ query = 'alter table %s add column pl_cmp char(20)'% row[0]
+ cursor.execute(query)
+
+ db.commit()
+
+ cursor.close()
+ db.close()
+ return True
+
+ def insertValues(self):
+ '''
+ fee tables need a new column
+ '''
+
+ db = connect.connect()
+ cursor=db.cursor()
+
+ cursor.execute('select tablename from feetable_key')
+ rows = cursor.fetchall()
+ for row in rows:
+ print "altering feetable", row[0]
+ query = 'update %s set pl_cmp=%%s where code=%%s'% row[0]
+ for key in TYPEDICT:
+ for code in TYPEDICT[key]:
+ values = (key, code)
+ cursor.execute(query, values)
+ db.commit()
+
+ cursor.close()
+ db.close()
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.5 to 1.6"
+ try:
+ #- execute the SQL commands
+ self.progressSig(20, _("executing statements"))
+ self.create_alter_tables()
+
+ #- transfer data between tables
+ self.progressSig(40, _('transfering data'))
+
+ print "adding columns to the feetables table, ...",
+ if self.addColumns():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+ self.progressSig(60, _('inserting values'))
+
+ print "inserting values"
+ if self.insertValues():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.6",), "1_5 to 1_6 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.6")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.5"
+ self.completeSig(_("rolled back to") + " 1.5")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_6to1_7.py b/src/openmolar/schema_upgrades/schema1_6to1_7.py
new file mode 100644
index 0000000..43063c2
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_6to1_7.py
@@ -0,0 +1,375 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2010 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 1_7
+'''
+import sys, types
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''
+alter table feetable_key add column data mediumtext
+''',
+'''
+alter table feetable_key change column data data mediumtext
+''',
+]
+
+REGEXDICT = {'2733': 'SR P', '0131': 'CTS', '1782': 'reg [ul]lr][1-8]CR,RC',
+'1541': 'reg [ul][lr][1-8]RR$',
+'1461': 'reg u[lr][4-8]GC/[MODBP]$|l[lr][4-8]GC/[MODBL]$|u[lr][1-3]GC/[MIDBP]$|l[lr][1-3]GC/[MIDBL]$',
+'0301': 'PHO',
+'1462': 'reg u[lr][4-8]GC/[MODBP]{2,5}$|l[lr][4-8]GC/[MODBL]{2,5}$|u[lr][1-3]GC/[MIDBP]{2,5}$|l[lr][1-3]GC/[MIDBL]{2,5}',
+'0121': 'FCA',
+'0201': 'S',
+'3641': 'PR',
+'1551': 'reg [ul][lr][A-E]$',
+'1701': 'reg u[lr][4-8]GI/[MODBP]$|l[lr][4-8]GI/[MODBL]$|u[lr][1-3]GI/[MIDBP]$|l[lr][1-3]GI/[MIDBL]$',
+'1702': 'reg u[lr][4-8]GI/[MODBP]{2}$|l[lr][4-8]GI/[MODBL]{2}$|u[lr][1-3]GI/[MDBP]{2}$|l[lr][1-3]GI/[MDBL]{2}$',
+'1703': 'multireg [ul][lr][1-3]GI/.*I _AND_ u[lr][1-3]GI/[MDBPI]{2}$|l[lr][1-3]GI/[MDBLI]{2}$',
+'1704': 'reg u[lr][4-8]GI/[MODBP]{3,5}$|l[lr][4-8]GI/[MODBL]{3,5}$|u[lr][1-3]GI/[MIDBP]{3,5}$|l[lr][1-3]GI/[MIDBL]{3,5}$',
+'1705': 'Gold_3_4',
+'1706': 'CR,GO',
+'1825': 'reg [ul][lr][1-8]BR/P,GO',
+'1827': 'reg [ul][lr][1-8]BR/P,GO',
+'1831': 'reg [ul][lr][1-8]BR/P,V1',
+'4401': 'reg u[lr][DE][MODBP]{1,5}(,CO)?(,GL)?(,AM)?$|l[lr][DE][MODBL]{1,5}(,CO)?(,GL)?(,AM)?$|u[lr][A-C][MIDBP]{1,5}(,CO)?(,GL)?(,AM)?$|l[lr][A-C][MIDBL]{1,5}(,CO)?(,GL)?(,AM)?$',
+'2311': 'IS',
+'1418': 'CO-4surf',
+'4404': 'reg [ul][lr][A-E]RT$',
+'0601': 'OHI',
+'1411': 'reg [ul][lr][4-6]TR/[MD]{1}(,CO)?$',
+'1412': 'reg [ul][lr][4-6]TR/[MD]{2}(,CO)?$',
+'1415': 'CO-1surf',
+'1416': 'CO-2surf',
+'1417': 'CO-3surf',
+'0111': 'ECE',
+'1121': 'CG',
+'1483': 'reg [ul][lr][4-8]FS,GC$',
+'1482': 'reg [ul][lr][4-8]FS,CO$',
+'1481': 'reg [ul][lr][4-8]FS$',
+'5601': 'AC',
+'5701': 'DV1',
+'3671': 'OD',
+'4801': 'PR',
+'1716': 'reg [ul][lr][1-8]CR,PJ',
+'2301': 'AH',
+'1851': 'reg [ul][lr][1-8]BR/T1',
+'1852': 'reg [ul][lr][1-8]BR/T2',
+'2302': 'PSR',
+'0204': 'P',
+'0202': 'M',
+'1521': 'reg [ul][lr][1-3]AP$',
+'1522': 'reg [ul][lr][45]AP$',
+'1523': 'reg u[lr][6-8]AP$',
+'1403': 'reg u[lr][4-8]([BP]{0,2}([MO]{2}|[DO]{2})[BP]{0,2})(,AM)?$|l[lr][4-8][BL]{0,2}([MO]{2}|[DO]{2})[BL]{0,2}(,AM)?$',
+'1402': 'reg u[lr][4-8][OBP]{2,5}(,AM)?$|l[lr][4-8][OBL]{2,5}(,AM)?$|u[lr][4-8][MDBP]{2,5}(,AM)?$|l[lr][4-8][MDBL]{2,5}(,AM)?$|l[lr][1-3][MDBLI]{2,5},AM$|u[lr][1-3][MDBPI]{2,5},AM$',
+'1401': 'reg u[lr][4-8][MODBP]{1}(,AM)?$|l[lr][4-8][MODBL]{1}(,AM)?$|u[lr][1-3][MIDBP]{1},AM$|l[lr][1-3][MIDBL]{1},AM$',
+'1011': 'SP+',
+'1404': 'reg u[lr][4-8][BP]{0,2}([MOD]{3}|[DOM]{3})[BP]{0,2}(,AM)?$|l[lr][4-8][BL]{0,2}([MOD]{3}|[DOM]{3})[BL]{0,2}(,AM)?$',
+'5001': 'DR',
+'2201': 'EX/S1',
+'0101': 'CE',
+'1425': '[ul][lr][456]CT$',
+'5122': 'BR,RC',
+'2206': 'reg l[lr]8EX/S3',
+'1431': '[ul][lr][1-8]PR$',
+'1726': 'reg [ul][lr][1-8]CR,A1',
+'2207': 'reg l[lr]8EX/S4',
+'1722': 'reg [ul][lr][1-8]CR,A1',
+'1721': 'reg [ul][lr][1-8]CR,V1',
+'0211': 'SM1',
+'0213': 'SM',
+'0212': 'SM2',
+'1531': 'reg l[lr][6-8]AP$',
+'1002': 'SP-',
+'1001': 'SP',
+'3611': 'ST',
+'5032': 'PX+',
+'5031': 'PX',
+'1421': 'reg u[lr][1-3][MDBPI]{1}(,CO)?$|l[lr][1-3][MDBIL]{1}(,CO)?$|u[lr][4-8][MDBP]{1},CO$|l[lr][4-8][MDBL]{1},CO$',
+'1420': 'reg u[lr][1-3][MDBPI]{2,5}(,CO)?$|l[lr][1-3][MDBIL]{2,5}(,CO)?$|u[lr][4-8][MDBP]{2},CO$|l[lr][4-8][MDBL]{2},CO$',
+'2202': 'reg [ul][lr][1-3]EX/S2',
+'2203': 'reg [ul][lr][4-7]EX/S2',
+'2204': 'reg u[lr]8EX/S3',
+'2205': 'reg u[lr]8EX/S4',
+'1427': 'reg u[lr][4-8][MODBP]{2,6},GL$|l[lr][4-8][MODBL]{2,6},GL$|u[lr][1-3][MDBPI]{2,6},GL$|l[lr][1-3][MDBLI]{2,6},GL$',
+'1426': 'reg u[lr][1-8][MDBP]{1},GL$|l[lr][1-8][MDBL]{1},GL$|[ul][lr][1-3]I,GL',
+'1731': 'reg [ul][lr][1-8]C1$',
+'1733': 'reg [ul][lr][1-8]C3$',
+'1732': 'reg [ul][lr][1-8]C2$',
+'1734': 'reg [ul][lr][1-8]C4$',
+'5702': 'DV2',
+'5703': 'DV3',
+'1502': 'reg u[lr][45]RT$',
+'1503': 'reg l[lr][45]RT$',
+'1501': 'reg [ul][lr][1-3]RT$',
+'1504': 'reg [ul][lr][6-8]RT$',
+'2121': 'XV',
+'1862': 'reg [ul][lr][1-8]BR,RC',
+'5102': 'CR,TC',
+'2211': 'FR',
+'4403': 'reg [ul][lr][A-E]PX$',
+'5712': 'RA2',
+'5711': 'RA1',
+'2101': 'EX',
+'1742': 'reg [ul][lr][1-8]CR,TC',
+'2734': 'LB -or- PB',
+'2735': 'SR P/',
+'2730': 'SR F/F',
+'2732': 'SR F',
+'5112': 'CR,RC',
+'2738': 'SR',
+'3631': 'SC',
+'5051': 'SC',
+'4001': 'OT',
+'2221': 'EX/S5',
+'2742': 'SS F -or- CC F',
+'0711': 'FL',
+'1751': 'reg [ul]lr][1-8]CR,OT',
+'1712': 'reg [ul][lr][1-8]CR,A2',
+'0221': 'AA',
+'3701': 'AC',
+'5041': 'ST',
+'1807': 'reg [ul][lr][1-8]BR/CR,V1',
+'1806': 'reg [ul][lr][1-8]BR/CR,GO',
+'1041': 'SPL',
+'1804': 'reg [ul][lr][1-8]BR/CR,GO',
+'1601': 'PV',
+'1808': 'reg [ul][lr][1-8]BR/CR,V2',
+'0701': 'FS'}
+
+
+##############################################################################
+## SOME FUNCTIONS SPECIFIC TO this update ##
+##############################################################################
+
+from xml.dom import minidom
+
+def getFeeDictForModification(table):
+ '''
+ a comprehensive dictionary formed from the entire table in the database
+ '''
+ query = '''select column_name from information_schema.columns
+ where table_name = %s and table_schema = %s'''
+ values = (table, connect.myDb)
+
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute(query, values)
+ rows = cursor.fetchall()
+ header = []
+ for row in rows:
+ header.append(row[0])
+
+ query = 'select * from %s'% table
+ cursor.execute(query)
+ rows = cursor.fetchall()
+ cursor.close()
+
+ return (header, rows)
+
+def getAsXML(table):
+ '''
+ convert the table to XML
+ called by schema upgrade script 1_6 to 1_7
+ '''
+ print "converting %s to xml"% table
+ col_names, rows = getFeeDictForModification(table)
+ dom = minidom.Document()
+ tab = dom.createElement("table")
+
+ itemcodeIndex = col_names.index("code")
+ currentItem = ""
+
+ for row in rows:
+ newNode = row[itemcodeIndex] != currentItem
+ currentItem = row[itemcodeIndex]
+ if newNode:
+ item = dom.createElement("item")
+
+ i = 0
+ fees=[]
+ ptfees=[]
+ for col in col_names:
+ makeNode = (col != "ix" and (newNode or not
+ col in ("section", "code", "oldcode","USERCODE","regulation",
+ "description","hide","pl_cmp")))
+
+ if col.startswith("fee") or col.startswith("pt_fee"):
+ makeNode = False
+ try:
+ val = int(row[i])
+ except ValueError:
+ val = 0
+ except TypeError:
+ val = 0
+ if col.startswith("fee"):
+ fees.append(val)
+ else:
+ ptfees.append(val)
+
+ if makeNode:
+ if col == "USERCODE":
+ colno = col_names.index("code")
+ d = dom.createElement("USERCODE")
+ val = REGEXDICT.get(row[colno],"")
+ d.appendChild(dom.createTextNode(val))
+ elif row[i]:
+ d = dom.createElement(col)
+ val = str(row[i])
+ val = val.replace('\xc3\xbe', '3/4')
+ d.appendChild(dom.createTextNode(val))
+ item.appendChild(d)
+ i += 1
+
+ d = dom.createElement("fee")
+ d.appendChild(dom.createTextNode(str(fees).strip("[]")))
+ item.appendChild(d)
+
+ p_fees_str = str(ptfees).strip("[]")
+ if p_fees_str:
+ d = dom.createElement("pt_fee")
+ d.appendChild(dom.createTextNode(p_fees_str))
+ item.appendChild(d)
+
+ tab.appendChild(item)
+ dom.appendChild(tab)
+
+ result = dom.toxml()
+ dom.unlink()
+ return result
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def insertValues(self):
+ '''
+ fee tables need a new column "Data" to replace the multiple tables
+ '''
+
+ db = connect.connect()
+ cursor=db.cursor()
+
+ cursor.execute('select ix, tablename from feetable_key')
+ rows = cursor.fetchall()
+
+ for ix, tablename in rows:
+ print "altering feetable", tablename
+
+ table_xml = getAsXML(tablename)
+ query = "update feetable_key set data = %s where ix = %s"
+ values = (table_xml, ix)
+ cursor.execute(query, values)
+
+ db.commit()
+
+ cursor.close()
+ db.close()
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.6 to 1.7"
+ try:
+ #- execute the SQL commands
+ self.progressSig(20, _("executing statements"))
+ self.create_alter_tables()
+
+ #- transfer data between tables
+ self.progressSig(60, _('inserting values'))
+
+ print "inserting values"
+ if self.insertValues():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.6","1.7",), "1_6 to 1_7 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.7 " + _("you may now remove old feetables"))
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.6"
+ self.completeSig(_("rolled back to") + " 1.6")
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_7to1_8.py b/src/openmolar/schema_upgrades/schema1_7to1_8.py
new file mode 100644
index 0000000..a964d01
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_7to1_8.py
@@ -0,0 +1,194 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 1_8
+'''
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''
+alter table aslot
+add column timestamp timestamp not null default CURRENT_TIMESTAMP
+''',
+'DROP TABLE if exists phrasebook',
+'''
+CREATE TABLE if not exists phrasebook (
+clinician_id int unsigned NOT NULL,
+phrases text,
+PRIMARY KEY (clinician_id) )
+''',
+'drop table if exists feetable_HDP',
+'drop table if exists feetable_Private_2009',
+'drop table if exists feetable_Private_2010',
+'drop table if exists feetable_scotNHS_08_Adult',
+'drop table if exists feetable_scotNHS_08_Child',
+'drop table if exists feetable_scotNHS_09_Adult',
+'drop table if exists feetable_scotNHS_09_Child',
+]
+
+EXAMPLE_PHRASEBOOK = '''<?xml version="1.0" ?>
+<phrasebook>
+<section>
+ <header>Anaesthetics</header>
+ <phrase>No LA.</phrase>
+ <phrase>Anaesthetic Used - Citanest</phrase>
+ <phrase>Anaesthetic Used - Scandonest Plain</phrase>
+ <phrase>Anaesthetic Used - Scandonest Special</phrase>
+ <phrase>Anaesthetic Used - Septonest + 1:100,000 Adrenaline (Gold)</phrase>
+ <phrase>Anaesthetic Used - Septonest + 1:200,000 Adrenaline (Green)</phrase>
+ <phrase>Anaesthetic Used - Lignocaine + 1:80,000 Adrenaline</phrase>
+</section>
+<section>
+ <header>Restorations</header>
+ <widget>choose_tooth</widget>
+ <phrase>Restored using Amalgam</phrase>
+ <phrase>Restored using Fuji Ix</phrase>
+ <phrase>Restored using Etch/bond/Tetric Composite</phrase>
+ <phrase>Restored using Etch/bond/Venus-Diamond Composite</phrase>
+ <phrase>Restored using Etch/bond/Synergy Composite</phrase>
+</section>
+<section>
+ <header>Preparation</header>
+ <widget>choose_tooth</widget>
+ <phrase>Crown Preparation, Pentamix Impression, Alginate of opposing arch. Temporised with Quick Temp and tempbond</phrase>
+ <phrase>Bridge Preparation, Pentamix Impression, Alginate of opposing arch. Temporised with Quick Temp and tempbond</phrase>
+ <phrase>Crown Preparation, Pentamix Impression in triple tray. Temporised with Quick Temp and tempbond</phrase>
+ <phrase>Bridge Preparation, Afinis Impression in triple tray. Temporised with Quick Temp and tempbond</phrase>
+ <widget>choose_shade</widget>
+</section>
+<section>
+ <header>Endodontics</header>
+ <widget>choose_tooth</widget>
+ <phrase>1st Stage RCT, irrigated and dried, dressed ledermix and coltosol</phrase>
+ <phrase>1st Stage RCT, irrigated and dried, dressed hypocal and coltosol</phrase>
+ <phrase>Final Stage RCT, irrigated and dried, Sealed with tubliseal and gutta percha.</phrase>
+</section>
+</phrasebook>'''
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showhing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(10+70*i/commandNo,sql_string[:20]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def insertValues(self):
+ '''
+ insert the demo phrasebook
+ '''
+
+ db = connect.connect()
+ cursor=db.cursor()
+
+ query = "insert into phrasebook values (%s, %s)"
+ values = (0, EXAMPLE_PHRASEBOOK)
+ cursor.execute(query, values)
+ db.commit()
+
+ cursor.close()
+ db.close()
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.7 to 1.8"
+ try:
+ #- execute the SQL commands
+ self.progressSig(20, _("executing statements"))
+ self.create_alter_tables()
+ self.progressSig(60, _('inserting values'))
+
+ print "inserting values"
+ if self.insertValues():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.8",), "1_7 to 1_8 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.8")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.7"
+ self.completeSig(_("rolled back to") + " 1.7")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_8to1_9.py b/src/openmolar/schema_upgrades/schema1_8to1_9.py
new file mode 100644
index 0000000..72f3a04
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_8to1_9.py
@@ -0,0 +1,150 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 1_9
+'''
+from __future__ import division
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS = [
+'''
+create table formatted_notes (ix serial, serialno int(11),
+ndate date, op1 varchar(8), op2 varchar(8), ntype varchar(32),
+note varchar(80), timestamp timestamp default NOW());
+''',
+'''
+create index formatted_notes_serialno_index on formatted_notes(serialno);
+''',
+'''
+create index newdocsprinted_serialno_index on newdocsprinted(serialno);
+'''
+]
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def create_alter_tables(self):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(SQLSTRINGS)
+ for sql_string in SQLSTRINGS:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def insertValues(self):
+ '''
+ this code is complex, so in a separate module for ease of maintenance
+ '''
+ from openmolar.schema_upgrades import formatted_notes1_9
+ max_sno = formatted_notes1_9.get_max_sno()
+ sno = 0
+ print "max_sno in notes = %s "% max_sno
+
+ while sno < max_sno:
+ sno += 1
+ formatted_notes1_9.transfer(sno)
+ progress = int(sno/max_sno * 90)+8
+ self.progressSig(progress, "%s %s"% (
+ _('converting note'), sno))
+ QtGui.QApplication.instance().processEvents()
+
+ return True
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.8 to 1.9"
+ try:
+ #- execute the SQL commands
+ self.progressSig(2, _("executing statements"))
+ self.create_alter_tables()
+ self.progressSig(8, _('inserting values'))
+
+ print "inserting values"
+ if self.insertValues():
+ print "ok"
+ else:
+ print "FAILED!!!!!"
+
+ self.progressSig(99, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("1.9",), "1_8 to 1_9 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 1.9")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.8"
+ self.completeSig(_("rolled back to") + " 1.8")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema1_9to2_0.py b/src/openmolar/schema_upgrades/schema1_9to2_0.py
new file mode 100644
index 0000000..30a8ad9
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema1_9to2_0.py
@@ -0,0 +1,156 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 2_0
+'''
+from __future__ import division
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+SQLSTRINGS_1 = [
+'''
+create table appt_prefs (
+ serialno int(11),
+ recall_active bool not null default True,
+ recdent_period int,
+ recdent date,
+ rechyg_period int,
+ rechyg date,
+ recall_method enum("post", "sms", "email", "tel"),
+ sms_reminders bool not null default False,
+ no_combined_appts bool not null default False,
+ note varchar(120),
+ PRIMARY KEY (serialno)
+ );
+'''
+]
+
+SQLSTRINGS_2 = [
+'''
+insert into appt_prefs
+(serialno, recall_active, recdent, recdent_period)
+select serialno, True, recd, 6 from patients
+where status != "deceased" and recd>20081231;
+''',
+'''
+update appt_prefs as t1, patients as t2
+set t1.recdent_period = 12
+where t1.serialno = t2.serialno and t2.memo like "%yearly%";
+''',
+'''
+update appt_prefs as t1, patients as t2
+set t1.note = replace(replace(t2.memo,"\n"," "),"\r","")
+where t1.serialno = t2.serialno and t2.memo like "%appt%";
+''',
+'''
+update patients as t1, appt_prefs as t2
+set t1.memo = ""
+where t1.serialno = t2.serialno and t1.memo = t2.note;
+'''
+
+]
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def execute_statements(self, sql_strings):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(sql_strings)
+ for sql_string in sql_strings:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 1.9 to 2.0"
+ try:
+ #- execute the SQL commands
+ self.progressSig(10, _("creating new appt_prefs table"))
+ self.execute_statements(SQLSTRINGS_1)
+ self.progressSig(50, _('copying data'))
+ self.execute_statements(SQLSTRINGS_2)
+ self.progressSig(80, _('statements executed'))
+
+ self.progressSig(90, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("2.0",), "1_9 to 2_0 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 2.0")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "1.9"
+ self.completeSig(_("rolled back to") + " 1.9")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema2_0to2_1.py b/src/openmolar/schema_upgrades/schema2_0to2_1.py
new file mode 100644
index 0000000..74ede17
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema2_0to2_1.py
@@ -0,0 +1,324 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 2_1
+'''
+from __future__ import division
+
+import logging
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+
+logging.basicConfig()
+
+SQLSTRINGS = [
+'drop table if exists currtrtmt2',
+
+'''
+create table currtrtmt2 (
+ courseno int(11) unsigned not null auto_increment ,
+ serialno int(11) ,
+ examt varchar(10) NOT NULL default '',
+ examd date ,
+ accd date ,
+ cmpd date ,
+ xraypl varchar(56) NOT NULL default '' ,
+ periopl varchar(56) NOT NULL default '' ,
+ anaespl varchar(56) NOT NULL default '' ,
+ otherpl varchar(56) NOT NULL default '' ,
+ ndupl varchar(56) NOT NULL default '' ,
+ ndlpl varchar(56) NOT NULL default '' ,
+ odupl varchar(56) NOT NULL default '' ,
+ odlpl varchar(56) NOT NULL default '' ,
+ custompl varchar(56) NOT NULL default '' ,
+ ur8pl varchar(34) NOT NULL default '' ,
+ ur7pl varchar(34) NOT NULL default '' ,
+ ur6pl varchar(34) NOT NULL default '' ,
+ ur5pl varchar(34) NOT NULL default '' ,
+ ur4pl varchar(34) NOT NULL default '' ,
+ ur3pl varchar(34) NOT NULL default '' ,
+ ur2pl varchar(34) NOT NULL default '' ,
+ ur1pl varchar(34) NOT NULL default '' ,
+ ul1pl varchar(34) NOT NULL default '' ,
+ ul2pl varchar(34) NOT NULL default '' ,
+ ul3pl varchar(34) NOT NULL default '' ,
+ ul4pl varchar(34) NOT NULL default '' ,
+ ul5pl varchar(34) NOT NULL default '' ,
+ ul6pl varchar(34) NOT NULL default '' ,
+ ul7pl varchar(34) NOT NULL default '' ,
+ ul8pl varchar(34) NOT NULL default '' ,
+ ll8pl varchar(34) NOT NULL default '' ,
+ ll7pl varchar(34) NOT NULL default '' ,
+ ll6pl varchar(34) NOT NULL default '' ,
+ ll5pl varchar(34) NOT NULL default '' ,
+ ll4pl varchar(34) NOT NULL default '' ,
+ ll3pl varchar(34) NOT NULL default '' ,
+ ll2pl varchar(34) NOT NULL default '' ,
+ ll1pl varchar(34) NOT NULL default '' ,
+ lr1pl varchar(34) NOT NULL default '' ,
+ lr2pl varchar(34) NOT NULL default '' ,
+ lr3pl varchar(34) NOT NULL default '' ,
+ lr4pl varchar(34) NOT NULL default '' ,
+ lr5pl varchar(34) NOT NULL default '' ,
+ lr6pl varchar(34) NOT NULL default '' ,
+ lr7pl varchar(34) NOT NULL default '' ,
+ lr8pl varchar(34) NOT NULL default '' ,
+ ur8cmp varchar(34) NOT NULL default '' ,
+ ur7cmp varchar(34) NOT NULL default '' ,
+ ur6cmp varchar(34) NOT NULL default '' ,
+ ur5cmp varchar(34) NOT NULL default '' ,
+ ur4cmp varchar(34) NOT NULL default '' ,
+ ur3cmp varchar(34) NOT NULL default '' ,
+ ur2cmp varchar(34) NOT NULL default '' ,
+ ur1cmp varchar(34) NOT NULL default '' ,
+ ul1cmp varchar(34) NOT NULL default '' ,
+ ul2cmp varchar(34) NOT NULL default '' ,
+ ul3cmp varchar(34) NOT NULL default '' ,
+ ul4cmp varchar(34) NOT NULL default '' ,
+ ul5cmp varchar(34) NOT NULL default '' ,
+ ul6cmp varchar(34) NOT NULL default '' ,
+ ul7cmp varchar(34) NOT NULL default '' ,
+ ul8cmp varchar(34) NOT NULL default '' ,
+ ll8cmp varchar(34) NOT NULL default '' ,
+ ll7cmp varchar(34) NOT NULL default '' ,
+ ll6cmp varchar(34) NOT NULL default '' ,
+ ll5cmp varchar(34) NOT NULL default '' ,
+ ll4cmp varchar(34) NOT NULL default '' ,
+ ll3cmp varchar(34) NOT NULL default '' ,
+ ll2cmp varchar(34) NOT NULL default '' ,
+ ll1cmp varchar(34) NOT NULL default '' ,
+ lr1cmp varchar(34) NOT NULL default '' ,
+ lr2cmp varchar(34) NOT NULL default '' ,
+ lr3cmp varchar(34) NOT NULL default '' ,
+ lr4cmp varchar(34) NOT NULL default '' ,
+ lr5cmp varchar(34) NOT NULL default '' ,
+ lr6cmp varchar(34) NOT NULL default '' ,
+ lr7cmp varchar(34) NOT NULL default '' ,
+ lr8cmp varchar(34) NOT NULL default '' ,
+ xraycmp varchar(56) NOT NULL default '' ,
+ periocmp varchar(56) NOT NULL default '' ,
+ anaescmp varchar(56) NOT NULL default '' ,
+ othercmp varchar(56) NOT NULL default '' ,
+ nducmp varchar(56) NOT NULL default '' ,
+ ndlcmp varchar(56) NOT NULL default '' ,
+ oducmp varchar(56) NOT NULL default '' ,
+ odlcmp varchar(56) NOT NULL default '' ,
+ customcmp varchar(56)NOT NULL default '' ,
+PRIMARY KEY (courseno),
+INDEX (serialno)
+)'''
+]
+
+
+SOURCE_QUERY = '''
+SELECT courseno, serialno, examt, examd, accd, cmpd,
+xraypl, periopl, anaespl, otherpl, ndupl, ndlpl,
+odupl, odlpl, custompl,
+ur8pl, ur7pl, ur6pl, ur5pl, ur4pl, ur3pl, ur2pl, ur1pl, ul1pl, ul2pl,
+ul3pl, ul4pl, ul5pl, ul6pl, ul7pl, ul8pl, ll8pl, ll7pl, ll6pl, ll5pl, ll4pl,
+ll3pl, ll2pl, ll1pl, lr1pl, lr2pl, lr3pl, lr4pl, lr5pl, lr6pl, lr7pl, lr8pl,
+ur8cmp, ur7cmp, ur6cmp, ur5cmp, ur4cmp, ur3cmp, ur2cmp, ur1cmp, ul1cmp,
+ul2cmp, ul3cmp, ul4cmp, ul5cmp, ul6cmp, ul7cmp, ul8cmp, ll8cmp, ll7cmp,
+ll6cmp, ll5cmp, ll4cmp, ll3cmp, ll2cmp, ll1cmp, lr1cmp, lr2cmp, lr3cmp,
+lr4cmp, lr5cmp, lr6cmp, lr7cmp, lr8cmp,
+xraycmp, periocmp, anaescmp, othercmp,
+nducmp, ndlcmp, oducmp, odlcmp, customcmp
+from currtrtmt order by courseno'''
+
+DEST_QUERY = '''
+insert into currtrtmt2 (serialno, examt, examd, accd, cmpd,
+xraypl, periopl, anaespl, otherpl, ndupl, ndlpl,
+odupl, odlpl, custompl,
+ur8pl, ur7pl, ur6pl, ur5pl, ur4pl, ur3pl, ur2pl, ur1pl, ul1pl, ul2pl,
+ul3pl, ul4pl, ul5pl, ul6pl, ul7pl, ul8pl, ll8pl, ll7pl, ll6pl, ll5pl, ll4pl,
+ll3pl, ll2pl, ll1pl, lr1pl, lr2pl, lr3pl, lr4pl, lr5pl, lr6pl, lr7pl, lr8pl,
+ur8cmp, ur7cmp, ur6cmp, ur5cmp, ur4cmp, ur3cmp, ur2cmp, ur1cmp, ul1cmp,
+ul2cmp, ul3cmp, ul4cmp, ul5cmp, ul6cmp, ul7cmp, ul8cmp, ll8cmp, ll7cmp,
+ll6cmp, ll5cmp, ll4cmp, ll3cmp, ll2cmp, ll1cmp, lr1cmp, lr2cmp, lr3cmp,
+lr4cmp, lr5cmp, lr6cmp, lr7cmp, lr8cmp,
+xraycmp, periocmp, anaescmp, othercmp,
+nducmp, ndlcmp, oducmp, odlcmp, customcmp)
+values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
+%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
+%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
+%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
+%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
+'''
+
+PATIENT_QUERY = '''
+update patients set courseno0=%s where serialno=%s and courseno0=%s
+'''
+
+ESTIMATES_QUERY = '''
+update newestimates set courseno=%s where serialno=%s and courseno=%s
+'''
+
+GARBAGE_QUERY = '''
+delete from currtrtmt2
+WHERE examt="" AND xraypl="" AND periopl="" AND anaespl="" AND otherpl=""
+AND ndupl="" AND ndlpl="" AND odupl="" AND odlpl="" AND custompl=""
+AND ur8pl="" AND ur7pl="" AND ur6pl="" AND ur5pl="" AND ur4pl="" AND ur3pl=""
+AND ur2pl="" AND ur1pl="" AND ul1pl="" AND ul2pl="" AND ul3pl="" AND ul4pl=""
+AND ul5pl="" AND ul6pl="" AND ul7pl="" AND ul8pl="" AND ll8pl="" AND ll7pl=""
+AND ll6pl="" AND ll5pl="" AND ll4pl="" AND ll3pl="" AND ll2pl="" AND ll1pl=""
+AND lr1pl="" AND lr2pl="" AND lr3pl="" AND lr4pl="" AND lr5pl="" AND lr6pl=""
+AND lr7pl="" AND lr8pl="" AND
+ur8cmp="" AND ur7cmp="" AND ur6cmp="" AND ur5cmp="" AND ur4cmp="" AND
+ur3cmp="" AND ur2cmp="" AND ur1cmp="" AND ul1cmp="" AND ul2cmp="" AND
+ul3cmp="" AND ul4cmp="" AND ul5cmp="" AND ul6cmp="" AND ul7cmp="" AND
+ul8cmp="" AND ll8cmp="" AND ll7cmp="" AND ll6cmp="" AND ll5cmp="" AND
+ll4cmp="" AND ll3cmp="" AND ll2cmp="" AND ll1cmp="" AND lr1cmp="" AND
+lr2cmp="" AND lr3cmp="" AND lr4cmp="" AND lr5cmp="" AND lr6cmp="" AND
+lr7cmp="" AND lr8cmp="" AND
+xraycmp="" AND periocmp="" AND anaescmp="" AND othercmp="" AND nducmp=""
+AND ndlcmp="" AND oducmp="" AND odlcmp="" AND customcmp=""
+'''
+
+## don't use this one.. seems unnecessary.
+
+CORRECTION_QUERY = '''
+update patients join
+(select serialno, max(courseno) cno from currtrtmt2 group by serialno) as t
+on t.serialno = patients.serialno set courseno0 = cno
+where cno > courseno0
+'''
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def execute_statements(self, sql_strings):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(sql_strings)
+ for sql_string in sql_strings:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 2.0 to 2.1"
+ try:
+ #- execute the SQL commands
+ self.progressSig(5, _("creating currtrtmt2 table"))
+ self.execute_statements(SQLSTRINGS)
+ self.progressSig(10, _('transferring data'))
+
+ self.transfer_data()
+
+ self.progressSig(95, _("deleting void courses"))
+ self.execute_statements([GARBAGE_QUERY, CORRECTION_QUERY])
+
+ self.progressSig(97, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("2.1",), "2_0 to 2_1 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 2.1")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "2.0"
+ self.completeSig(_("rolled back to") + " 2.0")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+ def transfer_data(self):
+ '''
+ function specific to this update.
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ try:
+ cursor = db.cursor()
+ cursor.execute(SOURCE_QUERY)
+ rows = cursor.fetchall()
+ cursor.close()
+ cursor = db.cursor()
+ step = 1 / len(rows)
+ for i, row in enumerate(rows):
+ courseno = row[0]
+ serialno = row[1]
+ cursor.execute(DEST_QUERY, row[1:])
+ new_cno = db.insert_id()
+ cursor.execute(PATIENT_QUERY, (new_cno, serialno, courseno))
+ cursor.execute(ESTIMATES_QUERY, (new_cno, serialno, courseno))
+ if i % 100 == 0:
+ self.progressSig(80 * i/len(rows) + 10,
+ _("transfering data"))
+ cursor.close()
+ db.commit()
+ db.close()
+ except Exception as exc:
+ logging.exception("error transfering data")
+ db.rollback()
+ raise UpdateException(exc)
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema2_1to2_2.py b/src/openmolar/schema_upgrades/schema2_1to2_2.py
new file mode 100644
index 0000000..63efc3f
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema2_1to2_2.py
@@ -0,0 +1,324 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 2_2
+'''
+from __future__ import division
+
+import logging
+import os
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+logging.basicConfig()
+
+SQLSTRINGS = [
+'drop table if exists currtrtmt',
+'drop table if exists est_link',
+'drop table if exists feescales',
+'drop table est_logger',
+'update patients set addr2="" where addr2 is NULL',
+'update patients set addr3="" where addr3 is NULL',
+'update patients set town="" where town is NULL',
+'update patients set county="" where town is NULL',
+
+'''
+alter table patients
+ alter column addr2 set default "",
+ alter column addr3 set default "",
+ alter column town set default "",
+ alter column county set default ""
+''',
+
+'''
+alter table newestimates modify column itemcode char(5)
+''',
+
+'''
+update newestimates set itemcode="-----" where itemcode = "4001"
+''',
+
+'''
+update newestimates set itemcode="CUSTO" where itemcode = "4002"
+''',
+
+'''
+create table est_link (
+ ix int(11) unsigned not null auto_increment ,
+ est_id int(11),
+ daybook_id int(11),
+ tx_hash varchar(20) NOT NULL,
+ completed bool NOT NULL default 0,
+PRIMARY KEY (ix),
+INDEX (est_id)
+)''',
+
+'create index est_link_hash_index on est_link(tx_hash)',
+
+'''
+create table feescales (
+ ix int(11) unsigned not null auto_increment,
+ in_use bool not null default false,
+ priority int(8),
+ comment varchar(255) not null default "unnamed feescale",
+ xml_data mediumtext not null,
+PRIMARY KEY (ix)
+)''',
+
+'''
+create table est_logger (
+ ix int(11) unsigned not null auto_increment,
+ courseno int(11) unsigned not null,
+ est_data mediumtext not null,
+ operator varchar(16) not null,
+ time_stamp timestamp NOT NULL default CURRENT_TIMESTAMP,
+PRIMARY KEY (ix)
+)''',
+
+'update currtrtmt2 set ndlpl = replace(ndlpl, "SR ", "SR_")',
+'update currtrtmt2 set ndlpl = replace(ndlpl, "CC ", "CC_")',
+'update currtrtmt2 set ndupl = replace(ndupl, "SR ", "SR_")',
+'update currtrtmt2 set ndupl = replace(ndupl, "SR ", "SR_")',
+'update currtrtmt2 set ndlcmp = replace(ndlcmp, "SR ", "SR_")',
+'update currtrtmt2 set ndlcmp = replace(ndlcmp, "CC ", "CC_")',
+'update currtrtmt2 set nducmp = replace(nducmp, "SR ", "SR_")',
+'update currtrtmt2 set nducmp = replace(nducmp, "SR ", "SR_")',
+
+'''
+update newestimates set type = replace(type, "SR ", "SR_")
+where category in ("ndu", "ndl")
+''',
+
+'''
+update newestimates set type = replace(type, "CC ", "CC_")
+where category in ("ndu", "ndl")
+'''
+
+]
+
+
+SOURCE_QUERY = ('SELECT courseno, ix, category, type, completed '
+'FROM newestimates '
+'ORDER BY serialno, courseno, category, type, completed DESC')
+
+DEST_QUERY = ('insert into est_link (est_id, tx_hash, completed) '
+'values (%s, %s, %s)')
+
+FEESCALE_QUERY = ('insert into feescales (xml_data, in_use, comment) '
+'values (%s, 1, "example feescale")')
+
+#this query gets selected estimate data for all active courses
+LOGGER_SELECT_QUERY = '''
+ select newestimates.courseno, number, itemcode, description, csetype,
+feescale, dent, fee, ptfee from newestimates join
+(select currtrtmt2.courseno from currtrtmt2 join patients
+on currtrtmt2.courseno = patients.courseno0
+where accd is not NULL and cmpd is NULL) as active_courses
+on newestimates.courseno=active_courses.courseno
+order by newestimates.courseno, newestimates.itemcode, newestimates.ix
+'''
+
+LOGGER_INSERT_QUERY = ('insert into est_logger '
+'(courseno, est_data, operator) values (%s,%s, %s)')
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def execute_statements(self, sql_strings):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(sql_strings)
+ for sql_string in sql_strings:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 2.1 to 2.2"
+ try:
+ #- execute the SQL commands
+ self.progressSig(5, _("creating tables"))
+ self.execute_statements(SQLSTRINGS)
+
+ self.progressSig(10, _("populating est_link table"))
+ self.transfer_data()
+
+ self.progressSig(95, _("populating feescales"))
+ self.insert_feescales()
+
+ self.progressSig(97, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("2.2",), "2_1 to 2_2 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 2.2")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "2.1"
+ self.completeSig(_("rolled back to") + " 2.1")
+
+ except Exception, e:
+ print "Exception caught",e
+ self.completeSig(str(e))
+
+ return self.completed
+
+ def transfer_data(self):
+ '''
+ function specific to this update.
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ try:
+ cursor = db.cursor()
+ cursor.execute(SOURCE_QUERY)
+ rows = cursor.fetchall()
+ cursor.close()
+ cursor = db.cursor()
+ step = 1 / len(rows)
+ count, prev_courseno, prev_cat_type = 1, 0, ""
+ prev_hash = None
+ for i, row in enumerate(rows):
+ courseno, ix, category, type_, completed = row
+ cat_type = "%s%s"% (category, type_)
+ if courseno != prev_courseno:
+ count = 1
+ elif cat_type != prev_cat_type:
+ count = 1
+ else:
+ count += 1
+
+ prev_courseno = courseno
+ prev_cat_type = cat_type
+
+ tx_hash = hash("%s%s%s%s"% (courseno, category, count, type_))
+
+ if completed is None:
+ completed = False
+ values = (ix, tx_hash, completed)
+ cursor.execute(DEST_QUERY, values)
+ if i % 1000 == 0:
+ self.progressSig(50 * i/len(rows) + 10,
+ _("transfering data"))
+
+ cursor.execute(LOGGER_SELECT_QUERY)
+ rows = cursor.fetchall()
+ prev_courseno = None
+ est_log_text = ""
+ total, p_total = 0, 0
+ for i, (courseno, number, itemcode, description, csetype,
+ feescale, dent, fee, ptfee) in enumerate(rows):
+ line_text = \
+ "%s || %s || %s || %s || %s || %s || %s || %s||\n"% (
+ number, itemcode, description, csetype,
+ feescale, dent, fee, ptfee)
+
+ if prev_courseno is None or courseno == prev_courseno:
+ est_log_text += line_text
+ total += fee
+ p_total += ptfee
+ else:
+ est_log_text += "TOTAL || || || || || || %s || %s"% (
+ total, p_total)
+ values = (prev_courseno, est_log_text, "2_2script")
+ cursor.execute(LOGGER_INSERT_QUERY, values)
+ est_log_text = line_text
+ total, p_total = fee, ptfee
+
+ prev_courseno = courseno
+ if i % 1000 == 0:
+ self.progressSig(30 * i/len(rows) + 60,
+ _("transfering data"))
+
+ db.commit()
+ db.close()
+ except Exception as exc:
+ logging.exception("error transfering data")
+ db.rollback()
+ raise UpdateException(exc)
+
+ def insert_feescales(self):
+ feescale_path = os.path.join(localsettings.wkdir, 'resources',
+ "feescales", "example_feescale.xml")
+ db = connect.connect()
+ db.autocommit(False)
+ try:
+ f = open(feescale_path, "r")
+ data = f.read()
+ f.close()
+ cursor = db.cursor()
+ cursor.execute(FEESCALE_QUERY, (data,))
+ cursor.close()
+ db.commit()
+ db.close()
+ except Exception as exc:
+ logging.exception("error inserting test feescale")
+ db.rollback()
+ raise UpdateException(exc)
+
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema2_2to2_3.py b/src/openmolar/schema_upgrades/schema2_2to2_3.py
new file mode 100644
index 0000000..def768f
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema2_2to2_3.py
@@ -0,0 +1,207 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 2_3
+'''
+from __future__ import division
+
+import logging
+import os
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+logging.basicConfig()
+
+SQLSTRINGS = [
+'drop table if exists est_link2',
+
+'''
+create table est_link2 (
+ ix int(11) unsigned not null auto_increment ,
+ est_id int(11),
+ daybook_id int(11),
+ tx_hash char(40) NOT NULL,
+ completed bool NOT NULL default 0,
+PRIMARY KEY (ix),
+INDEX (est_id)
+)''',
+
+'create index est_link2_hash_index on est_link2(tx_hash)',
+]
+
+SOURCE_QUERY = ('SELECT courseno, ix, category, type, completed '
+'FROM newestimates where type is not null '
+'ORDER BY serialno, courseno, category, type, completed DESC')
+
+DEST_QUERY = ('insert into est_link2 (est_id, tx_hash, completed) '
+'values (%s, %s, %s)')
+
+CLEANUPSTRINGS = [
+'''
+update est_link join est_link2
+on est_link.est_id = est_link2.est_id
+set est_link2.completed = est_link.completed,
+est_link2.daybook_id = est_link.daybook_id
+''',
+'''
+insert into est_link2 (est_id, daybook_id, tx_hash, completed)
+select est_link.est_id, est_link.daybook_id, "BAD_HASH",
+est_link.completed from est_link left join est_link2
+on est_link.est_id=est_link2.est_id where est_link2.tx_hash is NULL
+'''
+]
+
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def execute_statements(self, sql_strings):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(sql_strings)
+ for sql_string in sql_strings:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 2.2 to 2.3"
+ try:
+ #- execute the SQL commands
+ self.progressSig(5, _("creating est_link2 table"))
+ self.execute_statements(SQLSTRINGS)
+
+ self.progressSig(10, _("populating est_link2 table"))
+ self.transfer_data()
+
+ self.progressSig(95, _("executing cleanup statements"))
+ self.execute_statements(CLEANUPSTRINGS)
+
+ self.progressSig(97, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("2.3",), "2_2 to 2_3 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 2.3")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "2.2"
+ self.completeSig(_("rolled back to") + " 2.2")
+
+ except Exception as exc:
+ logging.exception ("Exception caught")
+ self.completeSig(str(exc))
+
+ return self.completed
+
+ def transfer_data(self):
+ '''
+ function specific to this update.
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ try:
+ cursor = db.cursor()
+ cursor.execute(SOURCE_QUERY)
+ rows = cursor.fetchall()
+ cursor.close()
+ cursor = db.cursor()
+ step = 1 / len(rows)
+ count, prev_courseno, prev_cat_type = 1, 0, ""
+ prev_hash = None
+ for i, row in enumerate(rows):
+ courseno, ix, category, type_, completed = row
+ cat_type = "%s%s"% (category, type_)
+ if courseno != prev_courseno:
+ count = 1
+ elif cat_type != prev_cat_type:
+ count = 1
+ else:
+ count += 1
+
+ prev_courseno = courseno
+ prev_cat_type = cat_type
+
+ tx_hash= localsettings.hash_func(
+ "%s%s%s%s"% (courseno, category, count, type_))
+
+ if completed is None:
+ completed = False
+ values = (ix, tx_hash, completed)
+ cursor.execute(DEST_QUERY, values)
+ if i % 1000 == 0:
+ self.progressSig(85 * i/len(rows) + 10,
+ _("transfering data"))
+ db.commit()
+ db.close()
+ except Exception as exc:
+ logging.exception("error transfering data")
+ db.rollback()
+ raise UpdateException(exc)
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/schema_upgrades/schema2_3to2_4.py b/src/openmolar/schema_upgrades/schema2_3to2_4.py
new file mode 100644
index 0000000..a65aee1
--- /dev/null
+++ b/src/openmolar/schema_upgrades/schema2_3to2_4.py
@@ -0,0 +1,148 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2012 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+'''
+This module provides a function 'run' which will move data
+to schema 2_4
+'''
+from __future__ import division
+
+import logging
+import os
+import sys
+from openmolar.settings import localsettings
+from openmolar.dbtools import schema_version
+from openmolar import connect
+
+from PyQt4 import QtGui, QtCore
+
+logging.basicConfig()
+
+SQLSTRINGS = [
+'drop table if exists daybook_link',
+
+'''
+create table daybook_link (
+ ix int(11) unsigned not null auto_increment ,
+ daybook_id int(11),
+ tx_hash char(40) NOT NULL,
+PRIMARY KEY (ix),
+INDEX (daybook_id)
+)''',
+
+'create index daybook_id_index on daybook_link(tx_hash)',
+]
+
+CLEANUPSTRINGS = [
+'drop table if exists est_link', #obsolete since schema 2.2
+'alter table est_link2 drop column daybook_id'
+]
+
+
+class UpdateException(Exception):
+ '''
+ A custom exception. If this is thrown the db will be rolled back
+ '''
+ pass
+
+class dbUpdater(QtCore.QThread):
+ def __init__(self, parent=None):
+ super(dbUpdater, self).__init__(parent)
+ self.stopped = False
+ self.path = None
+ self.completed = False
+ self.MESSAGE = "upating database"
+
+ def progressSig(self, val, message=""):
+ '''
+ emits a signal showing how we are proceeding.
+ val is a number between 0 and 100
+ '''
+ if message != "":
+ self.MESSAGE = message
+ self.emit(QtCore.SIGNAL("progress"), val, self.MESSAGE)
+
+ def execute_statements(self, sql_strings):
+ '''
+ execute the above commands
+ NOTE - this function may fail depending on the mysql permissions
+ in place
+ '''
+ db = connect.connect()
+ db.autocommit(False)
+ cursor = db.cursor()
+ sucess = False
+ try:
+ i, commandNo = 0, len(sql_strings)
+ for sql_string in sql_strings:
+ try:
+ cursor.execute(sql_string)
+ except connect.GeneralError, e:
+ print "FAILURE in executing sql statement", e
+ print "erroneous statement was ",sql_string
+ if 1060 in e.args:
+ print "continuing, as column already exists issue"
+ self.progressSig(2+70*i/commandNo,sql_string[:40]+"...")
+ sucess = True
+ except Exception, e:
+ print "FAILURE in executing sql statements", e
+ db.rollback()
+ if sucess:
+ db.commit()
+ db.autocommit(True)
+ else:
+ raise UpdateException("couldn't execute all statements!")
+
+ def completeSig(self, arg):
+ self.emit(QtCore.SIGNAL("completed"), self.completed, arg)
+
+ def run(self):
+ print "running script to convert from schema 2.3 to 2.4"
+ try:
+ #- execute the SQL commands
+ self.progressSig(50, _("creating est_link2 table"))
+ self.execute_statements(SQLSTRINGS)
+
+ #self.progressSig(30, _("transferring data"))
+ #self.transfer_data()
+
+ self.progressSig(95, _("executing cleanup statements"))
+ self.execute_statements(CLEANUPSTRINGS)
+
+ self.progressSig(97, _('updating settings'))
+ print "update database settings..."
+
+ schema_version.update(("2.4",), "2_3 to 2_4 script")
+
+ self.progressSig(100, _("updating stored schema version"))
+ self.completed = True
+ self.completeSig(_("ALL DONE - sucessfully moved db to")
+ + " 2.4")
+
+ except UpdateException, e:
+ localsettings.CLIENT_SCHEMA_VERSION = "2.3"
+ self.completeSig(_("rolled back to") + " 2.3")
+
+ except Exception as exc:
+ logging.exception ("Exception caught")
+ self.completeSig(str(exc))
+
+ return self.completed
+
+ def transfer_data(self):
+ '''
+ function specific to this update.
+ '''
+ pass
+
+if __name__ == "__main__":
+ dbu = dbUpdater()
+ if dbu.run():
+ print "ALL DONE, conversion sucessful"
+ else:
+ print "conversion failed"
diff --git a/src/openmolar/settings/__init__.py b/src/openmolar/settings/__init__.py
new file mode 100755
index 0000000..8b13789
--- /dev/null
+++ b/src/openmolar/settings/__init__.py
@@ -0,0 +1 @@
+
diff --git a/src/openmolar/settings/allowed.py b/src/openmolar/settings/allowed.py
new file mode 100644
index 0000000..9ebfa94
--- /dev/null
+++ b/src/openmolar/settings/allowed.py
@@ -0,0 +1,112 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License for more details.
+
+
+#I removed these... '#B', '#B,CO', '#DO', '#MO', '#MOD', '#P,CO', '+P', '+S', '-M,2'
+#and '-D,2', '-M,1', '-M,2',
+
+backToothCodes=( "+P", "+S", "AP", "AT", "B", "B,AM",
+"B,CO", "B,CO,CT", "B,CO,PR", "B,CT", "B,CT,CO", "B,GL", "BD", "BDLOM,CO,PR",
+"BM", "BM,CO", "BMO", "BMODP", "BMOL,CO", "BO", "BO,AM", "BO,CO",
+"BO,GL", "BOL", "BOM", "BR/CR,A1", "BR/CR,A2", "BR/CR,OT", "BR/CR,V1", "BR/CR,V1,PR",
+"BR/P,A2", "BR/P,OT", "BR/P,V1", "CR,OPAL", "CR,OPALITE",
+"CR,LAVA", "CR,EMAX", "CR,EVEREST", "CR,FORT",
+"CR,A1", "CR,A1,C4", "CR,A1,PR", "CR,A2", "CR,GO",
+"CR,GO,PR", "CR,OT", "CR,OT,C4", "CR,P1", "CR,P1,C3", "CR,PJ", "CR,V1", "CR,V1,C1",
+"CR,V1,C2", "CR,V1,C3", "CR,V1,PR", "CR,V2", "CR/MODB,GO", "CR/MODL,GO", "CR/MODP,GO", "D",
+"D,AM", "D,CO", "D,GL", "DB", "DB,AM", "DB,CO", "DB,CT,CO", "DB,GL",
+"DBM,CO", "DBO", "DBO,CO", "DL", "DL,CO", "DL,GL", "DMO", "DO",
+"DO,AM", "DO,CO", "DO,GL", "DO,PR", "DOB", "DOB,AM", "DOB,CO", "DOB,GL",
+"DOB,PR", "DOB,PR,CO", "DOBL", "DOBL,PR", "DOBM,CO", "DOBM,GL", "DOBP,CO", "DOL",
+"DOL,CO", "DOL,CO,PR", "DOL,GL", "DOL,PR", "DOLB", "DOM", "DOM,CO", "DOMB",
+"DOML,PR", "DOMP,CO", "DOP", "DOP,AM", "DOP,CO", "DOP,CO,PR", "DOP,GL", "DOP,PR",
+"DOP,PR,CO", "DOPM", "DP", "DP,CO", "DP,CT,CO", "DP,GL", "DR", "FA",
+"FS", "FS,CO", "FS,CO.", "FS,GC", "FS,GL", "GC/DO", "GC/DOL", "GC/MO",
+"GC/MOD", "GC/MODB", "GC/MODL", "GC/MODP", "GI/DO", "GI/DOBL", "GI/DOL", "GI/MO",
+"GI/MOD", "GI/MODP", "IM", "L", "L,AM", "L,CO", "L,GL", "LD",
+"LMBO,GL", "LO", "LO,CO", "LO,GL", "LOM,CO", "M", "M,CO", "M,CO,PR",
+"M,GL", "MB", "MB,CO", "MB,CT,CO", "MB,GL", "MBD", "MBD,CO", "MDOB",
+"MDOL", "MDOL,CO", "ML", "ML,CO", "ML,GL", "MLODB,CO", "MLODB,CO,PR", "MO",
+"MO,AM", "MO,CO", "MO,GL", "MO,PR", "MOB", "MOB,AM", "MOB,CO", "MOB,GL",
+"MOB,PR", "MOB,PR,CO", "MOBD,CO", "MOBL", "MOBL,CO,PR", "MOBP", "MOBP,CO", "MOBPD",
+"MOD", "MOD,AM", "MOD,CO", "MOD,CO,PR", "MOD,GL", "MOD,PR", "MODB", "MODB,AM",
+"MODB,CO", "MODB,CO,PR", "MODB,GL", "MODB,GL,CO", "MODB,PR", "MODB,PR,CO", "MODB,PR,GL", "MODBL",
+"MODBL,CO", "MODBL,GL", "MODBL,PR", "MODBP", "MODBP,CO", "MODBP,CO,PR", "MODBP,GL", "MODL",
+"MODL,CO", "MODL,CO,PR", "MODL,GL", "MODL,PR", "MODLB", "MODLB,CO", "MODP", "MODP,AM",
+"MODP,AM,CO", "MODP,CO", "MODP,CO,PR", "MODP,GL", "MODP,GL,CO", "MODP,GL,PR", "MODP,PR", "MODP,PR,CO",
+"MODPB", "MODPB,CO", "MOL", "MOL,CO", "MOL,GL", "MOL,PR", "MOL,PR,CO", "MOLD",
+"MOLD,CO", "MOP", "MOP,CO", "MOP,GL", "MOP,PR,CO", "MOPB", "MOPD", "MOPDB,PR",
+"MP", "MP,AM", "MP,CO", "MP,CT,CO", "MP,GL", "O", "O,AM", "O,CO",
+"O,GL", "OB", "OB,AM", "OB,CO", "OB,GL", "OB,GL,CO", "OB,PR", "OD",
+"ODB,CO", "OE", "OL", "OL,CO", "OL,GL", "OL,GL,GL", "OL,PR", "OM",
+"OMD", "OML", "OP", "OP,CO", "OP,CO,PR", "OP,GL", "OP,PR", "OPB",
+"P", "P,AM", "P,CO", "P,CO,PR", "P,CT,CO", "P,CT,PR,CO", "P,GL", "PD",
+"PE", "PI/", "PI/DO", "PI/DOB", "PI/DOL", "PI/LOB", "PI/MO", "PI/MOB",
+"PI/MOD", "PI/MODB", "PI/MODBL", "PI/MODBP", "PI/MODL", "PI/MODP", "PI/MODPB", "PI/MOL",
+"PI/MOPB", "PI/O", "PI/OB", "PO", "PO,CO", "PO,GL", "PV", "RP",
+"RT", "ST", "TM", "TR/M", "UE" )
+
+frontToothCodes=( "+P", "+S", "-D,2", "-M,1", "-M,2", "AP", "AP,RR",
+"AT", "B", "B,AM", "B,AM'", "B,CO", "B,GL", "B,PR", "BD",
+"BD,AM", "BD,CO", "BDL", "BDLMI,PR", "BDP", "BI", "BIDM", "BIM",
+"BIP", "BLMD", "BM", "BM,CO", "BM,GL", "BMD", "BMI", "BMIDI",
+"BMLD,CO", "BMP", "BP", "BP,AM", "BPDM", "BR,RA", "BR/CR,A1", "BR/CR,A1,C4",
+"BR/CR,A2", "BR/CR,GO", "BR/CR,OT", "BR/CR,V1", "BR/CR,V1,C1", "BR/CR,V1,C2", "BR/CR,V1,C3", "BR/CR,V1,C4",
+"BR/CR,V1,PR", "BR/CR,V2", "BR/GI/DP", "BR/GI/MPD", "BR/MR", "BR/P,A1", "BR/P,A2", "BR/P,AE",
+"BR/P,MA", "BR/P,OT", "BR/P,PO", "BR/P,RA", "BR/P,RO", "BR/P,V1", "BR/P,V2", "CR,A1",
+"CR,A1,C1", "CR,A1,C2", "CR,A2", "CR,GO", "CR,OT", "CR,OT,C1", "CR,OT,C2", "CR,OT,C3",
+"CR,OT,PR", "CR,P1", "CR,PJ", "CR,PJ,C1", "CR,PJ,C2", "CR,PJ,C3", "CR,PJ,C4", "CR,PJ,PR",
+"CR,V1", "CR,V1,C1", "CR,V1,C2", "CR,V1,C3", "CR,V1,C4", "CR,V1,PR", "CR,V2", "CR,V2,C2",
+"CR,V2,C3,PR", "CR,V2,C4,PR", "CR,V2,PR", "CR,V2,PR,C3", "CR/MPD,GO", "D", "D,AM", "D,AM'",
+"D,CO", "D,GL", "D,PR", "DB", "DB,AM", "DB,CO", "DB,GL", "DBI",
+"DBM", "DBM,AM", "DBPI,PR", "DI", "DI,A", "DI,A,PR", "DI,AM", "DI,CO",
+"DI,CO,PR", "DI,GL", "DI,PR", "DIB", "DIB,CO", "DIB,GL", "DIBM", "DIBM,GL,PR",
+"DIBP", "DIL", "DIL,PR", "DILB", "DILM", "DIMBP", "DIMI", "DIMP",
+"DIP", "DIP,CO", "DIP,GL", "DIP,PR", "DIPB", "DIPMB", "DL", "DL,AM",
+"DL,CO", "DL,GL", "DLBI", "DLI", "DLM", "DMB", "DMIBP", "DP",
+"DP,AM", "DP,AM'", "DP,AM]", "DP,CO", "DP,GL", "DPB", "DPI", "DPIB,PR",
+"DPM,CO", "DPMI", "DR", "FA", "FS/P", "FS/P,GL", "GI/B", "GI/DBP",
+"GI/DI", "GI/DIL", "GI/DIP", "GI/DL", "GI/M", "GI/MI", "GI/MIDL", "GI/MIDP",
+"GI/MIL", "GI/MIP", "GI/MIPD", "GI/MLD", "GI/MPDI", "GI/P", "I", "I,AM",
+"I,CO", "I,GL", "IM", "L", "L,AM", "L,CO", "L,GL", "LD,AM",
+"LD,GL", "LI", "LI,CO", "LIM", "M", "M,AM", "M,CO", "M,GL",
+"M,PR", "MB", "MB,AM", "MB,CO", "MB,GL", "MB,PR", "MB,PR,CO", "MBD",
+"MBD,GL", "MBDI", "MBDL", "MBDP", "MBI", "MBI,GL", "MBP", "MBPI",
+"MDB", "MDB,CO", "MDB,GL", "MDBL,PR", "MDBP,GL", "MDBP,PR", "MDBPI", "MDIB,PR",
+"MDL", "MDLB,GL", "MDP", "MDPB", "MDPBI", "MDPIB", "MI", "MI,AM",
+"MI,CO", "MI,GL", "MI,PR", "MI,PR,CO", "MIB", "MIB,PR", "MIBD", "MIBD,GL",
+"MIBD,PR", "MIBDI,PR", "MIBDP", "MIBLD", "MIBP", "MIBP,PR", "MIBPD", "MIBPD,CO",
+"MIBPD,PR", "MIDB", "MIDB,CO", "MIDB,PR", "MIDBL", "MIDBL,CO,PR", "MIDBP", "MIDBP,CO",
+"MIDBP,GL", "MIDBP,PR", "MIDI", "MIDI,CO", "MIDIB", "MIDL", "MIDLB,CO", "MIDP",
+"MIDPB", "MIDPB,PR", "MIL", "MIL,GL", "MIL,PR", "MILD", "MIP", "MIP,CO",
+"MIP,GL", "MIP,PR", "MIPB", "MIPB,CO,PR", "MIPB,PR", "MIPBD", "MIPBD,CO", "MIPBD,PR",
+"MIPD", "MIPDB", "MIPDB,PR", "MIPID", "ML", "ML,GL", "MLD", "MLDI",
+"MLI", "MP", "MP,AM", "MP,CO", "MP,GL", "MPB", "MPD", "MPD,CO",
+"MPD,GL", "MPDB", "MPI", "MPID,GL", "O", "O,CO", "O,GL", "P",
+"P,AM", "P,CO", "P,GL", "P,PR", "PB", "PB,GL", "PD", "PD,AM",
+"PD,GL", "PDB", "PDB,GL", "PDI", "PE", "PI", "PI,GL", "PI/B",
+"PI/MBDL", "PI/MBPD", "PI/MDBL", "PI/MDBP", "PI/MDLB", "PI/MDPB", "PI/MIDB", "PIB",
+"PID,CO", "PIM", "PM", "PM,GL", "PMB", "PMI", "PMID", "PV",
+ "RI", "RP", "RT", "ST", "TM", "UE", "VP",
+"CR,OPAL", "CR,OPALITE",
+"CR,LAVA", "CR,EMAX", "CR,EVEREST", "CR,FORT",)
+
+treatment_only=("EX","EX/S1","EX/S2","CR,RC","PX","PX+") #not exhaustive
+
+if __name__ == "__main__":
+ print "Unique to FrontTeeth"
+ for a in frontToothCodes:
+ if not a in backToothCodes:
+ print a,
+
+ print
+ print "Unique to BackTeeth"
+ for a in backToothCodes:
+ if not a in frontToothCodes:
+ print a,
+
+
diff --git a/src/openmolar/settings/appointment_shortcuts.py b/src/openmolar/settings/appointment_shortcuts.py
new file mode 100644
index 0000000..21269d4
--- /dev/null
+++ b/src/openmolar/settings/appointment_shortcuts.py
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+from xml.dom import minidom
+from openmolar.settings import localsettings
+
+def getShortCuts():
+ try:
+ d = minidom.parse(localsettings.appt_shortcut_file)
+ shortcuts = d.getElementsByTagName("shortcut")
+ retarg = []
+ for shortcut in shortcuts:
+ shortCutDict = {}
+ description = shortcut.getElementsByTagName("description")
+ if description:
+ shortCutDict["description"] = description[0].firstChild.data
+ shortCutDict["appointments"]=[]
+ appointments = shortcut.getElementsByTagName("appointment")
+ for appointment in appointments:
+ apptDict = {}
+ clinician = appointment.getElementsByTagName("clinician")
+ if clinician:
+ clinician_ = int(clinician[0].firstChild.data)
+ apptDict["clinician"] = clinician_
+ trt1 = appointment.getElementsByTagName("trt1")
+ if trt1:
+ trt = trt1[0].firstChild.data
+ apptDict["trt1"] = trt
+ trt2 = appointment.getElementsByTagName("trt2")
+ if trt2:
+ trt = trt2[0].firstChild.data
+ apptDict["trt2"] = trt
+ trt3 = appointment.getElementsByTagName("trt3")
+ if trt3:
+ trt = trt3[0].firstChild.data
+ apptDict["trt3"] = trt
+ length = appointment.getElementsByTagName("length")
+ if length:
+ a_length=int(length[0].firstChild.data)
+ apptDict["length"] = a_length
+ datespec = appointment.getElementsByTagName("datespec")
+ if datespec:
+ d_spec=datespec[0].firstChild.data
+ apptDict["datespec"] = d_spec
+ memo = appointment.getElementsByTagName("memo")
+ if memo:
+ memo_=int(length[0].firstChild.data)
+ apptDict["memo"] = memo_
+
+ shortCutDict["appointments"].append(apptDict)
+ retarg.append(shortCutDict)
+ return retarg
+
+ except IOError, e:
+ print "error getting appointment shortcuts",
+ print localsettings.appt_shortcut_file
+ #-- return an iterable variable
+ return ()
+
+if __name__ == "__main__":
+ localsettings.initiate()
+ print getShortCuts()
diff --git a/src/openmolar/settings/fee_tables.py b/src/openmolar/settings/fee_tables.py
new file mode 100644
index 0000000..47b1a3e
--- /dev/null
+++ b/src/openmolar/settings/fee_tables.py
@@ -0,0 +1,914 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version.
+# See the GNU General Public License for more details.
+
+import datetime
+import logging
+import re
+from xml.dom import minidom
+
+from collections import namedtuple
+
+from openmolar import connect
+from openmolar.settings import localsettings
+from openmolar.dbtools.feescales import feescale_handler
+
+try:
+ from collections import OrderedDict
+except ImportError:
+ #OrderedDict only came in python 2.7
+ print "using openmolar.backports for OrderedDict"
+ from openmolar.backports import OrderedDict
+
+LOGGER = logging.getLogger("openmolar")
+
+def isParseable(data):
+ '''
+ takes a string, tries to parse it.
+ '''
+ try:
+ d = minidom.parseString(data)
+ d.toxml()
+ d.unlink
+ except Exception as exc:
+ return (False, str(exc))
+ return (True, "")
+
+def getListFromNode(node, id):
+ '''
+ get the text data from the first child of any such nodes
+ '''
+ nlist = node.getElementsByTagName(id)
+ values = []
+ for n in nlist:
+ children = n.childNodes
+ for child in children:
+ values.append(child.data.strip())
+ return values
+
+def getTextFromNode(node, id):
+ '''
+ get the text data from the first child of any such nodes
+ '''
+ nlist = node.getElementsByTagName(id)
+ text = ""
+ for n in nlist:
+ children = n.childNodes
+ for child in children:
+ text += child.data.strip()
+ return text
+
+def getBoolFromNode(node, id, default=False):
+ '''
+ get the text data from the first child of any such nodes
+ '''
+ if default:
+ return not getTextFromNode(node, id) in ("False","0")
+ else:
+ return getTextFromNode(node, id) in ("True","1")
+
+def _stripped(xml_string):
+ return xml_string.replace(">", ">").replace("<", "<")
+
+class FeeTables(object):
+ '''
+ a wrapper class to contain as many fee tables as the user has outlined.
+ '''
+ def __init__(self):
+ self.tables = OrderedDict()
+ self.warnings = []
+ self._ui_crown_chart_buttons = None
+ self._ui_implant_chart_buttons = None
+ self._ui_fs_chart_buttons = None
+ self._ui_endo_chart_buttons = None
+ self._ui_surgical_chart_buttons = None
+
+ self.getTables()
+ self.loadTables()
+ if not self.default_table:
+ self.warnings.append("No Feetables Found")
+ else:
+ LOGGER.info("Default FeeTable = %s"% self.default_table)
+
+ @property
+ def default_table(self):
+ try:
+ return self.tables.values()[0]
+ except IndexError:
+ return None
+
+ def get_all_buts(self, att):
+ unique_shortcuts = set([])
+ types_ = []
+ for table in self.tables.values():
+ for button in table.ui_lists.get(att, []):
+ if button.shortcut not in unique_shortcuts:
+ types_.append(button)
+ unique_shortcuts.add(button.shortcut)
+ return sorted(types_, key=lambda x: x.ix)
+
+ @property
+ def ui_fs_chart_buttons(self):
+ if self._ui_fs_chart_buttons is None:
+ self._ui_fs_chart_buttons = self.get_all_buts("fs_buttons")
+ return self._ui_fs_chart_buttons
+
+ @property
+ def ui_crown_chart_buttons(self):
+ '''
+ A list of unique crown types from all tables.
+ '''
+ if self._ui_crown_chart_buttons is None:
+ self._ui_crown_chart_buttons = self.get_all_buts("crown_buttons")
+ return self._ui_crown_chart_buttons
+
+ @property
+ def ui_implant_chart_buttons(self):
+ '''
+ A list of unique implant types from all tables.
+ '''
+ if self._ui_implant_chart_buttons is None:
+ self._ui_implant_chart_buttons = \
+ self.get_all_buts("implant_buttons")
+ return self._ui_implant_chart_buttons
+
+ @property
+ def ui_endo_chart_buttons(self):
+ '''
+ A list of unique implant types from all tables.
+ '''
+ if self._ui_endo_chart_buttons is None:
+ self._ui_endo_chart_buttons = \
+ self.get_all_buts("endo_buttons")
+ return self._ui_endo_chart_buttons
+
+ @property
+ def ui_surgical_chart_buttons(self):
+ '''
+ A list of unique implant types from all tables.
+ '''
+ if self._ui_surgical_chart_buttons is None:
+ self._ui_surgical_chart_buttons = \
+ self.get_all_buts("surgical_buttons")
+ return self._ui_surgical_chart_buttons
+
+ def __repr__(self):
+ '''
+ a readable description of the object
+ '''
+ retarg = "%d Tables \n"% len(self.tables)
+ for key in self.tables:
+ table = self.tables[key]
+ retarg += "===" * 12 + "\n"
+ retarg += " table %s - %s\n"% (key, table.briefName)
+ retarg += "%s \n"% table.description
+ retarg += "valid %s - %s\n"% (
+ localsettings.formatDate(table.startDate),
+ localsettings.formatDate(table.endDate))
+
+ retarg += " categories %s\n"% table.categories
+ retarg += " fee cols %s\n"% str(table.feeColNames)
+ retarg += " pt_fee cols %s\n"% str(table.pt_feeColNames)
+ retarg += " query %s\n"% table.columnQuery
+ retarg += "===" * 12 + "\n"
+ return retarg
+
+ def getTables(self):
+ '''
+ get the key to our tables
+ '''
+ rows = feescale_handler.get_feescales_from_database()
+ for i, (ix, xml_data) in enumerate(rows):
+ ft = FeeTable(ix, xml_data)
+ ft.index = i
+ self.tables[i] = ft
+
+ def loadTables(self):
+ '''
+ iterate through the child tables, and get them loaded
+ '''
+ for table in self.tables.values():
+ try:
+ table.load_from_xml()
+ except Exception as exc:
+ message = "%s %s %s"%(
+ _("feesscale"),
+ table.database_ix,
+ _("Failed to Load")
+ )
+
+ LOGGER.exception(message)
+ self.warnings.append(message + "<hr /><pre>%s</pre>"% exc)
+
+class FeeTable(object):
+ '''
+ a class to contain and allow quick access to data stored in a fee table
+ '''
+ def __init__(self, ix, xml_data):
+ LOGGER.info("initiating Feetable %s"% ix)
+ self.database_ix = ix
+ self.dom = minidom.parseString(xml_data)
+
+ self.setCategories()
+ self.setTableDescription()
+ self.setStartDate()
+ self.setEndDate()
+ self.setSectionHeaders()
+
+ self.feesDict = {}
+
+ self.complex_shortcuts = []
+ self.treatmentCodes = OrderedDict()
+ self.chartPlainCodes = OrderedDict()
+ self.chartRegexCodes = OrderedDict()
+ self.otherRegexCodes = OrderedDict()
+ self.item_modifiers = []
+
+ self.ui_lists = {
+ "crown_buttons":[],
+ "implant_buttons":[],
+ "fs_buttons":[],
+ "endo_buttons":[],
+ "surgical_buttons":[]
+ }
+
+ def __repr__(self):
+ '''
+ a readable description of the object
+ '''
+ return "FeeTable %s database index %s - has %s feeItems"% (
+ self.briefName, self.database_ix, len(self.feesDict))
+
+ @property
+ def briefName(self):
+ return self.description
+
+ @property
+ def hasPtCols(self):
+ for fee_item in self.feesDict.values():
+ if fee_item.has_pt_fees:
+ return True
+ return False
+
+ @property
+ def feeColCount(self):
+ if self.hasPtCols:
+ return 2
+ return 1
+
+ def setCategories(self):
+ '''
+ the categories will be a list like "P", "PB" etc...
+ '''
+ LOGGER.debug("loading categories")
+ self.categories = []
+ for node in self.dom.getElementsByTagName("category"):
+ try:
+ text = node.firstChild.data.strip(" \n")
+ self.categories.append(text)
+ except AttributeError: #no categories
+ pass
+ LOGGER.debug("categories = %s"% str(self.categories))
+
+ def setSectionHeaders(self):
+ '''
+ Headers are used when displaying feescale in a treeview
+ '''
+ LOGGER.debug("loading section headers")
+ self.headers = {}
+ for node in self.dom.getElementsByTagName("header"):
+ id = node.getAttribute("id")
+ text = node.childNodes[0].data.strip(" \n")
+ self.headers[id] = text
+ LOGGER.debug("section headers = %s"% sorted(self.headers))
+
+ def setTableDescription(self):
+ '''
+ a user friendly description of the table
+ '''
+ LOGGER.debug("loading feescale description")
+ node = self.dom.getElementsByTagName("feescale_description")[0]
+ text = node.childNodes[0].data.strip(" \n")
+ self.description = text
+ LOGGER.info("Feetable description = %s"% self.description)
+
+ def setStartDate(self):
+ '''
+ the date the feetable started (can be in the future)
+ '''
+ LOGGER.debug("loading startdate")
+ start_node = self.dom.getElementsByTagName("start")[0]
+ day = start_node.getElementsByTagName("day")[0].childNodes[0].data
+ month = start_node.getElementsByTagName("month")[0].childNodes[0].data
+ year = start_node.getElementsByTagName("year")[0].childNodes[0].data
+ self.startDate = datetime.date(int(year), int(month), int(day))
+ LOGGER.debug("startDate = %s"% self.startDate)
+
+ def setEndDate(self):
+ '''
+ the date the feetable became obsolete (can be in the past)
+ '''
+ LOGGER.debug("loading enddate")
+ try:
+ end_node = self.dom.getElementsByTagName("end")[0]
+ except IndexError:
+ self.endDate = None
+ LOGGER.debug("feescale is open ended (no end date)")
+ return
+ day = end_node.getElementsByTagName("day")[0].childNodes[0].data
+ month = end_node.getElementsByTagName("month")[0].childNodes[0].data
+ year = end_node.getElementsByTagName("year")[0].childNodes[0].data
+ self.endDate = datetime.date(int(year), int(month), int(day))
+ LOGGER.debug("endDate = %s"% self.endDate)
+
+ def get_ui_buttons(self, tagname):
+ for ix, node in enumerate(self.dom.getElementsByTagName(tagname)):
+ chart_button = namedtuple('Button',
+ ("ix", "shortcut", "description", "tooltip"))
+ chart_button.ix = ix
+ chart_button.description = node.getAttribute("description")
+ chart_button.tooltip = node.getAttribute("tooltip")
+ chart_button.shortcut = node.getAttribute("shortcut")
+ yield (chart_button)
+
+ def load_from_xml(self):
+ '''
+ now load the fee items and shortcuts
+ '''
+ shortcut_nodes = self.dom.getElementsByTagName("complex_shortcut")
+ for shortcut_node in shortcut_nodes:
+ complex_shortcut = ComplexShortcut(shortcut_node)
+ self.complex_shortcuts.append(complex_shortcut)
+
+ for item_node in self.dom.getElementsByTagName("item"):
+ item_code = item_node.getAttribute("id")
+ fee_item = FeeItem(self, item_code, item_node)
+ self.feesDict[item_code] = fee_item
+
+ if fee_item.usercode is None:
+ pass
+ elif fee_item.is_regex:
+ #use pre-compiled regex as the key
+ key = re.compile(fee_item.usercode)
+ if fee_item.pt_attribute == "chart":
+ self.chartRegexCodes[key] = item_code
+ else:
+ self.otherRegexCodes[key] = item_code
+ else:
+ if fee_item.pt_attribute == "chart":
+ self.chartPlainCodes[fee_item.usercode] = item_code
+ else:
+ self.treatmentCodes[fee_item.usercode] = item_code
+
+ for modifier_node in self.dom.getElementsByTagName("modifier"):
+ self.item_modifiers.append(Modifier(modifier_node))
+
+ for button in self.get_ui_buttons("crown_chart_button"):
+ self.ui_lists["crown_buttons"].append(button)
+
+ for button in self.get_ui_buttons("fs_chart_button"):
+ self.ui_lists["fs_buttons"].append(button)
+
+ for button in self.get_ui_buttons("endo_chart_button"):
+ self.ui_lists["endo_buttons"].append(button)
+
+ for button in self.get_ui_buttons("surgical_chart_button"):
+ self.ui_lists["surgical_buttons"].append(button)
+
+ for button in self.get_ui_buttons("implant_chart_button"):
+ self.ui_lists["implant_buttons"].append(button)
+
+ self.dom.unlink()
+
+ def getToothCode(self, tooth, shortcut):
+ '''
+ converts fillings into four digit codes used in the feescale
+ eg "MOD" -> "1404" (both are strings)
+ shortcut will be something like "CR,GO" or "MOD,CO"
+ if not found, "-----" will be returned
+ '''
+ LOGGER.debug("getToothCode for %s%s"% (tooth, shortcut))
+
+ for key in self.chartRegexCodes:
+ if key.match(tooth+shortcut):
+ return self.chartRegexCodes[key]
+ return self.chartPlainCodes.get(shortcut, "-----")
+
+ def getItemCodeFromUserCode(self, arg):
+ '''
+ return the itemcode associated with it, otherwise, return "-----"
+ '''
+ LOGGER.debug("looking up usercode %s"% arg)
+ for key in self.otherRegexCodes:
+ if key.match(arg):
+ return self.otherRegexCodes[key]
+
+ return self.treatmentCodes.get(arg, "-----")
+
+ def _getFees(self, itemcode, pt, csetype, shortcut):
+ '''
+ returns a tuple of (fee, ptfee) for an item
+ '''
+ LOGGER.debug("%s %s %s"% ('looking up a fee for', itemcode, shortcut))
+
+ try:
+ fee_item = self.feesDict[itemcode]
+ except KeyError:
+ LOGGER.warning("itemcode %s not found in feetable %s"% (
+ itemcode, self.database_ix))
+ return (0, 0)
+
+ if fee_item.is_simple:
+ return fee_item.get_fees(1)
+
+ if fee_item.has_fee_shortcuts:
+ return fee_item.get_fees_from_fee_shortcuts(shortcut)
+
+ #complex codes have a different fee if there are multiple
+ #in the estimate already
+ existing_no = 0
+ for existing_est in pt.estimates:
+ if (existing_est.itemcode == itemcode and
+ csetype == existing_est.csetype):
+ existing_no += 1
+
+ return fee_item.get_fees(existing_no+1)
+
+ def getFees(self, itemcode, pt, csetype, shortcut):
+ '''
+ a wrapper for the old function
+ '''
+ LOGGER.debug((itemcode, pt, csetype, shortcut))
+ gross, charge = self._getFees(itemcode, pt, csetype, shortcut)
+ return self.apply_modifiers(gross, charge, itemcode, pt)
+
+ def recalc_fee(self, pt, itemcode, item_no):
+ '''
+ returns a tuple of (fee, ptfee) for an item
+ '''
+ LOGGER.debug("recalculating fee for itemcode %s with %d items"% (
+ itemcode, item_no))
+
+ try:
+ fee_item = self.feesDict[itemcode]
+ except KeyError:
+ LOGGER.warning("itemcode %s not found in feetable %s"% (
+ itemcode, self.database_ix))
+ return (0, 0)
+
+ gross, charge = fee_item.get_fees(item_no)
+ return self.apply_modifiers(gross, charge, itemcode, pt)
+
+ def apply_modifiers(self, gross, charge, itemcode, pt):
+ for modifier in self.item_modifiers:
+ LOGGER.debug("checking modifier %s"% modifier)
+ if modifier.condition_met(pt) and modifier.item_id_match(itemcode):
+ return modifier.gross_mod(gross), modifier.charge_mod(charge)
+ return gross, charge
+
+ def getItemDescription(self, itemcode, usercode):
+ '''
+ returns the patient readable (ie. estimate ready) description of the
+ item
+ '''
+ try:
+ return self.feesDict[itemcode].description
+ except KeyError:
+ return u"%s (%s)"% (_("OTHER TREATMENT"), usercode)
+
+ @property
+ def other_shortcuts(self):
+ '''
+ shortcuts which are used in association with 'other' items
+ '''
+ for item in self.feesDict.values():
+ if item.pt_attribute == "other":
+ yield ("other", item.shortcut)
+
+
+class FeeItem(object):
+ '''
+ this class handles the calculation of fees
+ part of the challenge is recognising the fact that
+ 2x an item is not necessarily
+ the same as double the fee for a single item etc..
+ '''
+ def __init__(self, table, itemcode, element):
+ self.table = table
+ self.itemcode = itemcode
+
+ self.section = getTextFromNode(element, "section")
+ try:
+ self.obscurity = int(element.getAttribute("obscurity"))
+ except ValueError:
+ self.obscurity = 0
+ self.fees = []
+ self.ptFees = []
+ self.brief_descriptions = []
+ self.conditions = []
+ self.shortcut = None
+ self.is_regex = False
+ self._forbid_reason = None
+ self.fee_shortcuts = []
+
+ try:
+ shortcut_node = element.getElementsByTagName("shortcut")[0]
+ self.is_regex = shortcut_node.getAttribute("type") == "regex"
+ self.pt_attribute = shortcut_node.getAttribute("att")
+ try:
+ self.shortcut = shortcut_node.childNodes[0].data
+ except IndexError:
+ self.shortcut = None
+ except IndexError:
+ self.pt_attribute = "other"
+ self.is_regex = False
+ self.shortcut = None
+
+ if not self.pt_attribute:
+ self.pt_attribute = "other"
+
+ self.description = getTextFromNode(element, "description")
+
+ try:
+ node = element.getElementsByTagName("feescale_forbid")[0]
+ self.allow_feescale_add = False
+ reason_nodes = node.getElementsByTagName("reason")
+ if reason_nodes:
+ self._forbid_reason = reason_nodes[0].childNodes[0].data
+ except IndexError:
+ self.allow_feescale_add = True
+
+ for node in element.getElementsByTagName("fee"):
+ bd = getTextFromNode(node, "brief_description")
+ self.brief_descriptions.append(bd)
+
+ fee = int(getTextFromNode(node, "gross"))
+ self.fees.append(fee)
+
+ try: # charge is an optional field.
+ charge = int(getTextFromNode(node, "charge"))
+ self.ptFees.append(charge)
+ except ValueError:
+ pass
+
+ condition = _stripped(node.getAttribute("condition"))
+ self.conditions.append(condition)
+
+ shortcut_match = node.getAttribute("shortcut_match")
+ if shortcut_match:
+ self.fee_shortcuts.append(re.compile(shortcut_match))
+
+ def __repr__(self):
+ return "FeeItem '%s' %s %s %s %s"% (
+ self.itemcode,
+ self.description,
+ str(self.fees),
+ str(self.ptFees),
+ str(self.brief_descriptions)
+ )
+
+ @property
+ def has_pt_fees(self):
+ return len(self.ptFees) > 0
+
+ @property
+ def is_simple(self):
+ '''
+ a boolean which is true if n items costs n* fee
+ many items the cost goes down with multiples, or there is a maximum fee
+ '''
+ return len(self.fees) == 1
+
+ @property
+ def has_fee_shortcuts(self):
+ return self.fee_shortcuts != []
+
+ def fee_shortcut_for_display(self, index):
+ try:
+ fsfd = self.fee_shortcuts[index].pattern
+ if self.pt_attribute == "chart":
+ return fsfd
+ return "%s %s"% (self.pt_attribute, fsfd)
+ except IndexError:
+ pass
+ except AttributeError: #not regex? I can't see this happening?
+ pass
+ return self.usercode
+
+ @property
+ def usercode(self):
+ if self.shortcut is None:
+ return None
+ if self.pt_attribute == "chart":
+ return self.shortcut
+ return"%s %s"% (self.pt_attribute, self.shortcut)
+
+ @property
+ def forbid_reason(self):
+ if self._forbid_reason is None:
+ return _("No reason given by feescale author.")
+ return self._forbid_reason
+
+ def get_fees(self, item_no=1):
+ '''
+ convenience wrapper for getFee function
+ returns a tuple fee, ptfee
+ '''
+ fee = self.get_fee(item_no)
+ ptFee = self.get_fee(item_no, charge=True)
+
+ if ptFee == None:
+ return (fee, fee)
+ else:
+ return (fee, ptFee)
+
+ def get_fees_from_fee_shortcuts(self, shortcut):
+ '''
+ this was introduced to handle the case where a single item code
+ has different fees
+ specifically, SR_P/R321,L1 is a 4 toothed partial denture
+ but that has only 1 itemcode on NHS feescale :(
+ '''
+ for i, compiled_regex in enumerate(self.fee_shortcuts):
+ LOGGER.debug("Comparing '%s' with regex '%s'"% (
+ shortcut, compiled_regex.pattern))
+
+ if compiled_regex.match(shortcut):
+ fee = self.fees[i]
+ try:
+ charge = self.ptFees[i]
+ except IndexError:
+ charge = fee
+ return fee, charge
+
+ LOGGER.warning(
+ "error getting fee from fee_shortcut. returning default")
+ return self.get_fees()
+
+ def get_fee(self, item_no=1, charge=False):
+ '''
+ get a fee for the xth item of this type
+ if charge is true, then return the "charge" rather than the gross fee
+ '''
+ LOGGER.debug(
+ "FeeItem.get_fee(item_no=%d, charge=%s)"% (item_no, charge))
+ if charge:
+ if self.ptFees == []:
+ return None
+ feeList = self.ptFees
+ else:
+ feeList = self.fees
+
+ if self.is_simple or item_no == 1:
+ fee = feeList[0]
+ LOGGER.debug("simple addition of 1st item, fee=%s"% fee)
+ return fee
+
+ LOGGER.warning("Complex FeeItem fee lookup, item_no=%d"% item_no)
+ for i, condition in enumerate(self.conditions):
+ LOGGER.debug("checking condition '%s'"% condition)
+ if condition == "item_no=%d"% item_no:
+ fee = feeList[i]
+ LOGGER.debug("condition met '%s' fee=%s"% (condition, fee))
+ return fee
+ m = re.match("item_no>(\d+)", condition)
+ if m and item_no > int(m.groups()[0]):
+ fee = feeList[i]
+ LOGGER.debug("condition met '%s' fee=%s"% (condition, fee))
+ return fee
+ m = re.match("item_no<(\d+)", condition)
+ if m and item_no < int(m.groups()[0]):
+ fee = feeList[i]
+ LOGGER.debug("condition met '%s' fee=%s"% (condition, fee))
+ return fee
+ m = re.match("(\d+)<item_no<(\d+)", condition)
+ if m and int(m.groups()[0]) < item_no < int(m.groups()[1]):
+ fee = feeList[i]
+ LOGGER.debug("condition met '%s' fee=%s"% (condition, fee))
+ return fee
+
+ #if all has failed.... go with the simple one
+ LOGGER.debug("no conditions met... returning simple fee")
+ return feeList[0]
+
+class ComplexShortcut(object):
+ '''
+ this class allows complex logic to be placed into an xml feescale
+ complex shortcuts are checked for a match with treatment items
+ before the simple one-to-one feeitems are considered.
+ '''
+ def __init__(self, element):
+
+ shortcut_node = element.getElementsByTagName("shortcut")[0]
+ self.is_regex = shortcut_node.getAttribute("type") == "regex"
+ self.pt_attribute = shortcut_node.getAttribute("att")
+
+ shortcut = shortcut_node.childNodes[0].data
+ LOGGER.debug("Complex shortcut %s %s"% (self.pt_attribute, shortcut))
+ if self.pt_attribute != "chart":
+ shortcut = "%s %s"% (self.pt_attribute, shortcut)
+ if self.is_regex:
+ self.shortcut = re.compile(shortcut)
+ else:
+ self.shortcut = shortcut
+
+ self.addition_cases, self.removal_cases = [], []
+
+ try:
+ addition_node = element.getElementsByTagName("addition")[0]
+ for case_node in addition_node.getElementsByTagName("case"):
+ case_action = CaseAction(case_node)
+ self.addition_cases.append(case_action)
+ LOGGER.debug(case_action)
+ except IndexError:
+ LOGGER.debug("no removal cases")
+
+ try:
+ removal_node = element.getElementsByTagName("removal")[0]
+ for case_node in removal_node.getElementsByTagName("case"):
+ case_action = CaseAction(case_node)
+ self.removal_cases.append(case_action)
+ LOGGER.debug(case_action)
+ except IndexError:
+ LOGGER.debug("no removal cases")
+
+ def matches(self, att, shortcut):
+ '''
+ check to see if condition is met
+ '''
+ if re.match("[ul][lr][1-8A-E]", att):
+ if self.is_regex:
+ return self.shortcut.match("%s%s"% (att, shortcut))
+ return self.shortcut == shortcut
+ else:
+ usercode = "%s %s"% (att, shortcut)
+ if self.is_regex:
+ return self.shortcut.match(usercode)
+ return self.shortcut == usercode
+
+ def __repr__(self):
+ return ("Complex shortcut, '%s'"% (
+ self.shortcut if not self.is_regex else self.shortcut.pattern))
+
+class CaseAction(object):
+ '''
+ a simple class to store what should be performed when a ComplexShortcut
+ is matched
+ '''
+ # some constants to make the code readable
+ FULLY_HANDLED = 2
+ PARTIALLY_HANDLED = 1
+ NOT_HANDLED = 0
+
+ def __init__(self, case_node):
+ self.removals = []
+ self.additions = []
+ self.alterations = []
+ self.shortcut_substitution = None
+
+ self.condition = _stripped(case_node.getAttribute("condition"))
+
+ handled = case_node.getAttribute("handled")
+ if handled == "no":
+ self._is_handled = self.NOT_HANDLED
+ elif handled == "part":
+ self._is_handled = self.PARTIALLY_HANDLED
+ else: #default is fully handled!
+ self._is_handled = self.FULLY_HANDLED
+
+ removal_nodes = case_node.getElementsByTagName("remove_item")
+ for removal_node in removal_nodes:
+ self.removals.append(removal_node.getAttribute("id"))
+
+ addition_nodes = case_node.getElementsByTagName("add_item")
+ for addition_node in addition_nodes:
+ self.additions.append(addition_node.getAttribute("id"))
+
+ alteration_nodes = case_node.getElementsByTagName("alter_item")
+ for alt_node in alteration_nodes:
+ self.alterations.append(alt_node.getAttribute("id"))
+
+ try:
+ sub_node = case_node.getElementsByTagName(
+ "shortcut_substitution")[0]
+ self.shortcut_substitution = \
+ sub_node.getAttribute("find"), sub_node.getAttribute("replace")
+ except IndexError:
+ pass
+
+ self.message = getTextFromNode(case_node, "message")
+
+ @property
+ def is_handled(self):
+ return self._is_handled
+
+ def __repr__(self):
+ return "CaseAction '%s' '%s'"% (self.condition, self.message)
+
+
+class Modifier(object):
+ '''
+ feescales can have modifier elements.
+ An example of this is you may wish to not charge for some items on certain
+ age groups.
+ '''
+ def __init__(self, modifier_node):
+ self.conditions = []
+ self.item_ids = []
+ self.item_id_regexes = []
+ self._gross_fee = None
+ self._charge_fee = None
+
+ for node in modifier_node.getElementsByTagName("condition"):
+ self.conditions.append(_stripped(node.firstChild.data))
+ for node in modifier_node.getElementsByTagName("item_id"):
+ item_id = node.firstChild.data
+ if node.getAttribute("type") == "regex":
+ self.item_id_regexes.append(re.compile(item_id))
+ else:
+ self.item_ids.append(item_id)
+ try:
+ self._gross_fee = int(modifier_node.getElementsByTagName(
+ "gross")[0].firstChild.data)
+ except IndexError:
+ pass # no gross fee modification
+ try:
+ self._charge_fee = int(modifier_node.getElementsByTagName(
+ "charge")[0].firstChild.data)
+ except IndexError:
+ pass # no charge fee modication
+
+ def item_id_match(self, item_id):
+ LOGGER.debug(item_id)
+ for regex in self.item_id_regexes:
+ LOGGER.debug(regex)
+ if regex.match(item_id):
+ return True
+ for id in self.item_ids:
+ LOGGER.debug(id)
+ if id == item_id:
+ return True
+ LOGGER.debug("no match")
+ return False
+
+ def condition_met(self, pt):
+ for condition in self.conditions:
+ m = re.match("age<(/d+)$", condition)
+ if m and pt.ageYears() < int(m.groups()[0]):
+ return True
+ m = re.match("age<(\d+)years(\d+)months", condition)
+ if m:
+ years, months = pt.age_course_start
+ years_, months_ = int(m.groups()[0]), int(m.groups()[1])
+ if years < years_ or ( years == years_ and months < months_):
+ return True
+ m = re.match("cset=(.*)$", condition)
+ if m and pt.cset == m.groups()[0]:
+ return True
+
+ return False
+
+ def gross_mod(self, fee):
+ '''
+ modify the original fee supplied by the feescale
+ this function could do more.. eg %age increases etc?
+ '''
+ if self._gross_fee is not None:
+ return self._gross_fee
+ return fee
+
+ def charge_mod(self, fee):
+ '''
+ modify the original fee supplied by the feescale
+ this function could do more.. eg %age increases etc?
+ '''
+ if self._charge_fee is not None:
+ return self._charge_fee
+ return fee
+
+ def __repr__(self):
+ return "Modifier conditions = %s"% self.conditions
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+
+ fts = FeeTables()
+
+ table = fts.default_table
+ for id, fee_item in table.feesDict.iteritems():
+ print id, fee_item
+
+ print table.hasPtCols
+ for i, complex_shortcut in enumerate(table.complex_shortcuts):
+ print "looking for SP in complex_shortcut %d"% i
+ if complex_shortcut.matches("perio", "SP"):
+ print " match found"
+
+ print table.categories
+ print table.ui_lists
+ print fts.ui_crown_chart_buttons
+ print fts.ui_implant_chart_buttons
\ No newline at end of file
diff --git a/src/openmolar/settings/images.py b/src/openmolar/settings/images.py
new file mode 100644
index 0000000..7b96d7b
--- /dev/null
+++ b/src/openmolar/settings/images.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import os, re
+from openmolar.settings import localsettings
+from PyQt4 import QtGui
+
+TOOTHPIXMAPS = {}
+
+def toothPixmaps():
+ if TOOTHPIXMAPS == {}:
+ filepath = os.path.join(localsettings.resources_location, "teeth")
+ for f in os.listdir(filepath):
+ filename = os.path.basename(f)
+ reg = re.match ("([ul][lr][1-8,a-d]).png", filename)
+ if reg:
+ tooth = reg.groups()[0]
+ TOOTHPIXMAPS[tooth] = QtGui.QPixmap(os.path.join(filepath, f))
+ #print TOOTHPIXMAPS
+ return TOOTHPIXMAPS
+
+
+if __name__== "__main__":
+ app = QtGui.QApplication([])
+ lab = QtGui.QLabel()
+ lab.setPixmap(toothPixmaps()["lr6"])
+ lab.show()
+ app.exec_()
diff --git a/src/openmolar/settings/localsettings.py b/src/openmolar/settings/localsettings.py
new file mode 100644
index 0000000..1daa25b
--- /dev/null
+++ b/src/openmolar/settings/localsettings.py
@@ -0,0 +1,864 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import datetime
+import hashlib
+import logging
+import locale
+import os
+import re
+import subprocess
+import sys
+import types
+
+from xml.dom import minidom
+
+from openmolar.settings.version import VERSION
+
+LOGGER = logging.getLogger("openmolar")
+
+SUPERVISOR = '05b1f356646c24bf1765f6f1b65aea3bde7247e1'
+DBNAME = "default"
+
+#updated 28.11.2013
+CLIENT_SCHEMA_VERSION = "2.4"
+DB_SCHEMA_VERSION = "unknown"
+
+ENCODING = locale.getpreferredencoding()
+
+FEETABLES = None
+WIKIURL = ""
+
+locale.setlocale(locale.LC_ALL, '')
+
+try:
+ s = _("translation tools are installed sucessfully")
+ LOGGER.debug(s)
+except NameError:
+ LOGGER.error("installing gettext for translations")
+ ##- an unelegant hack to get _() on the namespace for testing
+ ##- main.py will normally do this for us.
+ import gettext
+ gettext.install("openmolar", unicode=True)
+
+def showVersion():
+ '''
+ push version details to std out
+ '''
+ print ("OpenMolar %s"% VERSION)
+
+if LOGGER.level == logging.DEBUG:
+ showVersion()
+
+PRACTICE_NAME = "The Academy Dental Practice"
+
+APPOINTMENT_CARD_HEADER = \
+"%s, 19 Union Street\nInverness. tel 01463 232423" % PRACTICE_NAME
+
+
+APPOINTMENT_CARD_FOOTER = _("Please try and give at least 24 hours notice") +\
+"\n" +_("if you need to change an appointment.")
+
+CORRESPONDENCE_SIG = "The Academy Dental Practice"
+
+MH_HEADER = ("The Academy Dental Practice",
+ _("Confidential Medical History Questionaire"))
+
+WINDOWS = False
+
+DEFAULT_COURSETYPE = "P"
+
+def determine_path ():
+ '''
+ returns the true working directory, regardless of any symlinks.
+ Very useful.
+ Borrowed from wxglade.py
+ '''
+ try:
+ root = __file__
+ if os.path.islink (root):
+ root = os.path.realpath (root)
+ retarg = os.path.dirname(os.path.dirname (os.path.abspath (root)))
+ return retarg
+ except:
+ #-- this shouldn't happen!
+ print "no __file__ variable found !!!!"
+ return os.path.dirname(os.getcwd())
+
+server_names = []
+chosenserver = 0
+
+def setChosenServer(i):
+ global DBNAME, chosenserver
+ chosenserver = i
+ try:
+ DBNAME = server_names[i]
+ LOGGER.debug("DBNAME = %s"% DBNAME)
+ except IndexError:
+ LOGGER.warning("no server name.. config file is old format?")
+
+wkdir = determine_path()
+referralfile = os.path.join(wkdir, "resources", "referral_data.xml")
+appt_shortcut_file = os.path.join(wkdir, "resources",
+ "appointment_shortcuts.xml")
+stylesheet = "file://" + os.path.join(wkdir, "resources", "style.css")
+printer_png = "file://" + os.path.join(wkdir, "resources", "icons", "ps.png")
+money_png = "file://" + os.path.join(wkdir, "resources", "icons", "vcard.png")
+LOGOPATH = "file://" + os.path.join(wkdir,"html","images","newlogo.png")
+resources_location = os.path.join(wkdir, "resources")
+resources_path = "file://" + resources_location
+
+if "win" in sys.platform:
+ WINDOWS = True
+ LOGGER.info("Windows OS detected - modifying settings")
+ #-- sorry about this... but cross platform is a goal :(
+ global_cflocation = 'C:\\Program Files\\openmolar\\openmolar.conf'
+ localFileDirectory = os.path.join(os.environ.get("HOMEPATH"),".openmolar")
+ #-- this next line is necessary because I have to resort to relative
+ #-- imports for the css stuff eg... ../resources/style.css
+ #-- on linux, the root is always / on windows... ??
+ os.chdir(wkdir)
+ resources_path = resources_path.replace(
+ "://",":///").replace(" ","%20").replace("\\","/")
+ stylesheet = stylesheet.replace(
+ "://",":///").replace(" ","%20").replace("\\","/")
+ printer_png = printer_png.replace(
+ "://",":///").replace(" ","%20").replace("\\","/")
+ money_png = money_png.replace(
+ "://",":///").replace(" ","%20").replace("\\","/")
+ LOGOPATH = LOGOPATH.replace(
+ "://",":///").replace(" ","%20").replace("\\","/")
+
+else:
+ if not "linux" in sys.platform:
+ LOGGER.warning(
+ "unknown system platform (mac?) - defaulting to linux settings")
+ global_cflocation = '/etc/openmolar/openmolar.conf'
+ localFileDirectory = os.path.join(os.environ.get("HOME"),".openmolar")
+
+cflocation = os.path.join(localFileDirectory,"openmolar.conf")
+TEMP_PDF = os.path.join(localFileDirectory, "temp.pdf")
+
+#this is updated if correct password is given
+successful_login = False
+
+#-- these permissions are for certain admin duties.
+permissionsRaised = False
+permissionExpire = datetime.datetime.now()
+
+def openPDF(filepath=TEMP_PDF):
+ '''
+ open a PDF - minimal checks to ensure no malicious files have been
+ inserted into my sacred filepaths though.....
+ '''
+ if not re.match(".*[.]pdf$", filepath):
+ raise Exception, "%s is not a pdf file"% filepath
+ openFile(filepath)
+
+def openFile(filepath):
+ '''
+ open a File - minimal checks to ensure no malicious files have been
+ inserted into my sacred filepaths though.....
+ '''
+ if not os.path.exists(filepath):
+ raise IOError, "%s does not exist"% filepath
+
+ if "win" in sys.platform:
+ os.startfile(filepath)
+ else:
+ subprocess.Popen(["xdg-open", filepath])
+
+################# MESSAGES ####################################################
+def about():
+ return '''<p>
+OpenMolar - open Source dental practice management software.<br />
+Version %s<br />
+Client Schema Version is %s, DataBase is at version %s<br /><hr />
+Copyright (C) 2009 Neil A. Wallace B.Ch.D.<br />
+sourcecode available at <a href="http://launchpad.net/openmolar">
+"http://www.openmolar.com"</a>.
+</p>
+Thanks to <a href="http://rfquerin.org">Richard Querin</a>
+for the wonderful icon and Logo.'''%(
+ VERSION,
+ CLIENT_SCHEMA_VERSION,
+ DB_SCHEMA_VERSION)
+
+license = '''<hr />
+<p>
+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 3 of the License, or
+(at your option) any later version.
+<br />
+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.
+<br />
+You should have received a copy of the GNU General Public License
+along with this program.
+If not, see <a href = "http://www.gnu.org/licenses">
+http://www.gnu.org/licenses</a>.</p>'''
+
+
+#-- this variable is used when using DATE_FORMAT from the database
+#-- this is done by cashbook and daybook etc...
+#-- my preference is the UK style dd/mm/YYYY
+#-- feel free to change this!!!
+
+OM_DATE_FORMAT = r"%d/%m/%Y"
+try:
+ OM_DATE_FORMAT = re.sub("y","Y",locale.nl_langinfo(locale.D_FMT))
+except AttributeError: # will happen on windows
+ OM_DATE_FORMAT = r"%d/%m/%Y"
+
+#-- ditto the qt one
+QDATE_FORMAT = "dddd, d MMMM yyyy"
+
+#-- updated at login
+operator = "unknown"
+allowed_logins = []
+
+#-- this list is used for navigating back and forth through the list
+recent_snos = []
+recent_sno_index = 0
+
+#-- update whenever a manual search is made
+#-- sname,fname dob... etc
+lastsearch = ("", "", datetime.date(1900,1,1), "", "", "")
+
+#-- used to load combobboxes etc....
+activedents = []
+activehygs = []
+activedent_ixs = ()
+activehyg_ixs = ()
+clinicianNo = 0
+clinicianInits = ""
+
+#these times are for the boundaries of the widgets...
+earliestStart = datetime.time(8,0)
+latestFinish = datetime.time(20,0)
+
+#--this dictionary is upated when this file is initiate -
+#--it links dentist keys with practioners
+#--eg ops[1] = "JJ"
+ops = {}
+
+#--keys/dents the other way round.
+ops_reverse = {}
+apptix = {}
+#--this dictionary is upated when this file is initiate -
+#--it links appointment keys with practioners
+#--eg app[13]="jj"
+
+apptix_reverse = {}
+
+#-- set a latest possible date for appointments to be made
+#--(necessary if a very long appointment goes right on through)
+#-- would get maximum recursion, quite quickly!
+##todo - this will need to change!!!!
+bookEnd = datetime.date(2010,12,31)
+
+#--treatment codes..
+
+apptTypes = (
+_("EXAM"),
+_("BITE"),
+_("BT"),
+_("FAMILY"),
+_("FILL"),
+_("FIT"),
+_("HYG"),
+_("IMPS"),
+_("LF"),
+_("ORTHO"),
+_("PAIN"),
+_("PREP"),
+_("RCT"),
+_("RECEMENT"),
+_("REVIEW"),
+_("SP"),
+_("TRY"),
+_("XLA")
+)
+
+#-- default appt font size
+appointmentFontSize = 8
+
+message = ""
+dentDict = {}
+
+#-- surgery or reception machine?
+station = "surgery"
+#-- openmolar needs to know where it is when calling x-rays
+surgeryno = -1
+
+#-- pt's are "private, independent, NHS etc...."
+csetypes = ["P","I","N","N OR","N O"]
+
+#--for debugging purposes... set this to true.- not yet implemented throughout.
+
+#-- self evident
+practiceAddress = ("The Academy Dental Practice","19 Union Street",
+"Inverness","IV1 1PP")
+
+#-- this is updated whenever a patient record loads, for ease of address
+#-- manipulation
+LAST_ADDRESS = ("",)*8
+
+#-- 1 less dialog box for these lucky people
+defaultPrinterforGP17 = False
+
+#-- my own class of excpetion, for when a serialno is called
+#--from the database and no match is found
+class PatientNotFoundError(Exception):
+ pass
+
+def hash_func(message):
+ '''
+ the function to get a unique value for all treatments in the database
+ '''
+ return hashlib.sha1(message).hexdigest()
+
+def convert_deciduous(tooth):
+ '''
+ if the tooth is a match for ulD or llE etc..
+ return the corresponding adult tooth
+ (necessary to find the attribute used for treatment
+ returns tooth unchanged if not a match
+ '''
+ def my_sub(m):
+ return "%s%s"% (m.groups()[0], "*ABCDE".index(m.groups()[1]))
+ return re.sub("^([ul][lr])([A-E])", my_sub, tooth)
+
+def currentTime():
+ '''
+ returns a datetime.datetime.today object
+ eg. 7th March 2009 18:56:37 is
+ (2009, 3, 7, 18, 56, 37, 582484)
+ has attributes day, month, year etc...
+ '''
+ return datetime.datetime.today()
+
+def int_timestamp():
+ '''
+ returns the current time in int format
+ '''
+ d = datetime.datetime.now()
+
+ return int("%d%02d"% (d.hour,d.minute))
+
+def currentDay():
+ '''
+ return a python date object for the current day
+ '''
+ return datetime.date.today()
+
+def pence_to_pounds(m):
+ '''
+ takes an integer, returns as pounds.pence
+ eg 1950 -> "19.50"
+ '''
+ return "%d.%02d"% ( m // 100, m % 100)
+
+def formatMoney(m):
+ '''
+ takes an integer, returns a string
+ '''
+ if type(m) == types.StringType:
+ try:
+ retarg = locale.currency(float(m))
+ return retarg.decode(ENCODING, "replace")
+ except Exception, e:
+ print "formatMoney error", e
+ return "%s"% m
+ else:
+ val = pence_to_pounds(m)
+ try:
+ retarg = locale.currency(float(val))
+ return retarg.decode(ENCODING, "replace")
+ except Exception, e:
+ LOGGER.exception("formatMoney error")
+ return val
+
+def reverseFormatMoney(m):
+ '''
+ takes a string (as from above) and returns the value in pence
+ >>> reverseFormatMoney("$387.23")
+ 38723
+ '''
+ try:
+ numbers = re.findall("\d",m)
+ except TypeError:
+ print "unable to convert %s to an integer - returning 0"% m
+ return 0
+
+ retarg = ""
+ for number in numbers:
+ retarg += number
+ return int(retarg)
+
+def GP17formatDate(d):
+ '''
+ takes a python date type... formats for use on a NHS form
+ '''
+ try:
+ return "%02d%02d%04d"% (d.day,d.month,d.year)
+ except AttributeError:
+ return " "*8
+
+try:
+ DAYNAMES = (locale.nl_langinfo (locale.DAY_2),
+ locale.nl_langinfo (locale.DAY_3),
+ locale.nl_langinfo (locale.DAY_4),
+ locale.nl_langinfo (locale.DAY_5),
+ locale.nl_langinfo (locale.DAY_6),
+ locale.nl_langinfo (locale.DAY_7),
+ locale.nl_langinfo (locale.DAY_1))
+except AttributeError: #WILL happen on windows - no nl_langinfo
+ DAYNAMES = (_("Monday"),_("Tuesday"),_("Wednesday"),_("Thursday"),
+ _("Friday"),_("Saturday"),_("Sunday"))
+
+
+def dayName(d):
+ '''
+ expects a datetime object, returns the day
+ '''
+ try:
+ return DAYNAMES [d.isoweekday()-1]
+ except IndexError:
+ return "?day?"
+
+def monthName(d):
+ '''
+ expects a datetime object, returns the month
+ '''
+ try:
+ try:
+ return("",
+ locale.nl_langinfo (locale.MON_1),
+ locale.nl_langinfo (locale.MON_2),
+ locale.nl_langinfo (locale.MON_3),
+ locale.nl_langinfo (locale.MON_4),
+ locale.nl_langinfo (locale.MON_5),
+ locale.nl_langinfo (locale.MON_6),
+ locale.nl_langinfo (locale.MON_7),
+ locale.nl_langinfo (locale.MON_8),
+ locale.nl_langinfo (locale.MON_9),
+ locale.nl_langinfo (locale.MON_10),
+ locale.nl_langinfo (locale.MON_11),
+ locale.nl_langinfo (locale.MON_12)
+ )[d.month]
+ except AttributeError: #WILL happen on windows - no nl_langinfo
+ return("",
+ _("January"),
+ _("February"),
+ _("March"),
+ _("April"),
+ _("May"),
+ _("June"),
+ _("July"),
+ _("August"),
+ _("September"),
+ _("October"),
+ _("November"),
+ _("December"))[d.month]
+ except IndexError:
+ return "?month?"
+
+def longDate(d):
+ try:
+ day = str(d.day)
+ if day == "1":
+ day = day + "st"
+ elif day[0] == "1":
+ day = day + "th"
+ elif day[-1] == "1":
+ day = day + "st"
+ elif day[-1] == "2":
+ day = day + "nd"
+ elif day[-1] == "3":
+ day = day + "rd"
+ else:
+ day = day + "th"
+ return "%s, %s %s %d"% (dayName(d), day, monthName(d), d.year)
+ except Exception, e:
+ print e
+ return "date"
+
+def readableDate(d):
+ '''
+ takes a python date type, returns either the date,
+ or yesterday, today, tommorrow if necessary
+ '''
+ if not d:
+ return _("None")
+ today = currentDay()
+ if d == today:
+ return _("Today")
+ if d - today == datetime.timedelta(1):
+ return _("Tomorrow")
+ if d - today == datetime.timedelta(-1):
+ return _("Yesterday")
+ return longDate(d)
+
+def notesDate(d):
+ '''
+ takes a python date type, returns either the date,
+ or yesterday, today, tommorrow if necessary
+ '''
+ rd = readableDate(d)
+ if rd in (_("None"), _("Today"), _("Yesterday")):
+ return rd
+ try:
+ return rd[rd.index(",")+1:]
+ except Exception as exc:
+ return "error getting date"
+
+def formatDate(d):
+ '''takes a date, returns a formatted date string'''
+ try:
+ retarg = d.strftime (OM_DATE_FORMAT)
+ except AttributeError:
+ retarg = ""
+ return retarg
+
+def wystimeToHumanTime(t):
+ '''converts a time in the format of 0830 or 1420 to "HH:MM" (string)
+ >>> wystimeToHumanTime(830)
+ '8:30'
+ '''
+ try:
+ hour, min = int(t)//100, int(t)%100
+ return "%d:%02d"% (hour, min)
+ except:
+ return None
+
+def wystimeToPyTime(t):
+ '''converts a time in the format of 0830 or 1420 to "HH:MM" (string)
+ >>> wystimeToPyTime(830)
+ datetime.time(8, 30)
+ '''
+ try:
+ hour, min = t//100, t%100
+ return datetime.time(hour, min)
+ except:
+ return None
+
+def humanTimetoWystime(t):
+ '''reverse function to wystimeToHumanTime
+ >>> humanTimetoWystime('8:30')
+ 830
+ '''
+ try:
+ t = t.replace(":", "")
+ return int(t)
+ except:
+ return None
+
+def minutesPastMidnighttoWystime(t):
+ '''
+ converts minutes past midnight(int) to format HHMM (integer)
+ >>> minutesPastMidnighttoWystime(100)
+ 140
+ '''
+ hour, min = t//60, int(t)%60
+ return hour*100+min
+
+def pyTimetoWystime(t):
+ '''
+ converts python datetime.time to minutes past midnight(int) to a wystime
+ >>> pyTimetoWystime(datetime.time(14,20))
+ 1420
+ '''
+ hour, min = t.hour, t.minute
+ return hour*100+min
+
+def pyTimeToHumantime(t):
+ '''
+ converts a python datetime.time to format HH:MM
+ '''
+ return t.strftime("%H:%M")
+
+def minutesPastMidnightToPyTime(t):
+ '''
+ converts minutes past midnight(int) to a python datetime.time
+ >>> minutesPastMidnightToPyTime(100)
+ datetime.time(1, 40)
+ '''
+ hour, min = t//60, int(t)%60
+ return datetime.time(hour, min)
+
+def pyTimeToMinutesPastMidnight(t):
+ '''
+ converts python datetime.time to minutes past midnight(int) to a
+ >>> pyTimeToMinutesPastMidnight(datetime.time(1, 40))
+ 100
+ '''
+ return t.hour*60 + t.minute
+
+def minutesPastMidnight(t):
+ '''
+ converts a time in the format of 0830 or 1420
+ to minutes past midnight (integer)
+ >>> minutesPastMidnight(140)
+ 100
+ '''
+ hour, min = int(t)//100, int(t)%100
+ return hour*60+min
+
+def minutesPastMidnighttoPytime(t):
+ '''
+ converts an integer representing elapsed minutes past midnight to a
+ python datetime.time object
+ >>> minutesPastMidnighttoPytime(100)
+ datetime.time(1, 40)
+ '''
+ hour, min = t//60, t%60
+ return datetime.time(hour, min)
+
+def humanTime(t):
+ '''
+ converts minutes past midnight(int) to format 'HH:MM' (string)
+ >>> humanTime(100)
+ '1:40'
+ '''
+ hour, min = t//60, int(t)%60
+ return "%d:%02d"% (hour, min)
+
+def setOperator(u1, u2):
+ global operator
+ if u2 == "":
+ operator = u1
+ else:
+ operator = "%s/%s"% (u1, u2)
+
+
+def getLocalSettings():
+ '''
+ check for a local settings file (which has preferences etc...
+ and "knows" it's surgery number etc...
+ if one doesn't exist... knock one up.
+ '''
+ global surgeryno, last_forumCheck
+ if not os.path.exists(localFileDirectory):
+ os.mkdir(localFileDirectory)
+
+ localSets = os.path.join(localFileDirectory, "localsettings.conf")
+ if os.path.exists(localSets):
+ dom = minidom.parse(localSets)
+ node = dom.getElementsByTagName("surgeryno")
+ if node and node[0].hasChildNodes():
+ surgeryno = int(node[0].firstChild.data)
+ LOGGER.debug("setting as surgery number %s"% surgeryno)
+ else:
+ LOGGER.debug("unknown surgery number")
+ dom.unlink()
+ else:
+ #-- no file found..
+ #--so create a settings file.
+ f = open(localSets, "w")
+ f.write('''<?xml version="1.0" ?>
+ <settings><version>1.0</version></settings>
+ ''')
+ f.close()
+
+def updateLocalSettings(setting, value):
+ '''
+ adds or updates node "setting" with text value "value"
+ '''
+ localSets = os.path.join(localFileDirectory, "localsettings.conf")
+ LOGGER.debug("updating local settings... %s = %s"% (setting, value))
+ dom = minidom.parse(localSets)
+ nodes = dom.getElementsByTagName(setting)
+ if len(nodes) == 0:
+ new_node = dom.createElement(setting)
+ dom.firstChild.appendChild(new_node)
+ text_node = dom.createTextNode(value)
+ new_node.appendChild(text_node)
+ dom.firstChild.appendChild(new_node)
+ else:
+ nodes[0].firstChild.replaceWholeText(value)
+ f = open(localSets,"w")
+ f.write(dom.toxml())
+ f.close()
+ dom.unlink()
+ return True
+
+def initiateUsers(changedServer = False):
+ '''
+ just grab user names. necessary because the db schema could be OOD here
+ '''
+ global allowed_logins
+ from openmolar import connect
+
+ if changedServer and connect.mainconnection:
+ print "closing connection"
+ connect.mainconnection.close()
+ reload(connect)
+
+ db = connect.connect()
+ cursor = db.cursor()
+ cursor.execute("select id from opid")
+ #grab initials of those currently allowed to log in
+ trows = cursor.fetchall()
+ cursor.close()
+ allowed_logins = []
+ for row in trows:
+ allowed_logins.append(row[0])
+
+def initiate(changedServer= False, debug = False):
+ #print "initiating settings"
+ global message, dentDict, ops, SUPERVISOR, \
+ ops_reverse, activedents, activehygs, activedent_ixs, activehyg_ixs, \
+ apptix, apptix_reverse, bookEnd, clinicianNo, clinicianInits, WIKIURL
+
+ from openmolar import connect
+ from openmolar.dbtools import db_settings
+
+ if changedServer and connect.mainconnection:
+ print "closing connection"
+ connect.mainconnection.close()
+ reload(connect)
+
+ data = db_settings.getData("bookend")
+ if data:
+ bookEndVals = data[-1][0].split(",")
+ bookEnd = datetime.date(int(bookEndVals[0]), int(bookEndVals[1]),
+ int(bookEndVals[2]))
+
+ data = db_settings.getData("supervisor_pword")
+ if data:
+ SUPERVISOR = data[0][0]
+ else:
+ LOGGER.warning("#"*30)
+ LOGGER.warning(
+ "WARNING - no supervisor password is set, restting to default")
+ LOGGER.warning("#"*30)
+ db_settings.updateData("supervisor_pword", SUPERVISOR,
+ "not found reset")
+
+ db = connect.connect()
+ cursor = db.cursor()
+
+ #set up four lists with key/value pairs reversedto make for easy referencing
+
+ #first"ops" which is all practitioners
+ ops = {}
+ ops_reverse = {}
+ apptix_reverse = {}
+ cursor.execute("select id, inits, apptix from practitioners")
+ practitioners = cursor.fetchall()
+ for practitioner in practitioners:
+ if practitioner[1] != None:
+ ops[practitioner[0]] = practitioner[1]
+ ops_reverse[practitioner[1]] = practitioner[0]
+ if practitioner[2] != 0:
+ apptix_reverse[practitioner[2]] = practitioner[1]
+ else:
+ ops[0] = "NONE"
+ ops_reverse["NONE"] = 0
+
+ try:
+ ##correspondence details for NHS forms
+ query = ("select id,inits,name,formalname,fpcno,quals "
+ "from practitioners where flag0=1")
+
+ cursor.execute(query)
+ practitioners = cursor.fetchall()
+ dentDict = {}
+ for practitioner in practitioners:
+ dentDict[practitioner[0]] = practitioner[1:]
+
+ #now get only practitioners who have an active daybook
+ query = "select apptix,inits from practitioners where flag3=1"
+ cursor.execute(query)
+ practitioners = cursor.fetchall()
+ apptix = {}
+ for practitioner in practitioners:
+ if practitioner[0] != 0 and practitioner[0] != None: #apptix
+ apptix[practitioner[1]] = practitioner[0]
+
+ cursor.execute(
+ "select apptix, inits from practitioners where flag3=1 and flag0=1")
+ #dentists where appts active
+ ixs, activedents = [], []
+ practitioners = cursor.fetchall()
+ for ix, inits in practitioners:
+ ixs.append(ix)
+ activedents.append(inits)
+ activedent_ixs = tuple(ixs)
+
+ cursor.execute(
+ "select apptix, inits from practitioners where flag3=1 and flag0=0")
+ #hygenists where appts active
+ practitioners = cursor.fetchall()
+ ixs, activehygs = [], []
+ for ix, inits in practitioners:
+ ixs.append(ix)
+ activehygs.append(inits)
+ activehyg_ixs = tuple(ixs)
+
+ except Exception as exc:
+ LOGGER.exception("error loading practitioners")
+
+ #-- set the clinician if possible
+ u1 = operator.split("/")[0].strip(" ")
+ if u1 in activedents + activehygs:
+ clinicianNo = ops_reverse.get(u1)
+ clinicianInits = u1
+ else:
+ LOGGER.debug("no clinician set!")
+
+ getLocalSettings()
+
+ WIKIURL = db_settings.getWikiUrl()
+
+ message = ('''<html><head>
+<link rel="stylesheet" href="%s" type="text/css">
+</head><body><div align="center">
+<img src="%s" width="150", height="100", align="left" />
+<img src="%s" width="150", height="100", align="right" />
+<h1>'''% (stylesheet, LOGOPATH, LOGOPATH) +
+_("Welcome to OpenMolar!")+ '''</h1>
+<ul><li class="about">''' + _("Version") + ''' %s</li>
+<li class="about">'''% VERSION +
+'''</li></ul><br clear="all" /><p>''' +
+_("Your Data is Accessible, and the server reports no issues.") +
+'''</p><p>''' + _("Have a great day!") + '''</p></div></body></html>''')
+
+ if debug:
+ print "LOCALSETTINGS CALLED WITH DEBUG = TRUE"
+ print "ops = ", ops
+ print "ops_reverse = ", ops_reverse
+ print "apptix = ", apptix
+ print "apptix_reverse = ", apptix_reverse
+ print "activedents =", activedents
+ print "activehygs =", activehygs
+ print "allowed logins =", allowed_logins
+ print "stylesheet =",stylesheet
+ print "referralfile = ",referralfile
+
+def loadFeeTables():
+ '''
+ load the feetables (time consuming)
+ '''
+ global FEETABLES
+ from openmolar.settings import fee_tables
+
+ LOGGER.debug("loading fee and treatment logic tables")
+ FEETABLES = fee_tables.FeeTables()
+
+def _test():
+ import doctest
+ doctest.testmod()
+
+if __name__ == "__main__":
+ LOGGER.setLevel(logging.DEBUG)
+ _test()
diff --git a/src/openmolar/settings/utilities.py b/src/openmolar/settings/utilities.py
new file mode 100644
index 0000000..ca0dfb1
--- /dev/null
+++ b/src/openmolar/settings/utilities.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2009 Neil Wallace. All rights reserved.
+# This program or module 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 3 of the License, or
+# (at your option) any later version. See the GNU General Public License
+# for more details.
+
+import os
+import logging
+
+from openmolar.settings import localsettings
+
+LOGGER = logging.getLogger("openmolar")
+
+def getPDF():
+ '''
+ get's the pdf which has been created to local file during some print proc
+ '''
+ try:
+ f = open(localsettings.TEMP_PDF, "rb")
+ data = f.read()
+ f.close()
+ return data
+ except Exception as exc:
+ LOGGER.exception("exception in utilities.getPdf")
+
+def deleteTempFiles():
+ '''
+ delete's any temprorary pdf file
+ '''
+ LOGGER.info("deleting temporary Files")
+ for name in ("import_temp", "temp.pdf"):
+ fpath = os.path.join(localsettings.localFileDirectory, name)
+ if os.path.exists(fpath):
+ os.remove(fpath)
+
+if __name__ == "__main__":
+ '''
+ testing only
+ '''
+ pass
\ No newline at end of file
diff --git a/src/openmolar/settings/version.py b/src/openmolar/settings/version.py
new file mode 100644
index 0000000..3ec6e82
--- /dev/null
+++ b/src/openmolar/settings/version.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+
+
+import logging
+import os
+import re
+import subprocess
+LOGGER = logging.getLogger("openmolar")
+
+#this is a fallback version, which will be used if
+#openmolar is not run from a git repository
+#or ig git is not installed.
+VERSION = "0.5.0-beta10"
+
+try:
+ p = subprocess.Popen(
+ ["git","describe"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ git_version = p.communicate()[0].strip()
+ if git_version:
+ VERSION = re.sub("v", "", git_version, 1)
+ import git
+ try:
+ repo = git.Repo(os.path.dirname(__file__))
+ if repo.is_dirty():
+ VERSION += "-dirty"
+ except git.InvalidGitRepositoryError:
+ LOGGER.debug("library is not a git repository")
+except OSError:
+ LOGGER.debug("git not installed")
+except ImportError:
+ LOGGER.debug("unable to import git")
+
+if __name__ == '__main__':
+ print "version = %s"% VERSION
diff --git a/src/standalone_chart/lib_om_chart/__init__.py b/src/standalone_chart/lib_om_chart/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/standalone_chart/lib_om_chart/chart_colours.py b/src/standalone_chart/lib_om_chart/chart_colours.py
new file mode 100644
index 0000000..1392368
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/chart_colours.py
@@ -0,0 +1,27 @@
+from PyQt4 import QtGui,QtCore
+
+CHARTTEXT = QtGui.QColor("#111111")
+LINEEDIT = QtGui.QColor("#ffffaa")
+TOOTHLINES = QtGui.QColor("#aaaaaa")
+IVORY = QtGui.QColor("#ffeedd")
+
+#these numbers are grabbed for the stylesheet of the toothprop buttons
+GI_ = "#75d185"
+GOLD_ = "#ffff00"
+COMP_ = "#ffffff"
+PORC_ = "#ddffff"
+AMALGAM_ = "#666666"
+
+GI = QtGui.QColor(GI_)
+GOLD = QtGui.QColor(GOLD_)
+COMP = QtGui.QColor(COMP_)
+PORC = QtGui.QColor(PORC_)
+AMALGAM = QtGui.QColor(AMALGAM_)
+
+FISSURE = QtGui.QColor("#bbd0d0")
+METAL = QtGui.QColor("#000075")
+DRESSING = QtGui.QColor("magenta")
+GUTTA_PERCHA = QtGui.QColor("#bb0000")
+FILL_OUTLINE = QtGui.QColor("#333333") #used to be blue
+TRANSPARENT = QtCore.Qt.transparent
+BACKGROUND = QtGui.QPalette().window()
diff --git a/src/standalone_chart/lib_om_chart/chart_widget.py b/src/standalone_chart/lib_om_chart/chart_widget.py
new file mode 100644
index 0000000..ae280e6
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/chart_widget.py
@@ -0,0 +1,904 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+has one class, a custom widget which inherits from QWidget
+'''
+
+from __future__ import division
+
+import logging
+import re
+import sys
+from PyQt4 import QtGui, QtCore
+
+import chart_colours as colours
+
+class ChartWidget(QtGui.QWidget):
+ '''
+ a custom widget to show a standard UK dental chart
+ - allows for user navigation with mouse and/or keyboard
+ '''
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
+ QtGui.QSizePolicy.Expanding))
+
+ self.grid = (["ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1', \
+ 'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8'],
+ ["lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1', \
+ 'll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8'])
+
+ self.clear()
+ self.isStaticChart = True
+ self.isPlanChart = False
+ self.setMinimumSize(self.minimumSizeHint())
+ self.showLeftRight = True
+ self.showSelected = False
+
+ def clear(self, keepSelection=False):
+ '''
+ clears all fillings etc from the chart
+ '''
+ #--clear individual teeth
+ self.ur8, self.ur7, self.ur6, self.ur5, self.ur4, self.ur3, self.ur2, \
+ self.ur1 = [] ,[], [], [], [], [], [], []
+ self.ul8, self.ul7, self.ul6, self.ul5, self.ul4, self.ul3, self.ul2, \
+ self.ul1 = [], [], [], [], [], [], [], []
+ self.ll8, self.ll7, self.ll6, self.ll5, self.ll4, self.ll3, self.ll2, \
+ self.ll1 = [], [], [], [], [], [], [], []
+ self.lr8, self.lr7, self.lr6, self.lr5, self.lr4, self.lr3, self.lr2, \
+ self.lr1 = [], [], [], [], [], [], [], []
+
+ #--clear comments
+ self.commentedTeeth = []
+
+ #-- set to an adult dentition
+ self.chartgrid = {
+ 'lr1' : 'lr1', 'lr3' : 'lr3', 'lr2' : 'lr2', 'lr5' : 'lr5',
+ 'lr4' : 'lr4', 'lr7' : 'lr7', 'lr6' : 'lr6', 'lr8' : 'lr8',
+ 'ul8' : 'ul8', 'ul2' : 'ul2', 'ul3' : 'ul3', 'ul1' : 'ul1',
+ 'ul6' : 'ul6', 'ul7' : 'ul7', 'ul4' : 'ul4', 'ul5' : 'ul5',
+ 'ur4' : 'ur4', 'ur5' : 'ur5', 'ur6' : 'ur6', 'ur7' : 'ur7',
+ 'ur1' : 'ur1', 'ur2' : 'ur2', 'ur3' : 'ur3', 'ur8' : 'ur8',
+ 'll8' : 'll8', 'll3' : 'll3', 'll2' : 'll2', 'll1' : 'll1',
+ 'll7' : 'll7', 'll6' : 'll6', 'll5' : 'll5', 'll4': 'll4'
+ }
+
+ #-- select the ur8
+ if keepSelection:
+ logging.debug("keeping existing chart selection(s)")
+ else:
+ self.showSelected = False
+ self.selected = [0, 0]
+ self.multiSelection = []
+ self.highlighted = [-1, -1]
+ self.update()
+
+ def sizeHint(self):
+ '''
+ set an arbitrary size
+ '''
+ return QtCore.QSize(500, 200)
+
+ def minimumSizeHint(self):
+ '''
+ arbitrary minimum size
+ '''
+ return QtCore.QSize(300, 100)
+
+ def setShowLeftRight(self, arg):
+ '''
+ a boolean for user preference whether to display right / left text
+ on the widget
+ '''
+ self.showLeftRight = arg
+
+ def setShowSelected(self, arg):
+ '''
+ a boolean as to whether to "select" a tooth
+ by default the overview (summary) chart doesn't
+ '''
+ self.showSelected = arg
+
+ def setToothProps(self, tooth, props):
+ '''
+ adds fillings and comments to a tooth
+ '''
+ if tooth in self.commentedTeeth:
+ self.commentedTeeth.remove(tooth)
+ if "!" in props:
+ self.commentedTeeth.append(tooth)
+
+ proplist = props.split(" ")
+ self.__dict__[tooth] = []
+ for prop in proplist:
+ if prop != "":
+ if not re.match("!.*", prop):
+ prop = "%s "% prop.lower()
+ else:
+ prop = "%s "% prop
+ self.__dict__[tooth].append(prop)
+
+ def paintEvent(self, event=None):
+ '''
+ overrides the paint event so that we can draw our grid
+ '''
+ painter = QtGui.QPainter(self)
+ painter.save()
+ painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
+ midline = self.width() / 100
+ #-- cell width
+ xOffset = (self.width() - midline) / 16
+ #-- cell height
+ yOffset = self.height() / 2
+ #--red pen
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 2))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 2))
+ sansFont = QtGui.QFont("Helvetica", 8)
+ painter.setFont(sansFont)
+ fm = QtGui.QFontMetrics(sansFont)
+ leftpad = fm.width("Right ")
+ rightpad = fm.width(" Left")
+
+ #--big horizontal dissection of entire widget
+ painter.drawLine(leftpad, self.height() / 2, self.width() - rightpad,
+ self.height() / 2)
+ #--vertical dissection of entire widget
+ painter.drawLine(self.width() / 2, 0, self.width() / 2, self.height())
+
+ for x in range(16):
+ if x > 7:
+ midx = midline
+ else:
+ midx = 0
+ for y in range(2):
+ tooth_notation = self.grid[y][x]
+ rect = QtCore.QRectF(x * xOffset + midx, y *yOffset,
+ xOffset, yOffset).adjusted(0.5, 0.5, -0.5, -0.5)
+
+ #-- draw a tooth (subroutine)
+ self.tooth(painter, rect, tooth_notation)
+ if [x, y] == self.highlighted:
+ painter.setPen(QtGui.QPen(QtCore.Qt.cyan, 1))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ if self.showSelected:
+ #-- these conditions mean that the tooth needs to be
+ #--highlighted draw a rectangle around the selected tooth,
+ #--but don't overwrite the centre
+
+ if [x, y] == self.selected:
+ painter.setPen(QtGui.QPen(QtCore.Qt.darkBlue, 2))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ elif [x, y] in self.multiSelection:
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue, 2))
+ painter.setBrush(colours.TRANSPARENT)
+ painter.drawRect(rect.adjusted(1, 1, -1, -1))
+
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+
+ textRect = QtCore.QRectF(0, 0, self.width(), self.height())
+
+ if self.showLeftRight:
+ #--show left/right (this is done here to avoid being overwritten
+ #--during the rest of the paint job
+ painter.drawText(textRect, QtCore.Qt.AlignRight|
+ QtCore.Qt.AlignVCenter, (_("Left")))
+
+ painter.drawText(textRect, QtCore.Qt.AlignLeft|
+ QtCore.Qt.AlignVCenter, (_("Right")))
+
+ #--free the painter's saved state
+ painter.restore()
+
+ def tooth(self, painter, rect, ident):
+ painter.save()
+
+ #--get tooth props - ie fillings, plans etc....
+ #--this will be a list of values eg ["MOD","RT"]
+ props = self.__dict__[ident]
+
+ isUpper = ident[0] == "u"
+
+ #-- split tooth rectangle into a large graphic square...
+ #-- and a smaller text square
+ thirdheight = rect.height()*1/3
+ if isUpper:
+ #-- the 2 allows for the "select" box to be drawn around the tooth
+ toothRect = rect.adjusted(0, 2, 0, -thirdheight)
+ textRect = rect.adjusted(0, 2 * thirdheight, 0, -2)
+ else:
+ toothRect = rect.adjusted(0, thirdheight, 0, -2)
+ textRect = rect.adjusted(0, 2, 0, -2 * thirdheight)
+
+ #--colours are grabbed from the separate colours module
+ painter.setPen(colours.TOOTHLINES)
+ painter.setBrush(colours.IVORY)
+ toothid = self.chartgrid[ident]
+
+ ###################### DRAW THE TOOTH's TEXT###########################
+ #--tooth ident is always ur1, ur2 ...
+ #--tooth name is more flexible for deciduous teeth etc...
+ toothtext = toothid[2]
+ #check for deciduous teeth
+ if toothtext in ("A", "B", "C", "D", "E", "*"):
+ #################BABY TOOTH###########################
+ #-- paint deciduous notation in RED
+ painter.save()
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawText(textRect, QtCore.Qt.AlignCenter, (toothtext))
+ painter.restore()
+
+ #-- and "shrink" the tooth
+ toothRect = toothRect.adjusted(toothRect.width()*0.1,
+ toothRect.height()*0.15,-toothRect.width()*0.1,
+ -toothRect.height()*0.15)
+
+ else:
+ #--adult tooth
+ painter.save()
+ if self.isEnabled():
+ painter.setPen(QtGui.QPen(colours.CHARTTEXT, 1))
+ else:
+ painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ painter.drawText(textRect, QtCore.Qt.AlignCenter, toothtext)
+ painter.restore()
+
+ #--more occlusal/incisal edge sizing
+
+ if ident in self.commentedTeeth:
+ #-- comments
+ #-- commented teeth have a red exclamation mark on a yellow square
+ painter.save()
+ painter.setPen(QtGui.QPen(QtCore.Qt.yellow, 1))
+ painter.setBrush(QtCore.Qt.yellow)
+ comRect = textRect.adjusted(textRect.width() * .7, 0, 0, 0)
+ painter.drawRect(comRect)
+ sansFont = QtGui.QFont("Helvetica", 9)
+ painter.setFont(sansFont)
+ painter.setPen(QtGui.QPen(QtCore.Qt.red, 2))
+ painter.drawText(comRect, QtCore.Qt.AlignCenter, "!")
+ painter.restore()
+ for prop in ("rt ", "ap ", "-m,1 ", "-m,2 ",
+ "+p ", "+s ", "oe", "px", "px+"):
+ #-- these properties are written in... not drawn
+ if prop in props:
+ painter.save()
+ comRect = textRect.adjusted(0, 0, -textRect.width() * 0.6,
+ 0)
+ painter.setPen(QtGui.QPen(QtCore.Qt.blue, 1))
+ painter.drawRect(comRect)
+ sansFont = QtGui.QFont("Helvetica", 7)
+ painter.setFont(sansFont)
+ painter.drawText(comRect, QtCore.Qt.AlignCenter,
+ prop.upper())
+ painter.restore()
+
+ toothS = toothSurfaces(self, toothRect, toothid, self.isStaticChart)
+ toothS.setProps(props)
+ toothS.draw(self, painter)
+ painter.restore()
+
+
+class toothSurfaces():
+ '''
+ draws the tooth surfaces
+ '''
+ def __init__(self, parent, rect, ident, isStatic = True):
+ '''
+ initiate using the following args
+ parent (a Qwidget), rect (a Qrect), ident (eg. ur5),
+ and optionally isStatic=True
+ '''
+ self.rect = rect
+ self.parent = parent
+ self.props = ""
+ #--backtooth?
+ self.backTooth = False
+ self.toothtext = ident[2]
+ if re.match("[DE45678*]", self.toothtext):
+ self.backTooth = True
+ self.isStatic = isStatic
+
+ self.quadrant = ident[0:2]
+ self.isUpper = ident[0] == "u"
+
+ #--the occlusal surface (for backteeth)
+ #--or incisal edge for front teeth..
+ #-- is given a width here.
+ #-- irw = inner rectangle width
+ irw = self.rect.width() * 0.25
+
+ if self.backTooth:
+ irh = rect.height() * 0.25
+ else:
+ irh = rect.height() * 0.45
+ self.innerRect = self.rect.adjusted(irw, irh, -irw, -irh)
+
+ def setProps(self, props):
+ self.props = props
+
+ def draw(self, parent, painter=None):
+ if painter == None:
+ self.painter = QtGui.QPainter(parent)
+ else:
+ self.painter = painter
+ for prop in self.props:
+ prop = prop.strip(" ")
+ if re.match("\(.*", prop):
+ #-- brackets are used to indicate the start/end of a bridge
+ #--let's see bridge start by shrinking that edge.
+ ##TODO - draw a demarcation line here??
+ adj = self.rect.width()*0.10
+ if self.isUpper:
+ self.rect = self.rect.adjusted(adj, 0, 0, 0)
+ else:
+ self.rect = self.rect.adjusted(0, 0, -adj, 0)
+ #--remove the bracket
+ #--necessary for condition in a few lines time
+ prop = prop.strip("(")
+
+ elif re.match(".*\)$", prop):
+ #--other end of a bridge
+ adj = self.rect.width()*0.10
+ if self.isUpper:
+ self.rect = self.rect.adjusted(0, 0, -adj, 0)
+ else:
+ self.rect = self.rect.adjusted(adj, 0, 0, 0)
+ prop = prop.strip(")")
+
+ if "br/p" in prop:
+ #bridge pontic found - shrink
+ self.rect = self.rect.adjusted(0, self.rect.height() * 0.10, 0,
+ -self.rect.height() * 0.10)
+
+
+ #--draw the tooth if static chart or properties to show
+ #--leave blank if treatment chart.
+ if self.isStatic or self.props != []:
+ self.painter.drawRect(self.rect)
+ self.painter.drawRect(self.innerRect)
+ self.painter.drawLine(self.rect.topLeft(), self.innerRect.topLeft())
+ self.painter.drawLine(self.rect.topRight(), self.innerRect.topRight())
+ self.painter.drawLine(self.rect.bottomLeft(), self.innerRect.bottomLeft())
+ self.painter.drawLine(self.rect.bottomRight(), self.innerRect.bottomRight())
+
+ #-deciduos (ie. indeterminate) 6, 7, 8 are marked as "*"
+ #--paint over these.
+ if self.toothtext == "*":
+ erase_color = parent.palette().background().color()
+ self.painter.setPen(erase_color)
+ self.painter.setBrush(erase_color)
+ self.painter.drawRect(self.rect)
+
+ #--set variables for fill draw points
+ #--this are NOT static as the widget is resizable
+ ##TODO I could probably get performance improvement here.
+ ##by having a default set which changes only if the "tooth" has been
+ ##resized.
+
+ if self.props != []:
+ if self.backTooth:
+ toothdimen = self.rect.width()
+ ax = self.rect.topLeft().x() + toothdimen * 0.05
+ bx = self.rect.topLeft().x() + toothdimen * 0.15
+ cx = self.rect.topLeft().x() + toothdimen * 0.2
+ dx = self.rect.topLeft().x() + toothdimen * 0.35
+ ex = self.rect.topLeft().x() + toothdimen * 0.5
+ fx = self.rect.topLeft().x() + toothdimen * 0.7
+ gx = self.rect.topLeft().x() + toothdimen * 0.8
+ hx = self.rect.topLeft().x() + toothdimen * 0.85
+ ix = self.rect.topLeft().x() + toothdimen * 0.95
+ toothdimen = self.rect.height()
+ ay = self.rect.topLeft().y() + toothdimen * 0.05
+ by = self.rect.topLeft().y() + toothdimen * 0.15
+ cy = self.rect.topLeft().y() + toothdimen * 0.2
+ dy = self.rect.topLeft().y() + toothdimen * 0.35
+ ey = self.rect.topLeft().y() + toothdimen * 0.5
+ fy = self.rect.topLeft().y() + toothdimen * 0.65
+ gy = self.rect.topLeft().y() + toothdimen * 0.8
+ hy = self.rect.topLeft().y() + toothdimen * 0.85
+ iy = self.rect.topLeft().y() + toothdimen * 0.95
+ else:
+ #--front tooth - different patterns
+ toothdimen = self.rect.width()
+ ax = self.rect.topLeft().x() + toothdimen * 0.05
+ bx = self.rect.topLeft().x() + toothdimen * 0.15
+ cx = self.rect.topLeft().x() + toothdimen * 0.2
+ dx = self.rect.topLeft().x() + toothdimen * 0.3
+ ex = self.rect.topLeft().x() + toothdimen * 0.5
+ fx = self.rect.topLeft().x() + toothdimen * 0.7
+ gx = self.rect.topLeft().x() + toothdimen * 0.8
+ hx = self.rect.topLeft().x() + toothdimen * 0.85
+ ix = self.rect.topLeft().x() + toothdimen * 0.95
+ toothdimen = self.rect.height()
+ ay = self.rect.topLeft().y() + toothdimen * 0.05
+ by = self.rect.topLeft().y() + toothdimen * 0.15
+ cy = self.rect.topLeft().y() + toothdimen * 0.2
+ dy = self.rect.topLeft().y() + toothdimen * 0.3
+ ey = self.rect.topLeft().y() + toothdimen * 0.5
+ fy = self.rect.topLeft().y() + toothdimen * 0.7
+ gy = self.rect.topLeft().y() + toothdimen * 0.8
+ hy = self.rect.topLeft().y() + toothdimen * 0.85
+ iy = self.rect.topLeft().y() + toothdimen * 0.95
+
+ for prop in self.props:
+ prop = prop.strip(" ")
+ material = ""
+ self.painter.save()
+
+ prop = prop.strip("#&")
+ if prop == "pv":
+ prop = "pv,pj"
+ if re.match("!.*", prop):
+ prop = ""
+ if "/" in prop:
+ if re.match("\(.*", prop):
+ #--start of a bridge
+ leading_bracket = True
+ prop = prop[1:]
+ else:
+ leading_bracket = False
+ if re.match("br/.*",prop):
+ #--bridge
+ prop = prop[3:]
+ if leading_bracket:
+ prop = prop.replace(",", ",(")
+ if "p," in prop:
+ #--some gold crowns are cr/modbl,go
+ prop = "PONTIC," + prop[2:]
+ if "mr" in prop:
+ prop = "p,mr"
+ else:
+ if "pi" in prop:
+ #--porcelain inlays are pi/modp etc
+ prop = prop[3:] + ",pi"
+ if "cr" in prop:
+ #--some gold crowns are cr/modbl,go
+ prop = prop[3:]
+ if "gi" in prop:
+ prop = prop[3:] + ",go"
+ if "gc" in prop:
+ #-- code for gi treatment where exceptional
+ #-- circumstances apply
+ #-- "gc/mod".. so for drawing purposes
+ #-- change this to "mod,gi"
+ prop = prop[3:] + ",gl"
+
+ if prop[:2] in ("tm","at"):
+ erase_color = parent.palette().background().color()
+ self.painter.setPen(erase_color)
+ self.painter.setBrush(erase_color)
+ self.painter.drawRect(self.rect)
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.gray, 1))
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter,
+ prop.upper())
+
+ prop = ""
+ if prop[:2] in ("ue", "pe", "oe", "rp"):
+ if prop[:2] == "ue":
+ erase_color = parent.palette().background().color()
+ self.painter.setBrush(erase_color)
+ else:
+ self.painter.setBrush(QtCore.Qt.transparent)
+ self.painter.drawRect(self.rect)
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.black, 1))
+ if self.backTooth:
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter, prop)
+ else:
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0),
+ QtCore.Qt.AlignCenter, prop)
+ #--prevent the o's and p's being interpreted as fills
+ prop = ""
+
+ if ",pr" in prop:
+ #TODO - pin??
+ prop = prop.replace(",pr", "")
+
+ if "," in prop:
+ #--get materal if present
+ material = prop.split(",")[1]
+ material = re.sub("[()]", "", material)
+ prop = prop.split(",")[0]
+ #--adjust for mirror imaging
+ else:
+ #--set default material
+ if self.toothtext == "4":
+ if prop in ("B", "P"):
+ material = "co"
+ else:
+ material = "am"
+ elif self.backTooth:
+ material = "am"
+ else:
+ material = "co"
+
+ if prop[:2] == "fs":
+ material = "fs"
+
+ if prop[:2] == "dr":
+ material = "dr"
+
+ #--put an outline around the filling
+ self.painter.setPen(QtGui.QPen(colours.FILL_OUTLINE, 1))
+
+ #--set filling color
+ if material == "co":
+ self.painter.setBrush(colours.COMP)
+ elif material in ("pj", "ot", "pi", "a1", "v1", "v2", "opal",
+ "opalite", "lava"):
+ self.painter.setBrush(colours.PORC)
+ elif material == "gl":
+ self.painter.setBrush(colours.GI)
+ elif material == "go":
+ self.painter.setBrush(colours.GOLD)
+ elif material == "am":
+ self.painter.setBrush(colours.AMALGAM)
+ elif material == "mr":
+ self.painter.setBrush(colours.METAL)
+ elif material == "dr":
+ self.painter.setBrush(colours.DRESSING)
+ elif material == "fs":
+ self.painter.setPen(QtGui.QPen(colours.FISSURE, 1))
+ self.painter.setBrush(colours.FISSURE)
+ else:
+ logging.debug("unhandled material colour %s %s %s"% (
+ self.toothtext, prop, material))
+
+ if self.quadrant[1] == "l" and prop != "dr":
+ #-- left hand side - reverse fills
+ #-- this loods a confusing merry dance...
+ #-- capitalisation used to prevent changes being undone
+ prop = prop.replace("m", "D")
+ prop = prop.replace("d", "m")
+ prop = prop.replace("D", "d")
+ if self.quadrant[0] == "l":
+ prop = prop.replace("b", "L")
+ prop = prop.replace("l", "b")
+ prop = prop.replace("L", "l")
+ if prop[0:2] == "cr" or "PONTIC" in prop:
+ if "PONTIC" in prop:
+ crRect = self.rect
+ else:
+ crRect = self.rect.adjusted(0, 2, 0, -2)
+ self.painter.drawRect(crRect)
+ self.painter.drawRect(self.innerRect)
+ self.painter.drawLine(crRect.topLeft(), self.innerRect.topLeft())
+ self.painter.drawLine(crRect.topRight(), self.innerRect.topRight())
+ self.painter.drawLine(crRect.bottomLeft(),
+ self.innerRect.bottomLeft())
+
+ self.painter.drawLine(crRect.bottomRight(),
+ self.innerRect.bottomRight())
+
+ if self.backTooth:
+ self.painter.drawText(self.rect, QtCore.Qt.AlignCenter,
+ material)
+ else:
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0), QtCore.Qt.AlignCenter,
+ material)
+
+ if prop == "pv" and self.isUpper:
+ self.painter.drawPolygon(QtGui.QPolygon(
+ [self.rect.topLeft().x(), self.rect.topLeft().y(),
+ self.rect.topRight().x(), self.rect.topRight().y(),
+ self.innerRect.topRight().x(), self.innerRect.topRight().y(),
+ self.innerRect.topLeft().x(), self.innerRect.topLeft().y()]))
+
+ self.painter.drawText(self.rect.adjusted(0, 0, 0,
+ -self.rect.height() / 2), QtCore.Qt.AlignCenter, prop)
+
+ prop = ""
+
+ if prop == "pv" and not self.isUpper:
+ self.painter.drawPolygon(QtGui.QPolygon(
+ [self.rect.bottomLeft().x(), self.rect.bottomLeft().y(),
+ self.rect.bottomRight().x(), self.rect.bottomRight().y(),
+ self.innerRect.bottomRight().x(), self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(), self.innerRect.bottomLeft().y()]))
+
+ self.painter.drawText(self.rect.adjusted(0,
+ self.rect.height() / 2, 0, 0),
+ QtCore.Qt.AlignCenter, prop)
+
+ prop = ""
+
+ if prop == "ex":
+ #-- draw a big red X
+ self.painter.save()
+
+ self.painter.setPen(QtGui.QPen(QtCore.Qt.red, 4))
+ self.painter.drawLine(self.rect.topLeft(),
+ self.rect.bottomRight())
+
+ self.painter.drawLine(self.rect.topRight(),
+ self.rect.bottomLeft())
+
+ self.painter.restore()
+
+ #IGNORE LIST
+ if prop in ("px", "oe"):
+ prop=""
+
+ prop = prop.replace("l", "p")
+ shapes = []
+ if self.backTooth:
+ if "fs" in prop:
+ shapes.append(QtGui.QPolygon(
+ [dx, ey-1, fx, ey-1, fx+1, ey+1, dx, ey+1]))
+ shapes.append(QtGui.QPolygon(
+ [ex-1, dy, ex+1, dy, ex+1, fy, ex-1, fy]))
+ elif "dr" in prop:
+ n = QtGui.QPolygon([cx, dy, dx, by, fx, by, hx, dy,
+ hx, fy, fx, hy, dx, hy, cx, fy])
+ shapes.append(n)
+ elif re.match("[modbp]{5}", prop):
+ n = QtGui.QPolygon([ax, by, cx, dy, dx, dy, dx, by,
+ fx, by, fx, dy, gx, dy, ix, by, ix, hy, gx, fy, fx,
+ fy, fx, hy, dx, hy, dx, fy, cx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[modb]{4}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, dx, by, fx, by,
+ fx, dy, ix, by, ix, hy, fx, fy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[modp]{4}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, fx, dy, ix, by,
+ ix, hy, fx, fy, fx, hy, dx, hy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[mod]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, dy, fx, dy, ix, by,
+ ix, hy, fx, fy, dx, fy, ax, hy])
+ shapes.append(n)
+ elif re.match("[mob]{3}", prop):
+ n = QtGui.QPolygon([dx, dy, ex, dy, ex, by, fx, by,
+ fx, dy, gx, dy, ix, by, ix, hy, gx, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[mop]{3}", prop):
+ n = QtGui.QPolygon([dx, dy, gx, dy, ix, by, ix, hy,
+ gx, fy, fx, fy, fx, hy, ex, hy, ex, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[dob]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, ex, dy, ex, by,
+ fx, by, fx, dy, fx, dy, fx, fy, cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[dop]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, fx, dy, fx, fy,
+ ex, fy, ex, hy, dx, hy, dx, fy, cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[mbd]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, ay, fx, ay, ix, by,
+ ix, ey, hx, ey, hx, cy, bx, cy, bx, ey, ax, ey])
+ shapes.append(n)
+ elif re.match("[mpd]{3}", prop):
+ n = QtGui.QPolygon([ax, ey, bx, ey, bx, hy, hx, hy,
+ hx, ey, ix, ey, ix, gy, gx, iy, bx, iy, ax, gy])
+ shapes.append(n)
+ elif re.match("[ob]{2}", prop):
+ n = QtGui.QPolygon([cx, ay, gx, ay, fx, cy, fx, fy,
+ dx, fy, dx, cy])
+ shapes.append(n)
+ elif re.match("[op]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, gy, gx, iy,
+ cx, iy, dx, gy])
+ shapes.append(n)
+ elif re.match("[mb]{2}", prop):
+ n = QtGui.QPolygon([dx, ay, fx, ay, ix, by, ix, ey,
+ hx, ey, hx, dy, fx, cy, dx, cy, bx, by])
+ shapes.append(n)
+ elif re.match("[mp]{2}", prop):
+ n = QtGui.QPolygon([dx, iy, fx, iy, ix, hy, ix, ey,
+ hx, ey, hx, fy, fx, gy, dx, gy, bx, hy])
+ shapes.append(n)
+ elif re.match("[db]{2}", prop):
+ n = QtGui.QPolygon([fx, ay, dx, ay, ax, by, ax, ey,
+ bx, ey, bx, dy, dx, cy, fx, cy, hx, by])
+ shapes.append(n)
+ elif re.match("[dp]{2}", prop):
+ n = QtGui.QPolygon([fx, iy, dx, iy, ax, hy, ax, ey,
+ bx, ey, bx, fy, dx, gy, fx, gy, hx, hy])
+ shapes.append(n)
+ elif re.match("[mo]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, gx, dy, ix, cy, ix, gy,
+ gx, fy, dx, fy])
+ shapes.append(n)
+ elif re.match("[do]{2}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy, fx, dy, fx, fy,
+ cx, fy, ax, gy])
+ shapes.append(n)
+
+ elif "o" in prop:
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, fy, dx, fy])
+ shapes.append(n)
+ elif "m" in prop:
+ n = QtGui.QPolygon([gx, dy, ix, by, ix, hy, gx, fy])
+ shapes.append(n)
+ elif "d" in prop:
+ n = QtGui.QPolygon([ax, by, cx, dy, cx, fy, ax, hy])
+ shapes.append(n)
+ elif "p" in prop:
+ n = QtGui.QPolygon([bx, iy, dx, gy, fx, gy, hx, iy])
+ shapes.append(n)
+ elif "b" in prop:
+ n = QtGui.QPolygon([bx, ay, hx, ay, fx, cy, dx, cy])
+ shapes.append(n)
+ else: #front tooth
+ if "dr" in prop:
+ n = QtGui.QPolygon([cx, dy, dx, by, fx, by, hx, dy,
+ hx, fy, fx, hy, dx, hy, cx, fy])
+ shapes.append(n)
+ elif re.match("[mbd]{3}", prop):
+ n = QtGui.QPolygon([ax, by, dx, ay, fx, ay, ix, by,
+ ix, ey, hx, ey, hx, cy, bx, cy, bx, ey, ax, ey])
+ shapes.append(n)
+ elif re.match("[mpd]{3}", prop):
+ n = QtGui.QPolygon([ax, ey, bx, ey, bx, hy, hx, hy,
+ hx, ey, ix, ey, ix, gy, gx, iy, bx, iy, ax, gy])
+ shapes.append(n)
+ elif re.match("[ib]{2}", prop):
+ n = QtGui.QPolygon([cx, ay, gx, ay, fx, cy, fx, fy,
+ dx, fy, dx, cy])
+ shapes.append(n)
+ elif re.match("[ip]{2}", prop):
+ n = QtGui.QPolygon([dx, dy, fx, dy, fx, gy, gx, iy,
+ cx, iy, dx, gy])
+ shapes.append(n)
+ elif re.match("[mb]{2}", prop):
+ n = QtGui.QPolygon([dx, ay, fx, ay, ix, by, ix, ey,
+ hx, ey, hx, dy, fx, cy, dx, cy, bx, by])
+ shapes.append(n)
+ elif re.match("[mp]{2}", prop):
+ n = QtGui.QPolygon([dx, iy, fx, iy, ix, hy, ix, ey,
+ hx, ey, hx, fy, fx, gy, dx, gy, bx, hy])
+ shapes.append(n)
+ elif re.match("[db]{2}", prop):
+ n = QtGui.QPolygon([fx, ay, dx, ay, ax, by, ax, ey,
+ bx, ey, bx, dy, dx, cy, fx, cy, hx, by])
+ shapes.append(n)
+ elif re.match("[dp]{2}", prop):
+ n = QtGui.QPolygon([fx, iy, dx, iy, ax, hy, ax, ey,
+ bx, ey, bx, fy, dx, gy, fx, gy, hx, hy])
+ shapes.append(n)
+ elif re.match("[mid]{3}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ gx, dy, ix, cy, ix, gy, gx, fy,
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),cx, fy, ax, gy])
+ shapes.append(n)
+ elif re.match("[mi]{2}", prop):
+ n = QtGui.QPolygon([self.innerRect.topLeft().x(),
+ self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ gx, dy, ix, cy, ix, gy, gx, fy,
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),
+ ])
+ shapes.append(n)
+ elif re.match("[di]{2}", prop):
+ n = QtGui.QPolygon([ax, cy, cx, dy,
+ self.innerRect.topLeft().x(),self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y(),
+ cx, fy, ax, gy])
+ shapes.append(n)
+ elif "i" in prop:
+ n = QtGui.QPolygon([self.innerRect.topLeft().x(),
+ self.innerRect.topLeft().y(),
+ self.innerRect.topRight().x(),
+ self.innerRect.topRight().y(),
+ self.innerRect.bottomRight().x(),
+ self.innerRect.bottomRight().y(),
+ self.innerRect.bottomLeft().x(),
+ self.innerRect.bottomLeft().y()])
+ shapes.append(n)
+ elif "m" in prop:
+ shapes.append(QtGui.QPolygon(
+ [hx, dy, ix, dy, ix, fy, hx, fy, gx, ey]))
+ elif "d" in prop:
+ shapes.append(QtGui.QPolygon(
+ [ax, dy, bx, dy, cx, ey, bx, fy, ax, fy]))
+ elif "p" in prop:
+ shapes.append(QtGui.QPolygon([cx, hy, cx, gy, ex, fy,
+ gx, gy, gx, hy, fx, iy, dx, iy]))
+ elif "b" in prop:
+ shapes.append(QtGui.QPolygon([cx, cy, cx, ay, ex, ay,
+ gx, ay, gx, cy, fx, dy, dx, dy]))
+ for shape in shapes:
+ self.painter.drawPolygon(shape)
+ ##todo - drawPath may be MUCH better (curvier)
+ ##- a lot of work to change though?
+
+ self.painter.restore()
+
+class toothImage(QtGui.QWidget):
+ '''
+ a class to grab an image of the tooth widget
+ '''
+ def __init__(self, parent=None):
+ super(toothImage, self).__init__(parent)
+
+ def paintEvent(self, event=None):
+ recd = QtCore.QRectF(0, 0, self.width(), self.height())
+ toothS = toothSurfaces(self, recd, "ur8")
+ toothS.setProps(["m do,gl ",])
+ toothS.draw(self)
+
+ def image(self):
+ '''
+ returns a png image of the tooth
+ '''
+ myimage=QtGui.QPixmap.grabWidget(self)
+
+ return myimage
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ app = QtGui.QApplication(sys.argv)
+ form = ChartWidget()
+ form.chartgrid = {'lr1': 'lr1', 'lr3': 'lr3', 'lr2': 'lr2', 'lr5': 'lr5',
+ 'lr4': 'lr4', 'lr7': 'lr7', 'lr6': 'lr6', 'lr8': 'lr8','ul8': '***',
+ 'ul2': 'ul2', 'ul3': 'ulC', 'ul1': 'ul1', 'ul6': 'ul6', 'ul7': 'ul7',
+ 'ul4': 'ul4', 'ul5': 'ul5', 'ur4': 'ur4','ur5': 'ur5', 'ur6': 'ur6',
+ 'ur7': 'ur7', 'ur1': 'ur1', 'ur2': 'ur2', 'ur3': 'ur3', 'ur8': 'ur8',
+ 'll8': 'll8', 'll3': 'll3','ll2': 'll2', 'll1': 'll1', 'll7': 'll7',
+ 'll6': 'll6', 'll5': 'll5', 'll4': 'll4'}
+
+ for properties in (
+ ("ur7", "ex "), ("ur6", "gi/modbp mb"), ("ur5", "cr,go mp"),
+ ("ur4", "mop,co"), ("ur3", "AT"), ("ur2", "di,co b"), ("ur1", "pv rt"),
+ ("ul1", "cr,pj"), ("ul2", "dp,co b,co"), ("ul3","di p,go"),
+ ("ll3", "pv"), ("ll2", "dip"), ("ll1", "midi"),
+ ("lr1", "mpd"), ("lr2", "mld,gl"), ("lr3", "dr"),
+ ("ul4", "do"), ("ul6", "mo"), ("lr8", "("),
+ ("ul7", "mop,co"), ("ur8", "mdb,gl mpd,go ob"), ("ll4", "b,gl dl,co"),
+ ("ll5", "ob ml"), ("ll6", "mod,co"), ("ll7", "pe"), ("ll8", "ue !watch"),
+ ("lr4", "b"), ("lr5", "dr"), ("lr7", "fs"), ("lr6", "modbl,pr")):
+ form.setToothProps(properties[0], properties[1])
+ form.show()
+ pixmap = QtGui.QPixmap.grabWidget(form)
+ pixmap.save("/home/neil/chart.png")
+ form.selected = [0, 2]
+ sys.exit(app.exec_())
+
diff --git a/src/standalone_chart/lib_om_chart/config.py b/src/standalone_chart/lib_om_chart/config.py
new file mode 100644
index 0000000..f1f3c0e
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/config.py
@@ -0,0 +1,80 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+this module has one purpose...
+read the config file
+'''
+
+import base64
+import ConfigParser
+import logging
+import os
+
+CONF_FILE_LOC = os.path.join(os.path.expanduser("~"),
+ ".openmolar", "om_chart.conf")
+logging.debug("using conf file at '%s'"% CONF_FILE_LOC)
+
+try:
+ parser = ConfigParser.SafeConfigParser()
+ parser.read(CONF_FILE_LOC)
+
+ KWARGS = {
+ "host":parser.get("Database","host"),
+ "port":int(parser.get("Database","port")),
+ "user":parser.get("Database","user"),
+ "passwd": base64.b64decode(parser.get("Database","password")),
+ "db":parser.get("Database","db_name"),
+ "use_unicode":True,
+ "charset":"utf8"
+ }
+
+ SURGERY_NO = int(parser.get("Surgery","number"))
+
+except ConfigParser.NoSectionError:
+ logging.error("unable to parse config file - first run??")
+ KWARGS = {}
+ SURGERY_NO = 0
+
+def write_config(host, port, db_name, user, passwd, surgery, ssl=True):
+ parser = ConfigParser.RawConfigParser()
+
+ parser.add_section('Database')
+ parser.set('Database', 'host', host)
+ parser.set('Database', 'port', port)
+ parser.set('Database', 'db_name', db_name)
+ parser.set('Database', 'user', user)
+ parser.set('Database', 'password', base64.b64encode(passwd))
+ parser.set('Database', 'ssl', ssl)
+ parser.add_section('Surgery')
+ parser.set('Surgery', 'number', surgery)
+
+ # Writing our configuration file to 'example.cfg'
+ if os.path.exists(CONF_FILE_LOC):
+ os.remove(CONF_FILE_LOC)
+ with open(CONF_FILE_LOC, 'wb') as configfile:
+ parser.write(configfile)
+
+
+if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
+ print KWARGS
diff --git a/src/standalone_chart/lib_om_chart/config_dialog.py b/src/standalone_chart/lib_om_chart/config_dialog.py
new file mode 100644
index 0000000..d22d6bb
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/config_dialog.py
@@ -0,0 +1,152 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+has one class, a dialog to write the config
+'''
+
+import logging
+import sys
+
+from PyQt4 import QtGui, QtCore
+
+import config
+
+class ConfigDialog(QtGui.QDialog):
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+
+ label = QtGui.QLabel(u"<b>%s</b>"% _(
+ "Please complete the following form"))
+ label.setAlignment(QtCore.Qt.AlignCenter)
+ frame = QtGui.QFrame()
+ form_layout = QtGui.QFormLayout(frame)
+
+ self.host_le= QtGui.QLineEdit()
+ self.port_le= QtGui.QLineEdit()
+ self.database_le= QtGui.QLineEdit()
+ self.user_le= QtGui.QLineEdit()
+ self.password_le= QtGui.QLineEdit()
+ self.password_le.setEchoMode(QtGui.QLineEdit.Password)
+ self.surgery_sb = QtGui.QSpinBox()
+
+ form_layout.addRow(_("host"), self.host_le)
+ form_layout.addRow(_("port"), self.port_le)
+ form_layout.addRow(_("database"), self.database_le)
+ form_layout.addRow(_("user"), self.user_le)
+ form_layout.addRow(_("password"), self.password_le)
+ form_layout.addRow(_("Surgery number"), self.surgery_sb)
+
+ self.button_box = QtGui.QDialogButtonBox(self)
+ self.button_box.setOrientation(QtCore.Qt.Horizontal)
+ self.button_box.setStandardButtons(
+ self.button_box.Cancel|self.button_box.Apply)
+ self.button_box.setCenterButtons(True)
+
+ layout = QtGui.QVBoxLayout(self)
+ layout.addWidget(label)
+ layout.addWidget(frame)
+ layout.addStretch()
+ layout.addWidget(self.button_box)
+
+
+ self.button_box.clicked.connect(self._clicked)
+
+ def sizeHint(self):
+ return QtCore.QSize(300, 400)
+
+ def _clicked(self, but):
+ role = self.button_box.buttonRole(but)
+ if role == self.button_box.ApplyRole:
+ self.accept()
+ else:
+ self.reject()
+
+ @property
+ def host(self):
+ return unicode(self.host_le.text())
+
+ @property
+ def port(self):
+ port, result = self.port_le.text().toInt()
+ return port
+
+ @property
+ def user(self):
+ return unicode(self.user_le.text())
+
+ @property
+ def password(self):
+ return unicode(self.password_le.text())
+
+ @property
+ def db_name(self):
+ return unicode(self.database_le.text())
+
+ @property
+ def surgery(self):
+ return self.surgery_sb.value()
+
+ @property
+ def has_acceptable_values(self):
+ return (
+ self.host !="" and
+ self.user != "" and
+ self.port != 0 and
+ self.password != "" and
+ self.db_name != "" and
+ self.surgery != 0
+ )
+
+ def exec_(self, reconfigure=False):
+ result = True
+ while (result and not self.has_acceptable_values) or reconfigure:
+ result = QtGui.QDialog.exec_(self)
+ reconfigure = False
+ return result
+
+ def load_config(self):
+ self.host_le.setText(config.KWARGS["host"])
+ self.port_le.setText(str(config.KWARGS["port"]))
+ self.database_le.setText(config.KWARGS["db"])
+ self.user_le.setText(config.KWARGS["user"])
+ self.password_le.setText(config.KWARGS["passwd"])
+ self.surgery_sb.setValue(config.SURGERY_NO)
+
+ def write_config(self):
+ if self.has_acceptable_values:
+ config.write_config(
+ self.host,
+ self.port,
+ self.db_name,
+ self.user,
+ self.password,
+ self.surgery)
+ else:
+ sys.exit("TERMINAL ERROR - Unable to write config file")
+
+if __name__ == "__main__":
+ from gettext import gettext as _
+ app = QtGui.QApplication([])
+ dl = ConfigDialog()
+ if dl.exec_():
+ dl.write_config()
\ No newline at end of file
diff --git a/src/standalone_chart/lib_om_chart/connect.py b/src/standalone_chart/lib_om_chart/connect.py
new file mode 100644
index 0000000..17ac8df
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/connect.py
@@ -0,0 +1,74 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+this module has one purpose... provide a connection to the mysqldatabase
+using 3rd party MySQLdb module
+'''
+
+import config
+import logging
+import sys
+import time
+import MySQLdb
+
+class Connection(object):
+ _connection = None
+
+ @property
+ def is_configured(self):
+ return config.KWARGS != {}
+
+ def reload(self):
+ '''
+ config file has been written (after first run)
+ '''
+ reload(config)
+
+ @property
+ def connection(self):
+ attempts = 0
+ while not (self._connection and self._connection.open):
+ logging.debug("New connection needed")
+ logging.debug(
+ "connecting to %s on %s port %s"% (
+ config.KWARGS.get("host"),
+ config.KWARGS.get("db"),
+ config.KWARGS.get("port"))
+ )
+
+ try:
+ self._connection = MySQLdb.connect(**config.KWARGS)
+ except MySQLdb.Error as exc:
+ logging.error("failed to connect, attempt %s"% attempts)
+ time.sleep(2)
+ attempts += 1
+ if attempts >= 10:
+ raise exc
+ # next line not necessary as read only application ??
+ self._connection.commit()
+ return self._connection
+
+if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
+ conn = Connection().connection
+ print conn
diff --git a/src/standalone_chart/lib_om_chart/main_window.py b/src/standalone_chart/lib_om_chart/main_window.py
new file mode 100644
index 0000000..ddca68d
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/main_window.py
@@ -0,0 +1,417 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+'''
+provides the BaseMainWindow class
+a basic re-implementation of QtGui.QMainWindow that can save state etc..
+'''
+import logging
+import sys
+import traceback
+
+from PyQt4 import QtGui, QtCore
+from lib_openmolar.common.qt4.widgets import Advisor, DockableMenuBar
+
+logging.basicConfig(level=logging.DEBUG)
+
+class BaseMainWindow(QtGui.QMainWindow, Advisor):
+ '''
+ This class is a MainWindow, with menu, toolbar and statusbar.
+ Some of the layout signals/slots already connected.
+ Provides about, about QT and license dialogs.
+ '''
+ log = logging.getLogger()
+ _toolbars = []
+
+ def __init__(self, parent=None):
+
+ QtGui.QMainWindow.__init__(self, parent)
+ Advisor.__init__(self, parent)
+
+ sys.excepthook = self.excepthook
+
+ self.setMinimumSize(300, 300)
+
+ ##### setup menu and headers ####
+
+ #: a pointer to the main toolbar
+ self.main_toolbar = QtGui.QToolBar()
+ self.main_toolbar.setObjectName("Main Toolbar")
+ self.main_toolbar.toggleViewAction().setText(_("Toolbar"))
+
+ #: a pointer to the :doc:`DockableMenuBar`
+ menubar = DockableMenuBar(self)
+
+ ## add them to the app
+ self.setMenuBar(menubar)
+
+ self.addToolBar(QtCore.Qt.TopToolBarArea, self.main_toolbar)
+
+ #### setup a statusbar with a label ####
+
+ #: a pointer to the QtGui.QStatusBar
+ self.statusbar = QtGui.QStatusBar()
+ self.setStatusBar(self.statusbar)
+
+ #: a pointer to the label in the statusbar
+ self.status_label = QtGui.QLabel()
+ self.statusbar.addPermanentWidget(self.status_label)
+
+ #: a pointer to the File menu
+ self.menu_file = QtGui.QMenu(_("&File"), self)
+ menubar.addMenu(self.menu_file)
+
+ #: a pointer to the Edit menu
+ self.menu_edit = QtGui.QMenu(_("&Edit"), self)
+ menubar.addMenu(self.menu_edit)
+
+ #: a pointer to the View menu of :attr:`menubar`
+ self.menu_view = menubar.menu_view
+
+ #: a pointer to the Help menu
+ self.menu_help = QtGui.QMenu(_("&Help"), self)
+ menubar.addMenu(self.menu_help)
+
+ #### file menu ####
+
+ icon = QtGui.QIcon.fromTheme("application-exit")
+
+ #: a pointer to the quit qaction
+ self.action_quit = QtGui.QAction(icon, _("Quit"), self)
+
+ self.menu_file.addSeparator()
+ self.menu_file.addAction(self.action_quit)
+
+ #### edit menu ####
+
+ icon = QtGui.QIcon.fromTheme("preferences-desktop")
+ #: a pointer to the preferences qAction
+ self.action_preferences = QtGui.QAction(icon, _("&Preferences"), self)
+
+ self.menu_edit.addAction(self.action_preferences)
+
+ #### view menu ####
+
+ #: a pointer to the show statusbar qaction
+ self.action_show_statusbar = QtGui.QAction(_("Show Status&bar"), self)
+ self.action_show_statusbar.setCheckable(True)
+ self.action_show_statusbar.setChecked(True)
+
+ icon = QtGui.QIcon.fromTheme("view-fullscreen")
+ #: a pointer to the fullscreen mode qaction
+ self.action_fullscreen = QtGui.QAction(icon, _("FullScreen Mode"), self)
+ self.action_fullscreen.setCheckable(True)
+ self.action_fullscreen.setShortcut("f11")
+
+ self.menu_view.addSeparator()
+ self.menu_view.addAction(self.action_show_statusbar)
+ self.menu_view.addAction(self.action_fullscreen)
+
+ #### about menu ####
+
+ icon = QtGui.QIcon.fromTheme("help-about")
+ #: a pointer to the about qaction
+ self.action_about = QtGui.QAction(icon, _("About"), self)
+
+ #: a pointer to the about qt qaction
+ self.action_about_qt = QtGui.QAction(icon, _("About Qt"), self)
+
+ #: a pointer to the license qaction
+ self.action_license = QtGui.QAction(icon, _("License"), self)
+
+ icon = QtGui.QIcon.fromTheme("help", QtGui.QIcon("icons/help.png"))
+
+ #: a pointer to the help qaction
+ self.action_help = QtGui.QAction(icon, _("Help"), self)
+
+ self.menu_help.addAction(self.action_about)
+ self.menu_help.addAction(self.action_license)
+ self.menu_help.addAction(self.action_about_qt)
+ self.menu_help.addSeparator()
+ self.menu_help.addAction(self.action_help)
+
+ #### toolbar ####
+ #### add selected menu items to the toolbar ####
+
+ #:
+ self.help_toolbar = QtGui.QToolBar()
+ self.help_toolbar.setObjectName("help toolbar")
+ self.help_toolbar.toggleViewAction().setText(_("Help Toolbar"))
+ self.help_toolbar.addAction(self.action_help)
+ self.addToolBar(self.help_toolbar)
+
+ self.connect_default_signals()
+
+ def connect_default_signals(self):
+ '''
+ this function connects the triggered signals from the default menu
+ it should not need to be called, as it is called during the
+ :func:`__init__`
+ '''
+ self.connect(self.action_quit, QtCore.SIGNAL("triggered()"),
+ QtGui.QApplication.instance().closeAllWindows)
+
+ self.action_preferences.triggered.connect(self.show_preferences_dialog)
+
+ self.action_show_statusbar.triggered.connect(self.show_statusbar)
+ self.action_fullscreen.triggered.connect(self.fullscreen)
+
+ self.action_fullscreen.triggered.connect(self.fullscreen)
+ self.action_about.triggered.connect(self.show_about)
+ self.action_license.triggered.connect(self.show_license)
+
+ self.connect(self.action_about_qt, QtCore.SIGNAL("triggered()"),
+ QtGui.qApp, QtCore.SLOT("aboutQt()"))
+
+ self.action_help.triggered.connect(self.show_help)
+
+ def excepthook(self, exc_type, exc_val, tracebackobj):
+ '''
+ PyQt4 prints unhandled exceptions to stdout and carries on regardless
+ I don't want this to happen.
+ so sys.excepthook is passed to this
+ '''
+ message = ""
+ for l in traceback.format_exception(exc_type, exc_val, tracebackobj):
+ message += l
+
+ self.log.error('UNHANDLED EXCEPTION!\n\n%s\n'% message)
+ self.advise('UNHANDLED EXCEPTION!<hr /><pre>%s'% message, 2)
+
+ def resizeEvent(self, event):
+ '''
+ this function is overwritten so that the advisor popup can be
+ put in the correct place
+ '''
+ QtGui.QMainWindow.resizeEvent(self, event)
+ self.setBriefMessageLocation()
+
+ def setBriefMessageLocation(self):
+ '''
+ make the Advisor sub class aware of the windows geometry.
+ set it top right, and right_to_left
+ '''
+ widg = self.menuBar()
+ brief_pos_x = (widg.pos().x() + widg.width())
+ brief_pos_y = (widg.pos().y() + widg.height())
+
+ brief_pos = QtCore.QPoint(brief_pos_x, brief_pos_y)
+ self.setBriefMessagePosition(brief_pos, True)
+
+ def addToolBar(self, *args):
+ QtGui.QMainWindow.addToolBar(self, *args)
+ if self.menuWidget():
+ self.menuBar().update_toolbars()
+
+ @property
+ def toolbar_list(self):
+ '''
+ yield all toolbars of the application
+ '''
+ for child in self.children():
+ if type(child) == QtGui.QToolBar:
+ yield child
+
+ def insertToolBar(self, *args):
+ QtGui.QMainWindow.insertToolBar(self, *args)
+ if self.menuWidget():
+ self.menuBar().update_toolbars()
+
+ def insertMenu_(self, menu):
+ '''
+ a convenience function that slots new actions in just before the
+ "help" menu item on the menubar
+ '''
+ insertpoint = self.menu_help.menuAction()
+ return self.menuBar().insertMenu(insertpoint, menu)
+
+ def insertToolBarWidget(self, action, sep=False):
+ '''
+ a convenience function that slots new widgets in just before the
+ "help" menu item on the main Toolbar.
+ accepts either a QAction, or a widget.
+ If option 2nd argument (sep) is True, a separator is also added.
+ '''
+ added = []
+ insertpoint = self.action_help
+ if sep:
+ insertpoint = self.main_toolbar.insertSeparator(insertpoint)
+ added.append(insertpoint)
+ if type(action) == QtGui.QAction:
+ added.append(self.main_toolbar.insertAction(insertpoint, action))
+ else:
+ added.append(self.main_toolbar.insertWidget(insertpoint, action))
+ return added
+
+ def loadSettings(self):
+ '''
+ load settings from QtCore.QSettings.
+ '''
+ settings = QtCore.QSettings()
+ #Qt settings
+ self.restoreGeometry(settings.value("geometry").toByteArray())
+ self.restoreState(settings.value("windowState").toByteArray())
+ statusbar_hidden = settings.value("statusbar_hidden").toBool()
+ self.statusbar.setVisible(not statusbar_hidden)
+ self.action_show_statusbar.setChecked(not self.statusbar.isHidden())
+
+ font = settings.value("Font").toPyObject()
+ if font:
+ QtGui.QApplication.instance().setFont(font)
+
+ toolbar_set = settings.value(
+ "Toolbar", QtCore.Qt.ToolButtonTextUnderIcon).toInt()[0]
+ for tb in self.toolbar_list:
+ tb.setToolButtonStyle(toolbar_set)
+
+ tiny_menu = settings.value("TinyMenu").toBool()
+ if tiny_menu:
+ self.menuBar().toggle_visability(True)
+ self.menuBar().menu_toolbar.toggleViewAction().setChecked(True)
+
+ def saveSettings(self):
+ '''
+ save settings from QtCore.QSettings
+ '''
+ settings = QtCore.QSettings()
+ #Qt settings
+ settings.setValue("geometry", self.saveGeometry())
+ settings.setValue("windowState", self.saveState())
+ settings.setValue("statusbar_hidden", self.statusbar.isHidden())
+ settings.setValue("Font", self.font())
+ settings.setValue("Toolbar", self.main_toolbar.toolButtonStyle())
+ settings.setValue("TinyMenu", not self.menuBar().isVisible())
+
+
+ def show_toolbar(self):
+ if self.action_show_toolbar.isChecked():
+ self.main_toolbar.show()
+ else:
+ self.main_toolbar.hide()
+
+ def show_statusbar(self):
+ if self.action_show_statusbar.isChecked():
+ self.statusbar.show()
+ else:
+ self.statusbar.hide()
+
+ def reimplement_needed(self, func_name):
+ QtGui.QMessageBox.information(self, "please re-implement",
+ '''please overwrite function <b>'%s'</b><br />
+ in any class which inherits from 'BaseMainWindow' '''% func_name)
+
+ def show_preferences_dialog(self):
+ self.reimplement_needed('show_preferences_dialog')
+
+ def show_about(self):
+ self.reimplement_needed('show_about')
+
+ def show_help(self):
+ self.reimplement_needed('show_help')
+
+ def show_license(self):
+ '''
+ attempts to read and show the license text
+ from file COPYRIGHT.txt in the apps directory
+ on failure, gives a simple message box with link.
+ '''
+ message = '''
+ GPLv3 - see <a href='http://www.gnu.org/licenses/gpl.html'>
+ http://www.gnu.org/licenses/gpl.html</a>'''
+ try:
+ f = open("../COPYING.txt")
+ data = f.read()
+ f.close()
+
+ dl = QtGui.QDialog(self)
+ dl.setWindowTitle(_("License"))
+ dl.setFixedSize(400, 400)
+
+ layout = QtGui.QVBoxLayout(dl)
+
+ buttonBox = QtGui.QDialogButtonBox(dl)
+ buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok)
+
+ te = QtGui.QTextBrowser()
+ te.setText(data)
+
+ label = QtGui.QLabel(message)
+ label.setWordWrap(True)
+
+ layout.addWidget(te)
+ layout.addWidget(label)
+ layout.addWidget(buttonBox)
+
+ buttonBox.accepted.connect(dl.accept)
+
+ dl.exec_()
+ except IOError:
+ QtGui.QMessageBox.information(self, _("License"), message)
+
+ def fullscreen(self):
+ if self.action_fullscreen.isChecked():
+ self.setWindowState(QtCore.Qt.WindowFullScreen)
+ else:
+ self.setWindowState(QtCore.Qt.WindowNoState)
+
+ def closeEvent(self, event=None):
+ '''
+ re-implement the close event of QtGui.QMainWindow, and check the user
+ really meant to do this.
+ '''
+ if self.get_confirm(_("Quit Application?"), "yes", "no"):
+ self.saveSettings()
+ else:
+ event.ignore()
+
+ def get_confirm(self, message,
+ accept="ok", reject="cancel", default="accept"):
+ '''
+ a convenience function to raise a dialog for confirmation of an action
+ '''
+ if accept == "ok":
+ accept_but = QtGui.QMessageBox.Ok
+ elif accept == "yes":
+ accept_but = QtGui.QMessageBox.Yes
+
+ if reject == "cancel":
+ reject_but = QtGui.QMessageBox.Cancel
+ elif reject == "no":
+ reject_but = QtGui.QMessageBox.No
+
+ buttons = accept_but|reject_but
+ default_but = accept_but if default == "accept" else reject_but
+
+ return QtGui.QMessageBox.question(self,_("Confirm"),
+ message, buttons, default_but) == accept_but
+
+
+if __name__ == "__main__":
+ import gettext
+ gettext.install("")
+
+ app = QtGui.QApplication([])
+ mw = BaseMainWindow()
+ mw.main_toolbar.addAction(QtGui.QAction("Placeholder", mw))
+ mw.show()
+ app.exec_()
diff --git a/src/standalone_chart/lib_om_chart/patient.py b/src/standalone_chart/lib_om_chart/patient.py
new file mode 100644
index 0000000..60ac127
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/patient.py
@@ -0,0 +1,126 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import logging
+
+from connect import Connection
+
+class PatientNotFoundException(Exception):
+ pass
+
+def from_signed_byte(val):
+ '''
+ this returns a bit by bit representation of a signed byte -
+ used for deciduous tooth
+ '''
+ if val is None:
+ val = 0
+ if val >= 0:
+ base = (128,64,32,16,8,4,2,1)
+ bstring = ""
+ for b in base:
+ if val >= b:
+ bstring += "1"
+ val -= b
+ else:
+ bstring += "0"
+ else:
+ base=(-64,-32,-16,-8,-4,-2,-1)
+ bstring="1" #set the negative bit
+ for b in base:
+ if val<b:
+ bstring+="0"
+ val-=b
+ else:
+ bstring+="1"
+ return bstring
+
+
+class Patient(object):
+ '''
+ has a tiny percentage of the footprint (and loading time) of the
+ main patient class
+ '''
+ TOOTH_FIELDS = (
+ "ur8", "ur7", "ur6", "ur5", 'ur4', 'ur3', 'ur2', 'ur1',
+ 'ul1', 'ul2', 'ul3', 'ul4', 'ul5', 'ul6', 'ul7', 'ul8',
+ "lr8", "lr7", "lr6", "lr5", 'lr4', 'lr3', 'lr2', 'lr1',
+ 'll1', 'll2', 'll3', 'll4', 'll5', 'll6', 'll7', 'll8'
+ )
+ DECIDUOUS = (
+ '***','***','***','ulE','ulD','ulC','ulB','ulA',
+ 'urA','urB','urC','urD','urE','***','***','***',
+ '***','***','***','lrE','lrD','lrC','lrB','lrA',
+ 'llA','llB','llC','llD','llE','***','***','***'
+ )
+
+ connection = Connection()
+
+ def __init__(self, sno):
+ '''
+ initiate the class with default variables, then load from database
+ '''
+ if sno <= 0:
+ raise PatientNotFoundException
+
+ self.serialno = sno
+ db = self.connection.connection
+ cursor = db.cursor()
+ cursor.execute(self.query, (sno,))
+ row = cursor.fetchone()
+
+ if not row:
+ raise PatientNotFoundException
+
+ self.dent1,self.dent0,self.dent3,self.dent2 = row[:4]
+ for i, field in enumerate(self.TOOTH_FIELDS):
+ self.__dict__[field] = row[i+4]
+
+ @property
+ def query(self):
+ query = 'SELECT dent1, dent0, dent3, dent2, '
+ for field in self.TOOTH_FIELDS:
+ query += "%sst, "% field
+ return '%s from patients where serialno = %%s'% query.rstrip(", ")
+
+ #@property
+ def chartgrid(self):
+ grid=""
+ chart_dict = {}
+ for quad in (self.dent1,self.dent0,self.dent3,self.dent2):
+ grid += from_signed_byte(quad)
+
+ for i, tooth in enumerate(self.TOOTH_FIELDS):
+ if grid[i]=="0":
+ chart_dict[tooth]=tooth
+ else:
+ chart_dict[tooth]=self.DECIDUOUS[i]
+ return chart_dict
+
+if __name__ =="__main__":
+ try:
+ serialno=int(sys.argv[len(sys.argv)-1])
+ except:
+ serialno=11956
+
+ pt = Patient(serialno)
+ print pt.__dict__
\ No newline at end of file
diff --git a/src/standalone_chart/lib_om_chart/restorable_app.py b/src/standalone_chart/lib_om_chart/restorable_app.py
new file mode 100644
index 0000000..3402e37
--- /dev/null
+++ b/src/standalone_chart/lib_om_chart/restorable_app.py
@@ -0,0 +1,51 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2010-2012, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import sys
+from PyQt4 import QtGui
+
+class RestorableApplication(QtGui.QApplication):
+ '''
+ A subclass which play ball if app state is to be remembered by an X11
+ Session manager.
+ Will write settings to ~/.config/application_name on linux systems
+ '''
+ def __init__(self, name):
+ '''
+ the name given here is important as is used in saving the settings
+ '''
+ #super(RestorableApplication, self).__init__(sys.argv)
+ QtGui.QApplication.__init__(self, sys.argv)
+ self.setOrganizationName(name)
+ self.setApplicationName(name)
+
+ def commitData(self, session):
+ '''re-implement this method, called on quit'''
+ pass
+
+ def saveState(self, session):
+ '''re-implement this method, called on run'''
+ pass
+
+if __name__ == "__main__":
+ app = RestorableApplication("test_organisation_name")
+ app.closeAllWindows()
diff --git a/src/standalone_chart/om_chart.py b/src/standalone_chart/om_chart.py
new file mode 100755
index 0000000..a4f11e1
--- /dev/null
+++ b/src/standalone_chart/om_chart.py
@@ -0,0 +1,231 @@
+#! /usr/bin/python
+# -*- coding: utf-8 -*-
+
+###############################################################################
+## ##
+## Copyright 2013, Neil Wallace <neil at openmolar.com> ##
+## ##
+## 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 3 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, see <http://www.gnu.org/licenses/>. ##
+## ##
+###############################################################################
+
+import gettext
+import logging
+import os
+import sys
+import traceback
+
+from PyQt4 import QtCore, QtGui
+
+sys.path.insert(0, os.path.dirname(__file__))
+
+from lib_om_chart.restorable_app import RestorableApplication
+from lib_om_chart.chart_widget import ChartWidget
+from lib_om_chart.patient import Patient, PatientNotFoundException
+from lib_om_chart.config import SURGERY_NO
+from lib_om_chart.config_dialog import ConfigDialog
+from lib_om_chart.connect import Connection
+
+class MainWindow(QtGui.QMainWindow):
+ connection = Connection()
+ _loaded_serialno = None
+ def __init__(self, parent=None):
+ QtGui.QMainWindow.__init__(self, parent)
+
+ if not self.connection.is_configured:
+ self.configure()
+
+ self.setWindowTitle("Dental Chart Viewer")
+ self.chart_widget = ChartWidget(self)
+ self.setCentralWidget(self.chart_widget)
+
+ menu_file = QtGui.QMenu(_("&File"), self)
+ load_action = QtGui.QAction("&Load", self)
+ quit_action = QtGui.QAction("&Quit", self)
+ reload_action = QtGui.QAction("&Reload", self)
+
+ reconfigure_action = QtGui.QAction("Re&configure", self)
+
+ menu_file.addAction(load_action)
+ menu_file.addAction(quit_action)
+
+ self.menuBar().addMenu(menu_file)
+ self.menuBar().addAction(reload_action)
+ self.menuBar().addAction(reconfigure_action)
+
+ load_action.triggered.connect(self.get_patient)
+ reload_action.triggered.connect(self.reload_patient)
+ reconfigure_action.triggered.connect(self.check_reconfigure)
+ quit_action.triggered.connect(
+ QtGui.QApplication.instance().closeAllWindows)
+
+ self.timer = QtCore.QTimer()
+ self.timer.setInterval(3000)
+ self.timer.timeout.connect(self.check_record_in_use)
+ self.timer.start()
+
+ def sizeHint(self):
+ return QtCore.QSize(800, 200)
+
+ def loadSettings(self):
+ '''
+ load settings from QtCore.QSettings.
+ '''
+ settings = QtCore.QSettings()
+ #Qt settings
+ self.restoreGeometry(settings.value("geometry").toByteArray())
+ self.restoreState(settings.value("windowState").toByteArray())
+
+ def saveSettings(self):
+ '''
+ save settings from QtCore.QSettings
+ '''
+ settings = QtCore.QSettings()
+ #Qt settings
+ settings.setValue("geometry", self.saveGeometry())
+ settings.setValue("windowState", self.saveState())
+
+ def closeEvent(self, event=None):
+ '''
+ re-implement the close event of QtGui.QMainWindow, and check the user
+ really meant to do this.
+ '''
+ result = QtGui.QMessageBox.question(self,_("Confirm"),
+ _("Quit Application?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Ok
+
+ if result:
+ self.saveSettings()
+ else:
+ event.ignore()
+
+ @property
+ def max_sno(self):
+ '''
+ TODO - poll the database for this value.
+ '''
+ db = self.connection.connection
+ cursor = db.cursor()
+ cursor.execute("select max(serialno) from patients")
+ row = cursor.fetchone()
+ return row[0] + 10 #allow for a few new patients.
+
+ def get_patient(self):
+ sno, result = QtGui.QInputDialog.getInt(self,
+ _("Manual Select"),
+ _("Select a serialno to load"),
+ 1, 1, self.max_sno)
+
+ if result:
+ self.load_patient(sno)
+
+ def load_patient(self, sno):
+ '''
+ load the data for patient with this serialno
+ '''
+ self.chart_widget.clear()
+
+ QtGui.QApplication.instance().setOverrideCursor(
+ QtCore.Qt.WaitCursor)
+ logging.debug("loading patient %s"% sno)
+ try:
+ pt = Patient(sno)
+
+ self.chart_widget.chartgrid = pt.chartgrid()
+ #--sets the tooth numbering
+ row=0
+
+ for tooth in pt.TOOTH_FIELDS:
+ static_text = pt.__dict__[tooth]
+ if static_text:
+ self.chart_widget.setToothProps(tooth, static_text)
+
+ except PatientNotFoundException:
+ self._message_box = QtGui.QMessageBox(self)
+ self._message_box.setText("Patient Serialno %s not found!"% sno)
+ self._message_box.setIcon(self._message_box.Warning)
+ self._message_box.setWindowTitle("whoops")
+ self._message_box.show()
+ QtCore.QTimer.singleShot(1000, self._message_box.hide)
+
+ self.chart_widget.update()
+
+ QtGui.QApplication.instance().restoreOverrideCursor()
+
+ def reload_patient(self):
+ if self._loaded_serialno:
+ self.load_patient(self._loaded_serialno)
+ else:
+ self.check_record_in_use()
+
+ def check_reconfigure(self):
+ if QtGui.QMessageBox.question(self, _("confirm"),
+ _("Do you really want to reconfigure this application?"),
+ QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel,
+ QtGui.QMessageBox.Cancel) == QtGui.QMessageBox.Ok:
+ self.reconfigure()
+
+ def configure(self):
+ self.reconfigure(reconfigure = False)
+
+ def reconfigure(self, reconfigure=True):
+ dl = ConfigDialog(self)
+ if reconfigure:
+ dl.load_config()
+ if dl.exec_(True):
+ dl.write_config()
+ Patient.connection.reload()
+
+ def excepthook(self, exc_type, exc_val, tracebackobj):
+ '''
+ PyQt4 prints unhandled exceptions to stdout and carries on regardless
+ I don't want this to happen.
+ so sys.excepthook is passed to this
+ '''
+ self.timer.stop()
+ QtGui.QApplication.instance().restoreOverrideCursor()
+ message = ""
+ for l in traceback.format_exception(exc_type, exc_val, tracebackobj):
+ message += l
+ QtGui.QMessageBox.warning(self, _("Error"),
+ 'UNHANDLED EXCEPTION!<hr /><pre>%s</pre>'% message)
+ self.timer.start()
+
+ def check_record_in_use(self):
+ if not SURGERY_NO:
+ return
+ logging.debug("checking record in use")
+ db = self.connection.connection
+ cursor = db.cursor()
+ cursor.execute(
+ "select serialno from calldurr where stn = %s", (SURGERY_NO,))
+ row = cursor.fetchone()
+ if row:
+ serialno = row[0]
+ if serialno and serialno != self._loaded_serialno:
+ self.load_patient(serialno)
+ self._loaded_serialno = serialno
+ #self.setWindowState(
+ # QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
+ self.activateWindow()
+
+if __name__ == "__main__":
+ gettext.install("openmolar")
+ logging.basicConfig(level = logging.DEBUG)
+ app = RestorableApplication("om_charter")
+ mw = MainWindow()
+ sys.excepthook = mw.excepthook
+ mw.show()
+ app.exec_()
diff --git a/src/tests/appt_drag_test.py b/src/tests/appt_drag_test.py
new file mode 100644
index 0000000..b9b2d5b
--- /dev/null
+++ b/src/tests/appt_drag_test.py
@@ -0,0 +1,129 @@
+import datetime
+import cPickle
+import pickle
+import sys
+
+from PyQt4 import QtGui, QtCore
+from openmolar.dbtools import appointments
+from openmolar.settings import localsettings
+
+from openmolar.qt4gui.appointment_gui_modules.draggable_list \
+ import DraggableList
+from openmolar.qt4gui.appointment_gui_modules.list_models \
+ import SimpleListModel, BlockListModel
+
+
+class _DragTestDialog(QtGui.QDialog):
+ def __init__(self, parent=None):
+ QtGui.QDialog.__init__(self, parent)
+ self.setWindowTitle("Drag Drop Test")
+ self.pt = duckPt()
+
+ layout = QtGui.QGridLayout(self)
+
+ self.model = SimpleListModel()
+
+ appts = appointments.get_pts_appts(duckPt())
+
+ self.model.set_appointments(appts, appts[1])
+
+ self.appt_listView = DraggableList(True)
+ self.appt_listView.setModel(self.model)
+
+ self.block_model = BlockListModel()
+ self.blockView = DraggableList(False)
+ self.blockView.setModel(self.block_model)
+
+ self.book = appointmentwidget.AppointmentWidget("1000", "1200", self)
+ self.book.setDentist(1)
+ self.book.setStartTime(1015)
+ self.book.setEndTime(1145)
+ for appoint in (
+ (1, 1030, 1045, 'MCDONALD I', 6155L, 'EXAM', '', '', '', 1, 73, 0,
+ 0, datetime.datetime.now())
+
+ ,(1, 1115, 1130, 'EMERGENCY', 0L, '', '', '', '', -128, 0, 0,
+ 0, datetime.datetime.now())):
+ self.book.setAppointment(appoint)
+
+ self.OVbook = AppointmentOverviewWidget("1000", "1200", 15, 2, self)
+
+ d1 = appointments.DentistDay(1)
+ d1.start=1015
+ d1.end=1145
+ d1.memo="hello"
+
+ d2 = appointments.DentistDay(4)
+ d2.start=1015
+ d2.end=1145
+
+ self.OVbook.dents=[d1,d2]
+ self.OVbook.clear()
+ self.OVbook.init_dicts()
+
+ for d in (d1,d2):
+ self.OVbook.setStartTime(d)
+ self.OVbook.setEndTime(d)
+ self.OVbook.setMemo(d)
+ self.OVbook.setFlags(d)
+
+ slot = appointments.FreeSlot(datetime.datetime(2009,2,2,10,45),
+ 1,20)
+ slot2 = appointments.FreeSlot(datetime.datetime(2009,2,2,11,05),
+ 4,60)
+
+ self.OVbook.addSlot(slot)
+ self.OVbook.addSlot(slot2)
+
+ appt = appointments.WeekViewAppointment()
+ appt.mpm = 10*60+30
+ appt.length = 15
+ appt.dent = 1
+ self.OVbook.appts[1] = (appt,)
+
+ emerg = appointments.WeekViewAppointment()
+ emerg.mpm = 11*60+15
+ emerg.length = 15
+ emerg.reason = "emergency"
+ self.OVbook.eTimes[1] = (emerg,)
+ self.OVbook.setMinimumWidth(200)
+
+ self.tw = QtGui.QTabWidget(self)
+ self.tw.addTab(self.book, "day")
+ self.tw.addTab(self.OVbook, "week")
+
+ layout.addWidget(self.appt_listView,0,0)
+ layout.addWidget(self.blockView,2,0)
+
+ layout.addWidget(self.tw,0,1,3,1)
+ #self.tw.setCurrentIndex(1)
+
+ self.model.appointment_selected.connect(slot_catcher)
+
+
+
+if __name__ == "__main__":
+
+ from openmolar.qt4gui.customwidgets import appointmentwidget
+ from openmolar.qt4gui.customwidgets.appointment_overviewwidget \
+ import AppointmentOverviewWidget
+
+ from openmolar.dbtools import appointments
+ from openmolar.settings import localsettings
+ localsettings.initiate()
+
+ def slot_catcher(arg):
+ print arg
+
+ class duckPt(object):
+ def __init__(self):
+ self.serialno = 11956
+ self.title = "Mr"
+ self.sname = "Neil"
+ self.fname = "Wallace"
+ self.cset = "P"
+
+ app = QtGui.QApplication([])
+ dl = _DragTestDialog()
+ dl.exec_()
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/openmolar.git
More information about the debian-med-commit
mailing list